{"version":3,"file":"js/bundle.main.xxxxxxxx.min.js","mappings":"oFAAA,IAAYA,E,qEAAZ,SAAYA,GACR,2DACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,I,k7BCAtB,kBACA,aACA,cAEA,cACA,cACA,cACA,cACA,cAIA,UACA,cACA,WACA,aACA,cACA,cAGA,WAEMC,EAAK,UAAWC,KAAK,WAkBrBC,EAAyCC,EAAMC,MAAK,SAACC,GAEnD,IAAAC,EAWAD,EAAK,MAVLE,EAUAF,EAAK,SATLG,EASAH,EAAK,gBARLI,EAQAJ,EAAK,eAPLK,EAOAL,EAAK,kBANLM,EAMAN,EAAK,mBALLO,EAKAP,EAAK,UAJLQ,EAIAR,EAAK,QAHLS,EAGAT,EAAK,yBAFLU,EAEAV,EAAK,UADLW,EACAX,EAAK,aAEHY,EAAmB,UAAGD,EAAY,mBAEhCE,GAAM,IAAAC,kBAAgB,EAE9B,OACI,uBAAKJ,WAAW,aAAGf,EAAG,UAAWe,IAC5BR,GACG,gBAAC,UAAO,CACJa,SAAU,EAAAC,oBAAoBC,YAC9BC,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACC,UAAQ,EAACJ,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,IACjEX,EAAE,6BAIV,WAAM,OACH,gBAAC,UAAkB,CACfY,QAASvB,EACTQ,UAAWf,EAAG,UAAW,wBACzB+B,SAAU,gBAAC,UAAa,CAACC,UAAW,EAAAC,qBAAqBC,WACzDlB,aAAc,UAAGC,EAAgB,SACjCkB,gBAAiB,EAAAC,oBAAoBC,OANtC,MAWb,aAAM/B,IACJ,uBAAKS,UAAWf,EAAG,SAAQ,qBAAsB,UAAGiB,EAAgB,WAC/DX,IAGR,aAAMA,IAAU,uBAAKS,UAAWf,EAAG,cACnCS,GAAkB,uBAAKM,UAAWf,EAAG,qBAAsBS,GAC5D,uBAAKM,UAAWf,EAAG,YAClBY,GAAa,uBAAKG,UAAWf,EAAG,eAAgBY,GAChDD,GACG,uBACII,UAAWf,EAAG,UAAW,CACrB,8BAA8B,KAGjCW,MAGNH,aAAe,EAAfA,EAAiB8B,SAChB,gBAAC,UAAe,CACZvB,UAAWf,EAAG,UAAW,CACrB,+BAAgCa,KAAaH,IAEjD6B,iBAAkBzB,EAClB0B,QAAShC,EACTiC,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,OALP,EAQtCO,gBAAiB,EAAAC,4BAA4BC,cAGpDpC,GACG,uBACIK,UAAWf,EAAG,UAAW,CACrB,+BAAgCa,KAGnCH,GAGRG,GACG,gBAAC,UAAO,CACJO,SAAU,EAAAC,oBAAoB0B,WAC9BxB,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACC,UAAQ,EAACJ,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,IACjEX,EAAE,2BAIV,WAAM,OACH,gBAAC,UAAkB,CACfH,UAAWf,EAAG,UAAW,yBACzB8B,QAASjB,EACTkB,SAAU,gBAAC,UAAS,MACpBf,aAAc,UAAGC,EAAgB,UACjCkB,gBAAiB,EAAAC,oBAAoBC,OANtC,IAa3B,IAEA,UAAenC,C,mBCxJf,IAAYH,E,qEAAZ,SAAYA,GACR,0CACA,mBACH,CAHD,CAAYA,IAAU,aAAVA,EAAU,I,0JCAtB,kBACA,WACA,cAMMiD,EAAoD,UAAM5C,MAAK,SAACC,GAC1D,IAAA4C,EAAU5C,EAAK,MAEfa,GAAM,IAAAC,kBAAgB,EAE9B,OAAK,aAAS8B,GAKV,oCACKA,EAAO,IACP/B,EAAE,4DAA6D,CAC5DgC,YAAa,WACbD,MAAK,KARN,IAYf,IAEA,UAAeD,C,sGC1BF,EAAAG,UAAY,yBACZ,EAAAC,aAAe,2B,m2BCH5B,kBAIMC,EAAuDlD,EAAMC,MAAK,WACpE,OACI,0BAAQkD,KAAK,SAASC,QAAM,YAIpC,IAEA,UAAeF,C,2JCZf,IAQMG,EARN,YAQuB,QAAMC,cAA+B,CACxDC,UAAW,KACXC,YAAa,OAGjB,UAAeH,C,gYCbf,cACA,cACA,UAEMI,EAA2B,CAC7BC,cAAe,UAAcC,SAGjC,mBAAgBC,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAW,qBACD,OAAO,EAAP,KACOF,GAAK,CACRF,cAAe,UAAcK,UAIrC,KAAK,EAAAC,qBACO,IAAAC,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACRF,cAAe,UAAcQ,SAASD,KAI9C,KAAK,EAAAE,uBACD,OAAO,EAAP,KACOP,GAAK,CACRF,cAAe,UAAcU,KAIrC,KAAK,EAAAC,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,6BCvCD,WAAgB,KAAO,+BAA+B,kBAAkB,0CAA0C,OAAS,iCAAiC,oBAAoB,4CAA4C,OAAS,iCAAiC,SAAW,mC,yqCCDjR,kBAOa,EAAAU,gBAAkB,WACrB,QAAsD,UAAMC,UAAkB,GAAM,GAAnFC,EAAsB,KAAEC,EAAyB,KAExD,OAAO,IAAAC,UAAQ,WACX,MAAO,CACHF,uBAAsB,EACtBC,0BAAyB,EAEjC,GAAG,CAACD,GACR,C,4NChBA,eACI,wFAAAG,sBAAsB,IACtB,6FAAAC,2BAA2B,IAC3B,+FAAAC,6BAA6B,IAC7B,6FAAAC,2BAA2B,IAC3B,wFAAAC,sBAAsB,G,wpCCL1B,kBAGA,UACA,cACA,cACA,cAEA,WACA,cACA,cACA,aACA,cACA,WAqJA,UAzH4C,SAAC7E,GAErC,IAAAU,EAeAV,EAAK,UAdL8E,EAcA9E,EAAK,UAbL+E,EAaA/E,EAAK,aAZLgF,EAYAhF,EAAK,aAXLiF,EAWAjF,EAAK,MAVLkF,EAUAlF,EAAK,SATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLuC,EAOAvC,EAAK,gBANLqF,EAMArF,EAAK,WALLsF,EAKAtF,EAAK,OAJLuF,EAIAvF,EAAK,QAHLwF,EAGAxF,EAAK,WAFLyF,EAEAzF,EAAK,gBADL0F,EACA1F,EAAK,YAEH2F,GAAgB,IAAAnB,UAAQ,WAC1B,OAAKO,EAIE,CACHa,SAAUZ,GAAgB,eAC1Ba,OAAQd,GALD,IAOf,GAAG,CAACC,EAAcD,IAEZe,GAAiB,IAAAtB,UAAQ,WAC3B,OAAKmB,EAIE,CAACA,GAHG,IAIf,GAAG,CAACA,IAEEI,GAAgD,IAAAC,cAClD,SAACC,GAEG,OADmB,IAAAC,yBAAwBpB,GAOpC,UAAkBqB,uBAAuBF,GALrC,UAAkBG,uBAAuBtB,EAAW,CACvDuB,SAAUJ,QAASK,GAK/B,GACA,CAACxB,IAGCyB,GAAgB,IAAAP,cAAY,SAACQ,GAAoB,OAAAA,EAAOZ,UAAYY,EAAOC,OAAS,GAAnC,GAAwC,IAEzFC,GAA4B,IAAAC,uBAA+B,CAC7Db,eAAc,EACdC,eAAc,EACdQ,cAAa,EACbK,SAAU,CAAC,IAGTC,EAAiB,UAAMrC,SAAQ,WACjC,OAAO,aAAMkC,EAA0BvE,QAAS,SACpD,GAAG,CAACuE,EAA0BvE,UAExB2E,EAAe,SAACN,EAAkBd,GACpC,OAAI,aAAMc,GACC,wBAAC,UAAuB,CAACO,MAAOrB,GAAe,GAAIsB,eAAa,IAGpE,wBAAC,UAAuB,CAACD,OAAOP,aAAM,EAANA,EAAQZ,WAAY,IAC/D,EAEMqB,GAAc,IAAAjB,cAAY,WACxBT,GACAA,IAGJmB,EAA0BQ,WAE9B,GAAG,CAAC3B,EAASmB,EAA0BQ,YAEvC,OACI,wBAAC,UAAmB,CAChBxG,UAAWA,EACXyG,cAAelC,EACfS,YAAaA,EACbvD,QAASuE,EAA0BvE,QACnCkD,WAAYA,EACZH,SAAU,SAACD,GACP,IAAMuB,EAASvB,EAAQ4B,EAAe5B,GAAS,KACzC8B,GAAQP,aAAM,EAANA,EAAQZ,WAAY,GAElCV,EAASD,EAAO8B,EACpB,EACA3B,SAAUA,EACVD,WAAYA,EACZiC,cAAeV,EAA0BU,cACzCC,gBAAiB,WACb,OAAAX,EAA0BlD,cAAcK,QACpC,wBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAC9C,IAFJ,EAIJT,aAAcA,EACd1E,cAAe0E,EACfU,eAAgB,SAAChB,GAAW,OAAAA,aAAM,EAANA,EAAQX,MAAR,EAC5BL,WAAYA,EACZF,OAAQA,EACRC,QAAS0B,EACT1E,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEC,QACIjC,EACM,WACIP,EAAS,KACb,OACAoB,GAItB,C,msBChKA,kBAEA,cACA,WAgBA,WAEA,cAEA,UACA,WAEM3G,EAAK,UAAWC,KAAK,WAKrB+H,IAAkB,MACnB,EAAAxG,iBAAiByG,OAAQ,EAAAhG,qBAAqBgG,MAC/C,EAAC,EAAAzG,iBAAiBC,OAAQ,EAAAQ,qBAAqBC,S,GAa7CgG,EAAiB,EAAI,EAAAC,KA8IlB,EAAAC,WA5IU,SAAe/H,G,YACtBgI,EAAkEhI,EAAK,MAAhEiI,EAA2DjI,EAAK,WAApDkI,EAA+ClI,EAAK,UAAzCyB,EAAoCzB,EAAK,QAAhCsF,EAA2BtF,EAAK,OAAxBuF,EAAmBvF,EAAK,QAAfmI,EAAUnI,EAAK,MAEvEoI,EAAyDH,EAAU,cAApD,EAA0CA,EAAU,aAApDI,OAAY,IAAG,IAAAlH,iBAAiByG,MAAK,EAEtD,IAA8B,UAAMvD,UAAkB,GAAK,GAA1DiE,EAAW,KAAEC,EAAY,KAC1B,IAAkC,UAAMlE,UAAS,GAAM,GAAtDmE,EAAa,KAAEC,EAAc,KAE9BC,EAAU,UAAMC,SAChBC,EAAW,UAAMC,YACjBC,EAAkB,UAAMH,OAA6B,MAErDI,EAAqBC,QAAQZ,GAE7B,GAAoC,IAAAa,aAAY,CAClDC,KAAMH,GAAsBP,EAC5BW,aAAcV,EACdW,UAAW,OACXC,WAAY,EACR,IAAAC,QAAO,EAAI,EAAAxB,OACX,IAAAyB,MAAK,CAAEC,QAAS,EAAI,EAAA1B,QACpB,IAAA2B,OAAM,CAAED,QAAS,EAAI,EAAA1B,QACrB,IAAA4B,OAAM,CAAEC,QAASb,KAErBc,SAAU,QACVC,WAAW,EACXC,qBAAsB,EAAAC,aAZlBC,EAAI,OAAEC,EAAc,iBAAEC,EAAO,UAe/BC,GAAQ,IAAAC,UAASF,EAAS,CAC5BG,QAAStB,EACTuB,MAAO,CAAEpB,KAnDc,IAmDgBqB,MAlDhB,KAmDvBC,aAAa,IAAAC,aAAY,CAAEC,OAAQ,MAGjCC,GAAQ,IAAAC,UAASV,EAAS,CAAEG,QAAStB,IAErC8B,GAAU,IAAAC,YAAWZ,EAAS,CAAEG,QAAStB,IAEzC,GAA0C,IAAAgC,iBAAgB,CAACZ,EAAOQ,EAAOE,IAAvEG,EAAiB,oBAAEC,EAAgB,mBAE3C,UAAMC,WAAU,WACPnC,GACDN,GAAe,EAEvB,GAAG,CAACM,IAEJ,IAAMoC,EAAuBnB,EAAKoB,aAE5BC,EAAS,UAAMrF,aACjB,SAACsF,GACG5C,EAAQ6C,QAAUD,QAAAA,OAAQhF,EAC1B6E,EAAqBG,EACzB,GACA,CAACH,IAYL,OATA,UAAMD,WAAU,WACPtC,EAAS2C,SAAY7C,EAAQ6C,SAIlChD,EAAaK,EAAS2C,QAAQC,aAAe3D,EAAiBa,EAAQ6C,QAAQC,aAElF,GAAG,CAAC9C,EAAQ6C,QAAS3C,EAAS2C,UAG1B,gDACI,iCACI7K,UAAWf,EAAG,eAAa,KACvB,EAAC,uBAAgBsI,EAAW/G,SAAU,EACtC,gCAA8B+G,EAAWwD,c,KAExC1C,EACCiC,EAAkB,CACdU,aAAY,SAACC,GACTpG,EAAQ0C,EAAY0D,EACxB,EACAC,aAAY,SAACD,GACTrG,EAAO2C,EAAY0D,EACvB,IAEJ,CACIC,aAAc,SAACD,GAAsC,OAAArG,EAAO2C,EAAY0D,EAAnB,EACrDD,aAAc,SAACC,GAAsC,OAAApG,EAAQ0C,EAAY0D,EAApB,KACvD,GACRlK,QAAS,SAACkK,GAAU,OAAAlK,EAAQwG,EAAY0D,EAApB,EACpBxD,MAAK,GACD0D,IAAK,UAAG3D,EAAUD,EAAWD,MAAQA,GAAM,MAC3C8D,OAAQ,UAAG5D,EAAUD,EAAW8D,IAAM9D,EAAWD,OAAM,OACpDG,GAEP6D,IAAKX,EACLpL,MAAO8I,OAAqBzC,EAAY2B,EAAWlB,QAC5C,EAAAkF,6BAA8BhE,EAAWiE,GAAE,IAElD,+BAAKxL,UAAWf,EAAG,sBAAuBsI,EAAWkE,MACpD7D,GACG,+BAAK5H,UAAWf,EAAG,2BAA4BqM,IAAKpD,GAChD,+BACIlI,UAAWf,EAAG,sBAAoB,KAC9B,EAAC,8BAAuBsI,EAAW/G,SAAU,E,KAGhD+G,EAAWlB,SAK3BgC,GAAsBP,GACnB,wBAAC,EAAA4D,eAAc,KACX,iCACIJ,IAAKhC,EAAKqC,YACVlE,MAAO8B,EACPvJ,UAAWf,EAAG,YACVsL,EAAiB,CACjBxJ,QAAO,SAACkK,GACJA,EAAMW,iBACV,KAGJ,wBAAC,EAAAC,cAAa,CACVC,KAAM7E,EAAmBU,GACzB2D,IAAKlD,EACLoB,QAASA,IAEb,+BACIxJ,UAAWf,EAAG,kBAAgB,KAC1B,EAAC,gCAAyB0I,KAAiB,E,KAG9CD,aAAa,EAAbA,EAAgBH,EAAWwE,SAOxD,C,qmDC1LA,eACA,WACA,WACA,cACA,WACA,WACA,cACA,cACA,WAEMC,EAAwB,SAACC,GAC3B,OAAO,SAA6BhJ,G,kEAEiC,OADzDxB,EAAYwB,EAAM,QACuC,IAAM,IAAAiJ,QAAO,EAAAC,yB,OAG9E,OAHMrJ,EAA2D,UAE3C,aAAiBA,EAAerB,GAKtD,IAAM,IAAA2K,MAAI,IAAAC,yBAHN,I,cAGJ,SAGIJ,IAAgB,EAAAK,gBAAgBC,OAAhC,MACS,GAAM,UAAkBC,kB,cAAjCC,EAAS,S,aAEA,SAAM,UAAmBD,kB,OAAlCC,EAAS,S,wBAGP,IAAoBA,EAAM,GAAzBpJ,EAAK,KAAEqJ,EAAQ,KAElBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAO,qBAAoBtJ,KAD9B,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAAQ,uBAAsBF,K,cAAhC,S,QAER,EAMA,UAJA,SAAwBT,G,kDACpB,UAAM,IAAAY,WAAU,CAAC,EAAAC,yBAA0B,EAAAC,2BAA4Bf,EAAsBC,K,cAA7F,S,qCCxCJ,WAAgB,OAAS,sCAAsC,cAAgB,6CAA6C,SAAW,wCAAwC,iBAAiB,8CAA8C,MAAQ,qCAAqC,cAAc,2CAA2C,4BAA4B,yDAAyD,2BAA2B,wDAAwD,uCAAuC,oEAAoE,iCAAiC,8DAA8D,OAAS,sCAAsC,SAAW,wC,m7BCDhwB,kBACA,cAEA,cAEMhN,EAAK,UAAWC,KAAK,WAMrB8N,EAAgC5N,EAAMC,MAAK,SAACC,GACtC,IAAA2N,EAAW3N,EAAK,OAExB,OAAO,wBAAMU,UAAWf,EAAG,iBAAkBgO,EACjD,IAEA,UAAeD,C,sJCff,eAEME,EAAqB,SAAClK,EAAuBoB,GAC/C,OAAOpB,EAAMmK,KAAK/I,IAA4B,EAAAgJ,uBAClD,EAEa,EAAAC,gBAAkB,SAACjJ,GAC5B,OAAO,SAACpB,GACJ,OAAOkK,EAAmBlK,EAAOoB,GAAWkJ,KAChD,CACJ,EAEa,EAAAC,gBAAkB,SAACnJ,GAC5B,OAAO,SAACpB,GAAsD,OAAAkK,EAAmBlK,EAAOoB,GAAWmB,KAArC,CAClE,EAEa,EAAAiI,gBAAkB,SAACpJ,GAC5B,OAAO,SAACpB,GAAsD,OAAAkK,EAAmBlK,EAAOoB,GAAWqJ,KAArC,CAClE,EAEa,EAAAC,gBAAkB,SAACtJ,GAC5B,OAAO,SAACpB,GAAqD,OAAAkK,EAAmBlK,EAAOoB,GAAWuJ,IAArC,CACjE,C,2JCxBA,kBACA,cAEA,cACA,WACA,WAEA,cAQMC,GAJK,UAAW1O,KAAK,WAIL,wBAoCtB,UAlC6C,SAACI,GAClC,IAAAuO,EAA6DvO,EAAK,QAAzDwO,EAAoDxO,EAAK,iBAAvCyO,EAAkCzO,EAAK,SAA7B0O,EAAwB1O,EAAK,oBAElEa,GAAM,IAAAC,kBAAgB,EAExB6N,EAAU,UAAMnK,SAAQ,WAC1B,MAAO,CACH,CACIoK,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAYqJ,EAAoB7K,QAChCpC,QAASgN,GAEb,CACIG,SAAU/N,EAAE,yCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9B7M,QAAS,WACG,IAAAoE,EAAW0I,EAAO,OACrB1I,GAIL2I,EAAiB,CAAE3I,OAAM,GAC7B,EACAmJ,UAAWN,EAAoB7K,SAG3C,GAAG,CAAC0K,EAASE,EAAUD,EAAkB3N,EAAG6N,EAAoB7K,UAEhE,OAAO,wBAAC,UAAkB,CAAC8K,QAASA,GACxC,C,oBCjDA,IAAYM,E,kEAAZ,SAAYA,GACR,kBACA,mBACH,CAHD,CAAYA,IAAO,UAAPA,EAAO,I,6BCCnB,WAAgB,KAAO,4BAA4B,QAAU,+BAA+B,MAAQ,6BAA6B,iBAAiB,sCAAsC,mBAAmB,wCAAwC,iBAAiB,sCAAsC,mBAAmB,wCAAwC,oBAAoB,yCAAyC,mBAAmB,wCAAwC,kBAAkB,uCAAuC,oBAAoB,yCAAyC,cAAc,mCAAmC,uBAAuB,4CAA4C,0BAA0B,+CAA+C,aAAa,kCAAkC,+BAA+B,oDAAoD,KAAO,4BAA4B,MAAQ,6BAA6B,iBAAiB,sCAAsC,oBAAoB,yCAAyC,4BAA4B,iDAAiD,SAAW,gCAAgC,kBAAoB,yCAAyC,+BAA+B,oDAAoD,+BAA+B,oDAAoD,6BAA6B,kDAAkD,+BAA+B,oDAAoD,+BAA+B,oDAAoD,gCAAgC,qDAAqD,OAAS,8BAA8B,SAAW,gC,8JCCryD,eAGa,EAAAC,iBACT,SAAChD,GACD,gBAACxI,GAAqB,MAClB,OAAoB,QAApB,EAAAA,EAAMyL,WAAWjD,UAAG,eAAEkD,UAAW,EAAAC,uBAAuBD,OAAO,CADnE,EAGS,EAAAE,2BACT,SAACpD,GACD,gBAACxI,GAAqB,MAClB,OAAoB,QAApB,EAAAA,EAAMyL,WAAWjD,UAAG,eAAEqD,eAAgB,EAAAF,uBAAuBE,YAAY,CAD7E,EAGS,EAAAC,8BACT,SAACtD,GACD,gBAACxI,GAAqB,MAClB,OAAoB,QAApB,EAAAA,EAAMyL,WAAWjD,UAAG,eAAE1I,gBAAiB,EAAA6L,uBAAuB7L,aAAa,CAD/E,C,oBCjBJ,IAAYiM,EAKAC,E,4FALZ,SAAYD,GACR,gBACA,aACH,CAHD,CAAYA,IAAc,iBAAdA,EAAc,KAK1B,SAAYC,GACR,kBACA,eACH,CAHD,CAAYA,IAAgB,mBAAhBA,EAAgB,I,m7BCL5B,kBAEA,cAEA,cAEM/P,EAAK,UAAWC,KAAK,WAMrB+P,EAAqC7P,EAAMC,MAAK,SAACC,GAC3C,IAAA4P,EAAY5P,EAAK,QAEzB,OAAO,wBAAMU,UAAWf,EAAG,YAAaiQ,EAC5C,IAEA,UAAeD,C,6BCjBf,WAAgB,KAAO,iCAAiC,MAAQ,kCAAkC,MAAQ,kCAAkC,KAAO,iCAAiC,OAAS,mCAAmC,SAAW,qC,m7BCD3O,kBACA,WACA,cACA,aAOME,EAAkF,CACpFC,MAAO,mEACPC,OAAQ,oEACRC,QAAS,sEAGPC,EAA4CnQ,EAAMC,MAAK,SAACC,GAClD,IAAAkQ,EAA0BlQ,EAAK,YAAlBmQ,EAAanQ,EAAK,SAGjCoQ,GAAmBvP,GAFX,IAAAC,kBAAgB,GAEH+O,EAAsBK,IAE3CG,EAAUF,EACV,8CACA,gDAEN,OACI,gBAAC,UAA2B,KACxB,gBAAC,EAAAG,MAAK,CACFD,QAASA,EACTE,WAAY,CACRL,YAAa,gBAAC,UAAuB,CAACM,KAAMJ,EAAkBK,QAAM,OAKxF,IAEA,UAAeR,C,qmDCtCf,eACA,UAMA,cACA,WACA,WACA,cAEA,SAAUS,I,8DACkE,UAAM,IAAA9D,QAAO,EAAA+D,gC,OAGrF,OAHMnN,EAAkE,UAElD,aAAiBA,GAKvC,IAAM,IAAAsJ,MAAI,IAAA8D,gCAHN,I,OAMA,OAHJ,SAGI,GAAM,UAAkBC,+B,cADtB,kBACF,SAAqD,IADlD9M,EAAK,KAAEqJ,EAAQ,KAElBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAgE,4BAA2B,CAAE/M,MAAK,MAD5C,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAAiE,8BAA6B,CAAEC,WAAY5D,M,IAOzD,UAJA,W,kDACI,UAAM,IAAAG,WAAU,CAAC,EAAA0D,sBAAsBhO,KAAM,EAAAiO,sBAAsBjO,MAAOyN,I,cAA1E,S,omCCjCJ,kBAMMS,EAAiC,SAACnR,GACpC,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,MAAMsK,OAAO,MAAMuF,QAAQ,eAAkBrR,GACvF,qBAAGwM,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,sBACR,wBACI/E,KAAK,UACLgF,YAAY,OACZD,EAAE,mPAEN,wBACIE,OAAO,UACPC,cAAc,QACdC,eAAe,QACfC,YAAY,MACZL,EAAE,sGAEN,wBACIE,OAAO,UACPE,eAAe,QACfC,YAAY,MACZL,EAAE,40BAEN,wBACI/E,KAAK,UACLgF,YAAY,MACZD,EAAE,iiBAEN,wBACI/E,KAAK,OACLiF,OAAO,UACPI,cAAc,MACdD,YAAY,MACZL,EAAE,6TAKtB,EAEAJ,EAAaW,YAAc,eAIlB,EAAAC,WAFkB,CAAC,EAG5B,UAAeZ,C,s9BCnDf,IAeYa,EAfZ,cACA,cACA,aAEA,aACA,cACA,cAGA,cAEA,WAEMrS,EAAK,UAAWC,KAAK,YAE3B,SAAYoS,GACR,kBACA,mBACH,CAHD,CAAYA,IAAuB,0BAAvBA,EAAuB,KAKnC,IAAMC,IAAoB,MACrBD,EAAwBE,QAAS,EAAAC,2BAA2BC,MAC7D,EAACJ,EAAwBK,SAAU,EAAAF,2BAA2BG,O,GA0ElE,UAtDmB,SAAmBtS,GAC1B,IAAAuS,EAAmEvS,EAAK,cAAzDwS,EAAoDxS,EAAK,iBAAvCyS,EAAkCzS,EAAK,KAAjCW,EAA4BX,EAAK,aAAnBU,EAAcV,EAAK,UAE1E0S,EAAsC,UAAM1M,aAC9C,SAAC2M,EAAKC,G,MACIC,EAAYC,SAASH,EAAK,IAC1BI,GAAqC,QAAnB,EAAAN,EAAKI,EAAY,UAAE,eAAE5P,OAAQ,MAChD+P,OAAOC,MAAMJ,IAAcD,GAAoBG,GAChDP,EAAiBO,EAEzB,GACA,CAACN,EAAMD,IAIX,OAFA,IAAAU,qBAAoBR,GAGhB,+BAAKhS,WAAW,aAAGf,EAAG,QAASe,GAAU,qBAAsBC,IAC1D,aAAI8R,GAAM,SAACU,EAAKC,GACb,IAAKD,EACD,OAAO,KAGX,IAAME,EAAcF,EAAIlQ,OAASsP,EAEjC,OACI,wBAAC,UAAM,CACHI,IAAKS,EACLE,UAAWD,EACX3S,UAAWf,EAAG,YAAa,CACvB,uBAAwB0T,IAE5B5R,QAAS,WACL+Q,EAAiBW,EAAIlQ,KACzB,EACAvB,SACIyR,EAAII,QACA,wBAAC,UAAiB,CACdrS,MAAO+Q,EAAqBkB,EAAII,QAAQrS,OACxC0B,MAAOuQ,EAAII,QAAQtO,MACnBuO,eAAgBL,EAAII,QAAQC,eAC5BC,cAAeN,EAAII,QAAQE,gBAE/B,KAERvS,MAAO,EAAA2N,gBAAgB6E,aAEtBP,EAAIpM,MAGjB,IAGZ,C,2+BC9FA,IAiBY4M,EAjBZ,cAEA,aACA,cACA,aAEMhU,EAAK,UAAWC,KAAK,YAW3B,SAAY+T,GACR,gBACA,qBACA,sBACA,gBACA,cACA,gBACA,qBACA,6BACA,kCACA,yBACA,kBACA,cACA,6BACA,yBACA,8BACA,2BACA,0BACA,mCACH,CAnBD,CAAYA,IAAkB,qBAAlBA,EAAkB,KAsBjB,EAAAC,0BAA4B,CACrC1B,OAAQyB,EAAmBvB,MAC3ByB,UAAWF,EAAmBrB,OAC9BD,QAASsB,EAAmBG,UAC5BC,aAAcJ,EAAmBK,KACjCC,QAASN,EAAmBO,YAC5BC,SAAUR,EAAmBO,YAC7BvJ,MAAOgJ,EAAmB9R,UAG9B,IAAMuS,EAAuCtU,EAAMC,MAAK,SAACC,G,MAC7C4O,EAAiF5O,EAAK,SAA5EkB,EAAuElB,EAAK,MAArEW,EAAgEX,EAAK,aAAvDU,EAAkDV,EAAK,UAA5CqU,EAAuCrU,EAAK,UAAjCsU,EAA4BtU,EAAK,cAAlBuU,EAAavU,EAAK,SAE9F,OACI,uBACIU,WAAW,aACPf,EAAG,QAAM,KACL,EAAC,sBAAeuB,KAAU,EAC1B,EAAC,wBAAyBoT,EAC1B,EAAC,oBAAqBD,EACtB,EAAC,oBAAqBE,E,IAE1B7T,GACH,qBACmB,UAAGC,EAAY,UAElCiO,EAGb,IAEA,UAAewF,C,kOCtEf,eAea,EAAAI,yBAA2B,SACpCC,EACAxO,EACAnB,EACA3C,GACkC,OAClCc,KAAM,EAAAwK,0BACNxH,MAAK,EACLwO,WAAU,EACV3P,UAAS,EACT3C,QAAO,EAL2B,EAQzB,EAAAuS,8BAAgC,SACzCzO,EACAwO,EACA3P,GACuC,OACvC7B,KAAM,EAAA0R,gCACN1O,MAAK,EACLwO,WAAU,EACV3P,UAAS,EAJ8B,EAO9B,EAAA8P,gCAAkC,SAC3C3O,EACAwO,EACAI,EACA/P,GACyC,OACzC7B,KAAM,EAAA6R,kCACN7O,MAAK,EACL4O,aAAY,EACZJ,WAAU,EACV3P,UAAS,EALgC,EAQhC,EAAAiQ,8BAAgC,SACzC9O,EACAwO,EACA1Q,EACAe,GACuC,OACvC7B,KAAM,EAAA+R,gCACN/O,MAAK,EACLlC,MAAK,EACL0Q,WAAU,EACV3P,UAAS,EAL8B,EAQ9B,EAAAmQ,qBAAuB,SAChCnQ,EACAoQ,GAC8B,OAC9BjS,KAAM,EAAAkS,aACNrQ,UAAS,EACToQ,oBAAmB,EAHW,C,6BCnElC,WAAgB,gBAAgB,2CAA2C,OAAS,oCAAoC,SAAW,sC,6BCAnI,WAAgB,MAAQ,qCAAqC,OAAS,sCAAsC,SAAW,wC,4JCDvH,eAaa,EAAAE,aAAe,SAACnP,GAAmD,OAC5EhD,KAAM,EAAAoS,sBACNpP,MAAK,EAFuE,EAKnE,EAAAqP,kBAAoB,SAACrP,GAAwD,OACtFhD,KAAM,EAAAsS,4BACNtP,MAAK,EAFiF,EAK7E,EAAAuP,oBAAsB,SAACvP,EAA2BwP,GAAmD,OAC9GxS,KAAM,EAAAyS,8BACND,QAAO,EACPxP,MAAK,EAHyG,EAMrG,EAAA0P,kBAAoB,SAAC1P,EAA2BlC,GAA2C,OACpGd,KAAM,EAAA2S,4BACN7R,MAAK,EACLkC,MAAK,EAH+F,C,ypCC7BxG,kBAEA,cACA,aACA,cAEA,cACA,WACA,WAEA,cACA,WACA,aACA,cACA,WACA,WACA,cACA,cACA,cACA,WAEMtG,EAAK,UAAWC,KAAK,WAkBrBiW,EAAiC/V,EAAMC,MAAK,SAACC,GACvC,IAAAU,EAAsCV,EAAK,UAAhC8V,EAA2B9V,EAAK,uBAE3Ca,GAAM,IAAAC,kBAAgB,EAExBmF,GAAQ,eAER8P,GAAa,IAAAC,aAAY,EAAAC,kBAEzBjH,EAAY8G,IAA2BC,EAavCG,EACF,gBAAC,UAAiB,CAACC,QAAS,EAAGC,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBI,QAGtFsU,EAA2C,CAC7C,CACIC,OAAOR,aAAU,EAAVA,EAAYS,YAAa,KAChC7V,aAAc,2BACdwL,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqB6U,YAG1CxW,MACI,4BACKY,EAAE,qDACFkV,aAAU,EAAVA,EAAYS,YACT,gCA3CA,MA6CI,gBAAC,UAAK,CAACG,SAAO,EAACC,OAAQb,EAAWS,UAAUK,MAAOC,SAAU,EAAAC,aAAaC,SAM9F,CACIT,OAAOR,aAAU,EAAVA,EAAYkB,SAAU,KAC7BtW,aAAc,uBACdwL,KAAM,gBAAC,UAAU,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBsV,SAC3EjX,MACI,4BACKY,EAAE,iDACFkV,aAAU,EAAVA,EAAYkB,SACT,gCA3DA,MA6DI,gBAAC,UAAK,CAACN,SAAO,EAACC,OAAQb,EAAWkB,OAAOJ,MAAOC,SAAU,EAAAC,aAAaC,UAQzFG,EAAa,SAACC,GAChB,OAAIpI,EACOkH,EAGPkB,EAAab,MACNa,EAAajL,KAGjB,IACX,EAUA,OACI,uBAAKzL,WAAW,aAAGf,EAAG,QAASe,IAC1B4V,EAAce,KAAI,SAACD,EAAcE,G,MAC9B,OAAKtI,GAAcoI,EAAab,MAK5B,uBAAK7V,UAAWf,EAAG,UAAWgT,IAAK2E,GAC/B,gBAAC,UAAM,CACH5W,UAAWf,EAAG,UACdsD,KAAK,SACLsU,iBAAiB,IACjBlS,WAA8B,QAAlB,EAAA+R,EAAab,aAAK,eAAEiB,UAChC/V,QAAS,WACD2V,EAAab,OA3FzB,SAACkB,G,MACjB,UAAQC,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,EAAA4R,cAAcC,0BAA0B,IAAAC,gBAAeN,aAAU,EAAVA,EAAYO,wBAAuB,EAC1F,EAAAH,cAAcI,2BAA2B,IAAAF,gBAAeN,aAAU,EAAVA,EAAYS,yBAAwB,EAC5F,EAAAL,cAAcM,2BAA4BV,aAAU,EAAVA,EAAYvL,GAAE,MAGrE,CAmFgCkM,CAAYhB,EAAab,MAEjC,EACA5V,aAAcyW,EAAazW,aAC3Be,SAAUyV,EAAWC,IA5BzB,SAACA,GACjB,OAAKpI,GAAcoI,EAAab,MAIzBa,EAAanX,MAHT,IAIf,CAwByBoY,CAAYjB,KAlBd,uBAAK1W,UAAWf,EAAG,UAAWgT,IAAK2E,GAsBlD,IAGZ,IAEA,UAAezB,C,8BC5Jf,WAAgB,OAAS,0CAA0C,cAAc,+CAA+C,OAAS,0CAA0C,SAAW,4C,o7BCD9L,kBACA,cACA,WAIMyC,EAAiCxY,EAAMC,MAAK,WACtC,IAAAc,GAAM,IAAAC,kBAAgB,EAE9B,OAAO,gBAAC,UAAa,CAACyX,QAAS1X,EAAE,2CACrC,IAEA,UAAeyX,C,o9BCZf,kBACA,WACA,cACA,WACA,cAEa,EAAAE,uBAAyB,WAC1B,IAAA3X,GAAM,IAAAC,kBAAgB,EAE9B,OAAOhB,EAAM0E,SAAQ,WACjB,MAAO,CACHiU,cAAe,SAACC,GAAqC,OACjDvM,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqB+W,OACjDC,KAAM/X,EAAE,+CACRoE,MAAO,gBAAC,UAAa,CAAChC,KAAM,EAAA4V,aAAaC,uBAAwBlW,MAAO8V,IACxEK,WAAYlY,EAAE,wCACdmY,aAAa,EACbrY,aAAc,gBANmC,EAQrDsY,uBAAwB,SAACC,GAA4C,OACjE/M,KAAM,KACNyM,KAAM/X,EAAE,iDACRoE,MAAO,gBAAC,UAAa,CAAChC,KAAM,EAAA4V,aAAaC,uBAAwBlW,MAAOsW,IACxEH,WAAYlY,EAAE,wCACdmY,aAAa,EACbrY,aAAc,kBANmD,EAQrEwY,wBAAyB,SAACC,GAA6C,OACnEjN,KAAM,KACNyM,KAAM/X,EAAE,kDACRoE,MAAO,gBAAC,UAAa,CAAChC,KAAM,EAAA4V,aAAaC,uBAAwBlW,MAAOwW,IACxEL,WAAYlY,EAAE,wCACdmY,aAAa,EACbrY,aAAc,mBANqD,EAS/E,GAAG,CAACE,GACR,C,4JCrCA,eACA,cAEA,WAEMwY,EAAoB,aAuB1B,UArB2B,SACvBC,EACA,G,IAAEC,EAAoB,uBAEhBC,EAAgBF,EAAW,EAAA5Z,WAAW+Z,YAE5C,OAAKF,EAMAC,EAIE,CACHE,WAAW,aAAOF,GAAeG,OAAON,IAJjC,KANA,CACHK,WAAW,eAASE,IAAI,EAAAC,8BAA+B,QAAQF,OAAON,GAWlF,C,o7BC1BA,kBAEA,cAMMS,EAA6Bha,EAAMC,MAAK,SAACC,GACnC,IAAA+Z,EAAS/Z,EAAK,KAEtB,OAAO,gBAAC,UAAiB,CAACga,SAAUD,EAAKC,UAC7C,IAEA,UAAeF,C,s8CCdf,kBACA,cAEA,cACA,WACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,UACA,WACA,cACA,aACA,cACA,aAEA,WACA,UACA,aACA,cAEA,WACA,cACA,cACA,cACA,cAEA,cAEMna,EAAK,UAAWC,KAAK,WAwW3B,UA3VgD,SAACI,GAEzC,IAAAQ,EAMAR,EAAK,QALLia,EAKAja,EAAK,gBAJLka,EAIAla,EAAK,aAHLma,EAGAna,EAAK,mBAFLoa,EAEApa,EAAK,2BADLqa,EACAra,EAAK,oBAEDqD,GAAc,eAAmB,UAEjCxC,GAAM,IAAAC,kBAAgB,EAExB,IAAgD,UAAMuD,SAAwB6V,GAAa,GAA1FI,EAAmB,KAAEC,EAAsB,KAElD,UAAMrP,WAAU,WACZqP,EAAuBL,EAC3B,GAAG,CAACA,IAEJ,IAAMM,EAAgB,UAAMhW,SAAQ,WAAM,wBAAoB,IAExDiW,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBJ,cAAa,EACbK,SAAU,SAACC,EAAQC,GACf,IAAMC,GAAkB,aAAgBF,GAClCG,GAAqB,IAAAC,mBAAkBZ,EAAqBU,GAElEf,EAAgBgB,GAEhBF,EAAcI,WAAW,CAAC,EAC9B,IAGEC,EAAe,UAAM5W,SAAQ,WAC/B,OAAO,IAAA6W,aAAYb,EAAeC,EAAOK,UAAW,IAAAO,aAAYf,EAAqBJ,EACzF,GAAG,CAACM,EAAeC,EAAOK,OAAQR,EAAqBJ,IAEjDoB,EAA0C,UAAM9W,SAClD,WAAM,OACF,CACIuC,MAAOlG,EAAE,kDACToE,MAAO,MAEX,CACI8B,MAAOlG,EAAE,uDACToE,MAAO,EAAAsW,qBAAqBC,UAEhC,CACIzU,MAAOlG,EAAE,uDACToE,MAAO,EAAAsW,qBAAqBE,UAX9B,GAcN,CAAC5a,IAGL,OACI,gCAAMga,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAACM,MAAOY,EAAE,wCAAyCL,QAASA,KAErF,wBAAC,UAAa,KACT6Z,GACG,wBAAC,UAAW,CACRzB,KAAM,EAAAlZ,WAAWic,WACjB5X,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWic,YAChCE,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWic,YACrC5U,MAAOlG,EAAE,uDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZ8a,OAAQL,EAAOK,OAAO,EAAApb,WAAWic,YACjClW,iBAAe,EACfP,SAAU,SAACyW,EAAYM,G,MACbC,IAAY,MACb,EAAAxc,WAAWic,YAAa,GACzB,EAAC,EAAAjc,WAAWyc,cAAe,G,GAG/BR,EAAWS,SAAQ,SAACC,EAAW/E,G,QACrBgF,EAAgBL,aAAc,EAAdA,EAAiB3E,GACnC+E,IACmC,QAAnC,EAAAH,EAAa,EAAAxc,WAAWic,mBAAW,SAAEjE,KAAK2E,GACL,QAArC,EAAAH,EAAa,EAAAxc,WAAWyc,qBAAa,SAAEzE,KAAK4E,EAAc1D,MAAQ,IAE1E,IAEA6B,EAAO8B,WAAU,SAACC,GAAe,cAC1BA,GACAN,EAF0B,GAIrC,EACA/W,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BiF,WAC7C/B,YAAa7E,EAAE,6DACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SA5BX,IAiCpB,wBAAC,UAAW,CACR7E,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAW+c,cACjB1Y,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+c,eAChCZ,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+c,eACrC1V,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF0c,eAAgB,SAACC,GAAa,+BAAC,UAAO,KAAK,EAAAC,aAAaC,gBAAgBF,IAA1C,EAC9B/D,KAAM,EAAAlZ,WAAW+c,cACjBxX,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+c,gBAAkB,GAClD/W,YAAa7E,EAAE,oEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAXX,IAehB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAWqd,eACjBhZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWqd,gBAChClB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWqd,gBACrChW,MAAOlG,EAAE,+DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF0c,eAAgB,SAACC,GAAa,+BAAC,UAAO,KAAK,EAAAC,aAAaC,gBAAgBF,IAA1C,EAC9B/D,KAAM,EAAAlZ,WAAWqd,eACjB9X,MAAOwV,EAAOK,OAAO,EAAApb,WAAWqd,iBAAmB,GACnDrX,YAAa7E,EAAE,qEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAXX,IAehB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWsd,YACjBjZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWsd,aAChCnB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWsd,aACrCjW,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWsd,aAChCtX,YAAa7E,EAAE,kEACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,GAPX,IAWhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWyd,aACjBpZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyd,cAChCtB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyd,cACrCpW,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyd,cAChCzX,YAAa7E,EAAE,oEACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8Bza,YAC/CgD,iBAAe,GAPX,KAYpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAW0d,YACjBrZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0d,aAChCvB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0d,aACrCrW,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0d,aAChC1X,YAAa7E,EAAE,kEACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,GAPX,IAWhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAW2d,YACjBtZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2d,aAChCxB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2d,aACrCtW,MAAOlG,EAAE,0DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAY,CACTiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW2d,aAChCP,SAAU,SAACO,EAAaC,GACpB7C,EAAO8B,WAAU,SAACC,G,MACd,OAAO,EAAP,KACOA,KAAU,MACZ,EAAA9c,WAAW4d,eAAgBA,GAAiB,KAAI,EAChD,EAAA5d,WAAW2d,aAAcA,EAAW,GAE7C,GACJ,EACA9a,gBAAiB,EAAAC,4BAA4BiF,WAC7CrC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfT,UAAWzB,EACXqC,YAAa7E,EAAE,gEACf4E,iBAAe,GAnBX,KAwBpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,uBACvBiZ,KAAM,EAAAlZ,WAAW6d,cACjBxZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6d,eAChC1B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6d,eACrCxW,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAmB,CAChB0F,YAAa7E,EAAE,kEACfoE,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6d,eAChCT,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GATX,IAaf0U,GACG,wBAAC,UAAW,CACRzZ,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAW8d,OACjBzZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW8d,QAChC3B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW8d,QACrCzW,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAa,CACVmH,cAAesT,EAAOK,OAAO,EAAApb,WAAW8d,QACxC9X,YAAY,GACZvD,QAASmZ,EACTpW,SAAUlF,EAAM8c,SAChBhW,aAAc,SAACN,EAA8Cd,GACzD,OAAKc,EAIE,oCAAOA,EAAOO,OAHV,oCAAOrB,EAItB,EACA8B,eAAgB,SAAChB,GAAW,OAAAA,EAAOvB,KAAP,EAC5B1C,gBAAiB,EAAAC,4BAA4BiF,YAdzC,IAmBnB2S,GACG,wBAAC,UAAW,CACR1Z,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAW+d,eACjB1Z,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+d,gBAChC5B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+d,gBACrC1W,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAA+B,CAC5B8a,OAAQL,EAAOK,OAAO,EAAApb,WAAW+d,gBACjC/X,YAAa7E,EAAE,4DACfqE,SAAUlF,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BC,YAC7C6C,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GAVX,MAiB5B,wBAAC,UAAmB,CAACiY,aAAW,GAC5B,+BAAKhd,UAAWf,EAAG,qBACf,wBAAC,UAAe,CAACua,aAAcI,EAAqBL,gBAAiBM,KAEzE,wBAAC,UAAM,CACHrZ,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZwC,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,2CAKvB,C,20DCjUS,EAAAid,aAJT,W,kDACI,UAAM,IAAAvQ,WAAU,EAAAwQ,4BAA6BC,I,cAA7C,S,SApEJ,eACA,WACA,WACA,WACA,cACA,WACA,WAEA,cAIA,SAAUA,EAAkBra,G,oFAOkC,OANlD8Q,EAAyC9Q,EAAM,WAA5Bsa,EAAsBta,EAAM,MAAlBxB,EAAYwB,EAAM,QAEjDsC,EAAK,KACJgY,GAGmD,IAAM,IAAArR,QAAO,EAAAsR,sB,OACjB,OADhDC,EAAoD,SACJ,IAAM,IAAAvR,QAAO,EAAAwR,sB,OAInE,OAJMpQ,EAAgD,SAChDqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GAEtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,cAAerB,GACrEkc,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MAAI,IAAA0R,eAAc,CAAEC,iBAAkBhK,M,OAA5C,S,iBAGJ,UAAM,IAAA3H,MAAI,IAAA4R,wBAAuBzY,EAAOwO,K,OAEpC,OAFJ,SAEI,GAAM,UAAkBkK,wBAAwB,EAAD,KACxC1Y,GAAK,CACR2Y,KAAMnK,M,cAHR,kBACF,SAGE,IAJC1Q,EAAK,KAAEqJ,EAAQ,KAMlBrJ,EACA,IAAM,IAAA+I,MAAI,IAAA+R,wBAAuB5Y,EAAOwO,EAAY1Q,KADpD,M,OAEA,OADA,SACA,I,OAsBJ,OAnBM+a,GAAQ1R,aAAQ,EAARA,EAAUX,OAAQ,GAE1BsS,EAAkD,CACpDC,QAASF,EAAMzH,KAAI,SAAC4H,GAChB,OAAO,EAAP,CACI/S,GAAIgT,OAAuB,IAAhBC,KAAKC,WACbH,EAEX,IACAI,WAAY,EACZC,eAAeR,aAAK,EAALA,EAAO7c,SAAU,GAG9Bsd,EAAuC,CACzCC,SAASpS,aAAQ,EAARA,EAAUoS,WAAW,EAC9BC,eAAerS,aAAQ,EAARA,EAAUqS,gBAAiB,KAC1CC,cAActS,aAAQ,EAARA,EAAUsS,eAAgB,MAG5C,IAAM,IAAA5S,MAAI,IAAA6S,0BAAyB1Z,EAAOwO,EAAYsK,EAAkBQ,K,cAAxE,UAEA,IAAAK,2BAA0BnL,EAAYsK,EAAkB,EAAAc,2B,iqCChE5D,kBACA,WACA,cAEA,cACA,WACA,cACA,WACA,cACA,cACA,aACA,cACA,cACA,aACA,cACA,cAYMC,EAAyChgB,EAAMC,MAAK,SAACC,GAC/C,IAAAU,EAAoFV,EAAK,UAA9E+f,EAAyE/f,EAAK,IAAzEggB,EAAoEhgB,EAAK,IAApEigB,EAA+DjgB,EAAK,eAApDkgB,EAA+ClgB,EAAK,UAAzCmgB,EAAoCngB,EAAK,kBAAtBogB,EAAiBpgB,EAAK,aAE3FqgB,EAA6C,GA0HnD,OAxHAF,EAAkB/D,SAAQ,SAACkE,GA2BvB,GA1B6B,uBAAzBA,EAAgBrd,MAChBod,EAAW3I,KAAK,CACZxW,MAAO,EAAAqf,gBAAgB9J,UACvB7H,SACI,gBAAC,UAAW,CACRjN,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,MAClCwO,KAAM,EAAAC,sBAMO,qBAAzBiK,EAAgBrd,MAChBod,EAAW3I,KAAK,CACZxW,MAAO,EAAAqf,gBAAgB9J,UACvB7H,SACI,gBAAC,UAAS,CACNjN,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,MAClCwO,KAAM,EAAAC,sBAMO,mBAAzBiK,EAAgBrd,KAA2B,CACnC,IAAAud,EAAaF,EAAe,SAE9BG,KAAcD,aAAQ,EAARA,EAAUE,qBAE9B,OAAQF,EAASvd,MACb,KAAK,EAAA0d,aAAaC,YACdP,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SAAU,gBAAC,UAAe,MAAK,IAAAiS,yBAAwB,yBAE3D,MAEJ,KAAK,EAAAF,aAAaG,cACdT,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SAAU,gBAAC,UAAiB,MAAK,IAAAmS,2BAA0B,yBAE/D,MAEJ,KAAK,EAAAJ,aAAaK,gBACdX,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SAAU,gBAAC,UAAc,MAAK,IAAAqS,wBAAuB,yBAEzD,MAEJ,KAAK,EAAAN,aAAaO,eAClB,KAAK,EAAAP,aAAaQ,aACdd,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SACI,gBAAC,UAAQ,CACLwH,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,UAI9C,MAEJ,KAAK,EAAA+Y,aAAaS,aAClB,KAAK,EAAAT,aAAaU,YAClB,KAAK,EAAAV,aAAaW,uBACd,IAAIpgB,EAAQ,EAAAqf,gBAAgB1e,SAExB2e,EAASvd,OAAS,EAAA0d,aAAaS,eAC/BlgB,EAAQ,EAAAqf,gBAAgB5H,MAGxB8H,IACAvf,EAAQ,EAAAqf,gBAAgB9J,WAG5B4J,EAAW3I,KAAK,CACZxW,MAAK,EACLwc,aAAa,EACb9O,SACI,gBAAC,UAAwB,CAAC2S,cAAY,EAAC5O,IAAK,sBAAe6N,EAAStU,MAC9DsU,EAASlJ,OAAS,GAAK,KAIrC,MAEJ,KAAK,EAAAqJ,aAAaa,YACdnB,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SAAU,gBAAC,UAAkB,MAAK,IAAA6S,4BAA2B,yBAEjE,MAEJ,KAAK,EAAAd,aAAae,UACdrB,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SAAU,gBAAC,UAAgB,MAAK,IAAA+S,0BAAyB,yBAE7D,MAEJ,KAAK,EAAAhB,aAAaiB,cACdvB,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SAAU,gBAAC,UAAe,MAAK,IAAAiT,yBAAwB,yBAQvE,CACJ,KAEKxB,aAAU,EAAVA,EAAYpe,QAKb,gBAAC,UAAkB,CACfvB,UAAWA,EACXqf,IAAKA,EACLC,IAAKA,EACLK,WAAYA,EACZH,UAAWA,EACXD,eAAgBA,EAChBG,aAAcA,IAXX,IAcf,IAEA,UAAeN,C,8qBCzKf,kBACA,cA+BA,UAxB2B,SAAegC,GAChC,QAAwC,UAAMzd,SAAYyd,GAAY,GAArEC,EAAe,KAAEC,EAAkB,KAiB1C,OAfA,UAAM9W,WAAU,WACZ8W,EAAmBF,EACvB,GAAG,CAACA,IAaG,CACHC,gBAAe,EACfE,qBAbyB,UAAMjc,aAAY,SAACkc,GAC5CF,GAAmB,SAACG,GAChB,IAAMC,EAAqB,EAAH,GAAQD,GAKhC,OAFA,aAAMC,EAAoBF,GAEnBE,CACX,GACJ,GAAG,IAMP,C,4JC9BA,eACA,WAEA,cA4BA,UAzByB,SACrB/e,EACAgf,G,MAEA,OAAO,EAAP,IACK,EAAA3iB,WAAWkZ,OAAOyJ,aAAsB,EAAtBA,EAAwBzJ,OAAQ,GACnD,EAAC,EAAAlZ,WAAWiO,SAAS0U,aAAsB,EAAtBA,EAAwB1U,SAAU,GAEvD,EAAC,EAAAjO,WAAW4iB,eAAeD,aAAsB,EAAtBA,EAAwBE,YAC7C,aAAOF,aAAsB,EAAtBA,EAAwBE,WAAWC,SAC1C,KACN,EAAC,EAAA9iB,WAAW+iB,gBAAgBJ,aAAsB,EAAtBA,EAAwB3I,YAC9C,aAAO2I,aAAsB,EAAtBA,EAAwB3I,WAAW8I,SAC1C,KAEN,EAAC,EAAA9iB,WAAWgjB,MAAO,IAAI,EAAAC,WAA0B,CAC7C/J,MAAMyJ,aAAsB,EAAtBA,EAAwBO,WAAY,GAC1CC,aAAc,CACVC,mBAAmBT,aAAsB,EAAtBA,EAAwBnW,KAAM,IACjD7I,UAAS,K,CAIzB,C,qBC7BA,IAAY3D,E,qEAAZ,SAAYA,GACR,yBACA,oCACH,CAHD,CAAYA,IAAU,aAAVA,EAAU,I,iTCCtB,cACA,WAEMqjB,EAAkB,CACpB,EAAArjB,WAAW+Z,WACX,EAAA/Z,WAAWiO,OACX,EAAAjO,WAAWkZ,KACX,EAAAlZ,WAAWsjB,cACX,EAAAtjB,WAAWujB,UACX,EAAAvjB,WAAWwjB,SACX,EAAAxjB,WAAWyjB,QACX,EAAAzjB,WAAW0jB,oBACX,EAAA1jB,WAAW2jB,mBACX,EAAA3jB,WAAW4jB,sBAGTC,EAAiB,CACnB,EAAA7jB,WAAW0jB,oBACX,EAAA1jB,WAAW2jB,mBACX,EAAA3jB,WAAW4jB,sBAGTE,EAAc,CAAC,EAAA9jB,WAAWujB,UAAW,EAAAvjB,WAAWwjB,SAAU,EAAAxjB,WAAWyjB,SAa3E,UAXiB,SAACtiB,EAAcia,GAQ5B,OAPY,cACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4I,eAAc7iB,EAAG2iB,EAAa1I,EAAQ,KACtC,IAAA6I,eAAc9iB,EAAG2iB,EAAa1I,EAAQ,KACtC,IAAA4I,eAAc7iB,EAAG0iB,EAAgBzI,EAAQ,KACzC,IAAA6I,eAAc9iB,EAAG0iB,EAAgBzI,EAAQ,KAGpD,C,w8CClCA,kBACA,WACA,cACA,aACA,aAEA,WACA,cACA,cACA,cACA,cACA,WACA,cAIA,cACA,cACA,cACA,cACA,WACA,WAEM8I,IAAuB,MACxB,EAAAC,kBAAkBC,OAAQ,kDAC3B,EAAC,EAAAD,kBAAkBE,OAAQ,kDAC3B,EAAC,EAAAF,kBAAkBG,SAAU,oD,GAW3BrkB,EAAK,UAAWC,KAAK,WAErBqkB,EAA4CnkB,EAAMC,MAAK,SAACC,G,kDAClDU,EAAiFV,EAAK,UAA3EkkB,EAAsElkB,EAAK,eAA3DmkB,EAAsDnkB,EAAK,4BAA9BokB,EAAyBpkB,EAAK,qBAExFqkB,EAAcrkB,EAAMqkB,aAAeF,EAA4BtgB,SAAWugB,EAAqBvgB,QAE7FhD,GAAM,IAAAC,kBAAgB,EAExB,IAAgDhB,EAAMuE,SAA2B,EAAAigB,iBAAiBC,UAAS,GAA1GC,EAAmB,KAAEC,EAAsB,KAE5C,IAAkD3kB,EAAMuE,SAA4B,EAAAwf,kBAAkBC,OAAM,GAA3GY,GAAoB,KAAEC,GAAuB,KAE9CC,GAAyB9kB,EAAM0E,SAAQ,W,YACnCiO,EAAiC,GAGnC+R,IAAwB,EAAAF,iBAAiBC,WACzCL,aAAc,EAAdA,EAAgBW,qBAChBX,aAAc,EAAdA,EAAgBY,uBAChBZ,aAAc,EAAdA,EAAgBa,wBAEhBtS,EAAKiF,KAAK,EAAAmM,kBAAkBC,OAGhC,IAAMkB,GAC8C,QAAhD,EAAAd,aAAc,EAAdA,EAAgBe,wCAAgC,eAAE/Y,MACA,QAAlD,EAAAgY,aAAc,EAAdA,EAAgBgB,0CAAkC,eAAEhZ,MACJ,QAAhD,EAAAgY,aAAc,EAAdA,EAAgBe,wCAAgC,eAAE/Y,OACI,QAAlD,EAAAgY,aAAc,EAAdA,EAAgBgB,0CAAkC,eAAEhZ,IA6B5D,OA5BIsY,IAAwB,EAAAF,iBAAiBa,UAAYH,GACrDvS,EAAKiF,KAAK,EAAAmM,kBAAkBC,OAI5BU,IAAwB,EAAAF,iBAAiBa,WACxCH,IACDd,aAAc,EAAdA,EAAgBkB,8BAEhB3S,EAAKiF,KAAK,EAAAmM,kBAAkBE,OAI5BS,IAAwB,EAAAF,iBAAiBa,WACxCH,IACDd,aAAc,EAAdA,EAAgBmB,gCAEhB5S,EAAKiF,KAAK,EAAAmM,kBAAkBG,SAG5BQ,IAAwB,EAAAF,iBAAiBC,WAAYL,aAAc,EAAdA,EAAgBY,sBACrErS,EAAKiF,KAAK,EAAAmM,kBAAkBE,OAG5BS,IAAwB,EAAAF,iBAAiBC,WAAYL,aAAc,EAAdA,EAAgBa,wBACrEtS,EAAKiF,KAAK,EAAAmM,kBAAkBG,SAGzBvR,CACX,GAAG,CAAC+R,EAAqBN,IAEzBpkB,EAAMoL,WAAU,WACZyZ,IAAwB,SAACW,GACrB,OAAKV,GAAuBW,SAASD,GAI9BA,EAHIV,GAAuB,IAAM,IAI5C,GACJ,GAAG,CAACA,KAEJ,IAAMY,IAAyB,IAAAC,6BAEzBC,GAA0D5lB,EAAM0E,SAAQ,W,UACpEmhB,EAAsD,CACxD,CACI1iB,KAAM,EAAAqhB,iBAAiBC,SACvBtkB,MAAOY,EAAE,yDACT+kB,KAAM,CACF,KACA,CACIC,eAAgB,CACZ5gB,MAAsC,QAA/B,EAAAif,aAAc,EAAdA,EAAgB4B,uBAAe,eAAEC,UACxCC,UAA0C,QAA/B,EAAA9B,aAAc,EAAdA,EAAgB4B,uBAAe,eAAEC,WAEhDE,iBAAkB,CACd5B,YAAW,GAEfpkB,MAAOY,EAAE,wDACTqlB,KAAqC,QAA/B,EAAAhC,aAAc,EAAdA,EAAgB4B,uBAAe,eAAEC,cAsCvD,OAhCI7B,aAAc,EAAdA,EAAgBW,oBAChBc,EAAOjO,KAAK,CACRzU,KAAM,EAAAqhB,iBAAiBa,SACvBllB,MAAOY,EAAE,uDACTslB,aAActlB,EAAE,oEAChB+kB,KAAM,CACF,CACIC,eAAgB,CACZ5gB,MAAOif,EAAeW,kBAAkBkB,UACxCC,UAAW9B,EAAeW,kBAAkBkB,WAEhDE,iBAAkB,CACd5B,YAAW,GAEfpkB,MAAOY,EAAE,yDACTqlB,KAAMhC,EAAeW,kBAAkBkB,WAE3C,CACIF,eAAgB,CACZ5gB,MAAOif,EAAeW,kBAAkBkB,UACxCC,UAAW9B,EAAeW,kBAAkBkB,WAEhDE,iBAAkB,CACd5B,YAAW,GAEfpkB,MAAOY,EAAE,yDACTqlB,KAAMhC,EAAeW,kBAAkBkB,cAMhDJ,CACX,GAAG,CAACzB,EAAgBG,EAAaxjB,IAE3BulB,GAA2CtmB,EAAM0E,SAAQ,W,gBACrDohB,EAA6B,GAEnC,IAAK1B,EACD,OAAO0B,EAGX,IAAMS,EACFnC,EAAeoC,cACfpC,EAAeqC,iBACY,QAA3B,EAAArC,EAAeoC,oBAAY,eAAEpa,OAAoC,QAA7B,EAAAgY,EAAeqC,sBAAc,eAAEra,IAyDvE,OAvDIma,GAAiBnC,EAAeoC,cAChCV,EAAKlO,KAAK,EAAD,GACF8N,GAAuBgB,aAAa,CACnCC,mBAAoBvC,EAAeoC,aAAaI,QAChDC,YAAazC,EAAeoC,aAAa1N,MAAQ,GACjDgO,iBAAkB1C,EAAe2C,6BACjCC,kBAAmB5C,EAAe6C,mCAKzCV,GAAiBnC,EAAeoC,cACjCV,EAAKlO,KAAK,EAAD,GACF8N,GAAuBc,aAAa,CACnCG,mBAAoBvC,EAAeoC,aAAaI,QAChDC,YAAazC,EAAeoC,aAAa1N,MAAQ,GACjDgO,iBAAkB1C,EAAe2C,6BACjCC,kBAAmB5C,EAAe6C,mCAKzCV,GAAiBnC,EAAeqC,gBACjCX,EAAKlO,KAAK,EAAD,GACF8N,GAAuBe,eAAe,CACrCE,mBAAoBvC,EAAeqC,eAAeG,QAClDC,YAAazC,EAAeqC,eAAe3N,MAAQ,GACnDgO,iBAAkB1C,EAAe8C,+BACjCF,kBAAmB5C,EAAe+C,qCAK1C,aAAS/C,EAAegD,yBACxBtB,EAAKlO,KAAK,EAAD,GACF8N,GAAuBzB,MAAM,CAC5BoD,OAAkC,QAA3B,EAAAjD,EAAeoC,oBAAY,eAAE1N,OAAQ,GAC5CwO,aAAwC,QAA3B,EAAAlD,EAAeoC,oBAAY,eAAE1N,OAAQ,GAClDkO,kBAAmB5C,EAAegD,uBAClCN,iBAAkB1C,EAAemD,2BAKzC,aAASnD,EAAeoD,2BACxB1B,EAAKlO,KAAK,EAAD,GACF8N,GAAuBxB,QAAQ,CAC9BmD,OAAoC,QAA7B,EAAAjD,EAAeqC,sBAAc,eAAE3N,OAAQ,GAC9CwO,aAA0C,QAA7B,EAAAlD,EAAeqC,sBAAc,eAAE3N,OAAQ,GACpDkO,kBAAmB5C,EAAeoD,yBAClCV,iBAAkB1C,EAAeqD,4BAKtC3B,CACX,GAAG,CAAC1B,EAAgBsB,KAEpB,OACI,uBAAK9kB,WAAW,aAAGf,EAAG,QAASe,IAC3B,gBAAC,UAAkB,CACf8mB,aAAchD,EACdiD,aAAchD,EACd/jB,UAAWf,EAAG,kBACd+lB,WAAYA,KAEhB,gBAAC,UAAS,CAACgC,mBAAiB,EAAC9B,KAAMQ,GAAoB1lB,UAAWf,EAAG,QAAS,wBAC9E,gBAAC,UAAW,CAACe,UAAWf,EAAG,oBACtBilB,GAAuBvN,KAAI,SAACsQ,GACzB,IAAMC,EAAaD,IAAiBjD,GAEpC,OACI,gBAAC,UAAM,CACH/R,IAAKgV,EACLzmB,MAAO,EAAA2N,gBAAgB6E,YACvB/S,aAAcgnB,EACdrU,UAAWsU,EACXnmB,QAAS,WACLkjB,GAAwBgD,EAC5B,GAEC9mB,EAAE+iB,EAAwB+D,IAGvC,KAEHjD,KAAyB,EAAAb,kBAAkBC,OAASU,IAAwB,EAAAF,iBAAiBC,UAC1F,gBAAC,UAAmB,CAChBxd,MAAOlG,EAAE,8CACTH,UAAWf,EAAG,WACdkoB,MAAO3D,aAAc,EAAdA,EAAgBW,oBAG9BH,KAAyB,EAAAb,kBAAkBE,OAASS,IAAwB,EAAAF,iBAAiBC,UAC1F,gBAAC,UAAmB,CAChBxd,MAAOlG,EAAE,8CACTH,UAAWf,EAAG,WACdkoB,MAAO3D,aAAc,EAAdA,EAAgBY,sBAG9BJ,KAAyB,EAAAb,kBAAkBG,SACxCQ,IAAwB,EAAAF,iBAAiBC,UACrC,gBAAC,UAAmB,CAChBxd,MAAOlG,EAAE,gDACTH,UAAWf,EAAG,WACdkoB,MAAO3D,aAAc,EAAdA,EAAgBa,sBACvB+C,iBAAe,IAG1BpD,KAAyB,EAAAb,kBAAkBE,OAASS,IAAwB,EAAAF,iBAAiBa,UAC1F,gBAAC,UAAmB,CAChBpe,OACImd,aAAc,EAAdA,EAAgBoC,gBAAgBpC,aAAc,EAAdA,EAAgBe,kCAC5C,gBAAC,UAAI,CACD8C,OAAO,SACP7mB,MAAO,EAAA8mB,cAAcC,cACrBC,GAAI,EAAAC,WAAWC,6BACX,EAAAC,gBAAgBC,QAChBpE,EAAeoC,aAAapa,GAC5BgY,EAAee,iCAAiC/Y,KAGnDrL,EAAE,uDAAwD,CACvD0nB,qBAAsE,QAAhD,EAAArE,aAAc,EAAdA,EAAgBe,wCAAgC,eAAEtX,UAGhF,KAERjN,UAAWf,EAAG,WACdkoB,MAAO3D,aAAc,EAAdA,EAAgBkB,4BACvBoD,UAAWtE,aAAc,EAAdA,EAAgBuE,8BAGlC/D,KAAyB,EAAAb,kBAAkBG,SACxCQ,IAAwB,EAAAF,iBAAiBa,UACrC,gBAAC,UAAmB,CAChBpe,OACImd,aAAc,EAAdA,EAAgBqC,kBAAkBrC,aAAc,EAAdA,EAAgBgB,oCAC9C,gBAAC,UAAI,CACD6C,OAAO,SACP7mB,MAAO,EAAA8mB,cAAcC,cACrBC,GAAI,EAAAC,WAAWC,6BACX,EAAAC,gBAAgBC,QACc,QAA9B,EAAApE,aAAc,EAAdA,EAAgBqC,sBAAc,eAAEra,GACkB,QAAlD,EAAAgY,aAAc,EAAdA,EAAgBgB,0CAAkC,eAAEhZ,KAGvDrL,EAAE,uDAAwD,CACvD0nB,qBACsD,QAAlD,EAAArE,aAAc,EAAdA,EAAgBgB,0CAAkC,eAAEvX,UAGhE,KAERjN,UAAWf,EAAG,WACdkoB,MAAO3D,aAAc,EAAdA,EAAgBmB,8BACvBmD,UAAWtE,aAAc,EAAdA,EAAgBwE,gCAGtChE,KAAyB,EAAAb,kBAAkBC,OAASU,IAAwB,EAAAF,iBAAiBa,UAC1F,gBAAC,UAAmB,CAChBpe,OACImd,aAAc,EAAdA,EAAgBoC,gBAAgBpC,aAAc,EAAdA,EAAgBe,kCAC5C,gBAAC,UAAI,CACD8C,OAAO,SACP7mB,MAAO,EAAA8mB,cAAcC,cACrBC,GAAI,EAAAC,WAAWC,6BACX,EAAAC,gBAAgBC,QAChBpE,EAAeoC,aAAapa,GAC5BgY,EAAee,iCAAiC/Y,KAGnDrL,EAAE,uDAAwD,CACvD0nB,qBAAsE,QAAhD,EAAArE,aAAc,EAAdA,EAAgBe,wCAAgC,eAAEtX,UAGhF,KAERjN,UAAWf,EAAG,WACdkoB,MAAO3D,aAAc,EAAdA,EAAgBkB,4BACvBoD,UAAWtE,aAAc,EAAdA,EAAgBuE,8BAGlC/D,KAAyB,EAAAb,kBAAkBC,OACxC,gBAAC,UAAgB,CACbrL,eAA2D,QAA5C,EAAiC,QAAjC,EAAAyL,aAAc,EAAdA,EAAgBW,yBAAiB,eAAE8D,iBAAS,eAAElQ,gBAAiB,KAC9EmQ,iBAA2D,QAA1C,EAAiC,QAAjC,EAAA1E,aAAc,EAAdA,EAAgBW,yBAAiB,eAAEgE,eAAO,eAAEF,YAAa,KAC1EG,kBAA6D,QAA3C,EAAiC,QAAjC,EAAA5E,aAAc,EAAdA,EAAgBW,yBAAiB,eAAEN,gBAAQ,eAAEoE,YAAa,KAC5EtE,YAAaA,IAGpBK,KAAyB,EAAAb,kBAAkBE,OACxC,gBAAC,UAAgB,CACbtL,eAA6D,QAA9C,EAAmC,QAAnC,EAAAyL,aAAc,EAAdA,EAAgBY,2BAAmB,eAAE6D,iBAAS,eAAElQ,gBAAiB,KAChFmQ,iBAA6D,QAA5C,EAAmC,QAAnC,EAAA1E,aAAc,EAAdA,EAAgBY,2BAAmB,eAAE+D,eAAO,eAAEF,YAAa,KAC5EG,kBAA+D,QAA7C,EAAmC,QAAnC,EAAA5E,aAAc,EAAdA,EAAgBY,2BAAmB,eAAEP,gBAAQ,eAAEoE,YAAa,KAC9EtE,YAAaA,IAGpBK,KAAyB,EAAAb,kBAAkBG,SACxC,gBAAC,UAAgB,CACbvL,eAA+D,QAAhD,EAAqC,QAArC,EAAAyL,aAAc,EAAdA,EAAgBa,6BAAqB,eAAE4D,iBAAS,eAAElQ,gBAAiB,KAClFmQ,iBAA+D,QAA9C,EAAqC,QAArC,EAAA1E,aAAc,EAAdA,EAAgBa,6BAAqB,eAAE8D,eAAO,eAAEF,YAAa,KAC9EG,kBAAiE,QAA/C,EAAqC,QAArC,EAAA5E,aAAc,EAAdA,EAAgBa,6BAAqB,eAAER,gBAAQ,eAAEoE,YAAa,KAChFtE,YAAaA,KAGnBF,EAA4BtgB,SAC1BsgB,EAA4BpgB,OAC5BqgB,EAAqBvgB,SACrBugB,EAAqBrgB,QACrB,gCACI,uBAAKrD,UAAWf,EAAG,2BACjBwkB,EAA4BtgB,SAAWugB,EAAqBvgB,UAC1D,uBAAKnD,UAAWf,EAAG,wBACf,gBAAC,UAAkB,CAACopB,UAAQ,GACvBloB,EACIqjB,EAEK,kDADA,mDAU1C,IAEA,UAAeD,C,gHCzZf,cAEa,EAAA+E,+BAAiC,IAAI,EAAAC,gB,8BCDlD,WAAgB,MAAQ,yCAAyC,MAAQ,yCAAyC,QAAU,2CAA2C,OAAS,0CAA0C,eAAe,gDAAgD,OAAS,0CAA0C,SAAW,4C,o7BCDvV,kBAEA,cAMMC,EAA+BppB,EAAMC,MAAK,SAACC,GACrC,IAAAmpB,EAAQnpB,EAAK,IAErB,OAAO,gBAAC,UAAa,CAACsU,eAAa,EAAC8U,OAAQD,aAAG,EAAHA,EAAKC,QACrD,IAEA,UAAeF,C,iNCXF,EAAAG,0BAA4B,+CAC5B,EAAAC,gCAAkC,qDAClC,EAAAC,gCAAkC,qDAClC,EAAAC,kCAAoC,sD,iTCJjD,eACA,WAyBA,UAvBiB,SAAC3oB,EAAcia,EAAqB2O,GACjD,IAAI7N,EAAM,YACH,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,SAAU,EAAAjqB,WAAWkqB,OAAQ9O,KAChF,IAAA+O,gBAAehpB,EAAG,CAAC,EAAAnB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,UAAW7O,EAAQ,KACvE,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,UAAW7O,EAAQ,OACvE,IAAAiP,kBAAiBlpB,EAAG,CAAC,EAAAnB,WAAWkqB,OAAQ9O,IAe/C,OAZK2O,IACD7N,EAAS,EAAH,KACCA,IACA,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWsqB,UAAWlP,KAI7BA,EAAO,EAAApb,WAAWuqB,eAEpCrO,EAAO,EAAAlc,WAAWuqB,aAAeppB,EAAE,oCAGhC+a,CACX,C,4JC1BA,IAwBMsO,EAxBN,YAwBkC,QAAM9mB,cAA0C,CAAC,GAEnF,UAAe8mB,C,6KCzBf,eAAS,4EAAAC,OAAO,G,8BCAhB,WAAgB,gBAAgB,sCAAsC,MAAQ,8BAA8B,OAAS,+BAA+B,SAAW,iC,8BCA/J,WAAgB,KAAO,0BAA0B,KAAO,0BAA0B,iBAAiB,oCAAoC,QAAU,6BAA6B,OAAS,4BAA4B,oBAAoB,uCAAuC,2BAA2B,8CAA8C,qBAAqB,wCAAwC,uBAAuB,0CAA0C,eAAe,kCAAkC,QAAU,6BAA6B,oBAAoB,uCAAuC,0BAA0B,6CAA6C,0BAA0B,6CAA6C,eAAe,kCAAkC,uBAAuB,0CAA0C,OAAS,4BAA4B,SAAW,8B,8BCAx5B,WAAgB,cAAc,kCAAkC,uBAAuB,2CAA2C,qBAAqB,yCAAyC,OAAS,6BAA6B,SAAW,+B,iYCCjP,eACA,WACA,cAuBA,UArBiB,SAACtpB,EAAcia,GAC5B,IAAMc,EAAsB,CAAC,EAiB7B,OAf4Bd,EAAO,EAAApb,WAAW0qB,WAC1BhO,SAAQ,SAACiO,EAAoB/S,GAC7C,IAAMgT,EAAkB,MACjB,IAAA7G,eAAc5iB,EAAG,CAAC,EAAA0pB,mBAAmBtiB,YAAaoiB,KAGpD,aAAQC,KACJ1O,EAAO,EAAAlc,WAAW0qB,aACnBxO,EAAO,EAAAlc,WAAW0qB,WAAa,IAGnCxO,EAAO,EAAAlc,WAAW0qB,WAAW9S,GAASgT,EAE9C,IAEO1O,CACX,C,w3BCzBA,kBACA,WAOM4O,EAA6B,SAACxqB,GACxB,IAAAU,EAAoBV,EAAK,UAAdoW,EAASpW,EAAK,KAEjC,OACI,uBAAKoR,MAAM,6BAA6B1Q,UAAWA,EAAWc,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAC7F,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,yBACI,qBAAGzH,UAAU,uCACT,2BAASlK,GAAG,SAAS8qB,GAAG,KAAKje,KAAK,UAAUke,GAAG,SAASC,GAAG,OAC3D,wBACIne,KAAK,OACL8E,SAAS,UACTC,EAAE,oMAO9B,EAEAiZ,EAAS1Y,YAAc,WAEvB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,mBAGD,EAAAtE,WAAAA,EACT,UAAeyY,C,2GCnCf,eAEa,EAAAI,0BAA4B,SAACC,GACtC,IAAKA,EACD,MAAO,CACHC,KAAK,EACLC,qBAAqB,EACrBC,aAAa,GAIrB,IAAMC,EACDJ,EAAQ5nB,OAAS,EAAAolB,gBAAgB6C,UAAYL,EAAQM,yBAA4BN,EAAQO,gBACxFC,GAAyBR,EAAQS,kBAEvC,MAAO,CACHR,IAAKG,GAAiCI,EACtCL,YAAaK,EACbN,oBAAqBE,EAE7B,C,8BCpBA,WAAgB,KAAO,8BAA8B,OAAS,gCAAgC,SAAW,kC,w3BCDzG,kBACA,WASMM,EAAiC,SAACvrB,GAC5B,IAAA2B,EAAwC3B,EAAK,UAAlCmW,EAA6BnW,EAAK,QAAzBU,EAAoBV,EAAK,UAAdoW,EAASpW,EAAK,KAErD,OACI,uBAAKwB,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAYD,MAAM,6BAA6B1Q,UAAWA,GAC9F,4BACI,wBAAM6Q,EAAE,kBAAkBrF,GAAG,gBAEjC,wBACIqF,EAAE,sSACFia,UAAU,cACVhf,KAAM7K,EACN6P,YAAa2E,GAAW,EACxB7E,SAAS,YAIzB,EAEAia,EAAazZ,YAAc,eAE3B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBC,SAChCsU,QAAS,EACTC,KAAM,EAAAC,mBAGD,EAAAtE,WAAAA,EACT,UAAewZ,C,o5BCtCf,kBACA,WASME,EAAsC,SAACzrB,GACjC,IAAAoW,EAA4CpW,EAAK,KAA3CU,EAAsCV,EAAK,UAAhC2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAEzD,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAY3Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAM9E,KAAM7K,EAAW6P,YAAY,MAAMD,EAAE,gCAC3C,wBACI/E,KAAMkK,EACNnF,EAAE,itBAKtB,EAEAka,EAAkB3Z,YAAc,oBAEhC,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAe0Z,EAKF,EAAA1K,0BAA4B,SACrC2K,GAEA,OAAQA,GACJ,IAAK,WACD,MAAO,CACHtV,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG1C,IAAK,oBAOL,IAAK,oBACD,MAAO,CACHL,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,OAG1C,IAAK,sBACD,MAAO,CACHwO,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBsS,aAG1C,QACI,MAAO,CACHkC,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBI,OAIlD,C,wgDChFA,kBACA,WAEA,cACA,WACA,WACA,WACA,YAUM2pB,IAA8B,MAC/B,EAAAC,oBAAoBV,WAAO,MACvB,EAAAW,mBAAmBC,mBAAoB,EAAAlY,0BAA0B1B,OAClE,EAAC,EAAA2Z,mBAAmBE,UAAW,EAAAnY,0BAA0BO,SACzD,EAAC,EAAA0X,mBAAmBG,UAAW,EAAApY,0BAA0BC,UACzD,EAAC,EAAAgY,mBAAmBI,SAAU,EAAArY,0BAA0BC,UACxD,EAAC,EAAAgY,mBAAmBK,SAAU,EAAAtY,0BAA0BC,UACxD,EAAC,EAAAgY,mBAAmBM,UAAW,EAAAvY,0BAA0B1B,O,GAE7D,EAAC,EAAA0Z,oBAAoBtD,WAAO,MACvB,EAAAuD,mBAAmBC,mBAAoB,EAAAlY,0BAA0B1B,OAClE,EAAC,EAAA2Z,mBAAmBE,UAAW,EAAAnY,0BAA0BO,SACzD,EAAC,EAAA0X,mBAAmBG,UAAW,EAAApY,0BAA0BC,UACzD,EAAC,EAAAgY,mBAAmBI,SAAU,EAAArY,0BAA0BC,UACxD,EAAC,EAAAgY,mBAAmBK,SAAU,EAAAtY,0BAA0BC,UACxD,EAAC,EAAAgY,mBAAmBM,UAAW,EAAAvY,0BAA0B1B,O,GAE7D,EAAC,EAAA0Z,oBAAoB3e,UAAM,MACtB,EAAA4e,mBAAmBC,mBAAoB,EAAAlY,0BAA0BC,UAClE,EAAC,EAAAgY,mBAAmBE,UAAW,EAAAnY,0BAA0BO,SACzD,EAAC,EAAA0X,mBAAmBG,UAAW,EAAApY,0BAA0BC,UACzD,EAAC,EAAAgY,mBAAmBI,SAAU,EAAArY,0BAA0BC,UACxD,EAAC,EAAAgY,mBAAmBK,SAAU,EAAAtY,0BAA0BC,UACxD,EAAC,EAAAgY,mBAAmBM,UAAW,EAAAvY,0BAA0B1B,O,MAI3Dka,IAA8B,MAC/B,EAAAR,oBAAoBV,WAAO,MACvB,EAAAW,mBAAmBC,mBAAoB,EAAAlY,0BAA0B1B,OAClE,EAAC,EAAA2Z,mBAAmBE,UAAW,EAAAnY,0BAA0BO,SACzD,EAAC,EAAA0X,mBAAmBG,UAAW,EAAApY,0BAA0B1B,OACzD,EAAC,EAAA2Z,mBAAmBI,SAAU,EAAArY,0BAA0B1B,OACxD,EAAC,EAAA2Z,mBAAmBK,SAAU,EAAAtY,0BAA0B1B,OACxD,EAAC,EAAA2Z,mBAAmBM,UAAW,EAAAvY,0BAA0B1B,O,GAE7D,EAAC,EAAA0Z,oBAAoBtD,WAAO,MACvB,EAAAuD,mBAAmBC,mBAAoB,EAAAlY,0BAA0B1B,OAClE,EAAC,EAAA2Z,mBAAmBE,UAAW,EAAAnY,0BAA0BO,SACzD,EAAC,EAAA0X,mBAAmBG,UAAW,EAAApY,0BAA0B1B,OACzD,EAAC,EAAA2Z,mBAAmBI,SAAU,EAAArY,0BAA0B1B,OACxD,EAAC,EAAA2Z,mBAAmBK,SAAU,EAAAtY,0BAA0B1B,OACxD,EAAC,EAAA2Z,mBAAmBM,UAAW,EAAAvY,0BAA0B1B,O,GAE7D,EAAC,EAAA0Z,oBAAoB3e,UAAM,MACtB,EAAA4e,mBAAmBC,mBAAoB,EAAAlY,0BAA0BC,UAClE,EAAC,EAAAgY,mBAAmBE,UAAW,EAAAnY,0BAA0BO,SACzD,EAAC,EAAA0X,mBAAmBG,UAAW,EAAApY,0BAA0B1B,OACzD,EAAC,EAAA2Z,mBAAmBI,SAAU,EAAArY,0BAA0B1B,OACxD,EAAC,EAAA2Z,mBAAmBK,SAAU,EAAAtY,0BAA0B1B,OACxD,EAAC,EAAA2Z,mBAAmBM,UAAW,EAAAvY,0BAA0B1B,O,MAI3Dma,EAAuCvsB,EAAMC,MAAK,SAACC,G,MAOjDkB,EANIkoB,EAA6CppB,EAAK,OAA1CssB,EAAqCtsB,EAAK,mBAAnBusB,EAAS,EAAKvsB,EAA/C,iCAEAwsB,GAAkB,IAAAxW,aAAY,EAAAyW,mBAapC,OAHIvrB,EAHCkoB,EAG8C,QAAvC,GARmBkD,EAAqBX,EAAiCS,GAQlDI,UAAgB,eAAGpD,GAF1CkD,EAAqB,EAAA1Y,0BAA0BC,UAAY,EAAAF,mBAAmBvB,MAMtF,gBAAC,UAAS,GAACmC,UAAQ,GAAKgY,EAAS,CAAErrB,MAAOA,IACtC,gBAAC,UAAc,CAACkoB,OAAQA,IAGpC,IAEA,UAAeiD,C,uFC9FF,EAAAK,QAAU,SAACC,EAAmBC,GACvC,MAAO,UAAGD,EAAS,YAAIC,EAC3B,C,8BCDA,WAAgB,MAAQ,2BAA2B,cAAc,iCAAiC,OAAS,4BAA4B,SAAW,8B,oQCClJ,kBAEa,EAAAC,6BAA+B,SAACnpB,GACzC,OAAAA,EAAMopB,iBAAiBC,MAAvB,EAES,EAAAC,8BAAgC,SAACtpB,GAAqB,MAC/D,OAAuB,QAAvB,EAAAA,aAAK,EAALA,EAAOopB,wBAAgB,eAAEG,kBAAmB,UAAcxpB,OAAO,EAExD,EAAAypB,gCAAkC,SAACxpB,GAC5C,OAAAA,EAAMopB,iBAAiBK,iBAAvB,C,o7BCXJ,kBACA,cAOMC,EAA+CttB,EAAMC,MAAK,SAACC,GACrD,IAAAiD,EAASjD,EAAK,KAEtB,OAAO,gBAAC,UAAsB,CAACiD,KAAMA,GACzC,IAEA,UAAemqB,C,o7BCdf,kBAEA,WACA,cACA,cACA,WACA,cAEA,cAcM9e,EAAgB,cAEhB+e,EAA2C,UAAMttB,MAAK,SAACC,GACjD,IAAAyM,EAAsDzM,EAAK,KAArDyO,EAAgDzO,EAAK,SAA3CQ,EAAsCR,EAAK,QAAlCwD,EAA6BxD,EAAK,cAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,mCACZK,MAAO,EAAA2N,gBAAgBC,UACvBzJ,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,uDACT0X,QAAS1X,EAAE,iEAhChB,IAqCf,IAEA,UAAewsB,C,o7BCrEf,kBACA,cAEA,cACA,WACA,cAEM1tB,EAAK,UAAWC,KAAK,WAMrB4tB,EAAsD1tB,EAAMC,MAAK,SAACC,GAC5D,IAAAytB,EAAiBztB,EAAK,aAE9B,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,iDACRE,WAAY,CACRkd,aAAc,gBAAC,UAAY,CAACA,aAAcA,OAK9D,IAEA,UAAeD,C,8BC3Bf,WAAgB,MAAQ,4BAA4B,cAAgB,oCAAoC,0BAA0B,8CAA8C,sBAAsB,0CAA0C,2BAA2B,+CAA+C,cAAgB,oCAAoC,0BAA0B,8CAA8C,sBAAsB,0CAA0C,2BAA2B,+CAA+C,wBAAwB,4CAA4C,8BAA8B,kDAAkD,qCAAqC,yDAAyD,sBAAsB,0CAA0C,0BAA0B,8CAA8C,OAAS,6BAA6B,SAAW,+B,8BCA3+B,WAAgB,eAAe,mDAAmD,QAAU,8CAA8C,MAAQ,4CAA4C,OAAS,6CAA6C,SAAW,+C,w2BCD/P,kBAEA,WACA,YACA,WAMME,IAAkB,MACnB,EAAArF,gBAAgBC,SAAU,8BAC3B,EAAC,EAAAD,gBAAgB6C,SAAU,8BAC3B,EAAC,EAAA7C,gBAAgBpb,QAAS,6B,GAGxB0gB,IAAc,MACf,EAAAtF,gBAAgBC,SAAU,EAAA3U,mBAAmB9R,SAC9C,EAAC,EAAAwmB,gBAAgB6C,SAAU,EAAAvX,mBAAmB8C,UAC9C,EAAC,EAAA4R,gBAAgBpb,QAAS,EAAA0G,mBAAmB9R,S,GAG3C+rB,EAAoC9tB,EAAMC,MAAK,SAACC,GAC1C,IAAAiD,EAASjD,EAAK,KAEda,GAAM,IAAAC,kBAAgB,EAExBiG,EAAQ9D,EAAOpC,EAAE6sB,EAAmBzqB,IAAS,KAEnD,OAAK8D,EAKD,gBAAC,UAAS,CACN7F,MAAO+B,EAAO0qB,EAAe1qB,GAAQ,EAAA0Q,mBAAmB9R,SACxDlB,aAAa,eACb2T,eAAa,GAEZvN,GATE,IAYf,IAEA,UAAe6mB,C,s8CC5Cf,kBAEA,aACA,cACA,cACA,WACA,WACA,cACA,cACA,aACA,cAGA,cACA,cAEA,aAEMjuB,EAAK,UAAWC,KAAK,WAqJrBiuB,EAA4B/tB,EAAMC,MA9HP,SAA6BC,GAEtD,IAAAU,EAgBAV,EAAK,UAfL8tB,EAeA9tB,EAAK,YAdLwD,EAcAxD,EAAK,cAbL+tB,EAaA/tB,EAAK,WAZLguB,EAYAhuB,EAAK,mBAXLiuB,EAWAjuB,EAAK,iBAVLkuB,EAUAluB,EAAK,aATLmuB,EASAnuB,EAAK,gBARL8G,EAQA9G,EAAK,aAPLouB,EAOApuB,EAAK,aANL8F,EAMA9F,EAAK,eALLmC,EAKAnC,EAAK,QAJLquB,EAIAruB,EAAK,aAHL6b,EAGA7b,EAAK,KAFLsuB,EAEAtuB,EAAK,cADLuuB,EACAvuB,EAAK,eAEDa,GAAM,IAAAC,kBAAgB,EAExB,IAAoChB,EAAMuE,UAAkB,GAAM,GAAjEmqB,EAAa,KAAEC,EAAgB,KAEtC3uB,EAAMoL,WAAU,YACR1H,EAAcU,IAAMV,EAAcO,QAClC0qB,GAAiB,EAEzB,GAAG,CAACjrB,EAAcU,GAAIV,EAAcO,QAEpC,IAAM2qB,EAAiB1lB,QAAQ+kB,EAAWY,QAEpCC,EAAsB9uB,EAAM0E,SAAQ,WACtC,OAAIkqB,EACO,GAGJ5oB,GAAkB,EAC7B,GAAG,CAACA,EAAgB4oB,IAEdG,EAAsB/uB,EAAM0E,SAAQ,WACtC,OAAO,IAAIsqB,KAAgBF,aAAmB,EAAnBA,EAAqBvX,IAAIgX,KAAiB,GACzE,GAAG,CAACA,EAAcO,IAEZG,EAAcjvB,EAAM0E,SAAQ,WAC9B,OAAIkqB,KAAmBE,aAAmB,EAAnBA,EAAqB3sB,QACjCE,EAGJA,EAAQ6sB,QAAO,SAACxoB,GAAW,OAACqoB,EAAoBI,IAAIZ,EAAa7nB,GAAtC,GACtC,GAAG,CAAC6nB,EAAcQ,EAAqBH,EAAgBE,EAAqBzsB,IAEtE+sB,EAAgBN,EAAoB3sB,OAAS,GAAK8sB,EAAY9sB,OAAS,EAE7E,OACI,uBAAKvB,WAAW,aAAGf,EAAG,SAAUe,IAC5B,gBAAC,UAAK,CACFkY,KAAK,SACL3T,MAAO8oB,EACPrtB,UAAWf,EAAG,gBACd+c,eAAgB,WACZ,OAAOlZ,EAAcK,SAAW2qB,EAC5B,gBAAC,UAAiB,CAAC7sB,UAAW,EAAAC,qBAAqB+W,KAAMvC,KAAM,EAAAC,oBAE/D,gBAAC,UAAU,CAAC1U,UAAW,EAAAC,qBAAqB+W,MAEpD,EACAjT,YAAauoB,GAAoBptB,EAAE,0DACnCic,SAAUkR,EACVvoB,iBAAe,IAEnB,uBAAK/E,UAAWf,EAAG,oBAAqBwI,MAAO,CAAEgnB,UAAWrB,EAAc,UAAGA,EAAW,WAAOxnB,IAC3F,uBAAK5F,UAAWf,EAAG,SACd4uB,GACCG,GACEE,EAAoBvX,KAAI,SAAC7Q,EAAQ8Q,GAC7B,OAAOxQ,EAAaN,EAAQ8Q,EAAOuE,EACvC,KACF6S,GAAkB1lB,QAAQ4lB,aAAmB,EAAnBA,EAAqB3sB,SAAW+G,QAAQ+lB,aAAW,EAAXA,EAAa9sB,SAC7E,gCACI,uBAAKvB,UAAWf,EAAG,gBAG1BovB,aAAW,EAAXA,EAAa1X,KAAI,SAAC7Q,EAAQ8Q,GACvB,OAAOxQ,EAAaN,EAAQ8Q,EAAQsX,EAAoB3sB,OAAQ4Z,EACpE,KACEqT,GACE,gCACKV,IAAiB,aAASJ,IACvB,gCACKA,EACG,gBAAC,UAAW,GACRzb,IAAI,SACJjS,UAAWf,EAAG,WACdwM,KAAM,gBAAC,UAAa,MACpBlM,MAAOY,EAAE,gEACTuuB,YAAavuB,EACT,uEAEAstB,IAGR,gBAAC,UAAW,GACRxb,IAAI,QACJjS,UAAWf,EAAG,WACdwM,KAAM,gBAAC,UAAY,MACnBlM,MAAOY,EAAE,6DACLqtB,MAKlBM,GAAiBhrB,EAAcK,SAC7B,uBAAKnD,UAAWf,EAAG,WACf,gBAAC,UAAiB,CAACgC,UAAW,EAAAC,qBAAqB+W,KAAMvC,KAAM,EAAAC,sBAK9EiY,GAAiB,uBAAK5tB,UAAWf,EAAG,eAKzD,IAIA,UAAekuB,C,o7BCzKf,kBAGA,UACA,cACA,cAEA,cACA,cACA,WACA,aACA,cACA,WA2BMtnB,EAAgB,SAACC,GACnB,MAAO,CAACA,EAAOoS,KAAMpS,EAAO6oB,SAAShY,KAAI,SAAC4H,GAAS,OAAAA,GAAQ,EAAR,IAAYqQ,KAAK,IACxE,EA+GA,UA7GiD,SAACtvB,GAE1C,IAAAU,EAcAV,EAAK,UAbL+E,EAaA/E,EAAK,aAZLgF,EAYAhF,EAAK,aAXLiF,EAWAjF,EAAK,MAVLkF,EAUAlF,EAAK,SATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLuC,EAOAvC,EAAK,gBANLqF,EAMArF,EAAK,WALLsF,EAKAtF,EAAK,OAJLuF,EAIAvF,EAAK,QAHLwF,EAGAxF,EAAK,WAFLyF,EAEAzF,EAAK,gBADL0F,EACA1F,EAAK,YAEH2F,GAAgB,IAAAnB,UAAQ,WAC1B,OAAKO,EAIE,CACHsqB,QAAS,GACTzW,KAAM5T,GAAgB,eACtBkH,GAAInH,GANG,IAQf,GAAG,CAACC,EAAcD,IAEZe,GAAiB,IAAAtB,UAAQ,WAC3B,OAAKmB,EAIE,CAACA,GAHG,IAIf,GAAG,CAACA,IAEEI,GAAgD,IAAAC,cAAY,WAC9D,OAAO,UAAkBupB,uBAC7B,GAAG,IAEG7oB,GAA4B,IAAAC,uBAA+B,CAC7Db,eAAc,EACdC,eAAc,EACdQ,cAAa,EACbK,SAAU,CAAC,IAGTC,EAAiB,UAAMrC,SAAQ,WACjC,OAAO,aAAMkC,EAA0BvE,QAAS,KACpD,GAAG,CAACuE,EAA0BvE,UAExB2E,EAAe,SAACN,EAAkBd,GACpC,OAAI,aAAMc,GACC,wBAAC,UAAuB,CAACO,MAAOrB,GAAe,GAAIsB,eAAa,IAGpE,wBAAC,UAAuB,CAACD,MAAOR,EAAcC,IACzD,EAEMS,GAAc,IAAAjB,cAAY,WACxBT,GACAA,IAGJmB,EAA0BQ,WAE9B,GAAG,CAAC3B,EAASmB,EAA0BQ,YAEvC,OACI,wBAAC,UAAmB,CAChBxG,UAAWA,EACXyG,cAAelC,EACfS,YAAaA,EACbvD,QAASuE,EAA0BvE,QACnCkD,WAAYA,EACZH,SAAU,SAACD,GACP,IAAMuB,EAASvB,EAAQ4B,EAAe5B,GAAS,KACzC8B,EAAQP,EAASD,EAAcC,GAAU,GAE/CtB,EAASD,EAAO8B,EACpB,EACA3B,SAAUA,EACVD,WAAYA,EACZiC,cAAeV,EAA0BU,cACzCC,gBAAiB,WACb,OAAAX,EAA0BlD,cAAcK,QACpC,wBAAC,UAAiB,CAAClC,UAAW,EAAAC,qBAAqBsS,YAAakC,KAAM,EAAAC,oBACtE,IAFJ,EAIJvP,aAAcA,EACd1E,cAAe0E,EACfU,eAAgB,SAAChB,GAAW,OAAAA,aAAM,EAANA,EAAQ0F,EAAR,EAC5B1G,WAAYA,EACZF,OAAQA,EACRC,QAAS0B,EACT1E,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEC,QACIjC,EACM,WACIP,EAAS,KACb,OACAoB,GAItB,C,w9BCtJA,kBACA,WACA,WACA,aACA,cAEA,cAEM3G,EAAK,UAAWC,KAAK,WAOd,EAAA4vB,2BAAwB,MAChC,EAAAC,kBAAkBC,OAAQ,kBAC3B,EAAC,EAAAD,kBAAkBnH,SAAU,oBAC7B,EAAC,EAAAmH,kBAAkBvE,SAAU,oBAC7B,EAAC,EAAAuE,kBAAkBE,QAAS,oB,GAGhC,IAAMC,EAAuC9vB,EAAMC,MAAK,SAACC,GAC7C,IAAAga,EAAwBha,EAAK,SAAnBU,EAAcV,EAAK,UAE7Ba,GAAM,IAAAC,kBAAgB,EAE9B,OAAKkZ,EAIE,wBAAMtZ,WAAW,aAAGf,EAAG,QAASe,IAAaG,EAAE,EAAA2uB,yBAAyBxV,KAHpE,IAIf,IAEA,UAAe4V,C,8BCjCf,WAAgB,OAAS,mCAAmC,MAAQ,kCAAkC,eAAe,yCAAyC,kBAAkB,4CAA4C,OAAS,mCAAmC,SAAW,qC,mICDnR,eASa,EAAAC,gBAAkB,WAA8B,OACzD5sB,KAAM,EAAA6sB,kBADmD,EAIhD,EAAAC,eAAiB,WAA6B,OACvD9sB,KAAM,EAAA+sB,iBADiD,EAI9C,EAAAC,eAAiB,WAA6B,OACvDhtB,KAAM,EAAAitB,WADiD,C,smDCjB3D,eACA,WACA,WACA,WACA,cACA,cACA,cACA,UACA,cACA,WACA,WAEA,SAAUC,EAAuBxsB,G,sEAE7B,OADQL,EAAgBK,EAAM,aAK4B,IAAM,IAAAiJ,QAAO,EAAA6f,oBAHnE,I,OAKgE,OAF9D2D,EAAoD,SAEU,IAAM,IAAAxjB,SAAO,IAAAyjB,qBAAoB/sB,K,OACrG,OADMgtB,EAA8D,UAC/D,aAAQA,GAI8D,IAAM,IAAA1jB,SAC7E,IAAA2jB,4BAA2BjtB,KAJ3B,I,OAMJ,OAH2E,SAGlDO,QACrB,IAGJ,IAAM,IAAAiJ,MAAI,IAAA0jB,yBAAwBltB,K,cAAlC,SAMI8sB,IAAgB,EAAAxE,oBAAoB3e,OAApC,MACqB,GAAM,UAAkBwjB,mBAAmBntB,I,cAAhEotB,EAAqB,S,aAEA,SAAM,UAAkBD,sB,OAA7CC,EAAqB,S,wBAGnB,IAAyBA,EAAkB,GAA1C3sB,EAAK,KAAE4sB,EAAa,KAErBC,GAAyBD,GAAiB,IAAItZ,IAAI,WAEpDtT,EACA,IAAM,IAAA+I,MAAI,IAAA+jB,yBAAwBvtB,EAAaS,KAD/C,O,cACA,S,eAEA,UAAM,IAAA+I,MAAI,IAAAgkB,2BAA0BxtB,EAAastB,K,QAAjD,S,iCAQR,UAJA,W,kDACI,UAAM,IAAAG,eAAc,EAAAC,uBAAwBb,I,cAA5C,S,yTCtDJ,eACA,WAEMc,EAA2B,CAC7B,EAAAvxB,WAAWwxB,WACX,EAAAxxB,WAAWyxB,YACX,EAAAzxB,WAAW0nB,YACX,EAAA1nB,WAAW0xB,KAGTrO,EAAkB,CAAC,EAAArjB,WAAW2xB,YAE9B7N,EAAc,CAAC,EAAA9jB,WAAW4xB,WAgChC,UAxBiB,SAACzwB,EAAcia,EAAqBe,GACjD,IAAID,EAAM,MACH,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,IAmBzC,OAhBIe,aAAI,EAAJA,EAAM0V,cACN3V,EAAS,EAAH,KACCA,IACA,IAAA6H,eAAc5iB,EAAGowB,EAA0BnW,KAIlB,OAAhCA,EAAO,EAAApb,WAAW8xB,YAClB5V,EAAS,EAAH,SACCA,IACA,IAAA6H,eAAc5iB,EAAG2iB,EAAa1I,EAAQja,EAAE,wDACxC,IAAA4wB,kCAAiC5wB,EAAG2iB,EAAa1I,KACjD,IAAA6I,eAAc9iB,EAAG2iB,EAAa1I,EAvB5B,MA2BNc,CACX,C,8BC3CA,WAAgB,KAAO,0BAA0B,oBAAoB,uCAAuC,uBAAuB,0CAA0C,uBAAuB,0CAA0C,mBAAmB,sCAAsC,oBAAoB,uCAAuC,yBAAyB,4CAA4C,oBAAoB,uCAAuC,uBAAuB,0CAA0C,2BAA2B,8CAA8C,8BAA8B,iDAAiD,qBAAqB,wCAAwC,mBAAmB,sCAAsC,yBAAyB,4CAA4C,4BAA4B,+CAA+C,2BAA2B,8CAA8C,0BAA0B,6CAA6C,yBAAyB,4CAA4C,+BAA+B,kDAAkD,uBAAuB,0CAA0C,mBAAmB,sCAAsC,mBAAmB,sCAAsC,OAAS,4BAA4B,SAAW,8B,o7BCD18C,kBACA,cAEA,cACA,WAEA,cACA,cAEMjc,EAAK,UAAWC,KAAK,WAQrB8xB,EAAiD5xB,EAAMC,MAAK,SAACC,GACvD,IAAA2xB,EAA2C3xB,EAAK,YAAnCsD,EAA8BtD,EAAK,YAAtB4xB,EAAiB5xB,EAAK,aAExD,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,2CACRE,WAAY,CACRohB,YAAa,gBAAC,UAAW,CAACA,YAAaA,IACvCE,aACI,gBAAC,UAA0B,CACvBnxB,UAAWf,EAAG,iBACd2D,YAAaA,EACbsuB,aAAcA,OAO1C,IAEA,UAAeF,C,o7BCvCf,kBAEA,cACA,cAEA,cACA,WACA,cACA,cAOM/xB,EAAK,UAAWC,KAAK,WAErBkyB,EAA8BhyB,EAAMC,MAAK,SAACC,GACpC,IAAA+xB,EAA+B/xB,EAAK,UAAzBgyB,EAAoBhyB,EAAK,gBAE5C,OACI,uBAAKU,UAAWf,EAAG,SACf,uBAAKe,UAAWf,EAAG,UACf,gBAAC,UAAK,CAACiX,OAAQmb,EAAWjb,SAAU,EAAAC,aAAaC,OAErD,uBAAKtW,UAAWf,EAAG,UACf,gBAAC,UAAS,CAACqmB,UAAWgM,EAAiB/sB,MAAO8sB,IACzC,SAACE,GAAS,OACP,gBAAC,UAAW,CAACA,KAAMA,GACf,gBAAC,UAAK,CAACrb,OAAQob,EAAiBlb,SAAU,EAAAC,aAAaC,MAFpD,KAS/B,IAEA,UAAe8a,C,mTCtCf,eAGMI,IAAc,MACf,EAAAxyB,WAAWyyB,OAAQ,GACpB,EAAC,EAAAzyB,WAAW0yB,WAAY,GACxB,EAAC,EAAA1yB,WAAW2yB,MAAO,GACnB,EAAC,EAAA3yB,WAAW4yB,KAAM,G,GAgBtB,UAbyB,SAACC,G,MACtB,OAAKA,IAIE,EAAP,IACK,EAAA7yB,WAAWyyB,OAAQI,EAAqBJ,OAAS,GAClD,EAAC,EAAAzyB,WAAW0yB,WAAYG,EAAqBC,KAAO,GACpD,EAAC,EAAA9yB,WAAW2yB,MAAOE,EAAqBF,MAAQ,GAChD,EAAC,EAAA3yB,WAAW4yB,KAAMC,EAAqBD,KAAO,G,GAPvC,EAAP,GAAYJ,EASpB,C,8BCpBA,WAAgB,QAAU,gCAAgC,OAAS,+BAA+B,SAAW,iC,guBCD7G,kBAEA,WACA,cAIA,cACA,cAoDA,UAAe,UAAMnyB,MApCa,SAC9BC,GAEQ,IAAA4Y,EAAiC5Y,EAAK,KAAhC4O,EAA2B5O,EAAK,SAAnBusB,EAAS,EAAKvsB,EAAnC,qBAEAya,GAAS,IAAAgY,oBACTC,EAAqB,UAAMC,WAAW,WAEtC1tB,GAAQ,aAAIwV,EAAOK,OAAQlC,GAC3B7U,GAAQ,aAAI0W,EAAOmB,OAAQhD,GAE3Bga,GAAa,aAAIF,aAAkB,EAAlBA,EAAoB3Q,gBAAiBnJ,GAEtDia,EAAe,UAAMruB,SAAQ,WAC/B,MAAO,CACHoU,KAAI,EACJ3T,MAAK,EAEb,GAAG,CAAC2T,EAAM3T,IAEV,OACI,wBAAC,UAAW,GACR2T,KAAMA,EACN7U,MAAOA,EACP8X,KAAMpB,EAAOqB,aAAalD,GAC1BmD,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB4W,WAAYA,EACZE,gBAAiBJ,aAAkB,EAAlBA,EAAoBzQ,sBACjCsK,IAEH,SAACvsB,GAAU,OAAA4O,EAAS5O,EAAO6yB,EAAhB,GAGxB,G,o7BC1DA,kBACA,cACA,cACA,WACA,cACA,cACA,cAEA,cACA,cACA,cACA,WACA,cACA,cAEMlzB,EAAK,UAAWC,KAAK,WASrBmzB,EAAyCjzB,EAAMC,MAAK,SAACC,GAC/C,IAAAgzB,EAA4DhzB,EAAK,OAAzDU,EAAoDV,EAAK,UAA9CizB,EAAyCjzB,EAAK,0BAAnBgP,EAAchP,EAAK,UAEjEa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAsD,CACxD,CACIC,aAAc,WAAM,mCAAOtyB,EAAE,iDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,qBACrC0zB,OAAQ,SAACC,GAA2B,uBAAC,UAAM,CAACpnB,GAAIonB,EAAM3lB,QAAlB,EACpCjN,UAAWf,EAAG,gBAAiB,qBAC/BgB,aAAc,MAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,qDAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACC,GAA2B,uBAAC,UAAY,CAACA,MAAOA,EAAOrwB,KAAM,EAAAswB,cAAcC,QAAhD,EACpC9yB,UAAWf,EAAG,iBACdgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,sDAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACC,GAA2B,uBAAC,UAAY,CAACA,MAAOA,EAAOrwB,KAAM,EAAAswB,cAAcE,aAAhD,EACpC/yB,UAAWf,EAAG,iBACdgB,aAAc,WASlB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,mDAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACC,GAA2B,uBAAC,UAAY,CAACA,MAAOA,GAArB,EACpC5yB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,YAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,oDAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACC,GAA2B,uBAAC,UAAQ,CAACpN,KAAMoN,EAAMI,kBAAtB,EACpChzB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,SAElB,CACIwyB,aAAc,WAAM,aACpBC,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACC,GAA2B,OAChC,gBAAC,UAAoB,CACjBK,SAAUL,EAAMM,YAChBC,YAAahzB,EAAE,oDAHa,EAMpCH,UAAWf,EAAG,gBAAiB,+BAC/BgB,aAAc,gBAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,qDAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACC,GAA2B,uBAAC,UAAU,CAACA,MAAOA,GAAnB,EACpC5yB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,WAIhBmzB,EAAkB,SAACnoB,EAAyB2nB,GACzCA,EAAMpnB,IAIX+mB,EAA0BtnB,EAAO2nB,EAAMpnB,GAC3C,EAGM6nB,EAAa,SAAClY,EAAqByX,G,MACrC,OAAO,EAAP,IACK,EAAAU,iBAAiBC,qBAAqB,EACvC,EAAC,EAAAD,iBAAiBE,mBAAmB,E,CAE7C,EAEA,OACI,uBAAKxzB,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAkBw0B,UAAU,iBAAiBnlB,UAAWA,EAAW4W,KAAMoN,IAClF,SAACpN,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACFzzB,aAAa,mBACbD,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNmO,WAAYA,EACZM,YAAaP,EACb9kB,UAAWA,EACXolB,eAAgBA,GATG,IAe3C,IAEA,UAAerB,C,o7BCjIf,kBAEA,aACA,WACA,WACA,cACA,WACA,UAIMuB,EAAsCx0B,EAAMC,MAAK,WACnD,IAAMw0B,GAAW,IAAAC,eAETnxB,GAAc,eAAmB,UAEzCvD,EAAMoL,WAAU,WACP7H,EAKLkxB,GAAS,IAAAE,qBAAoBpxB,KAJzB,IAAAqxB,YAAW,kBAKnB,GAAG,CAACH,EAAUlxB,IAEd,IACMsxB,GADqB,IAAA3e,aAAY,EAAA4e,0BACGvxB,IAA4B,KAEtE,OAAO,gBAAC,UAAO,CAACwxB,gBAAiBF,aAAc,EAAdA,EAAgBG,QACrD,IAEA,UAAeR,C,07BC/Bf,kBACA,YAEA,cACA,cACA,WACA,aACA,cACA,cAGA,WAEA,cACA,WAEM30B,EAAK,UAAWC,KAAK,WAErBm1B,IAAe,MAChB,EAAAtF,kBAAkBC,OAAQ,sCAC3B,EAAC,EAAAD,kBAAkBnH,SAAU,wCAC7B,EAAC,EAAAmH,kBAAkBvE,SAAU,wCAC7B,EAAC,EAAAuE,kBAAkBE,QAAS,uC,GAG1BqF,IAAuB,MACxB,EAAAvF,kBAAkBC,OAAQ,KAC3B,EAAC,EAAAD,kBAAkBnH,SAAU,KAC7B,EAAC,EAAAmH,kBAAkBvE,SAAU,KAC7B,EAAC,EAAAuE,kBAAkBE,QAAS,wC,GAG1BsF,IAAgB,MACjB,EAAAxF,kBAAkBC,OAAQ,EAAA/b,mBAAmBuhB,eAC9C,EAAC,EAAAzF,kBAAkBnH,SAAU,EAAA3U,mBAAmBwhB,WAChD,EAAC,EAAA1F,kBAAkBvE,SAAU,EAAAvX,mBAAmByhB,WAChD,EAAC,EAAA3F,kBAAkBE,QAAS,EAAAhc,mBAAmB0hB,Y,GAW7CC,EAAwCx1B,EAAMC,MAAK,SAACC,GAC9C,IAAAU,EAA+DV,EAAK,UAAzDu1B,EAAoDv1B,EAAK,cAA1Cw1B,EAAqCx1B,EAAK,cAA3B+Z,EAAsB/Z,EAAK,KAArBqkB,EAAgBrkB,EAAK,YAEpEa,GAAM,IAAAC,kBAAgB,EAE9B,IAAKiZ,EACD,OAAO,KAGX,IAAI7Y,EAAQ,EAAAyS,mBAAmB9R,SAC3BwiB,EACAnjB,EAAQ,EAAAyS,mBAAmB0hB,aACpBtb,aAAI,EAAJA,EAAM0b,aAAc,EAAAC,uBAAuBzwB,MAClD/D,EAAQ,EAAAyS,mBAAmBvB,MACpB2H,EAAK9U,MAAQ,IAAK8U,aAAI,EAAJA,EAAM0b,aAAc,EAAAC,uBAAuBC,QACpEz0B,EAAQ,EAAAyS,mBAAmBrB,OACpByH,EAAK9U,MAAQ,IAAK8U,aAAI,EAAJA,EAAM0b,aAAc,EAAAC,uBAAuBC,UACpEz0B,EAAQ,EAAAyS,mBAAmBO,aAG/B,IAAM0hB,EAAeZ,EAAwBjb,EAAKC,UAElD,OACI,gBAAC,UAAO,CACJtZ,WAAW,aAAGf,EAAG,QAASe,GAC1BK,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACIu0B,EACI,gBAAC,UAAc,CAACrhB,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE+0B,IAEP,OAGP,WAAM,OACH,2BACI,gBAAC,UAAS,CACN10B,MAAO+zB,EAAiBlb,EAAKC,UAC7BtZ,WAAW,aAAGf,EAAG,QAAS41B,GAC1BjhB,eAAa,GAEZzT,EAAEk0B,EAAgBhb,EAAKC,YAE5B,gBAAC,UAAS,CACN9Y,MAAOA,EACPR,WAAW,aAAGf,EAAG,QAAS61B,GAC1BlhB,eAAa,EACb3T,aAAa,oBAEZoZ,aAAI,EAAJA,EAAMnB,K,KAAO,gBAAC,UAAU,CAACjG,IAAKoH,EAAKnB,KAAM3T,MAAO8U,EAAK9U,MAAO6wB,eAAgB/b,EAAK0b,aAfvF,GAqBnB,IAEA,UAAeH,C,sgDCzGf,kBAEA,aACA,cAEA,cAEA,cAIA,cAIA,cACA,WACA,cA+NS,6FA/NmB,EAAApY,6BAA6B,IACzD,kBACA,WACA,WAEMvd,EAAK,UAAWC,KAAK,WA+Bd,EAAAm2B,uBAAyB,CAClC,qBAAIC,GACA,MAAO,CACHC,SAAS,IAAAC,kBAAiB,GAAI,QAC9BC,SAAS,IAAAC,gBAAe,EAAG,QAEnC,EAEA,iBAAIC,GACA,MAAO,CACHF,SAAS,IAAAC,gBAAe,EAAG,QAEnC,EAEA,YAAIE,GACA,MAAO,CACHL,SAAS,IAAAG,gBAAe,GAAI,QAC5BD,SAAS,IAAAC,gBAAe,GAAI,QAEpC,GAIJ,IAAMG,GAAyC,IAAAx2B,OAAK,SAACC,G,MA4E7Cw2B,EAmBAC,EA7FA7d,EAgBA5Y,EAAK,KAfLuF,EAeAvF,EAAK,QAdLsF,EAcAtF,EAAK,OAbLqF,EAaArF,EAAK,WAZLm2B,EAYAn2B,EAAK,QAXLi2B,EAWAj2B,EAAK,QAVLuC,EAUAvC,EAAK,gBATLoF,EASApF,EAAK,SARLmF,EAQAnF,EAAK,WAPL02B,EAOA12B,EAAK,iBANLwF,EAMAxF,EAAK,WALL22B,EAKA32B,EAAK,aAJL42B,EAIA52B,EAAK,mBAHL62B,EAGA72B,EAAK,eAFLyF,EAEAzF,EAAK,gBADLU,EACAV,EAAK,UAEDa,GAAM,IAAAC,kBAAgB,EAExBg2B,EAAqB92B,EAAMid,QAC3Bpc,EAAE,0DACFA,EAAE,oDACF6E,EAAc1F,EAAM0F,aAAeoxB,EAEnC,IAAuB,UAAMzyB,UAAS,GAAM,GAA3C0yB,EAAM,KAAEC,EAAU,KACnBC,EAAa,UAAMtuB,OAAuB,MAE1CuuB,EAAsE,SAACjyB,EAAOkyB,GAC5En3B,EAAMid,SACNjd,EAAM8c,SAAS7X,EAAOkyB,EAE9B,EAEMC,EAAgE,SAACnyB,EAAOkyB,GAC1EH,GAAW,GAENh3B,EAAMid,SACPjd,EAAM8c,SAAS7X,EAAOkyB,GAGtB7xB,GACAA,GAER,EA4BM3E,GAAe,aAAgBi2B,EAAoB,eAoCzD,OAhCIJ,EADAx2B,EAAMid,QACe,CACjBA,SAAS,EACThY,MAAOjF,EAAMiF,MACbF,aAAc/E,EAAM+E,aACpB+X,SAAUoa,EACVG,iBAA6B,QAAX,EAAAr3B,EAAMiF,aAAK,eAAEqyB,MAGd,CACjBra,SAAS,EACThY,MAAOjF,EAAMiF,MACbF,aAAc/E,EAAM+E,aACpB+X,SAAUsa,EACVC,iBAAkBr3B,EAAMiF,OAM5BwxB,EADAz2B,EAAMid,QACgB,CAClBA,SAAS,EACThY,MAAOjF,EAAMiF,MACb6X,SAAUoa,GAGQ,CAClBja,SAAS,EACThY,MAAOjF,EAAMiF,MACb6X,SAAUsa,GAKd,+BAAK12B,WAAW,aAAGf,EAAG,YAAae,GAAU,qBAAsBC,GAC/D,+BAAKD,UAAWf,EAAG,UACf,+BAAKe,UAAWf,EAAG,WAAYqM,IAAKirB,EAAYx1B,QAjEzC,WACX4D,GAIJ2xB,GAAW,EACf,GA4DgB,wBAAC,UAAgB,KACTP,EAAmB,CACvB/1B,UAAWm2B,EACXje,KAAMA,GAAQ,aACdlT,YAAaA,EACbN,SAAUA,EACVmyB,QAxDK,SAAC5rB,GA9FZ,UA+FNA,EAAMgH,MACNqkB,GAAW,GAEP1xB,GACAA,IAGZ,EAiDoBC,QAASA,EACTJ,WAAYA,EACZE,WAAYA,EACZmyB,gBAAiBT,EACjBvxB,WAAYA,EACZmxB,aAAcA,EACdlxB,gBAAiBA,EACjBiX,eAAgB,SAACC,GAAa,OAC1B,wBAAC,UAAY,CACTvG,KAAM,EAAAC,kBACN1U,WACIgb,aAAQ,EAARA,EAAU8a,YAAY9a,aAAQ,EAARA,EAAU+a,WAC1B,EAAA91B,qBAAqBsS,YACrB,EAAAtS,qBAAqBgG,MAE/B8O,aACIiG,aAAQ,EAARA,EAAU8a,YAAY9a,aAAQ,EAARA,EAAU+a,WAC1B,EAAA91B,qBAAqB6U,UACrB,EAAA7U,qBAAqBI,OAXT,MAiBtC,wBAAC,UAAiB,CACd+0B,OAAQA,EACRh2B,SAAUwB,EACVo1B,iBAAkBV,EAAW1rB,QAC7B/K,QA7FS,WACrBw2B,GAAW,GAEP1xB,GACAA,GAER,GAyFgB,wBAAC,UAAQ,GACL6wB,QAASA,EACTF,QAASA,EACTS,iBAAkBA,GACdF,MAM5B,IAEA,UAAeD,C,iuCC/Of,kBAEA,cACA,cAEA,WACA,WACA,cACA,cACA,cAGA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,WAEM52B,EAAK,UAAWC,KAAK,WAQrBg4B,EAA8C93B,EAAMC,MAAK,SAACC,GACpD,IAAA63B,EAAsC73B,EAAK,YAA9B6W,EAAyB7W,EAAK,MAAvB83B,EAAkB93B,EAAK,cAE3Ca,GAAM,IAAAC,kBAAgB,EAExBi3B,EAAYj4B,EAAM0E,SAAQ,WAAM,WAAAwzB,eAAA,GAAgB,IAEhD,IAA8Bl4B,EAAMuE,UAAiB,IAAA4zB,cAAaphB,IAAO,GAAxEkX,EAAU,KAAEmK,EAAa,KAE1BC,EAAsBr4B,EAAMkG,aAAY,WAC1CkyB,GAAc,IAAAD,cAAaphB,IAE3BihB,EAAcjhB,EAClB,GAAG,CAACihB,EAAejhB,IAEbuhB,EAAgBt4B,EAAMkG,aAAY,WACpCkyB,GAAc,IAAAD,cAAaJ,IAE3BC,EAAc,KAClB,GAAG,CAACA,EAAeD,IAEbQ,EAAuBv4B,EAAMkG,aAAY,WAC3C,IAAMsyB,GAAmB,IAAAC,mBAAkBxK,IAAe,EAErDA,GAAcuK,IAAqBT,EAGpCC,EAAcQ,GAFdF,GAIR,GAAG,CAACN,EAAeD,EAAa9J,EAAYqK,IAE5Ct4B,EAAMoL,WAAU,WACZgtB,GAAc,IAAAD,cAAaphB,GAC/B,GAAG,CAACA,IAEJ,IAAM2hB,GAAiB,aAASX,KAAgB,aAAShhB,IAAUghB,IAAgBhhB,EAE7E4hB,EAAc34B,EAAMkG,aACtB,SAAC2F,GACOA,EAAMgH,MAAQ,EAAA+lB,QAAQC,OACtBN,IAGA1sB,EAAMgH,MAAQ,EAAA+lB,QAAQE,QACtBT,GAER,GACA,CAACE,EAAsBF,IAG3B,OACI,uBAAKz3B,UAAWf,EAAG,WAAU,qBAAqB,0BAC9C,uBAAKe,UAAWf,EAAG,eACf,gBAAC,UAAK,CACFe,UAAWf,EAAG,SACdiZ,KAAK,eACL3T,MAAO8oB,EACPjR,SAAUob,EACVW,KAAMd,EACNx3B,UAAW,EAAAu4B,iBAAiB9hB,IAC5BugB,QAASkB,EACTM,WAAS,KAGjB,uBAAKr4B,UAAWf,EAAG,aACd64B,GACG,gBAAC,UAAO,CACJz3B,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE,qDAIV,WAAM,OACH,gBAAC,UAAkB,CACfY,QAAS22B,EACT12B,SAAU,gBAAC,UAAW,CAACgV,YAAa,EAAA9U,qBAAqBC,WACzDC,gBAAiB,EAAAC,oBAAoBC,OAJtC,IASf,gBAAC,UAAkB,CACfP,QAAS02B,EACTz2B,SAAU,gBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqBkS,YACrDhS,gBAAiB,EAAAC,oBAAoBC,QAEzC,gBAAC,UAAkB,CACfP,QAAS42B,EACT32B,SAAU,gBAAC,UAAQ,CAACC,UAAW,EAAAC,qBAAqBsS,YAAakC,KAAM,EAAAC,oBACvEvU,gBAAiB,EAAAC,oBAAoBC,SAKzD,IAEA,UAAe41B,C,2+BChIf,kBACA,cACA,WAKA,WACA,cACA,WAEA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,aAKMoB,EAAgB,SAACpM,GACnB,OAAKA,GAIE,aAAOA,GAAMjT,OAPJ,UAIL,GAIf,EAMa,EAAAsf,uBAA8C,SAACp4B,EAAGq4B,G,MAC3D,IAL0B,SAACA,GAC3B,OAAOA,aAAoB,EAAAC,cAC/B,CAGSC,CAAsBF,GACvB,OAAO,KAGX,OAAQA,EAASrQ,QAAQ5lB,MACrB,KAAK,EAAAo2B,oBAAoBC,aACrB,MAAO,CACHptB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAqB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAC1E7F,KAAM3P,EAAE,8BAA+B,CACnC+E,SAAUszB,EAASrQ,QAAQpc,KAAK7G,YAI5C,KAAK,EAAAyzB,oBAAoBG,aACrB,MAAO,CACHttB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAM3P,EAAE,gCAGhB,KAAK,EAAAw4B,oBAAoBI,eACrB,MAAO,CACHvtB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAkB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBACvE7F,KAAM3P,EAAE,gCAAiC,CACrC4F,MAAOyyB,EAASrQ,QAAQpc,KAAKhG,SAIzC,KAAK,EAAA4yB,oBAAoBK,aACrB,MAAO,CACHxtB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAqB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAC1E7F,KAAM3P,EAAE,8BAA+B,CACnC+E,SAAUszB,EAASrQ,QAAQpc,KAAK7G,YAI5C,KAAK,EAAAyzB,oBAAoBM,aACrB,MAAO,CACHztB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAqB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAC1E7F,KAAM3P,EAAE,8BAA+B,CACnC4F,MAAOyyB,EAASrQ,QAAQpc,KAAKhG,SAIzC,KAAK,EAAA4yB,oBAAoBO,iBACrB,IAAMC,EAAQX,EAASrQ,QAAQpc,KAAKotB,MAAMxiB,KAAI,SAACyiB,GAC3C,OAAOj5B,EAAE,EAAAk5B,gBAAgBD,IAAOE,mBACpC,IAEMC,GAAwC,QAA3B,EAAAf,EAASrQ,QAAQpc,KAAKotB,aAAK,eAAE53B,SAAU,EAE1D,MAAO,CACHiK,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAgB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBACrE7F,KAAM3P,EAAE,mCAAoC,CACxC+E,SAAUszB,EAASrQ,QAAQpc,KAAK7G,SAChCi0B,MAAOA,EAAMvK,KAAK,MAClBzsB,YAAa,WACbD,MAAOq3B,KAInB,KAAK,EAAAZ,oBAAoBa,gBACrB,MAAO,CACHhuB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAkB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBACvE7F,KAAM3P,EAAE,iCAAkC,CACtC+E,SAAUszB,EAASrQ,QAAQpc,KAAK7G,YAI5C,KAAK,EAAAyzB,oBAAoBc,eACrB,MAAO,CACHjuB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAkB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBACvE7F,KAAM3P,EAAE,gCAAiC,CACrC+E,SAAUszB,EAASrQ,QAAQpc,KAAK7G,YAI5C,KAAK,EAAAyzB,oBAAoBe,mBACrB,MAAO,CACHluB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAgB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBACrE7F,KAAM3P,EAAE,qCAAsC,CAC1C+E,SAAUszB,EAASrQ,QAAQpc,KAAK7G,YAI5C,KAAK,EAAAyzB,oBAAoBgB,cACrB,MAAO,CACHnuB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAqB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAC1E7F,KAAM3P,EAAE,+BAAgC,CACpC+E,SAAUszB,EAASrQ,QAAQpc,KAAK7G,YAI5C,KAAK,EAAAyzB,oBAAoBiB,WACrB,MAAO,CACHpuB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAqB,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAC1E7F,KAAM3P,EAAE,4BAA6B,CACjC+E,SAAUszB,EAASrQ,QAAQpc,KAAK7G,YAI5C,KAAK,EAAAyzB,oBAAoBkB,aACrB,MAAO,CACHruB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,8BAA+B,CACnCumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBmB,6BACrB,MAAO,CACHtuB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,kCAAmC,CACvCumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBoB,6BACrB,MAAO,CACHvuB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAO,CAACxK,UAAW,EAAAC,qBAAqBgG,QAC/C4I,KAAM3P,EAAE,kDAGhB,KAAK,EAAAw4B,oBAAoBqB,4BACrB,MAAO,CACHxuB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,iCAAkC,CACtCumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBsB,8BACrB,MAAO,CACHzuB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,gDAAiD,CACrD+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAIzC,KAAK,EAAAy2B,oBAAoBuB,0BACrB,MAAO,CACH1uB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,4CAA6C,CACjDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBwB,kCACrB,IAAMC,GAAY,IAAAC,gBAAe7B,EAASrQ,QAAQpc,KAAKuuB,SAAU9B,EAASrQ,QAAQpc,KAAK+V,QAEvF,MAAO,CACHtW,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAMsqB,EACAj6B,EAAE,8DAA+D,CAC7DumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,YACnCwF,KAAMoM,EAAcE,EAASrQ,QAAQpc,KAAKuuB,YAE9Cn6B,EAAE,qDAAsD,CACpDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,YACnC4T,SAAUhC,EAAcE,EAASrQ,QAAQpc,KAAKuuB,UAC9CxY,OAAQwW,EAAcE,EAASrQ,QAAQpc,KAAK+V,WAI9D,KAAK,EAAA6W,oBAAoB4B,6BACrB,MAAO,CACH/uB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,+CAAgD,CACpD+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAIzC,KAAK,EAAAy2B,oBAAoB6B,uBACrB,MAAO,CACHhvB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,yCAA0C,CAC9Cs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvCC,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAG7E,KAAK,EAAAnC,oBAAoBoC,sBACrB,MAAO,CACHvvB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,wCAAyC,CAC7CumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBqC,uBACrB,MAAO,CACHxvB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,yCAA0C,CAC9Cs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvCC,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAG7E,KAAK,EAAAnC,oBAAoBsC,sBACrB,MAAO,CACHzvB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,wCAAyC,CAC7CumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBuC,yCACrB,MAAO,CACH1vB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAM3P,EAAE,4CAGhB,KAAK,EAAAw4B,oBAAoBwC,mCACrB,OAA2C,OAAvC3C,EAASrQ,QAAQpc,KAAKghB,aACf,CACHvhB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,oDAAqD,CACzDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAKxC,CACHlb,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,qDAAsD,CAC1DumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,YACnCqG,aAAcyL,EAASrQ,QAAQpc,KAAKghB,gBAIhD,KAAK,EAAA4L,oBAAoByC,oCACrB,OAA2C,OAAvC5C,EAASrQ,QAAQpc,KAAKghB,aACf,CACHvhB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,qDAAsD,CAC1D+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAKlC,CACHsJ,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,sDAAuD,CAC3D+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,MAC7B6qB,aAAcyL,EAASrQ,QAAQpc,KAAKghB,gBAIhD,KAAK,EAAA4L,oBAAoB0C,6BACrB,OAA2C,OAAvC7C,EAASrQ,QAAQpc,KAAKghB,aACf,CACHvhB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,+CAAgD,CACpDs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvCC,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAItE,CACHtvB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,gDAAiD,CACrDs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvC1N,aAAcyL,EAASrQ,QAAQpc,KAAKghB,aACpC2N,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAG7E,KAAK,EAAAnC,oBAAoB2C,4BACrB,OAA2C,OAAvC9C,EAASrQ,QAAQpc,KAAKghB,aACf,CACHvhB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,8CAA+C,CACnDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAKxC,CACHlb,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,+CAAgD,CACpDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,YACnCqG,aAAcyL,EAASrQ,QAAQpc,KAAKghB,gBAIhD,KAAK,EAAA4L,oBAAoB4C,+BACrB,MAAO,CACH/vB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,iDAAkD,CACtDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoB6C,gCACrB,MAAO,CACHhwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,kDAAmD,CACvD+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAIzC,KAAK,EAAAy2B,oBAAoB8C,yBACrB,MAAO,CACHjwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,4CAA6C,CACjDs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvCC,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAG7E,KAAK,EAAAnC,oBAAoB+C,wBACrB,MAAO,CACHlwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,2CAA4C,CAChDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBgD,WACrB,MAAO,CACHnwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,4BAA6B,CACjCumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBiD,2BACrB,MAAO,CACHpwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,gCAAiC,CACrCumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBkD,0BACrB,MAAO,CACHrwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,+BAAgC,CACpCumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBmD,4BACrB,MAAO,CACHtwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,8CAA+C,CACnD+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAIzC,KAAK,EAAAy2B,oBAAoBoD,wBACrB,MAAO,CACHvwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,0CAA2C,CAC/CumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBqD,gCAGrB,OAFM5B,GAAY,IAAAC,gBAAe7B,EAASrQ,QAAQpc,KAAKuuB,SAAU9B,EAASrQ,QAAQpc,KAAK+V,QAEhF,CACHtW,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAMsqB,EACAj6B,EAAE,4DAA6D,CAC3DumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,YACnCwF,KAAMoM,EAAcE,EAASrQ,QAAQpc,KAAKuuB,YAE9Cn6B,EAAE,mDAAoD,CAClDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,YACnC4T,SAAUhC,EAAcE,EAASrQ,QAAQpc,KAAKuuB,UAC9CxY,OAAQwW,EAAcE,EAASrQ,QAAQpc,KAAK+V,WAI9D,KAAK,EAAA6W,oBAAoBsD,2BACrB,MAAO,CACHzwB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,6CAA8C,CAClD+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAIzC,KAAK,EAAAy2B,oBAAoBuD,qBACrB,MAAO,CACH1wB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,uCAAwC,CAC5Cs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvCC,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAG7E,KAAK,EAAAnC,oBAAoBwD,oBACrB,MAAO,CACH3wB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,sCAAuC,CAC3CumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoByD,qBACrB,MAAO,CACH5wB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,uCAAwC,CAC5Cs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvCC,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAG7E,KAAK,EAAAnC,oBAAoB0D,oBACrB,MAAO,CACH7wB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,sCAAuC,CAC3CumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoB2D,uCACrB,MAAO,CACH9wB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAM3P,EAAE,0CAGhB,KAAK,EAAAw4B,oBAAoB4D,iCACrB,OAA2C,OAAvC/D,EAASrQ,QAAQpc,KAAKghB,aACf,CACHvhB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,kDAAmD,CACvDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAKxC,CACHlb,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,mDAAoD,CACxDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,YACnCqG,aAAcyL,EAASrQ,QAAQpc,KAAKghB,gBAIhD,KAAK,EAAA4L,oBAAoB6D,kCACrB,OAA2C,OAAvChE,EAASrQ,QAAQpc,KAAKghB,aACf,CACHvhB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,mDAAoD,CACxD+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAKlC,CACHsJ,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,oDAAqD,CACzD+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,MAC7B6qB,aAAcyL,EAASrQ,QAAQpc,KAAKghB,gBAIhD,KAAK,EAAA4L,oBAAoB8D,2BACrB,OAA2C,OAAvCjE,EAASrQ,QAAQpc,KAAKghB,aACf,CACHvhB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,6CAA8C,CAClDs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvCC,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAItE,CACHtvB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,8CAA+C,CACnDu6B,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,SAChC3N,aAAcyL,EAASrQ,QAAQpc,KAAKghB,aACpC0N,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,kBAE3C/kB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAG7E,KAAK,EAAAnC,oBAAoB+D,0BACrB,OAA2C,OAAvClE,EAASrQ,QAAQpc,KAAKghB,aACf,CACHvhB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,4CAA6C,CACjDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAKxC,CACHlb,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,6CAA8C,CAClDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,YACnCqG,aAAcyL,EAASrQ,QAAQpc,KAAKghB,gBAIhD,KAAK,EAAA4L,oBAAoBgE,6BACrB,MAAO,CACHnxB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,+CAAgD,CACpDumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBiE,8BACrB,MAAO,CACHpxB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,gDAAiD,CACrD+B,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAIzC,KAAK,EAAAy2B,oBAAoBkE,uBACrB,MAAO,CACHrxB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,0CAA2C,CAC/Cs6B,gBAAiBjC,EAASrQ,QAAQpc,KAAK0uB,gBACvCC,SAAUlC,EAASrQ,QAAQpc,KAAK2uB,WAEpChlB,KAAM,EAAAilB,cAAcC,YACpBC,OAAQ,gBAAC,UAAuB,CAACC,aAActC,EAASrQ,QAAQpc,KAAK+uB,gBAG7E,KAAK,EAAAnC,oBAAoBmE,sBACrB,MAAO,CACHtxB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,yCAA0C,CAC9CumB,YAAa8R,EAASrQ,QAAQpc,KAAK2a,eAI/C,KAAK,EAAAiS,oBAAoBoE,2BACrB,MAAO,CACHvxB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAO,CAACxK,UAAW,EAAAC,qBAAqBgG,QAC/C4I,KAAM3P,EAAE,gDAGhB,KAAK,EAAAw4B,oBAAoBqE,WACrB,MAAO,CACHxxB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAc,CAACxK,UAAW,EAAAC,qBAAqBgG,QACtD4I,KAAM3P,EAAE,8BAGhB,KAAK,EAAAw4B,oBAAoBsE,aACrB,MAAO,CACHzxB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBgG,QAClD4I,KAAM3P,EAAE,gCAGhB,KAAK,EAAAw4B,oBAAoBuE,oBACrB,MAAO,CACH1xB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAM3P,EAAE,sCAAuC,CAC3Cg9B,aAAc3E,EAASrQ,QAAQpc,KAAKoxB,gBAIhD,KAAK,EAAAxE,oBAAoByE,eACrB,MAAO,CACH5xB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAU,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QAC3E4I,KAAM3P,EAAE,iCAAkC,CACtCgC,YAAa,WACbD,MAAOs2B,EAASrQ,QAAQpc,KAAKsxB,gBAIzC,KAAK,EAAA1E,oBAAoB2E,iBACrB,MAAO,CACH9xB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAU,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QAC3E4I,KAAM3P,EAAE,mCAAoC,CACxCgC,YAAa,WACbD,MAAOs2B,EAASrQ,QAAQpc,KAAKsxB,gBAIzC,KAAK,EAAA1E,oBAAoB4E,oBACrB,MAAO,CACH/xB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBgG,QAClD4I,KAAM3P,EAAE,wCAGhB,KAAK,EAAAw4B,oBAAoB6E,mBACrB,MAAO,CACHhyB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,uCAGhB,KAAK,EAAAw4B,oBAAoB8E,qBACrB,MAAO,CACHjyB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxClD,KAAM3P,EAAE,yCAGhB,KAAK,EAAAw4B,oBAAoB+E,iBACrB,MAAO,CACHlyB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QACzE4I,KAAM3P,EAAE,kCAAmC,CACvC+X,KAAMsgB,EAASrQ,QAAQpc,KAAK4xB,oBAIxC,KAAK,EAAAhF,oBAAoBiF,iBACrB,MAAO,CACHpyB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QACzE4I,KAAM3P,EAAE,oCAGhB,KAAK,EAAAw4B,oBAAoBkF,iBACrB,MAAO,CACHryB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QACzE4I,KAAM3P,EAAE,kCAAmC,CACvC+X,KAAMsgB,EAASrQ,QAAQpc,KAAK4xB,oBAIxC,KAAK,EAAAhF,oBAAoBmF,iBACrB,MAAO,CACHtyB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAM3P,EAAE,kCAAmC,CACvC+X,KAAMsgB,EAASrQ,QAAQpc,KAAK4xB,oBAIxC,KAAK,EAAAhF,oBAAoBoF,gBACrB,MAAO,CACHvyB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAM3P,EAAE,iCAAkC,CACtC+X,KAAMsgB,EAASrQ,QAAQpc,KAAK4xB,oBAIxC,KAAK,EAAAhF,oBAAoBqF,8BACrB,MAAO,CACHxyB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QACzE4I,KAAM3P,EAAE,2CAA4C,CAChDgC,YAAa,WACbD,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAIzC,KAAK,EAAAy2B,oBAAoBsF,8BACrB,MAAO,CACHzyB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBgG,QAClD4I,KAAM3P,EAAE,2CAA4C,CAChDgC,YAAa,WACbD,MAAOs2B,EAASrQ,QAAQpc,KAAK7J,SAIzC,KAAK,EAAAy2B,oBAAoBuF,wBACrB,MAAO,CACH1yB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QACzE4I,KAAM3P,EAAE,4CAGhB,KAAK,EAAAw4B,oBAAoBwF,uBACrB,MAAO,CACH3yB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QACzE4I,KAAM3P,EAAE,2CAGhB,KAAK,EAAAw4B,oBAAoByF,uBACrB,MAAO,CACH5yB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBgG,QAClD4I,KAAM3P,EAAE,2CAGhB,KAAK,EAAAw4B,oBAAoB0F,2BACrB,MAAO,CACH7yB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBgG,QAClD4I,KAAM3P,EAAE,gDAGhB,KAAK,EAAAw4B,oBAAoB2F,2BACrB,MAAO,CACH9yB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QACzE4I,KAAM3P,EAAE,gDAGhB,KAAK,EAAAw4B,oBAAoB4F,yBACrB,MAAO,CACH/yB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBgG,QACzE4I,KAAM3P,EAAE,8CAGhB,KAAK,EAAAw4B,oBAAoB6F,iBACb,IAAAC,EAASjG,EAASrQ,QAAQpc,KAAI,KAOtC,MAAO,CACHP,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAejnB,OACtBnG,KAAM,gBAAC,UAAe,CAACxK,UAAW,EAAAC,qBAAqBgG,QACvD4I,KAAM3P,EAT8C,CACpDu+B,kCAAmC,kDACnCC,0BAA2B,2CAOTF,KAG1B,QACI,OAAO,KAIf,OAAO,IACX,EAEa,EAAAG,qBAA4C,SAACz+B,EAAGq4B,GACzD,MAAO,CACHhtB,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAe13B,SACtBsK,KAAM,gBAAC,UAAc,CAACxK,UAAW,EAAAC,qBAAqBgG,QACtD4I,KAAM3P,EAAE,yBAEhB,C,o7BChsCA,kBAEA,cACA,cACA,WACA,YAEA,cACA,cACA,cAMMlB,EAAK,UAAWC,KAAK,WAErB2/B,EAAkCz/B,EAAMC,MAAK,SAACC,GACxC,IAAAuO,EAAYvO,EAAK,QACjB6F,EAAkB0I,EAAO,OAAjBsrB,EAAUtrB,EAAO,MAEzB1N,GAAM,IAAAC,kBAAgB,EAExB0+B,IAAY35B,EAElB,OACI,uBAAKnF,UAAWf,EAAG,eACb6/B,GACE,gBAAC,UAAS,CAAC9+B,UAAWf,EAAG,QAASuB,MAAO,EAAAyS,mBAAmBK,KAAMM,eAAa,GAC1EzT,EAAE,gCAGV0N,EAAQkxB,MAAQ,gBAAC,UAAY,CAAC/+B,UAAWf,EAAG,UAC5C4O,EAAQxN,UAAY,gBAAC,UAAgB,CAACL,UAAWf,EAAG,QAASoB,SAAUwN,EAAQxN,YAC9E84B,GAAS,IAAIxiB,KAAI,SAACyiB,GAChB,OAAKA,EAAKA,KAIH,gBAAC,UAAY,CAACnnB,IAAKmnB,EAAK5tB,GAAIxL,UAAWf,EAAG,QAASm6B,KAAMA,EAAKA,OAH1D,IAIf,IAGZ,IAEA,UAAeyF,C,qBC3Cf,IAAY7/B,E,qEAAZ,SAAYA,GACR,0BACA,kBACA,cACA,gCACA,wBACA,sBACA,oBACA,0CACA,4CACA,6CACH,CAXD,CAAYA,IAAU,aAAVA,EAAU,I,sNCCT,EAAAggC,2BAA6B,SAACh8B,GACvC,OAAOA,EAAMsN,WAAW2uB,UAC5B,EAEa,EAAAC,2BAA6B,SAACl8B,GACvC,OAAOA,EAAMsN,WAAW6uB,iBAC5B,EAEa,EAAAC,qBAAuB,SAACp8B,GACjC,OAAOA,EAAMsN,WAAW+uB,QAC5B,EAEa,EAAAC,6BAA+B,SAACt8B,GACzC,OAAOA,EAAMsN,WAAWivB,mBAC5B,EAEa,EAAAC,uBAAyB,SAACx8B,GACnC,OAAOA,EAAMsN,WAAWmvB,UAC5B,C,qlBCfA,6BACI,MAAO,aAAK,UAChB,EAEA,sBAA2B5nB,G,IAAiB,wDAExC6nB,QAAQC,KAAI,MAAZD,QAAO,GAAM,kBAAW7nB,IAAS,EAAK9L,IAAI,IAEtC6zB,GACA,EAAAC,aAAaC,eAAejoB,EAAS9L,EAAM,CAAC,EAEpD,EAEA,iCAAsC8L,EAAiBkoB,G,IAAmB,wDAEtEL,QAAQC,KAAI,MAAZD,QAAO,GAAM,kBAAW7nB,IAAS,EAAK9L,IAAI,IAEtC6zB,GACA,EAAAC,aAAaC,eAAejoB,EAAS9L,EAAM,CAAEg0B,QAAO,GAE5D,EAEA,oBAAyBloB,G,IAAiB,wDAEtC6nB,QAAQC,KAAI,MAAZD,QAAO,GAAM,gBAAS7nB,IAAS,EAAK9L,IAAI,IAEpC6zB,GACA,EAAAC,aAAaG,MAAMnoB,EAAS,CAAC,EAAG9L,EAExC,EAEA,oBAAyB8L,G,IAAiB,wDAEtC6nB,QAAQO,KAAI,MAAZP,QAAO,GAAM7nB,GAAO,EAAK9L,IAAI,IAEzB6zB,GACA,EAAAC,aAAaG,MAAMnoB,EAAS,CAAC,EAAG9L,EAExC,EAEA,+BAAoC8L,EAAiBkoB,G,IAAmB,wDAEpEL,QAAQO,KAAI,MAAZP,QAAO,GAAM7nB,GAAO,EAAK9L,IAAI,IAEzB6zB,GACA,EAAAC,aAAaG,MAAMnoB,EAAS,CAAEkoB,QAAO,GAAIh0B,EAEjD,EAEA,oBAAyBm0B,EAAwB78B,EAAc88B,GAE3DT,QAAQr8B,MAAMA,GAEV88B,GAEAT,QAAQO,KAAKE,GAGbP,GACA,EAAAC,aAAaO,iBAAiB/8B,EAAO,CAAE68B,eAAc,EAAEC,UAAS,GAAI,CAAC,EAE7E,EAEA,+BAAoCD,EAAwBH,EAAmB18B,EAAc88B,GAEzFT,QAAQr8B,MAAMA,GAEV88B,GAEAT,QAAQO,KAAKE,GAGbP,GACA,EAAAC,aAAaO,iBAAiB/8B,EAAO,CAAE68B,eAAc,EAAEC,UAAS,GAAI,CAAEJ,QAAO,GAErF,EAjFA,eACA,WAGMH,EAFN,SAEgCS,aAAaC,Y,gGCAhC,EAAA/X,iBAAb,sBACY,KAAAgY,YAAgD,GAExD,KAAAC,UAAY,SAACC,GACT,EAAKF,YAAYvpB,KAAKypB,EAC1B,EAEA,KAAAC,YAAc,SAACD,GACX,EAAKF,YAAc,EAAKA,YAAYjS,QAAO,SAACqS,GAAe,OAAAA,IAAeF,CAAf,GAC/D,EAEA,KAAAG,KAAO,SAAC31B,GACJ,EAAKs1B,YAAY7kB,SAAQ,SAAC8kB,GACtBA,EAAUv1B,EACd,GACJ,CACJ,C,ypCCpBA,kBACA,WAEA,cACA,cACA,WACA,WAQA,WACA,WACA,WACA,WACA,cACA,WACA,cACA,WACA,cAIA,cAGA,cACA,WACA,cACA,WACA,WACA,cACA,cACA,WACA,cACA,WACA,WACA,aACA,WACA,WACA,WACA,WACA,UACA,aAEMhM,EAAK,UAAWC,KAAK,WAIrB2hC,EAAyCzhC,EAAMC,MAAK,WAChD,OAA6B,eAA3BsD,EAAS,YAAEC,EAAW,cAGxBqxB,GADqB,IAAA3e,aAAY,EAAA4e,0BACGvxB,IAA4B,KAE9DxC,GAAM,IAAAC,kBAAgB,EAExB0gC,GAAkB,IAAAC,sBAElBC,GAAqB,eACrBC,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1BrN,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACP5H,GAAgBD,GAIrBkxB,GAAS,IAAA9D,oBAAmBntB,IAC5BixB,GAAS,IAAAsN,gBAAex+B,MAJpB,IAAAqxB,YAAW,mEAKnB,GAAG,CAACH,EAAUjxB,EAAaD,IAE3B,IAAMy+B,EAAkChiC,EAAMkG,aAAY,WACjD1C,GAAgBD,GAIrBkxB,GAAS,IAAA9D,oBAAmBntB,IAC5BixB,GAAS,IAAAsN,gBAAex+B,EAAW,CAAE0+B,eAAe,OAJhD,IAAArN,YAAW,oEAKnB,GAAG,CAACH,EAAUjxB,EAAaD,KAC3B,aAA4By+B,GAE5B,IAAME,EAAqBliC,EAAMkG,aAAY,WACpC1C,GAAgBD,GAIrBkxB,GAAS,IAAA9D,oBAAmBntB,IAC5BixB,GAAS,IAAAsN,gBAAex+B,EAAW,CAAE0+B,eAAe,OAJhD,IAAArN,YAAW,uDAKnB,GAAG,CAACH,EAAUjxB,EAAaD,KAC3B,IAAA4+B,qBAAoB,EAAAC,2BAA4BF,IAChD,IAAAC,qBAAoB,EAAAE,6BAA8BH,GAElD,IAAMI,GAA4B,IAAApsB,cAAY,IAAAua,4BAA2BjtB,IAGnE0L,GAFe,IAAAgH,cAAY,IAAAqsB,oCAAmCh/B,IAErCQ,SAAWu+B,EAA0Bv+B,QAE9D,GAAiD,IAAAy+B,kBAAiBj/B,EAAWC,GAA3Ei/B,EAAoB,uBAAEC,EAAoB,uBAE5CC,GAAuC,IAAAj+B,UAAQ,WACjD,IAAMk+B,EAA6C,CAC/C,KACA,EAAA7W,mBAAmBK,QACnB,EAAAL,mBAAmBI,QACnB,EAAAJ,mBAAmBG,UAOvB,OAJI0V,aAAkB,EAAlBA,EAAoBiB,qBACpBD,EAAShrB,KAAK,EAAAmU,mBAAmBC,mBAG9B,IAAIgD,IAA+B4T,EAC9C,GAAG,CAAChB,IAEEkB,GAAuC,IAAAp+B,UAAQ,WACjD,IAAMk+B,EAA6C,GAMnD,OAJIhB,aAAkB,EAAlBA,EAAoBiB,qBACpBD,EAAShrB,KAAK,EAAAmU,mBAAmBC,mBAG9B,IAAIgD,IAA+B4T,EAC9C,GAAG,CAAChB,IAEEmB,GAAqC,IAAAr+B,UAAQ,WAC/C,IAAMk+B,EAAoD,GAM1D,OAJIf,aAAW,EAAXA,EAAamB,4BACbJ,EAAShrB,KAAK,EAAAqrB,0BAA0BjX,mBAGrC,IAAIgD,IAAsC4T,EACrD,GAAG,CAACf,IAEEqB,GAAqC,IAAAx+B,UAAQ,WAG/C,OAAO,IAAIsqB,IAF+C,GAG9D,GAAG,IAEGmU,GAA8BnjC,EAAM0E,SAAQ,WAC9C,OAAO+9B,aAAoB,EAApBA,EAAsBvT,QAAO,SAACkU,G,MACjC,QACKA,aAAG,EAAHA,EAAKC,gBACNV,EAAqCxT,IAAsB,QAAlB,EAAAiU,aAAG,EAAHA,EAAKC,qBAAa,eAAE/Z,OAErE,IAAGnnB,MACP,GAAG,CAACsgC,EAAsBE,IAEpBW,GAA8BtjC,EAAM0E,SAAQ,WAC9C,OAAOg+B,aAAoB,EAApBA,EAAsBxT,QAAO,SAACkU,G,MACjC,OAAON,EAAqC3T,IAAsB,QAAlB,EAAAiU,aAAG,EAAHA,EAAKC,qBAAa,eAAE/Z,OACxE,IAAGnnB,MACP,GAAG,CAACugC,EAAsBI,IAEpBS,IAAmB,IAAArtB,cAAY,IAAAstB,wBAAuBjgC,IACtDkgC,GAA6BzjC,EAAM0E,SAAQ,WAC7C,OAAO6+B,cAAgB,EAAhBA,GAAkBrU,QAAO,SAACwC,GAC7B,OAAOA,EAASpI,QAAUyZ,EAAmC5T,IAAIuC,EAASpI,OAC9E,IAAGnnB,MACP,GAAG,CAACohC,GAAkBR,IAEhBW,GAA6B1jC,EAAM0E,SAAQ,WAC7C,OAAO,CACX,GAAG,IAEGkhB,GAAa5lB,EAAM0E,SAAQ,WAC7B,IAAKnB,IAAcC,EAEf,OADA,IAAAoxB,YAAW,gDACJ,GAGX,IAAM+O,EAA+B,EAAAtb,WAAWub,yBAAyBrgC,EAAWC,GAC9EqgC,EAA+B,EAAAxb,WAAWyb,yBAAyBvgC,EAAWC,GAC9EugC,EAA8B,EAAA1b,WAAW2b,uBAAuBzgC,EAAWC,GAC3EygC,EAA8B,EAAA5b,WAAW6b,uBAAuB3gC,EAAWC,GAE3EmP,EAAoC,CACtC,CACIwxB,SAAUR,EACVvb,GAAIub,EACJS,MAAOjB,GACH,gBAAC,UAAiB,CAACrgC,MAAOqgC,GAA6B/hC,MAAO,EAAAiR,2BAA2BG,SACzF,KACJ+gB,OAAQ,WAAM,OAAAxyB,EAAE,8CAAF,EACdF,aAAc,sBAElB,CACIsjC,SAAUN,EACVzb,GAAIyb,EACJO,MAAOd,GACH,gBAAC,UAAiB,CAACxgC,MAAOwgC,GAA6BliC,MAAO,EAAAiR,2BAA2BG,SACzF,KACJ+gB,OAAQ,WAAM,OAAAxyB,EAAE,8CAAF,EACdF,aAAc,uBA4BtB,OAxBI2C,IAAgB,EAAA+kB,gBAAgBC,SAChC7V,EAAKiF,KAAK,CACNusB,SAAUJ,EACV3b,GAAI2b,EACJK,MAAOX,GACH,gBAAC,UAAiB,CAAC3gC,MAAO2gC,GAA4BriC,MAAO,EAAAiR,2BAA2BG,SACxF,KACJ+gB,OAAQ,WAAM,OAAAxyB,EAAE,+CAAF,EACdF,aAAc,sBAIlB2C,IAAgB,EAAA+kB,gBAAgB6C,SAChCzY,EAAKiF,KAAK,CACNusB,SAAUF,EACV7b,GAAI6b,EACJG,MAAOV,GACH,gBAAC,UAAiB,CAAC5gC,MAAO4gC,GAA4BtiC,MAAO,EAAAiR,2BAA2BG,SACxF,KACJ+gB,OAAQ,WAAM,OAAAxyB,EAAE,+CAAF,EACdF,aAAc,sBAIf8R,CACX,GAAG,CACCnP,EACAD,EACA4/B,GACAG,GACAG,GACAC,GACA3iC,IAoBEsjC,MAA2BxP,aAAc,EAAdA,EAAgBrJ,mBAE3C8Y,GAAiB,gBAAC,UAAc,CAAC1e,WAAYA,GAAY2e,YAnBF,SAACnc,GAC1D,UAAQxQ,KAAK,EAAD,IACJ,aAASwQ,GAAM,CAAE+b,SAAU/b,GAAOA,GAE9C,IAgCA,OAAK7kB,GAAcC,EAMf,gBAAC,UAAc,KACX,uBAAK5C,UAAWf,EAAG,SACf,uBAAKe,UAAWf,EAAG,wBACf,gBAAC,EAAA2kC,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAArc,WAAWub,yBAAyBrgC,EAAWC,IACxD,gBAAC,UAAmB,CAChB8gC,eAAgBA,GAChBjQ,UAAU,qBACVxzB,aAAa,qBACbwjC,uBAAwBA,GACxBM,kBAAgB,EAChBz1B,UAAWA,EACX4W,KAAM2c,EACNmC,6BAA8BjC,KAGtC,gBAAC,EAAA8B,MAAK,CAACC,KAAM,EAAArc,WAAWyb,yBAAyBvgC,EAAWC,IACxD,gBAAC,UAAmB,CAChB8gC,eAAgBA,GAChBjQ,UAAU,qBACVxzB,aAAa,qBACbwjC,uBAAwBA,GACxBM,kBAAgB,EAChBz1B,UAAWA,EACX4W,KAAM4c,EACNkC,6BAA8B9B,KAGtC,gBAAC,EAAA2B,MAAK,CAACC,KAAM,EAAArc,WAAW2b,uBAAuBzgC,EAAWC,IACtD,gBAAC,UAA0B,CACvB8gC,eAAgBA,GAChBjQ,UAAU,oBACVnlB,UAAWA,EACXrO,aAAa,oBACbgkC,4BAA6B9B,KAGrC,gBAAC,EAAA0B,MAAK,CAACC,KAAM,EAAArc,WAAW6b,uBAAuB3gC,EAAWC,IACtD,gBAAC,UAA0B,CACvB8gC,eAAgBA,GAChBO,4BAA6B3B,EAC7B4B,wBA7EQ,WAC3BvhC,EAILm+B,EAAgB,CACZv+B,KAAM,EAAA4hC,uBAAuBC,sBAC7BzhC,UAAS,KALT,IAAAqxB,YAAW,iDAOnB,EAqE4BqQ,6BA/Da,SAACjiB,GACtC,GAAKzf,GAAcC,EAAnB,CAKA,IAAM0hC,EAAM,EAAA7c,WAAW8c,2BAA2B,CAC9C5hC,UAAS,EACTC,YAAW,EACX4hC,WAAYpiB,IAGhB,UAAQpL,KAAKstB,EARb,MAFI,IAAAtQ,YAAW,qEAWnB,KAqDoB,gBAAC,EAAA6P,MAAK,KACF,gBAAC,EAAAY,SAAQ,CAACjd,GAAI,EAAAC,WAAWub,yBAAyBrgC,EAAWC,YAnDjF,IAAAoxB,YAAW,0DACJ,KAyDf,IAEA,UAAe6M,C,8BC9Uf,WAAgB,QAAU,gCAAgC,OAAS,+BAA+B,KAAO,6BAA6B,SAAW,iCAAiC,OAAS,+BAA+B,SAAW,iC,s7BCDrO,kBAEA,cAEA,cACA,WACA,YACA,WACA,WAWM6D,GAFK,UAAWxlC,KAAK,YAED,MACrB,EAAAylC,sBAAsBC,UAAW,EAAA1xB,0BAA0BC,UAC5D,EAAC,EAAAwxB,sBAAsBE,mBAAoB,EAAA3xB,0BAA0BC,UACrE,EAAC,EAAAwxB,sBAAsBG,iBAAkB,EAAA5xB,0BAA0B1B,OACnE,EAAC,EAAAmzB,sBAAsBI,WAAY,EAAA7xB,0BAA0B1B,OAC7D,EAAC,EAAAmzB,sBAAsBK,WAAY,EAAA9xB,0BAA0BK,QAC7D,EAAC,EAAAoxB,sBAAsBM,UAAW,EAAA/xB,0BAA0B1B,OAC5D,EAAC,EAAAmzB,sBAAsBO,SAAU,EAAAhyB,0BAA0B1B,O,GAGzD2zB,EAA0C/lC,EAAMC,MAAK,SAACC,GAChD,IAAAopB,EAAsCppB,EAAK,OAAnCsU,EAA8BtU,EAAK,cAApB8lC,EAAe9lC,EAAK,WAE3Ca,GAAM,IAAAC,kBAAgB,EAE9B,IAAKsoB,EACD,OAAO,KAGX,IAAMloB,EAAQkkC,EAAqBhc,IAAW,EAAAzV,mBAAmB9R,SAEjE,OACI,gCACI,gBAAC,UAAS,CAAC0S,UAAQ,EAACD,cAAeA,EAAepT,MAAOA,EAAOP,aAAa,uBACxEE,EAAE,EAAAklC,0BAA0B3c,KAEhC0c,GACG,gBAAC,UAAS,CAACvxB,UAAQ,EAACD,cAAeA,EAAepT,MAAOA,EAAOP,aAAa,yBACxEE,EAAE,iCAKvB,IAEA,UAAeglC,C,o7BCtDf,kBACA,WACA,cACA,cACA,cACA,cACA,WACA,YACA,WACA,WACA,UACA,WAOMlmC,EAAK,UAAWC,KAAK,WAErBomC,EAA8ClmC,EAAMC,MAAK,SAACC,GACpD,IAAAimC,EAAoBjmC,EAAK,gBAEzBa,GAAM,IAAAC,kBAAgB,EAExB2Z,GAAS,IAAAgY,oBAETyT,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,EAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YAErFo+B,GAAW,IAAAE,mBAAkB9rB,EAAOK,OAAQorB,GAC5Cj+B,GAAa,IAAAs+B,mBAAkB9rB,EAAOK,OAAQwrB,GAEpD,OACI,gBAAC,UAAa,CACVn6B,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C1P,MAAOlG,EAAE,wDACT2lC,SACI,gBAAC,UAAS,CAAC9lC,UAAWf,EAAG,iBAAkB2U,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC9E,IAAA4kC,oBAAmBx+B,aAAU,EAAVA,EAAYD,MAAOC,aAAU,EAAVA,EAAY8D,MAG3D9G,MAAOohC,aAAQ,EAARA,EAAUK,SAG7B,IAEA,UAAeV,C,o7BCrDf,kBAEA,WACA,cACA,cACA,WACA,cAEA,cAcM13B,EAAgB,YAEhBq4B,EAAyC,UAAM5mC,MAAK,SAACC,GAC/C,IAAAyM,EAAsDzM,EAAK,KAArDyO,EAAgDzO,EAAK,SAA3CQ,EAAsCR,EAAK,QAAlCwD,EAA6BxD,EAAK,cAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,mCACZK,MAAO,EAAA2N,gBAAgBC,UACvBzJ,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,oCACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,UAC9B7M,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,+CACT0X,QAAS1X,EAAE,yDAhChB,IAqCf,IAEA,UAAe8lC,C,wpCCrEf,kBACA,cACA,cACA,cACA,cACA,WAWMC,EAA4C9mC,EAAMC,MAAK,SAACC,GAClD,IAAA+f,EAAoD/f,EAAK,IAApDggB,EAA+ChgB,EAAK,IAA/CU,EAA0CV,EAAK,UAApC6mC,EAA+B7mC,EAAK,UAAzB8mC,EAAoB9mC,EAAK,QAAhB+mC,EAAW/mC,EAAK,OAEjE,OACI,gBAAC,UAAU,CAAC0d,aAAW,EAACspB,iBAAkBtmC,EAAWqf,IAAKA,EAAKC,IAAKA,EAAK9e,MAAO,EAAAqf,gBAAgB9J,YAC3F,WAAM,OACH,gCACKqwB,GAAW,gBAAC,UAAS,MAAK,IAAAG,mBAAkB,uBAC5CJ,GAAa,gBAAC,UAAW,MAAK,IAAAK,qBAAoB,uBAClDH,GAAU,gBAAC,UAAa,MAAK,IAAAI,uBAAsB,uBAJrD,GASnB,IAEA,UAAeP,C,wVC9BF,EAAAQ,gCAAkC,SAC3CC,EACAC,G,MAEIC,EAA6C,CAAC,EAE5CC,EAA2C,QAAtB,EAAAF,aAAO,EAAPA,EAASG,qBAAa,eAAEC,OAC/C,SAACC,GAAiB,OAAAA,aAAY,EAAZA,EAAcz7B,OAAOm7B,aAAgB,EAAhBA,EAAkBO,OAAvC,IAStB,OAPIP,aAAgB,EAAhBA,EAAkBO,SAAUJ,IAC5BD,EAAmB,EAAH,KACTA,GAAgB,CACnBM,gBAAiB,QAIlBN,CACX,C,8BClBA,WAAgB,QAAU,kDAAkD,OAAS,iDAAiD,SAAW,mD,6GCEpI,EAAAO,8BAAgC,SAACpkC,GAA+C,OAAAA,EAAMqkC,KAAKvkC,aAAX,C,s8CCH7F,kBACA,WAEA,cACA,cACA,WAEA,cACA,cACA,cAEA,WACA,WAOA,WAUA,WACA,UACA,cACA,WAOA,WACA,aACA,cACA,cACA,cACA,UACA,cAGA,cAIA,cAIA,cACA,cACA,cAIA,aACA,WACA,cAIA,cACA,WACA,WAEA,cACA,cAIA,cACA,cACA,cACA,WACA,WACA,WACA,cACA,WAEM7D,EAAK,UAAWC,KAAK,WAUrBooC,GAAoC,GAMpCC,GAA4BnoC,EAAMC,MAAK,SAACC,GACpC,OAA6B,eAA3BqD,EAAS,YAAEC,EAAW,cAExB4kC,IAAyCloC,EAAM60B,gBAE/CN,GAAW,IAAAC,eAEXmN,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1BuG,GAA4B,eAa5BC,EAA2EtoC,EAAMkG,aACnF,SAAC3C,EAAWglC,GACHA,EAKL9T,GAAS,IAAA+T,eAAcD,EAAWhlC,KAJ9B,IAAAqxB,YAAW,4CAKnB,GACA,CAACH,IAGCgU,GAAiC,eACjCC,IAAgC,eAChCC,IAA4B,eAC5BC,IAAmC,eAEnCC,GAAsC7oC,EAAMkG,aAC9C,SAACuI,GACQlL,GAAcC,EAInBmlC,GAA0BG,QAAQ,CAC9BtlC,YAAW,EACXD,UAAS,EACTkL,QAAS,CACL1I,OAAQ0I,EAAQ1I,OAChBg0B,MAAOtrB,EAAQsrB,MACfj0B,SAAU2I,EAAQ3I,aATtB,IAAA8uB,YAAW,wEAYnB,GACA,CAACpxB,EAAaD,EAAWolC,KAGvBI,GAAsE/oC,EAAMkG,aAC9E,SAAC,G,IAAEyG,EAAI,OAAEq8B,EAAO,WACPr8B,aAAI,EAAJA,EAAMpJ,aAIXolC,GAA0BjoC,UAC1BkoC,GAAiCE,QAAQ,EAAD,KACjCn8B,GAAI,CACPq8B,QAAO,KAEf,GACA,CAACL,GAA2BC,KAG1BK,GAA6EjpC,EAAMkG,aACrF,SAACyG,GACQA,EAAKpJ,YAGLA,EAKLkxB,GAAS,IAAAyU,gBAAev8B,EAAKq8B,QAAQjP,MAA4BptB,EAAKq8B,QAAQjjC,OAAQxC,KAJlF,IAAAqxB,YAAW,kDAKnB,GACA,CAACH,EAAUlxB,IAGT4lC,IAA4B,eAC5BC,GAAsCppC,EAAMkG,aAC9C,SAACuI,GACQlL,GAAcC,EAKnB2lC,GAA0BL,QAAQ,CAC9BtlC,YAAW,EACXD,UAAS,EACTkL,QAAS,CACL1I,OAAQ0I,EAAQ1I,OAChBg0B,MAAOtrB,EAAQsrB,MACfj0B,SAAU2I,EAAQ3I,aAVtB,IAAA8uB,YAAW,gFAanB,GACA,CAACrxB,EAAWC,EAAa2lC,KAGvBE,GAAsErpC,EAAMkG,aAC9E,SAAC,G,IAAEyG,EAAI,OAAEq8B,EAAO,WACPr8B,aAAI,EAAJA,EAAMpJ,YAIXkxB,GAAS,IAAA6U,YAAWN,EAAQjjC,OAAQ4G,EAAKpJ,WAC7C,GACA,CAACkxB,IAGC,KAAgCz0B,EAAMuE,SAAyB,EAAA4K,QAAQo6B,QAAO,GAA7EC,GAAW,MAAEC,GAAc,MAC5B,KAA8BzpC,EAAMuE,SAAiB,IAAG,GAAvDmlC,GAAU,MAAEC,GAAa,MAExB5oC,IAAM,IAAAC,kBAAgB,EAE9BhB,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAAMoV,IAAW,IAAA3zB,cAAY,IAAA4zB,uBAAsBvmC,IAC7CwmC,IAA6B,IAAA7zB,cAAY,IAAA8zB,4BAA2BzmC,IAE1EvD,EAAMoL,WAAU,WACP7H,EAKLkxB,GAAS,IAAAwV,eAAc1mC,KAJnB,IAAAqxB,YAAW,wCAKnB,GAAG,CAACH,EAAUlxB,IAEd,IAAMy+B,GAAkChiC,EAAMkG,aAAY,WACjD3C,EAILkxB,GAAS,IAAAwV,eAAc1mC,EAAW,CAAE0+B,eAAe,MAH/C,IAAArN,YAAW,qDAInB,GAAG,CAACH,EAAUlxB,KACd,aAA4By+B,IAE5B,IAAME,GAAqBliC,EAAMkG,aAAY,WACpC3C,EAILkxB,GAAS,IAAAwV,eAAc1mC,EAAW,CAAE0+B,eAAe,MAH/C,IAAArN,YAAW,wCAInB,GAAG,CAACH,EAAUlxB,KACd,IAAA4+B,qBAAoB,EAAA+H,sBAAuBhI,IAE3C,IAAMiI,GAAuBnqC,EAAMkG,aAAY,WACtC3C,EAILkxB,GAAS,IAAAwV,eAAc1mC,EAAW,CAAE0+B,eAAe,MAH/C,IAAArN,YAAW,0CAInB,GAAG,CAACH,EAAUlxB,IAERm+B,IAAkB,IAAAC,sBAElByI,IAAuB,IAAAC,kBAA6C,EAAAC,uBAAuB77B,SAC3F87B,GACFH,IAAwB,cAAeA,GAAuBA,GAAqB7B,UAAY,KAE7FiC,GAAuExqC,EAAMkG,aAC/E,SAACH,EAAQxC,GACAA,EAILkxB,GAAS,IAAAgW,aAAY1kC,EAAQxC,KAHzB,IAAAqxB,YAAW,8CAInB,GACA,CAACH,IAGCiW,IAAwB,eAExBC,IAAyB,IAAAz0B,cAAY,IAAA00B,wBAAuBrnC,IAS5DsnC,IAA4B,IAAA30B,cAAY,IAAA40B,2BAA0BvnC,IAElEwnC,GAAgC/qC,EAAMkG,aACxC,SAAC3C,EAAuBwC,GACpB0uB,GAAS,IAAAuW,cAAajlC,EAAQxC,GAClC,GACA,CAACkxB,IAGCwW,IAA4B,IAAA/0B,cAAY,IAAAg1B,2BAA0B3nC,IAsElE4nC,GAAkBnrC,EAAM0E,SAAQ,WAClC,OAAO,aAAQmlC,IAAU,SAACp7B,GAAY,OAAmBA,EAAQ28B,aAhSlD,EAAAC,eAAehf,SACvB,EAAAld,QAAQm8B,QAGZ,EAAAn8B,QAAQo6B,MA4R2B,GAC1C,GAAG,CAACM,KAEE0B,GAAoBvrC,EAAM0E,SAAQ,WACpC,OAAK8kC,GAIE2B,GAAgB3B,KAAgBtB,GAH5B2B,EAIf,GAAG,CAACsB,GAAiB3B,GAAaK,KAE5B2B,GAA4BxrC,EAAM0E,SAAQ,WAC5C,OAAQ6mC,IAAqB,IAAIrc,QAAO,SAACzgB,GACrC,IAAMg9B,EAAc,SAAC/6B,GAAkB,OAACA,GAAQ,IAAIme,OAAOqL,mBAApB,EACjCwR,EAAqBD,EAAY/B,IAGvC,QADsB+B,EAAYh9B,EAAQqb,OACxBrE,SAASimB,MAIFD,EAAYh9B,EAAQ3I,UACxB2f,SAASimB,MAIRD,EAAYh9B,EAAQ9H,OACxB8e,SAASimB,EAK/B,GACJ,GAAG,CAACH,GAAmB7B,KAgCjBx6B,GACF66B,GAA2BhmC,SAC3BknC,GAA0BlnC,SAC1B8mC,GAA0B9mC,SAC1B4mC,GAAuB5mC,SAE3B,aAAgCknC,GAA2B,CACvDxC,EACAE,GACAC,GACAO,GACAT,MAGJ,aAAgCmC,GAA2B,CAACxC,KAE5D,aAAgCsC,GAAwB,CAACD,KAEnD,UAA4D,IAAAnmC,WAAkB,GAAK,GAAlFonC,GAAyB,MAAEC,GAA4B,MAgDxDC,IAA2BzD,IAAwCvG,aAAW,EAAXA,EAAaiK,sBAEtF,OACI,gCACI,gBAAC,UAAc,KACX,gBAAC,UAAoB,CACjBC,gBAAc,EACdC,cACI,gCACI,gBAAC,UAAiB,CAAC3kC,cAAemiC,GAAapkC,SAAUqkC,KACzD,gBAAC,UAAa,CACV7jC,YAAa7E,GAAE,0CACf2oC,WAAYA,GACZuC,mBAAoBtC,MAIhCuC,eACIL,GACI,gBAAC,UAAM,CAACzqC,MAAO,EAAA2N,gBAAgB8O,QAASlc,QA3NxC,WACf4B,GAAcC,EAInBknC,GAAsB5B,QAAQ,CAC1BniC,MAAO,GACPpD,UAAS,EACTC,YAAW,KANX,IAAAoxB,YAAW,oDAQnB,GAkN6B7zB,GAAE,4CAEP,OAGXqnC,GAAwCuD,IACrC,gBAAC,UAAK,CACFt/B,KACI,gBAAC,UAAW,CACRxK,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBgG,QAG1CwO,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAejnB,OACtB9R,QAAS,WACLkrC,IAA6B,EACjC,EACAhrC,UAAWf,EAAG,UAEbkB,GAAE,+DAGVmO,IAAa,gBAAC,UAAa,MAzFb,WACvB,KAAK,IAAAk9B,2BAA0BZ,GAA2BzB,IACtD,OAAO,KAGX,GAAIA,cAA0B,EAA1BA,GAA4B9lC,MAC5B,OAAO,gBAAC,UAAU,CAACA,MAAO8lC,cAA0B,EAA1BA,GAA4B9lC,MAAOooC,QAASlC,KAGpE,OAAuD,IAAAmC,cAAa9C,GAAc,CAACA,IAAe,GAAI,CACxGE,KADI6C,EAAsB,yBAAEC,EAAwB,2BAGxD,OAAIzC,cAA0B,EAA1BA,GAA4B3lC,KAAMooC,EAE9B,gBAAC,UAAY,CACTC,SAAU,EAAAC,sBAAsBC,SAChCxsC,MAAOY,GAAE,gDACTuuB,YAAavuB,GAAE,sDACf6rC,cAAc,EACd/rC,aAAa,uCAKrBkpC,cAA0B,EAA1BA,GAA4B3lC,KAAMmoC,EAE9B,gBAAC,UAAY,CACTE,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,GAAE,0DACTuuB,YAAY,GACZzuB,aAAa,kCACb+rC,cAAc,IAMtB,gBAAC,UAAY,CACTH,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,GAAE,4CACTF,aAAa,QACb+rC,cAAc,GAG1B,CA8CaE,MACEtB,cAAyB,EAAzBA,GAA2BrpC,SAC1B,gBAAC,UAAa,CACV0nC,SAAU2B,GACVuB,aAAc3D,GACd4D,gBA7bmB,SAACv+B,IAC/BA,aAAO,EAAPA,EAASrC,KAAO7I,EAKrB8kC,EAA0BS,QAAQ,CAC9BP,UAAW95B,EAAQrC,GACnB7I,UAAS,KANT,IAAAqxB,YAAW,mEAQnB,EAoboBqY,iBAAkBpE,GAClBqE,cAnJqB,SAACz+B,GACjCA,EAAQrC,KAIR7I,EAILmlC,GAA8BI,QAAQ,CAClCP,UAAW95B,EAAQrC,GACnB7I,UAAS,KALT,IAAAqxB,YAAW,uDAOnB,EAuIoBuY,eArIsB,SAAC1+B,GAClCA,EAAQrC,KAGR7I,EAKLklC,EAA+BK,QAAQ,CACnCP,UAAW95B,EAAQrC,GACnB7I,UAAS,KANT,IAAAqxB,YAAW,wDAQnB,EAyHoBwY,kBAjPU,SAAC3+B,IACtBA,aAAO,EAAPA,EAASrC,MAGT7I,EAKLkxB,GAAS,IAAA4Y,iBAAgB5+B,EAAQrC,GAAI7I,KAJjC,IAAAqxB,YAAW,4CAKnB,EAwOoB0Y,aAvNK,SAAC3mC,GACjBpD,GAAcC,EAInBknC,GAAsB5B,QAAQ,CAC1BniC,MAAK,EACLpD,UAAS,EACTC,YAAW,KANX,IAAAoxB,YAAW,qDAQnB,EA8MoB2Y,mBAvOW,SAAC5mC,EAAeozB,GACtCx2B,EAILkxB,GACI,IAAA+Y,YACI,CACI7mC,MAAK,EACLozB,MAAOA,GAEXx2B,KATJ,IAAAqxB,YAAW,4CAYnB,EA0NoB2V,kBAAmBA,GACnBhW,YA9MI,SAAC1oB,EAAyB4C,GACzCA,EAAQrC,KAGR7I,GAAcC,EAKnBk+B,GAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,EACTC,YAAW,EACX+kC,UAAW95B,EAAQrC,MARnB,IAAAwoB,YAAW,qDAUnB,EAgMoB1lB,WAAW,EACXu+B,mBAAoB5L,EAAY4L,mBAChCC,gBAAiBtF,IAGzB,gBAAC,UAAe,CACZz7B,KAAM+9B,GAAsB/9B,KAC5BjM,QAASgqC,GAAsBhqC,QAC/BiO,SAAU+7B,GAAsB/7B,SAChC2+B,aA9Re,SAACK,GACvBpqC,EAILkxB,GAAS,IAAA+Y,YAAWG,EAASpqC,KAHzB,IAAAqxB,YAAW,4CAInB,IA0RY,gBAAC,UAAwB,CACrBjoB,KAAM87B,EAA+B97B,KACrC6gB,UAAWud,GACXrqC,QAAS+nC,EAA+B/nC,QACxCiO,SAAU85B,EAA+B95B,WAE7C,gBAAC,UAAmB,CAChBhC,KAAMg8B,GAA0Bh8B,KAChCjM,QAASioC,GAA0BjoC,QACnCusC,iBAAkBlE,KAEtB,gBAAC,UAA0B,CACvBp8B,KAAMi8B,GAAiCj8B,KACvCjM,QAASkoC,GAAiCloC,QAC1C8sB,UAAWyb,KAEf,gBAAC,UAAmB,CAChBt8B,KAAMw8B,GAA0Bx8B,KAChCjM,QAASyoC,GAA0BzoC,QACnCiO,SAAUw6B,GAA0Bx6B,SACpCD,iBAAkB26B,KAEtB,gBAAC,UAAuB,CACpB18B,KAAM+7B,GAA8B/7B,KACpCjM,QAASgoC,GAA8BhoC,QACvC8sB,UAAWgd,KAEf,gBAAC,UAAyB,CACtB79B,KAAM07B,EAA0B17B,KAChCjM,QAAS2nC,EAA0B3nC,QACnCiO,SAAU05B,EAA0B15B,SACpC6e,UAAW8a,KAK/B,IAEA,UAAeH,E,20DCvmBf,eACA,WAMA,WAUA,WACA,cACA,cACA,WACA,aACA,cACA,cAEA,cAEMyF,EAAgD,CAAC,gBAEvD,SAAUC,EAAwBhqC,G,sEAGuC,OAF7DxB,EAAYwB,EAAM,QAE2C,IAAM,IAAAiJ,QAAO,EAAAghC,mC,OAClF,OADMC,EAA+D,UAChE,aAAiBA,EAAS1rC,GAI/B,IAAM,IAAA2K,MAAI,IAAAghC,8BAHN,I,OAMA,OAHJ,SAGI,GAAM,UAAkBC,uB,cADtB,kBACF,SAA6C,IAD1ChqC,EAAK,KAAE0I,EAAI,KAGd1I,EACA,IAAM,IAAA+I,MAAI,IAAAkhC,0BAAyBjqC,KADnC,M,4BAaJ,S,WAPI,SAAM,UAAsBgqC,uB,cAD1B,kBACF,SAAiD,IAD9CE,EAAS,KAAEC,EAAQ,KAGtBD,EACA,IAAM,IAAAnhC,MAAI,IAAAkhC,0BAAyBC,KADnC,M,OAKJ,UAAM,IAAAnhC,MACF,IAAAqhC,4BAA0B,OACnB1hC,GACAyhC,M,IAKf,SAAUE,EAAyBzqC,G,kEACuC,UAAM,IAAAiJ,QACxE,EAAAyhC,oC,OAGJ,OAJsE,SAI1DxqC,QACR,IAGJ,IAAM,IAAAiJ,MAAI,IAAAwhC,+B,cAAV,SAEQC,EAAoB5qC,EAAM,gBAE5B6qC,GAAqB,aAAKD,EAAiBb,IAClB,aAAQc,GACnC,MAEI,GAAM,UAAkBC,qBAAqBD,I,cAD3C,kBACF,SAAgE,KAD7DzqC,EAAK,MAIR,IAAM,IAAA+I,MAAI,IAAA4hC,2BAA0B3qC,KADpC,M,6BAuBR,S,kBAjBM4qC,GAAyB,aAAKJ,EAAiBb,IAClB,aAAQiB,GACvC,MAEI,GAAM,UAAsBF,qBAAqBE,I,cAD/C,kBACF,SAAwE,KADrE5qC,EAAK,MAIR,IAAM,IAAA+I,MAAI,IAAA4hC,2BAA0B3qC,KADpC,M,OAOR,SAAM4pC,GADc,IAAAI,qBAAoB,CAAEhM,eAAe,M,OAGzD,OAFA,SAEA,IAAM,IAAAj1B,MAAI,IAAA8hC,iC,QAEV,OAFA,SAEA,IAAM,IAAA9hC,MAAI,IAAA+hC,eAAc,CAAE9M,eAAe,M,IAQ7C,UALA,W,kDACI,UAAM,IAAAx0B,WAAU,EAAAuhC,8BAA+BnB,I,OAC/C,OADA,SACA,IAAM,IAAApgC,WAAU,EAAAwhC,+BAAgCX,I,cAAhD,S,oKC9GJ,kBACA,cAEA,cACA,cACA,WAEMzuC,EAAK,UAAWC,KAAK,WAIrBovC,EAAmC,UAAMjvC,MAAK,WAChD,IAAMkvC,EAAkB,UAAMtc,WAAW,WACzC,OAAKsc,GAIE,IAAAC,cAAa,+BAAKxuC,UAAWf,EAAG,aAAgBsvC,GAH5C,IAIf,IAEA,UAAeD,C,8BCnBf,WAAgB,OAAS,+BAA+B,MAAQ,8BAA8B,OAAS,+BAA+B,SAAW,iC,8GCCpI,EAAAG,+BAAuE,CAChF,gBACA,uBACA,qBACA,qBACA,eACA,sBACA,iBACA,MACA,wBACA,qBACA,Q,kqDCbJ,kBACA,WAEA,cAEA,cAGA,cAEA,cACA,cACA,WACA,cACA,WACA,WACA,WACA,WAQA,aACA,WASA,cACA,cACA,cACA,cACA,cAGA,GAFA,YACA,WACA,UACA,WACA,cACA,cAEA,WACA,WACA,WACA,WACA,WACA,cACA,cAGA,cACA,WAKA,WACA,WACA,cAEMxvC,EAAK,UAAWC,KAAK,WAcrBwvC,EAA+BtvC,EAAMC,MAAK,WACpC,IAAAc,GAAM,IAAAC,kBAAgB,EAExBkL,EAAMlM,EAAM+I,YAEZ5C,GAAQ,eACRopC,GAAS,IAAAC,aACT/a,GAAW,IAAAC,eACjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAAgb,kBAAiBF,EAAOG,QACjCjb,GAAS,IAAAkb,4BACTlb,GAAS,IAAAmb,qBAEb,GAAG,CAACnb,IAEJ,IAAMob,GAA2B,IAAAhnC,QAA8B,MACzDinC,EAA8B9vC,EAAMkG,aAAY,SAACsF,GACnDqkC,EAAyBpkC,QAAUD,CACvC,GAAG,IAEGukC,GAAyB,IAAA75B,aAAY,EAAA85B,wBACrC3mB,GAAM,IAAAnT,aAAY,EAAA+5B,WAElBC,GAAoB,IAAAh6B,aAAY,EAAAi6B,yBAGhCC,GAFmB,IAAAl6B,aAAY,EAAAm6B,wBAEIjxB,OAAOiK,aAAG,EAAHA,EAAKinB,iBAAmB,KAElEC,EAAapqC,EAAM,EAAA4R,cAAcC,yBACjCw4B,EAAcrqC,EAAM,EAAA4R,cAAcI,0BAClCs4B,EAAoBtqC,EAAM,EAAA4R,cAAc24B,8BACxCC,EAAoB3wC,EAAM0E,SAAQ,WACpC,OAAO,IAAAksC,6BAA4BH,EACvC,GAAG,CAACA,IAIEI,EAAcX,GAFP,aAAaK,EAAYC,KAES,GACzCM,GAAoB9wC,EAAM0E,SAAQ,W,QAC9BqsC,IAAkB,MACnB,EAAAC,kBAAkBC,OAAQ,EAC3B,EAAC,EAAAD,kBAAkBE,OAAQ,E,GAGzBC,IAAe,MAChB,EAAAC,mBAAmBC,KAAM,EAC1B,EAAC,EAAAD,mBAAmBE,QAAS,E,GAGjC,OAAO,OAAIT,IAAW,GAAEU,MAAK,SAACC,EAAaC,GACvC,IAAMC,EAAqBF,EAAYG,cAAgBZ,EAAmBS,EAAYG,eAAiB,KACjGC,EAAqBH,EAAYE,cAAgBZ,EAAmBU,EAAYE,eAAiB,KACvG,GAAID,GAAsBE,GAAsBF,IAAuBE,EACnE,OAAOF,EAAqBE,EAGhC,IAAMC,GAAsBL,aAAW,EAAXA,EAAaM,gBACnCX,EAAgBK,EAAYM,gBAC5B,KACAC,GAAsBN,aAAW,EAAXA,EAAaK,gBACnCX,EAAgBM,EAAYK,gBAC5B,KACN,OAAID,GAAuBE,GAAuBF,IAAwBE,EAC/DF,EAAsBE,GAGzBP,EAAYz6B,OAAS,IAAM06B,EAAY16B,OAAS,EAC5D,GAEJ,GAAG,CAAC85B,IAEEmB,IAAkB,IAAA97B,aAAY,EAAA+7B,uBAC9BC,GAAkB/rC,EAAM,EAAA4R,cAAcM,2BACtC85B,GAAgBH,GAAgBE,IAAmB,KAAO,KAE1DE,GAAwBpyC,EAAMkG,aAAY,WACvCgG,EAAIT,UAIT,aAAeS,EAAIT,QAAS,CACxB4mC,KAAM,KAEd,GAAG,CAACnmC,EAAIT,UAERzL,EAAMoL,WAAU,WACZgnC,IAEJ,GAAG,CAAC7B,EAAYC,IAEhB,IAAM8B,GAAyB,SAAC77B,G,MAC5B,UAAQmB,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,EAAA4R,cAAcM,2BAA4B5B,EAAMrK,GAAE,MAG/D,EAEMmmC,GAA6B,SAACC,EAA6BC,G,QAC7D,UAAQ76B,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,EAAA4R,cAAc24B,+BAA+B,IAAAgC,8BAA4B,OACnE/B,IAAiB,OACnB6B,IAAe,aAASC,GAAkBA,OAAiBjsC,EAAS,KACvE,MAGd,EAEAxG,EAAMoL,WAAU,WACZ,IAAI0lC,cAAiB,EAAjBA,GAAmB3uC,UAAWgwC,GAAe,CAC7C,IAAMQ,EAAkB7B,GAAkB,GAC1CwB,GAAuBK,EAC3B,CAEJ,GAAG,CAAC7B,GAAmBqB,KAEvB,IAAMS,GAAmB,WACrBne,GAAS,IAAAnc,aAAYi3B,EAAOG,MAAOyC,IACvC,EAEMU,GAAiC7yC,EAAM0E,SAAQ,WACjD,OAAOyB,EAAM,EAAA4R,cAAc+6B,kCAAoC,EACnE,GAAG,CAAC3sC,IAEE4sC,IAAuB,IAAA78B,cAAY,IAAA88B,8BAA4B5C,aAAe,EAAfA,EAAiB6C,cAAe,OAC/FC,GAAiClzC,EAAM0E,SAAQ,WACjD,OAAO,IAAAyuC,4BAA2BN,GAAgCE,GACtE,GAAG,CAACF,GAAgCE,KAE9BK,GAAsBpzC,EAAMkG,aAC9B,SAACmtC,G,MACG,UAAQz7B,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,EAAA4R,cAAc+6B,iCAAkCO,EAAqB,MAGlF,GACA,CAACltC,IAQCmtC,KALyB,IAAAp9B,aAAY,EAAAq9B,+BAK5B,IAAA7uC,UAAQ,WACnB,OAAI2kB,EACOA,EAAIiqB,OAAO/7B,KAAI,SAACi8B,EAAOh8B,GAC1B,MAAO,CACHovB,QAAS4M,EAAM5M,QACfzjC,KAAMqwC,EAAMrwC,KACZqU,MAAK,EAEb,IAGG,IACX,GAAG,CAAC6R,KAEEoqB,IAAkB,IAAAC,oBAAmBvB,IAErCwB,IAAiB,IAAAC,uBAAsBzB,IACvCM,GAAiB9B,aAAiB,EAAjBA,EAAoBuB,IACrC,IAAuC,IAAA2B,iBAAgBF,GAAgBlB,IAArEqB,GAAkB,sBAAEC,GAAY,gBAElCC,IAAc,IAAAC,6BAA4BR,GAAiBP,GAAgCa,IAE3FG,GAAgC,WAClC,IAAM1oC,GAAOqkC,aAAwB,EAAxBA,EAA0BpkC,UAAW,KAC7CD,IAIL,aAAeA,EAAM,CACjB6mC,KAAM,IACN8B,MAAO,CACHpoC,IAAK,KAGjB,EAEA,OAAIwjC,EAAOG,QAAU,EAAA0E,aAAerE,EAAuBpsC,QAChD,gBAAC,EAAA0hC,SAAQ,CAACjd,GAAI,EAAAisB,cAAc7O,WAInC,uBAAK5kC,UAAWf,EAAG,SAAQ,qBAAqB,oBAC5C,gBAAC,UAAmB,KACfsyC,IACG,gBAAC,UAAmB,CAChBr7B,OAAQk9B,GACRF,mBAAoBA,GACpB98B,SAAU,EAAAC,aAAaC,IACvBo9B,cAAelC,MAI3B,gBAAC,UAA2B,CAAC37B,MAAO07B,GAAec,YAAa7C,EAAiBkD,OAAQA,MACxF,EAMD,uBAAKpnC,IAAKA,GACN,uBAAKtL,UAAWf,EAAG,WACdixC,GAAkBv5B,KAAI,SAACI,EAAY48B,GAChC,OACI,gBAAC,UAAY,CACT3zC,UAAWf,EAAG,SACd20C,cAAY,EACZ1sB,YAAYnQ,aAAU,EAAVA,EAAYvL,MAAO8lC,GAC/Br/B,KAAK8E,aAAU,EAAVA,EAAYvL,KAAMmoC,EACvB99B,MAAOkB,EACPvS,SAAUktC,GACVO,+BAAgCA,GAChC4B,2BAA4BP,GAC5BvD,kBAAmBA,EACnB+D,uBAAwBnC,GACxBnC,gBAAiBA,GAG7B,MAGP+B,IACG,gBAAC,UAAmB,CAACv0B,aAAW,EAAC+2B,QAAS,gBAAC,UAAyB,OAChE,uBAAK/zC,UAAWf,EAAG,YACf,gBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgBC,UACvBpO,UAAWf,EAAG,kBAAmB,CAC7B,wCAAwC,IAE5CsD,KAAK,SACLxB,QAASuyC,GACTrzC,aAAa,8BAEZE,EAAE,uDAEP,gBAAC,UAAO,CACJH,UAAWf,EAAG,kBAAmB,CAC7B,2BAA2B,IAE/BoB,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,aACI4wC,cAAa,EAAbA,GAAez6B,WACX,gBAAC,UAAc,CAACtW,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,mDAEP,OAGP,WAAM,OACH,gBAAC,UAAM,CACHH,UAAWf,EAAG,gBACduB,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY4sC,cAAa,EAAbA,GAAez6B,UAC3BvU,KAAK,SACLxB,QAASixC,GACT/xC,aAAa,YACbkd,iBAAe,EACfD,aAAW,GAEX,gBAAC,EAAAtN,MAAK,CACFD,QAAQ,uCACRE,WAAY,CACRqG,OAAQ,gBAAC,UAAK,CAACA,OAAQk9B,GAAah9B,SAAU,EAAAC,aAAaC,SAdpE,MAuBvB,gBAAC,UAAkB,CACf44B,4BAA6BA,EAC7B8E,qBAAsB/B,GACtBO,oBAAqBA,GACrBjB,cAAeA,GACf/B,gBAAiBA,IAIjC,IAEA,UAAed,C,iuCCnXf,kBACA,WACA,cACA,cACA,WACA,WACA,cAGA,WACA,cACA,cACA,cACA,cACA,cAcMuF,GAXK,UAAW/0C,KAAK,WAWoCE,EAAMC,MAAK,SAACC,GAC/D,IAAAqD,EAA0ErD,EAAK,UAApEklC,EAA+DllC,EAAK,WAAxD4nC,EAAmD5nC,EAAK,OAAhDQ,EAA2CR,EAAK,QAAvC40C,EAAkC50C,EAAK,WAA3B60C,EAAsB70C,EAAK,kBAE/Ea,GAAM,IAAAC,kBAAgB,EAEtB2L,GAAS,IAAAuJ,cAAY,IAAA8+B,uCAAsClN,IAAQ,KAErE,KAAsC,IAAAvjC,UAAiB,GAAE,GAAxD0wC,EAAc,KAAEC,EAAiB,MAExC,IAAA9pC,YAAU,WACN8pC,GAAkBvoC,aAAI,EAAJA,EAAMwoC,eAAgB,EAC5C,GAAG,CAACxoC,aAAI,EAAJA,EAAMwoC,eAEV,IAAMC,GAAgB,IAAA1wC,UAAQ,W,YAC1B,MAAO,CACH8uC,OACqB,QAAjB,EAAA7mC,aAAI,EAAJA,EAAM0oC,mBAAW,eAAEC,YAA6B,QAAjB,EAAA3oC,aAAI,EAAJA,EAAM0oC,mBAAW,eAAEE,WAC5C,CACIt1B,IAAsB,QAAjB,EAAAtT,aAAI,EAAJA,EAAM0oC,mBAAW,eAAEC,SACxBp1B,IAAsB,QAAjB,EAAAvT,aAAI,EAAJA,EAAM0oC,mBAAW,eAAEE,WAE5B,KACVC,SAAUP,EAElB,GAAG,CAACtoC,EAAMsoC,IAEJ,KAAgD,IAAA1wC,UAAiB,GAAE,GAAlEkxC,EAAmB,KAAEC,EAAsB,MAElD,IAAAtqC,YAAU,WACNsqC,GAAuB/oC,aAAI,EAAJA,EAAMgpC,oBAAqB,EACtD,GAAG,CAAChpC,aAAI,EAAJA,EAAMgpC,oBAEV,IAAMC,GAAqB,IAAAlxC,UAAQ,W,YAC/B,MAAO,CACH8uC,OAC0B,QAAtB,EAAA7mC,aAAI,EAAJA,EAAMkpC,wBAAgB,eAAEP,YAAkC,QAAtB,EAAA3oC,aAAI,EAAJA,EAAMkpC,wBAAgB,eAAEN,WACtD,CACIt1B,IAA2B,QAAtB,EAAAtT,aAAI,EAAJA,EAAMkpC,wBAAgB,eAAEP,SAC7Bp1B,IAA2B,QAAtB,EAAAvT,aAAI,EAAJA,EAAMkpC,wBAAgB,eAAEN,WAEjC,KACVC,SAAUC,EAElB,GAAG,CAAC9oC,EAAM8oC,IAEJK,GAAa,eACbC,EAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,EAElB,GAAG,CAACA,IAEJ,OACI,gBAAC,UAAiBE,SAAQ,CAAC7wC,MAAO4wC,GAC9B,gBAAC,UAAuB,CACpBE,gBAAiBl1C,EAAE,yCACnBm1C,eACI,gBAAC,UAAwB,KACrB,gBAAC,UAA8C,CAC3C3yC,UAAWA,EACXyf,kBAAmBoiB,EACnB+Q,sBAAuBrO,EACvBpnC,QAASA,EACTq0C,kBAAmBA,EACnBqB,uBAAwBlB,EACxBmB,4BAA6BX,EAC7BZ,WAAYA,KAIxBwB,iBAAkBv1C,EAAE,wCACpBw1C,gBACI,gBAAC,UAA6B,CAC1BnB,cAAeA,EACfQ,mBAAoBA,MAM5C,KAEA,UAAef,C,mjCCpGF,EAAA2B,wBAA0B,2CAC1B,EAAAC,8BAAgC,iDAChC,EAAAC,8BAAgC,iDAChC,EAAAC,gCAAkC,mDAElC,EAAAC,wBAA0B,2CAC1B,EAAAC,8BAAgC,iDAChC,EAAAC,8BAAgC,iDAChC,EAAAC,gCAAkC,mDAElC,EAAAC,yBAA2B,4CAC3B,EAAAC,yCAA2C,4DAC3C,EAAAC,wBAA0B,2CAC1B,EAAAC,wBAA0B,2CAC1B,EAAAC,wBAA0B,2CAC1B,EAAAC,8BAAgC,iDAChC,EAAAC,8BAAgC,iDAChC,EAAAC,gCAAkC,mDAElC,EAAAC,0BAA4B,6CAC5B,EAAAC,gCAAkC,mDAClC,EAAAC,gCAAkC,mDAClC,EAAAC,kCAAoC,qDAEpC,EAAAC,sCAAwC,yDACxC,EAAAC,4CACT,+DACS,EAAAC,4CACT,+DACS,EAAAC,8CACT,iEAES,EAAAC,uCAAyC,0DACzC,EAAAC,6CACT,gEACS,EAAAC,6CACT,gEACS,EAAAC,+CACT,kEAES,EAAAC,MAAQ,wB,o7BClDrB,kBACA,cAEA,cACA,cAIA,UACA,cACA,aAGW,UAAWt4C,KAAK,WAsC3B,UAzBuC,SAACI,GAC5B,IAAAU,EAA4EV,EAAK,UAAtEmC,EAAiEnC,EAAK,QAA7Dm4C,EAAwDn4C,EAAK,QAApDqF,EAA+CrF,EAAK,WAAxCW,EAAmCX,EAAK,aAA1BkC,EAAqBlC,EAAK,iBAEnFY,EAAmB,UAAGD,EAAY,kBACxC,OACI,wBAAC,UAAe,CACZD,UAAWA,EACXyB,QAASA,EACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,wBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTsF,MAAOoxC,EACPC,UAAW,wBAAC,UAAU,MACtBz3C,aAAcC,EACdkB,gBAAiB,EAAAC,oBAAoBC,OAPP,EAUtCqD,WAAYA,EACZnD,iBAAkBA,EAClBK,gBAAiB,EAAAC,4BAA4BC,aAGzD,C,o7BCjDA,kBAEA,aACA,cACA,cAEA,aACA,WACA,WAUM9C,EAAK,UAAWC,KAAK,WAErBy4C,EAA0Cv4C,EAAMC,MAAK,SAACC,GAChD,IAAA4sB,EAAqD5sB,EAAK,KAApDyQ,EAA+CzQ,EAAK,OAA5Cs4C,EAAuCt4C,EAAK,UAAjCU,EAA4BV,EAAK,UAAtBu4C,EAAiBv4C,EAAK,aAE1Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAI,aAAM8rB,GACC,KAIP,uBAAKlsB,WAAW,aAAGf,EAAG,OAAQ,CAAE,eAAgB8Q,EAAQ,kBAAmB6nC,IAAc53C,KACpF,IAAA83C,yBAAwB33C,EAAG+rB,EAAM,CAAE2rB,aAAY,IAG5D,IAEA,UAAeF,C,iuCCpCf,kBAGA,cACA,cACA,WAKA,cAGA,cACA,cACA,cAEM14C,EAAK,UAAWC,KAAK,WA4J3B,UA/HyC,SAACI,GAElC,IAAAU,EAeAV,EAAK,UAdLsD,EAcAtD,EAAK,YAbL8F,EAaA9F,EAAK,eAZLiF,EAYAjF,EAAK,MAXLkF,EAWAlF,EAAK,SAVLmF,EAUAnF,EAAK,WATLoF,EASApF,EAAK,SARLyF,EAQAzF,EAAK,gBAPLuC,EAOAvC,EAAK,gBANLqF,EAMArF,EAAK,WALL0F,EAKA1F,EAAK,YAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFLwF,EAEAxF,EAAK,WADLy4C,EACAz4C,EAAK,qBAEH+F,GAAgD,IAAAC,cAClD,SAACC,GACG,OAAO,UACFyyC,mBAAmBzyC,EAAO,CAAC3C,IAC3Bq1C,MAAK,SAACvrC,G,MACG,IAAkBA,EAAQ,GAAzBrJ,EAAK,KAAEoJ,EAAM,KACpB,OAAIpJ,EACO,CAACA,EAAO,MAaZ,CAAC,MATW,QAAf,EAAAoJ,aAAM,EAANA,EAAQ6R,eAAO,eAAE3H,KAAI,SAAC4H,GAClB,MAAO,CACH/S,GAAI+S,EAAK/S,GACT0M,KAAMqG,EAAKrG,KACXjL,OAAQsR,EAAKtR,OACbwjB,YAAalS,EAAKkS,YAE1B,MAAM,GAGd,GACR,GACA,CAAC7tB,IAGCs1C,GAAsB,IAAAC,wBAAgC,CACxD/yC,eAAc,EACdC,eAAc,EACda,SAAU,CAAC,IAqDTY,EAAiB,SAAChB,GAA4B,OAAAA,EAAO0F,EAAP,EAEpD,OACI,wBAAC,UAAmB,CAChBxL,UAAWA,EACXyG,cAAelC,EACfS,YAAaA,EACbvD,QAASy2C,EAAoBz2C,QAC7BkD,WAAYA,EACZH,SA3Da,SAACD,GAClB,IAAMuB,EACFoyC,EAAoBz2C,QAAQ22C,MAAK,SAACtyC,GAC9B,IAAMuyC,EAAcvxC,EAAehB,GACnC,OAAOvB,IAAU8zC,CACrB,KAAM,KAEV7zC,EAASD,EAAOuB,EACpB,EAoDQpB,SAAUA,EACVD,WAAYA,EACZiC,cAAewxC,EAAoBxxC,cACnCN,aA3Ca,SAACN,EAA6Bd,GAC/C,OAAKc,EAKD,wBAAC,UAA0B,CACvB9F,UAAWf,EAAG,UACdq5C,iBAAe,EACf7sC,KAAM3F,EAAO2qB,YAAc,wBAAC,UAAQ,CAACA,YAAa3qB,EAAO2qB,cAAkB,KAC3EpqB,MAAOP,EAAOoS,MAAQ,GACtBwW,YAAa5oB,EAAOmH,QAAU,KAT3BjI,CAYf,EA8BQtD,cA5Bc,SAACoE,EAA6Bd,GAChD,OAAKc,EAKD,wBAAC,UAA0B,CACvBwyC,iBAAe,EACf7sC,MAAM3F,aAAM,EAANA,EAAQ2qB,aAAc,wBAAC,UAAQ,CAACA,YAAa3qB,EAAO2qB,cAAkB,KAC5EpqB,OAAOP,aAAM,EAANA,EAAQoS,OAAQ,KAPpBlT,CAUf,EAiBQ8B,eAAgBA,EAChBhC,WAAYA,EACZF,OAAQA,EACRC,QAtDoC,WACpCA,GACAA,GAER,EAmDQhD,gBAAiBA,EACjByM,UAAW4pC,EAAoBp1C,cAAcK,UAAW40C,aAAoB,EAApBA,EAAsB50C,SAC9E6D,QAASjC,EA7DG,WAChBP,EAAS,KAAM,KACnB,OA2DiDoB,GAGrD,C,47CC3KA,kBACA,WAQM2yC,EAA6B,SAACj5C,GACxB,IAAA0W,EAA+B1W,EAAK,YAAvBoW,EAAkBpW,EAAK,KAAdk5C,EAAI,EAAKl5C,EAAjC,wBAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAAgB6nC,GACvF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAMkK,EACNnF,EAAE,yPAKtB,EAEA0nC,EAASnnC,YAAc,WAEvB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeknC,C,4JCjCf,IAYME,EAZN,YAY+B,QAAM/1C,cAA8C,MAEnF,UAAe+1C,C,s8CCdf,kBAEA,cACA,cAEA,cACA,cACA,WACA,WAKA,WAEA,UACA,aACA,cACA,WA0BMC,GAvBK,UAAWx5C,KAAK,WAuBV,SAACy5C,GACd,OAAKA,EAGE,UAAGA,EAAKzgC,KAAI,YAAIygC,EAAKhqB,SAFjB,EAGf,GAEMiqB,EAA8C,UAAMv5C,MAAK,SAACC,GAExD,IAAAmH,EAcAnH,EAAK,cAbLgF,EAaAhF,EAAK,aAZL0F,EAYA1F,EAAK,YAXLqF,EAWArF,EAAK,WAVLkF,EAUAlF,EAAK,SATLuC,EASAvC,EAAK,gBARLU,EAQAV,EAAK,UAPLoF,EAOApF,EAAK,SANLmF,EAMAnF,EAAK,WALLwF,EAKAxF,EAAK,WAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFL0H,EAEA1H,EAAK,QADLu5C,EACAv5C,EAAK,eAEHu0B,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAilB,iBACb,GAAG,CAACjlB,IAEJ,IAAMklB,GAAe,IAAAzjC,aAAY,EAAA0jC,4BAC3BC,GAAS,IAAA3jC,aAAY,EAAA4jC,sBACrBvrC,GAAO,IAAA2H,aAAY,EAAA6jC,oBAEnB/yC,EAAe,SAACoF,EAAaxG,GAC/B,IAAI,aAAMwG,GACN,OAAO,wBAAC,UAAuB,CAACnF,MAAOrB,GAAe,GAAIsB,eAAa,IAG3E,IAAMqyC,EAAOhrC,EAAKnC,GAClB,OAAKmtC,EAQE,wBAAC,UAAuB,CAACtyC,MAAOqyC,EAASC,KAPvCr0C,EAIE,wBAAC,UAAuB,CAAC+B,MAAO/B,IAH5B,IAOnB,EAWM,IAAoB,UAAMX,SAAiB,IAAG,GAA7C4B,EAAK,KAAE6zC,EAAQ,KAEhBC,EAAkB,UAAMv1C,SAAQ,WAClC,IAAMw1C,GAAgB,IAAAC,oBAAmBh0C,GACnCi0C,EAAoB,IAAIprB,IAAayqB,GAAkB,IAE7D,OAAOI,EAAO3qB,QAAO,SAAC9iB,GAClB,GAAIguC,EAAkBjrB,IAAI/iB,GACtB,OAAO,EAGX,IAAMmtC,EAAOhrC,EAAKnC,GAEZnF,EAAQqyC,EAASC,GAGvB,OAFsB,IAAAY,oBAAmBlzC,GAEpBwe,SAASy0B,EAClC,GACJ,GAAG,CAACL,EAAQ1zC,EAAOoI,EAAMkrC,IAEzB,OACI,wBAAC,UAAmB,CAChB74C,UAAWA,EACXyG,cAAeA,EACfzB,YAAaA,EACbvD,QAAS43C,EACT10C,WAAYo0C,EAAa51C,SAAWwB,EACpCH,SAlCa,SAACD,GAClB,IAAMo0C,EAAOhrC,EAAKpJ,GACZ8B,EAAQqyC,EAASC,GAEvBn0C,EAASD,EAAO8B,EACpB,EA8BQ3B,SAAUA,EACVD,WAAYA,EACZkC,gBAAiB,WACb,OAAAoyC,EAAa51C,QAAU,wBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAA0B,IAA/F,EAEJT,aAAcA,EACd1E,cAAe0E,EACfM,cAAe0yC,EACftyC,eA7Ce,SAAChB,GAA4B,OAAAA,CAAA,EA8C5ChB,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACThD,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEC,QAASA,GAGrB,IAEA,UAAe4xC,C,o7BCvJf,kBACA,cAEA,cAEM35C,EAAK,UAAWC,KAAK,WAUrBu6C,EAA4Cr6C,EAAMC,MAAK,SAACC,GAClD,IAAAwQ,EAAyDxQ,EAAK,KAAxD,EAAmDA,EAAK,OAAxDyQ,OAAM,IAAG,GAAK,EAAE,EAAmCzQ,EAAK,YAAxCo6C,OAAW,IAAG,GAAK,EAAE15C,EAAcV,EAAK,UAEtE,OACI,wBACIU,UAAWf,EAAG,QAASe,EAAW,CAC9B,cAAe+P,EACf,mBAAoB2pC,KAGvB5pC,EAGb,IAEA,UAAe2pC,C,o7BC9Bf,kBAEA,WACA,cACA,WACA,cASME,EAAqCv6C,EAAMC,MAAK,SAACC,GAC3C,IAAAU,EAAwDV,EAAK,UAAlDonB,EAA6CpnB,EAAK,YAArCs6C,EAAgCt6C,EAAK,QAA5Bu6C,EAAuBv6C,EAAK,mBAE7Da,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAK,CACFJ,UAAWA,EACXyL,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxC0C,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAe5gB,KACtB6hC,WAAY35C,EAAE,sEACd45C,cAAe,WACXF,EAAmBD,EACvB,GAECz5C,EAAE,sDAAuD,CACtDumB,YAAaA,GAAe,KAI5C,IAEA,UAAeizB,C,8BC1Cf,WAAgB,KAAO,wCAAwC,QAAU,2CAA2C,0BAA0B,2DAA2D,uBAAuB,wDAAwD,OAAS,0CAA0C,SAAW,4C,iuCCDtV,kBAEA,aACA,cACA,cACA,cACA,aACA,cAGA,cACA,aACA,WACA,WACA,WAEM16C,EAAK,UAAWC,KAAK,WAoBrB86C,EAAyB56C,EAAMC,MAAK,SAACC,GAEnC,IAAA26C,EAgBA36C,EAAK,SAfL46C,EAeA56C,EAAK,UAdL66C,EAcA76C,EAAK,eAbLI,EAaAJ,EAAK,eAZL86C,EAYA96C,EAAK,iBAXLO,EAWAP,EAAK,UAVL+6C,EAUA/6C,EAAK,WATLozB,EASApzB,EAAK,gBARLU,EAQAV,EAAK,UAPLgnC,EAOAhnC,EAAK,iBANL4O,EAMA5O,EAAK,SALLg7C,EAKAh7C,EAAK,sBAJLi7C,EAIAj7C,EAAK,WAHLk7C,EAGAl7C,EAAK,iBAFLm7C,EAEAn7C,EAAK,OADLo7C,EACAp7C,EAAK,cAEDa,GAAM,IAAAC,kBAAgB,EAExB,IAAsBhB,EAAMuE,WAAoB02C,GAAW,GAA1DhkB,EAAM,KAAEskB,EAAS,KAElB3oC,EAAsC5S,EAAMkG,aAC9C,SAAC2M,GACOuoC,GAAoBvoC,IAAQuoC,GAC5BG,GAAU,SAACtkB,GAAW,OAACA,CAAD,GAE9B,GACA,CAACmkB,IAQL,OANA,IAAAhoC,qBAAoBR,GAOhB,uBACIhS,WAAW,aACPf,EAAG,OAAQ,CACP,uBAAwBy7C,IAE5B16C,GACH,cACYy6C,GAEb,uBAAKz6C,WAAW,aAAGf,EAAG,UAAWyzB,GAAkB3xB,QAd5C,WACX45C,GAAU,SAACtkB,GAAW,OAACA,CAAD,GAC1B,GAaY,uBAAKr2B,UAAWf,EAAG,cACdg7C,GAAY,KACZC,GAAa,uBAAKl6C,UAAWm6C,GAAkBl7C,EAAG,UAAWi7C,GAC7DE,GACG,gBAAC,UAAO,CACJp6C,UAAWf,EAAG,WACdoB,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzDumC,KAIR,SAACnnB,GAAW,uBAAC,UAAkB,CAACA,OAAQA,GAA5B,IAGpBvzB,GAEL,uBAAKM,UAAWf,EAAG,eACdY,EACD,gBAAC,UAAO,CACJQ,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAEk2B,EAAS,2BAA6B,6BAIhD,WAAM,OACH,gBAAC,UAAkB,CACft1B,QAAS,WAET,EACAC,SAAU,gBAAC,UAAU,CAACC,UAAW,EAAAC,qBAAqBsS,YAAa6U,SAAUgO,IAC7Ej1B,gBAAiB,EAAAC,oBAAoBC,OANtC,MAYlB+0B,GACG,uBACIr2B,WAAW,aACPf,EAAG,UAAW,CACV,0BAA2Bq7C,IAE/BhU,IAGHp4B,GAGRqsC,GACG,uBACIv6C,WAAW,aACPf,EAAG,UAAW,CACV,0BAA2Bq7C,IAE/BhU,IAGHiU,GAKrB,IAEA,UAAeP,C,o7BC3Jf,kBAEA,cACA,cACA,WACA,UACA,cACA,WACA,cAEA,WACA,WAEM/6C,EAAK,UAAWC,KAAK,WAOrB07C,EAAuCx7C,EAAMC,MAAK,SAACC,GAC7C,IAAAu7C,EAAgCv7C,EAAK,iBAAnBU,EAAcV,EAAK,UAEvCu0B,GAAW,IAAAC,eAEXgnB,GAAc,IAAAxlC,aAAY,EAAAylC,oBAC1BC,GAAa,IAAA1lC,aAAY,EAAA2lC,kBAEvB96C,GAAM,IAAAC,kBAAgB,EAE9B,OACI,uBACIJ,UAAWA,EAAS,eACP,uBACbe,QAAS,SAACkK,GACNA,EAAMW,kBACNX,EAAMiwC,gBACV,GAECJ,EAAYnkC,KAAI,SAACwkC,EAASC,GACvB,IAAMC,EAAQL,EAAWG,GACzB,IAAKE,EACD,OAAO,KAGX,IAAMC,GACF,IAAA/iB,wBAAuBp4B,EAAGk7C,IAAUR,EAAiB16C,EAAGk7C,KAAU,IAAAzc,sBAAqBz+B,EAAGk7C,GAE9F,IAAKC,EACD,OAAO,KAGX,IAAMrpC,EAAMopC,EAAM7vC,IAAM4vC,EAExB,OACI,gBAAC,UAAK,CACFnpC,IAAKA,EACLspC,MAAOD,aAAc,EAAdA,EAAgBE,YACvB17C,QAAS,WACL+zB,GAAS,IAAA4nB,aAAYJ,EAAM7vC,IAC/B,IAEC,SAAC1L,GAAY,OACV,gBAAC,UAAK,CACFmS,IAAKA,EACLyD,KAAM4lC,EAAe5lC,MAAQ,EAAAilB,cAAc4Q,MAC3C9/B,KAAM6vC,EAAe7vC,KACrBjL,MAAO86C,EAAe96C,MACtBR,UAAWf,EAAG,SACda,QAASA,EACTy6C,WAAYe,EAAezgB,QAE1BygB,EAAexrC,KAVV,GAe1B,IAGZ,IAEA,UAAe8qC,C,o7BClFf,kBACA,cACA,aACA,cACA,WACA,cACA,cACA,cAGM37C,EAAK,UAAWC,KAAK,WA4K3B,UApJgD,SAACI,GACrC,IAAAU,EAA0CV,EAAK,UAApCo8C,EAA+Bp8C,EAAK,QAA3B60C,EAAsB70C,EAAK,kBAE/Ca,GAAM,IAAAC,kBAAgB,EAExBu7C,GAA2C,IAAA73C,UAC7C,WAAM,OACF,CACI2H,KAAM,KACNyM,KAAM/X,EAAE,yCACRN,UAAW,wBAAC,UAAa,CAACqsB,KAAMwvB,aAAO,EAAPA,EAASE,cACzCC,iBAAiB,EACjBxjC,WAAYlY,EAAE,wCACdF,aAAc,cACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,uCACRN,UACI,wBAAC,UAAiB,CACdqF,SAAUw2C,aAAO,EAAPA,EAAS9+B,cACnBzX,OAAQu2C,aAAO,EAAPA,EAAS/+B,YACjBo/B,SAAUL,aAAO,EAAPA,EAASM,gBACnB7H,kBAAmBA,IAG3B0H,iBAAiB,EACjBxjC,WAAYlY,EAAE,wCACdF,aAAc,eAvBhB,GA0BN,CAACy7C,EAASvH,EAAmBh0C,IAG3B87C,GAA2C,IAAAn4C,UAAQ,WACrD,OAAK43C,aAAO,EAAPA,EAASQ,cAIP,CACH,CACIzwC,KAAM,KACNyM,KAAM/X,EAAE,yCACRN,UAAW,wBAAC,UAAa,CAACqsB,KAAMwvB,aAAO,EAAPA,EAASQ,eACzCL,iBAAiB,EACjBxjC,WAAYlY,EAAE,wCACdF,aAAc,cACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,uCACRN,UACI,wBAAC,UAAiB,CACdqF,SAAUw2C,aAAO,EAAPA,EAASS,eACnBh3C,OAAQu2C,aAAO,EAAPA,EAASU,aACjBL,UAAQ,EACR5H,kBAAmBA,IAG3B0H,iBAAiB,EACjBxjC,WAAYlY,EAAE,wCACdF,aAAc,gBA1BX,EA6Bf,GAAG,CAACy7C,EAASvH,EAAmBh0C,IAE1Bk8C,GAA2C,IAAAv4C,UAAQ,WACrD,OAAK43C,aAAO,EAAPA,EAASY,aAGP,CACH,CACI7wC,KAAM,KACNyM,KAAM/X,EAAE,uCACRN,UAAW,wBAAC,UAAa,CAACqsB,KAAMwvB,aAAO,EAAPA,EAASY,cACzCT,iBAAiB,EACjBxjC,WAAYlY,EAAE,wCACdF,aAAc,cACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,qCACRN,UACI,wBAAC,UAAiB,CACdqF,SAAUw2C,aAAO,EAAPA,EAASa,cACnBp3C,OAAQu2C,aAAO,EAAPA,EAASc,YACjBT,UAAQ,EACR5H,kBAAmBA,IAG3B0H,iBAAiB,EACjBxjC,WAAYlY,EAAE,wCACdF,aAAc,gBAzBX,EA4Bf,GAAG,CAACy7C,EAASvH,EAAmBh0C,IAE1Bs8C,GAAyC,IAAA34C,UAC3C,WAAM,OACF,CACI2H,KAAM,KACNyM,KAAM/X,EAAE,qCACRN,UAAW,wBAAC,UAAa,CAACqsB,KAAMwvB,aAAO,EAAPA,EAASgB,eACzCb,iBAAiB,EACjBxjC,WAAYlY,EAAE,wCACdF,aAAc,YACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,mCACRN,UACI,wBAAC,UAAiB,CACdqF,SAAUw2C,aAAO,EAAPA,EAASiB,eACnBx3C,OAAQu2C,aAAO,EAAPA,EAASkB,aACjBb,SAAUL,aAAO,EAAPA,EAASmB,iBACnB1I,kBAAmBA,IAG3B0H,iBAAiB,EACjBxjC,WAAYlY,EAAE,wCACdF,aAAc,aAvBhB,GA0BN,CAACy7C,EAASvH,EAAmBh0C,IAGjC,OAAKu7C,EAKD,+BAAK17C,WAAW,aAAGf,EAAG,UAAWe,IAC7B,wBAAC,UAAS,CACNA,UAAWf,EAAG,QAAS,yBACvBimB,KAAMy2B,EACN17C,aAAa,iBAEjB,wBAAC,UAAS,CAACD,UAAWf,EAAG,SAAUimB,KAAM+2B,EAAoBh8C,aAAa,iBAC1E,wBAAC,UAAS,CAACD,UAAWf,EAAG,SAAUimB,KAAMm3B,EAAoBp8C,aAAa,iBAC1E,wBAAC,UAAS,CAACD,UAAWf,EAAG,SAAUimB,KAAMu3B,EAAkBx8C,aAAa,gBAZrE,IAef,C,8BCnLA,WAAgB,iBAAiB,mCAAmC,OAAS,2BAA2B,qBAAqB,uCAAuC,KAAO,yBAAyB,QAAU,4BAA4B,OAAS,2BAA2B,SAAW,6B,o7BCDzR,kBACA,cAGA,WACA,cACA,WAMM68C,EAAqC19C,EAAMC,MAAK,SAACC,GAC3C,IAAAU,EAAcV,EAAK,UAEnBqD,GAAc,eAAmB,UAEnCo6C,GAAgB,IAAAznC,cAAY,IAAA0nC,qBAAoBr6C,IACtD,OAAKo6C,IAAkBA,aAAa,EAAbA,EAAeE,kBAIlC,gBAAC,UAAiB,CACdj9C,UAAWA,EACXkC,MAAO66C,aAAa,EAAbA,EAAeE,iBACtBz8C,MAAO,EAAAiR,2BAA2BtQ,WAN/B,IASf,IAEA,UAAe27C,C,8BC7Bf,WAAgB,OAAS,6CAA6C,SAAW,+C,sHCDjF,cAEa,EAAAI,qCAAuC,IAAI,EAAA30B,gB,o7BCFxD,kBAEA,WACA,WACA,cACA,cACA,cAEA,cACA,WAgBM3a,EAAgB,gCAEhBuvC,EAAiD/9C,EAAMC,MAAK,SAACC,GACvD,IAAA4Y,EAA8C5Y,EAAK,KAA7CyM,EAAwCzM,EAAK,KAAvCQ,EAAkCR,EAAK,QAA9BstB,EAAyBttB,EAAK,UAAnBgP,EAAchP,EAAK,UACnDa,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,gBAAC,UAAK,KACF,gBAAC,UAAY,CAACjM,QAASA,GACnB,gBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY2J,EACZvN,QAAS,WACLjB,GACJ,GAEJ,CACIoO,SAAU/N,EAAE,sCACZK,MAAO,EAAA2N,gBAAgB8O,QACvBhd,aAAc,UAAG2N,EAAa,OAC9BU,UAAS,EACT3J,WAAY2J,EACZvN,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,gBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBsS,cACvDjU,MAAOY,EAAE,+CACT0X,QAAS1X,EAAE,oDAAqD,CAC5Dk9C,SAAUnlC,QAjCnB,IAuCf,IAEA,UAAeilC,C,w3BCzEf,kBACA,WAIMG,EAAoC,WACtC,OACI,uBAAKx8C,MAAO,GAAIsK,OAAQ,GAAIuF,QAAQ,aAChC,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,0BAAQ3R,GAAI,GAAI8qB,GAAI,GAAIwzB,EAAG,GAAIzxC,KAAM,EAAA5K,qBAAqBs8C,cAC1D,wBACI1xC,KAAK,OACL8E,SAAS,UACTC,EAAE,sfAKtB,EAEAysC,EAAgBlsC,YAAc,kBAIrB,EAAAC,WAFkB,CAAC,EAG5B,UAAeisC,C,s7BCzBf,kBAEA,cACA,cAIA,UACA,WACA,cACA,cACA,aACA,WAUMG,IAAW,MACZ,EAAAlvC,QAAQm8B,SAAU,mCACnB,EAAC,EAAAn8B,QAAQo6B,QAAS,kC,GAmEtB,UAhE4C,SAACrpC,GACjC,IAAAmH,EAAuCnH,EAAK,cAA7BkF,EAAwBlF,EAAK,SAAnBU,EAAcV,EAAK,UAE5Ca,GAAM,IAAAC,kBAAgB,EAExBs9C,EAAqB,UAAMp4C,aAC7B,SAACf,GACGC,EAASD,EACb,GACA,CAACC,IAGC/C,EAA6D,UAAMqC,SACrE,WAAM,OACF,CACIuC,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,WAAYzgB,IAAkB,EAAA8H,QAAQo6B,OACtCtiC,MAAOlG,EAAEs9C,EAAY,EAAAlvC,QAAQo6B,WAGrCnkC,SAAU,WAAM,OAAAk5C,EAAmB,EAAAnvC,QAAQo6B,OAA3B,GAEpB,CACItiC,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,WAAYzgB,IAAkB,EAAA8H,QAAQm8B,QACtCrkC,MAAOlG,EAAEs9C,EAAY,EAAAlvC,QAAQm8B,YAGrClmC,SAAU,WAAM,OAAAk5C,EAAmB,EAAAnvC,QAAQm8B,QAA3B,GAnBlB,GAsBN,CAACvqC,EAAGsG,EAAei3C,IAGjBE,EAAc,UAAM95C,SAAQ,WAC9B,OAAK2C,EAIE,wBAAC,UAA2B,CAACJ,MAAOlG,EAAEs9C,EAAYh3C,MAH9C,wBAAC,UAA2B,CAACJ,MAAM,KAIlD,GAAG,CAACI,EAAetG,IAEnB,OACI,wBAAC,UAAe,CACZH,UAAWA,EACXyB,QAASA,EACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,wBAAC,UAAkB,CACfsF,MAAOu3C,EACPh8C,UAAWD,EACXZ,QAASA,EACTK,gBAAiB,EAAAC,oBAAoBC,MACrCo2C,UAAW,wBAAC,UAAU,OANQ,EAStC71C,gBAAiB,EAAAC,4BAA4BiF,YAGzD,C,oLCzFA,eAYa,EAAAiiC,mBAAqB,WAAiC,OAC/DzmC,KAAM,EAAAs7C,uBADyD,EAItD,EAAAC,wBAA0B,WAAsC,OACzEv7C,KAAM,EAAAw7C,6BADmE,EAIhE,EAAAC,0BAA4B,SAACC,GAAoE,OAC1G17C,KAAM,EAAA27C,+BACND,cAAa,EAF6F,EAKjG,EAAAE,wBAA0B,SAAC96C,GAAiD,OACrFd,KAAM,EAAA67C,6BACN/6C,MAAK,EAFgF,C,8BCxBzF,WAAgB,KAAO,2BAA2B,OAAS,6BAA6B,SAAW,+B,8BCAnG,WAAgB,cAAgB,mCAAmC,wBAAwB,2CAA2C,wBAAwB,2CAA2C,iCAAiC,oDAAoD,cAAgB,mCAAmC,wBAAwB,2CAA2C,6BAA6B,gDAAgD,wBAAwB,2CAA2C,iCAAiC,oDAAoD,wBAAwB,2CAA2C,wBAAwB,2CAA2C,OAAS,4BAA4B,SAAW,8B,o7BCD/yB,kBAEA,aACA,cACA,cAOMpE,EAAK,UAAWC,KAAK,WAErBm/C,EAA2Bj/C,EAAMC,MAAK,SAACC,GACjC,MAAyBA,EAAK,KAA9BoW,OAAI,IAAG,KAAE,EAAE1V,EAAcV,EAAK,UAEtC,OACI,uBACIU,WAAW,aAAGf,EAAG,UAAWe,GAC5ByH,MAAO,CACH3G,MAAO,UAAG4U,EAAI,MACdtK,OAAQ,UAAGsK,EAAI,QAI/B,IAEA,UAAe2oC,C,8RCzBf,eACA,aACA,WAEa,EAAAC,qBAAuB,SAACt7C,GACjC,OAAOA,EAAMkD,SAAS6yC,YAC1B,EAEa,EAAAwF,sBAAwB,SAACv7C,G,QAC5BuB,EAA4C,QAApC,EAAmB,QAAnB,EAAAvB,EAAMkD,SAAS6F,YAAI,eAAEyyC,uBAAe,eAAEj6C,MACpD,IAAI,aAAMA,GACN,OAAO,EAAAk6C,WAGX,IAAMC,GAAc,IAAA7mB,mBAAkBtzB,GACtC,OAAIm6C,EACOA,EAAc,EAAAC,UAGlB,EAAAF,UACX,EAEa,EAAAG,sBAAwB,SAAC57C,G,QAC5BuB,EAA4C,QAApC,EAAmB,QAAnB,EAAAvB,EAAMkD,SAAS6F,YAAI,eAAE8yC,uBAAe,eAAEt6C,MACpD,IAAI,aAAMA,GACN,OAAO,EAAAk6C,WAGX,IAAMC,GAAc,IAAA7mB,mBAAkBtzB,GACtC,OAAIm6C,EACOA,EAAc,EAAAC,UAGlB,EAAAF,UACX,EAEa,EAAAK,sBAAwB,SAAC97C,G,QAC5BuB,EAAmD,QAA3C,EAAmB,QAAnB,EAAAvB,EAAMkD,SAAS6F,YAAI,eAAEgzC,8BAAsB,eAAEx6C,MAC3D,IAAI,aAAMA,GACN,OAAO,KAGX,IAAMm6C,GAAc,IAAA7mB,mBAAkBtzB,GACtC,OAAIm6C,EACOA,EAAc,EAAAC,UAGlB,IACX,EAEA,IAAMK,EAA8B,GAAK,EAAAC,UAE5B,EAAAC,0BAA4B,SAACl8C,G,QAChCuB,EAA4C,QAApC,EAAmB,QAAnB,EAAAvB,EAAMkD,SAAS6F,YAAI,eAAEozC,uBAAe,eAAE56C,MACpD,IAAI,aAAMA,GACN,OAAOy6C,EAGX,IAAMN,GAAc,IAAA7mB,mBAAkBtzB,GACtC,OAAIm6C,EACOA,EAAc,EAAAO,UAGlBD,CACX,C,8BCjEA,WAAgB,MAAQ,sCAAsC,OAAS,uCAAuC,SAAW,yC,o7BCDzH,kBACA,cAEA,cACA,cACA,WACA,cAEM//C,EAAK,UAAWC,KAAK,WAMrBkgD,EAAsChgD,EAAMC,MAAK,W,UAC7CggD,EAA2BjgD,EAAM6yB,WAAW,WAE1C9xB,GAAM,IAAAC,kBAAgB,EAE9B,OACI,uBAAKJ,UAAWf,EAAG,YACf,gBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgB8O,QACvBjd,UAAWf,EAAG,UACd8B,QAAqD,QAA5C,EAAAs+C,EAAyBC,2BAAmB,eAAEC,OACvDjxC,UAAqD,QAA1C,EAAA+wC,EAAyBG,yBAAiB,eAAElxC,UACvD3J,WAAsD,QAA1C,EAAA06C,EAAyBG,yBAAiB,eAAElxC,WAEvDnO,EAAE,iCAInB,IAEA,UAAei/C,C,8BCjCf,WAAgB,OAAS,8CAA8C,SAAW,gD,yUCDrE,EAAAK,iBAAmB,SAACrX,GACxBsX,OAAOC,YACRD,OAAOC,UAAY,CAAC,GAGxBD,OAAOC,UAAY,EAAH,KACTD,OAAOC,WACPvX,EAEX,C,47BCTA,IA8DKwX,EA9DL,cACA,cACA,cAEA,YACA,cACA,WACA,WAEA,cACA,cAEM3gD,EAAK,UAAWC,KAAK,WASrB2gD,IAAe,MAChB,EAAAC,uBAAuBC,UAAW,oDACnC,EAAC,EAAAD,uBAAuBE,MAAO,+CAC/B,EAAC,EAAAF,uBAAuBG,WAAY,qDACpC,EAAC,EAAAH,uBAAuBI,kBAAmB,6DAC3C,EAAC,EAAAJ,uBAAuBK,eAAgB,0DACxC,EAAC,EAAAL,uBAAuBM,iBAAkB,4DAC1C,EAAC,EAAAN,uBAAuBO,iBAAkB,4DAC1C,EAAC,EAAAP,uBAAuBQ,gBAAiB,2DACzC,EAAC,EAAAR,uBAAuBS,uBAAwB,mEAChD,EAAC,EAAAT,uBAAuBU,YAAa,sD,GAKnCC,IAAa,MACd,EAAAX,uBAAuBC,UAAW,EACnC,EAAC,EAAAD,uBAAuBE,MAAO,EAC/B,EAAC,EAAAF,uBAAuBG,WAAY,EACpC,EAAC,EAAAH,uBAAuBI,kBAAmB,EAC3C,EAAC,EAAAJ,uBAAuBK,eAAgB,EACxC,EAAC,EAAAL,uBAAuBM,iBAAkB,EAC1C,EAAC,EAAAN,uBAAuBO,iBAAkB,EAC1C,EAAC,EAAAP,uBAAuBQ,gBAAiB,EACzC,EAAC,EAAAR,uBAAuBS,uBAAwB,EAChD,EAAC,EAAAT,uBAAuBU,YAAa,E,GAGnCE,EAA+C,CACjD,EAAAZ,uBAAuBC,SACvB,EAAAD,uBAAuBG,UACvB,EAAAH,uBAAuBI,iBACvB,EAAAJ,uBAAuBK,cACvB,EAAAL,uBAAuBM,gBACvB,EAAAN,uBAAuBO,gBACvB,EAAAP,uBAAuBQ,eACvB,EAAAR,uBAAuBS,sBACvB,EAAAT,uBAAuBE,KACvB,EAAAF,uBAAuBU,aAG3B,SAAKZ,GACD,oBACA,YACA,eACH,CAJD,CAAKA,IAAAA,EAAa,KAMlB,IAAMe,EAAuC,CAACf,EAAcgB,QAAShB,EAAciB,IAAKjB,EAAckB,OAEhGC,IAAgB,MACjBnB,EAAcgB,SAAU,8CACzB,EAAChB,EAAciB,KAAM,8CACrB,EAACjB,EAAckB,OAAQ,K,GAGrBE,IAAmB,MACpBpB,EAAcgB,SAAU,8CACzB,EAAChB,EAAciB,KAAM,0CACrB,EAACjB,EAAckB,OAAQ,K,GAyK3B,UAzJsC,SAACxhD,GAC3B,IAAAU,EAAwDV,EAAK,UAAlD2hD,EAA6C3hD,EAAK,cAAnC4hD,EAA8B5hD,EAAK,QAA1B6hD,EAAqB7hD,EAAK,iBAE7Da,GAAM,IAAAC,kBAAgB,EAExBghD,EAAehiD,EAAM0E,SAAQ,WAC/B,OAAKo9C,EAIEA,EAAQG,QAAwB,SAACC,EAAK/iC,G,MAyBzC,OAxBIA,EAAK8I,SAAU,aAAS9I,EAAKgjC,aAAehjC,EAAKijC,gBACjDF,EAAI/iC,EAAK8I,QAAU,CACf9iB,MAAOga,EAAKgjC,WACZE,SAAUljC,EAAKijC,cACfE,QACc,QAAV,EAAAnjC,EAAKojC,aAAK,eAAEN,QAAsB,SAACC,EAAK/iC,G,MAChCqjC,EAAQhC,EAAckB,MAa1B,OAZIviC,EAAKqiC,QACLgB,EAAQhC,EAAcgB,QACfriC,EAAKsjC,UACZD,EAAQhC,EAAciB,KAGrBS,EAAIM,KACLN,EAAIM,GAAS,IAGP,QAAV,EAAAN,EAAIM,UAAM,SAAE5qC,KAAKuH,GAEV+iC,CACX,GAAG,CAAC,KAAM,CAAC,IAIhBA,CACX,GAAG,CAAC,GA7BO,CAAC,CA8BhB,GAAG,CAACJ,IAEJ,OACI,uBAAKlhD,UAAWf,EAAG,QAASe,IACvB0gD,EAAc/pC,KAAI,SAACmrC,G,QACV/1C,EAAOq1C,EAAaU,GAEtBC,EAAe,EAAA9uC,mBAAmBvB,MACf,cAAnB3F,aAAI,EAAJA,EAAM01C,YACNM,GACI,aAASh2C,EAAKxH,QAAUwH,EAAKxH,MAAQ,EAC/B,EAAA0O,mBAAmBrB,OACnB,EAAAqB,mBAAmBO,aAGjC,IAAMwuC,KAA4C,QAAjC,EAAY,QAAZ,EAAAj2C,aAAI,EAAJA,EAAM21C,cAAM,eAAG9B,EAAciB,YAAI,eAAEt/C,QAKpD,OAJIygD,IACAD,EAAe,EAAA9uC,mBAAmBvS,OAIlC,uBACIuR,IAAK6vC,EACL9hD,UAAWf,EAAG,SACdwI,MAAO,CAAEw6C,YA1HR,GA0HqBxB,EAAcqB,KAEpC,uBAAK9hD,UAAWf,EAAG,eACf,uBAAKe,UAAWf,EAAG,gB,MAAoBkB,EAAE0/C,EAAgBiC,KACzD,gBAAC,UAAS,CAAC9hD,UAAWf,EAAG,iBAAkBuB,MAAOuhD,EAAcnuC,eAAa,GACzE,gBAAC,UAAU,CAACrP,MAAOwH,aAAI,EAAJA,EAAMxH,MAAO6wB,eAAgBrpB,aAAI,EAAJA,EAAM01C,aAG9D,uBAAKzhD,UAAWf,EAAG,UACd0hD,EAAehqC,KAAI,SAACurC,G,MACXC,GAAyB,QAAZ,EAAAp2C,aAAI,EAAJA,EAAM21C,cAAM,eAAGQ,KAAc,GAChD,KAAKC,aAAU,EAAVA,EAAY5gD,QACb,OAAO,KAGX,IACM6gD,EADanB,EAGbF,EAAiBmB,GADjBlB,EAAoBkB,GAG1B,OACI,uBAAKliD,UAAWf,EAAG,iBAAkBgT,IAAKiwC,GACtC,uBAAKliD,UAAWf,EAAG,wBACdkjD,aAAU,EAAVA,EAAYxrC,KAAI,SAAC0C,GACd,IAAMgpC,GAAS,aAAShpC,EAAK7N,IAAMgT,OAAOnF,EAAK7N,IAAM,KACrD,KACK62C,IACA,aAAShpC,EAAK9U,SACd8U,aAAI,EAAJA,EAAMooC,WACNpoC,EAAKC,UAEN,OAAO,KAGX,IAAIgpC,EAAY,EAAArvC,mBAAmBvB,MACZ,cAAnB2H,aAAI,EAAJA,EAAMooC,YACNa,GACI,aAASjpC,EAAK9U,QAAU8U,EAAK9U,MAAQ,EAC/B,EAAA0O,mBAAmBrB,OACnB,EAAAqB,mBAAmBO,cAE7B6F,aAAI,EAAJA,EAAMwoC,WACNS,EAAY,EAAArvC,mBAAmBvS,QAE/B2Y,aAAI,EAAJA,EAAMunC,WACN0B,EAAYN,EACN,EAAA/uC,mBAAmB0hB,YACnB,EAAA1hB,mBAAmBsvC,SAG7B,IAAMC,GAAgBnpC,EAAKwoC,SAAWZ,IAAkBoB,EAExD,OACI,gBAAC,UAAe,CACZpwC,IAAKowC,EACLthD,QAASyhD,EAAerB,EAAmB,KAC3CrsB,cAAe71B,EAAG,aAClB41B,cAAe51B,EAAG,aAClBojD,OAAQA,EACRI,UAAWppC,EAAK9U,MAChBm+C,aAAcrpC,EAAKooC,SACnBkB,SAAUtpC,EAAKnB,MAAQ,IACvBoqC,UAAWA,EACXhpC,SAAUD,EAAKC,UAG3B,KAEH8oC,GACG,uBACIpiD,UAAWf,EAAG,sBAAuB,CACjC,+BACIijD,IAActC,EAAcgB,SAAWoB,EAC3C,0CACIE,IAActC,EAAcgB,UAAYoB,EAC5C,2BAA4BE,IAActC,EAAciB,OAG3D1gD,EAAEiiD,IAKvB,KAIhB,IAGZ,C,qBCtPA,IAAY7zC,E,kEAAZ,SAAYA,GACR,kBACA,mBACH,CAHD,CAAYA,IAAO,UAAPA,EAAO,I,o7BCAnB,kBAEA,cACA,cAMMtP,EAAK,UAAWC,KAAK,WAErB0jD,EAAuCxjD,EAAMC,MAAK,SAACC,GAC7C,IAAA2N,EAAW3N,EAAK,OAExB,OAAO,uBAAKU,UAAWf,EAAG,WAAYgO,EAC1C,IAEA,UAAe21C,C,o7BCjBf,kBACA,WACA,cACA,cACA,WACA,cACA,cAGA,WAUMh1C,EAAgB,8BAEhBi1C,EAA8C,UAAMxjD,MAAK,SAACC,GACpD,IAAAyM,EAAsDzM,EAAK,KAArDwD,EAAgDxD,EAAK,cAAtCQ,EAAiCR,EAAK,QAA7ByO,EAAwBzO,EAAK,SAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,EAAcK,QAC1BpC,QAASgN,GAEb,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBC,UAAWxL,EAAcK,QACzBwB,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,OAC9B7M,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,YACvD7T,MAAOY,EAAE,oDACT0X,QAAS1X,EAAE,8DA9BhB,IAmCf,IAEA,UAAe0iD,C,8BC/Df,WAAgB,QAAU,gDAAgD,OAAS,+CAA+C,SAAW,iD,8BCA7I,WAAgB,KAAO,iDAAiD,OAAS,mDAAmD,SAAW,qD,8BCA/I,WAAgB,uBAAuB,wDAAwD,qBAAqB,sDAAsD,OAAS,0CAA0C,SAAW,4C,iuCCDxO,kBACA,cAEA,cACA,WACA,cACA,cACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,WAGA,cACA,UAEA,cACA,aAIA,WAEA,UACA,WACA,WACA,cACA,cAGA,WACA,WACA,aAEM5jD,EAAK,UAAWC,KAAK,WAErB4jD,GAA+B,IAAAC,oCAAmCC,OAAO5oC,OAAO,EAAApb,aAIhF2Z,EAAoB,aA+O1B,UA7O8D,SAACrZ,GACnD,IAAAyM,EAAsDzM,EAAK,KAArDE,EAAgDF,EAAK,SAA3CQ,EAAsCR,EAAK,QAAlC2jD,EAA6B3jD,EAAK,yBAE7Du0B,GAAW,IAAAC,eAET3zB,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEEgjD,GAAsB,IAAA7tC,aAAY,EAAA8tC,oCAElC,IAAiC,UAAMt/C,SAAQ,WACjD,IAAMsW,GAAS,eAGf,MAAO,CAACA,GAFO,aAAaja,EAAGia,GAInC,GAAG,IAAG,GANCN,EAAa,KAAEupC,EAAa,KAQ7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM2H,EAAO5H,EAAO,EAAApb,WAAWgjB,MAC/B,GAAKA,EAAL,CAKA,IAAMtT,EAAyC,CAC3CwJ,MAAM,IAAAorC,uBAAsBlpC,EAAO,EAAApb,WAAWkZ,OAC9CjL,QAAQ,IAAAq2C,uBAAsBlpC,EAAO,EAAApb,WAAWiO,SAChD4U,WAAW,aAAOzH,EAAO,EAAApb,WAAW4iB,eAAe3I,OAAON,GAC1DK,WAAW,aAAOoB,EAAO,EAAApb,WAAW+iB,gBAAgB9I,OAAON,IAG/Dkb,GACI,IAAAuQ,uBAAsB,CAClBzhC,UAAWoJ,EAAKpJ,UAChBqf,KAAI,EACJtT,QAAO,KAIf2L,EAAcI,WAAW,CAAC,EAjB1B,MAFI,IAAAuZ,YAAW,gDAoBnB,IAGEuvB,EAA0BT,EAA6B/oC,EAAOK,OAAQN,GAC5E,UAAMtP,WAAU,WACR+4C,GACAN,EAAyBM,EAGjC,GAAG,CAACA,KAEJ,aAA4BJ,EAAqB3jD,GAAYM,GAE7D,IAAM8hB,EAAe7H,EAAOK,OAAO,EAAApb,WAAW4iB,cACxC4hC,EAAmB,UAAM1/C,SAAQ,WACnC,OAAK8d,GAIE,aAAOA,GAAc1I,IAAI,EAAAuqC,+BAAgC,OAAOxqC,SAH5D,EAAAoc,uBAAuBC,kBAAkBG,OAIxD,GAAG,CAAC7T,IAEEG,EAAgBhI,EAAOK,OAAO,EAAApb,WAAW+iB,eACzC2hC,EAAkB,UAAM5/C,SAAQ,WAClC,OAAKie,GAIE,aAAOA,GAAe4hC,SAAS,EAAG,OAAO1qC,SAHrC,EAAAoc,uBAAuBC,kBAAkBC,OAIxD,GAAG,CAACxT,IAEJ,OACI,gCAAM5H,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAACM,MAAOY,EAAE,0CAA2CL,QAASA,KAEvF,wBAAC,UAAa,KACV,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRE,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWkZ,KACjB7U,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWkZ,MAChCiD,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWkZ,MACrC7R,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWkZ,KACjB3T,MAAOwV,EAAOK,OAAO,EAAApb,WAAWkZ,MAChClT,YAAa7E,EAAE,4DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAWiO,OACjB5J,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWiO,QAChCkO,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWiO,QACrCtM,YACI,wBAAC,UAAc,CAACC,UAAQ,EAACJ,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACjEX,EAAE,2DAGXyjD,gBAAiB,EAAAtjD,oBAAoB0B,WACrCqE,MAAOlG,EAAE,wDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWiO,OACjB1I,MAAOwV,EAAOK,OAAO,EAAApb,WAAWiO,QAChCjI,YAAa7E,EAAE,8DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,KAcpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,wBACvBiZ,KAAM,EAAAlZ,WAAW4iB,aACjBve,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW4iB,cAChCzG,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW4iB,cACrCvb,MAAOlG,EAAE,+DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW4iB,cAChC5c,YAAa7E,EAAE,qEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACf4wB,QAAS,EAAAJ,uBAAuBC,kBAAkBG,QAClDF,QAASmuB,EACTh/C,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB5C,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,EACfixB,kBAAgB,GAbZ,IAiBhB,wBAAC,UAAW,CACRh2B,UAAWf,EAAG,QAAS,qBACvBiZ,KAAM,EAAAlZ,WAAW+iB,cACjB1e,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+iB,eAChC5G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+iB,eACrC1b,MAAOlG,EAAE,iEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+iB,eAChC/c,YAAa7E,EAAE,uEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACf4wB,QAAS+tB,EACTjuB,QAAS,EAAAF,uBAAuBC,kBAAkBC,QAClD7wB,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB5C,gBAAiB,EAAA2a,8BAA8Bza,YAC/CgD,iBAAe,EACfixB,kBAAgB,GAbZ,KAkBpB,wBAAC,UAAW,CACRh2B,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWgjB,KACjB3e,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgjB,MAChC7G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgjB,MACrC3G,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBuoC,cAAY,IAEX,SAACvkD,GAAU,OACR,wBAAC,UAAe,CACZwkD,OAAO,0BACP5rC,KAAM,EAAAlZ,WAAWgjB,KACjBzd,MAAOwV,EAAOK,OAAO,EAAApb,WAAWgjB,MAChC5F,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdF,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,EACfiX,eAAgB,SAAC,G,IAAE+nC,EAAO,UAAO,OAC7B,wBAAC,UAAY,CACT9iD,UAAW8iD,EAAU,EAAA7iD,qBAAqBC,SAAW,EAAAD,qBAAqB6U,UAC1EL,KAAM,EAAAC,mBAHmB,GAV7B,IAmBhB,wBAAC,UAAmB,CAACqH,aAAW,GAC5B,wBAAC,UAAM,CACHxc,MAAO,EAAA2N,gBAAgB8O,QACvB3O,UAAW60C,EAAoBhgD,QAC/BZ,KAAK,SACL2a,aAAW,EACXC,iBAAe,GAEdhd,EAAE,sDAM3B,C,8BC3RA,WAAgB,MAAQ,iCAAiC,gBAAkB,2CAA2C,8BAA8B,uDAAuD,mBAAqB,8CAA8C,OAAS,kCAAkC,SAAW,oC,63ECDpU,kBACA,WACA,WAqIM6jD,EAjIN,YAGI,aACI,QAAK,UAAC,EAAAC,QAAS,CACXC,SAAU,YACVC,QAAS,EAAAlF,aACX,K,OAWN,EAAAmF,kBAAoB,SAChB7+C,GAAkF,kBACnF8+C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA0D,CAClEC,OAAQ,MACR1gB,KAAM,kBACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAAC,uBAAyB,6BAAUL,SAAO,W,2BAGtC,MAAO,CAAP,EAAOC,KAAKC,QAAkE,CAC1EC,OAAQ,MACR1gB,KAAM,2BACN2gB,4BAA6B,S,QAIrC,EAAAE,wBAA0B,SACtBn5C,GAA8D,kBAC/D64C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAiE,CACzEC,OAAQ,MACR1gB,KAAM,0BAAmBt4B,GACzBi5C,4BAA6B,S,QAIrC,EAAAG,wBAA0B,SACtBv4B,GAA+E,kBAChFg4B,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA8E,CACtFC,OAAQ,OACR1gB,KAAM,yCAAkCzX,GACxCo4B,4BAA6B,Y,QAIrC,EAAAI,kBAAoB,SAChBC,GAAyE,kBAC1ET,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAwE,CAChFC,OAAQ,OACR1gB,KAAM,iCAA0BghB,GAChCL,4BAA6B,Y,QAIrC,EAAAM,uBAAyB,SACrBC,EACAz/C,GAAsE,kBACvE8+C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAwE,CAChFC,OAAQ,OACR1gB,KAAM,iCAA0BkhB,GAChCz/C,MAAK,EACLk/C,4BAA6B,Y,QAIrC,EAAApX,oBAAsB,6BAAUgX,SAAO,W,4DACT,SAAMC,KAAKC,QAA2D,CAC5FC,OAAQ,MACR1gB,KAAM,eACN2gB,4BAA6B,U,OAGjC,OANM,kBAAoB,SAIxB,IAJKphD,EAAK,KAAEqJ,EAAQ,KAMlBrJ,EACO,CAAC,EAAD,CAACA,EAAO,OAWZ,CAAC,EAAD,CAAC,MARYqJ,aAAQ,EAARA,EAAU20C,QAA+B,SAACC,EAAK/iC,GACvD,IAAArG,EAAgBqG,EAAI,KAAdha,EAAUga,EAAI,MAI5B,OAFA+iC,EAAIppC,GAAQ3T,EAEL+8C,CACX,GAAG,CAAC,KAEyB,O,QAGjC,EAAAvT,qBAAuB,SACnBF,GAAgD,kBACjDwW,SAAO,W,iCAeN,OAdMY,EAAOjC,OAAOkC,QAAQrX,GAAiBwT,QACzC,SAACC,EAAK,G,IAAA,SAACrvC,EAAG,KAAE1N,EAAK,KAQb,OAPA+8C,EAAItqC,KAAK,CAELkB,KAAMjG,EAEN1N,MAAK,IAGF+8C,CACX,GACA,IAGG,CAAP,EAAOgD,KAAKC,QAAc,CACtBC,OAAQ,OACR1gB,KAAM,eACN/3B,KAAMk5C,EACNR,4BAA6B,Y,SApHrC,CAuHJ,OA/HoC,OAUlB,EAAAU,YAAd,WAKI,OAJKC,EAAsBC,WACvBD,EAAsBC,SAAW,IAAID,GAGlCA,EAAsBC,QACjC,EA+GJ,EA/HA,CAAoC,WAiIgBF,cAEpD,UAAenB,C,8BCxIf,WAAgB,cAAgB,0CAA0C,sBAAsB,gDAAgD,6BAA6B,uDAAuD,gCAAgC,0DAA0D,cAAgB,0CAA0C,sBAAsB,gDAAgD,uBAAuB,iDAAiD,0BAA0B,oDAAoD,6BAA6B,uDAAuD,gCAAgC,0DAA0D,0BAA0B,oDAAoD,OAAS,mCAAmC,SAAW,qC,uuCCEv4B,UAFA,WAAoB,2B,4cCApB,kBACA,cACA,WAEa,EAAAsB,2BAA6B,SACtCC,EACAC,GAEA,IAAKD,EACD,OAAO,KAGX,IAAME,EAAiB,UAAOC,UAAUF,GAAUG,YAE9Cr+C,EAAQ,UAAOo+C,UAAUF,GAAUI,QAAQ,OAAO3sC,SAChD4sC,EAAaN,EAA2Bj+C,MACxC,UAAOo+C,UAAUH,EAA2Bj+C,OAAOq+C,UAAUF,GAAgBxsC,SAC7E,KACF4sC,GAAcv+C,EAAQu+C,IACtBv+C,EAAQu+C,GAGZ,IAAIx6C,EAAM,UAAOq6C,UAAUF,GAAUG,UAAUF,GAAgBK,MAAM,OAAO5sC,IAAI,EAAG,UAAUD,SAC7F,GAAI4sC,GAAcx6C,GAAOw6C,EACrB,OAAO,KAEX,IAAME,EAAWR,EAA2Bl6C,IACtC,UAAOq6C,UAAUH,EAA2Bl6C,KAAKs6C,UAAUF,GAAgBxsC,SAC3E,KACN,OAAI8sC,GAAYz+C,GAASy+C,EACd,MAEPA,GAAY16C,EAAM06C,IAClB16C,EAAM06C,GAGH,CACHz+C,MAAK,EACL+D,IAAG,GAEX,EAEa,EAAA26C,4BAA8B,SAACC,GACxC,IAAKA,EACD,OAAO,EAGX,IAAM3+C,EAAQ,UAAOo+C,UAAUO,EAAkB3+C,OAAO4+C,UAGxD,OAFY,UAAOR,UAAUO,EAAkB56C,KAAK66C,UAEvC5+C,CACjB,EAEa,EAAA6+C,YAAc,SAACC,EAA0CC,GAClE,OAAKD,IAAY,aAASC,GAInB,UAAOX,UAAUU,GAASltC,IAAImtC,EAAI,gBAAgBptC,SAH9C,IAIf,EAEa,EAAAqtC,6CAA+C,SACxDL,GAEA,IAAKA,EACD,OAAO,KAGX,IAAMr9C,EAAS,UAAO88C,UAAUO,EAAkB3+C,OAAOs+C,QAAQ,OAAOM,UAIxE,MAAO,CAHO,UAAOR,UAAUO,EAAkB3+C,OAAO4+C,UAGxCt9C,EAFJ,UAAO88C,UAAUO,EAAkB56C,KAAK66C,UAEtBt9C,EAClC,EAEa,EAAA29C,wBAA0B,SAACj/C,EAAqBk/C,GAGzD,MAAO,CACHl/C,MAAK,EACL+D,IAJQ,UAAOq6C,UAAUp+C,GAAO4R,IAAI,KAAMstC,GAAiBvtC,SAMnE,EAEa,EAAAwtC,uBAAyB,SAACC,GACnC,OAAOA,EAAQ7hC,SAAS,YAC5B,EAEa,EAAA8hC,4BAA8B,SACvCz6B,EACA3kB,GAEA,IAAK2kB,IAAS3kB,EACV,OAAO,KAGX,IAAMq/C,GAAiB,aAAO16B,GAAMjT,OAAO,cAErC3R,EAAQs/C,EAAiBr/C,EAAWD,MAAMu/C,MAAM,IAElDx7C,EAAMu7C,EAAiBr/C,EAAW8D,IAAIw7C,MAAM,IAKhD,OAJI,IAAAJ,wBAAuBp7C,KACvBA,EAAM,UAAOq6C,UAAUr6C,GAAK6N,IAAI,EAAG,QAAQD,UAGxC,CACH3R,MAAK,EACL+D,IAAG,EAEX,EAEa,EAAAy7C,kCAAoC,SAC7Cv/C,EACA0+C,GAEA,IAAK1+C,IAAe0+C,EAChB,OAAO,KAGX,IAAMc,EAAW,UAAOrB,UAAUO,EAAkB3+C,OAAOs+C,QAAQ,OAInE,MAAO,CACHt+C,MAJUy/C,EAASC,QAAQ9tC,IAAI3R,EAAW,GAAI,MAAM0R,SAKpD5N,IAJQ07C,EAASC,QAAQ9tC,IAAI3R,EAAW,GAAI,MAAM0R,SAM1D,EAEa,EAAAguC,oBAAsB,SAACC,EAAwBC,GACxD,OAAO,UAAOzB,UAAUwB,GAAUvB,cAAgB,UAAOD,UAAUyB,GAAUxB,WACjF,EAEa,EAAAyB,uBAAyB,SAClCC,EACAC,GAEA,MAAO,UAAG,EAAAtoD,WAAWymC,MAAK,YAAI4hB,EAAU,YAAIC,EAChD,C,mTC3IA,eACA,WAEM91B,IAAc,MACf,EAAAxyB,WAAWkZ,MAAO,GACnB,EAAC,EAAAlZ,WAAW4D,aAAc,EAAA+kB,gBAAgB6C,QAE1C,EAAC,EAAAxrB,WAAWuoD,SAAU,GACtB,EAAC,EAAAvoD,WAAWwoD,SAAU,GACtB,EAAC,EAAAxoD,WAAWyxB,aAAc,KAC1B,EAAC,EAAAzxB,WAAWyoD,SAAU,GACtB,EAAC,EAAAzoD,WAAW0oD,MAAO,GAEnB,EAAC,EAAA1oD,WAAW2oD,aAAc,K,GAS9B,UANyB,WAGrB,OAFY,KAAqBn2B,EAGrC,C,8BCnBA,WAAgB,WAAa,sCAAsC,OAAS,kCAAkC,SAAW,oC,qRCE5G,EAAAo2B,wBAA0B,SAAC5kD,GACpC,OAAAA,EAAM6kD,4BAA4B/0B,MAAlC,EAES,EAAAg1B,6BAA+B,SAAC9kD,GACzC,OAAAA,EAAM6kD,4BAA4B90B,WAAlC,EAES,EAAAg1B,gBAAkB,SAAC/kD,GAC5B,OAAAA,EAAM6kD,4BAA4BG,SAAlC,EAES,EAAAC,wBAA0B,SACnCjlD,GACyD,OAAAA,EAAM6kD,4BAA4BK,iBAAlC,EAEhD,EAAAC,2BAA6B,SACtCnlD,GAC4D,OAAAA,EAAM6kD,4BAA4BO,oBAAlC,EAEnD,EAAAC,wBAA0B,SACnCrlD,GACyD,OAAAA,EAAM6kD,4BAA4BS,iBAAlC,EAEhD,EAAAC,sBAAwB,SAACvlD,GAClC,OAAAA,EAAM6kD,4BAA4BW,eAAlC,EAES,EAAAC,kBAAoB,SAACzlD,GAC9B,OAAAA,EAAM6kD,4BAA4Ba,WAAlC,C,s7BC5BJ,kBACA,cAEA,cACA,cACA,cACA,WACA,cACA,cACA,cAGA,WACA,WACA,WACA,cACA,cAWMzpD,EAAK,UAAWC,KAAK,WAErBypD,IAAW,MAQZ,EAAAC,cAActlC,SAAU,UACzB,EAAC,EAAAslC,cAAcvlC,OAAQ,U,GAGrBwlC,EAAqDzpD,EAAMC,MAAK,SAACC,GAC3D,IAAA+f,EAAqD/f,EAAK,IAArDggB,EAAgDhgB,EAAK,IAAhDwpD,EAA2CxpD,EAAK,UAArCusC,EAAgCvsC,EAAK,SAA3BU,EAAsBV,EAAK,UAAhB2N,EAAW3N,EAAK,OAE1Da,GAAM,IAAAC,kBAAgB,EAExB2oD,EAAgBJ,EAAY9c,GAE5Bmd,GAAmB,aAAS/7C,GAElC,OACI,gBAAC,UAAU,CACPoS,IAAKA,EACLC,IAAKA,EACLgnB,iBAAkBtmC,EAClBipD,UAAW,CAAEC,QAAS,EAAGC,QAAS,GAClC3oD,MAAO,EAAAqf,gBAAgB9J,YAEtB,WAAM,OACH,gBAAC,UAAO,CACJpV,YACImoD,EACI,gBAAC,UAAc,CAACtoD,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GAC1D,wBAAM7T,UAAWf,EAAG,6BACfkB,EAAE,kCAAmC,CAClCsxC,KAAMqX,GAAY,IAAAM,YAAWN,GAAa,SAItD,KAERl/C,MAAO,EACPvJ,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBV,UAAWf,EAAG,QAAS,CAAE,uBAAwB+pD,MAEhD,WAAM,OACH,gBAAC,UAAc,CAAC/7C,OAAQA,GACpB,gBAAC87C,EAAa,CACV9nD,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,MAClCwO,KAAM,EAAAC,oBALX,GAlBR,GA+BnB,IAEA,UAAekzC,C,qLC3Ff,eACA,cACA,WACA,WAGa,EAAAQ,gBAAkB,SAC3BC,GAEA,IAAM1iB,GAAU,IAAAtxB,aAAY,EAAAi0C,eAc5B,OAZqB,IAAAzlD,UAAQ,WACzB,OAAKwlD,IAKD,aAAK1iB,aAAO,EAAPA,EAASG,eAAe,SAACyiB,GAC1B,OAAOA,EAAKh+C,KAAO89C,CACvB,KANO,IAQf,GAAG,CAAC1iB,EAAS0iB,GAGjB,C,8BCvBA,WAAgB,QAAU,qCAAqC,OAAS,oCAAoC,0BAA0B,qDAAqD,QAAU,qCAAqC,OAAS,oCAAoC,SAAW,sC,qBCClS,IAAYnyC,EAMAsyC,EAyDAC,EAUAC,E,kJAzEZ,SAAYxyC,GACR,4CACA,sCACA,qCACH,CAJD,CAAYA,IAAa,gBAAbA,EAAa,KAMzB,SAAYsyC,GACR,4BACA,0BACA,0BACA,8BACA,gCACA,0CACA,kCACA,8BACA,4CACA,wCACA,oCACA,gCACA,wBACA,4BAGA,oDACA,0EACA,kEACA,wEACA,gEACA,wEACA,gEACA,mBACA,mCACA,8BACH,CA3BD,CAAYA,IAAoB,uBAApBA,EAAoB,KAyDhC,SAAYC,GACR,yCACA,qCACA,uCACA,sBACA,yBACA,sBACA,qBACH,CARD,CAAYA,IAA0B,6BAA1BA,EAA0B,KAUtC,SAAYC,GACR,2BACA,qCACA,4BACH,CAJD,CAAYA,IAAmB,sBAAnBA,EAAmB,I,o7BC3E/B,kBAEA,cAEA,cAEA,WACA,cACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,cACA,WACA,UACA,WAEA,cAGM1qD,EAAK,UAAWC,KAAK,WAIrB0qD,EAA2CxqD,EAAMC,MAAK,WACxD,IACQ2lD,GADO,IAAApW,aACiB,cAE1BsG,GAAa,eACbC,EAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,EAElB,GAAG,CAACA,IAEI/0C,GAAM,IAAAC,kBAAgB,EAmBxB0gC,GAAkB,IAAAC,sBAoBxB,OACI,gCACI,gBAAC,UAAiBqU,SAAQ,CAAC7wC,MAAO4wC,GAC9B,gBAAC,UAAuB,CACpBl1C,aAAa,uBACbD,UAAWf,EAAG,QACdo2C,gBAAiBl1C,EAAE,0CACnBm1C,eACI,gBAAC,UAAoC,CACjC9pC,GAAIw5C,EACJllD,QA/CG,YACvB,IAAA+pD,oBACI,WACI,UAAQ7yC,KAAK,EAAA8yC,eAAeC,KAAO,UAAQpkB,SAAS1uB,OACxD,GACA,CACI+yC,qBAAqB,GAGjC,EAuCwBC,UArCD,YACnB,IAAAJ,oBAAkB,WACd,UAAQ7yC,KAAK,EAAAyQ,WAAWyiC,4BAA4BlF,GACxD,GACJ,EAkCwBmF,oBAAkB,EAClBhW,kBAhCM,SAACxF,GAKnB,IAAAxpC,EAAmCwpC,EAAM,OAAjC/rC,EAA2B+rC,EAAM,YAApBhsC,EAAcgsC,EAAM,UAC5CxpC,EAKL27B,EAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,EACTC,YAAW,EACXuC,OAAM,KARN,IAAA6uB,YAAW,4EAUnB,IAkBgB0hB,iBAAkBv1C,EAAE,uCACpBw1C,gBAAiB,gBAAC,UAAgB,CAACnqC,GAAIw5C,OAG/C,gBAAC,UAAQ,MAGrB,IAEA,UAAe4E,C,kqDCtGf,kBAEA,cACA,cACA,WACA,aACA,WACA,cACA,cAEA,cACA,cACA,cACA,cACA,WAMA,WAEA,cACA,WACA,cACA,WACA,aACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,UACA,WACA,cACA,cACA,WACA,WACA,cAEA,WAEM3qD,EAAK,UAAWC,KAAK,WAQrBkrD,EAA2C,GAmUjD,UA/TqC,WACzB,IAAAjqD,GAAM,IAAAC,kBAAgB,EAExB,GAA6B,eAA3BuC,EAAS,YAAEC,EAAW,cAExBk+B,GAAkB,IAAAC,sBAmBlBlN,GAAW,IAAAC,eAEXrmB,GAAQ,IAAA6H,aAAY,EAAA+0C,kBACpBC,GAAa,IAAAh1C,aAAY,EAAAi1C,kBACzBC,GAAW,IAAAl1C,aAAY,EAAAm1C,kBAEvBC,GAAqB,IAAAp1C,aAAY,EAAAq1C,0BAEjC,IAA0CvrD,EAAMuE,SAAqB,IAAIyqB,KAAM,GAA9Ew8B,GAAgB,KAAEC,GAAmB,KAEtCtlD,IAAQ,eACRulD,GAAmBvlD,GAAM,EAAA4R,cAAc4zC,8BAAgCX,EACvEY,GAAiBzlD,GAAM,EAAA4R,cAAc8zC,4BAA8Bb,EAEnEc,GAAsB,SAACJ,EAAkCE,G,MAC3D,UAAQh0C,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,KAAK,OACP,EAAA4R,cAAc4zC,6BAA8BD,EAAgB,EAC5D,EAAA3zC,cAAc8zC,2BAA4BD,EAAc,MAGrE,EAEMG,GAAoB,SAACC,EAAsCC,G,MAC7D,UAAQr0C,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,KAAK,OACP,EAAA4R,cAAc4zC,8BAA8B,aAAWD,GAAkBM,GAAqB,EAC9F,EAAAj0C,cAAc8zC,4BAA4B,aAAWD,GAAgBK,GAAmB,MAGrG,EAEMt3C,IAAa,aAAgBxO,GAAM,EAAA4R,cAAcm0C,YAEjD,GADOhB,EAAWv2C,KACe,CAAC,EAAhCw3C,GAAG,OAAEzoD,GAAa,iBAE1B1D,EAAMoL,WAAU,WACZqgD,GAAoB,IAAIz8B,IAC5B,GAAG,CAACm9B,KAEJnsD,EAAMoL,WAAU,WAQZ,OAPAqpB,GACI,IAAA23B,gBAAez3C,GAAY,CACvB03C,cAAeX,GACfY,YAAaV,MAId,WAEP,CACJ,GAAG,CAACn3B,EAAU9f,GAAY+2C,GAAkBE,KAE5C,IAAM1pB,GAAqBliC,EAAMkG,aAAY,WACzCuuB,GACI,IAAA23B,gBACIz3C,GACA,CACI03C,cAAeX,GACfY,YAAaV,IAEjB,CAAE3pB,eAAe,IAG7B,GAAG,CAACxN,EAAU9f,GAAY+2C,GAAkBE,MAC5C,IAAAzpB,qBAAoB,EAAAoqB,oBAAqBrqB,IAEzC,IAAMiI,GAAuBnqC,EAAMkG,aAAY,WAC3CuuB,GACI,IAAA23B,gBACIz3C,GACA,CACI03C,cAAeX,GACfY,YAAaV,IAEjB,CAAE3pB,eAAe,IAG7B,GAAG,CAACxN,EAAU9f,GAAY+2C,GAAkBE,KAEtC5pB,GAAkChiC,EAAMkG,aAAY,WACtDuuB,GACI,IAAA23B,gBACIz3C,GACA,CACI03C,cAAeX,GACfY,YAAaV,IAEjB,CAAE3pB,eAAe,IAG7B,GAAG,CAACxN,EAAU9f,GAAY+2C,GAAkBE,MAC5C,aAA4B5pB,IAE5B,IAAMwqB,GAAWxsD,EAAMkG,aACnB,SAACyO,G,MACG,UAAQiD,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,KAAK,OACP,EAAA4R,cAAcm0C,WAAYv3C,EAAU,MAGjD,GACA,CAACxO,KAGCsmD,GAAiBzsD,EAAMkG,aACzB,SAAC,G,IAAEyO,EAAU,aACT63C,GAAS73C,EACb,GACA,CAAC63C,MAEL,IAAArqB,qBAAoB,EAAAuqB,uBAAwBD,IAE5C,IAAME,GAAQ3sD,EAAM0E,SAAQ,WACxB,OAAQynD,IAAO,IAAI50C,KAAI,SAACnL,GAAc,OAAAg/C,EAASh/C,EAAT,GAC1C,GAAG,CAAC+/C,GAAKf,IAEHwB,KAAY,aAAQlB,OAAsB,aAAQE,IAkBlD,KAAgD5rD,EAAMuE,UAAkB,GAAM,GAA7EsoD,GAAoB,MAAEC,GAAqB,MAmDlD,OACI,gBAAC,UAAc,KACX,gBAAC,UAAc,KACX,gBAAC,UAAoB,CACjB/gB,gBAAc,EACdC,cACI,gBAAC,UAAU,CACP+gB,wBAAyBrB,GACzBsB,sBAAuBpB,GACvB5uC,SAAU8uC,KAGlB5f,eACI,gCACI,gBAAC,UAAM,CAAC9qC,MAAO,EAAA2N,gBAAgB8O,QAASlc,QA/D7C,YACf,IAAAsrD,UAAS,QAAQ,SAACrqC,GACd6R,GAAS,IAAAy4B,eAActqC,IAEvBkqC,IAAsB,EAC1B,GACJ,GA0D6B/rD,EAAE,oDAEJyqD,GAAiBl1C,MAAQ,gBAAC,UAAe,CAACyE,SApF3C,SAACoyC,GACvB,IAAMhB,EAAM,OAAIX,KAAgB,GAAEj0C,KAAI,SAAC61C,GAAS,OAAAA,EAAKhhD,EAAL,IAE5C+/C,EAAIhqD,QAAUgrD,EAAWhoD,OACzBsvB,GAAS,IAAA44B,aAAYlB,EAAKgB,EAAWhoD,MAAOgoD,EAAWrjD,WAG3D2hD,GAAoB,IAAIz8B,IAC5B,KA+EgBs+B,eACI,mCACO5B,cAAgB,EAAhBA,GAAkBvpD,SACjB,gCACI,gBAAC,UAAW,CACR0Q,IAAI,iBACJjS,UAAWf,EAAG,uBACdoH,MAAOlG,EAAE,uDACTwsD,YAAY,EACZC,WAAS,EACTpsD,MAAO,EAAAqsD,oBAAoB1rD,SAC3BJ,QAAS,WAAM,OAAAmqD,GAAoB,GAAIF,GAAxB,IAElBF,GAAiBn0C,KAAI,SAACm2C,GAAS,OAC5B,gBAAC,UAAW,CACR76C,IAAK,eAAQ66C,GACb9sD,UAAWf,EAAG,uBACdoH,MAAO,gBAAC,UAAmB,CAAC0mD,aAAc,CAACD,KAC3CH,YAAU,EACVC,WAAS,EACTpsD,MAAO,EAAAqsD,oBAAoB1rD,SAC3BJ,QAAS,WAAM,OAAAoqD,GAAkB,CAAC2B,GAAO,GAA1B,GARS,QAarC9B,cAAc,EAAdA,GAAgBzpD,SACf,gCACI,gBAAC,UAAW,CACR0Q,IAAI,eACJjS,UAAWf,EAAG,uBACdoH,MAAOlG,EAAE,qDACTwsD,YAAY,EACZC,WAAS,EACTpsD,MAAO,EAAAqsD,oBAAoB92C,UAC3BhV,QAAS,WAAM,OAAAmqD,GAAoBJ,GAAkB,GAAtC,IAElBE,GAAer0C,KAAI,SAACm2C,GAAS,OAC1B,gBAAC,UAAW,CACR76C,IAAK,aAAM66C,GACX9sD,UAAWf,EAAG,uBACdoH,MAAO,gBAAC,UAAmB,CAAC0mD,aAAc,CAACD,KAC3CH,YAAU,EACVC,WAAS,EACTpsD,MAAO,EAAAqsD,oBAAoB92C,UAC3BhV,QAAS,WAAM,OAAAoqD,GAAkB,GAAI,CAAC2B,GAAvB,GARO,SAjGrD,IAAAthB,2BAA0BugB,GAAOjpD,KAIlCA,cAAa,EAAbA,GAAeO,OACR,gBAAC,UAAU,CAACA,MAAOP,cAAa,EAAbA,GAAeO,MAAOooC,QAASlC,MAGzDzmC,cAAa,EAAbA,GAAeU,KAAMwoD,GAEjB,gBAAC,UAAY,CACTngB,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,0CACTuuB,YAAY,GACZsd,cAAc,KAKtBlpC,cAAa,EAAbA,GAAeU,MAAOwoD,GAElB,gBAAC,UAAY,CACTngB,SAAU,EAAAC,sBAAsBC,SAChCxsC,MAAOY,EAAE,8CACTuuB,YAAY,GACZsd,cAAc,IAMtB,gBAAC,UAAY,CACTH,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,iDACTF,aAAa,cACb+rC,cAAc,IAlCX,KAiHH,gBAAC,UAAU,CACP4e,iBAAkBA,GAClBoC,cAAenC,GACfoC,aAtIS,SAACzhD,EAAiBjH,GACvCsvB,GAAS,IAAA44B,aAAY,CAACjhD,GAAKjH,EAAO,EAAA2oD,uBAAuBC,aAEzDtC,GAAoB,IAAIz8B,IAC5B,EAmIgB+lB,kBA7Rc,SAAChvC,GACtBA,EAIAxC,GAAcC,EAKnBk+B,EAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,EACTC,YAAW,EACXuC,OAAM,KARN,IAAA6uB,YAAW,4DAJX,IAAAA,YAAW,2DAcnB,EA8QgB+3B,MAAOA,GACPz9C,UAAWxL,cAAa,EAAbA,GAAeK,QAC1BwB,WAAY+lD,EAAmBvnD,UAEnC,gBAAC,UAAY,KACT,gBAAC,UAAU,CAAC0H,QAASkJ,GAAY7R,MAAOuL,aAAK,EAALA,EAAO2/C,UAAWxB,SAAUA,MAEvEK,IACG,gBAAC,UAAK,KACF,gBAAC,UAAY,CACTnsD,QAAS,WACLosD,IAAsB,EAC1B,GAEA,gBAAC,UAAS,CACNpsD,QAAS,WACLosD,IAAsB,EAC1B,OAQhC,C,8BC1XA,WAAgB,MAAQ,uDAAuD,OAAS,wDAAwD,SAAW,0D,uuCCG3J,UAJA,W,yVCEA,eACA,WAYA,UAViB,SAAC/rD,EAAcia,GAO5B,OANY,UACL,IAAA2I,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWsqB,UAAWlP,KACxC,IAAA+O,gBAAehpB,EAAG,CAAC,EAAAnB,WAAWsqB,UAAWlP,EAAQ,KACjD,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAWsqB,UAAWlP,EAAQ,KAI5D,C,w3BCbA,kBACA,WAQMizC,EAAkC,SAAC/tD,GAC7B,IAAA2B,EAAuC3B,EAAK,UAAjC,EAA4BA,EAAK,MAAjCwB,OAAK,IAAG,KAAE,EAAE,EAAgBxB,EAAK,OAArB8L,OAAM,IAAG,KAAE,EAE1C,OACI,uBACIsF,MAAM,6BACN48C,WAAW,+BACXxsD,MAAOA,EACPsK,OAAQA,EACRuF,QAAQ,aAER,4BACI,wBAAMnF,GAAG,aAAaqF,EAAE,mBAE5B,uBAAK/E,KAAM7K,EAAW2P,SAAS,UAAUzH,UAAU,wBAAwB2hB,UAAU,gBAGjG,EAEAuiC,EAAcj8C,YAAc,gBAE5B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAeg8C,C,wZClCf,cACA,WACA,WAEa,EAAAE,sBAAwB,WAC3B,SAA0B,IAAA5pD,WAAS,GAAM,GAAxC6pD,EAAQ,KAAEC,EAAW,KAEtBC,GAA4B,IAAApoD,cAAY,SAAC2F,GAC3CwiD,EAAYxiD,EAAMuiD,SACtB,GAAG,IAGH,OAFA,IAAAjsB,qBAAoB,EAAAosB,mBAAoBD,GAEjCF,CACX,C,8BCbA,WAAgB,eAAe,oCAAoC,8BAA8B,mDAAmD,0BAA0B,+CAA+C,0BAA0B,+CAA+C,gCAAgC,qDAAqD,6BAA6B,kDAAkD,kCAAkC,uDAAuD,2BAA2B,gDAAgD,0BAA0B,+CAA+C,4BAA4B,iDAAiD,OAAS,8BAA8B,SAAW,gC,8BCAtzB,WAAgB,SAAW,sCAAsC,OAAS,oCAAoC,cAAc,yCAAyC,OAAS,oCAAoC,SAAW,sC,qaCD7N,kBACA,UASA,WACA,UAEa,EAAAI,2BAAmD,CAC5DroD,MAAO,KACPzC,cAAe,UAAcC,QAC7BwoD,IAAK,GACL59C,KAAM,CAAC,GAGX,mBACI3K,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAQ,EAAA4qD,4BAGA3qD,EAAOV,MACX,KAAK,EAAAsrD,4BACO,IAAAtoD,EAAUtC,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACRuC,MAAK,EACLzC,cAAe,UAAcK,UAIrC,KAAK,EAAA2qD,4BACO,IAAAzqD,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACRF,cAAe,UAAcQ,SAASD,KAI9C,KAAK,EAAA0qD,8BACO,IAAAC,EAAa/qD,EAAM,SAErB0K,EAAOqgD,EAAS3M,QAAiC,SAACC,EAAK2M,G,MACzD,OAAKA,aAAO,EAAPA,EAASziD,IAIP,EAAP,KACO81C,KAAG,MACL2M,EAAQziD,IAAE,KACJyiD,GAAO,IANP3M,CASf,GAAG,CAAC,GAEEiK,EAAMyC,EAASr3C,KAAI,SAACs3C,GAAY,OAAAA,EAAQziD,EAAR,IAAY8iB,OAAO,EAAA4/B,UAEzD,OAAO,EAAP,KACOlrD,GAAK,CACRF,cAAe,UAAcU,GAC7B+nD,IAAG,EACH59C,KAAM,EAAF,KACG3K,EAAM2K,MACNA,KAKf,KAAK,EAAAlK,gBACL,KAAK,EAAA+zC,MACD,OAAO,EAAP,GACO,EAAAoW,4BAIX,QACI,OAAO5qD,EAElB,C,8BClFD,WAAgB,OAAS,qCAAqC,SAAW,uC,ypCCDzE,kBACA,cACA,cACA,WACA,cACA,cACA,WACA,aACA,UACA,WACA,WAKA,WACA,WACA,cACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,WACA,cACA,UACA,cACA,cACA,WACA,WACA,SACA,UACA,cAGA,aACA,cAGA,WACA,WACA,WAEM/D,EAAK,UAAWC,KAAK,WAYrBivD,EAAuC/uD,EAAMC,MAAK,SAACC,GAC7C,IAAA8uD,EAAqD9uD,EAAK,WAA9CQ,EAAyCR,EAAK,QAArC+uD,EAAgC/uD,EAAK,4BAE5DgvD,GAAmC,IAAAC,uCAEnCztB,GAAkB,IAAAC,sBAEhBp+B,GAAc,eAAmB,UAEjCxC,GAAM,IAAAC,kBAAgB,EAGtBouD,GADO,IAAA5f,aACa,UAEtB6f,GAAqC,eACrCC,GAAsB,IAAAp5C,aAAY,EAAAq5C,8CACxC,aAAgCD,EAAqB,CAACD,IAEtD,IACMG,GADc,IAAAt5C,cAAY,IAAAu5C,4BAA2BlsD,IACxB6rD,GAE7B36B,GAAW,IAAAC,eAEXvuB,GAAQ,eAENupD,GAAqB,IAAAC,uBAAqB,iBAE5CC,EAAmB,SAACC,G,MACtBH,EAAiBI,QAAQ,CACrBj4C,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,EAAA4R,cAAcg4C,gBAAiBF,EAAO,MAGnD,EAEMG,EAAqBhwD,EAAM0E,SAAQ,WAAM,WAAAurD,kCAAA,GAAmC,IAE5EC,GAA6B,IAAAh6C,cAAY,IAAAi6C,4BAA2Bf,EAAWY,IAC/EI,IAAW,IAAAl6C,cAAY,IAAAm6C,uBAAsBjB,EAAWY,IAE9DhwD,EAAMoL,WAAU,WACZqpB,GAAS,IAAA67B,sBAAqB,CAAEC,UAAWnB,EAAWoB,WAAYR,IACtE,GAAG,CAACZ,EAAW7rD,EAAWkxB,EAAUu7B,IAEpC,IAAMS,GAAiCzwD,EAAMkG,aACzC,SAAC2F,GACyBA,EAAK,YAETujD,GACd36B,GACI,IAAA67B,sBACI,CAAEC,UAAWnB,EAAWoB,WAAYR,GACpC,CAAE/tB,eAAe,IAIjC,GACA,CAACxN,EAAU26B,EAAWY,KAE1B,IAAA7tB,qBAAoB,EAAAuuB,+BAAgCD,IAEpD,IAAME,GAAkB3wD,EAAM0E,SAAQ,WAClC,IAAK8qD,EACD,OAAO,KAGH,IAAAla,EAAwBka,EAAc,SAA5Bja,EAAcia,EAAc,UAC9C,OAAK,aAASla,KAAc,aAASC,GAI9B,CACHt1B,IAAKq1B,EACLp1B,IAAKq1B,GALE,IAOf,GAAG,CAACia,IA4CE1Z,IAAa,eACbC,GAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,GAElB,GAAG,CAACA,KAuBE8a,IAA6C,IAAAtsD,mBAEnD,OACI,gBAAC,UAAiB0xC,SAAQ,CAAC7wC,MAAO4wC,IAC9B,gBAAC,EAAA8a,sCAAsC7a,SAAQ,CAAC7wC,MAAOyrD,IACnD,gBAAC,UAA4B5a,SAAQ,CAAC7wC,MAAO+pD,GACzC,gBAAC,UAAS,CACN/uD,MAAOY,EAAE,8BAA+B,CACpCumB,YAAakoC,aAAc,EAAdA,EAAgBloC,gBAGrC,gBAAC,UAAa,CACV1mB,UAAWf,EAAG,QACdixD,aAAc/vD,EAAE,0CAChBgwD,YACI,gBAAC,UAAkC,CAC/BxtD,UAAWA,EACX6rD,UAAWA,EACX1uD,QAASA,EACTswD,WAAS,EACTC,gBA1FL,WACnBjC,GACJ,EAyF4BkC,qBA7DK,SAAC9B,GACzB7rD,EAILm+B,EAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuBklB,eAC7BjsD,UAAS,EACT6rD,UAAS,KANT,IAAAx6B,YAAW,8CAQnB,EAoD4B6lB,mBAxFG,SAACD,GACvBj3C,EAILm+B,EAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB6mB,aAC7B5tD,UAAS,EACTi3C,QAAO,KANP,IAAA5lB,YAAW,4CAQnB,EA+E4Bw8B,qBA7EK,SAAChsB,GACzB7hC,EAKLm+B,EAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB+mB,gBAC7BjsB,WAAU,EACVksB,eAAe,EACf/tD,UAAS,KART,IAAAqxB,YAAW,8CAUnB,EAkE4BmgB,kBA7CE,SAAChvC,EAAiBwrD,GACvChuD,EAILm+B,EAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,EACTC,YAAa+tD,EAAe,EAAAhpC,gBAAgBpb,OAAS,EAAAob,gBAAgBC,QACrEziB,OAAM,KAPN,IAAA6uB,YAAW,2CASnB,IAqCoB48B,SAAUzwD,EAAE,gCACZ0wD,QACI,gBAAC,UAAe,CACZtuD,KAAM,EAAAqmD,cAActlC,QACpBysC,gBAAiBA,GACjBe,qBAAsBlC,aAAc,EAAdA,EAAgBkC,qBACtCxiD,UAAWghD,EAA2BnsD,UAAYyrD,IAG1DmC,aAAc5wD,EAAE,qCAChB6wD,YAAa,KACbC,cAAe9wD,EAAE,mBACjB+wD,aAAc,SAACrnD,GAAU,OACrB,gBAAC,UAAoB,CACjBtH,KAAK,UACL+L,UAAWghD,EAA2BnsD,QACtCrD,QAAS+J,EACTsnD,aAAcnC,EACdoC,gBAAiB7rD,EAAM,EAAA4R,cAAcg4C,gBACrCK,SAAUA,GACV6B,yBAA0B,SAACpmD,GAClBtI,GAIL8rD,EAAmCvmB,QAAQ,CACvC9jC,UAAWzB,EACX2uD,OAAQ,CACJ,CACI5qC,aAAakoC,aAAc,EAAdA,EAAgBloC,cAAe,KAGpDnhB,MAAO,CACHipD,UAAWI,aAAc,EAAdA,EAAgBpjD,GAC3BA,GAAIP,EAAMO,KAGtB,EACA6iD,4BAA6BA,GA1BZ,IA8B7B,gBAAC,UAAuC,CACpCkD,UAAU,UACVxlD,KAAM0iD,EAAmC1iD,KACzCgC,SAAU0gD,EAAmC1gD,SAC7CjO,QAAS2uD,EAAmC3uD,QAC5C8sB,UAlFyB,SAAC7gB,GACrCpJ,GAILkxB,GAAS,IAAA29B,iCAAgCzlD,EAAKxG,MAAO5C,GACzD,EA6EoBG,cAAe4rD,MAMvC,IAEA,UAAeP,C,47CChSf,kBACA,WAOMsD,EAAiC,SAACnyD,GAC5B,IAAA0W,EAA+B1W,EAAK,YAAvBoW,EAAkBpW,EAAK,KAAdk5C,EAAI,EAAKl5C,EAAjC,wBAEN,OACI,yBAAKwB,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAYD,MAAM,8BAAiC8nC,GACvF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAMkK,EAAanF,EAAE,qEAI3C,EAEA4gD,EAAargD,YAAc,eAE3B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeogD,C,sNC7Bf,eAea,EAAAC,mBAAqB,SAC9BC,EACApsD,GAC4B,OAC5BhD,KAAM,EAAAqvD,qBACND,cAAa,EACbpsD,MAAK,EAHuB,EAMnB,EAAAssD,8BAAgC,SAACF,GAAwE,OAClHpvD,KAAM,EAAAuvD,mCACNH,cAAa,EAFqG,EAKzG,EAAAI,yBAA2B,SAACJ,GAA0E,OAC/GpvD,KAAM,EAAAyvD,qCACNL,cAAa,EAFkG,EAKtG,EAAAM,8BAAgC,SACzCN,EACAtuD,GACuC,OACvCd,KAAM,EAAA2vD,mCACN7uD,MAAK,EACLsuD,cAAa,EAH0B,EAM9B,EAAAQ,qBAAuB,WAAoB,OACpD5vD,KAAM,EAAAi1C,MAD8C,C,8BC1CxD,WAAgB,KAAO,2BAA2B,UAAY,gCAAgC,uBAAuB,2CAA2C,OAAS,6BAA6B,SAAW,+B,oeCDjN,kBA8BS,EAAA4a,kBAhBiB,WAChB,QAA+B,UAAMzuD,SAAmB,MAAK,GAA5DiV,EAAU,KAAEy5C,EAAc,KAC3BC,EAA2B,UAAMrqD,OAAyC,MAEhF,OAAO,UAAMnE,SAAQ,WACjB,MAAO,CACH8U,WAAU,EACVy5C,eAAc,EACdE,sBAAuBD,EAAyBznD,QAChD2nD,0BAA2B,SAACC,GACxBH,EAAyBznD,QAAU4nD,CACvC,EAER,GAAG,CAAC75C,EAAYy5C,GACpB,C,wHC5BA,eAEa,EAAAK,uCAAyC,EAAI,EAAA/T,S,4LCF1D,kBACA,cACA,WAEA,UACA,aACA,WAEA,cAEM1/C,EAAK,UAAWC,KAAK,WAsBrByzD,EAAiD,CAAC,EAAAC,kBAAkBC,OAAQ,EAAAD,kBAAkBE,OAEvF,EAAAC,uBAAoB,MAC5B,EAAAH,kBAAkBC,QAAS,yEAC5B,EAAC,EAAAD,kBAAkBE,OAAQ,wE,GAG/B,IAAME,EAA0C,UAAM3zD,MAAK,SAACC,GAEpD,IAAAiF,EAUAjF,EAAK,MATL0F,EASA1F,EAAK,YARL8c,EAQA9c,EAAK,SAPLqF,EAOArF,EAAK,WANLmF,EAMAnF,EAAK,WALLoF,EAKApF,EAAK,SAJLwF,EAIAxF,EAAK,WAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLyF,EACAzF,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExB6yD,EAAmB,UAAMnvD,SAC3B,WACI,OAAA6uD,EAAqBh8C,KAAI,SAACu8C,GACtB,MAAO,CACH3uD,MAAO2uD,EACP7sD,MAAOlG,EAAE,EAAA4yD,qBAAqBG,IAEtC,GALA,GAMJ,CAAC/yD,IAyBL,OACI,wBAAC,UAAa,CACVsG,cAAelC,EACfS,YAAaA,EACbvD,QAASwxD,EACTzuD,SAfa,SAACD,GAClB6X,EAAS7X,EACb,EAcQI,WAAYA,EACZyB,aA7Ba,SAACN,GAClB,OAAKA,EAKD,+BAAK9F,UAAWf,EAAG,UAAWgT,IAAKnM,EAAOO,OACrCP,EAAOO,OALL,IAQf,EAoBQS,eAVe,SAAChB,GAA4B,OAAAA,EAAOvB,KAAP,EAW5C1C,gBAAiB,EAAAC,4BAA4BiF,WAC7CtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTE,gBAAiBA,EACjBiC,QAtBY,WAChBoV,EAAS,KACb,GAuBJ,IAEA,UAAe42C,C,o7BC7Gf,kBACA,cAEA,cACA,WACA,cAEM/zD,EAAK,UAAWC,KAAK,WAUrBi0D,EAA0D,SAAC,G,IAAElmD,EAAM,SACrE,OAAO,wBAAMjN,UAAWf,EAAG,2BAA4BgO,EAC3D,EAEMmmD,EAA+C,SAAC,G,IAAEnmD,EAAM,SAC1D,OAAO,wBAAMjN,UAAWf,EAAG,oBAAqBgO,EACpD,EAEMomD,EAA0C,SAAC,G,IAAEn7C,EAAI,OACnD,OAAO,wBAAMlY,UAAWf,EAAG,iBAAkBiZ,EACjD,EAEMo7C,EAAoDl0D,EAAMC,MAAK,SAACC,GAC1D,IAAAi0D,EAA0Ej0D,EAAK,0BAApDk0D,EAA+Cl0D,EAAK,YAAvCm0D,EAAkCn0D,EAAK,SAA7Bo0D,EAAwBp0D,EAAK,OAArB2mB,EAAgB3mB,EAAK,YAEvF,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,8CACRE,WAAY,CACR8jD,SAAU,gBAACR,EAAyB,CAAClmD,OAAQsmD,IAC7CK,eAAgB,gBAACR,EAAc,CAACnmD,OAAQumD,IACxCC,SAAU,gBAAC,UAAQ,CAACI,SAAUJ,IAC9BC,OAAQ,gBAAC,UAAQ,CAACG,SAAUH,IAC5BztC,YAAa,gBAACotC,EAAW,CAACn7C,KAAM+N,OAKpD,IAEA,UAAeqtC,C,o2BChDf,kBACA,WAQMQ,EAA4D10D,EAAMC,MAAK,SAACC,GAClE,IAAAy0D,EAAqBz0D,EAAK,iBAE1Ba,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2zD,EAIE,4BAAO5zD,EAAE,8EAHL,IAIf,IAEA,UAAe2zD,C,w3BCrBf,kBACA,WAQME,EAAkC,SAAC10D,GAC7B,IAAAoW,EAA+DpW,EAAK,KAA9DU,EAAyDV,EAAK,UAAnD,EAA8CA,EAAK,UAAnD2B,OAAS,IAAG,IAAAC,qBAAqBC,SAAQ,EAElE,OACI,uBACIuP,MAAM,6BACN5P,MAAO4U,GAAQ,EAAAC,kBACfvK,OAAQsK,GAAQ,EAAAC,kBAChBhF,QAAQ,YACR3Q,UAAWA,GAEX,wBACI6Q,EAAE,oEACF/E,KAAM7K,EACN2P,SAAS,YAIzB,EAEAojD,EAAc5iD,YAAc,gBAE5B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAe2iD,C,o1CCrCf,kBACA,cACA,WACA,cACA,WAcA,cACA,cACA,cACA,cAEa,EAAAC,mCAAqC,SAACC,GAC/C,OAAQA,GACJ,KAAK,EAAAC,2BAA2B1gD,SAC5B,OAAO,gBAAC,UAAQ,CAACxS,UAAW,EAAAC,qBAAqBsS,YAAakC,KAAM,EAAAC,oBAExE,KAAK,EAAAw+C,2BAA2BhhD,UAC5B,OAAO,gBAAC,UAAe,CAACsC,QAAS,GAAKxU,UAAW,EAAAC,qBAAqB0Q,SAE1E,KAAK,EAAAuiD,2BAA2BxiD,QAC5B,OAAO,gBAAC,UAAe,CAAC8D,QAAS,GAAKxU,UAAW,EAAAC,qBAAqBkS,YAE1E,QACI,OAAO,KAGnB,EAEa,EAAAghD,sCAAwC,SAAC1rC,GAClD,OAAQA,IACC,EAAA2rC,mBAAmBrvB,WACb,IAAAivB,oCAAmC,YAGnC,IAGnB,EAEa,EAAAK,uCAAyC,SAAC5rC,GACnD,OAAQA,IACC,EAAA6rC,gBAAgBC,MACV,IAAAP,oCAAmC,YAGnC,IAGnB,EAEa,EAAAQ,sCAAwC,SAAC/rC,GAClD,OAAQA,GACJ,KAAK,EAAAgsC,eAAe7vB,kBAChB,OAAO,IAAAovB,oCAAmC,WAE9C,KAAK,EAAAS,eAAeC,SAChB,OAAO,IAAAV,oCAAmC,YAE9C,QACI,OAAO,KAGnB,EAEa,EAAAW,gDAAkD,SAC3DlsC,GAEA,OAAQA,GACJ,KAAK,EAAAmsC,yBAAyBv3B,iBAC9B,KAAK,EAAAu3B,yBAAyBC,iBAC1B,OAAO,IAAAb,oCAAmC,WAE9C,KAAK,EAAAY,yBAAyBL,KAC1B,OAAO,IAAAP,oCAAmC,YAE9C,QACI,OAAO,KAGnB,EAEa,EAAAc,4CAA8C,SAACrsC,GACxD,OAAQA,GACJ,KAAK,EAAAssC,cAAcC,WACf,OAAO,IAAAhB,oCAAmC,aAE9C,KAAK,EAAAe,cAAcxpC,QACf,OAAO,IAAAyoC,oCAAmC,WAE9C,KAAK,EAAAe,cAAcE,UACf,OAAO,IAAAjB,oCAAmC,YAE9C,QACI,OAAO,KAGnB,EAEa,EAAAkB,+BAAiC,SAACjB,GAC3C,OAAQA,GAEJ,KAAK,EAAAC,2BAA2B3iD,OAC5B,OAAO,gBAAC,UAAO,CAACvQ,UAAW,EAAAC,qBAAqB8R,YAAagD,YAAa,EAAA9U,qBAAqBgG,QAGnG,KAAK,EAAAitD,2BAA2B1gD,SAC5B,OACI,gBAAC,UAAO,CAACxS,UAAW,EAAAC,qBAAqB8R,YAAagD,YAAa,EAAA9U,qBAAqBsS,cAIhG,KAAK,EAAA2gD,2BAA2BhhD,UAC5B,OAAO,gBAAC,UAAO,CAAClS,UAAW,EAAAC,qBAAqB8R,YAAagD,YAAa,EAAA9U,qBAAqB0Q,SAGnG,KAAK,EAAAuiD,2BAA2BxiD,QAC5B,OACI,gBAAC,UAAO,CAAC1Q,UAAW,EAAAC,qBAAqB8R,YAAagD,YAAa,EAAA9U,qBAAqBkS,YAIhG,QACI,OAAO,gBAAC,UAAO,CAACnS,UAAW,EAAAC,qBAAqB8R,YAAagD,YAAa,EAAA9U,qBAAqBgG,QAG3G,EAEa,EAAAkuD,mCAAqC,SAAClB,GAC/C,OAAQA,GAEJ,KAAK,EAAAC,2BAA2B3iD,OAC5B,OAAO,gBAAC,UAAa,CAACvQ,UAAW,EAAAC,qBAAqB+W,KAAMjC,YAAa,EAAA9U,qBAAqBgG,QAGlG,KAAK,EAAAitD,2BAA2B1gD,SAC5B,OACI,gBAAC,UAAa,CAACxS,UAAW,EAAAC,qBAAqBsS,YAAawC,YAAa,EAAA9U,qBAAqBgG,QAItG,KAAK,EAAAitD,2BAA2BhhD,UAC5B,OAAO,gBAAC,UAAa,CAAClS,UAAW,EAAAC,qBAAqB0Q,OAAQoE,YAAa,EAAA9U,qBAAqBgG,QAGpG,KAAK,EAAAitD,2BAA2BxiD,QAMhC,QACI,OACI,gBAAC,UAAa,CAAC1Q,UAAW,EAAAC,qBAAqBkS,UAAW4C,YAAa,EAAA9U,qBAAqBgG,QAI5G,EAEa,EAAAmuD,wCAA0C,SAACnB,GACpD,OAAQA,GAEJ,KAAK,EAAAC,2BAA2B3iD,OAC5B,OACI,gBAAC,UAAO,CACJV,YAAa,GACb7P,UAAW,EAAAC,qBAAqB+W,KAChCjC,YAAa,EAAA9U,qBAAqB+W,OAK9C,KAAK,EAAAk8C,2BAA2B1gD,SAC5B,OACI,gBAAC,UAAO,CACJ3C,YAAa,GACb7P,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqBsS,cAK9C,KAAK,EAAA2gD,2BAA2BhhD,UAC5B,OACI,gBAAC,UAAO,CACJrC,YAAa,GACb7P,UAAW,EAAAC,qBAAqB0Q,OAChCoE,YAAa,EAAA9U,qBAAqB0Q,SAK9C,KAAK,EAAAuiD,2BAA2BxiD,QAC5B,OACI,gBAAC,UAAO,CACJb,YAAa,GACb7P,UAAW,EAAAC,qBAAqBkS,UAChC4C,YAAa,EAAA9U,qBAAqBkS,YAK9C,QACI,OACI,gBAAC,UAAO,CACJtC,YAAa,GACb7P,UAAW,EAAAC,qBAAqB0Q,OAChCoE,YAAa,EAAA9U,qBAAqB0Q,SAKtD,EAEa,EAAA0jD,yCAA2C,SAACpB,GACrD,OAAQA,GAEJ,KAAK,EAAAC,2BAA2B3iD,OAC5B,OACI,gBAAC,UAAQ,CACLkE,KAAM,EAAAC,kBACN7E,YAAa,GACb7P,UAAW,EAAAC,qBAAqB+W,KAChCjC,YAAa,EAAA9U,qBAAqB+W,OAK9C,KAAK,EAAAk8C,2BAA2B1gD,SAC5B,OACI,gBAAC,UAAQ,CACLiC,KAAM,EAAAC,kBACN7E,YAAa,GACb7P,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqBsS,cAK9C,KAAK,EAAA2gD,2BAA2BhhD,UAC5B,OACI,gBAAC,UAAQ,CACLuC,KAAM,EAAAC,kBACN7E,YAAa,GACb7P,UAAW,EAAAC,qBAAqB0Q,OAChCoE,YAAa,EAAA9U,qBAAqB0Q,SAK9C,KAAK,EAAAuiD,2BAA2BxiD,QAC5B,OACI,gBAAC,UAAQ,CACL+D,KAAM,EAAAC,kBACN7E,YAAa,GACb7P,UAAW,EAAAC,qBAAqBkS,UAChC4C,YAAa,EAAA9U,qBAAqBkS,YAK9C,QACI,OACI,gBAAC,UAAQ,CACLsC,KAAM,EAAAC,kBACN7E,YAAa,GACb7P,UAAW,EAAAC,qBAAqB0Q,OAChCoE,YAAa,EAAA9U,qBAAqB0Q,SAKtD,C,4JC3RA,kBACA,cACA,aACA,cAEM3S,EAAK,UAAWC,KAAK,WAWrBq2D,EAAsC,UAAMl2D,MAAK,SAACC,GAC5C,IAAA4O,EAAsE5O,EAAK,SAAjEk2D,EAA4Dl2D,EAAK,iBAA/Cm2D,EAA0Cn2D,EAAK,mBAA3Bo2D,EAAsBp2D,EAAK,kBAEnF,OACI,+BAAKU,UAAWf,EAAG,YACdu2D,EACD,+BACIx1D,UAAWf,EAAG,SAAU,CACpB,4BAA6Bu2D,IAEjClqD,IAAKmqD,EACLE,SAAUD,GAEV,wBAAC,UAAc,CAAC11D,UAAWf,EAAG,YAAaiP,IAI3D,IAEA,UAAeqnD,C,2sBCnCf,eA6Ba,EAAA7F,qBAAuB,SAChC/gB,EACAltC,GAC8B,YAC9Bc,KAAM,EAAAqzD,gCACHjnB,GAAM,CACTltC,QAAO,GAHuB,EAMrB,EAAAo0D,0BAA4B,SAACC,GAAiE,OACvGvzD,KAAM,EAAAwzD,qCACND,KAAI,EAFmG,EAK9F,EAAAE,4BAA8B,SACvCF,EACAtG,GACqC,OACrCjtD,KAAM,EAAA0zD,uCACNH,KAAI,EACJtG,SAAQ,EAH6B,EAM5B,EAAA0G,0BAA4B,SACrCJ,EACAzyD,GACmC,OACnCd,KAAM,EAAA4zD,qCACN9yD,MAAK,EACLyyD,KAAI,EAH+B,EAM1B,EAAAM,6BAA+B,SACxC7wD,EACAnB,GACsC,OACtC7B,KAAM,EAAA8zD,gCACN9wD,MAAK,EACLnB,UAAS,EAH6B,EAM7B,EAAAkyD,kCAAoC,WAAgD,OAC7F/zD,KAAM,EAAAg0D,sCADuF,EAIpF,EAAAC,kCAAoC,SAACnzD,GAA2D,OACzGd,KAAM,EAAAk0D,sCACNpzD,MAAK,EAFoG,EAKhG,EAAAqzD,oCAAsC,WAAkD,OACjGn0D,KAAM,EAAAo0D,wCAD2F,EAIxF,EAAAnF,gCAAkC,SAC3CjsD,EACAnB,GACyC,OACzC7B,KAAM,EAAAq0D,mCACNrxD,MAAK,EACLnB,UAAS,EAHgC,EAMhC,EAAAyyD,qCAAuC,WAAmD,OACnGt0D,KAAM,EAAAu0D,yCAD6F,EAI1F,EAAAC,qCAAuC,SAAC1zD,GAA8D,OAC/Gd,KAAM,EAAAy0D,yCACN3zD,MAAK,EAF0G,EAKtG,EAAA4zD,uCAAyC,WAAqD,OACvG10D,KAAM,EAAA20D,2CADiG,C,syBChG9F,EAAAC,gBAAkB,8BAClB,EAAAC,sBAAwB,oCACxB,EAAAC,wBAA0B,sCAC1B,EAAAC,sBAAwB,oCAExB,EAAAC,uBAAyB,qCACzB,EAAAC,6BAA+B,2CAC/B,EAAAC,+BAAiC,6CACjC,EAAAC,6BAA+B,2CAE/B,EAAAC,wBAA0B,sCAC1B,EAAAC,8BAAgC,4CAChC,EAAAC,gCAAkC,8CAClC,EAAAC,8BAAgC,4CAEhC,EAAAC,yBAA2B,uCAC3B,EAAAC,gBAAkB,8BAClB,EAAAC,sBAAwB,oCACxB,EAAAC,wBAA0B,sCAC1B,EAAAC,sBAAwB,oCAExB,EAAAC,iBAAmB,+BACnB,EAAAC,uBAAyB,qCACzB,EAAAC,yBAA2B,uCAC3B,EAAAC,uBAAyB,qCAEzB,EAAAC,2BAA6B,yCAC7B,EAAAC,iCAAmC,+CACnC,EAAAC,mCAAqC,iDACrC,EAAAC,iCAAmC,+CAEnC,EAAAC,SAAW,uBACX,EAAAC,WAAa,yBAEb,EAAAp1D,gBAAkB,6B,+NCrClB,EAAAq1D,qBAAuB,mCACvB,EAAAC,4BAA8B,0CAC9B,EAAAC,oBAAsB,kCACtB,EAAA91D,qBAAuB,mCACvB,EAAAE,qBAAuB,mCACvB,EAAAG,uBAAyB,oC,o7BCPtC,kBAEA,WACA,cACA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,WACA,cACA,WACA,cACA,cACA,cAGA,UAEA,cACA,cACA,cACA,cACA,cACA,aACA,cACA,aACA,aAGA,SAKA,WACA,cACA,cACA,WACA,WACA,WACA,cACA,cACA,cACA,WACA,WACA,WACA,WACA,cAGA,WACA,WASM01D,EAAoB,IAAI7qC,IAAmB,CAAC,EAAA4mC,cAAcC,WAAY,EAAAD,cAAcxsD,OACpF0wD,EAAuB,IAAI9qC,IAAmB,CAAC,EAAA4mC,cAAcC,WAAY,EAAAD,cAAcxsD,OAEvF2wD,EAAyC/5D,EAAMC,MAAK,SAACC,GAC/C,IAAA85D,EAAgD95D,EAAK,iBAAnC+5D,EAA8B/5D,EAAK,SAAzBg6D,EAAoBh6D,EAAK,gBAGrDwvC,GADO,IAAAF,aACS,MAElBsG,GAAa,eACbC,EAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,EAElB,GAAG,CAACA,IAEI/0C,GAAM,IAAAC,kBAAgB,EAExBm5D,GAAiB,IAAAjkD,aAAY,EAAAkkD,0BAC7B/qD,GAAa,IAAA6G,cAAY,IAAA9G,kBAAiBsgC,IAC1C2qB,IAAuB,IAAAnkD,cAAY,IAAA1G,4BAA2BkgC,IAC9DhsC,IAAgB,IAAAwS,cAAY,IAAAxG,+BAA8BggC,IAE1Djb,IAAW,IAAAC,eAEX4lC,IAAc,IAAA51D,UAAQ,WACxB,MAAO,CAAC2K,aAAU,EAAVA,EAAYkrD,YAAYrrC,OAAO,EAAA4/B,SAC3C,GAAG,CAACz/C,aAAU,EAAVA,EAAYkrD,cAEhB,IAAAC,kBAAiBF,IAEjBt6D,EAAMoL,WAAU,WACZqpB,IAAS,IAAAgmC,iBAAgB/qB,EAAO,CAAEzN,eAAe,IACrD,GAAG,CAACxN,GAAUib,IAEd,IAAM1N,GAAkChiC,EAAMkG,aAAY,WACtDuuB,IAAS,IAAAgmC,iBAAgB/qB,EAAO,CAAEzN,eAAe,IACrD,GAAG,CAACxN,GAAUib,KACd,aAA4B1N,IAE5B,IAAMmI,GAAuBnqC,EAAMkG,aAAY,WAC3CuuB,IAAS,IAAAgmC,iBAAgB/qB,EAAO,CAAEzN,eAAe,IACrD,GAAG,CAACxN,GAAUib,IAERxN,GAAqBliC,EAAMkG,aAAY,WACzCuuB,IAAS,IAAAgmC,iBAAgB/qB,EAAO,CAAEzN,eAAe,IACrD,GAAG,CAACxN,GAAUib,KACd,IAAAvN,qBAAoB,EAAAu4B,mBAAoBx4B,IAExC,IAMMy4B,IAA+B,gBAErC,aAAgCj3D,GAAe,CAACi3D,KAEhD,IAAMt4D,GAAgDrC,EAAM0E,SAAQ,WAGhE,MAAO,CAFUm1D,EAAkB1qC,IAAI9f,aAAU,EAAVA,EAAYia,QAIzC,CACIriB,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBkS,YACjD/M,MAAOlG,EAAE,sCAGjBqE,SAAU,WACNu1D,GAA6B7xB,QAAQ,CAAE18B,GAAIsjC,GAC/C,GAEJ,KAEd,GAAG,CAACrgC,EAAYsrD,GAA8BjrB,EAAO3uC,KAErD,aAAgCo5D,EAAgB,CAACQ,KAEjD,IAOMC,IAAuB,IAAA1kD,cAAY,IAAA2kD,4BAA2BxrD,aAAU,EAAVA,EAAYkrD,aAE1EO,GAAchB,EAAqB3qC,IAAI9f,aAAU,EAAVA,EAAYia,QAEnDyxC,IAAY,IAAAr2D,UAAQ,W,MACtB,OACsB,QAAlB,EAAA2K,aAAU,EAAVA,EAAYikC,cAAM,eAAE/7B,KAAI,SAACi8B,EAAOh8B,G,QAC5B,MAAO,CACH+9B,UAAyB,QAAd,EAAA/B,aAAK,EAALA,EAAO5M,eAAO,eAAE2O,UAC3BD,SAAwB,QAAd,EAAA9B,aAAK,EAALA,EAAO5M,eAAO,eAAE0O,SAC1BnyC,KAAMqwC,aAAK,EAALA,EAAOrwC,KACbqU,MAAK,EAEb,MAAM,EAEd,GAAG,CAACnI,IAEJ,OACI,gBAAC,UAAiB2mC,SAAQ,CAAC7wC,MAAO4wC,GAC9B,gBAAC,UAAuB,CACpBl1C,aAAa,cACbo1C,gBAAiBl1C,EAAE,wCACnBm1C,eACI,gBAAC,UAAwB,KACpBikB,EAAep2D,SAAW,gBAAC,UAAa,MACzC,gBAAC,UAAmB,KAChB,gBAAC,UAAoB,CACjB5D,MAAOY,EAAE,4BACTL,QAnEJ,YACpB,IAAA+pD,oBAAkB,WACdwP,GACJ,GACJ,EAgE4B35D,eACI,gCACI,gBAAC,UAAa,CACVkU,eAAa,EACb8U,OAAQja,aAAU,EAAVA,EAAYia,OACpB0xC,WAAY3rD,aAAU,EAAVA,EAAY2rD,WACxBt9C,OAAQs8C,EAAmB3qD,aAAU,EAAVA,EAAYqO,OAAS,QAI5Djd,UACI,gBAAC,UAAe,CACZ4B,QAASA,GACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,OALP,EAQtCO,gBAAiB,EAAAC,4BAA4BC,gBAIzD,gBAAC,UAA0B,CACvBe,cAAeA,GACfu3D,cAAe/xD,QAAQmG,GACvB6rD,kBAAmBf,EAAep2D,WAG1C,gBAAC,UAAa,KACV,gBAAC,UAAoB,CACjBL,cAAeA,GACfu3D,cAAe/xD,QAAQmG,GACvBg9B,QAASlC,GACTgxB,kBAAmB,WAElB9rD,EACG,gBAAC,UAAU,CAACA,WAAYA,EAAY6qD,gBAAiBA,IACrD,OAGXY,IACG,gBAAC,UAAmB,CAACl9C,aAAW,GAC5B,gBAAC,UAAW,CAACxR,GAAIsjC,EAAO0rB,kBAAmBf,OAK3D/jB,iBAAkBv1C,EAAE,qCACpBw1C,gBACI,gBAAC,UAAuB,CACpBjD,OAAQynB,GACRloD,IAAK68B,EACLrJ,MAAOu0B,cAAoB,EAApBA,GAAsBjuD,KAC7B0uD,aAAcT,cAAoB,EAApBA,GAAsBl3D,kBAIhD,gBAAC,UAAoB,CACjBiJ,KAAMguD,GAA6BhuD,KACnC6gB,UAlGe,W,MACjBkiB,EAAyC,QAAjC,EAAAirB,GAA6BhuD,YAAI,eAAEP,GAC7CsjC,GACAjb,IAAS,IAAA6mC,UAAS5rB,GAE1B,EA8FY/gC,SAAUgsD,GAA6BhsD,SACvCjO,QAASi6D,GAA6Bj6D,QACtCgD,cAAey2D,IAI/B,IAEA,UAAeJ,C,8BC1Pf,WAAgB,uCAAuC,0DAA0D,UAAY,+BAA+B,uBAAuB,0CAA0C,iCAAiC,oDAAoD,WAAa,gCAAgC,8BAA8B,iDAAiD,qBAAqB,wCAAwC,qBAAqB,wCAAwC,0BAA0B,6CAA6C,sBAAsB,yCAAyC,0BAA0B,6CAA6C,8BAA8B,iDAAiD,qBAAqB,wCAAwC,wBAAwB,2CAA2C,sBAAsB,yCAAyC,OAAS,4BAA4B,SAAW,8B,o7BCDnjC,kBAEA,cACA,cAEA,cACA,cAEMl6D,EAAK,UAAWC,KAAK,WAQrBy7D,EAAiDv7D,EAAMC,MAAK,SAACC,GACvD,IAAAqD,EAAuCrD,EAAK,UAAjCsD,EAA4BtD,EAAK,YAApBklC,EAAellC,EAAK,WAEpD,OACI,gBAAC,UAAc,CAACU,UAAWf,EAAG,UAC1B,gBAAC,UAAgC,CAC7B0D,UAAWA,EACXC,YAAaA,EACb4hC,WAAYA,EACZo2B,gBAAc,IAI9B,IAEA,UAAeD,C,8BC9Bf,WAAgB,MAAQ,mDAAmD,OAAS,oDAAoD,SAAW,sD,wECSnJ,sCAAyGhsB,GAI7F,IAAAksB,EAAmClsB,EAAM,iBAAvBmsB,EAAiBnsB,EAAM,aAE3C4c,GAAMuP,aAAY,EAAZA,EAAcnkD,KAAI,SAACokD,GAAU,OAAAA,EAAMvvD,EAAN,IAAU8iB,OAAO,EAAA4/B,YAAa,GACjE8M,EAAqB,IAAI5sC,IAAIm9B,GAEnC,OACIsP,aAAgB,EAAhBA,EAAkBvsC,QACd,SAAC2sC,GACG,OAACA,EAAgBC,gBAAkBF,EAAmBzsC,IAAI0sC,EAAgBC,cAA1E,MACH,EAEb,EAzBA,c,8BCCA,WAAgB,MAAQ,uCAAuC,KAAO,sCAAsC,QAAU,yCAAyC,cAAc,6CAA6C,uBAAuB,sDAAsD,0BAA0B,yDAAyD,mBAAmB,kDAAkD,wBAAwB,uDAAuD,iBAAiB,gDAAgD,OAAS,wCAAwC,SAAW,0C,o7BCD3oB,kBAEA,cAKMj8D,EAJN,YAIW,QAAWC,KAAK,WAErBi8D,EAAyC/7D,EAAMC,MAAK,WACtD,OACI,gCACI,uBAAKW,UAAWf,EAAG,gBAAiB,0BACpC,uBAAKe,UAAWf,EAAG,gBAAiB,8BACpC,uBAAKe,UAAWf,EAAG,gBAAiB,0BACpC,uBAAKe,UAAWf,EAAG,gBAAiB,8BAGhD,IAEA,UAAek8D,C,smDCpBf,eACA,WACA,cACA,WACA,cAEA,SAAUC,I,8DAC2D,UAAM,IAAAlvD,QAAO,EAAAmvD,yB,OAG9E,OAHMv4D,EAA2D,UAE3C,aAAiBA,GAKvC,IAAM,IAAAsJ,MAAI,IAAAkvD,yBAHN,I,OAKyE,OAF7E,SAE6E,GAAM,UAAkBC,gB,cAA/F,kBAAuE,SAAsC,IAA5Gl4D,EAAK,KAAEqJ,EAAQ,KAClBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAovD,qBAAoB,CAAEn4D,MAAK,MADrC,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAAqvD,uBAAsB,CAAEC,UAAWhvD,GAAY,O,IAO7D,UAJA,W,kDACI,UAAM,IAAAG,WAAU,CAAC,EAAA8uD,eAAep5D,MAAO64D,I,cAAvC,S,6BC1BJ,IAAYp8D,E,qEAAZ,SAAYA,GACR,kDACA,+CACA,+CACA,mDACA,iDACA,+CACA,wCACA,qCACA,wEACA,uDACA,iDACA,gEACA,2DACA,uDACA,qCACA,uCACA,yCACA,4DACA,gEACA,wCACA,qCACH,CAtBD,CAAYA,IAAU,aAAVA,EAAU,I,iNCAtB,eAuBa,EAAA48D,UAAY,WAAwB,OAC7Cr5D,KAAM,EAAAs5D,mBADuC,EAIpC,EAAAC,eAAiB,WAA6B,OACvDv5D,KAAM,EAAAw5D,yBADiD,EAI9C,EAAAC,iBAAmB,SAACrjB,GAA4C,OACzEp2C,KAAM,EAAA05D,2BACNC,YAAavjB,EAF4D,EAKhE,EAAAwjB,eAAiB,SAAC94D,GAAwC,OACnEd,KAAM,EAAA65D,yBACN/4D,MAAK,EAF8D,EAK1D,EAAAg5D,UAAY,SAAC1jB,EAAoB2jB,EAA4Bl0B,GAA4C,OAClH7lC,KAAM,EAAAg6D,mBACN5jB,KAAI,EACJ2jB,SAAQ,EACRl0B,QAAO,EAJ2G,EAOzG,EAAAo0B,eAAiB,WAA6B,OACvDj6D,KAAM,EAAAk6D,yBADiD,EAI9C,EAAAC,iBAAmB,SAACR,EAAoBS,GAA+D,OAChHp6D,KAAM,EAAAq6D,2BACNV,YAAW,EACXS,kBAAiB,EAH+F,EAMvG,EAAAE,eAAiB,SAACx5D,GAAwC,OACnEd,KAAM,EAAAu6D,yBACNz5D,MAAK,EAF8D,C,4MC1DvE,IAGM05D,EAHN,YAG+C,QAAMr6D,cAA4D,CAC7Gs6D,kBAAkB,EAClBC,oBAAqB,WAErB,EACAC,uBAAwB,KACxBC,0BAA2B,WAE3B,EACAC,gBAAiB,KACjBC,mBAAoB,WAEpB,EACAC,+BAAgC,GAChCC,oCAAqC,WAErC,EACAC,2BAA2B,EAC3BC,mBAAoB,KACpBC,sBAAuB,WAEvB,IAGK,EAAAX,uCAAAA,C,o7BC3BT,kBACA,WACA,cACA,aACA,cACA,cAEM99D,EAAK,UAAWC,KAAK,WASrBy+D,EAAuCv+D,EAAMC,MAAK,SAACC,GAC7C,IAAAs+D,EAA6Dt+D,EAAK,eAAlDk0D,EAA6Cl0D,EAAK,YAArCu+D,EAAgCv+D,EAAK,WAAzBw+D,EAAoBx+D,EAAK,gBAE1E,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,uCACRE,WAAY,CACR+tD,eAAgB,gBAAC,UAAU,CAACpyD,GAAIoyD,IAChCpK,YAAa,gBAAC,UAAU,CAAChoD,GAAIgoD,IAC7BC,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,OAKhD,IAEA,UAAeH,C,8BCjCf,WAAgB,MAAQ,0DAA0D,OAAS,2DAA2D,SAAW,6D,o7BCDjK,kBAEA,cACA,cAEA,cACA,cAGA,WACA,YACA,cAQM1+D,EAAK,UAAWC,KAAK,WAErB6+D,EAAkC3+D,EAAMC,MAAK,SAACC,GACxC,IAAA0+D,EAAwD1+D,EAAK,gBAA5C2+D,EAAuC3+D,EAAK,iBAA1B4+D,EAAqB5+D,EAAK,iBAE7Da,GAAM,IAAAC,kBAAgB,EAExB+9D,EAAY,SAAC,G,IACfj8D,EAAK,QACL8C,EAAW,cACXxE,EAAK,QACLsS,EAAc,iBAOd,OAAK,aAAS5Q,GAKV,gBAAC,UAAO,CACJlC,UAAWf,EAAG,WACdoB,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACIqE,EACI,gBAAC,UAAc,CAAChF,UAAWf,EAAG,mBAAoBuB,MAAO,EAAAK,wBAAwBH,OAC5EsE,GAEL,OAGP,SAACiuB,EAAQmrC,GAAsB,OAC5B,gBAAC,UAAS,CAACxqD,eAAa,EAACpT,MAAOA,EAAOR,UAAWo+D,GAC7CtrD,EAAiB,IAAM,GACvB5Q,EAHuB,IAhB7B,IAwBf,EAEA,OACI,uBAAKlC,UAAWf,EAAG,SACdk/D,EAAU,CACPj8D,MAAOg8D,EACPl5D,YAAa7E,EAAE,2CACfK,MAAO,EAAAyS,mBAAmBK,OAE7B2qD,EACKE,EAAU,CACNj8D,MAAO+7D,EACPj5D,YAAa7E,EAAE,+CACfK,MAAO,EAAAyS,mBAAmBvB,QAE9B,KACLssD,EACKG,EAAU,CACNj8D,MAAO87D,EACPlrD,gBAAgB,EAChB9N,YAAa7E,EAAE,0CACfK,MAAO,EAAAyS,mBAAmBrB,SAE9B,KAGlB,IAEA,UAAemsD,C,4JC1Ff,eACA,aAMA,UAJqC,WACjC,OAAO,IAAA9rC,YAAW,UACtB,C,ypCCLA,kBACA,WACA,UACA,aACA,WAEA,WACA,WACA,cAmBMosC,EAAqC,UAAMh/D,MAAK,SAACC,GAE/C,IAAA8c,EAWA9c,EAAK,SAVLiF,EAUAjF,EAAK,MATLuC,EASAvC,EAAK,gBARLU,EAQAV,EAAK,UAPLoF,EAOApF,EAAK,SANLmF,EAMAnF,EAAK,WALLqF,EAKArF,EAAK,WAJLwF,EAIAxF,EAAK,WAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADL0F,EACA1F,EAAK,YAEDa,GAAM,IAAAC,kBAAgB,EAExBs7D,GAAY,IAAApmD,aAAY,EAAAgpD,iBACxBvlB,GAAe,IAAAzjC,aAAY,EAAA+lD,wBAE3BxnC,GAAW,IAAAC,eAoBjB,OAlBA,UAAMtpB,WAAU,WACZqpB,GAAS,IAAA8nC,kBACb,GAAG,CAAC9nC,IAiBA,wBAAC,UAAa,CACV7zB,UAAWA,EACXyG,cAAelC,EACftE,aAAa,YACb+E,YAAaA,GAAe7E,EAAE,yCAC9BsB,QAASi6D,GAAa,GACtBl3D,SAAU4X,EACVzX,WAAYo0C,EAAa51C,SAAWwB,EACpCD,SAAUA,EACVD,WAAYA,EACZ2B,aAzBa,SAACN,EAAkBd,G,QACpC,OAAKc,EAKD,oCACKA,EAAOy4D,UAAY,G,IAAKj2D,QAAqB,QAAb,EAAAxC,EAAO04D,cAAM,eAAEj9D,SAAW,oC,IAAqB,QAAb,EAAAuE,EAAO04D,cAAM,a,EAAE5vC,KAAK,M,MALpF5pB,CAQf,EAgBQ8B,eAde,SAAChB,GAA4B,OAAAA,aAAM,EAANA,EAAQy4D,WAAY,IAApB,EAe5C18D,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEJ,gBAAiB,WACb,OAAAoyC,EAAa51C,QAAU,wBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAA0B,IAA/F,EAEJ/B,WAAYA,EACZF,OAAQA,EACRC,QAASA,GAGrB,IAEA,UAAew5D,C,s7BC3Ff,eASA,cACA,WACA,UAEa,EAAAI,mCAAmE,CAC5EnxD,MAAO,GACP/H,MAAO,KACPkI,MAAO,KACPE,KAAM,CAAC,GAGX,IAAM9K,EAAsC,CAAC,EAE7C,mBACIG,EACAC,G,YAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAA0R,gCACO,IAAAF,EAAiC9Q,EAAM,WAA3BsC,EAAqBtC,EAAM,MAEzCy7D,EAAe17D,EAFMoB,EAAcnB,EAAM,YAEN,EAAAw7D,mCAEzC,OAAO,EAAP,KACOz7D,KAAK,MACPoB,GAAS,OACHs6D,IACA,IAAAC,kBAAiBD,EAAc3qD,EAAYxO,IAAM,IAIhE,KAAK,EAAA6O,kCACO7O,EAA+CtC,EAAM,MAA9C8Q,EAAwC9Q,EAAM,WAArD,IAAmBkR,EAA4BlR,EAAM,aAI7D,OAFMy7D,EAAe17D,EAFoBoB,EAAcnB,EAAM,YAEpB,EAAAw7D,mCAElC,EAAP,KACOz7D,KAAK,MACPoB,GAAS,OACHs6D,IACA,IAAAE,oBAAmBF,EAAc3qD,EAAYxO,EAAO4O,IAAa,IAIhF,KAAK,EAAAG,gCACO,IAAAjR,EAAiCJ,EAAM,MAIzC47D,GAJS9qD,EAA0B9Q,EAAM,WAEzCy7D,EAAe17D,EAFMoB,EAAcnB,EAAM,YAEN,EAAAw7D,mCAExB,EAAH,KAAOC,EAAapxD,QAAK,IAMvC,OALAuxD,EAASC,OAAO/qD,EAAY,EAAG,EAAF,KACtB2qD,EAAapxD,MAAMyG,IAAW,CACjCjR,cAAe,UAAcQ,SAASD,MAGnC,EAAP,KACOL,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfpxD,MAAOuxD,IAAQ,IAI3B,KAAK,EAAApqD,aACO,IAAArQ,EAAmCnB,EAAM,UAA9BuR,EAAwBvR,EAAM,oBAE3C87D,EAA8B/7D,EAAMoB,IAAc,EAAAq6D,mCAExD,OAAO,EAAP,KACO57D,KAAY,MACduB,GAAS,OACH,EAAAq6D,qCACA,IAAAO,wBACC,EAAAP,mCACAM,EACAvqD,IACH,IAKb,KAAK,EAAA/Q,gBACD,OAAO,EAAP,GACOZ,GAGX,QACI,OAAOG,EAElB,C,+LClGD,eAEa,EAAAi8D,aAAe,KAAO,EAAA73D,KACtB,EAAA83D,cAAgB,IAAM,EAAA93D,KACtB,EAAA+3D,YAAc,EAAI,EAAA/3D,KAClB,EAAAg4D,cAAgB,IAAM,EAAAh4D,KACtB,EAAAi4D,mBAAqB,EAAAF,YAAc,EAAI,EAAAC,cAEvC,EAAA7zD,4BAA8B,uB,o7BCR3C,kBAEA,UAEA,WACA,WACA,WACA,cAGA,cACA,cACA,aACA,UACA,WACA,WACA,cAWM+zD,EAA6D,UAAMjgE,MAAK,SAACC,GACnE,IAAAU,EAA6CV,EAAK,UAAvCiF,EAAkCjF,EAAK,MAAhC8c,EAA2B9c,EAAK,SAAtBW,EAAiBX,EAAK,aAElDa,GAAM,IAAAC,kBAAgB,EAExB0rB,GAAkB,IAAAxW,aAAY,EAAAyW,mBAE9BtqB,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CACH,KACA,EAAAy7D,8BAA8B52B,OAC9B,EAAA42B,8BAA8B/zC,QAC9B,EAAA+zC,8BAA8BrK,UAC9B,EAAAqK,8BAA8Bh0C,SAChC5U,KAAI,SAAC+R,G,MACGxB,EAAa3iB,IAAUmkB,EAC7B,OAAe,OAAXA,EACO,CACHriB,MACI,wBAAC,UAA0B,CACvB6gB,WAAYA,EACZ7gB,MAAOlG,EAAE,6CAGjBqE,SAAU,WACN4X,EAAS,KACb,GAID,CACH/V,MACI,wBAAC,UAA0B,CACvBoF,KAAM,wBAAC,UAAgB,CAAC+zD,YAA4C,QAA/B,IAAAC,eAAe3zC,UAAgB,eAAGpD,KACvExB,WAAYA,EACZ7gB,MAAOlG,EAAE,EAAAu/D,mCAAmCh3C,MAGpDlkB,SAAU,WACN4X,EAASsM,EACb,EAER,GACJ,GAAG,CAACvoB,EAAGoE,EAAO6X,EAAU0P,IAExB,OACI,wBAAC,UAAe,CACZ9rB,UAAWA,EACXyB,QAASA,EACTxB,aAAc,UAAGA,EAAY,kBAC7ByB,cAAe,SAACC,EAAUZ,GAAY,OAClC,wBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACT22C,UAAW,wBAAC,UAAU,MACtBrxC,MAEUlG,EADNoE,EACQ,EAAAm7D,mCAAmCn7D,GACnC,2CAEZnD,gBAAiB,EAAAC,oBAAoBC,MACrCrB,aAAc,UAAGA,EAAY,aAXC,EActC4B,gBAAiB,EAAAC,4BAA4BC,aAGzD,IAEA,UAAeu9D,C,04BChGf,kBACA,WAOMK,EAA+B,SAACrgE,GAC1B,IAAA2B,EAAyB3B,EAAK,UAAnBU,EAAcV,EAAK,UAEtC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,YAAY3Q,UAAWA,GAC1F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,wBACR,wBACI/E,KAAM7K,EACN4P,EAAE,2OAKtB,EAEA8uD,EAAWvuD,YAAc,aAEzB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAesuD,EAEF,EAAAC,gBAAkB,CAC3BzjD,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WASR,OAAIryB,EACO,CACHzD,UAAW,EAAAC,qBAAqBkS,WAIpC3O,EACO,CACHxD,UAAW,EAAAC,qBAAqB0Q,QAIpCiuD,EACO,CACH5+D,UAAW,EAAAC,qBAAqBsS,aAIpC7O,EACO,CACH1D,UAAW,EAAAC,qBAAqBwQ,OAIjC,CACHzQ,UAAW81B,GAAYC,EAAY,EAAA91B,qBAAqB6U,UAAY,EAAA7U,qBAAqB+W,KAEjG,E,g5BC5EJ,kBACA,WAKa,EAAA8qC,mCACT,SAAwB+c,GACxB,gBAACC,EAAe3lD,GAMZ,OALmBhb,EAAM0E,SAAQ,WAC7B,OAAO,IAAAk8D,oBAAmBF,EAAQC,EAAY3lD,EAElD,GAAG,CAAC0lD,EAAQC,EAAY3lD,GAG5B,CAPA,C,8rBCRJ,kBAEA,cACA,WAgBA,WAEA,cAEA,UACA,WAEMnb,EAAK,UAAWC,KAAK,WAErB+gE,EAAgB,EAAI,EAAA74D,KAKpBH,IAAkB,MACnB,EAAAxG,iBAAiByG,OAAQ,EAAAhG,qBAAqBgG,MAC/C,EAAC,EAAAzG,iBAAiBC,OAAQ,EAAAQ,qBAAqBC,S,GA6I1C,EAAA++D,KAnII,SAAe5gE,G,YAChBgI,EAAkChI,EAAK,MAAhC6gE,EAA2B7gE,EAAK,KAA1BkI,EAAqBlI,EAAK,UAAfmI,EAAUnI,EAAK,MAEvCoI,EAAyDy4D,EAAI,cAA9C,EAA0CA,EAAI,aAA9Cx4D,OAAY,IAAG,IAAAlH,iBAAiByG,MAAK,EAEtD,IAA8B,UAAMvD,UAAkB,GAAK,GAA1DiE,EAAW,KAAEC,EAAY,KAC1B,IAAkC,UAAMlE,UAAS,GAAM,GAAtDmE,EAAa,KAAEC,EAAc,KAE9BC,EAAU,UAAMC,SAChBC,EAAW,UAAMC,YACjBC,EAAkB,UAAMH,OAA6B,MAErDI,EAAqBC,QAAQZ,GAE7B,GAAoC,IAAAa,aAAY,CAClDC,KAAMH,GAAsBP,EAC5BW,aAAcV,EACdW,UAAW,MACXC,WAAY,EACR,IAAAC,QAAO,KACP,IAAAC,MAAK,CAAEC,QAAS,EAAI,EAAA1B,QACpB,IAAA2B,OAAM,CAAED,QAAS,EAAI,EAAA1B,QACrB,IAAA4B,OAAM,CAAEC,QAASb,KAErBc,SAAU,QACVC,WAAW,EACXC,qBAAsB,EAAAC,aAZlBC,EAAI,OAAEC,EAAc,iBAAEC,EAAO,UAe/BC,GAAQ,IAAAC,UAASF,EAAS,CAC5BG,QAAStB,EACTuB,MAAO,CAAEpB,KA9Cc,IA8CgBqB,MA7ChB,KA8CvBC,aAAa,IAAAC,aAAY,CAAEC,OAAQ,MAGjCC,GAAQ,IAAAC,UAASV,EAAS,CAAEG,QAAStB,IAErC8B,GAAU,IAAAC,YAAWZ,EAAS,CAAEG,QAAStB,IAEzC,GAA0C,IAAAgC,iBAAgB,CAACZ,EAAOQ,EAAOE,IAAvEG,EAAiB,oBAAEC,EAAgB,mBAE3C,UAAMC,WAAU,WACPnC,GACDN,GAAe,EAEvB,GAAG,CAACM,IAEJ,IAAMoC,EAAuBnB,EAAKoB,aAE5BC,EAAS,UAAMrF,aACjB,SAACsF,GACG5C,EAAQ6C,QAAUD,QAAAA,OAAQhF,EAC1B6E,EAAqBG,EACzB,GACA,CAACH,IAGL,UAAMD,WAAU,WACZ,GAAKtC,EAAS2C,SAAY7C,EAAQ6C,QAAlC,CAIA,IAAMjD,EAAcM,EAAS2C,QAAQC,aAAe9C,EAAQ6C,QAAQC,aACpEjD,EAAaD,EAHb,CAKJ,GAAG,CAACI,EAAQ6C,QAAS3C,EAAS2C,UAE9B,IAAMu1D,EAAa54D,EAAU24D,EAAK90D,IAAM80D,EAAK74D,OACvC+4D,EAAW5hD,KAAK6hD,IAAIF,EAAYH,GAEtC,OACI,gDACI,qCACIjgE,UAAWf,EAAG,QAAM,KAChB,EAAC,sBAAekhE,EAAK3/D,SAAU,E,IAEnCiH,MAAK,GACD0D,IAAK,UAAG3D,EAAU24D,EAAK74D,MAAQA,GAAM,MACrC8D,OAAQ,UAAGi1D,EAAQ,OAChB54D,GAEP6D,IAAKX,EACLpL,MAAO8I,OAAqBzC,EAAYu6D,EAAK95D,QACtC,EAAAkF,6BAA8B40D,EAAK30D,GAAE,GACvCnD,EAAqBiC,IAAsB,CAAC,GAEhD1C,GACG,+BAAK5H,UAAWf,EAAG,qBACdkhE,EAAKlmB,UAAY,+BAAKj6C,UAAWf,EAAG,eAAgBkhE,EAAKlmB,UAC1D,+BACI3uC,IAAKpD,EACLlI,UAAWf,EAAG,eAAa,KACvB,EAAC,6BAAsBkhE,EAAK3/D,SAAU,E,KAGzC2/D,EAAK95D,SAKrBgC,GAAsBP,GACnB,wBAAC,EAAA4D,eAAc,KACX,iCACIJ,IAAKhC,EAAKqC,YACVlE,MAAO8B,EACPvJ,UAAWf,EAAG,YACVsL,EAAiB,CACjBxJ,QAAO,SAACkK,GACJA,EAAMW,iBACV,KAGJ,wBAAC,EAAAC,cAAa,CACVC,KAAM7E,EAAmBU,GACzB2D,IAAKlD,EACLoB,QAASA,IAEb,+BACIxJ,UAAWf,EAAG,kBAAgB,KAC1B,EAAC,gCAAyB0I,KAAiB,E,KAG9CD,aAAa,EAAbA,EAAgBy4D,EAAKp0D,SAOlD,C,8BC7KA,WAAgB,OAAS,+BAA+B,SAAW,iC,ijBCDnE,cA6Da,EAAAw0D,OAAS,SAACx6D,EAAeujB,EAAkBk3C,GAA4C,OAChGj+D,KAAM,EAAA40D,gBACNpxD,MAAK,EACLujB,SAAQ,EACRk3C,UAAS,EAJuF,EAOvF,EAAAC,YAAc,WAA0B,OACjDl+D,KAAM,EAAA60D,sBAD2C,EAIxC,EAAAsJ,cAAgB,SAAC/nB,EAAiBgoB,GAA6D,OACxGp+D,KAAM,EAAA80D,wBACN1e,KAAI,EACJgoB,WAAU,EAH8F,EAM/F,EAAAC,YAAc,SAACv9D,GAAqC,OAC7Dd,KAAM,EAAA+0D,sBACNj0D,MAAK,EAFwD,EAKpD,EAAAw9D,cAAgB,SAAC96D,GAAwC,OAClExD,KAAM,EAAAg1D,uBACNxxD,MAAK,EAF6D,EAKzD,EAAA+6D,mBAAqB,WAAiC,OAC/Dv+D,KAAM,EAAAi1D,6BADyD,EAItD,EAAAuJ,qBAAuB,WAAmC,OACnEx+D,KAAM,EAAAk1D,+BAD6D,EAI1D,EAAAuJ,mBAAqB,SAAC39D,GAA4C,OAC3Ed,KAAM,EAAAm1D,6BACNr0D,MAAK,EAFsE,EAKlE,EAAA49D,eAAiB,SAACC,EAAiB53C,GAA4C,OACxF/mB,KAAM,EAAAo1D,wBACNuJ,QAAO,EACP53C,SAAQ,EAHgF,EAM/E,EAAA63C,oBAAsB,WAAkC,OACjE5+D,KAAM,EAAAq1D,8BAD2D,EAIxD,EAAAwJ,sBAAwB,WAAoC,OACrE7+D,KAAM,EAAAs1D,gCAD+D,EAI5D,EAAAwJ,oBAAsB,SAACh+D,GAA6C,OAC7Ed,KAAM,EAAAu1D,8BACNz0D,MAAK,EAFwE,EAKpE,EAAAi+D,eAAiB,SAC1Bt4C,EACAC,EACAs4C,EACAj4C,EACA43C,EACAn7D,EACAy6D,GACwB,OACxBj+D,KAAM,EAAAw1D,yBACN/uC,UAAS,EACTC,SAAQ,EACRs4C,YAAW,EACXj4C,SAAQ,EACR43C,QAAO,EACPn7D,MAAK,EACLy6D,UAAS,EARe,EAWf,EAAAgB,OAAS,SAAC7yB,GAAyC,OAC5DpsC,KAAM,EAAAy1D,gBACNrpB,OAAM,EAFsD,EAKnD,EAAA8yB,YAAc,WAA0B,OACjDl/D,KAAM,EAAA01D,sBAD2C,EAIxC,EAAAyJ,cAAgB,WAA4B,OACrDn/D,KAAM,EAAA21D,wBAD+C,EAI5C,EAAAyJ,YAAc,SAACt+D,GAAqC,OAC7Dd,KAAM,EAAA41D,sBACN90D,MAAK,EAFwD,EAKpD,EAAAu+D,QAAU,SAACjpB,EAAwBgoB,GAAuD,OACnGp+D,KAAM,EAAAq2D,SACNjgB,KAAI,EACJgoB,WAAU,EAHyF,EAM1F,EAAAkB,UAAY,WAAwB,OAC7Ct/D,KAAM,EAAAs2D,WADuC,EAIpC,EAAAiJ,QAAU,WAAsB,OACzCv/D,KAAM,EAAA61D,iBADmC,EAIhC,EAAA2J,aAAe,WAA2B,OACnDx/D,KAAM,EAAA81D,uBAD6C,EAI1C,EAAA2J,eAAiB,WAA6B,OACvDz/D,KAAM,EAAA+1D,yBADiD,EAI9C,EAAA2J,aAAe,SAAC5+D,GAAsC,OAC/Dd,KAAM,EAAAg2D,uBACNl1D,MAAK,EAF0D,EAKtD,EAAA6+D,kBAAoB,SAACpV,GAA2C,OACzEvqD,KAAM,EAAAi2D,2BACN1L,KAAI,EAFqE,EAKhE,EAAAqV,uBAAyB,WAAqC,OACvE5/D,KAAM,EAAAk2D,iCADiE,EAI9D,EAAA2J,yBAA2B,WAAuC,OAC3E7/D,KAAM,EAAAm2D,mCADqE,EAIlE,EAAA2J,uBAAyB,SAACh/D,GAAgD,OACnFd,KAAM,EAAAo2D,iCACNt1D,MAAK,EAF8E,EAK1E,EAAAi/D,eAAiB,WAA6B,OACvD//D,KAAM,EAAAkB,gBADiD,C,wEC1M3D,cA4CA,UArCI,SAAY8+D,GAAZ,WAIA,KAAAC,WAAa,SAACpoD,GACV,IACY,IAAAqoD,EAA0B,EAAI,sBACtCC,aAAaC,QAAQF,EAAuBG,KAAKC,UAAUzoD,GAC/D,CAAE,MAAO/W,IACL,IAAAy/D,UAAS,2BAA4Bz/D,EACzC,CACJ,EAEA,KAAA0/D,UAAY,WACR,IACY,IAAAN,EAA0B,EAAI,sBAEhCO,EAAYN,aAAaO,QAAQR,GACvC,OAAKO,EAIgBJ,KAAKM,MAAMF,GAHrB,IAMf,CAAE,MAAO3/D,GAEL,OADA,IAAAy/D,UAAS,0BAA2Bz/D,GAC7B,IACX,CACJ,EAEA,KAAA8/D,MAAQ,WACI,IAAAV,EAA0B,EAAI,sBACtCC,aAAaU,WAAWX,EAC5B,EAjCIne,KAAKme,sBAAwBF,CACjC,C,iTCPJ,eACA,WAWA,UATiB,SAACpiE,EAAcia,GAM5B,OALY,QACL,IAAA2I,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWqkE,YAAajpD,KAC1C,IAAAkpD,4BAA2BnjE,EAAG,CAAC,EAAAnB,WAAWqkE,YAAajpD,GAIlE,C,s8CCZA,kBACA,WAEA,cACA,cACA,WACA,WACA,cACA,cACA,WACA,WACA,WACA,WACA,WAOA,cAIA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,WACA,WAKA,WACA,WAKA,aACA,cACA,cACA,cACA,WACA,WACA,WACA,cACA,cACA,WACA,WAEA,WACA,WACA,UAEMnb,EAAK,UAAWC,KAAK,WAarBqkE,GAAmDnkE,EAAMC,MAAK,SAACC,G,MACzDokC,EACJpkC,EAAK,eADeqD,EACpBrD,EAAK,UAD0BklC,EAC/BllC,EAAK,WADsCkkE,EAC3ClkE,EAAK,iCADwEmkE,EAC7EnkE,EAAK,4BAEDa,GAAM,IAAAC,kBAAgB,EAExB,IAAkChB,EAAMuE,UAAkB,GAAM,GAA/D+/D,EAAa,KAAEC,GAAc,KAQ9B9vC,IAAW,IAAAC,eAEXmN,IAAc,IAAA3rB,aAAY,EAAA4rB,mBAG1B0iC,IADuB,IAAAtuD,cAAY,IAAAuuD,mCAAkCr/B,IAC9Bz4B,KAEvC+3D,IAAc,IAAAhgE,UAAQ,WACxB,IAAMigE,EAAM,IAAIC,KAChB,OAAKJ,cAAe,EAAfA,GAAiB5qD,YAIN,IAAAirD,kBAAiBL,GAAgB5qD,UAAW+qD,GAHjD,CAKf,GAAG,CAACH,KAEEM,KAAkCN,IAAmBE,GAAc,EAAArgB,+BACnE0gB,KAA8BP,KAAoBM,GAElDE,KAAmBX,GAA+BxiC,GAAYojC,0BAE9D52D,IAAQ,IAAA6H,cAAY,IAAAgvD,iCAAgC3hE,EAAW6hC,IAC/Dl3B,IAAQ,IAAAgI,cAAY,IAAAivD,iCAAgC5hE,EAAW6hC,IAC/D72B,IAAO,IAAA2H,cAAY,IAAAkvD,iCAAgC7hE,EAAW6hC,IAE9D,MAAuB,IAAAigC,kBAAc,MACtC,EAAAttD,cAAcutD,2BAA2B,IAAAC,yBAC1C,EAAC,EAAAxtD,cAAcytD,2BAA2B,IAAAC,kBAA+C,CACrFtgE,MAAO,EAAAugE,6BAA6BC,UACpCC,UAAW,EAAAC,kBAAkBC,OAEjC,EAAC,EAAA/tD,cAAcguD,8BAA8B,IAAAC,kBAAgC,CAAC,G,IAChF,GAPK7/D,GAAK,MAAE8/D,GAAW,MASnBC,GAAe//D,GAAM,EAAA4R,cAAcytD,0BACnC7wD,GAAaxO,GAAM,EAAA4R,cAAcutD,0BACjClrD,GAAejU,GAAM,EAAA4R,cAAcguD,6BAGnC,GADO73D,GAAMyG,KACoB,CAAC,EAAhCw3C,GAAG,OAAEzoD,GAAa,iBAEpBs+B,GAAkChiC,EAAMkG,aAAY,WACtD,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,IACI,IAAA2xC,+BAA8B,CAC1BhhC,WAAU,EACVzwB,WAAU,GACVxO,MAAK,EACL5C,UAAS,EACTlB,QAAS,CAAE4/B,eAAe,KARlC,MAFI,IAAArN,YAAW,qDAanB,GAAG,CAACjgB,GAAYuxD,GAAc9rD,GAAc7W,EAAW6hC,EAAY3Q,MACnE,aAA4BuN,IAE5B,IAAME,GAAqBliC,EAAMkG,aAAY,WACzC,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,IACI,IAAA2xC,+BAA8B,CAC1BhhC,WAAU,EACVzwB,WAAU,GACVxO,MAAK,EACL5C,UAAS,EACTlB,QAAS,CAAE4/B,eAAe,KARlC,MAFI,IAAArN,YAAW,wCAanB,GAAG,CAACjgB,GAAYuxD,GAAc9rD,GAAc7W,EAAW6hC,EAAY3Q,MACnE,IAAA0N,qBAAoB,EAAAkkC,mCAAoCnkC,IAExD,IAAMiI,GAAuBnqC,EAAMkG,aAAY,WAC3C,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,IACI,IAAA2xC,+BAA8B,CAC1BhhC,WAAU,EACVzwB,WAAU,GACVxO,MAAK,EACL5C,UAAS,EACTlB,QAAS,CAAE4/B,eAAe,KARlC,MAFI,IAAArN,YAAW,0CAanB,GAAG,CAACjgB,GAAYuxD,GAAc9rD,GAAc7W,EAAW6hC,EAAY3Q,KAE7D+3B,GAAWxsD,EAAMkG,aACnB,SAACyO,G,MACGsxD,KAAW,MACN,EAAAluD,cAAcutD,0BAA2B3wD,E,GAElD,GACA,CAACsxD,KAGCxZ,GAAiBzsD,EAAMkG,aACzB,SAAC,G,IAAEyO,EAAU,aACT63C,GAAS73C,EACb,GACA,CAAC63C,MAEL,IAAArqB,qBAAoB,EAAAmkC,sCAAuC7Z,IAE3DzsD,EAAMoL,WAAU,WACZ,IAAK7H,EAED,OADA,IAAAqxB,YAAW,+DACJ,WAAa,EAExB,IAAMzuB,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAGlD,OAFAzxC,IAAS,IAAA2xC,+BAA8B,CAAEzxD,WAAU,GAAExO,MAAK,EAAE5C,UAAS,EAAE6hC,WAAU,KAE1E,WAEP,CACJ,GAAG,CAAC3Q,GAAU9f,GAAYuxD,GAAc9rD,GAAc7W,EAAW6hC,IAEjE,IAAMmhC,GAAgCvmE,EAAM0E,SAAQ,WAChD,OAAQynD,IAAO,IAAI50C,KAAI,SAACnL,GAAO,OAAAmC,GAAKnC,EAAL,IAAU8iB,OAAO,EAAA4/B,SACpD,GAAG,CAAC3C,GAAK59C,KAEHi4D,GAAwExmE,EAAM0E,SAChF,WAAM,OACF,CACIuC,MAAOlG,EAAE,wDACToE,MAAO,EAAAugE,6BAA6BC,WAExC,CACI1+D,MAAOlG,EAAE,6DACToE,MAAO,EAAAugE,6BAA6B/iD,eAPtC,GAUN,CAAC5hB,IAUC0lE,GAAwB,SAACC,G,MAC3BT,KAAW,MACN,EAAAluD,cAAcutD,0BAA2B,EAC1C,EAAC,EAAAvtD,cAAcguD,6BAA8BW,E,GAErD,EAEMC,GAAqB,SAACC,G,MAClBC,EAAmB1gE,GAAM,EAAA4R,cAAcguD,8BAAgC,CAAC,EAExE3rD,EAAe,EAAH,KACXysD,GACAD,GAGPX,KAAW,MACN,EAAAluD,cAAcutD,0BAA2B,EAC1C,EAAC,EAAAvtD,cAAcguD,6BAA8B3rD,E,GAErD,EA2DA,OACI,gCACI,gBAAC,UAAc,KACX,gBAAC,UAAoB,CACjB4xB,cACI,kCACO1H,GAAkB,2BAAMA,GAC3B,gBAAC,UAAc,CACXnkC,MAAOY,EAAE,iDACTwB,SAAU+hE,EACV3iE,QArPR,WAChB4iE,IAAe,EACnB,IAqPwB,gBAAC,UAAY,CACT9hE,gBAAiB,EAAAqkE,gCAAgCC,KACjD1/D,cAAe6+D,GACf7jE,QAASmkE,GACTphE,SArGH,SAACmsC,G,MACtB00B,KAAW,MACN,EAAAluD,cAAcutD,0BAA2B,EAC1C,EAAC,EAAAvtD,cAAcytD,0BAA2Bj0B,E,GAElD,IAkGwB,gBAAC,UAAwC,CACrCpsC,MAAOiV,GAAa,EAAAiwC,qBAAqB/gC,SAAW,KACpDtM,SAvEK,SAACsM,G,MAC9Bq9C,KAAkB,MACb,EAAAtc,qBAAqB/gC,QAASA,QAAU9iB,E,GAEjD,IAqEwB,gBAAC,UAAa,CACVZ,YAAa7E,EAAE,0DACf2oC,WAAYtvB,GAAa,EAAAiwC,qBAAqB35C,MAC9Cu7B,mBAlFP,SAACvC,G,MAClBi9B,KAAkB,MACb,EAAAtc,qBAAqBzjB,cAAUpgC,EAChC,EAAC,EAAA6jD,qBAAqB35C,MAAOg5B,QAAcljC,E,GAEnD,KAiFgB8mD,eACI,gBAAC,UAAe,CACZE,WAAS,EACTpzC,aAAcA,GACdD,gBAAiBssD,KAGzBv6B,eACI84B,IAAkBD,GACd,gBAAC,UAAM,CAAC3jE,MAAO,EAAA2N,gBAAgB8O,QAASlc,QAAS0iE,GAC5CtjE,EAAE,iDAEP,OAGXikE,IAAkBF,IACf,gBAAC,UAAK,CACFz4D,KACI,gBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB+W,OAGxCvC,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAe5gB,KACtBjY,UAAWf,EAAG,UAEbkB,EAAE,wEAlGE,WACrB,KAAK,IAAAqrC,2BAA0Bm6B,GAA+B7iE,IAC1D,OAAO,KAGX,GAAIA,cAAa,EAAbA,GAAeO,MACf,OAAO,gBAAC,UAAU,CAACA,MAAOP,cAAa,EAAbA,GAAeO,MAAOooC,QAASlC,KAI7D,IAD0B,IAAA68B,uBAAsB5sD,GAAc,GAAI,IAAG,cAEjE,OACI,gBAAC,UAAY,CACTqyB,SAAU,EAAAC,sBAAsBC,SAChCxsC,MAAOY,EAAE,gEACTuuB,YAAavuB,EAAE,sEACf6rC,cAAY,EACZq6B,YAAalmE,EAAE,iEACfmmE,YAAa,EAAAn4D,gBAAgBC,UAC7Bm4D,cAAe,WAAM,OAAAV,GAAsB,CAAC,EAAvB,EACrB5lE,aAAa,cAKzB,IAAM+rC,EAAeo4B,IAAkBD,GAEvC,OACI,gBAAC,UAAY,CACTt4B,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,4DACTuuB,YAAasd,EAAe7rC,EAAE,kEAAoE,KAClG6rC,aAAcA,EACdq6B,YAAalmE,EAAE,6DACfmmE,YAAa,EAAAn4D,gBAAgB8O,QAC7BspD,cAAev6B,EAAey3B,EAA8B,UAC5DxjE,aAAa,SAGzB,CA8DaumE,GACD,gBAAC,UAA6B,CAC1B/yC,UAAU,yBACVvO,KAAMygD,GACNhyC,YA7G6B,SAAC1oB,EAAyBu3B,GACnEghC,EAAiChhC,EAAIh3B,GACzC,EA4GgB8C,UAAWxL,cAAa,EAAbA,GAAeK,WAGlC,gBAAC,UAAY,KACT,gBAAC,UAAU,CAAC0H,QAASkJ,GAAY7R,MAAOuL,cAAK,EAALA,GAAO2/C,UAAWxB,SAAUA,MAExE,gBAAC,UAAO,CAAC34B,OAAQywC,EAAe5jE,QA/SpB,WAChB6jE,IAAe,EACnB,IA8Sa,SAAC7jE,GAAY,OACV,gBAAC,UAAqB,CAClBA,QAASA,EACT0Z,aAAcA,GACdD,gBAAiBssD,IAJX,IAU9B,IAEA,UAAetC,E,8BCjZf,WAAgB,MAAQ,6BAA6B,KAAO,4BAA4B,MAAQ,6BAA6B,YAAc,mCAAmC,OAAS,8BAA8B,SAAW,gC,gPCGnN,EAAAkD,+BAAiC,wDACjC,EAAAC,4BAA8B,qDAC9B,EAAA7Y,4BAA8B,qDAC9B,EAAAC,4BAA8B,qDAC9B,EAAAC,8BAAgC,uDAEhC,EAAAvW,MAAQ,8B,o7BCVrB,kBAEA,WACA,cACA,WACA,cASMmvB,EAAuCvnE,EAAMC,MAAK,SAACC,GAC7C,IAAAU,EAA4DV,EAAK,UAAtDonB,EAAiDpnB,EAAK,YAAzCkvD,EAAoClvD,EAAK,UAA9BgxD,EAAyBhxD,EAAK,qBAEjEa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAK,CACFJ,UAAWA,EACXyL,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBgG,MAClCjG,UAAW,EAAAC,qBAAqB8R,cAGxC0C,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAe5gB,KACtB6hC,WAAY35C,EAAE,oEACd45C,cAAe,WACXuW,EAAqB9B,EACzB,GAECruD,EAAE,oDAAqD,CACpDumB,YAAaA,GAAe,KAI5C,IAEA,UAAeigD,C,8BC1Cf,WAAgB,IAAM,8CAA8C,OAAS,iDAAiD,SAAW,mDAAmD,OAAS,iDAAiD,SAAW,mD,gkDCDjQ,kBACA,WAEA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cAEa,EAAAC,kCAAoC,SAC7CzmE,EACA4L,GAEA,OAAIA,EAAKxJ,KAAS,EAAAmnC,uBAAuBm9B,YAC9B,CACHp7D,KAAM,gBAAC,UAAc,MACrBlM,MAAOY,EAAE,qDACT0X,QAAS1X,EAAE,uDACX2mE,aAAc3mE,EAAE,qCAChB4mE,cAAe5mE,EAAE,oCAW7B,EAEa,EAAA6mE,2BAAwE,SAAC1nE,GAC1E,IAAAyM,EAAuBzM,EAAK,KAAnBusB,EAAS,EAAKvsB,EAAzB,UAEN,OAAQyM,EAAKxJ,MACT,KAAK,EAAAmnC,uBAAuB77B,QACxB,OAAO,gBAAC,UAA4B,KAAKge,EAAS,CAAE9f,KAAMA,KAE9D,KAAK,EAAA29B,uBAAuBm9B,YACxB,OAAO,gBAAC,UAAgC,KAAKh7C,EAAS,CAAE9f,KAAMA,KAElE,KAAK,EAAA29B,uBAAuB2T,SACxB,OAAO,gBAAC,UAA6B,KAAKxxB,EAAS,CAAE9f,KAAMA,KAE/D,KAAK,EAAA29B,uBAAuB+mB,gBACxB,OAAO,gBAAC,UAA6B,KAAK5kC,EAAS,CAAE9f,KAAMA,KAE/D,KAAK,EAAA29B,uBAAuBu9B,cACxB,OAAO,gBAAC,UAA2B,KAAKp7C,EAAS,CAAE9f,KAAMA,KAE7D,KAAK,EAAA29B,uBAAuBw9B,cACxB,OAAO,gBAAC,UAA2B,KAAKr7C,EAAS,CAAE9f,KAAMA,KAE7D,KAAK,EAAA29B,uBAAuBy9B,kBACxB,OAAO,gBAAC,UAAwB,KAAKt7C,EAAS,CAAE9f,KAAMA,KAE1D,KAAK,EAAA29B,uBAAuB09B,UACxB,OAAO,gBAAC,UAAuB,KAAKv7C,EAAS,CAAE9f,KAAMA,KAEzD,KAAK,EAAA29B,uBAAuB29B,eACxB,OAAO,gBAAC,UAA4B,KAAKx7C,EAAS,CAAE9f,KAAMA,KAE9D,KAAK,EAAA29B,uBAAuBklB,eACxB,OAAO,gBAAC,UAAoC,KAAK/iC,EAAS,CAAE9f,KAAMA,KAEtE,KAAK,EAAA29B,uBAAuB49B,WACxB,OAAO,gBAAC,UAAwB,KAAKz7C,EAAS,CAAE9f,KAAMA,KAE1D,KAAK,EAAA29B,uBAAuB69B,aACxB,OAAO,gBAAC,UAA0B,KAAK17C,EAAS,CAAE9f,KAAMA,KAE5D,KAAK,EAAA29B,uBAAuB89B,SACxB,OAAO,gBAAC,UAAsB,KAAK37C,EAAS,CAAE9f,KAAMA,KAExD,KAAK,EAAA29B,uBAAuB6mB,aACxB,OAAO,gBAAC,UAAkC,KAAK1kC,EAAS,CAAE9f,KAAMA,KAEpE,QACI,OAAO,KAGnB,C,8BC3FA,WAAgB,GAAK,qBAAqB,OAAS,yBAAyB,SAAW,2B,o7BCDvF,kBAEA,cACA,cACA,cACA,WACA,cACA,UACA,cACA,WACA,WACA,WAQM07D,GAJK,UAAWvoE,KAAK,WAI4BE,EAAMC,MAAK,WACxD,OAA6B,eAA3BsD,EAAS,YAAEC,EAAW,cAExBy2D,EAAWj6D,EAAMkG,aAAY,WAC/B,GAAK1C,GAAgBD,EAArB,CAIA,IAAM2hC,EAAM,EAAA7c,WAAWigD,uBAAuB9kE,EAAaD,GAC3D,UAAQqU,KAAKstB,EAFb,MAFI,IAAAtQ,YAAW,6CAKnB,GAAG,CAACpxB,EAAaD,IAEXm+B,GAAkB,IAAAC,sBAElB4mC,EAAqBvoE,EAAMkG,aAC7B,SAACkpD,GACQA,EAIA7rD,EAKLm+B,EACI,CACIv+B,KAAM,EAAAmnC,uBAAuBklB,eAC7BjsD,UAAS,EACT6rD,UAAS,GAEb,CACIoZ,uBAAuB,KAX3B,IAAA5zC,YAAW,0CAJX,IAAAA,YAAW,kBAkBnB,GACA,CAAC8M,EAAiBn+B,IAGhBklE,EAAmBzoE,EAAMkG,aAC3B,SAACs0C,GACQA,EAIAj3C,EAKLm+B,EACI,CACIv+B,KAAM,EAAAmnC,uBAAuB6mB,aAC7B5tD,UAAS,EACTi3C,QAAO,GAEX,CACIguB,uBAAuB,KAX3B,IAAA5zC,YAAW,wCAJX,IAAAA,YAAW,gBAkBnB,GACA,CAAC8M,EAAiBn+B,IAGhBmlE,EAAyB1oE,EAAMkG,aACjC,SAAC0/C,GACQA,EAKLlkB,EACI,CACIv+B,KAAM,EAAA4hC,uBAAuB4jC,mBAC7Bv8D,GAAIw5C,GAER,CACI4iB,uBAAuB,KAV3B,IAAA5zC,YAAW,eAanB,GACA,CAAC8M,IAGCknC,EAAwB5oE,EAAMkG,aAChC,SAACqpC,GACQA,EAAOxpC,OAKZ27B,EACI,CACIv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7B1I,OAAQwpC,EAAOxpC,OACfvC,YAAa+rC,EAAO/rC,YACpBD,UAAWgsC,EAAOhsC,WAEtB,CACIilE,uBAAuB,KAZ3B,IAAA5zC,YAAW,gFAenB,GACA,CAAC8M,IAGL,OACI,gBAAC,UAA+B,CAC5BmnC,UAAQ,EACR/zB,YAAU,EACVmlB,SAAUA,EACVsO,mBAAoBA,EACpBE,iBAAkBA,EAClBC,uBAAwBA,EACxB3zB,kBAAmB6zB,GAG/B,KAEA,UAAeP,C,w3BC1If,kBACA,WAQMS,EAA6B,SAAC5oE,GACxB,IAAAU,EAA+BV,EAAK,UAAzBoW,EAAoBpW,EAAK,KAAnB2B,EAAc3B,EAAK,UAE5C,OACI,uBAAKU,UAAWA,EAAW0Q,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAC7F,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,wVAKtB,EAEAq3D,EAAS92D,YAAc,WAEvB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBkS,UAChCsC,KAAM,EAAAC,mBAGD,EAAAtE,WAAAA,EACT,UAAe62D,C,giDCjCf,kBACA,WAEA,cACA,YAOa,EAAAC,+BAA4B,MACpC,EAAAC,kBAAkBC,MAAO,EAAAn1D,0BAA0BK,QACpD,EAAC,EAAA60D,kBAAkBrjC,WAAY,EAAA7xB,0BAA0B1B,OACzD,EAAC,EAAA42D,kBAAkBE,aAAc,EAAAp1D,0BAA0BC,UAC3D,EAAC,EAAAi1D,kBAAkB38C,UAAW,EAAAvY,0BAA0BvB,Q,GAG5D,IAAM42D,EAAsCnpE,EAAMC,MAAK,SAACC,GAC5C,IAAAopB,EAAyBppB,EAAK,OAAnBusB,EAAS,EAAKvsB,EAA3B,YAEN,OAAKopB,EAKD,gBAAC,UAAS,GAAC7U,UAAQ,GAAKgY,EAAS,CAAErrB,MAAO,EAAA2nE,6BAA6Bz/C,KACnE,gBAAC,UAAa,CAACA,OAAQA,KALpB,IAQf,IAEA,UAAe6/C,C,o7BChCf,kBACA,cAEA,cAEMtpE,EAAK,UAAWC,KAAK,WAMrBspE,EAA+BppE,EAAMC,MAAK,SAACC,GACrC,IAAAkM,EAAOlM,EAAK,GAEpB,OAAO,wBAAMU,UAAWf,EAAG,eAAgBuM,EAC/C,IAEA,UAAeg9D,C,4NChBf,cACA,WACA,WACA,aAEA,UACA,WACA,WAGa,EAAAC,+BAAiC,IAAI,EAAAlgD,iBAQrC,EAAAmgD,sBAAwB,SAACC,GAMlC,IAAMC,GAAiC,IAAAtjE,cACnC,SAAC2F,GAUG,IATQ,IAAA49D,EAAyF59D,EAAK,eAA9E69D,EAAyE79D,EAAK,gBAA7D89D,EAAwD99D,EAAK,kBAA1C+9D,EAAqC/9D,EAAK,gBAAzBg+D,EAAoBh+D,EAAK,gBAEhGi+D,GAAwB,aAAUF,GAElCG,EAAYN,aAAc,EAAdA,EAAgBlyD,KAAI,SAACyyD,GACnC,OAAO,IAAAC,0BAAyBD,EACpC,IACME,EAAe,IAAIl7C,IAAI+6C,GAEpBvyD,EAAQsyD,EAAsB3nE,OAAS,EAAGqV,GAAS,EAAGA,GAAS,EAAG,CACjE,MAAqBsyD,EAAsBtyD,GAAzCrU,EAAI,OAAEojC,EAAQ,WAChBmwB,GAAO,IAAAyT,6BAA4BhnE,EAAMojC,IAC1C2jC,EAAa/6C,IAAIunC,KAASiT,aAAiB,EAAjBA,EAAmBlkD,SAASixC,MACvD6S,EAAmBa,OAAO5yD,GAC1BsyD,EAAsBpK,OAAOloD,EAAO,GAE5C,CAEA,IAAI6yD,EAAmB,EAkBvB,GAjBAZ,SAAAA,EAAgBntD,SAAQ,SAAC0tD,GACrB,IAAMM,GAAW,IAAAL,0BAAyBD,IAOrB,IALDF,EAAsBS,WAAU,SAACvvD,GAEjD,OADuB,IAAAmvD,6BAA4BnvD,EAAO7X,KAAM6X,EAAOurB,YAC7C+jC,CAC9B,MAE0BZ,aAAe,EAAfA,EAAiBjkD,SAAS6kD,MAChDf,EAAmBiB,OAAOH,GAAkB,IAAAI,2BAA0BT,IACtEF,EAAsBpK,OAAO2K,EAAkB,GAAG,IAAAI,2BAA0BT,KAGhFK,GAAoB,CACxB,IAGIR,GAAmBA,EAAgB1nE,OAAS,EAG5C,I,eAASuoE,GACL,IAAMC,EAAad,EAAgBa,GAG7BE,EAAed,EAAsBS,WAAU,SAACvvD,GAElD,OADa,IAAAmvD,6BAA4BnvD,EAAO7X,KAAM6X,EAAOurB,YAC7CokC,CACpB,IAEA,IAAsB,IAAlBC,GAAuBA,IAAiBF,EAAa,CACrDnB,EAAmBsB,KAAKD,EAAcF,GAGtC,IAAMI,EAAahB,EAAsBc,GACzCd,EAAsBpK,OAAOkL,EAAc,GAC3Cd,EAAsBpK,OAAOgL,EAAa,EAAGI,EACjD,C,EAhBKJ,EAAcb,EAAgB1nE,OAAS,EAAGuoE,GAAe,EAAGA,GAAe,E,EAA3EA,EAmBjB,GACA,CAACnB,KAGL,IAAApnC,qBAAoB,EAAAknC,+BAAgCG,EACxD,C,o7BC1FA,kBACA,cACA,YAeMuB,EAAiB,SAAmBl4D,EAAQxQ,GAC9C,IAAM2Y,EAAS3Y,EAAQkV,KAAI,SAAC7Q,GAAW,OAAAA,EAAOmM,EAAP,IACjCm4D,GAAa,aAAKhwD,GAIxB,OAFAgwD,EAAWz5B,OAEJy5B,EAAWx7C,KAAK,IAC3B,EA8BA,UA5BmB,SAAmBtvB,GAC1B,IAAAU,EAAkDV,EAAK,UAA5C8F,EAAuC9F,EAAK,eAA5BmC,EAAuBnC,EAAK,QAAnB+qE,EAAc/qE,EAAK,UAEzDgrE,EAAkBlrE,EAAM0E,SAAQ,WAClC,OAAOqmE,EAAeE,EAAWjlE,EACrC,GAAG,CAACA,EAAgBilE,IAEdE,EAAcnrE,EAAM0E,SAAQ,WAC9B,OAAOqmE,EAAeE,EAAW5oE,EACrC,GAAG,CAACA,EAAS4oE,IAET7pE,EAAQ,EAAAyS,mBAAmBK,KAU/B,OARIi3D,IAAgBD,GAAmB7oE,EAAQF,SAC3Cf,EAAQ,EAAAyS,mBAAmB9R,UAG3BopE,IAAgBD,GAAmB7oE,EAAQF,SAC3Cf,EAAQ,EAAAyS,mBAAmBrB,QAI3B,gBAAC,UAAS,CAACgC,eAAa,EAACpT,MAAOA,EAAOR,UAAWA,EAAW2T,WAAS,GACjElS,EAAQF,OAGrB,C,8BCnDA,WAAgB,MAAQ,4BAA4B,KAAO,2BAA2B,MAAQ,4BAA4B,YAAc,kCAAkC,OAAS,6BAA6B,SAAW,+B,sGCD3N,eAEa,EAAAipE,qBAAuB,EAAI,EAAAvrB,S,o7BCFxC,kBACA,WAIA,cAEA,cAQMwrB,EAAqCrrE,EAAMC,MAAK,SAACC,GAC3C,IAAAU,EAA4DV,EAAK,UAAtDorE,EAAiDprE,EAAK,kBAAnCqrE,EAA8BrrE,EAAK,0BAEjEa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAyB,CACtBJ,UAAWA,EACX0qE,kBAAmBA,EACnBE,qBAAsBD,GAA6B,UACnDE,aAAc1qE,EAAE,oDAChBotB,iBAAkBptB,EAAE,sEAGhC,IAEA,UAAesqE,C,2FC/BF,EAAA9vD,YAAc,SAACmwD,EAAaC,GAAyB,OAAAnI,KAAKC,UAAUiI,KAAalI,KAAKC,UAAUkI,EAA3C,C,84BCAlE,kBACA,WAUMC,EAAgC,SAAC1rE,GAC3B,IAAAoW,EAAyDpW,EAAK,KAAxDU,EAAmDV,EAAK,UAA7C2B,EAAwC3B,EAAK,UAAlCwR,EAA6BxR,EAAK,YAArB0W,EAAgB1W,EAAK,YAEtE,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAY3Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACIC,YAAaA,GAAe,EAC5BhF,KAAM7K,EACN4P,EAAE,uGAEN,wBACI/E,KAAMkK,EACNnF,EAAE,iYAKtB,EAEAm6D,EAAY55D,YAAc,cAE1B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,UAClCjF,YAAa,EACb7P,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAe25D,EAKF,EAAAC,oBAAsB,SAACjgD,GAChC,MACS,aADDA,EAEO,CACH/pB,UAAW,EAAAC,qBAAqBsS,YAChC1C,YAAa,GACbkF,YAAa,EAAA9U,qBAAqB6U,UAClCL,KAAM,EAAAC,mBAIH,CACH1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,MAClCgE,KAAM,EAAAC,kBAItB,C,8BChEA,WAAgB,OAAS,mCAAmC,SAAW,qC,8BCAvE,WAAgB,MAAQ,sDAAsD,OAAS,uDAAuD,SAAW,yD,ipCCDzJ,kBAoBA,UAlBuB,WACb,QAAkBvW,EAAMuE,SAAmB,MAAK,GAA/CoI,EAAI,KAAEm8B,EAAO,KAEpB,OAAO9oC,EAAM0E,SAAQ,WACjB,MAAO,CACHmvB,SAAUlnB,EACVA,KAAI,EACJm8B,QAAO,EACPpoC,QAAS,WACLooC,EAAQ,KACZ,EACAn6B,SAAU,WACNm6B,EAAQ,KACZ,EAER,GAAG,CAACn8B,GACR,C,8BCjBA,WAAgB,UAAY,mCAAmC,wBAAwB,+CAA+C,kBAAkB,yCAAyC,8BAA8B,qDAAqD,8BAA8B,qDAAqD,8BAA8B,qDAAqD,kCAAkC,yDAAyD,OAAS,gCAAgC,SAAW,kC,0ICD5jB,EAAAm/D,aAAe,SAAC3mE,GACzB,IAAM4mE,GAAiB5mE,GAAS,IAAI0pB,OAEpC,MAAyB,MAAlBk9C,GAA2C,QAAlBA,GAA6C,QAAlBA,CAC/D,EAEa,EAAApnB,QAAU,SACnBx/C,GAEA,OAAIA,UAIiB,iBAAVA,IACEA,GAAS,IAAI0pB,SAGtBm9C,MAAMC,QAAQ9mE,MACNA,aAAK,EAALA,EAAOhD,QAIvB,EAEa,EAAA+pE,gBAAkB,SAAC/mE,EAAkCgnE,GAC9D,MAAqB,iBAAVhnE,GAAsBA,EAAM0pB,OAAO1sB,OAASgqE,CAK3D,EAEa,EAAAC,gBAAkB,SAACjnE,EAAkCknE,GAC9D,MAAqB,iBAAVlnE,GAAsBA,EAAM0pB,OAAO1sB,OAASkqE,CAK3D,C,8SCrCA,eACA,cAQM5oE,EAAuC,CACzC6oE,MAAO,KACP3yB,aAAc,UAAch2C,SAGnB,EAAA4oE,uBAAwB,IAAAC,aAAY,CAC7C1zD,KAAM,mBACNrV,aAAY,EACZgpE,SAAU,CACNt7D,sBAAuB,SAEnBvN,GAGJ,EACAkN,2BAA4B,SAAClN,GACzBA,EAAM+1C,aAAe,UAAc51C,OACvC,EACAkN,6BAA8B,SAC1BrN,EACAC,GAIQ,IAAAqN,EAAerN,EAAOklB,QAAO,WACrCnlB,EAAM0oE,MAAQp7D,EACdtN,EAAM+1C,aAAe,UAAcv1C,EACvC,EACA4M,2BAA4B,SACxBpN,EACAC,GAIQ,IAAAI,EAAUJ,EAAOklB,QAAO,MAChCnlB,EAAM+1C,aAAe,UAAcz1C,SAASD,EAChD,GAEJyoE,cAAe,SAACC,GACZA,EAAQC,QAAQ,uBAAuB,WACnC,OAAOnpE,CACX,GACJ,IAIA,EAAA0N,uBADS,EAKT,EAAAo7D,sBAAsB19D,SAAO,sBAH7B,EAAAiC,2BAA0B,6BAC1B,EAAAG,6BAA4B,+BAC5B,EAAAD,2BAA0B,6BAG9B,UAAe,EAAAu7D,sBAAsBM,O,8BC7DrC,WAAgB,MAAQ,uBAAuB,oBAAoB,mCAAmC,0BAA0B,yCAAyC,wBAAwB,uCAAuC,yBAAyB,wCAAwC,2BAA2B,0CAA0C,qBAAqB,oCAAoC,kBAAkB,iCAAiC,OAAS,wBAAwB,SAAW,0B,8BCAtgB,WAAgB,MAAQ,sBAAsB,OAAS,uBAAuB,gBAAkB,gCAAgC,eAAiB,+BAA+B,IAAM,oBAAoB,OAAS,uBAAuB,SAAW,yB,qoBCArP,eACA,cAiBMC,EAAiD,CACnDC,cAAe,UAAcppE,QAC7BqpE,cAAe,UAAcrpE,SAG3BF,EAAqC,CACvCwpE,cAAe,UAActpE,QAC7BupE,YAAa,KACb3+D,KAAM,CAAC,GAGE,EAAA4+D,qBAAsB,IAAAX,aAAY,CAC3C1zD,KAAM,iBACNrV,aAAY,EACZgpE,SAAU,CAENW,WAAY,SAERxpE,EAEAC,GAKJ,EACAwpE,gBAAiB,SAACzpE,GACdA,EAAMqpE,cAAgB,UAAclpE,OACxC,EACAupE,kBAAmB,SAAC1pE,EAAOC,GACvBD,EAAMqpE,cAAgB,UAAc7oE,GACpCR,EAAMspE,YAAc,CAAE9gE,GAAIvI,EAAOklB,QAAQ3c,GAC7C,EACAmhE,gBAAiB,SAAC3pE,EAAOC,GACrBD,EAAMqpE,cAAgB,UAAc/oE,SAASL,EAAOklB,QAAQ9kB,MAChE,EAGAupE,WAAY,SAER5pE,EAEAC,GAMJ,EACA4pE,gBAAiB,SAAC7pE,EAAOC,GACb,IAAA6pE,EAAW7pE,EAAOklB,QAAO,OAC3B4kD,EAAgB/pE,EAAM2K,KAAKm/D,IAAWZ,EAE5ClpE,EAAM2K,KAAKm/D,GAAU,EAAH,KACXC,GAAa,CAChBZ,cAAe,UAAchpE,SAErC,EACA6pE,kBAAmB,SAAChqE,EAAOC,GACf,IAAA6pE,EAAW7pE,EAAOklB,QAAO,OAC3B4kD,EAAgB/pE,EAAM2K,KAAKm/D,IAAWZ,EAE5ClpE,EAAM2K,KAAKm/D,GAAU,EAAH,KACXC,GAAa,CAChBZ,cAAe,UAAc3oE,IAErC,EACAypE,gBAAiB,SAACjqE,EAAOC,GACf,MAAoBA,EAAOklB,QAAzB2kD,EAAM,SAAEzpE,EAAK,QACf0pE,EAAgB/pE,EAAM2K,KAAKm/D,IAAWZ,EAE5ClpE,EAAM2K,KAAKm/D,GAAU,EAAH,KACXC,GAAa,CAChBZ,cAAe,UAAc7oE,SAASD,IAE9C,EAGA6pE,WAAY,SAERlqE,EAEAC,GAGJ,EACAkqE,gBAAiB,SAACnqE,EAAOC,GACb,IAAA6pE,EAAW7pE,EAAOklB,QAAO,OAC3B4kD,EAAgB/pE,EAAM2K,KAAKm/D,IAAWZ,EAE5ClpE,EAAM2K,KAAKm/D,GAAU,EAAH,KACXC,GAAa,CAChBX,cAAe,UAAcjpE,SAErC,EACAiqE,kBAAmB,SAACpqE,EAAOC,GACf,IAAA6pE,EAAW7pE,EAAOklB,QAAO,OAC3B4kD,EAAgB/pE,EAAM2K,KAAKm/D,IAAWZ,EAE5ClpE,EAAM2K,KAAKm/D,GAAU,EAAH,KACXC,GAAa,CAChBX,cAAe,UAAc5oE,IAErC,EACA6pE,gBAAiB,SAACrqE,EAAOC,GACf,MAAoBA,EAAOklB,QAAzB2kD,EAAM,SAAEzpE,EAAK,QACf0pE,EAAgB/pE,EAAM2K,KAAKm/D,IAAWZ,EAE5ClpE,EAAM2K,KAAKm/D,GAAU,EAAH,KACXC,GAAa,CAChBX,cAAe,UAAc9oE,SAASD,IAE9C,EAEAiqE,oBAAqB,WACjB,OAAOzqE,CACX,GAEJipE,cAAe,SAACC,GACZA,EAAQC,QAAQ,uBAAuB,WACnC,OAAOnpE,CACX,GACJ,IAIA,EAAA2pE,YADS,EAcT,EAAAD,oBAAoBt+D,SAAO,WAZ3B,EAAAw+D,gBAAe,kBACf,EAAAC,kBAAiB,oBACjB,EAAAC,gBAAe,kBACf,EAAAC,WAAU,aACV,EAAAC,gBAAe,kBACf,EAAAG,kBAAiB,oBACjB,EAAAC,gBAAe,kBACf,EAAAC,WAAU,aACV,EAAAC,gBAAe,kBACf,EAAAC,kBAAiB,oBACjB,EAAAC,gBAAe,kBACf,EAAAC,oBAAmB,sBAGvB,UAAe,EAAAf,oBAAoBN,O,o7BChKnC,kBAEA,cAEA,cAEMhtE,EAAK,UAAWC,KAAK,WAIrBquE,EAAsCnuE,EAAMC,MAAK,WACnD,OAAO,uBAAKW,UAAWf,EAAG,aAC9B,IAEA,UAAesuE,C,s8CCdf,kBAEA,cACA,cACA,WACA,WACA,WACA,cACA,WACA,cACA,cACA,cAIA,cACA,WACA,cACA,cAEA,aACA,cACA,WAOA,cACA,cAEA,SACA,WACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,WACA,cACA,WACA,WACA,WACA,cACA,cACA,WACA,WACA,WAEA,WACA,WACA,WACA,cACA,WAUMC,IAPK,UAAWtuE,KAAK,WAOmB,IAExCuuE,GAAsCruE,EAAMC,MAAK,SAACC,G,MAC9C,GAA6B,eAA3BqD,EAAS,YAAEC,EAAW,cAEtB8qE,EAAwCpuE,EAAK,iBAA3B60C,EAAsB70C,EAAK,kBAC7Ca,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eACXrmB,GAAQ,IAAA6H,cAAY,IAAA9H,iBAAgB7K,IACpCgrE,IAAY,IAAAr4D,cAAY,IAAAjI,iBAAgB1K,IACxCirE,IAAU,IAAAt4D,cAAY,IAAA5H,iBAAgB/K,IAGtCkrE,KADiB,IAAAv4D,aAAY,EAAAw4D,sBAG7B,KAAkC1uE,EAAMuE,UAAkB,GAAM,GAA/D+/D,GAAa,MAAEC,GAAc,MAI9BoK,GAAc,WAChBpK,IAAe,EACnB,EAEM,MAAuB,IAAAc,kBAAc,MACtC,EAAAttD,cAAc62D,WAAW,IAAArJ,yBAC1B,EAAC,EAAAxtD,cAAc82D,WAAW,IAAApJ,kBAA+B,CACrDG,UAAW,EAAAC,kBAAkBC,KAC7B3gE,MAAO,EAAA2pE,aAAaC,eAExB,EAAC,EAAAh3D,cAAci3D,cAAc,IAAAhJ,kBAAgC,CAAC,G,IAChE,GAPK7/D,GAAK,MAAE8/D,GAAW,MASnBtxD,GAAaxO,GAAM,EAAA4R,cAAc62D,UACjC1I,GAAe//D,GAAM,EAAA4R,cAAc82D,UACnCz0D,GAAejU,GAAM,EAAA4R,cAAci3D,aAGnC,GADOT,GAAU55D,KACgB,CAAC,EAAhCw3C,GAAG,OAAEzoD,GAAa,iBAEpBs+B,GAAkChiC,EAAMkG,aAAY,WACtD,GAAK3C,EAAL,CAKAkxB,GAAS,IAAArnB,gBAAe7J,IAExB,IAAM4C,GAAQ,IAAAggE,uBAAsB3iE,EAAa4W,GAAc8rD,IAC/DzxC,GAAS,IAAAw6C,eAAct6D,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,KAEtExN,GAAS,IAAAy6C,gCAA+B,CAAEjtC,eAAe,IAPzD,MAFI,KAAArN,YAAW,oEAUnB,GAAG,CAACH,EAAU9f,GAAYuxD,GAAc9rD,GAAc7W,EAAWC,KACjE,aAA4Bw+B,IAE5B,IAAME,GAAqBliC,EAAMkG,aAAY,WACzC,GAAK3C,EAAL,CAKAkxB,GAAS,IAAArnB,gBAAe7J,EAAW,CAAE0+B,eAAe,KAEpD,IAAM97B,GAAQ,IAAAggE,uBAAsB3iE,EAAa4W,GAAc8rD,IAC/DzxC,GAAS,IAAAw6C,eAAct6D,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,IALtE,MAFI,KAAArN,YAAW,wCAQnB,GAAG,CAACH,EAAU9f,GAAYuxD,GAAc9rD,GAAc7W,EAAWC,KACjE,IAAA2+B,qBAAoB,EAAAu4B,mBAAoBx4B,IAExC,IAAMiI,GAAuBnqC,EAAMkG,aAAY,WAC3C,GAAK3C,EAAL,CAKAkxB,GAAS,IAAArnB,gBAAe7J,EAAW,CAAE0+B,eAAe,KAEpD,IAAM97B,GAAQ,IAAAggE,uBAAsB3iE,EAAa4W,GAAc8rD,IAC/DzxC,GAAS,IAAAw6C,eAAct6D,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,IALtE,MAFI,KAAArN,YAAW,0CAQnB,GAAG,CAACH,EAAU9f,GAAYuxD,GAAc9rD,GAAc7W,EAAWC,IAEjExD,EAAMoL,WAAU,WACZ,IAAK7H,EAED,OADA,KAAAqxB,YAAW,kDACJ,WAAa,EAGxBH,GAAS,IAAArnB,gBAAe7J,IAExB,IAAM4C,GAAQ,IAAAggE,uBAAsB3iE,EAAa4W,GAAc8rD,IAK/D,OAJAzxC,GAAS,IAAAw6C,eAAct6D,GAAYxO,EAAO5C,IAE1CkxB,GAAS,IAAAy6C,gCAA+B,CAAEjtC,eAAe,KAElD,WAEP,CACJ,GAAG,CAACxN,EAAU9f,GAAYuxD,GAAc9rD,GAAc7W,EAAWC,IAEjE,IAAMuK,GAAO/N,EAAM0E,SAAQ,WACvB,OAAQynD,IAAO,IAAI50C,KAAI,SAACnL,GAAa,OAAAoiE,GAAQpiE,EAAR,IAAuB8iB,OAAO,EAAA4/B,SACvE,GAAG,CAAC3C,GAAKqiB,KAEHhiB,GAAWxsD,EAAMkG,aACnB,SAACyO,G,MACGsxD,KAAW,MACN,EAAAluD,cAAc62D,UAAWj6D,E,GAElC,GACA,CAACsxD,KAGCxZ,GAAiBzsD,EAAMkG,aACzB,SAAC,G,IAAEyO,EAAU,aACT63C,GAAS73C,EACb,GACA,CAAC63C,MAEL,IAAArqB,qBAAoB,EAAAgtC,sBAAuB1iB,IAE3C,IAAM2iB,IAAuB,IAAAl5D,aAAY,EAAAm5D,mCAEnC7I,GAAwDxmE,EAAM0E,SAChE,WAAM,OACF,CACIuC,MAAOlG,EAAE,8CACToE,MAAO,EAAA2pE,aAAaC,cAExB,CACI9nE,MAAOlG,EAAE,yCACToE,MAAO,EAAA2pE,aAAaQ,UAPtB,GAUN,CAACvuE,IAwBC0lE,GAAwB,SAACC,G,MAC3BT,KAAW,MACN,EAAAluD,cAAc62D,UAAW,EAC1B,EAAC,EAAA72D,cAAci3D,aAActI,E,IAGjCiI,IACJ,EAsBMrC,IAAQ,IAAAp2D,aAAY,EAAAq5D,iBAEpBC,GAAsExvE,EAAM0E,SAC9E,WAAM,OACF,CACI0H,QAAI5F,EACJipE,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,4CACTF,aAAc,OAElB,CACIuL,GAAI,EAAAujE,oBAAoBvmE,KACxBqmE,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,6CACTF,aAAc,EAAA8uE,oBAAoBvmE,KAClCwmE,kBAAmB,CACf9sE,MAAOwpE,cAAK,EAALA,GAAOuD,aAAa,EAAAja,cAAcxsD,MACzChI,MAAO,EAAAiR,2BAA2BtQ,WAG1C,CACIqK,GAAI,EAAAujE,oBAAoBG,UACxBL,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,mDACTF,aAAc,EAAA8uE,oBAAoBG,UAClCF,kBAAmB,CACf9sE,MAAOwpE,cAAK,EAALA,GAAOuD,aAAa,EAAAja,cAAcC,YACzCz0D,MAAO,EAAAiR,2BAA2BG,SAG1C,CACIpG,GAAI,EAAAujE,oBAAoBvjD,QACxBqjD,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,gDACTF,aAAc,EAAA8uE,oBAAoBvjD,SAEtC,CACIhgB,GAAI,EAAAujE,oBAAoB7Z,UACxB2Z,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,kDACTF,aAAc,EAAA8uE,oBAAoB7Z,WAEtC,CACI1pD,GAAI,EAAAujE,oBAAoBI,OACxBN,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,+CACTF,aAAc,EAAA8uE,oBAAoBI,QAjDpC,GAoDN,CAACzD,GAAOvrE,IAGNivE,GAAsB,WACxB,UAAQp4D,KAAK,CACTusB,SAAU,EAAAkQ,cAAc7O,UAEhC,EAyDA,OACI,gCACI,gBAAC,UAAc,KACX,gBAAC,UAAc,KACVgqC,IACG,gBAAC,UAAwB,KACrB,gBAAC,UAAwB,CACrBntE,QAASmtE,GACTS,uBAAwB7B,GACxB8B,WAAY91D,GAAa,EAAAiwC,qBAAqB8lB,aAC9C/qE,SA5KE,SAACgrE,G,QACrBvJ,EAAmB1gE,GAAM,EAAA4R,cAAci3D,cAAgB,CAAC,EAExD50D,EAAY,OACXysD,KAAgB,MAClB,EAAAxc,qBAAqB8lB,aAAcC,EAAa,IAGrDnK,KAAW,MACN,EAAAluD,cAAc62D,UAAW,EAC1B,EAAC,EAAA72D,cAAci3D,aAAc50D,E,GAErC,EAiK4Bi2D,kBAAmBtvE,EAAE,yDAIjC,gBAAC,UAAoB,CACjBgrC,gBAAc,EACdC,cACI,gCACI,gBAAC,UAAc,CACX7rC,MAAOY,EAAE,0CACTwB,SAAU+hE,GACV3iE,QArTZ,WAChB4iE,IAAe,EACnB,IAqT4B,gBAAC,UAAY,CACT9hE,gBAAiB,EAAAqkE,gCAAgCC,KACjD1/D,cAAe6+D,GACf7jE,QAASmkE,GACTphE,SArMP,SAACmsC,G,MACtB00B,KAAW,MACN,EAAAluD,cAAc62D,UAAW,EAC1B,EAAC,EAAA72D,cAAc82D,UAAWt9B,E,GAElC,IAkM4B,gBAAC,UAAa,CACV3rC,YAAa7E,EAAE,6CACf2oC,WAAYtvB,GAAa,EAAAiwC,qBAAqB3gB,YAC9CuC,mBA9JX,SAACvC,G,OAdK,SAACk9B,G,MAClBC,EAAmB1gE,GAAM,EAAA4R,cAAci3D,cAAgB,CAAC,EAExD50D,EAAe,EAAH,KACXysD,GACAD,GAGPX,KAAW,MACN,EAAAluD,cAAc62D,UAAW,EAC1B,EAAC,EAAA72D,cAAci3D,aAAc50D,E,GAErC,CAGIusD,EAAkB,KACd,EAAC,EAAAtc,qBAAqB3gB,YAAaA,QAAcljC,E,GAEzD,KA8JoB8mD,eACI,gBAAC,UAAe,CACZE,WAAS,EACTpzC,aAAcA,GACdD,gBAAiBssD,KAGzBv6B,eACI,iCACMkjC,GAAqBpkD,KACnB,gBAAC,UAAM,CACH5pB,MAAO,EAAA2N,gBAAgB8O,QACvB1a,KAAK,SACLxB,QAASquE,GACTzqE,WAAYkpE,GACZ5tE,aAAa,oBAEZE,EAAE,2CA7GZ,WACvB,KAAK,IAAAqrC,2BAA0Br+B,GAAMrK,IACjC,OAAO,KAGX,GAAIA,cAAa,EAAbA,GAAeO,MACf,OAAO,gBAAC,UAAU,CAACA,MAAOP,cAAa,EAAbA,GAAeO,MAAOooC,QAASlC,KAGvD,OAAuD,IAAAmC,cACzD,CAAClyB,GAAa,EAAAiwC,qBAAqB8lB,cACnC,EAAC,aAAK/1D,GAAc,CAAC,EAAAiwC,qBAAqB8lB,gBAFtC5jC,EAAsB,yBAAEC,EAAwB,2BAKxD,OAAI9oC,cAAa,EAAbA,GAAeU,KAAMooC,EAEjB,gBAAC,UAAY,CACTC,SAAU,EAAAC,sBAAsBC,SAChCxsC,MAAOY,EAAE,mDACTuuB,YAAavuB,EAAE,yDACf6rC,cAAY,EACZq6B,YAAalmE,EAAE,oDACfmmE,YAAa,EAAAn4D,gBAAgBC,UAC7Bm4D,cAAe,WAAM,OAAAV,GAAsB,CAAC,EAAvB,EACrB5lE,aAAa,uCAKrB6C,cAAa,EAAbA,GAAeU,KAAMmoC,EAEjB,gBAAC,UAAY,CACTE,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,6DACTuuB,YAAY,GACZzuB,aAAa,kCACb+rC,cAAc,IAMtB,gBAAC,UAAY,CACTH,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,+CACTuuB,YAAavuB,EAAE,qDACfF,aAAa,QACb+rC,cAAY,EACZq6B,YAAalmE,EAAE,gDACfmmE,YAAa,EAAAn4D,gBAAgB8O,QAC7BspD,cAAe6I,IAG3B,CA8DiBljC,GACD,gBAAC,UAAS,CACN/+B,KAAMA,GACNuiE,eAAgBhC,EAChBpU,gBAAiBnlB,EACjB7lC,UAAWxL,cAAa,EAAbA,GAAeK,YAItC,gBAAC,UAAY,KACT,gBAAC,UAAU,CAAC0H,QAASkJ,GAAY7R,MAAOuL,aAAK,EAALA,EAAO2/C,UAAWxB,SAAUA,MAExE,gBAAC,UAAO,CAAC34B,OAAQywC,GAAe5jE,QAASiuE,KACpC,SAACjuE,GAAY,OACV,gBAAC,UAAqB,CAClBA,QAASA,EACT0Z,aAAcA,GACdD,gBAAiBssD,GACjBpsD,mBAAoB7W,IAAgB,EAAA+kB,gBAAgB6C,QACpD9Q,2BAA4B9W,IAAgB,EAAA+kB,gBAAgBpb,OAC5DoN,oBAAqB/W,IAAgB,EAAA+kB,gBAAgBpb,QAP/C,IAa9B,IAEA,UAAekhE,E,2iBCncf,kBACA,cACA,cACA,aACA,WACA,cA2QI,EAAAkC,8BAzQkC,SAClCC,EACAhpC,G,MAEA,IAAKgpC,EACD,OAAO,KAGX,IAAMC,EAAe,KACdD,GAgCP,OA7BmB,QAAf,EAAAhpC,aAAO,EAAPA,EAAS8L,cAAM,eAAEnxC,UACjBsuE,EAAgBC,YAAc,GAE9BlpC,EAAQ8L,OAAOh3B,SAAQ,SAACk3B,EAAOh8B,G,cACrBm5D,EAA+C,QAAzB,EAAAH,aAAY,EAAZA,EAAcE,mBAAW,eAAEnG,WAAU,SAACpiE,GAC9D,OAAOA,aAAU,EAAVA,EAAYyoE,gBAAiBp9B,EAAMo9B,YAC9C,KAEI,aAASD,KAAiD,IAAzBA,EACjCF,EAAgBC,YAAYl5D,GAAS,EAAH,GAC3Bg5D,EAAaE,YAAYC,IAGhCF,EAAgBC,YAAYl5D,GAAS,CACjCo5D,aAAcp9B,EAAMo9B,aACpBxkE,GAAIonC,EAAMpnC,KAIS,QAAvB,EAAAonC,EAAMq9B,yBAAiB,eAAE3oE,SAAUuoE,EAAgBC,YAAYl5D,GAAOs5D,iBACtEL,EAAgBC,YAAYl5D,GAAOs5D,eAAwC,QAAvB,EAAAt9B,EAAMq9B,yBAAiB,eAAE3oE,QAGtD,QAAvB,EAAAsrC,EAAMq9B,yBAAiB,eAAE5kE,OAAQwkE,EAAgBC,YAAYl5D,GAAOu5D,eACpEN,EAAgBC,YAAYl5D,GAAOu5D,aAAsC,QAAvB,EAAAv9B,EAAMq9B,yBAAiB,eAAE5kE,IAEnF,KAGGwkE,CACX,EA4NI,EAAAO,8BA1NkC,SAClChoC,EACAioC,EACAzpC,G,YAEMgpC,EAA4C,CAAC,EAE7CU,EAAwC,QAAtB,EAAA1pC,aAAO,EAAPA,EAASG,qBAAa,eAAEwpC,MAAK,SAACtpC,GAAiB,OAAAA,aAAY,EAAZA,EAAcz7B,OAAO48B,aAAO,EAAPA,EAASlB,OAA9B,IACjEspC,EAAoC,QAApBpoC,aAAO,EAAPA,EAASlB,UAC1BkB,aAAO,EAAPA,EAASlB,SAAUopC,GAAoBE,KACxCZ,EAAa1oC,OAASkB,aAAO,EAAPA,EAASlB,QAGnC,IAAMupC,EAA2B,SAC7BC,EACAtoC,GAEA,IAAM37B,EAAM,KACLikE,GAGDR,EAAiB9nC,aAAO,EAAPA,EAAS8nC,gBAC3B,aAAYA,KACbzjE,EAAOyjE,eAAiBA,GAG5B,IAAMC,EAAe/nC,aAAO,EAAPA,EAAS+nC,cACzB,aAAYA,KACb1jE,EAAO0jE,aAAeA,GAG1B,IAAMQ,EAAqBvoC,aAAO,EAAPA,EAASuoC,mBAKpC,OAJI,aAAUA,KACVlkE,EAAOkkE,mBAAqBA,GAGzBlkE,CACX,EAYA,IAVI27B,aAAO,EAAPA,EAASwoC,kBACTxoC,EAAQwoC,gBAAgBl1D,SAAQ,SAACm1D,EAAmBj6D,IAC3Cg5D,aAAY,EAAZA,EAAcE,eACfF,EAAaE,YAAc,IAG/BF,EAAaE,YAAYl5D,GAAS65D,EAAyB,CAAC,EAAGI,EACnE,IAGAzoC,aAAO,EAAPA,EAAS0oC,iBAAkB,CACrB,MAAkC1oC,EAAQ0oC,iBAAxC,EAAY,eAAW/kE,EAAI,UAKR,iBAHrB+9D,EAAkD,QAApC,EAAAuG,aAAuB,EAAvBA,EAAyBP,mBAAW,eAAEnG,WACtD,SAACpiE,GAAe,OAAAA,aAAU,EAAVA,EAAYyoE,gBAAiB,CAA7B,OAEoC,IAAjBlG,KAC7BiH,GAA8B,cAAUV,aAAuB,EAAvBA,EAAyBP,cAAe,KAE1DhG,GAAe2G,EACvCM,EAA4BjH,GAC5B/9D,GAGJ6jE,EAAaE,YAAciB,EAEnC,CAEA,GAAI3oC,aAAO,EAAPA,EAAS4oC,cAAe,CAClB,MAAwC5oC,EAAQ4oC,cAA9C,EAAkB,qBAAWjlE,EAAI,UAKd,iBAHrB+9D,EAAkD,QAApC,EAAAuG,aAAuB,EAAvBA,EAAyBP,mBAAW,eAAEnG,WACtD,SAACpiE,GAAe,OAAAA,aAAU,EAAVA,EAAYyoE,gBAAiB,CAA7B,OAEoC,IAAjBlG,KAC7BiH,GAA8B,cAAUV,aAAuB,EAAvBA,EAAyBP,cAAe,KAC1DhR,OAAOgL,EAAc,EAAG,EAAG2G,EAAyB,CAAC,EAAG1kE,IAEpF6jE,EAAaE,YAAciB,EAEnC,CAEA,GAAI3oC,aAAO,EAAPA,EAAS6oC,iBAAkB,CACnB,IAEFnH,EAIIiH,EANF,EAAiB3oC,EAAQ6oC,iBAAgB,aAKtB,iBAHrBnH,EAAkD,QAApC,EAAAuG,aAAuB,EAAvBA,EAAyBP,mBAAW,eAAEnG,WACtD,SAACpiE,GAAe,OAAAA,aAAU,EAAVA,EAAYyoE,gBAAiB,CAA7B,OAEoC,IAAjBlG,KAC7BiH,GAA8B,cAAUV,aAAuB,EAAvBA,EAAyBP,cAAe,KAE1DhR,OAAOgL,EAAa,GAEhD8F,EAAaE,YAAciB,EAEnC,CAIA,GAAInB,EAAaE,YAAa,CAC1B,IAAI,GAA+B,EAEnCF,EAAaE,YAAcF,EAAaE,YAAYn5D,KAAI,SAACpP,GAKrD,OAJKA,EAAW2oE,gBAAmB3oE,EAAW4oE,eAC1C,GAA+B,GAG/B,EACO,EAAP,KACO5oE,GAAU,CACbopE,oBAAoB,EACpBT,eAAgB,KAChBC,aAAc,OAIf5oE,CACX,GACJ,CAEA,IAAM2pE,GAAYtqC,aAAO,EAAPA,EAASsqC,YAAa,KAKxC,OAJIA,IACAtB,EAAasB,UAAYA,GAGtBtB,CACX,EA8FI,EAAAuB,yBA5F6B,SAC7B1zD,EACA2qB,GAUA,OARW,OACP8oC,UAAW,KACXhqC,OAAQ,MACLzpB,GACA2qB,GAAO,CACV0nC,aAAa1nC,aAAO,EAAPA,EAAS0nC,eAAeryD,aAAS,EAATA,EAAWqyD,cAAe,IAIvE,EAkFI,EAAAsB,0CAhF8C,SAC9CC,EACAzqC,GAEA,IAAKyqC,EACD,OAAO,KAGX,IAAMC,EAA4B,KAC3BD,GAaP,OAVIC,aAA4B,EAA5BA,EAA8BpqC,SAAUN,KACjBA,EAAQG,eAAiB,IACTwpC,MACnC,SAACtpC,GAAiB,OAAAA,aAAY,EAAZA,EAAcz7B,OAAO8lE,aAA4B,EAA5BA,EAA8BpqC,OAAnD,MAGlBoqC,EAA6BpqC,OAAS,OAIvCoqC,CACX,EAuDI,EAAAC,0BArD8B,SAC9BhsE,EACAqhC,GAEA,IAAKrhC,EACD,OAAO,KAGH,IAAA2rE,EAAc3rE,EAAK,UAC3B,IAAK2rE,EACD,OAAO,KAGX,IAAMx+B,GAAS9L,aAAO,EAAPA,EAAS8L,SAAU,GAC5B8+B,GAAa,aAAM9+B,GAAQ,SAACE,GAAU,OAAAA,EAAMpnC,EAAN,IAEtCskE,EAAcp9B,EACf/7B,KAAI,SAACi8B,EAAOh8B,GACT,IAAMrP,EAAahC,EAAMuqE,YAAYl5D,IAAU,KAE/C,MAAO,CACH66D,gBAAgBlqE,aAAU,EAAVA,EAAYopE,oBAC5B/5C,MAAMrvB,aAAU,EAAVA,EAAY2oE,iBAAkB,KACpC1oD,IAAIjgB,aAAU,EAAVA,EAAY4oE,eAAgB,KAChC3kE,GAAIonC,EAAMpnC,GAElB,IACC8iB,QAAO,SAAC/mB,GACL,IAAMqrC,EAAQ4+B,EAAWjqE,aAAU,EAAVA,EAAYiE,IAErC,OAAOonC,aAAK,EAALA,EAAOrwC,QAAS,EAAAmvE,kCAAkCC,QAC7D,IASJ,OAD2B7B,aAAW,EAAXA,EAAa9oC,OANT,SAC3Bz/B,GAEA,SAASA,aAAU,EAAVA,EAAYqvB,UAAUrvB,aAAU,EAAVA,EAAYigB,QAAQjgB,aAAU,EAAVA,EAAYiE,GACnE,OAE2EskE,aAAW,EAAXA,EAAavuE,QAKjF,CACHuuE,YAAW,EACXoB,UAAS,GALF,IAOf,C,8BChRA,WAAgB,OAAS,+BAA+B,OAAS,+BAA+B,qBAAqB,2CAA2C,sBAAsB,4CAA4C,aAAa,mCAAmC,2BAA2B,iDAAiD,qBAAqB,2CAA2C,kBAAkB,wCAAwC,cAAc,oCAAoC,0BAA0B,gDAAgD,qBAAqB,2CAA2C,OAAS,+BAA+B,SAAW,iC,o2BCDvsB,kBAEA,WACA,WAEA,WACA,WACA,WACA,WAIMU,EAAwCxyE,EAAMC,MAAK,W,MAErD,OADsB,IAAAiW,aAAY,EAAAu8D,qBAG1B,gBAAC,EAAAptC,SAAQ,CACLjd,GAAI,CACA+b,SAAU,EAAAuuC,eAAexQ,eACzBrqD,QAAQ,IAAAC,cAAW,KACf,EAAC,EAAAC,cAAcqpD,YAAY,IAAAuR,oB,OAOxC,IACX,IAEA,UAAeH,C,8BC7Bf,WAAgB,KAAO,iCAAiC,OAAS,mCAAmC,SAAW,qC,20DCD/G,eACA,WAUA,WAeA,WACA,cACA,UACA,WACA,WACA,WACA,WACA,WAEA,SAAUI,EAAwB/uE,G,8DAG9B,OAFQmB,EAAcnB,EAAM,UAE5B,IAAM,IAAAmJ,MAAI,IAAA6lE,8B,OAGN,OAHJ,SAGI,GAAM,UAAkBl+C,oBAAoB3vB,I,cAD1C,kBACF,SAAsD,IADnDf,EAAK,KAAE4wB,EAAc,KAGxB5wB,EACA,IAAM,IAAA+I,MAAI,IAAA8lE,0BAAyB7uE,KADnC,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA+lE,6BAA2B,IAAAC,yBAAwBn+C,M,IAGjE,SAAUo+C,EAAyBpvE,G,oEAGyC,OAFhEqvE,EAAkDrvE,EAAM,sBAAjCL,EAA2BK,EAAM,YAApBmB,EAAcnB,EAAM,UAEQ,IAAM,IAAAiJ,QAAO,EAAAgoB,2B,OAErF,OAFMq+C,EAAkE,UAClEt+C,EAAiBs+C,EAAmBnuE,IAM1C,IAAM,IAAAgI,MAAI,IAAAomE,iCAJN,IAAAx+C,YAAW,uDACX,K,OAKA,OAFJ,SAEI,GAAM,UAAkBy+C,qBAAqBruE,EAAWkuE,I,cADtD,kBACF,SAA8E,KAD3EjvE,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAsmE,2BAA0BrvE,KADpC,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MACF,IAAAumE,6BAA2B,SACpB1+C,GACAq+C,GAAqB,CACxBM,MAAO3+C,EAAe2+C,W,cAJ9B,SAQA,EAAAC,uBAAuBjyC,KAAK,CAAC,GAC7B,EAAAa,6BAA6Bb,KAAK,CAAC,GAG/Bh+B,IAAgB,EAAA+kB,gBAAgBpb,QAChC,EAAAumE,sBAAsBlyC,KAAK,CAAC,G,QAIpC,SAAUmyC,EAAyB9vE,G,kEAG/B,OAFQ+vE,EAAqC/vE,EAAM,SAAjCmB,EAA2BnB,EAAM,UAAtBuM,EAAgBvM,EAAM,YAEnD,IAAM,IAAAmJ,MAAI,IAAA6mE,+B,cAAV,SAKID,EACW,GAAM,UAAkBE,qBAAqB9uE,EAAWoL,IADnE,M,cACA9C,EAAW,S,aAEA,SAAM,UAAkBymE,uBAAuB/uE,EAAWoL,I,OAArE9C,EAAW,S,wBAGT,IAAUA,EAAQ,IAAjBrJ,EAAK,MAER,IAAM,IAAA+I,MAAI,IAAAgnE,2BAA0B/vE,KADpC,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAAinE,iC,OAEV,OAFA,SAEA,IAAM,IAAAjnE,MAAI,IAAA2nB,qBAAoB3vB,K,cAA9B,SAEA,EAAAyuE,uBAAuBjyC,KAAK,CAAC,GAC7B,EAAAa,6BAA6Bb,KAAK,CAAC,G,QAGvC,SAAU0yC,EAAuBrwE,G,gEAG7B,OAFQswE,EAAsBtwE,EAAM,OAApBmB,EAAcnB,EAAM,UAEpC,IAAM,IAAAmJ,MAAI,IAAAonE,sB,cAAV,SAGID,EACW,GAAM,UAAkBE,YAAYrvE,IAD/C,M,cACAsI,EAAW,S,aAEA,SAAM,UAAkBgnE,cAActvE,I,OAAjDsI,EAAW,S,wBAGT,IAAUA,EAAQ,IAAjBrJ,EAAK,MAER,IAAM,IAAA+I,MAAI,IAAAunE,kBAAiBtwE,KAD3B,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAAwnE,wB,OAEV,OAFA,SAEA,IAAM,IAAAxnE,MAAI,IAAA2nB,qBAAoB3vB,K,cAA9B,SAEA,EAAAyuE,uBAAuBjyC,KAAK,CAAC,GAC7B,EAAAa,6BAA6Bb,KAAK,CAAC,G,QAUvC,UAPA,W,kDACI,UAAM,IAAA/zB,WAAU,EAAAgnE,8BAA+B7B,I,OAC/C,OADA,SACA,IAAM,IAAAnlE,WAAU,EAAAinE,+BAAgCzB,I,OAChD,OADA,SACA,IAAM,IAAAxlE,WAAU,EAAAknE,+BAAgChB,I,OAChD,OADA,SACA,IAAM,IAAAlmE,WAAU,EAAAmnE,qBAAsBV,I,cAAtC,S,o8CChJJ,kBACA,WAQMW,EAA+B,SAAC30E,GAC1B,IAAA+oB,EAAiD/oB,EAAK,SAA5CU,EAAuCV,EAAK,UAAjC2B,EAA4B3B,EAAK,UAAnBusB,EAAS,EAAKvsB,EAAnD,sCAEN,OACI,yBACIoR,MAAM,6BACN5P,MAAO,GACPsK,OAAQ,GACRuF,QAAQ,YACRlJ,MAAO,CACH0B,UAAW,iBAAUkf,EAAW,MAAQ,IAAG,SAE/CroB,UAAWA,GACP6rB,GAEJ,wBACIhb,EAAE,0GACF/E,KAAM7K,EACN2P,SAAS,YAIzB,EAEAqjE,EAAW7iE,YAAc,aAEzB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAe4iE,C,oMCxCf,kBAEa,EAAAC,cAAgB,SAACC,EAAmCC,GAC7D,OAAK,aAASD,KAAY,aAASC,GAI5BD,EAASC,EAHL,IAIf,EAEa,EAAAC,eAAiB,SAAC9iD,EAAiC+iD,GAC5D,OAAK,aAAS/iD,KAAU,aAAS+iD,GAI1B71D,KAAK81D,IAAI91D,KAAK+1D,MAAiC,KAA1BF,EAAO/iD,EAAO+iD,EAAO,KAHtC,IAIf,C,o7BChBA,kBACA,WAEA,cACA,WACA,cACA,WACA,WAqDA,UAjDmD,SAACh1E,GACxC,IAAAyM,EAAyEzM,EAAK,KAAxEE,EAAmEF,EAAK,SAA9DQ,EAAyDR,EAAK,QAArD2jD,EAAgD3jD,EAAK,yBAA3Bm1E,EAAsBn1E,EAAK,kBAEhFo1E,GAA0B,IAAAp/D,cAAY,IAAAq/D,+BAA8B5oE,EAAKpJ,YA4B/E,OA3BA,aAA4B+xE,EAAyBl1E,GAAYM,GA2B5DA,EAKD,gBAAC,UAAyB,CACtB6C,UAAWoJ,EAAKpJ,UAChB6rD,UAAW,KACX1uD,QAASA,EACTiO,SAAUjO,EACVmjD,yBAA0BA,EAC1BqN,qBA5ByB,SAAC9B,GAC9BimB,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuBklB,eAC7BjsD,UAAWoJ,EAAKpJ,UAChB6rD,UAAS,GAEjB,EAuBQ3U,mBArCuB,SAACD,GAC5B66B,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB6mB,aAC7B5tD,UAAWoJ,EAAKpJ,UAChBi3C,QAAO,GAEf,EAgCQzF,kBAtBsB,SAAChvC,EAAiBwrD,GAC5C8jB,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAWoJ,EAAKpJ,UAChBC,YAAa+tD,EAAe,EAAAhpC,gBAAgBpb,OAAS,EAAAob,gBAAgBC,QACrEziB,OAAM,GAEd,IAGW,IAef,C,oqDC1DA,kBACA,cAEA,cACA,WACA,cACA,UACA,cACA,WACA,cACA,WACA,cAGA,WACA,cACA,cACA,WAEA,WACA,WACA,UACA,cACA,WACA,cACA,cACA,cACA,WACA,WACA,WACA,cACA,cACA,cAEA,WACA,WAEMlG,EAAK,UAAWC,KAAK,WASrB01E,IAAc,MACf,EAAA51E,WAAW61E,WAAY,KACxB,EAAC,EAAA71E,WAAW81E,iBAAkB,K,GAqOlC,UAlO6C,SAACx1E,GAClC,IAAAy1E,EAAoDz1E,EAAK,iBAAvC01E,EAAkC11E,EAAK,QAA9BiyD,EAAyBjyD,EAAK,UAAnBgP,EAAchP,EAAK,UAE3Du0B,GAAW,IAAAC,eAEXmhD,GAA0B,IAAA3/D,aAAY,EAAA4/D,oCAC5C,UAAM1qE,WAAU,WACZqpB,GAAS,IAAAshD,4BACb,GAAG,CAACthD,IAEE,OAA4B,IAAA5B,YAAW,WAArC0T,EAAQ,WAAEyvC,EAAW,eAC7B,IAAA5qE,YAAU,WACN,OAAO,WACH4qE,EAAY,KAChB,CAEJ,GAAG,IAEK,IAAAj1E,GAAM,IAAAC,kBAAgB,EAExBovD,GAAW,IAAAl6C,cAAY,IAAAm6C,uBAAsBulB,IAC7CK,EAAgB,UAAMvxE,SAAQ,WAChC,IAAIwxE,EAAkB,GAkBtB,OAhBA9lB,EAAS9zC,SAAQ,SAACzQ,GACd,IAAIsqE,EAAmC,KAEnCtqE,EAAM2uC,UAAYo7B,IAClBO,GAAa,IAAAC,sBAAqB,CAACvqE,EAAMwqE,cAAexqE,EAAMyqE,eAG9DzqE,EAAMujD,YAAcwmB,IACpBO,GAAa,IAAAC,sBAAqB,CAACvqE,EAAM0qE,gBAAiB1qE,EAAM2qE,iBAGhEL,IACAD,EAAQ,EAAH,OAAOA,IAAK,KAAKC,IAAU,GAExC,KAEO,aAAKD,GAAOhnD,OAAO,EAAA4/B,SAC9B,GAAG,CAACsB,EAAUwlB,IAEd,UAAMxqE,WAAU,WACPwqE,GAILnhD,GAAS,IAAA67B,sBAAqB,CAAEC,UAAWqlB,IAC/C,GAAG,CAACnhD,EAAUmhD,IAEd,IAAMnlB,EAAiC,UAAMvqD,aACzC,SAAC2F,GACyBA,EAAK,YAET+pE,GACdnhD,GAAS,IAAA67B,sBAAqB,CAAEC,UAAWqlB,GAAW,CAAE3zC,eAAe,IAE/E,GACA,CAACxN,EAAUmhD,KAEf,IAAAzzC,qBAAoB,EAAAuuB,+BAAgCD,GAEpD,IAAM3M,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAQ,CAAEi7D,cAAa,EAAEJ,wBAAuB,GAAhE,CACpC,GAAG,CAAC90E,EAAGk1E,EAAeJ,IAEhB,IAAiC,UAAMnxE,SAAQ,WACjD,IAAMsW,EAAS,EAAH,GACLw6D,GAKP,MAAO,CAACx6D,GAFO,aAAaja,EAAGia,EAAQ,CAAEi7D,cAAa,EAAEJ,wBAAuB,IAInF,GAAG,IAAG,GATCn7D,EAAa,KAAEupC,EAAa,KAW7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM9U,GAAQ,IAAAswE,cAAaz7D,EAAQm3C,GAC9BhsD,GAIAyvE,IAILD,EAAiBC,EAASzvE,GAE1B8U,EAAcI,WAAW,CAAC,GAC9B,IAGI5W,GAA8B,IAAAouB,YAAW,EAAAg+B,uCAAsC,0BACvF,UAAMzlD,WAAU,W,MACZ3G,KAAyC,QAAb,EAAAkW,EAAOmB,cAAM,eAAG,EAAAlc,WAAW81E,kBAE3D,GAAG,CAAC/6D,EAAOmB,UAEX,IAAA1Q,YAAU,WACN,IAAMsrE,EAAkB/7D,EAAOK,OAAO,EAAApb,WAAW81E,kBAE5C,aAAQnvC,EAAUmwC,KACnB/7D,EAAOsB,cAAc,EAAArc,WAAW81E,gBAAiBnvC,GACjD5rB,EAAOuB,gBAAgB,EAAAtc,WAAW81E,iBAAiB,GAG3D,GAAG,CAACnvC,IAEJ,IAAMowC,GAAe,UAAMjyE,SAAQ,WAC/B,IAAMigE,EAAM,IAAIC,KAChB,OAAO,IAAAgS,iBAAgBjS,EAC3B,GAAG,IAEG8Q,GAAY96D,EAAOK,OAAO,EAAApb,WAAW61E,WAErC,KAAwE,UAAMlxE,UAAkB,GAAM,GAArGsyE,GAA+B,MAAEC,GAAkC,MAa1E,OAZA,UAAM1rE,WAAU,WACZ,GAAKqqE,KAAcA,cAAS,EAATA,GAAWj+C,QAASi+C,cAAS,EAATA,GAAWrtD,IAAlD,CAKA,IAAM2uD,EAAsBd,EAAc9E,MAAK,SAAC6F,GAC5C,OAAO,aAAOA,GAAcC,UAAUxB,GAAUj+C,KAAMi+C,GAAUrtD,GACpE,IACA0uD,GAAmCC,EALnC,MAFID,IAAmC,EAQ3C,GAAG,CAACrB,GAAWQ,IAGX,gCAAMl7D,SAAUJ,EAAOiB,cACnB,+BAAKhb,UAAWf,EAAG,SACf,wBAAC,UAAW,CACRe,UAAWf,EAAG,QAAS,qBACvBiZ,KAAM,EAAAlZ,WAAW61E,UACjBxxE,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW61E,WAChC15D,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW61E,WACrCx5D,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAgB,CACbid,SAAO,EACPyZ,kBAAgB,EAChBzxB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW61E,WAChC7vE,YAAa7E,EAAE,+DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBgxB,QAASsgD,GACTV,cAAeA,EACftwE,iBAAe,GAbX,IAiBhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAW81E,gBACjBzxE,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW81E,iBAChC35D,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW81E,iBACrCzuE,MAAOlG,EAAE,+DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB3a,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,oEAIV,SAACb,GAAU,OACR,wBAAC,UAAU,CACP4Y,KAAM,EAAAlZ,WAAW81E,gBACjBvwE,MAAOwV,EAAOK,OAAO,EAAApb,WAAW81E,iBAChC9vE,YAAa7E,EAAE,qEACf6b,eAAgB,SAACC,GAAa,+BAAC,UAAO,KAAK,EAAAC,aAAaC,gBAAgBF,IAA1C,EAC9BG,SAAU,SAAC7X,GACPjF,EAAM8c,SAAS7X,GAEf6wE,EAAY7wE,EAChB,EACAK,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBxE,aAAa,sBACbq2E,mBAAoBv8D,EAAOK,OAAO,EAAApb,WAAW81E,iBAC7CjzE,gBAAgB,OAjBZ,KAsBnBo0E,IACG,wBAAC,UAAK,CACFxqE,KAAM,wBAAC,UAAW,CAACxK,UAAW,EAAAC,qBAAqBgG,QACnDwO,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAezlB,UACtBpT,UAAWf,EAAG,SACda,QAAS,WACLo2E,IAAmC,EACvC,GAEC/1E,EAAE,+DAGX,wBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgBE,OACvBrO,UAAWf,EAAG,UACdsD,KAAK,SACL+L,UAAWA,EACX3J,WAAY2J,GAEXnO,EAAE,yCAInB,C,4JCnRA,kBAEA,aACA,cAEA,cACA,cACA,WAEMlB,EAAK,UAAWC,KAAK,WAkB3B,UAX6C,SAACI,GAClC,IAAAU,EAAsBV,EAAK,UAAhB2zB,EAAW3zB,EAAK,OAEnC,OACI,wBAAC,UAAQ,CACLU,WAAW,aAAGf,EAAG,QAASe,GAC1BiB,UAAWgyB,EAAS,EAAA/xB,qBAAqBC,SAAW,EAAAD,qBAAqBI,OAGrF,C,sECpBA,6BAAkCi1E,GAC9B,IAAKA,GAAwC,iBAAjBA,EACxB,OAAO,KAGX,IACI,IAAMC,EAAS5T,KAAKM,MAAMqT,GAE1B,GAAsB,iBAAXC,EACP,OAAOA,CAEf,CAAE,SAEF,CAGA,OAAOD,CACX,C,8BCrBA,WAAgB,eAAe,oCAAoC,OAAS,8BAA8B,SAAW,gC,8BCArH,WAAgB,OAAS,iCAAiC,MAAQ,gCAAgC,aAAe,uCAAuC,KAAO,+BAA+B,OAAS,iCAAiC,sBAAsB,8CAA8C,cAAc,sCAAsC,aAAa,qCAAqC,kBAAkB,0CAA0C,OAAS,iCAAiC,SAAW,mC,o2BCDngB,kBAEA,YAMME,EAA8Br3E,EAAMC,MAAK,SAACC,GACpC,IAEAo3E,EAFYp3E,EAAK,QAEQ,cAEjC,OACI,gBAAC,UAAS,CAACkB,MAAO,EAAAyS,mBAAmBK,KAAMrT,aAAa,QAAQ2T,eAAa,GACxE8iE,EAGb,IAEA,UAAeD,C,qLCpBf,eACA,cAEME,EAAc,SAACpyE,EAAkC6R,GAC3C,IAAAwgE,EAA6B,EAAAC,kBAAkBzgE,GAAS,yBAEhE,QAAS7R,GAAS,GAAGuyE,QAAQF,EACjC,EAEa,EAAAG,gBAAkB,CAC3BC,cAAe,SACXC,EACAC,EACA9gE,GAEA,OAAK,aAAS6gE,KAAO,aAASC,GAIvBP,EAAYM,EAAIC,EAAG9gE,GAHf,IAIf,EACA+gE,KAAM,SAACF,EAA8BC,EAA8B9gE,GAC/D,OAAOugE,GAAaM,GAAK,IAAMC,GAAK,GAAI9gE,EAC5C,EACAghE,eAAgB,SAACH,EAA8BC,EAA8B9gE,GACzE,OAAOugE,EAAYA,EAAYM,EAAG7gE,GAAYugE,EAAYO,EAAG9gE,GAAWA,EAC5E,EACAihE,SAAU,SAACJ,EAA8BC,EAA8B9gE,GACnE,OAAOugE,GAAaM,GAAK,IAAMC,GAAK,GAAI9gE,EAC5C,E,yLC7BJ,IAWYy2C,EAXZ,cAEA,aACA,cACA,cAEA,cACA,cAEM5tD,EAAK,UAAWC,KAAK,YAE3B,SAAY2tD,GACR,wBACA,sBACA,4BACA,4BACA,wBACA,uBACH,CAPD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAqB/B,IAAMyqB,EAA+B,UAAMj4E,MAAK,SAACC,G,MACrCmI,EAAuFnI,EAAK,MAArFmM,EAAgFnM,EAAK,KAA/E+G,EAA0E/G,EAAK,MAAxEqtD,EAAmErtD,EAAK,WAA5DyB,EAAuDzB,EAAK,QAAnDkB,EAA8ClB,EAAK,MAA5CU,EAAuCV,EAAK,UAAjCstD,EAA4BttD,EAAK,UAAtBW,EAAiBX,EAAK,aAE9FY,EAAmB,UAAGD,EAAY,gBAExC,OACI,+BACIwH,MAAOA,EACPzH,WAAW,aACPf,EAAG,QAAM,KACL,EAAC,sBAAeuB,KAAU,EAC1B,sBAAoBosD,EACpB,sBAAoBnhD,EACpB,8BAA4BkhD,E,IAEhC3sD,GAEJe,QAAS4rD,EAAa,UAAO5rD,EAAO,qBAChB,UAAGb,EAAgB,aAEpCuL,GACC,gDACI,+BACIzL,UAAWf,EAAG,OAAQ,CAClB,mBAAoB2tD,KAGvBnhD,GAEL,+BACIzL,UAAWf,EAAG,mBAAoB,CAC9B,+BAAgC2tD,OAKhD,+BACI5sD,UAAWf,EAAG,QAAS,CACnB,oBAAqB2tD,KAGxBvmD,GAEJsmD,GACG,+BACI3sD,UAAWf,EAAG,SAAU,CACpB,qBAAsB2tD,IAE1B7rD,QAASA,EAAO,qBACI,UAAGb,EAAgB,YAEvC,wBAAC,UAAS,CAACe,UAAU,kBAKzC,IAEA,UAAeq2E,C,o7BC1Ff,kBACA,cAEA,cACA,WACA,cAEA,cACA,YAEMr4E,EAAK,UAAWC,KAAK,WAWrBq4E,EAA4D,SAAC,G,IAAEC,EAAY,eAC7E,OAAO,wBAAMx3E,UAAWf,EAAG,WAAYu4E,EAC3C,EACMC,EAAmF,SAAC,G,IAAEC,EAAU,aAAO,OACzG,qBAAG13E,UAAWf,EAAG,WACb,gBAAC,UAAuB,CAAC04E,aAAW,EAACC,YAAaF,IAFmD,EAMvGG,EAAuDz4E,EAAMC,MAAK,SAACC,GAC7D,IAAAs4E,EAAsFt4E,EAAK,YAA9Ew4E,EAAyEx4E,EAAK,cAA/Du+D,EAA0Dv+D,EAAK,WAAnDw+D,EAA8Cx+D,EAAK,gBAAlCk4E,EAA6Bl4E,EAAK,aAApBo4E,EAAep4E,EAAK,WAEnG,OACI,uBAAKU,UAAWf,EAAG,SACf,uBAAKe,UAAWf,EAAG,YACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,sCACRE,WAAY,CACR+nE,YAAa,gBAAC,UAAuB,CAACG,eAAa,EAACH,YAAaA,IACjEI,YAAa,gBAAC,UAAW,CAAC/qE,OAAQ6qE,IAClCrkB,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,QAIxC,uBAAK99D,UAAWf,EAAG,gBACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,wCACRE,WAAY,CACR+nE,YAAa,gBAACH,EAAM,CAACC,WAAYA,IACjChvD,OAAQ,gBAAC6uD,EAAY,CAACC,aAAcA,QAM5D,IAEA,UAAeK,C,o7BC3Df,kBACA,cACA,WACA,WACA,UACA,WASMI,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,0CAA2C,CAChDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB3gB,aAEjD,EACAqvC,UAAW,CAAC,EAAA1uB,qBAAqB3gB,aAErC,CACIsvC,YAAY,EACZ53E,MAAO,EAAAqsD,oBAAoB1rD,SAC3BsV,WAAY,SAAC+C,EAAc5C,EAAOg2C,G,MACxByrB,EAA+D,QAAhD,EAAA7+D,EAAa,EAAAiwC,qBAAqB6uB,sBAAc,eAAG1hE,GAExE,OAAO,EAAA2hE,oBAAoBC,OAAOH,EAAczrB,EACpD,EACAj6B,OAAQ,SAACnZ,EAAc5C,G,MACbyhE,EAA+D,QAAhD,EAAA7+D,EAAa,EAAAiwC,qBAAqB6uB,sBAAc,eAAG1hE,GAExE,OAAOzW,EAAE,wCAAyC,CAC9CoE,MAAO8zE,GAEf,EACAF,UAAW,CAAC,EAAA1uB,qBAAqBgvB,QAAS,EAAAhvB,qBAAqB6uB,gBAEnE,CACIF,YAAY,EACZ53E,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,EAAc5C,G,MACbqa,EAA6D,QAA/C,EAAAzX,EAAa,EAAAiwC,qBAAqBivB,qBAAa,eAAG9hE,GAEtE,OACI,gBAAC,EAAAhH,MAAK,CACFD,QAAQ,oDACRyK,OAAQ,CACJ7V,MAAO0sB,IAIvB,EACAknD,UAAW,CAAC,EAAA1uB,qBAAqBkvB,WAAY,EAAAlvB,qBAAqBivB,eA1CjC,GA6CzC,CAACv4E,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,o7BC9Ef,kBACA,WACA,cACA,cACA,WACA,cACA,cACA,WAeMrqE,EAAgB,+BAEhBgrE,EAA+C,UAAMv5E,MAAK,SAACC,GACrD,IAAAyM,EAAsDzM,EAAK,KAArDstB,EAAgDttB,EAAK,UAA1CyO,EAAqCzO,EAAK,SAAhCQ,EAA2BR,EAAK,QAAvBwD,EAAkBxD,EAAK,cAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,EAAcK,QAC1BpC,QAASgN,GAEb,CACIG,SAAU/N,EAAE,oCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BjJ,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,YACvD7T,MAAOY,EAAE,gEACT0X,QAAS1X,EAAE,0EA9BhB,IAmCf,IAEA,UAAey4E,C,2pCCnEf,IAiBKC,EAjBL,cAEA,cACA,cACA,UACA,aAGA,cACA,WACA,WACA,WACA,WACA,WACA,cACA,eAEA,SAAKA,GACD,mBACH,CAFD,CAAKA,IAAAA,EAAoB,KAIzB,IAAM55E,EAAK,UAAWC,KAAK,WAErB45E,IAAS,MACVD,EAAqBpvD,SAClB,wBAAC,UAAW,CACRxoB,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,UAClCL,KAAM,EAAAC,oB,GA6BZojE,EAAwC,UAAM15E,MAAK,SAACC,GAElD,IAAA05E,EAaA15E,EAAK,aAZL25E,EAYA35E,EAAK,oBAXLiF,EAWAjF,EAAK,MAVL0F,EAUA1F,EAAK,YATL8c,EASA9c,EAAK,SARLqF,EAQArF,EAAK,WAPLmF,EAOAnF,EAAK,WANLoF,EAMApF,EAAK,SALLwF,EAKAxF,EAAK,WAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFLyF,EAEAzF,EAAK,gBADLuC,EACAvC,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAEXolD,GAAe,IAAA5jE,aAAY,EAAA6jE,oBAC3BpgC,GAAe,IAAAzjC,aAAY,EAAA8jE,2BAEjC,UAAM5uE,WAAU,WACZqpB,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAEJ,IAAMwlD,EAAoB,UAAMv1E,SAAQ,WACpC,OAAKm1E,GAIEC,aAAY,EAAZA,EAAeD,KAAkC,IAH7C,aAAQj2B,OAAO5oC,OAAO8+D,GAAgB,CAAC,GAItD,GAAG,CAACA,EAAcD,IAEZK,EAAiB,UAAMx1E,SAAQ,WACjC,OAAOu1E,EAAkB1iE,KAAI,SAAC2M,GAAY,OACtC/e,MAAOia,OAAO8E,EAAQ9X,KAAO,KAC7BnF,MAAO2yE,EACD11D,EAAQmD,OAAS,GACjBtmB,EAAE,kCAAmC,CACjCoB,OAAQ+hB,EAAQ/hB,OAChBklB,MAAOnD,EAAQmD,MACf8yD,YAAaj2D,EAAQi2D,YACrBC,YAAal2D,EAAQk2D,cAE/B3tC,SAAUgtC,EAAqBpvD,QAVO,GAY9C,GAAG,CAAC4vD,EAAmBl5E,EAAG64E,IAiC1B,OACI,wBAAC,UAAa,CACVvyE,cAAelC,EACfS,YAAaA,EACbvD,QAAS63E,EACT90E,SAXa,SAACD,GAClB6X,EAAS7X,EACb,EAUQI,WAAYA,IAAeu0E,EAC3B9yE,aA1Ba,SAACN,GAClB,OAAKA,EAKD,+BAAK9F,UAAWf,EAAG,UAAWgT,IAAKnM,EAAOO,OACtC,+BAAKrG,UAAWf,EAAG,iBAAkB65E,EAAUhzE,EAAO+lC,WACtD,+BAAK7rC,UAAWf,EAAG,kBAAmB6G,EAAOO,QAN1C,IASf,EAgBQozE,qBAvCc,SAAC3zE,GACnB,OAAKA,EAKD,+BAAK9F,UAAWf,EAAG,UAAWgT,IAAKnM,EAAOO,OACrCP,EAAOO,OALL,IAQf,EA8BQS,eAXe,SAAChB,GAAiD,OAAAA,EAAOvB,KAAP,EAYjE1C,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTmX,eAAgB,SAACC,GAAa,+BAAC,UAAW,KAAK,EAAAy9D,iBAAiBv9D,gBAAgBF,IAAlD,EAC9BtV,gBAAiB,WACb,OAAAoyC,EAAa51C,QAAU,wBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAA0B,IAA/F,EAEJ5G,aAAa,UACb8E,gBAAiBA,EACjBiC,QAAS,WACLoV,EAAS,KACb,GAGZ,IAEA,UAAe28D,C,8BCtKf,WAAgB,kBAAkB,+CAA+C,OAAS,sCAAsC,SAAW,wC,sfCD3I,kBAYS,EAAAxqB,oCATmC,WAClC,QAA0B,UAAM5qD,SAA2B,MAAK,GAEtE,MAAO,CACHgiC,SAHW,KAIXyvC,YAJwB,KAMhC,C,4yBCNa,EAAAuE,gCAAkC,2DAClC,EAAAC,sCAAwC,iEACxC,EAAAC,sCAAwC,iEACxC,EAAAC,wCACT,mEAES,EAAAC,kCAAoC,6DACpC,EAAAC,wCACT,mEACS,EAAAC,wCACT,mEACS,EAAAC,0CACT,qEAES,EAAAC,gCAAkC,2DAClC,EAAAC,sCAAwC,iEACxC,EAAAC,sCAAwC,iEACxC,EAAAC,wCACT,mEAES,EAAAC,iCAAmC,4DACnC,EAAAC,gCAAkC,2DAClC,EAAAC,gCAAkC,2DAClC,EAAAC,gCAAkC,2DAClC,EAAAC,sCAAwC,iEACxC,EAAAC,sCAAwC,iEACxC,EAAAC,wCACT,kE,8BC9BJ,WAAgB,IAAM,wBAAwB,OAAS,2BAA2B,OAAS,2BAA2B,SAAW,6B,i4BCDjI,kBACA,WACA,WAOa,EAAAC,oBAAiB,MACzB,EAAArwC,eAAe9B,QAAS,4BACzB,EAAC,EAAA8B,eAAeswC,SAAU,6BAC1B,EAAC,EAAAtwC,eAAehf,UAAW,8B,GAG/B,IAAMuvD,EAA+B57E,EAAMC,MAAK,SAACC,GACrC,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAA26E,kBAAkBpyD,IAHhB,IAIf,IAEA,UAAesyD,C,8BC1Bf,WAAgB,OAAS,mCAAmC,SAAW,qC,smDCmBvE,yC,4DAEQ,SAAM,UAAkBC,oB,cADtB,kBACF,SAA0C,IADvC53E,EAAK,KAAE64D,EAAW,KAErB74D,EACA,IAAM,IAAA+I,MAAI,IAAA+vD,gBAAe94D,KADzB,M,qBAUJ,S,WALA,OAAK64D,EAKL,IAAM,IAAA9vD,MAAI,IAAA4vD,kBAAiBE,OAJvB,IAAAloC,YAAW,uBACX,K,KA9BR,eACA,WACA,UAQA,WACA,UACA,UACA,cACA,UACA,WACA,cACA,WACA,WAkBA,SAAUknD,I,4DACN,UAAM,IAAA9uE,MAAI,IAAA0vD,oB,OAEN,OAFJ,SAEI,GAAM,UAAkBmf,oB,cADtB,kBACF,SAA0C,IADvC53E,EAAK,KAAE64D,EAAW,KAErB74D,EACA,IAAM,IAAA+I,MAAI,IAAA+vD,gBAAe94D,KADzB,M,OAEA,OADA,SACA,I,OAaJ,OAVI64D,aAAW,EAAXA,EAAa1wD,KACb,EAAAq0B,aAAas7C,YAAY,CACrB3vE,GAAI0wD,EAAY1wD,MAIpB0wD,aAAW,EAAXA,EAAakf,YAAYlf,aAAW,EAAXA,EAAakf,YAAa,UAAKA,WACxD,IAAAC,gBAAenf,aAAW,EAAXA,EAAakf,UAG3Blf,EAKL,IAAM,IAAA9vD,MAAI,IAAA4vD,kBAAiBE,OAJvB,IAAAloC,YAAW,uBACX,K,cAGJ,SAEIkoC,EAAYxzC,SAAW,EAAA+hB,eAAehf,SAAtC,MACA,IAAM,IAAArf,MAAI,IAAA01D,a,OAAV,S,+BAIR,SAAUwZ,EAAcr4E,G,wFAEpB,OADQq5D,EAA4Br5D,EAAM,SAAxB01C,EAAkB11C,EAAM,KAAlBmlC,EAAYnlC,EAAM,QACrCq5D,GAAa3jB,EAKlB,IAAM,IAAAvsC,MAAI,IAAAowD,sBAJN,IAAAxoC,YAAW,+BACX,K,cAGJ,SACIoU,EAAQmzC,iBAAmBnzC,EAAQozC,YAC9Blf,EAASv2D,MAKiB,GAAM,EAAAk+C,QAAQw3B,6BACzCnf,EAASv2D,MACTqiC,EAAQmzC,oBANR,IAAAvnD,YAAW,6BACX,KAHJ,M,cAMM,kBAAyB,SAG9B,IAHM0nD,EAAW,KAAE3uC,EAAO,KAIvB2uC,EACA,IAAM,IAAAtvE,MAAI,IAAAywD,gBAAe6e,KADzB,M,8BAiCJ,OADA,SACA,I,OA5ByE,SAAM,EAAAz3B,QAAQ03B,qB,OAEvF,OAFM,kBAAmE,SAAiC,IAAjGC,EAAc,KAEvB,IAAM,IAAAxvE,MAAI,IAAAs0D,eAAc3zB,EAAS6uC,K,OAEH,OAF9B,SAE8B,GAAM,EAAA33B,QAAQ43B,eAAezzC,EAAQozC,c,cAA7D,kBAAwB,SAAiD,KAAxEM,EAAmB,MAEtB,IAAM,IAAA1vE,MAAI,IAAAywD,gBAAeif,KADzB,M,cAMFC,EAAiB,UAAG3zC,EAAQpf,UAAS,YAAIof,EAAQnf,aAChCqzC,EAASlrD,YAA5B,OAC6B,GAAM,EAAA6yC,QAAQ+3B,cAAcD,I,eAAnD,kBAAuB,SAA2C,KAAjEE,EAAkB,MAErB,IAAM,IAAA7vE,MAAI,IAAAywD,gBAAeof,KADzB,O,QASiE,OAHnEC,GAAc,IAAA7f,WAAU1jB,EAAMvQ,GAC9B+zC,GAAuB,IAAAC,wBAAuBF,GAEqB,GAAM,UAAkB7f,UAC7F8f,I,eADE,kBAAmE,SAExE,KAFME,EAAc,MAIjB,IAAM,IAAAjwE,MAAI,IAAAywD,gBAAewf,KADzB,O,QAKJ,UAAM,IAAAjwE,MAAI,IAAAswD,kBAAiB/jB,EAAMwjC,K,eAAjC,SAEI/zC,EAAQgzC,WAAaziC,EAAKyiC,WAC1B,IAAAC,gBAAejzC,EAAQgzC,U,QAS/B,UALA,W,kDACI,UAAM,IAAAvuE,WAAU,EAAAgvD,mBAAoBqf,I,OACpC,OADA,SACA,IAAM,IAAAruE,WAAU,EAAA0vD,mBAAoB+e,I,cAApC,S,gHC/HS,EAAAjS,yBAA2B,SAACD,G,QACrC,MAAO,YAAKA,EAAK7mE,KAAI,YAAgB,QAAZ,EAAA6mE,EAAKpjC,eAAO,eAAE0O,SAAQ,YAAgB,QAAZ,EAAA00B,EAAKpjC,eAAO,eAAE2O,UACrE,C,+5FCLA,kBACA,cAEA,cACA,WACA,cACA,WAEA,WAEA,UACA,cACA,WACA,cACA,cAEA,WACA,WACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,WAQA,aACA,cACA,WACA,UACA,cACA,cACA,cACA,cACA,WAWA,WAKA,WACA,cAEA,cACA,WACA,WAEA,cACA,WAOA,WACA,WACA,eACA,YACA,YACA,WAIA,eACA,eACA,eACA,cACA,WACA,eACA,WAEM11C,GAAK,UAAWC,KAAK,WAqvB3B,UA7uBwC,SAACI,G,cAEjCyO,EAGAzO,EAAK,SAFLqyD,EAEAryD,EAAK,cADLkK,EACAlK,EAAK,QAEHg9E,GAAgB,IAAAhnE,aAAY,EAAAinE,8BAE5BC,IAAuB,IAAAlnE,aAAY,EAAAmnE,qCACnCC,IAAuB,IAAApnE,aAAY,EAAAqnE,qCACnCC,IAAsB,IAAAtnE,aAAY,EAAAunE,oCAClCC,IAA2B,IAAAxnE,aAAY,EAAAynE,gCAErC58E,IAAM,IAAAC,kBAAgB,EAExByzB,IAAW,IAAAC,eAEX,KAAkD,UAAMnwB,UAAkB,GAAM,GAA/Eq5E,GAAiB,MAAEC,GAA0B,MAC9CC,GAA0B,UAAM53E,aAAY,WAC9C23E,IAA2B,SAACE,GAAgB,OAACA,CAAD,GAChD,GAAG,IAEGlI,IAA0B,IAAA3/D,aAAY,EAAA4/D,oCAC5C,UAAM1qE,WAAU,WACZqpB,IAAS,IAAAshD,4BACb,GAAG,CAACthD,KAEJ,IAAMqvB,GAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GACJ,oBAAaja,GAAGia,EAAQ,CACpB66D,wBAAuB,IAD3B,CAGR,GAAG,CAAC90E,GAAG80E,KAEDmI,IAAY5zE,aAAO,EAAPA,EAAS4zE,YAAa,KAClCC,KAAe7zE,EAEf,KAAiC,UAAM1F,SAAQ,WACjD,IAAMsW,GAAS,IAAAkjE,kBAAiB9zE,GAGhC,MAAO,CAAC4Q,GAFO,aAAaja,GAAGia,EAAQ,CAAE66D,wBAAuB,KAIpE,GAAG,CAACoI,GAAYD,GAAWd,IAAe,GANnCxiE,GAAa,MAAEupC,GAAa,MAQ7B,KAAoD,UAAM1/C,UAAkB,GAAM,GAAjF45E,GAAqB,MAAEC,GAAwB,MAChDC,GAA6B,UAAMn4E,aAAY,WACjDk4E,IAAyB,EAC7B,GAAG,IAEGE,IAAqB,IAAApoE,aAAY,EAAAqoE,0BACjCC,IAA2BhB,cAAmB,EAAnBA,GAAqBv5E,QAAS,KAC/D,UAAMw6E,iBAAgB,WAClB,IAAMx6E,EAAQq6E,IAAsBE,IAA4B,KAE5Dv6E,IACA,KAAAy6E,gCAA+Bz6E,KAC/BA,aAAK,EAALA,EAAO06E,WAAY,GAAAC,mCAAmCC,mCAEtDT,IAAyB,EAEjC,GAAG,CAACE,GAAoBE,KAExB,IAAMM,GAA0B,UAAMp6E,SAAQ,W,MACpCq6E,GACkB,QAApB,EAAA30E,aAAO,EAAPA,EAAS40E,mBAAW,eAAEC,SAAQ,SAACC,GAC3B,OAAOA,aAAI,EAAJA,EAAMC,QAAS,EAC1B,MAAM,GAEV,OAAO,aAAMJ,GAAU,SAAC/U,GACpB,OAAO,KAAAC,0BAAyBD,EACpC,GACJ,GAAG,CAAC5/D,IAEEg1E,GAAuB,UAAM16E,SAAQ,W,MACjCq6E,GACY,QAAd,EAAA30E,aAAO,EAAPA,EAASi1E,aAAK,eAAEJ,SAAQ,SAACC,GACrB,OAAOA,aAAI,EAAJA,EAAMC,QAAS,EAC1B,MAAM,GAEV,OAAO,aAAMJ,GAAU,SAAC/U,GACpB,OAAO,KAAAC,0BAAyBD,EACpC,GACJ,GAAG,CAAC5/D,IAEEuQ,IAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,GACbvpC,cAAa,GACbopC,SAAQ,GACR/oC,SAAU,SAACC,EAAQC,GACfwZ,IAAS,IAAA6qD,8BAA6B,CAAC,IAEvCrkE,EAAcI,WAAW,CAAC,EAC9B,IAGEkkE,GAAa5kE,GAAOK,OAAO,EAAApb,WAAWymC,OAEtCm5C,IAAsB,IAAA3sD,YAAW,EAAA4sD,kCACvC,UAAMr0E,WAAU,WACZ,IAAMs0E,EAAcH,GAAWhoE,KAAI,SAACooE,EAAkBnoE,GAClD,IAAMpL,EAAKuzE,EAAiB,EAAAr5C,qBAAqBs5C,aAC3CC,EAAsBF,EAAiB,EAAAr5C,qBAAqBu5C,qBAC5D18E,EAAOw8E,EAAiB,EAAAr5C,qBAAqBnjC,MAC7CojC,EAAWo5C,EAAiB,EAAAr5C,qBAAqBC,UAEjDu5C,GAAiB,IAAA3V,6BAA4BhnE,EAAMojC,GACnDw5C,EAAiBX,GAAqBU,IAAmB,KAEzDE,GAAuB,IAAAC,6BAA4BF,GAEnD35C,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBC,UAG/E,MAAO,CACHn6B,GAAE,EACF8zE,OAAQL,EACR18E,KAAI,EACJ0K,OAAQ2J,EAAQ,EAChB+uB,SAAQ,EACR45C,YAAaH,EACb16E,YATe,cAAIqV,GAAOmB,OAAQsqB,GAW1C,IAEAo5C,GAAoBY,kBAAkBV,EAE1C,GAAG,CAACN,GAAsBG,GAAY5kE,GAAOmB,SAE7C,UAAM1Q,WAAU,W,QACNi1E,EAAkC,GAElCC,EAAe5lE,GAAc,EAAA9a,WAAWymC,QAAU,GAExDi6C,SAAAA,EAAchkE,SAAQ,SAACikE,G,YACnBF,EAAYzoE,KAAK,CAA+B,QAA9B,EAAuB,QAAvB,EAAA2oE,aAAa,EAAbA,EAAeh6C,gBAAQ,eAAEiN,aAAK,eAAEvzB,IAAmC,QAA9B,EAAuB,QAAvB,EAAAsgE,aAAa,EAAbA,EAAeh6C,gBAAQ,eAAEiN,aAAK,eAAEtzB,KAC3F,IAEkD,QAAlD,EAAwC,QAAxC,EAAAs/D,cAAmB,EAAnBA,GAAqBgB,2BAAmB,eAAEntB,gBAAQ,gBAAGgtB,EAEzD,GAAG,CAAC3lE,GAAe8kE,cAAmB,EAAnBA,GAAqBgB,sBAEhC,IAAAvkE,GAA0BtB,GAAM,cAAjBK,GAAWL,GAAM,OAElC8lE,GAA0C,UAAMv6E,aAClD,SAACqgC,GACG,IAEMm6C,GAFQ1lE,GAAO,EAAApb,WAAWymC,QAAU,IAEMkkC,WAAU,SAACoW,GACvD,QAAQ,IAAAC,4BAA2BD,EACvC,IAEA,IAA2C,IAAvCD,EAAJ,CAIA,IAAMt6C,EACF,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIq6C,EAAiC,YAAI,EAAAp6C,qBAAqBC,UACrFtqB,GAAcmqB,EAAmBG,GAEjC,IAAMs6C,EACF,UAAG,EAAAjhF,WAAWymC,MAAK,YAAIq6C,EAAiC,YAAI,EAAAp6C,qBAAqBnjC,MAC/E29E,GAAiB,IAAAr6C,mBAAkBzrB,GAAQ6lE,GAE3CE,GAAmB,IAAAC,iBAAgBz6C,GACzC,GAAKw6C,EAAL,CAIA,IAAME,GAAwB,IAAA9W,6BAA4B2W,EAAgBv6C,GAE1E9R,IACI,IAAAysD,eAAc,CACV/9E,KAAM,8BACN89E,sBAAqB,EACrBH,eAAc,EACdl6C,QAASm6C,EACTI,+BAA+B,IAAAC,kCAC3B7B,GACAmB,KAZZ,CAbA,CA6BJ,GACA,CAACjsD,GAAUzZ,GAAQiB,GAAesjE,KAGtC,UAAMn0E,WAAU,WACZo0E,UAAAA,GAAqB6B,sBAAsB,CAAEhuB,SAAUotB,IAE3D,GAAG,CAACA,GAAoBjB,cAAmB,EAAnBA,GAAqB6B,wBAE7C,IAAMC,GAA8C,UAAMp7E,aACtD,SAACkG,EAAIm6B,G,MACKg5C,EAAavkE,GAAO,EAAApb,WAAWymC,QAAU,GAEzC7uB,EAAQ+nE,aAAU,EAAVA,EAAYhV,WAAU,SAACoV,GACjC,OAAOvzE,IAAOuzE,EAAiB,EAAAr5C,qBAAqBs5C,YACxD,IAEM2B,GAAgC,QAAjB,EAAAhC,EAAW/nE,UAAM,eAAE+uB,WAAY,KAE9CH,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBC,UAC/EtqB,GAAcmqB,EAAmBG,GAEjC,IAAMs6C,EAAgB,UAAG,EAAAjhF,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBnjC,MACrE29E,GAAiB,IAAAr6C,mBAAkBzrB,GAAQ6lE,GAE3CE,GAAmB,IAAAC,iBAAgBz6C,GACzC,GAAKw6C,GAIAD,EAAL,CAIA,IAAMG,GAAwB,IAAA9W,6BAA4B2W,EAAgBS,GAE1E9sD,IACI,IAAAysD,eAAc,CACV/9E,KAAM,8BACN89E,sBAAqB,EACrBH,eAAc,EACdl6C,QAASm6C,EACTI,+BAA+B,IAAAC,kCAAiC7B,EAAY/nE,KAVpF,CAaJ,GACA,CAACid,GAAUzZ,GAAQiB,KAGvB,UAAM7Q,WAAU,WACZo0E,UAAAA,GAAqBgC,wBAAwB,CAAEnuB,SAAUiuB,IAE7D,GAAG,CAACA,GAAsB9B,cAAmB,EAAnBA,GAAqBgC,0BAE/C,IAAMC,GAAgC,UAAMv7E,aACxC,SAAC2F,G,MACS61E,EAA0C,CAAC,EAE3CC,EAAqBhnE,GAAOK,OAAO,EAAApb,WAAWymC,OAChDu7C,EAAgD,GAEpD,KAAK,aAAQ/1E,aAAK,EAALA,EAAO49D,gBAAiB,CACjC,IAAM,GAAsB,aAAM59D,aAAK,EAALA,EAAO49D,gBAAgB,SAACO,GACtD,OAAO,KAAAC,0BAAyBD,EACpC,IAEA4X,EAAqBD,EAAmBpqE,KAAI,SAACsqE,G,MACnC1+E,EAAO0+E,EAAqB,EAAAv7C,qBAAqBnjC,OAAS,KAC1DojC,EAAWs7C,EAAqB,EAAAv7C,qBAAqBC,WAAa,KAClEmwB,GAAO,IAAAyT,6BAA4BhnE,EAAMojC,GAEzCu7C,EAAgB,EAAoBprB,IAAS,KAE/CqrB,EAAoD,KAQxD,OAPID,aAAa,EAAbA,EAAeE,iBAAiBF,aAAa,EAAbA,EAAeG,eAC/CF,EAAsB,CAClB75E,MAAO45E,EAAcE,cACrB/1E,IAAK61E,EAAcG,cAIvBF,EACO,EAAP,KACOF,KAAoB,MACtB,EAAAv7C,qBAAqBn+B,YAAa45E,EAAmB,IAIvDF,CACX,IAEAH,EAAkB,EAAA9hF,WAAWymC,OAASu7C,CAC1C,EAEK,aAAQF,IACT/mE,GAAO8B,WAAU,SAACC,GAAe,cAC1BA,GACAglE,EAF0B,IAMTx4E,QAA4B,QAApB,EAAA2C,EAAM49D,sBAAc,eAAEtnE,SAC/B0J,EAAM49D,gBAC7B,GAAAJ,+BAA+B7nC,KAAK,CAChCioC,eAAgB59D,aAAK,EAALA,EAAO49D,eACvBG,gBAAiBgY,EACjBlY,gBAAiB79D,aAAK,EAALA,EAAO69D,gBACxBC,kBAAmB99D,aAAK,EAALA,EAAO89D,kBAC1BE,gBAAiBh+D,aAAK,EAALA,EAAOg+D,iBAGpC,GACA,CAAClvD,MAEL,IAAAwnB,qBAAoB,EAAA+/C,4BAA6BT,IAEjD,IAAMU,GAAe,UAAMj8E,aAAY,WACnCk4E,IAAyB,GAEzB3pD,IAAS,IAAA2tD,iCAAgC,CAAE7vB,cAAa,IAC5D,GAAG,CAAC99B,GAAU89B,IAER8vB,GAAyD,QAA1C,EAAyB,QAAzB,EAAoB,QAApB,EAAAj4E,aAAO,EAAPA,EAAS40E,mBAAW,eAAG,UAAE,eAAEsD,uBAAe,eAAEr8D,UAC3Ds8D,GAA4C,UAAM79E,SAAQ,WAC5D,MAAO,CACH,CACIm2C,SAAU,wBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB+W,OAC5D1Y,MAAOY,GAAE,+DACTgW,MAAOsrE,IAGnB,GAAG,CAACthF,GAAGshF,KAEDG,GAA+C,QAAhC,EAAAp4E,aAAO,EAAPA,EAASq4E,+BAAuB,eAAEx8D,UACjDy8D,GAA4C,UAAMh+E,SAAQ,W,MAC5D,MAAO,CACH,CACIm2C,SAAU,wBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB+W,OAC5D1Y,MAAOY,GAAE,0DACTgW,MAAuC,QAAhC,EAAA3M,aAAO,EAAPA,EAASq4E,+BAAuB,eAAEx8D,UACzC08D,WAAW,aAASH,MAAiB,aAASH,IAAgBG,GAAeH,GAAe,KAC5FnzE,UAAWwuE,IAGvB,GAAG,CAAC2E,GAAcG,GAAc9E,GAA0D,QAAhC,EAAAtzE,aAAO,EAAPA,EAASq4E,+BAAuB,eAAEx8D,UAAWllB,KAEjG6hF,GAA4B,UAAMl+E,SAAQ,WAE5C,OADcsW,GAAO,EAAApb,WAAWymC,QAAU,IAC7B8qC,MAAK,SAACwO,G,QAEf,IAD4BA,EAAiB,EAAAr5C,qBAAqBu5C,qBAE9D,OAAO,EAGX,IAAM18E,EAAOw8E,EAAiB,EAAAr5C,qBAAqBnjC,MAC7CojC,EAAWo5C,EAAiB,EAAAr5C,qBAAqBC,UACjDu5C,GAAiB,IAAA3V,6BAA4BhnE,EAAMojC,GAEnDs8C,GAAoB/D,cAAuB,EAAvBA,GAA0BgB,KAAmB,KACvE,QAAK+C,IAKD,IAAAC,6BACID,aAAiB,EAAjBA,EAAmBE,qBACnBF,aAAiB,EAAjBA,EAAmBG,uBAEvB,IAAAF,6BACqD,QAAjD,EAAAnD,EAAiB,EAAAr5C,qBAAqBn+B,mBAAW,eAAED,MACF,QAAjD,EAAAy3E,EAAiB,EAAAr5C,qBAAqBn+B,mBAAW,eAAE8D,IAG/D,GAEJ,GAAG,CAAC6yE,GAAyB9jE,GAAQ5Q,IAE/B64E,GAAkB7F,GAAqBr5E,SAAWy5E,GAAoBz5E,SAAWu5E,GAAqBv5E,QACtGm/E,GACFD,IAAmBvF,MAA6BkF,KAA6BhF,GAE3EuF,GAA8B,SAACl7B,EAAoB77C,GACrDg3E,YAAW,qD,8DACDC,GAAe,IAAAr7B,wBAAuBC,EAAY,EAAA3hB,qBAAqBC,UACvE+8C,EAAoB,6BAAsBl3E,EAAE,0BAAkBi3E,EAAY,MAE5EE,EAAY,K,qEAWZ,OANIA,OAHJA,EAAYtlC,SAASulC,cAAcF,SAGtB,EAATC,EAAW14E,SAEX04E,SAAAA,EAAW14E,SAGT44E,EAAQ,EAAAlkC,UACd,GAAM,IAAI0F,SAAc,SAACy+B,GACrBN,YAAW,WACPM,GACJ,GAAGD,EACP,K,cAJA,S,iCAVIF,EAAS,M,+DAgBlB,EACP,EAEMI,GAA6B,SAACp9C,EAA4BJ,G,QAC5D,GAAKI,EAAL,CAIA,IAEMq9C,GAFQjpE,GAAOK,OAAO,EAAApb,WAAWymC,QAAU,IAElB9uB,KAAI,SAACooE,GAAqB,OAAAA,EAAiB,EAAAr5C,qBAAqBC,SAAtC,IACzDq9C,EAAiBz9C,GAAmBI,EAEpC,IAAM+M,EAASswC,EAAiBrsE,KAAI,SAACgvB,GAAa,OAAAA,aAAQ,EAARA,EAAUiN,KAAV,IAAiBtkB,OAAO,GAAA4/B,UAEpE+0B,GAAc,cAAevwC,GACe,QAAlD,EAAwC,QAAxC,EAAAksC,cAAmB,EAAnBA,GAAqBgB,2BAAmB,eAAEntB,gBAAQ,gBAAGwwB,EAVrD,CAWJ,EAEMC,GAA4D,SAC9D39C,EACA86C,EACAj4C,GAEAvU,IACI,IAAAysD,eAAc,CACV/9E,KAAM,8BACN89E,sBAAqB,EACrBH,eAAgB93C,EAAQ83C,eACxBl6C,QAASoC,EAAQpC,QACjBu6C,+BAA+B,IAAAC,kCAAiC7B,GAAYp5C,KAGxF,EAEM49C,GAAkE,SACpE59C,EACA86C,EACAj4C,GAEAvU,IACI,IAAAysD,eAAc,CACV/9E,KAAM,iCACN89E,sBAAqB,EACrBH,eAAgB93C,EAAQ83C,eACxB34E,WAAY6gC,EAAQ7gC,WACpBy+B,QAASoC,EAAQpC,QACjBu6C,+BAA+B,IAAAC,kCAAiC7B,GAAYp5C,KAGxF,EAEM69C,GAA4D,SAAC79C,EAAiB86C,GAChFxsD,IACI,IAAAysD,eAAc,CACV/9E,KAAM,qBACN89E,sBAAqB,IAGjC,EAEMgD,GAAgB,UAAMv/E,SAAQ,WAChC,OAAIy5E,GAEI,wBAAC,UAAK,CACF/8E,MAAO,EAAAq4B,eAAejnB,OACtB5R,UAAWf,GAAG,4BACdwM,KAAM,wBAAC,WAAQ,CAACxK,UAAW,EAAAC,qBAAqBgG,QAChDwO,KAAM,EAAAilB,cAAc2oD,OACpBxjF,QAAS29E,IAET,wBAAC,EAAA7tE,MAAK,CAACD,QAAQ,+DAA+DE,WAAY,CAAC,KAKhG,IACX,GAAG,CAAC0tE,GAAuBE,KAE3B,OACI,+BAAKz9E,UAAWf,GAAG,SACf,wBAAC,EAAAskF,cAAcnuC,SAAQ,CAAC7wC,MAAOwV,IAC3B,gCAAMI,SAAUJ,GAAOiB,cACnB,+BAAKhb,UAAWf,GAAG,SACf,wBAAC,UAAgB,CAAuCiZ,KAAM,EAAAlZ,WAAWymC,QACpE,SAACrrB,EAAQuuD,GACE,IAAAa,EAAmBb,EAAkB,OAA7BiB,EAAWjB,EAAkB,OAE7C,OACI,gDACI,wBAAC,WAAiB,CAACA,mBAAoBA,IACtCvuD,EAAOzD,KAAI,SAACpS,EAAOqS,GAChB,IAAM4sE,EAAYppE,EAAOxD,EAAQ,IAAM,KAEjC6sE,EAAoB,IAAV7sE,EACV8sE,EAAS9sE,IAAUwD,EAAO7Y,OAAS,EAEnC2+E,EAAiB37E,EAAM,EAAAmhC,qBAAqBnjC,MAC5Cy8E,EAAcz6E,EAAM,EAAAmhC,qBAAqBs5C,aAEzCr5C,EAAWphC,EAAM,EAAAmhC,qBAAqBC,UACtCu5C,GAAiB,IAAA3V,6BACnB2W,EACAv6C,GAGEw5C,GAAiBX,cAAoB,EAApBA,GAAuBU,KAAmB,KAC3D+C,GAAoB/D,cAAuB,EAAvBA,GAA0BgB,KAAmB,KAEjEyE,GACF,IAAAC,+BAA8BzE,GAC5BC,GAAuB,IAAAC,6BAA4BF,GACnD0E,GAAgB,IAAAC,sBAAqB3E,GAErC4E,GACFP,aAAS,EAATA,EAAWjhF,QAAS,EAAAyhF,mBAAmBxjE,iBACvCjc,aAAK,EAALA,EAAOhC,QAAS,EAAAyhF,mBAAmBvjE,aAEjCwjE,GAAyBP,IAAWK,EAE1C,OACI,gDACK7D,IAAmB,EAAA8D,mBAAmBE,kBACnC,wBAAC,UAAgC,CAC7BjyE,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdklF,uBAAwBV,EACxBW,sBAAuBV,EACvBn+C,gBAAiB3uB,EACjBuoE,eAAgBA,EAChB8C,kBAAmBA,EACnB7C,qBAAsBA,EACtBuE,yBAA0BA,EAC1BU,0BAA2BnB,GAC3BoB,6BACInB,GAEJU,cAAeA,EACfU,SAAU,SAACh/C,EAAiB86C,GACxB+C,GACI79C,EACA86C,GAGJ7W,EAAO5yD,EACX,EACA4tE,uBAAwBzB,KAG/B7C,IAAmB,EAAA8D,mBAAmBrjE,aACnC,wBAAC,UAA2B,CACxB1O,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,EACjBuoE,eAAgBA,EAChB8C,kBAAmBA,EACnB7C,qBAAsBA,EACtBuE,yBAA0BA,EAC1BU,0BAA2BnB,GAC3BoB,6BACInB,GAEJU,cAAeA,EACfU,SAAU,SAACh/C,EAAiBk/C,GACxBrB,GACI79C,EACAk/C,GAGJjb,EAAO5yD,EACX,EACA4tE,uBAAwBzB,KAG/B7C,IAAmB,EAAA8D,mBAAmBtjE,cACnC,wBAAC,UAA4B,CACzBzO,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,EACjBuoE,eAAgBA,EAChB8C,kBAAmBA,EACnB7C,qBAAsBA,EACtBiF,0BAA2BnB,GAC3BsB,uBAAwBzB,GACxBc,cAAeA,EACfU,SAAU,SAACh/C,EAAiB86C,GACxB+C,GACI79C,EACA86C,GAEJ7W,EAAOjkC,EACX,IAGP26C,IAAmB,EAAA8D,mBAAmBvjE,cACnC,wBAAC,WAAuB,CACpBxO,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,IAGxBspE,IAAmB,EAAA8D,mBAAmBxjE,gBACnC,wBAAC,WAAyB,CACtBvO,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,IAGxBqtE,GACG,wBAAC,EAAAS,2BAA0B,CACvBzyE,IAAK,gCAAyB2E,GAC9B5W,UAAWf,GAAG,wBACd4C,gBAAiB,EAAAC,4BAA4B6iF,aAC7ChkF,YAAaR,GACT,uDAEJsB,QAAS,CACL,CACI4E,MACI,wBAAC,UAA0B,CACvBoF,KACI,wBAAC,UAAgB,CACb+zD,YACI,EAAAt+D,qBAAqBC,WAIjCkF,MAAOlG,GACH,gFAIZqE,SAAU,W,MACAogF,GAAS,IAAAC,uBAETC,IAAa,MACd,EAAAp/C,qBAAqBs5C,aAAc4F,EACpC,EAAC,EAAAl/C,qBAAqBu5C,qBAClB,KACJ,EAAC,EAAAv5C,qBAAqBnjC,MAClB,EAAAyhF,mBAAmBtjE,aACvB,EAAC,EAAAglB,qBAAqBC,UAAW,KACjC,EAAC,EAAAD,qBAAqBn+B,YAAa,K,GAGvCqiE,EAAOhzD,EAAQ,EAAGkuE,GAElBvC,GAA4B3rE,EAAQ,EAAGguE,EAC3C,GAEJ,CACIv+E,MACI,wBAAC,UAA0B,CACvBoF,KACI,wBAAC,UAAS,CACNxK,UACI,EAAAC,qBAAqBs8C,cAIjCn3C,MAAOlG,GACH,+EAIZqE,SAAU,W,MACAogF,GAAS,IAAAC,uBAETC,IAAa,MACd,EAAAp/C,qBAAqBs5C,aAAc4F,EACpC,EAAC,EAAAl/C,qBAAqBu5C,qBAClB,KACJ,EAAC,EAAAv5C,qBAAqBnjC,MAClB,EAAAyhF,mBAAmBrjE,YACvB,EAAC,EAAA+kB,qBAAqBC,UAAW,KACjC,EAAC,EAAAD,qBAAqBn+B,YAAa,K,GAGvCqiE,EAAOhzD,EAAQ,EAAGkuE,GAElBvC,GAA4B3rE,EAAQ,EAAGguE,EAC3C,MAO5B,IAGZ,KAGR,wBAAC,UAAkB,CAACG,YAAahrE,GAAOgrE,YAAa7pE,OAAQnB,GAAOmB,SACpE,wBAAC,UAAmB,CAAC8B,aAAW,EAACgoE,WAAS,EAACjxC,QAASsvC,IAChD,+BAAKrjF,UAAWf,GAAG,mBACd+iF,IACG,gDACI,wBAAC,UAAK,CACFv2E,KACI,wBAAC,UAAc,CACXxK,UAAW,EAAAC,qBAAqBgG,MAChC4J,YAAa,EACbkF,YAAa,EAAA9U,qBAAqBgG,QAG1CwO,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAejnB,OACtB5R,UAAWf,GAAG,sCAEbkB,GAAE,yCAEP,wBAAC,UAAQ,CACLH,UAAWf,GAAG,uBACduB,MAAO,EAAAykF,kBAAkBrzE,OACzBszE,QAASlI,GACT32E,MAAOlG,GAAE,iDACTic,SAAU8gE,MAItB,wBAAC,UAAY,CAACl9E,UAAWf,GAAG,cAAe8qD,KAAM43B,KACjD,wBAAC,UAAY,CAAC3hF,UAAWf,GAAG,cAAe8qD,KAAM+3B,KACjD,+BAAK9hF,UAAWf,GAAG,YACf,wBAAC,UAAOkmF,UAAS,CAACnlF,UAAWf,GAAG,SAAU,mBACtC,wBAAC,UAAM,CACHie,aAAW,EACXC,iBAAe,EACf3c,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY29E,GACZh0E,UAAW+zE,GACX9/E,KAAK,UAEJpC,GAAE,uCAEP,wBAAC,UAAOilF,MAAK,CACTC,SAAU,EAAA5mC,WACV6mC,YAAY97E,aAAO,EAAPA,EAAS87E,aAAc,KACnC1hC,gBAAiB,GAAAtjD,oBAAoB60B,UACrCowD,eAAgBplF,GAAE,oDAClBqlF,SAAUjE,MAGlB,wBAAC,UAAM,CACH/gF,MAAO,EAAA2N,gBAAgBC,UACvBpO,UAAWf,GAAG,SAAU,kBACxB8B,QAASgN,GAER5N,GAAE,2CASvC,C,8BC50BA,WAAiB,C,yuCCaR,EAAAkwB,cAXT,SACIqnD,EACA+N,G,0DAEgB,UAAM,IAAAC,eAAchO,EAAY,EAAAiO,QAAQC,UAAU,M,OAA5DC,EAAU,S,iBAEY,UAAM,IAAAC,MAAKD,I,OACnC,OADM5iF,EAAkB,SACxB,GAAMwiF,EAAWxiF,I,cAAjB,S,4BAVR,eACA,S,o7BCDA,kBACA,cACA,cACA,WACA,cACA,cACA,WACA,WACA,WACA,cAEA,WAIA,cACA,cACA,WAEMhE,EAAK,UAAWC,KAAK,WAQrB6mF,EAAmC3mF,EAAMC,MAAK,SAACC,GACzC,IAAAkjC,EAAqBljC,EAAK,IAArBq0B,EAAgBr0B,EAAK,YAE1Ba,GAAM,IAAAC,kBAAgB,EAEtBuC,GAAc,eAAmB,UAEnCs+B,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1B8kD,GAAwB,IAAA1wE,cAAY,IAAA2wE,oCAAmCtjF,IACvEujF,GAAqB,IAAA5wE,cAAY,IAAA6wE,iCAAgCxjF,IAEvE,OAAI6/B,aAAG,EAAHA,EAAKh3B,MAAO06E,GAAsBF,EAAsB7iF,QACjD,gBAAC,UAAuB,CAAClC,UAAW,EAAAC,qBAAqBI,MAAOoU,KAAM,EAAAC,oBAG7EsrB,EAAYmB,4BAA6BI,aAAG,EAAHA,EAAK9Z,UAAW,EAAA2Z,0BAA0BjX,kBAE/E,gBAAC,UAAqB,KAClB,gBAAC,UAAM,CACHprB,UAAWf,EAAG,UACduB,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAAS,WACD4yB,GACAA,EAAY6O,EAEpB,GAECriC,EAAE,mDAMZ,gBAAC,UAAQ,CAACH,UAAWf,EAAG,QAASitB,KAAMsW,aAAG,EAAHA,EAAKxpB,WACvD,IAEA,UAAe+sE,C,qBC3Df,IAAYK,EAiBAC,EAQArnF,E,8IAzBZ,SAAYonF,GACR,kBAEA,gCACA,kCAEA,oCACA,gCACA,4BACA,gDACA,sCAEA,sBACA,gDACA,iDACH,CAfD,CAAYA,IAAkB,qBAAlBA,EAAkB,KAiB9B,SAAYC,GACR,4BACA,sBACA,gBACA,4BACA,mBACH,CAND,CAAYA,IAAuB,0BAAvBA,EAAuB,KAQnC,SAAYrnF,GACR,wBACA,qBACH,CAHD,CAAYA,IAAU,aAAVA,EAAU,KA6DT,EAAAsnF,wBAA0B,yB,q5BC3FvC,kBACA,WASMC,EAAuC,SAACjnF,GAClC,IAAAoW,EAA4CpW,EAAK,KAA3CU,EAAsCV,EAAK,UAAhC2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAEzD,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM1V,UAAWA,EAAW2Q,QAAQ,aAC7F,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAM9E,KAAM7K,EAAW6P,YAAY,MAAMD,EAAE,gCAC3C,wBACI/E,KAAMkK,EACNnF,EAAE,2sBAKtB,EAEA01E,EAAmBn1E,YAAc,qBAEjC,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAek1E,EAKF,EAAAxlE,2BAA6B,SACtCiK,GAUA,OAAQA,GACJ,IAAK,WAmCL,IAAK,4BAOL,IAAK,sBACD,MAAO,CACHtV,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAvC1C,IAAK,0BA0CL,QACI,MAAO,CACHL,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBI,OAvC1C,IAAK,oBAOL,IAAK,mBAOL,IAAK,oBACD,MAAO,CACHoU,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,OAyBlD,C,2dC7GA,IAEYs/E,EAFZ,YAEA,SAAYA,GAER,+BACA,wCACA,oCACA,oDACA,mCACA,8BACA,4CAIA,qCAEA,4DAEA,sBAEA,8DAGA,yBAEA,8CAEA,kGACH,CA1BD,CAAYA,IAAiB,oBAAjBA,EAAiB,KA8B7B,IAAMC,EAAoB,uBAEb,EAAAC,yBAA2B,SAACzhE,GACrCy9C,aAAaC,QAAQ8jB,EAAmB7jB,KAAKC,UAAU59C,GAC3D,EAEa,EAAA0hE,2BAA6B,WACtC,OAAOjkB,aAAaO,QAAQwjB,EAChC,EAEa,EAAAG,2BAA6B,SAACC,GACvC,OAAOnkB,aAAaC,QAAQ8jB,EAAmBI,EACnD,EAEa,EAAAC,0BAA4B,WACrCpkB,aAAaU,WAAWqjB,EAC5B,EAEA,IAAMM,EAAuC,EAAA1mD,aAAaC,eACrD,MACMkmD,EAAkBQ,cAAc,E,KAEtC,MACMR,EAAkBS,eAAe,EAClC,EAACT,EAAkBU,kBAAkB,EACrC,EAACV,EAAkBW,iBAAiB,EACpC,EAACX,EAAkBY,sBAAsB,EACzC,EAACZ,EAAkBQ,cAAc,EACjC,EAACR,EAAkBa,YAAY,E,GAG5B,EAAAC,wBAA0B,WACnC,IAAMC,EAAe3kB,KAAKM,MAAMR,aAAaO,QAAQwjB,IAAsB,MAE3E,OAAO,EAAP,KACOM,GACAQ,EAEX,C,8LCtEA,IAOMC,EAPN,YAOiC,QAAM9kF,cAA8C,CACjFk3C,QAAS,KACT6tC,WAAY,WAAO,IAGd,EAAAD,yBAAAA,C,67CCZT,kBACA,WAEA,cAEA,cACA,cACA,WACA,cACA,cACA,WACA,WACA,cACA,WACA,WACA,WACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,WACA,WAEA,cACA,cACA,cACA,aACA,WACA,cACA,cACA,cACA,cACA,WACA,cACA,YACA,aACA,cACA,cACA,eAEA,eAcME,GAAqB,SAACvnF,EAAcipE,GACtC,IAAKA,EACD,OAAO,KAGX,OAAQA,EAAK7mE,MACT,KAAK,EAAA0d,aAAaQ,aACd,OAAOtgB,EAAE,8CAEb,KAAK,EAAA8f,aAAaO,eACd,OAAOrgB,EAAE,gDAEb,QACI,OAAOA,EAAE,wCAAyC,CAC9C8M,SAASm8D,aAAI,EAAJA,EAAMxyD,QAAS,GAAK,IAI7C,EAEM+wE,GAAyB,SAACve,GAC5B,OAAIA,EAAK7mE,OAAS,EAAA0d,aAAaO,gBAAkB4oD,EAAK7mE,OAAS,EAAA0d,aAAaQ,aAEpE,gBAAC,WAAQ,CACL/K,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAMxC,gBAAC,UAAU,CACP2L,QAASm8D,EAAKxyD,OAAS,GAAK,EAC5B3V,WACImoE,aAAI,EAAJA,EAAM7mE,QAAS,EAAA0d,aAAaS,aAAe,EAAAxf,qBAAqB+W,KAAO,EAAA/W,qBAAqBC,UAI5G,EAEMymF,GAA8B,IAAIx5D,IAAkB,CAAC,EAAAnO,aAAaW,yBAElE3hB,GAAK,UAAWC,KAAK,WAKrB2oF,GAAuCzoF,EAAMC,MAAK,SAACC,G,iLAC7CkM,GAA2ElM,EAAK,GAA5EwoF,GAAuExoF,EAAK,cAA7DyoF,GAAwDzoF,EAAK,oBAAxC0oF,GAAmC1oF,EAAK,YAA3B60C,GAAsB70C,EAAK,kBAElF,KAAgCF,EAAMuE,SAAoC,EAAAskF,mBAAmBv5E,SAAQ,GAApGk6B,GAAW,MAAEC,GAAc,MAE5BhV,IAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,IAAS,IAAAmb,qBACb,GAAG,CAACnb,KAEI,IAAAnlB,IAAY,IAAA4G,cAAY,IAAA4yE,0BAAyB18E,KAAI,QAEvD28E,GAAW/oF,EAAM0E,SAAQ,WAC3B,OAAO,aAAM4K,cAAO,EAAPA,GAAS6vE,MAAO,KACjC,GAAG,CAAC7vE,KAEIvO,IAAM,IAAAC,kBAAgB,EAExBgoF,GAAuBhpF,EAAM0E,SAAQ,WACvC,IAAM0mB,GAAU9b,cAAO,EAAPA,GAAS8b,UAAW,KAEpC,MAAO,CACH,CACI/e,KAAM,gBAAC,UAAW,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OAC9EC,KAAM/X,GAAE,wCACRoE,MAAOimB,EACH,gBAAC,UAAI,CACDhD,GAAI,EAAAC,WAAWwM,eAAe,EAAAtM,gBAAgB6C,QAASA,EAAQhf,IAC/DhL,MAAO,EAAA8mB,cAAcC,eAEpBiD,EAAQtS,MAEb,KACJG,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,UACdilB,KAAM,CACF,CACIzZ,KAAM,KACNyM,KAAM/X,GAAE,gDACRoE,OAAOmK,cAAO,EAAPA,GAASugD,SACZ,gBAAC,UAAI,CACDznC,GAAI,EAAAC,WAAW4gE,mBAAmB35E,cAAO,EAAPA,GAASugD,SAC3CzuD,MAAO,EAAA8mB,cAAcC,eAEpB7Y,cAAO,EAAPA,GAAS8kD,aAEd,KACJn7C,WAAYlY,GAAE,wCACdmY,aAAa,EACbrY,aAAc,eAI5BquB,OAAO,EAAA4/B,SACb,GAAG,CAAC/tD,GAAGuO,KAED45E,GAAwBlpF,EAAM0E,SAAQ,WACxC,IAAM8jB,GAAUlZ,cAAO,EAAPA,GAASkZ,UAAW,KAC9B2gE,GAAwB75E,cAAO,EAAPA,GAAS65E,wBAAyB,KAEhE,MAAO,CACH,CACI98E,KAAM,gBAAC,UAAW,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OAC9EC,KAAM/X,GAAE,wCACRoE,MAAOqjB,EACH,gBAAC,UAAI,CACDJ,GAAI,EAAAC,WAAWwM,eAAe,EAAAtM,gBAAgBC,QAASA,EAAQpc,IAC/DhL,MAAO,EAAA8mB,cAAcC,eAEpBK,EAAQ1P,MAEb,KACJG,WAAYlY,GAAE,uDACdmY,aAAa,EACbrY,aAAc,UACdilB,KAAM,CACFqjE,GAAyB3gE,EACnB,CACInc,KACI,gBAAC,WAAQ,CACLiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,gDACRoE,MACI,gBAAC,UAAI,CACDijB,GAAI,EAAAC,WAAWC,6BACX,EAAAC,gBAAgBC,QAChBA,EAAQpc,GACR+8E,GAEJ/nF,MAAO,EAAA8mB,cAAcC,eAEpB7Y,cAAO,EAAPA,GAAS6kD,2BAGlBl7C,WAAYlY,GAAE,wCACdmY,aAAa,EACbrY,aAAc,mBAElB,QAGhBquB,OAAO,EAAA4/B,SACb,GAAG,CAAC/tD,GAAGuO,KAED85E,GAAoBppF,EAAM0E,SAAQ,WACpC,IAAM8jB,GAAUlZ,cAAO,EAAPA,GAASkZ,UAAW,KAC9B6gE,GAAY/5E,cAAO,EAAPA,GAAS+5E,YAAa,KAExC,MAAO,CACH,CACIh9E,KACI,gBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,GAAE,wCACRoE,OAAO,IAAAmkF,YA/HI,qBA+H2Bh6E,cAAO,EAAPA,GAASi6E,UAC/CtwE,WAAYlY,GAAE,wCACdmY,aAAa,EACbrY,aAAc,UACdilB,KAAM,CACF,CACIzZ,KACI,gBAAC,UAAW,CACRxK,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,GAAE,uCACRoE,MACIqjB,GAAW6gE,EACP,gBAAC,UAAI,CACD1nF,QAAS,WACLozC,GAAkB,CACdvxC,YAAa,EAAA+kB,gBAAgBC,QAC7BjlB,UAAWilB,EAAQpc,GACnBrG,OAAQsjF,EAAUj9E,IAE1B,EACAhL,MAAO,EAAA8mB,cAAcC,eAEpBkhE,aAAS,EAATA,EAAWvjF,UAEhB,KACRmT,WAAYlY,GAAE,wCACdmY,aAAa,EACbrY,aAAc,UAElB,CACIwL,KACI,gBAAC,UAAc,CACXxK,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,GAAE,2CACRoE,OAAO,IAAAmkF,YAtKH,qBAsKmCh6E,cAAO,EAAPA,GAASk6E,WAChDvwE,WAAYlY,GAAE,wCACdmY,aAAa,EACbrY,aAAc,gBAKlC,GAAG,CAACE,GAAGuO,GAASylC,KAEV00C,GAAwBzpF,EAAM0E,SAAQ,W,gBACxC,MAAO,EAC0B,QAA7B,EAAoB,QAApB,EAAA4K,cAAO,EAAPA,GAASo6E,mBAAW,eAAEC,eAAO,eAAEC,cACzB,CACIv9E,KACI,gBAAC,UAAW,CAACxK,UAAW,EAAAC,qBAAqBI,MAAO0U,YAAa,EAAA9U,qBAAqB+W,OAE1FC,KAAM/X,GAAE,wCACRoE,MACI,gBAAC,UAAa,CACVhC,KAAM,EAAA4V,aAAa8wE,kBACnB/mF,OAAO,IAAAgnF,oBAA+C,QAA7B,EAAoB,QAApB,EAAAx6E,cAAO,EAAPA,GAASo6E,mBAAW,eAAEC,eAAO,eAAEC,eAAgB,KAGhF1wE,aAAa,EACbrY,aAAc,UACd67C,iBAAiB,GAErB,KACN,CACIrwC,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqB+W,OACjDC,KAAM/X,GAAE,yCACRoE,MACI,gBAAC,UAAa,CACVhC,KAAM,EAAA4V,aAAaC,uBACnBlW,OAAO,IAAAinF,aAA0C,QAA9B,EAAmB,QAAnB,EAAAz6E,cAAO,EAAPA,GAASqI,kBAAU,eAAEkR,iBAAS,eAAElQ,iBAG3DlY,WAAW6O,cAAO,EAAPA,GAAS06E,WAAY,gBAAC,UAAa,MAAM,KACpD9wE,aAAa,EACbrY,aAAc,WACd67C,iBAAiB,GAErB,CACIrwC,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,6CACRoE,MAAO,gBAAC,UAA0B,CAAC8kF,gBAAiB36E,cAAO,EAAPA,GAAS46E,cAC7DhxE,aAAa,EACbrY,aAAc,UACd67C,iBAAiB,GAErB,CACIrwC,KAAM,gBAAC,UAAY,CAACuK,YAAa,EAAA9U,qBAAqB+W,OACtDC,KAAM/X,GAAE,yCACRoE,MAAO,gBAAC,UAAsB,CAACwsC,cAAeriC,cAAO,EAAPA,GAASqiC,gBACvDz4B,aAAa,EACbrY,aAAc,aAEpBquB,OAAO,EAAA4/B,SACb,GAAG,CAAC/tD,GAAGuO,KAED66E,GAAOnqF,EAAM0E,SAAQ,WACvB,OAAO4K,cAAO,EAAPA,GAAS66E,OAAQ,EAC5B,GAAG,CAAC76E,KAEE86E,IAAkC,QAAlB,EAAA96E,cAAO,EAAPA,GAAS+6E,iBAAS,eAAG,KAAM,KAC3CC,IAAmB,IAAA5lF,UAAQ,WAC7B,MAAO,CACH,CACI2H,KAAM,gBAAC,UAAW,CAACxK,UAAW,EAAAC,qBAAqBI,MAAO0U,YAAa,EAAA9U,qBAAqB+W,OAC5FC,KAAM/X,GAAE,yCACRoE,MAAOilF,cAAa,EAAbA,GAAe96D,YACtBpW,aAAa,EACbrY,aAAc,WACdoY,WAAYlY,GAAE,yCAG1B,GAAG,CAACqpF,GAAerpF,KAmFbwpF,IACFj7E,cAAO,EAAPA,GAASga,UAAW,EAAAkhE,sBAAsB3kD,WAAYv2B,cAAO,EAAPA,GAASga,UAAW,EAAAkhE,sBAAsBC,SAE9FtL,IAAQ7vE,cAAO,EAAPA,GAAS6vE,QAAS,GAC1BuL,GAAYvL,GAAM,IAAM,KACxBwL,GAAWxL,GAAMA,GAAMh9E,OAAS,IAAM,KAE5C,OACI,gCACI,uBAAKvB,UAAWf,GAAG,cACf,gBAAC,UAAsB,CACnBe,UAAWf,GAAG,QACd0qF,aAAcA,GACdj7E,QAASA,GACTk6B,YAAaA,GACbjF,YAAakF,KAEhBD,KAAgB,EAAAq/C,mBAAmBv5E,SAChC,gCACI,gBAAC,UAAsB,CACnB1O,UAAWf,GAAG,SACd6zB,OAAQg3D,cAAS,EAATA,GAAW9jD,QACnB1uB,uBAAwBwyE,cAAS,EAATA,GAAWE,aACnCC,qBAAsBH,cAAS,EAATA,GAAWI,WACjCn3D,YAAag3D,cAAQ,EAARA,GAAU/jD,QACvBxuB,wBAAyBuyE,cAAQ,EAARA,GAAUC,aACnCG,sBAAuBJ,cAAQ,EAARA,GAAUG,aAErC,gBAAC,UAAiB,CACdlqF,UAAWf,GAAG,sBACdi7C,UAAW/5C,GAAE,kDACb4sD,cAAcr+C,cAAO,EAAPA,GAAS07E,sBAAuB,GAC9CzpF,YAAaR,GAAE,sDAEnB,gBAAC,UAAS,CACN6mB,mBAAiB,EACjBhnB,UAAWf,GAAG,SACdimB,KAAMkjE,GACNnoF,aAAa,oBAEjB,gBAAC,UAAS,CACN+mB,mBAAiB,EACjBhnB,UAAWf,GAAG,SACdimB,KAAMojE,GACNroF,aAAa,sBAEjB,gBAAC,UAAS,CACN+mB,mBAAiB,EACjBhnB,UAAWf,GAAG,SACdimB,KAAMsjE,GACNvoF,aAAa,oBAEjB,gBAAC,UAAS,CACN+mB,mBAAiB,EACjBhnB,UAAWf,GAAG,SACdimB,KAAMwkE,GACNzpF,aAAa,qBAIzB,gBAAC,UAA0B,CACvBD,UAAWf,GAAG,SACdorF,gBAAiBlqF,GAAE,+CACnBmqF,kBAAmBnqF,GAAE,oDACrBoqF,YAAa77E,cAAO,EAAPA,GAAS87E,mBACtBnnB,WAA+B,QAAnB,EAAA30D,cAAO,EAAPA,GAASqI,kBAAU,eAAEssD,WACjConB,cAAkC,QAAnB,EAAA/7E,cAAO,EAAPA,GAASqI,kBAAU,eAAE0zE,cACpCC,YAAgC,QAAnB,EAAAh8E,cAAO,EAAPA,GAASqI,kBAAU,eAAE4zE,eAClCC,aAAiC,QAAnB,EAAAl8E,cAAO,EAAPA,GAASqI,kBAAU,eAAEgpC,SACnC8qC,IAAwB,QAAnB,EAAAn8E,cAAO,EAAPA,GAASqI,kBAAU,eAAE8zE,IAC1BC,SAAmC,QAAzB,EAAmB,QAAnB,EAAAp8E,cAAO,EAAPA,GAASqI,kBAAU,eAAEg0E,YAAI,eAAE1lE,UACrC2lE,eAAyC,QAAzB,EAAmB,QAAnB,EAAAt8E,cAAO,EAAPA,GAASqI,kBAAU,eAAEg0E,YAAI,eAAEE,WAC3CC,mBAAuC,QAAnB,GAAAx8E,cAAO,EAAPA,GAASqI,kBAAU,iBAAEypC,WACzC2qC,YAAyC,QAA5B,GAAmB,QAAnB,GAAAz8E,cAAO,EAAPA,GAASqI,kBAAU,iBAAEgyE,eAAO,iBAAE1jE,UAC3C+lE,eAA4C,QAA5B,GAAmB,QAAnB,GAAA18E,cAAO,EAAPA,GAASqI,kBAAU,iBAAEgyE,eAAO,iBAAEC,aAC9CqC,iBAA8C,QAA5B,GAAmB,QAAnB,GAAA38E,cAAO,EAAPA,GAASqI,kBAAU,iBAAEgyE,eAAO,iBAAEuC,UAChDC,YAAgC,QAAnB,GAAA78E,cAAO,EAAPA,GAASqI,kBAAU,iBAAEipC,KAClCwrC,uBAA+D,QAAvC,GAAmB,QAAnB,GAAA98E,cAAO,EAAPA,GAASqI,kBAAU,iBAAE00E,0BAAkB,iBAAErtE,MACjEstE,aAAiC,QAAnB,GAAAh9E,cAAO,EAAPA,GAASqI,kBAAU,iBAAE20E,aACnCC,iCAA+B,IAEnC,uBAAK3rF,UAAWf,GAAG,eACnB,gBAAC,UAAyB,CACtBe,UAAWf,GAAG,SACdokE,WAAyC,QAA7B,GAAA30D,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEvmE,UAC3CglE,gBAAiBlqF,GAAE,sDACnBmqF,kBAAmBnqF,GAAE,2DACrByqF,aAA2C,QAA7B,GAAAl8E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAE7rC,SAC7C+qC,SAA6C,QAAnC,GAA6B,QAA7B,GAAAp8E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEb,YAAI,iBAAE1lE,UAC/C2lE,eAAmD,QAAnC,GAA6B,QAA7B,GAAAt8E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEb,YAAI,iBAAEE,WACrDJ,IAAkC,QAA7B,GAAAn8E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEf,IACpCM,YAAmD,QAAtC,GAA6B,QAA7B,GAAAz8E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAE7C,eAAO,iBAAE1jE,UACrD+lE,eAAsD,QAAtC,GAA6B,QAA7B,GAAA18E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAE7C,eAAO,iBAAEC,aACxDqC,iBAAwD,QAAtC,GAA6B,QAA7B,GAAA38E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAE7C,eAAO,iBAAEuC,UAC1DC,YAA0C,QAA7B,GAAA78E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAE5rC,KAC5CyqC,cAA4C,QAA7B,GAAA/7E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEnB,cAC9CC,YAA0C,QAA7B,GAAAh8E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEjB,eAC5Ca,uBAAyE,QAAjD,GAA6B,QAA7B,GAAA98E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEH,0BAAkB,iBAAErtE,MAC3EstE,aAA2C,QAA7B,GAAAh9E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEF,aAC7CzrF,aAAa,wBACb0rF,iCAA+B,IAEnC,uBAAK3rF,UAAWf,GAAG,eACnB,gBAAC,UAAyB,CACtBe,UAAWf,GAAG,SACdokE,WAAgC,QAApB,GAAA30D,cAAO,EAAPA,GAASo6E,mBAAW,iBAAEzjE,UAClCglE,gBAAiBlqF,GAAE,6CACnBmqF,kBAAmBnqF,GAAE,kDACrByqF,aAAkC,QAApB,GAAAl8E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAE/oC,SACpC+qC,SAAoC,QAA1B,GAAoB,QAApB,GAAAp8E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAEiC,YAAI,iBAAE1lE,UACtC2lE,eAA0C,QAA1B,GAAoB,QAApB,GAAAt8E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAEiC,YAAI,iBAAEE,WAC5CJ,IAAyB,QAApB,GAAAn8E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAE+B,IAC3BM,YAA0C,QAA7B,GAAoB,QAApB,GAAAz8E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAEC,eAAO,iBAAE1jE,UAC5C+lE,eAA6C,QAA7B,GAAoB,QAApB,GAAA18E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAEC,eAAO,iBAAEC,aAC/CqC,iBAA+C,QAA7B,GAAoB,QAApB,GAAA38E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAEC,eAAO,iBAAEuC,UACjDC,YAAiC,QAApB,GAAA78E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAE9oC,KACnCyqC,cAAmC,QAApB,GAAA/7E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAE2B,cACrCC,YAAiC,QAApB,GAAAh8E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAE6B,eACnCa,uBAAgE,QAAxC,GAAoB,QAApB,GAAA98E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAE2C,0BAAkB,iBAAErtE,MAClEstE,aAAkC,QAApB,GAAAh9E,cAAO,EAAPA,GAASo6E,mBAAW,iBAAE4C,aACpCzrF,aAAa,eACb0rF,iCAA+B,IAElC/iD,KAAgB,EAAAq/C,mBAAmBv5E,SAChC,gCACI,gBAAC,UAAS,CACN1O,UAAWf,GAAG,SACd+nB,mBAAiB,EACjB9B,KAAM2jE,GACN5oF,aAAa,wBAEds+E,cAAK,EAALA,GAAOh9E,SACN,gBAAC,UAAI,CACDvB,UAAWf,GAAG,iBACdi7C,UAAW/5C,GAAE,oCACbN,UACI,gBAAC,UAAS,CAACW,MAAO,EAAAyS,mBAAmBvB,MAAOkC,eAAa,GACpDzT,GAAE,uCAAwC,CACvC8M,OAAQsxE,GAAMh9E,UAI1B+4C,uBAAqB,GAErB,2BACKikC,cAAK,EAALA,GAAO5nE,KAAI,SAACyyD,EAAMxyD,GACf,OAnOjB,SAACwyD,EAAoBxyD,G,cAC9BsO,EAA6B,CAC/B,CACIzZ,KAAMk8E,GAAuBve,GAC7BlxD,KAAMwvE,GAAmBvnF,GAAGipE,GAC5B7kE,MAAO,gBAAC,UAAa,CAAC0U,OAAO,yBAAyB0sB,SAAUyjC,aAAI,EAAJA,EAAMpjC,UACtE3tB,WAAYlY,GAAE,gDACdmY,aAAa,EACb4M,KAAM,EAAF,KACI0iE,GAA4Br5D,IAAI66C,EAAK7mE,MACnC,CACI,CACIkJ,KAAM,KACNyM,KAAM/X,GAAE,2CACRoE,OAAO,IAAAwhC,oBAAmBqjC,aAAI,EAAJA,EAAM4gB,aAAc5gB,aAAI,EAAJA,EAAM8gB,YACpD7xE,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,YACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,6CACRoE,MAAoB,QAAb,EAAA6kE,aAAI,EAAJA,EAAMv7D,eAAO,eAAEg+E,YACtBxzE,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,6CACRoE,MAAoB,QAAb,EAAA6kE,aAAI,EAAJA,EAAMv7D,eAAO,eAAE3I,SACtBmT,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,eACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,8CACRoE,MAAoB,QAAb,EAAA6kE,aAAI,EAAJA,EAAMv7D,eAAO,eAAEqb,MACtB7Q,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,gBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,8CACRoE,MAAoB,QAAb,EAAA6kE,aAAI,EAAJA,EAAMv7D,eAAO,eAAE9H,MACtBsS,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,gBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,yCACRoE,MAAoB,QAAb,EAAA6kE,aAAI,EAAJA,EAAMv7D,eAAO,eAAEqB,QACtBmJ,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,oBAGtB,KAAG,KAKrB,OACI,gBAAC,UAAS,CACNgS,IAAK2E,EACLoQ,mBAAiB,EACjBhnB,UAAWf,GAAG,SACdimB,KAAMA,EACNjlB,aAAc,mBAAY2W,IAGtC,CAoJ2Ck1E,CAAW1iB,EAAMxyD,EAC5B,MAIO,QAAlB,GAAAlI,cAAO,EAAPA,GAAS+6E,iBAAS,c,GAAE9yE,KAAI,SAACg7D,EAAU/6D,G,MAChC,OACI,gBAAC,UAAmB,CAChB3E,IAAK,gCAAyB2E,GAC9B5W,UAAWf,GAAG,iBACd8sF,mBAAuC,QAApB,EAAAr9E,cAAO,EAAPA,GAAS46E,mBAAW,eAAE0C,QACzCpuB,eAAgBhnD,EAAQ,EACxB+6D,SAAUA,EACVsa,YAAY9D,cAAQ,EAARA,GAAWxW,aAAQ,EAARA,EAAUua,iBAAkB,KACnDC,aAAahE,cAAQ,EAARA,GAAWxW,aAAQ,EAARA,EAAUya,kBAAmB,KACrD5xC,iBAAkBh8B,OAAO5H,EAAQ,IAG7C,KAGPgyB,KAAgB,EAAAq/C,mBAAmBsB,MAChC,gCACI,gBAAC,UAAI,CACDvpF,UAAWf,GAAG,QACdsqF,KAAMA,GACNxB,oBAAqBA,GACrBD,cAAeA,GACfE,YAAaA,GACbqE,0BAAuD,QAA7B,GAAA39E,cAAO,EAAPA,GAASk9E,4BAAoB,iBAAEvmE,YAAa,KACtE8uB,kBAAmBA,OAO/C,IAEA,UAAe0zC,E,8BCjnBf,WAAgB,mBAAmB,kDAAkD,KAAO,sCAAsC,QAAU,yCAAyC,yBAAyB,wDAAwD,cAAc,6CAA6C,OAAS,wCAAwC,SAAW,0C,smDCD7X,eAEA,WAMA,WACA,cACA,cAEA,SAAUyE,EAA4BrpF,G,oEAG6C,OAFzE,EAAkBA,EAAOklB,QAAvB3c,EAAE,KAAE/J,EAAO,UAE4D,IAAM,IAAAyK,SACjF,IAAAqgF,uCAAsC/gF,K,OAE1C,OAHM1I,EAAyE,UAG1E,aAAiBA,EAAerB,GAIrC,IAAM,IAAA2K,MAAI,IAAAogF,8BAA6B,CAAEhhF,GAAE,MAHvC,I,OAMA,OAHJ,SAGI,GAAM,UAAkBihF,sBAAsBjhF,I,cAD5C,kBACF,SAAiD,IAD9CnI,EAAK,KAAEqL,EAAO,KAEjBrL,EACA,IAAM,IAAA+I,MAAI,IAAAsgF,8BAA6B,CAAElhF,GAAE,EAAEnI,MAAK,MADlD,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAugF,gCAA+B,CAAEnhF,GAAE,EAAEkD,QAAO,M,OAAtD,S,+BAQR,UAJA,W,kDACI,UAAM,IAAA7B,WAAU,EAAA+/E,wBAAwBrqF,KAAM+pF,I,cAA9C,S,uHChCS,EAAAO,gCAA6D,CACtEC,gBAAiB,SAACC,EAAgCC,GAC9C,OAAKD,GAAeC,EAIb,yCAAkCA,EAAU,kBAHxC,IAIf,EAEAC,cAAe,SAACF,EAAgCC,GAC5C,OAAKD,GAAeC,EAIb,yCAAkCA,EAAU,gBAHxC,IAIf,E,8BChBJ,WAAgB,GAAK,gCAAgC,OAAS,oCAAoC,SAAW,sC,88BCD7G,kBACA,cACA,aAEA,cACA,WACA,aAEM/tF,EAAK,UAAWC,KAAK,WAMrBguF,EAAqC9tF,EAAMC,MAAK,SAACC,GAC3C,IAAAU,EAAcV,EAAK,UAE3B,OACI,uBAAKU,WAAW,aAAGf,EAAG,SAAUe,IAC5B,uBAAKA,UAAWf,EAAG,YACf,gBAAC,UAAY,CAACgC,UAAW,EAAAC,qBAAqB+W,KAAMvC,KAAM,MAI1E,IAES,EAAAw3E,iBAAAA,C,qBCxBT,IAAYluF,E,qEAAZ,SAAYA,GACR,4BACA,4BACA,oBACA,cACA,kBACA,4BACA,2BACH,CARD,CAAYA,IAAU,aAAVA,EAAU,I,o7BCFtB,kBAEA,WACA,WACA,cACA,WACA,WAEA,WACA,WACA,UA6CMmuF,EAA6B/tF,EAAMC,MAAK,SAACC,G,MACnCU,EAAcV,EAAK,UAErB8oD,GAAuB,IAAA9yC,aAAY,EAAA6yC,4BACnCG,GAAoB,IAAAhzC,aAAY,EAAA+yC,yBAE9BloD,GAAM,IAAAC,kBAAgB,EAE9B,OAAKgoD,EAAqB5kD,IAAO4kD,EAAqBjlD,QAKlD,uBAAKnD,UAAWA,GACXooD,EAAqB5kD,IAClB,4BAnDO,SAACrD,EAAcitF,GAClC,YAAkBxnF,IAAdwnF,EACO,KAGPA,GAAa,EAAAC,QACNltF,EAAE,sBAAuB,CAC5BoE,OAAO,IAAA+oF,sBAAqB7uE,KAAK+1D,MAAM4Y,MAIxCjtF,EAAE,0BAA2B,CAChCoE,OAAO,IAAA+oF,uBAAqB,IAAAnE,aAAYiE,KAEhD,CAsCqBG,CAAeptF,EAA+B,QAA5B,EAAAmoD,aAAiB,EAAjBA,EAAmBrgC,iBAAS,eAAElQ,eAChD,OArCE,SAAC5X,EAAcqtF,GAClC,QAAoB5nF,IAAhB4nF,EACA,OAAO,KAGX,GAAIA,EAAc,EAAAC,YAAa,CAC3B,IAAM,EAAkBhvE,KAAK+1D,MAAMgZ,EAAc,EAAAE,YACjD,MAAO,UAAG,EAAe,YAAIvtF,EAAE,iBAAkB,CAC7CgC,YAAa,WACbD,MAAO,IAEf,CAEA,IAAMyrF,EAAkBlvE,KAAK+1D,MAAMgZ,EAAc,EAAAC,aACjD,MAAO,UAAGE,EAAe,YAAIxtF,EAAE,eAAgB,CAC3CgC,YAAa,WACbD,MAAOuc,KAAK+1D,MAAMgZ,EAAc,EAAAC,eAExC,CAoBqBG,CAAeztF,EAAGmoD,aAAiB,EAAjBA,EAAmBulC,gBAG7CzlC,EAAqBjlD,SAClB,gBAAC,UAAiB,CAAClC,UAAW,EAAAC,qBAAqBC,SAAUuU,KAAM,EAAAC,qBAbpE,IAiBf,IAEA,UAAew3E,C,8BClFf,WAAgB,QAAU,uCAAuC,MAAQ,qCAAqC,iBAAiB,8CAA8C,OAAS,sCAAsC,SAAW,wC,utCCDvO,IAgFYW,EAhFZ,cACA,WACA,UACA,WACA,WAEA,WACA,WACA,WACA,UAKA,WACA,aACA,cACA,cACA,WACA,WACA,aACA,cACA,cACA,cACA,cACA,cACA,cAIA,cACA,cACA,cAEA,aACA,cACA,cACA,cACA,cAEA,UAOA,WACA,cACA,cACA,cAGA,WAKM7uF,EAAK,UAAWC,KAAK,YAsB3B,SAAY4uF,GACR,sBACA,gCACA,kCACA,yCACA,oCACA,mCACH,CAPD,CAAYA,IAAc,iBAAdA,EAAc,KAS1B,IAAMC,EAAwB,IAAI3/D,IAAY,CAC1C0/D,EAAeE,aACfF,EAAeG,iBACfH,EAAeI,iBASN,EAAAC,oCAAiE,CAC1EC,gBAAiB,EAAAC,cACjBC,iBAAkB,IAGtB,IAAMC,EAAqDnvF,EAAMC,MAAK,SAACC,G,QAE/DU,EAeAV,EAAK,UAdLimC,EAcAjmC,EAAK,gBAbL6kF,EAaA7kF,EAAK,uBAZL8kF,EAYA9kF,EAAK,sBAXL6/E,EAWA7/E,EAAK,eAVL2iF,EAUA3iF,EAAK,kBATLilF,EASAjlF,EAAK,SARLukF,EAQAvkF,EAAK,cAPL8/E,EAOA9/E,EAAK,qBANLqkF,EAMArkF,EAAK,yBALLklF,EAKAllF,EAAK,uBAJL+kF,EAIA/kF,EAAK,0BAHLglF,GAGAhlF,EAAK,6BAFLkvF,GAEAlvF,EAAK,yBADLmvF,GACAnvF,EAAK,qBAEDa,IAAM,IAAAC,kBAAgB,EAE1BiG,GAAQlG,GAAE,kEACVgkF,IACA99E,GAAQlG,GAAE,wDAEVikF,IACA/9E,GAAQlG,GAAE,2DAGd,IAAM4Z,IAAS,IAAAgY,oBAET28D,GAAuB,UAAG,EAAA1vF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBs5C,aACtF2P,GACF,UAAG,EAAA3vF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBu5C,qBAC7Dz5C,GAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,GAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YACrF04E,GAAgB,UAAG,EAAAjhF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBnjC,MAE/EqsF,IAAqB,IAAA/oD,mBAAkB9rB,GAAOK,OAAQwrB,IACtDq5C,IAAsB,IAAAp5C,mBAAkB9rB,GAAOK,OAAQu0E,IACvDpsF,IAAO,IAAAsjC,mBAAkB9rB,GAAOK,OAAQ6lE,IACxCt6C,IAAW,IAAAE,mBAAkB9rB,GAAOK,OAAQorB,IAC5Cw5C,IAAc,IAAAn5C,mBAAkB9rB,GAAOK,OAAQs0E,IAE/CG,IAAmB5P,GAEnBoB,IAAwB,IAAA9W,6BAA4BhnE,GAAMojC,IAE1DmpD,KACA7M,IACF,IAAAC,6BAA4B0M,cAAkB,EAAlBA,GAAoBtnF,MAAOsnF,cAAkB,EAAlBA,GAAoBvjF,QACvE,IAAA62E,6BAA4BD,aAAiB,EAAjBA,EAAmBE,qBAAsBF,aAAiB,EAAjBA,EAAmBG,oBAE1F2M,IAAsB,IAAAz5E,aAAY,EAAA4pC,2BAElCsH,IAAkB,IAAAlxC,aAAY,EAAAipC,uBAC9BywC,IAAkB,IAAA15E,aAAY,EAAAspC,uBAE9BqwC,GAAqBzoC,GAAkB,EAAAvH,UACvCiwC,GAAqBF,GAAkB,EAAA/vC,UAEvCkwC,IAAgB,IAAArrF,UAClB,WAAM,OACFsrF,YAAa,EAAAC,2BAA2Bz9E,OACxCnG,KAAM,gBAAC,UAAa,KAAK,EAAA6jF,mBAAmBC,mBAF1C,GAIN,IAGEC,IAAmB,IAAA1rF,UACrB,WAAM,OACFsrF,YAAa,EAAAC,2BAA2Bz9E,OACxCnG,KAAM,gBAAC,UAAU,KAAK,EAAAgkF,gBAAgBF,mBAFpC,GAIN,IAGEG,IAAc,IAAA5rF,UAChB,WAAM,OACFsrF,YAAa,EAAAC,2BAA2Bz9E,OACxCnG,KAAM,gBAAC,UAAa,KAAK,EAAAkkF,mBAAmBJ,mBAF1C,GAIN,IAGEK,IAAwB,IAAA9rF,UAC1B,WAAM,OACF0H,GAAIsiF,EAAeG,iBACnB5nF,MAAOlG,GAAE,wCACTK,MAAO,EAAA6uF,2BAA2Bz9E,OAHhC,GAKN,CAACzR,KAGC0vF,IAAsB,IAAA/rF,UACxB,WAAM,OACF0H,GAAIsiF,EAAegC,eACnBtvF,MAAO,KAFL,GAIN,IAGEuvF,IAAoB,IAAAjsF,UACtB,WAAM,OACF0H,GAAIsiF,EAAeE,aACnB3nF,MAAOlG,GAAE,oCACTK,MAAO,EAAA6uF,2BAA2Bz9E,OAHhC,GAKN,CAACzR,KAGC6vF,IAAgB,IAAAlsF,UAClB,WAAM,OACF0H,GAAIsiF,EAAemC,SACnB5pF,MAAOlG,GAAE,oCACTK,MAAO,EAAA6uF,2BAA2BluF,SAClC+M,SACI,gBAAC,UAAO,CACJ7N,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBV,UAAWf,EAAG,iCACd0B,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,GAAE,8EAIV,WAAM,8BAAKsH,MAAO,CAAE2D,OAAQ,OAAQtK,MAAO,SAArC,IAfb,GAmBN,CAACX,KAGC+vF,IAAqB,IAAApsF,UACvB,WAAM,OACF0H,GAAIsiF,EAAeqC,cACnB3vF,MAAO,KAFL,GAIN,IAGE4vF,IAAsB,IAAAtsF,UACxB,WAAM,OACF0H,GAAIsiF,EAAeI,eACnB7nF,MAAOlG,GAAE,qCACTK,MAAO,EAAA6uF,2BAA2Bz9E,OAHhC,GAKN,CAACzR,KAGCkwF,GAAqBjxF,EAAMkG,aAAY,SAACgrF,GAC1C,IAAMC,EAAyBD,aAAa,EAAbA,EAAehiE,QAAO,SAACkiE,GAClD,OAAOA,GAASzC,EAAsBx/D,IAAIiiE,EAAMhlF,GACpD,IAEA,OAAK+kF,aAAsB,EAAtBA,EAAwBhvF,QAItB,gBAAC,UAAkB,CAAC+uF,cAAeC,IAH/B,IAIf,GAAG,IAEGE,GAA4BrxF,EAAM0E,SAAQ,WAC5C,IAAKq7E,EACD,MAAO,CACHuR,iBAAkB,KAClBC,kBAAmB,KACnBC,kBAAmB,KACnBC,mBAAoB,MAIpB,IAAAC,EACJ3R,EAAc,YADG4R,EACjB5R,EAAc,WADe6R,EAC7B7R,EAAc,aAD6B8R,EAC3C9R,EAAc,SADuCgD,EACrDhD,EAAc,qBAD6DiD,EAC3EjD,EAAc,mBAElB,MAAO,CACH0R,mBACI1O,GAAwBC,EAClB,CACI96E,MAAO66E,EACP92E,IAAK+2E,GAET,KACVsO,iBACIK,GAAcD,GAAeC,IAAeD,EACtC,CACIxpF,MAAOypF,EACP1lF,IAAKylF,GAET,KACVH,kBAAmBG,EACb,CACIxpF,MAAOwpF,EACPzlF,IAAK2lF,EAAe,KAAOC,GAAY,MAE3C,KACNL,kBAAmBI,EACb,CACI1pF,MAAO0pF,EACP3lF,IAAK4lF,GAAY,MAErB,KAEd,GAAG,CAAC9R,IAEEj5E,GAAW9G,EAAM0E,SAAmC,W,YAChDotF,EAAwC,IAApB3rD,EAE1B,IAAK45C,IAAmByP,GACpB,OAAO,EAAAT,oCAGX,IAAM3oC,EAAWopC,GAAmBtnF,MAE9B6pF,GACyC,QAA3C,EAAAV,cAAyB,EAAzBA,GAA2BC,wBAAgB,eAAEppF,SAAqD,QAA5C,EAAAmpF,cAAyB,EAAzBA,GAA2BE,yBAAiB,eAAErpF,OACxG,IAAK6pF,EACD,OAAO,EAAAhD,oCAGX,IAAMiD,GAC0C,QAA5C,EAAAX,cAAyB,EAAzBA,GAA2BG,yBAAiB,eAAEvlF,OACF,QAA5C,EAAAolF,cAAyB,EAAzBA,GAA2BE,yBAAiB,eAAEtlF,MAC9C,KAEE+iF,GAAkB,IAAA9oC,4BACpB,CACIh+C,MAAO6pF,EACP9lF,IAAK+lF,GAET5rC,GAGEkrC,GAAmB,IAAApqC,+CACrB,IAAAhB,6BAA2BmrC,cAAyB,EAAzBA,GAA2BC,mBAAoB,KAAMlrC,IAG9EmrC,GAAoB,IAAArqC,+CACtB,IAAAhB,6BAA2BmrC,cAAyB,EAAzBA,GAA2BE,oBAAqB,KAAMnrC,IAG/EorC,GAAoB,IAAAtqC,+CACtB,IAAAhB,6BAA2BmrC,cAAyB,EAAzBA,GAA2BG,oBAAqB,KAAMprC,IAG/EqrC,GAAqB,IAAAvqC,+CACvB,IAAAhB,6BAA2BmrC,cAAyB,EAAzBA,GAA2BI,qBAAsB,KAAMrrC,IAGhF6rC,EAAmC,GAErCT,GACAS,EAAMr6E,KAAK,EAAD,KACH04E,IAAW,CACdnrF,MAAOqsF,EAAkB,MAIjC,IAAMtC,EAA0C,CAC5CoC,EACM,EAAD,KACSQ,EAAoBnB,GAAoBH,IAAsB,CAClEx1E,OAAQs2E,EACRW,MAAO,C,OAEKH,EAAoB1B,GAAmBL,IAAc,CACzD5qF,MAAOmsF,EAAiB,QAIpC,KACNC,EACM,EAAD,KACSO,EAAoBhB,GAAqBL,IAAoB,CACjEz1E,OAAQu2E,IAEZ,KACNC,EACM,EAAD,KACQR,IAAmB,CACtBh2E,OAAQw2E,EACRU,UAAU,EACVD,MAAO,C,OAEI3B,IAAW,CACdnrF,MAAOqsF,EAAkB,QAIrC,KACNC,EACM,EAAD,KACQb,IAAa,CAChB51E,OAAQy2E,EACRU,8BAA8B,IAElC,MACRjjE,OAAO,EAAA4/B,UAQT,MAN4C,CACxCkgC,iBAAiB,IAAA9nC,8CAA6C8nC,IAAoB,EAAAC,cAClFC,iBAAgB,EAChB+C,MAAK,EAIb,GAAG,CACCjB,GACAV,GACAM,GACAb,GACAK,GACArQ,EACAsR,GACA7B,GACArpD,EACAqqD,GACAC,GACAE,GACAG,KAGEsB,IAAqB,IAAA1tF,UAAQ,WAC/B,OAAO,IAAAwiD,8CAA6CsoC,GACxD,GAAG,CAACA,KA2BEn4D,GAAer3B,EAAM0E,SAAQ,WAC/B,OAAK8qF,IAIE,cAAO,IAAA6C,mBAAkB7C,GAAmBtnF,QAAQwa,SAHhD,IAIf,GAAG,CAAC8sE,KAEE8C,IAAyB,IAAA5tF,UAAQ,W,QACnC,OAC+C,QAA3C,EAAA2sF,cAAyB,EAAzBA,GAA2BC,wBAAgB,eAAEppF,SAAqD,QAA5C,EAAAmpF,cAAyB,EAAzBA,GAA2BE,yBAAiB,eAAErpF,MAE5G,GAAG,CAACmpF,KAEEh7D,GAAUi8D,GACVn8D,KACDk7D,cAAyB,EAAzBA,GAA2BG,mBACsB,QAA5C,EAAAH,cAAyB,EAAzBA,GAA2BG,yBAAiB,eAAEvlF,IACF,QAA5C,EAAAolF,cAAyB,EAAzBA,GAA2BE,yBAAiB,eAAEtlF,WAAQzF,EAqC1D+rF,GAA8BnD,KAA6B7K,EAEjE,OACI,uBAAK3jF,WAAW,aAAGf,EAAG,eAAgBe,IAClC,gBAAC,UAAyB,CACtBkY,KAAMstB,GACNn/B,MAAOA,GACPurF,oBAAqB3yF,EAAG,QAAS,mBACjC6mC,SACI,gCACI,gBAAC,UAA6B,CAC1B9lC,UAAWf,EAAG,gBAAiB,CAC3B,+BAAgC0yF,KAEpChiF,QAAS,KACTkiF,eAAa,EACbtqF,WAAYiqF,GACZM,UAAWhD,KAEf,gBAAC,UAA0B,CACvB9uF,UAAWf,EAAG,gBAAiB,CAC3B,+BAAgC0yF,KAEpCpqF,WAAYiqF,MAIxBO,eACI,uBAAK/xF,UAAWf,EAAG,eACdw3B,IACG,gBAAC,UAAc,CACXz1B,SACI,gBAAC,UAAe,CACZ0U,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,YAG1CpR,WAAYgtF,GACZl8D,QAASA,SAAW7vB,EACpB2vB,QAASA,GACThxB,MAAOkyB,GACPra,SA5EH,SAAC8P,GACtB,GAAKA,EAAL,CAKA,IAAM8lE,GAAgB,IAAArrC,6BAA4Bz6B,EAAM0iE,IAExD,KADoB,aAAQoD,EAAepD,IAC3C,CAIA,IAAMtnF,GAAQ0qF,aAAa,EAAbA,EAAe1qF,QAAS,KAChC+D,GAAM2mF,aAAa,EAAbA,EAAe3mF,MAAO,KAClC,GAAK/D,GAAU+D,EAAf,CAIA,IAAM80E,GAAmB,IAAAC,iBAAgBz6C,IACpCw6C,IAILpmE,GAAOsB,cAAcuqB,GAAqBosD,GAE1C1N,GAA6B/+C,EAAiB86C,GAAuB,CACjE94E,WAAY,CACRD,MAAK,EACL+D,IAAG,GAEP26B,QAASm6C,EACTD,eAAgB39E,KAfpB,CANA,CANA,MAFIwX,GAAOsB,cAAcuqB,GAAqB,KA+BlD,EA4C4B/jC,gBAAiB,EAAA2a,8BAA8Bza,iBAM9D,SAACzC,EAAO6yB,G,MAAiB,OACtB,uBAAKnyB,UAAWf,EAAG,QAAO,gBAAiB+/E,IACtCI,EACG,gBAAC,UAAU,CACPp/E,UAAWf,EAAG,eACdiZ,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,GAAE,wEACf6b,eAAgB,SAAC,G,IAAE+a,EAAQ,WAAEryB,EAAQ,WAAED,EAAU,aAAEE,EAAU,aAAO,OAChE,gBAAC,UAAkB,CACf4gC,gBAAiBA,EACjBxO,SAAUA,EACVryB,SAAUA,EACVD,WAAYA,EACZE,WAAYA,EACZkqF,gBAAiBA,GACjBoD,kCAAgC,GAR4B,EAWpE71E,SAAU,SAAC7X,GACP,IAAMohC,GAAW,IAAAy6C,iBAAgB77E,GAC5BohC,IAILrmC,EAAM8c,SAAS7X,GAEfigF,EAAuBjgF,EAAOghC,GAE9B8+C,EAA0B9+C,EAAiB86C,GAAuB,CAC9DH,eAAgB39E,GAChByjC,QAASL,IAEjB,EACAjhC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBI,QAASvF,EAAMuF,QACfD,OAAQtF,EAAMsF,OACd3E,aAAc,sCAA+BslC,GAC7C+wC,mBAAoBnkD,EAAa5tB,MACjC+J,UAAWmgF,KAGf,gBAAC,UAAa,CACVyD,qBAAmB,EACnBzmF,KACI,gBAAC,UAAkB,CACf85B,gBAAiBA,EACjBspD,gBAAiBA,GACjBoD,kCAAgC,EAChCl7D,WAAY5E,EAAa5tB,QAGjCA,OAAyB,QAAlB,EAAA4tB,EAAa5tB,aAAK,eAAEyhC,UAAW,KAI7C69C,GACG,gBAAC,UAAqB,CAClB9iF,QAAS,WACLwjF,EAASh/C,EAAiB86C,GAC9B,I,IAMpB,gBAAC,UAAgB,CACbmQ,MAAO,EAAAnC,cACP1pF,WAAYgtF,GACZvD,gBAAiBloF,cAAQ,EAARA,GAAUkoF,gBAC3B+D,QAAQjsF,cAAQ,EAARA,GAAUooF,mBAAoB,GACtC+C,MAAOnrF,cAAQ,EAARA,GAAUmrF,MACjBj3E,OAAQo3E,GACRY,KAAMrD,GACNsD,cAAepD,GACfqD,cAAepD,GACfmB,mBAAoBA,GACpBj0E,SA9MmB,SAAC7X,GAC5B,IAAMytF,GAAgB,IAAAlrC,mCAAkCviD,EAAOqqF,IACzDtnF,GAAQ0qF,aAAa,EAAbA,EAAe1qF,QAAS,KAChC+D,GAAM2mF,aAAa,EAAbA,EAAe3mF,MAAO,KAClC,GAAK/D,GAAU+D,EAAf,CAIA,IAAM80E,GAAmB,IAAAC,iBAAgBz6C,IACpCw6C,IAILpmE,GAAOsB,cAAcuqB,GAAqBosD,GAE1C1N,GAA6B/+C,EAAiB86C,GAAuB,CACjE94E,WAAY,CACRD,MAAK,EACL+D,IAAG,GAEP26B,QAASm6C,EACTD,eAAgB39E,KAfpB,CAiBJ,IA2LJ,IAEA,UAAegsF,C,qBCnoBf,IAAY7oD,EAwBA1mC,E,4FAxBZ,SAAY0mC,GACR,4BACA,4CACA,cACA,sBACA,yBACH,CAND,CAAYA,IAAoB,uBAApBA,EAAoB,KAwBhC,SAAY1mC,GACR,eACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,I,w3BC1BtB,kBACA,WAQMuzF,EAAgC,SAACjzF,GAC3B,IAAA2B,EAAmD3B,EAAK,UAA7CU,EAAwCV,EAAK,UAAlC,EAA6BA,EAAK,KAAlCoW,OAAI,IAAG,IAAAC,kBAAiB,EAEtD,OACI,uBAAKjF,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAY3Q,UAAWA,GAC9F,wBACI8L,KAAM7K,EACN2P,SAAS,UACTC,EAAE,ovBAIlB,EAEA0hF,EAAYnhF,YAAc,cAE1B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAekhF,C,o7BC9Bf,kBACA,cAEA,aAEMtzF,EAAK,UAAWC,KAAK,WAMrBszF,EAAsCpzF,EAAMC,MAAK,SAACC,GAC5C,IAAA2N,EAAW3N,EAAK,OAExB,OAAO,wBAAMU,UAAWf,EAAG,OAAQgO,EACvC,IAEA,UAAeulF,C,iuCCjBf,kBAEA,UACA,cACA,cACA,WACA,cACA,cACA,cACA,WAKA,cAEA,cAGA,YAEA,cACA,WACA,aAEMvzF,EAAK,UAAWC,KAAK,WAyL3B,UA7JgD,SAACI,GAEzC,IAAAU,EAiBAV,EAAK,UAhBL8F,EAgBA9F,EAAK,eAfL8a,EAeA9a,EAAK,OAdLkF,EAcAlF,EAAK,SAbLmF,EAaAnF,EAAK,WAZLoF,EAYApF,EAAK,SAXLyF,EAWAzF,EAAK,gBAVLuC,EAUAvC,EAAK,gBATLkC,EASAlC,EAAK,iBARLqF,EAQArF,EAAK,WAPL0F,EAOA1F,EAAK,YANLsF,EAMAtF,EAAK,OALLuF,EAKAvF,EAAK,QAJLwF,EAIAxF,EAAK,WAHLy4C,EAGAz4C,EAAK,qBAFLmzF,EAEAnzF,EAAK,oBADLozF,EACApzF,EAAK,sBAEDa,GAAM,IAAAC,kBAAgB,EAExBiF,GAAgD,IAAAC,cAClD,SAACC,GACG,OAAO,UACFyyC,mBAAmBzyC,EAAOktF,GAC1Bx6C,MAAK,SAACvrC,GACG,QAAkBA,EAAQ,GAAzBrJ,EAAK,KAAEoJ,EAAM,KACpB,OAAIpJ,EACO,CAACA,EAAO,MAKZ,CAAC,MAFsBoJ,aAAM,EAANA,EAAQ6R,UAAW,GAGrD,GACR,GACA,CAACm0E,IAGCv6C,GAAsB,IAAAC,wBAAgC,CACxD/yC,eAAc,EACdC,eAAc,EACda,SAAU,CACNwsF,sBAAqB,KAqFvB5rF,EAAiB,SAAChB,GAA4B,OAAAA,EAAO0F,EAAP,EAEpD,OACI,wBAAC,UAA2B,CACxBxL,UAAWA,EACX2yF,eAAgBv4E,EAChBpV,YAAaA,EACbvD,QAASy2C,EAAoBz2C,QAC7BkD,WAAYA,EACZH,SA1Fa,SAAC4V,GAClB,IAAMw4E,EAAW,IAAIxkE,IAAIhU,GAEnB3Y,EAAUy2C,EAAoBz2C,QAAQ6sB,QAAO,SAACxoB,GAChD,IAAMuyC,EAAcvxC,EAAehB,GACnC,OAAO8sF,EAASrkE,IAAI8pB,EACxB,IAEA7zC,EAAS4V,EAAQ3Y,EACrB,EAkFQiD,SAAUA,EACVD,WAAYA,EACZiC,cAAewxC,EAAoBxxC,cACnCN,aAzEa,SAACN,EAA6Bd,GAC/C,OAAKc,EAKD,wBAAC,UAA0B,CACvB9F,UAAWf,EAAG,UACdq5C,iBAAe,EACf7sC,KAAM3F,EAAO2qB,YAAc,wBAAC,UAAQ,CAACA,YAAa3qB,EAAO2qB,cAAkB,KAC3EpqB,MAAOP,EAAOoS,MAAQ,KARnBlT,CAWf,EA6DQtD,cA3Dc,SAClBpC,EACAmC,EACAuD,GAEA,IAAM9C,GAAQT,aAAO,EAAPA,EAASF,SAAU,EAE7B8E,EACA,gDACKlG,EAAE,sEACFmI,QAAQpG,IACL,wBAAC,UAAS,CAAClC,UAAWf,EAAG,SAAU2U,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,UACtEe,IAUjB,GAJI5C,EAAMykD,UACN19C,EAAQrB,GAGY,KAApBvD,aAAO,EAAPA,EAASF,QAAc,CACvB,IAAMsxF,GAAcpxF,aAAO,EAAPA,EAAU,KAAM,KACpC4E,GAAQwsF,aAAW,EAAXA,EAAa36E,OAAQ,EACjC,CAEA,OACI,wBAAC,UAAkB,CACfnX,QAASzB,EAAMyB,QACfa,UAAWtC,EAAMsC,UACjByE,MAAOA,EACPrF,SACI,wBAAC,UAAQ,CACL0U,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBC,WAG1Cu2C,UAAW,wBAAC,UAAU,MACtBt2C,gBAAiB,EAAAC,oBAAoBC,OAGjD,EAiBQwF,eAAgBA,EAChBhC,WAAYA,EACZF,OAAQA,EACRC,QApFoC,WACpCA,GACAA,GAER,EAiFQhD,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEvF,iBAAkBA,EAClB8M,UAAW4pC,EAAoBp1C,cAAcK,UAAW40C,aAAoB,EAApBA,EAAsB50C,SAC9E6D,QAASjC,EA5FG,WAChBP,EAAS,GAAI,GACjB,OA0FiDoB,GAGrD,C,o7BChNA,kBACA,cACA,aAMM3G,EAAK,UAAWC,KAAK,WAErB4zF,EAA2B1zF,EAAMC,MAAK,SAACC,GACjC,IAAAkM,EAAOlM,EAAK,GAEpB,OAAO,uBAAKU,UAAWf,EAAG,OAAQuM,EACtC,IAEA,UAAesnF,C,o7BChBf,kBACA,aACA,cACA,cACA,cACA,WACA,cACA,WACA,cAEM7zF,EAAK,UAAWC,KAAK,WASrB6zF,EAAyD3zF,EAAMC,MAAK,SAACC,GAC/D,IAAAU,EAAmDV,EAAK,UAA7C4Y,EAAwC5Y,EAAK,KAAvC0zF,EAAkC1zF,EAAK,mBAAnBgP,EAAchP,EAAK,UAExDa,GAAM,IAAAC,kBAAgB,EAExB6yF,EAA2C,OAAvBD,EACpBE,EAAiD,OAAvBF,GAA+B1kF,EAE/D,OACI,uBAAKtO,WAAW,aAAGf,EAAG,UAAWe,IAC7B,uBAAKA,UAAWf,EAAG,SAAUiZ,IAC3B+6E,GAAqBC,IAA4B,uBAAKlzF,UAAWf,EAAG,YACrEg0F,GACG,gCACI,gBAAC,UAAgB,CACbjzF,UAAWf,EAAG,aACdugE,aAAa,aAAoBwzB,KAErC,uBAAKhzF,UAAWf,EAAG,gBACdkB,EAAE,+BAAgC,CAAE80B,QAAS+9D,MAIzDE,GACG,gBAAC,UAAiB,CAACjyF,UAAW,EAAAC,qBAAqBsS,YAAakC,KAAM,EAAAC,oBAItF,IAEA,UAAeo9E,C,8BChDf,WAAgB,gBAAgB,kDAAkD,mBAAmB,qDAAqD,OAAS,2CAA2C,SAAW,6C,4aCDzN,eAQA,cACA,UAEMlwF,EAAgD,CAAC,EAE1C,EAAAswF,kCAAiE,CAC1EzkF,QAAS,KACT5L,cAAe,UAAcC,SAGjC,mBACIC,EACAC,G,UAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAA6wF,4CACO,IAEFC,EAA6BrwF,EAF3BwI,EAAOvI,EAAM,KAE2B,EAAAkwF,kCAEhD,OAAO,EAAP,KACOnwF,KAAK,MACPwI,GAAE,OACI6nF,GAA0B,CAC7BvwF,cAAe,UAAcK,UAAO,IAKhD,KAAK,EAAAmwF,4CACO,IAAAjwF,EAAcJ,EAAM,MAI5B,OAFMowF,EAA6BrwF,EAFpBwI,EAAOvI,EAAM,KAEoB,EAAAkwF,kCAEzC,EAAP,KACOnwF,KAAK,MACPwI,GAAE,OACI6nF,GAA0B,CAC7BvwF,cAAe,UAAcQ,SAASD,KAAM,IAKxD,KAAK,EAAAkwF,8CACO,IAAuB/nF,EAAvBgoF,EAA8BvwF,EAAM,sBAI5C,OAFMowF,EAA6BrwF,EAFJwI,EAAOvI,EAAM,KAEI,EAAAkwF,kCAEzC,EAAP,KACOnwF,KAAK,MACPwI,GAAE,OACI6nF,GAA0B,CAC7BvwF,cAAe,UAAcU,GAC7BkL,QAAS8kF,IAAqB,IAK1C,KAAK,EAAA/vF,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAGlB,C,iTCzED,eACA,WACA,WAoCA,UAjCiB,SAAC7C,EAAcia,GAC5B,IAAIc,EAAM,MACH,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWiE,QAASmX,IAGvCnX,EAASmX,EAAO,EAAApb,WAAWiE,QAyBjC,OAvBIA,IAAW,EAAAwwF,yBAAyBC,iBACpCx4E,EAAS,EAAH,KACCA,IACA,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAW20F,gBAAiBv5E,KAIrDnX,IAAW,EAAAwwF,yBAAyBG,aACpC14E,EAAS,EAAH,OACCA,IACA,IAAA6H,eACC5iB,EACA,CAAC,EAAAnB,WAAW60F,gBAAiB,EAAA70F,WAAW80F,eAAgB,EAAA90F,WAAW+0F,gBACnE35E,KAED,IAAA2W,kCACC5wB,EACA,CAAC,EAAAnB,WAAW60F,gBAAiB,EAAA70F,WAAW80F,eAAgB,EAAA90F,WAAW+0F,gBACnE35E,KAKLc,CACX,C,o7BCrCA,kBACA,cAEA,cACA,WACA,cACA,cACA,cAEA,WACA,cAEA,WACA,WACA,cACA,cAGA,WACA,cACA,aAEMjc,EAAK,UAAWC,KAAK,WASrByZ,EAAoB,aAsG1B,UApGiD,SAACrZ,GACtC,IAAAqD,EAAoFrD,EAAK,UAA9E8iB,EAAyE9iB,EAAK,kBAA3DqiB,EAAsDriB,EAAK,uBAAnC00F,EAA8B10F,EAAK,0BAEzFa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,mCACI,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVJ,UAAWf,EAAG,QAAS,eACvBoH,MAAOlG,EAAE,kEACToE,OAAOod,aAAsB,EAAtBA,EAAwBzJ,OAAQ,KAE3C,wBAAC,UAAa,CACVlY,UAAWf,EAAG,QAAS,iBACvBoH,MAAOlG,EAAE,oEACTQ,YACI,wBAAC,UAAc,CAACC,UAAQ,EAACJ,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACjEX,EAAE,uEAGXyjD,gBAAiB,EAAAtjD,oBAAoB0B,WACrCuC,OAAOod,aAAsB,EAAtBA,EAAwB1U,SAAU,GACzCjI,YAAa,EAAAivF,2BAGrB,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVxoF,KACI,wBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C/V,UAAWf,EAAG,QAAS,wBACvBoH,MAAOlG,EAAE,2EACToE,OACIod,aAAsB,EAAtBA,EAAwBE,YAClB,aAAOF,EAAuBE,WAAW5I,OAAON,GAChD,OAGd,wBAAC,UAAa,CACVlN,KACI,wBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C/V,UAAWf,EAAG,QAAS,qBACvBoH,MAAOlG,EAAE,6EACToE,OACIod,aAAsB,EAAtBA,EAAwB3I,YAClB,aAAO2I,EAAuB3I,WAAWC,OAAON,GAChD,OAGd,wBAAC,UAAa,CACV3Y,UAAWf,EAAG,QAAS,sBACvBoH,MAAOlG,EAAE,yEACToE,OACI,aAASod,aAAsB,EAAtBA,EAAwBuyE,cACjC,aAASvyE,aAAsB,EAAtBA,EAAwBwyE,mBAC3B,UAAGxyE,aAAsB,EAAtBA,EAAwBuyE,WAAU,YAAIvyE,aAAsB,EAAtBA,EAAwBwyE,mBACjE,KAEVnvF,YAAa,EAAAivF,2BAGrB,+BAAKj0F,UAAWf,EAAG,QAAS,gBACxB,wBAAC,UAAe,CACZ6kD,OAAO,0BACP5rC,KAAK,OACLkE,SAAU,WAEV,EACA7X,MACI,IAAI,EAAA0d,WAA0B,CAC1B/J,MAAMyJ,aAAsB,EAAtBA,EAAwBO,WAAY,GAC1CC,aAAc,CACVxf,UAAS,EACTyf,kBAAiB,KAI7BgyE,WAAYJ,EACZh4E,eAAgB,SAAC,G,IAAE+nC,EAAO,UAAO,OAC7B,wBAAC,UAAY,CACT9iD,UAAW8iD,EAAU,EAAA7iD,qBAAqBC,SAAW,EAAAD,qBAAqB6U,UAC1EL,KAAM,EAAAC,mBAHmB,KAUrD,C,8BClIA,WAAgB,IAAM,6CAA6C,OAAS,gDAAgD,OAAS,gDAAgD,SAAW,kD,8BCAhM,WAAgB,QAAU,kCAAkC,OAAS,iCAAiC,SAAW,mC,8BCAjH,WAAgB,MAAQ,+BAA+B,OAAS,gCAAgC,SAAW,kC,o7BCD3G,kBAEA,cACA,aACA,cACA,cACA,cACA,cACA,WASM1W,EAAK,UAAWC,KAAK,WAErBm1F,EAAY,CACdC,SAAU,EAAApzF,qBAAqBI,MAC/BqnC,OAAQ,EAAAznC,qBAAqBC,UAG3BozF,EAAoCn1F,EAAMC,MAAK,SAACC,GAC1C,IAAAk1F,EAAuEl1F,EAAK,mBAAxDm1F,EAAmDn1F,EAAK,aAA1Co1F,EAAqCp1F,EAAK,mBAAtBq1F,EAAiBr1F,EAAK,aAkBpF,OACI,uBAAKU,UAAWf,EAAG,cAAa,qBAAqB,cACjD,gBAAC,UAAkB,CACf21F,qBAAmB,EACnBjwF,WAAY6vF,EACZzzF,QAASyzF,EAAqB,UArBnB,WACfA,GAIJG,GACJ,EAgBY10F,aAAa,YACbe,SAAU,gBAAC,UAAa,CAACC,UAAWuzF,EAAqBH,EAAUC,SAAWD,EAAU1rD,SACxFvnC,gBAAiB,EAAAC,oBAAoBC,QAEzC,gBAAC,UAAkB,CACfszF,qBAAmB,EACnBjwF,WAAY+vF,EACZ3zF,QAAS2zF,EAAqB,UArBnB,WACfA,GAIJD,GACJ,EAgBYx0F,aAAa,YACbe,SAAU,gBAAC,UAAc,CAACC,UAAWyzF,EAAqBL,EAAUC,SAAWD,EAAU1rD,SACzFvnC,gBAAiB,EAAAC,oBAAoBC,QAIrD,IAEA,UAAeizF,C,o7BCjEf,kBAEA,cACA,WACA,UACA,cACA,WAMMM,EAAgCz1F,EAAMC,MAAK,SAACC,GACtC,IAAAmxB,EAAgBnxB,EAAK,YAEvBwD,GAAgB,IAAAwS,aAAY,EAAAw/E,4BAC5BC,GAAgB,IAAAz/E,aAAY,EAAA0/E,uBAElC,IAAKlyF,IAAkBiyF,EACnB,OAAO,gBAAC,UAAiB,CAAC9zF,UAAW,EAAAC,qBAAqBC,SAAUuU,KAAM,EAAAC,oBAG9E,IAAMqQ,EAAUyK,EAAcskE,EAActkE,QAAe7qB,EAE3D,OAAO,gBAAC,UAAyB,CAACogB,QAASA,GAC/C,IAEA,UAAe6uE,C,8BC1Bf,WAAgB,QAAU,kCAAkC,KAAO,+BAA+B,MAAQ,gCAAgC,YAAc,sCAAsC,QAAU,kCAAkC,WAAW,mCAAmC,OAAS,iCAAiC,SAAW,mC,8BCA7U,WAAgB,KAAO,yCAAyC,YAAc,gDAAgD,MAAQ,0CAA0C,KAAO,yCAAyC,QAAU,4CAA4C,cAAc,gDAAgD,uBAAuB,yDAAyD,0BAA0B,4DAA4D,mBAAmB,qDAAqD,wBAAwB,0DAA0D,iBAAiB,mDAAmD,iBAAiB,mDAAmD,eAAe,iDAAiD,OAAS,2CAA2C,SAAW,6C,o2BCD35B,kBACA,WASMI,EAA0C71F,EAAMC,MAAK,SAACC,GAChD,IAAA41F,EAAW51F,EAAK,OAExB,IAAK41F,EACD,OAAO,KAGX,IAAMhwF,EAAW,CAACgwF,EAAOvmE,QAASumE,EAAOh9E,MAAMoW,OAAO,EAAA4/B,UAAUt/B,KAAK,KAErE,OAAO,4BAAO1pB,EAClB,IAEA,UAAe+vF,C,qZCjBF,EAAAE,kCACT,oFACS,EAAAC,wCACT,0FACS,EAAAC,wCACT,0FACS,EAAAC,0CACT,4FAES,EAAAC,kCACT,oFACS,EAAAC,wCACT,0FACS,EAAAC,wCACT,0FACS,EAAAC,0CACT,2F,wECrBJ,eAQA,UANyB,W,MACrB,OAAO,EAAP,IACK,EAAA12F,WAAW22F,QAAS,G,CAE7B,C,8qBCNA,IAGY3X,EAHZ,WACA,WAEA,SAAYA,GACR,wCACA,8CACA,8BACA,oCACA,wCACA,wCACA,kEACA,4CACA,oDACA,oEACA,kGACA,0FACA,kGACA,0GACA,wHACA,kGACA,wEACA,wEACA,8BACA,4DACA,gDACA,wCACA,oDACA,4EACA,8DACA,8DACA,8DACA,wEACA,sFACA,gEACA,oEACA,kFACA,8EACA,8EACA,0EACA,wCACA,gEACA,gEACA,yEACH,CAxCD,CAAYA,IAAkC,qCAAlCA,EAAkC,KA0C9C,IAAM4X,EAAqC,IAAIxnE,IAAI40B,OAAO5oC,OAAO4jE,IAEjE,cAMI,WACI6X,EACA9X,GAEA,QAAK,UAAC8X,EAAiBA,EAAgBtzF,OAAK,K,OAE5C,EAAKw7E,QAAUA,EAKf/6B,OAAO8yC,eAAe,EAAMC,EAAwBC,W,CACxD,CACJ,OAnBwF,OAmBxF,EAnBA,CAAwF,EAAAC,iBAA3E,EAAAF,wBAAAA,EAqBA,EAAAjY,+BAAiC,SAACz6E,GAC3C,IAAM6yF,EAAgB7yF,aAAK,EAALA,EAAmC06E,QAEzD,OAAO6X,EAAmCrnE,IAAI2nE,EAClD,EAEa,EAAAC,8BAAgC,SAAC9yF,G,MAC1C,IACI,OAA2C,QAAnC,EAAAA,aAAK,EAALA,EAA2BqJ,gBAAQ,eAAE0pF,OACjD,CAAE,MAAO/yF,GAEL,OADA,IAAAy/D,UAAS,mBAAoBz/D,GACtB,IACX,CACJ,C,ypCCjFA,kBACA,cACA,WACA,WACA,WACA,WACA,WACA,cACA,cACA,WACA,cAoCMgzF,EAA8Cj3F,EAAMC,MAAK,SAACC,GAExD,IAAAU,EAqBAV,EAAK,UApBL+jE,EAoBA/jE,EAAK,WAnBLg3F,EAmBAh3F,EAAK,eAlBLi3F,EAkBAj3F,EAAK,8BAjBL+qF,EAiBA/qF,EAAK,gBAhBLgrF,EAgBAhrF,EAAK,kBAfLsrF,EAeAtrF,EAAK,aAdLk3F,EAcAl3F,EAAK,qBAbLm3F,EAaAn3F,EAAK,oBAZLurF,EAYAvrF,EAAK,IAXLisF,EAWAjsF,EAAK,YAVLwrF,EAUAxrF,EAAK,SATL0rF,EASA1rF,EAAK,eARL6rF,EAQA7rF,EAAK,YAPL8rF,EAOA9rF,EAAK,eANL+rF,EAMA/rF,EAAK,iBALLmrF,EAKAnrF,EAAK,cAJLorF,EAIAprF,EAAK,YAHLksF,EAGAlsF,EAAK,uBAFLosF,EAEApsF,EAAK,aADLqsF,EACArsF,EAAK,gCAEDa,GAAM,IAAAC,kBAAgB,EAExBs2F,GAAqB,IAAAC,yBAErBC,GAAyB,IAAAC,2BAA0B,CACrDrL,uBAAsB,EACtBsL,wBAAwB,EACxBC,uBAAuB,IAGrBhtC,EAAmC,CACrC,CACI9P,SAAU,gBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB+W,OAC5D1Y,MAAO8qF,EACP1pF,YAAa2pF,EACT,gBAAC,UAAc,CAAC9pF,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDwpF,GAEL,KACJn0E,MAAOktD,EACP0e,UAAWuU,EACXU,oBAAqBT,EACrBvxF,YAAa7E,EAAE,uDACf4pD,MAAM,aAASsZ,GACT,C,OAEWqzB,EAAmB32C,UAAQ,CAC9B5pC,MAAOy0E,EACPrwC,WAAYm8C,EAAmBO,0BAA0B,CAAC,aAAcvL,GACxE3hC,KAAM2sC,EAAmBQ,gBAAgB,CACrCV,qBAAoB,EACpBC,oBAAmB,M,OAIpBC,EAAmBS,gBAAgBtM,IAAI,CAC1C10E,MAAO20E,EACPvwC,WAAYm8C,EAAmBO,0BAA0B,CAAC,cAAevL,GACzE3hC,KAAM2sC,EAAmBU,iBAAiBpM,EAAgBU,K,OAGvDgL,EAAmBW,eAAe9L,aAAW,EAAXA,EAAa+L,WAAS,CAC3DnhF,MAAOo1E,aAAW,EAAXA,EAAalmE,UACpBk1B,WAAYm8C,EAAmBO,0BAA0B,CAAC,QAASvL,GACnE3hC,KAAM2sC,EAAmBa,0BAA0BhM,aAAW,EAAXA,EAAaiM,cAEpE,aAAS/M,GACH,EAAD,KACQiM,EAAmBe,aAAa,CAC/B/M,YAAW,KACb,CACFv0E,MAAOs0E,IAEX,MACN,IAAAiN,wBAAuBtM,EAAgBD,GACjC,EAAD,KACQuL,EAAmBiB,kBAAkBvM,EAAgBC,IAAiB,CACzEl1E,MAAOg1E,GAAe,IAE1B,K,OAECuL,EAAmBkB,yBAAyBpM,IAAuB,CACtEzhC,MAAM6sC,aAAsB,EAAtBA,EAAwBr1F,QACxB,CACI,CACIwoD,KAAM6sC,SAGdhxF,KAEZ0oB,OAAO,EAAA4/B,UACT,KAEZ5/B,OAAO,EAAA4/B,UAET,OACI,gBAAC,UAAY,CACTluD,UAAWA,EACX+pD,KAAMA,EACN4hC,gCAAiCA,GAG7C,IAEA,UAAe0K,C,8BC1Jf,WAAgB,OAAS,6CAA6C,qBAAqB,yDAAyD,0BAA0B,8DAA8D,oBAAoB,wDAAwD,gCAAgC,oEAAoE,qBAAqB,yDAAyD,cAAgB,oDAAoD,4BAA4B,gEAAgE,yBAAyB,6DAA6D,eAAiB,qDAAqD,oBAAsB,0DAA0D,OAAS,6CAA6C,SAAW,+C,8BCAv7B,WAAgB,MAAQ,8BAA8B,MAAQ,8BAA8B,MAAQ,8BAA8B,gBAAgB,sCAAsC,8BAA8B,oDAAoD,sBAAsB,4CAA4C,8BAA8B,oDAAoD,OAAS,+BAA+B,YAAc,oCAAoC,6BAA6B,mDAAmD,8BAA8B,oDAAoD,6BAA6B,mDAAmD,iBAAmB,yCAAyC,0BAA0B,gDAAgD,0BAA0B,gDAAgD,yBAAyB,+CAA+C,sCAAsC,4DAA4D,+CAA+C,qEAAqE,OAAS,+BAA+B,SAAW,iC,muCCD3wC,kBACA,WACA,aACA,cAEA,cAGA,cACA,WACA,WACA,cACA,YAEMp3F,EAAK,UAAWC,KAAK,WA8BrB24F,IAAwB,MACzB,EAAAC,oBAAoBC,YAAa,UAClC,EAAC,EAAAD,oBAAoBE,YAAa,UAClC,EAAC,EAAAF,oBAAoBG,KAAM,UAC3B,EAAC,EAAAH,oBAAoBI,SAAU,UAC/B,EAAC,EAAAJ,oBAAoBK,SAAU,U,GAG7BC,EAA2C,UAAM/4F,MAAK,SAACC,GACjD,IAAA+G,EAAqD/G,EAAK,MAAnDiF,EAA8CjF,EAAK,MAA5C8c,EAAuC9c,EAAK,SAAlC+4F,EAA6B/4F,EAAK,cAAnBU,EAAcV,EAAK,UAE1Da,GAAM,IAAAC,kBAAgB,EAExBk4F,EAAqC,UAAMx0F,SAAQ,WACrD,MAAO,CACH,EAAAg0F,oBAAoBC,WACpB,EAAAD,oBAAoBE,WACpB,EAAAF,oBAAoBG,IACpB,EAAAH,oBAAoBI,QACpB,EAAAJ,oBAAoBK,SACtBxhF,KAAI,SAAC4hF,GACH,IAAM/H,EAAQ,EAAAgI,kBAAkBD,IAAoB,GAEpD,MAAO,CACHh5F,MAAOY,EAAE,EAAAs4F,mBAAmBF,GAAkB,CAC1CG,eAAgBlI,EAAM,GACtBmI,eAAgBnI,EAAM,KAE1BjsF,MAAOisF,EACPoI,MAAOf,EAAyBU,GAExC,GACJ,GAAG,CAACp4F,IAEE04F,EAAe,UAAMvzF,aACvB,SAACkrF,GACGp0E,EAASo0E,EACb,GACA,CAACp0E,IAGC08E,EAAe,UAAMh1F,SAAQ,WAC/B,MAAO,CACHi1F,cAAc,EACdC,YAAY,EACZC,gBAAiB,GACjBC,eAAgB,EAExB,GAAG,IAEGC,EAAc,UAAMr1F,SAAQ,WAC9B,MAAO,EAtEG,GACA,GAsEd,GAAG,IAEGquF,EAAS,UAAMruF,SAAQ,WACzB,MAAO,EACX,GAAG,IAEGs1F,EAAc,UAAM9zF,aAAY,SAACf,GACnC,MAAO,UAAGA,EAAK,MACnB,GAAG,IAEH,OACI,+BAAKvE,WAAW,aAAGf,EAAG,UAAWe,IAC7B,+BAAKA,UAAWf,EAAG,UACf,+BAAKe,UAAWf,EAAG,gBACf,wBAAC,UAAa,CAACgC,UAAW,EAAAC,qBAAqB6U,aAEnD,+BAAK/V,UAAWf,EAAG,iBAAkBoH,GACrC,+BAAKrG,UAAWf,EAAG,iBACf,wBAAC,UAAS,CAAC2U,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,UAhFnD,SAACoG,GACjB,IAAKA,EACD,MAAO,GAGL,QAAaA,EAAU,GAAtB8xF,EAAG,KAAE/4B,EAAG,KAEf,MAAO,UAAG+4B,EAAG,eAAO/4B,EAAG,MAC3B,CAyEyBg5B,CAAY/0F,MAIzB,wBAAC,UAAa,CACV40F,YAAaA,EACb/K,gBAAiB+K,EACjBhH,OAAQA,EACR/3E,OAAQ7V,EACRg1F,UAAW,EACXC,oBAAqBnB,EACrBS,aAAcA,EACdM,YAAaA,EACb50F,SAAUq0F,IAEd,+BAAK74F,UAAWf,EAAG,YACdq5F,EAAQ3hF,KAAI,SAACqU,GAAW,OACrB,+BACI/Y,IAAK+Y,EAAOzrB,MACZS,UAAWf,EAAG,UACd8B,QAAS,WAAM,OAAA83F,EAAa7tE,EAAOzmB,MAApB,EACfkD,MAAO,CAAEmxF,MAAO5tE,EAAO4tE,QAEtB5tE,EAAOzrB,MAPS,KAazC,IAEA,UAAe64F,C,8BCjJf,WAAgB,KAAO,wCAAwC,iBAAiB,kDAAkD,MAAQ,yCAAyC,kBAAkB,mDAAmD,QAAU,2CAA2C,qBAAuB,wDAAwD,oBAAsB,uDAAuD,OAAS,0CAA0C,SAAW,4C,o7BCDvgB,kBACA,WACA,WACA,cAGA,WACA,WAUMqB,EAA2B,CAC7B,EAAAhwC,qBAAqBiwC,gCACrB,EAAAjwC,qBAAqBkwC,4BACrB,EAAAlwC,qBAAqBmwC,+BACrB,EAAAnwC,qBAAqBowC,2BACrB,EAAApwC,qBAAqBqwC,+BACrB,EAAArwC,qBAAqBswC,2BACrB,EAAAtwC,qBAAqBuwC,aACrB,EAAAvwC,qBAAqBwwC,OACrB,EAAAxwC,qBAAqBywC,gBAGnBC,EAAmC/6F,EAAMC,MAAK,SAACC,GACzC,IAAAU,EAAwDV,EAAK,UAAlD86F,EAA6C96F,EAAK,KAA5Cka,EAAuCla,EAAK,aAA9B+6F,EAAyB/6F,EAAK,qBAE7Da,GAAM,IAAAC,kBAAgB,EAExBqB,EAAUrC,EAAM0E,SAClB,WAAkG,OAC9F,EAAAw2F,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBiwC,gCACzBrzF,MAAOlG,EAAE,4EACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMI,0BACbh6F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAi+C,qBAAqBkwC,4BACzBtzF,MAAOlG,EAAE,wEACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMM,sBACbl6F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,EAAA2oF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBmwC,+BACzBvzF,MAAOlG,EAAE,2EACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMR,+BACbp5F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAi+C,qBAAqBowC,2BACzBxzF,MAAOlG,EAAE,uEACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMP,2BACbr5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,CACInG,GAAI,EAAAi+C,qBAAqBqwC,+BACzBzzF,MAAOlG,EAAE,2EACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMN,+BACbt5F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAi+C,qBAAqBswC,2BACzB1zF,MAAOlG,EAAE,uEACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAML,2BACbv5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,EAAA2oF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBuwC,aACzB3zF,MAAOlG,EAAE,oDACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMO,SACbn6F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,EAAAmnF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBwwC,OACzB5zF,MAAOlG,EAAE,8CACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMH,OACbz5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,CACInG,GAAI,EAAAi+C,qBAAqBywC,eACzB7zF,MAAOlG,EAAE,sDACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMQ,OACbp6F,MAAO,EAAAi6F,kCAAkC9oF,UA1E6C,GA8ElG,CAACxR,EAAGi6F,IAGF71F,EAAQnF,EAAM0E,SAAQ,WACxB,OAAO21F,EAAyBnrE,QAAO,SAACusE,GAAoB,OAAArhF,EAAaqhF,EAAb,GAChE,GAAG,CAACrhF,IAYJ,OACI,gBAAC,UAA4B,CACzBxZ,UAAWA,EACXuE,MAAOA,EACPC,SAda,SAAC4V,GAClB,IAAM4rD,EAAsByzB,EAAyBp4C,QAA+B,SAACC,EAAKu5C,GAGtF,OAFAv5C,EAAIu5C,KAAmBzgF,EAAOyK,SAASg2E,SAA0Bj1F,EAE1D07C,CACX,GAAG,CAAC,GAEJ+4C,EAAqBr0B,EACzB,EAOQvkE,QAASA,GAGrB,IAEA,UAAe04F,C,iRCzIF,EAAAW,0CACT,+EACS,EAAAC,gDACT,qFACS,EAAAC,kDACT,uFACS,EAAAC,gDACT,oF,gHCVJ,eAEA,WAEA,WAEa,EAAAC,+BAAiC,SAC1C5pC,EACAl3C,GAEA,IAAM+gF,EAAW7pC,EAAO36C,KAAI,SAACykF,GAAU,OAAAA,aAAK,EAALA,EAAO5vF,EAAP,IAAW8iB,OAAO,EAAA4/B,WAAa,GAEtE,GAAI9zC,EAAO,EAAApb,WAAW8d,UAAY,EAAAu+E,eAAexwF,QAC7C,MAAO,CACH0gD,IAAK4vC,GAIb,GAAI/gF,EAAO,EAAApb,WAAW8d,UAAY,EAAAu+E,eAAex6C,IAC7C,MAAO,CACH0K,IAAK4vC,EACLvqE,WAAW,IAAAiH,mBAAkBzd,EAAO,EAAApb,WAAWwtD,QAIvD,IAAMhoB,EAAapqB,EAAO,EAAApb,WAAW8d,QACrC,OAAI0nB,EACO,CACH+mB,IAAK4vC,EACL32D,WAAU,GAIX,IACX,C,o2BClCA,kBACA,WACA,WAWA,UATiB,WACb,IACQvtB,GADS,IAAAqkF,eACU,OAI3B,OAFcl8F,EAAM0E,SAAQ,WAAM,WAAAy3F,YAAWtkF,EAAX,GAAoB,CAACA,GAG3D,C,o7BCXA,kBAEA,cACA,cACA,aAEMhY,EAAK,UAAWC,KAAK,WAMrBs8F,EAA4Bp8F,EAAMC,MAAK,SAACC,GAClC,IAAAU,EAAcV,EAAK,UAE3B,OAAO,uBAAKU,WAAW,aAAGf,EAAG,WAAYe,GAAU,qBAAqB,WAC5E,IAEA,UAAew7F,C,uaClBf,cAwBA,cACA,cACA,UAEa,EAAAC,6BAAuD,CAChEC,UAAW,KACX/tF,KAAM,KACN49C,IAAK,KACLowC,cAAe,UAAc54F,QAC7B64F,wBAAyB,KACzBzvB,cAAe,UAAcppE,QAC7B84F,mBAAoB,KACpBC,sBAAuB,UAAc/4F,QACrCg5F,wBAAyB,UAAch5F,QACvC8uB,qBAAsB,KACtBmqE,iCAAkC,UAAcj5F,QAChDk5F,kCAAmC,UAAcl5F,SAGrD,IAAMF,EAAgC,CAAC,EAEvC,mBAAgBG,EAAsBC,G,wCAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAszC,8BACO,IAEFqmD,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAElD,OAAO,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBJ,sBAAuB,UAAc34F,UAAO,IAKxD,KAAK,EAAA2yC,8BACO,IAAA1xC,EAAqBnB,EAAM,UAAhBI,EAAUJ,EAAM,MAInC,OAFMi5F,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBJ,sBAAuB,UAAcx4F,SAASD,KAAM,IAKhE,KAAK,EAAA0yC,gCACO3xC,EAAgDnB,EAAM,UAAtD,IAAWk5F,EAAqCl5F,EAAM,kBAAxBm5F,EAAkBn5F,EAAM,cAIxDsoD,GAFA2wC,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAEtCW,EAAczlF,KAAI,SAAC0mC,GAAa,OAAAA,EAAS7xC,EAAT,KACtCmC,GAAO,aAAMyuF,EAAe,MAElC,OAAO,EAAP,KACOp5F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBR,UAAWS,EACXxuF,KAAI,EACJ49C,IAAG,EACHuwC,sBAAuB,UAAct4F,KAAE,IAKnD,KAAK,EAAAqzC,gCAKD,OAFMqlD,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBH,wBAAyB,UAAc54F,UAAO,IAK1D,KAAK,EAAA2zC,gCAKD,OAJQ1yC,EAAqBnB,EAAM,UAAhBI,EAAUJ,EAAM,MAE7Bi5F,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBH,wBAAyB,UAAcz4F,SAASD,KAAM,IAKlE,KAAK,EAAA0zC,kCAKD,OAFMmlD,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBH,wBAAyB,UAAcv4F,KAAE,IAKrD,KAAK,EAAAyyC,8BACO7xC,EAA8BnB,EAAM,UAApC,IAAWo5F,EAAmBp5F,EAAM,eAI5C,OAFMi5F,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBN,wBAAyBS,EACzBV,cAAe,UAAcx4F,UAAO,IAKhD,KAAK,EAAA+yC,8BAOD,OANQ7yC,EAAUJ,EAAM,MAIlBi5F,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBN,wBAAyB,KACzBD,cAAe,UAAcr4F,SAASD,KAAM,IAKxD,KAAK,EAAA8yC,gCAKD,OAFM+lD,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBN,wBAAyB,KACzBD,cAAe,UAAcn4F,KAAE,IAK3C,KAAK,EAAAizC,8BACOryC,EAA0BnB,EAAM,UAAhC,IAAW+pF,EAAe/pF,EAAM,WAIxC,OAFMi5F,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxB/vB,cAAe,UAAchpE,QAC7B04F,mBAAoB7O,IAAU,IAK1C,KAAK,EAAAt2C,8BAKD,OAJQtyC,EAAqBnB,EAAM,UAAhBI,EAAUJ,EAAM,MAE7Bi5F,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxB/vB,cAAe,UAAc7oE,SAASD,KAAM,IAKxD,KAAK,EAAAszC,gCAKD,OAFMulD,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxB/vB,cAAe,UAAc3oE,KAAE,IAK3C,KAAK,EAAA6zC,6CAKD,OAFM6kD,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBD,kCAAmC,UAAc94F,UAAO,IAKpE,KAAK,EAAAm0C,6CAKD,OAJQlzC,EAAqBnB,EAAM,UAAhBI,EAAUJ,EAAM,MAE7Bi5F,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBD,kCAAmC,UAAc34F,SAASD,KAAM,IAK5E,KAAK,EAAAk0C,+CAKD,OAFM2kD,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBD,kCAAmC,UAAcz4F,KAAE,IAK/D,KAAK,EAAAyzC,4CAKD,OAFMilD,EAAwBl5F,EAFtBoB,EAAcnB,EAAM,YAEsB,EAAAw4F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBF,iCAAkC,UAAc74F,UAAO,IAKnE,KAAK,EAAA+zC,4CAKD,OAJQ9yC,EAAqBnB,EAAM,UAAhBI,EAAUJ,EAAM,MAE7Bi5F,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBF,iCAAkC,UAAc14F,SAASD,KAAM,IAK3E,KAAK,EAAA8zC,8CACO/yC,EAAoCnB,EAAM,UAA1C,IAAW4uB,EAAyB5uB,EAAM,qBAIlD,OAFMi5F,EAAwBl5F,EAAMoB,IAAc,EAAAq3F,6BAE3C,EAAP,KACOz4F,KAAK,MACPoB,GAAS,OACH83F,GAAqB,CACxBrqE,qBAAoB,EACpBmqE,iCAAkC,UAAcx4F,KAAE,IAK9D,KAAK,EAAAC,gBACL,KAAK,EAAA+zC,MACD,OAAO,EAAP,GACO30C,GAIX,QACI,OAAOG,EAElB,C,sNC/TY,EAAAs5F,wBAA0B,sCAC1B,EAAAC,8BAAgC,4CAChC,EAAAC,8BAAgC,4CAChC,EAAAC,gCAAkC,8CAElC,EAAAC,WAAa,wB,o7BCR1B,kBAEA,cAUMC,EAA+Cv9F,EAAMC,MAAK,SAACC,GACrD,IAAAwD,EAA4DxD,EAAK,cAAlD+6D,EAA6C/6D,EAAK,cAAnC,EAA8BA,EAAK,kBAAnCg7D,OAAiB,IAAG,GAAK,EACzDrnC,EAAUnwB,EAAcK,SAAWk3D,GAAkBC,EAE3D,OAAO,gBAAC,UAAmB,CAACrnC,OAAQA,GACxC,IAEA0pE,EAA2BvrF,YAAc,6BAEzC,UAAeurF,C,yuCChBf,0BALA,cACA,WAEMC,EAAY,GAElB,SAAgBC,EAAsBC,GAClC,OAAO,IAAAC,eAAa,SAACC,GACjB,IAAMC,EAAaC,aAAY,WAC3BF,EAAQ,CAAC,EACb,GAAGF,EAAaF,GAEhB,OAAO,WACHO,cAAcF,EAClB,CACJ,GACJ,CAUA,UARA,SAAuBG,EAAcN,G,wDACT,UAAM,IAAAO,MAAKR,EAAuBC,I,OAApDQ,EAAkB,S,iBAEpB,UAAM,IAAAxX,MAAKwX,I,OACX,OADA,SACA,IAAM,IAAAD,MAAKD,I,cAAX,S,+8BCrBR,kBACA,WACA,YACA,WACA,UAqCA,UA9BqD,SAAC99F,GAC1C,IAAAiI,EAA0BjI,EAAK,WAAnBU,EAAcV,EAAK,UAE/Ba,GAAM,IAAAC,kBAAgB,EAGxB4uF,IADkB,IAAA15E,aAAY,EAAAipC,wBACZ,IAAAjpC,aAAY,EAAAspC,wBAEpC,IAAKr3C,EACD,OAAO,KAGX,IAAMgqB,EAAOhqB,EAAW,GAAKA,EAAW,GAExC,OACI,iDACK,EAKAgqB,IAASy9D,GACN,wBAAC,UAAS,CAACp7E,eAAa,EAACpT,MAAO,EAAAyS,mBAAmBuqC,YAAax9C,UAAWA,GACtEG,EAAE,gDAKvB,C,8BCtCA,WAAgB,QAAU,qDAAqD,OAAS,oDAAoD,SAAW,sD,qBCDvJ,IAAYgX,E,qGAAZ,SAAYA,GACR,wBACA,uEACH,CAHD,CAAYA,IAAa,gBAAbA,EAAa,KAKZ,EAAAomF,2BAA6B,4B,o7BCL1C,kBACA,WACA,WACA,cACA,cA2BA,UArBqC,SAACj+F,GAC1B,IAAA4O,EAAa5O,EAAK,SAEpBk+F,GAA0B,IAAAloF,aAAY,EAAAmoF,gCACtC9kD,GAAO,IAAArjC,aAAY,EAAAooF,YAEzB,OAAKF,EAIDA,GAA2B7kD,EACpBzqC,EAIP,gBAAC,UAAkB,CAACyvF,UAAW,GAAIC,YAAY,GAAGC,SAAS,GAAGC,OAAQ,CAAC,GACnE,gBAAC,UAAa,OATX5vF,CAYf,C,8BC5BA,WAAgB,QAAU,8CAA8C,OAAS,6CAA6C,SAAW,+C,o2BCDzI,kBACA,WAEA,YAQM6vF,EAAoC3+F,EAAMC,MAAK,SAACC,GAC1C,IAOJ0+F,EAPIh+F,EAA6BV,EAAK,UAAvB2+F,EAAkB3+F,EAAK,cAClCa,GAAM,IAAAC,kBAAgB,EAE9B,OAAK69F,GAMDD,EADkB,WAAlBC,EACiB,4CACQ,YAAlBA,EACU,6CACQ,WAAlBA,EACU,4CAEA,2CAIjB,gBAAC,UAAS,CAACz9F,MAAO,EAAAyS,mBAAmBK,KAAMM,eAAa,EAAC5T,UAAWA,GAC/DG,EAAE69F,KAhBA,IAmBf,IAEA,UAAeD,C,s8CCrCf,kBACA,cAEA,cACA,WACA,cACA,cACA,cACA,WACA,WACA,UACA,cACA,cACA,cACA,cACA,cACA,cAEA,WAIA,WACA,WACA,WAEA,WACA,cACA,cACA,aACA,cACA,WACA,cACA,cACA,cACA,cACA,UACA,cACA,WAEM9+F,EAAK,UAAWC,KAAK,WAsZ3B,UAlZiE,SAACI,GACtD,IAAAQ,EAAYR,EAAK,QAEjBa,GAAM,IAAAC,kBAAgB,EAExB,KAAkC,IAAA89F,eACpC,EAAA/mF,cAAcgnF,cACd,IAAA/4B,kBAAgC,CAAC,IACpC,GAHM5rD,EAAY,KAAED,EAAe,KAK9B2pC,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiC,UAAM2D,SAAQ,WACjD,IAAMsW,GAAS,aAAiBZ,GAGhC,MAAO,CAACY,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACZ,IAAc,GANXM,EAAa,KAAEupC,EAAa,KAQ7B,IAAgD,UAAM1/C,SAAwB6V,GAAa,GAA1FI,EAAmB,KAAEC,EAAsB,KAElD,UAAMrP,WAAU,WACZqP,EAAuBL,EAC3B,GAAG,CAACA,IAEJ,IAAMO,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMC,GAAkB,IAAA8jF,iBAAgBhkF,GAExCb,EAAgB,EAAD,KACRK,GACAU,IAGPD,EAAcI,WAAW,CAAC,GAEtB3a,GACAA,GAER,IAGEu+F,EAAoBtkF,EAAOD,cAAc,EAAA9a,WAAW25E,YACpD2lB,GAAwB,IAAAC,0BAAyBF,GAEjD3jF,EAAe,UAAM5W,SAAQ,WAC/B,OAAO,IAAA6W,aAAYb,EAAeC,EAAOK,UAAW,IAAAO,aAAYf,EAAqBJ,EACzF,GAAG,CAACM,EAAeC,EAAOK,OAAQR,EAAqBJ,IAEvD,OACI,gCAAMW,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CACjBgB,aAAa,eACbV,MAAOY,EAAE,sCACTL,QAASA,KAGjB,wBAAC,UAAa,CAACG,aAAa,gBACxB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRD,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWkZ,KACjB7U,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWkZ,MAChCiD,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWkZ,MACrC7R,MAAOlG,EAAE,kDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWkZ,KACjBlT,YAAa7E,EAAE,wDACfoE,MAAOwV,EAAOK,OAAO,EAAApb,WAAWkZ,MAChCkE,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWw/F,MACjBn7F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWw/F,OAChCrjF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWw/F,OACrCn4F,MAAOlG,EAAE,kDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAA6B,CAC1B8a,OAAQL,EAAOK,OAAO,EAAApb,WAAWw/F,OACjCpiF,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAAC,4BAA4BiF,WAC7C/B,YAAa7E,EAAE,wDACfsE,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SATX,KAcpB,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,mBACvBiZ,KAAM,EAAAlZ,WAAW25E,WACjBt1E,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW25E,YAChCx9D,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW25E,YACrCtyE,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZ8a,OAAQL,EAAOK,OAAO,EAAApb,WAAW25E,YACjCvzE,eAAgBk5F,EAAsBG,YACtC1mD,qBAAsBumD,EAAsBI,kBAC5Cl6F,SAAUlF,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BiF,WAC7C/B,YAAa7E,EAAE,4DACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAXX,IAehB,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,wBACvBiZ,KAAM,EAAAlZ,WAAW2/F,eACjBt7F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2/F,gBAChCxjF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2/F,gBACrCt4F,MAAOlG,EAAE,2DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAA2B,CACxB8a,OAAQL,EAAOK,OAAO,EAAApb,WAAW2/F,gBACjCviF,SAAU9c,EAAM8c,SAChBpX,YAAa7E,EAAE,iEACfsE,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfm0E,cAAY,GATR,IAahB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRh5E,UAAWf,EAAG,QAAS,oBACvBiZ,KAAM,EAAAlZ,WAAW8rD,iBACjBznD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW8rD,kBAChC3vC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW8rD,kBACrCzkD,MAAOlG,EAAE,gEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAuB,CACpB8a,OAAQL,EAAOK,OAAO,EAAApb,WAAW8rD,kBACjC9lD,YAAa7E,EAAE,sEACfic,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SARX,IAYhB,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,oBACvBiZ,KAAM,EAAAlZ,WAAWgsD,eACjB3nD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgsD,gBAChC7vC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgsD,gBACrC3kD,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAuB,CACpB8a,OAAQL,EAAOK,OAAO,EAAApb,WAAWgsD,gBACjChmD,YAAa7E,EAAE,oEACfic,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SARX,KAapB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAW6iB,UACjBxe,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6iB,WAChC1G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6iB,WACrCxb,MAAOlG,EAAE,qDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6iB,WAChC7c,YAAa7E,EAAE,2DACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BzV,YAN3C,IAUhB,wBAAC,UAAW,CACR/G,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWga,UACjB3V,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWga,WAChCmC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWga,WACrC3S,MAAOlG,EAAE,qDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWga,WAChChU,YAAa7E,EAAE,2DACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8Bza,aAN3C,KAWpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/B,UAAWf,EAAG,QAAS,0BACvBoH,MAAOlG,EAAE,6DACT+X,KAAM,EAAAlZ,WAAW4/F,eACjBv7F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW4/F,gBAChCzjF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW4/F,gBACrCvjF,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAkC,CAC/B8a,OAAQL,EAAOK,OAAO,EAAApb,WAAW4/F,gBACjCp6F,SAAUlF,EAAM8c,SAChBpX,YAAa7E,EAAE,mEACf0B,gBAAiB,EAAAC,4BAA4B+8F,QAC7Cn6F,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SATX,IAahB,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,0BACvBiZ,KAAM,EAAAlZ,WAAW8/F,eACjBz7F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW8/F,gBAChC3jF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW8/F,gBACrCz4F,MAAOlG,EAAE,6DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAkC,CAC/B8a,OAAQL,EAAOK,OAAO,EAAApb,WAAW8/F,gBACjC95F,YAAa7E,EAAE,mEACfqE,SAAUlF,EAAM8c,SAChBva,gBAAiB,EAAAC,4BAA4Bi9F,SAC7Cr6F,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SATX,KAcpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAW0d,YACjBrZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0d,aAChCvB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0d,aACrCrW,MAAOlG,EAAE,0DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0d,aAChCN,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BqiF,SAL3C,IAShB,wBAAC,UAAW,CACR7+F,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWggG,gBACjB37F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWggG,iBAChC7jF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWggG,iBACrC34F,MAAOlG,EAAE,qDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAoB,CACjB8E,UAAW,EAAA66F,0BACXnlF,cAAeC,EAAOK,OAAO,EAAApb,WAAWggG,iBACxCE,cAAenlF,EAAOK,OAAO,EAAApb,WAAWggG,iBACxC5kF,OAAQL,EAAOK,OAAO,EAAApb,WAAWggG,iBACjCx6F,SAAU,SAACW,EAAQQ,GACfrG,EAAM8c,SAASjX,GACf4U,EAAOsB,cAAc,EAAArc,WAAWmgG,kBAAmBx5F,EACvD,EACAjB,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfhD,gBAAiB,EAAAC,4BAA4Bi9F,UAdzC,KAmBpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/+F,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWogG,gBACjB/7F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWogG,iBAChCjkF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWogG,iBACrC/4F,MAAOlG,EAAE,iEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWogG,iBAChChjF,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BqiF,SAL3C,IAShB,wBAAC,UAAW,CACR7+F,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWqgG,mBACjBh8F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWqgG,oBAChClkF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWqgG,oBACrCh5F,MAAOlG,EAAE,2DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAoB,CACjB8E,UAAW,EAAA66F,0BACXnlF,cAAeC,EAAOK,OAAO,EAAApb,WAAWqgG,oBACxCH,cAAenlF,EAAOK,OAAO,EAAApb,WAAWsgG,sBACxCllF,OAAQL,EAAOK,OAAO,EAAApb,WAAWqgG,oBACjC76F,SAAU,SAACW,EAAQQ,GACfrG,EAAM8c,SAASjX,GACf4U,EAAOsB,cAAc,EAAArc,WAAWsgG,qBAAsB35F,EAC1D,EACAjB,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfhD,gBAAiB,EAAAC,4BAA4Bi9F,UAdzC,MAoBxB,wBAAC,UAAmB,CAACh0F,eAAa,EAACiS,aAAW,GAC1C,+BAAKhd,UAAWf,EAAG,qBACf,wBAAC,UAAe,CAACua,aAAcI,EAAqBL,gBAAiBM,KAEzE,wBAAC,UAAM,CACHrZ,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZ1a,UAAWf,EAAG,SACdsD,KAAK,SACLtC,aAAa,SAEZE,EAAE,wCAKvB,C,o7BC5bA,kBACA,WACA,WACA,cAGA,WAEA,WASMs5F,EAA2B,CAC7B,EAAAhwC,qBAAqBmwC,+BACrB,EAAAnwC,qBAAqB81C,2BACrB,EAAA91C,qBAAqBqwC,+BACrB,EAAArwC,qBAAqB+1C,2BACrB,EAAA/1C,qBAAqBkxC,SACrB,EAAAlxC,qBAAqBj+B,QACrB,EAAAi+B,qBAAqBmxC,QAGnBT,EAAmC/6F,EAAMC,MAAK,SAACC,GACzC,IAAAU,EAAwDV,EAAK,UAAlD86F,EAA6C96F,EAAK,KAA5Cka,EAAuCla,EAAK,aAA9B+6F,EAAyB/6F,EAAK,qBAE7Da,GAAM,IAAAC,kBAAgB,EAExBqB,EAAUrC,EAAM0E,SAClB,WAAkG,OAC9F,EAAAw2F,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBmwC,+BACzBvzF,MAAOlG,EAAE,qFACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMR,+BACbp5F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAi+C,qBAAqB81C,2BACzBl5F,MAAOlG,EAAE,iFACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMP,2BACbr5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,CACInG,GAAI,EAAAi+C,qBAAqBqwC,+BACzBzzF,MAAOlG,EAAE,qFACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMN,+BACbt5F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAi+C,qBAAqB+1C,2BACzBn5F,MAAOlG,EAAE,iFACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAML,2BACbv5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,EAAA2oF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBkxC,SACzBt0F,MAAOlG,EAAE,8DACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMO,SAEbn6F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,EAAAmnF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBj+B,QACzBnlB,MAAOlG,EAAE,wDACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMH,OACbz5F,MAAO,EAAAi6F,kCAAkC9oF,UAIjD,CACInG,GAAI,EAAAi+C,qBAAqBmxC,OACzBv0F,MAAOlG,EAAE,gEACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMQ,OACbp6F,MAAO,EAAAi6F,kCAAkC9oF,UA3D6C,GA+DlG,CAACxR,EAAGi6F,IAGF71F,EAAQnF,EAAM0E,SAAQ,WACxB,OAAO21F,EAAyBnrE,QAAO,SAACusE,GAAoB,OAAArhF,EAAaqhF,EAAb,GAChE,GAAG,CAACrhF,IAYJ,OACI,gBAAC,UAA4B,CACzBxZ,UAAWA,EACXuE,MAAOA,EACPC,SAda,SAAC4V,GAClB,IAAM4rD,EAAsByzB,EAAyBp4C,QAA+B,SAACC,EAAKu5C,GAGtF,OAFAv5C,EAAIu5C,KAAmBzgF,EAAOyK,SAASg2E,SAA0Bj1F,EAE1D07C,CACX,GAAG,CAAC,GAEJ+4C,EAAqBr0B,EACzB,EAOQvkE,QAASA,GAGrB,IAEA,UAAe04F,C,gIC3Hf,cAGa,EAAAsF,0BAA4B,IAAI,EAAAl3E,iBAEhC,EAAAolC,mBAAqB,IAAI,EAAAplC,gB,4RCDtC,eACA,WAEa,EAAAm3E,qBAAuB,SAAC18F,GACjC,OAAOA,EAAM28F,aACjB,EAEa,EAAAC,qBAAsB,IAAAC,gBAAe,EAAAH,sBAAsB,SAACI,GAC7D,IAAAC,EAAqBD,EAAc,SAAzBE,EAAWF,EAAc,OAE3C,OAAOC,EAASppF,KAAI,SAACm2C,GAAS,OAAAkzC,EAAOlzC,EAAP,IAAcx+B,OAAO,EAAA4/B,SACvD,IAEa,EAAA4mC,2BAA6B,SAAC9xF,GAA0C,OAAAA,EAAM28F,cAAcxyD,OAApB,EAExE,EAAA8yD,wBAA0B,SAACj9F,GACpC,OAAOA,EAAM28F,cAAcI,QAC/B,EAEa,EAAA/K,sBAAwB,SAAChyF,GAClC,OAAAA,EAAM28F,cAAcK,MAApB,EAES,EAAAE,4BAA8B,SAACl9F,GACxC,OAAOA,EAAM28F,cAAcQ,YAC/B,EAEa,EAAAC,0BAA4B,SAACp9F,GACtC,OAAOA,EAAM28F,cAAcU,UAC/B,EAEa,EAAAC,qBAAuB,SAACt9F,G,MACjC,OAAmC,QAA5B,EAAAA,EAAM28F,cAAcI,gBAAQ,eAAEx+F,SAAU,IACnD,C,whDCpCA,kBACA,WACA,cAKA,WACA,WACA,WACA,cAQa,EAAAk+D,iBAAc,MACtB,EAAAv0C,oBAAoBV,WAAO,MACvB,EAAA+0C,8BAA8Bh0C,SAAU,EAAAg1E,8BAA8B/uF,OACvE,EAAC,EAAA+tD,8BAA8B/zC,SAAU,EAAA+0E,8BAA8B/uF,OACvE,EAAC,EAAA+tD,8BAA8BrK,WAAY,EAAAqrC,8BAA8B/uF,OACzE,EAAC,EAAA+tD,8BAA8B52B,QAAS,EAAA43D,8BAA8BhtF,Q,GAE1E,EAAC,EAAA2X,oBAAoBtD,WAAO,MACvB,EAAA23C,8BAA8Bh0C,SAAU,EAAAg1E,8BAA8B/uF,OACvE,EAAC,EAAA+tD,8BAA8B/zC,SAAU,EAAA+0E,8BAA8B/uF,OACvE,EAAC,EAAA+tD,8BAA8BrK,WAAY,EAAAqrC,8BAA8B/uF,OACzE,EAAC,EAAA+tD,8BAA8B52B,QAAS,EAAA43D,8BAA8BhtF,Q,GAE1E,EAAC,EAAA2X,oBAAoB3e,UAAM,MACtB,EAAAgzD,8BAA8Bh0C,SAAU,EAAAg1E,8BAA8B/uF,OACvE,EAAC,EAAA+tD,8BAA8B/zC,SAAU,EAAA+0E,8BAA8B/uF,OACvE,EAAC,EAAA+tD,8BAA8BrK,WAAY,EAAAqrC,8BAA8B/uF,OACzE,EAAC,EAAA+tD,8BAA8B52B,QAAS,EAAA43D,8BAA8BhtF,Q,MAI9E,IAAMitF,EAAqDphG,EAAMC,MAAK,SAACC,G,MAK/Ds5F,EAJIlwE,EAAyBppB,EAAK,OAAnBusB,EAAS,EAAKvsB,EAA3B,YAEAwsB,GAAkB,IAAAxW,aAAY,EAAAyW,mBAWpC,OAHI6sE,EAHClwE,EAGsC,QAA/B,IAAA+2C,eAAe3zC,UAAgB,eAAGpD,GAFlC,EAAA63E,8BAA8B/uF,OAKnC,gBAAC,UAAkB,KAAKqa,EAAS,CAAExlB,MAAO,gBAAC,UAAyB,CAACqiB,OAAQA,IAAYkwE,MAAOA,IAC3G,IAEA,UAAe4H,C,8BCvDf,WAAgB,KAAO,qBAAqB,yBAAyB,uCAAuC,6BAA6B,2CAA2C,mBAAmB,iCAAiC,oBAAoB,kCAAkC,mBAAmB,iCAAiC,uBAAuB,qCAAqC,4BAA4B,0CAA0C,wBAAwB,sCAAsC,8BAA8B,4CAA4C,gCAAgC,8CAA8C,yBAAyB,uCAAuC,8BAA8B,4CAA4C,0BAA0B,wCAAwC,kBAAkB,gCAAgC,OAAS,uBAAuB,SAAW,yB,gLCDn9B,kBACA,WAMMC,EAA4B,SAACnhG,GACvB,IAAA2B,EAAc3B,EAAK,UAE3B,OACI,+BAAKwB,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,YAAYD,MAAM,8BAClD,gCACIG,EAAE,q6BACF/E,KAAM7K,EACN2P,SAAS,YAIzB,EAEA6vF,EAAQrvF,YAAc,UAEtB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBC,UAG3B,EAAAkQ,WAAAA,EAET,UAAeovF,C,8BC5Bf,WAAgB,KAAO,yBAAyB,eAAe,iCAAiC,kBAAkB,oCAAoC,OAAS,2BAA2B,SAAW,6B,q7BCDrM,kBAEA,WAGA,WACA,cACA,cACA,cACA,WAWMC,EAAwCthG,EAAMC,MAAK,SAACC,GAElD,IAAAqhG,EAMArhG,EAAK,kBALLshG,EAKAthG,EAAK,kBAJLuhG,EAIAvhG,EAAK,sBAHLwhG,EAGAxhG,EAAK,kBAFLyhG,EAEAzhG,EAAK,iBADL0hG,EACA1hG,EAAK,oBAEH2hC,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1B7U,GAASs0E,aAAiB,EAAjBA,EAAmBn1F,KAAM,KAElCy1F,EAAgCN,aAAiB,EAAjBA,EAAmBM,8BACnDC,EAA8BP,aAAiB,EAAjBA,EAAmBO,4BAEjDC,GAAoBF,IAAkCC,EACtDE,KAAoBT,aAAiB,EAAjBA,EAAmB77C,QAE7C,OAAIq8C,GAAoBC,EACb,gBAAC,UAAuB,CAAC9iB,KAAMqiB,GAAqB,KAAMK,oBAAqBA,IAGtFG,IAAqBC,EAEjB,gBAAC,UAAqB,CAClB9iB,KAAMqiB,GAAqB,KAC3BU,cAAepgE,EAAYqgE,0BAA4BT,EACvDI,8BAA+BA,GAAiC,KAChEL,kBAAmBA,EACnBM,4BAA6BA,GAA+B,KAC5DJ,kBAAmBA,EACnBE,oBAAqBA,IAK7B//D,EAAYsgE,gCAER,gBAAC,UAAsB,CACnBl1E,OAAQA,EACRiyD,KAAMqiB,GAAqB,KAC3Ba,gBAAiBb,IAAsB,EAAAc,oBAAoBlzE,IAAIoyE,aAAiB,EAAjBA,EAAmBe,kBAClFX,iBAAkBA,IAKvB,IACX,IAEA,UAAeL,C,07FCxEf,kBACA,cAEA,cACA,WACA,WACA,WACA,cACA,WACA,cACA,cACA,UACA,cACA,WAEA,WAEA,WACA,cACA,cACA,cAEA,cACA,UAEA,aAEMzhG,EAAK,UAAWC,KAAK,WAWd,EAAA01E,iBAAc,MACtB,EAAA51E,WAAW2iG,WAAY,KACxB,EAAC,EAAA3iG,WAAWwtD,MAAO,GACnB,EAAC,EAAAxtD,WAAWwlC,YAAa,K,GAG7B,IAAM52B,EAAgB,qCA8StB,UAjSwD,SAACtO,GAC7C,IAAAyO,EAA+EzO,EAAK,SAA1EsiG,EAAqEtiG,EAAK,iBAAxDuiG,EAAmDviG,EAAK,aAA1CwD,EAAqCxD,EAAK,cAA3BgyD,EAAsBhyD,EAAK,OAAnB8E,EAAc9E,EAAK,UAEpFa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAA4C,UAAMwD,UAAS,GAAM,GAAhEm+F,EAAiB,KAAEC,EAAoB,KACxC,IAAwC,UAAMp+F,SAAiC,IAAG,GAAjFq+F,EAAe,KAAEC,EAAkB,KAE1C,UAAMz3F,WAAU,WACX,mC,8DACG,OAAKpG,GAIL29F,GAAqB,IACF,IAAAv8F,yBAAwBpB,GACvC,MACuB,GAAM,UAAkB89F,8BAA8B99F,KAN7E,I,cAMM+9F,EAAiB,SAEvBF,GACuB,QAAnB,EAAAE,aAAc,EAAdA,EAAiB,UAAE,eAAExrF,KAAI,SAACyrF,GACtB,MAAO,CACH/7F,MAAO+7F,EAAYlqF,KACnBmqF,cAAeD,EAAY52F,GAC3BjH,MAAO69F,EAAY52F,GACnBsE,KAAMsyF,EAAYlqF,MAAQkqF,EAAY52F,GAE9C,MAAM,I,aAGc,SAAM,UAAmB02F,iC,OAA3CI,EAAkB,SAExBL,GACwB,QAApB,EAAAK,aAAe,EAAfA,EAAkB,UAAE,eAAE3rF,KAAI,SAACyrF,GACvB,MAAO,CACH/7F,MAAO+7F,EAAYlqF,KACnBmqF,cAAeD,EAAY52F,GAC3BjH,MAAO69F,EAAY52F,GACnBsE,KAAMsyF,EAAYlqF,MAAQkqF,EAAY52F,GAE9C,MAAM,I,wBAIdu2F,GAAqB,G,UAE7B,GAAG,CAAC39F,IAEE,QAAiC,UAAMN,SAAQ,WACjD,IAAMsW,EAAM,KACL,EAAAw6D,gBAKP,MAAO,CAACx6D,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACk3C,IAAQ,GATLx3C,EAAa,KAAEupC,EAAa,KAW7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMsnF,EAAYvnF,EAAO,EAAApb,WAAW2iG,WACpC,GAAIA,IAAc,EAAAY,cAAcC,QAAS,CACrC,IAAMC,GAAoB,IAAAC,0BAAyBpxC,EAAQl3C,GAEvDqoF,EACAZ,EAAaY,IAEb,IAAAzuE,YAAW,iCAEnB,CAEA,GAAI2tE,IAAc,EAAAY,cAAcI,kBAAoBhB,IAAc,EAAAY,cAAcK,eAAgB,CAC5F,IAAMC,GAAwB,IAAAC,8BAA6BxxC,EAAQl3C,GAEnE,GAAIyoF,EAAuB,CACvB,IAAME,EAAyBf,EAAgB5pD,MAAK,SAAC4qD,GACjD,OAAOA,EAAez+F,QAAU6V,EAAO,EAAApb,WAAWwlC,WACtD,IACMzX,GAAeg2E,aAAsB,EAAtBA,EAAwBjzF,OAAQ,GACrD8xF,EAAiBiB,EAAuB91E,EAC5C,MACI,IAAAiH,YAAW,iCAEnB,CAEA3Z,EAAcI,WAAW,CAAC,EAC9B,IAGEwoF,EAAmB,UAAMn/F,SAAQ,WACnC,MAAO,CACH,CACIuC,MAAOlG,EAAE,gFACToE,MAAO,EAAAg+F,cAAcC,SAEzB,CACIn8F,MAAOlG,EAAE,uFACToE,MAAO,EAAAg+F,cAAcK,gBAEzB,CACIv8F,MAAOlG,EAAE,yFACToE,MAAO,EAAAg+F,cAAcI,kBAIjC,GAAG,CAACrxC,EAAQnxD,IAEN+iG,EAAoBnpF,EAAOK,OAAO,EAAApb,WAAW2iG,WAE7C,IAAoB,UAAMh+F,SAAiB,IAAG,GAA7C4B,EAAK,KAAE6zC,EAAQ,KAEhBhzC,EAAe,SACjBN,EACAd,GAEA,OAAKc,EAIEA,EAAOO,MAHHrB,CAIf,EAEMm+F,EAA0B,UAAMr/F,SAAQ,WAC1C,IAAMw1C,EAAgB/zC,EAAM69F,cAAcn1E,OAC1C,OAAKqrB,EAIE0oD,EAAgB1zE,QAAO,SAACxoB,GAC3B,OAAOA,EAAOgK,KAAKszF,cAAcv+E,SAASy0B,EAC9C,IALW0oD,CAMf,GAAG,CAACA,EAAiBz8F,IAEf0I,EAAU,UAAMnK,SAAQ,WAC1B,MAAO,CACH,CACIoK,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBzJ,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEHm1F,GAAqBA,IAAsB,EAAAX,cAAcC,QASpD,KARC,CACGt0F,SAAU/N,EAAE,0DACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,QAC9BrL,KAAM,UAGhB2gG,IAAsB,EAAAX,cAAcK,eAC7B,CACG10F,SAAU/N,EAAE,6DACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,WAC9BrL,KAAM,UAEV,KACN2gG,IAAsB,EAAAX,cAAcI,iBAC7B,CACGz0F,SAAU/N,EAAE,+DACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,aAC9BrL,KAAM,UAEV,MACR+rB,OAAO,EAAA4/B,SAEb,GAAG,CAACprD,EAAeogG,EAAmB/iG,IAEtC,OACI,gCAAMga,SAAUJ,EAAOiB,cACnB,+BAAKhb,UAAWf,EAAG,SACf,wBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAW2iG,UACjB3hG,UAAWf,EAAG,QAAS,iBACvBoH,MAAOlG,EAAE,qEACTkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2iG,WAChCxmF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2iG,WACrCtmF,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAa,CACVmH,cAAesT,EAAOK,OAAO,EAAApb,WAAW2iG,WACxClgG,QAASwhG,EACTz+F,SAAUlF,EAAM8c,SAChBhW,aAAcA,EACdpB,YAAa7E,EAAE,2EACf2G,eAAgB,SAAChB,GAAW,OAAAA,EAAOvB,KAAP,EAC5B/C,iBAAkBvC,EAAG,WACrB4C,gBAAiB,EAAAC,4BAA4B+8F,QAC7Cj6F,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBE,WAAYm9F,GAdR,IAkBfoB,IAAsB,EAAAX,cAAcK,gBACjC,wBAAC,UAAW,CACR1qF,KAAM,EAAAlZ,WAAWwlC,WACjBxkC,UAAWf,EAAG,QAAS,mBACvBoH,MAAOlG,EAAE,qEACTkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWwlC,YAChCrpB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWwlC,YACrCnpB,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAmB,CAChBmH,cAAesT,EAAOK,OAAO,EAAApb,WAAWwlC,YACxC/iC,QAAS0hG,EACT3+F,SAAUlF,EAAM8c,SAChBhW,aAAcA,EACd1E,cAAe0E,EACfpB,YAAa7E,EACT,2EAEJ2G,eAAgB,SAAChB,GAAW,OAAAA,EAAOvB,KAAP,EAC5B/C,iBAAkBvC,EAAG,WACrB4C,gBAAiB,EAAAC,4BAA4B+8F,QAC7Cn4F,cAAe0yC,EACfx0C,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBE,WAAYm9F,EACZxzF,UAAWwzF,EACXn7F,gBAAiB,SAAC,GACd,OADyB,YAErB,wBAAC,UAAiB,KAAK,EAAAC,uBAAuBC,sBAC9C,IACR,GAxBI,IA6BnBq8F,IAAsB,EAAAX,cAAcC,SACjC,wBAAC,UAAW,CACRxiG,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWwtD,KACjBnpD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWwtD,MAChCrxC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWwtD,MACrCnmD,MAAOlG,EAAE,iEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWwtD,KACjB62C,SAAU,EAAAlrF,aAAamrF,iBACvB/+F,MAAOwV,EAAOK,OAAO,EAAApb,WAAWwtD,MAChCxnD,YAAa7E,EAAE,uEACfiyF,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAXd,KAiBxB,wBAAC,UAAkB,CAACwJ,QAASA,IAGzC,C,q7BCxVA,kBACA,cAEA,cACA,WACA,YACA,cAEMhP,EAAK,UAAWC,KAAK,WAQrBqkG,EAAqDnkG,EAAMC,MAAK,SAACC,GAC3D,IAAAk0D,EAA6Cl0D,EAAK,YAArCu+D,EAAgCv+D,EAAK,WAAzBw+D,EAAoBx+D,EAAK,gBAE1D,OACI,uBAAKU,UAAWf,EAAG,SACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,8BACRE,WAAY,CACRmoE,YAAa,gBAAC,UAAW,CAAC/qE,OAAQumD,IAClCC,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,OAKhD,IAEA,UAAeylC,C,mLCjCf,IAEYC,EAFZ,eAEA,SAAYA,GACR,oCACH,CAFD,CAAYA,IAAY,eAAZA,EAAY,KAgBxB,IAAMC,EAAkB,UAAM/gG,cAAuC,MAErE,UAAe+gG,C,umDCpBf,eAEA,WACA,WACA,WACA,cAGA,SAAUC,EAAkBzgG,G,4DACuC,UAAM,IAAAiJ,QAAO,EAAA8sC,6B,OAC5E,OAD+D,SACnDx1C,GACR,IAGJ,IAAM,IAAA4I,MAAI,IAAAu3F,wB,OAGN,OAHJ,SAGI,GAAM,UAAkBC,wB,cADtB,kBACF,SAA8C,IAD3CvgG,EAAK,KAAEwgG,EAAQ,KAElBxgG,EACA,IAAM,IAAA+I,MAAI,IAAA03F,oBAAmBzgG,KAD7B,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA23F,sBAAqBF,GAAY,M,IAO/C,UAJA,W,kDACI,UAAM,IAAAh3F,WAAU,EAAAm3F,uBAAwBN,I,cAAxC,S,uCC1BJ,WAAgB,KAAO,oCAAoC,mBAAmB,gDAAgD,iBAAiB,8CAA8C,OAAS,sCAAsC,iBAAmB,gDAAgD,cAAgB,6CAA6C,MAAQ,qCAAqC,KAAO,oCAAoC,WAAa,0CAA0C,WAAa,0CAA0C,OAAS,sCAAsC,kBAAoB,iDAAiD,OAAS,sCAAsC,SAAW,wC,s9CCDhuB,eACA,cASMO,EAAsC,SAAC3kG,GACjC,IAAAoW,EAA2CpW,EAAK,KAA1C2B,EAAqC3B,EAAK,UAA/BmW,EAA0BnW,EAAK,QAAnBusB,EAAS,EAAKvsB,EAA7C,gCACN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAAgBkb,GACvF,wBACI/f,KAAM7K,EACN6P,YAAa2E,GAAW,GACxB7E,SAAS,UACTC,EAAE,yFAEF,oCACIqzF,cAAc,YACdC,IAAI,KACJvtE,KAAK,UACLwtE,YAAY,aACZ58E,GAAG,YACHjlB,KAAK,YAKzB,EAEA0hG,EAAkB7yF,YAAc,oBAEhC,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCiC,QAAS,IAYJ,EAAApE,WAAAA,EATI,EAAAzK,uBAAyB,CAClCC,kBAAmB,WACf,MAAO,CACH5F,UAAW,EAAAC,qBAAqBsS,YAChCkC,KAAM,EAAAC,kBAEd,GAIJ,UAAesuF,C,qiDCnDf,kBACA,WACA,cAGA,cACA,WAMa,EAAAI,mCAAgC,MACxC,EAAAxvC,yBAAyBC,kBAAmB,EAAA5zD,qBAAqBkS,UAClE,EAAC,EAAAyhD,yBAAyBv3B,kBAAmB,EAAAp8B,qBAAqBkS,UAClE,EAAC,EAAAyhD,yBAAyBg1B,UAAW,EAAA3oF,qBAAqBI,MAC1D,EAAC,EAAAuzD,yBAAyB9vB,WAAY,EAAA7jC,qBAAqBI,MAC3D,EAAC,EAAAuzD,yBAAyBL,MAAO,EAAAtzD,qBAAqBojG,YACtD,EAAC,EAAAzvC,yBAAyB5vB,UAAW,EAAA/jC,qBAAqBI,MAC1D,EAAC,EAAAuzD,yBAAyB0vC,UAAW,EAAArjG,qBAAqBI,MAC1D,EAAC,EAAAuzD,yBAAyB3vB,SAAU,EAAAhkC,qBAAqBI,M,GAG7D,IAAMkjG,EAAgDplG,EAAMC,MAAK,SAACC,GACtD,IAAAopB,EAAyBppB,EAAK,OAAnBusB,EAAS,EAAKvsB,EAA3B,YAEN,IAAKopB,EACD,OAAO,KAGX,IAAMkwE,EAAQ,EAAAyL,iCAAiC37E,GAE/C,OAAO,gBAAC,UAAkB,KAAKmD,EAAS,CAAExlB,MAAO,gBAAC,UAAoB,CAACqiB,OAAQA,IAAYkwE,MAAOA,IACtG,IAEA,UAAe4L,C,yECnCf,eA4BA,UAxBoC,SAAC/jE,GACjC,IAAMgkE,GAA0B,IAAAx8F,WAEhC,IAAAuC,YAAU,WACNi6F,EAAwB55F,QAAU41B,CACtC,GAAG,CAACA,KAEJ,IAAAj2B,YAAU,WACN,IAAMk6F,EAAqB,WACvB,IAAMC,EAAyC,YAA7BtnD,SAASunD,gBAEvBH,EAAwB55F,SACxB45F,EAAwB55F,QAAQ85F,EAExC,EAIA,OAFAtnD,SAASwnD,iBAAiB,mBAAoBH,GAEvC,WACHrnD,SAASynD,oBAAoB,mBAAoBJ,EACrD,CACJ,GAAG,GACP,C,u8CC1BA,kBAEA,cACA,aACA,WACA,WACA,cAKA,GAJA,YAIA,aACA,WAOA,aACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,WACA,cACA,cACA,WAGA,WACA,WACA,cACA,WAMA,WACA,WACA,WACA,aAEA,WACA,WACA,cACA,WAEMzlG,EAAK,UAAWC,KAAK,WAIrB6lG,EAAqC3lG,EAAMC,MAAK,W,MAC1Cc,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAEXxmB,GAAQ,IAAAgI,aAAY,EAAAoI,qBACpB/P,GAAO,IAAA2H,aAAY,EAAA0vF,qBAEnB,KAAuB,IAAAvgC,kBAAc,MACtC,EAAAttD,cAAc8tF,kBAAkB,IAAA7/B,kBAAgC,CAAC,GAClE,EAAC,EAAAjuD,cAAc+tF,eAAe,IAAAvgC,yBAC9B,EAAC,EAAAxtD,cAAcguF,eAAe,IAAAtgC,kBAAyC,CACnEtgE,MAAO,EAAA6gG,uBAAuBC,WAC9BrgC,UAAW,EAAAC,kBAAkBC,OAEjC,EAAC,EAAA/tD,cAAcmuF,4BAA6B,EAAAC,YAC5C,EAAC,EAAApuF,cAAcquF,6BAA8B,EAAAD,Y,IAC/C,GATKhgG,EAAK,KAAE8/D,EAAW,KAWnBigC,EAA6B//F,EAAM,EAAA4R,cAAcmuF,4BACjDE,EAA8BjgG,EAAM,EAAA4R,cAAcquF,6BAElDC,GAAc,IAAAnwF,aAAY,EAAAowF,2BAE1B3xF,EAAaxO,EAAM,EAAA4R,cAAc+tF,cACjC1rF,EAAejU,EAAM,EAAA4R,cAAc8tF,iBACnC3/B,GAAe//D,EAAM,EAAA4R,cAAcguF,cAEnCjnF,GAAO5Q,EAAMyG,GACb,GAAyBmK,IAAQ,CAAC,EAAhCqtC,GAAG,OAAEzoD,GAAa,iBAEpBs+B,GAAkChiC,EAAMkG,aAAY,WACtD,IAAMC,GAAQ,IAAAggE,uBAAsB/rD,EAAc8rD,GAAc,CAC5DvmD,cAAeymF,EACfxmF,aAAcsmF,IAElBzxE,GAAS,IAAA8xE,mBAAkB5xF,EAAYxO,EAAO,CAAE87B,eAAe,IACnE,GAAG,CAACxN,EAAU9f,EAAYuxD,GAAc9rD,EAAcgsF,EAA6BF,KACnF,aAA4BlkE,IAE5B,IAAME,GAAqBliC,EAAMkG,aAAY,WACzC,IAAMC,GAAQ,IAAAggE,uBAAsB/rD,EAAc8rD,GAAc,CAC5DvmD,cAAeymF,EACfxmF,aAAcsmF,IAElBzxE,GAAS,IAAA8xE,mBAAkB5xF,EAAYxO,EAAO,CAAE87B,eAAe,IACnE,GAAG,CAACxN,EAAU9f,EAAYuxD,GAAc9rD,EAAcgsF,EAA6BF,KACnF,IAAA/jE,qBAAoB,EAAAqkE,uBAAwBtkE,IAE5C,IAAMiI,GAAuBnqC,EAAMkG,aAAY,WAC3C,IAAMC,GAAQ,IAAAggE,uBAAsB/rD,EAAc8rD,GAAc,CAC5DvmD,cAAeymF,EACfxmF,aAAcsmF,IAElBzxE,GAAS,IAAA8xE,mBAAkB5xF,EAAYxO,EAAO,CAAE87B,eAAe,IACnE,GAAG,CAACxN,EAAU9f,EAAYuxD,GAAc9rD,EAAcgsF,EAA6BF,IAEnFlmG,EAAMoL,WAAU,WACZ,IAAMjF,GAAQ,IAAAggE,uBAAsB/rD,EAAc8rD,GAAc,CAC5DvmD,cAAeymF,EACfxmF,aAAcsmF,IAIlB,OAFAzxE,GAAS,IAAA8xE,mBAAkB5xF,EAAYxO,IAEhC,WAEP,CACJ,GAAG,CACCsuB,EACA3V,GACAnK,EACAuxD,GACA9rD,EACAgsF,EACAF,IAGJ,IAAMO,GAAWzmG,EAAM0E,SAAQ,WAC3B,OAAQynD,IAAO,IAAI50C,KAAI,SAACnL,GAAuB,OAAAmC,EAAKnC,EAAL,GACnD,GAAG,CAAC+/C,GAAK59C,IAEHi+C,GAAWxsD,EAAMkG,aACnB,SAACyO,G,MACGsxD,IAAW,MACN,EAAAluD,cAAc+tF,cAAenxF,E,GAEtC,GACA,CAACsxD,IAGCxZ,GAAiBzsD,EAAMkG,aACzB,SAAC,G,IAAEyO,EAAU,aACT63C,GAAS73C,EACb,GACA,CAAC63C,MAEL,IAAArqB,qBAAoB,EAAApiB,0BAA2B0sC,IAE/C,IAIMi6C,GAAkF,CACpF,CACIt6F,QAAI5F,EACJipE,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,mCACTF,aAAc,OAElB,CACIuL,GAAI,EAAAu6F,wBAAwBv9F,KAC5BqmE,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,oCACTF,aAAc,EAAA8lG,wBAAwBv9F,KACtCwmE,kBAAmB,CACf9sE,MAAO,EACP1B,MAAO,EAAAi6F,kCAAkCjpF,SAGjD,CACIhG,GAAI,EAAAu6F,wBAAwBC,KAC5Bn3B,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,oCACTF,aAAc,EAAA8lG,wBAAwBC,KACtCh3B,kBAAmB,CACf9sE,MAAO,EACP1B,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAu6F,wBAAwBE,KAC5Bp3B,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,oCACTF,aAAc,EAAA8lG,wBAAwBE,KACtCj3B,kBAAmB,CACf9sE,MAAO,EACP1B,MAAO,EAAAi6F,kCAAkClnF,UAGjD,CACI/H,GAAI,EAAAu6F,wBAAwBG,cAC5Br3B,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,6CACTF,aAAc,EAAA8lG,wBAAwBG,cACtCl3B,kBAAmB,CACf9sE,MAAO,EACP1B,MAAO,EAAAi6F,kCAAkC9oF,WAyD/Ck0D,IApDkEzmE,EAAM0E,SAC1E,WAAM,OACF,CACIuC,MAAOlG,EAAE,8CACToE,MAAO,EAAA6gG,uBAAuBC,YAHhC,GAMN,CAACllG,IA6CyB,SAAC2lE,G,QACrBG,EAAmB1gE,EAAM,EAAA4R,cAAc8tF,kBAAoB,CAAC,EAE5DzrF,EAAe,IAAH,MACb,EAAAiwC,qBAAqB8lB,aAActJ,EAAiB,EAAAxc,qBAAqB8lB,aAAY,GACnFzJ,GAGPT,IAAW,MACN,EAAAluD,cAAc+tF,cAAe,EAC9B,EAAC,EAAA/tF,cAAcquF,kCAA8B5/F,EAC7C,EAAC,EAAAuR,cAAcmuF,iCAA6B1/F,EAC5C,EAAC,EAAAuR,cAAc8tF,iBAAkBzrF,E,GAEzC,GAkFA,OACI,gBAAC,UAAiB,KACd,gBAAC,UAAS,CAACja,MAAOY,EAAE,0BACpB,gBAAC,UAAc,KACX,gBAAC,UAAM,KACH,gBAAC,UAAa,CAACZ,MAAOY,EAAE,uBAAwBN,UAAW,gBAAC,UAAuB,SAEvF,gBAAC,UAAc,KACX,gBAAC,UAAwB,KACrB,gBAAC,UAAY,CACT4B,QAASqkG,GACTx2B,WAAY91D,EAAa,EAAAiwC,qBAAqB8lB,aAC9C/qE,SA7IM,SAACgrE,G,QACrBvJ,EAAmB1gE,EAAM,EAAA4R,cAAc8tF,kBAAoB,CAAC,EAE5DzrF,EAAe,EAAH,KACXysD,KAAgB,MAClB,EAAAxc,qBAAqB3gB,iBAAaljC,EAAW,EAC7C,EAAA6jD,qBAAqB8lB,aAAcC,EAAa,IAGrDnK,IAAW,MACN,EAAAluD,cAAc+tF,cAAe,EAC9B,EAAC,EAAA/tF,cAAcquF,kCAA8B5/F,EAC7C,EAAC,EAAAuR,cAAcmuF,iCAA6B1/F,EAC5C,EAAC,EAAAuR,cAAc8tF,iBAAkBzrF,E,GAEzC,EA+HwBi2D,kBAAmBtvE,EAAE,gDAG7B,gBAAC,UAAoB,CACjBgrC,gBAAc,EACdC,cACI,iCACK,EAQD,gBAAC,UAAa,CACVpmC,YAAa7E,EAAE,oCACf2oC,WAAYtvB,EAAa,EAAAiwC,qBAAqB3gB,YAC9CuC,mBA/GX,SAACvC,G,OAhCK,SAACk9B,G,MAClBC,EAAmB1gE,EAAM,EAAA4R,cAAc8tF,kBAAoB,CAAC,EAE5DzrF,EAAe,EAAH,KACXysD,GACAD,GAGPX,IAAW,MACN,EAAAluD,cAAc+tF,cAAe,EAC9B,EAAC,EAAA/tF,cAAcquF,kCAA8B5/F,EAC7C,EAAC,EAAAuR,cAAcmuF,iCAA6B1/F,EAC5C,EAAC,EAAAuR,cAAc8tF,iBAAkBzrF,E,GAEzC,CAmBIusD,EAAkB,KACd,EAAC,EAAAtc,qBAAqB8lB,kBAAc3pE,EACpC,EAAC,EAAA6jD,qBAAqB3gB,YAAaA,QAAcljC,E,GAEzD,KA8GoB8mD,eACI,gBAAC,UAAe,CACZE,WAAS,EACTpzC,aAAcA,EACdD,gBAAiBssD,OA1FlB,WACvB,KAAK,IAAAr6B,2BAA0Bq6D,GAAU/iG,IACrC,OAAO,KAGX,GAAIA,cAAa,EAAbA,GAAeO,MACf,OAAO,gBAAC,UAAU,CAACA,MAAOP,cAAa,EAAbA,GAAeO,MAAOooC,QAASlC,KAGvD,OAAuD,IAAAmC,cACzD,CAAClyB,EAAa,EAAAiwC,qBAAqB8lB,cACnC,EAAC,aAAK/1D,EAAc,CAAC,EAAAiwC,qBAAqB8lB,gBAFtC3jC,EAAwB,2BAAED,EAAsB,yBAKxD,OAAI7oC,cAAa,EAAbA,GAAeU,KAAMmoC,EAEjB,gBAAC,UAAY,CACTE,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,kDACTF,aAAa,cACb+rC,cAAc,KAKtBlpC,cAAa,EAAbA,GAAeU,KAAMooC,EAEjB,gBAAC,UAAY,CACTC,SAAU,EAAAC,sBAAsBC,SAChCxsC,MAAOY,EAAE,gDACTuuB,YAAavuB,EAAE,sDACfF,aAAa,YACb+rC,cAAY,EACZq6B,YAAalmE,EAAE,iDACfmmE,YAAa,EAAAn4D,gBAAgBC,UAC7Bm4D,cAAe,WAAM,OAAAV,GAAsB,CAAC,EAAvB,IAM7B,gBAAC,UAAY,CACTh6B,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,4CACTuuB,YAAavuB,EAAE,kDACfF,aAAa,QACb+rC,cAAc,GAG1B,CA6CiBE,GACD,gBAAC,UAAa,CACV25D,SAAUA,GACV7lG,UAAWf,EAAG,SACdqP,UAAWxL,cAAa,EAAbA,GAAeK,QAC1BgjG,eA9PG,SAACvjG,EAA8BD,GAClD,OAAO,aAAiBsxB,eAAerxB,EAAaD,EACxD,KA+PY,gBAAC,UAAY,KACT,gBAAC,UAAe,CACZ6xF,qBAAqBiR,aAAW,EAAXA,EAAazmF,cAClC21E,aA/HC,W,OACZ8Q,aAAW,EAAXA,EAAazmF,eAIlBqmD,IAAW,MACN,EAAAluD,cAAcquF,kCAA8B5/F,EAC7C,EAAC,EAAAuR,cAAcmuF,4BAA6BG,EAAYzmF,a,GAEhE,EAuHoB01E,qBAAqB+Q,aAAW,EAAXA,EAAa1mF,kBAAkB0mF,aAAW,EAAXA,EAAa3mF,SACjE21E,aAtHC,W,OACZgR,aAAW,EAAXA,EAAa1mF,gBAIlBsmD,IAAW,MACN,EAAAluD,cAAcquF,6BAA8BC,EAAY1mF,cACzD,EAAC,EAAA5H,cAAcmuF,iCAA6B1/F,E,GAEpD,KAgHY,gBAAC,UAAQ,OAIzB,IAEA,UAAem/F,C,kuCChbf,kBAEA,cACA,cAEA,cACA,WACA,cAEA,cACA,WAGA,cACA,cACA,cAEA,cACA,cACA,cACA,cACA,WACA,cACA,WACA,cAGM9lG,EAAK,UAAWC,KAAK,WA0BrBknG,EAA4E,CAC9EC,OAAQ,IACRC,QAAS,IAGPC,EAAmEnnG,EAAMC,MAAK,SAACC,G,wCAE7EozC,EAkBApzC,EAAK,OAjBLknG,EAiBAlnG,EAAK,WAhBLmmC,EAgBAnmC,EAAK,MAfLm7D,EAeAn7D,EAAK,aAdLmnG,EAcAnnG,EAAK,OAbLonG,EAaApnG,EAAK,cAZLqnG,EAYArnG,EAAK,eAXLsnG,EAWAtnG,EAAK,WAVLunG,EAUAvnG,EAAK,YATLwnG,EASAxnG,EAAK,kBARLynG,EAQAznG,EAAK,WAPL0nG,EAOA1nG,EAAK,kBANL2nG,EAMA3nG,EAAK,aALL4nG,EAKA5nG,EAAK,cAJL6nG,EAIA7nG,EAAK,oBAHL8nG,GAGA9nG,EAAK,aAFL+nG,GAEA/nG,EAAK,oBADL4O,GACA5O,EAAK,SAEHgoG,GAAmBloG,EAAM6yB,WAAW,WAEpC,KAAgB7yB,EAAMuE,SAAe,MAAK,GAAzC4jG,GAAG,MAAEC,GAAM,MACZ,KAAsBpoG,EAAMuE,SAAe,MAAK,GAA/CshB,GAAM,MAAEwiF,GAAS,MAElBC,GAAetoG,EAAM0E,SAAQ,WAC/B,OAAK4uC,EAIEA,EAAO2O,QAA2B,SAACC,EAAK1O,GAC3C,OAAKA,GAIL0O,EAAItqC,KAAK,CAAC47B,EAAM8B,SAAU9B,EAAM+B,YAEzB2M,GALIA,CAMf,GAAG,IAXQ,EAYf,GAAG,CAAC5O,IAUEi1D,IAAsB,aAAKf,GAC3BgB,IAAwB,aAAKX,GAE7BY,GAAczoG,EAAM0E,SAAQ,WAC9B,IAAMgkG,EAAsE,GAqD5E,OAnDAp1D,SAAAA,EAAQh3B,SAAQ,SAACk3B,GACb,IAAM+B,EAAY/B,aAAK,EAALA,EAAO+B,UACnBD,EAAW9B,aAAK,EAALA,EAAO8B,SACxB,IAAI,aAASA,KAAa,aAASC,IAAc/B,EAAO,CACpD,IAAMm1D,EAA8D,CAChExlG,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACtzD,EAAWD,IAE7BwzD,WAAY,CACR3lG,KAAM,QACNqwC,MAAK,EACLu1D,cAAcv1D,aAAK,EAALA,EAAOh8B,QAAS,GAAK,IAI3CkxF,EAAS9wF,KAAK+wF,EAClB,CACJ,IAEIH,IACAE,EAAS9wF,KAAK,CACVzU,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACL,GAAsBtoF,IAAKsoF,GAAsBvoF,MAEnE6oF,WAAY,CACR3lG,KAAM,qBACNqwC,MAAOg1D,GACPV,eAAe,aAASA,GAAiBA,EAAgB,QAKjES,IACAG,EAAS9wF,KAAK,CACVzU,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACN,GAAoBroF,IAAKqoF,GAAoBtoF,MAE/D6oF,WAAY,CACR3lG,KAAM,mBACNqwC,MAAO+0D,GACPd,aAAa,aAASA,GAAeA,EAAc,QAKxDiB,CACX,GAAG,CAACp1D,EAAQi1D,GAAqBC,GAAuBV,EAAeL,IAEjEuB,GAAyBhpG,EAAM0E,SAAQ,WACzC,IAAMukG,EAAc,IAAI,UAAsCjC,GAE9D,OADAiC,EAAYC,KAAKT,IAAe,IACzBQ,CACX,GAAG,CAACR,KAEEU,GAAsBnpG,EAAM0E,SAAQ,WACtC,OAAImhB,GACiBmjF,GAAuBI,YAAYvjF,GAAOwjF,OAAQxjF,GAAOyjF,MAIvE,EACX,GAAG,CAACzjF,GAAQmjF,KAENvP,GAAe,WACjB,GAAI0O,GAAK,CACG,IAAAmB,EAASnB,GAAI5wF,IAAG,KAElBgyF,EAAQpB,GAAI5wF,IAAIiyF,YAEhBC,EAAYF,EAAMG,eAClBC,EAAYJ,EAAMK,eAExBvB,GAAU,CACNiB,KAAI,EACJD,OAAQ,CAACM,EAAUzpF,MAAOypF,EAAU1pF,MAAOwpF,EAAUvpF,MAAOupF,EAAUxpF,QAE9E,CACJ,EAwEM4pF,GAAqB7pG,EAAMkG,aAC7B,SAACka,GACW,IAAA7I,EAAc4wF,GAAG,IAAZ2B,EAAS3B,GAAG,KAEnB4B,EAAkBf,GAAuBgB,UAAU5pF,EAhO9C,MACA,GAiOLipF,EAAS,IAAIS,EAAKG,aAExBF,EAAgBztF,SAAQ,SAAC4tF,GACrB,IAAM12D,EAAQ,IAAIs2D,EAAKK,OAAOD,EAAQtB,SAASC,YAAY,GAAIqB,EAAQtB,SAASC,YAAY,IAE5FQ,EAAOe,OAAO52D,EAClB,IAEAj8B,EAAI8yF,UAAUhB,EAClB,GACA,CAAClB,GAAKa,KAGJsB,GAAkBtqG,EAAM0E,SAAQ,WAClC,OACI4iG,aAAa,EAAbA,EAAen2B,MAAK,SAAC9V,GACjB,OAAOA,aAAY,EAAZA,EAAct3D,OACzB,OAAM,CAEd,GAAG,CAACujG,IAEEiD,GACFD,KAAmBjvC,aAAY,EAAZA,EAAct3D,WAAW6jG,aAAiB,EAAjBA,EAAmB7jG,WAAWkkG,cAAmB,EAAnBA,GAAqBlkG,SAE7FmL,GACFhP,EAAMgP,WAAaq7F,KAAyB7C,aAAiB,EAAjBA,EAAmB3jG,WAAWgkG,aAAmB,EAAnBA,EAAqBhkG,SAEnG,OACI,gCACKmL,IAAa,gBAAC,UAAS,MACxB,gBAAC,UAAc,CACXs7F,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBxoG,QAAS,EAAAyoG,YACTC,kBAlN4B,SAAC5C,G,MACrCC,GAAOD,GAEC,IAAA5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEE,QAA3B,EAAAD,GAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,EA6MY0zF,UAAWxR,GACXyR,mBAAoBzR,GACpB0R,oCAAkC,GAEjChC,GAAoB5xF,KAAI,SAAC6zF,GACtB,GAAI,YAAaA,EAAQtC,WAAY,CACjC,IAMMzoF,EANiB2oF,GAAuBgB,UAC1CoB,EAAQtC,WAAWuC,WA7QxB,MACA,GAiR0C9zF,KAAI,SAAC+zF,GAC1C,OAAOA,EAAcxC,UACzB,IAEA,OACI,gBAAC,UAAoB,CACjBj2F,IAAK,kBAAWu4F,EAAQtC,WAAWuC,YACnCjrF,UAAWgrF,EAAQtC,WAAWuC,WAC9BnrF,IAAKkrF,EAAQxC,SAASC,YAAY,GAClC5oF,IAAKmrF,EAAQxC,SAASC,YAAY,GAClCxoF,kBAAmBA,EACnBF,eAAgB0pF,GAChBvpF,aAAcuF,GAAOyjF,KAAO,GAC5BlC,WAAYA,GAGxB,CAEA,OA9IiB,SAAC0B,GAC9B,OAAQA,EAAW3lG,MACf,IAAK,qBACD,OACI,gBAAC,UAAsB,CACnB0P,IAAK,6BAAsBi2F,EAAWhB,eACtCr7D,SAAU,EAAA+c,cAActlC,QACxBjE,IAAK6oF,EAAWt1D,MAAMvzB,IACtBC,IAAK4oF,EAAWt1D,MAAMtzB,IACtBwpC,UAAWo/C,EAAWt1D,MAAMkW,UAC5B77C,OAAQi7F,EAAWhB,gBAI/B,IAAK,mBACD,OACI,gBAAC,UAAsB,CACnBj1F,IAAK,2BAAoBi2F,EAAWrB,aACpCh7D,SAAU,EAAA+c,cAAcvlC,MACxBhE,IAAK6oF,EAAWt1D,MAAMvzB,IACtBC,IAAK4oF,EAAWt1D,MAAMtzB,IACtBwpC,UAAWo/C,EAAWt1D,MAAMkW,UAC5B77C,OAAQi7F,EAAWrB,cAI/B,IAAK,QACO,IAAAj0D,EAAuBs1D,EAAU,MAA1BC,EAAgBD,EAAU,YAEnCnoF,EAAYymF,GAAc,EAAAmE,2BAA2Bp8E,IAAIi4E,GAE/D,GAAmB,kBAAf5zD,EAAMrwC,MAA2C,oBAAfqwC,EAAMrwC,KACxC,OACI,gBAAC,UAAgB,CACb0P,IAAK,sBAAe2gC,EAAMrwC,KAAI,YAAIqwC,EAAMh8B,MAAK,YAAIuxF,GACjDnoG,UAAWf,EAAG,mBACdqgB,IAAKszB,EAAM+B,UACXt1B,IAAKuzB,EAAM8B,SACXl0C,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAK3E,IAAIX,EAAQ,EAAAqf,gBAAgB5H,KAS5B,MARmB,aAAf26B,EAAMrwC,OACN/B,EAAQ,EAAAqf,gBAAgB1e,UAGxB4e,IACAvf,EAAQ,EAAAqf,gBAAgB9J,WAIxB,gBAAC,UAAiB,CACd9D,IAAK,sBAAe2gC,EAAMh8B,MAAK,YAAIg8B,EAAMrwC,KAAI,YAAI4lG,GACjDnoG,UAAWf,EAAG,mBACduB,MAAOA,EACP8e,IAAKszB,EAAM+B,UACXt1B,IAAKuzB,EAAM8B,UAEVyzD,GAIb,QACI,OAAO,KAGnB,CA0EuByC,CAAyBJ,EAAQtC,WAC5C,KAEHzB,aAAM,EAANA,EAAQ9vF,KAAI,SAAC8uB,EAAOolE,G,YAAe,OAChC,gBAAC,UAAQ,CACL54F,IAAK,gBAAS44F,GACdl0F,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAuD,QAAtC,EAA2B,QAA3B,EAAAxD,GAAiBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SACzDhgD,UAAWviB,EACXjlC,MAAOmmG,EAAiB,EAAAqE,kBAAkBC,YAAc,EAAAD,kBAAkBE,UAC1EC,OAAQ,G,IAGf1lE,GACG,gBAAC,UAAQ,CACLxzB,IAAI,QACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAuD,QAAtC,EAA2B,QAA3B,EAAAxD,GAAiBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SACzDhgD,UAAWviB,EACXjlC,MAAOmmG,EAAiB,EAAAqE,kBAAkBC,YAAc,EAAAD,kBAAkBE,UAC1EC,OAAQ,IAGhB,gBAAC,UAAQ,CACLl5F,IAAI,cACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAuD,QAAtC,EAA2B,QAA3B,EAAAxD,GAAiBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SACzDhgD,UAAW++C,EACXvmG,MAAOmmG,EAAiB,EAAAqE,kBAAkBC,YAAc,EAAAD,kBAAkBE,UAC1EC,OAAQ,IAEZ,gBAAC,UAAQ,CACLl5F,IAAI,gBACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAuD,QAAtC,EAA2B,QAA3B,EAAAxD,GAAiBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SACzDhgD,UAAWo/C,GACX5mG,MAAOmmG,EAAiB,EAAAqE,kBAAkBC,YAAc,EAAAD,kBAAkBE,UAC1EC,OAAQ,IAEZ,gBAAC,UAAQ,CACLl5F,IAAI,cACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnCzjE,MAAOwhE,EACPzmG,MAAO,EAAAwqG,kBAAkBE,UACzBC,OAAQ,IAEZ,gBAAC,UAAQ,CACLl5F,IAAI,gBACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnCzjE,MAAOmhE,EACPpmG,MAAO,EAAAwqG,kBAAkBE,UACzBC,OAAQ,IAEZ,gBAAC,UAAQ,CACLl5F,IAAI,YACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnCxB,aAAcA,KAEjBx5F,GAGb,IAEA,UAAeq4F,C,4LC5Zf,eACA,WAEA,aAiCS,EAAAhhC,sBA7BqB,SAC1B/rD,EACAm3B,GAEA,IAAM9zB,EAAgBrD,EAAa,EAAAiwC,qBAAqB5sC,eAExD,MAAO,CACHuuF,WAAY5xF,EAAa,EAAAiwC,qBAAqB35C,YAASlK,EACvD8iB,OAAQlP,EAAa,EAAAiwC,qBAAqB/gC,cAAW9iB,EAErDogC,QAASxsB,EAAa,EAAAiwC,qBAAqBzjB,eAAYpgC,EAEvDiX,eAAe,aAASA,IAAkBA,OAAgBjX,EAE1D+W,YAAanD,EAAa,EAAAiwC,qBAAqB9sC,mBAAgB/W,EAE/DylG,cAAe7xF,EAAa,EAAAiwC,qBAAqB6hD,sBAAmB1lG,EACpE2lG,YAAa/xF,EAAa,EAAAiwC,qBAAqB+hD,uBAAoB5lG,EAEnE6lG,cAAejyF,EAAa,EAAAiwC,qBAAqBiiD,sBAAmB9lG,EACpE+lG,YAAanyF,EAAa,EAAAiwC,qBAAqBmiD,uBAAoBhmG,EAEnEimG,gBAAiBryF,EAAa,EAAAiwC,qBAAqBqiD,wBAAqBlmG,EACxEmmG,cAAevyF,EAAa,EAAAiwC,qBAAqBuiD,yBAAsBpmG,EAEvE+qC,MAAM,IAAAs7D,qBAAoBt7D,GAElC,C,oGClCA,eAEa,EAAAu7D,kBAAmF,CAC5FC,eAAgB,EAAAC,0BAA0BlnE,QAC1CmnE,aAAc,EAAAD,0BAA0BlsF,YACxCosF,kBAAmB,EAAAF,0BAA0B9rF,gBAC7CisF,yBAA0B,EAAAH,0BAA0BlnE,QACpDsnE,cAAe,EAAAJ,0BAA0B1rF,aACzC+rF,cAAe,EAAAL,0BAA0BlnE,QACzCwnE,aAAc,EAAAN,0BAA0BlnE,QACxCynE,WAAY,EAAAP,0BAA0BprF,UACtC4rF,gBAAiB,EAAAR,0BAA0BlrF,cAC3C2rF,cAAe,EAAAT,0BAA0B3rF,aACzCqsF,gBAAiB,EAAAV,0BAA0B5rF,e,4GCb/C,cAEA,WAMa,EAAAusF,0BAA4B,SACrCn0F,EACAuC,G,MAEQ2jE,EAAgB3jE,EAAI,YAEtB6xF,EAAsB,IAAI5+E,IAC5B0wD,EACKxwD,QAAO,SAACyxD,GACL,OAAOA,EAAWx9E,OAAS,EAAAmvE,kCAAkCC,QACjE,IACCh7D,KAAI,SAACopE,GAAe,OAAAA,EAAWv0E,EAAX,KAe7B,OAZgC,QAAhC,EAAAoN,EAAW,EAAA5Z,WAAWyqF,kBAAU,SAAE/tE,SAAQ,SAACuxF,GACvC,IAAMC,EAAgBD,EAAmB,EAAA7mB,mBAAmB8mB,eACxDA,GAAiBF,EAAoBz+E,IAAI2+E,IACzCF,EAAoBG,OAAOD,GAG/B,IAAM9gB,EAAiB6gB,EAAmB,EAAA7mB,mBAAmBgG,gBACzDA,GAAkB4gB,EAAoBz+E,IAAI69D,IAC1C4gB,EAAoBG,OAAO/gB,EAEnC,KAEI4gB,aAAmB,EAAnBA,EAAqBt3F,MACd,CAAC,EAGL,IACX,C,q7BCvCA,kBACA,cACA,cAEMzW,EAAK,UAAWC,KAAK,WAIrBkuG,EAAuChuG,EAAMC,MAAK,SAACC,GAC7C,IAAA4O,EAAa5O,EAAK,SAE1B,OAAO,uBAAKU,UAAWf,EAAG,kBAAmBiP,EACjD,IAEA,UAAek/F,C,0pCCdf,kBAEA,cACA,aACA,cAEA,WACA,WACA,cACA,cACA,cACA,cAEA,WACA,WACA,WACA,cACA,cACA,cACA,WACA,WACA,cAEMnuG,EAAK,UAAWC,KAAK,WAOrBmuG,EAA6CjuG,EAAMC,MAAK,SAACC,G,UACnDU,EAA0BV,EAAK,UAApByX,EAAezX,EAAK,WAE/Ba,GAAM,IAAAC,kBAAgB,EAExBs2F,GAAqB,IAAAC,yBAErB2W,GAAgC,IAAAzW,2BAA0B,CAC5DrL,uBAAsD,QAA9B,EAAAz0E,aAAU,EAAVA,EAAY00E,0BAAkB,eAAErtE,MACxD04E,wBAAwB,EACxBC,uBAAuB,IAGrBwW,GAA+B,IAAA1W,2BAA0B,CAC3DrL,uBAAsD,QAA9B,EAAAz0E,aAAU,EAAVA,EAAY00E,0BAAkB,eAAErtE,MACxD04E,wBAAwB,EACxBC,uBAAuB,IAGrByW,EAAoDpuG,EAAM0E,SAAQ,W,kBACpE,MAAO,C,OAEI4yF,EAAmB32C,UAAQ,CAC9B5pC,MAAOY,aAAU,EAAVA,EAAYgpC,SACnBxF,WAAYm8C,EAAmBO,0BAA0B,CAAC,aAAclgF,aAAU,EAAVA,EAAY20E,gB,OAGjFgL,EAAmBS,gBAAgBpgF,aAAU,EAAVA,EAAY8zE,MAAI,CACtD10E,MAAuB,QAAhB,EAAAY,aAAU,EAAVA,EAAYg0E,YAAI,eAAE1lE,UACzBk1B,WAAYm8C,EAAmBO,0BAA0B,CAAC,cAAelgF,aAAU,EAAVA,EAAY20E,cACrF3hC,KAAM2sC,EAAmBU,iBAAiC,QAAhB,EAAArgF,aAAU,EAAVA,EAAYg0E,YAAI,eAAEE,WAAYl0E,aAAU,EAAVA,EAAY20E,gB,OAGjFgL,EAAmBW,eAA+B,QAAhB,EAAAtgF,aAAU,EAAVA,EAAYipC,YAAI,eAAEs3C,WAAS,CAChEnhF,MAAuB,QAAhB,EAAAY,aAAU,EAAVA,EAAYipC,YAAI,eAAE36B,UACzBk1B,WAAYm8C,EAAmBO,0BAA0B,CAAC,QAASlgF,aAAU,EAAVA,EAAY20E,cAC/E3hC,KAAM2sC,EAAmBa,0BAA0C,QAAhB,EAAAxgF,aAAU,EAAVA,EAAYipC,YAAI,eAAEw3C,cAEzE8V,aAA6B,EAA7BA,EAA+B/rG,QACzB,EAAD,KACQm1F,EAAmB+W,gCAA8D,QAA9B,EAAA12F,aAAU,EAAVA,EAAY00E,0BAAkB,eAAErtE,QAAM,CAC5F2rC,KAAM,CACF,CACIA,KAAMujD,MAIlB,MACNC,aAA4B,EAA5BA,EAA8BhsG,QACxB,EAAD,KACQm1F,EAAmBgX,+BAA6D,QAA9B,EAAA32F,aAAU,EAAVA,EAAY00E,0BAAkB,eAAErtE,QAAM,CAC3F2rC,KAAM,CACF,CACIA,KAAMwjD,MAIlB,KAEd,GAAG,CAAC7W,EAAoB3/E,EAAYu2F,EAA+BC,IAE7DI,EAAmCvuG,EAAM0E,SAAQ,WACnD,MAAO,C,OAEI4yF,EAAmBxL,oBAAkB,CACxC/0E,MAAOY,aAAU,EAAVA,EAAYypC,aAG/B,GAAG,CAACk2C,EAAmBxL,mBAAoBn0E,aAAU,EAAVA,EAAYypC,aAEjD1f,GAAkB,IAAAC,sBAElB6sE,EAAyCxuG,EAAM0E,SAAQ,W,MACzD,OAA2B,QAAtB,EAAAiT,aAAU,EAAVA,EAAY82F,kBAAU,eAAEniB,cAItB30E,EAAW82F,WAAWniB,aAAa/0E,KAAI,SAACm3F,GAC3C,MAAO,CACHvuG,MACI,gBAAC,UAAqB,KAClB,gBAAC,UAAI,CACDwB,QAAS,WACL+/B,EAAgB,CACZv+B,KAAM,EAAA4hC,uBAAuB4pE,6BAE7BC,eAAgBxvF,OAAOsvF,EAAYtiG,KAE3C,EACAhL,MAAO,EAAA8mB,cAAcC,eAEpBumF,aAAW,EAAXA,EAAa51F,OAI1B+1F,KAAM,gBAAC,UAAU,CAAC1pG,MAAOupG,EAAYvpG,MAAO6wB,eAAgB04E,EAAY/4E,YAEhF,IAvBW,EAwBf,GAAG,CAAChe,EAAY+pB,IAEV/oB,EAAqC,QAArB,EAAAhB,aAAU,EAAVA,EAAYkR,iBAAS,eAAElQ,cACvCm2F,GAAsB,aAASn2F,KAC9BhB,aAAU,EAAVA,EAAYo3F,kBAAmB,IAAMp2F,EAAgB,EAAAs1E,SACtD,KAEN,OACI,uBAAKrtF,WAAW,aAAGf,EAAG,SAAUe,IAC5B,gBAAC,UAAkB,CACfA,UAAWf,EAAG,yBACdM,MAAOY,EAAE,6EACTN,UACIkX,EACI,wBAAM/W,UAAWf,EAAG,UAChB,gBAAC,UAAK,CAACmX,SAAU,EAAAC,aAAaC,IAAKJ,OAAQa,aAAU,EAAVA,EAAYo3F,kBACtD,KACD,gBAAC,UAAa,CACV3P,MAAO,CAAC,EAAArmF,aAAamrF,iBAAkB,EAAAnrF,aAAaC,wBACpDlW,MAAOgsG,I,KAIf,OAGZ,uBAAKluG,UAAWf,EAAG,wBACf,gBAAC,UAAY,CAAC8qD,KAAMyjD,KAExB,gBAAC,UAAkB,CAACjuG,MAAOY,EAAE,yEAC7B,uBAAKH,UAAWf,EAAG,wBACf,gBAAC,UAAY,CAAC8qD,KAAM4jD,KAEvB52F,EACG,gCACI,gBAAC,UAAkB,CACfxX,MAAOY,EAAE,wEAAyE,CAC9EgC,YAAa,WACbD,MAAO0rG,aAAiB,EAAjBA,EAAmBrsG,WAGlC,uBACIvB,UAAWf,EAAG,sBAAuB,CACjC,+BAA+B,KAGnC,gBAAC,UAAY,CAAC8qD,KAAM6jD,MAI5B,gBAAC,UAAkB,CACfruG,MAAOY,EAAE,mFAK7B,IAEA,UAAektG,C,0pCC1Lf,kBAEA,cACA,cACA,WACA,WACA,UACA,WACA,cACA,cACA,cACA,cAEA,WACA,cACA,cACA,UAIA,WACA,cACA,UACA,cACA,WAEMpuG,EAAK,UAAWC,KAAK,WAarBkvG,EAA+BhvG,EAAMC,MAAK,W,QACpCc,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eACXu6E,GAAe,IAAA/4F,aAAY,EAAAg5F,oBAE3BC,EAAkBnvG,EAAM6yB,WAAW,WAEnCu8E,EAA8D,QAAzC,EAAAD,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkBS,cAGzF,KADyB,IAAA3xE,aAAY,EAAAo5F,wBAEjC,OAAO,KAGX,IAAM5kG,EAAc,WAChB+pB,GAAS,IAAA1E,mBACb,EAEMlvB,EAAe,cAEf0uG,EAAgBN,EAAa,GA0O7BO,EAAmBD,EAxOG,SAACE,G,4CACnBC,EAAkB,CACpB5gG,SAAU/N,EAAE,iCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAGA,EAAY,OAC7Bc,QAAS+I,GAEPilG,EAAiB,IAEvB,IACI,IAAAC,wBAAuBH,EAAYxrG,SAClB,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAEd,QAAS,EAAA0sG,wBAAwBC,aAEpD,MAAO,CACHpuG,MAAOiuG,EACPxvG,MAAOY,EAAE,0CACT0X,QAAS1X,EAAE,gDACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCmxB,+BAElE,MAAO,CACHruG,MAAOiuG,EACPxvG,MAAOY,EAAE,iEACT0X,QAAS1X,EAAE,uEACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCoxB,oBAElE,MAAO,CACHtuG,MAAOiuG,EACPxvG,MAAOY,EAAE,mDACTsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCqxB,4BAElE,MAAO,CACHvuG,MAAOiuG,EACPxvG,MAAOY,EAAE,4DACTsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCsxB,wBAElE,MAAO,CACHxuG,MAAOiuG,EACPxvG,MAAOY,EAAE,wCACT0X,QAAS1X,EAAE,8CACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCuxB,gCAElE,MAAO,CACHzuG,MAAOiuG,EACPxvG,MAAOY,EAAE,+DACT0X,QAAS1X,EAAE,qEACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCwxB,kCAElE,MAAO,CACH1uG,MAAOiuG,EACPxvG,MAAOY,EAAE,iEACT0X,QAAS1X,EAAE,uEACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCyxB,6BAElE,MAAO,CACH3uG,MAAOiuG,EACPxvG,MAAOY,EAAE,6DACT0X,QAAS1X,EAAE,mEACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmC0xB,sBAElE,MAAO,CACH5uG,MAAOiuG,EACPxvG,MAAOY,EAAE,qDACT0X,QAAS1X,EAAE,2DACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmC2xB,uBACpE,CACE,IAAMC,KAAwD,QAAtC,EAA+B,QAA/B,EAAAf,EAAYxrG,MAAMwsG,qBAAa,eAAEtqG,aAAK,eAAEuqG,cAEhE,MAAO,CACHhvG,MAAOiuG,EACPxvG,MAAOY,EACHyvG,EACM,oDACA,oDAEV/3F,QAAS1X,EACLyvG,EACM,0DACA,0DAEVnkG,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,GAElB,CAEA,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmC+xB,oCAElE,MAAO,CACHjvG,MAAOiuG,EACPxvG,MAAOY,EAAE,2DACT0X,QAAS1X,EAAE,iEACXsL,KAAM,gBAAC,UAAY,MACnBwC,QAAS,CAAC6gG,IAIlB,IACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC3C,IAAA2sG,iCACInB,EAAYxrG,MACZ,EAAA26E,mCAAmCiyB,+BAEzC,CACE,IAAMC,GAA8D,QAA/C,EAA2B,QAA3B,EAAiB,QAAjB,EAAArB,EAAYxrG,aAAK,eAAEqJ,gBAAQ,eAAEyjG,0BAAkB,eAAEvhF,KAAK,QAAS,GAEpF,MAAO,CACH9tB,MAAOiuG,EACPxvG,MAAOY,EAAE,4DACT0X,QAAS1X,EAAE,iEAAkE,CAAE+vG,aAAY,IAC3FzkG,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,GAElB,CAEA,OACI,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC3C,IAAA2sG,iCACInB,EAAYxrG,MACZ,EAAA26E,mCAAmCoyB,qCAGjCF,GAA8D,QAA/C,EAA2B,QAA3B,EAAiB,QAAjB,EAAArB,EAAYxrG,aAAK,eAAEqJ,gBAAQ,eAAEyjG,0BAAkB,eAAEvhF,KAAK,QAAS,GAE7E,CACH9tB,MAAOiuG,EACPxvG,MAAOY,EAAE,4DACT0X,QAAS1X,EAAE,iEAAkE,CAAE+vG,aAAY,IAC3FzkG,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,MAKd,IAAAhxB,gCAA+B+wB,EAAYxrG,SAC1B,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCqyB,aAE3D,CACHvvG,MAAOiuG,EACPxvG,MAAOY,EAAE,2CACT0X,QAAS1X,EAAE,iDACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CAAC6gG,IAIX,CACHhuG,MAAOiuG,EACPxvG,MAAOY,EAAE,6CACT0X,QAAS1X,EAAE,mDACXsL,KAAM,gBAAC,UAAc,MACrBwC,QAAS,CACL6gG,EACA,CACI5gG,SAAU/N,EAAE,8CACZK,MAAO,EAAA2N,gBAAgB6E,YACvB/S,aAAc,UAAGA,EAAY,YAC7Bc,QAAS,WACL+I,IAEI41C,OAAO4wD,mBACP5wD,OAAO4wD,mBAEf,IAIhB,CAEyCC,CAAoB5B,GAAiB,KACxE6B,IAAqB7B,GAxQC,SAACE,G,UAC7B,OACI,IAAA/wB,gCAA+B+wB,EAAYxrG,UACzB,QAAjB,EAAAwrG,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCsxB,0BAC9C,QAAjB,EAAAT,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCwxB,oCACjD,QAAjB,EAAAX,EAAYxrG,aAAK,eAAE06E,WAAY,EAAAC,mCAAmCuxB,gCAE9E,CAiQ+CkB,CAAwB9B,GAE7D+B,EAAyD,QAAzC,EAAAnC,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkBQ,aAE9E1oE,EACF,gCACKswF,GAAoB,gBAAC,UAAW,KAAKA,IACrC8B,GACG,uBAAK1wG,UAAWf,EAAG,aACdovG,EAAa13F,KAAI,SAACg6F,EAAUC,GACzB,OAAO,gBAAC,UAAY,CAACD,SAAUA,EAAU1+F,IAAK2+F,GAClD,KAGPpC,GACG,uBAAKxuG,UAAWf,EAAG,SACdovG,EAAa13F,KAAI,SAACg6F,EAAUC,GACzB,OAAO,gBAAC,UAAY,CAACD,SAAUA,EAAU1+F,IAAK2+F,GAClD,MAMhB,OAAIJ,EACO,uBAAKxwG,UAAWf,EAAG,qBAAsBqf,GAIhD,gBAAC,UAAK,KACF,gBAAC,UAAY,CAACxe,QAASgK,EAAa7J,aAAcA,GAC7Cqe,GAIjB,IAEA,UAAe8vF,C,uKC3Uf,eAEa,EAAAyC,wBAA0B,GAE1B,EAAAC,gBAAkB,EAAAC,UAAY,EAAAF,wBAE9B,EAAAG,YAAc,EAAAvyD,WACd,EAAAwyD,YAAc,EAAAH,gBAId,EAAAI,cAAgB,EAAAD,YAAc,EAAAD,aAFnB,C,0uCCTxB,eACA,WAEA,WACA,UAIA,WACA,WACA,WACA,WAEA,SAAUG,EAAcluG,G,wDAEpB,OADsB,IAAAmuG,YAAWnuG,EAAOV,OAKlC8uG,GAAc,IAAAC,wBAAuBruG,IAGtC,IAAAsuG,qBAAoBF,KAAgBA,aAAW,EAAXA,EAAa9uG,QAAS,EAAAivG,kBAAkBC,uBAC5E,IAAAzC,wBAAuBqC,KAAgBA,aAAW,EAAXA,EAAa9uG,QAAS,EAAA0sG,wBAAwBn2E,aAEtF,IAAM,IAAA1sB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBG,aAC1B/sB,KAAM,CAAC,OAPnB,OANA,I,OAiBA,OARA,SAQA,I,eAgBA,IAAA+xE,gCAA+BuzB,KAC9BA,aAAW,EAAXA,EAAatzB,WAAY,EAAAC,mCAAmC2zB,oBACzDN,aAAW,EAAXA,EAAatzB,WAAY,EAAAC,mCAAmC4zB,eAC5DP,aAAW,EAAXA,EAAatzB,WAAY,EAAAC,mCAAmC6zB,gBAHhE,MAKA,IAAM,IAAAC,e,OAAN,S,+BASR,UAJA,W,kDACI,UAAM,IAAAjlG,WAAU,IAAKskG,I,cAArB,S,67BC5DJ,kBACA,cACA,aAEA,cACA,cACA,cAEMlyG,EAAK,UAAWC,KAAK,WAOrB6yG,EAAwC3yG,EAAMC,MAAK,SAACC,G,MAC9CU,EAAsBV,EAAK,UAAhB2zB,EAAW3zB,EAAK,OAI7B0yG,GAAwC,QAApB,EAFV5yG,EAAM6yB,WAAW,WAECggF,oBAAY,eAAE1tG,QAAS,EAEzD,OACI,gBAAC,UAAU,CACP0uB,OAAQA,EACRjzB,WAAW,aAAGf,EAAG,eAAgBe,GACjCyH,MAAO,CACH0D,IAAK,UAAG6mG,EAAiB,QAIzC,IAEA,UAAeD,C,q7BCjCf,kBACA,WACA,cACA,cAGA,cAIMG,EAA2C9yG,EAAMC,MAAK,SAACC,G,MACjD4O,EAAa5O,EAAK,SAElBa,GAAM,IAAAC,kBAAgB,EAExBi/C,EAA2BjgD,EAAM6yB,WAAW,WAE9CszD,EAAkC,KAEhC4sB,KAA4D,QAAzC,EAAA9yD,aAAwB,EAAxBA,EAA0B+yD,uBAAe,eAAEttG,YAKpE,OAJIqtG,IACA5sB,EAAiBplF,EAAE,uCAInB,gBAAC,UAAa,CACVwB,SAAUwwG,EACVxxG,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD0xE,IAIRr3E,EAGb,IAEA,UAAegkG,C,+BCrCf,WAAgB,QAAU,uCAAuC,OAAS,sCAAsC,qBAAqB,kDAAkD,eAAe,4CAA4C,wBAAwB,qDAAqD,wBAAwB,qDAAqD,qBAAqB,kDAAkD,qBAAqB,kDAAkD,6BAA6B,0DAA0D,iCAAiC,8DAA8D,UAAY,yCAAyC,OAAS,sCAAsC,SAAW,wC,0GCClzB,EAAA1mE,0BAA4B,SAAIptB,EAAiBtb,GAC1D,IAAMuvG,GAAWvvG,aAAa,EAAbA,EAAeU,MAAMV,aAAa,EAAbA,EAAeO,OAGrD,OAFiB+a,EAAM7c,QAEL8wG,CACtB,C,kYCPA,eAOA,cAEMxvG,EAAmC,CACrCq2E,aAAc,KACdo5B,oBAAqB,UAAcvvG,SAGvC,mBAAgBC,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAgwG,4BACD,OAAO,EAAP,KACOvvG,GAAK,CACRsvG,oBAAqB,UAAcnvG,UAI3C,KAAK,EAAAqvG,8BACO,IAAAt5B,EAAiBj2E,EAAM,aAE/B,OAAO,EAAP,KACOD,GAAK,CACRk2E,aAAY,EACZo5B,oBAAqB,UAAc9uG,KAI3C,KAAK,EAAAivG,4BACO,IAAApvG,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACRsvG,oBAAqB,UAAchvG,SAASD,KAIpD,QACI,OAAOL,EAGlB,C,u7BC9CD,kBACA,cACA,YACA,WAQM0vG,IAAe,MAChB,EAAAnzC,8BAA8B52B,QAAS,EAAA11B,mBAAmB9R,SAC3D,EAAC,EAAAo+D,8BAA8BrK,WAAY,EAAAjiD,mBAAmBK,KAC9D,EAAC,EAAAisD,8BAA8B/zC,SAAU,EAAAvY,mBAAmBK,KAC5D,EAAC,EAAAisD,8BAA8Bh0C,SAAU,EAAAtY,mBAAmBK,K,GAG1Dq/F,EAAgB,EAAA1/F,mBAAmBK,KAEnCs/F,EAAoCxzG,EAAMC,MAAK,SAACC,GAC1C,IAAA40F,EAA0C50F,EAAK,WAAnC60F,EAA8B70F,EAAK,kBAAhBopB,EAAWppB,EAAK,OAEvD,KAAK,aAAS40F,MAAgB,aAASC,GACnC,OAAO,KAGX,IAAM3zF,EAAQkoB,EAASgqF,EAAgBhqF,GAAUiqF,EAEjD,OAAO,gBAAC,UAAS,CAAC/+F,eAAa,EAACpT,MAAOA,GAAQ,UAAG0zF,EAAU,YAAIC,GACpE,IAEA,UAAeye,C,q7BChCf,kBAEA,cACA,cACA,aACA,cACA,WACA,WACA,cAOMC,GAJK,UAAW3zG,KAAK,WAIkBE,EAAMC,MAAK,WAC5C,IAAAsD,GAAc,eAAmB,UAGnCsxB,GADqB,IAAA3e,aAAY,EAAA4e,0BACGvxB,IAA4B,KAEtE,OACI,gBAAC,UAAc,KACX,gBAAC,UAAO,CAACwxB,gBAAiBF,aAAc,EAAdA,EAAgBG,SAGtD,KAEA,UAAey+E,C,q7BC5Bf,kBACA,WACA,WACA,cACA,cACA,cACA,cASMC,EAA0C1zG,EAAMC,MAAK,SAACC,GAChD,IAAAU,EAAuBV,EAAK,UAAjByB,EAAYzB,EAAK,QAE5Ba,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAO,CACJC,SAAU,EAAAC,oBAAoB0B,WAC9BxB,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE,6DAIV,WAAM,OACH,gBAAC,UAAkB,CACfH,UAAWA,EACX+yG,OAAO,IACPhyG,QAASA,EACTC,SAAU,gBAAC,UAAU,CAACC,UAAW,EAAAC,qBAAqBkS,YACtDhS,gBAAiB,EAAAC,oBAAoB2xG,sBANtC,GAWnB,IAEA,UAAeF,C,+BC1Cf,WAAgB,WAAW,iCAAiC,OAAS,+BAA+B,SAAW,iC,0pCCD/G,kBACA,WAEA,cACA,cACA,WACA,WACA,WACA,WACA,cAkBM7zG,EAAK,UAAWC,KAAK,WAIrB+zG,EAA8B7zG,EAAMC,MAAK,SAACC,GAExC,IAAA+4E,EAUA/4E,EAAK,aATL6F,EASA7F,EAAK,OARL4zG,EAQA5zG,EAAK,YAPL6zG,EAOA7zG,EAAK,gBANL4sB,EAMA5sB,EAAK,KALL8zG,EAKA9zG,EAAK,WAJL+zG,EAIA/zG,EAAK,YAHLg0G,EAGAh0G,EAAK,oBAFLi0G,EAEAj0G,EAAK,wBADLy8C,EACAz8C,EAAK,SAEDa,GAAM,IAAAC,kBAAgB,EAExBozG,GAAW,IAAA1vG,UAAQ,WACrB,OAAKooB,EAIDonF,GACO,IAAAx7D,yBAAwB33C,EAAG+rB,GAGlCqnF,GACO,IAAAE,6BAA4BtzG,EAAG+rB,IAGnC,IAAAw8D,YAAW0qB,GA/BN,cA+BiClnF,GAXlC,IAYf,GAAG,CAAC/rB,EAAG+rB,EAAMknF,EAAYE,EAAqBC,IAExCG,EAAiC,CAAC,EACpCP,GAAmBhuG,IACnBuuG,EAAU3yG,QAAU,WAAM,OAAAoyG,EAAgBhuG,EAAQ42C,EAAxB,GAE1Bm3D,GAAe/tG,IACfuuG,EAAUlsF,GAAK0rF,EAAY/tG,IAG/B,IAAIwuG,EAA4B,KAYhC,OAVI53D,IAAa,EAAA1b,aAAauzE,gBAC1BD,EAAW,uBAAK3zG,UAAWf,EAAG,SAAUkB,EAAE,uBACnCgF,IACPwuG,EACI,gBAAC,UAAa,KAAKD,EAAS,CAAElzG,MAAO,EAAA8mB,cAAcC,gBAC9C8wD,IAMT,gCACI,uBACIr4E,UAAWf,EAAG,OAAQ,CAClB,oBAAqBo0G,KAGxBG,EACAG,GAIjB,IAEA,UAAeV,C,q7BCjGf,kBACA,cAEA,cACA,WACA,cAEA,cACA,YAEMh0G,EAAK,UAAWC,KAAK,WASrB20G,EAAuFz0G,EAAMC,MAAK,SAACC,GAC7F,IAAAs4E,EAA4Dt4E,EAAK,YAApDw4E,EAA+Cx4E,EAAK,cAArCu+D,EAAgCv+D,EAAK,WAAzBw+D,EAAoBx+D,EAAK,gBAEzE,OACI,uBAAKU,UAAWf,EAAG,SACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,yEACRE,WAAY,CACR+nE,YAAa,gBAAC,UAAuB,CAACG,eAAa,EAACH,YAAaA,IACjEI,YAAa,gBAAC,UAAW,CAAC/qE,OAAQ6qE,IAClCrkB,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,OAKhD,IAEA,UAAe+1C,C,kYCpCf,eACA,WAGMxxF,GAAkB,EAFxB,YAEwB,SAAmB,CAAC,EAAArjB,WAAWyyB,MAAO,EAAAzyB,WAAW2yB,KAAM,EAAA3yB,WAAW4yB,MAU1F,UARiB,SAACzxB,EAAcia,GAK5B,OAJY,MACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,GAI7C,C,w8BCbA,IAeY7L,EAfZ,cAEA,WACA,cACA,cACA,SACA,cACA,WACA,cACA,UACA,cACA,cAEMtP,EAAK,UAAWC,KAAK,YAE3B,SAAYqP,GACR,gBACA,eACH,CAHD,CAAYA,IAAO,UAAPA,EAAO,KAKnB,IAAMkvC,IAAW,MACZlvC,EAAQqkE,OAAQ,0BACjB,EAACrkE,EAAQulG,OAAQ,0B,GAGfC,EAAuB,CAACxlG,EAAQqkE,MAAOrkE,EAAQulG,OAM/CE,EAAmC50G,EAAMC,MAAK,SAAC,G,IAAE40G,EAAS,YACpD9zG,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAQ,CAACJ,UAAWf,EAAG,QAASyW,KAAM,EAAA1G,iBAAiBu8B,QACnD,aAAIwoE,GAAW,SAACthG,GAAQ,OACrB,gBAAC,UAAQ,CACLm6C,WAAS,EACT36C,IAAKQ,EACLiD,KAAM,EAAA1G,iBAAiBu8B,MACvB/qC,MAAO,EAAAuO,eAAezN,MACtBP,QAAS,WACD0R,IAAQlE,EAAQqkE,MAChB,UAAQ57D,KAAK,aAAiBk9F,oBACvBzhG,IAAQlE,EAAQulG,MACvB,UAAQ98F,KAAK,aAAiBm9F,gBAE9B,IAAAngF,YAAW,cAEnB,EACAryB,SAAU8Q,IAAQwhG,GAEjB9zG,EAAEs9C,EAAYhrC,IAjBE,IAsBrC,IAEA,UAAeuhG,C,0pCC5Df,kBACA,WAEA,cACA,aACA,cACA,WACA,cACA,cACA,cACA,cACA,WACA,cAEM/0G,EAAK,UAAWC,KAAK,WAErBk1G,EACM,SADNA,EAEW,cAaXC,EAAkDj1G,EAAMC,MAAK,SAACC,G,gBACxDk1C,EAAsCl1C,EAAK,cAA5B01C,EAAuB11C,EAAK,mBAE7CgoG,EAAmBloG,EAAM6yB,WAAW,WAQpCqiF,GAAyB,IAAAxwG,UAAQ,WACnC,IAAIywG,EAAgC,KAEpC,OAAKv/D,aAAkB,EAAlBA,EAAoBpC,OAIzB2hE,EAAc,CACVl1F,IAAK21B,EAAmBpC,MAAMvzB,IAC9BC,IAAK01B,EAAmBpC,MAAMtzB,KALvBi1F,CASf,GAAG,CAACv/D,IAEEw/D,GAAoB,IAAA1wG,UAAQ,WAC9B,IAAIywG,EAAgC,KAEpC,OAAK//D,aAAa,EAAbA,EAAe5B,OAIpB2hE,EAAc,CACVl1F,IAAKm1B,EAAc5B,MAAMvzB,IACzBC,IAAKk1B,EAAc5B,MAAMtzB,KALlBi1F,CASf,GAAG,CAAC//D,IAEEkzD,EAAetoG,EAAM0E,SAAQ,WAC/B,MAAO,CACH,CAAC0wG,aAAiB,EAAjBA,EAAmBn1F,IAAKm1F,aAAiB,EAAjBA,EAAmBl1F,KAC5C,CAACg1F,aAAsB,EAAtBA,EAAwBj1F,IAAKi1F,aAAsB,EAAtBA,EAAwBh1F,KAE9D,GAAG,CAACg1F,EAAwBE,IAE5B,OACI,uBAAKx0G,UAAWf,EAAG,QACf,gBAAC,UAAc,CACX2qG,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBxoG,QAAS,EAAAyoG,YACTC,kBAlD4B,SAAC5C,G,MAC7B5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEE,QAA3B,EAAAD,EAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,GAgDa29F,GACG,gBAAC,UAAkB,GACfriG,IAAKmiG,EACLp0G,UAAWf,EAAG,WACVq1G,IAIXE,GACG,gBAAC,UAAa,GAACviG,IAAKmiG,EAAqBp0G,UAAWf,EAAG,WAAeu1G,QAG3Ex/D,aAAkB,EAAlBA,EAAoBJ,WAAY0/D,GAC/B,gBAAC,UAAO,CACJriG,IAAK,UAAGmiG,EAAwB,SAChCz9F,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnC1oG,MAAO,EAAAi0G,iBAAiBC,gBACxBC,UAAWL,EAAuBj1F,IAClCu1F,UAAWN,EAAuBh1F,IAClCu1F,QAAS7/D,EAAmBJ,SAAW,EAAAy4C,aAG5C74C,aAAa,EAAbA,EAAeI,WAAY4/D,GAC1B,gBAAC,UAAO,CACJviG,IAAK,UAAGmiG,EAAmB,SAC3Bz9F,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnC1oG,MAAO,EAAAi0G,iBAAiBK,WACxBH,UAAWH,EAAkBn1F,IAC7Bu1F,UAAWJ,EAAkBl1F,IAC7Bu1F,QAASrgE,EAAcI,SAAW,EAAAy4C,UAG1C,gBAAC,UAAQ,CACL12E,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnCxB,aAAcA,IAI9B,IAEA,UAAe2M,C,kYCnIf,eAOA,cACA,cAEMxxG,EAA0C,CAC5CkyG,cAAe,CAAC,EAChB5nE,QAAS,UAAcpqC,SAG3B,mBAAgBC,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAyyG,oCACD,OAAO,EAAP,KACOhyG,GAAK,CACRmqC,QAAS,UAAchqC,UAI/B,KAAK,EAAA8xG,sCACO,IAAAlrD,EAAS9mD,EAAM,KAEjB8xG,GAAgB,aAAMhrD,EAAM,WAElC,OAAO,EAAP,KACO/mD,GAAK,CACR+xG,cAAa,EACb5nE,QAAS,UAAc3pC,KAI/B,KAAK,EAAA0xG,oCACO,IAAA7xG,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACRmqC,QAAS,UAAc7pC,SAASD,KAIxC,QACI,OAAOL,EAGlB,C,q7BCjDD,kBAEA,cACA,cACA,cASMmyG,GANK,UAAWj2G,KAAK,WAMmBE,EAAMC,MAAK,SAACC,GAC9C,IAAA60C,EAAsB70C,EAAK,kBAEnC,OAAO,gBAAC,UAAkB,CAAC60C,kBAAmBA,GAClD,KAEA,UAAeghE,C,+BClBf,WAAgB,KAAO,iCAAiC,SAAW,qCAAqC,OAAS,mCAAmC,SAAW,qC,q7BCD/J,kBACA,WACA,cACA,cACA,cACA,cACA,WACA,YACA,WACA,WACA,UACA,WAOMl2G,EAAK,UAAWC,KAAK,WAErBk2G,EAA4Ch2G,EAAMC,MAAK,SAACC,GAClD,IAAAimC,EAAoBjmC,EAAK,gBAEzBa,GAAM,IAAAC,kBAAgB,EAExB2Z,GAAS,IAAAgY,oBAETyT,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,EAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YAErFo+B,GAAW,IAAAE,mBAAkB9rB,EAAOK,OAAQorB,GAC5Cj+B,GAAa,IAAAs+B,mBAAkB9rB,EAAOK,OAAQwrB,GAEpD,OACI,gBAAC,UAAa,CACVn6B,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C1P,MAAOlG,EAAE,sDACT2lC,SACI,gBAAC,UAAS,CAAC9lC,UAAWf,EAAG,iBAAkB2U,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC9E,IAAA4kC,oBAAmBx+B,aAAU,EAAVA,EAAYD,MAAOC,aAAU,EAAVA,EAAY8D,MAG3D9G,MAAOohC,aAAQ,EAARA,EAAUK,SAG7B,IAEA,UAAeovE,C,q8DCrDf,eAIA,WACA,cAIa,EAAAC,yBAA2B,SAACC,GACrC,IAAMC,GAAoD,IAAAjwG,cAAY,qD,4DAClE,OAAKgwG,aAAc,EAAdA,EAAgB/zG,SAIfi0G,EAAWF,EAAe3+F,KAAI,SAAC8+F,GACjC,OAAO,UAAkB1hF,oBAAoB0hF,EACjD,IAEgB,GAAMpxD,QAAQqxD,IAAIF,KAPvB,CAAC,EAAD,CAAC,KAAM,O,OA2BlB,OApBMG,EAAU,SAEVC,GACFD,aAAO,EAAPA,EAASt0D,QAAuB,SAACC,EAAK,G,MAAGv1C,EAAH,OAAO,GACzC,OAAKA,aAAI,EAAJA,EAAMP,KAIX81C,EAAItqC,KAAK,CACLxL,GAAIO,aAAI,EAAJA,EAAMP,GACV0M,KAAMnM,aAAI,EAAJA,EAAMmM,KACZjL,OAAQlB,aAAI,EAAJA,EAAMkB,OACdwjB,aAA+B,QAAlB,EAAA1kB,aAAI,EAAJA,EAAM8pG,oBAAY,eAAE7vF,UAAW,OAGzCs7B,GAVIA,CAWf,GAAG,MAAO,GAIP,CAAP,EAFmD,CAAC,KAAMs0D,I,SAG3D,CAACN,IAEE,GAAqC,IAAAQ,4BAAoC,CAC3EP,mBAAkB,IAGtB,MAAO,CACH9W,YALe,cAMfC,kBANkC,oBAQ1C,C,sGCjDA,eAEa,EAAAn9D,oBAAsB,SAC/BskD,EACAplD,IAEA,IAAAj2B,YAAU,WAGN,OAFAq7E,EAAQrlD,UAAUC,GAEX,WACHolD,EAAQnlD,YAAYD,EACxB,CAEJ,GAAG,CAACA,GACR,C,+BCdA,WAAgB,QAAU,wCAAwC,OAAS,uCAAuC,SAAW,yC,+BCA7H,WAAgB,SAAW,kCAAkC,QAAU,iCAAiC,OAAS,gCAAgC,kBAAoB,2CAA2C,kBAAkB,yCAAyC,OAAS,gCAAgC,SAAW,kC,63BCD/T,kBACA,WACA,WAOa,EAAAs1E,eAAY,MACpB,EAAAC,kBAAkBC,OAAQ,8BAC3B,EAAC,EAAAD,kBAAkBxtG,MAAO,6BAC1B,EAAC,EAAAwtG,kBAAkBhQ,MAAO,6BAC1B,EAAC,EAAAgQ,kBAAkB/P,MAAO,6BAC1B,EAAC,EAAA+P,kBAAkB9P,eAAgB,sC,GAGvC,IAAMgQ,EAAkC92G,EAAMC,MAAK,SAACC,GACxC,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAA41G,aAAartF,IAHX,IAIf,IAEA,UAAewtF,C,q7BC7Bf,kBACA,cAEA,cACA,WACA,cAEMj3G,EAAK,UAAWC,KAAK,WAMrBi3G,EAA4D/2G,EAAMC,MAAK,SAACC,GAClE,IAAAkM,EAAOlM,EAAK,GAEpB,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,wDACRE,WAAY,CACRrE,GAAI,gBAAC,UAAqB,CAACA,GAAIA,OAKnD,IAEA,UAAe2qG,C,m5BC5Bf,kBACA,WASMC,EAAoC,SAAC92G,GAC/B,IAAAoW,EAA4CpW,EAAK,KAA3CU,EAAsCV,EAAK,UAAhC2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAEzD,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAY3Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAM9E,KAAM7K,EAAW4P,EAAE,0BACzB,wBACI/E,KAAMkK,EACNnF,EAAE,i1BAKtB,EAEAulG,EAAgBhlG,YAAc,kBAE9B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAsE7B,EAAA1E,WAAAA,EAhEI,EAAA8O,wBAA0B,SACnC6K,GASA,OAAQA,GACJ,IAAK,WA4BL,IAAK,sBAOL,IAAK,4BACD,MAAO,CACHtV,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAhC1C,IAAK,oBAcL,IAAK,oBACD,MAAO,CACHL,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,OAkB1C,QACI,MAAO,CACHwO,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBI,OAIlD,EAGA,UAAe80G,C,2LCrGf,eACA,WACA,WACA,WACA,cAIa,EAAAC,qBAAuB,SAACt8F,GACjC,IAAM6sB,GAAU,IAAAtxB,aAAY,EAAAi0C,eACtB+sD,GAAiB,IAAAhhG,aAAY,EAAAihG,sBAE7BjtD,EAAiBvvC,EAAOK,OAAO,EAAApb,WAAWkoC,SAEhD,IAAA18B,YAAU,WACD8rG,EAAe9yG,MAIO,aAAKojC,aAAO,EAAPA,EAASG,eAAe,SAACyiB,GACrD,OAAOA,EAAKh+C,KAAO89C,CACvB,KAGIvvC,EAAOsB,cAAc,EAAArc,WAAWkoC,OAAQ,MAGhD,GAAG,CAACovE,EAAgB1vE,GACxB,C,+BC5BA,WAAgB,OAAS,oCAAoC,MAAQ,mCAAmC,OAAS,oCAAoC,SAAW,sC,qgBCDhK,eAsCa,EAAA7S,oBAAsB,SAAC3vB,GAAsD,OACtF7B,KAAM,EAAAsxE,8BACNzvE,UAAS,EAF6E,EAK7E,EAAA6tE,yBAA2B,WAAuC,OAC3E1vE,KAAM,EAAAi0G,oCADqE,EAIlE,EAAArkC,2BAA6B,SACtCl+C,GACoC,OACpC1xB,KAAM,EAAAk0G,sCACNxiF,eAAc,EAFsB,EAK3B,EAAAi+C,yBAA2B,SAAC7uE,GAAkD,OACvFd,KAAM,EAAAm0G,oCACNrzG,MAAK,EAFkF,EAK9E,EAAAovE,qBAAuB,SAChCruE,EACAxB,EACA0vE,GAC8B,OAC9B/vE,KAAM,EAAAuxE,+BACNxB,sBAAqB,EACrB1vE,YAAW,EACXwB,UAAS,EAJqB,EAOrB,EAAAouE,0BAA4B,WAAwC,OAC7EjwE,KAAM,EAAAo0G,qCADuE,EAIpE,EAAAhkC,4BAA8B,SAAC1+C,GAAwE,OAChH1xB,KAAM,EAAAq0G,uCACN3iF,eAAc,EAFkG,EAKvG,EAAAy+C,0BAA4B,SAACrvE,GAAmD,OACzFd,KAAM,EAAAs0G,qCACNxzG,MAAK,EAFoF,EAKhF,EAAAyzG,qBAAuB,SAChC1yG,EACAoL,GAC8B,OAC9BjN,KAAM,EAAAwxE,+BACNf,UAAU,EACV5uE,UAAS,EACToL,YAAW,EAJmB,EAOrB,EAAAunG,uBAAyB,SAClC3yG,EACAoL,GAC8B,OAC9BjN,KAAM,EAAAwxE,+BACNf,UAAU,EACV5uE,UAAS,EACToL,YAAW,EAJmB,EAOrB,EAAAyjE,0BAA4B,WAAwC,OAC7E1wE,KAAM,EAAAy0G,qCADuE,EAIpE,EAAA3jC,4BAA8B,WAA0C,OACjF9wE,KAAM,EAAA00G,uCAD2E,EAIxE,EAAA7jC,0BAA4B,SAAC/vE,GAAmD,OACzFd,KAAM,EAAA20G,qCACN7zG,MAAK,EAFoF,EAKhF,EAAAqwE,cAAgB,SAACtvE,GAA8C,OACxE7B,KAAM,EAAAyxE,qBACNT,QAAQ,EACRnvE,UAAS,EAH+D,EAM/D,EAAAqvE,YAAc,SAACrvE,GAA8C,OACtE7B,KAAM,EAAAyxE,qBACNT,QAAQ,EACRnvE,UAAS,EAH6D,EAM7D,EAAAovE,iBAAmB,WAA+B,OAC3DjxE,KAAM,EAAA40G,2BADqD,EAIlD,EAAAvjC,mBAAqB,WAAiC,OAC/DrxE,KAAM,EAAA60G,6BADyD,EAItD,EAAAzjC,iBAAmB,SAACtwE,GAA0C,OACvEd,KAAM,EAAA80G,2BACNh0G,MAAK,EAFkE,C,8lCCzI3E,kBACA,WAMMi0G,EAA4B,SAACh4G,GACvB,IAAA0W,EAAgB1W,EAAK,YAE7B,OACI,yBAAKwB,MAAO,GAAIsK,OAAQ,GAAIsF,MAAM,8BAAiCpR,GAC/D,wBAAMuR,EAAE,mCAAmC/E,KAAMkK,EAAapF,SAAS,YAGnF,EAEA0mG,EAAQlmG,YAAc,UAEtB,IAAMC,EAAqB,CACvB2E,YAAa,EAAA9U,qBAAqB+W,MAG7B,EAAA5G,WAAAA,EACT,UAAeimG,C,+BCvBf,WAAgB,YAAc,mCAAmC,OAAS,8BAA8B,SAAW,gC,+BCAnH,WAAiB,C,+BCAjB,WAAgB,OAAS,6CAA6C,OAAS,6CAA6C,SAAW,+C,sBCDvI,IAAYn0F,E,4EAAZ,SAAYA,GACR,gBACA,gBACA,mBACH,CAJD,CAAYA,IAAiB,oBAAjBA,EAAiB,I,umDCgIpB,EAAAo0F,+BANT,SAAyCtrG,G,kDACrC,UAAM,IAAAY,WAAU,EAAA2qG,gCAAgCj1G,KAAMk1G,EAAuCxrG,K,OAC7F,OADA,SACA,IAAM,IAAAY,WAAU,EAAA6qG,0BAA0Bn1G,MA/BnC,SAAWU,G,oEAGd,OAFM,EAA2CA,EAAOklB,QAAhDxlB,EAAS,YAAEyf,EAAiB,oBAAE8kB,EAAM,SAE5C,IAAM,IAAA96B,MAAI,IAAAurG,uCAAsC,CAAC,K,OAG7C,OAHJ,SAGI,GAAM,UAAkBD,0BAA0B/0G,EAAWyf,EAAmB8kB,I,cAD9Ez6B,EACF,SACE,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAwrG,uCAAsC,CAAEv0G,MAAK,MADvD,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAyrG,yCAAwC,CAAC,K,OAEnD,OAFA,SAEA,IAAM,IAAAzrG,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB0F,2BAC1BtyB,KAAM,CAAC,O,OAJnB,S,wBAUJ,EAAA05D,mCAAmC7kC,KAAK,CAAC,GACzC,EAAAk3E,yCAAyCl3E,KAAK,CAAExe,kBAAiB,EAAE8kB,OAAM,I,mBAO7E,OADA,SACA,IAAM,IAAAr6B,WAAU,EAAAkrG,0BAA0Bx1G,MA/DnC,SAAWU,G,sEAGd,OAFM,EAA2DA,EAAOklB,QAAhExlB,EAAS,YAAEyf,EAAiB,oBAAE8kB,EAAM,SAAE8wE,EAAc,iBAE5D,IAAM,IAAA5rG,MAAI,IAAAurG,uCAAsC,CAAC,K,OAG7C,OAHJ,SAGI,GAAM,UAAkBI,0BAA0Bp1G,EAAWyf,EAAmB8kB,EAAQ8wE,I,cADtFvrG,EACF,SACE,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAwrG,uCAAsC,CAAEv0G,MAAK,MADvD,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAyrG,yCAAwC,CAAC,K,OAEnD,OAFA,SAEA,IAAM,IAAAzrG,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB2F,2BAC1BvyB,KAAM,CAAC,O,OAJnB,S,wBAUJ,EAAA05D,mCAAmC7kC,KAAK,CAAC,GACzC,EAAAk3E,yCAAyCl3E,KAAK,CAAExe,kBAAiB,EAAE8kB,OAAM,I,0BAsC7E,S,SA7HJ,eACA,WAgBA,WACA,cACA,cACA,cACA,WACA,WACA,WACA,WACA,WAEA,SAASuwE,EAAuCxrG,GAC5C,OAAO,SAAWhJ,G,0EAGoE,OAF5E,EAAoDA,EAAOklB,QAAzDxlB,EAAS,YAAEyf,EAAiB,oBAAE8kB,EAAM,SAAEzlC,EAAO,UAE6B,IAAM,IAAAyK,SACpF,IAAAkoC,uCAAsChyB,K,OAE1C,OAHQ22B,EAA0E,SAEjF,cACI,aAAiBA,EAAct3C,GAIpC,IAAM,IAAA2K,MAAI,IAAA6rG,sCAAqC,CAAE71F,kBAAiB,EAAE8kB,OAAM,MAHtE,I,cAGJ,SAMIj7B,IAAgB,EAAAK,gBAAgBke,QAAhC,MACS,GAAM,UAAmBgtF,gCAAgCp1F,EAAmB8kB,I,cAArFz6B,EAAS,S,aAEA,SAAM,UAAkB+qG,gCAAgC70G,EAAWyf,EAAmB8kB,I,OAA/Fz6B,EAAS,S,wBAGP,IAAgBA,EAAM,GAArBpJ,EAAK,KAAE0I,EAAI,KAEd1I,EACA,IAAM,IAAA+I,MAAI,IAAA8rG,sCAAqC,CAAE91F,kBAAiB,EAAE8kB,OAAM,EAAE7jC,MAAK,MADjF,M,cACA,S,cAEA,UAAM,IAAA+I,MAAI,IAAA+rG,wCAAuC,CAAE/1F,kBAAiB,EAAE8kB,OAAM,EAAEn7B,KAAI,M,OAAlF,S,iCAGZ,C,q7BC1DA,kBAEA,aACA,cAEA,cACA,cACA,cACA,cAEM9M,EAAK,UAAWC,KAAK,WAcrBk5G,EAAkCh5G,EAAMC,MAAK,SAACC,G,QACxC4O,EAAgE5O,EAAK,SAA3DU,EAAsDV,EAAK,UAAhDW,EAA2CX,EAAK,aAAlC+4G,EAA6B/4G,EAAK,iBAAhBg5G,EAAWh5G,EAAK,OAEvEi5G,EAAen5G,EAAM6I,OAAuB,MAE5CuB,EAAUpK,EAAM6yB,WAAW,WAEjC7yB,EAAMoL,WAAU,WACZ,IAAMguG,GAAiB,aAAkBD,aAAY,EAAZA,EAAc1tG,SAEnDrB,EAAQgvG,gBACRhvG,EAAQgvG,eAAeC,SAASD,EAIxC,GAAG,CAACD,EAAcrqG,IAElB,IAMMwqG,GAAwC,QAApB,EAAAlvG,EAAQmvG,oBAAY,eAAEp0G,QAAS,EACnDytG,GAAwC,QAApB,EAAAxoG,EAAQyoG,oBAAY,eAAE1tG,QAAS,EAEnDq0G,EAAeN,EAAS,EAAItG,EA7BV,GA8BlB6G,EAAkBP,EAAS,EAAII,EA7BV,GA+B3B,OACI,uBACI14G,WAAW,aACPf,EAAG,UAAW,CACV,6BAA8Bo5G,EAC9B,mBAAoBC,IAExBt4G,GAEJyH,MAAO,CACHqxG,WAAY,UAAGF,EAAY,MAC3BG,cAAe,UAAGF,EAAe,OAErCvtG,IAAKitG,EACL5iD,UAAU,cA1BY,W,MACtBnsD,EAAQwvG,WACRxvG,EAAQwvG,UAAUP,UAA8B,QAArB,EAAAF,aAAY,EAAZA,EAAc1tG,eAAO,eAAEmuG,YAAa,EAEvE,GA1Bc,KAgD8C,qBAChC,UAAG/4G,EAAY,oBAElCiO,EAGb,IAEA,UAAekqG,C,kYCzEf,eACA,cAEA,mBAAgBa,GACZ,OAAO,EAAP,KACOA,GAAM,CACT3zB,YAAY,aAAS2zB,EAAOC,iBAAmBD,EAAOC,gBAAkB,EAAAv6D,UAAYqlB,KAAKD,MAAQ,KACjGrxB,OAAQumE,EAAOvmE,OAAO/7B,KAAI,SAACi8B,GACvB,OAAO,EAAP,KACOA,GAAK,CACRtY,UAAU,IAAAjjB,gBAAeu7B,EAAMhc,MAC/B9U,QAAQ,IAAAzK,gBAAeu7B,EAAMprB,KAErC,KAEP,C,q7BCjBD,kBACA,aACA,cAEA,cACA,WAMM2xF,EAA8C/5G,EAAMC,MAAK,SAACC,GACpD,IAAA85G,EAAkB95G,EAAK,cAEzB,GAA4C,IAAA+5G,mBAA1CC,EAAgB,mBACxB,GAD6C,sBACrBn2G,QACpB,OAAO,gBAAC,UAAiB,MAG7B,KAAK,aAASi2G,GACV,OAAO,KAGX,IAAM/vB,EAAkBiwB,EAAiBF,IAAkB,KAE3D,OAAO,gBAAC,UAA0B,CAAC/vB,gBAAiBA,GACxD,IAEA,UAAe8vB,C,0pCC5Bf,kBAEA,aACA,cACA,cACA,WACA,cACA,cACA,cACA,aACA,cACA,cAEMl6G,EAAK,UAAWC,KAAK,WAErBq6G,EAAuB,SAAC/4G,GAC1B,OAAIA,IAAU,EAAAqf,gBAAgB1e,UAQ1BX,IAAU,EAAAqf,gBAAgB29B,aAC1Bh9C,IAAU,EAAAqf,gBAAgBzM,WAC1B5S,IAAU,EAAAqf,gBAAgB9J,UATnB,CACH9U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,OAenC,CACHjG,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB6U,UAE1C,EAiCMyjG,EAA4Cp6G,EAAMC,MAAK,SAACC,GAClD,IAIJ26C,EAJIj6C,EAA2CV,EAAK,UAArC+f,EAAgC/f,EAAK,IAAhCggB,EAA2BhgB,EAAK,IAA3BiyD,EAAsBjyD,EAAK,UAAhB2N,EAAW3N,EAAK,OAElDkB,EAAQlB,EAAMkB,OAAS,EAAAqf,gBAAgB1e,SAgB7C,GAZK84C,GAAasX,IACdtX,EAAW,gBAAC,UAAe,KAvCF,SAACz5C,GAC9B,OAAIA,IAAU,EAAAqf,gBAAgB1e,SACnB,CACH6U,YAAa,EAAA9U,qBAAqBI,OAKtCd,IAAU,EAAAqf,gBAAgB29B,aAC1Bh9C,IAAU,EAAAqf,gBAAgBzM,WAC1B5S,IAAU,EAAAqf,gBAAgB9J,UAEnB,CACHC,YAAa,EAAA9U,qBAAqBgG,OAInC,CACH8O,YAAa,EAAA9U,qBAAqB6U,UAE1C,CAmBwC0jG,CAAyBj5G,MAGxDy5C,GAAYsX,IAAc,EAAA3I,cAActlC,UACzC22B,EAAW,gBAAC,UAAkB,KAAKs/D,EAAqB/4G,GAAM,CAAEkV,KAAM,EAAAC,sBAGrEskC,GAAYsX,IAAc,EAAA3I,cAAcvlC,QACzC42B,EAAW,gBAAC,UAAgB,KAAKs/D,EAAqB/4G,GAAM,CAAEkV,KAAM,EAAAC,uBAGnEskC,EACD,OAAO,KAGX,IAAMy/D,GAAuB,aAASzsG,GAEtC,OACI,gBAAC,UAAM,CACH+P,aAAc08F,EACd15G,WAAW,aAAGf,EAAG,iBAAkBe,GACnCqf,IAAKA,EACLC,IAAKA,EACL9e,MAAOA,GAAS,EAAAqf,gBAAgB1e,UAE/Bu4G,EAAuB,gBAAC,UAAc,CAACzsG,OAAQA,GAASgtC,GAA6BA,EAGlG,IAEA,UAAeu/D,C,sBC7Gf,IAAYx6G,E,qEAAZ,SAAYA,GACR,aACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,I,6JCAtB,eACA,UACA,cAEA,cAwCA,UAtCuB,SAACwlC,EAAuCpqB,GAC3D,IAAMu/F,GAAc,IAAA9hF,mBAAkBzd,EAAO,EAAApb,WAAWujB,YAClDq3F,GAAa,IAAA/hF,mBAAkBzd,EAAO,EAAApb,WAAWwjB,WACjDq3F,GAAY,IAAAhiF,mBAAkBzd,EAAO,EAAApb,WAAWyjB,UAChDq3F,GAAgB,IAAAjiF,mBAAkBzd,EAAO,EAAApb,WAAW2jB,qBACpDo3F,GAAiB,IAAAliF,mBAAkBzd,EAAO,EAAApb,WAAW0jB,sBACrDs3F,GAAkB,IAAAniF,mBAAkBzd,EAAO,EAAApb,WAAW4jB,uBACtD9J,EAAgBsB,EAAO,EAAApb,WAAW+Z,YAClCuJ,EAAgBlI,EAAO,EAAApb,WAAWsjB,eAClCvJ,EAAaD,GAAgB,aAAOA,GAAeG,OAAO,cAAgB,KAEhF,OACKF,GACAuJ,IACA,aAASq3F,KACT,aAASC,KACT,aAASC,KACT,aAASE,KACT,aAASC,KACT,aAASF,GAKP,CACH9gG,UAAWD,EACX9L,OAAQmN,EAAO,EAAApb,WAAWiO,QAC1BiL,KAAMkC,EAAO,EAAApb,WAAWkZ,MACxBoK,cAAa,EACbq3F,YAAW,EACXC,WAAU,EACVC,UAAS,EACTC,cAAa,EACbC,eAAc,EACdC,gBAAe,GAbR,IAef,C,q7BC1CA,kBAEA,WACA,cACA,cACA,cACA,UAMMC,EAAiC76G,EAAMC,MAAK,SAACC,GACvC,IAAA46G,EAA8B56G,EAAK,gBAAlB66G,EAAa76G,EAAK,SAErC2O,GAAU,IAAAmsG,gBAAeF,EAAiB,CAC5CC,SAAQ,IAGNj6G,EAAmB,oBAEzB,OACI,gBAAC,UAAe,CACZuB,QAASwM,EACTvM,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,MACrCrB,aAAc,UAAGC,EAAgB,aANH,EAStCD,aAAcC,EACd2B,gBAAiB,EAAAC,4BAA4BC,aAGzD,IAEA,UAAek4G,C,sSCvCf,eAoBa,EAAA5sE,oBAAsB,SAAC5rC,GAAwD,OACxFc,KAAM,EAAA6rC,8BACN3sC,QAAO,EAFiF,EAK/E,EAAA2rC,yBAA2B,WAAuC,OAC3E7qC,KAAM,EAAA83G,oCADqE,EAIlE,EAAA5sE,2BAA6B,SAAC1hC,GAAoE,OAC3GxJ,KAAM,EAAA+3G,sCACNvuG,KAAI,EAFuG,EAKlG,EAAAuhC,yBAA2B,SAACjqC,GAAkD,OACvFd,KAAM,EAAAg4G,oCACNl3G,MAAK,EAFkF,EAK9E,EAAA0qC,qBAAuB,SAACF,GAAyE,OAC1GtrC,KAAM,EAAA8rC,+BACNR,gBAAe,EAF2F,EAKjG,EAAAD,0BAA4B,WAAwC,OAC7ErrC,KAAM,EAAAi4G,qCADuE,EAIpE,EAAAtsE,4BAA8B,WAA0C,OACjF3rC,KAAM,EAAAk4G,uCAD2E,EAIxE,EAAAzsE,0BAA4B,SAAC3qC,GAAmD,OACzFd,KAAM,EAAAm4G,qCACNr3G,MAAK,EAFoF,C,yECpD7F,eAUA,UAPiC,SAACuV,GAC9B,MAAO,CACH+hG,mBAAoB/hG,EAAW,EAAA5Z,WAAW47G,kBAC1CC,aAAcjiG,EAAW,EAAA5Z,WAAW87G,kBAE5C,C,0cCRA,IAgBKC,EAhBL,cAEA,cACA,cAGM97G,EAAK,UAAWC,KAAK,YAU3B,SAAK67G,GACD,cACA,kBACA,eACH,CAJD,CAAKA,IAAAA,EAAY,KAMjB,IAEMC,EAA6B,UAAM37G,MAAK,SAACC,G,MACnCi5G,EAAyDj5G,EAAK,aAAhD27G,EAA2C37G,EAAK,kBAA7BwQ,EAAwBxQ,EAAK,KAAvBkB,EAAkBlB,EAAK,MAAhB8a,EAAW9a,EAAK,OAEhE47G,EAAU,UAAMjzG,OAAuB,MAEvC,IAA0B,UAAMtE,SAASo3G,EAAaI,QAAO,GAA5D96G,EAAQ,KAAE+6G,EAAW,KAuC5B,OArCA,UAAM5wG,WAAU,WACZ,GAAK0wG,EAAQrwG,SAAY0tG,EAAa1tG,SAAYowG,EAAkBpwG,QAApE,CAKA,IAAMwwG,EAAeH,EAAQrwG,QAAQywG,wBAC/BC,EAAoBhD,EAAa1tG,QAAQywG,wBACzCE,EAAyBP,EAAkBpwG,QAAQywG,wBAE7BE,EAAuB16G,MAAQu6G,EAAav6G,MAnBtD,EAqBds6G,EAAYL,EAAaI,QAIPE,EAAal1C,KAAOo1C,EAAkBp1C,KAzB1C,EA2Bdi1C,EAAYL,EAAa50C,MAINk1C,EAAaI,MAAQF,EAAkBE,MA/B5C,EAiCdL,EAAYL,EAAaU,OAKzBF,EAAkBE,MAAQD,EAAuBr1C,KAAOk1C,EAAav6G,MAtCvD,GAwCds6G,EAAYL,EAAa50C,KA3B7B,MAFIi1C,EAAYL,EAAaI,OAiCjC,GAAG,CAACrrG,EAAMyoG,EAAa1tG,QAASqwG,EAAQrwG,QAASowG,EAAkBpwG,QAASuP,IAEvEtK,EAKD,+BACI9P,UAAWf,EAAG,cAAY,KACtB,EAAC,4BAAqBuB,KAAU,EAChC,EAAC,+BAAwBH,KAAa,E,IACxC,qBACiB,4BAEnB,gCAAMiL,IAAK4vG,GAAUprG,IAXlB,IAcf,IAEA,UAAekrG,C,kuCCrFf,kBACA,cACA,cACA,WACA,WACA,WACA,YAEM/7G,EAAK,UAAWC,KAAK,WAyD3B,UAhDwD,SAACI,GAC7C,IAAAiI,EAAkDjI,EAAK,WAA3CU,EAAsCV,EAAK,UAAhCuyF,EAA2BvyF,EAAK,cAAjBqQ,EAAYrQ,EAAK,QAEvDa,GAAM,IAAAC,kBAAgB,EAE9B,IAAKmH,EACD,OAAO,KAGL,QAAeA,EAAU,GAAxBD,EAAK,KAAE+D,EAAG,KACXkmB,EAAOhqB,EAAW,GAAKA,EAAW,GAElCm0G,EAAY7pB,EAAgB,EAAA8pB,wBAA0B,EAAAC,YAEtDC,GAAQ,IAAAC,UAASvqF,GACjBwqF,EAAiBF,EACjB,UAAGA,EAAK,YAAI17G,EAAE,eAAgB,CAC1BgC,YAAa,WACbD,MAAO25G,KAEX,KAEAG,GAAU,IAAAC,YAAW1qF,GAQrB2qF,EAAgB,CAACH,EAPEC,EACnB,UAAGA,EAAO,YAAI77G,EAAE,iBAAkB,CAC9BgC,YAAa,WACbD,MAAO85G,KAEX,MAEmD1tF,OAAO,EAAA4/B,UAAUt/B,KAAK,KAEzEutF,EAAW,UAAGT,EAAUp0G,GAAM,eAAM,IAAA80G,mBAAkBV,EAAUrwG,KAEtE,OACI,wBAAC,UAAS,CAACuI,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,SAAUnB,UAAWA,GACpE,gCAAMA,UAAWf,EAAG,SACf0Q,EACKxP,EAAEwP,EAAS,CACPwsG,SAAQ,EACRD,cAAa,IAEjB,UAAGC,EAAQ,aAAKD,EAAa,MAInD,C,w9CC/DA,IAgBKG,EAhBL,cAKA,WAEA,cACA,cACA,cACA,WACA,cACA,cACA,WACA,eAEA,SAAKA,GACD,cACA,2BACA,mCACA,iCACA,4BACH,CAND,CAAKA,IAAAA,EAAW,KAyHP,EAAAC,iBArFgB,SACrBn8G,EACA8gC,EACAs7E,EACAC,G,MAEA,IAAKD,EACD,MAAO,GAGX,IAAMtuG,EAtCS,SACfgzB,EACAs7E,GAEA,OAAKA,GAAmBt7E,EAAY4L,mBAIhC0vE,EAAe/xE,aAAe,EAAAC,eAAehf,SACtC,CAAC4wF,EAAYxyE,aAGjB,EAAP,CACIwyE,EAAYI,M,GACRF,aAAc,EAAdA,EAAgBp3G,QACd,CAACk3G,EAAYK,WAAY,KAAML,EAAYM,gBAC3C,CAAC,KAAMN,EAAYz0E,iBAAe,GAXjC,EAaf,CAoBoBg1E,CAAW37E,EAAas7E,GAElCM,IAAU,MACXR,EAAYI,MAAO,CAChBp2G,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,oCACTsL,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,cAKlDvR,SAAU,WAAM,OAAAg4G,EAAUM,cAAcP,EAAxB,GAEpB,EAACF,EAAYK,YAAa,CACtBr2G,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,gDACTsL,KACI,gBAAC,UAAc,CACXxK,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,UAKlDlN,SAAU,WAAM,OAAAg4G,EAAUnwE,iBAAiBkwE,EAA3B,GAEpB,EAACF,EAAYM,gBAAiB,CAC1Bt2G,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,+CACTsL,KACI,gBAAC,UAAc,CACXxK,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBkS,cAKlD5O,SAAU,WAAM,OAAAg4G,EAAU1uG,iBAAiByuG,EAA3B,GAEpB,EAACF,EAAYxyE,aAAc,CACvBxjC,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAW,CAACuK,YAAa,EAAA9U,qBAAqBwQ,QACrDrL,MAAOlG,EAAE,8CAGjBqE,SAAU,WAAM,OAAAg4G,EAAUlwE,cAAciwE,EAAxB,GAEpB,EAACF,EAAYz0E,eAAgB,CACzBvhC,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,8CACTsL,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBkS,cAG1D5O,SAAU,WAAM,OAAAg4G,EAAUpwE,gBAAgBmwE,EAA1B,G,GAIxB,OAAOtuG,EAAQ0I,KAAI,SAAC1T,GAChB,OAAe,OAAXA,EACO,EAAAq3F,kBAAkBC,UAGtBsiB,EAAW55G,EACtB,GACJ,C,kTCrIA,eACA,WAEMof,EAAkB,CAAC,EAAArjB,WAAW+G,MAAO,EAAA/G,WAAWm6B,OAEhD4jF,EAAgB,CAAC,EAAA/9G,WAAW+G,OAWlC,UATiB,SAAC5F,EAAcia,GAM5B,OALY,QACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4iG,YAAW78G,EAAG48G,EAAe3iG,GAIxC,C,+BCfA,WAAgB,MAAQ,4CAA4C,gBAAgB,oDAAoD,OAAS,6CAA6C,SAAW,+C,q7BCDzM,kBACA,cACA,WACA,UACA,WASM69D,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,8CAA+C,CACpDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB35C,OAEjD,EACAqoE,UAAW,CAAC,EAAA1uB,qBAAqB35C,OARA,GAWzC,CAAC3P,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,87CC3Cf,kBACA,WAEA,UACA,WACA,cACA,aACA,WACA,cAEA,WACA,cACA,WACA,cAIA,cACA,cACA,WAcM5Z,EAAqCj/D,EAAMC,MAAK,SAACC,G,MAC3CU,EAA0CV,EAAK,UAApC+oF,EAA+B/oF,EAAK,mBAAhB+sB,EAAW/sB,EAAK,OAEjD29G,GAAkB,IAAAhrF,YAAW,WAC7BssC,OAAgD34D,KAAf,QAAtB,EAAAq3G,aAAe,EAAfA,EAAiB14G,aAAK,eAAEg6D,UAAyB0+C,EAAgB14G,MAAMg6D,SAAW,KAC7F2+C,GAAmBD,aAAe,EAAfA,EAAiBxE,WAAY,KAEhD0E,GAAmB,IAAAC,4BAEzB,IAAA5yG,YAAU,W,MACA6yG,EAAwC,QAAtB,EAAAJ,aAAe,EAAfA,EAAiB14G,aAAK,eAAEg6D,SAG5C8+C,IAAoB,EAAA7Z,aAAa8Z,mBAChC,aAASL,aAAe,EAAfA,EAAiB14G,MAAMg5G,gBACjC,aAASJ,KAETF,SAAAA,EAAiBxE,SAAS,CACtB8E,aAAcJ,EACd5+C,SAAU8+C,IAItB,GAAG,CAACF,IAEI,IAAAh9G,GAAM,IAAAC,kBAAgB,EAExBo9G,EAA0Cp+G,EAAM0E,SAAQ,WAC1D,IAEM25G,GAF0B,IAAAC,4BAA2Br1B,EAAoBh8D,GAE/Bg1B,QAA+B,SAACC,EAAKxhC,EAAUlJ,GAC3F,IAAM+mG,GAAoB,IAAAC,mBACtB99F,aAAQ,EAARA,EAAU+9F,yBAAyB/9F,aAAQ,EAARA,EAAUqiE,uBAEjD,KAAK,aAASw7B,GACV,OAAOr8D,EAGX,IAAMr0C,GAAU6S,EAASlJ,OAAS,GAAK,EAevC,OAdA0qC,EAAItqC,KAAK,CACL3Q,MACI,gBAAC,UAA0B,CACvBiyC,iBAAe,EACf7sC,KAAM,gBAAC,UAAU,CAACwB,OAAQA,EAAQhM,UAAW,EAAAC,qBAAqBC,WAClEkF,MAAOlG,EAAE,6DAA8D,CACnE8M,OAAM,MAIlBsxD,SAAU3nD,EACV+uC,UAAWg4D,IAGRr8D,CACX,GAAG,IAEH,OAAO,SACAm8D,IAAe,KAClB,aAASN,GACH,CACI92G,MACI,gBAAC,UAA0B,CACvBiyC,iBAAe,EACf7sC,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB+W,KAChCjC,YAAa,EAAA9U,qBAAqBC,WAG1CkF,MAAOlG,EAAE,kEAGjBo+D,SAAU,EAAAilC,aAAa8Z,gBACvB33D,UAAWw3D,GAEf,O,GACR7uF,OAAO,EAAA4/B,SACb,GAAG,CAAC/tD,EAAGkoF,EAAoBh8D,EAAQ8wF,IAE7B/2G,GAAe,IAAAd,cAAY,SAACQ,EAAqCd,GACnE,OAAKc,EAIEA,EAAOO,MAHHrB,CAIf,GAAG,IAEG8B,GAAiB,IAAAxB,cAAY,SAACQ,GAChC,OAAOA,EAAOy4D,QAClB,GAAG,IAEG7gB,GAAqB,IAAAp4C,cACvB,SAACmB,GACG,IAAMq3G,GAAiB,aAAKN,GAAiB,SAAC13G,GAC1C,OAAOA,aAAM,EAANA,EAAQy4D,YAAa93D,CAChC,IAEIq3G,GAAkBZ,GAClBA,EAAiB,CACb3+C,SAAUu/C,EAAev/C,SACzBg/C,aAAcO,EAAen4D,WAGzC,GACA,CAAC63D,EAAiBN,IAGtB,OACI,gBAAC,UAAa,CACVl9G,UAAWA,EACXyG,cAAe83D,EACf98D,QAAS+7G,EACTh5G,SAAUk5C,EACVt3C,aAAcA,EACdqzE,qBAAsBrzE,EACtBU,eAAgBA,EAChBjF,gBAAiB,EAAAC,4BAA4BiF,YAGzD,IAEA,UAAes3D,C,ohCC3Jf,kBACA,WAOA,WACA,WAIa,EAAA0/C,kBAAoB,SAAKC,EAAiBjyG,GACnD,OAAO,SAAIiyG,IAAK,IAAEjyG,IAAI,GAAE86C,OAAM,EAClC,EAEa,EAAAo3D,sBAAwB,SAA4BC,GAC7D,OAAO,WACG,SAAkC,IAAAhgB,eAA8CggB,EAAU,EAAAC,gBAAe,GAAxGC,EAAY,KAAEC,EAAe,KAepC,OAboB,UAAM/4G,aACtB,SAACyG,EAASoP,GACN,IAAMmjG,GAAkB,IAAAP,mBAAkBK,EAAc,EAAF,KAC/CryG,GACAoP,IAGPkjG,EAAgBC,EACpB,GAEA,CAACF,GAIT,CACJ,EAEa,EAAA30E,iBAAmB,SAA4BlnC,GAClD,IAACg8G,EAAD,GAAqB,IAAArgB,eACvB,EAAAsgB,qBAAqBC,YACrB,EAAAN,gBACH,GAHsB,GAIhBO,EAAD,GAAsB,IAAAxgB,eACxB,EAAAsgB,qBAAqBG,aACrB,EAAAR,gBACH,GAHuB,GAaxB,OAR0B,UAAMr6G,SAAQ,WACpC,OACIy6G,EAAiBnmE,MAAK,SAACrsC,GAAS,OAAAA,EAAKxJ,OAASA,CAAd,KAChCm8G,EAAkBtmE,MAAK,SAACrsC,GAAS,OAAAA,EAAKxJ,OAASA,CAAd,KACjC,IAER,GAAG,CAACg8G,EAAkBG,EAAmBn8G,GAG7C,EAEa,EAAAq8G,sBAAwB,SAA4Br8G,GAG7D,SAFsB,IAAAknC,kBAAoBlnC,EAG9C,EAEa,EAAAw+B,oBAAqB,IAAAk9E,uBAA0C,EAAAO,qBAAqBC,aAEpF,EAAAI,qBAAsB,IAAAZ,uBAA0C,EAAAO,qBAAqBG,a,+BClElG,WAAgB,6BAA6B,uDAAuD,OAAS,mCAAmC,SAAW,qC,40DCD3J,eACA,WACA,WAMA,WACA,cACA,WACA,aACA,WAEA,SAAUG,EAAsB77G,G,4EAGkC,OAFtD8Q,EAA+B9Q,EAAM,WAAzBsC,EAAmBtC,EAAM,MAAlBxB,EAAYwB,EAAM,QAEiB,IAAM,IAAAiJ,QAAO,EAAA6yG,0B,OACjB,OADpDthG,EAAwD,SACJ,IAAM,IAAAvR,QAAO,EAAA8yG,0B,OAGvE,OAHM1xG,EAAoD,SACpDqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GACtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,cAAerB,GACrEkc,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MAAI,IAAA6yG,mBAAkB,CAAElhG,iBAAkBhK,M,OAAhD,S,iBAGJ,UAAM,IAAA3H,MAAI,IAAA8yG,4BAA2B35G,EAAOwO,K,OAGxC,OAHJ,SAGI,GAAM,UAAsBqwC,kBAAkB,EAAD,KACtC7+C,GAAK,CACR2Y,KAAMnK,M,cAHR,kBACF,SAGE,IAJC1Q,EAAK,KAAEqJ,EAAQ,KAMlBrJ,EACA,IAAM,IAAA+I,MAAI,IAAA+yG,4BAA2B55G,EAAOwO,EAAY1Q,KADxD,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAAgzG,8BAA6B75G,EAAOwO,EAAYrH,K,cAA1D,UAEA,IAAAwS,2BAA0BnL,EAAYrH,EAAU,EAAA2yG,+B,QAOpD,UAJA,W,kDACI,UAAM,IAAAxyG,WAAU,EAAAyyG,iCAAkCR,I,cAAlD,S,0uCC/CJ,kBACA,WAEA,cACA,cACA,cACA,WACA,cACA,WACA,cACA,WACA,cACA,cAEA,WACA,WACA,cACA,WACA,WACA,cACA,WACA,WACA,cACA,cACA,WACA,WACA,cACA,cAEA,cACA,cACA,cACA,WACA,cAEA,aACA,cAEM7/G,EAAK,UAAWC,KAAK,WASrBknG,EAA4E,CAC9EC,OAAQ,IACRC,QAAS,IAePiZ,EAAwCngH,EAAMC,MAAK,SAACC,G,UAC9C+oF,EAAuB/oF,EAAK,mBAE9Bu0B,GAAW,IAAAC,eAEX2qD,GAAQ,IAAA36E,UAAQ,WAClB,OAAOukF,aAAkB,EAAlBA,EAAoB5J,QAAS,EACxC,GAAG,CAAC4J,IAEEm3B,KAAyC,QAAzB,EAAAn3B,aAAkB,EAAlBA,EAAoB5J,aAAK,eAAEl9E,QAE3Ck+G,GAAa,IAAA37G,UAAQ,W,MACvB,OAC6B,QAAzB,EAAAukF,aAAkB,EAAlBA,EAAoB5J,aAAK,eAAE9nE,KAAI,SAAC2nE,EAAMohC,G,QAC5B,GAAiD,IAAAC,+BACnDt3B,aAAkB,EAAlBA,EAAoBu3B,qBACpBthC,aAAI,EAAJA,EAAM9yE,IAFFq0G,EAAqB,wBAAEC,EAAmB,sBAK5CC,GAA0BF,aAAqB,EAArBA,EAAuBr0G,KAAM,KACvDw0G,GAAwBF,aAAmB,EAAnBA,EAAqBt0G,KAAM,KAEzD,MAAO,CACHgjD,WAAyC,QAA9B,EAAAqxD,aAAqB,EAArBA,EAAuBv8F,eAAO,eAAE9X,KAAM,KACjDu0G,wBAAuB,EACvB7Y,cAAewY,EAAY,EAC3Bp8F,SAASu8F,aAAqB,EAArBA,EAAuBv8F,UAAW,KAE3Cs2B,SAAmC,QAA1B,EAAAkmE,aAAmB,EAAnBA,EAAqBz8F,aAAK,eAAE7X,KAAM,KAC3Cw0G,sBAAqB,EACrBnZ,YAAa6Y,EAAY,EACzBr8F,OAAOy8F,aAAmB,EAAnBA,EAAqBz8F,QAAS,KAErC48F,WACMF,KACAC,GACFD,IAA4BC,EAExC,MAAM,EAEd,GAAG,CAAC33B,IAEE63B,GAAyB,IAAAp8G,UAAQ,WACnC,IAAMq8G,EAAqD,GAO3D,OALAV,EAAW/jG,SAAQ,SAAC0kG,GAChBD,EAAkBnpG,KAAKopG,EAAUJ,uBACjCG,EAAkBnpG,KAAKopG,EAAUL,wBACrC,KAEO,aAAKI,GAAmB7xF,OAAO,EAAA4/B,SAC1C,GAAG,CAACuxD,IAEJrgH,EAAMoL,WAAU,WACZqpB,GAAS,IAAAwsF,8BAA6BH,GAC1C,GAAG,CAACrsF,EAAUqsF,IAEd,IAAM9+E,EAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAAwsF,8BAA6BH,GAC1C,GAAG,CAACrsF,EAAUqsF,KACd,aAA4B9+E,GAE5B,IAAMk/E,GAAuB,IAAAhrG,aAAY,EAAAirG,4BACnCC,GAAkB,IAAA18G,UAAQ,WAC5B,OAAO27G,EAAW9oG,KAAI,SAAC8oG,GACX,IAAAO,EAAuEP,EAAU,sBAA1D7lE,EAAgD6lE,EAAU,QAAjDM,EAAuCN,EAAU,wBAAxBjxD,EAAcixD,EAAU,UAEnFgB,GAAc,IAAAC,qCAAoCV,EAAuBxxD,GACzEmyD,GAAY,IAAAD,qCAAoCX,EAAyBnmE,GAE/E,MAAO,CACHt2B,QAASg9F,EAAqBG,IAAgB,KAC9Cp9F,MAAOi9F,EAAqBK,IAAc,KAElD,GACJ,GAAG,CAAClB,EAAYa,IAEVM,EAAkBxhH,EAAM0E,SAAQ,WAClC,OAAO27G,EAAWlvC,MAAK,SAACkvC,GACpB,SAASA,aAAU,EAAVA,EAAYM,6BAA6BN,aAAU,EAAVA,EAAYO,sBAClE,GACJ,GAAG,CAACP,IAEEoB,EAAwBzhH,EAAM0E,SAAQ,WACxC,IAAM2I,EAAS,IAAI2hB,IAAmB,IAUtC,OATIoxF,GACA/yG,EAAOyM,IAAI,EAAA4nG,cAAcC,sBAEzB14B,GACA57E,EAAOyM,IAAI,EAAA4nG,cAAcE,cAEzBJ,GACAn0G,EAAOyM,IAAI,EAAA4nG,cAAcG,cAEtBx0G,CACX,GAAG,CAAC+yG,EAAan3B,EAAoBu4B,IAE/BM,EAAmB9hH,EAAM0E,SAAQ,WACnC,OAAI+8G,EAAsBtyF,IAAI,EAAAuyF,cAAcG,cACjC,EAAAH,cAAcG,aAErBJ,EAAsBtyF,IAAI,EAAAuyF,cAAcC,sBACjC,EAAAD,cAAcC,qBAErBF,EAAsBtyF,IAAI,EAAAuyF,cAAcE,cACjC,EAAAF,cAAcE,aAGlB,IACX,GAAG,CAACH,IAEE,KAA4C,IAAAl9G,UAA+B,MAAK,GAA/Ew9G,EAAiB,KAAEC,EAAoB,KACxCC,EAAYF,GAAqBD,EAEvC9hH,EAAMoL,WAAU,WACR22G,IAAsBN,EAAsBtyF,IAAI4yF,IAChDC,EAAqB,KAE7B,GAAG,CAACD,EAAmBN,IAEvB,IAAMvZ,GAAmBloG,EAAM6yB,WAAW,WAEpCqvF,IAAmB,IAAAx9G,UAAQ,WAC7B,OAAQu9G,GACJ,KAAK,EAAAP,cAAcG,aACf,OAAOxiC,EAAMJ,SAAQ,SAACC,GAClB,MAAO,CACHA,aAAI,EAAJA,EAAM3kB,WACN2kB,aAAI,EAAJA,EAAMijC,0BACNjjC,aAAI,EAAJA,EAAMkjC,yBACNljC,aAAI,EAAJA,EAAMmjC,sBACNnjC,aAAI,EAAJA,EAAMojC,qBACRpzF,OAAO,EAAA4/B,SACb,IAEJ,KAAK,EAAA4yD,cAAcC,qBACf,OAAOtiC,EAAMJ,SAAQ,SAACC,GAClB,MAAO,CAACA,aAAI,EAAJA,EAAM3kB,YAAYrrC,OAAO,EAAA4/B,SACrC,IAEJ,KAAK,EAAA4yD,cAAcE,aACf,MAAO,CAAC34B,aAAkB,EAAlBA,EAAoB1uB,YAAYrrC,OAAO,EAAA4/B,UAEnD,QACI,MAAO,GAGnB,GAAG,CAACuwB,EAAO4iC,EAAWh5B,aAAkB,EAAlBA,EAAoB1uB,cAE1C,IAAAC,kBAAiB0nD,IAEjB,IAAMK,IAAiB,IAAArsG,cAAY,IAAAssG,6BAA4BN,KAEzDO,IAAqB,IAAA/9G,UAAQ,WAC/B,OAAO69G,GAAepxC,MAAK,SAACuxC,G,MACxB,OAAOA,aAAa,EAAbA,EAAeh/G,iBAA6C,QAA5B,EAAAg/G,aAAa,EAAbA,EAAeh/G,qBAAa,eAAEK,QACzE,GACJ,GAAG,CAACw+G,KAEEI,GAAiB3iH,EAAM0E,SAAQ,W,MAMjC,QAJ6B,QAAzB,EAAAukF,aAAkB,EAAlBA,EAAoB5J,aAAK,eAAEJ,SAAQ,SAACC,GAChC,OAAOA,aAAI,EAAJA,EAAM50D,YAAa,EAC9B,MAAM,IAGO/S,KAAI,SAACmJ,G,QACd,MAAO,CAAkB,QAAjB,EAAAA,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SAA2B,QAAjB,EAAA50B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UAC5D,KAAM,EAEd,GAAG,CAAC0zC,IAUE25B,IAAsB,IAAAl+G,UAAQ,WAChC,OAAO08G,aAAe,EAAfA,EAAiBjwC,MAAK,SAACvtE,G,YAC1B,OAAkC,QAA3B,EAAY,QAAZ,EAAAA,aAAK,EAALA,EAAOqgB,aAAK,eAAEvgB,qBAAa,eAAEK,WAAwC,QAA7B,EAAc,QAAd,EAAAH,aAAK,EAALA,EAAOsgB,eAAO,eAAExgB,qBAAa,eAAEK,QAClF,GACJ,GAAG,CAACq9G,IACElyG,GAAYuzG,IAAsBG,GAElCC,IAAuB,IAAAn+G,UAAQ,WACjC,OAAO27G,EAAWp+D,QAAoC,SAACC,EAAKm+D,EAAY7oG,G,MAC5DgjC,EAAyB6lE,EAAU,QAA1B5Y,EAAgB4Y,EAAU,YAErCyC,EAAS1B,EAAgB5pG,GAEzBurG,GAAY,aAAkB,QAAb,EAAAD,aAAM,EAANA,EAAQ7+F,aAAK,eAAEqvB,QAStC,OARIkH,GAAWuoE,GACX7gE,EAAItqC,KAAK,CACL4iC,QAAO,EACPitD,YAAW,EACXsb,UAAS,IAIV7gE,CACX,GAAG,GACP,GAAG,CAACk/D,EAAiBf,IAEf2C,IAAyB,IAAAt+G,UAAQ,WACnC,OAAO27G,EAAWp+D,QAAsC,SAACC,EAAKm+D,EAAY7oG,G,MAC9D43C,EAAuCixD,EAAU,UAAtCvY,EAA4BuY,EAAU,cAGzD,GAH+CA,EAAU,SAIrD,OAAOn+D,EAGX,IAAM4gE,EAAS1B,EAAgB5pG,GAEzBurG,GAAY,aAAoB,QAAf,EAAAD,aAAM,EAANA,EAAQ5+F,eAAO,eAAEovB,QASxC,OARI8b,GAAa2zD,GACb7gE,EAAItqC,KAAK,CACLw3C,UAAS,EACT04C,cAAa,EACbib,UAAS,IAIV7gE,CACX,GAAG,GACP,GAAG,CAACk/D,EAAiBf,IAEf5X,GAAczoG,EAAM0E,SAAQ,W,QACxBgkG,EAAsE,GAEtEua,KAAkD,QAAzB,EAAAh6B,aAAkB,EAAlBA,EAAoB5J,aAAK,eAAEl9E,UAAmC,QAAzB,EAAA8mF,aAAkB,EAAlBA,EAAoB5J,aAAK,eAAEl9E,QAAS,EA2ExG,OAzEA8mF,SAAAA,EAAoB5J,MAAM/iE,SAAQ,SAAC,EAAegkG,G,IAAbh2F,EAAS,YACpC44F,EAAa5C,EAAY,EAE/Bh2F,SAAAA,EAAWhO,SAAQ,SAACoE,G,QAChB,GACKA,EAASvd,OAAS,EAAA0d,aAAaC,aAC5BJ,EAASvd,OAAS,EAAA0d,aAAaG,eAC/BN,EAASvd,OAAS,EAAA0d,aAAaK,iBAC/BR,EAASvd,OAAS,EAAA0d,aAAae,WAC/BlB,EAASvd,OAAS,EAAA0d,aAAaa,aAC/BhB,EAASvd,OAAS,EAAA0d,aAAaiB,eACnCmgG,IAAc,EAAAP,cAAcG,aAPhC,CAYA,IAAMtsE,EAA6B,QAAjB,EAAA70B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UAC/BD,EAA4B,QAAjB,EAAA50B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACpC,IAAI,aAASA,KAAa,aAASC,GAAY,CAC3C,IAAMozD,EAA8D,CAChExlG,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACtzD,EAAWD,IAE7BwzD,WAAY,CACR3lG,KAAM,iBACNud,SAAQ,EACRwiG,WAAYD,EAAuBC,EAAa,OAIxDxa,EAAS9wF,KAAK+wF,EAClB,CAnBA,CAoBJ,GACJ,IAEAka,GAAqBvmG,SAAQ,SAACisF,GAClB,IAAAd,EAAoCc,EAAmB,YAA1C/tD,EAAuB+tD,EAAmB,QAAjCwa,EAAcxa,EAAmB,UAE/DG,EAAS9wF,KAAK,CACVzU,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACka,EAAU7iG,IAAK6iG,EAAU9iG,MAE3C6oF,WAAY,CACR3lG,KAAM,mBACNqwC,MAAOuvE,EACPvoE,QAAO,EACPitD,YAAawb,EAAuBxb,EAAc,OAG9D,IAEAub,GAAuB1mG,SAAQ,SAACksF,GACpB,IAAAV,EAAwCU,EAAqB,cAA9Cp5C,EAAyBo5C,EAAqB,UAAnCua,EAAcva,EAAqB,UAErEE,EAAS9wF,KAAK,CACVzU,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACka,EAAU7iG,IAAK6iG,EAAU9iG,MAE3C6oF,WAAY,CACR3lG,KAAM,qBACNqwC,MAAOuvE,EACP3zD,UAAS,EACT04C,cAAemb,EAAuBnb,EAAgB,OAGlE,IAEOY,CACX,GAAG,CAACzf,EAAoB45B,GAAsBG,GAAwBf,IAEhEjZ,GAAyBhpG,EAAM0E,SAAQ,WACzC,IAAMukG,EAAc,IAAI,UAAsCjC,GAE9D,OADAiC,EAAYC,KAAKT,IAAe,IACzBQ,CACX,GAAG,CAACR,KAEE,KAAsBzoG,EAAMuE,SAAe,MAAK,GAA/CshB,GAAM,MAAEwiF,GAAS,MAElBc,GAAsBnpG,EAAM0E,SAAQ,WACtC,OAAImhB,GACiBmjF,GAAuBI,YAAYvjF,GAAOwjF,OAAQxjF,GAAOyjF,MAIvE,EACX,GAAG,CAACzjF,GAAQmjF,KACN,KAAgBhpG,EAAMuE,SAAe,MAAK,GAAzC4jG,GAAG,MAAEC,GAAM,MAEZ3O,GAAe,WACjB,GAAI0O,GAAK,CACG,IAAAmB,EAASnB,GAAI5wF,IAAG,KAElBgyF,EAAQpB,GAAI5wF,IAAIiyF,YAEhBC,EAAYF,EAAMG,eAClBC,EAAYJ,EAAMK,eAExBvB,GAAU,CACNiB,KAAI,EACJD,OAAQ,CAACM,EAAUzpF,MAAOypF,EAAU1pF,MAAOwpF,EAAUvpF,MAAOupF,EAAUxpF,QAE9E,CACJ,EA4KM4pF,GAAqB7pG,EAAMkG,aAC7B,SAACka,GACW,IAAA7I,EAAc4wF,GAAG,IAAZ2B,EAAS3B,GAAG,KAEnB4B,EAAkBf,GAAuBgB,UAAU5pF,EA3hB9C,MACA,GA4hBLipF,EAAS,IAAIS,EAAKG,aAExBF,EAAgBztF,SAAQ,SAAC4tF,GACrB,IAAM12D,EAAQ,IAAIs2D,EAAKK,OAAOD,EAAQtB,SAASC,YAAY,GAAIqB,EAAQtB,SAASC,YAAY,IAE5FQ,EAAOe,OAAO52D,EAClB,IAEAj8B,EAAI8yF,UAAUhB,EAClB,GACA,CAAClB,GAAKa,KAGV,OACI,gCACK95F,IAAa,gBAAC,UAAS,CAACtO,UAAWf,EAAG,YACvC,gBAAC,UAAc,CACX2qG,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBxoG,QAAS,EAAAyoG,YACTC,kBAlX4B,SAAC5C,G,MACrCC,GAAOD,GAEC,IAAA5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEE,QAA3B,EAAAD,GAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,EA6WY0zF,UAAWxR,GACXyR,mBAAoBzR,GACpB0R,oCAAkC,GAEjChC,GAAoB5xF,KAAI,SAAC6zF,GACtB,GAAI,YAAaA,EAAQtC,WAAY,CACjC,IAMMzoF,EANiB2oF,GAAuBgB,UAC1CoB,EAAQtC,WAAWuC,WA1jBxB,MACA,GA8jB0C9zF,KAAI,SAAC+zF,GAC1C,OAAOA,EAAcxC,UACzB,IAEA,OACI,gBAAC,UAAoB,CACjBj2F,IAAK,kBAAWu4F,EAAQtC,WAAWuC,YACnCjrF,UAAWgrF,EAAQtC,WAAWuC,WAC9BnrF,IAAKkrF,EAAQxC,SAASC,YAAY,GAClC5oF,IAAKmrF,EAAQxC,SAASC,YAAY,GAClCxoF,kBAAmBA,EACnBF,eAAgB0pF,GAChBvpF,aAAcuF,GAAOyjF,KAAO,IAGxC,CAEA,OAnOiB,SAACR,G,oCAC9B,OAAQA,EAAW3lG,MACf,IAAK,qBACD,OACI,gBAAC,UAAgC,CAC7B0P,IAAK,6BAAsBi2F,EAAWhB,eACtCr7D,SAAU,EAAA+c,cAActlC,QACxBjE,IAAK6oF,EAAWt1D,MAAMvzB,IACtBC,IAAK4oF,EAAWt1D,MAAMtzB,IACtBwpC,UAAWo/C,EAAWt1D,MAAMkW,UAC5B77C,OAAQi7F,EAAWhB,gBAI/B,IAAK,mBACD,OACI,gBAAC,UAAgC,CAC7Bj1F,IAAK,2BAAoBi2F,EAAWrB,aACpCh7D,SAAU,EAAA+c,cAAcvlC,MACxBhE,IAAK6oF,EAAWt1D,MAAMvzB,IACtBC,IAAK4oF,EAAWt1D,MAAMtzB,IACtBwpC,UAAWo/C,EAAWt1D,MAAMkW,UAC5B77C,OAAQi7F,EAAWrB,cAI/B,IAAK,iBACO,IAAA/mF,EAAyBooF,EAAU,SAAzBoa,EAAepa,EAAU,WAE3C,OAAQpoF,EAASvd,MACb,KAAK,EAAA0d,aAAaC,YACd,IAAMH,KAAcD,aAAQ,EAARA,EAAUE,qBAE9B,OACI,gBAAC,UAAsB,CACnBuxC,UAAW,EAAA3I,cAAcvlC,MACzBpR,IAAK,sBAAe6N,EAAStU,IAC7BxL,UAAWf,EAAG,mBACdogB,IAAqB,QAAhB,EAAAS,EAASkmB,eAAO,eAAE0O,SACvBp1B,IAAqB,QAAhB,EAAAQ,EAASkmB,eAAO,eAAE2O,UACvB1nC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaG,cAGd,OAFML,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAsB,CACnBuxC,UAAW,EAAA3I,cAActlC,QACzBrR,IAAK,wBAAiB6N,EAAStU,IAC/BxL,UAAWf,EAAG,mBACdogB,IAAqB,QAAhB,EAAAS,EAASkmB,eAAO,eAAE0O,SACvBp1B,IAAqB,QAAhB,EAAAQ,EAASkmB,eAAO,eAAE2O,UACvB1nC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaK,gBAGd,OAFMP,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAsB,CACnBuxC,UAAW,KACXt/C,IAAK,0BAAmB6N,EAAStU,IACjCxL,UAAWf,EAAG,mBACdogB,IAAqB,QAAhB,EAAAS,EAASkmB,eAAO,eAAE0O,SACvBp1B,IAAqB,QAAhB,EAAAQ,EAASkmB,eAAO,eAAE2O,UACvB1nC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaQ,aAClB,KAAK,EAAAR,aAAaO,eAGd,OAFMT,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAgB,CACb/N,IAAK,sBAAe6N,EAAStU,IAC7BxL,UAAWf,EAAG,mBACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACxBl0C,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaS,aAClB,KAAK,EAAAT,aAAaU,YAClB,KAAK,EAAAV,aAAaW,uBACd,IAAIpgB,EAAQ,EAAAqf,gBAAgB1e,SAU5B,OATI2e,EAASvd,OAAS,EAAA0d,aAAaS,eAC/BlgB,EAAQ,EAAAqf,gBAAgB5H,OAGtB8H,KAAcD,aAAQ,EAARA,EAAUE,wBAE1Bxf,EAAQ,EAAAqf,gBAAgB9J,WAIxB,gBAAC,UAAiB,CACd9D,IAAK,sBAAe6N,EAAStU,IAC7BxL,UAAWf,EAAG,mBACduB,MAAOA,EACP8e,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,WAEtB50B,EAASlJ,OAAS,GAAK,GAIrC,KAAK,EAAAqJ,aAAaa,YAGd,OAFMf,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAuB,CACpBuxC,UAAW,EAAA3I,cAActlC,QACzBrR,IAAK,sBAAe6N,EAAStU,IAC7BxL,UAAWf,EAAG,mBACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACxBznC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAae,UAGd,OAFMjB,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAuB,CACpBuxC,UAAW,EAAA3I,cAAcvlC,MACzBpR,IAAK,wBAAiB6N,EAAStU,IAC/BxL,UAAWf,EAAG,mBACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACxBznC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaiB,cAGd,OAFMnB,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAuB,CACpBuxC,UAAW,KACXt/C,IAAK,uBAAgB6N,EAAStU,IAC9BxL,UAAWf,EAAG,mBACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACxBznC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,QACI,OAAO,KAInB,QACI,OAAO,KAGnB,CA2DuBypG,CAAyBJ,EAAQtC,WAC5C,KAEHyZ,cAAc,EAAdA,GAAgBhrG,KAAI,SAACmrG,EAAelrG,G,YAAU,OAC3C,gBAAC,UAAQ,CACL3E,IAAK,mBAAY2E,GACjBD,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAuD,QAAtC,EAA2B,QAA3B,EAAAxD,GAAiBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SACzDhgD,UAAW85D,EAAc/1G,KACzBvL,MAAO,EAAAwqG,kBAAkBC,YACzBE,OAAQ,G,IAGfqV,EAAgB7pG,KAAI,SAAC6pG,EAAiB5pG,G,YAC7B06C,EAASmuD,EAAW7oG,GAClB0M,EAAmBk9F,EAAe,QAAzBn9F,EAAUm9F,EAAe,MAE1C,OACI,mCACOn9F,aAAK,EAALA,EAAOqvB,SACN,gBAAC,UAAQ,CACL/7B,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnCzjE,MAAOpiB,EAAMqvB,OACblyC,MAAO,EAAAwqG,kBAAkBE,UACzBC,OAAQ,MAGd75C,aAAM,EAANA,EAAQ2uD,cAAc38F,aAAO,EAAPA,EAASovB,SAC7B,gBAAC,UAAQ,CACL/7B,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnCzjE,MAAOniB,EAAQovB,OACflyC,MAAO,EAAAwqG,kBAAkBE,UACzBC,OAAQ,IAK5B,IACA,gBAAC,UAAQ,CACLx0F,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnCxB,aAAcqa,QAEfT,cAAgB,EAAhBA,GAAkB//G,SACjB,gBAAC,UAAmB,CAChBvB,UAAWf,EAAG,uBACdsF,MAAO88G,EACPjlG,SAAUglG,EACVmB,gCAAiC1B,EAAsBtyF,IAAI,EAAAuyF,cAAcC,sBACzEyB,wBAAyB3B,EAAsBtyF,IAAI,EAAAuyF,cAAcE,cACjEyB,wBAAyB5B,EAAsBtyF,IAAI,EAAAuyF,cAAcG,gBAKrF,IAEA,UAAe1B,C,yECxrBf,eAQA,UANyB,W,MACrB,OAAO,EAAP,IACK,EAAAvgH,WAAW22F,QAAS,G,CAE7B,C,q7BCNA,kBACA,cACA,cAMM12F,EAAK,UAAWC,KAAK,WAErB4zF,EAA2B1zF,EAAMC,MAAK,SAACC,GACjC,IAAAkM,EAAOlM,EAAK,GAEpB,OAAO,uBAAKU,UAAWf,EAAG,OAAQuM,EACtC,IAEA,UAAesnF,C,0pCChBf,kBACA,cACA,WACA,WACA,WAOA,cACA,cACA,cACA,cACA,WACA,WACA,cACA,WACA,cA8BM4vB,GAxBK,UAAWxjH,KAAK,WAwBoDE,EAAMC,MAAK,SAACC,GAEnF,IAAAU,EAmBAV,EAAK,UAlBLirF,EAkBAjrF,EAAK,YAjBL+jE,EAiBA/jE,EAAK,WAhBL+qF,EAgBA/qF,EAAK,gBAfLgrF,EAeAhrF,EAAK,kBAdLsrF,EAcAtrF,EAAK,aAbLmrF,EAaAnrF,EAAK,cAZLorF,EAYAprF,EAAK,YAXLwrF,EAWAxrF,EAAK,SAVL0rF,EAUA1rF,EAAK,eATL4rF,EASA5rF,EAAK,mBARL6rF,EAQA7rF,EAAK,YAPL+rF,EAOA/rF,EAAK,iBANL8rF,EAMA9rF,EAAK,eALLisF,EAKAjsF,EAAK,YAJLksF,EAIAlsF,EAAK,uBAHLosF,EAGApsF,EAAK,aAFLqsF,EAEArsF,EAAK,gCADLurF,EACAvrF,EAAK,IAEDa,GAAM,IAAAC,kBAAgB,EAExBs2F,GAAqB,IAAAC,yBAErB2W,GAAgC,IAAAzW,2BAA0B,CAC5DrL,uBAAsB,EACtBsL,wBAAwB,EACxBC,uBAAuB,IAGrBwW,GAA+B,IAAA1W,2BAA0B,CAC3DrL,uBAAsB,EACtBsL,wBAAwB,EACxBC,uBAAuB,IAGrB4rB,EAA2C,CAC7C,CACI1oE,SAAU,gBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB+W,OAC5D1Y,MAAO8qF,EACPl0E,MAAOktD,EACP1iE,YAAa2pF,EACT,gBAAC,UAAc,CAAC9pF,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDwpF,GAEL,KACJvgC,KAAMwgC,EACA,GACA,C,OAEWmM,EAAmB32C,UAAQ,CAC9B5pC,MAAOy0E,EACPrwC,WAAYm8C,EAAmBO,0BAA0B,CAAC,aAAcvL,K,OAGrEgL,EAAmBS,gBAAgBtM,IAAI,CAC1C10E,MAAO20E,EACPvwC,WAAYm8C,EAAmBO,0BAA0B,CAAC,cAAevL,GACzE3hC,KAAM2sC,EAAmBU,iBAAiBpM,EAAgBU,K,OAGvDgL,EAAmBW,eAAe9L,aAAW,EAAXA,EAAa+L,WAAS,CAC3DnhF,MAAOo1E,aAAW,EAAXA,EAAalmE,UACpBk1B,WAAYm8C,EAAmBO,0BAA0B,CAAC,QAASvL,GACnE3hC,KAAM2sC,EAAmBa,0BAA0BhM,aAAW,EAAXA,EAAaiM,cAEpE,aAAS/M,GACH,EAAD,KACQiM,EAAmBe,aAAa,CAAE/M,YAAW,KAAG,CACnDv0E,MAAOs0E,IAEX,MACN,IAAAiN,wBAAuBtM,EAAgBD,GACjC,EAAD,KACQuL,EAAmBiB,kBAAkBvM,EAAgBC,IAAiB,CACzEl1E,MAAOg1E,GAAe,IAE1B,MACNmiB,aAA6B,EAA7BA,EAA+B/rG,QACzB,EAAD,KACQm1F,EAAmB+W,gCAAgCjiB,IAAuB,CAC7EzhC,KAAM,CACF,CACIA,KAAMujD,MAIlB,MACNC,aAA4B,EAA5BA,EAA8BhsG,QACxB,EAAD,KACQm1F,EAAmBgX,+BAA+BliB,IAAuB,CAC5EzhC,KAAM,CACF,CACIA,KAAMwjD,MAIlB,KACN,CACItzD,SAAU,gBAAC,UAAO,CAACjkC,YAAa,EAAA9U,qBAAqBwQ,QACrDnS,MAAOY,EAAE,0DACTgW,MAAO+0E,EACP3wC,WAAYm8C,EAAmBO,0BAA0B,CAAC,eAAgBvL,OAI9Fp9D,OAAO,EAAA4/B,UAET,OACI,gBAAC,UAAY,CACTluD,UAAWA,EACX+pD,KAAM44D,EACNh3B,gCAAiCA,GAG7C,KAEA,UAAe+2B,C,y3BCzKf,kBAQME,EAAiC,SAACtjH,GAC5B,IAAA4nB,EAAsC5nB,EAAK,WAA/BqF,EAA0BrF,EAAK,WAAnBU,EAAcV,EAAK,UAEnD,OAAIqF,EAEI,uBACI+L,MAAM,6BACN48C,WAAW,+BACXxsD,MAAM,KACNsK,OAAO,KACPuF,QAAQ,YACR3Q,UAAWA,GAEX,4BACI,wBAAMwL,GAAG,aAAa1K,MAAM,KAAKsK,OAAO,KAAKy3G,EAAE,IAAIC,EAAE,IAAI94F,GAAG,QAEhE,qBAAGle,KAAK,OAAO8E,SAAS,WACpB,wBAAMpF,GAAG,aAAaM,KAAK,QACvB,uBAAKgf,UAAU,iBAEnB,uBAAKhf,KAAK,OAAOgf,UAAU,gBAC3B,wBACIhqB,MAAM,KACNsK,OAAO,KACPy3G,EAAE,IACFC,EAAE,IACFh3G,KAAK,UACLgF,YAAY,MACZC,OAAO,UACPE,eAAe,QACfC,YAAY,IACZ8Y,GAAG,OAEN9C,GAAc,0BAAQjoB,GAAG,KAAK8qB,GAAG,KAAKwzB,EAAE,IAAIzxC,KAAK,UAAUqsB,KAAK,qBACjE,wBAAMrsB,KAAK,UAAU+E,EAAE,gBAAgBsnB,KAAK,mBAAmB1iB,QAAQ,WAMnFyR,EAEI,uBACIxW,MAAM,6BACN48C,WAAW,+BACXxsD,MAAM,KACNsK,OAAO,KACPuF,QAAQ,YACR3Q,UAAWA,GAEX,4BACI,wBAAMwL,GAAG,aAAa1K,MAAM,KAAKsK,OAAO,KAAKy3G,EAAE,IAAIC,EAAE,IAAI94F,GAAG,QAEhE,qBAAGle,KAAK,OAAO8E,SAAS,WACpB,uBAAK9E,KAAK,UAAUgf,UAAU,gBAC9B,uBAAKhf,KAAK,OAAOgF,YAAY,MAAMga,UAAU,gBAC7C,0BAAQ7rB,GAAG,KAAK8qB,GAAG,KAAKwzB,EAAE,IAAIzxC,KAAK,WAO/C,uBACI4E,MAAM,6BACN48C,WAAW,+BACXxsD,MAAM,KACNsK,OAAO,KACPuF,QAAQ,YACR3Q,UAAWA,GAEX,4BACI,wBAAMwL,GAAG,aAAa1K,MAAM,KAAKsK,OAAO,KAAKy3G,EAAE,IAAIC,EAAE,IAAI94F,GAAG,QAEhE,qBAAGle,KAAK,OAAO8E,SAAS,WACpB,uBAAK9E,KAAK,OAAOgf,UAAU,gBAC3B,wBACIhqB,MAAM,KACNsK,OAAO,KACPy3G,EAAE,IACFC,EAAE,IACFh3G,KAAK,UACLgF,YAAY,MACZC,OAAO,UACPE,eAAe,QACfC,YAAY,IACZ8Y,GAAG,QAKvB,EAEA44F,EAAaxxG,YAAc,eAOlB,EAAAC,WALkB,CACvB6V,YAAY,EACZviB,YAAY,GAIhB,UAAei+G,C,6JC7Gf,eAEA,cACA,cAKA,WAAe,IAAAG,iBAAgB,CAC3Br0G,QAAS,UACTs0G,SAAU,W,yECVd,eAQA,UANyB,W,MACrB,OAAO,EAAP,IACK,EAAAhkH,WAAW22F,QAAS,G,CAE7B,C,gpBCLA,eACA,UACA,cACA,WAEM9yF,EAA6B,CAAC,EAE9BogH,EAAa,SAACjgH,EAAqBgyE,GAIrC,OAHKhyE,EAAMgyE,KACPhyE,EAAMgyE,GAAW,EAAH,GAAQ,EAAAkuC,gCAEnBlgH,EAAMgyE,EACjB,EAEa,EAAAmuC,aAAc,IAAAv3C,aAAY,CACnC1zD,KAAM,SACNrV,aAAY,EACZgpE,SAAU,CACNu3C,sBAAuB,SAEnBpgH,EAEAC,GAMJ,EACAogH,2BAA4B,SAACrgH,EAAOC,GACxB,IAAA+xE,EAAY/xE,EAAOklB,QAAO,QACrB86F,EAAWjgH,EAAOgyE,GAC1BsuC,uBAAyB,UAAcngH,OAChD,EACAogH,6BAA8B,SAC1BvgH,EACAC,GAEM,MAAoBA,EAAOklB,QAAzB6sD,EAAO,UAAEjpE,EAAI,OACfwS,EAAO0kG,EAAWjgH,EAAOgyE,GAC/Bz2D,EAAKilG,iBAAmBz3G,EACxBwS,EAAK+kG,uBAAyB,UAAc9/G,EAChD,EACAigH,2BAA4B,SAACzgH,EAAOC,GAC1B,MAAqBA,EAAOklB,QAA1B6sD,EAAO,UAAE3xE,EAAK,QACT4/G,EAAWjgH,EAAOgyE,GAC1BsuC,uBAAyB,UAAchgH,SAASD,EACzD,EAEAqgH,qBAAsB,SAElB1gH,EAEAC,GAGJ,EACA0gH,0BAA2B,SAAC3gH,EAAOC,GACvB,IAAA+xE,EAAY/xE,EAAOklB,QAAO,QACrB86F,EAAWjgH,EAAOgyE,GAC1B4uC,sBAAwB,UAAczgH,OAC/C,EACA0gH,4BAA6B,SAAC7gH,EAAOC,GACzB,IAAA+xE,EAAY/xE,EAAOklB,QAAO,QACrB86F,EAAWjgH,EAAOgyE,GAC1B4uC,sBAAwB,UAAcpgH,EAC/C,EACAsgH,0BAA2B,SAAC9gH,EAAOC,GACzB,MAAqBA,EAAOklB,QAA1B6sD,EAAO,UAAE3xE,EAAK,QACT4/G,EAAWjgH,EAAOgyE,GAC1B4uC,sBAAwB,UAActgH,SAASD,EACxD,EAEA0gH,uBAAwB,SAAC/gH,EAAOC,UAErBD,EADaC,EAAOklB,QAAO,QAEtC,GAEJ2jD,cAAe,SAACC,GACZA,EAAQC,QAAQ,EAAAvoE,iBAAiB,WAAM,OAAAZ,CAAA,GAC3C,IAIA,EAAAugH,uBADS,EAUT,EAAAD,YAAYl1G,SAAO,sBARnB,EAAAo1G,2BAA0B,6BAC1B,EAAAE,6BAA4B,+BAC5B,EAAAE,2BAA0B,6BAC1B,EAAAC,qBAAoB,uBACpB,EAAAC,0BAAyB,4BACzB,EAAAE,4BAA2B,8BAC3B,EAAAC,0BAAyB,4BACzB,EAAAC,uBAAsB,yBAG1B,UAAe,EAAAZ,YAAYl3C,O,+BC/F3B,WAAgB,MAAQ,oCAAoC,IAAM,kCAAkC,qBAAqB,iDAAiD,OAAS,qCAAqC,SAAW,uC,q7BCDnO,kBACA,aACA,cAEA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,WACA,cACA,WAEMhtE,EAAK,UAAWC,KAAK,WAsCrB8kH,EAAoC,UAAM3kH,MAAK,SAACC,GAE9C,IAAAiF,EAkBAjF,EAAK,MAjBL4Y,EAiBA5Y,EAAK,KAhBL0c,EAgBA1c,EAAK,eAfL0F,EAeA1F,EAAK,YAdL8c,EAcA9c,EAAK,SAbLsF,EAaAtF,EAAK,OAZL80F,EAYA90F,EAAK,WAXLoF,EAWApF,EAAK,SAVLmF,EAUAnF,EAAK,WATLgP,EASAhP,EAAK,UARLqF,EAQArF,EAAK,WAPLugE,EAOAvgE,EAAK,WANLU,EAMAV,EAAK,UALLwF,EAKAxF,EAAK,WAJLyF,EAIAzF,EAAK,gBAHL2kH,EAGA3kH,EAAK,oBAFL42B,EAEA52B,EAAK,mBADLwkD,EACAxkD,EAAK,OAEH4kH,EAAa,WACXt/G,GACAA,GAER,EAEMu/G,EAAiB,YACnB,IAAA93D,UAASvI,GAAQ,SAAC9hC,GACd5F,EAAS4F,GACTkiG,GACJ,GACJ,EAOMngE,GAAWx/C,EAEXtE,GAAe,aAAgBi2B,GAAsBhe,EAAM,eAC3DksG,GAA2B,aAAgBnkH,EAAc,SAEzDe,EAAWsN,EACb,wBAAC,UAAiB,CAACrN,UAAW,EAAAC,qBAAqBC,SAAUuU,KAAM,EAAAC,oBAEnEqG,EAAe,CACX1N,YAAaA,EACb5J,WAAYA,EACZD,aAAcA,EACdo7D,aAAcA,EACdl7D,aAAcA,EACdG,aAAcA,EACdi/C,QAAO,IAIP5jD,GAAM,IAAAC,kBAAgB,EAExBikH,GAAiB,IAAA/+G,cAAY,WAC3B8uF,GAAc7vF,aAAiB,EAAA0d,YAC/BmyE,EAAW7vF,EAAM4d,aAEzB,GAAG,CAAC5d,EAAO6vF,IAELkwB,EAAY,UAAMxgH,SAAQ,WAC5B,IAAMygH,EAAsBjlH,EAAMilH,qBAtEH,GAwE/B,OAAIhgH,aAAiB,EAAA0d,WAEb,wBAAC,UAAqB,KAClB,wBAAC,UAAI,CAACzhB,MAAO,EAAA8mB,cAAcnmB,SAAUuU,KAAM,EAAA8uG,aAAalhC,OAAQviF,QAASsjH,GACrE,gCAAM9kH,MAAOgF,EAAM2T,OAAO,IAAAusG,sBAAqBlgH,EAAM2T,KAAMqsG,MAMvEhgH,aAAiBmgH,KACV,+BAAKnlH,MAAOgF,EAAM2T,OAAO,IAAAusG,sBAAqBlgH,EAAM2T,KAAMqsG,IAG9Dv/G,GAAe7E,EAAE,iCAC5B,GAAG,CAACoE,EAAOS,EAAa7E,EAAGb,EAAMilH,oBAAqBF,IAEtD,OACI,+BACIrkH,WAAW,aACPf,EAAG,QAAS,CACR,oBAAqBwF,EACrB,oBAAqBK,EACrB,kBAAmBJ,EACnB,sBAAuBq/C,GAAYh/C,IAAoBg/C,EACvD,oBAAqBp/C,EACrB,qBAAsBo/C,IAE1B/jD,GAEJe,QAASgjD,EAAUogE,EAAiB,WAEnCnjH,GAAY,+BAAKhB,UAAWf,EAAG,OAAQ,iBAAkB+B,GAC1D,+BACIhB,UAAWf,EAAG,QAAS,CACnB,iBAAkB8kD,EAClB,oBAAqBp/C,KAGxB2/G,GAEJvgE,GACG,wBAAC,UAAqB,KAClB,wBAAC,UAAkB,CACfgvD,OAAO,KACPpuG,WAAYA,EACZ5D,QAAS4D,EAAa,UAAOw/G,EAC7BQ,eAAgB1lH,EAAG,kBACnBoH,MAAOlG,EAAE,6BACTiB,gBAAiB,EAAAC,oBAAoB2xG,wBAIhDjuG,IAAoBg/C,GACjB,wBAAC,UAAqB,KAClB,wBAAC,UAAkB,CACfgvD,OAAO,KACPpuG,WAAYA,EACZ1E,aAAcmkH,EACdrjH,QAAS4D,EAAa,UA9FtB,WAChByX,EAAS,MACT8nG,GACJ,EA4FoBljH,SAAU,wBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqBC,WACrDC,gBAAiB,EAAAC,oBAAoB2xG,wBAIhDiR,IAAwBlgE,GACrB,wBAAC,UAAqB,KAClB,wBAAC,UAAkB,CACfgvD,OAAO,KACPpuG,WAAYA,EACZ5D,QAAS4D,EAAa,UAAOw/G,EAC7BQ,eAAgB1lH,EAAG,kBACnBoH,MAAOlG,EAAE,iCACTiB,gBAAiB,EAAAC,oBAAoB2xG,wBAM7D,IAEA,UAAegR,C,yEC/Mf,cACA,WA6BA,UA3ByB,SAACY,G,MACtB,OAAO,EAAP,IACK,EAAA5lH,WAAW6lH,sBAAsBD,aAAc,EAAdA,EAAgBE,4BAA6B,GAC/E,EAAC,EAAA9lH,WAAW+lH,sBAAsBH,aAAc,EAAdA,EAAgBI,yBAA0B,GAC5E,EAAC,EAAAhmH,WAAWimH,sBAAsBL,aAAc,EAAdA,EAAgBM,yBAA0B,GAC5E,EAAC,EAAAlmH,WAAWmmH,wBAAwBP,aAAc,EAAdA,EAAgBQ,2BAA4B,GAChF,EAAC,EAAApmH,WAAWqmH,qBAAqBT,aAAc,EAAdA,EAAgBU,4BAA6B,GAC9E,EAAC,EAAAtmH,WAAWumH,oBAAoBX,aAAc,EAAdA,EAAgBY,2BAA4B,GAC5E,EAAC,EAAAxmH,WAAWymH,mBAAmBb,aAAc,EAAdA,EAAgBc,qBAAsB,GACrE,EAAC,EAAA1mH,WAAW2mH,kBAAkBf,aAAc,EAAdA,EAAgBgB,mBAAoB,GAClE,EAAC,EAAA5mH,WAAW6mH,kCAAkCjB,aAAc,EAAdA,EAAgBkB,sCAAuC,GACrG,EAAC,EAAA9mH,WAAW+mH,0BAA0BnB,aAAc,EAAdA,EAAgBoB,6BAA8B,GACpF,EAAC,EAAAhnH,WAAWinH,uBAAuBrB,aAAc,EAAdA,EAAgBsB,0BAA2B,GAC9E,EAAC,EAAAlnH,WAAWmnH,8BAA8BvB,aAAc,EAAdA,EAAgBwB,kCAAmC,GAC7F,EAAC,EAAApnH,WAAWqnH,4BAA4BzB,aAAc,EAAdA,EAAgB0B,+BAAgC,GACxF,EAAC,EAAAtnH,WAAWunH,0BAA0B3B,aAAc,EAAdA,EAAgB4B,6BAA8B,GACpF,EAAC,EAAAxnH,WAAWynH,kBAAkB7B,aAAc,EAAdA,EAAgB8B,mBAAoB,GAClE,EAAC,EAAA1nH,WAAW2nH,mBAAmB/B,aAAc,EAAdA,EAAgBgC,oBAAqB,GACpE,EAAC,EAAA5nH,WAAW6nH,oBAAoBjC,aAAc,EAAdA,EAAgBkC,qBAAsB,GACtE,EAAC,EAAA9nH,WAAW+nH,mBAAmBnC,aAAc,EAAdA,EAAgBoC,qBAAsB,GACrE,EAAC,EAAAhoH,WAAWioH,kBAAkBrC,aAAc,EAAdA,EAAgBsC,oBAAqB,GACnE,EAAC,EAAAloH,WAAWmoH,4BACRvC,aAAc,EAAdA,EAAgBwC,4BAA6B,EAAAC,wBAAwBC,KACzE,EAAC,EAAAtoH,WAAWuoH,8BAA8B3C,aAAc,EAAdA,EAAgB4C,sBAAuB,EAAAH,wBAAwBC,K,CAEjH,C,q7BC5BA,kBACA,WAEA,WACA,cAkCA,UA9B2E,SAAChoH,GAChE,IAAAyM,EAAyEzM,EAAK,KAAxEE,EAAmEF,EAAK,SAA9DQ,EAAyDR,EAAK,QAArD2jD,EAAgD3jD,EAAK,yBAA3Bm1E,EAAsBn1E,EAAK,kBAEtF,OAAKQ,EAcD,gBAAC,UAA8C,CAC3C6C,UAAWoJ,EAAKpJ,UAChByf,kBAAmBrW,EAAKqW,kBACxBmzB,sBAAuBxpC,EAAKwpC,sBAC5BrB,WAAYnoC,EAAKmoC,WACjBp0C,QAASA,EACTN,SAAUA,QAAYoG,EACtBuuC,kBAjBsB,SAAChvC,GAC3BsvE,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAWoJ,EAAKpJ,UAChBC,YAAa,EAAA+kB,gBAAgBpb,OAC7BpH,OAAM,GAEd,EAWQ89C,yBAA0BA,IArBvB,IAwBf,C,sBCpCA,IAAYwkE,E,uEAAZ,SAAYA,GACR,oBACA,iBACH,CAHD,CAAYA,IAAY,eAAZA,EAAY,I,q7BCAxB,kBACA,cAEA,cACA,WACA,cAEA,cACA,YAEMxoH,EAAK,UAAWC,KAAK,WASrBwoH,EAA+EtoH,EAAMC,MAAK,SAACC,GACrF,IAAAs4E,EAA4Dt4E,EAAK,YAApDw4E,EAA+Cx4E,EAAK,cAArCu+D,EAAgCv+D,EAAK,WAAzBw+D,EAAoBx+D,EAAK,gBAEzE,OACI,uBAAKU,UAAWf,EAAG,SACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,qEACRE,WAAY,CACR+nE,YAAa,gBAAC,UAAuB,CAACG,eAAa,EAACH,YAAaA,IACjEI,YAAa,gBAAC,UAAW,CAAC/qE,OAAQ6qE,IAClCrkB,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,OAKhD,IAEA,UAAe4pD,C,sBClCf,IAAY1jC,E,6EAAZ,SAAYA,GACR,wCACA,8BACA,+BACA,+BACA,mCACA,mBACH,CAPD,CAAYA,IAAkB,qBAAlBA,EAAkB,I,+HCH9B,cAEa,EAAAr4B,oBAAsB,IAAI,EAAApjC,iBAE1B,EAAAujC,uBAAyB,IAAI,EAAAvjC,gB,+BCH1C,WAAgB,MAAQ,uCAAuC,OAAS,wCAAwC,MAAQ,uCAAuC,gBAAgB,+CAA+C,qBAAqB,oDAAoD,mBAAmB,kDAAkD,qBAAqB,oDAAoD,cAAc,6CAA6C,KAAO,sCAAsC,yBAAyB,wDAAwD,8BAA8B,6DAA6D,cAAc,6CAA6C,aAAa,4CAA4C,gBAAgB,+CAA+C,OAAS,wCAAwC,SAAW,0C,q7BCDx7B,kBAEA,WAEA,WACA,WACA,WACA,WACA,cAIMo/F,EAA4BvoH,EAAMC,MAAK,WACzC,IAAMw0B,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAA+zF,gBACb,GAAG,CAAC/zF,IAEJ,IAAMg0F,GAAiB,IAAAviH,cAAY,WAC/BuuB,GAAS,IAAA+zF,cAAa,CAAEvmF,eAAe,IAC3C,GAAG,CAACxN,KACJ,IAAA0N,qBAAoB,EAAAuxC,sBAAuB+0C,GAE3C,IAAMzmF,EAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAA+zF,cAAa,CAAEvmF,eAAe,IAC3C,GAAG,CAACxN,IAGJ,OAFA,aAA4BuN,GAErB,IACX,IAEA,UAAeumF,C,84CChCf,kBAQa,EAAAG,uBAAyB,SAClCC,EACA91G,EACAwsF,EACAh9F,GAEA,OAAOrC,EAAM0E,SAAQ,WACjB,IAAKikH,EACD,OAAO,IAAI35F,IAAI,IAEnB,IAAM45F,EAAUvpB,EAAY9nF,KAAI,SAAC7Q,GAAW,OAAAA,EAAOmM,EAAP,IACtCg2G,EAAY,IAAI75F,IAAI45F,GAEpBz8D,EAAM9pD,EAAQkV,KAAI,SAAC7Q,GAAW,OAAAA,EAAOmM,EAAP,IAC9Bi2G,EAAQ,IAAI95F,IAAIm9B,GAEhB48D,EAAU58D,EAAIj9B,QAAO,SAAC9iB,GACxB,OAAQy8G,EAAU15F,IAAI/iB,EAC1B,IAEM48G,EAAcJ,EAAQ15F,QAAO,SAAC9iB,GAChC,OAAQ08G,EAAM35F,IAAI/iB,EACtB,IAEA,OAAO,IAAI4iB,IAAI,EAAD,OAAK+5F,IAAO,KAAKC,IAAW,GAC9C,GAAG,CAACL,EAAa91G,EAAKwsF,EAAah9F,GACvC,C,+BCjCA,WAAgB,QAAU,mCAAmC,OAAS,kCAAkC,SAAW,oC,87CCDnH,kBACA,cACA,WAcM4mH,EAA6BjpH,EAAMC,MAAK,SAACC,GACnC,IAAAqX,EAAyCrX,EAAK,IAAzC4pG,EAAoC5pG,EAAK,KAAnCooG,EAA8BpoG,EAAK,aAArB2jF,EAAgB3jF,EAAK,YAGhDgpH,GAAmB,IAAAxkH,UAAQ,WAC7B,OAAO8+D,KAAKC,UAAU6kC,EAC1B,GAAG,CAACA,IAEJtoG,EAAMoL,WAAU,WACZ,GAAK0+F,GAASvyF,IAAQ+wF,aAAY,EAAZA,EAAcnmG,QAApC,CAIA,IAAMknG,EAAS,IAAIS,EAAKG,aACxB3B,EAAahsF,SAAQ,SAACk3B,GAClB,IAAI,aAASA,EAAM,MAAO,aAASA,EAAM,IAAK,CAC1C,IAAM21E,EAAa,IAAIrf,EAAKK,OAAO32D,EAAM,GAAIA,EAAM,IACnD61D,EAAOe,OAAO+e,EAClB,CACJ,IAEA5xG,EAAI8yF,UAAUhB,EAVd,CAYJ,GAAG,CAAC9xF,EAAKuyF,EAAMof,IAGf,IAAME,GAAkB,IAAA1kH,UAAQ,WAC5B,OAAO8+D,KAAKC,UAAUogB,EAC1B,GAAG,CAACA,IAcJ,OAZA7jF,EAAMoL,WAAU,W,QACZ,GAAKmM,GAAQuyF,IAASjmB,aAAW,EAAXA,EAAa1hF,QAAnC,CAIA,IAAMknH,EAAS,KAAI,EAAAvf,EAAKK,QAAM,0BAAItmB,EAAY,KAAE,KAC1CylC,EAAS,KAAI,EAAAxf,EAAKK,QAAM,0BAAItmB,EAAY,KAAE,KAC1CwlB,EAAS,IAAIS,EAAKG,aAAaof,EAAQC,GAC7C/xG,EAAI8yF,UAAUhB,EALd,CAOJ,GAAG,CAAC9xF,EAAKuyF,EAAMsf,IAER,IACX,IAEA,UAAeH,C,+BC5Df,WAAgB,MAAQ,wCAAwC,gBAAkB,kDAAkD,iBAAmB,mDAAmD,SAAW,2CAA2C,mBAAqB,qDAAqD,kBAAoB,oDAAoD,eAAiB,iDAAiD,wBAAwB,wDAAwD,SAAW,2CAA2C,OAAS,yCAAyC,SAAW,2C,qICDvpB,cAEa,EAAAziB,uBAAyB,IAAI,EAAAr9E,iBAE7B,EAAApJ,0BAA4B,IAAI,EAAAoJ,gB,y3BCJ7C,kBAMMogG,EAAgC,SAAC,G,IAAE3oH,EAAS,YAC9C,OACI,uBAAK0Q,MAAM,6BAA6B5P,MAAM,MAAMsK,OAAO,MAAMuF,QAAQ,cAAc3Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBACI9E,KAAK,UACLgF,YAAY,OACZD,EAAE,mPAEN,wBACIE,OAAO,UACPG,YAAY,IACZL,EAAE,yHAEN,wBACI/E,KAAK,UACLgF,YAAY,MACZF,SAAS,UACTC,EAAE,6HAEN,wBACI/E,KAAK,OACL8E,SAAS,UACTC,EAAE,gHAEN,wBACI/E,KAAK,UACLgF,YAAY,MACZD,EAAE,mZAEN,wBACI/E,KAAK,UACL+E,EAAE,4LAEN,wBACIE,OAAO,UACPC,cAAc,QACdC,eAAe,QACfC,YAAY,MACZL,EAAE,uGAKtB,EAEA83G,EAAYv3G,YAAc,cAIjB,EAAAC,WAFkB,CAAC,EAG5B,UAAes3G,C,+BCxDf,WAAgB,KAAO,gCAAgC,kBAAkB,2CAA2C,cAAc,uCAAuC,cAAc,uCAAuC,aAAa,sCAAsC,gBAAgB,yCAAyC,+BAA+B,wDAAwD,gCAAgC,yDAAyD,OAAS,kCAAkC,SAAW,oC,kuCCDhjB,kBACA,cACA,cACA,WACA,WACA,WACA,YACA,cACA,cAIM1pH,EAAK,UAAWC,KAAK,WAiF3B,UAvEwD,SAACI,GAC7C,IAAAiI,EAA6DjI,EAAK,WAAtDU,EAAiDV,EAAK,UAA3CuyF,EAAsCvyF,EAAK,cAA5BqQ,EAAuBrQ,EAAK,QAAnBwyF,EAAcxyF,EAAK,UAElEa,GAAM,IAAAC,kBAAgB,EAE9B,IAAKmH,EACD,OAAO,KAGL,QAAeA,EAAU,GAAxBD,EAAK,KAAE+D,EAAG,KACXkmB,EAAOhqB,EAAW,GAAKA,EAAW,GAElCm0G,EAAY7pB,EAAgB,EAAA8pB,wBAA0B,EAAAC,YAEtDC,GAAQ,IAAAC,UAASvqF,GACjBwqF,EAAiBF,EACjB,UAAGA,EAAK,YAAI17G,EAAE,eAAgB,CAC1BgC,YAAa,WACbD,MAAO25G,KAEX,KAEAG,GAAU,IAAAC,YAAW1qF,GAQrB2qF,EAAgB,CAACH,EAPEC,EACnB,UAAGA,EAAO,YAAI77G,EAAE,iBAAkB,CAC9BgC,YAAa,WACbD,MAAO85G,KAEX,MAEmD1tF,OAAO,EAAA4/B,UAAUt/B,KAAK,KAEzEutF,EAAW,UAAGT,EAAUp0G,GAAM,eAAM,IAAA80G,mBAAkBV,EAAUrwG,KAEhEu9G,EACF,wBAAC,UAAS,CACNh1G,eAAa,EACbpT,MAAOsxF,EAAY,EAAA7+E,mBAAmBuqC,YAAc,EAAAvqC,mBAAmB9R,SACvEnB,UAAWA,GAEX,gCAAMA,UAAWf,EAAG,SACf0Q,EACKxP,EAAEwP,EAAS,CACPwsG,SAAQ,EACRD,cAAa,IAEjB,UAAGC,EAAQ,aAAKD,EAAa,OAK/C,OAAIpqB,EAEI,wBAAC,UAAO,CACJ+2B,UAAQ,EACRxoH,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,wBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE,gEAIV,WAAM,OAAAyoH,CAAA,IAKZA,CACX,C,+BC1FA,WAAgB,KAAO,iCAAiC,kBAAkB,4CAA4C,UAAY,sCAAsC,OAAS,mCAAmC,SAAW,qC,87CCD/N,kBACA,cAGA,UACA,cACA,WACA,WAEA,cACA,cAGA,cACA,WACA,WACA,WACA,WAEA,cACA,cAUME,EAAgG,CAClGC,uBAAwB,6EACxBC,0CACI,gGACJC,gCACI,sFACJC,+BACI,sFAGFC,EAAsD/pH,EAAMC,MAAK,SAACC,GAC5D,IAAAU,EAAiEV,EAAK,UAA3D8pH,EAAsD9pH,EAAK,iBAAzC+pH,EAAoC/pH,EAAK,gCAExEu0B,GAAW,IAAAC,eAET3zB,GAAM,IAAAC,kBAAgB,EAExBkpH,GAAa,IAAAxlH,UAAQ,WACvB,OAAKslH,EAIE,CACHG,WAAY,uBACZC,SAAUJ,GALH,IAOf,GAAG,CAACA,IAEE3nH,EAAO,OACL2nH,EACE,CACI,CACI/iH,MACI,gBAAC,UAAO,CACJhG,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI0oH,EACI,gBAAC,UAAc,CAAC7oH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE2oH,EAA2BO,KAElC,OAGP,WAAM,OACH,gBAAC,UAA0B,CACvB1kH,aAAc0kH,EACdhjH,MAAOlG,EAAE,6DACTsL,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBkS,aAJnD,IASfzO,aAAc0kH,EACd7kH,SAAU,WACD4kH,GAAqBE,GAI1Bz1F,GACI,IAAA41F,oBAAmB,CACfC,OAAQ,CACJhhG,OAAQ,EAAAmsC,yBAAyB5vB,SACjCskF,WAAY,uBACZC,SAAUJ,GAEdE,WAAU,IAGtB,IAGR,KAAG,GAGb,OACI,gBAAC,UAAe,CACZtpH,UAAWA,EACXyB,QAASA,EACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,OALP,EAQtCO,gBAAiB,EAAAC,4BAA4BC,aAGzD,IAEA,UAAeonH,C,yEC1Hf,eACA,WACA,WACA,WAwDA,UAtDwB,SAAC/uG,G,MACfZ,IAAY,MACb,EAAAiwC,qBAAqB5sC,eAAgBzC,EAAO,EAAApb,WAAW6d,qBAAkBjX,EAE1E,EAAC,EAAA6jD,qBAAqBzjB,cAAUpgC,EAEhC,EAAC,EAAA6jD,qBAAqB9sC,aAAcvC,EAAO,EAAApb,WAAW2d,mBAAgB/W,EACtE,EAAC,EAAA6jD,qBAAqB7sC,eAAgBxC,EAAO,EAAApb,WAAW4d,qBAAkBhX,EAE1E,EAAC,EAAA6jD,qBAAqB6hD,qBAAiB1lG,EACvC,EAAC,EAAA6jD,qBAAqB+hD,sBAAkB5lG,EAExC,EAAC,EAAA6jD,qBAAqBiiD,qBAAiB9lG,EACvC,EAAC,EAAA6jD,qBAAqBmiD,sBAAkBhmG,EAExC,EAAC,EAAA6jD,qBAAqBqiD,uBAAmBlmG,EACzC,EAAC,EAAA6jD,qBAAqBuiD,wBAAoBpmG,E,GAGxCogC,GAAU,IAAAsd,uBAAsBlpC,EAAO,EAAApb,WAAWgnC,UACpDA,IACAxsB,EAAa,EAAAiwC,qBAAqBzjB,SAAWA,GAGjD,IAAM2jF,EAAiBvvG,EAAO,EAAApb,WAAW2qH,iBACrCA,aAAc,EAAdA,EAAgB/yF,QAChBpd,EAAa,EAAAiwC,qBAAqB6hD,iBAAkB,IAAAt1B,iBAAgB2zC,EAAe/yF,QAGnF+yF,aAAc,EAAdA,EAAgBniG,MAChBhO,EAAa,EAAAiwC,qBAAqB+hD,kBAAmB,IAAAx1B,iBAAgB2zC,EAAeniG,KAGxF,IAAMoiG,EAAiBxvG,EAAO,EAAApb,WAAW4qH,iBACrCA,aAAc,EAAdA,EAAgBhzF,QAChBpd,EAAa,EAAAiwC,qBAAqBiiD,iBAAkB,IAAA11B,iBAAgB4zC,EAAehzF,QAGnFgzF,aAAc,EAAdA,EAAgBpiG,MAChBhO,EAAa,EAAAiwC,qBAAqBmiD,kBAAmB,IAAA51B,iBAAgB4zC,EAAepiG,KAGxF,IAAM9K,EAActC,EAAO,EAAApb,WAAW6qH,cAStC,OARIntG,aAAW,EAAXA,EAAaka,QACbpd,EAAa,EAAAiwC,qBAAqBqiD,mBAAoB,IAAA91B,iBAAgBt5D,EAAYka,QAGlFla,aAAW,EAAXA,EAAa8K,MACbhO,EAAa,EAAAiwC,qBAAqBuiD,oBAAqB,IAAAh2B,iBAAgBt5D,EAAY8K,KAGhFhO,CACX,C,y3BCzDA,kBACA,WAMMswG,EAAgC,SAACxqH,GAC3B,IAAA0W,EAAgB1W,EAAK,YAE7B,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,MACtD,qBAAGU,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAMkK,EACNnF,EAAE,8QAKtB,EAEAi5G,EAAY14G,YAAc,cAE1B,IAAMC,EAAqB,CACvB2E,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAey4G,C,6JC9Bf,kBAEA,aACA,cACA,cACA,cACA,aACA,WAEM7qH,EAAK,UAAWC,KAAK,WAwB3B,UAfkD,SAACI,GACvC,IAAAU,EAAsDV,EAAK,UAAhD+G,EAA2C/G,EAAK,MAAzCyqH,EAAoCzqH,EAAK,iBAAvBgH,EAAkBhH,EAAK,cAEnE,OACI,+BAAKU,WAAW,aAAGf,EAAG,UAAWe,IAC5B+pH,EACG,wBAAC,UAAQ,CAAC/pH,UAAWf,EAAG,UAAWyW,KAAM,EAAAC,oBAEzC,wBAAC,UAAM,CAAC3V,UAAWf,EAAG,UAAW62D,KAAMxvD,EAAgB,KAAOD,IAElE,+BAAKrG,UAAWf,EAAG,UAAWoH,GAG1C,C,0LC1Ba,EAAA2jH,oBAAsB,yCACtB,EAAAC,0BAA4B,+CAC5B,EAAAC,4BAA8B,iDAC9B,EAAAC,0BAA4B,8C,+BCPzC,WAAgB,MAAQ,8BAA8B,YAAc,oCAAoC,MAAQ,8BAA8B,YAAc,oCAAoC,OAAS,+BAA+B,SAAW,iC,+BCAnP,WAAgB,OAAS,iCAAiC,KAAO,+BAA+B,iBAAiB,yCAAyC,OAAS,iCAAiC,SAAW,mC,kYCC/M,eAOA,WACA,WACA,cACA,cAGMC,EAA+B,CAAC,EAAA/jC,wBAAwBtgF,OAExDskH,EAA8B,CAAC,EAAAhkC,wBAAwB9kB,aA4C7D,UAtCiB,SAACphE,EAAcia,EAAiCe,GAC7D,IAAMD,EAAsB,CAAC,EAkC7B,OAhC2Bd,EAAO,EAAApb,WAAWiqC,UAC1BvtB,SAAQ,SAAC4uG,EAAmB1zG,G,QACrCwyD,GAAkB,QAAX,EAAAjuD,aAAI,EAAJA,EAAMojE,aAAK,eAAG3nE,KAAU,KAErC,IAD2BwyD,aAAI,EAAJA,EAAM7mE,OAAO,EAAAgoH,4BAA4Bh8F,IAAI66C,EAAK7mE,MAC7E,CAIA,IAAMioH,EAAiB,QAChB,IAAAxN,YAAW78G,EAAGiqH,EAA8BE,KAC5C,IAAAjhG,kBAAiBlpB,EAAGkqH,EAA6BC,IAGlDG,EAAyBtqH,EAAE,mDAC3BuqH,IAAoC,QAAb,EAAAthD,aAAI,EAAJA,EAAMpjC,eAAO,eAAEuhB,SACxCmjE,IAAwBJ,EAAkB,EAAAjkC,wBAAwBnhF,YAClEslH,EAAkB,EAAAnkC,wBAAwBnhF,UAAYulH,GAGtDC,IAAuB,IAAAC,yBAAwBL,EAAkB,EAAAjkC,wBAAwB9kB,gBACzFipD,EAAkB,EAAAnkC,wBAAwB9kB,aAAekpD,IAG7D,aAAKD,GAAmB9uG,SAAQ,SAAC8F,IAC7B,aACItG,EACA,UAAG,EAAAlc,WAAWiqC,SAAQ,YAAIryB,EAAK,YAAI4K,GACnCgpG,EAAkBhpG,GAE1B,GAvBA,CAwBJ,IAEOtG,CACX,C,kTC1DA,eACA,WACA,WAEMmH,EAAkB,CACpB,EAAArjB,WAAWktB,KACX,EAAAltB,WAAWsa,SACX,EAAAta,WAAW6d,cACX,EAAA7d,WAAW4rH,YACX,EAAA5rH,WAAW6rH,WA2Bf,UAxBiB,SAAC1qH,EAAcia,GAC5B,IAAIc,EAAM,MACH,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,IAGnCd,EAAWc,EAAO,EAAApb,WAAWsa,UAgBnC,OAdIA,IAAa,EAAAyV,kBAAkBnH,UAC/B1M,EAAS,EAAH,KACCA,IACA,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWitB,WAAY7R,KAIhDd,IAAa,EAAAyV,kBAAkBvE,UAC/BtP,EAAS,EAAH,KACCA,IACA,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAW2c,WAAYvB,KAI7Cc,CACX,C,umDCnCA,eAEA,WACA,UACA,WACA,cACA,cACA,WACA,WAEA,SAAU4vG,EAAiB7nH,G,oEAGuC,OAFtDsC,EAAUtC,EAAM,MAEsC,IAAM,IAAAiJ,QAAO,EAAA6+G,0B,OAC3E,OADMttG,EAAwD,UAC1D,IAAAG,kBAAiBH,EAAWxa,EAAOsC,OACnC,IAGJ,IAAM,IAAA6G,MAAI,IAAAwI,mBAAkBrP,K,cAA5B,WAGIA,aAAK,EAALA,EAAO5C,aAAc,IAAA6C,yBAAwBD,EAAM5C,WAAnD,MACW,GAAM,UAAkBqoH,aAAazlH,aAAK,EAALA,EAAO5C,UAAW,CAC9DuV,KAAM3S,aAAK,EAALA,EAAO2S,KACbgG,KAAM,K,cAFVxR,EAAW,S,aAKA,SAAM,UAAmBs+G,aAAa,CAC7C9yG,KAAM3S,aAAK,EAALA,EAAO2S,KACbgG,KAAM,K,OAFVxR,EAAW,S,wBAKT,IAAuBA,EAAQ,GAA9BrJ,EAAK,KAAE4nH,EAAW,KAErB5nH,EACA,IAAM,IAAA+I,MAAI,IAAA6I,mBAAkB1P,EAAOlC,KADnC,M,OAEA,OADA,SACA,I,OAKJ,OAFM0R,GAAUk2G,aAAW,EAAXA,EAAa3sG,UAAW,GAExC,IAAM,IAAAlS,MAAI,IAAA0I,qBAAoBvP,EAAOwP,K,cAArC,S,QAOJ,UAJA,W,kDACI,UAAM,IAAAlI,WAAU,EAAA8H,sBAAuBm2G,I,cAAvC,S,+mDC7CJ,eACA,WACA,WAEA,WACA,cACA,cACA,WAEA,SAAUI,EAAuBj9G,G,wEAGwC,OAF7DxM,EAAYwM,EAAO,QAE0C,IAAM,IAAA/B,QAAO,EAAAi/G,6B,OAElF,OAFMroH,EAA+D,UAC/C,aAAiBA,EAAerB,GAKtD,IAAM,IAAA2K,MAAI,IAAAg/G,6BAHN,I,OAMA,OAHJ,SAGI,GAAM,UAAkBC,2B,cADtB,kBACF,SAAiD,IAD9ChoH,EAAK,KAAE+2F,EAAI,KAEd/2F,EACA,IAAM,IAAA+I,MAAI,IAAAk/G,2BAA0BjoH,KADpC,M,qBASJ,S,WAAA,OAJMkoH,EAAenxB,aAAI,EAAJA,EAAMhiD,MAAK,SAAC75B,GAAS,MAAc,YAAdA,EAAKhc,IAAL,IACpCipH,EAAcpxB,aAAI,EAAJA,EAAMhiD,MAAK,SAAC75B,GAAS,MAAc,YAAdA,EAAKhc,IAAL,IACnCkpH,EAAarxB,aAAI,EAAJA,EAAMhiD,MAAK,SAAC75B,GAAS,MAAc,WAAdA,EAAKhc,IAAL,IAExC,IAAM,IAAA6J,MACF,IAAAs/G,4BAAyB,KACrB,EAAC,EAAA/jG,gBAAgBC,SAAU4jG,EAC3B,EAAC,EAAA7jG,gBAAgB6C,SAAU+gG,EAC3B,EAAC,EAAA5jG,gBAAgBpb,QAASk/G,E,UAStC,UAJA,W,kDACI,UAAM,IAAA5+G,WAAU,EAAA8+G,6BAA8BT,I,cAA9C,S,+8CCzCJ,kBACA,cACA,cACA,UACA,cACA,aACA,WACA,WAIA,WACA,cACA,WACA,cACA,WACA,WACA,UACA,WACA,WAmBMU,GAhBK,UAAW1sH,KAAK,WAgBeE,EAAMC,MAAK,SAACC,GAC1C,IAAAU,EAAkEV,EAAK,UAA5DusH,EAAuDvsH,EAAK,0BAAjC2sB,EAA4B3sB,EAAK,UAAtBwsH,EAAiBxsH,EAAK,aAEvEa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXi4F,GAAwB,IAAAz2G,aAAY,EAAA02G,gCACpCC,GAAW,IAAA32G,aAAY,EAAA42G,yBAE7B9sH,EAAMoL,WAAU,WACZ,IAAM2hH,EAAaF,EAASt1G,KAAI,SAACiR,GAAY,OAAAA,EAAQpc,EAAR,IAAY8iB,OAAO,EAAA4/B,YAC5D,aAAQi+D,IAAgBN,GAI5Bh4F,GAAS,IAAAu4F,yBAAwBD,EAAYN,GACjD,GAAG,CAACh4F,EAAUo4F,EAAUJ,IAExB,IAAMQ,GAA4B,IAAA/2G,aAAY,EAAAg3G,iCACxCC,GAAkC,IAAAj3G,aAAY,EAAAk3G,0BAE9CC,EAAoCrtH,EAAM0E,SAAQ,WACpD,IAAMrC,EAA4BwqH,EAC7Bt1G,KAAI,SAACiR,GACF,IAAKA,EAAQpc,KAAOqgH,EAChB,OAAO,KAGX,IAAM/1D,GAAO,IAAA9pC,SAAQpE,EAAQpc,GAAIqgH,GAC3Ba,EAAqBL,EAA0Bv2D,GACrD,MAAO,CACH59C,KAAM0P,EAAQ1P,MAAQ,GACtB86E,mBAAoB05B,EAAqBA,EAAmBC,oBAAsB,KAClFnhH,GAAIoc,EAAQpc,GACZ8C,YAAYo+G,aAAkB,EAAlBA,EAAoBC,sBAAuBJ,EAAgCppH,QAE/F,IACCmrB,OAAO,EAAA4/B,UAEN0+D,EAAoC,CACtC10G,KAAM/X,EAAE,uCACR6yF,mBAAoB,KACpBxnF,GAAI,EAAAqhH,gBACJv+G,WAAW,GAKf,OAFA7M,EAAQqrH,QAAQF,GAETnrH,CACX,GAAG,CAACwqH,EAAUM,EAAiCF,EAA2BR,EAA2B1rH,IAE/F,IAAoBf,EAAMuE,SAAiB,IAAG,GAA7C4B,EAAK,KAAE6zC,EAAQ,KAEhB2zE,EAA0B3tH,EAAM0E,SAAQ,WAC1C,IAAMw1C,GAAgB,IAAAC,oBAAmBh0C,GACzC,OAAOknH,EAAgBn+F,QAAO,SAACxoB,GAC3B,IAAMO,GAAQP,aAAM,EAANA,EAAQoS,OAAQ,GAG9B,OAFsB,IAAAqhC,oBAAmBlzC,GAEpBwe,SAASy0B,EAClC,GACJ,GAAG,CAACmzE,EAAiBlnH,IAErB,OACI,gBAAC,UAAmB,CAChBvF,UAAWA,EACXyG,cAAewlB,EACfxqB,QAASsrH,EACTvoH,SAAUsnH,EACVjqH,gBAAiB,EAAAC,4BAA4BC,YAC7CqE,aAAc,SAACN,GACX,OACI,gBAAC,UAAoC,CACjCoS,KAAMpS,EAAOoS,KACb5J,UAAWxI,EAAOwI,UAClB0kF,mBAAoBltF,EAAOktF,oBAGvC,EACAtxF,cAAe,SAACoE,EAAQd,GACpB,OAAKc,EAKD,gBAAC,UAAoC,CACjCoS,KAAMpS,EAAOoS,KACb5J,UAAWxI,EAAOwI,UAClB0kF,mBAAoBltF,EAAOktF,qBAPxB,4BAAOhuF,EAUtB,EACA2B,gBAAiB,WACb,OAAAolH,EAAsB5oH,QAClB,gBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAC9C,IAFJ,EAIJH,cAAe0yC,EACftyC,eAAgB,SAAChB,GAAW,OAAAA,aAAM,EAANA,EAAQ0F,EAAR,GAGxC,KAEA,UAAeogH,C,+BC7If,WAAgB,OAAS,qCAAqC,SAAW,uC,yECDzE,WACA,WAaA,UARiC,SAAChzG,GAC9B,MAAO,CACHo0G,8BAA+Bp0G,EAAW,EAAA5Z,WAAWiuH,2BAC/C,EAAA5F,wBAAwBC,KACxB,EAAAD,wBAAwB6F,MAEtC,C,kuCCZA,kBAEA,aACA,cAEA,cACA,WAEMjuH,EAAK,UAAWC,KAAK,WAYrBiuH,EAAS,GAAK,EAAAxuE,UAUdyuE,EAA0BhuH,EAAMC,MAAK,SAACC,GAChC,IAAAW,EAA+CX,EAAK,aAAtCU,EAAiCV,EAAK,UAA3BQ,EAAsBR,EAAK,QAAlB4O,EAAa5O,EAAK,SAGtDi8C,EAAQj8C,EAAMi8C,OAAS4xE,EAEvB,IAAoB/tH,EAAMuE,UAAkB,GAAM,GAAjDsvB,EAAM,KAAEo6F,EAAO,KAChBvjH,EAAc,WAChBujH,GAAQ,GAER7qC,YAAW,WACP1iF,GACJ,GApBmB,IAqBvB,EAEMwtH,EAAgBluH,EAAM6I,OAAe,CACvCslH,WAAY,KACZC,UAAW,KACXC,KAAM,OAkEV,OA/DAruH,EAAMoL,WAAU,WACZ,IAAMgjH,EAAYhrC,YAAW,WACzB14E,GACJ,GAAGyxC,GAQH,OANA+xE,EAAcziH,QAAU,CACpB0iH,WAAYvpD,KAAKD,MACjBypD,UAAS,EACTC,KAAMlyE,GAGH,WACCiyE,GACAE,aAAaF,GAGjBF,EAAcziH,QAAU,CACpB0iH,WAAY,KACZC,UAAW,KACXC,KAAM,KAEd,CAEJ,GAAG,IAkCHruH,EAAMoL,WAAU,WACZg4E,YAAW,WACP6qC,GAAQ,EACZ,GAAG,EACP,GAAG,IAGC,uBACIrtH,WAAW,aACPf,EAAG,QAAS,CACR,iBAAkBg0B,IAEtBjzB,GAEJ2tH,YAhCgB,WACpB,IAAMC,EAAaN,EAAcziH,QACjC,GAAK+iH,EAAWJ,WAAcI,EAAWL,YAAeK,EAAWH,KAAnE,CAIAC,aAAaE,EAAWJ,WAExB,IAAMC,EAAOG,EAAWH,MAAQzpD,KAAKD,MAAQ6pD,EAAWL,YAClDM,EAAYtyE,EAAQ,EAE1B+xE,EAAcziH,QAAU,CACpB2iH,UAAW,KACXD,WAAY,KACZE,KAAMhvG,KAAK6hD,IAAImtD,EAAMI,GAVzB,CAYJ,EAiBQ3iH,aA/CiB,WACrB,IAAMuiH,EAAOH,EAAcziH,QAAQ4iH,MAAQlyE,EAErCiyE,EAAYhrC,YAAW,WACzB14E,GACJ,GAAG2jH,GAEHH,EAAcziH,QAAU,CACpB2iH,UAAS,EACTD,WAAYvpD,KAAKD,MACjB0pD,KAAI,EAEZ,EAmCsC,qBACVxtH,GAEnBiO,EAASpE,GAGtB,IAEA,UAAesjH,C,+BClIf,WAAgB,QAAU,6BAA6B,iBAAiB,oCAAoC,MAAQ,2BAA2B,MAAQ,2BAA2B,SAAW,8BAA8B,cAAgB,mCAAmC,gBAAkB,qCAAqC,OAAS,4BAA4B,SAAW,8B,ilECArX,kBACA,WACA,WA2tBMU,EAztBN,YAGI,aACI,QAAK,UAAC,EAAA7pE,QAAS,CACXC,SAAU,OACVC,QAAS,EAAAlF,aACX,K,OAWN,EAAA8uE,iCAAmC,SAC/BxlC,GAA6I,kBAC9IlkC,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QACR,CACIC,OAAQ,MACR1gB,KAAM,4CAAqCykD,EAAqB,uBAChE9jC,4BAA6B,S,QAKzC,EAAA3wC,yBAA2B,SACvBk6G,GAAoH,kBACrH3pE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAuE,CAC/EC,OAAQ,MACR1gB,KAAM,oCACNv+B,MAAOyoH,EACPvpE,4BAA6B,S,QAIrC,EAAAwpE,kBAAoB,SAChBC,GAA0G,kBAC3G7pE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA2D,CACnEC,OAAQ,MACR1gB,KAAM,uBACNv+B,MAAO2oH,EACPzpE,4BAA6B,S,QAIrC,EAAA6iB,WAAa,SACTv7D,GAAqD,kBACtDs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA4D,CACpEC,OAAQ,OACR1gB,KAAM,uBACN/3B,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAA0pE,cAAgB,SACZ3/D,GAAiE,kBAClEnK,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAiE,CACzEC,OAAQ,SACR1gB,KAAM,+BAAwB0qB,GAC9B/J,4BAA6B,Y,QAIrC,EAAA2pE,sBAAwB,SACpBriH,GAA0E,kBAC3Es4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAwE,CAChFC,OAAQ,OACR1gB,KAAM,qCACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAA4pE,yBAA2B,SACvBtiH,GAAmE,kBACpEs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA0E,CAClFC,OAAQ,OACR1gB,KAAM,uCACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAA6pE,iBAAmB,SACfviH,GAAsE,kBACvEs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAoE,CAC5EC,OAAQ,OACR1gB,KAAM,iCACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAA8pE,mBAAqB,SACjBxiH,GAA+D,kBAChEs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAsE,CAC9EC,OAAQ,OACR1gB,KAAM,mCACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAA+pE,iBAAmB,SACfziH,GAA4D,kBAC7Ds4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAmE,CAC3EC,OAAQ,MACR1gB,KAAM,gCACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAAgqE,gBAAkB,SACd1iH,GAA2D,kBAC5Ds4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAkE,CAC1EC,OAAQ,MACR1gB,KAAM,+BACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAAiqE,oBAAsB,SAClBlgE,GAA8D,kBAC/DnK,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA8D,CACtEC,OAAQ,MACR1gB,KAAM,+BAAwB0qB,GAC9B/J,4BAA6B,S,QAIrC,EAAAkqE,8BAAgC,6BAAUtqE,SAAO,W,2BAG7C,MAAO,CAAP,EAAOC,KAAKC,QAA2E,CACnFC,OAAQ,MACR1gB,KAAM,0CACN2gB,4BAA6B,S,QAIrC,EAAAmqE,cAAgB,SACZpgE,EACAziD,GAAuD,kBACxDs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA8D,CACtEC,OAAQ,MACR1gB,KAAM,+BAAwB0qB,GAC9BziD,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAAoqE,iCAAmC,SAC/BnoG,GAAoE,kBACrE29B,SAAO,W,iCAMN,OALMyqE,EAA0E,CAC5EpoG,YAAW,EACX+E,UAAU,GAGP,CAAP,EAAO64B,KAAKC,QAAyD,CACjEC,OAAQ,MACR1gB,KAAM,qBACNv+B,MAAOupH,EACPrqE,4BAA6B,S,QAIrC,EAAAsqE,gBAAkB,SACdD,GAAsG,kBACvGzqE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAyD,CACjEC,OAAQ,MACR1gB,KAAM,qBACNv+B,MAAOupH,EACPrqE,4BAA6B,S,QAIrC,EAAA+iB,SAAW,SACPz7D,GAAmD,kBACpDs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA0D,CAClEC,OAAQ,OACR1gB,KAAM,qBACN/3B,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAAuqE,eAAiB,SACbjjH,GAA0D,kBAC3Ds4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAiE,CACzEC,OAAQ,MACR1gB,KAAM,8BACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAAwqE,YAAc,SACVr1E,EACA7tC,GAAqD,kBACtDs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA4D,CACpEC,OAAQ,MACR1gB,KAAM,6BAAsB8V,GAC5B7tC,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAAyqE,cAAgB,SACZnjH,GAAyD,kBAC1Ds4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAgE,CACxEC,OAAQ,MACR1gB,KAAM,6BACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAA0qE,kBAAoB,SAChBv1E,GAA0D,kBAC3DyK,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA4D,CACpEC,OAAQ,MACR1gB,KAAM,6BAAsB8V,GAC5B6K,4BAA6B,S,QAIrC,EAAA2qE,4BAA8B,6BAAU/qE,SAAO,W,2BAG3C,MAAO,CAAP,EAAOC,KAAKC,QAAyE,CACjFC,OAAQ,MACR1gB,KAAM,wCACN2gB,4BAA6B,S,QAIrC,EAAA4qE,YAAc,SACVz1E,GAA6D,kBAC9DyK,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA+D,CACvEC,OAAQ,SACR1gB,KAAM,6BAAsB8V,GAC5B6K,4BAA6B,Y,QAIrC,EAAA6qE,oBAAsB,SAClB/mC,EACAgnC,GAA4G,kBAC7GlrE,SAAO,W,iCAON,OAJM9+C,EAAoG,CACtGgqH,WAAU,GAGP,CAAP,EAAOjrE,KAAKC,QAAmG,CAC3GC,OAAQ,MACR1gB,KAAM,0CAAmCykD,EAAqB,YAC9DhjF,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAA+qE,cAAgB,SACZjnC,EACAhjF,GAAuG,kBACxG8+C,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QACR,CACIC,OAAQ,OACR1gB,KAAM,0CAAmCykD,EAAqB,mBAC9DhjF,MAAK,EACLk/C,4BAA6B,Y,QAKzC,EAAAgrE,gBAAkB,SACdlnC,GAAwI,kBACzIlkC,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QACR,CACIC,OAAQ,OACR1gB,KAAM,0CAAmCykD,EAAqB,mBAC9D9jC,4BAA6B,Y,QAKzC,EAAAirE,sBAAwB,6BAAUrrE,SAAO,W,2BAGrC,MAAO,CAAP,EAAOC,KAAKC,QAAmE,CAC3EC,OAAQ,MACR1gB,KAAM,gCACN2gB,4BAA6B,S,QAIrC,EAAAy9C,8BAAgC,6BAAU79C,SAAO,W,2BAG7C,MAAO,CAAP,EAAOC,KAAKC,QAA2E,CACnFC,OAAQ,MACR1gB,KAAM,yCACN2gB,4BAA6B,S,QAIrC,EAAAkrE,4BAA8B,SAC1BnrF,GAAuF,kBACxF6f,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA8E,CACtFC,OAAQ,MACR1gB,KAAM,wCAAiCU,GACvCigB,4BAA6B,S,QAIrC,EAAAmrE,yBAA2B,SACvBrnC,GAA4H,kBAC7HlkC,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QAA6F,CACrGC,OAAQ,MACR1gB,KAAM,4CAAqCykD,GAC3C9jC,4BAA6B,S,QAIrC,EAAAorE,mBAAqB,SACjBC,GAAwE,kBACzEzrE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAmE,CAC3EC,OAAQ,MACR1gB,KAAM,8BAAuBgsF,GAC7BrrE,4BAA6B,S,QAIrC,EAAAsrE,aAAe,SACXD,EACAE,GAA4E,kBAC7E3rE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA0E,CAClFx4C,KAAMikH,EACNxrE,OAAQ,OACR1gB,KAAM,8BAAuBgsF,EAAQ,WACrCrrE,4BAA6B,S,QAIrC,EAAAwrE,eAAiB,SACbH,GAAiF,kBAClFzrE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA4E,CACpFC,OAAQ,OACR1gB,KAAM,8BAAuBgsF,EAAQ,aACrCrrE,4BAA6B,Y,QAIrC,EAAAyrE,cAAgB,SACZJ,GAAgF,kBACjFzrE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA2E,CACnFC,OAAQ,OACR1gB,KAAM,8BAAuBgsF,EAAQ,YACrCrrE,4BAA6B,Y,QAIrC,EAAA0rE,aAAe,SACXL,GAAiF,kBAClFzrE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA4E,CACpFC,OAAQ,SACR1gB,KAAM,8BAAuBgsF,EAAQ,WACrCrrE,4BAA6B,Y,QAIrC,EAAA2rE,aAAe,SACXrkH,GAA8D,kBAC/Ds4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAqE,CAC7EC,OAAQ,OACR1gB,KAAM,iCACN/3B,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAA2iB,UAAY,SACRr7D,GAA6D,kBAC9Ds4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAoE,CAC5EC,OAAQ,OACR1gB,KAAM,iCACN/3B,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAAiL,qBAAuB,SACnBC,GAAyF,kBAC1FtL,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAkF,CAC1FC,OAAQ,MACR1gB,KAAM,8CAAuC6rB,GAC7ClL,4BAA6B,S,QAKrC,EAAA4rE,+BAAiC,SAC7B1gE,EACAzjC,GAAkG,kBACnGm4B,SAAO,W,iCAON,OAJM9+C,EAA4F,CAC9F+qH,eAAgBpkG,GAGb,CAAP,EAAOo4B,KAAKC,QAA2F,CACnGC,OAAQ,MACR1gB,KAAM,8CAAuC6rB,EAAS,gBACtDpqD,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAA8rE,iBAAmB,SACfhrH,GAA+E,kBAChF8+C,SAAO,W,iCAEN,OAA+B,KAAb,QAAd,EAAA9+C,EAAMy8B,gBAAQ,eAAEzgC,QACT,CAAC,EAAD,CAAC,KAAM,CAAE+c,QAAS,MAGtB,CAAP,EAAOgmC,KAAKC,QAA0D,CAClEC,OAAQ,MACR1gB,KAAM,sBACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAAumE,aAAe,SACXzlH,GAA+E,kBAChF8+C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA0D,CAClEC,OAAQ,MACR1gB,KAAM,sBACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAA+rE,sBAAwB,SACpB9pG,GAA4E,kBAC7E29B,SAAO,W,iCAKN,OAJM9+C,EAAkE,CACpEmhB,YAAW,GAGR,CAAP,EAAO49B,KAAKC,QAAiE,CACzEC,OAAQ,MACR1gB,KAAM,+BACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAAgsE,oBAAsB,SAClB/pG,GAA0E,kBAC3E29B,SAAO,W,iCAKN,OAJM9+C,EAAgE,CAClEmhB,YAAW,GAGR,CAAP,EAAO49B,KAAKC,QAA+D,CACvEC,OAAQ,MACR1gB,KAAM,6BACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAAisE,wBAA0B,SACtB3kH,GAAkE,kBACnEs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAyE,CACjFC,OAAQ,OACR1gB,KAAM,sCACN/3B,KAAI,EACJ04C,4BAA6B,Y,QAKrC,EAAAksE,2BAA6B,SAAO5kH,GAAS,kBAAGs4C,SAAO,W,kDAEnD,SAAM,IAAIA,SAAc,SAACy+B,GACrBN,YAAW,WACPM,GACJ,GAAG,IACP,K,OACA,OALA,SAKO,CAAP,EAAOz+B,QAAQy+B,QAAQ,CAAC,KAAM,Q,QAGlC,EAAA8tC,+BAAiC,SAC7BroC,EACAhjF,GAAgG,kBACjG8+C,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QAAkG,CAC1GC,OAAQ,MACR1gB,KAAM,0CAAmCykD,EAAqB,WAC9DhjF,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAAosE,iCAAmC,SAC/BtoC,EACAhjF,GAAkG,kBACnG8+C,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QACR,CACIC,OAAQ,MACR1gB,KAAM,0CAAmCykD,EAAqB,aAC9DhjF,MAAK,EACLk/C,4BAA6B,S,QAKzC,EAAAqsE,+BAAiC,SAC7BvoC,EACAhjF,GAAuG,kBACxG8+C,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QACR,CACIC,OAAQ,OACR1gB,KAAM,0CAAmCykD,EAAqB,kBAC9DhjF,MAAK,EACLk/C,4BAA6B,Y,QAKzC,EAAAssE,iBAAmB,SACfxoC,GAA0I,kBAC3IlkC,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QACR,CACIC,OAAQ,OACR1gB,KAAM,0CAAmCykD,EAAqB,oBAC9D9jC,4BAA6B,Y,QAKzC,EAAAusE,qBAAuB,SACnBxsF,GAAiG,kBAClG6f,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAwF,CAChGC,OAAQ,MACR1gB,KAAM,wCAAiCU,EAAU,gBACjDigB,4BAA6B,S,QAIrC,EAAAwsE,sBAAwB,SACpBjvG,GAAU,kBACXqiC,SAAO,W,iCAIN,OAHM6sE,EAAW,IAAIC,UACZC,OAAO,OAAQpvG,GAEjB,CAAP,EAAOsiC,KAAKC,QAAoE,CAC5E8sE,QAAS,CACL,eAAgB,uBAEpBtlH,KAAMmlH,EACN1sE,OAAQ,OACR1gB,KAAM,gCACN2gB,4BAA6B,Y,QAIrC,EAAA6sE,kBAAoB,SAChBtvG,GAAU,kBACXqiC,SAAO,W,iCAIN,OAHM6sE,EAAW,IAAIC,UACZC,OAAO,OAAQpvG,GAEjB,CAAP,EAAOsiC,KAAKC,QAAkE,CAC1E8sE,QAAS,CACL,eAAgB,uBAEpBtlH,KAAMmlH,EACN1sE,OAAQ,OACR1gB,KAAM,8BACN2gB,4BAA6B,Y,QAIrC,EAAA8sE,gBAAkB,SACdvvG,GAAU,kBACXqiC,SAAO,W,iCAIN,OAHM6sE,EAAW,IAAIC,UACZC,OAAO,OAAQpvG,GAEjB,CAAP,EAAOsiC,KAAKC,QAAgE,CACxE8sE,QAAS,CACL,eAAgB,uBAEpBtlH,KAAMmlH,EACN1sE,OAAQ,OACR1gB,KAAM,4BACN2gB,4BAA6B,Y,QAIrC,EAAA+sE,kBAAoB,SAChBjsH,GAA+D,kBAChE8+C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAiE,CACzEC,OAAQ,MACRj/C,MAAK,EACLu+B,KAAM,8BACN2gB,4BAA6B,S,QAIrC,EAAAgtE,gBAAkB,SACdlsH,GAA6D,kBAC9D8+C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA+D,CACvEC,OAAQ,MACRj/C,MAAK,EACLu+B,KAAM,4BACN2gB,4BAA6B,S,QAIrC,EAAAitE,sBAAwB,SACpB3kC,EACAxnF,EACAwG,GAA8E,kBAC/Es4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAqF,CAC7FC,OAAQ,OACR1gB,KAAM,+CAAwCipD,GAC9CxnF,MAAK,EACLwG,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAAktE,kBAAoB,SAChBtlG,EACA9mB,EACAwG,GAAsE,kBACvEs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA6E,CACrFC,OAAQ,OACR1gB,KAAM,2CAAoCzX,GAC1C9mB,MAAK,EACLwG,KAAI,EACJ04C,4BAA6B,S,QAIrC,EAAAmtE,oBAAsB,SAClBC,GAAqF,kBACtFxtE,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAkF,CAC1FC,OAAQ,SACR1gB,KAAM,sCAA+B+tF,EAAO,WAC5CptE,4BAA6B,Y,SA5sBrC,CA+sBJ,OAvtBiC,OAUf,EAAAU,YAAd,WAKI,OAJK2sE,EAAmBzsE,WACpBysE,EAAmBzsE,SAAW,IAAIysE,GAG/BA,EAAmBzsE,QAC9B,EAusBJ,EAvtBA,CAAiC,WAytBaF,cAE9C,UAAe2oE,C,yHChuBf,IAqBYiE,EArBZ,UAOMC,EAAsB,SAACC,GACzB,IAAKA,EACD,OAAO,IAAI7jG,IAAI,IAGnB,IACI,OAAO,IAAIA,IAAI6jG,EAAkBC,MARvB,KASd,CAAE,MAAO7uH,GAGL,OAFA,IAAA2wB,YAAW3wB,aAAK,EAALA,EAAOwU,SAEX,IAAIuW,IAAI,GACnB,CACJ,GAEA,SAAY2jG,GACR,aACH,CAFD,CAAYA,IAAiB,oBAAjBA,EAAiB,KAI7B,IAAMI,EAAuBH,EAAoBtyE,OAAO0yE,kBAClDC,EAA+B,IAAIjkG,IAAuB,CAAC2jG,EAAkB1qF,OAE7EirF,EAAwBN,EAAoBtyE,OAAO6yE,mBACnDC,EAAgC,IAAIpkG,IAAuB,IAEpD,EAAAqkG,mBAAqB,SAACnpB,GAC/B,IAAMopB,EAAYP,EAAqB5jG,IAAI+6E,IAAY+oB,EAA6B9jG,IAAI+6E,GAClF3kG,EAAa2tH,EAAsB/jG,IAAI+6E,IAAYkpB,EAA8BjkG,IAAI+6E,GAE3F,OAAOopB,IAAc/tH,CACzB,C,+BCnCA,WAAgB,gBAAgB,sCAAsC,OAAS,+BAA+B,SAAW,iC,q7BCDzH,kBACA,cAEA,cACA,cACA,WACA,cACA,cACA,WAGM1F,EAAK,UAAWC,KAAK,WASrByzH,EAA+CvzH,EAAMC,MAAK,SAACC,G,MACrDg/E,EAAsDh/E,EAAK,KAArDszH,EAAgDtzH,EAAK,uBAA7B0hG,EAAwB1hG,EAAK,oBAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,IAAKk+E,EACD,OAAO,KAGX,IAAMu0C,GAA+B,QAAf,EAAAv0C,aAAI,EAAJA,EAAM50D,iBAAS,eAAG,KAAM,KACxCglD,GAAWmkD,aAAa,EAAbA,EAAehV,yBAAyBgV,aAAa,EAAbA,EAAe1wC,uBAAwB,KAEhG,OACI,gBAAC,UAAgB,CACbzT,SAAUA,EACVokD,oBAAqB3yH,EAAE,mCACvB4yH,cAAe5yH,EAAE,wBACjB6yH,cAAe,SAACruH,GAAe,OAC3B,gBAAC,UAAM,CACH3D,SACI,gBAAC,UAAc,CACXC,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,QAG1C1G,MAAO,EAAA2N,gBAAgB8O,QACvBjd,UAAWf,EAAG,SAAU,iBACxB8B,QAAS6xH,EACTjuH,WAAYA,GAAcq8F,GAEzB7gG,EAAE,qEAboB,GAkB3C,IAEA,UAAewyH,C,+BCxDf,WAAgB,aAAa,yCAAyC,QAAU,sCAAsC,qBAAqB,iDAAiD,iBAAmB,+CAA+C,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,kLCEpV,EAAAM,uBAAyB,SAACjwH,GAA6C,OAAAA,EAAMkwH,YAAY5lH,KAAlB,EAEvE,EAAA6lH,uBAAyB,SAACnwH,GAA6C,OAAAA,EAAMkwH,YAAY3tH,KAAlB,EAEvE,EAAA6tH,uBAAyB,SAACpwH,GAA6C,OAAAA,EAAMkwH,YAAYzlH,KAAlB,EAEvE,EAAA4lH,uBAAyB,SAACrwH,GAA4C,OAAAA,EAAMkwH,YAAYvlH,IAAlB,C,+BCRnF,WAAgB,sBAAsB,+DAA+D,wBAAwB,iEAAiE,kBAAkB,2DAA2D,gBAAgB,yDAAyD,cAAc,uDAAuD,eAAe,wDAAwD,0BAA0B,mEAAmE,UAAY,qDAAqD,OAAS,kDAAkD,SAAW,oD,qKCUhsBlM,EAAU,CAAC,EAEfA,EAAQ6xH,kBAAoB,IAC5B7xH,EAAQ8xH,cAAgB,IAElB9xH,EAAQmoE,OAAS,SAAc,KAAM,QAE3CnoE,EAAQ+xH,OAAS,IACjB/xH,EAAQgyH,mBAAqB,IAEhB,IAAI,IAAShyH,GAKnB,UAAe,KAAW,IAAQiyH,OAAS,IAAQA,YAAS9tH,C,iVCzBnE,eACA,WACA,WAwCM+tH,EAAa,SAAChjF,GAChB,OAAQA,aAAI,EAAJA,EAAMpsC,OACV,KAAK,EAAAqvH,qBAAqBhkF,YACtB,OAAIe,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,uBAEJ,wBAEX,KAAK,EAAAD,qBAAqBE,WACtB,OAAInjF,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,kBAEJ,mBAEX,KAAK,EAAAD,qBAAqBh4E,YACtB,OAAIjL,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,mBAEJ,oBAEX,QACI,OAAO,KAGnB,EAsFS,EAAAtuD,sBApFqB,SAC1B/rD,EACAm3B,GAEA,IAAM9zB,EAAgBrD,EAAa,EAAAiwC,qBAAqB5sC,eAEpDk3G,EACAv6G,EAAa,EAAAiwC,qBAAqBuqE,0BAAuBpuH,EAEzD4T,EAAa,EAAAiwC,qBAAqBwqE,4BAClCF,GAA6B,GAGjC,IAAIG,EAAoC16G,EAAa,EAAAiwC,qBAAqB0qE,iBAAcvuH,EAEpF4T,EAAa,EAAAiwC,qBAAqB2qE,mBAClCF,GAAe,GAGnB,IAAM1/E,EAAgBh7B,EAAa,EAAAiwC,qBAAqBjV,eAClDn4B,EAAiB7C,EAAa,EAAAiwC,qBAAqBptC,gBAEnDg4G,EAAkB76G,EAAa,EAAAiwC,qBAAqB4qE,iBACpDC,EAAgB96G,EAAa,EAAAiwC,qBAAqB6qE,eAElDC,EAAiB/6G,EAAa,EAAAiwC,qBAAqB8qE,gBACnDC,EAAeh7G,EAAa,EAAAiwC,qBAAqB+qE,cAEjD3oB,EAAkBryF,EAAa,EAAAiwC,qBAAqBoiD,iBACpDE,EAAgBvyF,EAAa,EAAAiwC,qBAAqBsiD,eAElD9/E,EAAYzS,EAAa,EAAAiwC,qBAAqBx9B,WAC9CtQ,EAAYnC,EAAa,EAAAiwC,qBAAqB9tC,WAE9C84G,EAAej7G,EAAa,EAAAiwC,qBAAqBgrE,cACjDC,EAAsBl7G,EAAa,EAAAiwC,qBAAqBirE,qBAExDC,EAA+C,iBAAlB93G,GAA8BA,EAAgB,KAEjF,OAAO,EAAP,GACI23B,cAAeA,EAAgB,CAACA,QAAiB5uC,EACjDovC,mBAAoB34B,EAAiB,CAACA,QAAkBzW,EAExDgvH,oBAAqBP,QAAmBzuH,EACxCivH,kBAAmBP,QAAiB1uH,EAEpCkvH,eAAgBP,QAAkB3uH,EAClCmvH,aAAcP,QAAgB5uH,EAE9BimG,gBAAiBA,QAAmBjmG,EACpCmmG,cAAeA,QAAiBnmG,EAEhCqgG,MAAMzsF,EAAa,EAAAiwC,qBAAqBurE,uBAA2BpvH,EAEnEqvH,eAA+C,iBAAxBN,EAAmC,CAACA,QAAuB/uH,EAElFqmB,UAAWA,EAAY,CAACA,QAAarmB,EACrC+V,UAAWA,EAAY,CAACA,QAAa/V,EAErC6uH,aAAcA,EAAe,CAACA,QAAgB7uH,EAC9C8uH,oBAAqBA,EAAsB,CAACA,QAAuB9uH,EAEnEmuH,2BAA0B,EAC1BG,aAAY,EAEZ9oB,WAAY5xF,EAAa,EAAAiwC,qBAAqB3gB,kBAAeljC,EAE7D8zF,gCACIlgF,EAAa,EAAAiwC,qBAAqBiwC,uCAAoC9zF,EAC1E+zF,4BAA6BngF,EAAa,EAAAiwC,qBAAqBkwC,mCAAgC/zF,EAC/Fg0F,+BAAgCpgF,EAAa,EAAAiwC,qBAAqBmwC,sCAAmCh0F,EACrGi0F,2BAA4BrgF,EAAa,EAAAiwC,qBAAqBowC,kCAA+Bj0F,EAC7Fk0F,+BAAgCtgF,EAAa,EAAAiwC,qBAAqBqwC,sCAAmCl0F,EACrGm0F,2BAA4BvgF,EAAa,EAAAiwC,qBAAqBswC,kCAA+Bn0F,EAC7F+0F,SAAUnhF,EAAa,EAAAiwC,qBAAqBuwC,oBAAiBp0F,EAC7Dq0F,OAAQzgF,EAAa,EAAAiwC,qBAAqBwwC,cAAWr0F,EACrDg1F,OAAQphF,EAAa,EAAAiwC,qBAAqBywC,sBAAmBt0F,GA5IpC,SAAC2pE,GAC9B,OAAQA,GACJ,KAAK,EAAA2lD,4BAA4Br0E,IAC7B,MAAO,CACHs0E,UAAW,OAGnB,KAAK,EAAAD,4BAA4BrwF,kBAC7B,MAAO,CACHswF,UAAW,cAGnB,KAAK,EAAAD,4BAA4BpwF,gBAC7B,MAAO,CACHqwF,UAAW,YAGnB,KAAK,EAAAD,4BAA4BnwF,UAC7B,MAAO,CACHowF,UAAW,cAGnB,KAAK,EAAAD,4BAA4BlwF,UAC7B,MAAO,CACHmwF,UAAW,aAGnB,KAAK,EAAAD,4BAA4BjwF,SAC7B,MAAO,CACHkwF,UAAW,YAGnB,QACI,MAAO,CAAC,EAGpB,CA0GWC,CAAyB57G,EAAa,EAAAiwC,qBAAqB8lB,eAAa,CAE3E8lD,MAAO1B,EAAWhjF,SAAS/qC,GAEnC,C,+BCtJA,WAAgB,MAAQ,gCAAgC,aAAe,uCAAuC,OAAS,iCAAiC,SAAW,mC,+nBCDnK,eA+Da,EAAA2qH,iBAAmB,SAC5Bx8G,EACAxO,EACAnB,EACA3C,GAEA,MAAO,CACHc,KAAM,EAAA+yH,2BACN/vH,MAAK,EACLwO,WAAU,EACV3P,UAAS,EACT3C,QAAO,EAEf,EAEa,EAAA8zH,sBAAwB,SACjChwH,EACAwO,EACA3P,GAC+B,OAC/B7B,KAAM,EAAAizH,iCACNjwH,MAAK,EACLwO,WAAU,EACV3P,UAAS,EAJsB,EAOtB,EAAAqxH,wBAA0B,SACnClwH,EACAwO,EACAI,EACA/P,GACiC,OACjC7B,KAAM,EAAAmzH,mCACNnwH,MAAK,EACL4O,aAAY,EACZJ,WAAU,EACV3P,UAAS,EALwB,EAQxB,EAAAuxH,sBAAwB,SACjCpwH,EACAwO,EACA1Q,EACAe,GAC+B,OAC/B7B,KAAM,EAAAqzH,iCACNrwH,MAAK,EACLwO,WAAU,EACV1Q,MAAK,EACLe,UAAS,EALsB,EAQtB,EAAAyxH,aAAe,SACxBzxH,EACAoQ,GACsB,OACtBjS,KAAM,EAAAuzH,cACN1xH,UAAS,EACToQ,oBAAmB,EAHG,EAMb,EAAA47G,aAAe,SAAC2F,EAAoC3xH,GAA+C,OAC5G7B,KAAM,EAAAyzH,sBACND,UAAS,EACT3xH,UAAS,EAHmG,EAMnG,EAAA6xH,kBAAoB,SAAC7xH,GAAoD,OAClF7B,KAAM,EAAA2zH,4BACN9xH,UAAS,EAFyE,EAKzE,EAAA+xH,oBAAsB,SAAC/xH,GAAsD,OACtF7B,KAAM,EAAA6zH,8BACNhyH,UAAS,EAF6E,EAK7E,EAAAiyH,kBAAoB,SAAChzH,EAAce,GAAoD,OAChG7B,KAAM,EAAA+zH,4BACNjzH,MAAK,EACLe,UAAS,EAHuF,EAMvF,EAAAgjE,UAAY,SAAC2uD,EAAiC3xH,GAA4C,OACnG7B,KAAM,EAAAg0H,mBACNR,UAAS,EACT3xH,UAAS,EAH0F,EAM1F,EAAAoyH,eAAiB,SAACpyH,GAAiD,OAC5E7B,KAAM,EAAAk0H,yBACNryH,UAAS,EAFmE,EAKnE,EAAAsyH,iBAAmB,SAACtyH,GAAmD,OAChF7B,KAAM,EAAAo0H,2BACNvyH,UAAS,EAFuE,EAKvE,EAAAwyH,eAAiB,SAACvzH,EAAce,GAAiD,OAC1F7B,KAAM,EAAAs0H,yBACNxzH,MAAK,EACLe,UAAS,EAHiF,EAMjF,EAAA+rH,aAAe,SAACL,EAAqB1rH,GAA+C,OAC7F7B,KAAM,EAAAu0H,sBACNhH,SAAQ,EACR1rH,UAAS,EAHoF,EAMpF,EAAA2yH,kBAAoB,SAAC3yH,GAAoD,OAClF7B,KAAM,EAAAy0H,4BACN5yH,UAAS,EAFyE,EAKzE,EAAA6yH,oBAAsB,SAAC7yH,GAAsD,OACtF7B,KAAM,EAAA20H,8BACN9yH,UAAS,EAF6E,EAK7E,EAAA+yH,kBAAoB,SAAC9zH,EAAce,GAAoD,OAChG7B,KAAM,EAAA60H,4BACN/zH,MAAK,EACLe,UAAS,EAHuF,EAMvF,EAAA2rH,aAAe,SACxBD,EACAuH,EACAjzH,GACsB,OACtB7B,KAAM,EAAA+0H,sBACNxH,SAAQ,EACRuH,cAAa,EACbjzH,UAAS,EAJa,EAOb,EAAA6rH,eAAiB,SAACH,EAAqB1rH,GAAiD,OACjG7B,KAAM,EAAAg1H,gBACNzH,SAAQ,EACR1rH,UAAS,EAHwF,EAMxF,EAAAozH,mBAAqB,SAACC,EAAuBrzH,GAAqD,OAC3G7B,KAAM,EAAAm1H,qBACND,aAAY,EACZrzH,UAAS,EAHkG,EAMlG,EAAA8rH,cAAgB,SAACJ,EAAqB1rH,GAAgD,OAC/F7B,KAAM,EAAAo1H,eACN7H,SAAQ,EACR1rH,UAAS,EAHsF,EAMtF,EAAAwzH,kBAAoB,SAACxzH,GAAoD,OAClF7B,KAAM,EAAAs1H,4BACNzzH,UAAS,EAFyE,EAKzE,EAAA0zH,oBAAsB,SAAC1zH,GAAsD,OACtF7B,KAAM,EAAAw1H,8BACN3zH,UAAS,EAF6E,EAK7E,EAAA4zH,kBAAoB,SAAC30H,EAAce,GAAoD,OAChG7B,KAAM,EAAA01H,4BACN50H,MAAK,EACLe,UAAS,EAHuF,EAMvF,EAAAyrH,mBAAqB,SAC9BC,EACA1rH,EACA8zH,GAC4B,OAC5B31H,KAAM,EAAA41H,6BACNrI,SAAQ,EACR1rH,UAAS,EACT8zH,aAAY,EAJgB,EAOnB,EAAAE,wBAA0B,SAACh0H,GAA0D,OAC9F7B,KAAM,EAAA81H,mCACNj0H,UAAS,EAFqF,EAKrF,EAAAk0H,0BAA4B,SACrCxI,EACAphH,EACAtK,GACmC,OACnC7B,KAAM,EAAAg2H,qCACN7pH,QAAO,EACPohH,SAAQ,EACR1rH,UAAS,EAJ0B,EAO1B,EAAAo0H,wBAA0B,SAACn1H,EAAce,GAA0D,OAC5G7B,KAAM,EAAAk2H,mCACNp1H,MAAK,EACLe,UAAS,EAHmG,C,q7BCtQhH,kBAEA,aAEA,cACA,cACA,cACA,cACA,cAGA,cAEMnF,EAAK,UAAWC,KAAK,WA4C3B,UAAeE,EAAMC,MAnCG,SAAmBC,GAC/B,IAAAU,EAAkDV,EAAK,UAA5CmxB,EAAuCnxB,EAAK,YAA/Bo5H,EAA0Bp5H,EAAK,aAAjByB,EAAYzB,EAAK,QAE/D,OACI,uBAAKU,WAAW,aAAGA,EAAWf,EAAG,UAC7B,uBAAKe,UAAWf,EAAG,UACf,gBAAC,UAAO,CACJ0B,YACI+3H,EACI,gBAAC,UAAc,CAACl4H,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD6kH,GAEL,KAER9uH,MAAO,IACPvJ,SAAU,EAAAC,oBAAoBqkF,aAC9BnkF,MAAO,EAAAC,iBAAiBC,QAEvB,SAACuyB,EAAQmrC,GAAsB,OAC5B,gBAAC,UAAQ,CAAC3tC,YAAaA,EAAazwB,WAAW,aAAGf,EAAG,QAASm/D,IADlC,IAIpC,uBACIp+D,UAAWf,EAAG,SACd8B,QAAS,WACLA,EAAQ0vB,EACZ,GAEA,gBAAC,UAAS,CAACxvB,UAAU,mBAKzC,G,sBCpDA,IAAYwoD,EAiDAtyC,E,+FAjDZ,SAAYsyC,GACR,4BAEA,wCACA,kBACA,oBAEA,0BACA,8BAEA,oCACA,gCACA,oCACA,wCAEA,0CACA,sCACA,0CACA,8CAEA,4DACA,uDACH,CAtBD,CAAYA,IAAoB,uBAApBA,EAAoB,KAiDhC,SAAYtyC,GACR,+BACA,+BACA,qCACA,4BACH,CALD,CAAYA,IAAa,gBAAbA,EAAa,I,q7BCpDzB,kBAEA,cACA,cACA,cASMwhH,GANK,UAAWz5H,KAAK,WAMiBE,EAAMC,MAAK,SAACC,GAC5C,IAAA60C,EAAsB70C,EAAK,kBAEnC,OAAO,gBAAC,UAAgB,CAAC60C,kBAAmBA,GAChD,KAEA,UAAewkF,C,0pCCnBf,kBAGA,WACA,WACA,WAMA,cACA,cACA,WACA,WACA,cACA,cAkKA,UAlIyC,SAACr5H,GAElC,IAAAU,EAeAV,EAAK,UAdL+E,EAcA/E,EAAK,aAbLgF,EAaAhF,EAAK,aAZLs5H,EAYAt5H,EAAK,aAXLiF,EAWAjF,EAAK,MAVLkF,EAUAlF,EAAK,SATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLyF,EAOAzF,EAAK,gBANLuC,EAMAvC,EAAK,gBALLqF,EAKArF,EAAK,WAJL0F,EAIA1F,EAAK,YAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLwF,EACAxF,EAAK,WAEHu0B,GAAW,IAAAC,eAEXy3B,GAAM,IAAAj2C,aAAY,EAAAujH,mBAClBlrH,GAAO,IAAA2H,aAAY,EAAAwjH,oBACnBh2H,GAAgB,IAAAwS,aAAY,EAAAyjH,2BAE1B54H,GAAM,IAAAC,kBAAgB,EAExBqB,EAAU,UAAMqC,SAAQ,WAC1B,IAAMrC,EAAU8pD,EACXj9B,QAAO,SAAC9iB,GAAO,OAAAmC,EAAKnC,EAAL,IACfmL,KAAI,SAACnL,GACF,IAAMyiD,EAAUtgD,EAAKnC,GAErB,MAAO,CACHA,GAAIyiD,EAAQziD,IAAM,KAClB0M,KAAM+1C,EAAQ/1C,MAAQ,GACtBjL,OAAQghD,EAAQhhD,QAAU,GAC1BwjB,YAAaw9B,EAAQx9B,aAAe,KAE5C,IAWJ,OATImoG,GACAn3H,EAAQuV,KAAK,CACTxL,GAAI,EAAAwtH,gBACJ9gH,KAAM/X,EAAE,8BACR8M,OAAQ,GACRwjB,YAAa,OAIdhvB,CACX,GAAG,CAACtB,EAAGorD,EAAK59C,EAAMirH,IAElB,UAAMpuH,WAAU,WACRnG,IAAiB,EAAA20H,iBAIjB30H,IAAiBsJ,EAAKtJ,IACtBwvB,GAAS,IAAAolG,kBAAiB50H,EAAcC,GAIhD,GAAG,CAACD,IAEJ,IAAM60H,EAAoB,UAAM5zH,aAC5B,SAACC,GACGsuB,GAAS,IAAAslG,qBAAoB5zH,GACjC,GACA,CAACsuB,IAmBCztB,EAAe,SAACN,EAA6Bd,GAC/C,OAAKc,EAKD,wBAAC,UAA0B,CACvBwyC,iBAAe,EACf7sC,KAAM3F,EAAO2qB,YAAc,wBAAC,UAAQ,CAACA,YAAa3qB,EAAO2qB,cAAkB,KAC3EpqB,MAAOP,EAAOoS,MAAQ,GACtBwW,YAAa5oB,EAAOmH,QAAU,KAR3BjI,CAWf,EAIA,OACI,wBAAC,UAAmB,CAChBhF,UAAWA,EACXyG,cAAelC,EACfS,YAAaA,EACbvD,QAASA,EACTkD,WAAYA,EACZH,SAxCa,SAACD,GAClB,IAAM0pD,EAAUtgD,EAAKpJ,GAErBC,EAASD,GAAS,MAAM0pD,aAAO,EAAPA,EAAS/1C,OAAQ,GAC7C,EAqCQxT,SAAUA,EACVD,WAAYA,EACZiC,cAAewyH,EACf9yH,aAAcA,EACd1E,cAAe0E,EACfU,eAfe,SAAChB,GAA4B,OAAAA,EAAO0F,EAAP,EAgB5C1G,WAAYA,EACZkX,eAAgB,SAACC,GAAa,+BAAC,UAAW,KAAK,EAAAm9G,iBAAiBj9G,gBAAgBF,IAAlD,EAC9BrX,OAAQA,EACRC,QAxCoC,WACpCA,GACAA,GAER,EAqCQhD,gBAAiBA,EACjByM,UAAWxL,EAAcK,QACzB6D,QAASjC,EA/CG,WAChBP,EAAS,KAAM,GACnB,OA6CiDoB,GAGrD,C,kTC9KA,eACA,WAEMyc,EAAkB,CAAC,EAAArjB,WAAWkqB,OAWpC,UATiB,SAAC/oB,EAAcia,GAM5B,OALY,QACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAAiP,kBAAiBlpB,EAAGkiB,EAAiBjI,GAIhD,C,+BCbA,WAAgB,QAAU,gCAAgC,KAAO,6BAA6B,oBAAoB,0CAA0C,OAAS,+BAA+B,SAAW,iC,iHCA/M,IAEYpb,EAFZ,YAEA,SAAYA,GACR,UAEA,kBACA,wBACA,sBAEA,8BAEA,sBACA,gBACA,sBACA,oBAEA,oBAEA,sBACA,4BACA,sBAEA,uBACH,CArBD,CAAYA,IAAU,aAAVA,EAAU,KA8CT,EAAAq6H,kBAAoB,CAC7B,EAAAC,gBAAgBC,SAChB,EAAAD,gBAAgBE,MAChB,EAAAF,gBAAgBG,SAChB,EAAAH,gBAAgBI,Q,kTCnDpB,eACA,WASMr3G,EAAkB,CAAC,EAAArjB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,SAAU,EAAAjqB,WAAW4xB,UAAW,EAAA5xB,WAAWo8E,UAC/Fu+C,EAAkB,CAAC,EAAA36H,WAAW42B,UAC9BgkG,EAAc,CAAC,EAAA56H,WAAW42B,UAC1BikG,EAAe,CAAC,EAAA76H,WAAW86H,cAC3BC,EAAe,CAAC,EAAA/6H,WAAWu6H,SAAU,EAAAv6H,WAAWw6H,MAAO,EAAAx6H,WAAWy6H,SAAU,EAAAz6H,WAAW06H,SAe7F,UAbiB,SAACv5H,EAAcia,GAU5B,OATY,gBACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4/G,eAAc75H,EAAGw5H,EAAiBv/G,KAClC,IAAA6/G,WAAU95H,EAAGy5H,EAAax/G,KAC1B,IAAAiP,kBAAiBlpB,EAAG05H,EAAcz/G,KAClC,IAAA8/G,qBAAoB/5H,EAAG45H,EAAc3/G,KACrC,IAAAkpD,4BAA2BnjE,EAAG,CAAC,EAAAnB,WAAW4xB,WAAYxW,GAIjE,C,q7BC7BA,kBACA,cAEA,cAEMnb,EAAK,UAAWC,KAAK,WAMrBi7H,EAA6B/6H,EAAMC,MAAK,SAACC,GACnC,IAAAu0D,EAAav0D,EAAK,SAE1B,OAAO,wBAAMU,UAAWf,EAAG,SAAU40D,EACzC,IAEA,UAAesmE,C,+BChBf,WAAgB,SAAW,sCAAsC,OAAS,oCAAoC,SAAW,sC,qhBCDzH,IAoBY7/B,EApBZ,cACA,cAEA,aAEA,cAGMr7F,EAAK,UAAWC,KAAK,YAY3B,SAAYo7F,GACR,sCACH,CAFD,CAAYA,IAAiB,oBAAjBA,EAAiB,KAI7B,IAAM8/B,EAAoBp3E,OAAO5oC,OAAOkgF,GAE3B,EAAA+/B,qBAAuB,SAACv0H,GACjC,OAAOs0H,EAAkBv1G,SAAS/e,EACtC,EAEa,EAAAw0H,uBAAyB,SAAC74H,GACnC,OAAAA,EAAQ8uE,MAAK,SAAChyD,GAAS,OAAAA,KAAS,IAAA87G,sBAAqB97G,EAA9B,GAAvB,EAcJ,IAAMg8G,EAAmD,UAAMl7H,MAAK,SAACC,GAE7D,IAAAmC,EASAnC,EAAK,QARLupH,EAQAvpH,EAAK,SAPLqF,EAOArF,EAAK,WANLoC,EAMApC,EAAK,cALLU,EAKAV,EAAK,UAJLuC,EAIAvC,EAAK,gBAHLkC,EAGAlC,EAAK,iBAFLk7H,EAEAl7H,EAAK,6BADLW,EACAX,EAAK,aAEHY,EAAmB,UAAGD,EAAY,aAElC,IAAuB,UAAM0D,UAAS,GAAM,GAA3C0yB,EAAM,KAAEC,EAAU,KAcnBxsB,EAAc,WAChBwsB,GAAW,EACf,EAMMmkG,EAAch5H,EAAQ4/C,QAA0B,SAACo5E,EAAa30H,EAAQ8Q,GACxE,IAAK9Q,EACD,OAAO20H,EAGX,IAAI,IAAAJ,sBAAqBv0H,GACrB20H,EAAYzjH,KAAK,+BAAK/E,IAAK2E,EAAO5W,UAAWf,EAAG,6BAC7C,CACK,IAAAoH,EAAkDP,EAAM,MAAjD,EAA2CA,EAAM,SAA3B,EAAqBA,EAAM,WAEhE20H,EAAYzjH,KACR,+BACI/E,IAAK2E,EACL5W,UAAWf,EAAG,kBAAmB,CAC7B,8BAA+B,IAEnC8B,QAAS,SAACkK,GACFtG,GAAc,IAId,GACA,IAGJmF,IACAmB,EAAMW,kBACV,EAAC,qBACmB,UAAG1L,EAAgB,mBAAW4F,EAAO7F,cAAgB2W,IAExEvQ,GAGb,CAEA,OAAOo0H,CACX,GAAG,IAEH,OAAKA,EAAYl5H,QAAWi5H,EAKxB,wBAAC,UAAkB,CACfE,eAAa,EACbrkG,OAAQA,EACRwyF,SAAUA,EACVrnH,iBAAkBA,EAClBK,gBAAiBA,EACjB7B,UAAWA,EACX49C,YAAal8C,EAAc20B,GAtEF,SAACprB,GAC1BtG,IAIAsG,GACAA,EAAMW,kBAGV0qB,GAAYD,GAChB,IA6DQskG,YAAa,gDAAGF,GAChB36H,QAxDiB,WACrBgK,GACJ,IAyCW,IAgBf,IAEA,UAAeywH,C,sMC3If,kBAEa,EAAAlrE,gCAAkC,WAC3C,OAAO,eAASp2C,QACpB,C,+BCHA,WAAgB,OAAS,kCAAkC,OAAS,kCAAkC,SAAW,oC,oTCDjH,eAEMuY,IAAc,MACf,EAAAxyB,WAAWkZ,MAAO,GACnB,EAAC,EAAAlZ,WAAWiO,QAAS,GAErB,EAAC,EAAAjO,WAAW4iB,cAAe,KAC3B,EAAC,EAAA5iB,WAAW+iB,eAAgB,KAE5B,EAAC,EAAA/iB,WAAWgjB,MAAO,K,GASvB,UANyB,WAGrB,OAFY,KAAqBwP,EAGrC,C,q7BChBA,kBAEA,cACA,cAEMvyB,EAAK,UAAWC,KAAK,WAOrB07H,EAAmCx7H,EAAMC,MAAK,SAACC,GACzC,IAAA4O,EAAqC5O,EAAK,SAAhCu7H,EAA2Bv7H,EAAK,SAAtBW,EAAiBX,EAAK,aAElD,OACI,uBAAKU,UAAWf,EAAG,oBAAmB,qBAAsBgB,GACxD,uBAAKD,UAAWf,EAAG,2BAA4B47H,GAC/C,uBAAK76H,UAAWf,EAAG,4BAA6BiP,GAG5D,IAEA,UAAe0sH,C,kYCtBf,eACA,WAGMv4G,GAAkB,EAFxB,YAEwB,SAAmB,EAAArjB,YAY3C,UAViB,SAACmB,EAAcia,GAO5B,OANY,UACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW87H,qBAAsB,EAAA97H,WAAW+7H,wBAAyB3gH,EAAQ,KAC/F,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW87H,qBAAsB,EAAA97H,WAAW+7H,wBAAyB3gH,EAAQ,KAI1G,C,k9CCfA,kBACA,WAOM4gH,EAAkC,SAAC17H,GAC7B,IAAA2B,EAAoC3B,EAAK,UAA9B0W,EAAyB1W,EAAK,YAAdk5C,EAAI,EAAKl5C,EAAtC,6BAEN,OACI,yBACIoR,MAAM,6BACN48C,WAAW,+BACXxsD,MAAM,KACNsK,OAAO,KACPuF,QAAQ,aACJ6nC,GAEJ,4BACI,wBAAMhtC,GAAG,aAAaqF,EAAE,2CAE5B,qBAAG/E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,qBAAG1H,UAAU,sBACT,uBAAK2C,KAAMkK,EAAa8U,UAAU,gBAClC,uBAAKhf,KAAM7K,EAAW6P,YAAY,MAAMga,UAAU,iBAEtD,wBACIhf,KAAMkK,EACNnF,EAAE,2JAKtB,EAEAmqH,EAAc5pH,YAAc,gBAE5B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBkS,UAChC4C,YAAa,EAAA9U,qBAAqB+W,MAG7B,EAAA5G,WAAAA,EACT,UAAe2pH,EAEF,EAAArrC,mBAAqB,CAC9BJ,eAAgB,WACZ,MAAO,CACHtuF,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB0Q,OAE1C,E,+BCrDJ,WAAgB,gBAAgB,4CAA4C,OAAS,qCAAqC,SAAW,uC,yECArI,eAEA,UAoDA,UA1CyB,SAACzR,EAAcgb,GACpC,IAAMD,EAA2B,CAAC,EAE1B+/G,EAAsD9/G,EAAI,wBAAjC+/G,EAA6B//G,EAAI,yBAC5DggH,EAAcF,EAAwB53H,MACtC+3H,EAAcF,EAAyB73H,MAkC7C,OA/BI83H,IACA,IAAAr9C,gCAA+Bq9C,KAC/BA,aAAW,EAAXA,EAAap9C,WAAY,EAAAC,mCAAmCq9C,yCAE5DngH,EAAO,EAAAlc,WAAWs8H,qBAAuBn7H,EAAE,wCAI3Ci7H,IACA,IAAAt9C,gCAA+Bs9C,KAC/BA,aAAW,EAAXA,EAAar9C,WAAY,EAAAC,mCAAmCu9C,uCAE5DrgH,EAAO,EAAAlc,WAAWs8H,qBAAuBn7H,EAAE,wCAI3Cg7H,IACA,IAAAr9C,gCAA+Bq9C,KAC/BA,aAAW,EAAXA,EAAap9C,WAAY,EAAAC,mCAAmCw9C,uCAE5DtgH,EAAO,EAAAlc,WAAWy8H,mBAAqBt7H,EAAE,wCAIzCi7H,IACA,IAAAt9C,gCAA+Bs9C,KAC/BA,aAAW,EAAXA,EAAar9C,WAAY,EAAAC,mCAAmC09C,qCAE5DxgH,EAAO,EAAAlc,WAAWy8H,mBAAqBt7H,EAAE,wCAGtC+a,CACX,C,q7BCrDA,kBAEA,cACA,cAEA,WACA,cAOMjc,EAAK,UAAWC,KAAK,WAErBy8H,EAA+Bv8H,EAAMC,MAAK,SAACC,GACrC,IAAAs8H,EAA2Ct8H,EAAK,iBAA9Bu8H,EAAyBv8H,EAAK,qBAExD,OACI,uBAAKU,UAAWf,EAAG,SACf,gBAAC,UAAS,CACNo5E,aAAcujD,EAAiBE,YAC/B32H,OAAQy2H,EAAiBjgH,UACzBuQ,KAAM0vG,EAAiBhgF,YACvBG,UAAQ,EACRo3D,gBAAiB,SAAC4oB,GACdF,EAAqBE,EAAO,EAAAzvH,gBAAgBke,QAChD,IAIhB,IAEA,UAAemxG,C,kuCCjCf,kBAEA,cACA,cAEA,WACA,WACA,WACA,cACA,aACA,cACA,cACA,cACA,cACA,WACA,WAMA,WAKA,UACA,cACA,YACA,cAEA,aAGA,aAEA,UACA,WAEA,cACA,cACA,aACA,cACA,cACA,UAEM18H,EAAK,UAAWC,KAAK,WAErB88H,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAiBlEC,EAAmB,SAAC97H,EAAc+xB,GACpC,OAAIA,IAAe,EAAA8rD,mCAAmCk+C,8BAC3C/7H,EAAE,gDAGN+xB,GAAc,IACzB,EAEMiqG,EAA6C/8H,EAAMC,MAAK,SAACC,GACnD,IAAA88H,EAA4F98H,EAAK,SAAvFmjC,EAAkFnjC,EAAK,cAAxE+8H,EAAmE/8H,EAAK,aAA1D2jD,EAAqD3jD,EAAK,yBAAhCqD,EAA2BrD,EAAK,UAArBsD,EAAgBtD,EAAK,YAEnGu0B,GAAW,IAAAC,eAEXwoG,GAAwB,IAAAhnH,cAAY,IAAAinH,qCAAoC55H,IACxEs5F,GAAoC,IAAA3mF,cAAY,IAAAknH,yCAAwC75H,IAExF85H,GAAoC,gBAE1C,aAAgCxgC,EAAmC,CAACwgC,GAAoC,CACpGC,oBAAoB,IAGxB,IAAMpuH,EAAYguH,EAAsBn5H,SAAW84F,EAAkC94F,QAE7EhD,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEJf,EAAMoL,WAAU,WACP7H,EAILkxB,GAAS,IAAA8oG,2BAA0Bh6H,KAH/B,IAAAqxB,YAAW,wDAInB,GAAG,CAACrxB,EAAWkxB,IAEf,IAAMhC,GAAuB,IAAAvc,cAAY,IAAAsnH,iCAAgCj6H,IAEnE,IAAiCvD,EAAM0E,SAAQ,WACjD,IAAMsW,GAAS,aAAiByX,GAGhC,MAAO,CAACzX,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACyX,IAAsB,GANnB/X,EAAa,KAAEupC,EAAa,KA6B7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMwiH,GAAc,aAAmBziH,GAEvC,GAAKqoB,aAAa,EAAbA,EAAej3B,GAKpB,GAAK6wH,EAKL,GAAKQ,EAAL,CAKA,GAAIT,EAAU,CACV,IAAKx5H,EAED,YADA,IAAAoxB,YAAW,0DAGfyoG,EAAkCv0F,QAAQ,CACtCtlC,YAAW,EACXy5F,eAAgBggC,aAAY,EAAZA,EAAc7wH,GAC9BO,KAAM8wH,GAEd,KAAO,CACH,IAAKA,EAAY7jH,UAEb,YADA,IAAAgb,YAAW,yDAGf,IAAKrxB,EAED,YADA,IAAAqxB,YAAW,wDAIfH,GAAS,IAAAipG,4BAA2Bn6H,EAAW8/B,EAAcj3B,GAAIqxH,GACrE,CAEAxiH,EAAcI,WAAW,CAAC,EAzB1B,MAFI,IAAAuZ,YAAW,2DALX,IAAAA,YAAW,4DALX,IAAAA,YAAW,oDAsCnB,IAGEqrB,EAA2BjgD,EAAM6yB,WAAW,WAClD7yB,EAAMoL,WAAU,WACR60C,EAAyB09E,wBACzB19E,EAAyB09E,uBAAuB,CAC5Cx9E,OAAQxlC,EAAOijH,WACf75D,MAAOppD,EAAOkjH,WAI1B,GAAG,CAACljH,EAAOijH,WAAYjjH,EAAOkjH,YAE9B,IAAM77G,EAAchiB,EAAM0E,SAAQ,WAC9B,OAAO,aAAc3D,EAAG87F,EAE5B,GAAG,CAAC97F,EAAG87F,aAAiC,EAAjCA,EAAmC54F,QAEpC,GAA4C,aAAmB+d,GAA7DC,EAAe,kBAAEE,EAAoB,uBAEvC27G,IAAkB,aAAQ77G,GAC1B87G,GAAmB,IAAAC,uBAAsBrjH,EAAOmB,QAChDmiH,GAAYH,GAAkBC,EAE9B55E,GAA0BT,EAA6B/oC,EAAOK,OAAQN,GAoC5E,OAlCA1a,EAAMoL,WAAU,WACR60C,EAAyBi+E,oBACzBj+E,EAAyBi+E,mBAAmB,CACxCx4H,WAAYy+C,GACZ85E,UAAS,IAIrB,GAAG,CAACA,GAAW95E,KAEfnkD,EAAMoL,WAAU,WACZ,OAAO,WACHy4C,GAAyB,EAC7B,CAEJ,GAAG,IAEH7jD,EAAMoL,WAAU,WACR+4C,IACAN,EAAyBM,GAGjC,GAAG,CAACA,KAEJnkD,EAAMoL,WAAU,WACR60C,EAAyBk+E,sBACzBl+E,EAAyBk+E,qBAAqB,CAC1CjvH,UAAS,GAIrB,GAAG,CAACA,KAEqC,IAAAgH,cAAY,IAAAkoH,wCAAuC76H,IACvDQ,UAAY0uB,EACtC,gBAAC,UAAa,CAAC4rG,YAAU,IAIhC,wBAAMtjH,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,gBAAC,UAAW,CACRe,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAWyyB,MACjBpuB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyyB,OAChCtW,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyyB,OACrCprB,MAAOlG,EAAE,6DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWyyB,MACjBltB,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyyB,OAChCrV,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRzE,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAW0yB,UACjBruB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0yB,WAChCvW,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0yB,WACrCrrB,MAAOlG,EAAE,iEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB4W,WAAY+pG,EAAiB97H,EAAGkhB,EAAgB,EAAAriB,WAAW0yB,YAC3DU,gBAAiB7Q,IAEhB,SAACjiB,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW0yB,UACjBntB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0yB,WAChCtV,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRzE,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAW2yB,KACjBtuB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2yB,MAChCxW,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2yB,MACrCtrB,MAAOlG,EAAE,2DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW2yB,KACjBptB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW2yB,MAChCvV,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRzE,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAW4yB,IACjBvuB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW4yB,KAChCzW,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW4yB,KACrCvrB,MAAOlG,EAAE,0DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW4yB,IACjBrtB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW4yB,KAChCxV,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAkC,MACnC,gBAAC,UAA4B,CACzByT,KAAMmkH,aAAY,EAAZA,EAAcnkH,KACpBnM,KAAM0wH,EAAkC1wH,KACxCgC,SAAU0uH,EAAkC1uH,SAC5CjO,QAAS28H,EAAkC38H,QAC3C8sB,UApOyB,SAAC7gB,IAC7B02B,aAAa,EAAbA,EAAej3B,IAKf7I,GAAcC,EAInBixB,GACI,IAAA6pG,8BACI/6H,EACAC,EACA6/B,EAAcj3B,GACdO,EAAKA,KAAKiN,WAAa,KACvBjN,EAAKA,QATT,IAAAioB,YAAW,mEALX,IAAAA,YAAW,+DAiBnB,EAkNY1lB,UAAWA,IAEf,gBAAC,UAAkB,CAACy2E,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SAGhF,IAEA,UAAeihH,C,gMC9Vf,eAYa,EAAAz3E,uBAAyB,SAACjjD,GAA2D,OAC9Fc,KAAM,EAAAo7H,kCACNl8H,QAAO,EAFuF,EAKrF,EAAAm8H,uBAAyB,WAA0C,OAC5Er7H,KAAM,EAAAs7H,wCADsE,EAInE,EAAAC,8BAAgC,SACzCxtH,GACuC,OACvC/N,KAAM,EAAAw7H,0CACNztH,WAAU,EAF6B,EAK9B,EAAA0tH,4BAA8B,SAAC36H,GAAqD,OAC7Fd,KAAM,EAAA07H,wCACN56H,MAAK,EAFwF,C,umDC5BjG,eACA,WACA,WAKA,WACA,cACA,WACA,cACA,cAEM66H,EAAoC,SAACjyH,GACvC,OAAO,SACHhJ,G,sEAIkF,OAF1EuI,EAA2BvI,EAAM,GAA7BmB,EAAuBnB,EAAM,UAAlBxB,EAAYwB,EAAM,QAEyC,IAAM,IAAAiJ,SACpF,IAAAiyH,0CAAyC3yH,K,OAE7C,OAHM1I,EAA4E,UAG7E,aAAiBA,EAAerB,GAIrC,IAAM,IAAA2K,MAAI,IAAAgyH,iCAAgC5yH,KAHtC,I,cAGJ,SAKIS,IAAgB,EAAAK,gBAAgBC,OAAhC,MACS,GAAM,UAAkBqjH,yBAAyBxrH,EAAWoH,I,cAArEiB,EAAS,S,aAEA,SAAM,UAAmBmjH,yBAAyBpkH,I,OAA3DiB,EAAS,S,wBAGP,IAAiCA,EAAM,GAAtCpJ,EAAK,KAAEmwF,EAAqB,KAE/BnwF,EACA,IAAM,IAAA+I,MAAI,IAAAiyH,iCAAgC7yH,EAAInI,KAD9C,M,cACA,S,cAEA,UAAM,IAAA+I,MAAI,IAAAkyH,mCAAkC9yH,EAAIgoF,K,OAAhD,S,iCAGZ,EAMA,UAJA,SAAoCvnF,G,kDAChC,UAAM,IAAAY,WAAU,EAAA0xH,sCAAuCL,EAAkCjyH,K,cAAzF,S,0TC9CJ,eACA,WAUA,UARiB,SAAC9L,EAAcia,GAK5B,OAJY,MACL,IAAA2I,eAAc5iB,EAAG,CAAC,EAAAnB,WAAW46C,QAAS,EAAA56C,WAAWwvD,WAAYp0C,GAIxE,C,+BCVA,WAAgB,KAAO,yBAAyB,MAAQ,0BAA0B,KAAO,yBAAyB,MAAQ,0BAA0B,cAAc,gCAAgC,OAAS,2BAA2B,SAAW,6B,6JCAjP,IAEMokH,EAFN,YAEwB,QAAM97H,cAAqC,CAAC,GAEpE,UAAe87H,C,+BCJf,WAAgB,OAAS,6CAA6C,SAAW,+C,+BCAjF,WAAgB,WAAa,iCAAiC,yBAAyB,6CAA6C,MAAQ,4BAA4B,KAAO,2BAA2B,KAAO,2BAA2B,WAAa,iCAAiC,QAAU,8BAA8B,sBAAsB,0CAA0C,eAAe,mCAAmC,cAAc,kCAAkC,oBAAoB,wCAAwC,+BAA+B,mDAAmD,kCAAkC,sDAAsD,qBAAqB,yCAAyC,oBAAoB,wCAAwC,iCAAiC,qDAAqD,uBAAuB,2CAA2C,eAAe,mCAAmC,qBAAqB,yCAAyC,gCAAgC,oDAAoD,mCAAmC,uDAAuD,sBAAsB,0CAA0C,wBAAwB,4CAA4C,MAAQ,4BAA4B,aAAe,mCAAmC,iBAAmB,uCAAuC,kBAAoB,wCAAwC,kBAAkB,sCAAsC,wBAAwB,4CAA4C,4BAA4B,gDAAgD,+BAA+B,mDAAmD,YAAY,gCAAgC,kBAAkB,sCAAsC,kBAAkB,sCAAsC,4BAA4B,gDAAgD,sBAAsB,0CAA0C,yBAAyB,6CAA6C,MAAQ,4BAA4B,QAAU,8BAA8B,cAAgB,oCAAoC,sBAAsB,0CAA0C,OAAS,6BAA6B,SAAW,+B,q7BCDn8E,kBACA,cAEA,cAEMv/H,EAAK,UAAWC,KAAK,WAMrBu/H,EAAiCr/H,EAAMC,MAAK,SAACC,GACvC,IAAAytB,EAAiBztB,EAAK,aAE9B,OAAO,wBAAMU,UAAWf,EAAG,kBAAmB8tB,EAClD,IAEA,UAAe0xG,C,+BChBf,WAAgB,OAAS,wCAAwC,SAAW,0C,kTCC5E,eACA,WAQMp8G,EAAkB,CACpB,EAAArjB,WAAWgqB,UACX,EAAAhqB,WAAWiqB,SACX,EAAAjqB,WAAW+G,MACX,EAAA/G,WAAWkqB,MACX,EAAAlqB,WAAWsqB,UA0Bf,UAvBiB,SAACnpB,EAAcia,GAC5B,IAAMc,EAAM,kBACL,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,KAElC,IAAA+O,gBAAehpB,EAAG,CAAC,EAAAnB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,UAAW7O,EAAQ,KACvE,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,UAAW7O,EAAQ,OAEvE,IAAA+O,gBAAehpB,EAAG,CAAC,EAAAnB,WAAWsqB,UAAWlP,EAAQ,KACjD,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAWsqB,UAAWlP,EAAQ,OAEjD,IAAAiP,kBAAiBlpB,EAAG,CAAC,EAAAnB,WAAWkqB,OAAQ9O,KAExC,IAAA4iG,YAAW78G,EAAG,CAAC,EAAAnB,WAAW+G,OAAQqU,IAQzC,OALsBA,EAAO,EAAApb,WAAWuqB,eAEpCrO,EAAO,EAAAlc,WAAWuqB,aAAeppB,EAAE,oCAGhC+a,CACX,C,+BCvCA,WAAgB,OAAS,+CAA+C,MAAQ,8CAA8C,YAAc,oDAAoD,OAAS,+CAA+C,MAAQ,8CAA8C,OAAS,+CAA+C,SAAW,iD,+BCAjX,WAAgB,eAAe,oCAAoC,2BAA2B,gDAAgD,4BAA4B,iDAAiD,2BAA2B,gDAAgD,iCAAiC,sDAAsD,OAAS,8BAA8B,SAAW,gC,0GCD/a,cAGa,EAAAwjH,wBAA0B,IAAI,EAAAn2G,gB,yECH3C,eAEA,UAkBA,UAbsB,SAACwhB,G,QACnB,OACI,IAAA+zC,gCAA+B/zC,EAAuB1mC,QACtD0mC,EAAuB1mC,MAAM06E,UAAY,EAAAC,mCAAmC2gD,oBAErE,EAAP,IACK,EAAA3/H,WAAW+G,OAAoC,QAA5B,EAAAgkC,EAAuB1mC,aAAK,eAAE06E,Q,GAInD,CAAC,CACZ,C,qNClBA,eAea,EAAA6gD,sBAAwB,SACjC7qH,EACAxO,EACA9D,GAC+B,OAC/Bc,KAAM,EAAA+8G,iCACN/5G,MAAK,EACLwO,WAAU,EACVtS,QAAO,EAJwB,EAOtB,EAAAy9G,2BAA6B,SACtC35G,EACAwO,GACoC,OACpCxR,KAAM,EAAAs8H,uCACNt5H,MAAK,EACLwO,WAAU,EAH0B,EAM3B,EAAAqrG,6BAA+B,SACxC75G,EACAwO,EACAI,GACsC,OACtC5R,KAAM,EAAAu8H,yCACNv5H,MAAK,EACL4O,aAAY,EACZJ,WAAU,EAJ4B,EAO7B,EAAAorG,2BAA6B,SACtC55G,EACAwO,EACA1Q,GACoC,OACpCd,KAAM,EAAAw8H,uCACNx5H,MAAK,EACLlC,MAAK,EACL0Q,WAAU,EAJ0B,EAO3B,EAAAkrG,kBAAoB,SAACzqG,GAAwE,OACtGjS,KAAM,EAAAy8H,oBACNxqH,oBAAmB,EAFmF,C,khBCxD1G,eACA,cAiBa,EAAAyqH,qBAAsB,IAAArzD,aAAY,CAC3C1zD,KAAM,iBACNrV,aANuC,CACvC8K,KAAM,CAAC,GAMPk+D,SAAU,CACNqzD,sBAAuB,SAEnBl8H,EAEAC,GAGE,EACNk8H,2BAA4B,SACxBn8H,EAEAC,G,MAIAD,EAAM2K,KAAO,EAAH,KACH3K,EAAM2K,QAAI,MACZ1K,EAAOklB,QAAQxlB,WAAS,OACjBK,EAAM2K,KAAK1K,EAAOklB,QAAQxlB,YAAc,CAAC,GAAE,CAC/CG,cAAe,UAAcK,UAAO,GAGhD,EACAi8H,6BAA8B,SAC1Bp8H,EACAC,G,MAKAD,EAAM2K,KAAO,EAAH,KACH3K,EAAM2K,QAAI,MACZ1K,EAAOklB,QAAQxlB,WAAS,OACjBK,EAAM2K,KAAK1K,EAAOklB,QAAQxlB,YAAc,CAAC,GAAE,CAC/CG,cAAe,UAAcU,GAC7BuI,KAAM9I,EAAOklB,QAAQpc,OAAI,GAGrC,EACAszH,2BAA4B,SACxBr8H,EACAC,G,MAKQI,EAAUJ,EAAOklB,QAAO,MAEhCnlB,EAAM2K,KAAO,EAAH,KACH3K,EAAM2K,QAAI,MACZ1K,EAAOklB,QAAQxlB,WAAS,OACjBK,EAAM2K,KAAK1K,EAAOklB,QAAQxlB,YAAc,CAAC,GAAE,CAC/CG,cAAe,UAAcQ,SAASD,GACtC0I,KAAM,OAAI,GAGtB,KAKJ,EAAAmzH,uBADS,EAKT,EAAAD,oBAAoBhxH,SAAO,sBAH3B,EAAAkxH,2BAA0B,6BAC1B,EAAAC,6BAA4B,+BAC5B,EAAAC,2BAA0B,6BAG9B,UAAe,EAAAJ,oBAAoBhzD,O,q7BC1FnC,kBAEA,aACA,cACA,cAEMhtE,EAAK,UAAWC,KAAK,WAOrBogI,EAA6ClgI,EAAMC,MAAK,SAACC,GACnD,IAAAU,EAAsCV,EAAK,UAAhC4O,EAA2B5O,EAAK,SAAtBuhB,EAAiBvhB,EAAK,aAEnD,OACI,uBACIU,WAAW,aACPf,EAAG,UAAW,CACV,wBAAyB4hB,IAE7B7gB,IAGHkO,EAGb,IAEA,UAAeoxH,C,88BC9Bf,IAOYC,EAPZ,cAEA,UACA,cACA,WACA,cAEA,SAAYA,GACR,YACA,cACA,yBACH,CAJD,CAAYA,IAAa,gBAAbA,EAAa,KAMzB,IAAMC,IAAQ,MACTD,EAAcl4F,MAAO,oDACtB,EAACk4F,EAAcE,YAAa,0DAC5B,EAACF,EAAc7pB,KAAM,mD,GAiEzB,UAlD0B,SAACp2G,GACf,IAAAU,EAA6CV,EAAK,UAAvCiF,EAAkCjF,EAAK,MAAhCkF,EAA2BlF,EAAK,SAAtBW,EAAiBX,EAAK,aAElDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAUrC,EAAM0E,SAAQ,WAC1B,MAAO,CACH,CACI0H,GAAI+zH,EAAcl4F,KAClBhhC,MAAOlG,EAAEq/H,EAASD,EAAcl4F,QAEpC,CACI77B,GAAI+zH,EAAcE,WAClBp5H,MAAOlG,EAAEq/H,EAASD,EAAcE,cAG5C,GAAG,CAACt/H,IAEJ,OACI,gBAAC,UAAa,CACVH,UAAWA,EACXyG,cAAelC,EACf9C,QAASA,EACT+C,SAAUA,EACVvE,aAAcA,EACdmG,aAAc,SAACN,GACX,OAAKA,EAIE,gBAAC,UAA0B,CAACwyC,iBAAe,EAACjyC,MAAOP,EAAOO,QAHtD,IAIf,EACAozE,qBAAsB,SAACqkC,EAAgB94G,GACnC,OAAK84G,EAIE39G,EAAEq/H,EAAS1hB,EAAetyG,KAHtBxG,CAIf,EACAA,YAAa7E,EAAEq/H,EAASD,EAAc7pB,MACtC3wG,iBAAe,EACfiC,QAAS,WACLxC,EAAS+6H,EAAc7pB,IAC3B,EACA5uG,eAAgB,SAAChB,GAAW,OAAAA,aAAM,EAANA,EAAQ0F,EAAR,EAC5B3J,gBAAiB,EAAAC,4BAA4BiF,YAGzD,C,sqBC/EA,kBAEA,cACA,cACA,WACA,UACA,aACA,WACA,UACA,UACA,WAEM9H,EAAK,UAAWC,KAAK,WA4E3B,UA3D2C,SAACI,GAChC,IAAA8c,EAAmG9c,EAAK,SAA9FiF,EAAyFjF,EAAK,MAAvFuC,EAAkFvC,EAAK,gBAAtEU,EAAiEV,EAAK,UAA3DoF,EAAsDpF,EAAK,SAAjDmF,EAA4CnF,EAAK,WAArCwF,EAAgCxF,EAAK,WAAzBsF,EAAoBtF,EAAK,OAAjBuF,EAAYvF,EAAK,QAExGa,GAAM,IAAAC,kBAAgB,EAExB+/F,GAAe,IAAA7qF,aAAY,EAAA4qF,6BAC3BG,GAAa,IAAA/qF,aAAY,EAAA8qF,2BAEzBvsE,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAUM6rG,EAAqB,UAAM57H,SAAQ,WACrC,OAAO,OAAIq8F,IAAY,GAAExvD,MAAK,SAACgvF,EAAOC,GAClC,IAAMC,EAAQx/B,EAAWs/B,GACnBG,EAAQz/B,EAAWu/B,GAEzB,OAAO,IAAAG,eAAcF,EAAM3nH,KAAM4nH,EAAM5nH,KAC3C,GACJ,GAAG,CAACioF,EAAcE,IAQlB,OACI,wBAAC,UAAa,CACVrgG,UAAWA,EACXyG,cAAelC,EACfS,YAAa7E,EAAE,wCACfsB,QAASi+H,EACTl7H,SAVkB,SAACw7H,GACvB5jH,EAAS4jH,EACb,EASQt7H,SAAUA,EACVD,WAAYA,EACZ2B,aAlCa,SAAC45H,GAClB,IAAKA,EACD,OAAO,KAGX,IAAMC,EAAkB5/B,EAAW2/B,GAEnC,OAAO,qCAAOC,aAAe,EAAfA,EAAiB/nH,OAAQ,IAC3C,EA2BQpR,eAhBe,SAAChB,GAA4B,OAAAA,CAAA,EAiB5CjE,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEvF,iBAAkBvC,EAAG,WACrB6F,WAAYA,EACZF,OAAQA,EACRC,QAASA,GAGrB,C,mqDCtFA,kBACA,WACA,WACA,WAMA,cACA,cACA,cAGA,WACA,WAEA,WAKA,WACA,cACA,cACA,WACA,WAIA,WAEMq7H,EAA6B,SAC/B39H,EACA49H,EACAC,EACAC,GAEA,OAAKF,GAA0BC,GAAcC,EAIhC,UAAT99H,EACO,CACHkzE,cAAe2qD,QAAax6H,EAC5B8vE,YAAa2qD,QAAcz6H,EAC3B06H,UAAW,EAAAC,6BAA6B5uD,SACxCnmE,GAAI,EAAAg1H,4BACJjtE,0BAA2B4sE,aAAqB,EAArBA,EAAuBlzH,OAClDwzH,qBAAqB,EACrBh8H,YAAY,GAIP,YAATlC,EACO,CACHozE,gBAAiByqD,QAAax6H,EAC9BgwE,cAAeyqD,QAAcz6H,EAC7B06H,UAAW,EAAAC,6BAA6B5uD,SACxCnmE,GAAI,EAAAg1H,4BACJjtE,0BAA2B4sE,aAAqB,EAArBA,EAAuBlzH,OAClDwzH,qBAAqB,EACrBh8H,YAAY,GAIb,KA3BI,IA4Bf,EASMi8H,EAAiB,SAAC,G,IACpBn+H,EAAI,OACJo+H,EAAM,SACNC,EAAc,iBACdC,EAAyB,4BAEnB98D,EAAMC,KAAKD,MAEjB,OAAO48D,EAAOt/E,QAAiC,SAAC50C,EAAQq0H,GACpD,IAAMC,EAAoB,UAATx+H,EAAmBu+H,EAAcrrD,cAAgBqrD,EAAcnrD,gBAC1EruE,GAAQ,IAAA05H,iBAAgBD,GAExBE,EAAkB,UAAT1+H,EAAmBu+H,EAAcprD,YAAcorD,EAAclrD,cACtEvqE,GAAM,IAAA21H,iBAAgBC,GAE5B,GAAI35H,GAAS+D,EAAK,CACd,IAAM61H,EAAsB,CACxB11H,GAAIs1H,EAAct1H,GAClBO,KAAM,KACNzE,MAAK,EACL+D,IAAG,EACHN,eAAe,GAGbtG,EAAaq8H,aAAa,EAAbA,EAAer8H,WAC5B08H,GAAeL,aAAa,EAAbA,EAAevtE,4BAA6B,GAEjE,GAAIutE,EAAcR,YAAc,EAAAC,6BAA6Ba,mBAAoB,CAC7E,IAAMC,EAAc/5H,GAASy8D,GAAO14D,GAAO04D,EAE3Ct3D,EAAOuK,KAAK,EAAD,KACJkqH,GACAL,EAA0BO,mBAAmB,CAC5CC,YAAW,EACX58H,WAAU,KAGtB,CAWA,GATIq8H,EAAcR,YAAc,EAAAC,6BAA6B18G,WACnDw9G,EAAc/5H,GAASy8D,GAAO14D,GAAO04D,EAE3Ct3D,EAAOuK,KAAK,EAAD,KACJkqH,GACAL,EAA0BS,WAAW,CAAED,YAAW,EAAEF,aAAY,EAAE18H,WAAU,OAInFq8H,EAAcR,YAAc,EAAAC,6BAA6B5uD,SAAU,CACnE,IAAM,GAAemvD,aAAa,EAAbA,EAAevtE,4BAA6B,GAE7DutE,EAAct1H,KAAO,EAAAg1H,4BACrB/zH,EAAOuK,KAAK,EAAD,KACJkqH,GACAL,EAA0BU,SAAS,CAClCJ,aAAY,MAGbL,EAAct1H,KAAOo1H,EAC5Bn0H,EAAOuK,KAAK,EAAD,KACJkqH,GACAL,EAA0BW,aAAa,CACtCL,aAAY,EACZ18H,WAAU,MAGX6C,GAASy8D,GAAO14D,GAAO04D,EAC9Bt3D,EAAOuK,KAAK,EAAD,KACJkqH,GACAL,EAA0Br5G,GAAG,CAC5B65G,aAAa,EACbF,aAAY,EACZ18H,WAAU,MAGXs/D,GAAOz8D,GAASy8D,GAAO14D,GAC9BoB,EAAOuK,KAAK,EAAD,KACJkqH,GACAL,EAA0Br5G,GAAG,CAC5B65G,aAAa,EACbF,aAAY,EACZ18H,WAAU,KAI1B,CACJ,CAEA,OAAOgI,CACX,GAAG,GACP,EAQMg1H,EAAW,SAAC,G,IAAEl/H,EAAI,OAAEo+H,EAAM,SAAEe,EAAoB,uBAClD,OAAOf,EAAOt/E,QAA4C,SAAC50C,EAAQq0H,GAC/D,IAAMC,EAAoB,UAATx+H,EAAmBu+H,EAAcrrD,cAAgBqrD,EAAcnrD,gBAC1EruE,GAAQ,IAAA05H,iBAAgBD,GAExBE,EAAkB,UAAT1+H,EAAmBu+H,EAAcprD,YAAcorD,EAAclrD,cACtEvqE,GAAM,IAAA21H,iBAAgBC,GAE5B,GAAI35H,GAAS+D,EAAK,CACd,IAAM61H,EAAsB,CACxB11H,GAAIs1H,EAAct1H,GAClBO,KAAM+0H,EACNx5H,MAAK,EACL+D,IAAG,EACHN,eAAe,GAGf+1H,EAAcR,YAAc,EAAAC,6BAA6BoB,UACzDl1H,EAAOuK,KAAK,EAAD,KACJkqH,GACAQ,EAAqBC,YAGpC,CAEA,OAAOl1H,CACX,GAAG,GACP,EAOMm1H,EAA6CxiI,EAAMC,MAAK,SAACC,G,MACnD+sB,EAA+B/sB,EAAK,OAA5B+oF,EAAuB/oF,EAAK,mBAEtC29G,GAAkB,IAAAhrF,YAAW,WAC7BsrF,EAAqC,QAAtB,EAAAN,aAAe,EAAfA,EAAiB14G,aAAK,eAAEg5G,aAEvC1pF,GAAW,IAAAC,eAEX+tG,GAAqB,IAAAvsH,aAAY,EAAAwsH,0BAEjCC,GAA0B,IAAAzsH,aAAY,EAAA0sH,+BAEtCC,GAAgB,IAAA3sH,aAAY,EAAA4sH,qBAC5BC,GAAoB,IAAA7sH,aAAY,EAAA8sH,yBAEhCC,GAAoBJ,aAAa,EAAbA,EAAezzE,YAAa,KAChD8zE,EAAkBH,EAAkBE,IAAoC,KACxEE,GAAkBN,aAAa,EAAbA,EAAeroF,UAAW,KAC5C4oF,EAAgBL,EAAkBI,IAAgC,KAElE1B,GAA4B,IAAA4B,gCAC5Bf,GAAuB,IAAAgB,2BAEvB,EAAoBtjI,EAAM0E,SAAQ,WACpC,IAAM6+H,EAAmB,QAAsCH,aAAa,EAAbA,EAAe7B,SAAU,KAAG,GACrFiC,EAAqB,QAAsCN,aAAe,EAAfA,EAAiB3B,SAAU,KAAG,GAEvFR,GAA0B,IAAAxgB,+BAC9Bt3B,aAAkB,EAAlBA,EAAoBu3B,qBACpBvzF,GACH,sBAEKw2G,GAAiBhB,aAAkB,EAAlBA,EAAoBgB,iBAAkB,KACvDC,GAAoBjB,aAAkB,EAAlBA,EAAoBiB,oBAAqB,KAC7DC,EAAqB7C,EACvB,QACAC,EACA0C,EACAC,GAEAC,GAAsBR,GACtBI,EAAoB3rH,KAAK+rH,GAG7B,IAAMC,GAAmBnB,aAAkB,EAAlBA,EAAoBmB,mBAAoB,KAC3DC,GAAsBpB,aAAkB,EAAlBA,EAAoBoB,sBAAuB,KACjEC,EAAuBhD,EACzB,UACAC,EACA6C,EACAC,GAMJ,OAJIC,GAAwBb,GACxBO,EAAsB5rH,KAAKksH,GAGxB,CACHC,OAAQ,CACJ,CACIrzD,YAAa4wD,EAAe,CACxBn+H,KAAM,QACNo+H,OAAQgC,EACR/B,gBAAgB4B,aAAa,EAAbA,EAAe5B,iBAAkB,KACjDC,0BAAyB,IAE7Bp1H,KAAM,gBAAC,UAAS,MAAK,IAAA86B,mBAAkB,wBAE3C,CACIupC,YAAa4wD,EAAe,CACxBn+H,KAAM,UACNo+H,OAAQiC,EACRhC,gBAAgB0B,aAAe,EAAfA,EAAiB1B,iBAAkB,KACnDC,0BAAyB,IAE7Bp1H,KAAM,gBAAC,UAAW,MAAK,IAAA+6B,qBAAoB,yBAGnD48F,MAAO,EAAF,OACE3B,EAAS,CAAEl/H,KAAM,QAASo+H,OAAQgC,EAAqBjB,qBAAoB,MAAG,KAC9ED,EAAS,CAAEl/H,KAAM,UAAWo+H,OAAQiC,EAAuBlB,qBAAoB,MAAG,GAGjG,GAAG,CACCa,EACAC,EACAH,EACAC,EACAj2G,EACAg8D,EACAw5C,EACAhB,EACAa,IApEIyB,EAAM,SAAEC,EAAK,QAuEf90H,IAAe+zH,IAAsBC,KAAuBC,IAAoBC,EActF,OACI,gBAAC,UAAe,CACZl0H,UAAWA,EACXxO,QAfY,WAChB+zB,GAAS,IAAAwvG,+BAA6B,GAC1C,EAcQF,OAAQA,EACRC,MAAOA,EACPz9E,WAAW,aAAS43D,GAAgBA,EAAe,KACnD+lB,iBAXgB,WACpBzvG,GAAS,IAAA0vG,4BAA2B,MACxC,EAUQC,kBAhBiB,SAACC,GACtB5vG,GAAS,IAAA0vG,4BAA2BE,GACxC,EAeQC,qBAAsB3B,GAGlC,IAEA,UAAeH,C,6JC1Uf,kBAKA,cACA,cACA,WACA,WACA,cACA,WACA,WAEM3iI,EAAK,UAAWC,KAAK,WAyG3B,UAjFmD,SAACI,GAE5C,IAAAU,EAYAV,EAAK,UAXL8a,EAWA9a,EAAK,OAVLkF,EAUAlF,EAAK,SATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLuC,EAOAvC,EAAK,gBANLqF,EAMArF,EAAK,WALL0F,EAKA1F,EAAK,YAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFLwF,EAEAxF,EAAK,WADLyF,EACAzF,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CACH,CACIuC,MAAOlG,EAAE,EAAAwjI,uBAAuB,EAAAC,kBAAkB//G,WAClDtf,MAAO,EAAAq/H,kBAAkB//G,UAE7B,CACIxd,MAAOlG,EAAE,EAAAwjI,uBAAuB,EAAAC,kBAAkBjyD,WAClDptE,MAAO,EAAAq/H,kBAAkBjyD,UAGrC,GAAG,CAACxxE,IA6BJ,OACI,wBAAC,UAAqB,CAClBH,UAAWA,EACXyB,QAASA,EACTkxF,eAAgBv4E,EAChBtT,eAXe,SAAChB,GAA4B,OAAAA,EAAOvB,KAAP,EAY5CS,YAAaA,EACbL,WAAYA,EACZH,SAAUA,EACVE,SAAUA,EACVD,WAAYA,EACZK,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTuB,aA5Ba,SAACN,GAClB,OAAKA,GAIEA,aAAM,EAANA,EAAQO,QAAS,GAHb,IAIf,EAuBQozE,qBA1CqB,SAACh4E,EAAyBuD,GACnD,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAOyD,EAGX,GAAuB,IAAnBvD,EAAQF,OAAc,CACtB,IAAMuE,EAASrE,EAAQ,GACvB,OAAOqE,aAAM,EAANA,EAAQO,QAAS,IAC5B,CAEA,OAAO,wBAAC,UAA+B,CAACnE,MAAOT,aAAO,EAAPA,EAASF,QAC5D,EAgCQM,gBAAiBA,EACjBL,iBAAkBvC,EAAG,WACrB+H,QAASjC,EAtBG,WAChBP,EAAS,GACb,OAoBiDoB,GAGrD,C,8MCjHa,EAAAkH,yBAA2B,6CAC3B,EAAA+2H,+BAAiC,mDACjC,EAAAC,+BAAiC,mDACjC,EAAAC,iCAAmC,oD,6MCNhD,kBACA,cAQMC,EAA2C,SAAC7vD,EAAQC,GAAW,oBAAQD,EAAQC,EAAhB,EAExD,EAAApU,mBAAqB,SAC9BF,EACAC,EACA3lD,EACA6pH,GAEA,IAAMC,EAAkBD,GAAyBD,EAEjD,OAAOlkE,EAAOyQ,MAAK,SAAC4zD,GAGhB,OAFoBD,EAAgBnkE,EAAWokE,GAAQ/pH,EAAO+pH,GAGlE,GACJ,EAEa,EAAAC,kBAAoB,SAACC,GAC9B,QAAQ,aAAQA,EACpB,C,y3BC5BA,kBACA,WAQMC,EAA6B,SAAChlI,GACxB,IAAA2B,EAAqE3B,EAAK,UAA/D,EAA0DA,EAAK,MAA/DwB,OAAK,IAAG,IAAA6U,kBAAiB,EAAE,EAA+BrW,EAAK,OAApC8L,OAAM,IAAG,IAAAuK,kBAAiB,EAExE,OACI,uBACIjF,MAAM,6BACN48C,WAAW,+BACXxsD,MAAOA,EACPsK,OAAQA,EACRuF,QAAQ,aAER,wBAAM7E,KAAM7K,EAAW2P,SAAS,UAAUC,EAAE,sCAGxD,EAEAyzH,EAASlzH,YAAc,WAEvB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EAET,UAAeizH,C,6JCjCf,kBACA,WACA,cACA,WACA,WACA,WAMMC,EAAsC,UAAMllI,MAAK,SAACC,GAC5C,IAAAqD,EAAcrD,EAAK,UAErBu0B,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACP7H,GAILkxB,GACI,IAAAqrG,uBAAsB,CAClBv8H,UAAS,IAGrB,GAAG,CAACkxB,EAAUlxB,IAER,OAA0B,IAAA2S,cAAY,IAAAkvH,0BAAyB7hI,IAA7DG,EAAa,gBAAEiJ,EAAI,OAE3B,OAAkB,OAAdpJ,EACO,KAGPG,EAAcK,QACP,wBAAC,UAAiB,CAAClC,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAGpE,oCAAO5J,aAAI,EAAJA,EAAMmM,KACxB,IAEA,UAAeqsH,C,67CCzCf,kBACA,WAOME,EAAgC,SAACnlI,GAC3B,IAAAU,EAAyCV,EAAK,UAAnC0W,EAA8B1W,EAAK,YAAnBusB,EAAS,EAAKvsB,EAA3C,6BAEN,OACI,yBACIoR,MAAM,6BACN5P,MAAM,KACNsK,OAAO,KACPuF,QAAQ,YACR3Q,UAAWA,GACP6rB,GAEJ,qBAAG/f,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAMkK,EACNnF,EAAE,2UAKtB,EAEA4zH,EAAYrzH,YAAc,cAE1B,IAAMC,EAAqB,CACvB2E,YAAa,EAAA9U,qBAAqBC,UAG7B,EAAAkQ,WAAAA,EACT,UAAeozH,C,q7BCtCf,kBACA,cACA,UACA,WACA,UACA,WACA,WAUMxsD,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,EAAc5C,G,MACnB,OAAOzW,EAAE,0CAA2C,CAChDoE,OAAsD,QAA/C,EAAAiV,EAAa,EAAAiwC,qBAAqBi7E,qBAAa,eAAG9tH,KAAU,IAE3E,EACAwhE,YAAY,EACZD,UAAW,CAAC,EAAA1uB,qBAAqB0iE,WAAY,EAAA1iE,qBAAqBi7E,eAEtE,CACIlkI,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,yCAA0C,CAC/CoE,MAAOiV,EAAa,EAAAiwC,qBAAqB3gB,aAEjD,EACAqvC,UAAW,CAAC,EAAA1uB,qBAAqB3gB,aAErC,CACItoC,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,iDAAkD,CACvDoE,MAAOiV,EAAa,EAAAiwC,qBAAqBjV,gBAEjD,EACA2jC,UAAW,CAAC,EAAA1uB,qBAAqBjV,gBAErC,CACIh0C,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,sDAAuD,CAC5DoE,MAAOiV,EAAa,EAAAiwC,qBAAqBzU,qBAEjD,EACAmjC,UAAW,CAAC,EAAA1uB,qBAAqBzU,qBAErC,CACIx0C,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAMunH,EAAWvnH,EAAa,EAAAiwC,qBAAqBqrE,gBAC7CmM,EAASznH,EAAa,EAAAiwC,qBAAqBsrE,cAEjD,OAAO50H,EAAE,8CAA+C,CACpDoE,OAAO,IAAAogI,4BAA2B5D,EAAUE,IAEpD,EACA9oD,UAAW,CAAC,EAAA1uB,qBAAqBqrE,eAAgB,EAAArrE,qBAAqBsrE,eAE1E,CACIv0H,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAMunH,EAAWvnH,EAAa,EAAAiwC,qBAAqBmrE,qBAC7CqM,EAASznH,EAAa,EAAAiwC,qBAAqBorE,mBAEjD,OAAO10H,EAAE,mDAAoD,CACzDoE,OAAO,IAAAogI,4BAA2B5D,EAAUE,IAEpD,EACA9oD,UAAW,CAAC,EAAA1uB,qBAAqBmrE,oBAAqB,EAAAnrE,qBAAqBorE,oBAE/E,CACIr0H,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAMunH,EAAWvnH,EAAa,EAAAiwC,qBAAqBm7E,iBAC7C3D,EAASznH,EAAa,EAAAiwC,qBAAqBo7E,eAEjD,OAAO1kI,EAAE,+CAAgD,CACrDoE,OAAO,IAAAogI,4BAA2B5D,EAAUE,IAEpD,EACA9oD,UAAW,CAAC,EAAA1uB,qBAAqBm7E,gBAAiB,EAAAn7E,qBAAqBo7E,gBAE3E,CACIrkI,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,EAAc5C,G,MACbkuH,EAAuD,QAA5C,EAAAtrH,EAAa,EAAAiwC,qBAAqBs7E,kBAAU,eAAGnuH,GAC1DjH,EAAU,EAAAg0H,uBAAuBmB,GAEvC,OAAO3kI,EAAE,4CAA6C,CAClDoE,MAAOoL,EAAUxP,EAAEwP,GAAW,IAEtC,EACAyoE,YAAY,EACZD,UAAW,CAAC,EAAA1uB,qBAAqBs7E,YAErC,CACIvkI,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,+CAAgD,CACrDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB/iC,cAEjD,EACAyxD,UAAW,CAAC,EAAA1uB,qBAAqB/iC,cAGrC,CACIlmB,MAAO,EAAAqsD,oBAAoB15C,UAC3Bwf,OAAQ,WACJ,OAAOxyB,EAAE,qEAAsE,CAAC,EACpF,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBu7E,yBAErC,CACIxkI,MAAO,EAAAqsD,oBAAoB15C,UAC3Bwf,OAAQ,WACJ,OAAOxyB,EAAE,kFAAmF,CAAC,EACjG,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBiwC,kCAErC,CACIl5F,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,8EAA+E,CAAC,EAC7F,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBkwC,8BAErC,CACIn5F,MAAO,EAAAqsD,oBAAoB15C,UAC3Bwf,OAAQ,WACJ,OAAOxyB,EAAE,iFAAkF,CAAC,EAChG,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBmwC,iCAErC,CACIp5F,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,6EAA8E,CAAC,EAC5F,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBowC,6BAErC,CACIr5F,MAAO,EAAAqsD,oBAAoB15C,UAC3Bwf,OAAQ,WACJ,OAAOxyB,EAAE,iFAAkF,CAAC,EAChG,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBqwC,iCAErC,CACIt5F,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,6EAA8E,CAAC,EAC5F,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBswC,6BAErC,CACIv5F,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,oDAAqD,CAAC,EACnE,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBwwC,SAErC,CACIz5F,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,4DAA6D,CAAC,EAC3E,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBywC,iBAErC,CACI15F,MAAO,EAAAqsD,oBAAoB15C,UAC3Bwf,OAAQ,WACJ,OAAOxyB,EAAE,0DAA2D,CAAC,EACzE,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBuwC,eArKA,GAwKzC,CAAC75F,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,kYC3Mf,eAWA,cACA,WAMA,UAEMp1E,EAA+B,CACjCyK,MAAO,GACP/H,MAAO,KACPkI,MAAO,KACPE,KAAM,CAAC,EACPs3H,qBAAsB,UAAcliI,SAGxC,mBAAgBC,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAA2iI,kCACO,IAAAnxH,EAAsB9Q,EAAM,WAAhBsC,EAAUtC,EAAM,MAEpC,OAAO,EAAP,KACOD,IACA,IAAA27D,kBAAiB37D,EAAO+Q,EAAYxO,IAI/C,KAAK,EAAA4/H,oCACOpxH,EAAoC9Q,EAAM,WAA9BsC,EAAwBtC,EAAM,MAA1C,IAAmBkR,EAAiBlR,EAAM,aAElD,OAAO,EAAP,KACOD,IACA,IAAA47D,oBAAmB57D,EAAO+Q,EAAYxO,EAAO4O,IAGxD,KAAK,EAAAixH,kCACO7/H,EAA6BtC,EAAM,MAAnC,IAAOI,EAAsBJ,EAAM,MAE3C,OAFsB8Q,EAAe9Q,EAAM,WAEpC,EAAP,KACOD,IACA,IAAAqiI,kBAAiBriI,EAAO+Q,EAAYxO,EAAOlC,IAItD,KAAK,EAAAiiI,eACO,IAAA9wH,EAAwBvR,EAAM,oBAEtC,OAAO,EAAP,KACOJ,IACA,IAAAm8D,wBAAuBn8D,EAAcG,EAAOwR,IAIvD,KAAK,EAAA+wH,6BACD,OAAO,EAAP,KACOviI,GAAK,CACRiiI,qBAAsB,UAAc9hI,UAI5C,KAAK,EAAAqiI,6BAED,OADQniI,EAAUJ,EAAM,MACjB,EAAP,KACOD,GAAK,CACRiiI,qBAAsB,UAAc3hI,SAASD,KAIrD,KAAK,EAAAoiI,+BACD,OAAO,EAAP,KACOziI,GAAK,CACRiiI,qBAAsB,UAAczhI,KAI5C,KAAK,EAAAC,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,q7BC9FD,kBACA,WACA,cACA,cACA,WACA,cACA,cAcM4K,EAAgB,oCAEhB83H,EAAmD,UAAMrmI,MAAK,SAACC,GACzD,IAAAwD,EAAsDxD,EAAK,cAA5CyM,EAAuCzM,EAAK,KAAtCyO,EAAiCzO,EAAK,SAA5BQ,EAAuBR,EAAK,QAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,mCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,aAAa,EAAbA,EAAeK,QAC3BpC,QAASgN,GAEb,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,YAC9BU,UAAWxL,aAAa,EAAbA,EAAeK,QAC1BwB,WAAY7B,aAAa,EAAbA,EAAeK,QAC3BpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,0DACT0X,QAAS1X,EAAE,oEA9BhB,IAmCf,IAEA,UAAeulI,C,i9CCjEf,kBACA,WAOMC,EAAiC,SAACrmI,GAC5B,IAAA0W,EAAyB1W,EAAK,YAAdk5C,EAAI,EAAKl5C,EAA3B,iBAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,MAASotC,GAC/D,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAMkK,EACNnF,EAAE,qeAKtB,EAEA80H,EAAav0H,YAAc,eAEd,EAAAw0H,kBAAoB,CAC7BzpH,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WASR,OAAIryB,EACO,CACHsR,YAAa,EAAA9U,qBAAqBkS,WAItC3O,EACO,CACHuR,YAAa,EAAA9U,qBAAqB0Q,QAItCiuD,EACO,CACH7pD,YAAa,EAAA9U,qBAAqB6U,WAItCpR,EACO,CACHqR,YAAa,EAAA9U,qBAAqBwQ,OAInC,CACHsE,YAAa+gB,GAAYC,EAAY,EAAA91B,qBAAqB6U,UAAY,EAAA7U,qBAAqBI,MAEnG,GAEJ,IAAM+P,EAAqB,CACvB2E,YAAa,EAAA9U,qBAAqB+W,MAG7B,EAAA5G,WAAAA,EACT,UAAes0H,C,q7BC5Ef,kBACA,cAEA,cAEM1mI,EAAK,UAAWC,KAAK,WAOrB2mI,EAAgDzmI,EAAMC,MAAK,SAACC,GACtD,IAAA4O,EAAwB5O,EAAK,SAAnBU,EAAcV,EAAK,UAErC,OAAO,uBAAKU,UAAWf,EAAG,QAASe,IAAakO,EACpD,IAEA,UAAe23H,C,y7BClBf,kBAEA,cAEA,cACA,WACA,YACA,WACA,WACA,cACA,WAYMC,GAFK,UAAW5mI,KAAK,YAEM,MAC5B,EAAA6mI,kBAAkBllF,KAAM,EAAA3tC,0BAA0BG,aACnD,EAAC,EAAA0yH,kBAAkBv9H,MAAO,EAAA0K,0BAA0BG,aACpD,EAAC,EAAA0yH,kBAAkBC,UAAW,EAAA9yH,0BAA0BC,UACxD,EAAC,EAAA4yH,kBAAkBz6G,UAAW,EAAApY,0BAA0BG,aACxD,EAAC,EAAA0yH,kBAAkBv6G,SAAU,EAAAtY,0BAA0BC,UACvD,EAAC,EAAA4yH,kBAAkBE,KAAM,EAAA/yH,0BAA0BK,QACnD,EAAC,EAAAwyH,kBAAkBtY,MAAO,EAAAv6G,0BAA0B1B,OACpD,EAAC,EAAAu0H,kBAAkBnrC,QAAS,EAAA1nF,0BAA0BG,aACtD,EAAC,EAAA0yH,kBAAkB9gG,UAAW,EAAA/xB,0BAA0B1B,O,GAGtD00H,IAA4B,MAC7B,EAAAH,kBAAkBllF,KAAM,EAAA3tC,0BAA0BC,UACnD,EAAC,EAAA4yH,kBAAkBv9H,MAAO,EAAA0K,0BAA0BC,UACpD,EAAC,EAAA4yH,kBAAkBC,UAAW,EAAA9yH,0BAA0B1B,OACxD,EAAC,EAAAu0H,kBAAkBz6G,UAAW,EAAApY,0BAA0B1B,OACxD,EAAC,EAAAu0H,kBAAkBv6G,SAAU,EAAAtY,0BAA0BC,UACvD,EAAC,EAAA4yH,kBAAkBE,KAAM,EAAA/yH,0BAA0BK,QACnD,EAAC,EAAAwyH,kBAAkBtY,MAAO,EAAAv6G,0BAA0BvB,QACpD,EAAC,EAAAo0H,kBAAkBnrC,QAAS,EAAA1nF,0BAA0BvB,QACtD,EAAC,EAAAo0H,kBAAkB9gG,UAAW,EAAA/xB,0BAA0B1B,O,GAGtD20H,EAAsC/mI,EAAMC,MAAK,SAACC,GAC5C,IAAAopB,EAAqCppB,EAAK,OAAlCU,EAA6BV,EAAK,UAAvBsU,EAAkBtU,EAAK,cAI5C8mI,GAFgB,eAAmB,YAGvB,EAAAC,2BAA6BH,EAA+BJ,EAEtE3lI,GAAM,IAAAC,kBAAgB,EAC9B,IAAKsoB,EACD,OAAO,KAGX,IAAMloB,EAAQ4lI,EAAS19G,IAAW,EAAAzV,mBAAmB9R,SAErD,OACI,gCACI,gBAAC,UAAS,CACN0S,UAAQ,EACRrT,MAAOA,EACPP,aAAa,kBACbD,UAAWA,EACX4T,cAAeA,GAEdzT,EAAE,EAAAmmI,sBAAsB59G,KAIzC,IAEA,UAAey9G,C,u7BC5Ef,kBACA,aACA,cACA,cACA,WAEA,cACA,cACA,WACA,WAEMlnI,EAAK,UAAWC,KAAK,WAUrBqnI,IAAQ,MACT,EAAApjH,kBAAkBC,OAAQ,mCAC3B,EAAC,EAAAD,kBAAkBE,OAAQ,mCAC3B,EAAC,EAAAF,kBAAkBG,SAAU,qC,GAG3BkjH,EAAkCpnI,EAAMC,MAAK,SAACC,GACxC,IAAAU,EAA6FV,EAAK,UAAvFwkB,EAAkFxkB,EAAK,oBAAlEmnI,EAA6DnnI,EAAK,kBAA/ConI,EAA0CpnI,EAAK,kBAA5BuiI,EAAuBviI,EAAK,mBAElGa,GAAM,IAAAC,kBAAgB,EAExB8jB,EAAyB9kB,EAAM0E,SAAQ,W,YACnCiO,EAAiC,GAGnC+R,IAAwB,EAAAF,iBAAiB/Y,UACzCg3H,aAAkB,EAAlBA,EAAoB19G,qBACpB09G,aAAkB,EAAlBA,EAAoBz9G,uBACpBy9G,aAAkB,EAAlBA,EAAoBx9G,wBAEpBtS,EAAKiF,KAAK,EAAAmM,kBAAkBC,OAGhC,IAAMkB,GACkD,QAApD,EAAAu9G,aAAkB,EAAlBA,EAAoBt9G,wCAAgC,eAAE/Y,MACA,QAAtD,EAAAq2H,aAAkB,EAAlBA,EAAoBr9G,0CAAkC,eAAEhZ,MACJ,QAApD,EAAAq2H,aAAkB,EAAlBA,EAAoBt9G,wCAAgC,eAAE/Y,OACI,QAAtD,EAAAq2H,aAAkB,EAAlBA,EAAoBr9G,0CAAkC,eAAEhZ,IA6BhE,OA5BIsY,IAAwB,EAAAF,iBAAiB+iH,MAAQriH,GACjDvS,EAAKiF,KAAK,EAAAmM,kBAAkBC,OAI5BU,IAAwB,EAAAF,iBAAiB+iH,OACxCriH,IACDu9G,aAAkB,EAAlBA,EAAoBn9G,8BAEpB3S,EAAKiF,KAAK,EAAAmM,kBAAkBE,OAI5BS,IAAwB,EAAAF,iBAAiB+iH,OACxCriH,IACDu9G,aAAkB,EAAlBA,EAAoBl9G,gCAEpB5S,EAAKiF,KAAK,EAAAmM,kBAAkBG,SAG5BQ,IAAwB,EAAAF,iBAAiB/Y,UAAWg3H,aAAkB,EAAlBA,EAAoBz9G,sBACxErS,EAAKiF,KAAK,EAAAmM,kBAAkBE,OAG5BS,IAAwB,EAAAF,iBAAiB/Y,UAAWg3H,aAAkB,EAAlBA,EAAoBx9G,wBACxEtS,EAAKiF,KAAK,EAAAmM,kBAAkBG,SAGzBvR,CACX,GAAG,CAAC+R,EAAqB+9G,IAUzB,OARAziI,EAAMoL,WAAU,WACPi8H,GAAsBviH,EAAuBW,SAAS4hH,IACvDC,EAAkBxiH,EAAuB,IAAM,KAIvD,GAAG,CAACA,EAAwBuiH,IAGxB,gBAAC,UAAW,CAACzmI,WAAW,aAAGf,EAAG,QAASe,IAClCkkB,EAAuBvN,KAAI,SAACpU,GACzB,IAAM2kB,EAAa3kB,IAASkkI,EAE5B,OACI,gBAAC,UAAM,CACHx0H,IAAK1P,EACL/B,MAAO,EAAA2N,gBAAgB6E,YACvB/S,aAAcsC,EACdqQ,UAAWsU,EACXnmB,QAAS,WACL2lI,EAAkBnkI,EACtB,GAECpC,EAAEomI,EAAShkI,IAGxB,IAGZ,IAEA,UAAeikI,C,+BC9Gf,WAAgB,MAAQ,4BAA4B,cAAc,kCAAkC,OAAS,6BAA6B,eAAe,mCAAmC,qBAAqB,yCAAyC,aAAe,mCAAmC,cAAgB,oCAAoC,MAAQ,4BAA4B,OAAS,6BAA6B,SAAW,+B,q7BCDrb,kBACA,WACA,WACA,cACA,cACA,cACA,cASM1zB,EAA0C1zG,EAAMC,MAAK,SAACC,GAChD,IAAAU,EAAuBV,EAAK,UAAjByB,EAAYzB,EAAK,QAE5Ba,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAO,CACJC,SAAU,EAAAC,oBAAoB0B,WAC9BxB,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE,sDAIV,WAAM,OACH,gBAAC,UAAkB,CACfH,UAAWA,EACX+yG,OAAO,IACPhyG,QAASA,EACTC,SAAU,gBAAC,UAAU,CAACC,UAAW,EAAAC,qBAAqBkS,YACtDhS,gBAAiB,EAAAC,oBAAoB2xG,sBANtC,GAWnB,IAEA,UAAeF,C,+BC1Cf,WAAgB,OAAS,mDAAmD,cAAgB,0DAA0D,eAAe,yDAAyD,uBAAuB,iEAAiE,gBAAgB,0DAA0D,QAAU,oDAAoD,QAAU,oDAAoD,OAAS,mDAAmD,SAAW,qD,kTCCnkB,eACA,WASA,WAGA,WAyEA,UAjEiB,SAAC3yG,EAAcia,EAAqBrO,GACzC,IAAAkpE,EAA6ClpE,EAAI,wBAAxB63D,EAAoB73D,EAAI,gBAEnDmP,EAAM,wBACL,IAAA6H,eACC5iB,EACA,CACI,EAAAnB,WAAWo6G,cACX,EAAAp6G,WAAW+xC,cAEX,EAAA/xC,WAAW4nI,eACX,EAAA5nI,WAAW6nI,qBAEX,EAAA7nI,WAAW8nI,gBACX,EAAA9nI,WAAW+nI,sBAEX,EAAA/nI,WAAW6iB,UACX,EAAA7iB,WAAWga,UAEX,EAAAha,WAAWgoI,aACX,EAAAhoI,WAAWioI,aAEf7sH,KAED,IAAAkpD,4BACCnjE,EACA,CACI,EAAAnB,WAAW6nI,qBACX,EAAA7nI,WAAW+nI,sBACX,EAAA/nI,WAAWgoI,aACX,EAAAhoI,WAAWioI,aAEf7sH,KAED,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW6nI,qBAAsB,EAAA7nI,WAAW+nI,uBAAwB3sH,EAAQ,EAAA8sH,iBAC9F,IAAAjkH,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWgoI,cAAe5sH,EAAQ,MACpD,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWioI,aAAc7sH,EAAQ,KACnD,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWioI,aAAc7sH,EAAQ,OACnD,IAAA+sH,iBAAgBhnI,EAAG,CAAC,EAAAnB,WAAWgoI,aAAc,EAAAhoI,WAAWioI,aAAc7sH,KAEtE,IAAAgtH,sBAAqBjnI,EAAG,CAAC,EAAAnB,WAAW6iB,WAAYzH,EAAQA,EAAO,EAAApb,WAAWga,cAC1E,IAAAquH,qBAAoBlnI,EAAG,CAAC,EAAAnB,WAAW6iB,UAAW,EAAA7iB,WAAWga,WAAYoB,EAAQwpD,aAAe,EAAfA,EAAiB/hD,aAC9F,IAAAulH,sBAAqBjnI,EAAG,CAAC,EAAAnB,WAAW6iB,UAAW,EAAA7iB,WAAWga,WAAYoB,EAAQwpD,aAAe,EAAfA,EAAiB5qD,YAGhG6I,EAAYzH,EAAO,EAAApb,WAAW6iB,WAC9B7I,EAAYoB,EAAO,EAAApb,WAAWga,WAgBpC,OAdI6I,GAAa7I,IAAa,IAAAsuH,YAAWzlH,EAAW7I,GAAa,EAAAyqC,iCAC7DvoC,EAAO,EAAAlc,WAAWga,WAAa7Y,EAAE,mEAAoE,CACjG+B,MAAO,EAAAuhD,mCAIV,IAAA8jF,gCAA+BntH,EAAO,EAAApb,WAAW8nI,iBAAkB7xD,KACpE/5D,EAAO,EAAAlc,WAAW8nI,iBAAmB3mI,EAAE,sDAGtC,IAAAonI,gCAA+BntH,EAAO,EAAApb,WAAW4nI,gBAAiB3xD,KACnE/5D,EAAO,EAAAlc,WAAW4nI,gBAAkBzmI,EAAE,qDAGnC+a,CACX,C,+BCrFA,WAAgB,KAAO,mCAAmC,iBAAiB,6CAA6C,oBAAoB,gDAAgD,KAAO,mCAAmC,MAAQ,oCAAoC,6BAA6B,yDAAyD,OAAS,qCAAqC,SAAW,uC,+BCAja,WAAgB,cAAgB,qCAAqC,0BAA0B,+CAA+C,gCAAgC,qDAAqD,wBAAwB,6CAA6C,2BAA2B,gDAAgD,0BAA0B,+CAA+C,qBAAqB,0CAA0C,yBAAyB,8CAA8C,8BAA8B,mDAAmD,wBAAwB,6CAA6C,OAAS,8BAA8B,SAAW,gC,+BCA1wB,WAAgB,OAAS,sCAAsC,OAAS,sCAAsC,SAAW,wC,u7BCDzH,kBACA,cACA,cACA,cACA,cACA,WACA,WACA,cACA,WACA,cAEMjc,EAAK,UAAWC,KAAK,WAcrBsoI,IAAe,MAChB,EAAA50E,kBAAkBC,QAAS,8BAC5B,EAAC,EAAAD,kBAAkBE,OAAQ,6B,GAGzB20E,EAAqCroI,EAAMC,MAAK,SAACC,GAE/C,IAAAmnB,EASAnnB,EAAK,MARLonB,EAQApnB,EAAK,YAPL6W,EAOA7W,EAAK,MANL4zD,EAMA5zD,EAAK,SALLooI,EAKApoI,EAAK,wBAJLqoI,EAIAroI,EAAK,0BAHLsoI,EAGAtoI,EAAK,0BAFLuoI,EAEAvoI,EAAK,4BADLwoI,EACAxoI,EAAK,UAEDa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,uBACIJ,UAAWf,EAAG,SAAU,CACpB,uBAAwB6oI,KAG5B,uBAAK9nI,UAAWf,EAAG,UACf,uBAAKe,UAAWf,EAAG,iBACf,uBAAKe,UAAWf,EAAG,2BACd,CAACynB,EAAaD,GAAO6H,OAAOhmB,SAASsmB,KAAK,QAE/C,uBAAK5uB,UAAWf,EAAG,UACdkX,GAAS,KACP+8C,GAAY,wBAAMlzD,UAAWf,EAAG,c,IAAgBkB,EAAEqnI,EAAgBt0E,I,OAG7E,uBAAKlzD,UAAWf,EAAG,iBACf,uBAAKe,UAAWf,EAAG,iBACd,aAASyoI,IACN,gCACI,gBAAC,UAAgB,CAACloE,aAAa,aAAoBkoE,KACnD,uBAAK1nI,UAAWf,EAAG,uBACdkB,EAAE,+BAAgC,CAAE80B,QAASyyG,QAIxD,aAASA,IAA4BC,GACnC,gBAAC,UAAiB,CAAC1mI,UAAW,EAAAC,qBAAqBsS,YAAakC,KAAM,EAAAC,qBAG9E,uBAAK3V,UAAWf,EAAG,iBACd,aAAS2oI,IACN,gCACI,gBAAC,UAAgB,CAACpoE,aAAa,aAAoBooE,KACnD,uBAAK5nI,UAAWf,EAAG,uBACdkB,EAAE,iCAAkC,CAAE80B,QAAS2yG,QAI1D,aAASA,IAA8BC,GACrC,gBAAC,UAAiB,CAAC5mI,UAAW,EAAAC,qBAAqBsS,YAAakC,KAAM,EAAAC,uBAOlG,IAEA,UAAe8xH,C,4LC9Ff,eAca,EAAAM,mBAAqB,SAAC94E,GAAgD,OAC/E1sD,KAAM,EAAAylI,qBACN/4E,QAAO,EAFwE,EAKtE,EAAAoxD,6BAA+B,SACxCF,GACoC,OACpC59G,KAAM,EAAA0lI,gCACN9nB,kBAAiB,EAFmB,EAK3B,EAAA+nB,gBAAkB,SAACpyE,GAA+C,OAC3EvzD,KAAM,EAAA4lI,0BACNryE,KAAI,EAFuE,EAKlE,EAAAsyE,kBAAoB,SAACtyE,EAAapjB,GAAuE,OAClHnwC,KAAM,EAAA8lI,4BACNvyE,KAAI,EACJpjB,OAAM,EAH4G,EAMzG,EAAA41F,gBAAkB,SAACxyE,EAAazyD,GAAgD,OACzFd,KAAM,EAAAgmI,0BACNllI,MAAK,EACLyyD,KAAI,EAHqF,C,u8CCrC7F,kBACA,cAEA,cACA,WACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,UACA,WACA,aACA,UACA,cACA,cAIA,WACA,WACA,WAEM72D,EAAK,UAAWC,KAAK,WA6I3B,UAzIuD,SAACI,GAC5C,IAAAQ,EAAYR,EAAK,QACjBa,GAAM,IAAAC,kBAAgB,EAExB,KAAkC,IAAA89F,eACpC,EAAA/mF,cAAcqxH,iBACd,IAAApjE,kBAAgC,CAAC,IACpC,GAHM5rD,EAAY,KAAED,EAAe,KAK9BO,EAAgB,UAAMhW,SAAQ,WAAM,oBAAiB0V,EAAjB,GAAgC,CAACA,IAErEO,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBJ,cAAa,EACbK,SAAU,SAACC,EAAQC,GACf,IAAMC,GAAkB,aAAgBF,GAExCb,EAAgB,EAAD,KACRC,GACAc,IAGPD,EAAcI,WAAW,CAAC,GAEtB3a,GACAA,GAER,IAGE4a,EAAe,UAAM5W,SAAQ,WAAM,WAAA6W,aAAYb,EAAeC,EAAOK,OAAlC,GAA2C,CAACN,EAAeC,EAAOK,SAE3G,OACI,gCAAMD,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,CAACwpI,iBAAe,GAChC,wBAAC,UAAoB,CAAClpI,MAAOY,EAAE,yBAA0BL,QAASA,KAEtE,wBAAC,UAAa,KACV,wBAAC,UAAW,CACRuG,MAAOlG,EAAE,qDACT+X,KAAM,EAAAlZ,WAAW01H,oBACjBrxH,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW01H,qBAChCv5G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW01H,qBACrCr5G,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAyB,CACtBmH,cAAesT,EAAOK,OAAO,EAAApb,WAAW01H,qBACxCpwH,aAAcwV,EAAc,EAAA9a,WAAW0pI,uBACvC1jI,YAAa7E,EAAE,0DACfqE,SAAU,SAACmkI,EAAUC,GACjB7uH,EAAOsB,cAAc,EAAArc,WAAW01H,oBAAqBiU,GACrD5uH,EAAOsB,cAAc,EAAArc,WAAW0pI,sBAAuBE,EAC3D,EACAnkI,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,WAClBkC,QAAS,WACL+S,EAAOsB,cAAc,EAAArc,WAAW01H,oBAAqB,MACrD36G,EAAOsB,cAAc,EAAArc,WAAW0pI,sBAAuB,KAC3D,GAjBI,IAqBhB,wBAAC,UAAW,CACRriI,MAAOlG,EAAE,4CACT+X,KAAM,EAAAlZ,WAAWy1H,aACjBpxH,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWy1H,cAChCt5G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWy1H,cACrCp5G,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAkB,CACfmH,cAAesT,EAAOK,OAAO,EAAApb,WAAWy1H,cACxCnwH,aAAcwV,EAAc,EAAA9a,WAAW6pI,gBACvC7jI,YAAa7E,EAAE,iDACfqE,SAAU,SAACmkI,EAAUC,GACjB7uH,EAAOsB,cAAc,EAAArc,WAAWy1H,aAAckU,GAC9C5uH,EAAOsB,cAAc,EAAArc,WAAW6pI,eAAgBD,EACpD,EACAnkI,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,WAClBkC,QAAS,WACL+S,EAAOsB,cAAc,EAAArc,WAAWy1H,aAAc,MAC9C16G,EAAOsB,cAAc,EAAArc,WAAW6pI,eAAgB,KACpD,GAjBI,IAqBhB,wBAAC,UAAW,CACRxiI,MAAOlG,EAAE,yCACT+X,KAAM,EAAAlZ,WAAWyxB,YACjBptB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyxB,aAChCtV,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyxB,aACrCpV,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyxB,aAChCrU,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAAC,4BAA4BiF,WAC7CrC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,WAClBkC,QAAS,WACL1H,EAAM8c,SAAS,KACnB,GAZI,KAiBpB,wBAAC,UAAmB,CAACrR,eAAa,EAACiS,aAAW,GAC1C,wBAAC,UAAM,CACHxc,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZwC,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,4BAKvB,C,kYCtKA,eAOA,cACA,UACA,WACA,cAEM0C,EAAwC,CAC1C6oE,MAAO,KACP3yB,aAAc,UAAch2C,SAGhC,mBACIC,EACAC,G,MAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAAs7H,wCACD,OAAO,EAAP,KACO76H,GAAK,CACR+1C,aAAc,UAAc51C,UAIpC,KAAK,EAAA86H,wCACO,IAAA56H,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR+1C,aAAc,UAAcz1C,SAASD,KAI7C,KAAK,EAAA06H,0CACO,IAEFryD,GAFiBzoE,EAAM,YAEA,IAAIo+C,QAC7B,SAACC,EAAKwnF,GACM,IAAApgH,EAAkBogH,EAAS,OAAnB5mI,EAAU4mI,EAAS,MAMnC,OAJIpgH,IAAU,aAASxmB,KACnBo/C,EAAI54B,GAAuCxmB,GAGxCo/C,CACX,KAAC,MAEI,EAAAynF,0BAA0BvgI,MAAO,EAClC,EAAC,EAAAugI,0BAA0B/C,UAAW,EACtC,EAAC,EAAA+C,0BAA0B9zE,YAAa,EACxC,EAAC,EAAA8zE,0BAA0BC,SAAU,EACrC,EAAC,EAAAD,0BAA0Bl/C,UAAW,EACtC,EAAC,EAAAk/C,0BAA0Bv9G,SAAU,EACrC,EAAC,EAAAu9G,0BAA0B9jG,UAAW,EACtC,EAAC,EAAA8jG,0BAA0B7jG,SAAU,E,IAG7C,OAAO,EAAP,KACOliC,GAAK,CACR0oE,MAAK,EACL3yB,aAAc,UAAcv1C,KAIpC,KAAK,EAAAC,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,kuCC5ED,kBACA,WAEA,WACA,cACA,WAGA,cACA,WACA,WACA,aACA,cACA,cACA,cACA,aACA,cACA,cACA,WAMA,UACA,cACA,cACA,WACA,cAEA,WACA,cACA,cACA,WACA,WACA,UAYMimI,EAAqB,IAAI76G,IAA2B,CAAC,EAAA26G,0BAA0B/C,WAE/EkD,EAAyD9pI,EAAMC,MAAK,SAACC,GAC/D,IAAAkM,EAAkElM,EAAK,GAAnEQ,EAA8DR,EAAK,QAA1D6qD,EAAqD7qD,EAAK,mBAAtC2qD,EAAiC3qD,EAAK,UAA3B60C,EAAsB70C,EAAK,kBAEvEa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEX,IAA+B10B,EAAMuE,SAAwB,MAAK,GAAjEmkF,EAAa,KAAEqhD,EAAW,KAEjC/pI,EAAMoL,WAAU,WACZqpB,GAAS,IAAA8wB,yBAAwBn5C,GACrC,GAAG,CAACA,EAAIqoB,IAEF,OAA8D,IAAAve,cAAY,IAAA4yE,0BAAyB18E,IAAjGkD,EAAO,UAAE06H,EAAyB,4BAAEC,EAAmB,sBAEzDjoG,EAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAA8wB,yBAAwBn5C,GACrC,GAAG,CAACA,EAAIqoB,KACR,aAA4BuN,GAE5B,IAAMmI,EAAuBnqC,EAAMkG,aAAY,WAC3CuuB,GAAS,IAAA8wB,yBAAwBn5C,EAAI,CAAE61B,eAAe,IAC1D,GAAG,CAAC71B,EAAIqoB,IAEFy1G,GAA0B,IAAAh0H,aAAY,EAAA8xB,+BAEtCmiG,EAAkBnqI,EAAMkG,aAAY,SAACkkI,IAClCA,aAAG,EAAHA,EAAKh+H,IAKV29H,EAAYK,EAAIh+H,KAJZ,IAAAwoB,YAAW,gBAKnB,GAAG,IAEGy1G,GAAW,IAAA3lI,UAAQ,WACrB,IAAM4lI,IAAUh7H,aAAO,EAAPA,EAAS66E,OAAQ,IAAInxC,MAAK,SAACoxF,GACvC,OAAOA,EAAI9gH,SAAW,EAAAihH,cAAc1D,GACxC,IAEA,OAAOyD,aAAM,EAANA,EAAQl+H,KAAM,IACzB,GAAG,CAACkD,KAEJ,IAAAlE,YAAU,WACFi/H,IAAa3hD,GACbqhD,EAAYM,EAGpB,GAAG,CAACA,IAEJ,IAAMG,GAAoBl7H,aAAO,EAAPA,EAASga,SAAUugH,EAAmB16G,IAAI7f,EAAQga,QAmBtEmhH,EAAwBzqI,EAAM0E,SAAQ,WACxC,OAAI4K,aAAO,EAAPA,EAASga,UAAW,EAAAkhE,sBAAsBphF,OAAQkG,aAAO,EAAPA,EAASga,UAAW,EAAAkhE,sBAAsBo8C,SACrF,CACH,CACI3/H,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBkS,YAClD/M,MAAOlG,EAAE,yCAGjBqE,SAAU,WACNqvB,GAAS,IAAAgxB,mBAAkBr5C,GAC/B,IAKL,EACX,GAAG,CAACkD,EAASmlB,EAAUroB,EAAIrL,IAE3B,OACI,gBAAC,UAAwB,KACrB,gBAAC,UAAmB,KAChB,gBAAC,UAAoB,CACjBZ,OAAOmP,aAAO,EAAPA,EAASzB,SAAU,KAC1BvN,eAAgB,gBAAC,UAAqB,CAACkU,eAAa,EAAC8U,OAAQha,aAAO,EAAPA,EAASga,SACtE9oB,mBAAoB,gBAAC,UAAU,CAACuqD,mBAAoBA,EAAoBF,UAAWA,IACnFhqD,aAAa,uBACbH,QAASA,EACTL,gBAAiBoqI,IAErB,gBAAC,UAA0B,CACvB/mI,cAAesmI,EACf/uE,cAAe/xD,QAAQoG,GACvB4rD,kBAAmBgvE,EAAwBnmI,SAAWkmI,EAAoBlmI,WAGlF,gBAAC,UAAa,CAAClD,aAAa,wBACxB,gBAAC,UAAoB,CACjB6C,cAAesmI,EACf/uE,cAAe/xD,QAAQoG,GACvB+8B,QAASlC,EACTgxB,kBAAmB,WAElB7rD,EACG,gBAAC,UAAkB,CACflD,GAAIA,EACJs8E,cAAeA,EACfC,qBAAsB6hD,EACtB5hD,YAAauhD,EACbp1F,kBAAmBA,IAEvB,OApEZy1F,GAAqB9hD,EAEjB,gBAAC,UAAmB,CAAC9qE,aAAW,GAC5B,gBAAC,UAA2B,CACxBgoC,cAAex5C,EACfs8E,cAAeA,EACfp5E,QAASA,EACT26H,oBAAqBA,KAM9B,KA6Df,IAEA,UAAeH,C,q7BClLf,kBACA,WAEA,cAOA,cACA,cACA,cACA,cACA,cACA,cAEA,cAEA,WACA,cACA,aAqBMjqI,EAAK,UAAWC,KAAK,WAErB4qI,EAAuC,UAAMzqI,MAAK,SAACC,G,MAEjDm0B,EAcAn0B,EAAK,UAbL4lB,EAaA5lB,EAAK,KAZLgP,EAYAhP,EAAK,UAXL60C,EAWA70C,EAAK,kBAVLW,EAUAX,EAAK,aATLU,EASAV,EAAK,UARLi7C,EAQAj7C,EAAK,WAPLq0B,EAOAr0B,EAAK,YANLyqI,EAMAzqI,EAAK,iBALL0qI,EAKA1qI,EAAK,mBAJL2qI,EAIA3qI,EAAK,mBAHL4qI,EAGA5qI,EAAK,iBAFLykC,EAEAzkC,EAAK,iBADL0kC,EACA1kC,EAAK,6BAEDa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAmD,CACrD,CACIC,aAAc,WAAM,2CAAOtyB,EAAE,uCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAAC6P,GAAsB,OAC3B,wBAAC,UAAgB,CAACtqB,KAAMsqB,EAAI65F,aAAankH,KAAM6rC,UAAUvhB,aAAG,EAAHA,EAAKC,gBADnC,EAG/BziC,UAAWf,EAAG,gBAAiB,uBAC/BgB,aAAc,QAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC6P,GACL,OAAKA,EAAIC,cAKL,wBAAC,UAAS,CACNvW,KAAMsW,EAAIC,cAAcmZ,YACxBz2C,OAAQq9B,EAAIC,cAAc9lB,YAC1B07D,aAAc71C,EAAIC,cAAc7lB,cAChCm/B,SAAUvZ,EAAIC,cAAcuZ,gBAC5Bm3D,gBAAiBh/D,IATd,IAYf,EACAn0C,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC6P,G,MACL,OAAKA,EAAIC,cAILsB,EAEI,wBAAC,UAAS,CACN7X,KAAMsW,EAAIC,cAAcyZ,aACxB/2C,OAAQq9B,EAAIC,cAAc2Z,aAC1Bi8B,aAAc71C,EAAIC,cAAc0Z,eAChCJ,UAAQ,EACRo3D,gBAAiBh/D,IAKtB,wBAAC,UAAQ,CAACyD,WAAS,EAAC7nC,QAAM,EAACmc,KAAuB,QAAjB,EAAAsW,EAAIC,qBAAa,eAAEyZ,eAfhD,IAgBf,EACAl8C,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,8CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpBkrI,YAAU,KACN,EAAC,EAAAC,oBAAoBjvB,SAAS,E,GAElCxoF,OAAQ,SAAC6P,GACL,OAAO,wBAAC,UAAc,CAACA,IAAKA,EAAKunG,iBAAkBA,EAAkBp2G,YAAaA,GACtF,EACA3zB,UAAWf,EAAG,gBAAiB,8BAC/BgB,aAAc,cAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,yCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC6P,G,MACC9Z,EAAS8Z,EAAIC,cAAgBD,EAAIC,cAAc/Z,OAAS,KAE9D,OACI,wBAAC,UAAkB,CACfA,OAAQA,EACR9U,eAAa,EACbgY,oBAAqC,QAAjB,EAAA4W,aAAG,EAAHA,EAAK65F,oBAAY,eAAEgO,YAAa,EAAAC,qBAAqBC,MAGrF,EACAvqI,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,aACpBC,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC6P,GACL,OACI,wBAAC,UAAW,CACRA,IAAKA,EACLunG,iBAAkBA,EAClBC,mBAAoBA,EACpBC,mBAAoBA,EACpBC,iBAAkBA,GAG9B,EACAlqI,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,YAKhBozB,EAAa,SAAClY,EAAqBqnB,G,QACrC,OAAO,EAAP,IACK,EAAAlP,iBAAiBk3G,qBAAsBxmG,aAA4B,EAA5BA,EAA8BzV,KACjD,QAAjB,EAAAiU,EAAIC,qBAAa,eAAE/Z,SAAU,M,CAGzC,EAEM+hH,EAAc,SAACtvH,EAAqBqnB,GACtC,OAAOA,aAAG,EAAHA,EAAKC,eAAgB,EAAAioG,kBAAkBl5H,OAAS,EAAAk5H,kBAAkBz+F,KAC7E,EAEA,OACI,+BAAKjsC,UAAWf,EAAG,UACf,wBAAC,UAAa,CAAew0B,UAAWA,EAAWnlB,UAAWA,EAAW4W,KAAMA,IAC1E,SAACA,EAAMwO,GAAmB,OACvB,wBAAC,UAAc,CACXzzB,aAAcA,EACdD,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACN5W,UAAWA,EACX+kB,WAAYA,EACZo3G,YAAaA,EACb92G,YAAaA,EACbD,eAAgBA,EAChB6mB,WAAYA,GAXO,IAiB3C,IAEA,UAAeuvF,C,0uCCxMf,kCAHA,cACA,WAEA,SAAgBa,IACZ,OAAO,IAAA5tC,eAAa,SAACC,GAKjB,OAJA3/C,SAASwnD,iBAAiB,oBAAoB,WAC1C7H,EAAQ3/C,SAAS76C,OACrB,IAEO,WAEP,CACJ,GACJ,CAYA,UAVA,SAA4CooI,G,wDACR,UAAM,IAAAvtC,MAAKstC,I,OAArCE,EAA0B,S,iBAEX,UAAM,IAAA/kD,MAAK+kD,I,cAAX,SAEb,IAAM,IAAAxtC,MAAKutC,IADX,M,OACA,S,oWClBZ,YACA,WAEMvoH,EAAkB,CAAC,EAAArjB,WAAW8rI,oBAUpC,UARiB,SAAC3qI,EAAcia,GAK5B,OAJY,MACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,GAI7C,C,mHCbA,cAQa,EAAA2wH,iCAAmC,SAC5CnyH,EACAuC,G,MAEA,KAAsB,QAAjB,EAAAA,aAAI,EAAJA,EAAMk3B,mBAAW,eAAE25C,QACpB,OAAO,KAGX,IAAMvC,EAAY7wE,EAAW,EAAA5Z,WAAWyqF,YAAc,GAChDD,GAAgBC,aAAS,EAATA,EAAY,KAAM,KAExC,IAAKD,EACD,OAAO,KAGX,IAAIkP,EAAiBlP,EAAc,EAAApD,mBAAmB4kD,uBAAuB,GACzEryC,EAAiBnP,EAAc,EAAApD,mBAAmB4kD,uBAAuB,GAQ7E,OANAvhD,EAAU/tE,SAAQ,SAACi2D,GACf+mB,EAAiBj6E,KAAK6hD,IAAIo4B,EAAgB/mB,EAAS,EAAAyU,mBAAmB4kD,uBAAuB,IAC7FryC,EAAiBl6E,KAAK46E,IAAIV,EAAgBhnB,EAAS,EAAAyU,mBAAmB4kD,uBAAuB,GACjG,IAEqBtyC,GAAkBC,EACjB,KAAO,CAAC,CAClC,C,+BChCA,WAAgB,cAAc,oCAAoC,OAAS,+BAA+B,SAAW,iC,q7BCDrH,kBAEA,aACA,cAEA,cACA,cAEM15F,EAAK,UAAWC,KAAK,WAYrB+rI,EAAwC7rI,EAAMC,MAAK,SAACC,G,MAC9C4O,EAAkG5O,EAAK,SAA7F4rI,EAAwF5rI,EAAK,WAAjFy0C,EAA4Ez0C,EAAK,QAAxE0d,EAAmE1d,EAAK,YAA3D6rI,EAAsD7rI,EAAK,aAA7CyL,EAAwCzL,EAAK,cAA9B0lF,EAAyB1lF,EAAK,UAAnBU,EAAcV,EAAK,UAEzGgM,EAAMlM,EAAM6I,OAA8B,MAE1CuB,EAAUpK,EAAM6yB,WAAW,WAE3Bm5G,EAAmB,W,QACrB,GAAK9/H,EAAIT,QAAT,CAIA,IAAMwgI,EAAuB,QAAX,EAAA//H,EAAIT,eAAO,eAAEygI,aACX,QAApB,EAAA9hI,EAAQmvG,oBAAY,SAAEF,SAAS4yB,EAH/B,CAIJ,EAiBA,OAfAjsI,EAAMoL,WAAU,WACZ+gI,sBAAsBH,EAE1B,GAAG,CAACl9H,EAAU6lC,EAAS/2B,EAAamuH,IAEpC/rI,EAAMoL,WAAU,WAGZ,OAFAk1C,OAAOmlD,iBAAiB,SAAUumC,GAE3B,W,MACH1rF,OAAOolD,oBAAoB,SAAUsmC,GACjB,QAApB,EAAA5hI,EAAQmvG,oBAAY,SAAEF,SAAS,EACnC,CAEJ,GAAG,IAGC,uBACIntG,IAAKA,EACLtL,WAAW,aACPf,EAAG,OAAQ,CACP,qBAAsBksI,IAE1BnrI,GAEJyH,MAAO,CAAE+jI,YAAa,WAAyB,QAAtB,EAAAhiI,EAAQgvG,sBAAc,eAAEj0G,QAAS,EAAC,QAE3D,uBACIvE,UAAWf,EAAG,QAAS,CACnB,oBAAqBisI,KAGxBn3F,EACA7lC,GACG,uBACIlO,UAAWf,EAAG,UAAW,CACrB,uBAAwB+d,EACxB,0BAA2BjS,EAC3B,qBAAsBi6E,KAGzB92E,IAMzB,IAEA,UAAe+8H,C,0cCnEN,EAAAQ,sBAdT,SAAuClnI,GAC7B,SAA8B,IAAAZ,UAAiBY,GAAM,GAApDmnI,EAAU,KAAEC,EAAa,KAUhC,OAPA,IAAAnhI,YAAU,YACD,aAAQkhI,EAAYnnI,IACrBonI,EAAcpnI,EAGtB,GAAG,CAACA,IAEGmnI,CACX,EAfA,eACA,a,+BCAA,WAAgB,OAAS,iCAAiC,cAAgB,wCAAwC,eAAe,uCAAuC,uBAAuB,+CAA+C,QAAU,kCAAkC,cAAgB,wCAAwC,KAAO,+BAA+B,mCAAmC,2DAA2D,gCAAgC,wDAAwD,4BAA4B,oDAAoD,0BAA0B,kDAAkD,+BAA+B,uDAAuD,2BAA2B,mDAAmD,0BAA0B,kDAAkD,6BAA6B,qDAAqD,iBAAiB,yCAAyC,4BAA4B,oDAAoD,oCAAoC,4DAA4D,mCAAmC,2DAA2D,IAAM,8BAA8B,OAAS,iCAAiC,SAAW,mC,k/CCD76C,IA2BYxlE,EA3BZ,cACA,cACA,aACA,cACA,WAYA,cACA,aACA,cACA,WACA,cACA,WACA,cACA,WAEMjnE,EAAK,UAAWC,KAAK,YAE3B,SAAYgnE,GACR,cACA,eACH,CAHD,CAAYA,IAA+B,kCAA/BA,EAA+B,KAqB3C,IAEM0lE,IAAqB,MACtB1lE,EAAgCC,MAAO,eACxC,EAACD,EAAgCu1C,OAAQ,a,GA8L7C,UAAe,UAAMp8G,MA3LA,SAA4BC,GACrC,IAAAmH,EACJnH,EAAK,cADckF,EACnBlF,EAAK,SADwBmC,EAC7BnC,EAAK,QADiCqF,EACtCrF,EAAK,WAD6CU,EAClDV,EAAK,UADwDusI,EAC7DvsI,EAAK,iBAD0EuC,EAC/EvC,EAAK,gBAD2FW,EAChGX,EAAK,aAEH,IAA2B,UAAMqE,UAAS,GAAM,GAA/ChC,EAAQ,KAAEmqI,EAAY,KACvB,IAAuB,UAAMnoI,UAAS,GAAM,GAA3C0yB,EAAM,KAAEC,EAAU,KAEjBn2B,GAAM,IAAAC,kBAAgB,EAcxB,GAAoC,IAAAmI,aAAY,CAClDC,KAAM6tB,EACN5tB,aAAc,SAACD,GACNA,GACD8tB,GAAW,EAEnB,EACA5tB,UAAWkjI,EAAsB/pI,GACjC8G,WAAY,EAAC,IAAAC,QAAO,IAAI,IAAAC,MAAK,CAAEC,QAAS,KAAM,IAAAC,OAAM,CAAED,QAAS,KAC/DI,SAAU,QACVC,WAAW,EACXC,qBAAsB,EAAAC,aAXlBC,EAAI,OAAEC,EAAc,iBAAEC,EAAO,UAc/BW,GAAU,IAAAC,YAAWZ,EAAS,CAChCuiI,kBAAmB,cAGjB,GAA0C,IAAA1hI,iBAAgB,CAACF,IAAzDG,EAAiB,oBAAEC,EAAgB,mBAErCuzG,GAAiB,aAAKr8G,GAAS,SAACqE,GAClC,OAAOW,EAAclC,QAAUuB,EAAOvB,KAC1C,IAEMrE,EAAmB,UAAGD,EAAY,SAExC,OACI,iCAAKD,WAAW,aAAGf,EAAG,SAAUe,GAAYsL,IAAKhC,EAAKoB,cAAkBJ,KACpE,+BACItK,WAAW,aACPf,EAAG,UAAW,CACV,wBAAyB0F,EACzB,qBAAsB0xB,EACtB,oBAAqB10B,IAEzBkqI,GAEJG,UAAW,SAEP/gI,GAEA6gI,GAAa,EACjB,EACA5gI,aAAc,SAEVD,GAEA6gI,GAAa,EACjB,EACAG,YAAa,SAEThhI,GAEA6gI,GAAa,EACjB,EACA/qI,QAnEO,WACX4D,GAIJ2xB,GAAW,EACf,EA6D+B,qBACC,UAAGp2B,EAAgB,aAEvC,+BAAKF,UAAWf,EAAG,kBACf,wBAAC,UAAqB,CAClB8B,QAAS,WACL,IAAMmrI,GACFzlI,aAAa,EAAbA,EAAeu+D,aAAc,EAAAC,kBAAkBC,KACzC,EAAAD,kBAAkB4uD,IAClB,EAAA5uD,kBAAkBC,KAE5B1gE,EAAS,CACLD,MAAOkC,aAAa,EAAbA,EAAelC,MACtBygE,UAAWknE,GAEnB,EACAF,UAAW,SAAC/gI,GACRA,EAAMW,iBACV,EACAqgI,YAAa,SAAChhI,GACVA,EAAMW,iBACV,GAEA,wBAAC,UAAO,CACJvL,SACIwB,IAAoBqkE,EAAgCu1C,MAC9C,EAAAn7G,oBAAoB0B,WACpB,EAAA1B,oBAAoBC,YAE9BC,MAAO,EAAAC,iBAAiBC,MACxBkJ,MAjHN,IAkHMjJ,YACI,+BAAKX,UAAWf,EAAG,qBACdwH,aAAa,EAAbA,EAAeu+D,aAAc,EAAAC,kBAAkB4uD,IAC1C1zH,EAAE,2BACFA,EAAE,6BAIf,WAAM,OACH,+BACIH,UAAWf,EAAG,eAAgB,CAC1B,0BAA0BwH,aAAa,EAAbA,EAAeu+D,aAAc,EAAAC,kBAAkB4uD,MAC3E,qBACkB,UAAG3zH,EAAgB,eALxC,MAWnB,+BAAKF,UAAWf,EAAG,oBAAoB6+G,aAAc,EAAdA,EAAgBz3G,QAAS,IAChE,+BAAKrG,UAAWf,EAAG,kBACf,wBAAC,UAAU,CAACe,UAAWf,EAAG,YAGjCo3B,GACG,wBAAC,EAAA3qB,eAAc,KACX,iCACIJ,IAAKhC,EAAKqC,YACVlE,MAAO8B,EACPvJ,UAAWf,EAAG,YACVsL,KAEH9I,EAAQkV,KAAI,SAAC7Q,EAAQ8Q,GACZ,MAAmB9Q,GAAU,CAAC,EAA5BO,EAAK,QAAE9B,EAAK,QAEd2iB,EAAazgB,EAAclC,QAAUA,EAE3C,OACI,+BACI0N,IAAK2E,EACL5W,UAAWf,EAAG,SAAU,CACpB,qBAAsBioB,IAE1BnmB,QAAS,WACD4D,IAIJH,EAAS,CACLD,MAAK,EACLygE,UAAWv+D,EAAcu+D,YA3I7D1uC,GAAW,GA+IiB,EAAC,qBACmB,UAAGp2B,EAAgB,mBAAW0W,IAElD,+BAAK5W,UAAWf,EAAG,kBAAmBoH,GACrC6gB,GACG,+BACIlnB,UAAWf,EAAG,gBAAe,qBACT,UAAGiB,EAAgB,cAEvC,wBAAC,UAAQ,CACLe,UAAW,EAAAC,qBAAqBC,SAChCuU,KAAM,EAAAC,kBACN3V,UAAWf,EAAG,WAMtC,MAMxB,G,wGChPA,cAEa,EAAAqqC,sBAAwB,IAAI,EAAA/gB,gB,sBCAzC,IAAYkhC,EA4CAtyC,E,+FA5CZ,SAAYsyC,GACR,gCACA,kCACA,gCACA,kCACA,8BACA,oCACA,gCACA,oCACA,gCACA,gCACA,4BACA,kBACA,kCACA,0BACA,8BAEA,4BAEA,yBACH,CApBD,CAAYA,IAAoB,uBAApBA,EAAoB,KA4ChC,SAAYtyC,GACR,uBACA,uBACA,4BACH,CAJD,CAAYA,IAAa,gBAAbA,EAAa,I,0pCC9CzB,kBAEA,cACA,cACA,cACA,cACA,cACA,WACA,cAEMlY,EAAK,UAAWC,KAAK,WAoBrBitI,EAAqB,SAAC,G,IACxBC,EAAS,YACTC,EAAkB,qBAClBC,EAAgB,mBAChBC,EAAe,kBAOf,OAAIF,GAAsBC,GAAoBC,EACnC,EAAAC,oBAAoBrrI,SAG1BirI,EAIE,EAAAI,oBAAoB96H,MAHhB,EAAA86H,oBAAoBlrI,KAInC,EAEMmrI,EAAoCrtI,EAAMC,MAAK,SAACC,GAE9C,IAAA+f,EAYA/f,EAAK,IAXLggB,EAWAhgB,EAAK,IAVLotI,EAUAptI,EAAK,YATLgtI,EASAhtI,EAAK,iBARLqtI,EAQArtI,EAAK,cAPL+sI,EAOA/sI,EAAK,mBANLstI,EAMAttI,EAAK,WALLitI,EAKAjtI,EAAK,gBAJLU,EAIAV,EAAK,UAHLkgB,EAGAlgB,EAAK,UAFLyB,EAEAzB,EAAK,QADL8sI,EACA9sI,EAAK,UAET,OACI,gBAAC,UAAU,CACP+f,IAAKA,EACLC,IAAKA,EACLtf,UAAWA,EACXQ,MAAO2rI,EAAmB,CACtBC,UAAS,EACTC,mBAAkB,EAClBC,iBAAgB,EAChBC,gBAAe,IAEnBxrI,QAAS,WACLA,EAAQye,EACZ,IAEC,WAAM,OACH,gCACqB,IAAhBktH,GACG,uBAAK1sI,UAAWf,EAAG,QACf,gBAAC,UAAS,GACNe,UAAWf,EAAG,UACV,IAAAsnC,oBACA,IAAAsmG,yBAAwB,CACpB3lH,WAAYolH,EACZF,UAAS,OAIrB,wBACIpsI,UAAWf,EAAG,OAAQ,CAClB,wBAAyBmtI,EACzB,mBAAoBE,KAGvBI,IAIM,IAAlBC,GACG,uBAAK3sI,UAAWf,EAAG,QACf,gBAAC,UAAW,GACRe,UAAWf,EAAG,UACV,IAAAunC,sBACA,IAAAqmG,yBAAwB,CAAE3lH,WAAYmlH,EAAoBD,UAAS,OAG3E,wBACIpsI,UAAWf,EAAG,OAAQ,CAClB,wBAAyBmtI,EACzB,mBAAoBC,KAGvBM,IAIG,IAAfC,GACG,uBAAK5sI,UAAWf,EAAG,QACf,gBAAC,UAAa,GACVe,UAAWf,EAAG,UACV,IAAAwnC,wBACA,IAAAomG,yBAAwB,CAAE3lH,WAAYqlH,EAAiBH,UAAS,OAGxE,wBACIpsI,UAAWf,EAAG,OAAQ,CAClB,wBAAyBmtI,EACzB,mBAAoBG,KAGvBK,IAvDd,GA+DnB,IAEA,UAAeH,C,i4BCpJf,eACA,UACA,cACA,UAaS,EAAAK,mBAXkB,WACvB,IAAMj5G,GAAW,IAAAC,eAEXi5G,GAAkB,IAAAz3H,aAAY,EAAA0/E,uBAKpC,OAJA51F,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEGk5G,CACX,C,q7BCdA,kBACA,cACA,aACA,WACA,aACA,cACA,cACA,cACA,cAEA,WACA,cACA,aACA,cAEM9tI,EAAK,UAAWC,KAAK,WAUrB8tI,EAA8B5tI,EAAMC,MAAK,SAACC,GACpC,IAAA6N,EAAgE7N,EAAK,KAA/DU,EAA0DV,EAAK,UAApDg6D,EAA+Ch6D,EAAK,gBAAnCowE,EAA8BpwE,EAAK,eAAnBgP,EAAchP,EAAK,UAErEa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAA2C,CAC7C,CACIC,aAAc,WAAM,mCAAOtyB,EAAE,yCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAAClK,GAAc,uBAAC,UAAY,CAACA,IAAKA,EAAKlmB,KAAM,EAAAswB,cAAcC,QAA5C,EACvB9yB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,8CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAClK,GAAc,uBAAC,UAAY,CAACA,IAAKA,EAAKlmB,KAAM,EAAAswB,cAAcE,aAA5C,EACvB/yB,UAAWf,EAAG,gBAAiB,8BAC/BgB,aAAc,eAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,0CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAClK,GAAc,uBAAC,UAAW,CAACwkH,WAAY3zE,EAAiB7wC,IAAKA,GAA/C,EACvBzoB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,WAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,kDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,kCACrC0zB,OAAQ,SAAClK,GAAc,uBAAC,UAAkB,CAACxb,OAAQwb,aAAG,EAAHA,EAAKykH,gBAAjC,EACvBltI,UAAWf,EAAG,gBAAiB,kCAC/BgB,aAAc,mBAGlB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,yCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAAClK,GAAc,uBAAC,UAAU,CAACtS,MAAOsS,EAAItS,MAAOg3H,YAAa1kH,EAAI0kH,aAA/C,EACvBntI,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,0CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAClK,GAAc,uBAAC,UAAe,CAACA,IAAKA,GAAtB,EACvBzoB,UAAWf,EAAG,iBACdgB,aAAc,WAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,yCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAClK,GAAc,uBAAC,UAAU,CAACA,IAAKA,GAAjB,EACvBzoB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,WAIhBmzB,EAAkB,SAACnoB,EAAyBwd,GACzCA,EAAIjd,IAITkkE,EAAezkE,EAAOwd,EAAIjd,GAC9B,EAGM6nB,EAAa,SAAClY,EAAqBsN,GACrC,MAAO,CAAC,CACZ,EAEA,OACI,uBAAKzoB,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAOw0B,UAAU,OAAOnlB,UAAWA,EAAW4W,KAAM/X,IAC7D,SAAC+X,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACFzzB,aAAa,OACbD,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNmO,WAAYA,EACZM,YAAaP,EACb9kB,UAAWA,EACXolB,eAAgBA,GATG,IAe3C,IAEA,UAAes5G,C,gKCjHF,EAAAI,8BAAgC,SAACpqI,GAAgD,OAAAA,EAAMqqI,YAAYlgG,OAAlB,EACjF,EAAAmgG,wBAA0B,SAACtqI,GAA+C,OAAAA,EAAMqqI,YAAYp0F,QAAU,EAA5B,EAC1E,EAAAs0F,sBAAwB,SAACvqI,GAA6C,OAAAA,EAAMqqI,YAAY1/H,MAAQ,CAAC,CAA3B,C,sGCJnF,eACA,WACA,WAEa,EAAA6/H,oBAAsB,SAC/BC,EACAC,GAEA,OAAKD,GAAiBC,EAIf,CACH1kH,WAAW,IAAAs6B,uBAAsBmqF,EAAa,aAAezkH,YAC7DC,UAAU,IAAAq6B,uBAAsBmqF,EAAa,aAAexkH,WAC5DljB,OAAO,IAAAu9C,uBAAsBmqF,EAAa,aAAe1nI,QACzDujB,UAAU,IAAAg6B,uBAAsBmqF,EAAa,aAAenkH,WAC5DJ,MAAOukH,EAAa,aAAevkH,OACnCy+B,YAAa+lF,EAAgB,aAAkB/lF,aAE/CkkC,aAAa,IAAAvoC,uBAAsBoqF,EAAgB,aAAkB7hD,cACrEnkC,MAAM,IAAApE,uBAAsBoqF,EAAgB,aAAkBhmF,OAC9Dj3B,YAAai9G,EAAgB,aAAkBj9G,cAAgB,GAC/D82B,SAAS,IAAAjE,uBAAsBoqF,EAAgB,aAAkBnmF,UACjEE,SAAS,IAAAnE,uBAAsBoqF,EAAgB,aAAkBjmF,WAf1D,IAiBf,C,w9BC3BA,IAiBKkmF,EAjBL,WAIA,WACA,cACA,cACA,WACA,cACA,WAGA,cACA,UAEA,cAEA,SAAKA,GACD,sBACA,kBACA,aACH,CAJD,CAAKA,IAAAA,EAAmB,KAQX,EAAAC,0BAA4B,SACrC98G,EACAmQ,EACAu7E,G,MAEQqxB,EAAgErxB,EAAS,mBAArDsxB,EAA4CtxB,EAAS,sBAA9BuxB,EAAqBvxB,EAAS,iBAEzEwxB,EAAoF/sG,EAAW,4BAAlEgtG,EAAuDhtG,EAAW,wBAAzCitG,EAA8BjtG,EAAW,0BAE/F9gC,GAAM,IAAAC,kBAAgB,EAExBokC,GAAa1T,aAAQ,EAARA,EAAUtlB,KAAM,KAE7B2iI,IAAgB,MAIjBR,EAAoBS,UAAW,CAC5B3iI,KAAM,gBAAC,UAAY,CAACxK,UAAW,EAAAC,qBAAqBC,SAAUuU,KAAM,EAAAC,oBACpEtP,MAAOlG,EAAE,mDACTqE,SAAU,WACDggC,EAKLqpG,EAAmBrpG,IAJf,IAAAxQ,YAAW,gDAKnB,GAEJ,EAAC25G,EAAoBU,QAAS,CAC1B5iI,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBkS,YACjD/M,MAAOlG,EAAE,iDACTqE,SAAU,WACDssB,EAKLi9G,EAAiB,CACbviI,GAAIslB,EAAStlB,GACb0M,KAAM4Y,EAAS5Y,KACfyhG,YAAa7oF,EAAS6oF,YACtBC,WAAY9oF,EAAS8oF,WACrBC,UAAW/oF,EAAS+oF,aATpB,IAAA7lF,YAAW,4CAWnB,GAEJ,EAAC25G,EAAoBlxB,MAAO,CACxBhxG,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C1P,MAAOlG,EAAE,+CACTqE,SAAU,WACDggC,EAKLspG,EAAsBtpG,IAJlB,IAAAxQ,YAAW,4CAKnB,G,GAuCR,OAnCgB50B,EAAM0E,SAAQ,WAC1B,IAAMwqI,IAAkBx9G,EAElB7iB,EAA0D,GAgBhE,OAdIqgI,GAAiBN,GACjB//H,EAAQ+I,KAAK22H,EAAoBS,UAGjCE,IAAiBx9G,aAAQ,EAARA,EAAUpI,UAAW,EAAA2Z,0BAA0BhX,UAAY4iH,IAC5EhgI,EAAQ+I,KAAK,EAAAsjF,kBAAkBC,WAC/BtsF,EAAQ+I,KAAK22H,EAAoBlxB,OAGjC6xB,IAAiBx9G,aAAQ,EAARA,EAAUpI,UAAW,EAAA2Z,0BAA0BhX,UAAY6iH,IAC5EjgI,EAAQ+I,KAAK,EAAAsjF,kBAAkBC,WAC/BtsF,EAAQ+I,KAAK22H,EAAoBU,SAG9BpgI,CACX,GAAG,CAAC6iB,EAAUk9G,EAA6BC,EAAyBC,IAE5Cv3H,KAAI,SAAC1T,GACzB,GAAIA,IAAW,EAAAq3F,kBAAkBC,UAC7B,OAAO,EAAAD,kBAAkBC,UAG7B,IAAMg0C,EAAeJ,EAAiBlrI,GAEtC,MAAO,CACHoD,MAAO,gBAAC,UAA0B,CAACoF,KAAM8iI,EAAa9iI,KAAMpF,MAAOkoI,EAAaloI,QAChF7B,SAAU+pI,EAAa/pI,SAE/B,GAGJ,C,wZC/HA,kBAEA,UACA,WACA,WACA,cAEa,EAAAqxE,aAAe,SAACj9D,EAAyB24C,GAClD,IAAMsjB,EAAYj8D,EAAW,EAAA5Z,WAAW61E,WAExC,KAAKA,aAAS,EAATA,EAAWj+C,MACZ,OAAO,KAGX,IAAMrxB,EAAqC,CAAC,EAEtCipI,GAAc,IAAApuD,iBAAgBxnE,EAAW,EAAA5Z,WAAW81E,kBAEpDisD,GAAW,aAAOlsD,EAAUj+C,MAAMgvB,QAAQ,OAAO3sC,SACjDgoH,GAAS,aAAOpsD,EAAUrtD,IAAMqtD,EAAUj+C,MAC3CkvB,MAAM,OACN7sC,SAECy7B,GAAW85F,aAAW,EAAXA,EAAa95F,WAAY,KACpCC,GAAY65F,aAAW,EAAXA,EAAa75F,YAAa,KAC5C,KAAK,aAASD,MAAc,aAASC,GACjC,OAAO,KAGX,IAAM85F,EAAe,OACdD,GAAW,CACd95F,SAAQ,EACRC,UAAS,IAiBb,OAdI4c,IAAc,EAAA3I,cAAcvlC,QAC5B9d,EAAMkwE,cAAgBsrD,EACtBx7H,EAAMmwE,YAAcurD,EACpB17H,EAAMmpI,YAAcD,QAAmB7oI,EACvCL,EAAMopI,iBAAmBF,QAAmB7oI,GAG5C2rD,IAAc,EAAA3I,cAActlC,UAC5B/d,EAAMowE,gBAAkBorD,EACxBx7H,EAAMqwE,cAAgBqrD,EACtB17H,EAAMqpI,cAAgBH,QAAmB7oI,EACzCL,EAAMspI,mBAAqBJ,QAAmB7oI,GAG3CL,CACX,C,sBCnDA,IAAYgJ,E,kEAAZ,SAAYA,GACR,kBACA,mBACH,CAHD,CAAYA,IAAO,UAAPA,EAAO,I,qxBCAnB,cAqEa,EAAA4yB,eAAiB,SAAC/8B,EAAuB3C,GAAmD,OACrGc,KAAM,EAAAqzC,wBACNxxC,UAAS,EACT3C,QAAO,EAH8F,EAM5F,EAAAqtI,oBAAsB,SAAC1qI,GAAsD,OACtF7B,KAAM,EAAAszC,8BACNzxC,UAAS,EAF6E,EAK7E,EAAA2qI,sBAAwB,SACjC5yC,EACAC,EACAh4F,GAC+B,OAC/B7B,KAAM,EAAAwzC,gCACNomD,kBAAiB,EACjBC,cAAa,EACbh4F,UAAS,EAJsB,EAOtB,EAAA4qI,oBAAsB,SAAC3rI,EAAce,GAAsD,OACpG7B,KAAM,EAAAuzC,8BACNzyC,MAAK,EACLe,UAAS,EAH2F,EAM3F,EAAA6qI,eAAiB,SAC1B5yC,EACAr6E,EACA5d,EACAxB,GACwB,OACxBL,KAAM,EAAAyzC,wBACNqmD,eAAc,EACdr6E,KAAI,EACJpf,YAAW,EACXwB,UAAS,EALe,EAQf,EAAA8qI,oBAAsB,SAC/B9qI,EACAi4F,GAC6B,OAC7B95F,KAAM,EAAA0zC,8BACN7xC,UAAS,EACTi4F,eAAc,EAHe,EAMpB,EAAA8yC,sBAAwB,SAAC/qI,GAAwD,OAC1F7B,KAAM,EAAA4zC,gCACN/xC,UAAS,EAFiF,EAKjF,EAAAgrI,oBAAsB,SAAC/rI,EAAce,GAAsD,OACpG7B,KAAM,EAAA2zC,8BACN7yC,MAAK,EACLe,UAAS,EAH2F,EAM3F,EAAAirI,iBAAmB,SAACriD,EAAyB5oF,GAAmD,OACzG7B,KAAM,EAAAq0C,0BACNo2C,WAAU,EACV5oF,UAAS,EAHgG,EAMhG,EAAAkrI,sBAAwB,SAAClrI,GAAwD,OAC1F7B,KAAM,EAAAs0C,gCACNzyC,UAAS,EAFiF,EAKjF,EAAAmrI,wBAA0B,SAACnrI,GAA0D,OAC9F7B,KAAM,EAAAw0C,kCACN3yC,UAAS,EAFqF,EAKrF,EAAAorI,sBAAwB,SAACnsI,EAAce,GAAwD,OACxG7B,KAAM,EAAAu0C,gCACNzzC,MAAK,EACLe,UAAS,EAH+F,EAM/F,EAAAqrI,gBAAkB,SAC3BziD,EACAh0E,EACA5U,EACAxB,GACyB,OACzBL,KAAM,EAAA6zC,yBACN42C,WAAU,EACV5oF,UAAS,EACT4U,UAAS,EACTpW,YAAW,EALc,EAQhB,EAAA86H,6BAA+B,SACxCt5H,EACAxB,EACAoqF,EACAh0E,EACAg/F,GACsC,OACtCz1G,KAAM,EAAA8zC,yCACN22C,WAAU,EACV5oF,UAAS,EACT4U,UAAS,EACTpW,YAAW,EACXo1G,eAAc,EANwB,EAS7B,EAAA03B,eAAiB,SAC1B1iD,EACA2I,EACAvxF,EACAxB,GACwB,OACxBL,KAAM,EAAA+zC,wBACN02C,WAAU,EACV2I,OAAM,EACNvxF,UAAS,EACTxB,YAAW,EALa,EAQf,EAAA+sI,eAAiB,SAC1B3iD,EACA5oF,EACAxB,GACwB,OACxBL,KAAM,EAAAg0C,wBACNy2C,WAAU,EACV5oF,UAAS,EACTxB,YAAW,EAJa,EAOf,EAAAk6H,2BAA6B,SACtC14H,EACA4oF,EACAgrB,GACoC,OACpCz1G,KAAM,EAAA60C,uCACNhzC,UAAS,EACT4oF,WAAU,EACVgrB,eAAc,EAJsB,EAO3B,EAAA43B,gCAAkC,SAACxrI,GAAkE,OAC9G7B,KAAM,EAAA80C,6CACNjzC,UAAS,EAFqG,EAKrG,EAAAyrI,kCAAoC,SAACzrI,GAAoE,OAClH7B,KAAM,EAAAg1C,+CACNnzC,UAAS,EAFyG,EAKzG,EAAA0rI,gCAAkC,SAC3CzsI,EACAe,GACyC,OACzC7B,KAAM,EAAA+0C,6CACNj0C,MAAK,EACLe,UAAS,EAHgC,EAMhC,EAAA2rI,eAAiB,SAC1B/iD,EACA5oF,EACA4rI,GACwB,OACxBztI,KAAM,EAAAi0C,wBACNw2C,WAAU,EACV5oF,UAAS,EACT4rI,cAAa,EAJW,EAOf,EAAAC,oBAAsB,SAAC7rI,EAAuB4oF,GAAwD,OAC/GzqF,KAAM,EAAAk0C,8BACNryC,UAAS,EACT4oF,WAAU,EAHqG,EAMtG,EAAAkjD,sBAAwB,SAAC9rI,GAAwD,OAC1F7B,KAAM,EAAAo0C,gCACNvyC,UAAS,EAFiF,EAKjF,EAAA+rI,oBAAsB,SAAC9sI,EAAce,GAAsD,OACpG7B,KAAM,EAAAm0C,8BACNrzC,MAAK,EACLe,UAAS,EAH2F,EAM3F,EAAAu4H,0BAA4B,SAACv4H,GAA4D,OAClG7B,KAAM,EAAAy0C,sCACN5yC,UAAS,EAFyF,EAKzF,EAAAgsI,+BAAiC,SAAChsI,GAAiE,OAC5G7B,KAAM,EAAA00C,4CACN7yC,UAAS,EAFmG,EAKnG,EAAAisI,iCAAmC,SAC5CjsI,EACAytB,GAC0C,OAC1CtvB,KAAM,EAAA40C,8CACN/yC,UAAS,EACTytB,qBAAoB,EAHsB,EAMjC,EAAAy+G,+BAAiC,SAC1ClsI,EACAf,GACwC,OACxCd,KAAM,EAAA20C,4CACN7zC,MAAK,EACLe,UAAS,EAH+B,EAM/B,EAAAmsI,cAAgB,SAACnsI,GAAgD,OAC1E7B,KAAM,EAAAi1C,MACNpzC,UAAS,EAFiE,C,iIClS9E,eAEa,EAAAi1B,kBAAe,MACvB,EAAAm3G,UAAUC,aAAc,0CACzB,EAAC,EAAAD,UAAUE,cAAe,0CAC1B,EAAC,EAAAF,UAAUt7C,QAAS,mCACpB,EAAC,EAAAs7C,UAAU73F,MAAO,iCAClB,EAAC,EAAA63F,UAAUG,mBAAoB,gDAC/B,EAAC,EAAAH,UAAUI,YAAa,uC,GAGf,EAAAC,uBAAoB,MAC5B,EAAAC,qBAAqBrvF,UAAW,wCACjC,EAAC,EAAAqvF,qBAAqBC,YAAa,0CACnC,EAAC,EAAAD,qBAAqBE,OAAQ,qCAC9B,EAAC,EAAAF,qBAAqBG,OAAQ,qCAC9B,EAAC,EAAAH,qBAAqBI,IAAK,kC,+JChB/B,kBAEA,cACA,cACA,cAEMjyI,EAAK,UAAWC,KAAK,WAcrBiyI,EAA0B,UAAM9xI,MAAK,SAACC,GAChC,IAAA8xI,EAA6E9xI,EAAK,SAAxE+xI,EAAmE/xI,EAAK,WAA5D8yF,EAAuD9yF,EAAK,KAAtD25F,EAAiD35F,EAAK,gBAArC45F,EAAgC55F,EAAK,eAArB85F,EAAgB95F,EAAK,YAE1F,OACI,iDACK,aAAM+xI,EAAa,GAAG16H,KAAI,SAAC26H,EAAG16H,GAC3B,IAAMhP,EAAcgP,EAAQqiF,GAAoB,EAC1Cs4C,EAAa36H,EAAQsiF,GAAmB,EAGxC74F,EAAY,IAAMgxI,EAAcz6H,EAGtC,OACI,+BACI3E,IAAK2E,EACL5W,UAAWf,EAAG,OAAQ,CAClB,oBAAqBsyI,IACvB,qBACkB,eAAQ36H,GAC5BnP,MAAO,CAAE0+D,KAAM,UAAG9lE,EAAQ,OAEzBuH,GACG,+BACI5H,UAAWf,EAAG,cAAe,CACzB,uBAAkC,IAAV2X,EACxB,sBAAuBA,IAAUy6H,KAGpCj4C,EAAYg4C,EAAWx6H,EAAQw7E,IAKpD,IAGZ,IAEA,UAAe++C,C,q7BC3Df,kBACA,cACA,aAEA,cACA,WACA,WACA,cACA,WACA,WACA,cACA,cAEA,cACA,cACA,cACA,cACA,cACA,aACA,WACA,cACA,cACA,cAIMlyI,EAAK,UAAWC,KAAK,WAOrBsyI,EAAc,aAoIpB,UAlIqD,SAAClyI,GAC1C,IAAAU,EAAoBV,EAAK,UAAdyM,EAASzM,EAAK,KAEzBa,GAAM,IAAAC,kBAAgB,EAExBk5G,GAAmB,IAAAhkG,aAAY,EAAAm6B,yBAA2B,CAAC,EAC3DgiG,GAAmB1lI,aAAI,EAAJA,EAAM8Q,eAAgBy8F,EAAiBvtG,aAAI,EAAJA,EAAM8Q,eAAiB,KAEvF,OACI,+BAAK7c,WAAW,aAAGf,EAAG,QAASe,IAC3B,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVA,UAAWf,EAAG,QAAS,uBACvBoH,MAAOlG,EAAE,yDACTsL,KACI,wBAAC,UAAW,CACRiK,KAAM,GACNzU,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1CxR,MACIktI,EACMtxI,EAAE,kCAAmC,CACjCoB,OAAQkwI,EAAiBlwI,OACzBklB,MAAOgrH,EAAiBhrH,MACxB8yD,YAAak4D,EAAiBl4D,YAC9BC,YAAai4D,EAAiBj4D,cAElC,KAGd,wBAAC,UAAa,CACV/tE,KAAM,wBAAC,UAAY,CAACuK,YAAa,EAAA9U,qBAAqB6U,YACtD/V,UAAWf,EAAG,QAAS,yBACvBoH,MAAOlG,EAAE,0DACToE,MAAO,wBAAC,UAAkB,CAACqoD,WAAS,EAAC7b,cAAehlC,aAAI,EAAJA,EAAMglC,mBAGlE,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVtlC,KAAM,wBAAC,UAAU,MACjBzL,UAAWf,EAAG,QAAS,mBACvBoH,MAAOlG,EAAE,mDACToE,MAAOwH,aAAI,EAAJA,EAAM2lI,oBAEjB,wBAAC,UAAa,CACV1xI,UAAWf,EAAG,QAAS,iBACvBoH,MAAOlG,EAAE,mDACToE,MAAO,wBAAC,UAAa,CAACrC,MAAO6J,aAAI,EAAJA,EAAMwoC,aAAchyC,KAAM,EAAA4V,aAAaC,4BAG5E,wBAAC,UAAU,KACP,wBAAC,UAAa,CACV3M,KAAM,wBAAC,UAAe,MACtBzL,UAAWf,EAAG,QAAS,mBACvBoH,MAAOlG,EAAE,wDACToE,MAAOwH,aAAI,EAAJA,EAAM4lI,yBAEjB,wBAAC,UAAa,CACV3xI,UAAWf,EAAG,QAAS,iBACvBoH,MAAOlG,EAAE,mDACToE,MAAO,wBAAC,UAAa,CAACrC,MAAO6J,aAAI,EAAJA,EAAMgpC,kBAAmBxyC,KAAM,EAAA4V,aAAaC,4BAGjF,wBAAC,UAAU,KACP,wBAAC,UAAa,CACV3M,KACI,wBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqB6U,YAG1C/V,UAAWf,EAAG,QAAS,eACvBoH,MAAOlG,EAAE,uDACToE,OAAOwH,aAAI,EAAJA,EAAM8V,YAAY,aAAO9V,EAAK8V,WAAW5I,OAAOu4H,GAAe,OAE1E,wBAAC,UAAa,CACV/lI,KACI,wBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqB6U,YAG1C/V,UAAWf,EAAG,QAAS,eACvBoH,MAAOlG,EAAE,uDACToE,OAAOwH,aAAI,EAAJA,EAAMiN,YAAY,aAAOjN,EAAKiN,WAAWC,OAAOu4H,GAAe,QAG9E,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVxxI,UAAWf,EAAG,QAAS,gBACvBoH,MAAOlG,EAAE,0DACTQ,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,6DAGXoE,MAAO,wBAAC,UAAa,CAACrC,MAAO6J,aAAI,EAAJA,EAAM6lI,eAAgBrvI,KAAM,EAAA4V,aAAa8wE,sBAE1E,wBAAC,UAAa,CACVjpF,UAAWf,EAAG,QAAS,gBACvBoH,MAAOlG,EAAE,wDACToE,OACI,aAASwH,aAAI,EAAJA,EAAMmoF,cAAe,aAASnoF,aAAI,EAAJA,EAAMooF,mBACvC,UAAGpoF,aAAI,EAAJA,EAAMmoF,WAAU,YAAInoF,aAAI,EAAJA,EAAMooF,mBAC7B,QAIlB,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVn0F,UAAWf,EAAG,QAAS,2BACvBoH,MAAOlG,EAAE,6DACToE,MAAOwH,aAAI,EAAJA,EAAM8lI,eACb7sI,YAAa,EAAAivF,wBACbtzF,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,kEAIf,wBAAC,EAAA2xI,oBAAmB,CAAC9xI,UAAWf,EAAG,QAAS,mBAI5D,C,+BClKA,WAAgB,QAAU,mCAAmC,OAAS,kCAAkC,SAAW,oC,6aCEtG,EAAA8yI,qBAAuB,qCACvB,EAAAC,2BAA6B,2CAC7B,EAAAC,2BAA6B,2CAC7B,EAAAC,6BAA+B,6CAE/B,EAAAC,qBAAuB,qCACvB,EAAAC,2BAA6B,2CAC7B,EAAAC,2BAA6B,2CAC7B,EAAAC,6BAA+B,6CAE/B,EAAAC,qBAAuB,qCACvB,EAAAC,2BAA6B,2CAC7B,EAAAC,2BAA6B,2CAC7B,EAAAC,6BAA+B,6CAE/B,EAAAC,aAAe,4B,yTClB5B,eA8Ba,EAAAC,YAAc,SAACvmH,EAAiB47C,EAAmBxmE,GAAgD,OAC5Gc,KAAM,EAAAwvI,qBACN1lH,OAAM,EACN47C,SAAQ,EACRxmE,QAAO,EAJqG,EAOnG,EAAAoxI,iBAAmB,SAAC/8E,GAA+C,OAC5EvzD,KAAM,EAAAyvI,2BACNl8E,KAAI,EAFwE,EAKnE,EAAAg9E,mBAAqB,SAACh9E,EAAmB/L,GAAuD,OACzGxnD,KAAM,EAAA2vI,6BACNp8E,KAAI,EACJ/L,KAAI,EAHqG,EAMhG,EAAAgpF,iBAAmB,SAAC1vI,EAAcyyD,GAA+C,OAC1FvzD,KAAM,EAAA0vI,2BACN5uI,MAAK,EACLyyD,KAAI,EAHsF,EAMjF,EAAAk9E,YAAc,SAAC3mH,EAAiB47C,EAAmBjmD,GAAmC,OAC/Fzf,KAAM,EAAA4vI,qBACNlqE,SAAQ,EACRjmD,KAAI,EACJqK,OAAM,EAJyF,EAOtF,EAAA4mH,iBAAmB,SAACn9E,GAA+C,OAC5EvzD,KAAM,EAAA6vI,2BACNt8E,KAAI,EAFwE,EAKnE,EAAAo9E,mBAAqB,SAACp9E,GAAiD,OAChFvzD,KAAM,EAAA+vI,6BACNx8E,KAAI,EAF4E,EAKvE,EAAAq9E,iBAAmB,SAAC9vI,EAAcyyD,GAA+C,OAC1FvzD,KAAM,EAAA8vI,2BACNhvI,MAAK,EACLyyD,KAAI,EAHsF,EAMjF,EAAAs9E,YAAc,SAAC/mH,EAAiB47C,EAAmB4pD,GAA2C,OACvGtvH,KAAM,EAAAgwI,qBACNlmH,OAAM,EACN47C,SAAQ,EACR4pD,QAAO,EAJgG,EAO9F,EAAAwhB,iBAAmB,SAACv9E,EAAmB+7D,GAAgD,OAChGtvH,KAAM,EAAAiwI,2BACN18E,KAAI,EACJ+7D,QAAO,EAHyF,EAMvF,EAAAyhB,mBAAqB,SAACx9E,GAAiD,OAChFvzD,KAAM,EAAAmwI,6BACN58E,KAAI,EAF4E,EAKvE,EAAAy9E,iBAAmB,SAAClwI,EAAcyyD,GAA+C,OAC1FvzD,KAAM,EAAAkwI,2BACNpvI,MAAK,EACLyyD,KAAI,EAHsF,EAMjF,EAAA09E,YAAc,WAA0B,OACjDjxI,KAAM,EAAAowI,aAD2C,C,iLCrGrD,eASa,EAAAc,gCAAkC,SAC3ClvI,GAEA,OAAOA,aAAK,EAALA,EAAOmvI,eAAgB,EAAAC,6BAA6B/rH,OAC/D,EAEa,EAAAgsH,+BAAiC,SAC1CrvI,GAEA,OAAOA,aAAK,EAALA,EAAOmvI,eAAgB,EAAAC,6BAA6BpnI,MAC/D,EAEa,EAAAsnI,4BAA8B,SACvCpoD,EACAlpF,G,MAEA,OAAgC,QAAzB,EAAAkpF,aAAkB,EAAlBA,EAAoBrtE,aAAK,eAAEg6B,MAAK,SAAC07F,GACpC,QAAI,IAAAL,iCAAgCK,OAIhC,IAAAF,gCAA+BE,KAHxBA,EAAkBvxI,OAASA,CAQ1C,GACJ,C,4LCpCA,iBAEa,EAAA8qF,QAAU,IAEV,EAAAlE,YAAc,SAAC4qD,GACxB,OAAI,aAAMA,GACC,KAGJt1H,KAAK+1D,MAAMu/D,EAAS,EAAA1mD,QAC/B,C,6JCVA,kBACA,cACA,cACA,WACA,cACA,cACA,WAEMpuF,EAAK,UAAWC,KAAK,WAYrB80I,EAAkC,UAAM30I,MAAK,SAACC,GACxC,IAAA4sB,EAAmB5sB,EAAK,KAAlB8c,EAAa9c,EAAK,SAE1Bm2B,EAAU,UAAM3xB,SAAQ,WAC1B,OAAOxE,EAAMm2B,UAAW,IAAAC,gBAAe,GAAI,OAC/C,GAAG,CAACp2B,EAAMm2B,UAEJF,EAAU,UAAMzxB,SAAQ,WAC1B,OAAOxE,EAAMi2B,UAAW,IAAAC,kBAAiB,EAAG,OAChD,GAAG,CAACl2B,EAAMi2B,UAEFp1B,GAAM,IAAAC,kBAAgB,EAExB6zI,EAAe,UAAMnwI,SAAQ,WAC/B,OAAO,aAAM,IAAI6S,KAAI,SAACC,GAAU,OAAAzW,EAAE,4BAAqByW,GAAvB,GACpC,GAAG,CAACzW,IAEE+zI,EAAuB,UAAMpwI,SAAQ,WACvC,OAAK,IAAAqwI,iBAAgB1+G,EAASvJ,IAIvB,aAAOuJ,GAAS2+G,QAhCP,CAiCpB,GAAG,CAAC3+G,EAASvJ,IAEPmoH,EAAuB,UAAMvwI,SAAQ,WACvC,OAAK,IAAAqwI,iBAAgB5+G,EAASrJ,IAIvB,aAAOqJ,GAAS6+G,QAvCP,EAwCpB,GAAG,CAAC7+G,EAASrJ,IAEPooH,EAAQ,UAAMxwI,SAAQ,WACxB,IAAMywI,GAAU,IAAAC,SAAQj/G,GAClBk/G,GAAU,IAAAD,SAAQ/+G,GAMxB,OAJiB,aAAM8+G,EAAUE,EAAU,GACtC99H,IAAIrE,QACJqE,KAAI,SAACC,GAAU,OAAA69H,EAAU79H,CAAV,GAGxB,GAAG,CAAC6e,EAASF,IAEPsjE,EAAe,SAAC5tF,GACZ,MAAkBA,EAAMoc,OAAOqtH,KAA7BC,EAAI,OAAEP,EAAK,QACnBh4H,EAAS,IAAI4nD,KAAK2wE,EAAKpwI,MAAO6vI,EAAM7vI,OACxC,EAEA,OACI,gCAAMvE,UAAWf,EAAG,SAChB,kCACIe,UAAWf,EAAG,SAAU,iBACxBiZ,KAAK,QACLkE,SAAUy8E,EACVt0F,MAAO2nB,EAAK0oH,YAEXX,EAAat9H,KAAI,SAACk+H,EAAYj+H,GAC3B,OACI,kCACI3E,IAAK2E,EACLrS,MAAOqS,EACPpU,OAAQoU,EAAQs9H,GAAwBG,EAAuBz9H,GAE9Di+H,EAGb,KAEJ,kCAAQ70I,UAAWf,EAAG,UAAWiZ,KAAK,OAAOkE,SAAUy8E,EAAct0F,MAAO2nB,EAAK4oH,eAC5ER,EAAM39H,KAAI,SAACg+H,EAAM/9H,GAAU,OACxB,kCAAQ3E,IAAK2E,EAAOrS,MAAOowI,GACtBA,EAFmB,KAQ5C,IAEA,UAAeX,C,q7BCpGf,kBACA,cACA,aAEA,aAEM/0I,EAAK,UAAWC,KAAK,WAqC3B,UA1B2C,SAACI,GAChC,IAAAU,EAAyEV,EAAK,UAAnEy1I,EAA8Dz1I,EAAK,UAAxD01I,EAAmD11I,EAAK,SAA9C21I,EAAyC31I,EAAK,cAA/BmyC,EAA0BnyC,EAAK,KAAzB41I,EAAoB51I,EAAK,gBAEtF,OAAKmyC,EAIDujG,EACO,uBAAKh1I,UAAWf,EAAG,mBAAoBg2I,GAI9C,uBACIj1I,WAAW,aACPf,EAAG,SAAU,CACT,qBAAsB81I,IAE1B/0I,IAGJ,uBAAKA,UAAWf,EAAG,SAAUwyC,GAC7B,uBAAKzxC,UAAWf,EAAG,YAAai2I,IAjB7B,IAoBf,C,kYCxCA,eACA,cACA,WAEA,cAkDA,UAhDgC,SAC5Bt8H,EACAsuD,GAEA,IAAMiuE,EAAS,EAAA9b,kBAAkBh4E,QAAkC,SAACC,EAAK9/B,GAQrE,OAPI5I,EAAW4I,IACX8/B,EAAItqC,KAAK,CACLzU,KAAMif,EACN4zH,MAAOx8H,EAAW4I,KAInB8/B,CACX,GAAG,IAEGkL,GAAO,IAAA30B,mBAAkBjf,EAAW,EAAA5Z,WAAW4xB,YACrD,KAAKs2C,aAAa,EAAbA,EAAer5D,YAAY,aAAS2+C,GACrC,OAAO,KAGX,IAAM4uB,EAAWxiE,EAAW,EAAA5Z,WAAWo8E,gBAAax1E,EAEpD,OAAO,EAAP,KACOshE,GAAa,CAChBr5D,QAAS,EAAF,KACAq5D,EAAcr5D,SAAO,CAExBwnI,aAAanuE,aAAa,EAAbA,EAAeouE,mBAAoBpuE,EAAcr5D,QAAQwnI,iBAAczvI,EAEpF2vI,OAAQ38H,EAAW,EAAA5Z,WAAWu2I,QAC9Br9H,KAAMU,EAAW,EAAA5Z,WAAWgqB,WAC5B2F,QAAS/V,EAAW,EAAA5Z,WAAWiqB,UAE/BusH,WAAW,IAAAC,kBAAiB78H,EAAW,EAAA5Z,WAAW86H,qBAAkBl0H,EAEpEw1E,SAAQ,EAERxlD,UAAU,aAAOhd,EAAW,EAAA5Z,WAAW42B,WAAW3c,OAAO,cACzDy8H,UAAW98H,EAAW,EAAA5Z,WAAWyxB,mBAAgB7qB,EAEjDuvI,OAAM,IAEVQ,YAAa/8H,EAAW,EAAA5Z,WAAWgnC,SACnCwmB,KAAI,EACJ4uB,SAAQ,GAEhB,C,u8CCrDA,kBACA,cACA,cACA,WACA,WAEA,WACA,WACA,WAQA,WAKA,WACA,WACA,WAOA,cACA,WACA,WACA,cACA,aACA,cACA,cACA,cAGA,WACA,aACA,WACA,cACA,cACA,cACA,cACA,cAGA,cAGA,cACA,cACA,cACA,cACA,aACA,cACA,aACA,cACA,aACA,cACA,UACA,aAwTA,UApTwD,SAAC97E,G,UAC7CyM,EAAyEzM,EAAK,KAAxEQ,EAAmER,EAAK,QAA/DE,EAA0DF,EAAK,SAArDm1E,EAAgDn1E,EAAK,kBAAlC2jD,EAA6B3jD,EAAK,yBAE9EoxD,EAAgC3kD,EAAI,cAArBmlB,EAAiBnlB,EAAI,aAEtC6pI,IAAiB,eAEjBjzI,GAAYoJ,EAAKpJ,WAAaizI,GAAejzI,UAC7CC,GAAcmJ,EAAKnJ,aAAegzI,GAAehzI,YAEjD,MAA4B,IAAAe,UAAS+sD,GAAc,GAAlDmlF,GAAS,MAAEC,GAAY,MAExBC,IAAoB,eAEpBC,IAAiB,IAAA1gI,aAAY,EAAAw4D,sBAE7B6tB,IAAgB,IAAArmF,cAAY,IAAA2gI,qCAAoCtzI,KAChEwpE,IAAgB,IAAA72D,cAAY,IAAAinH,qCAAoC55H,KAChEs5F,IAAoC,IAAA3mF,cAAY,IAAAknH,yCAAwC75H,KAExFuzI,IAAoB,IAAA5gI,cAAY,IAAA6gI,yBAAwBvzI,KAExDy5H,IADsB,IAAA/mH,cAAY,IAAA8gI,2BAA0BxzI,KACzBsuB,IAAiB,KAEpDirE,IAAoB,IAAA7mF,cAAY,IAAA+gI,gCAA+B1zI,KAE/D2zI,IAAgB,IAAAhhI,cAAY,IAAAihI,4BAA2B5zI,KAEvD6zI,IAAe,IAAAC,iBAAgBpa,GAAclgC,GAAmBm6C,IAEhE50G,IAA4B,IAAApsB,cAAY,IAAAua,4BAA2BjtB,KACnEm2C,IAAe,IAAAzjC,cAAY,IAAAqsB,oCAAmCh/B,KAE9D+zI,IAAmC,eACnCC,IAAmC,eACnCC,IAAmC,eAEnC/iH,IAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACP5H,IAAgBD,IAIrBkxB,IAAS,IAAA9D,oBAAmBntB,KAC5BixB,IAAS,IAAAsN,gBAAex+B,OAJpB,IAAAqxB,YAAW,4EAKnB,GAAG,CAACpxB,GAAaD,GAAWkxB,KAE5B,IAAMuN,GAAkC,UAAM97B,aAAY,WACjD1C,IAAgBD,IAIrBkxB,IAAS,IAAA9D,oBAAmBntB,KAC5BixB,IAAS,IAAAsN,gBAAex+B,OAJpB,IAAAqxB,YAAW,oEAKnB,GAAG,CAACpxB,GAAaD,GAAWkxB,MAC5B,aAA4BuN,IAE5B,IAAMJ,IAAqB,eACrBC,IAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1B21G,GAAyB,SAAC7pD,GACvBrqF,GAILkxB,IAAS,IAAAw7G,kBAAiBriD,EAAYrqF,MAHlC,IAAAqxB,YAAW,4CAInB,EAEM8iH,GAAuB,SAACz6C,GAC1B,IAAMggC,EAAe6Z,GAAkB75C,IAEjBggC,aAAY,EAAZA,EAAcgO,YAAa,EAAAC,qBAAqBC,OAAQyL,cAAc,EAAdA,GAAgBprH,mBAE1F8rH,GAAiCxuG,QAAQ,CACrCm0D,eAAc,IAGlB06C,GAAwB,CAAE16C,eAAc,GAEhD,EA8BM55D,IAAgB+zG,cAAY,EAAZA,GAAc/zG,gBAAiB,KAC/ConG,IAAwB,IAAAmN,2BAA0B,CACpDC,sBAAuBx0G,GACvB45F,aAAY,GACZp7F,YAAW,GACXD,mBAAoB,EAAF,KACXA,IAAkB,CACrBk2G,kBAAkBrB,IAAoBvtI,QAAQ04B,GAAmBk2G,oBAErE16B,UAAW,CACPwtB,mBAAoB6M,GACpB9M,iBAAkB+M,GAClB5M,iBApCqB,SAAC7tC,EAAqC7wF,GAC1D5I,GAIL+zI,GAAiCzuG,QAAQ,CACrCm0D,eAAc,EACd7wF,GAAE,EACF5I,YAAW,MANX,IAAAoxB,YAAW,4CAQnB,EA2BQi2G,mBAzCuB,WAC3B6L,IAAa,EACjB,KA2CMiB,GAA0B,SAAChrI,GACxBpJ,IAAcC,IAInB,IAAAypD,UAAS,2BAA2B,SAACrqC,GACjC6R,IAAS,IAAAo7G,gBAAeljI,EAAKswF,eAAgBr6E,EAAMrf,GAAWC,IAClE,KALI,IAAAoxB,YAAW,4DAMnB,GAkBA,aAAgC2nE,GAAe,CAAC+6C,MAChD,aAAgCvqE,GAAe,CAC3CwqE,GACAC,MAGJ,aAAuB36C,IAAmC,WACtD65C,IAAa,EACjB,KAEA,aAAuB3pE,IAAe,WAClC2pE,IAAa,EACjB,KAEA,aAAuBn6C,IAAe,WAClCm6C,IAAa,EACjB,IAEA,IAaMqB,IAA0C,QAA3B,EAAAX,cAAY,EAAZA,GAAc/zG,qBAAa,eAAE/Z,UAAW,EAAAyC,mBAAmBC,kBAE1EQ,IAA+C,QAA1B,EAAA4qH,cAAY,EAAZA,GAAcna,oBAAY,eAAEgO,YAAa,EAAAC,qBAAqBC,KAEnF6M,GAA4B,UAAM9xI,aAAY,WAC5C3C,IACAkxB,IAAS,IAAAsN,gBAAex+B,IAEhC,GAAG,CAACA,GAAWkxB,KAEf,OACI,wBAAC,UAAyBuhB,SAAQ,CAAC7wC,MAAOwxI,IACtC,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CACjBv2I,SAAUA,EACVD,MACI,wBAAC,UAAkB,CACfqU,eAAa,EACb8U,OAAmC,QAA3B,EAAA8tH,cAAY,EAAZA,GAAc/zG,qBAAa,eAAE/Z,OACrCkD,mBAAoBA,KAG5B9rB,QAASA,EACTL,gBAAiBoqI,KAErB,wBAAC,UAA0B,CACvB/mI,cAAei2C,GACfshB,gBAAgB,aAAQi8E,IACxBh8E,kBACIqhC,GAAcx4F,SACdgpE,GAAchpE,SACd84F,GAAkC94F,SAClCu+B,GAA0Bv+B,WAItC,wBAAC,UAAa,KACV,wBAAC,UAAoB,CACjBL,cAAei2C,GACfshB,gBAAgB,aAAQi8E,IACxB7qG,QAAS2rG,GACT78E,kBAAmB,WAEnB,wBAAC,UAAqB,CAClB8hE,cAAcma,cAAY,EAAZA,GAAcna,eAAgB,KAC5Cgb,eAAgBR,GAChB1iG,kBA3DU,SAAChvC,GACtBxC,IAAcC,GAInB6xE,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,GACTC,YAAW,GACXuC,OAAM,KAPN,IAAA6uB,YAAW,0DASnB,EAiDoBiN,YAAaA,GACbq2G,YAAa37C,GAAcx4F,QAC3Bs/B,eAAe+zG,cAAY,EAAZA,GAAc/zG,gBAAiB,KAC9C80G,aAAaf,cAAY,EAAZA,GAAce,cAAe,KAC1CC,sBACI3B,GACI,wBAAC,UAAyB,CACtBzZ,SAAU+a,GACV10G,eAAe+zG,cAAY,EAAZA,GAAc/zG,gBAAiB,KAC9C45F,cAAcma,cAAY,EAAZA,GAAcna,eAAgB,KAC5Cp5E,yBAA0BA,EAC1BtgD,UAAWA,GACXC,YAAaA,KAGjB,wBAAC,UAAqB,CAClBD,UAAWA,GACX05H,cAAcma,cAAY,EAAZA,GAAcna,eAAgB,KAC5C55F,eAAe+zG,cAAY,EAAZA,GAAc/zG,gBAAiB,WAOrEk5D,GAAcx4F,SAAW,wBAAC,UAAY,QACrCqzI,cAAY,EAAZA,GAAc/zG,iBAAkBk5D,GAAcx4F,SAAW69B,GAAmBy2G,oBAC1E,wBAAC,UAAmB,KAChB,wBAAC,UAAmB,CAChB90I,UAAWA,GACXonI,iBAAkB+M,GAClBza,cAAcma,cAAY,EAAZA,GAAcna,eAAgB,QAIvDwZ,IAAasB,IACV,wBAAC,UAAmB,KAChB,wBAAC,UAAmB,CAChBx0I,UAAWA,GACX05H,cAAcma,cAAY,EAAZA,GAAcna,eAAgB,KAC5C55F,eAAe+zG,cAAY,EAAZA,GAAc/zG,gBAAiB,KAC9Ci1G,SA9KS,SAACr7C,EAAqC7wF,GAC1D5I,GAILg0I,GAAiC1uG,QAAQ,CACrC18B,GAAE,EACF6wF,eAAc,EACdz5F,YAAW,MANX,IAAAoxB,YAAW,4CAQnB,KAwKS6hH,KAAcsB,IACX,wBAAC,UAAmB,KAChB,wBAAC,UAAiB,OAG1B,wBAAC,UAA0B,CACvBprI,KAAM2qI,GAAiC3qI,KACvCgC,SAAU2oI,GAAiC3oI,SAC3CjO,QAAS42I,GAAiC52I,QAC1CgD,cAAe64F,GACfu6C,kBAAmBA,GACnBtpH,UAAWmqH,KAEf,wBAAC,UAA0B,CACvB7+H,KAAMmkH,cAAY,EAAZA,GAAcnkH,KACpBnM,KAAM6qI,GAAiC7qI,KACvCgC,SAAU6oI,GAAiC7oI,SAC3CjO,QAAS82I,GAAiC92I,QAC1C8sB,UArJoB,SAACogE,EAAyB2I,GACjDhzF,IAAcC,GAInBixB,IAAS,IAAA67G,gBAAe1iD,EAAY2I,EAAQhzF,GAAWC,MAHnD,IAAAoxB,YAAW,4DAInB,EAgJYlxB,cAAeqpE,KAEnB,wBAAC,UAA2B,CACxBpgE,KAAM4qI,GAAiC5qI,KACvCgC,SAAU4oI,GAAiC5oI,SAC3CjO,QAAS62I,GAAiC72I,QAC1C8sB,UApKoB,SAACphB,GACxB7I,IAAcC,GAInBixB,IAAS,IAAA87G,gBAAenkI,EAAI7I,GAAWC,MAHnC,IAAAoxB,YAAW,4DAInB,EA+JYlxB,cAAeqpE,KAI/B,C,87CCtXA,kBACA,WACA,cAEA,cACA,WACA,aACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,UACA,WACA,WACA,cACA,cACA,cACA,cACA,aACA,aACA,cASMltE,EAAK,UAAWC,KAAK,WAErBy4I,EAA8Cv4I,EAAMC,MAAK,SAACC,G,wDACpDuoB,GAA6EvoB,EAAK,qBAA5Dk0F,GAAuDl0F,EAAK,sBAArCk7C,GAAgCl7C,EAAK,iBAAnBU,GAAcV,EAAK,UAElFa,IAAM,IAAAC,kBAAgB,EAExBwnB,IAAU4rE,cAAqB,EAArBA,GAAuB5rE,UAAW,KAC5CvE,IAAQmwE,cAAqB,EAArBA,GAAuBnwE,QAAS,KACxCC,IAAUkwE,cAAqB,EAArBA,GAAuBlwE,UAAW,KAE5Cwd,IAAkB,IAAAC,sBAsClB62G,IAA2C,QAA9B,EAAApkD,cAAqB,EAArBA,GAAuBz+E,eAAO,eAAG,KAAM,KAEpD8iI,IAAc,IAAA/zI,UAAQ,W,MAExB,KADgC0vF,cAAqB,EAArBA,GAAuBpK,WAEnD,MAAO,GAGX,IAAMr0E,GAAwC,QAA9B,EAAAy+E,cAAqB,EAArBA,GAAuBz+E,eAAO,eAAE8xC,MAAM,KAAM,GAC5D,OAAO9xC,aAAO,EAAPA,EAASxT,QAASwT,EAAU,CAAC,KACxC,GAAG,CAACy+E,KAEEskD,GAAW,KACb,CACIrsI,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,8DACRoE,MAAO8e,GACH,gBAAC,UAAkB,CAAC2xD,QAAS3xD,cAAK,EAALA,GAAO7X,GAAIusI,mBAzCrB,YACtB10H,cAAK,EAALA,GAAO7X,MAAOoc,cAAO,EAAPA,GAASpc,IAK5Bs1B,GACI,CACIv+B,KAAM,EAAAmnC,uBAAuB6mB,aAC7B3W,QAASv2B,GAAM7X,GACf7I,UAAWilB,GAAQpc,IAEvB,CACIo8D,uBAAuB,KAX3B,IAAA5zC,YAAW,8CAcnB,GA0BgB,gBAAC,UAAmB,CAACvN,MAA2B,QAApB,EAAApD,cAAK,EAALA,GAAO20H,qBAAa,eAAEvxH,MAAOC,YAAarD,cAAK,EAALA,GAAOqD,eAEjF,KACJrO,WAAYlY,GAAE,qDACdmY,aAAa,GAEjB,CACI7M,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,gEACRoE,MAAO+e,GACH,gBAAC,UAAkB,CAAC0xD,QAAS1xD,cAAO,EAAPA,GAAS9X,GAAIusI,mBA5ErB,YACxBz0H,cAAO,EAAPA,GAAS9X,MAAOoc,cAAO,EAAPA,GAASpc,IAK9Bs1B,GACI,CACIv+B,KAAM,EAAAmnC,uBAAuBklB,eAC7BJ,UAAWlrC,GAAQ9X,GACnB7I,UAAWilB,GAAQpc,IAEvB,CACIo8D,uBAAuB,KAX3B,IAAA5zC,YAAW,gDAcnB,GA6DgB,gBAAC,UAAmB,CAACvN,MAA+B,QAAxB,EAAAnD,cAAO,EAAPA,GAASksB,uBAAe,eAAE/oB,MAAOC,YAAapD,cAAO,EAAPA,GAASoD,eAEvF,KACJrO,WAAYlY,GAAE,uDACdmY,aAAa,GAEjB,CACI7M,KAAM,gBAAC,UAAU,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqB+W,OAC3EC,KAAM/X,GAAE,+DACRoE,MAAOqzI,GAAa,gBAAC,UAAqB,CAAC1iD,OAAQ0iD,KAAiB,KACpEv/H,WAAYlY,GAAE,sDACdmY,aAAa,I,EAEdu/H,GAAYlhI,KAAI,SAACu+E,GAAW,OAC3BzpF,KAAM,gBAAC,UAAc,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OACjFC,KAAM/X,GAAE,oEACRoE,MAAO2wF,EAAS,gBAAC,UAAqB,CAACA,OAAQA,IAAa,KAC5D78E,WAAYlY,GAAE,sDACdmY,aAAa,EALc,MAM5B,IACH,CACI7M,KAAM,gBAAC,UAAO,CAACuK,YAAa,EAAA9U,qBAAqB+W,OACjDC,KAAM/X,GAAE,6DACRoE,MAAOivF,cAAqB,EAArBA,GAAuB8uB,WAC9BjqG,WAAYlY,GAAE,sDACdmY,aAAa,K,GAIf2/H,GAAuC,CACzC,CACIxsI,KAAM,gBAAC,UAAW,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OAC9EC,KAAM/X,GAAE,gEACRoE,OAAOqjB,cAAO,EAAPA,GAASpc,IACZ,gBAAC,UAAI,CACDgc,GAAI,EAAAC,WAAWwM,eAAe,EAAAtM,gBAAgBC,QAASA,GAAQpc,IAC/DxL,UAAWf,EAAG,QACduB,MAAO,EAAA8mB,cAAcC,eAEpBK,cAAO,EAAPA,GAAS1P,MAEd,KACJG,WAAYlY,GAAE,uDACdmY,aAAa,IAIrB,OACI,gCACI,gBAAC,UAAI,CACD4hC,UAAW/5C,GAAE,qDAAsD,CAC/D8M,OAAQ4a,KAEZhoB,UACI,gCACI,gBAAC,UAAwB,CAAC+T,eAAa,EAAC8U,OAAQ8qE,cAAqB,EAArBA,GAAuB9qE,SACvE,gBAAC,UAAiC,CAC9B2gG,gCAAiC71B,cAAqB,EAArBA,GAAuB61B,gCACxDD,kBAAkB51B,cAAqB,EAArBA,GAAuBhoF,KAAM,QAI3DxL,UAAWA,GACXs6C,uBAAqB,EACrBE,iBAAkBA,IAElB,uBAAKx6C,UAAWf,EAAG,YACf,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM+yH,GAAgBj4I,UAAWf,EAAG,QAAS,oBAC1E,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM4yH,GAAa93I,UAAWf,EAAG,QAAS,iBACvE,gBAAC,UAAyB,CACtBe,UAAWf,EAAG,QAAS,uBACvBokE,WAA8C,QAAlC,EAAAmwB,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEzjE,UAChDglE,gBAAiBlqF,GAAE,6DACnByqF,aAAgD,QAAlC,EAAA4I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE/oC,SAClD+qC,SAAkD,QAAxC,EAAkC,QAAlC,EAAA0I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEiC,YAAI,eAAE1lE,UACpD2lE,eAAwD,QAAxC,EAAkC,QAAlC,EAAAwI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEiC,YAAI,eAAEE,WAC1DJ,IAAuC,QAAlC,EAAA2I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE+B,IACzCM,YAAwD,QAA3C,EAAkC,QAAlC,EAAAqI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEC,eAAO,eAAE1jE,UAC1D+lE,eAA2D,QAA3C,EAAkC,QAAlC,EAAAoI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEC,eAAO,eAAEC,aAC7DqC,iBAA6D,QAA3C,EAAkC,QAAlC,EAAAmI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEC,eAAO,eAAEuC,UAC/DC,YAA+C,QAAlC,EAAAiI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE9oC,KACjDyqC,cAAiD,QAAlC,EAAA+I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE2B,cACnDC,YAA+C,QAAlC,EAAA8I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE6B,eACjDa,uBAA8E,QAAtD,EAAkC,QAAlC,EAAAgI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE2C,0BAAkB,eAAErtE,MAChFo4E,qBAAkE,QAA5C,EAAkC,QAAlC,EAAAhD,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEjlE,gBAAQ,eAAEk8B,SACpE02C,oBAAgE,QAA3C,EAAkC,QAAlC,EAAAjD,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE3gE,eAAO,eAAE43B,SAClE2rC,aAAgD,QAAlC,EAAA8H,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE4C,iBAM1E,IAEA,UAAeisD,C,+BC1Nf,WAAgB,MAAQ,4BAA4B,QAAU,8BAA8B,OAAS,6BAA6B,SAAW,+B,8NCE7I,eAEA,WAEMO,EAAqB,SACvBl1I,EACA2sD,EACAC,GAEA,GAAkB,OAAdD,EACA,OAAO,EAAAwoF,oBAGX,IAAMriF,GAAO,IAAAsiF,wBAAuBzoF,EAAWC,GAE/C,OAAO5sD,EAAMq1I,iBAAiBC,OAAOxiF,IAAS,EAAAqiF,mBAClD,EAEa,EAAA1oF,sBACT,SAACE,EAA8BC,GAC/B,gBAAC5sD,GAGG,OAFqBk1I,EAAmBl1I,EAAO2sD,EAAWC,GAEtCJ,QACxB,CAJA,EAMS,EAAAD,2BACT,SAACI,EAA8BC,GAC/B,gBAAC5sD,GAGG,OAFqBk1I,EAAmBl1I,EAAO2sD,EAAWC,GAEtC2oF,kBACxB,CAJA,EAMS,EAAAC,yCAA2C,SAACx1I,GACrD,OAAOA,EAAMq1I,iBAAiBI,qBAClC,EAEa,EAAA9pF,4CAA8C,SAAC3rD,GACxD,OAAOA,EAAMq1I,iBAAiBK,wBAClC,C,syCC3CA,IAoBYtO,EAkBA92G,EAOAo3G,EA7CZ,cAEA,aACA,cACA,cACA,cACA,cACA,cACA,WACA,WAEMzrI,EAAK,UAAWC,KAAK,YAS3B,SAAYkrI,GACR,iBACH,CAFD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAkB/B,SAAY92G,GACR,0CACA,4CACA,sCACA,uCACH,CALD,CAAYA,IAAgB,mBAAhBA,EAAgB,KAO5B,SAAYo3G,GACR,gBACA,iBACH,CAHD,CAAYA,IAAiB,oBAAjBA,EAAiB,KAqB7B,IAAMiO,EAAe,CACjBplH,oBAAoB,EACpBi3G,qBAAqB,EACrBh3G,kBAAkB,EAClBolH,mBAAmB,EACnBl+F,eAAe,EACfxzB,YAAY,GAoIhB,UAAe9nB,EAAMC,MAjIE,SAA0BC,GAEzC,IAAAkzB,EAaAlzB,EAAK,QAZL4lB,EAYA5lB,EAAK,KAXLU,EAWAV,EAAK,UAVLq0B,EAUAr0B,EAAK,YATLu5I,EASAv5I,EAAK,gBARL+zB,EAQA/zB,EAAK,WAPLmrI,EAOAnrI,EAAK,YANLw5I,EAMAx5I,EAAK,iBALLgP,EAKAhP,EAAK,UAJLW,EAIAX,EAAK,aAHLo0B,EAGAp0B,EAAK,eAFLy5I,EAEAz5I,EAAK,WADLi7C,EACAj7C,EAAK,WAEH05I,GAAuB,IAAA/wI,QAAe,GAEtC,IAA2B7I,EAAMuE,SAAsB,MAAK,GAA3Ds1I,EAAU,KAAEC,EAAU,KAEvBC,EAAkB/5I,EAAM0E,SAAQ,WAClC,OAAO0uB,EAAQlE,OAAO,EAAA4/B,SAC1B,GAAG,CAAC17B,IAEEtyB,EAAmB,UAAGD,EAAY,UAElCm5I,IAAgBl0H,EAAK3jB,UAAYw3I,KAAgBx+F,EACjD8+F,EAAoB/qI,IAAc8qI,EAClCE,EAAmBhrI,GAAa8qI,IAAgB1lH,EAChD6lH,EAAsB7lH,EAE5B,OACI,uBAAK1zB,WAAW,aAAGf,EAAG,SAAUe,IAC3Bo5I,GACG,8CAA2Bl5I,GACvB,6BACI,0BACKi5I,EAAgBxiI,KAAI,SAAC6iI,EAAQC,G,MAAgB,OAC1C,sBACIxnI,IAAKwnI,EACLz5I,WAAW,aACPf,EAAG,SAAU,CACT,wBAAyC,QAAjB,EAAAu6I,EAAOrP,kBAAU,eAAEhvB,UAE/Cq+B,EAAO9mH,iBACV,qBACmB,UAAGxyB,EAAgB,mBAAWs5I,EAAOv5I,eAExC,IAAhBw5I,GACG,uBAAKz5I,UAAWf,EAAG,0BACf,gBAAC,UAAU,CAACg0B,OAAQqmH,KAG3BE,EAAO/mH,aAAaqmH,G,MAKrC,+BACOC,GACC,0BACI,sBAAIW,QAASP,EAAgB53I,QAASw3I,IAG7C7zH,EAAKvO,KAAI,SAAC6rB,EAAKm3G,G,MACNx+H,EAAsB,CACxB+L,cAAc2xH,aAAe,EAAfA,EAAiBtqH,IAAIiU,IACnCo3G,UAAWX,IAAez2G,GAGxBq3G,EAAUxmH,EAAaA,EAAWlY,EAAMqnB,GAAOm2G,EAC/CmB,EAAWrP,EAAcA,EAAYtvH,EAAMqnB,GAAOkoG,EAAkBl5H,OAE1E,OACI,sBACIS,IAAK0nI,EACL35I,UAAWf,EAAG,OAAK,KACf,EAAC,qBAAc66I,MAAeA,EAC9B,yBAAuB3+H,EAAK+L,WAC5B,wBAAsB/L,EAAKy+H,UAC3B,6BAA2BC,EAAQtmH,mBACnC,2BAAyBsmH,EAAQrmH,iBACjC,4BAA0BqmH,EAAQjB,kBAClC,8BAA4BiB,EAAQrP,oB,IAExCzpI,QAAS,SAACkK,GAEFwT,KAAK81D,IAAIykE,EAAqBnuI,QAAUI,EAAM8uI,SAtJhE,IA2JkBpmH,GACAA,EAAY6O,EAEpB,EACAypG,YAAa,SAAChhI,GACV+tI,EAAqBnuI,QAAUI,EAAM8uI,OACzC,EACApsB,YAAa,WACLnrF,IAAQy2G,GACRC,EAAW12G,EAEnB,EAAC,qBACmB,UAAGtiC,EAAgB,gBAAQy5I,IAE9CR,EAAgBxiI,KAAI,SAAC6iI,EAAQC,GAAgB,OAC1C,sBACIxnI,IAAKwnI,EACLz5I,UAAWw5I,EAAOx5I,UAAS,qBACP,UAAGE,EAAgB,iBAASs5I,EAAOv5I,eAEtDu5I,EAAO7mH,OAAO6P,EAAKrnB,EAAMw+H,GANY,IAW1D,MAIXN,GAAqB,gBAAC,UAAa,MACnCE,GAAuB,gBAAC,UAAa,MACrCh/F,EAGb,G,0pCC1MA,kBAEA,aACA,cACA,cACA,WACA,cACA,cACA,cACA,WAEMt7C,EAAK,UAAWC,KAAK,WAYrB86I,EAAqC56I,EAAMC,MAAK,SAACC,GAE/C,IAAA+f,EAOA/f,EAAK,IANLggB,EAMAhgB,EAAK,IALLU,EAKAV,EAAK,UAHLiyD,EAGAjyD,EAAK,UAFL4nB,EAEA5nB,EAAK,WADL2N,EACA3N,EAAK,OAET,OACI,gBAAC,UAAU,CACPgnC,kBAAkB,aAAGrnC,EAAG,iBAAkBe,GAC1Cqf,IAAKA,EACLC,IAAKA,EACL9e,MAAO0mB,EAAa,EAAArH,gBAAgB1e,SAAW,EAAA0e,gBAAgB5H,OAE9D,WAAM,OACH,uBAAKjY,UAAWf,EAAG,QACf,uBAAKe,UAAWf,EAAG,SACdsyD,IAAc,EAAA3I,cAAcvlC,OAAS,gBAAC,UAAS,MAAK,IAAAkjB,mBAAkB,uBACtEgrB,IAAc,EAAA3I,cAActlC,SACzB,gBAAC,UAAW,MAAK,IAAAkjB,qBAAoB,wBAG7C,uBAAKxmC,UAAWf,EAAG,WAAYgO,GARhC,GAanB,IAEA,UAAe+sI,C,6MCrDf,eACA,WAEMC,EAAwB,SAAC5tH,EAAwBrpB,GACnD,IAAKqpB,EACD,OAAO,EAAA6tH,uBAGX,IAAMpkF,GAAO,IAAAqkF,eAAc9tH,GAC3B,OAAOrpB,EAAMo3I,OAAOtkF,IAAS,EAAAokF,sBACjC,EAEa,EAAAG,yBACT,SAAChuH,GACD,gBAACrpB,GACG,OAAAi3I,EAAsB5tH,EAAQrpB,GAAO+1C,YAArC,CADJ,EAGS,EAAAuhG,iBACT,SAACjuH,GACD,gBAACrpB,GACG,OAAAi3I,EAAsB5tH,EAAQrpB,GAAO+mD,IAArC,CADJ,EAGS,EAAAwwF,yBACT,SAACluH,GACD,gBAACrpB,GACG,OAAAi3I,EAAsB5tH,EAAQrpB,GAAOopE,aAArC,CADJ,EAGS,EAAAouE,uBACT,SAACnuH,GACD,gBAACrpB,GACG,OAAAi3I,EAAsB5tH,EAAQrpB,GAAOy3I,WAArC,CADJ,EAGS,EAAAC,yBACT,SAACruH,GACD,gBAACrpB,GACG,OAAAi3I,EAAsB5tH,EAAQrpB,GAAO24F,aAArC,CADJ,C,+BCpCJ,WAAgB,gBAAgB,iDAAiD,OAAS,0CAA0C,SAAW,4C,+BCA/I,WAAgB,eAAe,oCAAoC,MAAQ,6BAA6B,QAAU,+BAA+B,gBAAkB,uCAAuC,qBAAqB,0CAA0C,cAAgB,qCAAqC,OAAS,8BAA8B,SAAW,gC,6JCDhX,kBACA,WAEA,WAEA,cAiCA,UA/ByB,SAACz0B,G,wBAChB9sD,IAAM,MACP,EAAApb,WAAWwM,KAAK07D,aAAa,EAAbA,EAAe17D,KAAM,KACtC,EAAC,EAAAxM,WAAWu2I,QAA+B,QAAtB,EAAAruE,aAAa,EAAbA,EAAer5D,eAAO,eAAE0nI,OAC7C,EAAC,EAAAv2I,WAAWgqB,YAAkC,QAAtB,EAAAk+C,aAAa,EAAbA,EAAer5D,eAAO,eAAEqK,OAAQ,GACxD,EAAC,EAAAlZ,WAAWiqB,WAAiC,QAAtB,EAAAi+C,aAAa,EAAbA,EAAer5D,eAAO,eAAE8gB,UAAW,GAE1D,EAAC,EAAA3vB,WAAW86H,eAAqC,QAAtB,EAAA5yD,aAAa,EAAbA,EAAer5D,eAAO,eAAE2nI,YAAa,EAAAmF,oBAEhE,EAAC,EAAA37I,WAAWgnC,UAAUkhC,aAAa,EAAbA,EAAeyuE,cAAe,GAEpD,EAAC,EAAA32I,WAAW42B,UAAW,KACvB,EAAC,EAAA52B,WAAWyxB,cAAqC,QAAtB,EAAAy2C,aAAa,EAAbA,EAAer5D,eAAO,eAAE6nI,YAA8B,KACjF,EAAC,EAAA12I,WAAWo8E,WAAiC,QAAtB,EAAAlU,aAAa,EAAbA,EAAer5D,eAAO,eAAEutE,WAAY,KAE3D,EAAC,EAAAp8E,WAAW4xB,YAAY,aAASs2C,aAAa,EAAbA,EAAe1a,MAAQhuC,OAAO0oD,aAAa,EAAbA,EAAe1a,MAAQ,G,GAa1F,OAV8B,QAA9B,EAAsB,QAAtB,EAAA0a,aAAa,EAAbA,EAAer5D,eAAO,eAAEsnI,cAAM,SAAEz5H,SAAQ,SAACk/H,GAC7B,IAAAxF,EAAgBwF,EAAK,MAAdr4I,EAASq4I,EAAK,KAE7BxgI,EAAO7X,GAA2B6yI,CACtC,KAE0B,QAAtB,EAAAluE,aAAa,EAAbA,EAAer5D,eAAO,eAAE+nB,YACxBxb,EAAO,EAAApb,WAAW42B,WAAY,aAAOsxC,EAAcr5D,QAAQ+nB,SAAU,cAAc9T,UAGhF1H,CACX,C,4UCpCA,eAgCa,EAAAoxC,eAAiB,SAC1Bz3C,EACAxO,EACA9D,GACwB,OACxBc,KAAM,EAAAs4I,yBACN9mI,WAAU,EACVxO,MAAK,EACL9D,QAAO,EAJiB,EAOf,EAAAq5I,oBAAsB,SAC/Bv1I,EACAwO,GAC6B,OAC7BxR,KAAM,EAAAw4I,+BACNx1I,MAAK,EACLwO,WAAU,EAHmB,EAMpB,EAAAinI,sBAAwB,SACjCz1I,EACAwO,EACAI,GAC+B,OAC/B5R,KAAM,EAAA04I,iCACN11I,MAAK,EACL4O,aAAY,EACZJ,WAAU,EAJqB,EAOtB,EAAAmnI,oBAAsB,SAC/B31I,EACAwO,EACA1Q,GAC6B,OAC7Bd,KAAM,EAAA44I,+BACN93I,MAAK,EACL0Q,WAAU,EACVxO,MAAK,EAJwB,EAOpB,EAAAknD,YAAc,SACvBlB,EACAhnD,EACA2E,GACqB,OACrB3G,KAAM,EAAA64I,qBACN7vF,IAAG,EACHhnD,MAAK,EACL2E,SAAQ,EAJa,EAOZ,EAAAmyI,iBAAmB,WAA+B,OAC3D94I,KAAM,EAAA+4I,2BADqD,EAIlD,EAAAC,mBAAqB,WAAiC,OAC/Dh5I,KAAM,EAAAi5I,6BADyD,EAItD,EAAAC,iBAAmB,SAACp4I,GAA0C,OACvEd,KAAM,EAAAm5I,2BACNr4I,MAAK,EAFkE,EAK9D,EAAAs4I,WAAa,SAACnnI,GAAiE,OACxFjS,KAAM,EAAAq5I,YACNpnI,oBAAmB,EAFqE,EAK/E,EAAA83C,cAAgB,SAACtqC,GAAqC,OAC/Dzf,KAAM,EAAAs5I,wBACN75H,KAAI,EAF2D,EAKtD,EAAA85H,mBAAqB,WAAiC,OAC/Dv5I,KAAM,EAAAw5I,8BADyD,EAItD,EAAAC,qBAAuB,WAAmC,OACnEz5I,KAAM,EAAA05I,gCAD6D,EAI1D,EAAAC,mBAAqB,SAAC74I,GAA2C,OAC1Ed,KAAM,EAAA45I,6BACN94I,MAAK,EAFqE,C,+BCnH9E,WAAgB,OAAS,oCAAoC,SAAW,sC,m5BCDxE,kBACA,WAMM+4I,EAAoC,SAAC98I,GAC/B,IAAA0W,EAAgB1W,EAAK,YAE7B,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,wBACI7E,KAAMkK,EACNpF,SAAS,UACTC,EAAE,mdAIlB,EAEAurI,EAAgBhrI,YAAc,kBAE9B,IAAMC,EAAqB,CACvB2E,YAAa,EAAA9U,qBAAqBsS,aAkD7B,EAAAnC,WAAAA,EA5CI,EAAA8P,wBAA0B,SACnC6J,GAQA,OAAQA,GACJ,IAAK,oBAeL,IAAK,0BAUL,IAAK,UACL,QACI,MAAO,CACHhV,YAAa,EAAA9U,qBAAqBI,OAvB1C,IAAK,mBACD,MAAO,CACH0U,YAAa,EAAA9U,qBAAqBgG,OAG1C,IAAK,sBAUL,IAAK,4BACD,MAAO,CACH8O,YAAa,EAAA9U,qBAAqB6U,WAUlD,EAGA,UAAeqmI,C,yaC3Ef,kBACA,WAQA,cAEa,EAAAC,8BAA6D,CACtEpjG,OAAQ,GACRtrC,KAAM,CAAC,EACPw/B,QAAS,UAAcpqC,SAG3B,IAAMF,EAAqC,CAAC,EAE5C,mBAAgBG,EAAsBC,G,UAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAA+5I,+BACO,IAEFC,EAAyBv5I,EAFvBytB,EAAgBxtB,EAAM,cAEuB,EAAAo5I,8BAErD,OAAO,EAAP,KACOr5I,KAAK,MACPytB,GAAW,OACL8rH,GAAsB,CACzBpvG,QAAS,UAAchqC,UAAO,IAK1C,KAAK,EAAAq5I,iCACO,IAAA/rH,EAAgCxtB,EAAM,YAAzBw5I,EAAmBx5I,EAAM,eAIxCg2C,GAFAsjG,EAAyBv5I,EAAMytB,IAAgB,EAAA4rH,8BAEtCI,EAAe9lI,KAAI,SAAC+lI,GAAc,OAAAA,EAAUlxI,EAAV,KAC3CmC,GAAO,aAAM8uI,EAAgB,MAEnC,OAAO,EAAP,KACOz5I,KAAK,MACPytB,GAAW,OACL8rH,GAAsB,CACzBtjG,OAAM,EACNtrC,KAAI,EACJw/B,QAAS,UAAc3pC,KAAE,IAKrC,KAAK,EAAAm5I,+BACOlsH,EAAuBxtB,EAAM,YAA7B,IAAaI,EAAUJ,EAAM,MAIrC,OAFMs5I,EAAyBv5I,EAAMytB,IAAgB,EAAA4rH,8BAE9C,EAAP,KACOr5I,KAAK,MACPytB,GAAW,OACL8rH,GAAsB,CACzBpvG,QAAS,UAAc7pC,SAASD,KAAM,IAKlD,QACI,OAAOL,EAGlB,C,0XCxED,eAmFA,UA7CsB,SAAC45I,GACb,SAA8B,IAAAj5I,UAAqB,MAAK,GAAvDk5I,EAAU,KAAEC,EAAa,KAC1B,KAAkB,IAAAn5I,UAA6B,MAAK,GAAnDiH,EAAI,KAAEmyI,EAAO,KAEdzxI,GAAM,IAAAhG,cAAY,SAACsF,GACrBmyI,EAAQnyI,EACZ,GAAG,IAgCH,OA9BA,IAAAizE,kBAAgB,WACZ,GAAIjzE,EAAM,CACN,IAAM,EAAU,WACZ80C,OAAO6rF,uBAAsB,WACzBuR,EA3BO,SAAClyI,GACxB,IAAMoyI,EAAOpyI,EAAK0wG,wBAElB,MAAO,CACHx6G,MAAOk8I,EAAKl8I,MACZsK,OAAQ4xI,EAAK5xI,OACbD,IAAK,MAAO6xI,EAAOA,EAAKn6B,EAAKm6B,EAAiB7xI,IAC9Cg7D,KAAM,MAAO62E,EAAOA,EAAKl6B,EAAKk6B,EAAiB72E,KAC/C08C,EAAG,MAAOm6B,EAAOA,EAAKn6B,EAAKm6B,EAAiB72E,KAC5C28C,EAAG,MAAOk6B,EAAOA,EAAKl6B,EAAKk6B,EAAiB7xI,IAC5CswG,MAAOuhC,EAAKvhC,MACZwhC,OAAQD,EAAKC,OAErB,CAckCC,CAAmBtyI,GACrC,GACJ,EAIA,OAFA,KAEIgyI,aAAI,EAAJA,EAAMO,cACNz9F,OAAOmlD,iBAAiB,SAAU,GAClCnlD,OAAOmlD,iBAAiB,SAAU,GAE3B,WACHnlD,OAAOolD,oBAAoB,SAAU,GACrCplD,OAAOolD,oBAAoB,SAAU,EACzC,GAEG,WAEP,CACJ,CACA,OAAO,WAEP,CAGJ,GAAG,CAACl6F,IAEG,CACHU,IAAG,EACHuxI,WAAU,EACVjyI,KAAI,EAEZ,C,+BChFA,WAAgB,MAAQ,6BAA6B,eAAe,oCAAoC,OAAS,8BAA8B,SAAW,gC,24BCD1J,kBACA,WAQMwyI,EAA+B,SAAC99I,GAC1B,IAAAU,EAAiCV,EAAK,UAA3B2B,EAAsB3B,EAAK,UAAhB2N,EAAW3N,EAAK,OAE9C,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,YAAY3Q,UAAWA,GAC1F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,0BAAQ3R,GAAG,KAAK8qB,GAAG,KAAKwzB,EAAE,KAAKzxC,KAAM7K,IACrC,wBAAM6K,KAAK,OAAOuxI,WAAW,uBAAuBC,SAAS,KAAKC,WAAW,OACzE,yBAAO16B,EAAE,QAAQC,EAAE,MACd71G,KAMzB,EAEAmwI,EAAWhsI,YAAc,aAEzB,IAAMC,EAAqB,CACvBpE,OAAQ,EACRhM,UAAW,EAAAC,qBAAqBwQ,OAG3B,EAAAL,WAAAA,EACT,UAAe+rI,EAEF,EAAAI,gBAAkB,CAC3BC,0BAA2B,SAAC,G,IACxB94I,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WASR,OAAIryB,EACO,CACHzD,UAAW,EAAAC,qBAAqBkS,WAIpC3O,EACO,CACHxD,UAAW,EAAAC,qBAAqB0Q,QAIpCiuD,EACO,CACH5+D,UAAW,EAAAC,qBAAqB6U,WAIpCpR,EACO,CACH1D,UAAW,EAAAC,qBAAqBwQ,OAIjC,CACHzQ,UAAW81B,GAAYC,EAAY,EAAA91B,qBAAqBC,SAAW,EAAAD,qBAAqBI,MAEhG,E,kTC/EJ,eACA,WAUA,UARqB,SAAC8Y,EAAqBja,GAKvC,OAJY,MACL,IAAA4iB,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWkZ,KAAM,EAAAlZ,WAAWu/D,UAAWnkD,GAIpE,C,yzBCPA,+CACI1N,GAEA,OAAKA,EAIEA,EACFiK,KAAI,SAACirC,GAAU,cACTA,GAAK,CACR87F,SAAU,OAAI97F,EAAM87F,WAAQ,GAAE/sG,MAAK,SAACgtG,EAAUC,GAC1C,OAAOD,EAASE,QAAQC,cAAcF,EAASC,QACnD,KAJY,IAMfltG,MAAK,SAACotG,EAAQC,GACX,IAAMC,EAAkBF,EAAOj8F,SAASg8F,cAAcE,EAAOl8F,UAC7D,GAAwB,IAApBm8F,EACA,OAAOA,EAGX,IAAMC,EAAeH,EAAO1rG,aAAe,GACrC8rG,EAAeH,EAAO3rG,aAAe,GAC3C,OAAO6rG,EAAaJ,cAAcK,EACtC,IAnBO,IAoBf,C,y2EC1BA,eACA,WA4BA,WAqCA,WAaA,WACA,UACA,WACA,WACA,cACA,WACA,WACA,WACA,WACA,cACA,WAEA,cACA,WACA,WACA,cACA,WACA,WAIA,WACA,WACA,cAIA,SAAUC,EACNC,EACAC,G,8DAEsF,UAAM,IAAApyI,QACxF,EAAAqyI,mC,cAECC,OAHCA,EAAgF,eAGzD,EAAxBA,EAA0Bh7I,IAA3B,MACA,IAAM,IAAAsiF,MAAK,CAAC,EAAAmvB,yC,OAAZ,S,iBAGmF,UAAM,IAAA/oG,QACzF,EAAAgpE,qC,OAsBJ,OAvBMD,EAAiF,SAGjFwpE,GAAgCH,IAChC,IAAAI,qCAAmC,OAExBJ,GAAkB,CACrBK,iBAAkB,OAEtB1pE,GAIJ2pE,GAA8BP,IAC9B,IAAAK,qCAAmC,OAExBL,GAAgB,CACnBM,iBAAkB,OAEtB1pE,GAIH,CAAP,EAAOwpE,GAAiCG,G,IAG5C,SAAUC,EAAsB57I,G,mEACpB0uD,EAAmC1uD,EAAM,cAA1BopB,EAAoBppB,EAAM,OAAlBmlC,EAAYnlC,EAAM,QAG7C0uD,GACAtlC,IACC+b,EAAQwR,SAAWxR,EAAQomB,aAC3B,YAAapmB,GACV,cAAeA,GACf,sBAAuBA,GACvB,yBAA0BA,GAC1B,6BAA8BA,GAC9B,qBAAsBA,GACtB,uBAAwBA,GAE5B,IAAM,IAAAh8B,MACF,IAAA0yI,iBAAgB,CACZntF,cAAa,EACbtlC,OAAM,EACNutB,QAASxR,EAAQwR,SAAW,KAC5B4U,UAAWpmB,EAAQomB,WAAa,KAChCkc,kBAAmBtiC,EAAQsiC,mBAAqB,GAChDq0E,uBAAwB32G,EAAQ22G,qBAChCC,2BAA4B52G,EAAQ42G,yBACpCX,iBAAkBj2G,EAAQi2G,kBAAoB,KAC9CC,mBAAoBl2G,EAAQk2G,oBAAsB,SArB1D,M,OAWA,S,+BAgBR,SAAUW,EAAwBh8I,G,4EAG9B,OAFQmlC,EAAmCnlC,EAAM,QAAhCopB,EAA0BppB,EAAM,QAAxB0uD,EAAkB1uD,EAAM,eAO5CopB,EAK6D,IAAM,IAAAngB,QAAO,EAAAg2H,wBAJ3E,IAAAluG,YAAW,gBACX,OANA,IAAAA,YAAW,uBACX,K,cAQEkrH,EAA4D,UAC5Djd,EAAa,OACZid,GACA92G,IAIWwM,WACb,aAAcxM,GACX,YAAaA,GACb,cAAeA,GACf,cAAeA,GACf,yBAA0BA,GAC1B,6BAA8BA,GAC9B,uBAAwBA,GACxB,qBAAsBA,GAE1B,IAAM,IAAAh8B,MACF,IAAA+yI,wBAAuB,CACnBxtF,cAAa,EACbtlC,OAAM,EACNuoB,SAAUqtF,EAAcrtF,SACxB3oB,UAAWg2G,EAAch2G,UACzB2tB,QAASqoF,EAAcroF,QACvB4U,UAAWyzE,EAAczzE,UACzBuwF,qBAAsB9c,EAAc8c,qBACpCC,yBAA0B/c,EAAc+c,yBACxCX,iBAAkBpc,EAAcoc,iBAChCC,mBAAoBrc,EAAcqc,uBArB1C,M,OAUA,S,iBAgBiE,UAAM,IAAApyI,QAAO,EAAA41H,2B,cAA5Esd,EAA+D,SAC/DC,KAAmBD,aAAe,EAAfA,EAAiB95D,cAAa85D,aAAe,EAAfA,EAAiB95D,YAAathB,KAAKD,MAEtF,YAAa37B,GACb,cAAeA,GACf,sBAAuBA,GACvB,yBAA0BA,GAC1B,6BAA8BA,GAC9B,qBAAsBA,GACtB,uBAAwBA,GACxBi3G,EAEA,IAAM,IAAAjzI,MACF,IAAA0yI,iBAAgB,CACZntF,cAAa,EACbtlC,OAAM,EACNutB,QAASqoF,EAAcroF,QACvB4U,UAAWyzE,EAAczzE,UACzBkc,kBAAmBu3D,EAAcv3D,kBACjCq0E,qBAAsB9c,EAAc8c,qBACpCC,yBAA0B/c,EAAc+c,yBACxCX,iBAAkBpc,EAAcoc,iBAChCC,mBAAoBrc,EAAcqc,uBAnB1C,M,OASA,S,wBAgBArc,EAAcroF,UACb,yBAA0BxR,GACvB,6BAA8BA,GAC9B,qBAAsBA,GACtB,uBAAwBA,GAEsD,IAAM,IAAAl8B,QACpF,EAAAozI,gCAPJ,M,cAMMC,EAA4E,UAG5EC,EAAsBD,EAAwBtd,EAAcroF,UAE9D,IAAM,IAAAxtC,MACF,IAAAqzI,cAAa,CACT/4H,YAAa84H,EAAoB94H,aAAe,GAChDirC,cAAa,EACbtlC,OAAM,EACNmiC,UAAWyzE,EAAczzE,UACzBuwF,qBAAsB9c,EAAc8c,qBACpCC,yBAA0B/c,EAAc+c,yBACxCX,iBAAkBpc,EAAcoc,iBAChCC,mBAAoBrc,EAAcqc,uBAV1C,M,OACA,S,wBAgBJrc,EAAczzE,YACb,yBAA0BpmB,GACvB,6BAA8BA,GAC9B,qBAAsBA,GACtB,uBAAwBA,GAE0D,IAAM,IAAAl8B,QACxF,EAAAwzI,kCAPJ,O,eAMMC,EAAgF,UAGhFC,EAAwBD,EAA0B1d,EAAczzE,YAElE,IAAM,IAAApiD,MACF,IAAAyzI,gBAAe,CACXluF,cAAa,EACbtlC,OAAM,EACNutB,QAASqoF,EAAcroF,QACvBlzB,YAAak5H,EAAsBl5H,aAAe,GAClDq4H,qBAAsB9c,EAAc8c,qBACpCC,yBAA0B/c,EAAc+c,yBACxCX,iBAAkBpc,EAAcoc,iBAChCC,mBAAoBrc,EAAcqc,uBAV1C,O,QACA,S,0BAeJrc,EAAcroF,SAAW,YAAaxR,EACtC,IAAM,IAAAh8B,MAAI,IAAA0zI,oBAAmB7d,EAAcroF,QAAS+X,EAAetlC,KADnE,O,QACA,S,0BAGA41G,EAAczzE,WAAa,cAAepmB,EAC1C,IAAM,IAAAh8B,MAAI,IAAA0zI,oBAAmB7d,EAAczzE,UAAWmD,EAAetlC,KADrE,O,QACA,S,iCAIR,SAAU0zH,EAAuB98I,G,kEAG7B,OAFQopB,EAA0BppB,EAAM,OAAxB0uD,EAAkB1uD,EAAM,cAExC,IAAM,IAAAmJ,MAAI,IAAA4zI,6B,OAGN,OAHJ,SAGI,GAAM,UAAkBC,uBAAuB5zH,I,cAD7C,kBACF,SAAsD,IADnDhpB,EAAK,KAAEqL,EAAO,KAGjBrL,EACA,IAAM,IAAA+I,MAAI,IAAA8zI,yBAAwB78I,KADlC,M,qBASJ,S,WAJA,UAAM,IAAA+I,MAAI,IAAA+zI,2BAA0BzxI,K,OAG0B,OAH9D,SAG8D,IAAM,IAAAxC,QAAO,EAAAg2H,sB,OAC3E,OADMD,EAAwD,SAC9D,IAAM,IAAA71H,MAAI,IAAAg0I,qBAAoBzuF,EAAetlC,EAAQ41G,K,IAGzD,SAAUoe,EAA2Bp9I,G,0EAGkC,OAF3DsC,EAAUtC,EAAM,MAE2C,IAAM,IAAAiJ,QAAO,EAAAo0I,+B,OAEhF,OAFM7iI,EAA6D,UAC/C,IAAAG,kBAAiBrY,EAAOkY,GAExC,IAG2B,GAAM2gI,EACjC74I,EAAM+4I,mBACN/4I,EAAM84I,mB,OAEV,OAJ+B,SAS/B,IAAM,IAAAjyI,MAAI,IAAAm0I,6BAA4Bh7I,OAJlC,IAAAyuB,YAAW,wCACX,K,OAqBA,OAlBJ,SAEM6gF,EAAUtvG,EAAMqvC,SAAW,EAAAy4C,QAE3B8+B,EAAgC,GAClC5mH,EAAM0mB,WAAa1mB,EAAM0mB,YAAc,EAAA4gG,iBACvCV,EAAWn1G,KAAKzR,EAAM0mB,WAGpBu0H,EAAkC,GACpCj7I,EAAMq0C,SACN4mG,EAAexpI,KAAKzR,EAAMq0C,SAE1Br0C,EAAMipD,WACNgyF,EAAexpI,KAAKzR,EAAMipD,WAI1B,GAAM,UAAkBiyF,yBAAyBl7I,EAAM8mB,OAAQwoF,EAAS,CACpE6rC,uBAAwBn7I,EAAMy5I,+BAA4Bp5I,EAC1D+6I,mBAAoBp7I,EAAMw5I,2BAAwBn5I,EAClDy4I,kBAAwC,QAAtB,EAAA94I,EAAM84I,wBAAgB,eAAEzrG,OACpC,CACI+B,UAAWpvC,EAAM84I,iBAAiBzrG,MAAMtzB,IACxCo1B,SAAUnvC,EAAM84I,iBAAiBzrG,MAAMvzB,UAE3CzZ,EACN04I,oBAA4C,QAAxB,EAAA/4I,EAAM+4I,0BAAkB,eAAE1rG,OACxC,CACI+B,UAAWpvC,EAAM+4I,mBAAmB1rG,MAAMtzB,IAC1Co1B,SAAUnvC,EAAM+4I,mBAAmB1rG,MAAMvzB,UAE7CzZ,EACNumH,YAAY,aAAKA,GACjBq0B,gBAAgBA,aAAc,EAAdA,EAAgBj/I,QAASi/I,OAAiB56I,K,cAjB5D,kBACF,SAiBE,IAlBCvC,EAAK,KAAEu9I,EAAQ,KAoBlBv9I,EACA,IAAM,IAAA+I,MAAI,IAAAy0I,6BAA4Bt7I,EAAOlC,KAD7C,M,qBA4BJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA00I,+BAA8Bv7I,EAAOq7I,GAAY,M,IAG/D,SAAUG,EAA2B99I,G,8DACwC,UAAM,IAAAiJ,QAC3E,EAAA8/G,iC,OAIJ,OALMlpH,EAAmE,UAInD,aAAiBA,EAAeG,EAAOxB,SAK7D,IAAM,IAAA2K,MAAI,IAAA40I,iCAHN,I,OAMA,OAHJ,SAGI,GAAM,UAAkBC,0B,cADtB,kBACF,SAAgD,IAD7C59I,EAAK,KAAE4oH,EAAQ,KAGlB5oH,EACA,IAAM,IAAA+I,MAAI,IAAA80I,6BAA4B79I,KADtC,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA+0I,gCAA8Bl1B,aAAQ,EAARA,EAAU3tG,UAAW,M,IAGjE,SAAU8iI,EAAiBn+I,G,kDACvB,UAAM,IAAAmJ,MAAI,IAAAi1I,WAAUp+I,EAAOsC,S,cAA3B,S,QAGJ,SAAU+7I,EAAcr+I,G,sEAG0C,OAFtDsC,EAAUtC,EAAM,MAEsC,IAAM,IAAAiJ,QAAO,EAAAq1I,0B,OAE3E,OAFM9jI,EAAwD,UAC1C,IAAAG,kBAAiBrY,EAAOkY,GAExC,IAG2B,GAAM2gI,EACjC74I,EAAM+4I,mBACN/4I,EAAM84I,mB,OAEV,OAJ+B,SAS/B,IAAM,IAAAjyI,MAAI,IAAAo1I,gBAAej8I,OAJrB,IAAAyuB,YAAW,wCACX,K,OAMA,OAHJ,SAGI,GAAM,UAAkBytH,wBACpBl8I,EAAM8mB,OACN,CACImiC,UAAWjpD,EAAMipD,gBAAa5oD,EAC9B8gB,YAAanhB,EAAMmhB,kBAAe9gB,GAEtC,CACI86I,uBAAwBn7I,EAAMy5I,+BAA4Bp5I,EAC1D+6I,mBAAoBp7I,EAAMw5I,2BAAwBn5I,EAClDy4I,kBAAwC,QAAtB,EAAA94I,EAAM84I,wBAAgB,eAAEzrG,OACpC,CACI+B,UAAWpvC,EAAM84I,iBAAiBzrG,MAAMtzB,IACxCo1B,SAAUnvC,EAAM84I,iBAAiBzrG,MAAMvzB,UAE3CzZ,EACN04I,oBAA4C,QAAxB,EAAA/4I,EAAM+4I,0BAAkB,eAAE1rG,OACxC,CACI+B,UAAWpvC,EAAM+4I,mBAAmB1rG,MAAMtzB,IAC1Co1B,SAAUnvC,EAAM+4I,mBAAmB1rG,MAAMvzB,UAE7CzZ,K,cArBZ,kBACF,SAsBC,IAvBEvC,EAAK,KAAEq+I,EAAqB,KAyB/Br+I,EACA,IAAM,IAAA+I,MAAI,IAAAu1I,gBAAep8I,EAAOlC,KADhC,M,qBAOJ,S,WAAA,OAFMu+I,GAA6BF,GAAyB,IAAI76F,MAAM,EArY7C,IAuYzB,IAAM,IAAAz6C,MAAI,IAAAy1I,kBAAiBt8I,EAAOq8I,K,IAGtC,SAAUE,EAAmB7+I,G,kDACzB,UAAM,IAAAmJ,MAAI,IAAA21I,aAAY9+I,EAAOsC,S,cAA7B,S,QAGJ,SAAUy8I,EAAgB/+I,G,sEAG0C,OAFxDsC,EAAUtC,EAAM,MAEwC,IAAM,IAAAiJ,QAAO,EAAA+1I,4B,OAE7E,OAFMxkI,EAA0D,UAC5C,IAAAG,kBAAiBrY,EAAOkY,GAExC,IAG2B,GAAM2gI,EACjC74I,EAAM+4I,mBACN/4I,EAAM84I,mB,OAEV,OAJ+B,SAS/B,IAAM,IAAAjyI,MAAI,IAAA81I,kBAAiB38I,OAJvB,IAAAyuB,YAAW,wCACX,K,OAMA,OAHJ,SAGI,GAAM,UAAkBmuH,0BACpB58I,EAAM8mB,OACN,CACIutB,QAASr0C,EAAMq0C,cAAWh0C,EAC1B8gB,YAAanhB,EAAMmhB,kBAAe9gB,GAEtC,CACI86I,uBAAwBn7I,EAAMy5I,+BAA4Bp5I,EAC1D+6I,mBAAoBp7I,EAAMw5I,2BAAwBn5I,EAClDy4I,kBAAwC,QAAtB,EAAA94I,EAAM84I,wBAAgB,eAAEzrG,OACpC,CACI+B,UAAWpvC,EAAM84I,iBAAiBzrG,MAAMtzB,IACxCo1B,SAAUnvC,EAAM84I,iBAAiBzrG,MAAMvzB,UAE3CzZ,EACN04I,oBAA4C,QAAxB,EAAA/4I,EAAM+4I,0BAAkB,eAAE1rG,OACxC,CACI+B,UAAWpvC,EAAM+4I,mBAAmB1rG,MAAMtzB,IAC1Co1B,SAAUnvC,EAAM+4I,mBAAmB1rG,MAAMvzB,UAE7CzZ,K,cArBZ,kBACF,SAsBC,IAvBEvC,EAAK,KAAE++I,EAAuB,KAyBjC/+I,EACA,IAAM,IAAA+I,MAAI,IAAAi2I,kBAAiB98I,EAAOlC,KADlC,M,qBAOJ,S,WAAA,OAFMi/I,GAA+BF,GAA2B,IAAIv7F,MAAM,EAhcjD,IAkczB,IAAM,IAAAz6C,MAAI,IAAAm2I,oBAAmBh9I,EAAO+8I,K,IAGxC,SAAUE,EAAoBv/I,G,gGAG2C,OAF7DsC,EAAUtC,EAAM,MAE6C,IAAM,IAAAiJ,QAAO,EAAA41H,2B,OAGd,OAH9Dsd,EAA+D,SAC/DC,KAAmBD,aAAe,EAAfA,EAAiB95D,cAAa85D,aAAe,EAAfA,EAAiB95D,YAAathB,KAAKD,MAEtB,IAAM,IAAA73D,QAAO,EAAAu2I,gC,OAEjF,OAFMhlI,EAA8D,UAChD,IAAAG,kBAAiBrY,EAAOkY,KACxB4hI,EAChB,IAGJ,IAAM,IAAAjzI,MAAI,IAAAs2I,sBAAqBn9I,K,OAEA,OAF/B,SAE+B,GAAM64I,EACjC74I,EAAM+4I,mBACN/4I,EAAM84I,mB,cAFJsE,EAAyB,SAKW,OAAlBp9I,EAAMq0C,SAAwC,OAApBr0C,EAAMipD,YAAwBm0F,EAE5E,IAAM,IAAAv2I,MAAI,IAAAw2I,wBAAuBr9I,EAAO,QADxC,M,6BAoDJ,S,WA9CI,SAAM,UAAkBs9I,4BACpBt9I,EAAM8mB,OACN,CACIutB,QAASr0C,EAAMq0C,cAAWh0C,EAC1B4oD,UAAWjpD,EAAMipD,gBAAa5oD,EAC9BwkF,oBAAqB7kF,EAAMmlE,kBAC3Bo4E,eAAe,GAEnB,CACIpC,uBAAwBn7I,EAAMy5I,+BAA4Bp5I,EAC1D+6I,mBAAoBp7I,EAAMw5I,2BAAwBn5I,EAClD04I,oBAA4C,QAAxB,EAAA/4I,EAAM+4I,0BAAkB,eAAE1rG,OACxC,CACI+B,UAAWpvC,EAAM+4I,mBAAmB1rG,MAAMtzB,IAC1Co1B,SAAUnvC,EAAM+4I,mBAAmB1rG,MAAMvzB,IACzC2G,QAAmD,QAA1C,EAAAzgB,EAAM+4I,mBAAmByE,yBAAiB,eAAEtyH,YACrDg3B,SAAmD,QAA1C,EAAAliD,EAAM+4I,mBAAmByE,yBAAiB,eAAEt7F,eAAW7hD,EAChE8hD,MAAgD,QAA1C,EAAAniD,EAAM+4I,mBAAmByE,yBAAiB,eAAEr7F,YAAQ9hD,EAC1D2hD,SAAmD,QAA1C,EAAAhiD,EAAM+4I,mBAAmByE,yBAAiB,eAAEx7F,eAAW3hD,EAChE4hD,SAAmD,QAA1C,EAAAjiD,EAAM+4I,mBAAmByE,yBAAiB,eAAEv7F,eAAW5hD,QAEpEA,EACNy4I,kBAAwC,QAAtB,EAAA94I,EAAM84I,wBAAgB,eAAEzrG,OACpC,CACI+B,UAAWpvC,EAAM84I,iBAAiBzrG,MAAMtzB,IACxCo1B,SAAUnvC,EAAM84I,iBAAiBzrG,MAAMvzB,IACvC2G,QAAiD,QAAxC,EAAAzgB,EAAM84I,iBAAiB0E,yBAAiB,eAAEtyH,YACnDg3B,SAAiD,QAAxC,EAAAliD,EAAM84I,iBAAiB0E,yBAAiB,eAAEt7F,eAAW7hD,EAC9D8hD,MAA8C,QAAxC,EAAAniD,EAAM84I,iBAAiB0E,yBAAiB,eAAEr7F,YAAQ9hD,EACxD2hD,SAAiD,QAAxC,EAAAhiD,EAAM84I,iBAAiB0E,yBAAiB,eAAEx7F,eAAW3hD,EAC9D4hD,SAAiD,QAAxC,EAAAjiD,EAAM84I,iBAAiB0E,yBAAiB,eAAEv7F,eAAW5hD,QAElEA,K,cAjCZ,kBACF,SAkCC,IAnCEvC,EAAK,KAAEoJ,EAAM,KAqChBpJ,EACA,IAAM,IAAA+I,MAAI,IAAA42I,sBAAqBz9I,EAAOlC,KADtC,M,OAUJ,OALM4/I,EAAc,OACbx2I,GAAM,CACT64E,aAAa74E,aAAM,EAANA,EAAQysG,kBAAmB,GAAK,EAAAv6D,UAAYqlB,KAAKD,QAGlE,IAAM,IAAA33D,MAAI,IAAAw2I,wBAAuBr9I,EAAO09I,K,IAG5C,SAAUC,EAAWjgJ,G,gEAGuD,OAFhE0uD,EAA+C1uD,EAAM,cAAtCopB,EAAgCppB,EAAM,OAA9BkgJ,EAAwBlgJ,EAAM,oBAEW,IAAM,IAAAiJ,QAAO,EAAAogB,gC,OACrF,OADwE,SACtDnpB,QACd,IAGJ,IAAM,IAAAiJ,MAAI,IAAAg3I,iB,OAEwD,OAFlE,SAEkE,GAAM,UAAkBC,YACtFh3H,EACA82H,I,cAFE,kBAA4D,SAGjE,KAHM9/I,EAAK,MAKR,IAAM,IAAA+I,MAAI,IAAAk3I,aAAYjgJ,KADtB,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAm3I,mB,OAAV,S,iBAGJ,UAAM,IAAAn3I,MAAI,IAAAwgF,yBAAwB,CAAEphF,GAAImmD,EAAelwD,QAAS,CAAE4/B,eAAe,O,cAAjF,SACA,EAAAmiH,2BAA2B5iH,KAAK,CAAC,GACjC,EAAAY,2BAA2BZ,KAAK,CAAC,G,QAGrC,SAAU6iH,EAAuBxgJ,G,wHAG0C,OAF/D+xE,EAAmC/xE,EAAM,QAAhCopB,EAA0BppB,EAAM,OAAxB0uD,EAAkB1uD,EAAM,cAEsB,IAAM,IAAAiJ,SACzE,IAAAw3I,0BAAyB/xF,K,OAE7B,OAHM02B,EAAiE,WAQjEs7D,GAAY,aAAMt7D,aAAkB,EAAlBA,EAAoB5J,MAAO,MAC7CmlE,EAAcD,EAAUt3H,IAAW,KACnCwmG,GAAsC,QAAtB,EAAA+wB,aAAW,EAAXA,EAAal6H,iBAAS,eAAG,KAAM,MAC/Cm6H,GAAahxB,aAAa,EAAbA,EAAehV,yBAAyBgV,aAAa,EAAbA,EAAe1wC,uBAAwB,MAMxE,IAAM,IAAAj2E,QAAO,EAAAk2H,4BAJnC,IAAApuG,YAAW,oBACX,QAVA,IAAAA,YAAW,4BACX,K,OAcJ,OAF0B,SAC0BghD,GAEhD,IAGJ,IAAM,IAAA5oE,MAAI,IAAA03I,yBAAwB9uE,K,OAG9B,OAHJ,SAGI,GAAM,UAAkBq7C,+BAA+Br7C,EAAS6uE,I,cAD9DE,EACF,SAEE,IAAgBA,EAAgB,GAA/B1gJ,EAAK,KAAE0I,EAAI,KACd1I,EACA,IAAM,IAAA+I,MAAI,IAAA43I,yBAAwBhvE,EAAS3xE,KAD3C,M,OAEA,OADA,SACA,I,OAQJ,OALMmsD,EAAWzjD,GAAQ,GAEnBk4I,GAAuB,IAAAC,yBAAwBlvE,EAASxlB,GACxD20F,GAAyBF,aAAoB,EAApBA,EAAsBz4I,KAAM,KAE3D,IAAM,IAAAY,MAAI,IAAAg4I,kBAAiBpvE,EAASxlB,EAAU20F,K,OAA9C,S,2CAE4B,IAAA30F,GAAQ,W,wCAChC,IAAIsxE,OADGA,EAAa,cACH,EAAbA,EAAeR,aAAc,EAAAC,6BAA6B5uD,SAE1D,aAGE0yE,EAA4C,GAE5CC,EAAsB,CACxBxjB,aAAa,EAAbA,EAAerf,sBACfqf,aAAa,EAAbA,EAAepf,oBACfof,aAAa,EAAbA,EAAeyjB,kBACfzjB,aAAa,EAAbA,EAAevf,0BACfuf,aAAa,EAAbA,EAAetf,0BACjBlzF,OAAO,EAAA4/B,U,8CAEwB,aAAAo2F,GAAmB,W,yCAAzCE,EAAkB,QACrBC,OAA+B,EAE/BD,EACkC,GAAM,UAAkBE,yBAAyBF,IADnF,Q,eACAC,EAAkC,S,eAElC,UAAM,IAAAr4I,MACF,IAAA43I,yBACIhvE,EACA,IAAI2vE,MAAM,uDAAgD/hF,KAAKC,UAAU2hF,Q,QAHjF,SAMAC,EAAkC,K,0BAElCA,aAA+B,EAA/BA,EAAkC,IAClC,IAAM,IAAAr4I,MAAI,IAAA43I,yBAAwBhvE,EAASyvE,EAAgC,MAD3E,O,QACA,S,oBAGEG,EAAWH,aAA+B,EAA/BA,EAAkC,KAE/CJ,EAAkBrtI,KAAI,MAAtBqtI,EAAiB,OAASO,IAAQ,I,2MAS1C,OALMnhB,GAAkB3C,aAAa,EAAbA,EAAet1H,KAAM,MAEzC,IAAAwoB,YAAW,yBAGf,IAAM,IAAA5nB,MAAI,IAAAy4I,mBAAkB7vE,EAASyuD,EAAiB4gB,K,QAAtD,S,0MAGJ,UAAM,IAAAj4I,MAAI,IAAA04I,2BAA0B9vE,K,eAApC,S,QAIJ,SAAU+vE,IAAS,2B,aAEnB,SAAUC,I,kDACN,UAAM,IAAA54I,MAAI,IAAA60I,4B,cAAV,S,QAoBJ,UAjBA,W,kDACI,UAAM,IAAAp0I,WAAU,EAAAo4I,sBAAuBhG,I,OACvC,OADA,SACA,IAAM,IAAApyI,WAAU,EAAAq4I,oBAAqBrG,I,OACrC,OADA,SACA,IAAM,IAAAhyI,WAAU,EAAAs4I,6BAA8BpF,I,OAC9C,OADA,SACA,IAAM,IAAAlzI,WAAU,EAAAu4I,iCAAkC/E,I,OAClD,OADA,SACA,IAAM,IAAAxzI,WAAU,EAAAw4I,iCAAkCtE,I,OAClD,OADA,SACA,IAAM,IAAAl0I,WAAU,EAAAy4I,mBAAoBhE,I,OACpC,OADA,SACA,IAAM,IAAAz0I,WAAU,EAAA04I,sBAAuBnE,I,OACvC,OADA,SACA,IAAM,IAAAv0I,WAAU,EAAA24I,qBAAsBxD,I,OACtC,OADA,SACA,IAAM,IAAAn1I,WAAU,EAAA44I,wBAAyB3D,I,OACzC,OADA,SACA,IAAM,IAAAj1I,WAAU,EAAA64I,0BAA2BlD,I,QAC3C,OADA,SACA,IAAM,IAAA31I,WAAU,EAAA84I,mBAAoBzC,I,QACpC,OADA,SACA,IAAM,IAAAr2I,WAAU,EAAA+4I,qBAAsBnC,I,QACtC,OADA,SACA,IAAM,IAAA52I,WAAU,EAAAg5I,KAAMb,I,QACtB,OADA,SACA,IAAM,IAAAn4I,WAAU,EAAA2qC,MAAOutG,I,eAAvB,S,uCCpwBJ,WAAiB,C,sLCDjB,kBACA,UAEa,EAAAe,gBAAkB,SAACh2I,GAC5B,KACI,aAAKA,EACT,CAAE,MAAOzM,IACL,IAAAy/D,UAAS,6BAA8Bz/D,EAC3C,CACJ,C,+BCRA,WAAgB,OAAS,2DAA2D,OAAS,2DAA2D,SAAW,6D,kYCDnK,eAOA,cACA,UAEMR,EAAoC,CACtCk2C,aAAc,UAAch2C,QAC5B2oE,MAAO,MAGX,mBAAgB1oE,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAwjJ,mCACD,OAAO,EAAP,KACO/iJ,GAAK,CACR+1C,aAAc,UAAc51C,UAIpC,KAAK,EAAA6iJ,qCACO,IAAAt6E,EAAUzoE,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR0oE,MAAK,EACL3yB,aAAc,UAAcv1C,KAIpC,KAAK,EAAAyiJ,mCACO,IAAA5iJ,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR0oE,MAAO,KACP3yB,aAAc,UAAcz1C,SAASD,KAI7C,KAAK,EAAAI,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,q7BCnDD,kBACA,WACA,cACA,YACA,cACA,cAEM/D,EAAK,UAAWC,KAAK,WAQrBgnJ,EAAoC9mJ,EAAMC,MAAK,SAACC,GAC1C,IAAAk0D,EAA6Cl0D,EAAK,YAArCu+D,EAAgCv+D,EAAK,WAAzBw+D,EAAoBx+D,EAAK,gBAE1D,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,oCACRE,WAAY,CACR2jD,YAAa,gBAAC,UAAW,CAACvmD,OAAQumD,IAClCC,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,OAKhD,IAEA,UAAeooF,C,oGC5BF,EAAAj6C,oBAAsB,SAAmBk6C,GAClD,OAAKA,EAIE,CAACA,EAAS5hJ,MAAO4hJ,EAASnhF,WAAWp2C,KAP9B,KAIH,EAIf,C,6oECVA,eACA,WAmBA,WAyBA,WACA,cACA,WAEA,cACA,cACA,WACA,WAEA,WACA,WACA,WACA,WAEA,SAAUw3H,EAAkBnjJ,G,oEAG4C,OAF5DmB,EAAuBnB,EAAM,UAAlBxB,EAAYwB,EAAM,QAE+B,IAAM,IAAAiJ,SACtE,IAAAk9B,4BAA2BhlC,K,OAE/B,OAHMtB,EAA8D,UAG/D,aAAiBA,EAAerB,GAIrC,IAAM,IAAA2K,MAAI,IAAAi6I,oBAAmBjiJ,KAHzB,I,cAGJ,UAKI,IAAAoB,yBAAwBpB,GACb,GAAM,UAAkBkiJ,wBADnC,M,cACA55I,EAAW,S,aAEA,SAAM,UAAkB45I,qBAAqBliJ,I,OAAxDsI,EAAW,S,wBAET,IAA2BA,EAAQ,GAAlCrJ,EAAK,KAAEkjJ,EAAe,KAEzBljJ,EACA,IAAM,IAAA+I,MAAI,IAAAo6I,oBAAmBnjJ,EAAOe,KADpC,M,cACA,S,cAEA,UAAM,IAAAgI,MAAI,IAAAq6I,sBAAqBF,GAAmB,GAAIniJ,K,OAAtD,S,iCAIR,SAAUsiJ,EAAezjJ,G,gEAGrB,OAFQ8pC,EAAuB9pC,EAAM,QAApBmB,EAAcnB,EAAM,UAErC,IAAM,IAAAmJ,MAAI,IAAAu6I,gBAAeviJ,K,cAAzB,UAKI,IAAAoB,yBAAwBpB,GACb,GAAM,UAAkBwiJ,wBAAwB75G,IAD3D,M,cACArgC,EAAW,S,aAEA,SAAM,UAAkBm6I,iBAAiB95G,EAAS3oC,I,OAA7DsI,EAAW,S,wBAET,IAAUA,EAAQ,IAAjBrJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA06I,gBAAezjJ,EAAOe,KADhC,M,cACA,S,cAEA,UAAM,IAAAgI,MAAI,IAAA26I,kBAAiB3iJ,K,OAK3B,OALA,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnC,IAAM,IAAAx0B,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBM,aAC1BltB,KAAM,CACFhG,MAAOgnC,EAAQhnC,Y,OAL/B,S,iCAaR,SAAUihJ,EAAe/jJ,G,gEAGrB,OAFQgkJ,EAA0BhkJ,EAAM,WAApBmB,EAAcnB,EAAM,UAExC,IAAM,IAAAmJ,MAAI,IAAAu6I,gBAAeviJ,K,cAAzB,UAKI,IAAAoB,yBAAwBpB,GACb,GAAM,UAAkB8iJ,2BAA2BD,IAD9D,M,cACAv6I,EAAW,S,aAEA,SAAM,UAAkBy6I,oBAAoB,EAAD,CAAG/iJ,UAAS,GAAK6iJ,K,OAAvEv6I,EAAW,S,wBAET,IAAUA,EAAQ,IAAjBrJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA06I,gBAAezjJ,EAAOe,KADhC,M,cACA,S,cAEA,UAAM,IAAAgI,MAAI,IAAA26I,kBAAiB3iJ,K,OAK3B,OALA,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnC,IAAM,IAAAx0B,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBK,aAC1BjtB,KAAM,CACF7G,SAAU,UAAG+hJ,EAAW/uI,MAAQ,GAAE,YAAI+uI,EAAWt4H,SAAW,U,OAL5E,S,iCAaR,SAAUy4H,EAAehjJ,EAAuBujC,G,kDACa,UAAM,IAAAz7B,SAAO,IAAAm7I,mBAAkBjjJ,K,OAExF,MAAO,CAAP,EAFyD,SAEtCujC,IAAc,M,IAGrC,SAAU2/G,EAAmBljJ,EAAuBe,G,4DACqB,UAAM,IAAA+G,QAAO,EAAAq7I,0B,OACzB,OADnDC,EAA+D,SACZ,IAAM,IAAAt7I,SAAO,IAAAm7I,mBAAkBjjJ,K,OAGxF,OAHMqjJ,EAAmD,SAEnD9/G,EAAY6/G,aAAiB,EAAjBA,EAAoBriJ,GAC/B,CAAP,GAAOsiJ,aAAW,EAAXA,EAAc9/G,KAAc,M,IAGvC,SAAU+/G,EAAkBzkJ,G,kEAGxB,OAFQmB,EAAyBnB,EAAM,UAApB0kC,EAAc1kC,EAAM,UAEvC,IAAM,IAAAmJ,MAAI,IAAAu7I,mBAAkBvjJ,K,cAA5B,SAEIqI,EACA,MACA,IAAAjH,yBAAwBpB,GACf,GAAM,UAAkBwjC,cAAcD,IAD/C,M,cACAl7B,EAAS,S,aAEA,SAAM,UAAkBm7B,cAAcD,I,OAA/Cl7B,EAAS,S,iBAEb,OAAKA,GAIC,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAw7I,mBAAkBvkJ,EAAOe,KADnC,OALA,I,cAMA,S,cAEA,UAAM,IAAAgI,MAAI,IAAAy7I,qBAAoBzjJ,K,OAKd,OALhB,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnB,KAAOwmH,EAAehjJ,EAAWujC,K,OACjD,OADM95B,EAAU,SAChB,IAAM,IAAAzB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBc,eAC1B1tB,KAAM,CACF7G,UAAU2I,aAAO,EAAPA,EAAS3I,WAAY,S,QAL/C,S,iCAaR,SAAU4iJ,EAAe7kJ,G,kEAGrB,OAFQmB,EAAsBnB,EAAM,UAAjBkC,EAAWlC,EAAM,OAEpC,IAAM,IAAAmJ,MAAI,IAAAu7I,mBAAkBvjJ,K,cAA5B,SAEIqI,EAAuG,MACvG,IAAAjH,yBAAwBpB,GACf,GAAM,UAAkBskC,WAAWvjC,IAD5C,M,cACAsH,EAAS,S,aAEA,SAAM,UAAkBi8B,WAAWvjC,I,OAA5CsH,EAAS,S,iBAEb,OAAKA,GAIC,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAw7I,mBAAkBvkJ,EAAOe,KADnC,OALA,I,cAMA,S,cAEA,UAAM,IAAAgI,MAAI,IAAAy7I,qBAAoBzjJ,K,OAKd,OALhB,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnB,KAAO0mH,EAAmBljJ,EAAWe,K,OACrD,OADM0I,EAAU,SAChB,IAAM,IAAAzB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBa,gBAC1BztB,KAAM,CACF7G,UAAU2I,aAAO,EAAPA,EAAS3I,WAAY,S,QAL/C,S,iCAaR,SAAU6iJ,EAAqB9kJ,G,kEAG3B,OAFQmB,EAAsBnB,EAAM,UAAjBkC,EAAWlC,EAAM,OAEpC,IAAM,IAAAmJ,MAAI,IAAA47I,mBAAkB5jJ,K,cAA5B,SAEIqI,EAEO,MACP,IAAAjH,yBAAwBpB,GACf,GAAM,UAAkB6jJ,iBAAiB9iJ,IADlD,M,cACAsH,EAAS,S,aAEA,SAAM,UAAkBw7I,iBAAiB9iJ,I,OAAlDsH,EAAS,S,iBAEb,OAAKA,GAGC,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA87I,mBAAkB7kJ,EAAOe,KADnC,OAJA,I,cAKA,S,cAEA,UAAM,IAAAgI,MAAI,IAAA+7I,qBAAoB/jJ,K,OAKd,OALhB,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnB,KAAO0mH,EAAmBljJ,EAAWe,K,OACrD,OADM0I,EAAU,SAChB,IAAM,IAAAzB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBI,eAC1BhtB,KAAM,CACFhG,OAAO8H,aAAO,EAAPA,EAAS9H,QAAS,S,QALzC,S,iCAYR,SAAUqiJ,EAAgBnlJ,G,kEAGtB,OAFQmB,EAAsBnB,EAAM,UAAjBkC,EAAWlC,EAAM,OAEpC,IAAM,IAAAmJ,MAAI,IAAA47I,mBAAkB5jJ,K,cAA5B,SAEIqI,EAAyG,MACzG,IAAAjH,yBAAwBpB,GACf,GAAM,UAAkBylC,YAAY1kC,IAD7C,M,cACAsH,EAAS,S,aAEA,SAAM,UAAkBo9B,YAAY1kC,I,OAA7CsH,EAAS,S,iBAEb,OAAKA,GAGC,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA87I,mBAAkB7kJ,EAAOe,KADnC,OAJA,I,cAKA,S,cAEA,UAAM,IAAAgI,MAAI,IAAA+7I,qBAAoB/jJ,K,OAKd,OALhB,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnB,KAAO0mH,EAAmBljJ,EAAWe,K,OACrD,OADM0I,EAAU,SAChB,IAAM,IAAAzB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBC,aAC1B7sB,KAAM,CACF7G,UAAU2I,aAAO,EAAPA,EAAS3I,WAAY,S,QAL/C,S,iCAaR,SAAUmjJ,EAAmBplJ,G,oEAGzB,OAFQmB,EAA6BnB,EAAM,UAAxBkC,EAAkBlC,EAAM,OAAhBk2B,EAAUl2B,EAAM,MAE3C,IAAM,IAAAmJ,MAAI,IAAA47I,mBAAkB5jJ,K,cAA5B,SAEIqI,EACA,MACA,IAAAjH,yBAAwBpB,GACf,GAAM,UAAkBkkJ,eAAenjJ,EAAQg0B,IADxD,M,cACA1sB,EAAS,S,aAEA,SAAM,UAAkB67I,eAAenjJ,EAAQg0B,I,OAAxD1sB,EAAS,S,iBAEb,OAAKA,GAGC,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA87I,mBAAkB7kJ,EAAOe,KADnC,OAJA,I,cAKA,S,cAEA,UAAM,IAAAgI,MAAI,IAAA+7I,qBAAoB/jJ,K,OAKd,OALhB,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnB,KAAO0mH,EAAmBljJ,EAAWe,K,cAEjD0I,OAFEA,EAAU,eAEL,EAAPA,EAASrC,IACT,IAAM,IAAAY,MAAI,IAAAm8I,qBAAoB16I,EAAQrC,MADtC,O,QACA,S,mBAGJ,UAAM,IAAAY,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBO,iBAC1BntB,KAAM,CACF7G,UAAU2I,aAAO,EAAPA,EAAS3I,WAAY,GAC/Bi0B,MAAK,Q,QANrB,S,iCAcR,SAAUqvH,EAAkBvlJ,G,oEAGxB,OAFQmB,EAAyCnB,EAAM,UAApC0kC,EAA8B1kC,EAAM,UAAzBwlJ,EAAmBxlJ,EAAM,eAEvD,IAAM,IAAAmJ,MAAI,IAAA47I,mBAAkB5jJ,K,cAA5B,SAEIqI,EACA,MACA,IAAAjH,yBAAwBpB,GACf,GAAM,UAAkBskJ,cAAc/gH,EAAW8gH,IAD1D,M,cACAh8I,EAAS,S,aAEA,SAAM,UAAkBi8I,cAAc/gH,EAAW8gH,I,OAA1Dh8I,EAAS,S,iBAEb,OAAKA,GAGC,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA87I,mBAAkB7kJ,EAAOe,KADnC,OAJA,I,cAKA,S,cAEA,UAAM,IAAAgI,MAAI,IAAA+7I,qBAAoB/jJ,K,OAK9B,OALA,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnC,IAAM,IAAAx0B,MAAI,IAAAm8I,qBAAoB5gH,K,OAEd,OAFhB,SAEgB,KAAOy/G,EAAehjJ,EAAWujC,K,QACjD,OADM95B,EAAU,SAChB,IAAM,IAAAzB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBgB,cAC1B5tB,KAAM,CACF7G,UAAU2I,aAAO,EAAPA,EAAS3I,WAAY,S,QAL/C,S,iCAaR,SAAUyjJ,EAAoB1lJ,G,4EAG1B,OAFQmB,EAAyBnB,EAAM,UAApB0kC,EAAc1kC,EAAM,UAEvC,IAAM,IAAAmJ,MAAI,IAAA47I,mBAAkB5jJ,K,cAA5B,UAKI,IAAAoB,yBAAwBpB,GACN,GAAM,UAAkBmkJ,oBAAoB5gH,IAD9D,M,cACAihH,EAAkB,S,aAEA,SAAM,UAAkBL,oBAAoB5gH,I,OAA9DihH,EAAkB,S,wBAEhB,IAA0BA,EAAe,GAAxCC,EAAY,KAAEn6I,EAAO,KAExBm6I,EACA,IAAM,IAAAz8I,MAAI,IAAA87I,mBAAkBW,EAAczkJ,KAD1C,M,OAEA,OADA,SACA,I,cAGCsK,EAAD,MACA,IAAM,IAAAtC,MAAI,IAAA87I,mBAAkB,IAAIvD,MAAM,iBAAkBvgJ,K,OACxD,OADA,SACA,I,cAGE0kJ,EAAqB,OACpBp6I,GAAO,CACVqwB,MAAM,KAIN,IAAAv5B,yBAAwBpB,GACP,GAAM,UAAkBskJ,cAAc/gH,EAAWmhH,IADlE,O,eACAC,EAAiB,S,eAEA,SAAM,UAAkBL,cAAc/gH,EAAWmhH,I,QAAlEC,EAAiB,S,0BAEf,IAAgBA,EAAc,IAA7B3tB,EAAW,MAGd,IAAM,IAAAhvH,MAAI,IAAA87I,mBAAkB9sB,EAAah3H,KADzC,O,QAEA,OADA,SACA,I,QAGJ,UAAM,IAAAgI,MAAI,IAAA+7I,qBAAoB/jJ,K,QAK9B,OALA,SAEA,EAAAklC,sBAAsB1I,KAAK,CAAC,GAC5B,EAAAa,6BAA6Bb,KAAK,CAAC,GAEnC,IAAM,IAAAx0B,MAAI,IAAAm8I,qBAAoB5gH,K,QAEd,OAFhB,SAEgB,KAAOy/G,EAAehjJ,EAAWujC,K,QACjD,OADM95B,EAAU,SAChB,IAAM,IAAAzB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBe,mBAC1B3tB,KAAM,CACF7G,UAAU2I,aAAO,EAAPA,EAAS3I,WAAY,S,eAL/C,S,QAYJ,SAAS8jJ,EAA2B/8I,GAChC,OAAO,SAAkChJ,G,kEAGrC,OAFQ0kC,EAAc1kC,EAAM,UAE5B,IAAM,IAAAmJ,MAAI,IAAA68I,8B,cAAV,SAKIh9I,IAAgB,EAAAK,gBAAgBC,OAAhC,MACW,GAAM,UAAkBg8I,oBAAoB5gH,I,cAAvDj7B,EAAW,S,aAEA,SAAM,UAAkB67I,oBAAoB5gH,I,OAAvDj7B,EAAW,S,wBAET,IAAmBA,EAAQ,GAA1BrJ,EAAK,KAAEqL,EAAO,KAEjBrL,EACA,IAAM,IAAA+I,MAAI,IAAA88I,0BAAyB7lJ,KADnC,M,cACA,S,aAGA,OADM8lJ,GAAkB,IAAAC,8BAA6B16I,GACrD,IAAM,IAAAtC,MAAI,IAAAi9I,4BAA2B1hH,EAAWwhH,K,OAAhD,S,+BAGZ,CAEA,SAASG,EAAmCr9I,GACxC,OAAO,SAA0ChJ,G,kEAG7C,OAFQkC,EAAWlC,EAAM,OAEzB,IAAM,IAAAmJ,MAAI,IAAA68I,8B,cAAV,SAKIh9I,IAAgB,EAAAK,gBAAgBC,OAAhC,MACW,GAAM,UAAkBg9I,4BAA4BpkJ,I,cAA/DuH,EAAW,S,aAEA,SAAM,UAAkB68I,4BAA4BpkJ,I,OAA/DuH,EAAW,S,wBAET,IAAmBA,EAAQ,GAA1BrJ,EAAK,KAAEqL,EAAO,KAEjBrL,EACA,IAAM,IAAA+I,MAAI,IAAA88I,0BAAyB7lJ,KADnC,M,OAEA,OADA,SACA,I,cAGAqL,aAAO,EAAPA,EAASlD,KACH29I,GAAkB,IAAAC,8BAA6B16I,GACrD,IAAM,IAAAtC,MAAI,IAAAi9I,4BAA2B36I,EAAQlD,GAAI29I,MAFjD,M,OAEA,S,+BAGZ,CAiBA,UAfA,SAA6Bl9I,G,kDACzB,UAAM,IAAAY,WAAU,EAAA28I,uBAAwBpD,I,OACxC,OADA,SACA,IAAM,IAAAv5I,WAAU,EAAA48I,oBAAqB/C,I,OACrC,OADA,SACA,IAAM,IAAA75I,WAAU,EAAA68I,oBAAqB1C,I,OACrC,OADA,SACA,IAAM,IAAAn6I,WAAU,EAAA88I,eAAgBjC,I,OAChC,OADA,SACA,IAAM,IAAA76I,WAAU,EAAA+8I,YAAa9B,I,OAC7B,OADA,SACA,IAAM,IAAAj7I,WAAU,EAAAg9I,cAAe9B,I,OAC/B,OADA,SACA,IAAM,IAAAl7I,WAAU,EAAAi9I,aAAc1B,I,OAC9B,OADA,SACA,IAAM,IAAAv7I,WAAU,EAAAk9I,iBAAkB1B,I,OAClC,OADA,SACA,IAAM,IAAAx7I,WAAU,EAAAm9I,kBAAmBrB,I,OACnC,OADA,SACA,IAAM,IAAA97I,WAAU,EAAAo9I,eAAgBzB,I,QAChC,OADA,SACA,IAAM,IAAA37I,WAAU,EAAAq9I,8BAA+BlB,EAA2B/8I,K,QAC1E,OADA,SACA,IAAM,IAAAY,WAAU,EAAAs9I,iCAAkCb,EAAmCr9I,K,eAArF,S,+8CChiBJ,kBACA,WAEA,cACA,cAEA,cACA,WACA,cACA,cACA,WACA,cACA,cAEA,WACA,WACA,WACA,WAIA,WACA,WACA,WACA,WACA,cACA,cACA,cAEA,cACA,cACA,WACA,aACA,cACA,cACA,cAKMm6F,EAA4E,CAC9EC,OAAQ,IACRC,QAAS,IAGPrnG,EAAK,UAAWC,KAAK,WAQrBkrJ,EAA2ChrJ,EAAMC,MAAK,SAACC,G,iFACjD8pH,GAA4C9pH,EAAK,iBAA/Bk0F,GAA0Bl0F,EAAK,sBAEnDu0B,IAAW,IAAAC,eAEX4lC,IAAc,IAAA51D,UAAQ,WACxB,MAAO,CACH0vF,cAAqB,EAArBA,GAAuBiuB,sBACvBjuB,cAAqB,EAArBA,GAAuBkuB,oBACvBluB,cAAqB,EAArBA,GAAuB75B,WACvB65B,cAAqB,EAArBA,GAAuB+tB,0BACvB/tB,cAAqB,EAArBA,GAAuBguB,0BACzBlzF,OAAO,EAAA4/B,SACb,GAAG,CACCslC,cAAqB,EAArBA,GAAuBiuB,sBACvBjuB,cAAqB,EAArBA,GAAuBkuB,oBACvBluB,cAAqB,EAArBA,GAAuB75B,WACvB65B,cAAqB,EAArBA,GAAuB+tB,0BACvB/tB,cAAqB,EAArBA,GAAuBguB,4BAG3B,IAAA5nD,kBAAiBF,IAEjB,IAAM2wF,IAA2B,IAAA/0I,cAC7B,IAAA2kD,4BAA2Bu5B,cAAqB,EAArBA,GAAuBiuB,wBAEhD6oC,IAAyB,IAAAh1I,cAAY,IAAA2kD,4BAA2Bu5B,cAAqB,EAArBA,GAAuBkuB,sBACvF6oC,IAAuB,IAAAj1I,cAAY,IAAA2kD,4BAA2Bu5B,cAAqB,EAArBA,GAAuB75B,aACrF6wF,IAA+B,IAAAl1I,cACjC,IAAA2kD,4BAA2Bu5B,cAAqB,EAArBA,GAAuB+tB,4BAEhDkpC,IAA8B,IAAAn1I,cAChC,IAAA2kD,4BAA2Bu5B,cAAqB,EAArBA,GAAuBguB,2BAGhDkpC,IACqC,QAAvC,EAAAL,cAAwB,EAAxBA,GAA0BvnJ,qBAAa,eAAEK,WACJ,QAArC,EAAAmnJ,cAAsB,EAAtBA,GAAwBxnJ,qBAAa,eAAEK,WACJ,QAAnC,EAAAonJ,cAAoB,EAApBA,GAAsBznJ,qBAAa,eAAEK,WACM,QAA3C,EAAAqnJ,cAA4B,EAA5BA,GAA8B1nJ,qBAAa,eAAEK,WACH,QAA1C,EAAAsnJ,cAA2B,EAA3BA,GAA6B3nJ,qBAAa,eAAEK,SAEhD/D,EAAMoL,WAAU,WACR4+G,IACAv1F,IAAS,IAAAwsF,8BAA6B,CAAC+I,KAE/C,GAAG,CAACA,GAAkBv1F,KAEtB,IAAM82H,GAAmD,QAA9B,EAAAn3D,cAAqB,EAArBA,GAAuBlwE,eAAO,eAAE9X,GACrDo/I,GAA+C,QAA5B,EAAAp3D,cAAqB,EAArBA,GAAuBnwE,aAAK,eAAE7X,GAEjDq/I,IAAmB,IAAAC,sCAAqC1hC,IACxD2hC,IAAsB,IAAAz1I,cAAY,IAAA01I,yBAAwBH,KAE1DpqC,IAAc,IAAAC,qCAAoC0I,GAAkBuhC,IACpE1jD,IAAe,IAAA3xF,cAAY,IAAA21I,wBAAuBxqC,KAClDtZ,IAAsB,IAAA7xF,cAAY,IAAA01I,yBAAwBvqC,KAE1DE,IAAY,IAAAD,qCAAoC0I,GAAkBwhC,IAClEhkD,IAAa,IAAAtxF,cAAY,IAAA21I,wBAAuBtqC,KAChD7Z,IAAoB,IAAAxxF,cAAY,IAAA01I,yBAAwBrqC,KAExDrZ,GAAmBloG,EAAM6yB,WAAW,WAEpC,KAAgB7yB,EAAMuE,SAAe,MAAK,GAAzC4jG,GAAG,MAAEC,GAAM,MACZ,KAAsBpoG,EAAMuE,SAAe,MAAK,GAA/CshB,GAAM,MAAEwiF,GAAS,MAUlBsa,GAAiB3iH,EAAM0E,SAAQ,W,MACjC,OACoC,QAAhC,EAAA0vF,cAAqB,EAArBA,GAAuB9pE,iBAAS,eAAE/S,KAAI,SAACmJ,G,QACnC,MAAO,CAAkB,QAAjB,EAAAA,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SAA2B,QAAjB,EAAA50B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UAC5D,MAAM,EAEd,GAAG,CAAC6+C,KAEEmU,IAAsB,aAAKf,IAC3BgB,IAAwB,aAAKX,IAE7BY,GAAczoG,EAAM0E,SAAQ,W,MACxBgkG,EAAsE,GAkD5E,OAhDgC,QAAhC,EAAAtU,cAAqB,EAArBA,GAAuB9pE,iBAAS,SAAEhO,SAAQ,SAACoE,G,QACjC60B,EAA6B,QAAjB,EAAA70B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UAC/BD,EAA4B,QAAjB,EAAA50B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACpC,IAAI,aAASA,KAAa,aAASC,GAAY,CAC3C,IAAMozD,EAA8D,CAChExlG,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACtzD,EAAWD,IAE7BwzD,WAAY,CACR3lG,KAAM,iBACNud,SAAQ,IAIhBgoF,EAAS9wF,KAAK+wF,EAClB,CACJ,IAEIH,IACAE,EAAS9wF,KAAK,CACVzU,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACL,GAAsBtoF,IAAKsoF,GAAsBvoF,MAEnE6oF,WAAY,CACR3lG,KAAM,qBACNqwC,MAAOg1D,MAKfD,IACAG,EAAS9wF,KAAK,CACVzU,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACN,GAAoBroF,IAAKqoF,GAAoBtoF,MAE/D6oF,WAAY,CACR3lG,KAAM,mBACNqwC,MAAO+0D,MAKZG,CACX,GAAG,CAACtU,cAAqB,EAArBA,GAAuB9pE,UAAWi+E,GAAqBC,KAErDQ,GAAyBhpG,EAAM0E,SAAQ,WACzC,IAAMukG,EAAc,IAAI,UAAsCjC,GAE9D,OADAiC,EAAYC,KAAKT,IAAe,IACzBQ,CACX,GAAG,CAACR,KAEEhP,GAAe,WACjB,GAAI0O,GAAK,CACG,IAAAmB,EAASnB,GAAI5wF,IAAG,KAElBgyF,EAAQpB,GAAI5wF,IAAIiyF,YAEhBC,EAAYF,EAAMG,eAClBC,EAAYJ,EAAMK,eAExBvB,GAAU,CACNiB,KAAI,EACJD,OAAQ,CAACM,EAAUzpF,MAAOypF,EAAU1pF,MAAOwpF,EAAUvpF,MAAOupF,EAAUxpF,QAE9E,CACJ,EAEMkpF,GAAsBnpG,EAAM0E,SAAQ,WACtC,OAAImhB,GACiBmjF,GAAuBI,YAAYvjF,GAAOwjF,OAAQxjF,GAAOyjF,MAIvE,EACX,GAAG,CAACzjF,GAAQmjF,KA8ENa,GAAqB7pG,EAAMkG,aAC7B,SAACka,GACW,IAAA7I,EAAc4wF,GAAG,IAAZ2B,EAAS3B,GAAG,KAEnB4B,EAAkBf,GAAuBgB,UAAU5pF,EA3Q9C,MACA,GA4QLipF,EAAS,IAAIS,EAAKG,aAExBF,EAAgBztF,SAAQ,SAAC4tF,GACrB,IAAM12D,EAAQ,IAAIs2D,EAAKK,OAAOD,EAAQtB,SAASC,YAAY,GAAIqB,EAAQtB,SAASC,YAAY,IAE5FQ,EAAOe,OAAO52D,EAClB,IAEAj8B,EAAI8yF,UAAUhB,EAClB,GACA,CAAClB,GAAKa,KAGJ95F,GACFhP,EAAMgP,WACNo8I,KACAK,cAAmB,EAAnBA,GAAqB5nJ,WACrB2jG,cAAiB,EAAjBA,GAAmB3jG,WACnBgkG,cAAmB,EAAnBA,GAAqBhkG,SAEzB,OACI,gCACKmL,IAAa,gBAAC,UAAS,MACxB,gBAAC,UAAc,CACXs7F,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBxoG,QAAS,EAAAyoG,YACTC,kBAtN4B,SAAC5C,G,MACrCC,GAAOD,GAEC,IAAA5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEE,QAA3B,EAAAD,GAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,EAiNY0zF,UAAWxR,GACXyR,mBAAoBzR,GACpB0R,oCAAkC,GAEjChC,GAAoB5xF,KAAI,SAAC6zF,GACtB,GAAI,YAAaA,EAAQtC,WAAY,CACjC,IAMMzoF,EANiB2oF,GAAuBgB,UAC1CoB,EAAQtC,WAAWuC,WAjTxB,MACA,GAqT0C9zF,KAAI,SAAC+zF,GAC1C,OAAOA,EAAcxC,UACzB,IAEA,OACI,gBAAC,UAAoB,CACjBj2F,IAAK,kBAAWu4F,EAAQtC,WAAWuC,YACnCjrF,UAAWgrF,EAAQtC,WAAWuC,WAC9BnrF,IAAKkrF,EAAQxC,SAASC,YAAY,GAClC5oF,IAAKmrF,EAAQxC,SAASC,YAAY,GAClCxoF,kBAAmBA,EACnBF,eAAgB0pF,GAChBvpF,aAAcuF,GAAOyjF,KAAO,IAGxC,CAEA,OA5IiB,SAACR,G,QAC9B,OAAQA,EAAW3lG,MACf,IAAK,qBACD,OACI,gBAAC,UAAsB,CACnB0P,IAAI,qBACJ45B,SAAU,EAAA+c,cAActlC,QACxBjE,IAAK6oF,EAAWt1D,MAAMvzB,IACtBC,IAAK4oF,EAAWt1D,MAAMtzB,IACtBwpC,UAAWo/C,EAAWt1D,MAAMkW,YAIxC,IAAK,mBACD,OACI,gBAAC,UAAsB,CACnB72C,IAAI,mBACJ45B,SAAU,EAAA+c,cAAcvlC,MACxBhE,IAAK6oF,EAAWt1D,MAAMvzB,IACtBC,IAAK4oF,EAAWt1D,MAAMtzB,IACtBwpC,UAAWo/C,EAAWt1D,MAAMkW,YAIxC,IAAK,iBACO,IAAAhpC,EAAaooF,EAAU,SAIzBgjD,EAAc,CAChB1qJ,MAHwBsf,EAASE,oBAGN,EAAAH,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SACvE8Q,IAAK,mBAAY6N,EAAStU,GAAE,YAAIsU,EAASlJ,MAAK,YAAIkJ,EAAStU,IAC3DxL,UAAWf,EAAG,YACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,UAG5B,OAAQ50B,EAASvd,MACb,KAAK,EAAA0d,aAAaG,cACd,OAAO,gBAAC,UAAsB,GAACmxC,UAAW,EAAA3I,cAActlC,SAAa4nI,IAEzE,KAAK,EAAAjrI,aAAaC,YACd,OAAO,gBAAC,UAAsB,GAACqxC,UAAW,EAAA3I,cAAcvlC,OAAW6nI,IAEvE,KAAK,EAAAjrI,aAAaK,gBACd,OAAO,gBAAC,UAAsB,GAACixC,UAAW,MAAU25F,IAExD,KAAK,EAAAjrI,aAAaa,YACd,OAAO,gBAAC,UAAuB,GAACywC,UAAW,EAAA3I,cAActlC,SAAa4nI,IAE1E,KAAK,EAAAjrI,aAAae,UACd,OAAO,gBAAC,UAAuB,GAACuwC,UAAW,EAAA3I,cAAcvlC,OAAW6nI,IAExE,KAAK,EAAAjrI,aAAaiB,cACd,OAAO,gBAAC,UAAuB,GAACqwC,UAAW,MAAU25F,IAEzD,KAAK,EAAAjrI,aAAaQ,aAClB,KAAK,EAAAR,aAAaO,eACd,OAAO,gBAAC,UAAgB,KAAK0qI,IAEjC,KAAK,EAAAjrI,aAAaS,aAGlB,KAAK,EAAAT,aAAaU,YAClB,KAAK,EAAAV,aAAaW,uBAClB,QACI,OAAO,gBAAC,UAAiB,KAAKsqI,IAAeprI,EAASlJ,OAAS,GAAK,GAIhF,QACI,OAAO,KAGnB,CAkEuBg0F,CAAyBJ,EAAQtC,WAC5C,KAEHmiD,IACG,gBAAC,UAAQ,CACLp4I,IAAI,2BACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAwD,QAAvC,EAA4B,QAA5B,EAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SAC1DhgD,UAAWqiG,GAAyBt+I,KACpCvL,MAAO,EAAAwqG,kBAAkBC,YACzBE,OAAQ,IAGfm/C,IACG,gBAAC,UAAQ,CACLr4I,IAAI,yBACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAwD,QAAvC,EAA4B,QAA5B,EAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SAC1DhgD,UAAWsiG,GAAuBv+I,KAClCvL,MAAO,EAAAwqG,kBAAkBC,YACzBE,OAAQ,IAGfo/C,IACG,gBAAC,UAAQ,CACLt4I,IAAI,uBACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAwD,QAAvC,EAA4B,QAA5B,EAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SAC1DhgD,UAAWuiG,GAAqBx+I,KAChCvL,MAAO,EAAAwqG,kBAAkBC,YACzBE,OAAQ,IAGfq/C,IACG,gBAAC,UAAQ,CACLv4I,IAAI,+BACJ0E,IAAgC,QAA3B,EAAA2wF,GAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,GAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAwD,QAAvC,GAA4B,QAA5B,EAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,eAAE61D,iBAAS,iBAAE/C,SAC1DhgD,UAAWwiG,GAA6Bz+I,KACxCvL,MAAO,EAAAwqG,kBAAkBC,YACzBE,OAAQ,IAGfs/C,IACG,gBAAC,UAAQ,CACLx4I,IAAI,8BACJ0E,IAAgC,QAA3B,GAAA2wF,GAAiBpyD,kBAAU,iBAAEv+B,IAClCuyF,KAAiC,QAA3B,GAAA5B,GAAiBpyD,kBAAU,iBAAEg0D,KACnC4B,gBAAwD,QAAvC,GAA4B,QAA5B,GAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,iBAAE61D,iBAAS,iBAAE/C,SAC1DhgD,UAAWyiG,GAA4B1+I,KACvCvL,MAAO,EAAAwqG,kBAAkBC,YACzBE,OAAQ,IAGhB,gBAAC,UAAQ,CACLx0F,IAAgC,QAA3B,GAAA2wF,GAAiBpyD,kBAAU,iBAAEv+B,IAClCuyF,KAAiC,QAA3B,GAAA5B,GAAiBpyD,kBAAU,iBAAEg0D,KACnCzjE,MAAOwhE,GACPzmG,MAAO,EAAAwqG,kBAAkBE,UACzBC,OAAQ,IAEZ,gBAAC,UAAQ,CACLx0F,IAAgC,QAA3B,GAAA2wF,GAAiBpyD,kBAAU,iBAAEv+B,IAClCuyF,KAAiC,QAA3B,GAAA5B,GAAiBpyD,kBAAU,iBAAEg0D,KACnCzjE,MAAOmhE,GACPpmG,MAAO,EAAAwqG,kBAAkBE,UACzBC,OAAQ,IAEZ,gBAAC,UAAQ,CACLx0F,IAAgC,QAA3B,GAAA2wF,GAAiBpyD,kBAAU,iBAAEv+B,IAClCuyF,KAAiC,QAA3B,GAAA5B,GAAiBpyD,kBAAU,iBAAEg0D,KACnCxB,aAAcqa,KAI9B,IAEA,UAAeqoC,C,0cC7bf,kBACA,cAEA,cACA,WACA,cAEMnrJ,EAAK,UAAWC,KAAK,WA4B3B,UAtB0C,SAACI,GAC/B,IAAAiiE,EAAgBjiE,EAAK,YAEvB,IAAgC,UAAMqE,SAAwB,MAAK,GAAlE8sB,EAAW,KAAE06H,EAAc,KAYlC,OAVA,UAAM3gJ,WAAU,WACZ,IAAM4gJ,GAAoB,IAAA3V,kBAAiBl0E,GAAe,IAEtD9wC,KAAgB26H,aAAiB,EAAjBA,EAAmBplI,UACnCmlI,GAAeC,aAAiB,EAAjBA,EAAmBplI,UAAW,KAIrD,GAAG,CAACu7C,IAEC9wC,EAIE,wBAAC,UAAQ,CAACA,YAAaA,IAHnB,+BAAKzwB,UAAWf,EAAG,eAIlC,C,umDCUS,EAAAosJ,mBAJT,SAA6Bp/I,G,kDACzB,UAAM,IAAAY,WAAU,EAAAqyH,sBAAsB38H,MA3B/B,SAAWU,G,8DAGd,OAFQN,EAAcM,EAAOklB,QAAO,UAEpC,IAAM,IAAA/b,MACF,IAAA+yH,4BAA2B,CACvBx8H,UAAS,M,OAKb,OAPJ,SAOI,GAAM,UAAkBoxB,oBAAoBpxB,I,cAD1C,kBACF,SAAsD,IADnDU,EAAK,KAAE0I,EAAI,KAGd1I,EACA,IAAM,IAAA+I,MAAI,IAAAizH,4BAA2B,CAAEh8H,MAAK,EAAEV,UAAS,MADvD,M,qBAKJ,S,WAAA,UAAM,IAAAyJ,MACF,IAAAgzH,8BAA6B,CACzBz8H,UAAS,EACToJ,KAAI,M,sBAOhB,S,SAxCJ,eACA,WAQA,a,q7BCTA,kBAEA,cACA,aACA,WAOMylI,EAAc,eAEdvyI,EAAK,UAAWC,KAAK,WAErBosJ,EAAqClsJ,EAAMC,MAAK,SAACC,GAC3C,IAAA+Z,EAAS/Z,EAAK,KAEtB,OACI,2BACI,uBAAKU,UAAWf,EAAG,UAAU,IAAAypF,YAAW8oD,GAAa,IAAA//C,mBAAkBp4E,aAAI,EAAJA,EAAMuiC,eAC7E,uBAAK57C,UAAWf,EAAG,UAAU,IAAAypF,YAAW8oD,GAAa,IAAA//C,mBAAkBp4E,aAAI,EAAJA,EAAMkyI,eAGzF,IAEA,UAAeD,C,67CC1Bf,kBACA,WAMME,EAA4B,SAAClsJ,GACvB,IAAAoW,EAAkBpW,EAAK,KAAdk5C,EAAI,EAAKl5C,EAApB,UAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAAgB6nC,GACvF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAK,UACL+E,EAAE,qLAKtB,EAEA26I,EAAQp6I,YAAc,UAEtB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,mBAGD,EAAAtE,WAAAA,EACT,UAAem6I,C,gTCff,IAAMC,EAAkB,WAAsB,OAC1C1oJ,SAAS,EACTI,SAAS,EACTE,MAAO,KACPG,IAAI,EACJiuC,KAAiCuyB,KAAKD,MALI,EAQxCjhE,EAAqC,CACvC,WAAIC,GACA,OAAO,EAAP,KACO0oJ,KAAiB,CACpBh6G,KAAM,EACN1uC,SAAS,GAEjB,EACA,WAAII,GACA,OAAO,EAAP,KACOsoJ,KAAiB,CACpBtoJ,SAAS,GAEjB,EACA,MAAIK,GACA,OAAO,EAAP,KACOioJ,KAAiB,CACpBjoJ,IAAI,GAEZ,EACAF,SAAU,SAACD,GAAiB,cACrBooJ,KAAiB,CACpBpoJ,MAAK,GAFmB,GAMhC,UAAeP,C,y3BCjDf,eACA,cAOM4oJ,EAA6B,SAACpsJ,GACxB,IAAAU,EAAyBV,EAAK,UAAnB2B,EAAc3B,EAAK,UAEtC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,YAAY3Q,UAAWA,GAC1F,wBACI8L,KAAM7K,EACN2P,SAAS,UACTC,EAAE,qgBAIlB,EAEA66I,EAASt6I,YAAc,WAEvB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAeq6I,C,u9BC7Bf,kBACA,cACA,aAEA,cAEMzsJ,EAAK,UAAWC,KAAK,WAOrBysJ,EAA6CvsJ,EAAMC,MAAK,SAACC,GACnD,IAAAU,EAAwBV,EAAK,UAAlB4O,EAAa5O,EAAK,SAErC,OAAO,uBAAKU,WAAW,aAAGf,EAAG,eAAgBe,IAAakO,EAC9D,IAES,EAAAy9I,yBAAAA,C,q7BCnBT,kBACA,cAEA,cACA,WACA,cAEM1sJ,EAAK,UAAWC,KAAK,WAMrB0sJ,EAAwDxsJ,EAAMC,MAAK,SAACC,GAC9D,IAAAytB,EAAiBztB,EAAK,aAE9B,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,mDACRE,WAAY,CACRkd,aAAc,gBAAC,UAAY,CAACA,aAAcA,OAK9D,IAEA,UAAe6+H,C,y+CC5Bf,kBACA,WAEA,cACA,cACA,WACA,WACA,WACA,aACA,cACA,cACA,WACA,cAEA,cACA,cACA,cACA,cACA,WACA,cACA,WACA,cACA,WACA,UAKA,cAEM3sJ,EAAK,UAAWC,KAAK,WAQd,EAAA2sJ,yBAAsB,MAC9B,EAAA7sJ,WAAWqkE,YAAa,G,GAG7B,IAAMyoF,EAA2D1sJ,EAAMC,MAAK,SAACC,G,MACjEstB,EAAmCttB,EAAK,UAA7ByO,EAAwBzO,EAAK,SAAnBU,EAAcV,EAAK,UAExCa,GAAM,IAAAC,kBAAgB,EAExB,KAAsC,IAAAuD,UAAwB,MAAK,GAAlEooJ,EAAc,KAAEC,EAAiB,KAElCxjG,GAAkB,IAAAlzC,aAAY,EAAAizC,uBAC9BH,GAAuB,IAAA9yC,aAAY,EAAA6yC,4BAEnCG,GAAoB,IAAAhzC,aAAY,EAAA+yC,yBAEhC4jG,EAAe7jG,EAAqBjlD,QACpC+oJ,EAAiB5jG,aAAiB,EAAjBA,EAAmB+a,WAEpCngB,EAAW9jD,EAAMkG,aACnB,SAAC8U,GACG,OAAO,aAAaja,EAAGia,EAC3B,GACA,CAACja,IAGC,IAAiCf,EAAM0E,SAAQ,W,MAC3CsW,EAAS,EAAH,KACL,EAAAyxI,0BAAsB,MACxB,EAAA7sJ,WAAWqkE,aAAa,IAAA8oF,uBAAsBD,IAAmB,GAAE,IAKxE,MAAO,CAAC9xI,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAAC8xI,IAAgB,GAVbpyI,EAAa,KAAEupC,EAAa,KAY7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbsyI,gBAAc,KACV,EAAC,EAAAptJ,WAAWqkE,aAAa,E,GAE7BngB,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACfuS,EAAU,CACNy2C,YAAY,IAAAxrC,mBAAkBzd,EAAO,EAAApb,WAAWqkE,cAAgB,IAGpEhpD,EAAcI,WAAW,CAAC,EAC9B,IAGEnM,EAAY85C,EAAqBjlD,QAEvC,OACI,wBAAMgX,SAAUJ,EAAOiB,aAAchb,UAAWA,GAC5C,uBAAKA,UAAWf,EAAG,SACdgtJ,EACG,uBAAKjsJ,UAAWf,EAAG,0BAEnB,gCACK8sJ,EACG,gCACI,gBAAC,UAAW,CACR/rJ,UAAWf,EAAG,QAAS,sBACvBiZ,KAAM,EAAAlZ,WAAWqkE,WACjBhgE,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWqkE,YAChCloD,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWqkE,YACrChoD,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBuoC,cAAY,IAEX,SAACvkD,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWqkE,WACjB9+D,MAAOwV,EAAOK,OAAO,EAAApb,WAAWqkE,YAChC+uB,KAAM,EACNiR,SAAU,EAAAlrF,aAAamrF,iBACvBlnF,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAVd,IAchB,uBAAKzE,UAAWf,EAAG,iBACf,gBAAC,UAAkB,CACf8B,QAAS,WACLgZ,EAAOsB,cAAc,EAAArc,WAAWqkE,WAAY0oF,GAC5CC,EAAkB,KACtB,EACAhrJ,SAAU,gBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqBkS,YACrDhS,gBAAiB,EAAAC,oBAAoB2xG,uBAEzC,gBAAC,UAAkB,CACfjyG,QAAS,WACDgZ,EAAOmB,OAAO,EAAAlc,WAAWqkE,aAI7B2oF,EAAkB,KACtB,EACAhrJ,SACI,gBAAC,UAAQ,CACL0U,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,cAGxCpS,gBAAiB,EAAAC,oBAAoB2xG,yBAKjD,gCACI,uBAAKhzG,UAAWf,EAAG,gBACf,gBAAC,UAAK,CACFiX,QAAQ,IAAA2hB,mBAAkB9d,EAAOK,OAAO,EAAApb,WAAWqkE,aACnDjtD,SAAU,EAAAC,aAAaC,OAG/B,uBAAKtW,UAAWf,EAAG,iBACf,gBAAC,UAAkB,CACf8B,QAAS,WACLirJ,EAAkBjyI,EAAOK,OAAO,EAAApb,WAAWqkE,YAC/C,EACAriE,SACI,gBAAC,UAAQ,CACL0U,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C3U,gBAAiB,EAAAC,oBAAoB2xG,2BAQjE,uBAAKhzG,UAAWf,EAAG,SACf,uBAAKe,UAAWf,EAAG,YACf,gBAAC,UAAwB,CAAC8X,WAAYuxC,KAEzCh6C,GACG,uBAAKtO,UAAWf,EAAG,sBACf,uBAAKe,UAAWf,EAAG,qBACnB,uBAAKe,UAAWf,EAAG,WACf,gBAAC,UAAkB,CAACopB,UAAQ,GAAEloB,EAAE,yCAMhD,uBAAKH,UAAWf,EAAG,YACf,gBAAC,UAAM,CACHe,UAAWf,EAAG,UACduB,MAAO,EAAA2N,gBAAgBC,UACvB7L,KAAK,SACLxB,QAASgN,EACT9N,aAAa,UAEZE,EAAE,yCAEP,gBAAC,UAAM,CACHwE,WAAYyjD,EAAqBjlD,SAAWqlD,EAAgBrlD,QAC5DnD,UAAWf,EAAG,UACduB,MAAO,EAAA2N,gBAAgB8O,QACvB1a,KAAK,SACL+L,UAAWk6C,EAAgBrlD,QAC3BlD,aAAa,OAEZE,EAAE,uCAKvB,IAEA,UAAe2rJ,C,+BC7Nf,WAAgB,GAAK,qBAAqB,OAAS,yBAAyB,SAAW,2B,q7BCDvF,kBACA,cAEA,cACA,cACA,WAEM7sJ,EAAK,UAAWC,KAAK,WAOrBmtJ,EAAkCjtJ,EAAMC,MAAK,SAACC,GACxC,IAAAm+H,EAAwBn+H,EAAK,WAAjBuY,EAAYvY,EAAK,QAErC,OACI,uBACIU,UAAWf,EAAG,SAAU,CACpB,qBAAsBw+H,EACtB,sBAAuBA,KAG3B,gBAAC,UAAuB,CAACx8H,UAAW,EAAAC,qBAAqBI,QACxDuW,GAAW,uBAAK7X,UAAWf,EAAG,YAAa4Y,GAGxD,IAEA,UAAew0I,C,y/CC9Bf,kBACA,YACA,cACA,cAOMC,EAAwCltJ,EAAMC,MAAK,SAACC,GAC9C,IAAAqC,EAA2BrC,EAAK,SAAnBusB,EAAS,EAAKvsB,EAA7B,cAEFitJ,EAAgC,EAAAr5I,0BAA0B1B,OAQ9D,OAPI,aAAU7P,IAAaA,IACvB4qJ,EAAY,EAAAr5I,0BAA0BK,UAEtC,aAAU5R,KAAcA,IACxB4qJ,EAAY,EAAAr5I,0BAA0B1B,QAItC,gBAAC,UAAS,GAACqC,UAAQ,EAACD,eAAa,GAAKiY,EAAS,CAAErrB,MAAO+rJ,IACpD,gBAAC,UAAoB,CAAC5qJ,SAAUA,IAG5C,IAEA,UAAe2qJ,C,04BC5Bf,kBACA,WACA,WAOa,EAAAE,4BAAyB,MACjC,EAAAh8G,mBAAmBC,KAAM,yBAC1B,EAAC,EAAAD,mBAAmBE,QAAS,4B,GAGjC,IAAM+7G,EAAwCrtJ,EAAMC,MAAK,SAACC,GAC9C,IAAAotJ,EAAeptJ,EAAK,WAEpBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKssJ,EAIE,4BAAOvsJ,EAAE,EAAAqsJ,0BAA0BE,KAH/B,IAIf,IAEA,UAAeD,C,q7BC1Bf,kBAEA,aACA,cACA,cAEA,cACA,cACA,WACA,cACA,UACA,WACA,WACA,WACA,cAGA,cAOMxtJ,EAAK,UAAWC,KAAK,WAErBytJ,EAA2E,CAC7EC,QAAS,EAAAjlI,gBAAgB6C,QACzBqiI,QAAS,EAAAllI,gBAAgBC,QACzBklI,OAAQ,EAAAnlI,gBAAgBpb,QAGtBwgJ,EAAwE,CAC1E7b,GAAI,kCACJH,WAAY,0CACZtvF,SAAU,wCACVwvF,MAAO,qCACPD,MAAO,sCAGLgc,EAAgC5tJ,EAAMC,MAAK,SAACC,GACtC,IAAA2uD,EAAuB3uD,EAAK,QAAnBU,EAAcV,EAAK,UAE5Ba,GAAM,IAAAC,kBAAgB,EAEtB6sJ,EACJh/F,EAAO,aADWtmB,EAClBsmB,EAAO,UADsBi/F,EAC7Bj/F,EAAO,YADmCk/F,EAC1Cl/F,EAAO,aADiDm/F,EACxDn/F,EAAO,gBADkEo/F,EACzEp/F,EAAO,eADkFziD,EACzFyiD,EAAO,GADsFv+B,EAC7Fu+B,EAAO,YAELq/F,EAAkB,UAAGJ,EAAW,YAAIG,GAEpCvsH,GAAkB,IAAAC,sBAElBoyE,EAAkB,WACpB,GAAKxrE,EAAL,CAKA,IAAM/kC,EAAc+pJ,EAAej9H,EAAY,IAC1C9sB,EAKLk+B,EAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAW6I,EACX5I,YAAW,EACX+kC,UAAS,KART,IAAA3T,YAAW,iDAJf,MAFI,IAAAA,YAAW,+CAgBnB,EAEA,OACI,uBAAKh0B,WAAW,aAAGf,EAAG,gBAAiBe,IAClC2nC,GACG,gBAAC,UAAO,CACJhnC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACzD,uBAAKd,UAAWf,EAAG,YACf,uBAAKe,UAAWf,EAAG,oBACf,gBAAC,UAAM,CAACe,UAAWf,EAAG,UAAW62D,KAAMw3F,KAE3C,uBAAKttJ,UAAWf,EAAG,kBACf,uBAAKe,UAAWf,EAAG,uBAAwBquJ,GAC1CF,GACG,uBAAKptJ,UAAWf,EAAG,kBAAmBkB,EAAE4sJ,EAAYK,OAErDH,GACC,gBAAC,UAAI,CACDzlI,GAAI,iBAAUylI,GACdzsJ,MAAO,EAAA8mB,cAAcimI,gBACrB73I,KAAM,EAAA8uG,aAAalhC,OACnBkqE,YAAU,GAETP,MAOzB5sJ,SAAU,EAAAC,oBAAoB0B,WAC9BxB,MAAO,EAAAC,iBAAiBC,QAEvB,WAAM,OACH,gBAAC,UAAa,CACVK,QAASoyG,EACTnzG,UAAWf,EAAG,aACduB,MAAO,EAAA8mB,cAAcC,cACrB7R,KAAM,EAAA8uG,aAAalhC,QAElBgqE,EAPF,IAYf,uBAAKttJ,UAAWf,EAAG,UAAWkuJ,GAG1C,IAEA,UAAeH,C,yECxHf,eACA,WAsCA,UApCiC,SAACp0I,GAiC9B,MAhC0C,CACtCV,MAAM,IAAAorC,uBAAsB1qC,EAAW,EAAA5Z,WAAWkZ,OAClDyvC,YAAa/uC,EAAW,EAAA5Z,WAAW2oD,mBAAgB/hD,EACnDgtE,MAAOh6D,EAAW,EAAA5Z,WAAWyuJ,UAAY,GAEzC53C,aAAc,CACV7vF,QAAUpN,EAAW,EAAA5Z,WAAW0uJ,+BAA6C9nJ,EAC7E6hD,SAAS,IAAAnE,uBAAsB1qC,EAAW,EAAA5Z,WAAW2uJ,sBACrDjmG,MAAM,IAAApE,uBAAsB1qC,EAAW,EAAA5Z,WAAW4uJ,mBAClDrmG,SAAS,IAAAjE,uBAAsB1qC,EAAW,EAAA5Z,WAAW6uJ,sBACrDrmG,SAAS,IAAAlE,uBAAsB1qC,EAAW,EAAA5Z,WAAW8uJ,uBAGzDC,cAAe,CACX/nI,QAAUpN,EAAW,EAAA5Z,WAAWgvJ,gCAA8CpoJ,EAC9E6hD,SAAS,IAAAnE,uBAAsB1qC,EAAW,EAAA5Z,WAAWivJ,uBACrDvmG,MAAM,IAAApE,uBAAsB1qC,EAAW,EAAA5Z,WAAWkvJ,oBAClD3mG,SAAS,IAAAjE,uBAAsB1qC,EAAW,EAAA5Z,WAAWmvJ,uBACrD3mG,SAAS,IAAAlE,uBAAsB1qC,EAAW,EAAA5Z,WAAWovJ,wBAGzDC,eAAgB,CACZroI,QAAUpN,EAAW,EAAA5Z,WAAWsvJ,iCAA+C1oJ,EAC/E6hD,SAAS,IAAAnE,uBAAsB1qC,EAAW,EAAA5Z,WAAWuvJ,wBACrD7mG,MAAM,IAAApE,uBAAsB1qC,EAAW,EAAA5Z,WAAWwvJ,qBAClDjnG,SAAS,IAAAjE,uBAAsB1qC,EAAW,EAAA5Z,WAAWyvJ,wBACrDjnG,SAAS,IAAAlE,uBAAsB1qC,EAAW,EAAA5Z,WAAW0vJ,yBAGzDC,aAAc/1I,EAAW,EAAA5Z,WAAW2vJ,cAI5C,C,+BCrCA,WAAgB,MAAQ,uBAAuB,OAAS,wBAAwB,SAAW,0B,k4BCD3F,kBACA,WACA,WAOa,EAAAC,oBAAiB,MACzB,EAAAv6F,mBAAmBw6F,iBAAkB,sCACtC,EAAC,EAAAx6F,mBAAmBlxD,SAAU,6BAC9B,EAAC,EAAAkxD,mBAAmBtvB,WAAY,gCAChC,EAAC,EAAAsvB,mBAAmBy6F,WAAY,+BAChC,EAAC,EAAAz6F,mBAAmBrvB,WAAY,+BAChC,EAAC,EAAAqvB,mBAAmBpvB,UAAW,8B,GAGnC,IAAM8pH,EAA+B3vJ,EAAMC,MAAK,SAACC,GACrC,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAAyuJ,kBAAkBlmI,IAHhB,IAIf,IAEA,UAAeqmI,C,yEC9Bf,eACA,WACA,WAiEA,UA/DyB,SAACv1I,G,YAChBY,IAAM,MACP,EAAApb,WAAWynB,QAAQjN,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBhjC,SAAU,GAClE,EAAC,EAAAznB,WAAW0nB,cAAclN,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB/iC,eAAgB,GAC9E,EAAC,EAAA1nB,WAAWgnB,UAAUxM,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBzjC,WAAY,GACtE,EAAC,EAAAhnB,WAAW+xC,gBAAgBv3B,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB1Y,iBAAkB,GAClF,EAAC,EAAA/xC,WAAWwlC,aAAahrB,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBjlB,cAAe,GAC5E,EAAC,EAAAxlC,WAAW+tB,eAAevT,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB18B,gBAAiB,GAChF,EAAC,EAAA/tB,WAAW0pB,SAASlP,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB/gC,UAAW,GACpE,EAAC,EAAA1pB,WAAW0d,aAAc,KAC1B,EAAC,EAAA1d,WAAWgwJ,0BAA2B,KACvC,EAAC,EAAAhwJ,WAAWogG,iBAAkB,KAC9B,EAAC,EAAApgG,WAAWggG,kBAAkBxlF,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBu1C,mBAAoB,GACtF,EAAC,EAAAhgG,WAAWmgG,oBAAoB3lF,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB01C,qBAAsB,GAC1F,EAAC,EAAAngG,WAAWqgG,qBAAqB7lF,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB41C,sBAAuB,GAC5F,EAAC,EAAArgG,WAAWsgG,uBAAuB9lF,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB61C,wBAAyB,G,GA6CpG,OA1CI9lF,EAAa,EAAAiwC,qBAAqBoiD,mBAClCzxF,EAAO,EAAApb,WAAW0d,aAAe,CAC7Bka,MAAM,IAAAq4H,oBAAmBz1I,EAAa,EAAAiwC,qBAAqBoiD,kBAC3DrkF,GAAI,OAIRhO,EAAa,EAAAiwC,qBAAqBsiD,iBAClC3xF,EAAO,EAAApb,WAAW0d,aAAe,CAC7Bka,KAAoC,QAA9B,EAAAxc,EAAO,EAAApb,WAAW0d,oBAAY,eAAEka,KACtCpP,IAAI,IAAAynI,oBAAmBz1I,EAAa,EAAAiwC,qBAAqBsiD,kBAI7DvyF,EAAa,EAAAiwC,qBAAqBylG,+BAClC90I,EAAO,EAAApb,WAAWgwJ,0BAA4B,CAC1Cp4H,MAAM,IAAAq4H,oBAAmBz1I,EAAa,EAAAiwC,qBAAqBylG,8BAC3D1nI,GAAI,OAIRhO,EAAa,EAAAiwC,qBAAqB0lG,6BAClC/0I,EAAO,EAAApb,WAAWgwJ,0BAA4B,CAC1Cp4H,KAAiD,QAA3C,EAAAxc,EAAO,EAAApb,WAAWgwJ,iCAAyB,eAAEp4H,KACnDpP,IAAI,IAAAynI,oBAAmBz1I,EAAa,EAAAiwC,qBAAqB0lG,8BAI7D31I,EAAa,EAAAiwC,qBAAqB2lG,sBAClCh1I,EAAO,EAAApb,WAAWogG,iBAAmB,CACjCxoE,MAAM,IAAAq4H,oBAAmBz1I,EAAa,EAAAiwC,qBAAqB2lG,qBAC3D5nI,GAAI,OAIRhO,EAAa,EAAAiwC,qBAAqB4lG,oBAClCj1I,EAAO,EAAApb,WAAWogG,iBAAmB,CACjCxoE,KAAwC,QAAlC,EAAAxc,EAAO,EAAApb,WAAWogG,wBAAgB,eAAExoE,KAC1CpP,IAAI,IAAAynI,oBAAmBz1I,EAAa,EAAAiwC,qBAAqB4lG,qBAI1Dj1I,CACX,C,+BChEA,WAAgB,OAAS,oCAAoC,yBAAyB,oDAAoD,qCAAqC,gEAAgE,oBAAoB,+CAA+C,OAAS,oCAAoC,MAAQ,mCAAmC,oBAAoB,+CAA+C,MAAQ,mCAAmC,QAAU,qCAAqC,OAAS,oCAAoC,SAAW,sC,67CCD/lB,kBACA,WAOMk1I,EAAkC,SAAChwJ,GAC7B,IAAA2B,EAA4B3B,EAAK,UAAnBusB,EAAS,EAAKvsB,EAA9B,eAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,MAASygB,GAC/D,qBAAG/f,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,mYAKtB,EAEAy+I,EAAcl+I,YAAc,gBAE5B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqB6U,WAG3B,EAAA1E,WAAAA,EACT,UAAei+I,C,q7BC/Bf,kBACA,cACA,aAEA,cACA,cACA,WAEA,WACA,WACA,cACA,YACA,cACA,WACA,WAEMrwJ,EAAK,UAAWC,KAAK,WAarBqwJ,EAAqB,GAAK,EAAA9wG,WAE1B+wG,EAA2CpwJ,EAAMC,MAAK,SAACC,GACjD,IAAAU,EAA+DV,EAAK,UAAzDoP,EAAoDpP,EAAK,QAAhDqkC,EAA2CrkC,EAAK,YAAnCqqF,EAA8BrqF,EAAK,aAArBspC,EAAgBtpC,EAAK,YAEpEa,GAAM,IAAAC,kBAAgB,EAExBmpF,EAAOnqF,EAAM0E,SAAQ,WAAM,OAAA4K,aAAO,EAAPA,EAAS66E,OAAQ,EAAjB,GAAqB,CAAC76E,IAMjD+gJ,EAJYrwJ,EAAM0E,SAAQ,WAC5B,OAAO,IAAA4rJ,yBAAwBnmE,EACnC,GAAG,CAACA,IAEuB,EAAAomE,oBAAoB3pB,UAEzCt3D,EAAWhgE,aAAO,EAAPA,EAASk6E,UACpBgnE,GAAW,IAAAC,aAAYnhF,GACvBn9C,EAAoB,OAAbq+H,EAAoBA,EAAW,KAEtCE,GAAa,aAASv+H,IAAQ,IAAAw+H,WAAUx+H,GAAQ,KAEhD2qF,EAAgB4zC,GAAa,IAAAE,YAAW7vJ,EAAG2vJ,GAAc,KAE/D,OAAKphJ,EAyBD,uBAAK1O,WAAW,aAAGf,EAAG,aAAce,IAChC,gBAAC,UAAW,CAACA,UAAWf,EAAG,iBACvB,gBAAC,UAAM,CACHgT,IAAK,EAAAg2E,mBAAmBv5E,QACxBlO,MAAO,EAAA2N,gBAAgB6E,YACvBjS,QAAS,WACL4iC,EAAY,EAAAskD,mBAAmBv5E,QACnC,EACAkE,UAAWg2B,IAAgB,EAAAq/C,mBAAmBv5E,SAE7CvO,EAAE,8CAEP,gBAAC,UAAM,CACH8R,IAAK,EAAAg2E,mBAAmBsB,KACxB/oF,MAAO,EAAA2N,gBAAgB6E,YACvBjS,QAAS,WACL4iC,EAAY,EAAAskD,mBAAmBsB,KACnC,EACA32E,UAAWg2B,IAAgB,EAAAq/C,mBAAmBsB,KAC9CvoF,SACIyuJ,EACI,gBAAC,UAAS,CAAC77I,eAAa,EAACpT,MAAO,EAAAyS,mBAAmBrB,OAAQ+B,WAAS,GAChE,wBAAM3T,UAAWf,EAAG,UAAWwwJ,IAEnC,MAGPtvJ,EAAE,4CAhDM,SAACoxB,GACtB,OAAa,OAATA,GAAkBo4D,EAIlBp4D,EAAO,EACA,KAIP,uBACIvxB,UAAWf,EAAG,SAAU,CACpB,sBAAsB,aAASsyB,IAASA,GAAQg+H,KAGpD,uBAAKvvJ,UAAWf,EAAG,SAAUi9G,GAC7B,uBAAKl8G,UAAWf,EAAG,YAAakB,EAAE,qDAd/B,IAiBf,CAgCS8vJ,CAAiB1+H,IAtDf,IAyDf,IAEA,UAAei+H,C,24BChHf,kBACA,WACA,WACA,WASA,UACA,aACA,cACA,cACA,WACA,cACA,WAwIA,UAAe,UAAMnwJ,MApGJ,SAAKC,GACV,IAAA4wJ,EAAwE5wJ,EAAK,qBAAvD6wJ,EAAkD7wJ,EAAK,4BAA1B8wJ,EAAqB9wJ,EAAK,iBAE/E,KAA0C,IAAA4+F,eAC5C,EAAAsgB,qBAAqBC,YACrB,EAAAN,gBACH,GAHMI,EAAgB,KAAE8xC,EAAmB,KAKtC,KAA4C,IAAAnyD,eAC9C,EAAAsgB,qBAAqBG,aACrB,EAAAR,gBACH,GAHMO,EAAiB,KAAE4xC,EAAoB,KAKxCC,EAAyB,UAAMzsJ,SAAQ,W,MAGzC,MAAO,CACH2wE,kBAAmB,SAAC1oE,EAASoP,GACzBk1I,GACI,IAAAtyC,mBAAkBQ,EAAkB,EAAF,KAC3BxyG,GACAoP,IAGf,EACArb,QAAS,WACLuwJ,EAAoB,GACxB,EACA7wJ,SAdkB++G,EAAiBh9G,QAAU,IAA2B,QAAtB,gBAAKg9G,UAAiB,eAAE32C,uBAepE,WACIyoF,EAAoB9xC,EAAiB13D,MAAM,GAAI,GACnD,EACA,KACNxmD,SAAU,EAAAmwJ,oBAAoBrqF,KAEtC,GAAG,CAACo4C,EAAkB8xC,IAEhBI,EAA0B,UAAM3sJ,SAAQ,W,MAG1C,MAAO,CACH2wE,kBAAmB,SAAC1oE,EAASoP,GACzBm1I,GACI,IAAAvyC,mBAAkBW,EAAmB,EAAF,KAC5B3yG,GACAoP,IAGf,EACArb,QAAS,WACLwwJ,EAAqB,GACzB,EACA9wJ,SAdkBk/G,EAAkBn9G,QAAU,IAA4B,QAAvB,gBAAKm9G,UAAkB,eAAE92C,uBAetE,WACI0oF,EAAqB5xC,EAAkB73D,MAAM,GAAI,GACrD,EACA,KACNxmD,SAAU,EAAAmwJ,oBAAoB/0C,MAEtC,GAAG,CAACiD,EAAmB4xC,IAEjBI,KAAgB,aAASN,MACzB7xC,aAAgB,EAAhBA,EAAkBh9G,QAAS6uJ,IAAoB1xC,aAAiB,EAAjBA,EAAmBn9G,QAAS6uJ,GAG3EO,EAAqB,UAAM7sJ,SAAQ,WACrC,OAzFU,SAAKxE,GACnB,MAAO,CACH4wJ,qBAAsB,W,UAAC,kDAEnB,OAD0C,QAA3B,EAAA5wJ,aAAK,EAALA,EAAO4wJ,4BAAoB,oCAAMtT,IAAI,MAM7C,EAAA51E,2BAA0B,oBAAI41E,IAAI,GAC7C,EACAuT,4BAA6B,W,UAAC,kDAE1B,OADiD,QAAlC,EAAA7wJ,aAAK,EAALA,EAAO6wJ,mCAA2B,oCAAMvT,IAAI,MAMpD,EAAAh2E,kCAAiC,oBAAIg2E,IAAI,GACpD,EAER,CAoEegU,CAAU,CACbV,qBAAoB,EACpBC,4BAA2B,GAEnC,GAAG,CAACD,EAAsBC,IAEpBU,GAAkB,aAAKtyC,IAAqB,KAC5CuyC,GAAmB,aAAKpyC,IAAsB,KAEpD,OACI,gDACKgyC,GAAiB,wBAAC,UAAc,MAChCG,GACG,wBAAC,UAAO,GACJ5+I,IAAI,OACJlG,KAAM8kJ,EACNn7I,KAAMm7I,EAAgBE,gBAAkB,EAAAC,gBAAgBC,OAAS,EAAAD,gBAAgB9nG,SAC7EynG,EACAJ,IAGXO,GACG,wBAAC,UAAO,GACJ7+I,IAAI,QACJlG,KAAM+kJ,EACNp7I,KAAMo7I,EAAiBC,gBAAkB,EAAAC,gBAAgBC,OAAS,EAAAD,gBAAgB9nG,SAC9EynG,EACAF,IAKxB,G,q7BCxJA,kBACA,cACA,WACA,aACA,cACA,cACA,cACA,cACA,aAEA,cACA,WACA,WACA,UACA,cACA,WACA,WAIMS,EAAuC9xJ,EAAMC,MAAK,WAC9C,OAA6B,eAA3BsD,EAAS,YAAEC,EAAW,cAEtBuuJ,GAAgB,IAAAC,kBAAgB,YAEhCjxJ,GAAM,IAAAC,kBAAgB,EAYxB0gC,GAAkB,IAAAC,sBAgBxB,OACI,gBAAC,UAAiB,KACd,gBAAC,UAAS,CAACxhC,MAAOY,EAAE,6BACpB,gBAAC,UAAc,KACX,gBAAC,UAAM,KACH,gBAAC,UAAa,CAACZ,MAAOY,EAAE,2BAA4BN,UAAW,gBAAC,UAAuB,UAG/F,gBAAC,UAAiB,CAAC6tE,iBAlCE,SAACziE,EAAyB6jC,GACnD,GAAKA,EAAL,CAKA,IAAMxK,EAAM,EAAA7c,WAAW4pI,iBAAiBviH,GACxCqiH,EAAYlmJ,EAAOq5B,EAHnB,MAFI,IAAAtQ,YAAW,sCAMnB,EA0BmEmgB,kBAtBrC,SAAChvC,GACtBA,GAAWvC,GAAgBD,EAKhCm+B,EAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,EACTC,YAAW,EACXuC,OAAM,KARN,IAAA6uB,YAAW,kFAUnB,IAWQ,gBAAC,UAAQ,MAGrB,IAEA,UAAek9H,C,0XCnEf,eAiBA,UAf0B,SAACI,GACvB,IAAKA,EACD,MAAO,CAAC,KAAM,MAGZ,QAA0BA,EAAYp/B,MAAM,OAAS,GAAE,GAAtDq/B,EAAS,KAAEC,EAAU,KAEtBC,EAAwBzuG,OAAO5oC,OAAO,EAAAs3I,iBAC5C,OAAIH,GAAaE,EAAsB5sI,SAAS0sI,GACrC,CAACC,GAAc,KAAMD,GAGzB,CAACD,EAAa,KACzB,C,+BCdA,WAAgB,aAAa,yCAAyC,QAAU,sCAAsC,qBAAqB,iDAAiD,iBAAmB,+CAA+C,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,q7BCDjW,kBACA,WACA,aACA,WAMMK,EAAsDvyJ,EAAMC,MAAK,SAACC,GAC5D,IAAA4O,EAAa5O,EAAK,SAEpB2hC,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAEhC,OAAO,gBAAC,UAAyBkU,SAAQ,CAAC7wC,MAAO08B,GAAc/yB,EACnE,IAEA,UAAeyjJ,C,iVCjBf,eACA,WAEA,WACA,WAkDS,EAAApsF,sBAlBqB,SAC1B/rD,EACAm3B,EACAihH,GAEA,OAAO,EAAP,GACIC,cAAer4I,EAAa,EAAAiwC,qBAAqB3gB,kBAAeljC,GAlCvC,SAAC2pE,GAC9B,OAAQA,GACJ,KAAK,EAAAw2B,wBAAwBv9F,KACzB,MAAO,CACHkgB,OAAQ,EAAAstF,kBAAkBxtG,MAGlC,KAAK,EAAAu9F,wBAAwBC,KACzB,MAAO,CACHt9E,OAAQ,EAAAstF,kBAAkBhQ,MAGlC,KAAK,EAAAD,wBAAwBE,KACzB,MAAO,CACHv9E,OAAQ,EAAAstF,kBAAkB/P,MAGlC,KAAK,EAAAF,wBAAwBG,cACzB,MAAO,CACHx9E,OAAQ,EAAAstF,kBAAkB9P,eAGlC,QACI,MAAO,CAAC,EAGpB,CAWWkvB,CAAyB57G,EAAa,EAAAiwC,qBAAqB8lB,eAAa,CAE3ExwD,eAAe6yI,aAAqB,EAArBA,EAAuB7yI,qBAAiBnZ,EACvDoZ,cAAc4yI,aAAqB,EAArBA,EAAuB5yI,oBAAgBpZ,EAErD+qC,MAAM,IAAAs7D,qBAAoBt7D,IAElC,C,0XChDa,EAAAvC,8BACT,4EACS,EAAAisE,oCACT,kFACS,EAAAE,oCACT,kFACS,EAAAD,sCACT,oFAES,EAAAjsE,+BACT,6EACS,EAAAmsE,qCACT,mFACS,EAAAE,qCACT,mFACS,EAAAD,uCACT,oF,+BCnBJ,WAAgB,MAAQ,6BAA6B,kBAAkB,uCAAuC,OAAS,8BAA8B,SAAW,gC,67CCDhK,kBACA,WAQMq3C,EAA8B,SAACxyJ,GACzB,IAAA2B,EAAkC3B,EAAK,UAA5BoW,EAAuBpW,EAAK,KAAnBusB,EAAS,EAAKvsB,EAApC,sBAEN,OACI,yBAAKwB,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAAgBkb,GACpD,wBACIhb,EAAE,+LACF/E,KAAM7K,EACN2P,SAAS,YAIzB,EAEAkhJ,EAAU1gJ,YAAc,YAExB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBC,UAG3B,EAAAkQ,WAAAA,EACT,UAAeygJ,C,q7BC/Bf,kBACA,WACA,cACA,cACA,cACA,WACA,WACA,YACA,cACA,WAgBMC,EAAmD,UAAM1yJ,MAAK,SAACC,GACzD,IAAAyM,EAAgCzM,EAAK,KAA/BQ,EAA0BR,EAAK,QAAtBotC,EAAiBptC,EAAK,aAErCa,GAAM,IAAAC,kBAAgB,EAExBuC,GAAYoJ,aAAI,EAAJA,EAAMpJ,YAAa,KAC/BC,GAAcmJ,aAAI,EAAJA,EAAMnJ,cAAe,KAEnCqmC,GAAW,IAAA3zB,cAAY,IAAA4zB,uBAAsBvmC,IAC7ConC,GAAyB,IAAAz0B,cAAY,IAAA00B,wBAAuBrnC,IAElE,OAAKA,GAAcsmC,GAAal9B,EAK5B,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACPphB,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,0CAET,wBAAC,UAAc,CACX8oC,SAAUA,EACV+oH,aAAcjmJ,EAAKhG,MACnB2mC,aAAcA,EACd3C,uBAAwBA,EACxBkoH,gBAAiBrvJ,IAAgB,EAAA+kB,gBAAgBpb,YAhB1D,IAsBf,IAEA,UAAewlJ,C,2rFC7Df,kBAEA,cAEA,UAEA,cACA,WACA,cACA,WAKA,WACA,cACA,cAEA,cAEM9yJ,EAAK,UAAWC,KAAK,WA+J3B,UAnIiD,SAACI,GAE1C,IAAAU,EAcAV,EAAK,UAbLiF,EAaAjF,EAAK,MAZL0F,EAYA1F,EAAK,YAXL8c,EAWA9c,EAAK,SAVL4yJ,EAUA5yJ,EAAK,cATLqF,EASArF,EAAK,WARLwF,EAQAxF,EAAK,WAPLsF,EAOAtF,EAAK,OANLuF,EAMAvF,EAAK,QALLoF,EAKApF,EAAK,SAJLmF,EAIAnF,EAAK,WAHL8E,EAGA9E,EAAK,UAFL6yJ,EAEA7yJ,EAAK,oBADLuC,EACAvC,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExBiF,GAAgD,IAAAC,cAAY,qD,wEAG9D,OAFI7D,EAA0B,GAEzB2C,GAIc,IAAAoB,yBAAwBpB,GACvC,MACuB,GAAM,UAAkB89F,8BAA8B99F,IALtE,CAAC,EAAD,CAAC,KAAM,O,OAOd,OAFM+9F,EAAiB,SACjB,IAA8BA,EAAc,GAA3CiwD,EAAW,KAAEC,EAAY,KAC5BD,EACO,CAAC,EAAD,CAACA,EAAa,QAErBC,IACA5wJ,EAAU4wJ,G,cAGU,SAAM,UAAmBnwD,iC,OAEjD,GAFMI,EAAkB,SAClB,IAAgCA,EAAe,GAA9CgwD,EAAY,KAAEC,EAAa,KAC9BD,EACA,MAAO,CAAC,EAAD,CAACA,EAAc,OAEtBC,IACA9wJ,EAAU8wJ,G,iBAUlB,OANIL,GACAzwJ,EAAQqrH,QAAQ,CACZ50G,KAAM/X,EAAE,yBACRqL,GAAI,OAGL,CAAC,EAAD,CAAC,KAAM/J,I,SAEf,CAACtB,EAAGiE,EAAW+tJ,EAAqBD,IAEjCM,GAA2D,IAAAltJ,cAC7D,SAACQ,GACG,QAASA,EAAO0F,MAAO2mJ,aAAmB,EAAnBA,EAAqBttI,SAAS/e,EAAO0F,IAChE,GACA,CAAC2mJ,IAGCtsJ,GAAgB,IAAAP,cAAY,SAACQ,GAAoB,OAAAA,EAAOoS,MAAQ,EAAf,GAAmB,IAEpElS,GAA4B,IAAAC,uBAA+B,CAC7DZ,eAAc,EACdQ,cAAa,EACb2sJ,uBAAsB,EACtBtsJ,SAAU,CAAC,IAGTE,EAAe,SAACN,EAAoCd,GACtD,OAAKc,GAAUosJ,EACJ/xJ,EAAE,yBAGR2F,EAKD,+BAAK9F,UAAWf,EAAG,UAAWgT,IAAKnM,EAAO0F,IACtC,wBAAC,UAAY,CAAC0M,KAAMpS,EAAOoS,QALxB,mCAAMlT,GAAe,KAQpC,EAEMytJ,EAAe,SAACluJ,GAClB6X,EAAS7X,EACb,EAIMgC,GAAc,IAAAjB,cAAY,WACxBT,GACAA,IAGJmB,EAA0BQ,WAE9B,GAAG,CAAC3B,EAASmB,EAA0BQ,YAEvC,OACI,wBAAC,UAAmB,CAChBxG,UAAWA,EACXyG,cAAelC,EACfS,YAAaA,EACbvD,QAASuE,EAA0BvE,QACnCkD,WAAYA,EACZH,SAAUiuJ,EACVzrJ,QAAS,WACLyrJ,EAAa,KACjB,EACA/tJ,SAAUA,EACVD,WAAYA,EACZiC,cAAeV,EAA0BU,cACzCN,aAAcA,EACd1E,cAAe0E,EACfU,eA3Be,SAAChB,GAA4B,OAAAA,EAAO0F,IAAM,IAAb,EA4B5C1G,WAAYA,EACZF,OAAQA,EACR0J,UAAWtI,EAA0BlD,cAAcK,QACnD0B,QAAS0B,EACT1E,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,YAG5E,C,umDCjLA,eACA,WACA,WACA,WACA,cACA,UAEA,SAAU2rJ,I,4DAC6D,UAAM,IAAAxmJ,QAAO,EAAAitE,qB,OAChF,OADmE,SAE/D,IAGJ,IAAM,IAAA/sE,MAAI,IAAAumJ,4B,OAGN,OAHJ,SAGI,GAAM,UAAkBC,mB,cADtB,kBACF,SAAyC,IADtCvvJ,EAAK,KAAE61E,EAAY,KAEtB71E,EACA,IAAM,IAAA+I,MAAI,IAAAymJ,wBAAuBxvJ,KADjC,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAA0mJ,0BAAyB55E,GAAgB,CAAC,K,OAApD,S,+BAQR,UAJA,W,kDACI,UAAM,IAAA7oD,eAAc,EAAA0iI,sBAAuBL,I,cAA3C,S,uCCxBJ,WAAgB,IAAM,mBAAmB,OAAS,sBAAsB,SAAW,wB,+BCAnF,WAAgB,OAAS,iDAAiD,MAAQ,gDAAgD,KAAO,+CAA+C,kBAAkB,0DAA0D,cAAc,sDAAsD,cAAc,sDAAsD,iBAAiB,yDAAyD,iBAAiB,yDAAyD,iBAAiB,yDAAyD,gBAAgB,wDAAwD,QAAU,kDAAkD,OAAS,iDAAiD,OAAS,iDAAiD,SAAW,mD,sBCD72B,IAAY1zJ,E,qEAAZ,SAAYA,GACR,kDACA,oDACH,CAHD,CAAYA,IAAU,aAAVA,EAAU,I,+BCCtB,WAAgB,OAAS,qCAAqC,SAAW,uC,qtCCDzE,kBACA,cACA,cACA,cACA,aAEA,cAGa,EAAAg0J,uBACT,SACIhoI,EACAioI,EACAC,EACAC,GAEJ,gBAACl3I,G,UACG,OAAIg3I,IAAiB,aAA+B,QAAvB,EAAAA,aAAa,EAAbA,EAAettH,gBAAQ,eAAEiN,MAAOsgH,aAAoB,EAApBA,EAAsBtgH,OAE3E,gBAAC,UAAU,GACP3lC,SAASgmJ,aAAa,EAAbA,EAAer8I,QAAS,GAAK,GAClC,EAAA4mI,gBAAgBC,0BAA0BxhI,MAMrD,aAA+B,QAAvB,EAAAg3I,aAAa,EAAbA,EAAettH,gBAAQ,eAAEiN,MAAOsgH,aAAoB,EAApBA,EAAsBtgH,SAC9D,aAA+B,QAAvB,EAAAqgH,aAAa,EAAbA,EAAettH,gBAAQ,eAAEiN,MAAOugH,aAAsB,EAAtBA,EAAwBvgH,UACjE,aAAQugH,aAAsB,EAAtBA,EAAwBvgH,MAAOsgH,aAAoB,EAApBA,EAAsBtgH,OAK1D,gBAAC,UAAgB,MAAK,IAAA3xB,0BAAyB+J,KAH3C,gBAAC,UAAe,MAAK,IAAA7J,yBAAwB6J,IAI5D,CAnBA,EAqBS,EAAAooI,yBACT,SACIpoI,EACAioI,EACAC,EACAC,GAEJ,gBAACl3I,G,UACG,OAAIg3I,IAAiB,aAA+B,QAAvB,EAAAA,aAAa,EAAbA,EAAettH,gBAAQ,eAAEiN,MAAOugH,aAAsB,EAAtBA,EAAwBvgH,OAE7E,gBAAC,UAAU,GACP3lC,SAASgmJ,aAAa,EAAbA,EAAer8I,QAAS,GAAK,GAClC,EAAA4mI,gBAAgBC,0BAA0BxhI,MAMrD,aAA+B,QAAvB,EAAAg3I,aAAa,EAAbA,EAAettH,gBAAQ,eAAEiN,MAAOsgH,aAAoB,EAApBA,EAAsBtgH,SAC9D,aAA+B,QAAvB,EAAAqgH,aAAa,EAAbA,EAAettH,gBAAQ,eAAEiN,MAAOugH,aAAsB,EAAtBA,EAAwBvgH,UACjE,aAAQugH,aAAsB,EAAtBA,EAAwBvgH,MAAOsgH,aAAoB,EAApBA,EAAsBtgH,OAK1D,gBAAC,UAAkB,MAAK,IAAA7xB,4BAA2BiK,KAH/C,gBAAC,UAAe,MAAK,IAAA7J,yBAAwB6J,IAI5D,CAnBA,C,+BC3CJ,WAAgB,OAAS,qCAAqC,eAAe,2CAA2C,qBAAqB,iDAAiD,MAAQ,oCAAoC,OAAS,qCAAqC,SAAW,uC,+BCAnS,WAAgB,OAAS,mCAAmC,SAAW,qC,8ICG1D,EAAAqoI,gBAAkB,SAACrwJ,GAAgD,OAAAA,EAAMkY,OAAOo4I,IAAb,EAEnE,EAAAhlD,mBAAqB,SAACtrG,GAC/B,OAAOA,EAAMkY,OAAOo4I,KAAKhlI,QAAO,SAACilI,GAAQ,OAAAA,EAAIj0E,KAAJ,GAC7C,EAEa,EAAAovB,uBAAyB,SAAC1rG,GACnC,OAAAA,EAAMkY,OAAOs4I,gBAAb,C,gGCOK,EAAApzE,gBAhBe,SAACz6C,G,kBACrB,OAAKA,EAIE,CACH3f,SAAoC,QAA1B,EAAA2f,EAASo9G,yBAAiB,eAAEtyH,cAAe,GACrD82B,SAAmC,QAA1B,EAAA5hB,EAASo9G,yBAAiB,eAAEx7F,UAAW,GAChDC,SAAmC,QAA1B,EAAA7hB,EAASo9G,yBAAiB,eAAEv7F,UAAW,GAChDC,SAAmC,QAA1B,EAAA9hB,EAASo9G,yBAAiB,eAAEt7F,UAAW,GAChDC,MAAgC,QAA1B,EAAA/hB,EAASo9G,yBAAiB,eAAEr7F,OAAQ,GAC1C/S,UAAyB,QAAd,EAAAhP,EAASiN,aAAK,eAAEtzB,IAC3Bo1B,SAAwB,QAAd,EAAA/O,EAASiN,aAAK,eAAEvzB,KAVnB,IAYf,C,q7BChBA,kBACA,cACA,cACA,WACA,cACA,cACA,aACA,cACA,WACA,WACA,WACA,WAEMpgB,EAAK,UAAWC,KAAK,WA+E3B,UAzEoC,SAACI,G,UACzBQ,EAAYR,EAAK,QAEjBa,GAAM,IAAAC,kBAAgB,EAExB0C,GAAgB,IAAAwS,aAAY,EAAAm+I,4BAE9Bn1I,EAAU,KAiCd,GA/BIxb,EAAcK,UACdmb,EACI,gCACI,uBAAKte,UAAWf,EAAG,WAAYkB,EAAE,+DACjC,uBAAKH,UAAWf,EAAG,gBACf,gBAAC,UAAM,CAACyW,KAAM,GAAI1V,UAAWf,EAAG,eAM5C6D,EAAcU,KACd8a,EACI,gCACI,uBAAKte,UAAWf,EAAG,WAAYkB,EAAE,yDACjC,uBAAKH,UAAWf,EAAG,gBACf,gBAAC,UAAQ,CAACgC,UAAW,EAAAC,qBAAqBsS,YAAakC,KAAM,MAEjE,uBAAK1V,UAAWf,EAAG,iBACnB,gBAAC,UAAM,CACHe,UAAWf,EAAG,UACd8B,QAAS,WACLjB,GACJ,GAECK,EAAE,sDAMf2C,EAAcO,MAAO,CACrB,IAAIqwJ,EAAuC,QAApB,EAAA5wJ,aAAa,EAAbA,EAAeO,aAAK,eAAEwU,QACzC/U,EAAcO,iBAAiB,EAAA4yF,kBAC/By9D,EAAiD,QAA9B,EAAoB,QAApB,EAAA5wJ,aAAa,EAAbA,EAAeO,aAAK,eAAEqJ,gBAAQ,eAAEmL,SAGvDyG,EACI,gCACI,uBAAKte,UAAWf,EAAG,WAAYkB,EAAE,uDACjC,uBAAKH,UAAWf,EAAG,gBACf,gBAAC,UAAS,CAACgC,UAAW,EAAAC,qBAAqBkS,aAE/C,uBAAKpT,UAAWf,EAAG,gBAAiBy0J,GACpC,gBAAC,UAAM,CACH1zJ,UAAWf,EAAG,UACd8B,QAAS,WACLjB,GACJ,GAECK,EAAE,oDAInB,CAEA,OACI,uBAAKH,UAAWf,EAAG,SACf,uBAAKe,UAAWf,EAAG,UACnB,uBAAKe,UAAWf,EAAG,YAAaqf,GAG5C,C,6JC1FA,eACA,YAMA,UAJ0B,WACtB,OAAO,IAAA2T,YAAW,UACtB,C,+BCJA,WAAgB,MAAQ,uDAAuD,OAAS,wDAAwD,SAAW,0D,+BCA3J,WAAgB,WAAW,gCAAgC,KAAO,4BAA4B,gBAAgB,qCAAqC,OAAS,8BAA8B,SAAW,gC,6JCDrM,eACA,cAEA,WACA,WAwBA,UApB2B,SAAC7X,GACxB,IAAMyiH,EAA4C,CAC9CprG,OAAO,IAAA6xB,uBAAsBlpC,EAAO,EAAApb,WAAWyyB,QAC/CE,MAAM,IAAA2xB,uBAAsBlpC,EAAO,EAAApb,WAAW2yB,OAC9CC,KAAK,IAAA0xB,uBAAsBlpC,EAAO,EAAApb,WAAW4yB,MAC7C5Y,WAAW,eAASE,IAAI,EAAAC,8BAA+B,QAAQF,OAP7C,eAUtB,IAAK4jH,EAAYprG,QAAUorG,EAAYlrG,OAASkrG,EAAYjrG,IACxD,OAAO,KAGX,IAAM+hI,GAAe,IAAArwG,uBAAsBlpC,EAAO,EAAApb,WAAW0yB,YAK7D,OAJIiiI,IACA92B,EAAY/qG,IAAM6hI,GAGf92B,CACX,C,y3BC1BA,kBACA,WASM+2B,EAA8B,SAACt0J,GACzB,IAAA2B,EAAwC3B,EAAK,UAAlCmW,EAA6BnW,EAAK,QAAzBU,EAAoBV,EAAK,UAAdoW,EAASpW,EAAK,KAErD,OACI,uBAAKwB,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAYD,MAAM,6BAA6B1Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAM7K,EAAWwU,QAASA,GAAW,EAAG5E,EAAE,oCAIhE,EAEA+iJ,EAAUxiJ,YAAc,YAExB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBkS,UAChCqC,QAAS,EACTC,KAAM,EAAAC,mBAGD,EAAAtE,WAAAA,EACT,UAAeuiJ,C,kPC5BF,EAAAj2B,kCAAoC,+DACpC,EAAAE,wCACT,qEACS,EAAAI,wCACT,qEACS,EAAAF,0CACT,sE,q7BCVJ,kBACA,cAEA,cACA,WACA,aACA,WACA,cACA,WACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cAGA,WACA,cACA,WACA,cACA,cACA,WACA,WACA,UACA,WACA,WACA,WACA,cA+BM9+H,EAAK,UAAWC,KAAK,WAErB20J,EAAwCz0J,EAAMC,MAAK,SAACC,G,wBAElDs+D,EAkBAt+D,EAAK,eAjBLqyE,EAiBAryE,EAAK,SAhBLw0J,EAgBAx0J,EAAK,eAfLy0J,EAeAz0J,EAAK,gBAdLysF,EAcAzsF,EAAK,gBAbLk7C,EAaAl7C,EAAK,iBAZLU,EAYAV,EAAK,UAXL40C,EAWA50C,EAAK,WAVL+sB,EAUA/sB,EAAK,OATL00J,EASA10J,EAAK,mBARL20J,EAQA30J,EAAK,mCAPL40J,EAOA50J,EAAK,sBANL60J,EAMA70J,EAAK,6BALL80J,EAKA90J,EAAK,2BAJL+0J,GAIA/0J,EAAK,wBAHLg1J,GAGAh1J,EAAK,sBAFL60C,GAEA70C,EAAK,kBADLi1J,GACAj1J,EAAK,oBAEDa,IAAM,IAAAC,kBAAgB,EACtBo0J,GAAwBp1J,EAAM6yB,WAAW,WAAyB,oBAEpE86D,IAAapb,aAAQ,EAARA,EAAUnmE,KAAM,KAC7BipJ,IAAkB,IAAAn/I,cAAY,IAAAo/I,2BAA0B3nE,KAExD4nE,GAAkBv1J,EAAMkG,aAC1B,SAACsvJ,GACQ7nE,GAKAmnE,EAKLA,EAAsBnnE,GAAY6nE,IAJ9B,IAAA5gI,YAAW,kEALX,IAAAA,YAAW,2CAUnB,GACA,CAAC+4D,GAAYmnE,IAGXW,GAAkC,CACpC,CACIppJ,KAAM,KACNyM,KAAM/X,GAAE,uEACRoE,MAAOotE,aAAQ,EAARA,EAAU1kE,OACjBoL,WAAYlY,GAAE,gDACdmY,aAAa,IAIfw8I,GAAkC,CACpC,CACIrpJ,KAAM,KACNyM,KAAM/X,GAAE,qEACRoE,MAAOotE,aAAQ,EAARA,EAAUojF,oBACjB18I,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,cAIhB+0J,GAA2C,CAC7C,CACIvpJ,KAAM,gBAAC,UAAU,CAACwB,SAAS6mJ,aAAc,EAAdA,EAAgBl9I,QAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WAC5F+W,KAAM/X,GAAE,kEACRoE,MAAO,gBAAC,UAAa,CAAC0U,OAAO,yBAAyB0sB,SAAUmuH,aAAc,EAAdA,EAAgB9tH,UAChF3tB,WAAYlY,GAAE,gDACdmY,aAAa,EACb4M,KAAM,CACF,CACIzZ,KAAM,KACNyM,KAAM/X,GAAE,qEACRoE,OAAO,IAAAwhC,oBAAmB+tH,aAAc,EAAdA,EAAgBmB,aAAcnB,aAAc,EAAdA,EAAgBoB,YACxE78I,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,wEACRoE,MAA8B,QAAvB,EAAAuvJ,aAAc,EAAdA,EAAgBjmJ,eAAO,eAAEg+E,YAChCxzE,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,wEACRoE,MAA8B,QAAvB,EAAAuvJ,aAAc,EAAdA,EAAgBjmJ,eAAO,eAAE3I,SAChCmT,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,yEACRoE,MAA8B,QAAvB,EAAAuvJ,aAAc,EAAdA,EAAgBjmJ,eAAO,eAAEqb,MAChC7Q,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,yEACRoE,MAA8B,QAAvB,EAAAuvJ,aAAc,EAAdA,EAAgBjmJ,eAAO,eAAE9H,MAChCsS,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,oEACRoE,MAA8B,QAAvB,EAAAuvJ,aAAc,EAAdA,EAAgBjmJ,eAAO,eAAEqB,QAChCmJ,WAAYlY,GAAE,gDACdmY,aAAa,MAMvB68I,GAAgD,CAClD,CACI1pJ,KAAM,gBAAC,UAAU,CAACwB,SAAS8mJ,aAAe,EAAfA,EAAiBn9I,QAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WAC7F+W,KAAM/X,GAAE,oEACRoE,MAAO,gBAAC,UAAa,CAAC0U,OAAO,yBAAyB0sB,SAAUouH,aAAe,EAAfA,EAAiB/tH,UACjF3tB,WAAYlY,GAAE,gDACdmY,aAAa,EACb4M,KAAM,CACF,CACIzZ,KAAM,KACNyM,KAAM/X,GAAE,qEACRoE,OAAO,IAAAwhC,oBAAmBguH,aAAe,EAAfA,EAAiBkB,aAAclB,aAAe,EAAfA,EAAiBmB,YAC1E78I,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,wEACRoE,MAA+B,QAAxB,EAAAwvJ,aAAe,EAAfA,EAAiBlmJ,eAAO,eAAEg+E,YACjCxzE,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,wEACRoE,MAA+B,QAAxB,EAAAwvJ,aAAe,EAAfA,EAAiBlmJ,eAAO,eAAE3I,SACjCmT,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,yEACRoE,MAA+B,QAAxB,EAAAwvJ,aAAe,EAAfA,EAAiBlmJ,eAAO,eAAEqb,MACjC7Q,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,yEACRoE,MAA+B,QAAxB,EAAAwvJ,aAAe,EAAfA,EAAiBlmJ,eAAO,eAAE9H,MACjCsS,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,oEACRoE,MAA+B,QAAxB,EAAAwvJ,aAAe,EAAfA,EAAiBlmJ,eAAO,eAAEqB,QACjCmJ,WAAYlY,GAAE,gDACdmY,aAAa,MAMvB88I,GAA+C,CACjD,CACI3pJ,KACI,gBAAC,UAAa,CACViK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,GAAE,iEACRoE,MAAO,gBAAC,UAAa,CAAChC,MAAM,IAAA8yJ,iBAAgB1jF,aAAQ,EAARA,EAAU2jF,WAAYpzJ,MAAOyvE,aAAQ,EAARA,EAAU4jF,mBACnFl9I,WAAYlY,GAAE,gDACdmY,aAAa,GAEjB,CACI7M,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqB+W,OAClDC,KAAM/X,GAAE,kEACRoE,MAAO,gBAAC,UAAa,CAACrC,MAAOyvE,aAAQ,EAARA,EAAU6jF,OAAQjzJ,KAAM,EAAA4V,aAAas9I,wBAClEp9I,WAAYlY,GAAE,gDACdmY,aAAa,GAEjByzE,EACM,CACItgF,KAAM,gBAAC,UAAa,CAACxK,UAAW,EAAAC,qBAAqB+W,OACrDC,KAAM/X,GAAE,6EACRoE,MACI,gBAAC,UAAwB,CACrBmxJ,kBAAmB/jF,aAAQ,EAARA,EAAU+jF,kBAC7BC,mBAAoBhkF,aAAQ,EAARA,EAAUgkF,qBAGtCt9I,WAAYlY,GAAE,gDACdmY,aAAa,GAEjB,KACN,CACI7M,KAAM,gBAAC,UAAW,CAACxK,UAAW,EAAAC,qBAAqBI,MAAO0U,YAAa,EAAA9U,qBAAqB+W,OAC5FC,KAAM/X,GAAE,uEACRoE,MAAOotE,aAAQ,EAARA,EAAUjjD,YACjBrW,WAAYlY,GAAE,gDACdmY,aAAa,IAIfs9I,IAAc,IAAAC,yBAAwB,CACxCh7F,iBAAkB45F,cAAe,EAAfA,GAAiB55F,iBACnCC,aAAc6W,aAAQ,EAARA,EAAUmkF,iBAG5B,OACI,gCACI,gBAAC,UAAI,CACD57G,UAAW/5C,GAAE,wDAAyD,CAClE8M,OAAQ2wD,EAAiB,IAE7B/9D,UACI,gCACI,gBAAC,UAAmB,CAAC+T,eAAa,EAACjC,QAASggE,aAAQ,EAARA,EAAUhgE,UACtD,gBAAC,UAAkB,CAACiC,eAAa,EAAC8U,OAAQipD,aAAQ,EAARA,EAAUjpD,UAG5D1oB,UAAWA,EACXw6C,iBAAkBA,EAClBF,uBAAqB,EACrBG,QAAQ,IAAAs7G,oBAAkBpkF,aAAQ,EAARA,EAAUnmE,KAAM,MAC1CkvC,cAAe85G,MAAwB7iF,aAAQ,EAARA,EAAUnmE,IACjD+uC,WACKrG,EAQG,KAPA,gBAAC,UAAiC,CAC9BstD,gBAAiB7vB,IAAa,EAAA8vB,oBAAoBlzE,IAAIojD,aAAQ,EAARA,EAAUjpD,QAChE2D,OAAQA,EACRslD,SAAUA,GAAY,KACtBqiF,mBAAoBA,EACpBC,mCAAoCA,KAKhD,2BACI,gBAAC,UAAmB,CAChB2B,YAAaA,GACbI,mBACI9hH,EAAa,KACT,gBAAC,EAAA+hH,yCAAwC,CAACC,YAAavB,MAI/D,uBAAK30J,UAAWf,EAAG,YACf,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM2vI,GAAW70J,UAAWf,EAAG,QAAS,eACrE,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM4vI,GAAW90J,UAAWf,EAAG,QAAS,eACrE,gBAAC,UAAS,CACN+nB,mBAAiB,EACjB9B,KAAM8vI,GACNh1J,UAAWf,EAAG,QAAS,kBAE3B,gBAAC,UAAS,CACN+nB,mBAAiB,EACjB9B,KAAMiwI,GACNn1J,UAAWf,EAAG,QAAS,kBAE3B,gBAAC,UAAS,CACN+nB,mBAAiB,EACjB9B,KAAMkwI,GACNp1J,UAAWf,EAAG,QAAS,sBAG/B,gBAAC,EAAAk3J,yBAAwB,CACrBL,gBAAgBnkF,aAAQ,EAARA,EAAUmkF,iBAAkB,KAC5C/oE,WAAYA,GACZqpE,+BAA+BzkF,aAAQ,EAARA,EAAUykF,gCAAiC,KAC1EjiH,kBAAmBA,GACnBogH,oBAAqBA,GACrBJ,6BAA8BA,EAC9BC,2BAA4BA,EAC5BC,wBAAyBA,GACzBC,sBAAuBpgH,OAAatuC,EAAY0uJ,GAChDJ,sBAAuBhgH,OAAatuC,EAAYsuJ,OAO5E,IAEA,UAAeL,C,y9BCxXf,kBAEA,aACA,cACA,cAEA,cAEM50J,EAAK,UAAWC,KAAK,WAed,EAAA2tB,2BAA6B,IAgC1C,UA9BiD,SAACvtB,GACtC,IAAAW,EAAkFX,EAAK,aAAzEwB,EAAoExB,EAAK,MAAlE2lD,EAA6D3lD,EAAK,KAA5D2O,EAAuD3O,EAAK,QAAnDmM,EAA8CnM,EAAK,KAA7CC,EAAwCD,EAAK,MAAtCuY,EAAiCvY,EAAK,QAA7B4O,EAAwB5O,EAAK,SAAnBU,EAAcV,EAAK,UAEzFY,EAAmB,UAAGD,EAAY,iBAExC,OACI,uBACID,WAAW,aACPf,EAAG,OAAQ,CACP,yBAAyBgP,aAAO,EAAPA,EAAS1M,UAEtCvB,GACH,qBACmBE,EACpBuH,MAAO,CACH3G,MAAO,UAAGA,EAAK,QAGnB,uBAAKd,UAAWf,EAAG,YACf,uBAAKe,UAAWf,EAAG,SAAUwM,GAC7B,uBAAKzL,UAAWf,EAAG,UAAWM,KAC3BsY,GAAW,uBAAK7X,UAAWf,EAAG,YAAa4Y,GAC7CotC,GAEL,gBAAC,UAAkB,CAACh3C,QAASA,IAC5BC,EAGb,C,+BCpDA,WAAgB,MAAQ,mCAAmC,OAAS,oCAAoC,SAAW,sC,uGCEtG,EAAAmoJ,uBAAyB,SAAC,G,IACnCC,EAAa,gBACbC,EAA0B,6BAO1B,OAN8B,iCAMM/yJ,GAK/B+yJ,EAIED,EAAchoI,QAAO,SAACkoI,GACzB,OAAOA,EAAa1tG,UAAYytG,EAA2BztG,SAC/D,IALWwtG,EALA,EAWf,C,+BCvBA,WAAgB,4BAA4B,0DAA0D,MAAQ,sCAAsC,aAAa,2CAA2C,cAAc,4CAA4C,cAAc,4CAA4C,OAAS,uCAAuC,SAAW,yC,oGCOlX,EAAAG,oBANT,WAIA,C,+VCJA,kBAEMvqF,EAAiD,CACnDC,cAAe,UAAcppE,QAC7BqpE,cAAe,UAAcrpE,SAGpB,EAAA2zJ,wCAA0C,SAAC1zJ,GACpD,OAAAA,EAAM2zJ,eAAetqF,aAArB,EAES,EAAAuqF,gCAAkC,SAAC5zJ,GAC5C,OAAAA,EAAM2zJ,eAAerqF,WAArB,EAES,EAAAuqF,yBACT,SAACrrJ,GACD,gBAACxI,GACG,OAAAA,EAAM2zJ,eAAehpJ,KAAKnC,IAAkB0gE,CAA5C,CADJ,EAGS,EAAA4qF,wCACT,SAACtrJ,GACD,gBAACxI,GAAa,MACV,OAAwC,QAAxC,EAAAA,EAAM2zJ,eAAehpJ,KAAKnC,UAAc,eAAE2gE,gBAAiBD,EAAqBC,aAAa,CADjG,EAGS,EAAA4qF,wCACT,SAACvrJ,GACD,gBAACxI,GAAa,MACV,OAAwC,QAAxC,EAAAA,EAAM2zJ,eAAehpJ,KAAKnC,UAAc,eAAE4gE,gBAAiBF,EAAqBE,aAAa,CADjG,C,sHC3BJ,IAIY4qF,EAJZ,WAEa,EAAAC,oBAAsB,EAAAC,oBAAoBC,OAEvD,SAAYH,GACR,8CACA,8CACA,gDACA,sCACA,iBACH,CAND,CAAYA,IAAa,gBAAbA,EAAa,I,4KCAZ,EAAAI,qBAAuB,SAACp0J,GAA0C,OAAAA,EAAMq0J,cAAczyC,eAAe74G,IAAnC,EAElE,EAAAmhC,iCAAmC,SAAClqC,GAC7C,OAAAA,EAAMq0J,cAAczyC,eAAe7rE,YAAnC,EAES,EAAApL,kCAAoC,SAAC3qC,GAC9C,OAAAA,EAAMq0J,cAAczyC,eAAez4C,aAAnC,C,+BCTJ,WAAgB,QAAU,oCAAoC,MAAQ,kCAAkC,OAAS,mCAAmC,SAAW,qC,0SCA/J,eACA,cAQMtpE,EAAsC,CACxC6oE,MAAO,KACP3yB,aAAc,UAAch2C,SAGnB,EAAAu0J,sBAAuB,IAAA1rF,aAAY,CAC5C1zD,KAAM,kBACNrV,aAAY,EACZgpE,SAAU,CACN0rF,qBAAsB,SAElBv0J,GAGJ,EACAw0J,0BAA2B,SAACx0J,GACxBA,EAAM+1C,aAAe,UAAc51C,OACvC,EACAs0J,4BAA6B,SACzBz0J,EACAC,GAIQ,IAAAqN,EAAerN,EAAOklB,QAAO,WACrCnlB,EAAM0oE,MAAQp7D,EACdtN,EAAM+1C,aAAe,UAAcv1C,EACvC,EACAk0J,0BAA2B,SACvB10J,EACAC,GAIQ,IAAAI,EAAUJ,EAAOklB,QAAO,MAChCnlB,EAAM+1C,aAAe,UAAcz1C,SAASD,EAChD,GAEJyoE,cAAe,SAACC,GACZA,EAAQC,QAAQ,uBAAuB,WACnC,OAAOnpE,CACX,GACJ,IAIA,EAAA00J,sBADS,EAKT,EAAAD,qBAAqBrpJ,SAAO,qBAH5B,EAAAupJ,0BAAyB,4BACzB,EAAAC,4BAA2B,8BAC3B,EAAAC,0BAAyB,4BAG7B,UAAe,EAAAJ,qBAAqBrrF,O,u7BC9DpC,kBAEA,cAEA,cACA,WACA,WACA,WACA,WACA,WACA,WACA,cAIA,WAEA,cAEM0rF,IAAkB,MACnB,EAAA13I,aAAaG,eAAgB,iBAC9B,EAAC,EAAAH,aAAaC,aAAc,eAC5B,EAAC,EAAAD,aAAaK,iBAAkB,oBAChC,EAAC,EAAAL,aAAaW,wBAAyB,WACvC,EAAC,EAAAX,aAAaS,cAAe,gBAC7B,EAAC,EAAAT,aAAaU,aAAc,gBAC5B,EAAC,EAAAV,aAAaa,aAAc,eAC5B,EAAC,EAAAb,aAAae,WAAY,aAC1B,EAAC,EAAAf,aAAaiB,eAAgB,kBAC9B,EAAC,EAAAjB,aAAaQ,cAAe,gBAC7B,EAAC,EAAAR,aAAaO,gBAAiB,kB,GAU7Bo3I,GAFK,UAAW14J,KAAK,WAEgBE,EAAMC,MAAK,SAACC,GAC3C,IAAAkM,EAAOlM,EAAK,GAEZoP,GAAY,IAAA4G,cAAY,IAAA4yE,0BAAyB18E,IAAI,QAEvDkuD,GAAc,IAAA51D,UAAQ,WACxB,MAAO,CAAC4K,aAAO,EAAPA,EAASirD,YAAYrrC,OAAO,EAAA4/B,SACxC,GAAG,CAACx/C,aAAO,EAAPA,EAASirD,cAEb,IAAAC,kBAAiBF,GAEjB,IAAMM,GAAuB,IAAA1kD,cAAY,IAAA2kD,4BAA2BvrD,aAAO,EAAPA,EAASirD,aAEvEQ,GAAY,IAAAr2D,UAAQ,W,MACtB,OACkB,QAAd,EAAA4K,aAAO,EAAPA,EAAS6vE,aAAK,eACR5nE,KAAI,SAACyyD,G,YACH,OAAK,aAAsB,QAAb,EAAAA,aAAI,EAAJA,EAAMpjC,eAAO,eAAE0O,YAAc,aAAsB,QAAb,EAAA00B,aAAI,EAAJA,EAAMpjC,eAAO,eAAE2O,WAI5D,CACHD,SAAuB,QAAb,EAAA00B,aAAI,EAAJA,EAAMpjC,eAAO,eAAE0O,SACzBC,UAAwB,QAAb,EAAAy0B,aAAI,EAAJA,EAAMpjC,eAAO,eAAE2O,UAC1B/9B,MAAOwyD,EAAKxyD,OAAS,EACrBrU,KAAMo1J,EAAmBvuF,EAAK7mE,OAPvB,IASf,IACC+rB,OAAO,EAAA4/B,YAAa,EAEjC,GAAG,CAACx/C,IAEJ,OACI,gBAAC,UAAuB,CACpBuD,IAAKvD,aAAO,EAAPA,EAASlD,GACdknC,OAAQynB,EACR10B,MAAOu0B,EAAqBjuD,KAC5B0uD,aAAcT,EAAqBl3D,eAG/C,KAEA,UAAe80J,C,sHClFf,IAAMC,EAAU,MAGH,EAAApzC,qBAAuB,SAACviG,EAAkB41I,GACnD,OAAI51I,EAAS3gB,OAASu2J,EAAQD,EAAQt2J,OAC3B2gB,EAGJ,CAACA,EAAS2kC,MAAM,EAAGixG,EAAQD,EAAQt2J,OAP1B,IAOiDs2J,EAAS31I,EAAS2kC,OAAM,KAAmBj4B,KACxG,GAER,EAEa,EAAAmpI,eAAiB,SAAC71I,GAC3B,QAAKA,GAIE,SAAS81I,KAAK91I,EACzB,C,q7BCnBA,kBACA,WACA,WACA,cACA,WACA,UACA,UAQM+1I,GAA8C,IAAA54J,OAAK,SAACC,GAC9C,IAAAU,EAA2BV,EAAK,UAArBmxB,EAAgBnxB,EAAK,YAElCu0B,GAAW,IAAAC,eAEXihE,GAAgB,IAAAz/E,aAAY,EAAA0/E,uBAC5BlyF,GAAgB,IAAAwS,aAAY,EAAAw/E,4BAElC11F,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAAM7N,EAAU+uE,EAActkE,IAAgC,KAE9D,OAAI3tB,EAAcK,QACP,gBAAC,UAAiB,CAAClC,UAAW,EAAAC,qBAAqB+W,KAAMvC,KAAM,EAAAC,oBAGnE,wBAAM3V,UAAWA,GAAYgmB,aAAO,EAAPA,EAASkyI,oBACjD,IAEA,UAAeD,C,q2BCnCf,kBACA,WAIME,EAAgC/4J,EAAMC,MAAK,WACrC,IAAAc,GAAM,IAAAC,kBAAgB,EAE9B,OAAO,2BAAMD,EAAE,kBACnB,IAEA,UAAeg4J,C,wdCXf,eACI,uFAAAC,qBAAqB,IACrB,4FAAAC,0BAA0B,IAC1B,8FAAAC,4BAA4B,IAC5B,4FAAAC,0BAA0B,IAC1B,qFAAAC,mBAAmB,IACnB,0FAAAC,wBAAwB,IACxB,4FAAAC,0BAA0B,IAC1B,0FAAAC,wBAAwB,IACxB,mFAAAC,iBAAiB,IACjB,wFAAAC,sBAAsB,IACtB,0FAAAC,wBAAwB,IACxB,wFAAAC,sBAAsB,IACtB,8EAAAC,YAAY,IACZ,mFAAAC,iBAAiB,IACjB,qFAAAC,mBAAmB,IACnB,mFAAAC,iBAAiB,G,kuCChBrB,kBACA,cAEA,cACA,WACA,cACA,cACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,WACA,UACA,cACA,cACA,cACA,UACA,WASA,WACA,WACA,WAKA,aACA,cAGA,cAGA,cAGA,cACA,cACA,cACA,cACA,cACA,cAEMl6J,EAAK,UAAWC,KAAK,WAErB88H,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAqKxE,UAjKmD,SAAC18H,GACxC,IAAAyM,EAAsDzM,EAAK,KAArDQ,EAAgDR,EAAK,QAA5CE,EAAuCF,EAAK,SAAlC2jD,EAA6B3jD,EAAK,yBAE7Du0B,GAAW,IAAAC,eAET3zB,GAAM,IAAAC,kBAAgB,EAExBg5J,GAAkC,IAAA9jJ,cAAY,IAAA+jJ,iCAAgCttJ,EAAKpJ,YAGnFukE,GADoB,IAAA5xD,cAAY,IAAAgkJ,yBAAwBvtJ,EAAKpJ,YAC3BoJ,EAAK+jH,UAC7C,UAAMtlH,WAAU,WACZqpB,GAAS,IAAAg8F,oBAAmB9jH,EAAK+jH,SAAU/jH,EAAKpJ,UAAW,CAAE0+B,eAAe,IAChF,GAAG,CAACt1B,EAAM8nB,IAEV,IAAM0lI,GAA6B,IAAAjkJ,cAAY,IAAAkkJ,2BAA0BztJ,EAAKpJ,aAE9E,aAA4B42J,EAA4B/5J,GAAYM,GAEpE,IAAM25J,GAA4B,eAC5BC,GAA6B,eAC7BC,GAAiC,gBAEvC,aAAgCJ,EAA4B,CACxDE,EACAC,EACAC,IAGJ,IAAM9vB,GAAwB,IAAA+vB,wBAAuB1yF,EAAen7D,EAAKpJ,UAAW,CAChF4pC,eAAgBotH,EAA+BzxH,QAC/C2xH,gBAAiBJ,EAA0BvxH,QAC3C4xH,iBAAkBJ,EAA2BxxH,UAG3Cgb,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiC,UAAM2D,SAAQ,WACjD,IAAMsW,GAAS,aAAiB8sD,GAGhC,MAAO,CAAC9sD,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAAC8sD,IAAe,GANZptD,EAAa,KAAEupC,EAAa,KAQ7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,GAAKtO,EAAK+jH,SAAV,CAKA,IAAMuH,GAAgB,aAAwBj9G,EAAQ8sD,GACjDmwD,GAKLxjG,GAAS,IAAAk8F,cAAahkH,EAAK+jH,SAAUuH,EAAetrH,EAAKpJ,YAEzD0X,EAAcI,WAAW,CAAC,KANtB,IAAAuZ,YAAW,uBAJf,MAFI,IAAAA,YAAW,kBAanB,IAGEuvB,EAA0BT,EAA6B/oC,EAAOK,OAAQN,IAC5E,IAAAtP,YAAU,WACNy4C,EAAyBM,EAE7B,GAAG,CAACA,IAEJ,IAYMj1C,EAAY8qJ,EAAgCj2J,SAAWo2J,EAA2Bp2J,QAExF,OACI,wBAAC,EAAAogF,cAAcnuC,SAAQ,CAAC7wC,MAAOwV,GAC3B,gCAAMI,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC9CqP,GAAa,wBAAC,UAAa,MAC5B,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CACjB9O,SAAUA,EACVD,MAAO2nE,EAAgB,wBAAC,UAAmB,CAACA,cAAeA,IAAoB,KAC/ExnE,eACIwnE,EACI,wBAAC,UAAgB,CAACtzD,eAAa,EAAC8U,OAAQw+C,EAAcx+C,QAAU,OAChE,KAERjpB,gBAAiBoqI,EACjBhqI,UAAW,gDAAG0jD,GAA2B,wBAAC,UAA8B,OACxEzjD,QAASA,KAGjB,wBAAC,UAAa,KACV,wBAAC,UAAqB,CAClBonE,cAAeA,EACf6yF,kBAAgB,EAChBC,yBAAyB9yF,aAAa,EAAbA,EAAeouE,sBAGhD,wBAAC,UAAkB,CAACvwD,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,wBAAC,UAAmB,CAAC8B,aAAW,GAC5B,+BAAKhd,UAAWf,EAAG,YACf,wBAAC,UAAM,CACHe,UAAWf,EAAG,kBAAmB,2BACjCuB,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAASvB,EAAW,WAAM,OAAAA,EAAS,CAAEy6J,uBAAuB,GAAlC,EAA6C,WAEtE95J,EAAE,+BAEP,wBAAC,UAAM,CACHH,UAAWf,EAAG,kBAAmB,2BACjCuB,MAAO,EAAA2N,gBAAgB8O,QACvB1a,KAAK,UAEJpC,EAAE,4CAKnB,wBAAC,UAAyB,CACtB4L,KAAM0tJ,EAA0B1tJ,KAChC6gB,UA7DiB,SAAC7gB,GAC1B8nB,GAAS,IAAAq8F,eAAcnkH,EAAK+jH,SAAU/jH,EAAK3H,WAC/C,EA4DY2J,SAAU0rJ,EAA0B1rJ,SACpCjO,QAAS25J,EAA0B35J,QACnCgD,cAAey2J,IAEnB,wBAAC,UAA0B,CACvBxtJ,KAAM2tJ,EAA2B3tJ,KACjC6gB,UAhEkB,SAAC7gB,GAC3B8nB,GAAS,IAAAo8F,gBAAelkH,EAAK+jH,SAAU/jH,EAAK3H,WAChD,EA+DY2J,SAAU2rJ,EAA2B3rJ,SACrCjO,QAAS45J,EAA2B55J,QACpCgD,cAAey2J,IAEnB,wBAAC,UAAuB,CACpBxtJ,KAAM4tJ,EAA+B5tJ,KACrC6gB,UAnE4B,SAAC7gB,GACrC8nB,GAAS,IAAA2jG,oBAAmBzrH,EAAK0rH,aAAc1rH,EAAK3H,WACxD,EAkEY2J,SAAU4rJ,EAA+B5rJ,SACzCjO,QAAS65J,EAA+B75J,QACxCgD,cAAey2J,IAI/B,C,+BC3NA,WAAgB,OAAS,iCAAiC,SAAW,mC,+BCArE,WAAgB,OAAS,qCAAqC,oBAAoB,gDAAgD,aAAe,2CAA2C,0BAA0B,sDAAsD,OAAS,qCAAqC,SAAW,uC,q7BCDrU,kBACA,WACA,cACA,cAOMW,EAAyC96J,EAAMC,MAAK,SAAC,G,IAAEW,EAAS,YAAEkO,EAAQ,WAC5E,OACI,gBAAC,UAAK,CACFzC,KACI,gBAAC,UAAc,CAACuK,YAAa,EAAA9U,qBAAqBgG,MAAOjG,UAAW,EAAAC,qBAAqB8R,cAE7F0C,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAejnB,OACtB5R,UAAWA,GAEVkO,EAGb,IAEA,UAAegsJ,C,+BCxBf,WAAgB,OAAS,sCAAsC,SAAW,wC,kYCD1E,cAOA,cACA,UAEMr3J,EAAgD,CAClDk2C,aAAc,UAAch2C,QAC5Bo3J,OAAQ,MAGZ,mBACIn3J,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAAw4F,gDACD,OAAO,EAAP,KACO/3F,GAAK,CACR+1C,aAAc,UAAc51C,UAIpC,KAAK,EAAA63F,kDACO,IAAAm/D,EAAWl3J,EAAM,OAEzB,OAAO,EAAP,KACOD,GAAK,CACR+1C,aAAc,UAAcv1C,GAC5B22J,OAAM,IAId,KAAK,EAAAl/D,gDACO,IAAA53F,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR+1C,aAAc,UAAcz1C,SAASD,KAI7C,KAAK,EAAAI,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAGlB,C,q7BCtDD,kBAEA,WACA,WACA,cACA,cACA,cACA,cACA,WAiBM4K,EAAgB,gCAEhBwsJ,EAAgDh7J,EAAMC,MAAK,SAACC,GACtD,IAAA4Y,EAA8C5Y,EAAK,KAA7CyM,EAAwCzM,EAAK,KAAvCQ,EAAkCR,EAAK,QAA9BstB,EAAyBttB,EAAK,UAAnBgP,EAAchP,EAAK,UACnDa,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,gBAAC,UAAK,KACF,gBAAC,UAAY,CAACjM,QAASA,GACnB,gBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY2J,EACZvN,QAAS,WACLjB,GACJ,GAEJ,CACIoO,SAAU/N,EAAE,sCACZK,MAAO,EAAA2N,gBAAgB8O,QACvBhd,aAAc,UAAG2N,EAAa,OAC9BU,UAAS,EACT3J,WAAY2J,EACZvN,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,gBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBsS,cACvDjU,MAAOY,EAAE,uDACT0X,QAAS1X,EAAE,4DAA6D,CACpE4sB,aAAc7U,QAjCvB,IAuCf,IAEA,UAAekiJ,C,0hDCzEf,kBACA,WACA,cAGA,cACA,WAMa,EAAAC,wBAAqB,MAC7B,EAAAhmG,mBAAmBw6F,iBAAkB,EAAA3tJ,qBAAqBI,MAC3D,EAAC,EAAA+yD,mBAAmBlxD,SAAU,EAAAjC,qBAAqBI,MACnD,EAAC,EAAA+yD,mBAAmBtvB,WAAY,EAAA7jC,qBAAqBI,MACrD,EAAC,EAAA+yD,mBAAmBy6F,WAAY,EAAA5tJ,qBAAqBI,MACrD,EAAC,EAAA+yD,mBAAmBrvB,WAAY,EAAA9jC,qBAAqBojG,YACrD,EAAC,EAAAjwC,mBAAmBpvB,UAAW,EAAA/jC,qBAAqBI,M,GAGxD,IAAMg5J,EAA0Cl7J,EAAMC,MAAK,SAACC,GAChD,IAAAopB,EAAyBppB,EAAK,OAAnBusB,EAAS,EAAKvsB,EAA3B,YAEN,IAAKopB,EACD,OAAO,KAGX,IAAMkwE,EAAQ,EAAAyhE,sBAAsB3xI,GAEpC,OAAO,gBAAC,UAAkB,KAAKmD,EAAS,CAAExlB,MAAO,gBAAC,UAAU,CAACqiB,OAAQA,IAAYkwE,MAAOA,IAC5F,IAEA,UAAe0hE,C,+BChCf,WAAgB,OAAS,oCAAoC,SAAW,sC,oGCAxE,eAEA,WACA,WA6BS,EAAAC,kBA1BiB,SACtB/gJ,EACAghJ,EACAllF,GAEA,KAAKA,aAAK,EAALA,EAAO1+C,SAAS0+C,aAAK,EAALA,EAAO9tD,IACxB,OAAO,KAGX,IAAMizI,EAAYjhJ,EAAa,EAAAiwC,qBAAqB9tC,WAC9CsQ,EAAYzS,EAAa,EAAAiwC,qBAAqBx9B,WAEpD,MAAO,CACHyuI,YAAaF,EACb19I,OAAStD,EAAa,EAAAiwC,qBAAqBkxG,aAAuC,EAAA1D,oBAClFn1I,QAAQ,IAAAk0D,iBAAgBV,EAAM9tD,IAC9B8S,UAAU,IAAA07C,iBAAgBV,EAAM1+C,MAChCgkI,mBAAqBphJ,EAAa,EAAAiwC,qBAAqBoxG,qBAAwCj1J,EAC/Fk1J,mBAAoBthJ,EAAa,EAAAiwC,qBAAqBsxG,iBAAcn1J,EACpEo1J,cAAgBxhJ,EAAa,EAAAiwC,qBAAqBwxG,uBAA0Cr1J,EAC5Fs1J,cAAe1hJ,EAAa,EAAAiwC,qBAAqB0xG,mBAAgBv1J,EACjEw1J,WAAYX,EAAY,CAACA,QAAa70J,EACtCumH,WAAYlgG,EAAY,CAACA,QAAarmB,EAE9C,C,+BC9BA,WAAgB,OAAS,oCAAoC,sBAAsB,iDAAiD,MAAQ,mCAAmC,OAAS,oCAAoC,SAAW,sC,q7BCDvO,kBAEA,cACA,WACA,cACA,WAOMy1J,EAAyDj8J,EAAMC,MAAK,SAACC,GAC/D,IAAAyO,EAAwBzO,EAAK,SAAnBU,EAAcV,EAAK,UAE7Ba,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAM,CACHY,SAAU,gBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqBkS,YACrDpT,UAAWA,EACXQ,MAAO,EAAA2N,gBAAgBmtJ,sBACvBr7J,aAAa,2BACbc,QAASgN,GAER5N,EAAE,qEAGf,IAEA,UAAek7J,C,sBC5Bf,IAAYr8J,E,qEAAZ,SAAYA,GACR,4BACA,4BACA,oBACA,cACA,oBACA,2BACH,CAPD,CAAYA,IAAU,aAAVA,EAAU,I,+BCDtB,WAAgB,QAAU,qCAAqC,OAAS,oCAAoC,OAAS,oCAAoC,SAAW,sC,q7BCDpK,kBACA,cACA,cACA,cAEMC,EAAK,UAAWC,KAAK,WAQrBq8J,EAA4Cn8J,EAAMC,MAAK,SAACC,GAClD,IAAA41F,EAAW51F,EAAK,OAExB,OACI,uBAAKU,UAAWf,EAAG,WACf,uBAAKe,UAAWf,EAAG,WACf,gBAAC,UAAM,CAACe,UAAWf,EAAG,UAAW62D,KAAMo/B,EAAO7uF,OAAS,GAAIqP,KAAM,EAAA8lJ,eAAejwH,SAEpF,uBAAKvrC,UAAWf,EAAG,WAAYi2F,EAAO7uF,OAGlD,IAEA,UAAek1J,C,kYCxBf,cACA,WACA,cAEA,WAEMl5I,EAAkB,CAAC,EAAArjB,WAAW61E,UAAW,EAAA71E,WAAW81E,iBA+B1D,UAxBiB,SAAC30E,EAAcia,EAAqBe,G,YACzCk6D,EAA2Cl6D,EAAI,cAAhC85D,EAA4B95D,EAAI,wBAEjDD,EAAM,QACL,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAAqhJ,mCAAkCt7J,EAAG,CAAC,EAAAnB,WAAW61E,WAAYz6D,EAAQi7D,KAIxEj7D,EAAO,EAAApb,WAAW81E,mBAChB,aAAkD,QAAzC,EAAkC,QAAlC,EAAA16D,EAAO,EAAApb,WAAW81E,wBAAgB,eAAEliC,aAAK,eAAEtzB,OACjD,aAAkD,QAAzC,EAAkC,QAAlC,EAAAlF,EAAO,EAAApb,WAAW81E,wBAAgB,eAAEliC,aAAK,eAAEvzB,OAEzDnE,EAAO,EAAAlc,WAAW81E,iBAAmB30E,EAAE,wDAG3C,IAAM20E,EAAkB16D,EAAO,EAAApb,WAAW81E,iBAK1C,OAJK,IAAA4mF,mDAAkD5mF,EAAiBG,KACpE/5D,EAAO,EAAAlc,WAAW81E,iBAAmB30E,EAAE,6DAGpC+a,CACX,C,+BCpCA,WAAgB,gBAAgB,qCAAqC,OAAS,8BAA8B,SAAW,gC,6JCDvH,kBAEA,WACA,cAiCA,UAAe,UAAM7b,MAXI,SACrBC,GAEQ,IAAA4Y,EAAmB5Y,EAAK,KAAlB4O,EAAa5O,EAAK,SAE1Bya,GAAS,IAAAgY,oBACT3X,GAAS,aAAIL,EAAOK,OAAQlC,GAElC,OAAO,wBAAC,EAAAyjJ,WAAU,CAACzjJ,KAAMA,EAAMya,OAAQ,SAACrzB,GAAU,OAAA4O,EAASkM,EAAQ9a,EAAjB,GACtD,G,kTChCA,eACA,WAEM+iB,EAAkB,CAAC,EAAArjB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,SAAU,EAAAjqB,WAAWqB,SAAU,EAAArB,WAAWo8E,UAC9Fu+C,EAAkB,CAAC,EAAA36H,WAAW42B,UAC9BgkG,EAAc,CAAC,EAAA56H,WAAW42B,UAC1BgmI,EAAe,CAAC,EAAA58J,WAAW+G,OAC3B8zH,EAAe,CAAC,EAAA76H,WAAW86H,aAAc,EAAA96H,WAAWq2I,aAc1D,UAZiB,SAACl1I,EAAcia,GAS5B,OARY,cACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4/G,eAAc75H,EAAGw5H,EAAiBv/G,KAClC,IAAA6/G,WAAU95H,EAAGy5H,EAAax/G,KAC1B,IAAA4iG,YAAW78G,EAAGy7J,EAAcxhJ,KAC5B,IAAAiP,kBAAiBlpB,EAAG05H,EAAcz/G,GAI7C,C,yECrBA,eAEA,WAwBA,UAtBsB,SAACtX,G,oBACnB,QAAK,IAAAyuG,qBAAoBzuG,EAAcO,SAKhB,QAAnB,EAAAP,EAAcO,aAAK,eAAEd,QAAS,EAAAivG,kBAAkBqqD,oBAC7B,QAAnB,EAAA/4J,EAAcO,aAAK,eAAEd,QAAS,EAAAivG,kBAAkBsqD,oBAC7B,QAAnB,EAAAh5J,EAAcO,aAAK,eAAEd,QAAS,EAAAivG,kBAAkBuqD,eAC7B,QAAnB,EAAAj5J,EAAcO,aAAK,eAAEd,QAAS,EAAAivG,kBAAkBwqD,eAC7B,QAAnB,EAAAl5J,EAAcO,aAAK,eAAEd,QAAS,EAAAivG,kBAAkByqD,eAC7B,QAAnB,EAAAn5J,EAAcO,aAAK,eAAEd,QAAS,EAAAivG,kBAAkB0qD,qBAC7B,QAAnB,EAAAp5J,EAAcO,aAAK,eAAEd,QAAS,EAAAivG,kBAAkB2qD,iCAVzC,CAAC,IAYD,EAAP,IACK,EAAAn9J,WAAWsqB,UAAWxmB,EAAcO,MAAMd,K,EAKvD,C,qMCpBa,EAAA65J,oBAAsB,SAACp5J,GAA2C,OAAAA,EAAMgrD,SAAS1gD,KAAf,EAElE,EAAA+uJ,oBAAsB,SAACr5J,GAA2C,OAAAA,EAAMgrD,SAASzoD,KAAf,EAElE,EAAA+2J,oBAAsB,SAACt5J,GAA2C,OAAAA,EAAMgrD,SAASvgD,KAAf,EAElE,EAAA8uJ,oBAAsB,SAACv5J,GAA0C,OAAAA,EAAMgrD,SAASrgD,IAAf,EAEjE,EAAA6uJ,6BAA+B,SAACx5J,GAAkC,OAAAA,EAAMgrD,SAASi3E,oBAAf,C,sBCZ/E,IAAYjmI,E,qEAAZ,SAAYA,GACR,6DACA,+DACA,kCACA,kCACA,0CACA,gDACA,mCACA,0CACA,2CACH,CAVD,CAAYA,IAAU,aAAVA,EAAU,I,q7BCAtB,kBAEA,WACA,WACA,cACA,cACA,cAGA,WACA,cAgBM4O,EAAgB,+BAEhB6uJ,EAAgDr9J,EAAMC,MAAK,SAACC,GACtD,IAAAyM,EAA4CzM,EAAK,KAA3CQ,EAAsCR,EAAK,QAAlCstB,EAA6BttB,EAAK,UAAvBwD,EAAkBxD,EAAK,cACjDa,GAAM,IAAAC,kBAAgB,EAExBi8H,GAAe,IAAAqgC,qBAAoB3wJ,aAAI,EAAJA,EAAMnJ,YAAamJ,aAAI,EAAJA,EAAMswF,gBAElE,OAAKtwF,EAKD,gBAAC,UAAK,KACF,gBAAC,UAAY,CAACjM,QAASA,GACnB,gBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,mCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,SAC9BjJ,WAAY7B,EAAcK,QAC1BpC,QAAS,WACLjB,GACJ,GAEJ,CACIoO,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BU,UAAWxL,EAAcK,QACzBwB,WAAY7B,EAAcK,QAC1BpC,QAAS,WACL6rB,EAAU7gB,EAAKP,GACnB,IAGRC,KAAM,gBAAC,UAAY,MACnBlM,MAAOY,EAAE,8CACT0X,QAAS1X,EAAE,mDAAoD,CAC3Dk9C,SAAUg/E,aAAY,EAAZA,EAAcnkH,WAjCjC,IAuCf,IAEA,UAAeukJ,C,kuCC5Ef,kBACA,cAEA,cACA,WACA,WACA,cACA,aACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,UACA,WACA,cACA,UACA,WACA,cAGA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cAIMx9J,EAAK,UAAWC,KAAK,WAIrBy9J,EAAqD,CAAC,EAAAv0F,kBAAkB38C,UAExEmxI,EAAwB,IAAIxuI,IAAI,CAClC,EAAAiU,0BAA0BjX,kBAC1B,EAAAiX,0BAA0B/W,WAkT9B,UA/SuD,SAAChsB,GAC5C,IAAAQ,EAAYR,EAAK,QACjBa,GAAM,IAAAC,kBAAgB,EAEtBuC,GAAc,eAAmB,UAEnC,KAAkC,IAAAu7F,eACpC,EAAA/mF,cAAc0lJ,iBACd,IAAAz3F,kBAAgC,CAAC,IACpC,GAHM5rD,EAAY,KAAED,EAAe,KAK9BO,EAAgB,UAAMhW,SAAQ,WAAM,oBAAiB0V,EAAjB,GAAgC,CAACA,IAErEO,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBJ,cAAa,EACbK,SAAU,SAACC,EAAQC,GACf,IAAMb,GAAe,aAAgBY,GACrCb,EAAgBC,GAEhBa,EAAcI,WAAW,CAAC,GAEtB3a,GACAA,GAER,IAGE4a,EAAe,UAAM5W,SAAQ,WAC/B,OAAO,IAAA6W,aAAYb,EAAeC,EAAOK,OAC7C,GAAG,CAACN,EAAeC,EAAOK,SAE1B,OACI,gCAAMD,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAACM,MAAOY,EAAE,sCAAuCL,QAASA,KAEnF,wBAAC,UAAa,KACV,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRE,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAW89J,kBACjBz5J,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW89J,mBAChC3hJ,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW89J,mBACrCz2J,MAAOlG,EAAE,0DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAA2B,CACxB8a,OAAQL,EAAOK,OAAO,EAAApb,WAAW89J,mBACjC1gJ,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,EACfi0E,cAAY,GATR,IAahB,wBAAC,UAAW,CACRh5E,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAW0pB,OACjBrlB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0pB,QAChCvN,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0pB,QACrCriB,MAAOlG,EAAE,oDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAA6B,CAC1By9J,gBAAiBJ,EACjBp4J,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0pB,QAChCtM,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAAC,4BAA4BiF,WAC7CrC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GAVX,KAepB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,uBACvBiZ,KAAM,EAAAlZ,WAAW0nB,YACjBrgB,MAAOlG,EAAE,0DACTkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0nB,aAChCvL,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0nB,aACrCrL,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW0nB,YACjBniB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0nB,aAChC1hB,YAAa7E,EAAE,gEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAVX,IAchB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,kBACdiZ,KAAM,EAAAlZ,WAAWgnB,QACjB3iB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgnB,SAChC7K,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgnB,SACrC3f,MAAOlG,EAAE,qDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAuB,CACpB8a,OAAQL,EAAOK,OAAO,EAAApb,WAAWgnB,SACjC5J,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GARX,KAapB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWgwJ,yBACjB3rJ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgwJ,0BAChC7zI,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgwJ,0BACrC3oJ,MAAOlG,EAAE,oEACTQ,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,uEAGXkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWgwJ,0BAChC5yI,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,GANX,IAUhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,mBACvBiZ,KAAM,EAAAlZ,WAAWwlC,WACjBnhC,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWwlC,YAChCrpB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWwlC,YACrCn+B,MAAOlG,EAAE,sDACTQ,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,yDAGXkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAwB,CACrB4yJ,eAAa,EACb93I,OAAQL,EAAOK,OAAO,EAAApb,WAAWwlC,YACjC3iC,gBAAiB,EAAAC,4BAA4BC,YAC7Cqa,SAAU,SAAChC,EAAQ4iJ,GACf19J,EAAM8c,SAAShC,GACfL,EAAOsB,cAAc,EAAArc,WAAW+tB,aAAciwI,EAClD,EACAp4J,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfT,UAAWzB,EACXoC,iBAAe,EACfk4J,oBAAqBL,GAbjB,KAkBpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR58J,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAW0d,YACjBrZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0d,aAChCvB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0d,aACrCrW,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0d,aAChCN,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,GANX,IAUhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWggG,gBACjB37F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWggG,iBAChC7jF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWggG,iBACrC34F,MAAOlG,EAAE,2DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAoB,CACjB8E,UAAWzB,EACXmX,cAAeC,EAAOK,OAAO,EAAApb,WAAWggG,iBACxCE,cAAenlF,EAAOK,OAAO,EAAApb,WAAWmgG,mBACxC/kF,OAAQL,EAAOK,OAAO,EAAApb,WAAWggG,iBACjCx6F,SAAU,SAACW,EAAQQ,GACfrG,EAAM8c,SAASjX,GACf4U,EAAOsB,cAAc,EAAArc,WAAWmgG,kBAAmBx5F,EACvD,EACAjB,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,EACfm4J,4BAA0B,GAftB,KAoBpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRl9J,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWogG,gBACjB/7F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWogG,iBAChCjkF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWogG,iBACrC/4F,MAAOlG,EAAE,+DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWogG,iBAChChjF,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,GANX,IAUhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWqgG,mBACjBh8F,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWqgG,oBAChClkF,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWqgG,oBACrCh5F,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAoB,CACjB8E,UAAWzB,EACXmX,cAAeC,EAAOK,OAAO,EAAApb,WAAWqgG,oBACxCH,cAAenlF,EAAOK,OAAO,EAAApb,WAAWsgG,sBACxCllF,OAAQL,EAAOK,OAAO,EAAApb,WAAWqgG,oBACjC76F,SAAU,SAACW,EAAQQ,GACfrG,EAAM8c,SAASjX,GACf4U,EAAOsB,cAAc,EAAArc,WAAWsgG,qBAAsB35F,EAC1D,EACAjB,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,EACfm4J,4BAA0B,GAftB,MAqBxB,wBAAC,UAAmB,CAAClgJ,aAAW,GAC5B,wBAAC,UAAM,CACHxc,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZwC,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,yCAKvB,C,q2BC5VA,kBAEA,cACA,WACA,WASMg9J,EAAsC/9J,EAAMC,MAAK,SAACC,GAC5C,IAAA4F,EAAkD5F,EAAK,SAA7C6F,EAAwC7F,EAAK,OAArC60C,EAAgC70C,EAAK,kBAAlBy8C,EAAaz8C,EAAK,SAEvDa,GAAM,IAAAC,kBAAgB,EAE9B,OAAI27C,IAAa,EAAA1b,aAAauzE,gBACnB,2BAAMzzG,EAAE,uBAGdgF,EAKD,gBAAC,UAAI,CACDpE,QAAS,WACLozC,EAAkBhvC,IAAU42C,EAChC,EACAv7C,MAAO,EAAA8mB,cAAcC,eAEpBriB,GAVE,IAaf,IAEA,UAAei4J,C,sBCtCf,IAAYn+J,E,qEAAZ,SAAYA,GACR,sBACA,6BACH,CAHD,CAAYA,IAAU,aAAVA,EAAU,I,i4BCAtB,kBACA,WACA,WAOa,EAAAo+J,mBAAgB,MACxB,EAAApoG,cAAcxsD,MAAO,yBACtB,EAAC,EAAAwsD,cAAcC,YAAa,gCAC5B,EAAC,EAAAD,cAAcxpC,SAAU,4BACzB,EAAC,EAAAwpC,cAAcE,WAAY,8BAC3B,EAAC,EAAAF,cAAcma,QAAS,2B,GAG5B,IAAMkuF,EAA8Bj+J,EAAMC,MAAK,SAACC,GACpC,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAAi9J,iBAAiB10I,IAHf,IAIf,IAEA,UAAe20I,C,+BC5Bf,WAAgB,OAAS,uCAAuC,SAAW,yC,kuCCD3E,kBAEA,cACA,cACA,aACA,cACA,WACA,WACA,WACA,YACA,WACA,cACA,cACA,UAIMp+J,EAAK,UAAWC,KAAK,WAErBsyI,EAAc,aAEd8rB,GAAQ,eAASrkJ,SAEjBskJ,EAA6Bn+J,EAAMC,MAAK,W,MACpCw0B,GAAW,IAAAC,eAETnxB,GAAc,eAAmB,UAEnCG,GAAgB,IAAAwS,aAAY,EAAAkoJ,uBAE5BC,GAAkB,IAAAnoJ,cAAY,IAAAooJ,6BAA4B/6J,IAE1D,IAAoBvD,EAAMuE,UAA4B,WAChD,IAAA4B,EAAUk4J,EAAe,MAE3BE,EAAYp4J,aAAK,EAALA,EAAO+0B,SACnBsjI,EAAUr4J,aAAK,EAALA,EAAOuc,OACvB,GAAI67I,GAAaC,EAAS,CACtB,IAAMC,GAAa,aAAOF,EAAWnsB,GAC/BssB,GAAW,aAAOF,EAASpsB,GAEjC,GAAIqsB,EAAWE,WAAaD,EAASC,WAAaD,EAASE,QAAQH,GAC/D,MAAO,CACHjnI,KAAMinI,EAAW/7I,SACjB0F,IAAI,aAAOo2I,EAASpsB,GAAa1vH,SAG7C,CAEA,IAAMm8I,GAAgB,eAASn8I,SAG/B,MAAO,CACH8U,MAHoB,eAAS+sB,SAAS,EAAG,SAAS7hC,SAIlD0F,GAAIy2I,EAEZ,IAAE,GAxBK3oF,EAAK,KAAE4oF,EAAQ,KAwDtB,OA9BA9+J,EAAMoL,WAAU,WACZ,OAAO,WACHqpB,GAAS,IAAAsqI,iBACb,CACJ,GAAG,CAACtqI,IAEJz0B,EAAMoL,WAAU,WACZ,GAAK8qE,EAIL,GAAK3yE,EAAL,CAKQ,IAAAi0B,EAAa0+C,EAAK,KAAZ9tD,EAAO8tD,EAAK,GACrB1+C,GAASpP,GAAO7kB,GAIrBkxB,GACI,IAAAuqI,eAAc,CACVh6J,UAAWzB,EACX23B,UAAU,aAAO1D,GAAM3d,OAAOu4H,GAC9B1vH,QAAQ,aAAO0F,GAAIvO,OAAOu4H,KAXlC,MAFI,IAAAx9G,YAAW,iDAgBnB,GAAG,CAACH,EAAUlxB,EAAW2yE,IAGrB,wBACIt1E,UAAWf,EAAG,QACdkb,SAAU,SAAClP,GAEPA,EAAMW,kBACNX,EAAMiwC,gBACV,GAEA,gBAAC,UAAU,CACP3+B,SAAO,EACPvc,UAAWf,EAAG,SACdk3B,eAAgBl3B,EAAG,eACnBsF,MAAO+wE,EACP//C,QAAS+nI,EACTtnI,kBAAgB,EAChB5Z,SAAU8hJ,EACVr8J,gBAAiB,EAAA2a,8BAA8BzV,aAEnD,gBAAC,UAAS,CAAC/G,UAAWf,EAAG,QAAS0U,WAAS,EAACC,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC/E2B,aAAa,EAAbA,EAAeK,SACZ,gBAAC,UAAiB,CAAClC,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAEhE,wBAAM3V,UAAWf,EAAG,UAAgC,QAArB,EAAAw+J,EAAgB/xF,aAAK,eAAExpE,QAK1E,IAEA,UAAeq7J,C,q7BCtHf,kBAEA,cAEA,cAQMt+J,EAAK,UAAWC,KAAK,WAErBm/J,EAAoCj/J,EAAMC,MAAK,SAACC,GAC1C,IAAAmM,EAA6BnM,EAAK,KAA5BC,EAAuBD,EAAK,MAArBovB,EAAgBpvB,EAAK,YAE1C,OACI,uBAAKU,UAAWf,EAAG,UACf,uBAAKe,UAAWf,EAAG,SAAUwM,GAC7B,uBAAKzL,UAAWf,EAAG,UAAWM,GAC9B,uBAAKS,UAAWf,EAAG,gBAAiByvB,GAGhD,IAEA,UAAe2vI,C,ohCC1Bf,kBAMA,aACA,WACA,cACA,WAMA,WACA,cACA,cACA,WAMA,cAGA,WACA,WACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,cACA,eACA,eACA,eACA,eACA,cACA,aACA,eACA,YACA,WAWA,WAEMC,GAA0B,SAC5B9H,EACA+H,GAEA,OAAK/H,EAAatiG,WAIX,GAAAsqG,mCAAmChI,EAAatiG,YAH5CqqG,CAIf,EAEa,EAAAE,wBAAsD,SAACjI,G,MAChE,OAAQA,EAAavzJ,QACjB,KAAK,EAAAy7J,uBAAuBC,gBAChB,IAAA5yJ,EAASyqJ,EAAY,KAE7B,MAAO,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAAC,UAAkB,CACf0jD,YAAaznD,EAAKynD,YAClBoK,eAAgB7xD,EAAK6xD,eACrBC,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAKtC,KAAK,EAAAgrG,uBAAuBE,iBAGxB,OAFQ7yJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAAC,UAAkB,CACf0jD,YAAaznD,EAAKynD,YAClBoK,eAAgB7xD,EAAK6xD,eACrBC,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAKtC,KAAK,EAAAgrG,uBAAuBG,kBAGxB,OAFQ9yJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MACI,KAAAwoD,oCAAmCuiG,EAAatiG,cAChD,KAAAE,uCAAsC,EAAAC,mBAAmBpvB,UAC7Dn1B,KACI,gBAAC,WAAoB,CACjB0jD,YAAaznD,EAAKynD,YAClBoK,eAAgB7xD,EAAK6xD,eACrBC,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAKtC,KAAK,EAAAgrG,uBAAuBI,wBAGxB,OAFQ/yJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MACI,KAAAwoD,oCAAmCuiG,EAAatiG,cAChD,KAAAE,uCAAsCroD,EAAK2c,QAC/C5Y,KACI,gBAAC,UAAiB,CACd8nE,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,OACtBgkB,WAAY,EAAAqnF,gBAAgBptF,SAC5B6F,aAAc,gBAAC,UAAqB,CAAC9uD,OAAQ3c,EAAK2c,YAMlE,KAAK,EAAAg2I,uBAAuBM,qBAGxB,OAFQjzJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MACI,KAAAwoD,oCAAmCuiG,EAAatiG,cAChD,KAAAI,wCAAuCvoD,EAAK2c,QAChD5Y,KACI,gBAAC,UAAiB,CACd8nE,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,OACtBgkB,WAAY,EAAAqnF,gBAAgBnsI,MAC5B4kD,aAAc,gBAAC,UAAkB,CAAC9uD,OAAQ3c,EAAK2c,YAM/D,KAAK,EAAAg2I,uBAAuBO,aAGxB,OAFQlzJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAAC,WAAe,CACZ0jD,YAAaznD,EAAKynD,YAClBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAMtC,KAAK,EAAAgrG,uBAAuBQ,oBAGxB,OAFQnzJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MACI,KAAAwoD,oCAAmCuiG,EAAatiG,cAChD,KAAAO,uCAAsC1oD,EAAK2c,QAC/C5Y,KACI,gBAAC,UAAiB,CACd8nE,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,OACtBgkB,WAAY,EAAAqnF,gBAAgBzgF,KAC5B9G,aAAc,gBAAC,UAAiB,CAAC9uD,OAAQ3c,EAAK2c,YAK9D,KAAK,EAAAg2I,uBAAuBS,iEAChBpzJ,EAASyqJ,EAAY,KAArB,IACF4I,EAAW92J,QAAQyD,EAAK8tF,4BACxBwlE,EAAe/2J,QAAQyD,EAAK6tF,gCAE7BwlE,GAAaC,IACd,KAAArrI,YAAW,+CAAgD,CAAEwiI,aAAY,IAG7E,IAAMx8G,EAAOolH,EAAW,UAA+B,UAEvD,MAAO,CACH3zJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAACkqC,EAAI,CACD49B,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAMtC,KAAK,EAAAgrG,uBAAuBY,iEAWxB,OAVQvzJ,EAASyqJ,EAAY,KACvB4I,EAAW92J,QAAQyD,EAAKguF,4BACxBslE,EAAe/2J,QAAQyD,EAAK+tF,gCAE7BslE,GAAaC,IACd,KAAArrI,YAAW,+CAAgD,CAAEwiI,aAAY,IAGvEx8G,EAAOolH,EAAW,UAAgC,UAEjD,CACH3zJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAACkqC,EAAI,CACD49B,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAMtC,KAAK,EAAAgrG,uBAAuBa,oCAGxB,OAFQxzJ,EAASyqJ,EAAY,MAEpBjyD,SACE,CACH94F,MAAM,KAAAwoD,oCAAmCuiG,EAAatiG,YACtDpkD,KACI,gBAAC,WAA+B,CAC5ByjD,0BAA2BxnD,EAAKwnD,2BAA6B,GAC7DC,YAAaznD,EAAKynD,aAAe,GACjCC,SAAU1nD,EAAK0nD,SACfC,OAAQ3nD,EAAK2nD,OACbztC,YAAala,EAAKka,aAAe,MAM1C,CACHxa,MACI,KAAAwoD,oCAAmCuiG,EAAatiG,cAChD,KAAAU,iDAAgD7oD,EAAK2c,QACzD5Y,KACI,gBAAC,UAAiB,CACd8nE,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,OACtBgkB,WAAY,EAAAqnF,gBAAgBS,oBAC5BhoF,aAAc,gBAAC,UAA2B,CAAC9uD,OAAQ3c,EAAK2c,YAMxE,KAAK,EAAAg2I,uBAAuBe,iDAGxB,OAFQ1zJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAAC,UAA8C,CAC3C7C,OAAQlB,EAAKynD,aAAe,GAC5BksG,MAAO3zJ,EAAK0nD,SACZksG,MAAO5zJ,EAAK2nD,UAM5B,KAAK,EAAAgrG,uBAAuBkB,2CAGxB,OAFQ7zJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAAC,UAAiC,CAC9BgoE,cAAe/rE,EAAKynD,aAAe,GACnCqK,WAAY9xD,EAAK0nD,UAAY,GAC7BqK,gBAAiB/xD,EAAK2nD,QAAU,MAMhD,KAAK,EAAAgrG,uBAAuBmB,uCAGxB,OAFQ9zJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAAC,UAA6B,CAC1BgoE,cAAe/rE,EAAKynD,aAAe,GACnCqK,WAAY9xD,EAAK0nD,UAAY,GAC7BqK,gBAAiB/xD,EAAK2nD,QAAU,MAMhD,KAAK,EAAAgrG,uBAAuBoB,cAGxB,OAFQ/zJ,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,WACrEpkD,KACI,gBAAC,UAAgB,CACb0jD,YAAaznD,EAAKynD,aAAe,GACjCqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAMtC,KAAK,EAAAgrG,uBAAuBqB,YAGxB,OAFQh0J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA0pD,gCAA+BqhG,EAAatiG,YAClDpkD,KACI,gBAAC,UAAqB,CAClBvN,KAAK,MACLy9J,aAAcj0J,EAAK0nD,SACnBwsG,WAAYl0J,EAAK2nD,OACjBwsG,kBAAmBn0J,EAAKo0J,cAMxC,KAAK,EAAAzB,uBAAuB0B,aAGxB,OAFQr0J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KACI,gBAAC,UAAqB,CAClBvN,KAAK,UACLy9J,aAAcj0J,EAAK0nD,SACnBwsG,WAAYl0J,EAAK2nD,OACjBwsG,kBAAmBn0J,EAAKo0J,cAMxC,KAAK,EAAAzB,uBAAuB2B,kBAC5B,KAAK,EAAA3B,uBAAuB4B,gBAGxB,OAFQv0J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA0pD,gCAA+BqhG,EAAatiG,YAClDpkD,KACI,gBAAC,UAAiB,CACdvN,KAAK,MACLy9J,aAAcj0J,EAAK0nD,SACnBwsG,WAAYl0J,EAAK2nD,OACjBwsG,kBAAmBn0J,EAAKo0J,cAMxC,KAAK,EAAAzB,uBAAuB6B,iBAGxB,OAFQx0J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KACI,gBAAC,UAAiB,CACdvN,KAAK,UACLy9J,aAAcj0J,EAAK0nD,SACnBwsG,WAAYl0J,EAAK2nD,OACjBwsG,kBAAmBn0J,EAAKo0J,cAMxC,KAAK,EAAAzB,uBAAuB8B,iBAGxB,OAFQz0J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,YACrEpkD,KACI,gBAAC,UAA0B,CACvBmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAMnC,KAAK,EAAAwtI,uBAAuB+B,iBAGxB,OAFQ10J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAAC,UAA0B,CACvBmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAMnC,KAAK,EAAAwtI,uBAAuBgC,iBAGxB,OAFQ30J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KACI,gBAAC,UAA0B,CACvBmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAKnC,KAAK,EAAAwtI,uBAAuBiC,mBAGxB,OAFQ50J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KACI,gBAAC,UAA4B,CACzBmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAMnC,KAAK,EAAAwtI,uBAAuBkC,yBAGxB,OAFQ70J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KACI,gBAAC,UAA6B,CAC1BmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAMnC,KAAK,EAAAwtI,uBAAuBmC,yBAGxB,OAFQ90J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,YACrEpkD,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBoC,yBAGxB,OAFQ/0J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBqC,yBAGxB,OAFQh1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBsC,2BAGxB,OAFQj1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KAAM,gBAAC,UAAmC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGtF,KAAK,EAAA2xI,uBAAuBuC,iCAGxB,OAFQl1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KAAM,gBAAC,UAAoC,CAACid,aAAchhB,EAAKghB,cAAgB,MAIvF,KAAK,EAAA2xI,uBAAuBwC,8BAGxB,OAFQn1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,YACrEpkD,KAAM,gBAAC,UAAqC,CAACtE,GAAIO,EAAKo1J,WAAa,MAG3E,KAAK,EAAAzC,uBAAuB0C,8BAGxB,OAFQr1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KAAM,gBAAC,UAAqC,CAACtE,GAAIO,EAAKo1J,WAAa,MAG3E,KAAK,EAAAzC,uBAAuB2C,8BAGxB,OAFQt1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KAAM,gBAAC,UAAqC,CAACtE,GAAIO,EAAKo1J,WAAa,MAG3E,KAAK,EAAAzC,uBAAuB4C,gCAGxB,OAFQv1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KAAM,gBAAC,UAAuC,CAACtE,GAAIO,EAAKo1J,WAAa,MAG7E,KAAK,EAAAzC,uBAAuB6C,sCAGxB,OAFQx1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KAAM,gBAAC,UAAwC,CAACtE,GAAIO,EAAKo1J,WAAa,MAI9E,KAAK,EAAAzC,uBAAuB8C,yBAGxB,OAFQz1J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,YACrEpkD,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuB+C,yBAGxB,OAFQ11J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBgD,yBAGxB,OAFQ31J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBiD,iCAGxB,OAFQ51J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA2pD,oCAAmCohG,EAAatiG,YACtDpkD,KAAM,gBAAC,UAAoC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGvF,KAAK,EAAA2xI,uBAAuBkD,2BAGxB,OAFQ71J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KAAM,gBAAC,UAAmC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGtF,KAAK,EAAA2xI,uBAAuBmD,aAGxB,OAFQ91J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KAAM,gBAAC,WAAmB,CAACgyJ,SAAU/1J,EAAK+1J,UAAY,MAG9D,KAAK,EAAApD,uBAAuBqD,gBAGxB,OAFQh2J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,oCAAmCuiG,aAAY,EAAZA,EAActiG,YACvDpkD,KAAM,gBAAC,WAAiB,CAACgyJ,SAAU/1J,EAAK+1J,UAAY,MAG5D,KAAK,EAAApD,uBAAuBsD,kBAGxB,OAFQj2J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAAwoD,qCAAmCuiG,aAAY,EAAZA,EAActiG,aAAc,aACrEpkD,KAAM,gBAAC,WAAmB,CAACgyJ,SAAU/1J,EAAK+1J,UAAY,MAG9D,KAAK,EAAApD,uBAAuBuD,sCAGxB,OAFQl2J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA4pD,yCAAwCmhG,EAAatiG,YAC3DpkD,KAAM,gBAAC,WAAuB,CAACN,YAAazD,EAAKyD,YAAaC,SAAuB,QAAb,EAAA1D,EAAK0D,gBAAQ,YAG7F,KAAK,EAAAivJ,uBAAuBwD,gCAGxB,OAFQn2J,EAASyqJ,EAAY,KAEtB,CACH/qJ,MAAM,KAAA6pD,0CAAyCkhG,EAAatiG,YAC5DpkD,KACI,gBAAC,WAAiC,CAC9B+7E,YAAa9/E,EAAK8/E,YAClBs2E,cAAep2J,EAAKo2J,cACpBC,uBAAwBr2J,EAAKq2J,0BAK7C,QACI,OAAO,KAGnB,EAEa,EAAAC,mBAA4C,SAAC7L,G,MACtD,OAAQA,EAAavzJ,QACjB,KAAK,EAAAy7J,uBAAuBC,gBAChB,IAAA5yJ,EAASyqJ,EAAY,KAE7B,MAAO,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,UAAkB,CACf0jD,YAAaznD,EAAKynD,YAClBoK,eAAgB7xD,EAAK6xD,eACrBC,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAKtC,KAAK,EAAAgrG,uBAAuBE,iBAGxB,OAFQ7yJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,UAAkB,CACf0jD,YAAaznD,EAAKynD,YAClBoK,eAAgB7xD,EAAK6xD,eACrBC,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAKtC,KAAK,EAAAgrG,uBAAuBG,kBAGxB,OAFQ9yJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAAgM,wBAAwB,EAAAnuG,mBAAmBpvB,WAC1Fn1B,KACI,gBAAC,WAAoB,CACjB0jD,YAAaznD,EAAKynD,YAClBoK,eAAgB7xD,EAAK6xD,eACrBC,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAKtC,KAAK,EAAAgrG,uBAAuBI,wBAGxB,OAFQ/yJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GACL9H,EACAzqJ,EAAK2c,OAAS,EAAA85I,wBAAwBz2J,EAAK2c,QAAU,EAAA65I,wBAAwBE,SAEjF3yJ,KACI,gBAAC,UAAiB,CACd8nE,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,OACtBgkB,WAAY,EAAAqnF,gBAAgBptF,SAC5B6F,aAAc,gBAAC,UAAqB,CAAC9uD,OAAQ3c,EAAK2c,YAMlE,KAAK,EAAAg2I,uBAAuBM,qBAGxB,OAFQjzJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GACL9H,EACAzqJ,EAAK2c,OAAS,EAAAg6I,yBAAyB32J,EAAK2c,QAAU,EAAA65I,wBAAwBE,SAElF3yJ,KACI,gBAAC,UAAiB,CACd8nE,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,OACtBgkB,WAAY,EAAAqnF,gBAAgBnsI,MAC5B4kD,aAAc,gBAAC,UAAkB,CAAC9uD,OAAQ3c,EAAK2c,YAM/D,KAAK,EAAAg2I,uBAAuBO,aAGxB,OAFQlzJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,WAAe,CACZ0jD,YAAaznD,EAAKynD,YAClBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAMtC,KAAK,EAAAgrG,uBAAuBQ,oBAGxB,OAFQnzJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GACL9H,EACAzqJ,EAAK2c,OAAS,EAAAi6I,wBAAwB52J,EAAK2c,QAAU,EAAA65I,wBAAwBE,SAEjF3yJ,KACI,gBAAC,UAAiB,CACd8nE,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,OACtBgkB,WAAY,EAAAqnF,gBAAgBzgF,KAC5B9G,aAAc,gBAAC,UAAiB,CAAC9uD,OAAQ3c,EAAK2c,YAM9D,KAAK,EAAAg2I,uBAAuBS,iEAChBpzJ,EAASyqJ,EAAY,KAArB,IACF4I,EAAW92J,QAAQyD,EAAK8tF,4BACxBwlE,EAAe/2J,QAAQyD,EAAK6tF,gCAE7BwlE,GAAaC,IACd,KAAArrI,YAAW,+CAAgD,CAAEwiI,aAAY,IAG7E,IAAMx8G,EAAOolH,EAAW,UAA+B,UAEvD,MAAO,CACHkD,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBE,SACvE3yJ,KACI,gBAACkqC,EAAI,CACD49B,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAMtC,KAAK,EAAAgrG,uBAAuBY,iEAWxB,OAVQvzJ,EAASyqJ,EAAY,KACvB4I,EAAW92J,QAAQyD,EAAKguF,4BACxBslE,EAAe/2J,QAAQyD,EAAK+tF,gCAE7BslE,GAAaC,IACd,KAAArrI,YAAW,+CAAgD,CAAEwiI,aAAY,IAGvEx8G,EAAOolH,EAAW,UAAgC,UAEjD,CACHkD,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBE,SACvE3yJ,KACI,gBAACkqC,EAAI,CACD49B,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAMtC,KAAK,EAAAgrG,uBAAuBkB,2CAGxB,OAFQ7zJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,UAAiC,CAC9BgoE,cAAe/rE,EAAKynD,aAAe,GACnCqK,WAAY9xD,EAAK0nD,UAAY,GAC7BqK,gBAAiB/xD,EAAK2nD,QAAU,MAMhD,KAAK,EAAAgrG,uBAAuBmB,uCAGxB,OAFQ9zJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,UAA6B,CAC1BgoE,cAAe/rE,EAAKynD,aAAe,GACnCqK,WAAY9xD,EAAK0nD,UAAY,GAC7BqK,gBAAiB/xD,EAAK2nD,QAAU,MAMhD,KAAK,EAAAgrG,uBAAuBoB,cAGxB,OAFQ/zJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,UAAgB,CACb0jD,YAAaznD,EAAKynD,aAAe,GACjCqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,UAMtC,KAAK,EAAAgrG,uBAAuBa,oCAGxB,IAFQxzJ,EAASyqJ,EAAY,MAEpBjyD,SACL,MAAO,CACH+9D,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,WAA+B,CAC5ByjD,0BAA2BxnD,EAAKwnD,2BAA6B,GAC7DC,YAAaznD,EAAKynD,aAAe,GACjCC,SAAU1nD,EAAK0nD,SACfC,OAAQ3nD,EAAK2nD,OACbztC,YAAala,EAAKka,aAAe,MAMjD,IAAM28I,EAAgB72J,EAAK2c,OACrB,EAAAm6I,kCAAkC92J,EAAK2c,QACvC,EAAA65I,wBAAwBE,QAC9B,MAAO,CACHH,QAAShE,GAAwB9H,EAAcoM,GAC/C9yJ,KACI,gBAAC,UAAiB,CACd8nE,YAAa,EAAAmnF,gBAAgBnsI,MAC7BklD,cAAe/rE,EAAKynD,YACpBqK,WAAY9xD,EAAK0nD,SACjBqK,gBAAiB/xD,EAAK2nD,OACtBgkB,WAAY,EAAAqnF,gBAAgBS,oBAC5BhoF,aAAc,gBAAC,UAA2B,CAAC9uD,OAAQ3c,EAAK2c,YAMxE,KAAK,EAAAg2I,uBAAuBe,iDAGxB,OAFQ1zJ,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KACI,gBAAC,UAA8C,CAC3C7C,OAAQlB,EAAKynD,aAAe,GAC5BksG,MAAO3zJ,EAAK0nD,SACZksG,MAAO5zJ,EAAK2nD,UAM5B,KAAK,EAAAgrG,uBAAuBqB,YAGxB,OAFQh0J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBE,SACvE3yJ,KACI,gBAAC,UAAqB,CAClBvN,KAAK,MACLy9J,aAAcj0J,EAAK0nD,SACnBwsG,WAAYl0J,EAAK2nD,OACjBwsG,kBAAmBn0J,EAAKo0J,cAMxC,KAAK,EAAAzB,uBAAuB0B,aAGxB,OAFQr0J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KACI,gBAAC,UAAqB,CAClBvN,KAAK,UACLy9J,aAAcj0J,EAAK0nD,SACnBwsG,WAAYl0J,EAAK2nD,OACjBwsG,kBAAmBn0J,EAAKo0J,cAMxC,KAAK,EAAAzB,uBAAuB2B,kBAC5B,KAAK,EAAA3B,uBAAuB4B,gBAGxB,OAFQv0J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBE,SACvE3yJ,KACI,gBAAC,UAAiB,CACdvN,KAAK,MACLy9J,aAAcj0J,EAAK0nD,SACnBwsG,WAAYl0J,EAAK2nD,OACjBwsG,kBAAmBn0J,EAAKo0J,cAMxC,KAAK,EAAAzB,uBAAuB6B,iBAGxB,OAFQx0J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KACI,gBAAC,UAAiB,CACdvN,KAAK,UACLy9J,aAAcj0J,EAAK0nD,SACnBwsG,WAAYl0J,EAAK2nD,OACjBwsG,kBAAmBn0J,EAAKo0J,cAMxC,KAAK,EAAAzB,uBAAuBgC,iBAGxB,OAFQ30J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KACI,gBAAC,UAA0B,CACvBmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAKnC,KAAK,EAAAwtI,uBAAuB8B,iBAGxB,OAFQz0J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwB9uJ,UACvE3D,KACI,gBAAC,UAA0B,CACvBmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAKnC,KAAK,EAAAwtI,uBAAuB+B,iBAGxB,OAFQ10J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KACI,gBAAC,UAA0B,CACvBmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAKnC,KAAK,EAAAwtI,uBAAuBiC,mBAGxB,OAFQ50J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,UAA4B,CACzBmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAKnC,KAAK,EAAAwtI,uBAAuBkC,yBAGxB,OAFQ70J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KACI,gBAAC,UAA6B,CAC1BmhB,YAAallB,EAAK8/E,aAAe,GACjCjpF,YAAamJ,EAAKE,aAAe,KACjCilB,aAAcnlB,EAAKmlB,gBAMnC,KAAK,EAAAwtI,uBAAuBqC,yBAGxB,OAFQh1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBmC,yBAGxB,OAFQ90J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwB9uJ,UACvE3D,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBoC,yBAGxB,OAFQ/0J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBuC,iCAGxB,OAFQl1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAoC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGvF,KAAK,EAAA2xI,uBAAuBsC,2BAGxB,OAFQj1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KAAM,gBAAC,UAAmC,CAACid,aAAchhB,EAAKghB,cAAgB,MAItF,KAAK,EAAA2xI,uBAAuB2C,8BAGxB,OAFQt1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAqC,CAACtE,GAAIO,EAAKo1J,WAAa,MAG3E,KAAK,EAAAzC,uBAAuBwC,8BAGxB,OAFQn1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwB9uJ,UACvE3D,KAAM,gBAAC,UAAqC,CAACtE,GAAIO,EAAKo1J,WAAa,MAG3E,KAAK,EAAAzC,uBAAuB0C,8BAGxB,OAFQr1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAqC,CAACtE,GAAIO,EAAKo1J,WAAa,MAG3E,KAAK,EAAAzC,uBAAuB6C,sCAGxB,OAFQx1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAwC,CAACtE,GAAIO,EAAKo1J,WAAa,MAG9E,KAAK,EAAAzC,uBAAuB4C,gCAGxB,OAFQv1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KAAM,gBAAC,UAAuC,CAACtE,GAAIO,EAAKo1J,WAAa,MAI7E,KAAK,EAAAzC,uBAAuBgD,yBAGxB,OAFQ31J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuB8C,yBAGxB,OAFQz1J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwB9uJ,UACvE3D,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuB+C,yBAGxB,OAFQ11J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAiC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGpF,KAAK,EAAA2xI,uBAAuBiD,iCAGxB,OAFQ51J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBO,UACvEhzJ,KAAM,gBAAC,UAAoC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGvF,KAAK,EAAA2xI,uBAAuBkD,2BAGxB,OAFQ71J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KAAM,gBAAC,UAAmC,CAACid,aAAchhB,EAAKghB,cAAgB,MAGtF,KAAK,EAAA2xI,uBAAuBmD,aAGxB,OAFQ91J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KAAM,gBAAC,WAAmB,CAACgyJ,SAAU/1J,EAAK+1J,UAAY,MAG9D,KAAK,EAAApD,uBAAuBqD,gBAGxB,OAFQh2J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBE,SACvE3yJ,KAAM,gBAAC,WAAiB,CAACgyJ,SAAU/1J,EAAK+1J,UAAY,MAG5D,KAAK,EAAApD,uBAAuBsD,kBAGxB,OAFQj2J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KAAM,gBAAC,WAAmB,CAACgyJ,SAAU/1J,EAAK+1J,UAAY,MAG9D,KAAK,EAAApD,uBAAuBuD,sCAGxB,OAFQl2J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KAAM,gBAAC,WAAuB,CAACN,YAAazD,EAAKyD,YAAaC,SAAuB,QAAb,EAAA1D,EAAK0D,gBAAQ,YAG7F,KAAK,EAAAivJ,uBAAuBwD,gCAGxB,OAFQn2J,EAASyqJ,EAAY,KAEtB,CACH8L,QAAShE,GAAwB9H,EAAc,EAAA+L,wBAAwBpvJ,WACvErD,KACI,gBAAC,WAAiC,CAC9B+7E,YAAa9/E,EAAK8/E,YAClBs2E,cAAep2J,EAAKo2J,cACpBC,uBAAwBr2J,EAAKq2J,0BAK7C,QACI,OAAO,KAGnB,EAEa,EAAAW,oBAAgD,SAACvM,G,MAC1D,OAAQA,EAAavzJ,QACjB,KAAK,EAAAy7J,uBAAuBS,iEAC5B,KAAK,EAAAT,uBAAuBY,iEAC5B,KAAK,EAAAZ,uBAAuBQ,oBAC5B,KAAK,EAAAR,uBAAuBC,gBAC5B,KAAK,EAAAD,uBAAuBE,iBAC5B,KAAK,EAAAF,uBAAuBG,kBAC5B,KAAK,EAAAH,uBAAuBI,wBAS5B,KAAK,EAAAJ,uBAAuBM,qBAC5B,KAAK,EAAAN,uBAAuBa,oCACxB,OAAK/I,EAAazqJ,KAAKkjD,QAKhB,EAAAxnC,WAAW4gE,mBAAmBmuE,EAAazqJ,KAAKkjD,WAJnD,KAAAj7B,YAAW,iCAAkC,CAAEwiI,aAAY,IACpD,MAKf,KAAK,EAAAkI,uBAAuBO,aACxB,OAAsB,QAAjB,EAAAzI,EAAazqJ,YAAI,eAAEkjD,SAKjB,EAAAxnC,WAAW4gE,mBAAmBmuE,EAAazqJ,KAAKkjD,WAJnD,KAAAj7B,YAAW,iCAAkC,CAAEwiI,aAAY,IACpD,MAKf,KAAK,EAAAkI,uBAAuBe,iDACxB,OAAKjJ,EAAazqJ,KAAKkjD,QAKhB,EAAAxnC,WAAW4gE,mBAAmBmuE,EAAazqJ,KAAKkjD,WAJnD,KAAAj7B,YAAW,iCAAkC,CAAEwiI,aAAY,IACpD,MAMf,KAAK,EAAAkI,uBAAuBqB,YAC5B,KAAK,EAAArB,uBAAuB0B,aAC5B,KAAK,EAAA1B,uBAAuB4B,gBAC5B,KAAK,EAAA5B,uBAAuB2B,kBAC5B,KAAK,EAAA3B,uBAAuB6B,iBACxB,OAAK/J,EAAazqJ,KAAK+4C,OAKhB,EAAAr9B,WAAWsgD,mBAAmByuF,EAAazqJ,KAAK+4C,UAJnD,KAAA9wB,YAAW,gCAAiC,CAAEwiI,aAAY,IACnD,MAKf,KAAK,EAAAkI,uBAAuBsE,gBAC5B,KAAK,EAAAtE,uBAAuBgC,iBAC5B,KAAK,EAAAhC,uBAAuB+B,iBAC5B,KAAK,EAAA/B,uBAAuB8B,iBAC5B,KAAK,EAAA9B,uBAAuBiC,mBAC5B,KAAK,EAAAjC,uBAAuBkC,yBAClB,MAA2CpK,EAAazqJ,KAAtDmlB,EAAY,eAAEjlB,EAAW,cAEjC,OAFmC7H,EAAS,aAOrC,EAAAqjB,WAAWw7I,uBAAuB7+J,EAAW6H,EAAgCilB,KAJhF,KAAA8C,YAAW,mCAAoC,CAAEwiI,aAAY,IACtD,MAMf,KAAK,EAAAkI,uBAAuBqC,yBAC5B,KAAK,EAAArC,uBAAuBoC,yBAC5B,KAAK,EAAApC,uBAAuBmC,yBAC5B,KAAK,EAAAnC,uBAAuBsC,2BAC5B,KAAK,EAAAtC,uBAAuBuC,iCAClB,MAA6BzK,EAAazqJ,KAEhD,OAFQE,EAAW,eAAE7H,EAAS,aAOzBoyJ,EAAazqJ,KAAKy4B,WAKhB,EAAA/c,WAAWy7I,6BAA6B,CAC3CvgK,UAAWyB,EACXxB,YAAaqJ,EACbmW,kBAAmBo0I,EAAazqJ,KAAKy4B,eAPrC,KAAAxQ,YAAW,oCAAqC,CAAEwiI,aAAY,IACvD,QANP,KAAAxiI,YAAW,mCAAoC,CAAEwiI,aAAY,IACtD,MAef,KAAK,EAAAkI,uBAAuByE,6BAC5B,KAAK,EAAAzE,uBAAuB2C,8BAC5B,KAAK,EAAA3C,uBAAuB0C,8BAC5B,KAAK,EAAA1C,uBAAuBwC,8BAC5B,KAAK,EAAAxC,uBAAuB4C,gCAC5B,KAAK,EAAA5C,uBAAuB6C,sCAClB,MAAiD/K,EAAazqJ,KAA/C3H,GAAb6H,EAAW,cAAW,aAAEu4B,EAAU,aAAE0C,EAAM,SAElD,OAAK9iC,EAKAogC,EAKA0C,EAKE,EAAAzf,WAAW27I,2BAA2B,CACzCzgK,UAAWyB,EACXxB,YAAaqJ,EACbu4B,WAAU,EACV0C,OAAM,MARN,KAAAlT,YAAW,gCAAiC,CAAEwiI,aAAY,IACnD,QANP,KAAAxiI,YAAW,oCAAqC,CAAEwiI,aAAY,IACvD,QANP,KAAAxiI,YAAW,mCAAoC,CAAEwiI,aAAY,IACtD,MAoBf,KAAK,EAAAkI,uBAAuBmD,aACxB,OAAO,KAEX,KAAK,EAAAnD,uBAAuBqD,gBAC5B,KAAK,EAAArD,uBAAuBsD,kBAChB,IAAAl1F,EAAW0pF,EAAazqJ,KAAI,OAEpC,OAAK+gE,EAKE,EAAArlD,WAAW47I,gBAAgBv2F,KAJ9B,KAAA94C,YAAW,gCAAiC,CAAEwiI,aAAY,IACnD,MAKf,KAAK,EAAAkI,uBAAuBgD,yBAC5B,KAAK,EAAAhD,uBAAuB+C,yBAC5B,KAAK,EAAA/C,uBAAuB8C,yBAC5B,KAAK,EAAA9C,uBAAuBkD,2BAC5B,KAAK,EAAAlD,uBAAuBiD,iCAClB,MAAyCnL,EAAazqJ,KAE5D,OAFQE,EAAW,cAAE7H,EAAS,YAAEogC,EAAU,aAErCpgC,EAKAogC,EAKE,EAAA/c,WAAW67I,6BAA6Bl/J,EAAW6H,EAAgCu4B,KAJtF,KAAAxQ,YAAW,oCAAqC,CAAEwiI,aAAY,IACvD,QANP,KAAAxiI,YAAW,mCAAoC,CAAEwiI,aAAY,IACtD,MAWf,KAAK,EAAAkI,uBAAuBkB,2CAC5B,KAAK,EAAAlB,uBAAuBmB,uCAS5B,KAAK,EAAAnB,uBAAuBoB,cACxB,OAAKtJ,EAAazqJ,KAAKkjD,QAKhB,EAAAxnC,WAAW4gE,mBAAmBmuE,EAAazqJ,KAAKkjD,WAJnD,KAAAj7B,YAAW,iCAAkC,CAAEwiI,aAAY,IACpD,MAMf,KAAK,EAAAkI,uBAAuBuD,sCAClB,MAA6BzL,EAAazqJ,KAEhD,OAFQ3H,EAAS,aAAE6H,EAAW,eASvB,EAAAwb,WAAWwM,eAAehoB,EAAa7H,GANnC,EAAAqjB,WAAWumC,WAS1B,KAAK,EAAA0wG,uBAAuBwD,gCAClB,MAA6B1L,EAAazqJ,KAEhD,OAFQ3H,EAAS,YAAE6H,EAAW,cAEzB7H,EAKA6H,EAME,EAAAwb,WAAWwM,eAAehoB,EAAa7H,GALnC,EAAAqjB,WAAWumC,aALlB,KAAAh6B,YAAW,mCAAoC,CAAEwiI,aAAY,IACtD,MAYf,QACI,OAAO,KAGnB,EAMa,EAAA37G,iBAAwC,SAAC16C,EAAGq4B,GACrD,IAL0B,SAACA,GAC3B,OAAOA,aAAoB,EAAA+qI,cAC/B,CAGSC,CAAsBhrI,GACvB,OAAO,KAGX,OAAQA,EAASrQ,QAAQ5lB,MACrB,KAAK,EAAAkhK,oBAAoBC,qBACrB,MAAO,CACHl4J,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAezlB,UACtB3H,KAAM,gBAAC,UAAQ,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAC7D7F,KAAM3P,EAAE,kCAGhB,KAAK,EAAAsjK,oBAAoBE,uBACrB,MAAO,CACHn4J,GAAIgtB,EAAShtB,GACbhL,MAAO,EAAAq4B,eAAerlB,YACtB/H,KAAM,gBAAC,UAAQ,CAACxK,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAC7D7F,KAAM3P,EAAE,oCAGhB,QACI,OAAO,KAKf,OAAO,IACX,C,+BC39CA,WAAgB,OAAS,qCAAqC,SAAW,uC,2FCDzE,eAOa,EAAAyjK,SAKT,SAAYz7I,GACRm8B,KAAK94C,IAAK,UACV84C,KAAKn8B,QAAUA,CACnB,C,+BCdJ,WAAgB,QAAU,sDAAsD,OAAS,qDAAqD,SAAW,uD,y/CCDzJ,kBACA,cAGA,cACA,cA6BA,UApBgE,SAAC7oB,GACrD,IAAAukK,EAAkDvkK,EAAK,eAAvCskD,EAAkCtkD,EAAK,gBAAnBusB,EAAS,EAAKvsB,EAApD,sCAEN,OACI,gBAAC,UAAO,CACJe,SAAUujD,GAAmB,EAAAtjD,oBAAoB0B,WACjDxB,MAAO,EAAAC,iBAAiBC,MACxBC,YACIkjK,EACI,gBAAC,UAAc,CAAChwJ,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDmjK,GAEL,OAGP,WAAM,uBAAC,UAA0B,KAAKh4I,GAAhC,GAGnB,C,sBC9BA,IAAY7sB,E,qEAAZ,SAAYA,GACR,eACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,I,0kCCFtB,kBAiBA,UAXsC,SAACM,GACnC,OACI,yBAAKwB,MAAO,GAAIsK,OAAQ,GAAIuF,QAAQ,aAAgBrR,GAChD,qBAAGwM,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAK,UAAU+E,EAAE,0EAIvC,C,6JCfA,kBAEA,WACA,cACA,cACA,cACA,WACA,WAKA,WAEA,WACA,WACA,cAwFA,UA1EkD,SAACvR,GAE3C,IAAAqD,EASArD,EAAK,UARLE,EAQAF,EAAK,SAPLQ,EAOAR,EAAK,QANLs6C,EAMAt6C,EAAK,QALLyO,EAKAzO,EAAK,SAJL2jD,EAIA3jD,EAAK,yBAHLu6C,EAGAv6C,EAAK,mBAFLgxD,EAEAhxD,EAAK,qBADL60C,EACA70C,EAAK,kBAEDa,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAEXu1G,GAAsB,IAAA/zH,cAAY,IAAAwuJ,gCAA+BnhK,IACjEohK,GAAmB,IAAAzuJ,cAAY,IAAA0uJ,6BAA4BrhK,IAC3DshK,GAAc,IAAA3uJ,cAAY,IAAA4uJ,0BAAyBvhK,IAEnDwhK,GAAcvqH,EAkBd2W,EAAe0zG,EAAYrqH,GAE3Br6C,EAAQ4kK,EACRhkK,EAAE,sCACFA,EAAE,sCAAuC,CACrCumB,aAAa6pC,aAAY,EAAZA,EAAc7pC,cAAe,KAGpD,OACI,gDACI,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CACjBnnB,MAAOA,EACPG,eAAgB,wBAAC,UAAe,CAACkU,eAAa,EAAC8U,QAAQ6nC,aAAY,EAAZA,EAAc7nC,SAAU,OAC/E5oB,QAASA,EACTN,SAAUA,KAGlB,wBAAC,UAAa,KACV,wBAAC,UAAgB,CACbmD,UAAWA,EACX2L,UAAW+6H,EAAoBlmI,SAAW4gK,EAAiB5gK,QAC3DghK,WAAYA,EACZ5zG,aAAcA,EACdp2C,SAxCK,SAACiqJ,GAClB,GAAID,EAAY,CAEZ,KADME,GAAe,IAAAC,uBAAsBF,IAEvC,OAEJvwI,GAAS,IAAA0wI,iBAAgBF,EAAc1hK,GAC3C,MAAO,GAAIi3C,EAAS,CAChB,IAAMyqH,EACN,KADMA,GAAe,IAAAG,uBAAsBJ,IAEvC,OAEJvwI,GAAS,IAAAo7F,aAAYr1E,EAASyqH,EAAc1hK,GAChD,CACJ,EA2BgBoL,SAAUA,EACVk1C,yBAA0BA,EAC1BpJ,mBAAoBA,EACpByW,qBAAsBA,EACtBnc,kBAAmBA,KAKvC,C,4pCCtGA,kBAIA,WACA,WAMA,cACA,cACA,WACA,cAEA,WACA,WACA,cAsBMswH,GAnBK,UAAWvlK,KAAK,YAmBH,MACnB,EAAAwyJ,gBAAgBgT,MAAO,oCACxB,EAAC,EAAAhT,gBAAgBiT,KAAM,mC,GA4E3B,UAzEsD,SAACrlK,GAE/C,IAAAU,EAYAV,EAAK,UAXL8a,EAWA9a,EAAK,OAVLkF,EAUAlF,EAAK,SATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLuC,EAOAvC,EAAK,gBANLqF,EAMArF,EAAK,WALL0F,EAKA1F,EAAK,YAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFLwF,EAEAxF,EAAK,WADLyF,EACAzF,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExB0C,GAAgB,IAAAwS,aAAY,EAAA8jE,2BAC5BF,GAAe,IAAA5jE,aAAY,EAAA6jE,oBAC3ByrF,GAAgB,IAAAtvJ,aAAY,EAAAuvJ,wBAE5BpjK,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CACH,CACIuC,MAAOlG,EAAE,oCACT+N,SAAU02J,EAAcjuJ,KAAI,SAAC07B,GACzB,MAAO,CACHhsC,MAAOlG,EAAEskK,EAAmBpyH,IAC5BnkC,WAAWgrE,aAAY,EAAZA,EAAe7mC,KAAgB,IAAI17B,KAAI,SAAC2M,GAC/C,MAAO,CACHjd,MAAOlG,EAAE,kCAAmC,CACxCoB,OAAQ+hB,EAAQ/hB,OAChBklB,MAAOnD,EAAQmD,MACf8yD,YAAaj2D,EAAQi2D,YACrBC,YAAal2D,EAAQk2D,cAEzBj1E,MAAOia,OAAO8E,EAAQ9X,IACtB0C,SAAU,GAElB,IAER,KAGZ,GAAG,CAAC/N,EAAGykK,EAAe1rF,IAEhBrlD,GAAW,IAAAC,eAKjB,OAJA,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAGA,wBAAC,UAAiB,CACd7zB,UAAWA,EACXyB,QAASA,EACTua,eAAgB,SAACC,GAAa,+BAAC,UAAW,KAAK,EAAAy9D,iBAAiBv9D,gBAAgBF,IAAlD,EAC9B02E,eAAgBv4E,EAChBpV,YAAaA,EACbL,WAAYA,EACZH,SAAUA,EACVE,SAAUA,EACVD,WAAYA,EACZK,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACThD,gBAAiBA,EACjBkD,mBAAiBqV,aAAM,EAANA,EAAQ7Y,SAASwD,EAClCuJ,UAAWxL,EAAcK,SAGrC,C,+BCnHA,WAAgB,KAAO,yBAAyB,OAAS,2BAA2B,OAAS,2BAA2B,SAAW,6B,q7BCDnI,kBACA,WACA,cACA,aACA,cACA,cAEMlE,EAAK,UAAWC,KAAK,WA6B3B,UAtB4C,SAACI,GACjC,IAAAU,EAAmBV,EAAK,UAAburF,EAAQvrF,EAAK,IAExBa,GAAM,IAAAC,kBAAgB,EAE9B,KAAK,aAASyqF,GACV,OAAO,KAGX,IAAMi6E,EAAarmJ,KAAK+1D,MAAMqW,GAE9B,OACI,wBAAM7qF,WAAW,aAAGf,EAAG,SAAUe,IAC5B8kK,EAAY,IACZ3kK,EAAE,iCAAkC,CACjCgC,YAAa,WACbD,MAAO4iK,IAIvB,C,q7BClCA,kBACA,WACA,cAQMC,EAAoC3lK,EAAMC,MAAK,SAACC,GAC1C,IAAA6F,EAA4C7F,EAAK,OAAzC+4E,EAAoC/4E,EAAK,aAA3B60C,EAAsB70C,EAAK,kBAEzD,OACI,gBAAC,UAAa,CACVkB,MAAO,EAAA8mB,cAAcC,cACrB7R,KAAM,EAAA8uG,aAAalhC,OACnBviF,QAAS,WACAoE,GAILgvC,EAAkBhvC,EACtB,GAECkzE,EAGb,IAEA,UAAe0sF,C,g5BC5Bf,kBACA,WAGa,EAAAzkB,6BAA+B,SAACt9I,GACzC,OAAAA,EAAMgiK,qBAAqBC,kBAAkB1/J,KAA7C,EAES,EAAA28H,oBAAsB,SAACl/H,GAChC,OAAAA,EAAMgiK,qBAAqB/iC,aAA3B,EAES,EAAAijC,+BAAiC,SAC1CliK,GAEA,OAAAA,EAAMgiK,qBAAqBC,kBAAkBniK,aAA7C,EAES,EAAAqiK,gCAAkC,SAC3CniK,GACyD,OAAAA,EAAMgiK,qBAAqBI,wBAA3B,EAEhD,EAAAC,wBAA0B,SAACriK,GACpC,OAAAA,EAAMgiK,qBAAqBC,kBAAkBl7G,IAA7C,EAES,EAAAu7G,mBAAqB,SAACtiK,GAC/B,OAAAA,EAAMgiK,qBAAqBO,KAA3B,EAES,EAAAv5C,+BAAiC,SAC1ChpH,GAEA,OAAAA,EAAMgiK,qBAAqBQ,kBAAkB1iK,aAA7C,EAES,EAAAopH,wBAA0B,SAAClpH,GACpC,OAAAA,EAAMgiK,qBAAqBQ,kBAAkBv5C,QAA7C,EAES,EAAAw5C,6BAA8B,IAAA5lE,gBACvC,EAAAqsB,yBACA,SAACs5C,GACG,OAAO,aAAMA,EAAmB,KACpC,IAGS,EAAAjkB,wBAA0B,SAACv+I,GACpC,OAAAA,EAAMgiK,qBAAqBU,aAAangK,KAAxC,EAES,EAAAogK,gCAAkC,SAC3C3iK,GAC8D,OAAAA,EAAMgiK,qBAAqBU,aAAa5iK,aAAxC,EAErD,EAAA8iK,sBAAwB,SAAC5iK,GAClC,OAAAA,EAAMgiK,qBAAqBU,aAAan6G,GAAxC,EAES,EAAA+zF,8BAAgC,SAACt8I,GAC1C,OAAAA,EAAMgiK,qBAAqBa,SAA3B,EAES,EAAA5jB,0BAA4B,SAACj/I,GACtC,OAAAA,EAAMgiK,qBAAqBc,eAAevgK,KAA1C,EAES,EAAAwgK,kCAAoC,SAC7C/iK,GAEA,OAAAA,EAAMgiK,qBAAqBc,eAAehjK,aAA1C,EAES,EAAAkjK,wBAA0B,SAAChjK,GACpC,OAAAA,EAAMgiK,qBAAqBc,eAAev6G,GAA1C,EAES,EAAAm0F,gCAAkC,SAAC18I,GAC5C,OAAAA,EAAMgiK,qBAAqBiB,WAA3B,EAES,EAAAxjB,8BAAgC,SACzCz/I,GAC4D,OAAAA,EAAMgiK,qBAAqBnjC,mBAAmBt8H,KAA9C,EAEnD,EAAAu8H,yBAA2B,SAAC9+H,GACrC,OAAAA,EAAMgiK,qBAAqBnjC,mBAAmBp1H,MAA9C,EAES,EAAAy5J,sCAAwC,SACjDljK,GAEA,OAAAA,EAAMgiK,qBAAqBnjC,mBAAmB/+H,aAA9C,EAES,EAAAwpB,8BAAgC,SAACtpB,GAC1C,OAAAA,EAAMgiK,qBAAqBz4I,eAA3B,EAES,EAAA45I,0BAA4B,SAACnjK,GACtC,OAAAA,EAAMgiK,qBAAqBoB,wBAA3B,EAES,EAAAhkC,wBAA0B,SAACp/H,GACpC,OAAAA,EAAMgiK,qBAAqB7iC,iBAA3B,EAES,EAAAkkC,iCAAmC,SAC5CrjK,GAEA,OAAAA,EAAMgiK,qBAAqBsB,4BAA3B,EAES,EAAAtkC,8BAAgC,SAACh/H,GAC1C,OAAAA,EAAMgiK,qBAAqBjjC,uBAA3B,C,kuCChGJ,kBACA,cACA,cACA,WACA,cACA,cACA,WAEA,cACA,cACA,cACA,cACA,WACA,WACA,WACA,cAEM9iI,EAAK,UAAWC,KAAK,WAIrBqnK,EAAkDnnK,EAAMC,MAAK,WACvD,IAAAc,GAAM,IAAAC,kBAAgB,EAExB0J,EAAc,YAChB,IAAA+/C,oBAAkB,WACd,UAAQ7yC,KAAK,EAAAyQ,WAAW++I,gBAC5B,GACJ,EAEMC,GAAoB,IAAAnxJ,aAAY,EAAAoxJ,0BACtC,cAAqB,WACbD,EAAkBjjK,IAClB,UAAQwT,KAAK,CACTusB,SAAU,EAAAojI,mBAAmBhlH,OAGzC,GAAG,CAAC8kH,EAAkBjjK,KAEhB,QAA8CpE,EAAMuE,SAAqC,MAAK,GAA7FijK,EAAkB,KAAEC,EAAqB,KAEhD,OACI,gCACI,gBAAC,UAAS,CAACtnK,MAAOY,EAAE,wCACpB,gBAAC,UAAuB,CACpBk1C,gBAAiBl1C,EAAE,kCACnBm1C,eACI,gBAAC,UAAwB,KACrB,gBAAC,UAA2B,CACxBwxH,2BAA4BD,EAC5B74D,eAAgB,KAChBjgG,SAAUjE,EACVhK,QAASgK,KAIrB4rC,iBAAkBv1C,EAAE,kCACpBw1C,gBACI,gBAAC,UAAwB,KACrB,uBAAK31C,UAAWf,EAAG,YACf,gBAAC,UAA8B,CAACojD,OAAQ,KAAMukH,mBAAoBA,QAO9F,IAEA,UAAeL,C,+BCpEf,WAAgB,OAAS,qCAAqC,oBAAoB,gDAAgD,MAAQ,oCAAoC,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,4GCCpQ,EAAAQ,4BAAqD,CAC9Dj6E,gBAAiB,SAACzgE,EAAwB2gE,GACtC,OAAK3gE,GAAW2gE,EAIT,yCAAkCA,EAAU,kBAHxC,IAIf,EAEAC,cAAe,SAAC5gE,EAAwB2gE,GACpC,OAAK3gE,GAAW2gE,EAIT,yCAAkCA,EAAU,gBAHxC,IAIf,E,umDCjBJ,eACA,WACA,WACA,WACA,cACA,cACA,UACA,WAEA,SAAUg6E,I,gEAC4D,UAAM,IAAA96J,QAAO,EAAA+6J,0B,OAC/E,OADMnkK,EAA4D,UAC7D,aAAiBA,GAIyC,IAAM,IAAAoJ,QAAO,EAAAg7J,mBAHxE,I,OAIJ,OAD+D,SAE3D,IAGJ,IAAM,IAAA96J,MAAI,IAAA+6J,0B,OAGN,OAHJ,SAGI,GAAM,UAAkBC,iB,cADtB,kBACF,SAAuC,IADpC/jK,EAAK,KAAEgkK,EAAa,KAEvBhkK,EACA,IAAM,IAAA+I,MAAI,IAAAk7J,sBAAqBjkK,KAD/B,M,OACA,S,iBAIJ,OADMkkK,GAAa,IAAAC,gBAAeH,GAAiB,IACnD,IAAM,IAAAj7J,MAAI,IAAAq7J,wBAAuBF,K,cAAjC,S,QAOJ,UAJA,W,kDACI,UAAM,IAAAl3I,eAAc,EAAA25F,oBAAqBg9C,I,cAAzC,S,8BC/BJ,IAAYhoK,E,qEAAZ,SAAYA,GACR,gBACA,wBACA,cACA,WACH,CALD,CAAYA,IAAU,aAAVA,EAAU,I,yJCCT,EAAA0oK,oCAAsC,SAC/Ch5J,GAEA,QAASA,CACb,EAEa,EAAAi5J,mCAAqC,SAC9Cj5J,GAEA,QAASA,CACb,C,iKCbA,eAYa,EAAAy/B,cAAgB,SAAC1sC,GAAkD,OAC5Ec,KAAM,EAAAqlK,eACNnmK,QAAO,EAFqE,EAKnE,EAAAomK,mBAAqB,WAAiC,OAC/DtlK,KAAM,EAAAulK,qBADyD,EAItD,EAAAC,qBAAuB,SAAC7hK,GAAqD,OACtF3D,KAAM,EAAAylK,uBACN9hK,SAAQ,EAF8E,EAK7E,EAAA+hK,mBAAqB,SAAC5kK,GAA4C,OAC3Ed,KAAM,EAAA2lK,qBACN7kK,MAAK,EAFsE,C,kuCC1B/E,kBACA,cAEA,aACA,WACA,cACA,cACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,WACA,UACA,cACA,cACA,cACA,UACA,WAGA,WACA,WACA,cAEMpE,EAAK,UAAWC,KAAK,WAErB88H,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAkGxE,UA9FkD,SAAC18H,GACvC,IAAAyM,EAAsDzM,EAAK,KAArDQ,EAAgDR,EAAK,QAA5CE,EAAuCF,EAAK,SAAlC2jD,EAA6B3jD,EAAK,yBAE7Du0B,GAAW,IAAAC,eAET3zB,GAAM,IAAAC,kBAAgB,EAExB+nK,GAAyB,IAAA7yJ,cAAY,IAAA8yJ,wBAAuBr8J,EAAKpJ,aAEvE,aAA4BwlK,EAAwB3oK,GAAYM,GAEhE,IAAMojD,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiC,UAAM2D,SAAQ,WACjD,IAAMsW,GAAS,eAGf,MAAO,CAACA,GAFO,aAAaja,EAAGia,GAInC,GAAG,IAAG,GANCN,EAAa,KAAEupC,EAAa,KAQ7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM07G,GAAY,aAAoB37G,GACjC27G,GAKLliG,GAAS,IAAAuzC,WAAU2uD,EAAWhqH,EAAKpJ,YAEnC0X,EAAcI,WAAW,CAAC,KANtB,IAAAuZ,YAAW,mBAOnB,IAGEuvB,EAA0BT,EAA6B/oC,EAAOK,OAAQN,IAC5E,IAAAtP,YAAU,WACNy4C,EAAyBM,EAE7B,GAAG,CAACA,IAEJ,IAAMj1C,EAAY65J,EAAuBhlK,QAEzC,OACI,wBAAC,EAAAogF,cAAcnuC,SAAQ,CAAC7wC,MAAOwV,GAC3B,gCAAMI,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC9CqP,GAAa,wBAAC,UAAa,MAC5B,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CACjB9O,SAAUA,EACVD,MAAOY,EAAE,wCACTL,QAASA,KAGjB,wBAAC,UAAa,KACV,wBAAC,UAAqB,CAAConE,cAAe,KAAM8yF,wBAAsB,KAEtE,wBAAC,UAAkB,CAACj1E,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,wBAAC,UAAmB,CAAC8B,aAAW,GAC5B,+BAAKhd,UAAWf,EAAG,YACf,wBAAC,UAAM,CACHe,UAAWf,EAAG,kBAAmB,2BACjCuB,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAAS,WACDvB,EACAA,EAAS,CAAEy6J,uBAAuB,IAElCn6J,SAAAA,GAER,GAECK,EAAE,+BAEP,wBAAC,UAAM,CACHH,UAAWf,EAAG,kBAAmB,wBACjCuB,MAAO,EAAA2N,gBAAgB8O,QACvB1a,KAAK,UAEJpC,EAAE,6CAO/B,C,+BC9HA,WAAgB,iBAAiB,oDAAoD,cAAc,iDAAiD,MAAQ,2CAA2C,OAAS,4CAA4C,SAAW,8C,4MCDvQ,IAGM8vD,EAHN,YAG8C,QAAMvtD,cAA2D,CAC3GkB,wBAAwB,EACxBC,0BAA2B,WAE3B,IAGK,EAAAosD,sCAAAA,C,+BCTT,WAAgB,QAAU,qCAAqC,kBAAkB,6CAA6C,KAAO,kCAAkC,OAAS,oCAAoC,SAAW,sC,u8CCD/N,kBACA,cAEA,cACA,WACA,WACA,cACA,cACA,cAEA,WACA,cACA,cACA,cACA,cACA,UACA,WACA,cACA,cACA,aACA,cACA,WACA,cACA,UAEA,cACA,cACA,WAEMhxD,EAAK,UAAWC,KAAK,WA8Q3B,UAtQgD,SAACI,G,MACrCQ,EAA2CR,EAAK,QAAvCia,EAAkCja,EAAK,gBAAtBka,EAAiBla,EAAK,aAChDa,GAAM,IAAAC,kBAAgB,EAExB,IAAgD,UAAMuD,SAAwB6V,GAAa,GAA1FI,EAAmB,KAAEC,EAAsB,KAElD,UAAMrP,WAAU,WACZqP,EAAuBL,EAC3B,GAAG,CAACA,IAEJ,IAAMM,EAAgB,UAAMhW,SAAQ,WAAM,oBAAiB0V,EAAjB,GAAgC,CAACA,IAErE6uJ,GAAwB,IAAAhzD,2BACU,QAApC,EAAAv7F,EAAc,EAAA9a,WAAWmtH,mBAAW,eAAE5qH,QAASuY,EAAc,EAAA9a,WAAWmtH,YAAc,MAGpFpyG,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBJ,cAAa,EACbK,SAAU,SAACC,EAAQC,GACf,IAAMC,GAAkB,aAAgBF,GAClCG,GAAqB,IAAAC,mBAAkBZ,EAAqBU,GAElEf,EAAgBgB,GAChBF,EAAcI,WAAW,CAAC,EAC9B,IAGEC,EAAe,UAAM5W,SAAQ,WAC/B,OAAO,IAAA6W,aAAYb,EAAeC,EAAOK,UAAW,IAAAO,aAAYf,EAAqBJ,EACzF,GAAG,CAACM,EAAeC,EAAOK,OAAQR,EAAqBJ,IAEvD,OACI,gCAAMW,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAACM,MAAOY,EAAE,mCAAoCL,QAASA,KAEhF,wBAAC,UAAa,KACV,wBAAC,UAAW,CACRE,UAAWf,EAAG,QAAS,mBACvBiZ,KAAM,EAAAlZ,WAAWmtH,WACjB9oH,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWmtH,YAChChxG,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWmtH,YACrC9lH,MAAOlG,EAAE,kDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZ8a,OAAQL,EAAOK,OAAO,EAAApb,WAAWmtH,aAAe,GAChD/mH,eAAgBijK,EAAsB5pE,YACtC1mD,qBAAsBswH,EAAsB3pE,kBAC5Cl6F,SAAU,SAAC2nH,EAAYm8C,GACnBvuJ,EAAOsB,cAAc,EAAArc,WAAWmtH,WAAYA,GAE5C,IAAMuY,GACF4jC,aAAc,EAAdA,EAAgB3xJ,KAAI,SAAC7Q,GACjB,OAAOA,EAAOoS,MAAQ,EAC1B,MAAM,GACV6B,EAAOsB,cAAc,EAAArc,WAAW0lI,aAAcA,EAClD,EACAjgI,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BiF,WAC7C/B,YAAa7E,EAAE,wDACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GApBX,IAyBhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAWw1C,cACjBnxC,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWw1C,eAChCr5B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWw1C,eACrCnuC,MAAOlG,EAAE,yDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF0c,eAAgB,SAACC,GAAa,+BAAC,UAAO,KAAK,EAAAC,aAAaC,gBAAgBF,IAA1C,EAC9B/D,KAAM,EAAAlZ,WAAWw1C,cACjBjwC,MAAOwV,EAAOK,OAAO,EAAApb,WAAWw1C,gBAAkB,GAClDxvC,YAAa7E,EAAE,+DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAXX,IAgBhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAWg2C,mBACjB3xC,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWg2C,oBAChC75B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWg2C,oBACrC3uC,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF0c,eAAgB,SAACC,GAAa,+BAAC,UAAO,KAAK,EAAAC,aAAaC,gBAAgBF,IAA1C,EAC9B/D,KAAM,EAAAlZ,WAAWg2C,mBACjBzwC,MAAOwV,EAAOK,OAAO,EAAApb,WAAWg2C,qBAAuB,GACvDhwC,YAAa7E,EAAE,oEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAXX,IAgBhB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWupK,YACjBllK,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWupK,aAChCptJ,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWupK,aACrCliK,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWupK,aAChCvjK,YAAa7E,EAAE,4DACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BzV,WAC/CnC,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GATX,IAahB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWwpK,iBACjBnlK,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWwpK,kBAChCrtJ,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWwpK,kBACrCniK,MAAOlG,EAAE,2DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWwpK,kBAChCxjK,YAAa7E,EAAE,iEACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8Bza,YAC/C6C,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GATX,KAepB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWypK,cACjBplK,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWypK,eAChCttJ,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWypK,eACrCpiK,MAAOlG,EAAE,uDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWypK,eAChCzjK,YAAa7E,EAAE,6DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfhD,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,GATX,IAahB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,qBACvBiZ,KAAM,EAAAlZ,WAAW+lI,UACjB1hI,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+lI,WAChC5pH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+lI,WACrC1+H,MAAOlG,EAAE,oDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAwB,CACrB8a,OAAQL,EAAOK,OAAO,EAAApb,WAAW+lI,WACjC//H,YAAa7E,EAAE,0DACfqE,SAAUlF,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BiF,WAC7CnC,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SATX,KAepB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,uBACvBiZ,KAAM,EAAAlZ,WAAW0nB,YACjBrjB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0nB,aAChCvL,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0nB,aACrCrgB,MAAOlG,EAAE,uDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW0nB,YACjBniB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0nB,cAAgB,GAChD1hB,YAAa7E,EAAE,6DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAVX,IAchB,wBAAC,EAAA+sI,oBAAmB,CAAC9xI,UAAWf,EAAG,QAAS,0BAGpD,wBAAC,UAAmB,CAAC+d,aAAW,GAC5B,+BAAKhd,UAAWf,EAAG,qBACf,wBAAC,UAAe,CAACua,aAAcI,EAAqBL,gBAAiBM,KAEzE,wBAAC,UAAM,CACHrZ,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZwC,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,sCAKvB,C,+BCxSA,WAAgB,OAAS,kCAAkC,SAAW,oC,sBCEtE,IAAYnB,E,qEAAZ,SAAYA,GACR,cAEA,uBACA,kCAEA,yBACA,yBAEA,6BACA,wBACH,CAXD,CAAYA,IAAU,aAAVA,EAAU,I,+BCFtB,WAAgB,QAAU,4CAA4C,wBAAwB,0DAA0D,OAAS,2CAA2C,SAAW,6C,+BCAvN,WAAgB,KAAO,sBAAsB,MAAQ,uBAAuB,qBAAqB,oCAAoC,iBAAiB,gCAAgC,oBAAoB,mCAAmC,oBAAoB,mCAAmC,MAAQ,uBAAuB,qBAAqB,oCAAoC,oBAAoB,mCAAmC,sBAAsB,qCAAqC,OAAS,wBAAwB,SAAW,0B,iHCD1hB,cAEa,EAAA8wD,+BAAiC,IAAI,EAAAvnC,gB,+BCDlD,WAAgB,KAAO,yCAAyC,UAAY,8CAA8C,yBAAyB,2DAA2D,OAAS,2CAA2C,OAAS,2CAA2C,QAAU,4CAA4C,aAAe,iDAAiD,4BAA4B,8DAA8D,OAAS,2CAA2C,SAAW,6C,kYCDrkB,eAUA,cACA,WACA,UAEM1lB,EAA2B,CAC7B6lK,mBAAoB,UAAc3lK,QAClCm5D,YAAa,KACbysG,iBAAkB,UAAc5lK,SAGpC,mBAAgBC,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAw5D,yBACD,OAAO,EAAP,KACO/4D,GAAK,CACR0lK,mBAAoB,UAAcvlK,UAG1C,KAAK,EAAA84D,2BACO,IAAAC,EAAgBj5D,EAAM,YAE9B,OAAO,EAAP,KACOD,GAAK,CACRk5D,aAAa,IAAA0sG,aAAY1sG,GACzBwsG,mBAAoB,UAAcllK,KAG1C,KAAK,EAAA44D,yBACO,IAAA/4D,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR0lK,mBAAoB,UAAcplK,SAASD,KAGnD,KAAK,EAAAo5D,yBACD,OAAO,EAAP,KACOz5D,GAAK,CACR2lK,iBAAkB,UAAcxlK,UAGxC,KAAK,EAAAy5D,2BACOV,EAAmCj5D,EAAM,YAAzC,IAAa05D,EAAsB15D,EAAM,kBAEjD,OAAO,EAAP,KACOD,GAAK,CACRk5D,aAAa,IAAA0sG,aAAW,OACjB1sG,GACAS,IAEPgsG,iBAAkB,UAAcnlK,KAGxC,KAAK,EAAAs5D,yBAGD,OAFQz5D,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACR2lK,iBAAkB,UAAcrlK,SAASD,KAGjD,KAAK,EAAAI,gBACD,OAAOZ,EAEX,QACI,OAAOG,EAElB,C,q7BC7ED,kBACA,WACA,WACA,cACA,cAIM6lK,EAAmCzpK,EAAMC,MAAK,WAChD,OACI,gBAAC,EAAAukC,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAAglI,oBAAoBp6J,SAC7B,gBAAC,UAAoB,OAEzB,gBAAC,EAAAm1B,MAAK,CAACC,KAAK,KACR,gBAAC,UAAkB,OAInC,IAEA,UAAe+kI,C,0pCCrBf,kBACA,WAEA,cAEA,WACA,cACA,WACA,WACA,WACA,WAMA,cACA,cACA,cACA,aACA,cACA,WACA,UACA,cAEM/qE,EAAS,CAAC,EAIVirE,EAAmC3pK,EAAMC,MAAK,SAACC,G,UACzC4O,EAAa5O,EAAK,SAClBa,GAAM,IAAAC,kBAAgB,EACxB6gC,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1BqtE,EAAkBnvG,EAAM6yB,WAAW,WAEnC0rE,EAAqC,CACvC18D,EAAY+nI,eACN,CACIvyJ,WAAY,SAAC9U,GAAa,uBAAC,EAAAsnK,aAAY,CAACtnK,SAAUA,GAAxB,EAC1BmO,KAAM3P,EAAE,kBACRqnB,GAAI,EAAAisB,cAAc7O,SAClBskI,cAAe,EAAAz1H,cAAc7O,SAC7B3kC,aAAc,aAElB,KACN,CACIwW,WAAY,SAAC9U,GAAa,uBAAC,EAAAwnK,iBAAgB,CAACxnK,SAAUA,GAA5B,EAC1BmO,KAAM3P,EAAE,sBACRqnB,GAAI,EAAA4hJ,WAAWC,aACfH,cAAe,EAAAE,WAAWC,aAC1BppK,aAAc,kBAElBghC,aAAW,EAAXA,EAAaqoI,oBACP,CACI7yJ,WAAY,SAAC9U,GAAa,OACtB,gBAAC,UAAS,CAACV,UAAWU,EAAW,EAAAT,qBAAqB6U,UAAY,EAAA7U,qBAAqBwQ,OADjE,EAG1B5B,KAAM3P,EAAE,qBACRqnB,GAAI,EAAA4hJ,WAAWG,YACfL,cAAe,EAAAE,WAAWG,YAC1BtpK,aAAc,gBAElB,MACNghC,aAAW,EAAXA,EAAauoI,qBAA8D,QAAzC,EAAAj7D,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkBa,YAC1F,CACI5wE,WAAY,SAAC9U,GAAa,OACtB,gBAAC,UAAO,CACJV,UAAWU,EAAW,EAAAT,qBAAqBsS,YAAc,EAAAtS,qBAAqBI,MAC9E0U,YAAarU,EAAW,EAAAT,qBAAqB6U,UAAY,EAAA7U,qBAAqBwQ,MAC9EgE,KAAM,EAAAC,mBAJY,EAO1B7F,KAAM3P,EAAE,oBACRqnB,GAAI,EAAA4hJ,WAAWK,WACfP,cAAe,EAAAE,WAAWK,WAC1BxpK,aAAc,eAElB,MACNghC,aAAW,EAAXA,EAAayoI,mBAA4D,QAAzC,EAAAn7D,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkBqf,WACxF,CACIpvF,WAAY,SAAC9U,GAAa,uBAAC,UAAW,MAAK,IAAAspE,qBAAoBtpE,EAAW,WAAa,YAA7D,EAC1BmO,KAAM3P,EAAE,iBACRqnB,GAAI,EAAA4hJ,WAAWvjE,SACfqjE,cAAe,EAAAE,WAAWvjE,SAC1B5lG,aAAc,YAElB,KACN,CACIwW,WAAY,SAAC9U,GAAa,uBAAC,EAAAgoK,wBAAuB,CAAChoK,SAAUA,GAAnC,EAC1BmO,KAAM3P,EAAE,iBACRqnB,GAAI,EAAA4hJ,WAAWp7G,SACfk7G,cAAe,EAAAE,WAAWp7G,SAC1B/tD,aAAc,aAEuB,QAAzC,EAAAsuG,aAAe,EAAfA,EAAiBq7D,gCAAwB,sBAAG,EAAA73C,kBAAkB1qF,SAASpG,aAAW,EAAXA,EAAa4oI,aAC9E,CACIpzJ,WAAY,SAAC9U,GAAa,OACtB,gBAAC,UAAS,CACN+T,KAAM,EAAAC,kBACNK,YAAarU,EAAW,EAAAT,qBAAqB6U,UAAY,EAAA7U,qBAAqBwQ,OAH5D,EAM1B5B,KAAM3P,EAAE,aACRqnB,GAAI,EAAA4hJ,WAAWU,aACfZ,cAAe,EAAAE,WAAWU,aAC1B7pK,aAAc,QAElB,MACNghC,aAAW,EAAXA,EAAa8oI,oBACP,CACItzJ,WAAY,SAAC9U,GAAa,uBAAC,EAAAqoK,cAAa,CAACroK,SAAUA,GAAzB,EAC1BmO,KAAM3P,EAAE,cACRqnB,GAAI,EAAAyiJ,sBAAsB/2C,YAC1Bg2C,cAAe,EAAAE,WAAWj1D,YAC1Bl0G,aAAc,SAElB,KACNghC,EAAYipI,qBACN,CACIzzJ,WAAY,SAAC9U,GAAa,OACtB,gBAAC,UAAY,CACTmP,YAAanP,EAAW,GAAM,EAC9BV,UAAWU,EAAW,EAAAT,qBAAqBsS,YAAc,EAAAtS,qBAAqBI,MAC9E0U,YAAarU,EAAW,EAAAT,qBAAqB6U,UAAY,EAAA7U,qBAAqBwQ,OAJ5D,EAO1B5B,KAAM3P,EAAE,iBACRqnB,GAAI,EAAAm/I,mBAAmBwD,WACvBjB,cAAe,EAAAE,WAAWljK,SAC1BjG,aAAc,YAElB,KACNghC,EAAYmpI,qBACN,CACI3zJ,WAAY,SAAC9U,GAAa,OACtB,gBAAC,UAAS,CACNmP,YAAanP,EAAW,GAAM,EAC9BV,UAAWU,EAAW,EAAAT,qBAAqBsS,YAAc,EAAAtS,qBAAqBI,MAC9E0U,YAAarU,EAAW,EAAAT,qBAAqB6U,UAAY,EAAA7U,qBAAqBwQ,OAJ5D,EAO1B5B,KAAM3P,EAAE,mBACRqnB,GAAI,EAAA4hJ,WAAW94J,WACf44J,cAAe,EAAAE,WAAW94J,WAC1BrQ,aAAc,cAElB,MAGV,OACI,gBAAC,UAAkB,CACf09F,UAAWA,EACXC,YAAa,EAAAwrE,WAAWiB,QACxBxsE,SAAU,EAAAurE,WAAWkB,KACrBxsE,OAAQA,EACRysE,mBAAiB,GAEhBr8J,EAGb,IAEA,UAAe66J,C,+BClKf,WAAgB,KAAO,yBAAyB,OAAS,2BAA2B,SAAW,6B,mqDCD/F,kBAEA,cACA,cACA,cACA,WACA,WAEA,WAEA,UAEA,cACA,cACA,WACA,WACA,cAEM9pK,EAAK,UAAWC,KAAK,WAUrBsrK,EAA4BprK,EAAMC,MAAK,SAACC,GAClC,IAAAU,EAA4DV,EAAK,UAAtDm/J,EAAiDn/J,EAAK,wBAA7ByjK,EAAwBzjK,EAAK,oBAEnEu0B,GAAW,IAAAC,eAEX,IAA0C10B,EAAMuE,SAA6B,IAAG,GAA/E8mK,EAAgB,KAAEC,EAAmB,MAE5C,IAAAnpI,qBAAoB,EAAAm9F,yBAAyB,SAACzzH,GAC1Cy/J,GAAoB,SAACC,GACjB,OAAO,aAAM,SACJA,GAAqB,KAAG,MAAM1/J,EAAMw/J,kBAAoB,IAAI5jH,MAAM,EAZpD,KAYkF,IACrG,SAAC2vG,GAAiB,OAAAA,EAAahrJ,EAAb,GAE1B,GACJ,IAEA,IAAMo/J,EAAkBxrK,EAAMkG,aAC1B,SAACkxJ,GACW,IAAAhrJ,EAAOgrJ,EAAY,GACtBhrJ,EAKLk/J,GAAoB,SAACC,GACjB,OAAOA,EAAkBr8I,QAAO,SAACkoI,GAC7B,OAAOA,EAAahrJ,KAAOA,CAC/B,GACJ,KARI,IAAAwoB,YAAW,wBASnB,GAEA,CAACH,IAGCg3I,EAAmBzrK,EAAMkG,aAC3B,SAACkxJ,GACW,IAAAhrJ,EAAoBgrJ,EAAY,GAA5BsU,EAAgBtU,EAAY,YACnChrJ,GAKLk/J,GAAoB,SAACC,GACjB,OAAOA,EAAkBr8I,QAAO,SAACkoI,GAC7B,OAAOA,EAAahrJ,KAAOA,CAC/B,GACJ,IAEKs/J,GACDj3I,GAAS,IAAAk3I,YAAW,CAACv/J,OAXrB,IAAAwoB,YAAW,wBAanB,GACA,CAACH,IAGL,OACI,uBACI7zB,UAAWA,EACXe,QAAS,SAACkK,GACNA,EAAMW,kBACNX,EAAMiwC,gBACV,GAECuvH,EAAiB9zJ,KAAI,SAAC6/I,EAAcwU,GACjC,IAAMC,GACF,IAAAC,+BAA8B1U,IAC9BiI,EAAwBjI,KACxB,IAAA2U,6BAA4B3U,GAE1BvkJ,EAAMukJ,EAAahrJ,IAAMw/J,EAE/B,OACI,gBAAC,UAAK,CACF/4J,IAAKA,EACLjS,UAAWf,EAAG,gBACda,QAAS,WACL8qK,EAAgBpU,EACpB,IAEC,SAAC12J,GACE,IAAMsrK,EACFrI,EAAoBvM,IAAiB,KAEzC,OACI,gBAAC,UAAwB,GACrBvkJ,IAAKA,GACDg5J,EAAqB,CACzBlqK,QACIqqK,EACM,WACIP,EAAiBrU,GAEb4U,GACA,UAAQp0J,KAAKo0J,EAErB,EACA,KAEVtrK,QAASA,IAGrB,GAGZ,IAGZ,IAEA,UAAe0qK,C,q7BCzIf,kBACA,WACA,cACA,WACA,WAEA,WACA,WACA,cACA,aACA,cACA,aACA,cAEMvrK,EAAK,UAAWC,KAAK,WA6CrBmsK,EAAsCjsK,EAAMC,MAAK,SAACC,GAC5C,IAAAU,EAAmDV,EAAK,UAA7CgP,EAAwChP,EAAK,UAAlC8tF,EAA6B9tF,EAAK,UAAvBgsK,EAAkBhsK,EAAK,cAExDa,GAAM,IAAAC,kBAAgB,EAExBmrK,GAAa,aAASn+E,KAAc,aAASk+E,GACnD,OAAKC,GAAej9J,EAKhB,gBAAC,UAAS,KACN,uBAAKtO,WAAW,aAAGf,EAAG,YAAae,IAC9BsO,GACG,uBAAKtO,UAAWf,EAAG,WACf,gBAAC,UAAiB,CACde,UAAWf,EAAG,eACdgC,UAAW,EAAAC,qBAAqBC,SAChCuU,KAAM,EAAAC,oBAEV,wBAAM3V,UAAWf,EAAG,gBAAiBkB,EAAE,yBAG9CorK,IAAej9J,GACZ,4BA5DG,SAACnO,EAAcitF,GAClC,YAAkBxnF,IAAdwnF,EACO,KAGPA,GAAa,EAAAC,QACNltF,EAAE,sBAAuB,CAC5BoE,OAAO,IAAA+oF,sBAAqB7uE,KAAK+1D,MAAM4Y,MAIxCjtF,EAAE,0BAA2B,CAChCoE,OAAO,IAAA+oF,uBAAqB,IAAAnE,aAAYiE,KAEhD,CA+CyBG,CAAeptF,EAAGitF,GAClB,OA9CC,SAACjtF,EAAcqtF,GACrC,QAAoB5nF,IAAhB4nF,EACA,OAAO,KAGX,GAAIA,EAAc,EAAAC,YAAa,CAC3B,IAAM,EAAkBhvE,KAAK+1D,MAAMgZ,EAAc,EAAAE,YACjD,MAAO,UAAG,EAAe,YAAIvtF,EAAE,iBAAkB,CAC7CgC,YAAa,WACbD,MAAO,IAEf,CAEA,IAAMyrF,EAAkBlvE,KAAK+1D,MAAMgZ,EAAc,EAAAC,aACjD,MAAO,UAAGE,EAAe,YAAIxtF,EAAE,eAAgB,CAC3CgC,YAAa,WACbD,MAAOuc,KAAK+1D,MAAMgZ,EAAc,EAAAC,eAExC,CA6ByB+9E,CAAkBrrK,EAAGmrK,MApB/B,IA0Bf,IAEA,UAAeD,C,+BC7Ff,WAAgB,KAAO,8CAA8C,OAAS,gDAAgD,SAAW,kD,wGCDzI,eAEA,WAEM13C,EAAa,SAAChjF,GAChB,OAAQA,aAAI,EAAJA,EAAMpsC,OACV,KAAK,EAAAknK,yBAAyBvzJ,KAC1B,OAAIy4B,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,WAEJ,YAEX,KAAK,EAAA43C,yBAAyB7vH,YAC1B,OAAIjL,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,mBAEJ,oBAEX,QACI,OAAO,KAGnB,EAEa,EAAAtuD,sBAAwB,SACjC/rD,EACAm3B,GAEA,MAAO,CACHy6D,WAAY5xF,EAAa,EAAAiwC,qBAAqB3gB,kBAAeljC,EAC7D8lK,WAAYlyJ,EAAa,EAAAiwC,qBAAqBkvB,kBAAe/yE,EAC7D6yE,QAASj/D,EAAa,EAAAiwC,qBAAqBgvB,eAAY7yE,EACvD+lK,QAASh4C,EAAWhjF,SAAS/qC,EAErC,C,wGCjCA,eAEa,EAAAgmK,sBAAwB,SAACrpK,GAClC,OAAIA,IAAS,EAAAyhF,mBAAmBtjE,aACrB,gBAGPne,IAAS,EAAAyhF,mBAAmBrjE,YACrB,gBAGJ,IACX,C,+BCZA,WAAgB,KAAO,uDAAuD,MAAQ,wDAAwD,cAAc,8DAA8D,cAAc,8DAA8D,mBAAmB,mEAAmE,yBAAyB,yEAAyE,yBAAyB,yEAAyE,cAAc,8DAA8D,eAAe,+DAA+D,uBAAuB,uEAAuE,kBAAkB,kEAAkE,SAAW,2DAA2D,OAAS,yDAAyD,SAAW,2D,+BCA/hC,WAAgB,MAAQ,gCAAgC,SAAW,mCAAmC,iBAAiB,yCAAyC,IAAM,8BAA8B,oBAAoB,4CAA4C,YAAc,sCAAsC,UAAY,oCAAoC,WAAa,qCAAqC,yBAAyB,iDAAiD,OAAS,iCAAiC,SAAW,mC,40DCDzhB,eAEA,WAOA,WACA,cACA,cACA,WACA,WAEA,SAAUkrJ,EAAsB5oK,G,8EAGkC,OAFxD,EAAiCA,EAAOklB,QAAtCpU,EAAU,aAAExO,EAAK,QAAE9D,EAAO,UAE4B,IAAM,IAAAyK,QAAO,EAAA4/J,0B,OACjB,OADpDruJ,EAAwD,SACJ,IAAM,IAAAvR,QAAO,EAAA6/J,0B,OAGvE,OAHMz+J,EAAoD,SACpDqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GACtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,cAAerB,GACrEkc,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MAAI,IAAA4/J,mBAAkB,CAAEx3J,oBAAqB,CAAEuJ,iBAAkBhK,O,OAAvE,S,iBAGJ,UAAM,IAAA3H,MAAI,IAAA6/J,4BAA2B,CAAE1mK,MAAK,EAAEwO,WAAU,M,OAGpD,OAHJ,SAGI,GAAM,UAAkBvD,sBAAsB,EAAD,KACtCjL,GAAK,CACR2Y,KAAMnK,M,cAHR,kBACF,SAGE,IAJC1Q,EAAK,KAAEqJ,EAAQ,KAMlBrJ,EACA,IAAM,IAAA+I,MAAI,IAAA8/J,4BAA2B,CAAE3mK,MAAK,EAAEwO,WAAU,EAAE1Q,MAAK,MAD/D,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAA+/J,8BAA6B,CAAE5mK,MAAK,EAAEwO,WAAU,EAAEI,aAAczH,M,cAA1E,UAEA,IAAAwS,2BAA0BnL,EAAYrH,EAAU,EAAA0/J,+B,QAOpD,UAJA,W,kDACI,UAAM,IAAAv/J,WAAU,EAAA2D,sBAAsBjO,KAAMspK,I,cAA5C,S,0PChDJ,eAOA,WAEa,EAAArJ,0BAAuB,MAC/B,EAAAnuG,mBAAmBw6F,iBAAkB,EAAA0T,wBAAwBE,QAC9D,EAAC,EAAApuG,mBAAmBlxD,SAAU,EAAAo/J,wBAAwBE,QACtD,EAAC,EAAApuG,mBAAmBtvB,WAAY,EAAAw9H,wBAAwBE,QACxD,EAAC,EAAApuG,mBAAmBy6F,WAAY,EAAAyT,wBAAwBE,QACxD,EAAC,EAAApuG,mBAAmBrvB,WAAY,EAAAu9H,wBAAwB9uJ,SACxD,EAAC,EAAA4gD,mBAAmBpvB,UAAW,EAAAs9H,wBAAwBE,Q,GAG9C,EAAAC,2BAAwB,MAChC,EAAAnuG,gBAAgB83G,QAAS,EAAA9J,wBAAwBE,QAClD,EAAC,EAAAluG,gBAAgB+3G,YAAa,EAAA/J,wBAAwBE,QACtD,EAAC,EAAAluG,gBAAgBtvB,UAAW,EAAAs9H,wBAAwBE,QACpD,EAAC,EAAAluG,gBAAgBvvB,WAAY,EAAAu9H,wBAAwBE,QACrD,EAAC,EAAAluG,gBAAgBC,MAAO,EAAA+tG,wBAAwB9uJ,S,GAGvC,EAAAkvJ,0BAAuB,MAC/B,EAAAjuG,eAAe7vB,mBAAoB,EAAA09H,wBAAwBO,SAC5D,EAAC,EAAApuG,eAAe5vB,iBAAkB,EAAAy9H,wBAAwBE,QAC1D,EAAC,EAAA/tG,eAAe3vB,WAAY,EAAAw9H,wBAAwBE,QACpD,EAAC,EAAA/tG,eAAeC,UAAW,EAAA4tG,wBAAwB9uJ,SACnD,EAAC,EAAAihD,eAAezvB,UAAW,EAAAs9H,wBAAwBE,Q,GAG1C,EAAAI,oCAAiC,MACzC,EAAAhuG,yBAAyBC,kBAAmB,EAAAytG,wBAAwBO,SACrE,EAAC,EAAAjuG,yBAAyBv3B,kBAAmB,EAAAilI,wBAAwBO,SACrE,EAAC,EAAAjuG,yBAAyBg1B,UAAW,EAAA04E,wBAAwBE,QAC7D,EAAC,EAAA5tG,yBAAyB9vB,WAAY,EAAAw9H,wBAAwBE,QAC9D,EAAC,EAAA5tG,yBAAyBL,MAAO,EAAA+tG,wBAAwB9uJ,SACzD,EAAC,EAAAohD,yBAAyB5vB,UAAW,EAAAs9H,wBAAwBE,QAC7D,EAAC,EAAA5tG,yBAAyB0vC,UAAW,EAAAg+D,wBAAwBE,QAC7D,EAAC,EAAA5tG,yBAAyB3vB,SAAU,EAAAq9H,wBAAwBE,Q,GAGnD,EAAA8J,iCAA8B,MACtC,EAAAv3G,cAAcxsD,MAAO,EAAA+5J,wBAAwBE,QAC9C,EAAC,EAAAztG,cAAcC,YAAa,EAAAstG,wBAAwBpvJ,UACpD,EAAC,EAAA6hD,cAAcxpC,SAAU,EAAA+2I,wBAAwBO,SACjD,EAAC,EAAA9tG,cAAcE,WAAY,EAAAqtG,wBAAwB9uJ,SACnD,EAAC,EAAAuhD,cAAcma,QAAS,EAAAozF,wBAAwBE,Q,iCCjDpD,WAAgB,OAAS,6BAA6B,OAAS,6BAA6B,SAAW,+B,uGCAvG,cAGa,EAAA+J,qBAAuB,SAChCC,EACAC,G,QAEMC,GACgB,QAAlB,EAAAF,aAAW,EAAXA,EAAahuF,aAAK,eACZJ,SAAQ,SAACC,GACP,OAAOA,aAAI,EAAJA,EAAMC,QAAS,EAC1B,IACC5nE,KAAI,SAACyyD,GAAS,WAAAC,0BAAyBD,EAAzB,MAAmC,GAEpDwjG,GACuB,QAAzB,EAAAF,aAAkB,EAAlBA,EAAoBjuF,aAAK,eACnBJ,SAAQ,SAACC,GACP,OAAOA,aAAI,EAAJA,EAAMC,QAAS,EAC1B,IACC5nE,KAAI,SAACyyD,GAAS,WAAAC,0BAAyBD,EAAzB,MAAmC,GAE1D,OAAOujG,EAAgBr+I,QAAO,SAACwnC,GAAS,OAAC82G,EAAmB/nJ,SAASixC,EAA7B,GAC5C,C,q2BCvBA,kBAEA,YAMM+2G,EAAsCztK,EAAMC,MAAK,SAACC,GAC5C,IAAA46G,EAAoB56G,EAAK,gBAE3BwtK,GAAgB5yD,aAAe,EAAfA,EAAiB6yD,oBAAqB,EAE5D,OACI,gBAAC,UAAS,CAACn5J,eAAa,EAACpT,MAAOssK,EAAgB,EAAA75J,mBAAmB9R,SAAW,EAAA8R,mBAAmBK,MAC5Fw5J,EAGb,IAEA,UAAeD,C,8sBCpBf,kBAEA,UACA,WAEA,WACA,WACA,WACA,cACA,WACA,WA0Ba,EAAAG,+BAAiC,SAACpqK,GAC3C,OAAO,EAAAqqK,0BAA0BrqK,EACrC,EAEA,IAAMsqK,EAAgB,IAAI9+I,IAAe,CAAC,EAAAoiH,UAAUE,eAE9Cy8B,EAAsC,UAAM9tK,MAAK,SAACC,GAEhD,IAAA0F,EAYA1F,EAAK,YAXLiF,EAWAjF,EAAK,MAVL+E,EAUA/E,EAAK,aATL8tK,EASA9tK,EAAK,eARLuC,EAQAvC,EAAK,gBAPL8c,EAOA9c,EAAK,SANLqF,EAMArF,EAAK,WALLmF,EAKAnF,EAAK,WAJLoF,EAIApF,EAAK,SAHLwF,EAGAxF,EAAK,WAFLsF,EAEAtF,EAAK,OADLuF,EACAvF,EAAK,QAEDa,GAAM,IAAAC,kBAAgB,EAExBgG,EAAe,UAAMd,aAAY,SAACQ,GACpC,OAAOA,aAAM,EAANA,EAAQO,KACnB,GAAG,IAEGS,EAAiB,UAAMxB,aAAY,SAACQ,GAAwB,OAAAA,aAAM,EAANA,EAAQvB,KAAR,GAAe,IAE3E8oK,EAAyB,UAAMvpK,SAAQ,WACzC,OAAOS,EAAMgsE,MAAK,SAAChyD,GAAS,OAAA2uJ,EAAc3+I,IAAIhQ,EAAlB,GAChC,GAAG,CAACha,IAEE+oK,EAAkB,UAAMxpK,SAAQ,WAClC,OAAKO,EAIE,IAAI+pB,IAAI/pB,GAHJ,IAIf,GAAG,CAACA,IAEEuuF,EAAW,UAAM9uF,SAAQ,WAC3B,OAAO,IAAIsqB,IAAI7pB,GAAS,GAC5B,GAAG,CAACA,IAEEgpK,EAAmB,UAAMjoK,aAC3B,SAACQ,GACG,IAAM0nK,EAAyC,CAAC,EAEhD,GAAIF,EAAiB,CACjB,IAAM,EACDA,EAAgB/+I,IAAIzoB,EAAOvB,SAAWquF,EAASrkE,IAAIzoB,EAAOvB,SACzD+oK,EAAgB/+I,IAAIzoB,EAAOvB,QAAUquF,EAASrkE,IAAIzoB,EAAOvB,OAE/DipK,EAAchtK,MAAQ,EAAa,EAAAykF,kBAAkBrzE,OAAS,EAAAqzE,kBAAkBwoF,KACpF,CAMA,OAJIJ,IAA2BH,EAAc3+I,IAAIzoB,EAAOvB,SACpDipK,EAAc7oK,YAAa,GAGxB6oK,CACX,GACA,CAACH,EAAwBC,EAAiB16E,IAGxCnxF,EAAU,UAAMqC,SAAQ,WAC1B,IAEM4pK,EAFsBN,EAAe9+I,QAAO,SAAC8K,GAAS,OAAC8zI,EAAc3+I,IAAI6K,EAAnB,IAEdziB,KAAI,SAACyiB,GAC/C,MAAO,CACH/yB,MAAOlG,EAAE,EAAAk5B,gBAAgBD,IACzB70B,MAAO60B,EAEf,IAIMu0I,EAFsBP,EAAe9+I,QAAO,SAAC8K,GAAS,OAAA8zI,EAAc3+I,IAAI6K,EAAlB,IAEdziB,KAAI,SAACyiB,GAC/C,MAAO,CACH/yB,MAAOlG,EAAE,EAAAk5B,gBAAgBD,IACzB70B,MAAO60B,EAEf,IAEA,OAAO,EAAP,OACOs0I,IAAiB,MAChBC,aAAiB,EAAjBA,EAAmBpsK,QAAS,EAAD,CAAE,EAAA+4F,kBAAkBC,WAAS,EAAKozE,IAAiB,GAAI,KAAG,EAEjG,GAAG,CAACP,EAAgBjtK,IAEdsyJ,EAAe,UAAMntJ,aACvB,SAACf,GACG,IAAMqpK,EAAerpK,EAAMgsE,MAAK,SAAChyD,GAC7B,OAAO2uJ,EAAc3+I,IAAIhQ,EAC7B,IAEIsvJ,EAAWtpK,EACXqpK,IACAC,EAAWtpK,EAAM+pB,QAAO,SAAC/P,GACrB,OAAO2uJ,EAAc3+I,IAAIhQ,EAC7B,KAGJnC,EAASyxJ,EACb,GACA,CAACzxJ,IAGL,OACI,wBAAC,UAAqB,CAClBu2E,eAAgBpuF,EAChBS,YAAaA,EACbvD,QAASA,EACTkD,WAAYA,EACZD,SAAUA,EACVD,WAAYA,EACZD,SAAUiuJ,EACVrsJ,aAAcA,EACdU,eAAgBA,EAChBjF,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEnC,OAAQA,EACRC,QAASA,EACTC,WAAYA,EACZgpK,iBAAe,EACfP,iBAAkBA,EAClB9zF,qBAAsB,SAACs0F,EAAiB/oK,GACpC,OAAK+oK,aAAe,EAAfA,EAAiBxsK,QAIfwsK,aAAe,EAAfA,EAAiBp3J,KAAI,SAAC7Q,GAAW,OAAAA,EAAOO,KAAP,IAAcuoB,KAAK,MAHhD5pB,CAIf,GAGZ,IAEA,UAAemoK,C,ikBC9Kf,IAyBA,2B,8CA0DA,QA1DuC,OA0DvC,EA1DA,CAzBA,SAyBuC1W,qBA8DnC,EAAAuX,gBAAAA,C,qLCvFJ,iBAMS,EAAAC,eAJc,SAAC1oK,GACpB,OAAO,UAAGs9D,UAAUt9D,EAAO,CAAE2oK,SAAS,EAAOC,gBAAgB,GACjE,C,mqDCJA,kBACA,cACA,aACA,cAEA,cACA,UACA,cAIA,aACA,cACA,cAIA,cACA,cACA,cAEMlvK,EAAK,UAAWC,KAAK,WAqBrBkvK,EAAwB,SAC1BC,EACAC,GAEA,OAAOD,EAAQx/F,aAAey/F,EAAQz/F,YAC1C,EAuQA,UAAezvE,EAAMC,MAnNY,SAAwBC,GAC7C,IAAAgwE,EAAsGhwE,EAAK,WAA/FkF,EAA0FlF,EAAK,SAArFmC,EAAgFnC,EAAK,QAA5EU,EAAuEV,EAAK,UAAjEmwE,EAA4DnwE,EAAK,kBAA9CW,EAAyCX,EAAK,aAAhC+vE,EAA2B/vE,EAAK,uBAE7G,IAAwCF,EAAMuE,SAA2B,CAAC,GAAE,GAA3E4qK,EAAe,KAAEC,EAAkB,KAEpC,IAAsCpvK,EAAMuE,SAAwB,MAAK,GAAxE8qK,EAAc,KAAEC,EAAiB,KAElC,IAAoCtvK,EAAMuE,SAAgC,MAAK,GAA9EgrK,EAAa,KAAEC,EAAgB,KAChCr2D,EAAen5G,EAAMkG,aAAY,SAACqpK,GACd,OAAlBA,IACAC,EAAiBD,GACjBD,EAAkBC,EAAcE,aAExC,GAAG,IAEHzvK,EAAMoL,WAAU,WACZ,GAAKmkK,GAAkBA,EAAcG,WAArC,CAKQ,IAAA5gK,EAAaygK,EAAcG,WAAU,SAC7C,GAAK5gK,EAAL,CAMA,IAFA,IAAM6gK,EAAoC,CAAC,EAElCn4J,EAAQ,EAAGA,EAAQ1I,EAAS3M,OAAQqV,GAAS,EAAG,CACrD,IAAMo4J,EAAQ9gK,EAAS0I,GAEvBm4J,GADWC,aAAK,EAALA,EAAOC,aAAa,aAAc,eAC5BD,aAAK,EAALA,EAAOH,cAAe,GAAK,EAChD,CAEA,IAAMK,EAAqB,EAAH,KACjBX,GACAQ,IAGF,aAAQG,EAAoBX,IAC7BC,EAAmBU,EAhBvB,CANA,CAyBJ,GAAG,CAACP,EAAeltK,EAASguE,IAE5BrwE,EAAMy+E,iBAAgB,WAClB,IAAMutD,EAAmB,WAChBujC,GAILD,EAAkBC,EAAcE,YACpC,EAIA,OAFAnvH,OAAOmlD,iBAAiB,SAAUumC,GAE3B,WACH1rF,OAAOolD,oBAAoB,SAAUsmC,EACzC,CACJ,GAAG,CAACujC,IAEJ,IAAMQ,EAAU/vK,EAAM+I,YAChB,IAA4B/I,EAAMuE,SAAwB,MAAK,GAA9DyrK,EAAS,KAAEC,EAAY,KAC9BjwK,EAAMoL,WAAU,W,MACZ6kK,GAA4B,QAAf,EAAAF,EAAQtkK,eAAO,eAAEgkK,cAAe,EAEjD,GAAG,CAACM,EAAQtkK,UAEZ,IAAMykK,EAA8B7tK,EAAQkvC,MAAK,SAAC09H,EAASC,GACvD,OAAOD,EAAQv/F,aAAew/F,EAAQx/F,YAC1C,IAEMygG,GAAc,aAAQhB,IAAuC,OAAnBE,EAE5Ce,EAAoBD,GAAkC,OAAnBd,EAA0BgB,IAAWhB,EA5E9D,GA8ERiB,EAAiB,EAAH,KAAOJ,IAA2B,GAChDK,EAAiB,GAEnBC,EA/Ha,SACjBnuK,EACA8sK,GAEA,OAAO9sK,EAAQ4/C,QAAO,SAACwuH,EAAc/pK,GACjC,OAAO+pK,GAAgBtB,EAAgBzoK,EAAO0F,KAAiB,EACnE,GAAG,EACP,CAwHuBskK,CAAaJ,EAAgBnB,GAMhD,IAJIqB,EAAeJ,GAAmC,OAAdJ,IACpCI,GAAqBJ,GAGlBQ,EAAeJ,GAAmB,CACrC,IAAM1pK,EAAS4pK,EAAeK,MAC1BjqK,IACA6pK,EAAe34J,KAAKlR,GAEpB8pK,GADoBrB,EAAgBzoK,aAAM,EAANA,EAAQ0F,IAGpD,CAEA,IAAMwkK,EAAuBT,EAAc9tK,EAAUiuK,EAAe/+H,KAAKy9H,GAYnE6B,EAAqBV,EAVmC,CAC1D,CAEI/jK,GAAI,GACJqjE,aAAc,EACdC,aAAc,EACdzoE,MAAO,KAI8CspK,EAAeh/H,KAAKy9H,GAE3E3uK,EAAkBwwK,EAAmBt5J,KAAI,SAAC7Q,EAAQoqK,GAAgB,OACpE7pK,MACI,gBAAC,UAA0B,CACvB4L,IAAKi+J,EACLhpJ,WAAYooD,IAAexpE,EAAO0F,GAClCnF,MACI,gCACKP,EAAOkpE,mBACJ,gBAAC,UAAiB,GAAChvE,UAAWf,EAAG,iBAAqB6G,EAAOkpE,oBAEhElpE,EAAOO,SAKxB7B,SAAU,WACNA,EAASsB,EAAO0F,GACpB,EAjBoE,IAoBlE2kK,EAvK6B,SACnC1uK,GAEA,IAAM2uK,GAAqB,aAAQ3uK,EAAS,2BAEtC4uK,EAA0B,SAAC5uK,GAC7B,OAAOA,EAAQ4/C,QAAO,SAACivH,EAASxqK,G,MAC5B,OAAOwqK,IAAoC,QAAzB,EAAAxqK,aAAM,EAANA,EAAQkpE,yBAAiB,eAAE9sE,QAAS,EAC1D,GAAG,EACP,EAEA,OAAIkuK,EAAmB,EAAA3+J,2BAA2B8+J,KACvC,CACHruK,MAAOmuK,EAAwBD,EAAmB,EAAA3+J,2BAA2B8+J,MAC7E/vK,MAAO,EAAAiR,2BAA2B8+J,IAClCz9J,gBAAgB,GAIpBs9J,EAAmB,EAAA3+J,2BAA2BG,QACvC,CACH1P,MAAOmuK,EAAwBD,EAAmB,EAAA3+J,2BAA2BG,SAC7EpR,MAAO,EAAAiR,2BAA2BG,OAClCkB,gBAAgB,GAIpBs9J,EAAmB,EAAA3+J,2BAA2Bg8J,OACvC,CACHvrK,MAAOmuK,EAAwBD,EAAmB,EAAA3+J,2BAA2Bg8J,QAC7EjtK,MAAO,EAAAiR,2BAA2Bg8J,OAInC,IACX,CAoIqC+C,CAA+BP,GAEhE7wK,EAAMoL,WAAU,W,MACZ6kK,GAA4B,QAAf,EAAAF,EAAQtkK,eAAO,eAAEgkK,cAAe,EAEjD,GAAG,CAAC,UAAGsB,aAAwB,EAAxBA,EAA0BjuK,MAAK,YAAIiuK,aAAwB,EAAxBA,EAA0B3vK,OAAS2uK,EAAQtkK,UAErF,IAAM4lK,EAAgCrxK,EAAM0E,SAAQ,WACxC,IAAAvC,EAAW9B,EAAe,OAC5BgC,EAAO,OAA0DhC,IAAe,GActF,OAZC4vE,GAA0B,IAAI3zD,SAAQ,SAACg1J,GACpC,KAAIA,GAAkBnvK,GAAtB,CAIA,IACMovK,EAAkBlxK,EADF8B,EAASmvK,GAEzB95J,EAAQnV,EAAQkoE,WAAU,SAAC7jE,GAAW,OAAAA,IAAW6qK,CAAX,IAE5ClvK,EAAQq9D,OAAOloD,EAAO,EAAG,EAAA0jF,kBAAkBC,UAN3C,CAOJ,IAEO94F,CACX,GAAG,CAAChC,EAAiB4vE,IAErB,OACI,uBAAKrvE,WAAW,aAAGf,EAAG,QAASe,GAAYsL,IAAKitG,GAC5C,uBAAKv4G,UAAWf,EAAG,YAAa,CAAE,yBAA0BswK,KACvDS,EAAqBr5J,KAAI,SAAC7Q,EAAQoqK,G,MACzBhpJ,EAAaooD,IAAexpE,EAAO0F,GAEzC,OACI,uBAAKxL,UAAWf,EAAG,UAAWgT,IAAKi+J,EAAW,UAAW1xJ,OAAO1Y,EAAO0F,KACnE,gBAAC,UAAM,CACHqL,iBAAiB,IACjB7W,UAAWf,EAAG,gBAAiB,CAAE,4BAA6BioB,IAC9D1mB,MAAO,EAAA2N,gBAAgB6E,YACvB/S,aAAc,UAAGA,EAAY,YAAI6F,EAAO7F,cACxC2S,UAAWsU,EACXnmB,QAAS,WACLyD,EAASsB,EAAO0F,GACpB,EACAxK,UAC4B,QAAxB,EAAA8E,EAAOkpE,yBAAiB,eAAE9sE,OACtB,gBAAC,UAAiB,KAAK4D,EAAOkpE,oBAC9B,MAGPlpE,EAAOO,OAIxB,IACA,uBAAKrG,UAAWf,EAAG,UAAWqM,IAAK6jK,EAAO,UAAU,iBAChD,gBAAC,UAAe,CACZ1tK,QAASgvK,EACTxwK,aAAc,UAAGA,EAAY,kBAC7ByB,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAM,CACH8V,iBAAiB,IACjB9V,QAASA,EACTa,UAAWD,EACX1B,aAAc,UAAGA,EAAY,kBAC7Be,SACImvK,EACI,gBAAC,UAAiB,KAAKA,IACvB,KAERz4H,UAAW,gBAAC,UAAU,MACtBl3C,MAAO,EAAA2N,gBAAgB6E,aAEtBy8D,EAd6B,EAiBtC5tE,gBAAiB,EAAAC,4BAA4BC,gBAMrE,G,+BCnTA,WAAgB,QAAU,gCAAgC,eAAiB,uCAAuC,OAAS,+BAA+B,SAAW,iC,0cCDrK,IA4BK6uK,EA5BL,cACA,cACA,cACA,WAQA,cACA,WACA,cACA,WACA,aACA,cACA,cAEM3xK,EAAK,UAAWC,KAAK,YAS3B,SAAK0xK,GACD,gBACA,kBACH,CAHD,CAAKA,IAAAA,EAAe,KA6JpB,UAAe,UAAMvxK,MApJL,SAAKC,GAEb,IAAAyM,EAQAzM,EAAK,KAPLoW,EAOApW,EAAK,KANLe,EAMAf,EAAK,SALLQ,EAKAR,EAAK,QAJLE,EAIAF,EAAK,SAHLm1E,EAGAn1E,EAAK,kBAFL4wJ,EAEA5wJ,EAAK,qBADL6wJ,EACA7wJ,EAAK,4BAEHuxK,GAA2B,eAE3BC,EAAgB,UAAMxrK,aAAY,W,MACpC,OAAqC,QAA7B,EAAAurK,EAAyB9kK,YAAI,eAAExJ,MACnC,KAAKquK,EAAgB/mK,MACb/J,GACAA,IAEJ,MAEJ,KAAK8wK,EAAgBG,OACbvxK,GACAA,IASZqxK,EAAyB3oI,QAAQ,KAGrC,GAAG,CAACpoC,EAASN,EAAUqxK,EAAyB9kK,KAAM8kK,EAAyB3oI,UAEzE,IAAoD,UAAMvkC,UAAkB,GAAM,GAAjFs2J,EAAqB,KAAEh3G,EAAwB,KAEtD,UAAMz4C,WAAU,WACRyvJ,GACAh3G,GAAyB,EAGjC,GAAG,CAACl3C,IAEJ,IAAMjC,EAAc,UAAMxE,aACtB,SAAC7D,IAC8BA,EAAUA,EAAQw4J,sBAAwBA,GAEjE4W,EAAyB3oI,QAAQ,CAAE3lC,KAAMquK,EAAgB/mK,QAClD/J,GACPA,GAER,GAEA,CAAC+wK,EAAyB3oI,QAAS+xH,EAAuBn6J,IAGxDkxK,EAAe,UAAM1rK,aACvB,SAAC7D,IAC8BA,EAAUA,EAAQw4J,sBAAwBA,GAEjE4W,EAAyB3oI,QAAQ,CAAE3lC,KAAMquK,EAAgBG,SAClDvxK,GACPA,GAER,GAEA,CAACqxK,EAAyB3oI,QAAS+xH,EAAuBz6J,IAGxDyxK,EAAiB,UAAMhpK,OAA2B6B,GACxDmnK,EAAepmK,QAAUf,EAEzB,UAAMU,WAAU,WACZ,IAAM0mK,EAAgB,SAACjmK,GACfA,EAAMgH,MAAQ,EAAA+lB,QAAQE,QACtB+4I,EAAepmK,SAEvB,EAIA,OAFAwyC,SAASwnD,iBAAiB,UAAWqsE,GAE9B,WACH7zH,SAASynD,oBAAoB,UAAWosE,EAC5C,CACJ,GAAG,IAEH,IAAMC,EAAqB,UAAM7rK,aAC7B,SAAC2F,GACG,GAAI5K,IAAa,EAAAmwJ,oBAAoBrqF,KAAM,CACvC,IAAMirG,EAAiB/zH,SAASulC,cAAc,kCAC9C,GAAIwuF,aAAc,EAAdA,EAAgBC,SAASpmK,EAAMoc,QAC/B,OAGJ,IAAMiqJ,EAAyBj0H,SAASulC,cAAc,4CACtD,GAAI0uF,aAAsB,EAAtBA,EAAwBD,SAASpmK,EAAMoc,QACvC,MAER,CAEA,IAAMkqJ,EAAYl0H,SAASulC,cAAc,8BACrC2uF,aAAS,EAATA,EAAWF,SAASpmK,EAAMoc,WAI1B,IAAAmqJ,0BAAyBvmK,EAAMoc,SAInCvd,GACJ,GACA,CAACzJ,EAAUyJ,IAGT2nK,EAAwD,CAC1Dh9F,kBAAiB,EACjB1oE,KAAI,EACJjM,QAASgK,EACTtK,SAAUA,EAAWwxK,EAAe,KACpC3wK,SAAQ,EACR4iD,yBAAwB,GAG5B,OACI,gDACI,wBAAC,UAAa,CAAC5iD,SAAUA,EAAUqV,KAAMA,GACrC,wBAAC,UAAmB,CAACg8J,eAAgBP,EAAoBnxK,UAAWf,EAAG,YACnE,wBAAC,UAAwB,KACpBixJ,EAAqBuhB,MAIlC,wBAAC,UAAwB,CACrBx+I,OAAQ49I,EAAyB59I,OACjCllB,SAAU8iK,EAAyB9iK,SACnCjO,QAAS+wK,EAAyB/wK,QAClC8sB,UAAWkkJ,EACX/kK,KAAMA,EACNokJ,4BAA6BA,IAI7C,G,87CCvLA,kBAEA,cACA,cACA,cACA,cAIA,UACA,WACA,cACA,cACA,aACA,WACA,aACA,cAGW,UAAWjxJ,KAAK,WAsH3B,UA5GkD,SAACI,GACvC,IAAAqzF,EAAwCrzF,EAAK,eAA7BkF,EAAwBlF,EAAK,SAAnBU,EAAcV,EAAK,UAE7Ca,GAAM,IAAAC,kBAAgB,EAExBs9C,EAAqB,UAAMp4C,aAC7B,SAACf,GACG,GAAKA,EAAL,CAKA,IAAMotK,EAAah/E,EAAe9tE,SAAStgB,GAEvCC,EADAmtK,EACSh/E,EAAerkE,QAAO,SAAC/P,GAAS,OAAAA,IAASha,CAAT,KAEhC,aAAI,SAAKouF,IAAc,IAAEpuF,IAAK,IAN3C,MAFIC,EAAS,GAUjB,GACA,CAACmuF,EAAgBnuF,IAGf/C,EAA6D,UAAMqC,SACrE,WAAM,OACF,CACIuC,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,aAAayrE,aAAc,EAAdA,EAAgBpxF,QAC7B8E,MAAOlG,EAAE,kDAGjBqE,SAAU,WAAM,OAAAk5C,EAAmB,KAAnB,GAEpB,EAAA48C,kBAAkBC,UAClB,CACIl0F,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,WAAYyrE,EAAe9tE,SAAS,EAAAkK,kBAAkBC,OACtD3oB,MAAO,wBAAC,UAAkB,CAACiT,SAAU,EAAAyV,kBAAkBC,UAG/DxqB,SAAU,WAAM,OAAAk5C,EAAmB,EAAA3uB,kBAAkBC,MAArC,GAEpB,CACI3oB,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,WAAYyrE,EAAe9tE,SAAS,EAAAkK,kBAAkBvE,SACtDnkB,MAAO,wBAAC,UAAkB,CAACiT,SAAU,EAAAyV,kBAAkBvE,YAG/DhmB,SAAU,WAAM,OAAAk5C,EAAmB,EAAA3uB,kBAAkBvE,QAArC,GAEpB,CACInkB,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,WAAYyrE,EAAe9tE,SAAS,EAAAkK,kBAAkBnH,SACtDvhB,MAAO,wBAAC,UAAkB,CAACiT,SAAU,EAAAyV,kBAAkBnH,YAG/DpjB,SAAU,WAAM,OAAAk5C,EAAmB,EAAA3uB,kBAAkBnH,QAArC,GAxClB,GA2CN,CAACznB,EAAGwyF,EAAgBj1C,IAGlBE,EAAc,UAAM95C,SAAQ,WAC9B,OAAK6uF,aAAc,EAAdA,EAAgBpxF,QAKjB,wBAAC,UAA2B,CACxB8E,MACI,gDACKssF,EAAeh8E,KAAI,SAAC2C,EAAUs4J,GAAkB,OAC7C,gDACI,wBAAC,UAAkB,CAAC3/J,IAAKqH,EAAUA,SAAUA,IAC5Cs4J,IAAkBj/E,EAAepxF,OAAS,EAAI,KAAO,GAHb,OAPtD,wBAAC,UAA2B,CAAC8E,MAAOlG,EAAE,iDAiBrD,GAAG,CAACA,EAAGwyF,IAEP,OACI,wBAAC,UAAe,CACZ3yF,UAAWA,EACXyB,QAASA,EACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,wBAAC,UAAkB,CACfsF,MAAOu3C,EACPh8C,UAAWD,EACXZ,QAASA,EACTK,gBAAiB,EAAAC,oBAAoBC,MACrCo2C,UAAW,wBAAC,UAAU,OANQ,EAStC71C,gBAAiB,EAAAC,4BAA4BiF,YAGzD,C,wGCvIA,cAEa,EAAA+rE,sBAAwB,IAAI,EAAAvqD,gB,kYCFzC,kBACA,cAGA,WACA,UACA,UAIMspJ,EAAqC,UAAMxyK,MAAK,SAACC,GACnD,IAAMu0B,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAAMi+I,GAAe,IAAAx8J,aAAY,EAAAsqF,qBAEjC,OAAO,wBAAC,UAAwB,KAAKtgG,EAAK,CAAEwyK,aAAcA,IAC9D,IAEA,UAAeD,C,iMCrBf,eACA,UACA,WACA,UACA,WACA,cACA,cAca,EAAAE,2BAA6B,SACtCn5J,EACAuC,G,MAEQ2jE,EAA6B3jE,EAAI,YAApBk3B,EAAgBl3B,EAAI,YAEzC,IAAKk3B,EACD,OAAO,KAGX,IAAM2/H,EAAiBlzF,EAAYz9B,QAAsC,SAACC,EAAKy+B,G,MAQ3E,OAPAz+B,EAAIy+B,EAAWv0E,MAAG,MACb,EAAA2M,aAAaohE,aAAc,EAC5B,EAAC,EAAAphE,aAAaqhE,aAAc,EAC5B,EAAC,EAAArhE,aAAa85J,aAAc,EAC5B,EAAC,EAAA95J,aAAas9I,uBAAwB,E,GAGnCn0G,CACX,GAAG,CAAC,IAEwB1oC,EAAW,EAAA5Z,WAAWyqF,YAAc,IAC5C/tE,SAAQ,SAACw2J,GACzB,IAAMhmF,EAAgBgmF,EAAe,EAAA9rF,mBAAmB8mB,eAClD9gB,EAAiB8lF,EAAe,EAAA9rF,mBAAmBgG,gBAEnD+lF,EAAgBD,EAAe,EAAA9rF,mBAAmB+rF,eAClDC,GAAkB,IAAAv6I,mBAAkBq6I,EAAe,EAAA9rF,mBAAmBgsF,mBAAqB,EAC7FD,IAAkB,EAAAh6J,aAAaohE,cAC3B2S,GAAiB8lF,EAAe9lF,KAChC8lF,EAAe9lF,GAAe,EAAA/zE,aAAaohE,cAAgB64F,GAG3DhmF,GAAkB4lF,EAAe5lF,KACjC4lF,EAAe5lF,GAAgB,EAAAj0E,aAAaohE,cAAgB64F,IAIhED,IAAkB,EAAAh6J,aAAaqhE,cAC3B0S,GAAiB8lF,EAAe9lF,KAChC8lF,EAAe9lF,GAAe,EAAA/zE,aAAaqhE,cAAgB44F,GAG3DhmF,GAAkB4lF,EAAe5lF,KACjC4lF,EAAe5lF,GAAgB,EAAAj0E,aAAaqhE,cAAgB44F,IAIhED,IAAkB,EAAAh6J,aAAa85J,cAC3B/lF,GAAiB8lF,EAAe9lF,KAChC8lF,EAAe9lF,GAAe,EAAA/zE,aAAa85J,cAAgBG,GAG3DhmF,GAAkB4lF,EAAe5lF,KACjC4lF,EAAe5lF,GAAgB,EAAAj0E,aAAa85J,cAAgBG,IAIpE,IAAMC,GAAc,IAAAx6I,mBAAkBq6I,EAAe,EAAA9rF,mBAAmBisF,eAAiB,EACrFnmF,GAAiB8lF,EAAe9lF,KAChC8lF,EAAe9lF,GAAe,EAAA/zE,aAAas9I,wBAA0B4c,GAGrEjmF,GAAkB4lF,EAAe5lF,KACjC4lF,EAAe5lF,GAAgB,EAAAj0E,aAAas9I,wBAA0B4c,EAE9E,IAEA,IAAI5lK,EAAqD,KACnD6lK,IAAY,MACb,EAAAn6J,aAAaohE,aAAc,EAC5B,EAAC,EAAAphE,aAAaqhE,aAAc,EAC5B,EAAC,EAAArhE,aAAa85J,aAAc,EAC5B,EAAC,EAAA95J,aAAas9I,uBAAwB,E,GAuE1C,OApEA32E,SAAAA,EAAapjE,SAAQ,SAACqkE,EAAYnpE,GACzBo7J,EAAejyF,EAAWv0E,MAAOiB,IAItC6lK,EAAa,EAAAn6J,aAAaohE,cAAgBy4F,EAAejyF,EAAWv0E,IAAI,EAAA2M,aAAaohE,aACrF+4F,EAAa,EAAAn6J,aAAaqhE,cAAgBw4F,EAAejyF,EAAWv0E,IAAI,EAAA2M,aAAaqhE,aACrF84F,EAAa,EAAAn6J,aAAa85J,cAAgBD,EAAejyF,EAAWv0E,IAAI,EAAA2M,aAAa85J,aACrFK,EAAa,EAAAn6J,aAAas9I,wBACtBuc,EAAejyF,EAAWv0E,IAAI,EAAA2M,aAAas9I,wBAE3C,aAASpjH,EAAYknC,cAAgB+4F,EAAa,EAAAn6J,aAAaohE,aAAelnC,EAAYknC,cAC1F9sE,EAAS,CACL42F,SAAU,EAAAlrF,aAAaohE,YACvBg5F,YAAa37J,EACb47J,aAAa,aACT1zF,GACA,SAACiB,GACG,OAAOA,EAAWx9E,OAAS,EAAAmvE,kCAAkCC,QACjE,GACA/6D,EAAQ,MAKhB,aAASy7B,EAAYmnC,cAAgB84F,EAAa,EAAAn6J,aAAaqhE,aAAennC,EAAYmnC,cAC1F/sE,EAAS,CACL42F,SAAU,EAAAlrF,aAAaqhE,YACvB+4F,YAAa37J,EACb47J,aAAa,aACT1zF,GACA,SAACiB,GACG,OAAOA,EAAWx9E,OAAS,EAAAmvE,kCAAkCC,QACjE,GACA/6D,EAAQ,MAKhB,aAASy7B,EAAY4/H,cAAgBK,EAAa,EAAAn6J,aAAa85J,aAAe5/H,EAAY4/H,cAC1FxlK,EAAS,CACL42F,SAAU,EAAAlrF,aAAa85J,YACvBM,YAAa37J,EACb47J,aAAa,aACT1zF,GACA,SAACiB,GACG,OAAOA,EAAWx9E,OAAS,EAAAmvE,kCAAkCC,QACjE,GACA/6D,EAAQ,MAKhB,aAASy7B,EAAYmjH,SAAW8c,EAAa,EAAAn6J,aAAas9I,uBAAyBpjH,EAAYmjH,SAC/F/oJ,EAAS,CACL42F,SAAU,EAAAlrF,aAAas9I,sBACvB8c,YAAa37J,EACb47J,aAAa,aACT1zF,GACA,SAACiB,GACG,OAAOA,EAAWx9E,OAAS,EAAAmvE,kCAAkCC,QACjE,GACA/6D,EAAQ,KAIxB,IAEOnK,CACX,C,u8CCtKA,kBAEA,cACA,cAEA,WACA,WACA,WACA,WACA,cACA,cACA,UACA,cACA,cACA,cACA,cAEA,WACA,WACA,cACA,WACA,cACA,WACA,cACA,cACA,YACA,cACA,cACA,cACA,UAKA,cACA,WACA,cACA,UACA,UACA,cACA,cACA,WAEA,cAGA,WACA,WACA,cACA,cAEMxN,EAAK,UAAWC,KAAK,WAUrBuzK,EAAqB,CACvB,EAAAzzK,WAAW0uJ,wBACX,EAAA1uJ,WAAW2uJ,oBACX,EAAA3uJ,WAAW4uJ,iBACX,EAAA5uJ,WAAW6uJ,oBACX,EAAA7uJ,WAAW8uJ,qBAET4kB,GAA8B,IAAA3vH,oCAAmC0vH,GAEjEE,EAAsB,CACxB,EAAA3zK,WAAWgvJ,yBACX,EAAAhvJ,WAAWivJ,qBACX,EAAAjvJ,WAAWkvJ,kBACX,EAAAlvJ,WAAWmvJ,qBACX,EAAAnvJ,WAAWovJ,sBAETwkB,IAA+B,IAAA7vH,oCAAmC4vH,GAElEE,GAAuB,CACzB,EAAA7zK,WAAWsvJ,0BACX,EAAAtvJ,WAAWuvJ,sBACX,EAAAvvJ,WAAWwvJ,mBACX,EAAAxvJ,WAAWyvJ,sBACX,EAAAzvJ,WAAW0vJ,uBAETokB,IAAgC,IAAA/vH,oCAAmC8vH,IAEnE/vH,IAA+B,IAAAC,oCAAmCC,OAAO5oC,OAAO,EAAApb,aAEhF+zK,GAAuC3zK,EAAMC,MAAK,SAACC,GAC7C,IAAA20B,EAAuF30B,EAAK,eAA5E0zK,EAAuE1zK,EAAK,gBAA3D2zK,EAAsD3zK,EAAK,kBAAxC4zK,EAAmC5zK,EAAK,cAAzB6zK,EAAoB7zK,EAAK,gBAE9FwuB,EAAgBxlB,QAAQ2rB,GAExBorB,EAA2BjgD,EAAM6yB,WAAW,WAE5C,GAA6B,eAA3BtvB,EAAS,YAAEC,EAAW,cAExBq+B,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1BirC,GAAgB,IAAA72D,aAAY,EAAA89J,mCAE1BjzK,IAAM,IAAAC,kBAAgB,EAExByzB,IAAW,IAAAC,eAEXihE,IAAgB,IAAAz/E,aAAY,EAAA0/E,uBAE5Bq+E,GAAwBzwK,IAAgB,EAAA+kB,gBAAgB6C,QACxD8oJ,GAAkB1wK,IAAgB,EAAA+kB,gBAAgB6C,SAAW5nB,IAAgB,EAAA+kB,gBAAgBC,QAE7Fs7B,GAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,GAAGia,EAAQ,CAAEi5J,sBAAqB,IAA/C,CACpC,GAAG,CAAClzK,GAAGkzK,KAED,KAAiCj0K,EAAM0E,SAAQ,WACjD,IAAMsW,GAAS,aAAiB6Z,GAGhC,MAAO,CAAC7Z,GAFO,aAAaja,GAAGia,EAAQ,CAAEi5J,sBAAqB,KAIlE,GAAG,CAACp/I,EAAgBo/I,KAAuB,GANpCv5J,GAAa,MAAEupC,GAAa,MAQ7BtpC,IAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,GACbvpC,cAAa,GACbopC,SAAQ,GACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMi4D,GAAwB,aAAyBl4D,IAClD6Z,aAAc,EAAdA,EAAgBzoB,MAGhB5I,GAKLixB,IAAS,IAAA4+C,sBAAqBx+C,EAAezoB,GAAI5I,EAAa0vE,IAC9Dj4D,EAAcI,WAAW,CAAC,KALtB,IAAAuZ,YAAW,oDAMnB,IAGEu/I,GAAwB,SAAC5rH,GAC3B5tC,GAAOsB,cAAc,EAAArc,WAAW2oD,YAAaA,EACjD,EAEAvoD,EAAMoL,WAAU,WACR60C,EAAyB09E,wBACzB19E,EAAyB09E,uBAAuB,CAC5Cx9E,OAAQxlC,GAAOijH,WACf75D,MAAOppD,GAAOkjH,UACdu2C,eAAgB,WACZ,IAEMC,EAFYzwH,OAAO0wH,KAAK,EAAA10K,YAEJqiD,QAA6C,SAACC,EAAK6iF,GAEzE,OADA7iF,EAAI6iF,IAAS,EACN7iF,CACX,GAAG,CAAC,GAEJvnC,GAAOU,WAAW,EAAD,KACVV,GAAO05J,SACPA,GAEX,GAIZ,GAAG,CAAC15J,GAAOijH,WAAYjjH,GAAOkjH,YAE9B,IAAME,IAAmB,IAAAC,uBAAsBrjH,GAAOmB,QAChDqoC,GAA0BT,GAA6B/oC,GAAOK,OAAQN,IAE5E1a,EAAMoL,WAAU,WACR60C,EAAyBi+E,oBACzBj+E,EAAyBi+E,mBAAmB,CACxCx4H,WAAYy+C,GACZ85E,UAAWF,IAIvB,GAAG,CAAC99E,EAAyBi+E,mBAAoBH,GAAkB55E,KAEnEnkD,EAAMoL,WAAU,WACR60C,EAAyBk+E,sBACzBl+E,EAAyBk+E,qBAAqB,CAC1CjvH,UAAW69D,EAAchpE,SAIrC,GAAG,CAACk8C,EAAyBk+E,qBAAsBpxD,EAAchpE,UAEjE,IAAMwwK,GAAyBjB,EAA4B54J,GAAeC,GAAOK,QAC3Ew5J,GAAsB7+E,GAAch7E,GAAOK,OAAO,EAAApb,WAAW0uJ,0BAC7DmmB,GAAmB,EACrBD,cAAmB,EAAnBA,GAAqB1b,sBAAuB,GAC5Cn+I,GAAOK,OAAO,EAAApb,WAAW2uJ,qBACzB5zI,GAAOK,OAAO,EAAApb,WAAW4uJ,kBACzB7zI,GAAOK,OAAO,EAAApb,WAAW6uJ,qBACzB9zI,GAAOK,OAAO,EAAApb,WAAW8uJ,sBAExBl/H,KAAK,KACLX,OAEC6lJ,GAA0BlB,GAA6B94J,GAAeC,GAAOK,QAC7E4zI,GAA2Bj5D,GAAch7E,GAAOK,OAAO,EAAApb,WAAWgvJ,2BAClE+lB,GAAoB,EACtB/lB,cAAwB,EAAxBA,GAA0BkK,sBAAuB,GACjDn+I,GAAOK,OAAO,EAAApb,WAAWivJ,sBACzBl0I,GAAOK,OAAO,EAAApb,WAAWkvJ,mBACzBn0I,GAAOK,OAAO,EAAApb,WAAWmvJ,sBACzBp0I,GAAOK,OAAO,EAAApb,WAAWovJ,uBAExBx/H,KAAK,KACLX,OAEC+lJ,GAA2BlB,GAA8Bh5J,GAAeC,GAAOK,QAC/Ek0I,GACFv5D,GAAch7E,GAAOK,OAAO,EAAApb,WAAWsvJ,4BACrC2lB,GAAqB,EACvB3lB,cAAyB,EAAzBA,GAA2B4J,sBAAuB,GAClDn+I,GAAOK,OAAO,EAAApb,WAAWuvJ,uBACzBx0I,GAAOK,OAAO,EAAApb,WAAWwvJ,oBACzBz0I,GAAOK,OAAO,EAAApb,WAAWyvJ,uBACzB10I,GAAOK,OAAO,EAAApb,WAAW0vJ,wBAExB9/H,KAAK,KACLX,OAECimJ,IAAkB,IAAAC,6BAA4BlgJ,aAAc,EAAdA,EAAgB4hF,cAC9Du+D,GAA4BF,MAAoBjgJ,aAAc,EAAdA,EAAgBvJ,iBAEhE2pJ,IAAmB,IAAAF,6BAA4BlgJ,aAAc,EAAdA,EAAgB85H,eAC/DumB,GAA6BD,MAAqBpgJ,aAAc,EAAdA,EAAgBsgJ,uBAElEC,IAAoB,IAAAL,6BAA4BlgJ,aAAc,EAAdA,EAAgBo6H,gBAChEomB,GAA8BD,MAAsBvgJ,aAAc,EAAdA,EAAgBxJ,wBAEpEiqJ,GAA8B36J,GAAOK,OAAO,EAAApb,WAAW0uJ,yBACvDinB,GAAsB56J,GAAOK,OAAO,EAAApb,WAAW2oD,aAuErD,OAtEA,IAAAitH,kCACI,CACID,oBAAmB,GACnBE,gBAAiBH,KAErB,W,MACI36J,GAAOU,aAAU,MAAI,EAAAzb,WAAW2oD,cAAc,EAAK,IAAI,GACvD5tC,GAAOsB,cAAc,EAAArc,WAAW2oD,YAAa,KACjD,IA+DA,wBAAMxtC,SAAUJ,GAAOiB,cACnB,gBAAC,UAAc,CAAChb,UAAWf,EAAG,SAC1B,gBAAC,UAAM,CACHe,UAAWf,EAAG,UACdM,MAAOY,GAAE,sCACTT,eACI,gBAAC,UAAiB,CACdiD,UAAWA,EACXC,YAAaA,EACbo5C,iBAAiB,EACjBJ,aAAa3nB,aAAc,EAAdA,EAAgB2nB,cAAe,KAC5Cz2C,QAAQ8uB,aAAc,EAAdA,EAAgBtX,cAAe,KACvChX,UAAUsuB,aAAc,EAAdA,EAAgBrX,gBAAiB,OAGnD/c,UACI,gBAAC,UAAwB,CACrBi1K,cAAc,IAAAC,oBAAmBnyK,GACjCoyK,sBAAsB,IAAAC,uBAAsBryK,EAAaqxB,GACzDihJ,YAAY,IAAAH,oBAAmBnyK,GAC/BuyK,oBAAoB,IAAAF,uBAAsBryK,EAAaqxB,GACvDmhJ,OAAQlC,EACRmC,SAAUlC,EACVl/I,eAAgBA,KAIxB,uBAAKj0B,UAAWf,EAAG,kBACf,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRe,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWkZ,KACjB7U,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWkZ,MAChCiD,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWkZ,MACrC7R,MAAOlG,GAAE,yCACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWkZ,KACjB3T,MAAOwV,GAAOK,OAAO,EAAApb,WAAWkZ,MAChCpT,WAAYxF,EAAMwF,WAClBsX,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,gBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,qBACvBiZ,KAAM,EAAAlZ,WAAW2oD,YACjBtkD,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW2oD,aAChCxsC,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW2oD,aACrCthD,MAAOlG,GAAE,+CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAiB,CACdmxB,YAAa1W,GAAOK,OAAO,EAAApb,WAAW0uJ,yBACtCnpJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAW2oD,aAChCvrC,SAAUm3J,GACV5uK,YAAaoV,GAAOK,OAAO,EAAApb,WAAW0uJ,yBACtC7rJ,gBAAiB,EAAAC,4BAA4BiF,WAC7CrC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YAXd,IAefwuK,GACG,gBAAC,UAAW,CACRtzK,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWyuJ,QACjBpqJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWyuJ,SAChCtyI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWyuJ,SACrCpnJ,MAAOlG,GAAE,0CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,gBACxBg6J,mBAAoBxnJ,EACpBnc,QArGR,W,MACpB,OAAsC,QAAjC,EAAAoI,GAAOK,OAAO,EAAApb,WAAWyuJ,gBAAQ,eAAElsJ,SAKpC0yB,aAAc,EAAdA,EAAgBshJ,yBAChB,aAAQz7J,GAAc,EAAA9a,WAAWyuJ,SAAU1zI,GAAOK,OAAO,EAAApb,WAAWyuJ,UAE7DttJ,GAAE,8CAGN,KAVI,GAWf,CAwFyCq1K,GACT70K,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,GAAE,+CAIV,SAACb,GAAU,OACR,gBAAC,UAAkB,CACf8F,eAAgB6uB,aAAc,EAAdA,EAAgB2+C,MAChCx4D,OAAQL,GAAOK,OAAO,EAAApb,WAAWyuJ,SACjCjpJ,SAAUlF,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,WAClB4tF,sBAAuB,EACvB1tF,YAAa7E,GAAE,gDACfwE,YAAampB,GAZT,IAiBhB,gBAAC,EAAAgkH,oBAAmB,CAAC9xI,UAAWf,EAAG,QAAS,sCAEhD,gBAAC,EAAA6yI,oBAAmB,CAAC9xI,UAAWf,EAAG,QAAS,yCAIvD2D,IAAgB,EAAA+kB,gBAAgB6C,SAC7B,gBAAC,UAAM,CACHxqB,UAAWf,EAAG,UACdM,MAAOY,GAAE,0CACTi6C,iBACI,gBAAC,UAAc,CAAC55C,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,GAAE,0CAGXT,eAAgB,gBAAC,UAAQ,QAGjC,uBAAKM,UAAWf,EAAG,iBACf,gBAAC,UAAM,CACHe,UAAWf,EAAG,SAAU,wBACxBM,MAAOY,GAAE,8CACTN,UACI,gBAAC,UAA0B,CACvB8pF,aAAcuqF,GACduB,wBACIvB,IAAmBjzI,EAAYy0I,mBAAqB/B,GAExDnkK,YAAa,EAAAmmK,gBAAgBC,MAC7BC,YAAahC,GACbiC,aAAc1B,GACdhwK,UAAW6vB,aAAc,EAAdA,EAAgBzoB,GAC3BuqK,SAAU/C,EACVgD,WAAY/C,KAIpB,uBAAKjzK,UAAWf,EAAG,kBACf,gBAAC,UAAU,CAAC8zG,OAAQ,GAChB,gBAAC,UAAW,CACR/yG,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAW0uJ,wBACjBrqJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW0uJ,yBAChCvyI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW0uJ,yBACrCrnJ,MAAOlG,GAAE,4CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAe,CACZmF,WAAY2vK,GACZ1vK,SAAUpF,EAAMoF,SAChBH,MAAOwV,GAAOK,OAAO,EAAApb,WAAW0uJ,yBAChCtxI,SAAU,SAACqU,GACPnxB,EAAM8c,SAASqU,EACnB,EACA5uB,gBAAiB,EAAAC,4BAA4BiF,WAC7CnC,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YAXd,IAehB,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,cACvBiZ,KAAM,EAAAlZ,WAAW2uJ,oBACjBtqJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW2uJ,qBAChCxyI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW2uJ,qBACrCtnJ,MAAOlG,GAAE,wCACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW2uJ,oBACjBppJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAW2uJ,qBAChC3oJ,YAAa7E,GAAE,8CACfic,SAAU9c,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAc2vK,GAChCxvK,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YAVd,IAchB,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAW4uJ,iBACjBvqJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW4uJ,kBAChCzyI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW4uJ,kBACrCvnJ,MAAOlG,GAAE,yCACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW4uJ,iBACjBrpJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAW4uJ,kBAChC5oJ,YAAa7E,GAAE,+CACfic,SAAU9c,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAc2vK,GAChCxvK,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YAVd,KAepB,gBAAC,UAAW,CACRoT,KAAM,EAAAlZ,WAAW6uJ,oBACjBxqJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW6uJ,qBAChC1yI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW6uJ,qBACrCxnJ,MAAOlG,GAAE,4CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW6uJ,oBACjBtpJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAW6uJ,qBAChC7oJ,YAAa7E,GAAE,kDACfic,SAAU9c,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAc2vK,GAChCxvK,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YAVd,IAchB,gBAAC,UAAW,CACRoT,KAAM,EAAAlZ,WAAW8uJ,oBACjBzqJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW8uJ,qBAChC3yI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW8uJ,qBACrCznJ,MAAOlG,GAAE,4CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW8uJ,oBACjBvpJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAW8uJ,qBAChC9oJ,YAAa7E,GAAE,kDACfic,SAAU9c,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAc2vK,GAChCxvK,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YAVd,MAgBxB,gBAAC,UAAM,CACH9E,UAAWf,EAAG,SAAU,wBACxBM,MAAOY,GAAE,+CACTN,UACI,gBAAC,UAA0B,CACvB8pF,aAAc0qF,GACdoB,wBACIpB,IAAoBpzI,EAAYy0I,mBAAqB5B,GAEzDtkK,YAAa,EAAAmmK,gBAAgBM,OAC7BJ,YAAa9B,GACbmC,OA1TI,W,MAC5Bn8J,GAAO8B,WAAU,SAACzB,G,MACd,OAAO,EAAP,KACOA,KAAM,MACR,EAAApb,WAAWgvJ,0BAA2B5zI,EAAO,EAAApb,WAAW0uJ,yBAAwB,EAChF,EAAA1uJ,WAAWivJ,sBAAuB7zI,EAAO,EAAApb,WAAW2uJ,qBAAoB,EACxE,EAAA3uJ,WAAWkvJ,mBAAoB9zI,EAAO,EAAApb,WAAW4uJ,kBAAiB,EAClE,EAAA5uJ,WAAWmvJ,sBAAuB/zI,EAAO,EAAApb,WAAW6uJ,qBAAoB,EACxE,EAAA7uJ,WAAWovJ,sBAAuBh0I,EAAO,EAAApb,WAAW8uJ,qBAAoB,GAEjF,IAEA/zI,GAAOU,WAAW,EAAD,KACVV,GAAO05J,WAAO,MAChB,EAAAz0K,WAAWgvJ,2BAA2B,EAAI,EAC1C,EAAAhvJ,WAAWivJ,uBAAuB,EAAI,EACtC,EAAAjvJ,WAAWkvJ,oBAAoB,EAAI,EACnC,EAAAlvJ,WAAWmvJ,uBAAuB,EAAI,EACtC,EAAAnvJ,WAAWovJ,uBAAuB,EAAI,IAE/C,EAuS4B0nB,aAAcxB,GACdlwK,UAAW6vB,aAAc,EAAdA,EAAgBzoB,GAC3BuqK,SAAU/C,EACVgD,WAAY/C,KAIpB,uBAAKjzK,UAAWf,EAAG,kBACf,gBAAC,UAAU,CAAC8zG,OAAQ,GAChB,gBAAC,UAAW,CACR/yG,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAWgvJ,yBACjB3qJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWgvJ,0BAChC3nJ,MAAOlG,GAAE,4CACTgb,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWgvJ,0BACrC3yI,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAe,CACZmF,WAAY6vK,GACZ5vK,SAAUpF,EAAMoF,SAChBH,MAAOwV,GAAOK,OAAO,EAAApb,WAAWgvJ,0BAChC5xI,SAAU,SAACqU,GACPnxB,EAAM8c,SAASqU,EACnB,EACA5uB,gBAAiB,EAAAC,4BAA4BiF,WAC7CnC,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YAXd,IAehB,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,cACvBiZ,KAAM,EAAAlZ,WAAWivJ,qBACjB5qJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWivJ,sBAChC9yI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWivJ,sBACrC5nJ,MAAOlG,GAAE,wCACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWivJ,qBACjB1pJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAWivJ,sBAChCjpJ,YAAa7E,GAAE,8CACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAc6vK,GAChCxvK,WAAYxF,EAAMwF,YAVd,IAchB,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWkvJ,kBACjB7qJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWkvJ,mBAChC/yI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWkvJ,mBACrC7nJ,MAAOlG,GAAE,yCACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWkvJ,kBACjB3pJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAWkvJ,mBAChClpJ,YAAa7E,GAAE,+CACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAc6vK,GAChCxvK,WAAYxF,EAAMwF,YAVd,KAepB,gBAAC,UAAW,CACRoT,KAAM,EAAAlZ,WAAWmvJ,qBACjB9qJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWmvJ,sBAChChzI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWmvJ,sBACrC9nJ,MAAOlG,GAAE,4CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWmvJ,qBACjB5pJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAWmvJ,sBAChCnpJ,YAAa7E,GAAE,kDACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAc6vK,GAChCxvK,WAAYxF,EAAMwF,YAVd,IAchB,gBAAC,UAAW,CACRoT,KAAM,EAAAlZ,WAAWovJ,qBACjB/qJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWovJ,sBAChCjzI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWovJ,sBACrC/nJ,MAAOlG,GAAE,4CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWovJ,qBACjB7pJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAWovJ,sBAChCppJ,YAAa7E,GAAE,kDACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAc6vK,GAChCxvK,WAAYxF,EAAMwF,YAVd,MAgBvBuuK,IACG,gBAAC,UAAM,CACHrzK,UAAWf,EAAG,SAAU,wBACxBM,MAAOY,GAAE,gDACTN,UACI,gBAAC,UAA0B,CACvB8pF,aAAc6qF,GACdiB,wBACIjB,IAAqBvzI,EAAYy0I,mBAAqB1B,GAE1DxkK,YAAa,EAAAmmK,gBAAgBQ,QAC7BN,YAAa5B,GACb6B,aAAcrB,GACdyB,OA5dC,W,MAC7Bn8J,GAAO8B,WAAU,SAACzB,G,MACd,OAAO,EAAP,KACOA,KAAM,MACR,EAAApb,WAAWsvJ,2BAA4Bl0I,EAAO,EAAApb,WAAW0uJ,yBAAwB,EACjF,EAAA1uJ,WAAWuvJ,uBAAwBn0I,EAAO,EAAApb,WAAW2uJ,qBAAoB,EACzE,EAAA3uJ,WAAWwvJ,oBAAqBp0I,EAAO,EAAApb,WAAW4uJ,kBAAiB,EACnE,EAAA5uJ,WAAWyvJ,uBAAwBr0I,EAAO,EAAApb,WAAW6uJ,qBAAoB,EACzE,EAAA7uJ,WAAW0vJ,uBAAwBt0I,EAAO,EAAApb,WAAW8uJ,qBAAoB,GAElF,IAEA/zI,GAAOU,WAAW,EAAD,KACVV,GAAO05J,WAAO,MAChB,EAAAz0K,WAAWsvJ,4BAA4B,EAAI,EAC3C,EAAAtvJ,WAAWuvJ,wBAAwB,EAAI,EACvC,EAAAvvJ,WAAWwvJ,qBAAqB,EAAI,EACpC,EAAAxvJ,WAAWyvJ,wBAAwB,EAAI,EACvC,EAAAzvJ,WAAW0vJ,wBAAwB,EAAI,IAEhD,EAycgCtqJ,UAAW6vB,aAAc,EAAdA,EAAgBzoB,GAC3BuqK,SAAU/C,EACVgD,WAAY/C,KAIpB,uBAAKjzK,UAAWf,EAAG,kBACf,gBAAC,UAAU,CAAC8zG,OAAQ,GAChB,gBAAC,UAAW,CACR/yG,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAWsvJ,0BACjBjrJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWsvJ,2BAChCjoJ,MAAOlG,GAAE,4CACTgb,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWsvJ,2BACrCjzI,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAe,CACZmF,WAAYgwK,GACZ/vK,SAAUpF,EAAMoF,SAChBH,MAAOwV,GAAOK,OAAO,EAAApb,WAAWsvJ,2BAChClyI,SAAU,SAACqU,GACPnxB,EAAM8c,SAASqU,EACnB,EACA5uB,gBAAiB,EAAAC,4BAA4BiF,WAC7CnC,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YAXd,IAehB,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,cACvBiZ,KAAM,EAAAlZ,WAAWuvJ,sBACjBlrJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWuvJ,uBAChCpzI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWuvJ,uBACrCloJ,MAAOlG,GAAE,wCACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWuvJ,sBACjBhqJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAWuvJ,uBAChCvpJ,YAAa7E,GAAE,8CACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAcgwK,GAChC3vK,WAAYxF,EAAMwF,YAVd,IAchB,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWwvJ,mBACjBnrJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWwvJ,oBAChCrzI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWwvJ,oBACrCnoJ,MAAOlG,GAAE,yCACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWwvJ,mBACjBjqJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAWwvJ,oBAChCxpJ,YAAa7E,GAAE,+CACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAcgwK,GAChC3vK,WAAYxF,EAAMwF,YAVd,KAepB,gBAAC,UAAW,CACRoT,KAAM,EAAAlZ,WAAWyvJ,sBACjBprJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWyvJ,uBAChCtzI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWyvJ,uBACrCpoJ,MAAOlG,GAAE,4CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWyvJ,sBACjBlqJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAWyvJ,uBAChCzpJ,YAAa7E,GAAE,kDACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAcgwK,GAChC3vK,WAAYxF,EAAMwF,YAVd,IAchB,gBAAC,UAAW,CACRoT,KAAM,EAAAlZ,WAAW0vJ,sBACjBrrJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW0vJ,uBAChCvzI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW0vJ,uBACrCroJ,MAAOlG,GAAE,4CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW0vJ,sBACjBnqJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAW0vJ,uBAChC1pJ,YAAa7E,GAAE,kDACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAcgwK,GAChC3vK,WAAYxF,EAAMwF,YAVd,IAchB,gBAAC,UAAW,CACRoT,KAAM,EAAAlZ,WAAW2vJ,aACjBtrJ,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW2vJ,cAChCxzI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW2vJ,cACrCtoJ,MAAOlG,GAAE,kDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW2vJ,aACjBpqJ,MAAOwV,GAAOK,OAAO,EAAApb,WAAW2vJ,cAChC3pJ,YAAY,GACZoX,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAAcgwK,GAChC3vK,WAAYxF,EAAMwF,YAVd,QAmBpC,gBAAC,UAAkB,CAACigF,YAAahrE,GAAOgrE,YAAa7pE,OAAQnB,GAAOmB,SACpE,gBAAC,UAAkC,MAG/C,IAEA,UAAe63J,E,u7BCt3Bf,kBACA,WACA,cAEA,cACA,cACA,WACA,cACA,WACA,WACA,UACA,WACA,aACA,aACA,WACA,cACA,cACA,aACA,cACA,cACA,WACA,cACA,WACA,cACA,WAEM9zK,EAAK,UAAWC,KAAK,WAErB01E,IAAc,MAAmB,EAAA51E,WAAWsqB,UAAW,GAAE,GAQzD8sJ,EAAuCh3K,EAAMC,MAAK,WAC5C,IAAAc,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eACXvuB,GAAQ,eACRzC,GAAgB,IAAAwS,aAAY,EAAA+gK,mCAE5BnzH,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEEkjD,EAAgBjkD,EAAM0E,SAAQ,WAChC,OAAO,aAAa3D,EAAGy0E,EAE3B,GAAG,CAACz0E,EAAGy0E,IAED76D,GAAS,IAAAC,WAAuB,CAClCE,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAe86D,EACf1xB,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,GAAK9U,EAAM27D,QAAX,CAIA,IAAM53C,GAAW,IAAAg6B,uBAAsBlpC,EAAO,EAAApb,WAAWsqB,WACzDuK,GAAS,IAAAotC,gBAAe17D,EAAM27D,QAAS53C,IAEvCjP,EAAcI,WAAW,CAAC,EAL1B,CAMJ,IAGE2G,EAAchiB,EAAM0E,SAAQ,WAC9B,OAAO,aAAchB,EAEzB,GAAG,CAACA,EAAcO,QAEZ,GAA4C,aAAmB+d,GAA7DC,EAAe,kBAAEE,EAAoB,uBAEvC+0J,EAAqBj1J,EAAgB,EAAAriB,WAAWsqB,UAElDitJ,GAAqB,aAAyBD,GAQlD,OAPIA,IAAuB,EAAA9kE,kBAAkBqqD,oBACzC0a,EAAqBp2K,EAAE,+CAEvBm2K,IAAuB,EAAA9kE,kBAAkBsqD,oBACzCya,EAAqBp2K,EAAE,+CAGvB2C,EAAcU,GACP,gBAAC,EAAAihC,SAAQ,CAACjd,GAAI,EAAAy8B,QAAQuyH,uCAI7B,gCACI,gBAAC,UAAkB,MACnB,gBAAC,UAAU,CAACj3K,MAAOY,EAAE,gCAAiCF,aAAa,wBAC/D,gBAAC,UAAS,CAACV,MAAOY,EAAE,wCACpB,wBAAMga,SAAUJ,EAAOiB,cACnB,uBAAKhb,UAAWf,EAAG,WACf,uBAAKe,UAAWf,EAAG,UACf,gBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAWsqB,SACjBjmB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWsqB,UAChCnO,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWsqB,UACrCjjB,MAAOlG,EAAE,gDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB4W,WAAYqkJ,EACZnkJ,gBAAiB7Q,IAEhB,SAACjiB,GAAU,OACR,gBAAC,UAAK,CACFiD,KAAK,WACL2V,KAAM,EAAAlZ,WAAWsqB,SACjB/kB,MAAOwV,EAAOK,OAAO,EAAApb,WAAWsqB,UAChClN,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,MAexB,gBAAC,UAAM,CACH6J,UAAWxL,EAAcK,QACzB3C,MAAO,EAAA2N,gBAAgB8O,QACvB1a,KAAK,SACLvC,UAAWf,EAAG,WAEbkB,EAAE,oCAM3B,IAEA,UAAei2K,C,syDCxIf,kBACA,cACA,WACA,WAEA,WACA,WAEA,cAEA,cAEA,cACA,cACA,WACA,WAEMn3K,EAAK,UAAWC,KAAK,WAUrBu3K,EAAmCr3K,EAAMC,MAAK,SAACC,G,MACzCq+F,EAAgEr+F,EAAK,UAA1Dw+F,EAAqDx+F,EAAK,OAAlDu+F,EAA6Cv+F,EAAK,SAAxCs+F,EAAmCt+F,EAAK,YAA3BirK,EAAsBjrK,EAAK,kBAEvEo3K,EAAYt3K,EAAM6yB,WAAW,WAE7B0T,GAAW,IAAA21D,eACX3iD,GAAO,IAAArjC,aAAY,EAAAqhK,mBACnBxsJ,GAAU,IAAA7U,aAAY,EAAAw4D,sBACtBp+C,GAAc,IAAApa,aAAY,EAAAyW,mBAShC,OAPA3sB,EAAMoL,WAAU,WACRksK,EAAUE,MACVF,EAAUE,KAAK9sK,aAGvB,GAAG,CAAC67B,EAASpC,WAGT,gBAAC,UAAU,CACPszI,kBAAmBnnJ,IAAgB,EAAAxE,oBAAoB3e,OACvDvM,UAAWf,EAAG,OAAQ,CAClB,eAA8B,QAAd,EAAAy3K,EAAUE,YAAI,eAAEjyE,YAEpCh/F,UAAUgzC,aAAI,EAAJA,EAAMzzC,WAAY,GAC5B4xK,WAAWn+H,aAAI,EAAJA,EAAM5yC,QAAS,GAC1B8lF,aAAa1hE,aAAO,EAAPA,EAASjS,OAAQ,GAC9B9T,WAAW+lB,aAAO,EAAPA,EAAS3e,KAAM,KAC1BsyF,OAAQA,EACRH,UAAWA,EACXC,YAAaA,EACbC,SAAUA,EACV0sE,kBAAmBA,GAG/B,IAEMxB,EAAmC3pK,EAAMC,MAAK,SAACC,G,MACzC4O,EAAsB5O,EAAK,SAAdk5C,EAAI,EAAKl5C,EAAxB,cAEA,IAAsBF,EAAMuE,SAAgC,MAAK,GAAhEiH,EAAI,KAAEmsK,EAAW,KAElBL,EAAYt3K,EAAM6yB,WAAW,WAEnC,OACI,uBAAKjyB,UAAWf,EAAG,SACf,gBAACw3K,EAAc,KAAKj+H,IACpB,uBACIx4C,UAAWf,EAAG,UAAW,OAAQ,CAC7B,eAA8B,QAAd,EAAAy3K,EAAUE,YAAI,eAAEjyE,aAGpC,gBAAC,UAAmBvvD,SAAQ,CAAC7wC,MAAOqG,GAChC,uBAAK5K,UAAWf,EAAG,SAAUqM,IAAK,SAACV,GAAS,OAAAmsK,EAAYnsK,EAAZ,GACvCsD,KAMzB,IAEA,UAAe66J,C,q7BCxFf,kBACA,WACA,cACA,cACA,WACA,cACA,cACA,WAeMn7J,EAAgB,mCAEhBopK,EAAkD,UAAM33K,MAAK,SAACC,GACxD,IAAAyM,EAAsDzM,EAAK,KAArDwD,EAAgDxD,EAAK,cAAtCyO,EAAiCzO,EAAK,SAA5BQ,EAAuBR,EAAK,QAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,mCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,aAAa,EAAbA,EAAeK,QAC3BpC,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BU,UAAWxL,aAAa,EAAbA,EAAeK,QAC1BwB,WAAY7B,aAAa,EAAbA,EAAeK,QAC3BpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,YACvD7T,MAAOY,EAAE,0DACT0X,QAAS1X,EAAE,oEAhChB,IAqCf,IAEA,UAAe62K,C,wGCpEf,eACA,WACA,WACA,WAEMrjD,EAAa,SAAChjF,GAChB,OAAQA,aAAI,EAAJA,EAAMpsC,OACV,KAAK,EAAA0yK,cAAc/+J,KACf,OAAIy4B,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,WAEJ,YAEX,KAAK,EAAAojD,cAAcC,WACf,OAAIvmI,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,kBAEJ,mBAEX,KAAK,EAAAojD,cAAcr7H,YACf,OAAIjL,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,mBAEJ,oBAEX,KAAK,EAAAojD,cAAcp1J,UACf,OAAI8uB,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,iBAEJ,kBAEX,KAAK,EAAAojD,cAAcj+J,UACf,OAAI23B,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,iBAEJ,kBAEX,QACI,OAGZ,EAuDS,EAAAtuD,sBAzCqB,SAC1B/rD,EACAm3B,GAEA,IAhBoBwmI,EAgBdC,EAAkB59J,EAAa,EAAAiwC,qBAAqB2tH,iBACpDz4E,EAAiBnlF,EAAa,EAAAiwC,qBAAqB4tH,qBAEzD,MAAO,CACHn/J,KAAMsB,EAAa,EAAAiwC,qBAAqB6tH,iBAAc1xK,EACtD0T,SAAUE,EAAa,EAAAiwC,qBAAqB8tH,kBAAe3xK,EAE3DxB,UAAWgzK,QAAmBxxK,EAC9B+4F,eAAgBA,EAAiBA,EAAehoF,KAAI,SAAC+4B,GAAkB,OAACA,CAAD,SAAkB9pC,EAEzF6lD,cAAejyC,EAAa,EAAAiwC,qBAAqB+tH,uBACjD9rH,YAAalyC,EAAa,EAAAiwC,qBAAqBguH,qBAE/CpsE,cAAe7xF,EAAa,EAAAiwC,qBAAqB4hD,qBAAkBzlG,EACnE2lG,YAAa/xF,EAAa,EAAAiwC,qBAAqB8hD,mBAAgB3lG,EAE/D6lG,cAAejyF,EAAa,EAAAiwC,qBAAqBgiD,qBAAkB7lG,EACnE+lG,YAAanyF,EAAa,EAAAiwC,qBAAqBkiD,mBAAgB/lG,EAE/DyhB,OAAQ7N,EAAa,EAAAiwC,qBAAqBiuH,iCAA8B9xK,EACxE67C,SAAUjoC,EAAa,EAAAiwC,qBAAqBkuH,iCAA8B/xK,EAE1EgyK,QAASp+J,EAAa,EAAAiwC,qBAAqBu1C,uBAAoBp5F,EAC/DimG,gBAAiBryF,EAAa,EAAAiwC,qBAAqBoiD,uBAAoBjmG,EACvEmmG,cAAevyF,EAAa,EAAAiwC,qBAAqBsiD,qBAAkBnmG,EAEnEiyK,WAAYr+J,EAAa,EAAAiwC,qBAAqB41C,0BAAuBz5F,EACrEkyK,YAAat+J,EAAa,EAAAiwC,qBAAqB2lG,0BAAuBxpJ,EACtEmyK,UAAWv+J,EAAa,EAAAiwC,qBAAqB4lG,wBAAqBzpJ,EAElEwlG,WAAY5xF,EAAa,EAAAiwC,qBAAqBuuH,uBAAoBpyK,EAElE+iC,QAhDgBwuI,EAgDO39J,EAAa,EAAAiwC,qBAAqB0tH,YA/CzDA,IAAe,EAAAc,2BAA2BC,WAI1Cf,IAAe,EAAAc,2BAA2BE,kBAA9C,GA4CIxnI,KAAMgjF,EAAWhjF,GAEzB,C,q7BC/FA,kBACA,WACA,cACA,cAQMynI,EAPN,SAOmBz5H,UAAY,EAEzB05H,EAA4Cj5K,EAAMC,MAAK,SAACC,GAClD,IAAAylF,EAA6BzlF,EAAK,YAArB8hB,EAAgB9hB,EAAK,YAEpCgM,EAAMlM,EAAM+I,YACZmwK,EAAqBl5K,EAAM6I,OAAe88E,GAC1CwzF,EAAqBn5K,EAAM6I,OAAwCmZ,GA6CzE,OA3CA,IAAA5W,YAAU,WACN,GAAoB,IAAhBu6E,EAGA,OAFAuzF,EAAmBztK,QAAUk6E,OAC7BwzF,EAAmB1tK,QAAUuW,GAIjC,IAAM87G,IAAkB,aAAQ97G,GAC1Bo3J,IAAkB,aAAQD,EAAmB1tK,SAC7C4tK,EAAsBv7C,IAAmBs7C,EAK/C,GAHAF,EAAmBztK,QAAUk6E,EAC7BwzF,EAAmB1tK,QAAUuW,EAExBq3J,GAIAntK,EAAIT,QAAT,CAIA,IAAM6tK,EAAWptK,EAAIT,QAAQ8tK,QAAQ,QACrC,GAAKD,EAAL,CAIA,IAAME,EAAkBF,EAASG,iBAAiB,wBAC5CC,EAAsBF,aAAe,EAAfA,EAAkB,GACzCE,IAIL,aAAeA,EAAoC,CAC/CrnI,KAAM2mI,EACN7kI,MAAO,CACHpoC,IAAK,MAXb,CALA,CAqBJ,GAAG,CAAC45E,EAAa3jE,IAEV,uBAAK9V,IAAKA,EAAK9I,QAAM,GAChC,IAEA,UAAe61K,C,q7BClEf,kBACA,aACA,cAEA,cACA,cACA,aAEA,WAEMp5K,EAAK,UAAWC,KAAK,WAoBrB65K,EAAkC,UAAM15K,MAAK,SAACC,GAE5C,IAAA05K,EAaA15K,EAAK,gBAZL4yF,EAYA5yF,EAAK,oBAXL+G,EAWA/G,EAAK,MAVLwmC,EAUAxmC,EAAK,SATLyyF,EASAzyF,EAAK,eARLiF,EAQAjF,EAAK,MAPL+jG,EAOA/jG,EAAK,SANLmM,EAMAnM,EAAK,KALL0F,EAKA1F,EAAK,YAJLqB,EAIArB,EAAK,YAHLskD,EAGAtkD,EAAK,gBAFLO,EAEAP,EAAK,UADLU,EACAV,EAAK,UAET,OACI,+BACIU,WAAW,aACPf,EAAG,OAAQ,CACP,8BAA+BizF,IAEnClyF,IAGHqG,GACG,+BAAKrG,UAAWf,EAAG,gBACf,+BAAKe,UAAWf,EAAG,MAAO,cACtB,gCAAMe,UAAWf,EAAG,SAAUoH,GAC7By/B,EACAnlC,GACG,wBAAC,UAAO,CACJX,UAAWf,EAAG,WACdoB,SAAUujD,GAAmB,EAAAtjD,oBAAoB60B,UACjD30B,MAAO,EAAAC,iBAAiBC,MACxBC,YAAaA,EACbiJ,MAvCF,MAyCG,SAACqpB,GAAW,+BAAC,UAAkB,CAACjzB,UAAWf,EAAG,iBAAkBg0B,OAAQA,GAA5D,KAIxB8+D,GAAkB,+BAAK/xF,UAAWf,EAAG,MAAO,eAAgB8yF,IAGrE,wBAAC,EAAAknF,mBAAkB,CACfD,gBAAiBA,EACjBz0K,MAAOA,EACP8+F,SAAUA,EACV53F,KAAMA,EACNzG,YAAaA,EACbnF,UAAWA,IAI3B,IAEA,UAAek5K,C,+BCvFf,WAAgB,IAAM,+BAA+B,KAAO,gCAAgC,KAAO,gCAAgC,uBAAuB,gDAAgD,mBAAmB,4CAA4C,OAAS,kCAAkC,SAAW,oC,+BCA/T,WAAgB,YAAY,yCAAyC,YAAY,yCAAyC,eAAe,4CAA4C,kBAAkB,+CAA+C,MAAQ,qCAAqC,OAAS,sCAAsC,SAAW,wC,67BCD7V,kBACA,YACA,WACA,WACA,WACA,WACA,cAUMG,IAAS,MACV,EAAAhuJ,oBAAoBV,WAAO,MACvB,EAAA+0C,8BAA8Bh0C,SAAU,EAAArY,0BAA0B1B,OACnE,EAAC,EAAA+tD,8BAA8B/zC,SAAU,EAAAtY,0BAA0B1B,OACnE,EAAC,EAAA+tD,8BAA8BrK,WAAY,EAAAhiD,0BAA0B1B,OACrE,EAAC,EAAA+tD,8BAA8B52B,QAAS,EAAAz1B,0BAA0BK,Q,GAEtE,EAAC,EAAA2X,oBAAoBtD,WAAO,MACvB,EAAA23C,8BAA8Bh0C,SAAU,EAAArY,0BAA0B1B,OACnE,EAAC,EAAA+tD,8BAA8B/zC,SAAU,EAAAtY,0BAA0B1B,OACnE,EAAC,EAAA+tD,8BAA8BrK,WAAY,EAAAhiD,0BAA0B1B,OACrE,EAAC,EAAA+tD,8BAA8B52B,QAAS,EAAAz1B,0BAA0BK,Q,GAEtE,EAAC,EAAA2X,oBAAoB3e,UAAM,MACtB,EAAAgzD,8BAA8Bh0C,SAAU,EAAArY,0BAA0B1B,OACnE,EAAC,EAAA+tD,8BAA8B/zC,SAAU,EAAAtY,0BAA0B1B,OACnE,EAAC,EAAA+tD,8BAA8BrK,WAAY,EAAAhiD,0BAA0B1B,OACrE,EAAC,EAAA+tD,8BAA8B52B,QAAS,EAAAz1B,0BAA0BK,Q,MAIpEo/F,EAAgB,EAAAz/F,0BAA0B1B,OAE1C2nK,EAAkD/5K,EAAMC,MAAK,SAACC,G,MACxDopB,EAAqCppB,EAAK,OAAlCU,EAA6BV,EAAK,UAAvBsU,EAAkBtU,EAAK,cAE5CwsB,GAAkB,IAAAxW,aAAY,EAAAyW,mBAEpC,IAAKrD,EACD,OAAO,KAGX,IAAMloB,EAAQkoB,EAAmC,QAA1B,EAAAwwJ,EAAUptJ,UAAgB,eAAGpD,GAAUiqF,EAE9D,OACI,gCACI,gBAAC,UAAS,CACN9+F,UAAQ,EACRrT,MAAOA,EACPP,aAAa,8BACbD,UAAWA,EACX4T,cAAeA,GAEf,gBAAC,UAAyB,CAAC8U,OAAQA,KAInD,IAEA,UAAeywJ,C,u7BCjEf,kBAEA,cACA,WACA,WACA,cAEA,cACA,cACA,UACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,UACA,WAGA,cAEMl6K,EAAK,UAAWC,KAAK,WAErB01E,IAAc,MACf,EAAA51E,WAAW6sF,aAAc,GAC1B,EAAC,EAAA7sF,WAAWyxB,aAAc,KAC1B,EAAC,EAAAzxB,WAAWyoD,SAAU,GACtB,EAAC,EAAAzoD,WAAW0oD,MAAO,GACnB,EAAC,EAAA1oD,WAAWo6K,QAAS,GACrB,EAAC,EAAAp6K,WAAW2oD,aAAc,KAC1B,EAAC,EAAA3oD,WAAWuqB,cAAc,E,GAQxB8vJ,EAAsCj6K,EAAMC,MAAK,SAACC,GAC5C,IAqCmB+D,EArCnB8W,EAA4B7a,EAAK,SAAvBwD,EAAkBxD,EAAK,cAEjCa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEEkjD,EAAgBjkD,EAAM0E,SAAQ,WAChC,OAAO,aAAa3D,EAAGy0E,EAC3B,GAAG,CAACz0E,IAEE4Z,GAAS,IAAAC,WAAuB,CAClCE,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAe86D,EACf1xB,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMi/J,EAAkBl/J,EAAO,EAAApb,WAAW2oD,aACpCl3B,EAAcrW,EAAO,EAAApb,WAAWyxB,cACjC,aAAS6oJ,IAAqB7oJ,IAInCtW,EAAS,CACLm/J,gBAAe,EACfztF,YAAazxE,EAAO,EAAApb,WAAW6sF,aAC/Bp7D,YAAW,EACX2oJ,OAAQh/J,EAAO,EAAApb,WAAWo6K,QAC1B3xH,QAASrtC,EAAO,EAAApb,WAAWyoD,SAC3BC,KAAMttC,EAAO,EAAApb,WAAW0oD,QAG5BrtC,EAAcI,WAAW,CAAC,GAC9B,IAkBEk6J,EAAsB56J,EAAOK,OAAO,EAAApb,WAAW2oD,aAC/CktH,EAAkB96J,EAAOK,OAAO,EAAApb,WAAWyxB,aAajD,OAXA,IAAAmkJ,kCACI,CACID,oBAAmB,EACnBE,gBAAe,IAEnB,W,MACI96J,EAAOU,aAAU,MAAI,EAAAzb,WAAW2oD,cAAc,EAAK,IAAI,GACvD5tC,EAAOsB,cAAc,EAAArc,WAAW2oD,YAAa,KACjD,IAIA,wBAAMxtC,SAAUJ,EAAOiB,cACnB,uBAAKhb,UAAWf,EAAG,WACf,gBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAW6sF,YACjBxoF,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6sF,aAChC1wE,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6sF,aACrCxlF,MAAOlG,EAAE,uDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW6sF,YACjBtnF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6sF,aAChCzvE,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAWyxB,YACjBptB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyxB,aAChCpqB,MAAOlG,EAAE,uDACTgb,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyxB,aACrCpV,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAe,CACZiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyxB,aAChCrU,SAAU,SAACqU,GACPnxB,EAAM8c,SAASqU,EACnB,EACA7rB,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAPX,IAWhB,gBAAC,UAAU,CAACkuG,OAAQ,GAChB,gBAAC,UAAW,CACR/yG,UAAWf,EAAG,cACdiZ,KAAM,EAAAlZ,WAAWyoD,QACjBpkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyoD,SAChCtsC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyoD,SACrCphD,MAAOlG,EAAE,mDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWyoD,QACjBljD,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyoD,SAChCziD,aAAa,IAAAu0K,uBAAsBx/J,EAAOK,OAAO,EAAApb,WAAWyxB,cAC5DrU,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,gBAAC,UAAW,CACRzE,UAAWf,EAAG,eACdiZ,KAAM,EAAAlZ,WAAW0oD,KACjBrkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0oD,MAChCvsC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0oD,MACrCrhD,MAAOlG,EAAE,gDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW0oD,KACjBnjD,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0oD,MAChCtrC,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,KAapB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAWo6K,OACjB/1K,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWo6K,QAChCj+J,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWo6K,QACrC/yK,MAAOlG,EAAE,kDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWo6K,OACjB70K,MAAOwV,EAAOK,OAAO,EAAApb,WAAWo6K,QAChCh9J,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAW2oD,YACjBtkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2oD,aAChCxsC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2oD,aACrCthD,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAiB,CACdmxB,YAAa1W,EAAOK,OAAO,EAAApb,WAAWyxB,aACtClsB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW2oD,aAChCvrC,SAAU9c,EAAM8c,SAChBpX,YAAa7E,EAAE,4DACf0B,gBAAiB,EAAAC,4BAA4BiF,WAC7CrC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAVX,IAchB,gBAAC,UAAW,CACR7E,UAAWf,EAAG,YACdiZ,KAAM,EAAAlZ,WAAWuqB,YACjBlmB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWuqB,aAChCpO,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWuqB,aACrClO,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBk+J,YAAU,IAET,SAACl6K,GAAU,OACR,gBAAC,UAAQ,CACL4lF,QAASnrE,EAAOK,OAAO,EAAApb,WAAWuqB,aAClCnN,SAAU9c,EAAM8c,SAChB/V,MACI,wBAAMrG,UAAWf,EAAG,UACfkB,EAAE,uCAAwC,IAC3C,gBAAC,UAAI,CACDqtJ,YAAU,EACVhtJ,MAAO,EAAA8mB,cAAcmyJ,aACrBjyJ,GAAIrnB,EAAE,uCACNknB,OAAO,UAENlnB,EAAE,+CAbX,KAqBpB,gBAAC,UAAkB,CAAC4kF,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,gBAAC,UAAM,CACH5M,UAAWxL,aAAa,EAAbA,EAAeK,QAC1B3C,MAAO,EAAA2N,gBAAgB8O,QACvBtY,YAAaoV,EAAOK,OAAO,EAAApb,WAAWuqB,aACtChnB,KAAK,SACLvC,UAAWf,EAAG,WAEbkB,EAAE,8CAEP,uBAAKH,UAAWf,EAAG,WAtMAoE,EAsM6BP,aAAa,EAAbA,EAAeO,SA1L5DA,aAAK,EAALA,EAAOwU,UAVH,MAuMnB,IAEA,UAAewhK,C,q7BC3Rf,kBACA,WACA,cACA,cACA,WACA,cACA,cAGA,WAUMzrK,EAAgB,4BAEhB8rK,EAA4C,UAAMr6K,MAAK,SAACC,GAClD,IAAAyM,EAAsDzM,EAAK,KAArDwD,EAAgDxD,EAAK,cAAtCQ,EAAiCR,EAAK,QAA7ByO,EAAwBzO,EAAK,SAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,EAAcK,QAC1BpC,QAASgN,GAEb,CACIG,SAAU/N,EAAE,mCACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,OAC9B7M,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,YACvD7T,MAAOY,EAAE,kDACT0X,QAAS1X,EAAE,4DA9BhB,IAmCf,IAEA,UAAeu5K,C,y+CChEf,kBAEA,cACA,cACA,WACA,WACA,cACA,WACA,WACA,WACA,aACA,cACA,cACA,aACA,cACA,cACA,cACA,WACA,cACA,UACA,cACA,cACA,cACA,aAIA,cACA,cACA,UAIA,cACA,WAOA,cACA,WAKA,WACA,cACA,WACA,cAGA,WACA,cACA,cACA,WACA,UACA,WACA,WACA,WACA,WACA,YAEMz6K,GAAK,UAAWC,KAAK,WAOd,EAAA2sJ,yBAAsB,MAC9B,EAAA7sJ,WAAWo6G,eAAgB,KAC5B,EAAC,EAAAp6G,WAAW+xC,eAAgB,KAE5B,EAAC,EAAA/xC,WAAW4nI,gBAAiB,KAC7B,EAAC,EAAA5nI,WAAW6nI,sBAAuB,GAEnC,EAAC,EAAA7nI,WAAW8nI,iBAAkB,KAC9B,EAAC,EAAA9nI,WAAW+nI,uBAAwB,GAEpC,EAAC,EAAA/nI,WAAW6iB,WAAY,KACxB,EAAC,EAAA7iB,WAAWga,WAAY,KAExB,EAAC,EAAAha,WAAWgoI,cAAe,GAC3B,EAAC,EAAAhoI,WAAWioI,aAAc,GAE1B,EAAC,EAAAjoI,WAAW6yI,gBAAiB,GAE7B,EAAC,EAAA7yI,WAAW26K,oBAAoB,EAChC,EAAC,EAAA36K,WAAW46K,mBAAmB,EAC/B,EAAC,EAAA56K,WAAW66K,gBAAgB,E,GAGhC,IAAMC,GAAoD16K,EAAMC,MAAK,SAACC,GAC1D,IAAAklC,EAAyBllC,EAAK,WAAlB6a,EAAa7a,EAAK,SAE9Ba,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAETnxB,GAAc,eAAmB,UAEnCsyE,GAA0B,IAAA3/D,aAAY,EAAA4/D,oCAC5C91E,EAAMoL,WAAU,WACZqpB,GAAS,IAAAshD,6BACTthD,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAAMkmJ,GAAuB,IAAAzkK,cAAY,IAAAuuD,mCAAkCr/B,IAC3EplC,EAAMoL,WAAU,WACPg6B,IAGA7hC,EAKLkxB,GACI,IAAAmmJ,6BAA4B,CACxBr3K,UAAS,EACTyf,kBAAmBoiB,MAPvB,IAAAxQ,YAAW,gEAUnB,GAAG,CAACH,EAAUlxB,EAAW6hC,IAEzB,IAAMpD,EAAkChiC,EAAMkG,aAAY,WACjDk/B,IAGA7hC,EAKLkxB,GACI,IAAAmmJ,6BAA4B,CACxBr3K,UAAS,EACTyf,kBAAmBoiB,MAPvB,IAAAxQ,YAAW,sDAUnB,GAAG,CAACH,EAAUlxB,EAAW6hC,KACzB,aAA4BpD,GAE5B,IAAM64I,GAA2B,IAAAxuC,wBAAsBsuC,aAAoB,EAApBA,EAAsBhuK,OAAQ,MAC/Em3C,GAAW9jD,EAAMkG,aACnB,SAAC8U,GACG,OAAO,aAAaja,EAAGia,EAAQ,CAC3B66D,wBAAuB,EACvBrR,gBAAiBq2G,GAEzB,GACA,CAAC95K,EAAG80E,EAAyBglG,IAG3B,KAAiC76K,EAAM0E,SAAQ,W,MAC3Co2K,GAAoBD,aAAwB,EAAxBA,EAA0Bp4J,WAC9C,IAAImiD,KAAKi2G,EAAyBp4J,WAClC,KACAkiD,EAAM,IAAIC,KAEV5pD,EAAS,EAAH,KACL,EAAAyxI,0BAAsB,MACxB,EAAA7sJ,WAAW6iB,WAAYq4J,GAAqBn2G,EAAMm2G,EAAoBA,EAAoBn2G,EAAG,IAQlG,MAAO,CAAC3pD,GALO,aAAaja,EAAGia,EAAQ,CACnC66D,wBAAuB,EACvBrR,gBAAiBq2G,GAA4B,OAKrD,GAAG,CAAChlG,EAAyBglG,IAA0B,GAlBhDngK,GAAa,MAAEupC,GAAa,MAoB7BtpC,IAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,GACbvpC,cAAa,GACbopC,SAAQ,GACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM9U,GAAQ,IAAA40K,qCAAoC//J,GAClD,GAAK7U,EAAL,CAIA,IAAM60K,GAAmB,IAAAC,mCAAkCjgK,GACtDggK,IAILjgK,EAAS5U,EAAO60K,GAEhB//J,EAAcI,WAAW,CAAC,GAT1B,CAUJ,IAGE,GAA4Drb,EAAM6yB,WACpE,GAAAqoJ,oDADIC,GAA0B,8BAAEC,GAAyB,6BAG7Dp7K,EAAMoL,WAAU,W,QACZ+vK,MAA0C,QAAb,EAAAxgK,GAAOmB,cAAM,eAAG,EAAAlc,WAAW8nI,mBACxD0zC,MAAyC,QAAb,EAAAzgK,GAAOmB,cAAM,eAAG,EAAAlc,WAAW4nI,iBAC3D,GAAG,CAAC7sH,GAAOmB,OAAQq/J,GAA4BC,KAE/C,IAAMC,GAAuB,SAACt2C,EAAe5/H,GACzCwV,GAAOsB,cAAc8oH,EAAO5/H,GAE5B,IAAMm6C,GAAc,IAAA7mB,mBAAkBtzB,GAChCm2K,EAAeh8H,EAAcjgC,KAAK46E,IAAI36C,EAAa,EAAAwoF,eAAiB,EAEtE/C,IAAU,EAAAnlI,WAAW+nI,uBACrBlzG,GACI,IAAA8mJ,8BAA6B,CACzB/lI,SAAU8lI,KAKlBv2C,IAAU,EAAAnlI,WAAW6nI,sBACrBhzG,GACI,IAAA+mJ,yBAAwB,CACpBhmI,SAAU8lI,IAI1B,EAEMG,GAA2B,SAAC12C,EAAe5/H,G,wBAC7CwV,GAAOsB,cAAc8oH,EAAO5/H,GAE5B,IAAMmuC,EAAkC,GAExCA,EAAO17B,MAAK,IAAA8jK,gBAA2B,QAAZ,EAAAv2K,aAAK,EAALA,EAAOquC,aAAK,eAAEvzB,IAAiB,QAAZ,EAAA9a,aAAK,EAALA,EAAOquC,aAAK,eAAEtzB,MAExD6kH,IAAU,EAAAnlI,WAAW8nI,kBACrBjzG,GAAS,IAAAknJ,wBAAuB,CAAEp1I,SAAUphC,KAE5CmuC,EAAO17B,MACH,IAAA8jK,gBACmD,QAA/C,EAAwC,QAAxC,EAAA/gK,GAAOK,OAAO,EAAApb,WAAW4nI,uBAAe,eAAEh0F,aAAK,eAAEvzB,IACF,QAA/C,EAAwC,QAAxC,EAAAtF,GAAOK,OAAO,EAAApb,WAAW4nI,uBAAe,eAAEh0F,aAAK,eAAEtzB,OAKzD6kH,IAAU,EAAAnlI,WAAW4nI,iBACrB/yG,GAAS,IAAAmnJ,mBAAkB,CAAEr1I,SAAUphC,KAEvCmuC,EAAO17B,MACH,IAAA8jK,gBACoD,QAAhD,EAAyC,QAAzC,EAAA/gK,GAAOK,OAAO,EAAApb,WAAW8nI,wBAAgB,eAAEl0F,aAAK,eAAEvzB,IACF,QAAhD,EAAyC,QAAzC,EAAAtF,GAAOK,OAAO,EAAApb,WAAW8nI,wBAAgB,eAAEl0F,aAAK,eAAEtzB,OAK9D,IAAM2jE,GAAc,aAAevwC,GACnC7e,GACI,IAAAonJ,gBAAe,CACX/0K,SAAU,CACNi1G,OAAQ,KACRzS,KAAyB,KAAnBh2D,aAAM,EAANA,EAAQnxC,QAAe,EAAA25K,mBAAqB,KAClDj4F,YAAW,KAI3B,EAGMk4F,IAAsB,IAAA7lK,aAAY,EAAAwyC,8BACxC1oD,EAAMoL,WAAU,YACG,aAAQ2wK,cAAmB,EAAnBA,GAAqBx1I,SAAU5rB,GAAOK,OAAO,EAAApb,WAAW8nI,oBAK3Eq0C,cAAmB,EAAnBA,GAAqBx1I,YACrB5rB,GAAOsB,cAAc,EAAArc,WAAW8nI,gBAAiBq0C,GAAoBx1I,UACrE5rB,GAAOuB,gBAAgB,EAAAtc,WAAW8nI,iBAG1C,GAAG,CAACq0C,KAGJ,IAAMC,IAAiB,IAAA9lK,aAAY,EAAAsyC,yBACnCxoD,EAAMoL,WAAU,YACG,aAAQ4wK,cAAc,EAAdA,GAAgBz1I,SAAU5rB,GAAOK,OAAO,EAAApb,WAAW4nI,mBAKtEw0C,cAAc,EAAdA,GAAgBz1I,YAChB5rB,GAAOsB,cAAc,EAAArc,WAAW4nI,eAAgBw0C,GAAez1I,UAC/D5rB,GAAOuB,gBAAgB,EAAAtc,WAAW4nI,gBAG1C,GAAG,CAACw0C,KAEJ,IAAMv5J,GAAY9H,GAAOK,OAAO,EAAApb,WAAW6iB,WACrC2hC,IAAmB,IAAA1/C,UAAQ,WAC7B,OACI,IAAAu3K,gBACI,eAASniK,IAAI,EAAG,OAAOD,UACvB,aAAO4I,IAAW3I,IAAI,EAAAuqC,+BAAgC,OAAOxqC,SAC7DghK,aAAwB,EAAxBA,EAA0Bp4J,YACzB,EAAAwT,uBAAuBM,cAAcF,OAGlD,GAAG,CAAC5T,GAAWo4J,IACTqB,IAAmB,IAAAx3K,UAAQ,WAC7B,OAAO,IAAAy3K,eAActB,aAAwB,EAAxBA,EAA0BjhK,YAAc,EAAAqc,uBAAuBM,cAAcJ,OAEtG,GAAG,CAAC1T,GAAWo4J,IACTuB,IAA0B,IAAA13K,UAAQ,WACpC,QAAKw3K,KAKDA,IAAmB,eAASpiK,IAAI,EAAG,OAAOD,YACvCuqC,MACG83H,KACF,IAAAjkK,gBAAemsC,KAAoB,IAAAnsC,gBAAeikK,IAE9D,GAAG,CAAC93H,GAAkB83H,KAEhBtiK,GAAYe,GAAOK,OAAO,EAAApb,WAAWga,WACrCyiK,IAAmB,IAAA33K,UAAQ,WAC7B,OACI,IAAAu3K,gBAAc,eAASpiK,SAAUghK,aAAwB,EAAxBA,EAA0Bp4J,YAC3D,EAAAwT,uBAAuBM,cAAcF,OAG7C,GAAG,CAACzc,GAAWihK,IACTyB,IAAmB,IAAA53K,UAAQ,WAC7B,OACI,IAAAy3K,eACIviK,IAAY,aAAOA,IAAWC,cAAWrT,GACzCq0K,aAAwB,EAAxBA,EAA0BjhK,YACpB,aAAOihK,aAAwB,EAAxBA,EAA0BjhK,WAC5B2qC,SAAS,EAAAF,+BAAgC,QACzCxqC,cACLrT,IACL,EAAAyvB,uBAAuBM,cAAcJ,OAGlD,GAAG,CAACvc,GAAWihK,IACT0B,IAA0B,IAAA73K,UAAQ,WACpC,QAAK43K,KAKDA,IAAmB,eAASziK,YACzBwiK,MACGC,KACF,IAAArkK,gBAAeokK,KAAoB,IAAApkK,gBAAeqkK,IAE9D,GAAG,CAACA,GAAkBD,KAEtB,OACI,wBAAMthK,SAAUJ,GAAOiB,cACnB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRhb,UAAWf,GAAG,QAAS,uBACvBiZ,KAAM,EAAAlZ,WAAWo6G,cACjB/1G,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWo6G,eAChCj+F,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWo6G,eACrC/yG,MAAOlG,EAAE,yDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAmB,CAChB0F,YAAa7E,EAAE,+DACfoE,MAAOwV,GAAOK,OAAO,EAAApb,WAAWo6G,eAChCh9F,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBG,QAASvF,EAAMuF,QACfD,OAAQtF,EAAMsF,QARV,IAYhB,gBAAC,UAAW,CACR5E,UAAWf,GAAG,QAAS,yBACvBiZ,KAAM,EAAAlZ,WAAW+xC,cACjB1tC,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW+xC,eAChC51B,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW+xC,eACrC1qC,MAAOlG,EAAE,0DACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAqB,CAClBiF,MAAOwV,GAAOK,OAAO,EAAApb,WAAW+xC,eAChC30B,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBM,YAAa7E,EAAE,gEACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SARX,KAapB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACR7E,UAAWf,GAAG,QAAS,mBACvBiZ,KAAM,EAAAlZ,WAAW4nI,eACjBvjI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW4nI,gBAChCzrH,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW4nI,gBACrCvgI,MAAOlG,EAAE,mDACTkb,cAAew/J,GACfv/J,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAU,CACP4Y,KAAM,EAAAlZ,WAAW4nI,eACjBriI,MAAOwV,GAAOK,OAAO,EAAApb,WAAW4nI,gBAChC5hI,YAAa7E,EAAE,yDACf6b,eAAgB,WAAM,uBAAC,UAAU,KAAX,EACtBI,SAAU9c,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBI,QAASvF,EAAMuF,QACfD,OAAQtF,EAAMsF,OACd3E,aAAa,mBAXT,IAehB,gBAAC,UAAW,CACRD,UAAWf,GAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAW6nI,qBACjBxjI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW6nI,sBAChC1rH,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW6nI,sBACrCxgI,MAAOlG,EAAE,mDACTkb,cAAeo/J,GACfn/J,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAW6nI,qBACjBxjC,SAAU,EAAAlrF,aAAaC,uBACvB7T,MAAOwV,GAAOK,OAAO,EAAApb,WAAW6nI,sBAChCz0C,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAVd,KAepB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRzE,UAAWf,GAAG,QAAS,mBACvBiZ,KAAM,EAAAlZ,WAAW8nI,gBACjBzjI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW8nI,iBAChC3rH,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW8nI,iBACrCzgI,MAAOlG,EAAE,wDACTkb,cAAew/J,GACfv/J,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAU,CACP4Y,KAAM,EAAAlZ,WAAW8nI,gBACjBviI,MAAOwV,GAAOK,OAAO,EAAApb,WAAW8nI,iBAChC9hI,YAAa7E,EAAE,8DACf6b,eAAgB,WAAM,uBAAC,UAAe,KAAhB,EACtBI,SAAU9c,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBI,QAASvF,EAAMuF,QACfD,OAAQtF,EAAMsF,OACd3E,aAAa,oBAXT,IAehB,gBAAC,UAAW,CACRD,UAAWf,GAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAW+nI,sBACjB1jI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW+nI,uBAChC5rH,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW+nI,uBACrC1gI,MAAOlG,EAAE,mDACTkb,cAAeo/J,GACfn/J,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAW+nI,sBACjB1jC,SAAU,EAAAlrF,aAAaC,uBACvB7T,MAAOwV,GAAOK,OAAO,EAAApb,WAAW+nI,uBAChC30C,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAVd,KAepB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRzE,UAAWf,GAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAW6iB,UACjBxe,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW6iB,WAChC1G,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW6iB,WACrCxb,MAAOlG,EAAE,uDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAU,CACPiF,MAAOwV,GAAOK,OAAO,EAAApb,WAAW6iB,WAChC7c,YAAa7E,EAAE,6DACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BzV,WAC/CnC,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBuxB,kBAAgB,EAChBP,QAASgmJ,GACTlmJ,QAASmmJ,GACT/2K,WAAYg3K,IAbR,IAiBhB,gBAAC,UAAW,CACR37K,UAAWf,GAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWga,UACjB3V,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWga,WAChCmC,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWga,WACrC3S,MAAOlG,EAAE,uDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAU,CACPiF,MAAOwV,GAAOK,OAAO,EAAApb,WAAWga,WAChChU,YAAa7E,EAAE,6DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBuxB,kBAAgB,EAChBP,QAAS+tB,GACTjuB,QAAS+lJ,GACTz5K,gBAAiB,EAAA2a,8BAA8Bza,YAC/C4C,WAAY62K,IAbR,KAkBpB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRx7K,UAAWf,GAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWgoI,aACjB3jI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWgoI,cAChC7rH,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWgoI,cACrC3gI,MAAOlG,EAAE,0DACTQ,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,6DAGXkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWgoI,aACjB3jC,SAAU,EAAAlrF,aAAa8wE,kBACvB1kF,MAAOwV,GAAOK,OAAO,EAAApb,WAAWgoI,cAChC50C,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAVd,IAchB,gBAAC,UAAW,CACRzE,UAAWf,GAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWioI,YACjB5jI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWioI,aAChC9rH,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWioI,aACrC5gI,MAAOlG,EAAE,yDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWioI,YACjB1iI,MAAOwV,GAAOK,OAAO,EAAApb,WAAWioI,aAChC70C,KAAM,EACNptF,YAAa7E,EAAE,+DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAVd,KAepB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRzE,UAAWf,GAAG,QAAS,2BACvBiZ,KAAM,EAAAlZ,WAAW6yI,eACjBxuI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW6yI,gBAChC12H,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW6yI,gBACrCxrI,MAAOlG,EAAE,6DACTQ,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,gEAGXkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW6yI,eACjBttI,MAAOwV,GAAOK,OAAO,EAAApb,WAAW6yI,gBAChC7sI,YAAa7E,EAAE,mEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,gBAAC,EAAAqtI,oBAAmB,CAAC9xI,UAAWf,GAAG,QAAS,mBAEhD,gBAAC,UAAW,CACRe,UAAWf,GAAG,YACdiZ,KAAM,EAAAlZ,WAAW26K,kBACjBt2K,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW26K,mBAChCx+J,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW26K,mBACrCt+J,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,gBACxBk+J,YAAU,EACV31H,cAAY,IAEX,SAACvkD,GAAU,OACR,gBAAC,UAAQ,CACL4lF,QAASnrE,GAAOK,OAAO,EAAApb,WAAW26K,mBAClCv9J,SAAU9c,EAAM8c,SAChB/V,MAAOlG,EAAE,iEAJL,IAQhB,gBAAC,UAAW,CACRH,UAAWf,GAAG,YACdiZ,KAAM,EAAAlZ,WAAW46K,iBACjBv2K,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW46K,kBAChCz+J,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW46K,kBACrCv+J,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,gBACxBk+J,YAAU,EACV31H,cAAY,IAEX,SAACvkD,GAAU,OACR,gBAAC,UAAQ,CACL4lF,QAASnrE,GAAOK,OAAO,EAAApb,WAAW46K,kBAClCx9J,SAAU9c,EAAM8c,SAChB/V,MAAOlG,EAAE,gEAJL,IAQhB,gBAAC,UAAW,CACRH,UAAWf,GAAG,YACdiZ,KAAM,EAAAlZ,WAAW66K,cACjBx2K,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW66K,eAChC1+J,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW66K,eACrCx+J,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,gBACxBk+J,YAAU,EACV31H,cAAY,IAEX,SAACvkD,GAAU,OACR,gBAAC,UAAQ,CACL4lF,QAASnrE,GAAOK,OAAO,EAAApb,WAAW66K,eAClCz9J,SAAU9c,EAAM8c,SAChB/V,MAAOlG,EAAE,6DAJL,IAQhB,gBAAC,UAAkB,CAAC4kF,YAAahrE,GAAOgrE,YAAa7pE,OAAQnB,GAAOmB,SACpE,gBAAC,UAAmB,CAACgwH,YAAU,EAACluH,aAAW,GACvC,gBAAC,UAAM,CACHhd,UAAWf,GAAG,aACduB,MAAO,EAAA2N,gBAAgB8O,QACvB1a,KAAK,SACLtC,aAAa,aAEZE,EAAE,6CAKvB,IAEA,UAAe25K,E,0MCrsBF,EAAA8B,sBAAwB,+CACxB,EAAAC,4BAA8B,qDAC9B,EAAAC,4BAA8B,qDAC9B,EAAAC,8BAAgC,uDAEhC,EAAAvkI,MAAQ,8B,kYCRrB,eAOA,cACA,cAEM30C,EAAiC,CACnC0kK,WAAY,KACZyU,kBAAmB,UAAcj5K,SAGrC,mBAAgBC,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAA0nH,0BACD,OAAO,EAAP,KACOjnH,GAAK,CACRg5K,kBAAmB,UAAc74K,UAIzC,KAAK,EAAA+mH,4BACO,IAAAq9C,EAAetkK,EAAM,WAEvBg5K,GAAa,aAAM1U,EAAY,MAErC,OAAO,EAAP,KACOvkK,GAAK,CACRukK,WAAY0U,EACZD,kBAAmB,UAAcx4K,KAIzC,KAAK,EAAA2mH,0BACO,IAAA9mH,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACRg5K,kBAAmB,UAAc14K,SAASD,KAIlD,QACI,OAAOL,EAGlB,C,kaCjDD,eAQA,cACA,UAEa,EAAAk5K,uBAA+C,CACxDxpI,OAAQ,GACR5vC,cAAe,UAAcC,SAGjC,IAAMF,EAAiC,CAAC,EAExC,mBAAgBG,EAAsBC,G,UAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAA4lI,0BACO,IAAAryE,EAAS7yD,EAAM,KAEvB,OAAO,EAAP,KACOD,KAAK,MACP8yD,GAAI,SACE,EAAAomH,wBACAl5K,EAAM8yD,IAAK,CACdhzD,cAAe,UAAcK,UAAO,IAKhD,KAAK,EAAAolI,0BACOzyE,EAAgB7yD,EAAM,KAAtB,IAAMI,EAAUJ,EAAM,MAE9B,OAAO,EAAP,KACOD,KAAK,MACP8yD,GAAI,SACE,EAAAomH,wBACAl5K,EAAM8yD,IAAK,CACdhzD,cAAe,UAAcQ,SAASD,KAAM,IAKxD,KAAK,EAAAglI,4BACOvyE,EAAiB7yD,EAAM,KAAvB,IAAMyvC,EAAWzvC,EAAM,OAE/B,OAAO,EAAP,KACOD,KAAK,MACP8yD,GAAI,SACE,EAAAomH,wBACAl5K,EAAM8yD,IAAK,CACdhzD,cAAe,UAAcU,GAC7BkvC,OAAQA,GAAU,KAAE,IAKhC,KAAK,EAAAjvC,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAGlB,C,6JCpED,kBAEA,cACA,cAGM/D,EAAK,UAAWC,KAAK,WAerBi9K,EAAyB,UAAM98K,MAAK,SAACC,G,MAC/B4nB,EAAmG5nB,EAAK,WAA5Fs6I,EAAuFt6I,EAAK,UAAjF88K,EAA4E98K,EAAK,cAAlE+8K,EAA6D/8K,EAAK,eAAlDkB,EAA6ClB,EAAK,MAA3CqF,EAAsCrF,EAAK,WAA/B6mE,EAA0B7mE,EAAK,KAAzBwB,EAAoBxB,EAAK,MAAlB4O,EAAa5O,EAAK,SAEhH,OACI,+BACIU,UAAWf,EAAG,QAAM,GAChB,mBAAoB0F,EACpB,mBAAoBuiB,EACpB,kBAAmB0yH,EACnB,sBAAuBwiC,EACvB,uBAAwBC,GACxB,EAAC,sBAAe77K,MAAYA,E,IAEhCiH,MAAO,CACH0+D,KAAM,UAAGA,EAAI,KACbrlE,MAAO,UAAGA,EAAK,MAClB,qBACkB,uBAElBoN,EAGb,IAEA,UAAeiuK,C,u8CC7Cf,kBACA,cAEA,cAEA,cACA,cACA,aACA,cACA,aACA,cAEMl9K,EAAK,UAAWC,KAAK,WAgN3B,UA5K0B,SAAUI,GAE5B,IAAAqzF,EAmBArzF,EAAK,eAlBL0F,EAkBA1F,EAAK,YAjBLkF,EAiBAlF,EAAK,SAhBLmC,EAgBAnC,EAAK,QAfLqF,EAeArF,EAAK,WAdLupH,EAcAvpH,EAAK,SAbLmF,EAaAnF,EAAK,WAZLoF,EAYApF,EAAK,SAXLuC,EAWAvC,EAAK,gBAVLU,EAUAV,EAAK,UATLwF,EASAxF,EAAK,WARLusI,EAQAvsI,EAAK,iBAPLkC,EAOAlC,EAAK,iBANLuF,EAMAvF,EAAK,QALLsF,EAKAtF,EAAK,OAJLW,EAIAX,EAAK,aAHLyF,EAGAzF,EAAK,gBAFLgP,EAEAhP,EAAK,UADL0c,EACA1c,EAAK,eAEH,IAAuB,UAAMqE,UAAS,GAAM,GAA3C0yB,EAAM,KAAEC,EAAU,KAyDnBy3I,EAAkB,UAAMjqK,SAAQ,WAClC,IAAM2I,EAAmC,GAEnC6vK,EAAY,IAAIluJ,IAAIukE,GAEpB4pF,EAAqB,SAACC,GACxB,IAAMC,GAAY,IAAAC,iBAAgB,CAACF,IACnC,GAAKC,aAAS,EAATA,EAAWl7K,OAAhB,CAKA,GADqBk7K,EAAUz1I,OAAM,SAAC21I,GAAa,OAAAL,EAAU/tJ,IAAIouJ,EAAd,IAI/C,OAFAlwK,EAAOuK,KAAKwlK,QACZC,EAAU/gK,SAAQ,SAACihK,GAAa,OAAAL,EAAUnvE,OAAOwvE,EAAjB,IAIdF,EAAUlsG,MAAK,SAACosG,GAAa,OAAAL,EAAU/tJ,IAAIouJ,EAAd,KAE/CH,EAAStuK,SAASwN,SAAQ,SAACkhK,GAAgB,OAAAL,EAAmBK,EAAnB,GAX/C,CAaJ,EAIA,OAFAn7K,EAAQia,QAAQ6gK,GAET9vK,CACX,GAAG,CAAChL,EAASkxF,IAEPkqF,EAAc,UAAMv3K,aAAY,WAClCd,EAAS,GACb,GAAG,CAACA,IAEEs4K,IAAc/O,EAAgBxsK,OAEpC,OACI,wBAAC,UAAkB,CACfsnH,SAAUA,EACVxyF,OAAQA,EACRr2B,UAAWA,EACXF,QA9EiB,WACjB8E,GACAA,IARAA,GACAA,IAEJ0xB,GAAW,EAQf,EA0EQsnB,YACI,wBAAC,UAAyB,CACtBmG,SAAU+4H,EACVl7K,UAAWy0B,EACX1xB,WAAYA,EACZG,WAAYA,EACZL,WAAYA,EACZC,SAAUA,EACV1E,WAAW,aAAGf,EAAG,WAAY4sI,GAC7B5rI,aAAcA,EACdc,QA1GG,WACX4D,IAGAE,GACAA,IAEJyxB,GAAW,GACf,EAmGgBta,eACIA,EACM,SAACC,GACG,OAAAD,EAAe,EAAD,KACPC,GAAQ,CACX8a,SAAU+lJ,IAFd,OAIJl3K,EAEVm3K,mBAAoBh4K,EACpBiC,QAASjC,EAAkB83K,OAAcj3K,EACzCe,gBAAiB,WACb,OAAA2H,EAAY,wBAAC,UAAiB,KAAK,EAAA1H,uBAAuBC,sBAA0B,IAApF,GA/FE,SAACpF,EAAmCuD,GACtD,OAAKvD,aAAO,EAAPA,EAASF,QAKV,gDACKE,EAAQkV,KAAI,SAAC7Q,EAAQoqK,GAClB,OACI,wBAAC,UAAU,CACPlwK,UAAWf,EAAG,OACdgT,IAAKi+J,EACLtjH,WAAS,EACTvmD,MAAOP,EAAOO,MACdsmD,YAAU,EACVnsD,MAAO,EAAAqsD,oBAAoB1rD,SAC3BJ,QAAS,WACL,IAAMi8K,GAAkB,IAAAN,iBAAgB,CAAC52K,IACnCm3K,EAAqB,IAAI7uJ,IAAI4uJ,GAC7BE,EAAYvqF,EAAerkE,QAAO,SAAC/pB,GACrC,OAAQ04K,EAAmB1uJ,IAAIhqB,EACnC,IACAC,EAAS04K,EACb,GAGZ,KAxBGl4K,CA2Bf,CAqEiBtD,CAAcqsK,EAAiB/oK,IAGxCnD,gBAAiBA,EACjBL,kBAAkB,aAAGvC,EAAG,WAAYuC,GACpCm5H,YACI,gDACKl5H,EAAQkV,KAAI,SAAC7Q,EAAQ8Q,GAClB,OACI,+BAAK3E,IAAK2E,EAAO5W,UAAWf,EAAG,WAC3B,wBAAC,UAAY,CACTk+K,MAAO,CAACr3K,GACRsU,OAAQu4E,EACRv2E,SAAU5X,EACV0Y,aAAW,IAI3B,MAKpB,C,6JC1NA,kBACA,cAEA,cAGA,cACA,WACA,cACA,WACA,cACA,cAEA,WAEMje,EAAK,UAAWC,KAAK,WAQrBk+K,EAAiC,UAAM/9K,MAAK,SAACC,G,kBACvCyM,EAA2BzM,EAAK,KAA1BsJ,EAAqBtJ,EAAK,OAAlB4G,EAAa5G,EAAK,SAEhCa,GAAM,IAAAC,kBAAgB,EAE9B,IAAKwI,EACD,OAAO,KAGX,IAAMy0K,EAAiC,QAAjB,EAAAtxK,aAAI,EAAJA,EAAMuxK,mBAAW,eAAEz5J,SACnCA,GAAW,aAASw5J,IAAkBA,EAAcvmG,QAAQ,GAAK,KAEjEymG,EAA+B,QAAjB,EAAAxxK,aAAI,EAAJA,EAAMuxK,mBAAW,eAAEE,OACjCA,GAAS,aAASD,IAAgBA,EAAYzmG,QAAQ,GAAK,KAE3D2mG,EAAuCt9K,EAAE,qBAE/C,OACI,+BACIH,UAAWf,EAAG,QACdwI,MAAO,CACH0D,IAAK,WAAGvC,aAAM,EAANA,EAAQuC,MAAO,EAAC,MACxBg7D,KAAM,WAAGv9D,aAAM,EAANA,EAAQu9D,OAAQ,EAAC,QAG9B,+BAAKnmE,UAAWf,EAAG,YACf,+BAAKe,UAAWf,EAAG,QACf,wBAAC,UAAgB,CAACugE,YAAa,EAAAt+D,qBAAqBkS,UAAWpT,UAAWf,EAAG,eAC7E,+BAAKe,UAAWf,EAAG,cACf,wBAAC,EAAA2Q,MAAK,CACFD,QAAQ,oCACRE,WAAY,CACRtL,MAAO2B,EAASw3K,UAAU,EAAA1mB,cAAc2mB,qBACpC,wBAAC,UAAK,CACFznK,OAAyB,QAAjB,EAAAnK,aAAI,EAAJA,EAAMuxK,mBAAW,eAAEK,oBAC3BvnK,SAAU,EAAAC,aAAaC,MAE3B,OAOpB,+BAAKtW,UAAWf,EAAG,QACf,wBAAC,UAAgB,CAACugE,YAAa,EAAAt+D,qBAAqBsS,YAAaxT,UAAWf,EAAG,eAC/E,+BAAKe,UAAWf,EAAG,cACf,wBAAC,EAAA2Q,MAAK,CACFD,QAAQ,oCACRE,WAAY,CACRtL,MAAO2B,EAASw3K,UAAU,EAAA1mB,cAAc4mB,qBACpC,wBAAC,UAAK,CACF1nK,OAAyB,QAAjB,EAAAnK,aAAI,EAAJA,EAAMuxK,mBAAW,eAAEM,oBAC3BxnK,SAAU,EAAAC,aAAaC,MAE3B,OAOpB,+BAAKtW,UAAWf,EAAG,QACf,wBAAC,UAAgB,CAACugE,YAAa,EAAAt+D,qBAAqB+W,KAAMjY,UAAWf,EAAG,eACxE,+BAAKe,UAAWf,EAAG,cACf,wBAAC,EAAA2Q,MAAK,CACFD,QAAQ,qCACRE,WAAY,CACRtL,MAAO2B,EAASw3K,UAAU,EAAA1mB,cAAc6mB,sBACpC,wBAAC,UAAK,CACF3nK,OAAyB,QAAjB,EAAAnK,aAAI,EAAJA,EAAMuxK,mBAAW,eAAEO,qBAC3BznK,SAAU,EAAAC,aAAaC,MAE3B,OAOpB,+BAAKtW,UAAWf,EAAG,QACf,wBAAC,UAAgB,CAACugE,YAAa,EAAAt+D,qBAAqB0Q,OAAQ5R,UAAWf,EAAG,eAC1E,+BAAKe,UAAWf,EAAG,cACf,wBAAC,EAAA2Q,MAAK,CACFD,QAAQ,gCACRE,WAAY,CACRtL,MAAO2B,EAASw3K,UAAU,EAAA1mB,cAAc8mB,iBACpC,wBAAC,UAAK,CAAC5nK,OAAyB,QAAjB,EAAAnK,aAAI,EAAJA,EAAMuxK,mBAAW,eAAEQ,gBAAiB1nK,SAAU,EAAAC,aAAaC,MAC1E,OAOpB,+BAAKtW,UAAWf,EAAG,QACf,wBAAC,UAAgB,CAACugE,YAAa,EAAAt+D,qBAAqBI,MAAOtB,UAAWf,EAAG,eACzE,+BAAKe,UAAWf,EAAG,cACf,wBAAC,EAAA2Q,MAAK,CACFD,QAAQ,kCACRE,WAAY,CACRtL,MAAO2B,EAASw3K,UAAU,EAAA1mB,cAAcwmB,QACpC,wBAAC,UAAa,CAACt7K,MAAOs7K,EAAQj7K,KAAM,EAAA4V,aAAa4lK,uBACjD,OAOpB,+BAAK/9K,UAAWf,EAAG,QACf,wBAAC,UAAgB,CAACugE,YAAa,EAAAt+D,qBAAqBI,MAAOtB,UAAWf,EAAG,eACzE,+BAAKe,UAAWf,EAAG,cACf,wBAAC,EAAA2Q,MAAK,CACFD,QAAQ,oCACRE,WAAY,CACRtL,MAAO,wBAAC,UAAa,CAACrC,MAAO2hB,EAAUthB,KAAM,EAAA4V,aAAa4lK,4BAK1E,+BAAK/9K,UAAWf,EAAG,QACf,wBAAC,UAAgB,CAACugE,YAAa,EAAAt+D,qBAAqBI,MAAOtB,UAAWf,EAAG,eACzE,+BAAKe,UAAWf,EAAG,cACf,wBAAC,EAAA2Q,MAAK,CACFD,QAAQ,wCACRE,WAAY,CACRtL,MACI,wBAAC,UAAa,CACVrC,MAAwB,QAAjB,EAAA6J,aAAI,EAAJA,EAAMuxK,mBAAW,eAAEU,YAC1Bz7K,KAAM,EAAA4V,aAAaC,+BAU3D,IAEA,UAAeglK,C,q7BCrKf,kBAEA,aACA,WACA,UAGA,cACA,cACA,cACA,UACA,cACA,aACA,cAIA,cAEMn+K,EAAK,UAAWC,KAAK,WASrB++K,EAAsC7+K,EAAMC,MAAK,SAACC,GAC5C,IAAAytD,EAAoDztD,EAAK,aAA3C46C,EAAsC56C,EAAK,UAAhCqB,EAA2BrB,EAAK,YAAnBU,EAAcV,EAAK,UAE3Dy1F,GAAgB,IAAAz/E,aAAY,EAAA0/E,uBAC5BnhE,GAAW,IAAAC,eAKjB,OAJA10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,KAEA,aAAQk5B,GACD,KAGP,uBAAK/sD,WAAW,aAAGf,EAAG,QAASe,IAC3B,gBAAC,UAAO,CACJA,UAAWf,EAAG,WACdoB,SAAU,EAAAC,oBAAoBC,YAC9BC,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDH,KAIR,SAACsyB,GAAW,uBAAC,UAAkB,CAACjzB,UAAWf,EAAG,iBAAkBg0B,OAAQA,GAA5D,IAEjB,uBAAKjzB,UAAWf,EAAG,UAAWi7C,GAC7B6S,EAAap2C,KAAI,SAAC8Z,EAA2B7Z,GAC1C,IAAMoP,EAAU+uE,EAActkE,GAE9B,OACI,gBAAC,UAAe,CACZxe,IAAK2E,EACL6Z,YAAaA,EACbioG,aAAc1yG,aAAO,EAAPA,EAASkyI,oBACvBl4J,UAAWf,EAAG,YAG1B,IAGZ,IAEA,UAAeg/K,C,6JCtEf,eACA,cACA,WAuCA,UArC0B,SAACrlK,GACvB,IAAMu8H,EAAS,EAAA9b,kBAAkBh4E,QAAkC,SAACC,EAAK9/B,GACrE,IAAMjd,EAAQqU,EAAW4I,GAQzB,OAPIjd,GACA+8C,EAAItqC,KAAK,CACLzU,KAAMif,EACN4zH,MAAO7wI,IAIR+8C,CACX,GAAG,IAEH,MAAO,CACHi0F,OAAQ38H,EAAW,EAAA5Z,WAAWu2I,QAC9Br9H,KAAMU,EAAW,EAAA5Z,WAAWgqB,WAC5B2F,QAAS/V,EAAW,EAAA5Z,WAAWiqB,UAE/B5oB,SAAUuY,EAAW,EAAA5Z,WAAWqB,UAEhC0+B,KAAMnmB,EAAW,EAAA5Z,WAAWk/K,WAC5B1oC,WAAW,IAAAC,kBAAiB78H,EAAW,EAAA5Z,WAAW86H,eAClDub,aAAa,IAAAI,kBAAiB78H,EAAW,EAAA5Z,WAAWq2I,cACpD8oC,IAAKvlK,EAAW,EAAA5Z,WAAWo/K,WAC3Br4K,MAAO6S,EAAW,EAAA5Z,WAAW+G,OAE7Bs4K,QAASzlK,EAAW,EAAA5Z,WAAWs/K,aAE/B1oJ,UAAU,aAAOhd,EAAW,EAAA5Z,WAAW42B,WAAW3c,OAAO,cACzDmiE,SAAUxiE,EAAW,EAAA5Z,WAAWo8E,gBAAax1E,EAC7C8vI,UAAW98H,EAAW,EAAA5Z,WAAWyxB,mBAAgB7qB,EAEjDuvI,OAAM,EACNh8G,MAAO,GAEf,C,q7BCxCA,kBAEA,cAQMy5E,EAAoCxzG,EAAMC,MAAK,SAACC,GAC1C,IAAA40F,EAA0C50F,EAAK,WAAnC60F,EAA8B70F,EAAK,kBAAhBopB,EAAWppB,EAAK,OAEvD,OACI,gBAAC,UAAmC,CAChC40F,WAAYA,EACZC,kBAAmBA,EACnBzrE,OAAQA,EACR9U,eAAa,GAGzB,IAEA,UAAeg/F,C,q7BCvBf,kBAEA,UACA,cACA,aACA,WACA,WAiBM2rE,EAAiDn/K,EAAMC,MAAK,SAACC,GACvD,IAAAU,EAAgDV,EAAK,UAA1CiF,EAAqCjF,EAAK,MAAnCkF,EAA8BlF,EAAK,SAAzBsF,EAAoBtF,EAAK,OAAjBuF,EAAYvF,EAAK,QAErDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAUrC,EAAM0E,SAAQ,WAC1B,MAAO,CACH,CACIS,MAAO,EAAAkvF,yBAAyBC,eAChCrtF,MAAOlG,EAAE,0EAEb,CACIoE,MAAO,EAAAkvF,yBAAyB+qF,YAChCn4K,MAAOlG,EAAE,uEAEb,CACIoE,MAAO,EAAAkvF,yBAAyBG,WAChCvtF,MAAOlG,EAAE,sEAGrB,GAAG,CAACA,IAEJ,OACI,gBAAC,UAAa,CACVH,UAAWA,EACXyG,cAAelC,EACf9C,QAASA,EACT+C,SAAUA,EACV4B,aAAc,SAACN,GACX,OAAKA,EAIE,gBAAC,UAA0B,CAACwyC,iBAAe,EAACjyC,MAAOP,EAAOO,QAHtD,IAIf,EACAozE,qBAAsB,SAAC3zE,GACnB,OAAKA,EAIE,gBAAC,UAA0B,CAACwyC,iBAAe,EAACjyC,MAAOP,EAAOO,QAHtD,IAIf,EACAS,eAAgB,SAAChB,GAAW,OAAAA,aAAM,EAANA,EAAQvB,KAAR,EAC5B1C,gBAAiB,EAAAC,4BAA4BiF,WAC7CnC,OAAQA,EACRC,QAASA,GAGrB,IAEA,UAAe05K,C,uMCzEf,kBAEA,cAsCM1/F,EAAmC,UAAMn8E,cAAuD,CAClGk9E,oBAAqB,KACrB6+F,uBAAwB,UAExBC,eAAgB,GAChBl/F,kBAAmB,UAEnBK,mBAAoB,KACpBY,sBAAuB,UAEvBC,qBAAsB,KACtBE,wBAAyB,UAEzBlW,kBAAmB,GACnBE,qBAAsB,UAEtB+zG,kCAAmC,KACnCC,qCAAsC,YAGjC,EAAA//F,iCAAAA,C,+BC3DT,WAAgB,MAAQ,qDAAqD,OAAS,sDAAsD,SAAW,wD,+BCAvJ,WAAgB,KAAO,kCAAkC,QAAU,qCAAqC,MAAQ,mCAAmC,QAAU,qCAAqC,OAAS,oCAAoC,SAAW,sC,gKCA1P,eAGa,EAAAmsE,wBACT,SAACl1F,GACD,gBAAC9yD,G,MACG,OAAK8yD,IAIwB,QAAtB,EAAA9yD,EAAM67K,WAAW/oH,UAAK,eAAEhzD,gBAHpB,EAAAo5K,uBAAuBp5K,aAItC,CANA,EAQS,EAAAmoJ,uBACT,SAACn1F,GACD,gBAAC9yD,G,MACG,OAAK8yD,IAIwB,QAAtB,EAAA9yD,EAAM67K,WAAW/oH,UAAK,eAAEpjB,SAHpB,EAAAwpI,uBAAuBxpI,MAItC,CANA,EAQS,EAAA6tE,2BAA6B,SAACv9G,GACvC,OAAOA,EAAM67K,UACjB,C,+BCzBA,WAAgB,MAAQ,qDAAqD,OAAS,sDAAsD,SAAW,wD,kYCDvJ,cAyBA,cAGMC,EAAkB,SAACpvJ,GAAiD,OACtEipB,KAAM,KACNgoB,WAAY,KACZo+G,cAAe,UAAch8K,QAC7Bi8K,qBAAsB,UAAcj8K,QACpCk8K,sBAAuB,UAAcl8K,QACrCm8K,cAAe,UAAcn8K,QAC7Bo8K,eAAgB,UAAcp8K,QAC9Bq8K,yBAA0B,UAAcr8K,QACxC2sB,YAAW,EAT2D,EAY1E,mBAAgBA,GACZ,gBAAC1sB,EAAsCC,GACnC,YADH,IAAAD,IAAAA,EAAQ87K,EAAgBpvJ,IACbzsB,EAAOV,MACX,KAAK,EAAA60D,sBACD,OAAO,EAAP,KACOp0D,GAAK,CACR+7K,cAAe,UAAc57K,UAGrC,KAAK,EAAAk0D,wBACO,IAAA1e,EAAqB11C,EAAM,KAArB09D,EAAe19D,EAAM,WACnC,OAAO,EAAP,KACOD,GAAK,CACR21C,KAAI,EACJgoB,WAAU,EACVo+G,cAAe,UAAcv7K,KAGrC,KAAK,EAAA8zD,sBACO,IAAAj0D,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR+7K,cAAe,UAAcz7K,SAASD,KAG9C,KAAK,EAAAu1D,SAGD,OAFQjgB,EAAqB11C,EAAM,KAArB09D,EAAe19D,EAAM,WAE5B,EAAP,KACOD,GAAK,CACR21C,KAAI,EACJgoB,WAAU,IAGlB,KAAK,EAAA9H,WACD,OAAO,EAAP,KACO71D,GAAK,CACR21C,KAAM,OAGd,KAAK,EAAA6e,6BACD,OAAO,EAAP,KACOx0D,GAAK,CACRg8K,qBAAsB,UAAc77K,UAG5C,KAAK,EAAAs0D,+BACD,OAAO,EAAP,KACOz0D,GAAK,CACRg8K,qBAAsB,UAAcx7K,KAG5C,KAAK,EAAAk0D,6BAGD,OAFQr0D,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRg8K,qBAAsB,UAAc17K,SAASD,KAGrD,KAAK,EAAAu0D,8BACD,OAAO,EAAP,KACO50D,GAAK,CACRi8K,sBAAuB,UAAc97K,UAG7C,KAAK,EAAA00D,gCACD,OAAO,EAAP,KACO70D,GAAK,CACRi8K,sBAAuB,UAAcz7K,KAG7C,KAAK,EAAAs0D,8BAGD,OAFQz0D,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRi8K,sBAAuB,UAAc37K,SAASD,KAGtD,KAAK,EAAA40D,sBACD,OAAO,EAAP,KACOj1D,GAAK,CACRk8K,cAAe,UAAc/7K,UAGrC,KAAK,EAAA+0D,wBACD,OAAO,EAAP,KACOl1D,GAAK,CACRk8K,cAAe,UAAc17K,KAGrC,KAAK,EAAA20D,sBAGD,OAFQ90D,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRk8K,cAAe,UAAc57K,SAASD,KAG9C,KAAK,EAAAg1D,uBACD,OAAO,EAAP,KACOr1D,GAAK,CACRm8K,eAAgB,UAAch8K,UAGtC,KAAK,EAAAm1D,yBACD,OAAO,EAAP,KACOt1D,GAAK,CACRm8K,eAAgB,UAAc37K,KAGtC,KAAK,EAAA+0D,uBAGD,OAFQl1D,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRm8K,eAAgB,UAAc77K,SAASD,KAG/C,KAAK,EAAAo1D,iCACD,OAAO,EAAP,KACOz1D,GAAK,CACRo8K,yBAA0B,UAAcj8K,UAGhD,KAAK,EAAAu1D,mCACD,OAAO,EAAP,KACO11D,GAAK,CACRo8K,yBAA0B,UAAc57K,KAGhD,KAAK,EAAAm1D,iCAGD,OAFQt1D,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRo8K,yBAA0B,UAAc97K,SAASD,KAIzD,KAAK,EAAAI,gBACD,OAAO,EAAP,KACOq7K,EAAgBpvJ,IAAY,CAC/ByvJ,eAAgBn8K,EAAMm8K,eACtBxmI,KAAM31C,EAAM21C,KACZgoB,WAAY39D,EAAM29D,aAI1B,QACI,OAAO39D,EAEnB,CAAC,C,q7BClML,kBAEA,cAEA,aACA,cACA,cAGM/D,EAAK,UAAWC,KAAK,WASrBmgL,EAAwCjgL,EAAMC,MAAK,SAACC,G,MAC9Co0C,EAAwDp0C,EAAK,cAA9C4W,EAAyC5W,EAAK,OAAtC8W,EAAiC9W,EAAK,SAA5B4zC,EAAuB5zC,EAAK,mBAC/DkK,EAAUpK,EAAM6yB,WAAW,WAGjC,QADyC,QAAlB,EAAAzoB,aAAO,EAAPA,EAASwvG,iBAAS,eAAEz0G,QAAS,GAC/B,IACV,KAIP,uBAAKvE,UAAWf,EAAG,YACf,wBACIe,UAAWf,EAAG,QAAS,CACnB,iBAAkBi0C,IAEtBnyC,QAAS2yC,GAET,gBAAC,UAAK,CAACx9B,OAAQA,EAAQE,SAAUA,KAIjD,IAEA,UAAeipK,C,6JCzCf,kBACA,cACA,cAEA,aACA,cACA,cACA,cAEMpgL,EAAK,UAAWC,KAAK,WAwD3B,UA/CiC,SAACI,G,QACtB4O,EAA2D5O,EAAK,SAAtDggL,EAAiDhgL,EAAK,SAA5CigL,EAAuCjgL,EAAK,QAAnCk5G,EAA8Bl5G,EAAK,eAAnBU,EAAcV,EAAK,UAElEo3K,EAAY,UAAMzkJ,WAAW,WAE7ButJ,EACF,gDACI,+BAAKx/K,UAAWf,EAAG,gBAAiB8B,QAAuB,QAAd,EAAA21K,EAAUE,YAAI,eAAE6I,cACzD,wBAAC,UAAS,CAACppJ,UAAwB,QAAd,EAAAqgJ,EAAUE,YAAI,eAAEjyE,cAExCz2F,GAIT,OACI,+BACIlO,WAAW,aACPf,EAAG,UAAW,CACV,oBAAqBqgL,IAEzBt/K,GAEJyH,MAAO,CACH0+D,KAAM,UAAG,EAAC,MACVs1C,MAAO,UAAGjD,GAAkB,EAAC,QAGhC8mE,EACG,wBAAC,UAAc,KACX,+BACIt/K,WAAW,aACPf,EAAG,QAAS,CACR,iBAAkBsgL,EAClB,kBAAmBD,MAI1BE,IAIT,+BAAKx/K,UAAWf,EAAG,UAAWugL,GAI9C,C,q7BC/DA,kBACA,cACA,WACA,UACA,WASMvnG,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,qCAAsC,CAC3CoE,MAAOiV,EAAa,EAAAiwC,qBAAqB3gB,aAEjD,EACAqvC,UAAW,CAAC,EAAA1uB,qBAAqB3gB,aARA,GAWzC,CAAC3oC,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,y4BC3Cf,kBAEA,YACA,WACA,WAQMynG,IAAuB,MACxB,EAAA97C,kBAAkB//G,UAAW,EAAA5Q,mBAAmBwhB,WACjD,EAAC,EAAAmvG,kBAAkBjyD,UAAW,EAAA1+D,mBAAmBuhB,e,GAGxC,EAAAmvG,yBAAsB,MAC9B,EAAAC,kBAAkB//G,UAAW,4BAC9B,EAAC,EAAA+/G,kBAAkBjyD,UAAW,4B,GAGlC,IAAMguG,EAAuCvgL,EAAMC,MAAK,SAACC,G,MAC7CiD,EAAmCjD,EAAK,KAAlCsU,EAA6BtU,EAAK,cAAnBU,EAAcV,EAAK,UAExCa,GAAM,IAAAC,kBAAgB,EAE9B,IAAKmC,EACD,OAAO,KAGX,IAAM/B,EAAqC,QAA7B,EAAAk/K,EAAwBn9K,UAAK,QAAI,EAAA0Q,mBAAmBvB,MAElE,OACI,gBAAC,UAAS,CACNmC,UAAQ,EACRD,cAAeA,EACf5T,UAAWA,EACXQ,MAAOA,EACPP,aAAa,oBAEZE,EAAE,EAAAwjI,uBAAuBphI,IAGtC,IAEA,UAAeo9K,C,8KC7Cf,eAAS,4EAAAl2J,OAAO,G,q7BCDhB,kBACA,cAIA,UACA,cACA,cAOMwwF,EAAiC76G,EAAMC,MAAK,SAACC,GACvC,IAAAU,EAAuBV,EAAK,UAAjBmC,EAAYnC,EAAK,QAEpC,OACI,gBAAC,UAAe,CACZU,UAAWA,EACXyB,QAASA,EACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,OALP,EAQtCO,gBAAiB,EAAAC,4BAA4BC,aAGzD,IAEA,UAAek4G,C,kuCClCf,kBACA,cAEA,cACA,WACA,WACA,WACA,cACA,aACA,cACA,cACA,WACA,cACA,UACA,cACA,aAKA,UACA,WACA,WACA,cACA,WACA,cACA,cACA,WAEA,YACA,cAGA,WACA,cACA,WACA,WACA,aAEMh7G,EAAK,UAAWC,KAAK,WAErB4jD,GAA+B,IAAAC,oCAAmCC,OAAO5oC,OAAO,EAAApb,aAehF2Z,EAAoB,aA8Q1B,UA5QyD,SAACrZ,GAC9C,IAAAqD,EACJrD,EAAK,UADU8iB,EACf9iB,EAAK,kBAD6BqiB,EAClCriB,EAAK,uBADqD00F,EAC1D10F,EAAK,0BADgFsgL,EACrFtgL,EAAK,wBAEDa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiC,UAAM2D,SAAQ,WACjD,IAAMsW,GAAS,aAAiBzX,EAAWgf,GAG3C,MAAO,CAACvH,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACzX,EAAWgf,IAAwB,GANhC7H,EAAa,KAAEupC,EAAa,KAQ7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM2H,EAAO5H,EAAO,EAAApb,WAAWgjB,MAC/B,GAAKA,EAAL,CAKA,IAAMg2F,EAAgD,CAClD9/F,MAAM,IAAAorC,uBAAsBlpC,EAAO,EAAApb,WAAWkZ,OAC9CjL,QAAQ,IAAAq2C,uBAAsBlpC,EAAO,EAAApb,WAAWiO,SAChD4U,WAAW,aAAOzH,EAAO,EAAApb,WAAW4iB,eAAe3I,OAAON,GAC1DK,WAAW,aAAOoB,EAAO,EAAApb,WAAW+iB,gBAAgB9I,OAAON,IAG/DinK,EAAwB,CACpBj9K,UAAS,EACTyf,kBAAiB,EACjB41F,eAAc,EACdh2F,KAAMA,aAAgB0iG,KAAO1iG,EAAO,OAGxC3H,EAAcI,WAAW,CAAC,EAhB1B,MAFI,IAAAuZ,YAAW,gDAmBnB,IAGEmvB,GAAsB,IAAA7tC,aAAY,EAAA8tC,oCAClC90C,EAAY60C,aAAmB,EAAnBA,EAAqBhgD,QAEjCk8C,EAA2B,UAAMptB,WAAW,WAClD,UAAMznB,WAAU,WACR60C,EAAyB09E,wBACzB19E,EAAyB09E,uBAAuB,CAC5Cx9E,OAAQxlC,EAAOijH,WACf75D,MAAOppD,EAAOkjH,WAI1B,GAAG,CAACljH,EAAOijH,WAAYjjH,EAAOkjH,YAE9B,IAAM4iD,GAAkB,IAAAziD,uBAAsBrjH,EAAOmB,QAC/CqoC,EAA0BT,EAA6B/oC,EAAOK,OAAQN,GAE5E,UAAMtP,WAAU,WACR60C,EAAyBi+E,oBACzBj+E,EAAyBi+E,mBAAmB,CACxCx4H,WAAYy+C,EACZ85E,UAAWwiD,GAIvB,GAAG,CAACA,EAAiBt8H,IAErB,UAAM/4C,WAAU,WACR60C,EAAyBk+E,sBACzBl+E,EAAyBk+E,qBAAqB,CAC1CjvH,UAAS,GAIrB,GAAG,CAACA,IAEJ,IAAMsT,EAAe7H,EAAOK,OAAO,EAAApb,WAAW4iB,cACxC4hC,EAAmB,UAAM1/C,SAAQ,WACnC,OAAK8d,IAKD,IAAAy5J,gBACI,aAAOz5J,GAAc1I,IAAI,EAAAuqC,+BAAgC,OAAOxqC,SAChE0I,aAAsB,EAAtBA,EAAwB3I,YANrB,EAAAqc,uBAAuBC,kBAAkBG,OASxD,GAAG,CAAC7T,EAAcD,aAAsB,EAAtBA,EAAwB3I,YAEpC+I,EAAgBhI,EAAOK,OAAO,EAAApb,WAAW+iB,eACzC2hC,EAAkB,UAAM5/C,SAAQ,WAClC,OAAKie,GAIE,aAAOA,GAAe4hC,SAAS,EAAG,OAAO1qC,SAHrC,EAAAoc,uBAAuBC,kBAAkBC,OAIxD,GAAG,CAACxT,IAEJ,OACI,gCAAM5H,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRe,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWkZ,KACjB7U,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWkZ,MAChCiD,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWkZ,MACrC7R,MAAOlG,EAAE,kEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWkZ,KACjB3T,MAAOwV,EAAOK,OAAO,EAAApb,WAAWkZ,MAChClT,YAAa7E,EAAE,wEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,WAClBJ,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAVd,IAchB,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAWiO,OACjB5J,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWiO,QAChCkO,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWiO,QACrC5G,MAAOlG,EAAE,oEACTQ,YACI,wBAAC,UAAc,CAACC,UAAQ,EAACJ,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACjEX,EAAE,uEAGXyjD,gBAAiB,EAAAtjD,oBAAoB0B,WACrCqZ,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWiO,OACjB1I,MAAOwV,EAAOK,OAAO,EAAApb,WAAWiO,QAChCjI,YAAa7E,EAAE,0EACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,WAClBJ,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAVd,KAepB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,wBACvBiZ,KAAM,EAAAlZ,WAAW4iB,aACjBve,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW4iB,cAChCzG,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW4iB,cACrCvb,MAAOlG,EAAE,2EACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW4iB,cAChC5c,YAAa7E,EACT,iFAEJic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACf4wB,QAAS,EAAAJ,uBAAuBC,kBAAkBG,QAClDF,QAASmuB,EACTh/C,SAAUpF,EAAMoF,SAChBI,WAAYxF,EAAMwF,WAClBL,WAAYnF,EAAMmF,WAClB5C,gBAAiB,EAAA2a,8BAA8BzV,WAC/CivB,kBAAgB,GAfZ,IAmBhB,wBAAC,UAAW,CACRh2B,UAAWf,EAAG,QAAS,qBACvBiZ,KAAM,EAAAlZ,WAAW+iB,cACjB1e,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+iB,eAChC5G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+iB,eACrC1b,MAAOlG,EAAE,6EACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+iB,eAChC/c,YAAa7E,EACT,mFAEJic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACf4wB,QAAS+tB,EACTjuB,QAAS,EAAAF,uBAAuBC,kBAAkBC,QAClD7wB,SAAUpF,EAAMoF,SAChBI,WAAYxF,EAAMwF,WAClBL,WAAYnF,EAAMmF,WAClB5C,gBAAiB,EAAA2a,8BAA8Bza,YAC/Ci0B,kBAAgB,GAfZ,IAmBhB,wBAAC,UAAa,CACVh2B,UAAWf,EAAG,QAAS,sBACvBoH,MAAOlG,EAAE,yEACToE,OACI,aAASod,aAAsB,EAAtBA,EAAwBuyE,cACjC,aAASvyE,aAAsB,EAAtBA,EAAwBwyE,mBAC3B,UAAGxyE,aAAsB,EAAtBA,EAAwBuyE,WAAU,YAAIvyE,aAAsB,EAAtBA,EAAwBwyE,mBACjE,KAEVnvF,YAAa,EAAAivF,2BAGrB,wBAAC,UAAW,CACRj0F,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWgjB,KACjB3e,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgjB,MAChC7G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgjB,MACrC3G,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBuoC,cAAY,IAEX,SAACvkD,GAAU,OACR,wBAAC,UAAe,CACZwkD,OAAO,0BACP5rC,KAAM,EAAAlZ,WAAWgjB,KACjBzd,MAAOwV,EAAOK,OAAO,EAAApb,WAAWgjB,MAChC5F,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdE,WAAYxF,EAAMwF,WAClBJ,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB2vF,WAAYJ,EACZiwB,qBAAmB,EACnBjoG,eAAgB,SAAC,G,IAAE+nC,EAAO,UAAO,OAC7B,wBAAC,UAAY,CACT9iD,UAAW8iD,EAAU,EAAA7iD,qBAAqBC,SAAW,EAAAD,qBAAqB6U,UAC1EL,KAAM,EAAAC,mBAHmB,GAZ7B,IAqBhB,wBAAC,UAAkC,MAG/C,C,6JCpUA,eACA,cAaA,UAVyB,SACrB8sB,EACA,G,MAAE5pB,EAAoB,uBAEtB,OAAO,EAAP,IACK,EAAA7Z,WAAW+Z,YACRF,IAAwB4pB,aAAa,EAAbA,EAAezpB,YAAY,aAAOypB,EAAczpB,WAAW8I,SAAW,K,CAE1G,C,+BCXA,WAAgB,MAAQ,8BAA8B,QAAU,gCAAgC,+BAA+B,qDAAqD,uBAAuB,6CAA6C,qBAAqB,2CAA2C,oBAAoB,0CAA0C,cAAgB,sCAAsC,eAAiB,uCAAuC,eAAe,qCAAqC,yBAAyB,+CAA+C,QAAU,gCAAgC,OAAS,+BAA+B,OAAS,+BAA+B,qBAAqB,2CAA2C,cAAgB,sCAAsC,aAAe,qCAAqC,kBAAkB,wCAAwC,KAAO,6BAA6B,SAAW,iC,kOCEh+B,EAAAg+J,8BAAgC,6DAChC,EAAA9qE,oCAAsC,mEACtC,EAAAC,sCACT,qEACS,EAAAC,oCAAsC,kE,+BCNnD,WAAgB,MAAQ,oCAAoC,OAAS,qCAAqC,SAAW,uC,giDCDrH,kBACA,YACA,WACA,cAMa,EAAA6qE,8BAA2B,MACnC,EAAA3vI,kBAAkBE,OAAQ,EAAAr9B,mBAAmBvB,MAC9C,EAAC,EAAA0+B,kBAAkBC,OAAQ,EAAAp9B,mBAAmB8C,U,GAGlD,IAAMiqK,EAAsC5gL,EAAMC,MAAK,SAACC,GAC5C,IAAAyxC,EAAgCzxC,EAAK,cAAnBusB,EAAS,EAAKvsB,EAAlC,mBAEN,OAAKyxC,EAKD,gBAAC,UAAS,GAACn9B,eAAa,EAACC,UAAQ,GAAKgY,EAAS,CAAErrB,MAAO,EAAAu/K,4BAA4BhvI,KAChF,gBAAC,UAAkB,CAACA,cAAeA,KALhC,IAQf,IAEA,UAAeivI,C,yzCC1Bf,kBACA,cAEa,EAAAC,aAAe,SACxB9/K,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqBD,aAAangH,EAAQ1lD,GAAQ,WACrD,OAAOja,EAAE,8BACb,GACJ,EAEa,EAAA4iB,cAAgB,SACzB5iB,EACA2/D,EACA1lD,EACA/T,GAEA,OAAO65K,EAAqBn9J,cAAc+8C,EAAQ1lD,GAAQ,WACtD,OAAO/T,GAASlG,EAAE,8BACtB,GACJ,EAEa,EAAAggL,eAAiB,SAC1BhgL,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqBC,eAAergH,EAAQ1lD,GAAQ,WACvD,OAAOja,EAAE,oCACb,GACJ,EAEa,EAAAknI,oBAAsB,SAC/BlnI,EACA2/D,EACA1lD,EACA09I,GAEA,OAAOooB,EAAqB74C,oBAAoBvnE,EAAQ1lD,EAAQ09I,GAAO,WACnE,OAAO33J,EAAE,mCAAoC,CACzC+rB,MAAM,aAAO4rI,GAAO7+I,OAAO,gBAEnC,GACJ,EAEa,EAAAmuH,qBAAuB,SAChCjnI,EACA2/D,EACA1lD,EACA09I,GAEA,OAAOooB,EAAqB94C,qBAAqBtnE,EAAQ1lD,EAAQ09I,GAAO,WACpE,OAAO33J,EAAE,oCAAqC,CAC1C+rB,MAAM,aAAO4rI,GAAO7+I,OAAO,gBAEnC,GACJ,EAEa,EAAAwiJ,kCAAoC,SAC7Ct7J,EACA2/D,EACA1lD,EACAi7D,GAEA,OAAO6qG,EAAqBzkB,kCAAkC37F,EAAQ1lD,EAAQi7D,GAAe,WACzF,OAAOl1E,EAAE,6CACb,GACJ,EAEa,EAAA+5H,oBAAsB,SAC/B/5H,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqBhmD,oBAAoBp6D,EAAQ1lD,GAAQ,WAC5D,OAAOja,EAAE,8BACb,GACJ,EAEa,EAAAgpB,eAAiB,SAC1BhpB,EACA2/D,EACA1lD,EACAmxD,GAEA,OAAO20G,EAAqB/2J,eAAe22C,EAAQ1lD,EAAQmxD,GAAW,WAClE,OAAOprE,EAAE,+BACb,GACJ,EAEa,EAAAipB,eAAiB,SAC1BjpB,EACA2/D,EACA1lD,EACAqxD,GAEA,OAAOy0G,EAAqB92J,eAAe02C,EAAQ1lD,EAAQqxD,GAAW,WAClE,OAAOtrE,EAAE,8BACb,GACJ,EAEa,EAAA6iB,cAAgB,SACzB7iB,EACA2/D,EACA1lD,EACAg3H,GAEA,OAAO8uC,EAAqBl9J,cAAc88C,EAAQ1lD,EAAQg3H,GAAU,SAAC,G,IAAE7sI,EAAK,QACxE,OAAOpE,EAAE,sCAAuC,CAC5CoE,MAAK,GAEb,GACJ,EAEa,EAAA++D,2BAA6B,SACtCnjE,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqBE,oBAAoBtgH,EAAQ1lD,EAAQ,GAAG,SAAC,G,IAAE7V,EAAK,QACvE,OAAOpE,EAAE,yCAA0C,CAC/CoE,MAAK,GAEb,GACJ,EAEa,EAAAwsB,iCAAmC,SAC5C5wB,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqBl9J,cAAc88C,EAAQ1lD,EAAQ,GAAG,SAAC,G,IAAE7V,EAAK,QACjE,OAAOpE,EAAE,iDAAkD,CACvDoE,MAAK,GAEb,GACJ,EAEa,EAAA0e,cAAgB,SACzB9iB,EACA2/D,EACA1lD,EACAimK,GAEA,OAAOH,EAAqBj9J,cAAc68C,EAAQ1lD,EAAQimK,GAAU,SAAC,G,IAAE97K,EAAK,QACxE,OAAOpE,EAAE,sCAAuC,CAC5CoE,MAAK,GAEb,GACJ,EAEa,EAAA+7K,oBAAsB,SAC/BngL,EACA2/D,EACA1lD,EACAimK,GAEA,OAAOH,EAAqBI,oBAAoBxgH,EAAQ1lD,EAAQimK,GAAU,SAAC,G,IAAE97K,EAAK,QAC9E,OAAOpE,EAAE,sCAAuC,CAC5CoE,MAAK,GAEb,GACJ,EAEa,EAAA4iI,gBAAkB,SAC3BhnI,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqB/4C,gBAAgBrnE,EAAQ1lD,GAAQ,WACxD,OAAOja,EAAE,wCACb,GACJ,EAEa,EAAA68G,WAAa,SACtB78G,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqBljE,WAAWl9C,EAAQ1lD,GAAQ,WACnD,OAAOja,EAAE,mCACb,GACJ,EAEa,EAAA85H,UAAY,SACrB95H,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqBjmD,UAAUn6D,EAAQ1lD,GAAQ,WAClD,OAAOja,EAAE,kCACb,GACJ,EAEa,EAAA65H,cAAgB,SACzB75H,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqBlmD,cAAcl6D,EAAQ1lD,GAAQ,WACtD,OAAOja,EAAE,sCACb,GACJ,EAEa,EAAAkpB,iBAAmB,SAC5BlpB,EACA2/D,EACA1lD,GAEA,OAAO8lK,EAAqB72J,iBAAiBy2C,EAAQ1lD,GAAQ,WACzD,OAAOja,EAAE,mCACb,GACJ,C,yECxNA,eACA,WACA,WAgEA,UA9DyB,SAACqZ,G,YAChBY,IAAM,MACP,EAAApb,WAAW89J,oBAAoBtjJ,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBqzG,qBAAsB,GAC1F,EAAC,EAAA99J,WAAW0nB,cAAclN,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB/iC,eAAgB,GAC9E,EAAC,EAAA1nB,WAAW0pB,SAASlP,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB/gC,UAAW,GACpE,EAAC,EAAA1pB,WAAWgnB,UAAUxM,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBzjC,WAAY,GACtE,EAAC,EAAAhnB,WAAW0d,aAAc,KAC1B,EAAC,EAAA1d,WAAWggG,kBAAkBxlF,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBu1C,mBAAoB,GACtF,EAAC,EAAAhgG,WAAWmgG,oBAAoB3lF,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB01C,qBAAsB,GAC1F,EAAC,EAAAngG,WAAWogG,iBAAkB,KAC9B,EAAC,EAAApgG,WAAWqgG,qBAAqB7lF,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB41C,sBAAuB,GAC5F,EAAC,EAAArgG,WAAWsgG,uBAAuB9lF,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB61C,wBAAyB,GAChG,EAAC,EAAAtgG,WAAWgwJ,0BAA2B,KACvC,EAAC,EAAAhwJ,WAAWwlC,aAAahrB,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBjlB,cAAe,GAC5E,EAAC,EAAAxlC,WAAW+tB,eAAevT,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqB18B,gBAAiB,G,GA6CpF,OA1CIvT,EAAa,EAAAiwC,qBAAqBoiD,mBAClCzxF,EAAO,EAAApb,WAAW0d,aAAe,CAC7Bka,MAAM,IAAAq4H,oBAAmBz1I,EAAa,EAAAiwC,qBAAqBoiD,kBAC3DrkF,GAAI,OAIRhO,EAAa,EAAAiwC,qBAAqBsiD,iBAClC3xF,EAAO,EAAApb,WAAW0d,aAAe,CAC7Bka,KAAoC,QAA9B,EAAAxc,EAAO,EAAApb,WAAW0d,oBAAY,eAAEka,KACtCpP,IAAI,IAAAynI,oBAAmBz1I,EAAa,EAAAiwC,qBAAqBsiD,kBAI7DvyF,EAAa,EAAAiwC,qBAAqBylG,+BAClC90I,EAAO,EAAApb,WAAWgwJ,0BAA4B,CAC1Cp4H,MAAM,IAAAq4H,oBAAmBz1I,EAAa,EAAAiwC,qBAAqBylG,8BAC3D1nI,GAAI,OAIRhO,EAAa,EAAAiwC,qBAAqB0lG,6BAClC/0I,EAAO,EAAApb,WAAWgwJ,0BAA4B,CAC1Cp4H,KAAiD,QAA3C,EAAAxc,EAAO,EAAApb,WAAWgwJ,iCAAyB,eAAEp4H,KACnDpP,IAAI,IAAAynI,oBAAmBz1I,EAAa,EAAAiwC,qBAAqB0lG,8BAI7D31I,EAAa,EAAAiwC,qBAAqB2lG,sBAClCh1I,EAAO,EAAApb,WAAWogG,iBAAmB,CACjCxoE,MAAM,IAAAq4H,oBAAmBz1I,EAAa,EAAAiwC,qBAAqB2lG,qBAC3D5nI,GAAI,OAIRhO,EAAa,EAAAiwC,qBAAqB4lG,oBAClCj1I,EAAO,EAAApb,WAAWogG,iBAAmB,CACjCxoE,KAAwC,QAAlC,EAAAxc,EAAO,EAAApb,WAAWogG,wBAAgB,eAAExoE,KAC1CpP,IAAI,IAAAynI,oBAAmBz1I,EAAa,EAAAiwC,qBAAqB4lG,qBAI1Dj1I,CACX,C,q7BChEA,kBACA,WACA,WACA,aACA,WACA,WACA,UACA,cAOMmmK,EAAyDnhL,EAAMC,MAAK,SAACC,GAC/D,IAAA0lD,EAA4C1lD,EAAK,cAAlCkhL,EAA6BlhL,EAAK,yBAEnDu0B,GAAW,IAAAC,eAEX,GAAyC,IAAAxe,cAAY,IAAA4yE,0BAAyBljC,IAA5EokF,EAAyB,4BAAE16H,EAAO,UAU1C,OARA,IAAAlE,YAAU,WACDw6C,GAILnxB,GAAS,IAAA8wB,yBAAwBK,GACrC,GAAG,CAACA,EAAenxB,IAEfu1G,EAA0BjmI,UAAYuL,EAC/B,gBAAC,UAAiB,MAIzB,gBAAC,UAAI,CACD3N,QAAS,WACL,IAAMikD,EAAgBt2C,aAAO,EAAPA,EAASlD,GAC1Bw5C,EAKLw7H,EAAyBx7H,IAJrB,IAAAhxB,YAAW,sBAKnB,EACAxzB,MAAO,EAAA8mB,cAAcC,eAEpB7Y,aAAO,EAAPA,EAASzB,OAGtB,IAEA,UAAeszK,C,ktBCvCF,EAAAE,0BAA4B,SAAC7/B,GACtC,OAAOA,EAASv/F,QACZ,SAACC,EAAKo/H,G,YACI9mI,EAAwB,QAAd,EAAA8mI,aAAO,EAAPA,EAASr9J,aAAK,eAAE7X,GAC1BgjD,EAA4B,QAAhB,EAAAkyH,aAAO,EAAPA,EAASp9J,eAAO,eAAE9X,GACpC,OAAKouC,GAAY4U,EAIV,CACHmyH,UAAW,EAAF,KACFr/H,EAAIq/H,YAAS,OACf/mI,GAAU4U,EAAS,IAExBoyH,YAAa,EAAF,KACJt/H,EAAIs/H,cAAW,OACjBpyH,GAAY5U,EAAO,KAVjB0H,CAaf,GACA,CACIq/H,UAAW,CAAC,EACZC,YAAa,CAAC,GAG1B,EAEa,EAAAC,eAAiB,SAC1BjgC,EACAkgC,GAEA,OAAOlgC,EAASv/F,QAAiD,SAACC,EAAKo/H,G,QAE3Dp9J,EAA4Bo9J,EAAO,QAAhBvlK,GAASulK,EAAO,MAAZ,EAAKA,EAA9B,sBAEAlyH,EAAYlrC,aAAO,EAAPA,EAAS9X,GAC3B,OAAKgjD,EAIE,EAAP,KACOlN,KAAG,MACLkN,GAAS,OACNuyH,aAAwC,QAA1B,EAAAD,EAAgBtyH,UAAU,eAAEuyH,cACvC5lK,GACAmI,GAAO,CACV9X,GAAIgjD,IAAS,IATVlN,CAYf,GAAG,CAAC,EACR,EAEa,EAAA0/H,aAAe,SACxBpgC,EACAqgC,GAEA,OAAOrgC,EAASv/F,QAA+C,SAACC,EAAKo/H,GAE7BA,EAAO,Q,QAA1Br9J,EAAmBq9J,EAAO,MAAhBvlK,EAAI,EAAKulK,EAA9B,qBAEA9mI,EAAUv2B,aAAK,EAALA,EAAO7X,GACvB,OAAKouC,EAIE,EAAP,KACO0H,KAAG,MACL1H,GAAO,OACJmnI,aAAoC,QAAtB,EAAAE,EAAcrnI,UAAQ,eAAEmnI,cACnC5lK,GACAkI,GAAK,CACR7X,GAAIouC,IAAO,IATR0H,CAYf,GAAG,CAAC,EACR,C,+BCtFA,WAAgB,2BAA2B,mEAAmE,yBAAyB,iEAAiE,uBAAuB,+DAA+D,qBAAqB,6DAA6D,iBAAiB,yDAAyD,iBAAiB,yDAAyD,KAAO,+CAA+C,mBAAmB,2DAA2D,OAAS,iDAAiD,SAAW,mD,8rCCD7sB,kBAwBa,EAAA4/H,mCAAqC,WACxC,QAA0C,UAAMv9K,UAAkB,GAAM,GAAvEq5D,EAAgB,KAAEC,EAAmB,KACtC,IAA8C,UAAMt5D,SAA8B,MAAK,GAAtF85D,EAAkB,KAAEC,EAAqB,KAC1C,IAAwE,UAAM/5D,SAAwB,IAAG,GAAxG25D,EAA8B,KAAEC,EAAmC,KACpE,IAAsD,UAAM55D,SAAwB,MAAK,GAAxFu5D,EAAsB,KAAEC,EAAyB,KAClDgkH,EAA6B,UAAMl5K,OAAwC,MAEjF,OAAO,IAAAnE,UAAQ,WACX,MAAO,CACHk5D,iBAAgB,EAChBC,oBAAmB,EACnBQ,mBAAkB,EAClBC,sBAAqB,EACrBR,uBAAsB,EACtBC,0BAAyB,EACzBG,+BAA8B,EAC9BC,oCAAmC,EACnCH,gBAAiB+jH,EAA2Bt2K,QAC5CwyD,mBAAoB,SAAC5K,GACjB0uH,EAA2Bt2K,QAAU4nD,CACzC,EACA+K,0BAC+B,OAA3BN,GAAmCI,EAA+Bz4C,SAASq4C,GAEvF,GAAG,CACCF,EACAC,EACAQ,EACAC,EACAR,EACAC,EACAG,EACAC,GAER,C,68CC1DA,kBACA,WAUM6jH,EAA6B,SAAC9hL,GACxB,IAAAoW,EAAsEpW,EAAK,KAArE2B,EAAgE3B,EAAK,UAA1DwR,EAAqDxR,EAAK,YAA7C0W,EAAwC1W,EAAK,YAAhC6R,EAA2B7R,EAAK,cAAdk5C,EAAI,EAAKl5C,EAAxE,kEAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAAgB6nC,GACvF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAMkK,EACNlF,YAAaK,GAAiB,EAC9BN,EAAE,4VAEN,wBACIC,YAAaA,GAAe,EAC5BhF,KAAM7K,EACN4P,EAAE,4FAKtB,EAEAuwK,EAAShwK,YAAc,WAEvB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WA2D7B,EAAA1E,WAAAA,EAxDI,EAAAgwK,cAAgB,CACzBllK,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WASR,OAAIryB,EACO,CACHgR,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBkS,WAItC3O,EACO,CACHiR,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB0Q,QAItCiuD,EACO,CACHnqD,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAItCpR,EACO,CACH+Q,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,OAInC,CACHgE,KAAM,EAAAC,kBACN1U,UAAW81B,GAAYC,EAAY,EAAA91B,qBAAqBogL,aAAe,EAAApgL,qBAAqBI,MAC5F0U,YAAa+gB,GAAYC,EAAY,EAAA91B,qBAAqB6U,UAAY,EAAA7U,qBAAqB+W,KAEnG,GAIJ,UAAempK,C,8lCClGf,kBAIMG,EAA6B,SAACjiL,GAChC,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,MAAS9L,GAC/D,qBAAGwM,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAK,UACL+E,EAAE,iqBAKtB,EAEA0wK,EAASnwK,YAAc,WAId,EAAAC,WAFkB,CAAC,EAG5B,UAAekwK,C,wHCvBf,eAEa,EAAAC,WAAa,EAAI,EAAA7iI,UAEjB,EAAA8iI,yBAA2B,G,6FCF3B,EAAAC,aAAe,SACxBr5F,EACAh8D,G,MAEA,OAAgC,QAAzB,EAAAg8D,aAAkB,EAAlBA,EAAoB5J,aAAK,eAAErmC,MAAK,SAACkmC,GAAS,OAAAA,aAAI,EAAJA,EAAM9yE,MAAO6gB,CAAb,MAAwB,IAC7E,C,igDCPA,kBACA,WAEA,WACA,WACA,WACA,cACA,YASMozC,IAAc,MACf,EAAAv0C,oBAAoBV,WAAO,MACvB,EAAA6X,0BAA0BjX,mBAAoB,EAAAlY,0BAA0B1B,OACzE,EAAC,EAAA6wB,0BAA0BhX,UAAW,EAAAnY,0BAA0BO,SAChE,EAAC,EAAA4uB,0BAA0B/W,UAAW,EAAApY,0BAA0B1B,OAChE,EAAC,EAAA6wB,0BAA0B9W,SAAU,EAAArY,0BAA0B1B,OAC/D,EAAC,EAAA6wB,0BAA0B7W,SAAU,EAAAtY,0BAA0B1B,O,GAEnE,EAAC,EAAA0Z,oBAAoBtD,WAAO,MACvB,EAAAya,0BAA0BjX,mBAAoB,EAAAlY,0BAA0B1B,OACzE,EAAC,EAAA6wB,0BAA0BhX,UAAW,EAAAnY,0BAA0BO,SAChE,EAAC,EAAA4uB,0BAA0B/W,UAAW,EAAApY,0BAA0B1B,OAChE,EAAC,EAAA6wB,0BAA0B9W,SAAU,EAAArY,0BAA0B1B,OAC/D,EAAC,EAAA6wB,0BAA0B7W,SAAU,EAAAtY,0BAA0B1B,O,GAEnE,EAAC,EAAA0Z,oBAAoB3e,UAAM,MACtB,EAAA81B,0BAA0BjX,mBAAoB,EAAAlY,0BAA0BC,UACzE,EAAC,EAAAkvB,0BAA0BhX,UAAW,EAAAnY,0BAA0BO,SAChE,EAAC,EAAA4uB,0BAA0B/W,UAAW,EAAApY,0BAA0B1B,OAChE,EAAC,EAAA6wB,0BAA0B9W,SAAU,EAAArY,0BAA0B1B,OAC/D,EAAC,EAAA6wB,0BAA0B7W,SAAU,EAAAtY,0BAA0B1B,O,MAIjEmwK,EAA8CviL,EAAMC,MAAK,SAACC,G,MAKxDkB,EAJIkoB,EAAyBppB,EAAK,OAAnBusB,EAAS,EAAKvsB,EAA3B,YAEAwsB,GAAkB,IAAAxW,aAAY,EAAAyW,mBAWpC,OAHIvrB,EAHCkoB,EAGsC,QAA/B,EAAA+2C,EAAe3zC,UAAgB,eAAGpD,GAFlC,EAAAzV,mBAAmBvB,MAM3B,gBAAC,UAAS,GAACmC,UAAQ,GAAKgY,EAAS,CAAErrB,MAAOA,IACtC,gBAAC,UAAqB,CAACkoB,OAAQA,IAG3C,IAEA,UAAei5J,C,+BC5Df,WAAgB,QAAU,kCAAkC,OAAS,iCAAiC,SAAW,mC,gGCDjH,eACA,WAEa,EAAAC,cAAgB,SAACv+E,GAC1B,OAAQA,GACJ,KAAK,EAAAlrF,aAAamrF,iBACd,OAAO,IAAAhsE,gBACX,KAAK,EAAAnf,aAAaC,uBACd,OAAO,IAAAypK,mBACX,QACI,OAAO,KAEnB,C,4pCCZA,kBACA,WACA,cACA,cACA,WACA,cACA,WACA,cAEA,WAWMj0K,EAAgB,sCAEhBk0K,IAAe,MAChB,EAAAnM,gBAAgBM,QAAS,CACtB12K,MAAO,0DACPsY,QAAS,iEAEb,EAAC,EAAA89J,gBAAgBC,OAAQ,CACrBr2K,MAAO,yDACPsY,QAAS,gEAEb,EAAC,EAAA89J,gBAAgBQ,SAAU,CACvB52K,MAAO,2DACPsY,QAAS,kE,GAIXkqK,EAAoD,UAAM1iL,MAAK,SAACC,GAC1D,IAAAyM,EAAsDzM,EAAK,KAArDstB,EAAgDttB,EAAK,UAA1CyO,EAAqCzO,EAAK,SAAhCQ,EAA2BR,EAAK,QAAvBwD,EAAkBxD,EAAK,cAE3Da,GAAM,IAAAC,kBAAgB,EAExB4hL,EAAgBF,EAAgB/1K,aAAI,EAAJA,EAAMyD,aAE5C,IAAKzD,EACD,OAAO,KAGX,IAAMixJ,EAAS,CACXz9J,MAAOY,EAAE6hL,EAAcziL,OACvBsY,QAAS1X,EAAE6hL,EAAcnqK,UAG7B,OACI,wBAAC,UAAK,KACF,wBAAC,UAAY,CAAC/X,QAASA,GACnB,wBAAC,UAAW,GACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9B7M,QAASgN,EACTpJ,WAAY7B,EAAcK,SAE9B,CACI+K,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BjJ,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,aACnD4pJ,KAKxB,IAEA,UAAe+kB,C,+BCrFf,WAAgB,KAAO,oCAAoC,qBAAqB,kDAAkD,oBAAoB,iDAAiD,uBAAuB,oDAAoD,yBAAyB,sDAAsD,qBAAqB,kDAAkD,OAAS,sCAAsC,SAAW,wC,8cCDle,kBAEA,cACA,cACA,WACA,WAEM9iL,EAAK,UAAWC,KAAK,WAWrB+iL,IAAa,MACd,EAAA5yF,2BAA2Bz9E,QAAS,CACjCoE,YAAa,EAAA9U,qBAAqB0Q,QAEtC,EAAC,EAAAy9E,2BAA2Bo+E,OAAQ,CAChCz3J,YAAa,EAAA9U,qBAAqBsS,aAEtC,EAAC,EAAA67E,2BAA2B6yF,WAAY,CACpClsK,YAAa,EAAA9U,qBAAqB6U,WAEtC,EAAC,EAAAs5E,2BAA2B/tF,OAAQ,CAChC0U,YAAa,EAAA9U,qBAAqBI,OAEtC,EAAC,EAAA+tF,2BAA2BluF,UAAW,CACnC6U,YAAa,EAAA9U,qBAAqBC,U,GAIpCghL,IAAqB,MACtB,EAAA9yF,2BAA2Bz9E,QAAS,CACjCoE,YAAa,WAEjB,EAAC,EAAAq5E,2BAA2Bo+E,OAAQ,CAChCz3J,YAAa,WAEjB,EAAC,EAAAq5E,2BAA2B6yF,WAAY,CACpClsK,YAAa,WAEjB,EAAC,EAAAq5E,2BAA2B/tF,OAAQ,CAChC0U,YAAa,EAAA9U,qBAAqBI,OAEtC,EAAC,EAAA+tF,2BAA2BluF,UAAW,CACnC6U,YAAa,EAAA9U,qBAAqBI,O,GAIpC8gL,EAA4B,UAAM/iL,MAAK,SAACC,GAClC,IAAA+iL,EAA8D/iL,EAAK,OAA3DgjL,EAAsDhjL,EAAK,QAAlDqF,EAA6CrF,EAAK,WAAtCijL,EAAiCjjL,EAAK,cAAvBkB,EAAkBlB,EAAK,MAAhBkjL,EAAWljL,EAAK,OAErE,IAA0B,UAAMqE,UAAS,GAAM,GAA9Ci2I,EAAS,KAAE6oC,EAAU,KAEtBxiL,EAAe,UAAM6D,SAAQ,WAC/B,OAAIu+K,EACO,eAEPC,EACO,gBAGJ,SACX,GAAG,CAACD,EAAQC,IAkBNI,EAAe9oC,EAAYuoC,EAAsB3hL,GAASyhL,EAAczhL,GAE9E,OACI,+BACIR,UAAWf,EAAG,UAAW,CACrB,kBAAmBojL,EACnB,mBAAoBC,EACpB,sBAAuB39K,EACvB,yBAA0B49K,IAE9Bj3K,IAAKi3K,EAAgBC,EAAS,KAAI,qBACdviL,EACpB+K,aAtBwB,WACxBrG,GAICi1I,GACD6oC,GAAW,EAEnB,EAeQv3K,aA7BwB,WACxB0uI,GACA6oC,GAAW,EAEnB,GA2BQ,+BACIziL,UAAWf,EAAG,QACdwI,MAAO,CACHk7K,gBAAiBD,EAAa1sK,eAKlD,IAEA,UAAeosK,C,6JC/Gf,kBACA,WACA,WAEA,WACA,WACA,WACA,cAOMQ,EAA4C,UAAMvjL,MAAK,SAACC,GAClD,IAAA05E,EAAgC15E,EAAK,aAAvB85G,EAAkB95G,EAAK,cAErCa,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAEJ,IAAMgvJ,GAAkB,IAAAvtK,aAAY,EAAAm6B,wBAC9BsJ,GAAe,IAAAzjC,aAAY,EAAA8jE,2BAEjC,IAAKggC,EACD,OAAO,KAGX,GAAIrgE,EAAa51C,QACb,OAAO,wBAAC,UAAiB,CAAClC,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAG3E,IAAMmtK,EAAcD,EAAgBzpE,GACpC,OAAK0pE,EAKD,oCACK9pG,EACK8pG,EAAYr8J,OAAS,GACrBtmB,EAAE,kCAAmC,CACjCoB,OAAQuhL,EAAYvhL,OACpBklB,MAAOq8J,EAAYr8J,MACnB8yD,YAAaupG,EAAYvpG,YACzBC,YAAaspG,EAAYtpG,eAXhC,IAef,IAEA,UAAeopG,C,4LCtDf,kBACA,WACA,cACA,cAEa,EAAAx8G,sBAAwB,SACjC28G,EACAC,EACAC,GAEA,IAAMC,GAAsB,aAAOH,EAAoB,EAAA70H,UACjDi1H,IAAiB,aAAQD,GAEzBE,GAAsB,aAAKF,EAAqBF,GAAoB,IACpEr3I,IAA0B,aAAQy3I,GAElCC,GAAwB,aAAKH,EAAqBD,GAAsB,IAG9E,MAAO,CACHE,cAAa,EACbx3I,uBAAsB,EACtBC,2BAL8B,aAAQy3I,GAO9C,C,sBCxBA,IAAYlsK,EAOAsyC,E,+FAPZ,SAAYtyC,GACR,6BACA,6BACA,mCACA,0BACH,CALD,CAAYA,IAAa,gBAAbA,EAAa,KAOzB,SAAYsyC,GACR,0BACA,aACH,CAHD,CAAYA,IAAoB,uBAApBA,EAAoB,I,8FCPhC,eAYS,EAAA65H,YANW,SAAC1qK,GACjB,MAAO,CACH+8E,OAAQ/8E,EAAW,EAAA5Z,WAAW22F,QAEtC,C,umDCVA,eACA,WAMA,WACA,cACA,WAEA,SAAU4tF,I,8DACuE,UAAM,IAAAr3K,QAC/E,EAAAs3K,qC,OAGJ,OAJ6E,SAI3DhgL,GACd,IAGJ,IAAM,IAAA4I,MAAI,IAAAq3K,kC,OAGN,OAHJ,SAGI,GAAM,UAAkB10I,2B,cADtB,kBACF,SAAiD,IAD9C1rC,EAAK,KAAE0I,EAAI,KAGd1I,EACA,IAAM,IAAA+I,MAAI,IAAAs3K,8BAA6B,CAAErgL,MAAK,MAD9C,M,qBAMJ,S,WAAA,OADMsgL,GAAiB,IAAAC,qCAAoC73K,GAC3D,IAAM,IAAAK,MAAI,IAAAy3K,gCAA+B,CAAEC,wBAAyBH,M,IAOxE,UAJA,W,kDACI,UAAM,IAAA92K,WAAU,CAAC,EAAAkiC,wBAAwBxsC,MAAOghL,I,cAAhD,S,uCClCJ,WAAgB,MAAQ,qCAAqC,aAAe,4CAA4C,sBAAsB,mDAAmD,iBAAiB,8CAA8C,gBAAgB,6CAA6C,eAAe,4CAA4C,QAAU,uCAAuC,iBAAiB,8CAA8C,cAAc,2CAA2C,sBAAsB,mDAAmD,wBAAwB,qDAAqD,sBAAsB,mDAAmD,wBAAwB,qDAAqD,qBAAqB,kDAAkD,aAAa,0CAA0C,YAAc,2CAA2C,cAAgB,6CAA6C,wBAAwB,qDAAqD,0BAA0B,uDAAuD,KAAO,oCAAoC,uBAAuB,oDAAoD,2BAA2B,wDAAwD,OAAS,sCAAsC,SAAW,wC,u8CCDl+C,kBAEA,cACA,cAEA,UACA,cACA,cACA,WACA,WACA,WAMA,aACA,cACA,WA0BM7qI,GAvBK,UAAWx5C,KAAK,WAuBV,SAACy5C,GACd,OAAKA,EAGE,UAAGA,EAAKzgC,KAAI,YAAIygC,EAAKhqB,SAFjB,EAGf,GAEMo1J,EAAuC,UAAM1kL,MAAK,SAACC,GAEjD,IAAAmH,EAcAnH,EAAK,cAbLgF,EAaAhF,EAAK,aAZL0F,EAYA1F,EAAK,YAXLqF,EAWArF,EAAK,WAVLkF,EAUAlF,EAAK,SATLuC,EASAvC,EAAK,gBARLU,EAQAV,EAAK,UAPLoF,EAOApF,EAAK,SANLmF,EAMAnF,EAAK,WALLwF,EAKAxF,EAAK,WAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFL0H,EAEA1H,EAAK,QADLu5C,EACAv5C,EAAK,eAEHu0B,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAmwJ,oBACb,GAAG,CAACnwJ,IAEJ,IAAMklB,GAAe,IAAAzjC,aAAY,EAAA83H,+BAC3Bn0F,GAAS,IAAA3jC,aAAY,EAAAg4H,yBACrB3/H,GAAO,IAAA2H,aAAY,EAAAi4H,uBAEnBnnI,EAAe,SAACoF,EAAaxG,GAC/B,IAAI,aAAMwG,GACN,OAAO,wBAAC,UAAuB,CAACnF,MAAOrB,GAAe,GAAIsB,eAAa,IAG3E,IAAMqyC,EAAOhrC,EAAKnC,GAClB,OAAKmtC,EAQE,wBAAC,UAAuB,CAACtyC,MAAOqyC,EAASC,KAPvCr0C,EAIE,wBAAC,UAAuB,CAAC+B,MAAO/B,IAH5B,IAOnB,EAWM,IAAoB,UAAMX,SAAiB,IAAG,GAA7C4B,EAAK,KAAE6zC,EAAQ,KAEhBC,EAAkB,UAAMv1C,SAAQ,WAClC,IAAMw1C,GAAgB,IAAAC,oBAAmBh0C,GAEnCi0C,EAAoB,IAAIprB,IAAayqB,GAAkB,IAE7D,OAAOI,EAAO3qB,QAAO,SAAC9iB,GAClB,GAAIguC,EAAkBjrB,IAAI/iB,GACtB,OAAO,EAGX,IAAMmtC,EAAOhrC,EAAKnC,GAEZnF,EAAQqyC,EAASC,GAGvB,OAFsB,IAAAY,oBAAmBlzC,GAEpBwe,SAASy0B,EAClC,GACJ,GAAG,CAACL,EAAQtrC,EAAMpI,EAAOszC,IAEzB,OACI,wBAAC,UAAmB,CAChB74C,UAAWA,EACXyG,cAAeA,EACfzB,YAAaA,EACbvD,QAAS43C,EACT10C,WAAYo0C,EAAa51C,SAAWwB,EACpCH,SAnCa,SAACD,GAClB,IAAMo0C,EAAOhrC,EAAKpJ,GACZ8B,EAAQqyC,EAASC,GAEvBn0C,EAASD,EAAO8B,EACpB,EA+BQ3B,SAAUA,EACVD,WAAYA,EACZiC,cAAe0yC,EACfzyC,gBAAiB,WACb,OAAAoyC,EAAa51C,QAAU,wBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAA0B,IAA/F,EAEJT,aAAcA,EACd1E,cAAe0E,EACfU,eA9Ce,SAAChB,GAA4B,OAAAA,CAAA,EA+C5ChB,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACThD,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEC,QAASA,GAGrB,IAEA,UAAe+8K,C,gTCxJf,eAmCa,EAAA3jC,oBAAsB,SAC/Bh3B,EACAhhF,GAC6B,OAC7B7lC,KAAM,EAAA0iJ,sBACN77B,iBAAgB,EAChBhhF,QAAO,EAHsB,EAMpB,EAAA25G,YAAc,SAACx8I,GAAiD,OACzEhD,KAAM,EAAAijJ,qBACNjgJ,MAAK,EAFoE,EAKhE,EAAA28I,iBAAmB,SAAC38I,GAAsD,OACnFhD,KAAM,EAAA0hL,2BACN1+K,MAAK,EAF8E,EAK1E,EAAAg9I,mBAAqB,SAC9Bh9I,EACA2+K,GAC4B,OAC5B3hL,KAAM,EAAA4hL,6BACND,qBAAoB,EACpB3+K,MAAK,EAHuB,EAMnB,EAAA88I,iBAAmB,SAAC98I,EAA0BlC,GAA0C,OACjGd,KAAM,EAAA6hL,2BACN/gL,MAAK,EACLkC,MAAK,EAH4F,EAMxF,EAAA87I,UAAY,SAAC97I,GAA6C,OACnEhD,KAAM,EAAA+iJ,mBACN//I,MAAK,EAF8D,EAK1D,EAAAi8I,eAAiB,SAACj8I,GAAkD,OAC7EhD,KAAM,EAAA8hL,yBACN9+K,MAAK,EAFwE,EAKpE,EAAAs8I,iBAAmB,SAC5Bt8I,EACA++K,GAC0B,OAC1B/hL,KAAM,EAAAgiL,2BACND,mBAAkB,EAClB/+K,MAAK,EAHqB,EAMjB,EAAAo8I,eAAiB,SAACp8I,EAAwBlC,GAAwC,OAC3Fd,KAAM,EAAAiiL,yBACNnhL,MAAK,EACLkC,MAAK,EAHsF,EAMlF,EAAAk/K,OAAS,SAClBr7D,EACAxvE,EACA4U,EACA47B,GACgB,OAChB7nF,KAAM,EAAAmiL,OACNl2H,UAAS,EACT5U,QAAO,EACPwvE,iBAAgB,EAChBh/B,oBAAmB,EALH,EAQP,EAAAu6F,SAAW,SAACv7D,GAAyD,OAC9E7mH,KAAM,EAAAqiL,SACNx7D,iBAAgB,EAF8D,EAKrE,EAAAg6B,YAAc,WAA0B,OACjD7gJ,KAAM,EAAAsiL,yBAD2C,EAIxC,EAAAthC,cAAgB,WAA4B,OACrDhhJ,KAAM,EAAAuiL,2BAD+C,EAI5C,EAAAxhC,YAAc,SAACjgJ,GAAqC,OAC7Dd,KAAM,EAAAwiL,yBACN1hL,MAAK,EAFwD,C,+BCvHjE,WAAgB,OAAS,2CAA2C,OAAS,2CAA2C,SAAW,6C,yOCAnI,eAEA,WAUMR,EAAiC,CACnCyK,MAAO,GACP/H,MAAO,KACPkI,MAAO,KACPE,KAAM,CAAC,GAGE,EAAAq3K,kBAAmB,IAAAp5G,aAAY,CACxC1zD,KAAM,cACNrV,aAAY,EACZgpE,SAAU,CACNo5G,qBAAsB,SAElBjiL,EAEAC,GAOJ,EACAiiL,0BAA2B,SACvBliL,EACAC,GAKM,MAAwBA,EAAOklB,QAA7BpU,EAAU,aAAExO,EAAK,QAEzBy9C,OAAOyhI,OAAOzhL,GAAO,IAAA27D,kBAAiB37D,EAAO+Q,EAAYxO,GAC7D,EACA4/K,4BAA6B,SACzBniL,EACAC,GAMM,MAAsCA,EAAOklB,QAA3C5iB,EAAK,QAAEwO,EAAU,aAAEI,EAAY,eAEvC6uC,OAAOyhI,OAAOzhL,GAAO,IAAA47D,oBAAmB57D,EAAO+Q,EAAYxO,EAAO4O,GACtE,EACAixK,0BAA2B,SACvBpiL,EACAC,GAMM,MAA+BA,EAAOklB,QAApC5iB,EAAK,QAAElC,EAAK,QAAE0Q,EAAU,aAEhCivC,OAAOyhI,OAAOzhL,GAAO,IAAAqiI,kBAAiBriI,EAAO+Q,EAAYxO,EAAOlC,GACpE,EACAgiL,iBAAkB,SACdriL,EACAC,GAIQ,IAAAuR,EAAwBvR,EAAOklB,QAAO,oBAE9C66B,OAAOyhI,OAAOzhL,EAAOH,GAAc,IAAAm8D,wBAAuBn8D,EAAcG,EAAOwR,GACnF,GAEJs3D,cAAe,SAACC,GACZA,EAAQC,QAAQ,uBAAuB,WACnC,OAAOnpE,CACX,GACJ,IAIA,EAAAoiL,sBADS,EAMT,EAAAD,iBAAiB/2K,SAAO,qBAJxB,EAAAi3K,0BAAyB,4BACzB,EAAAC,4BAA2B,8BAC3B,EAAAC,0BAAyB,4BACzB,EAAAC,iBAAgB,mBAGpB,UAAe,EAAAL,iBAAiB/4G,O,63BCjGhC,kBACA,cACA,WAIa,EAAAmlF,eAAiB,WAC1B,IAAMzrH,GAAW,IAAA21D,eAkBjB,MAAO,CACH61D,YAjBgB/xJ,EAAMkG,aACtB,SAAC2F,EAAyBq6K,GACtB,GAAIr6K,EAAMs6K,SAAWt6K,EAAMu6K,QAA3B,CACI,IAAMjiJ,EACsB,iBAAjB+hJ,EAA4BA,EAAeA,EAAa/hJ,UAAYoC,EAASpC,SAClFtsB,EAAiC,iBAAjBquK,EAA4B,GAAKA,EAAaruK,QAAU,GAE9EyoC,OAAOl3C,MAAK,IAAAi9K,4BAA2B,UAAGliJ,GAAQ,OAAGtsB,IAAW,SAEpE,MAEA,UAAQD,KAAKsuK,EACjB,GACA,CAAC3/I,IAMT,C,yEC5BA,eACA,WAaA,UAVyB,SAACnsB,G,MACtB,OAAO,EAAP,IACK,EAAAxa,WAAW01H,qBAAsBl7G,EAAa,EAAAiwC,qBAAqBirE,sBAAwB,KAC5F,EAAC,EAAA11H,WAAW0pI,uBAAwBlvH,EAAa,EAAAiwC,qBAAqBi/E,wBAA0B,KAChG,EAAC,EAAA1pI,WAAWy1H,cAAej7G,EAAa,EAAAiwC,qBAAqBgrE,eAAiB,KAC9E,EAAC,EAAAz1H,WAAW6pI,gBAAiBrvH,EAAa,EAAAiwC,qBAAqBo/E,iBAAmB,KAClF,EAAC,EAAA7pI,WAAWyxB,aAAejX,EAAa,EAAAiwC,qBAAqBh5B,cAAiC,K,CAEtG,C,4MCZA,IASY+/H,EAKAQ,EAdZ,cACA,WACA,cAEA,cACA,cAEM/xJ,EAAK,UAAWC,KAAK,YAE3B,SAAYsxJ,GACR,cACA,eACH,CAHD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAK/B,SAAYQ,GACR,oBACA,iBACH,CAHD,CAAYA,IAAe,kBAAfA,EAAe,KAU3B,IAAM54C,EAAkC,UAAM/4G,MAAK,SAACC,G,MACxC4O,EAA6C5O,EAAK,SAAxC,EAAmCA,EAAK,KAAxCoW,OAAI,IAAG,EAAAs7I,EAAgB9nG,QAAO,EAE1C7oD,EAAWf,EAAMe,UAAYmwJ,EAAoBrqF,KAEjD53B,EAAkB,UAAMtc,WAAW,WACzC,OAAKsc,GAIE,IAAAC,cACH,+BACIxuC,UAAWf,EAAG,YAAU,GACpB,oBAAoB,GACpB,EAAC,yBAAkByW,KAAS,EAC5B,EAAC,6BAAsBrV,KAAa,E,KAGxC,+BAAKL,UAAWf,EAAG,YAAaiP,IAEpCqgC,GAbO,IAef,IAEA,UAAe6pE,C,q7BChDf,kBACA,cAEA,cAEA,cACA,WACA,WACA,WACA,cACA,cACA,WACA,cACA,cACA,UACA,cAEA,cACA,cAGA,WAEMn5G,EAAK,UAAWC,KAAK,WAMrBwmL,EAGF,CACAC,uBAAwB,yFACxBC,aAAc,+EACdC,mBAAoB,qFACpBC,kCACI,oGACJC,kBAAmB,oFACnBC,8BACI,gGACJC,uCACI,0GAGFC,EAAuF,CACzFC,oBAAqB,sFACrBC,uCACI,yGACJP,mBAAoB,sFAgBlBQ,EAAyF,CAC3Fl6E,eAAgB,CACZm6E,WAAY,qEACZC,oBAAqB,8EACrBC,eAAgB,yEAChBC,YAAa,sEACbC,eAAgB,yEAChBC,gBAAiB,IAErBt6E,aAAc,CACVi6E,WAAY,mEACZC,oBAAqB,4EACrBC,eAAgB,uEAChBC,YAAa,oEACbC,eAAgB,uEAChBC,gBAAiB,IAErBr6E,kBAAmB,CACfg6E,WAAY,wEACZC,oBAAqB,iFACrBC,eAAgB,4EAChBC,YAAa,yEACbC,eAAgB,4EAChBC,gBAAiB,IAErBp6E,yBAA0B,CACtB+5E,WAAY,+EACZC,oBAAqB,wFACrBC,eAAgB,mFAChBC,YAAa,gFACbC,eAAgB,GAChBC,gBAAiB,IAErBn6E,cAAe,CACX85E,WAAY,oEACZC,oBAAqB,6EACrBC,eAAgB,wEAChBC,YAAa,qEACbC,eAAgB,GAChBC,gBAAiB,IAErBl6E,cAAe,CACX65E,WAAY,oEACZC,oBAAqB,6EACrBC,eAAgB,wEAChBC,YAAa,qEACbC,eAAgB,GAChBC,gBAAiB,IAErBj6E,aAAc,CACV45E,WAAY,mEACZC,oBAAqB,4EACrBC,eAAgB,uEAChBC,YAAa,oEACbE,gBAAiB,wEACjBD,eAAgB,IAEpB/5E,WAAY,CACR25E,WAAY,iEACZC,oBAAqB,0EACrBC,eAAgB,qEAChBC,YAAa,kEACbE,gBAAiB,sEACjBD,eAAgB,IAEpB95E,gBAAiB,CACb05E,WAAY,sEACZC,oBAAqB,+EACrBC,eAAgB,0EAChBC,YAAa,uEACbE,gBAAiB,2EACjBD,eAAgB,IAEpB55E,gBAAiB,CACbw5E,WAAY,sEACZC,oBAAqB,+EACrBC,eAAgB,0EAChBC,YAAa,uEACbC,eAAgB,GAChBC,gBAAiB,IAErB95E,cAAe,CACXy5E,WAAY,oEACZC,oBAAqB,6EACrBC,eAAgB,wEAChBC,YAAa,qEACbC,eAAgB,GAChBC,gBAAiB,KAInBjmF,EAAwCthG,EAAMC,MAAK,SAACC,G,oBAElDk0F,EASAl0F,EAAK,sBARLsnL,EAQAtnL,EAAK,mBAPLunL,EAOAvnL,EAAK,wCANLwnL,EAMAxnL,EAAK,oBALLynL,EAKAznL,EAAK,4BAJL0nL,EAIA1nL,EAAK,oBAHL2nL,EAGA3nL,EAAK,qBAFLyhG,EAEAzhG,EAAK,iBADL4nL,EACA5nL,EAAK,6BAEDa,GAAM,IAAAC,kBAAgB,EAExB6gG,GAAgC,IAAAn9F,UAAQ,WAC1C,OAAK0vF,IAGA,IAAAk0E,qCAAoCl0E,IAIlCA,EAAsByN,+BANlB,IAOf,GAAG,CAACzN,IAEE2zF,GAA6B,IAAArjL,UAAQ,WACvC,OAAKm9F,EAKD,gBAAC,UAAc,CAACzgG,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,IAAKF,UAAQ,GACrET,EAAEulL,EAAqCzkF,KALrC,IAQf,GAAG,CAACA,EAA+B9gG,IAE7BinL,GAAgC,IAAAtjL,UAAQ,WAC1C,OAAK0vF,IAGA,IAAAk0E,qCAAoCl0E,IAIlCA,EAAsB4zF,+BANlB,IAOf,GAAG,CAAC5zF,IAEE6zF,GAA6B,IAAAvjL,UAAQ,WACvC,OAAKsjL,EAKD,gBAAC,UAAc,CAAC5mL,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,IAAKF,UAAQ,GACrET,EAAE+lL,EAAqCkB,KALrC,IAQf,GAAG,CAACA,EAA+BjnL,IAE7BmnL,IACA9zF,IACF,IAAAk0E,qCAAoCl0E,KACnCyN,EAECsmF,IACA/zF,IACF,IAAAk0E,qCAAoCl0E,KACnC4zF,EAECI,GAAkE,QAA9C,EAAqC,QAArC,EAAAh0F,aAAqB,EAArBA,EAAuBi0F,sBAAc,eAAE58K,eAAO,eAAE68K,aAAc,KAClFC,EAAkD,QAAhC,EAAAn0F,aAAqB,EAArBA,EAAuB9pE,iBAAS,eAAE0uB,MAAK,SAACt4B,GAC5D,OAAOA,aAAQ,EAARA,EAAUtU,MAAOg8K,CAC5B,IACMI,GACqD,QAAvD,EAA8C,QAA9C,EAAqC,QAArC,EAAAp0F,aAAqB,EAArBA,EAAuBi0F,sBAAc,eAAE58K,eAAO,eAAEoD,eAAO,eAAEmqC,MAAK,SAACn1C,GAC3D,QAAQA,aAAM,EAANA,EAAQuxD,KACpB,MAAM,KAEJka,GAC8B,yBAA/Bk5G,aAAoB,EAApBA,EAAsBrlL,MACjBolL,aAAe,EAAfA,EAAiB1yB,aACjB0yB,aAAe,EAAfA,EAAiBzyB,aAAe,KACpCniC,EACF40D,GAAmBC,EACbznL,EAA8C,QAA5C,EAAAkmL,aAAoB,EAApBA,EAAuBsB,EAAgBplL,aAAK,eAAGqlL,EAAqBrlL,MAAO,CACzE0K,QAAS06K,EAAgB/wK,OAAS,GAAK,IAE3C,KAEJ,GAA0B,IAAAixK,aAAY,CACxCC,SAAUp5G,IADNn9C,EAAI,OAAE2qF,EAAa,gBAIrB84B,GAAW,aAASzjH,IAASA,GAAQ,EACrCwjH,KACFvhD,KACA,IAAAk0E,qCAAoCl0E,MACnCA,aAAqB,EAArBA,EAAuBu0F,kCAAiCv0F,aAAqB,EAArBA,EAAuBsG,iCAIpF,OAD2BtG,aAAqB,EAArBA,EAAuB9qE,UAAW,EAAAmsC,yBAAyBC,iBAG9E,uBAAK90D,UAAWf,EAAG,YACf,gBAAC,UAAQ,CACLe,UAAWf,EAAG,aACd81I,UAAWA,EACXC,SAAUA,EACVC,cAAe90I,EAAE,8DACjBsxC,KAAMyqE,EACNg5B,gBAAiB/0I,EAAE,4DAGvB,uBAAKH,UAAWf,EAAG,SAAU,oBACxB,IAAAyoK,qCAAoCl0E,IACjC,gBAAC,UAAO,CACJnzF,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YAAawmL,IAEZ,WAAM,OACH,gBAAC,UAAM,CACHjqK,aAAW,EACXC,iBAAe,EACf3c,MAAO,EAAA2N,gBAAgB8O,QACvBlc,QAAS+lL,EACTniL,aAAcs8F,GAEb9gG,EAAE,wDARJ,KAenB,gBAAC,UAA2B,CACxBqzF,sBAAuBA,EACvBw0F,qBAAmB,EACnBT,qBAAsBA,EACtBN,qBAAsBA,EACtBgB,wBAAyBlB,EACzBC,oBAAqBA,EACrBE,6BAA8BA,MAMnB1zF,aAAqB,EAArBA,EAAuB9qE,UAAW,EAAAmsC,yBAAyBv3B,iBAG9E,uBAAKt9B,UAAWf,EAAG,YACf,gBAAC,UAAQ,CACLe,UAAWf,EAAG,aACd81I,UAAWA,EACXC,SAAUA,EACVC,cAAe90I,EAAE,8DACjBsxC,KAAMyqE,EACNg5B,gBAAiB/0I,EAAE,yDAA0D,CACzEgC,YAAa,WACbD,OAAqC,QAA9B,EAAAsxF,aAAqB,EAArBA,EAAuBz+E,eAAO,eAAExT,SAAU,MAGzD,gBAAC,UAAiB,CACdiyF,sBAAuBA,EACvB00F,mBAAoBZ,EACpBA,oBAAqBA,EACrBV,mBAAoBA,EACpBC,wCAAyCA,EACzCC,oBAAqBA,EACrBkB,qBAAqB,EACrBT,sBAAsB,EACtBP,oBAAqBA,EACrBC,qBAAsBA,EACtBplL,gBAAiB,EAAAC,4BAA4Bi9F,SAC7CopF,uBAAwB,EAAA7nL,oBAAoB0B,WAC5CklL,6BAA8BA,IAElC,uBAAKlnL,UAAWf,EAAG,SAAU,oBACxB,IAAAyoK,qCAAoCl0E,IACjC,gBAAC,UAAO,CACJnzF,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YAAa0mL,IAEZ,W,MAAM,OACH,gBAAC,UAAM,CACHnqK,aAAW,EACXC,iBAAe,EACf3c,MAAO,EAAA2N,gBAAgB8O,QACvBlc,QAASkmL,EACTtiL,aAAcyiL,GAEbjnL,EAAE,wDAAyD,CACxDgC,YAAa,WACbD,OAAqC,QAA9B,EAAAsxF,aAAqB,EAArBA,EAAuBz+E,eAAO,eAAExT,SAAU,I,MAYjF,uBAAKvB,UAAWf,EAAG,YACf,gBAAC,UAAQ,CACLe,UAAWf,EAAG,aACd+1I,SAAUA,EACVD,UAAWA,EACXE,cACI2yC,EACMznL,EAAE,oDAAqD,CACnDioL,SAAUr1D,IAEd5yH,EAAE,8DAEZsxC,KAAMyqE,EACNg5B,gBACI0yC,EAAuB70D,EAAgB5yH,EAAE,yDAGjD,uBAAKH,UAAWf,EAAG,YACnB,gBAAC,UAAiB,CACdu0F,sBAAuBA,EACvB00F,oBAAkB,EAClBZ,oBAAqBA,EACrBV,mBAAoBA,EACpBC,wCAAyCA,EACzCC,oBAAqBA,EACrBkB,qBAAmB,EACnBT,qBAAsBA,EACtBP,oBAAqBA,EACrBC,qBAAsBA,EACtBplL,gBAAiB,EAAAC,4BAA4B+8F,QAC7CspF,uBAAwB,EAAA7nL,oBAAoBC,YAC5C2mL,6BAA8BA,IAElC,gBAAC,UAAwB,CACrB1zF,sBAAuBA,EACvBuN,iBAAkBA,IAIlC,IAEA,UAAeL,C,uHCnZF,EAAA2nF,uCAAyC,SAClD35K,GAEA,QAASA,CACb,C,+ECPA,cAIM45K,IAAwE,MACzE,EAAAtqG,mCAAmCuqG,mBAAoB,SAACllL,G,MACrD,MAAiC,0BAAX,QAAf,EAAAA,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,KAC5B,EACA,EAAC,EAAAkxB,mCAAmCwqG,sBAAuB,SAACnlL,G,MACxD,MAAiC,6BAAX,QAAf,EAAAA,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,KAC5B,EACA,EAAC,EAAAkxB,mCAAmC0xB,uBAAwB,SAACrsG,G,MACzD,MAAO,iBAAiB20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GAC5D,EACA,EAAC,EAAAmmE,mCAAmCmxB,gCAAiC,SAAC9rG,G,MAClE,MAAO,6CAA6C20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GACxF,EACA,EAAC,EAAAmmE,mCAAmC6zB,iBAAkB,SAACxuG,GACnD,SAAI,aAAa20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAAiC,OAA1BzgC,aAAK,EAALA,EAAOolL,gBAKrE,EACA,EAAC,EAAAzqG,mCAAmC2xB,wBAAyB,SAACtsG,G,MAC1D,SACI,2BAA2B20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,MAC7D,kDAAkDk0H,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,IAM1F,EACA,EAAC,EAAAmmE,mCAAmC4zB,cAAe,SAACvuG,G,MAChD,OAAI,sBAAsB20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAIrD,kBAAkBk0H,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GAC7D,EACA,EAAC,EAAAmmE,mCAAmCoxB,qBAAsB,SAAC/rG,G,MACvD,MAAO,4BAA4B20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GACvE,EACA,EAAC,EAAAmmE,mCAAmC0qG,mBAAoB,SAACrlL,G,MACrD,MAAiC,yBAAX,QAAf,EAAAA,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,KAC5B,EACA,EAAC,EAAAkxB,mCAAmC2gD,mBAAoB,SAACt7H,G,MACrD,MAAO,+BAA+B20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GAC1E,EACA,EAAC,EAAAmmE,mCAAmC2zB,mBAAoB,SAACtuG,G,MAErD,MAAO,+BAA+B20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GAC1E,EACA,EAAC,EAAAmmE,mCAAmCqxB,6BAA8B,SAAChsG,G,MAC/D,MAAO,2CAA2C20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GACtF,EACA,EAAC,EAAAmmE,mCAAmCsxB,yBAA0B,SAACjsG,G,MAC3D,MAAO,mCAAmC20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GAC9E,EACA,EAAC,EAAAmmE,mCAAmCuxB,iCAAkC,SAAClsG,G,QACnE,MACI,kCAAkC20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,KAAiC,aAAX,QAAf,EAAAxU,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,KAElG,EACA,EAAC,EAAAkxB,mCAAmCwxB,mCAAoC,SAACnsG,G,QACrE,MACI,gDAAgD20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,KACtD,kBAAX,QAAf,EAAAxU,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,KAEzB,EACA,EAAC,EAAAkxB,mCAAmC+xB,qCAAsC,SAAC1sG,G,MACvE,OACK,eAAe20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC9C,6BAA6Bk0H,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,MACzC,0CAAX,QAAf,EAAAzgC,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,KAEzB,EACA,EAAC,EAAAkxB,mCAAmC2qG,8BAA+B,SAACtlL,G,MAChE,MACI,UAAU20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5C,uCAAuCk0H,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GAE/E,EACA,EAAC,EAAAmmE,mCAAmCyxB,8BAA+B,SAACpsG,G,MAChE,MACI,UAAU20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5C,uEAAuEk0H,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GAE/G,EACA,EAAC,EAAAmmE,mCAAmC4qG,8BAA+B,SAACvlL,G,MAChE,MACI,kCAAkC20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC1C,OAA1BzgC,aAAK,EAALA,EAAOolL,oBACU,QAAf,EAAAplL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEipF,OAE3B,EACA,EAAC,EAAA3X,mCAAmCqyB,cAAe,SAAChtG,G,MAChD,MAAO,8CAA8C20J,MAAmB,QAAd,EAAA30J,EAAMqJ,gBAAQ,eAAEmL,UAAW,GACzF,EACA,EAAC,EAAAmmE,mCAAmC6qG,gDAAiD,SAACxlL,G,QAClF,MACI,2CAA2C20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5C,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBAGU,qBAAhB,QAFD,EACIplL,aAAK,EAALA,EAAOqJ,gBACV,eAAEo8K,UAEX,EACA,EAAC,EAAA9qG,mCAAmC+qG,4CAA6C,SAAC1lL,G,QAC9E,MACI,2CAA2C20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5C,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBAGU,gBAAhB,QAFD,EACIplL,aAAK,EAALA,EAAOqJ,gBACV,eAAEo8K,UAEX,EAEA,EAAC,EAAA9qG,mCAAmCgrG,oDAAqD,SAAC3lL,G,UACtF,MACI,2BAA2B20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5B,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SAGV,WAAX,QAFD,EACInhD,aAAK,EAALA,EAAOqJ,gBACV,eAAEogD,OACH,gBAAgBkrG,MAGX,QAFD,EACI30J,aAAK,EAALA,EAAOqJ,gBACV,eAAEmL,UAAW,GAG1B,EACA,EAAC,EAAAmmE,mCAAmCirG,gDAAiD,SAAC5lL,G,QAClF,MACI,2BAA2B20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5B,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SAGV,qBAAX,QAFD,EACInhD,aAAK,EAALA,EAAOqJ,gBACV,eAAEogD,KAEX,EACA,EAAC,EAAAkxB,mCAAmCkrG,2DAA4D,SAAC7lL,G,QAC7F,MACI,2BAA2B20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5B,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SAGV,2BAAX,QAFD,EACInhD,aAAK,EAALA,EAAOqJ,gBACV,eAAEogD,KAEX,EACA,EAAC,EAAAkxB,mCAAmCmrG,gDAAiD,SAAC9lL,G,UAClF,MACI,2BAA2B20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5B,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBACmB,WAAX,QAAf,EAAAplL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,mDAAmDkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAE5F,EACA,EAAC,EAAAmmE,mCAAmCorG,mCAAoC,SAAC/lL,G,UACrE,MACI,2BAA2B20J,MAAK30J,aAAK,EAALA,EAAOwsG,cAAc/rE,OAAQ,KAC5B,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBACmB,WAAX,QAAf,EAAAplL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,uCAAuCkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAEhF,EACA,EAAC,EAAAmmE,mCAAmCC,mCAAoC,SAAC56E,G,QACrE,MACI,aAAa20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KAChD,wCAAwCk0H,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAEjF,EACA,EAAC,EAAAmmE,mCAAmCqrG,0CAA2C,SAAChmL,G,QAE5E,MACI,kBAAkB20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACrD,+BAA+Bk0H,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAExE,EACA,EAAC,EAAAmmE,mCAAmCk+C,+BAAgC,SAAC74H,G,UACjE,MACI,0BAA0B20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACnC,uBAAX,QAAf,EAAAzgC,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,YAAYkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAErD,EACA,EAAC,EAAAmmE,mCAAmCsrG,iCAAkC,SAACjmL,G,UACnE,MACI,2BAA2B20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACpC,WAAX,QAAf,EAAAzgC,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,yBAAyBkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAElE,EACA,EAAC,EAAAmmE,mCAAmCq9C,wCAAyC,SAACh4H,G,YAC1E,MACI,kCAAkC20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACpC,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBACmB,WAAX,QAAf,EAAAplL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,kCAAkCkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAE3E,EACA,EAAC,EAAAmmE,mCAAmCu9C,sCAAuC,SAACl4H,G,YACxE,MACI,uCAAuC20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACzC,SAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBACmB,WAAX,QAAf,EAAAplL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,kCAAkCkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAE3E,EACA,EAAC,EAAAmmE,mCAAmCw9C,sCAAuC,SAACn4H,G,YACxE,MACI,kCAAkC20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACpC,UAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBACmB,WAAX,QAAf,EAAAplL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,gCAAgCkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAEzE,EACA,EAAC,EAAAmmE,mCAAmC09C,oCAAqC,SAACr4H,G,YACtE,MACI,uCAAuC20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACzC,SAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBACmB,WAAX,QAAf,EAAAplL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,gCAAgCkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAEzE,EACA,EAAC,EAAAmmE,mCAAmCurG,mBAAoB,SAAClmL,G,UACrD,MACI,+BAA+B20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACjC,SAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBACP,gCAAgCzwB,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAEzE,EACA,EAAC,EAAAmmE,mCAAmCwrG,+BAAgC,SAACnmL,G,YACjE,MACI,+BAA+B20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KACjC,YAAb,QAApB,EAAAzgC,aAAK,EAALA,EAAOwsG,qBAAa,eAAErrD,SACI,OAA1BnhD,aAAK,EAALA,EAAOolL,iBACmB,WAAX,QAAf,EAAAplL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,OACjB,sDAAsDkrG,MAAoB,QAAf,EAAA30J,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEmL,UAAW,GAE/F,EACA,EAAC,EAAAmmE,mCAAmCiyB,+BAAgC,SAAC5sG,G,QACjE,MAAO,WAAW20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KAAiC,2BAAX,QAAf,EAAAzgC,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,KACjF,EACA,EAAC,EAAAkxB,mCAAmCoyB,oCAAqC,SAAC/sG,G,QACtE,MACI,kBAAkB20J,MAAyB,QAApB,EAAA30J,aAAK,EAALA,EAAOwsG,qBAAa,eAAE/rE,OAAQ,KAC3B,2BAAX,QAAf,EAAAzgC,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEogD,KAEzB,E,GAGJ,UAAew7H,C,u7BCtQf,kBACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cAGA,WACA,WAEMrpL,EAAK,UAAWC,KAAK,WAarBsoI,IAAe,MAChB,EAAA50E,kBAAkBC,QAAS,8BAC5B,EAAC,EAAAD,kBAAkBE,OAAQ,6B,GAGzB22H,EAAsCrqL,EAAMC,MAAK,SAACC,GAC5C,IAAAmnB,EAAkGnnB,EAAK,MAAhGonB,EAA2FpnB,EAAK,YAAnFsxB,EAA8EtxB,EAAK,UAAxE4zD,EAAmE5zD,EAAK,SAA9DqF,EAAyDrF,EAAK,WAAlD0H,EAA6C1H,EAAK,QAAzCoqL,EAAoCpqL,EAAK,cAA1BqqL,EAAqBrqL,EAAK,iBAEvGa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,uBAAKJ,UAAWf,EAAG,WACf,uBACIe,UAAWf,EAAG,yBAA0B,CACpC,qCAAsC0F,KAGzC,CAAC+hB,EAAaD,GAAO6H,OAAOhmB,SAASsmB,KAAK,QAE/C,uBAAK5uB,UAAWf,EAAG,aAClB,aAAS2xB,IACN,uBACI5wB,UAAWf,EAAG,QAAS,CACnB,oBAAqB0F,KAGzB,gBAAC,UAAK,CAACuR,OAAQ0a,EAAWxa,SAAU,EAAAC,aAAaC,QAC9C48C,GAAY,wBAAMlzD,UAAWf,EAAG,sB,IAAwBkB,EAAEqnI,EAAgBt0E,I,MAGrF,gBAAC,UAAqB,CAAClzD,UAAWf,EAAG,UACjC,gBAAC,UAAO,CACJe,UAAWf,EAAG,WACdoB,SAAU,EAAAC,oBAAoB0B,WAC9BxB,MAAO,EAAAC,iBAAiBC,MACxBC,YACIgpL,EACI,gBAAC,UAAc,CAACnpL,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD81K,GAEL,OAGP,WAAM,OACH,gBAAC,UAAkB,CACf52E,OAAO,MACPhyG,QAASiG,EACThG,SAAU,gBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqB+W,OACrD7W,gBAAiB,EAAAC,oBAAoB2xG,sBALtC,KAUf,gBAAC,UAAqB,CAAChzG,UAAWf,EAAG,YACjC,gBAAC,UAAO,CACJe,UAAWf,EAAG,WACdoB,SAAU,EAAAC,oBAAoB0B,WAC9BxB,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,mCAIV,WAAM,OACH,gBAAC,UAAkB,CACf4yG,OAAO,MACPhyG,QAAS2oL,EACT1oL,SAAU,gBAAC,UAAW,CAACgV,YAAa,EAAA9U,qBAAqB+W,OACzD7W,gBAAiB,EAAAC,oBAAoB2xG,sBALtC,KAY3B,IAEA,UAAey2E,C,sBC1Gf,IAAYzqL,E,qEAAZ,SAAYA,GACR,qBACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,I,+BCDtB,WAAgB,MAAQ,yDAAyD,OAAS,0DAA0D,SAAW,4D,+BCA/J,WAAgB,KAAO,4CAA4C,cAAc,mDAAmD,iBAAiB,sDAAsD,eAAe,oDAAoD,QAAU,+CAA+C,cAAc,mDAAmD,cAAc,mDAAmD,eAAe,oDAAoD,mBAAmB,wDAAwD,cAAc,mDAAmD,oBAAoB,yDAAyD,yBAAyB,8DAA8D,yBAAyB,8DAA8D,qBAAqB,0DAA0D,yBAAyB,8DAA8D,uBAAuB,4DAA4D,wBAAwB,6DAA6D,8BAA8B,mEAAmE,+BAA+B,oEAAoE,kCAAkC,uEAAuE,oBAAoB,yDAAyD,wBAAwB,6DAA6D,OAAS,8CAA8C,OAAS,8CAA8C,SAAW,gD,+BCAzyD,WAAgB,YAAY,8BAA8B,sBAAsB,wCAAwC,2BAA2B,6CAA6C,yBAAyB,2CAA2C,0BAA0B,4CAA4C,8BAA8B,gDAAgD,yBAAyB,2CAA2C,OAAS,2BAA2B,SAAW,6B,yICD3gB,cAOA,WAEA,UAIA,WAKA,WAEa,EAAAoyG,WAAa,SAAC15B,GACvB,MAAO,kBAAkBsgF,KAAKtgF,EAClC,EAEA,IAAMkyG,EAA0B,IAAIx7J,IAAI,CACpC,EAAAkpC,sBACA,EAAAI,6BACA,EAAAS,sBACA,EAAAQ,iCACA,EAAAb,8BACA,EAAA+xH,iCAGEC,EAA8B,IAAI17J,IAAI,CACxC,EAAAojF,kBAAkB2qD,iCAClB,EAAA3qD,kBAAkB0qD,mBAClB,EAAA1qD,kBAAkBu4E,cAClB,EAAAv4E,kBAAkBw4E,YAGhBC,EAAkC,IAAI77J,IAAI,CAC5C,EAAA4vD,mCAAmC6zB,gBACnC,EAAA7zB,mCAAmC4zB,aACnC,EAAA5zB,mCAAmC2gD,kBACnC,EAAA3gD,mCAAmC2zB,kBACnC,EAAA3zB,mCAAmC0qG,kBACnC,EAAA1qG,mCAAmC2qG,6BACnC,EAAA3qG,mCAAmC4qG,6BACnC,EAAA5qG,mCAAmC6qG,+CACnC,EAAA7qG,mCAAmC+qG,2CACnC,EAAA/qG,mCAAmCirG,+CACnC,EAAAjrG,mCAAmCkrG,0DACnC,EAAAlrG,mCAAmCgrG,mDACnC,EAAAhrG,mCAAmCmrG,+CACnC,EAAAnrG,mCAAmCorG,kCACnC,EAAAprG,mCAAmCC,kCACnC,EAAAD,mCAAmCk+C,8BACnC,EAAAl+C,mCAAmCsrG,gCACnC,EAAAtrG,mCAAmCq9C,uCACnC,EAAAr9C,mCAAmCu9C,qCACnC,EAAAv9C,mCAAmCw9C,qCACnC,EAAAx9C,mCAAmC09C,mCACnC,EAAA19C,mCAAmCurG,kBACnC,EAAAvrG,mCAAmCwrG,8BAInC,EAAAxrG,mCAAmCwqG,qBACnC,EAAAxqG,mCAAmCuqG,oBAG1B,EAAAj3E,uBAAyB,SAACruG,G,MACnC,OAAOA,aAAM,EAANA,EAAQI,SAAwB,QAAf,EAAAJ,aAAM,EAANA,EAAQklB,eAAO,eAAE9kB,QAAS,IACtD,EAEa,EAAA6mL,iBAAmB,SAACjnL,GAC7B,IAAMouG,GAAc,IAAAC,wBAAuBruG,GAE3C,UACK,IAAAsuG,qBAAoBF,KAAgBA,aAAW,EAAXA,EAAa9uG,QAAS,EAAAivG,kBAAkBC,uBAC5E,IAAAzC,wBAAuBqC,KAAgBA,aAAW,EAAXA,EAAa9uG,QAAS,EAAA0sG,wBAAwBn2E,kBAKtF,IAAAk2E,wBAAuBqC,KAAgBA,aAAW,EAAXA,EAAa9uG,QAAS,EAAA0sG,wBAAwBC,oBAIrF,IAAAqC,qBAAoBF,KAAgBA,aAAW,EAAXA,EAAa9uG,QAAS,EAAAivG,kBAAkBw4E,YAK5EJ,EAAwBr7J,IAAItrB,EAAOV,QACnC,IAAA4nL,0BAAyB94E,KACxB,IAAAE,qBAAoBF,IAAgBy4E,EAA4Bv7J,IAAI8iF,aAAW,EAAXA,EAAa9uG,QACjF,IAAAu7E,gCAA+BuzB,IAAgB44E,EAAgC17J,IAAI8iF,aAAW,EAAXA,EAAatzB,SAEzG,C,u8CCnGA,kBACA,cAEA,cACA,WACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,UACA,WACA,cACA,aACA,cACA,aACA,WACA,WACA,WACA,cACA,cACA,WACA,WACA,aACA,WAEM9+E,EAAK,UAAWC,KAAK,WA+O3B,UAvOgD,SAACI,GACrC,IAAAQ,EAA2CR,EAAK,QAAvCia,EAAkCja,EAAK,gBAAtBka,EAAiBla,EAAK,aAChDa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAEJ,IAAMoN,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1B,IAAgD,UAAMv9B,SAAwB6V,GAAa,GAA1FI,EAAmB,KAAEC,EAAsB,KAElD,UAAMrP,WAAU,WACZqP,EAAuBL,EAC3B,GAAG,CAACA,IAEJ,IAAMM,EAAgB,UAAMhW,SAAQ,WAAM,oBAAiB0V,EAAjB,GAAgC,CAACA,IAErEO,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBJ,cAAa,EACbK,SAAU,SAACC,EAAQC,G,MACTb,GAAe,aAAgBY,IAErC,IAAAgwK,kBAAiB5wK,GAEjBD,EAAgB,EAAD,OACRK,GACCJ,EAAa,EAAAiwC,qBAAqBzjB,WACjC,MACM,EAAAyjB,qBAAqB35C,WAAOlK,E,GAEjC,CAAC,GACJ4T,IAGPa,EAAcI,WAAW,CAAC,GAEtB3a,GACAA,GAER,IAGE4a,EAAe,UAAM5W,SAAQ,WAC/B,OAAO,IAAA6W,aAAYb,EAAeC,EAAOK,UAAW,IAAAO,aAAYf,EAAqBJ,EACzF,GAAG,CAACM,EAAeC,EAAOK,OAAQR,EAAqBJ,IAEvD,OACI,gCAAMW,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAACM,MAAOY,EAAE,+CAAgDL,QAASA,KAE5F,wBAAC,UAAa,KACV,wBAAC,UAAW,CACRE,UAAWf,EAAG,QAAS,uBACvBiZ,KAAM,EAAAlZ,WAAW6d,cACjBxZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6d,eAChC1B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6d,eACrCxW,MAAOlG,EAAE,mEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAmB,CAChB0F,YAAa7E,EAAE,yEACfoE,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6d,eAChCT,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GATX,IAahB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAWgnC,QACjB3iC,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgnC,SAChC7qB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgnC,SACrC3/B,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBsoC,gBAAiB,EAAAtjD,oBAAoBu+F,UAEpC,SAACv/F,GAAU,OACR,wBAAC,UAAK,CACF0c,eAAgB,SAACC,GAAa,+BAAC,UAAO,KAAK,EAAAC,aAAaC,gBAAgBF,IAA1C,EAC9B/D,KAAM,EAAAlZ,WAAWgnC,QACjBzhC,MAAOwV,EAAOK,OAAO,EAAApb,WAAWgnC,UAAY,GAC5ChhC,YAAa7E,EAAE,oEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAXX,IAehB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAW2qH,eACjBtmH,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2qH,gBAChCxuG,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2qH,gBACrCtjH,MAAOlG,EAAE,uEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW2qH,gBAChC3kH,YAAa7E,EACT,6EAEJic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfhD,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,EACfixB,kBAAgB,GAZZ,IAgBhB,wBAAC,UAAW,CACRh2B,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAW4qH,eACjBvmH,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW4qH,gBAChCzuG,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW4qH,gBACrCvjH,MAAOlG,EAAE,uEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW4qH,gBAChC5kH,YAAa7E,EACT,6EAEJic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfhD,gBAAiB,EAAA2a,8BAA8Bza,YAC/CgD,iBAAe,EACfixB,kBAAgB,GAZZ,KAiBpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRh2B,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAW6qH,aACjBxmH,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6qH,cAChC1uG,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6qH,cACrCxjH,MAAOlG,EAAE,kEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6qH,cAChC7kH,YAAa7E,EAAE,wEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfhD,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,EACfixB,kBAAgB,GAVZ,IAcfiL,EAAYopJ,yBACT,wBAAC,UAAW,CACRrqL,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAW2d,YACjBtZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2d,aAChCxB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2d,aACrCtW,MAAOlG,EAAE,+DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAsB,CACnB+E,aAAc0V,EAAOK,OAAO,EAAApb,WAAW2d,aACvCrY,aAAcyV,EAAOK,OAAO,EAAApb,WAAW4d,eACvCrY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW2d,aAChC3X,YAAa7E,EAAE,qEACfqE,SAAU,SAACW,EAAQQ,GACfrG,EAAM8c,SAASjX,GACf4U,EAAOsB,cAAc,EAAArc,WAAW4d,cAAejX,EACnD,EACAjB,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GAdX,IAmBhB,wBAAC,EAAA+sI,oBAAmB,CAAC9xI,UAAWf,EAAG,QAAS,mBAIxD,wBAAC,UAAmB,CAAC+d,aAAW,GAC5B,+BAAKhd,UAAWf,EAAG,qBACf,wBAAC,UAAe,CAACua,aAAcI,EAAqBL,gBAAiBM,KAEzE,wBAAC,UAAM,CACHrZ,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZwC,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,kDAKvB,C,+BC1QA,WAAgB,eAAiB,mCAAmC,wBAA0B,4CAA4C,0BAA4B,8CAA8C,kCAAkC,oDAAoD,kCAAkC,oDAAoD,iDAAiD,mEAAmE,uBAAyB,2CAA2C,sBAAwB,0CAA0C,wBAA0B,4CAA4C,yBAA2B,6CAA6C,4BAA8B,gDAAgD,wBAA0B,4CAA4C,qBAAuB,yCAAyC,qBAAuB,yCAAyC,oBAAsB,wCAAwC,6BAA6B,+CAA+C,gCAAgC,kDAAkD,gCAAgC,kDAAkD,0BAA0B,4CAA4C,YAAc,gCAAgC,MAAQ,0BAA0B,IAAM,wBAAwB,2BAA6B,+CAA+C,uBAAyB,2CAA2C,OAAS,2BAA2B,SAAW,6B,+BCA7rD,WAAgB,eAAe,oCAAoC,sBAAsB,2CAA2C,uBAAuB,4CAA4C,OAAS,8BAA8B,SAAW,gC,0cCDzP,kBAyCA,UAf6B,WACnB,QAAwC,UAAMwD,SAA2B,CAAC,GAAE,GAA3EyuG,EAAe,KAAEkrB,EAAkB,KACpC,IAAgD,UAAM35H,SAA+B,CAAC,GAAE,GAAvF27C,EAAmB,KAAEy9E,EAAsB,KAC5C,IAA4C,UAAMp5H,SAA6B,CAAC,GAAE,GAExF,MAAO,CACHyuG,gBAAe,EACfkrB,mBAAkB,EAClBh+E,oBAAmB,EACnBy9E,uBAAsB,EACtBv9E,kBAPoB,KAQpB+9E,qBAR0C,KAUlD,C,0LCrCA,eAEa,EAAA+sD,oBAAsB,SAACtnL,GAChC,OAAAA,EAAMunL,kBAAkBhlL,KAAxB,EAES,EAAAilL,qBAAuB,SAACxnL,GACjC,OAAAA,EAAMunL,kBAAkBznL,aAAxB,EAES,EAAA2nL,mBAAqB,SAACznL,GAC/B,OAAAA,EAAMunL,kBAAkBx+K,IAAxB,EAES,EAAA2+K,oBAAsB,SAAC1nL,GAGhC,OAF0BA,EAAMunL,kBAAiB,cAE5BpnL,OACzB,EAEa,EAAAwnL,gBAAkB,SAAC3nL,GACtB,MAA0BA,EAAMunL,kBAA9BznL,EAAa,gBAAEiJ,EAAI,OAE3B,OAAIjJ,EAAcU,KAAMuI,aAAI,EAAJA,EAAM6+K,QACnB,EAAAnjE,aAAa99G,QAGpB7G,EAAcO,OAAU0I,IAASA,EAAK6+K,OAC/B,EAAAnjE,aAAaojE,OAGjB,IACX,C,sVC/BA,eACA,UAEA,WAGa,EAAAhmG,oBAAsB,WAC/B,MAAO,mBAAW,UACtB,EAEa,EAAAz9B,uBAAyB,SAClCC,EACAC,GAEA,MAAO,UAAG,EAAAtoD,WAAWymC,MAAK,YAAI4hB,EAAU,YAAIC,EAChD,EAEa,EAAA04B,2BAA6B,SAACjB,GACvC,QAASA,EAAiB,EAAAr5C,qBAAqBC,SACnD,EAEa,EAAAu8C,4BAA8B,SACvC56E,EACA+D,GAEA,MAAO,UAAG/D,EAAK,YAAI+D,EACvB,EAEa,EAAAg0E,4BAA8B,SAACF,GACxC,OAAOA,KAAmBA,EAAe2rG,oBAC7C,EAEa,EAAAhnG,qBAAuB,SAAC3E,GACjC,OAAOA,KAAmBA,EAAe4rG,aAC7C,EAEa,EAAAnnG,8BAAgC,SAACzE,GAC1C,QAAOA,KAAmBA,EAAe6rG,sBAC7C,EAEA,IAAMC,IAAO,MACR,EAAAjnG,mBAAmB9+C,SAAU,2BAC9B,EAAC,EAAA8+C,mBAAmBE,kBAAmB,2BACvC,EAAC,EAAAF,mBAAmBtjE,cAAe,gBACnC,EAAC,EAAAsjE,mBAAmBrjE,aAAc,gBAClC,EAAC,EAAAqjE,mBAAmBvjE,cAAe,gBACnC,EAAC,EAAAujE,mBAAmBxjE,gBAAiB,kB,GAG5B,EAAA+oD,4BAA8B,SACvChnE,EACAojC,G,QAEA,MAAO,YAAKslJ,EAAQ1oL,GAAK,YAAmB,QAAf,EAAAojC,aAAQ,EAARA,EAAUiN,aAAK,eAAEvzB,IAAG,YAAmB,QAAf,EAAAsmB,aAAQ,EAARA,EAAUiN,aAAK,eAAEtzB,IAC1E,EAEa,EAAAkhE,iCAAmC,SAC5C0qG,EACAt0K,GAEA,OAAOs0K,EAAYrkI,MAAM,EAAGjwC,GAAOD,KAAI,SAACyD,GACpC,OAAO,IAAAmvD,6BACHnvD,aAAM,EAANA,EAAS,EAAAsrB,qBAAqBnjC,MAC9B6X,aAAM,EAANA,EAAS,EAAAsrB,qBAAqBC,UAEtC,GACJ,C,+BCjEA,WAAgB,MAAQ,yCAAyC,OAAS,0CAA0C,QAAU,2CAA2C,eAAe,gDAAgD,cAAgB,iDAAiD,OAAS,0CAA0C,SAAW,4C,+BCAvW,WAAgB,OAAS,0CAA0C,OAAS,0CAA0C,SAAW,4C,+ZCDjI,kBACA,WAEa,EAAAopB,oBAAsB,WAC/B,IAAMppB,GAAW,IAAA21D,eAgBjB,MAAO,CACHxsC,iBAAkB,CACdI,QAhBQ,SAACo2H,GACb,UAAQp2H,QAAQ,EAAD,KACRvpB,GACA2/I,GAEX,EAYQtuK,KAVK,SAACsuK,GACV,UAAQtuK,KAAK,EAAD,KACL2uB,GACA2/I,GAEX,GAQJ,C,y3BC1BA,kBACA,WAIM6F,EAA+B,WACjC,OACI,uBAAKrqL,MAAO,GAAIsK,OAAQ,GAAIuF,QAAQ,aAChC,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,0BAAQ3R,GAAI,GAAI8qB,GAAI,GAAIwzB,EAAG,GAAIzxC,KAAM,EAAA5K,qBAAqBkqL,aAC1D,wBACIt/K,KAAK,OACL8E,SAAS,UACTC,EAAE,4HAKtB,EAEAs6K,EAAW/5K,YAAc,aAIhB,EAAAC,WAFkB,CAAC,EAG5B,UAAe85K,C,yECzBf,eA0BA,UAxB2B,SAACE,EAAoBzhL,EAAe0hL,GAC3D,IAAMC,GAAW,IAAAtjL,SAAO,GAElBwqD,GAAW,IAAAntD,aAAY+lL,EAAQC,IAErC,IAAA9gL,YAAU,WAEN,IAAK+gL,EAAS1gL,QAEV,OADA0gL,EAAS1gL,SAAU,EACZ,WAEP,EAGJ,IAAM41B,EAAU+hD,YAAW,WACvB/vB,GACJ,GAAG7oD,GAEH,OAAO,WACH8jH,aAAajtF,EACjB,CACJ,GAAG,CAACgyB,EAAU7oD,GAClB,C,q7BCxBA,kBAEA,WACA,cACA,cACA,WAOM4hL,EAAuCpsL,EAAMC,MAAK,SAACC,GAC7C,IAAAU,EAAsBV,EAAK,UAAhBq2F,EAAWr2F,EAAK,OAE3Ba,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAK,CACFJ,UAAWA,EACXyL,KAAM,gBAAC,UAAQ,CAACxK,UAAW,EAAAC,qBAAqBgG,QAChDwO,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAe5gB,MAErB9X,EAAE,+BAAgC,CAC/Bw1F,OAAM,IAItB,IAEA,UAAe61F,C,kaC/Bf,cAQA,cACA,UACA,cAEM3oL,EAAqC,CAAC,EAE/B,EAAA8L,uBAA2C,CACpDD,QAAS,KACTG,aAAc,KACd/L,cAAe,UAAcC,SAGjC,mBAAgBC,EAAsBC,G,UAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAqmB,gCACO,IAEF6iK,EAAkBzoL,EAFhBwI,EAAOvI,EAAM,KAEgB,EAAA0L,uBAErC,OAAO,EAAP,KACO3L,KAAK,MACPwI,GAAE,OACIigL,GAAe,CAClB3oL,cAAe,UAAcK,UAAO,IAKhD,KAAK,EAAA0lB,gCACO,IAAAxlB,EAAcJ,EAAM,MAI5B,OAFMwoL,EAAkBzoL,EAFTwI,EAAOvI,EAAM,KAES,EAAA0L,uBAE9B,EAAP,KACO3L,KAAK,MACPwI,GAAE,OACIigL,GAAe,CAClB3oL,cAAe,UAAcQ,SAASD,KAAM,IAKxD,KAAK,EAAAylB,kCACO,IAAuBtd,EAAvBkD,EAA8BzL,EAAM,QAA3B4L,EAAqB5L,EAAM,aAI5C,OAFMwoL,EAAkBzoL,EAFOwI,EAAOvI,EAAM,KAEP,EAAA0L,uBAE9B,EAAP,KACO3L,KAAK,MACPwI,GAAE,OACIigL,GAAe,CAClB3oL,cAAe,UAAcU,GAC7BkL,SAAS,aAAQA,EAAS+8K,EAAgB/8K,SAAW+8K,EAAgB/8K,QAAUA,EAC/EG,aAAY,QAKxB,KAAK,EAAApL,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAGlB,C,slBC1ED,IAEYygK,EAFZ,YAEA,SAAYA,GACR,oBACA,oDACA,+CACH,CAJD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAgB/B,+B,8CAAsE,QAAlC,OAAkC,EAAtE,CAAoC,EAAAG,UAAvB,EAAAL,eAAAA,C,87CClBb,kBACA,WACA,cAEA,cACA,WACA,aACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,UACA,WACA,WACA,cACA,cACA,cACA,cACA,aACA,aACA,cACA,cASMtkK,EAAK,UAAWC,KAAK,WAErBy4I,EAA8Cv4I,EAAMC,MAAK,SAACC,G,yDACpDuoB,GAA6EvoB,EAAK,qBAA5Dk0F,GAAuDl0F,EAAK,sBAArCk7C,GAAgCl7C,EAAK,iBAAnBU,GAAcV,EAAK,UAElFa,IAAM,IAAAC,kBAAgB,EAExBwnB,IAAU4rE,cAAqB,EAArBA,GAAuB5rE,UAAW,KAC5CvE,IAAQmwE,cAAqB,EAArBA,GAAuBnwE,QAAS,KACxCC,IAAUkwE,cAAqB,EAArBA,GAAuBlwE,UAAW,KAE5Cwd,IAAkB,IAAAC,sBAsClB62G,IAA2C,QAA9B,EAAApkD,cAAqB,EAArBA,GAAuBz+E,eAAO,eAAG,KAAM,KAEpD8iI,IAAc,IAAA/zI,UAAQ,W,MAExB,KADgC0vF,cAAqB,EAArBA,GAAuBpK,WAEnD,MAAO,GAGX,IAAMr0E,GAAwC,QAA9B,EAAAy+E,cAAqB,EAArBA,GAAuBz+E,eAAO,eAAE8xC,MAAM,KAAM,GAC5D,OAAO9xC,aAAO,EAAPA,EAASxT,QAASwT,EAAU,CAAC,KACxC,GAAG,CAACy+E,KAEEskD,GAAW,KACb,CACIrsI,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,8DACRoE,MAAO8e,GACH,gBAAC,UAAkB,CAAC2xD,QAAS3xD,cAAK,EAALA,GAAO7X,GAAIusI,mBAzCrB,YACtB10H,cAAK,EAALA,GAAO7X,MAAOoc,cAAO,EAAPA,GAASpc,IAK5Bs1B,GACI,CACIv+B,KAAM,EAAAmnC,uBAAuB6mB,aAC7B3W,QAASv2B,GAAM7X,GACf7I,UAAWilB,GAAQpc,IAEvB,CACIo8D,uBAAuB,KAX3B,IAAA5zC,YAAW,8CAcnB,GA0BgB,gBAAC,UAAmB,CAACvN,MAA2B,QAApB,EAAApD,cAAK,EAALA,GAAO20H,qBAAa,eAAEvxH,MAAOC,YAAarD,cAAK,EAALA,GAAOqD,eAEjF,KACJrO,WAAYlY,GAAE,qDACdmY,aAAa,GAEjB,CACI7M,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,gEACRoE,MAAO+e,GACH,gBAAC,UAAkB,CAAC0xD,QAAS1xD,cAAO,EAAPA,GAAS9X,GAAIusI,mBA5ErB,YACxBz0H,cAAO,EAAPA,GAAS9X,MAAOoc,cAAO,EAAPA,GAASpc,IAK9Bs1B,GACI,CACIv+B,KAAM,EAAAmnC,uBAAuBklB,eAC7BJ,UAAWlrC,GAAQ9X,GACnB7I,UAAWilB,GAAQpc,IAEvB,CACIo8D,uBAAuB,KAX3B,IAAA5zC,YAAW,gDAcnB,GA6DgB,gBAAC,UAAmB,CAACvN,MAA+B,QAAxB,EAAAnD,cAAO,EAAPA,GAASksB,uBAAe,eAAE/oB,MAAOC,YAAapD,cAAO,EAAPA,GAASoD,eAEvF,KACJrO,WAAYlY,GAAE,uDACdmY,aAAa,GAEjB,CACI7M,KAAM,gBAAC,UAAU,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqB+W,OAC3EC,KAAM/X,GAAE,+DACRoE,MAAOqzI,GAAa,gBAAC,UAAqB,CAAC1iD,OAAQ0iD,KAAiB,KACpEv/H,WAAYlY,GAAE,sDACdmY,aAAa,I,EAEdu/H,GAAYlhI,KAAI,SAACu+E,GAAW,OAC3BzpF,KAAM,gBAAC,UAAc,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OACjFC,KAAM/X,GAAE,oEACRoE,MAAO2wF,EAAS,gBAAC,UAAqB,CAACA,OAAQA,IAAa,KAC5D78E,WAAYlY,GAAE,sDACdmY,aAAa,EALc,MAM5B,IACH,CACI7M,KAAM,gBAAC,UAAO,CAACuK,YAAa,EAAA9U,qBAAqB+W,OACjDC,KAAM/X,GAAE,6DACRoE,OAAOivF,cAAqB,EAArBA,GAAuBnnE,QAC1B,gBAAC,UAAa,CAAC7E,GAAI,EAAAC,WAAWk5E,kBAAkBnN,GAAsBnnE,SACjEmnE,cAAqB,EAArBA,GAAuB8uB,YAE5B,KACJjqG,WAAYlY,GAAE,sDACdmY,aAAa,K,GAIf2/H,GAAuC,CACzC,CACIxsI,KAAM,gBAAC,UAAW,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OAC9EC,KAAM/X,GAAE,gEACRoE,OAAOqjB,cAAO,EAAPA,GAASpc,IACZ,gBAAC,UAAI,CACDgc,GAAI,EAAAC,WAAWwM,eAAe,EAAAtM,gBAAgBC,QAASA,GAAQpc,IAC/DxL,UAAWf,EAAG,QACduB,MAAO,EAAA8mB,cAAcC,eAEpBK,cAAO,EAAPA,GAAS1P,MAEd,KACJG,WAAYlY,GAAE,uDACdmY,aAAa,IAIrB,OACI,gCACI,gBAAC,UAAI,CACD4hC,UAAW/5C,GAAE,qDAAsD,CAC/D8M,OAAQ4a,KAEZhoB,UACI,gCACI,gBAAC,UAAwB,CAAC+T,eAAa,EAAC8U,OAAQ8qE,cAAqB,EAArBA,GAAuB9qE,SACvE,gBAAC,UAAiC,CAC9B2gG,gCAAiC71B,cAAqB,EAArBA,GAAuB61B,gCACxDD,kBAAkB51B,cAAqB,EAArBA,GAAuBhoF,KAAM,QAI3DxL,UAAWA,GACXs6C,uBAAqB,EACrBE,iBAAkBA,IAElB,uBAAKx6C,UAAWf,EAAG,YACf,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM+yH,GAAgBj4I,UAAWf,EAAG,QAAS,oBAC1E,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM4yH,GAAa93I,UAAWf,EAAG,QAAS,iBACvE,gBAAC,UAAyB,CACtBe,UAAWf,EAAG,QAAS,uBACvBokE,WAA8C,QAAlC,EAAAmwB,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEzjE,UAChDglE,gBAAiBlqF,GAAE,6DACnByqF,aAAgD,QAAlC,EAAA4I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE/oC,SAClD+qC,SAAkD,QAAxC,EAAkC,QAAlC,EAAA0I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEiC,YAAI,eAAE1lE,UACpD2lE,eAAwD,QAAxC,EAAkC,QAAlC,EAAAwI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEiC,YAAI,eAAEE,WAC1DJ,IAAuC,QAAlC,EAAA2I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE+B,IACzCM,YAAwD,QAA3C,EAAkC,QAAlC,EAAAqI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEC,eAAO,eAAE1jE,UAC1D+lE,eAA2D,QAA3C,EAAkC,QAAlC,EAAAoI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEC,eAAO,eAAEC,aAC7DqC,iBAA6D,QAA3C,EAAkC,QAAlC,EAAAmI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEC,eAAO,eAAEuC,UAC/DC,YAA+C,QAAlC,EAAAiI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE9oC,KACjDyqC,cAAiD,QAAlC,EAAA+I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE2B,cACnDC,YAA+C,QAAlC,EAAA8I,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE6B,eACjDa,uBAA8E,QAAtD,EAAkC,QAAlC,EAAAgI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE2C,0BAAkB,eAAErtE,MAChFo4E,qBAAkE,QAA5C,EAAkC,QAAlC,EAAAhD,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEjlE,gBAAQ,eAAEk8B,SACpE02C,oBAAgE,QAA3C,EAAkC,QAAlC,EAAAjD,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE3gE,eAAO,eAAE43B,SAClE2rC,aAAgD,QAAlC,GAAA8H,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE4C,iBAM1E,IAEA,UAAeisD,C,+aC5Nf,cAGM+zC,EAAuB,SAACtnL,EAA8BpB,GACxD,OAAKoB,GAIEpB,EAAM2oL,UAAUvnL,IAHZ,EAAAq3F,4BAIf,EAEa,EAAA46C,+BACT,SAACjyI,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAO04F,WAAc,CAAC,CAAtD,CADJ,EAGS,EAAA66C,2BACT,SAACnyI,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAO2K,MAAQ,CAAC,CAAhD,CADJ,EAGS,EAAAg0B,mCACT,SAACv9B,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAO84F,qBAAvC,CADJ,EAGS,EAAAm6C,oCACT,SAAC7xI,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAO24F,aAAvC,CADJ,EAGS,EAAAiwF,8BACT,SAACxnL,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAO44F,uBAAvC,CADJ,EAGS,EAAA2gC,oCACT,SAACn4H,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAOmpE,aAAvC,CADJ,EAGS,EAAA0/G,yBACT,SAACznL,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAO64F,kBAAvC,CADJ,EAGS,EAAA2hC,uCACT,SAACp5H,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAOg5F,gCAAvC,CADJ,EAGS,EAAA4gC,gCACT,SAACx4H,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAO6uB,oBAAvC,CADJ,EAGS,EAAA2qG,wCACT,SAACp4H,GACD,gBAACpB,GACG,OAAA0oL,EAAqBtnL,EAAWpB,GAAOi5F,iCAAvC,CADJ,C,kIC5DS,EAAA7sE,kBAAoB,kCACpB,EAAAE,iBAAmB,iCACnB,EAAAE,WAAa,0B,+BCH1B,WAAgB,YAAY,yCAAyC,YAAY,yCAAyC,eAAe,4CAA4C,kBAAkB,+CAA+C,MAAQ,qCAAqC,OAAS,sCAAsC,SAAW,wC,y/CCD7V,kBACA,aACA,cACA,cACA,cAEMvwB,EAAK,UAAWC,KAAK,WAerB4sL,EAAuC1sL,EAAMC,MAAK,SAACC,GAC7C,IAAAU,EAAmEV,EAAK,UAA7DqgB,EAAwDrgB,EAAK,WAAjDkgB,EAA4ClgB,EAAK,UAAtCigB,EAAiCjgB,EAAK,eAAtBogB,EAAiBpgB,EAAK,aAEhF,OAAKqgB,IAAeA,aAAU,EAAVA,EAAYpe,QAK5B,uBACIvB,WAAW,aAAGf,EAAG,QAASe,GAC1ByH,MAAO,CACH0D,KAAM,GAAK4gL,MAAsBrsK,EAAe,EAdtC,KAc+DC,aAAU,EAAVA,EAAYpe,SAAU,MAEnGR,QAAS,WACLwe,EAAeC,EACnB,GAECG,EAAWhJ,KAAI,SAAC,EAAoCC,GAAlC,IAAA5W,EAAS,YAAEyH,EAAK,QAAKokB,EAAS,IAAhC,uBACPmgK,EAAgBrsK,EAAWpe,OAAS,EAAIqV,EAE9C,OACI,gBAAC,UAAM,GACHoG,aAAW,EACXivK,WAAS,EACTh6K,IAAK2E,EACL5W,WAAW,aAAGf,EAAG,OAAQe,GACzB0f,aAAcA,GAAkC,IAAlBssK,EAC9BvkL,MAAK,OACEA,GAAK,CACR0D,KAAK,GAAyB6gL,IAElCxrL,MAAO,EAAAqf,gBAAgB1e,UACnB0qB,GAGhB,KA/BG,IAkCf,IAEA,UAAeigK,C,kYC7Df,kBACA,WAcA,UACA,WACA,WAOMjpL,EAA2C,CAC7Co/H,cAN4E,CAC5EroF,QAAS,KACT4U,UAAW,MAKXy3G,YAAa,CAAC,EACdJ,UAAW,CAAC,EACZH,aAAc,CACVngK,MAAO,KACPzC,cAAe,UAAcC,QAC7BwoD,IAAK,IAETu6G,eAAgB,CACZvgK,MAAO,KACPzC,cAAe,UAAcC,QAC7BwoD,IAAK,IAETg6G,MAAO,CACHob,UAAW,CAAC,EACZC,YAAa,CAAC,GAElBr0J,gBAAiB,UAAcxpB,SAGnC,mBACIC,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAA0iJ,sBACO,IAAA78G,EAAYnlC,EAAM,QACHi8I,EAAsBl8I,EAAK,cAE5CkpL,EAAmB,EAAH,KACfhtC,GACA92G,GAGD+jJ,EACFnpL,EAAMuiK,MAAMob,UAAUzhC,EAAkBtlG,UACxC52C,EAAMuiK,MAAMqb,YAAY1hC,EAAkB1wF,WAS9C,OARI29H,GAAsB,cAAe/jJ,KAAa,YAAaA,KAC/D8jJ,EAAiBtyI,QAAU,MAG3BuyI,KAAwB,cAAe/jJ,IAAY,YAAaA,IAChE8jJ,EAAiB19H,UAAY,MAG1B,EAAP,KACOxrD,GAAK,CACRi/H,cAAeiqD,IAIvB,KAAK,EAAAjI,2BACO,IAAA1+K,EAAUtC,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR8iK,eAAgB,EAAF,KACP9iK,EAAM8iK,gBAAc,CACvBvgK,MAAK,EACLzC,cAAe,UAAcK,YAKzC,KAAK,EAAAihL,2BACO,IAAA/gL,EAAiBJ,EAAM,MAE/B,OAFesC,EAAUtC,EAAM,OAE1B,IAAA2a,kBAAiB5a,EAAM8iK,eAAevgK,MAAOA,GAI3C,EAAP,KACOvC,GAAK,CACR8iK,eAAgB,EAAF,KACP9iK,EAAM8iK,gBAAc,CACvBhjK,cAAe,UAAcQ,SAASD,OAPnCL,EAYf,KAAK,EAAAmhL,6BACO,IAAAD,EAAgCjhL,EAAM,qBAE9C,GAF8BsC,EAAUtC,EAAM,QAEzC,IAAA2a,kBAAiB5a,EAAM8iK,eAAevgK,MAAOA,GAC9C,OAAOvC,EAGX,IAAMuoD,EAAM24H,EAAqB7iI,QAAO,SAAC50C,EAAQ2/K,G,MACvC59H,EAAuC,QAA3B,EAAA49H,EAAoB9oK,eAAO,eAAE9X,GAK/C,OAJIgjD,GACA/hD,EAAOuK,KAAKw3C,GAGT/hD,CACX,GAAG,IAEGw5J,GAAc,IAAA4a,gBAAeqD,GAC7Bre,GAAY,IAAAmb,cAAakD,GACzB3e,GAAQ,IAAAkb,2BAA0ByD,GAExC,OAAO,EAAP,KACOlhL,GAAK,CACRuiK,MAAO,CACHob,UAAW,EAAF,KACF39K,EAAMuiK,MAAMob,WACZpb,EAAMob,WAEbC,YAAa,EAAF,KACJ59K,EAAMuiK,MAAMqb,aACZrb,EAAMqb,cAGjB3a,YAAa,EAAF,KACJjjK,EAAMijK,aACNA,GAEPJ,UAAW,EAAF,KACF7iK,EAAM6iK,WACNA,GAEPC,eAAgB,EAAF,KACP9iK,EAAM8iK,gBAAc,CACvBhjK,cAAe,UAAcU,GAC7B+nD,IAAG,MAKf,KAAK,EAAA84H,yBAGD,OAFQ9+K,EAAUtC,EAAM,MAEjB,EAAP,KACOD,GAAK,CACR0iK,aAAc,EAAF,KACL1iK,EAAM0iK,cAAY,CACrBngK,MAAK,EACLzC,cAAe,UAAcK,YAKzC,KAAK,EAAAqhL,yBAGD,OAFQnhL,EAAiBJ,EAAM,MAAhBsC,EAAUtC,EAAM,OAE1B,IAAA2a,kBAAiB5a,EAAM0iK,aAAangK,MAAOA,GAIzC,EAAP,KACOvC,GAAK,CACR0iK,aAAc,EAAF,KACL1iK,EAAM0iK,cAAY,CACrB5iK,cAAe,UAAcQ,SAASD,OAPnCL,EAYf,KAAK,EAAAuhL,2BACO,IAAAD,EAA8BrhL,EAAM,mBAE5C,OAF4BsC,EAAUtC,EAAM,OAEvC,IAAA2a,kBAAiB5a,EAAM0iK,aAAangK,MAAOA,IAI1CgmD,EAAM+4H,EAAmBjjI,QAAO,SAAC50C,EAAQ4/K,G,MACrCzyI,EAAiC,QAAvB,EAAAyyI,EAAkBhpK,aAAK,eAAE7X,GAKzC,OAJIouC,GACAntC,EAAOuK,KAAK4iC,GAGTntC,CACX,GAAG,IAEGw5J,GAAc,IAAA4a,gBAAeyD,GAC7Bze,GAAY,IAAAmb,cAAasD,GACzB/e,GAAQ,IAAAkb,2BAA0B6D,GAEjC,EAAP,KACOthL,GAAK,CACRuiK,MAAO,CACHob,UAAW,EAAF,KACF39K,EAAMuiK,MAAMob,WACZpb,EAAMob,WAEbC,YAAa,EAAF,KACJ59K,EAAMuiK,MAAMqb,aACZrb,EAAMqb,cAGjB3a,YAAa,EAAF,KACJjjK,EAAMijK,aACNA,GAEPJ,UAAW,EAAF,KACF7iK,EAAM6iK,WACNA,GAEPH,aAAc,EAAF,KACL1iK,EAAM0iK,cAAY,CACrB5iK,cAAe,UAAcU,GAC7B+nD,IAAG,OAvCAvoD,EA4Cf,KAAK,EAAA6hL,yBACD,OAAO,EAAP,KACO7hL,GAAK,CACRupB,gBAAiB,UAAcppB,UAIvC,KAAK,EAAA2hL,2BACD,OAAO,EAAP,KACO9hL,GAAK,CACRupB,gBAAiB,UAAc/oB,KAIvC,KAAK,EAAAuhL,yBAGD,OAFQ1hL,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRupB,gBAAiB,UAAcjpB,SAASD,KAIhD,KAAK,EAAAI,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,sBCpQD,IAAYhE,E,qEAAZ,SAAYA,GACR,iBACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,I,wXCGT,EAAAstL,yBAA2B,mDAC3B,EAAAC,+BAAiC,yDACjC,EAAAC,oCAAsC,8DACtC,EAAAC,oCAAsC,8DACtC,EAAAC,sCAAwC,gEACxC,EAAAC,sCAAwC,gEACxC,EAAAC,sCAAwC,gEACxC,EAAAC,wCACT,iE,q7BCXJ,kBAEA,cACA,cAEA,cAOM5tL,EAAK,UAAWC,KAAK,WAErBspB,EAA+BppB,EAAMC,MAAK,SAACC,GACrC,IAAA+jB,EAAqB/jB,EAAK,MAAnBU,EAAcV,EAAK,UAElC,OACI,uBAAKU,UAAWf,EAAG,WACf,gBAAC,UAAe,CAAC2U,eAAa,EAAC5T,UAAWA,EAAW0oB,OAAQrF,aAAK,EAALA,EAAOqF,SAGhF,IAEA,UAAeF,C,+BCvBf,WAAgB,SAAW,sDAAsD,OAAS,oDAAoD,SAAW,sD,2TCGzJ,kBACA,cAEA,WAEa,EAAA2wD,mBAAqB,SAACn2E,GAAgD,OAAAA,EAAMk2E,aAAaA,YAAnB,EAEtE,EAAAE,0BAA4B,SAACp2E,GACtC,OAAAA,EAAMk2E,aAAao5B,mBAAnB,EAES,EAAAuyD,wBAAyB,IAAAhlE,gBAAe,EAAA1mB,oBAAoB,SAACD,GACtE,OAAOl2B,OAAO0wH,KAAKx6F,GAAgB,CAAC,EACxC,IAEa,EAAA4zG,wBAAyB,IAAAjtF,gBAAe,EAAA1mB,oBAAoB,SAACD,GACtE,OAAO,aAAQl2B,OAAO5oC,OAAO8+D,GAAgB,CAAC,GAClD,IAEa,EAAA6zG,0BAA2B,IAAAltF,gBACpC,EAAAitF,wBACA,SAACE,GACG,OAAOA,EAAiBr2K,KAAI,SAAC07B,GAAgB,OAAA7zB,OAAO6zB,aAAW,EAAXA,EAAa7mC,GAApB,GACjD,IAGS,EAAAikC,wBAAyB,IAAAowD,gBAClC,EAAAitF,wBACA,SAACE,GACG,OAAO,aAAMA,EAAkB,KACnC,G,8FCjCJ,eAYS,EAAA1J,YANW,SAAC1qK,GACjB,MAAO,CACH+8E,OAAQ/8E,EAAW,EAAA5Z,WAAW22F,SAAW,GAEjD,C,kTCRA,eACA,WAoCA,UAlCiB,SAACx1F,EAAcia,G,MACxBc,EAAM,YACH,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,UAAW7O,KAC9D,IAAA+O,gBAAehpB,EAAG,CAAC,EAAAnB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,UAAW7O,EAAQ,KACvE,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,UAAW7O,EAAQ,OACvE,IAAAiP,kBAAiBlpB,EAAG,CAAC,EAAAnB,WAAWuiE,aAAcnnD,IA0BrD,OAvBKA,EAAO,EAAApb,WAAWu8E,kBAAsBnhE,EAAO,EAAApb,WAAWw8E,eAC3DtgE,EAAS,EAAH,KACCA,KAAM,MACR,EAAAlc,WAAWu8E,iBAAkBp7E,EAAE,+BAA8B,KAIlEia,EAAO,EAAApb,WAAWu8E,mBAClBrgE,EAAS,EAAH,OACCA,IACA,IAAAiO,gBAAehpB,EAAG,CAAC,EAAAnB,WAAWu8E,iBAAkBnhE,EAAQ,KACxD,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAWu8E,iBAAkBnhE,EAAQ,OAI/DA,EAAO,EAAApb,WAAWw8E,eAClBtgE,EAAS,EAAH,OACCA,IACA,IAAAiO,gBAAehpB,EAAG,CAAC,EAAAnB,WAAWw8E,aAAcphE,EAAQ,KACpD,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAWw8E,aAAcphE,EAAQ,OAIxDc,CACX,C,kTCrCA,eACA,WAEA,WAiDA,UA/C8B,SAC1BmnC,EACAukH,EACAhuJ,GAEA,IAAMU,EAAWV,EAAW,EAAA5Z,WAAWsa,UACjCsxG,EAAchyG,EAAW,EAAA5Z,WAAW4rH,aACpCC,EAAYjyG,EAAW,EAAA5Z,WAAW6rH,WAClChuG,EAAgBjE,EAAW,EAAA5Z,WAAW6d,eAC5C,KAAKvD,GAAasxG,GAAgBC,GAAchuG,GAC5C,OAAO,KAGX,IAUIzY,EAVE8nB,EAAOtT,EAAW,EAAA5Z,WAAWktB,MAC7B+gK,EAAgB/gK,EAAO,WAAG,IAAA8pD,iBAAgB9pD,GAAK,kBAAmB,KACxE,OAAK+gK,EAID3zK,IAAa,EAAAyV,kBAAkBE,OACxB,MAIP3V,IAAa,EAAAyV,kBAAkBnH,UAC/BxjB,EAAYwU,EAAW,EAAA5Z,WAAWitB,iBAAcrmB,GAEhD0T,IAAa,EAAAyV,kBAAkBvE,UAC/BpmB,EAAYwU,EAAW,EAAA5Z,WAAW2c,iBAAc/V,GAG7C,CACHxB,UAAS,EACTwmH,YAAW,EACXC,UAAS,EACTl7E,WAAYs9I,EACZ3zK,SAAQ,EACRo2B,eAAgB7yB,EAChBqwK,YAAatmB,EACP,EAAD,CACKp7J,GAAI62C,GAAUA,OAASz8C,GACpBghK,QAEPhhK,IA3BC,IA6Bf,C,4aClDA,eAQA,cACA,WACA,cACA,UAEa,EAAAunL,iCAA+D,CACxE5hI,IAAK,GACL59C,KAAM,CAAC,EACPy/K,OAAQ,CAAC,EACTr0I,aAAc,UAAch2C,SAGhC,IAAMF,EAAoC,CAAC,EAE3C,mBAAgBG,EAAsBC,G,UAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAA8qL,6BACO,IAEFC,EAA0BtqL,EAFxBJ,EAAgBK,EAAM,cAEwB,EAAAkqL,iCAEtD,OAAO,EAAP,KACOnqL,KAAK,MACPJ,GAAW,OACL0qL,GAAuB,CAC1Bv0I,aAAc,UAAc51C,UAAO,IAK/C,KAAK,EAAAoqL,+BACO,IAAA3qL,EAA+BK,EAAM,YAAxBm5F,EAAkBn5F,EAAM,cAIvCsoD,GAFA+hI,EAA0BtqL,EAAMJ,IAAgB,EAAAuqL,iCAE1C/wF,EAAczlF,KAAI,SAAC0mC,GAAa,OAAAA,aAAQ,EAARA,EAAU7xC,EAAV,IAAc8iB,OAAO,EAAA4/B,WAC3DvgD,GAAO,aAAMyuF,EAAe,MAC5BgxF,GAAS,aAAMhxF,EAAe,QAEpC,OAAO,EAAP,KACOp5F,KAAK,MACPJ,GAAW,OACL0qL,GAAuB,CAC1B/hI,IAAG,EACH59C,KAAI,EACJy/K,OAAM,EACNr0I,aAAc,UAAcv1C,KAAE,IAK1C,KAAK,EAAAgqL,6BACO,IAAAnqL,EAAuBJ,EAAM,MAIrC,OAFMqqL,EAA0BtqL,EAFjBJ,EAAgBK,EAAM,cAEiB,EAAAkqL,iCAE/C,EAAP,KACOnqL,KAAK,MACPJ,GAAW,OACL0qL,GAAuB,CAC1Bv0I,aAAc,UAAcz1C,SAASD,KAAM,IAKvD,KAAK,EAAAI,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAGlB,C,+9BCjFD,eACA,WACA,cACA,cACA,cA+BS,EAAA4xK,iCArBgC,SAACx6J,EAAyBqzK,GACvD,IAAA5Y,EAAyCz6J,EAAM,gBAA9Bu6J,EAAwBv6J,EAAM,oBAEjDszK,GAAiB,IAAAp4K,cAAY,IAAAq4K,0BAAyB9Y,IAC5Dz1K,EAAMoL,WAAU,YACP,aAASmqK,MAIV,aAAQ+Y,IAIUA,EAAe/Y,IAEjC8Y,IAGR,GAAG,CAACC,GACR,C,g6FCjCA,kBACA,WAEA,cACA,aACA,cACA,WACA,WACA,cACA,cACA,cACA,aACA,UACA,cACA,WACA,WACA,WACA,cACA,UAQA,WACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,WAEMzuL,EAAK,UAAWC,KAAK,WAErBk1G,EACM,SADNA,EAEW,cAQXw5E,EAAiB,SACnBtmF,EACA10D,GAAgB,uBACjByR,SAAO,W,gEAEgB,SADF,IAAI,EAAAwpI,sBAAkD,QAA5B,EAAAvmF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MACpC4kF,QAAQl7I,I,OAChD,OAAKm7I,OADCA,EAAgB,eACJ,EAAbA,EAAeC,UAKL,GADG,IAAI,EAAAC,oBAAgD,QAA5B,EAAA3mF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEv+B,IAAiC,QAA5B,EAAA2wF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MAC5EglF,gBAAgBH,aAAa,EAAbA,EAAeC,WAJnD,CAAP,EAAO,M,OAKX,OADMvhL,EAAS,UAMR,CAAP,GADiB,IAAA0hL,sBAAqB1hL,IACnB,MAJR,CAAP,EAAO,M,QAOT2hL,EAAmDhvL,EAAMC,MAAK,SAACC,G,gCACzD+uL,EAA4C/uL,EAAK,oBAA5BgvL,EAAuBhvL,EAAK,mBAEnDopD,GAAc,IAAApzC,aAAY,EAAAmzC,mBAC1B50B,GAAW,IAAAC,eAEXy6J,EAA0BnvL,EAAM6yB,WAAW,EAAAqoJ,oDAE3ChzE,EAAmBloG,EAAM6yB,WAAW,WAElC9xB,GAAM,IAAAC,kBAAgB,EAExB8nD,GAAoB,IAAA5yC,aAAY,EAAA2yC,yBAEhCumI,KADoB,IAAAl5K,aAAY,EAAA+yC,yBAGhCL,IAAY,IAAA1yC,aAAY,EAAAyyC,iBAExB0mI,GAAkBrvL,EAAM6I,OAAsB,MAC9C,KAAsC7I,EAAMuE,SAA2B,MAAK,GAA3E+qL,GAAc,MAAEC,GAAiB,MAElC57J,IAAc,IAAAzd,aAAY,EAAAwyC,8BAC1Bh1B,IAAS,IAAAxd,aAAY,EAAAsyC,yBAErB,KAA4BxoD,EAAMuE,UAAS,GAAK,GAA/CirL,GAAS,MAAEC,GAAY,MAExBC,GAAiB,SAACC,EAAkBC,EAAiBC,GACnDZ,IAIAO,IACAC,IAAa,GAGjBJ,GAAgB5jL,QAAUkkL,EAC1BJ,GAAkB,CACd/7I,MAAO,CACHvzB,IAAK4vK,EAAM5vK,IACXC,IAAK2vK,EAAM3vK,KAEf0mB,QAAS,KACT+8G,kBAAmB,KACnBpE,iBAAkB,OAE1B,EAEMuwC,GAA+B,SAACvpJ,GAClC9R,GAAS,IAAAmnJ,mBAAkB,CAAEr1I,SAAQ,IACzC,EAEMwpJ,GAAoC,SAACxpJ,GACvC9R,GAAS,IAAAknJ,wBAAuB,CAAEp1I,SAAQ,IAC9C,EAyDM2uE,IAAyB,IAAAxwG,UAAQ,W,MAC/BywG,EAAgC,KAEpC,GAAIk6E,GAAgB5jL,UAAYupG,EAA0B,CACtD,KAAKs6E,cAAc,EAAdA,GAAgB97I,OACjB,OAAO,KAGX2hE,EAAc,CACVl1F,IAAKqvK,GAAe97I,MAAMvzB,IAC1BC,IAAKovK,GAAe97I,MAAMtzB,IAElC,KAAO,CACH,KAA0B,QAArB,EAAAyT,cAAW,EAAXA,GAAa4S,gBAAQ,eAAEiN,OACxB,OAAO,KAGX2hE,EAAc,CACVl1F,IAAK0T,GAAY4S,SAASiN,MAAMvzB,IAChCC,IAAKyT,GAAY4S,SAASiN,MAAMtzB,IAExC,CAEA,OAAOi1F,CAEX,GAAG,CAACk6E,GAAgB5jL,QAAS6jL,GAAgB37J,KAEvCyhF,IAAoB,IAAA1wG,UAAQ,W,MAC1BywG,EAAgC,KAEpC,GAAIk6E,GAAgB5jL,UAAYupG,EAAqB,CACjD,KAAKs6E,cAAc,EAAdA,GAAgB97I,OACjB,OAAO,KAGX2hE,EAAc,CACVl1F,IAAKqvK,GAAe97I,MAAMvzB,IAC1BC,IAAKovK,GAAe97I,MAAMtzB,IAElC,KAAO,CACH,KAAqB,QAAhB,EAAAwT,cAAM,EAANA,GAAQ6S,gBAAQ,eAAEiN,OACnB,OAAO,KAGX2hE,EAAc,CACVl1F,IAAKyT,GAAO6S,SAASiN,MAAMvzB,IAC3BC,IAAKwT,GAAO6S,SAASiN,MAAMtzB,IAEnC,CAEA,OAAOi1F,CAEX,GAAG,CAACk6E,GAAgB5jL,QAAS6jL,GAAgB57J,KAE7C,OACI,uBAAK9yB,UAAWf,EAAG,QACf,gBAAC,UAAc,CACX2vL,UAAWA,GACXhlF,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBlpG,QApFW,SAAOkK,GAAsB,0C,wDAChD,OAAIojL,GAIAv7J,GAAO6S,WAAY5S,cAAW,EAAXA,GAAa4S,UAHhC,IAOa,GAAMioJ,EAAetmF,EAAkBr8F,I,cAAlD06B,EAAW,SACZ7S,GAAO6S,SAGRwpJ,GAAkCxpJ,GAFlCupJ,GAA6BvpJ,G,YA0EzBlkC,QAAS,EAAAyoG,YACTklF,iBAAkBN,GAClBO,eAvHU,SAAON,EAAkBC,EAAiBC,GAAgB,0C,wDAC5E,OAAKR,GAAgB5jL,SAIrBgkL,IAAa,GAEI,GAAMjB,EAAetmF,EAAkB2nF,KALpD,I,OAMJ,OADMtpJ,EAAW,WAgBb8oJ,GAAgB5jL,UAAYupG,GAC5B+6E,GAAkCxpJ,GAGlC8oJ,GAAgB5jL,UAAYupG,GAC5B86E,GAA6BvpJ,G,MAnB7BgpJ,GAAkB,CACd/7I,MAAO,CACHvzB,IAAK4vK,EAAM5vK,IACXC,IAAK2vK,EAAM3vK,KAEf0mB,QAAS,KACT+8G,kBAAmB,KACnBpE,iBAAkB,QAGtB,IAAA3qH,YAAW,wCAAyCi7J,GACpD,K,QAoGIK,iBAAkBR,GAClB3kF,kBAxE4B,SAAC5C,G,MAC7B5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEE,QAA3B,EAAAD,EAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,GAsEa29F,IACG,gBAAC,UAAkB,GACfriG,IAAKmiG,EACLp0G,UAAWf,EAAG,WACVq1G,GAAsB,CAC1Bi7E,QAAShB,EAAwBiB,2BAIxCh7E,IACG,gBAAC,UAAa,GACVviG,IAAKmiG,EACLp0G,UAAWf,EAAG,WACVu1G,GAAiB,CACrB+6E,QAAShB,EAAwBkB,2BAI7C,gBAAC,UAAO,CACJ94K,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnCR,KAAMhgD,aAAW,EAAXA,EAAaggD,OAEvB,gBAAC,UAAS,CACN/xF,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnCiS,OAAQzyD,aAAW,EAAXA,EAAayyD,SAEzB,gBAAC,UAAQ,CACLxkG,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnCjmB,YAAav6B,aAAW,EAAXA,EAAau6B,cAE7BqrG,GAAsBpmI,EAAkB/kD,SAAW,gBAAC,UAAS,KAAEhD,EAAE,wBACjE6nD,IACG,gBAAC,UAAQ,CACLrxC,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAuD,QAAtC,EAA2B,QAA3B,EAAAxD,EAAiBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SACzDxnG,MAAO,EAAAwqG,kBAAkB0kF,aACzB1nI,UAAWA,QAGhBj1B,cAAW,EAAXA,GAAa6hB,WAAY0/D,IACxB,gBAAC,UAAO,CACJriG,IAAK,UAAGmiG,EAAwB,SAChCz9F,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnC1oG,MAAO,EAAAi0G,iBAAiBC,gBACxBC,UAAWL,GAAuBj1F,IAClCu1F,UAAWN,GAAuBh1F,IAClCu1F,QAAS9hF,GAAY6hB,SAAW,EAAAy4C,aAGrCv6D,cAAM,EAANA,GAAQ8hB,WAAY4/D,IACnB,gBAAC,UAAO,CACJviG,IAAK,UAAGmiG,EAAmB,SAC3Bz9F,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnC1oG,MAAO,EAAAi0G,iBAAiBK,WACxBH,UAAWH,GAAkBn1F,IAC7Bu1F,UAAWJ,GAAkBl1F,IAC7Bu1F,QAAS/hF,GAAO8hB,SAAW,EAAAy4C,UAGlCmhG,GACG,gBAAC,UAAS,KACN,gBAAC,UAAQ,CAACxuL,UAAWf,EAAG,eAK5C,IAEA,UAAemvL,C,+BC/Tf,WAAgB,OAAS,uCAAuC,OAAS,uCAAuC,SAAW,yC,u7BCD3H,kBACA,cACA,aACA,YACA,WACA,cACA,WAEMnvL,EAAK,UAAWC,KAAK,WAUrBwlC,IAAoB,MACrB,EAAAmwB,yBAAyBC,kBAAmB,EAAA5hD,0BAA0BC,UACvE,EAAC,EAAA0hD,yBAAyBv3B,kBAAmB,EAAApqB,0BAA0BC,UACvE,EAAC,EAAA0hD,yBAAyBg1B,UAAW,EAAA32E,0BAA0B1B,OAC/D,EAAC,EAAAqjD,yBAAyB9vB,WAAY,EAAA7xB,0BAA0B1B,OAChE,EAAC,EAAAqjD,yBAAyBL,MAAO,EAAAthD,0BAA0BK,QAC3D,EAAC,EAAAshD,yBAAyB5vB,UAAW,EAAA/xB,0BAA0BC,UAC/D,EAAC,EAAA0hD,yBAAyB0vC,UAAW,EAAArxF,0BAA0B1B,OAC/D,EAAC,EAAAqjD,yBAAyB3vB,SAAU,EAAAhyB,0BAA0BG,a,GAG5Ds8K,EAA6CvwL,EAAMC,MAAK,SAACC,GACnD,IAAAopB,EAA8CppB,EAAK,OAA3C8lC,EAAsC9lC,EAAK,WAA/BswL,EAA0BtwL,EAAK,OAAvBsU,EAAkBtU,EAAK,cAEnDa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAKD,gCACKknK,GACG,gBAAC,UAAS,CACN/7K,UAAQ,EACRD,cAAeA,EACf5T,UAAWf,EAAG,OAAQ,iBACtBuB,MAAO,EAAAyS,mBAAmBK,MAEzBnT,EAAE,+BAAgC,KAG3C,gBAAC,UAAS,CAAC0T,UAAQ,EAACD,cAAeA,EAAepT,MAAOkkC,EAAqBhc,IAC1E,gBAAC,UAAoB,CAACA,OAAQA,KAEjC0c,GACG,gBAAC,UAAS,CACNvxB,UAAQ,EACRD,cAAeA,EACf5T,UAAWf,EAAG,OAAQ,oBACtBuB,MAAO,EAAAyS,mBAAmBK,MAEzBnT,EAAE,mCAAoC,MAzB5C,IA8Bf,IAEA,UAAewvL,C,q7BCnEf,kBACA,WACA,WACA,WACA,cACA,cACA,cAEA,cACA,WACA,cACA,cAWME,EAAqCzwL,EAAMC,MAAK,SAACC,GAC3C,IAAAU,EAAgEV,EAAK,UAA1DyY,EAAqDzY,EAAK,cAA3C8oB,EAAsC9oB,EAAK,iBAAzB4oB,EAAoB5oB,EAAK,gBAErEa,GAAM,IAAAC,kBAAgB,EAExB0vL,EAAsB,SAACC,G,MACzB,OAAKA,IAKsB,QAAvB,EAAAA,aAAY,EAAZA,EAAcv4F,iBAAS,eAAE7gF,KAAI,SAAC,G,IAAW8Z,EAAW,UAAEu/J,EAAQ,WAC1D,MAAO,CACHvkL,KAAM,gBAAC,UAAQ,CAACglB,YAAaA,IAC7BvY,KAAOuY,EAGH,gBAAC,UAAqB,CAACA,YAAaA,IAFpCtwB,EAAE,4BAINmY,aAAa,EACb/T,MAAO,gBAAC,UAAa,CAAChC,KAAM,EAAA4V,aAAaC,uBAAwBlW,OAAO,IAAAinF,aAAY6mG,KAE5F,MAfO,EAiBf,EAEM9qK,EAAoC,EACtC,aAASnN,GACH,CACItM,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqB+W,OACjDg4K,gBAAgB,EAChB/3K,KAAM/X,EAAE,oCACRoE,MACI,gBAAC,UAAa,CAAChC,KAAM,EAAA4V,aAAaC,uBAAwBlW,OAAO,IAAAinF,aAAYpxE,KAEjFO,aAAa,EACb4M,KAAM,EACF,aAASgD,aAAe,EAAfA,EAAiBnQ,eACpB,CACItM,KAAM,KAENyM,KAAM/X,EAAE,sCACRoE,MACI,gBAAC,UAAa,CACVhC,KAAM,EAAA4V,aAAaC,uBACnBlW,OAAO,IAAAinF,aAAYjhE,aAAe,EAAfA,EAAiBnQ,iBAG5CO,aAAa,EACb4M,KAAM4qK,EAAoB5nK,IAE9B,MACN,aAASE,aAAgB,EAAhBA,EAAkBrQ,eACrB,CACItM,KAAM,KACNyM,KAAM/X,EAAE,uCACRoE,MACI,gBAAC,UAAa,CACVhC,KAAM,EAAA4V,aAAaC,uBACnBlW,OAAO,IAAAinF,aAAY/gE,aAAgB,EAAhBA,EAAkBrQ,iBAG7CO,aAAa,EACb4M,KAAM4qK,EAAoB1nK,IAE9B,OAGd,MACRkG,OAAO,EAAA4/B,UAET,OAAO,gBAAC,UAAS,CAACluD,UAAWA,EAAWgnB,mBAAiB,EAAC9B,KAAMA,GACpE,IAEA,UAAe2qK,C,uHC/Ff,eAEa,EAAAK,sCAAuC,IAAAC,8B,+BCFpD,WAAgB,KAAO,qCAAqC,sBAAsB,oDAAoD,OAAS,uCAAuC,SAAW,yC,q7BCDjM,kBACA,cACA,cACA,WACA,cAEA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,UACA,cACA,cAGA,aACA,cAEMlxL,EAAK,UAAWC,KAAK,WAcrBkxL,EAAkChxL,EAAMC,MAAK,SAACC,GAE5C,IAAA60C,EASA70C,EAAK,kBARL+wL,EAQA/wL,EAAK,SAPLgxL,EAOAhxL,EAAK,kBANLU,EAMAV,EAAK,UALLixL,EAKAjxL,EAAK,oBAJLkxL,EAIAlxL,EAAK,iBAHLgP,EAGAhP,EAAK,UAFLq0B,EAEAr0B,EAAK,YADL20G,EACA30G,EAAK,UAEDa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAyD,CAC3D89J,EACM,CACI79J,aAAc,WAAM,OAChB,gBAAC,UAAc,CACXomH,gBAAiB03C,EACjBrrK,KAAMmrK,EACNj0K,SAAUo0K,GAJE,EAOpB99J,gBAAiBzzB,EAAG,gBAAiB,2BACrC0zB,OAAQ,SAACrP,GAAyB,OAC9B,gBAAC,UAAY,CACTkf,IAAKlf,EACLu1H,gBAAiB03C,EACjBn0K,SAAUo0K,GAJgB,EAOlCxwL,UAAWf,EAAG,4BAElB,KACN,CACIwzB,aAAc,WAAM,OAAAtyB,EAAE,kDAAF,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACrP,GAAyB,uBAAC,UAAe,CAACoD,YAAapD,aAAO,EAAPA,EAASoD,aAAvC,EAClC1mB,UAAWf,EAAG,gBAAiB,gCAEnC,CACIwzB,aAAc,WAAM,OAAAtyB,EAAE,0CAAF,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAACrP,GAAyB,uBAAC,UAAQ,CAACA,QAASA,GAAnB,EAClCtjB,UAAWf,EAAG,gBAAiB,wBAEnC,CACIwzB,aAAc,WAAM,OAAAtyB,EAAE,gDAAF,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACrP,G,QAAyB,OAC9B,gBAAC,UAAS,CACN6vF,gBAAiBh/D,EACjBkkC,aAA+B,QAAjB,EAAA/0D,EAAQmlE,iBAAS,eAAEvjF,SACjCC,OAAyB,QAAjB,EAAAme,EAAQmlE,iBAAS,eAAEj9E,GAC3BuwC,SAAUz4B,EAAQmtK,cAClBvkK,KAAM5I,EAAQs4B,a,EAGtB57C,UAAWf,EAAG,gBAAiB,4BAInCg1G,IAAc,EAAA1lG,QAAQo6B,SACtBnW,EAAQxb,KAAK,CACTyb,aAAc,WAAM,OAAAtyB,EAAE,4CAAF,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAACrP,GAAyB,uBAAC,UAAQ,CAACotK,aAAcptK,EAAQqtK,QAAhC,EAClC3wL,UAAWf,EAAG,gBAAiB,wBAGnCuzB,EAAQxb,KAAK,CACTyb,aAAc,WAAM,OAAAtyB,EAAE,+CAAF,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,4BACrC0zB,OAAQ,SAACrP,GAAyB,uBAAC,UAAQ,CAACotK,aAAcptK,EAAQstK,WAAhC,EAClC5wL,UAAWf,EAAG,gBAAiB,wBAGnCuzB,EAAQxb,KAAK,CACTyb,aAAc,WAAM,OAChB,4BACKtyB,EAAE,0CACH,gBAAC,UAAO,CACJE,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBmoH,UAAQ,EACRloH,YACI,gBAAC,UAAc,CAACC,UAAQ,EAACJ,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GAClE1T,EAAE,8CAIV,SAAC8yB,GAAW,uBAAC,UAAkB,CAACA,OAAQA,GAA5B,IAbL,EAiBpBP,gBAAiBzzB,EAAG,gBAAiB,sBACrC0zB,OAAQ,SAACrP,GAAyB,OAC9B,gBAAC,UAAuB,CACpBte,YAAa7E,EAAE,8CACf2wD,qBAAsBxtC,EAAQwtC,sBAHJ,EAMlC9wD,UAAWf,EAAG,gBAAiB,wBAGnCuzB,EAAQxb,KAAK,CACTyb,aAAc,WAAM,OAAAtyB,EAAE,4CAAF,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACrP,GAAyB,uBAAC,UAAU,CAACA,QAASA,GAArB,EAClCtjB,UAAWf,EAAG,gBAAiB,4BAInCg1G,IAAc,EAAA1lG,QAAQm8B,SACtBlY,EAAQxb,KAAK,CACTyb,aAAc,WAAM,OAAAtyB,EAAE,8CAAF,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACrP,G,QAAyB,OAC9B,gBAAC,UAAS,CACN6vF,gBAAiBh/D,EACjBkkC,aAAgC,QAAlB,EAAA/0D,EAAQutK,kBAAU,eAAE3rL,SAClCC,OAA0B,QAAlB,EAAAme,EAAQutK,kBAAU,eAAErlL,GAC5BuwC,SAAUz4B,EAAQwtK,iBAClB5kK,KAAM5I,EAAQytK,c,EAGtB/wL,UAAWf,EAAG,gBAAiB,wBAIvC,IAAMo0B,EAAa,SAAClY,G,MAChB,OAAO,EAAP,IACK,EAAAmY,iBAAiBpM,YAAa/L,EAAK+L,W,CAE5C,EAEA,OACI,uBAAKlnB,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAcw0B,UAAU,WAAWnlB,UAAWA,EAAW4W,KAAMmrK,IACxE,SAACnrK,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACF1zB,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACN2zH,gBAAiB03C,EACjBl9J,WAAYA,EACZ/kB,UAAWA,EACXqlB,YAAaA,EACbD,eAAgBA,GATG,IAe3C,IAEA,UAAe08J,C,+BCjMf,WAAgB,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,q7BCDnH,kBACA,WACA,cACA,cACA,cACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,cACA,cACA,cACA,cAEA,aACA,cAUMY,EAAY,SAAC1xL,GACP,IAAA2xL,EAA6C3xL,EAAK,YAArCgxD,EAAgChxD,EAAK,qBAAfkB,EAAUlB,EAAK,MAE1D,OACI,gBAAC,UAAI,CACDkB,MAAOA,GAAS,EAAA8mB,cAAcC,cAC9BxmB,QAAS,YACDkwL,aAAW,EAAXA,EAAahlK,aAAaglK,aAAW,EAAXA,EAAazlL,KACvC8kD,EAAqB2gI,EAAYhlK,UAAWglK,EAAYzlL,GAEhE,IAECylL,aAAW,EAAXA,EAAavqK,cAAe,IAGzC,EAWMznB,EAAK,UAAWC,KAAK,WAErBgyL,EAAsC9xL,EAAMC,MAAK,SAACC,GAC5C,IAAAimC,EAAwDjmC,EAAK,gBAA5C6xL,EAAuC7xL,EAAK,aAA9BgxD,EAAyBhxD,EAAK,qBAE7Da,GAAM,IAAAC,kBAAgB,EAExB2Z,GAAS,IAAAgY,oBAETkuD,EAAgB,UAAG,EAAAjhF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBnjC,MAC/EijC,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,EAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YAErFhF,GAAO,IAAAsjC,mBAAkB9rB,EAAOK,OAAQ6lE,GACxCt6C,GAAW,IAAAE,mBAAkB9rB,EAAOK,OAAQorB,GAC5Cj+B,GAAa,IAAAs+B,mBAAkB9rB,EAAOK,OAAQwrB,GAE9CqrJ,GAAcE,aAAY,EAAZA,EAAcF,cAAe,KAE7Ch3I,EAA4B,KA0BhC,OAzBItU,GAAYpjC,IAAS,EAAA6pG,0BAA0BlsF,cAC/C+5B,EACI,gBAAC,UAAe,CACZvkC,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,aAIzC4vB,GAAYpjC,IAAS,EAAA6pG,0BAA0BlsF,cAChD+5B,EACI,gBAAC,UAAe,CACZvkC,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,SAIxCqkC,GAAYpjC,IAAS,EAAA6pG,0BAA0B9rF,kBAC/C25B,EAAW,gBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB6U,aAE5D4vB,GAAYpjC,IAAS,EAAA6pG,0BAA0B9rF,kBAChD25B,EAAW,gBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB+W,QAI7D,gBAAC,UAAa,CACVxM,KAAMwuC,EACN5zC,MAAOlG,EAAE,0DACT6E,YAAa7E,EAAE,gEACf2lC,SACI,gBAAC,UAAS,CAAC9lC,UAAWf,EAAG,iBAAkB2U,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC9E,IAAA4kC,oBAAmBx+B,aAAU,EAAVA,EAAYD,MAAOC,aAAU,EAAVA,EAAY8D,MAG3D0mF,eACIk/F,EACI,uBAAKjxL,UAAWf,EAAG,iBACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,gEACRE,WAAY,CACR6W,YACI,gBAACsqK,EAAS,CACNC,YAAaA,EACb3gI,qBAAsBA,EACtB9vD,MAAO,EAAA8mB,cAAcmyJ,kBAKrC,gBAAC,UAAO,CACJp5K,SAAU,EAAAC,oBAAoB0B,WAC9BxB,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,IAAKF,UAAQ,GACrET,EAAE,8EAGXyJ,MAvFE,MAyFD,SAACqpB,GAAW,uBAAC,UAAkB,CAACA,OAAQA,GAA5B,KAGrB,KAER1uB,MAAOohC,aAAQ,EAARA,EAAUK,SAG7B,IAEA,UAAekrJ,C,yHC7IF,EAAA71H,uBAAyB,SAACr4D,GACnC,OAAAA,EAAM04D,UAAU3iB,YAAhB,EAES,EAAAulB,gBAAkB,SAACt7D,GAAwD,OAAAA,EAAM04D,UAAUA,SAAhB,C,64BCNxF,kBACA,WAQM01H,EAAiC,SAAC9xL,GAC5B,IAAA2B,EAAwC3B,EAAK,UAAlCwR,EAA6BxR,EAAK,YAArB0W,EAAgB1W,EAAK,YAErD,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,wBACR,wBACI/E,KAAM7K,EACN6P,YAAaA,GAAe,EAC5BD,EAAE,8NACF4E,QAAQ,QAEZ,wBACI3J,KAAMkK,EACNnF,EAAE,69BAKtB,EAEAugL,EAAahgL,YAAc,eAE3B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAe+/K,EAEF,EAAAC,kBAAoB,CAC7Bl1K,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WASR,OAAIryB,EACO,CACHzD,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBkS,WAItC3O,EACO,CACHxD,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB0Q,QAItCiuD,EACO,CACH5+D,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAItCpR,EACO,CACH1D,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,OAInC,CACHzQ,UAAW81B,GAAYC,EAAY,EAAA91B,qBAAqBogL,aAAe,EAAApgL,qBAAqBI,MAC5F0U,YAAa+gB,GAAYC,EAAY,EAAA91B,qBAAqB6U,UAAY,EAAA7U,qBAAqB+W,KAEnG,E,+BCxFJ,WAAgB,OAAS,8CAA8C,aAAe,oDAAoD,cAAgB,qDAAqD,OAAS,8CAA8C,SAAW,gD,+JCDjR,kBAKA,cACA,cACA,WACA,WACA,cACA,WACA,cACA,cACA,aACA,cAEMhZ,EAAK,UAAWC,KAAK,WA2BrBoyL,IAAa,MACd,EAAAxxI,uBAAuBC,UAAW,6EACnC,EAAC,EAAAD,uBAAuBE,MAAO,wEAC/B,EAAC,EAAAF,uBAAuBG,WAAY,8EACpC,EAAC,EAAAH,uBAAuBI,kBACpB,sFACJ,EAAC,EAAAJ,uBAAuBK,eACpB,mFACJ,EAAC,EAAAL,uBAAuBM,iBACpB,qFACJ,EAAC,EAAAN,uBAAuBO,iBACpB,qFACJ,EAAC,EAAAP,uBAAuBQ,gBACpB,oFACJ,EAAC,EAAAR,uBAAuBS,uBACpB,4FACJ,EAAC,EAAAT,uBAAuBU,YAAa,+E,GAGnC+wI,EAAgB,EAAI,EAAAnqL,KAoK1B,UAlKmE,SAAC9H,GAE5D,IAAAU,EAaAV,EAAK,UAZLiF,EAYAjF,EAAK,MAXLkF,EAWAlF,EAAK,SAVLmF,EAUAnF,EAAK,WATLoF,EASApF,EAAK,SARLuC,EAQAvC,EAAK,gBAPLqF,EAOArF,EAAK,WANL0F,EAMA1F,EAAK,YALL8uF,EAKA9uF,EAAK,gBAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFLwF,EAEAxF,EAAK,WADLyF,EACAzF,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CACH,CACI2H,KAAM,wBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBwQ,QACjDrL,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBC,WAC9Cx7C,MAAO,EAAAu7C,uBAAuBC,SAC9ByxI,UAAW,GAEf,CACI/lL,KAAM,wBAAC,UAAQ,CAACuK,YAAa,EAAA9U,qBAAqBwQ,MAAOzQ,UAAW,EAAAC,qBAAqBI,QACzF+E,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBE,OAC9Cz7C,MAAO,EAAAu7C,uBAAuBE,KAC9BwxI,UAAW,GAEf,CACI/lL,KACI,wBAAC,UAAQ,CACLuK,YAAa,EAAA9U,qBAAqBwQ,MAClCzQ,UAAW,EAAAC,qBAAqBI,MAChCoU,KAAM,EAAAC,oBAGdtP,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBG,YAC9C17C,MAAO,EAAAu7C,uBAAuBG,UAC9BuxI,UAAW,GAEf,CACInrL,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBI,mBAC9C37C,MAAO,EAAAu7C,uBAAuBI,iBAC9BsxI,UAAW,GAEf,CACInrL,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBK,gBAC9C57C,MAAO,EAAAu7C,uBAAuBK,cAC9BqxI,UAAW,GAEf,CACInrL,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBM,kBAC9C77C,MAAO,EAAAu7C,uBAAuBM,gBAC9BoxI,UAAW,GAEf,CACInrL,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBO,kBAC9C97C,MAAO,EAAAu7C,uBAAuBO,gBAC9BmxI,UAAW,GAEf,CACInrL,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBQ,iBAC9C/7C,MAAO,EAAAu7C,uBAAuBQ,eAC9BkxI,UAAW,GAEf,CACInrL,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBS,wBAC9Ch8C,MAAO,EAAAu7C,uBAAuBS,sBAC9BixI,UAAW,GAEf,CACInrL,MAAOlG,EAAEmxL,EAAc,EAAAxxI,uBAAuBU,aAC9Cj8C,MAAO,EAAAu7C,uBAAuBU,WAC9BgxI,UAAW,IAEjBljK,QAAO,SAACxoB,GACN,OAAKsoF,GAIEA,EAAgBvpE,SAAS/e,EAAOvB,MAC3C,GACJ,GAAG,CAACpE,EAAGiuF,IAmDP,OACI,wBAAC,UAAa,CACVpuF,UAAWA,EACXyB,QAASA,EACTgF,cAAelC,EACfktL,8BAA4B,EAC5B3qL,eARe,SAAChB,GAA4B,OAAAA,EAAOvB,KAAP,EAS5CS,YAAaA,EACbL,WAAYA,EACZH,SAAUA,EACVE,SAAUA,EACVD,WAAYA,EACZK,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTuB,aAxDa,SAACN,GAClB,IAAMohB,GAAaphB,aAAM,EAANA,EAAQvB,SAAUA,EAErC,OACI,+BACI0N,IAAKnM,aAAM,EAANA,EAAQvB,MACbvE,UAAWf,EAAG,UACdwI,MAAO,CAAEw6C,YAAa,YAAIn8C,aAAM,EAANA,EAAQ0rL,YAAa,GAAKD,EAAa,QAEjE,wBAAC,UAAQ,CACLrsG,QAASh+D,EACTlnB,UAAWf,EAAG,oBACdoH,MAAO,KACP+V,SAAU,WACN5X,EAASD,EACb,OAEDuB,aAAM,EAANA,EAAQ2F,OACP,+BACIzL,UAAWf,EAAG,gBACd8B,QAAS,WACLyD,EAASD,EACb,GAECuB,aAAM,EAANA,EAAQ2F,MAGjB,+BACIzL,UAAWf,EAAG,iBACd8B,QAAS,WACLyD,EAASD,EACb,IAECuB,aAAM,EAANA,EAAQO,QAAS,IAIlC,EAoBQozE,qBAjEqB,SAAC3zE,EAAkBd,GAC5C,OAAKc,EAIEA,aAAM,EAANA,EAAQO,MAHJrB,CAIf,EA4DQnD,gBAAiBA,EACjBL,iBAAkBvC,EAAG,WACrB8F,kBAAiBR,GAAQQ,GAGrC,C,6JChOA,IAOM2sL,EAPN,YAOoC,QAAMhvL,cAA4C,CAClFijC,SAAU,KACVyvC,YAAa,WAEb,IAGJ,UAAes8G,C,oUCdf,eAoBa,EAAA/sI,wBAA0B,SACnCn5C,EACA/J,GACwC,OACxCc,KAAM,EAAAovL,mCACNnmL,GAAE,EACF/J,QAAO,EAHiC,EAM/B,EAAAmwL,6BAA+B,SAACpmL,GAAmE,OAC5GjJ,KAAM,EAAAsvL,yCACNrmL,GAAE,EAF0G,EAKnG,EAAAsmL,+BAAiC,SAC1CtmL,EACAkD,GAC+C,OAC/CnM,KAAM,EAAAwvL,2CACNrjL,QAAO,EACPlD,GAAE,EAH6C,EAMtC,EAAAwmL,6BAA+B,SACxCxmL,EACAnI,GAC6C,OAC7Cd,KAAM,EAAA0vL,yCACN5uL,MAAK,EACLmI,GAAE,EAH2C,EAMpC,EAAAu5C,uBAAyB,SAACv5C,EAAoB0mL,GAAiD,OACxG3vL,KAAM,EAAA4vL,2BACN3mL,GAAE,EACF0mL,MAAK,EAHmG,EAM/F,EAAAE,8BAAgC,SAAC5mL,GAA6D,OACvGjJ,KAAM,EAAA8vL,kCACN7mL,GAAE,EAFqG,EAK9F,EAAA8mL,gCAAkC,SAAC9mL,GAA+D,OAC3GjJ,KAAM,EAAAgwL,oCACN/mL,GAAE,EAFyG,EAKlG,EAAAgnL,8BAAgC,SACzChnL,EACAnI,GACuC,OACvCd,KAAM,EAAAkwL,kCACNpvL,MAAK,EACLmI,GAAE,EAHqC,C,sBClE3C,IAAYxM,E,sHAHC,EAAAkoI,cAAgB,IAChB,EAAAzjF,+BAAiC,EAE9C,SAAYzkD,GACR,gCACA,gCAEA,kCACA,8CAEA,oCACA,gDAEA,wBACA,wBAEA,8BACA,4BAEA,kCAEA,wCACA,sCACA,+BACH,CArBD,CAAYA,IAAU,aAAVA,EAAU,I,umDC4BtB,qC,kDACI,UAAM,IAAAqxB,eAAc,EAAAyvJ,8BAA+B4S,I,cAAnD,S,SAlCJ,eACA,WAKA,WACA,WACA,cACA,UAEA,SAAUA,I,8DACqE,UAAM,IAAAxmL,QAC7E,EAAAqyI,mC,OAEJ,OAHMz7I,EAAqE,UAGzDU,IAAMV,EAAcK,QAClC,IAGJ,IAAM,IAAAiJ,MAAI,IAAAumL,mC,OAGN,OAHJ,SAGI,GAAM,UAAkBC,0B,cADtB,kBACF,SAAgD,IAD7CvvL,EAAK,KAAE0mD,EAAI,KAGd1mD,EACA,IAAM,IAAA+I,MAAI,IAAAymL,+BAA8BxvL,KADxC,M,OACA,S,wBAGA0mD,EACA,IAAM,IAAA39C,MAAI,IAAA0mL,iCAAgC/oI,KAD1C,M,OACA,S,u/BC7BR,IAoBKgpI,EApBL,WAIA,WACA,cACA,cACA,WACA,cACA,WAIA,cACA,cAEA,UACA,cAGA,SAAKA,GACD,sBACA,kBACA,kBACA,aACH,CALD,CAAKA,IAAAA,EAAmB,KASX,EAAA/7C,0BAA4B,SAAC,G,MACtCC,EAAqB,wBACrB5a,EAAY,eACZp7F,EAAW,cACXD,EAAkB,qBAClBw7E,EAAS,YAQDwtB,EAA+ExtB,EAAS,mBAApEutB,EAA2DvtB,EAAS,iBAAlD0tB,EAAyC1tB,EAAS,iBAAhCytB,EAAuBztB,EAAS,mBACxFw2E,EAAyB/xJ,EAAW,qBACpCw2G,EAA6Dz2G,EAAkB,mBAA3DiyJ,EAAyCjyJ,EAAkB,mBAAvCk2G,EAAqBl2G,EAAkB,iBAE/E7gC,GAAM,IAAAC,kBAAgB,EAExB+tI,IAAgB,MAIjB4kD,EAAoB3kD,UAAW,CAC5B3iI,KAAM,gBAAC,UAAY,CAACxK,UAAW,EAAAC,qBAAqBC,SAAUuU,KAAM,EAAAC,oBACpEtP,MAAOlG,EAAE,2CACTqE,SAAU,WACFyyI,EACAjN,EAAmBiN,EAAsBzrI,KAEzC,IAAAwoB,YAAW,8BAEnB,GAEJ,EAAC++J,EAAoBG,QAAS,CAC1BznL,KAAM,gBAAC,UAAc,CAACxK,UAAW,EAAAC,qBAAqBC,WACtDkF,MACsC,QAAlC4wI,aAAqB,EAArBA,EAAuBvuH,QACjBvoB,EAAE,yCACFA,EAAE,6CACZqE,SAAU,YACFyyI,aAAqB,EAArBA,EAAuB56C,gBACvB0tC,EAAiBkN,EAAsB56C,iBAEvC,IAAAroE,YAAW,4BAEnB,GAEJ,EAAC++J,EAAoB1kD,QAAS,CAC1B5iI,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBkS,YACjD/M,MAAOlG,EAAE,yCACTqE,SAAU,WACF63H,GAAgB4a,EAChB/M,EAAiB7N,EAAa7wH,GAAIyrI,EAAsBzrI,KAExD,IAAAwoB,YAAW,4BAEnB,GAEJ,EAAC++J,EAAoBt2E,MAAO,CACxBhxG,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C1P,MAAOlG,EAAE,uCACTqE,SAAU,WACF63H,EACA4N,EAAmB5N,EAAa95H,OAEhC,IAAAyxB,YAAW,0BAEnB,G,GAiDR,OA7CgB50B,EAAM0E,SAAQ,WAC1B,IAAMwqI,IAAkB2I,EAElBhpI,EAA0D,GA0BhE,OAxBIqgI,GAAiB0kD,GACjB/kL,EAAQ+I,KAAK+7K,EAAoB3kD,UAGjCE,GAAiBmJ,GACjBxpI,EAAQ+I,KAAK+7K,EAAoBG,SAGjCj8C,aAAqB,EAArBA,EAAuBvuH,UAAW,EAAAyC,mBAAmBE,UAAYijH,GAAiB4I,IAClFjpI,EAAQ+I,KAAK,EAAAsjF,kBAAkBC,YAGzB08C,aAAqB,EAArBA,EAAuB/lH,gBACxB,EAAAiiK,0BAA0B5kK,IAAI0oH,EAAsB/lH,eAErDjjB,EAAQ+I,KAAK+7K,EAAoBt2E,QAIrCw6B,aAAqB,EAArBA,EAAuBvuH,UAAW,EAAAyC,mBAAmBE,UAAYijH,GAAiB2kD,IAClFhlL,EAAQ+I,KAAK,EAAAsjF,kBAAkBC,WAC/BtsF,EAAQ+I,KAAK+7K,EAAoB1kD,SAG9BpgI,CACX,GAAG,CAACgpI,EAAuB+7C,EAAsBv7C,EAAoBw7C,EAAoB/7C,IAEjEvgI,KAAI,SAAC1T,GACzB,GAAIA,IAAW,EAAAq3F,kBAAkBC,UAC7B,OAAO,EAAAD,kBAAkBC,UAG7B,IAAMg0C,EAAeJ,EAAiBlrI,GAEtC,MAAO,CACHoD,MAAO,gBAAC,UAA0B,CAACoF,KAAM8iI,EAAa9iI,KAAMpF,MAAOkoI,EAAaloI,QAChF7B,SAAU+pI,EAAa/pI,SAE/B,GAGJ,C,u7BCzJA,kBAEA,cACA,WACA,WACA,cAEA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,WACA,UAIA,cACA,cACA,UACA,WAEMvF,EAAK,UAAWC,KAAK,WAErB01E,IAAc,MACf,EAAA51E,WAAW6sF,aAAc,GAC1B,EAAC,EAAA7sF,WAAWyxB,aAAc,KAC1B,EAAC,EAAAzxB,WAAWyoD,SAAU,GACtB,EAAC,EAAAzoD,WAAW0oD,MAAO,GACnB,EAAC,EAAA1oD,WAAWuoD,SAAU,GACtB,EAAC,EAAAvoD,WAAW2oD,aAAc,K,GASxByrI,EAAuDh0L,EAAMC,MAAK,SAACC,GAC7D,IAAA6D,EAA6B7D,EAAK,QAAzB6a,EAAoB7a,EAAK,SAAf+D,EAAU/D,EAAK,MAClCa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEEkjD,EAAgBjkD,EAAM0E,SAAQ,WAChC,OAAO,aAAa3D,EAAGy0E,EAC3B,GAAG,CAACz0E,IAEE4Z,GAAS,IAAAC,WAAuB,CAClCE,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAe86D,EACf1xB,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACfF,EAASC,GAETC,EAAcI,WAAW,CAAC,EAC9B,IAkBEk6J,EAAsB56J,EAAOK,OAAO,EAAApb,WAAW2oD,aAC/CktH,EAAkB96J,EAAOK,OAAO,EAAApb,WAAWyxB,aAajD,OAXA,IAAAmkJ,kCACI,CACID,oBAAmB,EACnBE,gBAAe,IAEnB,W,MACI96J,EAAOU,aAAU,MAAI,EAAAzb,WAAW2oD,cAAc,EAAK,IAAI,GACvD5tC,EAAOsB,cAAc,EAAArc,WAAW2oD,YAAa,KACjD,IAIA,wBAAMxtC,SAAUJ,EAAOiB,cACnB,uBAAKhb,UAAWf,EAAG,WACf,gBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAW6sF,YACjBxoF,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6sF,aAChC1wE,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6sF,aACrCxlF,MAAOlG,EAAE,2CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW6sF,YACjBtnF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6sF,aAChCzvE,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAWyxB,YACjBptB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyxB,aAChCpqB,MAAOlG,EAAE,2CACTgb,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyxB,aACrCpV,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAe,CACZiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyxB,aAChCrU,SAAU,SAACqU,GACPnxB,EAAM8c,SAASqU,EACnB,EACA7rB,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAPX,IAWhB,gBAAC,UAAU,CAACkuG,OAAQ,GAChB,gBAAC,UAAW,CACR/yG,UAAWf,EAAG,cACdiZ,KAAM,EAAAlZ,WAAWyoD,QACjBpkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyoD,SAChCtsC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyoD,SACrCphD,MAAOlG,EAAE,uCACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWyoD,QACjBljD,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyoD,SAChCziD,aAAa,IAAAu0K,uBAAsBx/J,EAAOK,OAAO,EAAApb,WAAWyxB,cAC5DrU,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,gBAAC,UAAW,CACRzE,UAAWf,EAAG,eACdiZ,KAAM,EAAAlZ,WAAW0oD,KACjBrkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0oD,MAChCvsC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0oD,MACrCrhD,MAAOlG,EAAE,oCACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW0oD,KACjBnjD,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0oD,MAChCtrC,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,KAapB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAWuoD,QACjBlkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWuoD,SAChCpsC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWuoD,SACrClhD,MAAOlG,EAAE,uCACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWuoD,QACjBhjD,MAAOwV,EAAOK,OAAO,EAAApb,WAAWuoD,SAChCnrC,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAW2oD,YACjBtkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2oD,aAChCxsC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2oD,aACrCthD,MAAOlG,EAAE,0CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAiB,CACdmxB,YAAa1W,EAAOK,OAAO,EAAApb,WAAWyxB,aACtClsB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW2oD,aAChCvrC,SAAU9c,EAAM8c,SAChBpX,YAAa7E,EAAE,gDACf0B,gBAAiB,EAAAC,4BAA4BiF,WAC7CrC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAVX,KAepB,gBAAC,UAAkB,CAACkgF,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,gBAAC,UAAM,CAAC5M,UAAWnL,EAAS3C,MAAO,EAAA2N,gBAAgB8O,QAAS1a,KAAK,SAASvC,UAAWf,EAAG,WACnFkB,EAAE,uCAEP,uBAAKH,UAAWf,EAAG,UAnKD,SAACoE,GACvB,OAAKA,GAKD,IAAAy6E,gCAA+Bz6E,IAC/BA,EAAM06E,UAAY,EAAAC,mCAAmC2gD,kBAE9Cx+H,EAAE,2CAGNkD,aAAK,EAALA,EAAOwU,UAAW,KAVd,IAWf,CAsJsCw7K,CAAkBhwL,IAG5D,IAEA,UAAe+vL,C,0hCCzOf,kBACA,WACA,cACA,cACA,cACA,cACA,aAMME,EAAsB,CACxB3qJ,OAAQ,CACJ73B,YAAa,GACbhF,KAAM,EAAA5K,qBAAqBsS,YAC3BzC,OAAQ,EAAA7P,qBAAqB6U,WAEjC0T,QAAS,CACL3Y,YAAa,EACbhF,KAAM,EAAA5K,qBAAqBI,MAC3ByP,OAAQ,EAAA7P,qBAAqBwQ,QAIxB,EAAAy3J,iBAA6C,SAAC7pK,GAC/C,IAAAqC,EAAarC,EAAK,SAE1B,OACI,gBAAC,UAAY,CACTwR,YAAanP,EAAW2xL,EAAoB3qJ,OAAO73B,YAAcwiL,EAAoB7pK,QAAQ3Y,YAC7F7P,UAAWU,EAAW2xL,EAAoB3qJ,OAAO78B,KAAOwnL,EAAoB7pK,QAAQ3d,KACpFkK,YAAarU,EAAW2xL,EAAoB3qJ,OAAO53B,OAASuiL,EAAoB7pK,QAAQ1Y,QAGpG,EAEa,EAAAk4J,aAAyC,SAAC3pK,GAC3C,IAAAqC,EAAarC,EAAK,SAE1B,OACI,gBAAC,UAAQ,CACLoW,KAAM,EAAAC,kBACNK,YAAarU,EAAW2xL,EAAoB3qJ,OAAO53B,OAASuiL,EAAoB7pK,QAAQ1Y,QAGpG,EAEa,EAAAi5J,cAA0C,SAAC1qK,GAC5C,IAAAqC,EAAarC,EAAK,SAE1B,OACI,gBAAC,UAAY,CACTwR,YAAanP,EAAW2xL,EAAoB3qJ,OAAO73B,YAAcwiL,EAAoB7pK,QAAQ3Y,YAC7F7P,UAAWU,EAAW2xL,EAAoB3qJ,OAAO78B,KAAOwnL,EAAoB7pK,QAAQ3d,KACpFkK,YAAarU,EAAW2xL,EAAoB3qJ,OAAO53B,OAASuiL,EAAoB7pK,QAAQ1Y,QAGpG,EAEa,EAAA44J,wBAAoD,SAACrqK,GACtD,IAAAqC,EAAarC,EAAK,SAE1B,OACI,gBAAC,UAAQ,CACLoW,KAAM,EAAAC,kBACN7E,YAAanP,EAAW2xL,EAAoB3qJ,OAAO73B,YAAcwiL,EAAoB7pK,QAAQ3Y,YAC7F7P,UAAWU,EAAW2xL,EAAoB3qJ,OAAO78B,KAAOwnL,EAAoB7pK,QAAQ3d,KACpFkK,YAAarU,EAAW2xL,EAAoB3qJ,OAAO53B,OAASuiL,EAAoB7pK,QAAQ1Y,QAGpG,EAEa,EAAAwiL,gBAA4C,SAACj0L,GAC9C,IAAAqC,EAAarC,EAAK,SAE1B,OACI,gBAAC,UAAO,CACJwR,YAAanP,EAAW2xL,EAAoB3qJ,OAAO73B,YAAcwiL,EAAoB7pK,QAAQ3Y,YAC7F7P,UAAWU,EAAW2xL,EAAoB3qJ,OAAO78B,KAAOwnL,EAAoB7pK,QAAQ3d,KACpFkK,YAAarU,EAAW2xL,EAAoB3qJ,OAAO53B,OAASuiL,EAAoB7pK,QAAQ1Y,QAGpG,C,q7BCnFA,kBAEA,cACA,cAEA,WAEA,cACA,WACA,aACA,WACA,cACA,cACA,cAGA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cAGA,cAEM9R,EAAK,UAAWC,KAAK,WAgBrBs0L,EAA0Cp0L,EAAMC,MAAK,SAACC,GAEpD,IAAAm0L,EAWAn0L,EAAK,gBAVLkF,EAUAlF,EAAK,SATLoqL,EASApqL,EAAK,cARLs0C,EAQAt0C,EAAK,aAPL4nB,EAOA5nB,EAAK,WANLqF,EAMArF,EAAK,WALLo0L,EAKAp0L,EAAK,cAJLuW,EAIAvW,EAAK,MAHLq0L,EAGAr0L,EAAK,oBAFLs0L,EAEAt0L,EAAK,sBADLu0L,EACAv0L,EAAK,sBAEDa,GAAM,IAAAC,kBAAgB,EAExB0zL,EAAwB3zL,EAAE,uCAC1B4zL,EAA6B5zL,EAAE,4CAE/B6zL,GAAe,IAAA9qG,mBAAkBrzE,EAAMu1E,gBAEvC6oG,EAAsBD,EACtB7zL,EAAE,mCAAoC,CAClC07G,MAAO,UAAGm4E,EAAY,YAAI7zL,EAAE,eAAgB,CACxCgC,YAAa,WACbD,MAAO8xL,OAGf,KAiBAE,EAAqB,WACvBxK,GACJ,EAEM94J,EAAY6iK,EAAkB59K,EAAMs+K,WAE1C,OACI,uBACIn0L,UAAWf,EAAG,UAAW,CACrB,wBAAyB20C,IAE7B7yC,QA1BY,SAACkK,G,QACjB,IAAIA,aAAK,EAALA,EAAOoc,kBAAkB+sK,YAAa,CAEtC,IADkD,QAAtB,EAAa,QAAb,EAAAnpL,aAAK,EAALA,EAAOoc,cAAM,eAAEgtK,eAAO,eAAEC,cACzB1gJ,EACvB,QAGAA,GAAiB1sB,GAAeviB,EAGhC+kL,IAFAllL,GAIR,CACJ,EAa4B,qBACD,yBAElBovC,EACG,gBAAC,UAAY,CAAC5zC,UAAWf,EAAG,QAASioB,WAAYA,EAAYviB,WAAYA,IAEzE,gBAAC,UAAY,CAAC3E,UAAWf,EAAG,QAAS0F,WAAYA,IAErD,uBAAK3E,UAAWf,EAAG,WACd4W,aAAK,EAALA,EAAOM,QACJ,uBACInW,UAAWf,EAAG,eAAgB,CAC1B,wBAAyB00L,KAG7B,gBAAC,UAAK,CAACz9K,OAAQu9K,EAAiBr9K,SAAU,EAAAC,aAAaC,OAG/D,uBAAKtW,UAAWf,EAAG,uBACf,gBAAC,UAAa,CACVu/F,MAAO,CAAC,EAAArmF,aAAamrF,iBAAkB,EAAAnrF,aAAaC,wBACpDlW,MAAO0uB,MAInB,uBAAK5wB,UAAWf,EAAG,0BACf,gBAAC,UAAO,CACJoB,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAEuzL,EAAgB,+BAAiC,mCAI3D,WAAM,OACH,gBAAC,UAAkB,CACf3gF,OAAO,KACPhyG,QAASmzL,EACTlzL,SACI,gBAAC,UAAU,CAACC,UAAW,EAAAC,qBAAqBsS,YAAa6U,SAAUqrK,IAEvEtyL,gBAAiB,EAAAC,oBAAoBC,OAPtC,KAYdsyL,GACG,uBAAK5zL,UAAWf,EAAG,SACf,gBAAC,UAAO,CACJoB,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE,6CAIV,WAAM,OACH,gBAAC,UAAkB,CACf4yG,OAAO,KACPhyG,QAAS,SAACkK,GACNA,EAAMW,kBAEFioL,GACAA,GAER,EACA7yL,SACI,gBAAC,UAAQ,CACL0U,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBC,WAG1CC,gBAAiB,EAAAC,oBAAoBC,OAjBtC,KAuBnB,uBAAKtB,UAAWf,EAAG,kBACf,uBAAKe,UAAWf,EAAG,qBAAsB,8BACrC,uBAAKe,UAAWf,EAAG,qBACd4W,aAAK,EAALA,EAAO0+K,eACJ,gBAAC,UAAc,CACXv0L,UAAWf,EAAG,aACd4sC,SAAU,EAAA2oJ,2BAA2BC,IACrCC,aAAcv0L,EAAE,6CAGxB,gBAAC,UAAO,CACJE,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,uDAIV,WACG,OAAA0V,aAAK,EAALA,EAAOk7B,eAAgB,gBAAC,UAAiB,CAACA,cAAel7B,EAAMk7B,gBAAoB,IAAnF,IAGR,gBAAC,UAAkB,CAAC27G,WAAY72I,aAAK,EAALA,EAAOq7B,mBAG/C,uBAAKlxC,UAAWf,EAAG,qBAAsB,kCACrC,uBAAKe,UAAWf,EAAG,gBACd4W,aAAK,EAALA,EAAO8+K,mBACJ,gBAAC,UAAc,CACX30L,UAAWf,EAAG,aACd4sC,SAAU,EAAA2oJ,2BAA2Bj+K,OACrCm+K,aAAcX,KAGrBl+K,aAAK,EAALA,EAAO++K,aACJ,gBAAC,UAAc,CACX50L,UAAWf,EAAG,aACd4sC,SAAU,EAAA2oJ,2BAA2BzrG,QACrC2rG,aAAcT,KAGrBp+K,aAAK,EAALA,EAAOg/K,cACJ,gBAAC,UAAc,CACX70L,UAAWf,EAAG,aACd4sC,SAAU,EAAA2oJ,2BAA2BprG,UACrCsrG,aAAcZ,KAGrB,aAASj+K,aAAK,EAALA,EAAOg1E,KACb,gBAAC,UAAO,CACJxqF,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,qDAGX0oH,UAAQ,IAEP,WAAM,OACH,gCACI,gBAAC,UAAY,CACT7yG,YAAa,EAAA9U,qBAAqBC,SAClCnB,UAAWf,EAAG,oBAElB,gBAAC,UAAiB,CAACe,UAAWf,EAAG,mBAAoB4rF,IAAKh1E,aAAK,EAALA,EAAOg1E,MANlE,IAUX,QAM5B,IAEA,UAAe2oG,C,4+ECrQf,cACA,WACA,WACA,WACA,aACA,WAqBA,WAiCA,cACA,WACA,WAcA,cACA,cACA,aACA,UACA,WACA,UAEA,WACA,cACA,UAWA,WACA,WACA,WACA,WACA,UAOA,cACA,cACA,cACA,cACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAGA,SAAUsB,I,kCACN,UAAQ99K,KAAK,CACTusB,UAAU,IAAAwxJ,cAAa,EAAAthJ,cAAc7O,UACrC3tB,OAAQ,UAAQ0uB,SAAS1uB,S,OAIjC,IAAI+9K,EAAmC,KAEvC,SAAUC,K,yDACFD,EACA,IAAM,IAAAE,QAAOF,IADb,M,OACA,SACAA,EAA6B,K,+BAIrC,IAAMG,GAAwB,EAAI,EAAAx2I,UAGlC,SAAUy2I,GAA+B,G,oBACrCtmJ,EAAK,QACLumJ,EAAmB,sB,kDAMnB,IAAKA,EACD,UAGAC,EAAU,EACVC,GAAa,E,wBAEVD,GAjBY,IAiBkBC,EAC7BD,EACA,IAAM,IAAA1rL,OAAM0rL,EAAUH,KADtB,MADuC,O,OAEvC,S,iBAIA,SAAM,UAAkBK,eAAe1mJ,I,cADrC2mJ,EACF,SACE,IAAwCA,EAAmB,GAA1DC,EAAmB,KAAEC,EAAc,KAEtCD,EACA,IAAM,IAAAtpL,MAAI,IAAAwpL,kBAAiBF,KAD3B,M,OACA,S,wBAGCC,EAAD,OACMtyL,EAAQ,IAAIshJ,MAAM,yBACxB,IAAM,IAAAv4I,MAAI,IAAAwpL,kBAAiBvyL,M,OAA3B,S,iBAIJ,OADM4sC,GAAe0lJ,GAAkB,IAAIh/K,IAAI,WAC/C,IAAM,IAAAvK,MAAI,IAAAypL,aAAY5lJ,K,cAAtB,SAEAslJ,GAAatlJ,aAAW,EAAXA,EAAa1uC,SAAU8zL,EACpCC,GAAW,E,4BAInB,SAASQ,GAAiB7pL,GACtB,OAAO,SAAwBhJ,G,4FAK3B,OAJMglE,EAAWh8D,IAAgB,EAAAK,gBAAgBC,OAEzCwpL,EAAgC9yL,EAAM,mBAAlB2jC,EAAY3jC,EAAM,QAE9C,GAAMgyL,M,OACN,OADA,SACA,IAAM,IAAA7oL,MAAI,IAAA4pL,sB,OAEV,OAFA,SAEA,IAAM,IAAA5pL,MAAI,IAAA6pL,oB,OAKN,OALJ,SAEM/kH,EAAYtqC,aAAO,EAAPA,EAASsqC,UAGvB,GAAM,UAAkBglH,+BAA+BhlH,EAAW6kH,I,OAEtE,OAHMI,EACF,WAME,IAA0CA,EAAoB,GAA7DC,EAAiB,KAAEC,EAAkB,KACxCD,EACA,IAAM,IAAAhqL,MAAI,IAAAkqL,gBAAeF,KADzB,OAJA,I,OAMA,OADA,SACA,I,OAEJ,OAAKC,GAKCvnJ,EAAQunJ,aAAkB,EAAlBA,EAAoBvnJ,MAC5BynJ,GAA4B,IAAAC,iCAEnB,MACV,EAAAr/K,cAAc+6B,iCAAkCqkJ,EACjD,EAAC,EAAAp/K,cAAcI,2BAA2B,IAAAF,gBAAeg/K,aAAkB,EAAlBA,EAAoBI,qBAC7E,EAAC,EAAAt/K,cAAcC,0BAA0B,IAAAC,gBAAeg/K,aAAkB,EAAlBA,EAAoBK,oBAC5E,EAAC,EAAAv/K,cAAcw/K,gCAAiCN,EAAmB/5K,aAAe,IAC7E3F,KAAI,SAACuV,GACF,OAAO,IAAA7U,gBAAe6U,EAC1B,IACCykB,KAAK,EAAAovF,eACV,EAAC,EAAA5oH,cAAcy/K,kCAAkCP,aAAkB,EAAlBA,EAAoBQ,eAAgB,IAChFlgL,KAAI,SAACuV,GACF,OAAO,IAAA7U,gBAAe6U,EAC1B,IACCykB,KAAK,EAAAovF,eAbR+2D,E,EAgBN,UAAQ9/K,KAAK,CACTusB,UAAU,IAAAwxJ,cAAa,EAAAthJ,cAAcsjJ,eAAgB,CACjDjoJ,MAAK,IAET73B,QAAQ,IAAAC,aAAY4/K,KAGlBzB,GAAsBgB,aAAkB,EAAlBA,EAAoBhB,sBAAuB,KACvE,IAAM,IAAAjpL,MAAI,IAAA4qL,wBAAuB3B,QA/B7B,IAAArhK,YAAW,4BACX,K,cA8BJ,SAEI8a,EAC6B,IAAM,IAAAmoJ,MAAK7B,GAAgC,CACpEntH,SAAQ,EACRn5B,MAAK,EACLumJ,oBAAmB,KAJvB,M,OACAL,EAA6B,S,iBAQ7B,SAAM,UAAkBkC,cAAcpoJ,I,eADpCqoJ,EACF,SACE,IAA0CA,EAAqB,GAA9DC,EAAkB,KAAEC,EAAiB,KAExCD,EACA,IAAM,IAAAhrL,MAAI,IAAAkqL,gBAAec,KADzB,O,QAEA,OADA,SACA,I,eAGCC,EAAD,QACMh0L,EAAQ,IAAIshJ,MAAM,oBACxB,IAAM,IAAAv4I,MAAI,IAAAkqL,gBAAejzL,M,QACzB,OADA,SACA,I,QAKJ,OAFMi0L,GAAc,aAAWD,GAE/B,IAAM,IAAAjrL,MAAI,IAAAmrL,kBAAiBD,K,eAA3B,UAEID,aAAiB,EAAjBA,EAAmB19H,YACnB,IAAM,IAAAvtD,MAAI,IAAAorL,YAAWH,EAAkB19H,cADvC,O,QACA,S,iCAGZ,CA6FA,SAAU89H,GAA8Bx0L,G,yDAEhC,IAAA66E,gCAA+B76E,EAAOI,QACtCJ,EAAOI,MAAM06E,UAAY,EAAAC,mCAAmC2qG,6BAG5D,IAAM,IAAAv8K,MAAI,IAAAsrL,oBAAmB,CAAC,KAJ9B,M,OAIA,S,+BAIR,SAAUC,K,wDACoD,UAAM,IAAAzrL,QAAO,EAAA0rL,oB,cAAjEC,EAAoD,UACrD,aAAMA,EAAYpqL,QAAUoqL,EAAY31L,QAAU21L,EAAYpqL,MAA/D,MACA,GAAMwnL,M,OAAN,S,+BA+FR,SAAS6C,GAAoB7vH,GACzB,OAAO,SAA2BhlE,G,oEAE9B,OADQ80L,EAAiD90L,EAAM,mBAAnC+0L,EAA6B/0L,EAAM,kBAAhB6rC,EAAU7rC,EAAM,MAC/D,IAAM,IAAAmJ,MAAI,IAAA6rL,sB,OAGN,OAHJ,SAGI,GAAM,UAAkBC,YAAYppJ,EAAOipJ,I,cADzCI,EACF,SACE,IAAgBA,EAAmB,GAAlC90L,EAAK,KAAE0I,EAAI,KACd1I,EACA,IAAM,IAAA+I,MAAI,IAAAgsL,kBAAiB/0L,KAD3B,M,cACA,WAGI,IAAAy6E,gCAA+Bz6E,KAC9BA,aAAK,EAALA,EAAO06E,WAAY,EAAAC,mCAAmCsxB,0BACnDjsG,aAAK,EAALA,EAAO06E,WAAY,EAAAC,mCAAmCuxB,kCACtDlsG,aAAK,EAALA,EAAO06E,WAAY,EAAAC,mCAAmCwxB,mCAE1D,UAAQx4F,KAAK,EAAAy8B,cAAc7O,U,aAG/B,UAAM,IAAAx4B,MAAI,IAAAisL,wB,OAIV,OAJA,SAEA,EAAAC,qBAAqB13J,KAAK,CAAC,GAE3B,IAAM,IAAAx0B,MAAI,IAAAmsL,wB,OAAV,SAE4B,IAAI,UAAc,EAAAjyG,yBAC1BnjB,QAEW,IAAI,UAAc,EAAAq1H,2BAC1Br1H,QAEnB60H,EACA,UAAQhhL,KAAK,aAAiByhL,kBACtBxwH,GAAYl8D,GAAQ,YAAaA,EACzC,UAAQiL,KAAK,aAAkB0hL,aAAa3sL,EAAKkjD,UAC1CgZ,GAAYl8D,GAAQ,YAAaA,EACxC,UAAQiL,KAAK,aAAiBqxE,mBAAmBt8E,EAAKkjD,UAEtD,UAAQj4C,KAAK,CACTusB,SAAU,EAAAo1J,iBAAiBruB,O,+BAK/C,CAgCA,SAAUsuB,GAAgB31L,G,4CACd4S,EAAiB5S,EAAM,MAAhB6rC,EAAU7rC,EAAM,MAEzBsgC,GAAW,IAAAwxJ,cAAa,EAAAthJ,cAAcolJ,gBAAiB,CACzD/pJ,MAAK,EACLgqJ,QAASjjL,EAAMrK,KAGnB,UAAQwL,KAAKusB,EAAW,UAAQoC,SAAS1uB,Q,OAG7C,SAAU8hL,GACN9wH,EACA+wH,G,4FAI0F,OAFtF/tL,EAAkC,CAAC,EAEmD,IAAM,IAAAiB,QAC5F,EAAAgpE,qC,cADA+jH,EAAsF,UAGtF,aAAQA,GACR,IAAM,IAAAnzG,MAAK,CAAC,EAAAmvB,yCADZ,M,OAE+B,OAD/B,SAC+B,IAAM,IAAA/oG,QAAO,EAAAgpE,qC,OAA5C+jH,EAA+B,S,wBAG7BC,GAAwB,IAAAC,oBAAmBlxH,EAAU+wH,GAErDI,EAAgD,QAA7B,EAAAJ,aAAkB,EAAlBA,EAAoBK,iBAAS,eAAEryJ,OAAM,SAAChB,G,QAC3D,IAAIA,aAAO,EAAPA,EAASzjC,QAAS,EAAA+2L,qBAAqB/qK,IAAIyX,EAAQzjC,MACnD,OAAO,EAGX,IAAMkuB,EAA8B,QAAhB,EAAAuV,aAAO,EAAPA,EAASA,eAAO,eAAEhgB,QACtC,QACIyK,MAC2C,QAAzC,EAAAwoK,EAA6BxoK,UAAY,eAAE8oK,QACzCP,aAAkB,EAAlBA,EAAoB5uG,oBAAoBvlE,SAAS4L,KAM7D,IAEK2oK,GAAqBF,EAAtB,MACA,IAAM,IAAA9sL,MAAI,IAAAotL,6BAA4BR,K,OACtC,OADA,SACO,CAAP,EAAO/tL,G,OAGX,UAAM,IAAAmB,MAAI,IAAAqtL,oBAAmBT,K,cAA7B,UAGA,IAAAU,UAAS,iCAA0B92H,KAAKC,UAAUq2H,EAAuB,KAAM,KAKvEv9K,EAA4Cu9K,EAAqB,UAAnDS,EAAyB,EAAKT,EAA9C,eACFjxH,EACwB,GAAM,UAAkB2xH,iCAC5CD,EACAh+K,QAAa/V,IAHjB,M,cACAi0L,EAAwB,S,cAKA,SAAM,UAAkBD,iCAAiCD,I,QAAjFE,EAAwB,S,0BAI5B,IAAAH,UAAS,kCAA2B92H,KAAKC,UAAUg3H,EAAuB,KAAM,KAG1E,IAAmBA,EAAqB,GAAvCx2L,EAAK,KAAEujC,EAAO,KACjBvjC,EACA,IAAM,IAAA+I,MAAI,IAAA0tL,oBAAmBz2L,EAAO21L,KADpC,O,QACA,S,0BAGApyJ,GACMmzJ,GAAkB,aAAenzJ,GACvC,IAAM,IAAAx6B,MAAI,IAAA4tL,sBAAqBD,EAAiBf,MAFhD,O,QAEA,SAEA/tL,EAAQ,CACJgvL,gBAAiBF,aAAe,EAAfA,EAAiBrnJ,Q,mBAIpCwnJ,GAAQtzJ,aAAO,EAAPA,EAASszJ,QAAS,G,8CACb,IAAAA,GAAK,W,yCAAbz7J,EAAI,QACX,IAAM,IAAAryB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB6F,iBAC1BzyB,KAAM,CACF0yB,KAAI,S,QALpB,S,2MAYJ,MAAO,CAAP,EAAOxzB,G,IAGX,SAAUkvL,GACNlyH,EACAoJ,EACAzqC,G,8EAOA,OALI37B,EAAkC,CAAC,EAEjCmvL,GAAyB,IAAA7oH,2BAA0BF,EAAqBzqC,GACxEsqC,EAAYG,aAAmB,EAAnBA,EAAqBH,UAElCG,GAAwB+oH,GAA2BlpH,EAIxD,IAAM,IAAA9kE,MAAI,IAAAiuL,qBAAoBhpH,KAHnB,CAAP,EAAOpmE,G,OAUP,OAPJ,UAGA,IAAAyuL,UAAS,yCAAkC92H,KAAKC,UAAU,CAAEqO,UAAS,EAAEkpH,uBAAsB,GAAI,KAAM,KAInG,GAAM,UAAkBE,eACpBppH,EACAkpH,GACA/oH,aAAmB,EAAnBA,EAAqBnqC,cAAUthC,I,cAJjC20L,EACF,UAOJ,IAAAb,UAAS,0CAAmC92H,KAAKC,UAAU03H,EAAwB,KAAM,KAGnF,IAAsBA,EAAsB,GAA3Cl3L,EAAK,KAAEm3L,EAAU,KACpBn3L,EACA,IAAM,IAAA+I,MAAI,IAAAquL,qBAAoBp3L,EAAOguE,KADrC,M,OACA,S,wBAEAmpH,GACMt5I,GAAU,aAAsBs5I,EAAY5zJ,GAClD,IAAM,IAAAx6B,MAAI,IAAAsuL,uBAAsBx5I,EAASmwB,MAFzC,M,OAEA,SAEM,GACa,QAAf,EAAAzqC,aAAO,EAAPA,EAAS8L,cAAM,eAAE2O,QAA8D,SAACC,EAAK1O,GAGjF,OAFA0O,EAAI1O,EAAMpnC,IAAMonC,EAAMo9B,eAAgB,IAAA2qH,uBAAsB/nJ,IAAU,KAE/D0O,CACX,GAAG,CAAC,KAAM,CAAC,EAEfr2C,EAAQ,CACJ2vL,8BAAmD,QAApB,EAAA15I,aAAO,EAAPA,EAAS4uB,mBAAW,eAAEzuB,QAEnD,SAACC,EAAK/5C,GACJ,GAAIA,aAAU,EAAVA,EAAYiE,GAAI,CAChB,IAAMwkE,EAAe,EAAsBzoE,EAAWiE,IAClDwkE,IACA1uB,EAAI0uB,GAAgBzoE,EAAW45E,qBAAuB,KAE9D,CAEA,OAAO7/B,CACX,GAAG,CAAC,GACJu5I,+BAAoD,QAApB,EAAA35I,aAAO,EAAPA,EAAS4uB,mBAAW,eAAEzuB,QAClD,SAACC,EAAK/5C,GACF,GAAIA,aAAU,EAAVA,EAAYiE,GAAI,CAChB,IAAMwkE,EAAe,EAAsBzoE,EAAWiE,IAClDwkE,IACA1uB,EAAI0uB,GAAgBzoE,EAAWuzL,uBAAyB,KAEhE,CAEA,OAAOx5I,CACX,GACA,CAAC,I,iBAKb,MAAO,CAAP,EAAOr2C,G,IAGX,SAAU8vL,GACN9uL,EACAhJ,G,kGAMgD,OAJ5C4jC,EAA6C,CAAC,EAE5CohC,EAAWh8D,IAAgB,EAAAK,gBAAgBC,OAED,IAAM,IAAAL,QAAO,EAAAq9C,gB,OAEG,OAF5D3iB,EAA4C,SAEgB,IAAM,IAAA16B,QAAO,EAAA8uL,qB,OACT,OAD9DC,EAA0D,SACI,IAAM,IAAA/uL,QAAO,EAAAqqG,uB,cAA3E2kF,EAA8D,SAE9DC,GAAsB,IAAAC,wBAAuBn4L,EAAOmlC,QAAS6yJ,EAAkBr0J,GAC/Ey0J,GAAsB,IAAAC,0BAAyBL,EAAkBE,GAEjEI,GAAuB,IAAA39K,kBAAiBq9K,EAAkBI,GAE1Dh8C,KAAmBz4G,aAAO,EAAPA,EAAS0+C,cAAa1+C,aAAO,EAAPA,EAAS0+C,YAAathB,KAAKD,MAEpEy3H,EAAuBN,EAAmBn4L,UAAY6jC,GAEvD20J,GAAwBl8C,GAAoBm8C,IAC7C,IAAA9B,UAAS,wBAAwB,IAAAnoK,MAAK0pK,GAAoB,CAAC,EAAGI,GAAuB,CAAC,GAAI,CACtFJ,iBAAgB,EAChBI,oBAAmB,IAGvB,IAAM,IAAAjvL,MAAI,IAAAqvL,uBAAsBJ,MANhC,M,OAQgC,OAFhC,SAEgC,KAAOtC,GAAkB9wH,EAAUozH,K,OAA7DK,EAA0B,SAEhC70J,EAAmB,EAAH,KACTA,GACA60J,G,iBAID,UAAM,IAAAxvL,QAAO,EAAAq9C,gB,cAAvB3iB,EAAU,UAEJ+0J,GAAyB,IAAAC,2BAA0BP,EAAqBz0J,IAE1E,IAAM,IAAAx6B,MAAI,IAAAyvL,qBAAoBF,KAD9B,M,OACA,S,iBAG0E,UAAM,IAAAzvL,QAChF,EAAA4vL,4B,QAa4D,OAd1DzrH,EAAwE,SAGxE0rH,GAA6B,IAAA3rH,+BAA8BntE,EAAOmlC,QAASioC,EAAyBzpC,GACtGo1J,GAA6B,IAAA7qH,0BAAyBd,EAAyB0rH,GACnFC,GAA6B,IAAArsH,+BAA8BqsH,EAA4Bp1J,GAEvFo1J,GAA6B,IAAA5qH,2CAA0C4qH,EAA4Bp1J,GAC7Fq1J,GAA+B,IAAAv1J,iCAAgC2pC,EAAyBzpC,GAC9FC,EAAmB,EAAH,KACTA,GACAo1J,GAGyD,IAAM,IAAA/vL,QAAO,EAAAgwL,uB,QACC,OADxEC,EAA0D,SACc,IAAM,IAAAjwL,QAChF,EAAAkwL,8B,eADEC,EAAwE,SAGxEC,EAAuBD,EAAsBt5L,UAAYo5L,GAClC,IAAAv+K,kBAAiByyD,EAAyB2rH,KAC1CM,EAAzB,SACA,IAAA5C,UAAS,wBAAwB,IAAAnoK,MAAK8+C,GAA2B,CAAC,EAAG2rH,GAA8B,CAAC,GAAI,CACpG3rH,wBAAuB,EACvB2rH,2BAA0B,IAE9B,IAAM,IAAA5vL,MAAI,IAAAmwL,wBAAuBP,M,QAEC,OAFlC,SAEkC,KAAO7B,GAAmBlyH,EAAU+zH,EAA4Bp1J,K,QAA5F41J,EAA4B,SAElC31J,EAAmB,EAAH,KACTA,GACA21J,G,mBAIqD,UAAM,IAAAtwL,QAAO,EAAAgwL,uB,eAAvEO,EAA0D,UAC1DC,GAAgC,IAAAC,kCAClCX,EACAS,EACA71J,IAGA,IAAM,IAAAx6B,MAAI,IAAAwwL,4BAA2BF,KADrC,O,QACA,S,mBAGJ,MAAO,CAAP,EAAO71J,G,IA6CX,6BACY,KAAAg2J,aAAyC,CAAC,EAElD,KAAAC,SAAW,SAAC7xL,GACR,EAAK4xL,aAAe,EAAH,KACV,EAAKA,cACL5xL,EAEX,EAEA,KAAA8xL,MAAQ,WACJ,IAAMC,EAAmB,EAAKH,aAI9B,OAFA,EAAKA,aAAe,CAAC,EAEdG,CACX,CACJ,EAGA,SAAUC,GAAsBhyL,G,kCACxBA,KAAU,aAAQA,IAClB,EAAAw0F,0BAA0B7+D,KAAK31B,G,OAIvC,SAAUiyL,GAAgCjxL,G,gEAEtB,OADVjC,EAAS,EAAA27E,QAAQw3G,MAAiC,KACxC,IAAM,IAAAz3G,eAAc,EAAA03G,qBAAsBpzL,I,OAApD67E,EAAU,SACVw3G,EAAyB,IAAIC,G,iBAGW,UAAM,IAAAx3G,MAAKD,I,OAErD,OAFM5iF,EAAoC,SAE1C,IAAM,IAAAmJ,MAAI,IAAAmxL,oBAAkB,K,OAEH,OAFzB,SAEyB,KAAOxC,GAAuB9uL,EAAahJ,K,cAA9D4jC,EAAmB,SACzBw2J,EAAuBP,SAASj2J,GAE5B78B,EAAO+5C,UACP,IAAM,IAAA33C,MAAI,IAAAmxL,oBAAkB,KAD5B,M,OAEA,OADA,SACA,GAAMN,GAAsBI,EAAuBN,U,OAAnD,S,kDAKZ,SAAUS,K,4DACAC,EAAmB,GAAK,EAAA9+I,U,iBAG1B,UAAM,IAAA/0C,OAAM6zL,I,OAEkD,OAF9D,SAE8D,IAAM,IAAAvxL,QAAO,EAAAwxL,wB,OAM3E,OANMztJ,EAAwD,SAExD0tJ,EAAmB1tJ,EACpB3hB,QAAO,SAACzY,GAAU,WAAA+nL,iBAAgB/nL,EAAMgoL,aAAtB,IAClBlnL,KAAI,SAACd,GAAU,OAAAA,EAAMrK,EAAN,IAEpB,IAAM,IAAAY,MAAI,IAAA0xL,mBAAkBH,K,cAA5B,S,2BAwBR,UApBA,SAA4B1xL,G,wDAGxB,OAFMg8D,EAAWh8D,IAAgB,EAAAK,gBAAgBC,OAEjD,IAAM,IAAAM,WAAU,EAAAkxL,mBAAoBjI,GAAiB7pL,K,OACrD,OADA,SACA,IAAM,IAAAY,WAAU,EAAAmxL,sCA/oBT,SACH/6L,G,oGAIA,OAFQ8yL,EAAwC9yL,EAAM,mBAA1B2jC,EAAoB3jC,EAAM,QAAjBikC,EAAWjkC,EAAM,OAEtD,IAAM,IAAAmJ,MAAI,IAAA6xL,0C,OAKN,OALJ,SAEM/sH,EAAYtqC,aAAO,EAAPA,EAASsqC,UAGvB,GAAM,UAAkBglH,+BAA+BhlH,EAAW6kH,EAAoB7uJ,I,OAE1F,OAHMz6B,EACF,WAME,IAA0EA,EAAM,GAA/EyxL,EAAiC,KAAEC,EAAkC,KAExED,EACA,IAAM,IAAA9xL,MAAI,IAAAgyL,sCAAqCF,KAD/C,OALA,I,OAOA,OADA,SACA,I,OAEJ,OAAKC,EAMD,GAAM,UAAkB3I,eAAe2I,aAAkC,EAAlCA,EAAoCrvJ,UAL3E,IAAA9a,YAAW,4CACX,K,cAGEqqK,EACF,SACE,IAAsDA,EAAkB,GAAvEC,EAAuB,KAAEC,EAAwB,KACpDD,EACA,IAAM,IAAAlyL,MAAI,IAAAgyL,sCAAqCE,KAD/C,M,OAEA,OADA,SACA,I,OAIJ,OADME,GAAoBD,aAAwB,EAAxBA,EAA2B,KAAM,OAMrDzvJ,GAAQ0vJ,aAAiB,EAAjBA,EAAmB1vJ,QAAS,OAMpCgqJ,EAAU0F,EAAkBhzL,IAAM,OAMxC,UAAQwL,KAAK,CACTusB,UAAU,IAAAwxJ,cAAa,EAAAthJ,cAAcgrJ,wBAAyB,CAC1D3vJ,MAAK,EACLgqJ,QAAO,EACP5xJ,OAAM,IAEVjwB,QAAQ,IAAAC,cAAW,KACf,EAAC,EAAAC,cAAc+6B,iCAAkC,G,MAKrD,GAAM,UAAkBglJ,cAAcpoJ,OAhBtC,IAAA9a,YAAW,iBACX,OAPA,IAAAA,YAAW,eACX,OAPA,IAAAA,YAAW,wBACX,K,cA0BEmjK,EACF,SACE,IAA0CA,EAAqB,GAA9DC,EAAkB,KAAEC,EAAiB,KACxCD,EACA,IAAM,IAAAhrL,MAAI,IAAAgyL,sCAAqChH,KAD/C,O,OAEA,OADA,SACA,I,eAGCC,EAAD,QACMh0L,EAAQ,IAAIshJ,MAAM,oBACxB,IAAM,IAAAv4I,MAAI,IAAAgyL,sCAAqC/6L,M,QAC/C,OADA,SACA,I,eAGAg0L,EAAkB19H,WAClB,IAAM,IAAAvtD,MAAI,IAAAorL,YAAWH,EAAkB19H,cADvC,O,QACA,S,mBAMJ,OAHM29H,GAAc,aAAWD,GACzBqH,GAAiB,aAAkBF,GAEzC,IAAM,IAAApyL,MAAI,IAAAuyL,wCAAuCrH,EAAaoH,K,eAA9D,S,mBA2jBJ,OADA,SACA,IAAM,IAAA7xL,WAAU,EAAA+xL,oBApiBT,SAA+B37L,G,2GAC1B6rC,EAAU7rC,EAAM,OACpB,MACA,GAAM6xL,K,OAEN,OAFA,UACA,IAAA9gK,YAAW,eACX,I,OAG+D,UAAM,IAAA9nB,QAAO,EAAAkjC,yB,OAChF,OADmE,SAC/CjsC,QAChB,IAG6C,IAAM,IAAA+I,QAAO,EAAAmjC,Y,OACL,OADnDwvJ,EAA2C,SACQ,IAAM,IAAA3yL,QAAO,EAAA67C,kB,OACL,OAD3D+2I,EAAmD,SACQ,IAAM,IAAA5yL,QAAO,EAAA6yL,oB,OAC9E,OADMC,EAA2D,SAC7DH,GAAcC,GAAgBE,IAC9B,IAAAhrK,YAAW,cACX,KAGJ,IAAM,IAAA5nB,MAAI,IAAA6pL,oB,OAE2D,OAFrE,SAEqE,GAAM,UAAkBiB,cACzFpoJ,I,cADEpiC,EAA+D,SAG/D,IAA4BA,EAAQ,GAAnCuyL,EAAW,KAAEC,EAAU,KAE1BD,EACA,IAAM,IAAA7yL,MAAI,IAAAkqL,gBAAe2I,KADzB,O,OAEA,OADA,SACA,I,eAGCC,EAAD,QACM77L,EAAQ,IAAIshJ,MAAM,oBACxB,IAAM,IAAAv4I,MAAI,IAAAkqL,gBAAejzL,M,QACzB,OADA,SACA,I,QAIA,SAAM,UAAkBmyL,eAAe1mJ,I,eADrC2mJ,EACF,SACE,IAAwCA,EAAmB,GAA1DC,EAAmB,KAAEC,EAAc,KAEtCD,EACA,IAAM,IAAAtpL,MAAI,IAAAkqL,gBAAeZ,KADzB,O,QAEA,OADA,SACA,I,eAGCC,EAAD,QACMtyL,EAAQ,IAAIshJ,MAAM,yBACxB,IAAM,IAAAv4I,MAAI,IAAAkqL,gBAAejzL,M,QACzB,OADA,SACA,I,eAGE4sC,GAAe0lJ,GAAkB,IAAIh/K,IAAI,YAI3C2gL,OAFEA,GAAc,aAAW4H,SAEhB,EAAX5H,EAAa39H,YACb,IAAM,IAAAvtD,MAAI,IAAAorL,YAAWF,EAAY39H,cADjC,O,QACA,S,mBAGJ,UAAM,IAAAvtD,MAAI,IAAAmrL,kBAAiBD,K,QAC3B,OADA,SACA,IAAM,IAAAlrL,MAAI,IAAAypL,aAAY5lJ,K,eAAtB,UAGI1qC,OADEA,GAAQ,IAAAg2F,YAAW,UAAQ51D,SAAS1uB,cACjC,EAAL1R,EAAQ,EAAA4R,cAAcgoL,0BAChBC,GAAmB,aAAKnvJ,EAAYt5B,KAAI,SAACI,GAAe,OAAAA,EAAW44B,UAAX,KAAwBgB,OAChF0uJ,GAAmB,aAAKpvJ,EAAYt5B,KAAI,SAACI,GAAe,OAAAA,EAAW64B,WAAX,KAAyBe,OAEjF4lJ,GAA4B,IAAAC,gCAE5B8I,EAAmC,QAAnB,EAAAhI,aAAW,EAAXA,EAAa5kJ,cAAM,eAAG,GACtC6sJ,GAAejI,aAAW,EAAXA,EAAa5kJ,QAAS4kJ,EAAY5kJ,OAAO4kJ,EAAY5kJ,OAAOnxC,OAAS,GAAK,KAE/F,UAAQyV,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,EAAA4R,cAAc+6B,iCAAkCqkJ,EAAyB,EACzE,EAAAp/K,cAAcC,yBAA0BkoL,aAAa,EAAbA,EAAehlK,SAAQ,EAC/D,EAAAnjB,cAAcI,0BAA2BgoL,aAAY,EAAZA,EAAcz9K,OAAM,EAC7D,EAAA3K,cAAcw/K,+BAAgCyI,EAAgB,EAC9D,EAAAjoL,cAAcy/K,gCAAiCyI,EAAgB,Q,mBAmdhF,OADA,SACA,IAAM,IAAAxyL,WAAU,EAAA2yL,qBAAsB1H,GAAoB7vH,K,OAC1D,OADA,SACA,IAAM,IAAAp7D,WAAU,EAAA4yL,aA5ZT,SAAyBx8L,G,kEAE5B,OADQ02D,EAAe12D,EAAM,YAOzB,GAAM,UAAkByhJ,yBAAyB/qF,MALjD,IAAA3lC,YAAW,wCACX,K,cAGE,kBACF,SAA4D,IADzD0rK,EAAa,KAAEC,EAAQ,KAG1BD,EACA,IAAM,IAAAtzL,MAAI,IAAAwzL,iBAAgBF,KAD1B,M,4BAaJ,S,kBARKC,EAAD,OACMt8L,EAAQ,IAAIshJ,MAAM,kBACxB,IAAM,IAAAv4I,MAAI,IAAAwzL,iBAAgBv8L,M,OAM9B,OAFM2kD,EAAY23I,GAAY,GAE9B,IAAM,IAAAvzL,MAAI,IAAAyzL,mBAAkB73I,K,eAsYhC,OADA,SACA,IAAM,IAAAn7C,WAAU,EAAAizL,aAAclH,K,OAC9B,OADA,SACA,IAAM,IAAA/rL,WAAU,EAAAkzL,iBAAkBpI,K,OAClC,OADA,SACA,IAAM,IAAA9qL,WAAU,EAAAmzL,sBAAuBvI,K,OACvC,OADA,SACA,IAAM,IAAAwI,YACF,CAAC,EAAAC,yBAA0B,EAAAC,4CAC3BrL,I,OAGJ,OALA,SAKA,IAAM,IAAAmC,MAAKiG,GAAiCjxL,I,QAC5C,OADA,SACA,IAAM,IAAAgrL,MAAKuG,K,eAAX,S,67BCr7BJ,kBACA,WACA,cACA,cACA,aACA,cACA,WAOMv+L,EAAK,UAAWC,KAAK,WAErBkhM,GAAuC,IAAA/gM,OAAK,SAACC,GACvC,IAAAU,EAAkCV,EAAK,UAA5B4O,EAAuB5O,EAAK,SAAlB+oB,EAAa/oB,EAAK,SAE/C,OACI,uBACIU,WAAW,aACPf,EAAG,SAAU,CACT,oBAAqBopB,IAEzBroB,IAGJ,gBAAC,UAAiB,CACdyV,QAAS,EACTxU,UAAWonB,EAAW,EAAAnnB,qBAAqBI,MAAQ,EAAAJ,qBAAqBwQ,MACxEgE,KAAM,EAAAC,oBAEV,wBACI3V,UAAWf,EAAG,eAAgB,CAC1B,0BAA2BopB,KAG9Bna,GAIjB,IAEA,UAAekyL,C,yICxCF,EAAAC,+BAAiC,SAACr9L,GAC3C,OAAAA,EAAMs9L,kBAAkBvnJ,YAAxB,EAES,EAAAwnJ,wBAA0B,SAACv9L,GACpC,OAAAA,EAAMs9L,kBAAkB50H,KAAxB,C,0pCCPJ,IAoFKn9D,EApFL,cACA,WAEA,cAEA,cACA,cACA,WACA,WACA,cACA,WACA,WAEA,WACA,cAEA,cACA,WACA,cACA,cACA,cACA,cACA,aACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,YACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WAEA,WACA,cACA,cACA,cACA,WACA,WACA,cACA,WACA,YACA,eACA,eACA,YACA,eACA,eACA,eACA,YACA,WACA,YACA,eACA,WACA,YACA,YACA,eACA,eACA,YACA,YACA,eAeMtP,GAAK,UAAWC,KAAK,YAE3B,SAAKqP,GACD,gBACA,wBACA,oCACH,CAJD,CAAKA,IAAAA,EAAO,KAMZ,IAEMiyL,GAAuCphM,EAAMC,MAAK,SAACC,G,8OAEjD+oF,GAMA/oF,EAAK,mBALL0hG,GAKA1hG,EAAK,oBAJL60C,GAIA70C,EAAK,kBAHLszH,GAGAtzH,EAAK,uBAFLshG,GAEAthG,EAAK,kBADLwhG,GACAxhG,EAAK,kBAEDa,IAAM,IAAAC,kBAAgB,EAExBmuG,GAAkBnvG,EAAM6yB,WAAW,YACnCwuK,GAAuE,QAAzC,EAAAlyF,cAAe,EAAfA,GAAiBE,gCAAwB,uBACzE,GAAAjoB,kBAAkBY,qBAGMs5G,IAAiC,KAAAC,+BAA8B,CAAE14H,UAAU,IAAO,mBAExG,IAUF,KAAA24H,qBAAoB,GAAAC,4BATpBC,GAAiB,qBACjBC,GAAiB,qBACjBC,GAAwB,4BACxBC,GAA4B,gCAC5BC,GAAmB,uBACnBC,GAAsB,0BACtBC,GAAwB,4BACxBC,GAAiC,qCACjCC,GAAqB,yBAGnB,IAUF,KAAAC,yBAAwB,GAAAC,gCATxBttC,GAAqB,yBACrBI,GAAqB,yBACrBmtC,GAA4B,gCAC5BC,GAAgC,oCAChCrtC,GAAuB,2BACvBD,GAA0B,8BAC1BD,GAA4B,gCAC5BwtC,GAAqC,yCACrCC,GAAyB,6BAGvBnjH,IAAQ,IAAA36E,UAAQ,WAClB,OAAOukF,cAAkB,EAAlBA,GAAoB5J,QAAS,EACxC,GAAG,CAAC4J,KAEE,IAAsC,IAAAw5G,SAAiBtzL,EAAQkwE,OAA7D5sE,GAAa,iBAAEC,GAAgB,oBAEPgwL,GAA6B1iM,EAAM6yB,WAAW,YAAyB,uBAEjG3mB,GAAMlM,EAAM6I,OAAuB,MAEnC85L,GAA8B3iM,EAAM0E,SAAQ,W,UACxCk+L,EAAsC,QAAzB,EAAA35G,cAAkB,EAAlBA,GAAoB5J,aAAK,eAAErmC,MAAK,SAACkmC,G,UAChD,OAA+C,QAAxC,EAA6B,QAA7B,EAAoB,QAApB,EAAAA,aAAI,EAAJA,EAAMmpG,sBAAc,eAAE58K,eAAO,eAAE4+E,iBAAS,eAAElZ,MAAK,SAACkZ,G,MACnD,OAAyB,QAAlB,EAAAA,aAAS,EAATA,EAAWx7E,eAAO,eAAEsiE,MAAK,SAAC0xH,GAC7B,MAAgC,0BAAzBA,aAAc,EAAdA,EAAgB1/L,KAC3B,GACJ,GACJ,IACA,OAAIy/L,aAAU,EAAVA,EAAYx2L,IACLw2L,EAAWx2L,IAGe,QAA9B,EAAyB,QAAzB,EAAA68E,cAAkB,EAAlBA,GAAoB5J,aAAK,eAAG,UAAE,eAAEjzE,KAAM,IACjD,GAAG,CAAC68E,KAEE0Y,GAAmB,SAAChU,GACtBj7E,GAAiBvD,EAAQk7E,WACzBjH,YAAW,W,MACD/nC,GAAS,IAAAs7G,mBAAkBhpE,GAC3Bm1G,EAAyB,QAAZ,EAAA52L,cAAG,EAAHA,GAAKT,eAAO,eAAE+3E,cAAc,wBAAiBnoC,EAAM,OACjEynJ,IAILJ,GAAyB/0G,IAEzB,aAAem1G,EAA2B,CACtC3uJ,MAAO,CACHpoC,IAAK,MAGjB,GAAG,IACP,EAEMg3L,IAAe,IAAAr+L,UAAQ,WACzB,OAAO26E,cAAK,EAALA,GAAOJ,SAAQ,SAACC,GAAS,OAAAA,aAAI,EAAJA,EAAM50D,SAAN,IAAiB4E,OAAO,EAAA4/B,SAC5D,GAAG,CAACuwB,KAEE2jH,IAAe,IAAAt+L,UAAQ,WACzB,OAAO,aAAMq+L,GAAc,KAC/B,GAAG,CAACA,KAEEE,IAAyB,IAAAv+L,UAAQ,WACnC,OAAOukF,cAAkB,EAAlBA,GAAoB5J,MACtB9nE,KAAI,SAAC2nE,GAMF,OALkC,IAAAqhC,+BAC9Bt3B,cAAkB,EAAlBA,GAAoBu3B,qBACpBthC,aAAI,EAAJA,EAAM9yE,IACT,qBAGL,IACC8iB,OAAO,EAAA4/B,SAChB,GAAG,CAACm6B,KAEEtxE,IAAasxE,cAAkB,EAAlBA,GAAoBtxE,aAAc,KAE/CurL,IAAwB,IAAAC,0BAA8C,QAArB,EAAAxrL,cAAU,EAAVA,GAAYkR,iBAAS,eAAEuvE,WAExEgrG,IAAsB,KAAA1qL,0BAEtB2qL,GAA8C,C,OAEzCD,GAAoBzqL,eAAc,IAAAoxE,aAAiC,QAArB,EAAApyE,cAAU,EAAVA,GAAYkR,iBAAS,eAAElQ,iBAAe,CACvFmN,KAAMo9K,MAIRI,IAAiC,KAAAC,qCAEjC7qD,GAAoC,C,OAE/B4qD,GAA+BrwJ,eAAa,CAC/C9tC,MAAO,gBAAC,UAAyB,CAAC60G,cAA8C,QAA/B,EAAA/wB,cAAkB,EAAlBA,GAAoBiB,mBAAW,eAAE99E,O,OAG/Ek3L,GAA+B3xJ,iBAAe,CACjDxsC,MAAO,gBAAC,UAAsB,CAACwsC,cAAes3C,cAAkB,EAAlBA,GAAoBt3C,mBAIpE6xJ,IAAuB,IAAAC,cACU,QAAnC,EAAAx6G,cAAkB,EAAlBA,GAAoBy6G,uBAAe,eAAEz9K,UACP,QAA9B,EAAAgjE,cAAkB,EAAlBA,GAAoBtxE,kBAAU,eAAEssD,YAG9BolB,IAAYJ,cAAkB,EAAlBA,GAAoBI,YAAa,KAC7Cj+D,IAAU69D,cAAkB,EAAlBA,GAAoB79D,UAAW,KAEzCu4K,GAA+C,CACjD,CACIt3L,KAAM,gBAAC,UAAW,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OAC9EC,KAAM/X,GAAE,yCACRoE,OAAO8jF,cAAkB,EAAlBA,GAAoB79D,SACvB,gBAAC,UAAa,CAAChD,GAAI,EAAAC,WAAWwM,eAAe,EAAAtM,gBAAgB6C,QAAS69D,GAAmB79D,QAAQhf,KAC5F68E,GAAmB79D,QAAQtS,MAEhC,KACJG,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,UACdilB,KAAM,CACF,CACIzZ,KAAM,KACNyM,KAAM/X,GAAE,kDACRoE,MAAO,gBAAC,UAAa,CAAC2nB,KAAMm8D,cAAkB,EAAlBA,GAAoBzsC,YAAa3iC,OAAO,uBACpEZ,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,oBAElB,CACIwL,KAAM,KACNyM,KAAM/X,GAAE,kDACRoE,MACIkkF,IAAaj+D,GACT,gBAAC,UAAa,CACVzpB,QAAS,WACLozC,GAAkB,CACdvxC,YAAa,EAAA+kB,gBAAgB6C,QAC7B7nB,UAAW6nB,GAAQhf,GACnBrG,OAAQsjF,GAAUj9E,IAE1B,GAECi9E,cAAS,EAATA,GAAWvjF,UAEhB,KACRmT,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,qBAEuB,QAAzC,EAAAsuG,cAAe,EAAfA,GAAiBE,gCAAwB,uBAAG,GAAAjoB,kBAAkBqf,WACxD,CACIp6F,KACI,gBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,yCACRoE,MAAO8jF,cAAkB,EAAlBA,GAAoBwpE,cAC3Bx5I,WAAYlY,GAAE,gDACdmY,aAAa,EACbzY,UAAW,gBAAC,UAAuB,CAAC+T,eAAa,EAACovL,UAAU36G,cAAkB,EAAlBA,GAAoB4d,QAChFhmG,aAAc,WAElB,MACNooF,cAAkB,EAAlBA,GAAoB46G,iBACd,CACIx3L,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,kDACRoE,OACI8jF,cAAkB,EAAlBA,GAAoB79D,WAAW69D,cAAkB,EAAlBA,GAAoB46G,iBAC/C,gBAAC,UAAa,CACVz7K,GAAI,EAAAC,WAAWy7I,6BAA6B,CACxCvgK,UAAW0lF,GAAmB79D,QAAQhf,GACtC5I,YAAa,EAAA+kB,gBAAgB6C,QAC7BpI,kBAAmBimE,GAAmB46G,gBAAgBz3L,MAGtB,QAAnC,EAAA68E,cAAkB,EAAlBA,GAAoB46G,uBAAe,eAAE/qL,MAE1C,KACRG,WAAYlY,GAAE,gDACdN,WAAWwoF,cAAkB,EAAlBA,GAAoB46G,iBAC3B,gBAAC,UAAyB,CACtBrvL,eAAa,EACb8U,OAA2C,QAAnC,EAAA2/D,cAAkB,EAAlBA,GAAoB46G,uBAAe,eAAEv6K,SAEjD,KACJpQ,aAAa,EACbrY,aAAc,oBAElB,MACNooF,cAAkB,EAAlBA,GAAoB66G,qBACd,CACIz3L,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,uDACRoE,OACI8jF,cAAkB,EAAlBA,GAAoB79D,WACpB69D,cAAkB,EAAlBA,GAAoB46G,mBACpB56G,cAAkB,EAAlBA,GAAoB66G,qBAChB,gBAAC,UAAa,CACV17K,GAAI,EAAAC,WAAW27I,2BAA2B,CACtCzgK,UAAW0lF,GAAmB79D,QAAQhf,GACtC5I,YAAa,EAAA+kB,gBAAgB6C,QAC7Bga,WAAY6jD,GAAmB46G,gBAAgBz3L,GAC/C07B,OAAQmhD,GAAmB66G,oBAAoB13L,MAGX,QAAvC,GAAA68E,cAAkB,EAAlBA,GAAoB66G,2BAAmB,iBAAE/hC,WAE9C,KACRthK,UACI,gCACI,gBAAC,UAAmC,CAChCq0F,WAAmD,QAAvC,GAAA7L,cAAkB,EAAlBA,GAAoB66G,2BAAmB,iBAAEhvG,WACrDC,kBAA0D,QAAvC,GAAA9L,cAAkB,EAAlBA,GAAoB66G,2BAAmB,iBAAE/uG,kBAC5DzrE,OAA2C,QAAnC,GAAA2/D,cAAkB,EAAlBA,GAAoB46G,uBAAe,iBAAEv6K,OAC7C9U,eAAa,IAEjB,gBAAC,UAA6B,CAC1BA,eAAa,EACb8U,OAA+C,QAAvC,GAAA2/D,cAAkB,EAAlBA,GAAoB66G,2BAAmB,iBAAEx6K,UAI7DrQ,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,yBAElB,QAKZ8R,IAAO,IAAAjO,UAAQ,W,UACXq/L,GAA8D,QAAxC,EAAA96G,cAAkB,EAAlBA,GAAoBu3B,4BAAoB,eAAEr+G,SAAU,EAE1E6hM,GAAqC,QAAzB,EAAA/6G,cAAkB,EAAlBA,GAAoB5J,aAAK,eAAEl9E,SAAU,EAEjD8hM,GAA6C,QAA7B,EAAAh7G,cAAkB,EAAlBA,GAAoBoB,iBAAS,eAAEloF,SAAU,EAE/D,MAAO,CACH6hM,EACM,CACI7gM,KAAMgM,EAAQkwE,MACdp4E,MAAOlG,GAAE,yCACT0S,QAAS,CACLtO,MAAO6+L,EACP5iM,MAAO,EAAA8Q,wBAAwBK,UAGvC,KACN0xL,EACM,CACI9gM,KAAMgM,EAAQk7E,UACdpjF,MAAOlG,GAAE,6CACT0S,QAAS,CACLtO,MAAO8+L,EACP7iM,MAAO,EAAA8Q,wBAAwBE,SAGvC,KACN2xL,EACM,CACI5gM,KAAMgM,EAAQ+0L,gBACdj9L,MAAOlG,GAAE,oDACT0S,QAAS,CACLtO,MAAO4+L,EACP3iM,MAAO,EAAA8Q,wBAAwBE,SAGvC,KAEd,GAAG,CAACrR,GAAGkoF,KAED,IAA0C,IAAAk7G,gCAA+BpB,IAAvEqB,GAAc,kBAAEC,GAAmB,uBAErCC,IAAe,IAAA5/L,UAAQ,WACzB,OAAOukF,cAAkB,EAAlBA,GAAoBoB,YAAa,EAC5C,GAAG,CAACpB,KAEEs7G,IAAyB,IAAA7/L,UAAQ,WACnC,OAAO,aACH4/L,GAAa/sL,KAAI,SAACg7D,GACd,OAAOA,aAAQ,EAARA,EAAU+jF,iBACrB,IAER,GAAG,CAACguC,KAEEE,IAAyB,IAAA9/L,UAAQ,WACnC,OAAO,aACH4/L,GAAa/sL,KAAI,SAACg7D,GACd,OAAOA,aAAQ,EAARA,EAAUgkF,kBACrB,IAER,GAAG,CAAC+tC,KAEEG,IAAsB,IAAA//L,UAAQ,WAChC,OAAO4/L,GAAanzH,MAAK,SAACoB,GACtB,OAAOA,aAAQ,EAARA,EAAUhgE,WAAY,EAAAmyL,oBAAoB7pG,MACrD,GACJ,GAAG,CAACypG,KAEEK,IAAqB,IAAAjgM,UAAQ,WAC/B,OAAO4/L,GAAanzH,MAAK,SAACoB,GACtB,OAAOA,aAAQ,EAARA,EAAUhgE,WAAY,EAAAmyL,oBAAoBlpG,MACrD,GACJ,GAAG,CAAC8oG,KAEEM,IAA2B,IAAAlgM,UAAQ,W,MACrC,OAGmB,KAAb,QAFF,EAAA4/L,cAAY,EAAZA,GAAcp1K,QAAO,SAACqjD,GAClB,OAAQ,EAAAsyH,iBAAiB11K,IAAIojD,EAASjpD,OAC1C,WAAE,eAAEnnB,OAEZ,GAAG,CAACmiM,KAEEQ,GAA6D,QAAtC,GAAA77G,cAAkB,EAAlBA,GAAoB87G,0BAAkB,iBAAED,qBAC/DE,GAA6D,QAAtC,GAAA/7G,cAAkB,EAAlBA,GAAoB87G,0BAAkB,iBAAEC,qBAC/DC,IAA0B,KAAAC,2BAA0B,CACtDJ,qBAAoB,GACpBE,qBAAoB,GACpBT,uBAAsB,GACtBC,uBAAsB,KAG1B,OAAKv7G,GAKD,uBAAK/8E,IAAKA,IACN,gBAAC,UAAsB,CACnBtL,UAAWf,GAAG,SACd6zB,OAAQ0wK,cAAc,EAAdA,GAAgBx9J,QACxB1uB,wBAAwBksL,cAAc,EAAdA,GAAgB3lF,yBAAyB2lF,cAAc,EAAdA,GAAgBrhH,sBACjF8H,sBAAsBu5G,cAAc,EAAdA,GAAgBe,uBAAuBf,cAAc,EAAdA,GAAgBphH,oBAC7ErvD,YAAa0wK,cAAmB,EAAnBA,GAAqBz9J,QAClCxuB,yBACIisL,cAAmB,EAAnBA,GAAqB5lF,yBAAyB4lF,cAAmB,EAAnBA,GAAqBthH,sBAEvEgI,uBACIs5G,cAAmB,EAAnBA,GAAqBc,uBAAuBd,cAAmB,EAAnBA,GAAqBrhH,sBAGzE,gBAAC,UAAiB,CACdpiF,UAAWf,GAAG,sBACdi7C,UAAW/5C,GAAE,iDACb4sD,cAAcs7B,cAAkB,EAAlBA,GAAoB+B,sBAAuB,GACzDzpF,YAAaR,GAAE,sDAElB,EAQD,gBAAC,GAAAqkM,WAAU,CAACxkM,UAAWf,GAAG,WACrBw/E,GAAM9nE,KAAI,SAAC2nE,GAAS,OACjB,iCACKA,aAAI,EAAJA,EAAMypG,gCACH,gBAAC,WAAkB,CAAC91K,IAAK,wCAAiCqsE,aAAI,EAAJA,EAAM9yE,KAC3DrL,GAAE,oEAGVm+E,aAAI,EAAJA,EAAMmmH,4BACH,gBAAC,WAA0B,CAACxyL,IAAK,oCAA6BqsE,aAAI,EAAJA,EAAM9yE,KAC/DrL,GAAE,gEAGVm+E,aAAI,EAAJA,EAAMwb,iCACH,gBAAC,WAAkB,CAAC7nF,IAAK,yCAAkCqsE,aAAI,EAAJA,EAAM9yE,KAC5DrL,GAAE,oEAGVm+E,aAAI,EAAJA,EAAMyb,6BACH,gBAAC,WAA0B,CAAC9nF,IAAK,qCAA8BqsE,aAAI,EAAJA,EAAM9yE,KAChErL,GAAE,gEAGVm+E,aAAI,EAAJA,EAAMob,kCACH,gBAAC,WAAkB,CAACznF,IAAK,0CAAmCqsE,aAAI,EAAJA,EAAM9yE,KAC7DrL,GAAE,qEAGVm+E,aAAI,EAAJA,EAAMqb,8BACH,gBAAC,WAA0B,CAAC1nF,IAAK,sCAA+BqsE,aAAI,EAAJA,EAAM9yE,KACjErL,GAAE,iEAGVm+E,aAAI,EAAJA,EAAMqc,WACH,gBAAC,WAAoB,CAAC1oF,IAAK,mBAAYqsE,aAAI,EAAJA,EAAM9yE,KACxCrL,GAAE,wCAAyC,CACxCsxC,MAAM42C,cAAkB,EAAlBA,GAAoBq8G,MAAM,IAAAC,eAAct8G,cAAkB,EAAlBA,GAAoBq8G,KAAO,MAnCxE,IAyCpBL,IACG,gBAAC,WAAyB,CAACpyL,IAAI,yBAC1B9R,GAAE,0DAA2D,CAC1DykM,WAAYV,GACZW,WAAYT,GACZU,YAAanB,GACboB,YAAanB,MAIxBvB,cAAsB,EAAtBA,GAAwB1rL,KAAI,SAACwpH,GAC1B,OACI,iCACKA,aAAqB,EAArBA,EAAuBz3G,UAAW,EAAAmsC,yBAAyB0vC,UACxD,gBAAC,WAAkB,CAACtyF,IAAK,mCAA4BkuH,EAAsB30H,KACtErL,GAAE,mEAGV,aAAS+jM,MAAyB,aAASE,KACxC,gBAAC,WAAc,CAACnyL,IAAK,8BAAuBkuH,aAAqB,EAArBA,EAAuB30H,KAC9DrL,GAAE,mDAAoD,CACnDk5F,IAAK6qG,GACL5jI,IAAK8jI,MAM7B,IACCL,IACG,gBAAC,WAA0B,CAAC9xL,IAAI,oBAC3B9R,GAAE,kDAGV0jM,IACG,gBAAC,WAA0B,CAAC5xL,IAAI,qBAC3B9R,GAAE,oDAGVkoF,cAAkB,EAAlBA,GAAoBq8G,MACjB,gBAAC,WAAc,CACXzyL,IAAI,MACJ4xJ,gBACIx7E,cAAkB,EAAlBA,GAAoB28G,2BACd7kM,GAAE,yCAA0C,CACxCsxC,MAAM,IAAAwzJ,8BAA6B58G,cAAkB,EAAlBA,GAAoB28G,6BAE3D,MAGT7kM,GAAE,mCAAoC,CAAEsxC,MAAM,IAAAkzJ,eAAct8G,cAAkB,EAAlBA,GAAoBq8G,SAI7F,gBAAC,UAAS,CACN19K,mBAAiB,EACjBhnB,UAAWf,GAAG,QAAS,2BACvBimB,KAAM69K,GACN9iM,aAAa,qBAEjB,gBAAC,UAAS,CACN+mB,mBAAiB,EACjBhnB,UAAWf,GAAG,QAAS,kBACvBimB,KAAMu9K,GACNxiM,aAAa,oBAEjB,gBAAC,UAAS,CACN+mB,mBAAiB,EACjBhnB,UAAWf,GAAG,QAAS,uBACvBimB,KAAM4yH,GACN73I,aAAa,iBAEjB,gBAAC,UAA0B,CACvBD,UAAWf,GAAG,QAAS,wBACvBorF,gBAAiBlqF,GAAE,+CACnBmqF,kBAAmBnqF,GAAE,2DACrBoqF,eAAelC,cAAkB,EAAlBA,GAAoB46G,iBACnC5/H,WAA0C,QAA9B,GAAAglB,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEssD,WAC5CunB,aAA4C,QAA9B,GAAAvC,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEgpC,SAC9C0qC,cAA6C,QAA9B,GAAApC,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAE0zE,cAC/CC,YAA2C,QAA9B,GAAArC,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAE4zE,eAC7CE,IAAmC,QAA9B,GAAAxC,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAE8zE,IACrCC,SAA8C,QAApC,GAA8B,QAA9B,GAAAzC,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEg0E,YAAI,iBAAE1lE,UAChD2lE,eAAoD,QAApC,GAA8B,QAA9B,GAAA3C,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEg0E,YAAI,iBAAEE,WACtDC,mBAAkD,QAA9B,GAAA7C,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEypC,WACpD2qC,YAAoD,QAAvC,GAA8B,QAA9B,GAAA9C,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEgyE,eAAO,iBAAE1jE,UACtD+lE,eAAuD,QAAvC,GAA8B,QAA9B,GAAA/C,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEgyE,eAAO,iBAAEC,aACzDqC,iBAAyD,QAAvC,GAA8B,QAA9B,GAAAhD,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEgyE,eAAO,iBAAEuC,UAC3DC,YAA2C,QAA9B,GAAAlD,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAEipC,KAC7CwrC,uBAA0E,QAAlD,GAA8B,QAA9B,GAAAnD,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAE00E,0BAAkB,iBAAErtE,MAC5EstE,aAA4C,QAA9B,GAAArD,cAAkB,EAAlBA,GAAoBtxE,kBAAU,iBAAE20E,aAC9CC,iCAA+B,IAEnC,uBAAK3rF,UAAWf,GAAG,eACnB,gBAAC,UAAyB,CACtBe,UAAWf,GAAG,SACdokE,WAAoD,QAAxC,GAAAglB,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAEvmE,UACtDglE,gBAAiBlqF,GAAE,wDACnBmqF,kBAAmBnqF,GAAE,oEACrByqF,aAAsD,QAAxC,GAAAvC,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAE7rC,SACxD+qC,SAAwD,QAA9C,GAAwC,QAAxC,GAAAzC,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAEb,YAAI,iBAAE1lE,UAC1D2lE,eAA8D,QAA9C,GAAwC,QAAxC,GAAA3C,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAEb,YAAI,iBAAEE,WAChEJ,IAA6C,QAAxC,GAAAxC,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAEf,IAC/CM,YAA8D,QAAjD,GAAwC,QAAxC,GAAA9C,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAE7C,eAAO,iBAAE1jE,UAChE+lE,eAAiE,QAAjD,GAAwC,QAAxC,GAAA/C,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAE7C,eAAO,iBAAEC,aACnEqC,iBAAmE,QAAjD,GAAwC,QAAxC,GAAAhD,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAE7C,eAAO,iBAAEuC,UACrEC,YAAqD,QAAxC,GAAAlD,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAE5rC,KACvDyqC,cAAuD,QAAxC,GAAApC,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAEnB,cACzDC,YAAqD,QAAxC,GAAArC,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAEjB,eACvDa,uBAAoF,QAA5D,GAAwC,QAAxC,GAAAnD,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAEH,0BAAkB,iBAAErtE,MACtFstE,aAAsD,QAAxC,GAAArD,cAAkB,EAAlBA,GAAoBuD,4BAAoB,iBAAEF,aACxDzrF,aAAa,yBACb0rF,iCAA+B,IAEnC,uBAAK3rF,UAAWf,GAAG,eACnB,gBAAC,UAAyB,CACtBe,UAAWf,GAAG,QAAS,uBACvBokE,WAA+C,QAAnC,GAAAglB,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAEz9K,UACjDixE,eAAgBssG,GAChBrsG,+BAA6B,EAC7BlM,gBAAiBlqF,GAAE,8CACnByqF,aAAiD,QAAnC,GAAAvC,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAE/iJ,SACnD+qC,SAAmD,QAAzC,GAAmC,QAAnC,GAAAzC,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAE/3G,YAAI,iBAAE1lE,UACrD2lE,eAAyD,QAAzC,GAAmC,QAAnC,GAAA3C,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAE/3G,YAAI,iBAAEE,WAC3DJ,IAAwC,QAAnC,GAAAxC,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAEj4G,IAC1CM,YAAyD,QAA5C,GAAmC,QAAnC,GAAA9C,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAE/5G,eAAO,iBAAE1jE,UAC3D+lE,eAA4D,QAA5C,GAAmC,QAAnC,GAAA/C,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAE/5G,eAAO,iBAAEC,aAC9DqC,iBAA8D,QAA5C,GAAmC,QAAnC,GAAAhD,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAE/5G,eAAO,iBAAEuC,UAChEC,YAAgD,QAAnC,GAAAlD,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAE9iJ,KAClDyqC,cAAkD,QAAnC,GAAApC,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAEr4G,cACpDC,YAAgD,QAAnC,GAAArC,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAEn4G,eAClDa,uBAA+E,QAAvD,GAAmC,QAAnC,GAAAnD,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAEr3G,0BAAkB,iBAAErtE,MACjFo4E,qBAAmE,QAA7C,GAAmC,QAAnC,GAAAnO,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAEj/K,gBAAQ,iBAAEk8B,SACrE02C,oBAAiE,QAA5C,GAAmC,QAAnC,GAAApO,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAE36K,eAAO,iBAAE43B,SACnE2rC,aAAiD,QAAnC,GAAArD,cAAkB,EAAlBA,GAAoBy6G,uBAAe,iBAAEp3G,aACnDzrF,aAAa,eACb0rF,iCAA+B,IAEnC,gBAAC,UAAU,CACP3rF,UAAWf,GAAG,QACd4S,cAAeA,GACfC,iBAAkBA,GAClBC,KAAMA,KAETF,KAAkBtD,EAAQkwE,OACvB,gCAC8B,QAAzB,GAAA4J,cAAkB,EAAlBA,GAAoB5J,aAAK,iBAAE9nE,KAAI,SAAC2nE,EAAMohC,GACnC,OACI,gBAAC,UAAe,CACZztG,IAAK,oBAAaytG,GAClBphC,KAAMA,EACNgkC,WAAY5C,EAAY,EACxB1/G,UAAWf,GAAG,cACd+hG,oBAAqBA,GACrBJ,kBAAmBA,GACnBE,kBAAmBA,GACnB8xB,uBAAwBA,GACxBp4E,iBAAkBh8B,OAAOkhG,EAAY,GACrC3e,iBAAkBA,GAClB6e,sBAAsBv3B,cAAkB,EAAlBA,GAAoBu3B,uBAAwB,KAClEkhF,kBAAmBA,GACnBM,yBAA0BA,GAC1BD,uBAAwBA,GACxBD,oBAAqBA,GACrBH,kBAAmBA,GACnB5sJ,kBAAmBA,IAG/B,KAGPtiC,KAAkBtD,EAAQ+0L,iBACvB,gCAC6C,QAAxC,GAAAj7G,cAAkB,EAAlBA,GAAoBu3B,4BAAoB,iBAAEjpG,KAAI,SAAC6oJ,EAAqB0lC,GACjE,OACI,gBAAC,UAAyB,CACtBjzL,IAAK,mCAA4BizL,GACjC1xG,sBAAuBgsE,EACvB33I,qBAAsB23I,EAAoBvyJ,OAC1CjN,UAAWf,GAAG,cACdu7C,iBAAkBh8B,OAAO0mL,EAA2B,IAGhE,KAGPrzL,KAAkBtD,EAAQk7E,WACvB,gCACkC,QAA7B,GAAApB,cAAkB,EAAlBA,GAAoBoB,iBAAS,iBAAE9yE,KAAI,SAACg7D,EAAUwzH,GAC3C,OACI,gBAAC,UAAmB,CAChBlzL,IAAKkzL,EACL98G,mBAAoBA,GACpB1W,SAAUA,EACVywH,aAAcA,GACdxkI,eAAgBunI,EAAgB,EAChCnlM,UAAWf,GAAG,cACdu7C,iBAAkBh8B,OAAO2mL,EAAgB,GACzCnxC,mBAAoB0sC,GACpBxsC,sBAAuBA,GACvBC,6BAA8BA,GAC9BC,2BAA4BA,GAC5BC,wBAAyBA,GACzBC,sBAAuBA,GACvBngH,kBAAmBA,GACnB8/G,mCAAoC+vC,IAGhD,MAGNvD,IACE,gBAAC,UAAuB,CACpBzgM,UAAWf,GAAG,eACdotB,OAAQ01K,GACR/tC,mBAAoB0sC,GACpBz4H,UAAQ,EACR1oE,MAAOY,GAAE,kCAGjB,gBAAC,WAAiB,CAAC4L,KAAMu1L,GAAsBv1L,KAAMjM,QAASwhM,GAAsBxhM,UACpF,gBAAC,WAAuB,CACpBiM,KAAMs1L,GAAkCt1L,KACxC6gB,UAAWo0K,GACXjzL,SAAUszL,GAAkCtzL,SAC5CjO,QAASuhM,GAAkCvhM,QAC3CgD,cAAem+L,KAEnB,gBAAC,WAAiB,CAACl1L,KAAM61L,GAA0B71L,KAAMjM,QAAS8hM,GAA0B9hM,UAC5F,gBAAC,WAAuB,CACpBiM,KAAM41L,GAAsC51L,KAC5C6gB,UAAW60K,GACX1zL,SAAU4zL,GAAsC5zL,SAChDjO,QAAS6hM,GAAsC7hM,QAC/CgD,cAAe4+L,MApThB,IAwTf,IAEA,UAAelB,E,4pCC7wBf,IA2CK4E,EA3CL,cAEA,cAEA,cACA,cACA,WACA,WACA,cACA,WACA,WAKA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,cACA,WACA,cACA,cACA,cACA,cACA,cAEA,cACA,cACA,cACA,cACA,cACA,cACA,cAEMnmM,EAAK,UAAWC,KAAK,YAI3B,SAAKkmM,GACD,oBACA,4CACA,kBACA,0BACA,cACA,gBACA,mBACH,CARD,CAAKA,IAAAA,EAAW,KAmBhB,IAAMC,EAAmBD,EAAYE,QAe/BC,IAAS,MACVH,EAAYE,SAAU,+BACvB,EAACF,EAAYI,oBAAqB,4CAClC,EAACJ,EAAYK,QAAS,8BACtB,EAACL,EAAYM,YAAa,kCAC1B,EAACN,EAAY/9J,MAAO,4BACpB,EAAC+9J,EAAYO,OAAQ,6BACrB,EAACP,EAAYQ,SAAU,+B,GAGrBC,EAAmCzmM,EAAMC,MAAK,WAChD,IAAMulH,GAAiB,IAAAtvG,aAAY,EAAA8hJ,sBAE7BjrF,GAAgB,IAAA72D,aAAY,EAAAq4B,mCAC5BoL,GAAe,IAAAzjC,aAAY,EAAA43B,kCAEzB/sC,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAAwZ,uBACb,GAAG,CAACxZ,IAEJ,IAAMuN,EAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAAwZ,uBACb,GAAG,CAACxZ,KACJ,aAA4BuN,GAE5B,IA1CuB0kK,EA0CjBvgM,GAAQ,eAeR8M,GAzDiByzL,EAyDmBvgM,EAAM,EAAA4R,cAAc4uL,sBApD9B,aAAOX,GACrBvgL,SAASihL,GAChBA,EALAT,EAyDLrgL,EAA2B,CAC7B,CACIziB,KAAM6iM,EAAYE,QAClB75L,KACI,gBAAC,UAAU,MAAK,IAAAu6L,oBAAmB3zL,IAAoB+yL,EAAYE,QAAU,WAAa,cAGlG,CACI/iM,KAAM6iM,EAAYI,mBAClB/5L,KACI,gBAAC,UAAa,MACN,IAAAw6L,uBACA5zL,IAAoB+yL,EAAYI,mBAAqB,WAAa,WACrE,CACD9vL,KAAM,EAAAC,sBAIlB,CACIpT,KAAM6iM,EAAYK,OAClBh6L,KACI,gBAAC,UAAc,MACP,IAAAy6L,wBAAuB7zL,IAAoB+yL,EAAYK,OAAS,WAAa,cAI7F,CACIljM,KAAM6iM,EAAYM,WAClBj6L,KACI,gBAAC,UAAW,MACJ,IAAA06L,qBAAoB9zL,IAAoB+yL,EAAYM,WAAa,WAAa,cAI9F,CACInjM,KAAM6iM,EAAY/9J,KAClB57B,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YACI3D,IAAoB+yL,EAAY/9J,KAC1B,EAAAnmC,qBAAqB6U,UACrB,EAAA7U,qBAAqBwQ,SAK3C,CACInP,KAAM6iM,EAAYO,MAClBl6L,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACNK,YACI3D,IAAoB+yL,EAAYO,MAC1B,EAAAzkM,qBAAqB6U,UACrB,EAAA7U,qBAAqBwQ,MAE/BzQ,UACIoR,IAAoB+yL,EAAYO,MAC1B,EAAAzkM,qBAAqBsS,YACrB,EAAAtS,qBAAqBI,SAK3C,CACIiB,KAAM6iM,EAAYQ,QAClBn6L,KACI,gBAAC,UAAS,CACNxK,UACIoR,IAAoB+yL,EAAYQ,QAC1B,EAAA1kM,qBAAqB6U,UACrB,EAAA7U,qBAAqBwQ,UAOzCpD,EAAYyqC,EAAa51C,SAAWgpE,EAAchpE,QAElDijM,EAAkB,CACpB93L,UAAS,EACTs2G,eAAc,EACdyhF,SA1FyB,SAACC,GAC1BzyK,GAAS,IAAAka,sBAAqBu4J,GAClC,GA0FA,OACI,gBAAC,UAAc,CAACtmM,UAAWf,EAAG,SACzBqP,GAAa,gBAAC,UAAa,MAC5B,gBAAC,UAAc,CACXrO,aAAa,kBACb46H,SACI,2BACK71G,EAAWrO,KAAI,SAACqO,GAAe,OAC5B,gBAAC,UAAM,CACH/S,IAAK+S,EAAWziB,KAChBvC,UAAWf,EAAG,OACduB,MAAO,EAAA2N,gBAAgB6E,YACvBJ,UAAWoS,EAAWziB,OAAS8P,EAC/BrR,SAAUgkB,EAAWvZ,KACrB1K,QAAS,WAAM,OAnHpB,SAACwlM,G,MACpB,UAAQvvL,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,EAAA4R,cAAc4uL,mBAAoBQ,EAAO,MAGtD,CA4G2CC,CAAexhL,EAAWziB,KAA1B,GAEdpC,EAAEolM,EAAUvgL,EAAWziB,OATA,MAevC8P,IAAoB+yL,EAAYE,SAC7B,gBAAC,UAAmB,KAAKc,EAAe,CAAE7mM,MAAOY,EAAEolM,EAAUH,EAAYE,aAE5EjzL,IAAoB+yL,EAAYI,oBAC7B,gBAAC,UAA8B,KACvBY,EAAe,CACnB7mM,MAAOY,EAAEolM,EAAUH,EAAYI,wBAGtCnzL,IAAoB+yL,EAAYK,QAC7B,gBAAC,UAAkB,KAAKW,EAAe,CAAE7mM,MAAOY,EAAEolM,EAAUH,EAAYK,YAE3EpzL,IAAoB+yL,EAAYM,YAC7B,gBAAC,UAAsB,KAAKU,EAAe,CAAE7mM,MAAOY,EAAEolM,EAAUH,EAAYM,gBAE/ErzL,IAAoB+yL,EAAY/9J,MAC7B,gBAAC,UAAgB,KAAK++J,EAAe,CAAE7mM,MAAOY,EAAEolM,EAAUH,EAAY/9J,UAEzEh1B,IAAoB+yL,EAAYO,OAC7B,gBAAC,UAAiB,KAAKS,EAAe,CAAE7mM,MAAOY,EAAEolM,EAAUH,EAAYO,WAE1EtzL,IAAoB+yL,EAAYQ,SAC7B,gBAAC,UAAmB,KAAKQ,EAAe,CAAE7mM,MAAOY,EAAEolM,EAAUH,EAAYQ,cAK7F,IAEA,UAAeC,C,q7BCpQf,kBAEA,WACA,cACA,cACA,WACA,cAEA,cAeMj4L,EAAgB,4BAEhB64L,EAA4C,UAAMpnM,MAAK,SAACC,GAClD,IAAAyM,EAAsDzM,EAAK,KAArDyO,EAAgDzO,EAAK,SAA3CQ,EAAsCR,EAAK,QAAlCwD,EAA6BxD,EAAK,cAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBzJ,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,OAC9B7M,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,wDACT0X,QAAS1X,EAAE,8DAhChB,IAqCf,IAEA,UAAesmM,C,+BCrEf,WAAgB,OAAS,yCAAyC,cAAgB,gDAAgD,MAAQ,wCAAwC,cAAc,8CAA8C,OAAS,yCAAyC,SAAW,2C,q2BCD3S,kBAqCA,UAnC2B,SAAC,G,IACxBh0I,EAAQ,WACRqqC,EAAU,aACV4pG,EAAS,YAMHC,EAAgBvnM,EAAM6I,OAA8B,MAE1D7I,EAAMoL,WAAU,WACZ,OAAKk8L,GAULC,EAAc97L,QAAUqyF,aAAY,WAChCzqC,GACJ,GAAGqqC,GAEI,WACC6pG,EAAc97L,UACdsyF,cAAcwpG,EAAc97L,SAC5B87L,EAAc97L,QAAU,KAEhC,IAlBQ87L,EAAc97L,UACdsyF,cAAcwpG,EAAc97L,SAC5B87L,EAAc97L,QAAU,MAErB,WAEP,EAaR,GAAG,CAAC4nD,EAAUqqC,EAAY4pG,GAC9B,C,+BClCA,WAAgB,KAAO,kCAAkC,qBAAqB,gDAAgD,QAAU,qCAAqC,OAAS,oCAAoC,iBAAiB,4CAA4C,eAAe,0CAA0C,yBAAyB,oDAAoD,OAAS,oCAAoC,SAAW,sC,umDCDrd,eACA,WACA,WACA,WAKA,cACA,cACA,WACA,cAEA,SAAUE,EAAgC3jM,G,sEAGyC,OAFvEN,EAAmCM,EAAM,UAA9BuhC,EAAwBvhC,EAAM,WAAlBxB,EAAYwB,EAAM,QAE8B,IAAM,IAAAiJ,SACjF,IAAA26L,gCAA+BriK,K,OAEnC,OAHMsiK,EAAyE,UAG1E,aAAiBA,EAAqB/tJ,aAAct3C,GAIzD,IAAM,IAAA2K,MAAI,IAAA26L,kCAAiCpkM,KAHvC,I,cAGJ,UAMI,IAAA6C,yBAAwB7C,GACf,GAAM,UAAmBgtH,4BAA4BnrF,IAD9D,M,cACA/3B,EAAS,S,aAEA,SAAM,UAAkBkjH,4BAA4BhtH,EAAW6hC,I,OAAxE/3B,EAAS,S,wBAGP,IAA2BA,EAAM,GAAhCpJ,EAAK,KAAEugE,EAAe,KAEzBvgE,EACA,IAAM,IAAA+I,MAAI,IAAA46L,kCAAiCxiK,EAAYnhC,KADvD,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAA66L,oCAAmCziK,EAAYo/B,GAAmB,Q,cAA5E,S,QAOJ,UAJA,W,kDACI,UAAM,IAAA/2D,WAAU,EAAAq6L,uCAAwCN,I,cAAxD,S,uCC7CJ,WAAgB,cAAc,kCAAkC,wBAAwB,4CAA4C,2BAA2B,+CAA+C,gCAAgC,oDAAoD,0BAA0B,8CAA8C,qBAAqB,yCAAyC,4BAA4B,gDAAgD,6BAA6B,iDAAiD,yBAAyB,6CAA6C,6BAA6B,iDAAiD,0BAA0B,8CAA8C,qBAAqB,yCAAyC,+BAA+B,mDAAmD,4BAA4B,gDAAgD,QAAU,8BAA8B,eAAiB,qCAAqC,8BAA8B,kDAAkD,8BAA8B,kDAAkD,OAAS,6BAA6B,SAAW,+B,0cCDzyC,iBACA,cAkBA,UAT+B,WACrB,QAAoB,UAAMjjM,SAAwB,MAAK,GAAtDY,EAAK,KAAEk0G,EAAQ,KAEtB,MAAO,CACHl0G,OAAO,aAAMA,GANS,GAMwBA,GAAS,EACvDk0G,SAAQ,EAEhB,C,+BChBA,WAAiB,C,+BCAjB,WAAgB,KAAO,0CAA0C,KAAO,0CAA0C,MAAQ,2CAA2C,MAAQ,2CAA2C,gBAAgB,mDAAmD,YAAY,+CAA+C,OAAS,4CAA4C,SAAW,8C,+BCAtZ,WAAgB,aAAe,0CAA0C,4BAA4B,uDAAuD,+BAA+B,0DAA0D,6BAA6B,wDAAwD,4BAA4B,uDAAuD,0BAA0B,qDAAqD,OAAS,oCAAoC,SAAW,sC,w6DCgE3hB,EAAA0uF,oBALT,SAA8Bl7L,G,kDAC1B,UAAM,IAAAY,WAAU,EAAAu6L,yBAAyB7kM,MA5ClC,SAAkCU,G,wEAC/B,EAA2BA,EAAOklB,QAAhCuxC,EAAW,cAAEj4D,EAAO,U,wCAEH,IAAAi4D,GAAW,W,sCAAzBC,EAAU,SAEb,IAAM,IAAAvtD,MACF,IAAAi7L,yBAAwB,CACpB1tI,WAAU,EACVl4D,QAAO,MAJf,M,OACA,S,2NAwCZ,OADA,SACA,IAAM,IAAAoL,WAAU,EAAAw6L,wBAAwB9kM,MA3BjC,SAAiCU,G,sEAGoC,OAFlE,EAA0BA,EAAOklB,QAA/BwxC,EAAU,aAAEl4D,EAAO,UAE6C,IAAM,IAAAyK,SAC1E,IAAA+tD,4BAA2BN,K,OAE/B,OAHQ72D,EAAgE,SAEvE,eACI,aAAiBA,EAAerB,EAAS,EAAA+oE,sBAI9C,IAAM,IAAAp+D,MAAI,IAAAk7L,yBAAwB,CAAE3tI,WAAU,MAH1C,I,OAMA,OAHJ,SAGI,GAAM,UAAkB+qF,yBAAyB/qF,I,cAD/C,kBACF,SAA4D,IADzDt2D,EAAK,KAAE0I,EAAI,KAGd1I,EACA,IAAM,IAAA+I,MAAI,IAAAm7L,yBAAwB,CAAE5tI,WAAU,EAAEt2D,MAAK,MADrD,M,cACA,S,aAIA,OAFM2kD,EAAYj8C,GAAQ,GAE1B,IAAM,IAAAK,MAAI,IAAAo7L,2BAA0B,CAAE7tI,WAAU,EAAE5tD,KAAMi8C,M,OAAxD,S,iDAOR,S,SA9DJ,eAEA,WACA,cAEA,cACA,WAOA,S,q7BCbA,kBACA,cACA,WACA,WACA,cACA,cACA,cAEM/oD,EAAK,UAAWC,KAAK,WAOrBuoM,EAAgDroM,EAAMC,MAAK,SAACC,GACtD,IAAAU,EAAuBV,EAAK,UAAjBQ,EAAYR,EAAK,QAE5Ba,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAK,CACFJ,UAAWA,EACXyL,KAAM,gBAAC,UAAQ,CAACxK,UAAW,EAAAC,qBAAqBgG,QAChDwO,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAejnB,OACtB9R,QAASA,GAET,uBAAKE,UAAWf,EAAG,UAAWkB,EAAE,wDAG5C,IAEA,UAAesnM,C,6JCjCf,kBAIA,cACA,cACA,WACA,WA6BA,UAzB8D,SAACnoM,GACnD,IAAAE,EAAsDF,EAAK,SAAjDQ,EAA4CR,EAAK,QAAxC2jD,EAAmC3jD,EAAK,yBAAdyM,EAASzM,EAAK,KAE7DmnK,GAAoB,IAAAnxJ,aAAY,EAAAoxJ,0BAEtC,aAA4BD,EAAmBjnK,GAAYM,GAE3D,IAMMkuG,EAAiB,mBAAoBjiG,EAAOA,EAAKiiG,eAAiB,KAExE,OACI,wBAAC,UAA2B,CACxBA,eAAgBA,EAChBluG,QAASA,EACTiO,SAZa,WACbvO,GACAA,EAAS,CAAEy6J,uBAAuB,GAE1C,EASQh3G,yBAA0BA,GAGtC,C,+BCjCA,WAAgB,QAAU,qCAAqC,OAAS,oCAAoC,SAAW,sC,+qBCDvH,kBACA,aACA,cAEA,cACA,cAEA,cACA,cACA,cAEMhkD,EAAK,UAAWC,KAAK,WAyN3B,UAAe,UAAMG,MAvLA,SAAwBC,GAErC,IAAA0c,EA2BA1c,EAAK,eA1BLooM,EA0BApoM,EAAK,eAzBLmH,EAyBAnH,EAAK,cAxBLupH,EAwBAvpH,EAAK,SAvBLqoM,EAuBAroM,EAAK,kBAtBLU,EAsBAV,EAAK,UArBLkC,EAqBAlC,EAAK,iBApBL0F,EAoBA1F,EAAK,YAnBLkF,EAmBAlF,EAAK,SAlBLmC,EAkBAnC,EAAK,QAjBL8G,EAiBA9G,EAAK,aAhBLwH,EAgBAxH,EAAK,eAfLmF,EAeAnF,EAAK,WAdLoF,EAcApF,EAAK,SAbLugE,EAaAvgE,EAAK,WAZLsoM,EAYAtoM,EAAK,oBAXLyF,EAWAzF,EAAK,gBAVLoH,EAUApH,EAAK,cATLuC,EASAvC,EAAK,gBARLuoM,EAQAvoM,EAAK,aAPLsF,EAOAtF,EAAK,OANLuF,EAMAvF,EAAK,QALLu3B,EAKAv3B,EAAK,QAJL03B,EAIA13B,EAAK,UAHLqF,EAGArF,EAAK,WAFLgP,EAEAhP,EAAK,UADLwF,EACAxF,EAAK,WAEH,IAAsC,UAAMqE,SAAyB,MAAK,GAAzEm6G,EAAc,KAAEgqF,EAAiB,KAClC,IAA8B,UAAMnkM,SAAiBgkM,GAAqB,IAAG,GAA5Et6K,EAAU,KAAEmK,EAAa,KAC1B,IAAuB,UAAM7zB,UAAkB,GAAM,GAApD0yB,EAAM,KAAEC,EAAU,KAEzB,UAAM9rB,WAAU,WACR7F,GAAc0xB,GACdC,GAAW,EAGnB,GAAG,CAAC3xB,IAEJ,IAAMmF,EAAc,WAChBwsB,GAAW,EACf,EAEM4iG,EAAoB,UAAMp1H,SAAQ,WACpC,OAAO,cAAS,SAACupB,GACb3mB,EAAc2mB,EAClB,GAnDU,IAoDd,GAAG,CAAC3mB,IAmBJ,UAAM8D,WAAU,WACZ,IACMu9L,EADetmM,EAAQkV,KAAI,SAAC7Q,GAAW,OAAAgB,EAAehB,EAAf,IACJkiM,QAAQvhM,GAC3CwhM,GAA8C,IAAzBF,EAA6BtmM,EAAQsmM,GAAuB,MAC1D,aAAQjqF,EAAgBmqF,IAEjDH,EAAkBG,EAG1B,GAAG,CAACxhM,IAEJ,UAAM+D,WAAU,WACZ,IAAM09L,EAAmBpqF,EAAiB+pF,EAAa/pF,GAAkB,GACzEtmF,EAAc0wK,EAElB,GAAG,CAACpqF,IAEJ,IA0BMqqF,EAAqBT,EAAiBA,EAAe5pF,GAAkB,KAE7E,OACI,wBAAC,UAAkB,CACf+K,SAAUA,EACVxyF,OAAQA,EACRr2B,UAAWA,EACXF,QAdiB,WACjBu2B,IACAvsB,IArBW,WASf,GARKujB,GACD7oB,EAAS,MAGR/C,EAAQF,QACTiD,EAAS,MAGT6oB,GAAcywF,EAAgB,CAC9B,IAAMoqF,EAAmBL,EAAa/pF,GACtCtmF,EAAc0wK,EAClB,CAEItjM,GACAA,GAER,CAKQs/G,GAER,EAUQtmE,YACI,wBAAC,UAAK,CACF5hC,eACIA,EACM,SAACC,GACG,OAAAD,EAAe,EAAD,KACPC,GAAQ,CACX8a,WAAY+mF,IAFhB,OAIJl4G,EAEVsS,KAAK,gBACL3T,MAAO8oB,EACPvoB,WAAYA,EACZE,YAAaA,EACboX,SAnFU,SAAC7X,GACvBizB,EAAcjzB,GACd20H,EAAkB30H,GAEbA,GACDC,EAAS,KAEjB,EA6EgB3E,UAAWsoM,EACX1jM,WAAYA,EACZC,SAAUA,EACVm7D,WAAYA,EACZh7D,QA/E4B,WACxCyxB,GAAW,GAEPzxB,GACAA,GAER,EA0EgByJ,UAAWA,EACXuoB,QAASA,EACTG,UAAWA,EACXryB,WAAYA,EACZI,gBAAiBA,IAGzBlD,gBAAiBA,EACjBL,kBAAkB,aAAGvC,EAAG,WAAYuC,GACpCm5H,YACI,+BAAK36H,UAAWf,EAAG,YACdwC,EAAQkV,KAAI,SAAC7Q,EAAQ8Q,GAClB,IAAMrS,EAAQuC,EAAehB,GAEvBohB,EAAazgB,IAAkBlC,EAErC,OACI,+BACI0N,IAAK2E,EACL5W,UAAWf,EAAG,SAAU,CACpB,qBAAsBioB,EACtB,uBAAwB0gL,IAE5B7mM,QAAS,WACLyD,EAASD,GACT+xB,GAAW,GACXxsB,IACIlF,GACAA,GAER,GAECwB,EAAaN,GAG1B,MAKpB,G,uEC3NA,8BAAmC,GAM/B,I,IANiCsiM,EAAK,QAAEC,EAAK,QAAEC,EAAM,SAAEC,EAAW,cAC5DC,EAAoB,GAEpBC,EAAaL,EAAQG,EACvBpoM,EAAIse,KAAKiqL,MAAMD,EAAaH,GAAUA,EAASC,EAE5CpoM,GAAKkoM,GACRG,EAAQxxL,KAAK7W,GACbA,GAAKmoM,EAGT,OAAOE,CACX,EAEA,kCAAuC,GAMnC,I,IANqCJ,EAAK,QAAEC,EAAK,QAAEC,EAAM,SAAEC,EAAW,cAChEC,EAAoB,GAEpBC,EAAaL,EAAQG,EACvBpoM,EAAIse,KAAKiqL,MAAMD,EAAaH,GAAUA,EAASA,EAAS,EAAIC,EAEzDpoM,GAAKkoM,GACRG,EAAQxxL,KAAK7W,GACbA,GAAKmoM,EAGT,OAAOE,CACX,C,q7BCjCA,kBAGA,WACA,cACA,cACA,WACA,cACA,WACA,WACA,UACA,cACA,WAaM56L,EAAgB,4BAEhB+6L,EAAmE,UAAMtpM,MAAK,SAACC,GACzE,IAAAyM,EAA6BzM,EAAK,KAA5BQ,EAAuBR,EAAK,QAAnBstB,EAActtB,EAAK,UAElCa,GAAM,IAAAC,kBAAgB,EAExBqnJ,GAAc,IAAAnyI,cAAY,IAAA+xI,oBAAkBt7I,aAAI,EAAJA,EAAMpJ,YAAa,OAC/D0nC,GAA4B,IAAA/0B,cAAY,IAAAg1B,4BAA0Bv+B,aAAI,EAAJA,EAAMpJ,YAAa,OAE3F,IAAKoJ,KAASA,aAAI,EAAJA,EAAMpJ,cAAcoJ,aAAI,EAAJA,EAAM47B,WACpC,OAAO,KAGX,IAAM95B,EAAU45I,EAAY17I,EAAK47B,WAEjC,OACI,wBAAC,UAAK,KACF,wBAAC,UAAY,CAAC7nC,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY0lC,EAA0BlnC,QACtCpC,QAAS,WACLjB,GACJ,GAEJ,CACIoO,SAAU/N,EAAE,oDACZK,MAAO,EAAA2N,gBAAgB8O,QACvBhd,aAAc,UAAG2N,EAAa,OAC9BU,UAAW+7B,EAA0BlnC,QACrCpC,QAAS,YACD8M,aAAO,EAAPA,EAAS1I,QACTynB,EAAU/e,EAAQ1I,OAAQ4G,EAAKpJ,YAE/B,IAAAqxB,YAAW,gBAEnB,IAGRvoB,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBsS,cACvDjU,MAAOY,EAAE,iDAAkD,CACvD+E,SAAU2I,aAAO,EAAPA,EAAS3I,WAEvB2S,QAAS1X,EAAE,uDAAwD,CAC/D+E,SAAU2I,aAAO,EAAPA,EAAS3I,cAM3C,IAEA,UAAeyjM,C,saCpFf,eAwBA,cACA,WAMA,UAEa,EAAAC,2BAAmD,CAC5Dt7L,MAAO,GACP/H,MAAO,KACPkI,MAAO,KACPE,KAAM,CAAC,EACPk7L,cAAe,UAAc9lM,QAC7B+lM,WAAY,UAAc/lM,QAC1BqpE,cAAe,UAAcrpE,QAC7BopE,cAAe,UAAcppE,QAC7BgmM,oBAAqB,UAAchmM,QACnCkhK,YAAa,CAAC,GAGlB,IAAMphK,EAA8B,CAAC,EAErC,mBAAgBG,EAAsBC,G,4CAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAizH,iCACO,IAAAzhH,EAAiC9Q,EAAM,WAA3BsC,EAAqBtC,EAAM,MAEzCy7D,EAAe17D,EAFMoB,EAAcnB,EAAM,YAEN,EAAA2lM,2BAEzC,OAAO,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,IACA,IAAAC,kBAAiBD,EAAc3qD,EAAYxO,IAAM,IAKhE,KAAK,EAAAmwH,mCACOnwH,EAA+CtC,EAAM,MAArD,IAAOkR,EAAwClR,EAAM,aAI7D,OAJ6B8Q,EAA0B9Q,EAAM,WAEvDy7D,EAAe17D,EAFoBoB,EAAcnB,EAAM,YAEpB,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,IACA,IAAAE,oBAAmBF,EAAc3qD,EAAYxO,EAAO4O,IAAa,IAIhF,KAAK,EAAAyhH,iCACO,IAAAvyH,EAAwCJ,EAAM,MAItD,OAJesC,EAAiCtC,EAAM,MAAhC8Q,EAA0B9Q,EAAM,WAEhDy7D,EAAe17D,EAFaoB,EAAcnB,EAAM,YAEb,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,IACA,IAAA2mE,kBAAiB3mE,EAAc3qD,EAAYxO,EAAOlC,IAAM,IAKvE,KAAK,EAAA6yH,4BAKD,OAFMx3D,EAAe17D,EAFboB,EAAcnB,EAAM,YAEa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfmqI,cAAe,UAAc1lM,UAAO,IAKhD,KAAK,EAAAizH,8BAKD,OAFM13D,EAAe17D,EAFboB,EAAcnB,EAAM,YAEa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfmqI,cAAe,UAAcrlM,KAAE,IAK3C,KAAK,EAAA8yH,4BAKD,OAJQjzH,EAAqBJ,EAAM,MAE7By7D,EAAe17D,EAFNoB,EAAcnB,EAAM,YAEM,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfmqI,cAAe,UAAcvlM,SAASD,KAAM,IAKxD,KAAK,EAAAozH,yBAKD,OAFM/3D,EAAe17D,EAFboB,EAAcnB,EAAM,YAEa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfoqI,WAAY,UAAc3lM,UAAO,IAK7C,KAAK,EAAAwzH,2BAKD,OAFMj4D,EAAe17D,EAFboB,EAAcnB,EAAM,YAEa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfoqI,WAAY,UAActlM,KAAE,IAKxC,KAAK,EAAAqzH,yBAKD,OAJQxzH,EAAqBJ,EAAM,MAE7By7D,EAAe17D,EAFNoB,EAAcnB,EAAM,YAEM,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfoqI,WAAY,UAAcxlM,SAASD,KAAM,IAKrD,KAAK,EAAA2zH,4BAID,OAFMt4D,EAAe17D,EADboB,EAAcnB,EAAM,YACa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACf0N,cAAe,UAAcjpE,UAAO,IAKhD,KAAK,EAAA+zH,8BAID,OAFMx4D,EAAe17D,EADboB,EAAcnB,EAAM,YACa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACf0N,cAAe,UAAc5oE,KAAE,IAK3C,KAAK,EAAA4zH,4BAKD,OAJQ/zH,EAAqBJ,EAAM,MAE7By7D,EAAe17D,EAFNoB,EAAcnB,EAAM,YAEM,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACf0N,cAAe,UAAc9oE,SAASD,KAAM,IAKxD,KAAK,EAAAw0H,4BAID,OAFMn5D,EAAe17D,EADboB,EAAcnB,EAAM,YACa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfyN,cAAe,UAAchpE,UAAO,IAKhD,KAAK,EAAA40H,8BAID,OAFMr5D,EAAe17D,EADboB,EAAcnB,EAAM,YACa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfyN,cAAe,UAAc3oE,KAAE,IAK3C,KAAK,EAAAy0H,4BAKD,OAJQ50H,EAAqBJ,EAAM,MAE7By7D,EAAe17D,EAFNoB,EAAcnB,EAAM,YAEM,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfyN,cAAe,UAAc7oE,SAASD,KAAM,IAKxD,KAAK,EAAAg1H,mCAID,OAFM35D,EAAe17D,EADboB,EAAcnB,EAAM,YACa,EAAA2lM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfqqI,oBAAqB,UAAc5lM,UAAO,IAKtD,KAAK,EAAAs1H,mCACO,IAAAr0H,EAAqBnB,EAAM,UAGnC,OAHmBI,EAAUJ,EAAM,MAC7By7D,EAAe17D,EAAMoB,IAAc,EAAAwkM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfqqI,oBAAqB,UAAczlM,SAASD,KAAM,IAK9D,KAAK,EAAAk1H,qCACOn0H,EAAiCnB,EAAM,UAAvC,IAAW6sH,EAAsB7sH,EAAM,SAAlByL,EAAYzL,EAAM,QAG/C,OAFMy7D,EAAe17D,EAAMoB,IAAc,EAAAwkM,2BAElC,EAAP,KACO5lM,KAAK,MACPoB,GAAS,OACHs6D,GAAY,CACfulG,YAAa,EAAF,KACJvlG,EAAaulG,cAAW,OAC1Bn0C,GAAWphH,EAAO,IAEvBq6L,oBAAqB,UAAcvlM,KAAE,IAKjD,KAAK,EAAAC,gBACD,OAAOZ,EAGX,KAAK,EAAAizH,cACO1xH,EAAmCnB,EAAM,UAAzC,IAAWuR,EAAwBvR,EAAM,oBAGjD,OAFMy7D,EAAe17D,EAAMoB,IAAc,EAAAwkM,2BAElC,EAAP,KACO/lM,KAAY,MACduB,GAAS,OACH,EAAAwkM,6BACA,IAAA5pI,wBAAuB,EAAA4pI,2BAA4BlqI,EAAclqD,IAAoB,IAUpG,QACI,OAAOxR,EAGlB,C,+BCnUD,WAAgB,SAAW,+CAA+C,OAAS,6CAA6C,SAAW,+C,qLCD3I,iBACA,aACA,WA2BS,EAAAgmM,eAzBc,SACnBC,EACAhkL,EACAyK,EACAw5K,GAEA,OAAO,aAAUjkL,GAAQ,SAACkkL,EAAgBl3L,GACtC,IAAMm3L,EACFF,EAA0Bj3L,IAA2B,EAAAo3L,uBAEzD,OACIF,EAAe54H,MAAK,SAACl3D,GACjB,IAAI,aAAQA,GACR,OAAOA,EAAK2tB,OAAM,SAAC5N,GACf,OAAO6vK,EAAa16K,IAAI6K,EAC5B,IAGJ,IAAMA,EAAO/f,EACb,OAAO4vL,EAAa16K,IAAI6K,EAC5B,KAAMgwK,EAAuBvkL,SAAS6K,EAE9C,GACJ,C,yEC1BA,eACA,WACA,WAqCA,UAnCyB,SAErBlW,G,MA8BA,OA5BY,MACP,EAAAxa,WAAWsqM,gBAAiB,KAC7B,EAAC,EAAAtqM,WAAWw1C,eAAgB,KAE5B,EAAC,EAAAx1C,WAAWy1H,cAAe,KAC3B,EAAC,EAAAz1H,WAAW6pI,gBAAiB,KAE7B,EAAC,EAAA7pI,WAAW01H,qBAAsB,KAClC,EAAC,EAAA11H,WAAW0pI,uBAAwB,KAEpC,EAAC,EAAA1pI,WAAW2c,WAAY,KACxB,EAAC,EAAA3c,WAAW88H,aAAc,KAE1B,EAAC,EAAA98H,WAAWitB,WAAY,KACxB,EAAC,EAAAjtB,WAAWinB,aAAc,KAE1B,EAAC,EAAAjnB,WAAW6d,eAAgB,KAE5B,EAAC,EAAA7d,WAAWuqM,YAAa,EAAAhqE,cAAc7pB,IACvC,EAAC,EAAA12G,WAAWwqM,qBAAsB,EAAAC,uBAAuB/zF,IAEzD,EAAC,EAAA12G,WAAW0d,aAAc,KAC1B,EAAC,EAAA1d,WAAWsd,aAAc,KAC1B,EAAC,EAAAtd,WAAWyd,cAAe,KAE3B,EAAC,EAAAzd,WAAWg2H,kBAAkB,E,CAItC,C,sJCnCa,EAAAupB,iCAAmC,SAACv7I,GAC7C,OAAAA,EAAM0mM,oBAAoBv8J,OAA1B,EACS,EAAA+nC,mCAAqC,SAAClyE,GAA0B,OAAAA,EAAM0mM,oBAAoB30F,aAA1B,C,+BCJ7E,WAAgB,aAAa,gDAAgD,MAAQ,2CAA2C,QAAU,6CAA6C,SAAW,8CAA8C,OAAS,4CAA4C,SAAW,8C,yECDhT,eACA,WAUA,UARyB,SAACv7F,G,MAKtB,OAJY,MACP,EAAAxa,WAAWkZ,MAAOsB,EAAa,EAAAiwC,qBAAqBvxC,OAAS,G,CAItE,C,q7BCTA,kBACA,WACA,cAGA,UACA,cACA,WACA,WACA,WAOA,WACA,cACA,cACA,cACA,cAGA,WAMA,UACA,cACA,cACA,cACA,WACA,cAEA,cAGMjZ,EAAK,UAAWC,KAAK,WAUrByqM,EAAsF,CACxFx9F,eAAgB,CACZm6E,WAAY,8DACZC,oBAAqB,uEACrBC,eAAgB,kEAChBC,YAAa,+DACbC,eAAgB,kEAChBC,gBAAiB,IAErBt6E,aAAc,CACVi6E,WAAY,4DACZC,oBAAqB,qEACrBC,eAAgB,gEAChBC,YAAa,6DACbC,eAAgB,gEAChBC,gBAAiB,IAErBr6E,kBAAmB,CACfg6E,WAAY,iEACZC,oBAAqB,0EACrBC,eAAgB,qEAChBC,YAAa,kEACbC,eAAgB,qEAChBC,gBAAiB,IAErBp6E,yBAA0B,CACtB+5E,WAAY,wEACZC,oBAAqB,iFACrBC,eAAgB,4EAChBC,YAAa,yEACbC,eAAgB,GAChBC,gBAAiB,IAErBn6E,cAAe,CACX85E,WAAY,6DACZC,oBAAqB,sEACrBC,eAAgB,iEAChBC,YAAa,8DACbC,eAAgB,GAChBC,gBAAiB,IAErBl6E,cAAe,CACX65E,WAAY,6DACZC,oBAAqB,sEACrBC,eAAgB,iEAChBC,YAAa,8DACbC,eAAgB,iEAChBC,gBAAiB,mEAErBj6E,aAAc,CACV45E,WAAY,4DACZC,oBAAqB,qEACrBC,eAAgB,gEAChBC,YAAa,6DACbC,eAAgB,GAChBC,gBAAiB,kEAErBh6E,WAAY,CACR25E,WAAY,0DACZC,oBAAqB,mEACrBC,eAAgB,8DAChBC,YAAa,2DACbC,eAAgB,GAChBC,gBAAiB,gEAErB/5E,gBAAiB,CACb05E,WAAY,+DACZC,oBAAqB,wEACrBC,eAAgB,mEAChBC,YAAa,gEACbC,eAAgB,GAChBC,gBAAiB,qEAErB95E,cAAe,CACXy5E,WAAY,6DACZC,oBAAqB,sEACrBC,eAAgB,iEAChBC,YAAa,8DACbC,eAAgB,GAChBC,gBAAiB,IAErB75E,gBAAiB,CACbw5E,WAAY,+DACZC,oBAAqB,wEACrBC,eAAgB,mEAChBC,YAAa,gEACbC,eAAgB,GAChBC,gBAAiB,KAInBN,EAAyF,CAC3Fl6E,eAAgB,CACZm6E,WAAY,qEACZC,oBAAqB,8EACrBC,eAAgB,yEAChBC,YAAa,sEACbC,eAAgB,yEAChBC,gBAAiB,IAErBt6E,aAAc,CACVi6E,WAAY,mEACZC,oBAAqB,4EACrBC,eAAgB,uEAChBC,YAAa,oEACbC,eAAgB,uEAChBC,gBAAiB,IAErBr6E,kBAAmB,CACfg6E,WAAY,wEACZC,oBAAqB,iFACrBC,eAAgB,4EAChBC,YAAa,yEACbC,eAAgB,4EAChBC,gBAAiB,IAErBp6E,yBAA0B,CACtB+5E,WAAY,+EACZC,oBAAqB,wFACrBC,eAAgB,mFAChBC,YAAa,gFACbC,eAAgB,GAChBC,gBAAiB,IAErBn6E,cAAe,CACX85E,WAAY,oEACZC,oBAAqB,6EACrBC,eAAgB,wEAChBC,YAAa,qEACbC,eAAgB,GAChBC,gBAAiB,IAErBl6E,cAAe,CACX65E,WAAY,oEACZC,oBAAqB,6EACrBC,eAAgB,wEAChBC,YAAa,qEACbC,eAAgB,wEAChBC,gBAAiB,0EAErBj6E,aAAc,CACV45E,WAAY,mEACZC,oBAAqB,4EACrBC,eAAgB,uEAChBC,YAAa,oEACbC,eAAgB,GAChBC,gBAAiB,yEAErBh6E,WAAY,CACR25E,WAAY,iEACZC,oBAAqB,0EACrBC,eAAgB,qEAChBC,YAAa,kEACbC,eAAgB,GAChBC,gBAAiB,uEAErB/5E,gBAAiB,CACb05E,WAAY,sEACZC,oBAAqB,+EACrBC,eAAgB,0EAChBC,YAAa,uEACbC,eAAgB,GAChBC,gBAAiB,4EAErB75E,gBAAiB,CACbw5E,WAAY,sEACZC,oBAAqB,+EACrBC,eAAgB,0EAChBC,YAAa,uEACbC,eAAgB,GAChBC,gBAAiB,IAErB95E,cAAe,CACXy5E,WAAY,oEACZC,oBAAqB,6EACrBC,eAAgB,wEAChBC,YAAa,qEACbC,eAAgB,GAChBC,gBAAiB,KAInBijB,EAAwF,CAC1FC,iBAAkB,0DAClBC,qBAAsB,8DACtBC,gCAAiC,0EAG/BC,EAA2C5qM,EAAMC,MAAK,SAACC,G,8BACjDU,EAA6DV,EAAK,UAAvD+sB,EAAkD/sB,EAAK,OAA/Cg/E,EAA0Ch/E,EAAK,KAAzCkiG,EAAoCliG,EAAK,cAA1ByhG,EAAqBzhG,EAAK,iBAElEa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXw1F,GAAa,IAAAxlH,UAAQ,WACvB,OAAKuoB,EAIE,CACHA,OAAM,GAJC,IAMf,GAAG,CAACA,IAEI8/C,GAAkB,IAAA89H,2BAA0B3gF,GAAW,cAEzDm+D,GAAiBnpG,aAAI,EAAJA,EAAMmpG,iBAAkB,KAEzCD,GAA2C,QAAvB,EAAAC,aAAc,EAAdA,EAAgB58K,eAAO,eAAE68K,aAAc,KAC3DC,GAAiC,QAAf,EAAArpG,aAAI,EAAJA,EAAM50D,iBAAS,eAAE0uB,MAAK,SAACt4B,GAAa,OAAAA,EAAStU,KAAOg8K,CAAhB,MAAsC,KAC5FI,GAC8B,QAAhC,EAAuB,QAAvB,EAAAH,aAAc,EAAdA,EAAgB58K,eAAO,eAAEoD,eAAO,eAAEmqC,MAAK,SAACn1C,GACpC,QAAQA,aAAM,EAANA,EAAQuxD,KACpB,MAAM,KAEJ01I,GAAmD,QAAvB,EAAAziB,aAAc,EAAdA,EAAgB58K,eAAO,eAAEs/L,cAAe,KAEpEC,GACgC,QAAlC,EAAuB,QAAvB,EAAA3iB,aAAc,EAAdA,EAAgB58K,eAAO,eAAE4+E,iBAAS,eAAErxC,MAAK,SAACntC,G,MACtC,OAAqB,QAAd,EAAAA,aAAK,EAALA,EAAOgD,eAAO,eAAEsiE,MAAK,SAACttE,GACzB,QAAQA,aAAM,EAANA,EAAQuxD,KACpB,GACJ,MAAM,KAEJ61I,GAA6C,QAAxB,EAAA5iB,aAAc,EAAdA,EAAgB6iB,gBAAQ,eAAE5iB,aAAc,KAC7D6iB,GAAkC,QAAf,EAAAjsH,aAAI,EAAJA,EAAM50D,iBAAS,eAAE0uB,MAAK,SAACt4B,GAAa,OAAAA,EAAStU,KAAO6+L,CAAhB,MAAuC,KAC9FG,IAC+B,QAAjC,EAAwB,QAAxB,EAAA/iB,aAAc,EAAdA,EAAgB6iB,gBAAQ,eAAEr8L,eAAO,eAAEmqC,MAAK,SAACn1C,GACrC,OAAOA,aAAM,EAANA,EAAQuxD,IACnB,MAAM,KAEJi2I,IAAqD,QAAxB,EAAAhjB,aAAc,EAAdA,EAAgB6iB,gBAAQ,eAAEH,cAAe,KAEtEz7H,IAC8B,yBAA/Bk5G,aAAoB,EAApBA,EAAsBrlL,OACjBolL,aAAe,EAAfA,EAAiB9pE,yBAAyB8pE,aAAe,EAAfA,EAAiBxlG,uBAC3DwlG,aAAe,EAAfA,EAAiB4c,uBAAuB5c,aAAe,EAAfA,EAAiBvlG,sBAAuB,KAEpF3gF,GAA4D,CAC9D8oM,GAAoBC,GACd,CACInkM,MACI,gBAAC,UAAO,CACJhG,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI8pM,GACI,gBAAC,UAAc,CAACjqM,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAEypM,EAAoCa,MAE3C,OAGP,W,QAAM,OACH,gBAAC,UAA0B,CACvB9lM,aAAc8lM,GACdpkM,MACIokM,GACMtqM,EAAE,wCAAyC,CACvC8C,OAAQ9C,EACsC,QAA1C,EAAAwpM,aAAiB,EAAjBA,EAAoBY,EAAiBhoM,aAAK,eACtCioM,GAAsBjoM,MAE1B,CACI0K,QAASs9L,EAAiB3zL,OAAS,GAAK,MAIpDzW,EAAE,iCAAkC,CAChC8C,OAAQ9C,EACsC,QAA1C,EAAAwpM,aAAiB,EAAjBA,EAAoBY,EAAiBhoM,aAAK,eACtCioM,GAAsBjoM,MAE1B,CACI0K,QAASs9L,EAAiB3zL,OAAS,GAAK,MAK9DnL,KAAM,gBAAC,UAAW,CAACuK,YAAa,EAAA9U,qBAAqBkS,a,IAKrEzO,aAAc8lM,GACdjmM,SAAU,WACD6nB,GAAWg+K,GAAuB/gF,GAKH,yBAAhCkhF,cAAqB,EAArBA,GAAuBjoM,OACvBsxB,GACI,IAAA62K,2BAA0B,CACtBr+K,OAAM,EACNq7J,WAAY2iB,EACZ/gF,WAAU,KAMc,oBAAhCkhF,cAAqB,EAArBA,GAAuBjoM,OACS,gBAAhCioM,cAAqB,EAArBA,GAAuBjoM,OACS,iBAAhCioM,cAAqB,EAArBA,GAAuBjoM,OACS,qBAAhCioM,cAAqB,EAArBA,GAAuBjoM,OACS,oBAAhCioM,cAAqB,EAArBA,GAAuBjoM,OAEvBsxB,GACI,IAAA82K,wBAAuB,CACnBt+K,OAAM,EACNq7J,WAAY2iB,EACZ/gF,WAAU,OAzBlB,IAAAt1F,YAAW,6CA6BnB,GAEJ,MACR1F,OAAO,EAAA4/B,UAEH08I,GAAkC,WACpC,IAAM79G,GAAaq9G,aAA8B,EAA9BA,EAAgCr9G,aAAc,KAC5DA,EAKLgU,EAAiBhU,IAJb,IAAA/4D,YAAW,mBAKnB,EAEM62K,GAA+B,WAC5Bx+K,GAAWm7J,GAAsBl+D,GAKH,yBAA/Bs+D,aAAoB,EAApBA,EAAsBrlL,OACtBsxB,GACI,IAAAi3K,uBAAsB,CAClBz+K,OAAM,EACNq7J,WAAYF,EACZl+D,WAAU,KAMa,oBAA/Bs+D,aAAoB,EAApBA,EAAsBrlL,OACS,gBAA/BqlL,aAAoB,EAApBA,EAAsBrlL,OACS,iBAA/BqlL,aAAoB,EAApBA,EAAsBrlL,OACS,qBAA/BqlL,aAAoB,EAApBA,EAAsBrlL,OACS,oBAA/BqlL,aAAoB,EAApBA,EAAsBrlL,OAEtBsxB,GACI,IAAAk3K,oBAAmB,CACf1+K,OAAM,EACNq7J,WAAYF,EACZl+D,WAAU,OAzBlB,IAAAt1F,YAAW,6CA6BnB,EAEM1lB,GAAY69D,aAAa,EAAbA,EAAehpE,QAE3B4vH,GACF40D,GAAmBC,EACbznL,EAA8C,QAA5C,EAAAkmL,aAAoB,EAApBA,EAAuBsB,EAAgBplL,aAAK,eAAGqlL,EAAqBrlL,MAAO,CACzE0K,QAAS06K,EAAgB/wK,OAAS,GAAK,IAE3C,KAEJk8G,GAAsB3yH,EAAE,wCAAyC,CACnEioL,SAAUr1D,KAGd,IAAKvxB,EACD,OAAO,KAGX,IAAMwpG,GAAqB1iM,QAAQs/K,GAAwBwiB,GAE3D,OAAKY,KAAuBvpM,cAAO,EAAPA,GAASF,QAKjC,gBAAC,UAAgB,CACbmtE,SAAUA,GACVokD,oBAAqBA,GACrBC,cAAeA,GACfC,cAAe,SAACruH,GACZ,OACI,gCACKqmM,IACG,gBAAC,UAAO,CACJ3qM,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBV,UAAWf,EAAG,WACd0B,YACIupM,EACI,gBAAC,UAAc,CAAC1pM,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAEypM,EAAoCM,KAE3C,OAGP,W,MACG,OAAIE,EAEI,gBAAC,UAAM,CACHpqM,UAAWf,EAAG,SAAU,gBACxBuB,MAAO,EAAA2N,gBAAgB88L,kBACvBlqM,QAAS6pM,GACTjmM,WAAYA,EACZ2J,UAAWA,IAEVnO,EAAE,8CAKXynL,EAEI,gBAAC,UAAM,CACH5nL,UAAWf,EAAG,SAAU,gBACxBuB,MAAO,EAAA2N,gBAAgB88L,kBACvBlqM,QAAS8pM,GACTlmM,aAAculM,GAA6BvlM,EAC3C2J,UAAWA,IAEVq5K,EACKxnL,EAC6C,QAAzC,EAAAwpM,aAAiB,EAAjBA,EAAoBhiB,EAAgBplL,aAAK,eACrCqlL,EAAqBrlL,MAEzB,CACI0K,QAAS06K,EAAgB/wK,OAAS,GAAK,IAG/C,MAKX,IACX,IAGR,gBAAC,UAAe,CACZ5W,UAAWA,EACXyB,QAASA,GACTkD,WAAY2J,GACZksH,6BAA8BlsH,GAC9B5M,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,OALP,EAQtCO,gBAAiB,EAAAC,4BAA4Bi9F,WAI7D,IAnFG,IAsFf,IAEA,UAAeirG,C,u8CC1gBf,kBACA,cACA,cACA,WACA,WACA,UACA,aACA,cACA,cACA,cACA,cACA,WACA,cACA,WACA,cACA,YACA,UACA,aAIA,cACA,cACA,aAEA,WACA,WACA,cACA,UACA,WACA,cAGA,WACA,aACA,cAGA,WACA,aAEM/qM,EAAK,UAAWC,KAAK,WASrB88H,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAsYxE,UApY8C,SAAC18H,GACnC,IAAA88H,EAAmE98H,EAAK,SAA9DskE,EAAyDtkE,EAAK,gBAA7C2jD,EAAwC3jD,EAAK,yBAAnBqD,EAAcrD,EAAK,UAExEa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXo3K,GAAoC,eAEpChoJ,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiC,UAAM2D,SAAQ,WACjD,IAAMsW,GAAS,aAAiBwpD,GAEhC,MAAO,CAACxpD,GADO,aAAaja,EAAGia,GAGnC,GAAG,CAACwpD,IAAiB,GALd9pD,EAAa,KAAEupC,EAAa,KAO7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMmqB,GAAao/B,aAAe,EAAfA,EAAiBp4D,KAAM,KAC1C,GAAKg5B,EAAL,CAKA,IAAM2mK,GAAkB,aAAe3mK,EAAYpqB,GACnD,GAAK+wL,EAAL,CAKA,GAAI/uE,EACA8uE,EAAkChjK,QAAQ,CACtC1D,WAAU,EACV2mK,gBAAe,QAEhB,CACH,IAAKxoM,EAED,YADA,IAAAqxB,YAAW,mDAGfH,GACI,IAAAu3K,uBAAsB,CAClBzoM,UAAS,EACT6hC,WAAU,EACV2mK,gBAAe,IAG3B,CAEA9wL,EAAcI,WAAW,CAAC,EArB1B,MAFI,IAAAuZ,YAAW,wBAJf,MAFI,IAAAA,YAAW,mBA8BnB,IAGEqrB,EAA2B,UAAMptB,WAAW,WAClD,UAAMznB,WAAU,WACR60C,EAAyB09E,wBACzB19E,EAAyB09E,uBAAuB,CAC5Cx9E,OAAQxlC,EAAOijH,WACf75D,MAAOppD,EAAOkjH,WAI1B,GAAG,CAACljH,EAAOijH,WAAYjjH,EAAOkjH,YAE9B,IAAME,GAAmB,IAAAC,uBAAsBrjH,EAAOmB,QAChDqoC,EAA0BT,EAA6B/oC,EAAOK,OAAQN,GAE5E,UAAMtP,WAAU,WACR60C,EAAyBi+E,oBACzBj+E,EAAyBi+E,mBAAmB,CACxCx4H,WAAYy+C,EACZ85E,UAAWF,GAIvB,GAAG,CAACA,EAAkB55E,IAEtB,UAAM/4C,WAAU,WACZ,OAAO,WACHy4C,GAAyB,EAC7B,CAEJ,GAAG,IAEH,UAAMz4C,WAAU,WACR+4C,GACAN,EAAyBM,EAGjC,GAAG,CAACA,IAEJ,IAEMj1C,GAF+B,IAAAgH,cAAY,IAAA2wE,oCAAmCtjF,IAErCQ,QAE/C,UAAMqH,WAAU,WACR60C,EAAyBk+E,sBACzBl+E,EAAyBk+E,qBAAqB,CAC1CjvH,UAAS,GAIrB,GAAG,CAACA,IAEJ,IAcsB+8L,GAAgC,IAAA/1L,cAClD,IAAAuxL,gCAA+BjjI,aAAe,EAAfA,EAAiBp4D,KACnD,aAED,OAAI,aAAQo4D,IAAoBynI,EAA4BloM,QACjD,wBAAC,UAAa,CAACs6H,YAAU,IAIhC,gCAAMtjH,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAW,CACRe,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAW+Z,WACjB1V,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+Z,YAChCoC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+Z,YACrC1S,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,KACH,EAAA+1B,uBAAuBC,kBAAiB,CAC5CU,kBAAgB,EAChBzxB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+Z,YAChC/T,YAAa7E,EAAE,kEACfic,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAA2a,8BAA8BzV,WAC/ChC,iBAAe,IAVX,IAchB,wBAAC,UAAO,CAAC/E,UAAWf,EAAG,aACvB,wBAAC,UAAW,CACRe,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWkZ,KACjB7U,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWkZ,MAChCiD,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWkZ,MACrC7R,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWkZ,KACjB3T,MAAOwV,EAAOK,OAAO,EAAApb,WAAWkZ,MAChClT,YAAa7E,EAAE,4DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAWiO,OACjB5J,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWiO,QAChCkO,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWiO,QACrC5G,MAAOlG,EAAE,wDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWiO,OACjB1I,MAAOwV,EAAOK,OAAO,EAAApb,WAAWiO,QAChCjI,YAAa7E,EAAE,8DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,oBACvBiZ,KAAM,EAAAlZ,WAAWsjB,cACjBjf,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWsjB,eAChCnH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWsjB,eACrCjc,MAAOlG,EAAE,iEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB3a,YACI,wBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE,oEAGXyjD,gBAAiB,EAAAtjD,oBAAoBC,cAEpC,SAACjB,GAAU,OACR,wBAAC,UAAqB,CAClBiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWsjB,eAChClG,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAPX,IAWhB,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWujB,UACjBlf,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWujB,WAChCpH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWujB,WACrClc,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWujB,UACjB8gF,SAAU,EAAAlrF,aAAamrF,iBACvB/+F,MAAOwV,EAAOK,OAAO,EAAApb,WAAWujB,WAChCvd,YAAa7E,EAAE,kEACfiyF,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAXd,IAehB,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWwjB,SACjBnf,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWwjB,UAChCrH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWwjB,UACrCnc,MAAOlG,EAAE,2DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWwjB,SACjB6gF,SAAU,EAAAlrF,aAAamrF,iBACvB/+F,MAAOwV,EAAOK,OAAO,EAAApb,WAAWwjB,UAChCxd,YAAa7E,EAAE,iEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB2tF,KAAM,GAXF,IAehB,wBAAC,UAAW,CACRpyF,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWyjB,QACjBpf,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyjB,SAChCtH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyjB,SACrCpc,MAAOlG,EAAE,0DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWyjB,QACjB4gF,SAAU,EAAAlrF,aAAamrF,iBACvB/+F,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyjB,SAChCzd,YAAa7E,EAAE,gEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB2tF,KAAM,GAXF,IAehB,wBAAC,UAAW,CACRpyF,UAAWf,EAAG,QAAS,iCACvBiZ,KAAM,EAAAlZ,WAAW4jB,qBACjBvf,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW4jB,sBAChCzH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW4jB,sBACrCvc,MAAOlG,EAAE,wEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAW4jB,qBACjBygF,SAAU,EAAAlrF,aAAaC,uBACvB7T,MAAOwV,EAAOK,OAAO,EAAApb,WAAW4jB,sBAChC5d,YAAa7E,EAAE,8EACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB2tF,KAAM,GAXF,IAehB,wBAAC,UAAW,CACRpyF,UAAWf,EAAG,QAAS,+BACvBiZ,KAAM,EAAAlZ,WAAW2jB,mBACjBtf,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2jB,oBAChCxH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2jB,oBACrCtc,MAAOlG,EAAE,sEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAW2jB,mBACjB0gF,SAAU,EAAAlrF,aAAaC,uBACvB7T,MAAOwV,EAAOK,OAAO,EAAApb,WAAW2jB,oBAChC3d,YAAa7E,EAAE,4EACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB2tF,KAAM,GAXF,IAehB,wBAAC,UAAW,CACRpyF,UAAWf,EAAG,QAAS,gCACvBiZ,KAAM,EAAAlZ,WAAW0jB,oBACjBrf,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0jB,qBAChCvH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0jB,qBACrCrc,MAAOlG,EAAE,uEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAW0jB,oBACjB2gF,SAAU,EAAAlrF,aAAaC,uBACvB7T,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0jB,qBAChC1d,YAAa7E,EAAE,6EACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB2tF,KAAM,GAXF,IAehB,wBAAC,UAAkC,MACnC,wBAAC,UAA2B,CACxBl6E,KAAM6B,EAAOK,OAAO,EAAApb,WAAWkZ,MAC/BnM,KAAMm/L,EAAkCn/L,KACxCgC,SAAUm9L,EAAkCn9L,SAC5CjO,QAASorM,EAAkCprM,QAC3C8sB,UA5QyB,SAAC7gB,GAC7BpJ,EAILkxB,GACI,IAAAy3K,wBAAuB,CACnB3oM,UAAS,EACT6hC,WAAYz4B,EAAKy4B,WACjB2mK,gBAAiBp/L,EAAKo/L,oBAP1B,IAAAn3K,YAAW,kDAUnB,EAiQY1lB,UAAWA,IAI3B,C,q7BCvbA,kBACA,WACA,cACA,cACA,WACA,cACA,cACA,WAaMV,EAAgB,6BAEhB29L,EAA6C,UAAMlsM,MAAK,SAACC,GACnD,IAAAwD,EAAsDxD,EAAK,cAA5CyM,EAAuCzM,EAAK,KAAtCQ,EAAiCR,EAAK,QAA7ByO,EAAwBzO,EAAK,SAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,aAAa,EAAbA,EAAeK,QAC3BpC,QAASgN,GAEb,CACIG,SAAU/N,EAAE,sCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BjJ,WAAY7B,aAAa,EAAbA,EAAeK,QAC3BmL,UAAWxL,aAAa,EAAbA,EAAeK,QAC1BpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,YACvD7T,MAAOY,EAAE,wDACT0X,QAAS1X,EAAE,kEA9BhB,IAmCf,IAEA,UAAeorM,C,yECjEf,eAUA,UAPyB,SAAC3mF,G,MACtB,OAAO,EAAP,IACK,EAAA5lH,WAAW47G,mBAAmBgK,aAAc,EAAdA,EAAgBjK,qBAAsB,GACrE,EAAC,EAAA37G,WAAW87G,mBAAmB8J,aAAc,EAAdA,EAAgB/J,eAAgB,G,CAEvE,C,+BCPA,WAAgB,MAAQ,gCAAgC,KAAO,+BAA+B,MAAQ,gCAAgC,YAAc,sCAAsC,OAAS,iCAAiC,SAAW,mC,0lBCA/O,eAEA,cAEa,EAAA2wF,4BAAqD,CAC9Dz/L,KAAM,GACNjJ,cAAe,UAAcC,SAKpB,EAAA0oM,sBAAuB,IAAA7/H,aAAY,CAC5C1zD,KAAM,kBACNrV,aAJwC,CAAC,EAKzCgpE,SAAU,CACNu7H,yBAA0B,SAEtBpkM,EAEAC,GAMJ,EACAokM,wBAAyB,SAErBrkM,EAEAC,GAMJ,EACAqkM,wBAAyB,SACrBtkM,EACAC,GAIQ,IAAA02D,EAAe12D,EAAOklB,QAAO,WAC/B6xC,EAAuBh3D,EAAM22D,IAAe,EAAA6xI,4BAElDxoM,EAAM22D,GAAc,EAAH,KACVK,GAAoB,CACvBl3D,cAAe,UAAcK,SAErC,EACAqkM,0BAA2B,SACvBxkM,EACAC,GAKM,MAAuBA,EAAOklB,QAA5BwxC,EAAU,aAAE5tD,EAAI,OAClBiuD,EAAuBh3D,EAAM22D,IAAe,EAAA6xI,4BAElDxoM,EAAM22D,GAAc,EAAH,KACVK,GAAoB,CACvBl3D,cAAe,UAAcU,GAC7BuI,KAAI,GAEZ,EACAw7L,wBAAyB,SACrBvkM,EACAC,GAKM,MAAwBA,EAAOklB,QAA7BwxC,EAAU,aAAEt2D,EAAK,QACnB22D,EAAuBh3D,EAAM22D,IAAe,EAAA6xI,4BAElDxoM,EAAM22D,GAAc,EAAH,KACVK,GAAoB,CACvBl3D,cAAe,UAAcQ,SAASD,IAE9C,EACAqoM,mBAAoB,SAChB1oM,EACAC,GAIwBA,EAAOklB,QAAO,YAE1BzM,SAAQ,SAACi+C,GACbA,UACO32D,EAAM22D,EAErB,GACJ,KAKJ,EAAAytI,0BADS,EAOT,EAAAqE,qBAAqBx9L,SAAO,yBAL5B,EAAAo5L,wBAAuB,0BACvB,EAAAC,wBAAuB,0BACvB,EAAAE,0BAAyB,4BACzB,EAAAD,wBAAuB,0BACvB,EAAAmE,mBAAkB,qBAGtB,UAAe,EAAAD,qBAAqBx/H,O,q7BC7GpC,kBAEA,cACA,aACA,cAIA,UACA,cACA,cACA,cACA,cACA,WACA,WACA,cACA,cAiBMguC,GAFK,UAAW/6G,KAAK,WAEYE,EAAMC,MAAK,SAACC,GACvC,IAAAU,EAAwEV,EAAK,UAAlEqsM,EAA6DrsM,EAAK,aAApDssM,EAA+CtsM,EAAK,eAApCusM,EAA+BvsM,EAAK,aAAtBkM,EAAiBlM,EAAK,GAAlBqC,EAAarC,EAAK,SAE7Ea,GAAM,IAAAC,kBAAgB,EAExB0rM,EAAyC,CAC3CzlM,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAQ,CAACxK,UAAW,EAAAC,qBAAqBsS,YAAakC,KAAM,EAAAC,oBACnEtP,MAAOlG,EAAE,2CAGjBF,aAAc,WACduE,SAAU,WACDgH,GAGLmgM,EAAangM,EACjB,GAGEugM,EAA2C,CAC7C1lM,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBkS,YACjD/M,MAAOlG,EAAE,6CAGjBF,aAAc,aACduE,SAAU,WACDgH,GAGLogM,EAAepgM,EACnB,GAGEwgM,EAAuC,CACzC3lM,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBkS,YAClD/M,MAAOlG,EAAE,yCAGjBF,aAAc,SACduE,SAAU,WACDgH,GAGLqgM,EAAargM,EACjB,GAGE/J,EAA6D,GAE/DE,GACAF,EAAQuV,KAAK+0L,GACbtqM,EAAQuV,KAAK,EAAAsjF,kBAAkBC,aAE/B94F,EAAQuV,KAAK80L,GACbrqM,EAAQuV,KAAK,EAAAsjF,kBAAkBC,YAGnC94F,EAAQuV,KAAKg1L,GAEb,IAAM9rM,EAAmB,oBAEzB,OACI,gBAAC,UAAe,CACZF,UAAWA,EACXyB,QAASA,EACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,MACrCrB,aAAc,UAAGC,EAAgB,aANH,EAStCD,aAAcC,EACd2B,gBAAiB,EAAAC,4BAA4BC,aAGzD,KAEA,UAAek4G,C,+LCvHf,kBAEa,EAAAgyF,yBAA2B,CACpC90H,KAAM,SAACF,EAAWC,GAGd,OAFa,IAAI,UAAQD,GAEbE,KAAKD,GAAGvjB,UACxB,EACAu4I,MAAO,SAACj1H,EAAWC,GAGf,OAFa,IAAI,UAAQD,GAEbi1H,MAAMh1H,GAAGvjB,UACzB,E,uECJJ,UAR0B,SAAC1qD,GACvB,OAAKA,EAIEA,EAAQ4lK,YAAc5lK,EAAQkjM,YAH1B,CAIf,C,gICNA,eAEA,WAIMC,EAAyB,IAAIh+K,IAAmB,CAClD,EAAAu7G,cAAcr+G,SACd,EAAAq+G,cAAcn+G,QACd,EAAAm+G,cAAc1kG,WAGZonK,EAAyB,IAAIj+K,IAAmB,CAAC,EAAAu7G,cAAc3D,SAAU,EAAA2D,cAAc1D,IAAK,EAAA0D,cAAclc,OAE1G6+E,IAAO,MACR,EAAA38C,oBAAoB3pB,UAAW,SAACwD,GAC7B,SAASA,aAAG,EAAHA,EAAK9gH,SAAU2jL,EAAuB99K,IAAIi7G,EAAI9gH,OAC3D,EACA,EAAC,EAAAinI,oBAAoB48C,OAAQ,SAAC/iE,GAC1B,SAASA,aAAG,EAAHA,EAAK+iE,MAClB,EACA,EAAC,EAAA58C,oBAAoB68C,UAAW,SAAChjE,GAC7B,SAASA,aAAG,EAAHA,EAAK9gH,SAAU0jL,EAAuB79K,IAAIi7G,EAAI9gH,OAC3D,E,GAGS,EAAA+jL,cAAgB,SACzBl9H,EACAga,GAEA,OAAKha,EAIEga,EAAKj7D,OAAOg+K,EAAQ/8H,IAHhBga,CAIf,EAEa,EAAAmmE,wBAA0B,SACnCnmE,G,MAEM4wE,IAAM,MACP,EAAAxK,oBAAoB68C,UAAW,EAChC,EAAC,EAAA78C,oBAAoB48C,OAAQ,EAC7B,EAAC,EAAA58C,oBAAoB3pB,UAAW,E,GAG9B0mE,EAA8C,CAChD,EAAA/8C,oBAAoB3pB,SACpB,EAAA2pB,oBAAoB48C,MACpB,EAAA58C,oBAAoB68C,UAYxB,OATAjjH,EAAK7tE,SAAQ,SAAC8tH,GACVkjE,EAAgBhxL,SAAQ,SAAC6zD,GACL+8H,EAAQ/8H,GAAai6D,KAEjC2wB,EAAO5qF,IAAgB,EAE/B,GACJ,IAEO4qF,CACX,C,qLC9DA,kBAEA,cAEA,UACA,aACA,WAEA,cACA,WAQW,UAAWj7J,KAAK,WAgBd,EAAAytM,eAAY,MACpB,EAAAC,qBAAqBC,IAAK,mBAC3B,EAAC,EAAAD,qBAAqBE,KAAM,mBAC5B,EAAC,EAAAF,qBAAqBG,IAAK,mBAC3B,EAAC,EAAAH,qBAAqBI,KAAM,oBAC5B,EAAC,EAAAJ,qBAAqBK,MAAO,qB,GAGjC,IAAMC,EAAoB,CACtB,EAAAN,qBAAqBC,GACrB,EAAAD,qBAAqBE,IACrB,EAAAF,qBAAqBG,GACrB,EAAAH,qBAAqBI,IACrB,EAAAJ,qBAAqBK,MAGnBE,EAAuC,UAAM9tM,MAAK,SAACC,GAC7C,IAAAiF,EAAgGjF,EAAK,MAA9F0F,EAAyF1F,EAAK,YAAjF8c,EAA4E9c,EAAK,SAAvEqF,EAAkErF,EAAK,WAA3DmF,EAAsDnF,EAAK,WAA/CoF,EAA0CpF,EAAK,SAArCwF,EAAgCxF,EAAK,WAAzBsF,EAAoBtF,EAAK,OAAjBuF,EAAYvF,EAAK,QAErGa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAgCyrM,EAAkBv2L,KAAI,SAAC4+H,GAAW,OACpElvI,MAAOlG,EAAE,EAAAwsM,aAAap3D,IACtBhxI,MAAOgxI,EAF6D,IAmBxE,OACI,wBAAC,UAAa,CACV9uI,cAAelC,EACfS,YAAaA,EACbvD,QAASA,EACT+C,SAXa,SAACD,GAClB6X,EAAS7X,EACb,EAUQI,WAAYA,EACZyB,aArBa,SAACN,GAClB,OAAKA,EAIE,oCAAOA,aAAM,EAANA,EAAQO,OAHX,IAIf,EAgBQS,eAVe,SAAChB,GAA0B,OAAAA,aAAM,EAANA,EAAQvB,KAAR,EAW1C1C,gBAAiB,EAAAC,4BAA4BiF,WAC7CtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,GAGrB,IAEA,UAAesoM,C,0TCzFF,EAAAC,sBAAwB,uCACxB,EAAAC,4BAA8B,6CAC9B,EAAAC,4BAA8B,6CAC9B,EAAAC,8BAAgC,+CAEhC,EAAAC,uBAAyB,wCACzB,EAAAC,6BAA+B,8CAC/B,EAAAC,6BAA+B,8CAC/B,EAAAC,+BAAiC,+C,qKCX9C,eAYa,EAAAnhM,eAAiB,SAACpI,EAAuB3C,GAAmD,OACrGc,KAAM,EAAAuK,yBACN1I,UAAS,EACT3C,QAAO,EAH8F,EAM5F,EAAA4K,oBAAsB,WAAkC,OACjE9J,KAAM,EAAAshI,+BAD2D,EAIxD,EAAAj3H,sBAAwB,SAAC0D,GAAgE,OAClG/N,KAAM,EAAAwhI,iCACNzzH,WAAU,EAFwF,EAKzF,EAAA3D,oBAAsB,SAACtJ,GAA6C,OAC7Ed,KAAM,EAAAuhI,+BACNzgI,MAAK,EAFwE,C,y8CC3BjF,kBACA,cAEA,cACA,WACA,cACA,WACA,WACA,aACA,WACA,cACA,cACA,cACA,WACA,WACA,UACA,WACA,WACA,UAEA,WAEA,aACA,cACA,cACA,WAEMpE,EAAK,UAAWC,KAAK,WASrB01E,IAAc,MACf,EAAA51E,WAAW0qB,WAAY,G,GA2M5B,UAnL8C,SAACpqB,GACnC,IAAAyO,EAAwDzO,EAAK,SAAnDqyD,EAA8CryD,EAAK,cAApC+oF,EAA+B/oF,EAAK,mBAAhB+sB,EAAW/sB,EAAK,OAE7Da,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXhxB,GAAgB,IAAAwS,aAAY,EAAAs4L,gCAE5B1qJ,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE0tM,GAA2B,IAAA/pM,UAAQ,WACrC,IAAMw6E,GAAO,IAAAojG,cAAar5F,EAAoBh8D,GAG9C,QAFkBiyD,aAAI,EAAJA,EAAM50D,YAAa,IAEpB4E,QAAO,SAACw/K,GACrB,OAAOA,aAAe,EAAfA,EAAiBC,mBAC5B,GACJ,GAAG,CAAC1lH,EAAoBh8D,IAElB2hL,EAAgB,UAAMlqM,SAAQ,WAChC,OAAO+pM,EAAyBl3L,KAAI,SAACmJ,GACjC,OA5Ce,SACvBwa,EACAxY,GAEI,QAAqC,EAAAusE,cAAa,GAAjD4/G,EAAgB,KAEfC,GAF+B,MAEd,cAAO,IAAAz8G,mBAAkBn3D,KAChD2zK,EAAmBC,EAAehoJ,UAAYgoJ,EAAelnJ,QAAQpB,QAAQ,OAAOM,UAEpF,IAAMioJ,GAAe,cAAO,IAAA18G,mBAAkB3vE,IAE9C,OAAKosL,EAAeE,OAAOD,EAAc,OAMlC,CAACF,EAFSE,EAAajoJ,UAAYioJ,EAAannJ,QAAQpB,QAAQ,OAAOM,WAHnE,CAAC+nJ,EAAkB,EAAA5/G,cAAc,GAMhD,CA0BmBtoD,CACHjmB,EAAS+9F,wBAAyB/9F,aAAQ,EAARA,EAAUqiE,sBAC5CriE,EAASykL,sBAAuBzkL,aAAQ,EAARA,EAAUsiE,oBAElD,GACJ,GAAG,CAACyrH,IAEE17G,EAAS,UAAMruF,SAAQ,WACzB,OAAOkqM,EAAcr3L,KAAI,SAAC03L,GACtB,MAAO,CACH,CACI7iM,GAAI,kBACJ4O,OAAQi0L,EACR7tM,MAAO,EAAA6uF,2BAA2Bo+E,MAClCpnK,MAAO,IAGnB,GACJ,GAAG,CAAC2nM,IAEE,IAAiC,UAAMlqM,SAAQ,W,MAC3CsW,EAAS,EAAH,KACLw6D,KAAc,MAChB,EAAA51E,WAAW0qB,WAAYskL,EAAcr3L,KAAI,SAAC03L,G,MACvC,OAAO,EAAP,IACK,EAAAxkL,mBAAmBtiB,YAAa8mM,E,CAEzC,IAAE,IAKN,MAAO,CAACj0L,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAAC4zL,IAAe,GAdZl0L,EAAa,KAAEupC,EAAa,KAgB7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM9U,GAAQ,IAAAswE,cAAaz7D,EAAQiuE,EAAoB,CACnDwlH,yBAAwB,IAEvBtoM,GAAUosD,GAAkBtlC,GAMjCwH,GAAS,IAAA69B,oBAAmBC,EAAepsD,IAE3C8U,EAAcI,WAAW,CAAC,KAPtB,IAAAuZ,YAAW,yCAQnB,IAGEmpG,EAAmB,UAAMr5H,SAAQ,WACnC,IAAMwqM,EAAkBv0L,EAAOmB,OAAO,EAAAlc,WAAW0qB,YAAc,GAE/D,MAA+B,iBAApB4kL,GAIJA,EAAgB/9H,MAAK,SAACg+H,GACzB,QAAQ,aAAQA,EACpB,GACJ,GAAG,CAACx0L,EAAOmB,SAELszL,EAAsBz0L,EAAOK,OAAO,EAAApb,WAAW0qB,WAErD,OACI,wBAAC,EAAA65D,cAAcnuC,SAAQ,CAAC7wC,MAAOwV,GAC3B,+BAAK/Z,UAAWf,EAAG,SACf,+BAAKe,UAAWf,EAAG,UAAWkB,EAAE,iDAChC,gCAAMga,SAAUJ,EAAOiB,cACnB,+BAAKhb,UAAWf,EAAG,SACduvM,EAAoB73L,KAAI,SAACgT,EAAoB/S,GAC1C,IAAM4K,EACF,UAAG,EAAAxiB,WAAW0qB,UAAS,YAAI9S,EAAK,YAAI,EAAAiT,mBAAmBtiB,YACrDknM,EAA0BZ,EAAyBj3L,GACnDy3L,EAAeL,EAAcp3L,GAC7B45E,EAAQ2B,EAAOv7E,GAEf83L,GAAkBD,EAAwB73L,OAAS,GAAK,EAE9D,OACI,wBAAC,UAAyB,CACtB5W,UAAWf,EAAG,eACdiZ,KAAMsJ,EACNqiC,cAAY,EACZ5xC,IAAK,mBAAY2E,KAEhB,SAACtX,EAAO6yB,GAAiB,OACtB,wBAAC,UAAgB,CACbq+D,MAAO,EAAAnC,cACPD,gBAAiBigH,EACjBl8G,OAAQ3B,EACRt4E,KAAMia,EAAaja,KACnB6gF,cAAY,EACZC,YAAU,EACVvtF,KACI,wBAAC,UAAU,CACPzL,UAAWf,EAAG,qBACdgO,OAAQyhM,EACRztM,UAAW,EAAAC,qBAAqB+W,OAGxCmC,OAAQ+X,EAAa5tB,MACrB8W,cAAe,SAACi2H,EAAG/sI,GACfjF,EAAM8c,SAAS7X,EACnB,EACA8B,MAAOlG,EACH,2EACA,CACI8M,OAAQyhM,IAGhBvyF,SACI,wBAAC,UAA6B,CAC1BtqB,eAAa,EACbtqF,WAAY4qB,EAAa5tB,SA5Bf,GAmCtC,KAEJ,+BAAKvE,UAAWf,EAAG,YACf,wBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgBC,UACvBpO,UAAWf,EAAG,SAAU,kBACxB8B,QAASgN,GAER5N,EAAE,0DAEP,wBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAYw4H,GAAoBr6H,EAAcK,QAC9CnD,UAAWf,EAAG,SAAU,eACxBqP,UAAWxL,EAAcK,QACzBZ,KAAK,UAEJpC,EAAE,0DAO/B,C,67CC9OA,kBACA,WAMMwuM,EAAoC,SAACrvM,GAC/B,IAAA89C,EAAuB99C,EAAK,UAAdk5C,EAAI,EAAKl5C,EAAzB,eAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,MAAMsK,OAAO,MAAMuF,QAAQ,eAAkB6nC,GACvF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBACI9E,KAAMsxC,EACNtsC,YAAY,OACZD,EAAE,mPAEN,wBACI/E,KAAK,OACLiF,OAAQqsC,EACRpsC,cAAc,QACdE,YAAY,MACZL,EAAE,kSAEN,wBACI/E,KAAMsxC,EACNxsC,SAAS,UACTC,EAAE,iwBAKtB,EAEA89L,EAAgBv9L,YAAc,kBAE9B,IAAMC,EAAqB,CACvB+rC,UAAW,EAAAl8C,qBAAqBkS,WAG3B,EAAA/B,WAAAA,EACT,UAAes9L,C,u1BCxCF,EAAAC,qBAAuB,SAACC,GACjC,IAAKA,EACD,OAAO,KAGX,IAAMC,EAAY,EAAH,KAAQD,EAAYC,WAAa,KAAG,GACnDA,EAAUn+J,MAAK,SAACo+J,EAAUC,GACtB,OAAOD,EAASvjM,GAAGsyI,cAAckxD,EAASxjM,GAC9C,IAEA,IAAMsoG,EAAQ,EAAH,KAAQ+6F,EAAY/6F,OAAS,KAAG,GAK3C,OAJAA,EAAMnjE,MAAK,SAACs+J,EAAOC,GACf,OAAOD,EAAMzjM,GAAGsyI,cAAcoxD,EAAM1jM,GACxC,IAEO,EAAP,KACOqjM,GAAW,CAEdC,UAAS,EAETh7F,MAAK,GAEb,C,y3BCxBA,kBACA,WAQMq7F,EAAqC,SAAC7vM,GAChC,IAAA2B,EAAyB3B,EAAK,UAAnBU,EAAcV,EAAK,UAEhCoW,EAAOpW,EAAMoW,MAAQ,EAAAC,kBAE3B,OACI,uBAAK7U,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAYD,MAAM,6BAA6B1Q,UAAWA,GAC9F,0BAAQ8L,KAAM7K,EAAWhC,GAAG,IAAI8qB,GAAG,IAAIwzB,EAAE,IAAI3sC,SAAS,YAGlE,EAEAu+L,EAAiB/9L,YAAc,mBAE/B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBC,SAChCuU,KAAM,EAAAC,mBAGD,EAAAtE,WAAAA,EACT,UAAe89L,C,q2BC7Bf,kBACA,WAIMC,EAAkDhwM,EAAMC,MAAK,WACvD,IAAAc,GAAM,IAAAC,kBAAgB,EAE9B,OAAO,4BAAOD,EAAE,sDACpB,IAEA,UAAeivM,C,+8BCRf,kBACA,cACA,WACA,WACA,WAKA,WACA,WACA,WAEMC,EAAkB,SACpBC,EACAnzG,EACAm6C,GAEA,OAAOg5D,EACF34L,KAAI,SAAC0lH,GACF,OAAO,IAAAoa,iBAAgBpa,EAAclgC,EAAmBm6C,EAC5D,IACChoH,OAAO,EAAA4/B,SAChB,EA+CS,EAAAtsB,iBA7CgB,SAACj/B,EAA8BC,GACpD,IAAMqtB,GAAgB,IAAA3a,cAAY,IAAAqa,qBAAoB/sB,IAEhDu5F,GAAoB,IAAA7mF,cAAY,IAAA+gI,gCAA+B1zI,IAC/D2zI,GAAgB,IAAAhhI,cAAY,IAAAihI,4BAA2B5zI,IACvDm5F,GAAwB,IAAAxmF,cAAY,IAAAqsB,oCAAmCh/B,IAE7E,OAAOvD,EAAM0E,SAAQ,WACjB,IAAKnB,IAAcC,EACf,MAAO,CACHi/B,qBAAsB,GACtBC,qBAAsB,IAI9B,IAAKg6D,EAAsBt4F,KAAOs4F,EAAsBz4F,MACpD,MAAO,CACHw+B,qBAAsB,GACtBC,qBAAsB,IAI9B,IAAMytK,EAA8C,GAC9CC,EAA8C,GAepD,OAbA,aAAQv/K,GAAe,SAAC1R,IAChBA,aAAI,EAAJA,EAAM8rH,YAAa,EAAAC,qBAAqBC,MACxCglE,EAAsBv4L,KAAKuH,IAG3BA,aAAI,EAAJA,EAAM8rH,YAAa,EAAAC,qBAAqBmlE,UACxCD,EAAsBx4L,KAAKuH,EAEnC,IAKO,CACHsjB,qBAJyBwtK,EAAgBE,EAAuBpzG,EAAmBm6C,GAKnFx0G,qBAJyButK,EAAgBG,EAAuBrzG,EAAmBm6C,GAM3F,GAAG,CAACrmH,EAAeksE,EAAmBm6C,EAAex6C,EAAuBn5F,EAAWC,GAC3F,C,+nBCnEA,eACA,WACA,aACA,WAEa,EAAAwsC,uBAAyB,SAACpsC,GAAkC,OAAAA,EAAMy1L,cAAciX,gBAApB,EAC5D,EAAAC,sCAAwC,SAAC3sM,GAClD,OAAAA,EAAMy1L,cAAcmX,+BAApB,EAES,EAAAvgK,UAAY,SAACrsC,GAAsC,OAAAA,EAAMy1L,cAAchwK,GAApB,EAEnD,EAAAonL,qBAAuB,SAAC7sM,GACjC,OAAAA,EAAMy1L,cAAciG,cAApB,EAES,EAAA32I,gBAAkB,SAAC/kD,GAAiD,OAAAA,EAAMy1L,cAAczwI,SAApB,EAEpE,EAAA+2I,kBAAoB,SAAC/7L,GAAsD,OAAAA,EAAMy1L,cAAcxoJ,WAApB,EAE3E,EAAAytJ,uBAAwB,IAAA79F,gBAAe,EAAAk/F,mBAAmB,SAAC9uJ,GACpE,QAAQA,aAAW,EAAXA,EAAa8Z,OAAQ,IAAIpzC,KAAI,SAACnL,GAAO,OAAAykC,aAAW,EAAXA,EAAatiC,KAAKnC,EAAlB,IAAuB8iB,OAAO,EAAA4/B,SAC/E,IAEa,EAAA3e,yBAA0B,IAAAswD,gBACnC,EAAAk/F,mBACA,SAAC9uJ,GACG,OAAO,aAAUA,aAAW,EAAXA,EAAaqoG,QAAQ,SAAC/sF,GACnC,OAAOA,EAAI50C,KAAI,SAACnL,GAAO,OAAAykC,aAAW,EAAXA,EAAatiC,KAAKnC,EAAlB,IAAuB8iB,OAAO,EAAA4/B,SACzD,GACJ,IAGS,EAAA7c,sBAAwB,SAACruC,GAAa,MAC/C,OAA+B,QAA/B,EAAAA,EAAMy1L,cAAcxoJ,mBAAW,eAAEtiC,OAAQ,CAAC,CAAC,EAElC,EAAAmiM,yBAA2B,SAAC9sM,GAAkC,OAAAA,EAAMy1L,cAAcV,kBAApB,EAE9D,EAAAH,kBAAoB,SAAC50L,GAAsD,OAAAA,EAAMy1L,cAAcZ,WAApB,EAE3E,EAAAllJ,6BAA+B,SAAC3vC,GACnC,MAAmBA,EAAMy1L,cAAcZ,YAArCpqL,EAAK,QAAEvL,EAAK,QAEpB,OAAiB,OAAVuL,GAAkBA,IAAUvL,CACvC,EAEa,EAAAqnD,cAAgB,SAACvmD,GAC1B,OAAOA,EAAMy1L,cAAc7xJ,OAC/B,EAEa,EAAAo0J,mBAAqB,SAACh4L,GAC/B,OAAOA,EAAMy1L,cAAcsX,YAC/B,EAEa,EAAAx5F,qBAAuB,SAACvzG,GACjC,OAAOA,EAAMy1L,cAAcniF,cAC/B,EAEa,EAAA4lF,qBAAuB,SAACl5L,GACjC,OAAOA,EAAMy1L,cAAc6B,cAC/B,EAEa,EAAAwB,0BAA4B,SAAC94L,GACtC,OAAOA,EAAMy1L,cAAcuX,mBAC/B,EAEa,EAAAC,uBAAyB,SAACjtM,GACnC,OAAOA,EAAMy1L,cAAcyX,gBAC/B,EAEa,EAAA9T,4BAA8B,SAACp5L,GACxC,OAAOA,EAAMy1L,cAAc0X,qBAC/B,EAEa,EAAA56L,kBAAmB,IAAAsqF,gBAAe,EAAA69F,uBAAuB,SAACztJ,GACnE,IAAKA,EACD,OAAO,KAGX,IAAM56B,EAA0B,CAC5BS,UAAW,KACXS,OAAQ,MAGN65L,EAAiBngK,EAAY3hB,QAAO,SAACzY,GAAU,OAAAA,EAAMw6L,WAAN,IAAmB1/J,KAAK,EAAA2/J,YAAY,GACrFF,IACA/6L,EAAWS,UAAYs6L,GAG3B,IAAMG,EAAkBtgK,EAAY3hB,QAAO,SAACzY,GAAU,OAAAA,EAAM8+K,gBAAN,IAAwBhkJ,KAAK,EAAA2/J,YAAY,GAK/F,OAJIC,IACAl7L,EAAWkB,OAASg6L,GAGjBl7L,CACX,G,oICjGa,EAAAmrH,4BAA8B,8BAE9B,EAAAgwE,sBAAwB,E,8YCerC,qCAA0C,G,QAAEC,EAAM,SAAEC,EAAW,cACrDC,EAAyB,GAAdD,EACXE,EAAyB,IAAdF,EACbG,EAAaC,EAAe,GAC5BC,EAAYthC,IACZuhC,GAAa,E,IAEjB,IAAqB,QAAAF,GAAc,8BAAE,CAAhC,IAAMxI,EAAM,QACP2I,EAAWxyL,KAAKiqL,MAAM+H,EAASnI,GAAU,EACzC4I,EAAQzyL,KAAK81D,IAAI08H,EAAWP,GAE9BO,GAAYN,GAAYM,GAAYL,IAC/BI,GAAcE,EAAQH,KACvBF,EAAavI,EACbyI,EAAYG,EACZF,GAAa,IAETA,GAAcE,EAAQH,IAC9BF,EAAavI,EACbyI,EAAYG,EAEpB,C,kGAEA,OAAOL,CACX,EAzCA,eAEMC,EAAiB,CACnB,EAAA//F,UACA,GAAK,EAAAtyD,WACL,EAAI,EAAAA,WACJ,EAAI,EAAAA,WACJ,EAAAA,WACA,GAAK,EAAAQ,UACL,GAAK,EAAAA,U,y3BCTT,kBACA,WAMMkyJ,EAAmC,SAAC7xM,GAC9B,IAAA2B,EAAc3B,EAAK,UAE3B,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,mBACR,wBAAM/E,KAAM7K,EAAW4P,EAAE,uEAIzC,EAEAsgM,EAAe//L,YAAc,iBAE7B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAe8/L,C,+BC1Bf,WAAgB,MAAQ,iCAAiC,KAAO,gCAAgC,MAAQ,iCAAiC,YAAc,uCAAuC,OAAS,kCAAkC,SAAW,oC,q7BCDpP,kBACA,cACA,WAuBMC,EAAqC,UAAM/xM,MAAK,SAACC,GAE/C,IAAAU,EAiBAV,EAAK,UAhBL8a,EAgBA9a,EAAK,OAfLqF,EAeArF,EAAK,WAdLkuD,EAcAluD,EAAK,SAbL+xM,EAaA/xM,EAAK,qBAZLgyM,EAYAhyM,EAAK,yBAXLiyM,EAWAjyM,EAAK,0BAVLkxF,EAUAlxF,EAAK,MATL+yF,EASA/yF,EAAK,cARLgzF,EAQAhzF,EAAK,cAPL8uF,EAOA9uF,EAAK,gBANL6yF,EAMA7yF,EAAK,OALL8c,EAKA9c,EAAK,SAJLy5F,EAIAz5F,EAAK,aAHL05F,EAGA15F,EAAK,WAFL+wF,EAEA/wF,EAAK,mBADL+xF,EACA/xF,EAAK,MAEHmzJ,GAAe,IAAAntJ,cACjB,SAACmB,GACO+mD,GAIJpxC,EAAS3V,EACb,GACA,CAAC+mD,EAAUpxC,IAGTg2E,EAAO9yF,EAAM8yF,MAAQ,EAAA3zC,WAAa,EAElCy6C,EAAiB,EAAA6X,WAAoB,GAAP3e,GAC9B6G,EAAmC,EAAjBC,EAElBJ,EAAe,UAAMh1F,SAAQ,WAC/B,MAAO,CACHo1F,eAAc,EACdD,gBAAe,EACfF,aAAY,EACZC,WAAU,EAElB,GAAG,CAACE,EAAgBD,EAAiBF,EAAcC,IAEnD,OACI,wBAAC,UAAa,CACVh5F,UAAWA,EACX2E,WAAYA,EACZw0F,YAAa3I,EACbpC,gBAAiBA,GAAmBoC,EACpC2B,OAAQA,GAAU,GAClB/3E,OAAQA,EACRm/E,UAAWnH,EACX5kC,SAAUA,EACV8jJ,yBAA0BA,EAC1BC,0BAA2BA,EAC3BF,qBAAsBA,EACtB73G,oBAAqBnH,EACrBm/G,oBAAqBl/G,EACrBwG,aAAcA,EACdzH,MAAOA,EACPhB,mBAAoBA,EACpB+I,YAAa,SAAC70F,GACV,IAAMktM,GAAe,IAAA91F,yBAAwBp3G,GAC7C,OAAIA,GAA0B,UAAjBktM,EACF,QAGJA,CACX,EACAjtM,SAAUiuJ,GAGtB,IAEA,UAAe2+C,C,gPCrGf,IAEKM,EAFL,cAEA,SAAKA,GACD,oBACA,gBACA,+BACA,2BACA,sBACA,wBACA,2BACA,yDACA,yDACA,yDACA,yDACA,wDACH,CAbD,CAAKA,IAAAA,EAA+B,KAevB,EAAAC,yBAA2B,SACpC5uD,G,4BAEM6uD,EAAgB7uD,EAAkB1hG,QAAmD,SAACC,EAAKuwJ,GAM7F,OALAA,EAAUrzG,MAAM9iF,SAAQ,SAACnZ,GAErB++C,EAAI/+C,GAAQsvM,CAChB,IAEOvwJ,CACX,GAAG,CAAC,GAGJ,MAAO,CACH7wB,aAC0D,QAAtD,EAAAmhL,EAAcF,EAAgC1rL,gBAAQ,eAAE8rL,cACA,QAAxD,EAAAF,EAAcF,EAAgCK,kBAAU,eAAED,aAC1D,KACJvqJ,QACI,CACwD,QAApD,EAAAqqJ,EAAcF,EAAgCjsK,cAAM,eAAEusK,UACK,QAA3D,EAAAJ,EAAcF,EAAgCO,qBAAa,eAAED,WAE5D1jL,OAAOhmB,SACPsmB,KAAK,MAAQ,GACtB44B,QAAS,GACTC,SAAkE,QAAzD,EAAAmqJ,EAAcF,EAAgCQ,mBAAW,eAAEF,YAAa,KACjFtqJ,MAC2D,QAAvD,EAAAkqJ,EAAcF,EAAgCS,iBAAS,eAAEH,aACA,QAAzD,EAAAJ,EAAcF,EAAgCU,mBAAW,eAAEJ,aACY,QAAvE,EAAAJ,EAAcF,EAAgCW,iCAAyB,eAAEL,aACF,QAAvE,EAAAJ,EAAcF,EAAgCY,iCAAyB,eAAEN,aACF,QAAvE,EAAAJ,EAAcF,EAAgCa,iCAAyB,eAAEP,aACF,QAAvE,EAAAJ,EAAcF,EAAgCc,iCAAyB,eAAER,aACF,QAAvE,EAAAJ,EAAcF,EAAgCe,iCAAyB,eAAET,YACzE,KAGZ,EAEa,EAAAU,wBAA0B,SACnC3vD,EACAxoD,GAEA,YAFA,IAAAA,IAAAA,EAAA,KAEKwoD,EAIE,CACHA,EAAkBx7F,QAClBw7F,EAAkBv7F,QAClBu7F,EAAkBt7F,QAClBs7F,EAAkBr7F,KAClBq7F,EAAkBtyH,aAEjBnC,OAAOhmB,SACPsmB,KAAK2rE,GAXC,EAYf,EAEa,EAAA4zF,qBAAuB,SAAC1hL,GACjC,OAAI,aAAMA,EAAOkmM,oBACN,KAGNlmM,EAAOu7F,UAIPv7F,EAAOmmM,mBAIL,CACHhgK,MAAO,CACHvzB,IAAK5S,EAAOu7F,SAASriE,SAAStmB,MAC9BC,IAAK7S,EAAOu7F,SAASriE,SAASrmB,OAElC0mB,QAASv5B,EAAOomM,mBAAqB,KACrCl0D,iBAAkBlyI,EAAOkmM,mBACzB5vD,mBAAmB,IAAA4uD,0BAAyBllM,EAAOmmM,qBAd5C,IAgBf,C,4nGCnGA,kBACA,cACA,cAGA,UACA,cACA,WAIA,cACA,cACA,cAEA,cACA,cACA,cACA,WAEM3zM,EAAK,UAAWC,KAAK,WAmM3B,UAzK6C,SAACI,GAEtC,IAAA8pH,EAcA9pH,EAAK,iBAbL+E,EAaA/E,EAAK,aAZLgF,EAYAhF,EAAK,aAXLiF,EAWAjF,EAAK,MAVLkF,EAUAlF,EAAK,SATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLuC,EAOAvC,EAAK,gBANLqF,EAMArF,EAAK,WALLiuB,EAKAjuB,EAAK,iBAJL0F,EAIA1F,EAAK,YAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLwF,EACAxF,EAAK,WAEH2F,GAAgB,IAAAnB,UAAQ,WAC1B,OAAKO,EAIE,CACHgC,MAAO/B,GAAgB,eACvBkH,GAAInH,GALG,IAOf,GAAG,CAACC,EAAcD,IAEZ,IAA8C,UAAMV,WAA0B,GAA7EmvM,EAAkB,KAAEC,EAAqB,KAE1C1tM,GAAgD,IAAAC,cAClD,SAAOC,GAAK,0C,4DACR,OAAK6jH,EAIqB,GAAM,UAAmBkG,oBAAoBlG,EAAkB7jH,GAAS,KAHvF,CAAC,EAAD,CAAC,KAAM,O,OAIlB,OADM,kBAAoB,SAA2E,IAA9FlC,EAAK,KAAEqJ,EAAQ,KAClBrJ,EACO,CAAC,EAAD,CAACA,EAAO,OAcZ,CAAC,EAAD,CAAC,MAXkBqJ,GAAY,IAAI4hB,QAAO,SAAC4mE,GAC9C,OAAO3wF,IAAU2wF,EAAO1pF,EAC5B,IAEiCmL,KAAI,SAACu+E,GAClC,MAAO,CACH7uF,OAAO,IAAA2sM,gBAAe99G,IAAW,GACjC1pF,GAAI0pF,EAAO1pF,GAEnB,M,SAIJ,CAAC49G,EAAkB7kH,IAOjB2zC,GAAsB,IAAAC,wBAAgC,CACxD/yC,eAAgB,KAChBC,eAAc,EACda,SAAU,CAAC,IAGTK,GAAc,IAAAjB,cAAY,WACxBT,GACAA,GAER,GAAG,CAACA,IAcEpD,EAAU,UAAMqC,SAAQ,W,MACpBmvM,GACFhuM,aAAa,EAAbA,EAAeuG,MACY,QAA3B,EAAA0sC,EAAoBz2C,eAAO,eAAE8uE,MAAK,SAACzqE,GAC/B,OAAOA,aAAM,EAANA,EAAQ0F,OAAOvG,aAAa,EAAbA,EAAeuG,GACzC,KAEEiB,EAAS,EAAH,KAAOyrC,EAAoBz2C,UAAO,GAM9C,OAJKwxM,GAAoBhuM,GACrBwH,EAAOuK,KAAK/R,GAGTwH,CACX,GAAG,CAACyrC,EAAoBz2C,QAASwD,IAE3BkB,EAAiB,UAAMrC,SAAQ,W,QACjC,OAAO,EAAP,QACO,aAAMrC,EAAS,OACdwD,IACC,MACMA,EAAcuG,IAAKvG,E,GAExB,CAAC,GACH6tM,IACC,MACMA,EAAmBtnM,IAAKsnM,E,GAE7B,CAAC,EAEf,GAAG,CAACrxM,EAASqxM,EAAoB7tM,IAE3B64G,EAAiB33G,EAAe5B,IAAoB,KAE1D,OACI,wBAAC,UAAmB,CAChBkC,cAAelC,EACf9C,QAASA,EACT+C,SAAU,SAACD,GACP,IAAMuB,EAASvB,EAAQ4B,EAAe5B,GAAS,KACzC8B,EAAQP,EApEJ,SAACA,GACnB,OAAOA,EAAOO,OAAS,EAC3B,CAkEmCR,CAAcC,GAAU,GAE3CA,EACAtB,EAASD,EAAO8B,GAEhB7B,EAAS,KAAM,MAGnBuuM,EAAsBjtM,EAC1B,EACApE,cA1Dc,SAACoE,EAA6Bd,GAChD,OAAKc,EAIEA,EAAOO,MAHHrB,CAIf,EAqDQoB,aA/Da,SAACN,GAClB,OAAO,wBAAC,UAAuB,CAACovF,OAAQpvF,GAC5C,EA8DQgB,eAAgB,SAAChB,GAAW,OAAAA,aAAM,EAANA,EAAQ0F,EAAR,EAC5B9E,cAAewxC,EAAoBxxC,cACnCsV,eAAgB,SAACC,GACb,OAAI6hG,EACO,wBAAC,UAAM,CAAChoD,MAAMgoD,aAAc,EAAdA,EAAgBz3G,QAAS,GAAIqP,KAAM,EAAA8lJ,eAAejwH,QAGpE,wBAAC,UAAU,KAAK,EAAA2nK,gBAAgB/2L,gBAAgBF,IAC3D,EACAtV,gBAAiB,WACb,OAAAuxC,EAAoBp1C,cAAcK,QAC9B,wBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAC9C,IAFJ,EAIJjC,OAAQA,EACRC,QAAS0B,EACT9B,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZH,WAAYA,EACZ9C,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEwmB,iBAAkBA,EAClBvoB,YAAaA,EACbmuM,gBAAiBl0M,EAAG,UACpB+H,QAAS,WACLxC,EAAS,KAAM,KACnB,GAGZ,C,y8ECrNA,kBA2CA,UA9BsB,WACZ,QAAgB,UAAMb,SAAsB,MAAK,GAAhDgT,EAAG,KAAEy8L,EAAM,KACZ,IAAkB,UAAMzvM,SAAuB,MAAK,GAAnDulG,EAAI,KAAEmqG,EAAO,KACd,IAA4B,UAAM1vM,SAAqB,CACzDqkG,SAAU,OACZ,GAFK+C,EAAS,KAAEuoG,EAAY,KAI9B,MAAO,CACH38L,IAAG,EACHuyF,KAAI,EACJ6B,UAAS,EACTX,IAAK,SAAmClB,EAAavyF,EAAW48L,GAAsB,uBAAGlvJ,SAAO,W,oEAC5FgvJ,EAAQnqG,GACRkqG,EAAOz8L,G,WAEI68L,G,wDAEwB,SAAMtqG,aAAI,EAAJA,EAAMuqG,cAAcD,I,cAAnDE,EAAyB,SAE/BJ,GAAa,SAACvoG,G,MACV,OAAO,EAAP,KACOA,KAAS,MACXyoG,GAAcE,EAAO,GAE9B,I,iDATsB,IAAAH,GAAY,W,sCAA3BC,EAAW,Q,KAAXA,K,oOAavB,C,6JCzCA,eACA,WACA,WACA,WACA,WACA,aACA,WACA,cAiHA,UA/GuB,SAAC56L,GACpB,IAAI+6L,EAA4B,GAE1BC,EAAqBh7L,EAAW,EAAA5Z,WAAW60M,YAC7CC,EAAqBl7L,EAAW,EAAA5Z,WAAW+0M,iBAAmB,EAAAC,uBAAuBC,KAOzF,GALIL,IAAuB,EAAAM,eAAeC,WACtCR,EAAa/6L,EAAW,EAAA5Z,WAAWo1M,MAAMz9L,KAAI,SAAC09L,GAAQ,SAAAC,gBAAgBtM,QAAQqM,GAAO,CAA/B,IACtDP,EAAqB,EAAAE,uBAAuBO,QAG5CX,IAAuB,EAAAM,eAAe5+H,MAAO,CAC7C,IAAMA,EAAQ18D,EAAW,EAAA5Z,WAAWs2E,OAUpC,IARIA,aAAK,EAALA,EAAO1+C,SAAS0+C,aAAK,EAALA,EAAO9tD,KACvBmsL,EAAW38L,MAAMs+D,EAAM1+C,QAGtB0+C,aAAK,EAALA,EAAO1+C,QAAQ0+C,aAAK,EAALA,EAAO9tD,KACvBmsL,EAAW38L,MAAMs+D,EAAM9tD,KAGvB8tD,aAAK,EAALA,EAAO1+C,QAAQ0+C,aAAK,EAALA,EAAO9tD,IAItB,IAHA,IAAMgtL,IAAcl/H,EAAM9tD,IAAM8tD,EAAM1+C,MAAQ,EAAAm6E,UAGrC0jG,EAAI,EAAGA,GAAKD,EAAWC,IAC5Bd,EAAW38L,MAAMs+D,EAAM1+C,KAAO,EAAAm6E,UAAY0jG,EAGtD,CACA,KAAKd,aAAU,EAAVA,EAAYpyM,QACb,OAAO,KAGX,IAAMyX,EAAYJ,EAAW,EAAA5Z,WAAWga,WAClC07L,EAAqB17L,EAAY,WAAG,IAAAg9D,iBAAgBh9D,GAAU,kBAAmB,KAEjF6I,EAAYjJ,EAAW,EAAA5Z,WAAW6iB,WACxC,IAAKA,EACD,OAAO,KAGX,IAAMuT,EAAiBxc,EAAW,EAAA5Z,WAAWo2B,gBACvCu/K,EAAuB,EAAAC,sBAAsBrmL,IAAI6G,GACjDy/K,GAAoB,IAAAh9K,mBACtB88K,EAAuB/7L,EAAW,EAAA5Z,WAAW81M,iBAAmBl8L,EAAW,EAAA5Z,WAAW+1M,cAE1F,IAAI,aAAMF,KAAsB,aAAMA,GAClC,OAAO,KAGX,IAAMtyM,EAAOqW,EAAW,EAAA5Z,WAAWuD,MAE/BmpK,EAA6C,GAE3CzwJ,EAAarC,EAAW,EAAA5Z,WAAWic,YACrC1Y,IAAS,EAAAwsB,kBAAkBvE,UAC3BkhJ,EAAazwJ,GAGjB,IAAMkxG,EAAavzG,EAAW,EAAA5Z,WAAWmtH,YACrC5pH,IAAS,EAAAwsB,kBAAkBnH,UAC3B8jJ,EAAav/C,GAGjB,IAAM1gE,EAAgB7yC,EAAW,EAAA5Z,WAAW8rD,kBAC5C,KAAKW,aAAa,EAAbA,EAAelqD,QAChB,OAAO,KAGX,IAAMmqD,EAAc9yC,EAAW,EAAA5Z,WAAWgsD,gBAC1C,KAAKU,aAAW,EAAXA,EAAanqD,QACd,OAAO,KAGX,IAAKgB,GAAQA,IAAS,EAAAwsB,kBAAkBE,OACpC,OAAO,KAGX,IAAM+lL,EAAuBp8L,EAAW,EAAA5Z,WAAWg2M,sBACnD,OAAKA,EAIE,CACH98L,KAAMU,EAAW,EAAA5Z,WAAWkZ,MAE5BoB,SAAU/W,EAEVkpD,cAAa,EACbwpJ,SAAUr8L,EAAW,EAAA5Z,WAAWs8H,qBAAqBpJ,MAAM,EAAAgjF,qBAAqB5mL,OAAOhmB,SACvFojD,YAAW,EACXypJ,OAAQv8L,EAAW,EAAA5Z,WAAWy8H,mBAAmBvJ,MAAM,EAAAgjF,qBAAqB5mL,OAAOhmB,SAEnFqrM,WAAU,EACVyB,WAAYtB,EAEZjyL,UAAW,WAAG,IAAAm0D,iBAAgBn0D,GAAU,kBACxC7I,UAAW07L,QAAsB9uM,EAEjCrB,MAAOswM,EACPxtL,OAAQ2tL,EACRvzJ,SAAUrsB,EAEVupE,eAAgB/lF,EAAW,EAAA5Z,WAAW2/F,gBAAgBhoF,KAAI,SAAC+4B,GAAkB,OAACA,CAAD,IAE7Eg8H,WAAU,GAzBH,IA2Bf,C,+BCrHA,WAAgB,OAAS,0CAA0C,OAAS,0CAA0C,KAAO,wCAAwC,OAAS,0CAA0C,SAAW,4C,+BCAnO,WAAgB,OAAS,mCAAmC,2BAA2B,qDAAqD,aAAa,uCAAuC,sBAAsB,gDAAgD,sBAAsB,gDAAgD,qBAAqB,+CAA+C,qBAAqB,+CAA+C,kBAAkB,4CAA4C,cAAc,wCAAwC,0BAA0B,oDAAoD,qBAAqB,+CAA+C,OAAS,mCAAmC,QAAU,oCAAoC,gBAAkB,4CAA4C,0BAA0B,oDAAoD,0BAA0B,oDAAoD,iBAAiB,2CAA2C,OAAS,mCAAmC,SAAW,qC,gMCAjoC,eAMa,EAAA7nG,kCAAoC,SAACzhD,GAC9C,OAAO,SAACpf,GACJ,OAAOA,EAAM2e,uBAAuBsiJ,YAAY7hJ,IAAsB,EAAAizL,sCAC1E,CACJ,EAEa,EAAAjyJ,mCAAqC,SAC9CpgD,GAEA,OAAOA,EAAM2e,uBAAuBwqD,aACxC,EAEa,EAAAmpI,qCAAuC,SAChDtyM,GAEA,OAAOA,EAAM2e,uBAAuB4zL,eACxC,C,+BCtBA,WAAgB,KAAO,yBAAyB,WAAW,6BAA6B,OAAS,2BAA2B,SAAW,6B,q7BCDvI,kBAEA,aACA,cACA,cACA,cACA,cAEMt2M,EAAK,UAAWC,KAAK,WAUrBs2M,EAAsCp2M,EAAMC,MAAK,SAACC,GAC5C,IAAAU,EAAyCV,EAAK,UAAnC+f,EAA8B/f,EAAK,IAA9BggB,EAAyBhgB,EAAK,IAAzBkB,EAAoBlB,EAAK,MAAlB4O,EAAa5O,EAAK,SAEtD,OACI,gBAAC,UAAM,CAACU,WAAW,aAAGf,EAAG,WAAYe,GAAYqf,IAAKA,EAAKC,IAAKA,EAAK9e,MAAOA,GAAS,EAAAqf,gBAAgB1e,UACjG,gBAAC,UAAwB,KAAE+M,GAGvC,IAEA,UAAesnM,C,k4BC5Bf,kBACA,WACA,WAOa,EAAAC,oBAAiB,MACzB,EAAA/gJ,eAAe7vB,mBAAoB,wCACpC,EAAC,EAAA6vB,eAAe5vB,iBAAkB,sCAClC,EAAC,EAAA4vB,eAAe3vB,WAAY,gCAC5B,EAAC,EAAA2vB,eAAeC,UAAW,8BAC3B,EAAC,EAAAD,eAAezvB,UAAW,8B,GAG/B,IAAMywK,EAA+Bt2M,EAAMC,MAAK,SAACC,GACrC,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAAs1M,kBAAkB/sL,IAHhB,IAIf,IAEA,UAAegtL,C,+BC5Bf,WAAgB,OAAS,8CAA8C,SAAW,gD,q7BCDlF,kBACA,cACA,cACA,aACA,cACA,WAEMz2M,EAAK,UAAWC,KAAK,WAMrBy2M,EAA8Bv2M,EAAMC,MAAK,SAACC,GACpC,IAAAU,EAAwBV,EAAK,UAAlB4O,EAAa5O,EAAK,SAE7Ba,GAAM,IAAAC,kBAAgB,EAE9B,OACI,uBAAKJ,WAAW,aAAGf,EAAG,yBAA0Be,IAC5C,gBAAC,UAAkB,CAACqoB,UAAQ,GAAEna,GAAY/N,EAAE,wBAGxD,IAEA,UAAew1M,C,+BCxBf,WAAgB,KAAO,qBAAqB,mBAAmB,iCAAiC,oBAAoB,kCAAkC,kBAAkB,gCAAgC,qBAAqB,mCAAmC,yBAAyB,uCAAuC,oBAAoB,kCAAkC,uBAAuB,qCAAqC,mBAAmB,iCAAiC,sBAAsB,oCAAoC,uBAAuB,qCAAqC,OAAS,uBAAuB,SAAW,yB,y8CCDvoB,kBACA,cAEA,aACA,WACA,cACA,UACA,cACA,WACA,WACA,cACA,WACA,cAEA,WASA,cACA,WACA,UACA,cACA,cAEA,cAEA,WACA,WACA,cACA,aAEM12M,EAAK,UAAWC,KAAK,WAiBrB01E,IAAc,MACf,EAAA51E,WAAW46C,SAAU,KACtB,EAAC,EAAA56C,WAAWwvD,WAAY,K,GA+a5B,UA5amD,SAAClvD,GAE5C,IAAAyO,EAMAzO,EAAK,SALL8pH,EAKA9pH,EAAK,iBAJLk0F,EAIAl0F,EAAK,sBAHLs2M,EAGAt2M,EAAK,cAFLu2M,EAEAv2M,EAAK,eADLw2M,EACAx2M,EAAK,wBAEDqD,GAAc,eAAmB,UAEnCm+B,GAAkB,IAAAC,sBAElBzd,GAAUkwE,aAAqB,EAArBA,EAAuBlwE,UAAW,KAC5CkrC,GAAYlrC,aAAO,EAAPA,EAAS9X,KAAM,KAE3B6X,GAAQmwE,aAAqB,EAArBA,EAAuBnwE,QAAS,KACxCu2B,EAAUv2B,aAAK,EAALA,EAAO7X,GAEfrL,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXovB,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiC,UAAM2D,SAAQ,W,MAC3CsW,EAAS,EAAH,KACLw6D,KAAc,MAChB,EAAA51E,WAAW46C,SAAUA,GAAW,KAAI,EACpC,EAAA56C,WAAWwvD,WAAYA,GAAa,KAAI,IAK7C,MAAO,CAACp0C,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACo0C,EAAW5U,IAAS,GAXjB9/B,EAAa,KAAEupC,EAAa,KAa7B0yJ,EAAmBvnJ,GAAaA,EAEhCz0C,GAAS,IAAAC,WAAuB,CAClCE,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMm0C,EAAYp0C,EAAO,EAAApb,WAAWwvD,WAC9B5U,EAAUx/B,EAAO,EAAApb,WAAW46C,SAC7B4U,GAAc5U,GAAYwvE,GAK/BysF,EAAe,CACXzsF,iBAAgB,EAChBxvE,QAAO,EACP4U,UAAS,IAGbn0C,EAAcI,WAAW,CAAC,KAVtB,IAAAuZ,YAAW,+CAWnB,IAGEuxI,GAAQ,IAAAjwJ,aAAY,EAAAgwJ,oBAEpB0wC,GAA4B,IAAA1gM,aAAY,EAAAqwJ,iCACxCswC,GAAkB,IAAA3gM,aAAY,EAAAswJ,uBAC9BswC,GAAgB,IAAA5gM,aAAY,EAAAgqI,+BAC5B62D,GAAgB,IAAAryM,UAAQ,W,MACpB2I,EAAyB,GAoB/B,OAlBI4W,IAAU4yL,EAAgBpxL,SAASxB,EAAM7X,KACzCiB,EAAOuK,KAAK,CACRxL,GAAI6X,aAAK,EAALA,EAAO7X,GACXkb,aAAarD,aAAK,EAALA,EAAOqD,cAAe,GACnCD,MAA2B,QAApB,EAAApD,aAAK,EAALA,EAAO20H,qBAAa,eAAEvxH,QAIrCwvL,EAAgBv6L,SAAQ,SAAClQ,GACrB,IAAMy0B,EAAOi2K,EAAc1qM,IAAO,KAElCiB,EAAOuK,KAAK,CACRxL,GAAE,EACFkb,aAAauZ,aAAI,EAAJA,EAAMvZ,cAAe,GAClCD,MAAOwZ,aAAI,EAAJA,EAAMxZ,OAErB,IAEOha,CACX,GAAG,CAACypM,EAAeD,EAAiB5yL,IAGpC,UAAM7Y,WAAU,WACP4+G,GAILv1F,GACI,IAAAkuH,aAAY,CACR34B,iBAAgB,EAChB1iG,YAAa,KAIzB,GAAG,IAEH,IAAM0vL,GAA8B,IAAA9gM,aAAY,EAAAywJ,mCAC1CswC,GAAoB,IAAA/gM,aAAY,EAAA0wJ,yBAChCswC,GAAkB,IAAAhhM,aAAY,EAAAoqI,iCAC9B62D,IAAkC,IAAAzyM,UAAQ,W,MACtC2I,EAAyB,GAoB/B,OAlBI6W,IAAY+yL,EAAkBxxL,SAASvB,EAAQ9X,KAC/CiB,EAAOuK,KAAK,CACRxL,GAAI8X,aAAO,EAAPA,EAAS9X,GACbkb,aAAapD,aAAO,EAAPA,EAASoD,cAAe,GACrCD,MAA+B,QAAxB,EAAAnD,aAAO,EAAPA,EAASksB,uBAAe,eAAE/oB,QAIzC4vL,EAAkB36L,SAAQ,SAAClQ,GACvB,IAAMy0B,EAAOq2K,EAAgB9qM,IAAO,KAEpCiB,EAAOuK,KAAK,CACRxL,GAAE,EACFkb,aAAauZ,aAAI,EAAJA,EAAMvZ,cAAe,GAClCD,MAAOwZ,aAAI,EAAJA,EAAMxZ,OAErB,IAEOha,CACX,GAAG,CAAC6pM,EAAiBD,EAAmB/yL,IAElCxc,GAAiB,SAAChB,GAAyB,OAAAA,EAAO0F,EAAP,EAE3CpF,GAAe,SAACN,GAClB,OAAO,wBAAC,UAAgB,CAAC4gB,YAAa5gB,EAAO4gB,YAAaD,MAAO3gB,EAAO2gB,OAC5E,EA0DM+vL,GAAqB,SAAC1wM,EAAkCd,GAC1D,OAAKc,EAKD,wBAAC,UAAgB,CACb4gB,YAAa5gB,EAAO4gB,YACpBD,MAAO3gB,EAAO2gB,MACdijK,cAAe,WACN/mL,GAKAmD,aAAM,EAANA,EAAQ0F,IAKbs1B,EACI,CACIv+B,KAAM,EAAAmnC,uBAAuB6mB,aAC7B3W,QAAS9zC,EAAO0F,GAChB7I,UAAS,EACTuxC,YAAY,EACZuiK,oBAAoB,GAExB,CACI7uI,uBAAuB,KAb3B,IAAA5zC,YAAW,2CALX,IAAAA,YAAW,wCAqBnB,IA9BGhvB,CAiCf,EAEM0xM,GAAuB,SAAC5wM,EAAkCd,GAC5D,OAAKc,EAKD,wBAAC,UAAgB,CACb4gB,YAAa5gB,EAAO4gB,YACpBD,MAAO3gB,EAAO2gB,MACdijK,cAAe,WACN/mL,GAKAmD,aAAM,EAANA,EAAQ0F,IAKbs1B,EACI,CACIv+B,KAAM,EAAAmnC,uBAAuBklB,eAC7BJ,UAAW1oD,aAAM,EAANA,EAAQ0F,GACnB7I,UAAS,EACTuxC,YAAY,EACZuiK,oBAAoB,GAExB,CACI7uI,uBAAuB,KAb3B,IAAA5zC,YAAW,6CALX,IAAAA,YAAW,0CAqBnB,IA9BGhvB,CAiCf,EAEA,OACI,+BAAKhF,UAAWf,EAAG,SACf,gCAAMkb,SAAUJ,EAAOiB,cACnB,+BAAKhb,UAAWf,EAAG,SACf,+BAAKe,UAAWf,EAAG,gBAAiBkB,EAAE,wDAE1C,+BAAKH,UAAWf,EAAG,SACf,wBAAC,UAAW,CACRe,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAW46C,QACjBv2C,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW46C,SAChCz+B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW46C,SACrCvzC,MAAOlG,EAAE,mEACTkb,cA/IM,SAACi2H,EAAW13F,G,MAC5B+8J,IAAgB,MACjB,EAAA33M,WAAW46C,SAAUA,E,GAGpBg9J,EAAkBh9J,EAAU2rH,EAAMob,UAAU/mI,GAAW,KACzDg9J,IACAD,EAAiB,EAAA33M,WAAWwvD,WAAaooJ,GAG7C78L,EAAO8B,WAAU,SAACC,GACd,OAAO,EAAP,KACOA,GACA66L,EAEX,IAGAn0H,YAAW,WACPzoE,EAAOU,YAAW,aAAUk8L,GAAkB,WAAM,YACxD,GAAG,EACP,EA2HoBr7L,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAmB,CAChBmH,cAAesT,EAAOK,OAAO,EAAApb,WAAW46C,SACxCn4C,QAAS00M,EACT3xM,SAAUlF,EAAM8c,SAChB1a,cAAe80M,GACfpwM,aAAcA,GACdkI,UAAW0nM,EAA0B7yM,QACrC2D,eAAgBA,GAChBJ,cAAe,SAACoJ,GACZ+jB,GACI,IAAAwtH,WAAU,CACNj4B,iBAAgB,EAChB1iG,YAAa5W,EAAKme,SAG9B,EACAjS,eAAgB,SAACC,GAAa,OAC1B,wBAAC,UAAS,KAAK,EAAA46L,eAAe16L,gBAAgBF,IADpB,EAG9BrX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfJ,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4B+8F,QAC7CtxE,iBAAkBptB,EACd,+EAEJ6E,YAAa7E,EAAE,yEACfgzM,gBAAiBl0M,EAAG,gBACpB+H,QAAS,WACL1H,EAAM8c,SAAS,KACnB,GAhCI,IAoChB,wBAAC,UAAW,CACRpc,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAWwvD,UACjBnrD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWwvD,WAChCrzC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWwvD,WACrCnoD,MAAOlG,EAAE,qEACTkb,cArKQ,SAACi2H,EAAW9iF,G,MAC9BmoJ,IAAgB,MACjB,EAAA33M,WAAWwvD,WAAYA,E,GAGtBsoJ,EAAgBtoJ,EAAY+2G,EAAMqb,YAAYpyH,GAAa,KAC7DsoJ,IACAH,EAAiB,EAAA33M,WAAW46C,SAAWk9J,GAG3C/8L,EAAO8B,WAAU,SAACC,GACd,OAAO,EAAP,KACOA,GACA66L,EAEX,IAGAn0H,YAAW,WACPzoE,EAAOU,YAAW,aAAUk8L,GAAkB,WAAM,YACxD,GAAG,EACP,EAiJoBr7L,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAmB,CAChBmH,cAAesT,EAAOK,OAAO,EAAApb,WAAWwvD,WACxC/sD,QAAS80M,GACT/xM,SAAUlF,EAAM8c,SAChB1a,cAAeg1M,GACftwM,aAAcA,GACdkI,UAAW8nM,EAA4BjzM,QACvC2D,eAAgBA,GAChBJ,cAAe,SAACoJ,GACZ+jB,GACI,IAAAkuH,aAAY,CACR34B,iBAAgB,EAChB1iG,YAAa5W,EAAKme,SAG9B,EACAjS,eAAgB,SAACC,GAAa,OAC1B,wBAAC,UAAW,KAAK,EAAAy9D,iBAAiBv9D,gBAAgBF,IADxB,EAG9BrX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfJ,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4B+8F,QAC7CtxE,iBAAkBptB,EACd,iFAEJ6E,YAAa7E,EACT,2EAEJgzM,gBAAiBl0M,EAAG,kBACpB+H,QAAS,WACL1H,EAAM8c,SAAS,KACnB,GAlCI,KAuCnB25L,EACG,+BAAK/1M,UAAWf,EAAG,YACf,wBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgB4oM,gBACvB/2M,UAAWf,EAAG,SAAU,wBACxB8B,QA7LE,WACjBqoH,GAILwsF,EAAc,CACVxsF,iBAAgB,GAExB,EAsLwB96G,UAAWwnM,EAAwB3yM,QACnCwB,WAAYmxM,EAAwB3yM,SAEnChD,EAAE,qEAEP,+BAAKH,UAAWf,EAAG,gBACf,wBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgBC,UACvBpO,UAAWf,EAAG,SAAU,2BACxB8B,QAASgN,GAER5N,EAAE,+DAEP,wBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgB8O,QACvBjd,UAAWf,EAAG,SAAU,oBACxBqP,UAAWwnM,EAAwB3yM,QACnCwB,WAAYmxM,EAAwB3yM,QACpCZ,KAAK,UAEJpC,EAAE,mEAKf,+BAAKH,UAAWf,EAAG,YACf,wBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgBC,UACvBpO,UAAWf,EAAG,SAAU,yBACxB8B,QAASgN,GAER5N,EAAE,+DAEP,wBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgB8O,QACvBjd,UAAWf,EAAG,SAAU,kBACxBqP,UAAWwnM,EAAwB3yM,QACnCZ,KAAK,UAEJpC,EAAE,gEAIf,wBAAC,UAAkB,CAAC4kF,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,UAIpF,C,6JCneA,eAKA,cACA,WACA,cA2CA,UAzC4B,SAACtC,GACzB,IAAMu8H,EAAS,EAAA9b,kBAAkBh4E,QAAkC,SAACC,EAAK9/B,GAQrE,OAPI5I,EAAW4I,IACX8/B,EAAItqC,KAAK,CACLzU,KAAMif,EACN4zH,MAAOx8H,EAAW4I,KAInB8/B,CACX,GAAG,IAEGkL,GAAO,IAAA30B,mBAAkBjf,EAAW,EAAA5Z,WAAW4xB,YACrD,KAAK,aAAS47B,GACV,OAAO,KAGX,IAAM4uB,EAAWxiE,EAAW,EAAA5Z,WAAWo8E,gBAAax1E,EAEpD,MAAO,CACHiI,QAAS,CACL0nI,OAAQ38H,EAAW,EAAA5Z,WAAWu2I,QAC9Br9H,KAAMU,EAAW,EAAA5Z,WAAWgqB,WAC5B2F,QAAS/V,EAAW,EAAA5Z,WAAWiqB,UAE/BusH,WAAW,IAAAC,kBAAiB78H,EAAW,EAAA5Z,WAAW86H,qBAAkBl0H,EAEpEw1E,SAAQ,EAERxlD,SAAUhd,EAAW,EAAA5Z,WAAW42B,WAC1B,aAAOhd,EAAW,EAAA5Z,WAAW42B,WAAW3c,OAAO,mBAC/CrT,EACN8vI,UAAW98H,EAAW,EAAA5Z,WAAWyxB,mBAAgB7qB,EAEjDuvI,OAAM,GAEVQ,YAAa/8H,EAAW,EAAA5Z,WAAWgnC,eAAYpgC,EAC/C4mD,KAAI,EAEZ,C,q7BCjDA,kBACA,WACA,cACA,cAQM4rH,EAPN,SAOmBz5H,UAAY,EAEzBq4J,EAAuC53M,EAAMC,MAAK,SAACC,GAC7C,IAAAylF,EAAwBzlF,EAAK,YAAhB4b,EAAW5b,EAAK,OAE/BgM,EAAMlM,EAAM+I,YAgClB,OA9BA,IAAAqC,YAAU,WAEN,KADmB,aAAQ0Q,IAKtB5P,EAAIT,QAAT,CAIA,IAAM6tK,EAAWptK,EAAIT,QAAQ8tK,QAAQ,QACrC,GAAKD,EAAL,CAIA,IAAME,EAAkBF,EAASG,iBAAiB,wBAC5CC,EAAsBF,aAAe,EAAfA,EAAkB,GACzCE,IAIL,aAAeA,EAAoC,CAC/CrnI,KAAM2mI,EACN7kI,MAAO,CACHpoC,IAAK,MAXb,CALA,CAoBJ,GAAG,CAAC45E,IAEG,uBAAKz5E,IAAKA,EAAK9I,QAAM,GAChC,IAEA,UAAew0M,C,kuCCnDf,kBACA,cACA,cACA,cAUW,UAAW93M,KAAK,WA8B3B,UAAeE,EAAMC,MA5BE,SAAuBC,GAClC,IAAA4lB,EAA+C5lB,EAAK,KAA9Cu5I,EAAyCv5I,EAAK,gBAA7B8c,EAAwB9c,EAAK,SAAnBU,EAAcV,EAAK,UAEtD,IAA0CF,EAAMuE,UAAkB,GAAM,GAAvEszM,EAAiB,KAAEC,EAAkB,KAM5C,OAJA93M,EAAMoL,WAAU,WACZ0sM,GAAmB,EACvB,GAAG,CAAChyL,IAGA,gBAAC,UAAQ,CACLggE,QAAS+xH,EACT76L,SAAU,WACgB8I,EAAK3jB,SAAWs3I,EAAgBnjI,MAElDwhM,GAAmB,GACnB96L,EAAS,IAAIgS,OAEb8oL,GAAmB,GACnB96L,EAAS,IAAIgS,IAAIlJ,IAEzB,EACAllB,UAAWA,EACXqG,MAAO,MAGnB,G,+BCxCA,WAAgB,OAAS,iCAAiC,KAAO,+BAA+B,OAAS,iCAAiC,SAAW,mC,+BCArJ,WAAgB,KAAO,4BAA4B,UAAY,iCAAiC,eAAiB,sCAAsC,uBAAuB,4CAA4C,SAAW,gCAAgC,oBAAoB,yCAAyC,OAAS,8BAA8B,kBAAoB,yCAAyC,gCAAgC,qDAAqD,QAAU,+BAA+B,qBAAqB,0CAA0C,cAAgB,qCAAqC,qBAAqB,0CAA0C,qBAAqB,0CAA0C,OAAS,8BAA8B,SAAW,gC,+BCAx0B,WAAgB,OAAS,gCAAgC,OAAS,gCAAgC,SAAW,kC,u8CCD7G,kBAEA,cACA,cACA,cACA,aACA,WACA,cACA,WAEMpH,EAAK,UAAWC,KAAK,WASvBsuH,EAAmC,KAIjC2pF,EAAkC,UAAM93M,MAAK,SAACC,GACxC,IAAAwpC,EAAgDxpC,EAAK,WAAzC0F,EAAoC1F,EAAK,YAA5B+rC,EAAuB/rC,EAAK,mBAEvD,IAA0B,UAAMqE,UAAkB,GAAM,GAAvDqzB,EAAS,KAAEogL,EAAU,KACtB,IAAoB,UAAMzzM,WAAoBmlC,GAAW,GAAxD7V,EAAM,KAAEo6F,EAAO,KAChB,IAAkB,UAAM1pH,SAAiBmlC,GAAc,IAAG,GAAzDh5B,EAAI,KAAEunM,EAAO,KA2CpB,OAzCA,UAAM7sM,WAAU,WACRs+B,KAAe,IAAAwa,uBAAsBxzC,KACrCunM,EAAQvuK,GAAc,IAEjBA,GAAe9R,GAChBq2F,GAAQ,GAIpB,GAAG,CAACvkF,IAgCC7V,EAaD,wBAAC,UAAK,CACFoF,WAAS,EACTngB,KAAK,cACLlY,UAAWf,EAAG,UACd+c,eAAgB,SAACC,GAAa,+BAAC,UAAU,KAAK,EAAA2jD,gBAAgBzjD,gBAAgBF,IAAhD,EAC9BjX,YAAaA,EACbT,MAAOuL,EACPsM,SAlDiB,SAACtM,GACtBunM,EAAQvnM,GAEJ09G,GACAE,aAAaF,GAGjBA,EAAYhrC,YAAW,WACnBn3C,GAAmB,IAAAiY,uBAAsBxzC,GAC7C,GA7BU,KAgCLknB,GACDq2F,GAAQ,EAEhB,EAoCQtoH,iBAAe,EACfF,QAnCY,WAChBuyM,GAAW,EACf,EAkCQxyM,OAhCW,WACfwyM,GAAW,IAEMtnM,GAEbu9G,GAAQ,EAEhB,IAIQ,wBAAC,UAAkB,CACftsH,QAAS,WACLssH,GAAQ,EACZ,EACArsH,SAAU,wBAAC,UAAU,CAACC,UAAW,EAAAC,qBAAqBC,WACtDC,gBAAiB,EAAAC,oBAAoBC,OAmBrD,IAEA,UAAe61M,C,+BClGf,WAAgB,MAAQ,gEAAgE,OAAS,iEAAiE,SAAW,mE,ipBCA7K,eA0BA,UAxBuB,SAACG,GACZ,IAAQC,EAAiCD,EAAU,OAA7BE,EAAc,EAAKF,EAA3C,YAEAhyH,EAAagyH,EAAWp+F,gBAAkB,EAAAv6D,UAAYqlB,KAAKD,MAEjE,OAAO,EAAP,KACOyzI,GAAc,CACjBlyH,WAAU,EACV5yC,OAAQ6kK,EAAU5gM,KAAI,SAAC8gM,GACX,IAAAC,EAA4CD,EAAQ,YAAvCE,EAA+BF,EAAQ,UAAzBG,EAAY,EAAKH,EAA9C,6BAEAxnI,EAAwC,CAC1C3oE,MAAOowM,EACPrsM,IAAKssM,GAGT,OAAO,EAAP,KACOC,GAAY,CACf3nI,kBAAiB,GAEzB,KAER,C,q7BCzBA,kBACA,cAEA,cACA,cACA,WACA,cACA,UACA,WACA,WAIMhxE,EAAK,UAAWC,KAAK,WAUrB24M,EAAwCz4M,EAAMC,MAAK,SAACC,G,MAC9CmjC,EAAqDnjC,EAAK,cAA3Co4I,EAAsCp4I,EAAK,SAAjC+8H,EAA4B/8H,EAAK,aAAnBqD,EAAcrD,EAAK,UAE5D+/C,EAA2BjgD,EAAM6yB,WAAW,WAE5Ck6C,GAAgB,IAAA72D,cAAY,IAAAinH,qCAAoC55H,IAE9DxC,GAAM,IAAAC,kBAAgB,EAE9B,OACI,uBAAKJ,UAAWf,EAAG,YACf,uBAAKe,UAAWf,EAAG,YACf,gBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgBE,OACvBrO,UAAWf,EAAG,SAAU,kBACxB8B,QAAS,YACA0hC,aAAa,EAAbA,EAAej3B,KAKf6wH,aAAY,EAAZA,EAAc7wH,IAKnBksI,EAASrb,EAAa7wH,GAAIi3B,EAAcj3B,KAJpC,IAAAwoB,YAAW,6CALX,IAAAA,YAAW,4CAUnB,EACArvB,WAAYwnE,EAAchpE,SAEzBhD,EAAE,mCAEP,gBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgB8O,QACvBjd,UAAWf,EAAG,SAAU,mBACxB8B,QAAsD,QAA7C,EAAAs+C,aAAwB,EAAxBA,EAA0BC,2BAAmB,eAAEC,OACxDjxC,UAAW69D,EAAchpE,QACzBwB,WAAYwnE,EAAchpE,SAEzBhD,EAAE,qCAKvB,IAEA,UAAe03M,C,+BCpEf,WAAgB,cAAc,8BAA8B,2BAA2B,2CAA2C,yBAAyB,yCAAyC,wBAAwB,wCAAwC,2BAA2B,2CAA2C,0BAA0B,0CAA0C,gCAAgC,gDAAgD,2BAA2B,2CAA2C,gCAAgC,gDAAgD,kCAAkC,kDAAkD,OAAS,yBAAyB,SAAW,2B,uMCDrvB,eACA,WACA,cACA,WAIa,EAAAC,iCAAmC,SAC5CzvH,EACAh8D,GAEA,IAAMiyD,GAAO,IAAAojG,cAAar5F,EAAoBh8D,GACxC3C,GAAY40D,aAAI,EAAJA,EAAM50D,YAAa,GAE/BquL,GACFruL,aAAS,EAATA,EAAW0uB,MAAK,SAACt4B,GACb,OAAOA,EAASvd,OAAS,EAAA0d,aAAae,WAAalB,EAASvd,OAAS,EAAA0d,aAAaiB,aACtF,MAAM,KAEJpB,EAAWi4L,GAAoB,KACrC,IAAKj4L,EACD,OAAO,KAGX,IAAMk4L,GAAkBl4L,aAAQ,EAARA,EAAUkmB,UAAW,KAC7C,OAAKgyK,IAIA,aAASA,aAAe,EAAfA,EAAiBtjK,YAAc,aAASsjK,aAAe,EAAfA,EAAiBrjK,WAIhE,CACHhP,SAAU,CACNK,SAAS,IAAAiyK,gBAAeD,GACxBr5D,iBAAkB,KAClBoE,kBAAmB,CACftyH,YAAaunL,EAAgBhyL,QAC7BuhC,QAASywJ,aAAe,EAAfA,EAAiBzwJ,QAC1BC,QAASwwJ,aAAe,EAAfA,EAAiBxwJ,QAC1BC,QAASuwJ,aAAe,EAAfA,EAAiBvwJ,QAC1BC,KAAMswJ,aAAe,EAAfA,EAAiBtwJ,MAE3B9U,MAAO,CACHvzB,IAAK24L,EAAgBtjK,UAAY,EACjCp1B,IAAK04L,EAAgBrjK,WAAa,IAG1C/9B,OAAO,aAASkJ,aAAQ,EAARA,EAAUlJ,OAASkJ,EAASlJ,MAAQ,MAvB7C,IAyBf,C,yzBCjDA,+CACIlK,GAEA,OAAKA,EAIEA,EACFiK,KAAI,SAACirC,GAAU,cACTA,GAAK,CACR87F,SAAU,OAAI97F,EAAM87F,WAAQ,GAAE/sG,MAAK,SAACgtG,EAAUC,GAC1C,OAAOD,EAASE,QAAQC,cAAcF,EAASC,QACnD,KAJY,IAMfltG,MAAK,SAACotG,EAAQC,GACX,IAAMC,EAAkBF,EAAOj8F,SAASg8F,cAAcE,EAAOl8F,UAC7D,GAAwB,IAApBm8F,EACA,OAAOA,EAGX,IAAMC,EAAeH,EAAO1rG,aAAe,GACrC8rG,EAAeH,EAAO3rG,aAAe,GAC3C,OAAO6rG,EAAaJ,cAAcK,EACtC,IAnBO,IAoBf,C,kNCtBa,EAAA+5D,0BAA4B,qDAC5B,EAAAC,gCAAkC,2DAClC,EAAAC,gCAAkC,2DAClC,EAAAC,kCAAoC,4D,+BCNjD,WAAgB,QAAU,2BAA2B,OAAS,0BAA0B,SAAW,4B,kTCAnG,eACA,WAEMh2L,EAAkB,CACpB,EAAArjB,WAAWkZ,KACX,EAAAlZ,WAAW4D,YACX,EAAA5D,WAAWuoD,QACX,EAAAvoD,WAAWyxB,YACX,EAAAzxB,WAAWyoD,QACX,EAAAzoD,WAAW0oD,MAef,UAZiB,SAACvnD,EAAcia,GAC5B,IAAMc,EAAM,MACL,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,IAOzC,OAJuC,OAAnCA,EAAO,EAAApb,WAAW2oD,eAClBzsC,EAAO,EAAAlc,WAAW2oD,aAAexnD,EAAE,gCAGhC+a,CACX,C,+BCtBA,WAAgB,KAAO,6BAA6B,OAAS,+BAA+B,OAAS,+BAA+B,OAAS,+BAA+B,SAAW,iC,kYCCvL,cAQA,WACA,WACA,WACA,WACA,WACA,cACA,cAEMo9L,EAA2B,CAC7B,EAAAlyH,mBAAmB+rF,cACnB,EAAA/rF,mBAAmBgsF,gBACnB,EAAAhsF,mBAAmBisF,YACnB,EAAAjsF,mBAAmB8mB,cACnB,EAAA9mB,mBAAmBgG,gBAGjBmsH,EAA2B,CAAC,EAAAnyH,mBAAmBgsF,iBAE/ChoD,EAA+B,CAAC,EAAA/jC,wBAAwBtgF,OAExDskH,EAA8B,CAAC,EAAAhkC,wBAAwB9kB,aAgG7D,UAzFiB,SAACphE,EAAcia,EAAqBe,GACzC,IAAA2jE,EAA6B3jE,EAAI,YAApBk3B,EAAgBl3B,EAAI,YAEnCD,EAAsB,CAAC,EAmF7B,OAjF4Bd,EAAO,EAAApb,WAAWyqF,WAC1B/tE,SAAQ,SAACuxF,EAAoBr2F,GAC7C,IAAM4hM,EAAkB,UACjB,IAAAz1L,eAAc5iB,EAAGm4M,EAA0BrrG,KAC3C,IAAAgzE,cAAa9/K,EAAGo4M,EAA0BtrG,KAC1C,IAAAjqF,eACC7iB,EACA,CAAC,EAAAimF,mBAAmBgsF,gBAAiB,EAAAhsF,mBAAmBisF,aACxDplE,EACA,IAIFwrG,GAAoB,IAAA5gL,mBAAkBo1E,EAAmB,EAAA7mB,mBAAmBisF,cAC9EomC,IAAqBpmK,aAAW,EAAXA,EAAamjH,SAAUijD,EAAoBpmK,EAAYmjH,SAC5EgjD,EAAmB,EAAApyH,mBAAmBisF,aAAelyK,EAAE,mDAG3D,IAAMu4M,GAAmB,IAAA7gL,mBAAkBo1E,EAAmB,EAAA7mB,mBAAmBgsF,kBAC3ED,EAAgBllE,EAAmB,EAAA7mB,mBAAmB+rF,gBAGvDA,IAAkB,EAAAh6J,aAAaohE,cAC5BlnC,aAAW,EAAXA,EAAaknC,cACbm/H,GACAA,EAAmBrmK,EAAYknC,aAClC44F,IAAkB,EAAAh6J,aAAaqhE,cAC5BnnC,aAAW,EAAXA,EAAamnC,cACbk/H,GACAA,EAAmBrmK,EAAYmnC,aAClC24F,IAAkB,EAAAh6J,aAAa85J,cAC5B5/H,aAAW,EAAXA,EAAa4/H,cACbymC,GACAA,EAAmBrmK,EAAY4/H,eAGnCumC,EAAmB,EAAApyH,mBAAmBgsF,iBAAmBjyK,EACrD,oDAIR,aAAKq4M,GAAoB98L,SAAQ,SAAC8F,IAC9B,aACItG,EACA,UAAG,EAAAlc,WAAWyqF,UAAS,YAAI7yE,EAAK,YAAI4K,GACpCg3L,EAAmBh3L,GAE3B,GACJ,IAE2BpH,EAAO,EAAApb,WAAWiqC,UAC1BvtB,SAAQ,SAAC4uG,EAAmB1zG,G,MACrCg8B,EAAQksC,EAAYloE,GAC1B,IAAIg8B,aAAK,EAALA,EAAOrwC,QAAS,EAAAmvE,kCAAkCC,SAAtD,CAIA,IAAM64C,EAAiB,QAChB,IAAAxN,YAAW78G,EAAGiqH,EAA8BE,KAC5C,IAAAjhG,kBAAiBlpB,EAAGkqH,EAA6BC,IAGlDG,EAAyBtqH,EAAE,mDAC3BuqH,IAAqC,QAAd,EAAA93E,aAAK,EAALA,EAAO5M,eAAO,eAAEuhB,SACzCmjE,IAAwBJ,EAAkB,EAAAjkC,wBAAwBnhF,YAClEslH,EAAkB,EAAAnkC,wBAAwBnhF,UAAYulH,GAGtDC,IAAuB,IAAAC,yBAAwBL,EAAkB,EAAAjkC,wBAAwB9kB,gBACzFipD,EAAkB,EAAAnkC,wBAAwB9kB,aAAekpD,IAG7D,aAAKD,GAAmB9uG,SAAQ,SAAC8F,IAC7B,aACItG,EACA,UAAG,EAAAlc,WAAWiqC,SAAQ,YAAIryB,EAAK,YAAI4K,GACnCgpG,EAAkBhpG,GAE1B,GAvBA,CAwBJ,IAEOtG,CACX,C,+BC3HA,WAAgB,eAAiB,gDAAgD,eAAiB,gDAAgD,gBAAgB,+CAA+C,oBAAoB,mDAAmD,mBAAmB,kDAAkD,uBAAuB,sDAAsD,sBAAsB,qDAAqD,oBAAoB,mDAAmD,eAAe,8CAA8C,kBAAkB,iDAAiD,iBAAiB,gDAAgD,kBAAkB,iDAAiD,cAAc,6CAA6C,MAAQ,uCAAuC,aAAe,8CAA8C,YAAc,6CAA6C,OAAS,wCAAwC,SAAW,0C,+BCA9lC,WAAgB,MAAQ,mCAAmC,OAAS,oCAAoC,SAAW,sC,kYCDnH,eAOA,cACA,UAEMrY,EAAgC,CAClC6oE,MAAO,KACP3yB,aAAc,UAAch2C,SAGhC,mBAAgBC,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAshI,+BACD,OAAO,EAAP,KACO7gI,GAAK,CACR+1C,aAAc,UAAc51C,UAIpC,KAAK,EAAA2gI,+BACO,IAAAzgI,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR+1C,aAAc,UAAcz1C,SAASD,KAI7C,KAAK,EAAA0gI,iCACO,IAAAzzH,EAAerN,EAAM,WAC7B,OAAO,EAAP,KACOD,GAAK,CACR0oE,MAAOp7D,EACPyoC,aAAc,UAAcv1C,KAGpC,KAAK,EAAAC,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,qjDChDD,kBAEA,WAEA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,aACA,cACA,cAEa,EAAAktJ,qBAAkE,SAAC5wJ,GACpE,IAAAyM,EAAuBzM,EAAK,KAAnBusB,EAAS,EAAKvsB,EAAzB,UAEN,OAAQyM,EAAKxJ,MACT,KAAK,EAAA4hC,uBAAuB4jC,mBACxB,OAAO,gBAAC,UAAgC,GAACh8D,KAAMA,GAAU8f,IAG7D,KAAK,EAAAsY,uBAAuBw0K,mBACxB,OAAO,gBAAC,UAAiC,GAAC5sM,KAAMA,GAAU8f,IAG9D,KAAK,EAAAsY,uBAAuBy0K,cACxB,OAAO,gBAAC,UAA4B,GAAC7sM,KAAMA,GAAU8f,IAGzD,KAAK,EAAAsY,uBAAuB00K,cACxB,OAAO,gBAAC,UAA2B,GAAC9sM,KAAMA,GAAU8f,IAGxD,KAAK,EAAAsY,uBAAuB20K,wBACxB,OAAO,gBAAC,UAAsC,GAAC/sM,KAAMA,GAAU8f,IAGnE,KAAK,EAAAsY,uBAAuB4pE,6BACxB,OAAO,gBAAC,UAAmC,GAAChiG,KAAMA,GAAU8f,IAGhE,KAAK,EAAAsY,uBAAuB40K,iBACxB,OAAO,gBAAC,UAA8B,GAAChtM,KAAMA,GAAU8f,IAG3D,KAAK,EAAAsY,uBAAuBC,sBACxB,OAAO,gBAAC,UAAmC,GAACr4B,KAAMA,GAAU8f,IAGhE,KAAK,EAAAsY,uBAAuB60K,2BACxB,OAAO,gBAAC,UAAgD,GAACjtM,KAAMA,GAAU8f,IAG7E,KAAK,EAAAsY,uBAAuB80K,sBACxB,OAAO,gBAAC,UAA4B,GAACltM,KAAMA,GAAU8f,IAGzD,QACI,OAAO,KAGnB,EAEa,EAAAskI,4BAAgF,SAEzFhwJ,EAEA4L,GAEA,OAAO,IACX,C,sBCxEA,IAAY/M,E,qEAAZ,SAAYA,GACR,oFACA,kDACA,oDACA,iEACA,+CACA,gDACA,oFACA,wDACA,iEACA,6FACH,CAXD,CAAYA,IAAU,aAAVA,EAAU,I,q7BCAtB,kBAEA,cACA,cACA,WACA,cAEA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cAEA,cACA,WACA,cACA,WACA,WACA,cACA,cAGA,WACA,WAEMC,EAAK,UAAWC,KAAK,WAMrBg6M,EAAyC95M,EAAMC,MAAK,SAACC,G,gEAC/C20B,EAAmB30B,EAAK,eAE1B,GAA6B,eAA3BqD,GAAS,YAAEC,GAAW,cAEtBzC,IAAM,IAAAC,kBAAgB,EAExB20F,IAAgB,IAAA+3C,sBAEhBumC,GAAwBzwK,KAAgB,EAAA+kB,gBAAgB6C,QAExDopJ,GAAsB7+E,GAA0C,QAA5B,EAAA9gE,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAE7vF,SAClE6tJ,GAAmB,EACrBD,cAAmB,EAAnBA,GAAqB1b,sBAAuB,GAChB,QAA5B,EAAAjkI,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEpuD,QACF,QAA5B,EAAAxzB,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEnuD,KACF,QAA5B,EAAAzzB,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEtuD,QACF,QAA5B,EAAAtzB,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEruD,SAE7B54B,KAAK,KACLX,OAEC,IAA8C,IAAAkrL,mBAA6C,QAA5B,EAAAllL,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAE7vF,UAAW,MAAtGozL,GAAuB,2BAAEC,GAAc,kBAEzCC,GAAuBvkH,GAA2C,QAA7B,EAAA9gE,aAAc,EAAdA,EAAgB85H,qBAAa,eAAE/nI,SACpE+tJ,GAAoB,EACtBulC,cAAoB,EAApBA,GAAsBphD,sBAAuB,GAChB,QAA7B,EAAAjkI,aAAc,EAAdA,EAAgB85H,qBAAa,eAAEtmG,QACF,QAA7B,EAAAxzB,aAAc,EAAdA,EAAgB85H,qBAAa,eAAErmG,KACF,QAA7B,EAAAzzB,aAAc,EAAdA,EAAgB85H,qBAAa,eAAExmG,QACF,QAA7B,EAAAtzB,aAAc,EAAdA,EAAgB85H,qBAAa,eAAEvmG,SAE9B54B,KAAK,KACLX,OAECsrL,GAAwBxkH,GAA4C,QAA9B,EAAA9gE,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAEroI,SACtEiuJ,GAAqB,EACvBslC,cAAqB,EAArBA,GAAuBrhD,sBAAuB,GAChB,QAA9B,EAAAjkI,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE5mG,QACF,QAA9B,EAAAxzB,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE3mG,KACF,QAA9B,EAAAzzB,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE9mG,QACF,QAA9B,EAAAtzB,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE7mG,SAE/B54B,KAAK,KACLX,OAECimJ,IAAkB,IAAAC,6BAA4BlgJ,aAAc,EAAdA,EAAgB4hF,cAC9Du+D,GAA4BF,MAAoBjgJ,aAAc,EAAdA,EAAgBvJ,iBAEhE2pJ,IAAmB,IAAAF,6BAA4BlgJ,aAAc,EAAdA,EAAgB85H,eAC/DumB,GAA6BD,MAAqBpgJ,aAAc,EAAdA,EAAgBsgJ,uBAElEC,IAAoB,IAAAL,6BAA4BlgJ,aAAc,EAAdA,EAAgBo6H,gBAChEomB,GAA8BD,MAAsBvgJ,aAAc,EAAdA,EAAgBxJ,wBAE1E,OACI,gBAAC,UAAc,CAACzqB,UAAWf,EAAG,SAC1B,gBAAC,UAAM,CACHe,UAAWf,EAAG,UACdM,MAAOY,GAAE,sCACTT,eACI,gBAAC,UAAiB,CACdiD,UAAWA,GACXC,YAAaA,GACbo5C,iBAAiB,EACjBJ,aAAa3nB,aAAc,EAAdA,EAAgB2nB,cAAe,KAC5Cz2C,QAAQ8uB,aAAc,EAAdA,EAAgBtX,cAAe,KACvChX,UAAUsuB,aAAc,EAAdA,EAAgBrX,gBAAiB,OAGnD/c,UACI,gBAAC,UAAwB,CACrBm1K,sBAAsB,IAAAC,uBAAsBryK,GAAaqxB,GACzD6gJ,cAAc,IAAAC,oBAAmBnyK,IACjCuyK,oBAAoB,IAAAF,uBAAsBryK,GAAaqxB,GACvDihJ,YAAY,IAAAH,oBAAmBnyK,IAC/BqxB,eAAgBA,KAIxB,uBAAKj0B,UAAWf,EAAG,kBACf,gBAAC,UAAU,KACP,gBAAC,UAAa,CACVe,UAAWf,EAAG,QAAS,eACvBoH,MAAOlG,GAAE,yCACToE,OAAO0vB,aAAc,EAAdA,EAAgB/b,OAAQ,KAEnC,gBAAC,UAAa,CACVlY,UAAWf,EAAG,QAAS,qBACvBoH,MAAOlG,GAAE,+CACToE,MAAwD,QAAjD,EAAA80M,IAAeplL,aAAc,EAAdA,EAAgB0zB,cAAe,WAAG,eAAEzvC,KAC1DzM,MACI2tM,cAAuB,EAAvBA,GAAyBj2M,SACrB,gBAAC,UAAiB,CACdlC,UAAW,EAAAC,qBAAqBsS,YAChCkC,KAAM,EAAAC,oBAEV,OAGZ,gBAAC,UAAa,CACV3V,UAAWf,EAAG,QAAS,gBACvBoH,MAAOlG,GAAE,0CACTQ,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,GAAE,6CAGXoE,OACyB,QAArB,EAAA0vB,aAAc,EAAdA,EAAgB2+C,aAAK,eACfj8D,KAAI,SAAC6iM,GACH,OAAOA,aAAI,EAAJA,EAAMthM,OAAQ,EACzB,IACC0W,KAAK,QAAS,KAG3B,gBAAC,EAAAkjH,oBAAmB,CAAC9xI,UAAWf,EAAG,QAAS,2BAIvD2D,KAAgB,EAAA+kB,gBAAgB6C,SAC7B,gBAAC,UAAM,CACHxqB,UAAWf,EAAG,UACdM,MAAOY,GAAE,0CACTi6C,iBACI,gBAAC,UAAc,CAAC55C,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,GAAE,0CAGXT,eAAgB,gBAAC,UAAQ,QAGjC,uBAAKM,UAAWf,EAAG,iBACf,gBAAC,UAAM,CACHe,UAAWf,EAAG,SAAU,wBACxBM,MAAOY,GAAE,8CACTN,UACI,gBAAC,UAA0B,CACvB8pF,aAAcuqF,GACd1kK,YAAa,EAAAmmK,gBAAgBC,MAC7BC,YAAahC,GACbiC,aAAc1B,GACdhwK,UAAW6vB,aAAc,EAAdA,EAAgBzoB,MAInC,uBAAKxL,UAAWf,EAAG,kBACf,gBAAC,UAAU,CAAC8zG,OAAQ,GAChB,gBAAC,UAAa,CACV/yG,UAAWf,EAAG,QAAS,kBACvBoH,MAAM,IACN9B,OAAOqvK,cAAmB,EAAnBA,GAAqB1b,sBAAuB,GACnDzsJ,KAAM,gBAAC,UAAQ,CAACglB,YAAamjJ,cAAmB,EAAnBA,GAAqB9mH,SAEtD,gBAAC,UAAa,CACV9sD,UAAWf,EAAG,QAAS,cACvBoH,MAAOlG,GAAE,wCACToE,OAAmC,QAA5B,EAAA0vB,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEpuD,UAAW,KAEpD,gBAAC,UAAa,CACVznD,UAAWf,EAAG,QAAS,eACvBoH,MAAOlG,GAAE,yCACToE,OAAmC,QAA5B,EAAA0vB,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEnuD,OAAQ,MAGrD,gBAAC,UAAa,CACVrhD,MAAOlG,GAAE,4CACToE,OAAmC,QAA5B,EAAA0vB,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEtuD,UAAW,KAEpD,gBAAC,UAAa,CACVlhD,MAAOlG,GAAE,4CACToE,OAAmC,QAA5B,EAAA0vB,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEruD,UAAW,OAI5D,gBAAC,UAAM,CACHxnD,UAAWf,EAAG,SAAU,wBACxBM,MAAOY,GAAE,+CACTN,UACI,gBAAC,UAA0B,CACvB8pF,aAAc0qF,GACd7kK,YAAa,EAAAmmK,gBAAgBM,OAC7BJ,YAAa9B,GACb+B,aAAcxB,GACdlwK,UAAW6vB,aAAc,EAAdA,EAAgBzoB,MAInC,uBAAKxL,UAAWf,EAAG,kBACf,gBAAC,UAAU,CAAC8zG,OAAQ,GAChB,gBAAC,UAAa,CACV/yG,UAAWf,EAAG,QAAS,kBACvBoH,MAAM,IACN9B,OAAO+0M,cAAoB,EAApBA,GAAsBphD,sBAAuB,GACpDzsJ,KAAM,gBAAC,UAAQ,CAACglB,YAAa6oL,cAAoB,EAApBA,GAAsBxsJ,SAEvD,gBAAC,UAAa,CACV9sD,UAAWf,EAAG,QAAS,cACvBoH,MAAOlG,GAAE,wCACToE,OAAoC,QAA7B,EAAA0vB,aAAc,EAAdA,EAAgB85H,qBAAa,eAAEtmG,UAAW,KAErD,gBAAC,UAAa,CACVznD,UAAWf,EAAG,QAAS,eACvBoH,MAAOlG,GAAE,yCACToE,OAAoC,QAA7B,EAAA0vB,aAAc,EAAdA,EAAgB85H,qBAAa,eAAErmG,OAAQ,MAGtD,gBAAC,UAAa,CACVrhD,MAAOlG,GAAE,4CACToE,OAAoC,QAA7B,EAAA0vB,aAAc,EAAdA,EAAgB85H,qBAAa,eAAExmG,UAAW,KAErD,gBAAC,UAAa,CACVlhD,MAAOlG,GAAE,4CACToE,OAAoC,QAA7B,EAAA0vB,aAAc,EAAdA,EAAgB85H,qBAAa,eAAEvmG,UAAW,OAI5D6rH,IACG,gBAAC,UAAM,CACHrzK,UAAWf,EAAG,SAAU,wBACxBM,MAAOY,GAAE,gDACTN,UACI,gBAAC,UAA0B,CACvB8pF,aAAc6qF,GACdhlK,YAAa,EAAAmmK,gBAAgBQ,QAC7BN,YAAa5B,GACb6B,aAAcrB,GACdrwK,UAAW6vB,aAAc,EAAdA,EAAgBzoB,MAInC,uBAAKxL,UAAWf,EAAG,kBACf,gBAAC,UAAU,CAAC8zG,OAAQ,GAChB,gBAAC,UAAa,CACV/yG,UAAWf,EAAG,QAAS,kBACvBoH,MAAM,IACN9B,OAAOg1M,cAAqB,EAArBA,GAAuBrhD,sBAAuB,GACrDzsJ,KAAM,gBAAC,UAAQ,CAACglB,YAAa8oL,cAAqB,EAArBA,GAAuBzsJ,SAExD,gBAAC,UAAa,CACV9sD,UAAWf,EAAG,QAAS,cACvBoH,MAAOlG,GAAE,wCACToE,OAAqC,QAA9B,EAAA0vB,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE5mG,UAAW,KAEtD,gBAAC,UAAa,CACVznD,UAAWf,EAAG,QAAS,eACvBoH,MAAOlG,GAAE,yCACToE,OAAqC,QAA9B,EAAA0vB,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE3mG,OAAQ,MAGvD,gBAAC,UAAa,CACVrhD,MAAOlG,GAAE,4CACToE,OAAqC,QAA9B,EAAA0vB,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE9mG,UAAW,KAEtD,gBAAC,UAAa,CACVlhD,MAAOlG,GAAE,4CACToE,OAAqC,QAA9B,EAAA0vB,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE7mG,UAAW,KAGtD,gBAAC,UAAa,CACVnhD,MAAOlG,GAAE,kDACToE,OAAO0vB,aAAc,EAAdA,EAAgB06H,eAAgB,QAQvE,IAEA,UAAeuqD,C,+BChTf,WAAgB,MAAQ,kCAAkC,MAAQ,kCAAkC,aAAe,yCAAyC,eAAiB,2CAA2C,QAAU,oCAAoC,4CAA4C,sEAAsE,yBAAyB,mDAAmD,MAAQ,kCAAkC,iBAAiB,2CAA2C,gBAAgB,0CAA0C,sBAAsB,gDAAgD,OAAS,mCAAmC,SAAW,qC,q7BCDjuB,kBACA,cAEA,cACA,WACA,cAEMj6M,EAAK,UAAWC,KAAK,WAMrBu6M,EAA0Dr6M,EAAMC,MAAK,SAACC,GAChE,IAAAkM,EAAOlM,EAAK,GAEpB,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,sDACRE,WAAY,CACRrE,GAAI,gBAAC,UAAqB,CAACA,GAAIA,OAKnD,IAEA,UAAeiuM,C,ouCC5Bf,kBAEA,cACA,cAEA,WACA,WACA,OACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,YACA,cAEA,UACA,WACA,cAEMx6M,EAAK,UAAWC,KAAK,WAErBw6M,IAAiB,MAClB,EAAA16M,WAAWiuH,2BAA4B,yE,GAKtC+O,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAqGxE,UAAe58H,EAAMC,MAnGyB,SAACC,GACnC,IAAAslH,EAA+CtlH,EAAK,eAApCC,EAA+BD,EAAK,MAA7B+mM,EAAwB/mM,EAAK,SAAnBgP,EAAchP,EAAK,UAEpDa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiCf,EAAM0E,SAAQ,WACjD,IAAMsW,GAAS,aAAiBwqG,GAGhC,MAAO,CAACxqG,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACwqG,IAAgB,GANb9qG,EAAa,KAAEupC,EAAa,KAQ7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMs/L,GAAoB,aAAyBv/L,GACnDisL,EAASsT,GAETt/L,EAAcI,WAAW,CAAC,EAC9B,IAGE4kC,EAA2BjgD,EAAM6yB,WAAW,WAClD7yB,EAAMoL,WAAU,WACR60C,EAAyB09E,wBACzB19E,EAAyB09E,uBAAuB,CAC5Cx9E,OAAQxlC,EAAOijH,WACf75D,MAAOppD,EAAOkjH,WAI1B,GAAG,CAACljH,EAAOijH,WAAYjjH,EAAOkjH,YAE9B,IAAME,GAAmB,IAAAC,uBAAsBrjH,EAAOmB,QAChDqoC,EAA0BT,EAA6B/oC,EAAOK,OAAQN,GAE5E1a,EAAMoL,WAAU,WACR60C,EAAyBi+E,oBACzBj+E,EAAyBi+E,mBAAmB,CACxCx4H,WAAYy+C,EACZ85E,UAAWF,GAIvB,GAAG,CAACA,EAAkB55E,IAEtBnkD,EAAMoL,WAAU,WACR60C,EAAyBk+E,sBACzBl+E,EAAyBk+E,qBAAqB,CAC1CjvH,UAAS,GAIrB,GAAG,CAACA,IAEJ,IAAMsrM,GAAwB,aAA0B7/L,EAAOK,OAAQN,GAEvE,OACI,wBAAMK,SAAUJ,EAAOiB,cACnB,gBAAC,UAAM,CAAChb,UAAWf,EAAG,UAAWM,MAAOA,EAAOM,UAAW,gBAAC+5M,EAAqB,CAAC95I,OAAQk8D,KACrF,uBAAKh8H,UAAWf,EAAG,kBACf,gBAAC,UAAU,KACP,gBAAC,UAAW,CACR4kD,cAAY,EACZ7jD,UAAWf,EAAG,YACdiZ,KAAM,EAAAlZ,WAAWiuH,0BACjB5pH,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWiuH,2BAChC9xG,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWiuH,2BACrC5xG,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBk+J,YAAU,IAET,SAACl6K,GAAU,OACR,gBAAC,UAAQ,CACL4lF,QAASnrE,EAAOK,OAAO,EAAApb,WAAWiuH,2BAClC4sF,SAAUv6M,EAAM8c,SAChB/V,MAAOlG,EAAEu5M,EAAkB,EAAA16M,WAAWiuH,6BAJlC,IAQhB,gBAAC,EAAA6kB,oBAAmB,CAAC9xI,UAAWf,EAAG,YAEvC,gBAAC,UAAkB,CAAC8lF,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,gBAAC,UAAkC,QAKvD,G,+BCnIA,WAAgB,KAAO,gCAAgC,MAAQ,iCAAiC,OAAS,kCAAkC,MAAQ,iCAAiC,aAAe,wCAAwC,YAAc,uCAAuC,KAAO,gCAAgC,eAAe,wCAAwC,4BAA4B,qDAAqD,qBAAqB,8CAA8C,sBAAsB,+CAA+C,OAAS,kCAAkC,SAAW,oC,q7BCD7oB,kBACA,cAEA,cACA,WACA,cAEMjc,EAAK,UAAWC,KAAK,WAMrB46M,EAAsD16M,EAAMC,MAAK,SAACC,GAC5D,IAAAytB,EAAiBztB,EAAK,aAE9B,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,iDACRE,WAAY,CACRkd,aAAc,gBAAC,UAAY,CAACA,aAAcA,OAK9D,IAEA,UAAe+sL,C,q7BC5Bf,kBACA,cACA,cACA,WACA,cACA,cAEA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cAEM76M,EAAK,UAAWC,KAAK,WASrB66M,EAAqC36M,EAAMC,MAAK,SAACC,GAC3C,IAAAiqK,EAA6DjqK,EAAK,YAArDU,EAAgDV,EAAK,UAA1C06M,EAAqC16M,EAAK,sBAAnBgP,EAAchP,EAAK,UAElEa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAuD,CACzD,CACIC,aAAc,WAAM,mCAAOtyB,EAAE,sCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,qBACrC0zB,OAAQ,SAACsnL,GAAoB,uBAAC,UAAM,CAACzuM,GAAIyuM,aAAe,EAAfA,EAAiB33F,YAA7B,EAC7BtiH,UAAWf,EAAG,gBAAiB,qBAC/BgB,aAAc,MAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,0CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACsnL,GAAoB,uBAAC,UAAU,CAACA,gBAAiBA,GAA7B,EAC7Bj6M,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,+CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACsnL,GAAoB,uBAAC,UAAe,CAACA,gBAAiBA,GAAlC,EAC7Bj6M,UAAWf,EAAG,gBAAiB,8BAC/BgB,aAAc,eAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACsnL,GAAoB,uBAAC,UAAW,CAACA,gBAAiBA,GAA9B,EAC7Bj6M,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,WAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACsnL,GAAoB,uBAAC,UAAW,CAACA,gBAAiBA,GAA9B,EAC7Bj6M,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,WAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,wCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACsnL,GAAoB,uBAAC,UAAQ,CAACA,gBAAiBA,GAA3B,EAC7Bj6M,UAAWf,EAAG,gBAAiB,uBAC/BgB,aAAc,QAElB,CACIwyB,aAAc,WAAM,aACpBC,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACsnL,GAAoB,OACzB,gBAAC,UAAoB,CACjBhnL,SAAUgnL,EAAgBx1M,WAC1B0uB,YAAahzB,EAAE,yCAHM,EAM7BH,UAAWf,EAAG,gBAAiB,+BAC/BgB,aAAc,gBAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,0CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAACsnL,GAAoB,uBAAC,UAAU,CAACA,gBAAiBA,GAA7B,EAC7Bj6M,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,WAIhBmzB,EAAkB,SAACnoB,EAAyBgvM,GACzCA,EAAgBzuM,IAAOwuM,GAI5BA,EAAsB/uM,EAAOgvM,EAAgBzuM,GACjD,EAGM6nB,EAAa,SAAClY,EAAqB8+L,GACrC,MAAO,CAAC,CACZ,EAEA,OACI,uBAAKj6M,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAmBw0B,UAAU,eAAenlB,UAAWA,EAAW4W,KAAMqkJ,IACjF,SAACrkJ,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACFzzB,aAAa,eACbD,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNmO,WAAYA,EACZM,YAAaP,EACb9kB,UAAWA,EACXolB,eAAgBA,GATG,IAe3C,IAEA,UAAeqmL,C,kNC3HF,EAAAxvJ,iBAAmB,SAACvnD,GAAwC,OAAAA,EAAMq0J,cAActrG,MAAMz+C,KAA1B,EAE5D,EAAA4sM,iBAAmB,SAACl3M,GAAwC,OAAAA,EAAMq0J,cAActrG,MAAMxmD,KAA1B,EAE5D,EAAA8kD,iBAAmB,SAACrnD,GAAwC,OAAAA,EAAMq0J,cAActrG,MAAMt+C,KAA1B,EAE5D,EAAAg9C,iBAAmB,SAACznD,GAAuC,OAAAA,EAAMq0J,cAActrG,MAAMp+C,IAA1B,EAE3D,EAAAg9C,yBAA2B,SAAC3nD,GAAkC,OAAAA,EAAMq0J,cAActrG,MAAMogB,aAA1B,EAE9D,EAAAsnF,2BAA6B,SAACzwJ,GAAkC,OAAAA,EAAMq0J,cAActrG,MAAMouJ,gBAA1B,C,6oDCd7E,kBAmCS,EAAAC,cAjCa,SAAOC,GAAgB,uBAAGh2J,SAAO,W,sEACnC,SAAM,UAAkBi2J,kB,OAEvB,OAFXjpF,EAAU,SAEC,GAAMkpF,MAAMF,EAAU,CACnC71J,OAAQ,MACR6sE,QAASA,GAAW,CAAC,K,OAGzB,KALM3kH,EAAW,UAKHlJ,GACV,MAAM,IAAImhJ,MAAM,8BAAuBj4I,EAASgc,SAavC,OAVP8xL,EAAqB9tM,EAAS2kH,QAAQopF,IAAI,uBAC5CC,EAAW,YAEXF,IACMG,EAAgBH,EAAmBjO,MAAM,4CAC1BoO,EAAc,KAC/BD,EAAWC,EAAc,GAAGzrJ,QAAQ,QAAS,KAIxC,GAAMxiD,EAASkuM,Q,cAAtBA,EAAO,SACPt2K,EAAMob,OAAOm7J,IAAIC,gBAAgBF,IACjCxvC,EAAO/tH,SAAS09J,cAAc,MAC/BC,KAAO12K,EACZ8mI,EAAKh9B,SAAWssE,EAChBr9J,SAAS4H,KAAKg2J,YAAY7vC,GAC1BA,EAAK8vC,QACL79J,SAAS4H,KAAKk2J,YAAY/vC,GAC1B1rH,OAAOm7J,IAAIO,gBAAgB92K,G,ijDChC/B,kBACA,WACA,cASM+2K,EAAmC,SAAC/7M,GAC9B,IAAA2B,EAAsD3B,EAAK,UAAhDwR,EAA2CxR,EAAK,YAAnC0W,EAA8B1W,EAAK,YAAnBusB,EAAS,EAAKvsB,EAAxD,2CAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aAAgBkb,GACnF,qBAAG/f,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,mOACF4E,SAAS,aAAS3E,GAAeA,EAAc,QAEnD,wBACIhF,KAAMkK,EACNnF,EAAE,6UAKtB,EAEAwqM,EAAejqM,YAAc,iBAE7B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAegqM,EAKF,EAAAnV,uBAAyB,SAACl7K,GACnC,MACS,aADDA,EAEO,CACH/pB,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAI/B,CACH9U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,MAIlD,C,klBC1DA,IASYwiM,EAKAl1M,EAdZ,WAOA,YAEA,SAAYk1M,GACR,sBACA,eACH,CAHD,CAAYA,IAAc,iBAAdA,EAAc,KAK1B,SAAYl1M,GACR,UAEA,cACA,cAEA,2BACA,2BAEA,oCAEA,wCACA,+CAEA,oCACA,2CAEA,gBACA,cACA,2BACA,mCAEA,yBACA,yBAEA,gDACA,6BACA,sCACA,kCACH,CA7BD,CAAYA,IAAU,aAAVA,EAAU,KAkET,EAAA41M,sBAAwB,IAAIxmL,IAAgC,CAAC,EAAA4G,uBAAuBC,UAEpF,EAAAqmL,gCAAiE,CAC1E,EAAAx7J,uBAAuBC,SACvB,EAAAD,uBAAuBE,KACvB,EAAAF,uBAAuBG,UACvB,EAAAH,uBAAuBI,iBACvB,EAAAJ,uBAAuBK,cACvB,EAAAL,uBAAuBM,gBACvB,EAAAN,uBAAuBO,gBACvB,EAAAP,uBAAuBQ,eACvB,EAAAR,uBAAuBS,sBACvB,EAAAT,uBAAuBU,YAGd,EAAA+6J,gCAA6B,MACrC,EAAAxsL,kBAAkBC,OAAQ,CACvB,EAAA8wB,uBAAuBC,SACvB,EAAAD,uBAAuBE,KACvB,EAAAF,uBAAuBG,UACvB,EAAAH,uBAAuBI,iBACvB,EAAAJ,uBAAuBK,cACvB,EAAAL,uBAAuBM,gBACvB,EAAAN,uBAAuBO,gBACvB,EAAAP,uBAAuBQ,eACvB,EAAAR,uBAAuBS,uBAE3B,EAAC,EAAAxxB,kBAAkBvE,SAAU,CACzB,EAAAs1B,uBAAuBC,SACvB,EAAAD,uBAAuBE,KACvB,EAAAF,uBAAuBG,UACvB,EAAAH,uBAAuBI,iBACvB,EAAAJ,uBAAuBK,cACvB,EAAAL,uBAAuBM,gBACvB,EAAAN,uBAAuBO,gBACvB,EAAAP,uBAAuBQ,eACvB,EAAAR,uBAAuBS,sBACvB,EAAAT,uBAAuBU,YAE3B,EAAC,EAAAzxB,kBAAkBnH,SAAU,CACzB,EAAAk4B,uBAAuBC,SACvB,EAAAD,uBAAuBE,KACvB,EAAAF,uBAAuBG,UACvB,EAAAH,uBAAuBI,iBACvB,EAAAJ,uBAAuBK,cACvB,EAAAL,uBAAuBM,gBACvB,EAAAN,uBAAuBO,gBACvB,EAAAP,uBAAuBQ,eACvB,EAAAR,uBAAuBS,uBAE3B,EAAC,EAAAxxB,kBAAkBE,QAAS,G,GAGnB,EAAAusL,2BAA6B,SAAC10L,GACvC,OAAKA,GAIE,EAAAy0L,8BAA8Bz0L,IAH1B,EAAAw0L,+BAIf,EAEa,EAAAG,2BAAgE,CACzE,EAAAzmL,uBAAuBC,QACvB,EAAAD,uBAAuBzwB,OAGd,EAAAm3M,gDAA6C,MAIrD,EAAA57J,uBAAuBC,UAAW,CAAC,EAAA/qB,uBAAuBC,SAC3D,EAAC,EAAA6qB,uBAAuBE,MAAO,CAAC,EAAAhrB,uBAAuBC,SACvD,EAAC,EAAA6qB,uBAAuBG,WAAY,CAAC,EAAAjrB,uBAAuBC,SAC5D,EAAC,EAAA6qB,uBAAuBI,kBAAmB,CAAC,EAAAlrB,uBAAuBC,SACnE,EAAC,EAAA6qB,uBAAuBK,eAAgB,CAAC,EAAAnrB,uBAAuBC,SAChE,EAAC,EAAA6qB,uBAAuBM,iBAAkB,CAAC,EAAAprB,uBAAuBC,SAClE,EAAC,EAAA6qB,uBAAuBO,iBAAkB,CAAC,EAAArrB,uBAAuBC,SAClE,EAAC,EAAA6qB,uBAAuBQ,gBAAiB,CAAC,EAAAtrB,uBAAuBC,SACjE,EAAC,EAAA6qB,uBAAuBS,uBAAwB,CAAC,EAAAvrB,uBAAuBC,SACxE,EAAC,EAAA6qB,uBAAuBU,YAAa,CAAC,EAAAxrB,uBAAuBC,QAAS,EAAAD,uBAAuBzwB,O,GAGpF,EAAAo3M,sBAAmB,MAC3B,EAAA5sL,kBAAkBC,OAAQ,EAAA0sL,8CAC3B,EAAC,EAAA3sL,kBAAkBnH,SAAU,EAAA8zL,8CAC7B,EAAC,EAAA3sL,kBAAkBvE,SAAO,OACnB,EAAAkxL,iDAA6C,MAC/C,EAAA57J,uBAAuBC,UAAW,CAAC,EAAA/qB,uBAAuBC,QAAS,EAAAD,uBAAuBzwB,OAAM,IAErG,EAAC,EAAAwqB,kBAAkBE,QAAS,EAAAysL,8C,GAGnB,EAAAE,uBAAyB,SAClCtiM,EACAuiM,G,MAEA,OAAKviM,GAAauiM,IAIoB,QAA/B,EAAmB,OAAnB,EAAAF,0BAAmB,IAAnB,EAAAA,yBAAmB,EAAnB,EAAAA,oBAAsBriM,UAAS,eAAGuiM,KAH9B,EAAAJ,0BAIf,C,+BCtLA,WAAgB,QAAU,kCAAkC,uBAAuB,+CAA+C,cAAgB,wCAAwC,qBAAqB,6CAA6C,cAAgB,wCAAwC,OAAS,iCAAiC,SAAW,mC,22BCDzW,kBACA,WACA,WAcMK,IAAiB,MAClB,EAAA3jM,aAAamrF,kBAAmB,EAAAlrE,iBAAiB9hB,IAClD,EAAC,EAAA6B,aAAa4jM,oCAAqC,EAAA3jL,iBAAiB9hB,I,GAIlE0lM,IAAe,MAChB,EAAA7jM,aAAa4lK,sBAAuB,I,GAInCk+B,IAAe,MAChB,EAAA9jM,aAAaohE,aAAc,iCAC5B,EAAC,EAAAphE,aAAaqhE,aAAc,iCAC5B,EAAC,EAAArhE,aAAa85J,aAAc,iCAC5B,EAAC,EAAA95J,aAAa2oC,OAAQ,yBACtB,EAAC,EAAA3oC,aAAas9I,uBAAwB,0CACtC,EAAC,EAAAt9I,aAAa+jM,kCAAmC,+CACjD,EAAC,EAAA/jM,aAAagkM,oBAAqB,uCACnC,EAAC,EAAAhkM,aAAaC,wBAAyB,2CACvC,EAAC,EAAAD,aAAaikM,oBAAqB,uCACnC,EAAC,EAAAjkM,aAAai8L,MAAO,wBACrB,EAAC,EAAAj8L,aAAa8wE,mBAAoB,sCAClC,EAAC,EAAA9wE,aAAa0jG,OAAQ,yBACtB,EAAC,EAAA1jG,aAAakkM,qBAAsB,wCACpC,EAAC,EAAAlkM,aAAamkM,0BAA2B,8CACzC,EAAC,EAAAnkM,aAAasxE,WAAY,6BAC1B,EAAC,EAAAtxE,aAAaokM,qBAAsB,wCACpC,EAAC,EAAApkM,aAAaqkM,+BAAgC,oD,GAG5CC,EAA6Br9M,EAAMC,MAAK,SAACC,GACnC,IAAAU,EAAcV,EAAK,UAEnBa,GAAM,IAAAC,kBAAgB,EAE9B,GAAI,UAAWd,EAAO,CACV,IAEFo9M,EAFsBp9M,EAAK,MAEEqX,KAAI,SAAConE,GACpC,OAAI+9H,EAAkB/9H,GACX+9H,EAAkB/9H,GAGzBi+H,EAAgBj+H,GACTi+H,EAAgBj+H,GAGpB59E,EAAE87M,EAAgBl+H,GAC7B,IAEA,OAAO,wBAAM/9E,UAAWA,GAAY08M,EAAkB9tL,KAAK,KAC/D,CAEQ,IAAArsB,EAASjD,EAAK,KACtB,IAAKiD,EACD,OAAO,KAGX,IAAM8D,EACFy1M,EAAkBv5M,IAClBy5M,EAAgBz5M,IAChBpC,EAAE87M,EAAgB15M,IAEtB,OAAO,wBAAMvC,UAAWA,GAAYqG,EACxC,IAEA,UAAeo2M,C,y3BCnFf,kBACA,WAOME,EAAqC,SAACr9M,GAChC,IAAA2B,EAAoB3B,EAAK,UAAdoW,EAASpW,EAAK,KAEjC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aACvE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,qBAAG/E,KAAM7K,GACL,wBACI6K,KAAK,OACL+E,EAAE,mMAEN,wBAAMA,EAAE,uzBAK5B,EAEA8rM,EAAiBvrM,YAAc,mBAE/B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqB0Q,OAChC8D,KAAM,IAGD,EAAArE,WAAAA,EACT,UAAesrM,C,khBClCf,eAEA,WAUa,EAAAC,oCAAoE,CAC7EtvM,MAAO,GACP/H,MAAO,KACPkI,MAAO,KACPE,KAAM,CAAC,GAOE,EAAAkvM,uBAAwB,IAAAjxI,aAAY,CAC7C1zD,KAAM,mBACNrV,aAJyC,CAAC,EAK1CgpE,SAAU,CACNixI,0BAA2B,SAEvB95M,EAEAC,GAQJ,EACA85M,+BAAgC,SAC5B/5M,EACAC,GAMM,MAAmCA,EAAOklB,QAAxCxlB,EAAS,YAAEoR,EAAU,aAAExO,EAAK,QAC9By3M,EAAeh6M,EAAML,IAAc,EAAAi6M,oCAEzC55M,EAAML,GAAa,EAAH,KACTq6M,IACA,IAAAr+I,kBAAiBq+I,EAAcjpM,EAAYxO,GAEtD,EACA03M,iCAAkC,SAC9Bj6M,EACAC,GAOM,MAA6CA,EAAOklB,QAAlDxlB,EAAS,YAAEoR,EAAU,aAAExO,EAAK,QAAEmH,EAAQ,WACxCswM,EAAeh6M,EAAML,IAAc,EAAAi6M,oCAEzC55M,EAAML,GAAa,EAAH,KACTq6M,IACA,IAAAp+I,oBAAmBo+I,EAAcjpM,EAAYxO,EAAOmH,GAE/D,EACAwwM,+BAAgC,SAC5Bl6M,EACAC,GAOM,MAA0CA,EAAOklB,QAA/CxlB,EAAS,YAAEoR,EAAU,aAAExO,EAAK,QAAElC,EAAK,QACrC25M,EAAeh6M,EAAML,IAAc,EAAAi6M,oCAEzC55M,EAAML,GAAa,EAAH,KACTq6M,IACA,IAAA33E,kBAAiB23E,EAAcjpM,EAAYxO,EAAOlC,GAE7D,EACA85M,sBAAuB,SACnBn6M,EACAC,GAKM,MAAqCA,EAAOklB,QAA1CxlB,EAAS,YAAE6R,EAAmB,sBAChCwoM,EAAeh6M,EAAML,IAAc,EAAAi6M,oCAEzC55M,EAAML,GAAa,EAAH,KACTq6M,IACA,IAAAh+I,wBAAuB,EAAA49I,oCAAqCI,EAAcxoM,GAErF,KAKJ,EAAAsoM,2BADS,EAMT,EAAAD,sBAAsB5uM,SAAO,0BAJ7B,EAAA8uM,+BAA8B,iCAC9B,EAAAE,iCAAgC,mCAChC,EAAAC,+BAA8B,iCAC9B,EAAAC,sBAAqB,wBAGzB,UAAe,EAAAN,sBAAsB5wI,O,q7BCrHrC,kBAEA,aACA,cACA,aAEA,aACA,WAUMhtE,EAAK,UAAWC,KAAK,WAIrBk+M,EAA6Bh+M,EAAMC,MAAK,SAACC,GACnC,IAAA4sB,EAAmD5sB,EAAK,KAAlDyQ,EAA6CzQ,EAAK,OAA1C8zG,EAAqC9zG,EAAK,WAA9Bs4C,EAAyBt4C,EAAK,UAAnBU,EAAcV,EAAK,UAEhE,OAAI,aAAM4sB,GACC,KAIP,uBAAKlsB,WAAW,aAAGf,EAAG,OAAQ,CAAE,eAAgB8Q,EAAQ,kBAAmB6nC,IAAc53C,KACpF,IAAA0oF,YAAW0qB,GAXI,cAW+BlnF,GAG3D,IAEA,UAAekxL,C,6vCCnCf,IAQYn4H,EARZ,cAEA,cACA,cACA,aAEMhmF,EAAK,UAAWC,KAAK,YAE3B,SAAY+lF,GACR,kBACA,eACH,CAHD,CAAYA,IAAiB,oBAAjBA,EAAiB,KAoB7B,IAAMo4H,EAAqCj+M,EAAMC,MAAK,SAACC,G,MAE/CU,EAYAV,EAAK,UAXLkB,EAWAlB,EAAK,MAVL4lF,EAUA5lF,EAAK,QATLg+M,EASAh+M,EAAK,eARL8c,EAQA9c,EAAK,SAPLqF,EAOArF,EAAK,WANL40C,EAMA50C,EAAK,WALL+G,EAKA/G,EAAK,MAJLqlH,EAIArlH,EAAK,eAHLo4C,EAGAp4C,EAAK,UAFL4d,EAEA5d,EAAK,YADLW,EACAX,EAAK,aAEH,IAAsBF,EAAMuE,UAAkB,GAAM,GAAnD45M,EAAO,KAAEC,EAAQ,KAElB3kH,EAAe,SAAC5tF,GACdtG,GAAcuvC,GAId93B,GACAA,GAAU8oE,EAASj6E,EAE3B,EAEMwyM,EAAkB,WAChBF,GAIJC,GAAS,EACb,EAEME,EAAmB,WACrBF,GAAS,EACb,EAEMt9M,EAAmB,UAAGD,EAAY,aAExC,OACI,uBACID,WAAW,aACPf,EAAG,WAAY,CACX,wBAAyBie,IAE7Bld,IAGJ,uBACIA,UAAWf,EAAG,OAAK,GACf,eAAgBs+M,EAChB,oBAAqB54M,IAAeuvC,EACpC,iBAAkBgxC,EAClB,wBAAyBo4H,EACzB,kBAAmB34M,GAAcuvC,GACjC,EAAC,qBAAc1zC,KAAU,E,IAE7BmtH,YAAa8vF,EACbvyM,aAAcwyM,EACd38M,QAAS83F,EAAY,qBACD,UAAG34F,EAAgB,YAExCmG,GACC,uBACIrG,WAAW,aACPf,EAAG,QAAS,CACR,qBAAsBie,EACtB,sBAAuBvY,IAAeuvC,EACtC,oBAAqBvvC,EACrB,wBAAyB+yC,IAE7BitE,GAEJgJ,YAAa8vF,EACbvyM,aAAcwyM,EACd38M,QAAS83F,EAAY,qBACD,UAAG34F,EAAgB,WAEtCmG,GAGRqxC,EAGb,IAEA,UAAe2lK,C,q7BCrHf,kBACA,cAEA,cACA,WACA,cAEMp+M,EAAK,UAAWC,KAAK,WAMrBy+M,EAAyDv+M,EAAMC,MAAK,SAACC,GAC/D,IAAAytB,EAAiBztB,EAAK,aAE9B,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,qDACRE,WAAY,CACRkd,aAAc,gBAAC,UAAY,CAACA,aAAcA,OAK9D,IAEA,UAAe4wL,C,u7BC5Bf,kBAEA,cAEA,cACA,WACA,YACA,WACA,WAWMj5K,GAFK,UAAWxlC,KAAK,YAED,MACrB,EAAAq1D,gBAAgB83G,QAAS,EAAAn5J,0BAA0B1B,OACpD,EAAC,EAAA+iD,gBAAgB+3G,YAAa,EAAAp5J,0BAA0B1B,OACxD,EAAC,EAAA+iD,gBAAgBvvB,WAAY,EAAA9xB,0BAA0BO,SACvD,EAAC,EAAA8gD,gBAAgBtvB,UAAW,EAAA/xB,0BAA0B1B,OACtD,EAAC,EAAA+iD,gBAAgBC,MAAO,EAAAthD,0BAA0BO,S,GAGhDmqM,EAAoCx+M,EAAMC,MAAK,SAACC,GAC1C,IAAAopB,EAAsCppB,EAAK,OAAnC8lC,EAA8B9lC,EAAK,WAAvBsU,EAAkBtU,EAAK,cAE3Ca,GAAM,IAAAC,kBAAgB,EAE9B,IAAKsoB,EACD,OAAO,KAGX,IAAMloB,EAAQkkC,EAAqBhc,IAAW,EAAAzV,mBAAmB9R,SAEjE,OACI,gCACI,gBAAC,UAAS,CAAC0S,UAAQ,EAACrT,MAAOA,EAAOP,aAAa,eAAe2T,cAAeA,GACxEzT,EAAE,EAAA09M,mBAAmBn1L,KAEzB0c,GACG,gBAAC,UAAS,CAACvxB,UAAQ,EAACrT,MAAOA,EAAOP,aAAa,iBAAiB2T,cAAeA,GAC1EzT,EAAE,0BAKvB,IAEA,UAAey9M,C,q7BCpDf,kBACA,cACA,WACA,cAEA,cAEA,cACA,WACA,WACA,WACA,WACA,WACA,UAEM3+M,EAAK,UAAWC,KAAK,WASrB4+M,EAA+C1+M,EAAMC,MAAK,SAACC,GACrD,IAAA+oF,EAAyC/oF,EAAK,mBAA1B+sB,EAAqB/sB,EAAK,OAAlByO,EAAazO,EAAK,SAEhDu0B,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAAsa,iBACb,GAAG,CAACta,IAEJ,IAAMkqL,GAAqB,IAAAzoM,aAAY,EAAA0oM,0BAEjCC,EAA2B7+M,EAAM0E,SAAQ,WAC3C,OAAO,IAAAo6M,gBAAel6I,KAAKD,MAAO,EAAAtlB,WACtC,GAAG,IAEG0/J,EAAwB/+M,EAAM0E,SAAQ,W,MACxC,IAAKukF,EACD,OAAO,KAGX,IAAM/J,GAAO,IAAAojG,cAAar5F,EAAoBh8D,GACxCwmG,GAA+B,QAAf,EAAAv0C,aAAI,EAAJA,EAAM50D,iBAAS,eAAG,KAAM,KACxCpS,GACFu7G,aAAa,EAAbA,EAAehV,yBAAyBgV,aAAa,EAAbA,EAAe1wC,uBAAwB,KAC7Ei8H,GAAkC,aAAO9mM,GAAwB4uC,UAEvE,MAAO,CAAC+3J,EAA0BG,EAAkCL,EACxE,GAAG,CAAC1xL,EAAQ4xL,EAA0B51H,EAAoB01H,IAEpD/iM,EAAe5b,EAAMkG,aACvB,SAACopE,EAAkBx/D,GACVmd,EAKLwH,GAAS,IAAAwqL,kBAAiBhyL,EAAQqiD,EAAUx/D,KAJxC,IAAA8kB,YAAW,uCAKnB,GACA,CAACH,EAAUxH,IAGf,OAAKg8D,EAKD,uBAAKroF,UAAWf,EAAG,YACf,gBAAC,UAAiB,CACdk/M,sBAAuBA,EACvBpwM,SAAUA,EACVoM,SAAUa,KARX,IAYf,IAEA,UAAe8iM,C,kaC/Ef,eAEA,UACA,WACA,WACA,WACA,cACA,cACA,UACA,cACA,cACA,WAIa,EAAAQ,uBAAyB,SAACvkM,GAEnC,IAAMwkM,GAAmC,IAAAj5M,cACrC,SAAC2F,G,MACS61E,EAA0C,CAAC,EAE3C9X,EAAkBjvD,EAAOK,OAAO,EAAApb,WAAWymC,OAC3Cu7C,EAA6C,GAE7Cw9H,GAA0B,aAAMvzM,aAAK,EAALA,EAAOgvL,iBAAiB,SAACrnJ,GAC3D,OAAOA,EAAMo9B,cAAgB,EACjC,IAEAhH,EAAgBttD,SAAQ,SAAC+iM,G,gCACfC,EAAiB,KAChBD,GAGD75H,GAAS65H,aAAkB,EAAlBA,EAAoB75H,SAAU,KAC7C,GAAKA,EAAL,CAIA,IAAM+5H,GAAsBH,aAAuB,EAAvBA,EAA0B55H,KAAW,KAEjE,GAAI+5H,aAAmB,EAAnBA,EAAqBC,mBAAoB,CACzC,IAAMj+H,EAAe89H,EAAmB,EAAA/4K,qBAAqBC,UACvDg5G,EAAmBh+D,aAAY,EAAZA,EAAcg+D,iBAEvC+/D,EAAkB,EAAAh5K,qBAAqBC,UAAY,EAAH,KACzCg7C,GAAY,CACf36C,SAAS26C,aAAY,EAAZA,EAAc36C,UAAW,KAClC+8G,mBAAmBpiE,aAAY,EAAZA,EAAcoiE,oBAAqB,KACtDpE,kBAAkB,aAASA,GAAoBA,EAAmB,KAClE/rG,OAAO+rK,aAAmB,EAAnBA,EAAqBC,oBACtB,CACIt/L,IAAKq/L,EAAoBC,mBAAmBjqK,UAC5Ct1B,IAAKs/L,EAAoBC,mBAAmBlqK,UAEhD,MAEd,CAEA,IAAMmqK,EAAiBJ,EAAmB,EAAA/4K,qBAAqBn+B,YAM/D,IALIo3M,aAAmB,EAAnBA,EAAqB1uI,qBAAsB4uI,IAC3CH,EAAkB,EAAAh5K,qBAAqBn+B,YAAco3M,EAAoB1uI,oBAKnC,QAAtC,EAAA0uI,aAAmB,EAAnBA,EAAqB1uI,yBAAiB,eAAE3oE,SACU,QAAlD,EAAAo3M,EAAkB,EAAAh5K,qBAAqBn+B,mBAAW,eAAED,UACnD,IAAA2/C,qBACyC,QAAtC,EAAA03J,aAAmB,EAAnBA,EAAqB1uI,yBAAiB,eAAE3oE,MACU,QAAlD,EAAAo3M,EAAkB,EAAAh5K,qBAAqBn+B,mBAAW,eAAED,OAE1D,CACE,IAAMw3M,GAAiB,IAAAC,0BAC+B,QAAlD,EAAAL,EAAkB,EAAAh5K,qBAAqBn+B,mBAAW,eAAED,MACd,QAAtC,EAAAq3M,aAAmB,EAAnBA,EAAqB1uI,yBAAiB,eAAE3oE,OAGxCw3M,IACAJ,EAAkB,EAAAh5K,qBAAqBn+B,YAAYD,MAAQw3M,EAEnE,CAIA,IAC0C,QAAtC,EAAAH,aAAmB,EAAnBA,EAAqB1uI,yBAAiB,eAAE5kE,OACU,QAAlD,EAAAqzM,EAAkB,EAAAh5K,qBAAqBn+B,mBAAW,eAAE8D,QACnD,IAAA47C,qBACyC,QAAtC,EAAA03J,aAAmB,EAAnBA,EAAqB1uI,yBAAiB,eAAE5kE,IACU,QAAlD,EAAAqzM,EAAkB,EAAAh5K,qBAAqBn+B,mBAAW,eAAE8D,KAE1D,CACE,IAAM2zM,GAAe,IAAAD,0BACiC,QAAlD,EAAAL,EAAkB,EAAAh5K,qBAAqBn+B,mBAAW,eAAE8D,IACd,QAAtC,EAAAszM,aAAmB,EAAnBA,EAAqB1uI,yBAAiB,eAAE5kE,KAGxC2zM,IACAN,EAAkB,EAAAh5K,qBAAqBn+B,YAAY8D,IAAM2zM,EAEjE,CAGA,IAAM79H,GAA0D,QAApC,EAAAl2E,aAAK,EAALA,EAAO2vL,qCAA6B,eAAGh2G,KAAW,KAC1EzD,IACAu9H,EAAkB,EAAAh5K,qBAAqBn+B,YAAc45E,GAGzD,IAAM25G,EAA6D,QAArC,EAAA7vL,aAAK,EAALA,EAAO4vL,sCAA8B,eAAGj2G,IAClE,aAAUk2G,KACV4jB,EAAkB,EAAAh5K,qBAAqBirC,oBAAsBmqH,GAGjE95G,EAAmBhqE,KAAK0nM,EA7ExB,CA8EJ,IAEA59H,EAAkB,EAAA9hF,WAAWymC,OAASu7C,EAElC,oBAAqB/1E,IACrB61E,EAAkB,EAAA9hF,WAAWkoC,QAAUj8B,EAAMk8B,iBAAmB,OAG/D,aAAQ25C,IACT/mE,EAAO8B,WAAU,SAACC,GAAe,cAC1BA,GACAglE,EAF0B,IAMTx4E,QAA6B,QAArB,EAAA2C,EAAMgvL,uBAAe,eAAE14L,SAChC0J,EAAMgvL,iBAC7B,EAAAglB,+BAA+Br+K,KAAK,CAChCooC,gBAAiBgY,EACjBi5G,gBAAiBhvL,EAAMgvL,gBACvBY,+BAAgC5vL,EAAM4vL,+BACtCD,8BAA+B3vL,EAAM2vL,+BAGjD,GAEA,CAAC7gL,EAAOK,OAAQL,EAAO8B,aAG3B,IAAA0lB,qBAAoB,EAAAk+D,0BAA2B8+G,EACnD,C,u8CCjJA,kBAEA,cACA,cACA,WACA,WACA,aACA,WACA,cACA,cAIA,cACA,WACA,cAEA,cACA,cACA,WAOA,cACA,cAEA,WAKA,SACA,WACA,WACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,WACA,WAKA,WACA,WACA,cACA,WACA,cACA,WACA,cACA,cACA,aAEA,WAEMt/M,GAAK,UAAWC,KAAK,WAWrBggN,GAAiD9/M,EAAMC,MAAK,SAACC,G,MAE3D86F,EAMA96F,EAAK,KALL+uD,EAKA/uD,EAAK,4BAJL6/M,EAIA7/M,EAAK,wBAHL8/M,EAGA9/M,EAAK,iCAFL+/M,EAEA//M,EAAK,8BADLggN,EACAhgN,EAAK,YAEDqD,GAAc,eAAmB,UAEjCxC,GAAM,IAAAC,kBAAgB,EACxByzB,IAAW,IAAAC,eACXrmB,IAAQ,IAAA6H,cAAY,IAAAiqM,4BAA2B58M,IAC/C68M,IAAc,IAAAlqM,cAAY,IAAAmqM,4BAA2B98M,IACrD+8M,IAAY,IAAApqM,cAAY,IAAAqqM,4BAA2Bh9M,IAEnD,KAAkCvD,EAAMuE,UAAkB,GAAM,GAA/D+/D,GAAa,MAAEC,GAAc,MAI9BoK,GAAc,WAChBpK,IAAe,EACnB,EAEM,MAAuB,IAAAc,kBAAc,MACtC,EAAAttD,cAAcyoM,yBAAyB,IAAAx6I,kBAAgC,CAAC,GACzE,EAAC,EAAAjuD,cAAc0oM,sBAAsB,IAAAl7I,yBACrC,EAAC,EAAAxtD,cAAc2oM,sBAAsB,IAAAj7I,kBAAyC,CAC1EG,UAAW,EAAAC,kBAAkBC,KAC7B3gE,MAAO,EAAAw7M,uBAAuBC,c,IAEpC,GAPKz6M,GAAK,MAAE8/D,GAAW,MASnBtxD,GAAaxO,GAAM,EAAA4R,cAAc0oM,qBACjCv6I,GAAe//D,GAAM,EAAA4R,cAAc2oM,qBACnCtmM,GAAejU,GAAM,EAAA4R,cAAcyoM,wBAGnC,GADOJ,GAAYzrM,KACc,CAAC,EAAhCw3C,GAAG,OAAEzoD,GAAa,iBAEpBs+B,GAAkChiC,EAAMkG,aAAY,WACtD,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,IAAS,IAAA/f,0BAAyBC,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,KAEjFxN,IAAS,IAAAy6C,gCAA+B,CAAEjtC,eAAe,IAJzD,MAFI,KAAArN,YAAW,qDAOnB,GAAG,CAACjgB,GAAYuxD,GAAc9rD,GAAc7W,EAAWkxB,MACvD,aAA4BuN,IAE5BhiC,EAAMoL,WAAU,WACZ,IAAK7H,EAED,OADA,KAAAqxB,YAAW,6DACJ,WAAa,EAExB,IAAMzuB,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAKlD,OAJAzxC,IAAS,IAAA/f,0BAAyBC,GAAYxO,EAAO5C,IAErDkxB,IAAS,IAAAy6C,gCAA+B,CAAEjtC,eAAe,KAElD,WAEP,CACJ,GAAG,CAACttB,GAAYuxD,GAAc9rD,GAAc7W,EAAWkxB,KAEvD,IAAMyN,GAAqBliC,EAAMkG,aAAY,WACzC,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,IAAS,IAAA/f,0BAAyBC,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,KAEjFxN,IAAS,IAAAy6C,gCAA+B,CAAEjtC,eAAe,IAJzD,MAFI,KAAArN,YAAW,wCAOnB,GAAG,CAACxa,GAAc8rD,GAAcvxD,GAAYpR,EAAWkxB,MACvD,IAAA0N,qBAAoB,EAAA0+K,8BAA+B3+K,IAEnD,IAAMiI,GAAuBnqC,EAAMkG,aAAY,WAC3C,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,IAAS,IAAA/f,0BAAyBC,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,IAFjF,MAFI,KAAArN,YAAW,0CAKnB,GAAG,CAACxa,GAAc8rD,GAAcvxD,GAAYpR,EAAWkxB,KAEvDz0B,EAAMoL,WAAU,WACZqpB,IAAS,IAAAmb,sBACTnb,IAAS,IAAAqsL,mBACb,GAAG,CAACrsL,KAEJ,IAAMvB,GAASlzB,EAAM0E,SAAQ,WACzB,OAAQynD,IAAO,IAAI50C,KAAI,SAACnL,GAAwB,OAAAk0M,GAAUl0M,EAAV,IAAyB8iB,OAAO,EAAA4/B,SACpF,GAAG,CAAC3C,GAAKm0J,KAEH9zJ,GAAWxsD,EAAMkG,aACnB,SAACyO,G,MACGsxD,KAAW,MACN,EAAAluD,cAAc0oM,qBAAsB9rM,E,GAE7C,GACA,CAACsxD,KAGCxZ,GAAiBzsD,EAAMkG,aACzB,SAAC,G,IAAEyO,EAAU,aACT63C,GAAS73C,EACb,GACA,CAAC63C,MAGL,IAAArqB,qBAAoB,EAAA4+K,iCAAkCt0J,IAEtD,IAAM+Z,GAAkExmE,EAAM0E,SAC1E,WAAM,OACF,CACIuC,MAAOlG,EAAE,kEACToE,MAAO,EAAAw7M,uBAAuBC,aAElC,CACI35M,MAAOlG,EAAE,gEACToE,MAAO,EAAAw7M,uBAAuBjsF,YAElC,CACIztH,MAAOlG,EAAE,iEACToE,MAAO,EAAAw7M,uBAAuBnwK,aAElC,CACIvpC,MAAOlG,EAAE,2DACToE,MAAO,EAAAw7M,uBAAuB5pM,OAfhC,GAkBN,CAAChW,IAwBC0lE,GAAwB,SAACC,G,MACrBtsD,EAAe,EAAH,GACXssD,GAGPT,KAAW,MACN,EAAAluD,cAAc0oM,qBAAsB,EACrC,EAAC,EAAA1oM,cAAcyoM,wBAAyBpmM,E,IAG5Cu0D,IACJ,EAEMhI,GAAqB,SAACC,G,MAClBC,EAAmB1gE,GAAM,EAAA4R,cAAcyoM,yBAA2B,CAAC,EAEnEpmM,EAAe,EAAH,KACXysD,GACAD,GAGPX,KAAW,MACN,EAAAluD,cAAc0oM,qBAAsB,EACrC,EAAC,EAAA1oM,cAAcyoM,wBAAyBpmM,E,GAEhD,EAyEA,OACI,gCACI,gBAAC,UAAc,KACX,gBAAC,UAAc,KACV2lM,GACG,gBAAC,UAAwB,KACrB,gBAAC,UAAwB,CACrB19M,QAAS09M,EACT9vI,uBAAwB+vI,EACxB9vI,WAAY91D,GAAa,EAAAiwC,qBAAqB8lB,aAC9C/qE,SA1HE,SAACgrE,G,QACrBvJ,EAAmB1gE,GAAM,EAAA4R,cAAcyoM,yBAA2B,CAAC,EAEnEpmM,EAAY,OACXysD,KAAgB,MAClB,EAAAxc,qBAAqB8lB,aAAcC,EAAa,IAGrDnK,KAAW,MACN,EAAAluD,cAAc0oM,qBAAsB,EACrC,EAAC,EAAA1oM,cAAcyoM,wBAAyBpmM,E,GAEhD,EA+G4Bi2D,kBAAmBtvE,EAAE,+DAIjC,gBAAC,UAAoB,CACjBgrC,gBAAc,EACdC,cACI,gCACI,gBAAC,UAAc,CACX7rC,MAAOY,EAAE,gDACTwB,SAAU+hE,GACV3iE,QArQZ,WAChB4iE,IAAe,EACnB,IAqQ4B,gBAAC,UAA0B,CACvBy8I,sBAAuB5mM,GAAa,EAAAiwC,qBAAqBmnI,WACzDyvB,iBAAkB7mM,GAAa,EAAAiwC,qBAAqBpiB,MACpD7iC,SAAU,SAAC,G,MAAE67M,EAAc,iBAAED,EAAmB,sBAC5Cr6I,KAAkB,MACb,EAAAtc,qBAAqBpiB,MAAOg5K,QAAkBz6M,EAC/C,EAAC,EAAA6jD,qBAAqBmnI,WAAYwvB,QAAuBx6M,E,GAEjE,IAEJ,gBAAC,UAAc,CACXw0F,KAAMA,EACN5gF,aAAcA,GACd6gF,qBAAsBt0B,KAE1B,gBAAC,UAAY,CACTlkE,gBAAiB,EAAAqkE,gCAAgCC,KACjD1/D,cAAe6+D,GACf7jE,QAASmkE,GACTphE,SAlKP,SAACmsC,G,MACtB00B,KAAW,MACN,EAAAluD,cAAc0oM,qBAAsB,EACrC,EAAC,EAAA1oM,cAAc2oM,qBAAsBnvK,E,GAE7C,IA+J4B,gBAAC,UAAa,CACV3rC,YAAa7E,EAAE,4DACf2oC,WAAYtvB,GAAa,EAAAiwC,qBAAqB3gB,YAC9CuC,mBAvHX,SAACvC,G,MAClBi9B,KAAkB,MACb,EAAAtc,qBAAqB3gB,YAAaA,QAAcljC,E,GAEzD,KAuHoB8mD,eACI,gBAAC,UAAe,CACZE,WAAS,EACTpzC,aAAcA,GACdD,gBAAiBssD,OAI5Bw5I,GACG,gBAAC,UAAiB,CACdr/M,UAAWf,GAAG,sBACd66C,WAAY35C,EAAE,qDACd0X,QAAS1X,EAAE,sDACX45C,cAAeulK,IAlIZ,WACvB,KAAK,IAAA9zK,2BAA0BlZ,GAAQxvB,IACnC,OAAO,KAGX,GAAIA,cAAa,EAAbA,GAAeO,MACf,OAAO,gBAAC,UAAU,CAACA,MAAOP,cAAa,EAAbA,GAAeO,MAAOooC,QAASlC,KAG7D,GAAI81K,EACA,OACI,gBAAC,UAAY,CACTp/M,aAAa,uBACb4rC,SAAU,EAAAC,sBAAsBn6B,QAChCpS,MAAOY,EAAE,0EACTuuB,YAAavuB,EAAE,gFACf6rC,cAAY,EACZq6B,YAAalmE,EAAE,2EACfmmE,YAAa,EAAAn4D,gBAAgBC,UAC7Bm4D,cAAe+4I,GAAe,YAKpC,OAAuD,IAAA5zK,cACzD,CAAClyB,GAAa,EAAAiwC,qBAAqB8lB,cACnC,EAAC,aAAK/1D,GAAc,CAAC,EAAAiwC,qBAAqB8lB,gBAFtC5jC,EAAsB,yBAAEC,EAAwB,2BAIxD,OAAI9oC,cAAa,EAAbA,GAAeU,KAAMooC,EAEjB,gBAAC,UAAY,CACTC,SAAU,EAAAC,sBAAsBC,SAChCxsC,MAAOY,EAAE,+DACTuuB,YAAavuB,EAAE,qEACf6rC,cAAY,EACZq6B,YAAalmE,EAAE,gEACfmmE,YAAa,EAAAn4D,gBAAgBC,UAC7Bm4D,cAAe,WAAM,OAAAV,GAAsB,CAAC,EAAvB,EACrB5lE,aAAa,uCAKrB6C,cAAa,EAAbA,GAAeU,KAAMmoC,EAEjB,gBAAC,UAAY,CACTE,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,oFACTuuB,YAAY,GACZzuB,aAAa,kCACb+rC,cAAc,IAMtB,gBAAC,UAAY,CACTH,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,2DACTF,aAAa,QACb+rC,cAAc,GAG1B,CAsEiBE,GACD,gBAAC,UAAoB,CACjB5Z,OAAQA,GACRC,0BAA2B87B,EAC3B//C,UAAWxL,cAAa,EAAbA,GAAeK,YAItC,gBAAC,UAAY,KACT,gBAAC,UAAU,CAAC0H,QAASkJ,GAAY7R,MAAOuL,cAAK,EAALA,GAAO2/C,UAAWxB,SAAUA,MAExE,gBAAC,UAAO,CAAC34B,OAAQywC,GAAe5jE,QAASiuE,KACpC,SAACjuE,GAAY,OACV,gBAAC,UAAqB,CAClBA,QAASA,EACT0Z,aAAcA,GACdD,gBAAiBssD,IAJX,IAU9B,IAEA,UAAeq5I,E,+BC3af,WAAgB,SAAW,yCAAyC,OAAS,uCAAuC,SAAW,yC,q7BCD/H,kBAEA,aACA,cACA,cACA,cACA,aAEMjgN,EAAK,UAAWC,KAAK,WAUrBohN,EAA2BlhN,EAAMC,MAAK,SAACC,GACjC,IAAAC,EAA4ED,EAAK,MAA1EI,EAAqEJ,EAAK,eAA1D86C,EAAqD96C,EAAK,iBAAxCO,EAAmCP,EAAK,UAA7BU,EAAwBV,EAAK,UAAlB4O,EAAa5O,EAAK,SAEzF,OACI,uBAAKU,WAAW,aAAGf,EAAG,QAASe,IAC3B,uBAAKA,UAAWf,EAAG,WACf,uBAAKe,UAAWf,EAAG,cACf,uBAAKe,UAAWf,EAAG,UAAWM,GAC7B66C,GACG,gBAAC,UAAO,CACJp6C,UAAWf,EAAG,WACdoB,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YAAay5C,IAEZ,SAACnnB,GAAW,uBAAC,UAAkB,CAACA,OAAQA,GAA5B,IAGpBvzB,GAEL,uBAAKM,UAAWf,EAAG,eAAgBY,IAEvC,uBAAKG,UAAWf,EAAG,YAAaiP,GAG5C,IAEA,UAAeoyM,C,6JC7Cf,eAEA,cACA,cACA,cACA,cAOA,WAAe,IAAAv9F,iBAAgB,CAC3Bh3D,MAAO,UACPpK,MAAO,UACPijE,eAAgB,UAChBn5B,mBAAoB,W,o4BChBxB,kBACA,WAKa,EAAA2xC,sBAAwB,SAACiH,GAKlC,OAJkBjlI,EAAM0E,SAAQ,WAC5B,OAAO,IAAAsgI,mBAAkBC,EAC7B,GAAG,CAACA,GAGR,C,q2BCZA,kBACA,UAWMk8E,EAAsCnhN,EAAMC,MAAK,SAACC,GAGpD,OAFA,IAAAopE,uBAAsBppE,EAAMqpE,oBAErB,IACX,IAEA,UAAe43I,C,0iBCbF,EAAA3qJ,+BAAiC,0DACjC,EAAAG,qCAAuC,gEACvC,EAAAE,uCAAyC,kEACzC,EAAAE,qCAAuC,gEACvC,EAAAE,gCAAkC,2DAClC,EAAAE,sCAAwC,iEACxC,EAAAE,sCAAwC,iEACxC,EAAAE,wCACT,mEACS,EAAAC,mCAAqC,8DACrC,EAAAE,yCACT,oEACS,EAAAE,yCACT,oEACS,EAAAE,2CACT,qE,iKCpBJ,IASYhsC,EATZ,WAEa,EAAA+hJ,4BAAyB,MACjC,EAAAtlJ,gBAAgBC,SAAU,CAAC,EAAA4oH,UAAU73F,KAAM,EAAA63F,UAAUE,cACtD,EAAC,EAAA/oH,gBAAgB6C,SAAU,CAAC,EAAAgmH,UAAU73F,KAAM,EAAA63F,UAAUE,cACtD,EAAC,EAAA/oH,gBAAgBpb,QAAS,CAAC,EAAAikI,UAAUE,aAAc,EAAAF,UAAUG,kBAAmB,EAAAH,UAAUI,Y,GAI9F,SAAY1lH,GACR,oBACA,oBACA,iBACH,CAJD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAMlB,EAAAm+K,uBAAyBrmJ,OAAO5oC,OAAO8Q,E,+BCdpD,WAAgB,cAAc,0CAA0C,+BAA+B,2DAA2D,oBAAoB,gDAAgD,qBAAqB,iDAAiD,+BAA+B,2DAA2D,0BAA0B,sDAAsD,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,srCCDzjB,IAgBYs1L,EAhBZ,cAEA,cAEA,UACA,aAGA,cACA,WACA,WACA,cACA,WACA,WACA,eAEA,SAAYA,GACR,mBACH,CAFD,CAAYA,IAAkB,qBAAlBA,EAAkB,KAI9B,IAAMvhN,EAAK,UAAWC,KAAK,WAuBrBuhN,EAAuC,UAAMphN,MAAK,SAACC,GAEjD,IAAAiF,EAUAjF,EAAK,MATL0F,EASA1F,EAAK,YARL8c,EAQA9c,EAAK,SAPLqF,EAOArF,EAAK,WANLmF,EAMAnF,EAAK,WALLoF,EAKApF,EAAK,SAJLwF,EAIAxF,EAAK,WAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLyF,EACAzF,EAAK,gBAEHioK,GAAa,IAAAjyJ,aAAY,EAAA4xJ,kBACzBw5C,EAAiB19J,OAAO5oC,OAAOmtJ,GAAc,CAAC,GAC9CxuH,GAAe,IAAAzjC,aAAY,EAAA2xJ,yBAE3BpzI,GAAW,IAAAC,eACjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAqsL,mBACb,GAAG,CAACrsL,IAEJ,IAAMsiL,EAAgB,UAAMryM,SACxB,WACI,OAAA48M,EAAe/pM,KAAI,SAAC0M,GAChB,MAAO,CACH9e,MAAO8e,EAAM7X,GACbqgC,SAAU,KACVxlC,OAAO,IAAAs6M,uBAAsBt9L,GAErC,GANA,GAOJ,CAACq9L,IAyBL,OACI,wBAAC,UAAa,CACVj6M,cAAelC,EACfS,YAAaA,EACbvD,QAAS00M,EACT3xM,SAfa,SAACD,GAClB6X,EAAS7X,EACb,EAcQI,WAAYA,GAAco0C,EAAa51C,QACvCiD,aA7Ba,SAACN,GAClB,OAAKA,EAKD,+BAAK9F,UAAWf,EAAG,UAAWgT,IAAKnM,EAAOO,OACrCP,EAAOO,OALL,IAQf,EAoBQS,eAVe,SAAChB,GAA4B,OAAAA,EAAOvB,KAAP,EAW5C1C,gBAAiB,EAAAC,4BAA4BiF,WAC7CtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTE,gBAAiBA,EACjBiX,eAAgB,SAACC,GAAa,+BAAC,UAAS,KAAK,EAAA46L,eAAe16L,gBAAgBF,IAA9C,EAC9BtV,gBAAiB,WACb,OAAAoyC,EAAa51C,QAAU,wBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAA0B,IAA/F,EAEJG,QA1BY,WAChBoV,EAAS,KACb,GA2BJ,IAEA,UAAeqkM,C,+BC5Hf,WAAgB,OAAS,6BAA6B,sBAAsB,0CAA0C,qBAAqB,yCAAyC,yBAAyB,6CAA6C,wBAAwB,4CAA4C,KAAO,2BAA2B,eAAe,mCAAmC,gBAAgB,oCAAoC,iBAAiB,qCAAqC,KAAO,2BAA2B,yBAAyB,6CAA6C,iBAAiB,qCAAqC,OAAS,6BAA6B,2BAA2B,+CAA+C,yBAAyB,6CAA6C,wBAAwB,4CAA4C,MAAQ,4BAA4B,OAAS,6BAA6B,SAAW,+B,+BCAz+B,WAAgB,cAAc,kCAAkC,wBAAwB,4CAA4C,wBAAwB,4CAA4C,wBAAwB,4CAA4C,6BAA6B,iDAAiD,OAAS,6BAA6B,SAAW,+B,q7BCD3Y,kBACA,cACA,cACA,WACA,cACA,cAEA,cAEA,cACA,cACA,cACA,cACA,cACA,aACA,cAEMxhN,EAAK,UAAWC,KAAK,WAWrB0hN,EAAqCxhN,EAAMC,MAAK,SAACC,GAC3C,IAAA+pK,EACJ/pK,EAAK,aADaU,EAClBV,EAAK,UADwBuhN,EAC7BvhN,EAAK,uBADgDwhN,EACrDxhN,EAAK,mBADoEqoE,EACzEroE,EAAK,mBADwFgP,EAC7FhP,EAAK,UAEDa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAwD,CAC1D,CACIC,aAAc,WAAM,mCAAOtyB,EAAE,uCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,qBACrC0zB,OAAQ,SAACipG,GAAqB,uBAAC,UAAM,CAACpwH,GAAIowH,aAAgB,EAAhBA,EAAkB3uH,QAA9B,EAC9BjN,UAAWf,EAAG,gBAAiB,qBAC/BgB,aAAc,MAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,4CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACipG,GAAqB,uBAAC,UAAU,CAACA,iBAAkBA,GAA9B,EAC9B57H,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,6CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACipG,GAAqB,uBAAC,UAAW,CAACA,iBAAkBA,GAA/B,EAC9B57H,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,WAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,4CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACipG,GAAqB,OAC1B,gBAAC,UAAU,CAACA,iBAAkBA,EAAkBC,qBAAsBilF,GAD5C,EAG9B9gN,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,WAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,yCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACipG,GACL,OAAO,gBAAC,UAAQ,CAACp2G,KAAMo2G,EAAiBmlF,cAC5C,EACA/gN,UAAWf,EAAG,iBACdgB,aAAc,QAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,4CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACipG,GAAqB,OAC1B,gBAAC,UAAW,CAACA,iBAAkBA,EAAkBtrE,qBAAsBqX,GAD7C,EAG9B3nE,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,WAElB,CACIwyB,aAAc,WAAM,aACpBC,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACipG,GAAqB,OAC1B,gBAAC,UAAoB,CACjB3oG,SAAU2oG,EAAiB1oG,YAC3BC,YAAahzB,EAAE,0CAHO,EAM9BH,UAAWf,EAAG,gBAAiB,+BAC/BgB,aAAc,gBAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACipG,GAAqB,OAC1B,gBAAC,UAAqB,CAAChoH,eAAa,EAAC8U,OAAQkzG,EAAiBl6B,kBADpC,EAG9B1hG,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,WAIhBmzB,EAAkB,SAACnoB,EAAyB2wH,GACzCA,EAAiBpwH,IAItBq1M,EAAuB51M,EAAO2wH,EAAiBpwH,GACnD,EAGM6nB,EAAa,SAAClY,EAAqBygH,GACrC,MAAO,CAAC,CACZ,EAEA,OACI,uBAAK57H,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAoBw0B,UAAU,gBAAgBnlB,UAAWA,EAAW4W,KAAMmkJ,IACnF,SAACnkJ,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACFzzB,aAAa,gBACbD,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNmO,WAAYA,EACZM,YAAaP,EACb9kB,UAAWA,EACXolB,eAAgBA,GATG,IAe3C,IAEA,UAAektL,C,sBC3If,IAAY5hN,E,qEAAZ,SAAYA,GACR,yBACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,I,+BCCtB,WAAgB,OAAS,qCAAqC,SAAW,uC,uLCE5D,EAAAgiN,yBAA2B,SAACh+M,GACrC,OAAAA,EAAMq0J,cAAc5rE,mBAAmB1hC,IAAvC,EAES,EAAAk3J,qCAAuC,SAACj+M,GACjD,OAAAA,EAAMq0J,cAAc5rE,mBAAmBtf,aAAvC,EAES,EAAA+0I,qCAAuC,SAACl+M,GACjD,OAAAA,EAAMq0J,cAAc5rE,mBAAmB1yC,YAAvC,C,+BCTJ,WAAgB,qBAAqB,4CAA4C,qBAAqB,4CAA4C,QAAU,iCAAiC,OAAS,gCAAgC,SAAW,kC,0pCCDjP,kBACA,UACA,WACA,cACA,WACA,cAGA,WACA,cACA,WAqBMooK,EAA8C,CAAC,EAAA/wK,kBAAkBE,MAAO,EAAAF,kBAAkBC,OAE1F+wK,EAAkD,UAAM/hN,MAAK,SAACC,GACxD,IAAA8a,EAAsG9a,EAAK,OAAnG0F,EAA8F1F,EAAK,YAAtF8c,EAAiF9c,EAAK,SAA5EmF,EAAuEnF,EAAK,WAAhEoF,EAA2DpF,EAAK,SAAtDwF,EAAiDxF,EAAK,WAA1CsF,EAAqCtF,EAAK,OAAlCuF,EAA6BvF,EAAK,QAAzByF,EAAoBzF,EAAK,gBAE3Ga,GAAM,IAAAC,kBAAgB,EAExBqB,EAA0C,UAAMqC,SAClD,WACI,OAAAq9M,EAAuBxqM,KAAI,SAACpS,GAAU,OAClC8B,MAAOlG,EAAE,EAAAkhN,wBAAwB98M,IACjCA,MAAK,EAF6B,GAAtC,GAIJ,CAACpE,IA6DL,OACI,wBAAC,UAAqB,CAClBwyF,eAAgBv4E,EAChBpV,YAAaA,EACbvD,QAASA,EACT+C,SAAU4X,EACVhW,aAhEa,SAACN,GAClB,OAAKA,EAIE,+BAAKmM,IAAKnM,EAAOO,OAAQP,EAAOO,OAH5B,IAIf,EA2DQ3E,cAzDc,SAClBpC,EACAmC,EACAuD,GAEA,KAAKvD,aAAO,EAAPA,EAASF,QACV,OACI,wBAAC,UAAyB,KAClBjC,EAAK,CACTy9K,oBAAoB,EACpB/gK,eAAgB,SAACC,GACb,OAAO,wBAAC,UAAY,KAAK,EAAA2pH,kBAAkBzpH,gBAAgBF,IAC/D,IAECjX,GAAe,IAK5B,GAAuB,IAAnBvD,EAAQF,OAAc,CACtB,IAAMsxF,EAAcpxF,aAAO,EAAPA,EAAU,GAE9B,OACI,wBAAC,UAAyB,KAClBnC,EAAK,CACT0c,eAAgB,SAACC,GACb,OAAO,wBAAC,UAAY,KAAK,EAAA2pH,kBAAkBzpH,gBAAgBF,IAC/D,IAEC42E,aAAW,EAAXA,EAAaxsF,MAG1B,CAEA,OACI,wBAAC,UAAyB,KAClB/G,EAAK,CACT0c,eAAgB,SAACC,GACb,OAAO,wBAAC,UAAY,KAAK,EAAA2pH,kBAAkBzpH,gBAAgBF,IAC/D,IAEA,wBAAC,UAA+B,CAAC/Z,MAAOT,aAAO,EAAPA,EAASF,SAG7D,EAcQuF,eAAgB,SAAChB,GACb,OAAOA,EAAOvB,KAClB,EACA1C,gBAAiB,EAAAC,4BAA4BiF,WAC7CtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTmC,QAASjC,EArBG,WAChBqX,EAAS,GACb,OAmBiDxW,GAGrD,IAEA,UAAew7M,C,+BC9Hf,WAAgB,OAAS,sCAAsC,aAAe,4CAA4C,OAAS,sCAAsC,SAAW,wC,q7BCDpL,kBACA,cACA,cACA,cAMMniN,EAAK,UAAWC,KAAK,WAErBoiN,EAAqCliN,EAAMC,MAAK,SAACC,GAC3C,IAAA4Y,EAAS5Y,EAAK,KAEtB,OACI,uBAAKU,UAAWf,EAAG,SACf,gBAAC,UAAY,CAACiZ,KAAMA,IAGhC,IAEA,UAAeopM,C,q7BCrBf,kBACA,cACA,cACA,WACA,cACA,cACA,cAEA,cACA,cACA,cAEA,cACA,WACA,WACA,aACA,cAEMriN,EAAK,UAAWC,KAAK,WAUrBqiN,EAAkCniN,EAAMC,MAAK,SAACC,GACxC,IAAA0uD,EAAyE1uD,EAAK,SAApEU,EAA+DV,EAAK,UAAzDwhN,EAAoDxhN,EAAK,mBAArCgP,EAAgChP,EAAK,UAA1BkiN,EAAqBliN,EAAK,iBAE9Ea,GAAM,IAAAC,kBAAgB,EAExBqhN,EAAe,WAErB,EAEMjvL,EAA+C,CACjD,CACIC,aAAc,WAAM,mCAAOtyB,EAAE,+BAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAACs7B,GAAsB,uBAAC,UAAQ,CAACA,QAASA,GAAnB,EAC/BjuD,UAAWf,EAAG,gBAAiB,wBAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,mCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACs7B,GAAsB,uBAAC,UAAY,CAACA,QAASA,GAAvB,EAC/BjuD,UAAWf,EAAG,gBAAiB,uBAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,kCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACs7B,GAAsB,uBAAC,UAAW,CAACA,QAASA,GAAtB,EAC/BjuD,UAAWf,EAAG,gBAAiB,2BAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,gCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,wBACrC0zB,OAAQ,SAACs7B,GAAsB,uBAAC,UAAS,CAACA,QAASA,GAApB,EAC/BjuD,UAAWf,EAAG,gBAAiB,yBAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,+BAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAACs7B,GAAsB,uBAAC,UAAQ,CAACA,QAASA,GAAnB,EAC/BjuD,UAAWf,EAAG,gBAAiB,wBAEnC,CACIwzB,aAAc,WAAM,aACpBC,gBAAiBzzB,EAAG,gBAAiB,2BACrC0zB,OAAQ,SAACs7B,GAAsB,uBAAC,UAAY,CAACA,QAASA,GAAvB,EAC/BjuD,UAAWf,EACP,gBACAuiN,EAAmB,0BAA4B,iCAGvDA,EACM,CACI/uL,aAAc,WAAM,aAEpBE,OAAQ,SAACs7B,GAAsB,OAC3B,gCACI,gBAAC,UAAY,CAACksD,SAAUsnG,EAAcD,iBAAkBA,IAFjC,EAK/BxhN,UAAWf,EAAG,gBAAiB,4BAEnC,MACRqvB,OAAO,EAAA4/B,UAEH96B,EAAkB,SAACnoB,EAAyBgjD,GAC9C6yJ,EAAmB71M,EAAOgjD,EAAQv+B,YAAY,GAAuBu+B,EAAQziD,GACjF,EAEM6nB,EAAa,SAAClY,EAAqB8yC,G,MAC/ByzJ,GAAgB,IAAAC,kBAAiB1zJ,GACvC,OAAO,EAAP,IACK,EAAA36B,iBAAiBC,qBAAqB,EACvC,EAAC,EAAAD,iBAAiBE,mBAAmB,EACrC,EAAC,EAAAF,iBAAiBslH,oBAAqB8oE,EACvC,EAAC,EAAApuL,iBAAiBpM,aAAa,EAC/B,EAAC,EAAAoM,iBAAiBonB,gBAAiBgnK,E,CAE3C,EAEA,OACI,uBAAK1hN,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAWw0B,UAAU,WAAWnlB,UAAWA,EAAW4W,KAAM8oC,IACrE,SAAC9oC,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACF1zB,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNmO,WAAYA,EACZM,YAAaP,EACb9kB,UAAWA,EACXolB,eAAgBA,GARG,IAc3C,IAEA,UAAe6tL,C,+BC5Hf,WAAgB,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,q7BCDnH,kBACA,WAEA,cACA,aACA,WACA,WACA,cAGA,cACA,WACA,WACA,aAEMtiN,EAAK,UAAWC,KAAK,WAQrB0iN,EAA6BxiN,EAAMC,MAAK,WAC1C,IAAM2oD,GAAY,IAAA1yC,aAAY,EAAAyyC,iBAExBxiD,GAAQ,eAIRgsC,GAFkB,IAAAj8B,aAAY,EAAA+7B,uBACZ9rC,EAAM,EAAA4R,cAAcM,4BACa,KAAO,KAE1DgR,GAAM,IAAAnT,aAAY,EAAA+5B,WAElB8qB,GAAY,IAAAr2D,UAAQ,WACtB,OAAI2kB,EACOA,EAAIiqB,OAAO/7B,KAAI,SAACi8B,EAAOh8B,G,QAC1B,MAAO,CACH+9B,UAAwB,QAAb,EAAA/B,EAAM5M,eAAO,eAAE2O,UAC1BD,SAAuB,QAAb,EAAA9B,EAAM5M,eAAO,eAAE0O,SACzBnyC,KAAMqwC,EAAMrwC,KACZqU,MAAK,EAEb,IAGG,IACX,GAAG,CAAC6R,IAEEna,IAAa05C,aAAS,EAATA,EAAWzmD,UAAWknB,EAEzC,OACI,uBAAKzoB,UAAWf,EAAG,QACf,gBAAC,UAAuB,CAACqP,UAAWA,EAAWokC,OAAQynB,EAAW10B,MAAOuiB,GACrE,gBAAC,UAAiB,CACd15C,UAAWA,EACX8+E,WAAW77C,aAAa,EAAbA,EAAe4iJ,YAAa5iJ,EAAc4iJ,WAAa,EAAA9mG,aAAUznF,EAC5E0lK,cAAe/5H,aAAa,EAAbA,EAAes8C,iBAKlD,IAEA,UAAe+zH,C,q7BChEf,kBACA,WACA,cACA,cACA,aACA,WAEM3iN,EAAK,UAAWC,KAAK,WAErBu/H,EAAe,SAAC,G,IAClBz+H,EAAS,YACTqG,EAAK,QACLg8F,EAAa,gBAMb,OACI,wBACIriG,WAAW,aACPf,EAAG,gBAAiB,CAChB,8BAA+BoH,IAEnCrG,IAGHqG,GAASg8F,GAAiB,IAGvC,EASMw/G,GAAqC,IAAAxiN,OAAK,SAACC,GACrC,IAAAwiN,EAAwDxiN,EAAK,WAAjDyiN,EAA4CziN,EAAK,kBAA9B+G,EAAyB/G,EAAK,MAAvB+iG,EAAkB/iG,EAAK,cAErE,OAAIwiN,EAEI,gBAAC,EAAAlyM,MAAK,CACFD,QACIoyM,EACM,0EACA,kEAEVlyM,WAAY,CACRkd,aAAc,gBAAC0xG,EAAY,CAACp4H,MAAOA,EAAOg8F,cAAeA,OAMlE,4BAAOh8F,GAASg8F,GAAiB,KAC5C,IAEA,UAAew/G,C,q7BC5Df,kBACA,cACA,cAMM5iN,EAAK,UAAWC,KAAK,WAErB8iN,EAAyC5iN,EAAMC,MAAK,SAACC,GAC/C,IAAAqC,EAAuBrC,EAAK,SAAlB4O,EAAa5O,EAAK,SAEpC,OAAO,wBAAMU,UAAW2B,EAAW1C,EAAG,WAAa,IAAKiP,EAC5D,IAEA,UAAe8zM,C,y3BChBf,kBACA,WAMMC,EAAoC,SAAC3iN,GAC/B,IAAA0W,EAAgB1W,EAAK,YAE7B,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAMkK,EACNnF,EAAE,iUAKtB,EAEAoxM,EAAgB7wM,YAAc,kBAE9B,IAAMC,EAAqB,CACvB2E,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAe4wM,C,+BC7Bf,WAAgB,iBAAiB,uCAAuC,SAAW,iCAAiC,OAAS,+BAA+B,SAAW,iC,+BCAvK,WAAgB,OAAS,qCAAqC,OAAS,qCAAqC,SAAW,uC,q7BCDvH,kBACA,cACA,aACA,cACA,WAEA,cACA,cACA,cACA,cACA,cAGA,cACA,cACA,aACA,cACA,WACA,aACA,aAEA,UACA,WAEMhjN,EAAK,UAAWC,KAAK,WA4BrBgjN,EAA8E,CAChFC,UAAW,yDACXC,mBAAoB,kEACpBC,0BAA2B,yEAC3BC,eAAgB,8DAChBC,WAAY,0DACZC,qBAAsB,oEACtBC,iBAAkB,iEAGhBC,EAAgCtjN,EAAMC,MAAK,SAACC,G,MAE1CuyH,EAkBAvyH,EAAK,QAjBLqjN,EAiBArjN,EAAK,SAhBLsjN,EAgBAtjN,EAAK,SAfLujN,EAeAvjN,EAAK,iBAdL4sB,EAcA5sB,EAAK,KAbLqG,EAaArG,EAAK,SAZL6F,EAYA7F,EAAK,OAXL60C,EAWA70C,EAAK,kBAVLi1J,EAUAj1J,EAAK,oBATLwjN,EASAxjN,EAAK,WARL66G,EAQA76G,EAAK,SAPLyjN,EAOAzjN,EAAK,wBANL80F,EAMA90F,EAAK,WALL2+F,EAKA3+F,EAAK,cAJLg4I,EAIAh4I,EAAK,YAHLyB,EAGAzB,EAAK,QAFLU,EAEAV,EAAK,UADL0jN,EACA1jN,EAAK,eAEDa,GAAM,IAAAC,kBAAgB,EAExB6sL,EAAgB7tL,EAAM0E,SAAQ,WAChC,OAAKooB,GAGE,aAAOA,GAAMjT,OAAO,qBAFhB,IAGf,GAAG,CAACiT,IAEE87C,EAAwB5oE,EAAMkG,aAAY,WACvCH,IAIiB,WAAlB84F,GAA8B9pD,GAIL,YAAlB8pD,GAA+B9pD,GAIb,YAAlB8pD,GAA+B9pD,EAPtCA,EAAkB,CACdhvC,OAAM,IAUe,WAAlB84F,GAA8Bs2D,GACrCA,EAAoB,CAChBzkC,SAAU3qH,EAGVxC,UAAW,EAAA0jI,6BAGvB,GAAG,CAAClhI,EAAQ84F,EAAe9pD,EAAmBogH,IAExCktD,EAAeriN,EAAMkG,aACvB,SAAC2F,GACGA,EAAMW,kBACFuuG,GAAY0X,GACZ1X,EAASlvG,EAAO4mH,EAExB,GACA,CAAC1X,EAAU0X,IAGTxN,EAAiBjlH,EAAMkG,aACzB,SAAC2F,GACGA,EAAMW,kBACFwoF,GAAcy9B,GACdz9B,EAAWnpF,EAAO4mH,EAE1B,GACA,CAACz9B,EAAYy9B,IAGXoxF,EAAc7jN,EAAMkG,aACtB,SAAC2F,GACOlK,GAAW8wH,GACX9wH,EAAQkK,EAAO4mH,EAEvB,GACA,CAAC9wH,EAAS8wH,IAGRqxF,GACDF,IACmB,WAAlB/kH,GAA8B9pD,GACT,YAAlB8pD,GAA+B9pD,GACb,YAAlB8pD,GAA+B9pD,GACb,WAAlB8pD,GAA8Bs2D,GAevC,OACI,uBAAKv0J,WAAW,aAAGf,EAAG,QAASe,IAC3B,uBAAKA,WAAW,aAAGf,EAAG,cAAY,KAAI,EAACA,EAAG,2BAA4B8B,EAAO,IAAKA,QAASkiN,IAd5E,IAAAlrD,gBAAe8qD,GAEvB,gBAAC,EAAA31H,iBAAgB,CAACltF,UAAWf,EAAG,oBAGvC0jN,EACO,gBAAC,UAAW,CAACQ,IAAKR,EAAUS,IAAKR,GAAY,KAAM5iN,UAAWf,EAAG,oBAGrE,KAOC,gBAAC,UAAe,CAACg/F,cAAeA,EAAej+F,UAAWf,EAAG,uBAC7D,uBAAKe,UAAWf,EAAG,cACb6jN,GAAc1uH,GACZ,gBAAC,UAAO,CACJ/zF,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE,+BAIV,WAAM,OACH,gBAAC,UAAkB,CACfY,QAASsjH,EACTjjH,gBAAiB,EAAAC,oBAAoBC,MACrCN,SAAU,gBAAC,UAAa,CAACC,UAAW,EAAAC,qBAAqBC,WACzDlB,aAAa,iBACb8yG,OAAO,KACPnxG,WAAS,GAPV,KAYbkhN,GAAc3oG,GACZ,gBAAC,UAAO,CACJ95G,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OAE9CP,EADL4iN,EACOb,EAA+Ba,GAC/B,6BAIf,WAAM,OACH,gBAAC,UAAkB,CACfhiN,QAAS0gN,EACTrgN,gBAAiB,EAAAC,oBAAoBC,MACrCN,SAAU,gBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqBC,WACrDlB,aAAa,eACb8yG,OAAO,KACPnxG,WAAS,EACT+C,WAAY2D,QAAQy6M,IARrB,MAcjBD,GAAcxrE,IACZ,uBAAKt3I,UAAWf,EAAG,oBAAqB,kCACpC,gBAAC,UAAuB,CAACe,UAAWf,EAAG,UAAWgC,UAAW,EAAAC,qBAAqBI,UAI9F,uBAAKtB,UAAWf,EAAG,YACf,uBAAKe,UAAWf,EAAG,sBAAuBM,MAAOsjN,QAAoBj9M,GAChEi9M,IAEJ,aAAS51B,IAAkB,uBAAKjtL,UAAWf,EAAG,kBAAmBguL,GACjEi2B,IAAkB,aAASv9M,IACxB,gCACKR,GAAUgvC,EACP,gBAAC,UAAI,CACDpzC,QAASinE,EACTxnE,MAAO,EAAA8mB,cAAcC,cACrB7R,KAAM,EAAA8uG,aAAa6+F,cACnBrjN,UAAWf,EAAG,uBAEb0G,GAGL,wBAAM3F,UAAWf,EAAG,uBAAwB0G,KAOxE,IAEA,UAAe+8M,C,q7BC/Pf,kBAEA,WACA,cACA,cACA,WACA,cAEA,cAiBM90M,EAAgB,mCAEhB01M,EAAuD,UAAMjkN,MAAK,SAACC,GAC7D,IAAAyM,EAAsDzM,EAAK,KAArDyO,EAAgDzO,EAAK,SAA3CQ,EAAsCR,EAAK,QAAlCwD,EAA6BxD,EAAK,cAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBzJ,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,OAC9B7M,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,mDAAoD,CACzD8M,OAAQlB,EAAKw3M,aAEjB1rM,QAAS1X,EAAE,0DAlChB,IAuCf,IAEA,UAAemjN,C,q7BC1Ef,kBACA,cACA,cAEMrkN,EAAK,UAAWC,KAAK,WAkB3B,UAXsD,SAACI,GAC3C,IAAA+G,EAAgB/G,EAAK,MAAdmM,EAASnM,EAAK,KAE7B,OACI,uBAAKU,UAAWf,EAAG,WACdwM,GAAQ,uBAAKzL,UAAWf,EAAG,iBAAkBwM,GAC9C,uBAAKzL,UAAWf,EAAG,kBAAmBoH,GAGlD,C,0pCCpBA,kBACA,WACA,WAQA,UAOA,WACA,WAMA,WACA,WACA,WACA,UAKA,WACA,aACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,aACA,cACA,cACA,cACA,cACA,cACA,UACA,cAIA,cACA,UACA,cACA,cACA,cAGA,cACA,aACA,cACA,cACA,cACA,cACA,cAEMpH,EAAK,UAAWC,KAAK,WAkBrB6uF,EAAwB,IAAI3/D,IAAY,CAC1C,EAAA0/D,eAAeE,aACf,EAAAF,eAAeG,iBACf,EAAAH,eAAeI,eACf,EAAAJ,eAAevhF,SAGbgiF,EAAqDnvF,EAAMC,MAAK,SAACC,G,gBAE/DU,EAaAV,EAAK,UAZLimC,EAYAjmC,EAAK,gBAXLg7L,EAWAh7L,EAAK,eAVLilF,EAUAjlF,EAAK,SATLsnC,EASAtnC,EAAK,QARLukF,EAQAvkF,EAAK,cAPL+G,EAOA/G,EAAK,MANLklF,GAMAllF,EAAK,uBALLkkN,GAKAlkN,EAAK,0BAJLkvF,GAIAlvF,EAAK,yBAHLmvF,GAGAnvF,EAAK,qBAFLmkN,GAEAnkN,EAAK,wBADLokN,GACApkN,EAAK,0BAEDa,IAAM,IAAAC,kBAAgB,EAExBujN,IAAoD,QAA3B,EAAArpB,aAAc,EAAdA,EAAgBxqH,mBAAW,eAAGvqC,KAAoB,KAE3Eq+K,GAAyCxkN,EAAM6yB,WAAW,EAAA8qC,wCAE1DhjD,IAAS,IAAAgY,oBAET8xL,GAAkB,UAAG,EAAA7kN,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBk/C,QACjFp/C,GAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,GAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YACrFu8M,GACF,UAAG,EAAA9kN,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBirC,oBAC7DozI,IAA6B,IAAAl+K,mBAAkB9rB,GAAOK,OAAQ0pM,IAC9Dl1H,IAAqB,IAAA/oD,mBAAkB9rB,GAAOK,OAAQwrB,IACtDg/C,IAAS,IAAA/+C,mBAAkB9rB,GAAOK,OAAQypM,IAE1C90H,IAAsB,IAAAz5E,aAAY,EAAA4pC,2BAElCsH,IAAkB,IAAAlxC,aAAY,EAAAipC,uBAC9BywC,IAAkB,IAAA15E,aAAY,EAAAspC,uBAE9BqwC,GAAqBzoC,GAAkB,EAAAvH,UACvCiwC,GAAqBF,GAAkB,EAAA/vC,UAEvCkwC,IAAgB,IAAArrF,UAClB,WAAM,OACFsrF,YAAa,EAAAC,2BAA2Bz9E,OACxCnG,KAAM,gBAAC,UAAa,KAAK,EAAA6jF,mBAAmBC,mBAF1C,GAIN,IAGEC,IAAmB,IAAA1rF,UACrB,WAAM,OACFsrF,YAAa,EAAAC,2BAA2Bz9E,OACxCnG,KAAM,gBAAC,UAAU,KAAK,EAAAgkF,gBAAgBF,mBAFpC,GAIN,IAGEG,IAAc,IAAA5rF,UAChB,WAAM,OACFsrF,YAAa,EAAAC,2BAA2Bz9E,OACxCnG,KAAM,gBAAC,UAAa,KAAK,EAAAkkF,mBAAmBJ,mBAF1C,GAIN,IAGEK,IAAwB,IAAA9rF,UAC1B,WAAM,OACF0H,GAAI,EAAAsiF,eAAeG,iBACnB5nF,MAAOlG,GAAE,wCACTK,MAAO,EAAA6uF,2BAA2Bz9E,OAHhC,GAKN,CAACzR,KAGC0vF,IAAsB,IAAA/rF,UACxB,WAAM,OACF0H,GAAI,EAAAsiF,eAAegC,eACnBtvF,MAAO,KAFL,GAIN,IAGEwjN,IAAgC,IAAAlgN,UAClC,WAAM,OACF0H,GAAI,EAAAsiF,eAAevhF,OACnB/L,MAAO,EAAA6uF,2BAA2Bz9E,OAClCvL,MAAOlG,GAAE,gDAHP,GAKN,CAACA,KAGC4vF,IAAoB,IAAAjsF,UACtB,WAAM,OACF0H,GAAI,EAAAsiF,eAAeE,aACnB3nF,MAAOlG,GAAE,oCACTK,MAAO,EAAA6uF,2BAA2Bz9E,OAHhC,GAKN,CAACzR,KAGC+vF,IAAqB,IAAApsF,UACvB,WAAM,OACF0H,GAAI,EAAAsiF,eAAeqC,cACnB3vF,MAAO,KAFL,GAIN,IAGE4vF,IAAsB,IAAAtsF,UACxB,WAAM,OACF0H,GAAI,EAAAsiF,eAAeI,eACnB7nF,MAAOlG,GAAE,qCACTK,MAAO,EAAA6uF,2BAA2Bz9E,OAHhC,GAKN,CAACzR,KAGC8jN,IAA+B,IAAAngN,UACjC,WAAM,OACF0H,GAAI,EAAAsiF,eAAevhF,OACnB/L,MAAO,EAAA6uF,2BAA2Bz9E,OAClCvL,MAAOlG,GAAE,gDAHP,GAKN,CAACA,KAGCkwF,GAAqBjxF,EAAMkG,aAAY,SAACgrF,GAC1C,IAAMC,EAAyBD,aAAa,EAAbA,EAAehiE,QAAO,SAACkiE,GAClD,OAAOA,GAASzC,EAAsBx/D,IAAIiiE,EAAMhlF,GACpD,IAEA,OAAK+kF,aAAsB,EAAtBA,EAAwBhvF,QAItB,gBAAC,UAAkB,CAAC+uF,cAAeC,IAH/B,IAIf,GAAG,IAEGrqF,GAAW9G,EAAM0E,SAAmC,W,sBAChDotF,EAAwC,IAApB3rD,EAE1B,IAAK+0J,IAAmB1rG,GACpB,OAAO,EAAAT,oCAGX,IAAM3oC,EAAWopC,GAAmBtnF,MAE9B6pF,GACsC,QAAxC,EAAAwyH,cAAsB,EAAtBA,GAAwBjzH,wBAAgB,eAAEppF,SAAkD,QAAzC,EAAAq8M,cAAsB,EAAtBA,GAAwBhzH,yBAAiB,eAAErpF,OAClG,IAAK6pF,EACD,OAAO,EAAAhD,oCAGX,IAAMiD,GACuC,QAAzC,EAAAuyH,cAAsB,EAAtBA,GAAwB/yH,yBAAiB,eAAEvlF,OAAgD,QAAzC,EAAAs4M,cAAsB,EAAtBA,GAAwBhzH,yBAAiB,eAAEtlF,MAAO,KAElG+iF,GAAkB,IAAA9oC,4BACpB,CACIh+C,MAAO6pF,EACP9lF,IAAK+lF,GAET5rC,GAGEkrC,GAAmB,IAAApqC,+CACrB,IAAAhB,6BAA2Bq+J,cAAsB,EAAtBA,GAAwBjzH,mBAAoB,KAAMlrC,IAG3EmrC,GAAoB,IAAArqC,+CACtB,IAAAhB,6BAA2Bq+J,cAAsB,EAAtBA,GAAwBhzH,oBAAqB,KAAMnrC,IAG5EorC,GAAoB,IAAAtqC,+CACtB,IAAAhB,6BAA2Bq+J,cAAsB,EAAtBA,GAAwB/yH,oBAAqB,KAAMprC,IAG5E0+J,GAA8B,IAAA59J,+CAChC,IAAAhB,6BAA2Bq+J,cAAsB,EAAtBA,GAAwBO,8BAA+B,KAAM1+J,IAGtF6rC,EAAmC,GAErCT,GACAS,EAAMr6E,KAAK,EAAD,KACH04E,IAAW,CACdnrF,MAAOqsF,EAAkB,MAIjC,IAAMtC,EAA0C,CAC5CoC,EACM,EAAD,KACSQ,EAAoBnB,GAAoBH,IAAsB,CAClEx1E,OAAQs2E,EACRW,MAAO,C,OAEKH,EAAoB1B,GAAmBL,IAAc,CACzD5qF,MAAOmsF,EAAiB,QAIpC,KACNC,EACM,EAAD,KACSO,EAAoBhB,GAAqBL,IAAoB,CACjEz1E,OAAQu2E,IAEZ,KACNC,EACM,EAAD,KACQR,IAAmB,CACtBh2E,OAAQw2E,EACRU,UAAU,EACVD,MAAO,C,OAEI3B,IAAW,CACdnrF,MAAOqsF,EAAkB,QAIrC,MACRtiE,OAAO,EAAA4/B,UAEHi2J,EAAgD,CAClDD,EACM,EAAD,CACK9pM,OAAQ8pM,GACJhzH,EAAoB+yH,GAA+BD,IAE3D,MACR11L,OAAO,EAAA4/B,UAEHk2J,EACkB,IAApB7+K,GAAyBk+K,GAC4B,QAA/C,EAAwC,QAAxC,EAAAE,cAAsB,EAAtBA,GAAwBjzH,wBAAgB,eAAEppF,aAAK,QAA6C,QAAzC,EAAAq8M,cAAsB,EAAtBA,GAAwBhzH,yBAAiB,eAAErpF,MACrD,QAAzC,EAAAq8M,cAAsB,EAAtBA,GAAwBhzH,yBAAiB,eAAErpF,MAC/C+8M,GAAoE,QAAzC,EAAAV,cAAsB,EAAtBA,GAAwBhzH,yBAAiB,eAAEtlF,MAAO,KAE7Ei5M,EAAwBF,GACxB,IAAA9+J,4BACI,CACIh+C,MAAO88M,EACP/4M,IAAKg5M,GAET7+J,GAEJ,KAUN,MAR4C,CACxC4oC,iBAAiB,IAAA9nC,8CAA6C8nC,IAAoB,EAAAC,cAClFi2H,uBAAuB,IAAAh+J,8CAA6Cg+J,IAA0B,EAAAj2H,cAC9F81H,uBAAsB,EACtB71H,iBAAgB,EAChB+C,MAAK,EAIb,GAAG,CACCsyH,GACAvzH,GACAV,GACAP,GACAK,GACA8qG,EACA1rG,GACArpD,EACAqqD,GACAC,GACAm0H,GACAj0H,GACAG,GACA+zH,GACAR,KAGEjyH,IAAqB,IAAA1tF,UAAQ,WAC/B,OAAO,IAAAwiD,8CAA6CsoC,GACxD,GAAG,CAACA,KA0BE21H,GAAiD,QAAlC,EAAe,QAAf,EAAA39K,aAAO,EAAPA,EAAS8L,cAAM,eAAGnN,UAAgB,eAAEi/K,SAEnD/tL,GAAer3B,EAAM0E,SAAQ,WAC/B,OAAK8qF,IAIE,cAAO,IAAA6C,mBAAkB7C,GAAmBtnF,QAAQwa,SAHhD,IAIf,GAAG,CAAC8sE,KAEEtlC,GAAiBvvC,GAAOK,OAAO,EAAApb,WAAWkoC,QAC1Cu9K,IAAe,IAAAp7J,iBAAgBC,IAE/BooC,IAAyB,IAAA5tF,UAAQ,W,UACnC,OAAIigN,IAC0D,QAAnD,EAAAJ,cAAsB,EAAtBA,GAAwBO,mCAA2B,eAAE58M,QAAS,MAG1B,QAAxC,EAAAq8M,cAAsB,EAAtBA,GAAwBjzH,wBAAgB,eAAEppF,SAAkD,QAAzC,EAAAq8M,cAAsB,EAAtBA,GAAwBhzH,yBAAiB,eAAErpF,MACzG,GAAG,CAACy8M,GAA4BJ,KAE1BluL,IAAU,IAAA4lJ,eAAcopC,cAAY,EAAZA,GAAc5iM,UAAW6vE,IACjDn8D,KACDouL,cAAsB,EAAtBA,GAAwB/yH,mBACsB,QAAzC,EAAA+yH,cAAsB,EAAtBA,GAAwB/yH,yBAAiB,eAAEvlF,IACF,QAAzC,EAAAs4M,cAAsB,EAAtBA,GAAwBhzH,yBAAiB,eAAEtlF,WAAQzF,EAoCvD8+M,KAAsD,QAA/B,EAAAx+M,GAASi+M,8BAAsB,eAAE5iN,QAE9D,OACI,gCACI,uBAAKvB,WAAW,aAAGf,EAAG,eAAgBe,IAClC,gBAAC,UAAyB,CACtBkY,KAAMstB,GACNn/B,MAAOA,EACPurF,oBAAqB3yF,EAAG,QAAS,mBACjC6mC,SACI,gCACI,gBAAC,UAA6B,CAC1B9lC,UAAWf,EAAG,gBAAiB,CAC3B,+BAAgCuvF,KAEpC7+E,QAASo0M,GAA6B,sCAAwC,KAC9ElyH,eAAa,EACbtqF,WAAYiqF,KAEhB,gBAAC,UAA0B,CACvBxxF,UAAWf,EAAG,gBAAiB,CAC3B,+BAAgCuvF,KAEpCjnF,WAAYiqF,MAIxB7/E,QAAS4yM,GAAepkN,GAAE,qDAAuD,KACjF4xF,eACI,uBAAK/xF,UAAWf,EAAG,eACf,gBAAC,UAAmB,CAChB0F,WAAY6pF,GACZp0E,OAAQ2pM,GAA6B,KAAOvyH,GAC5CjsD,gBAAiBA,EACjB4sD,QAAQjsF,cAAQ,EAARA,GAAUooF,mBAAoB,GACtC6tG,eAAgB7B,EAChBv5L,QA/GC,SAACuG,G,MAC1B,GAAKA,EAAL,CAIA,IAAM0qF,GAAgB,IAAAzrC,yBAAwBj/C,EAAOk/C,IAErDzsC,GAAOsB,cAAcuqB,GAAqBosD,GAE1CwxH,GAA0B5+H,KAAM,MAC3B,EAAAl/C,qBAAqBn+B,YAAayqF,E,GAPvC,CASJ,IAqGyBv7D,IACG,gBAAC,UAAc,CACXz1B,SACI,gBAAC,UAAe,CACZ0U,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,YAG1CpR,WAAY6pF,GACZ/4D,QAASA,SAAW7vB,EACpB2vB,QAASA,GACThxB,MAAOkyB,GACPra,SApFP,SAAC8P,G,QACtB,GAAKA,EAAL,CAKA,IAAI8lE,GAAgB,IAAArrC,6BAA4Bz6B,EAAM0iE,IAElDoD,GAAiB2xH,IAA0BI,KAC3C/xH,GAAgB,IAAA1sC,4BACZq+J,GAAuBhzH,kBACjB,CACIrpF,MAAOq8M,GAAuBhzH,kBAAkBrpF,MAChD+D,KAC4C,QAAxC,EAAAs4M,GAAuB/yH,yBAAiB,eAAEvlF,MAC1Cs4M,GAAuBhzH,kBAAkBtlF,KAEjD,KACN2mF,EAAc1qF,SAIF,aAAQ0qF,EAAepD,MAK3C70E,GAAOsB,cAAcuqB,GAAqBosD,GAE1CwxH,GAA0B5+H,KAAM,MAC3B,EAAAl/C,qBAAqBn+B,YAAayqF,E,IA1BvC,MAFIj4E,GAAOsB,cAAcuqB,GAAqB,KA8BlD,EAqDgC/jC,gBAAiB,EAAA2a,8BAA8Bza,iBAM9D,SAACzC,EAAO6yB,GAAiB,OACtB,uBAAKnyB,UAAWf,EAAG,QAAO,eAAgB2lF,IACtC,gBAAC,UAAU,CACP5kF,UAAWf,EAAG,eACd0lN,aAAW,EACXzsM,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,GAAE,kEACf6b,eAAgB,SAAC,G,IAAE+a,EAAQ,WAAEryB,EAAQ,WAAED,EAAU,aAAEE,EAAU,aAAO,OAChE,gBAAC,UAAkB,CACf4gC,gBAAiBA,EACjBxO,SAAUA,EACVryB,SAAUA,EACVD,WAAYA,EACZE,WAAYA,EACZigN,oCAAkC,GAP0B,EAUpExoM,SAAU,SAAC7X,G,MACPjF,EAAM8c,SAAS7X,GAEfigF,GAAuBjgF,EAAOghC,GAE9Bi+K,GAA0B5+H,KAAM,MAC3B,EAAAl/C,qBAAqBC,UAAWphC,E,IAGvB,OAAVA,GACAm/M,IAER,EACAh/M,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBI,QAAS,WACLvF,EAAMuF,WAEF++M,cAAsC,EAAtCA,GAAwCzmJ,4BACxCymJ,GAAuCzmJ,0BACnC53B,EAGZ,EACA3gC,OAAQ,WACJtF,EAAMsF,UAEFg/M,cAAsC,EAAtCA,GAAwCzmJ,4BACxCymJ,GAAuCzmJ,0BAA0B,KAEzE,EACAl9D,aAAc,sCAA+BslC,GAC7C+wC,mBAAoBnkD,EAAa5tB,MACjC+J,UAAWmgF,GACXo2H,eACIjB,cAAsC,EAAtCA,GAAwC1mJ,0BACpC33B,IACJq+K,cAAsC,EAAtCA,GAAwCpmJ,2BAE5CsnJ,kBAAmB7lN,EAAG,WAAY,CAC9B,+BAAgC4kF,MAGvCA,GACG,gBAAC,UAAqB,CAClB9iF,QAAS,WACLwjF,EAASh/C,EACb,IAjEU,IAuE9B,gBAAC,UAAgB,CACbvlC,UAAWA,EACXwwF,MAAO,EAAAnC,cACP1pF,WAAY6pF,GACZhhC,SAAUu2J,GACV31H,gBACI21H,GAA6B79M,cAAQ,EAARA,GAAUo+M,sBAAwBp+M,cAAQ,EAARA,GAAUkoF,gBAE7E+D,QACK4xH,GAA6B79M,cAAQ,EAARA,GAAUi+M,uBAAyBj+M,cAAQ,EAARA,GAAUooF,mBAC3E,GAEJ+C,MAAO0yH,GAA6B,GAAK79M,cAAQ,EAARA,GAAUmrF,MACnDj3E,OAAQo3E,GACRY,KAAMrD,GACNsD,cAAe0xH,QAA6Bn+M,EAAYqpF,GACxDqD,cAAeyxH,QAA6Bn+M,EAAYspF,GACxDmB,mBAAoBA,GACpBj0E,SAAU2nM,GAA6B,UAvOxB,SAACx/M,G,MACtBytF,GAAgB,IAAAlrC,mCAAkCviD,EAAOqqF,IAE/D70E,GAAOsB,cAAcuqB,GAAqBosD,GAE1CwxH,GAA0B5+H,KAAM,MAC3B,EAAAl/C,qBAAqBn+B,YAAayqF,E,GAE3C,IAiOY,gBAAC,UAAyB,CACtB95E,KAAM4rM,GACNjgK,cAAY,IAEX,SAACvkD,EAAO6yB,GAAiB,OACtB,gBAAC,UAAQ,CACLxtB,WAAY+/M,IAAuBl2H,KAA6BI,GAChE1J,QAAS/yD,EAAa5tB,MACtB/D,MAAO,EAAAukN,kBAAkB12M,OACzBhI,MAAOlG,GAAE,4DACTu3C,UACI,gBAAC,UAAO,CACJr3C,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,GAAE,sEAIV,SAAC8yB,GAAW,uBAAC,UAAkB,CAACA,OAAQA,GAA5B,IAGrB4mL,SAAU,W,MACAhsC,GAAY17I,EAAa5tB,MAE/BjF,EAAM8c,SAASyxJ,GAEf21C,GAA0B5+H,KAAM,MAC3B,EAAAl/C,qBAAqBirC,oBAAqBk9F,E,GAEnD,GA3BkB,KAkC9C,IAEA,UAAet/E,C,sBCroBf,IAAYvvF,E,qEAAZ,SAAYA,GACR,wBACA,sBACA,gBACA,gBACA,sBACA,2BACH,CAPD,CAAYA,IAAU,aAAVA,EAAU,I,q7BCAtB,kBAEA,cACA,aAEA,cAGA,WAMMC,EAAK,UAAWC,KAAK,WAErB8lN,EAA6B5lN,EAAMC,MAAK,SAACC,GACnC,IAAA2uD,EAAY3uD,EAAK,QAEnBoiN,GAAgB,IAAAC,kBAAiB1zJ,GAEvC,OACI,uBAAKjuD,UAAWf,EAAG,UACbyiN,GACE,uBAAK1hN,UAAWf,EAAG,iBACf,gBAAC,UAAiB,CAAC8T,eAAa,EAACvS,MAAO,EAAAiR,2BAA2BtQ,YAG3E,2BACI,uBAAKnB,UAAWf,EAAG,SAAUgvD,EAAQ/1C,MACrC,uBAAKlY,UAAWf,EAAG,OAAQgvD,EAAQhhD,SAInD,IAEA,UAAe+3M,C,+BCnCf,WAAgB,OAAS,qCAAqC,SAAW,uC,6JCDzE,IAGMC,EAHN,YAG+B,QAAMviN,cAA0C,MAE/E,UAAeuiN,C,8RCCF,EAAAppJ,mBAAqB,iCACrB,EAAAE,yBAA2B,uCAC3B,EAAAK,yBAA2B,uCAC3B,EAAAH,2BAA6B,yCAE7B,EAAAM,mBAAqB,iCACrB,EAAAE,yBAA2B,uCAC3B,EAAAK,yBAA2B,uCAC3B,EAAAF,2BAA6B,wC,6JCd1C,kBACA,cAEA,cACA,WACA,aACA,cACA,cACA,WACA,WACA,cACA,WACA,WACA,cAEA,UAEM39D,EAAK,UAAWC,KAAK,WA6F3B,UAvF0C,SAACI,GAC/B,IAAAwxB,EAAaxxB,EAAK,SAElBa,GAAM,IAAAC,kBAAgB,EAExB,GAAuE,IAAAkV,cACzE,IAAAuxL,gCAA+B/1K,aAAQ,EAARA,EAAUtlB,KAD/Bo4D,EAAe,OAI7B,OAJwE,eAIxCzgE,UAAW,aAAQygE,GACxC,wBAAC,UAAa,CAAC65D,YAAU,KAGhC,aAAQ75D,GACD,KAIP,gDACI,wBAAC,UAAa,CACVv9D,MAAOlG,EAAE,4DACToE,OAAO,IAAAmkF,YAAW,aAAc53D,aAAQ,EAARA,EAAU9X,WAC1ChU,YAAa7E,EAAE,mCACfsL,KACI,wBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,cAI9C,wBAAC,UAAO,CAAC/V,UAAWf,EAAG,aACvB,wBAAC,UAAa,CACVoH,MAAOlG,EAAE,sDACToE,MAAOq/D,aAAe,EAAfA,EAAiB1rD,KACxBlT,YAAa7E,EAAE,qCAEnB,wBAAC,UAAa,CACVkG,MAAOlG,EAAE,wDACToE,MAAOq/D,aAAe,EAAfA,EAAiB32D,OACxBjI,YAAa7E,EAAE,qCAEnB,wBAAC,UAAa,CACVkG,MAAOlG,EAAE,iEACToE,OAAOq/D,aAAe,EAAfA,EAAiBthD,eAAgBniB,EAAE,EAAA4yD,qBAAqB6Q,EAAgBthD,gBAAkB,KACjGtd,YAAa7E,EAAE,qCAEnB,wBAAC,UAAa,CACVkG,MAAOlG,EAAE,4DACToE,MAAOq/D,aAAe,EAAfA,EAAiB+1C,YACxB30G,YAAa7E,EAAE,mCACfkjG,SAAU,EAAAlrF,aAAamrF,mBAE3B,wBAAC,UAAa,CACVj9F,MAAOlG,EAAE,2DACToE,MAAOq/D,aAAe,EAAfA,EAAiBg2C,WACxB50G,YAAa7E,EAAE,mCACfkjG,SAAU,EAAAlrF,aAAamrF,mBAE3B,wBAAC,UAAa,CACVj9F,MAAOlG,EAAE,0DACToE,MAAOq/D,aAAe,EAAfA,EAAiBi2C,UACxB70G,YAAa7E,EAAE,mCACfkjG,SAAU,EAAAlrF,aAAamrF,mBAE3B,wBAAC,UAAa,CACVj9F,MAAOlG,EAAE,wEACToE,MAAOq/D,aAAe,EAAfA,EAAiBo2C,gBACxBh1G,YAAa7E,EAAE,mCACfkjG,SAAU,EAAAlrF,aAAaC,yBAE3B,wBAAC,UAAa,CACV/R,MAAOlG,EAAE,sEACToE,MAAOq/D,aAAe,EAAfA,EAAiBk2C,cACxB90G,YAAa7E,EAAE,mCACfkjG,SAAU,EAAAlrF,aAAaC,yBAE3B,wBAAC,UAAa,CACV/R,MAAOlG,EAAE,uEACToE,MAAOq/D,aAAe,EAAfA,EAAiBm2C,eACxB/0G,YAAa7E,EAAE,mCACfkjG,SAAU,EAAAlrF,aAAaC,yBAIvC,C,y0CCzFa,EAAA8sI,oBAAsB,0DACtB,EAAAD,sBAAwB,4DAExB,EAAAE,6BAA+B,mEAC/B,EAAA+/D,mCACT,yEACS,EAAAC,mCACT,yEACS,EAAAC,qCACT,2EAES,EAAAhgE,iCAAmC,uEACnC,EAAAigE,uCACT,6EACS,EAAAC,uCACT,6EACS,EAAAC,yCACT,+EAES,EAAAlgE,iCAAmC,uEACnC,EAAAmgE,uCACT,6EACS,EAAAC,uCACT,6EACS,EAAAC,yCACT,+EAES,EAAAC,qBAAuB,2DAEvB,EAAAlgE,wBAA0B,8DAC1B,EAAAD,qBAAuB,2DACvB,EAAAy+B,2BAA6B,iEAC7B,EAAAG,2BAA6B,iEAC7B,EAAAD,6BAA+B,mEAE/B,EAAA5+B,sBAAwB,4DACxB,EAAAD,mBAAqB,yDACrB,EAAA++B,yBAA2B,+DAC3B,EAAAG,yBAA2B,+DAC3B,EAAAD,2BAA6B,iEAE7B,EAAA7+B,0BAA4B,gEAC5B,EAAAkgE,gCAAkC,sEAClC,EAAAC,gCAAkC,sEAClC,EAAAC,kCACT,wEAES,EAAAngE,mBAAqB,yDACrB,EAAAk/B,yBAA2B,+DAC3B,EAAAE,yBAA2B,+DAC3B,EAAAD,2BAA6B,iEAE7B,EAAAl/B,qBAAuB,2DACvB,EAAAmgE,2BAA6B,iEAC7B,EAAAC,2BAA6B,iEAC7B,EAAAC,6BAA+B,mEAC/B,EAAAC,mBAAqB,yDACrB,EAAAC,qBAAuB,2DAEvB,EAAAC,kCACT,wEACS,EAAAC,+BAAiC,qEAEjC,EAAAxgE,KAAO,2CACP,EAAAruG,MAAQ,2C,+BClFrB,WAAgB,OAAS,8CAA8C,SAAW,gD,yECDlF,cACA,WAmCA,UA9BiC,SAAC5+B,GAC9B,MAAO,CACHksG,0BAA2BlsG,EAAW,EAAA5Z,WAAW6lH,qBACjDG,uBAAwBpsG,EAAW,EAAA5Z,WAAW+lH,qBAC9CG,uBAAwBtsG,EAAW,EAAA5Z,WAAWimH,qBAC9CG,yBAA0BxsG,EAAW,EAAA5Z,WAAWmmH,uBAChDG,0BAA2B1sG,EAAW,EAAA5Z,WAAWqmH,oBACjDG,yBAA0B5sG,EAAW,EAAA5Z,WAAWumH,mBAChDG,mBAAoB9sG,EAAW,EAAA5Z,WAAWymH,kBAC1CG,iBAAkBhtG,EAAW,EAAA5Z,WAAW2mH,iBACxCG,oCAAqCltG,EAAW,EAAA5Z,WAAW6mH,iCAC3DG,2BAA4BptG,EAAW,EAAA5Z,WAAW+mH,yBAClDG,wBAAyBttG,EAAW,EAAA5Z,WAAWinH,sBAC/CG,gCAAiCxtG,EAAW,EAAA5Z,WAAWmnH,6BACvDG,6BAA8B1tG,EAAW,EAAA5Z,WAAWqnH,2BACpDG,2BAA4B5tG,EAAW,EAAA5Z,WAAWunH,yBAClDG,iBAAkB9tG,EAAW,EAAA5Z,WAAWynH,iBACxCG,kBAAmBhuG,EAAW,EAAA5Z,WAAW2nH,kBACzCG,mBAAoBluG,EAAW,EAAA5Z,WAAW6nH,mBAC1CG,mBAAoBpuG,EAAW,EAAA5Z,WAAW+nH,kBAC1CG,kBAAmBtuG,EAAW,EAAA5Z,WAAWioH,iBACzCO,mBAAoB5uG,EAAW,EAAA5Z,WAAWuoH,6BACpC,EAAAF,wBAAwBC,KACxB,EAAAD,wBAAwB6F,MAC9B9F,yBAA0BxuG,EAAW,EAAA5Z,WAAWmoH,2BAC1C,EAAAE,wBAAwBC,KACxB,EAAAD,wBAAwB6F,MAEtC,C,s4BCjCA,eACA,cA0Ba,EAAAo5F,6BAAuD,CAChEC,aAAc,KACdC,gBAAiB,KACjBC,eAAgB,UAAc1jN,QAE9B2jN,aAAc,KACdC,gBAAiB,KACjBC,eAAgB,UAAc7jN,QAE9B+5E,0BAA0B,EAE1BF,oBAAqB,UAAc75E,SAG1B,EAAA8jN,uBAAwB,IAAAj7I,aAAY,CAC7C1zD,KAAM,mBACNrV,aAAc,EAAAyjN,6BACdz6I,SAAU,CACNi7I,sBAAuB,SAEnB9jN,EAEAC,GAGJ,EACA8jN,gBAAiB,SAAC/jN,EAAOC,GACrBD,EAAMujN,aAAetjN,EAAOklB,QAAQ5iB,KACxC,EACAyhN,wBAAyB,SAAChkN,GACtBA,EAAMyjN,eAAiB,UAActjN,OACzC,EACA8jN,0BAA2B,SACvBjkN,EACAC,GAEAD,EAAMwjN,gBAAkBvjN,EAAOklB,QAAQzb,SACvC1J,EAAMyjN,eAAiB,UAAcjjN,EACzC,EACA0jN,wBAAyB,SAAClkN,EAAOC,GAC7BD,EAAMyjN,eAAiB,UAAcnjN,SAASL,EAAOklB,QAAQ9kB,MACjE,EACA8jN,aAAc,SAACnkN,GACXA,EAAMyjN,eAAiB,UAAc1jN,QACrCC,EAAMwjN,gBAAkB,IAC5B,EACAY,oBAAqB,SAACpkN,GAClBA,EAAM4jN,eAAiB,UAAc7jN,QACrCC,EAAM2jN,gBAAkB,IAC5B,EACAU,yBAA0B,SAACrkN,GACvBA,EAAM0jN,aAAe,EAAAJ,6BAA6BI,YACtD,EACAY,gBAAiB,SAACtkN,EAAOC,GACrBD,EAAM0jN,aAAezjN,EAAOklB,QAAQ5iB,KACxC,EACAgiN,2BAA4B,SAACvkN,GACzBA,EAAM4jN,eAAiB,UAAczjN,OACzC,EACAqkN,6BAA8B,SAC1BxkN,EACAC,GAEAD,EAAM2jN,gBAAkB1jN,EAAOklB,QAAQzb,SACvC1J,EAAM4jN,eAAiB,UAAcpjN,EACzC,EACAikN,2BAA4B,SAACzkN,EAAOC,GAChCD,EAAM4jN,eAAiB,UAActjN,SAASL,EAAOklB,QAAQ9kB,MACjE,EACAu5E,oBAAqB,SAEjB55E,EAEAC,GAMJ,EACAykN,yBAA0B,SAAC1kN,GACvBA,EAAM45E,oBAAsB,UAAcz5E,OAC9C,EACAwkN,2BAA4B,SACxB3kN,EAEAC,GAEAD,EAAM45E,oBAAsB,UAAcp5E,EAC9C,EACAo6E,yBAA0B,SAAC56E,EAAOC,GAC9BD,EAAM45E,oBAAsB,UAAct5E,SAASL,EAAOklB,QAAQ9kB,MACtE,EAEAukN,4BAA6B,SAAC5kN,EAAOC,GACjCD,EAAM85E,yBAA2B75E,EAAOklB,OAC5C,EAEA0/L,sBAAuB,WACnB,OAAO,EAAP,GAAY,EAAAvB,6BAChB,GAEJx6I,cAAe,SAACC,GACZA,EAAQC,QAAQ,uBAAuB,WACnC,OAAO,EAAP,GAAY,EAAAs6I,6BAChB,GACJ,IA+CA,EAAAQ,uBADS,EAmBT,EAAAD,sBAAsB54M,SAAO,sBAjB7B,EAAA84M,gBAAe,kBACf,EAAAC,wBAAuB,0BACvB,EAAAC,0BAAyB,4BACzB,EAAAC,wBAAuB,0BACvB,EAAAC,aAAY,eACZ,EAAAC,oBAAmB,sBACnB,EAAAC,yBAAwB,2BACxB,EAAAC,gBAAe,kBACf,EAAAC,2BAA0B,6BAC1B,EAAAC,6BAA4B,+BAC5B,EAAAC,2BAA0B,6BAC1B,EAAA7qI,oBAAmB,sBACnB,EAAA8qI,yBAAwB,2BACxB,EAAAC,2BAA0B,6BAC1B,EAAA/pI,yBAAwB,2BACxB,EAAAgqI,4BAA2B,8BAC3B,EAAAC,sBAAqB,wBAGzB,UAAe,EAAAhB,sBAAsB56I,O,q7BCzMrC,kBAEA,cACA,cACA,cACA,WAOMhtE,EAAK,UAAWC,KAAK,WAErB4oN,EAAkC1oN,EAAMC,MAAK,SAACC,GACxC,IAAAoW,EAAwBpW,EAAK,KAAvByL,EAAkBzL,EAAK,cAErC,OACI,uBAAKU,UAAWf,EAAG,kBAAiB,qBAAqB,WACpD8L,EAAgB,KAAO,uBAAK/K,UAAWf,EAAG,aAC3C,uBAAKe,UAAWf,EAAG,UACf,gBAAC,UAAuB,CAACgC,UAAW,EAAAC,qBAAqB+W,KAAMvC,KAAMA,KAIrF,IAEA,UAAeoyM,C,iHC3Bf,eACA,WAwCS,EAAAvkB,+BArC8B,SAACwkB,GACpC,OAAO,IAAAjkN,UAAQ,WACX,IAAKikN,EACD,MAAO,CACHC,qBAAsB,KACtBC,oBAAqB,MAI7B,IAAMzkB,EAAiBukB,aAAoB,EAApBA,EAAsB3vK,MAAK,SAACt4B,GAC/C,OAAOA,aAAQ,EAARA,EAAUgT,MACrB,IAEM2wK,EAAsBskB,aAAoB,EAApBA,EAAsB3vK,MAAK,SAACt4B,GACpD,OAAOA,aAAQ,EAARA,EAAUiT,WACrB,IAEMm1L,EAA6B,IAAI95L,IAAkB,CACrD,EAAAnO,aAAaW,uBACb,EAAAX,aAAaS,aACb,EAAAT,aAAaU,cAGXwnM,EAAmBJ,aAAoB,EAApBA,EAAsBz5L,QAAO,SAACxO,GACnD,OAAOooM,EAA2B35L,IAAIzO,EAASvd,KACnD,IAEMylN,EAAuBG,EAAiB,IAAM,KAC9CF,EAAsBE,EAAiBA,EAAiB5mN,OAAS,IAAM,KAE7E,MAAO,CACHiiM,eAAgBA,GAAkBwkB,EAClCvkB,oBAAqBA,GAAuBwkB,EAEpD,GAAG,CAACF,GACR,C,qSCvCA,eAoBa,EAAAK,gBAAkB,SAC3B7iN,EACA9D,GACgC,OAChCc,KAAM,EAAA+pL,yBACN/mL,MAAK,EACL9D,QAAO,EAHyB,EAMvB,EAAA4mN,qBAAuB,SAChC9iN,EACA9D,GACqC,OACrCc,KAAM,EAAAgqL,+BACNhnL,MAAK,EACL9D,QAAO,EAH8B,EAM5B,EAAA6mN,yBAA2B,SAAC/iN,GAAyE,OAC9GhD,KAAM,EAAAiqL,oCACNjnL,MAAK,EAFyG,EAKrG,EAAAgjN,2BAA6B,SACtChjN,EACAujI,GAC2C,OAC3CvmI,KAAM,EAAAmqL,sCACNnnL,MAAK,EACLujI,UAAS,EAHkC,EAMlC,EAAA0/E,yBAA2B,SACpCjjN,EACAlC,GACyC,OACzCd,KAAM,EAAAkqL,oCACNppL,MAAK,EACLkC,MAAK,EAHoC,EAMhC,EAAAkjN,2BAA6B,SAACljN,GAA2E,OAClHhD,KAAM,EAAAoqL,sCACNpnL,MAAK,EAF6G,EAKzG,EAAAmjN,6BAA+B,SACxCnjN,EACAujI,GAC6C,OAC7CvmI,KAAM,EAAAsqL,wCACNtnL,MAAK,EACLujI,UAAS,EAHoC,EAMpC,EAAA6/E,2BAA6B,SACtCpjN,EACAlC,GAC2C,OAC3Cd,KAAM,EAAAqqL,sCACNvpL,MAAK,EACLkC,MAAK,EAHsC,C,q7BC9E/C,kBAEA,aAEA,cACA,cAEMtG,EAAK,UAAWC,KAAK,WAQrB0pN,EAAuCxpN,EAAMC,MAAK,SAACC,GAC7C,IAAAC,EAAgCD,EAAK,MAA9BO,EAAyBP,EAAK,UAAnBU,EAAcV,EAAK,UAE7C,OACI,uBAAKU,WAAW,aAAGf,EAAG,OAAQe,IAC1B,uBACIA,UAAWf,EAAG,cAAe,CACzB,sBAAsB,KAG1B,wBAAMe,UAAWf,EAAG,UAAWM,IAElCM,GACG,uBACIG,UAAWf,EAAG,cAAe,CACzB,2BAA2B,KAG9BY,GAKrB,IAEA,UAAe+oN,C,+qBCxCf,kBACA,aACA,cAEA,cACA,aAEA,cAEA,YACA,WACA,WACA,cACA,WACA,WAEM3pN,EAAK,UAAWC,KAAK,WA0O3B,UAlMsC,SAACI,GAE/B,IAAAiF,EAgBAjF,EAAK,MAfL4Y,EAeA5Y,EAAK,KAdLwF,EAcAxF,EAAK,WAbL+jG,EAaA/jG,EAAK,SAZL8yF,EAYA9yF,EAAK,KAXL0F,EAWA1F,EAAK,YAVL8c,EAUA9c,EAAK,SATLsF,EASAtF,EAAK,OARLuF,EAQAvF,EAAK,QAPL0c,EAOA1c,EAAK,eANLqF,EAMArF,EAAK,WALLoF,EAKApF,EAAK,SAJLmF,EAIAnF,EAAK,WAHL64B,EAGA74B,EAAK,KAFLU,EAEAV,EAAK,UADL62B,EACA72B,EAAK,eAEH,IAA0B,UAAMqE,UAAkB,GAAM,GAAvDqzB,EAAS,KAAEogL,EAAU,KAKtB,IAA0B,UAAMzzM,UAAkB,GAAM,GAAvDi2I,EAAS,KAAE6oC,EAAU,KAmCtB1+H,GAAWx/C,EACXskN,EAvEc,SAAC9kK,EAAkB/sB,GACvC,OAAIA,EACO,EAAA91B,qBAAqB6U,UAGzB,EAAA7U,qBAAqB+W,IAChC,CAiE0B6wM,CAAgB/kK,EAAS/sB,GAEzCuiE,EAAYnH,GAAQ,EA6BpB22H,EAA0D,CAC5D3sM,SAxEiB,SAACnR,GAClBmR,EAASnR,EAAM+9M,cAAczkN,MACjC,EAuEIK,OA1De,WACXD,IAIJyyM,GAAW,GAEPxyM,GACAA,IAER,EAiDIC,QA/CgB,WACZF,IAIJyyM,GAAW,GAEPvyM,GACAA,IAER,EAsCIqT,KAAI,EACJ3V,KAAM41B,EAAO,OAAS,SACtBi6D,KAAM,MACN7tF,MAAOA,GAAS,GAChBvE,UAAWf,EAAG,cAAe,CACzB,uBAAwB8kD,EACxB,0BAA2Bp/C,IAE/BK,YAAW,EACXsvF,SAAU3vF,GAGRskN,GAAsB72H,EAC5B,OACI,+BAAKpyF,WAAW,aAAGf,EAAG,QAASe,IAC3B,+BAAKA,UAAWf,EAAG,YACf,+BACIe,UAAWf,EAAG,aAAc,CACxB,gCAAiCgqN,KAGrC,+BACIjpN,UAAWf,EACP,QACA,CACI,oBAAqBwF,EACrB,mBAAoBK,EACpB,kBAAmBJ,EACnB,iBAAkBq/C,EAClB,mBAAoB/nC,EACpB,mBAAoBgb,EACpB,mBAAoB4iH,EACpB,oBAAqBj1I,GAEzBwxB,GAEJw3F,YA1GI,WACfisB,GACD6oC,GAAW,EAEnB,EAuGoBv3K,aArGK,WACrBu3K,GAAW,EACf,GAqGqBzmK,GACG,+BAAKhc,UAAWf,EAAG,SACd+c,EAAe,CACZrX,aAAcA,EACdD,WAAYA,EACZD,aAAcA,EACdK,aAAcA,KAIzBqzB,EAAO,wBAAC,UAAW,GAACA,KAAMA,GAAU4wL,IAAiB,qCAAWA,IACjE,+BACI/oN,UAAWf,EAAG,QAAS,CACnB,iBAAkB8kD,EAClB,oBAAqBp/C,EACrB,4BAA6BskN,KAGhC5lH,GAAY,wBAAC,UAAQ,CAAC9gG,KAAM8gG,QAIvC4lH,GACE,+BAAKjpN,UAAWf,EAAG,aACf,+BACIe,UAAWf,EAAG,oBAAqB,CAC/B,gCAAgC,EAChC,gCAAiCwF,EACjC,8BAA+BC,EAC/B,6BAA8Bq/C,EAC9B,+BAAgC/sB,EAChC,+BAAgC4iH,EAChC,gCAAiCj1I,IAErC5D,QAzGA,WACpB,IAAI4D,EAAJ,CAIA,IAAM+5C,GAAc,IAAA7mB,mBAAkBtzB,IAAU,EAC1Ci/E,EAAY,EAAAyoH,yBAAyB90H,KAAKz4B,EAAa66C,GACvD2vH,GAAkB,IAAA/8D,uBAAsB3oE,GAC1C5+E,GACAA,IAEJwX,EAAS8sM,EART,CASJ,GA+FwB,wBAAC,UAAW,CAACjoN,UAAW4nN,EAAe/nN,MA7K9C,GA6KmEsK,OA7KnE,MA+KG,+BACIpL,UAAWf,EAAG,oBAAqB,CAC/B,gCAAgC,EAChC,gCAAiCwF,EACjC,8BAA+BC,EAC/B,6BAA8Bq/C,EAC9B,+BAAgC/sB,EAChC,+BAAgC4iH,EAChC,gCAAiCj1I,IAErC5D,QAzGA,WACpB,IAAI4D,EAAJ,CAIA,IAAM+5C,GAAc,IAAA7mB,mBAAkBtzB,IAAU,EAC1Ci/E,EAAY,EAAAyoH,yBAAyBC,MAAMxtJ,EAAa66C,GACxD2vH,GAAkB,IAAA/8D,uBAAsB3oE,GAC1C5+E,GACAA,IAEJwX,EAAS8sM,EART,CASJ,GA+FwB,wBAAC,UAAa,CAACjoN,UAAW4nN,EAAe/nN,MA3LhD,GA2LqEsK,OA3LrE,QAkMrB,C,q7BCxPA,kBACA,cACA,cAMMnM,EAAK,UAAWC,KAAK,WAErBiqN,EAA2C/pN,EAAMC,MAAK,SAACC,GACjD,IAAAqC,EAAuBrC,EAAK,SAAlB4O,EAAa5O,EAAK,SAEpC,OAAO,wBAAMU,UAAW2B,EAAW1C,EAAG,WAAa,IAAKiP,EAC5D,IAEA,UAAei7M,C,0uCChBf,kBAEA,cACA,cAEA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,WACA,cAGA,cACA,YACA,cAEA,UACA,WAEMlqN,EAAK,UAAWC,KAAK,WAErBkqN,IAAa,MACd,EAAApqN,WAAW47G,kBAAmB,EAAAziG,aAAa8wE,kBAC5C,EAAC,EAAAjqF,WAAW87G,kBAAmB,EAAA3iG,aAAa8wE,kB,GAG1CogI,IAAQ,MACT,EAAArqN,WAAW47G,kBAAmB,EAC/B,EAAC,EAAA57G,WAAW87G,kBAAmB,E,GAG7B4+F,IAAiB,MAClB,EAAA16M,WAAW47G,kBAAmB,2DAC/B,EAAC,EAAA57G,WAAW87G,kBAAmB,2D,GAG7BwuG,IAAuB,MACxB,EAAAtqN,WAAW47G,kBAAmB,iEAC/B,EAAC,EAAA57G,WAAW87G,kBAAmB,iE,GAK7BkhB,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAyHxE,UAAe58H,EAAMC,MArHsB,SAACC,GAChC,IAAAslH,EAA+CtlH,EAAK,eAApCC,EAA+BD,EAAK,MAA7B+mM,EAAwB/mM,EAAK,SAAnBgP,EAAchP,EAAK,UAEpDa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiCf,EAAM0E,SAAQ,WACjD,IAAMsW,GAAS,aAAiBwqG,GAGhC,MAAO,CAACxqG,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACwqG,IAAgB,GANb9qG,EAAa,KAAEupC,EAAa,KAQ7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMs/L,GAAoB,aAAyBv/L,GACnDisL,EAASsT,GAETt/L,EAAcI,WAAW,CAAC,EAC9B,IAGE4kC,EAA2BjgD,EAAM6yB,WAAW,WAClD7yB,EAAMoL,WAAU,WACR60C,EAAyB09E,wBACzB19E,EAAyB09E,uBAAuB,CAC5Cx9E,OAAQxlC,EAAOijH,WACf75D,MAAOppD,EAAOkjH,WAI1B,GAAG,CAACljH,EAAOijH,WAAYjjH,EAAOkjH,YAE9B,IAAM4iD,GAAkB,IAAAziD,uBAAsBrjH,EAAOmB,QAC/CqoC,EAA0BT,EAA6B/oC,EAAOK,OAAQN,GAE5E1a,EAAMoL,WAAU,WACR60C,EAAyBi+E,oBACzBj+E,EAAyBi+E,mBAAmB,CACxCx4H,WAAYy+C,EACZ85E,UAAWwiD,GAIvB,GAAG,CAACA,EAAiBt8H,IAErBnkD,EAAMoL,WAAU,WACR60C,EAAyBk+E,sBACzBl+E,EAAyBk+E,qBAAqB,CAC1CjvH,UAAS,GAIrB,GAAG,CAACA,IAEJ,IAAMsrM,GAAwB,aAA0B7/L,EAAOK,OAAQN,GAEjEyvM,EAAoB,SAACrxM,GACvB,OACI,gBAAC,UAAW,CACRlY,UAAWf,EAAG,SACdiZ,KAAMA,EACN7U,MAAO0W,EAAOmB,OAAOhD,GACrBiD,KAAMpB,EAAOqB,aAAalD,GAC1B7R,MAAOlG,EAAEu5M,EAAkBxhM,IAC3BmD,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB3a,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAEmpN,EAAwBpxM,OAIlC,SAAC5Y,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAMA,EACNmrF,SAAU+lH,EAAclxM,GACxBigB,MAAM,IAAAypJ,eAAcwnC,EAAclxM,IAClCk6E,KAAMi3H,EAASnxM,GACf3T,MAAOwV,EAAOK,OAAOlC,GACrBkE,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YAZd,GAiBxB,EACA,OACI,wBAAMqV,SAAUJ,EAAOiB,cACnB,gBAAC,UAAM,CAAChb,UAAWf,EAAG,UAAWM,MAAOA,EAAOM,UAAW,gBAAC+5M,EAAqB,CAAC95I,OAAQk8D,KACrF,uBAAKh8H,UAAWf,EAAG,kBACf,gBAAC,UAAU,KACNsqN,EAAkB,EAAAvqN,WAAW47G,kBAC7B2uG,EAAkB,EAAAvqN,WAAW87G,mBAGlC,gBAAC,UAAkB,CAAC/1B,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,gBAAC,UAAkC,QAKvD,G,+GC3Ka,EAAAsmL,+BAA4D,CACrE10G,gBAAiB,SAACC,EAAgCC,GAC9C,OAAKD,GAAeC,EAIb,yCAAkCA,EAAU,kBAHxC,IAIf,EAEAC,cAAe,SAACF,EAAgCC,GAC5C,OAAKD,GAAeC,EAIb,yCAAkCA,EAAU,gBAHxC,IAIf,E,+BChBJ,WAAgB,KAAO,6BAA6B,UAAY,kCAAkC,yBAAyB,+CAA+C,OAAS,+BAA+B,OAAS,+BAA+B,QAAU,gCAAgC,aAAe,qCAAqC,OAAS,+BAA+B,SAAW,iC,u8CCD3Y,kBACA,cAEA,cAEA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cAEA,WACA,WACA,cACA,WAIA,WACA,cACA,UACA,cACA,cACA,WACA,cACA,WACA,UAKA,WAMA,WACA,WACA,UAIA,cACA,WACA,UACA,WACA,cACA,UAEA,cACA,cACA,WACA,WAEA,cACA,WACA,WAGM/tF,EAAK,UAAWC,KAAK,WAIrBsqN,EAAmDpqN,EAAMC,MAAK,W,MACxDc,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEX,IAAkE10B,EAAMuE,UAAkB,GAAM,GAA/F8lN,EAA4B,KAAEC,EAA+B,KAE9DC,GAAqB,IAAAr0M,aAAY,EAAAs0M,4BAEjChsI,GAA2B+rI,aAAkB,EAAlBA,EAAoBtmN,QAAS,KAC9DjE,EAAMy+E,iBAAgB,WAClB,IAAMx6E,EAAQu6E,GAA4B,KAEtCv6E,IACA,IAAAy6E,gCAA+Bz6E,KAC/BA,aAAK,EAALA,EAAO06E,WAAY,EAAAC,mCAAmCqrG,0CAEtDqgC,GAAgC,EAExC,GAAG,CAAC9rI,IAEJ,IAAMisI,EAAoCzqN,EAAMkG,aAAY,WACxDokN,GAAgC,EACpC,GAAG,IAEGI,EAAsB1qN,EAAMkG,aAAY,WAC1CokN,GAAgC,GAEhC71L,GACI,IAAAizL,uBAAsB,CAClBvkN,KAAM,6BAGlB,GAAG,CAACsxB,IAEEk2L,GAAuB,IAAAC,+BACvBC,IAA4B,IAAAC,oCAE5B,MAAuB,IAAAzlJ,kBAAc,MACtC,EAAAttD,cAAcgzM,mCAAoC,EAAAC,aACnD,EAAC,EAAAjzM,cAAcimE,WAAY,EAAAmoB,Y,IAC7B,GAHKhgG,GAAK,MAAE8/D,GAAW,MAKnB8kJ,MAAsC5kN,cAAK,EAALA,GAAO4kN,mCAOnD/qN,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAAMw2L,IAA0B,IAAA/0M,aAAY,EAAAg1M,+BAEtC,KAAwClrN,EAAMuE,SAAiB,GAAE,GAAhE4mN,GAAe,MAAEC,GAAkB,MAEpCt1K,IAAa,eACbC,GAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,GAElB,GAAG,CAACA,KAQEu1K,GAAuBrrN,EAAM6I,OAAgC,MAqBnE7I,EAAMoL,WAAU,WACZ,OAAO,WACHqpB,GAAS,IAAAg0L,yBACb,CACJ,GAAG,CAACh0L,IAEJ,IAAMgtG,IAA4B,IAAA4B,gCAC5BioF,GAAyBtrN,EAAM0E,SAAQ,WACzC,IAAKumN,GACD,MAAO,GAGX,IAAMvgI,GAAY,aAAMugI,cAAuB,EAAvBA,GAAyB9rI,QAAU,KACrDwL,GAAW,aAAKsgI,cAAuB,EAAvBA,GAAyB9rI,QAAU,KAEnD9I,GAAgBqU,aAAS,EAATA,EAAW+zB,yBAAyB/zB,aAAS,EAATA,EAAW3H,uBAAwB,KACvFzM,GAAcqU,aAAQ,EAARA,EAAUw6G,uBAAuBx6G,aAAQ,EAARA,EAAU3H,qBAAsB,KAE/E96E,GAAQ,IAAAqjN,gCAA+Bl1I,GACvCpqE,GAAM,IAAAs/M,gCAA+Bj1I,GAC3C,OAAK,aAASpuE,KAAW,aAAS+D,GAI3B,C,KAECG,GAAI,EAAA+xF,2BACJxxF,KAAM,KACNzE,MAAK,EACL+D,IAAG,EACHN,eAAe,GACZ81H,GAA0BU,SAAS,CAAEJ,aAAc,OAAM,CAC5D96H,MAAOlG,EAAE,gEAXN,EAcf,GAAG,CAACkqN,GAAyBxpF,GAA2B1gI,IAElDoiI,IAAkB0nF,cAAyB,EAAzBA,GAA2BrwK,UAAW,KACxD0V,IAA6B,IAAAh6C,cAAY,IAAAi6C,4BAA2BgzE,KACpE/yE,IAAW,IAAAl6C,cAAY,IAAAm6C,uBAAsB8yE,KAEnDnjI,EAAMoL,WAAU,WACR+3H,IACA1uG,GAAS,IAAA67B,sBAAqB,CAAEC,UAAW4yE,KAEnD,GAAG,CAAC1uG,EAAU0uG,KAEd,IAAM1yE,GAAiCzwD,EAAMkG,aACzC,SAAC2F,GACyBA,EAAK,YAETs3H,IACd1uG,GAAS,IAAA67B,sBAAqB,CAAEC,UAAW4yE,IAAmB,CAAElhG,eAAe,IAEvF,GACA,CAACxN,EAAU0uG,KAIf,OAFA,IAAAhhG,qBAAoB,EAAAuuB,+BAAgCD,IAGhD,gBAAC,EAAAgvB,iCAAiCzpC,SAAQ,CAAC7wC,MAAOwlN,GAC9C,gBAAC,EAAAviI,yBAAyBpyC,SAAQ,CAAC7wC,MAAO0lN,IACtC,gBAAC,UAAiB70K,SAAQ,CAAC7wC,MAAO4wC,IAC9B,gBAAC,UAAS,CAAC51C,MAAOY,EAAE,mCACpB,gBAAC,UAAuB,CACpBF,aAAa,gCACbD,UAAWf,EAAG,QACdo2C,gBAAiBl1C,EAAE,uCACnBm1C,eACI,gBAAC,UAAwB,KACrB,gBAAC,UAAmB,KAChB,gBAAC,UAAoB,CAAC/1C,MAAOY,EAAE,2BAA4BL,QAlGvE,YAChB,IAAA+pD,oBAAkB,WACd,UAAQ7yC,KAAK,EAAAyQ,WAAW8hJ,cAC5B,GACJ,KAgG4B,gBAAC,UAAa,KACV,gBAAC,UAAK,CAACghD,gBAAiBA,GAAiBC,mBAAoBA,KACxC,IAApBD,IACG,gBAAC,UAAS,CACNK,kBAAmBH,GAAqB5/M,QACxCsP,SAjGV,SAACijE,EAAuBpU,G,MAClD3D,KAAW,MACN,EAAAluD,cAAcimE,WAAYA,E,IAG/BqtI,GAAqB5/M,QAAUm+D,EAE/BwhJ,IAAmB,SAACD,GAAoB,OAAAA,EAAkB,CAAlB,GAC5C,EA0FwCJ,kCAAmCA,GACnCU,qCAhIK,SAACV,G,MAC1C9kJ,KAAW,MACN,EAAAluD,cAAcgzM,mCAAoCA,E,GAE3D,EA6HwCV,6BAA8BA,EAC9BqB,8BAA+BjB,EAC/BkB,gBAAiBjB,IAGJ,IAApBS,IACG,gBAAC,UAAgB,CACbpwM,SAjGH,SAAC6wM,GAClCn3L,GACI,IAAA+oD,qBAAoB,CAChButI,kCAAiC,GACjClhL,UAAU,IAAAgiL,iBAAgBD,EAAuB/hL,YAG7D,EA2FwC8hL,gBAAiBjB,MAMrCp0K,iBAAkBv1C,EAAE,mCACpBw1C,gBACI,uBAAK31C,UAAWf,EAAG,sBACf,uBAAKe,UAAWf,EAAG,aACf,gBAAC,UAAoB,CACjBsD,KAAK,QACL+L,UAAWghD,GAA2BnsD,QACtCguD,aAAc,UACd3B,SAAUA,GACV07J,sBAAuBR,MAG/B,uBAAK1qN,UAAWf,EAAG,QACf,gBAAC,UAAY,CACTgT,IAAI,sBACJo4M,wBAAyBA,GACzBc,8BAAmD,IAApBZ,WAQ3D,gBAAC,UAAQ,MAGrB,IAEA,UAAef,C,+BC3Rf,WAAgB,MAAQ,iCAAiC,SAAW,oCAAoC,KAAO,gCAAgC,OAAS,kCAAkC,SAAW,oC,q7BCDrM,kBACA,cAEA,cACA,WACA,aACA,WACA,cAEA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cAEA,cAeMvqN,EAAK,UAAWC,KAAK,WAErB20J,EAAwCz0J,EAAMC,MAAK,SAACC,G,wBAC9CysF,EAAoGzsF,EAAK,gBAAxFs+D,EAAmFt+D,EAAK,eAAxEqyE,EAAmEryE,EAAK,SAA9D2sF,EAAyD3sF,EAAK,WAAlD6sF,EAA6C7sF,EAAK,YAArCk7C,EAAgCl7C,EAAK,iBAAnBU,EAAcV,EAAK,UAEzGa,GAAM,IAAAC,kBAAgB,EAExBgrN,EAAsC,CACxC,CACI3/M,KAAM,gBAAC,UAAU,CAACwB,SAASg/E,aAAU,EAAVA,EAAYr1E,QAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WACxF+W,KAAM/X,EAAE,wDACRoE,MACI,gBAAC,UAAa,CACV0U,OAAO,yBACP0sB,SAAUsmD,aAAU,EAAVA,EAAYjmD,QACtBu0D,UA3BM,OA8BdliF,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,SACdilB,KAAM,CACF,CACIzZ,KAAM,KACNyM,KAAM/X,EAAE,4DACRoE,OAAO,IAAAwhC,oBAAmBkmD,aAAU,EAAVA,EAAYjC,aAAciC,aAAU,EAAVA,EAAY/B,YAChE7xE,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,YACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,8DACRoE,MAA0B,QAAnB,EAAA0nF,aAAU,EAAVA,EAAYp+E,eAAO,eAAEg+E,YAC5BxzE,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,8DACRoE,MAA0B,QAAnB,EAAA0nF,aAAU,EAAVA,EAAYp+E,eAAO,eAAE3I,SAC5BmT,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,eACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,+DACRoE,MAA0B,QAAnB,EAAA0nF,aAAU,EAAVA,EAAYp+E,eAAO,eAAEqb,MAC5B7Q,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,gBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,+DACRoE,MAA0B,QAAnB,EAAA0nF,aAAU,EAAVA,EAAYp+E,eAAO,eAAE9H,MAC5BsS,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,gBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,kEACRoE,MAAOotE,aAAQ,EAARA,EAAU05I,sBACjBhzM,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,oBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,yDACRoE,MAA0B,QAAnB,EAAA0nF,aAAU,EAAVA,EAAYp+E,eAAO,eAAEqB,QAC5BmJ,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,sBAMxBqrN,EAAuC,CACzC,CACI7/M,KAAM,gBAAC,UAAU,CAACwB,SAASk/E,aAAW,EAAXA,EAAav1E,QAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WACzF+W,KAAM/X,EAAE,0DACRoE,MACI,gBAAC,UAAa,CACV0U,OAAO,yBACP0sB,SAAUwmD,aAAW,EAAXA,EAAanmD,QACvBu0D,UA5GM,OA+GdliF,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,SACdilB,KAAM,CACF,CACIzZ,KAAM,KACNyM,KAAM/X,EAAE,4DACRoE,OAAO,IAAAwhC,oBAAmBomD,aAAW,EAAXA,EAAanC,aAAcmC,aAAW,EAAXA,EAAajC,YAClE7xE,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,YACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,8DACRoE,MAA2B,QAApB,EAAA4nF,aAAW,EAAXA,EAAat+E,eAAO,eAAEg+E,YAC7BxzE,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,8DACRoE,MAA2B,QAApB,EAAA4nF,aAAW,EAAXA,EAAat+E,eAAO,eAAE3I,SAC7BmT,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,eACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,+DACRoE,MAA2B,QAApB,EAAA4nF,aAAW,EAAXA,EAAat+E,eAAO,eAAEqb,MAC7B7Q,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,gBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,+DACRoE,MAA2B,QAApB,EAAA4nF,aAAW,EAAXA,EAAat+E,eAAO,eAAE9H,MAC7BsS,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,gBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,kEACRoE,MAAOotE,aAAQ,EAARA,EAAU45I,uBACjBlzM,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,oBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,yDACRoE,MAA2B,QAApB,EAAA4nF,aAAW,EAAXA,EAAat+E,eAAO,eAAEqB,QAC7BmJ,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,sBAMxBurN,EAA2C,CAC7C,CACI//M,KACI,gBAAC,UAAa,CACViK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,EAAE,uDACRoE,MAAO,gBAAC,UAAa,CAAChC,MAAM,IAAA8yJ,iBAAgB1jF,aAAQ,EAARA,EAAU2jF,WAAYpzJ,MAAOyvE,aAAQ,EAARA,EAAU4jF,mBACnFl9I,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,cAElB,CACIwL,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqB+W,OAClDC,KAAM/X,EAAE,8DACRoE,MAAO,gBAAC,UAAa,CAACrC,MAAOyvE,aAAQ,EAARA,EAAU6jF,OAAQjzJ,KAAM,EAAA4V,aAAas9I,wBAClEp9I,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,gBAElB8rF,EACM,CACItgF,KAAM,gBAAC,UAAa,CAACxK,UAAW,EAAAC,qBAAqB+W,OACrDC,KAAM/X,EAAE,6DACRoE,MACI,gBAAC,UAAwB,CACrBmxJ,kBAAmB/jF,aAAQ,EAARA,EAAU+jF,kBAC7BC,mBAAoBhkF,aAAQ,EAARA,EAAUgkF,qBAGtCt9I,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,eAElB,KACN,CACIwL,KAAM,gBAAC,UAAW,CAACxK,UAAW,EAAAC,qBAAqBI,MAAO0U,YAAa,EAAA9U,qBAAqB+W,OAC5FC,KAAM/X,EAAE,6DACRoE,MAAOotE,aAAQ,EAARA,EAAUjjD,YACjBrW,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,gBAItB,OACI,gCACI,gBAAC,UAAI,CACDi6C,UAAW/5C,EAAE,8CAA+C,CACxD8M,OAAQ2wD,IAEZl+D,eACI,gBAAC,UAAa,CACVgW,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,QAG1C1R,UAAWA,EACXs6C,uBAAqB,EACrBE,iBAAkBA,GAElB,uBAAKx6C,UAAWf,EAAG,YACf,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAMkmM,EAAeprN,UAAWf,EAAG,QAAS,kBACzE,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAMomM,EAAgBtrN,UAAWf,EAAG,QAAS,kBAC1E,gBAAC,UAAS,CACN+nB,mBAAiB,EACjBhnB,UAAWf,EAAG,QAAS,eACvBimB,KAAMsmM,EACNvrN,aAAa,mBAMrC,IAEA,UAAe4zJ,C,+UC1Rf,eACA,WAIa,EAAA43D,oBAAsB,SAAC1xM,GAChC,IAAM2xM,GAAwC,IAAAzjN,QAAsB,MAE9D02E,EAAa5kE,EAAOK,OAAO,EAAApb,WAAWymC,QAE5C,IAAAj7B,YAAU,WACN,IAAMs1E,EAAoCnB,aAAU,EAAVA,EAAYhV,WAAU,SAACgiJ,GAC7D,OAAQA,EAAgB,EAAAjmL,qBAAqBC,SACjD,IAEA,GAAI+lL,EAAsC7gN,UAAYi1E,EAAmC,CACrF,IAA2C,IAAvCA,GAAkF,OAAtCA,EAA4C,CACxF,IAAM8rI,EAAgBjtI,EAAWhoE,KAAI,SAACg1M,EAAiB/0M,G,MAC7Ci1M,EAA0Bj1M,GAASkpE,EACzC,OAAI6rI,EAAgB,EAAAjmL,qBAAqBn+B,aAAeskN,EAC7C,EAAP,KACOF,KAAe,MACjB,EAAAjmL,qBAAqBn+B,YAAa,KAAI,EACtC,EAAAm+B,qBAAqBirC,qBAAqB,EAAK,IAIjDg7I,CACX,IAEA5xM,EAAOsB,cAAc,EAAArc,WAAWymC,MAAOmmL,EAC3C,CAEAF,EAAsC7gN,QAAUi1E,CACpD,CAEJ,GAAG,CAACnB,GACR,C,yUCtCA,eAGa,EAAAmtI,cAAgB,SACzB1xM,EACAmkE,GAEA,IAAMt1C,EAAW7uB,EAAO,EAAApb,WAAWiqC,WAAa,GAEhD,OAAO,EAAP,KACO7uB,GAAM,CACT6uB,SAAUA,EAAS3a,QAAO,SAACgjH,EAAG16H,GAC1B,IAAMwyD,EAAOmV,EAAM3nE,IAAU,KAI7B,SAF2BwyD,aAAI,EAAJA,EAAM7mE,OAAO,EAAAgoH,4BAA4Bh8F,IAAI66C,EAAK7mE,KAGjF,KAER,C,q7BCnBA,kBACA,WACA,cAKA,UACA,cACA,WACA,WACA,WACA,WAMA,WACA,cAGA,aAEA,cACA,cACA,WACA,cAEA,cACA,cACA,cACA,cACA,cACA,cACA,UACA,cACA,cAGA,cACA,cACA,WACA,cAEA,WAEMtD,EAAK,UAAWC,KAAK,WAWrB6sN,EAAgG,CAClGC,+BAAgC,gEAChCniB,iBAAkB,kDAClBoiB,4BAA6B,6DAC7BC,2BAA4B,4DAC5BC,gBAAiB,kDAGf9lC,EAA8D,CAChE+lC,QAAS,gDACTC,UAAW,mDAGTC,EAA4D,CAC9DF,QAAS,yCACTG,iBAAkB,kDAClBC,WAAY,4CACZH,UAAW,2CACXI,UAAW,2CACXC,SAAU,2CAGRC,EAAsDvtN,EAAMC,MAAK,SAACC,G,YAC5DU,EACJV,EAAK,UADUkiG,EACfliG,EAAK,cADyB+sB,EAC9B/sB,EAAK,OADiCqyE,EACtCryE,EAAK,SAD2C00J,EAChD10J,EAAK,mBAD+D20J,EACpE30J,EAAK,mCAEHstN,GAAiC,eAE/BzsN,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXi5D,GAAapb,aAAQ,EAARA,EAAUnmE,KAAM,KAE7B89G,GAAa,IAAAxlH,UAAQ,WACvB,OAAKipF,EAIE,CACHw8B,WAAY,WACZC,SAAUz8B,GALH,IAOf,GAAG,CAACA,IAEE8/H,GAAqBl7I,aAAQ,EAARA,EAAUk7I,oBACjC,KAEI1gJ,GAAkB,IAAA2gJ,iBAAoCxjG,GAAW,cAEnEyjG,EAA8B3tN,EAAM0E,SAAQ,W,MAC9C,OAC8B,QAA1B,EAAA+oN,aAAiB,EAAjBA,EAAmBG,eAAO,eAAE50K,MAAK,SAAC1vB,GAC9B,OAAOA,IAAW,EAAA2rC,mBAAmBpvB,QACzC,MAAM,IAEd,GAAG,CAAC4nL,IAEEI,GAAqBJ,aAAiB,EAAjBA,EAAmBn+L,cAAe,KAEvDw+L,GAAsBL,aAAiB,EAAjBA,EAAmBK,sBAAuB,KAEhEC,GAC0B,QAA3B,EAAAN,aAAiB,EAAjBA,EAAmBO,gBAAQ,eAAEh1K,MAAK,SAAC1vB,GAChC,OAAOA,IAAW,EAAA2rC,mBAAmBpvB,QACzC,MAA6B,MAEjC,aAAgCknC,EAAe,CAACygJ,IAEhD,IAAMS,GAAqB17I,aAAQ,EAARA,EAAU27I,cAE/B7rN,GAAgF,CAClF0rN,EACM,CACI9mN,MACI,gBAAC,UAAO,CACJhG,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACIusN,EACI,gBAAC,UAAc,CAAC1sN,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE4rN,EAAemB,KAEtB,OAGP,WAAM,OACH,gBAAC,UAA0B,CACvBvoN,aAAcuoN,EACd7mN,MAEUlG,EADN+sN,EACQ,qCAGA,8BAHsC,CACpCjqN,OAAQ9C,EAAE,EAAAyuJ,kBAAkBu+D,MAM1C1hN,KAAM,gBAAC,UAAW,CAACuK,YAAa,EAAA9U,qBAAqBkS,aAZtD,IAiBfzO,aAAcuoN,EACd1oN,SAAU,WACD8kH,EAKD6jG,GAAgCpgI,GAChCl5D,GACI,IAAA41F,oBAAmB,CACfC,OAAQ,CACJhhG,OAAQykM,EACR5jG,WAAY,WACZC,SAAUz8B,GAEdu8B,WAAU,MAZlB,IAAAt1F,YAAW,6CAgBnB,GAEJ,KACNq5L,GAAqB,EAAA/yH,kBAAkBC,UAAY,KACnD8yH,GACM,CACIhnN,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,iCACTsL,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBkS,cAG1D5O,SAAU,WACN,GAAKuoF,GAAeu8B,EAApB,CAIA,IAAMv9G,EAAO,CACT29G,OAAQ,CACJhhG,OAAQ,EAAA2rC,mBAAmBpvB,SAC3BskF,WAAY,WACZC,SAAUz8B,GAEdu8B,WAAU,GAGV2qC,EACA24D,EAA+B1kL,QAAQn8B,GAEvC8nB,GAAS,IAAA41F,oBAAmB19G,GAdhC,CAgBJ,GAEJ,MACRuiB,OAAO,EAAA4/B,UAEH5/C,GAAY69D,aAAa,EAAbA,EAAehpE,QAM3B0nM,GAA+B,WAC7BkiB,GAA+BhgI,GAAcu8B,EAC7Cz1F,GACI,IAAA41F,oBAAmB,CACfC,OAAQ,CACJH,WAAY,WACZC,SAAUz8B,EACVrkE,OAAQqkM,GAEZzjG,WAAU,MAMtB,IAAAt1F,YAAW,eACf,EAEMu5L,GAA8B,SAAC,G,IAAE5oN,EAAU,aAC7C,MAA2B,oBAAvBsoN,GAA4C5gM,EAExC,gBAAC,UAAM,CACHrsB,UAAWf,EAAG,SAAU,gBACxBuB,MAAO,EAAA2N,gBAAgB88L,kBACvBlqM,QAAS,WACLizJ,EAAmB3nI,EACvB,EACA1nB,WAAYA,EACZ2J,UAAWA,IAEVnO,EAAE,yCAKX8sN,EAEI,gBAAC,UAAK,CACFxhN,KAAM,gBAAC,UAAQ,CAACxK,UAAW,EAAAC,qBAAqBI,QAChDoU,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAe5gB,KACtBjY,UAAWf,EAAG,UAEbkB,EAAE4rN,EAAekB,KAK1BF,EAEI,gBAAC,UAAM,CACH/sN,UAAWf,EAAG,SAAU,gBACxBuB,MAAO,EAAA2N,gBAAgB88L,kBACvBlqM,QAAS8pM,GACTlmM,WAAYA,EACZ2J,UAAWA,IAEVnO,EAAEmsN,EAAsBS,KAK9B,IACX,EAEMr+I,GAAkC,QAAvB,EAAAiD,aAAQ,EAARA,EAAU67I,qBAAa,eAAEC,UAEpC16F,IAAuC,QAAvB,EAAAphD,aAAQ,EAARA,EAAU67I,qBAAa,eAAEjrN,MAAOpC,EAAEkmL,EAA4C,QAAvB,EAAA10G,aAAQ,EAARA,EAAU67I,qBAAa,eAAEjrN,OAAS,KAEzGuwH,GAAsB3yH,EAAE,qCAAsC,CAChEioL,SAAUr1D,KAGd,OAAKvxB,EAKD,gCACI,gBAAC,UAAgB,CACb9yB,SAAUA,GACVokD,oBAAqBA,GACrBC,cAAeA,GACfC,cAAe,SAACruH,GACZ,MAAO,CACH4oN,GAA4B,CAAE5oN,WAAU,KACxC,IAAA21H,wBAAuB74H,KACnB,gBAAC,UAAe,CACZwQ,IAAI,UACJjS,UAAWA,EACXyB,QAASA,GACTkD,WAAY2J,GACZksH,6BAA8BlsH,GAC9B5M,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,OALP,EAQtCO,gBAAiB,EAAAC,4BAA4BC,cAI7D,IAEJ,gBAAC,UAAqB,KAClB,gBAAC,UAA8B,CAC3Be,cAAeqpE,EACfpgE,KAAM6gN,EAA+B7gN,KACrCjM,QAAS8sN,EAA+B9sN,QACxCiO,SAAU6+M,EAA+B7+M,SACzC6e,UArHwB,SAAC7gB,GACrC8nB,GAAS,IAAA41F,oBAAmB19G,GAChC,MA4EW,IA4Cf,IAEA,UAAe4gN,C,kuCCtVf,kBACA,WAEA,cACA,WACA,WAEA,cACA,cACA,cACA,cACA,WACA,WACA,UACA,WACA,WACA,aACA,cACA,cACA,cACA,UACA,cACA,WACA,WAWMe,GARK,UAAWxuN,KAAK,WAQqBE,EAAMC,MAAK,WAC/C,IAAAc,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAETlxB,GAAgB,eAAmB,YAIrC49D,GAFQ,eAEU,EAAArpD,cAAcqpD,YAAc,KAE9C,KAAgD,IAAA78D,WAAS,GAAM,GAA9DgqN,EAAmB,KAAEC,EAAsB,KAE5Cj1K,GAAO,IAAArjC,aAAY,EAAAooF,YAEnBmwH,GAAuB,IAAAv4M,aAAY,EAAAw/E,4BACnChyF,GAAgB,IAAAwS,aAAY,EAAAw4M,4BAC5BtgK,GAAW,IAAAl4C,aAAY,EAAAy4M,8BA4B7B,OA1BA,cAAqB,WACbvgK,GACAogK,EAAuBpgK,EAE/B,GAAG,CAACA,KAEJ,cAAqB,WACbqgK,EAAqBxqN,OACrB,UAAQ2T,MAAK,IAAAg3M,oBAAmBxtJ,GAExC,GAAG,CAACqtJ,EAAqBxqN,SAEzB,cAAqB,WACbs1C,GACA,UAAQ3hC,MAAK,IAAAg3M,oBAAmBxtJ,GAExC,GAAG,CAAC7nB,IAEJv5C,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAMA85L,EAEI,gBAAC,UAAU,CAAC1tN,aAAa,6BACrB,gBAAC,UAAiB,CACd4rC,SAAU,EAAAoiL,qBAAqB16M,QAC/BhU,MAAOY,EAAE,wCACTuuB,YAAavuB,EAAE,8CACfF,aAAa,aAMZ2C,IAAgB,EAAA+kB,gBAAgBpb,OAGzC,gBAAC,UAAU,CAACtM,aAAa,yBACrB,gBAAC,UAAiB,CACd4rC,SAAU,EAAAoiL,qBAAqBt8M,QAC/BpS,MAAOY,EAAE,0DACTF,aAAa,qCAOzB,gCACI,gBAAC,UAAU,CAACV,MAAOY,EAAE,iCAAkCF,aAAa,yBAChE,gBAAC,UAAS,CAACV,MAAOY,EAAE,yCACpB,gBAAC,UAAiB,CAACga,SAlCV,SAAC+zM,GAClBr6L,GAAS,IAAAs6L,sBAAqB,CAAED,gCAA+B,EAAE1tJ,UAAS,IAC9E,EAgCuD19D,cAAeA,KAI1E,KAEA,UAAe4qN,C,04BClHf,kBACA,WACA,WAOa,EAAAroL,4BAAyB,MACjC,EAAAV,sBAAsBC,UAAW,uCAClC,EAAC,EAAAD,sBAAsBE,mBAAoB,gDAC3C,EAAC,EAAAF,sBAAsBG,iBAAkB,8CACzC,EAAC,EAAAH,sBAAsBI,WAAY,wCACnC,EAAC,EAAAJ,sBAAsBM,UAAW,sCAClC,EAAC,EAAAN,sBAAsBK,WAAY,uCACnC,EAAC,EAAAL,sBAAsBO,SAAU,qC,GAGrC,IAAMkpL,EAAsChvN,EAAMC,MAAK,SAACC,GAC5C,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAAklC,0BAA0B3c,IAHxB,IAIf,IAEA,UAAe0lM,C,4vCC/Bf,IA8BY96L,EA9BZ,cAEA,aACA,cACA,aACA,cACA,cACA,cACA,WACA,WAEMr0B,EAAK,UAAWC,KAAK,YAmB3B,SAAYo0B,GACR,0CACA,4CACA,sCACA,wCACA,gCACA,yBACH,CAPD,CAAYA,IAAgB,mBAAhBA,EAAgB,KAsB5B,IAAMqlH,EAAe,CACjBplH,oBAAoB,EACpBi3G,qBAAqB,EACrBh3G,kBAAkB,EAClBolH,mBAAmB,EACnBl+F,eAAe,EACfxzB,YAAY,GA2HhB,UAAe9nB,EAAMC,MAtHP,SAA0BC,GAEhC,IAAAkzB,EAUAlzB,EAAK,QATL4lB,EASA5lB,EAAK,KARLU,EAQAV,EAAK,UAPLq0B,EAOAr0B,EAAK,YANLu5I,EAMAv5I,EAAK,gBALL+zB,EAKA/zB,EAAK,WAJLw5I,EAIAx5I,EAAK,iBAHLgP,EAGAhP,EAAK,UAFLW,EAEAX,EAAK,aADLo0B,EACAp0B,EAAK,eAEH05I,GAAuB,IAAA/wI,QAAe,GAEtC,IAA2B7I,EAAMuE,SAAsB,MAAK,GAA3Ds1I,EAAU,KAAEC,EAAU,KAEvBC,EAAkB/5I,EAAM0E,SAAQ,WAClC,OAAO0uB,EAAQlE,OAAO,EAAA4/B,SAC1B,GAAG,CAAC17B,IAEEtyB,EAAmB,UAAGD,EAAY,UAElCm5I,IAAgBl0H,EAAK3jB,OACrB83I,EAAoB/qI,IAAc8qI,EAClCE,EAAmBhrI,GAAa8qI,IAAgB1lH,EAChD6lH,EAAsB7lH,EAE5B,OAAKplB,GAAc8qI,EAKf,uBAAKp5I,WAAW,aAAGf,EAAG,SAAUe,IAC3Bo5I,GACG,8CAA2Bl5I,GACvB,6BACI,0BACKi5I,EAAgBxiI,KAAI,SAAC6iI,EAAQC,GAAgB,OAC1C,sBACIxnI,IAAKwnI,EACLz5I,UAAWw5I,EAAO9mH,gBAAe,qBACb,UAAGxyB,EAAgB,mBAAWs5I,EAAOv5I,eAExDu5I,EAAO/mH,aAAaqmH,GANiB,KAUlD,0BACI,sBAAIY,QAASP,EAAgB53I,QACzB,gBAAC,UAAU,CAAC0xB,OAAQqmH,OAIhC,6BACKp0H,EAAKvO,KAAI,SAAC6rB,EAAKm3G,GACZ,IAAMx+H,EAAsB,CACxB+L,cAAc2xH,aAAe,EAAfA,EAAiBtqH,IAAIiU,IACnCo3G,UAAWX,IAAez2G,GAGxBq3G,EAAUxmH,EAAaA,EAAWlY,EAAMqnB,GAAOm2G,EAErD,OACI,sBACI1mI,IAAK0nI,EACL35I,UAAWf,EAAG,MAAO,CACjB,sBAAuB00B,EACvB,0BAA2BkmH,EAAQtmH,mBACnC,wBAAyBsmH,EAAQrmH,iBACjC,yBAA0BqmH,EAAQjB,kBAClC,2BAA4BiB,EAAQrP,oBACpC,qBAAsBqP,EAAQn/F,cAC9B,kBAAmBm/F,EAAQ3yH,aAE/BnmB,QAAS,SAACkK,GAEFwT,KAAK81D,IAAIykE,EAAqBnuI,QAAUI,EAAM8uI,SAhFhE,IAqFkBpmH,GACAA,EAAY1oB,EAAOu3B,EAE3B,EACAypG,YAAa,SAAChhI,GACV+tI,EAAqBnuI,QAAUI,EAAM8uI,OACzC,EACApsB,YAAa,WACLnrF,IAAQy2G,GACRC,EAAW12G,EAEnB,EAAC,qBACmB,UAAGtiC,EAAgB,gBAAQy5I,IAE9CR,EAAgBxiI,KAAI,SAAC6iI,EAAQC,GAAgB,OAC1C,sBACIxnI,IAAKwnI,EACLz5I,UAAWw5I,EAAOx5I,UAAS,qBACP,UAAGE,EAAgB,iBAASs5I,EAAOv5I,eAEtDu5I,EAAO7mH,OAAO6P,EAAKrnB,EAAMw+H,GANY,IAW1D,MAIXN,GAAqB,gBAAC,UAAa,MACnCE,GAAuB,gBAAC,UAAa,OAnFnC,IAsFf,G,q7BCnLA,kBACA,cACA,aACA,cACA,aACA,cAEMt6I,EAAK,UAAWC,KAAK,WAoBrBmvN,EAA+BjvN,EAAMC,MAAK,SAACC,GACrC,IAAAi+M,EAAqFj+M,EAAK,QAAjFgvN,EAA4EhvN,EAAK,QAAxE0d,EAAmE1d,EAAK,YAA3D+f,EAAsD/f,EAAK,IAAtDggB,EAAiDhgB,EAAK,IAAjDkB,EAA4ClB,EAAK,MAA1Ci7C,EAAqCj7C,EAAK,WAA9BU,EAAyBV,EAAK,UAAnB2pD,EAAc3pD,EAAK,UAElG,OAAI,aAAM+f,KAAQ,aAAMC,GACb,KAIP,wCACoBi+L,EAAUt0J,aAAS,EAATA,EAAWE,QAAUF,aAAS,EAATA,EAAWC,QAC1DlpD,WAAW,aAAGf,EAAG,oBAAqBe,GACtC2tH,YAAa,YACJ4vF,GAAW+Q,GACZA,GAAQ,EAEhB,EACApjN,aAAc,WACNqyM,GAAW+Q,GACXA,GAAQ,EAEhB,EACAvtN,QAASzB,EAAMyB,SAEf,gBAAC,UAAM,CAACf,UAAWV,EAAMgnC,iBAAkBtpB,YAAaA,EAAaxc,MAAOA,GACvElB,EAAM4O,cAERqsC,GAAc,uBAAKv6C,UAAWf,EAAG,gBAAiBs7C,GAGjE,IAEA,UAAe8zK,C,2OCvDF,EAAAhxM,4BAA8B,oDAC9B,EAAAkxM,kCAAoC,0DACpC,EAAAC,kCAAoC,0DACpC,EAAAC,oCAAsC,4DACtC,EAAAC,eAAiB,sC,+BCN9B,WAAgB,QAAU,gD,wnBCD1B,kBASA,cAGI,WAAYpvN,GACR,QAAK,UAACA,IAAM,K,OAahB,EAAAqvN,mBAAqB,SAAC1jN,G,MACZ2jN,EAA6B,QAAf,IAAKC,kBAAU,eAAEhkN,QACrC,GAAK+jN,IAIAA,EAAYv9C,SAASpmK,EAAMoc,QAAS,CACrC,GAAI,EAAK/nB,MAAMqF,WACX,OAGI,IAAAmqN,EAA6B,EAAKxvN,MAAK,yBAC/C,GAAIwvN,IAA6BA,EAAyB7jN,GACtD,OAGA,EAAK3L,MAAMoyK,gBACX,EAAKpyK,MAAMoyK,eAAezmK,EAElC,CACJ,EA/BI,EAAK4jN,WAAa,UAAM1mN,Y,CAC5B,CAyCJ,OAhDkC,OAS9B,YAAA4mN,kBAAA,WACI1xK,SAASwnD,iBAAiB,YAAavgD,KAAKqqK,mBAChD,EAEA,YAAAK,qBAAA,WACI3xK,SAASynD,oBAAoB,YAAaxgD,KAAKqqK,mBACnD,EAwBA,YAAAh8L,OAAA,WACY,IAAA3yB,EAAcskD,KAAKhlD,MAAK,UAEhC,OACI,+BAAKU,UAAWA,EAAWsL,IAAKg5C,KAAKuqK,YAChCvqK,KAAKhlD,MAAM4O,SAGxB,EACJ,EAhDA,CAAkC,UAAM+gN,eAkDxC,UAAeC,C,67CC3Df,kBACA,WAQMC,EAAgC,SAAC7vN,GAC3B,IAAA2B,EAAoC3B,EAAK,UAA9B0W,EAAyB1W,EAAK,YAAdk5C,EAAI,EAAKl5C,EAAtC,6BAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aAAgB6nC,GACnF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,sGAEN,wBACI/E,KAAMkK,EACNnF,EAAE,qMAKtB,EAEAs+M,EAAY/9M,YAAc,cAE1B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,MAG7B,EAAA5G,WAAAA,EACT,UAAe89M,C,oKCrCf,cAEa,EAAAC,uBAAyB,IAAI,EAAA7mM,iBAE7B,EAAA8mM,6BAA+B,IAAI,EAAA9mM,iBAEnC,EAAA+mM,0BAA4B,IAAI,EAAA/mM,gB,g0CCN7C,kBAEA,UAUA,cACI,WAAYjpB,GACR,QAAK,UAACA,IAAM,K,OACZ,EAAK0D,MAAQ,CAAEK,MAAO,KAAM88B,UAAW,KAAMJ,QAAS,M,CAC1D,CAmDJ,OAvD4B,OAMjB,EAAAwvL,yBAAP,WACI,MAAO,CACHlsN,MAAO,IAAIshJ,MAAM,qCACjBxkH,UAAW,KACXJ,QAAS,KAEjB,EAEA,YAAAyvL,kBAAA,SAAkBnsN,EAAc88B,GAC5B,IAAMJ,GAAU,IAAA0vL,oBAEhB,IAAAC,qBAAoB,kCAAmC3vL,EAAS18B,EAAO88B,GAEvEmkB,KAAKqrK,SAAS,CACVtsN,MAAK,EACL88B,UAAS,EACTJ,QAAO,GAEf,EAEA,YAAApN,OAAA,WACY,IAAAzkB,EAAao2C,KAAKhlD,MAAK,SACzB,EAAgCglD,KAAKthD,MAAnCK,EAAK,QAAE88B,EAAS,YAAEJ,EAAO,UAEjC,OAAI18B,EAEI,uBAAKoE,MAAO,CAAEqB,QAAS,KACnB,2BACI,sDAEJ,2BACA,2BACI,2BACI,sC,IAAkBi3B,GAEtB,2BACA,2BACI,2C,IAAuB18B,EAAMwU,SAEjC,2BACI,wC,IAAoBsoB,aAAS,EAATA,EAAWyvL,kBAO5C1hN,CACX,EACJ,EAvDA,CAA4B9O,EAAMywN,WAyDlC,UAAeC,C,sBCrEf,IAAY9wN,E,qEAAZ,SAAYA,GACR,oBACA,uBACH,CAHD,CAAYA,IAAU,aAAVA,EAAU,I,oQCIT,EAAAsgH,iCAAmC,8DACnC,EAAAuf,uCACT,oEACS,EAAAE,uCACT,oEACS,EAAAD,yCACT,sEAES,EAAAE,oBAAsB,gD,q7BCZnC,kBACA,YAEA,cACA,cAQM+wF,EAAwC3wN,EAAMC,MAAK,SAACC,GAC9C,IAAA0wN,EAAwC1wN,EAAK,WAAjCojD,EAA4BpjD,EAAK,aAAnBmjD,EAAcnjD,EAAK,UAEjDkB,EAAQ,EAAAyS,mBAAmBvB,MAK/B,MAJqB,aAAjBgxC,IACAliD,GAAQ,aAASiiD,IAAcA,EAAY,EAAI,EAAAxvC,mBAAmBrB,OAAS,EAAAqB,mBAAmBO,aAI9F,gBAAC,UAAS,CAAChT,MAAOA,EAAOP,aAAa,mBAAmB2T,eAAa,GAClE,gBAAC,UAAoB,CAACo8M,WAAYA,EAAYttK,aAAcA,EAAcD,UAAWA,IAGjG,IAEA,UAAestK,C,g6FC3Bf,kBACA,WACA,cACA,cACA,WACA,cAGA,WAMA,WACA,WAOA,WACA,WACA,cACA,cACA,WACA,cAGA,WACA,cACA,UACA,cACA,cACA,cACA,UACA,cAEM9wN,EAAK,UAAWC,KAAK,WASrB+wN,EAA4C7wN,EAAMC,MAAK,SAACC,G,YAClD+iK,EAA4C/iK,EAAK,mBAA7ByjK,EAAwBzjK,EAAK,oBAEnDivG,EAAkBnvG,EAAM6yB,WAAW,WACnCi+L,KAA2D,QAAzC,EAAA3hH,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkB2pI,qBAE9EhwN,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WAIZ,OAHAqpB,GAAS,IAAAu8L,wBAAuB,EAAG,CAAC,EAAG,CAAE/uL,eAAe,KACxDxN,GAAS,IAAAw8L,6BAEF,WACHx8L,GAAS,IAAAy8L,0BACb,CACJ,GAAG,CAACz8L,IAEJ,IAAMvmB,GAAQ,IAAAgI,aAAY,EAAAi7M,0BACpBC,GAAoB,IAAAl7M,aAAY,EAAAm7M,yBAEhCC,GAAoB,IAAAp7M,aAAY,EAAAq7M,yBAEhCC,GAAoB,IAAAt7M,aAAY,EAAAu7M,yBAChCC,EAAcxjN,EAAMsjN,GAEpBnjN,GAAQ,IAAA6H,aAAY,EAAAy7M,0BACpBC,KAAcvjN,aAAK,EAALA,EAAO2/C,YAAY3/C,EAAM2/C,UAAY,EAAIwjK,EAEvDtiN,IAC0B,QAA1B,EAAAwiN,aAAW,EAAXA,EAAahuN,qBAAa,eAAEU,OAAiC,QAA1B,EAAAstN,aAAW,EAAXA,EAAahuN,qBAAa,eAAEO,QAAUmtN,EAAkBrtN,QAE3F8tN,EAAgB,qD,2BAClB,OAAKD,GAILn9L,GAAS,IAAAu8L,wBAAuBQ,EAAoB,EAAG,CAAC,EAAG,CAAEvvL,eAAe,K,KAHxE,G,QAMF,KAA4B,IAAA6vL,iBAAgB,CAAC5jN,IAAO,GAAnD6jN,EAAY,KAAE7lN,EAAG,KAAEV,EAAI,MAE9B,IAAAJ,YAAU,WACDI,IAAQ0D,IAER6iN,GACDF,IAGR,GAAG,CAAC3iN,EAAW6iN,EAAcvmN,EAAMkmN,IAGnC,IAAMM,EAAsB9jN,EAAMqJ,KAAI,SAACuH,EAAMmzM,GACzC,OAAOnzM,EAAKqtC,GAChB,IAEM+lK,GAAsB,aAAQF,GAAqB9iM,OAAO,EAAA4/B,UAE1DnK,EAA+B,KAArBt2C,aAAK,EAALA,EAAO2/C,YAA2C,KAAxB3/C,aAAK,EAALA,EAAO8jN,cAE3C/nN,EAAUpK,EAAM6yB,WAAW,WAEjC7yB,EAAMoL,WAAU,WACZ,IAAMguG,GAAiB,aAAkB5tG,GAErCpB,EAAQgvG,gBACRhvG,EAAQgvG,eAAeC,SAASD,EAGxC,GAAG,CAAC5tG,EAAM0mN,IAEV,IAAME,GAA6CpyN,EAAM0E,SAAQ,WAC7D,OAAOwtN,EACF36M,KAAI,SAACnL,GACF,IAAMgrJ,EAAek6D,EAAkBllN,GACvC,OAAKgrJ,EAS2B,CAACA,GAJ7B,IAAAi7D,0BAAyBj7D,KACzB6L,aAAkB,EAAlBA,EAAqB7L,MACrB,IAAAk7D,2BAA0Bl7D,IANnB,IAWf,IACCloI,OAAO,EAAA4/B,SAEhB,GAAG,CAACojK,EAAqBZ,IAEzB,OACI,uBAAKllN,GAAG,gBAAgBxL,UAAWf,EAAG,SAAUqM,IAAKA,GAChDy4C,GACG,uBAAK/jD,UAAWf,EAAG,iBACf,gBAAC,UAAc,CACX4sC,SAAU,EAAA8lL,mBAAmB1lL,MAC7B1sC,MAAOY,EAAE,uDAIrB,gBAAC,UAAc,CACXyxN,WAAYN,EAAoB/vN,OAChColI,KAAM,WACFsqF,GACJ,EACAjxN,UAAWf,EAAG,iBACd6f,QAASkyM,EACTa,OAAQ,KACRC,iBAAiB,iBAEhBN,GAAiB76M,KAAI,SAAC,G,IAAA,SAAC6/I,EAAY,KAAEu7D,EAAgB,KAClD,OACI,gBAAC,UAAkB,GACf9/M,IAAKukJ,EAAahrJ,GAClBA,GAAI0kN,EAAgB15D,EAAahrJ,GAAK,MAClCumN,EAAgB,CACpBzvD,QAAS9L,EAAasU,YAAc,KAAOinD,EAAiBzvD,QAC5DxlJ,OAAQ05I,EACRz1J,QAAS,WACL,IAAMqqK,GACFrI,aAAmB,EAAnBA,EAAsBvM,KAAiB,KACvC4U,GACA,UAAQp0J,KAAKo0J,GAGb5U,EAAasU,cAIbtU,EAAahrJ,GACbqoB,GAAS,IAAAk3I,YAAW,CAACvU,EAAahrJ,OAElC,IAAAwoB,YAAW,yBAEnB,IAGZ,KAEH1lB,GACG,uBAAKtO,UAAWf,EAAG,WACf,gBAAC,UAAuB,CAACgC,UAAW,EAAAC,qBAAqBI,UAG/D0vN,GAAeJ,EAAoB,IAA+B,QAA1B,EAAAE,aAAW,EAAXA,EAAahuN,qBAAa,eAAEU,KAClE,gBAAC,UAAc,CACXxD,UAAWf,EAAG,WACd4sC,SAAU,EAAA8lL,mBAAmBn9J,KAC7Bj1D,MAAOY,EAAE,mDACTuuB,YAAavuB,EAAE,2DAKnC,IAEA,UAAe8vN,C,87CC/Mf,kBACA,WACA,cACA,aAEA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cAEA,WACA,WAOA,UACA,WACA,WACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,aACA,cACA,WACA,cACA,cACA,aACA,cACA,cACA,cACA,aAEA,cACA,WACA,cAGA,cACA,cACA,WACA,cAQMhxN,GAAK,UAAWC,KAAK,WAErB0oF,GAA8B,IAAIx5D,IAAkB,CAAC,EAAAnO,aAAaW,yBAElE8mE,GAAqB,SAACvnF,EAAc2f,GACtC,IAAKA,EACD,OAAO,KAGX,OAAQA,EAASvd,MACb,KAAK,EAAA0d,aAAaG,cACd,OAAOjgB,EAAE,gDAEb,KAAK,EAAA8f,aAAaC,YACd,OAAO/f,EAAE,iDAEb,KAAK,EAAA8f,aAAaK,gBACd,OAAOngB,EAAE,6DAEb,KAAK,EAAA8f,aAAaa,YACd,OAAO3gB,EAAE,gDAEb,KAAK,EAAA8f,aAAae,UACd,OAAO7gB,EAAE,8CAEb,KAAK,EAAA8f,aAAaiB,cACd,OAAO/gB,EAAE,0DAEb,KAAK,EAAA8f,aAAaQ,aACd,OAAOtgB,EAAE,iDAEb,KAAK,EAAA8f,aAAaO,eACd,OAAOrgB,EAAE,mDAEb,KAAK,EAAA8f,aAAaS,aACd,OAAOvgB,EAAE,gDAAiD,CACtD8M,SAAS6S,aAAQ,EAARA,EAAUlJ,QAAS,GAAK,IAGzC,KAAK,EAAAqJ,aAAaU,YAClB,KAAK,EAAAV,aAAaW,uBAClB,QACI,OAAOzgB,EAAE,kDAAmD,CACxD8M,SAAS6S,aAAQ,EAARA,EAAUlJ,QAAS,GAAK,IAIjD,EAEM+wE,GAAyB,SAAC7nE,GAC5B,IAAKA,EACD,OAAO,KAGX,OAAQA,EAASvd,MACb,KAAK,EAAA0d,aAAaG,cACd,OACI,gBAAC,UAAiB,CACd1K,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAI5C,KAAK,EAAA2e,aAAaC,YACd,OACI,gBAAC,UAAe,CACZxK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAI5C,KAAK,EAAA2e,aAAaK,gBACd,OAAO,gBAAC,UAAc,CAACtK,YAAa,EAAA9U,qBAAqB+W,OAE7D,KAAK,EAAAgI,aAAaa,YACd,OACI,gBAAC,UAAkB,CACfpL,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAI5C,KAAK,EAAA2e,aAAae,UACd,OACI,gBAAC,UAAgB,CACbtL,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAI5C,KAAK,EAAA2e,aAAaiB,cACd,OAAO,gBAAC,UAAe,CAAClL,YAAa,EAAA9U,qBAAqB+W,OAE9D,KAAK,EAAAgI,aAAaQ,aAClB,KAAK,EAAAR,aAAaO,eACd,OACI,gBAAC,UAAQ,CACL9K,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAI5C,KAAK,EAAA2e,aAAaS,aAGlB,KAAK,EAAAT,aAAaU,YACd,OAAO,gBAAC,UAAU,CAAC1T,SAAS6S,aAAQ,EAARA,EAAUlJ,QAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqB+W,OAE3F,KAAK,EAAAgI,aAAaW,uBAClB,QACI,OAAO,gBAAC,UAAU,CAAC3T,SAAS6S,aAAQ,EAARA,EAAUlJ,QAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WAGnG,EAEM6wN,GAAsC,SACxClyM,GAEA,IAAKA,EACD,MAAO,yBAGX,OAAQA,EAASvd,MACb,KAAK,EAAA0d,aAAaG,cAClB,KAAK,EAAAH,aAAaC,YAClB,KAAK,EAAAD,aAAaK,gBACd,MAAO,sCAEX,KAAK,EAAAL,aAAaa,YAClB,KAAK,EAAAb,aAAae,UAClB,KAAK,EAAAf,aAAaiB,cACd,MAAO,uCAEX,QACI,MAAO,yBAGnB,EAEM+wM,GAAmC7yN,EAAMC,MAAK,SAACC,G,YACzCg/E,EAA0Ch/E,EAAK,KAAzCsgH,EAAoCtgH,EAAK,qBAAnBU,EAAcV,EAAK,UAE/Ca,GAAM,IAAAC,kBAAgB,EAExBisB,GAASiyD,aAAI,EAAJA,EAAM9yE,KAAM,KAErB,GAAwE,IAAAm0G,+BAC1EC,EACAvzF,GAFIyzF,EAAmB,sBAAED,EAAqB,wBAAEsgB,EAAqB,wBAKnE98G,GAAQy8F,aAAmB,EAAnBA,EAAqBz8F,QAAS,KACtCC,GAAUu8F,aAAqB,EAArBA,EAAuBv8F,UAAW,KAC5CsE,GAAUu4G,aAAqB,EAArBA,EAAuBv4G,UAAW,KAC5C8B,GAAY40D,aAAI,EAAJA,EAAM50D,YAAa,GAE/BoX,IAAkB,IAAAC,sBAuDlBmxL,GAA2C,EAC7C5zI,aAAI,EAAJA,EAAMx5B,QACA,CACIr5C,KAAM,gBAAC,UAAS,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqBwQ,QAC5EwG,KAAM/X,EAAE,0DACRoE,MACI,gBAAC,UAAoC,CACjCygD,eAAes5B,aAAI,EAAJA,EAAMx5B,SAAU,KAC/B07H,yBA3Ce,SAACx7H,GAC7BA,EAKLlkB,GACI,CACIv+B,KAAM,EAAA4hC,uBAAuB4jC,mBAC7Bv8D,GAAIw5C,GAER,CACI4iB,uBAAuB,KAV3B,IAAA5zC,YAAW,mDAanB,IA+Bcn0B,UAAW,gBAAC,UAAsC,CAACmlD,eAAes5B,aAAI,EAAJA,EAAMx5B,SAAU,OAClFzsC,WAAYlY,EAAE,uDACdmY,aAAa,GAEjB,MAGJ65M,GACF,gBAAC,UAAO,CACJ9xN,SAAU,EAAAC,oBAAoBu+F,QAC9Br+F,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,6DAIV,SAAC8yB,EAAQmrC,GAAsB,OAC5B,gBAAC,UAAc,CACXp+D,UAAWo+D,EACXn9D,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB0Q,QAJV,IAUlCwgN,GAAwB,SAACtyM,G,cACrBuyM,EAAmC,CACrC,CACI5mN,KAAM,KACNyM,KAAM/X,EAAE,qDACRoE,OAAOub,aAAQ,EAARA,EAAUwyM,wBACb,gBAAC,UAAoB,CACjB3wN,UAAU,IAAA4wN,qBACNzyM,aAAQ,EAARA,EAAU+9F,yBAAyB/9F,aAAQ,EAARA,EAAUqiE,uBAC7CriE,aAAQ,EAARA,EAAUykL,uBAAuBzkL,aAAQ,EAARA,EAAUsiE,oBAC3CtiE,aAAQ,EAARA,EAAUwyM,0BAGb,IAAA5pI,YAAW,qBAAsB5oE,aAAQ,EAARA,EAAUwyM,yBAEhD,KACJj6M,WAAYlY,EAAE,qDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,EACjBj8C,WAAWigB,aAAQ,EAARA,EAAU0yM,oBAAqB,gBAAC,UAAyB,MAAM,MAE9E,CACI/mN,KAAM,KACNyM,KAAM/X,EAAE,kDACRoE,OAAOub,aAAQ,EAARA,EAAUE,qBACb,gBAAC,UAAoB,CACjBre,UAAU,IAAA4wN,qBACNzyM,aAAQ,EAARA,EAAU+9F,yBAAyB/9F,aAAQ,EAARA,EAAUqiE,uBAC7CriE,aAAQ,EAARA,EAAUykL,uBAAuBzkL,aAAQ,EAARA,EAAUsiE,oBAC3CtiE,aAAQ,EAARA,EAAUE,uBAGb,IAAA0oE,YAAW,qBAAsB5oE,aAAQ,EAARA,EAAUE,sBAEhD,KACJ3H,YAAYyH,aAAQ,EAARA,EAAUwyM,wBAChBnyN,EAAE,mDACFA,EAAE,qDACRmY,aAAa,EACbrY,aAAc,uBACdJ,WAAWigB,aAAQ,EAARA,EAAU2yM,iBAAkB,gBAAC,UAAyB,MAAM,OAK/E,IAD2B7qI,GAA4Br5D,IAAIzO,aAAQ,EAARA,EAAUvd,MAEjE,MAAO,CACH,CACIkJ,KAAMk8E,GAAuB7nE,GAC7B5H,KAAMwvE,GAAmBvnF,EAAG2f,GAC5Bvb,MACI,gBAAC,UAAa,CACV0U,OAAQ+4M,GAAoClyM,GAC5C6lB,SAAU7lB,aAAQ,EAARA,EAAUkmB,UAG5B3tB,WAAYlY,EAAE,uDACdmY,aAAa,EACb4M,KAAM,EAAF,CACA,CACIzZ,KAAM,KACNyM,KAAM/X,EAAE,6CACRoE,OAAO,IAAAwhC,qBACHjmB,aAAQ,EAARA,EAAU+9F,yBAAyB/9F,aAAQ,EAARA,EAAUqiE,uBAC7CriE,aAAQ,EAARA,EAAUykL,uBAAuBzkL,aAAQ,EAARA,EAAUsiE,qBAE/C/pE,WAAYlY,EAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,I,EAElBu2K,IAAU,KAM7B,IAAMK,GAA0B,IAAAC,8BAA6B,CACzDC,8BAA+B9yM,aAAQ,EAARA,EAAUiuL,oBACzC5rH,qBAAsBriE,aAAQ,EAARA,EAAUqiE,qBAChCC,mBAAoBtiE,aAAQ,EAARA,EAAUsiE,mBAC9By7B,sBAAuB/9F,aAAQ,EAARA,EAAU+9F,sBACjC0mF,oBAAqBzkL,aAAQ,EAARA,EAAUykL,sBAGnC,MAAO,CACH,CACI94L,KAAMk8E,GAAuB7nE,GAC7B5H,KAAMwvE,GAAmBvnF,EAAG2f,GAC5Bvb,MACI,gBAAC,UAAa,CACV0U,OAAQ+4M,GAAoClyM,GAC5C6lB,SAAU7lB,aAAQ,EAARA,EAAUkmB,UAG5B3tB,WAAYlY,EAAE,uDACdmY,aAAa,EACb4M,KAAM,EAAF,SACIwtM,EAAwBG,4BACtB,CACI,CACIpnN,KAAM,KACNyM,KAAM/X,EAAE,sDACRoE,OAAO,IAAAwhC,oBACHjmB,aAAQ,EAARA,EAAUqiE,qBACVriE,aAAQ,EAARA,EAAUsiE,oBAEd/pE,WAAYlY,EAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAMinN,EAAwBE,8BACxBT,GACA,KACNj6M,KACI,gBAAC,UAAsB,CACnBvW,SAAU+wN,EAAwBE,+BAEjCzyN,EAAE,wDAGXoE,MACI,gBAAC,UAAsB,CACnB5C,SAAU+wN,EAAwBE,gCAEjC,IAAA7sL,oBACGjmB,aAAQ,EAARA,EAAU+9F,sBACV/9F,aAAQ,EAARA,EAAUykL,sBAItBlsL,WAAYlY,EAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,IAGzB,CACI,CACIrwC,KAAMinN,EAAwBE,8BACxBT,GACA,KACNj6M,KACI,gBAAC,UAAsB,CACnBvW,SAAU+wN,EAAwBE,+BAEjCzyN,EAAE,8CAGXoE,MACI,gBAAC,UAAsB,CACnB5C,SAAU+wN,EAAwBE,gCAEjC,IAAA7sL,qBACGjmB,aAAQ,EAARA,EAAU+9F,yBAAyB/9F,aAAQ,EAARA,EAAUqiE,uBAC7CriE,aAAQ,EAARA,EAAUykL,uBAAuBzkL,aAAQ,EAARA,EAAUsiE,sBAIvD/pE,WAAYlY,EAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,MAEvB,KACLu2K,IAAU,IACb,CACI5mN,KAAM,KACNyM,KAAM/X,EAAE,gDACRoE,MAAwB,QAAjB,EAAAub,aAAQ,EAARA,EAAUjS,eAAO,eAAEg+E,YAC1BxzE,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,gDACRoE,MAAwB,QAAjB,EAAAub,aAAQ,EAARA,EAAUjS,eAAO,eAAE3I,SAC1BmT,WAAYlY,EAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,iDACRoE,MAAwB,QAAjB,EAAAub,aAAQ,EAARA,EAAUjS,eAAO,eAAEqb,MAC1B7Q,WAAYlY,EAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,iDACRoE,MAAwB,QAAjB,EAAAub,aAAQ,EAARA,EAAUjS,eAAO,eAAE9H,MAC1BsS,WAAYlY,EAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,EAAE,4CACRoE,MAAwB,QAAjB,EAAAub,aAAQ,EAARA,EAAUjS,eAAO,eAAEqB,QAC1BmJ,WAAYlY,EAAE,gDACdmY,aAAa,K,IAKjC,EAEMu/H,IAAc,IAAA/zI,UAAQ,W,MAExB,KADgCw6E,aAAI,EAAJA,EAAM8K,WAElC,MAAO,GAGX,IAAMr0E,GAAwC,QAA9B,EAAAorH,aAAqB,EAArBA,EAAuBprH,eAAO,eAAE8xC,MAAM,KAAM,GAC5D,OAAO9xC,aAAO,EAAPA,EAASxT,QAASwT,EAAU,CAAC,KACxC,GAAG,CAACupE,EAAM6hD,IAEJ8X,GAA8C,CAChD,CACIxsI,KAAM,gBAAC,UAAW,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OAC9EC,KAAM/X,EAAE,qDACRoE,OAAOqjB,aAAO,EAAPA,EAASpc,IACZ,gBAAC,UAAI,CACDgc,GAAI,EAAAC,WAAWwM,eAAe,EAAAtM,gBAAgBC,QAASA,EAAQpc,IAC/DxL,UAAWf,GAAG,QACduB,MAAO,EAAA8mB,cAAcC,eAEpBK,aAAO,EAAPA,EAAS1P,MAEd,KACJG,WAAYlY,EAAE,uDACdmY,aAAa,EACb4M,KAAM,EAAF,CACA,CACIzZ,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,EAAE,mDACRoE,MAAO8e,EACH,gBAAC,UAAkB,CAAC2xD,QAAS3xD,aAAK,EAALA,EAAO7X,GAAIusI,mBA9S7B,YACtB10H,aAAK,EAALA,EAAO7X,MAAOoc,aAAO,EAAPA,EAASpc,IAK5Bs1B,GACI,CACIv+B,KAAM,EAAAmnC,uBAAuB6mB,aAC7B3W,QAASv2B,EAAM7X,GACf7I,UAAWilB,EAAQpc,IAEvB,CACIo8D,uBAAuB,KAX3B,IAAA5zC,YAAW,mDAcnB,GA+RwB,gBAAC,UAAmB,CAACvN,MAA2B,QAApB,EAAApD,aAAK,EAALA,EAAO20H,qBAAa,eAAEvxH,MAAOC,YAAarD,aAAK,EAALA,EAAOqD,eAEjF,KACJrO,WAAYlY,EAAE,qDACdmY,aAAa,GAEjB,CACI7M,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,EAAE,qDACRoE,MAAO+e,EACH,gBAAC,UAAkB,CAAC0xD,QAAS1xD,aAAO,EAAPA,EAAS9X,GAAIusI,mBAlW7B,YACxBz0H,aAAO,EAAPA,EAAS9X,MAAOoc,aAAO,EAAPA,EAASpc,IAK9Bs1B,GACI,CACIv+B,KAAM,EAAAmnC,uBAAuBklB,eAC7BJ,UAAWlrC,EAAQ9X,GACnB7I,UAAWilB,EAAQpc,IAEvB,CACIo8D,uBAAuB,KAX3B,IAAA5zC,YAAW,qDAcnB,GAmVwB,gBAAC,UAAmB,CAChBvN,MAA+B,QAAxB,EAAAnD,aAAO,EAAPA,EAASksB,uBAAe,eAAE/oB,MACjCC,YAAapD,aAAO,EAAPA,EAASoD,eAG9B,KACJrO,WAAYlY,EAAE,uDACdmY,aAAa,GAEjB,CACI7M,KAAM,gBAAC,UAAU,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqB+W,OAC3EC,KAAM/X,EAAE,oDACRoE,OAAqC,QAA9B,EAAA47H,aAAqB,EAArBA,EAAuBprH,eAAO,eAAG,IACpC,gBAAC,UAAqB,CAACmgF,OAAsC,QAA9B,EAAAirC,aAAqB,EAArBA,EAAuBprH,eAAO,eAAG,KAChE,KACJsD,WAAYlY,EAAE,sDACdmY,aAAa,I,EAEdu/H,GAAYlhI,KAAI,SAACu+E,GAChB,MAAO,CACHzpF,KAAM,gBAAC,UAAc,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OACjFC,KAAM/X,EAAE,yDACRoE,MAAO2wF,EAAS,gBAAC,UAAqB,CAACA,OAAQA,IAAa,KAC5D78E,WAAYlY,EAAE,sDACdmY,aAAa,EAErB,MAAE,KAKd,OACI,uBAAKtY,WAAW,aAAGf,GAAG,WAAYe,IAC9B,gBAAC,UAAS,CAACgnB,mBAAiB,EAAC9B,KAAM+yH,GAAgBj4I,UAAWf,GAAG,QAAS,oBAC1E,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAMgtM,GAAalyN,UAAWf,GAAG,QAAS,iBACtEyqB,EAAU/S,KAAI,SAACmJ,EAAUlJ,GACtB,OACI,gBAAC,UAAS,CACN3E,IAAK,UAAG2E,EAAK,YAAIkJ,EAAStU,IAC1Bwb,mBAAiB,EACjB9B,KAAMktM,GAAsBtyM,GAC5B9f,UAAWf,GAAG,QAAS,oBAGnC,IAGZ,IAEA,UAAegzN,E,+BCpnBf,WAAgB,OAAS,wDAAwD,OAAS,wDAAwD,SAAW,0D,umDCD7J,eACA,WAQA,WAYA,cACA,cACA,WACA,WACA,WAKA,UACA,cACA,WACA,WACA,WAEA,SAAUa,EAAgB7vN,G,wEAG4C,OAF1DglE,EAA8BhlE,EAAM,SAA1BopB,EAAoBppB,EAAM,OAAlBxB,EAAYwB,EAAM,QAEsB,IAAM,IAAAiJ,SAAO,IAAAmuI,0BAAyBhuH,K,OAGxG,OAHMvpB,EAA4D,UAE5C,aAAiBA,EAAerB,EAAS,EAAA+/K,aAKzD1rH,GAAO,IAAAqkF,eAAc9tH,GAE3B,IAAM,IAAAjgB,MAAI,IAAAymI,kBAAiB/8E,MALvB,I,cAKJ,SAGImS,EACW,GAAM,UAAkB8qJ,mBAAmB1mM,IADtD,M,cACA3f,EAAW,S,aAEA,SAAM,UAAkBkmI,YAAYvmH,I,OAA/C3f,EAAW,S,wBAGT,IAAkBA,EAAQ,GAAzBrJ,EAAK,KAAEoJ,EAAM,KAEhBpJ,EACA,IAAM,IAAA+I,MAAI,IAAA2mI,kBAAiB1vI,EAAOyyD,KADlC,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA1pD,MAAI,IAAA0mI,oBAAmBh9E,EAAMrpD,GAAU,M,cAA7C,S,QAGJ,SAAUumN,EAAkB3mM,EAAiB47C,G,kDACzC,UAAM,IAAA77D,MACF,IAAAwmI,aAAYvmH,EAAQ47C,EAAU,CAC1B5mC,eAAe,M,cAFvB,S,QAOJ,SAAU4xL,EAAgBhwN,G,oEAG4C,OAF1DglE,EAA2BhlE,EAAM,SAAvBopB,EAAiBppB,EAAM,OAAf+e,EAAS/e,EAAM,KAEyB,IAAM,IAAAiJ,SAAO,IAAAwuI,0BAAyBruH,K,OACxG,OADkE,SAChDlpB,UACd,IAAA6wB,YAAW,yCACX,MAGE8hC,GAAO,IAAAqkF,eAAc9tH,GAE3B,IAAM,IAAAjgB,MAAI,IAAA6mI,kBAAiBn9E,M,cAA3B,SAGImS,EACW,GAAM,UAAkBirJ,mBAAmB7mM,EAAQ,EAAAo1J,yBAA0Bz/J,IADxF,M,cACAtV,EAAW,S,aAEA,SAAM,UAAkBsmI,YAAY3mH,EAAQ,EAAAo1J,yBAA0Bz/J,I,OAAjFtV,EAAW,S,wBAET,IAAUA,EAAQ,IAAjBrJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA+mI,kBAAiB9vI,EAAOyyD,KADlC,M,OAEA,OADA,SACA,I,OAGJ,SAAMk9J,EAAkB3mM,EAAQ47C,I,OAEhC,OAFA,SAEA,IAAM,IAAA77D,MAAI,IAAA8mI,oBAAmBp9E,K,QAE7B,OAFA,SAEA,IAAM,IAAA1pD,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBqE,WAC1BjxB,KAAM,CAAC,O,eAJnB,SASA,EAAAonN,2BAA2BvyL,KAAK,CAAC,G,QAGrC,SAAUwyL,EAAgBnwN,G,oEAG4C,OAF1DglE,EAA8BhlE,EAAM,SAA1BopB,EAAoBppB,EAAM,OAAlB4uH,EAAY5uH,EAAM,QAEsB,IAAM,IAAAiJ,SAAO,IAAAquI,0BAAyBluH,K,OACxG,OADkE,SAChDlpB,UACd,IAAA6wB,YAAW,wCACX,MAGE8hC,GAAO,IAAAqkF,eAAc9tH,GAE3B,IAAM,IAAAjgB,MAAI,IAAAinI,kBAAiBv9E,EAAM+7D,M,cAAjC,SAGI5pD,EACW,GAAM,UAAkBorJ,mBAAmBhnM,EAAQwlG,IAD9D,M,cACAnlH,EAAW,S,aAEA,SAAM,UAAkB0mI,YAAY/mH,EAAQwlG,I,OAAvDnlH,EAAW,S,wBAET,IAAUA,EAAQ,IAAjBrJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAmnI,kBAAiBlwI,EAAOyyD,KADlC,M,OAEA,OADA,SACA,I,OAGJ,SAAMk9J,EAAkB3mM,EAAQ47C,I,OAEhC,OAFA,SAEA,IAAM,IAAA77D,MAAI,IAAAknI,oBAAmBx9E,K,QAE7B,OAFA,SAEA,IAAM,IAAA1pD,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBsE,aAC1BlxB,KAAM,CAAC,O,eAJnB,SASA,EAAAonN,2BAA2BvyL,KAAK,CAAC,G,QASrC,UANA,W,kDACI,UAAM,IAAA/zB,WAAU,EAAAklI,qBAAsB+gF,I,OACtC,OADA,SACA,IAAM,IAAAjmN,WAAU,EAAAslI,qBAAsB8gF,I,OACtC,OADA,SACA,IAAM,IAAApmN,WAAU,EAAA0lI,qBAAsB6gF,I,cAAtC,S,uCCjKJ,WAAgB,MAAQ,mCAAmC,SAAW,sCAAsC,iBAAiB,4CAA4C,IAAM,iCAAiC,oBAAoB,+CAA+C,YAAc,yCAAyC,UAAY,uCAAuC,WAAa,wCAAwC,OAAS,oCAAoC,SAAW,sC,q7BCD1e,kBAEA,cACA,cAEA,aAMMn0N,EAAK,UAAWC,KAAK,WAErBka,EAA6Bha,EAAMC,MAAK,SAACC,GACnC,IAEA,EAFYA,EAAK,QAEW,YAA5BowB,OAAW,IAAG,KAAE,EAExB,OACI,uBAAK1vB,UAAWf,EAAG,SACdywB,EAAY/Y,KAAI,SAAC+Y,GAAgB,OAC9B,gBAAC,UAAe,CAACzd,IAAKyd,EAAantB,KAAMmtB,GADX,IAK9C,IAEA,UAAetW,C,+BC1Bf,WAAgB,KAAO,oCAAoC,oBAAoB,iDAAiD,mBAAmB,gDAAgD,OAAS,sCAAsC,SAAW,wC,+BCA7P,WAAgB,KAAO,sCAAsC,oBAAoB,mDAAmD,eAAe,8CAA8C,sBAAsB,qDAAqD,sBAAsB,qDAAqD,gBAAgB,+CAA+C,eAAe,8CAA8C,mBAAmB,kDAAkD,mBAAmB,kDAAkD,cAAc,6CAA6C,mBAAmB,kDAAkD,OAAS,wCAAwC,SAAW,0C,y3BCDzxB,kBACA,WAOMk6M,EAAmC,SAACh0N,GAC9B,IAAA2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAExC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,MACtD,qBAAGU,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,8LAEN,wBACI/E,KAAMkK,EACNnF,EAAE,szBAKtB,EAEAyiN,EAAeliN,YAAc,iBAE7B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeiiN,C,syDCpCf,kBACA,WACA,cACA,WACA,WAOMC,EAAmB,EAAI,EAAA50K,UAEvB60K,EAAmCp0N,EAAMC,MAAK,SAACC,GACzC,IAAAm0N,EAA8Cn0N,EAAK,iBAAjCo0N,EAA4Bp0N,EAAK,UAAnBusB,EAAS,EAAKvsB,EAAhD,kCAEAq0N,EAAmBv0N,EAAM6I,OAA8B,MAEvD,IAA0B7I,EAAMuE,UAAkB,GAAM,GAAvDiwN,EAAQ,KAAEC,EAAW,KAEpB1zN,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAM,KACCyrB,EAAS,CACb9qB,QAAS,WACD4yN,EAAiB9oN,UACjB6iH,aAAaimG,EAAiB9oN,SAC9B8oN,EAAiB9oN,QAAU,MAG/B8oN,EAAiB9oN,QAAU23E,YAAW,WAClCqxI,GAAY,EAChB,GAAGH,GAAaH,GAEhBM,GAAY,IAEZ,IAAA/tE,iBAAgB2tE,EACpB,IAEYtzN,EAAXyzN,EAAa,wBAA6B,uBAGvD,IAEA,UAAeJ,C,8FC7Cf,eAYS,EAAAlwC,YANW,SAAC1qK,GACjB,MAAO,CACH+8E,OAAQ/8E,EAAW,EAAA5Z,WAAW22F,QAEtC,C,gJCVA,eAWa,EAAAj7B,SAAW,SAAClvD,GAAgC,OACrDjJ,KAAM,EAAAuxN,UACNtoN,GAAE,EAFmD,EAK5C,EAAAuoN,eAAiB,SAACvoN,GAAsC,OACjEjJ,KAAM,EAAAyxN,yBACNxoN,GAAE,EAF+D,EAKxD,EAAAyoN,iBAAmB,SAACzoN,GAAwC,OACrEjJ,KAAM,EAAA2xN,2BACN1oN,GAAE,EAFmE,EAK5D,EAAA2oN,eAAiB,SAAC3oN,EAAYnI,GAAwC,OAC/Ed,KAAM,EAAA6xN,yBACN/wN,MAAK,EACLmI,GAAE,EAH6E,C,ifC1BnF,eACA,WAEA,WAqII,EAAA6oN,6BAlIiC,SAACj6M,EAAqBwsB,GACvD,IAAMkpC,EAAqD,GAgB3D,OAdAlpC,EAAQ8L,OAAOh3B,SAAQ,SAACk3B,EAAOh8B,G,MACrB09M,EAA8C,QAAxB,EAAAl6M,EAAO,EAAApb,WAAWymC,cAAM,eAAG7uB,GAEjDrP,EAAa+sN,aAAmB,EAAnBA,EAAsB,EAAA5uL,qBAAqBn+B,YAC1DA,GAAcqrC,EAAMrwC,OAAS,EAAAmvE,kCAAkCC,UAC/D7B,EAAY94D,KAAK,CACbxL,GAAIonC,EAAMpnC,GACVimE,aAAc6iJ,aAAmB,EAAnBA,EAAsB,EAAA5uL,qBAAqBirC,oBACzD/5C,KAAMrvB,EAAWD,MACjBkgB,GAAIjgB,EAAW8D,KAG3B,IAEO,CACHykE,YAAW,EAEnB,EAEA,IAAMykJ,EAAqC,SACvCnsL,GAEA,IAAMosL,EAAuD,CAAC,EAM9D,GAJI,EAAA9uL,qBAAqBirC,sBAAsBvoC,IAC3CosL,EAAqB7jJ,mBAAqBvoC,EAAQ,EAAA1C,qBAAqBirC,qBAGvE,EAAAjrC,qBAAqBn+B,cAAc6gC,EAAS,CAC5C,IAAM7gC,EAAa6gC,EAAQ,EAAA1C,qBAAqBn+B,YAEhDitN,EAAqBtkJ,gBAAiB3oE,aAAU,EAAVA,EAAYD,QAAS,KAC3DktN,EAAqBrkJ,cAAe5oE,aAAU,EAAVA,EAAY8D,MAAO,IAC3D,CAcA,OAZI,EAAAq6B,qBAAqBnjC,QAAQ6lC,IAC7BosL,EAAqBjyN,KAAO6lC,EAAQ,EAAA1C,qBAAqBnjC,OAGzD,EAAAmjC,qBAAqBC,YAAYyC,IACjCosL,EAAqBxuL,SAAU,IAAAo6C,iBAAgBh4C,EAAQ,EAAA1C,qBAAqBC,WAAa,OAGzF,EAAAD,qBAAqBk/C,UAAUx8C,IAC/BosL,EAAqBxkJ,aAAe5nC,EAAQ,EAAA1C,qBAAqBk/C,SAG9D4vI,CACX,EAiFI,EAAAC,sCA/E0C,SAC1CC,EACA31I,GAEA,MAAO,CACH/N,cAAe,CACX2jJ,mBAAoBD,EACpBtsL,QAASmsL,EAAmCx1I,IAGxD,EAsEI,EAAA61I,yCApE6C,SAAChwI,GAC9C,MAAO,CACH3T,iBAAkB,CACdjB,aAAc4U,GAG1B,EA+DI,EAAAiwI,yCA7D6C,SAC7CjwI,EACA7F,GAEA,MAAO,CACHjO,iBAAkB,CACdd,aAAc4U,EACdx8C,QAASmsL,EAAmCx1I,IAGxD,EAgDI,EAAA+1I,yBA9C6B,SAAC1sL,G,MAC1B2sL,EAAmC,CAAC,EAwCxC,OAtCI,EAAA/1N,WAAWwrB,WAAW4d,IACtB2sL,EAAa,EAAH,KACHA,GAAU,CACbvqM,QAAS4d,EAAQ,EAAAppC,WAAWwrB,YAIhC,EAAAxrB,WAAWo6G,iBAAiBhxE,IAC5B2sL,EAAa,EAAH,KACHA,GAAU,CACb37G,cAAehxE,EAAQ,EAAAppC,WAAWo6G,kBAItC,EAAAp6G,WAAWkoC,UAAUkB,IACrB2sL,EAAa,EAAH,KACHA,GAAU,CACb7tL,OAAQkB,EAAQ,EAAAppC,WAAWkoC,WAI/B,EAAAloC,WAAW0rE,qBAAqBtiC,IAChC2sL,EAAa,EAAH,KACHA,GAAU,CACbrqJ,kBAAmBtiC,EAAQ,EAAAppC,WAAW0rE,sBAI1C,EAAA1rE,WAAWymC,SAAS2C,IACpB2sL,EAAa,EAAH,KACHA,GAAU,CAEbnkJ,gBAA0C,QAAzB,EAAAxoC,EAAQ,EAAAppC,WAAWymC,cAAM,eAAE9uB,KAAI,SAACk6D,GAC7C,OAAO0jJ,EAAmC1jJ,EAC9C,OAIDkkJ,CACX,C,24BCrIA,kBACA,cAEA,cACA,cACA,WAEA,cACA,cACA,aACA,WAIA,cACA,WACA,WAEM91N,EAAK,UAAWC,KAAK,WA0N3B,UA7K8B,SAAkBI,GAExC,IAAAqzF,EAuBArzF,EAAK,eAtBLkF,EAsBAlF,EAAK,SArBLmC,EAqBAnC,EAAK,QApBLoC,EAoBApC,EAAK,cAnBLm6E,EAmBAn6E,EAAK,qBAlBL8G,EAkBA9G,EAAK,aAjBLwH,EAiBAxH,EAAK,eAhBLqF,EAgBArF,EAAK,WAfLgP,EAeAhP,EAAK,UAdLupH,EAcAvpH,EAAK,SAbLmF,EAaAnF,EAAK,WAZLoF,EAYApF,EAAK,SAXLwuK,EAWAxuK,EAAK,gBAVLuC,EAUAvC,EAAK,gBATLU,EASAV,EAAK,UARLwF,EAQAxF,EAAK,WAPLusI,EAOAvsI,EAAK,iBANLkC,EAMAlC,EAAK,iBALLuF,EAKAvF,EAAK,QAJLsF,EAIAtF,EAAK,OAHLW,EAGAX,EAAK,aAFL0H,EAEA1H,EAAK,QADLiuK,EACAjuK,EAAK,iBAEDa,GAAM,IAAAC,kBAAgB,EAExB4E,EAAc1F,EAAM0F,aAAe7E,EAAE,yDAErC,IAAuB,UAAMwD,UAAS,GAAM,GAA3C0yB,EAAM,KAAEC,EAAU,KAEnB0+L,EAAa,WACXrwN,IAGAE,GACAA,IAEJyxB,GAAYD,GAChB,EAgBM4+L,EAAgB,IAAIC,IAC1BzzN,EAAQia,SAAQ,SAAC5V,GACb,KAAI,IAAAu0H,sBAAqBv0H,GAAzB,CAIA,IAAMvB,EAAQuC,EAAehB,GAE7BmvN,EAAc7qH,IAAI7lG,EAAOuB,EAJzB,CAKJ,IAEA,IAAMqvN,EAAoB,IAAI/mM,IAAYukE,GACpCo7E,EAAkCp7E,EAAeh8E,KAAI,SAACpS,GAAU,OAAA0wN,EAAcxa,IAAIl2M,EAAlB,IAA0B+pB,OAAO,EAAA4/B,UAiBjGn3B,KAAa47D,aAAc,EAAdA,EAAgBpxF,QAEnC,OACI,wBAAC,UAAkB,CACfsnH,SAAUA,EACVxyF,OAAQA,EACRr2B,UAAWA,EACXF,QA3CiB,WACjB8E,GACAA,IARAA,GACAA,IAEJ0xB,GAAW,EAQf,EAuCQsnB,YACIl8C,EACIA,EACI,CACIqiD,SAAUgqH,EAAgBxsK,OAC1BK,UAAWy0B,EACX1xB,aAAcA,EACdG,aAAcA,EACdL,aAAcA,EACdC,WAAYA,EACZ3D,QAASi0N,EACTj4C,qBAAsB/1K,GAAW+vB,EACjC/vB,QAAO,GAEX+mK,EACA/oK,GAGJ,wBAAC,UAAyB,CACtB++C,SAAUgqH,EAAgBxsK,OAC1BK,UAAWy0B,EACX1xB,WAAYA,EACZG,WAAYA,EACZL,WAAYA,EACZC,SAAUA,EACVmP,SAAUi6J,EACVnnK,gBAAiB,WACb,OAAA2H,EACI,wBAAC,UAAiB,CACdrN,UAAW,EAAAC,qBAAqBsS,YAChCkC,KAAM,EAAAC,oBAEV,IALJ,EAOJ3V,UAAW6rI,EACX5rI,aAAcA,EACdc,QAASi0N,EACTj4C,qBAAsB/1K,GAAW+vB,EACjC/vB,QAASA,GAERyyE,aAAoB,EAApBA,EAAuBs0F,EAAiB/oK,IAIrDnD,gBAAiBA,EACjBL,kBAAkB,aAAGvC,EAAG,WAAYuC,GACpCm5H,YACI,gDACKl5H,EAAQkV,KAAI,SAAC7Q,EAAQ8Q,GAClB,IAAI,IAAAyjH,sBAAqBv0H,GACrB,OAAO,+BAAKmM,IAAK2E,EAAO5W,UAAWf,EAAG,eAG1C,IAAMsF,EAAQuC,EAAehB,GAEvBohB,EAAaiuM,EAAkB5mM,IAAIhqB,GAEzC,OACI,+BAAK0N,IAAK2E,EAAO5W,UAAWf,EAAG,WAC3B,wBAAC,UAAQ,GACLie,aAAW,EACXgoE,QAASh+D,EACTlnB,UAAWf,EAAG,oBACdgB,aAAc,UAAGA,EAAY,mBAAW2W,IACpC22J,aAAgB,EAAhBA,EAAmBznK,EAAQ8Q,GAAM,CACrCvQ,MAAO,+BAAKrG,UAAWf,EAAG,kBAAmBmH,EAAaN,IAC1DsW,SAAU,YAzFrB,SAAC7X,GAClB,IAAII,EAAJ,CAIA,IAAMywN,EAAuB,IAAIhnM,IAAI+mM,GACXC,EAAqB7mM,IAAIhqB,GAE/C6wN,EAAqBjoH,OAAO5oG,GAE5B6wN,EAAqBl8M,IAAI3U,GAE7BC,EAAS,EAAD,KAAK4wN,IAAoB,GATjC,CAUJ,CA6EoCv8H,CAAat0F,EACjB,KAIhB,MAKpB,C,64BC1OA,kBACA,WACA,WAOa,EAAA8wN,+BAA4B,MACpC,EAAAxgK,yBAAyBC,kBAAmB,2CAC7C,EAAC,EAAAD,yBAAyBv3B,kBAAmB,2CAC7C,EAAC,EAAAu3B,yBAAyBg1B,UAAW,kCACrC,EAAC,EAAAh1B,yBAAyB9vB,WAAY,oCACtC,EAAC,EAAA8vB,yBAAyBL,MAAO,8BACjC,EAAC,EAAAK,yBAAyB5vB,UAAW,kCACrC,EAAC,EAAA4vB,yBAAyB0vC,UAAW,kCACrC,EAAC,EAAA1vC,yBAAyB3vB,SAAU,iC,GAGxC,IAAMowL,EAAyCl2N,EAAMC,MAAK,SAACC,GAC/C,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAAk1N,6BAA6B3sM,IAH3B,IAIf,IAEA,UAAe4sM,C,u9BChCf,IAOY7rB,EAPZ,cAEA,UACA,cACA,WACA,cAEA,SAAYA,GACR,YACA,cACA,yBACH,CAJD,CAAYA,IAAsB,yBAAtBA,EAAsB,KAkBlC,IAAMjqE,IAAQ,MACTiqE,EAAuBpiK,MAAO,8DAC/B,EAACoiK,EAAuBhqE,YAAa,oEACrC,EAACgqE,EAAuB/zF,KAAM,6D,GAqDlC,UAlDmC,SAACp2G,GACxB,IAAAU,EAA6CV,EAAK,UAAvCiF,EAAkCjF,EAAK,MAAhCkF,EAA2BlF,EAAK,SAAtBW,EAAiBX,EAAK,aAElDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAUrC,EAAM0E,SAAQ,WAC1B,MAAO,CACH,CACI0H,GAAIi+L,EAAuBpiK,KAC3BhhC,MAAOlG,EAAEq/H,EAASiqE,EAAuBpiK,QAE7C,CACI77B,GAAIi+L,EAAuBhqE,WAC3Bp5H,MAAOlG,EAAEq/H,EAASiqE,EAAuBhqE,cAGrD,GAAG,CAACt/H,IAEJ,OACI,gBAAC,UAAa,CACVH,UAAWA,EACXyG,cAAelC,EACf9C,QAASA,EACT+C,SAAUA,EACVvE,aAAcA,EACdmG,aAAc,SAACN,GACX,OAAKA,EAIE,gBAAC,UAA0B,CAACwyC,iBAAe,EAACjyC,MAAOP,EAAOO,QAHtD,IAIf,EACAozE,qBAAsB,SAACqkC,EAAgB94G,GACnC,OAAK84G,EAIE39G,EAAEq/H,EAAS1hB,EAAetyG,KAHtBxG,CAIf,EACAA,YAAa7E,EAAEq/H,EAASiqE,EAAuB/zF,MAC/C3wG,iBAAe,EACfiC,QAAS,WACLxC,EAASilM,EAAuB/zF,IACpC,EACA5uG,eAAgB,SAAChB,GAAW,OAAAA,aAAM,EAANA,EAAQ0F,EAAR,EAC5B3J,gBAAiB,EAAAC,4BAA4BiF,YAGzD,C,+BC9EA,WAAgB,kBAAkB,mDAAmD,OAAS,0CAA0C,SAAW,4C,q7BCDnJ,kBAEA,WACA,cACA,cAOMwuN,EAA+Bn2N,EAAMC,MAAK,SAACC,GACrC,IAAAs8H,EAAqBt8H,EAAK,iBAE5BiI,GAAa,IAAAw+B,oBAAmB61F,EAAiB45F,eAAgB55F,EAAiB65F,cAExF,OACI,gBAAC,UAAY,CACTzvL,QACI,gBAAC,UAAa,CACVL,SAAU,CACN8hB,QAASm0E,EAAiB85F,YAC1BhuK,KAAMk0E,EAAiBnoE,SACvBztC,QAAS41G,EAAiB+5F,iBAE9B18M,OAAO,mBACP28M,sBAAoB,IAG5BnkL,KAAMlqC,GAGlB,IAEA,UAAeguN,C,q2BClCf,kBACA,WACA,UACA,WACA,WAIMM,EAA8Cz2N,EAAMC,MAAK,WACnD,IAIJy2N,EAJI31N,GAAM,IAAAC,kBAAgB,EAExB21N,GAAkB,IAAAzgN,aAAY,EAAAwpC,uBAGpC,GAAIi3K,EAAiB,CACjB,IAAM/5G,GAAU,IAAAC,YAAW85G,GAE3BD,EAAmB95G,EACb,UAAGA,EAAO,YAAI77G,EAAE,iBAAkB,CAC9BgC,YAAa,WACbD,MAAO85G,KAEX,IACV,CAEA,OACI,4BACK77G,EAAE,4DAA6D,CAC5D61N,gBAAiBF,IAIjC,IAEA,UAAeD,C,sLC/BF,EAAA9pD,wBAA0B,SAAC/oK,GAA8C,OAAAA,EAAMqmK,aAAa/7J,KAAnB,EAEzE,EAAAw+J,wBAA0B,SAAC9oK,GAA8C,OAAAA,EAAMqmK,aAAa9jK,KAAnB,EAEzE,EAAA0wN,wBAA0B,SAACjzN,GAA8C,OAAAA,EAAMqmK,aAAa57J,KAAnB,EAEzE,EAAAyoN,wBAA0B,SAAClzN,GAA6C,OAAAA,EAAMqmK,aAAa17J,IAAnB,C,kMCTrF,kBAgBS,EAAAwiL,4BAb2B,WAChC,OAAO,UAAMztL,cAAkC,CAC3CkW,WAAY,KACZy5C,eAAgB,WAEhB,EACAE,sBAAuB,KACvBC,0BAA2B,WAE3B,GAER,C,+BCbA,WAAgB,QAAU,+CAA+C,eAAe,oDAAoD,OAAS,8CAA8C,SAAW,gD,slBCD9M,IAkBY75B,EAlBZ,YAkBA,SAAYA,GACR,+BAEA,+BACA,mCACA,+BACA,+BACA,wCACA,qCACA,mCACA,4CACA,iCACA,2BAEA,uCAEA,uCACA,uCACA,uCACA,qCAEA,wCAEA,+BACA,gEACA,kEACA,kDACA,oDACA,8DACA,gEACA,kDACA,oDACA,2FACA,0EACA,4EACA,iEACA,mEACA,kEACA,oEACA,yDACA,2DACA,0DACA,2EACA,iEAEA,2BACA,4DACA,8DACA,8CACA,gDACA,0DACA,4DACA,gDACA,8CACA,uFACA,sEACA,wEACA,6DACA,+DACA,8DACA,gEACA,qDACA,uDACA,sDACA,uEACA,6DAEA,2BACA,+BACA,8CAEA,mCACA,uCAEA,8CAEA,4CACA,gDAEA,oEACA,oEAEA,sDACA,oDACA,oDAEA,yDACA,6DACA,4DACH,CAzFD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAue/B,+B,8CAAsE,QAAlC,OAAkC,EAAtE,CAAoC,EAAAirI,UAAvB,EAAAnrI,eAAAA,C,q7BCzfb,kBAEA,cACA,cACA,WACA,cACA,cACA,WACA,WACA,cACA,WACA,WAMA,cACA,cACA,aAEMx5B,EAAK,UAAWC,KAAK,WASrB6mF,EAAmC3mF,EAAMC,MAAK,SAACC,G,cACzCkjC,EAAuCljC,EAAK,IAAvCyqI,EAAkCzqI,EAAK,iBAArBq0B,EAAgBr0B,EAAK,YAE5Ca,GAAM,IAAAC,kBAAgB,EAEtBuC,GAAc,eAAmB,UAEnCi5F,GAA0B,IAAAtmF,cAAY,IAAAs2K,+BAA8BjpL,IACpEg5F,GAAgB,IAAArmF,cAAY,IAAA2gI,qCAAoCtzI,IAEhEk5F,GAAqB,IAAAvmF,cAAY,IAAAu2K,0BAAyBlpL,IAC1DwpE,GAAgB,IAAA72D,cAAY,IAAAinH,qCAAoC55H,IAEhEq+B,GAAqB,eAE3B,OACKwB,EAAI65F,aAAa7wH,KAAOowF,GAA2BD,EAAcx4F,UAChD,QAAjB,EAAAq/B,EAAIC,qBAAa,eAAEj3B,MAAOqwF,GAAsB1vB,EAAchpE,QAExD,gBAAC,UAAuB,CAAClC,UAAW,EAAAC,qBAAqBI,MAAOoU,KAAM,EAAAC,oBAG7EqrB,EAAmBy2G,qBAAuBj1G,EAAIC,cAE1C,gBAAC,UAAqB,KAClB,gBAAC,UAAM,CACHziC,UAAWf,EAAG,UACduB,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAAS,WACDgpI,GACAA,EAAiBvnG,EAAI65F,aAAa7wH,GAE1C,GAECrL,EAAE,4CAOf6gC,EAAmBy2G,qBACD,QAAjB,EAAAj1G,EAAIC,qBAAa,eAAE/Z,UAAW,EAAAyC,mBAAmBG,WAC7B,QAAjB,EAAAkX,EAAIC,qBAAa,eAAE/Z,UAAW,EAAAyC,mBAAmBI,QAmBrDyV,EAAmBiB,qBAAuC,QAAjB,EAAAO,EAAIC,qBAAa,eAAE/Z,UAAW,EAAAyC,mBAAmBC,kBAEtF,gBAAC,UAAqB,KAClB,gBAAC,UAAM,CACHprB,UAAWf,EAAG,UACduB,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAAS,WACD4yB,GACAA,EAAY6O,EAEpB,GAECriC,EAAE,2CAMf,EAAAgzL,0BAA0B5kK,IAAIiU,EAAI65F,aAAa95H,MACxC,uBAAKvC,UAAWf,EAAG,mBAAoBkB,EAAE,0CAG7C,gBAAC,UAAQ,CAACH,UAAWf,EAAG,QAASitB,KAAuB,QAAjB,EAAAsW,EAAIC,qBAAa,eAAEzpB,YAtCzD,gBAAC,UAAqB,KAClB,gBAAC,UAAM,CACHhZ,UAAWf,EAAG,UACduB,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAAS,WACDgpI,GACAA,EAAiBvnG,EAAI65F,aAAa7wH,GAE1C,GAECrL,EAAE,8CA6BvB,IAEA,UAAe4lF,C,+BCpHf,WAAgB,SAAW,uCAAuC,gBAAkB,8CAA8C,MAAQ,oCAAoC,OAAS,qCAAqC,eAAe,2CAA2C,qBAAqB,iDAAiD,OAAS,qCAAqC,SAAW,uC,sBCCrZ,IAAY/mF,E,qEAAZ,SAAYA,GACR,0BACA,8BACA,gCACA,0CACA,4BACA,sCACA,gCACA,wBACA,2BACH,CAVD,CAAYA,IAAU,aAAVA,EAAU,I,q7BCFtB,kBAEA,cAEA,aAQMC,EAAK,UAAWC,KAAK,WAErBi3N,EAA+B/2N,EAAMC,MAAK,SAACC,GACrC,IAAAmM,EAA6BnM,EAAK,KAA5BC,EAAuBD,EAAK,MAArBovB,EAAgBpvB,EAAK,YAE1C,OACI,uBAAKU,UAAWf,EAAG,UACf,uBAAKe,UAAWf,EAAG,SAAUwM,GAC7B,uBAAKzL,UAAWf,EAAG,UAAWM,GAC9B,uBAAKS,UAAWf,EAAG,gBAAiByvB,GAGhD,IAEA,UAAeynM,C,uECvBf,UAHqB,SAACxmL,EAAuCC,GACzD,gBAAGD,GAAc,GAAE,YAAIC,GAAe,GAAtC,C,kUCDJ,cAqBa,EAAAb,wBAA0B,SAACttC,GAA2D,OAC/Fc,KAAM,EAAA4yF,kCACN1zF,QAAO,EAFwF,EAKtF,EAAAgiL,6BAA+B,WAA2C,OACnFlhL,KAAM,EAAA6yF,wCAD6E,EAI1E,EAAAyuF,+BAAiC,SAC1C95H,GACwC,OACxCxnD,KAAM,EAAA+yF,0CACNvrC,KAAI,EAFoC,EAK/B,EAAA25H,6BAA+B,SAACrgL,GAAsD,OAC/Fd,KAAM,EAAA8yF,wCACNhyF,MAAK,EAF0F,EAKtF,EAAA+yN,wBAA0B,SACnChuL,GACiC,OACjC7lC,KAAM,EAAAgzF,kCACNntD,QAAO,EAF0B,EAKxB,EAAAiuL,6BAA+B,WAA2C,OACnF9zN,KAAM,EAAAizF,wCAD6E,EAI1E,EAAA8gI,+BAAiC,SAC1CluL,GACwC,OACxC7lC,KAAM,EAAAmzF,0CACNttD,QAAO,EAFiC,EAK/B,EAAAmuL,6BAA+B,SAAClzN,GAAsD,OAC/Fd,KAAM,EAAAkzF,wCACNpyF,MAAK,EAF0F,C,+FC5DtF,EAAA2vM,eAAiB,SAC1BrkK,GAKA,MAAO,CAACA,aAAM,EAANA,EAAQz2B,KAAMy2B,aAAM,EAANA,EAAQhgB,SAASL,OAAOhmB,SAASsmB,KAAK,IAChE,C,40DCPA,eAGA,WAOA,WACA,cACA,cACA,WACA,WAEA,SAAU4nM,EAAqBvzN,G,kFAGkC,OAFvD,EAAiCA,EAAOklB,QAAtCpU,EAAU,aAAExO,EAAK,QAAE9D,EAAO,UAE2B,IAAM,IAAAyK,QAAO,EAAAuqN,yB,OACjB,OADnDh5M,EAAuD,SACJ,IAAM,IAAAvR,QAAO,EAAAwqN,yB,OAGtE,OAHMppN,EAAmD,SACnDqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GACtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,cAAerB,GACrEkc,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MAAI,IAAAi5K,kBAAiB,CAAE7wK,oBAAqB,CAAEuJ,iBAAkBhK,O,OAAtE,S,iBAGJ,UAAM,IAAA3H,MAAI,IAAA84K,2BAA0B,CAAE3/K,MAAK,EAAEwO,WAAU,M,OAGnD,OAHJ,SAGI,GAAM,UAAkB4iN,qBAAqB,EAAD,KACrCpxN,GAAK,CACR2Y,KAAMnK,M,cAHR,kBACF,SAGE,IAJC1Q,EAAK,KAAEqJ,EAAQ,KAMlBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAg5K,2BAA0B,CAAE7/K,MAAK,EAAEwO,WAAU,EAAE1Q,MAAK,MAD9D,M,OAEA,OADA,SACA,I,OAkBJ,OAfM8Q,EAAezH,EACf,CACI4R,QAAyB,QAAhB,EAAA5R,EAAS4R,eAAO,eAAE3H,KACvB,SAAC4H,GAA2B,cACrBA,GAAI,CAEP/S,GAAI+S,EAAK8N,QAAU,KAHK,IAMhCzN,cAAelS,EAASkS,cACxBD,WAAYjS,EAASiS,WACrBT,KAAMnK,GAEV,KAEN,IAAM,IAAA3H,MAAI,IAAA+4K,6BAA4B,CAAE5/K,MAAK,EAAEwO,WAAU,EAAEI,aAAY,M,cAAvE,UAEA,IAAA+K,2BAA0BnL,EAAYrH,EAAU,EAAAkqN,8B,QAOpD,UAJA,W,kDACI,UAAM,IAAA/pN,WAAU,EAAAo4K,qBAAqB1iL,KAAMi0N,I,cAA3C,S,uCC/DJ,WAAgB,UAAY,4CAA4C,gBAAgB,gDAAgD,eAAe,+CAA+C,MAAQ,wCAAwC,OAAS,yCAAyC,qBAAqB,qDAAqD,KAAO,uCAAuC,QAAU,0CAA0C,OAAS,yCAAyC,SAAW,2C,u8CCDjhB,kBACA,WAEA,cAEA,cAEA,WACA,cACA,WACA,WACA,cACA,WACA,cACA,cACA,cACA,WACA,cACA,WAIA,WACA,cACA,WAMA,cACA,WACA,WACA,cACA,aACA,cACA,cACA,SACA,cACA,WACA,cACA,cACA,cAGA,aACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,UACA,aAEA,cACA,WACA,YACA,WACA,eACA,eACA,YACA,YAEA,YACA,YACA,YACA,YACA,eACA,YAEA,WACA,YACA,YACA,eACA,YACA,YAEMv3N,GAAK,UAAWC,KAAK,WAErB23N,GAAmE,CACrEC,iCAAkC,6EAClCC,mDACI,+FACJC,kDACI,8FACJC,6BAA8B,yEAC9BC,4CACI,wFACJC,wCACI,qFAKFC,GAAkDh4N,EAAMC,MAAK,W,QACzDkG,GAAQ,eAGNosD,GADO,IAAA/iB,aACiB,cAE1BsG,GAAa,eACbC,EAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,EAElB,GAAG,CAACA,IAEI/0C,GAAM,IAAAC,kBAAgB,EAExBioF,GAAqB,IAAA/yE,cAAY,IAAAouI,0BAAyB/xF,IAC1D0lK,GAAkC,IAAA/hN,cAAY,IAAAi3E,uCAAsC56B,IAEpF99B,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAA+4D,yBAAwB,CAAEphF,GAAImmD,IAC3C,GAAG,CAAC99B,EAAU89B,IAEd,IAAMvwB,GAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAA+4D,yBAAwB,CAAEphF,GAAImmD,EAAelwD,QAAS,CAAE4/B,eAAe,KACpF,GAAG,CAACxN,EAAU89B,KACd,aAA4BvwB,IAE5B,IAAMmI,GAAuBnqC,EAAMkG,aAAY,WAC3CuuB,GAAS,IAAA+4D,yBAAwB,CAAEphF,GAAImmD,EAAelwD,QAAS,CAAE4/B,eAAe,KACpF,GAAG,CAACxN,EAAU89B,IAERrwB,GAAqBliC,EAAMkG,aAAY,WACzCuuB,GAAS,IAAA+4D,yBAAwB,CAAEphF,GAAImmD,EAAelwD,QAAS,CAAE4/B,eAAe,KACpF,GAAG,CAACxN,EAAU89B,KACd,KAAApwB,qBAAoB,GAAAC,2BAA4BF,KAChD,KAAAC,qBAAoB,GAAA+1L,yBAA0Bh2L,KAC9C,KAAAC,qBAAoB,GAAA2b,qCAAsC5b,KAC1D,KAAAC,qBAAoB,GAAA4xL,2BAA4B7xL,KAChD,KAAAC,qBAAoB,GAAAg2L,yBAA0Bj2L,IAE9C,IAMMk2L,GAAsBjyN,EAAM,GAAA4R,cAAcqgN,sBAAwB,KAClEC,KAA0BD,GAC1BE,GAA0BnyN,EAAM,GAAA4R,cAAcugN,0BAA4B,KAC1EC,KAA2BD,GA4B3BE,GAA2B,W,MAC7B,UAAQ5gN,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,GAAA4R,cAAcqgN,0BAAsB5xN,EAAS,MAG1D,EAEMiyN,GAAuB,W,MACzB,UAAQ7gN,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,GAAA4R,cAAcugN,8BAA0B9xN,EAAW,MAGhE,EAEMkyN,IAA+B,IAAAxiN,aAAY,EAAAs4L,gCACjDxuM,EAAMoL,WAAU,WACRstN,GAA6Bt0N,IAC7Bq0N,IAGR,GAAG,CAACC,GAA6Bt0N,KAEjC,IAAMu0N,IAAoB,IAAAziN,aAAY,EAAA8xB,+BACtChoC,EAAMoL,WAAU,WACRutN,GAAkBv0N,IAClBo0N,IAGR,GAAG,CAACG,GAAkBv0N,KAEhB,SAAsCpE,EAAMuE,SAAiB,GAAE,GAA9Dq0N,GAAc,MAAEC,GAAiB,MAElClmN,GAAO,CACT,CACI1L,MAAOlG,EAAE,iCACTyK,KAAM,gBAAC,WAAmB,CAACqH,IAAK0/C,EAAe02B,mBAAoBA,MAwCrEihC,IAAa,IAAAxlH,UAAQ,WACvB,OAAKukF,aAAkB,EAAlBA,EAAoB78E,IAIlB,CACH+9G,WAAY,QACZC,SAAUnhC,EAAmB78E,IALtB,IAOf,GAAG,CAAC68E,IAEE,IAA8C,KAAAykI,iBAAuCxjG,IAAnFn9C,GAAa,iBAAE+rJ,GAAwB,4BAEzCC,IAAmC,eACnCC,GAA0Bh5N,EAAMkG,aAClC,SAACyG,GACQu9G,IAILz1F,GACI,KAAA41F,oBAAmB,CACfH,WAAU,GACVI,OAAQ,CACJH,WAAY,QACZC,SAAUz9G,EAAK4lD,cACfjpC,OAAQ,EAAAic,sBAAsBM,YAI9C,GACA,CAACqkF,GAAYz1F,KAGjB,aAAgCs4C,GAAe,CAACgsJ,KAEhD,IAAME,IACgC,QAAlC,EAAAH,cAAwB,EAAxBA,GAA0B9K,gBAAQ,eAAEvoM,SAAS,EAAA8f,sBAAsBM,aAClC,QAAjC,EAAAizL,cAAwB,EAAxBA,GAA0BlL,eAAO,eAAEnoM,SAAS,EAAA8f,sBAAsBM,WAEhEqzL,IAAkBjwI,aAAkB,EAAlBA,EAAoBiwI,kBAAmB,KACzDC,KAA0BlwI,aAAkB,EAAlBA,EAAoBmwI,gBAAiBF,GAE/DzuF,GAAwBzqI,EAAM0E,SAAQ,WACxC,MAAO,CACH,CACIuC,MACI,gBAAC,WAAqC,CAClCw9J,eAAgBy0D,GAAkBn4N,EAAE02N,GAAuByB,KAAoB,KAC/E7sN,KAAM,gBAAC,WAAS,CAACxK,UAAW,EAAAC,qBAAqBwQ,QACjD/M,WAAY4zN,GACZlyN,MAAOlG,EAAE,oDAGjBwE,WAAY4zN,GACZ/zN,SAAU,WACN,UAAQwS,KAAK,GAAAyQ,WAAWgxM,qBAAqB9mK,GACjD,GAEJ0mK,GAAsB,GAAA/9H,kBAAkBC,UAAY,KACpD89H,GACM,CACIhyN,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBkS,YACjD/M,MAAOlG,EAAE,gDAGjBqE,SAAU,WACN2zN,GAAiCjwL,QAAQ,CACrCypB,cAAa,GAErB,GAEJ,KAEd,GAAG,CACC0mK,GACA1mK,EACA4mK,GACAD,GACAH,GACAh4N,IAGE2gC,IAAkB,IAAAC,sBAyBxB,OACI,gCACI,gBAAC,UAAiBqU,SAAQ,CAAC7wC,MAAO4wC,GAC9B,gBAAC,UAAS,CACN51C,MAAOY,EAAE,mCAAoC,CACzC8M,QAAQo7E,aAAkB,EAAlBA,EAAoBp7E,SAAU,OAG9C,gBAAC,UAAuB,CACpBhN,aAAa,uBACbD,UAAWf,GAAG,QACdo2C,gBAAiBl1C,EAAE,0CACnBm1C,eACI,gBAAC,UAAwB,KACrB,gBAAC,UAAmB,KAChB,gBAAC,UAAoB,CACjB/1C,MACI8oF,EACMloF,EAAE,6BAA8B,CAC5B8M,QAAQo7E,aAAkB,EAAlBA,EAAoBp7E,SAAU,KAE1C,KAEVvN,eACI,gBAAC,UAAqB,CAClBkU,eAAa,EACb8U,OAAQ2/D,aAAkB,EAAlBA,EAAoB3/D,OAC5B0c,WAAYijD,aAAkB,EAAlBA,EAAoB58D,WAGxC3rB,QAhQN,YACtB,IAAA+pD,oBAAkB,WACd,UAAQ7yC,KAAK,EAAAoyJ,WAAWC,aAAe,UAAQ1jI,SAAS1uB,OAC5D,GACJ,EA6PgCxX,gBAAiBoqI,KAErB,gBAAC,UAA0B,CACvB/mI,cAAeu0N,EACfh9J,cAAe/xD,QAAQ+/E,GACvB/tB,kBACI6R,GAAchpE,SACd40N,GAAkB50N,SAClB20N,GAA6B30N,WAIzC,gBAAC,UAAa,KACV,gBAAC,UAAoB,CACjBL,cAAeu0N,EACfh9J,cAAe/xD,QAAQ+/E,GACvB58C,QAASlC,GACTgxB,kBAAmB,WAElB8tB,EACG,gBAAC,UAAkB,CACf2Y,oBAAqBq2H,EAAgCl0N,QACrDgxC,kBA7EV,SAACxF,GAKnB,IAAAhsC,EAAmCgsC,EAAM,UAA9B/rC,EAAwB+rC,EAAM,YAAjBxpC,EAAWwpC,EAAM,OAC5CxpC,EAKL27B,GACI,CACIv+B,KAAM,GAAAmnC,uBAAuB77B,QAC7BlL,UAAS,EACTC,YAAW,EACXuC,OAAM,GAEV,CACIyiE,uBAAuB,KAZ3B,KAAA5zC,YAAW,qEAenB,EAwDwC4sE,kBArQV,SAACv0E,GACtBslC,EAKL,UAAQ36C,KAAK,GAAAyQ,WAAWixM,8BAA8B/mK,EAAetlC,KAJjE,KAAA2H,YAAW,sBAKnB,EA+PwC8sE,kBA7PV,SAACz0E,G,MAC3B,UAAQrV,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,GAAA4R,cAAcqgN,qBAAsBnrM,EAAM,MAGvD,EAuPwCumG,uBA/QL,SAACvmG,G,MAChC,UAAQrV,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,GAAA4R,cAAcugN,yBAA0BrrM,EAAM,MAG3D,EAyQwCg8D,mBAAoBA,IAExB,OAxM5BsvI,GAEI,gBAAC,UAAmB,CAAC5sN,eAAa,EAACi6E,WAAS,GACxC,gBAAC,UAA4B,CACzBrzB,cAAeA,EACf02B,mBAAoBA,EACpBh8D,OAAQqrM,GACR3pN,SAAU8pN,MAMtBJ,GAEI,gCACI,gBAAC,UAAoB,MACrB,gBAAC,UAAmB,CAAC1sN,eAAa,EAACi6E,WAAS,GACxC,gBAAC,UAA0B,CACvBqD,mBAAoBA,EACpBh8D,OAAQmrM,GACRzpN,SAAU6pN,OAOvB,MAkLKliL,iBAAkBv1C,EAAE,uCACpBw1C,gBACI,uBAAK31C,UAAWf,GAAG,cACf,gBAAC,UAAmB,KACf8S,GAAK4E,KAAI,SAAClE,EAAKC,GAAa,OACzB,gBAAC,UAAQ,CACLT,IAAKS,EACLlS,MAAO,EAAAuO,eAAezN,MACtBP,QAAS,WACLk3N,GAAkBvlN,EACtB,EACA/Q,SAAU+Q,IAAaslN,IAEtBvlN,EAAIpM,MATgB,KAajC,uBAAKrG,UAAWf,GAAG,QAAS8S,GAAKimN,IAAgBptN,UAKjE,gBAAC,UAA6B,CAC1B9H,cAAeqpE,GACfpgE,KAAMosN,GAAiCpsN,KACvC6gB,UAAWwrM,GACXrqN,SAAUoqN,GAAiCpqN,SAC3CjO,QAASq4N,GAAiCr4N,UAE9C,gBAAC,WAAQ,MAGrB,IAEM64N,GAA2Cv5N,EAAMC,MAAK,SAACC,GACzD,OACI,gBAAC,GAAAs5N,iCAAgC,KAC7B,gBAACxB,GAA6B,KAAK93N,IAG/C,IAEA,UAAeq5N,E,87CCvdf,kBACA,aACA,cACA,cACA,WACA,cACA,cACA,cACA,cAEA,cAEA,cACA,WACA,cACA,UACA,cACA,aACA,cACA,WACA,WACA,WAEM15N,EAAK,UAAWC,KAAK,WAuO3B,UAAeE,EAAMC,MApNG,SAA6BC,GAE7C,IAAAU,EAUAV,EAAK,UATLQ,EASAR,EAAK,QARLokI,EAQApkI,EAAK,qBAPLu5N,EAOAv5N,EAAK,kBANLgkI,EAMAhkI,EAAK,iBALLkkI,EAKAlkI,EAAK,kBAJLgP,EAIAhP,EAAK,UAHL6jI,EAGA7jI,EAAK,OAFLqmD,EAEArmD,EAAK,UADL8jI,EACA9jI,EAAK,MAEDa,GAAM,IAAAC,kBAAgB,EAExB04N,EAAW15N,EAAM6I,OAAuB,MAExC8wN,EAAiB35N,EAAM0E,SAAQ,WACjC,OAAOq/H,EAAO9hF,QAA8B,SAAC50C,EAAQusN,GACjD,OAAO,EAAP,OAAWvsN,IAAM,KAAKusN,EAAMlpJ,cAAW,EAC3C,GAAG,GACP,GAAG,CAACqzD,IAEE81F,EAAe75N,EAAM0E,SAAQ,WAC/B,OAAOkgE,KAAKD,MAAQ,EAAA+sC,gBAAkB,CAC1C,GAAG,IAEGxpG,EAAQlI,EAAM0E,SAAQ,WACxB,OAAO2a,KAAK46E,IAAG,MAAR56E,KAAI,GAAKw6M,GAAY,EAAKF,EAAepiN,KAAI,SAACpP,GAAe,OAAAA,EAAWD,KAAX,MAAiB,GACzF,GAAG,CAACyxN,EAAgBE,IAEdC,EAAS95N,EAAM0E,SAAQ,WACzB,IAAM2I,EAASssN,EAAepiN,KAAI,SAACpP,GAAe,OAAAA,EAAW8D,GAAX,IAKlD,OAJI/D,GACAmF,EAAOuK,KAAK1P,EAAQ,EAAAwpG,iBAGjBryF,KAAK6hD,IAAG,MAAR7hD,KAAI,OAAQhS,IAAM,GAC7B,GAAG,CAACssN,EAAgBzxN,IAEd6xN,EAAqB/5N,EAAMkG,aAAY,SAAC8zN,GAC1C52I,YAAW,W,MACD53E,EAAuB,QAAhB,EAAAkuN,EAASjuN,eAAO,eAAE+3E,cAAc,WAAI,EAAAr3E,4BAA2B,aAAK6tN,EAAY,OACxFxuN,GAAUA,aAAgBwpL,cAG/B,aAAexpL,EAAM,CACjB6mC,KAAM,EACN8B,MAAO,CACHpoC,IAAK,IAGjB,GAAG,EACP,GAAG,IAEGkuN,EAAwBj6N,EAAMkG,aAChC,SAACiC,GACOsxN,GACAA,EAAkBtxN,EAAWiE,IAGjC8tN,EAAU76M,KAAK6hD,IAAI/4D,EAAW8D,IAAM9D,EAAWD,MAAO,EAAA0pG,cAEtDmoH,EAAmB5xN,EAAWiE,GAClC,GACA,CAACqtN,EAAmBM,IAGxB/5N,EAAMoL,WAAU,WACRk5H,GACAy1F,EAAmBz1F,EAG3B,GAAG,CAACA,IAEJ,IAAM61F,EAAuBn6N,EAAMkG,aAC/B,SAACiC,GACO+7H,GACAA,EAAiB/7H,EAAWiE,GAEpC,GACA,CAAC83H,IAGCk2F,EAAwBp6N,EAAMkG,aAChC,SAACiC,GACOi8H,GACAA,EAAkBj8H,EAAWiE,GAErC,GACA,CAACg4H,IAGCi2F,EAAWr6N,EAAM0E,SAAQ,WAC3B,OAAOq/H,aAAM,EAANA,EAAQ5yD,MAAK,SAACyoJ,GAAU,QAAEA,EAAMvtN,IAAR,GACnC,GAAG,CAAC03H,IAEE,IAAsB/jI,EAAMuE,SAAiB,EAAAmtG,iBAAgB,GAA5D2/F,EAAM,KAAE6oB,EAAS,KAElBI,EAAiBt6N,EAAMkG,aAAY,WACrCg0N,GAAU,SAACK,GAAe,OAAAl7M,KAAK6hD,IAAIq5J,EAAa,EAAAzoH,aAAc,EAAAF,YAApC,GAC9B,GAAG,IAEG4oH,EAAkBx6N,EAAMkG,aAAY,WACtCg0N,GAAU,SAACK,GAAe,OAAAl7M,KAAK46E,IAAIsgI,EAAa,EAAAzoH,aAAc,EAAAD,YAApC,GAC9B,GAAG,IAEG4oH,EAAsBz6N,EAAM0E,SAAQ,WACtC,OAAO,IAAAg2N,2BAA0B,CAC7BrpB,OAAM,EACNC,YAAa,EAAA7/F,yBAErB,GAAG,CAAC4/F,IAEE/0F,EAAYt8G,EAAMkG,aACpB,SAACwjD,EAAmBnD,GAChB,IAAMo0K,GAAY,aAAOjxK,IAErB,aAASnD,IACTo0K,EAAUp0K,UAAUA,GAGxB,IAAMq0K,EAAaH,GAAuB,EAAA9oH,UAC1C,OAAOgpH,EAAU9gN,OAAO+gN,EAAa,aAAe,mBACxD,GACA,CAACH,IAGL,OACI,uBAAK75N,WAAW,aAAGf,EAAG,QAASe,IAC1BsO,GAAa,gBAAC,UAAa,MAC5B,uBAAKtO,UAAWf,EAAG,WACda,GACG,gBAAC,UAAkB,CACfiB,QAASjB,EACTkB,SAAU,gBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqBgG,QACrD9F,gBAAiB,EAAAC,oBAAoB2xG,wBAIhDymH,GACG,uBACIz5N,UAAWf,EAAG,SACdwI,MAAO,CACHw6C,YAAa,UAAG,EAAAgd,aAAY,QAGhC,uBAAKj/D,UAAWf,EAAG,iBACdkkI,EAAOxsH,KAAI,SAACqiN,EAAOiB,GAChB,OACI,uBAAKhoN,IAAKgoN,EAAYj6N,UAAWf,EAAG,gBAC/B+5N,EAAMvtN,KAGnB,MAIZ,uBAAKzL,UAAWf,EAAG,SAAUqM,IAAKwtN,GAC9B,gBAAC,UAAiB,MACb,SAAC1tN,GAAW,OACT,iCACK,aAAS9D,KAAU,aAAS4xN,IACzB,gBAAC,UAAQ,CACL5xN,MAAOA,EACP4xN,OAAQA,EACRzoB,OAAQA,EACRypB,WAAY9uN,EACZyuN,oBAAqBA,EACrBl0K,UAAWA,EACX+1D,UAAWA,EACXy+G,iBAAkBh3F,EAClB01F,kBAAmBQ,EACnB/1F,iBAAkBi2F,EAClB/1F,kBAAmBg2F,EACnBY,SAAUj6N,EAAE,cACZijI,MAAOA,IAGf,uBAAKpjI,UAAWf,EAAG,SACf,uBACIe,UAAWf,EAAG,eAAgB,qBAAsB,CAChD,4BAA6BwxM,EAAS,EAAAz/F,cAE1CjwG,QAAS24N,GAET,gBAAC,UAAY,CACThkN,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBC,YAG1C,uBACInB,UAAWf,EAAG,eAAgB,sBAAuB,CACjD,4BAA6BwxM,EAAS,EAAAx/F,cAE1ClwG,QAAS64N,GAET,gBAAC,UAAa,CACVlkN,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBC,aAvCzC,KAiDjC,G,6GCpPa,EAAAwxN,6BAA+B,SAAChkL,GAErC,IAAAikL,EAKAjkL,EAAM,8BAJNwzC,EAIAxzC,EAAM,qBAHNyzC,EAGAzzC,EAAM,mBAFN41J,EAEA51J,EAAM,oBAKV,MAAO,CACHikL,gCAAiCA,EACjCC,4BAJA1wI,IAHAxzC,EAAM,uBAG4CyzC,IAAuBmiH,EAMjF,C,q7BCxBA,kBACA,cACA,WACA,WACA,cACA,cACA,UACA,WACA,WAYMtsH,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoBrP,YAC3B7qB,OAAQ,SAACnZ,GACL,IAAM6gN,EAAY7gN,EAAa,EAAAiwC,qBAAqB4wK,WAEpD,OAAOl6N,EAAE,wDAAyD,CAC9DoE,MAAOpE,EAAE,oEAA6Dk6N,KAE9E,EACAliJ,UAAW,CAAC,EAAA1uB,qBAAqB4wK,YAErC,CACI75N,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,oDAAqD,CAC1DoE,MAAOiV,EAAa,EAAAiwC,qBAAqB3gB,aAEjD,EACAqvC,UAAW,CAAC,EAAA1uB,qBAAqB3gB,aAErC,CACItoC,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,0DAA2D,CAChEoE,MAAOiV,EAAa,EAAAiwC,qBAAqB/iC,cAEjD,EACAyxD,UAAW,CAAC,EAAA1uB,qBAAqB/iC,cAErC,CACIlmB,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,4DAA6D,CAClEoE,MAAOiV,EAAa,EAAAiwC,qBAAqBjV,gBAEjD,EACA2jC,UAAW,CAAC,EAAA1uB,qBAAqBjV,gBAErC,CACIh0C,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,iEAAkE,CACvEoE,MAAOiV,EAAa,EAAAiwC,qBAAqBzU,qBAEjD,EACAmjC,UAAW,CAAC,EAAA1uB,qBAAqBzU,qBAErC,CACIx0C,MAAO,EAAAqsD,oBAAoB1rD,SAC3BsV,WAAY,SAAC+C,EAAcozC,GACvB,OAAO,EAAA2rB,oBAAoBC,OAAOh/D,EAAa,EAAAiwC,qBAAqB8lE,YAAa3iE,EACrF,EACAj6B,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,oDAAqD,CAC1DoE,MAAOiV,EAAa,EAAAiwC,qBAAqB8lE,aAEjD,EACAp3C,UAAW,CAAC,EAAA1uB,qBAAqBqmE,SAAU,EAAArmE,qBAAqB8lE,aAEpE,CACI/uH,MAAO,EAAAqsD,oBAAoBrP,YAC3B7qB,OAAQ,SAACnZ,GACL,IAAM6oH,EAAoB7oH,EAAa,EAAAiwC,qBAAqB5sC,eAE5D,OACI,gBAAC,EAAAjN,MAAK,CACFD,QAAQ,qDACRE,WAAY,CACRtL,MAAO,gBAAC,UAAuB,CAAC60G,cAAeipB,MAI/D,EACAlqD,UAAW,CAAC,EAAA1uB,qBAAqB5sC,gBAErC,CACIrc,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,IAAM8gN,EAAW9gN,EAAa,EAAAiwC,qBAAqB6wK,UAEnD,OACI,gBAAC,EAAA1qN,MAAK,CACFD,QAAQ,uDACRE,WAAY,CACRtL,MAAO+1N,EAAW,gBAAC,UAAK,CAACpkN,QAASokN,EAAUlkN,SAAU,EAAAC,aAAaC,MA7FjE,OAiGlB,EACA6hE,UAAW,CAAC,EAAA1uB,qBAAqB6wK,WAErC,CACI95N,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,IAAM+gN,EAAW/gN,EAAa,EAAAiwC,qBAAqB8wK,UAEnD,OACI,gBAAC,EAAA3qN,MAAK,CACFD,QAAQ,uDACRE,WAAY,CACRtL,MAAOg2N,EAAW,gBAAC,UAAK,CAACrkN,QAASqkN,EAAUnkN,SAAU,EAAAC,aAAaC,MA7GjE,OAiHlB,EACA6hE,UAAW,CAAC,EAAA1uB,qBAAqB8wK,WAErC,CACI/5N,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,IAAM+6G,EAAiB/6G,EAAa,EAAAiwC,qBAAqB8qE,gBACnDC,EAAeh7G,EAAa,EAAAiwC,qBAAqB+qE,cAEvD,OAAOr0H,EAAE,oDAAqD,CAC1DoE,OAAO,IAAAogI,4BAA2BpQ,EAAgBC,IAE1D,EACAr8C,UAAW,CAAC,EAAA1uB,qBAAqB8qE,eAAgB,EAAA9qE,qBAAqB+qE,eAE1E,CACIh0H,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,IAAM66G,EAAkB76G,EAAa,EAAAiwC,qBAAqB4qE,iBACpDC,EAAgB96G,EAAa,EAAAiwC,qBAAqB6qE,eAExD,OAAOn0H,EAAE,sDAAuD,CAC5DoE,OAAO,IAAAogI,4BAA2BtQ,EAAiBC,IAE3D,EACAn8C,UAAW,CAAC,EAAA1uB,qBAAqB4qE,gBAAiB,EAAA5qE,qBAAqB6qE,gBAE3E,CACI9zH,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,IAAMqyF,EAAkBryF,EAAa,EAAAiwC,qBAAqB+wK,kBACpDzuH,EAAgBvyF,EAAa,EAAAiwC,qBAAqBgxK,gBAExD,OAAOt6N,EAAE,sDAAuD,CAC5DoE,OAAO,IAAAogI,4BAA2B94B,EAAiBE,IAE3D,EACA5zB,UAAW,CAAC,EAAA1uB,qBAAqB+wK,iBAAkB,EAAA/wK,qBAAqBgxK,iBAE5E,CACIj6N,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,kDACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBpiB,OAErC,CACI7mC,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,uDACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBmnI,YAErC,CACIpwL,MAAO,EAAAqsD,oBAAoB15C,UAC3Bwf,OAAQ,WACJ,OAAOxyB,EAAE,oFACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBqwC,iCAErC,CACIt5F,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,gFACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqB+1C,6BAErC,CACIh/F,MAAO,EAAAqsD,oBAAoB15C,UAC3Bwf,OAAQ,WACJ,OAAOxyB,EAAE,oFACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBmwC,iCAErC,CACIp5F,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,gFACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqB81C,6BAErC,CACI/+F,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,uDACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBj+B,UAErC,CACIhrB,MAAO,EAAAqsD,oBAAoBz5C,UAC3Buf,OAAQ,WACJ,OAAOxyB,EAAE,+DACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBmxC,SAErC,CACIp6F,MAAO,EAAAqsD,oBAAoB15C,UAC3Bwf,OAAQ,WACJ,OAAOxyB,EAAE,6DACb,EACAg4E,UAAW,CAAC,EAAA1uB,qBAAqBkxC,WA7MA,GAgNzC,CAACx6F,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,+BCtPf,WAAgB,KAAO,8BAA8B,OAAS,gCAAgC,SAAW,kC,q7BCDzG,kBACA,YAEA,cAOMyiJ,EAAsCt7N,EAAMC,MAAK,SAACC,GAC5C,IAAAyxC,EAA6BzxC,EAAK,cAAnBU,EAAcV,EAAK,UAE1C,OACI,gBAAC,UAAS,CAACU,UAAWA,EAAWQ,MAAO,EAAAyS,mBAAmBvB,MAAOkC,eAAa,GAC3E,gBAAC,UAAkB,CAACg5C,WAAS,EAAC7b,cAAeA,IAGzD,IAEA,UAAe2pL,C,q7BCpBf,kBACA,WACA,aACA,WAOM/oE,EAAsDvyJ,EAAMC,MAAK,SAACC,GAC5D,IAAAqD,EAAwBrD,EAAK,UAAlB4O,EAAa5O,EAAK,SAE/B0hC,GAAqB,IAAA1rB,cAAY,IAAAqlN,0BAAyBh4N,IAEhE,OAAO,gBAAC,UAAyByyC,SAAQ,CAAC7wC,MAAOy8B,GAAqB9yB,EAC1E,IAEA,UAAeyjJ,C,+BCjBf,WAAgB,KAAO,8BAA8B,QAAU,iCAAiC,OAAS,gCAAgC,SAAW,kC,+BCApJ,WAAgB,OAAS,oCAAoC,SAAW,sC,67CCDxE,kBACA,WAQMipE,EAAmC,SAACt7N,GAC9B,IAAA2B,EAAyC3B,EAAK,UAAnC0W,EAA8B1W,EAAK,YAAnBusB,EAAS,EAAKvsB,EAA3C,6BAEN,OACI,yBAAKwB,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,YAAYD,MAAM,8BAAiCmb,GACnF,qBAAG/f,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACIA,EAAE,6JACF/E,KAAM7K,IAEV,wBACI4P,EAAE,uSACF/E,KAAMkK,KAK1B,EAEA4kN,EAAexpN,YAAc,iBAE7B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeupN,C,q7BCrCf,kBACA,cACA,cAEA,aACA,cAOM37N,EAAK,UAAWC,KAAK,WAErB27N,EAA4Cz7N,EAAMC,MAAK,SAACC,GAClD,IAAAwxD,EAAsCxxD,EAAK,qBAArB0F,EAAgB1F,EAAK,YAEnD,OAAI,aAAMwxD,GACC,uBAAK9wD,UAAWf,EAAG,gBAAiB+F,GAGxC,gBAAC,UAAyB,CAAC+K,QAAM,EAACmc,KAAM4kC,GACnD,IAEA,UAAe+pK,C,q7BCxBf,kBAEA,cAEA,cACA,cACA,cACA,WACA,cASM57N,EAAK,UAAWC,KAAK,WAErB47N,EAAyC17N,EAAMC,MAAK,SAACC,GAC/C,IAAA6zB,EAAwB7zB,EAAK,YAAhB2zB,EAAW3zB,EAAK,OACrC,OAAK6zB,GAAgBF,EAKjB,gBAAC,UAAO,CACJjzB,UAAWf,EAAG,WACdoB,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzDsf,KAIR,WAAM,uBAAC,UAAW,CAAClyB,UAAW,EAAAC,qBAAqBkS,WAA7C,IAdJ,IAiBf,IAEA,UAAe0nN,C,2zBCvCf,eACA,WACA,WAGA,WACA,WAgCMz4M,EAAkB,CACpB,EAAArjB,WAAWo6G,eAKT2hH,EAAyB,SAAI14M,IAAe,IAAE,EAAArjB,WAAWwrB,UAAO,GAEhEwwM,EAAqB,SAACC,GAA4B,OAAAA,EAAgBC,aAAhB,EA6FxD,UAtFiB,SAAC/6N,EAAcia,EAAqBrO,GACzC,IAAAk8D,EAAsCl8D,EAAI,SAAhCkpE,EAA4BlpE,EAAI,wBAE5CmP,EAAM,MACL,IAAA6H,eAAc5iB,EAAG8nE,EAAW8yJ,EAAyB14M,EAAiBjI,IAGvEswD,EAAoBtwD,EAAO,EAAApb,WAAW0rE,oBAAsB,GAC5DywJ,EAAuB,IAAI/sM,IAAIs8C,EAAkB/zD,IAAIqkN,IAErDI,EAAiBhhN,EAAO,EAAApb,WAAWymC,OACzC21L,EAAe1/M,SAAQ,SAAC44M,EAAqB/uL,G,MACzC,IAAI+uL,EAAoB/xN,MAAS,EAAA+2L,qBAAqB/qK,IAAI+lM,EAAoB/xN,MAA9E,CAIA,IAAM4hF,EAA6C,IAApB5+C,EACzB6+C,EAAwB7+C,IAAoB61L,EAAe75N,OAAS,EAEpE85N,EAAqB,SAAC75M,EAAiC3J,GACpDqD,EAAO,EAAAlc,WAAWymC,SACnBvqB,EAAO,EAAAlc,WAAWymC,OAAS,IAG1BvqB,EAAO,EAAAlc,WAAWymC,OAAOF,KAC1BrqB,EAAO,EAAAlc,WAAWymC,OAAOF,GAAmB,CAAC,GAGjDrqB,EAAO,EAAAlc,WAAWymC,OAAOF,GAAiB/jB,GAAa3J,CAC3D,EAEMyjN,EAAqBF,EAAe71L,GAAiB,EAAAG,qBAAqBC,UAC3E21L,GACDD,EAAmB,EAAA31L,qBAAqBC,SAAUxlC,EAAE,sDAGxD,IAAMo7N,EAjFS,SAACp7N,EAAcwlC,G,kBAClC,OAAKA,EAIDrzB,OAAOC,MAAMozB,EAASg5G,kBACfx+I,EAAE,kDAIkB,QAA1B,EAAAwlC,EAASo9G,yBAAiB,eAAEt7F,WACF,QAA1B,EAAA9hB,EAASo9G,yBAAiB,eAAEr7F,QACF,QAA1B,EAAA/hB,EAASo9G,yBAAiB,eAAEtyH,eACF,QAA1B,EAAAkV,EAASo9G,yBAAiB,eAAEx7F,WACF,QAA1B,EAAA5hB,EAASo9G,yBAAiB,eAAEv7F,UAKF,QAA1B,EAAA7hB,EAASo9G,yBAAiB,eAAEtyH,cAIF,QAA1B,EAAAkV,EAASo9G,yBAAiB,eAAEr7F,MAI1B,KAHIvnD,EAAE,8DAJFA,EAAE,kEAJFA,EAAE,iDAdF,IA0Bf,CAqDwCq7N,CAAer7N,EAAGm7N,GASlD,GARIA,GAAsBC,GACtBF,EAAmB,EAAA31L,qBAAqBC,SAAU41L,IAGjD,IAAAh0F,gCAA+B+zF,EAAoBrmJ,IACpDomJ,EAAmB,EAAA31L,qBAAqBC,SAAUxlC,EAAE,qDAGpDg7N,EAAqB5sM,KAAyC,QAArC,EAAA+sM,aAAkB,EAAlBA,EAAoBv4E,yBAAiB,eAAEtyH,cAAe,IAAK,CACpF,IAAIgrM,OAA2B,GAE3BnH,aAAmB,EAAnBA,EAAsB,EAAA5uL,qBAAqBnjC,SAAU,EAAAmvE,kCAAkChxD,eACvF+6M,EAA8Bt7N,EAAE,8DAGhCm0N,aAAmB,EAAnBA,EAAsB,EAAA5uL,qBAAqBnjC,SAAU,EAAAmvE,kCAAkCC,WAEnF8pJ,EAA8Bt7N,EAD9BgkF,EACgC,uDACzBC,EACyB,4DAEA,kEAIpCq3I,GACAJ,EAAmB,EAAA31L,qBAAqBC,SAAU81L,EAE1D,CAnDA,CAoDJ,IAEA,IAAMjxM,EAAUpQ,EAAO,EAAApb,WAAWwrB,SAelC,OAdIy9C,GAAwB,OAAZz9C,KACPA,aAAO,EAAPA,EAASE,mBACVxP,EAAO,EAAAlc,WAAWwrB,SAAWrqB,EAAE,mEAG9BqqB,aAAO,EAAPA,EAASI,qBACV1P,EAAO,EAAAlc,WAAWwrB,SAAWrqB,EAAE,qEAG/BqqB,aAAO,EAAPA,EAAS4J,UACTlZ,EAAO,EAAAlc,WAAWwrB,SAAWrqB,EAAE,oDAIhC+a,CACX,C,sIC3IA,eAEa,EAAAksC,uBAAyB,SAClCC,EACAC,GAEA,MAAO,UAAG,EAAAtoD,WAAWymC,MAAK,YAAI4hB,EAAU,YAAIC,EAChD,EAEa,EAAA04B,2BAA6B,SAACjB,GACvC,QAASA,EAAiB,EAAAr5C,qBAAqBC,SACnD,C,+BCVA,WAAgB,KAAO,iCAAiC,OAAS,mCAAmC,SAAW,qC,kTCD/G,eACA,WACA,WA4BA,UA1BwB,SAACvrB,G,QACfugJ,EAAavgJ,EAAO,EAAApb,WAAW27J,kBAAe/0J,EAEhD81N,IAAqB,MACpB,EAAAjyK,qBAAqB9tC,WAAYvB,EAAO,EAAApb,WAAW2c,iBAAc/V,EAClE,EAAC,EAAA6jD,qBAAqBqyE,aAAc1hH,EAAO,EAAApb,WAAW88H,mBAAgBl2H,EACtE,EAAC,EAAA6jD,qBAAqBx9B,WAAY7R,EAAO,EAAApb,WAAWitB,iBAAcrmB,EAClE,EAAC,EAAA6jD,qBAAqBxjC,aAAc7L,EAAO,EAAApb,WAAWinB,mBAAgBrgB,E,GAgB1E,OAbI,EAAA+1N,8BAA8BptM,IAAIosI,KAClC+gE,EAAwB,CAAC,GAGX,UACb,EAAAjyK,qBAAqBkxG,YAAaA,IAAe,EAAA1D,yBAAsBrxJ,EAAY+0J,EAAU,EAC7F,EAAAlxG,qBAAqBwxG,iBAAkB7gJ,EAAO,EAAApb,WAAWi8J,uBAAoBr1J,EAAS,EACtF,EAAA6jD,qBAAqB0xG,aAAc/gJ,EAAO,EAAApb,WAAWm8J,mBAAgBv1J,EAAS,EAC9E,EAAA6jD,qBAAqBoxG,eAAgBzgJ,EAAO,EAAApb,WAAW67J,qBAAkBj1J,EAAS,EAClF,EAAA6jD,qBAAqBsxG,WAAY3gJ,EAAO,EAAApb,WAAW+7J,iBAAcn1J,EAAS,GACxE81N,EAIX,C,q2BC5BA,kBAOME,EAAwCx8N,EAAMC,MAAK,SAACC,GAC9C,IAAAmnB,EAAuBnnB,EAAK,MAArBonB,EAAgBpnB,EAAK,YAEpC,OAAO,4BAAO,CAAConB,EAAaD,GAAO6H,OAAOhmB,SAASsmB,KAAK,OAC5D,IAEA,UAAegtM,C,6JCbf,iBAIA,cAsBA,UAjB8B,SAACC,GAA4C,gBAACzhN,GACxE,IAAM0hN,EAAc,IAA8BD,EAAct6N,OAahE,OAXgBs6N,EAAcx6K,QAAe,SAAC06K,EAAUC,GAQpD,OAAOD,KANH,aAAQC,GACCA,EAAazrJ,MAAK,SAAC4zD,GAAU,SAAE,aAAI/pH,EAAQ+pH,EAAd,KAE7B,aAAI/pH,EAAQ4hN,IAGGF,EAAc,EAC9C,GAAG,EAGP,CAf2E,C,srCCT3E,IAcYnK,EAdZ,cACA,aACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,UACA,WAEM1yN,EAAK,UAAWC,KAAK,YAE3B,SAAYyyN,GACR,cACA,gBACA,mBACH,CAJD,CAAYA,IAAkB,qBAAlBA,EAAkB,KAe9B,IAAMsK,EAAiD78N,EAAMC,MAAK,SAACC,G,MACvDU,EAAmEV,EAAK,UAA7DC,EAAwDD,EAAK,MAAtDovB,EAAiDpvB,EAAK,YAAzCygC,EAAoCzgC,EAAK,QAAhCusC,EAA2BvsC,EAAK,SAAtB48N,EAAiB58N,EAAK,aAE1EivG,EAAkBnvG,EAAM6yB,WAAW,WACnCy+E,EAAyD,QAAzC,EAAAnC,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkBQ,aAEpF,OACI,uBAAKhnF,WAAW,aAAGf,EAAG,WAAYe,IAC9B,uBAAKA,UAAWf,EAAG,SACd4sC,IAAa8lL,EAAmBn9J,MAAQ,gBAAC,UAAW,MACpD3oB,IAAa8lL,EAAmB1lL,OAAS,gBAAC,UAAY,MACtDJ,IAAa8lL,EAAmBhgN,SAAW,gBAAC,UAAc,OAE/D,uBAAK3R,UAAWf,EAAG,UAAWM,KAC3BmvB,GAAe,uBAAK1uB,UAAWf,EAAG,gBAAiByvB,GACrDgiF,GAAiB3wE,GACd,uBAAK//B,UAAWf,EAAG,aACf,gBAAC,EAAAk9N,aAAY,CAACp8L,QAASA,KAG9Bz3B,QAAQ4zN,aAAY,EAAZA,EAAc36N,SACnB,uBAAKvB,UAAWf,EAAG,YACdi9N,aAAY,EAAZA,EAAcvlN,KAAI,SAACylN,EAAaxlN,GAAU,OACvC,gBAAC,UAAM,GAAC3E,IAAK2E,EAAOrU,KAAK,UAAa65N,GADC,KAO/D,IAEA,UAAeH,C,+BC3Df,WAAgB,mCAAmC,oEAAoE,qCAAqC,sEAAsE,kCAAkC,mEAAmE,yCAAyC,0EAA0E,mCAAmC,oEAAoE,mCAAmC,oEAAoE,qBAAqB,sDAAsD,4BAA4B,6DAA6D,2BAA2B,4DAA4D,qCAAqC,sEAAsE,OAAS,0CAA0C,SAAW,4C,yECD5iC,eAqBA,UAjByB,SAACziN,G,MActB,OAbY,MACP,EAAAxa,WAAWggG,iBAAkB,KAC9B,EAAC,EAAAhgG,WAAWmgG,mBAAoB,KAChC,EAAC,EAAAngG,WAAWq9N,oBAAqB,KACjC,EAAC,EAAAr9N,WAAWs9N,sBAAuB,KACnC,EAAC,EAAAt9N,WAAW89J,mBAAoB,KAChC,EAAC,EAAA99J,WAAW0d,aAAc,KAC1B,EAAC,EAAA1d,WAAW+c,eAAgB,KAC5B,EAAC,EAAA/c,WAAWsd,aAAc,KAC1B,EAAC,EAAAtd,WAAWqd,gBAAiB,KAC7B,EAAC,EAAArd,WAAWyd,cAAe,K,CAInC,C,m+CCnBA,kBACA,cAEA,cACA,WACA,WACA,WACA,cACA,cACA,WACA,cACA,cAGA,aACA,cACA,UACA,cAGA,UACA,cACA,UAEA,cAEMxd,EAAK,UAAWC,KAAK,WAUd,EAAA01E,iBAAc,MACtB,EAAA51E,WAAW+G,OAAQ,GACpB,EAAC,EAAA/G,WAAWm6B,OAAQ,GACpB,EAAC,EAAAn6B,WAAWyuJ,SAAU,G,GAG1B,IAAM8uE,IAAe,MAChB,EAAAv9N,WAAWm6B,QAAQ,EACpB,EAAC,EAAAn6B,WAAW+G,QAAQ,EACpB,EAAC,EAAA/G,WAAWyuJ,UAAU,E,GAGpB+uE,EAAkE,CACpEC,SAAU,IAAIruM,IAAI,CAAC,EAAAoiH,UAAUE,gBA4MjC,UAzMyC,SAACpxI,GAC9B,IAAA2pC,EAAkF3pC,EAAK,SAA7EotC,EAAwEptC,EAAK,aAA/D0yJ,EAA0D1yJ,EAAK,aAAjDyqC,EAA4CzqC,EAAK,uBAAzB2yJ,EAAoB3yJ,EAAK,gBAEvFsD,GAAgB,eAAmB,YAEnCzC,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEEitK,EAAiB,UAAMtpK,SAAQ,WACjC,OAAKlB,GAIE,IAAAoqK,gCAA+BpqK,KAHlC,IAAAoxB,YAAW,sDACJ,GAGf,GAAG,CAACpxB,IAEE,IAAiC,UAAMkB,SAAQ,WACjD,IAAMsW,EAAS,EAAH,GACL,EAAAw6D,gBASP,OANIo9E,IACA53I,EAAO,EAAApb,WAAW+G,OAASisJ,GAKxB,CAAC53I,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAAC43I,IAAc,GAbXl4I,EAAa,KAAEupC,EAAa,KAe7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbsyI,eAAgBmwE,EAChBr5K,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMozI,EAAUrzI,EAAO,EAAApb,WAAWyuJ,SAE5Bt0H,EAAQ/e,EAAO,EAAApb,WAAWm6B,QAC3BA,aAAK,EAALA,EAAO53B,UAIZmrC,EAAa,CACT3mC,MAAOqU,EAAO,EAAApb,WAAW+G,OACzBozB,MAAOA,EACPujM,SAAUjvE,IAGdpzI,EAAcI,WAAW,CAAC,GAC9B,IAGEkiN,EAAgB5iN,EAAOK,OAAO,EAAApb,WAAWm6B,OACzCyjM,EAAW,UAAM94N,SAAQ,W,QACrB+4N,EAAoB5zL,EAASmP,MAAK,SAACvqC,GACrC,OACIA,EAAQ28B,aAAe,EAAAC,eAAehf,UACtC5d,EAAQsrB,MAAMo3C,MAAK,SAACusJ,GAChB,OAAOA,EAAS1jM,MAAQojM,EAAgCC,SAASluM,IAAIuuM,EAAS1jM,KAClF,GAER,IAEM2jM,EAA2BJ,EAAcpsJ,MAAK,SAACn3C,GACjD,OAAOojM,EAAgCC,SAASluM,IAAI6K,EACxD,IAEA,OAAIujM,GAAkBI,GAA6BF,IAQ5C,EAAP,IACK,EAAA79N,WAAWm6B,OAAQ,K,KARb,EAAP,IACK,EAAAn6B,WAAWm6B,OAAQh5B,EAAE,wDAAyD,CAC3Ei5B,KAAMj5B,EAAE,oCAA6Bw8N,M,EAQrD,GAAG,CAAC1zL,EAAU0zL,EAAex8N,IAsBvBihB,EAAc,UAAMtd,SAAQ,WAC9B,OAAO,aAAcimC,EAEzB,GAAG,CAACA,EAAuB1mC,QAErB,GAA4C,aAAmB+d,GAA7DC,EAAe,kBAAEE,EAAoB,uBAE7C,OACI,gCAAMpH,SAAUJ,EAAOiB,cACnB,+BAAKhb,UAAWf,EAAG,SACf,wBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAW+G,MACjB1C,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+G,OAChCoV,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+G,OACrCmsB,WAlCS,SAACA,GACtB,GAAIA,IAAe,EAAA8rD,mCAAmC2gD,kBAAmB,CACrE,IAAMq+F,EAAmB/zL,EAASmP,MAAK,SAACvqC,GACpC,OAAOA,EAAQ9H,QAAUgU,EAAOK,OAAO,EAAApb,WAAW+G,MACtD,IAEA,OAAIi3N,aAAgB,EAAhBA,EAAkBxyL,cAAe,EAAAC,eAAeswC,QACzC56E,EAAE,uEAGT68N,aAAgB,EAAhBA,EAAkBxyL,cAAe,EAAAC,eAAehf,SACzCtrB,EAAE,uEAGNA,EAAE,6DACb,CAEA,OAAO+xB,GAAc,IACzB,CAgB4B+qM,CAAiB57M,EAAgB,EAAAriB,WAAW+G,QACxDqsB,gBAAiB7Q,EACjBlb,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW+G,MACjBxB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+G,OAChCf,YAAY,GACZoX,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,wBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAWm6B,MACjB91B,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWm6B,OAChChe,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWm6B,OACrCxnB,QAASirN,EAAS,EAAA59N,WAAWm6B,OAC7B9yB,MAAOlG,EAAE,yDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAiB,CACdiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWm6B,OAChC/c,SAAU9c,EAAM8c,SAChBpX,YAAa7E,EAAE,+DACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB2oK,eAAgBA,EAChBvrK,gBAAiB,EAAAC,4BAA4BiF,YAVzC,IAcfkrJ,GACG,wBAAC,UAAW,CACR/5I,KAAM,EAAAlZ,WAAWyuJ,QACjBpqJ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyuJ,SAChCtyI,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyuJ,SACrCpnJ,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAkB,CACf8a,OAAQL,EAAOK,OAAO,EAAApb,WAAWyuJ,SACjCjpJ,SAAUlF,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACf6tF,sBAAuB,EACvB7wF,gBAAiB,EAAAC,4BAA4B+8F,QAC7C75F,YAAa7E,EAAE,6DAVX,KAgBxB,wBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgB8O,QACvB3O,UAAWy7B,EAAuB5mC,QAClC+Z,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,qCAInB,C,kTC1PA,cAwBA,UArBwB,SAAC+8N,GACb,IAAA1xN,EAAe0xN,EAAW,GAAtBx0M,EAAWw0M,EAAW,OAElC,OAAK1xN,GAKAkd,IACD,IAAAsL,YAAW,4BAGR,EAAP,KACOkpM,GAAW,CACd1xN,GAAE,EACF6wF,eAAgB79E,OAAO0+M,EAAY7gI,gBACnCnrE,aAAcgsM,EAAYhsM,aAC1BxI,OAAQA,OAbR,IAAAsL,YAAW,wBACJ,KAcf,C,sBCvBA,IAAYh1B,E,qEAAZ,SAAYA,GACR,gCAEA,oBAEA,kCACA,kCAEA,8BAEA,4BACA,+BACH,CAZD,CAAYA,IAAU,aAAVA,EAAU,I,q7BCAtB,kBAEA,aACA,cACA,cAEA,aACA,WACA,WAUMC,EAAK,UAAWC,KAAK,WAErBi+N,EAA8C/9N,EAAMC,MAAK,SAACC,GACpD,IAAA4sB,EAAqD5sB,EAAK,KAApDyQ,EAA+CzQ,EAAK,OAA5Cs4C,EAAuCt4C,EAAK,UAAjCU,EAA4BV,EAAK,UAAtBu4C,EAAiBv4C,EAAK,aAE1Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAI,aAAM8rB,GACC,KAIP,uBAAKlsB,WAAW,aAAGf,EAAG,OAAQ,CAAE,eAAgB8Q,EAAQ,kBAAmB6nC,IAAc53C,KACpF,IAAAyzG,6BAA4BtzG,EAAG+rB,EAAM,CAAE2rB,aAAY,IAGhE,IAEA,UAAeslL,C,+BCnCf,WAAgB,OAAS,oCAAoC,aAAa,wCAAwC,cAAc,yCAAyC,MAAQ,mCAAmC,OAAS,oCAAoC,SAAW,sC,iLCD5Q,eAEA,WACA,WAEA,aACA,WACA,WAEA,WAEa,EAAA11M,WAAa,CACtB21M,UAAW,WACP,OAAO,EAAAzkC,iBAAiBrmK,MAC5B,EACAomK,aAAc,SAACzpI,GACX,MAAO,CACH1rB,UAAU,IAAAwxJ,cAAa,EAAAthJ,cAAcilJ,aAAc,CAC/CzpI,QAAO,IAEXjsD,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACA7uN,WAAY,SAACqgC,GACT,MAAO,CACHvL,UAAU,IAAAwxJ,cAAa,EAAAwoC,cAAc7uN,QAAS,CAC1CogC,MAAK,IAET9rC,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACAE,QAAS,WACL,OAAO,EAAAD,cAAcxzK,IACzB,EACA0zK,aAAc,WACV,OAAO,EAAAC,kBAAkB1uM,KAC7B,EACA2uM,iBAAkB,WACd,OAAO,EAAAD,kBAAkB/xC,SAC7B,EACAiyC,kBAAmB,WACf,OAAO,EAAAC,2BAA2BD,iBACtC,EACAE,iBAAkB,WACd,OAAO,EAAAD,2BAA2BC,gBACtC,EACAC,gBAAiB,SAAC7sM,G,MACd,MAAO,UAAG,EAAA2sM,2BAA2BG,kBAAiB,YAAI,UAAGn7J,YAAS,MACjE,EAAA27C,qBAAqBC,aAAc,EAAAN,eAAe8/G,OAAoC,CACnF,CACI17N,KAAM,EAAAmnC,uBAAuB2T,SAC7BnsB,aAAY,EACZw/B,eAAe,K,IAI/B,E,yOC3DJ,eAEA,WAUM7tD,EAAiC,CACnCyK,MAAO,GACP/H,MAAO,KACPkI,MAAO,KACPE,KAAM,CAAC,GAGE,EAAAuwN,kBAAmB,IAAAtyJ,aAAY,CACxC1zD,KAAM,cACNrV,aAAY,EACZgpE,SAAU,CACNsyJ,qBAAsB,SAElBn7N,EAEAC,GAOJ,EACAm7N,0BAA2B,SACvBp7N,EACAC,GAKM,MAAwBA,EAAOklB,QAA7BpU,EAAU,aAAExO,EAAK,QAEzBy9C,OAAOyhI,OAAOzhL,GAAO,IAAA27D,kBAAiB37D,EAAO+Q,EAAYxO,GAC7D,EACA84N,4BAA6B,SACzBr7N,EACAC,GAMM,MAAsCA,EAAOklB,QAA3C5iB,EAAK,QAAEwO,EAAU,aAAEI,EAAY,eAEvC6uC,OAAOyhI,OAAOzhL,GAAO,IAAA47D,oBAAmB57D,EAAO+Q,EAAYxO,EAAO4O,GACtE,EACAmqN,0BAA2B,SACvBt7N,EACAC,GAMM,MAA+BA,EAAOklB,QAApC5iB,EAAK,QAAElC,EAAK,QAAE0Q,EAAU,aAEhCivC,OAAOyhI,OAAOzhL,GAAO,IAAAqiI,kBAAiBriI,EAAO+Q,EAAYxO,EAAOlC,GACpE,EACAk7N,iBAAkB,SACdv7N,EACAC,GAIQ,IAAAuR,EAAwBvR,EAAOklB,QAAO,oBAE9C66B,OAAOyhI,OAAOzhL,EAAOH,GAAc,IAAAm8D,wBAAuBn8D,EAAcG,EAAOwR,GACnF,GAEJs3D,cAAe,SAACC,GACZA,EAAQC,QAAQ,uBAAuB,WACnC,OAAOnpE,CACX,GACJ,IAIA,EAAAs7N,sBADS,EAMT,EAAAD,iBAAiBjwN,SAAO,qBAJxB,EAAAmwN,0BAAyB,4BACzB,EAAAC,4BAA2B,8BAC3B,EAAAC,0BAAyB,4BACzB,EAAAC,iBAAgB,mBAGpB,UAAe,EAAAL,iBAAiBjyJ,O,sBC/FhC,IAAYxiB,EAuFAtyC,E,+FAvFZ,SAAYsyC,GACR,gCACA,kCAEA,kCACA,8BACA,oCACA,gCAEA,oCACA,gCAEA,oCAEA,gCAEA,wBACA,4BACA,wBACA,4BAEA,0CACA,sDAEA,wBACA,oCAEA,8BACA,kCAEA,4CACA,gDAEA,4BAEA,0BAEA,0EACA,kEACA,wEACA,gEACA,wEACA,gEACA,+BACA,mBACA,kCACH,CA9CD,CAAYA,IAAoB,uBAApBA,EAAoB,KAuFhC,SAAYtyC,GACR,wCACA,wCACA,6CACH,CAJD,CAAYA,IAAa,gBAAbA,EAAa,I,q7BCzFzB,kBACA,cACA,cACA,WACA,cACA,cACA,cAEA,cACA,cACA,cACA,cAGA,cAEMlY,EAAK,UAAWC,KAAK,WAYrBs/N,EAAkCp/N,EAAMC,MAAK,SAACC,GACxC,IAAAumG,EAAmDvmG,EAAK,SAA9CU,EAAyCV,EAAK,UAAnC6mG,EAA8B7mG,EAAK,eAAnBgP,EAAchP,EAAK,UAExDa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAqD,CACvD,CACIC,aAAc,WAAM,mCAAOtyB,EAAE,sCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAAC8rM,GAA4B,uBAAC,UAAM,CAACjzN,GAAIizN,aAAO,EAAPA,EAAS5sE,eAArB,EACrC7xJ,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,wCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,2BACrC0zB,OAAQ,SAAC8rM,GAA4B,uBAAC,UAAY,CAACA,QAASA,EAASt4H,eAAgBA,GAAhD,EACrCnmG,UAAWf,EAAG,gBAAiB,2BAC/BgB,aAAc,YAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,sCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC8rM,GAA4B,uBAAC,UAAQ,CAACj5M,KAAMi5M,aAAO,EAAPA,EAASvoN,QAAzB,EACrClW,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,uCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC8rM,GAA4B,OACjC,gBAAC,UAAQ,CAACvyM,KAAMuyM,aAAO,EAAPA,EAASp5H,WAAY+N,WAxCzB,qBAwC0Dx7D,WAAS,EAAC7nC,QAAM,GADrD,EAGrC/P,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,WAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,mCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC8rM,GAA4B,OACjC,gBAAC,UAAQ,CAACvyM,KAAMuyM,aAAO,EAAPA,EAASC,QAAStrH,WAlD1B,cAkDuDx7D,WAAS,EAAC7nC,QAAM,GAD9C,EAGrC/P,UAAWf,EAAG,gBAAiB,sBAC/BgB,aAAc,OAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,sCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC8rM,GAA4B,uBAAC,UAAiB,CAAC7qN,eAAa,EAAC8U,OAAQ+1M,aAAO,EAAPA,EAAS/1M,QAAlD,EACrC1oB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,uCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,0BACrC0zB,OAAQ,SAAC8rM,GAA4B,uBAAC,UAAW,CAACA,QAASA,GAAtB,EACrCz+N,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,YAKhBozB,EAAa,SAAClY,EAAqBsjN,GACrC,MAAO,CAAC,CACZ,EAEA,OACI,uBAAKz+N,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAiBw0B,UAAU,WAAWnlB,UAAWA,EAAW4W,KAAM2gF,IAC3E,SAAC3gF,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACFzzB,aAAa,WACbD,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNmO,WAAYA,EACZ/kB,UAAWA,EACXolB,eAAgBA,GARG,IAc3C,IAEA,UAAe8qM,C,w9BCjHf,kBAEA,WACA,cACA,cACA,cACA,cAGA,WAQMG,EAA8Cv/N,EAAMC,MAAK,SAACC,GACpD,IAAAyB,EAAwCzB,EAAK,QAApCqF,EAA+BrF,EAAK,WAAxBimF,EAAmBjmF,EAAK,eAE7Ca,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAO,CACJC,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI4kF,EACI,gBAAC,UAAc,CAAC3kF,UAAQ,EAACE,MAAO,IAAKN,MAAO,EAAAK,wBAAwBH,OAC/D6kF,GAGL,gBAAC,UAAc,CAAC1xE,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,EAAE,mCAKd,WAAM,OACH,gBAAC,UAAkB,CACfY,QAASA,EACT4D,WAAYA,EACZvD,gBAAiB,EAAAC,oBAAoBC,MACrCN,SAAU,gBAAC,UAAU,CAACgV,YAAa,EAAA9U,qBAAqBC,WACxDlB,aAAa,SACb8yG,OAAO,MAPR,GAYnB,IAES,EAAA4rH,0BAAAA,C,+GCpDT,cAEa,EAAAl9L,6BAA+B,IAAI,EAAAlZ,gB,q7BCFhD,kBACA,cACA,cACA,cACA,WACA,WACA,cAEA,WAEMtpB,EAAK,UAAWC,KAAK,WAOrB0/N,EAAgCx/N,EAAMC,MAAK,SAACC,GACtC,IAAAkM,EAA0BlM,EAAK,GAA3Bk7D,EAAsBl7D,EAAK,kBAC/Ba,GAAM,IAAAC,kBAAgB,EAgB9B,OACI,gBAAC,UAAM,CACHI,MAAO,EAAA2N,gBAAgB8O,QACvBjd,UAAWf,EAAG,UACd8B,QAlBgB,W,QACd2xC,GAAS8nB,aAAiB,EAAjBA,EAAmB9nB,SAAU,GACtC/C,GAAsB,QAAT,EAAA+C,EAAO,UAAE,eAAE9b,OAAQ,KAChCgZ,GAAuC,QAAzB,EAAA8C,EAAOA,EAAOnxC,OAAS,UAAE,eAAEq1B,OAAQ,KAEjD0N,EAAM,EAAA7c,WAAWywK,YAAY,CAC/B1sL,GAAE,EACFstL,SAASt+H,aAAiB,EAAjBA,EAAmBhvD,KAAM,KAClCsoH,YAAY,IAAAz8G,gBAAes4B,GAC3BkvL,aAAa,IAAAxnN,gBAAeu4B,KAEhC,UAAQ54B,KAAKstB,EACjB,EAOQrkC,aAAa,YAEZE,EAAE,uCAGf,IAEA,UAAey+N,C,+BC9Cf,WAAgB,KAAO,kDAAkD,cAAc,yDAAyD,eAAe,0DAA0D,mBAAmB,8DAA8D,OAAS,oDAAoD,SAAW,sD,q7BCDlX,kBAEA,WACA,cACA,cACA,WACA,cAEA,cAgBMhxN,EAAgB,uBAEhBkxN,EAA4C,UAAMz/N,MAAK,SAACC,GAClD,IAAAyM,EAAsDzM,EAAK,KAArDyO,EAAgDzO,EAAK,SAA3CQ,EAAsCR,EAAK,QAAlCwD,EAA6BxD,EAAK,cAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,mCACZK,MAAO,EAAA2N,gBAAgBC,UACvBzJ,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,OAC9B7M,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,uDAAwD,CAC7DohE,YAAax1D,EAAKgzN,oBAEtBlnN,QAAS1X,EAAE,kEAlChB,IAuCf,IAEA,UAAe2+N,C,wKCtEf,cAEa,EAAAtyG,yBAA2B,SAACxpH,GACrC,OAAAA,EAAMg8N,oBAAoBjmL,YAA1B,EAES,EAAAkmL,yBACT,SAACzzN,EAAgB0gB,GACjB,gBAAClpB,GACG,IAAM8yD,GAAO,IAAA9pC,SAAQxgB,EAAI0gB,GAEzB,OAAOlpB,EAAMg8N,oBAAoB1mF,OAAOxiF,IAAS,IACrD,CAJA,EAMS,EAAAw2D,gCAAkC,SAACtpH,GAC5C,OAAOA,EAAMg8N,oBAAoB1mF,QAAU,CAAC,CAChD,C,q7BClBA,kBACA,cACA,WACA,cAEA,aAEA,cACA,WACA,WACA,WACA,WACA,UAEMr5I,EAAK,UAAWC,KAAK,WASrB4+M,EAA+C1+M,EAAMC,MAAK,SAACC,GACrD,IAAAqhG,EAAwCrhG,EAAK,kBAA1B+sB,EAAqB/sB,EAAK,OAAlByO,EAAazO,EAAK,SAE/Cu0B,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAAsa,iBACb,GAAG,CAACta,IAEJ,IAAMkqL,GAAqB,IAAAzoM,aAAY,EAAA0oM,0BAEjCC,EAA2B7+M,EAAM0E,SAAQ,WAC3C,OAAO,IAAAo6M,gBAAel6I,KAAKD,MAAO,EAAAtlB,WACtC,GAAG,IAEG0/J,EAAwB/+M,EAAM0E,SAAQ,W,MACxC,IAAK68F,EACD,OAAO,KAGX,IAAMkyB,GAA4C,QAA5B,EAAAlyB,aAAiB,EAAjBA,EAAmBj3E,iBAAS,eAAG,KAAM,KACrDpS,GACFu7G,aAAa,EAAbA,EAAehV,yBAAyBgV,aAAa,EAAbA,EAAe1wC,uBAAwB,KAC7Ei8H,GAAkC,aAAO9mM,GAAwB4uC,UAEvE,MAAO,CAAC+3J,EAA0BG,EAAkCL,EACxE,GAAG,CAACE,EAA0Bt9G,EAAmBo9G,IAE3C/iM,EAAe5b,EAAMkG,aACvB,SAACopE,EAAkBx/D,GACVmd,EAKLwH,GAAS,IAAAwqL,kBAAiBhyL,EAAQqiD,EAAUx/D,KAJxC,IAAA8kB,YAAW,uCAKnB,GACA,CAACH,EAAUxH,IAGf,OAAKs0E,EAKD,uBAAK3gG,UAAWf,EAAG,YACf,gBAAC,UAAiB,CACdk/M,sBAAuBA,EACvBpwM,SAAUA,EACVoM,SAAUa,KARX,IAYf,IAEA,UAAe8iM,C,kMC1EF,EAAAnpM,sBAAwB,6CACxB,EAAAE,4BAA8B,mDAC9B,EAAAK,4BAA8B,mDAC9B,EAAAF,8BAAgC,oD,mkBCP7C,kBACI,aACI,SAAK,UAAC,0BAAwB,IAClC,CACJ,OAJyC,OAIzC,EAJA,CAAyC2vI,OAA5B,EAAAu6E,oBAAAA,C,6JCAb,IAQMC,EARN,YAQgC,QAAMz8N,cAAwC,CAE1EksD,eAAgB,WACZ,MAAO,CAAC,CACZ,EACA2B,aAAc,WACV,MAAO,CAAC,CACZ,IAGJ,UAAe4uK,C,u8CClBf,kBAEA,cACA,cACA,WACA,WAMA,WACA,cACA,WACA,cACA,cACA,cACA,cACA,cAIA,WACA,cACA,cACA,WAEA,cACA,cACA,WAOA,aACA,cACA,cAEA,WACA,cACA,WACA,WACA,cACA,WACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,WACA,cACA,cACA,WACA,WACA,WACA,eACA,YACA,YAEA,YACA,YACA,YACA,eACA,cAEMlgO,GAAK,UAAWC,KAAK,WAIrBkgO,GAAwChgO,EAAMC,MAAK,W,UAC7Cc,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAETq9H,GAAgB,IAAAC,kBAAgB,YAClC3jJ,GAAQ,IAAA6H,aAAY,EAAA2gN,yBACpBoJ,GAAoB,IAAA/pN,aAAY,EAAAy2J,yBAChCuzD,GAAkB,IAAAhqN,aAAY,EAAA4gN,yBAE9BqJ,GAAkB,IAAAjqN,aAAY,EAAAkqN,wBAE9B1+L,IAAkB,KAAAC,sBAElB0+L,IAAmC,IAAAnqN,aAAY,EAAAoqN,iCAErDtgO,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAEE,SAAkCz0B,EAAMuE,UAAkB,GAAM,GAA/D+/D,GAAa,MAAEC,GAAc,MAI9BoK,GAAc,WAChBpK,IAAe,EACnB,EAEM,MAAuB,KAAAc,kBAAc,MACtC,EAAAttD,cAAcwoN,sBAAsB,IAAAv6J,kBAAgC,CAAC,GACtE,EAAC,EAAAjuD,cAAcyoN,mBAAmB,IAAAj7J,yBAClC,EAAC,EAAAxtD,cAAc0oN,mBAAmB,IAAAh7J,kBAAuC,CACrEtgE,MAAO,EAAAqvH,qBAAqBh4E,YAC5BopB,UAAW,EAAAC,kBAAkBC,O,IAEnC,GAPK3/D,GAAK,MAAE8/D,GAAW,MASnBtxD,GAAaxO,GAAM,EAAA4R,cAAcyoN,kBACjCt6J,GAAe//D,GAAM,EAAA4R,cAAc0oN,kBACnCrmN,GAAejU,GAAM,EAAA4R,cAAcwoN,qBAEnCzhN,GAAOmhN,EAAkBtrN,IACzB,GAAyBmK,IAAQ,CAAC,EAAhCqtC,GAAG,OAAEzoD,GAAa,iBAEpBs+B,GAAkChiC,EAAMkG,aAAY,WACtD,IAAMC,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,GAAS,IAAArjB,uBAAsB,CAAEuD,WAAU,GAAExO,MAAK,EAAE9D,QAAS,CAAE4/B,eAAe,MAE9ExN,GAAS,IAAAy6C,gCAA+B,CAAEjtC,eAAe,IAC7D,GAAG,CAACttB,GAAYuxD,GAAc9rD,GAAcqa,KAC5C,aAA4BuN,IAE5B,IAAME,GAAqBliC,EAAMkG,aAAY,WACzC,IAAMC,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,GAAS,IAAArjB,uBAAsB,CAAEuD,WAAU,GAAExO,MAAK,EAAE9D,QAAS,CAAE4/B,eAAe,MAE9ExN,GAAS,IAAAy6C,gCAA+B,CAAEjtC,eAAe,IAC7D,GAAG,CAACttB,GAAYuxD,GAAc9rD,GAAcqa,KAC5C,IAAA0N,qBAAoB,EAAAiiH,2BAA4BliH,IAEhD,IAAMiI,GAAuBnqC,EAAMkG,aAAY,WAC3C,IAAMC,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAClDzxC,GAAS,IAAArjB,uBAAsB,CAAEuD,WAAU,GAAExO,MAAK,EAAE9D,QAAS,CAAE4/B,eAAe,KAClF,GAAG,CAACttB,GAAYuxD,GAAc9rD,GAAcqa,IAE5Cz0B,EAAMoL,WAAU,WACZ,IAAMjF,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,IAKlD,OAJAzxC,GAAS,IAAArjB,uBAAsB,CAAEuD,WAAU,GAAExO,MAAK,KAElDsuB,GAAS,IAAAy6C,gCAA+B,CAAEjtC,eAAe,KAElD,WAEP,CACJ,GAAG,CAACnjB,GAAMnK,GAAYuxD,GAAc9rD,GAAcqa,IAElD,IAAMw1I,GAAejqK,EAAM0E,SAAQ,WAC/B,OAAQynD,IAAO,IAAI50C,KAAI,SAACnL,GAA0B,OAAA8zN,EAAgB9zN,EAAhB,GACtD,GAAG,CAAC+/C,GAAK+zK,IAEH1zK,GAAWxsD,EAAMkG,aACnB,SAACyO,G,MACGsxD,KAAW,MACN,EAAAluD,cAAcyoN,kBAAmB7rN,E,GAE1C,GACA,CAACsxD,KAGCxZ,GAAiBzsD,EAAMkG,aACzB,SAAC,G,IAAEyO,EAAU,aACT63C,GAAS73C,EACb,GACA,CAAC63C,MAEL,IAAArqB,qBAAoB,EAAA6qI,8BAA+BvgH,IAEnD,IAkBMi0K,GAAyF,CAC3F,CACIt0N,QAAI5F,EACJipE,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,sDACTF,aAAc,OAElB,CACIuL,GAAI,EAAA0pH,4BAA4Br0E,IAChCguB,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,wCACTF,aAAc,EAAAi1H,4BAA4Br0E,IAC1CmuB,kBAAmB,CACf9sE,MAAOq9N,aAAe,EAAfA,EAAiBQ,UACxBv/N,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAA0pH,4BAA4BrwF,kBAChCgqC,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,uDACTF,aAAc,EAAAi1H,4BAA4BrwF,kBAC1CmqC,kBAAmB,CACf9sE,MAAOq9N,aAAe,EAAfA,EAAiBS,gBACxBx/N,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAA0pH,4BAA4BpwF,gBAChC+pC,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,qDACTF,aAAc,EAAAi1H,4BAA4BpwF,gBAC1CkqC,kBAAmB,CACf9sE,MAAOq9N,aAAe,EAAfA,EAAiB11I,SACxBrpF,MAAO,EAAAi6F,kCAAkCjpF,SAGjD,CACIhG,GAAI,EAAA0pH,4BAA4BnwF,UAChC8pC,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,+CACTF,aAAc,EAAAi1H,4BAA4BnwF,UAC1CiqC,kBAAmB,CACf9sE,MAAOq9N,aAAe,EAAfA,EAAiBx6L,UACxBvkC,MAAO,EAAAi6F,kCAAkCjpF,SAGjD,CACIhG,GAAI,EAAA0pH,4BAA4BjwF,SAChC4pC,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,6CACTF,aAAc,EAAAi1H,4BAA4BjwF,SAC1C+pC,kBAAmB,CACf9sE,MAAgE,QAAzD,EAAAu9N,cAAgC,EAAhCA,GAAkCQ,+BAAuB,eAAEvT,SAClElsN,MAAO,EAAAi6F,kCAAkCjpF,OACzCsB,gBAAgB,IAGxB,CACItH,GAAI,EAAA0pH,4BAA4BlwF,UAChC6pC,aAAc,EACdC,aAAc,EACdzoE,MAAOlG,EAAE,8CACTF,aAAc,EAAAi1H,4BAA4BlwF,UAC1CgqC,kBAAmB,CACf9sE,MAAgE,QAAzD,EAAAu9N,cAAgC,EAAhCA,GAAkCQ,+BAAuB,eAAExT,UAClEjsN,MAAO,EAAAi6F,kCAAkClnF,QACzCT,gBAAgB,KAKtB8yD,GAAgExmE,EAAM0E,SACxE,WAAM,OACF,CACIuC,MAAOlG,EAAE,sDACToE,MAAO,EAAAqvH,qBAAqBE,YAEhC,CACIztH,MAAOlG,EAAE,uDACToE,MAAO,EAAAqvH,qBAAqBhkF,aAEhC,CACIvpC,MAAOlG,EAAE,uDACToE,MAAO,EAAAqvH,qBAAqBh4E,aAX9B,GAcN,CAACz7C,IAwBC4lE,GAAqB,SAACC,G,MAClBC,EAAmB1gE,GAAM,EAAA4R,cAAcwoN,sBAAwB,CAAC,EAEhEnmN,EAAe,EAAH,KACXysD,GACAD,GAGPX,KAAW,MACN,EAAAluD,cAAcyoN,kBAAmB,EAClC,EAAC,EAAAzoN,cAAcwoN,qBAAsBnmN,E,GAE7C,EAEMqsD,GAAwB,SAACC,G,QACrBG,EAAmB1gE,GAAM,EAAA4R,cAAcwoN,sBAAwB,CAAC,EAEhEnmN,EAAe,IAAH,MACb,EAAAiwC,qBAAqB8lB,aAActJ,EAAiB,EAAAxc,qBAAqB8lB,aAAY,GACnFzJ,GAGPT,KAAW,MACN,EAAAluD,cAAcyoN,kBAAmB,EAClC,EAAC,EAAAzoN,cAAcwoN,qBAAsBnmN,E,IAGzCu0D,IACJ,EA0DA,OACI,gBAAC,UAAiB,KACd,gBAAC,UAAS,CAACxuE,MAAOY,EAAE,+BACpB,gBAAC,UAAc,KACX,gBAAC,UAAM,KACH,gBAAC,UAAa,CAACZ,MAAOY,EAAE,4BAA6BN,UAAW,gBAAC,UAAuB,SAE5F,gBAAC,UAAc,KACX,gBAAC,UAAwB,KACrB,gBAAC,WAAwB,CACrB4B,QAASq+N,GACTxwJ,WAAY91D,GAAa,EAAAiwC,qBAAqB8lB,aAC9C/qE,SAhHM,SAACgrE,G,QACrBvJ,EAAmB1gE,GAAM,EAAA4R,cAAcwoN,sBAAwB,CAAC,EAEhEnmN,EAAY,OACXysD,KAAgB,MAClB,EAAAxc,qBAAqB8lB,aAAcC,EAAa,IAGrDnK,KAAW,MACN,EAAAluD,cAAcyoN,kBAAmB,EAClC,EAAC,EAAAzoN,cAAcwoN,qBAAsBnmN,E,GAE7C,EAqGwBi2D,kBAAmBtvE,EAAE,qDAG7B,gBAAC,UAAoB,CACjBgrC,gBAAc,EACdC,cACI,gCACI,gBAAC,UAAc,CACX7rC,MAAOY,EAAE,sCACTwB,SAAU+hE,GACV3iE,QAhUZ,WAChB4iE,IAAe,EACnB,IAgU4B,gBAAC,WAAc,CACXy2B,KAAMmlI,EACN/lN,aAAcA,GACd6gF,qBAAsBt0B,KAE1B,gBAAC,UAAY,CACTlkE,gBAAiB,EAAAqkE,gCAAgCC,KACjD1/D,cAAe6+D,GACf7jE,QAASmkE,GACTphE,SA7IP,SAACmsC,G,MACtB00B,KAAW,MACN,EAAAluD,cAAcyoN,kBAAmB,EAClC,EAAC,EAAAzoN,cAAc0oN,kBAAmBlvL,E,GAE1C,IA0I4B,gBAAC,UAAa,CACV3rC,YAAa7E,EAAE,yCACf2oC,WAAYtvB,GAAa,EAAAiwC,qBAAqB3gB,YAC9CuC,mBA/FX,SAACvC,G,MAClBi9B,KAAkB,MACb,EAAAtc,qBAAqB3gB,YAAaA,QAAcljC,E,GAEzD,KA+FoB8mD,eACI,gBAAC,UAAe,CACZE,WAAS,EACTpzC,aAAcA,GACdD,gBAAiBssD,OAjGlB,WACvB,KAAK,KAAAr6B,2BAA0B69H,GAAcvmK,IACzC,OAAO,KAGX,GAAIA,cAAa,EAAbA,GAAeO,MACf,OAAO,gBAAC,UAAU,CAACA,MAAOP,cAAa,EAAbA,GAAeO,MAAOooC,QAASlC,KAGvD,OAAuD,KAAAmC,cACzD,CAAClyB,GAAa,EAAAiwC,qBAAqB8lB,cACnC,EAAC,aAAK/1D,GAAc,CAAC,EAAAiwC,qBAAqB8lB,gBAFtC5jC,EAAsB,yBAAEC,EAAwB,2BAKxD,OAAI9oC,cAAa,EAAbA,GAAeU,KAAMooC,EAEjB,gBAAC,UAAY,CACTC,SAAU,EAAAC,sBAAsBC,SAChCxsC,MAAOY,EAAE,qDACTuuB,YAAavuB,EAAE,2DACf6rC,cAAY,EACZq6B,YAAalmE,EAAE,sDACfmmE,YAAa,EAAAn4D,gBAAgBC,UAC7Bm4D,cAAe,WAAM,OAAAV,GAAsB,CAAC,EAAvB,EACrB5lE,aAAa,uCAKrB6C,cAAa,EAAbA,GAAeU,KAAMmoC,EAEjB,gBAAC,UAAY,CACTE,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,+DACTF,aAAa,kCACb+rC,cAAc,IAMtB,gBAAC,UAAY,CACTH,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,iDACTF,aAAa,QACb+rC,cAAc,GAG1B,CAqDiBE,GACD,gBAAC,UAAgB,CACbm9H,aAAcA,GACdrpK,UAAWf,GAAG,SACd4hN,uBApRW,SAAC51M,EAAyB0mD,GACrD,IAAMrtB,EAAM,EAAA7c,WAAW4gE,mBAAmB12B,GAC1Cw/F,EAAYlmJ,EAAOq5B,EACvB,EAkRoBw8K,mBAhRO,SAAC18M,EAAuB6H,GAC/C,IAAMq4B,EAAM,EAAA7c,WAAWwM,eAAehoB,EAAa7H,GACnD,UAAQ4S,KAAKstB,EACjB,EA8QoBqjC,mBA5QO,SAACvjE,EAAuBoqD,GAC/C1tB,GAAgB,CACZv+B,KAAM,GAAAmnC,uBAAuBklB,eAC7BjsD,UAAWyB,EACXoqD,UAAS,GAEjB,EAuQoBlgD,UAAWxL,cAAa,EAAbA,GAAeK,WAGlC,gBAAC,UAAY,KACT,gBAAC,UAAU,CAAC0H,QAASkJ,GAAY7R,MAAOuL,aAAK,EAALA,EAAO2/C,UAAWxB,SAAUA,MAExE,gBAAC,UAAO,CAAC34B,OAAQywC,GAAe5jE,QAASiuE,KACpC,SAACjuE,GAAY,OACV,gBAAC,UAAqB,CAClBA,QAASA,EACT0Z,aAAcA,GACdD,gBAAiBssD,IAJX,KAStB,gBAAC,WAAQ,MAGrB,IAEA,UAAeu5J,E,qHCvdf,eAEa,EAAA5rL,YAAc,cAEd,EAAA8lJ,qBAAuB,IAAIlrK,IAAuC,CAC3E,EAAAsjD,kCAAkCC,SAClC,EAAAD,kCAAkChxD,c,87CCNtC,kBAEA,cACA,cACA,WAEA,WAEA,cACA,WAIA,cAEMzhB,EAAK,UAAWC,KAAK,WAUrBghO,EAAuC9gO,EAAMC,MAAK,SAACC,GAC7C,IAAA00C,EACJ10C,EAAK,qBADqBkzC,EAC1BlzC,EAAK,oBAD0CiyC,EAC/CjyC,EAAK,cADyD4vC,EAC9D5vC,EAAK,4BADsFkwC,EAC3FlwC,EAAK,gBAEH6gO,EAAyB,IAAI/xM,IAAI4lB,GAAwB,IAEzD3B,GAAc7C,aAAe,EAAfA,EAAiB6C,cAAe,KAC9CyxI,GAA0B,IAAAxuK,cAAY,IAAA8qN,6CAA4C/tL,IAElFguL,GAAkC,IAAA/qN,aAAY,EAAAkuK,oCAE9C88C,EAAiB,SAACC,GACpB/tL,EAAoBwB,EAAqB1lB,QAAO,SAACkyM,GAAgB,OAAAA,IAAgBD,CAAhB,IACrE,EAEME,EAAc,SAACF,GACjB/tL,EAAoB,EAAD,OAAKwB,IAAoB,IAAEusL,IAAmB,GACrE,EAEMjyN,EAAY+xN,EAAgCl9N,UAAYouC,IAAkBc,EAEhF,OACI,uBAAKryC,UAAWf,EAAG,wBACdqP,GACG,uBAAKtO,UAAWf,EAAG,WACf,gBAAC,UAAuB,CAACgC,UAAW,EAAAC,qBAAqBI,SAGhE++N,EAAgCh9N,OAC7B,2BAAMu/D,KAAKC,UAAUw9J,EAAgCh9N,QAEzD,uBAAKiI,IAAK4jC,IACTmxL,EAAgC78N,KAC7BsgL,aAAuB,EAAvBA,EAAyBntK,KAAI,SAAC+pN,GAC1B,OACI,gBAAC,UAAuB,CACpBzuN,IAAKyuN,EAAuB5+K,SAC5BF,MAAO8+K,EACPlxL,gBAAiBA,EACjB2wL,uBAAwBA,EACxBQ,cAAeF,EACfG,iBAAkBN,GAG9B,KAGhB,IAEA,UAAeJ,C,0uCC1Ef,eACA,WACA,UA4BA,UA1BA,SAAsD9iI,EAAcN,G,kEAChC,UAAM,IAAAO,MAAK,EAAAstC,gC,OACnB,OADlBE,EAA0B,SACR,IAAM,IAAAxtC,MAAK,EAAAR,sBAAuBC,I,OAApDQ,EAAkB,SAEpBujI,EAAe,EACfC,GAAe,E,iBAEM,UAAM,IAAAC,MAAK,CAC5BC,YAAY,IAAAl7I,MAAK+kD,GACjBo2F,UAAU,IAAAn7I,MAAKwX,M,aAGoB,kBALjCu/F,EAAe,UAKGmkC,aACpBF,EAAejkC,EAAamkC,aAG1Bj9J,EAAMC,KAAKD,OACI88J,EAER/jI,IAAegkI,EACxB,IAAM,IAAAzjI,MAAKD,IADX,M,OACA,SACAyjI,EAAe98J,E,u+BCzB3B,kBACA,cAEA,cACA,WACA,cAEM9kE,EAAK,UAAWC,KAAK,WAMrBgiO,EAAsC9hO,EAAMC,MAAK,SAACC,GAC5C,IAAAwiK,EAAaxiK,EAAK,SAE1B,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,6BACRE,WAAY,CACRiyJ,SAAU,gBAAC,UAAQ,CAAC5pJ,KAAM4pJ,OAK9C,IAEA,UAAeo/D,C,oGC1BF,EAAAC,oBAAsB,SAC/BC,EACAC,G,YAEMC,GAA8C,QAA/B,EAAqB,QAArB,EAAAF,aAAc,EAAdA,EAAgB7iJ,aAAK,eAAE13B,MAAM,UAAE,eAAElwC,KAAI,SAACyyD,GAAS,OAAAA,EAAKwb,MAAL,MAAgB,GAIpF,QAFsE,QAA1C,EAAgC,QAAhC,EAAAy8I,aAAyB,EAAzBA,EAA2B9iJ,aAAK,eAAE13B,MAAM,UAAE,eAAElwC,KAAI,SAACyyD,GAAS,OAAAA,EAAKwb,MAAL,MAAgB,IAE3Et2D,QAAO,SAAC9iB,GAAO,OAAC81N,EAAaz8M,SAASrZ,EAAvB,GAC9C,C,uaCXA,kBAEA,UAiBA,UAEa,EAAA+1N,4BAAqD,CAC9DC,UAAW,GACXC,sBAAuB,UAAc1+N,QACrCijF,sBAAuB,UAAcjjF,QACrC2+N,sBAAuB,UAAc3+N,QACrC4+N,wBAAyB,UAAc5+N,QACvCmjF,mBAAoB,MAGxB,IAAMrjF,EAAuC,CAAC,EAE9C,mBACIG,EACAC,G,4BAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAA63E,sCACO,IAEF0sH,EAAuB9jM,EAFrBL,EAAcM,EAAM,YAEqB,EAAAs+N,4BAEjD,OAAO,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB26B,sBAAuB,UAAct+N,UAAO,IAIxD,KAAK,EAAAm3E,wCACO,IAAA33E,EAAgCM,EAAM,UAA3B2+N,EAAqB3+N,EAAM,iBAI9C,OAFM6jM,EAAuB9jM,EAAML,IAAc,EAAA4+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB06B,UAAWI,EACXH,sBAAuB,UAAcj+N,KAAE,IAInD,KAAK,EAAA62E,sCACO,IAAAh3E,EAAqBJ,EAAM,MAInC,OAFM6jM,EAAuB9jM,EAFdL,EAAcM,EAAM,YAEc,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB26B,sBAAuB,UAAcn+N,SAASD,KAAM,IAIhE,KAAK,EAAAs3E,sCACOh4E,EAAkCM,EAAM,UAAxC,IAAWijF,EAAuBjjF,EAAM,mBAIhD,OAFM6jM,EAAuB9jM,EAAML,IAAc,EAAA4+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB5gH,mBAAkB,EAClBF,sBAAuB,UAAc7iF,UAAO,IAIxD,KAAK,EAAA03E,wCAKD,OAFMisH,EAAuB9jM,EAFrBL,EAAcM,EAAM,YAEqB,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB9gH,sBAAuB,UAAcxiF,KAAE,IAInD,KAAK,EAAAo3E,sCAKD,OAJQv3E,EAAqBJ,EAAM,MAE7B6jM,EAAuB9jM,EAFdL,EAAcM,EAAM,YAEc,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB9gH,sBAAuB,UAAc1iF,SAASD,KAAM,IAKhE,KAAK,EAAAu2E,sCAKD,OAFMktH,EAAuB9jM,EAFrBL,EAAcM,EAAM,YAEqB,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB46B,sBAAuB,UAAcv+N,UAAO,IAIxD,KAAK,EAAA22E,wCAKD,OAFMgtH,EAAuB9jM,EAFrBL,EAAcM,EAAM,YAEqB,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB46B,sBAAuB,UAAcl+N,KAAE,IAInD,KAAK,EAAAq2E,sCAKD,OAJQx2E,EAAqBJ,EAAM,MAE7B6jM,EAAuB9jM,EAFdL,EAAcM,EAAM,YAEc,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB46B,sBAAuB,UAAcp+N,SAASD,KAAM,IAKhE,KAAK,EAAA22E,wCAKD,OAFM8sH,EAAuB9jM,EAFrBL,EAAcM,EAAM,YAEqB,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB66B,wBAAyB,UAAcx+N,UAAO,IAI1D,KAAK,EAAA+2E,0CAKD,OAFM4sH,EAAuB9jM,EAFrBL,EAAcM,EAAM,YAEqB,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB66B,wBAAyB,UAAcn+N,KAAE,IAIrD,KAAK,EAAAy2E,wCAKD,OAJQ52E,EAAqBJ,EAAM,MAE7B6jM,EAAuB9jM,EAFdL,EAAcM,EAAM,YAEc,EAAAs+N,4BAE1C,EAAP,KACOv+N,KAAK,MACPL,GAAS,OACHmkM,GAAoB,CACvB66B,wBAAyB,UAAcr+N,SAASD,KAAM,IAKlE,KAAK,EAAAI,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,67CC7MD,kBACA,WAQM6+N,EAA4B,SAACviO,GACvB,IAAA2B,EAAiD3B,EAAK,UAA3CwR,EAAsCxR,EAAK,YAA9B0W,EAAyB1W,EAAK,YAAdk5C,EAAI,EAAKl5C,EAAnD,2CAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAO,GAAIsK,OAAQ,GAAIuF,QAAQ,aAAgB6nC,GACnF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBACIE,YAAaA,GAAe,EAC5BhF,KAAM7K,EACN4P,EAAE,gHAEN,wBACI/E,KAAMkK,EACNnF,EAAE,oeAKtB,EAEAgxN,EAAQzwN,YAAc,UAEtB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAewwN,C,q7BCrCf,kBAEA,cACA,cACA,cACA,WAwBA,UAhBqC,SAACviO,GAC1B,IAAAU,EAAmCV,EAAK,UAA7ByB,EAAwBzB,EAAK,QAApBqF,EAAerF,EAAK,WAEhD,OACI,gBAAC,UAAkB,CACfU,UAAWA,EACX2E,WAAYA,EACZ5D,QAAS4D,EAAa,UAAO5D,EAC7BK,gBAAiB,EAAAC,oBAAoBC,MACrCN,SACI,gBAAC,UAAa,CAACC,UAAW0D,EAAa,EAAAzD,qBAAqBI,MAAQ,EAAAJ,qBAAqBC,YAIzG,C,kGC3Ba,EAAA40J,kBAAoB,SAAChpE,GAC9B,MAAO,mBAAYA,EACvB,C,y2FCFA,kBACA,cACA,WAEA,WAuuBM+0I,EAruBN,YAGI,aACI,QAAK,UAAC,EAAA79K,QAAS,CACXC,SAAU,GACVC,QAAS,EAAAlF,aACX,K,OAWN,EAAA8iL,aAAe,6BAAU19K,SAAO,W,2BAC5B,MAAO,CAAP,EAAOC,KAAK09K,iBAA8D,CACtEx9K,OAAQ,MACR1gB,KAAM,oBACN2gB,4BAA6B,S,QAIrC,EAAAmuI,uBAAyB,6BAAUvuI,SAAO,W,2BAGtC,MAAO,CAAP,EAAOC,KAAK09K,iBAAsE,CAC9Ex9K,OAAQ,MACR1gB,KAAM,6BACN2gB,4BAA6B,S,QAKrC,EAAAw9K,WAAa,SAAOl1L,GAAa,kBAAGsX,SAAO,W,2BACvC,MAAO,CAAP,GAAO,IAAA69K,4B,QAGX,EAAAjnJ,iBAAmB,6BAAU52B,SAAO,W,2BAChC,MAAO,CAAP,EAAOC,KAAK09K,iBAAwD,CAChEx9K,OAAQ,MACR1gB,KAAM,eACN2gB,4BAA6B,S,QAIrC,EAAA4X,UAAY,SACR8lK,GAA+C,kBAChD99K,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA+C,CACvDx4C,KAAMo2N,EACN39K,OAAQ,MACR1gB,KAAM,eACN2gB,4BAA6B,S,QAIrC,EAAA29K,oBAAsB,6BAAU/9K,SAAO,W,2BACnC,MAAO,CAAP,EAAOC,KAAK09K,iBAA2D,CACnEx9K,OAAQ,MACR1gB,KAAM,kBACN2gB,4BAA6B,S,QAIrC,EAAA49K,aAAe,SACXC,GAAuD,kBACxDj+K,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAoD,CAC5Dx4C,KAAMu2N,EACN99K,OAAQ,MACR1gB,KAAM,qBACN2gB,4BAA6B,Y,QAIrC,EAAAmuG,gBAAkB,6BAAUvuG,SAAO,W,2BAC/B,MAAO,CAAP,EAAOC,KAAK09K,iBAAgE,CACxEx9K,OAAQ,MACR1gB,KAAM,uBACN2gB,4BAA6B,S,QAIrC,EAAA89K,+BAAiC,6BAAUl+K,SAAO,W,2BAG9C,MAAO,CAAP,EAAOC,KAAKC,QAAgF,CACxFC,OAAQ,MACR1gB,KAAM,kDACN2gB,4BAA6B,S,QAIrC,EAAA+9K,sBAAwB,6BAAUn+K,SAAO,W,2BACrC,MAAO,CAAP,EAAOC,KAAKC,QAA0D,CAClEC,OAAQ,MACR1gB,KAAM,0BACN2gB,4BAA6B,S,QAIrC,EAAA1V,wBAA0B,6BAAUsV,SAAO,W,2BAGvC,MAAO,CAAP,EAAOC,KAAKC,QAAwE,CAChFC,OAAQ,MACR1gB,KAAM,2CACN2gB,4BAA6B,S,QAIrC,EAAA2iH,cAAgB,6BAAU/iH,SAAO,W,2BAC7B,MAAO,CAAP,EAAOC,KAAK09K,iBAA8D,CACtEx9K,OAAQ,MACR1gB,KAAM,qBACN2gB,4BAA6B,S,QAIrC,EAAAg+K,yBAA2B,SACvBt2G,EACAjgG,GAAmE,kBACpEm4B,SAAO,W,iCAMN,OALM9+C,EAAqE,CACvE4mH,WAAU,EACVu2G,OAAQx2M,GAGL,CAAP,EAAOo4B,KAAKC,QAAoE,CAC5EC,OAAQ,MACR1gB,KAAM,qCACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAAk+K,eAAiB,SAEb58N,EAEA+sB,GAAc,kBACfuxB,SAAO,W,2BACN,MAAO,CAAP,GAAO,IAAA69K,4B,QAGX,EAAAt7E,wBAA0B,SACtB76I,GAAwD,kBACzDs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA+D,CACvEC,OAAQ,OACR1gB,KAAM,8BACN/3B,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAAyiG,2BAA6B,SACzBD,GAAkD,kBACnD5iG,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAmD,CAC3DC,OAAQ,OACR1gB,KAAM,kBACN/3B,KAAMk7I,EACNxiG,4BAA6B,Y,QAIrC,EAAA10B,mBAAqB,6BAAUs0B,SAAO,W,2BAClC,MAAO,CAAP,EAAOC,KAAK09K,iBAAiE,CACzEx9K,OAAQ,MACR1gB,KAAM,wBACN2gB,4BAA6B,S,QAIrC,EAAAm+K,uBAAyB,SACrBnyM,GAAoE,kBACrE4zB,SAAO,W,iCAKN,OAJM9+C,EAA0D,CAC5DkrB,YAAW,GAGR,CAAP,EAAO6zB,KAAKC,QAAyD,CACjEC,OAAQ,MACR1gB,KAAM,yBACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAA2rK,uBAAyB,SACrB7qN,GAA8B,kBAC/B8+C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAyD,CACjEC,OAAQ,MACR1gB,KAAM,wBACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAAo+K,yBAA2B,6BAAUx+K,SAAO,W,2BAGxC,MAAO,CAAP,EAAOC,KAAKC,QAA+D,CACvEC,OAAQ,MACR1gB,KAAM,+BACN2gB,4BAA6B,S,QAIrC,EAAAq+K,qCAAuC,6BAAUz+K,SAAO,W,2BAGpD,MAAO,CAAP,EAAOC,KAAKC,QAAoF,CAC5FC,OAAQ,MACR1gB,KAAM,yDACN2gB,4BAA6B,S,QAIrC,EAAAsmH,WAAa,SACTx/G,EACAw3K,GAAe,kBAChB1+K,SAAO,W,mCASN,OAHMvgB,EAAOi/L,EAAQ,yCAA2C,qCAC1Dx9N,EAAyEw9N,EAAQ,CAAC,EAAI,CAAEx3K,IAAG,GAE1F,CAAP,EAAOjH,KAAKC,QAGV,CACEC,OAAQ,MACR1gB,KAAI,EACJv+B,MAAK,EACLk/C,4BAA6B,Y,QAIrC,EAAAu+K,qBAAuB,SAAOj3N,GAAY,kBAAGs4C,SAAO,W,2BAChD,MAAO,CAAP,EAAOC,KAAKC,QAAc,CACtBC,OAAQ,OACR1gB,KAAM,4BACN/3B,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAAtjB,eAAiB,6BAAUkjB,SAAO,W,2BAC9B,MAAO,CAAP,EAAOC,KAAKC,QAAsD,CAC9DC,OAAQ,MACR1gB,KAAM,uBACN2gB,4BAA6B,S,QAIrC,EAAAw+K,cAAgB,SACZj2I,GAA8E,kBAC/E3oC,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAqE,CAC7EC,OAAQ,MACR1gB,KAAM,2BAAoBkpD,EAAU,YACpCvoC,4BAA6B,S,QAIrC,EAAAwqF,eAAiB,SACb/9G,EACAlP,GAAU,kBACXqiC,SAAO,W,mCAQN,OAPM6sE,EAAW,IAAIC,UACZC,OAAO,OAAQpvG,GAElBzc,EAAuD,CACzD2rB,aAAY,GAGT,CAAP,EAAOozB,KAAKC,QAAsD,CAC9D8sE,QAAS,CACL,eAAgB,uBAEpBtlH,KAAMmlH,EACN1sE,OAAQ,OACR1gB,KAAM,sBACNv+B,MAAK,EACLk/C,4BAA6B,Y,QAIrC,EAAA/b,WAAa,SACTvjC,GAAkD,kBACnDk/C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAqD,CAC7DC,OAAQ,SACR1gB,KAAM,uBAAgB3+B,GACtBs/C,4BAA6B,Y,QAIrC,EAAAwjG,iBAAmB,SACf9iJ,GAAsE,kBACvEk/C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAqE,CAC7EC,OAAQ,SACR1gB,KAAM,uBAAgB3+B,EAAM,kBAC5Bs/C,4BAA6B,Y,QAIrC,EAAA5a,YAAc,SACV1kC,GAAsD,kBACvDk/C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAyD,CACjEC,OAAQ,MACR1gB,KAAM,uBAAgB3+B,EAAM,YAC5Bs/C,4BAA6B,Y,QAIrC,EAAA6hG,qBAAuB,6BAAUjiG,SAAO,W,2BACpC,MAAO,CAAP,EAAOC,KAAKC,QAA0D,CAClEC,OAAQ,MACR1gB,KAAM,2BACN2gB,4BAA6B,S,QAIrC,EAAAh/C,uBAAyB,SAErBF,GAAa,kBACd8+C,SAAO,W,2BAEN,MAAO,CAAP,EAAOC,KAAKC,QAA0D,CAClEC,OAAQ,MACR1gB,KAAM,2BACN2gB,4BAA6B,S,QAIrC,EAAA7c,cAAgB,SACZD,GAAwD,kBACzD0c,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAwD,CAChEC,OAAQ,SACR1gB,KAAM,0BAAmB6D,GACzB8c,4BAA6B,Y,QAIrC,EAAAikG,cAAgB,SACZ/gH,EACA8gH,GAA+D,kBAChEpkG,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA4D,CACpEC,OAAQ,MACR1gB,KAAM,0BAAmB6D,GACzB57B,KAAM08I,EACNhkG,4BAA6B,Y,QAIrC,EAAA6jG,eAAiB,SACbnjJ,EACAg0B,GAA4D,kBAC7DkrB,SAAO,W,iCAKN,OAJM9+C,EAA8D,CAChE4zB,MAAK,GAGF,CAAP,EAAOmrB,KAAKC,QAA6D,CACrEC,OAAQ,MACR1gB,KAAM,uBAAgB3+B,EAAM,gBAC5Bs/C,4BAA6B,UAC7Bl/C,MAAK,I,QAIb,EAAAgjJ,oBAAsB,SAClB5gH,GAAqD,kBACtD0c,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAqD,CAC7DC,OAAQ,MACR1gB,KAAM,0BAAmB6D,GACzB8c,4BAA6B,S,QAIrC,EAAA8kG,4BAA8B,SAC1BpkJ,GAAsD,kBACvDk/C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAyD,CACjEC,OAAQ,MACR1gB,KAAM,uBAAgB3+B,EAAM,YAC5Bs/C,4BAA6B,S,QAIrC,EAAAtW,cAAgB,6BAAUkW,SAAO,W,iCAK7B,OAJM9+C,EAAqD,CACvDm8C,OAAQ,CAAC,YAAa,aAAc,SAGjC,CAAP,EAAO4C,KAAKC,QAAoD,CAC5DC,OAAQ,MACR1gB,KAAM,mBACNv+B,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAAuuF,YAAc,SACV3mH,EACAgwE,EACAr6E,GAAU,kBACXqiC,SAAO,W,mCAQN,OAPM6sE,EAAW,IAAIC,UACZC,OAAO,OAAQpvG,GAElBzc,EAAwE,CAC1E29N,uBAAuB,aAAS7mI,IAG7B,CAAP,EAAO/3C,KAAKC,QAAuE,CAC/E8sE,QAAS,CACL,eAAgB,uBAEpBtlH,KAAMmlH,EACN1sE,OAAQ,OACR1gB,KAAM,+BAAwBzX,EAAM,cACpC9mB,MAAK,EACLk/C,4BAA6B,S,QAIrC,EAAA2uF,YAAc,SACV/mH,EACA2gE,GAAoG,kBACrG3oC,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAoF,CAC5FC,OAAQ,SACR1gB,KAAM,+BAAwBzX,EAAM,sBAAc2gE,GAClDvoC,4BAA6B,S,QAIrC,EAAAigG,yBAA2B,SACvBl5I,GAAoE,kBACrE64C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAoE,CAC5EC,OAAQ,MACR1gB,KAAM,mCAA4Bt4B,EAAE,WACpCi5C,4BAA6B,S,QAIrC,EAAAmuF,YAAc,SACVvmH,GAA8E,kBAC/Eg4B,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAsE,CAC9EC,OAAQ,MACR1gB,KAAM,+BAAwBzX,EAAM,cACpCo4B,4BAA6B,S,QAIrC,EAAA0+K,WAAa,SAAOhgB,GAAW,kBAAG9+J,SAAO,W,2BACrC,MAAO,CAAP,EAAOC,KAAKC,QAAkB,CAC1BC,OAAQ,MACR1gB,KAAMq/K,EACN1+J,4BAA6B,S,QAIrC,EAAA2+K,8BAAgC,SAC5BxrJ,EACAyrJ,GAA2E,kBAC5Eh/K,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAwE,CAChFC,OAAQ,MACR1gB,KAAM,+BAAwBu/L,EAAS,WACvC5+K,4BAA6B,OAC7Bl/C,MAAO,CACHqyE,YAAW,K,QAKvB,EAAA0rJ,+BAAiC,SAC7B1rJ,EACAyrJ,EACAt3N,GAAiD,kBAClDs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAwE,CAChFC,OAAQ,MACR1gB,KAAM,+BAAwBu/L,EAAS,WACvC5+K,4BAA6B,UAC7Bl/C,MAAO,CACHqyE,YAAW,GAEf7rE,KAAI,I,QAIZ,EAAAw3N,qCAAuC,SACnCl3M,GAAmF,kBACpFg4B,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAkF,CAC1FC,OAAQ,MACR1gB,KAAM,qCAA8BzX,EAAM,oBAC1Co4B,4BAA6B,S,QAIrC,EAAA++K,kCAAoC,SAChCn3M,EACAq7J,GAAwG,kBACzGrjI,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QAA+F,CACvGC,OAAQ,MACR1gB,KAAM,qCAA8BzX,EAAM,sBAAcq7J,EAAU,YAClEjjI,4BAA6B,S,QAIrC,EAAAg/K,+BAAiC,SAC7Bp3M,EACAq7J,GAAqG,kBACtGrjI,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QAA4F,CACpGC,OAAQ,MACR1gB,KAAM,qCAA8BzX,EAAM,sBAAcq7J,EAAU,SAClEjjI,4BAA6B,S,QAIrC,EAAAi/K,sCAAwC,SACpCr3M,EACAq7J,GAA4G,kBAC7GrjI,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QAAmG,CAC3GC,OAAQ,MACR1gB,KAAM,qCAA8BzX,EAAM,sBAAcq7J,EAAU,gBAClEjjI,4BAA6B,S,QAIrC,EAAAk/K,mCAAqC,SACjCt3M,EACAq7J,GAAyG,kBAC1GrjI,SAAO,W,2BAGN,MAAO,CAAP,EAAOC,KAAKC,QAAgG,CACxGC,OAAQ,MACR1gB,KAAM,qCAA8BzX,EAAM,sBAAcq7J,EAAU,aAClEjjI,4BAA6B,S,QAIrC,EAAAm/K,cAAgB,SACZ73N,GAAwD,kBACzDs4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA+D,CACvEC,OAAQ,OACR1gB,KAAM,+BACN/3B,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAAo/K,yBAA2B,SACvB93N,GAA0E,kBAC3Es4C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAiF,CACzFC,OAAQ,OACR1gB,KAAM,kDACN/3B,KAAI,EACJ04C,4BAA6B,Y,QAIrC,EAAAm1I,iCAAmC,SAC/B7tL,EACA4P,GAAkE,kBACnE0oC,SAAO,W,iCAIN,OAHM9+C,EAA2D,CAC7DoW,UAAS,GAEN,CAAP,EAAO2oC,KAAKC,QAA0D,CAClEC,OAAQ,OACR1gB,KAAM,yBACN2gB,4BAA6B,OAC7B14C,KAAI,EACJxG,MAAK,I,QAIb,EAAA+0L,eAAiB,SACbppH,EACAnlE,EACAm7B,GAA4E,kBAC7Emd,SAAO,W,iCAKN,OAJM9+C,EAA2E,CAC7E2hC,OAAM,GAGH,CAAP,EAAOod,KAAKC,QAA0E,CAClFC,OAAQ,MACR1gB,KAAM,iCAA0BotC,EAAS,YACzCzsB,4BAA6B,OAC7B14C,KAAI,EACJxG,MAAK,I,QAIb,EAAAu+N,2BAA6B,SACzBv+N,GAA+D,kBAChE8+C,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAiE,CACzEC,OAAQ,MACR1gB,KAAM,kCACN2gB,4BAA6B,OAC7Bl/C,MAAK,I,QAIb,EAAA2wL,+BAAiC,SAC7BhlH,EACAnlE,EACAm7B,GAA2F,kBAC5Fmd,SAAO,W,iCAKN,OAJM9+C,EAA0F,CAC5F2hC,OAAM,GAGH,CAAP,EAAOod,KAAKC,QAAyF,CACjGC,OAAQ,OACR1gB,KAAM,iCAA0BotC,EAAS,4BACzCzsB,4BAA6B,OAC7B14C,KAAI,EACJxG,MAAK,I,QAIb,EAAA2xL,cAAgB,SACZpoJ,GAAqD,kBACtDuV,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAsD,CAC9DC,OAAQ,MACR1gB,KAAM,uBAAgBgL,GACtB2V,4BAA6B,S,QAIrC,EAAA+wI,eAAiB,SACb1mJ,GAA2D,kBAC5DuV,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAA4D,CACpEC,OAAQ,MACR1gB,KAAM,uBAAgBgL,EAAK,WAC3B2V,4BAA6B,S,QAIrC,EAAAyzI,YAAc,SACVppJ,EACA/iC,GAA+D,kBAChEs4C,SAAO,W,2BAMN,MAAO,CAAP,EAAOC,KAAKC,QAAsE,CAC9EC,OAAQ,OACR1gB,KAAM,uBAAgBgL,EAAK,qBAC3B2V,4BAA6B,OAC7B14C,KAAI,I,QAIZ,EAAAwvD,aAAe,6BAAUlX,SAAO,W,2BAC5B,MAAO,CAAP,EAAOC,KAAKC,QAAqD,CAC7DC,OAAQ,MACR1gB,KAAM,qBACN2gB,4BAA6B,S,QAIrC,EAAA2+D,sBAAwB,SACpBpuC,GAEA,OAAO,EAAKzwB,QAAgF,CACxFC,OAAQ,MACR1gB,KAAM,kDAA2CkxC,GACjDvwB,4BAA6B,QAErC,EAEA,EAAAi/D,qBAAuB,SACnB1uC,EACA+uJ,GAEA,IAAMx+N,EAAiF,CACnFw+N,oBAAmB,GAGvB,OAAO,EAAKx/K,QAAgF,CACxFC,OAAQ,OACR1gB,KAAM,iDAA0CkxC,GAChDvwB,4BAA6B,OAC7Bl/C,MAAK,GAEb,EAEA,EAAAm1D,SAAW,SACP5rB,GAAiE,kBAClEuV,SAAO,W,2BACN,MAAO,CAAP,EAAOC,KAAKC,QAAkE,CAC1EC,OAAQ,MACR1gB,KAAM,mBAAYgL,EAAK,kBACvB2V,4BAA6B,S,SAxtBrC,CA2tBJ,OAnuBgC,OAUd,EAAAU,YAAd,WAKI,OAJK6+K,EAAkB3+K,WACnB2+K,EAAkB3+K,SAAW,IAAI2+K,GAG9BA,EAAkB3+K,QAC7B,EAmtBJ,EAnuBA,CAAgC,WAquBYF,cAE5C,UAAe28K,C,+BC5uBf,WAAgB,OAAS,yCAAyC,SAAW,2C,q7BCD7E,kBAEA,cACA,cACA,WAEA,cACA,WAOM7iO,EAAK,UAAWC,KAAK,WAErB+kO,EAAgC7kO,EAAMC,MAAK,SAACC,GACtC,IAAAs8H,EAA2Ct8H,EAAK,iBAA9BgxD,EAAyBhxD,EAAK,qBAEhDa,GAAM,IAAAC,kBAAgB,EAEtB8jO,EAAgDtoG,EAAgB,aAAlDptE,EAAkCotE,EAAgB,UAAvCuoG,EAAuBvoG,EAAgB,mBAExE,OACI,2BACKsoG,GAAgB,uBAAKlkO,UAAWf,EAAG,UAAWilO,GAC9C11K,EACG,gBAAC,UAAa,CACVxuD,UAAWf,EAAG,gBACd8B,QAAS,WACA66H,EAAiBwoG,kBAAqBxoG,EAAiBptE,WAI5D8B,EAAqBsrE,EAAiBwoG,iBAAkBxoG,EAAiBptE,UAC7E,EACA94C,KAAM,EAAA8uG,aAAalhC,OACnB9iF,MAAO,EAAA8mB,cAAcC,eAEpB48M,GAGL,uBAAKnkO,UAAWf,EAAG,iBAAkBkB,EAAE,0CAIvD,IAEA,UAAe8jO,C,k9BChDf,IAOYI,EAPZ,cAEA,aACA,cAEA,eAEA,SAAYA,GACR,gBACA,kBACA,gBACA,0BACH,CALD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAY/B,IAAMplO,EAAK,UAAWC,KAAK,WAErBolO,EAAgCllO,EAAMC,MAAK,SAACC,GACtC,IAAAU,EAAgDV,EAAK,UAA1C,EAAqCA,EAAK,KAA1CoW,OAAI,IAAG,EAAA2uN,EAAoB94L,MAAK,EAEnD,OAAO,uBAAKvrC,WAAW,aAAGf,EAAG,eAAgB,6BAAsByW,IAAS1V,IAChF,IAEA,UAAeskO,C,q7BC3Bf,kBACA,WACA,cACA,cACA,WACA,cACA,cACA,WAaM12N,EAAgB,gCAEhB22N,EAAgD,UAAMllO,MAAK,SAACC,GACtD,IAAAyM,EAAsDzM,EAAK,KAArDstB,EAAgDttB,EAAK,UAA1CyO,EAAqCzO,EAAK,SAAhCQ,EAA2BR,EAAK,QAAvBwD,EAAkBxD,EAAK,cAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,EAAcK,QAC1BpC,QAASgN,GAEb,CACIG,SAAU/N,EAAE,oCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BjJ,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,YACvD7T,MAAOY,EAAE,iEACT0X,QAAS1X,EAAE,2EA9BhB,IAmCf,IAEA,UAAeokO,C,q7BCjEf,kBACA,cACA,WACA,cAQMC,EAA+CplO,EAAMC,MAAK,SAAC,G,IAAEW,EAAS,YAAEkO,EAAQ,WAClF,OACI,gBAAC,UAAK,CACFlO,UAAWA,EACXyL,KAAM,gBAAC,UAAW,CAACxK,UAAW,EAAAC,qBAAqBgG,QACnDwO,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAezlB,WAErBlF,EAGb,IAEA,UAAes2N,C,y3BCxBf,kBACA,WAOMC,EAA+B,SAACnlO,GAC1B,IAAAoW,EAAsBpW,EAAK,KAArB0W,EAAgB1W,EAAK,YAEnC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aACvE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAMkK,EACNnF,EAAE,qdAKtB,EAEA4zN,EAAWrzN,YAAc,aAEzB,IAAMC,EAAqB,CACvB2E,YAAa,EAAA9U,qBAAqBC,SAClCuU,KAAM,EAAAC,mBAGD,EAAAtE,WAAAA,EACT,UAAeozN,C,umDChCf,eACA,WAkBA,cACA,cACA,WAEA,SAAUC,I,gEACN,UAAM,IAAAt4N,MAAI,IAAAisJ,gC,OAEqD,OAF/D,SAE+D,IAAM,IAAAnsJ,QAAO,EAAAy4N,0B,OAGxE,OAHEC,EAAyD,SAG3D,GAAM,UAAkBxsE,yB,cADtB,kBACF,SAA+C,IAD5C/0J,EAAK,KAAE0I,EAAI,KAGd1I,EACA,IAAM,IAAA+I,MAAI,IAAAmsJ,4BAA2B,CAAEl1J,MAAK,MAD5C,M,qBAsBJ,S,WAAA,OAjBI0I,SACY,EAERmW,GADA0iN,aAAU,EAAVA,EAAY97K,WACD,iBAAU87K,EAAW97K,UAAS,UAClC87K,aAAU,EAAVA,EAAY1iN,UACR,UAAG0iN,EAAW1iN,SAASgtC,QAAQ,YAAa,IAAG,gBAE/C,iBAAU8U,KAAKD,MAAK,UAGnC,aAAa,CACT7rD,KAAMgK,EACNnW,KAAI,EACJxJ,KAAM,uEAId,IAAM,IAAA6J,MAAI,IAAAksJ,kC,IAGd,SAAUusE,EAAwB5hO,G,8DAG9B,OAFQ+e,EAAS/e,EAAOklB,QAAO,KAE/B,IAAM,IAAA/b,MAAI,IAAAqsJ,8B,OAGN,OAHJ,SAGI,GAAM,UAAkBD,oBAAoBx2I,I,cAD1C,kBACF,SAAiD,IAD9C3e,EAAK,KAAEqlB,EAAM,KAGhBrlB,EACA,IAAM,IAAA+I,MAAI,IAAAusJ,0BAAyB,CAAEt1J,MAAK,MAD1C,M,OAEA,OADA,SACA,I,cAGAqlB,EACA,IAAM,IAAAtc,MAAI,IAAAssJ,4BAA2B,CAAEhwI,OAAM,MAD7C,M,OACA,S,+BAIR,SAAUo8M,I,4DACqF,UAAM,IAAA54N,QAC7F,EAAA64N,wC,OAEJ,OAH2F,SAG9D5hO,QACzB,IAGJ,IAAM,IAAAiJ,MAAI,IAAAysJ,4B,OAGN,OAHJ,SAGI,GAAM,UAAkBmsE,mB,cADtB,kBACF,SAAyC,IADtC3hO,EAAK,KAAEqlB,EAAM,KAGhBrlB,EACA,IAAM,IAAA+I,MAAI,IAAA2sJ,wBAAuB,CAAE11J,MAAK,MADxC,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA0sJ,0BAAyB,CAAEpwI,OAAM,M,IAG/C,SAAUu8M,I,0DACN,UAAM,IAAA74N,MAAI,IAAA6sJ,uB,OAEyD,OAFnE,SAEmE,GAAM,UAAkBD,gB,cAArF,kBAA6D,SAAsC,KAAlG31J,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA+sJ,mBAAkB,CAAE91J,MAAK,MADnC,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA8sJ,yB,IAUd,UAPA,W,kDACI,UAAM,IAAArsJ,WAAU,EAAAurJ,sBAAsB71J,KAAMmiO,I,OAC5C,OADA,SACA,IAAM,IAAA73N,WAAU,EAAA2rJ,oBAAoBj2J,KAAMsiO,I,OAC1C,OADA,SACA,IAAM,IAAAh4N,WAAU,EAAA+rJ,kBAAkBr2J,KAAMuiO,I,OACxC,OADA,SACA,IAAM,IAAAj4N,WAAU,EAAAmsJ,aAAaz2J,KAAM0iO,I,cAAnC,S,iFChHJ,eAEA,WACA,UA4BA,UAvBsB,SAACC,G,UACnB,OAAKA,EAAa7hO,OAKd,IAAAy6E,gCAA+BonJ,EAAa7hO,SACzB,QAAnB,EAAA6hO,aAAY,EAAZA,EAAc7hO,aAAK,eAAE06E,WAAY,EAAAC,mCAAmC4zB,eAE7D,EAAP,IACK,EAAA5yG,WAAW+G,OAAQ,EAAAyrG,kBAAkBuqD,a,IAI1CmpE,aAAY,EAAZA,EAAc7hO,SACP,EAAP,IACK,EAAArE,WAAW+G,OAAQ,EAAAyrG,kBAAkBtsE,Q,GAIvC,CAAC,EAlBG,CAAC,CAmBhB,C,6JC7BA,kBAEA,cACA,cAGMjmC,EAAK,UAAWC,KAAK,WAQrBimO,EAAuC,UAAM9lO,MAAK,SAACC,GAC7C,IAAA8a,EAA8C9a,EAAK,OAA3CgxF,EAAsChxF,EAAK,cAA5B+wF,EAAuB/wF,EAAK,mBAE3D,OACI,+BAAKU,UAAWf,EAAG,cAAa,qBAAqB,mCAChDoxF,EAAmBC,EAAel2E,GAG/C,IAEA,UAAe+qN,C,85BCxBf,kBACA,WAUMC,EAA8B,SAAC9lO,GACzB,IAAAoW,EAAyDpW,EAAK,KAAxDU,EAAmDV,EAAK,UAA7C2B,EAAwC3B,EAAK,UAAlCwR,EAA6BxR,EAAK,YAArB0W,EAAgB1W,EAAK,YAEtE,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAY3Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAM9E,KAAM7K,EAAW6P,YAAaA,GAAe,EAAGD,EAAE,8BACxD,wBACI/E,KAAMkK,EACNnF,EAAE,q+BAKtB,EAEAu0N,EAAUh0N,YAAc,YAExB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WA4H7B,EAAA1E,WAAAA,EAzHI,EAAAwlM,eAAiB,CAC1B16L,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTp1B,EAAS,YACT8C,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WAUR,OAAIryB,EACO,CACHgR,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBkS,WAItC3O,EACO,CACHiR,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB0Q,QAItCiuD,EACO,CACHnqD,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB6U,WAItCpR,EACO,CACH+Q,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBwQ,OAInC,CACHgE,KAAM,EAAAC,kBACN1U,UACI81B,GAAYC,GAAap1B,EACnB,EAAAV,qBAAqBsS,YACrB,EAAAtS,qBAAqB8R,YAC/BgD,YACI+gB,GAAYC,GAAap1B,EAAY,EAAAV,qBAAqB6U,UAAY,EAAA7U,qBAAqBI,MAEvG,GAMS,EAAAilC,kBAAoB,SAC7Bvb,GAQA,OAAQA,GACJ,IAAK,oBAOL,IAAK,oBACD,MAAO,CACHtV,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,OAG1C,IAAK,sBACD,MAAO,CACHwO,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBsS,aAG1C,IAAK,gCACD,MAAO,CACHkC,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBwQ,OAG1C,IAAK,kCACD,MAAO,CACHgE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB6U,WAI1C,QACI,MAAO,CACHL,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAIlD,EAGA,UAAeqvN,C,mIC7Jf,eAEA,WACA,WACA,WAMA,WAEMC,EAAkB,SAACC,GACrB,OAAQA,GAAY,IAAI12M,KAAK,EAAAsmL,oBACjC,EAEMqwB,EAAe,SAACC,GAClB,OAAOA,EAAM7uN,KAAI,SAACm2C,GAAS,OAAAA,EAAKouK,aAAL,GAC/B,EAEMuK,EAAmB,SAACC,GACtB,IAAMC,GAAc,IAAAl0I,mBAAkBi0I,GACtC,OAAOC,EAAc,IAAI3hK,KAAK2hK,GAAe,IACjD,EAEa,EAAAC,qBAAuB,GACvB,EAAAC,0BAA4B,IAsHzC,UApHyB,SACrBC,EACAC,G,MAEMC,GAAaF,EACbG,KAAsBF,aAAqB,EAArBA,EAAuBxkO,QAE7C2kO,IAAsBJ,aAAmB,EAAnBA,EAAqBnnI,iBAAkB,IAAIhoF,KAAI,SAACpS,GAAU,OAAAia,OAAOja,EAAP,IAEhF6wB,GAAiB0wM,aAAmB,EAAnBA,EAAqBrkL,WAAY,EAAAzsB,uBAAuBC,QACzE0/K,EAAuB,EAAAC,sBAAsBrmL,IAAI6G,GAEjDhb,IAAM,MACP,EAAApb,WAAWwM,KAAKs6N,aAAmB,EAAnBA,EAAqBt6N,KAAM,KAE5C,EAAC,EAAAxM,WAAWkZ,OAAO4tN,aAAmB,EAAnBA,EAAqB5tN,OAAQ,GAChD,EAAC,EAAAlZ,WAAWuD,OAAOujO,aAAmB,EAAnBA,EAAqBxsN,WAAY,KAEpD,EAAC,EAAAta,WAAW8rD,kBAAmBy6K,GAAaO,aAAmB,EAAnBA,EAAqBr6K,gBAAiB,IAClF,EAAC,EAAAzsD,WAAWs8H,qBAAsB+pG,EAAgBS,aAAmB,EAAnBA,EAAqB7wB,UAEvE,EAAC,EAAAj2M,WAAWgsD,gBAAiBu6K,GAAaO,aAAmB,EAAnBA,EAAqBp6K,cAAe,IAC9E,EAAC,EAAA1sD,WAAWy8H,mBAAoB4pG,EAAgBS,aAAmB,EAAnBA,EAAqB3wB,QAErE,EAAC,EAAAn2M,WAAWs2E,OAAQ,CAChB1+C,KAAM,KACNpP,GAAI,MAER,EAAC,EAAAxoB,WAAWo1M,MAAO,GACnB,EAAC,EAAAp1M,WAAW60M,YAAa,EAAAK,eAAe5+H,MACxC,EAAC,EAAAt2E,WAAW+0M,gBAAiB,EAAAC,uBAAuBC,KAEpD,EAAC,EAAAj1M,WAAW6iB,WAAY,IAAImiD,KAC5B,EAAC,EAAAhlE,WAAWga,WAAY,KAExB,EAAC,EAAAha,WAAWg2M,uBAAuB8wB,aAAmB,EAAnBA,EAAqBz+M,SAAU,EAAAy4B,uBAAuBC,SACzF,EAAC,EAAA/gD,WAAW+1M,aAAc,EAAA6wB,qBAC1B,EAAC,EAAA5mO,WAAW81M,iBAAkB,EAAA+wB,0BAE9B,EAAC,EAAA7mO,WAAWo2B,gBAAiBA,EAE7B,EAAC,EAAAp2B,WAAWic,aACR6qN,aAAmB,EAAnBA,EAAqBxsN,YAAa,EAAAyV,kBAAkBvE,UAAUs7M,aAAmB,EAAnBA,EAAqBp6D,aAAmB,GAC1G,EAAC,EAAA1sK,WAAWmtH,aACR25G,aAAmB,EAAnBA,EAAqBxsN,YAAa,EAAAyV,kBAAkBnH,UAAUk+M,aAAmB,EAAnBA,EAAqBp6D,aAAmB,GAE1G,EAAC,EAAA1sK,WAAW2/F,gBAAiBqnI,GAAaC,EAAoBF,EAAwBG,E,GAW1F,IARIJ,aAAmB,EAAnBA,EAAqBjkN,aACrBzH,EAAO,EAAApb,WAAW6iB,WAAa4jN,EAAiBK,EAAoBjkN,aAGpEikN,aAAmB,EAAnBA,EAAqB9sN,aACrBoB,EAAO,EAAApb,WAAWga,WAAaysN,EAAiBK,EAAoB9sN,YAGpE8sN,aAAmB,EAAnBA,EAAqBvhO,MACrB,GAAIowM,EAAsB,CACtB,IAAMwxB,EAAYL,EAAoBvhO,MAAQ,EAAI,IAAM,IACxD6V,EAAO,EAAApb,WAAW81M,iBAAmB,UAAGqxB,GAAS,OAAG1nN,KAAK81D,IAAIuxJ,EAAoBvhO,OACrF,MACI6V,EAAO,EAAApb,WAAW+1M,aAAe,UAAG+wB,EAAoBvhO,OAIhE,IAAKuhO,EACD,OAAO1rN,EAGXA,EAAO,EAAApb,WAAW+0M,gBACd+xB,EAAoB1wB,aAAe,EAAApB,uBAAuBO,OACpD,EAAAP,uBAAuBC,KACvB6xB,EAAoB1wB,YAAc,EAAApB,uBAAuBC,KAEnE,IAAMN,EAAamyB,EAAoBnyB,YAAc,GAQrD,GAPoBA,EAAW3sK,OAAM,SAACziC,GAAU,OAAAA,EAAQ,EAAR,MAE5C6V,EAAO,EAAApb,WAAW60M,YAAc,EAAAK,eAAeC,SAC/C/5L,EAAO,EAAApb,WAAWo1M,MAAQT,EAAWh9L,KAAI,SAACyvN,GAAc,SAAA9xB,gBAAgB8xB,EAAY,EAA5B,KAGvCzyB,EAAW3sK,OAAM,SAACziC,GAAU,OAAAA,EAAQ,EAAR,IAC/B,CACd6V,EAAO,EAAApb,WAAW60M,YAAc,EAAAK,eAAe5+H,MAC/C,IAAM87D,EAAWuiE,EAAW,GACtB0yB,EAAY,IAAIriK,KAAKotE,GAErBivC,EAAWszB,EAAWA,EAAWpyM,OAAS,GAC1C+kO,EAAU,IAAItiK,KAAKq8G,GAErBjvC,IAAaivC,IACbjmK,EAAO,EAAApb,WAAWs2E,OAAS,CACvB1+C,KAAMyvM,EACN7+M,GAAI,QAIP4pH,GAAYivC,IACbjmK,EAAO,EAAApb,WAAWs2E,OAAS,CACvB1+C,KAAM0vM,EACN9+M,GAAI,OAIR4pH,GAAYivC,IACZjmK,EAAO,EAAApb,WAAWs2E,OAAS,CACvB1+C,KAAMyvM,EACN7+M,GAAI8+M,GAGhB,CAEA,OAAOlsN,CACX,C,6hDC9IA,kBAEA,aACA,cACA,cAGA,cAGA,WACA,WAQMsqE,EAAyEtlF,EAAMC,MAAK,SAACC,GAC/E,IAAAU,EAA2DV,EAAK,UAArDusI,EAAgDvsI,EAAK,iBAAnCqB,EAA8BrB,EAAK,YAAnBusB,EAAS,EAAKvsB,EAA7D,gDA0BN,OAAO,gBAAC,UAAe,KAAKusB,EAAS,CAAEnqB,cAxBuB,SAACC,EAAUZ,GACrE,OACI,gBAAC,UAAO,CACJV,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBkJ,MAAO,EAAA+0C,UACP3+C,UAAWA,EACXW,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACjT,UAAQ,EAACJ,MAAO,EAAAK,wBAAwBH,OAC5DC,KAIR,SAACsyB,EAAQmrC,GAAsB,OAC5B,gBAAC,EAAAmoK,eAAc,CACXvmO,WAAW,aAAGo+D,EAAmBytE,GACjClqI,SAAUA,EACVZ,QAASA,GAJe,GAS5C,IAGJ,IAES,EAAA2jF,2BAAAA,C,oNChDT,eAGA,cAEa,EAAAw/D,wBAA0B,SAAClvE,EAAmBxlB,GACvD,IAAMuU,EAAMC,KAAKD,MAYjB,OAVsBvU,EAASlhC,QAAO,SAACrjB,GACnC,IAAM81H,EAAW91H,EAAM2uC,UAAYo7B,EAAU/pE,EAAMwqE,cAAgBxqE,EAAM0qE,gBACnEruE,GAAQ,IAAA05H,iBAAgBD,GAExBE,EAASh2H,EAAM2uC,UAAYo7B,EAAU/pE,EAAMyqE,YAAczqE,EAAM2qE,cAC/DvqE,GAAM,IAAA21H,iBAAgBC,GAE5B,QAAS35H,KAAW+D,GAAO/D,EAAQy8D,GAAOA,EAAM14D,CACpD,IAEqB,IAAM,IAC/B,EAEa,EAAAm7N,oBAAsB,SAAC7gM,GAChC,IAAKA,EACD,OAAO,KAGH,IAAA+O,EAAwB/O,EAAQ,SAAtBgP,EAAchP,EAAQ,UACxC,OAAI,aAAS+O,KAAa,aAASC,GACxB,CACHD,SAAQ,EACRC,UAAS,GAIV,IACX,C,+BCnCA,WAAgB,QAAU,qCAAqC,OAAS,oCAAoC,OAAS,oCAAoC,SAAW,sC,mpDCDpK,kBA4DS,EAAAs5I,oBAtCL,SAAYt3K,EAA8BuyF,GAA1C,WAKA,KAAAglF,gBAAkB,SAAOu4C,GAAsB,kBAAGpiL,SAAO,W,qCAGrD,OAFQ6kD,GAAF,EAAgB5kD,MAAV,KAAE3tC,EAAG,MAEZuyF,GAASvyF,GAAQ8vN,EAIf,CAAP,EAAO,IAAIpiL,SAAQ,SAACy+B,GACM,IAAIomB,EAAKw9H,OAAOC,cAAchwN,GACtCiwN,WACV,CACIH,QAAO,EACP3mK,OAAQ,CAAC,SAEb,SAACrzD,EAAwCic,GACrC,GAAe,OAAXA,EAAJ,CAKA,IAnChBm+M,EAmCsBC,KAjCbD,OAFTA,EAmC+Dp6N,QAjC1C,EAAZo6N,EAAcj0B,wBAAwBi0B,aAAY,EAAZA,EAAc7+H,YAAY,aAAS6+H,aAAY,EAAZA,EAAcl0B,oBAuChF7vH,EALKgkJ,GAKGr6N,GAJI,KAJZ,MAFIq2E,EAAQ,KAWhB,GAER,KAzBW,CAAP,EAAOz+B,QAAQy+B,QAAQ,M,QAR3Bx+B,KAAK3tC,IAAMA,GAAO,KAClB2tC,KAAK4kD,KAAOA,GAAQ,IACxB,C,iLCzBJ,eAYa,EAAAl6D,kBAAoB,WAAgC,OAC7DzsC,KAAM,EAAAwwJ,sBADuD,EAIpD,EAAAJ,uBAAyB,WAAqC,OACvEpwJ,KAAM,EAAAgwG,4BADiE,EAI9D,EAAAugD,yBAA2B,SAAC55E,GAAiE,OACtG32E,KAAM,EAAAiwG,8BACNt5B,aAAY,EAF0F,EAK7F,EAAA25E,uBAAyB,SAACxvJ,GAAgD,OACnFd,KAAM,EAAAkwG,4BACNpvG,MAAK,EAF8E,C,4pCCzBvF,kBACA,WACA,cACA,cACA,WACA,cACA,WACA,cAEA,WAWMuK,EAAgB,wCAEhBk0K,IAAe,MAChB,EAAAnM,gBAAgBM,QAAS,CACtB12K,MAAO,4DACPsY,QAAS,mEAEb,EAAC,EAAA89J,gBAAgBC,OAAQ,CACrBr2K,MAAO,2DACPsY,QAAS,kEAEb,EAAC,EAAA89J,gBAAgBQ,SAAU,CACvB52K,MAAO,6DACPsY,QAAS,oE,GAIXkvN,EAAsD,UAAM1nO,MAAK,SAACC,GAC5D,IAAAyM,EAAsDzM,EAAK,KAArDQ,EAAgDR,EAAK,QAA5CyO,EAAuCzO,EAAK,SAAlCstB,EAA6BttB,EAAK,UAAvBwD,EAAkBxD,EAAK,cAE3Da,GAAM,IAAAC,kBAAgB,EAExB4hL,EAAgBF,EAAgB/1K,aAAI,EAAJA,EAAMyD,aAE5C,IAAKzD,EACD,OAAO,KAGX,IAAMixJ,EAAS,CACXz9J,MAAOY,EAAE6hL,EAAcziL,OACvBsY,QAAS1X,EAAE6hL,EAAcnqK,UAG7B,OACI,wBAAC,UAAK,KACF,wBAAC,UAAY,CAAC/X,QAASA,GACnB,wBAAC,UAAW,GACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9B7M,QAASgN,EACTpJ,WAAY7B,EAAcK,SAE9B,CACI+K,SAAU/N,EAAE,uCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BjJ,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,aACnD4pJ,KAKxB,IAEA,UAAe+pE,C,2ICtFf,cAEa,EAAAC,0BAA4B,IAAI,EAAAz+M,iBAEhC,EAAA0+M,6BAA+B,IAAI,EAAA1+M,gB,q7BCJhD,kBACA,WACA,cACA,aACA,cACA,cAEMtpB,EAAK,UAAWC,KAAK,WASrBgoO,EAAyC9nO,EAAMC,MAAK,SAACC,GAC/C,IAAAs+D,EAA6Dt+D,EAAK,eAAlDk0D,EAA6Cl0D,EAAK,YAArCu+D,EAAgCv+D,EAAK,WAAzBw+D,EAAoBx+D,EAAK,gBAE1E,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,yCACRE,WAAY,CACR+tD,eAAgB,gBAAC,UAAU,CAACpyD,GAAIoyD,IAChCpK,YAAa,gBAAC,UAAU,CAAChoD,GAAIgoD,IAC7BC,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,OAKhD,IAEA,UAAeopK,C,2FClCf,cAkBS,EAAA76K,SAhBQ,SAACvI,EAAgBqjL,GAC9B,IAAMC,EAAY/pL,SAAS09J,cAAc,SACzCqsB,EAAU7kO,KAAO,OACjB6kO,EAAUtjL,OAASA,EACnBsjL,EAAUlsB,QACVksB,EAAUC,SAAW,W,MACXrlN,EAAsB,QAAf,EAAAolN,EAAUE,aAAK,eAAG,GAC1BtlN,EAKLmlN,EAAOnlN,IAJH,IAAAgS,YAAW,cAKnB,CACJ,C,klBCfA,eACA,cAEA,cASa,EAAAuzM,8BAAyD,CAClE74N,QAAS,KACT5L,cAAe,UAAcC,SAGjC,IAAMF,EAA4C,CAAC,EAEtC,EAAA2kO,wBAAyB,IAAA57J,aAAY,CAC9C1zD,KAAM,oBACNrV,aAAY,EACZgpE,SAAU,CACN9nE,uBAAwB,SAEpBf,EAEAC,GAMJ,EACAe,4BAA6B,SACzBhB,EACAC,GAIQ,IAAAuI,EAAOvI,EAAOklB,QAAO,GACvBs/M,EAAyBzkO,EAAMwI,IAAO,EAAA+7N,8BAE5CvkO,EAAMwI,GAAM,EAAH,KACFi8N,GAAsB,CACzB3kO,cAAe,UAAcK,SAErC,EACAc,8BAA+B,SAC3BjB,EACAC,GAKM,MAAkBA,EAAOklB,QAAvBzZ,EAAO,UAAElD,EAAE,KACbi8N,EAAyBzkO,EAAMwI,IAAO,EAAA+7N,8BAE5CvkO,EAAMwI,GAAM,EAAH,KACFi8N,GAAsB,CACzB3kO,cAAe,UAAcU,GAC7BkL,SAAS,aAAQA,EAAS+4N,EAAuB/4N,SAAW+4N,EAAuB/4N,QAAUA,GAErG,EACAxK,4BAA6B,SACzBlB,EACAC,GAKM,MAAgBA,EAAOklB,QAArB9kB,EAAK,QAAEmI,EAAE,KACXi8N,EAAyBzkO,EAAMwI,IAAO,EAAA+7N,8BAE5CvkO,EAAMwI,GAAM,EAAH,KACFi8N,GAAsB,CACzB3kO,cAAe,UAAcQ,SAASD,IAE9C,EACAc,uBAAwB,WACpB,MAAO,CAAC,CACZ,GAEJ2nE,cAAe,SAACC,GACZA,EAAQC,QAAQ,uBAAuB,WACnC,OAAOnpE,CACX,GACJ,IAIA,EAAAkB,wBADS,EAMT,EAAAyjO,uBAAuBv5N,SAAO,uBAJ9B,EAAAjK,4BAA2B,8BAC3B,EAAAC,8BAA6B,gCAC7B,EAAAC,4BAA2B,8BAC3B,EAAAC,uBAAsB,yBAG1B,UAAe,EAAAqjO,uBAAuBv7J,O,+BClGtC,WAAgB,KAAO,wCAAwC,OAAS,0CAA0C,SAAW,4C,+5BCA7H,eACA,cAYa,EAAAopI,uCAA2E,CACpFt8J,aAAc,UAAch2C,QAC5BgJ,KAAM,MASV,IAAMlJ,EAA6C,CAC/CspE,cAAe,UAAcppE,QAC7BkhK,YAAa,CAAC,EACdsxC,gBAAiB,UAAcxyM,SAGtB,EAAA2kO,6BAA8B,IAAA97J,aAAY,CACnD1zD,KAAM,yBACNrV,aAAY,EACZgpE,SAAU,CACNmuG,4BAA6B,SAEzBh3K,EAEAC,GAOJ,EACA0kO,iCAAkC,SAC9B3kO,EACAC,GAKQ,IAAAmf,EAAsBnf,EAAOklB,QAAO,kBACtCy/M,EAAc5kO,EAAMihK,YAAY7hJ,IAAsB,EAAAizL,uCAE5DryM,EAAMihK,YAAY7hJ,GAAqB,EAAH,KAC7BwlN,GAAW,CACd7uL,aAAc,UAAc51C,SAEpC,EACA0kO,mCAAoC,SAChC7kO,EACAC,GAKM,MAA8BA,EAAOklB,QAAnC/F,EAAiB,oBAAErW,EAAI,OACzB67N,EAAc5kO,EAAMihK,YAAY7hJ,IAAsB,EAAAizL,uCAE5DryM,EAAMihK,YAAY7hJ,GAAqB,EAAH,KAC7BwlN,GAAW,CACd7uL,aAAc,UAAcv1C,GAC5BuI,KAAI,GAEZ,EACA+7N,iCAAkC,SAC9B9kO,EACAC,GAKM,MAA+BA,EAAOklB,QAApC/F,EAAiB,oBAAE/e,EAAK,QAC1BukO,EAAc5kO,EAAMihK,YAAY7hJ,IAAsB,EAAAizL,uCAE5DryM,EAAMihK,YAAY7hJ,GAAqB,EAAH,KAC7BwlN,GAAW,CACd7uL,aAAc,UAAcz1C,SAASD,IAE7C,EACA+gC,sBAAuB,SAEnBphC,EAEAC,GAOJ,EACA8kO,sBAAuB,SAEnB/kO,EAEAC,GAOJ,EACA+kO,sBAAuB,SAEnBhlO,EAEAC,GAQJ,EACAglO,kCAAmC,SAC/BjlO,EAEAC,GAEAD,EAAMmpE,cAAgB,UAAchpE,OACxC,EACA+kO,oCAAqC,SACjCllO,EAEAC,GAEAD,EAAMmpE,cAAgB,UAAc3oE,EACxC,EACA2kO,kCAAmC,SAC/BnlO,EACAC,GAIQ,IAAAI,EAAUJ,EAAOklB,QAAO,MAChCnlB,EAAMmpE,cAAgB,UAAc7oE,SAASD,EACjD,EACA+kO,wBAAyB,SAErBplO,EAEAC,GAOJ,EACAolO,oCAAqC,SACjCrlO,EAEAC,GAEAD,EAAMuyM,gBAAkB,UAAcpyM,OAC1C,EACAmlO,sCAAuC,SACnCtlO,EAEAC,GAEAD,EAAMuyM,gBAAkB,UAAc/xM,EAC1C,EACA+kO,oCAAqC,SACjCvlO,EACAC,GAIQ,IAAAI,EAAUJ,EAAOklB,QAAO,MAEhCnlB,EAAMuyM,gBAAkB,UAAcjyM,SAASD,EACnD,KAKJ,EAAA22K,6BADS,EAeT,EAAA0tD,4BAA4Bz5N,SAAO,4BAbnC,EAAA05N,iCAAgC,mCAChC,EAAAE,mCAAkC,qCAClC,EAAAC,iCAAgC,mCAChC,EAAAC,sBAAqB,wBACrB,EAAA3jM,sBAAqB,wBACrB,EAAA4jM,sBAAqB,wBACrB,EAAAC,kCAAiC,oCACjC,EAAAE,kCAAiC,oCACjC,EAAAD,oCAAmC,sCACnC,EAAAE,wBAAuB,0BACvB,EAAAC,oCAAmC,sCACnC,EAAAC,sCAAqC,wCACrC,EAAAC,oCAAmC,sCAGvC,UAAe,EAAAb,4BAA4Bz7J,O,q7BCjN3C,kBACA,cAEA,cACA,WAEA,cACA,cAEMhtE,EAAK,UAAWC,KAAK,WAQrBspO,EAAkDppO,EAAMC,MAAK,SAACC,GACxD,IAAA2xB,EAA2C3xB,EAAK,YAAnCsD,EAA8BtD,EAAK,YAAtB4xB,EAAiB5xB,EAAK,aAExD,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,6CACRE,WAAY,CACRohB,YAAa,gBAAC,UAAW,CAACA,YAAaA,IACvCE,aACI,gBAAC,UAA0B,CACvBnxB,UAAWf,EAAG,iBACd2D,YAAaA,EACbsuB,aAAcA,OAO1C,IAEA,UAAes3M,C,44BCvCf,kBAEA,WACA,UACA,WACA,WAEa,EAAA7nC,8BAAgC,SAAC,G,IAAE14H,EAAQ,WAC9Cp0C,GAAW,IAAAC,eAEjB,OAAO10B,EAAM0E,SAAQ,WACjB,MAAO,CACHkwJ,mBAAoB,SAAC3nI,IACjB,IAAAggC,UAAS,WAAW,SAACrqC,GACZqK,EAKLwH,GAAS,IAAAm/G,aAAY3mH,EAAQ47C,EAAUjmD,KAJnC,IAAAgS,YAAW,oCAKnB,GACJ,EAER,GAAG,CAACH,EAAUo0C,GAClB,C,+BCvBA,WAAgB,KAAO,8BAA8B,MAAQ,+BAA+B,iBAAiB,wCAAwC,QAAU,iCAAiC,iBAAiB,wCAAwC,iBAAiB,wCAAwC,sBAAsB,6CAA6C,aAAa,oCAAoC,aAAa,oCAAoC,2BAA2B,kDAAkD,oCAAoC,2DAA2D,qBAAqB,4CAA4C,uBAAuB,8CAA8C,OAAS,gCAAgC,SAAW,kC,+BCA7zB,WAAgB,KAAO,iDAAiD,kBAAkB,4DAA4D,cAAc,wDAAwD,cAAc,wDAAwD,aAAa,uDAAuD,gBAAgB,0DAA0D,+BAA+B,yEAAyE,gCAAgC,0EAA0E,OAAS,mDAAmD,SAAW,qD,87CCDzsB,kBACA,WACA,cACA,aACA,cACA,WACA,cACA,WAKA,cAEA,cACA,WACA,cACA,aACA,cACA,WACA,cACA,aAGMhpE,EAAK,UAAWC,KAAK,WAarBupO,EAAsCrpO,EAAMC,MAAK,SAACC,GAEhD,IAAAU,EAMAV,EAAK,UALLopO,EAKAppO,EAAK,wBAJLqpO,EAIArpO,EAAK,iBAHLspO,EAGAtpO,EAAK,iBAFLupO,EAEAvpO,EAAK,yBADL40C,EACA50C,EAAK,WAEDa,GAAM,IAAAC,kBAAgB,EAExB,IAA8BhB,EAAMuE,SAAS,IAAG,GAA/CmlC,EAAU,KAAEC,EAAa,KAE1B+/L,EAAwB1pO,EAAM0E,SAAQ,WACxC,OAAO,IAAIsqB,IAAgBu6M,EAAiBhyN,KAAI,SAAC4H,GAAS,OAAAA,EAAK/S,EAAL,IAC9D,GAAG,CAACm9N,IAEEtjO,GAAoD,IAAAC,cAAY,SAACC,GACnE,OAAO,UACFyyC,mBAAmBzyC,EAAO,CAAC,UAAW,YACtC0yC,MAAK,SAACvrC,G,MACG,IAAkBA,EAAQ,GAAzBrJ,EAAK,KAAEoJ,EAAM,KACpB,OAAIpJ,EACO,CAACA,EAAO,MAiBZ,CAAC,MAbW,QAAf,EAAAoJ,aAAM,EAANA,EAAQ6R,eAAO,eAAE+iC,QAA2B,SAACC,EAAK/iC,GAU9C,OATIA,EAAKkS,aAAelS,EAAKrG,MAAQqG,EAAKmR,aACtC4xB,EAAItqC,KAAK,CACLxL,GAAI+S,EAAK/S,GACTwa,QAASzH,EAAKkS,YACdvY,KAAMqG,EAAKrG,KACXkhB,KAAM7a,EAAKmR,YAAY,KAIxB4xB,CACX,GAAG,MAAO,GAGlB,GACR,GAAG,IAEGpJ,GAAsB,IAAAC,wBAAoC,CAC5D/yC,eAAgBsjO,EAChBrjO,eAAc,EACda,SAAU,CACNwsF,sBAAuB,KAIvBjxF,EAAwDy2C,EAAmB,QAAlExqB,EAA+CwqB,EAAmB,aAApDp1C,EAAiCo1C,EAAmB,cAArCxxC,EAAkBwxC,EAAmB,cAE7E6wL,EAAc3pO,EAAMkG,aACtB,SAACQ,GACG,IAAM+nK,GAA+B,aAAM,SAAK86D,IAAgB,IAAE7iO,IAAS,SAC3E8iO,EAAiB/6D,EACrB,GACA,CAAC86D,EAAkBC,IAGjBI,EAAiB5pO,EAAMkG,aACzB,SAACQ,GACG,IAAM+nK,GAA+B,aAAa86D,EAAkB,CAAC7iO,GAAS,MAC9E8iO,EAAiB/6D,EACrB,GACA,CAAC86D,EAAkBC,IAGjBztN,EAAO/b,EAAM0E,SAAQ,WACvB,MAAO,CACHglO,sBAAqB,EACrBC,YAAW,EACXC,eAAc,EACdH,yBAAwB,EAEhC,GAAG,CAACC,EAAuBC,EAAaC,EAAgBH,IAElDr7M,EAAepuB,EAAM0E,SAAQ,WAC/B,MAAO,CACHvE,MAAOY,EAAE,6DACTuuB,YAAavuB,EAAE,mEAEvB,GAAG,CAACA,IAEEwtB,EAAevuB,EAAMkG,aAAY,SAACQ,GACpC,OAAOA,EAAO0F,EAClB,GAAG,IAEH,OACI,gBAAC,UAAyB,CACtBxL,WAAW,aAAGf,EAAG,SAAUe,GAC3BotB,YAAa,IACbC,WAAYyb,EACZxb,mBAAoB,SAACwb,GACjBC,EAAcD,GACdpiC,EAAcoiC,EAClB,EACAvb,iBAAkBptB,EAAE,yDACpBsB,QAASA,EACTisB,aAAcA,EACdtoB,eAAgBsjO,EAChB/6M,aAAcA,EACdxS,KAAMA,EACNrY,cAAeA,EACf0qB,aAAcA,EACdpnB,aAAc,SACVN,EACA8Q,EACA,G,IAAEkyN,EAAqB,wBAAED,EAAwB,2BAAEG,EAAc,iBAAED,EAAW,cAE9E,OACI,gBAAC,UAAQ,CACL92N,IAAKnM,EAAO0F,GACZxL,UAAWf,EAAG,YACdimF,QAAS4jJ,EAAsBv6M,IAAIzoB,EAAO0F,IAC1Cm5G,eAAgB1lH,EAAG,kBACnBoH,MACI,uBACIrG,UAAWf,EAAG,MAAO,CACjB,qBAAqB,KAGzB,uBAAKe,UAAWf,EAAG,gBACf,gBAAC,UAAQ,CAACwxB,YAAa3qB,EAAOkgB,WAElC,uBAAKhmB,UAAWf,EAAG,cACf,gBAAC,UAAqB,KAClB,gBAAC,UAAI,CACDooB,OAAO,SACPG,GAAI,EAAAC,WAAWwM,eAAenuB,EAAOszB,KAAMtzB,EAAO0F,IAClDhL,MAAO,EAAA8mB,cAAcC,eAEpBzhB,EAAOoS,QAIpB,uBAAKlY,UAAWf,EAAG,eACf,gBAAC,UAAe,CAACsD,KAAMuD,EAAOszB,SAI1C54B,OACIqoO,aAAwB,EAAxBA,EAA0Bt6M,IAAIzoB,EAAO0F,KAC/B,EAAAy5E,kBAAkBrzE,OAClB,EAAAqzE,kBAAkBwoF,MAE5BvwJ,aAAW,EACXd,SAAU,SAAC8oE,GACHA,EACA6jJ,EAAYjjO,GAEZkjO,EAAeljO,EAEvB,EACAouC,WAAYA,GAGxB,GAGZ,IAEA,UAAeu0L,C,+BCzMf,WAAgB,GAAK,qBAAqB,OAAS,yBAAyB,SAAW,2B,+BCAvF,WAAgB,OAAS,kCAAkC,OAAS,kCAAkC,SAAW,oC,gHCEpG,EAAAQ,gCAAkC,SAC3Cv6N,GAEA,QAASA,CACb,C,68DCPA,eAIA,WACA,cAMA,cAEa,EAAAw6N,iCAAmC,SAC5C9kO,EACAq0E,GAEA,IAAM88B,GAAqE,IAAAjwG,cAAY,qD,8DACnF,OAAKmzE,aAAO,EAAPA,EAASl3E,SAAW6C,EAIT,GAAM,UAAkBsB,uBAAuBtB,EAAW,CAAC,IAHhE,CAAC,EAAD,CAAC,KAAM,O,OA8BlB,OA3BMuxG,EAAU,SAEV,IAAWA,EAAO,GAAf5pG,EAAI,KACPo9N,GAAW,aAAMp9N,EAAM,MAwBtB,CAAP,EAFoE,CAAC,MAnBjE0sE,aAAO,EAAPA,EAASp3B,QAAwC,SAACC,EAAKn8C,GACnD,IAAKA,EACD,OAAOm8C,EAGX,IAAM3I,EAAOwwL,EAAShkO,GACtB,OAAKwzC,GAKL2I,EAAItqC,KAAK,CACLxL,GAAImtC,EAAKntC,GACTtG,SAAUyzC,EAAKzzC,WAGZo8C,GATIA,CAUf,GAAG,MAAO,K,SAKf,CAACl9C,EAAWq0E,IAET,GACF,IAAAq9B,4BAAqD,CACjDP,mBAAkB,IAG1B,MAAO,CACH9W,YANe,cAOfC,kBAPkC,oBAQlC0qI,oBARuD,sBAU/D,C,u8CC9DA,kBAGA,cACA,cACA,cACA,cACA,WAKA,cAwHA,UAlGsD,SAAC9pO,GAE/C,IAAAU,EAaAV,EAAK,UAZL8F,EAYA9F,EAAK,eAXLiF,EAWAjF,EAAK,MAVLkF,EAUAlF,EAAK,SATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLyF,EAOAzF,EAAK,gBANLuC,EAMAvC,EAAK,gBALLqF,EAKArF,EAAK,WAJL0F,EAIA1F,EAAK,YAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLwF,EACAxF,EAAK,WAYH8G,EAAe,SAACN,EAA6Bd,GAC/C,OAAKc,EAKD,wBAAC,UAA0B,CACvBwyC,iBAAe,EACf7sC,KAAM3F,EAAOkgB,QAAU,wBAAC,UAAQ,CAACyK,YAAa3qB,EAAOkgB,UAAc,KACnE3f,MAAOP,EAAOoS,MAAQ,GACtBwW,YAAa5oB,EAAOmH,QAAU,KAR3BjI,CAWf,EAEM8B,EAAiB,SAAChB,GAA4B,OAAAA,EAAO0F,EAAP,EAE9CnG,GAAgD,IAAAC,cAAY,SAACC,GAC/D,OAAO,UACFu+N,2BAA2B,CACxB5rN,KAAM3S,IAET0yC,MAAK,SAACvrC,GACG,QAAkBA,EAAQ,GAAzBrJ,EAAK,KAAEoJ,EAAM,KACpB,OAAIpJ,EACO,CAACA,EAAO,MAGZ,CAAC,MAAMoJ,aAAM,EAANA,EAAQ6R,UAAW,GACrC,GACR,GAAG,IAEG45B,GAAsB,IAAAC,wBAAgC,CACxD/yC,eAAc,EACdC,eAAc,EACda,SAAU,CAAC,IAWf,OACI,wBAAC,UAAmB,CAChBlG,UAAWA,EACXyG,cAAelC,EACfS,YAAaA,EACbvD,QAASy2C,EAAoBz2C,QAC7BkD,WAAYA,EACZH,SAfa,SAACD,GAClB,IAAMuB,EAASoyC,EAAoBz2C,QAAQ22C,MAAK,SAACtyC,GAC7C,OAAOgB,EAAehB,KAAYvB,CACtC,IAEAC,EAASD,GAAS,KAAMuB,GAAU,KACtC,EAUQpB,SAAUA,EACVD,WAAYA,EACZiC,cAAewxC,EAAoBxxC,cACnC4H,UAAW4pC,EAAoBp1C,cAAcK,QAC7CiD,aAAcA,EACd1E,cAAe0E,EACfU,eAAgBA,EAChBhC,WAAYA,EACZkX,eAAgB,SAACC,GAAa,+BAAC,UAAW,KAAK,EAAAm9G,iBAAiBj9G,gBAAgBF,IAAlD,EAC9BrX,OAAQA,EACRC,QAtEoC,WACpCA,GACAA,GAER,EAmEQhD,gBAAiBA,EACjBmF,QAASjC,EA5EG,WAChBP,EAAS,KAAM,KACnB,OA0EiDoB,GAGrD,C,0pCClIA,kBAEA,cACA,cACA,WACA,UACA,aACA,WAEA,WAKA,WACA,cACA,cAyBMyjO,GArBK,UAAWnqO,KAAK,WAqBiB,UAAMG,MAAK,SAACC,GAEhD,IAAA8c,EAYA9c,EAAK,SAXLiF,EAWAjF,EAAK,MAVLmxB,EAUAnxB,EAAK,YATLuC,EASAvC,EAAK,gBARLU,EAQAV,EAAK,UAPLoF,EAOApF,EAAK,SANLmF,EAMAnF,EAAK,WALLqF,EAKArF,EAAK,WAJLwF,EAIAxF,EAAK,WAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADL0F,EACA1F,EAAK,YAEHgqO,GAAkB,aAAmC74M,GAEnDtwB,GAAM,IAAAC,kBAAgB,EAExB64C,GAAS,IAAA3jC,cAAY,IAAAi0N,4BAA2B94M,GAAe,OAC/D9iB,GAAO,IAAA2H,cAAY,IAAAq4K,0BAAyBl9J,GAAe,OAC3DsoB,GAAe,IAAAzjC,cAAY,IAAAk0N,6BAA4B/4M,GAAe,OAEtEoD,GAAW,IAAAC,eAwBjB,OAtBA,UAAMtpB,WAAU,WACRimB,GACAoD,GAAS,IAAA41M,qBAAoBh5M,GAErC,GAAG,CAACoD,EAAUy1M,EAAiB74M,IAmB3B,wBAAC,UAAa,CACVzwB,UAAWA,EACXyG,cAAelC,EACftE,aAAa,aACb+E,YAAaA,GAAe7E,EAAE,0CAC9BsB,QAASw3C,EACTz0C,SAXkB,SAACgH,GACvB4Q,EAAS5Q,EACb,EAUQ7G,WAAYo0C,EAAa51C,SAAWwB,EACpCD,SAAUA,EACVD,WAAYA,EACZ2B,aA3Ba,SAACoF,GAClB,IAAKA,EACD,OAAO,KAGX,IAAMkxI,EAAY/uI,EAAKnC,GAEvB,OAAO,qCAAOkxI,aAAS,EAATA,EAAWxkI,OAAQ1M,GAAM,GAC3C,EAoBQ1E,eAlBe,SAAChB,GAA4B,OAAAA,CAAA,EAmB5CjE,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEJ,gBAAiB,WACb,OAAAoyC,EAAa51C,QAAU,wBAAC,UAAiB,KAAK,EAAAyD,uBAAuBC,sBAA0B,IAA/F,EAEJ/B,WAAYA,EACZF,OAAQA,EACRC,QAASA,GAGrB,KAEA,UAAewkO,C,+BChHf,WAAgB,KAAO,6BAA6B,QAAU,gCAAgC,IAAM,4BAA4B,UAAY,kCAAkC,UAAY,kCAAkC,OAAS,+BAA+B,SAAW,iC,sqBCD/Q,kBACA,aACA,cAEA,cACA,cACA,WACA,cACA,WACA,cACA,cAEMpqO,EAAK,UAAWC,KAAK,WA8J3B,UAAe,UAAMG,MA5IO,SACxBC,GAGI,IAAAqzF,EAaArzF,EAAK,eAZLkF,EAYAlF,EAAK,SAXLmC,EAWAnC,EAAK,QAVL8G,EAUA9G,EAAK,aATLwH,EASAxH,EAAK,eARLoqO,EAQApqO,EAAK,sBAPLgP,EAOAhP,EAAK,UANLqF,EAMArF,EAAK,WALLmF,EAKAnF,EAAK,WAJLoF,EAIApF,EAAK,SAHLU,EAGAV,EAAK,UAFLqqO,EAEArqO,EAAK,uBADLsqO,EACAtqO,EAAK,yBAEDa,GAAM,IAAAC,kBAAgB,EAExB60N,EAAgB,IAAIC,IAC1BzzN,EAAQia,SAAQ,SAAC5V,GACb,IAAMvB,EAAQuC,EAAehB,GAE7BmvN,EAAc7qH,IAAI7lG,EAAOuB,EAC7B,IAEA,IAAMqvN,EAAoB,IAAI/mM,IAAYukE,GAEpCkG,EAAe,SAACt0F,GAClB,IAAII,EAAJ,CAIA,IAAMywN,EAAuB,IAAIhnM,IAAI+mM,GACXC,EAAqB7mM,IAAIhqB,GAE/C6wN,EAAqBjoH,OAAO5oG,GAE5B6wN,EAAqBl8M,IAAI3U,GAE7BC,EAAS,EAAD,KAAK4wN,IAAoB,GATjC,CAUJ,EAuBA,OACI,iDACMuU,GAA0BC,IACxB,+BAAK5pO,UAAWf,EAAG,UACd0qO,GACG,+BAAK3pO,UAAWf,EAAG,QAAS8B,QA1BxB,WACpB,IAAMqZ,EAAS3Y,EAAQkV,IAAI7P,GAErB+iO,EAAczvN,EAAO7Y,UAAWoxF,aAAc,EAAdA,EAAgBpxF,QAElDiD,EADAqlO,EACSzvN,EAEA,GAEjB,GAkBwB,wBAAC,UAAQ,CACLpa,UAAWf,EAAG,cACdyW,KAAM,GACNzU,UAAW,EAAAC,qBAAqB6U,YAEpC,gCAAM/V,UAAWf,EAAG,eAAgBkB,EAAE,uBAG7CypO,GACG,+BAAK5pO,UAAWf,EAAG,QAAS8B,QAzBtB,WAEtB,GADoB4xF,aAAc,EAAdA,EAAgBpxF,OAKhCiD,EAAS,QAJG,CACZ,IAAMslO,EAAYroO,EAAQkV,IAAI7P,GAC9BtC,EAASslO,EACb,CAGJ,GAkBwB,wBAAC,UAAS,CACN9pO,UAAWf,EAAG,cACdyW,KAAM,GACNzU,UAAW,EAAAC,qBAAqB6U,YAEpC,gCAAM/V,UAAWf,EAAG,eAAgBkB,EAAE,0BAKtD,+BACIH,WAAW,aACPf,EAAG,OAAQ,CACP,mBAAoBwF,EACpB,iBAAkBC,IAEtB1E,IAGHyB,EAAQkV,KAAI,SAAC7Q,EAAQ8Q,GAClB,IAAMrS,EAAQuC,EAAehB,GAEvBohB,EAAaiuM,EAAkB5mM,IAAIhqB,GAEzC,OACI,+BAAK0N,IAAK2E,EAAO5W,UAAWf,EAAG,WAC3B,wBAAC,UAAQ,CACLie,aAAW,EACXgoE,QAASh+D,EACTlnB,UAAWf,EAAG,oBACdgB,aAAcypO,EAAwBA,EAAsB5jO,GAAU,GACtEO,MACI,+BACIrG,UAAWf,EAAG,iBACd8B,QAAS,WACL83F,EAAat0F,EACjB,GAEC6B,EAAaN,IAGtBsW,SAAU,WACNy8E,EAAat0F,EACjB,IAIhB,IACC+J,GACG,+BAAKtO,UAAWf,EAAG,sBACf,wBAAC,UAAuB,CAACe,UAAWf,EAAG,UAAWgC,UAAW,EAAAC,qBAAqBI,UAM1G,G,q7BCxKA,kBACA,WACA,cACA,cACA,cACA,cACA,WACA,YACA,WACA,WACA,WACA,WAOMrC,EAAK,UAAWC,KAAK,WAErBomC,EAA8ClmC,EAAMC,MAAK,SAACC,GACpD,IAAAimC,EAAoBjmC,EAAK,gBAEzBa,GAAM,IAAAC,kBAAgB,EAExB2Z,GAAS,IAAAgY,oBAETyT,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,EAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YAErFo+B,GAAW,IAAAE,mBAAkB9rB,EAAOK,OAAQorB,GAC5Cj+B,GAAa,IAAAs+B,mBAAkB9rB,EAAOK,OAAQwrB,GAEpD,OACI,gBAAC,UAAa,CACVn6B,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C1P,MAAOlG,EAAE,wDACT2lC,SACI,gBAAC,UAAS,CAAC9lC,UAAWf,EAAG,iBAAkB2U,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC9E,IAAA4kC,oBAAmBx+B,aAAU,EAAVA,EAAYD,MAAOC,aAAU,EAAVA,EAAY8D,MAG3D9G,MAAOohC,aAAQ,EAARA,EAAUK,SAG7B,IAEA,UAAeV,C,+BCpDf,WAAgB,MAAQ,4CAA4C,gBAAgB,oDAAoD,OAAS,6CAA6C,SAAW,+C,qHCDzM,cAGa,EAAAykM,mCACT,IAAI,EAAAxhN,gB,+BCHR,WAAgB,MAAQ,gDAAgD,OAAS,iDAAiD,SAAW,mD,q7BCD7I,kBACA,cACA,aAEA,aAEA,cAGMtpB,EAAK,UAAWC,KAAK,WAYrB8qO,EAAsD5qO,EAAMC,MAAK,SAACC,G,MAEhEyO,EAOAzO,EAAK,SANL8pH,EAMA9pH,EAAK,iBALLk0F,EAKAl0F,EAAK,sBAJLU,EAIAV,EAAK,UAHLw2M,EAGAx2M,EAAK,wBAFLu2M,EAEAv2M,EAAK,eADLs2M,EACAt2M,EAAK,cAET,OAAKk0F,IAAyD,QAA/B,EAAAA,aAAqB,EAArBA,EAAuBy2I,gBAAQ,eAAEz+N,IAK5D,uBAAKxL,WAAW,aAAGf,EAAG,WAAYe,IAC9B,gBAAC,UAAwB,CACrBopH,iBAAkBA,EAClB51B,sBAAuBA,EACvBzlF,SAAUA,EACV+nM,wBAAyBA,EACzBD,eAAgBA,EAChBD,cAAeA,KAXhB,IAef,IAEA,UAAeo0B,C,oGClDf,eACA,WACA,WA4BS,EAAAE,kBA1BiB,SAACtxN,GACvB,IAAMuxN,EAA4C,CAC9ClnO,OAAQ2V,EAAW,EAAA5Z,WAAWiE,SAGlC,OAAQ2V,EAAW,EAAA5Z,WAAWiE,SAC1B,KAAK,EAAAwwF,yBAAyBC,eAC1By2I,EAAWC,cAAgBxxN,EAAW,EAAA5Z,WAAW20F,sBAAmB/tF,EACpE,MAEJ,KAAK,EAAA6tF,yBAAyBG,WAC1Bu2I,EAAWtwH,WAAY,IAAAhiF,mBAAkBjf,EAAW,EAAA5Z,WAAW80F,iBAC/Dq2I,EAAWvwH,YAAa,IAAA/hF,mBAAkBjf,EAAW,EAAA5Z,WAAW+0F,iBAChEo2I,EAAWxwH,aAAc,IAAA9hF,mBAAkBjf,EAAW,EAAA5Z,WAAW60F,kBAGrE,KAAK,EAAAJ,yBAAyB+qF,aAOlC,OAAO2rD,CACX,C,6JC5BA,IAOME,EAPN,YAOkB,QAAM3nO,cAA0B,CAAEk0K,KAAM,OAE1D,UAAeyzD,C,0pCCTf,kBAEA,cACA,cAEA,UACA,cAEA,aACA,cACA,WACA,cA0BMC,GAvBK,UAAWprO,KAAK,WAuBW,IAEhCqrO,EAAsC,UAAMlrO,MAAK,SAACC,GAEhD,IAAAgP,EAcAhP,EAAK,UAZLmH,EAYAnH,EAAK,cAXL0F,EAWA1F,EAAK,YAVLqF,EAUArF,EAAK,WATLkF,EASAlF,EAAK,SARLuC,EAQAvC,EAAK,gBAPLU,EAOAV,EAAK,UANLoF,EAMApF,EAAK,SALLmF,EAKAnF,EAAK,WAJLwF,EAIAxF,EAAK,WAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADL0H,EACA1H,EAAK,QAEHmC,EAAUnC,EAAMmC,SAAW6oO,EAEzBnqO,GAAM,IAAAC,kBAAgB,EAExBoqO,EAAiB,SAAC1kO,GACpB,OAAKA,EAIE3F,EAAE,6CAA8C,CACnD4sB,aAAcjnB,EAAOinB,cAAgB,GACrCo0I,UAAWr7J,EAAOq7J,WAAa,GAC/BtvB,eAAgB/rI,EAAO+rI,gBAAkB,KANlC,EAQf,EAEM44F,GAAc,IAAA3mO,UAAQ,WACxB,OAAO,aAAMrC,EAAS,KAC1B,GAAG,CAACA,IA0BJ,OACI,wBAAC,UAAa,CACVzB,UAAWA,EACXyG,cAAeA,EACfzB,YAAaA,EACbvD,QAASA,EACTkD,WAAY2J,GAAa3J,EACzBH,SAba,SAACD,GAClB,IAAMu5G,EAAiB2sH,EAAYlmO,GAC7BmmO,EAAsBF,EAAe1sH,GAC3Ct5G,EAASD,EAAOmmO,EACpB,EAUQhmO,SAAUA,EACVD,WAAYA,EACZkC,gBAAiB,WACb,OAAA2H,EAAY,wBAAC,UAAiB,KAAK,EAAA1H,uBAAuBC,sBAA0B,IAApF,EAEJT,aA7Ba,SAACN,EAAkBd,GACpC,OAAKc,EAIE,wBAAC,UAA4B,CAAC0jD,KAAM1jD,IAHhCd,CAIf,EAwBQy0E,qBAtCc,SAAC3zE,EAAkBd,GACrC,OAAKc,EAIE0kO,EAAe1kO,GAHXd,CAIf,EAiCQ8B,eAvBe,SAAChB,GAA4B,OAAAA,EAAO0F,EAAP,EAwB5C1G,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACThD,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEhC,kBAAmBiC,EACnBA,QAASA,GAGrB,IAEA,UAAeujO,C,6zDC9Hf,IAiOYI,EAjOZ,cACA,WACA,WACA,aACA,cAEA,WAEA,cACA,cAEA,cACA,cACA,cACA,cACA,WACA,cACA,cAEM1rO,EAAK,UAAWC,KAAK,WAErB0rO,EAAuB,KAAOlrL,OAAOmrL,iBACrCC,EAAgB,IAMhBC,EAA6B,UAAM1rO,MAAK,SAACC,GACnC,IAAAW,EAA0BX,EAAK,aAAdk5C,EAAI,EAAKl5C,EAA5B,kBAEN,OAAO,wBAAC,OAAO,KAAKk5C,EAAI,sBAAsB,UAAGv4C,EAAY,WACjE,IAYM+qO,EAAyC,UAAM3rO,MAAK,SAACC,G,MAC/CU,EAAmFV,EAAK,UAA7Es+F,EAAwEt+F,EAAK,YAAhE2rO,EAA2D3rO,EAAK,WAApDw3K,EAA+Cx3K,EAAK,UAAzCqG,EAAoCrG,EAAK,SAA/BusF,EAA0BvsF,EAAK,YAAlBqmC,EAAarmC,EAAK,SAE1F,IAAwB,UAAMqE,UAAkB,GAAM,GAArDi2I,EAAS,KAAE4jE,EAAQ,KAepB0tB,EAIJ,QAJ0B,OAAAC,WAAUxlM,aAAQ,EAARA,EAAUpC,SAAU,CACtDO,KAAM85D,EACNwtI,OAAO,EACPC,QAAQ,WACV,eAAE/mM,IAEEgnM,EACF,wBAAC,UAAM,CACHtrO,UAAWf,EAAG,oBAAqB,CAC/B,+BAAgC26I,EAChC,kCAAmCsxF,IAEvCp1K,KAAMghH,EACNphK,KAAM,EAAA8lJ,eAAe+vE,QAI7B,OACI,wBAACR,EAAI,CACD/qO,WAAW,aACPf,EAAG,cAAe,CACd,0BAA2BgsO,IAE/BjrO,GAEJwnB,GAAIo2E,EACJ39F,aAAa,cACb0tH,YAzCY,WACZisB,GAIJ4jE,GAAS,EACb,EAoCQtyM,aAnCW,WACV0uI,GAIL4jE,GAAS,EACb,GA+BSytB,EACG,gDACKK,EACD,+BAAKtrO,UAAWf,EAAG,uBACf,+BAAKe,UAAWf,EAAG,sBAAuB0G,KACvCkmF,GAAe,+BAAK7rF,UAAWf,EAAG,yBAA0B4sF,KAIvE,wBAAC,UAAO,CACJxrF,SAAU,EAAAC,oBAAoBC,YAC9BC,MAAO,EAAAC,iBAAiBC,MACxBkJ,MAAOkhO,EACPnqO,YACI,+BAAKX,UAAWf,EAAG,UAAW,sBAC1B,+BAAKe,UAAWf,EAAG,uBACf,+BACIe,UAAWf,EACP,oBACA,iCACA,kBAGH0G,KAEFkmF,GACC,+BAAK7rF,UAAWf,EAAG,uBAAwB,kBAAmB4sF,OAM7E,WAAM,OAAAy/I,CAAA,IAK3B,IAUME,EAAmD,UAAMnsO,MAAK,SAACC,G,MACzDU,EAA8DV,EAAK,UAAxDmsO,EAAmDnsO,EAAK,YAA3C2rO,EAAsC3rO,EAAK,WAA/BusF,EAA0BvsF,EAAK,YAAlBqmC,EAAarmC,EAAK,SAErE,IAAwB,UAAMqE,UAAkB,GAAM,GAArDi2I,EAAS,KAAE4jE,EAAQ,KAgBpBkuB,EAIJ,QAJ0B,OAAAP,WAAUxlM,aAAQ,EAARA,EAAUpC,SAAU,CACtDO,KAAM2nM,EACNL,OAAO,EACPC,QAAQ,WACV,eAAE/mM,IAEEqnM,EACF,wBAAC,UAAW,CACR3rO,UAAWf,EAAG,qBAAsB,CAChC,gCAAiC26I,EACjC,mCAAoC8xF,IAExCh2N,KAAM,EAAA2uN,oBAAoBkH,QAIlC,OACI,wBAACR,EAAI,CACD/qO,WAAW,aACPf,EAAG,eAAgB,CACf,2BAA4BgsO,IAEhCjrO,GAEJwnB,GAAIikN,EACJxrO,aAAa,eACb0tH,YAzCY,WACZisB,GAIJ4jE,GAAS,EACb,EAoCQtyM,aAnCW,WACV0uI,GAIL4jE,GAAS,EACb,GA+BSytB,EACG,gDACKU,EACD,+BAAK3rO,UAAWf,EAAG,wBACf,+BAAKe,UAAWf,EAAG,0BAA2B4sF,KAItD,wBAAC,UAAO,CACJxrF,SAAU,EAAAC,oBAAoBC,YAC9BC,MAAO,EAAAC,iBAAiBC,MACxBkJ,MAAOkhO,EACPnqO,YACI,+BAAKX,UAAWf,EAAG,UAAW,sBAC1B,+BAAKe,UAAWf,EAAG,wBACf,+BAAKe,UAAWf,EAAG,wBAAyB,kBAAmB4sF,OAK1E,WAAM,OAAA8/I,CAAA,IAK3B,KAaA,SAAYhB,GACR,aACH,CAFD,CAAYA,IAAa,gBAAbA,EAAa,KAuBzB,IAAMiB,EAA+B,UAAMvsO,MAAK,SAACC,G,MAEzCU,EAWAV,EAAK,UAVLu+F,EAUAv+F,EAAK,SATLqG,EASArG,EAAK,SARLw3K,EAQAx3K,EAAK,UAPL8E,EAOA9E,EAAK,UANLusF,EAMAvsF,EAAK,YALLq+F,EAKAr+F,EAAK,UAJLs+F,EAIAt+F,EAAK,YAHLw+F,EAGAx+F,EAAK,OAFLirK,EAEAjrK,EAAK,kBADLu3K,EACAv3K,EAAK,kBACDa,GAAM,IAAAC,kBAAgB,EAExBs2K,EAAY,UAAMzkJ,WAAW,WAC7Bvc,GAAO,eAEP,IAA4B,UAAM/R,UAAkB,WACtD,OAAO+R,EAAK5U,MAAQ8pO,CACxB,IAAE,GAFKK,EAAU,KAAEY,EAAW,KAI9B,UAAMrhO,WAAU,WACZ,IAAMshO,EAAep2N,EAAK5U,MAAQ8pO,EAClCiB,EAAYC,EAChB,GAAG,CAACp2N,EAAK5U,QAET,IAAMirO,KAAsC,QAAd,EAAAr1D,EAAUE,YAAI,eAAEjyE,WAC9C,UAAMn6F,WAAU,WACRuhO,GACAF,GAAY,EAEpB,GAAG,CAACE,IAEJ,IAAMpmM,GAAW,IAAA21D,eAEX0wI,EAAW,wBAAC,UAAQ,MACpBC,EAAc9rO,EAAE,eAChB+rO,EAAa,WACXxsL,OAAO4wD,mBACP5wD,OAAO4wD,mBAEf,EAEI67H,EAA4B,KA6BhC,OA5BI5hE,IACA4hE,EAAWlB,EACP,gCAAMjrO,UAAWf,EAAG,YAAa,0BAA2B8B,QAASmrO,EAAU,qBAAqB,QAChG,+BAAKlsO,UAAWf,EAAG,oBAAqB+sO,GACxC,+BAAKhsO,UAAWf,EAAG,oBAAqBgtO,IAG5C,+BAAKjsO,UAAWf,EAAG,0BACf,wBAAC,UAAO,CACJoB,SAAU,EAAAC,oBAAoBC,YAC9BC,MAAO,EAAAC,iBAAiBC,MACxBkJ,MAAOkhO,EACPnqO,YAAa,+BAAKX,UAAWf,EAAG,UAAW,wBAAyBgtO,KAEnE,WAAM,OACH,gCACIjsO,UAAWf,EAAG,kBAAmB,gCAA+B,qBAC7C,OACnB8B,QAASmrO,GAERF,EANF,MAenB,8CACiB,aACbhsO,WAAW,aACPf,EAAG,aAAc,CACb,yBAA0BgsO,IAE9BjrO,IAGJ,+BAAKA,UAAWf,EAAG,UACf,+BAAKe,UAAWf,EAAG,SACf,wBAAC8rO,EAAI,CAAC/qO,UAAWf,EAAG,cAAeuoB,GAAIq2E,EAAU59F,aAAa,QAC1D,wBAAC,UAAI,CAACmsO,SAAUnB,MAGxB,+BACIjrO,UAAWf,EAAG,UAAW,CACrB,sBAAuBgsO,KAG3B,wBAACD,EAAU,CACPhrO,UAAWf,EAAG,gBACd2+F,YAAaA,EACbqtI,WAAYA,EACZn0D,UAAWA,EACXnxK,SAAUA,EACVkmF,YAAagrF,EAAoB,KAAOhrF,EACxClmD,SAAUA,IAEbkxI,GAAqBzyK,GAClB,wBAAConO,EAAe,CACZxrO,UAAWf,EAAG,gBAEdwsO,YAAa,2BAAoBrnO,EAAS,oBAC1C6mO,WAAYA,EACZp/I,YAAaA,EACblmD,SAAUA,KAItB,+BAAK3lC,UAAWf,EAAG,SACd0+F,EAAUhnF,KAAI,SAAC01N,GACZ,IAAKA,EACD,OAAO,KAIP,IAAAnjE,EAQAmjE,EAAQ,cAPRC,EAOAD,EAAQ,qBANR7kN,EAMA6kN,EAAQ,GALR51N,EAKA41N,EAAQ,WAJRv8N,EAIAu8N,EAAQ,KAHRjB,EAGAiB,EAAQ,MAFRhB,EAEAgB,EAAQ,OADRpsO,EACAosO,EAAQ,aAER1qO,GAAW,EACXunK,IACAvnK,KAAa,IAAAwpO,WAAUxlM,aAAQ,EAARA,EAAUpC,SAAU,CACvCO,KAAMolI,EACNkiE,MAAK,EACLC,OAAM,KAGV1pO,GAAY2qO,IACZ3qO,IAAY,IAAAwpO,WAAUxlM,aAAQ,EAARA,EAAUpC,SAAU,CACtCO,KAAMwoM,EACNlB,OAAO,EACPC,QAAQ,KAIhB,IAAMnrO,EAAmB,eAAQD,GAkBjC,OAfoB69F,EAAOt2E,IAAO,IAAI7Q,KAAI,SAAC6sB,G,MAC/BjhC,EAA0BihC,EAAK,KAAnB+oM,EAAc/oM,EAAK,KAEvC,OACI,gCACIvxB,IAAK1P,EACLvC,UAAWf,EAAG,SAAO,KACjB,EAAC,iBAAUsD,KAAS,E,KAGvBgqO,EAGb,IAEKtB,EA0BD,wBAACF,EAAI,CACD94N,IAAKuV,EACLxnB,UAAWf,EAAG,YAAa,CACvB,sBAAuB0C,IAE3B6lB,GAAIA,EACJvnB,aAAcC,GAEd,+BAAKF,UAAWf,EAAG,oBAAqBwX,EAAW9U,IACnD,+BACI3B,UAAWf,EAAG,kBAAmB,CAC7B,4BAA6B0C,KAGhCmO,IAtCL,+BAAK9P,UAAWf,EAAG,yBAA0BgT,IAAKuV,GAC9C,wBAAC,UAAO,CACJnnB,SAAU,EAAAC,oBAAoBC,YAC9BC,MAAO,EAAAC,iBAAiBC,MACxBkJ,MAAOkhO,EACPnqO,YAAa,+BAAKX,UAAWf,EAAG,UAAW,wBAAyB6Q,KAEnE,WAAM,OACH,wBAACi7N,EAAI,CACDvjN,GAAIA,EACJxnB,UAAWf,EAAG,kBAAmB,CAC7B,4BAA6B0C,IAEjC1B,aAAcC,GAEbuW,EAAW9U,GARb,IAmC3B,KAEHwqO,EACAlB,GACG,+BAAKjrO,UAAWf,EAAG,UACf,+BAAKe,UAAWf,EAAG,iBACf,+BAAKe,UAAWf,EAAG,qBACdkB,EAAE,yBAA0B,CACzBw0I,MAAM,IAAA63F,qBAGd,+BAAKxsO,UAAWf,EAAG,sBAAuBkB,EAAE,+BAOxE,IAEA,UAAeyrO,C,+BC9df,WAAgB,QAAU,2CAA2C,mBAAqB,sDAAsD,YAAc,+CAA+C,UAAY,6CAA6C,eAAiB,kDAAkD,mBAAqB,sDAAsD,OAAS,0CAA0C,kBAAoB,qDAAqD,gCAAgC,iEAAiE,OAAS,0CAA0C,SAAW,4C,sBCG/qB,IAAYjiG,EAcA8iG,E,+FAdZ,SAAY9iG,GACR,YACA,cACA,sBACA,sBACA,oBACA,YACA,cACA,kBACA,qBACH,CAVD,CAAYA,IAAa,gBAAbA,EAAa,KAczB,SAAY8iG,GACR,4BACA,2BACA,kCACA,2CACH,CALD,CAAYA,IAAoB,uBAApBA,EAAoB,I,6JClBhC,kBAKA,cACA,cACA,WACA,WAIA,cACA,WACA,WAEMxtO,EAAK,UAAWC,KAAK,WAsG3B,UA/E6D,SAACI,GAEtD,IAAAU,EAWAV,EAAK,UAVL8a,EAUA9a,EAAK,OATLkF,EASAlF,EAAK,SARLmF,EAQAnF,EAAK,WAPLoF,EAOApF,EAAK,SANLuC,EAMAvC,EAAK,gBALLqF,EAKArF,EAAK,WAJL0F,EAIA1F,EAAK,YAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLwF,EACAxF,EAAK,WAEDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CACH,CACIuC,MAAOlG,EAAE,EAAAusO,8BAA8B,EAAAC,+BAA+BC,YACtEroO,MAAO,EAAAooO,+BAA+BC,WAE1C,CACIvmO,MAAOlG,EAAE,EAAAusO,8BAA8B,EAAAC,+BAA+BE,WACtEtoO,MAAO,EAAAooO,+BAA+BE,UAE1C,CACIxmO,MAAOlG,EAAE,EAAAusO,8BAA8B,EAAAC,+BAA+BpoO,QACtEA,MAAO,EAAAooO,+BAA+BpoO,OAGlD,GAAG,CAACpE,IAyBJ,OACI,wBAAC,UAAqB,CAClBH,UAAWA,EACXyB,QAASA,EACTkxF,eAAgBv4E,EAChBtT,eAPe,SAAChB,GAA4B,OAAAA,EAAOvB,KAAP,EAQ5CS,YAAaA,EACbL,WAAYA,EACZH,SAAUA,EACVE,SAAUA,EACVD,WAAYA,EACZK,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTuB,aAxBa,SAACN,GAClB,OAAKA,GAIEA,aAAM,EAANA,EAAQO,QAAS,GAHb,IAIf,EAmBQozE,qBAtCqB,SAACh4E,EAAyBuD,GACnD,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAOyD,EAGX,GAAuB,IAAnBvD,EAAQF,OAAc,CACtB,IAAMuE,EAASrE,EAAQ,GACvB,OAAOqE,aAAM,EAANA,EAAQO,QAAS,IAC5B,CAEA,OAAO,wBAAC,UAA+B,CAACnE,MAAOT,aAAO,EAAPA,EAASF,QAC5D,EA4BQM,gBAAiBA,EACjBL,iBAAkBvC,EAAG,YAGjC,C,q7BCpHA,kBAEA,WACA,WACA,cAOM6tO,EAAiC1tO,EAAMC,MAAK,SAACC,GACvC,IAAA6mG,EAA4B7mG,EAAK,eAAjBm/N,EAAYn/N,EAAK,QAEzC,OAAKm/N,aAAO,EAAPA,EAASsO,YAKV,gBAAC,UAAa,CACVvlN,GAAI2+E,EAAe,EAAAx+E,gBAAgB6C,QAASi0M,EAAQsO,YACpDvsO,MAAO,EAAA8mB,cAAcC,cACrB7R,KAAM,EAAA8uG,aAAalhC,QAElBm7I,EAAQuO,cAAgB,KATtB,IAYf,IAEA,UAAeF,C,wpBC5Bf,eACA,cAea,EAAAG,6BAAuD,CAChEl0L,aAAc,UAAch2C,QAC5Bm1N,yBAA0B,KAC1B/rJ,cAAe,UAAcppE,SAOpB,EAAAmqO,mBAAoB,IAAAthK,aAAY,CACzC1zD,KAAM,gBACNrV,aAJqC,CAAC,EAKtCgpE,SAAU,CACNshK,uBAAwB,SAEpBnqO,EAEAC,GAMJ,EACAmqO,4BAA6B,SACzBpqO,EACAC,GAIQ,IAAA6yD,EAAS7yD,EAAOklB,QAAO,KAEzBklN,EAAYrqO,EAAM8yD,IAAS,EAAAm3K,6BAEjCjqO,EAAM8yD,GAAQ,EAAH,KACJu3K,GAAS,CACZt0L,aAAc,UAAc51C,SAEpC,EACAmqO,8BAA+B,SAC3BtqO,EACAC,GAKM,MAAiBA,EAAOklB,QAAtB2tC,EAAI,OAAE/pD,EAAI,OAEZshO,EAAYrqO,EAAM8yD,IAAS,EAAAm3K,6BAEjCjqO,EAAM8yD,GAAQ,EAAH,KACJu3K,GAAS,CACZt0L,aAAc,UAAcv1C,GAC5B00N,yBAA0BnsN,GAElC,EACAwhO,4BAA6B,SACzBvqO,EACAC,GAKM,MAAkBA,EAAOklB,QAAvB2tC,EAAI,OAAEzyD,EAAK,QAEbgqO,EAAYrqO,EAAM8yD,IAAS,EAAAm3K,6BAEjCjqO,EAAM8yD,GAAQ,EAAH,KACJu3K,GAAS,CACZt0L,aAAc,UAAcz1C,SAASD,IAE7C,EACAomH,mBAAoB,SAEhBzmH,EAEAC,GAMJ,EACAuqO,wBAAyB,SACrBxqO,EACAC,GAIQ,IAAA6yD,EAAS7yD,EAAOklB,QAAO,KAEzBklN,EAAYrqO,EAAM8yD,IAAS,EAAAm3K,6BAEjCjqO,EAAM8yD,GAAQ,EAAH,KACJu3K,GAAS,CACZlhK,cAAe,UAAchpE,SAErC,EACAsqO,0BAA2B,SACvBzqO,EACAC,GAIQ,IAAA6yD,EAAS7yD,EAAOklB,QAAO,KAEzBklN,EAAYrqO,EAAM8yD,IAAS,EAAAm3K,6BAEjCjqO,EAAM8yD,GAAQ,EAAH,KACJu3K,GAAS,CACZlhK,cAAe,UAAc3oE,IAErC,EACAkqO,wBAAyB,SACrB1qO,EACAC,GAKM,MAAkBA,EAAOklB,QAAvB2tC,EAAI,OAAEzyD,EAAK,QAEbgqO,EAAYrqO,EAAM8yD,IAAS,EAAAm3K,6BAEjCjqO,EAAM8yD,GAAQ,EAAH,KACJu3K,GAAS,CACZlhK,cAAe,UAAc7oE,SAASD,IAE9C,KAKJ,EAAA8pO,wBADS,EAST,EAAAD,kBAAkBj/N,SAAO,uBAPzB,EAAAm/N,4BAA2B,8BAC3B,EAAAE,8BAA6B,gCAC7B,EAAAC,4BAA2B,8BAC3B,EAAA9jH,mBAAkB,qBAClB,EAAA+jH,wBAAuB,0BACvB,EAAAC,0BAAyB,4BACzB,EAAAC,wBAAuB,0BAG3B,UAAe,EAAAR,kBAAkBjhK,O,yECjKjC,eAEA,WAYA,UAVsB,SAACnpE,GACnB,IAAMse,EAAgC,CAAC,EAMvC,OAJI,IAAAmwF,qBAAoBzuG,EAAcO,SAClC+d,EAAY,EAAApiB,WAAWsqB,UAAYxmB,EAAcO,MAAMd,MAGpD6e,CACX,C,+BCXA,WAAgB,OAAS,qCAAqC,OAAS,qCAAqC,SAAW,uC,sBCGvH,IAAYjK,E,wEAAZ,SAAYA,GACR,mCACH,CAFD,CAAYA,IAAa,gBAAbA,EAAa,I,+mBCJzB,eAEa,EAAA+5M,gBAAkB,SAACyc,GACtB,SAAkB,IAAAhqO,YAA0B,GAA3CiH,EAAI,KAAEmyI,EAAO,KACdzxI,GAAM,IAAAhG,cAAY,SAACsF,GACrBmyI,EAAQnyI,EACZ,GAAG,IAEG,KAAkC,IAAAjH,WAAkB,GAAM,GAAzDwtN,EAAY,KAAEyc,EAAe,KA2BpC,OAzBA,IAAA/vJ,kBAAgB,WACPjzE,GAELgjO,EAAgBhjO,EAAKijO,aAAejjO,EAAK0gI,aAE7C,GAAG,EAAF,OAAMqiG,IAAY,IAAE/iO,IAAI,KAEzB,IAAAizE,kBAAgB,WACZ,IAAKjzE,EACD,OAAO,WAEP,EAGJ,IAAMkjO,EAAqB,WACvBF,EAAgBhjO,EAAKijO,aAAejjO,EAAK0gI,aAC7C,EAIA,OAFA5rF,OAAOmlD,iBAAiB,SAAUipI,GAE3B,WACHpuL,OAAOolD,oBAAoB,SAAUgpI,EACzC,CACJ,GAAG,CAACljO,IAEG,CAACumN,EAAc7lN,EAAKV,EAC/B,C,yECpCA,eA4BA,UAxBoC,SAAC61B,GACjC,IAAMgkE,GAA0B,IAAAx8F,WAEhC,IAAAuC,YAAU,WACNi6F,EAAwB55F,QAAU41B,CACtC,GAAG,CAACA,KAEJ,IAAAj2B,YAAU,WACN,IAAMk6F,EAAqB,WACU,YAA7BrnD,SAASunD,iBACLH,EAAwB55F,SACxB45F,EAAwB55F,SAGpC,EAIA,OAFAwyC,SAASwnD,iBAAiB,mBAAoBH,GAEvC,WACHrnD,SAASynD,oBAAoB,mBAAoBJ,EACrD,CACJ,GAAG,GACP,C,6JCzBA,kBAoCA,UAzBwC,SACpC5hG,EACAirO,EACAtsO,IAEA,cAAqB,WACFssO,EAAQx9J,MAAK,SAACy9J,GAAW,OAAAA,EAAO/6M,MAAP,MAKpCnwB,EAAcO,QAAS5B,aAAO,EAAPA,EAASi7H,qBAChCqxG,EAAQryN,SAAQ,SAACsyN,GACbA,EAAOluO,SACX,IAGAgD,EAAcU,IACduqO,EAAQryN,SAAQ,SAACsyN,GACbA,EAAOluO,SACX,IAER,GAAG,CAACgD,GACR,C,kTCjCA,cACA,WACA,WAEMuf,EAAkB,CACpB,EAAArjB,WAAW6sF,YACX,EAAA7sF,WAAWyoD,QACX,EAAAzoD,WAAW0oD,KACX,EAAA1oD,WAAWo6K,OACX,EAAAp6K,WAAW2oD,aA2Bf,UAxBqB,SAACxnD,EAAcia,GAChC,IAAMc,EAAM,UACL,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,KAElC,IAAA+O,gBAAehpB,EAAG,CAAC,EAAAnB,WAAW6sF,aAAczxE,EAAQ,KACpD,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAW6sF,aAAczxE,EAAQ,MAGrDqW,EAAcrW,EAAO,EAAApb,WAAWyxB,aAChCg3B,EAAUrtC,EAAO,EAAApb,WAAWyoD,SAYlC,OAXI,IAAAwmL,sBAAqBx9M,MAAiB,IAAAstI,SAAQttI,EAAag3B,KAC3DvsC,EAAO,EAAAlc,WAAWyoD,SAAWtnD,EAAE,8BAA+B,CAC1D+tO,SAAS,IAAAC,mBAAkB19M,MAIbrW,EAAO,EAAApb,WAAWuqB,eAEpCrO,EAAO,EAAAlc,WAAWuqB,aAAeppB,EAAE,oCAGhC+a,CACX,C,+BCnCA,WAAgB,KAAO,sCAAsC,YAAY,2CAA2C,IAAM,qCAAqC,OAAS,wCAAwC,OAAS,wCAAwC,SAAW,0C,yECD5Q,eA0BA,UAxByB,W,MAqBrB,OApBY,MACP,EAAAlc,WAAWic,YAAa,GACzB,EAAC,EAAAjc,WAAWyc,cAAe,GAE3B,EAAC,EAAAzc,WAAW6d,eAAgB,KAE5B,EAAC,EAAA7d,WAAW+c,eAAgB,KAC5B,EAAC,EAAA/c,WAAWqd,gBAAiB,KAE7B,EAAC,EAAArd,WAAWsd,aAAc,KAC1B,EAAC,EAAAtd,WAAWyd,cAAe,KAE3B,EAAC,EAAAzd,WAAW0d,aAAc,KAC1B,EAAC,EAAA1d,WAAW4d,eAAgB,KAC5B,EAAC,EAAA5d,WAAW2d,aAAc,KAE1B,EAAC,EAAA3d,WAAW8d,QAAS,KACrB,EAAC,EAAA9d,WAAW+d,gBAAiB,G,CAIrC,C,yLCxBA,eAaa,EAAA0sN,oBAAsB,SAACh5M,GAA0D,OAC1FluB,KAAM,EAAA6rO,yBACN39M,YAAW,EAF+E,EAKjF,EAAA49M,yBAA2B,SAAC59M,GAA+D,OACpGluB,KAAM,EAAA+5I,+BACN7rH,YAAW,EAFyF,EAK3F,EAAA69M,2BAA6B,SACtC79M,EACAgsH,GACoC,OACpCl6I,KAAM,EAAAi6I,iCACN/rH,YAAW,EACXgsH,eAAc,EAHsB,EAM3B,EAAA8xF,yBAA2B,SAAC99M,EAA2BptB,GAAkD,OAClHd,KAAM,EAAAo6I,+BACNlsH,YAAW,EACXptB,MAAK,EAH6G,C,+BC/BtH,WAAgB,MAAQ,6BAA6B,OAAS,8BAA8B,IAAM,2BAA2B,0BAA0B,+CAA+C,OAAS,8BAA8B,uBAAuB,4CAA4C,qBAAqB,0CAA0C,OAAS,8BAA8B,mBAAmB,wCAAwC,mBAAmB,wCAAwC,wBAAwB,6CAA6C,qBAAqB,0CAA0C,yBAAyB,8CAA8C,QAAU,+BAA+B,uBAAuB,4CAA4C,qBAAqB,0CAA0C,sBAAsB,2CAA2C,eAAiB,sCAAsC,cAAgB,qCAAqC,MAAQ,6BAA6B,mBAAmB,wCAAwC,aAAe,oCAAoC,aAAe,oCAAoC,sBAAsB,2CAA2C,0BAA0B,+CAA+C,wBAAwB,6CAA6C,KAAO,4BAA4B,kBAAkB,uCAAuC,kBAAkB,uCAAuC,OAAS,8BAA8B,OAAS,8BAA8B,SAAW,gC,sBCClrD,IAAYrE,E,qEAAZ,SAAYA,GACR,0BACA,8BAEA,gCAEA,gCACA,kCAEA,4BACA,8BAEA,4BACA,4BACA,gCAEA,kBACA,iCACH,CAlBD,CAAYA,IAAU,aAAVA,EAAU,I,sMCET,EAAAglG,uBAAyB,+CACzB,EAAAwqI,6BAA+B,qDAC/B,EAAAC,6BAA+B,qDAC/B,EAAAC,+BAAiC,sD,geCP9C,eAGA,cAMa,EAAA74J,aAAe,SACxBj9D,EACAyvE,EACAsmJ,GAEQ,IAAA9gC,EAA6B8gC,EAAI,yBAEnCppO,EAAqC,GAuB3C,OArB4BqT,EAAW,EAAA5Z,WAAW0qB,YAAc,IAC5ChO,SAAQ,SAACiO,EAAoB/S,GAC7C,IAAMg4N,EAAsBjlN,EAAmB,EAAAE,mBAAmBtiB,YAClE,GAAKqnO,EAAL,CAIM,QAA+BA,EAAmB,GAAjDC,EAAa,KAAEC,EAAW,KAE3BrgC,EAA0BZ,EAAyBj3L,GACjDpL,EAAoDijM,EAAuB,GAAvEtsH,EAAgDssH,EAAuB,qBAAjD5wF,EAA0B4wF,EAAuB,sBAE7EnnM,EAAQ,UAAOo+C,UAAUm4D,GAAyB17B,GAAsBv8B,QAAQ,OAEtFrgD,EAAMyR,KAAK,CACP4f,MAAM,aAAOtvB,GAAO4R,IAAI21N,EAAe,gBAAgB51N,SACvDuO,IAAI,aAAOlgB,GAAO4R,IAAI41N,EAAa,gBAAgB71N,SACnDzN,GAAE,GAZN,CAcJ,IAEOjG,CACX,C,yECxCA,eAcA,UAZA,SAA6BhB,GACzB,IAAM+G,GAAM,IAAArD,QAAkC1D,GAQ9C,OALA,IAAAiG,YAAU,WACNc,EAAIT,QAAUtG,CAClB,GAAG,CAACA,IAGG+G,EAAIT,OACf,C,6JCZA,kBACA,WACA,cACA,cACA,cACA,cACA,cAEM5L,EAAK,UAAWC,KAAK,WAMrB6vO,EAAiC,UAAM1vO,MAAK,SAACC,GACvC,IAAA4O,EAAa5O,EAAK,SAEpBivC,EAAkB,UAAMtc,WAAW,WACzC,OAAKsc,GAIE,IAAAC,cACH,+BAAKxuC,UAAWf,EAAG,WACf,wBAAC,UAAc,KACX,wBAAC,UAAc,KACX,+BAAKe,UAAWf,EAAG,cACf,+BAAKe,UAAWf,EAAG,YAAaiP,OAKhDqgC,GAbO,IAef,IAEA,UAAewgM,C,sBCjCf,IAAY/vO,E,qEAAZ,SAAYA,GACR,wBACA,sBACA,4BACA,oCACA,4BACA,qBACH,CAPD,CAAYA,IAAU,aAAVA,EAAU,I,+3BCHtB,kBACA,WACA,WAEa,EAAA46D,iBAAmB,SAACF,GAC7B,IAAM7lC,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WAOZ,OANAqpB,GACI,IAAAuzK,0BAAyB,CACrB1tI,YAAW,KAIZ,WACH7lC,GACI,IAAA63K,oBAAmB,CACfhyI,YAAW,IAGvB,CACJ,GAAG,CAAC7lC,EAAU6lC,GAClB,C,6dCtBA,kBACA,cAEA,WACA,WACA,cACA,cACA,cAEMs1K,EAAW,SAACC,EAAyBl7N,GAKvC,IAJA,IAAMzG,EAAQ,GAERpL,EAAQuc,KAAK6hD,IAAIvsD,EAAa,EAAGk7N,EAAU1tO,QAExCqV,EAAQ,EAAGA,EAAQ1U,EAAO0U,IAC3Bq4N,EAAUr4N,GACVtJ,EAAMsJ,GAASq4N,EAAUr4N,GAEzBtJ,EAAMsJ,GAAS,CACX9T,cAAe,UAAcC,QAC7BwoD,IAAK,IAKjB,OAAOj+C,CACX,EAoI2B,EAAAsxD,mBAjFA,SACvBswK,EACAn7N,EACAxO,EACA4O,GAEA,OAAKA,IAIA,IAAAyJ,kBAAiBrY,EAAO2pO,EAAoB3pO,OA3DjB,SAChC2pO,EACAn7N,EACAxO,EACA4O,G,MAEQmK,EAAuCnK,EAAY,QAA1CwK,EAA8BxK,EAAY,WAA9ByK,EAAkBzK,EAAY,cAErDg7N,EAAW7wN,GAAW,GAEtBitC,EAAM4jL,EAASx4N,KAAI,SAACy4N,GAAW,OAAAA,EAAO5jO,EAAP,IAAW8iB,OAAO,EAAA4/B,UAEjD5gD,EAAQ0hO,EAASE,EAAoB5hO,MAAOmR,KAAK6hD,KAAK3hD,GAAc,GAAK,EAAG,IAE5EhR,GAAO,aAAMwhO,EAAU,MAEvBE,EAA2C,CAAC,EAClD9jL,EAAI7vC,SAAQ,SAAClQ,IACJ,aAAQmC,EAAKnC,GAAK0jO,EAAoBvhO,KAAKnC,MAC5C6jO,EAAQ7jO,GAAMmC,EAAKnC,GAE3B,IACA,IAAM8jO,IAAoB,aAAQD,GAE5BE,EAA+C,QAArC,EAAAL,EAAoB5hO,MAAMyG,UAAW,eAAEw3C,IACjDikL,IAAiB,aAAQD,EAAShkL,GAQxC,OANAj+C,EAAMwxD,OAAO/qD,EAAY,EAAG,EAAF,KACnBm7N,EAAoB5hO,MAAMyG,IAAW,CACxCjR,cAAe,UAAcU,GAC7B+nD,IAAKikL,GAAiBF,EAAmB/jL,EAAMgkL,KAG5C,CACHhqO,MAAK,EACLkI,MAAO,CACH2/C,UAAWzuC,GAAc,EACzB4yM,aAAc3yM,GAAiB,GAEnCtR,MAAK,EACLK,KAAM2hO,EACA,EAAD,KACQJ,EAAoBvhO,MACpB0hO,GAEPH,EAAoBvhO,KAElC,CAgBW8hO,CAAkCP,EAAqBn7N,EAAYxO,EAAO4O,GAPtE+6N,CAQf,EAkE+C,EAAA7pG,iBAhEtB,SACrB6pG,EACAn7N,EACAxO,EACAlC,GAEA,KAAK,IAAAua,kBAAiBrY,EAAO2pO,EAAoB3pO,OAC7C,OAAO2pO,EAGX,IAAM5hO,EAAQ0hO,EAASE,EAAoB5hO,MAAOyG,GAOlD,OALAzG,EAAMwxD,OAAO/qD,EAAY,EAAG,EAAF,KACnBzG,EAAMyG,IAAW,CACpBjR,cAAe,UAAcQ,SAASD,MAGnC,EAAP,KACO6rO,GAAmB,CACtB5hO,MAAK,GAEb,EA2CS,EAAAqxD,iBAzCgB,SACrBuwK,EACAn7N,EACAxO,GAEA,IAAM+H,EAAQ0hO,EAASE,EAAoB5hO,MAAOyG,GAOlD,OALAzG,EAAMwxD,OAAO/qD,EAAY,EAAG,EAAF,KACnBzG,EAAMyG,IAAW,CACpBjR,cAAe,UAAcK,WAG1B,EAAP,KACO+rO,GAAmB,CACtB3pO,MAAK,EACL+H,MAAK,GAEb,EAwBiE,EAAA0xD,uBAtBlC,SAC3B0wK,EACAR,EACA16N,GAEA,IAAMm7N,EAAe,GAEb5xN,EAAqBvJ,EAAmB,iBAMhD,MAJgC,iBAArBuJ,IACP4xN,EAAa5xN,GAAoBmxN,EAAoB5hO,MAAMyQ,IAGxD,EAAP,MACO,aAAKmxN,EAAqB,CAAC,QAAS,QAAS,OAAQ,WAAS,CACjEzhO,MAAOiiO,EAAuBjiO,MAC9BH,MAAOqiO,EACPhiO,KAAMuhO,EAAoBvhO,KAC1BpI,MAAO2pO,EAAoB3pO,OAEnC,C,oYC5JA,kBACA,WACA,WAEA,WAEMisB,IAAc,MACf,EAAAxyB,WAAWwM,IAAK,KACjB,EAAC,EAAAxM,WAAWu2I,QAAS,EAAAq3D,qBAAqBC,GAC1C,EAAC,EAAA7tM,WAAWgqB,WAAY,GACxB,EAAC,EAAAhqB,WAAWiqB,UAAW,GAEvB,EAAC,EAAAjqB,WAAWqB,UAAW,EAAAywI,qBAAqBrvF,SAC5C,EAAC,EAAAziD,WAAWk/K,YAAY,EAExB,EAAC,EAAAl/K,WAAW86H,cAAe,EAAA6gB,oBAC3B,EAAC,EAAA37I,WAAWq2I,aAAc,EAAAsF,oBAC1B,EAAC,EAAA37I,WAAWo/K,WAAY,GACxB,EAAC,EAAAp/K,WAAW+G,OAAQ,GAEpB,EAAC,EAAA/G,WAAWs/K,aAAc,GAE1B,EAAC,EAAAt/K,WAAW42B,UAAW,KACvB,EAAC,EAAA52B,WAAWyxB,aAAc,KAC1B,EAAC,EAAAzxB,WAAWo8E,UAAW,K,GAmE3B,UAhEyB,SAACw0J,GACtB,IAAMx1N,EAAS,EAAH,GAAQoX,GA4DpB,OA1DIo+M,aAAa,EAAbA,EAAepkO,MACf4O,EAAO,EAAApb,WAAWwM,IAAMokO,EAAcpkO,KAGtCokO,aAAa,EAAbA,EAAer6F,UACfn7H,EAAO,EAAApb,WAAWu2I,QAAUq6F,EAAcr6F,SAG1Cq6F,aAAa,EAAbA,EAAe13N,QACfkC,EAAO,EAAApb,WAAWgqB,WAAa4mN,EAAc13N,OAG7C03N,aAAa,EAAbA,EAAejhN,WACfvU,EAAO,EAAApb,WAAWiqB,UAAY2mN,EAAcjhN,UAG5CihN,aAAa,EAAbA,EAAevvO,YACf+Z,EAAO,EAAApb,WAAWqB,UAAYuvO,EAAcvvO,WAG5CuvO,aAAa,EAAbA,EAAe7wM,QACf3kB,EAAO,EAAApb,WAAWk/K,WAAa0xD,EAAc7wM,OAG7C6wM,aAAa,EAAbA,EAAep6F,aACfp7H,EAAO,EAAApb,WAAW86H,cAAgB81G,EAAcp6F,YAGhDo6F,aAAa,EAAbA,EAAev6F,eACfj7H,EAAO,EAAApb,WAAWq2I,aAAeu6F,EAAcv6F,cAG/Cu6F,aAAa,EAAbA,EAAezxD,OACf/jK,EAAO,EAAApb,WAAWo/K,WAAawxD,EAAczxD,MAG7CyxD,aAAa,EAAbA,EAAe7pO,SACfqU,EAAO,EAAApb,WAAW+G,OAAS6pO,EAAc7pO,OAG7C6pO,SAAAA,EAAez6F,OAAOz5H,SAAQ,SAACk/H,GACnB,IAAAxF,EAAgBwF,EAAK,MAAdr4I,EAASq4I,EAAK,KAE7BxgI,EAAO7X,GAA2B6yI,CACtC,KAEIw6F,aAAa,EAAbA,EAAeh6M,YACfxb,EAAO,EAAApb,WAAW42B,WAAY,aAAOg6M,EAAch6M,SAAU,cAAc9T,WAG3E8tN,aAAa,EAAbA,EAAel6F,aACft7H,EAAO,EAAApb,WAAWyxB,aAAgBm/M,EAAcl6F,WAA8B,OAG9Ek6F,aAAa,EAAbA,EAAex0J,YACfhhE,EAAO,EAAApb,WAAWo8E,UAAYw0J,EAAcx0J,UAGzChhE,CACX,C,+BCxFA,WAAgB,KAAO,oCAAoC,KAAO,oCAAoC,KAAO,oCAAoC,OAAS,sCAAsC,SAAW,wC,sBCD3M,IAAYi1E,E,qFAAZ,SAAYA,GACR,gBACA,yBACA,kBACA,gBACA,qBACH,CAND,CAAYA,IAA0B,6BAA1BA,EAA0B,I,q7BCAtC,kBACA,WACA,cACA,WAEA,cAEA,cAEA,WACA,WACA,cACA,cACA,UACA,aACA,UACA,cACA,cACA,WAEMpwF,EAAK,UAAWC,KAAK,WAUrB2wO,EAAqCzwO,EAAMC,MAAK,W,MAC1Cc,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eACXhxB,GAAgB,IAAAwS,aAAY,EAAAw6N,sCAC5BvqO,GAAQ,eAad,OAXAnG,EAAMoL,WAAU,WACZ,IAAM02D,EAAU37D,EAAM,EAAA4R,cAAc+pD,SAC/BA,EAKLrtC,GAAS,IAAAquC,mBAAkBhB,KAJvB,IAAAltC,YAAW,gBAMnB,GAAG,CAACzuB,EAAOpF,IAEP2C,EAAcO,MAEV,gBAAC,UAAU,CAAC9D,MAAOY,EAAE,yCAA0CF,aAAa,sBACxE,uBAAKD,UAAWf,EAAG,YAAakB,EAAE,yCAClC,2BACA,2BACA,uBAAKH,UAAWf,EAAG,UAA8B,QAAnB,EAAA6D,EAAcO,aAAK,eAAEwU,UAK3D/U,EAAcU,GAEV,gBAAC,UAAU,CAACjE,MAAOY,EAAE,2CAA4CF,aAAa,sBAC1E,uBAAKD,UAAWf,EAAG,YACf,2BAAMkB,EAAE,2CACR,2BACA,gBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgB8O,QACvBlc,QAAS,WACL,IAAMgvO,EAAmBxqO,EAAMyqO,YACzB,CACIzsM,SAAUh+B,EAAMyqO,aAEpB,EAAA/rL,QAAQgsL,kBAEd,UAAQj5N,KAAK+4N,EACjB,GAEC5vO,EAAE,+CAQnB,gCACI,gBAAC,UAAkB,MACnB,gBAAC,UAAU,CAACF,aAAa,sBACrB,gBAAC,UAAS,CAACV,MAAOY,EAAE,sCACpB,uBAAKH,UAAWf,EAAG,YAAakB,EAAE,uCAIlD,IAEA,UAAe0vO,C,+BC7Ff,WAAgB,KAAO,kDAAkD,OAAS,oDAAoD,SAAW,sD,umDCDjJ,eACA,WAUA,WAWA,WACA,cACA,cACA,WACA,WACA,WACA,WACA,WAEA,SAAUvuF,EAAcr+I,G,kEAG0C,OAFtDsC,EAAUtC,EAAM,MAEsC,IAAM,IAAAiJ,QAAO,EAAAq1I,0B,OAE3E,OAFM9jI,EAAwD,UAC1C,aAAQlY,EAAOkY,GAE/B,IAGJ,IAAM,IAAArR,MAAI,IAAAo1I,gBAAej8I,K,OAGrB,OAHJ,SAGI,GAAM,UAAmBqrH,+BAA+BrrH,EAAM6jH,iBAAkB,CAC5E1iG,YAAanhB,EAAMmhB,e,cAFrB,kBACF,SAEE,IAHCrjB,EAAK,KAAEq+I,EAAqB,KAK/Br+I,EACA,IAAM,IAAA+I,MAAI,IAAAu1I,gBAAep8I,EAAOlC,KADhC,M,qBAOJ,S,WAAA,OAFMu+I,GAA6BF,GAAyB,IAAI76F,MAAM,EAAG,IAEzE,IAAM,IAAAz6C,MAAI,IAAAy1I,kBAAiBt8I,EAAOq8I,K,IAGtC,SAAUI,EAAgB/+I,G,kEAG0C,OAFxDsC,EAAUtC,EAAM,MAEwC,IAAM,IAAAiJ,QAAO,EAAA+1I,4B,OAE7E,OAFMxkI,EAA0D,UAC5C,aAAQlY,EAAOkY,GAE/B,IAGJ,IAAM,IAAArR,MAAI,IAAA81I,kBAAiB38I,K,OAGvB,OAHJ,SAGI,GAAM,UAAmBsrH,iCAAiCtrH,EAAM6jH,iBAAkB,CAC9E1iG,YAAanhB,EAAMmhB,e,cAFrB,kBACF,SAEE,IAHCrjB,EAAK,KAAE++I,EAAuB,KAKjC/+I,EACA,IAAM,IAAA+I,MAAI,IAAAi2I,kBAAiB98I,EAAOlC,KADlC,M,qBAOJ,S,WAAA,OAFMi/I,GAA+BF,GAA2B,IAAIv7F,MAAM,EAAG,IAE7E,IAAM,IAAAz6C,MAAI,IAAAm2I,oBAAmBh9I,EAAO+8I,K,IAGxC,SAAUY,EAAWjgJ,G,kEAGuD,OAFhEmmH,EAA8DnmH,EAAM,iBAAlD22C,EAA4C32C,EAAM,QAAzCurD,EAAmCvrD,EAAM,UAA9BmnF,EAAwBnnF,EAAM,oBAEJ,IAAM,IAAAiJ,QAAO,EAAAogB,gC,OACrF,OADwE,SACtDnpB,QACd,IAGJ,IAAM,IAAAiJ,MAAI,IAAAg3I,iB,OAGN,OAHJ,SAGI,GAAM,UAAmBtyB,+BAA+B1H,EAAkB,CACtExvE,QAAO,EACP4U,UAAS,EACT47B,oBAAmB,K,cAJrB,kBACF,SAIE,KALC/mF,EAAK,MAOR,IAAM,IAAA+I,MAAI,IAAAk3I,aAAYjgJ,KADtB,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAm3I,mB,OAEV,OAFA,SAEA,IAAM,IAAAn3I,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB6E,mBAC1BzxB,KAAM,CAAC,O,OAJnB,S,wBAUJ,EAAAmkO,6BAA6BtvM,KAAK,CAAC,GACnC,EAAAq/K,8BAA8Br/K,KAAK,CAAC,GACpC,EAAAY,2BAA2BZ,KAAK,CAAC,G,QAGrC,SAAUuvM,EAAaltO,G,4DAGqD,OAFhEmmH,EAAqBnmH,EAAM,iBAEqC,IAAM,IAAAiJ,QAAO,EAAAogB,gC,OACrF,OADwE,SACtDnpB,QACd,IAGJ,IAAM,IAAAiJ,MAAI,IAAAg3I,iB,OAE8D,OAFxE,SAEwE,GAAM,UAAmBryB,iBAC7F3H,I,cADE,kBAAkE,SAEvE,KAFM/lH,EAAK,MAIR,IAAM,IAAA+I,MAAI,IAAAk3I,aAAYjgJ,KADtB,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAm3I,mB,OAEV,OAFA,SAEA,IAAM,IAAAn3I,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB8E,qBAC1B1xB,KAAM,CAAC,O,OAJnB,S,wBAUJ,EAAAmkO,6BAA6BtvM,KAAK,CAAC,GACnC,EAAAq/K,8BAA8Br/K,KAAK,CAAC,GACpC,EAAAY,2BAA2BZ,KAAK,CAAC,G,QAUrC,UAPA,W,kDACI,UAAM,IAAA/zB,WAAU,EAAAy4I,mBAAoBhE,I,OACpC,OADA,SACA,IAAM,IAAAz0I,WAAU,EAAA24I,qBAAsBxD,I,OACtC,OADA,SACA,IAAM,IAAAn1I,WAAU,EAAA63K,OAAQxhC,I,OACxB,OADA,SACA,IAAM,IAAAr2I,WAAU,EAAA+3K,SAAUurD,I,cAA1B,S,uCC3JJ,WAAgB,KAAO,yBAAyB,MAAQ,0BAA0B,OAAS,2BAA2B,SAAW,6B,+BCAjI,WAAgB,OAAS,qCAAqC,cAAgB,4CAA4C,eAAe,2CAA2C,uBAAuB,mDAAmD,KAAO,mCAAmC,aAAe,2CAA2C,cAAc,0CAA0C,eAAe,2CAA2C,oBAAoB,gDAAgD,iBAAiB,6CAA6C,aAAa,yCAAyC,cAAc,0CAA0C,mCAAmC,+DAA+D,OAAS,qCAAqC,SAAW,uC,umDCD/1B,eACA,WACA,cACA,WACA,WACA,UAEA,cAEA,SAAUC,EAAkBntO,G,kEAGuC,OAFvDxB,EAAYwB,EAAM,QAEqC,IAAM,IAAAiJ,QAAO,EAAAoyC,uB,OAC5E,OADMx7C,EAAyD,UAC1D,aAAiBA,EAAerB,GAIrC,IAAM,IAAA2K,MAAI,IAAAy7J,wBAHN,I,OAMA,OAHJ,SAGI,GAAM,UAAkB15H,iB,cADtB,kBACF,SAAuC,IADpC9qC,EAAK,KAAEgtO,EAAW,KAGrBhtO,EACA,IAAM,IAAA+I,MAAI,IAAA67J,oBAAmB5kK,KAD7B,M,qBAaJ,S,WAAA,OARM6C,GAAYmqO,GAAe,IAAIhvL,QAAkB,SAACC,EAAKgvL,GAKzD,OAJIA,EAAWp4N,OACXopC,EAAIgvL,EAAWp4N,MAAQo4N,GAGpBhvL,CACX,GAAG,CAAC,GAEJ,IAAM,IAAAl1C,MAAI,IAAA27J,sBAAqB7hK,K,IAOnC,UAJA,W,kDACI,UAAM,IAAA2G,WAAU,CAAC,EAAAovD,2BAA4B,EAAA2rG,gBAAiBwoE,I,cAA9D,S,uCCtCJ,WAAgB,OAAS,oCAAoC,SAAW,sC,+BCAxE,WAAgB,MAAQ,mDAAmD,OAAS,oDAAoD,SAAW,sD,mVCCtI,EAAAx0C,0BAA4B,SACrCmU,EACAnpK,G,MAEA,IAAKA,IAAYmpK,EACb,OAAO,KAMX,KAHqC,QAAf,EAAAnpK,aAAO,EAAPA,EAAS8L,cAAM,eAAE69B,MAAK,SAAC39B,GACzC,SAASA,aAAK,EAALA,EAAOgsK,mBACpB,KAEI,OAAO,KAGX,IAAMv5I,EAAW,KACV0qI,GAeP,OAZA1qI,EAAYg0H,UAAYzyJ,EAAQ8L,OAAO/7B,KAAI,SAACi8B,G,YACxC,MAAO,CACHo9B,aAAcp9B,EAAMo9B,cAAgB,KACpCztE,KAAMqwC,EAAMrwC,KACZyjC,QAAS,EAAF,KACA4M,EAAM5M,SAAO,CAChB0O,UAAmC,QAAzB,EAAA9B,aAAK,EAALA,EAAOgsK,0BAAkB,eAAElqK,YAA0B,QAAd,EAAA9B,aAAK,EAALA,EAAO5M,eAAO,eAAE0O,UACjEC,WAAoC,QAAzB,EAAA/B,aAAK,EAALA,EAAOgsK,0BAAkB,eAAEjqK,aAA2B,QAAd,EAAA/B,aAAK,EAALA,EAAO5M,eAAO,eAAE2O,aAG/E,IAEO0wB,CACX,C,u8CClCA,kBAGA,cACA,cACA,WACA,WAKA,cAGA,cACA,cACA,cACA,YACA,cAEMpmE,EAAK,UAAWC,KAAK,WA0K3B,UA9I0C,SAACI,GAEnC,IAAAU,EAcAV,EAAK,UAbL8F,EAaA9F,EAAK,eAZL8a,EAYA9a,EAAK,OAXLkF,EAWAlF,EAAK,SAVLmF,EAUAnF,EAAK,WATLoF,EASApF,EAAK,SARLyF,EAQAzF,EAAK,gBAPLuC,EAOAvC,EAAK,gBANLqF,EAMArF,EAAK,WALL0F,EAKA1F,EAAK,YAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFLwF,EAEAxF,EAAK,WADLy4C,EACAz4C,EAAK,qBAEDa,GAAM,IAAAC,kBAAgB,EAExBiF,GAAgD,IAAAC,cAAY,SAACC,GAC/D,OAAO,UAAkBgrO,mBAAmBhrO,GAAO0yC,MAAK,SAACvrC,G,MAC/C,IAAkBA,EAAQ,GAAzBrJ,EAAK,KAAEoJ,EAAM,KACpB,OAAIpJ,EACO,CAACA,EAAO,MAaZ,CAAC,MATW,QAAf,EAAAoJ,aAAM,EAANA,EAAQ6R,eAAO,eAAE3H,KAAI,SAAC4H,GAClB,MAAO,CACH/S,GAAI+S,EAAK/S,GACT0M,KAAMqG,EAAKrG,KACXjL,OAAQsR,EAAKtR,OACbwjB,YAAalS,EAAKkS,YAE1B,MAAM,GAGd,GACJ,GAAG,IAEGynB,GAAsB,IAAAC,wBAAgC,CACxD/yC,eAAc,EACdC,eAAc,EACda,SAAU,CAAC,IAuETY,EAAiB,SAAChB,GAA4B,OAAAA,EAAO0F,EAAP,EAEpD,OACI,wBAAC,UAA2B,CACxBxL,UAAWA,EACX2yF,eAAgBv4E,EAChBpV,YAAaA,EACbvD,QAASy2C,EAAoBz2C,QAC7BkD,WAAYA,EACZH,SA7Ea,SAAC4V,GAClB,IAAMw4E,EAAW,IAAIxkE,IAAIhU,GAEnB3Y,EAAUy2C,EAAoBz2C,QAAQ6sB,QAAO,SAACxoB,GAChD,IAAMuyC,EAAcvxC,EAAehB,GACnC,OAAO8sF,EAASrkE,IAAI8pB,EACxB,IAEA7zC,EAAS4V,EAAQ3Y,EACrB,EAqEQiD,SAAUA,EACVD,WAAYA,EACZiC,cAAewxC,EAAoBxxC,cACnCN,aA5Da,SAACN,EAA6Bd,GAC/C,OAAKc,EAKD,wBAAC,UAA0B,CACvB9F,UAAWf,EAAG,UACdq5C,iBAAe,EACf7sC,KAAM3F,EAAO2qB,YAAc,wBAAC,UAAQ,CAACA,YAAa3qB,EAAO2qB,cAAkB,KAC3EpqB,MAAOP,EAAOoS,MAAQ,GACtBwW,YAAa5oB,EAAOmH,QAAU,KAT3BjI,CAYf,EA+CQy0E,qBA7Cc,SAACh4E,EAAqCuD,GACxD,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAOyD,EAGX,GAAwB,KAApBvD,aAAO,EAAPA,EAASF,QAAc,CACvB,IAAMsxF,GAAcpxF,aAAO,EAAPA,EAAU,KAAM,KAEpC,OACI,wBAAC,UAA0B,CACvB62C,iBAAe,EACf7sC,MAAMonF,aAAW,EAAXA,EAAapiE,aAAc,wBAAC,UAAQ,CAACA,YAAaoiE,EAAYpiE,cAAkB,KACtFpqB,OAAOwsF,aAAW,EAAXA,EAAa36E,OAAQ,GAC5BwW,aAAamkE,aAAW,EAAXA,EAAa5lF,SAAU,IAGhD,CAEA,OACI,wBAAC,UAA0B,CACvBqrC,iBAAe,EACfjyC,MAAOlG,EAAE,sDACTuuB,YACI,wBAAC,UAAS,CAAC9a,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC9CM,aAAO,EAAPA,EAASF,SAAU,IAKxC,EAiBQuF,eAAgBA,EAChBhC,WAAYA,EACZkX,eAAgB,SAACC,GAAa,+BAAC,UAAW,KAAK,EAAAu0N,iBAAiBr0N,gBAAgBF,IAAlD,EAC9BrX,OAAQA,EACRC,QAxEoC,WACpCA,GACAA,GAER,EAqEQhD,gBAAiBA,EACjByM,UAAW4pC,EAAoBp1C,cAAcK,SAAW40C,EAAqB50C,QAC7E6D,QAASjC,EA/EG,WAChBP,EAAS,GAAI,GACjB,OA6EiDoB,GAGrD,C,s9CC5LA,kBACA,WAQM6qO,EAAsC,SAACnxO,GACjC,IAAA2B,EAA0C3B,EAAK,UAApC0W,EAA+B1W,EAAK,YAAvBoW,EAAkBpW,EAAK,KAAdk5C,EAAI,EAAKl5C,EAA5C,oCAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAAgB6nC,GACvF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,yBACI,yBACI,yBACI,yBACI,yBACI,yBACI,wBACIC,EAAE,gBACF1H,UAAU,sMAEd,yBACI,wBACI2C,KAAM7K,EACN4P,EAAE,mEACF1H,UAAU,oOAEd,wBACI2C,KAAMkK,EACNnF,EAAE,wIACF1H,UAAU,4OAY1D,EAEAsnO,EAAkBr/N,YAAc,oBAEhC,IAAMC,EAAqB,CACvBqE,KAAM,GACNzU,UAAW,EAAAC,qBAAqB0Q,OAChCoE,YAAa,EAAA9U,qBAAqBC,UAG7B,EAAAkQ,WAAAA,EAET,UAAeo/N,EAEF,EAAAC,uBAAyB,CAClCnhJ,eAAgB,WACZ,MAAO,CACH75E,KAAM,GACNzU,UAAW,EAAAC,qBAAqB0Q,OAChCoE,YAAa,EAAA9U,qBAAqBC,SAE1C,E,0zCCnEJ,eACA,WAEA,WACA,WACA,cACA,WACA,WACA,cACA,cAGA,SAAUwvO,EAAmB1tO,G,6EACjBsC,EAAUtC,EAAM,OAEpB,MACA,IAAM,IAAAmJ,MAAI,IAAA+2D,W,OACV,OADA,SACA,I,OAGsD,UAAM,IAAAj3D,QAAO,EAAAo+K,sB,OAER,OAFzD7sK,EAAoD,SACpDmzN,GAAgB,IAAAhzN,kBAAiBH,EAAWlY,GACa,IAAM,IAAA2G,QAAO,EAAAs+K,uB,OAG5E,OAHM1nL,EAAyD,SACzD+a,GAAgB,aAAiB/a,GAEnC8tO,IAAkB/yN,EAClB,KAGCtY,aAAK,EAALA,EAAOmhB,aAIZ,IAAM,IAAAta,MAAI,IAAAykO,mBAAkBtrO,KAHxB,I,cAGJ,SAEIlC,EAAsB,KACtB0I,EAA0B,MAE1BxG,aAAK,EAALA,EAAOnB,aAAc,EAAAiiI,6BAA8B9gI,aAAK,EAALA,EAAOgsD,aAAc,EAAA3I,cAActlC,QAAtF,MAEI,GAAM,UAAmBktG,sBAAsBjrH,EAAMmhB,c,QAErDja,OAHEA,EACF,eAEM,EAANA,EAAS,IACTV,EAAOU,aAAM,EAANA,EAAS,GAEhBpJ,GAAQoJ,aAAM,EAANA,EAAS,KAAM,IAAIk4I,MAAM,+BAAwBl4I,aAAM,EAANA,EAAS,K,wBAItElH,aAAK,EAALA,EAAOnB,aAAc,EAAAiiI,6BAA8B9gI,aAAK,EAALA,EAAOgsD,aAAc,EAAA3I,cAAcvlC,MAAtF,MAEI,GAAM,UAAmBotG,oBAAoBlrH,EAAMmhB,c,QAEnDja,OAHEA,EACF,eAEM,EAANA,EAAS,IACTV,EAAOU,aAAM,EAANA,EAAS,GAEhBpJ,GAAQoJ,aAAM,EAANA,EAAS,KAAM,IAAIk4I,MAAM,+BAAwBl4I,aAAM,EAANA,EAAS,K,wBAItElH,aAAK,EAALA,EAAOnB,aAAc,EAAAiiI,6BAA8B9gI,aAAK,EAALA,EAAOgsD,aAAc,EAAA3I,cAActlC,QAAtF,OAEI,GAAM,UAAkBwtN,6BAA6BvrO,EAAMmhB,c,SAE3Dja,OAHEA,EACF,eAEM,EAANA,EAAS,IACTV,EAAOU,aAAM,EAANA,EAAS,GAEhBpJ,GAAQoJ,aAAM,EAANA,EAAS,KAAM,IAAIk4I,MAAM,+BAAwBl4I,aAAM,EAANA,EAAS,K,0BAItElH,aAAK,EAALA,EAAOnB,aAAc,EAAAiiI,6BAA8B9gI,aAAK,EAALA,EAAOgsD,aAAc,EAAA3I,cAAcvlC,MAAtF,OAEI,GAAM,UAAkB0tN,2BAA2BxrO,EAAMmhB,c,SAEzDja,OAHEA,EACF,eAEM,EAANA,EAAS,IACTV,EAAOU,aAAM,EAANA,EAAS,GAEhBpJ,GAAQoJ,aAAM,EAANA,EAAS,KAAM,IAAIk4I,MAAM,+BAAwBl4I,aAAM,EAANA,EAAS,K,0BAItEpJ,EACA,IAAM,IAAA+I,MAAI,IAAA4kO,mBAAkBzrO,EAAOlC,KADnC,O,QAEA,OADA,SACA,I,eAGA0I,EACA,IAAM,IAAAK,MAAI,IAAA6kO,qBAAoB1rO,EAAOwG,KADrC,O,QACA,S,iCAQR,UAJA,W,kDACI,UAAM,IAAAc,WAAU,EAAAqkO,yBAA0BP,I,cAA1C,S,sCC5FJ,WAAgB,KAAO,yBAAyB,GAAK,uBAAuB,KAAO,yBAAyB,aAAe,iCAAiC,OAAS,2BAA2B,SAAW,6B,g8CCD3M,kBACA,WAEA,cACA,cACA,cACA,cAIA,cACA,cACA,WACA,WACA,WAKA,WACA,WAUA,WAWA,cACA,cACA,aACA,cACA,cACA,WACA,WAOA,cACA,cACA,WACA,cACA,WACA,cACA,cACA,SACA,cACA,WACA,cACA,aACA,WACA,cAGA,cAGA,cACA,cACA,cACA,WACA,WACA,cACA,cACA,YACA,YACA,YACA,YAEA,YACA,YACA,eACA,eACA,YACA,eAGA,eAGA,YACA,eACA,cACA,WAEM1xO,GAAK,UAAWC,KAAK,WAMrBiyO,GAAc,SAACC,GACjB,OAAO,OAAIA,IAAiB,GAAEz6N,KAAI,SAAC0M,GAAU,OAAAA,EAAM7X,EAAN,IAAU8iB,OAAO,EAAA4/B,SAClE,EAEMzQ,KAAW,MACZ,EAAAlvC,QAAQo6B,QAAS,iCAClB,EAAC,EAAAp6B,QAAQm8B,SAAU,kC,GAGjB2mM,GAAqCjyO,EAAMC,MAAK,SAACC,G,MAC3C60C,EAAsB70C,EAAK,kBAE7B0hC,GAAqB,gBAEnBr+B,GAAc,eAAmB,UAEnC2uO,GAAyB,IAAAh8N,cAAY,IAAAi8N,8BAA6B5uO,IAUlE6uO,GAAyB,IAAAl8N,cAAY,IAAAm8N,8BAA6B9uO,IAmBlEm+B,GAAkB,KAAAC,sBAEhB5gC,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACP7H,EAILkxB,GAAS,IAAA67F,uBAAsB/sH,KAH3B,KAAAqxB,YAAW,gDAInB,GAAG,CAACH,EAAUlxB,IAER,SAAuB,KAAA8hE,kBAAc,MACtC,EAAAttD,cAAcu6N,aAAa,IAAA/sK,yBAC5B,EAAC,EAAAxtD,cAAcw6N,aAAa,IAAA9sK,kBAAiC,CACzDtgE,MAAO,EAAAqtO,eAAeh2L,YACtBopB,UAAW,EAAAC,kBAAkBC,OAEjC,EAAC,EAAA/tD,cAAc06N,gBAAgB,IAAAzsK,kBAAgC,CAAC,GAChE,EAAC,EAAAjuD,cAAc26N,YAAY,KAAAC,cAAY,KAAAC,iBAAyBhvL,OAAO5oC,OAAO,EAAA7L,UAAW,EAAAA,QAAQo6B,Q,IACnG,GARKpjC,GAAK,KAAE8/D,GAAW,KAUnB,KAA4CjmE,EAAMuE,SAAyB,IAAIyqB,KAAM,GAApFgjN,GAAiB,MAAEa,GAAoB,MAExCxkO,IAAQ,IAAA6H,cAAY,IAAA48N,mBAAkBvvO,IACtCwvO,IAAc,IAAA78N,cAAY,IAAA88N,mBAAkBzvO,IAC5CkjK,IAAY,IAAAvwJ,cAAY,IAAA+8N,mBAAkB1vO,IAE1C2vO,IAAkB,KAAA1zH,uBAAsB,GAAAl1E,uBAAuB69B,cAC/DgrK,GAAcnzO,EAAMkG,aAAY,WAClCw7B,EAAgB,CACZv+B,KAAM,GAAAmnC,uBAAuB69B,cAErC,GAAG,CAACzmC,IAEE0xM,GAAiB,WACd7vO,EAILm+B,EAAgB,CACZv+B,KAAM,GAAAmnC,uBAAuB89B,SAC7B7kE,UAAS,KALT,KAAAqxB,YAAW,oCAOnB,EAEMsxC,GAAe//D,GAAM,EAAA4R,cAAcw6N,YACnC59N,GAAaxO,GAAM,EAAA4R,cAAcu6N,YACjCl4N,GAAejU,GAAM,EAAA4R,cAAc06N,eAEnC59H,GAAY1uG,GAAM,EAAA4R,cAAc26N,YAAc,EAAAvjO,QAAQo6B,OAEtD,GADOwpM,GAAYp+N,KACc,CAAC,EAAhCw3C,GAAG,OAAEzoD,GAAa,iBAE1B1D,EAAMoL,WAAU,WACZ,GAAK7H,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,GAAc2uC,IAChEpgF,GAAS,IAAAk7F,iBAAgBh7G,GAAYxO,EAAO5C,IAE5CkxB,GAAS,IAAA4+M,kBAAiB9vO,GAJ1B,MAFI,KAAAqxB,YAAW,gDAOnB,GAAG,CAACH,EAAU9f,GAAYuxD,GAAc9rD,GAAcy6F,GAAWtxG,IAEjE,IAAM2+B,GAAqBliC,EAAMkG,aAAY,WACzC,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,GAAc2uC,IAChEpgF,GAAS,IAAAk7F,iBAAgBh7G,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,KAExExN,GAAS,IAAA4+M,kBAAiB9vO,EAAW,CAAE0+B,eAAe,IAJtD,MAFI,KAAArN,YAAW,wCAOnB,GAAG,CAACH,EAAU9f,GAAYyF,GAAc8rD,GAAc2uC,GAAWtxG,KAEjE,IAAA4+B,qBAAoB,EAAAmxM,qBAAsBpxM,IAE1C,IAAMiI,GAAuBnqC,EAAMkG,aAAY,WAC3C,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,GAAc2uC,IAChEpgF,GAAS,IAAAk7F,iBAAgBh7G,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,IAFxE,MAFI,KAAArN,YAAW,0CAKnB,GAAG,CAACH,EAAU9f,GAAYyF,GAAc8rD,GAAc2uC,GAAWtxG,IAE3Dy+B,GAAkChiC,EAAMkG,aAAY,WACtD,GAAK3C,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,GAAc2uC,IAChEpgF,GAAS,IAAAk7F,iBAAgBh7G,GAAYxO,EAAO5C,EAAW,CAAE0+B,eAAe,KAExExN,GAAS,IAAA4+M,kBAAiB9vO,EAAW,CAAE0+B,eAAe,IAJtD,MAFI,KAAArN,YAAW,qDAOnB,GAAG,CAACH,EAAU9f,GAAYyF,GAAc8rD,GAAc2uC,GAAWtxG,KACjE,aAA4By+B,IAE5B,IAAMuxM,GAASvzO,EAAM0E,SAAQ,WACzB,OAAQynD,IAAO,IAAI50C,KAAI,SAACnL,GAAkB,OAAAq6J,GAAUr6J,EAAV,GAC9C,GAAG,CAAC+/C,GAAKs6G,KAETzmK,EAAMoL,WAAU,WACZynO,GAAqB,IAAI7jN,IAC7B,GAAG,CAACm9B,KAEJ,IAAMK,GAAWxsD,EAAMkG,aACnB,SAACyO,G,MACGk+N,GAAqB,IAAI7jN,KAEzBi3C,KAAW,MACN,EAAAluD,cAAcu6N,YAAa39N,E,GAEpC,GAEA,CAACk+N,GAAsB1sO,KAGrBsmD,GAAiBzsD,EAAMkG,aACzB,SAAC,G,IAAEyO,EAAU,aACT63C,GAAS73C,EACb,GACA,CAAC63C,MAEL,IAAArqB,qBAAoB,EAAAqxM,wBAAyB/mL,IAE7C,IAAM+Z,GAA0DxmE,EAAM0E,SAClE,WACI,OACI,CACIuC,MAAOlG,EAAE,mDACToE,MAAO,EAAAqtO,eAAeh2L,aAE1Bq4D,KAAc,EAAA1lG,QAAQm8B,QAChB,CACIrkC,MAAOlG,EAAE,kDACToE,MAAO,EAAAqtO,eAAeiB,aAE1B,MACRvkN,OAAO,EAAA4/B,SAXT,GAYJ,CAAC/tD,EAAG8zG,KAUFpuC,GAAwB,SAACC,G,MAC3BT,KAAW,MACN,EAAAluD,cAAcu6N,YAAa,EAC5B,EAAC,EAAAv6N,cAAc06N,eAAgB/rK,E,GAEvC,EASMi+F,IAAmB,IAAAzuJ,cAAY,IAAA0uJ,6BAA4BrhK,IACjEvD,EAAMoL,WAAU,W,MACRu5J,GAAiBvgK,IACjB6hE,KAAW,MACN,EAAAluD,cAAc06N,oBAAgBjsO,EAC/B,EAAC,EAAAuR,cAAcu6N,YAAa,E,GAIxC,GAAG,CAAC3tE,GAAiBvgK,KAErB,IAAMsvO,IAA2B,eAC3BC,IAA4B,eAC5BC,IAAmC,eAEnCC,IAAc,IAAA39N,cAAY,IAAA49N,mBAAkBvwO,IAE5CwwO,GAAkB,SAChBl/H,KAAc,EAAA1lG,QAAQo6B,OACpB,CACI,CACItiC,MACI,gBAAC,UAA0B,CACvBoF,KACI,gBAAC,WAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBC,SAClCF,UAAW,EAAAC,qBAAqB8R,cAGxC3M,MAAOlG,EAAE,wDAGjBqE,SAAU,WACN,GAAK7B,EAAL,CAIA,IAAM4oD,EAAM4lL,GAAYC,IAExB4B,GAAiC9qM,QAAQ,CACrCopB,OAAQ/F,EAAI50C,KAAI,SAACnL,GACb,MAAO,CACHA,GAAE,EAEV,IACApH,UAAWzB,GATf,MAFI,KAAAqxB,YAAW,mDAanB,GAEJ,GAAAsmE,kBAAkBC,UAClB,CACIl0F,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBkS,YAClD/M,MAAOlG,EAAE,wCAGjBqE,SAAU,WACN,GAAK7B,EAAL,CAIA,IAAM4oD,EAAM4lL,GAAYC,IAExB0B,GAAyB5qM,QAAQ,CAC7BopB,OAAQ/F,EAAI50C,KAAI,SAACnL,G,MACb,MAAO,CACHA,GAAE,EACFkb,aAA0B,QAAb,EAAAm/I,GAAUr6J,UAAG,eAAEkb,cAAe,GAEnD,IACAtiB,UAAWzB,GAVf,MAFI,KAAAqxB,YAAW,2CAcnB,IAGR,KAAG,IACTigF,KAAc,EAAA1lG,QAAQm8B,QAChB,CACIrkC,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAgB,CAAC+zD,YAAa,EAAAt+D,qBAAqBsS,cAC1DnN,MAAOlG,EAAE,yCAGjBqE,SAAU,WACN,GAAK7B,EAAL,CAIA,IAAM4oD,EAAM4lL,GAAYC,IAExB2B,GAA0B7qM,QAAQ,CAC9BopB,OAAQ/F,EAAI50C,KAAI,SAACnL,GACb,IAAM6X,EAAQwiJ,GAAUr6J,GAExB,MAAO,CACHA,GAAE,EACFkb,aAAarD,aAAK,EAALA,EAAOqD,cAAe,GACnCkK,UAAW,KACX4T,WAAY,KAEpB,IACApgC,UAAWzB,GAdf,MAFI,KAAAqxB,YAAW,4CAkBnB,GAEJ,O,GAGJo/M,IAAuB,IAAA99N,aAAY,EAAAkjI,0CAEnCnP,IAAsB,IAAA/zH,cAAY,IAAAwuJ,gCAA+BnhK,KAgDvE,IAAA6H,YAAU,WACNynO,GAAqB,IAAI7jN,IAC7B,GAAG,CAACglN,GAAsB/pG,KAE1B,IAgBMgqG,GAAY1wO,IAAc,EAAA0jI,2BAU1BitG,GACF,gBAAC,WAAW,CACRtzO,UAAWf,GAAG,OAAQ,CAClB,kBAAmBo0O,OAGtB,aAAI,EAAA9kO,SAAS,SAACkE,GAAQ,OACnB,gBAAC,UAAM,CACHoE,iBAAiB,IACjB5E,IAAKQ,EACLzS,UAAWf,GAAG,aACd+B,SAAUyR,IAAQ,EAAAlE,QAAQo6B,SAAYsqM,cAAW,EAAXA,GAAah2L,kBAAmB,gBAAC,UAAgB,MAAM,KAC7Fz8C,MAAO,EAAA2N,gBAAgB6E,YACvBjS,QAAS,YArBD,SAAC0R,G,MACrB4yD,KAAW,MACN,EAAAluD,cAAcu6N,YAAa,EAC5B,EAAC,EAAAv6N,cAAc26N,WAAYr/N,EAC3B,EAAC,EAAA0E,cAAcw6N,iBAAa/rO,E,GAEpC,CAgBoB2tO,CAAgB9gO,EACpB,EACAG,UAAWH,IAAQwhG,IAElB9zG,EAAEs9C,GAAYhrC,IAZA,MAkB/B,aAAgC42H,GAAqB,CACjD0pG,GACAD,GACAE,KAGJ,IAAMQ,IAA6B,KAAAC,iCAyDnC,OAxDA,aAAgCnC,EAAwB,CAACkC,KAyDrD,gCACI,gBAAC,UAAc,MACTH,IAAaC,GACf,gBAAC,UAAc,KACX,gBAAC,UAAoB,CACjBnoM,gBAAc,EACdC,cACI,gCACKioM,IAAaC,GACd,gBAAC,UAAc,CACX/zO,MAAOY,EAAE,oCACTwB,SAAU2wO,GACVvxO,QAASwxO,KAEb,gBAAC,UAAY,CACT1wO,gBAAiB,EAAAqkE,gCAAgCC,KACjD1/D,cAAe6+D,GACf7jE,QAASmkE,GACTphE,SA9TP,SAACmsC,G,MACtB00B,KAAW,MACN,EAAAluD,cAAcu6N,YAAa,EAC5B,EAAC,EAAAv6N,cAAcw6N,YAAahhM,E,GAEpC,KA6ToBrF,eACI,kCACO8lM,GAAkB17N,MACjB,gBAAC,UAAY,CACTjU,QAAS0xO,GACT17L,QAASt3C,EAAE,sCACXwE,YAAY,IAGpB,gBAAC,WAAwB,CACrB+uO,eAAa,EACbC,gBAAiB3yM,EAAmB4yM,gBACpCtlO,UAAWkjO,EAAuBruO,QAClC0wO,uBA1eA,WAC5B,GAAKlxO,EAAL,CAIA,IAAM4C,GAAQ,IAAAggE,uBAAsB/rD,GAAc8rD,GAAc2uC,IAChEpgF,GAAS,IAAA49F,iBAAgB9uH,EAAW4C,GAFpC,MAFI,KAAAyuB,YAAW,6CAKnB,EAoegC8/M,eAnfR,WACfnxO,EAILkxB,GAAS,IAAA49F,iBAAgB9uH,EAAW,CAAC,KAHjC,KAAAqxB,YAAW,qCAInB,EA8egC+/M,eAAgBP,GAA2BQ,oBAE9ChzM,aAAkB,EAAlBA,EAAoBizM,eACjB,gBAAC,UAAM,CAACzzO,MAAO,EAAA2N,gBAAgB8O,QAAS1a,KAAK,SAASxB,QAASyxO,IAC1DryO,EAAE,yCAEP,MAGZusD,eACI,gBAAC,UAAe,CACZE,WAAS,EACTpzC,aAAcA,GACdD,gBAAiBssD,OAzGlB,WACvB,KAAK,KAAAr6B,2BAA0BmnM,GAAQ7vO,IACnC,OAAO,KAGX,GAAIA,cAAa,EAAbA,GAAeO,MACf,OAAO,gBAAC,UAAU,CAACA,MAAOP,cAAa,EAAbA,GAAeO,MAAOooC,QAASlC,KAGvD,OAAuD,KAAAmC,cACzD,CAACnmC,GAAM,EAAA4R,cAAc26N,aAAe,EAAAvjO,QAAQo6B,OAASpjC,GAAM,EAAA4R,cAAc26N,WAAa,MACtF,CAACvsO,GAAM,EAAA4R,cAAc06N,iBAFjBlmM,EAAsB,yBAAEC,EAAwB,2BAKxD,OAAI9oC,cAAa,EAAbA,GAAeU,KAAMooC,EAEjB,gBAAC,UAAY,CACTC,SAAU,EAAAC,sBAAsBC,SAChCxsC,MAAOY,EAAE,qDACTuuB,YAAavuB,EAAE,2DACf6rC,gBAAgBhL,aAAkB,EAAlBA,EAAoBizM,eACpC5tK,YAAalmE,EAAE,sDACfmmE,YAAa,EAAAn4D,gBAAgBC,UAC7Bm4D,cAAe,WAAM,OAAAV,GAAsB,CAAC,EAAvB,EACrB5lE,aAAa,uCAKrB6C,cAAa,EAAbA,GAAeU,KAAMmoC,EAEjB,gBAAC,UAAY,CACTE,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,+DACTuuB,YAAY,GACZzuB,aAAa,kCACb+rC,cAAc,IAMtB,gBAAC,UAAY,CACTH,SAAU,EAAAC,sBAAsBG,MAChC1sC,MAAOY,EAAE,iDACTuuB,YAAavuB,EAAE,uDACf6rC,cAAY,EACZq6B,YAAalmE,EAAE,kDACfomE,cAAeisK,GACfvyO,aAAa,SAGzB,CAyDiBisC,GACD,gBAAC,UAAW,CACRymM,OAAQA,GACRh/M,YA3KI,SAAC1oB,EAAyBoY,GACzCA,EAAM7X,KAGN7I,EAKLm+B,EAAgB,CACZv+B,KAAM,GAAAmnC,uBAAuB6mB,aAC7B3W,QAASv2B,EAAM7X,GACf7I,UAAS,KAPT,KAAAqxB,YAAW,sCASnB,EA8JoBo9M,kBAAmBA,GACnB8C,eAAgBjC,GAChB3jO,UAAWxL,cAAa,EAAbA,GAAeK,QAC1B8wO,iBAAiBjzM,aAAkB,EAAlBA,EAAoBizM,eACrC9/L,kBAAmBA,EACnB8/D,UAAWA,OAIvB,gBAAC,UAAY,KACT,gBAAC,UAAU,CAACppG,QAASkJ,GAAY7R,MAAOuL,cAAK,EAALA,GAAO2/C,UAAWxB,SAAUA,MAExE,gBAAC,UAA6B,CAC1B2F,UAAW,EAAA3I,cAAcvlC,MACzBtX,KAAM+mO,GAAyB/mO,KAC/B6gB,UA7OiB,SAAC7gB,EAAqC4pF,GAC/D,IAAMpqC,EAAMx/C,EAAKulD,OAAO36C,KAAI,SAACykF,GAAU,OAAAA,EAAM5vF,EAAN,IACvCqoB,GAAS,IAAAsgN,sBAAqB5oL,EAAKx/C,EAAK3H,UAAWuxF,GACvD,EA2OY5nF,SAAU+kO,GAAyB/kO,SACnCjO,QAASgzO,GAAyBhzO,QAClCgD,cAAeumI,KAEnB,gBAAC,UAAwB,CACrBjlI,UAAWzB,EACX4uD,UAAW,EAAA3I,cAAcvlC,MACzBtX,KAAMgnO,GAA0BhnO,KAChC6gB,UAnNkB,SAC1B0kH,EACA8iG,GAEKzxO,EAILkxB,GAAS,IAAAwgN,yBAAwB1xO,EAAWyxO,KAHxC,KAAApgN,YAAW,2CAInB,EA2MYjmB,SAAUglO,GAA0BhlO,SACpCjO,QAASizO,GAA0BjzO,QACnCgD,cAAeumI,KAEnB,gBAAC,WAA0B,CACvB93E,UAAW,EAAA3I,cAAcvlC,MACzBvgB,cAAewuO,EACfvlO,KAAMynO,GAA2BznO,KACjCjM,QAAS0zO,GAA2B1zO,QACpCiO,SAAUylO,GAA2BzlO,SACrCumO,YAtjBY,SAACvoO,GAChBpJ,EAILkxB,GAAS,IAAA09F,iBAAgB5uH,EAAWoJ,EAAKiW,QAHrC,KAAAgS,YAAW,qCAInB,IAkjBQ,gBAAC,WAAoC,CACjC5vB,UAAWzB,EACX4uD,UAAW,EAAA3I,cAAcvlC,MACzBtX,KAAMinO,GAAiCjnO,KACvC61F,iBAlQwB,SAChCiB,EACA91E,GAEKpqB,EAILkxB,GACI,IAAA0gN,yBAAwB,CACpBnwO,UAAWzB,EACXkgG,sBAAqB,EACrB91E,aAAY,MAPhB,KAAAiH,YAAW,iDAUnB,EAoPY6tE,aAlPoB,SAACY,GACxB9/F,EAILkxB,GACI,IAAA2gN,yBAAwB,CACpBpwO,UAAWzB,EACX8xO,0BAA2BhyI,MAN/B,KAAAzuE,YAAW,6CASnB,EAwOYjmB,SAAUilO,GAAiCjlO,SAC3CjO,QAASkzO,GAAiClzO,QAC1CgD,cAAeumI,KAI/B,IAEA,UAAegoG,E,+BClsBf,WAAgB,MAAQ,sDAAsD,OAAS,uDAAuD,SAAW,yD,06BCW5I,EAAAqD,2BAA6B,+DAC7B,EAAAC,iCAAmC,qEACnC,EAAAC,iCAAmC,qEACnC,EAAAC,mCACT,uEAES,EAAAC,yBAA2B,6DAC3B,EAAAC,+BAAiC,mEACjC,EAAAC,+BAAiC,mEACjC,EAAAC,iCAAmC,qEAEnC,EAAAC,iBAAmB,qDAEnB,EAAAC,uBAAyB,2DACzB,EAAAC,yBAA2B,6DAE3B,EAAAC,oBAAsB,wDACtB,EAAAC,0BAA4B,8DAC5B,EAAAC,0BAA4B,8DAC5B,EAAAC,4BAA8B,gEAC9B,EAAAC,0BAA4B,8DAE5B,EAAAC,oBAAsB,wDACtB,EAAAC,0BAA4B,8DAC5B,EAAAC,0BAA4B,8DAC5B,EAAAC,4BAA8B,gEAC9B,EAAAC,0BAA4B,8DAE5B,EAAAC,qBAAuB,yDACvB,EAAAC,2BAA6B,+DAC7B,EAAAC,2BAA6B,+DAC7B,EAAAC,6BAA+B,iEAE/B,EAAAC,qBAAuB,yDACvB,EAAAC,2BAA6B,+DAC7B,EAAAC,2BAA6B,+DAC7B,EAAAC,6BAA+B,iEAC/B,EAAAC,2BAA6B,8D,+BChD1C,WAAgB,KAAO,8BAA8B,kBAAkB,yCAAyC,QAAU,iCAAiC,OAAS,gCAAgC,SAAW,kC,kYCD/M,kBACA,WAWA,UAEM1zO,EAAsC,CACxCwpB,OAAQ,KACRE,gBAAiB,UAAcxpB,QAC/B0pB,kBAAmB,UAAc1pB,SAGrC,mBACIC,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAAsiL,yBACD,OAAO,EAAP,KACO7hL,GAAK,CACRupB,gBAAiB,UAAcppB,UAIvC,KAAK,EAAA2hL,2BACD,OAAO,EAAP,KACO9hL,GAAK,CACRupB,gBAAiB,UAAc/oB,KAIvC,KAAK,EAAAuhL,yBACO,IAAA1hL,EAAUJ,EAAM,MACxB,OAAO,EAAP,KACOD,GAAK,CACRupB,gBAAiB,UAAcjpB,SAASD,KAIhD,KAAK,EAAAmzO,4BACD,OAAO,EAAP,KACOxzO,GAAK,CACRypB,kBAAmB,UAActpB,UAIzC,KAAK,EAAAszO,8BACD,OAAO,EAAP,KACOzzO,GAAK,CACRypB,kBAAmB,UAAcjpB,KAIzC,KAAK,EAAAkzO,4BAGD,OAFQrzO,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRypB,kBAAmB,UAAcnpB,SAASD,KAIlD,KAAK,EAAAI,gBACL,KAAK,EAAA+zC,MACD,OAAO,EAAP,GACO30C,GAIX,QACI,OAAOG,EAElB,C,iLChFD,eAca,EAAAo7J,cAAgB,SAAC74J,GAAgD,OAC1EhD,KAAM,EAAAo0O,wBACNpxO,MAAK,EAFqE,EAKjE,EAAAqxO,mBAAqB,SAACrxO,GAAqD,OACpFhD,KAAM,EAAAs0O,8BACNtxO,MAAK,EAF+E,EAK3E,EAAAuxO,qBAAuB,SAACvxO,EAAuBmmE,GAAqD,OAC7GnpE,KAAM,EAAAw0O,gCACNxxO,MAAK,EACLmmE,MAAK,EAHwG,EAMpG,EAAAsrK,mBAAqB,SAACzxO,EAAuBlC,GAA4C,OAClGd,KAAM,EAAA00O,8BACN5zO,MAAK,EACLkC,MAAK,EAH6F,EAMzF,EAAA44J,cAAgB,WAA4B,OACrD57J,KAAM,EAAAi1C,MAD+C,C,+BCnCzD,WAAgB,MAAQ,4BAA4B,OAAS,6BAA6B,SAAW,+B,+BCArG,WAAgB,MAAQ,6CAA6C,OAAS,8CAA8C,SAAW,gD,+LCDvI,cAiBa,EAAA2hF,oBAAsB,SAAC5zH,GAA0D,OAC1FhD,KAAM,EAAAkkE,+BACNlhE,MAAK,EAFqF,EAKjF,EAAA0zH,iBAAmB,SAACt2H,EAAuB4C,GAAuD,OAC3GhD,KAAM,EAAAmkE,4BACN/jE,UAAS,EACT4C,MAAK,EAHsG,EAMlG,EAAA2xO,kBAAoB,SAAC3xO,GAAwD,OACtFhD,KAAM,EAAAsrD,4BACNtoD,MAAK,EAFiF,EAK7E,EAAA4xO,oBAAsB,SAACnpL,GAAqD,OACrFzrD,KAAM,EAAAwrD,8BACNC,SAAQ,EAF6E,EAK5E,EAAAopL,kBAAoB,SAAC/zO,GAA2C,OACzEd,KAAM,EAAAurD,4BACNzqD,MAAK,EAFoE,EAKhE,EAAA8/D,MAAQ,WAAoB,OACrC5gE,KAAM,EAAAi1C,MAD+B,C,iYCxC5B,EAAAm6I,mCACT,uEACS,EAAAE,yCACT,6EACS,EAAAI,yCACT,6EACS,EAAAF,2CACT,+EAES,EAAAI,2BAA6B,+DAE7B,EAAAE,kCAAoC,sEACpC,EAAAI,kCAAoC,sEACpC,EAAAF,oCACT,uE,+BChBJ,WAAgB,aAAa,yCAAyC,QAAU,sCAAsC,iBAAmB,+CAA+C,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,0cCD3R,kBAGA,cAEA,cACA,cACA,cACA,aACA,cACA,cAEMtzL,EAAK,UAAWC,KAAK,WAqJ3B,UAAe,UAAMG,MA9GD,SAAUC,GAEtB,IAAA4Y,EAwBA5Y,EAAK,KAvBL+G,EAuBA/G,EAAK,MAtBLwmC,EAsBAxmC,EAAK,SArBLyyF,EAqBAzyF,EAAK,eApBL+D,EAoBA/D,EAAK,MAnBLqS,EAmBArS,EAAK,QAlBLiU,EAkBAjU,EAAK,QAjBL6b,EAiBA7b,EAAK,KAhBL+3O,EAgBA/3O,EAAK,iBAfLg4O,EAeAh4O,EAAK,kBAdLg2K,EAcAh2K,EAAK,mBAbLylF,EAaAzlF,EAAK,YAZL4yB,EAYA5yB,EAAK,WAXL8yB,EAWA9yB,EAAK,gBAVLU,EAUAV,EAAK,UATLsyF,EASAtyF,EAAK,oBARL4O,EAQA5O,EAAK,SAPL+b,EAOA/b,EAAK,cANLgc,EAMAhc,EAAK,gBALLi4O,EAKAj4O,EAAK,qBAJLukD,EAIAvkD,EAAK,aAHLqB,EAGArB,EAAK,YAFLskD,EAEAtkD,EAAK,gBADLk6K,EACAl6K,EAAK,WAEH,IAA0B,UAAMqE,UAAkB,GAAM,GAAvDqzB,EAAS,KAAEogL,EAAU,KAEtBogC,EACFr8N,EAAKs4J,UACJ,aAAS1uF,IAAgBA,EAAc,GACvCsyJ,GAAoBrgN,GACrBsgN,EACE5yO,KAAcrB,IAASm0O,MAAwBtlN,EAE/CztB,IAAekN,IAAYwJ,EAAKs4J,WAAa6B,GAE7Cz1G,IAAetsD,IAAY9O,IAAeC,EAE1CI,IAAc,aAAQqW,EAAK5W,MAAO4W,EAAK9W,gBAAkB8W,EAAKs4J,SAAWz8I,GAEzE5a,EAAW,UAAM9W,aACnB,SAACf,GACG8W,EAAcnD,EAAM3T,GAEhB2tB,GAAcE,GACdA,EAAgBla,EAExB,GACA,CAACmD,EAAenD,EAAMka,EAAiBF,IAGrCrtB,EAAU,UAAMS,aAAY,WAC9B8xM,GAAW,EACf,GAAG,CAACA,IAEExyM,EAAS,UAAMU,aAAY,WAC7B8xM,GAAW,GAEP97L,GACAA,EAAgBpD,GAAM,EAE9B,GAAG,CAACk/L,EAAY97L,EAAiBpD,IAE3Bu/N,EAAmD,UAAM3zO,SAAQ,WACnE,MAAO,CACHY,SAAQ,EACRD,WAAU,EACVo7D,WAAU,EACVzjD,SAAQ,EACRxX,OAAM,EACNC,QAAO,EACPC,WAAU,EAElB,GAAG,CAACJ,EAAUD,EAAYo7D,EAAYzjD,EAAUxX,EAAQC,EAASC,IAEjE,OAAIyyO,EACOrpO,EAASupO,GAIhB,+BAAKz3O,WAAW,aAAGf,EAAG,SAAUe,IAC1B6jD,EASE,KARA,wBAAC,UAAU,CACPx9C,MAAOA,EACPrG,UAAW4xF,EACX9rD,SAAUA,EACVnlC,YAAaA,EACbijD,gBAAiBA,EACjB/jD,UAAWkyF,IAGlB7jF,EAASupO,GACV,wBAAC,UAAU,CACPz3O,UAAWf,EAAG,QAAS,CACnB,kBAAmBu6K,IAEvB90K,SAAUA,EACVD,WAAYA,EACZo7D,WAAYA,EACZx8D,MAAO6uB,GAAc7uB,EACrBkQ,QAASA,EACT5B,QAASA,IAIzB,G,g6FC/JA,kBACA,WACA,cACA,WACA,cACA,cACA,WACA,WACA,WACA,WACA,WACA,WAKA,cACA,cACA,WACA,WACA,WACA,cACA,cACA,WAIA,cACA,cACA,WACA,aACA,WAKA,cAGM+lO,EAAa,cAMbC,EAAW,SAAC1lO,GAEd,OADM,EAAmBA,EAAIigH,MARZ,KAQ+B,GAA3B,EAEzB,EAEMjzH,EAAK,UAAWC,KAAK,WAOrB0uL,EAAiB,SACnBtmF,EACA10D,GAAgB,uBACjByR,SAAO,W,kEAEgB,SADF,IAAI,EAAAwpI,sBAAkD,QAA5B,EAAAvmF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MACpC4kF,QAAQl7I,I,OAChD,OAAKm7I,OADCA,EAAgB,eACJ,EAAbA,EAAeC,UAKL,GADG,IAAI,EAAAC,oBAAgD,QAA5B,EAAA3mF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEv+B,IAAiC,QAA5B,EAAA2wF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MAC5EglF,gBAAgBH,aAAa,EAAbA,EAAeC,WAJnD,CAAP,EAAO,M,OAKX,OADMvhL,EAAS,UAOR,CAAP,EAAO,CACHu5B,SAASL,OAHPA,GAAW,IAAAwoJ,sBAAqB1hL,SAGjB,EAARk5B,EAAUK,UAAW,UAAG4M,aAAK,EAALA,EAAOvzB,IAAG,aAAKuzB,aAAK,EAALA,EAAOtzB,KACvDszB,OAAOjN,aAAQ,EAARA,EAAUiN,QAAS,KAC1BmwG,mBAAmBp9G,aAAQ,EAARA,EAAUo9G,oBAAqB,KAClDpE,iBAAkBlyI,EAAOkmM,qBATlB,CAAP,EAAO,M,QAaTilC,EAAoB,SAAOtwI,EAA4C10D,GAAgB,uBAAGyR,SAAO,W,wDAC1E,SAAMupI,EAAetmF,EAAkB10D,I,OAChE,OADMilM,EAAmB,UAEd,CAAP,EAAOA,GAGJ,CAAP,EAAO,CACHjlM,MAAO,CACHvzB,IAAKuzB,EAAMvzB,IACXC,IAAKszB,EAAMtzB,KAEf0mB,QAAS,UAAG4M,EAAMvzB,IAAG,aAAKuzB,EAAMtzB,KAChCyjI,kBAAmB,KACnBpE,iBAAkB,O,QAIpBm5F,EAAiC14O,EAAMC,MAAK,SAACC,GACvC,IAAA6rN,EAA2D7rN,EAAK,8BAAjC+qN,EAA4B/qN,EAAK,wBAElEk9E,GAAuB,IAAAlnE,aAAY,EAAAyiO,8BAGnCzpO,GAF2B,IAAAgH,aAAY,EAAAynE,kCAECP,aAAoB,EAApBA,EAAsBr5E,SAE9Dy7E,GAAsB,IAAA3sD,YAAW,EAAA4sD,kCAC/B6/F,EAA4D9/F,EAAmB,eAA/DlU,EAA4CkU,EAAmB,kBAA5ChU,EAAyBgU,EAAmB,qBAEjFo5J,EAAqB54O,EAAM0E,SAAQ,WACrC,OAAO,aAAM46K,EAAgB,KACjC,GAAG,CAACA,IAEE+P,EAAkBrvL,EAAM6I,OAAsB,MAC9C,IAAsC7I,EAAMuE,SAA2B,MAAK,GAA3E+qL,EAAc,KAAEC,EAAiB,KAClC,IAA4BvvL,EAAMuE,UAAS,GAAK,GAA/CirL,EAAS,KAAEC,EAAY,KAExBC,EAAiB,SAACC,EAAkBC,EAAiBC,GACvD,IAAMxqG,EAAekzJ,EAAS5oD,GACxBpvG,EAAgBq4J,EAAmBvzJ,IAAiB,MACrD9E,aAAa,EAAbA,EAAeJ,eAIpBsvG,GAAa,GAEbJ,EAAgB5jL,QAAUkkL,EAE1BJ,EAAkB,CACd/7I,MAAO,CACHvzB,IAAK4vK,EAAM5vK,IACXC,IAAK2vK,EAAM3vK,KAEf0mB,QAAS,KACT+8G,kBAAmB,KACnBpE,iBAAkB,OAE1B,EAEAv/I,EAAMoL,WAAU,WACZmkL,EAAkB,MAClBF,EAAgB5jL,QAAU,IAC9B,GAAG,CAAC6zK,IAEJ,IAmBM,IAAgBt/K,EAAMuE,SAAe,MAAK,GAAzC4jG,EAAG,KAAEC,EAAM,KAEZywI,EAAyB74O,EAAM6I,OAAe,IAC9CiwO,EAA4D94O,EAAMkG,aACpE,SAACm6E,GACG,GAAKA,EAAL,CAIA,IAAM04J,EAAqBv1K,KAAKC,UAAU4c,GAC1C,GAAIw4J,EAAuBptO,UAAYstO,IAIvCF,EAAuBptO,QAAUstO,EAE5B5wI,GAAL,CAGQ,IAAA5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEnBkB,EAAS,IAAIS,EAAKG,aAExB5pB,EAAY/jE,SAAQ,SAAC6sG,GACX,QAAwBA,EAAU,GAAjC7zE,EAAQ,KAAEC,EAAS,KAC1B,IAAI,aAASD,KAAa,aAASC,GAAY,CAC3C,IAAMyjM,EAAS,IAAIlvI,EAAKK,OAAO70D,EAAUC,GACzC8zD,EAAOe,OAAO4uI,EAClB,CACJ,IAEAzhO,EAAI8yF,UAAUhB,EAbd,CAXA,CAyBJ,GACA,CAAClB,EAAK0wI,IAGV74O,EAAMoL,WAAU,WACZo0E,EAAoB6/F,uBAAuB,CACvChsH,SAAUylL,GAIlB,GAAG,CAACA,EAA6Bt5J,EAAoB6/F,yBAErD,IAAM/kH,GAAc,IAAA51D,UAAQ,WACxB,MAAO,CACHumN,aAAuB,EAAvBA,EAAyB7oG,yBACzB6oG,aAAuB,EAAvBA,EAAyBguB,0BACzBhuB,aAAuB,EAAvBA,EAAyB9lE,kBACzB8lE,aAAuB,EAAvBA,EAAyB5oG,sBACzB4oG,aAAuB,EAAvBA,EAAyB3oG,qBAC3BpzF,OAAO,EAAA4/B,SACb,GAAG,CAACm8J,IAEEiuB,GAAwB,IAAAhjO,cAAY,IAAAssG,6BAA4BloD,KAEtE,IAAAE,kBAAiBF,GAEjB,IAAM4tC,GAAmBloG,EAAM6yB,WAAW,WA0EpCsmN,GAAsB,WAAG75D,aAAc,EAAdA,EAAgBn9K,SAAU,GAEzD,OACI,gCACK+M,GAAa,gBAAC,UAAS,MACxB,gBAAC,UAAc,CACX2D,IAAI,2BACJk4F,kBA/EQ,SAAC5C,G,MACjBC,EAAOD,GAEC,IAAA5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAGE,QAA3B,EAAAD,GAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,EAyEY4zF,oCAAkC,EAClCqkF,UAAWA,EACXzzE,YAAQv1G,EACR8iG,UAAM9iG,EACNgkG,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBlpG,QAxJW,SAAOkK,GAAsB,0C,4DAC/B,SAAM2sO,EAAkBtwI,GAAkBr8F,I,cAArD06B,EAAW,SAC+B,QAAhD,EAAsC,QAAtC,EAAAi5C,EAAoBiB,0BAAkB,eAAEptB,gBAAQ,gBAAG9sB,G,YAuJ3ClkC,QAAS,EAAAyoG,YACTklF,iBAAkBN,EAClBO,eAzKU,SAAON,EAAkBC,EAAiBC,GAAgB,0C,8DAC5E,OAAIR,EAAgB5jL,UAAYkkL,EAC5B,KAGJF,GAAa,GAEI,GAAM+oD,EAAkBtwI,GAAkB2nF,K,cAArDtpJ,EAAW,SAEX8+C,EAAekzJ,EAAS5oD,GAEoB,QAAlD,EAAwC,QAAxC,EAAAnwG,EAAoB8B,4BAAoB,eAAEjuB,gBAAQ,gBAAGgyB,EAAc9+C,G,YA+J3D2pJ,iBAAkBR,GAEjBpQ,EAAe/nK,KAAI,SAACgpE,GACjB,OArFY,SAACA,G,UAjMd8E,EAkMLxyE,GAlMKwyE,EAkMW9E,EAAcn0E,GAjMjC,CAACksO,EAAYjzJ,GAAc71D,KAJjB,MAuMT2lF,EAAc,CAAC,EACnB,GAAIk6E,EAAgB5jL,UAAYoH,EAAK,CACjC,KAAKy8K,aAAc,EAAdA,EAAgB97I,OACjB,OAAO,KAGX2hE,EAAc,CACVl1F,IAAKqvK,EAAe97I,MAAMvzB,IAC1BC,IAAKovK,EAAe97I,MAAMtzB,IAElC,KAAO,CACH,KAA4B,QAAvB,EAAAqgE,aAAa,EAAbA,EAAeh6C,gBAAQ,eAAEiN,OAC1B,OAAO,KAGX2hE,EAAc,CACVl1F,IAAiC,QAA5B,EAAAsgE,EAAch6C,SAASiN,aAAK,eAAEvzB,IACnCC,IAAiC,QAA5B,EAAAqgE,EAAch6C,SAASiN,aAAK,eAAEtzB,IAE3C,CAEA,GACIqgE,EAAcp9E,OAAS,EAAA6pG,0BAA0B5rF,gBACjDm/D,EAAcp9E,OAAS,EAAA6pG,0BAA0B3rF,aACnD,CACE,IAAIjgB,EAAQ,EAAAqf,gBAAgB1e,SAK5B,OAJIw+E,EAAcj7E,WACdlE,EAAQ,EAAAqf,gBAAgBzM,WAIxB,gBAAC,UAAgB,GACbnB,IAAKA,EACLjS,UAAWf,EAAG,kBAAmB,2BAC7Bs1G,EAAW,CACf/zG,MAAOA,IAGnB,CAEA,IAAIS,EAAY,EAAAC,qBAAqBC,SASrC,OARIw+E,EAAcp9E,OAAS,EAAA6pG,0BAA0B1rF,eACjDzf,EAAY,EAAAC,qBAAqB+W,MAGjC0nE,EAAcj7E,WACdzD,EAAY,EAAAC,qBAAqBkS,WAIjC,gBAAC,UAAa,GACVnG,OAAQ0yE,EAAc1yE,OACtBgF,IAAKA,EACLjS,UAAWf,EAAG,kBAAmB,2BACjCgC,UAAWA,GACPszG,GAGhB,CAwBuBikI,CAAoB74J,EAC/B,KAEH24J,EAAsB3hO,KAAI,SAAC4zI,EAAsB3zI,G,QAC9C,OACI,gBAAC,UAAQ,CACL3E,IAAK,8BAAuB2E,EAAK,YAAI2hO,IACrC5hO,IAAK4wF,aAAG,EAAHA,EAAK5wF,IACVuyF,KAAM3B,aAAG,EAAHA,EAAK2B,KACX4B,gBAAwD,QAAvC,EAA4B,QAA5B,EAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SAC1DhgD,UAAWuiG,EAAqBx+I,KAChCvL,MAAO,EAAAwqG,kBAAkBytI,aACzBttI,OAAQ,GAGpB,IACCggH,GACG,gBAAC,UAAgB,CACbnrN,UAAWf,EAAG,qBACdyrE,kBAAmBA,EACnBC,0BAA2BC,IAK/C,IAEA,UAAektK,C,6JC1Vf,kBACA,aACA,cACA,aAEM74O,EAAK,UAAWC,KAAK,WAOrBw5O,EAAmC,UAAMr5O,MAAK,SAACC,GACzC,IAAA4O,EAAwB5O,EAAK,SAAnBU,EAAcV,EAAK,UAErC,OAAO,+BAAKU,WAAW,aAAGf,EAAG,WAAYe,IAAakO,EAC1D,IAEA,UAAewqO,C,+BCjBf,WAAgB,QAAU,0CAA0C,2BAA2B,2DAA2D,sBAAsB,sDAAsD,OAAS,yCAAyC,SAAW,2C,iVCDnS,eAQA,WAMA,WAkCM/kH,EAAa,SAAChjF,GAChB,OAAQA,aAAI,EAAJA,EAAMpsC,OACV,KAAK,EAAA2pE,aAAaC,aACd,OAAIx9B,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,cAEJ,eAEX,KAAK,EAAA3lD,aAAaQ,SACd,OAAI/9B,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,eAEJ,gBAEX,QACI,OAAO,KAGnB,EAEM8kH,EAA8B,SAACn/N,EAA6Bm3B,GAC9D,IAAM9zB,EAAgBrD,EAAa,EAAAiwC,qBAAqB5sC,eAExD,OAAO,EAAP,GACIw1B,YAAsC,iBAAlBx1B,GAA8BA,OAAgBjX,EAClEktB,OAAQtZ,EAAa,EAAAiwC,qBAAqB1tC,qBAAkBnW,EAC5DmtB,YAAavZ,EAAa,EAAAiwC,qBAAqBptC,sBAAmBzW,EAElEwlG,WAAY5xF,EAAa,EAAAiwC,qBAAqB3gB,kBAAeljC,EAE7DgzO,WAAYp/N,EAAa,EAAAiwC,qBAAqB8qE,sBAAmB3uH,EACjEizO,SAAUr/N,EAAa,EAAAiwC,qBAAqB+qE,oBAAiB5uH,EAE7DkzO,YAAat/N,EAAa,EAAAiwC,qBAAqB4qE,uBAAoBzuH,EACnEmzO,UAAWv/N,EAAa,EAAAiwC,qBAAqB6qE,qBAAkB1uH,EAE/DozO,YAAax/N,EAAa,EAAAiwC,qBAAqBoiD,uBAAoBjmG,EACnEqzO,UAAWz/N,EAAa,EAAAiwC,qBAAqBsiD,qBAAkBnmG,EAE/D6iF,UAAWjvE,EAAa,EAAAiwC,qBAAqB9sC,mBAAgB/W,GAvEpC,SAAC2pE,GAC9B,OAAQA,GACJ,KAAK,EAAAR,oBAAoBI,OACrB,MAAO,CACHzmD,OAAQ,EAAAssC,cAAcma,QAG9B,KAAK,EAAAJ,oBAAoB7Z,UACrB,MAAO,CACHxsC,OAAQ,EAAAssC,cAAcE,WAG9B,KAAK,EAAA6Z,oBAAoBG,UACrB,MAAO,CACHxmD,OAAQ,EAAAssC,cAAcC,YAG9B,KAAK,EAAA8Z,oBAAoBvjD,QACrB,MAAO,CACH9C,OAAQ,EAAAssC,cAAcxpC,SAG9B,KAAK,EAAAujD,oBAAoBvmE,KACrB,MAAO,CACHkgB,OAAQ,EAAAssC,cAAcxsD,MAG9B,QACI,MAAO,CAAC,EAEpB,CA2CW4sH,CAAyB57G,EAAa,EAAAiwC,qBAAqB8lB,gBAE1D5+B,aAAI,EAAJA,EAAMpsC,OACJ,CACIonK,QAASh4C,EAAWhjF,SAAS/qC,GAEjC,CAAC,EAEf,EAqCS,EAAA2/D,sBAZqB,SAC1B3iE,EACA4W,EACAm3B,GAEA,OAAI/tC,IAAgB,EAAA+kB,gBAAgBpb,OAhBJ,SAChCiN,EACAm3B,GAEA,OAAO,EAAP,KACOgoM,EAA4Bn/N,EAAcm3B,IAAK,CAClDh1B,UAAWnC,EAAa,EAAAiwC,qBAAqBxuC,kBAAerV,EAC5DkX,OAAStD,EAAa,EAAAiwC,qBAAqB1sC,sBAA6CnX,GAEhG,CAQeszO,CAA4B1/N,EAAcm3B,GA7BpB,SACjCn3B,EACAm3B,GAEA,IAAM7zB,EAAStD,EAAa,EAAAiwC,qBAAqB3sC,QAEjD,OAAO,EAAP,KACO67N,EAA4Bn/N,EAAcm3B,IAAK,CAClD71B,SAAUgC,EAASA,IAAW,EAAAjC,qBAAqBC,cAAWlV,GAEtE,CAsBWuzO,CAA6B3/N,EAAcm3B,EACtD,C,u8CCpIA,kBACA,cAEA,cACA,WACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,UACA,WAGA,WACA,WACA,WAEM1xC,EAAK,UAAWC,KAAK,WAiG3B,UA7FsD,SAACI,GAC3C,IAAAQ,EAAYR,EAAK,QAEjBa,GAAM,IAAAC,kBAAgB,EAExB,KAAkC,IAAA89F,eACpC,EAAA/mF,cAAciiO,gBACd,IAAAh0K,kBAAgC,CAAC,IACpC,GAHM5rD,EAAY,KAAED,EAAe,KAK9B,IAAgD,UAAM5V,SAAwB6V,GAAa,GAA1FI,EAAmB,KAAEC,EAAsB,KAElD,UAAMrP,WAAU,WACZqP,EAAuBL,EAC3B,GAAG,CAACA,IAEE,QAAiC,UAAM1V,SAAQ,WAEjD,MAAO,EADQ,aAAiB0V,GAChB,CAAC,EAErB,GAAG,CAACA,IAAc,GAJXM,EAAa,KAAEupC,EAAa,KAM7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBJ,cAAa,EACbupC,cAAa,EACblpC,SAAU,SAACC,EAAQC,G,MACTg/N,GAAiB,aAAgBj/N,GAEvCb,EAAgB,IAAD,MACV,EAAAkwC,qBAAqB3gB,YAAalvB,EAAoB,EAAA6vC,qBAAqB3gB,YAAW,GACpFuwM,IAGPh/N,EAAcI,WAAW,CAAC,GAEtB3a,GACAA,GAER,IAGE4a,EAAe,UAAM5W,SAAQ,WAC/B,OAAO,IAAA6W,aAAYb,EAAeC,EAAOK,UAAW,IAAAO,aAAYf,EAAqBJ,EACzF,GAAG,CAACM,EAAeC,EAAOK,OAAQR,EAAqBJ,IAEvD,OACI,gCAAMW,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAACM,MAAOY,EAAE,qCAAsCL,QAASA,KAElF,wBAAC,UAAa,KACV,+BAAKE,UAAWf,EAAG,UACf,wBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAWkZ,KACjB7R,MAAOlG,EAAE,iDACTkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWkZ,MAChCiD,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWkZ,MACrCmD,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWkZ,KACjB3T,MAAOwV,EAAOK,OAAO,EAAApb,WAAWkZ,MAChClT,YAAa7E,EAAE,uDACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAVX,MAgBxB,wBAAC,UAAmB,CAACgG,eAAa,EAACiS,aAAW,GAC1C,wBAAC,UAAM,CACHxc,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZwC,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,wCAKvB,C,sBCrHA,IAAY6zM,EAQAh/K,EAMA8qB,EAaA6sL,EAOA2M,EAMApiF,EAYA9xD,EAgBAw+B,E,kQApEZ,SAAYowE,GACR,cACA,kBACA,oBACA,iBACH,CALD,CAAYA,IAAsB,yBAAtBA,EAAsB,KAQlC,SAAYh/K,GACR,gBACA,oBACH,CAHD,CAAYA,IAAsB,yBAAtBA,EAAsB,KAMlC,SAAY8qB,GACR,uBACA,cACA,yBACA,wCACA,kCACA,sCACA,sCACA,oCACA,mDACA,0BACH,CAXD,CAAYA,IAAsB,yBAAtBA,EAAsB,KAalC,SAAY6sL,GACR,wBACA,sBACA,eACH,CAJD,CAAYA,IAA8B,iCAA9BA,EAA8B,KAO1C,SAAY2M,GACR,YACA,cACA,eACH,CAJD,CAAYA,IAAwB,2BAAxBA,EAAwB,KAMpC,SAAYpiF,GACR,kBACA,iBACH,CAHD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAY/B,SAAY9xD,GACR,0BACH,CAFD,CAAYA,IAAsB,yBAAtBA,EAAsB,KAgBlC,SAAYw+B,GACR,sBACA,qBACH,CAHD,CAAYA,IAAiB,oBAAjBA,EAAiB,I,+BCpE7B,WAAgB,KAAO,uDAAuD,KAAO,uDAAuD,KAAO,uDAAuD,QAAU,0DAA0D,QAAU,0DAA0D,OAAS,yDAAyD,eAAe,+DAA+D,uBAAuB,uEAAuE,cAAc,8DAA8D,OAAS,yDAAyD,gBAAkB,kEAAkE,kBAAoB,oEAAoE,OAAS,yDAAyD,SAAW,2D,+BCAv8B,WAAgB,KAAO,+BAA+B,OAAS,iCAAiC,SAAW,mC,+BCA3G,WAAgB,KAAO,sCAAsC,eAAe,8CAA8C,kBAAkB,iDAAiD,OAAS,wCAAwC,SAAW,0C,q7BCDzP,kBACA,WACA,cACA,cACA,WACA,cACA,cAEA,WAgBMh2H,EAAgB,+BAEhB2rO,EAA+C,UAAMl6O,MAAK,SAACC,GACrD,IAAA42I,EAAyE52I,EAAK,kBAA3DwD,EAAsDxD,EAAK,cAA5CyM,EAAuCzM,EAAK,KAAtCstB,EAAiCttB,EAAK,UAA3BQ,EAAsBR,EAAK,QAAlByO,EAAazO,EAAK,SAE9Ea,GAAM,IAAAC,kBAAgB,EAE9B,IAAK2L,EACD,OAAO,KAGX,IAAMswH,EAAe6Z,EAAkBnqI,EAAKswF,gBAE5C,OACI,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACv8F,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,EAAcK,QAC1BpC,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BU,UAAWxL,EAAcK,QACzBwB,WAAY7B,EAAcK,QAC1BpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,YACvD7T,MAAOY,EAAE,0DACT0X,QAAS1X,EAAE,+DAAgE,CACvEgxB,eAAekrG,aAAY,EAAZA,EAAcnkH,OAAQ,IAAIohB,yBAMjE,IAEA,UAAeigN,C,q7BC3Ef,kBAEA,cACA,cAEA,cAMMt6O,EAAK,UAAWC,KAAK,WAErBs6O,EAAiCp6O,EAAMC,MAAK,SAACC,GACvC,IAAA2uD,EAAY3uD,EAAK,QAEnB0mC,EAAU,CAACioB,EAAQvG,KAAMuG,EAAQxG,SAASn5B,OAAOhmB,SAASsmB,KAAK,MAErE,OACI,2BACI,uBAAK5uB,UAAWf,EAAG,WACZgvD,EAAQx9B,aAAe,gBAAC,UAAQ,CAACzwB,UAAWf,EAAG,QAASwxB,YAAaw9B,EAAQx9B,cAChF,wBAAMzwB,UAAWf,EAAG,YAAagvD,EAAQjoC,UAE7C,uBAAKhmB,UAAWf,EAAG,YAAa+mC,GAG5C,IAEA,UAAewzM,C,+BC5Bf,WAAgB,KAAO,2BAA2B,iBAAiB,qCAAqC,mBAAmB,uCAAuC,0BAA0B,8CAA8C,wBAAwB,4CAA4C,uBAAuB,2CAA2C,0BAA0B,8CAA8C,0BAA0B,8CAA8C,wBAAwB,4CAA4C,wBAAwB,4CAA4C,KAAO,2BAA2B,mBAAmB,uCAAuC,mBAAmB,uCAAuC,+BAA+B,mDAAmD,MAAQ,4BAA4B,oBAAoB,wCAAwC,OAAS,6BAA6B,qBAAqB,yCAAyC,OAAS,6BAA6B,SAAW,+B,40DCDrmC,eACA,UAgBA,WAeA,cACA,cAEA,WACA,WACA,cACA,aACA,WACA,WACA,cAEA,UACA,WACA,UACA,WAEA,SAAUC,EAA0Bx2O,G,oEAG4C,OAFpEN,EAAuBM,EAAM,UAAlBxB,EAAYwB,EAAM,QAEuC,IAAM,IAAAiJ,SAC9E,IAAAwtO,oCAAmC/2O,K,OAEvC,OAHMG,EAAsE,UAGvE,aAAiBA,EAAerB,GAIrC,IAAM,IAAA2K,MAAI,IAAAutO,4BAA2Bh3O,KAHjC,I,cAGJ,UAMI,IAAA6C,yBAAwB7C,GACf,GAAM,UAAmB+sH,yBADlC,M,cACAjjH,EAAS,S,aAEA,SAAM,UAAkBijH,sBAAsB/sH,I,OAAvD8J,EAAS,S,wBAGP,IAA4BA,EAAM,GAAjCpJ,EAAK,KAAEu+N,EAAgB,KAE1Bv+N,EACA,IAAM,IAAA+I,MAAI,IAAAwtO,4BAA2Bj3O,EAAWU,KADhD,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAAytO,8BAA6Bl3O,EAAWi/N,GAAoB,M,cAAtE,S,QAGJ,SAAUkY,EAA0B72O,G,wEAI5B,OAHIN,EAA2CM,EAAM,UAAtCuhC,EAAgCvhC,EAAM,WAA1BkoM,EAAoBloM,EAAM,gBAGrD,GAAM,UAAkB0sH,4BAA4BhtH,EAAW6hC,I,cAD7D,kBACF,SAA0E,IADvEu1M,EAAiB,KAAEn2K,EAAe,KAGrCm2K,EACA,IAAM,IAAA3tO,MAAI,IAAA4tO,4BAA2Br3O,EAAWo3O,KADhD,M,4BA6BJ,S,WAxBA,OAAKn2K,GAICq2K,EAAsB,OACrBr2K,GACAunI,GAGP,IAAM,IAAA/+L,MAAI,IAAA8tO,4BAA2Bv3O,EAAW6hC,MAR5C,I,OAWA,OAHJ,SAGI,GAAM,UAAkB4mK,sBAAsBzoM,EAAW6hC,EAAYy1M,I,cADnE,kBACF,SAA4F,KADzF52O,EAAK,MAIR,IAAM,IAAA+I,MAAI,IAAA4tO,4BAA2Br3O,EAAWU,KADhD,M,OAUJ,OALA,EAAA82O,qCAAqCv5M,KAAK,CACtC4D,WAAU,IAEd,EAAAlc,+BAA+BsY,KAAK,CAAC,GAErC,IAAM,IAAAx0B,MAAI,IAAAguO,8BAA6Bz3O,K,IAG3C,SAAU03O,EAA0Bp3O,G,gEAGhC,OAFQN,EAAsCM,EAAM,UAAjCuhC,EAA2BvhC,EAAM,WAArBknO,EAAelnO,EAAM,YAEhD,aAAMuhC,GACN,IAGJ,IAAM,IAAAp4B,MAAI,IAAA8tO,4BAA2Bv3O,EAAW6hC,K,OAG5C,OAHJ,SAGI,GAAM,UAAkB81M,sBAAsB33O,EAAW6hC,EAAY2lM,I,cADnE,kBACF,SAAgF,KAD7E9mO,EAAK,MAIR,IAAM,IAAA+I,MAAI,IAAA4tO,4BAA2Br3O,EAAWU,KADhD,M,qBAUJ,S,WAAA,OALA,EAAA82O,qCAAqCv5M,KAAK,CACtC4D,WAAU,IAEd,EAAAlc,+BAA+BsY,KAAK,CAAC,GAErC,IAAM,IAAAx0B,MAAI,IAAAguO,8BAA6Bz3O,K,IAG3C,SAAU43O,EAA0Bt3O,G,gEAGhC,OAFQN,EAAkCM,EAAM,UAA7BuhC,EAAuBvhC,EAAM,WAAjB0yF,EAAW1yF,EAAM,OAEhD,IAAM,IAAAmJ,MAAI,IAAA8tO,4BAA2Bv3O,EAAW6hC,K,OAG5C,OAHJ,SAGI,GAAM,UAAkBg2M,sBAAsB73O,EAAW6hC,EAAY,CACjEmxD,OAAM,K,cAFR,kBACF,SAEE,KAHCtyF,EAAK,MAMR,IAAM,IAAA+I,MAAI,IAAA4tO,4BAA2Br3O,EAAWU,KADhD,M,qBAUJ,S,WAAA,OALA,EAAA82O,qCAAqCv5M,KAAK,CACtC4D,WAAU,IAEd,EAAAlc,+BAA+BsY,KAAK,CAAC,GAErC,IAAM,IAAAx0B,MAAI,IAAAguO,8BAA6Bz3O,K,IAG3C,SAAU83O,EAA2Bx3O,G,wEAGjC,OAFQN,EAA2CM,EAAM,UAAtCuhC,EAAgCvhC,EAAM,WAA1BkoM,EAAoBloM,EAAM,iBAErD,aAAMuhC,GACN,IAGJ,IAAM,IAAAp4B,MAAI,IAAA8tO,4BAA2Bv3O,EAAW6hC,K,OAG5C,OAHJ,SAGI,GAAM,UAAkBmrF,4BAA4BhtH,EAAW6hC,I,cAD7D,kBACF,SAA0E,IADvEu1M,EAAiB,KAAEn2K,EAAe,KAGrCm2K,EACA,IAAM,IAAA3tO,MAAI,IAAA4tO,4BAA2Br3O,EAAWo3O,KADhD,M,4BA2BJ,S,WAtBA,OAAKn2K,GAICq2K,EAAsB,OACrBr2K,GACAunI,GAIH,GAAM,UAAkBG,uBAAuB3oM,EAAW6hC,EAAYy1M,KATtE,I,cAQE,kBACF,SAA6F,KAD1F52O,EAAK,MAIR,IAAM,IAAA+I,MAAI,IAAA4tO,4BAA2Br3O,EAAWU,KADhD,M,OAUJ,OALA,EAAA82O,qCAAqCv5M,KAAK,CACtC4D,WAAU,IAEd,EAAAlc,+BAA+BsY,KAAK,CAAC,GAErC,IAAM,IAAAx0B,MAAI,IAAAguO,8BAA6Bz3O,K,IAG3C,SAAU+3O,EAA0Bz3O,G,gEAGhC,OAFQN,EAAoBM,EAAM,UAAf+e,EAAS/e,EAAM,KAElC,IAAM,IAAAmJ,MAAI,IAAAuuO,4BAA2Bh4O,K,cAArC,UAKI,IAAA6C,yBAAwB7C,GACb,GAAM,UAAmBsuH,sBAAsBjvG,IAD1D,M,cACAtV,EAAW,S,aAEA,SAAM,UAAkBukH,sBAAsBjvG,EAAMrf,I,OAA/D+J,EAAW,S,wBAET,IAAUA,EAAQ,IAAjBrJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAwuO,4BAA2Bv3O,EAAOV,KAD5C,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAAyJ,MAAI,IAAAyuO,8BAA6Bl4O,K,OAIvC,OAJA,SAEA,EAAA2lB,+BAA+BsY,KAAK,CAAC,GAErC,IAAM,IAAAx0B,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBiF,iBAC1B7xB,KAAM,CAAC,O,cAJnB,S,QAUJ,SAAU+uO,EAA4B73O,G,0EAGlC,OAFQN,EAA0BM,EAAM,UAArBuhC,EAAevhC,EAAM,WAExC,IAAM,IAAAmJ,MAAI,IAAA2uO,8BAA6Bp4O,K,cAAvC,UAKI,IAAA6C,yBAAwB7C,GACb,GAAM,UAAmBquH,qBAAqBxsF,IADzD,M,cACA93B,EAAW,S,aAEA,SAAM,UAAkBskH,qBAAqBruH,EAAW6hC,I,OAAnE93B,EAAW,S,wBAET,IAA+BA,EAAQ,GAAtCrJ,EAAK,KAAEoJ,EAAM,KAAEuuO,EAAW,KAE7B33O,EACA,IAAM,IAAA+I,MAAI,IAAA6uO,8BAA6B53O,EAAOV,KAD9C,M,OAEA,OADA,SACA,I,OA0BJ,OAvBKq4O,IACD,IAAAhnN,YAAW,kDAAmD,CAAErxB,UAAS,EAAE6hC,WAAU,IAGnF02M,EAA2BF,aAAW,EAAXA,EAAa3pH,QAAQopF,IAAI,EAAA0gC,QAAQC,sBAC5D1gC,GAAW,IAAA2gC,iCAAgCH,GAA4B,OAEzE,IAAAlnN,YAAW,+CAAgD,CAAErxB,UAAS,EAAE6hC,WAAU,EAAE02M,yBAAwB,KAG1GI,EAAiBN,aAAW,EAAXA,EAAa3pH,QAAQopF,IAAI,EAAA0gC,QAAQI,iBAEpD,IAAAvnN,YAAW,gDAAiD,CAAErxB,UAAS,EAAE6hC,WAAU,EAAE82M,eAAc,IAGnG7uO,GAAUiuM,GAAY4gC,IACtB,aAAa,CACTpjO,KAAMwiM,EACN3uM,KAAMU,EACNlK,KAAM+4O,IAId,IAAM,IAAAlvO,MAAI,IAAAovO,gCAA+B74O,K,cAAzC,S,QAaJ,UAVA,W,kDACI,UAAM,IAAAkK,WAAU,EAAAstE,gCAAiCs/J,I,OACjD,OADA,SACA,IAAM,IAAA5sO,WAAU,EAAA6tE,gCAAiCo/J,I,OACjD,OADA,SACA,IAAM,IAAAjtO,WAAU,EAAA4tE,gCAAiC4/J,I,OACjD,OADA,SACA,IAAM,IAAAxtO,WAAU,EAAA2tE,gCAAiC+/J,I,OACjD,OADA,SACA,IAAM,IAAA1tO,WAAU,EAAA0tE,iCAAkCkgK,I,OAClD,OADA,SACA,IAAM,IAAA5tO,WAAU,EAAA8sE,gCAAiC+gK,I,OACjD,OADA,SACA,IAAM,IAAA7tO,WAAU,EAAAktE,kCAAmC+gK,I,cAAnD,S,8BC9PJ,IAAYW,E,gFAAZ,SAAYA,GACR,qCACA,gBACA,8BACH,CAJD,CAAYA,IAAqB,wBAArBA,EAAqB,I,q7BCzCjC,kBAEA,cACA,cAMMx8O,EAAK,UAAWC,KAAK,WAErBw8O,EAAoCt8O,EAAMC,MAAK,SAACC,GAC1C,IAAAonB,EAAgBpnB,EAAK,YAE7B,OAAO,uBAAKU,UAAWf,EAAG,iBAAkBynB,EAChD,IAEA,UAAeg1N,C,+BChBf,WAAgB,MAAQ,uDAAuD,OAAS,wDAAwD,SAAW,0D,u8CCD3J,kBACA,cAEA,cACA,WACA,WACA,UACA,WACA,cACA,cACA,cACA,cACA,cACA,aAIA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WAGMz8O,EAAK,UAAWC,KAAK,WAsU3B,UA9TgD,SAACI,G,QACrC4nE,EAA4D5nE,EAAK,cAAlD06J,EAA6C16J,EAAK,uBAA1By6J,EAAqBz6J,EAAK,iBAEnEya,GAAS,IAAAgY,oBAEP5xB,GAAM,IAAAC,kBAAgB,EAExB,IAAgD,UAAMuD,SAAiC,MAAK,GAA3Fg4O,EAAmB,KAAEC,EAAsB,KAE5CC,EAAuB,SAAC77G,GACrBA,GAILjmH,EAAOsB,cAAc,EAAArc,WAAWo8E,SAAU4kD,EAC9C,EAEA,OACI,gDACI,+BAAKhgI,UAAWf,EAAG,YACf,+BAAKe,UAAWf,EAAG,mBAAoBkB,EAAE,wCACzC,+BAAKH,UAAWf,EAAG,mBACf,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRe,UAAWf,EAAG,iBACdiZ,KAAM,EAAAlZ,WAAWu2I,OACjBlyI,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWu2I,QAChCp6H,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWu2I,QACrClvI,MAAOlG,EAAE,6CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAkB,CACfiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWu2I,QAChCn5H,SAAU9c,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYi1J,GAAoBz6J,EAAMwF,WACtCF,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfG,YAAa7E,EAAE,oDATX,IAahB,wBAAC,UAAW,CACRH,UAAWf,EAAG,qBACdiZ,KAAM,EAAAlZ,WAAWgqB,UACjB3lB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgqB,WAChC7N,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgqB,WACrC3iB,MAAOlG,EAAE,iDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWgqB,UACjBzkB,MAAOwV,EAAOK,OAAO,EAAApb,WAAWgqB,WAChC0yF,UAAW,EAAAogI,iCACX1/N,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYi1J,GAAoBz6J,EAAMwF,YAVlC,IAchB,wBAAC,UAAW,CACR9E,UAAWf,EAAG,oBACdiZ,KAAM,EAAAlZ,WAAWiqB,SACjB5lB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWiqB,UAChC9N,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWiqB,UACrC5iB,MAAOlG,EAAE,gDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWiqB,SACjB1kB,MAAOwV,EAAOK,OAAO,EAAApb,WAAWiqB,UAChCyyF,UAAW,EAAAogI,iCACX1/N,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYi1J,GAAoBz6J,EAAMwF,YAVlC,OAiB5B,+BAAK9E,UAAWf,EAAG,YACf,+BAAKe,UAAWf,EAAG,mBAAoBkB,EAAE,4CACzC,+BAAKH,UAAWf,EAAG,mBACf,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRe,UAAWf,EAAG,wBACdiZ,KAAM,EAAAlZ,WAAW86H,aACjBz2H,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW86H,cAChC3+G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW86H,cACrCzzH,MAAOlG,EAAE,oDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAgB,CACb4Y,KAAM,EAAAlZ,WAAW86H,aACjBv1H,MAAOwV,EAAOK,OAAO,EAAApb,WAAW86H,cAChC19G,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYi1J,GAAoBz6J,EAAMwF,YATlC,IAafk1J,EACG,wBAAC,EAAAloB,oBAAmB,CAAC9xI,UAAWf,EAAG,yBAEnC,wBAAC,UAAa,CACVgT,IAAI,eACJxG,KAAM,wBAAC,UAAe,CAAC81D,YAAmC,QAAtB,EAAA2F,aAAa,EAAbA,EAAer5D,eAAO,eAAEwnI,cAC5Dr1I,UAAWf,EAAG,uBACdoH,MAAOlG,EAAE,mDACT6E,YAAa7E,EAAE,yDACfoE,OAA6B,QAAtB,EAAA2iE,aAAa,EAAbA,EAAer5D,eAAO,eAAEwnI,cAAe,MAIzD,EAAAhc,kBAAkB1iH,KAAI,SAACikI,GACpB,IAAMmhG,EAAahiO,EAAOK,OAAOwgI,GAEjC,MAA0B,iBAAfmhG,EACA,KAIP,wBAAC,UAAW,CACR9pO,IAAK2oI,EACL1iI,KAAM0iI,EACNv3I,MAAO0W,EAAOmB,OAAO0/H,GACrBz/H,KAAMpB,EAAOqB,aAAaw/H,GAC1Bv0I,MAAOlG,EAAE,uCAAgCy6I,EAAK,WAC9Cv/H,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,+BAAKU,UAAWf,EAAG,UACf,wBAAC,UAAK,CACFiZ,KAAM0iI,EACN56I,UAAWf,EAAG,gBACdsF,MAAOw3O,EACP3/N,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYi1J,GAAoBz6J,EAAMwF,WACtCuzB,UAAWsjN,IAAwB/gG,IAEvC,wBAAC,UAAkB,CACf56I,UAAWf,EAAG,eACd8B,QAAS,WACLgZ,EAAOsB,cAAcu/H,OAAOh1I,EAChC,EACAxE,gBAAiB,EAAAC,oBAAoBC,MACrCN,SAAU,wBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqBkS,cApBrD,GA0BxB,IACA,wBAAC,UAAyB,CACtBwF,WAAYmB,EAAOK,OACnB4hO,cAAe,SAACC,GACZL,EAAuBK,GACvBliO,EAAOsB,cAAc4gO,EAAa,GACtC,MAIZ,+BAAKj8O,UAAWf,EAAG,YACf,+BAAKe,UAAWf,EAAG,mBAAoBkB,EAAE,6CACzC,+BAAKH,UAAWf,EAAG,mBACf,wBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAWgnC,QACjB3iC,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgnC,SAChC7qB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgnC,SACrC3/B,MAAOlG,EAAE,8CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWgnC,QACjBzhC,MAAOwV,EAAOK,OAAO,EAAApb,WAAWgnC,SAChC01E,UAAW,EAAAogI,iCACX1/N,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYi1J,GAAoBz6J,EAAMwF,YAVlC,IAchB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR9E,UAAWf,EAAG,mBACdiZ,KAAM,EAAAlZ,WAAW42B,SACjBvyB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW42B,UAChCza,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW42B,UACrCvvB,MAAOlG,EAAE,+CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,GACP02B,kBAAgB,GACZ,EAAAX,uBAAuBO,SAAQ,CACnC1d,KAAM,EAAAlZ,WAAW42B,SACjBrxB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW42B,UAChCvxB,aAAc0V,EAAOD,cAAc,EAAA9a,WAAW42B,UAC9C5wB,YAAa7E,EAAE,qDACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BqiF,QAC/Cp6F,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBI,WAAYi1J,GAAoBz6J,EAAMwF,WACtCF,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfoxB,aAAc,EAAAimN,sBACdn3O,iBAAe,IAhBX,IAoBhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,kBACdiZ,KAAM,EAAAlZ,WAAWyxB,YACjBptB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyxB,aAChCpqB,MAAOlG,EAAE,gDACTgb,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyxB,aACrCpV,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyxB,aAChCrU,SAAU,SAACqU,GACPnxB,EAAM8c,SAASqU,EACnB,EACA5uB,gBAAiB,EAAAC,4BAA4B+8F,QAC7Cj6F,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYi1J,GAAoBz6J,EAAMwF,YATlC,KAcpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR9E,UAAWf,EAAG,mBACdiZ,KAAM,EAAAlZ,WAAWo8E,SACjB/3E,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWo8E,UAChC/0E,MAAOlG,EAAE,+CACTgb,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWo8E,UACrC//D,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAgB,CACbiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWo8E,UAChCh/D,SAAUy/N,EACVh6O,gBAAiB,EAAAC,4BAA4B+8F,QAC7Cn6F,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYi1J,GAAoBz6J,EAAMwF,YATlC,IAahB,wBAAC,UAAW,CACR9E,UAAWf,EAAG,eACdiZ,KAAM,EAAAlZ,WAAW4xB,UACjBvtB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW4xB,WAChCzV,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW4xB,WACrCvqB,MAAOlG,EAAE,oDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAW4xB,UACjByyE,SAAU,EAAAlrF,aAAamrF,iBACvBt+F,YAAa7E,EAAE,0DACfoE,MAAOwV,EAAOK,OAAO,EAAApb,WAAW4xB,WAChCxU,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBI,WAAYi1J,GAAoBz6J,EAAMwF,WACtCstF,KAAM,GAXF,OAoBxC,C,umDC7QS,EAAA+pJ,iBALT,SAA2BlwO,G,kDACvB,UAAM,IAAAY,WAAU,EAAAsgO,uBAAuB5qO,MA3DhC,SAAWU,G,sEAG0D,OAFlE,EAA0BA,EAAOklB,QAA/BmhG,EAAU,aAAE7nH,EAAO,UAE6C,IAAM,IAAAyK,SAC1E,IAAAkwO,6BAA4B9yH,K,OAEhC,OAHQvwE,EAAgE,SAEvE,cACI,aAAiBA,EAAct3C,IAI9Bq0D,GAAO,IAAAumL,2BAA0B/yH,GAEvC,IAAM,IAAAl9G,MAAI,IAAAghO,6BAA4B,CAAEt3K,KAAI,OALxC,I,OAQA,OAHJ,SAGI,GAAM,UAAkBstK,8BAA8B95G,EAAWC,WAAYD,EAAWE,W,cADtF,kBACF,SAAiG,IAD9FnmH,EAAK,KAAE0I,EAAI,KAGd1I,EACA,IAAM,IAAA+I,MAAI,IAAAmhO,6BAA4B,CAAEz3K,KAAI,EAAEzyD,MAAK,MADnD,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAkhO,+BAA8B,CAAEx3K,KAAI,EAAE/pD,KAAI,M,OAApD,S,0CAwCR,OADA,SACA,IAAM,IAAAc,WAAU,EAAA48G,mBAAmBlnH,MAjC5B,SAAWU,G,oEAG2D,OAFnE,EAAyBA,EAAOklB,QAA9BmhG,EAAU,aAAEI,EAAM,SAE+C,IAAM,IAAAx9G,SAC3E,IAAAkwO,6BAA4B9yH,K,OAEhC,OAHyE,SAExE,cACiBnmH,QACd,KAGE2yD,GAAO,IAAAumL,2BAA0B/yH,GAEvC,IAAM,IAAAl9G,MAAI,IAAAohO,yBAAwB,CAAE13K,KAAI,O,OAGpC,OAHJ,SAGI,GAAM,UAAkBwtK,+BAA+B55G,EAAOH,WAAYG,EAAOF,SAAU,CACvF9gG,OAAQghG,EAAOhhG,U,cAFjBjc,EACF,SAIE,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAshO,yBAAwB,CAAE53K,KAAI,EAAEzyD,MAAK,MAD/C,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAqhO,2BAA0B,CAAE33K,KAAI,M,OAA1C,S,wBAGJ,EAAAt0B,2BAA2BZ,KAAK,CAAC,G,0BAMrC,S,SAjFJ,eACA,WAYA,cACA,WACA,WACA,cACA,U,0LCjBA,kBACA,UAIa,EAAApuB,oBAAsB,SAAC8pO,GAChC,IAAMtqO,EAAiB,UAAM1M,aACzB,SAAC2F,GACG,IACI,IAAMiH,EAAoBjH,EAAwBsxO,QAAWtxO,EAAwBu6K,QAErF82D,EAAYrxO,EAAwBgH,IAAKC,EAC7C,CAAE,MAAO7O,IACL,IAAAy/D,UAAS,sBAAuBz/D,EACpC,CACJ,GACA,CAACi5O,IAGL,UAAM9xO,WAAU,WAGZ,OAFA6yC,SAASwnD,iBAAiB,UAAW7yF,GAE9B,WACHqrC,SAASynD,oBAAoB,UAAW9yF,EAC5C,CACJ,GAAG,CAACA,GACR,C,2GCxBA,eAEa,EAAAk2E,yBACT,SAAC18E,GACD,gBAACxI,GACG,OAAAA,EAAM+kE,mBAAmBv8D,IAAiB,EAAAgxO,8BAA1C,CADJ,C,q7BCNJ,kBACA,cACA,WACA,cACA,UACA,WACA,WASMvkK,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,0CAA2C,CAChDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB3gB,aAEjD,EACAqvC,UAAW,CAAC,EAAA1uB,qBAAqB3gB,aAErC,CACItoC,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,kDAAmD,CACxDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB1tC,gBAEjD,EACAo8D,UAAW,CAAC,EAAA1uB,qBAAqB1tC,gBAErC,CACIvb,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,oDAAqD,CAC1DoE,MAAOiV,EAAa,EAAAiwC,qBAAqB6/I,iBAEjD,EACAnxH,UAAW,CAAC,EAAA1uB,qBAAqB6/I,iBAErC,CACI9oM,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,sDAAuD,CAC5DoE,MAAOiV,EAAa,EAAAiwC,qBAAqB6yK,uBAEjD,EACAnkJ,UAAW,CAAC,EAAA1uB,qBAAqB4yK,mBAAoB,EAAA5yK,qBAAqB6yK,uBAE9E,CACI97N,MAAO,EAAAqsD,oBAAoB1rD,SAC3BsV,WAAY,SAAC+C,EAAcozC,GACvB,IAAM10C,EAAOsB,EAAa,EAAAiwC,qBAAqB01C,oBAAsB,GAErE,OAAO,EAAA5mB,oBAAoBC,OAAOtgE,EAAM00C,EAC5C,EACAj6B,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,8CAA+C,CACpDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB01C,oBAEjD,EACAhnB,UAAW,CAAC,EAAA1uB,qBAAqBu1C,gBAAiB,EAAAv1C,qBAAqB01C,oBAE3E,CACI3+F,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAMqyF,EAAkBryF,EAAa,EAAAiwC,qBAAqBoiD,iBACpDE,EAAgBvyF,EAAa,EAAAiwC,qBAAqBsiD,eAExD,OAAO5rG,EAAE,gDAAiD,CACtDoE,OAAO,IAAAogI,4BAA2B94B,EAAiBE,IAE3D,EACA5zB,UAAW,CAAC,EAAA1uB,qBAAqBoiD,gBAAiB,EAAApiD,qBAAqBsiD,gBAE3E,CACIvrG,MAAO,EAAAqsD,oBAAoBrP,YAC3B7qB,OAAQ,SAACnZ,GACL,IAAMijO,EAAwBjjO,EAAa,EAAAiwC,qBAAqBqzG,mBAEhE,OACI,gBAAC,EAAAltJ,MAAK,CACFD,QAAQ,2CACRE,WAAY,CACRtL,MAAO,gBAAC,UAAuB,CAAC60G,cAAeqjI,MAI/D,EACAtkK,UAAW,CAAC,EAAA1uB,qBAAqBqzG,oBAErC,CACIt8J,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAM+6G,EAAiB/6G,EAAa,EAAAiwC,qBAAqB8qE,gBACnDC,EAAeh7G,EAAa,EAAAiwC,qBAAqB+qE,cAEvD,OAAOr0H,EAAE,0CAA2C,CAChDoE,OAAO,IAAAogI,4BAA2BpQ,EAAgBC,IAE1D,EACAr8C,UAAW,CAAC,EAAA1uB,qBAAqB8qE,eAAgB,EAAA9qE,qBAAqB+qE,eAE1E,CACIh0H,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAM66G,EAAkB76G,EAAa,EAAAiwC,qBAAqB4qE,iBACpDC,EAAgB96G,EAAa,EAAAiwC,qBAAqB6qE,eAExD,OAAOn0H,EAAE,4CAA6C,CAClDoE,OAAO,IAAAogI,4BAA2BtQ,EAAiBC,IAE3D,EACAn8C,UAAW,CAAC,EAAA1uB,qBAAqB4qE,gBAAiB,EAAA5qE,qBAAqB6qE,gBArGtC,GAwGzC,CAACn0H,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,+BCzIf,WAAgB,OAAS,sCAAsC,SAAW,wC,i+CCD1E,kBACA,cAEA,cACA,WACA,WACA,WACA,cACA,WAEA,cACA,UACA,cAIA,cACA,UACA,cACA,WACA,cAEMh5E,EAAK,UAAWC,KAAK,WAWd,EAAA01E,iBAAc,MACtB,EAAA51E,WAAWm6B,OAAQ,G,GAGxB,IAAMvrB,EAAgB,wBA+GtB,UA7G6C,SAACtO,GAClC,IAAAuO,EAA6DvO,EAAK,QAAzD+sC,EAAoD/sC,EAAK,iBAAvCyO,EAAkCzO,EAAK,SAA7B0O,EAAwB1O,EAAK,oBAElEsD,GAAgB,eAAmB,YAEnCzC,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEEitK,EAAiB,UAAMtpK,SAAQ,WACjC,OAAKlB,GAIE,IAAAoqK,gCAA+BpqK,KAHlC,IAAAoxB,YAAW,0DACJ,GAGf,GAAG,CAACpxB,IAEE,IAAiC,UAAMkB,SAAQ,W,MAC3C44O,EAAe7uO,EAAQsrB,MAAMxiB,KAAI,SAAC4H,GAAS,OAAAA,aAAI,EAAJA,EAAM6a,IAAN,IAAY9K,OAAO,EAAA4/B,WAC/DwuL,aAAY,EAAZA,EAAcn7O,UACf,IAAAyyB,YAAW,wBAGf,IAAM5Z,EAAM,OACL,EAAAw6D,kBAAc,MAChB,EAAA51E,WAAWm6B,OAAQujN,EAAY,IAKpC,MAAO,CAACtiO,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACvM,IAAS,GAfNiM,EAAa,KAAEupC,EAAa,KAiB7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM8e,EAAQ/e,EAAO,EAAApb,WAAWm6B,QAC3BA,aAAK,EAALA,EAAO53B,SAKPsM,aAAO,EAAPA,EAAS1I,SAKdknC,EAAiB,CAAElnC,OAAQ0I,EAAQ1I,OAAQg0B,MAAK,IAEhD9e,EAAcI,WAAW,CAAC,KANtB,IAAAuZ,YAAW,0BALX,IAAAA,YAAW,aAYnB,IAGJ,OACI,gCAAM7Z,SAAUJ,EAAOiB,cACnB,+BAAKhb,UAAWf,EAAG,SACf,wBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAWm6B,MACjB91B,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWm6B,OAChChe,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWm6B,OACrC9yB,MAAOlG,EAAE,kEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAiB,CACdiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWm6B,OAChC90B,aAAcyV,EAAc,EAAA9a,WAAWm6B,OACvC/c,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfJ,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB0oK,eAAgBA,EAChBvrK,gBAAiB,EAAAC,4BAA4B+8F,SAVzC,KAepB,wBAAC,UAAkB,CACf5wF,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9B7M,QAASgN,EACTpJ,WAAYqJ,EAAoB7K,SAEpC,CACI+K,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,WAC9BrL,KAAM,SACNoC,YAAY,aAAQoV,EAAOK,OAAO,EAAApb,WAAWm6B,OAAQrf,EAAc,EAAA9a,WAAWm6B,QAC9E7qB,UAAWN,EAAoB7K,YAMvD,C,4nGClJA,kBACA,WACA,cACA,cACA,cACA,WACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,WAeA,WACA,WACA,WACA,WAEA,WAOA,cACA,cACA,YACA,WACA,cACA,cACA,WACA,WACA,cACA,cACA,cACA,WACA,WACA,cACA,UACA,WACA,WACA,WACA,cACA,cAEA,WAEA,WACA,cACA,YACA,YACA,YAEMlE,GAAK,UAAWC,KAAK,WAMrBm/C,GAAiC,SAAC/+C,GAC5B,IAAAC,EAAUD,EAAK,MAEvB,OAAO,gBAAC,UAAkB,CAAC+oB,UAAQ,GAAE9oB,EACzC,EAQMo9O,GAAiB,MAQjBv2I,GAAwB,CAC1BC,OAAQ,IACRC,QAAS,IAePsnF,GAAiB,SACnBtmF,EACA10D,GAAgB,uBACjByR,SAAO,W,kEAEgB,SADF,IAAI,EAAAwpI,sBAAkD,QAA5B,EAAAvmF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MACpC4kF,QAAQl7I,I,OAChD,OAAKm7I,OADCA,EAAgB,eACJ,EAAbA,EAAeC,UAKL,GADG,IAAI,EAAAC,oBAAgD,QAA5B,EAAA3mF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEv+B,IAAiC,QAA5B,EAAA2wF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MAC5EglF,gBAAgBH,aAAa,EAAbA,EAAeC,WAJnD,CAAP,EAAO,M,OAKX,OADMvhL,EAAS,UAOR,CAAP,EAAO,CACHu5B,SAASL,OAHPA,GAAW,IAAAwoJ,sBAAqB1hL,SAGjB,EAARk5B,EAAUK,UAAW,UAAG4M,aAAK,EAALA,EAAOvzB,IAAG,aAAKuzB,aAAK,EAALA,EAAOtzB,KACvDszB,OAAOjN,aAAQ,EAARA,EAAUiN,QAAS,KAC1BmwG,mBAAmBp9G,aAAQ,EAARA,EAAUo9G,oBAAqB,OAR3C,CAAP,EAAO,M,QAYT65F,GACe,qBADfA,GAEkB,wBAFlBA,GAGgB,sBAGhBC,GAAqB,IAAIzuN,IAAkB,CAC7C,EAAAnO,aAAaW,uBACb,EAAAX,aAAaS,aACb,EAAAT,aAAaU,cAGXm8N,GAAkC19O,EAAMC,MAAK,SAACC,G,+DACxCqyD,GAA8CryD,EAAK,cAApC+sB,GAA+B/sB,EAAK,OAA5B+oF,GAAuB/oF,EAAK,mBAEnDa,IAAM,IAAAC,kBAAgB,EAExBw+E,IAAsB,IAAA3sD,YAAW,GAAA8qN,mCAEjC,MAAoC,IAAAp5O,UAAoB,CAC1D6qD,UAAW,KACX5U,QAAS,OACX,GAHKojM,GAAa,MAAEC,GAAgB,MAIhCC,GAAmBF,GAAcxuL,UACjC2uL,GAAiBH,GAAcpjM,QAE/BwjM,GAAiBh+O,EAAM6I,QAAgB,GAEvCo1O,IAAyB,IAAAprN,YAAW,YACpCgrF,IAAkB,IAAAhrF,YAAW,WAC7BgwG,IAAgB,IAAA3sH,aAAY,EAAA4sH,qBAC5BG,IAAoBJ,cAAa,EAAbA,GAAezzE,YAAa,KAChD+zE,IAAkBN,cAAa,EAAbA,GAAeroF,UAAW,KAC5C0jM,IAA6Br7G,cAAa,EAAbA,GAAeqc,qBAAsB,KAClEi/F,IAA2Bt7G,cAAa,EAAbA,GAAeoc,mBAAoB,KAE9Dm/F,MAAwD,QAA7B,EAAAH,cAAsB,EAAtBA,GAAwB94O,aAAK,eAAEi5O,wBAC1DC,MAAsD,QAA7B,EAAAJ,cAAsB,EAAtBA,GAAwB94O,aAAK,eAAEk5O,sBAExDn/J,GAAOl/E,EAAM0E,SAAQ,WACvB,OAAO,IAAA49K,cAAar5F,GAAoBh8D,GAC5C,GAAG,CAACg8D,GAAoBh8D,KAElB3C,GAAYtqB,EAAM0E,SAAQ,WAC5B,OAAOw6E,cAAI,EAAJA,GAAM50D,YAAa,EAC9B,GAAG,CAAC40D,KAEEzqD,IAAW,IAAAC,eAEXk0L,GAAuB5oN,EAAM0E,SAAQ,WACvC,OAAK4lB,IAKDA,GAAU0uB,MAAK,SAACt4B,GACZ,OACIA,aAAQ,EAARA,EAAUvd,QAAS,EAAA0d,aAAaW,yBAChCd,aAAQ,EAARA,EAAUvd,QAAS,EAAA0d,aAAaS,eAChCZ,aAAQ,EAARA,EAAUvd,QAAS,EAAA0d,aAAaU,WAExC,KAVO,IAYf,GAAG,CAAC+I,KAEEg0N,GAAkCt+O,EAAM0E,SAAQ,WAClD,OAAO,KAAA65O,qCAAoCt1J,GAAoBh8D,GACnE,GAAG,CAACg8D,GAAoBh8D,KAElBuxN,GAAqB,SACvBhkM,EACA4U,GAEA4uL,GAAevyO,SAAU,EAEzB,IAAMo3H,EAAyC,CAAC,EAC5CroF,IACAqoF,EAAcroF,QAAUA,GAExB4U,IACAyzE,EAAczzE,UAAYA,GAE9B36B,IAAS,IAAAusH,qBAAoBzuF,GAAetlC,GAAQ41G,GACxD,EAEM47G,GAAoB,SACtBjkM,EACA4U,GAEAyuL,GAAiB,CACbrjM,QAASA,GAAW,KACpB4U,UAAWA,GAAa,MAEhC,EAEM,KAAgBpvD,EAAMuE,SAAe,MAAK,GAAzC4jG,GAAG,MAAEC,GAAM,MACZ,KAAsBpoG,EAAMuE,SAAe,MAAK,GAA/CshB,GAAM,MAAEwiF,GAAS,MAElBs6B,IAA0B,IAAAzsH,aAAY,EAAA0sH,+BAEtC4e,IAAW,IAAAtrI,aAAY,EAAA+vJ,yBACvBy4E,IAAe,IAAAxoO,aAAY,EAAAmwJ,6BAE3Bp5C,IAA4B,IAAA/2G,aAAY,EAAAg3G,iCACxCqzB,IAA4B,IAAArqI,aAAY,EAAAoqI,iCACxCH,IAA0B,IAAAjqI,aAAY,EAAAgqI,+BACtCnd,IAAoB,IAAA7sH,aAAY,EAAA8sH,yBAEhC27G,IAAe,IAAAzoO,aAAY,EAAAgwJ,oBAC3B04E,GAAiBD,GAAap9D,UAAUp+C,MAAiCF,GAEzE98H,IAAQ,IAAA+P,aAAY,EAAAgrI,8BACpB29F,IAAiC,IAAA3oO,aAAY,EAAA4vJ,gCAE7CrjC,IAAqB,IAAAvsH,aAAY,EAAAwsH,0BACjCo8G,IAAkC,IAAA5oO,aAAY,EAAA4wJ,uCAE9Ci4E,IAA4B,IAAA7oO,aAAY,EAAA6vJ,iCAExCzrG,IAAc,IAAA51D,UAAQ,WACxB,MAAO,CACHw6E,cAAI,EAAJA,GAAM3kB,WACNkoE,cAAkB,EAAlBA,GAAoBw2G,0BACpBx2G,cAAkB,EAAlBA,GAAoBrgB,yBACpBqgB,cAAkB,EAAlBA,GAAoB0iB,kBACpB1iB,cAAkB,EAAlBA,GAAoBpgB,sBACpBogB,cAAkB,EAAlBA,GAAoBngB,qBACtBpzF,OAAO,EAAA4/B,SACb,GAAG,CACCowB,cAAI,EAAJA,GAAM3kB,WACNkoE,cAAkB,EAAlBA,GAAoBw2G,0BACpBx2G,cAAkB,EAAlBA,GAAoBrgB,yBACpBqgB,cAAkB,EAAlBA,GAAoB0iB,kBACpB1iB,cAAkB,EAAlBA,GAAoBpgB,sBACpBogB,cAAkB,EAAlBA,GAAoBngB,uBAGxB,IAAA9nD,kBAAiBF,IAEjB,IAAM6wF,IAAuB,IAAAj1I,cAAY,IAAA2kD,4BAA2BqkB,cAAI,EAAJA,GAAM3kB,aAEpEykL,IAA+B,IAAA9oO,cACjC,IAAA2kD,4BAA2B4nE,cAAkB,EAAlBA,GAAoBw2G,4BAE7CgG,IAAqC,IAAA/oO,cACvC,IAAA2kD,4BAA2B4nE,cAAkB,EAAlBA,GAAoBrgB,2BAG7C88H,IAAkC,IAAAhpO,cACpC,IAAA2kD,4BAA2B4nE,cAAkB,EAAlBA,GAAoBpgB,wBAG7C88H,IAAgC,IAAAjpO,cAClC,IAAA2kD,4BAA2B4nE,cAAkB,EAAlBA,GAAoBngB,sBAG7C88H,GAAkBn8G,GAAoBsd,GAA0Btd,IAAqB,KACrFo8G,GAAgBl8G,GAAkBgd,GAAwBhd,IAAmB,KAE7Em8G,IAAqB,IAAA56O,UAAQ,WAC/B,IAAM27E,EAAkC,GAiBxC,OAfA/1D,UAAAA,GAAWhO,SAAQ,SAACoyL,G,QAChBruH,EAAYzoE,KAAK,CAAyB,QAAxB,EAAA82L,aAAe,EAAfA,EAAiB9nK,eAAO,eAAE0O,SAAkC,QAAxB,EAAAo5J,aAAe,EAAfA,EAAiB9nK,eAAO,eAAE2O,WACpF,IAEe,CAAC8pM,GAAeD,IACxB9iO,SAAQ,SAAC0/E,IACR6mC,cAAa,EAAbA,GAAe08G,qBAAqBvjJ,aAAK,EAALA,EAAOwjJ,mBAAmBxjJ,aAAK,EAALA,EAAOyjJ,mBACrEp/J,EAAYzoE,KAAK,CAACokF,EAAMwjJ,gBAAiBxjJ,EAAMyjJ,oBAG/CzjJ,aAAK,EAALA,EAAO0jJ,oBAAoB1jJ,aAAK,EAALA,EAAO2jJ,oBAClCt/J,EAAYzoE,KAAK,CAACokF,EAAM0jJ,iBAAkB1jJ,EAAM2jJ,mBAExD,IAEOt/J,CACX,GAAG,CAAC/1D,GAAW80N,GAAiBC,GAAex8G,cAAa,EAAbA,GAAe08G,oBAExDK,IAAyB,IAAAl7O,UAAQ,WACnC,OAAO8+D,KAAKC,UAAU67K,GAC1B,GAAG,CAACA,KAEJt/O,EAAMoL,WAAU,WACZ,GAAK+8F,GAIL,GAAI61I,GAAevyO,QACfuyO,GAAevyO,SAAU,OAI7B,GAAK6zO,cAAkB,EAAlBA,GAAoBn9O,OAAzB,CAIQ,IAAAoV,EAAc4wF,GAAG,IAAZ2B,EAAS3B,GAAG,KAEnBkB,EAAS,IAAIS,EAAKG,aAExBq1I,GAAmBhjO,SAAQ,SAAC+jE,GAClB,QAAwBA,EAAW,GAAlC/qC,EAAQ,KAAEC,EAAS,KAC1B,IAAI,aAASD,KAAa,aAASC,GAAY,CAC3C,IAAMyjM,EAAS,IAAIlvI,EAAKK,OAAO70D,EAAUC,GACzC8zD,EAAOe,OAAO4uI,EAClB,CACJ,IAEAzhO,EAAI8yF,UAAUhB,EAdd,CAgBJ,GAAG,CAAClB,GAAKy3I,KAET,IAAM13I,GAAmBloG,EAAM6yB,WAAW,WAWpCgtN,GAAkC7/O,EAAM0E,SAAQ,WAClD,OAAO,IAAAo7O,uBAAsB,CACzBt+F,SAAQ,GACRqlB,YAAatmB,GACbkmB,UAAWtmB,GACX99I,QAAS,CACL09O,4BAA4B,EAC5BC,mBAAoBn9G,cAAa,EAAbA,GAAeo9G,wBACnCC,iBAAiB,EACjBC,iBAAkB9B,GAClB+B,mBAAoBhC,IAExBn7G,kBAAiB,GACjBE,gBAAe,GACfw7G,aAAY,IAGpB,GAAG,CACCn9F,GACAjB,GACAtd,GACAE,GACA26G,GACAC,GACA59F,GACAw+F,GACA97G,cAAa,EAAbA,GAAeo9G,wBACf7B,GACAC,KAGEgC,GAA+BrgP,EAAM0E,SAAQ,WAC/C,OAAO,IAAAo7O,uBAAsB,CACzBt+F,SAAQ,GACRqlB,YAAatmB,GACbkmB,UAAWtmB,GACX99I,QAAS,CACL09O,4BAA4B,EAC5BC,oBAAoB,EACpBE,iBAAiB,EACjBC,iBAAkB9B,GAClB+B,mBAAoBhC,IAExBn7G,kBAAiB,GACjBE,gBAAe,GACfw7G,aAAY,IAGpB,GAAG,CACCn9F,GACAjB,GACAtd,GACAE,GACA26G,GACAC,GACA59F,GACAw+F,GACAP,GACAC,KAGE,GAKFr+O,EAAM0E,SAAQ,WACd,IAAM47O,EAAY,KACZC,EAAkB,SAACC,EAAavgO,GAClC,MAAO,CAACugO,EAAKvgO,GAAK1I,KAAI,SAACkpO,GAAe,OAACA,EAAaH,EAAaA,CAA3B,IAAsC9wN,KAAK,IACrF,EAEMkxN,EAAmB,IAAI1xN,IAAY,IAErC0nC,EAAO,GAEPiqL,EAA+B,KACnC,IAAItB,cAAa,EAAbA,GAAeI,oBAAoBJ,cAAa,EAAbA,GAAeG,iBAAiB,CAOnE,IANAmB,EAA+B,CAC3BzgO,IAAKm/N,GAAcI,iBACnBx/N,IAAKo/N,GAAcG,iBAGvB9oL,EAAO6pL,EAAgBI,EAA6BzgO,IAAKygO,EAA6B1gO,KAC/EygO,EAAiBvxN,IAAIunC,IACxBiqL,EAA+B,EAAH,KACrBA,GAA4B,CAC/BzgO,IAAKygO,EAA6BzgO,IAAMogO,IAE5C5pL,EAAO6pL,EAAgBI,EAA6BzgO,IAAKygO,EAA6B1gO,KAG1FygO,EAAiB5mO,IAAI48C,EACzB,CAEA,IAAIkqL,EAAiC,KACrC,IAAIxB,cAAe,EAAfA,GAAiBK,oBAAoBL,cAAe,EAAfA,GAAiBI,iBAAiB,CAOvE,IANAoB,EAAiC,CAC7B1gO,IAAKk/N,GAAgBK,iBACrBx/N,IAAKm/N,GAAgBI,iBAGzB9oL,EAAO6pL,EAAgBK,EAA+B1gO,IAAK0gO,EAA+B3gO,KACnFygO,EAAiBvxN,IAAIunC,IACxBkqL,EAAiC,EAAH,KACvBA,GAA8B,CACjC1gO,IAAK0gO,EAA+B1gO,IAAMogO,IAE9C5pL,EAAO6pL,EAAgBK,EAA+B1gO,IAAK0gO,EAA+B3gO,KAG9FygO,EAAiB5mO,IAAI48C,EACzB,CAEA,IAAMmqL,EAA4BhB,GAAgCtoO,KAAI,SAACupO,GACnE,IAAIC,EAAU,EAAH,GAAQD,GAGnB,IADApqL,EAAO6pL,EAAgBQ,EAAQn4I,SAASC,YAAY,GAAIk4I,EAAQn4I,SAASC,YAAY,IAC9E63I,EAAiBvxN,IAAIunC,IACxBqqL,EAAU,EAAH,KACAA,GAAO,CACVn4I,SAAU,EAAF,KACDm4I,EAAQn4I,UAAQ,CACnBC,YAAa,CAACk4I,EAAQn4I,SAASC,YAAY,GAAKy3I,EAAWS,EAAQn4I,SAASC,YAAY,QAGhGnyC,EAAO6pL,EAAgBQ,EAAQn4I,SAASC,YAAY,GAAIk4I,EAAQn4I,SAASC,YAAY,IAIzF,OADA63I,EAAiB5mO,IAAI48C,GACdqqL,CACX,IAqBA,MAAO,CACHC,uBApB2BX,GAA6B9oO,KAAI,SAACupO,GAC7D,IAAIC,EAAU,EAAH,GAAQD,GAGnB,IADApqL,EAAO6pL,EAAgBQ,EAAQn4I,SAASC,YAAY,GAAIk4I,EAAQn4I,SAASC,YAAY,IAC9E63I,EAAiBvxN,IAAIunC,IACxBqqL,EAAU,EAAH,KACAA,GAAO,CACVn4I,SAAU,EAAF,KACDm4I,EAAQn4I,UAAQ,CACnBC,YAAa,CAACk4I,EAAQn4I,SAASC,YAAY,GAAKy3I,EAAWS,EAAQn4I,SAASC,YAAY,QAGhGnyC,EAAO6pL,EAAgBQ,EAAQn4I,SAASC,YAAY,GAAIk4I,EAAQn4I,SAASC,YAAY,IAIzF,OADA63I,EAAiB5mO,IAAI48C,GACdqqL,CACX,IAIIF,0BAAyB,EACzBF,6BAA4B,EAC5BC,+BAA8B,EAEtC,GAAG,CAACf,GAAiCQ,GAA8BhB,GAAeD,KAhG9E4B,GAAsB,0BACtBH,GAAyB,6BACzBF,GAA4B,gCAC5BC,GAA8B,kCA+F5BK,GAAuBjhP,EAAM0E,SAAQ,WACvC,IAAMukG,EAAc,IAAI,UAAajC,IAErC,OADAiC,EAAYC,KAAK23I,IACV53I,CACX,GAAG,CAAC43I,KAEEK,GAAoBlhP,EAAM0E,SAAQ,WACpC,OAAImhB,GACiBo7N,GAAqB73I,YAAYvjF,GAAOwjF,OAAQxjF,GAAOyjF,MAIrE,EACX,GAAG,CAACzjF,GAAQo7N,KAENE,GAAoBnhP,EAAM0E,SAAQ,WACpC,IAAMukG,EAAc,IAAI,UAAajC,IAErC,OADAiC,EAAYC,KAAK83I,IACV/3I,CACX,GAAG,CAAC+3I,KAEEI,GAAiBphP,EAAM0E,SAAQ,WACjC,OAAImhB,GACiBs7N,GAAkB/3I,YAAYvjF,GAAOwjF,OAAQxjF,GAAOyjF,MAIlE,EACX,GAAG,CAACzjF,GAAQs7N,KAEN1nJ,GAAe,WACjB,GAAI0O,GAAK,CACG,IAAAmB,EAASnB,GAAI5wF,IAAG,KAElBgyF,EAAQpB,GAAI5wF,IAAIiyF,YAEhBC,EAAYF,EAAMG,eAClBC,EAAYJ,EAAMK,eAExBvB,GAAU,CACNiB,KAAI,EACJD,OAAQ,CAACM,EAAUzpF,MAAOypF,EAAU1pF,MAAOwpF,EAAUvpF,MAAOupF,EAAUxpF,QAE9E,CACJ,EAEMohO,GAA2BrhP,EAAMkG,aACnC,SAACka,GACW,IAAA7I,EAAc4wF,GAAG,IAAZ2B,EAAS3B,GAAG,KAEnB4B,EAAkBo3I,GAAkBn3I,UAAU5pF,EAAWm9N,GApepD,GAseLl0I,EAAS,IAAIS,EAAKG,aAExBF,EAAgBztF,SAAQ,SAAC4tF,GACrB,IAAM12D,EAAQ,IAAIs2D,EAAKK,OAAOD,EAAQtB,SAASC,YAAY,GAAIqB,EAAQtB,SAASC,YAAY,IAE5FQ,EAAOe,OAAO52D,EAClB,IAEAj8B,EAAI8yF,UAAUhB,EAClB,GACA,CAAClB,GAAKg5I,KAGJG,GAA8BthP,EAAMkG,aACtC,SAACka,GACW,IAAA7I,EAAc4wF,GAAG,IAAZ2B,EAAS3B,GAAG,KAEnB4B,EAAkBk3I,GAAqBj3I,UAAU5pF,EAAWm9N,GAvfvD,GAyfLl0I,EAAS,IAAIS,EAAKG,aAExBF,EAAgBztF,SAAQ,SAAC4tF,GACrB,IAAM12D,EAAQ,IAAIs2D,EAAKK,OAAOD,EAAQtB,SAASC,YAAY,GAAIqB,EAAQtB,SAASC,YAAY,IAE5FQ,EAAOe,OAAO52D,EAClB,IAEAj8B,EAAI8yF,UAAUhB,EAClB,GACA,CAAClB,GAAK84I,KAGJM,GACFzC,GAAgC/6O,UACU,QAA1C,EAAAi7O,GAA6Bt7O,qBAAa,eAAEK,WACI,QAAhD,EAAAk7O,GAAmCv7O,qBAAa,eAAEK,WACL,QAA7C,EAAAm7O,GAAgCx7O,qBAAa,eAAEK,WACJ,QAA3C,EAAAo7O,GAA8Bz7O,qBAAa,eAAEK,SAE3Cy9O,GAA2B3C,GAA+B96O,QAE1D09O,MAAkG,QAA7D,EAA8C,QAA9C,EAAA1+G,GAAkBE,WAA4B,eAAEv/H,qBAAa,eAAEK,SACpG29O,MAA8F,QAA3D,EAA4C,QAA5C,EAAA3+G,GAAkBI,WAA0B,eAAEz/H,qBAAa,eAAEK,SAChG49O,GAAiCF,IAAoCC,GACrEE,GAAiC7C,cAAyB,EAAzBA,GAA2Bh7O,QAE5Dm/H,GAAkBH,GAAkBE,KAAoC,KACxEG,GAAgBL,GAAkBI,KAAgC,KAElE0+G,GAAmB,SAACtyM,G,kBAElB67D,EASA77D,EAAM,QARNw6D,EAQAx6D,EAAM,gBAPN4zF,EAOA5zF,EAAM,gBANN0zF,EAMA1zF,EAAM,kBALN+uM,EAKA/uM,EAAM,gCAJNpvB,EAIAovB,EAAM,eAHNuyM,EAGAvyM,EAAM,eAFNwyM,EAEAxyM,EAAM,cADNy9F,EACAz9F,EAAM,UAGV,GADoC,QAAlB,EAAA67D,EAAQtC,kBAAU,eAAEsC,QACvB,CACH,IAAYhrF,GAAcgrF,EAAQtC,YAAc,CAAC,GAAC,WAEtD,EAAgB,EAChB,GAAqB,EACrB,EAAa,EACb,GAAmB,EACnB,EAAa,EACb,GAAkB,EAiCtB,OA/BAiB,EAAgBztF,SAAQ,SAAC0lO,GACf,MAAyBA,EAAel5I,WAAtCtuD,EAAO,UAAE4U,EAAS,YAEpBpoB,EAAUwT,IAAY4U,EACxBpoB,IACA,GAAc,GAElB,IAAMi7M,EAAkB9+G,GAAmB3oF,IAAY2oF,EACnDn8F,GAAWi7M,IACX,GAAmB,GAGvB,IAAMl7M,GAAayT,GAAW4U,EAC1BroB,IACA,GAAiB,GAErB,IAAMm7M,EAAoBj/G,GAAqB7zE,IAAc6zE,EACzDl8F,GAAam7M,IACb,GAAqB,GAGzB,IAAMj7M,EAASuT,GAAW4U,EACtBnoB,IACA,GAAc,GAGdA,IAAWg7M,GAAmBC,KAC9B,GAAkB,EAE1B,IAGI,gBAAC,UAAe,CACZrvO,IAAKuN,EACLA,UAAWA,EACXktH,YAAa,EACbJ,iBAAkB,EAClBK,cAAe,EACfN,mBAAoB,EACpBO,WAAY,EACZL,gBAAiB,EACjBjtH,IAAKkrF,EAAQxC,SAASC,YAAY,GAClC5oF,IAAKmrF,EAAQxC,SAASC,YAAY,GAClClnG,QAASwe,EACT6sH,UAAWA,GAGvB,CAEA,IAAMxyF,EAA4B,QAAlB,EAAA4wD,EAAQtC,kBAAU,eAAEtuD,QAC9B4U,EAA8B,QAAlB,EAAAg8C,EAAQtC,kBAAU,eAAE15C,UAChC6yL,EAAkBznM,GAAWA,IAAY2oF,EACzC++G,EAAoB9yL,GAAaA,IAAc6zE,EAE/Cud,EAAwBD,GAA0BnxF,IAAc,KAChEgxF,EAAsBD,GAAwB3lG,IAAY,KAC1D2nM,EAAoB/hG,GAAuBI,EAE3Ch6H,EAAek4N,GAAat+F,aAAmB,EAAnBA,EAAqBvzH,YAAwB,KACzE00F,GACF6+B,aAAmB,EAAnBA,EAAqBvzH,YAAayxN,GAC5B,IAAA1xN,SAAQwzH,EAAoBvzH,UAAWyxN,GACvC,KACJ8D,EAA0B7gI,EAAY0L,GAA0B1L,GAAa,KAC7E8gI,EAAiCD,EACjCA,EAAwB70H,oBACxB,KAEA9mG,EAAiBi4N,GAAal+F,aAAqB,EAArBA,EAAuB3zH,YAAwB,KAC7Ew0F,GACFm/B,aAAqB,EAArBA,EAAuB3zH,YAAayxN,GAC9B,IAAA1xN,SAAQ4zH,EAAsB3zH,UAAWyxN,GACzC,KACJgE,EAA4BjhI,EAAc4L,GAA0B5L,GAAe,KACnFkhI,EAAmCD,EACnCA,EAA0B/0H,oBAC1B,KAEN,OACI,gBAAC,UAAQ,CACL16G,IAAuB,QAAlB,EAAAu4F,EAAQtC,kBAAU,eAAE18F,GACzB8T,IAAKkrF,EAAQxC,SAASC,YAAY,GAClC5oF,IAAKmrF,EAAQxC,SAASC,YAAY,GAClCtiD,UAAiC,QAAtB,EAAAs3D,cAAe,EAAfA,GAAiB14G,aAAK,eAAEg5G,aACnCqkI,YAAaL,aAAiB,EAAjBA,EAAmBM,oBAChCn7N,YAAa66N,aAAiB,EAAjBA,EAAmB76N,YAChC+6N,+BAAgCA,EAChCK,mCAAmC,aAASN,aAAuB,EAAvBA,EAAyB70H,qBACrE/mG,aAAcA,EACdg0B,QAASA,EACTmoM,2BAA2B,EAC3BC,iBAAkBxiG,aAAmB,EAAnBA,EAAqByiG,YACvCC,eAAgB1iG,aAAmB,EAAnBA,EAAqB5uH,UACrCtO,cAAek9H,aAAmB,EAAnBA,EAAqBtsF,SACpCivL,mBAAoB3iG,aAAmB,EAAnBA,EAAqB4iG,cACzCf,gBAAiBA,EACjB7yL,UAAWA,EACX6zL,6BAA6B,EAC7BC,mBAAoB1iG,aAAqB,EAArBA,EAAuBqiG,YAC3CM,iBAAkB3iG,aAAqB,EAArBA,EAAuBhvH,UACzC4xN,gBAAiB5iG,aAAqB,EAArBA,EAAuB1sF,SACxCuvL,qBAAsB7iG,aAAqB,EAArBA,EAAuBwiG,cAC7CT,iCAAkCA,EAClCe,qCAAqC,aAAShB,aAAyB,EAAzBA,EAA2B/0H,qBACzE9mG,eAAgBA,EAChBy7N,kBAAmBA,EACnBvgP,QAASmgP,EACT5yB,QAAS6yB,EACT/0G,UAAWA,EACXoxG,uBAAqD,QAA7B,EAAAH,cAAsB,EAAtBA,GAAwB94O,aAAK,eAAEi5O,uBACvDC,qBAAmD,QAA7B,EAAAJ,cAAsB,EAAtBA,GAAwB94O,aAAK,eAAEk5O,sBAGjE,EAuCMkF,GAAuB,SACzBpxL,EACAqxL,GAEA,IAAMn2O,EAAiC,GAEvC,OAAKw1H,cAAa,EAAbA,GAAe4gH,sBAIpBD,SAAAA,EAAgBlnO,SAAQ,SAAColH,EAAegiH,GACpC,IAAMhwN,EAASy+B,IAAc,EAAA3I,cAAcvlC,MAAQy9G,EAAc4N,YAAc5N,EAAc8N,cACzF97G,IAAU,aAASA,EAAO4hB,YAAa,aAAS5hB,EAAO6hB,YACvDloC,EAAOuK,KACH,gBAAC,UAAgB,CACbu6C,UAAWA,EACXrqC,YAAY45G,aAAa,EAAbA,EAAet1H,MAAOu2H,GAClC1iH,IAAKyT,EAAO4hB,SACZp1B,IAAKwT,EAAO6hB,UACZ1nC,OAAQ,EAAI61O,EAAqB,KAK7C,IAAM/vN,EACFw+B,IAAc,EAAA3I,cAAcvlC,MAAQy9G,EAAc6N,iBAAmB7N,EAAc+N,mBACnF97G,IAAe,aAASA,EAAY2hB,YAAa,aAAS3hB,EAAY4hB,YACtEloC,EAAOuK,KACH,gBAAC,UAAgB,CACbu6C,UAAWA,EACXrqC,YAAY45G,aAAa,EAAbA,EAAet1H,MAAOu2H,GAClC1iH,IAAK0T,EAAY2hB,SACjBp1B,IAAKyT,EAAY4hB,UACjB1nC,OAAQ,EAAI61O,EAAqB,IAIjD,IAEOr2O,GAhCIA,CAiCf,EAEM,MAAkC,IAAA9I,UAG9B,MAAK,GAHRo/O,GAAY,MAAEC,GAAe,MAK9Bl0D,GAAiB,SAACC,EAAkBC,EAAiBC,GAEnDF,IAAa6tD,IACb7tD,IAAa6tD,IACb7tD,IAAa6tD,IAKjBoG,GAAgB,CACZj0D,SAAQ,EACRn8I,MAAO,CACHvzB,IAAK4vK,EAAM5vK,IACXC,IAAK2vK,EAAM3vK,MAGvB,EA4CM2jO,IAAuB,IAAAn/O,UAAQ,WACjC,OAAO,IAAAo/O,4BAA2B76J,GAAoBh8D,GAC1D,GAAG,CAACg8D,GAAoBh8D,KAElB82N,IAA6B,IAAAr/O,UAAQ,W,MACvC,QAAQ,aAAQw5O,cAA0B,EAA1BA,GAA4B1qM,MAAqC,QAA9B,EAAAqwM,cAAoB,EAApBA,GAAsBt9M,gBAAQ,eAAEiN,MACvF,GAAG,CAAC0qM,GAA4B2F,KAE1BG,IACFL,cAAY,EAAZA,GAAch0D,YAAa6tD,GACrBmG,cAAY,EAAZA,GAAcnwM,MACd0qM,cAA0B,EAA1BA,GAA4B1qM,MAEhCywM,IACFN,cAAY,EAAZA,GAAch0D,YAAa6tD,GACrBmG,cAAY,EAAZA,GAAcnwM,MACd0qM,cAA0B,EAA1BA,GAA4B1qM,MAEhC0wM,IAA2B,IAAAx/O,UAAQ,W,MACrC,QAAQ,aAAQy5O,cAAwB,EAAxBA,GAA0B3qM,MAAqC,QAA9B,EAAAqwM,cAAoB,EAApBA,GAAsBt9M,gBAAQ,eAAEiN,MACrF,GAAG,CAAC2qM,GAA0B0F,KAExBM,IACFR,cAAY,EAAZA,GAAch0D,YAAa6tD,GAA+BmG,cAAY,EAAZA,GAAcnwM,MAAQ2qM,cAAwB,EAAxBA,GAA0B3qM,MAExG4wM,IAA8B,IAAA1/O,UAAQ,WACxC,OAAO,aAAQs/O,GAAwBG,GAC3C,GAAG,CAACH,GAAwBG,KAE5B,OACI,gC,iCACK,UAAc,CACXtxO,IAAI,aACJ28K,WAAYm0D,GACZn5I,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBxoG,QAAS,EAAAyoG,YACTC,kBA/kBQ,SAAC5C,G,MACjBC,GAAOD,GAEC,IAAA5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAGE,QAA3B,EAAAD,GAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,EAykBY0zF,UAAWxR,GACXyR,mBAAoBzR,GACpB0R,oCAAkC,EAClC6kF,iBAAkBN,GAClBO,eArFU,SAAON,EAAkBC,EAAiBC,GAAgB,0C,0DACxD,SAAMrB,GAAetmF,GAAkB2nF,I,OAC3D,OADMw0D,EAAc,WAKdr7M,EAAmC,CAAC,EAEtC2mJ,IAAa6tD,GACbx0M,EAAQk2G,mBAAqBmlG,EACtB10D,IAAa6tD,GACpBx0M,EAAQi2G,iBAAmBolG,EACpB10D,IAAa6tD,KACpBx0M,EAAQk2G,mBAAqBmlG,EAC7Br7M,EAAQi2G,iBAAmBolG,IAG1B,aAAQr7M,IACTvU,IAAS,IAAAusH,qBAAoBzuF,GAAetlC,GAAQ+b,IAGxD46M,GAAgB,M,KAlBZ,I,QAmFI1zD,iBAAkBR,GAClB/tL,QA/DW,SAAOkK,GAAsB,0C,0EAMhD,QAHyB,QAApB,EAAY,QAAZ,EAAAA,aAAK,EAALA,EAAOA,aAAK,eAAEoc,cAAM,eAAErnB,aACI,QAA3B,EAAoB,QAApB,EAAY,QAAZ,EAAAiL,aAAK,EAALA,EAAOA,aAAK,eAAEoc,cAAM,eAAE5f,aAAK,eAAG,aACI,SAAd,QAApB,EAAY,QAAZ,EAAAwD,aAAK,EAALA,EAAOA,aAAK,eAAEoc,cAAM,eAAEq8N,SAKN,GAAM91D,GAAetmF,GAAkBr8F,IAHvD,I,OAIJ,OADMw4O,EAAc,WAK4B,QAAhD,EAAsC,QAAtC,EAAA7kK,GAAoBiB,0BAAkB,eAAEptB,gBAAQ,gBAAGgxL,G,KAH/C,I,SAqDK/5N,GAAU/S,KAAI,SAACmJ,EAAUlJ,G,QACtB,IAAKkJ,EACD,OAAO,KAGX,IAAK+8N,GAAmBtuN,IAAIzO,EAASvd,MACjC,OAAO,KAGX,IAAItB,EAAY,EAAAC,qBAAqBC,SAKrC,OAJI2e,EAASvd,OAAS,EAAA0d,aAAaS,eAC/Bzf,EAAY,EAAAC,qBAAqB+W,MAIjC,gBAAC,UAAa,CACVhL,QAAS6S,EAASlJ,OAAS,GAAK,EAChC3E,IAAK,sBAAe6N,EAASlJ,MAAK,YAAIA,GACtC5W,UAAWf,GAAG,mBACdgC,UAAWA,EACXqe,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,UAGpC,IACC2uM,IACGC,IACAH,IACAK,IACI,gBAAC,UAAuB,CACpBjyL,UAAW,KACXt/C,IAAK2qO,GACL58O,UAAWf,GAAG,YACdogB,IAAKgkO,GAAoBhkO,IACzBC,IAAK+jO,GAAoB/jO,IACzB9e,OACMo+E,cAAmB,EAAnBA,GAAqB+kK,4BACrB/kK,cAAmB,EAAnBA,GAAqBglK,wBACjB,GAAA/jO,gBAAgBzM,UAChB,GAAAyM,gBAAgB1e,WAIrCiiP,IAA0BD,KAA+BK,IACtD,gBAAC,UAAuB,CACpBjyL,UAAW,EAAA3I,cAActlC,QACzBrR,IAAK2qO,GACL58O,UAAWf,GAAG,YACdogB,IAAK+jO,GAAuB/jO,IAC5BC,IAAK8jO,GAAuB9jO,IAC5B9e,OACIo+E,cAAmB,EAAnBA,GAAqB+kK,0BACf,GAAA9jO,gBAAgBzM,UAChB,GAAAyM,gBAAgB1e,WAIjCoiP,IAAwBD,KAA6BE,IAClD,gBAAC,UAAuB,CACpBjyL,UAAW,EAAA3I,cAAcvlC,MACzBpR,IAAK2qO,GACL58O,UAAWf,GAAG,YACdogB,IAAKkkO,GAAqBlkO,IAC1BC,IAAKikO,GAAqBjkO,IAC1B9e,OACIo+E,cAAmB,EAAnBA,GAAqBglK,wBACf,GAAA/jO,gBAAgBzM,UAChB,GAAAyM,gBAAgB1e,YAGjC,EArQiB,WAC1B,IAAM0iP,EAA2C,GAEjD,KAAK5hH,cAAa,EAAbA,GAAe08G,mBAChB,OAAOkF,EAGX,GAAI7F,GAAgB,CAChB,IAAM8F,EAAsB/D,GACxB+D,GACAD,EAAsB7sO,KAClB,gBAAC,UAAuB,CAACqvB,QAAM,EAAChnB,IAAKykO,EAAoBzkO,IAAKC,IAAKwkO,EAAoBxkO,MAGnG,KAAO,CACH,IAAMykO,EAAuBhE,GACzBgE,GACAF,EAAsB7sO,KAClB,gBAAC,UAAuB,CAACovB,SAAO,EAAC/mB,IAAK0kO,EAAqB1kO,IAAKC,IAAKykO,EAAqBzkO,OAIlG,IAAM0kO,EAAyBhE,GAC3BgE,GACAH,EAAsB7sO,KAClB,gBAAC,UAAuB,CACpBmvB,WAAS,EACT9mB,IAAK2kO,EAAuB3kO,IAC5BC,IAAK0kO,EAAuB1kO,MAI5C,CAEA,OAAOukO,CACX,CAmOgBI,KAAuB,IAC1B3D,GAAkB3pO,KAAI,SAAC6zF,G,MACAhrF,GAAcgrF,EAAQtC,YAAc,CAAC,GAAC,WAIpDiB,GAF8B,QAAlB,EAAAqB,EAAQtC,kBAAU,eAAEsC,SAGhC61I,GAAqBj3I,UAAU5pF,EAAWm9N,GA/6B7C,GAg7BG,GAEN,OAAOsE,GAAiB,CACpBz2I,QAAO,EACPrB,gBAAe,EACfo5B,gBAAe,GACfF,kBAAiB,GACjBq7G,gCAA+B,GAC/Bn+N,eAAgBmhO,GAChBQ,eAAgBtD,GAChBuD,cAAetD,GACfzxG,WAAW,GAEnB,IACCo0G,GAAe7pO,KAAI,SAAC6zF,G,MACGhrF,GAAcgrF,EAAQtC,YAAc,CAAC,GAAC,WAIpDiB,GAF8B,QAAlB,EAAAqB,EAAQtC,kBAAU,eAAEsC,SAGhC+1I,GAAkBn3I,UAAU5pF,EAAWm9N,GAp8B1C,GAq8BG,GAEN,OAAOsE,GAAiB,CACpBz2I,QAAO,EACPrB,gBAAe,EACfo5B,gBAAe,GACfF,kBAAiB,GACjBq7G,gCAA+B,GAC/Bn+N,eAAgBkhO,GAChBS,eAAgBtD,GAChBuD,cAAetD,GACfzxG,WAAW,GAEnB,MAAE,KACEu2G,GAAqB,EAAA/5L,cAActlC,QAASg/G,cAAe,EAAfA,GAAiB3B,UAAO,KACpEgiH,GAAqB,EAAA/5L,cAAcvlC,MAAOm/G,cAAa,EAAbA,GAAe7B,UAAO,IAExE,gBAAC,UAAO,CACJhqH,IAAK4wF,cAAG,EAAHA,GAAK5wF,IACVuyF,KAAM3B,cAAG,EAAHA,GAAK2B,KACX1oG,MAAO,EAAAi0G,iBAAiByvI,mBACxBvvI,UAAwC,QAA7B,EAAAqzG,cAAoB,EAApBA,GAAsBhiL,eAAO,eAAE0O,SAC1CkgE,UAAwC,QAA7B,EAAAozG,cAAoB,EAApBA,GAAsBhiL,eAAO,eAAE2O,UAC1CkgE,SAAStvG,cAAK,EAALA,GAAOqvC,UAAWrvC,GAAMqvC,SAAW,EAAAy4C,QAAU,UAEvDw0C,cAAkB,EAAlBA,GAAoBw2G,4BACnB,gBAAC,UAAQ,CACLpmO,IAAI,sBACJ0E,IAAK4wF,cAAG,EAAHA,GAAK5wF,IACVuyF,KAAM3B,cAAG,EAAHA,GAAK2B,KACX4B,gBAAwD,QAAvC,GAA4B,QAA5B,EAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,eAAE61D,iBAAS,iBAAE/C,SAC1DhgD,UAAWo2L,GAA6BryO,KACxCvL,MAAO,EAAAwqG,kBAAkBm5I,oBACzBh5I,OAAQ,OAGb02B,cAAkB,EAAlBA,GAAoBrgB,2BACnB,gBAAC,UAAQ,CACLvvG,IAAI,4BACJ0E,IAAK4wF,cAAG,EAAHA,GAAK5wF,IACVuyF,KAAM3B,cAAG,EAAHA,GAAK2B,KACX4B,gBAAwD,QAAvC,GAA4B,QAA5B,GAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,iBAAE61D,iBAAS,iBAAE/C,SAC1DhgD,UAAWq2L,GAAmCtyO,KAC9CvL,MAAO,EAAAwqG,kBAAkBm5I,oBACzBh5I,OAAQ,OAGb02B,cAAkB,EAAlBA,GAAoBpgB,wBACnB,gBAAC,UAAQ,CACLxvG,IAAI,0BACJ0E,IAAK4wF,cAAG,EAAHA,GAAK5wF,IACVuyF,KAAM3B,cAAG,EAAHA,GAAK2B,KACX4B,gBAAwD,QAAvC,GAA4B,QAA5B,GAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,iBAAE61D,iBAAS,iBAAE/C,SAC1DhgD,UAAWs2L,GAAgCvyO,KAC3CvL,MAAO,EAAAwqG,kBAAkBm5I,oBACzBh5I,OAAQ,OAGb02B,cAAkB,EAAlBA,GAAoBngB,sBACnB,gBAAC,UAAQ,CACLzvG,IAAI,uBACJ0E,IAAK4wF,cAAG,EAAHA,GAAK5wF,IACVuyF,KAAM3B,cAAG,EAAHA,GAAK2B,KACX4B,gBAAwD,QAAvC,GAA4B,QAA5B,GAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,iBAAE61D,iBAAS,iBAAE/C,SAC1DhgD,UAAWu2L,GAA8BxyO,KACzCvL,MAAO,EAAAwqG,kBAAkBm5I,oBACzBh5I,OAAQ,IAGhB,gBAAC,UAAQ,CACLx0F,IAAK4wF,cAAG,EAAHA,GAAK5wF,IACVuyF,KAAM3B,cAAG,EAAHA,GAAK2B,KACX4B,gBAAwD,QAAvC,GAA4B,QAA5B,GAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,iBAAE61D,iBAAS,iBAAE/C,SAC1DhgD,UAAWuiG,GAAqBx+I,KAChCkG,IAAI,QACJzR,MACIuhI,KAA4B,EAAAvB,4BACtB,EAAAx1B,kBAAkBo5I,mBAClB,EAAAp5I,kBAAkBq5I,gBAE5Bl5I,OAAQ,KAEX82B,cAAa,EAAbA,GAAe4gH,uBACW,QAAvB,GAAAvgH,cAAe,EAAfA,GAAiB3B,cAAM,iBAAEhqH,KAAI,SAACmqH,G,QACpBr7F,GAAQ68F,cAAe,EAAfA,GAAiBgiH,UAAUxjH,aAAa,EAAbA,EAAet1H,MAA2B,GAEnF,OACI,gBAAC,UAAQ,CACLyG,IAAK,wBAAiB6uH,aAAa,EAAbA,EAAet1H,IACrCmL,IAAK4wF,cAAG,EAAHA,GAAK5wF,IACVuyF,KAAM3B,cAAG,EAAHA,GAAK2B,KACX4B,gBAAwD,QAAvC,EAA4B,QAA5B,EAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SAC1DhgD,UAAWviB,EACXjlC,MACIuhI,MAA4BjB,aAAa,EAAbA,EAAet1H,IACrC,EAAAw/F,kBAAkBo5I,mBAClB,EAAAp5I,kBAAkBq5I,gBAE5Bl5I,OAAQ,GAGpB,MACH82B,cAAa,EAAbA,GAAe4gH,uBACS,QAArB,GAAArgH,cAAa,EAAbA,GAAe7B,cAAM,iBAAEhqH,KAAI,SAACmqH,G,QAClBr7F,GAAQ+8F,cAAa,EAAbA,GAAe8hH,UAAUxjH,aAAa,EAAbA,EAAet1H,MAA2B,GAEjF,OACI,gBAAC,UAAQ,CACLyG,IAAK,sBAAe6uH,aAAa,EAAbA,EAAet1H,IACnCmL,IAAK4wF,cAAG,EAAHA,GAAK5wF,IACVuyF,KAAM3B,cAAG,EAAHA,GAAK2B,KACX4B,gBAAwD,QAAvC,EAA4B,QAA5B,EAAAxD,cAAgB,EAAhBA,GAAkBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SAC1DhgD,UAAWviB,EACXjlC,MACIuhI,MAA4BjB,aAAa,EAAbA,EAAet1H,IACrC,EAAAw/F,kBAAkBo5I,mBAClB,EAAAp5I,kBAAkBq5I,gBAE5Bl5I,OAAQ,GAGpB,KACJ,uBAAKnrG,UAAWf,GAAG,YACf,gBAAC,UAAU,CAAC0yD,cAAeA,GAAe02B,mBAAoBA,GAAoBh8D,OAAQA,MACxFs0N,IAAkCC,IAA4BG,KAC5D,uBAAK/gP,UAAWf,GAAG,sBACd0hP,IACG,uBAAK3gP,UAAWf,GAAG,WACf,gBAACo/C,GAAM,CAAC9+C,MAAOY,GAAE,+BAGxBygP,IACG,uBAAK5gP,UAAWf,GAAG,WACf,gBAACo/C,GAAM,CAAC9+C,MAAOY,GAAE,uCAGxB4gP,IACG,uBAAK/gP,UAAWf,GAAG,WACf,gBAACo/C,GAAM,CAAC9+C,MAAOY,GAAE,qCAGxB6gP,IACG,uBAAKhhP,UAAWf,GAAG,WACf,gBAACo/C,GAAM,CAAC9+C,MAAOY,GAAE,6CAQjD,IAEA,UAAe28O,E,+BCrrCf,WAAgB,KAAO,iCAAiC,iBAAiB,2CAA2C,OAAS,mCAAmC,SAAW,qC,6aCC3K,eAEA,cAEMyH,EAA6B,SAACvhP,EAAuBL,GACvD,OAAKA,GAIEK,EAAM2/B,iBAAiBhgC,IAHnB,EAAA4+N,2BAIf,EAEa,EAAAmY,mCAAqC,SAAC/2O,GAC/C,OAAO,SAACK,GACJ,OAAOuhP,EAA2BvhP,EAAOL,GAAW8+N,qBACxD,CACJ,EAEa,EAAAx7I,mCAAqC,SAACtjF,GAC/C,OAAO,SAACK,GACJ,OAAOuhP,EAA2BvhP,EAAOL,GAAWqjF,qBACxD,CACJ,EAEa,EAAAw+J,mCAAqC,SAAC7hP,GAC/C,OAAO,SAACK,GACJ,OAAOuhP,EAA2BvhP,EAAOL,GAAW++N,qBACxD,CACJ,EAEa,EAAA+iB,qCAAuC,SAAC9hP,GACjD,OAAO,SAACK,GACJ,OAAOuhP,EAA2BvhP,EAAOL,GAAWg/N,uBACxD,CACJ,EAEa,EAAAx7I,gCAAkC,SAACxjF,GAC5C,OAAO,SAACK,GACJ,OAAOuhP,EAA2BvhP,EAAOL,GAAWujF,kBACxD,CACJ,EAEa,EAAAtjD,uBAAyB,SAACjgC,GACnC,OAAO,SAACK,GACJ,OAAOuhP,EAA2BvhP,EAAOL,GAAW6+N,SACxD,CACJ,EAEa,EAAAkjB,0BAA4B,SAAC/hP,GACtC,OAAO,SAACK,GACJ,OAAOuhP,EAA2BvhP,EAAOL,GAAW6+N,UAAU,EAClE,CACJ,EAEa,EAAAmjB,0BAA4B,SAAChiP,GACtC,OAAO,SAACK,GACI,IAAAw+N,EAAc+iB,EAA2BvhP,EAAOL,GAAU,UAElE,OAAO,aAAM6+N,EAAW,KAC5B,CACJ,C,+BC7DA,WAAgB,QAAU,0CAA0C,OAAS,yCAAyC,SAAW,2C,+BCAjI,WAAgB,eAAe,oCAAoC,OAAS,8BAA8B,SAAW,gC,+hDCDrH,kBACA,WAEA,cACA,YAOa,EAAAojB,6BAA0B,MAClC,EAAAC,gBAAgBx8K,MAAO,EAAAn1D,0BAA0BO,SAClD,EAAC,EAAAoxO,gBAAgB9/M,WAAY,EAAA7xB,0BAA0B1B,OACvD,EAAC,EAAAqzO,gBAAgBv8K,aAAc,EAAAp1D,0BAA0BC,UACzD,EAAC,EAAA0xO,gBAAgBp5N,UAAW,EAAAvY,0BAA0BvB,Q,GAG1D,IAAMmzO,EAAoC1lP,EAAMC,MAAK,SAACC,GAC1C,IAAAopB,EAAyBppB,EAAK,OAAnBusB,EAAS,EAAKvsB,EAA3B,YAEN,OAAKopB,EAKD,gBAAC,UAAS,GAAC7U,UAAQ,GAAKgY,EAAS,CAAErrB,MAAO,EAAAokP,2BAA2Bl8N,KACjE,gBAAC,UAAW,CAACA,OAAQA,KALlB,IAQf,IAEA,UAAeo8N,C,40DCkBN,EAAAC,kBAJT,SAA4B94O,G,kDACxB,UAAM,IAAAY,WAAU,EAAAshN,qBAAqB5rN,KAAMyiP,EAAqB/4O,K,cAAhE,S,SA/CJ,eACA,WAQA,cACA,cACA,cACA,WACA,WAEA,SAAS+4O,EAAqB/4O,GAC1B,OAAO,SAAWhJ,G,oEAGd,OAFM,EAAiDA,EAAOklB,QAAtD+lM,EAA+B,kCAAE1tJ,EAAS,YAElD,IAAM,IAAAp0D,MAAI,IAAA64O,2BAA0B,CAAC,K,OAErB,OAFhB,SAEgB,GAAM,UAAkBrhB,cAAc,EAAD,KAC9C1V,GAA+B,CAClCjiN,YAAW,EACXmvE,SAAU,UAAKA,a,cAHb,kBAAU,SAId,KAJK/3E,EAAK,MAOR,IAAM,IAAA+I,MAAI,IAAA84O,2BAA0B,CAAE7hP,MAAK,MAD3C,M,OAEA,OADA,SACA,I,OAG6B,SAAM,EAAA4gD,QAAQkhM,qB,OAE/C,OAFM,kBAA2B,SAAiC,IAA3DC,EAAsB,KAE7B,IAAM,IAAAh5O,MACF,IAAAi5O,6BAA4B,CACxB73L,WAAY43L,M,cAFpB,SAMKA,GACD,UAAQpuO,MAAK,IAAAg3M,oBAAmBxtJ,I,QAG5C,C,q7BC5CA,kBACA,cAEA,WACA,WACA,WAEA,aAOM8kL,EAAgClmP,EAAMC,MAAK,SAACC,GACtC,IAAAU,EAA+FV,EAAK,UAAzFkjC,EAAoFljC,EAAK,IAApF0qI,EAA+E1qI,EAAK,mBAAhEyqI,EAA2DzqI,EAAK,iBAA9C4qI,EAAyC5qI,EAAK,iBAA5B2qI,EAAuB3qI,EAAK,mBAEtG2hC,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAC1BF,GAAqB,eAErByB,GAAgBD,aAAG,EAAHA,EAAKC,gBAAiB,KACtC45F,GAAe75F,aAAG,EAAHA,EAAK65F,eAAgB,KAEpC56H,GAAU,IAAAu1I,2BAA0B,CACtCC,sBAAuBx0G,EACvB45F,aAAY,EACZp7F,YAAW,EACXD,mBAAkB,EAClBw7E,UAAW,CACPwtB,mBAAkB,EAClBD,iBAAgB,EAChBG,iBAAgB,EAChBD,mBAAkB,KAI1B,OAAO,gBAAC,UAAY,CAACjqI,UAAWA,EAAWyB,QAASA,GACxD,IAEA,UAAe6jP,C,sHCtCf,eACA,WACA,WAEa,EAAA3H,oCAAsC,SAC/Ct1J,EACAh8D,GAEA,IAAMiyD,GAAO,IAAAojG,cAAar5F,EAAoBh8D,GAGxCk5N,IAFYjnK,aAAI,EAAJA,EAAM50D,YAAa,IAGvB0uB,MAAK,SAACt4B,GACZ,OACIA,aAAQ,EAARA,EAAUvd,QAAS,EAAA0d,aAAaW,yBAA0Bd,aAAQ,EAARA,EAAUvd,QAAS,EAAA0d,aAAaU,WAElG,KAAM,KAEJs0I,GACFswF,aAA2B,EAA3BA,EAA6B1nI,yBAAyB0nI,aAA2B,EAA3BA,EAA6BpjK,uBAAwB,KAC/G,OAAK8yE,GAIE,IAAA59I,gBAAe49I,GAHX,IAIf,C,+BCzBA,WAAgB,QAAU,uCAAuC,iBAAiB,8CAA8C,kBAAkB,+CAA+C,QAAU,uCAAuC,OAAS,sCAAsC,SAAW,wC,kTCC5S,eACA,WAEMj5B,EAAa,CAAC,EAAAh9H,WAAW+G,OAW/B,UATiB,SAAC5F,EAAcia,GAM5B,OALY,QACL,IAAA2I,eAAc5iB,EAAG67H,EAAY5hH,KAC7B,IAAA4iG,YAAW78G,EAAG67H,EAAY5hH,GAIrC,C,kTCbA,eACA,WACA,WAEMiI,EAAkB,CAAC,EAAArjB,WAAWkZ,KAAM,EAAAlZ,WAAW4iB,aAAc,EAAA5iB,WAAW+iB,cAAe,EAAA/iB,WAAWgjB,MAwBxG,UAtBiB,SAAC7hB,EAAcia,GAC5B,IAAMc,EAAM,QACL,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAAgP,gBAAejpB,EAAG,CAAC,EAAAnB,WAAWkZ,KAAM,EAAAlZ,WAAWiO,QAASmN,EAAQ,MAGjEwH,EAAexH,EAAO,EAAApb,WAAW4iB,cACjCG,EAAgB3H,EAAO,EAAApb,WAAW+iB,eAYxC,OAVIH,GAAgBG,IAAiB,IAAAulH,YAAW1lH,EAAcG,GAAiB,EAAA0hC,iCAC3EvoC,EAAO,EAAAlc,WAAW+iB,eAAiB5hB,EAAE,wEAAyE,CAC1G+B,MAAO,EAAAuhD,kCAIX7hC,GAAgBG,GAAiBH,GAAgBG,IACjD7G,EAAO,EAAAlc,WAAW+iB,eAAiB5hB,EAAE,0EAGlC+a,CACX,C,87CC3BA,kBAEA,cACA,cACA,cACA,cACA,cACA,UACA,cAKA,cACA,WACA,WAEA,cACA,cACA,cAGA,cACA,cAGA,cACA,cACA,WACA,cACA,cACA,cACA,WAcMjc,EAAK,UAAWC,KAAK,WAOrBsmP,EAA+CpmP,EAAMC,MAAK,SAACC,GAEzD,IA4FwB2D,EA5FxB0mF,EASArqF,EAAK,aARLm2K,EAQAn2K,EAAK,wBAPLw2K,EAOAx2K,EAAK,aANL8E,EAMA9E,EAAK,UALLkQ,EAKAlQ,EAAK,YAJLu2K,EAIAv2K,EAAK,YAHLy2K,EAGAz2K,EAAK,SAFL02K,EAEA12K,EAAK,WADL42K,EACA52K,EAAK,OAEDa,GAAM,IAAAC,kBAAgB,EAExBi/C,EAA2BjgD,EAAM6yB,WAAW,WAE5CwzN,EAAmBrmP,EAAMkG,aAAY,WACvCo6C,OAAOl3C,MAAK,IAAAk9O,eAAc7vE,GAC9B,GAAG,CAACA,IAEE5nK,EAAU7O,EAAM0E,SAAQ,WAC1B,IAAM6hP,EAAuBlwE,IAA4BK,EAEnD8vE,KAAe/vE,aAAW,EAAXA,EAAa5nJ,QAElC,OAAO,EAAP,OACQ23N,EACE,CACI,CACIv/O,MAAOlG,EAAE,4BACTsL,KACI,gBAAC,UAAO,CACJiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1CvR,SAAUihP,IAGlB,KAAG,KACLE,GAAwB3vE,EACtB,CACI,EAAA17E,kBAAkBC,UAClB,CACI9uF,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBkS,YACjD/M,MAAOlG,EAAE,6BACTqE,SAAU,W,UACDJ,KAIuC,QAAxC,EAAAi7C,EAAyB+yD,uBAAe,eAAEirB,WACkB,QAA5D,EAA4C,QAA5C,EAAAh+E,EAAyBC,2BAAmB,eAAEk0H,sBAAc,iBAShEwC,EALmD,CAC/CrzK,UAAWyB,EACXoL,YAAW,IAInB,IAGR,KAAG,EAEjB,GAAG,CACCi2O,EACAtlP,EACA21K,EACAE,EACAP,EACAI,EACAzxK,EACAoL,EACA6vC,IAGE5/C,GAAkB,IAAAqE,UAAQ,WAC5B,OAAOmK,EAAQ0I,KAAI,SAAC1T,GAChB,OAAI,IAAAo3H,sBAAqBp3H,GACdA,EAGJ,CACHoD,MAAO,gBAAC,UAA0B,CAACA,MAAOpD,EAAOoD,MAAOoF,KAAMxI,EAAOwI,OACrEjH,SAAUvB,EAAOuB,SAEzB,GACJ,GAAG,CAACyJ,IA6BJ,OACI,gCACK07E,GACG,gBAAC,UAAsB,CAAC3pF,UAAWf,EAAG,WAClC,gBAAC,UAAkB,CACfoH,MAAsBlG,EAAf21K,EAAiB,8BAAmC,2BAC3Dl9E,MAAOk9E,EAAe,EAAA50K,qBAAqB0Q,OAAS,EAAA1Q,qBAAqBojG,eAIpFwxE,GAAgBL,GAA2BM,GACxC,gBAAC,UAAsB,KACnB,gBAAC,UAAkB,CACfh1K,QAAS,W,UACAqD,KAIuC,QAAxC,EAAAi7C,EAAyB+yD,uBAAe,eAAEirB,WACkB,QAA5D,EAA4C,QAA5C,EAAAh+E,EAAyBC,2BAAmB,eAAEk0H,sBAAc,iBAShEuC,EALmD,CAC/CpzK,UAAWyB,EACXoL,YAAW,IAInB,EACAnJ,MAAOlG,EAAE,0BACTH,UAAWf,EAAG,oBACd+B,SAAU,gBAAC,UAAQ,CAACC,UAAW,EAAAC,qBAAqB6U,UAAWL,KAAM,EAAAC,oBACrEvU,gBAAiB,EAAAC,oBAAoBC,SAIhD40K,GACG,gBAAC,UAAO,CACJ71K,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACC,UAAQ,EAACE,MAAO,IAAKN,MAAO,EAAAK,wBAAwBH,OAC/DP,EAAE,6EAIV,SAAC8yB,GAAW,OACT,gBAAC,UAAW,CAAC+D,UAAW/D,EAAQlyB,QAASm1K,IACpC,WAAM,uBAAC,UAAQ,CAACl2K,UAAWf,EAAG,QAAS+W,YAAa,EAAA9U,qBAAqBI,OAAnE,GAFF,IAOrB,gBAAC,UAAsB,KACC,IAAnB2M,EAAQ1M,QAlFO0B,EAmFOgL,EAAQ,IAlFnC,IAAAosH,sBAAqBp3H,KAAYA,EAC1B,KAIP,gBAAC,UAAO,CACJ5C,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACC,UAAQ,EAACE,MAAO,IAAKN,MAAO,EAAAK,wBAAwBH,OAC/DuC,EAAOoD,SAIf,SAAC4sB,GAAW,OACT,gBAAC,UAAkB,CACfrxB,UAAWqxB,EACXlyB,QAASkC,EAAOuB,SAChBpD,gBAAiB,EAAAC,oBAAoBC,MACrCN,SAAUiC,EAAOwI,MALZ,KAsET,gBAAC,UAAe,CACZhK,QAAShC,EACTiC,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTK,gBAAiB,EAAAC,oBAAoBC,MACrCN,SAAU,gBAAC,UAAQ,MACnBf,aAAa,gBANiB,EAStC4B,gBAAiB,EAAAC,4BAA4BC,eAMrE,IAEA,UAAeyjP,C,+BC1Pf,WAAgB,MAAQ,gCAAgC,QAAU,kCAAkC,OAAS,iCAAiC,SAAW,mC,44BCDzJ,kBACA,WAOMK,EAAgC,SAACvmP,GAC3B,IAAAoW,EAAsBpW,EAAK,KAArB0W,EAAgB1W,EAAK,YAEnC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aACvE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAMkK,EACNnF,EAAE,8JAKtB,EAEAg1O,EAAYz0O,YAAc,cAE1B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,MAG7B,EAAA5G,WAAAA,EACT,UAAew0O,EAEF,EAAArV,iBAAmB,CAC5Br0N,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WACRn1B,EAAS,YAUT,OAAI8C,EACO,CACHgR,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBkS,WAItC3O,EACO,CACHiR,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB0Q,QAItCiuD,EACO,CACHnqD,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,WAItCpR,EACO,CACH+Q,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBwQ,OAInC,CACHgE,KAAM,EAAAC,kBACNK,YACI+gB,GAAYC,GAAap1B,EAAY,EAAAV,qBAAqB6U,UAAY,EAAA7U,qBAAqB+W,KAEvG,E,s9BCrFJ,kBAEA,cAEA,cAGA,WAkCS,EAAA49I,wBAnBuB,SAC5BlnH,GAEQ,IAAAksB,EAAmClsB,EAAM,iBAAvBmsB,EAAiBnsB,EAAM,aAE3Cm3M,EAAc1mP,EAAM0E,SAAQ,WAC9B,OAAO,IAAAiiP,mCAAkC,CACrClrL,iBAAgB,EAChBC,aAAY,GAEpB,GAAG,CAACD,EAAkBC,IAEtB,QAAK,aAASgrL,IAAgBA,GAAe,EAClC,KAGJ,gBAAC,UAAiB,CAAC5jP,MAAO4jP,EAAatlP,MAAO,EAAAiR,2BAA2BC,OACpF,C,+BCtCA,WAAgB,kBAAkB,gDAAgD,OAAS,uCAAuC,SAAW,yC,+BCA7I,WAAgB,QAAU,gDAAgD,kBAAkB,wDAAwD,eAAiB,uDAAuD,eAAiB,uDAAuD,gBAAgB,sDAAsD,oBAAoB,0DAA0D,iBAAiB,uDAAuD,mBAAmB,yDAAyD,cAAc,oDAAoD,kBAAkB,wDAAwD,iBAAiB,uDAAuD,kBAAkB,wDAAwD,OAAS,+CAA+C,SAAW,iD,y3BCD76B,kBACA,WAQMs0O,EAAiC,SAAC1mP,GAC5B,IAAA2B,EAAwC3B,EAAK,UAAlCwR,EAA6BxR,EAAK,YAArB0W,EAAgB1W,EAAK,YACrD,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,wBACR,wBACI/E,KAAM7K,EACN6P,YAAaA,GAAe,GAC5BD,EAAE,8qBAEN,wBACI/E,KAAMkK,EACNnF,EAAE,4hDAKtB,EAEAm1O,EAAa50O,YAAc,eAE3B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAe20O,C,wLCrCf,kBAEa,EAAAngN,kBAAoB,SAC7BzrB,EACA6rO,GAEA,OAAO,aAAI7rO,EAAQ6rO,EACvB,C,+BCNA,WAAgB,iBAAmB,wCAAwC,KAAO,4BAA4B,OAAS,8BAA8B,cAAgB,qCAAqC,cAAgB,qCAAqC,MAAQ,6BAA6B,2BAA2B,gDAAgD,eAAe,oCAAoC,qBAAqB,0CAA0C,OAAS,8BAA8B,SAAW,gC,qnBCDnhB,eACA,UAEA,WACA,WACA,WAEMtyH,EAAa,SAAChjF,GAChB,OAAQA,aAAI,EAAJA,EAAMpsC,OACV,KAAK,EAAA2hP,iBAAiBtqM,YAClB,OAAIjL,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,mBAEJ,oBAEX,KAAK,EAAAqyH,iBAAiBrT,YAClB,OAAIliM,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,oBAEJ,qBAEX,QACI,OAGZ,EA+DS,EAAAtuD,sBA7DqB,SAC1B/rD,EACAm3B,EACAsjE,G,cAEMjyE,EAAgC,GAChCtZ,EAASlP,EAAa,EAAAiwC,qBAAqB/gC,SAC7CA,aAAM,EAANA,EAAQnnB,SACRygC,EAAShrB,KAAI,MAAbgrB,EAAQ,OAAStZ,IAAM,IAG3B,IAAMy9N,EAA0E,QAAtD,EAAA3sO,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBqzG,0BAAkB,eAAEnmJ,KAAI,SAACyvO,GACnF,OAAOh0O,SAASg0O,EAAQ,GAC5B,IAEMC,EAA2E,QAArD,EAAA7sO,EAAa,EAAAiwC,qBAAqB41C,2BAAmB,eAAE/wE,QAAO,SAACnpB,GACvF,OAAOA,IAAW,EAAAmhP,sBACtB,IAEMC,KAA8E,QAArD,EAAA/sO,EAAa,EAAAiwC,qBAAqB41C,2BAAmB,eAAE9uB,MAAK,SAACprE,GACxF,OAAOA,IAAW,EAAAmhP,sBACtB,KAEME,EAAiE,QAAlD,EAAAhtO,EAAa,EAAAiwC,qBAAqBu1C,wBAAgB,eAAE1wE,QAAO,SAACnpB,GAC7E,OAAOA,IAAW,EAAAmhP,sBACtB,IAEM71D,KAAoE,QAAlD,EAAAj3K,EAAa,EAAAiwC,qBAAqBu1C,wBAAgB,eAAEzuB,MAAK,SAACprE,GAC9E,OAAOA,IAAW,EAAAmhP,sBACtB,KAEA,MAAO,CACHtkN,SAAQ,EACRvW,SAAUwoF,IAAc,EAAA1lG,QAAQm8B,QAEhC2H,aAAa8zM,aAAiB,EAAjBA,EAAmB5kP,QAAS4kP,OAAoBvgP,EAC7D8gB,YAAalN,EAAa,EAAAiwC,qBAAqB/iC,mBAAgB9gB,EAE/D6gP,yBAAyBjtO,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBzjC,gBAAYpgB,EAEzE8gP,yBAA0BltO,EAAa,EAAAiwC,qBAAqBylG,mCAAgCtpJ,EAC5F+gP,uBAAwBntO,EAAa,EAAAiwC,qBAAqB0lG,iCAA8BvpJ,EAExFghP,aAAaptO,aAAY,EAAZA,EAAe,EAAAiwC,qBAAqBjlB,mBAAe5+B,EAEhE6qL,cAAeA,QAAiB7qL,EAChC4gP,cAAcA,aAAY,EAAZA,EAAcjlP,QAASilP,OAAe5gP,EAEpDimG,gBAAiBryF,EAAa,EAAAiwC,qBAAqBoiD,uBAAoBjmG,EACvEmmG,cAAevyF,EAAa,EAAAiwC,qBAAqBsiD,qBAAkBnmG,EAEnE2gP,qBAAsBA,QAAwB3gP,EAC9CygP,qBAAqBA,aAAmB,EAAnBA,EAAqB9kP,QAAS8kP,OAAsBzgP,EAEzEihP,gBAAiBrtO,EAAa,EAAAiwC,qBAAqB2lG,0BAAuBxpJ,EAC1EkhP,cAAettO,EAAa,EAAAiwC,qBAAqB4lG,wBAAqBzpJ,EAEtEyvH,MAAO1B,EAAWhjF,GAE1B,C,2cCrFA,eACA,WAOA,cACA,WACA,cAEA,WAEMtuB,GAAkB,aAAmB,EAAArjB,YAE9B,EAAA+nP,+BAAiC,EACjC,EAAAC,+BAAiC,IA6E9C,UAvEiB,SAAC7mP,EAAcia,EAAqBe,G,MAC3CD,EAAM,gCACL,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,KAElC,IAAAkpD,4BAA2BnjE,EAAG,CAAC,EAAAnB,WAAWioP,4BAA6B7sO,KACvE,IAAAkmK,qBAAoBngL,EAAG,CAAC,EAAAnB,WAAWioP,4BAA6B7sO,EAAQ,MAExE,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWkoP,6BAA8B9sO,EAAQ,KACnE,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWkoP,6BAA8B9sO,EAAQ,MAEnE,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWmoP,eAAgB/sO,EAAQ,MACrD,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWmoP,eAAgB/sO,EAAQ,OAErD,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWooP,eAAgBhtO,EAAQ,OAErD,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWqoP,sBAAuBjtO,EAAQ,KAC5D,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWqoP,sBAAuBjtO,EAAQ,OAE5D,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWsoP,mBAAoBltO,EAAQ,EAAA2sO,kCACzD,IAAA9jO,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWsoP,mBAAoBltO,EAAQ,EAAA4sO,kCAEzD,IAAAhkO,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWuoP,oBAAqBntO,EAAQ,KAC1D,IAAAkmK,qBAAoBngL,EAAG,CAAC,EAAAnB,WAAWuoP,oBAAqBntO,EAAQ,MAGjE+sO,GAAgB,IAAAtvN,mBAAkBzd,EAAO,EAAApb,WAAWmoP,gBACpDC,GAAgB,IAAAvvN,mBAAkBzd,EAAO,EAAApb,WAAWooP,iBACtD,aAASD,KAAkB,aAASC,IAAkBA,GAAiBD,IACvEjsO,EAAO,EAAAlc,WAAWooP,eAAiBjnP,EAC/B,kFAIR,IAAM8mP,GAA6B,IAAApvN,mBAAkBzd,EAAO,EAAApb,WAAWioP,6BACjEC,GAA8B,IAAArvN,mBAAkBzd,EAAO,EAAApb,WAAWkoP,+BAEpE,aAASD,KACT,aAASC,IACTA,EAA8BD,IAE9B/rO,EAAO,EAAAlc,WAAWkoP,6BAA+B/mP,EAC7C,qEAIR,IACMqnP,GAAqC,IAAA3vN,mBACnB,QAApB,EAAA1c,aAAI,EAAJA,EAAMypG,sBAAc,eAAE6iI,wCAEpBC,GAAuC,aAASF,GAChDA,EAAqC,EAAAG,YACrC,KAiBN,OAfI,aAASV,KACT,aAASS,IACTT,EAA6BS,EAVV,IAYnBxsO,EAAO,EAAAlc,WAAWioP,4BAA8B9mP,EAC5C,6FACA,CACI07G,MAAO,UAfI,EAea,YAAI17G,EAAE,eAAgB,CAC1CgC,YAAa,WACbD,MAjBO,QAuBhBgZ,CACX,C,+BC5FA,WAAgB,eAAe,uCAAuC,sBAAsB,8CAA8C,4BAA4B,oDAAoD,6BAA6B,qDAAqD,iBAAiB,yCAAyC,6BAA6B,qDAAqD,oCAAoC,4DAA4D,mCAAmC,2DAA2D,OAAS,iCAAiC,SAAW,mC,+BCA3qB,WAAgB,OAAS,2BAA2B,SAAW,6B,mqDCD/D,kBACA,cAEA,cACA,aACA,cACA,WAEA,cACA,cACA,aACA,cACA,cACA,WAIA,WACA,cAEMjc,EAAK,UAAWC,KAAK,WAgY3B,UAnUoC,SAChCI,GAGI,IAAAU,EA0BAV,EAAK,UAzBLqzF,EAyBArzF,EAAK,eAxBLkF,EAwBAlF,EAAK,SAvBLmC,EAuBAnC,EAAK,QAtBLupH,EAsBAvpH,EAAK,SArBL8G,EAqBA9G,EAAK,aApBLwH,EAoBAxH,EAAK,eAnBLqF,EAmBArF,EAAK,WAlBLuC,EAkBAvC,EAAK,gBAjBLusI,EAiBAvsI,EAAK,iBAhBLkC,EAgBAlC,EAAK,iBAfLoC,EAeApC,EAAK,cAdLm6E,EAcAn6E,EAAK,qBAbLuF,EAaAvF,EAAK,QAZLsF,EAYAtF,EAAK,OAXLW,EAWAX,EAAK,aAVLgP,EAUAhP,EAAK,UATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLugE,EAOAvgE,EAAK,WANLwF,EAMAxF,EAAK,WALLoH,EAKApH,EAAK,cAJL0H,EAIA1H,EAAK,QAHLsoP,EAGAtoP,EAAK,qBAFL0c,EAEA1c,EAAK,eADLqH,EACArH,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExB4E,EAAc1F,EAAM0F,aAAe7E,EAAE,yDACrCotB,EAAmBjuB,EAAMiuB,kBAAoBptB,EAAE,+DAE/C,IAA8B,UAAMwD,SAAiB,IAAG,GAAvD0pB,EAAU,KAAEmK,EAAa,MAEhC,cACI,WACI9wB,EAAc2mB,EAClB,GA5Ca,IA8Cb,CAACA,IAGC,QAAuB,UAAM1pB,UAAkB,GAAM,GAApD0yB,EAAM,KAAEC,EAAU,MAEzB,IAAA9rB,YAAU,WACF7F,GACA2xB,GAAW,EAEnB,GAAG,CAAC3xB,IAEJ,IAAMqwN,EAAa,WACXrwN,IAIJ2xB,GAAW,GAEPzxB,GACAA,IAER,EAcMswN,GAAoB,IAAArxN,UAAQ,WAC9B,OAAO,IAAIsqB,IAAYukE,EAC3B,GAAG,CAACA,IAEEo2H,GAAa,CACf3sM,SAAU,SAACnR,GAAgB,OAAAusB,EAAcvsB,EAAMoc,OAAO9iB,MAA3B,EAC3BA,MAAO8oB,GAAc,GACrB9qB,KAAM,OACNvC,UAAWf,EAAG,eAAgB,CAC1B,yBAA0BouB,EAC1B,wBAAyBgJ,IAE7BrxB,YAAauoB,EACb+mE,SAAU3vF,GAGR,KAAkE,UAAMhB,SAAkC,CAAC,GAAE,GAA5GkkP,GAA4B,MAAEC,GAA+B,MAEpE,UAAMt9O,WAAU,WACZ,IAAM49B,EAAmC,CAAC,EAE1CuqD,EAAej3E,SAAQ,SAACnX,GACpB,IAAMu5G,EAAiBr8G,aAAO,EAAPA,EAAS22C,MAAK,SAACtyC,GAClC,QAAI,IAAAu0H,sBAAqBv0H,IAIlBvB,IAAUuC,EAAehB,EACpC,IAEIvB,GAASu5G,KAAmB,IAAAuc,sBAAqBvc,KACjD11E,EAAQ,UAAG7jC,IAAWu5G,EAE9B,KAEK,aAAQ11E,IACT0/M,IAAgC,SAACC,GAC7B,OAAO,EAAP,KACOA,GACA3/M,EAEX,GAGR,GAAG,CAACuqD,EAAgBlxF,IAEpB,IAAMo3F,GAAe,SAACt0F,GAClB,IAAII,EAAJ,CAIA,IAAMywN,EAAuB,IAAIhnM,IAAI+mM,GACXC,EAAqB7mM,IAAIhqB,GAE/C6wN,EAAqBjoH,OAAO5oG,GAE5B6wN,EAAqBl8M,IAAI3U,GAE7BC,EAAS,EAAD,KAAK4wN,IAAoB,GATjC,CAUJ,EAEMrnD,GAAkB,UAAMjqK,SAAQ,WAClC,OAAO6uF,EAAetxC,QAAuB,SAACC,EAAK76C,GAC/C,IAAKA,EACD,OAAO66C,EAGX,IAAM0mM,EAAoBH,GAA6B,UAAGphP,IAC1D,OAAKuhP,GAIL1mM,EAAItqC,KAAKgxO,GACF1mM,GAJIA,CAKf,GAAG,GACP,GAAG,CAACqxC,EAAgBk1J,KAEdI,GAAa,UAAMnkP,SAAQ,WAC7B,IAAMokP,EAAiB,IAAI95N,IAAY,IAEvC3sB,EAAQia,SAAQ,SAAC5V,IACT,IAAAu0H,sBAAqBv0H,IAIzBoiP,EAAehvO,IAAIpS,EAAehB,GACtC,IAEA,IAAMqiP,EAAsBp6E,GAAgBz/I,QAAO,SAACxoB,GAChD,QAAI,IAAAu0H,sBAAqBv0H,KAIjBoiP,EAAe35N,IAAIznB,EAAehB,GAC9C,IAEA,OAAIqiP,aAAmB,EAAnBA,EAAqB5mP,QACd,EAAP,SAAWE,IAAO,IAAE,EAAA64F,kBAAkBC,YAAS,KAAK4tJ,IAAmB,GAGpE,EAAP,KAAW1mP,IAAO,EACtB,GAAG,CAACA,EAASssK,GAAiBjnK,IAExBiwB,MAAa47D,aAAc,EAAdA,EAAgBpxF,QAEnC,OACI,wBAAC,UAAkB,CACfsnH,SAAUA,EACVxyF,OAAQA,EACRr2B,UAAWA,EACXF,QAlHiB,WAPrBw2B,GAAW,GAEP1xB,GACAA,GAMR,EAiHQg5C,YACIl8C,EACIA,EACI,CACIqiD,SAAUgqH,GAAgBxsK,OAC1BK,UAAWy0B,EACX1xB,aAAcA,EACdG,aAAcA,EACdL,aAAcA,EACdC,WAAYA,EACZ3D,QAASi0N,EACTj4C,qBAAsB/1K,GAAW+vB,GACjC/vB,QAAO,GAEX+mK,GACA/oK,GAGJ,wBAAC,UAAyB,CACtB++C,SAAUgqH,GAAgBxsK,OAC1BK,UAAWy0B,EACX1xB,WAAYA,EACZqX,eACIA,EACM,SAACC,GACG,OAAAD,EAAe,EAAD,KACPC,GAAQ,CACX3N,YAAaA,EACbyoB,SAAQ,KAHZ,OAKJnxB,EAEVe,gBACIA,EACM,SAACsV,GACG,OAAAtV,EAAgB,EAAD,KACRsV,GAAQ,CACX3N,YAAaA,EACbyoB,SAAQ,KAHZ,OAKJnxB,EAEV5F,UAAW6rI,EACX5rI,aAAcA,EACdc,QAASi0N,EACTlwN,WAAYA,EACZL,WAAYA,EACZC,SAAUA,EACVm7D,WAAYA,EACZk9G,qBAAsB/1K,GAAW+vB,GACjC/vB,QAAS,WACDA,GACAA,GAER,GAECyyE,aAAoB,EAApBA,EAAuBs0F,GAAiB/oK,IAIrDnD,gBAAiBA,EACjBL,kBAAkB,aAAGvC,EAAG,WAAYuC,GACpCm5H,YACI,gDACI,+BAAK36H,UAAWf,EAAG,sBACf,mCAAOqM,IAAK,SAACV,GAAS,OAAAA,aAAI,EAAJA,EAAMX,OAAN,GAAmB8+M,KACxC6+B,GACG,+BAAK5nP,UAAWf,EAAG,OAAQ,qBACtB2oP,EAAqB,CAClBjjP,aAAcA,EACdG,aAAcA,EACdL,aAAcA,EACdo7D,aAAcA,EACdn7D,WAAYA,EACZ4J,YAAaA,EACbyoB,SAAQ,MAIpB,+BAAK/2B,UAAWf,EAAG,OAAQ,iBACtBqP,EACG,wBAAC,UAAiB,CACdrN,UAAW,EAAAC,qBAAqB6U,UAChCL,KAAM,EAAAC,oBAGV,wBAAC,UAAU,CAAC1U,UAAW,EAAAC,qBAAqBC,aAIxD,+BAAKnB,UAAWf,EAAG,YACdgpP,GAAWtxO,KAAI,SAAC7Q,EAAQ8Q,GACrB,IAAI,IAAAyjH,sBAAqBv0H,GAErB,OADqB8Q,IAAUqxO,GAAW1mP,OAAS,EAExC,KAGJ,+BAAK0Q,IAAK2E,EAAO5W,UAAWf,EAAG,eAG1C,IAAMsF,EAAQuC,EAAehB,GAEvBohB,EAAaiuM,EAAkB5mM,IAAIhqB,GAEzC,OACI,+BAAK0N,IAAK2E,EAAO5W,UAAWf,EAAG,WAC3B,wBAAC,UAAQ,CACLimF,QAASh+D,EACTlnB,UAAWf,EAAG,oBACdoH,MAAO,KACP+V,SAAU,WACNy8E,GAAat0F,EACjB,IAEJ,+BACIvE,UAAWf,EAAG,iBACd8B,QAAS,WACL83F,GAAat0F,EACjB,GAEC6B,EAAaN,IAI9B,OAMxB,C,q7BClZA,kBAEA,cACA,cAOM7G,EAAK,UAAWC,KAAK,WAErBkpP,EAAqChpP,EAAMC,MAAK,SAACC,GAC3C,IAAA4Y,EAAkB5Y,EAAK,KAAjBykD,EAAYzkD,EAAK,QAE/B,OACI,uBACIU,UAAWf,EAAG,OAAQ,CAClB,iBAAkB8kD,KAGrB7rC,EAGb,IAEA,UAAekwO,C,2zBC1Bf,eACA,WAGA,UACA,UAEMvlP,EAA6B,CAC/BywJ,KAAM,GACNE,kBAAkB,GAKtB,mBAAgBxwJ,EAAsBC,GAClC,QADY,IAAAD,IAAAA,EAAA,GACRC,EAAOV,OAAS,EAAA+sB,iBAChB,OAAO,EAAP,KACOtsB,GAAK,CACRwwJ,kBAAkB,IAI1B,GAAIvwJ,EAAOV,OAAS,EAAAitB,WAChB,OAAO,EAAP,KACOxsB,GAAK,CACRswJ,KAAM,GACNE,kBAAkB,IAI1B,GAAIvwJ,EAAOV,OAAS,EAAA6sB,kBAChB,OAAO,EAAP,KACOpsB,GAAK,CACRswJ,KAAMtwJ,EAAMswJ,KAAK38I,KAAI,SAAC48I,GAClB,OAAO,EAAP,KACOA,GAAG,CACNj0E,OAAO,GAEf,IACAk0E,kBAAkB,IAI1B,IAAM60F,GAAU,IAAAj3I,YAAWnuG,EAAOV,MAC5B+lP,GAAgB,IAAAp+D,kBAAiBjnL,GACvC,GAAIolP,IAAYC,EAAe,CAC3B,IAAMj3I,EAAcpuG,EAAOI,OAASJ,EAAOklB,QAAQ9kB,MAE/C08B,GAAU,IAAAo2D,+BAA8Bkb,GACvCtxE,IACDA,GAAU,IAAA0vL,oBAGd,IAAMl8D,EAAoB,CACtBhxJ,KAAMU,EAAOV,KACbc,MAAOguG,EACPvoD,UAAWkb,KAAKD,MAChBhkC,QAAO,EACPu/C,OAAO,IAGX,IAAAipK,uBAAsB,4BAA6BxoN,EAASwzH,GAE5D,IAAMD,EAAO,GAACC,GAAG,EAAKvwJ,EAAMswJ,OAAI,GAAEzsG,MAAM,EAnDzB,IAqDf,OAAO,EAAP,KACO7jD,GAAK,CACRswJ,KAAI,EACJE,kBAAkB,GAE1B,CAEA,OAAOxwJ,CACV,C,+BCxED,WAAgB,aAAa,yCAAyC,OAAS,qCAAqC,SAAW,uC,uqCCD/H,kBACA,WACA,WA4CS,EAAA6kL,YArCW,SAAC,G,IAAEC,EAAQ,WACnB3nL,GAAM,IAAAC,kBAAgB,EAExB,IAA0BhB,EAAMuE,UAAwB,IAAAksJ,aAAYi4B,IAAU,GAA7El4B,EAAQ,KAAE44F,EAAW,KAe5B,OAbAppP,EAAMoL,WAAU,WACZ,IAAMi2B,EAAU,WACZ+nN,GAAY,IAAA34F,aAAYi4B,GAC5B,EACArnJ,IAEA,IAAMw8D,EAAaC,YAAYz8D,EAAS,EAAAke,WAExC,OAAO,WACHw+C,cAAcF,EAClB,CACJ,GAAG,CAAC6qF,IAEG1oL,EAAM0E,SAAQ,WACjB,IAAMytB,EAAoB,OAAbq+H,EAAoBA,EAAW,KAC5C,GAAa,OAATr+H,EACA,MAAO,CACHA,KAAM,KACN2qF,cAAe,MAIvB,IAAM4zC,GAAa,IAAAC,WAAUx+H,GAG7B,MAAO,CACHA,KAAI,EACJ2qF,eAJkB,IAAA8zC,YAAW7vJ,EAAG2vJ,GAMxC,GAAG,CAAC3vJ,EAAGyvJ,GACX,C,u8CC5CA,kBAGA,cACA,cACA,WACA,cACA,cACA,cACA,WAKA,cAGA,cAGA,YAEM3wJ,EAAK,UAAWC,KAAK,WAarBupP,EAAyC,SAACxsO,GAAa,OACzD,wBAAC,UAAW,KAAK,EAAAm9G,iBAAiBj9G,gBAAgBF,IADO,EAqK7D,UA/I0C,SAAC3c,GAEnC,IAAAU,EAeAV,EAAK,UAdL8F,EAcA9F,EAAK,eAbL8a,EAaA9a,EAAK,OAZLkF,EAYAlF,EAAK,SAXLmF,EAWAnF,EAAK,WAVLoF,EAUApF,EAAK,SATLyF,EASAzF,EAAK,gBARLuC,EAQAvC,EAAK,gBAPLqF,EAOArF,EAAK,WANL0F,EAMA1F,EAAK,YALLsF,EAKAtF,EAAK,OAJLuF,EAIAvF,EAAK,QAHLwF,EAGAxF,EAAK,WAFLy4C,EAEAz4C,EAAK,qBADL0c,EACA1c,EAAK,eAEDa,GAAM,IAAAC,kBAAgB,EAExBiF,GAAgD,IAAAC,cAAY,SAACC,GAC/D,OAAO,UAAkBmjP,mBAAmBnjP,GAAO0yC,MAAK,SAACvrC,G,MAC/C,IAAkBA,EAAQ,GAAzBrJ,EAAK,KAAEoJ,EAAM,KACpB,OAAIpJ,EACO,CAACA,EAAO,MAaZ,CAAC,MATW,QAAf,EAAAoJ,aAAM,EAANA,EAAQ6R,eAAO,eAAE3H,KAAI,SAAC4H,GAClB,MAAO,CACH/S,GAAI+S,EAAK/S,GACT0M,KAAMqG,EAAKrG,KACXjL,OAAQsR,EAAKtR,OACbwjB,YAAalS,EAAKkS,YAE1B,MAAM,GAGd,GACJ,GAAG,IAEGynB,GAAsB,IAAAC,wBAAgC,CACxD/yC,eAAc,EACdC,eAAc,EACda,SAAU,CAAC,IAuETY,EAAiB,SAAChB,GAA4B,OAAAA,EAAO0F,EAAP,EAEpD,OACI,wBAAC,UAA2B,CACxBxL,UAAWA,EACX2yF,eAAgBv4E,EAChBpV,YAAaA,EACbvD,QAASy2C,EAAoBz2C,QAC7BkD,WAAYA,EACZH,SA7Ea,SAAC4V,GAClB,IAAMw4E,EAAW,IAAIxkE,IAAIhU,GAEnB3Y,EAAUy2C,EAAoBz2C,QAAQ6sB,QAAO,SAACxoB,GAChD,IAAMuyC,EAAcvxC,EAAehB,GACnC,OAAO8sF,EAASrkE,IAAI8pB,EACxB,IAEA7zC,EAAS4V,EAAQ3Y,EACrB,EAqEQiD,SAAUA,EACVD,WAAYA,EACZiC,cAAewxC,EAAoBxxC,cACnCN,aA5Da,SAACN,EAA6Bd,GAC/C,OAAKc,EAKD,wBAAC,UAA0B,CACvB9F,UAAWf,EAAG,UACdq5C,iBAAe,EACf7sC,KAAM3F,EAAO2qB,YAAc,wBAAC,UAAQ,CAACA,YAAa3qB,EAAO2qB,cAAkB,KAC3EpqB,MAAOP,EAAOoS,MAAQ,GACtBwW,YAAa5oB,EAAOmH,QAAU,KAT3BjI,CAYf,EA+CQy0E,qBA7Cc,SAACh4E,EAAqCuD,GACxD,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAOyD,EAGX,GAAwB,KAApBvD,aAAO,EAAPA,EAASF,QAAc,CACvB,IAAMsxF,GAAcpxF,aAAO,EAAPA,EAAU,KAAM,KAEpC,OACI,wBAAC,UAA0B,CACvB62C,iBAAe,EACf7sC,MAAMonF,aAAW,EAAXA,EAAapiE,aAAc,wBAAC,UAAQ,CAACA,YAAaoiE,EAAYpiE,cAAkB,KACtFpqB,OAAOwsF,aAAW,EAAXA,EAAa36E,OAAQ,GAC5BwW,aAAamkE,aAAW,EAAXA,EAAa5lF,SAAU,IAGhD,CAEA,OACI,wBAAC,UAA0B,CACvBqrC,iBAAe,EACfjyC,MAAOlG,EAAE,sDACTuuB,YACI,wBAAC,UAAS,CAAC9a,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC9CM,aAAO,EAAPA,EAASF,SAAU,IAKxC,EAiBQuF,eAAgBA,EAChBhC,WAAYA,EACZkX,eAAgBA,QAAAA,EAAkBysO,EAClC7jP,OAAQA,EACRC,QAxEoC,WACpCA,GACAA,GAER,EAqEQhD,gBAAiBA,EACjByM,UAAW4pC,EAAoBp1C,cAAcK,UAAW40C,aAAoB,EAApBA,EAAsB50C,SAC9E6D,QAASjC,EA/EG,WAChBP,EAAS,GAAI,GACjB,OA6EiDoB,GAGrD,C,qLCtMA,kBACA,cACA,aACA,WACA,cAIa,EAAAk1K,eAAiB,SAC1BpmI,EACAC,GAEA,OAAI,aAASD,KAAa,aAASC,GACxB,CACHt1B,IAAKq1B,EACLp1B,IAAKq1B,GAIN,IACX,EAsCA,UApCuB,SACnBjC,EACAi2M,QAAA,IAAAA,IAAAA,EAAA,CAA4B,IAAM,MAElC,IAAMC,EAAOl2M,EAAOpkB,OAAO,EAAA4/B,UAAUv3C,KAAI,SAACi8B,GAAU,OAAAA,EAAMvzB,GAAN,IAC9CwpO,EAAOn2M,EAAOpkB,OAAO,EAAA4/B,UAAUv3C,KAAI,SAACi8B,GAAU,OAAAA,EAAMtzB,GAAN,IAEhDwpO,GAAO,aAAIF,GACXG,GAAO,aAAIF,GACXG,GAAO,aAAIJ,GACXK,GAAO,aAAIJ,GAEf,IAAI,aAAMC,KAAS,aAAMC,KAAS,aAAMC,KAAS,aAAMC,GACnD,OAAO,KAGX,IAAMC,EAAOF,EAAOF,EACdK,EAAOF,EAAOF,EAEpB,GAAIG,EAAOP,EAAQ,GAAI,CACnB,IAAMS,GAAUT,EAAQ,GAAKO,GAAQ,EACrCJ,GAAQM,EACRJ,GAAQI,CACZ,CAEA,GAAID,EAAOR,EAAQ,GAAI,CACnB,IAAMU,GAAUV,EAAQ,GAAKQ,GAAQ,EACrCJ,GAAQM,EACRJ,GAAQI,CACZ,CACA,MAAO,CACH,CAACP,EAAMC,GACP,CAACC,EAAMC,GAEf,C,yECxDA,eAgBA,UAZyB,SACrBK,EACAz6C,G,MAEA,OAAO,EAAP,IACK,EAAA7vM,WAAWkZ,OAAO22L,aAAW,EAAXA,EAAa32L,OAAQ,GACxC,EAAC,EAAAlZ,WAAWu/D,WAAWswI,aAAW,EAAXA,EAAa06C,WAAY,KAChD,EAAC,EAAAvqP,WAAW80G,QAAQ+6F,aAAW,EAAXA,EAAa/6F,QAAS,GAC1C,EAAC,EAAA90G,WAAWgvD,WAAW6gJ,aAAW,EAAXA,EAAaC,YAAa,G,CAEzD,C,kGCda,EAAA/4C,kBAAoB,SAAChpE,GAC9B,MAAO,mBAAYA,EACvB,C,yECFA,eACA,WACA,WAcA,UAZwB,SAAC3yE,GACrB,IAAMZ,EAA8B,CAAC,EAE/BgwO,GAAa,IAAAlmM,uBAAsBlpC,EAAO,EAAApb,WAAWkZ,OAM3D,OALIsxO,IACAhwO,EAAa,EAAAiwC,qBAAqB3gB,iBAAcljC,EAChD4T,EAAa,EAAAiwC,qBAAqBvxC,MAAQsxO,GAGvChwO,CACX,C,+BCbA,WAAgB,MAAQ,8CAA8C,gBAAgB,sDAAsD,OAAS,+CAA+C,SAAW,iD,+BCA/M,WAAgB,KAAO,uBAAuB,MAAQ,wBAAwB,OAAS,yBAAyB,aAAa,6BAA6B,YAAY,4BAA4B,QAAU,0BAA0B,OAAS,yBAAyB,SAAW,2B,+BCAnR,WAAgB,gBAAgB,0CAA0C,OAAS,mCAAmC,SAAW,qC,q7BCDjI,kBACA,cACA,WACA,cAOMiwO,EAAuCrqP,EAAMC,MAAK,SAAC,G,IAAEW,EAAS,YAAEkO,EAAQ,WAC1E,OACI,gBAAC,UAAK,CACFlO,UAAWA,EACXyL,KAAM,gBAAC,UAAW,CAACxK,UAAW,EAAAC,qBAAqBgG,QACnDwO,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAO,EAAAq4B,eAAejnB,QAErB1D,EAGb,IAEA,UAAeu7O,C,q7BCvBf,kBACA,cAEA,cACA,WACA,cACA,aAEMxqP,EAAK,UAAWC,KAAK,WAQrBwqP,EAAmEtqP,EAAMC,MAAK,SAACC,GACzE,IAAA2N,EAAyB3N,EAAK,OAAtBogK,EAAiBpgK,EAAK,MAAfqgK,EAAUrgK,EAAK,MAEtC,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,iEACRE,WAAY,CACRrE,GAAI,gBAAC,UAAiB,CAACyB,OAAQA,IAC/ByyJ,MAAO,gBAAC,UAAQ,CAAC7rG,SAAU6rG,IAC3BC,MAAO,gBAAC,UAAQ,CAAC9rG,SAAU8rG,OAK/C,IAEA,UAAe+pF,C,6JCjCf,kBACA,cACA,cACA,WAKA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WAGMzqP,EAAK,UAAWC,KAAK,WA2E3B,UAxDgE,SAACI,GAEzD,IAAAyM,EAcAzM,EAAK,KAbLE,EAaAF,EAAK,SAZLQ,EAYAR,EAAK,QAXLyO,EAWAzO,EAAK,SAVL2jD,EAUA3jD,EAAK,yBARL60C,EAQA70C,EAAK,kBANLk2C,EAMAl2C,EAAK,uBALLm2C,EAKAn2C,EAAK,4BAHLqqP,EAGArqP,EAAK,0BADLskE,EACAtkE,EAAK,gBAEH+pI,GAAsB,IAAA/zH,aAAY,EAAAs0O,wCAExC,OACI,gDACI,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CACjBrqP,OAAOwM,aAAI,EAAJA,EAAMo1J,YAAa,GAC1BzhK,eACI,gDACI,wBAAC,UAA6B,CAACM,UAAWf,EAAG,UAAWypB,OAAQ3c,aAAI,EAAJA,EAAM2c,UACrE3c,aAAI,EAAJA,EAAMq9E,YAAa,wBAAC,UAAa,OAG1CtpF,QAAS,WACDA,GACAA,GAER,EACAN,SAAUA,KAGlB,wBAAC,UAAa,KACV,wBAAC,UAA2B,CACxBuM,KAAMA,EACNgC,SAAUA,EACVk1C,yBAA0BA,EAC1BzN,uBAAwBA,EACxBC,4BAA6BA,EAC7Bt7B,SAAUwvO,EACVtgH,oBAAqBA,EACrBzlE,gBAAiBA,IAErB,wBAAC,UAA+B,CAAC73D,KAAMA,EAAMooC,kBAAmBA,KAIhF,C,q7BC3FA,kBAEA,cAEA,cAEMl1C,EAAK,UAAWC,KAAK,WAMrB2qP,EAAyCzqP,EAAMC,MAAK,WACtD,OAAO,uBAAKW,UAAWf,EAAG,YAC9B,IAEA,UAAe4qP,C,+BCff,WAAgB,eAAe,4CAA4C,OAAS,sCAAsC,OAAS,sCAAsC,SAAW,wC,2ICDpL,cAEa,EAAAC,0BAA4B,IAAI,EAAAvhO,iBAEhC,EAAAquM,6BAA+B,IAAI,EAAAruM,gB,+BCHhD,WAAgB,OAAS,oCAAoC,cAAgB,2CAA2C,MAAQ,mCAAmC,OAAS,oCAAoC,SAAW,sC,6YCD3N,IAiCYwhO,EAKA9/E,EAIAnB,EAKAkhF,EAYAC,EAOAx2M,EAIAy2M,EAKApgM,EAKAqgM,EAMAC,EAKAC,EAKA1jF,EAQA2jF,EAxGZ,WAEa,EAAAlhF,WAAa,CACtBkB,KAAM,EAAAx4F,eAAew4F,KACrB/pG,OAAQ,EAAAuR,eAAevR,OACvBiB,OAAQ,EAAAsQ,eAAetQ,OACvB+oL,gBAAiB,EAAAz4K,eAAey4K,gBAChCjpL,eAAgB,EAAAwQ,eAAexQ,eAC/BqhK,eAAgB,EAAA7wJ,eAAe6wJ,eAC/B9mJ,eAAgB,EAAA/J,eAAe+J,eAC/B2uK,aAAc,EAAA14K,eAAe04K,aAC7BC,kBAAmB,EAAA34K,eAAe24K,kBAElC1+M,SAAU,EAAA4sJ,iBAAiB5sJ,SAC3Bs+H,QAAS,EAAAsuB,iBAAiBtuB,QAC1BqgF,aAAc,EAAA/xD,iBAAiB+xD,aAE/B5gF,aAAc,QACdP,YAAa,gBACbE,WAAY,eACZJ,aAAc,iBACd/2I,OAAQ,UACRpsB,SAAU,YACVoK,WAAY,cACZ09C,SAAU,YACV63C,SAAU,YACV53C,QAAS,4CACT08L,aAAc,0CACdhpO,uBAAwB,kEACxBipO,mBAAoB,uEACpBz2I,YAAa,UAGjB,SAAY41I,GACR,oFACA,+EACH,CAHD,CAAYA,IAA0B,6BAA1BA,EAA0B,KAKtC,SAAY9/E,GACR,4BACH,CAFD,CAAYA,IAAqB,wBAArBA,EAAqB,KAIjC,SAAYnB,GACR,sBACA,uCACH,CAHD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAK/B,SAAYkhF,GACR,qEACA,yEACA,qEACA,uEACA,uEACA,mEACA,qEACA,sFACA,4GACH,CAVD,CAAYA,IAAkB,qBAAlBA,EAAkB,KAY9B,SAAYC,GACR,0FACA,0FACA,kGACA,iGACH,CALD,CAAYA,IAA2B,8BAA3BA,EAA2B,KAOvC,SAAYx2M,GACR,wBACH,CAFD,CAAYA,IAAa,gBAAbA,EAAa,KAIzB,SAAYy2M,GACR,qFACA,iGACH,CAHD,CAAYA,IAA6B,gCAA7BA,EAA6B,KAKzC,SAAYpgM,GACR,eACA,2CACH,CAHD,CAAYA,IAAc,iBAAdA,EAAc,KAK1B,SAAYqgM,GACR,kEACA,iFACA,oDACH,CAJD,CAAYA,IAAsB,yBAAtBA,EAAsB,KAMlC,SAAYC,GACR,6DACA,iDACH,CAHD,CAAYA,IAAqB,wBAArBA,EAAqB,KAKjC,SAAYC,GACR,gCACA,uCACH,CAHD,CAAYA,IAAsB,yBAAtBA,EAAsB,KAKlC,SAAY1jF,GACR,qCACA,0BACA,oCACA,qDACA,gDACH,CAND,CAAYA,IAAkB,qBAAlBA,EAAkB,KAQ9B,SAAY2jF,GACR,wEACA,6EACH,CAHD,CAAYA,IAAe,kBAAfA,EAAe,KAK3B,UAAe,CAAC,C,6JC7GhB,eACA,cAMA,UAJsC,WAClC,OAAO,IAAAr4N,YAAW,UACtB,C,sVCFa,EAAAm3H,6BAA+B,SACxC7sC,GAEA,OAAKA,EAIE,EAAP,KACOA,GAAc,CACjBr3G,SAAU,CAACq3G,EAAerkG,KAAMqkG,EAAe5tF,SAASL,OAAOhmB,SAASsmB,KAAK,OALtE,IAOf,C,q7BCdA,kBACA,cACA,aAOMi8N,EAAwCzrP,EAAMC,MAAK,SAACC,GAC9C,IAAA4O,EAA4C5O,EAAK,SAAvCwwH,EAAkCxwH,EAAK,SAA7Bi1J,EAAwBj1J,EAAK,oBAEzD,OAAI,aAAMwwH,KAAcykC,EACb,4BAAOrmJ,GAId,gBAAC,UAAI,CAACnN,QAAS,WAAM,OAAAwzJ,EAAoBzkC,EAApB,EAA+BtvH,MAAO,EAAA8mB,cAAcC,eACpErZ,EAGb,IAEA,UAAe28O,C,q7BCvBf,kBAEA,cACA,cACA,aAEA,cAEM5rP,EAAK,UAAWC,KAAK,WAiC3B,UAvBkD,SAACI,GACvC,IAAAU,EAAiEV,EAAK,UAA3DiD,EAAsDjD,EAAK,KAArDyB,EAAgDzB,EAAK,QAA5CqF,EAAuCrF,EAAK,WAAhC4O,EAA2B5O,EAAK,SAAtBW,EAAiBX,EAAK,aAExEwrP,IAAgB/pP,IAAY4D,EAElC,OACI,0BACI3E,WAAW,aACPf,EAAG,SAAU,CACT,sBAAuB6rP,IAE3B9qP,GAEJuC,KAAMA,GAAQ,SACd+xF,UAAWw2J,EAAW,qBACF,UAAG7qP,EAAY,WACnCc,QAAS+pP,EAAc/pP,EAAU,WAEjC,wBAAMf,UAAWf,EAAG,UAAWiP,GAG3C,C,o7BCvCA,eA2Fa,EAAAwpL,mBAAqB,SAACtvJ,GAA6D,OAC5F7lC,KAAM,EAAA66L,qBACNh1J,QAAO,EAFqF,EAKnF,EAAAm1J,kBAAoB,SAAC2S,GAAkD,OAChF3tM,KAAM,EAAAwoP,qBACN76C,iBAAgB,EAFgE,EAKvE,EAAA86C,UAAY,SACrBj1D,EACAnvJ,EACAjrB,GACmB,OACnBpZ,KAAM,EAAAw7L,mBACNhI,mBAAkB,EAClBnvJ,QAAO,EACPjrB,UAAS,EAJU,EAOV,EAAAi0L,gCAAkC,SAC3C7Z,EACAnvJ,EACAjrB,EACAurB,GACyC,OACzC3kC,KAAM,EAAAy7L,qCACNjI,mBAAkB,EAClBnvJ,QAAO,EACPjrB,UAAS,EACTurB,OAAM,EALmC,EAQhC,EAAA+2J,qCAAuC,WAAmD,OACnG17L,KAAM,EAAA0oP,2CAD6F,EAI1F,EAAAtsD,uCAAyC,SAClDl2K,EACAi2K,GACgD,OAChDn8L,KAAM,EAAA2oP,6CACNziO,IAAG,EACHi2K,eAAc,EAHkC,EAMvC,EAAAN,qCAAuC,SAAC/6L,GAA8D,OAC/Gd,KAAM,EAAA49L,2CACN98L,MAAK,EAF0G,EAKtG,EAAA4yL,eAAiB,WAA6B,OACvD1zL,KAAM,EAAA4oP,yBADiD,EAI9C,EAAAt8M,iBAAmB,SAACC,GAA2C,OACxEvsC,KAAM,EAAAq8L,mBACN9vJ,MAAK,EAFmE,EAK/D,EAAAyoJ,iBAAmB,SAAC9uK,GAA8C,OAC3ElmB,KAAM,EAAA6oP,2BACN3iO,IAAG,EAFwE,EAKlE,EAAA+uK,WAAa,SAAC79H,GAAsD,OAC7Ep3D,KAAM,EAAAk9L,YACN9lI,WAAU,EAFmE,EAKpE,EAAAkmI,kBAAoB,SAAC73I,GAAgE,OAC9FzlD,KAAM,EAAA8oP,oBACNrjM,UAAS,EAFqF,EAKrF,EAAA43I,gBAAkB,SAACv8L,GAAyC,OACrEd,KAAM,EAAA+oP,kBACNjoP,MAAK,EAFgE,EAK5D,EAAAizL,eAAiB,SAACjzL,GAAwC,OACnEd,KAAM,EAAA29L,yBACN78L,MAAK,EAF8D,EAK1D,EAAAkoP,YAAc,SACvBz8M,EACAipJ,EACAC,GACqB,OACrBz1L,KAAM,EAAAi9L,qBACN1wJ,MAAK,EACLipJ,mBAAkB,EAClBC,kBAAiB,EAJI,EAOZ,EAAAC,iBAAmB,WAA+B,OAC3D11L,KAAM,EAAAipP,2BADqD,EAIlD,EAAAnzD,mBAAqB,WAAiC,OAC/D91L,KAAM,EAAAkpP,6BADyD,EAItD,EAAArzD,iBAAmB,SAAC/0L,GAA0C,OACvEd,KAAM,EAAAmpP,2BACNroP,MAAK,EAFkE,EAK9D,EAAAqU,YAAc,SAACo3B,EAAej5B,GAA2C,OAClFtT,KAAM,EAAAu9L,aACNhxJ,MAAK,EACLj5B,MAAK,EAH6E,EAMzE,EAAA+/K,iBAAmB,SAACvyL,GAA0C,OACvEd,KAAM,EAAAopP,mBACNtoP,MAAK,EAFkE,EAK9D,EAAA2zL,uBAAyB,SAAC3B,GAAgE,OACnG9yL,KAAM,EAAAqpP,0BACNv2D,oBAAmB,EAFgF,EAK1F,EAAAQ,YAAc,SAAC5lJ,GAAwD,OAChF1tC,KAAM,EAAAspP,aACN57M,YAAW,EAFqE,EAKvE,EAAA6tJ,kBAAoB,SAACvyI,GAAwD,OACtFhpD,KAAM,EAAAupP,oBACNvgM,IAAG,EAFmF,EAK7E,EAAAwgM,eAAiB,SAACl2O,EAAoBm2O,GAA8C,OAC7FzpP,KAAM,EAAAw9L,iBACNlqL,MAAK,EACLm2O,WAAU,EAHmF,EAMpF,EAAAC,oBAAsB,SAAC5oP,GAA6C,OAC7Ed,KAAM,EAAA2pP,uBACN7oP,MAAK,EAFwE,EAKpE,EAAA2yL,iBAAmB,WAA+B,OAC3DzzL,KAAM,EAAA4pP,mBADqD,EAIlD,EAAA5zD,mBAAqB,WAAoB,OAClDh2L,KAAM,EAAAi1C,MAD4C,EAIzC,EAAAikJ,sBAAwB,SAACl2L,GAAoE,OACtGhD,KAAM,EAAA6pP,yBACN7mP,MAAK,EAFiG,EAK7F,EAAAk0L,mBAAqB,SAACl0L,GAAiE,OAChGhD,KAAM,EAAA8pP,qBACN9mP,MAAK,EAF2F,EAKvF,EAAAy0L,qBAAuB,SAChCpzJ,EACArhC,GAC8B,OAC9BhD,KAAM,EAAA+pP,uBACN1lN,QAAO,EACPrhC,MAAK,EAHyB,EAMrB,EAAAu0L,mBAAqB,SAACz2L,EAAckC,GAAiE,OAC9GhD,KAAM,EAAAgqP,qBACNlpP,MAAK,EACLkC,MAAK,EAHyG,EAMrG,EAAAi0L,4BAA8B,SAACj0L,GAA0E,OAClHhD,KAAM,EAAAiqP,gCACNjnP,MAAK,EAF6G,EAKzG,EAAA80L,oBAAsB,SAAC90L,GAAmE,OACnGhD,KAAM,EAAAkqP,sBACNlnP,MAAK,EAF8F,EAK1F,EAAAg3L,uBAAyB,SAACh3L,GAAsE,OACzGhD,KAAM,EAAAmqP,0BACNnnP,MAAK,EAFoG,EAKhG,EAAAq3L,2BAA6B,SAACr3L,GAA0E,OACjHhD,KAAM,EAAAoqP,8BACNpnP,MAAK,EAF4G,EAKxG,EAAAs2L,oBAAsB,SAACt2L,GAAkE,OAClGhD,KAAM,EAAAqqP,sBACNrnP,MAAK,EAF6F,EAKzF,EAAAm1L,sBAAwB,SACjCx5I,EACA37C,GAC+B,OAC/BhD,KAAM,EAAAsqP,wBACN3rM,QAAO,EACP37C,MAAK,EAH0B,EAMtB,EAAAk1L,oBAAsB,SAACp3L,EAAckC,GAAmE,OACjHhD,KAAM,EAAAy9L,sBACN38L,MAAK,EACLkC,MAAK,EAH4G,EAMxG,EAAAunP,8BAAgC,WAAsC,OAC/EvqP,KAAM,EAAAwqP,kCADyE,C,+BCtTnF,WAAgB,QAAU,2CAA2C,MAAQ,yCAAyC,WAAW,4CAA4C,qBAAqB,sDAAsD,KAAO,wCAAwC,gBAAkB,mDAAmD,UAAY,6CAA6C,uBAAuB,wDAAwD,sBAAsB,uDAAuD,wBAAwB,yDAAyD,8BAA8B,+DAA+D,IAAM,uCAAuC,OAAS,0CAA0C,SAAW,4C,q7BCD11B,kBACA,WAEA,cACA,WACA,cAOMvT,EAAiCp6O,EAAMC,MAAK,SAACC,GACvC,IAAAszB,EAAgBtzB,EAAK,MAAdiD,EAASjD,EAAK,KAEzBmyC,EAAO,KACPzL,EAAU,KAWd,OATIzjC,IAAS,EAAAswB,cAAcE,cACvBiT,EAAUpT,EAAMG,YAChB0e,GAAO,IAAA1L,oBAAmBnT,EAAMgiG,oBAAqBhiG,EAAMiiG,oBAE3DtyH,IAAS,EAAAswB,cAAcC,SACvBkT,EAAUpT,EAAME,OAChB2e,GAAO,IAAA1L,oBAAmBnT,EAAMkiG,eAAgBliG,EAAMmiG,eAItD,gBAAC,UAAkB,CACf/uF,QAAS,gBAAC,UAAa,CAAC/sB,OAAO,mBAAmB0sB,SAAUK,EAAS4vL,sBAAoB,IACzFnkL,KAAMA,GAGlB,IAEA,UAAe+nM,C,+BClCf,WAAgB,cAAgB,8CAA8C,oBAAoB,kDAAkD,sBAAsB,oDAAoD,cAAgB,8CAA8C,oBAAoB,kDAAkD,0BAA0B,wDAAwD,wBAAwB,sDAAsD,2BAA2B,yDAAyD,sBAAsB,oDAAoD,8BAA8B,4DAA4D,wBAAwB,sDAAsD,OAAS,uCAAuC,SAAW,yC,spGCDn4B,kBACA,cAEA,cACA,WACA,WACA,WACA,cACA,WACA,cACA,cACA,UACA,cACA,WAEA,cACA,UAEA,cACA,WACA,cACA,cACA,cAEA,cACA,cACA,UAGMv6O,EAAK,UAAWC,KAAK,WAUd,EAAA01E,iBAAc,MACtB,EAAA51E,WAAW8d,QAAS,EAAAu+E,eAAexwF,QACpC,EAAC,EAAA7L,WAAWwtD,MAAO,G,GAGvB,IAAM5+C,EAAgB,sBA4PtB,UA7O4C,SAACtO,GACjC,IAAAyO,EAAyDzO,EAAK,SAApD6a,EAA+C7a,EAAK,SAA1CwD,EAAqCxD,EAAK,cAA3BgyD,EAAsBhyD,EAAK,OAAnB8E,EAAc9E,EAAK,UAE9Da,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAA4C,UAAMwD,UAAS,GAAM,GAAhEm+F,EAAiB,KAAEC,EAAoB,KACxC,IAAwC,UAAMp+F,SAAmC,IAAG,GAAnFq+F,EAAe,KAAEC,EAAkB,KAE1C,UAAMz3F,WAAU,WACX,mC,8DACG,OAAKpG,GAIL29F,GAAqB,IACF,IAAAv8F,yBAAwBpB,GACvC,MACuB,GAAM,UAAkB89F,8BAA8B99F,KAN7E,I,cAMM+9F,EAAiB,SAEvBF,GACuB,QAAnB,EAAAE,aAAc,EAAdA,EAAiB,UAAE,eAAExrF,KAAI,SAACyrF,GACtB,MAAO,CACH/7F,MAAO+7F,EAAYlqF,KACnBmqF,cAAeD,EAAY52F,GAC3BjH,MAAO69F,EAAY52F,GACnBsE,KAAMsyF,EAAYlqF,MAAQkqF,EAAY52F,GAE9C,MAAM,I,aAGc,SAAM,UAAmB02F,iC,OAA3CI,EAAkB,SAExBL,GACwB,QAApB,EAAAK,aAAe,EAAfA,EAAkB,UAAE,eAAE3rF,KAAI,SAACyrF,GACvB,MAAO,CACH/7F,MAAO+7F,EAAYlqF,KACnBmqF,cAAeD,EAAY52F,GAC3BjH,MAAO69F,EAAY52F,GACnBsE,KAAMsyF,EAAYlqF,MAAQkqF,EAAY52F,GAE9C,MAAM,I,wBAIdu2F,GAAqB,G,UAE7B,GAAG,CAAC39F,IAEE,QAAiC,UAAMN,SAAQ,WACjD,IAAMsW,EAAM,KACL,EAAAw6D,gBAKP,MAAO,CAACx6D,GAFO,aAAaja,EAAGia,GAKnC,GAAG,CAACk3C,IAAQ,GAVLx3C,EAAa,KAAEupC,EAAa,KAY7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM2yO,GAA0B,IAAA9xJ,gCAA+B5pC,EAAQl3C,GACnE4yO,EACA7yO,EAAS6yO,IAET,IAAAh5N,YAAW,kCAGf3Z,EAAcI,WAAW,CAAC,EAC9B,IAGEwyO,EAAoB,UAAMnpP,SAAQ,W,MAChCopP,EAcJ,OAZIA,EADkB,IAAlB57L,EAAO/vD,OAEH,wBAAC,EAAAqO,MAAK,CACFD,QA5FK,kDA6FLE,WAAY,CACR28C,KAAM,wBAAC,UAAK,CAACt2C,OAAiB,QAAT,EAAAo7C,EAAO,UAAE,eAAE1gC,UAAWxa,SAAU,EAAAC,aAAaC,SAKpDnW,EAlGZ,qDAqGX,EAAP,CACI,CACIkG,MAAO6mP,EACPp9O,KAAM,IACNvL,MAAO,EAAA82F,eAAexwF,SAE1B,CACIxE,MAAOlG,EA3GC,2CA4GR2P,KAAM,IACNvL,MAAO,EAAA82F,eAAex6C,M,EAEvBmhD,IAAe,EAE1B,GAAG,CAAC1wC,EAAQ0wC,EAAiB7hG,IAEvBgtP,EAAiBpzO,EAAOK,OAAO,EAAApb,WAAW8d,QAE1C,IAAoB,UAAMnZ,SAAiB,IAAG,GAA7C4B,EAAK,KAAE6zC,EAAQ,KAEhBhzC,EAAe,SAACN,EAAuCd,GACzD,OAAKc,EAKD,wBAAC,UAAgB,CACbi8M,kBAAmBjoM,EAAc,EAAA9a,WAAW8d,UAAYhX,EAAOvB,MAC/Du9M,aAAch8M,EAAOvB,QAAU,EAAA6oP,cAAc7+N,IAAIzoB,EAAOvB,OACxD8B,MAAOP,EAAOO,MACdg8F,cAAev8F,EAAOu8F,gBARnBr9F,CAWf,EAEMq0C,EAAkB,UAAMv1C,SAAQ,WAClC,IAAMw1C,EAAgB/zC,EAAM69F,cAAcn1E,OAC1C,OAAKqrB,EAIE2zM,EAAkB3+N,QAAO,SAACxoB,GAC7B,MAAoB,MAAhBA,EAAOgK,MAIJhK,EAAOgK,KAAKszF,cAAcv+E,SAASy0B,EAC9C,IATW2zM,CAUf,GAAG,CAACA,EAAmB1nP,IAEvB,OACI,gCAAM4U,SAAUJ,EAAOiB,cACnB,+BAAKhb,UAAWf,EAAG,SACf,wBAAC,UAAU,CAAC8zG,OAAQ,GAChB,wBAAC,UAAW,CACR76F,KAAM,EAAAlZ,WAAW8d,OACjB9c,UAAWf,EAAG,QAAS,iBACvBoH,MAAOlG,EAAE,gDACTkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW8d,QAChC3B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW8d,QACrCzB,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAmB,CAChBmH,cAAesT,EAAOK,OAAO,EAAApb,WAAW8d,QACxCrb,QAAS43C,EACT70C,SAAUlF,EAAM8c,SAChBhW,aAAcA,EACd1E,cAAe0E,EACfU,eAAgB,SAAChB,GAAW,OAAAA,EAAOvB,KAAP,EAC5B/C,iBAAkBvC,EAAG,WACrB4C,gBAAiB,EAAAC,4BAA4B+8F,QAC7Cn4F,cAAe0yC,EACfx0C,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBE,WAAYm9F,EACZxzF,UAAWwzF,EACXn7F,gBAAiB,SAAC,GACd,OADyB,YAErB,wBAAC,UAAiB,KAAK,EAAAC,uBAAuBC,sBAC9C,IACR,GArBI,IAyBfsmP,IAAmB,EAAA9xJ,eAAex6C,KAC/B,wBAAC,UAAW,CACR7gD,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWwtD,KACjBnpD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWwtD,MAChCrxC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWwtD,MACrCnmD,MAAOlG,EAAE,8CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWwtD,KACjB62C,SAAU,EAAAlrF,aAAamrF,iBACvB/+F,MAAOwV,EAAOK,OAAO,EAAApb,WAAWwtD,MAChCxnD,YAAa7E,EAAE,oDACfiyF,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YAXd,MAkB5B,wBAAC,UAAkB,CACfwJ,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBzJ,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,uCACZK,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,OAC9BrL,KAAM,aAM9B,C,+BCrSA,WAAgB,KAAO,yBAAyB,OAAS,2BAA2B,SAAW,6B,+JCD/F,kBACA,cAEA,cACA,cAEA,WACA,WACA,WACA,WAEMtD,EAAK,UAAWC,KAAK,WAMrBm1F,IAAS,MACV,EAAA5pD,eAAehf,UAAW,EAAAvqB,qBAAqBkS,UAChD,EAAC,EAAAq3B,eAAe9B,QAAS,EAAAznC,qBAAqBojG,YAC9C,EAAC,EAAA75D,eAAeswC,SAAU,EAAA75E,qBAAqB0Q,O,GA4BnD,UAzB+C,SAACtS,GACpC,IAAAi9G,EAAmBj9G,EAAK,eAExBa,GAAM,IAAAC,kBAAgB,EAExB8E,EAAW,CAACq3G,aAAc,EAAdA,EAAgBrkG,KAAMqkG,aAAc,EAAdA,EAAgB5tF,SAASL,OAAO,EAAA4/B,UAAUt/B,KAAK,MAAQ,IAE/F,OAAK2tF,EAKD,mCACI,+BAAKv8G,UAAWf,EAAG,cAAeiG,IACjCq3G,aAAc,EAAdA,EAAgBl8G,WACb,wBAAC,UAAkB,CACfL,UAAWf,EAAG,YACdoH,MAAOlG,EAAE,kEAA2Do8G,aAAc,EAAdA,EAAgBl8G,WACpFu4F,MAAOvE,EAAUkoB,aAAc,EAAdA,EAAgB/xE,aAAiC,EAAAtpC,qBAAqBI,SAV5F,IAef,C,y3BC9CA,kBACA,WAOM+rP,EAAmC,SAAC/tP,GAC9B,IAAA2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAExC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,MACtD,qBAAGU,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,4PAEN,wBACI/E,KAAMkK,EACNnF,EAAE,ogBAKtB,EAEAw8O,EAAej8O,YAAc,iBAE7B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeg8O,C,+BCnCf,WAAgB,OAAS,mCAAmC,cAAgB,0CAA0C,eAAiB,2CAA2C,IAAM,gCAAgC,sBAAsB,gDAAgD,sBAAsB,gDAAgD,gBAAgB,0CAA0C,uBAAuB,iDAAiD,yBAAyB,mDAAmD,4BAA4B,sDAAsD,eAAiB,2CAA2C,OAAS,mCAAmC,SAAW,qC,q7BCDvvB,kBACA,cAGA,WACA,cACA,WAMMvwM,EAAqC19C,EAAMC,MAAK,SAACC,GAC3C,IAAAU,EAAcV,EAAK,UAEnBqD,GAAc,eAAmB,UAEnCswO,GAAc,IAAA39N,cAAY,IAAA49N,mBAAkBvwO,IAElD,OAAKswO,IAAgBA,aAAW,EAAXA,EAAah2L,kBAI9B,gBAAC,UAAiB,CACdj9C,UAAWA,EACXkC,MAAO+wO,aAAW,EAAXA,EAAah2L,iBACpBz8C,MAAO,EAAAiR,2BAA2BtQ,WAN/B,IASf,IAEA,UAAe27C,C,u8CC/Bf,kBAEA,cAEA,cAEA,WACA,cACA,WACA,WACA,cACA,WACA,cACA,cACA,cACA,WACA,cACA,WAMA,cACA,cACA,SACA,cACA,cACA,aACA,cACA,cACA,cACA,WACA,WACA,UACA,cACA,cACA,WACA,WAEA,UACA,WAIA,SACA,cACA,cACA,cACA,cACA,WACA,aAEA,WACA,cAGA,WAEA,WACA,YACA,eACA,YACA,eACA,YACA,eAGA,eACA,eACA,eACA,eACA,WACA,YACA,YACA,eACA,YAEMwwM,GAAoF,CACtFC,4BAA6B,qFAC7BC,8BACI,uFACJC,uBAAwB,gFACxBC,sCACI,+FACJC,iBAAkB,2EAGhB1uP,GAAK,UAAWC,KAAK,WAIrB0uP,GAAiDxuP,EAAMC,MAAK,W,MAEtDwuP,GADO,IAAAj/M,aACgB,aAEzBsG,GAAa,eACbC,EAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,EAElB,GAAG,CAACA,IAEI/0C,GAAM,IAAAC,kBAAgB,EAExBugG,GAAoB,IAAArrF,cAAY,IAAAw4O,yBAAwBD,IACxDE,GAAiC,IAAAz4O,cAAY,IAAA04O,sCAAqCH,IAElFh6N,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAA9vB,wBAAuB,CAAEyH,GAAIqiP,IAC1C,GAAG,CAACh6N,EAAUg6N,IAEd,IAAMzsN,EAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAA9vB,wBAAuB,CAAEyH,GAAIqiP,EAAcpsP,QAAS,CAAE4/B,eAAe,KAClF,GAAG,CAACxN,EAAUg6N,KACd,aAA4BzsN,GAE5B,IAAME,EAAqBliC,EAAMkG,aAAY,WACzCuuB,GAAS,IAAA9vB,wBAAuB,CAAEyH,GAAIqiP,EAAcpsP,QAAS,CAAE4/B,eAAe,KAClF,GAAG,CAACxN,EAAUg6N,KACd,IAAAtsN,qBAAoB,EAAAC,2BAA4BF,IAChD,IAAAC,qBAAoB,GAAA+1L,yBAA0Bh2L,IAC9C,IAAAC,qBAAoB,EAAA2b,qCAAsC5b,IAC1D,IAAAC,qBAAoB,GAAA4xL,2BAA4B7xL,IAChD,IAAAC,qBAAoB,GAAAg2L,yBAA0Bj2L,GAE9C,IAAMiI,EAAuBnqC,EAAMkG,aAAY,WAC3CuuB,GAAS,IAAA9vB,wBAAuB,CAAEyH,GAAIqiP,EAAcpsP,QAAS,CAAE4/B,eAAe,KAClF,GAAG,CAACxN,EAAUg6N,IAQR,KAAsCzuP,EAAMuE,SAAiB,GAAE,GAA9Dq0N,GAAc,MAAEC,GAAiB,MAElClmN,GAAO,CACT,CACI1L,MAAOlG,EAAE,gCACTyK,KAAM,gBAAC,UAAkB,CAACqH,IAAK47O,EAAcltJ,kBAAmBA,MAQlE,KAAoDvhG,EAAMuE,UAAS,GAAM,GAAxE8zN,GAAqB,MAAEw2B,GAAwB,MAEhD3iP,GAAMlM,EAAM6I,OAAuB,MACT65L,GAA6B1iM,EAAM6yB,WAAW,YAAyB,uBAEjG8lM,IAAoB,IAAAziN,aAAY,GAAA8xB,+BACtChoC,EAAMoL,WAAU,WACRutN,GAAkBv0N,IAClByqP,IAAyB,EAEjC,GAAG,CAACl2B,GAAkBv0N,KAEtB,IAAM0qP,GAAwB9uP,EAAMkG,aAAY,W,MACtCqsD,EAAwC,QAAxB,EAAAgvC,aAAiB,EAAjBA,EAAmB/tE,aAAK,eAAEpnB,GAC3CmmD,GAAkBk8L,EAKvB,UAAQ72O,KAAK,GAAAyQ,WAAWixM,8BAA8B/mK,EAAek8L,EAAc,CAAEM,gBAAgB,MAJjG,IAAAn6N,YAAW,kEAKnB,GAAG,CAAyB,QAAxB,EAAA2sE,aAAiB,EAAjBA,EAAmB/tE,aAAK,eAAEpnB,GAAIqiP,IAE5BO,GAAwBhvP,EAAMkG,aAAY,WAC5C2oP,IAAyB,EAC7B,GAAG,IAEGr2B,GAA2Bx4N,EAAMkG,aAAY,WAC/C2oP,IAAyB,EAC7B,GAAG,IAiDG3kI,IAAa,IAAAxlH,UAAQ,WACvB,OAAK+pP,EAIE,CACHtkI,WAAY,OACZC,SAAUqkI,GALH,IAOf,GAAG,CAACA,IAEI1hL,IAAkB,IAAA2gJ,iBAAgCxjG,IAAW,cAE/D+kI,IAAkC,eAClCC,GAAyBlvP,EAAMkG,aACjC,SAACyG,GACQu9G,IAILz1F,GACI,IAAA41F,oBAAmB,CACfH,WAAU,GACVI,OAAQ,CACJH,WAAY,OACZC,SAAUz9G,EAAK8hP,aACfnlO,OAAQ,EAAAgsC,eAAezvB,YAIvC,GACA,CAACqkF,GAAYz1F,KAGjB,cAAgCs4C,GAAe,CAACkiL,KAEhD,IAAMxkH,GAAwBzqI,EAAM0E,SAAQ,WACxC,IAAMyqP,GAAiC5tJ,aAAiB,EAAjBA,EAAmB4tJ,iCAAkC,KAEtFC,IAAyBD,EAE/B,MAAO,CACH,CACIloP,MACI,gBAAC,WAAqC,CAClCw9J,eACI0qF,EACMpuP,EAAEmtP,GAA8BiB,IAChC,KAEV9iP,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBkS,YACjDzO,WAAY6pP,EACZnoP,MAAOlG,EAAE,+CAGjBwE,WAAY6pP,EACZhqP,SAAU,WACN6pP,GAAgCnmN,QAAQ,CACpC2lN,aAAY,GAEpB,GAIZ,GAAG,CAACltJ,EAAmBktJ,EAAcQ,cAA+B,EAA/BA,GAAiCnmN,QAAS/nC,IAEzE2gC,IAAkB,IAAAC,sBA2BxB,OACI,gCACI,gBAAC,UAAiBqU,SAAQ,CAAC7wC,MAAO4wC,GAC9B,gBAAC,UAAS,CACN51C,MAAOY,EAAE,kCAAmC,CACxC8M,QAAQ0zF,aAAiB,EAAjBA,EAAmB1zF,SAAU,OAG7C,gBAAC,UAAuB,CACpBhN,aAAa,sBACbD,UAAWf,GAAG,QACdo2C,gBAAiBl1C,EAAE,yCACnBm1C,eACI,gBAAC,UAAwB,KACrB,gBAAC,UAAmB,KAChB,gBAAC,UAAoB,CACjB/1C,MACIohG,EACMxgG,EAAE,4BAA6B,CAC3B8M,QAAQ0zF,aAAiB,EAAjBA,EAAmB1zF,SAAU,KAEzC,KAEVvN,eACI,gCACI,gBAAC,UAAc,CACXgpB,OAAQi4E,aAAiB,EAAjBA,EAAmBe,iBAC3B9tF,eAAa,EACb5T,UAAWf,GAAG,YAElB,gBAAC,UAAkB,CAACsD,KAAMo+F,aAAiB,EAAjBA,EAAmBp+F,KAAMqR,eAAa,KAGxE9T,QA9NP,YACrB,IAAA+pD,oBAAkB,WACd,UAAQ7yC,KAAK,EAAAoyJ,WAAWG,YAAc,UAAQ5jI,SAAS1uB,OAC3D,GACJ,EA2NgCxX,gBAAiBoqI,KAErB,gBAAC,UAA0B,CACvB/mI,cAAeirP,EACf1zL,cAAe/xD,QAAQq4F,GACvBrmC,kBAAmB6R,GAAchpE,WAGzC,gBAAC,UAAa,KACV,uBAAKmI,IAAKA,IACN,gBAAC,UAAoB,CACjBxI,cAAeirP,EACf1zL,cAAe/xD,QAAQq4F,GACvBl1D,QAASlC,EACTgxB,kBAAmB,WAElBomC,EACG,gBAAC,UAAiB,CACdktJ,aAAcA,EACdltJ,kBAAmBA,EACnBxsD,kBA9Ed,SAACxF,GAKnB,IAAAhsC,EAAmCgsC,EAAM,UAA9B/rC,EAAwB+rC,EAAM,YAAjBxpC,EAAWwpC,EAAM,OAC5CxpC,EAKL27B,GACI,CACIv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,EACTC,YAAW,EACXuC,OAAM,GAEV,CACIyiE,uBAAuB,KAZ3B,IAAA5zC,YAAW,oEAenB,IA0DwC,QApMf,W,MACrB,GAAIyjM,GACA,OACI,gCACI,gBAAC,WAAoB,MACrB,gBAAC,WAAmB,CAAC1sN,eAAa,EAACi6E,WAAS,GACxC,gBAAC,WAA0B,CACvB2b,kBAAmBA,EACnBt0E,OAAQwhO,EACR9/O,SAAU6pN,OAO9B,IAAM62B,EACFnmP,QAAgC,QAAxB,EAAAq4F,aAAiB,EAAjBA,EAAmB/tE,aAAK,eAAEpnB,MAAOm1F,aAAiB,EAAjBA,EAAmBp+F,QAAS,GAAAqhI,kBAAkBjyD,SAE3F,OACI,gBAAC,WAAmB,CAAC30D,aAAW,GAC5B,gBAAC,WAAmB,CAChB2jF,kBAAmBA,EACnBE,sBAAuB4tJ,EACvB7tJ,kBAAmBstJ,GACnBptJ,kBAAmBstJ,GACnBptJ,oBAAqB+sJ,EAA+B5qP,QACpD49F,iBAAkB,SAAChU,G,MACTtyC,GAAS,KAAAs7G,mBAAkBhpE,GAC3Bm1G,EAAyB,QAAZ,EAAA52L,cAAG,EAAHA,GAAKT,eAAO,eAAE+3E,cAAc,wBAAiBnoC,EAAM,OACjEynJ,IAILJ,GAAyB/0G,IAEzB,cAAem1G,EAA2B,CACtC3uJ,MAAO,CACHpoC,IAAK,MAGjB,IAIhB,CA2JyBujP,IAGTh5M,iBAAkBv1C,EAAE,sCACpBw1C,gBACI,uBAAK31C,UAAWf,GAAG,cACf,gBAAC,UAAmB,KACf8S,GAAK4E,KAAI,SAAClE,EAAKC,GAAa,OACzB,gBAAC,UAAQ,CACLT,IAAKS,EACLlS,MAAO,EAAAuO,eAAezN,MACtBP,QAAS,WACLk3N,GAAkBvlN,EACtB,EACA/Q,SAAU+Q,IAAaslN,IAEtBvlN,EAAIpM,MATgB,KAajC,uBAAKrG,UAAWf,GAAG,QAAS8S,GAAKimN,IAAgBptN,UAKjE,gBAAC,UAA4B,CACzB9H,cAAeqpE,GACfpgE,KAAMsiP,GAAgCtiP,KACtC6gB,UAAW0hO,GACXvgP,SAAUsgP,GAAgCtgP,SAC1CjO,QAASuuP,GAAgCvuP,UAE7C,gBAAC,UAAQ,MAGrB,IAEM6uP,GAA0CvvP,EAAMC,MAAK,SAACC,GACxD,OACI,gBAAC,GAAAs5N,iCAAgC,KAC7B,gBAACg1B,GAA4B,KAAKtuP,IAG9C,IAEA,UAAeqvP,E,+4BC1af,kBACA,WAOMC,EAAgC,SAACtvP,GAC3B,IAAA2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAExC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,MACtD,qBAAGU,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAM7K,EAAW4P,EAAE,uEACzB,wBACI/E,KAAMkK,EACNnF,EAAE,4JAKtB,EAEA+9O,EAAYx9O,YAAc,cAE1B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeu9O,EAKF,EAAAC,oBAAsB,SAAC7jO,GAIxB,MAAO,CACH/pB,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,MAIlD,C,sQC7Ca,EAAAw1L,uCACT,yEACS,EAAA4nD,6CACT,+EACS,EAAAC,6CACT,+EACS,EAAAC,+CACT,gF,+BCTJ,WAAgB,aAAe,kDAAkD,OAAS,4CAA4C,SAAW,8C,yECDjJ,eA8BA,UA3ByB,SAAC/6N,G,sCACtB,OAAO,EAAP,IACK,EAAAj1B,WAAWkZ,OAAO+b,aAAc,EAAdA,EAAgB/b,OAAQ,GAC3C,EAAC,EAAAlZ,WAAWyuJ,UAA+B,QAArB,EAAAx5H,aAAc,EAAdA,EAAgB2+C,aAAK,eAAEj8D,KAAI,SAAC6iM,GAAS,OAAAA,EAAKhuM,EAAL,MAAY,GACvE,EAAC,EAAAxM,WAAW2oD,aAAqD,iBAAhC1zB,aAAc,EAAdA,EAAgB0zB,aAA2B1zB,EAAe0zB,YAAc,KAEzG,EAAC,EAAA3oD,WAAW0uJ,0BAAsD,QAA5B,EAAAz5H,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAE7vF,UAAW,KAC/E,EAAC,EAAAhnB,WAAW2uJ,sBAAkD,QAA5B,EAAA15H,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEpuD,UAAW,GAC3E,EAAC,EAAAzoD,WAAW4uJ,mBAA+C,QAA5B,EAAA35H,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEnuD,OAAQ,GACrE,EAAC,EAAA1oD,WAAW6uJ,sBAAkD,QAA5B,EAAA55H,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEtuD,UAAW,GAC3E,EAAC,EAAAvoD,WAAW8uJ,sBAAkD,QAA5B,EAAA75H,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAEruD,UAAW,GAE3E,EAAC,EAAAxoD,WAAWgvJ,2BAAwD,QAA7B,EAAA/5H,aAAc,EAAdA,EAAgB85H,qBAAa,eAAE/nI,UAAW,KACjF,EAAC,EAAAhnB,WAAWivJ,uBAAoD,QAA7B,EAAAh6H,aAAc,EAAdA,EAAgB85H,qBAAa,eAAEtmG,UAAW,GAC7E,EAAC,EAAAzoD,WAAWkvJ,oBAAiD,QAA7B,EAAAj6H,aAAc,EAAdA,EAAgB85H,qBAAa,eAAErmG,OAAQ,GACvE,EAAC,EAAA1oD,WAAWmvJ,uBAAoD,QAA7B,EAAAl6H,aAAc,EAAdA,EAAgB85H,qBAAa,eAAExmG,UAAW,GAC7E,EAAC,EAAAvoD,WAAWovJ,uBAAoD,QAA7B,EAAAn6H,aAAc,EAAdA,EAAgB85H,qBAAa,eAAEvmG,UAAW,GAE7E,EAAC,EAAAxoD,WAAWsvJ,4BAA0D,QAA9B,EAAAr6H,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAEroI,UAAW,KACnF,EAAC,EAAAhnB,WAAWuvJ,wBAAsD,QAA9B,EAAAt6H,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE5mG,UAAW,GAC/E,EAAC,EAAAzoD,WAAWwvJ,qBAAmD,QAA9B,EAAAv6H,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE3mG,OAAQ,GACzE,EAAC,EAAA1oD,WAAWyvJ,wBAAsD,QAA9B,EAAAx6H,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE9mG,UAAW,GAC/E,EAAC,EAAAvoD,WAAW0vJ,wBAAsD,QAA9B,EAAAz6H,aAAc,EAAdA,EAAgBo6H,sBAAc,eAAE7mG,UAAW,GAC/E,EAAC,EAAAxoD,WAAW2vJ,eAAe16H,aAAc,EAAdA,EAAgB06H,eAAgB,G,CAEnE,C,6HC5BA,IAGY3vJ,EAHZ,YAGA,SAAYA,GACR,2BACA,sCACA,8BACA,kCACA,0BACA,yBACA,6BACA,yBACA,4BACH,CAVD,CAAYA,IAAU,aAAVA,EAAU,KAwBT,EAAA28N,8BAAgC,IAAIvtM,IAAI,CAAC,EAAA8oI,oBAAoBC,Q,q7BC3B1E,kBACA,cAQM83F,EAA4B7vP,EAAMC,MAAK,SAACC,GAClC,IAAAqX,EAAoBrX,EAAK,IAApB4pG,EAAe5pG,EAAK,KAAdopG,EAASppG,EAAK,KAUjC,OARAF,EAAMoL,WAAU,WACP0+F,GAASvyF,IAAQ,aAAS+xF,IAI/B/xF,EAAIu4O,QAAQxmJ,EAChB,GAAG,CAAC/xF,EAAKuyF,EAAMR,IAER,IACX,IAEA,UAAeumJ,C,4rDCvBf,kBAEA,cACA,cACA,aACA,cACA,cACA,cAEMhwP,EAAK,UAAWC,KAAK,WAqBd,EAAAw9K,gBAAkB,SAAKyyE,GAChC,OAAOA,EAAU9tM,QAAiB,SAAC50C,EAAQ+vK,GACvC,IAAM4yE,GAAe,IAAA1yE,iBAAgBF,EAAStuK,UAExCmhP,EAAoB,GAK1B,YAJuBzpP,IAAnB42K,EAASj4K,OACT8qP,EAAar4O,KAAKwlK,EAASj4K,OAGxB,EAAP,SAAWkI,IAAM,KAAK4iP,IAAY,KAAKD,IAAY,EACvD,GAAG,GACP,EAEA,IAAME,EAA6B,SAAK9yE,GACpC,OAAO,EAAP,KACOA,GAAQ,CACX4yE,cAAc,IAAA1yE,iBAAmB,CAACF,IAClCtuK,SAAUsuK,EAAStuK,SAASyI,IAAI24O,IAExC,EAMMC,EAAe,SAAUjwP,GACnB,IAAA69K,EAA6D79K,EAAK,MAA3D8a,EAAsD9a,EAAK,OAAnD8c,EAA8C9c,EAAK,SAAzC4d,EAAoC5d,EAAK,YAA5BkwP,EAAuBlwP,EAAK,QAAnBU,EAAcV,EAAK,UAEpEmwP,EAAiBrwP,EAAM0E,SAAQ,WACjC,OARgB,SAAKq5K,GACzB,OAAOA,EAAMxmK,IAAI24O,EACrB,CAMeI,CAAgBvyE,EAC3B,GAAG,CAACA,IAEJ,OACI,uBAAKn9K,WAAW,aAAGf,EAAG,QAASe,GAAU,qBAAqB,iBACzDyvP,EAAe94O,KAAI,SAAC6lK,EAAUmzE,GAC3B,IAAMrzE,EAAY,IAAIluJ,IAAIhU,GAEpBw1O,EAAYpzE,EAAS4yE,aAAapoN,OAAM,SAAC21I,GAAa,OAAAL,EAAU/tJ,IAAIouJ,EAAd,IACtDkzE,GACDD,GAAapzE,EAAS4yE,aAAa7+K,MAAK,SAACosG,GAAa,OAAAL,EAAU/tJ,IAAIouJ,EAAd,IAE3D,OACI,uBACI38K,UAAWf,EAAG,QAAS,CACnB,mBAAoBuwP,IAExBv9O,IAAK09O,GAEL,gBAAC,UAAQ,CACL3vP,UAAWf,EAAG,YACdimF,QAAS0qK,EACTtyC,eAAgBuyC,EAChBxpP,MAAOm2K,EAASn2K,MAChB6W,YAAaA,EACbd,SAAU,SAAC8oE,EAASj6E,GAChB,IAAI4iK,EAAW,EAAH,KAAOzzJ,IAAM,GAErByzJ,EADA3oF,GACW,aAAI,SAAK9qE,IAAM,KAAKoiK,EAAS4yE,eAAY,KAEzC,aAAWh1O,EAAQoiK,EAAS4yE,cAE3ChzO,EAASyxJ,EAAU5iK,EACvB,IAEJ,gBAACskP,EAAY,CACTC,SAAO,EACPryE,MAAOX,EAAStuK,SAChBkM,OAAQA,EACRgC,SAAUA,EACVc,YAAaA,IAI7B,IAGZ,EAEA,UAAe9d,EAAMC,KAAKkwP,E,8FC5Gb,EAAAp1G,cAAgB,SAAC9tH,GAC1B,OAAOA,CACX,C,sBCFA,IAAYyjO,EAKAngG,E,6FALZ,SAAYmgG,GACR,cACA,eACH,CAHD,CAAYA,IAAY,eAAZA,EAAY,KAKxB,SAAYngG,GACR,sBACA,gBACA,qBACH,CAJD,CAAYA,IAAmB,sBAAnBA,EAAmB,I,40DCL/B,eACA,WAQA,WASA,WACA,cACA,cACA,WACA,WAEA,SAAUogG,EAAkB9sP,G,4EAGkC,OAFlD8Q,EAA+B9Q,EAAM,WAAzBsC,EAAmBtC,EAAM,MAAlBxB,EAAYwB,EAAM,QAEa,IAAM,IAAAiJ,QAAO,EAAAmwJ,sB,OACjB,OADhD5+I,EAAoD,SACJ,IAAM,IAAAvR,QAAO,EAAAkwJ,sB,OAGnE,OAHM9uJ,EAAgD,SAChDqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GACtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,cAAerB,GACrEkc,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MAAI,IAAA4jP,eAAc,CAAEjyO,iBAAkBhK,M,OAA5C,S,iBAGJ,UAAM,IAAA3H,MAAI,IAAA6jP,wBAAuB1qP,EAAOwO,K,OAGpC,OAHJ,SAGI,GAAM,UAAkBm8O,kBAAkB,EAAD,KAClC3qP,GAAK,CACR2Y,KAAMnK,M,cAHR,kBACF,SAGE,IAJC1Q,EAAK,KAAEqJ,EAAQ,KAMlBrJ,EACA,IAAM,IAAA+I,MAAI,IAAA+jP,wBAAuB5qP,EAAOwO,EAAY1Q,KADpD,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAAgkP,0BAAyB7qP,EAAOwO,EAAYrH,K,cAAtD,UAEA,IAAAwS,2BAA0BnL,EAAYrH,EAAU,EAAA2jP,2B,QAGpD,SAAUC,EAAkBrtP,G,4DAGxB,OAFQ8I,EAAS9I,EAAM,KAEvB,IAAM,IAAAmJ,MAAI,IAAAmkP,+B,OAE0D,OAFpE,SAEoE,GAAM,UAAkBC,cAAczkP,I,cAApG,kBAA8D,SAA2C,KAAxG1I,EAAK,MAER,IAAM,IAAA+I,MAAI,IAAAk/G,2BAA0BjoH,KADpC,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAAqkP,iC,cAAV,SAEA,EAAA59K,uBAAuBjyC,KAAK,CAAC,G,QAGjC,SAAU8vN,EAAkBztP,G,4DAGxB,OAFQ8I,EAAS9I,EAAM,KAEvB,IAAM,IAAAmJ,MAAI,IAAAmkP,+B,OAE0D,OAFpE,SAEoE,GAAM,UAAkB13C,cAAc9sM,I,cAApG,kBAA8D,SAA2C,KAAxG1I,EAAK,MAER,IAAM,IAAA+I,MAAI,IAAAk/G,2BAA0BjoH,KADpC,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAA+I,MAAI,IAAAqkP,iC,cAAV,SAEA,EAAA59K,uBAAuBjyC,KAAK,CAAC,G,QASjC,UANA,W,kDACI,UAAM,IAAA/zB,WAAU,EAAA8jP,4BAA6BZ,I,OAC7C,OADA,SACA,IAAM,IAAAljP,WAAU,EAAA+jP,uBAAwBN,I,OACxC,OADA,SACA,IAAM,IAAAzjP,WAAU,EAAAgkP,uBAAwBH,I,cAAxC,S,2OC3FJ,eAca,EAAAtkI,wBAA0B,SAAC7gE,EAAmBr/B,GAAiD,OACxG3pB,KAAM,EAAAuuP,0BACNvlM,IAAG,EACHr/B,KAAI,EAHoG,EAM/F,EAAA6kO,6BAA+B,WAA2C,OACnFxuP,KAAM,EAAAyuP,gCAD6E,EAI1E,EAAAC,6BAA+B,SAAC5tP,GAAsD,OAC/Fd,KAAM,EAAA2uP,gCACN7tP,MAAK,EAF0F,EAKtF,EAAA8tP,+BAAiC,SAC1C5lM,EACAr/B,EACAklO,GACwC,OACxC7uP,KAAM,EAAA8uP,kCACN9lM,IAAG,EACHr/B,KAAI,EACJklO,aAAY,EAJ4B,EAO/B,EAAAE,wBAA0B,WAAsC,OACzE/uP,KAAM,EAAAi1C,MADmE,C,sBCtC7E,IAAYx4C,E,qEAAZ,SAAYA,GACR,4CACA,gDACA,8BACA,kCACA,2BACH,CAND,CAAYA,IAAU,aAAVA,EAAU,I,6JCFtB,kBACA,aACA,cACA,cAEMC,EAAK,UAAWC,KAAK,WAMrBqyP,EAA6C,UAAMlyP,MAAK,SAACC,GACnD,IAAA4O,EAAwB5O,EAAK,SAAnBU,EAAcV,EAAK,UAErC,OAAO,+BAAKU,WAAW,aAAGf,EAAG,WAAYe,IAAakO,EAC1D,IAEA,UAAeqjP,C,q7BCjBf,kBAEA,cACA,cAQMtyP,EAAK,UAAWC,KAAK,WAErBs6O,EAAiCp6O,EAAMC,MAAK,SAACC,GACvC,IAAA0mC,EAAmC1mC,EAAK,QAA/BmyC,EAA0BnyC,EAAK,KAAzBkyP,EAAoBlyP,EAAK,gBAEhD,OACI,2BACI,uBAAKU,UAAWf,EAAG,YAAa+mC,GAChC,uBAAKhmC,UAAWf,EAAG,OAAQ,CAAE,oBAAqBuyP,KAAqB//M,GAGnF,IAEA,UAAe+nM,C,+BCvBf,WAAgB,OAAS,6BAA6B,SAAW,+B,umDCDjE,eACA,UACA,WACA,SACA,cACA,WACA,cACA,cAEMiY,EAAyB,SAACxlP,GAC5B,OAAO,SAA8BhJ,G,4EAGsC,OAF/DuI,EAAgBvI,EAAM,GAAlBxB,EAAYwB,EAAM,QAEyC,IAAM,IAAAiJ,SACzE,IAAA4C,+BAA8BtD,K,OAElC,OAHM1I,EAAiE,UAGlE,aAAiBA,EAAerB,GAIrC,IAAM,IAAA2K,MAAI,IAAAslP,sBAAqBlmP,KAH3B,I,cAGJ,SAKIS,IAAgB,EAAAK,gBAAgBC,OAAhC,MACkB,GAAM,UAAkBstD,gBAAgBruD,I,cAA1Do9I,EAAkB,S,aAEA,SAAM,UAAmB/uF,gBAAgBruD,I,OAA3Do9I,EAAkB,S,wBAEhB,IAAoCA,EAAe,GAAlD+oG,EAAe,KAAEC,EAAc,KAClCD,EACA,IAAM,IAAAvlP,MAAI,IAAAylP,sBAAqBrmP,EAAImmP,KADnC,M,OAEA,OADA,SACA,I,cAMA1lP,IAAgB,EAAAK,gBAAgBC,OAAhC,OACuB,GAAM,UAAkBulP,mBAAmBtmP,I,cAAlEumP,EAAuB,S,eAEA,SAAM,UAAmBD,mBAAmBtmP,I,QAAnEumP,EAAuB,S,0BAErB,IAAwCA,EAAoB,GAA3DC,EAAiB,KAAEC,EAAgB,KACtCD,EACA,IAAM,IAAA5lP,MAAI,IAAAylP,sBAAqBrmP,EAAIwmP,KADnC,O,QAEA,OADA,SACA,I,QAGJ,UAAM,IAAA5lP,MAAI,IAAA8lP,wBAAuB1mP,EAAIomP,EAAgBK,K,eAArD,S,QAER,EAMA,UAJA,SAAyBhmP,G,kDACrB,UAAM,IAAAY,WAAU,EAAA8b,0BAA2B8oO,EAAuBxlP,K,cAAlE,S,uCCtDJ,WAAgB,KAAO,8BAA8B,OAAS,gCAAgC,SAAW,kC,q7BCDzG,kBAEA,cAEA,cAEA,cAMMhN,EAAK,UAAWC,KAAK,WAErB8lN,EAA6B5lN,EAAMC,MAAK,SAACC,GACnC,IAAA+Z,EAAS/Z,EAAK,KAEtB,OACI,2BACI,uBAAKU,UAAWf,EAAG,SAAUoa,EAAKnB,MAClC,uBAAKlY,UAAWf,EAAG,WACf,gBAAC,UAA2B,CAAC0C,SAAU0X,aAAI,EAAJA,EAAMsvB,UAI7D,IAEA,UAAeq8K,C,kNC1Bf,eACA,cACA,WAEMmtC,EAAsB,EAAAxzM,UACtByzM,EAAoB,EAAAzzM,UAEb,EAAA0zM,sBAAwB,SAAC5gN,EAAc6gN,EAA2BvuL,GAC3E,YADgD,IAAAuuL,IAAAA,EAAA,QAA2B,IAAAvuL,IAAAA,EAAMC,KAAKD,OAC/EtyB,EAAO6gN,EAAMvuL,CACxB,EAEa,EAAAwuL,oBAAsB,SAAC9gN,EAAc6gN,EAAyBvuL,GACvE,YAD8C,IAAAuuL,IAAAA,EAAA,QAAyB,IAAAvuL,IAAAA,EAAMC,KAAKD,OAC3EtyB,EAAO6gN,EAAMvuL,CACxB,EAkCA,UAhCyB,SACrB52B,EACA1rC,EACA+wP,EACAC,GAEA,IAAKtlN,EACD,OAAO,EAGX,GAAI1rC,aAAO,EAAPA,EAAS4/B,cACT,OAAO,EAGX,IAAMqxN,GAAsB,IAAAvoE,0BAAyBh9I,EAAQ9pC,OACvDsvP,GAAW,aAASF,GAAmBA,EAAkBL,EAC/D,GAAIjlN,EAAQ9pC,SAAU,IAAAkvP,qBAAoBplN,EAAQsE,KAAMkhN,KAAcD,EAClE,OAAO,EAGX,GAAIvlN,EAAQhqC,QACR,OAAO,EAGX,IAAMyvP,GAAQ,aAASJ,GAAgBA,EAAeL,EACtD,QAAIhlN,EAAQ3pC,MAAO,IAAA6uP,uBAAsBllN,EAAQsE,KAAMmhN,GAK3D,C,6JC9CA,IAOMC,EAPN,YAOyB,QAAMnwP,cAAiC,CAAEwyC,WAAY,OAE9E,UAAe29M,C,+BCRf,WAAgB,QAAU,8BAA8B,0BAA0B,8CAA8C,uBAAuB,2CAA2C,uBAAuB,2CAA2C,4BAA4B,gDAAgD,OAAS,6BAA6B,SAAW,+B,u7BCDjY,kBAEA,aACA,cAEA,cACA,WACA,cACA,WAQM5zP,EAAK,UAAWC,KAAK,WAErB4zP,IAAuB,MACxB,EAAA99N,uBAAuBC,SAAU,EAAA9c,aAAa4lK,qBAC/C,EAAC,EAAA/oJ,uBAAuBzwB,OAAQ,EAAA4T,aAAamrF,iBAC7C,EAAAyvJ,MAAO,EAAA56O,aAAamrF,iB,GAGlB0vJ,EAAqB,IAAI5kO,IAA2C,CAAC,EAAA4G,uBAAuBC,UAE5Fg+N,EAA+B7zP,EAAMC,MAAK,SAACC,GACrC,IAAAU,EAAqCV,EAAK,UAA/BiF,EAA0BjF,EAAK,MAAxB81B,EAAmB91B,EAAK,eAElD,QAAcsG,IAAVrB,QAA0CqB,IAAnBwvB,EACvB,OAAO,KAGX,IAAM89N,EAAO3uP,EAAQ,EAAI,KAAO,KAC1B4uP,EAAW10O,KAAK81D,IAAIhwE,GACpB6uP,EAAaJ,EAAmBzkO,IAAI6G,GAE1C,OACI,wBAAMp1B,WAAW,aAAGf,EAAG,QAASe,IAC3BozP,EAAaF,EAAO,KACrB,gBAAC,UAAa,CAAChxP,MAAOixP,EAAU5wP,KAAMuwP,EAAwB19N,KAG1E,IAEA,UAAe69N,C,kYC5Cf,cACA,WACA,WACA,WACA,cAEM5wO,EAAkB,CACpB,EAAArjB,WAAW6lH,oBACX,EAAA7lH,WAAW+lH,oBACX,EAAA/lH,WAAWimH,oBACX,EAAAjmH,WAAWmmH,sBACX,EAAAnmH,WAAWqmH,mBACX,EAAArmH,WAAWumH,kBACX,EAAAvmH,WAAWymH,iBACX,EAAAzmH,WAAW2mH,gBACX,EAAA3mH,WAAW6mH,gCACX,EAAA7mH,WAAW+mH,wBACX,EAAA/mH,WAAWinH,qBACX,EAAAjnH,WAAWmnH,4BACX,EAAAnnH,WAAWqnH,0BACX,EAAArnH,WAAWunH,wBACX,EAAAvnH,WAAWynH,gBACX,EAAAznH,WAAW2nH,iBACX,EAAA3nH,WAAW6nH,kBACX,EAAA7nH,WAAW+nH,kBAyEf,UAtEiB,SAAC5mH,EAAcia,GAC5B,IAAMc,EAAM,oEACL,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,KAElC,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW6lH,qBAAsBzqG,EAAQ,KAC3D,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW6lH,qBAAsBzqG,EAAQ,OAE3D,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW+lH,qBAAsB3qG,EAAQ,KAC3D,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW+lH,qBAAsB3qG,EAAQ,OAE3D,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWqmH,oBAAqBjrG,EAAQ,KAC1D,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWqmH,oBAAqBjrG,EAAQ,OAE1D,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWimH,oBAAqB,EAAAjmH,WAAWmmH,uBAAwB/qG,EAAQ,KAC7F,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWimH,oBAAqB,EAAAjmH,WAAWmmH,uBAAwB/qG,EAAQ,OAE7F,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWumH,mBAAoBnrG,EAAQ,KACzD,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWumH,mBAAoBnrG,EAAQ,OAEzD,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWymH,kBAAmBrrG,EAAQ,KACxD,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWymH,kBAAmBrrG,EAAQ,MAExD,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW2mH,iBAAkBvrG,EAAQ,KACvD,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW2mH,iBAAkBvrG,EAAQ,OAEvD,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW6mH,iCAAkCzrG,EAAQ,KACvE,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW6mH,iCAAkCzrG,EAAQ,OAEvE,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW+mH,yBAA0B3rG,EAAQ,KAC/D,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW+mH,yBAA0B3rG,EAAQ,OAE/D,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWinH,sBAAuB7rG,EAAQ,KAC5D,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWinH,sBAAuB7rG,EAAQ,OAE5D,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWunH,yBAA0BnsG,EAAQ,KAC/D,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWunH,yBAA0BnsG,EAAQ,OAE/D,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWqnH,2BAA4BjsG,EAAQ,KACjE,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWqnH,2BAA4BjsG,EAAQ,MAEjE,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW2nH,kBAAmBvsG,EAAQ,MACxD,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW2nH,kBAAmBvsG,EAAQ,MAExD,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW6nH,mBAAoBzsG,EAAQ,KACzD,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW6nH,mBAAoBzsG,EAAQ,MAEzD,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW+nH,kBAAmB3sG,EAAQ,KACxD,IAAAkmK,qBAAoBngL,EAAG,CAAC,EAAAnB,WAAW+nH,kBAAmB3sG,EAAQ,OAE9D,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWioH,iBAAkB7sG,EAAQ,IAGrBA,EAAO,EAAApb,WAAWynH,mBAAqB,EAAA4sI,gBAAgBlpF,YACxD/vJ,EAAO,EAAApb,WAAWmoH,6BACtDjsG,EAAO,EAAAlc,WAAWmoH,2BAA6BhnH,EAC3C,mFAIR,IAAMklH,GAAqB,IAAAxtF,mBAAkBzd,EAAO,EAAApb,WAAWqmH,qBACzDE,GAAoB,IAAA1tF,mBAAkBzd,EAAO,EAAApb,WAAWumH,oBAO9D,OANI,aAASF,KAAuB,aAASE,IAAsBF,GAAsBE,IACrFrqG,EAAO,EAAAlc,WAAWumH,mBAAqBplH,EACnC,8EAID+a,CACX,C,y3BChGA,kBACA,WAQMo4O,EAA6B,SAACh0P,GACxB,IAAAoW,EAA+BpW,EAAK,KAA9B2B,EAAyB3B,EAAK,UAAnBU,EAAcV,EAAK,UAE5C,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAY3Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,qBAAG9E,KAAM7K,GACL,yBACI,yBACI,wBACI4P,EAAE,mEACF1H,UAAU,mEAQ1C,EAEAmqP,EAASliP,YAAc,WAEvB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAeiiP,C,0HCrCf,eAEa,EAAAC,wCAA0C,SACnDhuP,G,MAEA,OACe,QAAX,EAAAA,EAAMg5E,aAAK,eAAEl9B,QAA+D,SAACC,EAAK8nB,GAC9E,OAAKA,EAAKwb,QAQVtjC,GAJoC,IAAAkyM,gCAA+B,CAC/D9+M,SAAU00B,EAAK10B,SACfC,UAAWy0B,EAAKz0B,aAERy0B,EAAKwb,OACVtjC,GARIA,CASf,GAAG,CAAC,KAAM,CAAC,CAEnB,C,s4BCpBA,kBACA,WACA,WAOa,EAAAglF,wBAAqB,MAC7B,EAAAP,kBAAkBllF,KAAM,sBACzB,EAAC,EAAAklF,kBAAkBv9H,MAAO,uBAC1B,EAAC,EAAAu9H,kBAAkBC,UAAW,2BAC9B,EAAC,EAAAD,kBAAkBz6G,UAAW,2BAC9B,EAAC,EAAAy6G,kBAAkBv6G,SAAU,0BAC7B,EAAC,EAAAu6G,kBAAkBE,KAAM,sBACzB,EAAC,EAAAF,kBAAkBtY,MAAO,uBAC1B,EAAC,EAAAsY,kBAAkBnrC,QAAS,yBAC5B,EAAC,EAAAmrC,kBAAkB9gG,UAAW,2B,GAGlC,IAAMwuN,EAAkCr0P,EAAMC,MAAK,SAACC,GACxC,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAAmmI,sBAAsB59G,IAHpB,IAIf,IAEA,UAAe+qO,C,0pCCjCf,kBAEA,cAEA,cACA,UACA,WACA,cACA,cACA,aACA,aACA,cACA,cACA,WACA,aACA,UACA,cACA,WACA,cACA,WACA,WACA,WACA,cACA,cACA,cACA,WACA,WACA,cACA,cAEMx0P,EAAK,UAAWC,KAAK,WAuBrBw0P,EAAuB,CACzB,EAAAv7O,aAAaohE,YACb,EAAAphE,aAAaqhE,YACb,EAAArhE,aAAa85J,YACb,EAAA95J,aAAa2oC,OAKX6yM,EAAmCv0P,EAAMC,MAAK,SAACC,GACzC,IAAA6lM,EAAuD7lM,EAAK,cAA7CU,EAAwCV,EAAK,UAAlC+yC,EAA6B/yC,EAAK,YAArBw/E,EAAgBx/E,EAAK,YAE9Ds0P,EAA0Ct0P,EAAMs0P,yCAA2C,UAE3FC,EAA2Cv0P,EAAMu0P,0CAA4C,UAE7FC,EAAgDx0P,EAAMw0P,+CAAiD,UAErG3zP,GAAM,IAAAC,kBAAgB,EAExB2zP,KAAa1hN,aAAW,EAAXA,EAAa25C,QAE1BgoK,EACF,UAAG,EAAAh1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmBgsF,iBAC7D6hF,EACF,UAAG,EAAAj1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmB+rF,eAC7D+hF,EAAuB,UAAG,EAAAl1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmBisF,aACtF8hF,EACF,UAAG,EAAAn1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmB4kD,uBAC7DopH,EACF,UAAG,EAAAp1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmBiuK,kBAE7DC,EACF,UAAG,EAAAt1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmBmuK,uBAC7DC,EACF,UAAG,EAAAx1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmBmlI,wBAC7DkpC,EAAoB,UAAG,EAAAz1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmBsuK,UAEnFC,EAAav1P,EAAM0E,SAAQ,WAAM,WAAA8wP,gBAAA,GAAiB,IAElDC,EAAiCz1P,EAAM0E,SACzC,WACI,OAAA4vP,EAAqB/8O,KAAI,SAACpU,GACtB,MAAO,CACHgC,MAAOhC,EACP8D,MAAO,gBAAC,UAAQ,CAAC9D,KAAMA,IAE/B,GALA,GAMJ,IAGEuyP,EACF,UAAG,EAAA91P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmB8mB,eAE7D6nJ,EACF,UAAG,EAAA/1P,WAAWyqF,UAAS,YAAI07G,EAAa,YAAI,EAAA/+G,mBAAmBgG,gBAE7DryE,GAAS,IAAAgY,oBAETijO,GAAmB,IAAAnvN,mBAAkB9rB,EAAOK,OAAQ06O,GACpDG,GAAoB,IAAApvN,mBAAkB9rB,EAAOK,OAAQ26O,GAErDG,GAAkB,IAAApxP,UAAQ,WAC5B,OAAO,aAAMg7E,EAAa,KAC9B,GAAG,CAACA,IAEEq2K,GAA2BH,EAAmBE,EAAgBF,GAAoB,KAClFI,GAA4BH,EAAoBC,EAAgBD,GAAqB,KAErFI,IAAqB,IAAAvxP,UAAQ,WAC/B,OAAOg7E,EACFxwD,QAAO,SAACyxD,EAAYnpE,GAEjB,GADoBA,IAAUkoE,EAAYv9E,OAAS,EAE/C,OAAO,EAGX,IAAM+zP,EAAuBF,cAAyB,EAAzBA,GAA2Bx+O,MACxD,SAAI,aAASmpE,EAAWnpE,UAAU,aAAS0+O,IACrBv1K,EAAWnpE,MAAQ0+O,IAMlCv1K,EAAWx9E,OAAS,EAAAmvE,kCAAkCC,QACjE,IACCh7D,KAAI,SAACopE,GACF,MAAO,CACHt0E,KAAM,gBAAC,UAAU,CAACwB,QAAS8yE,EAAWnpE,OAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WACvFkF,OAAO,IAAAqsM,yBAAwB3yH,EAAW/5C,SAC1CzhC,MAAOw7E,EAAWv0E,GAE1B,GACR,GAAG,CAACszE,EAAas2K,KAEXG,IAAsB,IAAAzxP,UAAQ,WAChC,OAAOg7E,EACFxwD,QAAO,SAACyxD,EAAYnpE,GAEjB,GAD+B,IAAVA,EAEjB,OAAO,EAGX,IAAM4+O,EAAsBL,cAAwB,EAAxBA,GAA0Bv+O,MACtD,SAAI,aAASmpE,EAAWnpE,UAAU,aAAS4+O,IACrBA,EAAsBz1K,EAAWnpE,QAMhDmpE,EAAWx9E,OAAS,EAAAmvE,kCAAkCC,QACjE,IACCh7D,KAAI,SAACopE,GACF,MAAO,CACHt0E,KAAM,gBAAC,UAAU,CAACwB,QAAS8yE,EAAWnpE,OAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WACvFkF,OAAO,IAAAqsM,yBAAwB3yH,EAAW/5C,SAC1CzhC,MAAOw7E,EAAWv0E,GAE1B,GACR,GAAG,CAACszE,EAAaq2K,KAEjB,OACI,uBAAKn1P,UAAWA,GACZ,gBAAC,UAAU,KACP,gBAAC,UAAU,CAACkd,aAAW,EAACld,UAAWf,EAAG,QAAS,iBAC3C,gBAAC,UAAyB,CACtBiZ,KAAM87O,EACN3tP,MAAOlG,EAAE,8CAER,SAACb,EAAO6yB,GAAiB,OACtB,uBAAKnyB,UAAWf,EAAG,mBACf,gBAAC,UAAW,CACRe,UAAWf,EAAG,8BACdk3B,eAAgBl3B,EAAG,wBAAyB,CACxC,qCAAqC,IAEzC+F,YAAa7E,EAAE,wDACf+X,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpB6X,SAAU,SAAC7X,GACPqvP,IACAt0P,EAAM8c,SAAS7X,EACnB,EACAK,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBuX,eAAgB,SAACC,GAAa,OAC1B,gBAAC,UAAa,KAAK,EAAAw5O,mBAAmBt5O,gBAAgBF,IAD5B,IAIlC,gBAAC,UAAyB,CACtB/D,KAAM+7O,EACN1c,sBAAoB,IAEnB,SAACj4O,EAAO6yB,GAAiB,OACtB,gBAAC,UAAa,CACV05G,iBAAkB5sI,EAAG,wBAAyB,CAC1C,oCAAoC,IAExCwH,cAAe0rB,EAAa5tB,MAC5B9C,QAASozP,EACTrwP,SAAU,SAACD,GACPqvP,IACAt0P,EAAM8c,SAAS7X,EACnB,EACA6B,aAAc,SAACN,GACX,OAAAA,EACI,gBAAC,UAA0B,CAACwyC,iBAAe,EAACjyC,MAAOP,EAAOO,QAC1D,IAFJ,EAIJS,eAAgB,SAAChB,GAAW,OAAAA,EAAOvB,KAAP,EAC5B1C,gBAAiB,EAAAC,4BAA4BC,YAC7CiD,YAAa7E,EAAE,2DACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBokH,UAAQ,GAvBU,IA1BZ,KAyDlC,gBAAC,UAAyB,CACtB3wG,KAAMg8O,EACN7tP,MAAOlG,EAAE,mDACTH,UAAWf,EAAG,QAAS,yBAEtB,SAACK,EAAO6yB,GAAiB,OACtB,gBAAC,UAAW,CACRja,KAAMia,EAAaja,KACnBlT,YAAa7E,EAAE,yDACfkjG,SAAU,EAAAlrF,aAAas9I,sBACvBz5I,eAAgB,SAACC,GAAa,uBAAC,UAAU,KAAK,EAAAy5O,gBAAgBv5O,gBAAgBF,IAAhD,EAC9B1X,MAAO4tB,EAAa5tB,MACpB6X,SAAU,SAAC7X,GACPqvP,IACAt0P,EAAM8c,SAAS7X,EACnB,EACAK,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChByzB,KAAMw8N,EACNviK,KAAM,GAfY,KAoBjC2hK,GACG,gBAAC,UAAyB,CACtB77O,KAAMi8O,EACNtwM,cAAY,EACZ7jD,UAAWf,EAAG,WAEb,SAACK,EAAO6yB,GAAiB,OACtB,gBAAC,UAAsB,CACnBnyB,UAAWf,EAAG,eACdo5F,cAvNgB,EAwNhBngF,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpB6X,SAAU,SAAC7X,GACPuvP,IACAx0P,EAAM8c,SAAS7X,EACnB,EACA8B,MAAOlG,EAAE,yDAVS,IAelC,gBAAC,UAAyB,CACtB+X,KAAM48O,EACNzuP,MAAOlG,EAAE,mDACTH,UAAWf,EAAG,QAAS,yBAEtB,SAACK,EAAO6yB,GAAiB,OACtB,gBAAC,UAAa,CACV1rB,cAAe0rB,EAAa5tB,MAC5B9C,QAAS4zP,GACT7wP,SAAU,SAACD,GACPqvP,IACAC,IACAv0P,EAAM8c,SAAS7X,EACnB,EACA6B,aAAc,SAACN,GACX,OAAAA,EACI,gBAAC,UAA0B,CAACwyC,iBAAe,EAAC7sC,KAAM3F,EAAO2F,KAAMpF,MAAOP,EAAOO,QAC7E,IAFJ,EAIJS,eAAgB,SAAChB,GAAW,OAAAA,EAAOvB,KAAP,EAC5B1C,gBAAiB,EAAAC,4BAA4BC,YAC7CiD,YAAa7E,EAAE,yDACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YApBA,IAwB9B,gBAAC,UAAyB,CACtByT,KAAM68O,EACN1uP,MAAOlG,EAAE,oDACTH,UAAWf,EAAG,QAAS,0BAEtB,SAACK,EAAO6yB,GAAiB,OACtB,gBAAC,UAAa,CACV1rB,cAAe0rB,EAAa5tB,MAC5B9C,QAAS8zP,GACT/wP,SAAU,SAACD,GACPqvP,IACAC,IACAv0P,EAAM8c,SAAS7X,EACnB,EACA6B,aAAc,SAACN,GACX,OAAAA,EACI,gBAAC,UAA0B,CAACwyC,iBAAe,EAAC7sC,KAAM3F,EAAO2F,KAAMpF,MAAOP,EAAOO,QAC7E,IAFJ,EAIJS,eAAgB,SAAChB,GAAW,OAAAA,EAAOvB,KAAP,EAC5B1C,gBAAiB,EAAAC,4BAA4BC,YAC7CiD,YAAa7E,EAAE,0DACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YApBA,IAwB9B,gBAAC,UAAyB,CACtByT,KAAMk8O,EACN/tP,MAAOlG,EAAE,wDACTH,UAAWf,EAAG,QAAS,8BAEtB,SAACK,EAAO6yB,GAAiB,OACtB,gBAAC,UAAK,CACFja,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,EAAE,8DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATA,IAa9B,gBAAC,UAAyB,CACtByT,KAAMu8O,EACNpuP,MAAOlG,EAAE,gDACTH,UAAWf,EAAG,QAAS,sBAEtB,SAACK,EAAO6yB,GAAiB,OACtB,gBAAC,UAAK,CACFja,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,EAAE,sDACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATA,IAa9B,gBAAC,UAAU,CAACsuG,OAAQ,GAChB,gBAAC,UAAyB,CACtB76F,KAAMo8O,EACNjuP,MAAOlG,EAAE,yDACTH,UAAWf,EAAG,QAAS,+BAEtB,SAACK,EAAO6yB,GAAiB,OACtB,gBAAC,UAAK,CACFja,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,EAAE,+DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATA,IAa9B,gBAAC,UAAyB,CACtByT,KAAMs8O,EACNnuP,MAAOlG,EAAE,0DACTH,UAAWf,EAAG,QAAS,gCAEtB,SAACK,EAAO6yB,GAAiB,OACtB,gBAAC,UAAK,CACFja,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,EAAE,gEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATA,KAgB9C,IAEA,UAAekvP,C,q7BCvaf,kBACA,cACA,aAEA,WACA,WAGA,WAEM10P,EAAK,UAAWC,KAAK,WAMrBy2P,EAAiCv2P,EAAMC,MAAK,SAACC,G,gBACvCqxG,EAAarxG,EAAK,SAClBa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,uBAAKJ,UAAWf,EAAG,YACf,uBAAKe,UAAWf,EAAG,UAAU,IAAAypF,YAAW,yBAA0BioB,EAAS7nD,YAC3E,2BACI,yBAAI3oD,EAAE,sC,SAA2D,QAAd,EAAAwwG,EAASttG,aAAK,a,EAAEwU,UAEtE,IAAA+9O,mBAAkBjlJ,EAASttG,QACxB,gCACI,uBAAKrD,UAAWf,EAAG,WACf,yBAAIkB,EAAE,sC,MAA2D,QAAd,EAAAwwG,EAASttG,aAAK,a,EAAEwsG,cAAcrrD,O,IAAS,IAC3E,QAAd,EAAAmsD,EAASttG,aAAK,a,EAAEwsG,cAAc/rE,MAEnC,2BACI,yBAAI3jC,EAAE,uC,IAA4C,IACjDyiE,KAAKC,WAAwB,QAAd,EAAA8tC,EAASttG,aAAK,eAAEwsG,gBAAiB,GAAI,KAAM,IAE/D,2BACI,yBAAI1vG,EAAE,gD,KAAoE,QAAd,EAAAwwG,EAASttG,aAAK,a,EAAEolL,gBAEhF,uBAAKzoL,UAAWf,EAAG,aACf,yBAAIkB,EAAE,wC,IAA6C,IAClDyiE,KAAKC,WAAwB,QAAd,EAAA8tC,EAASttG,aAAK,eAAEqJ,WAAY,GAAI,KAAM,KAM9E,IAEA,UAAeipP,C,+BChDf,WAAgB,MAAQ,oCAAoC,OAAS,qCAAqC,SAAW,uC,+BCArH,WAAgB,OAAS,gCAAgC,SAAW,kC,q7BCDpE,kBAEA,cACA,aACA,cACA,WACA,WAEM12P,EAAK,UAAWC,KAAK,WA2B3B,UArBsC,SAACI,GAC3B,IAAAU,EAAcV,EAAK,UAErBu4L,GAAc,IAAAviL,aAAY,EAAAsiL,mBAE1B3kK,EAAgC,QAAvB4kK,aAAW,EAAXA,EAAapqL,SAAkBoqL,aAAW,EAAXA,EAAa31L,UAAU21L,aAAW,EAAXA,EAAapqL,OAC5EwnB,IAAY4iK,aAAW,EAAXA,EAAa31L,QAAS,KAAM21L,aAAW,EAAXA,EAAapqL,QAAS,GAAM,IACpEooP,EAAiBp3O,KAAK46E,IAAIpkE,EAAS,KAEzC,OACI,uBAAKj1B,WAAW,aAAGf,EAAG,QAASe,IAC1BizB,GACG,gCACI,uBAAKjzB,UAAWf,EAAG,OAAQ,wBAC3B,uBAAKwI,MAAO,CAAE3G,MAAO,UAAG+0P,EAAc,MAAO71P,UAAWf,EAAG,OAAQ,uBAKvF,C,2bC/BA,eAEM62P,EAAc,CAAC,EAEf5oP,EAAqB,SAAClK,EAA6BoB,GACrD,OAAKA,GAIEpB,EAAM2vO,OAAOvuO,IAHT,EAAA2xP,yBAIf,EAEa,EAAA3jB,kBACT,SAAChuO,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWkJ,KAArC,CADJ,EAGS,EAAA0oP,kBACT,SAAC5xP,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWmB,OAASuwP,CAA9C,CADJ,EAGS,EAAA5jB,kBACT,SAAC9tO,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWqJ,KAArC,CADJ,EAGS,EAAA4kO,kBACT,SAACjuO,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWuJ,IAArC,CADJ,EAGS,EAAAu2J,yBACT,SAAC9/J,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAW6/J,WAArC,CADJ,EAGS,EAAAgyF,gCACT,SAAC7xP,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWgoE,aAArC,CADJ,EAGS,EAAA43F,4BACT,SAAC5/J,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAW0kM,UAArC,CADJ,EAGS,EAAAotD,qCACT,SAAC9xP,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAW2kM,mBAArC,CADJ,EAGS,EAAAjlC,+BACT,SAAC1/J,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAW+nE,aAArC,CADJ,EAGS,EAAAgqL,oCACT,SAAC/xP,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWgyP,iBAArC,CADJ,EAGS,EAAAljB,kBACT,SAAC9uO,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWsnE,KAArC,CADJ,EAGS,EAAA+lK,6BACT,SAACrtO,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWiyP,gBAArC,CADJ,EAGS,EAAA9kB,6BACT,SAACntO,GACD,gBAACpB,GACG,OAAAkK,EAAmBlK,EAAOoB,GAAWkyP,gBAArC,CADJ,C,+BC3EJ,WAAgB,GAAK,oCAAoC,OAAS,wCAAwC,SAAW,0C,iLCDrH,iBAEA,WAeA,WACA,WACA,WACA,WACA,WAEA,WAGA,WACA,WAKa,EAAA7uO,WAAa,CACtB4gE,mBAAoB,SAAC12B,GACjB,MAAO,CACH3uD,MAAO,CACHq6N,QAAQ,IAAAC,cAEZ/5L,UAAU,IAAAwxJ,cAAa,EAAAo1D,uBAAuB9hK,mBAAoB,CAC9D12B,cAAa,IAGzB,EACA8mK,qBAAsB,SAAC9mK,GACnB,MAAO,CACH3uD,MAAO,CACHq6N,QAAQ,IAAAC,cAEZ/5L,UAAU,IAAAwxJ,cAAa,EAAAo1D,uBAAuB1xB,qBAAsB,CAChE9mK,cAAa,IAGzB,EACA+mK,8BAA+B,SAC3B/mK,EACAtlC,EACA5qB,G,MAEM8D,IAAK,MACN,gBAAmC4oP,gBAAiB1sP,aAAO,EAAPA,EAAS0sP,e,GAElE,MAAO,CACHnrP,MAAO,CACHq6N,QAAQ,IAAAC,cAEZ/5L,UAAU,IAAAwxJ,cAAa,EAAAo1D,uBAAuBoM,sBAAuB,CACjE5kM,cAAa,EACbtlC,OAAM,IAEVpV,OAAQ,UAAG4rD,UAAUt9D,GAE7B,EACA0uB,eAAgB,SAACrxB,EAAqDD,GAClE,MAAO,CACH4gC,UAAU,IAAAwxJ,cAAa,EAAAi1D,mBAAmB/1N,eAAgB,CACtDrxB,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,IAEbK,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACAtvK,SAAU,WACN,MAAO,CACHzqB,SAAU,EAAA6lI,WAAWp7G,SAE7B,EACAyoM,cAAe,SAAC7zP,EAAgDD,GAC5D,MAAO,CACH4gC,UAAU,IAAAwxJ,cAAa,EAAAi1D,mBAAmByM,cAAe,CACrD7zP,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,IAGrB,EACA+zP,gBAAiB,SAAC9zP,EAAgDD,GAC9D,MAAO,CACH4gC,UAAU,IAAAwxJ,cAAa,EAAAi1D,mBAAmB0M,gBAAiB,CACvD9zP,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,IAGrB,EACA4tD,aAAc,SAAC5tD,EAAuBi3C,GAClC,MAAO,CACHrW,UAAU,IAAAwxJ,cAAa,EAAAu1D,gBAAgB/5L,aAAc,CACjD3tD,aAAa,IAAA4zP,wBAAuB,EAAA7uO,gBAAgBC,SACpDjlB,UAAS,EACTi3C,QAAO,IAEX52C,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACA1uK,eAAgB,SAACjsD,EAAuB6rD,GACpC,MAAO,CACHjrB,UAAU,IAAAwxJ,cAAa,EAAAu1D,gBAAgB17L,eAAgB,CACnDhsD,aAAa,IAAA4zP,wBAAuB,EAAA7uO,gBAAgBC,SACpDjlB,UAAS,EACT6rD,UAAS,IAEbxrD,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACA51M,6BAA8B,SAC1B9kB,EACAD,EACAymH,GAEA,MAAO,CACH7lF,UAAU,IAAAwxJ,cAAa,EAAAi1D,mBAAmBtiO,6BAA8B,CACpE9kB,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,EACTymH,iBAAgB,IAEpBpmH,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACA51J,uBAAwB,SAAC9kE,EAAgDD,GACrE,MAAO,CACH4gC,UAAU,IAAAwxJ,cAAa,EAAAi1D,mBAAmBtiL,uBAAwB,CAC9D9kE,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,IAEbK,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACAv1J,mBAAoB,SAAC/iB,GACjB,MAAO,CACHzhB,UAAU,IAAAwxJ,cAAa,EAAAjrI,eAAeie,mBAAoB,CACtD/iB,cAAa,IAEjBhiD,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACApzK,4BAA6B,SAAClF,G,MAC1B,MAAO,UAAG,EAAA8E,eAAeC,KAAI,YAAI,UAAG8Y,YAAS,MACxC,EAAA27C,qBAAqBC,aAAc,EAAAN,eAAe8/G,OAA2B,CAC1E,CACI17N,KAAM,EAAA4hC,uBAAuB4jC,mBAC7Bv8D,GAAIw5C,K,IAapB,EACAhiB,yBAA0B,SAACrgC,EAAuBC,GAC9C,OAAO,IAAAmyL,cAAa,EAAAk1D,4BAA4BjnN,yBAA0B,CACtEpgC,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,GAEjB,EACAugC,yBAA0B,SAACvgC,EAAuBC,GAC9C,OAAO,IAAAmyL,cAAa,EAAAk1D,4BAA4B/mN,yBAA0B,CACtEtgC,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,GAEjB,EACAg0P,oBAAqB,SAACt0M,GAKlB,MAAO,CACH9e,UALa,IAAAwxJ,cAAa,EAAAs1D,uBAAuBuM,YAAa,CAC9Dv0M,OAAM,IAKNr/C,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACAu5B,qBAAsB,WAGlB,MAAO,CACHtzN,UAHa,IAAAwxJ,cAAa,EAAAs1D,uBAAuBxoM,SAIjD7+C,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACA92D,cAAe,WACX,OAAO,IAAAuuB,cAAa,EAAApuB,mBAAmBhlH,MAC3C,EACAshH,uBAAwB,SAACtgK,EAAuBC,EAA8BsuB,G,MACpE4lO,GAAmB,IAAA/hE,cAAa,EAAAk1D,4BAA4BjnN,yBAA0B,CACxFpgC,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,IAGb,MAAO,UAAGm0P,EAAgB,YAAI,UAAGj0L,YAAS,MACrC,EAAA27C,qBAAqBC,aAAc,EAAAN,eAAe8/G,OAAoC,CACnF,CACI17N,KAAM,EAAAmnC,uBAAuB2T,SAC7BnsB,aAAY,EACZvuB,UAAS,EACTC,YAAW,EACX8tD,eAAe,K,IAI/B,EACAttB,uBAAwB,SAACzgC,EAAuBC,GAC5C,OAAO,IAAAmyL,cAAa,EAAAk1D,4BAA4B8M,wBAAyB,CACrEn0P,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,GAEjB,EACA2gC,uBAAwB,SAAC3gC,EAAuBC,GAC5C,OAAO,IAAAmyL,cAAa,EAAAk1D,4BAA4B+M,wBAAyB,CACrEp0P,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,GAEjB,EACA2gK,6BAA8B,SAC1B3gK,EACAC,EACA4hC,G,MAEMo9L,GAAmB,IAAA7sC,cAAa,EAAAk1D,4BAA4B8M,wBAAyB,CACvFn0P,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,IAGb,MAAO,UAAGi/N,EAAgB,YAAI,UAAG/+J,YAAS,MACrC,EAAA27C,qBAAqBC,aAAc,EAAAN,eAAe8/G,OAAoC,CACnF,CACI17N,KAAM,EAAAmnC,uBAAuB+mB,gBAC7BjsB,WAAU,EACVksB,eAAe,K,IAI/B,EACAwyG,6BAA8B,SAAC,G,IAC3BvgK,EAAS,YACTC,EAAW,cACXwf,EAAiB,oBAYjB,MAAO,CACHmhB,UAPa,IAAAwxJ,cAAa,EAAAg1D,2BAA2Br7O,QAAS,CAC9D9L,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,EACT6hC,WAAYpiB,IAKZpf,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACA/4L,2BAA4B,SAAC,G,IACzB5hC,EAAS,YACTC,EAAW,cACX4hC,EAAU,aAYV,MAAO,CACHjB,UAPa,IAAAwxJ,cAAa,EAAAg1D,2BAA2BkN,MAAO,CAC5Dr0P,aAAa,IAAA4zP,wBAAuB5zP,GACpCD,UAAS,EACT6hC,WAAU,IAKVxhC,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACA45B,8BAA+B,SAAC,G,IAC5Bv0P,EAAS,YACTC,EAAW,cACX4hC,EAAU,aAYV,MAAO,CACHjB,UAPa,IAAAwxJ,cAAa,EAAAm1D,8BAA8BiN,QAAS,CACjEx0P,UAAS,EACTC,aAAa,IAAA4zP,wBAAuB5zP,GACpC4hC,WAAU,IAKVxhC,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACAl6D,2BAA4B,SAAC,G,IACzBzgK,EAAS,YACTC,EAAW,cACX4hC,EAAU,aACV0C,EAAM,SAcN,MAAO,CACH3D,UARa,IAAAwxJ,cAAa,EAAAm1D,8BAA8BkN,YAAa,CACrEz0P,UAAS,EACTC,aAAa,IAAA4zP,wBAAuB5zP,GACpC4hC,WAAU,EACV0C,OAAM,IAKNlkC,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACA+5B,2BAA4B,WACxB,OAAO,IAAAtiE,cAAa,EAAAq1D,sBAAsBiN,2BAC9C,EACA9tF,YAAa,WACT,OAAO,IAAAwrB,cAAa,EAAA3rB,WAAWG,YACnC,EACA5oE,kBAAmB,SAACktJ,GAChB,MAAO,CACHtqN,UAAU,IAAAwxJ,cAAa,EAAAq1D,sBAAsBzpJ,kBAAmB,CAC5DktJ,aAAY,IAEhB7qP,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACAppH,iBAAkB,WACd,OAAO,IAAA6gF,cAAa,EAAA9qB,sBAAsB/2C,YAC9C,EACAmwC,gBAAiB,SAACv2F,G,MACd,MAAO,UAAG,EAAAm9F,sBAAsB/2C,YAAW,YAAI,UAAGrwD,YAAS,MACtD,EAAA27C,qBAAqBC,aAAc,EAAAN,eAAe8/G,OAA2B,CAC1E,CACI17N,KAAM,EAAA4hC,uBAAuB80K,sBAC7BnsI,OAAM,K,IAItB,EACAqnC,YAAa,WACT,OAAO,IAAA4gF,cAAa,EAAA3rB,WAAWj1D,YACnC,EACAk9C,iBAAkB,SAACviH,GACf,MAAO,CACHvL,UAAU,IAAAwxJ,cAAa,EAAAjsB,oBAAoBp6J,QAAS,CAChDogC,MAAK,IAET9rC,MAAO,CACHq6N,QAAQ,IAAAC,cAGpB,EACAg6B,cAAe,WACX,OAAO,EAAAxuF,oBAAoB/+G,IAC/B,E,kTCpZJ,eACA,WASM1nC,EAAkB,CAAC,EAAArjB,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,SAAU,EAAAjqB,WAAW4xB,UAAW,EAAA5xB,WAAWo8E,UAC/Fu+C,EAAkB,CAAC,EAAA36H,WAAW42B,UAC9BgkG,EAAc,CAAC,EAAA56H,WAAW42B,UAC1BikG,EAAe,CAAC,EAAA76H,WAAW86H,cAC3BC,EAAe,CAAC,EAAA/6H,WAAWu6H,SAAU,EAAAv6H,WAAWw6H,MAAO,EAAAx6H,WAAWy6H,SAAU,EAAAz6H,WAAW06H,SAe7F,UAbiB,SAACv5H,EAAcia,GAU5B,OATY,gBACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4/G,eAAc75H,EAAGw5H,EAAiBv/G,KAClC,IAAA6/G,WAAU95H,EAAGy5H,EAAax/G,KAC1B,IAAAiP,kBAAiBlpB,EAAG05H,EAAcz/G,KAClC,IAAA8/G,qBAAoB/5H,EAAG45H,EAAc3/G,KACrC,IAAAkpD,4BAA2BnjE,EAAG,CAAC,EAAAnB,WAAW4xB,WAAYxW,GAIjE,C,yEC7BA,eAmCA,UA/ByB,SAACZ,G,MA4BtB,OA3BY,MACP,EAAAxa,WAAWkZ,MAAO,GACnB,EAAC,EAAAlZ,WAAWw/F,OAAQ,GAEpB,EAAC,EAAAx/F,WAAW2/F,gBAAiB,GAE7B,EAAC,EAAA3/F,WAAW25E,YAAa,GAEzB,EAAC,EAAA35E,WAAW8rD,kBAAmB,GAE/B,EAAC,EAAA9rD,WAAWgsD,gBAAiB,GAE7B,EAAC,EAAAhsD,WAAW0d,aAAc,KAC1B,EAAC,EAAA1d,WAAWggG,iBAAkB,GAC9B,EAAC,EAAAhgG,WAAWmgG,mBAAoB,GAEhC,EAAC,EAAAngG,WAAWogG,iBAAkB,KAC9B,EAAC,EAAApgG,WAAWqgG,oBAAqB,GACjC,EAAC,EAAArgG,WAAWsgG,sBAAuB,GAEnC,EAAC,EAAAtgG,WAAW4/F,gBAAiB,GAC7B,EAAC,EAAA5/F,WAAW8/F,gBAAiB,GAE7B,EAAC,EAAA9/F,WAAW6iB,WAAY,KACxB,EAAC,EAAA7iB,WAAWga,WAAY,K,CAIhC,C,+BChCA,WAAgB,KAAO,mCAAmC,oBAAoB,gDAAgD,wBAAwB,oDAAoD,yBAAyB,qDAAqD,yBAAyB,qDAAqD,0BAA0B,sDAAsD,qBAAqB,iDAAiD,qBAAqB,iDAAiD,KAAO,mCAAmC,GAAK,iCAAiC,OAAS,qCAAqC,SAAW,uC,q7BCD3sB,kBACA,WACA,cACA,cACA,WACA,cACA,cACA,WAiBMpL,EAAgB,8BAEhB2pP,EAA8C,UAAMl4P,MAAK,SAACC,GACpD,IAAAyM,EAA2DzM,EAAK,KAA1Dk4P,EAAqDl4P,EAAK,eAA1CyO,EAAqCzO,EAAK,SAAhCQ,EAA2BR,EAAK,QAAvBwD,EAAkBxD,EAAK,cAEhEa,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,EAAcK,QAC1BpC,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgB8O,QACvBhd,aAAc,UAAG2N,EAAa,OAC9BU,UAAWxL,EAAcK,QACzBwB,WAAY7B,EAAcK,QAC1BpC,QAAS,WACLy2P,EAAezrP,EACnB,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBsS,cACvDjU,MAAOY,EAAE,iEAAkE,CACvE8lB,YAAala,aAAI,EAAJA,EAAMka,cAEvBpO,QAAS1X,EAAE,4EAlChB,IAuCf,IAEA,UAAeo3P,C,ssDCzEf,eACA,cACA,WACA,cACA,cAKA,aACA,WACA,cACA,WACA,WAEa,EAAA1gK,0BAA4B,SAAC,G,IACtCrL,EAAsB,yBACtBuL,EAAqB,wBACrBD,EAAsB,yBACtB2gK,EAAY,eACZC,EAAa,gBAQLv3P,GAAM,IAAAC,kBAAgB,EAExBs2F,GAAqB,IAAAC,yBAE3B,OAAOv3F,EAAM0E,SAAQ,WACjB,IAAMsa,GACFotE,aAAsB,EAAtBA,EAAwBnqC,QAA4B,SAACC,EAAKwyF,GACtD,OAAK/8C,IAAyB,IAAA68C,gCAA+BE,KAIxDh9C,IAA0B,IAAA28C,iCAAgCK,MAI3DA,aAAiB,EAAjBA,EAAmBvxI,QAAS,EAAAo1P,gCAAgCC,cAC5Dt2M,EAAItqC,KAAK,EAAD,KACD0/E,EAAmBmhK,iBAAe,CACrC1hP,MAAO29H,EAAkBgkH,SACzBC,SAAUjkH,EAAkBikH,aAEzBjkH,aAAiB,EAAjBA,EAAmBvxI,QAAS,EAAAo1P,gCAAgCK,cACnE12M,EAAItqC,KAAK,EAAD,KACD0/E,EAAmBuhK,gBAAc,CACpC9hP,MAAO29H,EAAkBgkH,SACzBC,SAAUjkH,EAAkBikH,aAGhCjkH,aAAiB,EAAjBA,EAAmBvxI,QAAS,EAAAo1P,gCAAgCO,iCAE5D52M,EAAItqC,KAAK,CACLijC,SACI,gBAAC,UAAc,CACXjkC,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC/B,MAAOY,EAAE,iDACTQ,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,oDAGXgW,MAAO29H,EAAkBgkH,SACzBC,SAAUjkH,EAAkBikH,YAEzBjkH,aAAiB,EAAjBA,EAAmBvxI,QAAS,EAAAo1P,gCAAgCQ,aACnE72M,EAAItqC,KAAK,CACLijC,SACI,gBAAC,UAAc,CACXjkC,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC/B,MAAOY,EAAE,2CACTQ,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,8CAGXgW,MAAO29H,EAAkBgkH,SACzBC,SAAUjkH,EAAkBikH,WAGhCz2M,EAAItqC,KAAK,CACLijC,SAAU,KACV16C,MAAO,gBAAC,UAA0B,CAACgD,KAAMuxI,EAAkBvxI,OAC3D4T,MAAO29H,EAAkBgkH,SACzBC,SAAUjkH,EAAkBikH,YA5DzBz2M,CAiEf,GAAG,MAAO,GAER82M,GAAuBX,aAAY,EAAZA,EAAcnpO,OAAO,EAAA4/B,YAAa,IAC3DkqM,aAAoB,EAApBA,EAAsB72P,SACtB6c,EAAM0uG,QAAO,MAAb1uG,EAAK,OAAYg6O,IAAoB,IAGzC,IAAMC,GAAwBX,aAAa,EAAbA,EAAeppO,OAAO,EAAA4/B,YAAa,GAKjE,OAJImqM,aAAqB,EAArBA,EAAuB92P,SACvB6c,EAAMpH,KAAI,MAAVoH,EAAK,OAASi6O,IAAqB,IAGhCj6O,CAEX,GAAG,CAACotE,EAAwBisK,EAAcC,EAAehhK,GAC7D,C,uVClHa,EAAAja,oCAAsC,SAACz5E,GAChD,OAAOA,EAAMs1P,UAAUC,0BAC3B,EAEa,EAAA57K,oCAAsC,SAAC35E,GAChD,OAAOA,EAAMs1P,UAAUE,0BAC3B,EAEa,EAAA37K,mCAAqC,SAAC75E,GAC/C,OAAOA,EAAMs1P,UAAUG,yBAC3B,EAEa,EAAAC,uBAAyB,SAAC11P,GACnC,OAAOA,EAAMs1P,UAAU9uP,OAC3B,EAEa,EAAAmvP,kCAAoC,SAAC31P,GAC9C,OAAOA,EAAMs1P,UAAUjwK,kBAC3B,EAEa,EAAAtL,+BAAiC,SAAC/5E,GAC3C,OAAOA,EAAMs1P,UAAUx7K,wBAC3B,EAEa,EAAAP,6BAA+B,SAACv5E,GACzC,OAAOA,EAAMs1P,UAAUh8K,aAC3B,EAEa,EAAAqB,yBAA2B,SAAC36E,GACrC,OAAOA,EAAMs1P,UAAU56K,kBAC3B,C,+BC/BA,WAAgB,OAAS,mCAAmC,SAAW,qC,01BCC1D,EAAAtL,wBAA0B,SAACn+C,GACpC,IAAKA,EACD,OAAO,KAGX,IAAM2+C,EAAQ,EAAH,KAAO3+C,EAAe2+C,QAAK,GAMtC,OAJAA,EAAMjiC,MAAK,SAACioN,EAAOC,GACf,OAAOD,EAAMptP,GAAGsyI,cAAc+6G,EAAMrtP,GACxC,IAEO,EAAP,KACOyoB,GAAc,CAEjB2+C,MAAK,GAEb,C,q7BClBA,kBACA,cAEA,cACA,cACA,WACA,cAEM3zE,EAAK,UAAWC,KAAK,WAIrB45P,EAA8C15P,EAAMC,MAAK,W,QACrD05P,GAA6B,IAAA9mO,YAAW,WAE9C,OAAuC,QAAlC,EAAA8mO,aAA0B,EAA1BA,EAA4BtzD,cAAM,eAAElkM,QAKrC,gCACuC,QAAlC,EAAAw3P,aAA0B,EAA1BA,EAA4BtzD,cAAM,eAAE9uL,KAAI,SAAC0kC,GAAU,OAChD,gBAAC,UAAkB,CACfppC,IAAKopC,EAAM7vC,GACXxL,UAAWf,EAAG,SACduM,GAAI6vC,EAAM7vC,GACVhL,MAAO66C,EAAM76C,MACbw4P,aAAcD,aAA0B,EAA1BA,EAA4BC,cAEzC39M,EAAM/8B,QARqC,KALjD,IAkBf,IAEA,UAAew6O,C,mJCpCf,cAEa,EAAA74C,8BAAgC,IAAI,EAAA13L,iBAEpC,EAAA43L,iCAAmC,IAAI,EAAA53L,gB,gHCFvC,EAAA0wO,gCAAkC,SAC3CvqP,GAEA,QAASA,CACb,C,wtCCNA,IAgEYo/E,EAhEZ,cACA,WACA,WACA,WACA,WAEA,WAMA,UACA,WACA,aACA,cACA,cACA,WACA,WACA,aACA,cACA,cACA,cACA,cAIA,cACA,cACA,cAEA,cACA,cACA,UAOA,WACA,WAKA,cACA,cAEM7uF,EAAK,UAAWC,KAAK,YAe3B,SAAY4uF,GACR,sBACA,gCACA,kCACA,yCACA,oCACA,mCACH,CAPD,CAAYA,IAAc,iBAAdA,EAAc,KAS1B,IAAMC,EAAwB,IAAI3/D,IAAY,CAC1C0/D,EAAeE,aACfF,EAAeG,iBACfH,EAAeI,iBASN,EAAAC,oCAAiE,CAC1EC,gBAAiB,EAAAC,cACjBC,iBAAkB,IAGtB,IAAM4qK,EAAoC95P,EAAMC,MAAK,SAACC,GAE9C,IAAAU,EAOAV,EAAK,UANLimC,EAMAjmC,EAAK,gBALL6xL,EAKA7xL,EAAK,aAJL6yF,EAIA7yF,EAAK,OAHLklF,EAGAllF,EAAK,uBAFL+kF,EAEA/kF,EAAK,0BADLglF,EACAhlF,EAAK,6BAEDa,GAAM,IAAAC,kBAAgB,EAExB2Z,GAAS,IAAAgY,oBAET28D,EAAuB,UAAG,EAAA1vF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBs5C,aACtFx5C,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,EAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YACrF04E,EAAgB,UAAG,EAAAjhF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBnjC,MAE/EqsF,GAAqB,IAAA/oD,mBAAkB9rB,EAAOK,OAAQwrB,GACtDrjC,GAAO,IAAAsjC,mBAAkB9rB,EAAOK,OAAQ6lE,GACxCt6C,GAAW,IAAAE,mBAAkB9rB,EAAOK,OAAQorB,GAC5Cw5C,GAAc,IAAAn5C,mBAAkB9rB,EAAOK,OAAQs0E,GAE/CK,GAAsB,IAAAz5E,aAAY,EAAA4pC,2BAElCmxC,EAAqBjxF,EAAMkG,aAAY,SAACgrF,GAC1C,IAAMC,EAAyBD,aAAa,EAAbA,EAAehiE,QAAO,SAACkiE,GAClD,OAAOA,GAASzC,EAAsBx/D,IAAIiiE,EAAMhlF,GACpD,IAEA,OAAK+kF,aAAsB,EAAtBA,EAAwBhvF,QAItB,gBAAC,UAAkB,CAAC+uF,cAAeC,IAH/B,IAIf,GAAG,IAEGrqF,EAAW9G,EAAM0E,SAAmC,WACtD,IAAK8qF,EACD,OAAO,EAAAT,oCAGX,IAAM3oC,EAAWopC,EAAmBtnF,MAE9B6pF,GAAuBggG,aAAY,EAAZA,EAAcv6J,OAAQ,KACnD,IAAKu6D,EACD,OAAO,EAAAhD,oCAGX,IAAMiD,GAAqB+/F,aAAY,EAAZA,EAAcgoE,sBAAuB,KAE1D/qK,GAAkB,IAAA9oC,4BACpB,CACIh+C,MAAO6pF,EACP9lF,IAAK+lF,GAET5rC,GASJ,MAN4C,CACxC4oC,iBAAiB,IAAA9nC,8CAA6C8nC,IAAoB,EAAAC,cAClFC,iBAAkB,GAClB+C,MAAO,GAIf,GAAG,CAAC8/F,EAAcviG,IAEZ4C,GAAqB,IAAA1tF,UAAQ,WAC/B,OAAO,IAAAwiD,8CAA6CsoC,EACxD,GAAG,CAACA,IA2BEn4D,EAAer3B,EAAM0E,SAAQ,WAC/B,OAAK8qF,GAIE,cAAO,IAAA6C,mBAAkB7C,EAAmBtnF,QAAQwa,SAHhD,IAIf,GAAG,CAAC8sE,IAEEwqK,EAAwBh6P,EAAM0E,SAAQ,WACxC,IAAMu1P,GACFlnK,aAAM,EAANA,EACM7jE,QAAO,SAACkiE,GACN,OAAOA,aAAK,EAALA,EAAO55D,SAAS45D,aAAK,EAALA,EAAO2oK,oBAClC,IACCxiP,KAAI,SAAC65E,GACF,OAAOA,aAAK,EAALA,EAAO55D,IAClB,MAAM,GAId,OAFAyiO,EAAU1oN,QAEH0oN,aAAS,EAATA,EAAY,KAAM,IAC7B,GAAG,CAAClnK,IAEEmnK,GAAel6P,EAAM0E,SAAQ,WAC/B,OACIquF,aAAM,EAANA,EAAQ9T,SAAQ,SAACmS,GACb,OAAKA,aAAK,EAALA,EAAO55D,QAAS45D,aAAK,EAALA,EAAO2oK,sBAIrB,IAAA3jL,sBAAqB,CAACgb,EAAM55D,KAAM45D,EAAM2oK,sBAHpC,EAIf,MAAM,EAEd,GAAG,CAAChnK,IAmEJ,OACI,uBAAKnyF,WAAW,aAAGf,EAAG,eAAgBe,IAClC,gBAAC,UAAyB,CACtBkY,KAAMstB,EACNn/B,MAAOlG,EAAE,wDACTyxF,oBAAqB3yF,EAAG,QAAS,mBACjC6mC,SACI,gCACI,gBAAC,UAA6B,CAC1B9lC,UAAWf,EAAG,gBAAiB,CAC3B,gCAAgC,IAEpC0Q,QAAS,KACTkiF,eAAa,EACbtqF,WAAYiqF,IAEhB,gBAAC,UAA0B,CACvBxxF,UAAWf,EAAG,gBAAiB,CAC3B,gCAAgC,IAEpCsI,WAAYiqF,KAIxBO,eACI,uBAAK/xF,UAAWf,EAAG,eACdw3B,GACG,gBAAC,UAAc,CACXz1B,SACI,gBAAC,UAAe,CACZ0U,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,YAG1CujP,aAAcA,GACdF,sBAAuBA,EACvB70P,MAAOkyB,EACPra,SAtGH,SAAC8P,GACtB,GAAKA,EAAL,CAKA,IAAMqtO,EAAgBpnK,aAAM,EAANA,EAAQ/5C,MAAK,SAACo4C,GAChC,IAAMgpK,GAAkB,IAAA7uC,gCAA+Bn6H,EAAM55D,MACvD6iO,GAAgB,IAAA9uC,gCAA+Bn6H,EAAM2oK,qBAErDO,EAAoBxtO,EAAKg6B,UAE/B,OAAIszM,GAAmBC,EACZC,GAAqBF,GAAmBE,GAAqBD,IAGnEA,IAAiBD,IACXE,GAAqBF,CAIpC,IAEMG,EAAeJ,aAAa,EAAbA,EAAe3iO,KAE9Bo7D,GAAgB,IAAArrC,6BAA4Bz6B,EAAM0iE,GAExD,KADoB,aAAQoD,EAAepD,GAC3C,CAIA,IAAItnF,GAAQ0qF,aAAa,EAAbA,EAAe1qF,QAAS,KAChCA,GAASqyP,IACTryP,GAAQ,IAAAy3M,0BAAyBz3M,EAAOqyP,IAG5C,IAAItuP,GAAM2mF,aAAa,EAAbA,EAAe3mF,MAAO,KAKhC,GAJIA,GAAOsuP,IACPtuP,GAAM,IAAA0zM,0BAAyB1zM,EAAKsuP,IAGnCryP,GAAU+D,EAAf,CAIA,IAAM80E,GAAmB,IAAAC,iBAAgBz6C,GACpCw6C,IAILpmE,EAAOsB,cAAcuqB,EAAqB,CACtCt+B,MAAK,EACL+D,IAAG,IAGPi5E,EAA6B/+C,EAAiBy5C,EAAa,CACvDz3E,WAAY,CACRD,MAAK,EACL+D,IAAG,GAEP26B,QAASm6C,EACTy5K,cAAer3P,IAlBnB,CAdA,CAzBA,MAFIwX,EAAOsB,cAAcuqB,EAAqB,KA6DlD,EAwC4B/jC,gBAAiB,EAAA2a,8BAA8Bza,iBAM9D,SAACzC,EAAO6yB,GAAiB,OACtB,uBAAKnyB,UAAWf,EAAG,QAAO,gBAAiB+/E,GACvC,gBAAC,UAAU,CACPh/E,UAAWf,EAAG,eACdiZ,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,EAAE,8DACf6b,eAAgB,SAAC,G,IAAE+a,EAAQ,WAAEryB,EAAQ,WAAED,EAAU,aAAEE,EAAU,aACzD,GAAIpC,IAAS,EAAA6pG,0BAA0BprF,UAAW,CAC9C,IAAI64O,EAAY,CACZ7jP,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,OA2BpC,OAzBIy1B,IACA8iO,EAAY,CACR7jP,YAAa,EAAA9U,qBAAqB6U,UAClC9U,UAAW,EAAAC,qBAAqBsS,cAGpC9O,IACAm1P,EAAY,CACR7jP,YAAa,EAAA9U,qBAAqBkS,UAClCnS,UAAW,EAAAC,qBAAqBI,QAGpCmD,IACAo1P,EAAY,CACR7jP,YAAa,EAAA9U,qBAAqB0Q,OAClC3Q,UAAW,EAAAC,qBAAqBI,QAGpCqD,IACAk1P,EAAY,CACR7jP,YAAa,EAAA9U,qBAAqBwQ,MAClCzQ,UAAW,EAAAC,qBAAqBI,QAIjC,gBAAC,UAAgB,GAACoU,KAAM,EAAAC,mBAAuBkkP,GAC1D,CAEA,OAAIt3P,IAAS,EAAA6pG,0BAA0BlrF,eAC/B24O,EAAY,CACZ7jP,YAAa,EAAA9U,qBAAqB+W,MAElC8e,IACA8iO,EAAY,CACR7jP,YAAa,EAAA9U,qBAAqB6U,YAGtCrR,IACAm1P,EAAY,CACR7jP,YAAa,EAAA9U,qBAAqBkS,YAGtC3O,IACAo1P,EAAY,CACR7jP,YAAa,EAAA9U,qBAAqB0Q,SAGtCjN,IACAk1P,EAAY,CACR7jP,YAAa,EAAA9U,qBAAqBwQ,QAGnC,gBAAC,UAAe,KAAKmoP,KAGzB,IACX,EACAz9O,SAAU,SAAC7X,GACP,IAAMohC,GAAW,IAAAy6C,iBAAgB77E,GAEjCjF,EAAM8c,SAAS7X,GAEfigF,EAAuBjgF,EAAOghC,GAE9B8+C,EAA0B9+C,EAAiBy5C,EAAa,CACpD46K,cAAer3P,EACfyjC,QAASL,GAEjB,EACAjhC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBI,QAASvF,EAAMuF,QACfD,OAAQtF,EAAMsF,OACd3E,aAAc,sCAA+BslC,GAC7C+wC,mBAAoBnkD,EAAa5tB,QAvFnB,IA4F9B,gBAAC,UAAgB,CACbisF,MAAO,EAAAnC,cACPD,gBAAiBloF,aAAQ,EAARA,EAAUkoF,gBAC3B+D,QAAQjsF,aAAQ,EAARA,EAAUooF,mBAAoB,GACtC+C,MAAOnrF,aAAQ,EAARA,EAAUmrF,MACjBj3E,OAAQo3E,EACRY,KAAMrD,EACNsiH,sBAAoB,EACpBC,0BAAwB,EACxBC,2BAAyB,EACzBlhH,mBAAoBA,EACpBj0E,SAhRmB,SAAC7X,GAC5B,IAAMytF,GAAgB,IAAAlrC,mCAAkCviD,EAAOqqF,GACzDtnF,GAAQ0qF,aAAa,EAAbA,EAAe1qF,QAAS,KAChC+D,GAAM2mF,aAAa,EAAbA,EAAe3mF,MAAO,KAClC,GAAK/D,GAAU+D,EAAf,CAIA,IAAM80E,GAAmB,IAAAC,iBAAgBz6C,GACpCw6C,IAILpmE,EAAOsB,cAAcuqB,EAAqBosD,GAE1C1N,EAA6B/+C,EAAiBy5C,EAAa,CACvDz3E,WAAY,CACRD,MAAK,EACL+D,IAAG,GAEP26B,QAASm6C,EACTy5K,cAAer3P,IAfnB,CAiBJ,IA6PJ,IAEA,UAAe22P,C,qkCC7aF,EAAA97D,qBAAuB,6CACvB,EAAA2tD,qBAAuB,6CAEvB,EAAA/sD,qCAAuC,6DACvC,EAAAitD,2CACT,mEACS,EAAAC,6CACT,qEACS,EAAA/qD,2CACT,mEAES,EAAApC,mBAAqB,2CACrB,EAAAotD,yBAA2B,iDAC3B,EAAAC,2BAA6B,mDAC7B,EAAAlrD,yBAA2B,iDAE3B,EAAAtB,mBAAqB,2CAErB,EAAAY,qBAAuB,6CACvB,EAAAgsD,2BAA6B,mDAC7B,EAAAC,6BAA+B,qDAC/B,EAAAC,2BAA6B,mDAE7B,EAAAjsD,YAAc,oCACd,EAAA6rD,kBAAoB,0CACpB,EAAAD,oBAAsB,4CAEtB,EAAAM,mBAAqB,2CACrB,EAAA7rD,aAAe,qCACf,EAAAC,iBAAmB,yCACnB,EAAAmsD,uBAAyB,+CACzB,EAAAL,aAAe,qCACf,EAAAC,oBAAsB,4CACtB,EAAAF,0BAA4B,kDAC5B,EAAAO,mBAAqB,2CACrB,EAAA30M,MAAQ,8BAER,EAAA40M,yBAA2B,iDAC3B,EAAAC,qBAAuB,6CACvB,EAAAC,uBAAyB,+CACzB,EAAAC,qBAAuB,6CACvB,EAAAC,gCAAkC,wDAElC,EAAAI,sBAAwB,8CACxB,EAAAD,8BAAgC,sDAChC,EAAAD,0BAA4B,kDAC5B,EAAAD,sBAAwB,8CACxB,EAAAI,wBAA0B,gDAC1B,EAAA7sD,sBAAwB,8CAExB,EAAA+sD,kCAAoC,yD,+BC9DjD,WAAgB,KAAO,yCAAyC,QAAU,4CAA4C,oBAAoB,sDAAsD,qBAAqB,uDAAuD,iBAAmB,qDAAqD,qBAAqB,uDAAuD,OAAS,2CAA2C,SAAW,6C,oMCD/d,kBAYa,EAAA7pI,8BAAiD,CAC1DI,uBAAwB,UAAcvgH,QACtCygH,iBAAkB,KAClBI,sBAAuB,UAAc7gH,Q,+BCdzC,WAAgB,QAAU,2BAA2B,cAAc,+BAA+B,KAAO,wBAAwB,qBAAqB,sCAAsC,aAAe,gCAAgC,yBAAyB,0CAA0C,2BAA2B,4CAA4C,YAAc,+BAA+B,wBAAwB,yCAAyC,OAAS,0BAA0B,SAAW,4B,q7BCDjhB,kBACA,cAEA,aACA,WACA,cAEM9D,EAAK,UAAWC,KAAK,WAMrB46P,EAAsD16P,EAAMC,MAAK,SAACC,GAC5D,IAAAytB,EAAiBztB,EAAK,aAE9B,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,iDACRE,WAAY,CACRkd,aAAc,gBAAC,UAAY,CAACA,aAAcA,OAK9D,IAEA,UAAe+sO,C,uICzBF,EAAA7pP,8BAAgC,SAACjN,GAC1C,OAAAA,EAAM+2P,iBAAiBhhN,YAAvB,EAES,EAAAymL,uBAAyB,SAACx8N,GAAmD,OAAAA,EAAM+2P,iBAAiBruL,KAAvB,C,q7BCN1F,kBAEA,cACA,aAQMzsE,EAAK,UAAWC,KAAK,WAErB86P,EAA8B56P,EAAMC,MAAK,SAACC,GACpC,IAAA+jB,EAAU/jB,EAAK,MAEvB,OACI,2BACI,uBAAKU,UAAWf,EAAG,UAAWokB,EAAM42O,cACpC,uBAAKj6P,UAAWf,EAAG,gBAAiBokB,EAAMsN,YAGtD,IAEA,UAAeqpO,C,u4ECxBf,IAuBKE,EAvBL,cACA,WAQA,WAEA,UACA,WAQMC,EAA+B,2BAGrC,SAAKD,GACD,mBACA,kBACH,CAHD,CAAKA,IAAAA,EAA4B,KAKjC,IAEME,EAAY,WACZC,EAAoB,kBAE1B,cAOI,WAAYp1O,EAAyBq1O,GACjC,QAAK,YAAE,KALH,EAAAxsO,eAAgB,EAEhB,EAAAysO,yBAA6D,KAyCrE,EAAAC,oCAAsC,WAClC,OAAO,CACX,EAEQ,EAAAC,mBAAqB,6BAAUp2M,SAAO,W,yDAClCC,KAAKx2B,cAAa,MACtB,GAAM,IAAIu2B,SAAQ,SAACy+B,GACfN,WAAWM,EA1Db,IA2DF,K,cAFA,S,+BAMR,EAAA43K,aAAe,6BAAUr2M,SAAO,W,0DAC5B,SAAMC,KAAKm2M,sB,OAGX,GAHA,WAEME,EAAQr2M,KAAKs2M,SAASD,OAAS,MAEjC,MAAO,CAAP,EAAO,M,IAGPr2M,KAAKs2M,SAASC,iBAAd,Y,iBAEI,O,sBAAA,GAAMv2M,KAAKs2M,SAASE,YAAY,I,cAAhC,S,gCAEA,IAAA9mO,YAAW,wBAAyB,G,aAM5C,MAAO,CAAP,EAAO2mO,G,QAGX,EAAArgD,eAAiB,6BAAUj2J,SAAO,W,wDAChB,SAAMC,KAAKo2M,gB,OAEzB,OAFMC,EAAQ,SAEP,CAAP,EAAO,CACHI,cAAe,iBAAUJ,K,QAIjC,EAAAK,UAAY,6BAAU32M,SAAO,W,wDAErB,O,sBAAA,GAAMC,KAAKs2M,SAASK,OAAO,CACvBC,YAAax7M,OAAO/Z,SAASq1K,Q,OAGjC,OAJA,SAIO,CAAC,EAAD,CAAC,KAAM,O,OAGd,O,WAAO,CAAC,EAAD,CAAC,IAAI,EAAAmgD,aAAa,EAAA3pJ,kBAAkBtsE,QAAS,EAAMrtB,SAAU,O,yBAI5E,EAAAujP,2BAA6B,6BAAU/2M,SAAO,W,2BAC1C,MAAO,CAAC,EAAD,CAAC,IAAI,EAAA82M,aAAa,EAAA3pJ,kBAAkBtsE,QAAS,iBAAkB,M,QAG1E,EAAAy2C,kBAAoB,6BAAUt3B,SAAO,W,0DACjC,SAAMC,KAAKm2M,sB,OAEX,OAFA,UAE8B,QAAzB,EAAAn2M,KAAKs2M,SAASS,mBAAW,eAAEliO,OAQzB,CAAC,EAAD,CAAC,KAJgC,CACpCA,MAAgC,QAAzB,EAAAmrB,KAAKs2M,SAASS,mBAAW,eAAEliO,SAJ3B,CAAC,EAAD,CAAC,KAAM,O,QAUtB,EAAAmiO,eAAiB,6BAAUj3M,SAAO,W,wDAC9B,SAAMC,KAAKm2M,sB,OAEX,OAFA,SAEO,CAAC,EAAD,CACH,KACA,CACIc,YAAa,UAA4B,QAAzB,EAAAj3M,KAAKs2M,SAASS,mBAAW,eAAEG,IAAG,mDAA2Cl3M,KAAKs2M,SAASa,SAAQ,yBAAiB/7M,OAAO/Z,SAASq1K,KAAI,iE,QAKhK,EAAA0gD,kBAAoB,6BAAUr3M,SAAO,W,2BACjC,MAAO,CAAC,EAAD,CAAC,IAAI,EAAA82M,aAAa,EAAA3pJ,kBAAkBtsE,QAAS,iBAAkB,M,QAGlE,EAAAy2N,QAAU,W,MAGd,GAFA,EAAK7tO,eAAgB,EAEjB,EAAK8sO,SAASgB,cAAe,CAC7B,IAAMC,EAAwB,QAAb,IAAKjB,gBAAQ,eAAEiB,SAChC,EAAKC,gBAAgB,CACjB/1P,OAAO81P,aAAQ,EAARA,EAAU91P,QAAS,GAC1BqL,YAAa,WAAGyqP,aAAQ,EAARA,EAAU5yO,WAAY,GAAE,aAAI4yO,aAAQ,EAARA,EAAU7yO,YAAa,IACnE+yO,aAAa,GAErB,MACI,EAAKD,gBAAgB,KAE7B,EAEQ,EAAAE,YAAc,SAACC,IACnB,IAAAjoO,YAAW,+BAAwB4uC,KAAKC,UAAUo5L,KAGlD,EAAKH,gBAAgB,KACzB,EAEQ,EAAAI,cAAgB,gD,0DACpBx5L,aAAaC,QAAQy3L,EAAW91M,KAAKs2M,SAASD,OAAS,IACvDj4L,aAAaC,QAAQ03L,EAAmB/1M,KAAKs2M,SAASuB,cAAgB,I,iBAIhD,O,sBAAA,GAAM73M,KAAKs2M,SAASwB,mB,cAAhCP,EAAY,SAClBv3M,KAAKw3M,gBAAgB,CACjB/1P,MAAO81P,EAAS91P,OAAS,GACzBqL,YAAa,UAAGyqP,EAAS5yO,UAAY,GAAE,YAAI4yO,EAAS7yO,WAAa,IACjE+yO,aAAa,I,kCAKb,IAAAj5L,UAAS,0CAA2C,G,+BAKhE,EAAAR,eAAiB,WACbI,aAAaU,WAAWg3L,GACxB13L,aAAaU,WAAWi3L,EAC5B,EAEQ,EAAAyB,gBAA6C,SAACnjN,GAC7C,EAAK4hN,yBAKN,EAAKA,yBAAyB5hN,GAJ9B6pC,YAAW,WACP,EAAKs5K,gBAAgBnjN,EACzB,GA7LE,IAiMV,EAEA,EAAA0jN,mBAAqB,SAAC9B,GAGlB,OAFA,EAAKA,yBAA2BA,EAEzB,WACH,EAAKA,yBAA2B,IACpC,CACJ,EAEA,EAAA+B,sBAAwB,6BAAUj4M,SAAO,W,2BACrC,MAAO,CAAC,EAAD,CAAC,KAAM,M,QAGlB,EAAA4c,eAAiB,6BAAU5c,SAAO,W,2BAC9B,MAAO,CAAC,EAAD,CAAC,IAAI,EAAA82M,aAAa,EAAA3pJ,kBAAkBtsE,QAAS,6BAA8B,M,QAGtF,EAAAu2C,6BAA+B,6BAAUp3B,SAAO,W,2BAC5C,MAAO,CAAC,EAAD,CAAC,IAAI,EAAA82M,aAAa,EAAA3pJ,kBAAkBtsE,QAAS,6BAA8B,M,QAGtF,EAAA22C,eAAiB,6BAAUx3B,SAAO,W,2BAC9B,MAAO,CAAC,EAAD,CAAC,IAAI,EAAA82M,aAAa,EAAA3pJ,kBAAkBtsE,QAAS,6BAA8B,M,QAGtF,EAAA82C,cAAgB,6BAAU33B,SAAO,W,2BAE7B,MAAO,CAAC,EAAD,CAAC,KAAM,M,QAGlB,EAAAk4M,8BAAgC,W,MAC5B,SAA+B,QAAtB,EAAA78M,OAAO/Z,SAAS1uB,cAAM,eAAE4N,SAAS,kBAC9C,EAEA,EAAAorN,gBAAkB,SAACzvK,GACf,OAAO,EAAKo6L,SAAS4B,eAAe,CAChCtB,YAAa16L,GAAY,IAAAi8L,uBAAsBj8L,QAAa56D,GAEpE,EAEA,EAAA4wK,mCAAqC,WACjC,OAAO,EAAKokF,SAAS4B,gBACzB,EAEA,EAAArX,kBAAoB,6BAAU9gM,SAAO,W,0DAE7B,O,sBAAA,GAAMC,KAAKm2M,sB,OAGO,OAHlB,SAGkB,GAAMn2M,KAAKs2M,SAASE,YAAYrrF,M,OAMlD,OANMitF,EAAY,YAEdh6L,aAAaC,QAAQy3L,EAAW91M,KAAKs2M,SAASD,OAAS,IACvDj4L,aAAaC,QAAQ03L,EAAmB/1M,KAAKs2M,SAASuB,cAAgB,KAGnE,CAAC,EAAD,CAAC,KAAMO,I,OAGd,O,WAAO,CAAC,EAAD,CAAC,IAAI,EAAAvB,aAAa,EAAA3pJ,kBAAkBtsE,QAAS,aAAK,EAAL,EAAOrtB,SAAU,O,yBAI7E,EAAA8kP,iBAAmB,WACf,OAAO,EAAK/B,SAAS+B,iBAAiB,CAClCzB,YAAax7M,OAAO/Z,SAASq1K,MAErC,EAEA,EAAA4hD,gBAAkB,WACd,OAAO,EAAKhC,SAASiC,kBAAkB,CACnC3B,YAAax7M,OAAO/Z,SAASq1K,MAErC,EAEA,EAAA8hD,wBAA0B,WACtB,MAAM,IAAIn4G,MAAM,4BACpB,EAEA,EAAAo4G,wBAA0B,WACtB,MAAM,IAAIp4G,MAAM,4BACpB,EAnQI,EAAKi2G,SAAW,IAAI,UAAS,EAAD,GACrB31O,IAEP,EAAK21O,SAASoB,YAAc,EAAKA,YACjC,EAAKpB,SAASsB,cAAgB,EAAKA,cACnC,EAAKtB,SAASe,QAAU,EAAKA,QAE7B,IAAMhB,EAAQj4L,aAAaO,QAAQm3L,GAC7B+B,EAAez5L,aAAaO,QAAQo3L,G,OAE1C,EAAKO,SAASoC,KAAK,CACfC,OAAS3C,OAAiC10P,EAAd,YAC5B+0P,MAAOA,QAAS/0P,EAChBu2P,aAAcA,QAAgBv2P,EAC9Bs3P,kBAAkB,IAGlB5C,IAAqBJ,EAA6B14L,QAClD,EAAKo5L,SAASuC,SAAS,CACnBjC,YAAax7M,OAAO/Z,SAASq1K,KAAK9rJ,QAC9BirM,EACA,kBAAWA,MAKnBG,IAAqBJ,EAA6B35L,QAClD,EAAKq6L,SAASxlH,MAAM,CAChB8lH,YAAax7M,OAAO/Z,SAASq1K,KAAK9rJ,QAC9BirM,EACA,kBAAWA,M,CAI3B,CAkOJ,OA9QyC,OA8QzC,EA9QA,CAAyC,EAAAnsF,iBAA5B,EAAAovF,oBAAAA,EAgRA,EAAAC,uBAAyB,WAClC,IACI,OAAOz6L,KAAKM,MAAMxjB,OAAO49M,4BAC7B,CAAE,MAAOj6P,GAGL,OAFA,IAAAy/D,UAAS,oDAAqDz/D,GAEvD,CAAC,CACZ,CACJ,EAEa,EAAAk6P,yBAA2B,WAGpC,OAFY,IAAI1iD,IAAIn7J,OAAO/Z,SAASq1K,MAEzBwiD,aAAa/iD,IAAI0/C,EAChC,C,+BC9TA,WAAgB,OAAS,iCAAiC,cAAgB,wCAAwC,mBAAqB,6CAA6C,QAAU,kCAAkC,cAAc,sCAAsC,UAAY,oCAAoC,oBAAsB,8CAA8C,iBAAmB,2CAA2C,iBAAmB,2CAA2C,gBAAkB,0CAA0C,kBAAoB,4CAA4C,KAAO,+BAA+B,MAAQ,gCAAgC,OAAS,iCAAiC,aAAa,qCAAqC,QAAU,kCAAkC,OAAS,iCAAiC,SAAW,mC,6JCD34B,kBACA,cAEA,cACA,WACA,cACA,cACA,cACA,WAEMl7P,EAAK,UAAWC,KAAK,WAqG3B,UArF6C,SAACI,GAEtC,IAAAs8C,EASAt8C,EAAK,YARLsd,EAQAtd,EAAK,cAPLqd,EAOArd,EAAK,YANL08C,EAMA18C,EAAK,gBALLm+P,EAKAn+P,EAAK,aAJLo+P,EAIAp+P,EAAK,eAHLq+P,EAGAr+P,EAAK,aAFLs+P,EAEAt+P,EAAK,iBADL60C,EACA70C,EAAK,kBAEDa,GAAM,IAAAC,kBAAgB,EAExBy9P,EAA2C,CAC7CjiN,EACM,CACInwC,KAAM,KACNyM,KAAM/X,EAAE,0CACRN,UAAW+7C,EAAc,wBAAC,UAAa,CAAC1vB,KAAM0vB,EAAa3iC,OAAO,uBAA0B,KAC5FZ,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,cACd67C,iBAAiB,GAErB,KACNF,EACM,CACInwC,KAAM,KACNyM,KAAM/X,EAAE,yCACRN,UACI,wBAAC,UAAiB,CACdqF,SAAU0X,EACVzX,OAAQwX,EACRo/B,SAAUC,EACV7H,kBAAmBA,IAG3B97B,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,cAElB,MACRquB,OAAO,EAAA4/B,UAEH4vM,EAAyC,CAC3CL,EACM,CACIhyP,KAAM,KACNyM,KAAM/X,EAAE,+CACRN,UAAW49P,EAAe,wBAAC,UAAa,CAACvxO,KAAMuxO,EAAcxkP,OAAO,uBAA0B,KAC9FZ,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,cACd67C,iBAAiB,GAErB,KACN2hN,EACM,CACIhyP,KAAM,KACNyM,KAAM/X,EAAE,6CACRN,UACI,wBAAC,UAAiB,CACdqF,SAAUw4P,EACVv4P,OAAQw4P,EACR5hN,SAAU6hN,EACVzpN,kBAAmBA,IAG3B97B,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,eAElB,MACRquB,OAAO,EAAA4/B,UAET,OACI,gDACI,wBAAC,UAAS,CAACluD,UAAWf,EAAG,SAAUimB,KAAM24O,EAAoB59P,aAAa,qBAC1E,wBAAC,UAAS,CAACD,UAAWf,EAAG,SAAUimB,KAAM44O,EAAkB79P,aAAa,mBAGpF,C,yJC3Ga,EAAAy/N,gCAAkC,SAAC18N,GAC5C,OAAOA,EAAM+6P,0BAA0B5jG,MAC3C,EAEa,EAAA6jG,uCAAyC,SAACh7P,GACnD,OAAOA,EAAM+6P,0BAA0BhlN,YAC3C,C,u8CCRA,kBACA,cAEA,cACA,WACA,WACA,cACA,WACA,WACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,UACA,WACA,cACA,UACA,cACA,cACA,cACA,cAIA,WACA,WACA,WACA,cACA,WAEM95C,EAAK,UAAWC,KAAK,WA2Q3B,UAvQyD,SAACI,GAC9C,IAAAQ,EAAYR,EAAK,QACjBa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEX,KAAkC,IAAAoqE,eACpC,EAAA/mF,cAAc8mP,cACd,IAAA74L,kBAAgC,CAAC,IACpC,GAHM5rD,EAAY,KAAED,EAAe,KAKpC,UAAM/O,WAAU,WACZqpB,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAEE,QAAgD,UAAMlwB,SAAwB6V,GAAa,GAA1FI,EAAmB,KAAEC,EAAsB,KAClD,UAAMrP,WAAU,WACZqP,EAAuBL,EAC3B,GAAG,CAACA,IAEJ,IAAMM,EAAgB,UAAMhW,SAAQ,WAAM,oBAAiB0V,EAAjB,GAAgC,CAACA,IAErEO,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBJ,cAAa,EACbK,SAAU,SAACC,EAAQC,GACf,IAAMb,GAAe,aAAgBY,GAE/B8jP,GAAqB,IAAAC,2BAA0B3kP,EAAcI,GAEnEL,EAAgB,EAAD,KACRK,GACAskP,IAGP7jP,EAAcI,WAAW,CAAC,GAEtB3a,GACAA,GAER,IAGE4a,EAAe,UAAM5W,SAAQ,WAC/B,OAAO,IAAA6W,aAAYb,EAAeC,EAAOK,UAAW,IAAAO,aAAYf,EAAqBJ,EACzF,GAAG,CAACM,EAAeC,EAAOK,OAAQR,EAAqBJ,IAEjD4kP,EAAqBrkP,EAAOK,OAAO,EAAApb,WAAW27J,YAC9C0jG,EAA2B,EAAA1iC,8BAA8BptM,IAAI6vO,GAcnE,OAbA,UAAM5zP,WAAU,W,MACR,EAAAmxN,8BAA8BptM,IAAI6vO,IAClCrkP,EAAO8B,UAAU,EAAD,KACT9B,EAAOK,UAAM,MACf,EAAApb,WAAWitB,WAAY,KAAI,EAC3B,EAAAjtB,WAAWinB,aAAc,KAAI,EAC7B,EAAAjnB,WAAW2c,WAAY,KAAI,EAC3B,EAAA3c,WAAW88H,aAAc,KAAI,IAI1C,GAAG,CAACsiI,IAGA,gCAAMjkP,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAACM,MAAOY,EAAE,8BAA+BL,QAASA,KAE3E,wBAAC,UAAa,KACV,wBAAC,UAAW,CACRE,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAW27J,WACjBt3J,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW27J,YAChCt0J,MAAOlG,EAAE,+CACTgb,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW27J,YACrCt/I,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAkB,CACfmH,cAAesT,EAAOK,OAAO,EAAApb,WAAW27J,YACxC31J,YAAa7E,EAAE,qDACfqE,SAAUlF,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRzE,UAAWf,EAAG,QAAS,4BACvBiZ,KAAM,EAAAlZ,WAAWi8J,gBACjB53J,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWi8J,iBAChC50J,MAAOlG,EAAE,qDACTgb,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWi8J,iBACrC5/I,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZ0F,YAAa7E,EAAE,2DACfoE,MAAOwV,EAAOK,OAAO,EAAApb,WAAWi8J,iBAChC7+I,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfmC,QAAS,WACL1H,EAAM8c,SAAS,KACnB,GATI,IAahB,wBAAC,UAAW,CACRpc,UAAWf,EAAG,QAAS,0BACvBiZ,KAAM,EAAAlZ,WAAW67J,cACjBx3J,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW67J,eAChCx0J,MAAOlG,EAAE,mDACTgb,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW67J,eACrCx/I,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZ0F,YAAa7E,EAAE,yDACfoE,MAAOwV,EAAOK,OAAO,EAAApb,WAAW67J,eAChCz+I,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfmC,QAAS,WACL1H,EAAM8c,SAAS,KACnB,GATI,KAcpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRpc,UAAWf,EAAG,QAAS,wBACvBiZ,KAAM,EAAAlZ,WAAWm8J,YACjB90J,MAAOlG,EAAE,iDACTkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWm8J,aAChChgJ,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWm8J,aACrC9/I,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWm8J,YACjB52J,MAAOwV,EAAOK,OAAO,EAAApb,WAAWm8J,aAChCn2J,YAAa7E,EAAE,uDACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAVX,IAchB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,sBACvBiZ,KAAM,EAAAlZ,WAAW+7J,UACjB10J,MAAOlG,EAAE,+CACTkD,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+7J,WAChC5/I,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+7J,WACrC1/I,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW+7J,UACjBx2J,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+7J,WAChC/1J,YAAa7E,EAAE,qDACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAVX,KAepB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAW2c,UACjBtY,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW2c,WAChCR,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW2c,WACrCtV,MAAOlG,EAAE,2CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAc,CACXiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW2c,WAChCtX,aAAcyV,EAAc,EAAA9a,WAAW2c,WACvCrX,aAAcwV,EAAc,EAAA9a,WAAW88H,cAAgB,GACvD/2H,iBAAe,EACfJ,WAAY05P,EACZ75P,SAAU,SAACmX,EAAWmgH,GAClB/hH,EAAOsB,cAAc,EAAArc,WAAW2c,UAAWA,GAC3C5B,EAAOsB,cAAc,EAAArc,WAAW88H,YAAaA,EACjD,EACAr3H,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BiF,WAC7C/B,YAAa7E,EAAE,iDACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAhBX,IAoBhB,wBAAC,UAAW,CACR7E,UAAWf,EAAG,QAAS,kBACvBiZ,KAAM,EAAAlZ,WAAWitB,UACjB5oB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWitB,WAChC9Q,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWitB,WACrC5lB,MAAOlG,EAAE,2CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWitB,WAChC5nB,aAAcyV,EAAc,EAAA9a,WAAWitB,WACvC3nB,aAAcwV,EAAc,EAAA9a,WAAWinB,cAAgB,GACvDlhB,iBAAe,EACfJ,WAAY05P,EACZ75P,SAAU,SAACynB,EAAWhG,GAClBlM,EAAOsB,cAAc,EAAArc,WAAWitB,UAAWA,GAC3ClS,EAAOsB,cAAc,EAAArc,WAAWinB,YAAaA,EACjD,EACAxhB,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BC,YAC7CiD,YAAa7E,EAAE,iDACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAhBX,MAsBxB,wBAAC,UAAmB,CAACmY,aAAW,GAC5B,+BAAKhd,UAAWf,EAAG,qBACf,wBAAC,UAAe,CAACua,aAAcI,EAAqBL,gBAAiBM,KAEzE,wBAAC,UAAM,CACHrZ,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZwC,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,+BAKvB,C,+BC1SA,WAAgB,KAAO,+BAA+B,QAAU,kCAAkC,QAAU,kCAAkC,OAAS,iCAAiC,iBAAiB,yCAAyC,iBAAiB,yCAAyC,iBAAiB,yCAAyC,kBAAkB,0CAA0C,qBAAqB,6CAA6C,uBAAuB,+CAA+C,gCAAgC,wDAAwD,+BAA+B,uDAAuD,OAAS,iCAAiC,OAAS,iCAAiC,SAAW,mC,+BCAvzB,WAAgB,gBAAgB,iDAAiD,OAAS,0CAA0C,SAAW,4C,+8CCD/I,kBACA,WAOMm+P,EAA+B,SAACh/P,GAC1B,IAAAoW,EAA6BpW,EAAK,KAA5B2B,EAAuB3B,EAAK,UAAdk5C,EAAI,EAAKl5C,EAA/B,sBAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aAAgB6nC,GACvF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAM7K,EAAW4P,EAAE,4CAIzC,EAEAytP,EAAWltP,YAAc,aAEzB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsV,QAG3B,EAAAnF,WAAAA,EACT,UAAeitP,EAEF,EAAA7uK,gBAAkB,CAC3BF,eAAgB,WACZ,MAAO,CACH75E,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB0Q,OAExC,E,6JCrCJ,kBACA,cAEA,aACA,WACA,cACA,cACA,cACA,WAEM3S,EAAK,UAAWC,KAAK,WAqG3B,UArF+C,SAACI,GAExC,IAAAs8C,EASAt8C,EAAK,YARLsd,EAQAtd,EAAK,cAPLqd,EAOArd,EAAK,YANL08C,EAMA18C,EAAK,gBALLm+P,EAKAn+P,EAAK,aAJLo+P,EAIAp+P,EAAK,eAHLq+P,EAGAr+P,EAAK,aAFLs+P,EAEAt+P,EAAK,iBADL60C,EACA70C,EAAK,kBAEDa,GAAM,IAAAC,kBAAgB,EAExBy9P,EAA2C,CAC7CjiN,EACM,CACInwC,KAAM,KACNyM,KAAM/X,EAAE,4CACRN,UAAW+7C,EAAc,wBAAC,UAAa,CAAC1vB,KAAM0vB,EAAa3iC,OAAO,uBAA0B,KAC5FZ,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,cACd67C,iBAAiB,GAErB,KACNF,EACM,CACInwC,KAAM,KACNyM,KAAM/X,EAAE,2CACRN,UACI,wBAAC,UAAiB,CACdqF,SAAU0X,EACVzX,OAAQwX,EACRo/B,SAAUC,EACV7H,kBAAmBA,IAG3B97B,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,cAElB,MACRquB,OAAO,EAAA4/B,UAEH4vM,EAAyC,CAC3CL,EACM,CACIhyP,KAAM,KACNyM,KAAM/X,EAAE,iDACRN,UAAW49P,EAAe,wBAAC,UAAa,CAACvxO,KAAMuxO,EAAcxkP,OAAO,uBAA0B,KAC9FZ,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,cACd67C,iBAAiB,GAErB,KACN2hN,EACM,CACIhyP,KAAM,KACNyM,KAAM/X,EAAE,+CACRN,UACI,wBAAC,UAAiB,CACdqF,SAAUw4P,EACVv4P,OAAQw4P,EACR5hN,SAAU6hN,EACVzpN,kBAAmBA,IAG3B97B,WAAYlY,EAAE,gDACdmY,aAAa,EACbrY,aAAc,eAElB,MACRquB,OAAO,EAAA4/B,UAET,OACI,gDACI,wBAAC,UAAS,CAACluD,UAAWf,EAAG,SAAUimB,KAAM24O,EAAoB59P,aAAa,qBAC1E,wBAAC,UAAS,CAACD,UAAWf,EAAG,SAAUimB,KAAM44O,EAAkB79P,aAAa,mBAGpF,C,q7BC7GA,kBAEA,cACA,cACA,cACA,cAIA,WACA,cACA,WAEMhB,EAAK,UAAWC,KAAK,WAMrBq/P,EAAuC,UAAMl/P,MAAK,SAACC,GAC7C,IAAAgxF,EAAkBhxF,EAAK,cAEvBa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,wBAAC,UAAO,CACJC,SAAU,EAAAC,oBAAoBu+F,QAC9Br+F,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,OAC3C,+BAAKV,UAAWf,EAAG,YACf,+BAAKe,UAAWf,EAAG,uBACf,wBAAC,UAAe,CAACwW,QAAS,GAAKxU,UAAW,EAAAC,qBAAqB0Q,UAEnE,+BAAK5R,UAAWf,EAAG,qBACdqxF,aAAa,EAAbA,EAAe35E,KAAI,SAAC65E,EAAOguK,GACxB,OACI,+BAAKvsP,IAAKusP,EAAYx+P,UAAWf,EAAG,SAC/BuxF,EAAMnqF,MAGnB,SAMf,WAAM,OACH,gCAAMrG,UAAWf,EAAG,cAAa,qBAAqB,aACjDkB,EAAE,wDAFJ,GAOnB,IAEA,UAAeo+P,C,+BCvDf,WAAgB,gBAAgB,qDAAqD,OAAS,8CAA8C,SAAW,gD,87CCDvJ,kBACA,cAEA,cACA,WACA,aACA,WACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cACA,cAGA,cACA,WAOA,cACA,cACA,WACA,cACA,WACA,cACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,cA4BMt/P,EAAK,UAAWC,KAAK,WAErB20J,EAAwCz0J,EAAMC,MAAK,SAACC,G,wBAElDs+D,EAeAt+D,EAAK,eAdLysF,EAcAzsF,EAAK,gBAbL8iM,EAaA9iM,EAAK,aAZLqyE,EAYAryE,EAAK,SAXLU,EAWAV,EAAK,UAVLk7C,EAUAl7C,EAAK,iBATL+sB,GASA/sB,EAAK,OARL00J,GAQA10J,EAAK,mBAPL20J,GAOA30J,EAAK,mCANL40J,GAMA50J,EAAK,sBALL60J,GAKA70J,EAAK,6BAJL80J,GAIA90J,EAAK,2BAHL+0J,GAGA/0J,EAAK,wBAFLg1J,GAEAh1J,EAAK,sBADL60C,GACA70C,EAAK,kBAEDa,IAAM,IAAAC,kBAAgB,EACtBo0J,GAAwBp1J,EAAM6yB,WAAW,WAAyB,oBAEpEgP,IAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1B6rD,IAAapb,aAAQ,EAARA,EAAUnmE,KAAM,KAC7BipJ,IAAkB,IAAAn/I,cAAY,IAAAo/I,2BAA0B3nE,KAExD4nE,GAAkBv1J,EAAMkG,aAC1B,SAACsvJ,GACQ7nE,GAKLmnE,GAAsBnnE,GAAY6nE,IAJ9B,IAAA5gI,YAAW,2CAKnB,GACA,CAAC+4D,GAAYmnE,KAGXW,GAAkC,CACpC,CACIppJ,KAAM,KACNyM,KAAM/X,GAAE,6DACRoE,MAAOotE,aAAQ,EAARA,EAAU1kE,OACjBoL,WAAYlY,GAAE,gDACdmY,aAAa,IAIfw8I,GAAkC,CACpC,CACIrpJ,KAAM,KACNyM,KAAM/X,GAAE,0CACRoE,MAAOotE,aAAQ,EAARA,EAAUojF,oBACjB18I,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,cAIhBkyN,GACF,gBAAC,UAAO,CACJ9xN,SAAU,EAAAC,oBAAoBu+F,QAC9Br+F,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,GAAE,6DAIV,SAAC8yB,EAAQmrC,GAAsB,OAC5B,gBAAC,UAAc,CACXp+D,UAAWo+D,EACXn9D,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB0Q,QAJV,IAUlC6sP,IAAiBr8D,aAAY,EAAZA,EAAezwH,aAAQ,EAARA,EAAUua,iBAAmC,KAE7EwyK,IAAgC,IAAA/rC,8BAA6B,CAC/DC,8BAA+B6rC,cAAc,EAAdA,GAAgB1wD,oBAC/C5rH,qBAAsBs8K,cAAc,EAAdA,GAAgBt8K,qBACtCC,mBAAoBq8K,cAAc,EAAdA,GAAgBr8K,mBACpCy7B,sBAAuB4gJ,cAAc,EAAdA,GAAgB5gJ,sBACvC0mF,oBAAqBk6D,cAAc,EAAdA,GAAgBl6D,sBAGnCvvC,GAA2C,CAC7C,CACIvpJ,KAAM,gBAAC,UAAU,CAACwB,SAASwxP,cAAc,EAAdA,GAAgB7nP,QAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WAC5F+W,KAAM/X,GAAE,qDACRoE,MAAO,gBAAC,UAAa,CAAC0U,OAAO,yBAAyB0sB,SAAU84N,cAAc,EAAdA,GAAgBz4N,UAChF3tB,WAAYlY,GAAE,gDACdmY,aAAa,EACb4M,KAAM,EAAF,QACIw5O,cAA6B,EAA7BA,GAA+B7rC,6BAC7B,CACI,CACIpnN,KAAM,KACNyM,KAAM/X,GAAE,iEACRoE,OAAO,IAAAwhC,oBACH04N,cAAc,EAAdA,GAAgBt8K,qBAChBs8K,cAAc,EAAdA,GAAgBr8K,oBAEpB/pE,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,MAAMizP,cAA6B,EAA7BA,GAA+B9rC,+BAC/BT,GACA,KACNj6M,KACI,gBAAC,UAAsB,CACnBvW,SAAU+8P,cAA6B,EAA7BA,GAA+B9rC,+BAExCzyN,GAAE,kE,KAGXoE,MACI,gBAAC,UAAsB,CACnB5C,SAAU+8P,cAA6B,EAA7BA,GAA+B9rC,gCAExC,IAAA7sL,oBACG04N,cAAc,EAAdA,GAAgB5gJ,sBAChB4gJ,cAAc,EAAdA,GAAgBl6D,sBAI5BlsL,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,IAGzB,CACI,CACIrwC,MAAMizP,cAA6B,EAA7BA,GAA+B9rC,+BAC/BT,GACA,KACNj6M,KACI,gBAAC,UAAsB,CACnBvW,SAAU+8P,cAA6B,EAA7BA,GAA+B9rC,+BAExCzyN,GAAE,wD,KAGXoE,MACI,gBAAC,UAAsB,CACnB5C,SAAU+8P,cAA6B,EAA7BA,GAA+B9rC,gCAExC,IAAA7sL,qBACG04N,cAAc,EAAdA,GAAgB5gJ,yBAAyB4gJ,cAAc,EAAdA,GAAgBt8K,uBACzDs8K,cAAc,EAAdA,GAAgBl6D,uBAAuBk6D,cAAc,EAAdA,GAAgBr8K,sBAInE/pE,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,MAEvB,IACR,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,2DACRoE,MAA8B,QAAvB,EAAAk6P,cAAc,EAAdA,GAAgB5wP,eAAO,eAAEg+E,YAChCxzE,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,2DACRoE,MAA8B,QAAvB,EAAAk6P,cAAc,EAAdA,GAAgB5wP,eAAO,eAAE3I,SAChCmT,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,4DACRoE,MAA8B,QAAvB,EAAAk6P,cAAc,EAAdA,GAAgB5wP,eAAO,eAAEqb,MAChC7Q,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,4DACRoE,MAA8B,QAAvB,EAAAk6P,cAAc,EAAdA,GAAgB5wP,eAAO,eAAE9H,MAChCsS,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,+DACRoE,MAAO,OACP8T,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,uDACRoE,MAA8B,QAAvB,EAAAk6P,cAAc,EAAdA,GAAgB5wP,eAAO,eAAEqB,QAChCmJ,WAAYlY,GAAE,gDACdmY,aAAa,K,KAMvBy7I,IAAkBquC,aAAY,EAAZA,EAAezwH,aAAQ,EAARA,EAAUya,kBAAoC,KAE/EuyK,IAAiC,IAAAhsC,8BAA6B,CAChEC,8BAA+B7+D,cAAe,EAAfA,GAAiBg6C,oBAChD5rH,qBAAsB4xE,cAAe,EAAfA,GAAiB5xE,qBACvCC,mBAAoB2xE,cAAe,EAAfA,GAAiB3xE,mBACrCy7B,sBAAuBk2C,cAAe,EAAfA,GAAiBl2C,sBACxC0mF,oBAAqBxwC,cAAe,EAAfA,GAAiBwwC,sBAGpCpvC,GAAgD,CAClD,CACI1pJ,KAAM,gBAAC,UAAU,CAACwB,SAAS8mJ,cAAe,EAAfA,GAAiBn9I,QAAS,GAAK,EAAG3V,UAAW,EAAAC,qBAAqBC,WAC7F+W,KAAM/X,GAAE,uDACRoE,MAAO,gBAAC,UAAa,CAAC0U,OAAO,yBAAyB0sB,SAAUouH,cAAe,EAAfA,GAAiB/tH,UACjF3tB,WAAYlY,GAAE,gDACdmY,aAAa,EACb4M,KAAM,EAAF,OACIy5O,GAA+B9rC,4BAC7B,CACI,CACIpnN,KAAM,KACNyM,KAAM/X,GAAE,iEACRoE,OAAO,IAAAwhC,oBACHguH,cAAe,EAAfA,GAAiB5xE,qBACjB4xE,cAAe,EAAfA,GAAiB3xE,oBAErB/pE,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,MAAMkzP,cAA8B,EAA9BA,GAAgC/rC,+BAChCT,GACA,KACNj6M,KACI,gBAAC,UAAsB,CACnBvW,SAAUg9P,cAA8B,EAA9BA,GAAgC/rC,+BAEzCzyN,GAAE,mEAGXoE,MACI,gBAAC,UAAsB,CACnB5C,SAAUg9P,cAA8B,EAA9BA,GAAgC/rC,gCAEzC,IAAA7sL,oBACGguH,cAAe,EAAfA,GAAiBl2C,sBACjBk2C,cAAe,EAAfA,GAAiBwwC,sBAI7BlsL,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,IAGzB,CACI,CACIrwC,MAAMkzP,cAA8B,EAA9BA,GAAgC/rC,+BAChCT,GACA,KACNj6M,KACI,gBAAC,UAAsB,CACnBvW,SAAUg9P,cAA8B,EAA9BA,GAAgC/rC,+BAEzCzyN,GAAE,yDAGXoE,MACI,gBAAC,UAAsB,CACnB5C,SAAUg9P,cAA8B,EAA9BA,GAAgC/rC,gCAEzC,IAAA7sL,qBACGguH,cAAe,EAAfA,GAAiBl2C,yBACbk2C,cAAe,EAAfA,GAAiB5xE,uBACrB4xE,cAAe,EAAfA,GAAiBwwC,uBAAuBxwC,cAAe,EAAfA,GAAiB3xE,sBAIrE/pE,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,MAEvB,IACR,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,2DACRoE,MAA+B,QAAxB,EAAAwvJ,cAAe,EAAfA,GAAiBlmJ,eAAO,eAAEg+E,YACjCxzE,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,uBACd67C,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,2DACRoE,MAA+B,QAAxB,EAAAwvJ,cAAe,EAAfA,GAAiBlmJ,eAAO,eAAE3I,SACjCmT,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,4DACRoE,MAA+B,QAAxB,EAAAwvJ,cAAe,EAAfA,GAAiBlmJ,eAAO,eAAEqb,MACjC7Q,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,4DACRoE,MAA+B,QAAxB,EAAAwvJ,cAAe,EAAfA,GAAiBlmJ,eAAO,eAAE9H,MACjCsS,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,+DACRoE,MAAO,OACP8T,WAAYlY,GAAE,gDACdmY,aAAa,EACbwjC,iBAAiB,GAErB,CACIrwC,KAAM,KACNyM,KAAM/X,GAAE,uDACRoE,MAA+B,QAAxB,EAAAwvJ,cAAe,EAAfA,GAAiBlmJ,eAAO,eAAEqB,QACjCmJ,WAAYlY,GAAE,gDACdmY,aAAa,K,KAMvB88I,GAA+C,CACjD,CACI3pJ,KACI,gBAAC,UAAa,CACViK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,GAAE,2CACRoE,MAAO,gBAAC,UAAa,CAAChC,MAAM,IAAA8yJ,iBAAgB1jF,aAAQ,EAARA,EAAU2jF,WAAYpzJ,MAAOyvE,aAAQ,EAARA,EAAU4jF,mBACnFl9I,WAAYlY,GAAE,gDACdmY,aAAa,GAEjB,CACI7M,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqB+W,OAClDC,KAAM/X,GAAE,6CACRoE,MAAO,gBAAC,UAAa,CAACrC,MAAOyvE,aAAQ,EAARA,EAAU6jF,OAAQjzJ,KAAM,EAAA4V,aAAas9I,wBAClEp9I,WAAYlY,GAAE,gDACdmY,aAAa,GAEjByzE,EACM,CACItgF,KAAM,gBAAC,UAAa,CAACxK,UAAW,EAAAC,qBAAqB+W,OACrDC,KAAM/X,GAAE,4CACRoE,MACI,gBAAC,UAAwB,CACrBmxJ,kBAAmB/jF,aAAQ,EAARA,EAAU+jF,kBAC7BC,mBAAoBhkF,aAAQ,EAARA,EAAUgkF,qBAGtCt9I,WAAYlY,GAAE,gDACdmY,aAAa,GAEjB,KACN,CACI7M,KAAM,gBAAC,UAAW,CAACxK,UAAW,EAAAC,qBAAqBI,MAAO0U,YAAa,EAAA9U,qBAAqB+W,OAC5FC,KAAM/X,GAAE,4CACRoE,MAAOotE,aAAQ,EAARA,EAAUjjD,YACjBrW,WAAYlY,GAAE,gDACdmY,aAAa,IAIfs9I,IAAc,IAAAC,yBAAwB,CACxCh7F,iBAAkB45F,cAAe,EAAfA,GAAiB55F,iBACnCC,aAAc6W,aAAQ,EAARA,EAAUmkF,iBAG5B,OACI,gCACI,gBAAC,UAAI,CACDt7G,iBAAkBA,EAClBN,UAAW/5C,GAAE,8CAA+C,CACxD8M,OAAQ2wD,IAEZ/9D,UACI,gCACI,gBAAC,UAAmB,CAAC+T,eAAa,EAACjC,QAASggE,aAAQ,EAARA,EAAUhgE,UACtD,gBAAC,UAAkB,CAACiC,eAAa,EAAC8U,OAAQipD,aAAQ,EAARA,EAAUjpD,UAG5D1oB,UAAWA,EACXs6C,uBAAqB,EACrBC,YACItZ,cAAW,EAAXA,GAAa29N,qCACT,gBAAC,UAA0B,CACvBp9J,gBAAiB7vB,IAAa,EAAA8vB,oBAAoBlzE,IAAIojD,aAAQ,EAARA,EAAUjpD,QAChEqkE,YAAYpb,aAAQ,EAARA,EAAUnmE,KAAM,KAC5BmmE,SAAUA,EACVtlD,OAAQA,GACR2nI,mBAAoBA,GACpBC,mCAAoCA,KAExC,KAERx5G,QAAQ,IAAAs7G,oBAAkBpkF,aAAQ,EAARA,EAAUnmE,KAAM,MAC1CkvC,cAAe85G,MAAwB7iF,aAAQ,EAARA,EAAUnmE,KAEjD,2BACI,gBAAC,UAAmB,CAChBoqJ,YAAaA,GACbI,mBAAoB,gBAAC,EAAAC,yCAAwC,CAACC,YAAavB,MAE3E,uBAAK30J,UAAWf,EAAG,YACf,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM2vI,GAAW70J,UAAWf,EAAG,QAAS,eACrE,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM4vI,GAAW90J,UAAWf,EAAG,QAAS,eACrE,gBAAC,UAAS,CACN+nB,mBAAiB,EACjB9B,KAAM8vI,GACNh1J,UAAWf,EAAG,QAAS,kBAE3B,gBAAC,UAAS,CACN+nB,mBAAiB,EACjB9B,KAAMiwI,GACNn1J,UAAWf,EAAG,QAAS,kBAE3B,gBAAC,UAAS,CACN+nB,mBAAiB,EACjB9B,KAAMkwI,GACNp1J,UAAWf,EAAG,QAAS,sBAG/B,gBAAC,EAAAk3J,yBAAwB,CACrBL,gBAAgBnkF,aAAQ,EAARA,EAAUmkF,iBAAkB,KAC5C/oE,WAAYA,GACZ54C,kBAAmBA,GACnBggH,6BAA8BA,GAC9BC,2BAA4BA,GAC5BC,wBAAyBA,GACzBC,sBAAuBA,GACvBJ,sBAAuBA,QAOnD,IAEA,UAAeL,C,6JCniBf,kBACA,cAEA,cACA,WACA,cACA,cACA,cACA,WACA,WAKA,WAEA,WACA,WACA,UAGW,UAAW30J,KAAK,WAkF3B,UApEoD,SAACI,GAE7C,IAAAE,EASAF,EAAK,SARLqD,EAQArD,EAAK,UAPLkvD,EAOAlvD,EAAK,UANLQ,EAMAR,EAAK,QALLyO,EAKAzO,EAAK,SAJL2jD,EAIA3jD,EAAK,yBAHLu6C,EAGAv6C,EAAK,mBAFLgxD,EAEAhxD,EAAK,qBADL60C,EACA70C,EAAK,kBAEDa,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAEXu1G,GAAsB,IAAA/zH,cAAY,IAAAupP,mCAAkCl8P,IACpEohK,GAAmB,IAAAzuJ,cAAY,IAAAq/D,+BAA8BhyE,IAG7DisD,GADc,IAAAt5C,cAAY,IAAAu5C,4BAA2BlsD,IACxB6rD,GAE7BswM,GAAgBtwM,EAiBhBjvD,EAAQu/P,EACR3+P,EAAE,0CACFA,EAAE,0CAA2C,CACzCumB,aAAakoC,aAAc,EAAdA,EAAgBloC,cAAe,KAGtD,OACI,gDACI,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAAClnB,SAAUA,EAAUD,MAAOA,EAAOO,QAASA,KAErE,wBAAC,UAAa,KACV,wBAAC,UAAkB,CACf6C,UAAWA,EACX2L,UAAW+6H,EAAoBlmI,SAAW4gK,EAAiB5gK,QAC3D27P,aAAcA,EACdlwM,eAAgBA,EAChBz0C,SAhCK,SAACiqJ,GAClB,GAAI06F,EAAc,CAEd,KADM3xN,GAAU,IAAA4xN,yBAAwB36F,IAGpC,YADA,IAAApwI,YAAW,2CAIfH,GAAS,IAAAmrO,mBAAkB7xN,EAASxqC,GACxC,MAAO,GAAI6rD,EAAW,CAClB,IAAMrhB,GAAU,IAAA8xN,yBAAwBzwM,EAAW41G,GACnDvwI,GAAS,IAAA+6F,eAAcpgE,EAAWrhB,EAASxqC,GAC/C,CACJ,EAoBgBoL,SAAUA,EACVk1C,yBAA0BA,EAC1BpJ,mBAAoBA,EACpByW,qBAAsBA,EACtBnc,kBAAmBA,KAKvC,C,iMCnGA,eAEa,EAAAisL,4CACT,SAAC/tL,GAAiE,gBAACrvC,GAC/D,OAAKqvC,GAAgBrvC,EAAMk8P,uBAAuBC,gBAK9Cn8P,EAAMk8P,uBAAuBC,cAAc9sN,IAC3CrvC,EAAMk8P,uBAAuBC,cAAc,EAAAC,oBALpC,IAQf,CAVkE,EAYzD,EAAAhtN,4BACT,SAACC,GAAiE,gBAACrvC,GAC/D,OAAKqvC,GAAgBrvC,EAAMk8P,uBAAuBG,mBAK9Cr8P,EAAMk8P,uBAAuBG,iBAAiBhtN,IAC9CrvC,EAAMk8P,uBAAuBG,iBAAiB,EAAAD,oBALvC,IAQf,CAVkE,EAYzD,EAAA57E,mCAAqC,SAACxgL,GAC/C,OAAOA,EAAMk8P,uBAAuBnmN,YACxC,C,8NC5Ba,EAAA4yE,6BAA+B,2DAC/B,EAAAo6B,mCAAqC,iEACrC,EAAAE,mCAAqC,iEACrC,EAAAD,qCAAuC,kE,q7BCPpD,kBAEA,cAEA,cACA,cAEA,cAMM/mJ,EAAK,UAAWC,KAAK,WAErB8lN,EAA6B5lN,EAAMC,MAAK,SAACC,GACnC,IAAAkjC,EAAQljC,EAAK,IAErB,OACI,uBAAKU,UAAWf,EAAG,SACf,uBAAKe,UAAWf,EAAG,SACf,gBAAC,UAAsB,CAACsD,KAAMigC,EAAIq7G,QAAQA,WAE9C,uBAAK79I,UAAWf,EAAG,UACf,gBAAC,UAA2B,CAAC6iD,SAAUtf,EAAIsf,SAAUzP,YAAa7P,EAAI6P,aAAe,QAIrG,IAEA,UAAe2yK,C,oyBC9Bf,kBAuCa,EAAAvkC,0BAA4B,SAAC7/B,GACtC,OAAOA,EAASv/F,QACZ,SAACC,EAAKo/H,G,YACI9mI,EAAwB,QAAd,EAAA8mI,aAAO,EAAPA,EAASr9J,aAAK,eAAE7X,GAC1BgjD,EAA4B,QAAhB,EAAAkyH,aAAO,EAAPA,EAASp9J,eAAO,eAAE9X,GACpC,OAAKouC,GAAY4U,EAIV,CACHmyH,UAAW,EAAF,KACFr/H,EAAIq/H,YAAS,OACf/mI,GAAU4U,EAAS,IAExBoyH,YAAa,EAAF,KACJt/H,EAAIs/H,cAAW,OACjBpyH,GAAY5U,EAAO,KAVjB0H,CAaf,GACA,CACIq/H,UAAW,CAAC,EACZC,YAAa,CAAC,GAG1B,EAEa,EAAAC,eAAiB,SAC1BjgC,GAEA,OAAOA,EAASv/F,QAAmD,SAACC,EAAKo/H,G,MAC7Dp9J,EAAsEo9J,EAAO,QAApEo+D,EAA6Dp+D,EAAO,iBAAlDq+D,EAA2Cr+D,EAAO,kBAA/BmhE,EAAwBnhE,EAAO,oBAErF,KAAKp9J,aAAO,EAAPA,EAAS9X,IACV,OAAO81C,EAGH,IAAAs9L,EAAsDt7N,EAAO,gBAA5Cu7N,EAAqCv7N,EAAO,iBAAvBg8O,EAAW,EAAKh8O,EAAxD,wCAEAi8O,GACF,aAASzgB,KAAqB,aAASC,GACjC,CACIrqM,SAAUoqM,EACVnqM,UAAWoqM,GAEf,KAEJygB,GACF,aAAS5gB,KAAoB,aAASC,GAChC,CACInqM,SAAUkqM,EACVjqM,UAAWkqM,GAEf,KAEV,OAAO,EAAP,KACOv9L,KAAG,MACLh+B,EAAQ9X,IAAE,OACJ8zP,GAAW,CACd1d,YAAaC,EACb2d,aAAY,EACZD,YAAW,OAGvB,GAAG,CAAC,EACR,EAEa,EAAAv+E,aAAe,SAACpgC,GACzB,OAAOA,EAASv/F,QAA+C,SAACC,EAAKo/H,G,MACzDr9J,EAAoEq9J,EAAO,MAApEo+D,EAA6Dp+D,EAAO,iBAAlDq+D,EAA2Cr+D,EAAO,kBAA/BmhE,EAAwBnhE,EAAO,oBAEnF,KAAKr9J,aAAK,EAALA,EAAO7X,IACR,OAAO81C,EAGH,IAAAs9L,EAAoDv7N,EAAK,gBAAxCw7N,EAAmCx7N,EAAK,iBAAnBo8O,EAAS,EAAKp8O,EAAtD,wCAEAk8O,GACF,aAASzgB,KAAqB,aAASC,GACjC,CACIrqM,SAAUoqM,EACVnqM,UAAWoqM,GAEf,KAEJygB,GACF,aAAS5gB,KAAoB,aAASC,GAChC,CACInqM,SAAUkqM,EACVjqM,UAAWkqM,GAEf,KAEV,OAAO,EAAP,KACOv9L,KAAG,MACLj+B,EAAM7X,IAAE,OACFi0P,GAAS,CACZ7d,YAAaC,EACb2d,aAAY,EACZD,YAAW,OAGvB,GAAG,CAAC,EACR,C,oGC9IA,eAEA,WAIMG,IAAO,MACR,EAAA5P,aAAa5jO,MAAO,SAACyzO,EAAMC,GACxB,IAAMC,GAAWF,aAAI,EAAJA,EAAMG,UAAW,GAC5BC,GAAWH,aAAI,EAAJA,EAAME,UAAW,GAElC,OAAID,IAAaE,EACN,EAGPA,EAAWF,EACJ,GAGH,CACZ,EACA,EAAC,EAAA/P,aAAa35O,OAAQ,SAACwpP,EAAMC,GACzB,QAAQD,aAAI,EAAJA,EAAMK,WAAY,KAAMJ,aAAI,EAAJA,EAAMI,WAAY,EACtD,E,GAGS,EAAAC,YAAc,SACvBtvN,EACA44C,GAEQ,IAAAhlF,EAAqBosC,EAAI,MAAlBq0B,EAAcr0B,EAAI,UACjC,OAAKpsC,EAWEglF,EAAK54C,MAPG,SAACgvN,EAAmCC,GAI/C,OAHuB56L,IAAc,EAAAC,kBAAkB4uD,IAAM,GAAK,GAC/C6rI,EAAQn7P,GAAOo7P,EAAMC,EAG5C,IARWr2K,CAWf,C,0uCC3CA,kBAEA,cACA,cAEA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,WACA,cAGA,cACA,YACA,cAEA,UACA,WAEMtqF,EAAK,UAAWC,KAAK,WAcrBkqN,IAAa,MACd,EAAApqN,WAAWkhQ,yCAA0C,EAAA/nP,aAAakkM,oBACnE,EAAC,EAAAr9M,WAAWmhQ,wBAAyB,EAAAhoP,aAAakkM,oBAClD,EAAC,EAAAr9M,WAAWohQ,uBAAwB,EAAAjoP,aAAakkM,oBACjD,EAAC,EAAAr9M,WAAWqhQ,yCAA0C,EAAAloP,aAAakkM,oBACnE,EAAC,EAAAr9M,WAAWshQ,uBAAwB,EAAAnoP,aAAakkM,oBACjD,EAAC,EAAAr9M,WAAWuhQ,8BAA+B,EAAApoP,aAAai8L,KACxD,EAAC,EAAAp1M,WAAWwhQ,qBAAsB,EAAAroP,aAAai8L,KAC/C,EAAC,EAAAp1M,WAAWyhQ,uBAAwB,EAAAtoP,aAAagkM,mBACjD,EAAC,EAAAn9M,WAAW0hQ,6BAA8B,EAAAvoP,aAAa8wE,kBACvD,EAAC,EAAAjqF,WAAW2hQ,2CAA4C,EAAAxoP,aAAa8wE,kB,GAGnEogI,IAAQ,MACT,EAAArqN,WAAWkhQ,yCAA0C,GACtD,EAAC,EAAAlhQ,WAAWmhQ,wBAAyB,GACrC,EAAC,EAAAnhQ,WAAWohQ,uBAAwB,GACpC,EAAC,EAAAphQ,WAAWqhQ,yCAA0C,GACtD,EAAC,EAAArhQ,WAAWshQ,uBAAwB,GACpC,EAAC,EAAAthQ,WAAWuhQ,8BAA+B,EAC3C,EAAC,EAAAvhQ,WAAWwhQ,qBAAsB,EAClC,EAAC,EAAAxhQ,WAAWyhQ,uBAAwB,IACpC,EAAC,EAAAzhQ,WAAW0hQ,6BAA8B,EAC1C,EAAC,EAAA1hQ,WAAW2hQ,2CAA4C,E,GAGtDjnD,IAAiB,MAClB,EAAA16M,WAAWkhQ,yCAA0C,wDACtD,EAAC,EAAAlhQ,WAAWmhQ,wBAAyB,iEACrC,EAAC,EAAAnhQ,WAAWohQ,uBAAwB,gEACpC,EAAC,EAAAphQ,WAAWqhQ,yCAA0C,uDACtD,EAAC,EAAArhQ,WAAWshQ,uBAAwB,gEACpC,EAAC,EAAAthQ,WAAWuhQ,8BAA+B,uEAC3C,EAAC,EAAAvhQ,WAAWwhQ,qBAAsB,8DAClC,EAAC,EAAAxhQ,WAAWyhQ,uBAAwB,gEACpC,EAAC,EAAAzhQ,WAAW0hQ,6BAA8B,sEAC1C,EAAC,EAAA1hQ,WAAW2hQ,2CACR,oF,GAGFr3C,IAAuB,MACxB,EAAAtqN,WAAWkhQ,yCAA0C,8DACtD,EAAC,EAAAlhQ,WAAWmhQ,wBAAyB,uEACrC,EAAC,EAAAnhQ,WAAWohQ,uBAAwB,sEACpC,EAAC,EAAAphQ,WAAWqhQ,yCAA0C,6DACtD,EAAC,EAAArhQ,WAAWshQ,uBAAwB,sEACpC,EAAC,EAAAthQ,WAAWuhQ,8BACR,6EACJ,EAAC,EAAAvhQ,WAAWwhQ,qBAAsB,oEAClC,EAAC,EAAAxhQ,WAAWyhQ,uBAAwB,sEACpC,EAAC,EAAAzhQ,WAAW0hQ,6BACR,4EACJ,EAAC,EAAA1hQ,WAAW2hQ,2CACR,0F,GAKF3kI,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAsIxE,UAAe58H,EAAMC,MApIwB,SAACC,GAClC,IAAAslH,EAA+CtlH,EAAK,eAApCgP,EAA+BhP,EAAK,UAAzBC,EAAoBD,EAAK,MAAlB+mM,EAAa/mM,EAAK,SAEpDa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAQ,CAAEwqG,eAAc,GAAxC,CACpC,GAAG,CAACzkH,EAAGykH,IAED,IAAiCxlH,EAAM0E,SAAQ,WACjD,IAAMsW,GAAS,aAAiBwqG,GAGhC,MAAO,CAACxqG,GAFO,aAAaja,EAAGia,EAAQ,CAAEwqG,eAAc,IAI3D,GAAG,CAACA,IAAgB,GANb9qG,EAAa,KAAEupC,EAAa,KAQ7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMs/L,GAAoB,aAAyBv/L,GACnDisL,EAASsT,GAETt/L,EAAcI,WAAW,CAAC,EAC9B,IAGE4kC,EAA2BjgD,EAAM6yB,WAAW,WAClD7yB,EAAMoL,WAAU,WACR60C,EAAyB09E,wBACzB19E,EAAyB09E,uBAAuB,CAC5Cx9E,OAAQxlC,EAAOijH,WACf75D,MAAOppD,EAAOkjH,WAI1B,GAAG,CAACljH,EAAOijH,WAAYjjH,EAAOkjH,YAE9B,IAAM4iD,GAAkB,IAAAziD,uBAAsBrjH,EAAOmB,QAC/CqoC,EAA0BT,EAA6B/oC,EAAOK,OAAQN,GAE5E1a,EAAMoL,WAAU,WACR60C,EAAyBi+E,oBACzBj+E,EAAyBi+E,mBAAmB,CACxCx4H,WAAYy+C,EACZ85E,UAAWwiD,GAIvB,GAAG,CAACA,EAAiBt8H,IAErBnkD,EAAMoL,WAAU,WACR60C,EAAyBk+E,sBACzBl+E,EAAyBk+E,qBAAqB,CAC1CjvH,UAAS,GAIrB,GAAG,CAACA,IAEJ,IAAMsrM,GAAwB,aAA0B7/L,EAAOK,OAAQN,GAEjEyvM,EAAoB,SAACrxM,GACvB,OACI,gBAAC,UAAW,CACRlY,UAAWf,EAAG,SACdiZ,KAAMA,EACN7U,MAAO0W,EAAOmB,OAAOhD,GACrBiD,KAAMpB,EAAOqB,aAAalD,GAC1B7R,MAAOlG,EAAEu5M,EAAkBxhM,IAC3BmD,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB3a,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAEmpN,EAAwBpxM,OAIlC,SAAC5Y,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAMA,EACNmrF,SAAU+lH,EAAclxM,GACxBigB,MAAM,IAAAypJ,eAAcwnC,EAAclxM,IAClCk6E,KAAMi3H,EAASnxM,GACf3T,MAAOwV,EAAOK,OAAOlC,GACrBkE,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YAZd,GAiBxB,EACA,OACI,wBAAMqV,SAAUJ,EAAOiB,cACnB,gBAAC,UAAM,CAAChb,UAAWf,EAAG,UAAWM,MAAOA,EAAOM,UAAW,gBAAC+5M,EAAqB,CAAC95I,OAAQk8D,KACrF,uBAAKh8H,UAAWf,EAAG,kBACf,gBAAC,UAAU,KACNsqN,EAAkB,EAAAvqN,WAAWkhQ,yCAC7B32C,EAAkB,EAAAvqN,WAAWmhQ,yBAElC,gBAAC,UAAU,KACN52C,EAAkB,EAAAvqN,WAAWqhQ,yCAC7B92C,EAAkB,EAAAvqN,WAAWohQ,wBAElC,gBAAC,UAAU,KACN72C,EAAkB,EAAAvqN,WAAWshQ,uBAC7B/2C,EAAkB,EAAAvqN,WAAWuhQ,+BAElC,gBAAC,UAAU,KACNh3C,EAAkB,EAAAvqN,WAAWwhQ,qBAC7Bj3C,EAAkB,EAAAvqN,WAAWyhQ,wBAElC,gBAAC,UAAU,KACNl3C,EAAkB,EAAAvqN,WAAW0hQ,6BAC7Bn3C,EAAkB,EAAAvqN,WAAW2hQ,4CAElC,gBAAC,UAAkB,CAAC57K,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,gBAAC,UAAkC,QAKvD,G,+BCzOA,WAAgB,QAAU,uCAAuC,iBAAiB,8CAA8C,kBAAkB,+CAA+C,QAAU,uCAAuC,OAAS,sCAAsC,SAAW,wC,kTCC5S,eACA,WAEMmH,EAAkB,CAAC,EAAArjB,WAAW+G,MAAO,EAAA/G,WAAW4D,aAEhDg5J,EAAe,CAAC,EAAA58J,WAAW+G,OAWjC,UATiB,SAAC5F,EAAcia,GAM5B,OALY,QACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4iG,YAAW78G,EAAGy7J,EAAcxhJ,GAIvC,C,umDChBA,eACA,WACA,WACA,WACA,cAEA,UAEA,SAAUwmP,EAAwB39P,G,gEAGwC,OAF9DwtB,EAAgBxtB,EAAM,YAEwC,IAAM,IAAAiJ,SACxE,IAAAs9N,6BAA4B/4M,K,OAGhC,OAJMowO,EAAgE,UAInDr9P,IAAMq9P,EAAe19P,QACpC,IAGJ,IAAM,IAAAiJ,MAAI,IAAAiiO,0BAAyB59M,K,OAG/B,OAHJ,SAGI,GAAM,UAAkBmyM,uBAAuBnyM,I,cAD7C,kBACF,SAAgF,IAD7EptB,EAAK,KAAEs8F,EAAa,KAEvBt8F,EACA,IAAM,IAAA+I,MAAI,IAAAmiO,0BAAyB99M,EAAaptB,KADhD,M,OACA,S,iBAGJ,UAAM,IAAA+I,MAAI,IAAAkiO,4BAA2B79M,EAAakvE,GAAiB,M,cAAnE,S,QAOJ,UAJA,W,kDACI,UAAM,IAAAtvE,eAAc,EAAA+9M,yBAA0BwyB,I,cAA9C,S,uCC9BJ,WAAgB,OAAS,qCAAqC,SAAW,uC,iKCAzE,eAMa,EAAAxsN,sCAAwC,SAACmB,GAClD,OAAO,SAACvyC,GACJ,OACIA,EAAMg2M,2BAA2B/0C,YAAY1uH,IAC7C,EAAAurN,0CAER,CACJ,EAEa,EAAAlX,uCAAyC,SAClD5mP,GAEA,OAAOA,EAAMg2M,2BAA2B7sI,aAC5C,C,q2BCpBA,kBAQM40L,EAA8B3hQ,EAAMC,MAAK,SAACC,GACpC,IAAAqX,EAAsBrX,EAAK,IAAtB4pG,EAAiB5pG,EAAK,KAAhB67G,EAAW77G,EAAK,OAYnC,OAVAF,EAAMoL,WAAU,WACZ,GAAK0+F,GAASvyF,GAAQwkG,EAAtB,CAIA,IAAM6lJ,EAAe,IAAI93J,EAAKK,OAAO4R,EAAO97F,IAAK87F,EAAO77F,KACxD3I,EAAIsqP,UAAUD,EAHd,CAKJ,GAAG,CAACrqP,EAAKuyF,EAAMiS,aAAM,EAANA,EAAQ97F,IAAK87F,aAAM,EAANA,EAAQ77F,MAE7B,IACX,IAEA,UAAeyhP,C,+BCvBf,WAAgB,OAAS,2CAA2C,SAAW,6C,yaCA/E,eACA,WAmB2B,EAAA/yC,mBAjBA,SAACxtJ,GACxB,IAAKA,EACD,MAAO,CACHj9B,SAAU,EAAAuuC,eAAew4F,MAI3B,QAAqB9pG,EAAU0xD,MAAM,KAAI,GAAxC3uF,EAAQ,KAAEtsB,EAAM,KAEvB,MAAO,CACHssB,SAAQ,EACRtsB,OAAQA,EAAS,WAAIA,GAAW,GAExC,EAIS,EAAA86D,iBAFgB,WAAc,WAAAmvL,wBAAuBxhN,OAAO/Z,SAASq1K,KAAvC,C,0pCCnBvC,kBAEA,aAEA,cAEA,cAEA,cAIA,cAIA,cACA,cAEM/7M,EAAK,UAAWC,KAAK,WA6H3B,UAnG2D,SAACI,G,MAkCpDw2B,EAmBAC,EAnDA7d,EAgBA5Y,EAAK,KAfL0F,EAeA1F,EAAK,YAdLuF,EAcAvF,EAAK,QAbLsF,EAaAtF,EAAK,OAZLqF,EAYArF,EAAK,WAXLm2B,EAWAn2B,EAAK,QAVLi2B,EAUAj2B,EAAK,QATLoF,EASApF,EAAK,SARLmF,EAQAnF,EAAK,WAPL02B,EAOA12B,EAAK,iBANLwF,EAMAxF,EAAK,WALL22B,EAKA32B,EAAK,aAJL42B,EAIA52B,EAAK,mBAHL62B,EAGA72B,EAAK,eAFL+1E,EAEA/1E,EAAK,cADLyF,EACAzF,EAAK,gBAEHk3B,EAAsE,SAACjyB,EAAOkyB,GAC5En3B,EAAMid,SACNjd,EAAM8c,SAAS7X,EAAOkyB,EAE9B,EAEMC,EAAgE,SAACnyB,EAAOkyB,GACrEn3B,EAAMid,SACPjd,EAAM8c,SAAS7X,EAAOkyB,EAE9B,EAEMx2B,GAAe,aAAgBi2B,EAAoB,sBAoCzD,OAhCIJ,EADAx2B,EAAMid,QACe,CACjBA,SAAS,EACThY,MAAOjF,EAAMiF,MACbF,aAAc/E,EAAM+E,aACpB+X,SAAUoa,EACVG,iBAA6B,QAAX,EAAAr3B,EAAMiF,aAAK,eAAEqyB,MAGd,CACjBra,SAAS,EACThY,MAAOjF,EAAMiF,MACbF,aAAc/E,EAAM+E,aACpB+X,SAAUsa,EACVC,iBAAkBr3B,EAAMiF,OAM5BwxB,EADAz2B,EAAMid,QACgB,CAClBA,SAAS,EACThY,MAAOjF,EAAMiF,MACb6X,SAAUoa,GAGQ,CAClBja,SAAS,EACThY,MAAOjF,EAAMiF,MACb6X,SAAUsa,GAKd,+BAAK12B,UAAWf,EAAG,QAAO,qBAAsBgB,GAC5C,wBAAC,UAAQ,GACLD,UAAWf,EAAG,YACdw2B,QAASA,EACTF,QAASA,EACTS,iBAAkBA,EAClBq/C,cAAeA,GACXv/C,IAER,wBAAC,UAAgB,KACTC,EAAmB,CACvB/1B,WAAW,aAAGf,EAAG,SAAUk3B,GAC3Bje,KAAMA,GAAQ,aACdlT,YAAaA,EACbN,SAAUA,EACVG,QAASA,EACTD,OAAQA,EACR6wB,QAASA,EACTF,QAASA,EACT9wB,WAAYA,EACZE,WAAYA,EACZG,WAAYA,EACZmxB,aAAcA,EACdlxB,gBAAiBA,EACjBiX,eAAgB,SAACC,GAAa,+BAAC,UAAY,KAAK,EAAAklP,kBAAkBhlP,gBAAgBF,IAApD,KAI9C,C,q7BC9IA,kBACA,WACA,WAGA,YACA,cAQMmlP,EAAwC,UAAM/hQ,MAAK,SAACC,G,QAC9CU,EAAuCV,EAAK,UAAjC+hQ,EAA4B/hQ,EAAK,iBAAfsX,EAAUtX,EAAK,MAE5Ca,GAAM,IAAAC,kBAAgB,EAIxB8a,EAA0C,QAAjC,EAAa,QAAb,GAFA,IAAA6W,oBAEO7W,cAAM,eAAGmmP,UAAiB,eAAGzqP,GAC7CymH,IAAa,aAAQniH,GAE3B,OACI,wBAAC,UAAS,CACNlb,UAAWA,EACXQ,MAAO68H,EAAY,EAAApqH,mBAAmBrB,OAAS,EAAAqB,mBAAmBO,YAClEI,eAAa,GAEZzT,EACGk9H,EACM,oDACA,mDAItB,IAEA,UAAe+jI,C,+BCtCf,WAAgB,OAAS,4CAA4C,SAAW,8C,+BCAhF,WAAgB,OAAS,8CAA8C,iBAAiB,sDAAsD,OAAS,8CAA8C,SAAW,gD,kYCAhN,eACA,WAGM/+O,GAAkB,EAFxB,YAEwB,SAAmB,EAAArjB,YAY3C,UAViB,SAACmB,EAAcia,GAO5B,OANY,UACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAW47G,iBAAkB,EAAA57G,WAAW87G,kBAAmB1gG,EAAQ,KACrF,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAW47G,iBAAkB,EAAA57G,WAAW87G,kBAAmB1gG,EAAQ,IAIhG,C,+BCdA,WAAgB,SAAW,6BAA6B,IAAM,wBAAwB,UAAY,8BAA8B,MAAQ,0BAA0B,OAAS,2BAA2B,SAAW,6B,+BCAjN,WAAgB,gBAAgB,mDAAmD,OAAS,4CAA4C,SAAW,8C,qJCDnJ,cAEa,EAAAknP,+BAAiC,IAAI,EAAA/4O,iBAErC,EAAAg5O,kCAAoC,IAAI,EAAAh5O,gB,8NCJrD,kBAEa,EAAAi5O,0BAA4B,SAACj6P,GACtC,IAAMk6P,EAAgBl6P,aAAU,EAAVA,EAAa,GACnC,IAAKk6P,EACD,OAAO,KAGX,IAAMC,EAAuD,WAA1C,aAAOD,GAAexoP,OAAO,SAChD,OAAO,aAAOwoP,GAAiBC,EAAa,EAAI,IAAIzoP,OAAO,aAC/D,EAEa,EAAA0oP,4BAA8B,SACvCC,EACApwK,GAEA,IAAKowK,IAAuBpwK,EACxB,OAAOowK,EAGX,IAAMF,EAA+D,WAAlD,aAAOE,EAAmB,IAAI3oP,OAAO,SAExD,MAAO,CACH2oP,EAAmB,IACnB,aAAOA,EAAmB,IAAMF,EAAa,EAAI,IAC5C97M,QAAQ,OACRM,UAAYsrC,EAAmB,GAE5C,C,wMC5BA,IAGMurJ,EAHN,YAG0C,QAAMr6O,cAAuD,CACnGihP,0BAA0B,EAC1Bke,4BAA6B,WAE7B,EACAje,wBAAwB,EACxBke,0BAA2B,WAE3B,EACAjiL,mBAAoB,KACpBY,sBAAuB,WAEvB,IAGK,EAAAs8J,kCAAAA,C,kTChBT,eACA,WAEM16N,EAAkB,CACpB,EAAArjB,WAAWkZ,KACX,EAAAlZ,WAAW2oD,YACX,EAAA3oD,WAAW0uJ,wBACX,EAAA1uJ,WAAW2uJ,oBACX,EAAA3uJ,WAAW4uJ,iBACX,EAAA5uJ,WAAW6uJ,qBA6Bf,UAtBiB,SAAC1tJ,EAAcia,EAAqB,G,IAAEi5J,EAAqB,wBAmBxE,OAlBY,UACL,IAAAtwJ,eAAc5iB,EAAGkiB,EAAiBjI,KAClC,IAAA4iG,YAAW78G,EAAG,CAAC,EAAAnB,WAAW2vJ,cAAev0I,IACxCi5J,GACE,IAAAtwJ,eACI5iB,EACA,CACI,EAAAnB,WAAWsvJ,0BACX,EAAAtvJ,WAAWuvJ,sBACX,EAAAvvJ,WAAWwvJ,mBACX,EAAAxvJ,WAAWyvJ,sBACX,EAAAzvJ,WAAW2vJ,cAEfv0I,GAEJ,CAAC,EAIf,C,yHCtCA,eAEa,EAAAqnF,oBAAsB,IAAIrzE,IAA2C,CAC9E,EAAAimC,mBAAmBrvB,UACnB,EAAAqvB,mBAAmBpvB,WAGV,EAAAg/J,iBAAmB,IAAI71K,IAA2C,CAC3E,EAAAimC,mBAAmBrvB,UACnB,EAAAqvB,mBAAmBpvB,U,o5BCTvB,kBAEA,WAMa,EAAA88N,sCAA0F,CACnGC,oBAAqB,0EAGzB,IAAMC,EAAsD7iQ,EAAMC,MAAK,SAACC,GAC5D,IAAAq2F,EAAWr2F,EAAK,OAChBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKu1F,EAIE,4BAAOx1F,EAAE,EAAA4hQ,sCAAsCpsK,KAH3C,IAIf,IAEA,UAAessK,C,u8CCvBf,kBACA,WACA,WAKA,cACA,cAEA,cAGA,WACA,cAGA,cAGA,aACA,WACA,cACA,WACA,UAEA,UAwNA,UAtM6D,SAAC3iQ,GAEtD,IAAA40C,EAaA50C,EAAK,WAZLm3M,EAYAn3M,EAAK,mBAXLE,EAWAF,EAAK,SAVLkvD,EAUAlvD,EAAK,UATLqD,EASArD,EAAK,UARLQ,EAQAR,EAAK,QAPL8wD,EAOA9wD,EAAK,UANL+wD,EAMA/wD,EAAK,gBALL2jD,EAKA3jD,EAAK,yBAJLu6C,EAIAv6C,EAAK,mBAHLgxD,EAGAhxD,EAAK,qBAFLkxD,EAEAlxD,EAAK,qBADL60C,EACA70C,EAAK,kBAEH2mK,GAAc,IAAA3wJ,cAAY,IAAA4sP,qBAAoBv/P,IAE9C,IAAsCvD,EAAMuE,UAAkB,GAAM,GAAnEw+P,EAAe,KAAEC,EAAgB,KAElCC,GAAqB,IAAA/sP,cAAY,IAAAu5C,4BAA2BlsD,IAE5D0mI,GAAsB,IAAA/zH,cAAY,IAAAupP,mCAAkCl8P,IAE1EvD,EAAMoL,WAAU,WACR6+H,EAAoB7lI,IACpB4+P,GAAiB,EAEzB,GAAG,CAAC/4H,EAAoB7lI,KAExB,IAAMqwB,GAAW,IAAAC,eAMXi/M,GAA4B,eAsB5BD,GAA2B,gBAoBjC,aAAgCzpG,EAAqB,CAAC0pG,EAA2BD,IAEjF,IAAMM,GAAuB,IAAA99N,aAAY,EAAAkjI,0CAEnC8pH,GAAkC,eA+CxC,OAxBA,aAAgClvB,EAAsB,CAACkvB,IAwBlD3/P,EAKD,gCACKw/P,EACG,gBAAC,UAAyB,CACtB3iQ,SAAUA,EACVmD,UAAWA,EACX6rD,UAAWA,EACX1uD,QAASA,EACTiO,SAAU,WACNq0P,GAAiB,EACrB,EACAn/M,yBAA0BA,EAC1BpJ,mBAAoBA,EACpByW,qBAAsBA,EACtBnc,kBAAmBA,IAGvB,gBAAC,UAA4B,CACzB30C,SAAUA,EACVmD,UAAWA,EACX6rD,UAAWA,EACX4B,UAAWA,EACXC,gBAAiBA,EACjBvwD,QAASA,EACTyiQ,WAxHO,SAAC/zM,GACpB,GAAKA,GAAc7rD,EAAnB,CAKA,IAAMisD,EAAiByzM,EAAmB7zM,GAE1CukL,EAA0B7qM,QAAQ,CAC9B9jC,UAAWzB,EACX2uD,OAAQ,CACJ,CACI9lD,GAAIgjD,EACJhqB,YAAYoqB,aAAc,EAAdA,EAAgBpqB,aAAc,KAC1C9d,aAAakoC,aAAc,EAAdA,EAAgBloC,cAAe,GAC5CkK,WAAWg+B,aAAc,EAAdA,EAAgBh+B,YAAa,QAXpD,MAFI,IAAAoD,YAAW,iDAiBnB,EAsGgBwuO,UAnGM,SAACh0M,GACnB,GAAKA,GAAc7rD,EAAnB,CAKA,IAAM2gB,EAAU2iJ,EAAYz3G,GAE5BskL,EAAyB5qM,QAAQ,CAC7B9jC,UAAWzB,EACX2uD,OAAQ,CACJ,CACI9lD,GAAIgjD,EACJ9nC,aAAapD,aAAO,EAAPA,EAASoD,cAAe,MATjD,MAFI,IAAAsN,YAAW,gDAenB,EAmFgByuO,OA/HG,WACfL,GAAiB,EACrB,EA8HgBrtL,iBA7Ea,SAACvmB,EAAuBjpD,GACjD,IAAM+d,EAAU2iJ,EAAYz3G,GAEvB7rD,EAKL2/P,EAAgCp6N,QAAQ,CACpC9jC,UAAWzB,EACX4C,MAAO,EAAF,KACEA,GAAK,CACRipD,UAAS,IAEb8C,OAAQ,CACJ,CACI5qC,aAAapD,aAAO,EAAPA,EAASoD,cAAe,QAZ7C,IAAAsN,YAAW,0CAgBnB,EA0DgBkgB,WAAYA,EACZuiK,mBAAoBA,EACpB58J,mBAAoBA,EACpB2W,qBAAsBA,EACtBrc,kBAAmBA,IAG3B,gBAAC,UAAoC,CACjCod,UAAW,EAAA3I,cAActlC,QACzBvX,KAAMu2P,EAAgCv2P,KACtC6gB,UAhD6B,SAAC7gB,GAC9B,IAAA3H,EAAqB2H,EAAI,UAAdxG,EAAUwG,EAAI,MAEjC8nB,GAAS,IAAAuiC,8BAA6B7wD,EAAOnB,GACjD,EA6CY2J,SAAUu0P,EAAgCv0P,SAC1CjO,QAASwiQ,EAAgCxiQ,QACzCgD,cAAeswO,IAEnB,gBAAC,UAA6B,CAC1B7hL,UAAW,EAAA3I,cAActlC,QACzBvX,KAAM+mO,EAAyB/mO,KAC/B6gB,UA7DiB,SAAC7gB,EAAqC4pF,GAC/D,IAAMpqC,EAAMx/C,EAAKulD,OAAO36C,KAAI,SAACykF,GAAU,OAAAA,EAAM5vF,EAAN,IACvCqoB,GAAS,IAAA6uO,wBAAuBn3M,EAAKx/C,EAAK3H,UAAWuxF,GACzD,EA2DY5nF,SAAU+kO,EAAyB/kO,SACnCjO,QAASgzO,EAAyBhzO,QAClCgD,cAAeumI,IAEnB,gBAAC,UAAwB,CACrBjlI,UAAWzB,EACX4uD,UAAW,EAAA3I,cAActlC,QACzBvX,KAAMgnO,EAA0BhnO,KAChC6gB,UAjFkB,SAC1B0kH,EACAqxH,GAEKhgQ,EAILkxB,GAAS,IAAA+uO,2BAA0BjgQ,EAAWggQ,KAH1C,IAAA3uO,YAAW,2CAInB,EAyEYjmB,SAAUglO,EAA0BhlO,SACpCjO,QAASizO,EAA0BjzO,QACnCgD,cAAeumI,KA7DhB,IAiEf,C,+BC/OA,WAAgB,KAAO,iCAAiC,QAAU,oCAAoC,KAAO,iCAAiC,MAAQ,kCAAkC,QAAU,oCAAoC,QAAU,oCAAoC,WAAW,qCAAqC,OAAS,mCAAmC,SAAW,qC,0cCD3X,kBACA,WACA,cAEA,cACA,WACA,cAGMpqI,EAAK,UAAWC,KAAK,WAerB2jQ,EAA2C,SAACvjQ,GACtC,IAAAiD,EAAyCjD,EAAK,KAAxCwG,EAAmCxG,EAAK,OAAhCwnB,EAA2BxnB,EAAK,aAAlB8c,EAAa9c,EAAK,SAChD,IAAsB,UAAMqE,UAAS,GAAM,GAA1C45M,EAAO,KAAEC,EAAQ,KAclBt2L,EAAaJ,IAAiBvkB,EAEpC,OACI,+BACIvC,UAAWf,EAAG,UACd+L,aAjBiB,WACrBwyM,GAAS,EACb,EAgBQtyM,aAdiB,WACrBsyM,GAAS,EACb,EAaQz8M,QAXY,WAChBqb,EAAS7Z,EACb,GAWQ,+BACIvC,UAAWf,EAAG,gBAAiB,yBAAkB6G,EAAO2F,MAAQ,CAC5D,0BAA2B8xM,GAAWr2L,MAG9C,+BAAKlnB,UAAWf,EAAG,kBACf,wBAAC,UAAK,CACFgB,aAAc6F,EAAO7F,aACrBD,UAAWf,EAAG,SACdwH,cAAeqgB,EACfviB,MAAOhC,EACP8D,MAAOP,EAAOvG,SAKlC,EAgDA,UAvC8C,SAACD,G,MACnC4Y,EAA+C5Y,EAAK,KAA9CiF,EAAyCjF,EAAK,MAAvC+b,EAAkC/b,EAAK,cAAxBwjQ,EAAmBxjQ,EAAK,eAEtDW,EAAe,wBAEbE,GAAM,IAAAC,kBAAgB,EAExB2iQ,IAAY,MACb,EAAArxG,gBAAgBgT,MAAO,CACpBnlK,MAAOY,EAAE,qCACTsL,KAAM,OACNxL,aAAc,UAAGA,EAAY,UAEjC,EAAC,EAAAyxJ,gBAAgBiT,KAAM,CACnBplK,MAAOY,EAAE,oCACTsL,KAAM,MACNxL,aAAc,UAAGA,EAAY,S,GAI/B44F,EAAe,SAACxmD,GAClBh3B,EAAcnD,EAAMm6B,EACxB,EAEA,OACI,+BAAKryC,UAAWf,EAAG,UAAS,qBAAsBgB,GAC7C6iQ,EAAensP,KAAI,SAACpU,GAAS,OAC1B,wBAACsgQ,EAAW,CACR5wP,IAAK1P,EACLA,KAAMA,EACNukB,aAAcviB,EACduB,OAAQi9P,EAAaxgQ,GACrB6Z,SAAUy8E,GANY,IAW1C,C,sMC5Ga,EAAAh7C,uBAAyB,+CACzB,EAAAE,6BAA+B,qDAC/B,EAAAG,+BAAiC,uDACjC,EAAAE,6BAA+B,oD,sBCF5C,IAAYp/C,E,qEAAZ,SAAYA,GACR,gBACA,4BACA,oBACA,gCACA,kBACA,yDACA,0BACA,8BACA,6BACA,4CACA,gDACA,sCACA,8CACA,gEACH,CAfD,CAAYA,IAAU,aAAVA,EAAU,I,sMCJtB,kBACA,WACA,WAKa,EAAA0tO,gCAA6B,MACrC,EAAAC,+BAA+BpoO,OAAQ,sDACxC,EAAC,EAAAooO,+BAA+BE,UAAW,yDAC3C,EAAC,EAAAF,+BAA+BC,WAAY,0D,GAOhD,IAAMo2B,EAAiD,UAAM3jQ,MAAK,SAACC,GACvD,IAAA2jQ,EAAc3jQ,EAAK,UAEnBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAK6iQ,EAIE,oCAAO9iQ,EAAE,EAAAusO,8BAA8Bu2B,KAHnC,IAIf,IAEA,UAAeD,C,0uCC7Bf,kBAEA,cACA,cAEA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,WACA,cAGA,cACA,YACA,cAEA,UACA,WAEM/jQ,EAAK,UAAWC,KAAK,WAErBkqN,IAAa,MACd,EAAApqN,WAAW87H,sBAAuB,EAAA3iH,aAAakkM,oBAChD,EAAC,EAAAr9M,WAAW+7H,wBAAyB,EAAA5iH,aAAakkM,oB,GAGhDgN,IAAQ,MACT,EAAArqN,WAAW87H,sBAAuB,GACnC,EAAC,EAAA97H,WAAW+7H,wBAAyB,G,GAGnC2+E,IAAiB,MAClB,EAAA16M,WAAW87H,sBAAuB,kEACnC,EAAC,EAAA97H,WAAW+7H,wBAAyB,mE,GAGnCuuF,IAAuB,MACxB,EAAAtqN,WAAW87H,sBAAuB,wEACnC,EAAC,EAAA97H,WAAW+7H,wBAAyB,yE,GAKnCiB,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAyHxE,UAAe58H,EAAMC,MArHuB,SAACC,GACjC,IAAAslH,EAA+CtlH,EAAK,eAApCC,EAA+BD,EAAK,MAA7B+mM,EAAwB/mM,EAAK,SAAnBgP,EAAchP,EAAK,UAEpDa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiCf,EAAM0E,SAAQ,WACjD,IAAMsW,GAAS,aAAiBwqG,GAGhC,MAAO,CAACxqG,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACwqG,IAAgB,GANb9qG,EAAa,KAAEupC,EAAa,KAQ7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMs/L,GAAoB,aAAyBv/L,GACnDisL,EAASsT,GAETt/L,EAAcI,WAAW,CAAC,EAC9B,IAGE4kC,EAA2BjgD,EAAM6yB,WAAW,WAClD7yB,EAAMoL,WAAU,WACR60C,EAAyB09E,wBACzB19E,EAAyB09E,uBAAuB,CAC5Cx9E,OAAQxlC,EAAOijH,WACf75D,MAAOppD,EAAOkjH,WAI1B,GAAG,CAACljH,EAAOijH,WAAYjjH,EAAOkjH,YAE9B,IAAM4iD,GAAkB,IAAAziD,uBAAsBrjH,EAAOmB,QAC/CqoC,EAA0BT,EAA6B/oC,EAAOK,OAAQN,GAE5E1a,EAAMoL,WAAU,WACR60C,EAAyBi+E,oBACzBj+E,EAAyBi+E,mBAAmB,CACxCx4H,WAAYy+C,EACZ85E,UAAWwiD,GAIvB,GAAG,CAACA,EAAiBt8H,IAErBnkD,EAAMoL,WAAU,WACR60C,EAAyBk+E,sBACzBl+E,EAAyBk+E,qBAAqB,CAC1CjvH,UAAS,GAIrB,GAAG,CAACA,IAEJ,IAAMsrM,GAAwB,aAA0B7/L,EAAOK,OAAQN,GAEjEyvM,EAAoB,SAACrxM,GACvB,OACI,gBAAC,UAAW,CACRlY,UAAWf,EAAG,SACdiZ,KAAMA,EACN7U,MAAO0W,EAAOmB,OAAOhD,GACrBiD,KAAMpB,EAAOqB,aAAalD,GAC1B7R,MAAOlG,EAAEu5M,EAAkBxhM,IAC3BmD,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB3a,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAEmpN,EAAwBpxM,OAIlC,SAAC5Y,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAMA,EACNmrF,SAAU+lH,EAAclxM,GACxBigB,MAAM,IAAAypJ,eAAcwnC,EAAclxM,IAClCk6E,KAAMi3H,EAASnxM,GACf3T,MAAOwV,EAAOK,OAAOlC,GACrBkE,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YAZd,GAiBxB,EACA,OACI,wBAAMqV,SAAUJ,EAAOiB,cACnB,gBAAC,UAAM,CAAChb,UAAWf,EAAG,UAAWM,MAAOA,EAAOM,UAAW,gBAAC+5M,EAAqB,CAAC95I,OAAQk8D,KACrF,uBAAKh8H,UAAWf,EAAG,kBACf,gBAAC,UAAU,KACNsqN,EAAkB,EAAAvqN,WAAW87H,sBAC7ByuF,EAAkB,EAAAvqN,WAAW+7H,yBAGlC,gBAAC,UAAkB,CAACh2C,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,gBAAC,UAAkC,QAKvD,G,q7BC7KA,kBAEA,cACA,cAEA,WACA,WACA,cAQMjc,EAAK,UAAWC,KAAK,WAErBgkQ,EAAkC9jQ,EAAMC,MAAK,SAACC,GACxC,IAAAytD,EAA0CztD,EAAK,aAAjCgmO,EAA4BhmO,EAAK,SAAvBy1F,EAAkBz1F,EAAK,cAEjD6jQ,EAAYp2M,EAAap2C,KAAI,SAAC8Z,GAAgB,OAAAskE,EAActkE,EAAd,IAA4BnC,OAAO,EAAA4/B,UAEvF,OACI,2BACI,gBAAC,UAAgB,CAACi1M,UAAWA,IAC7B,uBAAKnjQ,UAAWf,EAAG,cAAeqmO,EAAS12M,KAAK,EAAAsmL,sBAG5D,IAEA,UAAeguD,C,+BC7Bf,WAAgB,iBAAmB,wCAAwC,SAAW,gCAAgC,OAAS,8BAA8B,SAAW,gC,sBCUxK,IAAYxkG,EAiEA6D,E,2GAjEZ,SAAY7D,GACR,oDACA,wCACA,oCACA,sCACA,8CACA,8BACA,4CACA,4EACA,sIACA,sIACA,sGACA,4DACA,wBACA,4BACA,kCACA,gCACA,8BACA,wCACA,sCACA,oCACA,oCACA,0CACA,sCACA,sCACA,sCACA,oCACA,sDACA,sDACA,sDACA,wDACA,sDACA,sEACA,0DACA,sDACA,sDACA,sDACA,sEACA,0DACA,gEACA,gEACA,gEACA,8DACA,gFACA,oEACA,wGACA,kFACA,0FACA,gCACA,wDACA,4BACA,gCACA,oCACA,wCACA,8BACA,gFACA,oEACA,0BACH,CA1DD,CAAYA,IAAsB,yBAAtBA,EAAsB,KAiElC,SAAY6D,GACR,oBACA,sBACA,sBACA,uBACH,CALD,CAAYA,IAAuB,0BAAvBA,EAAuB,I,+BC3EnC,WAAgB,OAAS,qCAAqC,eAAe,2CAA2C,sBAAsB,kDAAkD,sBAAsB,kDAAkD,aAAa,yCAAyC,kBAAkB,8CAA8C,cAAc,0CAA0C,QAAU,sCAAsC,gBAAkB,8CAA8C,0BAA0B,sDAAsD,0BAA0B,sDAAsD,OAAS,qCAAqC,0BAA0B,sDAAsD,4BAA4B,wDAAwD,iBAAiB,6CAA6C,OAAS,qCAAqC,SAAW,uC,kuCCD/gC,kBACA,cAmCA,UA1BsB,WACZ,QAA8BnjK,EAAMuE,SAAsB,CAC5D7C,MAAO4+C,OAAO0jN,WACdh4P,OAAQs0C,OAAO2jN,cACjB,GAHKC,EAAU,KAAEC,EAAa,KAsBhC,OAjBAnkQ,EAAMoL,WAAU,WAEZ,IAAMg5P,EAAe,WAEjBD,EAAc,CACVziQ,MAAO4+C,OAAO0jN,WACdh4P,OAAQs0C,OAAO2jN,aAEvB,EAMA,OAHA3jN,OAAOmlD,iBAAiB,UAAU,aAAS2+J,EAnBjC,MAsBH,WAAM,OAAA9jN,OAAOolD,oBAAoB,UAAU,aAAS0+J,EAtBjD,KAsBG,CACjB,GAAG,IAEIF,CACX,C,+vCClCA,IAQY92H,EARZ,cACA,cACA,cACA,aACA,aAEMvtI,EAAK,UAAWC,KAAK,YAE3B,SAAYstI,GACR,gBACA,sBACA,gBACA,wBACH,CALD,CAAYA,IAAmB,sBAAnBA,EAAmB,KAiB/B,IAAMi3H,EAA+BrkQ,EAAMC,MAAK,SAACC,G,MACrCgvN,EAAsChvN,EAAK,QAAlCyB,EAA6BzB,EAAK,QAAzB+f,EAAoB/f,EAAK,IAApBggB,EAAehgB,EAAK,IAAfkB,EAAUlB,EAAK,MAE7C,IAAsBF,EAAMuE,UAAkB,GAAM,GAAnD45M,EAAO,KAAEC,EAAQ,KAExB,OAAI,aAAMn+L,KAAQ,aAAMC,GACb,KAIP,uBACItf,WAAW,aACPf,EAAG,WAAS,KACR,EAAC,yBAAkBuB,MAAYA,E,IAEnClB,EAAMU,WAEV2tH,YAAa,SAAC1iH,IACLsyM,GAAW+Q,GACZA,EAAQrjN,GAEPsyM,GACDC,GAAS,EAEjB,EACAtyM,aAAc,WACVsyM,GAAS,EACb,EACAz8M,QAASA,GAERzB,EAAM4O,SAASqvM,GAG5B,IAEA,UAAekmD,C,u7BC5Df,kBACA,WAEA,cACA,YAOMC,IAA4B,MAC7B,EAAA1tJ,kBAAkBC,OAAQ,EAAA/iG,0BAA0B1B,OACrD,EAAC,EAAAwkG,kBAAkBxtG,MAAO,EAAA0K,0BAA0B1B,OACpD,EAAC,EAAAwkG,kBAAkBhQ,MAAO,EAAA9yF,0BAA0BC,UACpD,EAAC,EAAA6iG,kBAAkB/P,MAAO,EAAA/yF,0BAA0BO,SACpD,EAAC,EAAAuiG,kBAAkB9P,eAAgB,EAAAhzF,0BAA0BvB,Q,GAG3DgyP,EAAsCvkQ,EAAMC,MAAK,SAACC,GAC5C,IAAAopB,EAA0BppB,EAAK,OAAvBsU,EAAkBtU,EAAK,cAEvC,OAAKopB,EAKD,gBAAC,UAAS,CAAC7U,UAAQ,EAACD,cAAeA,EAAepT,MAAOkjQ,EAA6Bh7O,IAClF,gBAAC,UAAa,CAACA,OAAQA,KALpB,IAQf,IAEA,UAAei7O,C,yLChCf,cAEA,cAEa,EAAAC,mBAAqB,SAACl3F,G,MACzBE,GACuB,QAAzB,EAAAF,aAAkB,EAAlBA,EAAoBjuF,aAAK,eACnBJ,SAAQ,SAACC,GACP,OAAOA,aAAI,EAAJA,EAAMC,QAAS,EAC1B,IACC5nE,KAAI,SAACyyD,GAAS,WAAAC,0BAAyBD,EAAzB,MAAmC,GAE1D,OAAO,aAAKwjG,EAChB,C,sBCZA,IAAYz1J,EAQAsyC,E,+FARZ,SAAYtyC,GACR,+BACA,+BACA,qCACA,6DACA,8DACH,CAND,CAAYA,IAAa,gBAAbA,EAAa,KAQzB,SAAYsyC,GACR,6BACA,0BACH,CAHD,CAAYA,IAAoB,uBAApBA,EAAoB,I,0cCVhC,kBAgCA,UAvB0B,WAChB,QAAoB,UAAM9lD,UAAS,GAAM,GAAxCY,EAAK,KAAEk0G,EAAQ,KActB,MAAO,CACH9T,UAAWpgG,EACXywN,WAde,WACfv8G,GAAS,EACb,EAaI3uG,YAXgB,WAChB2uG,GAAS,EACb,EAUIgnE,aARiB,WACjBhnE,GAAUl0G,EACd,EAQJ,C,+BC7BA,WAAgB,KAAO,6CAA6C,QAAU,gDAAgD,iBAAiB,uDAAuD,iBAAiB,uDAAuD,eAAe,qDAAqD,KAAO,6CAA6C,cAAgB,sDAAsD,QAAU,gDAAgD,4BAA4B,kEAAkE,gBAAgB,sDAAsD,OAAS,+CAA+C,SAAW,iD,kTCD7uB,eAEA,WACA,WAiCA,UA/ByB,SAACiV,G,UAChBmhJ,EAAcnhJ,EAAa,EAAAiwC,qBAAqBkxG,aAAuC,EAAA1D,oBAEzF4sG,IAAe,MACd,EAAA7kQ,WAAW2c,WAAYnC,EAAa,EAAAiwC,qBAAqB9tC,YAAc,KACxE,EAAC,EAAA3c,WAAW88H,aAActiH,EAAa,EAAAiwC,qBAAqBqyE,cAAgB,KAC5E,EAAC,EAAA98H,WAAWitB,WAAYzS,EAAa,EAAAiwC,qBAAqBx9B,YAAc,KACxE,EAAC,EAAAjtB,WAAWinB,aAAczM,EAAa,EAAAiwC,qBAAqBxjC,cAAgB,K,GAqBhF,OAlBI,EAAA01M,8BAA8BptM,IAAIosI,MACnB,MACV,EAAA37J,WAAW2c,WAAY,KACxB,EAAC,EAAA3c,WAAW88H,aAAc,KAC1B,EAAC,EAAA98H,WAAWitB,WAAY,KACxB,EAAC,EAAAjtB,WAAWinB,aAAc,KAJ9B49O,E,GAQQ,UACP,EAAA7kQ,WAAW27J,YAAaA,EAAU,EAClC,EAAA37J,WAAWi8J,iBAAkBzhJ,EAAa,EAAAiwC,qBAAqBwxG,kBAAoB,KAAI,EACvF,EAAAj8J,WAAWm8J,aAAc3hJ,EAAa,EAAAiwC,qBAAqB0xG,cAAgB,GAAE,EAC7E,EAAAn8J,WAAW67J,eAAgBrhJ,EAAa,EAAAiwC,qBAAqBoxG,gBAAkB,KAAI,EACnF,EAAA77J,WAAW+7J,WAAYvhJ,EAAa,EAAAiwC,qBAAqBsxG,YAAc,GAAE,GACvE8oG,EAIX,C,q7BClCA,kBACA,WACA,UACA,cAGA,WACA,WAUMpqK,EAA2B,CAC7B,EAAAhwC,qBAAqBu7E,uBACrB,EAAAv7E,qBAAqBiwC,gCACrB,EAAAjwC,qBAAqBkwC,4BACrB,EAAAlwC,qBAAqBmwC,+BACrB,EAAAnwC,qBAAqBowC,2BACrB,EAAApwC,qBAAqBqwC,+BACrB,EAAArwC,qBAAqBswC,2BACrB,EAAAtwC,qBAAqBwwC,OACrB,EAAAxwC,qBAAqBywC,eACrB,EAAAzwC,qBAAqBuwC,cAGnBG,EAAmC/6F,EAAMC,MAAK,SAACC,GACzC,IAAAU,EAAwDV,EAAK,UAAlD86F,EAA6C96F,EAAK,KAA5Cka,EAAuCla,EAAK,aAA9B+6F,EAAyB/6F,EAAK,qBAE7Da,GAAM,IAAAC,kBAAgB,EAExBqB,EAAUrC,EAAM0E,SAClB,WAAkG,OAC9F,EAAAw2F,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBu7E,uBACzB3+H,MAAOlG,EAAE,sEACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAM0pK,4BACbtjQ,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,EAAAmnF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBiwC,gCACzBrzF,MAAOlG,EAAE,mFACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMV,gCACbl5F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAi+C,qBAAqBkwC,4BACzBtzF,MAAOlG,EAAE,+EACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMT,4BACbn5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,EAAA2oF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBmwC,+BACzBvzF,MAAOlG,EAAE,kFACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMR,+BACbp5F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAi+C,qBAAqBowC,2BACzBxzF,MAAOlG,EAAE,8EACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMP,2BACbr5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,EAAA2oF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBqwC,+BACzBzzF,MAAOlG,EAAE,kFACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMN,+BACbt5F,MAAO,EAAAi6F,kCAAkCtnF,YAGjD,CACI3H,GAAI,EAAAi+C,qBAAqBswC,2BACzB1zF,MAAOlG,EAAE,8EACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAML,2BACbv5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,EAAA2oF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBwwC,OACzB5zF,MAAOlG,EAAE,qDACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMH,OACbz5F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,CACInG,GAAI,EAAAi+C,qBAAqBywC,eACzB7zF,MAAOlG,EAAE,6DACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMQ,OACbp6F,MAAO,EAAAi6F,kCAAkC9oF,UAGjD,EAAA2oF,kBAAkBC,UAClB,CACI/uF,GAAI,EAAAi+C,qBAAqBuwC,aACzB3zF,MAAOlG,EAAE,2DACT6uE,kBAAmB,CACf9sE,MAAOk4F,aAAI,EAAJA,EAAMJ,aACbx5F,MAAO,EAAAi6F,kCAAkCtnF,YApF6C,GAwFlG,CAAChT,EAAGi6F,IAGF71F,EAAQnF,EAAM0E,SAAQ,WACxB,OAAO21F,EAAyBnrE,QAAO,SAACusE,GAAoB,OAAArhF,EAAaqhF,EAAb,GAChE,GAAG,CAACrhF,IAYJ,OACI,gBAAC,UAA4B,CACzBxZ,UAAWA,EACXuE,MAAOA,EACPC,SAda,SAAC4V,GAClB,IAAM4rD,EAAsByzB,EAAyBp4C,QAA+B,SAACC,EAAKu5C,GAGtF,OAFAv5C,EAAIu5C,KAAmBzgF,EAAOyK,SAASg2E,SAA0Bj1F,EAE1D07C,CACX,GAAG,CAAC,GAEJ+4C,EAAqBr0B,EACzB,EAOQvkE,QAASA,EACTsiQ,YAAY,0CAGxB,IAEA,UAAe5pK,C,+BCvJf,WAAgB,OAAS,kCAAkC,SAAW,oC,40DCDtE,eACA,WACA,SAMA,WACA,cACA,cACA,cACA,WACA,WACA,WAEA,SAAU6pK,EAAyB/gQ,G,gFAOiC,OANxD8Q,EAA2C9Q,EAAM,WAA9Bsa,EAAwBta,EAAM,MAApBmB,EAAcnB,EAAM,UAEnDsC,EAAK,KACJgY,GAGyD,IAAM,IAAArR,SAAO,IAAA+3P,4BAA2B7/P,K,OAC5C,OADtDqZ,EAA0D,SACJ,IAAM,IAAAvR,SAAO,IAAAuzM,4BAA2Br7M,K,OAGpG,OAHMkJ,EAAsD,SACtDqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GACtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,eACtD6a,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MAAI,IAAAmI,sBAAqBnQ,EAAW,CAAE2Z,iBAAkBhK,M,OAA9D,S,iBAGJ,UAAM,IAAA3H,MAAI,IAAA4H,+BAA8BzO,EAAOwO,EAAY3P,K,cAA3D,UAKI,IAAAoB,yBAAwBpB,GACf,GAAM,UAAmB0P,yBAAyB,EAAD,KACnDvO,GAAK,CACR2Y,KAAMnK,MAHV,M,cACAtH,EAAS,S,aAKA,SAAM,UAAkBqH,yBAAyB1P,EAAW,EAAF,KAC5DmB,GAAK,CACR2Y,KAAMnK,M,OAFVtH,EAAS,S,wBAMP,IAAoBA,EAAM,GAAzBpJ,EAAK,KAAEqJ,EAAQ,KAElBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAiI,+BAA8B9O,EAAOwO,EAAY1Q,EAAOe,KADlE,O,QAEA,OADA,SACA,I,QAGJ,UAAM,IAAAgI,MAAI,IAAA8H,iCAAgC3O,EAAOwO,EAAYrH,EAAUtI,K,eAAvE,UAEA,IAAA8a,2BAA0BnL,EAAYrH,EAAU,EAAAyzM,kC,QAOpD,UAJA,W,kDACI,UAAM,IAAAtzM,WAAU,EAAAE,0BAA2Bi3P,I,cAA3C,S,62BChEJ,kBACA,WAOME,EAAkC9kQ,EAAMC,MAAK,SAACC,GACxC,IAAA4sB,EAAiB5sB,EAAK,KAAhB2Z,EAAW3Z,EAAK,OAE9B,IAAK4sB,EACD,OAAO,KAGX,IAAM7lB,GAAQ,IAAAqiF,YAAWzvE,GAAU,cAAeiT,GAClD,OAAO,4BAAO7lB,EAClB,IAEA,UAAe69P,C,q7BCnBf,kBAEA,cACA,cACA,cAGA,UACA,cACA,cACA,WAQMjlQ,EAAK,UAAWC,KAAK,WAErB+6G,EAAiC76G,EAAMC,MAAK,SAACC,GACvC,IAAAU,EAA0CV,EAAK,UAApC66G,EAA+B76G,EAAK,SAA1BkiN,EAAqBliN,EAAK,iBAE/Ca,GAAM,IAAAC,kBAAgB,EAExBqB,EAA4D,CAC9D+/M,EACM,CACIn7M,MACI,uBAAKrG,UAAWf,EAAG,WACf,uBAAKe,UAAWf,EAAG,eAAgB,0BACnC,uBAAKe,UAAWf,EAAG,kBAAmBkB,EAAE,mCAGhDqE,SAAU21G,GAEd,MAGV,OACI,uBAAKn6G,UAAWf,EAAG,SACf,uBAAKe,UAAWf,EAAG,aACf,gBAAC,UAAe,CACZe,UAAWA,EACXyB,QAASA,EACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,OALP,EAQtCO,gBAAiB,EAAAC,4BAA4BC,eAKjE,IAEA,UAAek4G,C,q7BC5Df,kBAEA,WACA,cACA,cACA,cACA,cACA,WACA,YACA,WACA,WACA,WAEA,WAQMh7G,EAAK,UAAWC,KAAK,WAErBomC,EAA8ClmC,EAAMC,MAAK,SAACC,G,MACpDimC,EAA6BjmC,EAAK,gBAAjBsnC,EAAYtnC,EAAK,QAElCa,GAAM,IAAAC,kBAAgB,EAExB2/E,GAA4B,QAAf,EAAAn5C,aAAO,EAAPA,EAAS8L,cAAM,eAAGnN,KAAoB,KAEnDxrB,GAAS,IAAAgY,oBAETyT,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,EAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YAErFo+B,GAAW,IAAAE,mBAAkB9rB,EAAOK,OAAQorB,GAG5C27C,GAFa,IAAAt7C,mBAAkB9rB,EAAOK,OAAQwrB,KAEVm6C,aAAU,EAAVA,EAAY9P,oBAAqB,KAE3E,OACI,gBAAC,UAAa,CACVxkE,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C1P,MAAOlG,EAAE,sDACT2lC,SACI,gBAAC,UAAS,CAAC9lC,UAAWf,EAAG,iBAAkB2U,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC9E,IAAA4kC,oBAAmBo7C,aAAmB,EAAnBA,EAAqB75E,MAAO65E,aAAmB,EAAnBA,EAAqB91E,MAG7E9G,OAAOw7E,aAAU,EAAVA,EAAYokL,cAAcx+N,aAAQ,EAARA,EAAUK,UAGvD,IAEA,UAAeV,C,q7BC5Df,kBACA,WACA,WAGA,WAEA,cACA,WACA,WAMMmlC,EAAqCrrE,EAAMC,MAAK,SAACC,G,MAC3CU,EAAcV,EAAK,UAEnBa,GAAM,IAAAC,kBAAgB,EAExBgkQ,EAAuChlQ,EAAM6yB,WAAW,EAAAi+J,sCACxDm0E,GAC8C,QAAhD,EAAAD,aAAoC,EAApCA,EAAsCxrP,kBAAU,eAAG,EAAA5Z,WAAW0rE,qBAAsB,GAElF72C,GAAW,IAAAC,eAcjB,OACI,gBAAC,UAAyB,CACtB9zB,UAAWA,EACX0qE,kBAAmB25L,EACnBz5L,qBAhB2B,SAACF,IAC5B05L,aAAoC,EAApCA,EAAsC7xM,wBACtC6xM,EAAqC7xM,sBAAsB,EAAAvzD,WAAW0rE,kBAAmBA,GAG7F72C,GACI,IAAA6jK,oBAAmB,CACfhtH,kBAAiB,IAG7B,EAOQG,aAAc1qE,EAAE,oDAChBotB,iBAAkBptB,EAAE,sEAGhC,IAEA,UAAesqE,C,+BChDf,WAAgB,KAAO,4BAA4B,YAAY,iCAAiC,aAAa,kCAAkC,aAAa,kCAAkC,OAAS,8BAA8B,SAAW,gC,w4BCDhP,kBACA,WAOM65L,EAA4B,SAAChlQ,GACvB,IAAA2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAExC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBACI9E,KAAM7K,EACN4P,EAAE,+JAEN,wBACI/E,KAAMkK,EACNnF,EAAE,qTAEN,wBAAMA,EAAE,mBAIxB,EAEAyzP,EAAQlzP,YAAc,UAET,EAAA8K,aAAe,CACxBC,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WASR,OAAIryB,EACO,CACHzD,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBkS,WAItC3O,EACO,CACHxD,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqB0Q,QAItCiuD,EACO,CACH5+D,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqB6U,WAItCpR,EACO,CACH1D,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBwQ,OAInC,CACHzQ,UAAW81B,GAAYC,EAAY,EAAA91B,qBAAqBsS,YAAc,EAAAtS,qBAAqBgG,MAC3F8O,YAAa+gB,GAAYC,EAAY,EAAA91B,qBAAqB6U,UAAY,EAAA7U,qBAAqBI,MAEnG,GAGJ,IAAM+P,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeizP,C,sBCvFf,IAAYtlQ,E,qEAAZ,SAAYA,GACR,0CACA,8CAEA,uCACA,2CAEA,4BAEA,wCAEA,gCACA,kCAEA,4BACA,6BACH,CAhBD,CAAYA,IAAU,aAAVA,EAAU,I,8NCIT,EAAA4yD,qBAAuB,sDAEvB,EAAAE,mCAAqC,oEACrC,EAAAI,mCAAqC,oEACrC,EAAAF,qCACT,sEAES,EAAAxa,MAAQ,sC,q7BCXrB,kBACA,cAEA,cACA,cACA,WACA,cACA,WACA,WAEMv4C,EAAK,UAAWC,KAAK,WAMrBkgD,EAAsChgD,EAAMC,MAAK,SAACC,G,MAC5CqD,EAAcrD,EAAK,UAErB+/C,EAA2BjgD,EAAM6yB,WAAW,WAE5C+zD,GAAwB,IAAA1wE,cAAY,IAAA2wE,oCAAmCtjF,IAErExC,GAAM,IAAAC,kBAAgB,EAExBkO,EAAY03E,EAAsB7iF,QAExC,OACI,uBAAKnD,UAAWf,EAAG,YACf,gBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgB8O,QACvBjd,UAAWf,EAAG,UACd8B,QAAqD,QAA5C,EAAAs+C,EAAyBC,2BAAmB,eAAEC,OACvDjxC,UAAWA,EACX3J,WAAY2J,GAEXnO,EAAE,0CAInB,IAEA,UAAei/C,C,yEC1Cf,WACA,WASA,UAPyB,SAACwlE,G,MACtB,OAAO,EAAP,IACK,EAAA5lH,WAAWiuH,4BACRrI,aAAc,EAAdA,EAAgBoI,iCAAkC,EAAA3F,wBAAwBC,K,CAEtF,C,+BCPA,WAAgB,KAAO,kCAAkC,KAAO,kCAAkC,OAAS,oCAAoC,OAAS,oCAAoC,SAAW,sC,+qBCDvM,kBAEA,cAEA,cACA,WACA,WAkDMi9I,EAAgC,CAAE3tO,KAAM,KAAMpP,GAAI,MAElDgqH,EAAc,aAIdgzH,EAAkB,SAACjgQ,GACrB,OAAO,IAAAmkF,YAAW8oD,EAAajtI,EACnC,EAEMkgQ,EAAuB,SAAClgQ,GAC1B,IAAM8hO,GAAY,IAAA39I,YAAW8oD,EAAajtI,aAAK,EAALA,EAAOqyB,MAC3C0vM,GAAU,IAAA59I,YAAW8oD,EAAajtI,aAAK,EAALA,EAAOijB,IAE/C,OAAK6+M,GAAcC,EAIZ,CAACD,GAAa,GAAIA,EAfL,MAemC,GAAIC,GAAW,IAAI13M,KAAK,IAHpE,EAIf,EA8LA,UAnLoD,SAACtvB,GAE7C,IAAA4Y,EAkBA5Y,EAAK,KAjBL0F,EAiBA1F,EAAK,YAhBLuF,EAgBAvF,EAAK,QAfLsF,EAeAtF,EAAK,OAdLu3B,EAcAv3B,EAAK,QAbLm2B,EAaAn2B,EAAK,QAZLi2B,EAYAj2B,EAAK,QAXLqF,EAWArF,EAAK,WAVLw3B,EAUAx3B,EAAK,gBATLoF,EASApF,EAAK,SARLmF,EAQAnF,EAAK,WAPLwF,EAOAxF,EAAK,WANL22B,EAMA32B,EAAK,aALLU,EAKAV,EAAK,UAJL0c,EAIA1c,EAAK,eAHLqH,EAGArH,EAAK,gBAFLyF,EAEAzF,EAAK,gBADLyL,EACAzL,EAAK,cAEH,IAAoC,UAAMqE,UAAS,GAAM,GAAxD+gQ,EAAc,KAAEC,EAAe,KAEhC,IAA8B,UAAMhhQ,UAAS,WAC/C,OAAIrE,EAAMid,QACCkoP,EAAqBnlQ,EAAMiF,OAAS,MAExCigQ,EAAgBllQ,EAAMiF,OAAS,KAC1C,IAAE,GALK8oB,EAAU,KAAEmK,EAAa,KAO1BotO,EAAgB,UAAM9gQ,SAAQ,WAAM,WAAA+gQ,mBAAA,GAAoB,IACxDC,EAAW,UAAMhhQ,SAAQ,WAAM,WAAAihQ,cAAA,GAAe,IAEpD,UAAMv6P,WAAU,WACZ,IAAKk6P,EAAgB,CACjB,IAAMM,EAAiB1lQ,EAAMid,QAAUkoP,EAAqBnlQ,EAAMiF,OAASigQ,EAAgBllQ,EAAMiF,OACjGizB,EAAcwtO,EAClB,CAEJ,GAAG,CAAC1lQ,EAAMiF,QAEV,IA/CgCA,EAuH1Bw/C,EAAUzkD,EAAMid,UAtHdhY,OADwBA,EAuH2BjF,EAAMiF,YAtHpD,EAALA,EAAOqyB,SAASryB,aAAK,EAALA,EAAOijB,IALL,SAACjjB,GAC3B,OAAQA,CACZ,CAyH8E0gQ,CAAsB3lQ,EAAMiF,OAqBtG,OACI,wBAAC,UAAK,CACFvE,UAAWA,EACXkY,KAAMA,GAAQ,aACd3T,MAAO8oB,GAAc,GACrBrR,eACIA,EACM,SAACC,GACG,OAAAD,EAAe,EAAD,KACPC,GAAQ,CACX+a,UAAW/a,EAAS+a,aAAeF,EACnCC,UAAWgtB,IAHf,OAKJn+C,EAEVZ,YAAaA,EACboX,SA7GuB,SAAC7X,GAG5B,GAFAizB,EAAcjzB,GAETA,EAAL,CASA,IAAKjF,EAAMid,QAAS,CAChB,IAAMwhJ,GAAWx5J,EAAMsgB,SAjFf,KAkFFqH,GAAO,aAAO3nB,EAAOitI,IAEvBusB,IACA7xI,EAAK6xI,WACJtoI,IAAUvJ,EAAK8xI,QAAQvoI,IACvBF,IAAUrJ,EAAKg5O,SAAS3vO,IAEzBj2B,EAAM8c,SAAS8P,EAAKpK,SAAU,KAEtC,CAEA,GAAIxiB,EAAMid,QAAS,CACT,QAAmChY,EAAM2tH,MA/FnC,OA+FyD,GAA9DizI,EAAe,KAAEC,EAAa,KAEjCC,EAAoC,KAElCC,GAAoBH,EAAgBtgP,SAlGlC,KAmGFwhN,GAAY,aAAO8+B,EAAiB3zH,GAG1C60F,EAAUntN,IAAI,GAAI,SAElB,IAAMqsP,EAAkB,SAACr5O,GACrB,QAAQuJ,GAAUvJ,EAAK8xI,QAAQvoI,OAAqBF,GAAUrJ,EAAKg5O,SAAS3vO,GAChF,EAEI+vO,GAAoBj/B,EAAUtoE,WAAawnG,EAAgBl/B,KAC3Dg/B,EAAgBh/B,EAAUvkN,UAG9B,IAAI0jP,EAAgC,KAE9BC,GAAkBL,EAAcvgP,SAlH9B,KAmHFyhN,GAAU,aAAO8+B,EAAe5zH,GAGtC80F,EAAQptN,IAAI,GAAI,SAEZusP,GAAkBn/B,EAAQvoE,WAAawnG,EAAgBj/B,KACvDk/B,EAAcl/B,EAAQxkN,UAG1B,IAAI+yD,EAAwB,CACxBj+C,KAAMyuO,EACN79O,GAAIg+O,GAGJH,GAAiBG,GAAeH,EAAcn/M,UAAYs/M,EAAYt/M,YACtE2uB,EAAY,CACRj+C,KAAM4uO,EACNh+O,GAAI69O,IAIZ/lQ,EAAM8c,SAASy4D,EAAW,KAC9B,CA3DA,MANQv1E,EAAMid,QACNjd,EAAM8c,SAASmoP,EAAa,MAE5BjlQ,EAAM8c,SAAS,KAAM,KA+DjC,EAwCQ1X,SAAUA,EACVmyB,QAASA,EACThyB,QA3BY,WAChB8/P,GAAgB,GAEZ9/P,GACAA,GAER,EAsBQD,OAvCW,WACf+/P,GAAgB,GAEhB,IAAMK,EAAiB1lQ,EAAMid,QAAUkoP,EAAqBnlQ,EAAMiF,OAASigQ,EAAgBllQ,EAAMiF,OACjGizB,EAAcwtO,GAEVpgQ,GACAA,GAER,EA+BQH,WAAYA,EACZE,WAAYA,EACZqyB,UAAWF,EACXqB,KAAM74B,EAAMid,QAAUqoP,EAAgBE,EACtChgQ,WAAYA,EACZmxB,aAAcA,EACdtvB,gBACIA,EACM,SAACsV,GACG,OAAAtV,EAAgB,EAAD,KACRsV,GAAQ,CACX+a,UAAW/a,EAAS+a,aAAeF,EACnCC,UAAWgtB,IAHf,OAKJn+C,EAEVmF,cAAeA,EACf26P,OAAK,EACL3gQ,gBAAiBA,GAG7B,C,q2BCvQA,kBACA,WAWMw7M,EAAsCnhN,EAAMC,MAAK,SAACC,GAGpD,OAFA,IAAAqmQ,2BAA0BrmQ,EAAMqpE,oBAEzB,IACX,IAEA,UAAe43I,C,8pCClBf,kBAEA,cAEA,cACA,WACA,WACA,WACA,WACA,WACA,cACA,cACA,aACA,WACA,cAEMthN,EAAK,UAAWC,KAAK,WAMrB0mQ,IAAe,MAChB,EAAAnqB,sBAAsBrmF,iBAAkB,EAAA3hH,cAAc7O,SACvD,EAAC,EAAA62M,sBAAsBtlO,OAAQ,EAAAs9B,cAAcsjJ,eAC7C,EAAC,EAAA0kD,sBAAsBoqB,cAAe,EAAApyN,cAAcolJ,gB,GAOlDitE,IAAU,MACX,EAAArqB,sBAAsBrmF,iBAAkB,gDACzC,EAAC,EAAAqmF,sBAAsBtlO,OAAQ,oCAC/B,EAAC,EAAAslO,sBAAsBoqB,cAAe,4C,GAGpC10H,EAA0B/xI,EAAMC,MAAK,WAC/B,IAAAc,GAAM,IAAAC,kBAAgB,EAGtB2lQ,GADa,IAAA9zO,YAAW,WACW,mBAErC,GAAuB,IAAAqpE,eAArB/3D,EAAQ,WAAEtsB,EAAM,SAElB1R,GAAQ,eAEVopC,EAAS,CAAC,EACV47K,EAAkB,EAClBy7C,EAA8C,GAC5CC,GAAS,IAAA96B,WAAU5nM,EAAU,CAAEO,KAAM,EAAA2P,cAAc7O,WACrDqhO,IACAt3N,EAAS,EAAH,KAAQA,GAAWs3N,EAAOt3N,QAChC47K,EAAkB,EAClBy7C,EAAgBD,EACV,CAAC,EAAAtqB,sBAAsBrmF,gBAAiB,EAAAqmF,sBAAsBoqB,cAC9D,CAAC,EAAApqB,sBAAsBrmF,gBAAiB,EAAAqmF,sBAAsBtlO,MAAO,EAAAslO,sBAAsBoqB,eAGrG,IAAMK,GAAS,IAAA/6B,WAAU5nM,EAAU,CAAEO,KAAM,EAAA2P,cAAcsjJ,iBACrDmvE,IACAv3N,EAAS,EAAH,KAAQA,GAAWu3N,EAAOv3N,QAChC47K,EAAkB,EAClBy7C,EAAgB,CACZ,EAAAvqB,sBAAsBrmF,gBACtB,EAAAqmF,sBAAsBtlO,MACtB,EAAAslO,sBAAsBoqB,eAI9B,IAAMM,GAAS,IAAAh7B,WAAU5nM,EAAU,CAAEO,KAAM,EAAA2P,cAAcolJ,kBACrDstE,IACAx3N,EAAS,EAAH,KAAQA,GAAWw3N,EAAOx3N,QAChC47K,EAAkB,EAClBy7C,EAAgB,CACZ,EAAAvqB,sBAAsBrmF,gBACtB,EAAAqmF,sBAAsBtlO,MACtB,EAAAslO,sBAAsBoqB,eAI9B,IAAMO,GAAa,IAAAj7B,WAAU5nM,EAAU,CAAEO,KAAM,EAAA2P,cAAcgrJ,0BACzD2nE,IACAz3N,EAAS,EAAH,KAAQA,GAAWy3N,EAAWz3N,QACpC47K,EAAkB,EAClBy7C,EAAgB,CAAC,EAAAvqB,sBAAsBrmF,gBAAiB,EAAAqmF,sBAAsBoqB,eAGlF,IAAMQ,EAAQL,EAAcrvP,KAAI,SAACy7E,GAAS,OACtC/rF,MAAOlG,EAAE2lQ,EAAW1zK,IACpBA,KAAI,EACJk0K,iBAAkBV,EAAgBxzK,GAHI,IAgBpCm0K,IAAehhQ,EAAM,EAAA4R,cAAcgoL,uBAEzC,OACI,gBAAC,UAAO,CACJn/L,UAAWf,EAAG,SACdsrN,gBAAiBA,EACjBi8C,KAhBK,SAACC,GACF,IAAAH,EAAqBD,EAAMI,GAAU,iBACvCljO,GAAW,IAAAwxJ,cAAauxE,EAAkB33N,GAEhD,UAAQ33B,KAAK,CACTusB,SAAQ,EACRtsB,OAAM,GAEd,EASQovP,MAAOA,EACPpmQ,aAAa,YACbymQ,eAAgBH,EAChBI,kBAAmBJ,EAAa,EAAI,GAGhD,IAEA,UAAep1H,C,w9BCxHf,kBACA,WACA,cACA,cACA,cAEA,WACA,cACA,cACA,cAEMy1H,EAAsB,SAACC,EAAuCC,GAChE,KAAK,aAASD,GACV,MAAO,GAGX,KAAK,aAASC,GACV,OAAOD,EAGX,IAAMt1O,EAAOs1O,EAAaC,EAC1B,MAAO,UAAGA,EAAW,aAAKv1O,EAAO,EAAI,IAAM,IAAG,YAAI9S,KAAK81D,IAAIhjD,GAAK,IACpE,EAEMw1O,EAA2B,SAAC9xO,GAC9B,OAAI,aAASA,IAAYA,EAAU,GACxB,EAAA/zB,qBAAqB6U,WAG5B,aAASkf,IAAYA,EAAU,GACxB,EAAA/zB,qBAAqB0Q,OAGzB,EAAA1Q,qBAAqBkS,SAChC,EAEM4zP,EAA2B,SAAC/xO,GAC9B,OAAI,aAASA,IAAYA,EAAU,GACxB,EAAA/zB,qBAAqB6U,WAG5B,aAASkf,IAAYA,EAAU,GACxB,EAAA/zB,qBAAqB0Q,OAGzB,EAAA1Q,qBAAqBkS,SAChC,EAEa,EAAA2R,0BAA4B,WAC7B,IAAA5kB,GAAM,IAAAC,kBAAgB,EAE9B,OAAOhB,EAAM0E,SAAQ,WACjB,MAAO,CACHgiB,aAAc,SAAC,G,IACXC,EAAkB,qBAClBE,EAAW,cACXG,EAAiB,oBACjBF,EAAgB,mBAMd,OACFza,KAAM,gBAAC,UAAQ,CAACglB,YAAa1K,IAC7B7N,KAAM/X,EAAE,+CAAgD,CACpD0rF,YAAa5lE,IAEjBpmB,WAAW,aAASumB,GAChB,gBAAC,UAAkB,CACf6gP,2BAAyB,EACzB5gQ,MAAOlG,EAAE,mDAAoD,CACzD8hP,YAAa2kB,EAAoB1gP,EAAkBE,KAEvDwyE,MAAOouK,EAAyB5gP,KAEpC,KACJ9N,aAAa,EAdX,EAgBNsN,aAAc,SAAC,G,IACXG,EAAkB,qBAClBE,EAAW,cACXG,EAAiB,oBACjBF,EAAgB,mBAMd,OACFza,KAAM,gBAAC,UAAQ,CAACglB,YAAa1K,IAC7B7N,KAAM/X,EAAE,+CAAgD,CACpD0rF,YAAa5lE,IAEjBpmB,WAAW,aAASumB,GAChB,gBAAC,UAAkB,CACf6gP,2BAAyB,EACzB5gQ,MAAOlG,EAAE,mDAAoD,CACzD8hP,YAAa2kB,EAAoB1gP,EAAkBE,KAEvDwyE,MAAOouK,EAAyB5gP,KAEpC,KACJ9N,aAAa,EAdX,EAgBNuN,eAAgB,SAAC,G,IACbE,EAAkB,qBAClBE,EAAW,cACXG,EAAiB,oBACjBF,EAAgB,mBAMd,OACFza,KAAM,gBAAC,UAAQ,CAACglB,YAAa1K,IAC7B7N,KAAM/X,EAAE,iDAAkD,CACtD0rF,YAAa5lE,IAEjBpmB,WAAW,aAASumB,GAChB,gBAAC,UAAkB,CACf6gP,2BAAyB,EACzB5gQ,MAAOlG,EAAE,mDAAoD,CACzD8hP,YAAa2kB,EAAoB1gP,EAAkBE,KAEvDwyE,MAAOouK,EAAyB5gP,KAEpC,KACJ9N,aAAa,EAdX,EAgBN+K,MAAO,SAAC,G,IACJoD,EAAK,QACLC,EAAW,cACXN,EAAiB,oBACjBF,EAAgB,mBAMd,OACFza,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,UAClCjF,YAAa,GACb7P,UAAW,EAAAC,qBAAqBsS,cAGxC0E,KAAM,gBAAC,UAAmB,CAACuO,MAAOA,EAAOC,YAAaA,IACtD7mB,WAAW,aAASumB,GAChB,gBAAC,UAAkB,CACf6gP,2BAAyB,EACzB5gQ,MAAOlG,EAAE,mDAAoD,CACzD8hP,YAAa2kB,EAAoB1gP,EAAkBE,KAEvDwyE,MAAOmuK,EAAyB3gP,KAEpC,KACJ9N,aAAa,EAnBX,EAqBNgL,QAAS,SAAC,G,IACNmD,EAAK,QACLC,EAAW,cACXN,EAAiB,oBACjBF,EAAgB,mBAMd,OACFza,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,UAClCjF,YAAa,GACb7P,UAAW,EAAAC,qBAAqBsS,cAGxC0E,KAAM,gBAAC,UAAmB,CAACuO,MAAOA,EAAOC,YAAaA,IACtD7mB,WAAW,aAASumB,GAChB,gBAAC,UAAkB,CACf6gP,2BAAyB,EACzB5gQ,MAAOlG,EAAE,mDAAoD,CACzD8hP,YAAa2kB,EAAoB1gP,EAAkBE,KAEvDwyE,MAAOmuK,EAAyB3gP,KAEpC,KACJ9N,aAAa,EAnBX,EAsBd,GAAG,CAACnY,GACR,C,sBCnMA,IAAYyjB,EAKAT,E,+FALZ,SAAYS,GACR,sBACA,qBACH,CAHD,CAAYA,IAAgB,mBAAhBA,EAAgB,KAK5B,SAAYT,GACR,gBACA,gBACA,mBACH,CAJD,CAAYA,IAAiB,oBAAjBA,EAAiB,I,+KCH7B,cAEa,EAAA+jP,wBAA0B,SAAClkQ,G,MACpC,OAA4B,QAArB,EAAAA,aAAK,EAALA,EAAOmkQ,sBAAc,eAAE5hQ,QAAS,EAAAqoD,2BAA2BroD,KACtE,EACa,EAAAwzH,0BAA4B,SAAC/1H,G,MACtC,OAA4B,QAArB,EAAAA,aAAK,EAALA,EAAOmkQ,sBAAc,eAAErkQ,gBAAiB,EAAA8qD,2BAA2B9qD,aAC9E,EAEa,EAAA+1H,kBAAoB,SAAC71H,G,MAC9B,OAA4B,QAArB,EAAAA,aAAK,EAALA,EAAOmkQ,sBAAc,eAAE57M,MAAO,EAAAqC,2BAA2BrC,GACpE,EAEa,EAAAutE,mBAAqB,SAAC91H,G,MAC/B,OAA4B,QAArB,EAAAA,aAAK,EAALA,EAAOmkQ,sBAAc,eAAEx5P,OAAQ,EAAAigD,2BAA2BjgD,IACrE,C,+BChBA,WAAgB,MAAQ,qCAAqC,QAAU,uCAAuC,cAAc,2CAA2C,oBAAoB,iDAAiD,OAAS,sCAAsC,iBAAiB,8CAA8C,cAAc,2CAA2C,OAAS,sCAAsC,SAAW,wC,2qCCD7c,kBAea,EAAAjK,gBAAkB,WACrB,QAA8C,UAAMC,SAAmD,MAAK,GAA3Gk8E,EAAkB,KAAEY,EAAqB,KAC1C,IAA0D,UAAM98E,UAAkB,GAAM,GAAvFggP,EAAwB,KAAEke,EAA2B,KACtD,IAAsD,UAAMl+P,UAAkB,GAAM,GAAnFigP,EAAsB,KAAEke,EAAyB,KAExD,OAAO,IAAAh+P,UAAQ,WACX,MAAO,CACH+7E,mBAAkB,EAClBY,sBAAqB,EACrBkjK,yBAAwB,EACxBke,4BAA2B,EAC3Bje,uBAAsB,EACtBke,0BAAyB,EAEjC,GAAG,CAACjiL,EAAoB8jK,EAA0BC,GACtD,C,+BC7BA,WAAgB,KAAO,iCAAiC,OAAS,mCAAmC,SAAW,qC,q7BCD/G,kBAEA,cAEA,cAQM3kP,EAAK,UAAWC,KAAK,WAErBkoQ,EAAmChoQ,EAAMC,MAAK,SAACC,GACzC,IAAAmM,EAA6BnM,EAAK,KAA5BC,EAAuBD,EAAK,MAArBovB,EAAgBpvB,EAAK,YAE1C,OACI,uBAAKU,UAAWf,EAAG,UACf,uBAAKe,UAAWf,EAAG,SAAUwM,GAC7B,uBAAKzL,UAAWf,EAAG,UAAWM,GAC9B,uBAAKS,UAAWf,EAAG,gBAAiByvB,GAGhD,IAEA,UAAe04O,C,kYCzBf,eACA,WAGM/kP,GAAkB,EAFxB,YAEwB,SAAmB,EAAArjB,YAU3C,UARiB,SAACmB,EAAcia,GAK5B,OAJY,MACL,IAAA2I,eAAc5iB,EAAGkiB,EAAiBjI,GAI7C,C,0pCCbA,kBAEA,aACA,cACA,cACA,WACA,cACA,aACA,cACA,cACA,cACA,cAEMnb,EAAK,UAAWC,KAAK,WAErBq6G,EAAuB,SAAC/4G,GAC1B,OAAIA,IAAU,EAAAqf,gBAAgB1e,UAQ1BX,IAAU,EAAAqf,gBAAgB29B,aAC1Bh9C,IAAU,EAAAqf,gBAAgBzM,WAC1B5S,IAAU,EAAAqf,gBAAgB9J,UATnB,CACH9U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,OAenC,CACHjG,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB6U,UAE1C,EAiCMsxP,EAA2CjoQ,EAAMC,MAAK,SAACC,GACjD,IAIJ26C,EAJIj6C,EAA2CV,EAAK,UAArC+f,EAAgC/f,EAAK,IAAhCggB,EAA2BhgB,EAAK,IAA3BiyD,EAAsBjyD,EAAK,UAAhB2N,EAAW3N,EAAK,OAElDkB,EAAQlB,EAAMkB,OAAS,EAAAqf,gBAAgB1e,SAgB7C,GAZK84C,GAAasX,IACdtX,EAAW,gBAAC,UAAc,KAvCD,SAACz5C,GAC9B,OAAIA,IAAU,EAAAqf,gBAAgB1e,SACnB,CACH6U,YAAa,EAAA9U,qBAAqBI,OAKtCd,IAAU,EAAAqf,gBAAgB29B,aAC1Bh9C,IAAU,EAAAqf,gBAAgBzM,WAC1B5S,IAAU,EAAAqf,gBAAgB9J,UAEnB,CACHC,YAAa,EAAA9U,qBAAqBgG,OAInC,CACH8O,YAAa,EAAA9U,qBAAqB6U,UAE1C,CAmBuC0jG,CAAyBj5G,MAGvDy5C,GAAYsX,IAAc,EAAA3I,cAActlC,UACzC22B,EAAW,gBAAC,UAAiB,KAAKs/D,EAAqB/4G,GAAM,CAAEkV,KAAM,EAAAC,sBAGpEskC,GAAYsX,IAAc,EAAA3I,cAAcvlC,QACzC42B,EAAW,gBAAC,UAAe,KAAKs/D,EAAqB/4G,GAAM,CAAEkV,KAAM,EAAAC,uBAGlEskC,EACD,OAAO,KAGX,IAAMy/D,GAAuB,aAASzsG,GAEtC,OACI,gBAAC,UAAM,CACH+P,aAAc08F,EACd15G,WAAW,aAAGf,EAAG,iBAAkBe,GACnCqf,IAAKA,EACLC,IAAKA,EACL9e,MAAOA,GAENk5G,EAAuB,gBAAC,UAAc,CAACzsG,OAAQA,GAASgtC,GAA6BA,EAGlG,IAEA,UAAeotN,C,8lCC7Gf,kBAIMC,EAA+B,SAAChoQ,GAClC,OACI,yBAAKwB,MAAO,GAAIsK,OAAQ,GAAIuF,QAAQ,aAAgBrR,GAChD,qBAAGwM,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAK,UAAU+E,EAAE,8EAIvC,EAEAy2P,EAAWl2P,YAAc,aAIhB,EAAAC,WAFkB,CAAC,EAG5B,UAAei2P,C,q7BCpBf,kBACA,cAEA,aACA,WACA,cAEMroQ,EAAK,UAAWC,KAAK,WAMrBqoQ,EAA0DnoQ,EAAMC,MAAK,SAACC,GAChE,IAAAkM,EAAOlM,EAAK,GAEpB,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,sDACRE,WAAY,CACRrE,GAAI,gBAAC,UAAqB,CAACA,GAAIA,OAKnD,IAEA,UAAe+7P,C,+BC3Bf,WAAgB,KAAO,uCAAuC,YAAY,4CAA4C,IAAM,sCAAsC,OAAS,yCAAyC,SAAW,2C,q7BCD/N,kBACA,cAEA,cACA,WACA,cAEA,cACA,YAEMtoQ,EAAK,UAAWC,KAAK,WASrBsoQ,EAA6EpoQ,EAAMC,MAAK,SAACC,GACnF,IAAAs4E,EAA4Dt4E,EAAK,YAApDw4E,EAA+Cx4E,EAAK,cAArCu+D,EAAgCv+D,EAAK,WAAzBw+D,EAAoBx+D,EAAK,gBAEzE,OACI,uBAAKU,UAAWf,EAAG,SACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,qEACRE,WAAY,CACR+nE,YAAa,gBAAC,UAAuB,CAACG,eAAa,EAACH,YAAaA,IACjEI,YAAa,gBAAC,UAAW,CAAC/qE,OAAQ6qE,IAClCrkB,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,OAKhD,IAEA,UAAe0pM,C,+BCpCf,WAAgB,OAAS,sCAAsC,SAAW,wC,+BCA1E,WAAgB,OAAS,uCAAuC,MAAQ,sCAAsC,OAAS,uCAAuC,mBAAmB,iDAAiD,aAAa,2CAA2C,6BAA6B,2DAA2D,uBAAuB,qDAAqD,sBAAsB,oDAAoD,SAAW,yCAAyC,OAAS,uCAAuC,SAAW,yC,+BCAvnB,WAAgB,mBAAmB,uCAAuC,cAAc,kCAAkC,OAAS,6BAA6B,SAAW,+B,+BCA3K,WAAgB,OAAS,2DAA2D,QAAU,4DAA4D,OAAS,2DAA2D,SAAW,6D,2rFCDzO,kBACA,WAEA,cACA,cACA,cACA,WAEA,cACA,WACA,cACA,cACA,WACA,WACA,WACA,cACA,cACA,WAEMvoQ,EAAK,UAAWC,KAAK,WASrB09O,EACoB,yBAGpBhvD,EAAiB,SACnBtmF,EACA10D,GAAgB,uBACjByR,SAAO,W,gEAEgB,SADF,IAAI,EAAAwpI,sBAAkD,QAA5B,EAAAvmF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MACpC4kF,QAAQl7I,I,OAChD,OAAKm7I,OADCA,EAAgB,eACJ,EAAbA,EAAeC,UAKL,GADG,IAAI,EAAAC,oBAAgD,QAA5B,EAAA3mF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEv+B,IAAiC,QAA5B,EAAA2wF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MAC5EglF,gBAAgBH,aAAa,EAAbA,EAAeC,WAJnD,CAAP,EAAO,M,OAKX,OADMvhL,EAAS,UAMR,CAAP,GADiB,IAAA0hL,sBAAqB1hL,IACnB,MAJR,CAAP,EAAO,M,QAOTg7P,EAAoCroQ,EAAMC,MAAK,SAACC,GAC1C,IAAAiD,EAA2DjD,EAAK,KAA1DgP,EAAqDhP,EAAK,UAA/CywD,EAA0CzwD,EAAK,gBAA9BwxD,EAAyBxxD,EAAK,qBAEhEsE,GAA2B,IAAAquB,YAAW,EAAAg+B,uCAAsC,uBAE9E,GAAkE,IAAAh+B,YAAW,WAAjEy1O,EAAgB,WAAeC,EAAkB,cAE7DrgK,EAAmBloG,EAAM6yB,WAAW,WASpC,KAAkC,IAAAtuB,UAG9B,MAAK,GAHRo/O,EAAY,KAAEC,EAAe,KAK9Bl0D,EAAiB,SAACC,EAAkBC,EAAiBC,GACnDF,IAAa6tD,GAIjBoG,EAAgB,CACZj0D,SAAQ,EACRn8I,MAAO,CACHvzB,IAAK4vK,EAAM5vK,IACXC,IAAK2vK,EAAM3vK,MAGvB,EAeMsoP,GACF7kB,aAAY,EAAZA,EAAch0D,YAAa6tD,EAAmCmG,aAAY,EAAZA,EAAcnwM,MAAQ80N,aAAgB,EAAhBA,EAAkB90N,MAE1G,OACI,gCACKtkC,GAAa,gBAAC,UAAS,MACxB,gBAAC,UAAc,CACXsgL,WAAYm0D,EACZn5I,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBxoG,QAAS,EAAAyoG,YACTC,kBAnDQ,SAAC5C,G,MACT5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAGE,QAA3B,EAAAD,EAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,EA+CYy4K,iBAAkBN,EAClBO,eA3BU,SAAON,EAAkBC,EAAiBC,GAAgB,0C,wDACxD,SAAMrB,EAAetmF,EAAkB2nF,I,OAC3D,OADMw0D,EAAc,WAKhB10D,IAAa6tD,GACb+qB,EAAmBlkB,GAGvBT,EAAgB,M,KAPZ,I,QAyBI1zD,iBAAkBR,GAElB,gBAAC,UAAsB,CACnB78K,IAAI,qBACJ45B,SAAUtpC,EACV8c,IAAK0wC,aAAe,EAAfA,EAAiB1wC,IACtBC,IAAKywC,aAAe,EAAfA,EAAiBzwC,IACtBwpC,WAAW,IAAAk4E,iBAAgBlwE,KAE9B82M,GACG,gBAAC,UAAc,CACX31P,IAAK2qO,EACL58O,UAAWf,EAAG,YACdogB,IAAKuoP,aAAwB,EAAxBA,EAA0BvoP,IAC/BC,IAAKsoP,aAAwB,EAAxBA,EAA0BtoP,IAC/BiwK,QAAS3rL,KAMjC,IAEA,UAAe6jQ,C,q7BC1If,kBACA,WACA,WACA,WACA,WACA,cACA,WASMI,GAA+C,IAAAxoQ,OAAK,SAACC,GAC/C,IAAAU,EAAyCV,EAAK,UAAnC4xB,EAA8B5xB,EAAK,aAArBsD,EAAgBtD,EAAK,YAChDu0B,GAAW,IAAAC,eAEXg0O,GAAuB,IAAAxyP,cAAY,IAAAua,4BAA2BjtB,IAC9DmlQ,GAAsB,IAAAzyP,cAAY,IAAA8gI,2BAA0BxzI,KAElE,IAAA4H,YAAU,WACNqpB,GAAS,IAAA9D,oBAAmBntB,GAChC,GAAG,CAACixB,EAAUjxB,IAEd,IAAMy5H,EAAe0rI,EAAoB72O,IAAqC,KAE9E,OAAI42O,EAAqB3kQ,QACd,gBAAC,UAAiB,CAAClC,UAAW,EAAAC,qBAAqB+W,KAAMvC,KAAM,EAAAC,oBAGnE,wBAAM3V,UAAWA,IAAYq8H,aAAY,EAAZA,EAAcnkH,OAAQgZ,EAC9D,IAEA,UAAe22O,C,+BClCf,WAAgB,KAAO,2BAA2B,cAAc,kCAAkC,gBAAgB,oCAAoC,gBAAgB,oCAAoC,OAAS,6BAA6B,SAAW,+B,uQCD3P,kBACA,cAEMG,EAAqB,SAACv3O,GAAwC,OAACA,EAAcA,EAAYyqM,cAAgB,EAA3C,EAEvD,EAAAn9D,QAAU,SAACttI,EAA4ByhL,GAChD,QAAKzhL,GAMoB,iBAFV,UAAcyyB,SAASzyB,EAAayhL,EAGvD,EAEa,EAAA+7B,qBAAuB,SAACx9M,GACjC,IAAMw3O,EAAsBD,EAAmBv3O,GAE/C,SAAS,aAAQ,UAAGw3O,EAAmB,SAC3C,EAEa,EAAAC,oBAAsB,GAEtB,EAAA3uF,sBAAwB,SAAC9oJ,G,QAClC,IAAKA,EACD,MAAO,GAGX,IAAMw3O,EAAsBD,EAAmBv3O,GAEzC03O,GAAe,aAAQ,UAAGF,EAAmB,UAG7CG,IADcD,aAAY,EAAZA,EAAcE,cACa,IAAIn2I,MAAM,KAAK,GAC9D,OAAIk2I,EACOA,EAAuBn6O,QAGqB,QAA7B,EAAsB,QAAtB,EAAAk6O,aAAY,EAAZA,EAAcG,gBAAQ,eAAEC,aAAK,eAAG,KAKnD,EAAAL,mBACX,EAEa,EAAA/5B,kBAAoB,SAAC19M,G,QACxBw3O,EAAsBD,EAAmBv3O,GAEzC03O,GAAe,aAAQ,UAAGF,EAAmB,UAGnD,OADuD,QAA7B,EAAsB,QAAtB,EAAAE,aAAY,EAAZA,EAAcG,gBAAQ,eAAEC,aAAK,eAAG,KAKnD,EAAAL,mBACX,C,+BCxDA,WAAgB,QAAU,8CAA8C,iBAAmB,uDAAuD,QAAU,8CAA8C,uBAAuB,2DAA2D,sBAAsB,0DAA0D,MAAQ,4CAA4C,OAAS,6CAA6C,qBAAqB,yDAAyD,cAAc,kDAAkD,0BAA0B,8DAA8D,OAAS,6CAA6C,SAAW,+C,q7BCD7vB,kBAEA,cACA,cAEA,cACA,cACA,aACA,WAWMM,GARK,UAAWtpQ,KAAK,WAQ0BE,EAAMC,MAAK,SAACC,GACrD,IAAAqD,EAAuCrD,EAAK,UAAjCsD,EAA4BtD,EAAK,YAApBklC,EAAellC,EAAK,WAuBpD,OACI,gBAAC,UAAc,KACX,gBAAC,UAA8B,CAC3BqD,UAAWA,EACX6hC,WAAYA,EACZi/B,4BA1Ba,WACrB,UAAQzsD,KACJ,EAAAyQ,WAAWyvO,8BAA8B,CACrCt0P,YAAW,EACXD,UAAS,EACT6hC,WAAU,IAGtB,EAmBYg/B,iCAjBY,SAACt8B,GACrB,UAAQlwB,KACJ,EAAAyQ,WAAW27I,2BAA2B,CAClCxgK,YAAW,EACXD,UAAS,EACT6hC,WAAU,EACV0C,OAAM,IAGlB,IAYJ,KAEA,UAAeshO,C,+BCtDf,WAAgB,aAAa,gCAAgC,OAAS,4BAA4B,SAAW,8B,q7BCD7G,kBACA,cACA,cACA,WACA,cAEA,WAqEA,UAAe,UAAMnpQ,MAzDY,SAAKC,GAC1B,IAAA2zB,EAA4E3zB,EAAK,OAAzEyO,EAAoEzO,EAAK,SAA/DQ,EAA0DR,EAAK,QAAtDstB,EAAiDttB,EAAK,UAA3CyM,EAAsCzM,EAAK,KAArC6wJ,EAAgC7wJ,EAAK,4BAEjFa,GAAM,IAAAC,kBAAgB,EAExBqoQ,EAAoB,UAAM3kQ,SAAQ,WACpC,OAAKiI,EAGEokJ,EAA4BhwJ,EAAG4L,GAF3B,IAGf,GAAG,CAAC5L,EAAG4L,EAAMokJ,IAEb,IAAKs4G,EACD,OAAO,KAGX,IAAM76P,EAAgB,6BAEdm5D,EAAsD0hM,EAAiB,cAAxD3hM,EAAuC2hM,EAAiB,aAA1Ch9P,EAAyBg9P,EAAiB,KAApClpQ,EAAmBkpQ,EAAiB,MAA7B5wP,EAAY4wP,EAAiB,QAE/E,OAAKx1O,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACnzB,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdnC,KAAMA,EACNlM,MAAOA,EACPsY,QAASA,EACT5J,QAAS,CACL,CACIC,SAAU44D,EACVtmE,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU64D,EACVvmE,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9B7M,QAAS,WACL6rB,GACJ,QA3Bb,IAkCf,G,+BCxEA,WAAgB,KAAO,2BAA2B,OAAS,6BAA6B,SAAW,+B,sBCEnG,IAAY5tB,E,qEAAZ,SAAYA,GACR,gBACA,gBACA,mBACH,CAJD,CAAYA,IAAU,aAAVA,EAAU,I,24BCHtB,kBAEA,WAgCA,cACA,cACA,WAEA,cACA,UACA,WACA,WAOM6D,EAAoC,CACtC+jC,QAAS,KACT0vE,eAAgB,UAAcvzG,QAC9BgtM,aAAc,KAEdzV,eAAgB,KAChB6V,sBAAuB,UAAcptM,QACrCitM,oBAAqB,KAErBE,kBAAkB,EAElBR,iBAAkB,UAAc3sM,QAChC6sM,gCAAiC,UAAc7sM,QAC/CilD,UAAW,KACX/X,YAAa,KACbxnB,IAAK,KAELi2K,eAAgB,KAEhB3G,mBAAoB,UAAch1L,QAClC80L,YAAa,EAAF,GAzBY,CACvB31L,MAAO,EACPuL,MAAO,QAwCX,mBAAgBzK,EAAsBC,G,cAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAA0oP,2CACD,OAAO,EAAP,KACOjoP,GAAK,CACR4sM,gCAAiC,UAAczsM,UAIvD,KAAK,EAAA+nP,6CACD,OAAO,EAAP,KACOloP,GAAK,CACRylB,IAAKxlB,EAAOwlB,IACZi2K,eAAgBz7L,EAAOy7L,eACvBkR,gCAAiC,UAAcpsM,KAIvD,KAAK,EAAA28L,2CACO,IAAA98L,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR4sM,gCAAiC,UAActsM,SAASD,KAIhE,KAAK,EAAA8nP,yBACD,OAAO,EAAP,KACOnoP,GAAK,CACR0sM,iBAAkB,UAAcvsM,UAIxC,KAAK,EAAAioP,2BACO,IAAA3iO,EAAQxlB,EAAM,IAEtB,OAAO,EAAP,KACOD,GAAK,CACRylB,IAAG,EACHinL,iBAAkB,UAAclsM,KAIxC,KAAK,EAAA08L,yBAGD,OAFQ78L,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACR0sM,iBAAkB,UAAcpsM,SAASD,KAIjD,KAAK,EAAAgoP,oBACO,IAAArjM,EAAc/kD,EAAM,UAE5B,OAAO,EAAP,KACOD,GAAK,CACRglD,UAAS,IAIjB,KAAK,EAAA4jM,0BACO,IAAAv2D,EAAwBpyL,EAAM,oBAEtC,OAAO,EAAP,KACOD,GAAK,CACR60L,YAAa,EAAF,KACJ70L,EAAM60L,aAAW,CACpBpqL,MAAO4nL,MAKnB,KAAK,EAAAw2D,aACO,IAAA57M,EAAgBhtC,EAAM,YAExB+7L,IAAuC,QAAjB,EAAAh8L,EAAMitC,mBAAW,eAAE8Z,OAAQ,IAClDpzC,KAAI,SAACnL,G,MACF,OAAwB,QAAjB,EAAAxI,EAAMitC,mBAAW,eAAEtiC,KAAKnC,EACnC,IACC8iB,OAAO,EAAA4/B,UACNw6M,GAAsB,aAAM,SAAK1pE,IAAkB,KAAK/uJ,IAAW,IAAG,SAACp6B,GACzE,OAAOA,EAAMrK,EACjB,KAhGgB,SAACykC,GACzB,GAAKA,EAAL,CAIA,IAAM04N,EAAY14N,EAAYU,KAAK,EAAA2/J,YAAY,GAC/CrgK,EAAYv0B,SAAQ,SAAC3E,GAEjBA,EAAWs5L,aAAcs4D,aAAS,EAATA,EAAWxyP,UAAUY,aAAU,EAAVA,EAAYZ,MAC9D,GANA,CAOJ,CAwFYyyP,CAAoBF,GAEpB,IAAMG,GAAyB,aAAuBH,GAEhDI,EAAqBJ,EAAoBnnQ,SAAiC,QAAvB,EAAiB,QAAjB,EAAAyB,EAAMitC,mBAAW,eAAE8Z,YAAI,eAAExoD,SAAU,GAE5F,OAAO,EAAP,KACOyB,GAAK,CACRitC,YAAa,CACTqoG,OAAQ,EAAF,MACmB,QAAjB,EAAAt1I,EAAMitC,mBAAW,eAAEqoG,SAAU,CAAC,GAC/BuwH,GAEPl7P,KAAM,EAAF,MACqB,QAAjB,EAAA3K,EAAMitC,mBAAW,eAAEtiC,OAAQ,CAAC,IAC7B,aAAM+6P,EAAqB,OAElC3+M,KAAM2+M,EAAoB/xP,KAAI,SAACd,GAAU,OAAAA,EAAMrK,EAAN,KAE7CqsL,YAAa,EAAF,KACJ70L,EAAM60L,aAAW,CACpB31L,MAAOc,EAAM60L,YAAY31L,MAAQ4mQ,MAK7C,KAAK,EAAAhd,oBACO,IAAAvgM,EAAQtoD,EAAM,IAEtB,IAAKD,EAAMitC,YACP,OAAOjtC,EAGX,IAAM+lQ,EAAcx9M,EAAIlK,QAAO,SAACC,EAAK91C,G,MAC3BuL,EAA8B,QAAjB,EAAA/T,EAAMitC,mBAAW,eAAEtiC,KAAKnC,GAS3C,OAPIuL,IACAuqC,EAAI91C,GAAM,EAAH,KACAuL,GAAU,CACbD,WAAW,KAIZwqC,CACX,GAAG,CAAC,GAEJ,OAAO,EAAP,KACOt+C,GAAK,CACRitC,YAAa,EAAF,KACJjtC,EAAMitC,aAAW,CACpBtiC,KAAM,EAAF,KACG3K,EAAMitC,YAAYtiC,MAClBo7P,OAMnB,KAAK,EAAAvd,2BACD,OAAO,EAAP,KACOxoP,GAAK,CACR+0L,mBAAoB,UAAc50L,UAI1C,KAAK,EAAAsoP,6BACD,OAAO,EAAP,KACOzoP,GAAK,CACR+0L,mBAAoB,UAAcv0L,KAI1C,KAAK,EAAAkoP,2BAGD,OAFQroP,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACR+0L,mBAAoB,UAAcz0L,SAASD,KAInD,KAAK,EAAA8oP,mBACD,OAAO,EAAP,KACOnpP,GAAK,CACRitC,YAAaptC,EAAaotC,YAC1B4nJ,YAAa,EAAF,GACJh1L,EAAag1L,eAK5B,KAAK,EAAAu0D,yBACO,IAAA7mP,EAAUtC,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR+sM,aAAcxqM,EACd+wG,eAAgB,UAAcvzG,UAItC,KAAK,EAAAspP,qBAGD,OAFQ9mP,EAAUtC,EAAM,OAEnB,IAAA2a,kBAAiBrY,EAAOvC,EAAM+sM,cAI5B,EAAP,KACO/sM,GAAK,CACRszG,eAAgB,UAAcnzG,UALvBH,EASf,KAAK,EAAAspP,uBACO,IAAA1lN,EAAmB3jC,EAAM,QAEjC,OAFiBsC,EAAUtC,EAAM,OAE5B,IAAA2a,kBAAiBrY,EAAOvC,EAAM+sM,cAI5B,EAAP,KACO/sM,GAAK,CACR4jC,QAAO,EACP0vE,eAAgB,UAAc9yG,KANvBR,EAUf,KAAK,EAAAupP,qBAGD,OAFQlpP,EAAiBJ,EAAM,MAAhBsC,EAAUtC,EAAM,OAE1B,IAAA2a,kBAAiBrY,EAAOvC,EAAM+sM,cAI5B,EAAP,KACO/sM,GAAK,CACR4jC,QAAS,KACT0vE,eAAgB,UAAchzG,SAASD,KANhCL,EAUf,KAAK,EAAAwpP,gCAGD,OAFQjnP,EAAUtC,EAAM,OAEnB,IAAA2a,kBAAiBrY,EAAOvC,EAAM+sM,cAI5B,EAAP,KACO/sM,GAAK,CACR4jC,QAAS,KACT0vE,eAAgB,UAAcvzG,UANvBC,EAUf,KAAK,EAAA+nP,qBACO,IAAA76C,EAAqBjtM,EAAM,iBAEnC,OAAO,EAAP,KACOD,GAAK,CACRktM,iBAAgB,IAIxB,KAAK,EAAAw8C,0BAGD,OAFQnnP,EAAUtC,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRgtM,oBAAqBzqM,EACrB4qM,sBAAuB,UAAcptM,UAI7C,KAAK,EAAA4pP,8BAGD,OAFQpnP,EAAUtC,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRgtM,oBAAqBzqM,IAI7B,KAAK,EAAAqnP,sBAGD,OAFQrnP,EAAUtC,EAAM,MAEjB,EAAP,KACOD,GAAK,CACR+sM,aAAcxqM,IAItB,KAAK,EAAAknP,sBAGD,OAFQlnP,EAAUtC,EAAM,OAEnB,IAAA2a,kBAAiBrY,EAAOvC,EAAMgtM,qBAI5B,EAAP,KACOhtM,GAAK,CACRmtM,sBAAuB,UAAchtM,UAL9BH,EASf,KAAK,EAAA6pP,wBACO,IAAA3rM,EAAmBj+C,EAAM,QAEjC,OAFiBsC,EAAUtC,EAAM,OAE5B,IAAA2a,kBAAiBrY,EAAOvC,EAAMgtM,qBAI5B,EAAP,KACOhtM,GAAK,CACRs3L,eAAgBp5I,EAChBivJ,sBAAuB,UAAc3sM,KAN9BR,EAUf,KAAK,EAAAg9L,sBAGD,OAFQ38L,EAAiBJ,EAAM,MAAhBsC,EAAUtC,EAAM,OAE1B,IAAA2a,kBAAiBrY,EAAOvC,EAAMgtM,qBAI5B,EAAP,KACOhtM,GAAK,CACRs3L,eAAgB,KAChB6V,sBAAuB,UAAc7sM,SAASD,KANvCL,EAUf,KAAK,EAAA+pP,kCACD,OAAO,EAAP,KACO/pP,GAAK,CACR4jC,QAAS,KACT0vE,eAAgB,UAAcvzG,QAC9Bu3L,eAAgB,KAChB6V,sBAAuB,UAAcptM,UAI7C,KAAK,EAAAy0C,MACD,OAAO,EAAP,KACOx0C,GACAH,GAIX,KAAK,EAAAY,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAGlB,C,+BC7aD,WAAgB,cAAc,+CAA+C,mBAAmB,oDAAoD,OAAS,0CAA0C,SAAW,4C,y3BCDlN,kBACA,WAQMgmQ,EAA6B,SAAC1pQ,GACxB,IAAAoW,EAAiCpW,EAAK,KAAhC2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAE9C,OACI,uBAAKwB,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAYD,MAAM,8BACtD,qBAAG5E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACIA,EAAE,8OACF/E,KAAM7K,IAEV,wBACI4P,EAAE,0xBACF/E,KAAMkK,KAK1B,EAEAgzP,EAAS53P,YAAc,WAEvB,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAe23P,C,67CCtCf,kBACA,WAMMC,EAA4C,SAAC3pQ,GACvC,IAAA89C,EAAuB99C,EAAK,UAAdk5C,EAAI,EAAKl5C,EAAzB,eAEN,OACI,yBAAKwB,MAAM,MAAMsK,OAAO,MAAMuF,QAAQ,cAAcD,MAAM,8BAAiC8nC,GACvF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,oBACR,wBACIA,EAAE,2RACF/E,KAAMsxC,EACN3nC,QAAQ,OAEZ,wBACI5E,EAAE,sSACFE,OAAQqsC,EACRlsC,YAAY,MACZpF,KAAK,OACLkF,cAAc,UAElB,wBACIH,EAAE,8vBACF/E,KAAMsxC,EACNxsC,SAAS,aAK7B,EAEAq4P,EAAwB73P,YAAc,0BAEtC,IAAMC,EAAqB,CACvB+rC,UAAW,EAAAl8C,qBAAqBkS,WAG3B,EAAA/B,WAAAA,EACT,UAAe43P,C,2MC3Cf,kBAKA,cACA,cACA,WACA,WACA,cACA,WACA,cACA,cACA,cACA,WAEMhqQ,EAAK,UAAWC,KAAK,WAwBd,EAAAgqQ,qCAAkC,MAC1C,EAAAppN,uBAAuBC,UAAW,6EACnC,EAAC,EAAAD,uBAAuBE,MAAO,wEAC/B,EAAC,EAAAF,uBAAuBG,WAAY,8EACpC,EAAC,EAAAH,uBAAuBI,kBACpB,sFACJ,EAAC,EAAAJ,uBAAuBK,eACpB,mFACJ,EAAC,EAAAL,uBAAuBM,iBACpB,qFACJ,EAAC,EAAAN,uBAAuBO,iBACpB,qFACJ,EAAC,EAAAP,uBAAuBQ,gBACpB,oFACJ,EAAC,EAAAR,uBAAuBS,uBACpB,4FACJ,EAAC,EAAAT,uBAAuBU,YAAa,+E,GAuHzC,UApH6D,SAAClhD,GAEtD,IAAAU,EAWAV,EAAK,UAVL8a,EAUA9a,EAAK,OATLkF,EASAlF,EAAK,SARLmF,EAQAnF,EAAK,WAPLoF,EAOApF,EAAK,SANLuC,EAMAvC,EAAK,gBALLqF,EAKArF,EAAK,WAJL0F,EAIA1F,EAAK,YAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLwF,EACAxF,EAAK,WAEDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CACH,CACI2H,KAAM,wBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBwQ,QACjDrL,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBC,WACnEx7C,MAAO,EAAAu7C,uBAAuBC,UAElC,CACIt0C,KAAM,wBAAC,UAAQ,CAACuK,YAAa,EAAA9U,qBAAqBwQ,MAAOzQ,UAAW,EAAAC,qBAAqBI,QACzF+E,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBE,OACnEz7C,MAAO,EAAAu7C,uBAAuBE,MAElC,CACIv0C,KACI,wBAAC,UAAQ,CACLuK,YAAa,EAAA9U,qBAAqBwQ,MAClCzQ,UAAW,EAAAC,qBAAqBI,MAChCoU,KAAM,EAAAC,oBAGdtP,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBG,YACnE17C,MAAO,EAAAu7C,uBAAuBG,WAElC,CACI55C,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBI,mBACnE37C,MAAO,EAAAu7C,uBAAuBI,kBAElC,CACI75C,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBK,gBACnE57C,MAAO,EAAAu7C,uBAAuBK,eAElC,CACI95C,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBM,kBACnE77C,MAAO,EAAAu7C,uBAAuBM,iBAElC,CACI/5C,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBO,kBACnE97C,MAAO,EAAAu7C,uBAAuBO,iBAElC,CACIh6C,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBQ,iBACnE/7C,MAAO,EAAAu7C,uBAAuBQ,gBAElC,CACIj6C,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBS,wBACnEh8C,MAAO,EAAAu7C,uBAAuBS,uBAElC,CACIl6C,MAAOlG,EAAE,EAAA+oQ,mCAAmC,EAAAppN,uBAAuBU,aACnEj8C,MAAO,EAAAu7C,uBAAuBU,YAG1C,GAAG,CAACrgD,IAyBJ,OACI,wBAAC,UAAqB,CAClBH,UAAWA,EACXyB,QAASA,EACTkxF,eAAgBv4E,EAChBtT,eAPe,SAAChB,GAA4B,OAAAA,EAAOvB,KAAP,EAQ5CS,YAAaA,EACbL,WAAYA,EACZH,SAAUA,EACVE,SAAUA,EACVD,WAAYA,EACZK,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTuB,aAxBa,SAACN,GAClB,OAAKA,GAIEA,aAAM,EAANA,EAAQO,QAAS,GAHb,IAIf,EAmBQozE,qBAtCqB,SAACh4E,EAAyBuD,GACnD,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAOyD,EAGX,GAAuB,IAAnBvD,EAAQF,OAAc,CACtB,IAAMuE,EAASrE,EAAQ,GACvB,OAAOqE,aAAM,EAANA,EAAQO,QAAS,IAC5B,CAEA,OAAO,wBAAC,UAA+B,CAACnE,MAAOT,aAAO,EAAPA,EAASF,QAC5D,EA4BQM,gBAAiBA,EACjBL,iBAAkBvC,EAAG,YAGjC,C,6JC7KA,kBAEA,aACA,cACA,cACA,SAEMA,EAAK,UAAWC,KAAK,WA6B3B,UArBmC,SAACI,G,MACxB4O,EAA8B5O,EAAK,SAAzBU,EAAoBV,EAAK,UAAdoW,EAASpW,EAAK,KAE3C,OAAI4O,aAAQ,EAARA,EAAU3M,QAAS,EACZ,KAIP,+BACIvB,WAAW,aACPf,EAAG,QAAM,KACL,EAAC,qBAAcyW,GAAQ,EAAA1G,iBAAiBwC,UAAW,E,IAEvDxR,IAGHkO,EAGb,C,+BCjCA,WAAgB,qBAAqB,2DAA2D,OAAS,+CAA+C,SAAW,iD,sBCEnK,IAAYlP,E,sHAHC,EAAAkoI,cAAgB,IAChB,EAAAzjF,+BAAiC,EAE9C,SAAYzkD,GACR,8CAEA,gDAEA,wBACA,wBAEA,8BAEA,iCACH,CAXD,CAAYA,IAAU,aAAVA,EAAU,I,6GCHtB,IA2BYu+N,EA3BZ,WAEa,EAAAn0D,WAAa,CACtBkB,KAAM,EAAAx4F,eAAew4F,KACrB/pG,OAAQ,EAAAuR,eAAevR,OACvBiB,OAAQ,EAAAsQ,eAAetQ,OACvB+oL,gBAAiB,EAAAz4K,eAAey4K,gBAChCjpL,eAAgB,EAAAwQ,eAAexQ,eAC/BqhK,eAAgB,EAAA7wJ,eAAe6wJ,eAC/B9mJ,eAAgB,EAAA/J,eAAe+J,eAC/B2uK,aAAc,EAAA14K,eAAe04K,aAC7BC,kBAAmB,EAAA34K,eAAe24K,kBAElCC,aAAc,EAAA/xD,iBAAiB+xD,aAC/B3+M,SAAU,EAAA4sJ,iBAAiB5sJ,SAC3Bo9N,QAAS,EAAAxwE,iBAAiBwwE,QAC1B3vD,KAAM,EAAA7gB,iBAAiB6gB,KACvBnvC,QAAS,EAAAsuB,iBAAiBtuB,QAE1Bl9J,KAAM,QACNu9B,QAAS,WACTpY,OAAQ,EAAAqmK,iBAAiBrmK,OACzBuzE,SAAU,YAEVi4H,iBAAkB,8BAGtB,SAAYP,GACR,eACA,gCACH,CAHD,CAAYA,IAAa,gBAAbA,EAAa,KAKzB,UAAe,CAAC,C,q7BChChB,kBACA,WACA,cAGA,UACA,cACA,WACA,WACA,WAOA,WACA,cACA,cACA,cAGA,WAMA,UACA,cACA,cACA,cACA,WACA,cAEA,cAEA,cAEMt+N,EAAK,UAAWC,KAAK,WAOrByqM,EAAsF,CACxFx9F,eAAgB,CACZm6E,WAAY,8DACZC,oBAAqB,uEACrBC,eAAgB,kEAChBC,YAAa,+DACbC,eAAgB,kEAChBC,gBAAiB,IAErBt6E,aAAc,CACVi6E,WAAY,4DACZC,oBAAqB,qEACrBC,eAAgB,gEAChBC,YAAa,6DACbC,eAAgB,gEAChBC,gBAAiB,IAErBr6E,kBAAmB,CACfg6E,WAAY,iEACZC,oBAAqB,0EACrBC,eAAgB,qEAChBC,YAAa,kEACbC,eAAgB,qEAChBC,gBAAiB,IAErBp6E,yBAA0B,CACtB+5E,WAAY,wEACZC,oBAAqB,iFACrBC,eAAgB,4EAChBC,YAAa,yEACbE,gBAAiB,GACjBD,eAAgB,IAEpBl6E,cAAe,CACX85E,WAAY,6DACZC,oBAAqB,sEACrBC,eAAgB,iEAChBC,YAAa,8DACbE,gBAAiB,GACjBD,eAAgB,IAEpBj6E,cAAe,CACX65E,WAAY,6DACZC,oBAAqB,sEACrBC,eAAgB,iEAChBC,YAAa,8DACbE,gBAAiB,kEACjBD,eAAgB,kEAEpBh6E,aAAc,CACV45E,WAAY,4DACZC,oBAAqB,qEACrBC,eAAgB,gEAChBC,YAAa,6DACbE,gBAAiB,iEACjBD,eAAgB,IAEpB/5E,WAAY,CACR25E,WAAY,0DACZC,oBAAqB,mEACrBC,eAAgB,8DAChBC,YAAa,2DACbE,gBAAiB,+DACjBD,eAAgB,IAEpB95E,gBAAiB,CACb05E,WAAY,+DACZC,oBAAqB,wEACrBC,eAAgB,mEAChBC,YAAa,gEACbE,gBAAiB,oEACjBD,eAAgB,IAEpB75E,cAAe,CACXy5E,WAAY,6DACZC,oBAAqB,sEACrBC,eAAgB,iEAChBC,YAAa,8DACbE,gBAAiB,GACjBD,eAAgB,IAEpB55E,gBAAiB,CACbw5E,WAAY,+DACZC,oBAAqB,wEACrBC,eAAgB,mEAChBC,YAAa,gEACbE,gBAAiB,GACjBD,eAAgB,KAIlBkjB,EAAwF,CAC1FC,iBAAkB,0DAClBC,qBAAsB,8DACtBC,gCAAiC,0EAG/Bq/D,EAA6ChqQ,EAAMC,MAAK,SAACC,G,0BACnDk0F,EAA4Cl0F,EAAK,sBAA1ByhG,EAAqBzhG,EAAK,iBAEjDa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXzH,GAAwC,QAA/B,EAAAmnE,aAAqB,EAArBA,EAAuB61K,gBAAQ,eAAE79P,KAAM,KAEhD42L,EAAehjM,EAAM0E,SAAQ,WAC/B,OAAO,aAAM0vF,aAAqB,EAArBA,EAAuB9pE,UAAW,KACnD,GAAG,CAAC8pE,IAEE81B,GAAa,IAAAxlH,UAAQ,WACvB,OAAKuoB,EAIE,CACHA,OAAM,GAJC,IAMf,GAAG,CAACA,IAEI8/C,GAAkB,IAAA89H,2BAA0B3gF,GAAW,cAEzDm+D,GAAiBj0F,aAAqB,EAArBA,EAAuBi0F,iBAAkB,KAE1DD,GAA2C,QAAvB,EAAAC,aAAc,EAAdA,EAAgB58K,eAAO,eAAE68K,aAAc,KAC3DC,EAAkBya,EAAa5a,IAAgC,KAC/DI,GAC8B,QAAhC,EAAuB,QAAvB,EAAAH,aAAc,EAAdA,EAAgB58K,eAAO,eAAEoD,eAAO,eAAEmqC,MAAK,SAACn1C,GACpC,QAAQA,aAAM,EAANA,EAAQuxD,KACpB,MAAM,KAEJ01I,GAAmD,QAAvB,EAAAziB,aAAc,EAAdA,EAAgB58K,eAAO,eAAEs/L,cAAe,KAEpEC,GACgC,QAAlC,EAAuB,QAAvB,EAAA3iB,aAAc,EAAdA,EAAgB58K,eAAO,eAAE4+E,iBAAS,eAAErxC,MAAK,SAACntC,G,MACtC,OAAqB,QAAd,EAAAA,aAAK,EAALA,EAAOgD,eAAO,eAAEsiE,MAAK,SAACttE,GACzB,QAAQA,aAAM,EAANA,EAAQuxD,KACpB,GACJ,MAAM,KAEJ61I,GAA6C,QAAxB,EAAA5iB,aAAc,EAAdA,EAAgB6iB,gBAAQ,eAAE5iB,aAAc,KAC7D6iB,EAAmBnI,EAAaiI,IAAiC,KACjEG,GAC+B,QAAjC,EAAwB,QAAxB,EAAA/iB,aAAc,EAAdA,EAAgB6iB,gBAAQ,eAAEr8L,eAAO,eAAEmqC,MAAK,SAACn1C,GACrC,OAAOA,aAAM,EAANA,EAAQuxD,IACnB,MAAM,KACJi2I,GAAqD,QAAxB,EAAAhjB,aAAc,EAAdA,EAAgB6iB,gBAAQ,eAAEH,cAAe,KAEtE1oM,EAA4D,CAC9D8oM,GAAoBC,EACd,CACInkM,MACI,gBAAC,UAAO,CACJhG,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI8pM,EACI,gBAAC,UAAc,CAACjqM,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAEypM,EAAoCa,KAE3C,OAGP,W,QAAM,OACH,gBAAC,UAA0B,CACvB9lM,aAAc8lM,EACdpkM,MACIokM,EACMtqM,EAAE,wCAAyC,CACvC8C,OAAQ9C,EACsC,QAA1C,EAAAwpM,aAAiB,EAAjBA,EAAoBY,EAAiBhoM,aAAK,eACtCioM,EAAsBjoM,MAE1B,CACI0K,QAASs9L,EAAiB3zL,OAAS,GAAK,MAIpDzW,EAAE,iCAAkC,CAChC8C,OAAQ9C,EACsC,QAA1C,EAAAwpM,aAAiB,EAAjBA,EAAoBY,EAAiBhoM,aAAK,eACtCioM,EAAsBjoM,MAE1B,CACI0K,QAASs9L,EAAiB3zL,OAAS,GAAK,MAK9DnL,KAAM,gBAAC,UAAW,CAACuK,YAAa,EAAA9U,qBAAqBkS,a,IAKrEzO,aAAc8lM,EACdjmM,SAAU,WACD6nB,GAAWg+K,GAAuB/gF,GAKH,yBAAhCkhF,aAAqB,EAArBA,EAAuBjoM,OACvBsxB,GACI,IAAA62K,2BAA0B,CACtBr+K,OAAM,EACNq7J,WAAY2iB,EACZ/gF,WAAU,KAMc,oBAAhCkhF,aAAqB,EAArBA,EAAuBjoM,OACS,gBAAhCioM,aAAqB,EAArBA,EAAuBjoM,OACS,qBAAhCioM,aAAqB,EAArBA,EAAuBjoM,OACS,oBAAhCioM,aAAqB,EAArBA,EAAuBjoM,OACS,iBAAhCioM,aAAqB,EAArBA,EAAuBjoM,OAEvBsxB,GACI,IAAA82K,wBAAuB,CACnBt+K,OAAM,EACNq7J,WAAY2iB,EACZ/gF,WAAU,OAzBlB,IAAAt1F,YAAW,6CA6BnB,GAEJ,MACR1F,OAAO,EAAA4/B,UAEH08I,EAAkC,WACpC,IAAM79G,GAAaq9G,aAA8B,EAA9BA,EAAgCr9G,aAAc,KAC5DA,EAKLgU,EAAiBhU,IAJb,IAAA/4D,YAAW,mBAKnB,EAEM62K,GAA+B,WAC5Bx+K,GAAWm7J,GAAsBl+D,GAKH,yBAA/Bs+D,aAAoB,EAApBA,EAAsBrlL,OACtBsxB,GACI,IAAAi3K,uBAAsB,CAClBz+K,OAAM,EACNq7J,WAAYF,EACZl+D,WAAU,KAMa,oBAA/Bs+D,aAAoB,EAApBA,EAAsBrlL,OACS,gBAA/BqlL,aAAoB,EAApBA,EAAsBrlL,OACS,iBAA/BqlL,aAAoB,EAApBA,EAAsBrlL,OACS,oBAA/BqlL,aAAoB,EAApBA,EAAsBrlL,OACS,qBAA/BqlL,aAAoB,EAApBA,EAAsBrlL,OAEtBsxB,GACI,IAAAk3K,oBAAmB,CACf1+K,OAAM,EACNq7J,WAAYF,EACZl+D,WAAU,OAzBlB,IAAAt1F,YAAW,6CA6BnB,EAEM1lB,GAAY69D,aAAa,EAAbA,EAAehpE,QAE3B6nM,GAAqB1iM,QAAQs/K,GAAwBwiB,GAE3D,OAAKY,KAAuBvpM,aAAO,EAAPA,EAASF,QAKjC,gCACKypM,IACG,gBAAC,UAAO,CACJ3qM,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBV,UAAWf,EAAG,WACd0B,YACIupM,EACI,gBAAC,UAAc,CAAC1pM,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAEypM,EAAoCM,KAE3C,OAGP,W,MACG,OAAIE,EAEI,gBAAC,UAAM,CACHpqM,UAAWf,EAAG,SAAU,gBACxBuB,MAAO,EAAA2N,gBAAgB8O,QACvBlc,QAAS6pM,EACTt8L,UAAWA,IAEVnO,EAAE,8CAKXynL,EAEI,gBAAC,UAAM,CACH5nL,UAAWf,EAAG,SAAU,gBACxBuB,MAAO,EAAA2N,gBAAgB8O,QACvBlc,QAAS8pM,GACTlmM,aAAculM,EACd57L,UAAWA,IAEVq5K,EACKxnL,EAA2C,QAAzC,EAAAwpM,aAAiB,EAAjBA,EAAoBhiB,EAAgBplL,aAAK,eAAGqlL,EAAqBrlL,MAAO,CACtE0K,QAAS06K,EAAgB/wK,OAAS,GAAK,IAE3C,MAKX,IACX,IAGR,gBAAC,UAAe,CACZnV,QAASA,EACTkD,WAAY2J,GACZksH,6BAA8BlsH,GAC9B5M,cAAe,SAACC,EAAUZ,GAAY,OAClC,gBAAC,UAAkB,CACfa,UAAWD,EACXZ,QAASA,EACTC,SAAU,gBAAC,UAAQ,MACnBI,gBAAiB,EAAAC,oBAAoBC,OALP,EAQtCO,gBAAiB,EAAAC,4BAA4Bi9F,YAlE9C,IAsEf,IAEA,UAAeqqK,C,+BC5Yf,WAAgB,KAAO,2BAA2B,MAAQ,4BAA4B,YAAY,gCAAgC,cAAc,kCAAkC,OAAS,6BAA6B,OAAS,6BAA6B,SAAW,+B,6JCDzQ,kBACA,UACA,aAEA,WACA,WACA,UAuBME,EAA0C,UAAMjqQ,MAAK,SAACC,GAEpD,IAAAiF,EAWAjF,EAAK,MAVL0F,EAUA1F,EAAK,YATL8c,EASA9c,EAAK,SARLqF,EAQArF,EAAK,WAPLmF,EAOAnF,EAAK,WANLoF,EAMApF,EAAK,SALLwF,EAKAxF,EAAK,WAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFLyF,EAEAzF,EAAK,gBADLuC,EACAvC,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CAAC,EAAAirB,kBAAkBC,MAAO,EAAAD,kBAAkBvE,QAAS,EAAAuE,kBAAkBnH,SAASjR,KACnF,SAACpU,GACG,MAAO,CACH8D,MAAOlG,EAAE,EAAA2uB,yBAAyBvsB,IAClCgC,MAAOhC,EAEf,GAER,GAAG,CAACpC,IA2BJ,OACI,wBAAC,UAAa,CACVsG,cAAelC,EACfS,YAAaA,EACbvD,QAASA,EACT+C,SAXa,SAACD,GAClB6X,EAAS7X,EACb,EAUQI,WAAYA,EACZyB,aArBa,SAACN,GAClB,OAAKA,EAIEA,EAAOO,MAHH,IAIf,EAgBQozE,qBAjCc,SAClB3zE,EACAd,GAEA,OAAKc,EAIEA,EAAOO,MAHHrB,GAAe,EAI9B,EAyBQ8B,eAXe,SAAChB,GAAuD,OAAAA,EAAOvB,KAAP,EAYvE1C,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACT5E,aAAa,kBACb8E,gBAAiBA,EACjBiC,QAAS,WACLoV,EAAS,KACb,GAGZ,IAEA,UAAektP,C,sBC3Gf,IAAYvjK,E,kFAAZ,SAAYA,GACR,cACA,cACA,cACA,+BACH,CALD,CAAYA,IAAuB,0BAAvBA,EAAuB,I,+BCCnC,WAAgB,KAAO,sBAAsB,mBAAmB,kCAAkC,YAAc,6BAA6B,uBAAuB,sCAAsC,sBAAsB,qCAAqC,OAAS,wBAAwB,SAAW,0B,+BCAjT,WAAgB,OAAS,+CAA+C,SAAW,iD,q8DCDnF,eAIA,WACA,cAIa,EAAAxH,yBAA2B,SAACgrK,GACrC,IAAMh0J,GAAoD,IAAAjwG,cAAY,qD,4DAClE,OAAKikQ,aAAc,EAAdA,EAAgBhoQ,SAIfi0G,EAAW+zJ,EAAe5yP,KAAI,SAAC6yP,GACjC,OAAO,UAAkBz1O,oBAAoBy1O,EACjD,IAEgB,GAAMnlN,QAAQqxD,IAAIF,KAPvB,CAAC,EAAD,CAAC,KAAM,O,OA2BlB,OApBMG,EAAU,SAEVC,GACFD,aAAO,EAAPA,EAASt0D,QAAuB,SAACC,EAAK,G,MAAGv1C,EAAH,OAAO,GACzC,OAAKA,aAAI,EAAJA,EAAMP,KAIX81C,EAAItqC,KAAK,CACLxL,GAAIO,aAAI,EAAJA,EAAMP,GACV0M,KAAMnM,aAAI,EAAJA,EAAMmM,KACZjL,OAAQlB,aAAI,EAAJA,EAAMkB,OACdwjB,aAA+B,QAAlB,EAAA1kB,aAAI,EAAJA,EAAM8pG,oBAAY,eAAE7vF,UAAW,OAGzCs7B,GAVIA,CAWf,GAAG,MAAO,GAIP,CAAP,EAFmD,CAAC,KAAMs0D,I,SAG3D,CAAC2zJ,IAEE,GAAqC,IAAAzzJ,4BAAoC,CAC3EP,mBAAkB,IAGtB,MAAO,CACH9W,YALe,cAMfC,kBANkC,oBAQ1C,C,q7BClDA,kBAEA,cACA,cACA,cACA,cACA,WAMMz/F,EAAK,UAAWC,KAAK,WAErBuqQ,EAA6BrqQ,EAAMC,MAAK,SAACC,GACnC,IAAAkmB,EAASlmB,EAAK,KAEtB,OAAO,uBAAKU,UAAWf,EAAG,UAAU,aAASumB,IAAS,gBAAC,UAAK,CAACtP,OAAQsP,EAAMpP,SAAU,EAAAC,aAAaC,MACtG,IAEA,UAAemzP,C,q7BCpBf,kBACA,cACA,WACA,WACA,UACA,cACA,cACA,cAEA,WACA,cACA,WASMxxL,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoBrP,YAC3B46B,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACb8yP,EAA6D,QAAxC,EAAAlwP,EAAa,EAAAiwC,qBAAqBhjC,cAAM,eAAG7P,GAEtE,OAAO,gBAAC,UAAoB,CAAC4Z,WAAYk5O,GAC7C,EACAvxL,UAAW,CAAC,EAAA1uB,qBAAqBhjC,QAErC,CACIjmB,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,gDAAiD,CACtDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB/iC,cAEjD,EACAyxD,UAAW,CAAC,EAAA1uB,qBAAqB/iC,cAErC,CACIlmB,MAAO,EAAAqsD,oBAAoBrP,YAC3B46B,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACbm6B,EAAgE,QAAhD,EAAAv3B,EAAa,EAAAiwC,qBAAqB1Y,sBAAc,eAAGn6B,GAEzE,OAAO,gBAAC,UAAkB,CAACm6B,cAAeA,GAC9C,EACAonC,UAAW,CAAC,EAAA1uB,qBAAqB1Y,gBAErC,CACIvwC,MAAO,EAAAqsD,oBAAoBrP,YAC3B46B,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACb8R,EAAkD,QAAzC,EAAAlP,EAAa,EAAAiwC,qBAAqB/gC,eAAO,eAAG9R,GAE3D,OAAO,gBAAC,UAAW,CAAC8R,OAAQA,GAChC,EACAyvD,UAAW,CAAC,EAAA1uB,qBAAqB/gC,SAErC,CACIloB,MAAO,EAAAqsD,oBAAoBrP,YAC3B46B,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACb6Z,EAAwD,QAA1C,EAAAjX,EAAa,EAAAiwC,qBAAqBzjC,gBAAQ,eAAGpP,GAEjE,OAAO,gBAAC,UAAmB,CAACm2C,aAAct8B,EAAc,CAACA,GAAe,MAC5E,EACA0nD,UAAW,CAAC,EAAA1uB,qBAAqBzjC,UAErC,CACIxlB,MAAO,EAAAqsD,oBAAoBrP,YAC3B46B,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACbmW,EAA8D,QAA/C,EAAAvT,EAAa,EAAAiwC,qBAAqB18B,qBAAa,eAAGnW,GACvE,OAAO,4BAAOmW,EAClB,EACAorD,UAAW,CAAC,EAAA1uB,qBAAqBjlB,WAAY,EAAAilB,qBAAqB18B,eAEtE,CACIvsB,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAMqyF,EAAkBryF,EAAa,EAAAiwC,qBAAqBoiD,iBACpDE,EAAgBvyF,EAAa,EAAAiwC,qBAAqBsiD,eAExD,OAAO5rG,EAAE,+CAAgD,CACrDoE,OAAO,IAAAogI,4BAA2B94B,EAAiBE,IAE3D,EACA5zB,UAAW,CAAC,EAAA1uB,qBAAqBoiD,gBAAiB,EAAApiD,qBAAqBsiD,gBAE3E,CACIvrG,MAAO,EAAAqsD,oBAAoB1rD,SAC3Bi3E,YAAY,EACZ3hE,WAAY,SAAC+C,EAAc5C,EAAOg2C,G,QAC9B,OAAsD,QAAlD,EAAApzC,EAAa,EAAAiwC,qBAAqBu1C,wBAAgB,eAAGpoF,MAAW,EAAA0vO,uBACzD,EAAA/tK,oBAAoBoxL,OAGxB,EAAApxL,oBAAoBC,OAC6B,QAApD,EAAAh/D,EAAa,EAAAiwC,qBAAqB01C,0BAAkB,eAAGvoF,GACvDg2C,EAER,EACAj6B,OAAQ,SAACnZ,EAAc5C,G,MACnB,OAAOzW,EAAE,iDAAkD,CACvDoE,MAA2D,QAApD,EAAAiV,EAAa,EAAAiwC,qBAAqB01C,0BAAkB,eAAGvoF,IAEtE,EACAuhE,UAAW,CAAC,EAAA1uB,qBAAqB01C,kBAAmB,EAAA11C,qBAAqBu1C,kBAE7E,CACIx+F,MAAO,EAAAqsD,oBAAoB1rD,SAC3Bi3E,YAAY,EACZ3hE,WAAY,SAAC+C,EAAc5C,EAAOg2C,G,QAC9B,OAAyD,QAArD,EAAApzC,EAAa,EAAAiwC,qBAAqB41C,2BAAmB,eAAGzoF,MAAW,EAAA0vO,uBAC5D,EAAA/tK,oBAAoBoxL,OAGxB,EAAApxL,oBAAoBC,OACgC,QAAvD,EAAAh/D,EAAa,EAAAiwC,qBAAqB61C,6BAAqB,eAAG1oF,GAC1Dg2C,EAER,EACAj6B,OAAQ,SAACnZ,EAAc5C,G,MACnB,OAAOzW,EAAE,uDAAwD,CAC7DoE,MAA8D,QAAvD,EAAAiV,EAAa,EAAAiwC,qBAAqB61C,6BAAqB,eAAG1oF,IAEzE,EACAuhE,UAAW,CAAC,EAAA1uB,qBAAqB61C,qBAAsB,EAAA71C,qBAAqB41C,qBAEhF,CACI7+F,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAM41I,EAAqB51I,EAAa,EAAAiwC,qBAAqB2lG,oBACvDC,EAAmB71I,EAAa,EAAAiwC,qBAAqB4lG,kBAE3D,OAAOlvJ,EAAE,qDAAsD,CAC3DoE,OAAO,IAAAogI,4BAA2ByqB,EAAoBC,IAE9D,EACAl3E,UAAW,CAAC,EAAA1uB,qBAAqB2lG,mBAAoB,EAAA3lG,qBAAqB4lG,mBAE9E,CACI7uJ,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAM01I,EAA8B11I,EAAa,EAAAiwC,qBAAqBylG,6BAChEC,EAA4B31I,EAAa,EAAAiwC,qBAAqB0lG,2BAEpE,OAAOhvJ,EAAE,+DAAgE,CACrEoE,OAAO,IAAAogI,4BAA2BuqB,EAA6BC,IAEvE,EACAh3E,UAAW,CACP,EAAA1uB,qBAAqBylG,4BACrB,EAAAzlG,qBAAqB0lG,4BAvIQ,GA2IzC,CAAChvJ,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,q7BClLf,kBACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,cAGMh5E,EAAK,UAAWC,KAAK,WAUrB0qQ,EAAkCxqQ,EAAMC,MAAK,SAACC,GACxC,IAAAyqD,EAA4DzqD,EAAK,KAA3DU,EAAsDV,EAAK,UAAhDuqQ,EAA2CvqQ,EAAK,gBAA/BqF,EAA0BrF,EAAK,WAAnBgP,EAAchP,EAAK,UAEjEa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAuD,CACzD,CACIC,aAAc,WAAM,mCAAOtyB,EAAE,iDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAAC6P,GAAQ,uBAAC,UAAQ,CAACA,IAAKA,GAAf,EACjBxiC,UAAWf,EAAG,gBAAiB,wBAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAAC6P,EAAKrnB,GAAS,OACnB,gBAAC,UAAgB,CACblJ,IAAK,UAAGuwB,EAAIsf,SAAQ,YAAItf,EAAIq7G,SAC5Br4H,KAAMgd,EAAIq7G,QAAQi6G,SAClBgS,aAAc3uP,EAAKy+H,UACnBysD,SAAU,SAAC7gL,GACPqkP,EAAgBrnO,EAAKhd,EACzB,GAPe,EAUvBxlB,UAAWf,EAAG,gBAAiB,yBAIjCo0B,EAAa,SAAClY,GAAwB,OACxC+L,WAAY/L,EAAK+L,WADuB,EAI5C,OACI,uBAAKlnB,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAmBw0B,UAAU,sBAAsBnlB,UAAWA,EAAW4W,KAAM6kC,IACxF,SAAC7kC,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACF1zB,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNmO,WAAYA,EACZ/kB,UAAWA,EACXolB,eAAgBA,GAPG,IAW9B/uB,GAAc,gBAAC,UAAa,MAGzC,IAEA,UAAeilQ,C,0pCCzEf,kBAEA,cAEA,cACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,cAEA,WACA,WACA,WACA,WACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,cAEA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cAGA,cACA,WACA,WACA,WAKA,cAEA,cASM3qQ,EAAK,UAAWC,KAAK,WAErB6qQ,EAAkB,SAACn3N,EAAqCh8B,GAC1D,OAAKg8B,EAKDA,EAAMrwC,OAAS,EAAAmvE,kCAAkClxD,gBACjDoyB,EAAMrwC,OAAS,EAAAmvE,kCAAkCjxD,aAG7C,gBAAC,UAAQ,CACL/K,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAMxC,gBAAC,UAAU,CACP2L,QAAS2J,GAAS,GAAK,EACvB3V,UACI2xC,EAAMrwC,OAAS,EAAAmvE,kCAAkCC,SAC3C,EAAAzwE,qBAAqBC,SACrB,EAAAD,qBAAqB+W,OAtB5B,IA0Bf,EAEM+xP,EAAkB,SAAC7pQ,EAAcyyC,EAAqCh8B,GACxE,OAAKg8B,EAIDA,EAAMrwC,OAAS,EAAAmvE,kCAAkCjxD,aAC1CtgB,EAAE,4CAGTyyC,EAAMrwC,OAAS,EAAAmvE,kCAAkClxD,eAC1CrgB,EAAE,8CAGNA,EAAE,6CAA8C,CACnD8M,OAAQ2J,EAAQ,IAZT,IAcf,EAEMqzP,GAA+B7qQ,EAAMC,MAAK,SAACC,G,wCACrCmP,GAAgCnP,EAAK,WAAzBg6D,GAAoBh6D,EAAK,gBAEvCgzG,IAAsB,IAAAh9F,aAAY,EAAA8jE,2BAClCkgC,IAAmB,IAAAhkG,aAAY,EAAAm6B,wBAC/B5b,IAAW,IAAAC,eACjB10B,EAAMoL,WAAU,WACZqpB,IAAS,IAAAmb,qBACb,GAAG,CAACnb,KAEJ,IAAMq2O,GAAc5wJ,GAAiB96F,OAAO/P,cAAU,EAAVA,GAAYihC,iBAAmB,KAEnEvvC,IAAM,IAAAC,kBAAgB,EAExBkiM,IAAwB,IAAAC,0BAA0D,QAAjC,EAAsB,QAAtB,EAAA9zL,cAAU,EAAVA,GAAYsI,kBAAU,eAAEkR,iBAAS,eAAEuvE,WAEpFsgD,GAAoC,CACtC,CACIrsI,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqB+W,OACjDC,KAAM/X,GAAE,uCACRoE,OAAwC,QAAjC,EAAsB,QAAtB,EAAAkK,cAAU,EAAVA,GAAYsI,kBAAU,eAAEkR,iBAAS,eAAElQ,eACtC,gBAAC,UAAa,CACV7V,OAAO,IAAAinF,aAAY16E,GAAWsI,WAAWkR,UAAUlQ,eACnDxV,KAAM,EAAA4V,aAAaC,yBAEvB,KACJC,WAAYlY,GAAE,wCACdmY,aAAa,EACbwjC,iBAAiB,EACjB77C,aAAc,WACdilB,KAAMo9K,KAIR6nE,GAA2C,CAC7C,CACI1+P,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,2CACRoE,MAAO,gBAAC,UAA0B,CAAC8kF,gBAAiB6gL,KACpD57P,UAAWgkG,GAAoBnvG,QAC/BkV,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,iBAIhBy2F,IAAqB,IAAAC,yBAErByzK,GAAkB,SAAC,G,wBACrBrzP,EAAU,aACV1Q,EAAK,QACLmlF,EAAsB,yBACtB8hB,EAA6B,gCAC7BC,EAA4B,+BAQtB9iB,EAAgB1zE,aAAU,EAAVA,EAAY0zE,cAmElC,MAlEiD,CAC7C,CACIxwC,SAAU,gBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB+W,OAC5D1Y,MAAO8G,EACP8P,MAAOY,aAAU,EAAVA,EAAYssD,WACnBtZ,KAAM,C,OAEK2sC,GAAmB32C,UAAQ,CAC9B5pC,MAAOY,aAAU,EAAVA,EAAYgpC,W,OAGhB22C,GAAmBS,gBAAgBpgF,aAAU,EAAVA,EAAY8zE,MAAI,CACtD10E,MAAuB,QAAhB,EAAAY,aAAU,EAAVA,EAAYg0E,YAAI,eAAE1lE,UACzB0kC,KAAM2sC,GAAmBU,iBAAiC,QAAhB,EAAArgF,aAAU,EAAVA,EAAYg0E,YAAI,eAAEE,c,OAGzDyL,GAAmBW,eAA+B,QAAhB,EAAAtgF,aAAU,EAAVA,EAAYipC,YAAI,eAAEs3C,WAAS,CAChEnhF,MAAuB,QAAhB,EAAAY,aAAU,EAAVA,EAAYipC,YAAI,eAAE36B,UACzB0kC,KAAM2sC,GAAmBa,0BAA0C,QAAhB,EAAAxgF,aAAU,EAAVA,EAAYipC,YAAI,eAAEw3C,cAEzE,aAAS/M,GACH,EAAD,KACQiM,GAAmBe,aAAa,CAC/B/M,YAAa3zE,aAAU,EAAVA,EAAY4zE,kBAC3B,CACFx0E,MAAOs0E,IAEX,MACN,IAAAiN,wBAA0C,QAAnB,EAAA3gF,aAAU,EAAVA,EAAYgyE,eAAO,eAAEC,aAAiC,QAAnB,EAAAjyE,aAAU,EAAVA,EAAYgyE,eAAO,eAAE1jE,WACzE,EAAD,KACQqxE,GAAmBiB,kBACC,QAAnB,EAAA5gF,aAAU,EAAVA,EAAYgyE,eAAO,eAAEC,aACF,QAAnB,EAAAjyE,aAAU,EAAVA,EAAYgyE,eAAO,eAAEuC,YACxB,CACDn1E,OAA0B,QAAnB,EAAAY,aAAU,EAAVA,EAAYgyE,eAAO,eAAE1jE,YAAa,IAE7C,MACNioF,aAA6B,EAA7BA,EAA+B/rG,QACzB,EAAD,KACQm1F,GAAmB+W,gCAAgCjiB,IAAuB,CAC7EzhC,KAAM,CACF,CACIA,KAAMujD,MAIlB,MACNC,aAA4B,EAA5BA,EAA8BhsG,QACxB,EAAD,KACQm1F,GAAmBgX,+BAA+BliB,IAAuB,CAC5EzhC,KAAM,CACF,CACIA,KAAMwjD,MAIlB,KACN,CACItzD,SAAU,gBAAC,UAAO,CAACjkC,YAAa,EAAA9U,qBAAqBwQ,QACrDnS,MAAOY,GAAE,0DACTgW,MAAOY,aAAU,EAAVA,EAAYypC,aAEzBlyB,OAAO,EAAA4/B,YAEf5/B,OAAO,EAAA4/B,SAGb,EAEMm8M,IAAuC,IAAAxzK,2BAA0B,CACnErL,uBAAkE,QAA1C,EAAsB,QAAtB,EAAA/8E,cAAU,EAAVA,GAAYsI,kBAAU,eAAE00E,0BAAkB,eAAErtE,MACpE24E,uBAAuB,EACvBD,wBAAwB,IAGtBwzK,IAAsC,IAAAzzK,2BAA0B,CAClErL,uBAAkE,QAA1C,EAAsB,QAAtB,EAAA/8E,cAAU,EAAVA,GAAYsI,kBAAU,eAAE00E,0BAAkB,eAAErtE,MACpE24E,uBAAuB,EACvBD,wBAAwB,IAGtByzK,IAA0B97P,cAAU,EAAVA,GAAYsI,YACtCqzP,GAAgB,CACZrzP,WAAYtI,GAAWsI,WACvB1Q,MAAOlG,GAAE,4CACTqrF,uBAAkE,QAA1C,EAAsB,QAAtB,EAAA/8E,cAAU,EAAVA,GAAYsI,kBAAU,eAAE00E,0BAAkB,eAAErtE,MACpEkvF,8BAA+B+8J,GAC/B98J,6BAA8B+8J,KAElC,KAEAE,IAAyB/7P,cAAU,EAAVA,GAAY0+H,aACrC,CACI,CACIlzF,SAAU,gBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB+W,OAC5D1Y,MAAOY,GAAE,2CACTgW,MAAO1H,cAAU,EAAVA,GAAY0+H,cAG3B,GAEAs9H,IAAyC,IAAA5zK,2BAA0B,CACrErL,uBAAsE,QAA9C,EAA0B,QAA1B,EAAA/8E,cAAU,EAAVA,GAAYi8P,sBAAc,eAAEj/K,0BAAkB,eAAErtE,MACxE04E,wBAAwB,EACxBC,uBAAuB,IAGrB4zK,IAAwC,IAAA9zK,2BAA0B,CACpErL,uBAAsE,QAA9C,GAA0B,QAA1B,GAAA/8E,cAAU,EAAVA,GAAYi8P,sBAAc,iBAAEj/K,0BAAkB,iBAAErtE,MACxE04E,wBAAwB,EACxBC,uBAAuB,IAGrB6zK,IAA4Bn8P,cAAU,EAAVA,GAAYi8P,gBACxCN,GAAgB,CACZrzP,WAAYtI,GAAWi8P,eACvBrkQ,MAAOlG,GAAE,6CACTqrF,uBAAsE,QAA9C,GAA0B,QAA1B,GAAA/8E,cAAU,EAAVA,GAAYi8P,sBAAc,iBAAEj/K,0BAAkB,iBAAErtE,MACxEkvF,8BAA+Bm9J,GAC/Bl9J,6BAA8Bo9J,KAElC,KAEAjyE,GAA4C,CAC9C,CACIjtL,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,oCACRoE,OAAOkK,cAAU,EAAVA,GAAYwgD,SACf,gBAAC,UAAI,CAACznC,GAAI,EAAAC,WAAWixK,aAAajqL,GAAWwgD,SAAUzuD,MAAO,EAAA8mB,cAAcC,eACvE9Y,GAAW+kD,aAEhB,KACJn7C,WAAYlY,GAAE,uCACdmY,aAAa,EACbrY,aAAc,QACdJ,WAAW4O,cAAU,EAAVA,GAAYwgD,SAAU,gBAAC,UAAe,CAACvmC,OAAQja,GAAWo8P,cAAkB,OAE3Fp8P,cAAU,EAAVA,GAAYy+H,gBACN,CACIzhI,KAAM,KACNyM,KAAM/X,GAAE,8CACRoE,MAAOkK,cAAU,EAAVA,GAAYy+H,eACnB70H,WAAY,KACZC,aAAa,EACbrY,aAAc,mBAElB,MACRquB,OAAO,EAAA4/B,UAEH60I,GAAwC,CAC1C,CACIt3L,KACI,gBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,GAAE,0CACRoE,OAAOkK,cAAU,EAAVA,GAAYmtC,aACf,gBAAC,UAAa,CAAC1vB,KAAMzd,GAAWmtC,YAAa3iC,OAAO,uBACpD,KACJZ,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,cACd67C,iBAAiB,GAErB,CACIrwC,KACI,gBAAC,UAAW,CACRuK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,MAChCoU,KAAM,EAAAC,oBAGduC,KAAM/X,GAAE,yCACRoE,MACI,gBAAC,UAAiB,CACdW,SAAUuJ,cAAU,EAAVA,GAAYmO,cACtBzX,OAAQsJ,cAAU,EAAVA,GAAYkO,YACpBo/B,SAAUttC,cAAU,EAAVA,GAAYutC,gBACtB7H,kBAAmBmlB,KAG3BjhD,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,eAEpBquB,OAAO,EAAA4/B,UAEH48M,IAAiDr8P,cAAU,EAAVA,GAAYsK,YAC7D,CACI,CACItN,KACI,gBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,GAAE,wCACRoE,MAAO,gBAAC,UAAa,CAAC2nB,KAAMzd,GAAWsK,WAAYE,OAAO,uBAC1DZ,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,kBACd67C,iBAAiB,IAGzB,KAEAivN,IAAgDt8P,cAAU,EAAVA,GAAYu8P,eAC5D,CACI,CACIv/P,KACI,gBAAC,UAAY,CACTiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,OAG1CC,KAAM/X,GAAE,2CACRoE,MAAO,gBAAC,UAAa,CAAC2nB,KAAMzd,cAAU,EAAVA,GAAYu8P,cAAe/xP,OAAO,uBAC9DZ,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,iBACd67C,iBAAiB,GAErB,CACIrwC,KACI,gBAAC,UAAW,CACRuK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,MAChCoU,KAAM,EAAAC,oBAGduC,KAAM/X,GAAE,2CACRoE,MACI,gBAAC,UAAiB,CACdW,SAAUuJ,cAAU,EAAVA,GAAYw8P,gBACtB9lQ,OAAQsJ,cAAU,EAAVA,GAAYy8P,cACpB/2N,kBAAmBmlB,KAG3BjhD,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,iBAGtB,KAEAyqE,IAAqBj8D,cAAU,EAAVA,GAAY27E,sBAA+C,GAEhF13C,IAASjkC,cAAU,EAAVA,GAAYikC,SAAU,GAC/By4N,GAAaz4N,GAAO,IAAM,KAC1ByvE,GAAYzvE,GAAOA,GAAOnxC,OAAS,IAAM,KAE/C,OAAKkN,GAKD,uBAAKzO,UAAWf,EAAG,cACf,gBAAC,UAAsB,CACnBe,UAAWf,EAAG,SACd6zB,OAAQq4O,cAAU,EAAVA,GAAYnlO,QACpB1uB,uBAAwB6zP,cAAU,EAAVA,GAAYv0O,KACpCqzD,qBAAsBkhL,cAAU,EAAVA,GAAY3jP,GAClCuL,YAAaovF,cAAS,EAATA,GAAWn8E,QACxBxuB,wBAAyB2qG,cAAS,EAATA,GAAWvrF,KACpCuzD,sBAAuBg4B,cAAS,EAATA,GAAW36F,KAEtC,gBAAC,UAAiB,CACdxnB,UAAWf,EAAG,sBACdi7C,UAAW/5C,GAAE,kDACb4sD,aAAc2d,GACd/pE,YAAaR,GAAE,sDAEnB,gBAAC,UAAS,CAAC6mB,mBAAiB,EAAChnB,UAAWf,EAAG,SAAUimB,KAAMwzK,GAAcz4L,aAAa,kBACtF,gBAAC,UAAS,CAAC+mB,mBAAiB,EAAChnB,UAAWf,EAAG,SAAUimB,KAAM4yH,GAAa73I,aAAa,iBACrF,gBAAC,UAAS,CACN+mB,mBAAiB,EACjBhnB,UAAWf,EAAG,SACdimB,KAAMilP,GACNlqQ,aAAa,oBAEhByyC,GAAO/7B,KAAI,SAACi8B,EAAOh8B,GAChB,IAAMw0P,EAA4C,CAC9C,CACI3/P,KAAMs+P,EAAgBn3N,EAAOh8B,GAC7BsB,KAAM8xP,EAAgB7pQ,GAAGyyC,EAAOh8B,GAChCrS,MAAO,gBAAC,UAAa,CAAC0U,OAAO,yBAAyB0sB,SAAUiN,aAAK,EAALA,EAAO5M,UACvE3tB,WAAYlY,GAAE,gDACdmY,aAAa,EACb4M,KAAM,EACF0tB,aAAK,EAALA,EAAOhc,QAAQgc,aAAK,EAALA,EAAOprB,IAChB,CACI/b,MAAMmnC,aAAK,EAALA,EAAO6+B,cACT,gBAAC,UAAO,CACJpxE,SAAU,EAAAC,oBAAoBC,YAC9BC,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACkT,UAAQ,EAACrT,MAAO,EAAAK,wBAAwBH,OACnDP,GAAE,qDAIV,SAAC8yB,EAAQmrC,GAAsB,OAC5B,gBAAC,UAAe,CACZp+D,UAAWo+D,EACXn9D,UAAW,EAAAC,qBAAqBkS,WAHR,IAOpC,KACJ8E,KAAM/X,GAAE,wCACRoE,MACI,gBAAC,UAAoB,CAAC5C,YAAYixC,aAAK,EAALA,EAAO6+B,gBACpC,IAAA1rC,oBAAmB6M,aAAK,EAALA,EAAOhc,KAAMgc,aAAK,EAALA,EAAOprB,KAGhDnP,WAAYlY,GAAE,gDACdmY,aAAa,GAEjB,QAKlB,OACI,gBAAC,UAAS,CACNrG,IAAK,8BAAuB2E,GAC5BoQ,mBAAiB,EACjBhnB,UAAWf,EAAG,SACdimB,KAAMkmP,EACNnrQ,aAAc,8BAAuB2W,IAGjD,IACCtO,QAAQkiQ,cAAsB,EAAtBA,GAAwBjpQ,SAC7B,gCACI,gBAAC,UAAY,CACTvB,UAAWf,EAAG,gBAAiB,CAC3B,yBAAyB,IAE7B8qD,KAAMygN,GACN7+K,iCAA+B,IAEnC,uBAAK3rF,UAAWf,EAAG,gBAG1BsrQ,IACG,gBAAC,UAAY,CACTvqQ,UAAWf,EAAG,gBAAiB,CAC3B,0BAA0B,IAE9B8qD,KAAMwgN,KAGbK,IACG,gCACI,uBAAK5qQ,UAAWf,EAAG,eACnB,gBAAC,UAAY,CACTe,UAAWf,EAAG,gBAAiB,CAC3B,2BAA2B,IAE/B8qD,KAAM6gN,MAIlB,gBAAC,UAAS,CACN5jP,mBAAiB,EACjBhnB,UAAWf,EAAG,SACdimB,KAAM69K,GACN9iM,aAAa,qBAEhB8qQ,IACG,gBAAC,UAAS,CACN/jP,mBAAiB,EACjBhnB,UAAWf,EAAG,SACdimB,KAAM6lP,GACN9qQ,aAAa,sBAGpB6qQ,IACG,gBAAC,UAAS,CACN9jP,mBAAiB,EACjBhnB,UAAWf,EAAG,SACdimB,KAAM4lP,GACN7qQ,aAAa,wBAnIlB,IAwIf,IAEA,UAAegqQ,E,2zBCpkBf,YACA,UAEMpnQ,EAA6B,CAC/B8K,KAAM,CAAC,EACP49C,IAAK,IAGT,mBAAgBvoD,EAAsBC,G,MAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAH,UACO,IAAAo2B,EAAav1B,EAAM,SAEnBuI,EAAOgtB,EAAQ,GAEvB,OAAO,EAAP,KACOx1B,GAAK,CACR2K,KAAM,EAAF,KACG3K,EAAM2K,OAAI,OACZnC,GAAKgtB,EAAQ,IAElB+yB,IAAK,EAAF,OAAMvoD,EAAMuoD,MAAG,IAAE//C,IAAE,KAI9B,KAAK,EAAAnJ,aACO,MAAYY,EAAM,QAEpBosO,EAAU,EAAH,GACNrsO,EAAM2K,aAGN0hO,EAAQ,GAEf,IAAMg8B,EAASroQ,EAAMuoD,IAAIj9B,QAAO,SAAC9iB,GAAO,OAAAA,IAAO,CAAP,IAExC,OAAO,EAAP,KACOxI,GAAK,CACR2K,KAAM0hO,EACN9jL,IAAK8/M,IAIb,KAAK,EAAA5nQ,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAGlB,C,+BClDD,WAAgB,OAAS,sCAAsC,SAAW,wC,+3BCD1E,kBACA,WACA,WAEA,WAoBS,EAAAm2M,iBAlBgB,SAAC1oL,GACtB,IAAMoD,GAAW,IAAAC,eAEXslL,GAA0B,IAAA9jM,cAAY,IAAAk0N,6BAA4B/4M,IAClE4oL,GAAiB,IAAA/jM,cAAY,IAAAq4K,0BAAyBl9J,IAQ5D,OANArxB,EAAMoL,WAAU,WACRimB,GACAoD,GAAS,IAAA41M,qBAAoBh5M,GAErC,GAAG,CAACA,EAAaoD,IAEV,CACHulL,wBAAuB,EACvBC,eAAc,EAEtB,C,o5BCtBA,kBACA,WASMiyD,EAAqC,SAAChsQ,GAChC,IAAAoW,EAA4CpW,EAAK,KAA3CU,EAAsCV,EAAK,UAAhC2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAEzD,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAY3Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAM9E,KAAM7K,EAAW6P,YAAY,MAAMD,EAAE,0BAC3C,wBACI/E,KAAMkK,EACNnF,EAAE,20BAKtB,EAEAy6P,EAAiBl6P,YAAc,mBAE/B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WA8E7B,EAAA1E,WAAAA,EAxEI,EAAA4P,yBAA2B,SACpC+J,GAUA,OAAQA,GACJ,IAAK,WAmCL,IAAK,sBAOL,IAAK,4BACD,MAAO,CACHtV,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAvC1C,IAAK,oBAOL,IAAK,mBAcL,IAAK,oBACD,MAAO,CACHL,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,OAkB1C,QACI,MAAO,CACHwO,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBI,OAIlD,EAGA,UAAegqQ,C,49BC9Gf,kBAEA,cACA,cACA,aACA,cACA,WAGa,EAAA/qK,8BAAgC,CACzC/uF,OAAQ,EAAAtQ,qBAAqBwQ,MAC7ByB,UAAW,EAAAjS,qBAAqB0Q,OAChCD,QAAS,EAAAzQ,qBAAqBkS,UAC9BC,aAAc,EAAAnS,qBAAqB+W,KACnC1E,QAAS,EAAArS,qBAAqBsS,YAC9BC,SAAU,EAAAvS,qBAAqBsS,YAC/BvJ,MAAO,EAAA/I,qBAAqBC,UAahC,IAAMlC,EAAK,UAAWC,KAAK,WAErBqsQ,EAAuCnsQ,EAAMC,MAAK,SAACC,GAC7C,IAAA+G,EAA8F/G,EAAK,MAA5FksQ,EAAuFlsQ,EAAK,YAA/EupH,EAA0EvpH,EAAK,SAArEs5F,EAAgEt5F,EAAK,MAA9DU,EAAyDV,EAAK,UAAnDqlH,EAA8CrlH,EAAK,eAAnC2nQ,EAA8B3nQ,EAAK,0BAE3G,OACI,uBACIU,WAAW,aACPA,EACAf,EAAG,OAAQ,CACP,oBAAqBusQ,EACrB,iBAAkB3iJ,MAI1B,uBACI7oH,UAAWf,EAAG,OAAQ,CAClB,8BAA+BgoQ,KAGnC,gBAAC,UAAgB,CAACznM,YAAao5B,KAEnC,uBAAK54F,WAAW,aAAGf,EAAG,QAAS0lH,KAAmBt+G,GAG9D,IAEA,UAAeklQ,C,0pCCxDf,kBAEA,cACA,cACA,WACA,cACA,cACA,WACA,WACA,WACA,cAIA,aACA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,aAEA,cAEMtsQ,EAAK,UAAWC,KAAK,WAIrBusQ,EAAiCrsQ,EAAMC,MAAK,WACtC,IAAAc,GAAM,IAAAC,kBAAgB,EAExBuuC,GAAS,IAAAC,aAgBT5pB,EAAa5lB,EAAM0E,SACrB,WAA8B,OAC1B,CACI0jB,GAAI,EAAAm/I,mBAAmBwD,WACvB5mI,SAAU,EAAAojI,mBAAmBwD,WAC7Bx3I,OAAQ,WAAM,mCAAOxyB,EAAE,mCAAT,EACdF,aAAc,eAElB,CACIunB,GAAI,EAAAm/I,mBAAmBhlH,MACvBpe,SAAU,EAAAojI,mBAAmBhlH,MAC7BhvB,OAAQ,WAAM,mCAAOxyB,EAAE,6BAAT,EACdF,aAAc,SAElB,CACIunB,GAAI,EAAAm/I,mBAAmB/hD,eACvBrhF,SAAU,EAAAojI,mBAAmB/hD,eAC7BjyF,OAAQ,WAAM,mCAAOxyB,EAAE,uCAAT,EACdF,aAAc,mBAElB,CACIunB,GAAI,EAAAm/I,mBAAmBl7E,mBACvBloD,SAAU,EAAAojI,mBAAmBl7E,mBAC7B94D,OAAQ,WAAM,mCAAOxyB,EAAE,2CAAT,EACdF,aAAc,uBAElB,CACIunB,GAAI,EAAAm/I,mBAAmB+kG,iBACvBnoO,SAAU,EAAAojI,mBAAmB+kG,iBAC7B/4O,OAAQ,WAAM,mCAAOxyB,EAAE,yCAAT,EACdF,aAAc,qBA7BQ,GAgC9B,CAACE,IAGC41I,GAAoB,eAEpB41H,EACF,gCACI,gBAAC,UAAS,CAACpsQ,MAAOY,EAAE,0BACpB,gBAAC,UAAc,KACX,gBAAC,UAAM,KACH,gBAAC,UAAa,CACVZ,MAAOY,EAAE,wBACTN,UACI,gCACI,gBAAC,UAAiB,CAACG,UAAWf,EAAG,sBACjC,gBAAC,UAAuB,UAKxC,uBAAKe,UAAWf,EAAG,aACf,gBAAC,UAAc,CAAC+lB,WAAYA,EAAY2e,YApEK,SAACnc,GAC1D,IAAI,aAASA,GAAK,CACd,IAAM+b,GAAW,IAAAwxJ,cAAavtK,EAAImnB,GAElC,UAAQ33B,KAAK,CACTusB,SAAQ,GAEhB,MACI,UAAQvsB,KAAK,EAAD,GACLwQ,GAGf,OAuEA,OACI,gBAAC,UAAyB4tB,SAAQ,CAAC7wC,MAAOwxI,GACtC,gBAAC,UAAiB,KACb41H,EACD,gBAAC,EAAA/nO,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAA6iI,mBAAmBwD,YAC5B,gBAAC,UAAU,OAEf,gBAAC,EAAAtmI,MAAK,CAACC,KAAM,EAAA6iI,mBAAmBhlH,OAC5B,gBAAC,UAAkB,OAEvB,gBAAC,EAAA9d,MAAK,CAACC,KAAM,EAAA6iI,mBAAmB/hD,gBAC5B,gBAAC,UAAc,OAEnB,gBAAC,EAAA/gF,MAAK,CAACC,KAAM,EAAA6iI,mBAAmBl7E,oBAC5B,gBAAC,UAA0B,OAE/B,gBAAC,EAAA5nD,MAAK,CAACC,KAAM,EAAA6iI,mBAAmB+kG,kBAC5B,gBAAC,UAAgB,QAGzB,gBAAC,UAAQ,OAIzB,IAEA,UAAeD,C,kYCtJf,eAWA,WACA,cACA,UAEM5oQ,EAAiC,CACnCo8B,WAAY,KACZQ,WAAY,KACZF,oBAAqB,UAAcx8B,QACnCs8B,SAAU,KACVF,kBAAmB,UAAcp8B,SAGrC,mBAAgBC,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAgqL,+BACO,IAAAhnL,EAAUtC,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACRi8B,WAAY15B,IAIpB,KAAK,EAAAinL,oCAID,OAHQjnL,EAAUtC,EAAM,OAEJ,IAAA2a,kBAAiBrY,EAAOvC,EAAMi8B,YAK3C,EAAP,KACOj8B,GAAK,CACRm8B,kBAAmB,UAAch8B,UAL1BH,EASf,KAAK,EAAAypL,oCACO,IAAAppL,EAAiBJ,EAAM,MAG/B,OAHesC,EAAUtC,EAAM,OAEX,IAAA2a,kBAAiBrY,EAAOvC,EAAMi8B,YAK3C,EAAP,KACOj8B,GAAK,CACRq8B,SAAU,KACVF,kBAAmB,UAAc77B,SAASD,KANnCL,EAUf,KAAK,EAAA0pL,sCACO,IAAA5jD,EAAqB7lI,EAAM,UAGnC,OAHmBsC,EAAUtC,EAAM,OAEf,IAAA2a,kBAAiBrY,EAAOvC,EAAMi8B,YAK3C,EAAP,KACOj8B,GAAK,CACRq8B,SAAUypG,EACV3pG,kBAAmB,UAAc37B,KAN1BR,EAUf,KAAK,EAAA2pL,sCAID,OAHQpnL,EAAUtC,EAAM,OAEJ,IAAA2a,kBAAiBrY,EAAOvC,EAAMi8B,YAK3C,EAAP,KACOj8B,GAAK,CACRu8B,oBAAqB,UAAcp8B,UAL5BH,EASf,KAAK,EAAA4pL,sCAID,OAHQvpL,EAAiBJ,EAAM,MAAhBsC,EAAUtC,EAAM,OAEX,IAAA2a,kBAAiBrY,EAAOvC,EAAMi8B,YAK3C,EAAP,KACOj8B,GAAK,CACRy8B,WAAY,KACZF,oBAAqB,UAAcj8B,SAASD,KANrCL,EAUf,KAAK,EAAA6pL,wCAID,OAHQ/jD,EAAqB7lI,EAAM,UAAhBsC,EAAUtC,EAAM,OAEf,IAAA2a,kBAAiBrY,EAAOvC,EAAMi8B,YAK3C,EAAP,KACOj8B,GAAK,CACRy8B,WAAYqpG,EACZvpG,oBAAqB,UAAc/7B,KAN5BR,EAUf,KAAK,EAAAS,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAGlB,C,q7BClID,kBACA,WACA,cACA,WAQMw2O,EAAiCp6O,EAAMC,MAAK,SAACC,GACvC,IAAAmpB,EAAcnpB,EAAK,IAAdiD,EAASjD,EAAK,KAEvBmyC,EAAO,KACPzL,EAAU,KAER0M,GAASjqB,aAAG,EAAHA,EAAKiqB,SAAU,GAExByvE,EAAYzvE,EAAOA,EAAOnxC,OAAS,IAAM,KAC3CgB,IAAS,EAAAswB,cAAcE,aAAeovF,IACtCn8E,EAAUm8E,EAAUgiJ,WACpB1yN,GAAO,IAAA1L,oBAAmBo8E,EAAUvrF,KAAMurF,EAAU36F,KAGxD,IAAM2jP,EAAaz4N,EAAO,IAAM,KAMhC,OALInwC,IAAS,EAAAswB,cAAcC,QAAUq4O,IACjCnlO,EAAUmlO,EAAWhH,WACrB1yN,GAAO,IAAA1L,oBAAmBolO,EAAWv0O,KAAMu0O,EAAW3jP,KAGnD,gBAAC,UAAkB,CAACwe,QAASA,EAASyL,KAAMA,GACvD,IAEA,UAAe+nM,C,+BCjCf,WAAgB,MAAQ,oCAAoC,OAAS,qCAAqC,SAAW,uC,8KCDrH,eAea,EAAAoyB,sBAAwB,SAACrmQ,GAAwE,OAC1GhD,KAAM,EAAA2uO,yBACN3rO,MAAK,EAFqG,EAKjG,EAAAsrO,kBAAoB,SAACtrO,GAAsE,OACpGhD,KAAM,EAAAspQ,+BACNtmQ,MAAK,EAF+F,EAK3F,EAAA0rO,oBAAsB,SAC/B1rO,EACAwG,GACsC,OACtCxJ,KAAM,EAAAupQ,iCACNvmQ,MAAK,EACLwG,KAAI,EAHkC,EAM7B,EAAAilO,kBAAoB,SAACzrO,EAAgClC,GAAoD,OAClHd,KAAM,EAAAsnL,+BACNxmL,MAAK,EACLkC,MAAK,EAH6G,EAMzG,EAAA49D,MAAQ,WAAoB,OACrC5gE,KAAM,EAAAi1C,MAD+B,C,6JCxCzC,kBACA,aACA,cACA,cAEMv4C,EAAK,UAAWC,KAAK,WAYrB6sQ,EAAyC,UAAM1sQ,MAAK,SAACC,GAEnD,IAAA6rC,EAOA7rC,EAAK,eANL8rC,EAMA9rC,EAAK,cALL0sQ,EAKA1sQ,EAAK,mBAJLgsC,EAIAhsC,EAAK,eAHL2sQ,EAGA3sQ,EAAK,oBAFLotD,EAEAptD,EAAK,eADLU,EACAV,EAAK,UAET,OACI,+BACIU,WAAW,aACPf,EAAG,UAAW,CACV,4BAA6BksC,IAEjCnrC,KAGForC,GAAiBE,IACf,+BAAKtrC,UAAWf,EAAG,UACf,+BAAKe,WAAW,aAAGf,EAAG,cAAe+sQ,IAAsB5gO,GAC3D,+BAAKprC,WAAW,aAAGf,EAAG,eAAgBgtQ,IAAuB3gO,IAGpEohB,GAAkB,+BAAK1sD,UAAWf,EAAG,gBAAiBytD,GAGnE,IAEA,UAAeq/M,C,q7BChDf,kBACA,cAEA,cACA,WAEA,cACA,cAEM9sQ,EAAK,UAAWC,KAAK,WAQrBgtQ,EAA+C9sQ,EAAMC,MAAK,SAACC,GACrD,IAAA2xB,EAA2C3xB,EAAK,YAAnCsD,EAA8BtD,EAAK,YAAtB4xB,EAAiB5xB,EAAK,aAExD,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,yCACRE,WAAY,CACRohB,YAAa,gBAAC,UAAW,CAACA,YAAaA,IACvCE,aACI,gBAAC,UAA0B,CACvBnxB,UAAWf,EAAG,iBACd2D,YAAaA,EACbsuB,aAAcA,OAO1C,IAEA,UAAeg7O,C,q7BCvCf,kBACA,WACA,YACA,WACA,UAqCA,UA9BqD,SAAC5sQ,GAC1C,IAAAiI,EAA0BjI,EAAK,WAAnBU,EAAcV,EAAK,UAE/Ba,GAAM,IAAAC,kBAAgB,EAGxB4uF,IADkB,IAAA15E,aAAY,EAAAipC,wBACZ,IAAAjpC,aAAY,EAAAspC,wBAEpC,IAAKr3C,EACD,OAAO,KAGX,IAAMgqB,EAAOhqB,EAAW,GAAKA,EAAW,GAExC,OACI,iDACK,EAKAgqB,IAASy9D,GACN,wBAAC,UAAS,CAACp7E,eAAa,EAACpT,MAAO,EAAAyS,mBAAmBuqC,YAAax9C,UAAWA,GACtEG,EAAE,8CAKvB,C,kuCCvCA,kBAEA,cACA,cACA,WACA,WACA,WACA,cACA,UASMgsQ,GANK,UAAWjtQ,KAAK,WAMeE,EAAMC,MAAK,SAACC,G,MAC1CU,EAAcV,EAAK,UAErBu0B,GAAW,IAAAC,eAEXs4O,EAAehtQ,EAAM0E,SAAQ,WAC/B,OAAO8+D,KAAKC,UAAU,CAAC,EAAG,KAAM,EACpC,GAAG,IAEG,IAAkBzjE,EAAMuE,SAAiB,QAAO,GAA/CpB,EAAI,KAAE8pQ,EAAO,KACd,IAAkBjtQ,EAAMuE,SAAiByoQ,GAAa,GAArDt8P,EAAI,KAAEunM,EAAO,KAEd9oG,EAAkBnvG,EAAM6yB,WAAW,WACzC,OAA8C,QAAzC,EAAAs8E,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkB8lL,iBAK/D,uBAAKtsQ,UAAWA,EAAWyH,MAAO,CAAE8kQ,aAAc,SAC9C,0BACIxrQ,QAAS,WACL,IAAMgL,EAAO62D,KAAKM,MAAMpzD,GAElBurC,EAAQ,IAAI,EAAAuoH,SAAS,CAAErhK,KAAI,EAAEwJ,KAAI,IAEvC8nB,GAAS,IAAA69E,UAASr2D,GACtB,GAAC,mBAIL,2BACA,2BACA,2BACI,yBACI92C,MAAOhC,EACP6Z,SAAU,SAACnR,GACPohQ,EAAQphQ,EAAMoc,OAAO9iB,MACzB,IAEJ,2BACA,4BACIkD,MAAO,CACH3G,MAAO,OACPsK,OAAQ,SAEZ7G,MAAOuL,EACPsM,SAAU,SAACnR,GACPosM,EAAQpsM,EAAMoc,OAAO9iB,MACzB,MAlCL,IAuCf,KAEA,UAAe4nQ,C,+BCvEf,WAAgB,sBAAsB,0DAA0D,wBAAwB,4DAA4D,kBAAkB,sDAAsD,gBAAgB,oDAAoD,cAAc,kDAAkD,eAAe,mDAAmD,0BAA0B,8DAA8D,OAAS,6CAA6C,SAAW,+C,sBCD3lB,IAAYh1P,EAMAsyC,EAgBAgiH,E,0HAtBZ,SAAYt0J,GACR,uDACA,iDACA,gDACH,CAJD,CAAYA,IAAa,gBAAbA,EAAa,KAMzB,SAAYsyC,GACR,0BACA,0BACA,8BACA,oBACA,+BACH,CAND,CAAYA,IAAoB,uBAApBA,EAAoB,KAgBhC,SAAYgiH,GACR,cACA,4BACH,CAHD,CAAYA,IAAwB,2BAAxBA,EAAwB,I,stBCtBpC,IAEYx8D,EAFZ,YAEA,SAAYA,GACR,8BACA,8BACA,yBACH,CAJD,CAAYA,IAAuB,0BAAvBA,EAAuB,KAMnC,kBAMI,WAAYu9J,EAAuDjqQ,GAC/D,QAAK,UAACiqQ,IAAW,K,OAEjB,EAAKjqQ,KAAOA,EAKZygD,OAAO8yC,eAAe,EAAMG,EAAgBD,W,CAChD,CACJ,OAhBgF,OAgBhF,EAhBA,CAAgF,EAAAy2K,YAAnE,EAAAx2K,gBAAAA,EAkBA,EAAA+Y,uBAAyB,SAAC3rG,GACnC,OAAOA,aAAiB4yF,CAC5B,EAEa,EAAAk0F,yBAA2B,SAAC9mL,GACrC,OAAOA,aAAiB4yF,GAA4C,MAAzB5yF,EAAMolL,cACrD,EAEa,EAAAikF,sBAAwB,SAACrpQ,GAClC,OAAOA,aAAiB4yF,GAA4C,MAAzB5yF,EAAMolL,cACrD,EAEa,EAAAkkF,uBAAyB,SAACtpQ,GACnC,SAAK,IAAA2rG,wBAAuB3rG,IAIrBA,EAAMd,OAAS0sG,EAAwB29J,UAClD,EAEa,EAAAC,oBAAsB,SAACxpQ,GAChC,SAAK,IAAA2rG,wBAAuB3rG,IAIrBA,EAAMd,OAAS0sG,EAAwBn2E,YAClD,C,q7BCpDA,kBACA,cAEA,cACA,WACA,cAEM75B,EAAK,UAAWC,KAAK,WAMrB4tQ,EAAsD1tQ,EAAMC,MAAK,SAACC,GAC5D,IAAAytB,EAAiBztB,EAAK,aAE9B,OACI,uBAAKU,UAAWf,EAAG,UACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,iDACRE,WAAY,CACRkd,aAAc,gBAAC,UAAY,CAACA,aAAcA,OAK9D,IAEA,UAAe+/O,C,ouCC5Bf,kBAEA,aACA,cACA,cAEA,UACA,aACA,cACA,WACA,cACA,WACA,WACA,WACA,WAEM7tQ,EAAK,UAAWC,KAAK,WAYrB0iL,EAAgB,SAACr/K,GACnB,OAAQA,GACJ,KAAK,EAAA2qD,uBAAuBj4B,QACxB,OAAO,IAAA83O,sBACX,KAAK,EAAA7/M,uBAAuB37B,KACxB,OAAO,IAAAy7O,oBACX,KAAK,EAAA9/M,uBAAuBC,WACxB,OAAO,IAAA71B,gBACX,QACI,OAAO,KAEnB,EAEM21O,IAAY,MACb,EAAA//M,uBAAuBj4B,SAAU,IAClC,EAAC,EAAAi4B,uBAAuB37B,MAAO,MAC/B,EAAC,EAAA27B,uBAAuBC,YAAa,EAAA/0B,iBAAiB9hB,I,GAqG1D,UA7F0C,SAAChX,GAC/B,IAAAU,EAAwBV,EAAK,UAAlB6a,EAAa7a,EAAK,SAE7Ba,GAAM,IAAAC,kBAAgB,EAExB,IAA8BhB,EAAMuE,SARnB,KAQuD,GAAvE0pB,EAAU,KAAEmK,EAAa,KAC1B,IAAoCp4B,EAAMuE,SAAiC,EAAAupD,uBAAuBj4B,SAAQ,GAAzGi4O,EAAa,KAAEC,EAAgB,KAEhC1rQ,EAAqB,CACvB,CACI4E,MAAOlG,EAAE,uDACToE,MAAO,EAAA2oD,uBAAuBj4B,SAElC,CACI5uB,MAAOlG,EAAE,oDACToE,MAAO,EAAA2oD,uBAAuB37B,MAElC,CACIlrB,MAAOlG,EAAE,qDACToE,MAAO,EAAA2oD,uBAAuBC,aAQhCnyC,EAAe,WACjB,IAAM0jC,GAAc,IAAA7mB,mBAAkBxK,IAAe,EAErCqxB,IAAgBpsC,OAAOC,MAAMmsC,IAU7CvkC,EALgC,CAC5B5V,MAAOm6C,EACPx1C,SAAUgkQ,GAIlB,EAwBA,OACI,uBAAKltQ,WAAW,aAAGf,EAAG,QAASe,IAC3B,gBAAC,UAAK,CACFkY,KAAK,OACLlY,UAAWf,EAAG,QAAS,gBACvBsF,MAAO8oB,EACP8K,KAAMypJ,EAAcsrF,GACpBrtQ,UAAWotQ,EAAaC,GACxB9wP,SAAUob,EACVX,QA/BQ,SAAC5rB,GAhDP,UAiDNA,EAAMgH,KACN+I,GAER,EA4BY0qP,OAAO,IAEX,gBAAC,UAAa,CACV1lQ,UAAWf,EAAG,QAAS,eACvBwH,cAAeymQ,EACfzrQ,QAASA,EACT+C,SAhCS,SAACD,GAClB4oQ,EAAiB5oQ,GAEbA,IAAU,EAAA2oD,uBAAuBC,YACjC31B,EAvDU,IA0DVjzB,IAAU,EAAA2oD,uBAAuB37B,MACjCiG,EA5De,KA+DfjzB,IAAU,EAAA2oD,uBAAuBj4B,SACjCuC,EAhEe,IAkEvB,EAmBYpxB,aA3DS,SAACN,GAAuC,mCAAOA,aAAM,EAANA,EAAQO,MAAf,EA4DjDS,eA1DW,SAAChB,GAAoB,OAAAA,EAAOvB,KAAP,EA2DhC1C,gBAAiB,EAAAC,4BAA4BiF,aAEjD,gBAAC,UAAM,CAACvG,MAAO,EAAA2N,gBAAgB8O,QAASlc,QAASia,GAC5C7a,EAAE,iDAInB,C,44BC/IA,kBACA,WAOMitQ,EAAgC,SAAC9tQ,GAC3B,IAAAoW,EAAsBpW,EAAK,KAArB0W,EAAgB1W,EAAK,YAEnC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aACvE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,sBACR,wBACI/E,KAAMkK,EACNnF,EAAE,sJAKtB,EAEAu8P,EAAYh8P,YAAc,cAE1B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,MAG7B,EAAA5G,WAAAA,EACT,UAAe+7P,EAEF,EAAAh0I,iBAAmB,CAC5Bj9G,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTp1B,EAAS,YACT8C,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WAUR,OAAIryB,EACO,CACHgR,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBkS,WAItC3O,EACO,CACHiR,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB0Q,QAItCiuD,EACO,CACHnqD,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,WAItCpR,EACO,CACH+Q,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqBwQ,OAInC,CACHgE,KAAM,EAAAC,kBACNK,YACI+gB,GAAYC,GAAap1B,EAAY,EAAAV,qBAAqB6U,UAAY,EAAA7U,qBAAqB+W,KAEvG,E,y3BCrFJ,kBACA,WAOMo1P,EAAqC,SAAC/tQ,GAChC,IAAA2B,EAA2B3B,EAAK,UAArB0W,EAAgB1W,EAAK,YAExC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,MACtD,qBAAGU,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,2UAEN,wBACI/E,KAAMkK,EACNnF,EAAE,ujBAKtB,EAEAw8P,EAAiBj8P,YAAc,mBAE/B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,MAG7B,EAAA5G,WAAAA,EACT,UAAeg8P,C,q7BCpCf,kBACA,cACA,cAMMpuQ,EAAK,UAAWC,KAAK,WAErBs6O,EAAiCp6O,EAAMC,MAAK,SAACC,GACvC,IAAA0mC,EAAY1mC,EAAK,QAEzB,OAAO,uBAAKU,UAAWf,EAAG,aAAc+mC,EAC5C,IAEA,UAAewzM,C,q7BChBf,kBAEA,aACA,cACA,cAEA,cACA,cAEA,WAEA,WAEA,WAKA,cACA,cACA,cAEMv6O,EAAK,UAAWC,KAAK,WAmBrBouQ,EAA2EluQ,EAAMC,MAAK,SAACC,GACjF,IAAAuW,EAA+BvW,EAAK,MAA7B+yC,EAAwB/yC,EAAK,YAAhBozC,EAAWpzC,EAAK,OAEpCa,GAAM,IAAAC,kBAAgB,EAExBmtQ,EAAY,SAAC/qO,GACf,OACI,uBAAKxiC,UAAWf,EAAG,QACf,uBAAKe,WAAW,aAAGf,EAAG,SAAU,wBAAyBujC,EAAIgrO,sBACxDhrO,EAAIirO,YAET,uBAAKztQ,WAAW,aAAGf,EAAG,SAAU,yBAA0BujC,EAAIkrO,uBACzDlrO,EAAImrO,aAIrB,EAEMC,EAAoB,SAAC9sQ,EAAemR,GAAuB,OAC7Dw7P,WAAY,uBAAKx7P,IAAK,2BAAoBA,GAAOjS,UAAWf,EAAG,cAAe,uBAC9E0uQ,YACI,uBACI17P,IAAK,8BAAuBA,GAC5BjS,UAAWf,EAAG,cAAe,wBAC7BwI,MAAO,CACH3G,MAAO,UAAGA,EAAK,QAPkC,EAajE,OACI,uBAAKd,UAAWf,EAAG,UACdsuQ,EACG13P,EACM,CACI43P,WAAY,gBAAC,UAAS,CAACxsQ,UAAW,EAAAC,qBAAqBC,WACvDwsQ,YAAaxtQ,EAAE,2CAA4C,CACvD6vL,SAAUn6K,EAAMs+K,aAEpBu5E,qBAAsBzuQ,EAAG,qBAE7B2uQ,EAAkB,KAE3BL,EACGl7N,EACM,CACIo7N,WACI,gBAAC,UAAW,CACRxsQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,UAClCL,KAAM,EAAAC,oBAGdg4P,YAAaxtQ,EAAE,kCAAmC,CAC9CoB,OAAQ8wC,EAAY9wC,OACpBklB,MAAO4rB,EAAY5rB,MACnB8yD,YAAalnC,EAAYknC,YACzBC,YAAannC,EAAYmnC,cAE7Bk0L,qBAAsBzuQ,EAAG,qBAE7B2uQ,EAAkB,KAE5B,uBAAK5tQ,UAAWf,EAAG,cACdyzC,aAAM,EAANA,EAAQ/7B,KAAI,SAACi8B,GACV,IAAKA,EACD,OAAO,KAGX,IAAIqH,EACJ,GACIrH,EAAMrwC,OAAS,EAAAmvE,kCAAkClxD,gBACjDoyB,EAAMrwC,OAAS,EAAAmvE,kCAAkCjxD,aAEjDw5B,EACI,gBAAC,UAAQ,CACLvkC,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,gBAGvC,CACH,IAAI83P,EAAgB,EAAA3sQ,qBAAqB+W,KACrC26B,EAAMrwC,OAAS,EAAAmvE,kCAAkCC,WACjDk8L,EAAgB,EAAA3sQ,qBAAqBC,UAEzC84C,EAAW,gBAAC,UAAU,CAAChtC,SAAS2lC,aAAK,EAALA,EAAOh8B,QAAS,GAAK,EAAG3V,UAAW4sQ,GACvE,CAEA,OAAON,EAAU,CACbE,WAAYxzN,EACZ0zN,YACI,gBAAC,UAAa,CAAC10P,OAAO,yBAAyB0sB,SAAUiN,EAAM5M,QAASu0D,UAAU,OAEtFmzK,qBAAsBzuQ,EAAG,wBAEjC,MACEyzC,aAAM,EAANA,EAAQnxC,SACN,gCACKgsQ,EAAUK,EAAkB,GAAI,MAChCL,EAAUK,EAAkB,GAAI,QAMzD,IAEA,UAAeN,C,q7BCtJf,kBACA,WACA,cAEA,cACA,cACA,WAGA,aACA,cACA,cAGA,WACA,WACA,cAGMruQ,EAAK,UAAWC,KAAK,WAUrB4uQ,EAAgD1uQ,EAAMC,MAAK,SAACC,GACtD,IAAAoP,EAA+DpP,EAAK,QAA3D0lD,EAAsD1lD,EAAK,cAA5CwoF,EAAuCxoF,EAAK,cAA7B+pI,EAAwB/pI,EAAK,oBAEpEa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXi6O,GAAU,IAAAjqQ,UAAQ,WACpB,OAAO,aAAM4K,aAAO,EAAPA,EAAS66E,KAAM,KAChC,GAAG,CAAC76E,IAEEs/P,GAA4B,eAoBlC,OANA,aAAgC3kI,EAAqB,CAAC2kI,IAMjDt/P,EAKD,gCACKo5E,EACG,gBAAC,UAAM,CACHtnF,MAAO,EAAA2N,gBAAgB8O,QACvBjd,UAAWf,EAAG,SAAU,iBACxB8B,QA7BgB,W,MACtBktQ,EAAcF,EAAQjmL,GACvBmmL,GAAgBnmL,GAAkB9iC,GAIvCgpN,EAA0B9lO,QAAQ,CAC9B4/C,cAAa,EACb9iC,cAAa,EACb/+B,aAAiC,QAApB,EAAAgoP,aAAW,EAAXA,EAAarmP,eAAO,eAAE1P,OAAQ,KAEnD,EAmBgB5J,UAAW+6H,EAAoBlmI,SAE9BhD,EAAE,yDAEP,KACJ,gBAAC,UAAyB,CACtB4L,KAAMiiQ,EAA0BjiQ,KAChCyrP,eAtBiB,SAACzrP,GAC1B8nB,GAAS,IAAAkxB,wBAAuBh5C,EAAKi5C,cAAej5C,EAAK+7E,eAC7D,EAqBYhlF,cAAeumI,EACft7H,SAAUigQ,EAA0BjgQ,SACpCjO,QAASkuQ,EAA0BluQ,WApBpC,IAwBf,IAEA,UAAeguQ,C,+BCtFf,WAAgB,kBAAkB,sCAAsC,OAAS,6BAA6B,SAAW,+B,ygBCOzH,kBACA,aAEa,EAAAI,iCAAmC,SAC5C3oQ,G,MAEA,IAAKA,EACD,OAAO,EAGX,IAAM41N,EAAuB,IAAI/sM,IAAI7oB,EAAMmlE,mBAAqB,IAEhE,OAAOpiE,QACH/C,EAAMq0C,UACS,QAAX,EAAAr0C,EAAMg5E,aAAK,eAAEh9E,SAEbgE,EAAMg5E,MAAM13B,MAAM,GAAG7f,OAAM,SAACoiC,GACxB,OAAOA,EAAK10B,UAAY00B,EAAKz0B,SACjC,KACApvC,EAAMg5E,MAAM13B,MAAM,GAAG7f,OAAM,SAACoiC,GACxB,OAAOA,EAAKpjD,UAAYm1M,EAAqB5sM,IAAI66C,EAAKpjD,QAC1D,IAEZ,EAEa,EAAAmoP,+BAAiC,SAC1C1wP,EACAxS,G,sCAEMmjQ,GAAyC,aAAU3wP,GAAa,CAAC,GAEvE,OAAQxS,EAAM1I,MACV,IAAK,eACD6rQ,EAASx0N,QAAU3uC,EAAM2uC,cAAWh0C,EAEhCqF,EAAMojQ,aACND,EAAS7vL,MAAQtzE,EAAMojQ,WAAW13P,KAAI,SAACyyD,G,kBACnC,MAAO,CACHwb,OAAQxb,EAAKklM,uBACb55N,SAAuB,QAAb,EAAA00B,aAAI,EAAJA,EAAMpjC,eAAO,eAAE0O,SACzBC,UAAwB,QAAb,EAAAy0B,aAAI,EAAJA,EAAMpjC,eAAO,eAAE2O,UAC1B+S,KAAmB,QAAb,EAAA0hB,aAAI,EAAJA,EAAMpjC,eAAO,eAAE0hB,KACrB1hC,QAAsB,QAAb,EAAAojD,aAAI,EAAJA,EAAMpjC,eAAO,eAAEhgB,QACxBuhC,QAAsB,QAAb,EAAA6hB,aAAI,EAAJA,EAAMpjC,eAAO,eAAEuhB,QACxBC,QAAsB,QAAb,EAAA4hB,aAAI,EAAJA,EAAMpjC,eAAO,eAAEwhB,QACxBC,QAAsB,QAAb,EAAA2hB,aAAI,EAAJA,EAAMpjC,eAAO,eAAEyhB,QAEhC,KAEJ,MACJ,IAAK,yBACD2mN,EAAS1jM,kBAAoBz/D,EAAMy/D,wBAAqB9kE,EACxD,MACJ,IAAK,OACDwoQ,EAAS7vL,MAAQtzE,EAAMsjQ,UAAU53P,KAAI,SAACyyD,G,kBAClC,MAAO,CACHwb,OAAQxb,EAAKklM,uBACb55N,SAAuB,QAAb,EAAA00B,aAAI,EAAJA,EAAMpjC,eAAO,eAAE0O,SACzBC,UAAwB,QAAb,EAAAy0B,aAAI,EAAJA,EAAMpjC,eAAO,eAAE2O,UAC1B+S,KAAmB,QAAb,EAAA0hB,aAAI,EAAJA,EAAMpjC,eAAO,eAAE0hB,KACrB1hC,QAAsB,QAAb,EAAAojD,aAAI,EAAJA,EAAMpjC,eAAO,eAAEhgB,QACxBuhC,QAAsB,QAAb,EAAA6hB,aAAI,EAAJA,EAAMpjC,eAAO,eAAEuhB,QACxBC,QAAsB,QAAb,EAAA4hB,aAAI,EAAJA,EAAMpjC,eAAO,eAAEwhB,QACxBC,QAAsB,QAAb,EAAA2hB,aAAI,EAAJA,EAAMpjC,eAAO,eAAEyhB,QAEhC,IACA,MAEJ,IAAK,qBAID,IAHA,IAAI+mN,EAA6B,K,WAGxB53P,GACL,IAAM63P,EAA4B,QAAf,EAAAL,aAAQ,EAARA,EAAU7vL,aAAK,eAAE5U,WAAU,SAACP,GAC3C,OAAOA,EAAKwb,SAAW35E,EAAMyjQ,8BAA8B93P,EAC/D,IACA,IAAI,aAAS63P,KAA+B,IAAhBA,E,OACxBD,EAAcC,E,SALb73P,EAAQ3L,EAAMyjQ,8BAA8BntQ,OAAS,EAAGqV,GAAS,G,YAAjEA,GAAoEA,GAAS,IAUlF,aAAS43P,KAAiC,IAAjBA,GAAsBJ,EAAS7vL,OACxD6vL,EAAS7vL,MAAMzf,OAAO0vM,EAAc,EAAG,EAAG,CACtC5pL,OAAQ35E,EAAMqjQ,uBACd55N,SAAwB,QAAd,EAAAzpC,aAAK,EAALA,EAAO+6B,eAAO,eAAE0O,SAC1BC,UAAyB,QAAd,EAAA1pC,aAAK,EAALA,EAAO+6B,eAAO,eAAE2O,UAC3B+S,KAAoB,QAAd,EAAAz8C,aAAK,EAALA,EAAO+6B,eAAO,eAAE0hB,KACtB1hC,QAAuB,QAAd,EAAA/a,aAAK,EAALA,EAAO+6B,eAAO,eAAEhgB,QACzBuhC,QAAuB,QAAd,EAAAt8C,aAAK,EAALA,EAAO+6B,eAAO,eAAEuhB,QACzBC,QAAuB,QAAd,EAAAv8C,aAAK,EAALA,EAAO+6B,eAAO,eAAEwhB,QACzBC,QAAuB,QAAd,EAAAx8C,aAAK,EAALA,EAAO+6B,eAAO,eAAEyhB,UAGjC,MAEJ,IAAK,uBACD,IAAMqiB,EAA6B,QAAf,EAAAskM,aAAQ,EAARA,EAAU7vL,aAAK,eAAE5U,WAAU,SAACP,GAC5C,OAAOA,EAAKwb,SAAW35E,EAAMqjQ,sBACjC,KAEI,aAASxkM,KAAiC,IAAjBA,GAAsBskM,EAAS7vL,QACxD6vL,EAAS7vL,MAAMzU,GAAe,EAAH,KACpBskM,EAAS7vL,MAAMzU,IAAY,CAC9Bp1B,SAAwB,QAAd,EAAAzpC,aAAK,EAALA,EAAO+6B,eAAO,eAAE0O,SAC1BC,UAAyB,QAAd,EAAA1pC,aAAK,EAALA,EAAO+6B,eAAO,eAAE2O,UAC3B+S,KAAoB,QAAd,EAAAz8C,aAAK,EAALA,EAAO+6B,eAAO,eAAE0hB,KACtB1hC,QAAuB,QAAd,EAAA/a,aAAK,EAALA,EAAO+6B,eAAO,eAAEhgB,QACzBuhC,QAAuB,QAAd,EAAAt8C,aAAK,EAALA,EAAO+6B,eAAO,eAAEuhB,QACzBC,QAAuB,QAAd,EAAAv8C,aAAK,EAALA,EAAO+6B,eAAO,eAAEwhB,QACzBC,QAAuB,QAAd,EAAAx8C,aAAK,EAALA,EAAO+6B,eAAO,eAAEyhB,WAGjC,MAEJ,IAAK,qBACD2mN,EAAS7vL,OACS,QAAd,EAAA6vL,EAAS7vL,aAAK,eAAEjwD,QAAO,SAAC86C,GACpB,OAAOA,EAAKwb,SAAW35E,EAAMqjQ,sBACjC,MAAM,GAQlB,OAAOF,CACX,EAEa,EAAAO,6BAA+B,SACxCppQ,GAEA,QAAKA,GAIE+C,QAAQ/C,EAAMqpQ,gBACzB,EAEa,EAAAC,2BAA6B,SACtCpxP,EACAxS,EACAzB,G,QAEM4kQ,GAAqC,aAAU3wP,GAAa,CAAC,GA2B7DqxP,EAAgD,QAApB,EAAe,QAAf,EAAAtlQ,aAAO,EAAPA,EAAS2oF,cAAM,eAAG,UAAE,eAAEv7D,KAcxD,QAbKw3O,aAAQ,EAARA,EAAUQ,kBAAmBE,IAC9BV,EAASQ,gBAAkBE,GAItB,0BADD7jQ,EAAM1I,OAEN6rQ,EAASQ,gBAAkB3jQ,EAAM2jQ,iBAOlCR,CACX,C,uJChMa,EAAAp1N,2BAA6B,SAACh2C,GAA6C,OAAAA,EAAM6gG,SAAS12D,OAAf,EAE3E,EAAA+L,qBAAuB,SAACl2C,GAA4C,OAAAA,EAAM6gG,SAAS5qD,QAAU,EAAzB,EACpE,EAAAE,mBAAqB,SAACn2C,GAA0C,OAAAA,EAAM6gG,SAASl2F,MAAQ,CAAC,CAAxB,C,uICL7E,eAEa,EAAA8jN,yBAAkD,SAE3Dj7D,GAEA,OAAO,IACX,EAEa,EAAAk7D,0BAA4B,SAACl7D,GACtC,MAAO,CACH8L,QAAS,EAAAC,wBAAwBE,QACjC3yJ,KAAM8yD,KAAKC,UAAU2zF,IAAiB,GAE9C,C,umDCfA,eACA,WACA,WACA,WACA,UACA,cACA,cAEA,SAAUu4G,EAA6B9rQ,G,oEAGgC,OAF3DsoD,EAActoD,EAAM,IAAfipB,EAASjpB,EAAM,KAEuC,IAAM,IAAAiJ,QAAO,EAAAsgH,2B,OAChF,OADmE,SACjDrpH,QACd,IAGkF,IAAM,IAAA+I,QACxF,EAAAogH,kC,OAQJ,OATMD,EAAgF,SAGhF2iJ,EAAUzjN,EAAIj9B,QAAO,SAAC9iB,GACxB,IAAMsqD,GAAO,IAAA9pC,SAAQxgB,EAAI0gB,GAEzB,OAAQmgG,EAA0Bv2D,EACtC,KAEI,aAAQk5M,GACR,IAGJ,IAAM,IAAA5iQ,MAAI,IAAA2kP,kC,OAGN,OAHJ,SAGI,GAAM,UAAkBtuB,yBAAyBusC,EAAS9iP,I,cADxD,kBACF,SAA+D,IAD5D7oB,EAAK,KAAE+tP,EAAY,KAGtB/tP,EACA,IAAM,IAAA+I,MAAI,IAAA6kP,8BAA6B5tP,KADvC,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA+kP,gCAA+B6d,EAAS9iP,EAAMklO,GAAgB,M,IAO5E,UAJA,W,kDACI,UAAM,IAAAvkP,WAAU,EAAAikP,0BAA2Bie,I,cAA3C,S,67BC3CJ,kBACA,cACA,WACA,WACA,cACA,UACA,WACA,cACA,cACA,WASM92L,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoBrP,YAC3B46B,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACbyrH,EAAwE,QAApD,EAAA7oH,EAAa,EAAAiwC,qBAAqBqzG,0BAAkB,eAAGlmJ,GAEjF,OAAO,gBAAC,UAAuB,CAACoiE,cAAY,EAACogC,cAAeipB,GAChE,EACAlqD,UAAW,CAAC,EAAA1uB,qBAAqBqzG,oBAErC,CACIt8J,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,kDAAmD,CACxDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB/iC,cAEjD,EACAyxD,UAAW,CAAC,EAAA1uB,qBAAqB/iC,cAErC,CACIlmB,MAAO,EAAAqsD,oBAAoBrP,YAC3B46B,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACb6Z,EAAwD,QAA1C,EAAAjX,EAAa,EAAAiwC,qBAAqBzjC,gBAAQ,eAAGpP,GAEjE,OAAO,gBAAC,UAAmB,CAACm2C,aAAct8B,EAAc,CAACA,GAAe,MAC5E,EACA0nD,UAAW,CAAC,EAAA1uB,qBAAqBzjC,UAErC,CACIxlB,MAAO,EAAAqsD,oBAAoBr5C,YAC3B4kE,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACb8R,EAAkD,QAAzC,EAAAlP,EAAa,EAAAiwC,qBAAqB/gC,eAAO,eAAG9R,GAE3D,OAAO,gBAAC,UAAa,CAAC8R,OAAQA,GAClC,EACAyvD,UAAW,CAAC,EAAA1uB,qBAAqB/gC,SAErC,CACIloB,MAAO,EAAAqsD,oBAAoB1rD,SAC3Bi3E,YAAY,EACZ3hE,WAAY,SAAC+C,EAAc5C,EAAOg2C,G,QAC9B,OAAsD,QAAlD,EAAApzC,EAAa,EAAAiwC,qBAAqBu1C,wBAAgB,eAAGpoF,MAAW,EAAA0vO,uBACzD,EAAA/tK,oBAAoBoxL,OAGxB,EAAApxL,oBAAoBC,OAC6B,QAApD,EAAAh/D,EAAa,EAAAiwC,qBAAqB01C,0BAAkB,eAAGvoF,GACvDg2C,EAER,EACAj6B,OAAQ,SAACnZ,EAAc5C,G,MACnB,OAAOzW,EAAE,mDAAoD,CACzDoE,MAA2D,QAApD,EAAAiV,EAAa,EAAAiwC,qBAAqB01C,0BAAkB,eAAGvoF,IAEtE,EACAuhE,UAAW,CAAC,EAAA1uB,qBAAqB01C,kBAAmB,EAAA11C,qBAAqBu1C,kBAE7E,CACIx+F,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAMqyF,EAAkBryF,EAAa,EAAAiwC,qBAAqBoiD,iBACpDE,EAAgBvyF,EAAa,EAAAiwC,qBAAqBsiD,eAExD,OAAO5rG,EAAE,iDAAkD,CACvDoE,OAAO,IAAAogI,4BAA2B94B,EAAiBE,IAE3D,EACA5zB,UAAW,CAAC,EAAA1uB,qBAAqBoiD,gBAAiB,EAAApiD,qBAAqBsiD,gBAE3E,CACIvrG,MAAO,EAAAqsD,oBAAoB1rD,SAC3Bi3E,YAAY,EACZ3hE,WAAY,SAAC+C,EAAc5C,EAAOg2C,G,QAC9B,OAAyD,QAArD,EAAApzC,EAAa,EAAAiwC,qBAAqB41C,2BAAmB,eAAGzoF,MAAW,EAAA0vO,uBAC5D,EAAA/tK,oBAAoBoxL,OAGxB,EAAApxL,oBAAoBC,OACgC,QAAvD,EAAAh/D,EAAa,EAAAiwC,qBAAqB61C,6BAAqB,eAAG1oF,GAC1Dg2C,EAER,EACAj6B,OAAQ,SAACnZ,EAAc5C,G,MACnB,OAAOzW,EAAE,yDAA0D,CAC/DoE,MAA8D,QAAvD,EAAAiV,EAAa,EAAAiwC,qBAAqB61C,6BAAqB,eAAG1oF,IAEzE,EACAuhE,UAAW,CAAC,EAAA1uB,qBAAqB61C,qBAAsB,EAAA71C,qBAAqB41C,qBAEhF,CACI7+F,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAM41I,EAAqB51I,EAAa,EAAAiwC,qBAAqB2lG,oBACvDC,EAAmB71I,EAAa,EAAAiwC,qBAAqB4lG,kBAE3D,OAAOlvJ,EAAE,uDAAwD,CAC7DoE,OAAO,IAAAogI,4BAA2ByqB,EAAoBC,IAE9D,EACAl3E,UAAW,CAAC,EAAA1uB,qBAAqB2lG,mBAAoB,EAAA3lG,qBAAqB4lG,mBAE9E,CACI7uJ,MAAO,EAAAqsD,oBAAoBrP,YAC3B46B,YAAY,EACZzlD,OAAQ,SAACnZ,EAAc5C,G,MACbmW,EAA8D,QAA/C,EAAAvT,EAAa,EAAAiwC,qBAAqB18B,qBAAa,eAAGnW,GACvE,OAAO,4BAAOmW,EAClB,EACAorD,UAAW,CAAC,EAAA1uB,qBAAqBjlB,WAAY,EAAAilB,qBAAqB18B,eAEtE,CACIvsB,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAM01I,EAA8B11I,EAAa,EAAAiwC,qBAAqBylG,6BAChEC,EAA4B31I,EAAa,EAAAiwC,qBAAqB0lG,2BAEpE,OAAOhvJ,EAAE,iEAAkE,CACvEoE,OAAO,IAAAogI,4BAA2BuqB,EAA6BC,IAEvE,EACAh3E,UAAW,CACP,EAAA1uB,qBAAqBylG,4BACrB,EAAAzlG,qBAAqB0lG,4BA7HQ,GAiIzC,CAAChvJ,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,iJCrKf,eAGa,EAAA61K,wBACT,SAACtiP,GACD,gBAACxI,GAAa,MACV,OAAqC,QAArC,EAAAA,EAAM29F,kBAAkBn1F,UAAa,eAAEkD,UAAW,EAAA64N,8BAA8B74N,OAAO,CAD3F,EAGS,EAAAs/O,qCACT,SAACxiP,GACD,gBAACxI,GAAa,MACV,OAAqC,QAArC,EAAAA,EAAM29F,kBAAkBn1F,UAAa,eAAE1I,gBAAiB,EAAAykO,8BAA8BzkO,aAAa,CADvG,C,2rFCXJ,kBAEA,cAEA,UAEA,cACA,WACA,WAKA,WACA,cACA,cAEA,cACA,cACA,cACA,WACA,UAEM7D,EAAK,UAAWC,KAAK,WAwN3B,UAxLmD,SAACI,GAE5C,IAAAU,EAkBAV,EAAK,UAjBL8a,EAiBA9a,EAAK,OAhBL0F,EAgBA1F,EAAK,YAfLiuB,EAeAjuB,EAAK,iBAdL8c,EAcA9c,EAAK,SAbL4yJ,EAaA5yJ,EAAK,cAZLqF,EAYArF,EAAK,WAXLwF,EAWAxF,EAAK,WAVLsF,EAUAtF,EAAK,OATLuF,EASAvF,EAAK,QARLoF,EAQApF,EAAK,SAPLmF,EAOAnF,EAAK,WANL8E,EAMA9E,EAAK,UALL6yJ,EAKA7yJ,EAAK,oBAJLuC,EAIAvC,EAAK,gBAHLyF,EAGAzF,EAAK,gBAFL2vQ,EAEA3vQ,EAAK,eADL29J,EACA39J,EAAK,oBAEDa,GAAM,IAAAC,kBAAgB,EAExBiF,GAAgD,IAAAC,cAAY,qD,wFAG9D,OAFI7D,EAA0B,GAEzB2C,GAKc,IAAAoB,yBAAwBpB,GACvC,MACI6qQ,EACwC,GAAM,UAAkB/sK,8BAC5D99F,IAFJ,QANJ,IAAA4vB,YAAW,qCACJ,CAAC,EAAD,CAAC,KAAM,Q,OAUV,OAJMk7O,EAAkC,SAGlC,IAAgEA,EAA+B,GAA9FC,EAA4B,KAAEC,EAA6B,KAC9DD,EACO,CAAC,EAAD,CAACA,EAA8B,QAEtCC,IACA3tQ,EAAU2tQ,G,cAGkB,SAAM,UAAkB1/I,sBAAsBtrH,I,OAE9E,GAFMirQ,EAA0B,SAC1B,IAAgDA,EAAuB,GAAtEC,EAAoB,KAAEC,EAAqB,KAC9CD,EACA,MAAO,CAAC,EAAD,CAACA,EAAsB,OAE9BC,IACA9tQ,EAAU8tQ,G,2CAGXN,EACkC,GAAM,UAAmB/sK,iCAD3D,M,OAGP,OAFMstK,EAAmC,SACnC,IAAkEA,EAAgC,GAAjGC,EAA6B,KAAEC,EAA8B,KAChED,EACO,CAAC,EAAD,CAACA,EAA+B,QAEvCC,IACAjuQ,EAAUiuQ,G,cAGmB,SAAM,UAAmBhgJ,yB,OAE1D,GAFMigJ,EAA2B,SAC3B,IAAkDA,EAAwB,GAAzEC,EAAqB,KAAEC,EAAsB,KAChDD,EACA,MAAO,CAAC,EAAD,CAACA,EAAuB,OAE/BC,IACApuQ,EAAUouQ,G,iBAUlB,OANI39G,GACAzwJ,EAAQqrH,QAAQ,CACZ50G,KAAM/X,EAAE,yBACRqL,GAAI,OAGL,CAAC,EAAD,CAAC,KAAM/J,I,SACf,CAAC2C,EAAW8tJ,EAAe+8G,EAAgB9uQ,IAExCqyJ,GAA2D,IAAAltJ,cAC7D,SAACQ,GACG,QAASA,EAAO0F,MAAO2mJ,aAAmB,EAAnBA,EAAqBttI,SAAS/e,EAAO0F,QAAQyxJ,aAAmB,EAAnBA,EAAqB1uI,IAAIzoB,EAAO4iB,QACxG,GACA,CAACypI,EAAqB8K,IAGpBp3J,GAAgB,IAAAP,cAAY,SAACQ,GAAoB,OAAAA,EAAOoS,MAAQpS,EAAO0F,IAAM,EAA5B,GAAgC,IAEjFxF,GAA4B,IAAAC,uBAA+B,CAC7DZ,eAAc,EACdQ,cAAa,EACb2sJ,uBAAsB,EACtBtsJ,SAAU,CAAC,IAgCTusJ,EAAe,SAACr4I,GAClB,IAAM66M,GAAgB,aAAMjvN,aAAyB,EAAzBA,EAA2BvE,QAAS,MAE1Du7J,EAAS5iJ,EAAOzD,KAAI,SAACpS,GACvB,IAAMuB,EAASmvN,EAAc1wN,IAAoB,KACjD,OAAKuB,IAIEA,aAAM,EAANA,EAAQoS,OAHJ,EAIf,IAEAkE,EAAShC,EAAQ4iJ,EACrB,EAIMz2J,GAAc,IAAAjB,cAAY,WACxBT,GACAA,IAGJmB,EAA0BQ,WAE9B,GAAG,CAAC3B,EAASmB,EAA0BQ,YAMvC,OACI,wBAAC,UAA2B,CACxBxG,UAAWA,EACX2yF,eAAgBv4E,EAChBpV,YAAaA,EACbuoB,iBAAkBA,EAClB9rB,QAASuE,EAA0BvE,QACnCkD,WAAYA,EACZH,SAAUiuJ,EACVzrJ,QAASjC,EAbG,WAChB0tJ,EAAa,GACjB,OAWiD7sJ,EACzClB,SAAUA,EACVD,WAAYA,EACZiC,cAAeV,EAA0BU,cACzCN,aAxEa,SAACN,EAAoCd,GACtD,OAAKc,GAAUosJ,EACJ/xJ,EAAE,yBAGR2F,EAKD,+BAAK9F,UAAWf,EAAG,UAAWgT,IAAKnM,EAAO0F,IACtC,wBAAC,UAAY,CAACxL,UAAWf,EAAG,iBAAkBiZ,KAAMpS,EAAOoS,KAAM43P,aAAchqQ,EAAO0F,MALnF,mCAAMxG,GAAe,KAQpC,EA2DQy0E,qBAzDc,SAACh4E,EAAyBuD,GAC5C,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAOyD,EAGX,GAAuB,IAAnBvD,EAAQF,OAAc,CACtB,IAAMsxF,EAAcpxF,aAAO,EAAPA,EAAU,GAC9B,OAAO,wBAAC,UAAY,CAACzB,UAAWf,EAAG,iBAAkBiZ,KAAM26E,aAAW,EAAXA,EAAa36E,MAC5E,CAEA,OAAO,wBAAC,UAA+B,CAAChW,MAAOT,aAAO,EAAPA,EAASF,QAC5D,EA+CQuF,eA9Be,SAAChB,GAA4B,OAAAA,EAAO0F,IAAM,IAAb,EA+B5C1G,WAAYA,EACZF,OAAQA,EACR0J,UAAWtI,EAA0BlD,cAAcK,QACnD0B,QAAS0B,EACT1E,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,YAG5E,C,8mBC5OA,eACA,cAEA,WA0BMlE,EAAkD,CACpD6lD,YAAa,KAEb51B,OAAQ,CACJ6S,SAAU,KACViP,SAAU,MAEd7hB,YAAa,CACT4S,SAAU,KACViP,SAAU,MAGdoT,UAAW,KACXE,kBAAmB,UAAcnlD,QAEjCgtQ,0BAA2B,KAC3B3nN,qBAAsB,UAAcrlD,QACpCulD,kBAAmB,KAEnB0nN,qBAAsB,KACtBxnN,gBAAiB,UAAczlD,SAGtB,EAAAktQ,kCAAmC,IAAArkM,aAAY,CACxD1zD,KAAM,8BACNrV,aAAY,EACZgpE,SAAU,CACNovG,eAAgB,SACZj4K,EACAC,GAIAD,EAAM0lD,YAAczlD,EAAOklB,QAAQjiB,QACvC,EACA80K,kBAAmB,SACfh4K,EACAC,GAIAD,EAAM8vB,OAAO6S,SAAW1iC,EAAOklB,QAAQwd,SACvC3iC,EAAMglD,UAAY,IACtB,EACA4yH,wBAAyB,SACrB53K,EACAC,GAIAD,EAAM8vB,OAAO8hB,SAAW3xC,EAAOklB,QAAQysB,QAC3C,EACAmmI,uBAAwB,SACpB/3K,EACAC,GAIAD,EAAM+vB,YAAY4S,SAAW1iC,EAAOklB,QAAQwd,SAC5C3iC,EAAMglD,UAAY,IACtB,EACA2yH,6BAA8B,SAC1B33K,EACAC,GAIAD,EAAM+vB,YAAY6hB,SAAW3xC,EAAOklB,QAAQysB,QAChD,EACAs7N,yBAA0B,WACtB,OAAOrtQ,CACX,EACAulD,qBAAsB,SAElBplD,EAEAC,GAOJ,EACAktQ,4BAA6B,SACzBntQ,EACAC,GAKM,MAA+BA,EAAOklB,QAApC5iB,EAAK,QAAE+iD,EAAiB,qBAE3B,IAAA1qC,kBAAiBrY,EAAOvC,EAAM+sQ,6BAInC/sQ,EAAMolD,qBAAuB,UAAc5kD,GAC3CR,EAAMslD,kBAAoBA,EAC9B,EACA8nN,6BAA8B,SAC1BptQ,EACAC,GAKM,MAAuBA,EAAOklB,QAA5B5iB,EAAK,QAAEyiD,EAAS,aAEnB,IAAApqC,kBAAiBrY,EAAOvC,EAAM+sQ,6BAInC/sQ,EAAMklD,kBAAoB,UAAc1kD,GACxCR,EAAMglD,UAAYA,EACtB,EACAqoN,oCAAqC,SACjCrtQ,EACAC,GAKM,MAAmBA,EAAOklB,QAAxB5iB,EAAK,QAAElC,EAAK,SAEf,IAAAua,kBAAiBrY,EAAOvC,EAAM+sQ,6BAInC/sQ,EAAMklD,kBAAoB,UAAc5kD,SAASD,GACjDL,EAAMglD,UAAY,KACtB,EACAsoN,0BAA2B,SACvBttQ,EACAC,GAKM,MAAmBA,EAAOklB,QAAxB5iB,EAAK,QAAElC,EAAK,SAEf,IAAAua,kBAAiBrY,EAAOvC,EAAM+sQ,6BAInC/sQ,EAAMolD,qBAAuB,UAAc9kD,SAASD,GACxD,EACAktQ,0BAA2B,SACvBvtQ,EACAC,GAIAD,EAAM+sQ,0BAA4B9sQ,EAAOklB,QAAQ5iB,MACjDvC,EAAMklD,kBAAoB,UAAc/kD,QACxCH,EAAMolD,qBAAuB,UAAcjlD,QAC3CH,EAAMslD,kBAAoB,IAC9B,EACAkoN,kBAAmB,SAEfxtQ,EAEAC,GAOJ,EACAwtQ,uBAAwB,SACpBztQ,EACAC,GAIAD,EAAMgtQ,qBAAuB/sQ,EAAOklB,QAAQ5iB,MAC5CvC,EAAMwlD,gBAAkB,UAAcrlD,OAC1C,EACAutQ,yBAA0B,SACtB1tQ,EACAC,GAIQ,IAAAsC,EAAUtC,EAAOklB,QAAO,OAE3B,IAAAvK,kBAAiBrY,EAAOvC,EAAMgtQ,wBAInChtQ,EAAMwlD,gBAAkB,UAAchlD,GAC1C,EACAmtQ,uBAAwB,SACpB3tQ,EACAC,GAKM,MAAmBA,EAAOklB,QAAxB5iB,EAAK,QAAElC,EAAK,SAEf,IAAAua,kBAAiBrY,EAAOvC,EAAMgtQ,wBAInChtQ,EAAMwlD,gBAAkB,UAAcllD,SAASD,GACnD,KAKJ,EAAA43K,gBADS,EAsBT,EAAAg1F,iCAAiChiQ,SAAO,eAnBxC,EAAAiiQ,yBAAwB,2BAExB,EAAAn1F,uBAAsB,yBACtB,EAAAJ,6BAA4B,+BAE5B,EAAAK,kBAAiB,oBACjB,EAAAJ,wBAAuB,0BAEvB,EAAAxyH,qBAAoB,uBACpB,EAAAmoN,0BAAyB,4BACzB,EAAAD,0BAAyB,4BACzB,EAAAH,4BAA2B,8BAC3B,EAAAC,6BAA4B,+BAC5B,EAAAC,oCAAmC,sCAEnC,EAAAG,kBAAiB,oBACjB,EAAAC,uBAAsB,yBACtB,EAAAE,uBAAsB,yBACtB,EAAAD,yBAAwB,2BAG5B,UAAe,EAAAT,iCAAiChkM,O,kuCCzQhD,kBACA,WACA,cA+BA,UAAe7sE,EAAMC,MAtBC,SAAkBC,GAC5B,IAAAm0B,EAAyCn0B,EAAK,UAAnC4lB,EAA8B5lB,EAAK,KAA7BgP,EAAwBhP,EAAK,UAAlB4O,EAAa5O,EAAK,SAEhD,KAA0B,IAAAqE,UAAiBuhB,GAAK,GAA/C0rP,EAAQ,KAAEC,EAAW,KAC5BzxQ,EAAMoL,WAAU,WACP8D,GACDuiQ,EAAY3rP,EAIpB,GAAG,CAAC5W,IAEJlP,EAAMoL,WAAU,WACZqmQ,EAAY,GAChB,GAAG,CAACp9O,IAEJ,IAAMC,EAAiBplB,IAAa,aAAQ4W,MAAU,aAAQ0rP,GAG9D,OAAO1iQ,EAFWwlB,EAAiBk9O,EAAW1rP,EAEnBwO,EAC/B,G,y3BC/BA,kBACA,WAMMo9O,EAAmC,SAACxxQ,GAC9B,IAAA2B,EAAc3B,EAAK,UAE3B,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,wZAKtB,EAEAigQ,EAAe1/P,YAAc,iBAE7B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBC,UAG3B,EAAAkQ,WAAAA,EACT,UAAey/P,C,m9CC9Bf,kBACA,WAMMC,EAAgC,SAACzxQ,GAC3B,IAAA2B,EAA4B3B,EAAK,UAAnBusB,EAAS,EAAKvsB,EAA9B,eACN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aAAgBkb,GACnF,qBAAG/f,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,ioBAKtB,EAEAkgQ,EAAY3/P,YAAc,cAE1B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAe0/P,EAKF,EAAA5qE,oBAAsB,SAACn7K,GAChC,MACS,aADDA,EAEO,CACH/pB,UAAW,EAAAC,qBAAqB6U,WAI7B,CACH9U,UAAW,EAAAC,qBAAqBwQ,MAIhD,C,sBC7CA,IAAYyF,EAMAsyC,E,+FANZ,SAAYtyC,GACR,wCACA,wCACA,6CACH,CAJD,CAAYA,IAAa,gBAAbA,EAAa,KAMzB,SAAYsyC,GACR,6BACA,2BACA,6CACA,iDACA,2CACA,iCACA,6CACA,yCACA,oCACA,gDACA,4CACA,sCACA,kCACA,uCACA,0CACH,CAhBD,CAAYA,IAAoB,uBAApBA,EAAoB,I,q4BCRhC,kBAEA,WACA,WAMMunN,EAA2C5xQ,EAAMC,MAAK,SAACC,GACjD,IAAAU,EAAcV,EAAK,UAEnBa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,EAAAurJ,yBAAwB,CAAC3rJ,UAAWA,GAAYG,EAAE,gCAE3D,IAES,EAAA6wQ,uBAAAA,C,y3BCnBT,kBACA,WAOMC,EAA6B,SAAC3xQ,GACxB,IAAAU,EAA2BV,EAAK,UAArB0W,EAAgB1W,EAAK,YAExC,OACI,uBAAKwB,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,YAAYD,MAAM,6BAA6B1Q,UAAWA,GAC1F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAMkK,EAAanF,EAAE,yBAC3B,wBACIA,EAAE,wMACF/E,KAAK,aAKzB,EAEAmlQ,EAAS7/P,YAAc,WAEvB,IAAMC,EAAqB,CACvB2E,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAe4/P,C,+BC/Bf,WAAgB,QAAU,iCAAiC,6BAA6B,oDAAoD,mBAAmB,0CAA0C,OAAS,gCAAgC,SAAW,kC,u7BCD7P,kBACA,YACA,WACA,WACA,cASMv+J,IAAe,MAChB,EAAAw+J,0BAA0BvoO,QAAS,EAAA11B,mBAAmB9R,SACvD,EAAC,EAAA+vQ,0BAA0B1lP,SAAU,EAAAvY,mBAAmBK,KACxD,EAAC,EAAA49P,0BAA0B3lP,SAAU,EAAAtY,mBAAmBK,K,GAGtDq/F,EAAgB,EAAA1/F,mBAAmBK,KAEnC69P,EAAwD/xQ,EAAMC,MAAK,SAACC,GAC9D,IAAA40F,EAAyD50F,EAAK,WAAlD60F,EAA6C70F,EAAK,kBAA/BopB,EAA0BppB,EAAK,OAAvBsU,EAAkBtU,EAAK,cAE9Da,GAAM,IAAAC,kBAAgB,EAG9B,GAD0C,OAAf8zF,GAAuBxrE,IAAW,EAAAwoP,0BAA0BvoO,OAEnF,OACI,gBAAC,UAAS,CAAC/0B,cAAeA,EAAepT,MAAO,EAAAyS,mBAAmBK,MAC9DnT,EAAE,4CAKf,IAAMK,EAAQkoB,EAASgqF,EAAgBhqF,GAAUiqF,EAEjD,OAAI,aAASze,KAAe,aAASC,GAE7B,gBAAC,UAAS,CAACvgF,cAAeA,EAAepT,MAAOA,GAAQ,UAAG0zF,EAAU,YAAIC,IAI1E,IACX,IAEA,UAAeg9K,C,+wCC9Cf,kBACA,UACA,WACA,cACA,cACA,WAIa,EAAAlxF,aAAe,SACxBngH,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAUnC,OARA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,IAEjB,IAAAj5D,cAAa3mE,KACb2W,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAA6H,cAAgB,SACzB+8C,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAUnC,OARA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,IAEjB,IAAApgF,SAAQx/C,KACR2W,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAAilK,eAAiB,SAC1BrgH,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAUnC,OARA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,IAEjB5/H,IAAWA,aAAK,EAALA,EAAOqyB,QAASryB,aAAK,EAALA,EAAOijB,MAClCtM,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAAmsH,oBAAsB,SAC/BvnE,EACA1lD,EACA09I,EACAs5G,GAEA,IAAMl2P,EAA4B,CAAC,EAEnC,OAAK48I,GAILh4F,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,GACrB,GAAK5/H,EAAL,CAIA,IAAM8sQ,GAAY,aAAO9sQ,GACrB8sQ,EAAUtzG,YAAcszG,EAAUC,cAAcx5G,EAAO,SACvD58I,EAAOipH,GAASitI,IAJpB,CAMJ,IAEOl2P,GAfIA,CAgBf,EAEa,EAAAksH,qBAAuB,SAChCtnE,EACA1lD,EACA09I,EACAs5G,GAEA,IAAMl2P,EAA4B,CAAC,EAEnC,OAAK48I,GAILh4F,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,GACrB,GAAK5/H,EAAL,CAIA,IAAM8sQ,GAAY,aAAO9sQ,GACrB8sQ,EAAUtzG,YAAcszG,EAAUE,eAAez5G,EAAO,SACxD58I,EAAOipH,GAASitI,IAJpB,CAMJ,IAEOl2P,GAfIA,CAgBf,EAEa,EAAAugJ,kCAAoC,SAC7C37F,EACA1lD,EACAi7D,EACA+7L,GAEA,IAAMl2P,EAA4B,CAAC,EAiBnC,OAfA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,GAEfqtI,GACFjtQ,aAAK,EAALA,EAAOqyB,QACPryB,aAAK,EAALA,EAAOijB,KACP6tD,EAAc9E,MAAK,SAAC6F,GAChB,OAAO,aAAOA,GAAcC,UAAU9xE,EAAMqyB,KAAMryB,EAAMijB,GAC5D,IAEAjjB,GAASitQ,IACTt2P,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAAg/G,oBAAsB,SAC/Bp6D,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAUnC,OARA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,GAEA,iBAAV5/H,GAAuBA,IAC9B2W,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAAiO,eAAiB,SAC1B22C,EACA1lD,EACAmxD,EACA6lM,GAEA,IAAMl2P,EAA4B,CAAC,EASnC,OAPA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,IACjB,IAAA74D,iBAAgB/mE,EAAOgnE,KACvBrwD,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAAkO,eAAiB,SAC1B02C,EACA1lD,EACAqxD,EACA2lM,GAEA,IAAMl2P,EAA4B,CAAC,EASnC,OAPA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,IACjB,IAAA34D,iBAAgBjnE,EAAOknE,KACvBvwD,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAA8H,cAAgB,SACzB88C,EACA1lD,EACAg3H,EACAggI,GAEA,IAAMl2P,EAA4B,CAAC,EAYnC,OAVA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAMzlF,GAAc,IAAA7mB,mBAAkBzd,EAAO+pH,KAEzC,aAASzlF,IAAgBA,EAAc0yF,IACvCl2H,EAAOipH,GAASitI,EAAc,CAC1B7sQ,MAAO6sI,IAGnB,IAEOl2H,CACX,EAEa,EAAAklK,oBAAsB,SAC/BtgH,EACA1lD,EACAg3H,EACAggI,GAEA,IAAMl2P,EAA4B,CAAC,EAYnC,OAVA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAMzlF,GAAc,IAAA7mB,mBAAkBzd,EAAO+pH,KAEzC,aAASzlF,IAAgBA,GAAe0yF,IACxCl2H,EAAOipH,GAASitI,EAAc,CAC1B7sQ,MAAO6sI,IAGnB,IAEOl2H,CACX,EAEa,EAAA+H,cAAgB,SACzB68C,EACA1lD,EACAimK,EACA+wF,GAEA,IAAMl2P,EAA4B,CAAC,EAYnC,OAVA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAMzlF,GAAc,IAAA7mB,mBAAkBzd,EAAO+pH,KAEzC,aAASzlF,IAAgBA,EAAc2hI,IACvCnlK,EAAOipH,GAASitI,EAAc,CAC1B7sQ,MAAO87K,IAGnB,IAEOnlK,CACX,EAEa,EAAAolK,oBAAsB,SAC/BxgH,EACA1lD,EACAimK,EACA+wF,GAEA,IAAMl2P,EAA4B,CAAC,EAYnC,OAVA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAMzlF,GAAc,IAAA7mB,mBAAkBzd,EAAO+pH,KAEzC,aAASzlF,IAAgBA,GAAe2hI,IACxCnlK,EAAOipH,GAASitI,EAAc,CAC1B7sQ,MAAO87K,IAGnB,IAEOnlK,CACX,EAEa,EAAA8hG,WAAa,SACtBl9C,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAUnC,OARA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,GAEjB5/H,GAA0B,iBAAVA,IAAuBktQ,EAAevuN,SAAS3+C,KAC/D2W,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAA++G,UAAY,SACrBn6D,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAWnC,OATA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,GAEfutI,GAAc,aAAOntQ,GAAOw5J,UAC9Bx5J,IAAUmtQ,IACVx2P,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAA8+G,cAAgB,SACzBl6D,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAWnC,OATA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,GAEK5/H,IAAS,aAAOA,GAAO2hD,UAAY8d,KAAKD,QAE9D7oD,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAAmO,iBAAmB,SAC5By2C,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAenC,OAbA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAM5/H,EAAQ6V,EAAO+pH,GACfzlF,EAA+B,iBAAVn6C,EAAqBA,EAAM0pB,OAAS,IAE3D,IAAA08F,yBAAwBjsE,KAIvB,IAAAizN,4BAA2BjzN,KAC5BxjC,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,EAEa,EAAAisH,gBAAkB,SAC3BrnE,EACA1lD,EACAg3P,GAEA,IAAMl2P,EAA4B,CAAC,EAUnC,OARA4kD,EAAOpkD,SAAQ,SAACyoH,GACZ,IAAMzlF,GAAc,IAAA7mB,mBAAkBzd,EAAO+pH,KAEzC,aAASzlF,IAAgBA,EAAc,GAAM,IAC7CxjC,EAAOipH,GAASitI,IAExB,IAEOl2P,CACX,C,6JCxXA,kBAEA,aACA,cACA,cACA,WACA,cACA,SAEMjc,EAAK,UAAWC,KAAK,WA0D3B,UAvCuD,SAACI,GAC5C,IAAA0lB,EAAuC1lB,EAAK,WAAhCU,EAA2BV,EAAK,UAArBqkC,EAAgBrkC,EAAK,YAE5CikC,GAAa,IAAA+3D,eAAa,SAElC,OACI,+BAAKt7F,WAAW,aAAGf,EAAG,QAASe,IAC1BglB,EAAWrO,KAAI,SAACi7P,EAAWl/P,GACxB,IAAKk/P,EACD,OAAO,KAGX,IAAMjwQ,KAAa,IAAAwpO,WAAU5nM,EAAU,CAAEO,KAAM8tO,EAAUruO,SAAU8nM,QAAQ,IAE3E,OACI,wBAAC,UAAQ,CACLp5N,IAAKS,EACL/Q,SAAUA,EACVirD,WAAS,EACTl3C,KAAM,EAAA1G,iBAAiBu8B,MACvB/qC,MAAO,EAAAuO,eAAezN,MACtBrB,aAAc2xQ,EAAU3xQ,aACxBujC,MAAOouO,EAAUpuO,MACjBziC,QAAS,WACDY,GAIJgiC,EAAYiuO,EAAUpqP,GAC1B,GAECoqP,EAAUj/O,SAGvB,IAGZ,C,+BChEA,WAAgB,KAAO,2BAA2B,QAAU,8BAA8B,cAAgB,oCAAoC,MAAQ,4BAA4B,YAAY,gCAAgC,OAAS,6BAA6B,SAAW,+B,qOCD/Q,cAYa,EAAA27C,+BAAiC,SAAC7sE,GAAmE,OAC9Gc,KAAM,EAAAu4F,0CACNr5F,QAAO,EAFuG,EAKrG,EAAAowQ,oCAAsC,WAAkD,OACjGtvQ,KAAM,EAAAw4F,gDAD2F,EAIxF,EAAA+2K,sCAAwC,SACjD33G,GAC+C,OAC/C53J,KAAM,EAAAy4F,kDACNm/D,OAAM,EAFyC,EAKtC,EAAA43G,oCAAsC,SAAC1uQ,GAA6D,OAC7Gd,KAAM,EAAA04F,gDACN53F,MAAK,EAFwG,C,wGCZxG,EAAAwpI,wBAhBuB,SAAC,G,IAAE3lH,EAAU,aACzC,OADoD,YAShDA,EACO,sBAGJ,oBAXCA,EACO,kCAGJ,+BAQf,C,+BCbA,WAAgB,gBAAgB,mDAAmD,OAAS,4CAA4C,SAAW,8C,uNCAnJ,cACA,WACA,cAEa,EAAA4rB,mBAAqB,SAACj9B,GAC/B,OAAOA,aAAK,EAALA,EAAOM,QAAS,CAC3B,EAEa,EAAAk9B,4BAA8B,SACvCogJ,EACAnhJ,EACAa,GAEA,IAAKsgJ,EACD,OAAO,EAGX,IAAIrgJ,EAAcqgJ,EAUlB,OARI,aAASnhJ,KAAoChgC,OAAOC,MAAM+/B,KAC1Dc,EAAc,EAAA2jC,gBAAgBK,eAAehkC,EAAad,EAAgC,EAAAj8B,aAAaC,OAGvG,aAAS68B,KAAkB7gC,OAAOC,MAAM4gC,KACxCC,EAAc,EAAA2jC,gBAAgBK,eAAehkC,EAAaD,EAAc,EAAA98B,aAAaC,MAGlF88B,CACX,C,6oEC7BA,eACA,WA0BA,WA4BA,WAOA,cACA,cACA,WACA,cACA,WACA,WACA,WACA,WAMA,cACA,cAEA,cAEA,SAAU4+N,EAAkB/uQ,G,gFAGiC,OAFjD8Q,EAA0C9Q,EAAM,WAApCsC,EAA8BtC,EAAM,MAA7BxB,EAAuBwB,EAAM,QAApBmB,EAAcnB,EAAM,UAEC,IAAM,IAAAiJ,SAAO,IAAA+lQ,qBAAoB7tQ,K,OACrC,OAD/CqZ,EAAmD,SACJ,IAAM,IAAAvR,SAAO,IAAAgmQ,qBAAoB9tQ,K,OAItF,OAJMkJ,EAA+C,SAC/CqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GACtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,cAAerB,GAErEkc,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MAAI,IAAA+lQ,eAAc/tQ,EAAW,CAAE2Z,iBAAkBhK,M,OAAvD,S,iBAGJ,UAAM,IAAA3H,MAAI,IAAAgmQ,wBAAuB7sQ,EAAOwO,EAAY3P,K,cAApD,SAEIqI,EAEO,MACP,IAAAjH,yBAAwBpB,GACf,GAAM,UAAmB6pH,kBAAkB,EAAD,KAC5C1oH,GAAK,CACR2Y,KAAMnK,MAHV,M,cACAtH,EAAS,S,aAKA,SAAM,UAAkBwhH,kBAAkB,EAAD,KAEvC1oH,GAAK,CACR2Y,KAAMnK,IAEV3P,I,OALJqI,EAAS,S,iBASb,OAAKA,GAIC,IAAoBA,EAAM,GAAzBpJ,EAAK,KAAEqJ,EAAQ,KAClBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAimQ,wBAAuB9sQ,EAAOwO,EAAY1Q,EAAOe,KAD3D,QAJA,I,QAMA,OADA,SACA,I,QAGJ,OAAKsI,EAIL,IAAM,IAAAN,MAAI,IAAAkmQ,0BAAyB/sQ,EAAOwO,EAAY3P,EAAWsI,KAH7D,I,eAGJ,UAEA,IAAAwS,2BAA0BnL,EAAYrH,EAAU,EAAA4iN,2B,QAGpD,SAAUijD,EAAgCnuQ,EAAuBoqD,G,kDACM,UAAM,IAAAtiD,SACrE,IAAA2iD,4BAA2BzqD,K,cADoC,SAIlDoqD,GACb,IAAM,IAAApiD,MAAI,IAAAsiH,qBAAoBlgE,EAAWpqD,EAAW,CAAEi9B,eAAe,MADrE,M,OACA,S,+BAIR,SAAUmxO,EAAevvQ,G,gEAGrB,OAFQ8I,EAAoB9I,EAAM,KAApBmB,EAAcnB,EAAM,UAElC,IAAM,IAAAmJ,MAAI,IAAAqmQ,wBAAuBruQ,K,cAAjC,SAEIqI,EAEO,MACP,IAAAjH,yBAAwBpB,GACf,GAAM,UAAmBkjE,WAAWv7D,IAD7C,M,cACAU,EAAS,S,aAEA,SAAM,UAAkBimQ,kBAAkB3mQ,EAAM3H,I,OAAzDqI,EAAS,S,iBAGb,OAAKA,GAGC,IAAUA,EAAM,IAAfpJ,EAAK,MAER,IAAM,IAAA+I,MAAI,IAAAumQ,wBAAuBtvQ,EAAOe,KADxC,OAHA,I,cAIA,S,aAEA,UAAM,IAAAgI,MAAI,IAAAwmQ,0BAAyBxuQ,K,OAAnC,S,wBAGCf,EAAD,OACA,IAAM,IAAA+I,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBkB,aAC1B9tB,KAAM,CACF2a,YAAa3a,EAAK2a,aAAe,S,QALjD,S,0BAYJ,EAAA0oM,uBAAuBxuL,KAAK,CAAC,G,QAGjC,SAAUiyO,EAAmB5vQ,G,0EAGzB,OAFQ6vQ,EAA0B7vQ,EAAM,WAApBmB,EAAcnB,EAAM,UAExC,IAAM,IAAAmJ,MAAI,IAAA2mQ,4BAA2B3uQ,K,OAArC,SAEIf,EACA,K,2CAEoB,IAAAyvQ,GAAU,W,sCAAvBtkN,EAAS,QACZ/hD,EAEO,MACP,IAAAjH,yBAAwBpB,GACf,GAAM,UAAmB+pH,cAAc3/D,IADhD,O,cACA/hD,EAAS,S,aAEA,SAAM,UAAkB0hH,cAAc/pH,EAAWoqD,I,OAA1D/hD,EAAS,S,iBAGbpJ,EAAQA,IAASoJ,aAAM,EAANA,EAAS,KAAM,K,8MAGhCpJ,EACA,IAAM,IAAA+I,MAAI,IAAA4mQ,4BAA2B3vQ,EAAOe,KAD5C,O,eACA,S,eAEA,UAAM,IAAAgI,MAAI,IAAA6mQ,8BAA6B7uQ,K,QAAvC,S,0BAGJ,EAAAgrN,uBAAuBxuL,KAAK,CAAC,G,QAGjC,SAAUsyO,EAAqBjwQ,G,8FAG3B,OAFQkwQ,EAAuClwQ,EAAM,wBAApBmB,EAAcnB,EAAM,UAErD,IAAM,IAAAmJ,MAAI,IAAAgnQ,4BAA2BhvQ,K,cAArC,SAEIsI,EAEO,MAEP,IAAAlH,yBAAwBpB,GACb,GAAM,UAAmBoqH,iBAAiB2kJ,IADrD,M,cACAzmQ,EAAW,S,aAEA,SAAM,UAAkB8hH,iBAAiBpqH,EAAW+uQ,I,OAA/DzmQ,EAAW,S,wBAGTrJ,EAAQqJ,aAAQ,EAARA,EAAW,GACnBD,EAASC,aAAQ,EAARA,EAAW,GAEtBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAinQ,4BAA2BhwQ,EAAOe,KAD5C,M,cACA,S,aAEA,UAAM,IAAAgI,MAAI,IAAAknQ,8BAA6BlvQ,K,OAAvC,S,iBAUgD,OAP9C0uQ,GAAaK,aAAuB,EAAvBA,EAAyB5nN,MAAO,GAC7C7wB,EAAWo4O,EAAWvxQ,OACtBgyQ,GAAmB9mQ,aAAM,EAANA,EAAQ+mQ,gBAAiB,CAAC,EAC7CC,GAAmB,aAAKF,GACxBG,EAAcD,EAAiBlyQ,OAC/Bk5B,EAAkBC,EAAWg5O,EAEiB,IAAM,IAAAxnQ,SAAO,IAAAg2P,qBAAoB99P,K,eAA/EuJ,EAA8C,SAEhD+lQ,EAAc,GAAkB,IAAbh5O,GACbpX,EAAU3V,EAAK8lQ,EAAiB,KAAO,KAE7C,IAAM,IAAArnQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBoC,sBAC1BhvB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,UARrD,O,eAGA,S,sBAUOgtP,EAAc,GAAKh5O,EAAW,GAC/Bi5O,EAA4BF,EAAiB98P,KAAI,SAAC63C,G,MACpD,OAAsB,QAAf,EAAA7gD,EAAK6gD,UAAU,eAAE9nC,cAAe,EAC3C,IAEA,IAAM,IAAAta,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB6B,uBAC1BzuB,KAAM,CACF0uB,gBAAe,EACfC,SAAQ,EACRI,aAAc64O,SAZvB,O,eAKP,S,sBAYuB,IAAhBD,GAAyC,IAApBj5O,EAArB,QACDnX,EAAU3V,EAAKmlQ,EAAW,KAAO,KAEvC,IAAM,IAAA1mQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBmB,6BAC1B/tB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,U,eALrD,S,sBAUuB,IAAhBgtP,GAAqBj5O,EAAkB,EAC9C,IAAM,IAAAruB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBsB,8BAC1BluB,KAAM,CACF7J,MAAOu4B,QANhB,O,QACP,S,mBAYJ,EAAA20L,uBAAuBxuL,KAAK,CAAC,G,8CAEL,IAAAkyO,GAAU,W,yCAAvBtkN,EAAS,QAChB,IAAM,IAAA6uC,MAAKk1K,EAAiCnuQ,EAAWoqD,K,QAAvD,S,kNAGJ,EAAA6gK,6BAA6BzuL,KAAK,CAAC,G,QAGvC,SAAUgzO,EAAqB3wQ,G,gGAG3B,OAFQ8pB,EAAmD9pB,EAAM,aAA3C4/F,EAAqC5/F,EAAM,sBAApBmB,EAAcnB,EAAM,UAEjE,IAAM,IAAAmJ,MAAI,IAAAgnQ,4BAA2BhvQ,K,cAArC,SAEIsI,EAEO,MACP,IAAAlH,yBAAwBpB,GACb,GAAM,UAAmBiqH,yBAAyBxrB,IAD7D,M,cACAn2F,EAAW,S,aAEA,SAAM,UAAkB2hH,yBAAyBjqH,EAAWy+F,I,OAAvEn2F,EAAW,S,wBAGTrJ,EAAQqJ,aAAQ,EAARA,EAAW,GACnBD,EAASC,aAAQ,EAARA,EAAW,GAEtBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAinQ,4BAA2BhwQ,EAAOe,KAD5C,M,cACA,S,aAEA,UAAM,IAAAgI,MAAI,IAAAknQ,8BAA6BlvQ,K,OAAvC,S,iBAUgD,OAP9C0uQ,GAAajwK,aAAqB,EAArBA,EAAuBt3C,MAAO,GAC3C7wB,EAAWo4O,EAAWvxQ,OACtBgyQ,GAAmB9mQ,aAAM,EAANA,EAAQ+mQ,gBAAiB,CAAC,EAC7CC,GAAmB,aAAKF,GACxBG,EAAcD,EAAiBlyQ,OAC/Bk5B,EAAkBC,EAAWg5O,EAEiB,IAAM,IAAAxnQ,SAAO,IAAAg2P,qBAAoB99P,K,eAA/EuJ,EAA8C,SAEhD+lQ,EAAc,GAAkB,IAAbh5O,GACbpX,EAAU3V,EAAK8lQ,EAAiB,KAAO,KAE7C,IAAM,IAAArnQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB2C,4BAC1BvvB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,GACrCqG,aAAY,SAT5B,O,eAGA,S,sBAWO2mP,EAAc,GAAKh5O,EAAW,GAC/Bi5O,EAA4BF,EAAiB98P,KAAI,SAAC63C,G,MACpD,OAAsB,QAAf,EAAA7gD,EAAK6gD,UAAU,eAAE9nC,cAAe,EAC3C,IAEA,IAAM,IAAAta,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB0C,6BAC1BtvB,KAAM,CACF2uB,SAAQ,EACRD,gBAAe,EACfK,aAAc64O,EACd5mP,aAAY,SAbrB,O,eAKP,S,sBAauB,IAAhB2mP,GAAyC,IAApBj5O,EAArB,QACDnX,EAAU3V,EAAKmlQ,EAAW,KAAO,KAEvC,IAAM,IAAA1mQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBwC,mCAC1BpvB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,GACrCqG,aAAY,S,eAN5B,S,sBAWuB,IAAhB2mP,GAAqBj5O,EAAkB,EAC9C,IAAM,IAAAruB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoByC,oCAC1BrvB,KAAM,CACF7J,MAAOu4B,EACP1N,aAAY,QAPrB,O,QACP,S,mBAaJ,EAAAqiM,uBAAuBxuL,KAAK,CAAC,G,8CAEL,IAAAkyO,GAAU,W,yCAAvBtkN,EAAS,QAChB,IAAM,IAAA6uC,MAAKk1K,EAAiCnuQ,EAAWoqD,K,QAAvD,S,kNAGJ,EAAA6gK,6BAA6BzuL,KAAK,CAAC,G,QAGvC,SAAUizO,EAAuB5wQ,G,8FAG7B,OAFQwxO,EAAyCxxO,EAAM,0BAApBmB,EAAcnB,EAAM,UAEvD,IAAM,IAAAmJ,MAAI,IAAAgnQ,4BAA2BhvQ,K,cAArC,SAEIsI,EAEO,MACP,IAAAlH,yBAAwBpB,GACb,GAAM,UAAmBmqH,mBAAmBkmH,IADvD,M,cACA/nO,EAAW,S,aAEA,SAAM,UAAkB6hH,mBAAmBnqH,EAAWqwO,I,OAAjE/nO,EAAW,S,wBAGTrJ,EAAQqJ,aAAQ,EAARA,EAAW,GACnBD,EAASC,aAAQ,EAARA,EAAW,GAEtBrJ,EACA,IAAM,IAAA+I,MAAI,IAAAinQ,4BAA2BhwQ,EAAOe,KAD5C,M,cACA,S,aAEA,UAAM,IAAAgI,MAAI,IAAAknQ,8BAA6BlvQ,K,OAAvC,S,iBAUgD,OAP9C0uQ,EAAar+B,EAA0BlpL,KAAO,GAC9C7wB,EAAWo4O,EAAWvxQ,OACtBgyQ,GAAmB9mQ,aAAM,EAANA,EAAQ+mQ,gBAAiB,CAAC,EAC7CC,GAAmB,aAAKF,GACxBG,EAAcD,EAAiBlyQ,OAC/Bk5B,EAAkBC,EAAWg5O,EAEiB,IAAM,IAAAxnQ,SAAO,IAAAg2P,qBAAoB99P,K,eAA/EuJ,EAA8C,SAEhD+lQ,EAAc,GAAkB,IAAbh5O,GACbpX,EAAU3V,EAAK8lQ,EAAiB,KAAO,KAE7C,IAAM,IAAArnQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB+C,wBAC1B3vB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,UARrD,O,eAGA,S,sBAUOgtP,EAAc,GAAKh5O,EAAW,GAC/Bi5O,EAA4BF,EAAiB98P,KAAI,SAAC63C,G,MACpD,OAAsB,QAAf,EAAA7gD,EAAK6gD,UAAU,eAAE9nC,cAAe,EAC3C,IAEA,IAAM,IAAAta,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB8C,yBAC1B1vB,KAAM,CACF2uB,SAAQ,EACRD,gBAAe,EACfK,aAAc64O,SAZvB,O,eAKP,S,sBAYuB,IAAhBD,GAAyC,IAApBj5O,EAArB,QACDnX,EAAU3V,EAAKmlQ,EAAW,KAAO,KAEvC,IAAM,IAAA1mQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB4C,+BAC1BxvB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,U,eALrD,S,sBAUuB,IAAhBgtP,GAAqBj5O,EAAkB,EAC9C,IAAM,IAAAruB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB6C,gCAC1BzvB,KAAM,CACF7J,MAAOu4B,QANhB,O,QACP,S,mBAYJ,EAAA20L,uBAAuBxuL,KAAK,CAAC,G,8CAEL,IAAAkyO,GAAU,W,yCAAvBtkN,EAAS,QAChB,IAAM,IAAA6uC,MAAKk1K,EAAiCnuQ,EAAWoqD,K,QAAvD,S,kNAGJ,EAAA6gK,6BAA6BzuL,KAAK,CAAC,G,QAGvC,SAAUkzO,EAAoB7wQ,G,kGAG1B,OAFQ6vQ,EAAkC7vQ,EAAM,WAA5BmB,EAAsBnB,EAAM,UAAjB0yF,EAAW1yF,EAAM,OAEhD,IAAM,IAAAmJ,MAAI,IAAAgnQ,4BAA2BhvQ,K,cAArC,SAEM2H,EAAmC,CAAEw/C,IAAKunN,EAAY5jQ,QAASymF,GAEjEjpF,EAEO,MACP,IAAAlH,yBAAwBpB,GACb,GAAM,UAAmBqqH,gBAAgB1iH,IADpD,M,cACAW,EAAW,S,aAEA,SAAM,UAAkB+hH,gBAAgBrqH,EAAW2H,I,OAA9DW,EAAW,S,wBAGTrJ,EAAQqJ,aAAQ,EAARA,EAAW,IAErB,IAAM,IAAAN,MAAI,IAAAinQ,4BAA2BhwQ,EAAOe,KAD5C,M,cACA,S,aAEA,UAAM,IAAAgI,MAAI,IAAAknQ,8BAA6BlvQ,K,OAAvC,S,iBAWgD,OAR9CqI,EAASC,aAAQ,EAARA,EAAW,GAEpBguB,EAAWo4O,EAAWvxQ,OACtBgyQ,GAAmB9mQ,aAAM,EAANA,EAAQ+mQ,gBAAiB,CAAC,EAC7CC,GAAmB,aAAKF,GACxBG,EAAcD,EAAiBlyQ,OAC/Bk5B,EAAkBC,EAAWg5O,EAEiB,IAAM,IAAAxnQ,SAAO,IAAAg2P,qBAAoB99P,K,eAA/EuJ,EAA8C,SAEhD+lQ,EAAc,GAAkB,IAAbh5O,GACbq5O,EAAkBN,EAAiB,GACC,oBAAtCF,EAAiBQ,GAAjB,OACA,IAAM,IAAA3nQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBuC,yCAC1BnvB,KAAM,CAAC,QAPvB,O,eAGI,S,eAWA,OAFMuX,EAAU3V,EAAKomQ,GAErB,IAAM,IAAA3nQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBsC,sBAC1BlvB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,S,QALrD,S,+CAWGgtP,EAAc,GAAKh5O,EAAW,GAC/Bi5O,EAA4BF,EAAiB98P,KAAI,SAAC63C,G,MACpD,OAAsB,QAAf,EAAA7gD,EAAK6gD,UAAU,eAAE9nC,cAAe,EAC3C,IAEA,IAAM,IAAAta,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBqC,uBAC1BjvB,KAAM,CACF2uB,SAAQ,EACRD,gBAAe,EACfK,aAAc64O,SAZvB,O,eAKP,S,sBAYuB,IAAhBD,GAAyC,IAApBj5O,EAArB,QACDnX,EAAU3V,EAAKmlQ,EAAW,IAEhC,IAAM,IAAA1mQ,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBqB,4BAC1BjuB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,U,eALrD,S,sBAUuB,IAAhBgtP,GAAqBj5O,EAAkB,EAC9C,IAAM,IAAAruB,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB4B,6BAC1BxuB,KAAM,CACF7J,MAAOu4B,QANhB,O,QACP,S,mBAYJ,EAAA20L,uBAAuBxuL,KAAK,CAAC,G,8CAEL,IAAAkyO,GAAU,W,yCAAvBtkN,EAAS,QAChB,IAAM,IAAA6uC,MAAKk1K,EAAiCnuQ,EAAWoqD,K,QAAvD,S,kNAGJ,EAAA6gK,6BAA6BzuL,KAAK,CAAC,G,QAGvC,SAAUozO,EAAuB/wQ,G,0EAG4D,OAFjFmB,EAAuBnB,EAAM,UAAlBxB,EAAYwB,EAAM,QAEoD,IAAM,IAAAiJ,SAC3F,IAAA+nQ,uCAAsC7vQ,K,OAI1C,OALM8vQ,EAAmF,UAInE,aAAiBA,EAAyBzyQ,GAKhE,IAAM,IAAA2K,MAAI,IAAA+nQ,gCAA+B/vQ,KAHrC,I,cAGJ,SAEIf,EAAsB,KACtBqoE,EAAsC,MACtC,IAAAlmE,yBAAwBpB,GAEpB,GAAM,UAAmBuqH,iCAF7B,M,cACMliH,EACF,SACE,IAAsBA,EAAM,GAA3B2nQ,EAAW,KAAEroQ,EAAI,KACpBqoQ,IACA/wQ,EAAQ+wQ,GAERroQ,IACA2/D,EAAQ,CACJzuB,iBAAkBlxC,I,aAKtB,SAAM,UAAkB4iH,8BAA8BvqH,I,OADpDqI,EACF,SACE,IAAsBA,EAAM,GAA3B2nQ,EAAW,KAAEroQ,EAAI,KACpBqoQ,IACA/wQ,EAAQ+wQ,GAERroQ,IACA2/D,EAAQ,CACJzuB,iBAAkBlxC,I,wBAK1B1I,EACA,IAAM,IAAA+I,MAAI,IAAAioQ,gCAA+BhxQ,EAAOe,KADhD,M,OAEA,OADA,SACA,I,OAGJ,UAAM,IAAAgI,MAAI,IAAAkoQ,kCAAiC5oM,EAAOtnE,K,cAAlD,S,QAGJ,SAAUmwQ,EAAwBtxQ,G,oEAGoC,OAF1DurD,EAAkCvrD,EAAM,UAA7BmB,EAAuBnB,EAAM,UAAlBxB,EAAYwB,EAAM,QAEkB,IAAM,IAAAiJ,SACpE,IAAA2iD,4BAA2BzqD,K,OAE/B,OAHkE,SAGlDoqD,MAAe/sD,aAAO,EAAPA,EAAS4/B,eACpC,IAGJ,IAAM,IAAAj1B,MAAI,IAAAooQ,iCAAgCpwQ,K,cAA1C,SAEIqI,EAEO,MACP,IAAAjH,yBAAwBpB,GACf,GAAM,UAAmBsqH,oBAAoBlgE,IADtD,M,cACA/hD,EAAS,S,aAEA,SAAM,UAAkBiiH,oBAAoBtqH,EAAWoqD,I,OAAhE/hD,EAAS,S,iBAEb,OAAKA,GAIC,IAAmBA,EAAM,GAAxBpJ,EAAK,KAAEqL,EAAO,KACjBrL,EACA,IAAM,IAAA+I,MAAI,IAAAqoQ,iCAAgCpxQ,EAAOe,KADjD,OAJA,I,OAMA,OADA,SACA,I,OAGJ,UAAM,IAAAgI,MAAI,IAAAsoQ,mCAAkClmN,EAAW9/C,EAAStK,K,cAAhE,S,QAGJ,SAAUuwQ,EAAkB1xQ,G,sEAGxB,OAFQmB,EAAwCnB,EAAM,UAAnCurD,EAA6BvrD,EAAM,UAAxB2rH,EAAkB3rH,EAAM,cAEtD,IAAM,IAAAmJ,MAAI,IAAAgnQ,4BAA2BhvQ,K,cAArC,SAEIqI,EACA,MACA,IAAAjH,yBAAwBpB,GACf,GAAM,UAAmBwqH,cAAcpgE,EAAWogE,IAD3D,M,cACAniH,EAAS,S,aAEA,SAAM,UAAkBmiH,cAAcxqH,EAAWoqD,EAAWogE,I,OAArEniH,EAAS,S,iBAEb,OAAKA,GAGC,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAinQ,4BAA2BhwQ,EAAOe,KAD5C,OAJA,I,cAKA,S,aAEA,UAAM,IAAAgI,MAAI,IAAAknQ,8BAA6BlvQ,K,OAAvC,S,wBAGCf,EAAD,OACkE,IAAM,IAAA6I,SACpE,IAAA2iD,4BAA2BzqD,K,QAI/B,OALM6/J,EAA4D,SAG5D3gJ,EAAU2gJ,EAAYz1G,GAE5B,IAAM,IAAApiD,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBuB,0BAC1BnuB,KAAM,CACF2a,aAAapD,aAAO,EAAPA,EAASoD,cAAe,S,QALrD,S,mBAcJ,OAFA,EAAA0oM,uBAAuBxuL,KAAK,CAAC,GAE7B,IAAM,IAAAx0B,MAAI,IAAAsiH,qBAAoBlgE,EAAWpqD,EAAW,CAAEi9B,eAAe,M,eAArE,S,QAGJ,SAAUuzO,EAAsB3xQ,G,gEAG5B,OAFQmB,EAAoBnB,EAAM,UAAf+e,EAAS/e,EAAM,KAElC,IAAM,IAAAmJ,MAAI,IAAAyoQ,+BAA8BzwQ,K,cAAxC,SAEIqI,EAEO,MACP,IAAAjH,yBAAwBpB,GACf,GAAM,UAAmBktH,kBAAkBtvG,IADpD,M,cACAvV,EAAS,S,aAEA,SAAM,UAAkBqoQ,yBAAyB1wQ,EAAW4d,I,OAArEvV,EAAS,S,iBAEb,OAAKA,GAGC,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA2oQ,+BAA8B1xQ,EAAOe,KAD/C,OAJA,I,cAKA,S,cAEA,UAAM,IAAAgI,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBoB,6BAC1BhuB,KAAM,CAAC,O,OAKnB,OATA,SASA,IAAM,IAAAK,MAAI,IAAA4oQ,iCAAgC5wQ,K,OAA1C,S,iCAIR,SAAU6wQ,EAAsBhyQ,G,kEAG5B,OAFQmB,EAAqBnB,EAAM,UAAhBsC,EAAUtC,EAAM,MAEnC,IAAM,IAAAmJ,MAAI,IAAA8oQ,+BAA8B9wQ,K,cAAxC,SAEIqI,EAEO,MACP,IAAAjH,yBAAwBpB,GACf,GAAM,UAAmBotH,kBAAkBjsH,IADpD,M,cACAkH,EAAS,S,aAEA,SAAM,UAAkB0oQ,yBAAyB/wQ,EAAWmB,I,OAArEkH,EAAS,S,iBAEb,OAAKA,GAGC,IAAgBA,EAAM,GAArBpJ,EAAK,MAAE0I,EAAI,QAGd,aAAa,CACTmM,KAAM,2BAAmB,eAASe,OAAO,oBAAmB,SAC5DlN,KAAI,EACJxJ,KAAM,sEAIVc,EACA,IAAM,IAAA+I,MAAI,IAAAgpQ,+BAA8B/xQ,EAAOe,KAD/C,OAZA,I,cAaA,S,aAEA,UAAM,IAAAgI,MAAI,IAAAipQ,iCAAgCjxQ,K,OAA1C,S,+BAmBR,UAfA,W,kDACI,UAAM,IAAAyI,WAAU,EAAAyoQ,4BAA6BtD,I,OAC7C,OADA,SACA,IAAM,IAAAnlQ,WAAU,EAAA0oQ,oBAAqB/C,I,OACrC,OADA,SACA,IAAM,IAAA3lQ,WAAU,EAAA2oQ,wBAAyB3C,I,OACzC,OADA,SACA,IAAM,IAAAhmQ,WAAU,EAAA4oQ,4BAA6BvC,I,OAC7C,OADA,SACA,IAAM,IAAArmQ,WAAU,EAAA6oQ,yBAA0B5B,I,OAC1C,OADA,SACA,IAAM,IAAAjnQ,WAAU,EAAA8oQ,oCAAqC/B,I,OACrD,OADA,SACA,IAAM,IAAA/mQ,WAAU,EAAA+oQ,6BAA8B/B,I,OAC9C,OADA,SACA,IAAM,IAAAhnQ,WAAU,EAAAgpQ,8BAA+BtB,I,OAC/C,OADA,SACA,IAAM,IAAA1nQ,WAAU,EAAAipQ,wBAAyBnB,I,OACzC,OADA,SACA,IAAM,IAAA9nQ,WAAU,EAAAkpQ,6BAA8B/B,I,QAC9C,OADA,SACA,IAAM,IAAAnnQ,WAAU,EAAAmpQ,4BAA6BpB,I,QAC7C,OADA,SACA,IAAM,IAAA/nQ,WAAU,EAAAopQ,4BAA6BhB,I,eAA7C,S,67BC5zBJ,kBACA,WACA,aAOMiB,EAA8F,CAChGC,qBAAsB,yDACtBC,WAAY,+CACZC,6BAA8B,iEAC9BC,yBAA0B,6DAC1BC,uBAAwB,2DACxBC,sBAAuB,0DACvBC,iBAAkB,qDAClBC,oBAAqB,wDACrBC,WAAY,+CACZC,2BAA4B,+DAC5BC,iCAAkC,qEAClCC,eAAgB,mDAChBC,UAAW,8CACXC,gBAAiB,oDACjBC,sBAAuB,0DACvBC,cAAe,kDACfC,cAAe,kDACfC,kBAAmB,sDACnBC,eAAgB,mDAChBC,sBAAuB,0DACvBC,iBAAkB,qDAClBC,qBAAsB,yDACtBC,oBAAqB,wDACrBvf,iCAAkC,qEAClCwf,mBAAoB,uDACpBC,SAAU,6CACVC,UAAW,8CACXC,SAAU,6CACVC,cAAe,kDACfC,wBAAyB,4DACzBngB,cAAe,kDACfI,cAAe,kDACfG,aAAc,kDAGZ6f,EAA2C54Q,EAAMC,MAAK,SAACC,GACjD,IAAAiD,EAASjD,EAAK,KAEda,GAAM,IAAAC,kBAAgB,EAE9B,OAAI,aAAMmC,GACC,KAGJ,4BAAO2zQ,EAAQ3zQ,GAAQpC,EAAE+1Q,EAAQ3zQ,IAASA,EACrD,IAEA,UAAey1Q,C,oYCzDf,cAEA,cACA,WACA,WAEMxmP,IAAc,MACf,EAAAxyB,WAAW+Z,YAAa,KACzB,EAAC,EAAA/Z,WAAWiO,QAAS,GACrB,EAAC,EAAAjO,WAAWkZ,MAAO,GACnB,EAAC,EAAAlZ,WAAWsjB,eAAgB,EAAAswC,kBAAkBC,OAC9C,EAAC,EAAA7zD,WAAWujB,WAAY,GACxB,EAAC,EAAAvjB,WAAWwjB,UAAW,GACvB,EAAC,EAAAxjB,WAAWyjB,SAAU,GACtB,EAAC,EAAAzjB,WAAW2jB,oBAAqB,GACjC,EAAC,EAAA3jB,WAAW0jB,qBAAsB,GAClC,EAAC,EAAA1jB,WAAW4jB,sBAAuB,G,GAqBvC,UAlByB,SAACghD,G,MACtB,OAAKA,IAIE,EAAP,IACK,EAAA5kE,WAAW+Z,YAAa6qD,EAAgB5qD,WAAY,aAAO4qD,EAAgB5qD,WAAW8I,SAAW,KAClG,EAAC,EAAA9iB,WAAWiO,QAAS22D,EAAgB32D,QAAU,GAC/C,EAAC,EAAAjO,WAAWkZ,MAAO0rD,EAAgB1rD,MAAQ,GAC3C,EAAC,EAAAlZ,WAAWsjB,eAAgBshD,EAAgBthD,eAAiB,EAAAswC,kBAAkBC,OAC/E,EAAC,EAAA7zD,WAAWujB,YAAY,IAAA4pI,uBAAsBvoF,EAAgB+1C,aAC9D,EAAC,EAAA36G,WAAWwjB,WAAW,IAAA2pI,uBAAsBvoF,EAAgBg2C,YAC7D,EAAC,EAAA56G,WAAWyjB,UAAU,IAAA0pI,uBAAsBvoF,EAAgBi2C,WAC5D,EAAC,EAAA76G,WAAW2jB,qBAAqB,IAAAwpI,uBAAsBvoF,EAAgBk2C,gBAAkB,GACzF,EAAC,EAAA96G,WAAW0jB,sBAAsB,IAAAypI,uBAAsBvoF,EAAgBm2C,iBAAmB,GAC3F,EAAC,EAAA/6G,WAAW4jB,uBAAuB,IAAAupI,uBAAsBvoF,EAAgBo2C,kBAAoB,G,GAbtF,EAAP,GAAYxoF,EAepB,C,+BCnCA,WAAgB,QAAU,iDAAiD,OAAS,gDAAgD,SAAW,kD,+BCA/I,WAAgB,OAAS,mCAAmC,SAAW,qC,sBCCvE,IAAYxyB,E,qEAAZ,SAAYA,GACR,wBACA,sBACA,gBACA,sBACA,2BACH,CAND,CAAYA,IAAU,aAAVA,EAAU,I,q7BCFtB,kBACA,cACA,cAEA,WACA,cACA,WACA,cACA,YACA,cACA,cAEMC,EAAK,UAAWC,KAAK,WAMrB+4Q,EAAiD74Q,EAAMC,MAAK,SAACC,GACvD,IAAAkqD,EAASlqD,EAAK,KAEda,GAAM,IAAAC,kBAAgB,EAE9B,OAAKopD,EAKD,uBAAKxpD,UAAWf,EAAG,WACf,uBAAKe,UAAWf,EAAG,UACdkB,EAAE,6CAA8C,CAC7C4sB,aAAcy8B,EAAKz8B,cAAgB,GACnCo0I,UAAW33G,EAAK23G,WAAa,GAC7BtvB,eAAgBroF,EAAKqoF,gBAAkB,MAG/C,uBAAK7xI,UAAWf,EAAG,kBACZuqD,EAAK4/B,WACJ,2BACI,gBAAC,UAAa,CACV1zE,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,UAClC9U,UAAW,EAAAC,qBAAqBsS,iBAIzCg2C,EAAKzY,eACJ,gBAAC,UAAS,CAACn9B,eAAa,EAACpT,MAAO,EAAAyS,mBAAmBK,MAC/C,gBAAC,UAAkB,CAACy9B,cAAeyY,EAAKzY,kBAG/C,aAASyY,EAAK2qC,qBAAsB,aAAS3qC,EAAK0qC,aAC/C,gBAAC,UAAS,CAACtgF,eAAa,EAACD,WAAS,EAACnT,MAAO,EAAAyS,mBAAmB9R,UACxD,UAAGqoD,EAAK0qC,WAAU,YAAI1qC,EAAK2qC,oBAGpC,uBAAKn0F,UAAWf,EAAG,aAClB,aAASuqD,EAAK6Z,aACX,uBAAKrjE,UAAWf,EAAG,UACf,gBAAC,UAAK,CAACiX,OAAQszC,EAAK6Z,WAAYjtD,SAAU,EAAAC,aAAaC,SAnChE,IAyCf,IAEA,UAAe2hQ,C,+BClEf,WAAgB,MAAQ,uBAAuB,mBAAmB,kCAAkC,uBAAuB,sCAAsC,mBAAmB,kCAAkC,mBAAmB,kCAAkC,iBAAiB,gCAAgC,oBAAoB,mCAAmC,oBAAoB,mCAAmC,oBAAoB,mCAAmC,uBAAuB,sCAAsC,kBAAkB,iCAAiC,oBAAoB,mCAAmC,qBAAqB,oCAAoC,sBAAsB,qCAAqC,cAAc,6BAA6B,uBAAuB,sCAAsC,0BAA0B,yCAAyC,KAAO,sBAAsB,eAAe,8BAA8B,aAAa,4BAA4B,sBAAsB,qCAAqC,QAAU,yBAAyB,uBAAuB,sCAAsC,OAAS,wBAAwB,SAAW,0B,0pCCDjuC,kBAEA,aACA,cACA,cACA,cACA,cAEMh5Q,EAAK,UAAWC,KAAK,WAgC3B,UAvB+D,SAACI,GACpD,IAAA2O,EAAuB3O,EAAK,QAAnBU,EAAcV,EAAK,UAEpC,OAAK2O,IAAW,aAAQA,GACb,KAIP,uBAAKjO,WAAW,aAAGf,EAAG,WAAYe,IAC7BiO,EAAQ0I,KAAI,SAAC1T,EAAQi1Q,GAAgB,OAClC,gBAAC,UAAM,GACHjmQ,IAAKimQ,EACL31Q,KAAK,SACLvC,UAAWf,EAAG,mBACdie,aAAW,EACXC,iBAAe,GACXla,GAP0B,IAYlD,C,m9BCtCA,kBACA,WACA,WACA,aACA,WAQa,EAAAw1F,qBAAkB,MAC1B,EAAAX,oBAAoBC,YAAa,qEAClC,EAAC,EAAAD,oBAAoBE,YAAa,qEAClC,EAAC,EAAAF,oBAAoBG,KAAM,6DAC3B,EAAC,EAAAH,oBAAoBI,SAAU,iEAC/B,EAAC,EAAAJ,oBAAoBK,SAAU,iE,GAGnC,IAAMggL,EAAqC/4Q,EAAMC,MAAK,SAACC,GAC3C,IAAAo2J,EAA0Cp2J,EAAK,kBAA5Bq2J,EAAuBr2J,EAAK,mBAE/Ca,GAAM,IAAAC,kBAAgB,EAE9B,IAAI,aAAMs1J,KAAsB,aAAMC,GAClC,OAAO,KAGX,IAAMp9D,GAAkB,IAAA6/K,sBAAqB1iH,EAAmBC,GAEhE,OAAKp9D,EAKD,4BACKp4F,EAAE,EAAAs4F,mBAAmBF,GAAkB,CACpCG,eAAgBg9D,EAChB/8D,eAAgBg9D,KAPjB,4BAAO,UAAGD,EAAiB,cAAMC,EAAkB,MAWlE,IAEA,UAAewiH,C,+BC5Cf,WAAgB,MAAQ,4BAA4B,gBAAgB,oCAAoC,iBAAiB,qCAAqC,iBAAiB,qCAAqC,2BAA2B,+CAA+C,2BAA2B,+CAA+C,0BAA0B,8CAA8C,eAAe,mCAAmC,OAAS,6BAA6B,SAAW,+B,+BCAnhB,WAAgB,2BAA2B,qEAAqE,sBAAsB,gEAAgE,OAAS,mDAAmD,SAAW,qD,q7BCD7Q,kBAEA,aACA,cAEA,cACA,cAEMl5Q,EAAK,UAAWC,KAAK,WAQrBm5Q,EAAwCj5Q,EAAMC,MAAK,SAACC,G,MAC9C4O,EAA0D5O,EAAK,SAArDw8C,EAAgDx8C,EAAK,gBAApCmpI,EAA+BnpI,EAAK,gBAAnBU,EAAcV,EAAK,UAEjEgM,EAAMlM,EAAM6I,OAA8B,MAE1CuB,EAAUpK,EAAM6yB,WAAW,WAuBjC,OArBA7yB,EAAMoL,WAAU,WACZ,IAAM4gI,EAAmB,W,QAChB9/H,EAAIT,UAIW,QAApB,EAAArB,EAAQyoG,oBAAY,SAAEwG,SAAoB,QAAX,EAAAntG,EAAIT,eAAO,eAAEygI,cAChD,EAMA,OAJA5rF,OAAOmlD,iBAAiB,SAAUumC,GAElCA,IAEO,W,MACH1rF,OAAOolD,oBAAoB,SAAUsmC,GAEjB,QAApB,EAAA5hI,EAAQyoG,oBAAY,SAAEwG,SAAS,EACnC,CAEJ,GAAG,CAACvqG,EAAU4tC,IAGV,uBACIxwC,IAAKA,EACLtL,WAAW,aACPf,EAAG,OAAQ,CACP,wBAAyB68C,EACzB,wBAAyB2sF,IAE7BzoI,GAEJyH,MAAO,CAAE+jI,YAAa,WAAyB,QAAtB,EAAAhiI,EAAQgvG,sBAAc,eAAEj0G,QAAS,EAAC,QAE1D2J,EAGb,IAEA,UAAemqQ,C,4LC5Df,eACA,WAIA,cAwBS,EAAA9yM,sBAtBqB,SAC1B/rD,EACAm3B,GAEA,IAAM2nO,EAAuC,GAQ7C,OAPI9+P,EAAak7G,qBACb4jJ,EAAsBthQ,KAAKwC,EAAak7G,qBAExCl7G,EAAai7G,cACb6jJ,EAAsBthQ,KAAKwC,EAAai7G,cAGrC,CACHhiC,oBAAqBj5E,EAAa5W,YAAc,CAAC4W,EAAa5W,kBAAegD,EAC7E0yQ,uBAAwB,aAAQA,QAAiD1yQ,EAAxB0yQ,EACzDtyP,QAASxM,EAAaiX,YACtBvY,KAAMsB,EAAasvB,iBAAcljC,EACjC2yQ,cAAe/+P,EAAa,EAAAiwC,qBAAqB+uN,aACjD7nO,MAAM,IAAAs7D,qBAAoBt7D,GAElC,C,ooBC1Ba,EAAAgwK,sBAAwB,SAACt9L,GAClC,MAAO,CAACA,aAAK,EAALA,EAAOoD,OAAO6H,OAAOhmB,SAASsmB,KAAK,KAC/C,EAEA,IAAM6pP,EAAwF,CAC1FC,OAAQ,EACRC,OAAQ,GAGC,EAAAnxG,eAAiB,SAACD,GAC3B,OAAO,OAAIA,IAAU,GAAE52H,MAAK,SAACioO,EAAOC,G,QAC1BC,GAAyC,QAAlB,EAAAF,EAAM3e,oBAAY,QAAI,IAAIn8G,cAAgC,QAAlB,EAAA+6H,EAAM5e,oBAAY,QAAI,IAC3F,OAA4B,IAAxB6e,EACOA,GAGOF,EAAM7nO,cAAgB0nO,EAAqBG,EAAM7nO,eAAiBz+B,OAAOymQ,mBACzEF,EAAM9nO,cAAgB0nO,EAAqBI,EAAM9nO,eAAiBz+B,OAAOymQ,iBAG/F,GACJ,C,q7BCvBA,kBACA,cAEA,cACA,WAEM95Q,EAAK,UAAWC,KAAK,WASrB85Q,EAA4D,CAC9Dn4N,IAAK,2CACL+5C,OAAQ,8CACRpvE,QAAS,gDAGPytP,EAAgD,SAAC,G,IAAEhsQ,EAAM,SAC3D,OAAO,wBAAMjN,UAAWf,EAAG,WAAYgO,EAC3C,EAEMisQ,EAAuD95Q,EAAMC,MAAK,SAACC,GAC7D,IAAAiD,EAAsDjD,EAAK,KAArD0gK,EAAgD1gK,EAAK,aAAvC2gK,EAAkC3gK,EAAK,WAA3B4gK,EAAsB5gK,EAAK,kBAEnE,OACI,uBAAKU,UAAWf,EAAG,SACf,gBAAC,EAAA2Q,MAAK,CACFD,QAASqpQ,EAASz2Q,GAClBsN,WAAY,CACRmwJ,aAAc,gBAACi5G,EAAM,CAAChsQ,OAAQ+yJ,IAC9BC,WAAY,gBAACg5G,EAAM,CAAChsQ,OAAQgzJ,IAC5BC,kBAAmB,gBAAC+4G,EAAM,CAAChsQ,OAAQizJ,OAKvD,IAEA,UAAeg5G,C,+BCzCf,WAAgB,KAAO,4BAA4B,KAAO,4BAA4B,mBAAmB,wCAAwC,qBAAqB,0CAA0C,OAAS,8BAA8B,SAAW,gC,+BCAlQ,WAAgB,KAAO,iCAAiC,OAAS,mCAAmC,SAAW,qC,8MCA/G,kBAEa,EAAAlmO,sBAAwB,SAACn9B,G,MAC5BkqC,EAAiC,QAAtB,EAAAlqC,aAAK,EAALA,EAAOsjQ,uBAAe,eAAEp5N,SAEzC,OAAO,aAASA,GAAYA,EAAW,IAC3C,EAEa,EAAA9M,gBAAkB,SAACF,EAA+BlB,GAC3D,IAAMkO,GAAW,aAASlO,GAAkBA,EAAiBkB,EAE7D,MAAO,CACHgN,SAAQ,EACR7M,mBAAoBH,IAAmBgN,EACvC5M,cAAc,aAASJ,KAAmB,aAASgN,GAAYA,EAAWhN,EAAiB,KAEnG,C,+BChBA,WAAgB,OAAS,6BAA6B,wBAAwB,4CAA4C,OAAS,6BAA6B,SAAW,+B,0cCD3K,kBAEA,cACA,cACA,cACA,WAEM9zC,EAAK,UAAWC,KAAK,WAQrBk6Q,EAAgC,UAAM/5Q,MAAK,SAACC,GACtC,IAAA8a,EAAW9a,EAAK,OAElB,IAA8B,UAAMqE,UAAkB,GAAK,GAA1D01Q,EAAU,KAAEC,EAAa,KAE1BtxQ,EAAU,UAAMC,OAAuB,MACvCsxQ,EAAU,UAAMtxQ,OAAuB,MAuB7C,OARA,UAAMuC,WAAU,WAEZg4E,YAAW,YAfa,WACxB,GAAK+2L,EAAQ1uQ,SAAY7C,EAAQ6C,QAAjC,CAIA,IAAM2uQ,EAAeD,EAAQ1uQ,QAAQywG,wBAG/Bm+J,EAFezxQ,EAAQ6C,QAAQywG,wBAEHx6G,MAlBhB,IAkBwB04Q,EAAa14Q,MACnDu4Q,IAAeI,GACfH,EAAcG,EAPlB,CASJ,CAIQC,EACJ,GAAG,EAEP,GAAG,CAACH,EAAQ1uQ,QAAS7C,EAAQ6C,QAASuP,IAGlC,+BAAKpa,UAAWf,EAAG,YAAaqM,IAAKtD,GACjC,+BACIhI,UAAWf,EAAG,OAAQ,CAClB,iBAAkBo6Q,IAEtB/tQ,IAAKiuQ,GAEL,wBAAC,UAAQ,CAACt4Q,UAAW,EAAAC,qBAAqBgG,SAI1D,IAEA,UAAekyQ,C,+BCzDf,WAAgB,OAAS,sCAAsC,SAAW,wC,mGCA1E,eAEa,EAAAz3D,iBAAmB,SAAC1zJ,GAC7B,SAAKA,EAAQvjC,kBAIRujC,EAAQrjC,mBAITqjC,EAAQv+B,YAAY7K,SAAS,EAAAvY,gBAAgBke,WAAayjC,EAAQxjC,uBAK1E,C,8sBCjBA,IA6BYkvP,EA7BZ,cACA,aACA,cACA,WAaA,cACA,cACA,cAEA,WAOM16Q,EAAK,UAAWC,KAAK,YAE3B,SAAYy6Q,GACR,YACA,iBACH,CAHD,CAAYA,IAAmB,sBAAnBA,EAAmB,KA4B/B,IAAM3+C,EAAqB,SAACC,GAA4B,OAAAA,EAAgBC,aAAhB,EAElDtvF,IAAqB,MACtB+tI,EAAoBxuQ,KAAM,YAC3B,EAACwuQ,EAAoB18H,QAAS,e,GA+LlC,UA5LiC,SAAC39I,GAE1B,IAAA4Y,EAcA5Y,EAAK,KAbLwyK,EAaAxyK,EAAK,aAZLuF,EAYAvF,EAAK,QAXLsF,EAWAtF,EAAK,OAVLqF,EAUArF,EAAK,WATLmF,EASAnF,EAAK,WARLoF,EAQApF,EAAK,SAPLuC,EAOAvC,EAAK,gBANLU,EAMAV,EAAK,UALLkC,EAKAlC,EAAK,iBAJLwF,EAIAxF,EAAK,WAHLW,EAGAX,EAAK,aAFLiF,EAEAjF,EAAK,MADL8c,EACA9c,EAAK,SAEH,IAA0B,UAAMqE,UAAS,GAAM,GAA9CqzB,EAAS,KAAEogL,EAAU,KACtB,IAA0B,UAAMzzM,UAAkB,GAAM,GAAvDi2I,EAAS,KAAE6oC,EAAU,KA8BtB,IAA8B,UAAM9+K,UAAiB,WACvD,OAAO,IAAAi2Q,kBAAiBr1Q,EAC5B,IAAE,GAFK8oB,EAAU,KAAEmK,EAAa,KAG1B,IAAgC,UAAM7zB,WAAkB,GAAvD8sB,EAAW,KAAE06H,EAAc,KAC5B,IAA0C,UAAMxnJ,UAAS,GAAM,GAA9Dk2Q,EAAiB,KAAEC,EAAkB,KAmB5C,UAAMtvQ,WAAU,WACZ,IAAKjG,EAGD,OAFA4mJ,EAAe,SACf3zH,EAAc,IAIlB,IAAMuiP,GAAqB,IAAAH,kBAAiBr1Q,GAC5CizB,EAAcuiP,GAEd,IAAMC,GAAoB,IAAAC,gBAAe11Q,GACzC4mJ,EAAe6uH,GAAqB,GACxC,GAAG,CAACz1Q,IAEJ,IAAMrE,EAAmB,UAAGD,EAAY,uBAElC,GAAoC,IAAAsI,aAAY,CAClDC,KAAMqxQ,EACNpxQ,aAAc,SAACD,GACNA,GACDsxQ,GAAmB,EAE3B,EACApxQ,UAAWkjI,EAAsB/pI,GAAmB83Q,EAAoB18H,QACxEt0I,WAAY,EACR,IAAAC,QAAO,IACP,IAAAC,MAAK,CAAEC,QAAS,KAChB,IAAAC,OAAM,CAAED,QAAS,KACjB,IAAA4M,MAAK,CACD5M,QAAS,EACToxQ,MAAK,SAAC,G,IAAEC,EAAK,QAAEC,EAAQ,WACnBp3N,OAAOyhI,OAAO21F,EAASC,SAAS5yQ,MAAO,CACnC3G,MAAO,UAAGq5Q,EAAMG,UAAUx5Q,MAAK,OAEvC,KAGRoI,SAAU,QACVC,WAAW,EACXC,qBAAsB,EAAAC,aAvBlBC,EAAI,OAAEC,EAAc,iBAAEC,EAAO,UA0B/BW,GAAU,IAAAC,YAAWZ,EAAS,CAChCuiI,kBAAmB,cAGjB,GAA0C,IAAA1hI,iBAAgB,CAACF,IAAzDG,EAAiB,oBAAEC,EAAgB,mBAE3C,OACI,+BAAKvK,WAAW,aAAGf,EAAG,YAAae,IAC/B,+BAAKA,UAAWf,EAAG,iBACf,iCACIqM,IAAKhC,EAAKoB,aACV1K,UAAWf,EAAG,UAAW,CACrB,mBAAoB+3B,GAAa6iP,EACjC,sBAAuBl1Q,EACvB,sBAAuBG,EACvB,sBAAuBL,EACvB,oBAAqBC,EACrB,qBAAsBk1I,IAE1BjsB,YAhHQ,WACfisB,GACD6oC,GAAW,EAEnB,EA6GgBv3K,aA3GS,WACrBu3K,GAAW,EACf,GA0GoBn4K,KAEJ,wBAAC,UAA0B,CACvB4N,KAAMA,EACNuY,YAAaA,EACb8pP,mBArFU,WACtB51Q,GAGJm1Q,GAAoBD,EACxB,EAiFoBt4M,YAAal0C,EACbmtP,oBAhFY,SAACj5M,GAC7B,IAAMw4M,GAAqB,IAAAH,kBAAiBr4M,GAC5C/pC,EAAcuiP,GAEd,IAAM3uH,GAAoB,IAAA3V,kBAAiBl0E,GACvCh9D,IAAU6mJ,GACVhvI,EAASgvI,EAEjB,EAyEoBnrJ,aAAcC,EACd2E,QAjHA,WACXmyB,GACDogL,GAAW,GAGXvyM,GACAA,GAER,EA0GoBD,OAxGD,WACfwyM,GAAW,GAEPxyM,GACAA,GAER,EAmGoBD,WAAYA,KAGnBk1Q,GACG,wBAAC,EAAAnuQ,eAAc,KACX,iCACIJ,IAAKhC,EAAKqC,YACVlE,MAAO8B,EACPvJ,WAAW,aAAGf,EAAG,WAAYuC,IACzB+I,MAEFunK,GAAgB,IAAIn7J,KAAI,SAACqP,GACvB,OACI,wBAAC,UAAyB,CACtB/T,IAAK+T,EAAQ8mC,KACb7sD,aAAcC,EACduwB,YAAauqM,EAAmBh1M,EAAQ8mC,MACxCzmD,MAAO2f,EAAQkyI,oBACfhxI,WAAY8zM,EAAmBh1M,EAAQ8mC,QAAUr8B,EACjDjsB,SAAU,SAACi2Q,GACP,GAAIA,IAAwBhqP,EAAa,CACrC,IAAMiqP,GACF,IAAAC,4BAA2BF,GAE/BjjP,EAAckjP,GACdvvH,EAAesvH,GACfr+P,EAASs+P,EACb,CAEAZ,GAAmB,EACvB,GAGZ,OAO5B,C,sBC1PA,IAAY31O,E,iFAAZ,SAAYA,GACR,4CACA,4CACA,iCACA,iCACA,kEACA,uDACA,uCACA,kDACA,6DACA,kDACH,CAXD,CAAYA,IAAsB,yBAAtBA,EAAsB,I,yECAlC,eAEA,WAoBA,UAlBsB,SAACy2O,G,UACbx5P,EAAgC,CAAC,EAEvC,OAAK,IAAAmwF,qBAAoBqpK,EAAkBv3Q,SAKhB,QAAvB,EAAAu3Q,EAAkBv3Q,aAAK,eAAEd,QAAS,EAAAivG,kBAAkBu4E,gBAC7B,QAAvB,EAAA6wF,EAAkBv3Q,aAAK,eAAEd,QAAS,EAAAivG,kBAAkB0qD,qBAC7B,QAAvB,EAAA0+G,EAAkBv3Q,aAAK,eAAEd,QAAS,EAAAivG,kBAAkB2qD,mCAEpD/6I,EAAY,EAAApiB,WAAWu8E,iBAAmBq/L,EAAkBv3Q,MAAMd,MAG/D6e,GAXIA,CAYf,C,+BCnBA,WAAgB,KAAO,6CAA6C,cAAc,oDAAoD,SAAW,iDAAiD,+BAA+B,qEAAqE,OAAS,+CAA+C,SAAW,iD,sBCDzW,IAAYpiB,E,qEAAZ,SAAYA,GACR,iBACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,I,+BCCtB,WAAgB,MAAQ,2BAA2B,eAAe,kCAAkC,OAAS,4BAA4B,SAAW,8B,+BCApJ,WAAgB,KAAO,4CAA4C,MAAQ,6CAA6C,aAAe,oDAAoD,cAAc,mDAAmD,eAAe,oDAAoD,OAAS,8CAA8C,SAAW,gD,sBCCjY,IAAYyqD,EAYAtyC,E,+FAZZ,SAAYsyC,GACR,2BACA,sCACA,8BACA,kCACA,0BACA,yBACA,6BACA,yBACA,4BACH,CAVD,CAAYA,IAAoB,uBAApBA,EAAoB,KAYhC,SAAYtyC,GACR,+BACA,uCACA,yBACA,oBACH,CALD,CAAYA,IAAa,gBAAbA,EAAa,I,q7BCdzB,kBAEA,aACA,cAEA,cAGA,cAYMlY,EAAK,UAAWC,KAAK,WAErB27Q,EAA2Cz7Q,EAAMC,MAAK,SAACC,GAErD,IAAAU,EAQAV,EAAK,UAPLiyB,EAOAjyB,EAAK,KANLw7Q,EAMAx7Q,EAAK,WALLqkB,EAKArkB,EAAK,YAJL4O,EAIA5O,EAAK,SAHLy7Q,EAGAz7Q,EAAK,qBAFL07Q,EAEA17Q,EAAK,oBADL27Q,EACA37Q,EAAK,oBAEHmI,EAAuB,CAAC,EAE9B,KAAK,aAAS8pB,GAKV,OAJIwpP,IACAtzQ,EAAMmxF,MAAQmiL,GAId,wBAAM/6Q,WAAW,aAAGf,EAAG,cAAee,GAAYyH,MAAOA,GACpDyG,GAKb,IAAMgtQ,EAAaJ,EAAavpP,EAAO,EAAIA,EAAO,EAC5C4pP,EAAaL,EAAavpP,EAAO,EAAIA,EAAO,EAclD,OAZI2pP,GAAcF,IACdvzQ,EAAMmxF,MAAQoiL,GAGdG,GAAcF,IACdxzQ,EAAMmxF,MAAQqiL,GAGdt3P,GAAeo3P,IACftzQ,EAAMmxF,MAAQmiL,GAId,wBACI/6Q,WAAW,aACPf,EAAG,SAAU,CACT,mBAAoBi8Q,EACpB,mBAAoBC,EACpB,qBAAsBx3P,IAE1B3jB,GAEJyH,MAAOA,GAENyG,EAGb,IAEA,UAAe2sQ,C,qUChFf,eA2Ba,EAAA3qB,kBAAoB,SAC7Bn8O,EACAxO,EACA9D,GAEA,MAAO,CACHc,KAAM,EAAAouP,4BACNprP,MAAK,EACLwO,WAAU,EACVtS,QAAO,EAEf,EAEa,EAAAwuP,uBAAyB,SAClC1qP,EACAwO,GACgC,OAChCxR,KAAM,EAAA2iI,kCACN3/H,MAAK,EACLwO,WAAU,EAHsB,EAMvB,EAAAq8O,yBAA2B,SACpC7qP,EACAwO,EACAI,GACkC,OAClC5R,KAAM,EAAA4iI,oCACN5/H,MAAK,EACL4O,aAAY,EACZJ,WAAU,EAJwB,EAOzB,EAAAo8O,uBAAyB,SAClC5qP,EACAwO,EACA1Q,GACgC,OAChCd,KAAM,EAAA6iI,kCACN7/H,MAAK,EACLlC,MAAK,EACL0Q,WAAU,EAJsB,EAOvB,EAAAi8O,cAAgB,SAACx7O,GAAoE,OAC9FjS,KAAM,EAAA+iI,eACN9wH,oBAAmB,EAF2E,EAKrF,EAAA4mQ,qBAAuB,SAACrvQ,GAAgE,OACjGxJ,KAAM,EAAAquP,uBACN7kP,KAAI,EAF6F,EAKxF,EAAAk5H,qBAAuB,SAACl5H,GAAkE,OACnGxJ,KAAM,EAAAsuP,uBACN9kP,KAAI,EAF+F,EAK1F,EAAAwkP,0BAA4B,WAAwC,OAC7EhuP,KAAM,EAAAgjI,6BADuE,EAIpE,EAAAja,0BAA4B,SAACjoH,GAAmD,OACzFd,KAAM,EAAAijI,6BACNniI,MAAK,EAFoF,EAKhF,EAAAotP,4BAA8B,WAA0C,OACjFluP,KAAM,EAAAkjI,+BAD2E,C,+BC9FrF,WAAgB,OAAS,qCAAqC,yBAAyB,qDAAqD,qCAAqC,iEAAiE,oBAAoB,gDAAgD,OAAS,qCAAqC,MAAQ,oCAAoC,oBAAoB,gDAAgD,MAAQ,oCAAoC,QAAU,sCAAsC,OAAS,qCAAqC,SAAW,uC,+BCAzmB,WAAgB,KAAO,4BAA4B,sBAAsB,2CAA2C,QAAU,+BAA+B,KAAO,4BAA4B,MAAQ,6BAA6B,QAAU,+BAA+B,OAAS,8BAA8B,SAAW,gC,q7BCDhU,kBAEA,aACA,cAEA,cAEMxmI,EAAK,UAAWC,KAAK,WAWrBm8Q,EAAkCj8Q,EAAMC,MAAK,SAACC,GACxC,IAAAC,EAAoED,EAAK,MAAlEg8Q,EAA6Dh8Q,EAAK,WAAtDi8Q,EAAiDj8Q,EAAK,SAA5CO,EAAuCP,EAAK,UAAjCU,EAA4BV,EAAK,UAAtBW,EAAiBX,EAAK,aAEjF,OACI,uBAAKU,WAAW,aAAGf,EAAG,WAAYe,GAAU,qBAAsB,UAAGC,EAAY,qBAC7E,uBAAKD,UAAWf,EAAG,iBACds8Q,GAAY,uBAAKv7Q,UAAWf,EAAG,cAAes8Q,GAC9Ch8Q,GAAS,uBAAKS,UAAWf,EAAG,UAAWM,GACvC+7Q,GAAc,uBAAKt7Q,UAAWf,EAAG,gBAAiBq8Q,IAEtDz7Q,GAAa,uBAAKG,UAAWf,EAAG,eAAgBY,GAG7D,IAEA,UAAew7Q,C,q7BCjCf,kBAEA,cAEA,cAEA,WACA,WAMMp8Q,EAAK,UAAWC,KAAK,WAErBsyI,EAAc,eAEdgqI,EAAoCp8Q,EAAMC,MAAK,SAACC,GAC1C,IAAA+Z,EAAS/Z,EAAK,KAEda,GAAM,IAAAC,kBAAgB,EAE9B,OACI,2BACI,uBAAKJ,UAAWf,EAAG,UAAU,IAAAypF,YAAW8oD,GAAa,IAAA//C,mBAAkBp4E,EAAKwI,aAC5E,uBAAK7hB,UAAWf,EAAG,SACdoa,EAAKL,WACA,IAAA0vE,YAAW8oD,GAAa,IAAA//C,mBAAkBp4E,EAAKL,YAC/C7Y,EAAE,iCAIxB,IAEA,UAAeq7Q,C,u8CClCf,kBACA,cAEA,cACA,WACA,cACA,cACA,cACA,WACA,WACA,UACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cAEA,cACA,aAIA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,UACA,cACA,cACA,WACA,WAMA,cACA,WAGA,cACA,cACA,cACA,cACA,UACA,cACA,eACA,eAGA,eAEMx/I,IAAa,aAAO,EAAAh9H,YACpB8jD,IAA+B,IAAAC,oCAAmCi5E,IAElE/8H,GAAK,UAAWC,KAAK,WA2jB3B,UAvjB2D,SAACI,GAChD,IAAAyM,EAAsDzM,EAAK,KAArDQ,EAAgDR,EAAK,QAA5CE,EAAuCF,EAAK,SAAlC2jD,EAA6B3jD,EAAK,yBAE3DqD,EAAcoJ,EAAI,UAEpB8nB,GAAW,IAAAC,eAET3zB,GAAM,IAAAC,kBAAgB,EAGxBkO,GAD8B,IAAAgH,aAAY,EAAAmmQ,kCACFt4Q,QAExCu4Q,GAAqB,IAAApmQ,aAAY,EAAAqmQ,0BAEjCC,EAAe,iBAAkB7vQ,GAAQA,EAAK6vQ,aAE9Cr/J,GAAgD,IAAAz4G,UAAQ,WAC1D,MAAI,cAAeiI,GACR2vQ,EAAmB3vQ,EAAK47B,YAIxB,IAIf,GAAG,CAAC57B,EAAM2vQ,EAAoBE,IAExB7xO,IAAyB,IAAAz0B,cAAY,IAAA00B,wBAAuBrnC,IAC5D0nC,IAA4B,IAAA/0B,cAAY,IAAAg1B,2BAA0B3nC,IAElE0mI,IAAsB,IAAAvlI,UAAQ,WAChC,MAAI,cAAeiI,EACRs+B,GAGPuxO,EACO7xO,GAGJ,IACX,GAAG,CAACh+B,EAAMs+B,GAA2BN,GAAwB6xO,KAE7D,aAA4BvyI,GAAqB7pI,GAAYM,GAE7D,UAAM0K,WAAU,WACR,cAAeuB,GACf8nB,GAAS,IAAA00H,qBAAoBx8I,EAAK47B,WAE1C,GAAG,CAAC57B,EAAM8nB,IAEV,IAAMiL,MAAYy9E,aAAc,EAAdA,EAAgBp3G,QAC5B02Q,GAAmBD,IAAiB98O,GAEpCokB,GAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,KAAiC,UAAM2D,SAAQ,WACjD,IAAMsW,GAAS,aAAiBmiG,GAGhC,MAAO,CAACniG,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACmiG,IAAgB,GANbziG,GAAa,MAAEupC,GAAa,MAQ7BtpC,IAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,GACbvpC,cAAa,GACbopC,SAAQ,GACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMyhQ,GAAa,aAAkB1hQ,GAEjCwhQ,EACA/nP,GAAS,IAAAkoP,YAAWD,EAAYn5Q,IACzB,cAAeoJ,EACtB8nB,GAAS,IAAA60H,eAAc38I,EAAK47B,UAAWm0O,EAAYn5Q,KAEnD,IAAAqxB,YAAW,wEAGf3Z,EAAcI,WAAW,CAAC,EAC9B,IAGEuhQ,GAAuB,SAACz3Q,GAC1BwV,GAAOsB,cAAc,EAAArc,WAAWqB,SAAUkE,EAC9C,EAEMs3O,GAAuB,SAAC77G,GACrBA,GAILjmH,GAAOsB,cAAc,EAAArc,WAAWo8E,SAAU4kD,EAC9C,EAEM,KAAgD,UAAMr8H,SAAiC,MAAK,GAA3Fg4O,GAAmB,MAAEC,GAAsB,MAE5CqgC,GAAoB,SAAC57Q,GACvB,OACI,wBAAC,UAAc,CACXL,UAAWf,GAAG,SACdsF,MAAOlE,EACPoG,cAAesT,GAAOK,OAAO,EAAApb,WAAWqB,UACxC+b,SAAU4/P,IAGtB,EAEMz4N,GAA0BT,GAA6B/oC,GAAOK,OAAQN,KAC5E,IAAAtP,YAAU,WACNy4C,EAAyBM,GAE7B,GAAG,CAACA,KAEJ,IAAM++B,IAAqBs5L,IAAiBr4N,KAA4B8lF,cAAmB,EAAnBA,GAAqBlmI,SAEvF+4Q,IAAsBN,GAAgB7hQ,GAAOK,OAAO,EAAApb,WAAWwM,OAAQ+wG,aAAc,EAAdA,EAAgB/wG,IAEvF2wQ,IAA+B5/J,aAAc,EAAdA,EAAgB4/J,+BAAgC,KAC/EC,GAAuC9zQ,QAAQ6zQ,IAE/CE,IAAuBT,GAAgBr4N,IAA2B24N,GAExE,OACI,gCAAM/hQ,SAAUJ,GAAOiB,aAAchb,UAAWf,GAAG,SAC9CqP,GAAa,wBAAC,UAAa,MAC5B,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CACjB9O,SAAUA,EAAW,WAAM,OAAAA,EAAS,CAAEy6J,uBAAuB,GAAlC,EAA6C,KACxE16J,MACIq8Q,EACIz7Q,EAAE,0CAEF,wBAAC,UAAoB,CAACo8G,eAAgBA,IAG9C18G,UAAWw8Q,IAAuB,wBAAC,UAA8B,MACjEv8Q,QAASA,EAAU,WAAM,OAAAA,EAAQ,CAAEm6J,uBAAuB,GAAjC,EAA4C,QAG7E,wBAAC,UAAa,KACV,+BAAKj6J,UAAWf,GAAG,YACf,+BAAKe,UAAWf,GAAG,mBAAoBkB,EAAE,mDACzC,+BAAKH,UAAWf,GAAG,mBACf,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRe,UAAWf,GAAG,iBACdiZ,KAAM,EAAAlZ,WAAWu2I,OACjBlyI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWu2I,QAChCp6H,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWu2I,QACrClvI,MAAOlG,EAAE,wDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAkB,CACfiF,MAAOwV,GAAOK,OAAO,EAAApb,WAAWu2I,QAChCn5H,SAAU9c,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,WACxCF,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfG,YAAa7E,EAAE,+DATX,IAahB,wBAAC,UAAW,CACRH,UAAWf,GAAG,qBACdiZ,KAAM,EAAAlZ,WAAWgqB,UACjB3lB,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWgqB,WAChC7N,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWgqB,WACrC3iB,MAAOlG,EAAE,4DACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWgqB,UACjBzkB,MAAOwV,GAAOK,OAAO,EAAApb,WAAWgqB,WAChC0yF,UAAW,EAAAogI,iCACX1/N,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,YAVpC,IAchB,wBAAC,UAAW,CACR9E,UAAWf,GAAG,oBACdiZ,KAAM,EAAAlZ,WAAWiqB,SACjB5lB,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWiqB,UAChC9N,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWiqB,UACrC5iB,MAAOlG,EAAE,2DACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWiqB,SACjB1kB,MAAOwV,GAAOK,OAAO,EAAApb,WAAWiqB,UAChCyyF,UAAW,EAAAogI,iCACX1/N,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,YAVpC,OAiB5B,+BAAK9E,UAAWf,GAAG,YACf,+BAAKe,UAAWf,GAAG,mBACdkB,EAAE,uDAEP,+BAAKH,UAAWf,GAAG,mBACf,+BAAKe,UAAWf,GAAG,iBACf,+BAAKe,UAAWf,GAAG,sBAAuB,6BACrCg9Q,GAAkB,EAAAnrI,qBAAqBrvF,UACvCw6N,GAAkB,EAAAnrI,qBAAqBE,OACvCirI,GAAkB,EAAAnrI,qBAAqBI,KAE5C,+BAAKlxI,UAAWf,GAAG,sBAAuB,6BACrCg9Q,GAAkB,EAAAnrI,qBAAqBC,YACvCkrI,GAAkB,EAAAnrI,qBAAqBG,OACxC,wBAAC,UAAW,CACR/4H,KAAM,EAAAlZ,WAAWk/K,UACjB76K,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWk/K,WAChC/iK,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWk/K,WACrC7iK,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,gBACxBuoC,cAAY,IAEX,SAACvkD,GAAU,OACR,wBAAC,WAAO,CACJe,SAAU,GAAAC,oBAAoB60B,UAC9B30B,MAAO,GAAAC,iBAAiBC,MACxBC,YACIy7Q,GACI,wBAAC,WAAc,CAAC57Q,MAAO,GAAAK,wBAAwBH,MAAOI,MAAO,KACzD,wBAAC,WAAiC,CAC9B60F,OAAQwmL,MAGhB,OAGP,WAAM,OACH,wBAAC,UAAQ,CACLx3Q,WAAYy3Q,GACZ/1Q,MAAOlG,EAAE,yDACT+kF,UAAWnrE,GAAOK,OAAO,EAAApb,WAAWk/K,WACpC9hK,SAAU,WACN9c,EAAM8c,UAAUrC,GAAOK,OAAO,EAAApb,WAAWk/K,WAC7C,GAPD,GAdH,QA+BhC,+BAAKl+K,UAAWf,GAAG,YACf,+BAAKe,UAAWf,GAAG,mBACdkB,EAAE,uDAEP,+BAAKH,UAAWf,GAAG,mBACf,wBAAC,UAAU,KACN48Q,GACG,wBAAC,UAAW,CACR77Q,UAAWf,GAAG,gBACdiZ,KAAM,EAAAlZ,WAAW+G,MACjB1C,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW+G,OAChCoV,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW+G,OACrCM,MAAOlG,EAAE,uDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW+G,MACjBxB,MAAOwV,GAAOK,OAAO,EAAApb,WAAW+G,OAChCqW,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,YATpC,IAchB,wBAAC,UAAa,CACV9E,UAAWf,GAAG,gBACdoH,MAAOlG,EAAE,uDACToE,MAAOwV,GAAOK,OAAO,EAAApb,WAAW+G,SAGxC,wBAAC,UAAW,CACR/F,UAAWf,GAAG,uBACdiZ,KAAM,EAAAlZ,WAAWq2I,YACjBhyI,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWq2I,aAChCl6H,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWq2I,aACrChvI,MAAOlG,EAAE,8DACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAgB,CACb4Y,KAAM,EAAAlZ,WAAWq2I,YACjB9wI,MAAOwV,GAAOK,OAAO,EAAApb,WAAWq2I,aAChCj5H,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,YATpC,KAcpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR9E,UAAWf,GAAG,wBACdiZ,KAAM,EAAAlZ,WAAW86H,aACjBz2H,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW86H,cAChC3+G,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW86H,cACrCzzH,MAAOlG,EAAE,+DACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAgB,CACb4Y,KAAM,EAAAlZ,WAAW86H,aACjBv1H,MAAOwV,GAAOK,OAAO,EAAApb,WAAW86H,cAChC19G,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,YATpC,IAahB,wBAAC,UAAW,CACR9E,UAAWf,GAAG,qBACdiZ,KAAM,EAAAlZ,WAAWo/K,UACjB/6K,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWo/K,WAChCjjK,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWo/K,WACrC/3K,MAAOlG,EAAE,4DACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWo/K,UACjB75K,MAAOwV,GAAOK,OAAO,EAAApb,WAAWo/K,WAChChiK,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,YATpC,KAcpB,wBAAC,UAAW,CACRoT,KAAM,EAAAlZ,WAAWs/K,YACjBj7K,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWs/K,aAChCnjK,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWs/K,aACrCj4K,MAAOlG,EAAE,8DACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWs/K,YACjB/5K,MAAOwV,GAAOK,OAAO,EAAApb,WAAWs/K,aAChCliK,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,YATpC,IAaf,EAAAu0H,kBAAkB1iH,KAAI,SAACikI,GACpB,IAAMmhG,EAAahiO,GAAOK,OAAOwgI,GAEjC,MAA0B,iBAAfmhG,EACA,KAIP,wBAAC,UAAW,CACR9pO,IAAK2oI,EACL1iI,KAAM0iI,EACNv3I,MAAO0W,GAAOmB,OAAO0/H,GACrBz/H,KAAMpB,GAAOqB,aAAaw/H,GAC1Bv0I,MAAOlG,EAAE,kDAA2Cy6I,EAAK,WACzDv/H,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,+BAAKU,UAAWf,GAAG,UACf,wBAAC,UAAK,CACFiZ,KAAM0iI,EACN56I,UAAWf,GAAG,gBACdsF,MAAOw3O,EACP3/N,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYo3Q,IAAsB58Q,EAAMwF,WACxCuzB,UAAWsjN,KAAwB/gG,IAEvC,wBAAC,UAAkB,CACf56I,UAAWf,GAAG,eACd8B,QAAS,WACLgZ,GAAOsB,cAAcu/H,OAAOh1I,EAChC,EACA5E,SAAU,wBAAC,UAAS,CAACC,UAAW,EAAAC,qBAAqBkS,YACrDhS,gBAAiB,EAAAC,oBAAoBC,QApBrC,GA0BxB,IACA,wBAAC,UAAyB,CACtBsX,WAAYmB,GAAOK,OACnB4hO,cAAe,SAACC,GACZL,GAAuBK,GACvBliO,GAAOsB,cAAc4gO,EAAa,GACtC,MAIZ,+BAAKj8O,UAAWf,GAAG,YACf,+BAAKe,UAAWf,GAAG,mBACdkB,EAAE,wDAEP,+BAAKH,UAAWf,GAAG,mBACf,wBAAC,UAAU,KACP,wBAAC,UAAW,CACRe,UAAWf,GAAG,mBACdiZ,KAAM,EAAAlZ,WAAW42B,SACjBvyB,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAW42B,UAChCza,KAAMpB,GAAOqB,aAAa,EAAApc,WAAW42B,UACrCvvB,MAAOlG,EAAE,0DACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,KACH,EAAA+1B,uBAAuBO,SAAQ,CACnCI,kBAAgB,EAChB9d,KAAM,EAAAlZ,WAAW42B,SACjBrxB,MAAOwV,GAAOK,OAAO,EAAApb,WAAW42B,UAChCvxB,aAAcyV,GAAc,EAAA9a,WAAW42B,UACvC5wB,YAAa7E,EAAE,gEACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BqiF,QAC/Cp6F,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBI,WAAYo3Q,IAAsB58Q,EAAMwF,WACxCF,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfoxB,aAAc,EAAAimN,sBACdn3O,iBAAe,IAhBX,IAoBhB,wBAAC,UAAW,CACR/E,UAAWf,GAAG,kBACdiZ,KAAM,EAAAlZ,WAAWyxB,YACjBptB,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWyxB,aAChCpqB,MAAOlG,EAAE,2DACTgb,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWyxB,aACrCpV,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAe,CACZiF,MAAOwV,GAAOK,OAAO,EAAApb,WAAWyxB,aAChCrU,SAAU,SAACqU,GACPnxB,EAAM8c,SAASqU,EACnB,EACA5uB,gBAAiB,EAAAC,4BAA4B+8F,QAC7Cj6F,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYo3Q,IAAsB58Q,EAAMwF,YATpC,KAcpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR9E,UAAWf,GAAG,mBACdiZ,KAAM,EAAAlZ,WAAWo8E,SACjB/3E,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWo8E,UAChC/0E,MAAOlG,EAAE,0DACTgb,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWo8E,UACrC//D,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAgB,CACbiF,MAAOwV,GAAOK,OAAO,EAAApb,WAAWo8E,UAChCh/D,SAAUy/N,GACVh6O,gBAAiB,EAAAC,4BAA4B+8F,QAC7Cn6F,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBG,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYo3Q,IAAsB58Q,EAAMwF,YATpC,IAahB,wBAAC,EAAAgtI,oBAAmB,CAAC9xI,UAAWf,GAAG,yBAKnD,wBAAC,UAAkB,CAAC8lF,YAAahrE,GAAOgrE,YAAa7pE,OAAQnB,GAAOmB,SACpE,wBAAC,UAAmB,CAAC8B,aAAW,GAC5B,+BAAKhd,UAAWf,GAAG,aACb28Q,GACE,wBAAC,UAAM,CACHp7Q,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAASvB,EAAW,WAAM,OAAAA,EAAS,CAAEy6J,uBAAuB,GAAlC,EAA6C,UACvEj6J,UAAWf,GAAG,kBAAmB,+BAEhCkB,EAAE,qDAGX,wBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY29E,GACZh0E,UAAW+6H,cAAmB,EAAnBA,GAAqBlmI,QAChCnD,UAAWf,GAAG,mBACdsD,KAAK,UAGCpC,EADLy7Q,EACO,+CACA,sDAMhC,C,q7BC1nBA,kBAEA,cACA,cACA,aAEA,WACA,cACA,cAIM38Q,EAAK,UAAWC,KAAK,WAuB3B,UAdkD,SAACI,GACvC,IAAAU,EAAwCV,EAAK,UAAlCmW,EAA6BnW,EAAK,QAAzB2B,EAAoB3B,EAAK,UAAdoW,EAASpW,EAAK,KAErD,OACI,uBAAKU,WAAW,aAAGf,EAAG,QAASe,IAC3B,gBAAC,UAAiB,CACdyV,SAAS,aAASA,GAAWA,EAjBrB,GAkBRxU,UAAWA,EACXyU,KAAMA,GAAQ,EAAAC,oBAI9B,C,kYCjCA,cAUA,cACA,UAEM9S,EAAyC,CAC3CknD,KAAM,GACNoiB,cAAe,UAAcppE,QAC7Bg2C,aAAc,UAAch2C,SAGhC,mBACIC,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAA6yF,wCACD,OAAO,EAAP,KACOpyF,GAAK,CACR+1C,aAAc,UAAc51C,UAIpC,KAAK,EAAAmyF,0CACD,OAAO,EAAP,KACOtyF,GAAK,CACR+mD,KAAM9mD,EAAO8mD,KACbhR,aAAc,UAAcv1C,KAIpC,KAAK,EAAA6xF,wCACD,OAAO,EAAP,KACOryF,GAAK,CACR+1C,aAAc,UAAcz1C,SAASL,EAAOI,SAIpD,KAAK,EAAAmyF,wCACD,OAAO,EAAP,KACOxyF,GAAK,CACRmpE,cAAe,UAAchpE,UAIrC,KAAK,EAAAuyF,0CACO,MAAYzyF,EAAM,QAE1B,IAAKD,EAAM+mD,KACP,OAAO/mD,EAGX,IAAMs5Q,EAAUt5Q,EAAM+mD,KAAKpzC,KAAI,SAACirC,GAI5B,OAH+B,aAAO,EAAP,EAAStzB,QAAO,SAAC/P,GAC5C,OAAOA,EAAK8zB,cAAgBuP,EAAMvP,cAAiB9zB,EAAK8zB,cAAgBuP,EAAMvP,WAClF,KAKO,EAAP,KACOuP,GAAK,CACR87F,SAAU97F,EAAM87F,SAAS/mI,KAAI,SAAC4lQ,GAC1B,IAAMC,GACF,aAAO,EAAP,EAASpkO,MAAK,SAACqkO,GACX,OAAOA,EAAY5+H,UAAY0+H,EAAY1+H,OAC/C,MAAM,KAEV,OAAK2+H,EAIE,EAAP,KACOD,GAAW,CACdzkB,SAAU0kB,EAAa1kB,WALhBykB,CAOf,MAnBO36N,CAqBf,IAEA,OAAO,EAAP,KACO5+C,GAAK,CACR+mD,KAAMuyN,EACNnwM,cAAe,UAAc3oE,KAIrC,KAAK,EAAAiyF,wCACD,OAAO,EAAP,KACOzyF,GAAK,CACRmpE,cAAe,UAAc7oE,SAASL,EAAOI,SAIrD,KAAK,EAAAI,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,0pCC7GD,IAmBK61E,EAnBL,cAEA,cACA,cACA,UAGA,cACA,WACA,WACA,WACA,WACA,cACA,cAGA,cACA,YAEA,SAAKA,GACD,mBACH,CAFD,CAAKA,IAAAA,EAAoB,KAIzB,IAAM55E,EAAK,UAAWC,KAAK,WA0BrBw9Q,EAAgD,UAAMr9Q,MAAK,SAACC,GAE1D,IAAA25E,EAaA35E,EAAK,oBAZL8a,EAYA9a,EAAK,OAXL0F,EAWA1F,EAAK,YAVL8c,EAUA9c,EAAK,SATLqF,EASArF,EAAK,WARLmF,EAQAnF,EAAK,WAPLoF,EAOApF,EAAK,SANLwF,EAMAxF,EAAK,WALLsF,EAKAtF,EAAK,OAJLuF,EAIAvF,EAAK,QAHLyF,EAGAzF,EAAK,gBAFLuC,EAEAvC,EAAK,gBADL05E,EACA15E,EAAK,aAEDa,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAEXolD,GAAe,IAAA5jE,aAAY,EAAA6jE,oBAC3BpgC,GAAe,IAAAzjC,aAAY,EAAA8jE,2BAEjC,UAAM5uE,WAAU,WACZqpB,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAEJ,IAAMwlD,EAAoB,UAAMv1E,SAAQ,WACpC,OAAKm1E,GAIEC,aAAY,EAAZA,EAAeD,KAAkC,IAH7C,aAAQj2B,OAAO5oC,OAAO8+D,GAAgB,CAAC,GAItD,GAAG,CAACA,EAAcD,IAEZK,EAAiB,UAAMx1E,SAAQ,WACjC,OAAOu1E,EAAkB1iE,KAAI,SAAC2M,GAAY,OACtC/e,MAAOia,OAAO8E,EAAQ9X,KAAO,KAC7BnF,MAAO2yE,EACD11D,EAAQmD,OAAS,GACjBtmB,EAAE,kCAAmC,CACjCoB,OAAQ+hB,EAAQ/hB,OAChBklB,MAAOnD,EAAQmD,MACf8yD,YAAaj2D,EAAQi2D,YACrBC,YAAal2D,EAAQk2D,cAE/B3tC,SAAUgtC,EAAqBpvD,QAVO,GAY9C,GAAG,CAAC4vD,EAAmBL,EAAc74E,IAqErC,OACI,wBAAC,UAAqB,CAClBwyF,eAAgBv4E,EAChBpV,YAAaA,EACbvD,QAAS63E,EACT90E,SAfa,SAAC4V,GAClBgC,EAAShC,EACb,EAcQzV,WAAYA,IAAeu0E,GAAgBngC,EAAa51C,QACxDiD,aA7Ba,SAACN,GAClB,OAAKA,EAKD,+BAAK9F,UAAWf,EAAG,UAAWgT,IAAKnM,EAAOO,OACrCP,EAAOO,OALL,IAQf,EAoBQiI,UAAWyqC,EAAa51C,QACxB2D,eAfe,SAAChB,GAAiD,OAAAA,EAAOvB,KAAP,EAgBjE1C,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTnD,cAnFc,SAClBpC,EACAmC,EACAuD,GAEA,KAAKvD,aAAO,EAAPA,EAASF,QACV,OACI,wBAAC,UAAyB,KAClBjC,EAAK,CACT0c,eAAgB,SAACC,GACb,OAAO,wBAAC,UAAW,KAAK,EAAAy9D,iBAAiBv9D,gBAAgBF,IAC7D,IAECjX,GAAe,IAK5B,GAAuB,IAAnBvD,EAAQF,OAAc,CACtB,IAAMsxF,EAAcpxF,aAAO,EAAPA,EAAU,GAE9B,OACI,wBAAC,UAAyB,KAClBnC,EAAK,CACT0c,eAAgB,SAACC,GACb,OAAO,wBAAC,UAAW,KAAK,EAAAy9D,iBAAiBv9D,gBAAgBF,IAC7D,IAEC42E,aAAW,EAAXA,EAAaxsF,MAG1B,CAEA,OACI,wBAAC,UAAyB,KAClB/G,EAAK,CACT0c,eAAgB,SAACC,GACb,OAAO,wBAAC,UAAW,KAAK,EAAAy9D,iBAAiBv9D,gBAAgBF,IAC7D,IAEA,wBAAC,UAA+B,CAAC/Z,MAAOT,EAAQF,SAG5D,EAyCQtB,aAAa,mBACb+G,QAASjC,EAtBG,WAChBqX,EAAS,GACb,OAoBiDxW,GAGrD,IAEA,UAAe82Q,C,0zCC7Lf,eAEA,aACA,cAOA,UALA,W,kDACI,UAAM,IAAAzlF,MAAK,Y,OACX,OADA,SACA,IAAM,IAAAA,MAAK,Y,cAAX,S,uCCNJ,WAAgB,KAAO,+BAA+B,OAAS,iCAAiC,SAAW,mC,67CCD3G,kBACA,WAOM0lF,EAA6B,SAACr9Q,GACxB,IAAA2B,EAAoC3B,EAAK,UAA9B0W,EAAyB1W,EAAK,YAAdk5C,EAAI,EAAKl5C,EAAtC,6BAEN,OACI,yBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aAAgB6nC,GACnF,qBAAG1sC,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAM7K,EAAW4P,EAAE,0BACzB,wBACI/E,KAAMkK,EACNnF,EAAE,4cAKtB,EAEA8rQ,EAASvrQ,YAAc,WAEvB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAesrQ,C,+BChCf,WAAgB,KAAO,qBAAqB,wBAAwB,sCAAsC,mBAAmB,iCAAiC,WAAa,2BAA2B,YAAc,4BAA4B,+BAA+B,6CAA6C,QAAU,wBAAwB,eAAiB,+BAA+B,8BAA8B,4CAA4C,8BAA8B,4CAA4C,OAAS,uBAAuB,SAAW,yB,+BCA7kB,WAAgB,MAAQ,uBAAuB,4BAA4B,2CAA2C,0BAA0B,yCAAyC,sBAAsB,qCAAqC,oBAAoB,mCAAmC,wBAAwB,uCAAuC,qBAAqB,oCAAoC,oBAAoB,mCAAmC,qBAAqB,oCAAoC,2BAA2B,0CAA0C,IAAM,qBAAqB,6BAA6B,4CAA4C,KAAO,sBAAsB,KAAO,sBAAsB,0BAA0B,yCAAyC,MAAQ,uBAAuB,OAAS,wBAAwB,cAAc,6BAA6B,QAAU,yBAAyB,OAAS,wBAAwB,SAAW,0B,kuCCDn/B,kBACA,WAEA,aACA,cAEA,cACA,cACA,WACA,cACA,cACA,UAEA,WACA,WACA,cACA,cACA,aACA,YACA,cACA,cACA,cACA,cACA,cACA,YACA,WACA,cACA,cACA,cAGA,cACA,cACA,cACA,cAgBM19Q,EAAK,UAAWC,KAAK,WAErB09Q,EAA+Bx9Q,EAAMC,MAAK,SAACC,G,QACrCU,EAAkGV,EAAK,UAA5FkqI,EAAuFlqI,EAAK,IAAvFkF,EAAkFlF,EAAK,SAA7E4nB,EAAwE5nB,EAAK,WAAjEqF,EAA4DrF,EAAK,WAArD+sF,EAAgD/sF,EAAK,yBAA3B60C,EAAsB70C,EAAK,kBAEzGgM,EAAMlM,EAAM+I,YAEZ,IAAwC/I,EAAMuE,UAAkB,GAAM,GAArEk5Q,EAAe,KAAEC,EAAkB,KAElC38Q,GAAM,IAAAC,kBAAgB,EAExB28Q,EAA2B,WAI7B,GAHAD,GAAoBD,IAEEA,EACJ,CACd,IAAKvxQ,EAAIT,QACL,QAGJ,aAAeS,EAAIT,QAAS,CACxB4mC,KAAM,KAEd,CACJ,EAqBMq5M,GAAenmP,EAEfsnB,EAAwB,QAAZ,EAAAu9G,aAAG,EAAHA,EAAK5hH,eAAO,eAAEpc,GAE1Bw8D,GAAwB,IAAA1iE,cAC1B,SAACH,GACQ8mB,EAKLkoB,EAAkB,CACdhvC,OAAM,EACNvC,YAAa,EAAA+kB,gBAAgBC,QAC7BjlB,UAAWspB,KAPX,IAAA+H,YAAW,2CASnB,GACA,CAAC/H,EAAWkoB,IAGV6oO,GAA0C,IAAAl5Q,UAC5C,W,QAAM,OACF,CACI2H,KACI,gBAAC,UAAW,CACRuK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,MAChCoU,KAAM,EAAAC,oBAGduC,KAAM/X,EAAE,+CACRoE,MACI,gBAAC,UAAiB,CACdW,SAAwB,QAAd,EAAAskI,aAAG,EAAHA,EAAK/gD,iBAAS,eAAEvjF,SAC1BC,OAAsB,QAAd,EAAAqkI,aAAG,EAAHA,EAAK/gD,iBAAS,eAAEj9E,GACxB2oC,kBAAmB6zB,IAG3B1vD,aAAa,EACbD,WAAYlY,EAAE,wCACdF,aAAc,gBAElBupI,aAAG,EAAHA,EAAKs2H,WAAWt2H,aAAG,EAAHA,EAAKyzI,UACf,CACIxxQ,KACI,gBAAC,UAAc,CACXuK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,EAAE,2CACRoE,MACI,gBAAC,UAAqB,CAClB8hO,UAAW78F,aAAG,EAAHA,EAAKs2H,QAChBx5B,QAAS98F,aAAG,EAAHA,EAAKyzI,SACdhkQ,OAAO,sBAGfX,aAAa,EACbD,WAAYlY,EAAE,wCACdF,aAAc,eAElB,MACNupI,aAAG,EAAHA,EAAKt6H,SACC,CACIzD,KACI,gBAAC,UAAW,CAACuK,YAAa,EAAA9U,qBAAqB+W,KAAMhX,UAAW,EAAAC,qBAAqBI,QAEzF4W,KAAM/X,EAAE,6CACRoE,MAAO,gBAAC,UAAgB,CAAC2K,QAASs6H,EAAIt6H,UACtCoJ,aAAa,EACbD,WAAYlY,EAAE,wCACdF,aAAc,eAElB,K,GAEV,CAACupI,EAAKxhE,EAAuB7nE,IAG3B+8Q,EAAiB99Q,EAAM0E,SAAQ,WACjC,OAAKuoF,GAA6Bm9C,IAAQA,aAAG,EAAHA,EAAKw2H,UAIxCvhP,KAAK+1D,MAAsD,KAA/Cg1D,EAAIw2H,SAAW3zK,EAA2B,IAHlD,CAIf,GAAG,CAACA,EAA0Bm9C,IAE9B,OAAKA,EAKD,uBACIxpI,WAAW,aACPf,EAAG,QAAS,CACR,qBAAsB6rP,IAE1B9qP,GAEJsL,IAAKA,GAEL,uBACItL,UAAWf,EAAG,MAAO,OAAQ,CACzB,iBAAkB49Q,EAClB,qBAAsBl4Q,IAE1B5D,QA7HS,WACb4D,EACAo4Q,IAICvzI,EAKDtiH,EACA61P,IAIJv4Q,EAASglI,IATL,IAAAx1G,YAAW,aAUnB,GA8GY,uBAAKh0B,UAAWf,EAAG,iBACf,gBAAC,UAAY,CAACioB,WAAYA,EAAYviB,WAAYA,KAEtD,uBAAK3E,UAAWf,EAAG,iBACf,uBAAKe,UAAWf,EAAG,SACduqI,EAAIw2H,SACD,gCACI,gBAAC,UAAS,CAACz7P,MAAOilI,EAAIw2H,SAAU16O,UAAW+mE,IACtC,SAAC96D,GAAS,OACP,gBAAC,UAAW,CAACupP,YAAU,EAACvpP,KAAMA,GAC1B,gBAAC,UAAK,CACFvxB,UAAWf,EAAG,eACdiX,OAAQszH,EAAIw2H,SACZ5pP,SAAU,EAAAC,aAAaC,MALxB,MAUZ4mQ,GACC,gBAAC,UAAS,CACNl9Q,UAAWf,EAAG,cACduB,MACI08Q,EAAiB,EACX,EAAAjqQ,mBAAmBG,UACnB,EAAAH,mBAAmBO,YAE7BI,eAAa,GAEZspQ,EAAiB,EAAI,IAAM,GAC3BA,E,KAGT,gBAAC,UAAqB,KAClB,gBAAC,UAAO,CACJ78Q,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,OAC1CP,EAAE,uCAIV,SAAC8yB,GAAW,OACT,gBAAC,UAAW,CAAC+D,UAAW/D,EAAQlyB,QAASg8Q,IACpC,WAAM,OACH,gBAAC,UAAU,CACP97Q,UAAW,EAAAC,qBAAqBsS,YAChC6U,SAAUw0P,GAHX,GAFF,MAczB,uBAAK78Q,UAAWf,EAAG,gBAAiBkB,EAAE,8CAG7C8rB,GACG,uBAAKjsB,UAAWf,EAAG,SACf,gBAAC,UAAI,CACDuoB,GAAI,aAAiByM,eAAe,EAAAtM,gBAAgBC,QAASqE,GAC7DzrB,MAAO,EAAA8mB,cAAcC,cACrB7R,KAAM,EAAA8uG,aAAalhC,QAEP,QAAX,EAAAkmD,EAAI5hH,eAAO,eAAE1P,QAK9B,uBAAKlY,UAAWf,EAAG,qBACZuqI,EAAI+iE,OACH,gBAAC,UAAS,CACNvsM,UAAWf,EAAG,cACduB,MAAO,EAAAyS,mBAAmBK,KAC1BrT,aAAa,iBACb2T,eAAa,GAEZzT,EAAE,oCAGX,gBAAC,UAAiB,CAACyT,eAAa,EAAC8U,OAAQ8gH,EAAI9gH,WAGpDm0P,GACG,uBAAK78Q,UAAWf,EAAG,SACf,gBAAC,UAAS,CAAC+nB,mBAAiB,EAAC9B,KAAM83P,EAAY/8Q,aAAa,kBA3GjE,IAgHf,IAEA,UAAe28Q,C,uGCvSF,EAAAO,uBAAyB,SAACx3O,GACnC,IAAKA,EACD,OAAO,KAGX,IAAMy3O,EAAaz3O,aAAQ,EAARA,EAAU3f,QACvB0uB,EAAW/O,aAAQ,EAARA,EAAU+O,SACrBC,EAAYhP,aAAQ,EAARA,EAAUgP,UAE5B,OAAKD,GAAaC,GAAcyoO,EAIzB,CACH1oO,SAAQ,EACRC,UAAS,EACT3uB,QAASo3P,EACT11N,MAAM/hB,aAAQ,EAARA,EAAU+hB,YAAQ9hD,EACxB2hD,SAAS5hB,aAAQ,EAARA,EAAU4hB,eAAW3hD,EAC9B4hD,QAAS7hB,aAAQ,EAARA,EAAU6hB,QACnBC,SAAS9hB,aAAQ,EAARA,EAAU8hB,eAAW7hD,GAVvB,IAYf,C,+BCvBA,WAAgB,KAAO,0BAA0B,MAAQ,2BAA2B,OAAS,4BAA4B,SAAW,8B,q7BCDpI,kBACA,cACA,WACA,UACA,WACA,cACA,WACA,cASMqyE,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,mDAAoD,CACzDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB35C,OAEjD,EACAqoE,UAAW,CAAC,EAAA1uB,qBAAqB35C,OAErC,CACItP,MAAO,EAAAqsD,oBAAoBrP,YAC3B7qB,OAAQ,SAACnZ,GACL,IAAM6oH,EAAoB7oH,EAAa,EAAAiwC,qBAAqB5sC,eAE5D,OACI,gBAAC,EAAAjN,MAAK,CACFD,QAAQ,2DACRE,WAAY,CACRtL,MAAO,gBAAC,UAAuB,CAAC60G,cAAeipB,MAI/D,EACAlqD,UAAW,CAAC,EAAA1uB,qBAAqB5sC,gBAErC,CACIrc,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,sDAAuD,CAC5DoE,MAAOiV,EAAa,EAAAiwC,qBAAqBzjB,UAEjD,EACAmyC,UAAW,CAAC,EAAA1uB,qBAAqBzjB,UAErC,CACIxlC,MAAO,EAAAqsD,oBAAoBrP,YAC3B7qB,OAAQ,SAACnZ,GACL,OACI,gBAAC,EAAA5J,MAAK,CACFD,QAAQ,qDACRE,WAAY,CACRtL,MAAO,gBAAC,UAAyB,CAACmkB,OAAQlP,EAAa,EAAAiwC,qBAAqB/gC,YAI5F,EACAyvD,UAAW,CAAC,EAAA1uB,qBAAqB/gC,SAErC,CACIloB,MAAO,EAAAqsD,oBAAoB1rD,SAC3BsV,WAAY,SAAC+C,EAAcozC,GACvB,IAAM10C,EAAOsB,EAAa,EAAAiwC,qBAAqB7sC,gBAAkB,GAEjE,OAAO,EAAA27D,oBAAoBC,OAAOtgE,EAAM00C,EAC5C,EACAj6B,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,yDAA0D,CAC/DoE,MAAOiV,EAAa,EAAAiwC,qBAAqB7sC,gBAEjD,EACAu7D,UAAW,CAAC,EAAA1uB,qBAAqB9sC,YAAa,EAAA8sC,qBAAqB7sC,gBAEvE,CACIpc,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAM8xF,EAAiB9xF,EAAa,EAAAiwC,qBAAqB6hD,gBACnDE,EAAkBhyF,EAAa,EAAAiwC,qBAAqB+hD,iBAE1D,OAAOrrG,EAAE,yDAA0D,CAC/DoE,OAAO,IAAAogI,4BAA2Br5B,EAAgBE,IAE1D,EACArzB,UAAW,CAAC,EAAA1uB,qBAAqB6hD,eAAgB,EAAA7hD,qBAAqB+hD,kBAE1E,CACIhrG,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAMkyF,EAAiBlyF,EAAa,EAAAiwC,qBAAqBiiD,gBACnDE,EAAkBpyF,EAAa,EAAAiwC,qBAAqBmiD,iBAE1D,OAAOzrG,EAAE,yDAA0D,CAC/DoE,OAAO,IAAAogI,4BAA2Bj5B,EAAgBE,IAE1D,EACAzzB,UAAW,CAAC,EAAA1uB,qBAAqBiiD,eAAgB,EAAAjiD,qBAAqBmiD,kBAE1E,CACIprG,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,GACL,IAAMsyF,EAAmBtyF,EAAa,EAAAiwC,qBAAqBqiD,kBACrDE,EAAoBxyF,EAAa,EAAAiwC,qBAAqBuiD,mBAE5D,OAAO7rG,EAAE,4DAA6D,CAClEoE,OAAO,IAAAogI,4BAA2B74B,EAAkBE,IAE5D,EACA7zB,UAAW,CAAC,EAAA1uB,qBAAqBqiD,iBAAkB,EAAAriD,qBAAqBuiD,oBAjGvC,GAoGzC,CAAC7rG,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,+BCtIf,WAAgB,IAAM,+BAA+B,iBAAiB,0CAA0C,oBAAoB,6CAA6C,kBAAkB,2CAA2C,oBAAoB,6CAA6C,OAAS,kCAAkC,OAAS,kCAAkC,SAAW,oC,+BCAhZ,WAAgB,KAAO,sCAAsC,iBAAiB,gDAAgD,iBAAiB,gDAAgD,6BAA6B,4DAA4D,oBAAoB,mDAAmD,sBAAsB,qDAAqD,oBAAoB,mDAAmD,8BAA8B,6DAA6D,eAAe,8CAA8C,6BAA6B,4DAA4D,mBAAmB,kDAAkD,OAAS,wCAAwC,SAAW,0C,iHCAn2B,IAEYj5E,EAFZ,YAEA,SAAYA,GACR,UAEA,kBACA,wBACA,sBAEA,sBACA,wBAEA,8BACA,4BACA,wBACA,gBAEA,4BAEA,sBACA,gBACA,sBACA,oBAEA,sBACA,4BACA,qBACH,CAzBD,CAAYA,IAAU,aAAVA,EAAU,KAsDT,EAAAq6H,kBAAoB,CAC7B,EAAAC,gBAAgBC,SAChB,EAAAD,gBAAgBE,MAChB,EAAAF,gBAAgBG,SAChB,EAAAH,gBAAgBI,Q,+BC5DpB,WAAgB,MAAQ,wCAAwC,YAAc,8CAA8C,aAAe,+CAA+C,aAAe,+CAA+C,QAAU,0CAA0C,OAAS,yCAAyC,OAAS,yCAAyC,SAAW,2C,+BCA3Z,WAAgB,MAAQ,sCAAsC,OAAS,uCAAuC,SAAW,yC,u7BCDzH,kBAEA,cACA,cACA,WACA,cACA,cACA,UACA,cAOM2jJ,EAA6D,SAAC/9Q,G,MACxDgqG,EAAsBhqG,EAAK,QAAlB4O,EAAa5O,EAAK,SAE7BivG,EAAkBnvG,EAAM6yB,WAAW,WAEnC1tB,KAAmD,QAAzC,EAAAgqG,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAGnF,IAE5D,OAAOp7F,EAAS,CACZg3E,QAAS3gF,EACT+4Q,OAAQ,W,MAC6B,QAAjC,EAAA/uK,aAAe,EAAfA,EAAiBgvK,wBAAgB,gBAAGj0K,GAAU/kG,EAClD,GAER,EAEMtF,EAAK,UAAWC,KAAK,WAIrBs+Q,IAAY,MACb,EAAAh3L,kBAAkBS,cAAe,wCAClC,EAAC,EAAAT,kBAAkBi3L,sBAAuB,yCAC1C,EAAC,EAAAj3L,kBAAkB8lL,gBAAiB,2CACpC,EAAC,EAAA9lL,kBAAkBk3L,wBAAyB,mDAC5C,EAAC,EAAAl3L,kBAAkBW,gBAAiB,0CACpC,EAAC,EAAAX,kBAAkBU,iBAAkB,2CACrC,EAAC,EAAAV,kBAAkBm3L,4BAA6B,kDAChD,EAAC,EAAAn3L,kBAAkBY,qBAAsB,2CACzC,EAAC,EAAAZ,kBAAkBQ,aAAc,mCACjC,EAAC,EAAAR,kBAAkBqf,UAAW,mCAC9B,EAAC,EAAArf,kBAAkB2pI,oBAAqB,0CACxC,EAAC,EAAA3pI,kBAAkBa,WAAY,gCAC/B,EAAC,EAAAb,kBAAkBo3L,4BAA6B,oDAChD,EAAC,EAAAp3L,kBAAkBq3L,8CACf,uE,GAsCR,UAnC8C,WAClC,IAAA19Q,GAAM,IAAAC,kBAAgB,EAExBmuG,EAAkBnvG,EAAM6yB,WAAW,WAEzC,OACI,uBAAKjyB,UAAWf,EAAG,UACb+jD,OAAO5oC,OAAO,EAAAosE,mBAA2C7vE,KAAI,SAACmnQ,GAC5D,OACI,gBAACT,EAAoB,CAACprQ,IAAK6rQ,EAAex0K,QAASw0K,IAC9C,SAACx+Q,GAAU,OACR,gBAAC,UAAQ,CACL4lF,QAAS5lF,EAAM4lF,QACf20H,SAAUv6M,EAAMg+Q,OAChBt9Q,UAAWf,EAAG,WACdoH,MAAOlG,EAAEq9Q,EAAaM,KALlB,GAUxB,IACA,2BACI,gBAAC,UAAM,CACHt9Q,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAAS,W,MAC+B,QAApC,EAAAwtG,aAAe,EAAfA,EAAiBwvK,2BAAmB,gBACxC,GAEC59Q,EAAE,8BAKvB,C,kQClFa,EAAAo+H,sCACT,uEACS,EAAAnrC,4CACT,6EACS,EAAAE,4CACT,6EACS,EAAAC,8CACT,8E,ssGCVJ,kBACA,WACA,WACA,cACA,cACA,WACA,WACA,cACA,WAWA,WACA,WACA,WASA,cACA,aACA,cACA,WAMA,WAOA,aACA,cACA,cACA,cACA,cACA,UAEA,UACA,cACA,cACA,WACA,cACA,WACA,UACA,WACA,cACA,cACA,UACA,cACA,WACA,WACA,cACA,eACA,eACA,YACA,eACA,eACA,WACA,eACA,eACA,eACA,eACA,WACA,YACA,eACA,eACA,eACA,YACA,eACA,cACA,eACA,YAKA,YACA,YACA,eACA,eACA,eACA,eACA,eAEMt0F,GAAK,UAAWC,KAAK,WAMrB8+Q,GAAU,IAAI,UAAc,EAAAxlF,2BAE5BylF,KAAuB,MACxB,EAAAvsH,gBAAgBiT,KAAM,EAAAu5G,uBACvB,EAAC,EAAAxsH,gBAAgBgT,MAAO,EAAAy5G,wB,GAGf,EAAAC,kCAAoC,W,MAA6B,aACzE,EAAA14O,qBAAqBk/C,SAAS,UAC/B,EAAC,EAAAl/C,qBAAqBnjC,MAAO,GAAAmvE,kCAAkCC,SAC/D,EAAC,EAAAjsC,qBAAqBC,UAAW,KACjC,EAAC,EAAAD,qBAAqBn+B,YAAa,KACnC,EAAC,EAAAm+B,qBAAqBirC,qBAAqB,E,CAL+B,EAQjE,EAAAk7E,yBAAsB,MAC9B,EAAA7sJ,WAAWwrB,SAAU,KAEtB,EAAC,EAAAxrB,WAAWqzC,aAAc,EAAAgsO,qBAC1B,EAAC,EAAAr/Q,WAAWo6G,eAAgB6kK,GAAwB,EAAAI,sBAEpD,EAAC,EAAAr/Q,WAAWkoC,QAAS,KAErB,EAAC,EAAAloC,WAAW0rE,mBAAoB,GAEhC,EAAC,EAAA1rE,WAAWymC,OAAQ,C,MAEX,IAAA24O,sC,MAEA,IAAAA,uC,GAIb,IAAME,GAA8B,IAAIlwP,IAAuC,CAC3E,GAAAsjD,kCAAkCC,SAClC,GAAAD,kCAAkChxD,eAsChC69P,KAAqB,MACtB,EAAA7sH,gBAAgBgT,MAAO,GACxB,EAAC,EAAAhT,gBAAgBiT,KAAM,G,GAGrB65G,GAAwCp/Q,EAAMC,MAAK,SAACC,G,MAC9C2oE,EAAa3oE,EAAK,SAElBa,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAEX2qP,GAA8B,IAAAxsP,YAAW,WACzCmyO,EAAuChlQ,EAAM6yB,WAAW,EAAAi+J,sCAExD6oE,GAA6B,IAAA9mO,YAAW,YAExCysP,GAAe,IAAAzsP,YAAW,WAExBinD,GAAiB,IAAAmgC,mBAAiB,aAEpCslK,GAAkB,IAAArpQ,aAAY,EAAA85B,wBAC9BwvO,GAAiC,IAAAtpQ,aAAY,EAAAq6L,uCAE7C/oK,GAAU,IAAAtxB,aAAY,EAAAi0C,eACtB+sD,IAAiB,IAAAhhG,aAAY,EAAAihG,sBAC7B4lF,IAAiB,IAAA7mL,aAAY,EAAA4mL,sBAC7BG,IAAwB,IAAA/mL,aAAY,EAAA8mL,6BAEpCnnH,IAA0B,IAAA3/D,aAAY,GAAA4/D,oCAEtC0uI,GAAyCxkN,EAAM6yB,WAAW,GAAA8qC,wCAE1D7Z,GAAW9jD,EAAMkG,aACnB,SAAC8U,GACG,OAAO,aAAaja,EAAGia,EAAQ,CAC3B6tD,SAAQ,EACRgN,wBAAuB,IAE/B,GACA,CAAC90E,EAAG8nE,EAAUgN,KAGZ,KAAiD71E,EAAM0E,SAAQ,WACjE,IAAMsW,EA9EW,W,MACfykQ,EAAsCb,GAAQj7M,aAAe,CAAC,EAE9Dt9B,EAAQo5O,EAAc,EAAA7/Q,WAAWymC,QAAU,EAAAomH,uBAAuB,EAAA7sJ,WAAWymC,OAEnF,OAAO,EAAP,IACK,EAAAzmC,WAAWwrB,SAAUq0P,EAAc,EAAA7/Q,WAAWwrB,UAAY,EAAAqhI,uBAAuB,EAAA7sJ,WAAWwrB,SAE7F,EAAC,EAAAxrB,WAAWqzC,aACRwsO,EAAc,EAAA7/Q,WAAWqzC,cAAgB,EAAAw5G,uBAAuB,EAAA7sJ,WAAWqzC,aAC/E,EAAC,EAAArzC,WAAWo6G,eACRylK,EAAc,EAAA7/Q,WAAWo6G,gBAAkB,EAAAyyC,uBAAuB,EAAA7sJ,WAAWo6G,eAEjF,EAAC,EAAAp6G,WAAWkoC,QAAS23O,EAAc,EAAA7/Q,WAAWkoC,SAAW,EAAA2kH,uBAAuB,EAAA7sJ,WAAWkoC,QAE3F,EAAC,EAAAloC,WAAW0rE,mBACRm0M,EAAc,EAAA7/Q,WAAW0rE,oBAAsB,EAAAmhF,uBAAuB,EAAA7sJ,WAAW0rE,mBAErF,EAAC,EAAA1rE,WAAWymC,OAAQA,EACfnX,QAAO,SAACyxD,GACL,OAAOu+L,GAA4B/vP,IAAIwxD,EAAWx9E,KACtD,IACCoU,KAAI,SAACopE,G,MACI++L,GAAiC,IAAAV,qCAEvC,OAAO,EAAP,KACOr+L,KAAU,MACZ,EAAAr6C,qBAAqBn+B,YAAau3Q,EAA+B,EAAAp5O,qBAAqBn+B,YAAW,EACjG,EAAAm+B,qBAAqBirC,oBAClBmuM,EAA+B,EAAAp5O,qBAAqBirC,oBAAmB,GAEnF,I,CAEZ,CA6CuB2M,GAITm2F,EAFYzwH,OAAO0wH,KAAKt5J,GAEJinC,QAAqB,SAACC,EAAKrvC,GAKjD,MAJY,UAARA,IACAqvC,EAAIrvC,GAAO,EAAA45I,uBAAuB55I,KAASmI,EAAOnI,IAG/CqvC,CACX,GAAG,CAAC,IAEC,cAA8B,OAAtB,EAAAuqG,6BAAsB,IAAtB,EAAAA,4BAAsB,EAAtB,EAAAA,uBAAwBpmH,MAAOrrB,aAAM,EAANA,EAAQqrB,QAChDrrB,SAAAA,EAAQqrB,MAAM/pB,SAAQ,SAACiwM,EAAiB/0M,GACpC,IAAMmoQ,EAAsB/7N,OAAO0wH,KAAKi4C,GAEnCl4C,EAAQhuI,QACTguI,EAAQhuI,MAAQ,IAGpB,IAAMq5O,GAAiC,IAAAV,qCACvC3qG,EAAQhuI,MAAM7uB,GAASmoQ,EAAoB19N,QACvC,SAACC,EAAKrvC,GAGF,OAFAqvC,EAAIrvC,GAAO6sQ,EAA+B7sQ,KAAS05M,EAAgB15M,GAE5DqvC,CACX,GACA,CAAC,EAET,IAGJ,IAAMpmC,GAAS,aAAa/a,EAAGia,EAAQ,CACnC6tD,SAAQ,EACRgN,wBAAuB,KAG3B,MAAO,CAAC76D,EAAQq5J,EAASv4J,EAE7B,GAAG,IAAG,GAxCCpB,GAAa,MAAEsyI,GAAc,MAAE/oG,GAAa,MA0C7C27N,GAAiBllQ,GAAc,EAAA9a,WAAWwrB,SAC1Cy0P,GAAqB7/Q,EAAM0E,SAAQ,WACrC,OAAOk7Q,GAAiB,CAACA,IAAkB,EAC/C,GAAG,CAACA,KAEJ5/Q,EAAMoL,WAAU,W,MAKNkoC,GAJkD,QAA/B,EAAA54B,GAAc,EAAA9a,WAAWymC,cAAM,eAAE9uB,KACtD,SAACooE,GAAqB,OAAAA,EAAiB,EAAAr5C,qBAAqBC,SAAtC,KAGMhvB,KAAI,SAACgvB,GAAa,OAAAA,aAAQ,EAARA,EAAUiN,QAAS,IAAnB,IAE5CqwC,GAAc,cAAevwC,IAE/BkxK,cAAsC,EAAtCA,GAAwClmJ,wBACxCkmJ,GAAuClmJ,sBAAsBulB,EAGrE,GAAG,CAACnpE,GAAe8pM,cAAsC,EAAtCA,GAAwC5mJ,mBAE3D,IAAMjjD,IAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,GACbvpC,cAAa,GACbsyI,eAAc,GACdlpG,SAAQ,GACR/oC,SAAU,SAACC,EAAQC,G,MACf,GAAKusB,EAAL,CAKA,IAAMs4O,GAAwB,IAAA7qD,8BAA6Bj6M,EAAQwsB,GACnE,GAAKs4O,EAAL,CAKA,IAAMvjQ,GAAsC,QAA1B,EAAAvB,EAAO,EAAApb,WAAWwrB,gBAAQ,eAAEhf,KAAM,KAE9C07B,EAAS9sB,EAAO,EAAApb,WAAWkoC,QAE7BrT,EADAqT,GACS,IAAA0oK,iCAAgCsvE,EAAuBt4O,EAASjrB,EAAWurB,IAE3E,IAAA8jN,WAAUk0B,EAAuBt4O,EAASjrB,IAGvDtB,EAAcI,WAAW,CAAC,EAX1B,MAFI,IAAAuZ,YAAW,gCAAiC,CAAE5Z,OAAM,GAJxD,MAFI,IAAA4Z,YAAW,gBAoBnB,IAGJ50B,EAAMoL,WAAU,WACZ45P,EAAqC/xM,eAAet4C,GAAOK,OAE/D,GAAG,CAACL,GAAOK,SAEXhb,EAAMoL,WAAU,WACZ45P,EAAqC5xM,2BAA0B,SAACt6C,EAAM3T,GAClEwV,GAAOsB,cAAcnD,EAAM3T,GAC3BwV,GAAOuB,gBAAgBpD,EAC3B,GAEJ,GAAG,CAAC6B,GAAOsB,cAAetB,GAAOuB,kBAEjClc,EAAMoL,WAAU,WAGZ,OAFAqpB,GAAS,IAAA6jK,qBAAmB,IAAAo9B,0BAAwB,KAAM/6M,GAAOK,WACjEyZ,GAAS,KAAAshD,6BACF,WACHthD,GAAS,IAAAi5N,iCACb,CAEJ,GAAG,IAGH1tP,EAAMoL,WAAU,WACZwzQ,GAAQx7M,WAAWzoD,GAAOK,OAC9B,GAAG,CAACL,GAAOK,SAEXhb,EAAMoL,WAAU,W,MACN8yD,EAAgD,GAEvB,QAA/B,EAAAvjD,GAAOK,OAAO,EAAApb,WAAWymC,cAAM,SAAE/pB,SAAQ,SAAC41H,EAAG16H,GACzC,IAAM4K,GAAY,IAAA4lC,wBAAuBxwC,EAAO,EAAA8uB,qBAAqBC,UAE/DjhC,KAAa,cAAIqV,GAAOmB,OAAQsG,IAEnB,cAAIzH,GAAOK,OAAQoH,IAEtB9c,GACZ44D,EAA+BtmD,KAAKJ,EAE5C,IAEAgtM,GAAuCrmJ,oCAAoCD,EAE/E,GAAG,CAACvjD,GAAOmB,OAAQnB,GAAOK,SAE1Bhb,EAAMoL,WAAU,W,MACN20Q,GAA6C,QAA/B,EAAAplQ,GAAOK,OAAO,EAAApb,WAAWymC,cAAM,eAAElkC,SAAU,EAEzD0zB,GAAU,aAAqB,GACjC,EAAAj2B,WAAWo6G,e,GACR,aAAM+lK,GAAa9gM,SAAQ,SAACwsB,GAC3B,MAAO,EACH,IAAAzjD,wBAAuByjD,EAAY,EAAAnlE,qBAAqBC,WACxD,IAAAyhB,wBAAuByjD,EAAY,EAAAnlE,qBAAqBn+B,YAEhE,MAAE,GAPU,CAQbwS,GAAOK,QAEVqkQ,EAA4BW,WAAWnqP,EAE3C,GAAG,CAAClb,GAAOK,SAEX,IAAMgnB,GAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAA6jK,oBAAmB,CAAC,GACjC,GAAG,CAAC7jK,KACJ,aAA4BuN,KAE5B,IAAAi1E,sBAAqBt8F,KACrB,IAAAukM,wBAAuBvkM,KACvB,KAAA0xM,qBAAoB1xM,IAEpB,IAAMuvC,GAAiBvvC,GAAOK,OAAO,EAAApb,WAAWkoC,QAC1Cm4O,KAAoB/1N,GAEpBm7J,IAAe,KAAAp7J,iBAAgBC,KAErC,IAAA9+C,YAAU,WACNk0Q,EAAaY,uBAAuBD,GAExC,GAAG,CAACA,KAEJ,IAAME,IAAoB,IAAAhyN,yBAEpBiyN,GAAyBpgR,EAAM0E,SAAQ,WACzC,OAAO,aAAKo1E,GAAgBqlM,GAChC,GAAG,CAACrlM,IAEED,GAAsBl/D,GAAOK,OAAO,EAAApb,WAAWqzC,aAE/CotO,GAA4BrgR,EAAMkG,aACpC,SAACgsI,EAAWl4B,G,MACRr/F,GAAO8B,WAAU,SAACC,G,MAAe,cAC1BA,KAAU,MACZ,EAAA9c,WAAWo6G,eAAgBA,EAAa,GAFZ,IAKjCvlF,GACI,IAAA6jK,qBACI,IAAAo9B,4BAAwB,MACnB,EAAA91N,WAAWo6G,eAAgBA,E,KAI5C,GACA,CAACvlF,EAAU9Z,KAGT2lQ,GAAqBtgR,EAAMkG,aAC7B,SAACgsI,EAAWpqG,G,MACRntB,GAAO8B,WAAU,SAACC,G,MAAe,cAC1BA,KAAU,MACZ,EAAA9c,WAAWkoC,QAASA,EAAM,GAFE,IAKjCrT,GACI,IAAA6jK,qBACI,IAAAo9B,4BAAwB,MACnB,EAAA91N,WAAWkoC,QAASA,E,KAIrC,GACA,CAACrT,EAAU9Z,KAIT4lQ,GAA+BvgR,EAAMkG,aACvC,SAAC6+H,EAAe5/H,G,MACN60G,EAAgB6kK,GAAwB15Q,GAE9CwV,GAAO8B,WAAU,SAACC,G,MAAe,cAC1BA,KAAU,MACZ,EAAA9c,WAAWqzC,aAAc9tC,EAAK,EAC9B,EAAAvF,WAAWo6G,eAAgBA,EAAa,GAHZ,IAMjCvlF,GACI,IAAA6jK,qBACI,IAAAo9B,4BAAwB,MACnB,EAAA91N,WAAWqzC,aAAc9tC,EAC1B,EAAC,EAAAvF,WAAWo6G,eAAgBA,E,KAI5C,GACA,CAACvlF,EAAU9Z,KAGTwnE,IAAe,IAAAj8E,cAAY,WAC7BuuB,GAAS,IAAA6jK,oBAAmB,CAAC,GACjC,GAAG,CAAC7jK,IAEEq8K,IAAmB,IAAA56L,aAAY,EAAA26L,wBAE/B,KAA0E7wM,EAAMuE,UAAkB,GAAK,GAAtGi8Q,GAAiC,MAAEC,GAAkC,OAC5E,IAAAr1Q,YAAU,W,OACoC,QAAf,EAAAo8B,aAAO,EAAPA,EAAS8L,cAAM,eAAE69B,MAAK,SAAC39B,GAAU,OAAAA,aAAK,EAALA,EAAO4xK,QAAP,MAClCo7D,KACtB7mB,SAAAA,EAA4B+mB,UAAU,CAClCt/Q,MAAO,GAAAq4B,eAAezlB,UACtBkL,QAAS,gBAAC,UAA6B,QAG3CuhQ,IAAmC,GAG3C,GAAG,CAACj5O,IAEJ,IAAM4nD,GACF+wL,IAAqBjpK,GAAenzG,WAAamzG,GAAejzG,OAASg5L,GAAsBl5L,QAE7FsrF,GAAuB6nB,GAAenzG,SAAWk5L,GAAsBl5L,QAEvE48Q,GAAepB,EAAgBx7Q,SAAWy7Q,EAA+Bz7Q,QACzE68Q,GAA0B1pK,GAAenzG,SAAWk5L,GAAsBl5L,QAE1E88Q,GAA4D,SAACr7L,EAAQx8C,GACvEvU,GAAS,IAAA6jK,qBAAmB,IAAAm9B,0CAAyCjwI,EAAQx8C,IACjF,EAEM26C,GAA6B,SAACp9C,EAA4BJ,G,MAC5D,GAAKI,EAAL,CAIA,IAAMq9C,EAAkD,QAA/B,EAAAjpE,GAAOK,OAAO,EAAApb,WAAWymC,cAAM,eAAE9uB,KACtD,SAACooE,GAAqB,OAAAA,EAAiB,EAAAr5C,qBAAqBC,SAAtC,IAE1Bq9C,EAAiBlkB,OAAOv5B,EAAiB,EAAGI,GAE5C,IAAM+M,EAASswC,EAAiBrsE,KAAI,SAACgvB,GAAa,OAAAA,aAAQ,EAARA,EAAUiN,QAAS,IAAnB,IAE5CqwC,GAAc,cAAevwC,IAE/BkxK,cAAsC,EAAtCA,GAAwCxmJ,kBACxCwmJ,GAAuCxmJ,gBAAgB,CACnD+9C,OAAQ,KACRzS,KAAM,KACNzlB,YAAW,GAfnB,CAkBJ,EAEMi9L,MAAkD,QAAtB,EAAAt5O,aAAO,EAAPA,EAASG,qBAAa,eAAExlC,QAEpDghF,GAA8B,SAACl7B,EAAoBu9B,GACrDpC,YAAW,qD,8DACDC,GAAe,IAAAr7B,wBAAuBC,EAAY,EAAA3hB,qBAAqBC,UACvE+8C,EAAoB,4BAAqBkC,EAAM,0BAAkBnC,EAAY,MAE/EE,EAAY,K,qEAWZ,OANIA,OAHJA,EAAYtlC,SAASulC,cAAcF,SAGtB,EAATC,EAAW14E,SAEX04E,SAAAA,EAAW14E,SAGT44E,EAAQ,EAAAlkC,UACd,GAAM,IAAI0F,SAAc,SAACy+B,GACrBN,YAAW,WACPM,GACJ,GAAGD,EACP,K,cAJA,S,iCAVIF,EAAS,M,+DAgBlB,EACP,EAEMvhE,GAAchiB,EAAM0E,SAAQ,WAC9B,OAAO,cAAc3D,EAAGm2G,GAE5B,GAAG,CAACn2G,EAAGm2G,GAAejzG,QAEhB88Q,IAAyB,cAAmB/+P,IAC1CC,GAA0C8+P,GAAsB,gBAA/C5+P,GAAyB4+P,GAAsB,qBAElE18D,GAA0B1pM,GAAOK,OAAO,EAAApb,WAAWymC,OAAO8qC,MAAK,SAACn2D,EAAQxD,G,UAC1E,GAAc,IAAVA,EAEA,OAAO,EAGX,IAAMwpQ,GAA+C,QAA3B,EAAAjkF,cAAc,EAAdA,GAAgBrsH,mBAAW,eAAGl5D,KAAU,KAClE,OACqB,QAAjB,EAAAwD,EAAO7S,kBAAU,eAAED,SACiB,QAApC,EAAA84Q,aAAiB,EAAjBA,EAAmBzvL,yBAAiB,eAAErpF,QACtC8S,EAAO7S,WAAWD,MAAQ84Q,EAAkBzvL,kBAAkBrpF,KAEtE,IAEM+4Q,GAA4BjhR,EAAMkG,aACpC,SAAC4lL,EAAsC1hH,GACnC,IAAM82M,EAA4B,GAElCp1F,EAAYxvK,SAAQ,SAACqjE,EAAkBwhM,GACnC,IAAMh+Q,EAAOw8E,EAAiB,EAAAr5C,qBAAqBnjC,MAE/CA,IAAS,GAAAmvE,kCAAkClxD,gBAC3Cje,IAAS,GAAAmvE,kCAAkCjxD,cAE3C6/P,EAAgBtpQ,KAAKupQ,EAE7B,IAEAD,EAAgB3vO,MAAK,SAAC6vO,EAAQC,GAAW,OAAAA,EAASD,CAAT,IAAiB9kQ,SAAQ,SAAC9E,GAAU,OAAA4yD,EAAO5yD,EAAP,GACjF,GACA,IAEJ,OACI,gBAAC,WAAuBw+B,SAAQ,CAAC7wC,MAAO47Q,IACpC,gBAAC,EAAA58L,cAAcnuC,SAAQ,CAAC7wC,MAAOwV,IAC3B,wBAAMI,SAAUJ,GAAOiB,cACnB,uBAAKhb,UAAWf,GAAG,QAAO,qBAAqB,8BAC1CgpE,GACG,uBAAKjoE,UAAWf,GAAG,UACf,uBAAKe,UAAWf,GAAG,iBACdkB,EAAE,+CAEP,uBAAKH,UAAWf,GAAG,mBACf,gBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAWwrB,QACjBnnB,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWwrB,SAChCrP,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWwrB,SACrC0H,WAAY7Q,GAAgB,EAAAriB,WAAWwrB,SACvC4H,gBAAiB7Q,GACjBlb,MAAOlG,EAAE,8CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,G,MAAU,OACR,gBAAC,WAA2B,CACxBiF,OAAwC,QAAjC,EAAAwV,GAAOK,OAAO,EAAApb,WAAWwrB,gBAAQ,eAAEhf,KAAM,KAChDpG,eAAgB65Q,GAChBl6Q,iBAAe,EACfP,SAAU,SAAC8sI,EAAGovI,G,MACV3mQ,GAAO8B,WAAU,SAACC,G,MAAe,cAC1BA,KAAU,MACZ,EAAA9c,WAAWwrB,SAAUk2P,EAAc,GAFP,IAKjC7sP,GACI,IAAA6jK,qBACI,IAAAo9B,4BAAwB,MACnB,EAAA91N,WAAWwrB,SAAUk2P,E,KAItC,EACAj8Q,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BiF,WAC7C/B,YAAa7E,EAAE,oDACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,S,MAOvC,uBAAK7E,UAAWf,GAAG,UACf,uBAAKe,UAAWf,GAAG,mBACf,uBAAKe,UAAWf,GAAG,wBACf,gBAAC,UAAmB,CAChBsF,MAAOwV,GAAOK,OAAO,EAAApb,WAAWqzC,aAChCn6B,KAAM,EAAAlZ,WAAWqzC,YACjBywN,eAAgB0c,GAChBnkQ,cAAeskQ,MAGvB,uBAAK3/Q,UAAWf,GAAG,wBACf,gBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAWo6G,cACjB/1G,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWo6G,eAChCj+F,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWo6G,eACrC/yG,MAAOlG,EAAE,+CAAwC84E,GAAmB,WACpE59D,cAAeokQ,GACfnkQ,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAmB,CAChB0F,YAAa7E,EACT,+CAAwC84E,GAAmB,iBAE/DA,oBAAqBl/D,GAAOK,OAAO,EAAApb,WAAWqzC,aAC9C9tC,MAAOwV,GAAOK,OAAO,EAAApb,WAAWo6G,eAChCh9F,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBG,QAASvF,EAAMuF,QACfD,OAAQtF,EAAMsF,QAXV,OAkB5B,gBAAC,UAAgB,CAAuCsT,KAAM,EAAAlZ,WAAWymC,QACpE,SAACrrB,EAAQuuD,GACE,IAAAa,EAAmBb,EAAkB,OAA7BiB,EAAWjB,EAAkB,OAC7C,OACI,gCACI,gBAAC,WAAiB,CAACA,mBAAoBA,IACtCvuD,EAAOzD,KAAI,SAACpS,EAAOqS,GAChB,IAAM4sE,EAAYppE,EAAOxD,EAAQ,IAAM,KACjC6sE,EAAoB,IAAV7sE,EACV8sE,EAAS9sE,IAAUwD,EAAO7Y,OAAS,EAEnCsiF,GAAiBJ,IAAYC,EAC7BxD,EAAiB37E,EAAM,EAAAmhC,qBAAqBnjC,MAC5CqiF,EAASrgF,EAAM,EAAAmhC,qBAAqBk/C,QAEtCv+E,EAAQlG,EAAE,4DACVsjF,IACAp9E,EAAQlG,EAAE,mDAEVujF,IACAr9E,EAAQlG,EAAE,kDAGd,IAAM4jF,GACFP,aAAS,EAATA,EAAWjhF,QAAS,GAAAmvE,kCAAkClxD,iBACtDjc,aAAK,EAALA,EAAOhC,QAAS,GAAAmvE,kCAAkCjxD,aAEhDwjE,GAAyBP,IAAWK,EAE1C,OACI,gCACK7D,IACG,GAAAxO,kCAAkCjxD,cAClC,gBAAC,WAAuB,CACpB8kB,gBAAiB3uB,EACjBgwB,QAASA,IAGhBs5C,IACG,GAAAxO,kCAAkClxD,gBAClC,gBAAC,WAAyB,CACtB+kB,gBAAiB3uB,EACjBgwB,QAASA,IAGhBs5C,IAAmB,GAAAxO,kCAAkCC,UAClD,gBAAC,WAAgC,CAC7B1/D,IAAK,gBAAS2yE,GACdv+E,MAAOA,EACPk/B,gBAAiB3uB,EACjBgwB,QAASA,EACT6nD,qBAAsBA,GACtBD,yBAA0BA,GAC1B8rG,eAAgB6B,GAChBqnB,0BAA2By8D,GAC3Bv8D,0BAA2B,WACvB28D,GACItmQ,GAAOK,OAAO,EAAApb,WAAWymC,OACzB+jC,EAER,EACA+a,SAAU,SAAC3tE,GACPid,GACI,IAAA6jK,qBACI,IAAAk9B,0CACIx6M,EAAOxD,GAAOguE,UAK1Bpb,EAAO5yD,EACX,EACAitE,cAAeA,EACfW,uBAAwBzB,GACxB0gI,wBAAyBA,KAGhCvjI,IACG,GAAAxO,kCAAkChxD,cAClC,gBAAC,WAA4B,CACzBzO,IAAK,gBAAS2yE,GACdr/C,gBAAiB3uB,EACjBgwB,QAASA,EACT6nD,qBAAsBA,GACtBD,yBAA0BA,GAC1Bg1H,0BAA2By8D,GAC3Bv8D,0BAA2B,WACvB28D,GACItmQ,GAAOK,OAAO,EAAApb,WAAWymC,OACzB+jC,EAER,EACA+a,SAAU,SAAC3tE,GACPid,GACI,IAAA6jK,qBACI,IAAAk9B,0CACIx6M,EAAOxD,GAAOguE,UAK1Bpb,EAAO5yD,EACX,EACAitE,cAAeA,EACfW,uBAAwBzB,KAG/BkB,GACG,gBAAC,GAAAS,2BAA0B,CACvBzyE,IAAK,gCAAyB2E,GAC9B5W,UAAWf,GAAG,wBACd4C,gBAAiB,EAAAC,4BAA4B6iF,aAC7ChkF,YAAaR,EACT,gDAEJsB,QAAS,CACL,CACI4E,MACI,gBAAC,WAA0B,CACvBoF,KACI,gBAAC,WAAgB,CACb+zD,YACI,EAAAt+D,qBAAqBC,WAIjCkF,MAAOlG,EACH,0EAIZqE,SAAU,W,QACAogF,GAAS,UAETE,IAAa,MACd,EAAAp/C,qBAAqBk/C,QAASA,EAC/B,EAAC,EAAAl/C,qBAAqBnjC,MAClB,GAAAmvE,kCAAkCC,SACtC,EAAC,EAAAjsC,qBAAqBC,UAAW,KACjC,EAAC,EAAAD,qBAAqBn+B,YAAa,KACnC,EAAC,EAAAm+B,qBAAqBirC,qBAClB,E,GAGF+jJ,EAUL,QAVoB,iBACjBt6M,EAAOysC,MAAM,EAAGjwC,EAAQ,IACxB,SAAC2H,GACG,OACIA,EAAKhc,OACD,GAAAmvE,kCAAkCC,UACtCpzD,EAAKhc,OACD,GAAAmvE,kCAAkChxD,YAE9C,WACH,eAAEkkE,OACE8vI,IAIL9qJ,EAAOhzD,EAAQ,EAAGkuE,GAElBjxD,GACI,IAAA6jK,qBACI,IAAA+8B,uCACIC,EACA5vI,KAKZvC,GAA4B3rE,EAAQ,EAAGguE,GAC3C,GAEJ,CACIv+E,MACI,gBAAC,WAA0B,CACvBoF,KACI,gBAAC,WAAgB,CACb+zD,YACI,EAAAt+D,qBAAqB+W,OAIjC5R,MAAOlG,EACH,yEAIZqE,SAAU,W,QACAogF,GAAS,UAETE,IAAa,MACd,EAAAp/C,qBAAqBk/C,QAASA,EAC/B,EAAC,EAAAl/C,qBAAqBnjC,MAClB,GAAAmvE,kCAAkChxD,aACtC,EAAC,EAAAglB,qBAAqBC,UAAW,KACjC,EAAC,EAAAD,qBAAqBn+B,YAAa,KACnC,EAAC,EAAAm+B,qBAAqBirC,qBAClB,E,GAGF+jJ,EAUL,QAVoB,iBACjBt6M,EAAOysC,MAAM,EAAGjwC,EAAQ,IACxB,SAAC2H,GACG,OACIA,EAAKhc,OACD,GAAAmvE,kCAAkCC,UACtCpzD,EAAKhc,OACD,GAAAmvE,kCAAkChxD,YAE9C,WACH,eAAEkkE,OAEE8vI,IAIL9qJ,EAAOhzD,EAAQ,EAAGkuE,GAElBjxD,GACI,IAAA6jK,qBACI,IAAA+8B,uCACIC,EACA5vI,KAKZvC,GAA4B3rE,EAAQ,EAAGguE,GAC3C,MAO5B,IAGZ,IAEHs7L,IAA2B,uBAAKlgR,UAAWf,GAAG,+BAEnD,gBAAC,UAAkB,CAAC8lF,YAAahrE,GAAOgrE,YAAa7pE,OAAQnB,GAAOmB,SACpE,gBAAC,UAAmB,CAACgwH,YAAU,EAACluH,aAAW,EAAC+2B,QAAS,gBAAC,WAAyB,OAC1EmsO,IACG,gBAAC,UAAW,CACRhoQ,KAAM,EAAAlZ,WAAWkoC,OACjB7jC,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWkoC,QAChC/rB,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWkoC,QACrC7gC,MAAOlG,EAAE,2CACTkb,cAAeqkQ,GACfpkQ,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,WAAiB,CACdmH,cAAesT,GAAOK,OAAO,EAAApb,WAAWkoC,QACxCliC,YAAa7E,EAAE,iDACfqE,SAAUlF,EAAM8c,SAChB1X,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBI,QAASvF,EAAMuF,QACfD,OAAQtF,EAAMsF,OACd0J,UAAWgoG,GAAenzG,QAC1B1B,QAASmlC,aAAO,EAAPA,EAASG,cAClBllC,gBAAiB,EAAAC,4BAA4BqzB,UAC7CnuB,QAAS,WACL1H,EAAM8c,SAAS,KACnB,GAdI,IAmBpB,gBAAC,UAAO+oE,UAAS,KACb,gBAAC,UAAM,CACHjoE,aAAW,EACXC,iBAAe,EACf3c,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAYo7Q,IAAgBC,KAA4B9vE,GACxD3tM,KAAK,SACLtC,aAAa,aAEb,gBAAC,WAAmB,CAChB0gR,oBAAqB/5O,KAAau1J,GAClC4jF,aAAcA,GACdC,wBAAyBA,GACzBv7D,aAAcA,MAGtB,gBAAC,UAAOr/H,MAAK,CACTC,SAAU,EAAApmC,UACVqmC,YAAY1+C,aAAO,EAAPA,EAAS0+C,aAAc,KACnCC,eAAgBplF,EAAE,+CAClBqlF,SAAUjE,SAQ1C,IACA,UAAei9L,E,sBC78Bf,IAAY/0N,EA8CAtyC,E,+FA9CZ,SAAYsyC,GACR,gBACA,4BACA,oBACA,gCACA,kBAEA,0BACA,8BAEA,oCACA,gCACA,oCACA,wCAEA,0CACA,sCACA,0CACA,8CAEA,4DACA,uDACH,CAtBD,CAAYA,IAAoB,uBAApBA,EAAoB,KA8ChC,SAAYtyC,GACR,2BACA,2BACA,iCACA,wBACH,CALD,CAAYA,IAAa,gBAAbA,EAAa,I,q7BClDzB,kBAGA,WACA,cACA,cACA,WACA,cACA,cACA,WACA,WACA,UAcMvJ,EAAgB,qBAEhBgzQ,EAAqE,UAAMvhR,MAAK,SAACC,GAC3E,IAAAyM,EAAuCzM,EAAK,KAAtCQ,EAAiCR,EAAK,QAA7ByO,EAAwBzO,EAAK,SAAnBstB,EAActtB,EAAK,UAE5Ca,GAAM,IAAAC,kBAAgB,EAExBqnJ,GAAc,IAAAnyI,cAAY,IAAA+xI,oBAAkBt7I,aAAI,EAAJA,EAAMpJ,YAAa,OAC/DqL,GAAsB,IAAAsH,cAAY,IAAAg1B,4BAA0Bv+B,aAAI,EAAJA,EAAMpJ,YAAa,OAErF,KAAKoJ,aAAI,EAAJA,EAAMpJ,cAAcoJ,aAAI,EAAJA,EAAM47B,WAC3B,OAAO,KAGX,IAAM95B,EAAU45I,EAAY17I,EAAK47B,WAEjC,OACI,wBAAC,UAAK,KACF,wBAAC,UAAY,CAAC7nC,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,uDACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAYqJ,EAAoB7K,QAChCpC,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BU,UAAWN,EAAoB7K,QAC/BpC,QAAS,YACD8M,aAAO,EAAPA,EAAS1I,QACTynB,EAAU7gB,EAAKpJ,UAAWkL,EAAQ1I,SAElC,IAAA6uB,YAAW,gBAEnB,IAGRvoB,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,uDAAwD,CAC7D4F,MAAO8H,aAAO,EAAPA,EAAS9H,QAEpB8R,QAAS1X,EAAE,iEAK/B,IAEA,UAAeygR,C,+BCjFf,WAAgB,OAAS,iDAAiD,cAAgB,wDAAwD,KAAO,+CAA+C,SAAW,mDAAmD,MAAQ,gDAAgD,eAAe,uDAAuD,cAAc,sDAAsD,OAAS,iDAAiD,SAAW,mD,yGCA7gB,eAEa,EAAAC,uBAAyB,SAAC76O,GACnC,OAAKA,EAIE,CACHA,SAAS,IAAAiyK,gBAAejyK,GACxB24G,iBAAkB,KAClBoE,kBAAmB,CACftyH,YAAauV,EAAQhgB,QACrBuhC,QAASvhB,aAAO,EAAPA,EAASuhB,QAClBC,QAASxhB,aAAO,EAAPA,EAASwhB,QAClBC,QAASzhB,aAAO,EAAPA,EAASyhB,QAClBC,KAAM1hB,aAAO,EAAPA,EAAS0hB,MAEnB9U,MAAO,CACHvzB,IAAK2mB,EAAQ0O,UAAY,EACzBp1B,IAAK0mB,EAAQ2O,WAAa,IAfvB,IAkBf,C,s6BCvBA,kBACA,WAUMmsO,EAAkC,SAACxhR,GAC7B,IAAA0W,EAAqD1W,EAAK,YAA7C2B,EAAwC3B,EAAK,UAAlCmW,EAA6BnW,EAAK,QAAzBoW,EAAoBpW,EAAK,KAAnBU,EAAcV,EAAK,UAElE,OACI,uBAAKwB,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAY3Q,UAAWA,GAC3D,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAMC,YAAa2E,GAAW,EAAG3J,KAAM7K,EAAW4P,EAAE,sCACpD,wBACI/E,KAAMkK,EACNnF,EAAE,ySAKtB,EAEAiwQ,EAAc1vQ,YAAc,gBAE5B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeyvQ,EAEF,EAAArrB,mBAAqB,CAC9Bt5O,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WASR,OAAIryB,EACO,CACHgR,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBkS,WAItC3O,EACO,CACHiR,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB0Q,QAItCiuD,EACO,CACHnqD,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB6U,WAItCpR,EACO,CACH+Q,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,OAInC,CACHgE,KAAM,EAAAC,kBACN1U,UAAW81B,GAAYC,EAAY,EAAA91B,qBAAqBogL,aAAe,EAAApgL,qBAAqBI,MAC5F0U,YAAa+gB,GAAYC,EAAY,EAAA91B,qBAAqB6U,UAAY,EAAA7U,qBAAqB+W,KAEnG,GAMS,EAAAguL,sBAAwB,SACjCj7K,GASA,OAAQA,GACJ,IAAK,WACD,MAAO,CACH/pB,UAAW,EAAAC,qBAAqBogL,aAChCtrK,YAAa,EAAA9U,qBAAqB6U,WAG1C,IAAK,wBACL,IAAK,yBACD,MAAO,CACH9U,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBgG,OAG1C,IAAK,sBACD,MAAO,CACHjG,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqB+W,MAG1C,IAAK,wBACD,MAAO,CACHhX,UAAW,EAAAC,qBAAqB8R,YAChCgD,YAAa,EAAA9U,qBAAqBC,UAG1C,QACI,MAAO,CACHF,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqBwQ,OAIlD,C,+BC5IA,WAAgB,KAAO,oCAAoC,wBAAwB,qDAAqD,wBAAwB,qDAAqD,OAAS,sCAAsC,SAAW,wC,+BCA/Q,WAAgB,oBAAoB,wDAAwD,cAAc,kDAAkD,kBAAkB,sDAAsD,OAAS,6CAA6C,SAAW,+C,4nGCDrS,kBACA,cAEA,aACA,WACA,cACA,WAEA,WAEA,WAOA,cACA,WACA,cACA,cAEA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,UACA,cACA,WACA,WACA,cAEA,WAEA,cACA,WAQA,WACA,cACA,WACA,WAEA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WAMA,WAOA,WACA,YAEA,eACA,YACA,YACA,YACA,YACA,cACA,eACA,WACA,eACA,cACA,eACA,eACA,eACA,YACA,YACA,eAEMzS,GAAK,UAAWC,KAAK,WAarB6hR,GAA4B,IAAI3yP,IAAoC,CACtE,EAAAg+E,0BAA0B1rF,aAC1B,EAAA0rF,0BAA0BlrF,cAC1B,EAAAkrF,0BAA0BprF,YA+wB9B,UA5wBoC,SAAC1hB,G,QAE7BsrN,EAOAtrN,EAAK,kBANL6a,EAMA7a,EAAK,SALL6qN,EAKA7qN,EAAK,kCAJLurN,EAIAvrN,EAAK,qCAHLyrN,EAGAzrN,EAAK,gBAFLmqN,EAEAnqN,EAAK,6BADLwrN,EACAxrN,EAAK,8BAEHs/E,IAAsB,IAAA3sD,YAAW,EAAA4sD,kCAEjCr1E,IAAU,IAAA8L,aAAY,EAAA0rQ,uBACtBt9P,IAAuB,IAAApO,aAAY,EAAAyiO,8BAEnCv0N,IAAiB,IAAAlO,aAAY,EAAAg1M,+BAC7B7mM,IAA8B,IAAAnO,aAAY,EAAA2rQ,8BAE1CnkM,IAA2B,IAAAxnE,aAAY,EAAAynE,gCAErC58E,IAAM,IAAAC,kBAAgB,EAExByzB,IAAW,IAAAC,eAEXmhD,IAA0B,IAAA3/D,aAAY,EAAA4/D,oCAC5C,UAAM1qE,WAAU,WACZqpB,IAAS,IAAAshD,4BACb,GAAG,CAACthD,KAEI,IAAA62C,GAAsBkU,GAAmB,kBAC3C17B,GAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GACJ,oBAAaja,GAAGia,EAAQ,CACpB66D,wBAAuB,GACvBvK,kBAAiB,IAFrB,CAIR,GAAG,CAACvqE,GAAG80E,GAAyBvK,KAE1B0S,IAAY55D,cAAc,EAAdA,GAAgB45D,YAAa,KAEzC,KAAiC,UAAMt5E,SAAQ,WACjD,IAAMsW,EAASwwM,IAAqB,IAAAttI,oBAGpC,MAAO,CAACljE,GAFO,aAAaja,GAAGia,EAAQ,CAAE66D,wBAAuB,GAAEvK,kBAAiB,KAIvF,GAAG,IAAG,GANC5wD,GAAa,MAAEupC,GAAa,MAQnC,UAAM74C,WAAU,WACZqpB,IACI,KAAAizL,uBAAsB,CAClBvkN,KAAM,OACNgsQ,UAAWz0P,GAAc,EAAA9a,WAAWymC,OAAO9uB,KAAI,SAACopE,GAC5C,MAAO,CACH/5C,SAAS,IAAAo6C,iBAAgBL,EAAW,EAAAr6C,qBAAqBC,WACzD2oO,uBAAwBvuL,EAAW,EAAAr6C,qBAAqBs5C,aAEhE,MAIZ,GAAG,IAEH,IAAMjlE,IAAS,IAAAC,WAA4B,CACvCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,GACbvpC,cAAa,GACbopC,SAAQ,GACR/oC,SAAU,SAACC,EAAQC,GACV+iE,IAKLjjE,EAASijE,GAAWhjE,GAEpBC,EAAcI,WAAW,CAAC,KANtB,KAAAuZ,YAAW,uCAOnB,KAGJ,eAAqB,WACjBja,GAAOmnQ,cACX,GAAG,CAACx2M,KAEJ,IAAMiU,GAAa5kE,GAAOK,OAAO,EAAApb,WAAWymC,OAE5C,UAAMj7B,WAAU,WACZ,IAAMs0E,EAAcH,GAAWhoE,KAAI,SAACooE,EAAkBnoE,GAClD,IAAMpL,EAAKuzE,EAAiB,EAAAr5C,qBAAqBs5C,aAC3Cz8E,EAAOw8E,EAAiB,EAAAr5C,qBAAqBnjC,MAC7CojC,EAAWo5C,EAAiB,EAAAr5C,qBAAqBC,UAEjDH,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBC,UACzEjhC,KAAa,aAAIqV,GAAOmB,OAAQsqB,GAEtC,MAAO,CACHh6B,GAAE,EACFjJ,KAAI,EACJ0K,OAAQ2J,EAAQ,EAChB+uB,SAAQ,EACR45C,YAAawhM,GAA0BxyP,IAAIhsB,GAC3CmC,SAAQ,EAEhB,IAEAk6E,GAAoBY,kBAAkBV,EAE1C,GAAG,CAACt7D,GAAgBm7D,GAAY5kE,GAAOmB,SAEvC,UAAM1Q,WAAU,W,QACNi1E,EAAkC,GAElCC,EAAe5lE,GAAc,EAAA9a,WAAWymC,QAAU,GAExDi6C,SAAAA,EAAchkE,SAAQ,SAACikE,G,YACnBF,EAAYzoE,KAAK,CAA+B,QAA9B,EAAuB,QAAvB,EAAA2oE,aAAa,EAAbA,EAAeh6C,gBAAQ,eAAEiN,aAAK,eAAEvzB,IAAmC,QAA9B,EAAuB,QAAvB,EAAAsgE,aAAa,EAAbA,EAAeh6C,gBAAQ,eAAEiN,aAAK,eAAEtzB,KAC3F,IAEkD,QAAlD,EAAwC,QAAxC,EAAAs/D,cAAmB,EAAnBA,GAAqBgB,2BAAmB,eAAEntB,gBAAQ,gBAAGgtB,EAEzD,GAAG,CAAC3lE,GAAe8kE,cAAmB,EAAnBA,GAAqBgB,sBAEhC,IAAAvkE,GAA2CtB,GAAM,cAAlCuB,GAA4BvB,GAAM,gBAAjBK,GAAWL,GAAM,OAEnDonQ,GAA4E,UAAM77Q,aACpF,SAAColE,GACG72C,IACI,KAAAizL,uBAAsB,CAClBvkN,KAAM,yBACNmoE,kBAAiB,IAG7B,GACA,CAAC72C,KAGL,UAAMrpB,WAAU,WACZo0E,UAAAA,GAAqBggG,qCAAqC,CACtDnsH,UAAU,cAAS0uN,GAAuC,EAAAC,8BAGlE,GAAG,CAACD,GAAuCviM,cAAmB,EAAnBA,GAAqBggG,uCAEhE,IAAM6/D,GAAgB1kO,GAAOK,OAAO,EAAApb,WAAWqkB,QAAU,KACnDipH,GAAmBhkI,QAAQm2O,IAE3B5+J,GAA0C,UAAMv6E,aAClD,SAACqgC,GACG,GAAK2mG,GAAL,CAIA,IAEMxsD,GAFQ1lE,GAAO,EAAApb,WAAWymC,QAAU,IAEMkkC,WAAU,SAACoW,GACvD,QAAQ,IAAAC,4BAA2BD,IAAeghM,GAA0BxyP,IAAIwxD,EAAWx9E,KAC/F,IAEA,IAA2C,IAAvCu9E,EAAJ,CAIA,IAAMt6C,EACF,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIq6C,EAAiC,YAAI,EAAAp6C,qBAAqBC,UACrFtqB,GAAcmqB,EAAmBG,GACjCrqB,GAAgBkqB,GAAmB,GAEnC,IAAM26C,GAAmB,IAAAC,iBAAgBz6C,GACzC,GAAKw6C,EAAL,CAIA,IAAMuO,EACF,UAAG,EAAA1vF,WAAWymC,MAAK,YAAIq6C,EAAiC,YAAI,EAAAp6C,qBAAqBs5C,aAC/EA,GAAc,KAAAn5C,mBAAkBzrB,GAAQs0E,GAE9C76D,IACI,KAAAizL,uBAAsB,CAClBvkN,KAAM,uBACN+rQ,uBAAwBtvL,EACxBh5C,QAASm6C,IAVjB,CAVA,CAVA,CAiCJ,GAEA,CAACtsD,GAAUzZ,GAAQiB,GAAeixH,KAGtC,UAAM9hI,WAAU,WACZo0E,UAAAA,GAAqB6B,sBAAsB,CAAEhuB,SAAUotB,IAE3D,GAAG,CAACA,GAAoBjB,cAAmB,EAAnBA,GAAqB6B,wBAE7C,IAAMC,GAA8C,UAAMp7E,aACtD,SAACkG,EAAIm6B,GACD,IAAMg5C,EAAavkE,GAAO,EAAApb,WAAWymC,QAAU,GAEzC7uB,EAAQ+nE,aAAU,EAAVA,EAAYhV,WAAU,SAACoV,GACjC,OAAOvzE,IAAOuzE,EAAiB,EAAAr5C,qBAAqBs5C,YACxD,IAEMx5C,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBC,UAC/EtqB,GAAcmqB,EAAmBG,GACjCrqB,GAAgBkqB,GAAmB,GAEnC,IAAM26C,GAAmB,IAAAC,iBAAgBz6C,GACzC,GAAKw6C,EAAL,CAIA,IAAMuO,EAAuB,UAAG,EAAA1vF,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBs5C,aAC5EA,GAAc,KAAAn5C,mBAAkBzrB,GAAQs0E,GAE9C76D,IACI,KAAAizL,uBAAsB,CAClBvkN,KAAM,uBACN+rQ,uBAAwBtvL,EACxBh5C,QAASm6C,IATjB,CAYJ,GAEA,CAACtsD,GAAUzZ,GAAQiB,KAGvB,UAAM7Q,WAAU,WACZo0E,UAAAA,GAAqBgC,wBAAwB,CAAEnuB,SAAUiuB,IAE7D,GAAG,CAACA,GAAsB9B,cAAmB,EAAnBA,GAAqBgC,0BAE/C,IAAM9/C,IAAkB,KAAAC,sBAElBsgP,GAAuC,UAAM/7Q,aAC/C,SAAC2F,G,cACS61E,EAA+C,CAAC,EAEhDC,EAAqBhnE,GAAOK,OAAO,EAAApb,WAAWymC,OAChDu7C,EAAgD,GAEpD,KAAK,aAAQ/1E,aAAK,EAALA,EAAO49D,gBAAiB,CACjC,IAAM,GAAwB,aAAM59D,aAAK,EAALA,EAAO49D,gBAAgB,SAACO,GACxD,OAAOA,EAAKwb,MAChB,IAEA5D,EAAqBD,EAAmBpqE,KAAI,SAACsqE,G,MACnCjC,EAAciC,EAAqB,EAAAv7C,qBAAqBs5C,cAAgB,KACxEkC,EAAgB,EAAsBlC,IAA2C,KAEnFmC,EAA2D,KAE3D08B,EAAuC,KACvC0mF,EAAqC,KAmBzC,OAjBItjH,EAAqB15E,YACrBs2G,GAAwB38B,aAAa,EAAbA,EAAe28B,wBAAyB,KAChE0mF,GAAsBrjH,aAAa,EAAbA,EAAeqjH,sBAAuB,OAE5D1mF,GACI38B,aAAa,EAAbA,EAAe28B,yBAAyB38B,aAAa,EAAbA,EAAeiB,uBAAwB,KACnFoiH,GACIrjH,aAAa,EAAbA,EAAeqjH,uBAAuBrjH,aAAa,EAAbA,EAAekB,qBAAsB,MAG/Ey7B,GAAyB0mF,IACzBpjH,EAAsB,CAClB75E,MAAOu2G,EACPxyG,IAAKk5L,IAITpjH,EACO,EAAP,KACOF,KAAoB,MACtB,EAAAv7C,qBAAqBn+B,YAAa45E,EAAmB,IAIvDF,CACX,IAGA,IAAM6I,GAAiC,QAArB,EAAA7+E,aAAK,EAALA,EAAO49D,sBAAc,eAAG,KAAM,KAC5CihB,IACA9I,EAAmB,GAAK,EAAH,KACdA,EAAmB,KACnB,IAAAsgM,gCAA+Bx3L,KAK1C,IAAMC,GAAgC,QAArB,EAAA9+E,aAAK,EAALA,EAAO49D,sBAAc,iBAAyB,QAArB,EAAA59D,aAAK,EAALA,EAAO49D,sBAAc,eAAEtnE,SAAU,GAAK,KAAM,MAClF0J,aAAK,EAALA,EAAO49D,kBAAkB59D,aAAK,EAALA,EAAO49D,eAAetnE,QAAS,GAAKwoF,IAC7D/I,EAAmBA,EAAmBz/E,OAAS,GAAK,EAAH,KAC1Cy/E,EAAmBA,EAAmBz/E,OAAS,IAAE,CACpDgB,KAA8C,QAAxC,OAAA++Q,gCAA+Bv3L,UAAS,eAAExnF,QAIxDu+E,EAAkB,EAAA9hF,WAAWymC,OAASu7C,CAC1C,EAEK,aAAQF,IACT/mE,GAAO8B,WAAU,SAACC,GAAe,cAC1BA,GACAglE,EAF0B,IAMTx4E,QAA4B,QAApB,EAAA2C,EAAM49D,sBAAc,eAAEtnE,SAC/B0J,EAAM49D,gBAC7B,GAAA04M,mCAAmC3gP,KAAK,CACpCioC,eAAgB59D,aAAK,EAALA,EAAO49D,eACvBG,gBAAiBgY,EACjBwgM,iBAAkBv2Q,aAAK,EAALA,EAAOu2Q,iBACzBC,mBAAoBx2Q,aAAK,EAALA,EAAOw2Q,mBAC3BC,iBAAkBz2Q,aAAK,EAALA,EAAOy2Q,kBAGrC,GACA,CAAC3nQ,MAEL,IAAAwnB,qBAAoB,GAAAwoM,mCAAoCs3C,IAExD,IAAMjgQ,GAAc,UAAMtd,SAAQ,WAC9B,OAAO,cAAiB3D,GAAG4Z,GAAOK,OAAQ,CACtCsJ,qBAAoB,GACpBD,4BAA2B,IAEnC,GAAG,CAACtjB,GAAG4Z,GAAOK,OAAQsJ,GAAsBD,KAEtC,IAA4C,cAAmBrC,IAA7DC,GAAe,mBAAEE,GAAoB,wBAEvC8gE,GAAkB3+D,GAAqBvgB,SAAWsgB,GAA4BtgB,QAC9E+5H,KAAkB,aAAQ97G,IAC1BkhE,GAAmBD,IAAmBvF,IAA4BogD,GA2BlEn6C,GAA6B,SAACp9C,EAA4BJ,G,QAC5D,GAAKI,EAAL,CAIA,IAEMq9C,GAFQjpE,GAAOK,OAAO,EAAApb,WAAWymC,QAAU,IAElB9uB,KAAI,SAACooE,GAAqB,OAAAA,EAAiB,EAAAr5C,qBAAqBC,SAAtC,IACzDq9C,EAAiBz9C,GAAmBI,EAEpC,IAAM+M,EAASswC,EAAiBrsE,KAAI,SAACgvB,GAAa,OAAAA,aAAQ,EAARA,EAAUiN,KAAV,IAAiBtkB,OAAO,EAAA4/B,UAEpE+0B,GAAc,aAAevwC,GACe,QAAlD,EAAwC,QAAxC,EAAAksC,cAAmB,EAAnBA,GAAqBgB,2BAAmB,eAAEntB,gBAAQ,gBAAGwwB,EAVrD,CAWJ,EAEMC,GAA2D,SAE7D39C,EACA+oO,EACAlmO,GAEAvU,IACI,KAAAizL,uBAAsB,CAClBvkN,KAAM,uBACN+rQ,uBAAsB,EACtBtoO,QAASoC,aAAO,EAAPA,EAASpC,UAG9B,EAEMm9C,GAAiE,SAEnE59C,EAEA+oO,EAEAlmO,G,MAEAvU,IACI,KAAAizL,uBAAsB,CAClBvkN,KAAM,wBACNqsQ,gBAAmC,QAAlB,EAAAxmO,EAAQ7gC,kBAAU,eAAED,QAGjD,EAWM+7E,GAAgB,UAAMv/E,SAAQ,WAChC,OAAI2lN,EAEI,wBAAC,UAAK,CACFjpN,MAAO,EAAAq4B,eAAejnB,OACtB5R,UAAWf,GAAG,4BACdwM,KAAM,wBAAC,UAAQ,CAACxK,UAAW,EAAAC,qBAAqBgG,QAChDwO,KAAM,EAAAilB,cAAc2oD,OACpBxjF,QAASgrN,GAER3qN,GAAE,+CAKR,IACX,GAAG,CAACA,GAAGspN,EAA8BqB,IAyC/B82B,IAA2D,QAA7C,EAAiC,QAAjC,EAAAjjK,GAAWA,GAAWp9E,OAAS,UAAE,eAAEgG,kBAAU,eAAED,QAAS,KACtE6pL,GAAe,UAAMrtL,SAAQ,W,MAC/B,IAAK89O,GACD,OAAO,KAGX,IAAM+/B,EAAoB,WAAOj8N,UAAUk8L,IAAa9/N,SAExD,OACmB,QAAf,EAAAtY,cAAO,EAAPA,GAAS2oF,cAAM,eAAE/5C,MAAK,SAACo4C,GACnB,IAAMqtE,EAAa,WAAOn4G,UAAU8qC,EAAM55D,MAAM9U,SAChD,KAAK0uE,aAAK,EAALA,EAAOhpE,KAAMq2I,EACd,OAAOA,GAAc8jH,EAGzB,IAAInxL,aAAK,EAALA,EAAOhpE,KAAMq2I,EAAY,CACzB,IAAMC,EAAW,WAAOp4G,UAAU8qC,EAAMhpE,IAAI1F,SAC5C,OAAO+7I,GAAc8jH,GAAqB7jH,GAAY6jH,CAC1D,CAEA,OAAO,CACX,MAAM,IAEd,GAAG,CAACn4Q,GAASo4O,KAEPggC,GAA2B,SAACj/Q,EAAuB6rD,GACrD1tB,GAAgB,CACZv+B,KAAM,GAAAmnC,uBAAuBklB,eAC7BjsD,UAAS,EACT6rD,UAAS,GAEjB,EAEMqzN,GAAe,UAAM/9Q,SAAQ,WAC/B,OAAO,aAAM0f,cAAc,EAAdA,GAAgB+6D,OAAO,SAACnV,GAAS,OAAAA,EAAKwb,MAAL,GAClD,GAAG,CAACphE,KAEE,KAA8C,UAAM7f,SAAiD,MAAK,GAAzGm+Q,GAAkB,MAAEC,GAAqB,MAChD,UAAMv3Q,WAAU,WACZu3Q,IAAsB,SAACD,GACnB,OAAOt+P,IAAkBs+P,CAC7B,GACJ,GAAG,CAACt+P,MAEJ,eAAqB,WACZ8oH,KAEDy1I,GAAsB,MACtBhoQ,GAAOsB,cAAc,EAAArc,WAAWymC,MAAO3rB,GAAc2rB,OAE7D,GAAG,CAAC6mG,KAEJ,IAAM01I,GAA2B,UAAM/vP,WAAW,GAAAu1D,0BAClD,UAAMh9E,WAAU,WACZw3Q,GAAyBv6L,YAAWg3J,cAAa,EAAbA,GAAejzO,KAAM,KAE7D,GAAG,CAACw2Q,GAAyBv6L,WAAYg3J,KAEzC,IAAMwjC,GAAyBz+P,IAAkBs+P,IAAsB,KAEvE,OACI,+BAAK9hR,UAAWf,GAAG,SACf,wBAAC,EAAAskF,cAAcnuC,SAAQ,CAAC7wC,MAAOwV,IAC3B,gCAAMI,SAAUJ,GAAOiB,cACnB,+BAAKhb,UAAWf,GAAG,SACf,wBAAC,UAAW,CACRe,UAAWf,GAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWqkB,MACjBhgB,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWqkB,OAChClI,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWqkB,OACrChd,MAAOlG,GAAE,iCACT+xB,WAAY7Q,GAAgB,EAAAriB,WAAWqkB,OACvC+O,gBAAiB7Q,GACjBlG,cAhHE,SAACi2H,EAAWjuH,G,QAC9B7H,IAAY,MACX,EAAAxc,WAAWqkB,OAAQA,E,GAIpBpY,EAA8B,CAC9B1I,KAAM,eACNq3C,UAHcv2B,aAAK,EAALA,EAAO++N,iBAAiB/+N,aAAK,EAALA,EAAO7X,KAAO,MAMpD6X,EACA7H,EAAe,EAAH,GACLA,IAGPA,EAAe,EAAH,KACLA,KAAY,MACd,EAAAxc,WAAWymC,OAAQ3rB,GAAc,EAAA9a,WAAWymC,OAAM,IAEvDx6B,EAAQ,EAAH,KACEA,GAAK,CACRojQ,WAAYv0P,GAAc,EAAA9a,WAAWymC,OAAO9uB,KAAI,SAACopE,GAC7C,MAAO,CACH/5C,SAAS,IAAAo6C,iBAAgBL,EAAW,EAAAr6C,qBAAqBC,WACzD2oO,uBAAwBvuL,EAAW,EAAAr6C,qBAAqBs5C,aAEhE,OAIRjlE,GAAO8B,WAAU,SAACzB,GAAW,cACtBA,GACAoB,EAFsB,IAK7BqY,IAAS,KAAAizL,uBAAsB77M,GACnC,EA4EwBqQ,gBAAiBvB,GAAOuB,gBACxBg6J,oBAAkB,IAEjB,SAACh2K,GAAU,OACR,wBAAC,UAAa,CACV+E,aAAc0V,GAAOD,cAAc,EAAA9a,WAAWqkB,OAC9C9e,MAAOwV,GAAOK,OAAO,EAAApb,WAAWqkB,OAChC7e,SAAUlF,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfJ,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BiF,WAC7C/B,YAAa7E,GAAE,wCAVX,IAcfmsI,GACG,gDACI,wBAAC,UAAgB,CAA4Cp0H,KAAM,EAAAlZ,WAAWymC,QACzE,SAACrrB,EAAQuuD,GACE,IAAAa,EAAmBb,EAAkB,OAA7BiB,EAAWjB,EAAkB,OAE7C,OACI,gDACI,wBAAC,UAAiB,CAACA,mBAAoBA,IACtCvuD,EAAOzD,KAAI,SAACpS,EAAOqS,GAChB,IAAM4sE,EAAYppE,EAAOxD,EAAQ,IAAM,KAEjC8sE,EAAS9sE,IAAUwD,EAAO7Y,OAAS,EAEnC2+E,EAAiB37E,EAAM,EAAAmhC,qBAAqBnjC,MAC5Cy8E,EAAcz6E,EAAM,EAAAmhC,qBAAqBs5C,aAEzCkjM,EAAYL,GAAa7iM,IAAgB,KAEzC+E,GACFP,aAAS,EAATA,EAAWjhF,QAAS,EAAA6pG,0BAA0B5rF,iBAC9Cjc,aAAK,EAALA,EAAOhC,QAAS,EAAA6pG,0BAA0B3rF,aAExCwjE,GAAyBP,IAAWK,EAE1C,OACI,iDACM7D,IACE,EAAAksB,0BAA0BlsF,aAC1BggE,IACI,EAAAksB,0BAA0B9rF,kBAC9B,wBAAC,WAAiB,CACdrO,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,EACjBu6K,aAAcA,GACd7gI,qBAAsBsxN,MAG5B1hM,IAAmB,EAAAksB,0BAA0BprF,WAC3Ck/D,IACI,EAAAksB,0BAA0BlrF,gBAC9B,wBAAC,UAAe,CACZjP,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,EACjBsrQ,UAAWA,EACX/wF,aAAcA,GACdh/F,QAAQ3oF,cAAO,EAAPA,GAAS2oF,SAAU,KAC3B9N,0BACInB,GAEJoB,6BACInB,GAEJqB,uBAAwBzB,KAG/B7C,IACG,EAAAksB,0BAA0B1rF,cAC1B,wBAAC,UAA4B,CACzBzO,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,EACjBytE,0BACInB,GAEJsB,uBAAwBzB,GACxBwB,SAAU,SACNh/C,EACA86C,GAnOH,IAAkBiuL,IAuOXjuL,EAtOpExsD,IACI,KAAAizL,uBAAsB,CAClBvkN,KAAM,qBACN+rQ,uBAAsB,KAqOkC9kM,EAAOjkC,EACX,IAGP26C,IACG,EAAAksB,0BAA0B3rF,cAC1B,wBAAC,UAAuB,CACpBxO,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,IAGxBspE,IACG,EAAAksB,0BAA0B5rF,gBAC1B,wBAAC,UAAyB,CACtBvO,IAAK,gBAAS+sE,GACdh/E,UAAWf,GAAG,sBACdsmC,gBAAiB3uB,IAGxBqtE,GACG,wBAAC,EAAAsiJ,eAAc,CACXt0N,IAAK,gCAAyB2E,GAC9B5W,UAAWf,GAAG,wBACd8B,QAAS,W,MACC6jF,GACF,KAAAC,qBAAoB,gBAElBC,IAAa,MACd,EAAAp/C,qBAAqBs5C,aAAc4F,EACpC,EAAC,EAAAl/C,qBAAqBnjC,MAClB,EAAA6pG,0BAA0B1rF,aAC9B,EAAC,EAAAglB,qBAAqBC,UAAW,KACjC,EAAC,EAAAD,qBAAqBn+B,YAAa,K,GAGvCqiE,EAAOhzD,EAAQ,EAAGkuE,GAElB,IAvV/Bz9B,EAAoB77C,EAuViB22Q,EAAqB,OAAI/nQ,IAAM,GAChCysC,MAAM,EAAGjwC,EAAQ,GACjBD,KACG,SAACopE,GACG,OAAAA,EACI,EAAAr6C,qBAAqBs5C,YADzB,IAKZnrD,IACI,KAAAizL,uBAAsB,CAClBvkN,KAAM,qBACNmsQ,8BACIyT,EACJ7T,uBAAwB1pL,EACxB5+C,QAAS,QAtWhDqhB,EA0W2DzwC,EAAQ,EA1W/CpL,EA0WkDo5E,EAzWvGpC,YAAW,qD,8DACDC,GAAe,IAAAr7B,wBAAuBC,EAAY,EAAA3hB,qBAAqBC,UACvE+8C,EAAoB,6BAAsBl3E,EAAE,0BAAkBi3E,EAAY,MAE5EE,EAAY,K,qEAWZ,OANIA,OAHJA,EAAYtlC,SAASulC,cAAcF,SAGtB,EAATC,EAAW14E,SAEX04E,SAAAA,EAAW14E,SAGT44E,EAAQ,EAAAlkC,UACd,GAAM,IAAI0F,SAAc,SAACy+B,GACrBN,YAAW,WACPM,GACJ,GAAGD,EACP,K,cAJA,S,iCAVIF,EAAS,M,+DAgBlB,EAqVyD,IAKpB,IAGZ,IAEJ,+BAAK3iF,UAAWf,GAAG,kBACbgjR,KACGx+P,GAA4BtgB,SAAWugB,GAAqBvgB,UACzD,+BAAKnD,UAAWf,GAAG,yBACf,wBAAC,WAAuB,CAACgC,UAAW,EAAAC,qBAAqBI,SAGpE2gR,IACG,wBAAC,WAAuB,CACpBjiR,UAAWf,GAAG,WACdukB,eAAgBy+P,GAChBx+P,4BAA6BA,GAC7BC,qBAAsBA,OAMtC,+BAAK1jB,UAAWf,GAAG,sBACf,wBAAC,WAAW,CAACe,UAAWf,GAAG,6BAC3B,+BAAKe,UAAWf,GAAG,4BACdkB,GAAE,wDAKnB,wBAAC,UAAkB,CAAC4kF,YAAahrE,GAAOgrE,YAAa7pE,OAAQnB,GAAOmB,SACnE5S,QAAQ25Q,KACL,wBAAC,UAAmB,CAACjlQ,aAAW,EAACgoE,WAAS,EAACjxC,QAASsvC,IAChD,+BAAKrjF,UAAWf,GAAG,mBACf,wBAAC,UAAQ,CACLe,UAAWf,GAAG,qBACduB,MAAO,EAAAykF,kBAAkBrzE,OACzBszE,QAASilI,EACT9jN,MAAOlG,GAAE,+DACTic,SAAUyuM,IAEd,+BAAK7qN,UAAWf,GAAG,YACf,wBAAC,UAAOkmF,UAAS,CAACnlF,UAAWf,GAAG,WAC5B,wBAAC,UAAM,CACHie,aAAW,EACXC,iBAAe,EACf3c,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY29E,GACZh0E,UAAW+zE,GACX9/E,KAAK,UAEJpC,GAAE,yCAENqJ,cAAO,EAAPA,GAAS87E,aACN,wBAAC,UAAOF,MAAK,CACTC,SAAU,EAAA5mC,WACV6mC,YAAY97E,cAAO,EAAPA,GAAS87E,aAAc,KACnC1hC,gBAAiB,EAAAtjD,oBAAoBy+F,SACrCxZ,eAAgBplF,GAAE,gDAClBqlF,SAAUulI,UAY1D,C,4MCz3BA,eACA,cAEa,EAAArzH,uBAAyB,SAClCtM,EACAD,GAEA,OAAQ,aAASC,IAAmBA,EAAiB,EAAAqC,cAAiB,aAAStC,IAAgBA,EAAc,CACjH,EAEa,EAAA5zD,aAAe,SAAC/R,GACzB,OAAO,aAASA,GAAQhH,OAAOgH,GAAQ,EAC3C,C,6NCTa,EAAAwiH,qBAAuB,0CACvB,EAAAC,gCAAkC,qDAClC,EAAAE,0BAA4B,+CAC5B,EAAAI,0BAA4B,+CAC5B,EAAAF,4BAA8B,gD,q7BCP3C,kBACA,cAEA,aACA,WACA,WACA,WACA,WACA,cACA,WAEA,cACA,cACA,UACA,UACA,cACA,cACA,WACA,WAIA,WACA,cACA,cACA,aACA,cACA,WACA,cACA,cACA,WACA,cAGA,cACA,cACA,cACA,WACA,cACA,WAEMppI,EAAK,UAAWC,KAAK,WA4K3B,UAjKuC,SAACI,G,kBAC5BqD,EAAsGrD,EAAK,UAAhGixD,EAA2FjxD,EAAK,aAAlFgP,EAA6EhP,EAAK,UAAvE60C,EAAkE70C,EAAK,kBAApDgxD,EAA+ChxD,EAAK,qBAA9BkxD,EAAyBlxD,EAAK,qBAE3Ga,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXihE,GAAgB,IAAAz/E,aAAY,EAAA0/E,uBAC5BotL,GAAiB,IAAA9sQ,aAAY,EAAA+sQ,sBAEnC,UAAM73Q,WAAU,WACZqpB,GAAS,IAAAmV,uBACTnV,GAAS,IAAAqsL,mBACb,GAAG,CAACrsL,IAEJ,UAAMrpB,WAAU,WACZqpB,GAAS,IAAA67F,uBAAsB/sH,GACnC,GAAG,CAACkxB,EAAUlxB,IAEd,IAAM2/Q,GAAyB,IAAAhtQ,cAAY,IAAAokO,oCAAmC/2O,IAExEmuB,GADe,IAAAxb,cAAY,IAAAqvO,2BAA0BhiP,IAC7B4tD,aAAY,EAAZA,EAAc/rB,aAAyB,KAE/D5T,GAAY2/B,aAAY,EAAZA,EAAc/rB,YAAa1T,aAAQ,EAARA,EAAU6oF,YAAcppD,aAAY,EAAZA,EAAc3/B,UAE7EvN,EAAQ++P,aAAc,EAAdA,EAA4C,QAA3B,EAAA7xN,aAAY,EAAZA,EAAcynF,qBAAa,eAAExsI,IAExD+2Q,GAAgC,MAEhCD,aAAsB,EAAtBA,EAAwBn/Q,WACxBo/Q,GAAe,wBAAC,UAAiB,CAAC7sQ,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBsS,iBAG1F8uQ,aAAsB,EAAtBA,EAAwBn/Q,UAAWotD,IAAgBA,aAAY,EAAZA,EAAc/rB,cAClE+9O,GAAepiR,EAAE,4BAA6B,CAC1C8M,QAAQ6jB,aAAQ,EAARA,EAAU5Y,OAAQ,OAI7BoqQ,aAAsB,EAAtBA,EAAwBn/Q,WAAWotD,IAAiBA,aAAY,EAAZA,EAAc/rB,cACnE+9O,GAAepiR,EAAE,0BAGrB,IAAIqiR,GAAqC,KAczC,OAbI1xP,aAAQ,EAARA,EAAUtlB,MACVg3Q,GACI,wBAAC,UAAkB,CACfzvK,OAAO,KACPhyG,QAAS,WACLyvD,EAAqB1/B,EAAStlB,GAClC,EACAxK,SAAU,wBAAC,UAAW,CAACgV,YAAa,EAAA9U,qBAAqB+W,OACzD7W,gBAAiB,EAAAC,oBAAoB2xG,wBAM7C,+BAAKhzG,UAAWf,EAAG,SACf,wBAAC,EAAAulM,WAAU,CAACxkM,UAAWf,EAAG,YACrBsxD,aAAY,EAAZA,EAAcqmJ,kBACX,wBAAC,UAAkB,CACfpoJ,UAAW+B,aAAY,EAAZA,EAAcqmJ,gBACzBlwL,YAAa6pC,aAAY,EAAZA,EAAckyN,yBAC3BnyN,qBAAsBA,KAG7BC,aAAY,EAAZA,EAAc7nC,UAAW,EAAAm8N,gBAAgBp5N,UACtC,wBAAC,UAAoB,CACjBrnB,UAAWzB,EACX4uD,UAAW,EAAA3I,cAAcvlC,MACzBqD,aAAa6pC,aAAY,EAAZA,EAAc7pC,cAAe,GAC1Cg8P,eAAenyN,aAAY,EAAZA,EAAc/rB,eAGpC+rB,aAAY,EAAZA,EAAc7nC,UAAW,EAAAm8N,gBAAgBp5N,aAAc8kC,aAAY,EAAZA,EAAcoyN,kBAClE,wBAAC,UAAkB,CAAChtL,OAAQplC,EAAaoyN,mBAGhDr0Q,GAAa,wBAAC,UAAa,MAC5B,+BAAKtO,UAAWf,EAAG,WACf,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVe,UAAWf,EAAG,uBACdoH,MAAOlG,EAAE,0DACToE,OAAOgsD,aAAY,EAAZA,EAAc7pC,cAAe,KAExC,wBAAC,EAAAorH,oBAAmB,CAAC9xI,UAAWf,EAAG,QAAS,yBAEhD,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVe,UAAWf,EAAG,uBACdwM,KAAM,wBAAC,UAAQ,CAACglB,YAAa8/B,aAAY,EAAZA,EAAc9/B,cAC3CpqB,MAAOlG,EAAE,qDACToE,MAAiE,QAA1D,EAAAwwF,aAAa,EAAbA,EAAgBxkC,aAAY,EAAZA,EAAc9/B,oBAA4B,eAAEynI,sBAEvE,wBAAC,UAAa,CACVl4J,UAAWf,EAAG,cACdoH,MAAOlG,EAAE,uDACToE,OAAOgsD,aAAY,EAAZA,EAAc7/B,MAAO,MAGpC,wBAAC,UAAa,CACVjlB,KACI,wBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,UAClC9U,UAAW,EAAAC,qBAAqBsS,cAGxCnN,MAAOlG,EAAE,yDACToE,OAAO,IAAAo8M,uBAAsBt9L,KAEjC,wBAAC,UAAU,KACP,wBAAC,UAAa,CACV5X,KAAM,wBAAC,UAAY,CAACuK,YAAa,EAAA9U,qBAAqBC,WACtDnB,UAAWf,EAAG,4BACdoH,MAAOlG,EAAE,+DACToE,MAAO,wBAAC,UAAkB,CAACwsC,cAA0C,QAA3B,EAAAwf,aAAY,EAAZA,EAAcynF,qBAAa,eAAEjnG,kBAE3E,wBAAC,UAAa,CACV/wC,UAAWf,EAAG,sBACdoH,MAAOlG,EAAE,yDACToE,OAAOgsD,aAAY,EAAZA,EAAc5/B,aAAc,MAG3C,wBAAC,UAAU,KACP,wBAAC,UAAa,CACV3wB,UAAWf,EAAG,mBACdoH,MAAOlG,EAAE,sDACToE,MAAOg+Q,GACP3+N,gBAAiB,EAAAtjD,oBAAoBC,YACrCI,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,yDAGXN,UAAW2iR,KAEf,wBAAC,UAAa,CACVxiR,UAAWf,EAAG,eACdoH,MAAOlG,EAAE,kDACToE,MAAO,wBAAC,UAAK,CAAC2R,OAAQ0a,EAAWxa,SAAU,EAAAC,aAAaC,UAIpE,wBAAC,UAAkB,CACf69B,kBAAmBA,EACnByH,YAAa2U,aAAY,EAAZA,EAAc3U,YAC3BI,iBAAiB,IAAA4mO,+BAA8BryN,KAAiBA,aAAY,EAAZA,EAAckgI,eAC9E7zK,cAAsC,QAAvB,EAAA2zC,aAAY,EAAZA,EAAck4B,iBAAS,eAAEvjF,SACxCyX,YAAoC,QAAvB,EAAA4zC,aAAY,EAAZA,EAAck4B,iBAAS,eAAEj9E,GACtCiyP,aAAcltM,aAAY,EAAZA,EAAcsyN,iBAC5BjlB,kBAAkB,IAAAglB,+BAA8BryN,KAAiBA,aAAY,EAAZA,EAAcg2L,sBAC/EmX,eAA4C,QAA5B,EAAAntM,aAAY,EAAZA,EAAcuyN,sBAAc,eAAE59Q,SAC9Cy4P,aAA0C,QAA5B,EAAAptM,aAAY,EAAZA,EAAcuyN,sBAAc,eAAEt3Q,KAI5D,C,q7BCnNA,kBACA,UACA,WACA,aACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,cAEA,WAEA,WAeMvM,EAAK,UAAWC,KAAK,WAErB6jR,EAAiD3jR,EAAMC,MAAK,SAACC,GAE3D,IAAAU,EAQAV,EAAK,UAPLimC,EAOAjmC,EAAK,gBANLilF,EAMAjlF,EAAK,SALLmvF,EAKAnvF,EAAK,qBAJLukF,EAIAvkF,EAAK,cAHLklF,EAGAllF,EAAK,uBAFL+kF,EAEA/kF,EAAK,0BADL8/E,EACA9/E,EAAK,qBAEDa,GAAM,IAAAC,kBAAgB,EAExB2Z,GAAS,IAAAgY,oBAETyT,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnF+oD,EAAuB,UAAG,EAAA1vF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBs5C,aACtFiB,EAAgB,UAAG,EAAAjhF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBnjC,MAC/EosF,EACF,UAAG,EAAA3vF,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBu5C,qBAE7DD,GAAc,IAAAn5C,mBAAkB9rB,EAAOK,OAAQs0E,GAC/CnsF,GAAO,IAAAsjC,mBAAkB9rB,EAAOK,OAAQ6lE,GACxCt6C,GAAW,IAAAE,mBAAkB9rB,EAAOK,OAAQorB,GAG5CqpD,IAFsB,IAAAhpD,mBAAkB9rB,EAAOK,OAAQu0E,GAIvDtO,GAAwB,IAAA9W,6BAA4BhnE,EAAMojC,GAEhE,OACI,gCACI,gBAAC,UAAyB,CACtB3lC,UAAWA,EACXkY,KAAMstB,EACNn/B,MAAOlG,EAAE,8DAER,SAACb,EAAO6yB,G,MAAiB,OACtB,uBAAKnyB,UAAWf,EAAG,QAAO,gBAAiB+/E,GACtCI,EACG,gBAAC,UAAU,CACPp/E,UAAWf,EAAG,eACdiZ,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,EAAE,kEACf6b,eAAgB,SAAC,G,IAAE+a,EAAQ,WAAEryB,EAAQ,WAAED,EAAU,aAAEE,EAAU,aAAO,OAChE,gBAAC,UAAkB,CACf4gC,gBAAiBA,EACjBxO,SAAUA,EACVryB,SAAUA,EACVD,WAAYA,EACZE,WAAYA,EACZq+Q,gCAA8B,EAC9Bn0L,gBAAiBA,GAR2C,EAWpEzyE,SAAU,SAAC7X,GACP,IAAMohC,GAAW,IAAAy6C,iBAAgB77E,GAC5BohC,IAILrmC,EAAM8c,SAAS7X,GAEfigF,EAAuBjgF,EAAOghC,GAE9B8+C,EAA0B9+C,EAAiB86C,EAAuB,CAC9Dr6C,QAASL,EACTu6C,eAAgB39E,IAExB,EACAmC,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBI,QAASvF,EAAMuF,QACfD,OAAQtF,EAAMsF,OACd0J,UAAWmgF,EACXxuF,aAAckyB,EAAaja,OAG/B,gBAAC,UAAa,CACVg6E,qBAAmB,EACnBzmF,KACI,gBAAC,UAAkB,CACf85B,gBAAiBA,EACjBy9O,gCAA8B,EAC9Bn0L,gBAAiBA,EACjB93D,WAAY5E,EAAa5tB,QAGjCA,OAAyB,QAAlB,EAAA4tB,EAAa5tB,aAAK,eAAEyhC,UAAW,KAG7C69C,GACG,gBAAC,UAAqB,CAClB9iF,QAAS,WACLwjF,EAASh/C,EAAiB86C,EAC9B,I,IAQhC,IAEA,UAAe0iM,C,+BC1If,WAAgB,cAAgB,uCAAuC,0BAA0B,iDAAiD,wBAAwB,+CAA+C,2BAA2B,kDAAkD,sBAAsB,6CAA6C,0BAA0B,iDAAiD,sBAAsB,6CAA6C,qBAAqB,4CAA4C,yBAAyB,gDAAgD,8BAA8B,qDAAqD,wBAAwB,+CAA+C,OAAS,gCAAgC,SAAW,kC,+vCCD/0B,kBAEA,WACA,UACA,WACA,WAGA,WACA,WACA,aAGA,cACA,WACA,WAEa,EAAAniF,oBAAsB,SAACqiF,GAChC,IAAMpvP,GAAW,IAAAC,eAEX,IAAwC10B,EAAMuE,SAA0B,MAAK,GAA5Eu/Q,EAAe,KAAEC,EAAkB,KACpCC,GAAsB,IAAA9tQ,cAAY,IAAA+tQ,2BAA0BH,IAC5DI,GAAgC,gBACtC,aAAgCF,EAAqB,CAACE,IAEtD,IAAMC,GAAoB,eAE1B,OAAOnkR,EAAM0E,SAAQ,WACjB,MAAO,CACHg9L,kBAAmB,SAACz0K,EAAiBuoI,EAAsC1lJ,IACvE,IAAAm9C,UAAS,2BAA2B,SAACrqC,GACjC,GAAKqK,EAAL,CAKA,IAAM6kG,EAAW,IAAIC,SACrBD,EAASE,OAAO,OAAQpvG,GAExB6R,GACI,IAAA89F,mBAAkB,CACdtlG,OAAM,EACN9mB,MAAO,CACHqvJ,UAAS,EACT1lJ,QAAO,GAEXnD,KAAMmlH,IAZd,MAFI,IAAAl9F,YAAW,oCAiBnB,GACJ,EACA+sK,kBAAmB,SAAC10K,EAAiBwlG,GACjCyxJ,EAA8Bp7O,QAAQ,CAClC7b,OAAM,EACNwlG,QAAO,GAEf,EACAmvE,yBAA0B,SAACj1L,GACf,IAAA8lH,EAAY9lH,EAAI,QAEnB8lH,GAKLsxJ,EAAmBtxJ,GACnBh+F,GAAS,IAAA+9F,qBAAoB,CAAEC,QAAO,OALlC,IAAA79F,YAAW,qCAMnB,EACAktK,oBAAqB,SAAC70K,EAAiBwlG,GACnC,IAAM2xJ,EAAaP,EAAqBh2L,cAAc5gE,EAAQwlG,GACzD2xJ,GAKL,IAAAppE,eAAcopE,GAAYC,OAAM,SAACpgR,GAC7BwwB,GACI,IAAA69E,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBuE,oBAC1BnxB,KAAM,CACFoxB,aAAc95B,EAAMwU,YAKxC,KAfI,IAAAmc,YAAW,0CAgBnB,EACAmtK,uBAAwB,SAAC90K,EAAiBwlG,GACtC,IAAM2xJ,EAAaP,EAAqBh2L,cAAc5gE,EAAQwlG,GACzD2xJ,EAKLD,EAAkBr7O,QAAQ,CACtBi7K,IAAKqgE,EACLpgE,IAAK,QANL,IAAApvL,YAAW,8CAQnB,EACAotK,yBAA0B6hF,EAAqBn2L,gBAC/Cu0G,kCAAmCiiF,EACnChiF,sBAAuBiiF,EACvBtiF,6BAA8BmiF,EAEtC,GAAG,CAACvvP,EAAUovP,EAAsBK,EAA+BC,EAAmBH,GAC1F,C,iJCzGA,eAGa,EAAAM,wBACT,SAACl4Q,GACD,gBAACxI,GAAa,MACV,OAAqC,QAArC,EAAAA,EAAM2gR,kBAAkBn4Q,UAAa,eAAEkD,UAAW,EAAAk1Q,8BAA8Bl1Q,OAAO,CAD3F,EAGS,EAAAm1Q,qCACT,SAACr4Q,GACD,gBAACxI,GAAa,MACV,OAAqC,QAArC,EAAAA,EAAM2gR,kBAAkBn4Q,UAAa,eAAE1I,gBAAiB,EAAA8gR,8BAA8B9gR,aAAa,CADvG,C,+BCVJ,WAAgB,KAAO,gCAAgC,KAAO,gCAAgC,KAAO,gCAAgC,OAAS,kCAAkC,OAAS,kCAAkC,SAAW,oC,+BCAtO,WAAgB,OAAS,uDAAuD,SAAW,yD,+BCA3F,WAAgB,YAAY,mCAAmC,IAAM,6BAA6B,eAAe,sCAAsC,wBAAwB,+CAA+C,mBAAmB,0CAA0C,SAAW,kCAAkC,OAAS,gCAAgC,SAAW,kC,u8CCD5X,kBACA,cACA,WAEA,WAEA,WAEA,cACA,cACA,cACA,cAIA,cACA,WAEA,WAIA,cACA,cACA,aACA,WAEA,cACA,aACA,cACA,UACA,WAEM7D,EAAK,UAAWC,KAAK,WAUrB4kR,EAA+B1kR,EAAMC,MAAK,SAACC,G,MACrCqyD,EAA8CryD,EAAK,cAApC+oF,EAA+B/oF,EAAK,mBAAhB+sB,EAAW/sB,EAAK,OAEnDa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXmuG,GAAgB,IAAA3sH,aAAY,EAAA4sH,qBAE5B,IAA4C9iI,EAAMuE,SACpDs+H,EAAcv3D,mBACjB,GAFMA,EAAiB,KAAEE,EAAoB,KAI9CxrE,EAAMoL,WAAU,WACRy3H,EAAcv3D,oBAAsBA,GACpCE,EAAqBq3D,EAAcv3D,kBAG3C,GAAG,CAACu3D,EAAcv3D,oBAElB,IAMM,IAAoDtrE,EAAMuE,SAAkC,CAC9Fg7O,kBAAmB18G,EAAc08G,kBACjCkE,oBAAqB5gH,EAAc4gH,oBACnCxD,wBAAyBp9G,EAAco9G,wBACvCrgG,yBAA0B/c,EAAc+c,yBACxCD,qBAAsB9c,EAAc8c,uBACtC,GANKglI,EAAyB,KAAEC,EAAoB,KAQtD5kR,EAAMoL,WAAU,WACZw5Q,EAAqB,CACjBrlC,kBAAmB18G,EAAc08G,kBACjCkE,oBAAqB5gH,EAAc4gH,oBACnCxD,wBAAyBp9G,EAAco9G,wBACvCrgG,yBAA0B/c,EAAc+c,yBACxCD,qBAAsB9c,EAAc8c,sBAG5C,GAAG,CAAC9c,EAAc08G,kBAAmB18G,EAAc4gH,oBAAqB5gH,EAAco9G,0BAEtF,IAAM4kC,EAAgC,SAAC1/Q,GACnCy/Q,EAAqBz/Q,GAErBsvB,GACI,IAAAusH,qBAAoBzuF,EAAetlC,EAAQ,CACvCsyN,kBAAmBp6O,EAAMo6O,kBACzBkE,oBAAqBt+O,EAAMs+O,oBAC3BxD,wBAAyB96O,EAAM86O,wBAC/BrgG,yBAA0Bz6I,EAAMy6I,yBAChCD,qBAAsBx6I,EAAMw6I,uBAGxC,EAEMmlI,GAAqB,IAAA5uQ,aAAY,EAAA6uQ,0BACjCC,GAA0BF,aAAkB,EAAlBA,EAAqB,KAAM,KAErD,IAA8B9kR,EAAMuE,SAAiCs+H,EAAcrtF,UAAY,MAAK,GAAnGyvO,EAAc,KAAEC,EAAS,KAEhCllR,EAAMoL,WAAU,WACRy3H,EAAcrtF,WAAayvO,GAC3BC,EAAUriJ,EAAcrtF,SAGhC,GAAG,CAACqtF,EAAcrtF,WAQlBx1C,EAAMoL,WAAU,WACW,OAAnB65Q,GAA2BD,GAC3BvwP,GAAS,IAAAusH,qBAAoBzuF,EAAetlC,EAAQ,CAAEuoB,SAAUwvO,IAGxE,GAAG,CAACA,IAEE,QAAoChlR,EAAMuE,SAC5Cs+H,EAAch2G,WAAa,EAAA4gG,iBAC9B,GAFM03J,EAAiB,KAAEz4J,EAAY,KAItC1sH,EAAMoL,WAAU,WACZ,IAAMyhB,EAAYg2G,EAAch2G,WAAa,EAAA4gG,gBACzC03J,IAAsBt4P,GACtB6/F,EAAa7/F,EAGrB,GAAG,CAACg2G,EAAch2G,YAElB,IAMMyxN,EAAkCt+O,EAAM0E,SAAQ,WAClD,OAAO,IAAA65O,qCAAoCt1J,EAAoBh8D,EACnE,GAAG,CAACg8D,EAAoBh8D,IAElBi6I,GAA+B,IAAAhxJ,aAAY,EAAA+wJ,kCAM3C93D,EAAkBnvG,EAAM6yB,WAAW,WAEzC,OACI,gCACI,gBAAC,UAAc,CACXjyB,UAAWf,EAAG,QAAS,iBACvBonG,OAAQg+K,EACRC,UAhDe,SAACj+K,GACxBi+K,EAAUj+K,GAEVxyE,GAAS,IAAAusH,qBAAoBzuF,EAAetlC,EAAQ,CAAEuoB,SAAUyxD,IACpE,IA8CQ,gBAAC,UAAyB,CACtBrmG,UAAWf,EAAG,QAAS,kBACvBsF,MAAOw/Q,EACP3nQ,SAAU6nQ,IAEd,gBAAC,UAAe,CACZjkR,UAAWf,EAAG,QAAS,kBACvB4sH,0BAA2B6xH,EAC3BzxN,UAAWs4P,EACXz4J,aAlCe,SAAC7/F,GACxB6/F,EAAa7/F,GAEb4H,GAAS,IAAAusH,qBAAoBzuF,EAAetlC,EAAQ,CAAEJ,UAAS,IACnE,KAgCkD,QAAzC,EAAAsiF,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkBm3L,8BAC3D,gBAAC,UAAgB,CACb39Q,UAAWf,EAAG,QAAS,4BACvByrE,kBAAmBA,EACnBE,qBApHsB,SAACF,GACnCE,EAAqBF,GAErB72C,GAAS,IAAAusH,qBAAoBzuF,EAAetlC,EAAQ,CAAEq+C,kBAAiB,IAC3E,EAiHgB85M,oBACIT,aAAyB,EAAzBA,EAA2BhlI,wBAC3BglI,aAAyB,EAAzBA,EAA2B/kI,0BACvB,4BACK+kI,aAAyB,EAAzBA,EAA2BhlI,uBACxB,gBAAC,UAAU,CACP/+I,UAAWf,EAAG,gBACd0tD,YAAU,EACVtmD,MAAOlG,EAAE,sDACTF,aAAa,sBACbO,MAAO,EAAAqsD,oBAAoB15C,UAC3BpS,QAAS,WACLkjR,EAA8B,EAAD,KACtBF,GAAyB,CAC5BhlI,sBAAsB,IAE9B,KAGPglI,aAAyB,EAAzBA,EAA2B/kI,2BACxB,gBAAC,UAAU,CACPryF,YAAU,EACV3sD,UAAWf,EAAG,gBACdoH,MAAOlG,EAAE,2DACTF,aAAa,2BACbO,MAAO,EAAAqsD,oBAAoB15C,UAC3BpS,QAAS,WACLkjR,EAA8B,EAAD,KACtBF,GAAyB,CAC5B/kI,0BAA0B,IAElC,KAIZ,OAIhB,gBAAC,UAAgB,CACbh/I,UAAWf,EAAG,QAAS,4BACvBopF,mBAAoBA,EACpBh8D,OAAQA,IAEZ,gBAAC,UAAkB,CACfrsB,UAAWf,EAAG,QAAS,2BACvB8B,QA3EuB,WAC/B8yB,GAAS,IAAAwvG,+BAA6B,GAC1C,EA0EYzhI,UAAW0kK,EACXjgK,MAAOlG,EAAE,uDACTa,SACI,gBAAC,UAAY,CACT0U,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB+W,KAChCjC,YAAa,EAAA9U,qBAAqBC,WAG1CC,gBAAiB,EAAAC,oBAAoBC,MACrCo2C,UAAW,gBAAC,UAAU,QAItC,IAEA,UAAeosO,C,i+BCnPf,kBAEA,cACA,aACA,WACA,aACA,cACA,cAcMW,EAAuDrlR,EAAMC,MAAK,SAACC,GAC7D,IAAAqC,EAAsFrC,EAAK,SAAjFyB,EAA4EzB,EAAK,QAAxE4O,EAAmE5O,EAAK,SAA9DU,EAAyDV,EAAK,UAAnDolR,EAA8CplR,EAAK,cAApCimF,EAA+BjmF,EAAK,eAApBqF,EAAerF,EAAK,WAEnG,OACI,gBAAC,UAAO,CACJe,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YACI4kF,EACI,gBAAC,UAAc,CAAC3kF,UAAQ,EAACE,MAAO,IAAKN,MAAO,EAAAK,wBAAwBH,OAC/D6kF,GAEL,OAGP,WAAM,OACH,gBAAC,UAAM,CACHvlF,UAAWA,EACXQ,MAAO,EAAA2N,gBAAgB6E,YACvBjS,QAASA,EACTC,SACI,gBAAC,UAAY,CACT0U,KAAM,EAAAC,kBACNK,YAAarR,EAAa,EAAAzD,qBAAqBgG,MAAQ,EAAAhG,qBAAqBC,WAGpFu2C,UAAWgtO,EAAgB,gBAAC,UAAU,CAACzjR,UAAW,EAAAC,qBAAqBC,gBAAeyE,EACtFhE,UAAWD,EACXgD,WAAYA,GAEXuJ,EAfF,GAoBnB,IAES,EAAAu2Q,mCAAAA,C,umDC1DT,eAEA,WAMA,WACA,cACA,cAEA,SAAUE,EAA2B1hR,G,oEAG6C,OAFxE,EAAkBA,EAAOklB,QAAvB3c,EAAE,KAAE/J,EAAO,UAE2D,IAAM,IAAAyK,SAChF,IAAA8hP,sCAAqCxiP,K,OAEzC,OAHM1I,EAAwE,UAGzE,aAAiBA,EAAerB,GAIrC,IAAM,IAAA2K,MAAI,IAAApI,6BAA4B,CAAEwH,GAAE,MAHtC,I,OAMA,OAHJ,SAGI,GAAM,UAAkBo5Q,qBAAqBp5Q,I,cAD3C,kBACF,SAAgD,IAD7CnI,EAAK,KAAEqL,EAAO,KAEjBrL,EACA,IAAM,IAAA+I,MAAI,IAAAlI,6BAA4B,CAAEsH,GAAE,EAAEnI,MAAK,MADjD,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAnI,+BAA8B,CAAEuH,GAAE,EAAEkD,QAAO,M,OAArD,S,+BAQR,UAJA,W,kDACI,UAAM,IAAA7B,WAAU,EAAA9I,uBAAuBxB,KAAMoiR,I,cAA7C,S,uHClCJ,cAEa,EAAAz0C,6BAA+B,IAAI,EAAA3nN,gB,4cCFhD,IA+BKha,EA/BL,cACA,aACA,cACA,cACA,cACA,SACA,WAEA,cACA,cAGA,aACA,cACA,cAEA,cAEMtP,EAAK,UAAWC,KAAK,YAa3B,SAAKqP,GACD,kBACA,mBACH,CAHD,CAAKA,IAAAA,EAAO,KAKZ,IAAMkvC,IAAW,MACZlvC,EAAQs2Q,QAAS,8BAClB,EAACt2Q,EAAQu2Q,SAAU,+B,GA+FvB,UA5FgD,SAACxlR,GAEzC,IAAA+8H,EAQA/8H,EAAK,aAPLg4I,EAOAh4I,EAAK,YANL2hC,EAMA3hC,EAAK,YALL+3I,EAKA/3I,EAAK,eAJL60C,EAIA70C,EAAK,kBAHLmjC,EAGAnjC,EAAK,cAFLi4I,EAEAj4I,EAAK,YADLk4I,EACAl4I,EAAK,sBAEDa,GAAM,IAAAC,kBAAgB,EAExB,IAA4B,UAAMuD,SAAkB4K,EAAQs2Q,QAAO,GAAlE5wK,EAAS,KAAE8wK,EAAY,KAE9B,OACI,gDACI,wBAAC,UAAe,CACZ/kR,UAAWf,EAAG,oBACdM,MAAO88H,aAAY,EAAZA,EAAcnkH,KACrB8sQ,mBAAoB7kR,EAAE,oCACtB8kR,YAAahkP,EAAY+xJ,qBACzBxnL,IAAIi3B,aAAa,EAAbA,EAAej3B,KAAM,KACzB6rI,eAAgBA,IAEpB,wBAAC,UAAQ,CAACr3I,UAAWf,EAAG,QAASyW,KAAM,EAAA1G,iBAAiBu8B,QACnD,aAAIh9B,GAAS,SAACkE,EAAKC,GAAa,OAC7B,wBAAC,UAAQ,CACLk6C,WAAS,EACT36C,IAAKS,EACLgD,KAAM,EAAA1G,iBAAiBu8B,MACvB/qC,MAAO,EAAAuO,eAAezN,MACtBP,QAAS,WACLgkR,EAAatyQ,EACjB,EACA9Q,SAAU8Q,IAAQwhG,GAEjB9zG,EAAEs9C,EAAYhrC,IAXU,KAerC,+BAAKzS,UAAWf,EAAG,gBACdg1G,IAAc1lG,EAAQs2Q,QACnB,kDACOpiP,GACC,gDACI,wBAAC,UAAqB,CAClBziC,UAAWf,EAAG,0BACdy8C,QAASjZ,EACT0R,kBAAmBA,IAEtBqjG,IAGP/0G,IAAkB60G,GAChB,wBAAC,UAAe,CACZ7rI,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,kDAKxB8zG,IAAc1lG,EAAQu2Q,SACnB,iDACKvtI,aAAW,EAAXA,EAAah2I,QACV,gDACKg2I,EAAY5gI,KAAI,SAAC+kC,EAASwpO,GAAiB,OACxC,wBAAC,UAAe,CACZjzQ,IAAKizQ,EACLllR,UAAWf,EAAG,WACdy8C,QAASA,EACT2gF,aAAcA,EACd22D,qBAAsB/xJ,EAAY+xJ,qBAClC7+I,kBAAmBA,EACnBkjG,eAAgBA,GARoB,KAahD,wBAAC,UAAe,CACZ5rI,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,oDAQzC,C,0pCCnIA,kBAEA,cACA,aACA,cACA,UAMMlB,EAAK,UAAWC,KAAK,WAErBimR,EAAkC/lR,EAAMC,MAAK,SAACC,GAChD,IAAM8lR,GAAwB,IAAAC,0BAAyB,CACnDtkR,QAASzB,EAAMyB,SAAW,OAG9B,OACI,uBAAKf,UAAWV,EAAMgmR,eAClB,wBAAMtlR,UAAWf,EAAG,SAEhB,4BAAUmmR,GACN,gBAAC,UAAI,KAAK9lR,MAK9B,IAEA,UAAe6lR,C,kTC5Bf,eACA,WAEM50P,EAA2B,GAE3BlO,EAAkB,CACpB,EAAArjB,WAAWqzC,YACX,EAAArzC,WAAWo6G,cACX,EAAAp6G,WAAWyxB,YACX,EAAAzxB,WAAW0nB,YACX,EAAA1nB,WAAW0xB,KAGT5N,EAAc,CAAC,EAAA9jB,WAAW4xB,WAgChC,UAxBiB,SAACzwB,EAAcia,EAAqBe,GACjD,IAAID,EAAM,MACH,IAAA6H,eAAc5iB,EAAGowB,EAA0BnW,IAmBlD,OAhBIe,aAAI,EAAJA,EAAM0V,cACN3V,EAAS,EAAH,KACCA,IACA,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,KAIT,OAAhCA,EAAO,EAAApb,WAAW8xB,YAClB5V,EAAS,EAAH,SACCA,IACA,IAAA6H,eAAc5iB,EAAG2iB,EAAa1I,EAAQja,EAAE,4DACxC,IAAA4wB,kCAAiC5wB,EAAG2iB,EAAa1I,KACjD,IAAA6I,eAAc9iB,EAAG2iB,EAAa1I,EAvB5B,MA2BNc,CACX,C,0GC3Ca,EAAAmhO,0BAA4B,SAAC,GACtC,OAD8C,QAElD,C,q7BCJA,kBAEA,aACA,cACA,cACA,WAEMp9O,EAAK,UAAWC,KAAK,WA8B3B,UAvBkD,SAACI,GACvC,IAAAwF,EAA0BxF,EAAK,WAAnBU,EAAcV,EAAK,UAGjC+G,GACAlG,GAHQ,IAAAC,kBAAgB,GAEhB0E,EACN,+CACA,oDAER,OACI,uBAAK9E,WAAW,aAAGf,EAAG,gBAAiBe,IACnC,uBAAKA,UAAWf,EAAG,uBACf,uBACIe,UAAWf,EAAG,SAAU,CACpBsmR,eAAgBzgR,EAChB0gR,eAAgB1gR,OAI5B,uBAAK9E,UAAWf,EAAG,wBAAyBoH,GAGxD,C,swCCnCA,kBACA,cAgBa,EAAAyvG,2BAA6B,SAAe,G,IACrDP,EAAkB,qBAEZ,IAAkD,UAAM5xG,SAAyB,UAAcZ,SAAQ,GAAtG0iR,EAAoB,KAAEC,EAAuB,KAC9C,IAAgC,UAAM/hR,SAAc,IAAG,GAAtD86F,EAAW,KAAEknL,EAAc,KAsBlC,OApBA,UAAMn7Q,WAAU,WACZk7Q,EAAwB,UAAcviR,SAEtCoyG,IACKt9D,MAAK,SAAC,G,IAAA,SAAC50C,EAAK,KAAE5B,EAAO,KAClB,GAAI4B,EAGA,OAFAsiR,EAAe,SACfD,EAAwB,UAAcpiR,SAASD,IAInDsiR,EAAelkR,GAAW,IAC1BikR,EAAwB,UAAcliR,GAC1C,IACCigR,OAAM,SAACpgR,GACJsiR,EAAe,IACfD,EAAwB,UAAcpiR,SAASD,GACnD,GACR,GAAG,CAACkyG,KAEG,IAAAzxG,UAAQ,WACX,MAAO,CACH26F,YAAW,EACXC,kBAAmB+mL,EACnBr8C,oBAAqBu8C,EAE7B,GAAG,CAAClnL,EAAagnL,GACrB,C,4aCjDA,kBACA,cAEa,EAAA9oF,iCAAmC,SAC5Cp3L,EACA+0L,EACA1zJ,G,QAEA,IAAKA,IAAY0zJ,IAAmB/0L,EAChC,OAAO,KAMX,KAHmD,QAA1B,EAAA+0L,EAAexqH,mBAAW,eAAES,MAAK,SAAChpE,GACvD,QAASA,EAAW45E,sBAAuB,aAAU55E,EAAWuzL,sBACpE,KAEI,OAAO,KAGX,IAAMhrH,EAAmD,GAEnD81M,GAAkB,aAAMtrF,aAAc,EAAdA,EAAgBxqH,aAAa,SAACvoE,GAAe,OAAAA,aAAU,EAAVA,EAAYiE,EAAZ,IACrEq6Q,GAAuB,aAAMtgR,aAAK,EAALA,EAAOuqE,aAAa,SAACvoE,GAAe,OAAAA,aAAU,EAAVA,EAAYiE,KAAM,EAAlB,IAqBvE,OAnBe,QAAf,EAAAo7B,aAAO,EAAPA,EAAS8L,cAAM,SAAEh3B,SAAQ,SAACk3B,G,QAChBrrC,EAAaq+Q,EAAgBhzO,EAAMpnC,IACzC,GAAKjE,EAAL,CAIA,IAAMu+Q,EAAkBD,EAAqBjzO,EAAMpnC,IAEnDskE,EAAY94D,KAAK,CACbxL,GAAIonC,EAAMpnC,GACVmlE,oBAAoB,aAAUppE,aAAU,EAAVA,EAAYuzL,uBACpCvzL,EAAWuzL,uBACXgrF,aAAe,EAAfA,EAAiBn1M,sBAAsB,EAC7CT,gBAA+C,QAA/B,EAAA3oE,aAAU,EAAVA,EAAY45E,2BAAmB,eAAE75E,SAASw+Q,aAAe,EAAfA,EAAiB51M,gBAC3EC,cAA6C,QAA/B,EAAA5oE,aAAU,EAAVA,EAAY45E,2BAAmB,eAAE91E,OAAOy6Q,aAAe,EAAfA,EAAiB31M,cACvEH,aAAcp9B,EAAMo9B,cAXxB,CAaJ,IAEO,EAAP,KACOzqE,GAAK,CACRuqE,YAAW,GAEnB,C,q7BChDA,kBAEA,WACA,cACA,cAOMi2M,EAA+B3mR,EAAMC,MAAK,SAACC,G,UACrC26M,EAAoB36M,EAAK,gBAE3BiI,GAAa,IAAAw+B,oBAAmBk0K,EAAgB+rE,WAAY/rE,EAAgBgsE,UAElF,OACI,gBAAC,UAAY,CACTjgP,QACI,gBAAC,UAAa,CACVL,SAAU,CACN8hB,QAA+B,QAAtB,EAAAwyJ,EAAgBnnL,cAAM,eAAE20B,QACjCC,KAA4B,QAAtB,EAAAuyJ,EAAgBnnL,cAAM,eAAE40B,KAC9B1hC,QAA+B,QAAtB,EAAAi0L,EAAgBnnL,cAAM,eAAE9M,SAErC/M,OAAO,mBACP28M,sBAAoB,IAG5BnkL,KAAMlqC,GAGlB,IAEA,UAAew+Q,C,kuCClCf,kBAEA,cACA,cACA,WAMA,cACA,cACA,aAEA,cACA,cACA,YACA,cAEM9mR,EAAK,UAAWC,KAAK,WAYrBgnR,EAA4B,IAAI93P,IAA2C,CAAC,qCAE5E+3P,EAA4C/mR,EAAMC,MAAK,SAACC,GAClD,IAAAsiD,EAAoFtiD,EAAK,MAAlFkwC,EAA6ElwC,EAAK,gBAAjE6gO,EAA4D7gO,EAAK,uBAAzCshO,EAAoCthO,EAAK,iBAAvBqhO,EAAkBrhO,EAAK,cAEzFwiD,EAAuBF,EAAK,SAAlB87F,EAAa97F,EAAK,SAE9B,IAA8BxiD,EAAMuE,UAAS,GAAK,GAAjDsnO,EAAU,KAAEm7C,EAAa,KAK1BnmR,EAAe,8BAAuB6hD,GAEtCukO,EAAuBjnR,EAAM0E,SAAQ,WACvC,OAAO45I,EAASr8F,QAAO,SAACC,EAAK/iC,GACzB,OAAO+iC,GAAO6+K,EAAuB5xM,IAAIhQ,EAAKs/H,SAAW,EAAI,EACjE,GAAG,EACP,GAAG,CAACH,EAAUyiF,IAEd,OACI,uBAAKngO,UAAWf,EAAG,oCAAqCgT,IAAK6vC,EAAQ,qBAAsB7hD,GACvF,uBAAKD,UAAWf,EAAG,oCACf,uBAAKe,UAAWf,EAAG,sCAAuC8B,QAfvD,WACXqlR,GAAen7C,EACnB,GAcgB,uBAAKjrO,UAAWf,EAAG,qCACf,gBAAC,UAA2B,CACxB6iD,SAAUA,EACVzP,aAAa7C,aAAe,EAAfA,EAAiB6C,cAAe,QAE/C44L,GAAc3iO,QAAQ+9Q,IACpB,gBAAC,UAAS,CACNrmR,UAAWf,EAAG,oCACduB,MAAO,EAAAyS,mBAAmBvB,MAC1BkC,eAAa,GAEZyyQ,IAIb,gBAAC,UAAU,CACPrmR,UAAWf,EAAG,0CACdgC,UAAW,EAAAC,qBAAqBsS,YAChC6U,SAAU4iN,MAIrBA,GACGvtF,EAAS/mI,KAAI,SAAC4H,GACF,IAAAs/H,EAAsBt/H,EAAI,QAAjBu5O,EAAav5O,EAAI,SAE5BqxO,EAAYzvB,EAAuB5xM,IAAIsvH,GAE7C,OAAIqoI,EAA0B33P,IAAIsvH,GACvB,KAIP,uBAAK5rI,IAAK4rI,EAAS79I,UAAWf,EAAG,uBAC7B,gBAAC,UAAQ,CACLe,UAAWf,EAAG,6BACdimF,QAAS0qK,EACTxzO,SAAU,WACFwzO,EACAhvB,EAAiB/iF,GAEjB8iF,EAAc9iF,EAEtB,EACA59I,aAAc,UAAGA,EAAY,YAAI49I,GACjCx3I,MACI,wBAAMrG,UAAWf,EAAG,mBAChB,gBAAC,UAAsB,CAACsD,KAAMs7I,QAIzC,aAASi6G,IACN,gBAAC,UAAK,CACF93P,UAAWf,EAAG,2BAA4B,CACtC,qCAAsC2wP,IAE1C15O,OAAQ4hP,EACR1hP,SAAU,EAAAC,aAAaC,MAK3C,IAGhB,IAEA,UAAe6vQ,C,+BCzHf,WAAgB,MAAQ,8CAA8C,OAAS,+CAA+C,SAAW,iD,+BCAzI,WAAgB,MAAQ,mDAAmD,OAAS,oDAAoD,SAAW,sD,q7BCDnJ,kBAEA,cAOMG,EAAgClnR,EAAMC,MAAK,SAACC,GACtC,IAAAmpB,EAAoBnpB,EAAK,IAApB2tI,EAAe3tI,EAAK,WAEjC,OACI,gBAAC,UAAS,CACN+4E,aAAc5vD,EAAI7L,cAClBzX,OAAQsjB,EAAI9L,YACZuP,KAAMzD,EAAImzB,YACVG,SAAUtzB,EAAIuzB,gBACdm3D,gBAAiB85B,GAG7B,IAEA,UAAeq5I,C,6JCvBf,kBACA,WACA,WACA,cACA,cACA,cAEA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cAEA,cAWMrnR,EAAK,UAAWC,KAAK,WAIrBqnR,EAAkD,UAAMlnR,MAAK,SAACC,G,UACxDm0B,EAAqEn0B,EAAK,UAA/D4lB,EAA0D5lB,EAAK,KAAzDgP,EAAoDhP,EAAK,UAA9CW,EAAyCX,EAAK,aAAhCU,EAA2BV,EAAK,UAArBq0B,EAAgBr0B,EAAK,YAE1Ea,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAoE,CACtE,CACIC,aAAc,WAAM,2CAAOtyB,EAAE,kDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,qBACrC0zB,OAAQ,SAAC6P,GAAuC,+BAAC,UAAM,CAACh3B,GAAIg3B,EAAI2+H,WAAhB,EAChDnhK,UAAWf,EAAG,gBAAiB,qBAC/BgB,aAAc,MAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,sDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAAC6P,G,UAAuC,OAC5C,wBAAC,UAAY,CACTwD,QACI,wBAAC,UAAa,CACVL,SAAU,CACN8hB,QAAmB,QAAV,EAAAjlB,EAAI1P,cAAM,eAAE20B,QACrBC,KAAgB,QAAV,EAAAllB,EAAI1P,cAAM,eAAE40B,KAClB1hC,QAAmB,QAAV,EAAAwc,EAAI1P,cAAM,eAAErC,aAEzBxX,OAAO,mBACP28M,sBAAoB,K,EAKpC51N,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,uDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,8BACrC0zB,OAAQ,SAAC6P,G,UAAuC,OAC5C,wBAAC,UAAY,CACTwD,QACI,wBAAC,UAAa,CACVL,SAAU,CACN8hB,QAAwB,QAAf,EAAAjlB,EAAIzP,mBAAW,eAAE00B,QAC1BC,KAAqB,QAAf,EAAAllB,EAAIzP,mBAAW,eAAE20B,KACvB1hC,QAAwB,QAAf,EAAAwc,EAAIzP,mBAAW,eAAEtC,aAE9BxX,OAAO,mBACP28M,sBAAoB,K,EAKpC51N,UAAWf,EAAG,gBAAiB,8BAC/BgB,aAAc,eAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,8DAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,iCACrCkrI,YAAU,KACN,EAAC,EAAAC,oBAAoBjvB,SAAS,E,GAElCxoF,OAAQ,SAAC6P,GAAuC,OAC5C,wBAAC,UAAe,CACZ9Z,OAAQ8Z,EAAI9Z,OACZwrE,WAAY1xD,EAAI0xD,WAChBC,kBAAmB3xD,EAAI2xD,mBAJiB,EAOhDn0F,UAAWf,EAAG,gBAAiB,iCAC/BgB,aAAc,kBAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,qDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,8BACrC0zB,OAAQ,SAAC6P,GACL,OAAO,wBAAC,UAAQ,CAAChd,KAAMgd,EAAI6gC,YAC/B,EACArjE,UAAWf,EAAG,gBAAiB,8BAC/BgB,aAAc,eAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,0DAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,6BACrC0zB,OAAQ,SAAC6P,GACL,OAAO,wBAAC,UAAQ,CAACtW,KAAMsW,EAAIxpB,UAAWo6F,WAtF5B,cAsF2Dx7D,WAAS,EAAC7nC,QAAM,GACzF,EACA/P,UAAWf,EAAG,gBAAiB,6BAC/BgB,aAAc,cAElB,CACIwyB,aAAc,WAAM,+BAAC,UAAY,CAACzc,YAAa,EAAA9U,qBAAqBC,UAAhD,EACpBuxB,gBAAiBzzB,EAAG,gBAAiB,iCACrCkrI,YAAU,KACN,EAAC,EAAAC,oBAAoBjvB,SAAS,E,GAElCxoF,OAAQ,SAAC6P,GACL,OAAO,wBAAC,UAAiB,CAACuO,cAAevO,aAAG,EAAHA,EAAKuO,eAClD,EACA/wC,UAAWf,EAAG,gBAAiB,iCAC/BgB,aAAc,kBAElB,CACIwyB,aAAc,WAAM,OAChB,wBAAC,UAAa,CACV/c,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,WAJtB,EAOpB2c,gBAAiBzzB,EAAG,gBAAiB,6BACrCkrI,YAAU,KACN,EAAC,EAAAC,oBAAoBjvB,SAAS,E,GAElCxoF,OAAQ,SAAC6P,GACL,OAAO,wBAAC,UAAQ,CAACkuJ,cAAcluJ,aAAG,EAAHA,EAAK4mD,YACxC,EACAppF,UAAWf,EAAG,gBAAiB,6BAC/BgB,aAAc,cAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,sDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAAC6P,GACL,OAAO,wBAAC,UAA6B,CAAC9Z,OAAQ8Z,EAAI9Z,QACtD,EACA1oB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,WAKhBozB,EAAa,SAAClY,EAAqBqnB,GACrC,MAAO,CAAC,CACZ,EAEA,OACI,+BAAKxiC,UAAWf,EAAG,UACf,wBAAC,UAAa,CAAgCw0B,UAAWA,EAAWnlB,UAAWA,EAAW4W,KAAMA,IAC3F,SAACA,EAAMwO,GAAmB,OACvB,wBAAC,UAAK,CACFzzB,aAAcA,EACdD,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACN5W,UAAWA,EACX+kB,WAAYA,EACZM,YAAaA,EACbD,eAAgBA,GATG,IAe3C,IAEA,UAAe6yP,C,+BC7Lf,WAAgB,OAAS,6BAA6B,SAAW,+B,++BCDjE,kBAEA,cACA,WACA,WACA,aAEa,EAAAhuM,oBAAsB,CAC/BC,OAAQ,SAAC1iB,EAAiClJ,GACtC,OAAO,wBAAC,UAAM,CAACl3C,KAAMk3C,EAAY,EAAA4uG,eAAejwH,MAAQ,EAAAiwH,eAAel4E,OAAQxtB,KAAMA,GAAQ,IACjG,EACA6zM,KAAM,WACF,OAAO,wBAAC,UAAQ,CAACj0P,KAAM,EAAAC,mBAC3B,GAGS,EAAAgvH,2BAA6B,SACtC/tG,EACApP,EACAvO,GAEA,YAFA,IAAAA,IAAAA,EAAA,gBAEO,IAAAutQ,oBAAmB5vP,EAAMpP,GAAM,EAAAi/P,8BAA8BC,OAAQztQ,EAChF,C,kYCtBA,kBAEA,UAEA,WACA,WACA,cAGA,cACA,cACA,WACA,aACA,WAwBM0tQ,EAAkD,UAAMtnR,MAAK,SAACC,GAE5D,IAAAiF,EAYAjF,EAAK,MAXL0F,EAWA1F,EAAK,YAVL8c,EAUA9c,EAAK,SATLqF,EASArF,EAAK,WARLmF,EAQAnF,EAAK,WAPLoF,EAOApF,EAAK,SANLwF,EAMAxF,EAAK,WALLsF,EAKAtF,EAAK,OAJLuF,EAIAvF,EAAK,QAHLyF,EAGAzF,EAAK,gBAFLuC,EAEAvC,EAAK,gBADLy9J,EACAz9J,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CACH,EAAAskE,kBAAkBC,KAClB,EAAAD,kBAAkBrjC,UAClB,EAAAqjC,kBAAkB38C,SAClB,EAAA28C,kBAAkBE,aAEjBh6C,QAAO,SAAC5F,GACL,OAAIq0I,IACQA,EAAgBl4I,SAAS6D,EAIzC,IACC/R,KAAI,SAAC+R,GACF,MAAO,CACHriB,MAAOlG,EAAE,EAAAymR,qBAAqBl+P,IAC9BnkB,MAAOmkB,EAEf,GACR,GAAG,CAACvoB,EAAG48J,IA2CP,OACI,wBAAC,UAAqB,CAClBpqE,eAAgBpuF,EAChBS,YAAaA,EACbvD,QAASA,EACT+C,SAXa,SAACD,GAClB6X,EAAS7X,EACb,EAUQI,WAAYA,EACZyB,aA1Ba,SAACN,GAClB,OAAKA,EAKD,wBAAC,UAA0B,CACvBwyC,iBAAe,EACfjyC,MAAO,wBAAC,UAAiB,CAACqiB,OAAQ5iB,EAAOvB,MAAOqP,eAAa,MAN1D,IASf,EAgBQlS,cAjDc,SAClBpC,EACAmC,EACAuD,GAEA,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAO,wBAAC,UAAyB,KAAKjC,GAAQ0F,GAAe,IAGjE,GAAuB,IAAnBvD,EAAQF,OAAc,CACtB,IAAMsxF,EAAcpxF,aAAO,EAAPA,EAAU,GAE9B,OAAO,wBAAC,UAAyB,KAAKnC,GAAQuzF,aAAW,EAAXA,EAAaxsF,MAC/D,CAEA,OACI,wBAAC,UAAyB,KAAK/G,GAC3B,wBAAC,UAA+B,CAAC4C,MAAOT,EAAQF,SAG5D,EA8BQuF,eAXe,SAAChB,GAAuD,OAAAA,EAAOvB,KAAP,EAYvE1C,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACT5E,aAAa,mBACb+G,QACIjC,EACM,WACIqX,EAAS,GACb,OACAxW,GAItB,IAEA,UAAe+gR,C,40DC/DN,EAAAE,yBAJT,SAAmC56Q,G,kDAC/B,UAAM,IAAAY,WAAU,EAAA24D,8BAA8BjjE,MA5DvC,SAAWU,G,oFAOuD,OAN/D,EAAyDA,EAAOklB,QAA9DpU,EAAU,aAASwJ,EAAQ,QAAE5a,EAAS,YAAE6hC,EAAU,aAEpDj/B,EAAK,KACJgY,GAG8D,IAAM,IAAArR,SACvE,IAAA46Q,iCAAgCnkR,EAAW6hC,K,OAEkB,OAH3D/mB,EAA+D,SAGJ,IAAM,IAAAvR,SACnE,IAAAq4D,iCAAgC5hE,EAAW6hC,K,OAI/C,OALMl3B,EAA2D,SAG3DqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GACtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,eACtD6a,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MACF,IAAA26Q,2BAA0B,CACtBpkR,UAAS,EACT6hC,WAAU,EACVhwB,oBAAqB,CAAEuJ,iBAAkBhK,O,OAJjD,S,iBASJ,UAAM,IAAA3H,MAAI,IAAA46Q,oCAAmC,CAAEzhR,MAAK,EAAEwO,WAAU,EAAEpR,UAAS,EAAE6hC,WAAU,M,cAAvF,UAMI,IAAAh/B,yBAAwB7C,GACf,GAAM,UAAmBskR,0BAA0BziP,EAAY,EAAF,KAC/Dj/B,GAAK,CACR2Y,KAAMnK,MAHV,M,cACAtH,EAAS,S,aAKA,SAAM,UAAkBy6Q,iCAAiCvkR,EAAW6hC,EAAY,EAAF,KAChFj/B,GAAK,CACR2Y,KAAMnK,M,OAFVtH,EAAS,S,wBAMP,IAAoBA,EAAM,GAAzBpJ,EAAK,KAAEqJ,EAAQ,KAElBrJ,EACA,IAAM,IAAA+I,MAAI,IAAA+6Q,oCAAmC,CAAE5hR,MAAK,EAAEwO,WAAU,EAAE1Q,MAAK,EAAEV,UAAS,EAAE6hC,WAAU,MAD9F,O,QAEA,OADA,SACA,I,QAGJ,UAAM,IAAAp4B,MAAI,IAAAg7Q,sCAAqC,CAAE7hR,MAAK,EAAEwO,WAAU,EAAErH,SAAQ,EAAE/J,UAAS,EAAE6hC,WAAU,M,eAAnG,UAEA,IAAAtlB,2BAA0BnL,EAAYrH,EAAU,EAAAg5D,uC,0BAKpD,S,SAhFJ,eACA,WASA,WACA,cACA,cACA,cACA,WACA,WACA,U,67CChBA,kBACA,WAOM2hN,EAAkC,SAAC/nR,GAC7B,IAAA0W,EAA+B1W,EAAK,YAAvBoW,EAAkBpW,EAAK,KAAdk5C,EAAI,EAAKl5C,EAAjC,wBAEN,OACI,yBAAKwB,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAYD,MAAM,8BAAiC8nC,GACvF,wBAAMqqE,EAAE,IAAIC,EAAE,IAAIhiH,MAAM,KAAKsK,OAAO,KAAKU,KAAK,SAC9C,2BAAS4mC,OAAO,4CAA4C5mC,KAAMkK,IAG9E,EAEAqxQ,EAAcj2Q,YAAc,gBAE5B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB6U,WAG7B,EAAA1E,WAAAA,EACT,UAAeg2Q,C,4BC3BH71K,E,0kBAAZ,SAAYA,GACR,gDACA,oBACA,gCACA,+BACA,iCACA,4CACA,wDACA,0DACA,4CACA,kDACA,4CACA,0CACA,yEACA,0BACA,4BACA,gDACA,yBACA,0CACA,0CACA,+BACA,oBAGA,wCACA,+BACA,kCACH,CA3BD,CAAYA,IAAiB,oBAAjBA,EAAiB,KA6B7B,kBAKI,WAAYjvG,EAAyBsV,GACjC,QAAK,UAACtV,IAAK,K,OAEX,EAAKA,KAAOA,EACZ,EAAKsV,QAAUA,EAKfmrC,OAAO8yC,eAAe,EAAMqlK,EAAanlK,W,CAC7C,CACJ,OAhBkC,OAgBlC,EAhBA,CAAkC2uD,OAArB,EAAAw2G,aAAAA,EAkBA,EAAA5pJ,oBAAsB,SAACluG,GAChC,OAAOA,aAAiB83P,CAC5B,C,+3BCjDA,kBAEA,WACA,YAQa,EAAAmsB,iBAAwD,CACjEC,MAAO,0BACPC,OAAQ,2BACRC,SAAU,6BACVC,cAAe,IAGnB,IAAMC,EAAkCvoR,EAAMC,MAAK,SAACC,GACxC,IAAAwd,EAA0Bxd,EAAK,OAAvBsU,EAAkBtU,EAAK,cAE/Ba,GAAM,IAAAC,kBAAgB,EAExBiG,EAAQyW,EAAS3c,EAAE,EAAAmnR,iBAAiBxqQ,IAAW,KACrD,OAAKzW,EAKD,gBAAC,UAAS,CAACwN,UAAQ,EAACD,cAAeA,EAAepT,MAAO,EAAAyS,mBAAmB9R,SAAUlB,aAAa,cAC9FoG,GALE,IAQf,IAEA,UAAeshR,C,y3BCnCf,kBACA,WAQMC,EAAgC,SAACtoR,GAC3B,IAAA2B,EAAkC3B,EAAK,UAA5BmW,EAAuBnW,EAAK,QAAnBU,EAAcV,EAAK,UAE/C,OACI,uBAAKwB,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,YAAYD,MAAM,6BAA6B1Q,UAAWA,GAC1F,wBACI6Q,EAAE,oQACF/E,KAAM7K,EACNwU,QAASA,GAAW,EACpB7E,SAAS,YAIzB,EAEAg3Q,EAAYx2Q,YAAc,cAE1B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBkS,WAG3B,EAAA/B,WAAAA,EACT,UAAeu2Q,C,uHC9Bf,eAEa,EAAAvyH,gBAAkB,SAACwyH,GAC5B,OAAQA,GACJ,IAAK,gBACD,OAAO,EAAA1vQ,aAAaohE,YAExB,IAAK,gBACD,OAAO,EAAAphE,aAAaqhE,YAExB,IAAK,gBACD,OAAO,EAAArhE,aAAa85J,YAExB,IAAK,QACD,OAAO,EAAA95J,aAAa2oC,MAExB,QACI,OAAO,KAGnB,EAEa,EAAAgnO,mBAAqB,SAAC75K,GAC/B,OAAQA,GACJ,KAAK,EAAA91F,aAAaohE,YACd,MAAO,gBAEX,KAAK,EAAAphE,aAAaqhE,YACd,MAAO,gBAEX,KAAK,EAAArhE,aAAa85J,YACd,MAAO,gBAEX,KAAK,EAAA95J,aAAa2oC,MACd,MAAO,QAEX,QACI,OAAO,KAGnB,C,6LCzCA,cAea,EAAAu9J,iBAAmB,SAAChyL,EAAiBqiD,EAAkBx/D,GAA6C,OAC7G3M,KAAM,EAAAu2D,qBACNzsC,OAAM,EACNqiD,SAAQ,EACRx/D,QAAO,EAJsG,EAOpG,EAAA01C,wBAA0B,SAACv4B,GAAoD,OACxF9pB,KAAM,EAAAw2D,4BACN1sC,OAAM,EAFkF,EAK/E,EAAAw4B,kBAAoB,SAACG,GAA4D,OAC1FziD,KAAM,EAAAy2D,oBACNhU,cAAa,EAF6E,EAKjF,EAAA+iO,YAAc,WAA0B,OACjDxlR,KAAM,EAAAW,qBAD2C,EAIxC,EAAA8kR,cAAgB,WAA4B,OACrDzlR,KAAM,EAAAgB,uBAD+C,EAI5C,EAAA63H,YAAc,SAAC/3H,GAAqC,OAC7Dd,KAAM,EAAAa,qBACNC,MAAK,EAFwD,C,iVCvCjE,eACA,WACA,WACA,WA+CMswH,EAAa,SAAChjF,GAChB,OAAQA,aAAI,EAAJA,EAAMpsC,OACV,KAAK,EAAAkoO,qBAAqBw7C,gBACtB,OAAIt3O,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,uBAEJ,wBAEX,KAAK,EAAA44G,qBAAqBy7C,WACtB,OAAIv3O,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,kBAEJ,mBAEX,KAAK,EAAA44G,qBAAqB07C,WACtB,OAAIx3O,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,kBAEJ,mBAEX,KAAK,EAAA44G,qBAAqB27C,eACtB,OAAIz3O,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,sBAEJ,uBAEX,QACI,OAAO,KAGnB,EAmCS,EAAAtuD,sBAjCqB,SAC1B/rD,EACAm3B,GAEA,IAAMmsH,EAAoBtjJ,EAAa,EAAAiwC,qBAAqBqzG,mBAE5D,OAAO,EAAP,GACInhJ,UAAWnC,EAAa,EAAAiwC,qBAAqB4yK,0BAAuBz2N,EAEpE6iF,UAAWjvE,EAAa,EAAAiwC,qBAAqBu1C,uBAAoBp5F,EAEjEimG,gBAAiBryF,EAAa,EAAAiwC,qBAAqBoiD,uBAAoBjmG,EACvEmmG,cAAevyF,EAAa,EAAAiwC,qBAAqBsiD,qBAAkBnmG,EAEnE8pC,cAAeotH,GAAqBA,OAAoBl3J,EAExDwlG,WAAY5xF,EAAa,EAAAiwC,qBAAqB3gB,kBAAeljC,EAC7D4uC,cAAeh7B,EAAa,EAAAiwC,qBAAqB1tC,qBAAkBnW,EACnEovC,mBAAoBx7B,EAAa,EAAAiwC,qBAAqB6/I,sBAAmB1jM,EAEzEkvH,eAAgBt7G,EAAa,EAAAiwC,qBAAqB8qE,sBAAmB3uH,EACrEmvH,aAAcv7G,EAAa,EAAAiwC,qBAAqB+qE,oBAAiB5uH,EAEjEgvH,oBAAqBp7G,EAAa,EAAAiwC,qBAAqB4qE,uBAAoBzuH,EAC3EivH,kBAAmBr7G,EAAa,EAAAiwC,qBAAqB6qE,qBAAkB1uH,GArG9C,SAC7B2pE,GAEA,OAAQA,GACJ,KAAK,EAAA84M,4BAA4B7/Q,KAC7B,MAAO,CACHkgB,OAAQ,EAAAkhE,sBAAsBphF,MAGtC,KAAK,EAAA6/Q,4BAA4BriJ,SAC7B,MAAO,CACHt9G,OAAQ,EAAAkhE,sBAAsBo8C,UAGtC,KAAK,EAAAqiJ,4BAA4Bx+L,SAC7B,MAAO,CACHnhE,OAAQ,EAAAkhE,sBAAsBC,UAGtC,KAAK,EAAAw+L,4BAA4B78P,QAC7B,MAAO,CACH9C,OAAQ,EAAAkhE,sBAAsBp+D,SAGtC,KAAK,EAAA68P,4BAA4BpjP,SAC7B,MAAO,CACHvc,OAAQ,EAAAkhE,sBAAsB3kD,UAGtC,KAAK,EAAAojP,4BAA4BpzN,WAC7B,MAAO,CACHA,YAAY,GAGpB,KAAK,EAAAozN,4BAA4Br/I,QAC7B,MAAO,CACHs/I,eAAe,GAGvB,QACI,MAAO,CAAC,EAGpB,CA6DWlzJ,CAAyB57G,EAAa,EAAAiwC,qBAAqB8lB,eAAa,CAE3Eo8F,QAASh4C,EAAWhjF,SAAS/qC,GAErC,C,qaC5Ga,EAAAq/I,sBAAwB,qDAExB,EAAAO,qBAAuB,oDACvB,EAAAy+B,2BAA6B,0DAC7B,EAAAG,2BAA6B,0DAC7B,EAAAD,6BAA+B,4DAE/B,EAAA7+B,mBAAqB,kDACrB,EAAA++B,yBAA2B,wDAC3B,EAAAG,yBAA2B,wDAC3B,EAAAD,2BAA6B,0DAE7B,EAAAG,OAAS,sCACT,EAAAE,SAAW,wCACX,EAAAC,yBAA2B,wDAC3B,EAAAE,yBAA2B,wDAC3B,EAAAD,2BAA6B,yD,qLCtB1C,eAaa,EAAA/0J,mBAAqB,SAACntB,GAAmE,OAClGL,KAAM,EAAA+tB,uBACN1tB,YAAW,EAFuF,EAKzF,EAAAktB,wBAA0B,SAACltB,GAAiE,OACrGL,KAAM,EAAA8qL,6BACNzqL,YAAW,EAF0F,EAK5F,EAAAwtB,0BAA4B,SACrCxtB,EACAw5F,GACmC,OACnC75F,KAAM,EAAAgrL,+BACN3qL,YAAW,EACXw5F,cAAa,EAHsB,EAM1B,EAAAjsE,wBAA0B,SACnCvtB,EACAS,GACiC,OACjCd,KAAM,EAAAirL,6BACN5qL,YAAW,EACXS,MAAK,EAH4B,C,q7BCnCrC,kBACA,WACA,cAOA,cACA,cACA,cACA,cAGA,cAEA,aACA,cACA,cAeMpE,EAAK,UAAWC,KAAK,WAErBqpR,EAA8C,UAAMlpR,MAAK,SAACC,G,MAExDm0B,EAaAn0B,EAAK,UAZL4lB,EAYA5lB,EAAK,KAXLgP,EAWAhP,EAAK,UAVL60C,EAUA70C,EAAK,kBATLW,EASAX,EAAK,aARLU,EAQAV,EAAK,UAPLy5I,EAOAz5I,EAAK,WANLi7C,EAMAj7C,EAAK,WALLq0B,EAKAr0B,EAAK,YAJLuuI,EAIAvuI,EAAK,mBAHLwuI,EAGAxuI,EAAK,sBAFLyuI,EAEAzuI,EAAK,iBADL2kC,EACA3kC,EAAK,4BAEDa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAmD,CACrD,CACIC,aAAc,WAAM,2CAAOtyB,EAAE,+CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAAC6P,GAAsB,+BAAC,UAAgB,CAACtqB,MAAMsqB,aAAG,EAAHA,EAAKtqB,OAAQ,IAArC,EAC/BlY,UAAWf,EAAG,gBAAiB,uBAC/BgB,aAAc,QAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,mDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,2BACrC0zB,OAAQ,SAAC6P,GACL,OACI,wBAAC,UAAS,CACNtW,KAAMsW,EAAIoZ,YACVz2C,OAAQq9B,EAAI7lB,YACZ07D,aAAc71C,EAAI5lB,cAClBm/B,SAAUvZ,EAAIwZ,gBACdm3D,gBAAiBh/D,GAG7B,EACAn0C,UAAWf,EAAG,gBAAiB,2BAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,mDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,2BACrC0zB,OAAQ,SAAC6P,GACL,OACI,wBAAC,UAAS,CACNtW,KAAMsW,EAAI0Z,aACV/2C,OAAQq9B,EAAI4Z,aACZi8B,aAAc71C,EAAI2Z,eAClBJ,UAAQ,EACRo3D,gBAAiBh/D,GAG7B,EACAn0C,UAAWf,EAAG,gBAAiB,2BAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,sDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,8BACrCkrI,YAAU,KACN,EAAC,EAAAC,oBAAoBjvB,SAAS,E,GAElCxoF,OAAQ,SAAC6P,GACL,OAAO,wBAAC,UAAc,CAACA,IAAKA,EAAK7O,YAAaA,GAClD,EACA3zB,UAAWf,EAAG,gBAAiB,8BAC/BgB,aAAc,cAElB,CACIwyB,aAAc,WAAM,2CAAOtyB,EAAE,iDAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAAC6P,GACL,OAAO,wBAAC,UAAyB,CAAC5uB,eAAa,EAAC8U,OAAQ8Z,EAAI9Z,QAAU,MAC1E,EACA1oB,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,aACpBC,gBAAiBzzB,EAAG,gBAAiB,0BACrC0zB,OAAQ,SAAC6P,GACL,OACI,wBAAC,UAAW,CACRA,IAAKA,EACLsrG,sBAAuBA,EACvBC,iBAAkBA,EAClBF,mBAAoBA,GAGhC,EACA7tI,UAAWf,EAAG,gBAAiB,0BAC/BgB,aAAc,YAIhBozB,EAAa,SAAClY,EAAqBqnB,G,MACrC,OAAO,EAAP,IACK,EAAAlP,iBAAiBk3G,sBAAsBhoG,aAAG,EAAHA,EAAK9Z,UAAUub,aAA2B,EAA3BA,EAA6B1V,IAAIiU,EAAI9Z,S,CAEpG,EAEM+hH,EAAc,WAChB,OAAO,EAAAC,kBAAkBl5H,MAC7B,EAEA,OACI,+BAAKxR,UAAWf,EAAG,UACf,wBAAC,UAAa,CAAew0B,UAAWA,EAAWnlB,UAAWA,EAAW4W,KAAMA,IAC1E,SAACA,EAAMwO,GAAmB,OACvB,wBAAC,UAAc,CACXzzB,aAAcA,EACdD,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACN5W,UAAWA,EACX+kB,WAAYA,EACZo3G,YAAaA,EACb92G,YAAaA,EACbD,eAAgBA,EAChBqlH,WAAYA,EACZx+F,WAAYA,GAZO,IAkB3C,IAEA,UAAeguO,C,q7BCzKf,kBAEA,cACA,cACA,WAEA,WACA,WACA,cAOMtpR,EAAK,UAAWC,KAAK,WAErBspR,EAA8BppR,EAAMC,MAAK,SAACC,GACpC,IAAAmpR,EAAgCnpR,EAAK,YAAxB6mG,EAAmB7mG,EAAK,eAErCa,GAAM,IAAAC,kBAAgB,EAExBsoR,EAAmBD,EAAYC,kBAAoB,KAEnDz8P,EAAYw8P,EAAYx8P,WAAa,KAE3C,OACI,2BACKy8P,GAAoB,uBAAK1oR,UAAWf,EAAG,UAAWypR,GAClDz8P,EACG,gBAAC,UAAa,CACVzE,GAAI2+E,EAAe,EAAAx+E,gBAAgBC,QAASqE,GAC5CzrB,MAAO,EAAA8mB,cAAcC,cACrB7R,KAAM,EAAA8uG,aAAalhC,QAElBmlM,EAAYxiQ,aAGjB,uBAAKjmB,UAAWf,EAAG,iBAAkBkB,EAAE,0CAIvD,IAEA,UAAeqoR,C,09BC5Cf,kBACA,cACA,WACA,cAIMG,EAAgDvpR,EAAMC,MAAK,WAC7D,IAAMioG,EAAmBloG,EAAM6yB,WAAW,WAQ1C,OACI,uBAAKxqB,MAAO,CAAE2D,OAAQ,MAAOtK,MAAO,MAAOkgO,WAAY,WACnD,gBAAC,UAAc,CACXp3H,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBE,kBAZ4B,SAAC5C,G,MAC7B5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEE,QAA3B,EAAAD,EAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,IAYJ,IAES,EAAAgyQ,4BAAAA,C,q2BC5BT,kBAEA,WACA,YACA,WACA,WAOMC,EAAsB,EAAA31Q,mBAAmB3R,MAEzCunR,EAAqB,SAACzvP,GACxB,OAAIA,IAAS,EAAAo3G,UAAUE,aACZ,EAAAz9H,mBAAmB8C,UAG1B,EAAAsjB,gBAAgBD,GACT,EAAAnmB,mBAAmB9R,SAGvBynR,CACX,EAEME,EAAiC1pR,EAAMC,MAAK,SAACC,GACvC,IAAA85B,EAAoB95B,EAAK,KAAnBU,EAAcV,EAAK,UAEzBa,GAAM,IAAAC,kBAAgB,EAExB2oR,EAAU,EAAA1vP,gBAAgBD,GAEhC,OACI,gBAAC,UAAS,CAACp5B,UAAWA,EAAWQ,MAAOqoR,EAAmBzvP,GAAOxlB,eAAa,GAC1Em1Q,EAAU5oR,EAAE4oR,GAAW3vP,EAGpC,IAEA,UAAe0vP,C,q7BCxCf,kBAEA,WACA,cACA,cACA,WACA,cAEA,cAiBMl7Q,EAAgB,iBAEhBo7Q,EAA8C,UAAM3pR,MAAK,SAACC,GACpD,IAAAyM,EAAsDzM,EAAK,KAArDyO,EAAgDzO,EAAK,SAA3CQ,EAAsCR,EAAK,QAAlCwD,EAA6BxD,EAAK,cAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,IAAK2L,EACD,OAAO,KAGX,IAAM7G,EAAW,CAAC6G,EAAKwjH,WAAYxjH,EAAKk9Q,eAAe36P,OAAOhmB,SAASsmB,KAAK,KAE5E,OACI,wBAAC,UAAK,KACF,wBAAC,UAAY,CAAC9uB,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBC,UACvBzJ,WAAY7B,EAAcK,QAC1BlD,aAAc,UAAG2N,EAAa,WAC9B7M,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,sCACZK,MAAO,EAAA2N,gBAAgBE,OACvB1J,WAAY7B,EAAcK,QAC1BmL,UAAWxL,EAAcK,QACzBlD,aAAc,UAAG2N,EAAa,OAC9B7M,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAY,MACnBlM,MAAOY,EAAE,iDAAkD,CACvD+E,SAAQ,IAEZ2S,QAAS1X,EAAE,uDAAwD,CAC/D+E,SAAQ,OAMhC,IAEA,UAAe8jR,C,+BC7Ef,WAAgB,KAAO,6CAA6C,OAAS,+CAA+C,SAAW,iD,0cCDvI,kBAgBA,UAT0B,WAChB,QAAoB,UAAMrlR,SAAiB,GAAE,GAEnD,MAAO,CACHY,MAHQ,KAIRk0G,SAJkB,KAM1B,C,umDC+KS,EAAAywK,eANT,SAAyBj9Q,G,kDACrB,UAAM,IAAAY,WAAU,EAAA6kH,sBAAsBnvH,KAAM4mR,EAA6Bl9Q,K,OACzE,OADA,SACA,IAAM,IAAAY,WAAU,EAAA8kH,kBAAkBpvH,KAAM6mR,EAAyBn9Q,K,OACjE,OADA,SACA,IAAM,IAAAY,WAAU,EAAA+kH,oBAAoBrvH,KAAM8mR,EAA2Bp9Q,K,cAArE,S,SA1LJ,eACA,WAcA,WACA,UACA,WACA,cACA,cAEA,WACA,WACA,WACA,WACA,UAEA,SAASk9Q,EAA6Bl9Q,GAClC,OAAO,SAAWhJ,G,gFAGd,OAFM,EAA8BA,EAAOklB,QAAnC4kE,EAAU,aAAExnF,EAAK,QAAEwG,EAAI,OAE1BghF,GAKCnI,GAAS,UAET5iE,EADWjW,EACK0uM,IAAI,QACpBv4L,GAAWF,aAAI,EAAJA,EAAM9J,OAAQ,UACzB+iD,EAAkD,CACpD2pB,OAAM,EACN1pB,cAAe,KACfh5C,SAAQ,EACRhT,QAAS3J,EAAM2J,QACf0lJ,UAAWrvJ,EAAMqvJ,WAGrB,IAAM,IAAAxoJ,MAAI,IAAAk9Q,4BAA2B,CAAEv8L,WAAU,EAAE9xB,gBAAe,SAhB9D,IAAAjnC,YAAW,oBACX,K,cAeJ,SAKI/nB,IAAgB,EAAAK,gBAAgBsb,QAAhC,MACS,GAAM,UAAmB8pG,sBAAsB3kC,EAAYxnF,EAAOwG,I,cAA3EU,EAAS,S,aAEA,SAAM,UAAkBilH,sBAAsB3kC,EAAYxnF,EAAOwG,I,OAA1EU,EAAS,S,wBAGP,IAAwBA,EAAM,GAA7BpJ,EAAK,KAAEkzE,EAAY,KACpBrb,GAAgB,IAAAquN,mBAAkBhzM,GAEpClzE,EACA,IAAM,IAAA+I,MAAI,IAAAo9Q,4BAA2B,CAAEz8L,WAAU,EAAEnI,OAAM,EAAEvhF,MAAK,MADhE,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAq9Q,8BAA6B,CAAE18L,WAAU,EAAEnI,OAAM,EAAE1pB,cAAa,M,OAA1E,S,iBAKJ,OAFA,EAAAq8J,yBAAyB32L,KAAK,CAAC,GAE/B,IAAM,IAAAx0B,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBqE,WAC1BjxB,KAAM,CAAC,O,eAJnB,S,QASR,CAEA,SAASq9Q,EAAyBn9Q,GAC9B,OAAO,SAAWhJ,G,gFAGd,OAFM,EAA0BA,EAAOklB,QAA/BkE,EAAM,SAAE9mB,EAAK,QAAEwG,EAAI,OAEtBsgB,GAKCu4D,GAAS,UAET5iE,EADWjW,EACK0uM,IAAI,QACpBv4L,GAAWF,aAAI,EAAJA,EAAM9J,OAAQ,UACzB+iD,EAA8C,CAChD2pB,OAAM,EACN1pB,cAAe,KACfh5C,SAAQ,EACRhT,QAAS3J,EAAM2J,QACf0lJ,UAAWrvJ,EAAMqvJ,WAGrB,IAAM,IAAAxoJ,MAAI,IAAAs9Q,wBAAuB,CAAEr9P,OAAM,EAAE4uC,gBAAe,SAhBtD,IAAAjnC,YAAW,gBACX,K,cAeJ,SAKI/nB,IAAgB,EAAAK,gBAAgBsb,QAAhC,MACS,GAAM,UAAmB+pG,kBAAkBtlG,EAAQ9mB,EAAOwG,I,cAAnEU,EAAS,S,aAEA,SAAM,UAAkBklH,kBAAkBtlG,EAAQ9mB,EAAOwG,I,OAAlEU,EAAS,S,wBAGP,IAAwBA,EAAM,GAA7BpJ,EAAK,KAAEkzE,EAAY,KACpBrb,GAAgB,IAAAquN,mBAAkBhzM,GAEpClzE,EACA,IAAM,IAAA+I,MAAI,IAAAu9Q,wBAAuB,CAAEt9P,OAAM,EAAEu4D,OAAM,EAAEvhF,MAAK,MADxD,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAw9Q,0BAAyB,CAAEv9P,OAAM,EAAEu4D,OAAM,EAAE1pB,cAAa,M,OAAlE,S,iBAKJ,OAFA,EAAAq8J,yBAAyB32L,KAAK,CAAC,GAE/B,IAAM,IAAAx0B,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBqE,WAC1BjxB,KAAM,CAAC,O,eAJnB,S,QASR,CAEA,SAASs9Q,EAA2Bp9Q,GAChC,OAAO,SAAWhJ,G,8DAGd,OAFQ4uH,EAAY5uH,EAAOklB,QAAO,SAOiC,IAAM,IAAAjc,SACrE,IAAAm3Q,2BAA0BxxJ,OAL1B,IAAA79F,YAAW,iBACX,K,OAMJ,OAHmE,SAGjD7wB,QACd,IAGJ,IAAM,IAAAiJ,MAAI,IAAAy9Q,0BAAyB,CAAEh4J,QAAO,M,cAA5C,SAKI5lH,IAAgB,EAAAK,gBAAgBsb,QAAhC,MACS,GAAM,UAAmBgqG,oBAAoBC,I,cAAtDplH,EAAS,S,aAEA,SAAM,UAAkBmlH,oBAAoBC,I,OAArDplH,EAAS,S,wBAGP,IAAUA,EAAM,IAAfpJ,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAA09Q,0BAAyB,CAAEj4J,QAAO,EAAExuH,MAAK,MADnD,M,cACA,S,cAEA,UAAM,IAAA+I,MAAI,IAAA29Q,4BAA2B,CAAEl4J,QAAO,M,OAA9C,S,mBAKJ,OAFA,EAAA0lG,yBAAyB32L,KAAK,CAAC,GAE/B,IAAM,IAAAx0B,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoBsE,aAC1BlxB,KAAM,CAAC,O,eAJnB,S,QASR,C,6UChLa,EAAAi+Q,iBAAmB,SAAChnR,GAAwC,OAAAA,EAAMq0J,cAAc11G,MAAMr0C,KAA1B,EAE5D,EAAA28Q,iBAAmB,SAACjnR,GAAwC,OAAAA,EAAMq0J,cAAc11G,MAAMp8C,KAA1B,EAE5D,EAAA2kR,iBAAmB,SAAClnR,GAAwC,OAAAA,EAAMq0J,cAAc11G,MAAMl0C,KAA1B,EAE5D,EAAA08Q,iBAAmB,SAACnnR,GAAuC,OAAAA,EAAMq0J,cAAc11G,MAAMh0C,IAA1B,EAE3D,EAAAy8Q,yBAA2B,SAACpnR,GAAkC,OAAAA,EAAMq0J,cAAc11G,MAAMwqB,aAA1B,EAE9D,EAAAu6F,wBAA0B,SAAC1jK,GAAkC,OAAAA,EAAMq0J,cAAc11G,MAAM6G,eAA1B,EAE7D,EAAA6hO,yBAA2B,SAACrnR,GAAkC,OAAAA,EAAMq0J,cAAc11G,MAAMyqB,aAA1B,EAE9D,EAAAk+M,8BAAgC,SAACtnR,GAC1C,OAAAA,EAAMq0J,cAAc11G,MAAMonJ,mBAA1B,EAES,EAAAwhF,yBAA2B,SAACvnR,GAAkC,OAAAA,EAAMq0J,cAAc11G,MAAMilK,cAA1B,EAE9D,EAAA4jE,kBAAoB,SAACxnR,GAAkB,OAAAA,EAAMq0J,cAAc11G,MAAMT,OAA1B,EAEvC,EAAAupO,kBACT,SAACpoO,GACD,gBAACr/C,GACG,OAAe,OAAXq/C,EACO,KAGJr/C,EAAMq0J,cAAc11G,MAAMsiH,YAAY5hH,EACjD,CANA,C,qKC5BJ,eAca,EAAAqoO,aAAe,SAACnlR,GAAmD,OAC5EhD,KAAM,EAAAq5K,sBACNr2K,MAAK,EAFuE,EAKnE,EAAAolR,kBAAoB,SAACplR,GAAwD,OACtFhD,KAAM,EAAAs5K,4BACNt2K,MAAK,EAFiF,EAK7E,EAAAqlR,oBAAsB,SAAC58N,GAAqD,OACrFzrD,KAAM,EAAAw5K,8BACN/tH,SAAQ,EAF6E,EAK5E,EAAA68N,kBAAoB,SAACxnR,GAA2C,OACzEd,KAAM,EAAAu5K,4BACNz4K,MAAK,EAFoE,EAKhE,EAAA8/D,MAAQ,WAAoB,OACrC5gE,KAAM,EAAAi1C,MAD+B,C,88BClCzC,IAQY33B,EARZ,cACA,cACA,cAEA,aAEM5gB,EAAK,UAAWC,KAAK,YAE3B,SAAY2gB,GACR,gBACA,sBACA,cACA,gBACA,yBACA,6BACA,wBACH,CARD,CAAYA,IAAe,kBAAfA,EAAe,KAsB3B,IAAMirQ,EAAmC1rR,EAAMC,MAAK,SAACC,G,MACzC0d,EAA4E1d,EAAK,YAApEogB,EAA+DpgB,EAAK,aAAtD2sL,EAAiD3sL,EAAK,UAA3CkB,EAAsClB,EAAK,MAApCU,EAA+BV,EAAK,UAAzBmI,EAAoBnI,EAAK,MAAlB4O,EAAa5O,EAAK,SAEzF,OACI,uBACIU,WAAW,aACPf,EAAG,eAAa,GACZ,2BAA4B+d,EAC5B,yBAA0B0C,EAC1B,yBAA0BusK,GAC1B,EAAC,6BAAsBzrL,MAAYA,E,IAEvCR,GAEJyH,MAAOA,GAENyG,EAGb,IAEA,UAAe48Q,C,miDCnDf,kBACA,YACA,WACA,cAMa,EAAAC,iCAA8B,MACtC,EAAAv6O,mBAAmBC,KAAM,EAAAx9B,mBAAmBO,YAC7C,EAAC,EAAAg9B,mBAAmBE,QAAS,EAAAz9B,mBAAmB9R,S,GAGpD,IAAM6pR,EAAuC5rR,EAAMC,MAAK,SAACC,GAC7C,IAAAotJ,EAA6BptJ,EAAK,WAAnBusB,EAAS,EAAKvsB,EAA/B,gBAEN,OAAKotJ,EAKD,gBAAC,UAAS,GAAC94I,eAAa,EAACC,UAAQ,GAAKgY,EAAS,CAAErrB,MAAO,EAAAuqR,+BAA+Br+H,KACnF,gBAAC,UAAmB,CAACA,WAAYA,KAL9B,IAQf,IAEA,UAAes+H,C,umDC5Bf,eACA,WACA,WASA,UACA,cACA,WAGA,SAAUC,EAAwB1lR,G,4DAC9B,UAAM,IAAA6G,MAAI,IAAAk8M,0BAAyB/iN,K,OAG/B,OAHJ,SAGI,GAAM,UAAkB2lR,kBAAkB3lR,I,cADxC,kBACF,SAAgD,IAD7ClC,EAAK,KAAEylI,EAAS,KAEnBzlI,EACA,IAAM,IAAA+I,MAAI,IAAAo8M,0BAAyBjjN,EAAOlC,KAD1C,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAm8M,4BAA2BhjN,EAAOujI,K,OAA5C,S,+BAIR,SAAUqiJ,EAA0B5lR,G,4DAChC,UAAM,IAAA6G,MAAI,IAAAq8M,4BAA2BljN,K,OAGjC,OAHJ,SAGI,GAAM,UAAkB6lR,oBAAoB7lR,I,cAD1C,kBACF,SAAkD,IAD/ClC,EAAK,KAAEylI,EAAS,KAEnBzlI,EACA,IAAM,IAAA+I,MAAI,IAAAu8M,4BAA2BpjN,EAAOlC,KAD5C,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAs8M,8BAA6BnjN,EAAOujI,K,OAA9C,S,+BAIR,SAAUuiJ,EAAoBpoR,G,4DAG1B,OAFQsC,EAAmBtC,EAAM,MAAlBxB,EAAYwB,EAAM,QAE5BsC,EAI4D,IAAM,IAAA2G,QAAO,EAAA8yB,6BAH1E,I,OAKJ,OAFMvhB,EAA2D,UAC3C,IAAAG,kBAAiBH,EAAWlY,MAC5B9D,aAAO,EAAPA,EAAS4/B,eAC3B,IAGJ,IAAM,IAAAj1B,MAAI,IAAAi8M,sBAAqB9iN,EAAO9D,K,OAEtC,OAFA,SAEA,IAAM,IAAAi0G,KAAI,CAACu1K,EAAwB1lR,GAAQ4lR,EAA0B5lR,M,cAArE,S,QAOJ,UAJA,W,kDACI,UAAM,IAAAsH,WAAU,EAAAy/K,yBAA0B++F,I,cAA1C,S,67BC3DJ,kBAEA,cACA,cAEA,WACA,WACA,WACA,WACA,WAEA,cACA,cACA,UAEA,aACA,WACA,cAEMpsR,EAAK,UAAWC,KAAK,WAUrBosR,EAAuClsR,EAAMC,MAAK,W,MAC5Cc,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eAEXvuB,GAAQ,eAERzC,GAAgB,IAAAwS,aAAY,EAAAw6N,sCAoBlC,OACI,IAAAv+H,qBAAoBzuG,EAAcO,QAClCP,EAAcO,MAAMd,OAAS,EAAAivG,kBAAkB+5K,sBAG3C,gBAAC,UAAU,CAAChsR,MAAOY,EAAE,yCAA0CF,aAAa,sBACxE,uBAAKD,UAAWf,EAAG,YAAakB,EAAE,yCAClC,2BACA,2BACA,uBAAKH,UAAWf,EAAG,UAA8B,QAAnB,EAAA6D,EAAcO,aAAK,eAAEwU,UAM3D,gCACI,gBAAC,UAAU,CAACtY,MAAOY,EAAE,iCAAkCF,aAAa,yBAChE,gBAAC,UAAS,CAACV,MAAOY,EAAE,yCACpB,gBAAC,UAAkB,CAACga,SApCX,SAACqxQ,GAClB,IAAMtqN,EAAU37D,EAAM,EAAA4R,cAAc+pD,UAAY,KAC1Cn7D,EAAQR,EAAM,EAAA4R,cAAcpR,QAAU,KACtCy6D,EAAYj7D,EAAM,EAAA4R,cAAcqpD,YAAc,KAEpD3sC,GACI,IAAAytC,gBACIkqN,EAAU,EAAAxsR,WAAWgqB,WACrBwiQ,EAAU,EAAAxsR,WAAWiqB,UACrBuiQ,EAAU,EAAAxsR,WAAWkqB,OACrBsiQ,EAAU,EAAAxsR,WAAWsqB,UACrB43C,EACAn7D,EACAy6D,GAGZ,EAoBwD19D,cAAeA,KAI3E,IAEA,UAAewoR,C,q7BC/Ef,kBACA,cACA,aACA,WAEA,cAEA,cACA,cACA,WACA,UAEA,cACA,cACA,cACA,cACA,cAEA,cAEA,aACA,cACA,cAEMrsR,EAAK,UAAWC,KAAK,WAarBusR,EAA+BrsR,EAAMC,MAAK,SAACC,GAEzC,IAAAqiD,EAUAriD,EAAK,MATLU,EASAV,EAAK,UARLosR,EAQApsR,EAAK,iBAPLqsR,EAOArsR,EAAK,cANLqsM,EAMArsM,EAAK,aALLssM,EAKAtsM,EAAK,eAJLusM,EAIAvsM,EAAK,aAHLssR,EAGAtsR,EAAK,WAFLqF,EAEArF,EAAK,WADLgP,EACAhP,EAAK,UAEDa,GAAM,IAAAC,kBAAgB,EAExB20F,GAAgB,IAAAz/E,aAAY,EAAA0/E,uBAE5BxiE,EAA4C,CAC9C,CACIC,aAAc,WAAM,OAChB,gBAAC,UAAc,CAAQomH,gBAAiB6yI,EAAkBxmQ,KAAMy8B,EAAOvlC,SAAUuvQ,GADjE,EAGpBj5P,gBAAiBzzB,EAAG,gBAAiB,2BACrC0zB,OAAQ,SAACtZ,GAAgB,OACrB,gBAAC,UAAY,CAAQmpB,IAAKnpB,EAAMw/H,gBAAiB6yI,EAAkBtvQ,SAAUuvQ,GADxD,EAGzB3rR,UAAWf,EAAG,gBAAiB,2BAC/BgB,aAAc,YAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAACtZ,GAAgB,uBAAC,UAAQ,CAACA,KAAMA,GAAhB,EACzBrZ,UAAWf,EAAG,gBAAiB,uBAC/BgB,aAAc,QAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,4BACrC0zB,OAAQ,SAACtZ,GAAgB,OACrB,gBAAC,UAAa,CACV0zC,aAAe1zC,EAAKoyC,eAAyC,GAC7DspC,cAAeA,EACfuwI,SAAUjsN,EAAK47L,UAAY,IAJV,EAOzBj1M,UAAWf,EAAG,gBAAiB,4BAC/BgB,aAAc,kBAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,yCAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,4BACrC0zB,OAAQ,SAACtZ,GAAgB,OACrB,gBAAC,UAAa,CACV0zC,aAAe1zC,EAAKqyC,aAAuC,GAC3DqpC,cAAeA,EACfuwI,SAAUjsN,EAAK87L,QAAU,IAJR,EAOzBn1M,UAAWf,EAAG,gBAAiB,4BAC/BgB,aAAc,gBAuBlB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,6CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,yBACrC0zB,OAAQ,SAACtZ,GAAgB,uBAAC,UAAU,CAACA,KAAMA,GAAlB,EACzBrZ,UAAWf,EAAG,gBAAiB,yBAC/BgB,aAAc,UAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,4CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,+BACrC0zB,OAAQ,SAACtZ,GAAgB,uBAAC,UAAe,CAACA,KAAMA,GAAvB,EACzBrZ,UAAWf,EAAG,gBAAiB,+BAC/BgB,aAAc,gBAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,0DAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,sCACrC0zB,OAAQ,SAACtZ,GAAgB,uBAAC,UAAgB,CAACA,KAAMA,GAAxB,EACzBrZ,UAAWf,EAAG,gBAAiB,sCAC/BgB,aAAc,uBAElB,CACIwyB,aAAc,WAAM,mCAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAACtZ,GAAgB,uBAAC,UAAQ,CAACA,KAAMA,GAAhB,EACzBrZ,UAAWf,EAAG,gBAAiB,uBAC/BgB,aAAc,QAElB,CACIwyB,aAAc,WAAM,aACpBC,gBAAiBzzB,EAAG,gBAAiB,2BACrC0zB,OAAQ,SAACtZ,GAAgB,OACrB,gBAAC,UAAY,CACT7N,GAAIgT,OAAOnF,EAAK7N,IAChB7J,WAAY0X,EAAKsvB,OACjBgjK,aAAcA,EACdC,eAAgBA,EAChBC,aAAcA,GANG,EASzB7rM,UAAWf,EAAG,gBAAiB,2BAC/BgB,aAAc,aAIhBozB,EAAa,SAAClY,GAAwB,OACxC+L,WAAY/L,EAAK+L,WADuB,EAI5C,OACI,uBAAKlnB,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAQw0B,UAAU,QAAQnlB,UAAWA,EAAW4W,KAAMy8B,IAC/D,SAACz8B,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACF1zB,UAAWA,EACX64I,gBAAiB6yI,EACjBl5P,QAASA,EACTtN,KAAMA,EACNmO,WAAYA,EACZM,YAAai4P,EACbt9Q,UAAWA,EACXrO,aAAa,QACbyzB,eAAgBA,GAVG,IAc9B/uB,GAAc,gBAAC,UAAa,MAGzC,IAEA,UAAe8mR,C,kuCChMf,kBACA,WAEA,cACA,cACA,cACA,WACA,cACA,WACA,cACA,WACA,cACA,cACA,WACA,WACA,cACA,WACA,WACA,cACA,WACA,WACA,cACA,cACA,WACA,WACA,cACA,cAEA,cACA,cACA,cACA,WACA,cAEA,aACA,cAEA,WAEMxsR,EAAK,UAAWC,KAAK,WASrBknG,EAA4E,CAC9EC,OAAQ,IACRC,QAAS,IAePulL,EAA6B,IAAIz9P,IAAwB,CAAC,EAAAw1G,kBAAkBjyD,WAE5Em6M,EAAuC1sR,EAAMC,MAAK,SAACC,G,QAC7CqhG,EAAsBrhG,EAAK,kBAE7Bu0B,GAAW,IAAAC,eAEX2rF,GAAa,IAAA37G,UAAQ,W,QAEjB,GAAiD,IAAA67G,+BACnDhf,aAAiB,EAAjBA,EAAmBif,qBACnBjf,aAAiB,EAAjBA,EAAmBn1F,IAFfq0G,EAAqB,wBAAEC,EAAmB,sBAK5CC,GAA0BF,aAAqB,EAArBA,EAAuBr0G,KAAM,KACvDw0G,GAAwBF,aAAmB,EAAnBA,EAAqBt0G,KAAM,KAEzD,MAAO,CACH,CACIgjD,WAAyC,QAA9B,EAAAqxD,aAAqB,EAArBA,EAAuBv8F,eAAO,eAAE9X,KAAM,KACjDu0G,wBAAuB,EACvB7Y,cAAewY,EACfp8F,SAASu8F,aAAqB,EAArBA,EAAuBv8F,UAAW,KAE3Cs2B,SAAmC,QAA1B,EAAAkmE,aAAmB,EAAnBA,EAAqBz8F,aAAK,eAAE7X,KAAM,KAC3Cw0G,sBAAqB,EACrBnZ,YAAa6Y,EACbr8F,OAAOy8F,aAAmB,EAAnBA,EAAqBz8F,QAAS,KAErC48F,WACMF,KACAC,GACFD,IAA4BC,GAG5C,GAAG,CAACrf,IAEEuf,GAAyB,IAAAp8G,UAAQ,WACnC,IAAMq8G,EAAqD,GAO3D,OALAV,EAAW/jG,SAAQ,SAAC0kG,GAChBD,EAAkBnpG,KAAKopG,EAAUJ,uBACjCG,EAAkBnpG,KAAKopG,EAAUL,wBACrC,KAEO,aAAKI,GAAmB7xF,OAAO,EAAA4/B,SAC1C,GAAG,CAACuxD,IAEJrgH,EAAMoL,WAAU,WACZqpB,GAAS,IAAAwsF,8BAA6BH,GAC1C,GAAG,CAACA,EAAwBrsF,IAE5B,IAAMuN,EAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAAwsF,8BAA6BH,GAC1C,GAAG,CAACA,EAAwBrsF,KAC5B,aAA4BuN,GAE5B,IAAMk/E,GAAuB,IAAAhrG,aAAY,EAAAirG,4BACnCC,GAAkB,IAAA18G,UAAQ,WAC5B,OAAO27G,EAAW9oG,KAAI,SAAC8oG,GACX,IAAAO,EAAuEP,EAAU,sBAA1D7lE,EAAgD6lE,EAAU,QAAjDM,EAAuCN,EAAU,wBAAxBjxD,EAAcixD,EAAU,UAEnFgB,GAAc,IAAAC,qCAAoCV,EAAuBxxD,GACzEmyD,GAAY,IAAAD,qCAAoCX,EAAyBnmE,GAE/E,MAAO,CACHt2B,QAASg9F,EAAqBG,IAAgB,KAC9Cp9F,MAAOi9F,EAAqBK,IAAc,KAElD,GACJ,GAAG,CAAClB,EAAYa,IAEVM,EAAkBxhH,EAAM0E,SAAQ,WAClC,OAAO27G,EAAWlvC,MAAK,SAACkvC,GACpB,SAASA,aAAU,EAAVA,EAAYM,6BAA6BN,aAAU,EAAVA,EAAYO,sBAClE,GACJ,GAAG,CAACP,IAEEoB,EAAwBzhH,EAAM0E,SAAQ,WACxC,IAAM2I,EAAS,IAAI2hB,IAAmB,IAYtC,OAVIuyE,aAAiB,EAAjBA,EAAmBp+F,OAAQspR,EAA2Bt9P,IAAIoyE,EAAkBp+F,OAC5EkK,EAAOyM,IAAI,EAAA4nG,cAAcC,uBAIxBH,IAAmBjgB,aAAiB,EAAjBA,EAAmBp+F,QAAS,EAAAqhI,kBAAkBjyD,WAClEgvB,aAAiB,EAAjBA,EAAmBp+F,QAAS,EAAAqhI,kBAAkB//G,WAE9CpX,EAAOyM,IAAI,EAAA4nG,cAAcG,cAEtBx0G,CACX,GAAG,CAACk0F,EAAmBigB,IAEjBM,EAAmB9hH,EAAM0E,SAAQ,WACnC,OAAI+8G,EAAsBtyF,IAAI,EAAAuyF,cAAcG,cACjC,EAAAH,cAAcG,aAErBJ,EAAsBtyF,IAAI,EAAAuyF,cAAcC,sBACjC,EAAAD,cAAcC,qBAElB,IACX,GAAG,CAACF,IAEE,KAA4C,IAAAl9G,UAA+B,MAAK,GAA/Ew9G,EAAiB,KAAEC,EAAoB,KACxCC,EAAYF,GAAqBD,EAEvC9hH,EAAMoL,WAAU,WACR22G,IAAsBN,EAAsBtyF,IAAI4yF,IAChDC,EAAqB,KAE7B,GAAG,CAACD,EAAmBN,IAEvB,IAAMvZ,EAAmBloG,EAAM6yB,WAAW,WAEpCqvF,IAAmB,IAAAx9G,UAAQ,WAC7B,OAAQu9G,GACJ,KAAK,EAAAP,cAAcG,aACf,MAAO,CACHtgB,aAAiB,EAAjBA,EAAmBhnC,WACnBgnC,aAAiB,EAAjBA,EAAmB4gB,0BACnB5gB,aAAiB,EAAjBA,EAAmB6gB,yBACnB7gB,aAAiB,EAAjBA,EAAmB8gB,sBACnB9gB,aAAiB,EAAjBA,EAAmB+gB,qBACrBpzF,OAAO,EAAA4/B,UAEb,KAAK,EAAA4yD,cAAcC,qBACf,MAAO,CAACpgB,aAAiB,EAAjBA,EAAmBhnC,YAAYrrC,OAAO,EAAA4/B,UAElD,QACI,MAAO,GAGnB,GAAG,CAACyyC,EAAmB0gB,KAEvB,IAAAznD,kBAAiB0nD,IAEjB,IAAMK,IAAiB,IAAArsG,cAAY,IAAAssG,6BAA4BN,KAEzDO,IAAqB,IAAA/9G,UAAQ,WAC/B,OAAO69G,GAAepxC,MAAK,SAACuxC,G,MACxB,OAAOA,aAAa,EAAbA,EAAeh/G,iBAA6C,QAA5B,EAAAg/G,aAAa,EAAbA,EAAeh/G,qBAAa,eAAEK,QACzE,GACJ,GAAG,CAACw+G,KAEEI,GAAiB3iH,EAAM0E,SAAQ,W,MACjC,OACgC,QAA5B,EAAA68F,aAAiB,EAAjBA,EAAmBj3E,iBAAS,eAAE/S,KAAI,SAACmJ,G,QAC/B,MAAO,CAAkB,QAAjB,EAAAA,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SAA2B,QAAjB,EAAA50B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UAC5D,MAAM,EAEd,GAAG,CAACgsD,IAUEqhB,IAAsB,IAAAl+G,UAAQ,WAChC,OAAO08G,aAAe,EAAfA,EAAiBjwC,MAAK,SAACvtE,G,YAC1B,OAAkC,QAA3B,EAAY,QAAZ,EAAAA,aAAK,EAALA,EAAOqgB,aAAK,eAAEvgB,qBAAa,eAAEK,WAAwC,QAA7B,EAAc,QAAd,EAAAH,aAAK,EAALA,EAAOsgB,eAAO,eAAExgB,qBAAa,eAAEK,QAClF,GACJ,GAAG,CAACq9G,IACElyG,GAAYuzG,IAAsBG,GAElCC,IAAuB,IAAAn+G,UAAQ,WACjC,OAAO27G,EAAWp+D,QAAoC,SAACC,EAAKm+D,EAAY7oG,G,MAC5DgjC,EAAyB6lE,EAAU,QAA1B5Y,EAAgB4Y,EAAU,YAErCyC,EAAS1B,EAAgB5pG,GAEzBurG,GAAY,aAAkB,QAAb,EAAAD,aAAM,EAANA,EAAQ7+F,aAAK,eAAEqvB,QAStC,OARIkH,GAAWuoE,GACX7gE,EAAItqC,KAAK,CACL4iC,QAAO,EACPitD,YAAW,EACXsb,UAAS,IAIV7gE,CACX,GAAG,GACP,GAAG,CAACk/D,EAAiBf,IAEf2C,IAAyB,IAAAt+G,UAAQ,WACnC,OAAO27G,EAAWp+D,QAAsC,SAACC,EAAKm+D,EAAY7oG,G,MAC9D43C,EAAuCixD,EAAU,UAAtCvY,EAA4BuY,EAAU,cAGzD,GAH+CA,EAAU,SAIrD,OAAOn+D,EAGX,IAAM4gE,EAAS1B,EAAgB5pG,GAEzBurG,GAAY,aAAoB,QAAf,EAAAD,aAAM,EAANA,EAAQ5+F,eAAO,eAAEovB,QASxC,OARI8b,GAAa2zD,GACb7gE,EAAItqC,KAAK,CACLw3C,UAAS,EACT04C,cAAa,EACbib,UAAS,IAIV7gE,CACX,GAAG,GACP,GAAG,CAACk/D,EAAiBf,IAEf5X,GAAczoG,EAAM0E,SAAQ,W,MACxBgkG,EAAsE,GAuE5E,OArE4B,QAA5B,EAAAnH,aAAiB,EAAjBA,EAAmBj3E,iBAAS,SAAEhO,SAAQ,SAACoE,G,QACnC,GACKA,EAASvd,OAAS,EAAA0d,aAAaC,aAC5BJ,EAASvd,OAAS,EAAA0d,aAAaG,eAC/BN,EAASvd,OAAS,EAAA0d,aAAaK,iBAC/BR,EAASvd,OAAS,EAAA0d,aAAae,WAC/BlB,EAASvd,OAAS,EAAA0d,aAAaa,aAC/BhB,EAASvd,OAAS,EAAA0d,aAAaiB,eACnCmgG,IAAc,EAAAP,cAAcG,aAPhC,CAYA,IAAMtsE,EAA6B,QAAjB,EAAA70B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UAC/BD,EAA4B,QAAjB,EAAA50B,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACpC,IAAI,aAASA,KAAa,aAASC,GAAY,CAC3C,IAAMozD,EAA8D,CAChExlG,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACtzD,EAAWD,IAE7BwzD,WAAY,CACR3lG,KAAM,iBACNud,SAAQ,EACRwiG,WAAY,OAIpBxa,EAAS9wF,KAAK+wF,EAClB,CAnBA,CAoBJ,IAEAka,GAAqBvmG,SAAQ,SAACisF,GAClB,IAAA/tD,EAAuB+tD,EAAmB,QAAjCwa,EAAcxa,EAAmB,UAElDG,EAAS9wF,KAAK,CACVzU,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACka,EAAU7iG,IAAK6iG,EAAU9iG,MAE3C6oF,WAAY,CACR3lG,KAAM,mBACNqwC,MAAOuvE,EACPvoE,QAAO,EACPitD,YAAa,OAGzB,IAEAub,GAAuB1mG,SAAQ,SAACksF,GACpB,IAAAp5C,EAAyBo5C,EAAqB,UAAnCua,EAAcva,EAAqB,UAEtDE,EAAS9wF,KAAK,CACVzU,KAAM,UACNylG,SAAU,CACNzlG,KAAM,QACN0lG,YAAa,CAACka,EAAU7iG,IAAK6iG,EAAU9iG,MAE3C6oF,WAAY,CACR3lG,KAAM,qBACNqwC,MAAOuvE,EACP3zD,UAAS,EACT04C,cAAe,OAG3B,IAEOY,CACX,GAAG,CAACnH,EAAmBshB,GAAsBG,GAAwBf,IAE/DjZ,GAAyBhpG,EAAM0E,SAAQ,WACzC,IAAMukG,EAAc,IAAI,UAAsCjC,GAE9D,OADAiC,EAAYC,KAAKT,IAAe,IACzBQ,CACX,GAAG,CAACR,KAEE,KAAsBzoG,EAAMuE,SAAe,MAAK,GAA/CshB,GAAM,MAAEwiF,GAAS,MAElBc,GAAsBnpG,EAAM0E,SAAQ,WACtC,OAAImhB,GACiBmjF,GAAuBI,YAAYvjF,GAAOwjF,OAAQxjF,GAAOyjF,MAIvE,EACX,GAAG,CAACzjF,GAAQmjF,KACN,KAAgBhpG,EAAMuE,SAAe,MAAK,GAAzC4jG,GAAG,MAAEC,GAAM,MAEZ3O,GAAe,WACjB,GAAI0O,GAAK,CACG,IAAAmB,EAASnB,GAAI5wF,IAAG,KAElBgyF,EAAQpB,GAAI5wF,IAAIiyF,YAEhBC,EAAYF,EAAMG,eAClBC,EAAYJ,EAAMK,eAExBvB,GAAU,CACNiB,KAAI,EACJD,OAAQ,CAACM,EAAUzpF,MAAOypF,EAAU1pF,MAAOwpF,EAAUvpF,MAAOupF,EAAUxpF,QAE9E,CACJ,EA4KM4pF,GAAqB7pG,EAAMkG,aAC7B,SAACka,GACW,IAAA7I,EAAc4wF,GAAG,IAAZ2B,EAAS3B,GAAG,KAEnB4B,EAAkBf,GAAuBgB,UAAU5pF,EAlgB9C,MACA,GAmgBLipF,EAAS,IAAIS,EAAKG,aAExBF,EAAgBztF,SAAQ,SAAC4tF,GACrB,IAAM12D,EAAQ,IAAIs2D,EAAKK,OAAOD,EAAQtB,SAASC,YAAY,GAAIqB,EAAQtB,SAASC,YAAY,IAE5FQ,EAAOe,OAAO52D,EAClB,IAEAj8B,EAAI8yF,UAAUhB,EAClB,GACA,CAAClB,GAAKa,KAGV,OACI,gCACK95F,IAAa,gBAAC,UAAS,CAACtO,UAAWf,EAAG,YACvC,gBAAC,UAAc,CACX2qG,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBxoG,QAAS,EAAAyoG,YACTC,kBA5W4B,SAAC5C,G,MACrCC,GAAOD,GAEC,IAAA5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEE,QAA3B,EAAAD,EAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,EAuWY0zF,UAAWxR,GACXyR,mBAAoBzR,GACpB0R,oCAAkC,GAEjChC,GAAoB5xF,KAAI,SAAC6zF,GACtB,GAAI,YAAaA,EAAQtC,WAAY,CACjC,IAMMzoF,EANiB2oF,GAAuBgB,UAC1CoB,EAAQtC,WAAWuC,WAjiBxB,MACA,GAqiB0C9zF,KAAI,SAAC+zF,GAC1C,OAAOA,EAAcxC,UACzB,IAEA,OACI,gBAAC,UAAoB,CACjBj2F,IAAK,kBAAWu4F,EAAQtC,WAAWuC,YACnCjrF,UAAWgrF,EAAQtC,WAAWuC,WAC9BnrF,IAAKkrF,EAAQxC,SAASC,YAAY,GAClC5oF,IAAKmrF,EAAQxC,SAASC,YAAY,GAClCxoF,kBAAmBA,EACnBF,eAAgB0pF,GAChBvpF,aAAcuF,GAAOyjF,KAAO,IAGxC,CAEA,OAnOiB,SAACR,G,oCAC9B,OAAQA,EAAW3lG,MACf,IAAK,qBACD,OACI,gBAAC,UAAgC,CAC7B0P,IAAK,6BAAsBi2F,EAAWhB,eACtCr7D,SAAU,EAAA+c,cAActlC,QACxBjE,IAAK6oF,EAAWt1D,MAAMvzB,IACtBC,IAAK4oF,EAAWt1D,MAAMtzB,IACtBwpC,UAAWo/C,EAAWt1D,MAAMkW,UAC5B77C,OAAQi7F,EAAWhB,gBAI/B,IAAK,mBACD,OACI,gBAAC,UAAgC,CAC7Bj1F,IAAK,2BAAoBi2F,EAAWrB,aACpCh7D,SAAU,EAAA+c,cAAcvlC,MACxBhE,IAAK6oF,EAAWt1D,MAAMvzB,IACtBC,IAAK4oF,EAAWt1D,MAAMtzB,IACtBwpC,UAAWo/C,EAAWt1D,MAAMkW,UAC5B77C,OAAQi7F,EAAWrB,cAI/B,IAAK,iBACO,IAAA/mF,EAAyBooF,EAAU,SAAzBoa,EAAepa,EAAU,WAE3C,OAAQpoF,EAASvd,MACb,KAAK,EAAA0d,aAAaC,YACd,IAAMH,KAAcD,aAAQ,EAARA,EAAUE,qBAE9B,OACI,gBAAC,UAAsB,CACnBuxC,UAAW,EAAA3I,cAAcvlC,MACzBpR,IAAK,sBAAe6N,EAAStU,IAC7BxL,UAAWf,EAAG,mBACdogB,IAAqB,QAAhB,EAAAS,EAASkmB,eAAO,eAAE0O,SACvBp1B,IAAqB,QAAhB,EAAAQ,EAASkmB,eAAO,eAAE2O,UACvB1nC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaG,cAGd,OAFML,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAsB,CACnBuxC,UAAW,EAAA3I,cAActlC,QACzBrR,IAAK,wBAAiB6N,EAAStU,IAC/BxL,UAAWf,EAAG,mBACdogB,IAAqB,QAAhB,EAAAS,EAASkmB,eAAO,eAAE0O,SACvBp1B,IAAqB,QAAhB,EAAAQ,EAASkmB,eAAO,eAAE2O,UACvB1nC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaK,gBAGd,OAFMP,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAsB,CACnBuxC,UAAW,KACXt/C,IAAK,0BAAmB6N,EAAStU,IACjCxL,UAAWf,EAAG,mBACdogB,IAAqB,QAAhB,EAAAS,EAASkmB,eAAO,eAAE0O,SACvBp1B,IAAqB,QAAhB,EAAAQ,EAASkmB,eAAO,eAAE2O,UACvB1nC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaQ,aAClB,KAAK,EAAAR,aAAaO,eAGd,OAFMT,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAgB,CACb/N,IAAK,sBAAe6N,EAAStU,IAC7BxL,UAAWf,EAAG,mBACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACxBl0C,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaS,aAClB,KAAK,EAAAT,aAAaU,YAClB,KAAK,EAAAV,aAAaW,uBACd,IAAIpgB,EAAQ,EAAAqf,gBAAgB1e,SAU5B,OATI2e,EAASvd,OAAS,EAAA0d,aAAaS,eAC/BlgB,EAAQ,EAAAqf,gBAAgB5H,OAGtB8H,KAAcD,aAAQ,EAARA,EAAUE,wBAE1Bxf,EAAQ,EAAAqf,gBAAgB9J,WAIxB,gBAAC,UAAiB,CACd9D,IAAK,sBAAe6N,EAAStU,IAC7BxL,UAAWf,EAAG,mBACduB,MAAOA,EACP8e,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,WAEtB50B,EAASlJ,OAAS,GAAK,GAIrC,KAAK,EAAAqJ,aAAaa,YAGd,OAFMf,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAuB,CACpBuxC,UAAW,EAAA3I,cAActlC,QACzBrR,IAAK,sBAAe6N,EAAStU,IAC7BxL,UAAWf,EAAG,mBACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACxBznC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAae,UAGd,OAFMjB,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAuB,CACpBuxC,UAAW,EAAA3I,cAAcvlC,MACzBpR,IAAK,wBAAiB6N,EAAStU,IAC/BxL,UAAWf,EAAG,mBACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACxBznC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,KAAK,EAAA8e,aAAaiB,cAGd,OAFMnB,KAAcD,aAAQ,EAARA,EAAUE,qBAG1B,gBAAC,UAAuB,CACpBuxC,UAAW,KACXt/C,IAAK,uBAAgB6N,EAAStU,IAC9BxL,UAAWf,EAAG,mBACdqgB,IAAsB,QAAjB,EAAAQ,aAAQ,EAARA,EAAUkmB,eAAO,eAAE2O,UACxBt1B,IAAsB,QAAjB,EAAAS,aAAQ,EAARA,EAAUkmB,eAAO,eAAE0O,SACxBznC,OAAQq1G,EACR9hH,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,WAI3E,QACI,OAAO,KAInB,QACI,OAAO,KAGnB,CA2DuBypG,CAAyBJ,EAAQtC,WAC5C,KAEHyZ,cAAc,EAAdA,GAAgBhrG,KAAI,SAACmrG,EAAelrG,G,YAAU,OAC3C,gBAAC,UAAQ,CACL3E,IAAK,mBAAY2E,GACjBD,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAuD,QAAtC,EAA2B,QAA3B,EAAAxD,EAAiBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SACzDhgD,UAAW85D,EAAc/1G,KACzBvL,MAAO,EAAAwqG,kBAAkBC,YACzBE,OAAQ,G,IAGfqV,EAAgB7pG,KAAI,SAAC6pG,EAAiB5pG,G,YAC7B06C,EAASmuD,EAAW7oG,GAClB0M,EAAmBk9F,EAAe,QAAzBn9F,EAAUm9F,EAAe,MAE1C,OACI,mCACOn9F,aAAK,EAALA,EAAOqvB,SACN,gBAAC,UAAQ,CACL/7B,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnCzjE,MAAOpiB,EAAMqvB,OACblyC,MAAO,EAAAwqG,kBAAkBE,UACzBC,OAAQ,MAGd75C,aAAM,EAANA,EAAQ2uD,cAAc38F,aAAO,EAAPA,EAASovB,SAC7B,gBAAC,UAAQ,CACL/7B,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnCzjE,MAAOniB,EAAQovB,OACflyC,MAAO,EAAAwqG,kBAAkBE,UACzBC,OAAQ,IAK5B,IACA,gBAAC,UAAQ,CACLx0F,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnCxB,aAAcqa,QAEfT,cAAgB,EAAhBA,GAAkB//G,SACjB,gBAAC,UAAmB,CAChBvB,UAAWf,EAAG,uBACdsF,MAAO88G,EACPjlG,SAAUglG,EACVmB,gCAAiC1B,EAAsBtyF,IAAI,EAAAuyF,cAAcC,sBACzEyB,wBAAyB3B,EAAsBtyF,IAAI,EAAAuyF,cAAcE,cACjEyB,wBAAyB5B,EAAsBtyF,IAAI,EAAAuyF,cAAcG,gBAKrF,IAEA,UAAe6qK,C,sBC9pBf,IAAYriO,EA4DAtyC,E,+FA5DZ,SAAYsyC,GACR,gCACA,sBACA,sBACA,wBACA,4BACA,0CACA,gCACA,sBACA,0BACA,sCACA,kCACA,kCACA,8BACA,oCACA,gCACA,0BACA,4BAEA,cACA,wBAEA,wEACA,gEACA,wEACA,gEACA,oBACA,kBACA,qBACH,CA7BD,CAAYA,IAAoB,uBAApBA,EAAoB,KA4DhC,SAAYtyC,GACR,8CACA,8CACA,mDACH,CAJD,CAAYA,IAAa,gBAAbA,EAAa,I,u7BC9DzB,kBACA,WACA,cACA,cACA,WACA,WAEA,cACA,cACA,WACA,WACA,UACA,cACA,WACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,WACA,cACA,WAEMlY,EAAK,UAAWC,KAAK,WAIrB01E,IAAc,MAAmB,EAAA51E,WAAW+G,OAAQ,GAAE,GAEtDgmR,EAAmC3sR,EAAMC,MAAK,WACxC,IAAAc,GAAM,IAAAC,kBAAgB,EACxByzB,GAAW,IAAAC,eACXhxB,GAAgB,IAAAwS,aAAY,EAAA02Q,kCAE5B9oO,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEEkjD,EAAgBjkD,EAAM0E,SAAQ,WAChC,OAAO,aAAa3D,EAAGy0E,EAC3B,GAAG,CAACz0E,IAEE4Z,GAAS,IAAAC,WAAuB,CAClCE,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAe86D,EACf1xB,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAMtU,GAAQ,IAAAu9C,uBAAsBlpC,EAAO,EAAApb,WAAW+G,QACtD8tB,GAAS,IAAAgtC,eAAc96D,IAEvBsU,EAAcI,WAAW,CAAC,EAC9B,IAGE2G,EAAchiB,EAAM0E,SAAQ,WAC9B,OAAO,aAAchB,EAEzB,GAAG,CAACA,EAAcO,QAEZ,GAA4C,aAAmB+d,GAA7DC,EAAe,kBAAEE,EAAoB,uBAEvC0qQ,GAAkB,aAAyB5qQ,EAAgB,EAAAriB,WAAW+G,QAE5E,OAAIjD,EAAcU,GAEV,gBAAC,UAAU,CAACjE,MAAOY,EAAE,kCAAmCF,aAAa,wBACjE,uBAAKD,UAAWf,EAAG,WACf,uBAAKe,UAAWf,EAAG,iBACf,gBAAC,UAAQ,CAACgC,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,QAQvE,gCACI,gBAAC,UAAkB,MACnB,gBAAC,UAAU,CAACnW,MAAOY,EAAE,gCAAiCF,aAAa,wBAC/D,gBAAC,UAAS,CAACV,MAAOY,EAAE,wCACpB,wBAAMga,SAAUJ,EAAOiB,cACnB,uBAAKhb,UAAWf,EAAG,WACf,uBAAKe,UAAWf,EAAG,UACf,gBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAW+G,MACjB1C,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+G,OAChCoV,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+G,OACrCM,MAAOlG,EAAE,6CACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB4W,WAAY+5P,EACZ75P,gBAAiB7Q,IAEhB,SAACjiB,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW+G,MACjBf,YAAa7E,EAAE,mDACfoE,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+G,OAChCqW,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,MAexB,gBAAC,UAAM,CACHjE,MAAO,EAAA2N,gBAAgB8O,QACvB3O,UAAWxL,EAAcK,QACzBZ,KAAK,SACLvC,UAAWf,EAAG,WAEbkB,EAAE,kCAEP,uBAAKH,UAAWf,EAAG,iBACf,gBAAC,UAAI,CAACuB,MAAO,EAAA8mB,cAAc4kQ,SAAUjsR,aAAa,UAAUunB,GAAI,EAAAy8B,QAAQgsL,mBACnE9vO,EAAE,4CAO/B,IAEA,UAAe4rR,C,kYCnIf,eA0BA,cACA,WAMA,UACA,cAEMlpR,EAA4B,CAC9ByK,MAAO,GACP/H,MAAO,KACPkI,MAAO,KACPE,KAAM,CAAC,EACPs2J,YAAa,CAAC,EACd8kC,oBAAqB,UAAchmM,QACnCopE,cAAe,UAAcppE,QAC7BylD,gBAAiB,UAAczlD,QAC/BqpE,cAAe,UAAcrpE,QAC7B6jN,eAAgB,UAAc7jN,QAC9Bm+C,QAAS,MAGb,mBAAgBl+C,EAAsBC,G,MAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAwyO,+BACO,IAAAhhO,EAAsB9Q,EAAM,WAAhBsC,EAAUtC,EAAM,MAEpC,OAAO,EAAP,KACOD,IACA,IAAA27D,kBAAiB37D,EAAO+Q,EAAYxO,IAG/C,KAAK,EAAA0vO,iCACO1vO,EAAoCtC,EAAM,MAA1C,IAAOkR,EAA6BlR,EAAM,aAElD,OAF6B8Q,EAAe9Q,EAAM,WAE3C,EAAP,KACOD,IACA,IAAA47D,oBAAmB57D,EAAO+Q,EAAYxO,EAAO4O,IAGxD,KAAK,EAAA6gO,+BACO,IAAA3xO,EAA6BJ,EAAM,MAE3C,OAFe8Q,EAAsB9Q,EAAM,WAAhBsC,EAAUtC,EAAM,MAEpC,EAAP,KACOD,IACA,IAAAqiI,kBAAiBriI,EAAO+Q,EAAYxO,EAAOlC,IAGtD,KAAK,EAAAiyO,0BACD,OAAO,EAAP,KACOtyO,GAAK,CACRmpE,cAAe,UAAchpE,UAGrC,KAAK,EAAAqyO,4BACD,OAAO,EAAP,KACOxyO,GAAK,CACRmpE,cAAe,UAAc3oE,KAGrC,KAAK,EAAA+xO,0BAGD,OAFQlyO,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRmpE,cAAe,UAAc7oE,SAASD,KAG9C,KAAK,EAAAoyO,0BACD,OAAO,EAAP,KACOzyO,GAAK,CACRmpE,cAAe,UAAcppE,UAIrC,KAAK,EAAAmyO,iBACO,IAAA1gO,EAAwBvR,EAAM,oBAEtC,OAAO,EAAP,KACOJ,IACA,IAAAm8D,wBAAuBn8D,EAAcG,EAAOwR,IAIvD,KAAK,EAAAmhO,0BACD,OAAO,EAAP,KACO3yO,GAAK,CACRwlD,gBAAiB,UAAcrlD,UAGvC,KAAK,EAAA0yO,4BACD,OAAO,EAAP,KACO7yO,GAAK,CACRwlD,gBAAiB,UAAchlD,KAGvC,KAAK,EAAAoyO,0BAGD,OAFQvyO,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRwlD,gBAAiB,UAAcllD,SAASD,KAGhD,KAAK,EAAAyyO,0BACD,OAAO,EAAP,KACO9yO,GAAK,CACRwlD,gBAAiB,UAAczlD,UAGvC,KAAK,EAAAizO,2BACD,OAAO,EAAP,KACOhzO,GAAK,CACRopE,cAAe,UAAcjpE,UAGrC,KAAK,EAAA+yO,6BACD,OAAO,EAAP,KACOlzO,GAAK,CACRopE,cAAe,UAAc5oE,KAGrC,KAAK,EAAAyyO,2BAGD,OAFQ5yO,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRopE,cAAe,UAAc9oE,SAASD,KAG9C,KAAK,EAAA+yO,2BACD,OAAO,EAAP,KACOpzO,GAAK,CACR4jN,eAAgB,UAAczjN,UAGtC,KAAK,EAAAmzO,6BACO,IAAAvqO,EAAS9I,EAAM,KACvB,OAAO,EAAP,KACOD,GAAK,CACR4jN,eAAgB,UAAcpjN,GAC9B09C,QAASn1C,IAGjB,KAAK,EAAAsqO,2BAGD,OAFQhzO,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACR4jN,eAAgB,UAActjN,SAASD,GACvC69C,QAAS,OAGjB,KAAK,EAAAq1L,2BACD,OAAO,EAAP,KACOvzO,GAAK,CACR4jN,eAAgB,UAAc7jN,QAC9Bm+C,QAAS,OAGjB,KAAK,EAAAyzL,iCACD,OAAO,EAAP,KACO3xO,GAAK,CACR+lM,oBAAqB,UAAc5lM,UAG3C,KAAK,EAAA0xO,mCACO,IAAAxyL,EAAwBp/C,EAAM,OAAtB2zP,EAAgB3zP,EAAM,YAEtC,OAAO,EAAP,KACOD,GAAK,CACRihK,YAAa,EAAF,KACJjhK,EAAMihK,cAAW,OACnB5hH,IAAS,aAAQr/C,EAAMihK,YAAY5hH,GAASu0M,GAAe5zP,EAAMihK,YAAY5hH,GAAUu0M,EAAW,IAEvG7tD,oBAAqB,UAAcvlM,KAG3C,KAAK,EAAAoxO,iCAGD,OAFQvxO,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACR+lM,oBAAqB,UAAczlM,SAASD,KAGpD,KAAK,EAAAI,gBACD,OAAOZ,EAGX,QACI,OAAOG,EAElB,C,q7BC7ND,kBACA,cAEA,cACA,cACA,aACA,cAGW,UAAW9D,KAAK,WA2B3B,UAjByC,SAACI,GAC9B,IAAAyB,EAAsDzB,EAAK,QAAlDqC,EAA6CrC,EAAK,SAAxCC,EAAmCD,EAAK,MAAjCU,EAA4BV,EAAK,UAAtBW,EAAiBX,EAAK,aAEnE,OACI,wBAAC,UAAkB,CACfW,aAAc,UAAGA,EAAY,YAC7Bc,QAASA,EACTa,UAAWD,EACX0E,MAAO9G,EACPS,UAAWA,EACXgB,SAAU,wBAAC,UAAU,MACrB02C,UAAW,wBAAC,UAAU,MACtBt2C,gBAAiB,EAAAC,oBAAoBC,OAGjD,C,umDClCA,eACA,WAMA,WASA,WACA,cACA,aACA,WACA,WACA,WACA,WAEA,SAAU6qR,EAA2BlpR,G,8DAEjC,OADQuI,EAAcvI,EAAM,GAAhBivL,EAAUjvL,EAAM,MAC5B,IAAM,IAAAmJ,MAAI,IAAAgmL,+BAA8B5mL,K,OAGpC,OAHJ,SAGI,GAAM,UAAsBu5C,uBAAuBv5C,EAAI,CAAE0mL,MAAK,K,cAD5D,kBACF,SAAiE,KAD9D7uL,EAAK,MAGR,IAAM,IAAA+I,MAAI,IAAAomL,+BAA8BhnL,EAAInI,KAD5C,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAkmL,iCAAgC9mL,K,OAE1C,OAFA,SAEA,IAAM,IAAAY,MACF,IAAAslG,UACI,IAAI,EAAA6xD,eAAe,CACfhhK,KAAM,EAAAkhK,oBAAoBE,uBAC1B53J,KAAM,CAAC,O,OAJnB,S,iBAUJ,UAAM,IAAAK,MAAI,IAAAu4C,yBAAwBn5C,EAAI,CAAE61B,eAAe,M,cAAvD,SAEA,EAAA+qP,2BAA2BxrP,KAAK,CAAC,GACjC,EAAAyrP,gCAAgCzrP,KAAK,CAAC,G,QAG1C,SAAU0rP,EAA4BrpR,G,kEAGgD,OAF1EuI,EAAgBvI,EAAM,GAAlBxB,EAAYwB,EAAM,QAEoD,IAAM,IAAAiJ,SACpF,IAAAg8E,0BAAyB18E,K,OAE7B,OAHQ49H,EAA0E,SAEjF,2BACI,aAAiBA,EAA2B3nI,GAIjD,IAAM,IAAA2K,MAAI,IAAAwlL,8BAA6BpmL,KAHnC,I,OAMA,OAHJ,SAGI,GAAM,UAAsBm5C,wBAAwBn5C,I,cADlD,kBACF,SAAuD,IADpDnI,EAAK,KAAEqL,EAAO,KAEjBrL,EACA,IAAM,IAAA+I,MAAI,IAAA4lL,8BAA6BxmL,EAAInI,KAD3C,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAA0lL,gCAA+BtmL,EAAIkD,K,OAA7C,S,+BASR,UALA,W,kDACI,UAAM,IAAA7B,WAAU,EAAA8kL,mCAAoC26F,I,OACpD,OADA,SACA,IAAM,IAAAz/Q,WAAU,EAAAslL,2BAA4Bg6F,I,cAA5C,S,uCCzEJ,WAAgB,KAAO,yCAAyC,YAAY,8CAA8C,IAAM,wCAAwC,OAAS,2CAA2C,SAAW,6C,6JCDvO,kBAEA,aACA,cACA,cACA,SAEMltR,EAAK,UAAWC,KAAK,WA6B3B,UArB8C,SAACI,G,MACnC4O,EAA8B5O,EAAK,SAAzBU,EAAoBV,EAAK,UAAdoW,EAASpW,EAAK,KAE3C,OAAI4O,aAAQ,EAARA,EAAU3M,QAAS,EACZ,KAIP,+BACIvB,WAAW,aACPf,EAAG,QAAM,KACL,EAAC,qBAAcyW,GAAQ,EAAA1G,iBAAiBwC,UAAW,E,IAEvDxR,IAGHkO,EAGb,C,82CClCA,kBACA,WAsDA,UArC2C,WACjC,QAAsB,UAAMvK,SAAqC,IAAG,GAAnE8hM,EAAM,KAAE8mF,EAAS,KAElBvzB,GAAe,IAAA1zP,cACjB,SAACkG,GACG+gR,GAAU,SAAC9mF,GAAW,OAAAA,EAAOn3K,QAAO,SAAC+sB,GAAU,OAAAA,EAAM7vC,KAAOA,CAAb,GAAzB,GAC1B,GACA,CAAC+gR,IAGCzM,GAAY,IAAAx6Q,cACd,SAAC,G,IAAE9E,EAAK,QAAE8d,EAAO,UACP68B,GAAU,UAWhB,OATAoxO,GAAU,SAAC9mF,GAAW,UAClB,CACIj6L,GAAI2vC,EACJ36C,MAAK,EACL8d,QAAO,I,EAERmnL,IAAM,EANS,IASf,WACH8mF,GAAU,SAAC9mF,GAAW,OAAAA,EAAOn3K,QAAO,SAAC+sB,GAAU,OAAAA,EAAM7vC,KAAO2vC,CAAb,GAAzB,GAC1B,CACJ,GACA,CAACoxO,IAGL,MAAO,CACH9mF,OAAM,EACNuzD,aAAY,EACZ8mB,UAAS,EAEjB,C,8KCpDA,eAAS,4EAAAr2P,OAAO,G,6KCDhB,IAIYic,EAqBA1mC,EAzBZ,WAEA,YAEA,SAAY0mC,GACR,4BACA,cACA,sBACA,yBACH,CALD,CAAYA,IAAoB,uBAApBA,EAAoB,KAqBhC,SAAY1mC,GACR,gBACA,eACH,CAHD,CAAYA,IAAU,aAAVA,EAAU,KAiBT,EAAAoiR,4BAA8B,EAAI,EAAAziO,UAElC,EAAA6tO,yBAA2B,IAAIp+P,IAAoC,CAC5E,EAAAg+E,0BAA0B1rF,aAC1B,EAAA0rF,0BAA0BlrF,cAC1B,EAAAkrF,0BAA0BprF,W,sBC7C9B,IAAYhiB,E,qEAAZ,SAAYA,GACR,gBACA,2BACH,CAHD,CAAYA,IAAU,aAAVA,EAAU,I,wGCFtB,eAEA,WAeS,EAAAumE,sBAXqB,SAC1B/rD,EACAm3B,GAEA,MAAO,CACHy6D,WAAY5xF,EAAa,EAAAiwC,qBAAqB35C,YAASlK,EAEvD+qC,MAAM,IAAAs7D,qBAAoBt7D,GAElC,C,oICfA,eACA,WACA,WACA,WACA,WAEa,EAAA2wO,+BAAiC,SAACl4M,GACnC,IAAA7mE,EAA+F6mE,EAAI,KAA7Fy0C,EAAyFz0C,EAAI,sBAAtE+Y,EAAkE/Y,EAAI,qBAAhDm7H,EAA4Cn7H,EAAI,oBAA3BgZ,EAAuBhZ,EAAI,mBAErG8G,EAAiB2tC,GAAyB17B,GAAwB,KAClEhS,EAAeo0H,GAAuBniH,GAAsB,KAElE,MAAO,CACHpD,YAAa5V,EAAKwb,OAClBriF,KAAMA,EAAO,EAAA2pG,kBAAkB3pG,GAAQ,EAAA6pG,0BAA0BlnE,QACjES,UAAU,IAAAk7O,wBAAuBz3M,EAAKpjC,SAAW,OAAS,KAC1Dz+B,WACI2oE,GAAkBC,EACZ,CACI7oE,MAAO4oE,EACP7kE,IAAK8kE,GAET,KAElB,EAEa,EAAAmN,iBAAmB,W,MAmB5B,OAlBY,MACP,EAAAt+E,WAAWqkB,OAAQ,KACpB,EAAC,EAAArkB,WAAWymC,OAAQ,CAChB,CACIu5C,aAAa,IAAA6F,qBAAoB,gBACjCtiF,KAAM,EAAA6pG,0BAA0BlsF,YAChC3Y,WAAY,KACZo+B,SAAU,MAEd,CACIq5C,aAAa,IAAA6F,qBAAoB,cACjCtiF,KAAM,EAAA6pG,0BAA0BprF,UAChCzZ,WAAY,KACZo+B,SAAU,O,CAM1B,C,kNC1Ca,EAAAgxM,wBAA0B,yDAC1B,EAAAE,8BAAgC,+DAChC,EAAAI,8BAAgC,+DAChC,EAAAF,gCAAkC,iEAClC,EAAAv/L,MAAQ,sC,+BCPrB,WAAgB,KAAO,sCAAsC,iBAAiB,gDAAgD,eAAe,8CAA8C,kBAAkB,iDAAiD,oBAAoB,mDAAmD,sBAAsB,qDAAqD,qBAAqB,oDAAoD,mBAAmB,kDAAkD,OAAS,wCAAwC,SAAW,0C,6FCD7kB,EAAAnX,aAAe,CACxBC,cAAc,EACdszE,iBAAiB,E,kGCFrB,eACA,WACA,WACA,WAoGS,EAAAxV,gBAlGe,SAAChkF,GACrB,IAAMZ,EAA8B,CAAC,EAE/BtB,EAAOkC,EAAO,EAAApb,WAAWkZ,MAC3BA,IACAsB,EAAa,EAAAiwC,qBAAqB6tH,YAAa,IAAAh0H,uBAAsBprC,IAGzE,IAAMygE,EAAav+D,EAAO,EAAApb,WAAW25E,aACjCA,aAAU,EAAVA,EAAYp3E,UACZiY,EAAa,EAAAiwC,qBAAqB2tH,iBAAmBz+F,GAGzD,IAAMp2E,EAAO6X,EAAO,EAAApb,WAAWw/F,OAC3Bj8F,IACAiX,EAAa,EAAAiwC,qBAAqB8tH,YAAch1K,GAGpD,IAAMo8F,EAAiBvkF,EAAO,EAAApb,WAAW2/F,iBACrCA,aAAc,EAAdA,EAAgBp9F,UAChBiY,EAAa,EAAAiwC,qBAAqB4tH,qBAAuB14E,GAG7D,IAAM7zC,EAAmB1wC,EAAO,EAAApb,WAAW8rD,mBACvCA,aAAgB,EAAhBA,EAAkBvpD,UAClBiY,EAAa,EAAAiwC,qBAAqB+tH,uBAAyB1sH,GAG/D,IAAME,EAAiB5wC,EAAO,EAAApb,WAAWgsD,iBACrCA,aAAc,EAAdA,EAAgBzpD,UAChBiY,EAAa,EAAAiwC,qBAAqBguH,qBAAuBzsH,GAG7D,IAAMtuC,EAActC,EAAO,EAAApb,WAAW0d,cAClCA,aAAW,EAAXA,EAAaka,QACbpd,EAAa,EAAAiwC,qBAAqBoiD,kBAAmB,IAAA4gL,0BAAwB,IAAAz2M,iBAAgBt5D,EAAYka,SAEzGla,aAAW,EAAXA,EAAa8K,MACbhO,EAAa,EAAAiwC,qBAAqBsiD,gBAAiB,IAAA2gL,wBAAsB,IAAA12M,iBAAgBt5D,EAAY8K,MAGzG,IAAM43E,EAAkBhlF,EAAO,EAAApb,WAAWogG,kBACtCA,aAAe,EAAfA,EAAiBxoE,QACjBpd,EAAa,EAAAiwC,qBAAqB2lG,qBAAsB,IAAAq9H,0BACpD,IAAAz2M,iBAAgBopB,EAAgBxoE,SAGpCwoE,aAAe,EAAfA,EAAiB53E,MACjBhO,EAAa,EAAAiwC,qBAAqB4lG,mBAAoB,IAAAq9H,wBAClD,IAAA12M,iBAAgBopB,EAAgB53E,MAIxC,IAAMmiG,EAAiBvvG,EAAO,EAAApb,WAAW6iB,YACrC8nG,aAAc,EAAdA,EAAgB/yF,QAChBpd,EAAa,EAAAiwC,qBAAqB4hD,gBAAiB,IAAAohL,0BAC/C,IAAAz2M,iBAAgB2zC,EAAe/yF,SAGnC+yF,aAAc,EAAdA,EAAgBniG,MAChBhO,EAAa,EAAAiwC,qBAAqB8hD,cAAe,IAAAmhL,wBAAsB,IAAA12M,iBAAgB2zC,EAAeniG,MAG1G,IAAMoiG,EAAiBxvG,EAAO,EAAApb,WAAWga,YACrC4wG,aAAc,EAAdA,EAAgBhzF,QAChBpd,EAAa,EAAAiwC,qBAAqBgiD,gBAAiB,IAAAghL,0BAC/C,IAAAz2M,iBAAgB4zC,EAAehzF,SAGnCgzF,aAAc,EAAdA,EAAgBpiG,MAChBhO,EAAa,EAAAiwC,qBAAqBkiD,cAAe,IAAA+gL,wBAAsB,IAAA12M,iBAAgB4zC,EAAepiG,MAG1G,IAAMo3E,EAAiBxkF,EAAO,EAAApb,WAAW4/F,gBACrCA,IACAplF,EAAa,EAAAiwC,qBAAqBiuH,2BAA6B94E,GAGnE,IAAME,EAAiB1kF,EAAO,EAAApb,WAAW8/F,gBACrCA,IACAtlF,EAAa,EAAAiwC,qBAAqBkuH,2BAA6B74E,GAGnE,IAAME,EAAkB5kF,EAAO,EAAApb,WAAWggG,iBACtCA,IACAxlF,EAAa,EAAAiwC,qBAAqBu1C,iBAAmBA,EACrDxlF,EAAa,EAAAiwC,qBAAqB01C,mBAAqB/kF,EAAO,EAAApb,WAAWmgG,yBAAsBv5F,GAGnG,IAAMy5F,EAAqBjlF,EAAO,EAAApb,WAAWqgG,oBAM7C,OALIA,IACA7lF,EAAa,EAAAiwC,qBAAqB41C,oBAAsBA,EACxD7lF,EAAa,EAAAiwC,qBAAqB61C,sBAAwBllF,EAAO,EAAApb,WAAWsgG,4BAAyB15F,GAGlG4T,CACX,C,+BCpGA,WAAgB,SAAW,+CAA+C,iBAAmB,uDAAuD,OAAS,6CAA6C,SAAW,+C,kuCCDrN,IASKmzQ,EATL,cAEA,aACA,cAEA,cAEM1tR,EAAK,UAAWC,KAAK,YAE3B,SAAKytR,GACD,cACA,eACH,CAHD,CAAKA,IAAAA,EAAQ,KAgBb,IAAMC,EAA4CxtR,EAAMC,MAAK,SAACC,GAEtD,IAAAutR,EAQAvtR,EAAK,SAPL+1C,EAOA/1C,EAAK,gBANLg2C,EAMAh2C,EAAK,eALLo2C,EAKAp2C,EAAK,iBAJLq2C,EAIAr2C,EAAK,gBAHLq7H,EAGAr7H,EAAK,YAFLU,EAEAV,EAAK,UADLW,EACAX,EAAK,aAEH,IAAsBF,EAAMuE,SAAmBgpR,EAASxmN,MAAK,GAA5D8tC,EAAS,KAAE64K,EAAM,KAExB,OACI,uBAAK9sR,WAAW,aAAGf,EAAG,WAAYe,GAAU,qBAAsB,UAAGC,EAAY,wBAC7E,uBAAKD,UAAWf,EAAG,UACf,uBAAKe,UAAWf,EAAG,SACf,uBACIe,UAAWf,EAAG,WAAY,CACtB,qBAAsBg1G,IAAc04K,EAASxmN,OAEjDplE,QAAS,WAAM,OAAA+rR,EAAOH,EAASxmN,KAAhB,GAEd9wB,GAEL,uBACIr1C,UAAWf,EAAG,WAAY,CACtB,qBAAsBg1G,IAAc04K,EAASlxK,QAEjD16G,QAAS,WAAM,OAAA+rR,EAAOH,EAASlxK,MAAhB,GAEd/lE,IAGT,uBAAK11C,UAAWf,EAAG,oBACf,uBACIe,UAAWf,EAAG,YAAa,uBAAwB,CAC/C,sBAAuB4tR,KAG3B,uBAAK7sR,UAAWf,EAAG,QAASq2C,IAEhC,uBACIt1C,UAAWf,EAAG,YAAa,wBAAyB,CAChD,8BAA+Bg1G,IAAc04K,EAASlxK,SAGzD9lE,GAEJglF,IAKrB,IAEA,UAAeiyJ,C,+BCjFf,WAAgB,OAAS,qCAAqC,SAAW,uC,yMCDzE,eACA,WACA,cACA,WAIa,EAAAG,mCAAqC,SAC9C1kM,EACAh8D,GAEA,IAAMiyD,GAAO,IAAAojG,cAAar5F,EAAoBh8D,GACxC3C,GAAY40D,aAAI,EAAJA,EAAM50D,YAAa,GAE/BquL,GACFruL,aAAS,EAATA,EAAW0uB,MAAK,SAACt4B,GACb,OAAOA,EAASvd,OAAS,EAAA0d,aAAaa,aAAehB,EAASvd,OAAS,EAAA0d,aAAaiB,aACxF,MAAM,KAEJpB,EAAWi4L,GAAoB,KACrC,IAAKj4L,EACD,OAAO,KAGX,IAAMk4L,GAAkBl4L,aAAQ,EAARA,EAAUkmB,UAAW,KAC7C,OAAKgyK,IAIA,aAASA,aAAe,EAAfA,EAAiBtjK,YAAc,aAASsjK,aAAe,EAAfA,EAAiBrjK,WAIhE,CACHhP,SAAU,CACNK,SAAS,IAAAiyK,gBAAeD,GACxBr5D,iBAAkB,KAClBoE,kBAAmB,CACftyH,YAAaunL,EAAgBhyL,QAC7BuhC,QAASywJ,aAAe,EAAfA,EAAiBzwJ,QAC1BC,QAASwwJ,aAAe,EAAfA,EAAiBxwJ,QAC1BC,QAASuwJ,aAAe,EAAfA,EAAiBvwJ,QAC1BC,KAAMswJ,aAAe,EAAfA,EAAiBtwJ,MAE3B9U,MAAO,CACHvzB,IAAK24L,EAAgBtjK,UAAY,EACjCp1B,IAAK04L,EAAgBrjK,WAAa,IAG1C/9B,OAAO,aAASkJ,aAAQ,EAARA,EAAUlJ,OAASkJ,EAASlJ,MAAQ,MAvB7C,IAyBf,C,+BClDA,WAAgB,QAAU,2BAA2B,kBAAkB,mCAAmC,mBAAmB,oCAAoC,sBAAsB,uCAAuC,KAAO,wBAAwB,OAAS,0BAA0B,SAAW,4B,+BCA3S,WAAgB,KAAO,sBAAsB,aAAa,4BAA4B,aAAa,4BAA4B,uBAAuB,sCAAsC,uBAAuB,sCAAsC,wBAAwB,uCAAuC,mBAAmB,kCAAkC,QAAU,yBAAyB,oBAAoB,mCAAmC,oBAAoB,mCAAmC,qBAAqB,oCAAoC,gBAAgB,+BAA+B,OAAS,wBAAwB,SAAW,0B,+BCAlpB,WAAgB,6BAA6B,sDAAsD,qCAAqC,8DAA8D,iBAAiB,0CAA0C,2BAA2B,oDAAoD,oBAAoB,6CAA6C,OAAS,kCAAkC,SAAW,oC,+BCAvc,WAAgB,MAAQ,+BAA+B,cAAgB,uCAAuC,sBAAsB,6CAA6C,sBAAsB,6CAA6C,sBAAsB,6CAA6C,sBAAsB,6CAA6C,OAAS,gCAAgC,SAAW,kC,u7BCD9a,IASKo2Q,EATL,cAEA,UACA,cACA,WACA,cACA,aACA,cAEA,SAAKA,GACD,YACA,cACA,uBACH,CAJD,CAAKA,IAAAA,EAAQ,KAMb,IAAMxtJ,IAAQ,MACTwtJ,EAAS3lP,MAAO,uEACjB,EAAC2lP,EAASp8F,WAAY,4EACtB,EAACo8F,EAASt3K,KAAM,sE,GA4FpB,UA7EmC,SAACp2G,GACxB,IAAAU,EAA6DV,EAAK,UAAvD+gN,EAAkD/gN,EAAK,eAAvC8gN,EAAkC9gN,EAAK,oBAAlBkF,EAAalF,EAAK,SAElEa,GAAM,IAAAC,kBAAgB,EAExB6sR,EAAsB7tR,EAAM0E,SAAQ,WACtC,OAAIu8M,EACO2sE,EAAS3lP,KAGhB+4K,EACO4sE,EAASp8F,UAGbo8F,EAASt3K,GACpB,GAAG,CAAC2qG,EAAgBD,IAEd3+M,EAAUrC,EAAM0E,SAAQ,WAC1B,MAAO,CACH,CACI0H,GAAIwhR,EAASt3K,IACbrvG,MAAOlG,EAAEq/H,EAASwtJ,EAASt3K,OAE/B,CACIlqG,GAAIwhR,EAAS3lP,KACbhhC,MAAOlG,EAAEq/H,EAASwtJ,EAAS3lP,QAE/B,CACI77B,GAAIwhR,EAASp8F,UACbvqL,MAAOlG,EAAEq/H,EAASwtJ,EAASp8F,aAGvC,GAAG,CAACzwL,IAEE04F,EAAez5F,EAAMkG,aACvB,SAAC8U,GACG5V,EAAS,CACL67M,eAAgBjmM,IAAW4yQ,EAAS3lP,KACpC+4K,oBAAqBhmM,IAAW4yQ,EAASp8F,WAEjD,GACA,CAACpsL,IAGL,OACI,gBAAC,UAAa,CACVxE,UAAWA,EACXyG,cAAewmR,EACfxrR,QAASA,EACT+C,SAAUq0F,EACVzyF,aAAc,SAACN,GACX,OAAKA,EAIE,gBAAC,UAA0B,CAACwyC,iBAAe,EAACjyC,MAAOP,EAAOO,QAHtD,IAIf,EACA3E,cAAe,SAACpC,EAAOw+G,GACnB,IAAMz3G,EAAQlG,EAAEq/H,GAAS1hB,aAAc,EAAdA,EAAgBtyG,KAAMwhR,EAASt3K,MAExD,OACI,gBAAC,UAAkB,CACfz1G,aAAa,UACbc,QAASzB,EAAMyB,QACfa,UAAWtC,EAAMsC,UACjByE,MAAOA,EACPqxC,UAAW,gBAAC,UAAU,MACtBt2C,gBAAiB,EAAAC,oBAAoBC,OAGjD,EACAwF,eAAgB,SAAChB,GAAW,OAAAA,aAAM,EAANA,EAAQ0F,EAAR,EAC5B3J,gBAAiB,EAAAC,4BAA4BiF,YAGzD,C,w6DC5GA,eACA,WAMA,WACA,WACA,cACA,WACA,WAMA,cACA,cACA,cAEA,WACA,cAEA,SAASmmR,EAAyBjhR,GAC9B,OAAO,SAA+BhJ,G,wFAK+B,OAJzDgsD,EAAYhsD,EAAM,QAEpBkqR,GAAY,IAAAC,6BAA4Bn+N,GAEmB,IAAM,IAAA/iD,SACnE,IAAA8+I,yBAAwBmiI,K,OAE5B,OAHMrqR,EAA2D,UAG5D,aAAiBA,GAItB,IAAM,IAAAsJ,MAAI,IAAA87H,iBAAgBilJ,KAHtB,I,cAGJ,SAEI1gR,EAGO,KAEPR,IAAgB,EAAAK,gBAAgBke,QAAhC,MACS,GAAM,UAAmB6iQ,wBAAwBp+N,I,OAA1DxiD,EAAS,S,iBAGb,IAAKA,EACD,U,GAGE,IAAgCA,EAAM,GAArCpJ,EAAK,OAAEiqR,EAAoB,MAE9B,a,2CACkC,IAAAA,GAAoB,W,sCAA3CC,EAAmB,SACpBv4M,GAAUu4M,aAAmB,EAAnBA,EAAqBv4M,UAAW,OAEtClf,GAAO,IAAA03N,4BAA2Bv+N,EAAS+lB,GAE3CktC,EAAyC,QAAhC,EAAAqrK,aAAmB,EAAnBA,EAAqBtlL,mBAAW,eAAE5mD,QAA2B,SAACC,EAAKu+L,GAC9E,IAAM/2L,GAAY,IAAAk4E,iBAAgB6+G,EAAW4tC,cAC7C,OAAK,aAAS3kO,IAIdxH,EAAItqC,KAAK,CACLqI,IAAKwgO,EAAWnrM,SAChBp1B,IAAKugO,EAAWlrM,UAChBmU,UAAS,IAGNxH,GATIA,CAUf,GAAG,IAEH,IAAM,IAAAl1C,MAAI,IAAAg8H,mBAAkBtyE,EAAMosD,MAlBlC,O,OAkBA,S,8MAKR7+G,EACA,IAAM,IAAA+I,MAAI,IAAAk8H,iBAAgB6kJ,EAAW9pR,KADrC,O,eACA,S,eAEA,UAAM,IAAA+I,MAAI,IAAAg8H,mBAAkB+kJ,EAAW,Q,QAAvC,S,iCAGZ,CAEA,SAASO,EAAmCzhR,GACxC,OAAO,SAA+BhJ,G,oGAC1Bk9G,EAAsBl9G,EAAM,kB,2CAEL,IAAAk9G,GAAiB,W,uCAArCiJ,EAAgB,QACjBukK,GAAqB,IAAA7iI,sCAAqC1hC,GAEC,IAAM,IAAAl9G,SACnE,IAAA8+I,yBAAwB2iI,M,OAE5B,OAHM7qR,EAA2D,UAG5D,aAAiBA,GAItB,IAAM,IAAAsJ,MAAI,IAAA87H,iBAAgBylJ,KAHtB,I,cAGJ,SAEIlhR,EAAwF,KAExFR,IAAgB,EAAAK,gBAAgBsb,QAAhC,MACS,GAAM,UAAmBmmG,iCAAiC3E,I,OAAnE38G,EAAS,S,wBAGTR,IAAgB,EAAAK,gBAAgBC,OAAhC,MACS,GAAM,UAAkBwhH,iCAAiC3E,I,OAAlE38G,EAAS,S,iBAGb,IAAKA,EACD,U,GAGE,IAAgCA,EAAM,GAArCpJ,EAAK,OAAEiqR,EAAoB,MAE9B,a,2CACkC,aAAAA,GAAoB,W,yCAA3CC,EAAmB,SACpBv4M,GAAUu4M,aAAmB,EAAnBA,EAAqBv4M,UAAW,OAEtClf,GAAO,IAAA4qD,qCAAoC0I,EAAkBp0C,GAE7DktC,EAAyC,QAAhC,EAAAqrK,aAAmB,EAAnBA,EAAqBtlL,mBAAW,eAAE5mD,QAC7C,SAACC,EAAKu+L,GACF,IAAM/2L,GAAY,IAAAk4E,iBAAgB6+G,EAAW4tC,cAC7C,OAAK,aAAS3kO,IAIdxH,EAAItqC,KAAK,CACLqI,IAAKwgO,EAAWnrM,SAChBp1B,IAAKugO,EAAWlrM,UAChBmU,UAAS,IAGNxH,GATIA,CAUf,GACA,IAGJ,IAAM,IAAAl1C,MAAI,IAAAg8H,mBAAkBtyE,EAAMosD,MArBlC,Q,QAqBA,S,kNAKR7+G,EACA,IAAM,IAAA+I,MAAI,IAAAk8H,iBAAgBqlJ,EAAoBtqR,KAD9C,O,eACA,S,eAEA,UAAM,IAAA+I,MAAI,IAAAg8H,mBAAkBulJ,EAAoB,Q,QAAhD,S,wNAIhB,CAOA,UALA,SAAyB1hR,G,kDACrB,UAAM,IAAAY,WAAU,EAAAm7H,qBAAsBklJ,EAAyBjhR,K,OAC/D,OADA,SACA,IAAM,IAAAY,WAAU,EAAAo7H,gCAAiCylJ,EAAmCzhR,K,cAApF,S,uCC/JJ,WAAgB,QAAU,uCAAuC,OAAS,sCAAsC,SAAW,wC,q7BCD3H,kBAEA,WACA,cACA,cACA,cACA,WACA,WACA,WACA,WACA,WASM2hR,EAA2CxuR,EAAMC,MAAK,SAACC,GACjD,IAAAU,EAAiDV,EAAK,UAA3ConB,EAAsCpnB,EAAK,YAA9BiyD,EAAyBjyD,EAAK,UAAnB8E,EAAc9E,EAAK,UAEtDa,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZ,OAAO,WACHqpB,GAAS,IAAAsvC,SACb,CACJ,GAAG,CAACtvC,IAEJz0B,EAAMoL,WAAU,WACZqpB,GAAS,IAAA+3O,uBAAsB,CAAExnQ,UAAS,EAAEmtD,UAAS,EAAE7qC,YAAW,IACtE,GAAG,CAACmN,EAAUzvB,EAAWmtD,EAAW7qC,IAEpC,IAAMmnQ,GAAa,IAAAv4Q,aAAY,EAAAo1K,qBACzBojG,GAAY,IAAAx4Q,aAAY,EAAAq1K,iBAExBojG,EAAe,gBAAC,UAAQ,CAAC9sR,UAAW,EAAAC,qBAAqBgG,QACzDsO,EAAiB,gBAAC,UAAiB,CAACvU,UAAW,EAAAC,qBAAqBgG,MAAOwO,KAAM,EAAAC,oBAEnFnV,EAA+B,KAC/BsP,EAAO,GAmBX,OAjBIg+Q,IAAc,EAAArmK,aAAaojE,SAC3BrqL,EAAQ,EAAAq4B,eAAejnB,OACvB9B,EAAO3P,EAAE,sEAGT2tR,IAAc,EAAArmK,aAAa99G,UAC3BnJ,EAAQ,EAAAq4B,eAAerlB,YACvB1D,EAAO3P,EAAE,uEAGR2tR,IACDttR,EAAQ,EAAAq4B,eAAe5gB,KACvBnI,EACM3P,EADCumB,EACC,2DACA,2DAIR,gBAAC,UAAK,CACF1mB,UAAWA,EACXyL,KAAMoiR,EAAar4Q,EAAiBu4Q,EACpCr4Q,KAAM,EAAAilB,cAAc4Q,MACpB/qC,MAAOA,GAAS,EAAAq4B,eAAe5gB,MAE9BnI,EAGb,IAEA,UAAe89Q,C,6JC1Ef,kBACA,cAEA,cACA,WACA,WACA,cACA,WACA,WAIA,cAEA,UAGW,UAAW1uR,KAAK,WAwD3B,UAhD+C,SAACI,GACpC,IAAAqD,EAAcrD,EAAK,UAErBu0B,GAAW,IAAAC,eAET3zB,GAAM,IAAAC,kBAAgB,EAE9B,UAAMoK,WAAU,WACP7H,EAILkxB,GAAS,IAAA8oG,2BAA0Bh6H,KAH/B,IAAAqxB,YAAW,oDAInB,GAAG,CAACrxB,EAAWkxB,IAEf,IAAMhC,GAAuB,IAAAvc,cAAY,IAAAsnH,iCAAgCj6H,IAGzE,OADyC,IAAA2S,cAAY,IAAAkoH,wCAAuC76H,IACvDQ,UAAY0uB,EACtC,wBAAC,UAAa,CAAC4rG,YAAU,IAIhC,gDACI,wBAAC,UAAa,CACVp3H,MAAOlG,EAAE,kDACToE,OAAOstB,aAAoB,EAApBA,EAAsBJ,QAAS,GACtCzsB,YAAa7E,EAAE,qCAEnB,wBAAC,UAAa,CACVkG,MAAOlG,EAAE,sDACToE,OAAOstB,aAAoB,EAApBA,EAAsBC,MAAO,GACpC9sB,YAAa7E,EAAE,qCAEnB,wBAAC,UAAa,CACVkG,MAAOlG,EAAE,gDACToE,OAAOstB,aAAoB,EAApBA,EAAsBF,OAAQ,GACrC3sB,YAAa7E,EAAE,qCAEnB,wBAAC,UAAa,CACVkG,MAAOlG,EAAE,+CACToE,OAAOstB,aAAoB,EAApBA,EAAsBD,MAAO,GACpC5sB,YAAa7E,EAAE,qCAI/B,C,uoECvEA,kBACA,SAEA,IA0BK6tR,EA1BL,cACA,WACA,WACA,WASA,WACA,WACA,WAYA,SAAKA,GACD,oCACA,qCACA,sCACA,qDACA,+CACA,+CACA,mCACH,CARD,CAAKA,IAAAA,EAAe,KAepB,kBAGI,WAAY/oQ,GACR,QAAK,YAAE,K,OAWX,EAAAu1O,oCAAsC,WAClC,OAAO,CACX,EAEQ,EAAAyzB,aAAe,WACnB,EAAKC,KAAKC,aAAe,UAAK/yM,QAClC,EAEA,EAAAihL,mBAAqB,SAAC+xB,GAClB,OAAO,EAAKF,KAAK7xB,mBAAmB+xB,EACxC,EAqBA,EAAA9rN,eAAiB,WAEjB,EAsBA,EAAAqZ,kBAAoB,6BAAUt3B,SAAO,W,wDAGjC,OAFQ6pO,EAAS5pO,KAAI,MAEX4X,YAIO,GAAMgyN,EAAKhyN,YAAYmyN,oBAH7B,CAAC,EAAD,CAAC,KAAM,O,OASlB,MAAO,CAAC,EAAD,CAAC,KAJgC,CACpCl1P,MAHa,SAGGm1P,OAAOn1P,S,QAM/B,EAAAmjO,sBAAwB,6BAAUj4M,SAAO,W,4DAC7B6pO,EAAS5pO,KAAI,K,iBAGM,O,sBAAA,GAAM4pO,EAAKK,qB,OAElC,MAAO,CAAC,EAAD,CAAC,KAFe,SAEM51O,O,OAG7B,O,YADM61O,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAKxB,CAAC,EAAD,CAFW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkBk9K,sBAAuB,EAAM72Q,SAE/D,O,yBAI3B,EAAAujP,2BAA6B,SACzBr1P,EACAujB,GAAgB,kBACjB+6B,SAAO,W,4DACE6pO,EAAS5pO,KAAI,K,iBAGM,O,sBAAA,GAAM4pO,EAAK9yB,2BAA2Br1P,EAAOujB,I,OAEpE,MAAO,CAAC,EAAD,CAAC,KAFe,SAEMqvB,O,OAG7B,O,YADM61O,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAIxB,CAAC,EAAD,CADW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkBm9K,WAAY,EAAM92Q,SACpD,O,yBAI3B,EAAAmjP,UAAY,6BAAU32M,SAAO,W,0DAErB,O,sBAAA,GAAMC,KAAK4pO,KAAKpsN,W,OAChB,OADA,SACO,CAAC,EAAD,CAAC,KAAM,O,OAGd,O,YADM0sN,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAIxB,CAAC,EAAD,CADW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkBo9K,YAAa,EAAM/2Q,SACrD,O,yBAI3B,EAAAg3Q,sBAAwB,SAAOl2O,GAA0B,kBAAG0L,SAAO,W,4DAK/D,GAJMyqO,EAA2C,CAC7CxqP,KAAK,IAAAm4N,uBAAsB,EAAA3qL,eAAevR,UAGzC5nB,EAGD,MAAO,CAAC,EAAD,CAFW,IAAI,EAAAwiN,aAAa,EAAA3pJ,kBAAkBu9K,oBAAqB,+BAEvD,O,iBAInB,O,sBAAA,GAAMp2O,EAAKq2O,sBAAsBF,I,OAEjC,OAFA,SAEO,CAAC,EAAD,CAAC,KAAM,O,OAGd,O,YADMN,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAKxB,CAAC,EAAD,CAFW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkBy9K,0BAA2B,EAAMp3Q,SAEnE,O,yBAI3B,EAAAq3Q,uBAAyB,SAAOnpR,GAAa,kBAAGs+C,SAAO,W,4DACnDC,KAAK2pO,eAEGC,EAAS5pO,KAAI,K,iBAEjB,O,sBAAA,GAAM4pO,EAAKgB,uBAAuBnpR,EAAO,CACrCu+B,IAAKob,OAAO/Z,SAAS7S,U,OAGzB,OAJA,SAIO,CAAC,EAAD,CAAC,KAAM,O,OAGd,O,YADM07P,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAG3B,EAAM1hO,OAASkhO,EAAgBjyH,aAExB,CAAC,EAAD,CADW,IAAI,EAAAo/F,aAAa,EAAA3pJ,kBAAkBuqD,aAAc,EAAMlkJ,SACtD,OAIhB,CAAC,EAAD,CADW,IAAI,EAAAsjP,aAAa,EAAA3pJ,kBAAkB29K,2BAA4B,EAAMt3Q,SACpE,O,yBAI3B,EAAAopD,eAAiB,SAAOnU,EAAcxjC,GAAgB,kBAAG+6B,SAAO,W,4DACpD6pO,EAAS5pO,KAAI,K,iBAGjB,O,sBAAA,GAAM4pO,EAAKkB,qBAAqBtiO,EAAMxjC,I,OAEtC,OAFA,SAEO,CAAC,EAAD,CAAC,KAAM,O,OAGd,O,YADMklQ,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAKxB,CAAC,EAAD,CAFW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkB0qD,mBAAoB,EAAMrkJ,SAE5D,O,yBAI3B,EAAA2pD,OAAS,SAAOz7D,EAAeujB,GAAgB,kBAAG+6B,SAAO,W,kEAC7C6pO,EAAS5pO,KAAI,K,iBAIA,O,sBADX+qO,EAAa,UAAInB,KAAKoB,kBAAkBD,WAAWtpR,EAAOujB,GAC/C,GAAsB,QAAhB,EAAA4kQ,EAAKhyN,mBAAW,eAAEqzN,mBAAmBF,I,OAE5D,MAAO,CAAC,EAAD,CAAC,MAAMG,OAFRA,EAAW,eAEK,EAARA,EAAU72O,OAAQ,O,OAGhC,O,YADM61O,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAKxB,CAAC,EAAD,CAFW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkB0qD,mBAAoB,EAAMrkJ,SAE5D,O,yBAI3B,EAAA6jP,kBAAoB,SAAO5uM,GAAY,kBAAGzI,SAAO,W,4DACrC6pO,EAAS5pO,KAAI,K,iBAGjB,O,sBAAA,GAAM4pO,EAAKuB,gBAAgB3iO,I,OAC3B,OADA,SACO,CAAC,EAAD,CAAC,KAAM,O,OAGd,O,YADM0hO,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAKxB,CAAC,EAAD,CAFW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkB+5K,sBAAuB,EAAM1zQ,SAE/D,O,yBAI3B,EAAA4jE,6BAA+B,SAC3B11E,EACAujB,GAAgB,kBACjB+6B,SAAO,W,kEACE6pO,EAAS5pO,KAAI,KACb4X,GAAgBgyN,GAAQ,CAAC,GAAC,Y,iBAIP,O,sBADjBmB,EAAa,UAAInB,KAAKoB,kBAAkBD,WAAWtpR,EAAOujB,GACzC,GAAM4yC,aAAW,EAAXA,EAAauf,6BAA6B4zM,I,OAEvE,MAAO,CAAC,EAAD,CAAC,MAAMK,OAFRA,EAAiB,eAEK,EAAdA,EAAgB/2O,OAAQ,O,OAGtC,O,YADM61O,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAKxB,CAAC,EAAD,CAFW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkB2qD,iCAAkC,EAAMtkJ,SAE1E,O,yBAI3B,EAAAgkE,eAAiB,SAAOL,GAAmB,kBAAGn3B,SAAO,W,8DACzC6pO,EAAS5pO,KAAI,KACb4X,GAAgBgyN,GAAQ,CAAC,GAAC,Y,iBAG9B,O,sBAAA,GAAMhyN,aAAW,EAAXA,EAAa+E,eAAeua,I,OAClC,OADA,SACO,CAAC,EAAD,CAAC,KAAM,O,OAGd,O,YADMgzM,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAKxB,CAAC,EAAD,CAFW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkBm+K,mBAAoB,EAAM93Q,SAE5D,O,yBAI3B,EAAAmkE,cAAgB,SAAO5qE,EAAqBw+Q,GAAiB,kBAAGvrO,SAAO,W,8DAC3D6pO,EAAS5pO,KAAI,KACb4X,GAAgBgyN,GAAQ,CAAC,GAAC,Y,iBAG9B,O,sBAAA,GAAMhyN,aAAW,EAAXA,EAAa8f,cAAc,CAC7B5qE,YAAW,EACXw+Q,SAAQ,K,OAEZ,OAJA,SAIO,CAAC,EAAD,CAAC,KAAM,O,OAGd,O,YADMpB,EAAoBlqO,KAAKmqO,kBAAkB,IAEtC,CAAC,EAAD,CAACD,EAAmB,OAKxB,CAAC,EAAD,CAFW,IAAI,EAAArzB,aAAa,EAAA3pJ,kBAAkBq+K,kBAAmB,EAAMh4Q,SAE3D,O,yBAI3B,EAAA2+J,mCAAqC,W,MAIjC,MAAO,CACHjzI,SAAU,EAAAuuC,eAAevR,OACzBtpD,QAAQ,IAAAC,cAAW,KACf,EAAC,EAAAC,cAAc24Q,wBAAwB,E,IAGnD,EAEA,EAAAvzB,8BAAgC,WAC5B,OAAO,CACX,EAEA,EAAAtsB,gBAAkB,SACdzvK,G,MAKA,MAAO,CACHj9B,SAAU,EAAAuuC,eAAevR,OACzBtpD,QAAQ,IAAAC,cAAW,KACf,EAAC,EAAAC,cAAcqpD,WAAYA,E,IAGvC,EAEA,EAAAo8L,gBAAkB,WACd,OAAO,EAAA9qL,eAAetQ,MAC1B,EAEA,EAAAs7L,wBAA0B,WACtB,OAAO,EAAAhrL,eAAe6wJ,cAC1B,EAEA,EAAAo6B,wBAA0B,WACtB,OAAO,EAAAjrL,eAAe+J,cAC1B,EAEA,EAAA8gL,iBAAmB,WACf,MAAM,IAAIh4G,MAAM,4BACpB,EAEA,EAAAwgG,kBAAoB,6BAAU9gM,SAAO,W,2BACjC,MAAM,IAAIsgG,MAAM,4B,QAGpB,EAAA22G,eAAiB,6BAAUj3M,SAAO,W,2BAC9B,MAAO,CAAC,EAAD,CAAC,KAAM,M,QAzWd,UAAI0rO,cAAc9qQ,GAElB,EAAKipQ,KAAO,UAAIA,OAEZxuO,OAAOswO,qBACP,EAAK9B,KAAK+B,SAAWvwO,OAAOswO,oB,CAEpC,CAoWJ,OAjXyC,OA2B7B,YAAAvB,kBAAR,SAA0BprR,G,MAChB6sR,IAAW,MACZlC,EAAgBv8K,sBAAuB,EAAAD,kBAAkBC,qBAC1D,EAACu8K,EAAgBnyH,mBAAoB,EAAArqD,kBAAkBqqD,kBACvD,EAACmyH,EAAgBlyH,mBAAoB,EAAAtqD,kBAAkBsqD,kBACvD,EAACkyH,EAAgB/xH,cAAe,EAAAzqD,kBAAkByqD,aAClD,EAAC+xH,EAAgBjkG,eAAgB,EAAAv4E,kBAAkBu4E,cACnD,EAACikG,EAAgBhyH,cAAe,EAAAxqD,kBAAkBwqD,aAClD,EAACgyH,EAAgBjyH,cAAe,EAAAvqD,kBAAkBuqD,a,GAGhDo0H,GAAgB9sR,aAAK,EAALA,EAAOypD,MAAOojO,EAAY7sR,EAAMypD,MAAQ,KAC9D,OAAIzpD,aAAK,EAALA,EAAOypD,OAAQqjO,EACR,IAAI,EAAAh1B,aAAag1B,EAAe9sR,EAAMwU,SAG1C,IACX,EAMM,YAAA6iP,aAAN,W,qBAAsBr2M,SAAO,W,iCAGzB,OAFQ6pO,EAAS5pO,KAAI,MAEX4X,YAMH,CAAP,EAFgBgyN,EAAKhyN,YAAYk0N,cAHtB,CAAP,EAAO,K,QAQT,YAAA91E,eAAN,W,qBAAwBj2J,SAAO,W,wDACb,SAAMC,KAAKo2M,gB,OAEzB,OAFMC,EAAQ,SAEP,CAAP,EAAO,CACHI,cAAe,iBAAUJ,K,QA+SrC,EAjXA,CAAyC,EAAA3sF,iBAA5B,EAAAqiH,oBAAAA,EAmXA,EAAAC,uBAAyB,WAClC,IACI,OAAO1tN,KAAKM,MAAMxjB,OAAO6wO,4BAC7B,CAAE,MAAOltR,GAGL,OAFA,IAAAy/D,UAAS,gCAAiCz/D,GAEnC,CAAC,CACZ,CACJ,C,6JCvaA,IAOMmtR,EAPN,YAOqB,QAAM9tR,cAA4B,CACnDqjQ,oBAAoB,EACpBuZ,uBAAwB,WAExB,IAGJ,UAAekR,C,q2BCdf,kBACA,YACA,WAQMC,EAA4CrxR,EAAMC,MAAK,SAACC,GAClD,IAAAU,EAAqCV,EAAK,UAA/B0jM,EAA0B1jM,EAAK,OAAvBsU,EAAkBtU,EAAK,cAE1Ca,GAAM,IAAAC,kBAAgB,EAE1BiG,EAAQlG,EAAE,yCACVK,EAA4B,EAAA0S,0BAA0BC,UAO1D,OALI6vL,IACA38L,EAAQlG,EAAE,qCACVK,EAAQ,EAAA0S,0BAA0BO,UAIlC,gBAAC,UAAS,CAACI,UAAQ,EAAC7T,UAAWA,EAAWQ,MAAOA,EAAOoT,cAAeA,GAClEvN,EAGb,IAEA,UAAeoqR,C,q7BC9Bf,kBAEA,WAEA,cACA,aACA,WAIMC,EAAqCtxR,EAAMC,MAAK,WAClD,OACI,gBAAC,EAAAukC,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAAgmB,eAAeie,oBACxB,gBAAC,UAAsB,OAE3B,gBAAC,EAAAlkC,MAAK,CAACC,KAAK,KACR,gBAAC,UAAmB,OAIpC,IAEA,UAAe4sP,C,+BCtBf,WAAgB,oBAAoB,oCAAoC,MAAQ,wBAAwB,iBAAiB,iCAAiC,kBAAkB,kCAAkC,eAAe,+BAA+B,OAAS,yBAAyB,SAAW,2B,q7BCDzS,kBACA,WACA,cACA,WAEA,WACA,cACA,WAqDA,UAjDiD,SAACpxR,GACtC,IAAAyM,EAAyEzM,EAAK,KAAxEE,EAAmEF,EAAK,SAA9DQ,EAAyDR,EAAK,QAArD2jD,EAAgD3jD,EAAK,yBAA3Bm1E,EAAsBn1E,EAAK,kBAEhFqxR,GAAwB,IAAAr7Q,cAAY,IAAA0uJ,6BAA4Bj4J,EAAKpJ,YAG3E,OAFA,aAA4BguR,EAAuBnxR,GAAYM,GAE1DA,EA8BD,gBAAC,UAAuB,CACpB6C,UAAWoJ,EAAKpJ,UAChBi3C,QAAS,KACT95C,QAASA,EACTiO,SAAUjO,EACVmjD,yBAA0BA,EAC1BqN,qBAxByB,SAAC9B,GAC9BimB,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuBklB,eAC7BjsD,UAAWoJ,EAAKpJ,UAChB6rD,UAAS,GAEjB,EAmBQ3U,mBAjCuB,SAACD,GAC5B66B,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB6mB,aAC7B5tD,UAAWoJ,EAAKpJ,UAChBi3C,QAAO,GAEf,EA4BQzF,kBAlBsB,SAAChvC,EAAiBwrD,GAC5C8jB,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAWoJ,EAAKpJ,UAChBC,YAAa+tD,EAAe,EAAAhpC,gBAAgBpb,OAAS,EAAAob,gBAAgBC,QACrEziB,OAAM,GAEd,IA1BW,IAwCf,C,u2BC1DA,kBACA,WACA,WAMM+wQ,IAAO,MACR,EAAA0a,4BAA4BxtQ,OAAQ,sCACrC,EAAC,EAAAwtQ,4BAA4BttQ,SAAU,4BACvC,EAAC,EAAAstQ,4BAA4BvtQ,OAAQ,0B,GAGnCwtQ,EAAgDzxR,EAAMC,MAAK,SAACC,GACtD,IAAAwxR,EAAuBxxR,EAAK,mBAE5Ba,GAAM,IAAAC,kBAAgB,EAE9B,OAAK0wR,EAIE,4BAAO3wR,EAAE+1Q,EAAQ4a,KAHb,IAIf,IAEA,UAAeD,C,q7BC1Bf,kBACA,cACA,aAEA,aAEM5xR,EAAK,UAAWC,KAAK,WAOrB6xR,EAA+B3xR,EAAMC,MAAK,SAACC,GACrC,IAAA4O,EAAwB5O,EAAK,SAAnBU,EAAcV,EAAK,UAErC,OAAO,uBAAKU,WAAW,aAAGf,EAAG,QAASe,IAAakO,EACvD,IAEA,UAAe6iR,C,yECnBf,eACA,WACA,WACA,WAgEA,UA9DwB,SAAC32Q,G,MACfZ,IAAY,MACb,EAAAiwC,qBAAqBxuC,YAAab,EAAO,EAAApb,WAAWic,kBAAerV,EACpE,EAAC,EAAA6jD,qBAAqBhuC,cAAerB,EAAO,EAAApb,WAAWyc,oBAAiB7V,EAExE,EAAC,EAAA6jD,qBAAqB5sC,eAAgBzC,EAAO,EAAApb,WAAW6d,qBAAkBjX,EAE1E,EAAC,EAAA6jD,qBAAqB1tC,gBAAgB,IAAAunC,uBAAsBlpC,EAAO,EAAApb,WAAW+c,sBAAmBnW,EACjG,EAAC,EAAA6jD,qBAAqBptC,iBAAiB,IAAAinC,uBAAsBlpC,EAAO,EAAApb,WAAWqd,uBAAoBzW,EAEnG,EAAC,EAAA6jD,qBAAqB8qE,qBAAiB3uH,EACvC,EAAC,EAAA6jD,qBAAqB+qE,mBAAe5uH,EAErC,EAAC,EAAA6jD,qBAAqB4qE,sBAAkBzuH,EACxC,EAAC,EAAA6jD,qBAAqB6qE,oBAAgB1uH,EAEtC,EAAC,EAAA6jD,qBAAqB9sC,aAAcvC,EAAO,EAAApb,WAAW2d,mBAAgB/W,EACtE,EAAC,EAAA6jD,qBAAqB7sC,eAAgBxC,EAAO,EAAApb,WAAW4d,qBAAkBhX,EAE1E,EAAC,EAAA6jD,qBAAqBoiD,sBAAkBjmG,EACxC,EAAC,EAAA6jD,qBAAqBsiD,oBAAgBnmG,EAEtC,EAAC,EAAA6jD,qBAAqB3sC,QAAS1C,EAAO,EAAApb,WAAW8d,cAAWlX,EAC5D,EAAC,EAAA6jD,qBAAqB1sC,gBAAiB3C,EAAO,EAAApb,WAAW+d,sBAAmBnX,E,GAG1E0W,EAAclC,EAAO,EAAApb,WAAWsd,aACtC,GAAIA,aAAW,EAAXA,EAAasa,KAAM,CACnB,IAAM1K,GAAO,IAAA8pD,iBAAgB15D,EAAYsa,MACzCpd,EAAa,EAAAiwC,qBAAqB8qE,iBAAkB,IAAAk4J,yBAAwBvgQ,EAChF,EAEI5P,aAAW,EAAXA,EAAakL,MACP0E,GAAO,IAAA8pD,iBAAgB15D,EAAYkL,IACzChO,EAAa,EAAAiwC,qBAAqB+qE,eAAgB,IAAAk4J,uBAAsBxgQ,IAG5E,IAAMzP,EAAerC,EAAO,EAAApb,WAAWyd,eACnCA,aAAY,EAAZA,EAAcma,QACR1K,GAAO,IAAA8pD,iBAAgBv5D,EAAama,MAC1Cpd,EAAa,EAAAiwC,qBAAqB4qE,kBAAmB,IAAAo4J,yBAAwBvgQ,KAG7EzP,aAAY,EAAZA,EAAc+K,MACR0E,GAAO,IAAA8pD,iBAAgBv5D,EAAa+K,IAC1ChO,EAAa,EAAAiwC,qBAAqB6qE,gBAAiB,IAAAo4J,uBAAsBxgQ,IAG7E,IAAMxP,EAActC,EAAO,EAAApb,WAAW0d,aAWtC,OAVIA,aAAW,EAAXA,EAAaka,QACP1K,GAAO,IAAA8pD,iBAAgBt5D,EAAYka,MACzCpd,EAAa,EAAAiwC,qBAAqBoiD,kBAAmB,IAAA4gL,yBAAwBvgQ,KAG7ExP,aAAW,EAAXA,EAAa8K,MACP0E,GAAO,IAAA8pD,iBAAgBt5D,EAAY8K,IACzChO,EAAa,EAAAiwC,qBAAqBsiD,gBAAiB,IAAA2gL,uBAAsBxgQ,IAGtE1S,CACX,C,q7BCjEA,kBAEA,cACA,cAEA,cAOMva,EAAK,UAAWC,KAAK,WAErBspB,EAA+BppB,EAAMC,MAAK,SAACC,GACrC,IAAA41F,EAAsB51F,EAAK,OAAnBU,EAAcV,EAAK,UAEnC,OACI,uBAAKU,UAAWf,EAAG,WACf,gBAAC,UAAgB,CAAC2U,eAAa,EAAC5T,UAAWA,EAAW0oB,OAAQwsE,aAAM,EAANA,EAAQxsE,SAGlF,IAEA,UAAeF,C,6ZCxBf,eACI,uFAAAkpG,qBAAqB,IACrB,4FAAA43J,0BAA0B,IAC1B,8FAAAG,4BAA4B,IAC5B,4FAAAD,0BAA0B,IAC1B,mFAAA73J,iBAAiB,IACjB,wFAAA+3J,sBAAsB,IACtB,0FAAAE,wBAAwB,IACxB,wFAAAD,sBAAsB,IACtB,qFAAA/3J,mBAAmB,IACnB,0FAAAi4J,wBAAwB,IACxB,4FAAAE,0BAA0B,IAC1B,0FAAAD,wBAAwB,IACxB,iFAAAkH,eAAe,G,q7BCbnB,kBAEA,aACA,cAEA,cAEA,WACA,cAUM/xR,EAAK,UAAWC,KAAK,WAErB+xR,EAAmC7xR,EAAMC,MAAK,SAACC,GACzC,IAAAiF,EAA0DjF,EAAK,MAAxDmH,EAAmDnH,EAAK,cAAzC8c,EAAoC9c,EAAK,SAA/BqF,EAA0BrF,EAAK,WAAnBU,EAAcV,EAAK,UAE/Da,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAK,CACFJ,WAAW,aAAGf,EAAG,SAAUe,GAC3BqG,MACI,wBAAMrG,UAAWf,EAAG,iBACfkB,EAAE,kEAA2DoE,KAGtEI,WAAYA,EACZ8B,cAAeA,EACflC,MAAOA,EACP6X,SAAUA,GAGtB,IAEA,UAAe60Q,C,kYCzCf,eAUA,cACA,UAEMpuR,EAAqC,CACvCspE,cAAe,UAAcppE,QAC7Bg2C,aAAc,UAAch2C,QAC5BgJ,KAAM,MAGV,mBACI/I,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAA83G,oCACD,OAAO,EAAP,KACOr3G,GAAK,CACR+1C,aAAc,UAAc51C,UAGpC,KAAK,EAAAm3G,sCACO,IAAAvuG,EAAS9I,EAAM,KAEvB,OAAO,EAAP,KACOD,GAAK,CACR+I,KAAI,EACJgtC,aAAc,UAAcv1C,KAIpC,KAAK,EAAA+2G,oCACO,IAAAl3G,EAAUJ,EAAM,MAExB,OAAO,EAAP,KACOD,GAAK,CACR+1C,aAAc,UAAcz1C,SAASD,KAI7C,KAAK,EAAAm3G,qCACD,OAAO,EAAP,KACOx3G,GAAK,CACRmpE,cAAe,UAAchpE,UAGrC,KAAK,EAAAs3G,uCACD,OAAO,EAAP,KACOz3G,GAAK,CACRmpE,cAAe,UAAc3oE,KAIrC,KAAK,EAAAk3G,qCAGD,OAFQr3G,EAAUJ,EAAM,MAEjB,EAAP,KACOD,GAAK,CACRmpE,cAAe,UAAc7oE,SAASD,KAG9C,KAAK,EAAAI,gBACD,OAAOZ,EAEX,QACI,OAAOG,EAElB,C,sBCzED,IAAYqjF,EAUArnF,E,uJAVZ,SAAYqnF,GACR,4BACA,sBACA,gBACA,4BACA,mBACH,CAND,CAAYA,IAAuB,0BAAvBA,EAAuB,KAQtB,EAAA6qM,wBAA0B,sCAEvC,SAAYlyR,GACR,qBACH,CAFD,CAAYA,IAAU,aAAVA,EAAU,KAmCT,EAAAurH,4BAA8B,IAAIn8F,IAAgC,CAC3E,eACA,oBACA,aACA,mB,+BCnDJ,WAAgB,KAAO,6BAA6B,OAAS,+BAA+B,SAAW,iC,+BCAvG,WAAgB,cAAgB,uCAAuC,wBAAwB,+CAA+C,qBAAqB,4CAA4C,0BAA0B,iDAAiD,OAAS,gCAAgC,SAAW,kC,6JCD9U,kBACA,WACA,cAEA,cACA,cAOM+iQ,GAJK,UAAWjyR,KAAK,WAImB,UAAMG,MAAK,SAACC,GAC9C,IAAA4O,EAAa5O,EAAK,SAEpB8xR,EAAiB,UAAMn/P,WAAW,WACxC,OAAKm/P,aAAc,EAAdA,EAAgBvmR,UAId,IAAA2jC,cAAatgC,EAAUkjR,EAAevmR,SAHlC,IAIf,KAEA,UAAesmR,C,kYCvBf,kBACA,UAEA,WACA,WACA,UACA,cACA,cAGA,cACA,WAsBME,EAAkD,UAAMhyR,MAAK,SAACC,GAE5D,IAAA8a,EAUA9a,EAAK,OATL0F,EASA1F,EAAK,YARL8c,EAQA9c,EAAK,SAPLqF,EAOArF,EAAK,WANLmF,EAMAnF,EAAK,WALLoF,EAKApF,EAAK,SAJLwF,EAIAxF,EAAK,WAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLuC,EACAvC,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExBqB,EAAU,UAAMqC,SAAQ,WAC1B,MAAO,CAAC,EAAAirB,kBAAkBC,MAAO,EAAAD,kBAAkBvE,QAAS,EAAAuE,kBAAkBnH,SAASjR,KAAI,SAACpU,GACxF,MAAO,CACH8D,MAAOlG,EAAE,EAAA2uB,yBAAyBvsB,IAClCgC,MAAOhC,EAEf,GACJ,GAAG,CAACpC,IAsCJ,OACI,wBAAC,UAAqB,CAClBwyF,eAAgBv4E,EAChBpV,YAAaA,EACbvD,QAASA,EACT+C,SAXa,SAAC4V,GAClBgC,EAAShC,EACb,EAUQzV,WAAYA,EACZyB,aArBa,SAACN,GAClB,OAAKA,EAIE,wBAAC,UAAiB,CAACwT,SAAUxT,EAAOvB,QAHhC,IAIf,EAgBQ7C,cA5Cc,SAClBpC,EACAmC,EACAuD,GAEA,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAO,wBAAC,UAAyB,KAAKjC,GAAQ0F,GAAe,IAGjE,GAAuB,IAAnBvD,EAAQF,OAAc,CACtB,IAAMsxF,EAAcpxF,aAAO,EAAPA,EAAU,GAE9B,OAAO,wBAAC,UAAyB,KAAKnC,GAAQuzF,aAAW,EAAXA,EAAaxsF,MAC/D,CAEA,OACI,wBAAC,UAAyB,KAAK/G,GAC3B,wBAAC,UAA+B,CAAC4C,MAAOT,EAAQF,SAG5D,EAyBQuF,eAXe,SAAChB,GAAkC,OAAAA,EAAOvB,KAAP,EAYlD1C,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEtC,WAAYA,EACZC,SAAUA,EACVI,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACT5E,aAAa,kBACb+G,QAAS,WACLoV,EAAS,GACb,GAGZ,IAEA,UAAei1Q,C,0pCCtHf,kBACA,aACA,cACA,cACA,cACA,cACA,WACA,UAKA,WAOMpyR,EAAK,UAAWC,KAAK,WAyBrBoyR,EAA+BlyR,EAAMC,MAAK,SAACC,GACrC,IAAAU,EAA4CV,EAAK,UAAtCW,EAAiCX,EAAK,aAAxBmsC,EAAmBnsC,EAAK,QAAf+D,EAAU/D,EAAK,MAEjDa,GAAM,IAAAC,kBAAgB,EAExB2/B,EAAU3gC,EAAM0E,SAAQ,WAC1B,OAAO,IAAAqyF,+BAA8B9yF,GAAS,KAClD,GAAG,CAACA,IAEAkuR,EAA2C,CAC3ChyR,MAAOY,EAAE,mDACT0X,QAAS1X,EAAE,yDACX4/B,QAAO,GAyCX,OAtCI18B,KACI,IAAAwpQ,qBAAoBxpQ,GACpBkuR,EAAmB,EAAH,KACTA,GAAgB,CACnBhyR,MAAOY,EAAE,0CACT0X,QAAS1X,EAAE,kDA3CE,SAACkD,GAC1B,UAAK,IAAA2rG,wBAAuB3rG,IAGC,MAAzBA,EAAMolL,mBAGN,IAAA3qG,gCAA+Bz6E,IAE3BA,EAAM06E,UAAY,EAAAC,mCAAmC4zB,cACrDvuG,EAAM06E,UAAY,EAAAC,mCAAmC6zB,iBAIjE,CA+BmB2/K,CAAqBnuR,GAC5BkuR,EAAmB,EAAH,KACTA,GAAgB,CACnBhyR,MAAOY,EAAE,wCACT0X,QAAS,QAEN,IAAAsyK,0BAAyB9mL,GAChCkuR,EAAmB,EAAH,KACTA,GAAgB,CACnBhyR,MAAOY,EAAE,6CACT0X,QAAS,SAGb,IAAAimE,gCAA+Bz6E,IAC9BA,EAAM06E,UAAY,EAAAC,mCAAmCwqG,sBAClDnlL,EAAM06E,UAAY,EAAAC,mCAAmCuqG,mBAOlD,IAAAmkF,uBAAsBrpQ,KAC7BkuR,EAAmB,EAAH,KACTA,GAAgB,CACnBhyR,MAAOY,EAAE,4CACT0X,QAAS,QATb05Q,EAAmB,EAAH,KACTA,GAAgB,CACnBhyR,MAAOY,EAAE,4CACT0X,QAAS,QAYjB,uBAAK7X,WAAW,aAAGA,EAAWf,EAAG,WAC7B,gBAAC,UAAgB,GACbe,UAAWf,EAAG,WACdgB,aAAcA,EACdwL,KAAM,gBAAC,UAAc,OACjB8lR,EAAgB,CACpB37Q,cAAe,CACX61B,EACM,CACIv9B,SAAU/N,EAAE,2DACZY,QAAS0qC,GAEb,SAK1B,IAEA,UAAe6lP,C,mRCnHf,eACA,WAGa,EAAAG,iCAAmC,SAACzuR,GAC7C,OAAAA,EAAMirD,QAAQv/C,QAAQqqC,YAAtB,EAES,EAAAq6H,kCAAoC,SAACpwK,GAC9C,OAAAA,EAAMirD,QAAQv/C,QAAQy9D,aAAtB,EAES,EAAAulN,gCAAkC,SAAC1uR,GAC5C,OAAAA,EAAMirD,QAAQv/C,QAAQijR,WAAtB,EAES,EAAAC,kCAAoC,SAAC5uR,GAC9C,OAAAA,EAAMirD,QAAQv/C,QAAQmjR,aAAtB,EAES,EAAA39P,yBAA2B,SAAClxB,GAAgD,OAAAA,EAAMirD,QAAQv/C,QAAQf,IAAtB,EAE5E,EAAAgtN,yBAA2B,SAACnvN,GACrC,OAAO,IAAAq0F,gBACH,EAAA3+D,kBACA,EAAAhN,0BACA,SAAC+M,EAAasxC,GACV,IAAMt+C,EAAiBs+C,EAAmB/mE,IAAqB,KAEzDsmR,KAAuB79P,aAAc,EAAdA,EAAgB69P,oBAEvCC,KAAyB99P,aAAc,EAAdA,EAAgB89P,sBAE/C,MAAO,CACHn+C,gBAAiB3yM,EAAY2yM,iBAAmBk+C,EAChD79C,cAAehzM,EAAYgzM,eAAiB69C,EAC5CE,kBAAmB/wP,EAAY+wP,mBAAqBF,EACpDG,iBAAkBhxP,EAAYgxP,kBAAoBH,EAClDI,yBAAyB,EAEzBC,kBAAmBlxP,EAAYkxP,mBAAqBL,EACpDM,gBAAiBnxP,EAAYmxP,iBAAmBN,EAChDO,oBAAqBpxP,EAAYoxP,qBAAuBP,EACxDQ,mBAAoBrxP,EAAYqxP,oBAAsBR,EACtDS,2BAA2B,EAG3B96I,mBAAoBs6I,EACpBS,mBAAoBT,EACpB9+F,mBAAoB8+F,EACpB76I,iBAAkB66I,EAClB9vP,mBAAoB8vP,EAE5B,GAER,C,+BCpDA,WAAgB,KAAO,yCAAyC,eAAe,iDAAiD,sBAAsB,wDAAwD,6BAA6B,+DAA+D,2BAA2B,6DAA6D,QAAU,4CAA4C,0BAA0B,4DAA4D,0BAA0B,4DAA4D,OAAS,2CAA2C,SAAW,6C,+BCAnqB,WAAgB,KAAO,6CAA6C,MAAQ,8CAA8C,OAAS,+CAA+C,OAAS,+CAA+C,SAAW,iD,s9CCDrP,kBAGA,WACA,WACA,cACA,cACA,WACA,WAUa,EAAA33K,eAAiB,SAC1Bq4K,EACAj2K,GAEQ,IAAAr8G,GAAM,IAAAC,kBAAgB,EAGtBsyR,GADY,IAAAp9Q,aAAY,EAAA4rB,mBACiB,0BAE3C4rC,EAAS2lN,EAAWjnR,GAE1B,OAAOpM,EAAM0E,SAAQ,WACjB,OAAKgpE,EAIE,EAAP,KACQ4lN,EACE,CACI,CACIrsR,MACI,gBAAC,UAA0B,CACvBoF,KAAM,gBAAC,UAAU,CAACxK,UAAW,EAAAC,qBAAqBkS,YAClD/M,MAAOlG,EAAE,iDAGjBqE,SAAU,WAAM,OAAAg4G,EAAUrC,SAASrtC,EAAnB,IAGxB,KAAG,GAhBF,EAmBf,GAAG,CAAC3sE,EAAGq8G,EAAUrC,SAAUrtC,EAAQ4lN,GACvC,C,89CCnDA,eAIA,WACA,cACA,cACA,WACA,cACA,WACA,cACA,UACA,cACA,cAEA,WACA,WAmBMpoD,EAA+C,GAExC,EAAA1wE,uBAAyB,SAClC1yF,EACAvkE,EACA65G,GAEQ,IAAAr8G,GAAM,IAAAC,kBAAgB,EAG9B,KADoB,IAAAkV,aAAY,EAAA4rB,mBACfyxP,eACb,OAAOroD,EAGX,IAAMsoD,GAAmB1rN,aAAa,EAAbA,EAAex+C,UAAW,EAAA+hB,eAAe9B,OAC5DkqP,GAA2B3rN,aAAa,EAAbA,EAAex+C,UAAW,EAAA+hB,eAAeswC,QACpE+3M,GAAsB5rN,aAAa,EAAbA,EAAex+C,UAAW,EAAA+hB,eAAehf,SAC/DsnQ,GAAsB7rN,aAAa,EAAbA,EAAex+C,UAAW,EAAA+hB,eAAe9B,OAE/DmnF,EAAW5oD,aAAa,EAAbA,EAAe17D,GAChC,IAAKskH,EACD,OAAOw6G,EAGH,IAAAm4B,EAAWjmJ,EAAS,OAE5B,OAAO,EAAP,OACQo2K,GAAoBnwB,EAClB,CACI,CACIp8P,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,oCACTsL,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,cAKlDvR,SAAU,WACDsrH,EAKL2yI,EAAO3yI,IAJH,IAAA97F,YAAW,yBAKnB,GAEJ,EAAAsmE,kBAAkBC,WAEtB,KAAG,IACTs4L,EACM,CACIxsR,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,6CACTsL,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqBkS,cAGzD5O,SAAU,W,QACN,GAAKsrH,EAAL,CAKA,IAAM2H,EAAqC,QAAtB,EAAAvwD,aAAa,EAAbA,EAAer5D,eAAO,eAAE1I,OACxCsyH,EAKLjb,EAAUjwE,eAAe,CACrBwyL,mBAAyC,QAAtB,EAAA73J,aAAa,EAAbA,EAAer5D,eAAO,eAAEwnI,cAAe,GAC1D5d,aAAY,EACZrzH,UAAWzB,KAPX,IAAAqxB,YAAW,qBAJf,MAFI,IAAAA,YAAW,yBAenB,GAEJ,KACN++P,EACM,CACI1sR,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,uCACTsL,KACI,gBAAC,UAAc,CACXxK,UAAW,EAAAC,qBAAqBgG,MAChC8O,YAAa,EAAA9U,qBAAqBkS,cAKlD5O,SAAU,W,QACNg4G,EAAUq9C,gBAAgB,CACtBz1J,UAAWzB,EACXmtH,SAAQ,EACRP,YAAkC,QAAtB,EAAAroD,aAAa,EAAbA,EAAer5D,eAAO,eAAEqK,OAAQ,GAC5C+wQ,eAAqC,QAAtB,EAAA/hN,aAAa,EAAbA,EAAer5D,eAAO,eAAE8gB,UAAW,IAE1D,GAEJ,KACNmkQ,EACM,CACIzsR,MACI,gBAAC,UAA0B,CACvBA,MAAOlG,EAAE,uCACTsL,KAAM,gBAAC,UAAW,CAACuK,YAAa,EAAA9U,qBAAqBwQ,UAG7DlN,SAAU,W,QACNg4G,EAAUs9C,iBAAiB,CACvB11J,UAAWzB,EACXmtH,SAAQ,EACRP,YAAkC,QAAtB,EAAAroD,aAAa,EAAbA,EAAer5D,eAAO,eAAEqK,OAAQ,GAC5C+wQ,eAAqC,QAAtB,EAAA/hN,aAAa,EAAbA,EAAer5D,eAAO,eAAE8gB,UAAW,IAE1D,GAEJ,O,EAEd,C,u7BC/JA,kBACA,cACA,WACA,WACA,cACA,UACA,WACA,WACA,WASMqkQ,IAAU,MACX,EAAAn4Q,qBAAqBE,UAAW,sDACjC,EAAC,EAAAF,qBAAqBC,UAAW,sD,GAG/Bm9D,EAAoC74E,EAAMC,MAAK,SAACC,GAC1C,IAAAstD,EAA6CttD,EAAK,UAAvCka,EAAkCla,EAAK,aAAzBia,EAAoBja,EAAK,gBAElDa,GAAM,IAAAC,kBAAgB,EAExB83E,EAAoB94E,EAAM0E,SAC5B,WAAyC,OACrC,CACItD,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,EAAc5C,G,MACnB,OAAOzW,EAAE,+CAAgD,CACrDoE,OAAsD,QAA/C,EAAAiV,EAAa,EAAAiwC,qBAAqBhuC,qBAAa,eAAG7E,KAAU,IAE3E,EACAwhE,YAAY,EACZD,UAAW,CAAC,EAAA1uB,qBAAqBxuC,WAAY,EAAAwuC,qBAAqBhuC,eAEtE,CACIjb,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,8CAA+C,CACpDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB3gB,aAEjD,EACAqvC,UAAW,CAAC,EAAA1uB,qBAAqB3gB,aAErC,CACItoC,MAAO,EAAAqsD,oBAAoBrP,YAC3B7qB,OAAQ,SAACnZ,GACL,IAAM4/F,EAAgB5/F,EAAa,EAAAiwC,qBAAqB5sC,eAExD,OACI,gBAAC,EAAAjN,MAAK,CACFD,QAAQ,oDACRE,WAAY,CACRtL,MAAO,gBAAC,UAAuB,CAAC60G,cAAeA,MAI/D,EACAjhC,UAAW,CAAC,EAAA1uB,qBAAqB5sC,gBAErC,CACIrc,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,sDAAuD,CAC5DoE,MAAOiV,EAAa,EAAAiwC,qBAAqB1tC,gBAEjD,EACAo8D,UAAW,CAAC,EAAA1uB,qBAAqB1tC,gBAErC,CACIvb,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,uDAAwD,CAC7DoE,MAAOiV,EAAa,EAAAiwC,qBAAqBptC,iBAEjD,EACA87D,UAAW,CAAC,EAAA1uB,qBAAqBptC,iBAErC,CACI7b,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,IAAM+6G,EAAiB/6G,EAAa,EAAAiwC,qBAAqB8qE,gBACnDC,EAAeh7G,EAAa,EAAAiwC,qBAAqB+qE,cAEvD,OAAOr0H,EAAE,8CAA+C,CACpDoE,OAAO,IAAAogI,4BAA2BpQ,EAAgBC,IAE1D,EACAr8C,UAAW,CAAC,EAAA1uB,qBAAqB8qE,eAAgB,EAAA9qE,qBAAqB+qE,eAE1E,CACIh0H,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,IAAM66G,EAAkB76G,EAAa,EAAAiwC,qBAAqB4qE,iBACpDC,EAAgB96G,EAAa,EAAAiwC,qBAAqB6qE,eAExD,OAAOn0H,EAAE,gDAAiD,CACtDoE,OAAO,IAAAogI,4BAA2BtQ,EAAiBC,IAE3D,EACAn8C,UAAW,CAAC,EAAA1uB,qBAAqB4qE,gBAAiB,EAAA5qE,qBAAqB6qE,gBAE3E,CACI9zH,MAAO,EAAAqsD,oBAAoBr5C,YAC3Bmf,OAAQ,SAACnZ,GACL,IAAMqyF,EAAkBryF,EAAa,EAAAiwC,qBAAqBoiD,iBACpDE,EAAgBvyF,EAAa,EAAAiwC,qBAAqBsiD,eAExD,OAAO5rG,EAAE,qDAAsD,CAC3DoE,OAAO,IAAAogI,4BAA2B94B,EAAiBE,IAE3D,EACA5zB,UAAW,CAAC,EAAA1uB,qBAAqBoiD,gBAAiB,EAAApiD,qBAAqBsiD,gBAE3E,CACIvrG,MAAO,EAAAqsD,oBAAoB1rD,SAC3BsV,WAAY,SAAC+C,EAAcozC,GACvB,OAAO,EAAA2rB,oBAAoBC,OAAOh/D,EAAa,EAAAiwC,qBAAqB7sC,eAAgBgwC,EACxF,EACAj6B,OAAQ,SAACnZ,GACL,OAAOrZ,EAAE,kDAAmD,CACxDoE,MAAOiV,EAAa,EAAAiwC,qBAAqB7sC,gBAEjD,EACAu7D,UAAW,CAAC,EAAA1uB,qBAAqB9sC,YAAa,EAAA8sC,qBAAqB7sC,gBAEvE,CACIpc,MAAO,EAAAqsD,oBAAoBrP,YAC3B7qB,OAAQ,SAACnZ,GACL,IAAMsD,EAAStD,EAAa,EAAAiwC,qBAAqB3sC,QACjD,OAAO3c,EAAE,8CAA+C,CACpDoE,MAAOpE,EAAE6yR,EAAWl2Q,KAE5B,EACAq7D,UAAW,CAAC,EAAA1uB,qBAAqB3sC,SAErC,CACItc,MAAO,EAAAqsD,oBAAoB1rD,SAC3BwxB,OAAQ,SAACnZ,EAAc5C,G,MACbkG,EAA0D,QAAjD,EAAAtD,EAAa,EAAAiwC,qBAAqB1sC,uBAAe,eAAGnG,GACnE,OAAKkG,EAIE3c,EAAE,8CAA+C,CACpDoE,MAAOpE,EAAE,EAAAmnR,iBAAiBxqQ,MAJnB,IAMf,EACAs7D,YAAY,EACZD,UAAW,CAAC,EAAA1uB,qBAAqB1sC,iBA7HA,GAgIzC,CAAC5c,IAGL,OACI,gBAAC,UAAW,CACRysD,UAAWA,EACXpzC,aAAcA,EACdD,gBAAiBA,EACjB0L,OAAQizD,GAGpB,IAEA,UAAeD,C,6KCtKF,EAAAg7M,wBAA0B,SAACjwR,GACpC,OAAAA,EAAMkwR,eAAe3tR,KAArB,EAES,EAAA4tR,0BAA4B,SAACnwR,GACtC,OAAAA,EAAMkwR,eAAepwR,aAArB,EAES,EAAAswR,kBAAoB,SAACpwR,GAAuD,OAAAA,EAAMkwR,eAAe3nO,GAArB,EAE5E,EAAA8nO,mBAAqB,SAACrwR,GAAwD,OAAAA,EAAMkwR,eAAevlR,IAArB,C,q7BCX3F,kBACA,cAEA,cACA,cACA,WACA,cACA,cACA,cASM1O,EAAK,UAAWC,KAAK,WAErBwmL,EAA0F,CAC5FC,uBAAwB,wEACxBC,aAAc,8DACdC,mBAAoB,oEACpBC,kCACI,oFAGFwtG,EAAsF,CACxFC,sBAAuB,sEACvBC,qBAAsB,qEACtB3tG,mBAAoB,mEACpB4tG,4BAA6B,4EAC7BC,qCACI,qFACJC,qBAAsB,qEACtBC,uBAAwB,uEACxBC,oBAAqB,qEAcnBC,EAA0C10R,EAAMC,MAAK,SAACC,G,MAEpDg/E,EAOAh/E,EAAK,KANL+hG,EAMA/hG,EAAK,cALL2hG,EAKA3hG,EAAK,8BAJLshG,EAIAthG,EAAK,kBAHL4hG,EAGA5hG,EAAK,4BAFLwhG,EAEAxhG,EAAK,kBADL0hG,EACA1hG,EAAK,oBAEDa,GAAM,IAAAC,kBAAgB,EAExByyH,GAA+B,QAAf,EAAAv0C,aAAI,EAAJA,EAAM50D,iBAAS,eAAG,KAAM,KACxCglD,GAAWmkD,aAAa,EAAbA,EAAehV,yBAAyBgV,aAAa,EAAbA,EAAe1wC,uBAAwB,KAE1FglG,EAA6B/nL,EAAM0E,SAAQ,WAC7C,OAAIm9F,EAEI,gBAAC,UAAc,CAACzgG,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,IAAKF,UAAQ,GACrET,EAAEulL,EAAqCzkF,KAK7C,IACX,GAAG,CAACA,EAA+B9gG,IAE7B4zR,EAA2B30R,EAAM0E,SAAQ,WAC3C,OAAIo9F,EAEI,gBAAC,UAAc,CAAC1gG,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,IAAKF,UAAQ,GACrET,EAAEmzR,EAAmCpyL,KAK3C,IACX,GAAG,CAACA,EAA6B/gG,IAEjC,OAAKm+E,EAKD,gBAAC,UAAgB,CACb5P,SAAUA,EACVokD,oBAAqB3yH,EAAE,mCACvB4yH,cAAe5yH,EAAE,wBACjB6yH,cAAe,SAACruH,GAAe,OAC3B,gCACK08F,GACG,gBAAC,UAAO,CACJhhG,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YAAawmL,IAEZ,WAAM,OACH,gBAAC,UAAM,CACH3mL,MAAO,EAAA2N,gBAAgB88L,kBACvBjrM,UAAWf,EAAG,SAAU,kBACxB8B,QAAS6/F,EACTj8F,WAAYA,GAAcq8F,KAAyBC,GAElD9gG,EAAE,0CAPJ,IAYdkhG,GACG,gBAAC,UAAO,CACJhhG,SAAU,EAAAC,oBAAoB60B,UAC9B30B,MAAO,EAAAC,iBAAiBC,MACxBC,YAAaozR,IAEZ,WAAM,OACH,gBAAC,UAAM,CACHvzR,MAAO,EAAA2N,gBAAgBC,UACvBpO,UAAWf,EAAG,UACd8B,QAAS+/F,EACTn8F,WAAYA,GAAcq8F,KAAyBE,GAElD/gG,EAAE,sCAPJ,IA1BQ,IAR5B,IAkDf,IAEA,UAAe2zR,C,+BC9If,WAAiB,C,iVCAjB,eACA,WACA,WAiDMngK,EAAa,SACfhjF,GAEA,OAAQA,aAAI,EAAJA,EAAMpsC,OACV,KAAK,EAAAw7M,uBAAuBnwK,YACxB,OAAIe,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,uBAEJ,wBAEX,KAAK,EAAAksF,uBAAuBjsF,WACxB,OAAInjF,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,kBAEJ,mBAEX,KAAK,EAAAksF,uBAAuB5pM,MACxB,OAAIw6B,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,YAEJ,aAEX,KAAK,EAAAksF,uBAAuBC,YACxB,OAAIrvK,aAAI,EAAJA,EAAMq0B,aAAc,EAAAC,kBAAkB4uD,IAC/B,oBAEJ,qBAEX,QACI,OAAO,KAGnB,EA0DS,EAAAtuD,sBAxDqB,SAC1B/rD,EACAm3B,GAEA,IAAM9zB,EAAgBrD,EAAa,EAAAiwC,qBAAqB5sC,eAClD09M,EAAW/gN,EAAa,EAAAiwC,qBAAqB8wK,UAC7CD,EAAW9gN,EAAa,EAAAiwC,qBAAqB6wK,UAC7CxqG,EAAWt2G,EAAa,EAAAiwC,qBAAqBqmE,UAE/CzoF,EAA4B7tB,EAAa,EAAAiwC,qBAAqBpiB,YAASzhC,EAM3E,OAJI4T,EAAa,EAAAiwC,qBAAqBmnI,aAClCvpJ,GAAO,GAGJ,EAAP,GACI9kC,KAAMiX,EAAa,EAAAiwC,qBAAqB4wK,WAExCx9M,cAAwC,iBAAlBA,GAA8BA,OAAgBjX,EACpE8gB,YAAalN,EAAa,EAAAiwC,qBAAqB/iC,mBAAgB9gB,EAE/DovC,mBAAoBx7B,EAAa,EAAAiwC,qBAAqBzU,0BAAuBpvC,EAC7E4uC,cAAeh7B,EAAa,EAAAiwC,qBAAqBjV,qBAAkB5uC,EAEnEouR,UAAWlkK,EAAW,CAACA,QAAYlqH,EAEnCquR,WAAgC,iBAAb15D,EAAwBnoN,SAASmoN,EAAU,SAAM30N,EACpEsuR,WAAgC,iBAAb55D,EAAwBloN,SAASkoN,EAAU,SAAM10N,EAEpEuuR,iBAAkB36Q,EAAa,EAAAiwC,qBAAqB+wK,wBAAqB50N,EACzEwuR,eAAgB56Q,EAAa,EAAAiwC,qBAAqBgxK,sBAAmB70N,EAErEkvH,eAAgBt7G,EAAa,EAAAiwC,qBAAqB8qE,sBAAmB3uH,EACrEmvH,aAAcv7G,EAAa,EAAAiwC,qBAAqB+qE,oBAAiB5uH,EAEjEgvH,oBAAqBp7G,EAAa,EAAAiwC,qBAAqB4qE,uBAAoBzuH,EAC3EivH,kBAAmBr7G,EAAa,EAAAiwC,qBAAqB6qE,qBAAkB1uH,EAEvEwlG,WAAY5xF,EAAa,EAAAiwC,qBAAqB3gB,kBAAeljC,EAE7DyhC,KAAI,EAEJuyD,+BAAgCpgF,EAAa,EAAAiwC,qBAAqBmwC,sCAAmCh0F,EACrGi0F,2BAA4BrgF,EAAa,EAAAiwC,qBAAqB81C,kCAA+B35F,EAC7Fk0F,+BAAgCtgF,EAAa,EAAAiwC,qBAAqBqwC,sCAAmCl0F,EACrGm0F,2BAA4BvgF,EAAa,EAAAiwC,qBAAqB+1C,kCAA+B55F,EAC7F+0F,SAAUnhF,EAAa,EAAAiwC,qBAAqBkxC,gBAAa/0F,EACzDq0F,OAAQzgF,EAAa,EAAAiwC,qBAAqBj+B,eAAY5lB,EACtDg1F,OAAQphF,EAAa,EAAAiwC,qBAAqBmxC,cAAWh1F,GAjI5B,SAAC2pE,GAC9B,OAAQA,GACJ,KAAK,EAAA8kN,8BAA8BxzO,IAC/B,MAAO,CACHs0E,UAAW,OAGnB,KAAK,EAAAk/J,8BAA8BC,SAC/B,MAAO,CACHn/J,UAAW,qBAGnB,KAAK,EAAAk/J,8BAA8BE,SAC/B,MAAO,CACHp/J,UAAW,qBAGnB,KAAK,EAAAk/J,8BAA8B9vL,SAC/B,MAAO,CACH4wB,UAAW,YAGnB,KAAK,EAAAk/J,8BAA8BxqM,SAC/B,MAAO,CACHsrC,UAAW,YAGnB,KAAK,EAAAk/J,8BAA8BtvP,UAC/B,MAAO,CACHowF,UAAW,cAGnB,KAAK,EAAAk/J,8BAA8B7/N,KAC/B,MAAO,CACH2gE,UAAW,QAGnB,KAAK,EAAAk/J,8BAA8BpvP,SAC/B,MAAO,CACHkwF,UAAW,YAGnB,QACI,MAAO,CAAC,EAEpB,CAsFWC,CAAyB57G,EAAa,EAAAiwC,qBAAqB8lB,eAAa,CAE3Eo8F,QAASh4C,EAAWhjF,SAAS/qC,GAErC,C,+BC3IA,WAAgB,KAAO,mCAAmC,MAAQ,oCAAoC,MAAQ,oCAAoC,gBAAgB,4CAA4C,gBAAgB,4CAA4C,qBAAqB,iDAAiD,UAAY,wCAAwC,IAAM,kCAAkC,eAAe,2CAA2C,OAAS,qCAAqC,SAAW,uC,q7BCD/hB,kBACA,WACA,cAEA,cACA,WACA,cACA,WACA,cACA,WACA,cAaMwZ,EAAyChgB,EAAMC,MAAK,SAACC,GAC/C,IAAAU,EAAgGV,EAAK,UAA1F+f,EAAqF/f,EAAK,IAArFggB,EAAgFhgB,EAAK,IAAhFigB,EAA2EjgB,EAAK,eAAhEkgB,EAA2DlgB,EAAK,UAArDmgB,EAAgDngB,EAAK,kBAAlCogB,EAA6BpgB,EAAK,aAApBknG,EAAelnG,EAAK,WAEvGqgB,EAA6C,GA2EnD,OAzEAF,EAAkB/D,SAAQ,SAACkE,GA2BvB,GA1B6B,uBAAzBA,EAAgBrd,MAChBod,EAAW3I,KAAK,CACZxW,MAAO,EAAAqf,gBAAgB9J,UACvB7H,SACI,gBAAC,UAAW,CACRjN,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,MAClCwO,KAAM,EAAAC,sBAMO,qBAAzBiK,EAAgBrd,MAChBod,EAAW3I,KAAK,CACZxW,MAAO,EAAAqf,gBAAgB9J,UACvB7H,SACI,gBAAC,UAAS,CACNjN,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,MAClCwO,KAAM,EAAAC,sBAMO,UAAzBiK,EAAgBrd,KAAkB,CAC1B,IAAAqwC,EAAuBhzB,EAAe,MAA/BuoF,EAAgBvoF,EAAe,YACxCG,EAAYymF,GAAc,EAAAmE,2BAA2Bp8E,IAAIi4E,GAE/D,GACI5zD,EAAMrwC,OAAS,EAAAmvE,kCAAkCjxD,cACjDmyB,EAAMrwC,OAAS,EAAAmvE,kCAAkClxD,eACnD,CACE,IAAIhgB,EAAQ,EAAAqf,gBAAgB1e,SACxB4e,IACAvf,EAAQ,EAAAqf,gBAAgB9J,WAG5B4J,EAAW3I,KAAK,CACZxW,MAAK,EACL0N,SACI,gBAAC,UAAQ,CACLwH,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,SAIlD,MACQ1G,EAAQ,EAAAqf,gBAAgB5H,KACxB26B,EAAMrwC,OAAS,EAAAmvE,kCAAkCC,WACjDnxE,EAAQ,EAAAqf,gBAAgB1e,UAGxB4e,IACAvf,EAAQ,EAAAqf,gBAAgB9J,WAG5B4J,EAAW3I,KAAK,CACZxW,MAAK,EACLwc,aAAa,EACb9O,SACI,gBAAC,UAAwB,CAAC2S,cAAY,EAAC5O,IAAK,sBAAek2F,IACtDA,IAKrB,CACJ,KAEKxoF,aAAU,EAAVA,EAAYpe,QAKb,gBAAC,UAAkB,CACfvB,UAAWA,EACXqf,IAAKA,EACLC,IAAKA,EACLK,WAAYA,EACZH,UAAWA,EACXD,eAAgBA,EAChBG,aAAcA,IAXX,IAcf,IAEA,UAAeN,C,+BCrHf,WAAgB,cAAc,sDAAsD,gBAAgB,wDAAwD,uBAAuB,+DAA+D,oBAAoB,4DAA4D,qBAAqB,6DAA6D,cAAc,sDAAsD,OAAS,iDAAiD,SAAW,mD,+BCA7hB,WAAgB,KAAO,8B,q7BCDvB,kBACA,cAEA,cACA,WACA,YACA,cAEMngB,EAAK,UAAWC,KAAK,WAQrBs1R,EAA+Ep1R,EAAMC,MAAK,SAACC,GACrF,IAAAw4E,EAA+Cx4E,EAAK,cAArCu+D,EAAgCv+D,EAAK,WAAzBw+D,EAAoBx+D,EAAK,gBAE5D,OACI,uBAAKU,UAAWf,EAAG,SACf,gBAAC,EAAA2Q,MAAK,CACFD,QAAQ,+CACRE,WAAY,CACRmoE,YAAa,gBAAC,UAAW,CAAC/qE,OAAQ6qE,IAClCrkB,SAAU,gBAAC,UAAQ,CAACI,SAAUgK,IAC9BnK,OAAQ,gBAAC,UAAQ,CAACG,SAAUiK,OAKhD,IAEA,UAAe02N,C,0zCCjCf,eAEA,cACA,cACA,aACA,cASA,UAPA,W,kDACI,UAAM,IAAAv9F,MAAK,Y,OACX,OADA,SACA,IAAM,IAAAA,MAAK,Y,OACX,OADA,SACA,IAAM,IAAAA,MAAK,Y,OACX,OADA,SACA,IAAM,IAAAA,MAAK,Y,cAAX,S,w4BCXJ,kBACA,YACA,WACA,WAQMw9F,IAAqB,MACtB,EAAA3wF,oBAAoB7pG,QAAS,EAAAhnF,mBAAmBG,UACjD,EAAC,EAAA0wL,oBAAoBlpG,QAAS,EAAA3nF,mBAAmBG,U,GAGxC,EAAAshR,gBAAa,MACrB,EAAA5wF,oBAAoB7pG,QAAS,mCAC9B,EAAC,EAAA6pG,oBAAoBlpG,QAAS,kC,GAGlC,IAAM+5L,EAAwCv1R,EAAMC,MAAK,SAACC,GAC9C,IAAAqS,EAA2BrS,EAAK,QAAvBsU,EAAkBtU,EAAK,cAEhCa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKuR,EAKD,gBAAC,UAAS,CAACkC,UAAQ,EAACrT,MAAOi0R,EAAsB9iR,GAAUiC,cAAeA,GACrEzT,EAAE,EAAAu0R,cAAc/iR,KALd,IAQf,IAEA,UAAegjR,C,+BCpCf,WAAgB,KAAO,mCAAmC,QAAU,sCAAsC,IAAM,kCAAkC,gBAAgB,4CAA4C,KAAO,mCAAmC,IAAM,kCAAkC,YAAY,wCAAwC,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,oNCDvb,kBACA,WACA,WAEa,EAAAC,sBAAwB,SACjC7gF,GAEA,OAAO,aAAO,EAAAC,wBAAwBnvL,SAASkvL,EACnD,EAEa,EAAA8gF,sBAAwB,SACjCj2L,GAEA,QAAS,EAAAk2L,sBAAsBl2L,EACnC,C,qKCdA,IA8BYq5E,EA9BZ,WAQa,EAAA88G,wBAAqB,MAC7B,EAAA/gF,uBAAuBC,MAAO,4CAC/B,EAAC,EAAAD,uBAAuBO,QAAS,8CACjC,EAAC,EAAAP,uBAAuBghF,SAAU,+CAClC,EAAC,EAAAhhF,uBAAuBihF,QAAS,8C,GAKxB,EAAAH,wBAAqB,MAC7B,EAAAh1O,uBAAuBC,UAAW,kDACnC,EAAC,EAAAD,uBAAuBE,MAAO,6CAC/B,EAAC,EAAAF,uBAAuBG,WAAY,mDACpC,EAAC,EAAAH,uBAAuBI,kBAAmB,2DAC3C,EAAC,EAAAJ,uBAAuBK,eAAgB,wDACxC,EAAC,EAAAL,uBAAuBM,iBAAkB,0DAC1C,EAAC,EAAAN,uBAAuBO,iBAAkB,0DAC1C,EAAC,EAAAP,uBAAuBQ,gBAAiB,yDACzC,EAAC,EAAAR,uBAAuBS,uBAAwB,iEAChD,EAAC,EAAAT,uBAAuBU,YAAa,oD,GAGzC,SAAYy3H,GACR,wBACA,2BACH,CAHD,CAAYA,IAA0B,6BAA1BA,EAA0B,I,q7BC9BtC,kBACA,cACA,cACA,WACA,cAIA,cAEA,cACA,cACA,WACA,cACA,cACA,WAEMh5K,EAAK,UAAWC,KAAK,WAsF3B,UA3EuC,SAACI,GAC5B,IAAAyV,EAA+EzV,EAAK,QAA3E41R,EAAsE51R,EAAK,iBAAzDU,EAAoDV,EAAK,UAA9Cq0B,EAAyCr0B,EAAK,YAAjCgP,EAA4BhP,EAAK,UAAtBqqF,EAAiBrqF,EAAK,aAEpFa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAqD,CACvD,CACIC,aAAc,WAAM,aACpBE,OAAQ,SAACuiE,GACL,IAAMigM,GAAY,IAAAC,4BAA2BlgM,EAAOxsE,QACpD,OACI,gBAAC,UAAU,CACPxjB,SAAUiwR,EAAYh1R,EAAE,+BAAiC+0F,EAAOh9E,MAAQ,GACxEm9Q,cAAeF,GAG3B,EACAn1R,UAAWf,EAAG,0BAElB,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,0CAAT,EACpBuyB,gBAAiBzzB,EAAG,gBAAiB,uBACrC0zB,OAAQ,SAACuiE,GACL,IAAMigM,GAAY,IAAAC,4BAA2BlgM,EAAOxsE,QACpD,OACI,gBAAC,UAAY,CACTxQ,KAAMi9Q,EAAYh1R,EAAE,+BAAiC+0F,EAAOh9E,KAC5DyW,QAASwmQ,EAAYjgM,EAAOvmE,QAAU,GACtC0mQ,cAAeF,GAG3B,EACAn1R,UAAWf,EAAG,uBAElB,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,2CAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAACuiE,GACL,IAAMigM,GAAY,IAAAC,4BAA2BlgM,EAAOxsE,QACpD,OAAO,gBAAC,UAAS,CAACQ,MAAOisQ,GAAYjgM,EAAOmgD,aAAoB,GAAIggJ,cAAeF,GACvF,EACAn1R,UAAWf,EAAG,uBAElB0qF,EACM,CACIl3D,aAAc,WAAM,aACpBE,OAAQ,SAACuiE,GAA2B,uBAAC,UAAU,CAACA,OAAQA,GAAU,IAA9B,EACpCl1F,UAAWf,EAAG,0BAElB,MACRqvB,OAAO,EAAA4/B,UAEH76B,EAAa,SAAClY,EAAqBqnB,GAAwB,OAC7Dtb,YAAYsb,aAAG,EAAHA,EAAKh3B,MAAO0pR,EADqC,EAIjE,OACI,uBAAKl1R,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAiBw0B,UAAU,UAAUnlB,UAAWA,EAAW4W,KAAMnQ,IAC1E,SAACmQ,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACF1zB,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNyO,YAAaA,EACbN,WAAYA,EACZ/kB,UAAWA,EACXolB,eAAgBA,GARG,IAc3C,C,sBClGA,IAAY10B,E,qEAAZ,SAAYA,GACR,cACA,4BAEA,oBACA,oBACA,4BACA,oBACA,cAEA,2BACH,CAXD,CAAYA,IAAU,aAAVA,EAAU,I,kuCCHtB,IAoBKs2R,EApBL,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,aACA,cACA,cACA,cACA,SACA,cACA,cACA,WACA,cAEMr2R,EAAK,UAAWC,KAAK,YAE3B,SAAKo2R,GACD,sBACA,WACH,CAHD,CAAKA,IAAAA,EAA0B,KAqB/B,IAOMC,EAAkCn2R,EAAMC,MAAK,SAACC,G,MAE5CutR,EAWAvtR,EAAK,SAVL4wD,EAUA5wD,EAAK,aATL6wD,EASA7wD,EAAK,YARLsxD,EAQAtxD,EAAK,SAPLuxD,EAOAvxD,EAAK,QANLyxD,EAMAzxD,EAAK,aALL0xD,EAKA1xD,EAAK,YAJL2xD,EAIA3xD,EAAK,cAHL4xD,EAGA5xD,EAAK,aAFLq7H,EAEAr7H,EAAK,YADLU,EACAV,EAAK,UAEH,KAAuB,IAAAmlE,kBAAc,MACtC6wN,EAA2BE,UAAW,EAAAprE,aACvC,EAACkrE,EAA2B7iR,KAAM,EAAAgjR,Y,IACpC,GAHKlwR,EAAK,KAAE8/D,EAAW,KAInBqwN,IAAmBnwR,EAAM+vR,EAA2BE,UAEpDtgP,GAAa,eACbC,EAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,EAElB,GAAG,CAACA,IAME8iL,EAAiBzyN,EAAM+vR,EAA2B7iR,MAvClC,EAyChBV,EAAO3S,EAAM0E,SAAQ,WACvB,IAAM2I,EAAuB,CACzB,CACIpG,MAAOuqD,EACPhmD,KAAM,gBAAC,UAAiBwqC,SAAQ,CAAC7wC,MAAO4wC,GAAyB0b,KAWzE,OAPIG,GAAeD,GACftkD,EAAOuK,KAAK,CACR3Q,MAAO0qD,EACPnmD,KAAMomD,IAIPvkD,CACX,GAAG,CAACmkD,EAAUC,EAASG,EAAaD,EAAc5b,IAElD,OACI,gBAAC,UAAuB,CACpBn1C,UAAWA,EACX6sR,SAAUA,EACVx3O,gBAAiB6a,EACjB5a,eAAgB,gBAAC,UAAwB,KAAE6a,GAC3Cza,iBAAkBkb,EAClBjb,gBACI,uBAAK31C,UAAWf,EAAG,iBACf,uBAAKe,UAAWf,EAAG,cACf,gBAAC,UAAmB,KACf8S,EAAK4E,KAAI,SAAClE,EAAKC,GAAa,OACzB,gBAAC,UAAQ,CACLT,IAAKS,EACLlS,MAAO,EAAAuO,eAAezN,MACtBP,QAAS,W,MACLskE,IAAW,MAEFiwN,EAA2B7iR,MACxB,aAASC,IA9EnC,IA8EgDA,EAChBA,EACA,K,GAEd,YAER,EACA/Q,SAAU+Q,IAAaslN,GAEtBvlN,EAAIpM,MAjBgB,KAqBjC,uBAAKrG,UAAWf,EAAG,QAAS8S,EAAKimN,GAAgBptN,OAErD,uBAAK5K,UAAWf,EAAG,0BACf,gBAAC,UAAkB,CACf8B,QAAS,W,MACLskE,IAAW,MAEFiwN,EAA2BE,WAAWE,GAAiB,K,GAE5D,YAER,EACA9zR,UAAW8zR,EACXrvR,MAAO4qD,EACPjxD,UAAWf,EAAG,oBACd+B,SACI,gBAAC,UAAY,CACT0U,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C3U,gBAAiB,EAAAC,oBAAoBC,MACrCo2C,UAAW,gBAAC,UAAU,SAG7Bg+O,GAAkB,gBAAC,UAAkB,KAAExkO,GAlFlB,W,MAClCmU,IAAW,MAAIiwN,EAA2BE,UAAW,KAAI,GAAI,YACjE,MAmFQ76J,YAAaA,GAGzB,IAEA,UAAe46J,C,+BCrKf,WAAgB,OAAS,8CAA8C,SAAW,gD,q7BCDlF,kBACA,cACA,cACA,cAEMt2R,EAAK,UAAWC,KAAK,WAiB3B,UAXuD,SAACI,GAC5C,IAAA+G,EAAU/G,EAAK,MAEvB,OACI,uBAAKU,UAAWf,EAAG,WACf,gBAAC,UAAQ,CAACe,UAAWf,EAAG,UACxB,uBAAKe,UAAWf,EAAG,UAAWoH,GAG1C,C,kYCpBA,kBACA,cAEA,cACA,cACA,aACA,WAEMpH,EAAK,UAAWC,KAAK,WAqBrBy2R,EAA6B,UAAMt2R,MAAK,SAACC,GAEvC,IAAA4Y,EAgBA5Y,EAAK,KAdLmxB,EAcAnxB,EAAK,YAbLi7Q,EAaAj7Q,EAAK,mBAZLs2R,EAYAt2R,EAAK,kBAVLiiE,EAUAjiE,EAAK,YATLk7Q,EASAl7Q,EAAK,oBAPL+4B,EAOA/4B,EAAK,UANLsF,EAMAtF,EAAK,OALLuF,EAKAvF,EAAK,QAJLqF,EAIArF,EAAK,WAHL22B,EAGA32B,EAAK,aADLW,EACAX,EAAK,aAEHY,EAAmB,UAAGD,EAAY,kBAOlC8oN,EAA0D,CAC5D1wL,YAAaA,EACb9zB,MAAOg9D,EACPnlD,SARiB,SAACnR,GAClB,IAAM1G,EAAQ0G,EAAM+9M,cAAczkN,OAAS,GAC3Ci2Q,EAAoBj2Q,EACxB,EAMIK,OAAM,EACNC,QAAO,EACPqT,KAAI,EACJ3V,KAAM,OACNvC,UAAWf,EAAG,cAAe,CACzB,0BAA2B0F,IAE/B2vF,SAAU3vF,EACVsxB,aAAcA,GAAgB,MAE9B,qBAAsB,UAAG/1B,EAAgB,YAG7C,OACI,+BAAKF,UAAWf,EAAG,WAAU,qBAAsB,UAAGgB,EAAY,aAC9D,+BAAKD,UAAWf,EAAG,qBACf,+BACIe,UAAWf,EAAG,UAAW,CACrB,sBAAuB22R,EACvB,wBAAyBjxR,IAE7B5D,QAASw5Q,GAET,wBAAC,UAAQ,CAAC9pP,YAAaA,IACvB,wBAAC,UAAU,QAGnB,+BACIzwB,UAAWf,EAAG,SAAU,CACpB,qBAAsB0F,KAGzB,EAAAg2I,qBAEL,+BAAK36I,UAAWf,EAAG,UACf,qCAAW8pN,KAI3B,IAEA,UAAe4sE,C,+BCpGf,WAAgB,OAAS,qCAAqC,eAAe,2CAA2C,qBAAqB,iDAAiD,OAAS,qCAAqC,aAAe,2CAA2C,MAAQ,oCAAoC,OAAS,qCAAqC,SAAW,uC,+BCA3Y,WAAgB,MAAQ,kCAAkC,QAAU,oCAAoC,OAAS,mCAAmC,MAAQ,kCAAkC,gBAAgB,0CAA0C,sBAAsB,gDAAgD,OAAS,mCAAmC,SAAW,qC,+BCArX,WAAgB,OAAS,iCAAiC,SAAW,mC,q7BCDrE,kBAEA,cAMMrP,EAAgClnR,EAAMC,MAAK,SAAC,G,IACtCu8C,EADuD,kBACxB,YAEvC,OAAO,gBAAC,UAAY,CAAC1vB,KAAM0vB,EAAa03D,qBAAmB,GAC/D,IAEA,UAAegzK,C,40DC4DN,EAAAuP,qBAJT,SAA+B5pR,G,kDAC3B,UAAM,IAAAY,WAAU,EAAAiwM,0BAA0Bv6M,MAnDnC,SAAWU,G,kFAOmD,OAN3D,EAA6CA,EAAOklB,QAAlDpU,EAAU,aAASwJ,EAAQ,QAAE5a,EAAS,YAExC4C,EAAK,KACJgY,GAG0D,IAAM,IAAArR,SACnE,IAAA4pR,6BAA4BnzR,K,OAE6B,OAHvD8a,EAA2D,SAGJ,IAAM,IAAAvR,SAC/D,IAAA6pR,6BAA4BpzR,K,OAIhC,OALM2K,EAAuD,SAGvDqQ,GAAc,IAAAC,kBAAiBrY,EAAOkY,GACtCI,GAAgB,aAAkC,QAAjB,EAAAvQ,EAAMyG,UAAW,eAAEjR,eACtD6a,IAAgBE,EAChB,IAECF,EAAD,MACA,IAAM,IAAAvR,MAAI,IAAA+wM,uBAAsB,CAAEx6M,UAAS,EAAE6R,oBAAqB,CAAEuJ,iBAAkBhK,O,OAAtF,S,iBAGJ,UAAM,IAAA3H,MAAI,IAAA2wM,gCAA+B,CAAEx3M,MAAK,EAAEwO,WAAU,EAAEpR,UAAS,M,cAAvE,UAGI,IAAA6C,yBAAwB7C,GACf,GAAM,UAAmBqzR,6BAA6B,EAAD,KACvDzwR,GAAK,CACR2Y,KAAMnK,MAHV,M,cACAtH,EAAS,S,aAKA,SAAM,UAAkBupR,6BAA6BrzR,EAAW,EAAF,KAChE4C,GAAK,CACR2Y,KAAMnK,M,OAFVtH,EAAS,S,wBAMP,IAAoBA,EAAM,GAAzBpJ,EAAK,KAAEqJ,EAAQ,KAElBrJ,EACA,IAAM,IAAA+I,MAAI,IAAA8wM,gCAA+B,CAAE33M,MAAK,EAAEwO,WAAU,EAAE1Q,MAAK,EAAEV,UAAS,MAD9E,O,QAEA,OADA,SACA,I,QAGJ,UAAM,IAAAyJ,MAAI,IAAA6wM,kCAAiC,CAAE13M,MAAK,EAAEwO,WAAU,EAAErH,SAAQ,EAAE/J,UAAS,M,eAAnF,UAEA,IAAAuc,2BAA0BnL,EAAYrH,EAAU,EAAA60P,mC,0BAKpD,S,SAvEJ,eACA,WASA,WACA,cACA,cACA,cACA,WACA,WACA,U,mqDChBA,kBAEA,cACA,cAEA,WAEA,cACA,cACA,aACA,WAOA,cACA,cACA,WACA,WAEA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,WACA,cACA,cAEMtiQ,EAAK,UAAWC,KAAK,WAYrBu5Q,EAAuB,CAAC,EAAAroO,kBAAkBE,MAAO,EAAAF,kBAAkBC,OAEnE4lP,EAAgC72R,EAAMC,MAAK,WACrC,IAAAc,GAAM,IAAAC,kBAAgB,EACxBmF,GAAQ,eAER2wR,EAAqB3wR,EAAM,EAAA4R,cAAcC,yBACzCq/K,EAAsBlxL,EAAM,EAAA4R,cAAcI,0BAa1C,IAA4CnY,EAAMuE,SAAwB,MAAK,GAA9EwyR,EAAiB,KAAEC,EAAoB,KACxC,IAA0Ch3R,EAAMuE,SAAwB,MAAK,GAA5E0yR,EAAgB,KAAEC,EAAmB,KAEtClhR,GAAyB,IAAAE,aAAY,EAAAq9B,8BACrC4jP,GAAoB,IAAAjhR,aAAY,EAAAi6B,yBAEhCinP,EAAcjxR,EAAM,EAAA4R,cAAcw/K,gCAAkC,GACpE8/F,EAAkBD,EAAY7/Q,KAAI,SAACg5B,GACrC,IAAM+mP,GAAa,aAAO/mP,GAC1B,OACI,uBACI19B,IAAK09B,EACL3vC,UAAWf,EAAG,SAAU,SAAU,CAC9B,mBAAoB0wC,IAAe0mP,EACnC,qBAAsB1mP,IAAeumP,EACrC,oBAAoB,EACpB,wBAAwB,KAG5B,2BAAMQ,EAAWz9Q,OAAO,QACxB,2BAAMy9Q,EAAWz9Q,OAAO,UAGpC,IAEM09Q,EACF,uBAAK32R,UAAWf,EAAG,MAAO,4BACrBw3R,EACD,uBACIz2R,UAAWf,EAAG,SAAU,SAAU,CAC9B,wBAAwB,EACxB,sBAAsB,OAMhC43L,EAAetxL,EAAM,EAAA4R,cAAcy/K,iCAAmC,GACtEggG,EAAmB//F,EAAalgL,KAAI,SAACi5B,GACvC,IAAM8mP,GAAa,aAAO9mP,GAE1B,OACI,uBACI39B,IAAK29B,EACL5vC,UAAWf,EAAG,SAAU,SAAU,CAC9B,mBAAoB2wC,IAAgBumP,EACpC,qBAAsBvmP,IAAgB6mJ,EACtC,oBAAoB,EACpB,sBAAsB,KAG1B,2BAAMigG,EAAWz9Q,OAAO,QACxB,2BAAMy9Q,EAAWz9Q,OAAO,UAGpC,IAEM49Q,EAAkBzhR,EAElB0hR,IAAgBjgG,aAAY,EAAZA,EAAct1L,WAAWi1R,aAAW,EAAXA,EAAaj1R,QAE5D,OACI,uBAAKvB,UAAWf,EAAG,UACd63R,GAAgB,gBAAC,UAAa,MAC/B,uBACI92R,UAAWf,EAAG,UACdiM,aAAc,WACVkrR,EAAqB,MACrBE,EAAoB,KACxB,GAECK,EACA9/F,EAAalgL,KAAI,SAACi5B,EAAamnP,GAC5B,OACI,uBAAK/2R,UAAWf,EAAG,OAAQgT,IAAK8kR,GAC3BP,EAAY7/Q,KAAI,SAACg5B,EAAYqnP,GAC1B,IAAMC,GAAY,aAAatnP,EAAYC,GACrCsnP,EAASX,EAAkBU,IAAc,GAEzCE,EAAe,OAAID,IAAM,GAAEvmP,KAAK,EAAA2/J,YAEhC8mF,GAAe,aAAQD,GAAc,SAACthR,GAAU,OAAAA,aAAK,EAALA,EAAOk7B,aAAP,IAEhDsmP,EAAuB5e,EAAqB9hQ,KAAI,SAACo6B,G,MACnD,OAA2D,QAAnD,GAAAqmP,EAAarmP,IAAkB,IAAIJ,KAAK,EAAA2/J,mBAAW,eAAG,EAClE,IAAGhiL,OAAO,EAAA4/B,UACJopO,EAAqBD,EAAqB,GAE1C11R,EACDguC,IAAe0mP,GACZF,GACAvmP,GAAeumP,GAClBvmP,IAAgBumP,GACbE,GACA1mP,GAAc0mP,EAChBkB,EACF5nP,IAAe0mP,GAAoBzmP,IAAgBumP,EAEjDjvQ,EACDyoB,IAAeumP,GACZz/F,GACA7mJ,GAAe6mJ,GAClB7mJ,IAAgB6mJ,GACby/F,GACAvmP,GAAcumP,EAChBsB,EACF7nP,IAAeumP,GAAsBtmP,IAAgB6mJ,EAEnDghG,IAAkBH,GAAsBC,EACxCG,EAAwC,IAApBV,EACpBW,EAAmBX,IAAoBR,EAAYj1R,OAAS,EAE5D0qJ,EACF4qI,IACCS,GACD3nP,GAAcC,GACdonP,GAAmBD,EAEjBa,GAAqBV,aAAM,EAANA,EAAQ31R,SAAU21R,EAAOlwP,OAAM,SAACnxB,GAAU,OAAAA,aAAK,EAALA,EAAOiB,SAAP,IAErE,OACI,uBACI7E,IAAKglR,EACLj3R,UAAWf,EAAG,SAAU,CACpB,mBAAoB0C,EACpB,uBAAwB41R,EACxB,qBAAsBrwQ,EACtB,yBAA0BswQ,EAC1B,wBAAyBC,IAE7B12R,QAAS,WACL,IAAM82R,EAA+BX,EAAO9+O,MAAK,SAACviC,GAC9C,OAAQA,EAAMiB,SAClB,IAEK+gR,GAlJzB,SAACloP,EAAoBC,EAAqB74B,G,MAC1D,UAAQC,KAAK,CACTC,QAAQ,IAAAC,aAAW,OACZ3R,IAAK,OACP,EAAA4R,cAAcC,yBAA0Bu4B,EAAU,EAClD,EAAAx4B,cAAcI,0BAA2Bq4B,EAAW,EACpD,EAAAz4B,cAAcM,2BAA4BV,EAAWvL,GAAE,MAGpE,CA6IwCssR,CAAYnoP,EAAYC,EAAaioP,EACzC,EACA7sR,aAAc,WACVorR,EAAqBxmP,GACrB0mP,EAAoB3mP,EACxB,GAEC8nP,GACG,uBACIz3R,UAAWf,EAAG,UAAW,CACrB,qBAAsBy4R,EACtB,wBAAyBA,IAAsBC,EAC/C,sBAAuBA,KAG3B,uBAAK33R,UAAWf,EAAG,mBACd24R,GACG,uBAAK3lR,IAAI,UAAUjS,UAAWf,EAAG,kBAC5BkB,EAAE,yDAGVk3R,EAAqB1gR,KAAI,SAACohR,GACvB,OAAIA,aAAa,EAAbA,EAAejhR,WACR,KAIP,uBACI7E,IAAK8lR,aAAa,EAAbA,EAAevsR,GACpBxL,UAAWf,EAAG,kBAEd,gBAAC,UAAkB,CACf8xC,cAAegnP,aAAa,EAAbA,EAAehnP,gBAEjC,MACD,gBAAC,UAAK,CACF76B,OAAQ6hR,EAAc5hR,MACtBC,SAAU,EAAAC,aAAaC,MAIvC,MAIX21I,EACG,uBAAKjsJ,UAAWf,EAAG,WACf,gBAAC,UAAiB,CACdgC,UAAW,EAAAC,qBAAqBwQ,MAChCgE,KAAM,EAAAC,qBAId,uBAAK3V,UAAWf,EAAG,SACf,uBAAKe,UAAWf,EAAG,eAAgB,qBACnC,uBAAKe,UAAWf,EAAG,kBACf,uBACIe,UAAWf,EAAG,QAAS,CACnB,oBAAqB24R,KAGxBN,GACG,gCACI,uBAAKt3R,UAAWf,EAAG,kBACdq4R,aAAkB,EAAlBA,EAAoB3iG,mBACjB,gBAAC,UAAU,CACPj/K,KAAM,EAAAC,kBACN1U,WACIq2R,aAAkB,EAAlBA,EAAoBxgR,WACd,EAAA5V,qBAAqBwQ,MACrB,EAAAxQ,qBAAqBsV,UAItC8gR,aAAkB,EAAlBA,EAAoBziG,cACjB,gBAAC,UAAa,CACVn/K,KAAM,EAAAC,kBACN1U,WACIq2R,aAAkB,EAAlBA,EAAoBxgR,WACd,EAAA5V,qBAAqBwQ,MACrB,EAAAxQ,qBAAqBgG,MAE/B8O,aACIshR,aAAkB,EAAlBA,EAAoBxgR,WACd,EAAA5V,qBAAqBwQ,MACrB,EAAAxQ,qBAAqBgG,SAItCowR,aAAkB,EAAlBA,EAAoBjnF,cACjB,gBAAC,UAAW,CACR36L,KAAM,EAAAC,kBACN7E,YAAa,EACbkF,aACIshR,aAAkB,EAAlBA,EAAoBxgR,WACd,EAAA5V,qBAAqBwQ,MACrB,EAAAxQ,qBAAqBsS,YAE/BvS,WACIq2R,aAAkB,EAAlBA,EAAoBxgR,WACd,EAAA5V,qBAAqBwQ,MACrB,EAAAxQ,qBAAqBsS,eAK1C6jR,EAAqB1gR,KAAI,SAACohR,EAAenhR,GACtC,OACI,uBACI3E,IAAK8lR,aAAa,EAAbA,EAAevsR,GACpBxL,UAAWf,EAAG,eAAgB,CAC1B,wBACI84R,EAAcjhR,UAClB,sBACIihR,EAAcxjG,aAClB,0BAAqC,IAAV39K,KAG9BmhR,GACG,gBAAC,UAAK,CACF7hR,OAAQ6hR,EAAc5hR,MACtBC,SAAU,EAAAC,aAAaC,MAK3C,OAKhB,uBAAKtW,UAAWf,EAAG,eAAgB,sBAKvD,IACC23R,EAAiBG,GAG9B,KAIhB,IAEA,UAAed,C,6JC9Vf,kBACA,cAEA,cACA,cACA,WACA,cAEMh3R,EAAK,UAAWC,KAAK,WAWrB84R,EAA4B,UAAM34R,MAAK,SAACC,GAClC,IAAAmxB,EAAuEnxB,EAAK,YAA/D+G,EAA0D/G,EAAK,MAAxDkF,EAAmDlF,EAAK,SAA9CqF,EAAyCrF,EAAK,WAAlC4nB,EAA6B5nB,EAAK,WAAtBW,EAAiBX,EAAK,aAEpF,OACI,+BACIU,UAAWf,EAAG,SAAU,CACpB,qBAAsBioB,EACtB,wBAAyBviB,IAE7B5D,QAAS,WACD4D,GAIJH,EAASisB,EACb,EAAC,qBACmB,UAAGxwB,EAAY,mBAAWwwB,IAE9C,wBAAC,UAAQ,CAACzwB,UAAWf,EAAG,gBAAiBwxB,YAAaA,IACtD,+BAAKzwB,UAAWf,EAAG,kBAAmBoH,GACrC6gB,GACG,+BAAKlnB,UAAWf,EAAG,gBAAe,qBAAsB,UAAGgB,EAAY,cACnE,wBAAC,UAAQ,CACLgB,UAAW,EAAAC,qBAAqBC,SAChCuU,KAAM,EAAAC,kBACN3V,UAAWf,EAAG,WAMtC,IAEA,UAAe+4R,C,+BCnDf,WAAgB,KAAO,oCAAoC,OAAS,sCAAsC,SAAW,wC,q7BCDrH,kBACA,WACA,cACA,cACA,cACA,cACA,WACA,YACA,WACA,WACA,WACA,WAOM/4R,EAAK,UAAWC,KAAK,WAErBk2G,EAA4Ch2G,EAAMC,MAAK,SAACC,GAClD,IAAAimC,EAAoBjmC,EAAK,gBAEzBa,GAAM,IAAAC,kBAAgB,EAExB2Z,GAAS,IAAAgY,oBAETyT,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFC,EAAsB,UAAG,EAAA5mC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBn+B,YAErFo+B,GAAW,IAAAE,mBAAkB9rB,EAAOK,OAAQorB,GAC5Cj+B,GAAa,IAAAs+B,mBAAkB9rB,EAAOK,OAAQwrB,GAEpD,OACI,gBAAC,UAAa,CACVn6B,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1C1P,MAAOlG,EAAE,sDACT2lC,SACI,gBAAC,UAAS,CAAC9lC,UAAWf,EAAG,iBAAkB2U,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,WAC9E,IAAA4kC,oBAAmBx+B,aAAU,EAAVA,EAAYD,MAAOC,aAAU,EAAVA,EAAY8D,MAG3D9G,MAAOohC,aAAQ,EAARA,EAAUK,SAG7B,IAEA,UAAeovE,C,umDCrDf,eACA,UAMA,WACA,WACA,cACA,cAGA,SAAU6iL,EAAwBh1R,G,kEAI9B,OAHesa,EAAata,EAAM,OAE5BsC,EAAQgY,EAAS0Q,QAKuC,IAAM,IAAA/hB,QAAO,EAAAg7P,0BAHvE,I,OAKJ,OAFMzpP,EAAwD,UAC1C,aAAQlY,EAAOkY,GAE/B,IAGJ,IAAM,IAAArR,MAAI,IAAA8qO,mBAAkB3xO,K,OAGxB,OAHJ,SAGI,GAAM,UAAkBmjP,mBAAmBnjP,I,cADzC,kBACF,SAAiD,IAD9ClC,EAAK,KAAE2qD,EAAQ,KAGlB3qD,EACA,IAAM,IAAA+I,MAAI,IAAAgrO,mBAAkB/zO,KAD5B,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA+qO,sBAAoBnpL,aAAQ,EAARA,EAAU1vC,UAAW,M,IAGvD,SAAU45Q,EAAqBj1R,G,oEAGiC,OAFpDN,EAAqBM,EAAM,UAAhBsC,EAAUtC,EAAM,MAEyB,IAAM,IAAAiJ,QAAO,EAAA4sH,qB,OACzE,OAD4D,SAC3Cn2H,GACb,IAGJ,IAAM,IAAAyJ,MAAI,IAAA8qO,mBAAkB3xO,K,OAGxB,OAHJ,SAGI,GAAM,UAAkBwuB,oBAAoBpxB,I,cAD1C,kBACF,SAAsD,IADnDU,EAAK,KAAE4wB,EAAc,KAGxB5wB,EACA,IAAM,IAAA+I,MAAI,IAAAgrO,mBAAkB/zO,KAD5B,M,qBAoBJ,S,WAAA,OAfM2qD,EAAuB,GAEzB/5B,IAAkBA,aAAc,EAAdA,EAAgBzoB,KAClCwiD,EAASh3C,KAAK,CACVxL,GAAIyoB,aAAc,EAAdA,EAAgBzoB,GACpB0M,KAAM+b,aAAc,EAAdA,EAAgB/b,KAEtBuY,YAAyC,QAA5B,EAAAwD,aAAc,EAAdA,EAAgB4hF,oBAAY,eAAE7vF,QAC3C/Y,OAAQgnB,aAAc,EAAdA,EAAgBhnB,OACxByd,gBAAiBuJ,aAAc,EAAdA,EAAgBvJ,gBACjCD,uBAAwBwJ,aAAc,EAAdA,EAAgBxJ,uBACxCG,kBAAmBqJ,aAAc,EAAdA,EAAgBrJ,oBAI3C,IAAM,IAAAxe,MAAI,IAAA+qO,qBAAoBnpL,K,IAQlC,UALA,W,kDACI,UAAM,IAAAnhD,WAAU,EAAA45D,+BAAgCwxN,I,OAChD,OADA,SACA,IAAM,IAAAprR,WAAU,EAAA65D,4BAA6BwxN,I,cAA7C,S,qKC9EJ,kBACA,cAEA,cAIW,UAAWh5R,KAAK,WAqB3B,UAf8C,SAACI,G,YACnC4nE,EAAkB5nE,EAAK,cAE/B,IAAK4nE,EACD,OAAO,KAGX,IAAIhiE,EAAW,CAAuB,QAAtB,EAAAgiE,aAAa,EAAbA,EAAer5D,eAAO,eAAEqK,KAA4B,QAAtB,EAAAgvD,aAAa,EAAbA,EAAer5D,eAAO,eAAE8gB,SAASL,OAAOhmB,SAASsmB,KAAK,KAKpG,OAJK1pB,IAAkC,QAAtB,EAAAgiE,aAAa,EAAbA,EAAer5D,eAAO,eAAEwnI,eACrCnwI,EAAiC,QAAtB,EAAAgiE,aAAa,EAAbA,EAAer5D,eAAO,eAAEwnI,aAGhC,oCAAOnwI,EAClB,C,4+CC1BA,kBAEA,aACA,cACA,cAEA,WAEMjG,EAAK,UAAWC,KAAK,WAYd,EAAAi5R,cAAgB,SAACC,EAA6BC,GAQvD,OANID,EACKlmK,MAAM,IACNomK,UACA1pQ,KAAK,IACL29K,MAAM,YAAc,IAGxB39K,KAAKypQ,GAAqB,KAC1BnmK,MAAM,IACNomK,UACA1pQ,KAAK,GACd,EAEa,EAAA+nD,YAAc,SAAC,G,IACxBvgE,EAAQ,WACRF,EAAM,SACND,EAAO,UACPsiR,EAAuB,0BAOjBryR,EAAW,EAAH,KACP,EAAA2wE,kBAAkBzgE,IACjBmiR,GAA2B,CAAC,GAG9BC,EAAgBtiR,EAAO4gE,QAAQ7gE,EAAU,EAAI/P,EAAS0wE,0BACtD,IAAsB4hN,EAActmK,MAlCpB,KAkC4C,GAA3DumK,EAAO,KAAEC,EAAQ,KAElBC,GAAmB,IAAAR,eAAcM,EAASvyR,EAASmyR,mBAEzD,MAAO,CACHnyR,EAAS0yR,cAAgB1yR,EAAS2yR,OAAS,GAC3CF,EACA1iR,EAAU,GAAK/P,EAAS4yR,iBACxBJ,EACCxyR,EAAS0yR,cAAwC,GAAxB,WAAI1yR,EAAS2yR,SACzCjqQ,KAAK,GACX,EAEA,IAAMmqQ,EAA0B35R,EAAMC,MAAK,SAACC,GAChC,IAAA4W,EAAuD5W,EAAK,OAApD8W,EAA+C9W,EAAK,SAA1C2W,EAAqC3W,EAAK,QAAjCU,EAA4BV,EAAK,UAAtBW,EAAiBX,EAAK,aAEpE,GAAI4W,QACA,OAAO,KAGX,IAAM8iR,GAAiB,IAAAriN,aAAY,CAC/BzgE,OAAM,EACNE,SAAQ,EACRH,QAAO,IAGX,OACI,wBAAMjW,WAAW,aAAGA,EAAWf,EAAG,UAAS,qBAAsBgB,GAC5D+4R,EAGb,IAEA,UAAeD,C,q7BCrFf,kBACA,cACA,cACA,WACA,cAIA,cACA,aACA,cACA,cACA,cAEA,cACA,cACA,cACA,cAEM95R,EAAK,UAAWC,KAAK,WA0I3B,UAtHwC,SAACI,GAEjC,IAAA2pC,EAeA3pC,EAAK,SAdLqqC,EAcArqC,EAAK,kBAbLU,EAaAV,EAAK,UAZL6sC,EAYA7sC,EAAK,aAXL8sC,EAWA9sC,EAAK,gBAVL+sC,EAUA/sC,EAAK,iBATLgtC,EASAhtC,EAAK,cARLitC,EAQAjtC,EAAK,eAPLotC,EAOAptC,EAAK,aANLqtC,EAMArtC,EAAK,mBALLq0B,EAKAr0B,EAAK,YAJLktC,EAIAltC,EAAK,kBAHLgP,EAGAhP,EAAK,UAFLutC,EAEAvtC,EAAK,mBADLwtC,EACAxtC,EAAK,eAEDa,GAAM,IAAAC,kBAAgB,EAExBoyB,EAAsD,CACxD,CACIC,aAAc,WAAM,aACpBE,OAAQ,SAAC9kB,GAA6B,OAClC,gBAAC,UAAU,CAAC28B,WAAY38B,EAAQ28B,YAC5B,gBAAC,UAAU,CAACtlC,SAAU2I,EAAQ3I,UAAY,KAFZ,EAKtClF,UAAWf,EAAG,gBAAiB,0BAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,yCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC9kB,GAA6B,OAClC,gBAAC,UAAU,CAAC28B,WAAY38B,EAAQ28B,YAC5B,gBAAC,UAAe,CAACA,WAAY38B,EAAQ28B,YACjC,gBAAC,UAAY,CAACtlC,SAAU2I,EAAQ3I,UAAY,MAHlB,EAOtClF,UAAWf,EAAG,gBAAiB,uBAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,qCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC9kB,GAA6B,OAClC,gBAAC,UAAU,CAAC28B,WAAY38B,EAAQ28B,YAC5B,gBAAC,UAAS,CAACzkC,MAAO8H,EAAQ9H,OAAS,KAFL,EAKtC/F,UAAWf,EAAG,gBAAiB,uBAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,qCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC9kB,GAA6B,OAClC,gBAAC,UAAU,CAAC28B,WAAY38B,EAAQ28B,YAC5B,gBAAC,UAAS,CAACthB,MAAOrb,EAAQqb,OAAS,KAFL,EAKtClpB,UAAWf,EAAG,gBAAiB,uBAEnC,CACIwzB,aAAc,WAAM,mCAAOtyB,EAAE,qCAAT,EACpBuyB,gBAAiBzzB,EAAG,iBACpB0zB,OAAQ,SAAC9kB,GAA6B,OAClC,gBAAC,UAAU,CAAC28B,WAAY38B,EAAQ28B,YAC5B,gBAAC,UAAa,CAAC38B,QAASA,IAFM,EAKtC7N,UAAWf,EAAG,gBAAiB,uBAEnC,CACIwzB,aAAc,WAAM,aACpBE,OAAQ,SAAC9kB,EAASyjI,EAAGqI,GACjB,OAAA9sG,EACI,gBAAC,UAAY,CACTh/B,QAASA,EACT6+B,aAAcA,EACdC,mBAAoBA,EACpBP,gBAAiBA,EACjBD,aAAcA,EACdE,iBAAkBA,EAClBC,cAAeA,EACfC,eAAgBA,EAChBC,kBAAmBA,EACnBysP,UAAWt/I,IAAa1wG,EAAS1nC,OAAS,EAC1CurC,eAAgBA,IAEpB,IAdJ,EAeJ9sC,UAAWf,EAAG,6BAIhBo0B,EAAa,SAAClY,EAAqBqnB,GAAyB,OAC9Dtb,YAAYsb,aAAG,EAAHA,EAAKh3B,MAAOm+B,EADsC,EAIlE,OACI,uBAAK3pC,UAAWf,EAAG,UACf,gBAAC,UAAa,CAAkBw0B,UAAU,UAAUnlB,UAAWA,EAAW4W,KAAM+jB,IAC3E,SAAC/jB,EAAMwO,GAAmB,OACvB,gBAAC,UAAK,CACF1zB,UAAWA,EACXwyB,QAASA,EACTtN,KAAMA,EACNyO,YAAaA,EACbN,WAAYA,EACZ/kB,UAAWA,EACXolB,eAAgBA,GARG,IAc3C,C,+BC1JA,WAAgB,KAAO,mCAAmC,KAAO,mCAAmC,OAAS,qCAAqC,SAAW,uC,+qBCD7J,kBACA,aACA,cAEA,cACA,cAEMz0B,EAAK,UAAWC,KAAK,WA0BrBg6R,EAA6B,UAAM75R,MAAK,SAACC,GAEvC,IAAAiF,EAmBAjF,EAAK,MAlBL4Y,EAkBA5Y,EAAK,KAjBL0F,EAiBA1F,EAAK,YAhBL8c,EAgBA9c,EAAK,SAfLsF,EAeAtF,EAAK,OAdLuF,EAcAvF,EAAK,QAbLu3B,EAaAv3B,EAAK,QAZLoF,EAYApF,EAAK,SAXLmF,EAWAnF,EAAK,WAVLugE,EAUAvgE,EAAK,WATL+4B,EASA/4B,EAAK,UARLqF,EAQArF,EAAK,WAPLo7C,EAOAp7C,EAAK,cANM65R,EAMX75R,EAAK,UALLyL,EAKAzL,EAAK,cAJLU,EAIAV,EAAK,UAHLwF,EAGAxF,EAAK,WAFL22B,EAEA32B,EAAK,aADL42B,EACA52B,EAAK,mBAEH,IAA0B,UAAMqE,UAAkB,GAAM,GAAvDqzB,EAAS,KAAEogL,EAAU,KACtB,IAA0B,UAAMzzM,UAAkB,GAAM,GAAvDi2I,EAAS,KAAE6oC,EAAU,KAiCtB1+H,GAAWx/C,EAIX60R,EAAmE,CACrE/gQ,YAAaA,EACbjc,SArCiB,SAACnR,GAClB,IAAMouR,EAAcpuR,EAAM+9M,cAAczkN,OAAS,GACjD6X,EAASi9Q,EACb,EAmCIz0R,OAjCe,WACfwyM,GAAW,GAEPxyM,GACAA,GAER,EA4BIC,QA1BgB,WAChBuyM,GAAW,GAEPvyM,GACAA,GAER,EAqBIgyB,QAAO,EACP3e,KAAI,EACJ3T,MAAOA,GAAS,GAChBS,YAAW,EACXsvF,SAAU3vF,EACVsxB,aAAcA,GAAgB,MAE9B,sBAdiB,aAAgBC,GAAsBhe,EAAM,aAiBjE,OACI,sCACIy1G,YA/BgB,WACfisB,GACD6oC,GAAW,EAEnB,EA4BQv3K,aA1BiB,WACrBu3K,GAAW,EACf,GAyBY22G,EAAa,CACjBp5R,WAAW,aACPf,EAAG,WAAY,CACX,uBAAwBwF,EACxB,uBAAwBo7D,EACxB,uBAAwB/6D,EACxB,0BAA2B41C,EAC3B,qBAAsBh2C,EACtB,uBAAwBC,EACxB,sBAAuBi1I,EACvB,0BAA2B7uI,EAC3B,sBAAuBisB,GAAamiQ,IAExCl6R,EAAG,iBAAkB,CACjB,0BAA2B8kD,EAC3B,6BAA8Bp/C,IAElC3E,KAIhB,IAEA,UAAek5R,C,m5BCxIf,kBACA,WACA,WAOa,EAAAx5N,qCAAkC,MAC1C,EAAAH,8BAA8Bh0C,SAAU,8CACzC,EAAC,EAAAg0C,8BAA8B/zC,SAAU,8CACzC,EAAC,EAAA+zC,8BAA8BrK,WAAY,gDAC3C,EAAC,EAAAqK,8BAA8B52B,QAAS,6C,GAG5C,IAAM2wP,EAA8Cl6R,EAAMC,MAAK,SAACC,GACpD,IAAAopB,EAAWppB,EAAK,OAEhBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKsoB,EAIEvoB,EAAE,EAAAu/D,mCAAmCh3C,IAHjC,IAIf,IAEA,UAAe4wQ,C,yEC5Bf,eAmBA,UAjByB,W,MAcrB,OAbY,MACP,EAAAt6R,WAAWktB,MAAO,KAEnB,EAAC,EAAAltB,WAAWsa,UAAW,KACvB,EAAC,EAAAta,WAAW6d,eAAgB,KAE5B,EAAC,EAAA7d,WAAW2c,WAAY,KACxB,EAAC,EAAA3c,WAAWitB,WAAY,KAExB,EAAC,EAAAjtB,WAAW4rH,aAAc,KAC1B,EAAC,EAAA5rH,WAAW6rH,WAAY,K,CAIhC,C,u7BCjBA,kBAEA,cACA,cAEA,cACA,WACA,WACA,WAEA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WAEM5rH,EAAK,UAAWC,KAAK,WAErB01E,IAAc,MACf,EAAA51E,WAAWgqB,WAAY,GACxB,EAAC,EAAAhqB,WAAWiqB,UAAW,GACvB,EAAC,EAAAjqB,WAAW+G,OAAQ,GACpB,EAAC,EAAA/G,WAAWkqB,OAAQ,GACpB,EAAC,EAAAlqB,WAAWsqB,UAAW,GACvB,EAAC,EAAAtqB,WAAWuqB,cAAc,E,GAQxBgwQ,EAAmCn6R,EAAMC,MAAK,SAACC,GACzC,IAAA6D,EAAsB7D,EAAK,QAAlB6a,EAAa7a,EAAK,SAC3Ba,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEEkjD,EAAgBjkD,EAAM0E,SAAQ,WAChC,OAAO,aAAa3D,EAAGy0E,EAC3B,GAAG,CAACz0E,IAEE4Z,GAAS,IAAAC,WAAuB,CAClCE,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAe86D,EACf1xB,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACfF,EAASC,GAETC,EAAcI,WAAW,CAAC,EAC9B,IAGJ,OACI,wBAAMN,SAAUJ,EAAOiB,cACnB,uBAAKhb,UAAWf,EAAG,WACf,gBAAC,UAAW,CACRiZ,KAAM,EAAAlZ,WAAWgqB,UACjB3lB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgqB,WAChC7N,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgqB,WACrC3iB,MAAOlG,EAAE,yCACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWgqB,UACjBzkB,MAAOwV,EAAOK,OAAO,EAAApb,WAAWgqB,WAChC5M,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAWiqB,SACjB5lB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWiqB,UAChC9N,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWiqB,UACrC5iB,MAAOlG,EAAE,wCACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWiqB,SACjB1kB,MAAOwV,EAAOK,OAAO,EAAApb,WAAWiqB,UAChC7M,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAW+G,MACjB1C,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+G,OAChCoV,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+G,OACrCM,MAAOlG,EAAE,qCACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW+G,MACjBxB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+G,OAChCf,YAAa7E,EAAE,2CACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAWkqB,MACjB7lB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWkqB,OAChC/N,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWkqB,OACrC7iB,MAAOlG,EAAE,qCACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAgB,CACb4Y,KAAM,EAAAlZ,WAAWkqB,MACjB3kB,MAAOwV,EAAOK,OAAO,EAAApb,WAAWkqB,OAChC9M,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YARd,IAYhB,gBAAC,UAAW,CACRyT,KAAM,EAAAlZ,WAAWsqB,SACjBjmB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWsqB,UAChCnO,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWsqB,UACrCjjB,MAAOlG,EAAE,wCACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACFiD,KAAK,WACL2V,KAAM,EAAAlZ,WAAWsqB,SACjB/kB,MAAOwV,EAAOK,OAAO,EAAApb,WAAWsqB,UAChCtkB,YAAa7E,EAAE,8CACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBwxB,aAAc,EAAAimN,uBAXV,IAehB,gBAAC,UAAW,CACRl8O,UAAWf,EAAG,YACdiZ,KAAM,EAAAlZ,WAAWuqB,YACjBlmB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWuqB,aAChCpO,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWuqB,aACrClO,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBk+J,YAAU,IAET,SAACl6K,GAAU,OACR,gBAAC,UAAQ,CACL4lF,QAASnrE,EAAOK,OAAO,EAAApb,WAAWuqB,aAClCnN,SAAU9c,EAAM8c,SAChB/V,MACI,wBAAMrG,UAAWf,EAAG,UACfkB,EAAE,uCAAwC,IAC3C,gBAAC,UAAI,CACDqtJ,YAAU,EACVhtJ,MAAO,EAAA8mB,cAAcmyJ,aACrBjyJ,GAAIrnB,EAAE,uCACNknB,OAAO,UAENlnB,EAAE,+CAbX,KAqBpB,gBAAC,UAAkB,CAAC4kF,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,gBAAC,UAAM,CAAC5M,UAAWnL,EAAS3C,MAAO,EAAA2N,gBAAgB8O,QAAS1a,KAAK,SAASvC,UAAWf,EAAG,WACnFkB,EAAE,oCAEP,uBAAKH,UAAWf,EAAG,iBACdkB,EAAE,gDACH,wBAAMH,UAAWf,EAAG,uBAChB,gBAAC,UAAI,CAACuB,MAAO,EAAA8mB,cAAc4kQ,SAAU1kQ,GAAI,EAAAy8B,QAAQgsL,mBAC5C9vO,EAAE,8CAM3B,IAEA,UAAeo5R,C,i+CCrNf,kBACA,cAEA,cACA,WACA,WACA,WACA,cACA,cACA,UACA,aACA,WACA,cACA,cACA,cAGMt6R,EAAK,UAAWC,KAAK,WAOd,EAAA01E,iBAAc,MACtB,EAAA51E,WAAW+G,OAAQ,GACpB,EAAC,EAAA/G,WAAW4D,aAAc,EAAA+kB,gBAAgB6C,Q,GAmI9C,UA3H4C,SAAClrB,GACjC,IAAAk6R,EAA6Cl6R,EAAK,gBAAjCm6R,EAA4Bn6R,EAAK,wBAElDa,GAAM,IAAAC,kBAAgB,EAExB8iD,EAAW,UAAMp/C,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,IAAiC,UAAM2D,SAAQ,WACjD,IAAMsW,EAAS,EAAH,GACL,EAAAw6D,gBAKP,MAAO,CAACx6D,GAFO,aAAaja,EAAGia,GAInC,GAAG,IAAG,GATCN,EAAa,KAAEupC,EAAa,KAW7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACfm/Q,EAAgB,CACZzzR,MAAOqU,EAAO,EAAApb,WAAW+G,OACzBnD,YAAawX,EAAO,EAAApb,WAAW4D,eAGnCyX,EAAcI,WAAW,CAAC,EAC9B,IAGErU,EAAe,SAACN,GAAkE,OACpF,oCAAOA,aAAM,EAANA,EAAQO,MADqE,EAIlFS,EAAiB,SAAChB,GAA2B,OAAAA,aAAM,EAANA,EAAQvB,KAAR,EAE7C9C,EAAU,UAAMqC,SAClB,WAA6B,OACzB,CACIuC,MAAOlG,EAAE,+BACToE,MAAO,EAAAojB,gBAAgB6C,SAE3B,CACInkB,MAAOlG,EAAE,+BACToE,MAAO,EAAAojB,gBAAgBC,SAPF,GAU7B,CAACznB,IAGL,OACI,gCAAMga,SAAUJ,EAAOiB,cACnB,+BAAKhb,UAAWf,EAAG,SACf,+BAAKe,UAAWf,EAAG,WACnB,+BAAKe,UAAWf,EAAG,UAAWkB,EAAE,0DAChC,+BAAKH,UAAWf,EAAG,SACf,wBAAC,UAAU,CAAC8zG,OAAQ,GAChB,wBAAC,UAAW,CACR/yG,UAAWf,EAAG,gBACdiZ,KAAM,EAAAlZ,WAAW+G,MACjB1C,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+G,OAChCoV,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+G,OACrCM,MAAOlG,EAAE,sEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW+G,MACjBxB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+G,OAChCf,YAAY,GACZoX,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,YATd,IAahB,wBAAC,UAAW,CACRzE,UAAWf,EAAG,uBACdiZ,KAAM,EAAAlZ,WAAW4D,YACjBS,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW4D,aAChCuY,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW4D,aACrCyD,MAAOlG,EAAE,wEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAa,CACVmH,cAAesT,EAAOK,OAAO,EAAApb,WAAW4D,aACxCnB,QAASA,EACT+C,SAAUlF,EAAM8c,SAChBhW,aAAcA,EACdU,eAAgBA,EAChBjF,gBAAiB,EAAAC,4BAA4BiF,WAC7CtC,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,UATZ,MAexB,wBAAC,UAAM,CACHlE,MAAO,EAAA2N,gBAAgB8O,QACvB3O,UAAWmrR,EAAwBt2R,QACnC+Z,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,4DAKvB,C,q7BC3JA,kBACA,cAEA,aACA,WACA,WACA,cACA,WAOA,cACA,cACA,UACA,UACA,cACA,cAEA,WACA,WACA,cACA,cACA,WACA,WAIA,cAGA,cACA,aACA,cACA,cACA,WACA,cACA,WACA,cACA,WACA,cACA,WACA,cAEMlB,EAAK,UAAWC,KAAK,WAoL3B,UAzKyC,SAACI,G,kBAC9BqD,EAAsGrD,EAAK,UAAhGsvD,EAA2FtvD,EAAK,eAAhFgP,EAA2EhP,EAAK,UAArEu6C,EAAgEv6C,EAAK,mBAAjDkxD,EAA4ClxD,EAAK,qBAA3B60C,EAAsB70C,EAAK,kBAE3Ga,GAAM,IAAAC,kBAAgB,EAExByzB,GAAW,IAAAC,eAEXihE,GAAgB,IAAAz/E,aAAY,EAAA0/E,uBAC5BskB,GAAmB,IAAAhkG,aAAY,EAAAm6B,yBAA2B,CAAC,EAEjE,UAAMjlC,WAAU,WACZqpB,GAAS,IAAAmV,uBACTnV,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAEJ,IAAM49G,GAAkD,QAA/B,EAAA7iF,aAAc,EAAdA,EAAgBpf,uBAAe,eAAEhkC,IACpD8tG,EAAgD,QAA/B,EAAA1qD,aAAc,EAAdA,EAAgBpf,uBAAe,eAAEhkC,IAClD,KAEAkuR,EAAmBjoJ,EACnBtxI,EAAE,0DAAmDsxI,aAAgB,EAAhBA,EAAkBp/F,YAAW,WAClF,GAEN,UAAM7nC,WAAU,WACZqpB,GAAS,IAAA67F,uBAAsB/sH,GACnC,GAAG,CAACkxB,EAAUlxB,IAEd,IAAM2/Q,GAAyB,IAAAhtQ,cAAY,IAAAokO,oCAAmC/2O,IAExEmuB,GADe,IAAAxb,cAAY,IAAAqvO,2BAA0BhiP,IAC7BisD,aAAc,EAAdA,EAAgBpqB,aAAyB,KAEjEm1P,GACFloJ,aAAgB,EAAhBA,EAAkBp/F,eAAgB,EAAAq/G,gBAAgBiT,IAAM7zI,aAAQ,EAARA,EAAU+oF,UAAY/oF,aAAQ,EAARA,EAAU8oF,WAEtFhpF,IAAYg+B,aAAc,EAAdA,EAAgBpqB,YAAam1P,EAAoB/qO,aAAc,EAAdA,EAAgBh+B,UAE/E2xP,GAAgC,MAEhCD,aAAsB,EAAtBA,EAAwBn/Q,WACxBo/Q,GAAe,wBAAC,UAAiB,CAAC7sQ,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBsS,iBAG1F8uQ,aAAsB,EAAtBA,EAAwBn/Q,UAAWyrD,IAAkBA,aAAc,EAAdA,EAAgBpqB,cACtE+9O,GAAe3zN,aAAc,EAAdA,EAAgB7hC,eAG9Bu1P,aAAsB,EAAtBA,EAAwBn/Q,WAAWyrD,IAAmBA,aAAc,EAAdA,EAAgBpqB,cACvE+9O,GAAepiR,EAAE,0BAGrB,IAAIqiR,GAAqC,KAczC,OAbI1xP,aAAQ,EAARA,EAAUtlB,MACVg3Q,GACI,wBAAC,UAAkB,CACfzvK,OAAO,KACPhyG,QAAS,WACLyvD,EAAqB1/B,EAAStlB,GAClC,EACAxK,SAAU,wBAAC,UAAW,CAACgV,YAAa,EAAA9U,qBAAqB+W,OACzD7W,gBAAiB,EAAAC,oBAAoB2xG,wBAM7C,+BAAKhzG,UAAWf,EAAG,SACf,wBAAC,EAAAulM,WAAU,CAACxkM,UAAWf,EAAG,YACrB2vD,aAAc,EAAdA,EAAgBkoJ,gBACb,wBAAC,UAAgB,CACbpwL,YAAakoC,aAAc,EAAdA,EAAgBgrO,uBAC7BhgP,QAASgV,EAAekoJ,cACxBj9J,mBAAoBA,KAG3B+U,aAAc,EAAdA,EAAgBlmC,UAAW,EAAA0/C,kBAAkB38C,UAC1C,wBAAC,UAAoB,CACjBrnB,UAAWzB,EACX4uD,UAAW,EAAA3I,cAActlC,QACzBoD,aAAakoC,aAAc,EAAdA,EAAgBloC,cAAe,GAC5Cg8P,eAAe9zN,aAAc,EAAdA,EAAgBpqB,eAGtCoqB,aAAc,EAAdA,EAAgBlmC,UAAW,EAAA0/C,kBAAkB38C,aAAcmjC,aAAc,EAAdA,EAAgB+zN,kBACxE,wBAAC,UAAkB,CAAChtL,OAAQ/mC,EAAe+zN,mBAGlDr0Q,GAAa,wBAAC,UAAa,MAC5B,+BAAKtO,UAAWf,EAAG,WACf,wBAAC,UAAW,CAACozC,YAAao/F,aAAgB,EAAhBA,EAAkBp/F,YAAaryC,UAAWf,EAAG,UACvE,wBAAC,UAAa,CACVoH,MAAOqzR,EACPjuR,KACI,wBAAC,UAAW,CACRiK,KAAM,GACNzU,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1CxR,MACIktI,EACMtxI,EAAE,kCAAmC,CACjCoB,OAAQkwI,EAAiBlwI,OACzBklB,MAAOgrH,EAAiBhrH,MACxB8yD,YAAak4D,EAAiBl4D,YAC9BC,YAAai4D,EAAiBj4D,cAElC,KAGd,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVx5E,UAAWf,EAAG,QAAS,uBACvBoH,MAAOlG,EAAE,8DACToE,OAAOqqD,aAAc,EAAdA,EAAgBloC,cAAe,KAE1C,wBAAC,UAAa,CACV1mB,UAAWf,EAAG,QAAS,cACvBoH,MAAOlG,EAAE,6DACToE,OAAOqqD,aAAc,EAAdA,EAAgBl+B,MAAO,MAItC,wBAAC,UAAa,CACV1wB,UAAWf,EAAG,QAAS,kBACvBwM,KAAM,wBAAC,UAAQ,CAACglB,YAAam+B,aAAc,EAAdA,EAAgBn+B,cAC7CpqB,MAAOlG,EAAE,yDACToE,QACKqqD,aAAc,EAAdA,EAAgBn+B,aACiC,QAA5C,EAAAskE,aAAa,EAAbA,EAAgBnmC,aAAc,EAAdA,EAAgBn+B,oBAAY,eAAEynI,oBAC9C,OAAS,KAGvB,wBAAC,UAAU,KACP,wBAAC,UAAa,CACVl4J,UAAWf,EAAG,QAAS,mBACvBoH,MAAOlG,EAAE,0DACToE,MAAOg+Q,GACP3+N,gBAAiB,EAAAtjD,oBAAoBC,YACrCI,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,6DAGXN,UAAW2iR,KAEf,wBAAC,UAAa,CACVxiR,UAAWf,EAAG,QAAS,eACvBoH,MAAOlG,EAAE,sDACToE,OAAO,aAASqsB,IAAa,wBAAC,UAAK,CAAC1a,OAAQ0a,GAAWxa,SAAU,EAAAC,aAAaC,MAAU,OAIpG,wBAAC,UAAoB,CACjB69B,kBAAmBA,EACnByH,YAAagT,aAAc,EAAdA,EAAgBhT,YAC7BI,iBAAiB,IAAAi9M,iCAAgCrqM,KAAmBA,aAAc,EAAdA,EAAgB6hI,eACpF7zK,cAAwC,QAAzB,EAAAgyC,aAAc,EAAdA,EAAgB65B,iBAAS,eAAEvjF,SAC1CyX,YAAsC,QAAzB,EAAAiyC,aAAc,EAAdA,EAAgB65B,iBAAS,eAAEj9E,GACxCiyP,aAAc7uM,aAAc,EAAdA,EAAgBi0N,iBAC9BjlB,kBACI,IAAA3E,iCAAgCrqM,KAAmBA,aAAc,EAAdA,EAAgB23L,sBAEvEmX,eAA8C,QAA9B,EAAA9uM,aAAc,EAAdA,EAAgBk0N,sBAAc,eAAE59Q,SAChDy4P,aAA4C,QAA9B,EAAA/uM,aAAc,EAAdA,EAAgBk0N,sBAAc,eAAEt3Q,KAI9D,C,u8CChOA,kBACA,cAEA,cACA,WACA,WACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,cACA,UACA,WACA,cACA,aACA,cACA,aACA,cACA,WACA,WACA,WACA,UACA,aACA,cACA,cACA,cACA,cAGA,WACA,cACA,WACA,cAGMvM,EAAK,UAAWC,KAAK,WAUrB26R,EAAuB,CACzB,EAAApwF,uBAAuBrmL,MACvB,EAAAqmL,uBAAuBpmL,MACvB,EAAAomL,uBAAuBnmL,SAmX3B,UAhXgD,SAAChkB,GACrC,IAAAQ,EAA2CR,EAAK,QAAvCia,EAAkCja,EAAK,gBAAtBka,EAAiBla,EAAK,aAChDa,GAAM,IAAAC,kBAAgB,EAEtBuC,GAAc,eAAmB,UAEnC,IAAgD,UAAMgB,SAAwB6V,GAAa,GAA1FI,EAAmB,KAAEC,EAAsB,KAElD,UAAMrP,WAAU,WACZqP,EAAuBL,EAC3B,GAAG,CAACA,IAEJ,IAAMM,EAAgB,UAAMhW,SAAQ,WAAM,oBAAiB0V,EAAjB,GAAgC,CAACA,IAErEO,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBJ,cAAa,EACbK,SAAU,SAACC,EAAQC,GACf,IAAMC,GAAkB,aAAgBF,GAClCG,GAAqB,IAAAC,mBAAkBZ,EAAqBU,GAClEf,EAAgBgB,GAEhBF,EAAcI,WAAW,CAAC,EAC9B,IAGE4c,EAAY,UAAMvzB,SAAQ,WAAM,WAAAwzB,eAAA,GAAgB,IAEhD5c,EAAe,UAAM5W,SAAQ,WAC/B,OAAO,IAAA6W,aAAYb,EAAeC,EAAOK,UAAW,IAAAO,aAAYf,EAAqBJ,EACzF,GAAG,CAACM,EAAeC,EAAOK,OAAQR,EAAqBJ,IAEjDsgR,EAAgD,UAAMh2R,SACxD,WACI,OAAA+1R,EAAqBljR,KAAI,SAACpS,GAAU,OAChC8B,MAAOlG,EAAE,oEAA6DoE,IACtEA,MAAK,EAF2B,GAApC,GAIJ,CAACpE,IAGL,OACI,gCAAMga,SAAUJ,EAAOiB,aAAchb,UAAWf,EAAG,SAC/C,wBAAC,UAAmB,KAChB,wBAAC,UAAoB,CAACM,MAAOY,EAAE,8CAA+CL,QAASA,KAE3F,wBAAC,UAAa,KACV,wBAAC,UAAW,CACRE,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAWw1C,cACjBnxC,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWw1C,eAChCr5B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWw1C,eACrCnuC,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBsoC,gBAAiB,EAAAtjD,oBAAoBu+F,QACrCl+F,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,2DAIV,SAACb,GAAU,OACR,wBAAC,UAAK,CACF0c,eAAgB,SAACC,GAAa,+BAAC,UAAO,KAAK,EAAAC,aAAaC,gBAAgBF,IAA1C,EAC9B/D,KAAM,EAAAlZ,WAAWw1C,cACjBjwC,MAAOwV,EAAOK,OAAO,EAAApb,WAAWw1C,gBAAkB,GAClDxvC,YAAa7E,EAAE,6DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAXX,IAehB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,SACdiZ,KAAM,EAAAlZ,WAAWg2C,mBACjB3xC,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWg2C,oBAChC75B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWg2C,oBACrC3uC,MAAOlG,EAAE,mEACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBsoC,gBAAiB,EAAAtjD,oBAAoBu+F,QACrCl+F,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,2DAIV,SAACb,GAAU,OACR,wBAAC,UAAK,CACF0c,eAAgB,SAACC,GAAa,+BAAC,UAAO,KAAK,EAAAC,aAAaC,gBAAgBF,IAA1C,EAC9B/D,KAAM,EAAAlZ,WAAWg2C,mBACjBzwC,MAAOwV,EAAOK,OAAO,EAAApb,WAAWg2C,qBAAuB,GACvDhwC,YAAa7E,EAAE,6DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAXX,IAehB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWsd,YACjBjZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWsd,aAChCnB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWsd,aACrCjW,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWsd,aAChCtX,YAAa7E,EAAE,kEACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BqiF,QAC/C95F,iBAAe,GAPX,IAWhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWyd,aACjBpZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWyd,cAChCtB,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWyd,cACrCpW,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAWyd,cAChCzX,YAAa7E,EAAE,oEACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8BuiF,SAC/Ch6F,iBAAe,GAPX,KAYpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAW+6R,aACjB12R,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+6R,cAChC5+Q,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+6R,cACrC1zR,MAAOlG,EAAE,8DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAU,CACPid,SAAO,EACPhY,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+6R,cAChC/0R,YAAa7E,EAAE,oEACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8Bza,YAC/CgD,iBAAe,GAPX,IAWhB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,qBACvBiZ,KAAM,EAAAlZ,WAAWq7N,UACjBh3N,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWq7N,WAChCl/M,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWq7N,WACrCh0N,MAAOlG,EAAE,0DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAa,CACVmH,cAAesT,EAAOK,OAAO,EAAApb,WAAWq7N,WACxCr1N,YAAa7E,EAAE,gEACfsB,QAASq4R,EACTt1R,SAAUlF,EAAM8c,SAChBhW,aAAc,SAACN,EAAsDd,GACjE,OAAKc,EAIE,oCAAOA,EAAOO,OAHV,oCAAOrB,EAItB,EACAg1R,aAAc,WACV16R,EAAM8c,SAAS,KACnB,EACAzV,gBAAiB,WACb,OAAAoT,EAAOK,OAAO,EAAApb,WAAWq7N,WACrB,wBAAC,UAAS,CAACp5N,UAAW,EAAAC,qBAAqB+W,OAC3C,IAFJ,EAIJnR,eAAgB,SAAChB,GAAW,OAAAA,EAAOvB,KAAP,EAC5B1C,gBAAiB,EAAAC,4BAA4BiF,YAtBzC,KA2BpB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/G,UAAWf,EAAG,QAAS,uBACvBiZ,KAAM,EAAAlZ,WAAW6d,cACjBxZ,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6d,eAChC1B,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6d,eACrCxW,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAmB,CAChB0F,YAAa7E,EAAE,kEACfoE,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6d,eAChCT,SAAU9c,EAAM8c,SAChB3X,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChBE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfE,iBAAe,GATX,IAahB,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,uBACvBiZ,KAAM,EAAAlZ,WAAW0nB,YACjBrjB,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW0nB,aAChCvL,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW0nB,aACrCrgB,MAAOlG,EAAE,4DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBsoC,gBAAiB,EAAAtjD,oBAAoB60B,UACrCx0B,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,gEAIV,SAACb,GAAU,OACR,wBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW0nB,YACjBniB,MAAOwV,EAAOK,OAAO,EAAApb,WAAW0nB,cAAgB,GAChD1hB,YAAa7E,EAAE,kEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBM,iBAAe,GAVX,KAepB,wBAAC,UAAU,KACP,wBAAC,UAAW,CACR/E,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAW8wH,SACjBzsH,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW8wH,UAChC30G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW8wH,UACrCzpH,MAAOlG,EAAE,sDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxBsoC,gBAAiB,EAAAtjD,oBAAoBu+F,QACrCl+F,YACI,wBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,0DAIV,SAACb,GAAU,OACR,wBAAC,UAAa,CACVqD,UAAWA,EACX4B,MAAOwV,EAAOK,OAAO,EAAApb,WAAW8wH,UAChCzrH,aAAcyV,EAAc,EAAA9a,WAAW8wH,UACvCxrH,aAAcwV,EAAc,EAAA9a,WAAWuwH,aAAe,GACtDxqH,iBAAe,EACfP,SAAU,SAACsrH,EAAUP,GACjBx1G,EAAOsB,cAAc,EAAArc,WAAW8wH,SAAUA,GAC1C/1G,EAAOsB,cAAc,EAAArc,WAAWuwH,WAAYA,EAChD,EACA9qH,WAAYnF,EAAMmF,WAClBC,SAAUpF,EAAMoF,SAChB7C,gBAAiB,EAAAC,4BAA4BiF,WAC7C/B,YAAa7E,EAAE,4DACfyE,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,SAhBX,IAoBhB,+BAAK7E,UAAWf,EAAG,QAAS,iBACxB,wBAAC,UAAU,CAACie,aAAW,GACnB,wBAAC,UAAW,CACRld,UAAWf,EAAG,QAAS,oBACvBiZ,KAAM,EAAAlZ,WAAWs7N,SACjBj3N,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWs7N,UAChCn/M,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWs7N,UACrCj0N,MAAOlG,EAAE,qDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWs7N,SACjBj3H,SAAU,EAAAlrF,aAAamrF,iBACvB/+F,MAAOwV,EAAOK,OAAO,EAAApb,WAAWs7N,UAChCt1N,YAAa7E,EAAE,+DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB0zB,KAAMd,EACN+6D,KAAM,GAZF,IAgBhB,wBAAC,UAAW,CACRpyF,UAAWf,EAAG,QAAS,oBACvBiZ,KAAM,EAAAlZ,WAAWu7N,SACjBp/M,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWu7N,UACrCl/M,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,wBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWu7N,SACjBl3H,SAAU,EAAAlrF,aAAamrF,iBACvB/+F,MAAOwV,EAAOK,OAAO,EAAApb,WAAWu7N,UAChCv1N,YAAa7E,EAAE,+DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClB0zB,KAAMd,EACN+6D,KAAM,GAZF,QAoBhC,wBAAC,UAAmB,CAACp1E,aAAW,GAC5B,+BAAKhd,UAAWf,EAAG,qBACf,wBAAC,UAAe,CAACua,aAAcI,EAAqBL,gBAAiBM,KAEzE,wBAAC,UAAM,CACHrZ,MAAO,EAAA2N,gBAAgB8O,QACvBtY,WAAY+V,EACZwC,aAAW,EACXC,iBAAe,EACf5a,KAAK,UAEJpC,EAAE,iDAKvB,C,4nGCpaA,kBACA,WAEA,cACA,cACA,cACA,WACA,WAMA,WACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WAEA,cACA,WAKA,UACA,cACA,WACA,WACA,cAEMlB,EAAK,UAAWC,KAAK,WAIrB0uL,EAAiB,SACnBtmF,EACA10D,GAAgB,uBACjByR,SAAO,W,gEAEgB,SADF,IAAI,EAAAwpI,sBAAkD,QAA5B,EAAAvmF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MACpC4kF,QAAQl7I,I,OAChD,OAAKm7I,OADCA,EAAgB,eACJ,EAAbA,EAAeC,UAKL,GADG,IAAI,EAAAC,oBAAgD,QAA5B,EAAA3mF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEv+B,IAAiC,QAA5B,EAAA2wF,aAAgB,EAAhBA,EAAkBpyD,kBAAU,eAAEg0D,MAC5EglF,gBAAgBH,aAAa,EAAbA,EAAeC,WAJnD,CAAP,EAAO,M,OAKX,OADMvhL,EAAS,UAMR,CAAP,GADiB,IAAA0hL,sBAAqB1hL,IACnB,MAJR,CAAP,EAAO,M,QAOTmrO,EAAoB,SAAOtwI,EAA4C10D,GAAgB,uBAAGyR,SAAO,W,wDAC1E,SAAMupI,EAAetmF,EAAkB10D,I,OAChE,OADMilM,EAAmB,UAEd,CAAP,EAAOA,GAGJ,CAAP,EAAO,CACHjlM,MAAO,CACHvzB,IAAKuzB,EAAMvzB,IACXC,IAAKszB,EAAMtzB,KAEf0mB,QAAS,UAAG4M,EAAMvzB,IAAG,aAAKuzB,EAAMtzB,KAChCyjI,kBAAmB,KACnBpE,iBAAkB,O,QAKpB+4F,EAAa,cAMbC,EAAW,SACb1lO,GAEA,IAAMgoR,EAAQhoR,EAAIigH,MAVD,KAejB,MAAO,CAAE3sF,gBAHenzB,SAAS6nR,EAAMA,EAAM14R,OAAS,GAAI,IAGhC24R,UAFRD,EAAMA,EAAM14R,OAAS,GAEFqjF,OADtBq1M,EAAMA,EAAM14R,OAAS,GAExC,EAEM44R,EAAwB,IAAI/rQ,IAAuC,CACrE,EAAAsjD,kCAAkCC,SAClC,EAAAD,kCAAkChxD,eAGhC05Q,EAAoCh7R,EAAMC,MAAK,W,kBAC3Cw0B,GAAW,IAAAC,eAEXswO,EAAuChlQ,EAAM6yB,WAAW,EAAAi+J,sCACxDkrC,EAAiE,QAAhD,EAAAgpC,aAAoC,EAApCA,EAAsCxrP,kBAAU,eAAG,EAAA5Z,WAAWymC,OAE/Em+K,EAAyCxkN,EAAM6yB,WAAW,EAAA8qC,wCAC1DuqC,EAAmBloG,EAAM6yB,WAAW,WAEpCooQ,EAA0Bj7R,EAAMkG,aAClC,SAACojD,G,QACG,GAAK4+C,EAAiBpyD,WAAtB,CAIM,MAAgBoyD,EAAiBpyD,WAA/Bv+B,EAAG,MAAEuyF,EAAI,OACjB,GAAKvyF,GAAQuyF,EAAb,CAIQ,IAAAjmB,EAA8Bv6B,EAAW,YAA5BggD,EAAiBhgD,EAAW,KAAtByyD,EAAWzyD,EAAW,OAEjD,GAAIu6B,EAAa,CACb,IAAMwlC,EAAS,KAAI,EAAAvf,EAAKK,QAAM,0BAAItmB,EAAY,KAAE,KAC1CylC,EAAS,KAAI,EAAAxf,EAAKK,QAAM,0BAAItmB,EAAY,KAAE,KAC1CwlB,EAAS,IAAIS,EAAKG,aAAaof,EAAQC,GAC7C/xG,EAAI8yF,UAAUhB,EAClB,CAMA,GAJIC,GACA/xF,EAAIu4O,QAAQxmJ,GAGZyS,EAAQ,CACR,IAAM6lJ,EAAe,IAAI93J,EAAKK,OAAO4R,EAAO97F,IAAK87F,EAAO77F,KACxD3I,EAAIsqP,UAAUD,EAClB,CAlBA,CALA,CAwBJ,GACA,CAAC15J,EAAiBpyD,aAGtB91C,EAAMoL,WAAU,WACZ,GAAK88F,EAAiBpyD,WAAtB,CAIM,MAAgBoyD,EAAiBpyD,WAA/Bv+B,EAAG,MAAEuyF,EAAI,OACZvyF,GAAQuyF,IAIb06G,SAAAA,EAAwC3mJ,qBAAoB,GAP5D,CASJ,GAAG,CAACqqC,EAAiBpyD,WAAY0uK,aAAsC,EAAtCA,EAAwC3mJ,sBAEzE,IAAMr2B,GAAU,IAAAtxB,aAAY,EAAAi0C,eACtB4yI,GAAiB,IAAA7mL,aAAY,EAAA4mL,sBAE7BzN,EAAkBrvL,EAAM6I,OAAsB,MAC9C,IAAsC7I,EAAMuE,SAA2B,MAAK,GAA3E+qL,EAAc,KAAEC,EAAiB,KAClC,IAA4BvvL,EAAMuE,UAAS,GAAK,GAA/CirL,GAAS,KAAEC,GAAY,KAExBh5C,GAA+E,QAAnE+tE,aAAsC,EAAtCA,EAAwC1mJ,wBAEpDo9N,GACiE,QAAnE12E,aAAsC,EAAtCA,EAAwC1mJ,0BACxC0mJ,aAAsC,EAAtCA,EAAwCpmJ,2BAEtCsxH,GAAiB,SAACC,EAAkBC,EAAiBC,GAC/C,IAAAirG,EAAcviD,EAAS5oD,GAAS,UAEnCorG,EAAsB5rQ,IAAI2rQ,KAI/BrrG,IAAa,GAEbJ,EAAgB5jL,QAAUkkL,EAE1BJ,EAAkB,CACd/7I,MAAO,CACHvzB,IAAK4vK,EAAM5vK,IACXC,IAAK2vK,EAAM3vK,KAEf0mB,QAAS,KACT+8G,kBAAmB,KACnBpE,iBAAkB,OAE1B,EAEAv/I,EAAMoL,WAAU,WACZmkL,EAAkB,MAClBF,EAAgB5jL,QAAU,IAC9B,GAAG,CAACuwN,IAiEJh8N,EAAMoL,WAAU,YACRo5M,aAAsC,EAAtCA,EAAwCvmJ,qBACxCumJ,EAAuCvmJ,mBAAmBg9N,EAGlE,GAAG,CAACA,IAEJj7R,EAAMoL,WAAU,YACRo5M,aAAsC,EAAtCA,EAAwCnmJ,qBACxC48N,EAAwB,CACpBl/K,OAAQ,KACRzS,KAAM,KACNzlB,YAAa2gI,EAAuCnmJ,oBAIhE,GAAG,CAACmmJ,aAAsC,EAAtCA,EAAwCnmJ,qBAE5C,IAkEM64C,IAAiB,IAAAhhG,aAAY,EAAAihG,sBAC7B8lF,IAAwB,IAAA/mL,aAAY,EAAA8mL,6BAEpC1iI,IAAc,IAAA51D,UAAQ,WACxB,MAAO,CAAC8iC,aAAO,EAAPA,EAAS+yB,YAAYrrC,OAAO,EAAA4/B,SACxC,GAAG,CAACtnB,aAAO,EAAPA,EAAS+yB,cAEb,IAAAC,kBAAiBF,IAEjB,IAAM6gO,IAA4B,IAAAjlR,cAAY,IAAA2kD,4BAA2BrzB,aAAO,EAAPA,EAAS+yB,aAE5E6gO,GACFlkL,GAAenzG,SAAWk5L,GAAsBl5L,SAAWo3R,GAA0Bz3R,cAAcK,QAEvG,OACI,uBACInD,UAAWf,EAAG,MAAO,CACjB,iBAAkB42I,GAClB,oBAAqBykJ,MAGzB,gBAAC,UAAc,CACX1rG,UAAWA,GACXzzE,YAAQv1G,EACR8iG,UAAM9iG,EACNgkG,cAAe,EAAAC,eACfC,YAAa,EAAAC,aACbC,iBAAkB,EAAAC,mBAClBlpG,QApJW,SAAOkK,GAAsB,0C,gEAC/B,SAAM2sO,EAAkBtwI,EAAkBr8F,I,cAArD06B,EAAW,UAEa,GAYE,KAT5Bu3B,EADmE,QAAnE0mJ,aAAsC,EAAtCA,EAAwC1mJ,wBACf0mJ,EAAuC1mJ,wBAEvC,aAAUk+J,GAAgB,SAAC9G,GAGhD,OAFiBA,EAAoB,EAAA5uL,qBAAqBC,SAG9D,QAIIy+N,aAAoC,EAApCA,EAAsC7xM,wBACtC6xM,EAAqC7xM,uBACjC,IAAAnL,wBAAuB8V,EAAwB,EAAAx3B,qBAAqBC,UACpEA,IAIFi/C,EAAiD,QAAxC,EAAAw2I,aAAc,EAAdA,EAAiBl+J,UAAuB,eAAE0nB,SAErD/wD,GACI,IAAA6jK,qBACI,IAAAm9B,0CAAyCjwI,IAAM,MAC1C,EAAAl/C,qBAAqBC,UAAWA,E,mBAyH7ClkC,QAAS,EAAAyoG,YACTklF,iBAAkBN,GAClBO,eAlLU,SAAON,EAAkBC,EAAiBC,GAAgB,0C,gEAC5E,OAAIR,EAAgB5jL,UAAYkkL,EAC5B,KAGJF,IAAa,GAEI,GAAM+oD,EAAkBtwI,EAAkB2nF,K,cAArDtpJ,EAAW,SAEX,EAA8BgyM,EAAS5oD,GAArCxpJ,EAAe,kBAAEq/C,EAAM,UAE3Bw/K,aAAoC,EAApCA,EAAsC7xM,wBACtC6xM,EAAqC7xM,uBACjC,IAAAnL,wBAAuB7hB,EAAiB,EAAAG,qBAAqBC,UAC7DA,GAIR9R,GACI,IAAA6jK,qBACI,IAAAm9B,0CAAyCjwI,IAAM,MAC1C,EAAAl/C,qBAAqBC,UAAWA,E,kBA8JrC2pJ,iBAAkBR,GAClB3kF,kBAnG4B,SAAC5C,G,MAC7B5wF,EAAc4wF,EAAG,IAAZ2B,EAAS3B,EAAG,KAEE,QAA3B,EAAAD,EAAiBpyD,kBAAU,SAAEk1D,IAAIlB,EAAMvyF,EAAK,CAAC,YACjD,GAiGaykN,aAAc,EAAdA,EAAgBzkN,KAAI,SAAC29M,EAAqB/uL,GACvC,OAhGY,SACxB+uL,EACA/uL,GAEA,IAAMq/C,EAAS0vI,EAAoB,EAAA5uL,qBAAqBk/C,QAClDj/C,EAAW2uL,EAAoB,EAAA5uL,qBAAqBC,UACpD80P,EAAenmE,EAAoB,EAAA5uL,qBAAqBnjC,MAExD0P,EAlNI,SAACszB,EAAyB20P,EAA8Ct1M,GACtF,MAAO,CAAC8yJ,EAAYnyM,EAAiB20P,EAAWt1M,GAAQh2D,KAJvC,IAKrB,CAgNoB8rQ,CAAUn1P,EAAiBk1P,EAAc71M,GAEjD2vB,EAAc,CAAC,EACnB,GAAIk6E,EAAgB5jL,UAAYoH,EAAK,CACjC,KAAKy8K,aAAc,EAAdA,EAAgB97I,OACjB,OAAO,KAGX2hE,EAAc,CACVl1F,IAAKqvK,EAAe97I,MAAMvzB,IAC1BC,IAAKovK,EAAe97I,MAAMtzB,IAElC,KAAO,CACH,KAAKqmB,aAAQ,EAARA,EAAUiN,OACX,OAAO,KAGX2hE,EAAc,CACVl1F,IAAKsmB,EAASiN,MAAMvzB,IACpBC,IAAKqmB,EAASiN,MAAMtzB,IAE5B,CAEA,GACIm7Q,IAAiB,EAAA/oN,kCAAkClxD,gBACnDi6Q,IAAiB,EAAA/oN,kCAAkCjxD,aAEnD,OAAO,gBAAC,UAAgB,GAACxO,IAAKA,EAAKjS,UAAWf,EAAG,oBAAwBs1G,IAG7E,IAAItzG,EAAY,EAAAC,qBAAqBC,SAWrC,OAVIyiN,aAAsC,EAAtCA,EAAwCtmJ,+BAA+Bz4C,SAAS0gB,IAChFtkC,EAAY,EAAAC,qBAAqBkS,WAC1BwwM,aAAsC,EAAtCA,EAAwC1mJ,0BAA2B33B,EAC1EtkC,EAAY,EAAAC,qBAAqB6U,UAC1B0kR,IAAiB,EAAA/oN,kCAAkCC,SAC1D1wE,EAAY,EAAAC,qBAAqBC,SAC1Bs5R,IAAiB,EAAA/oN,kCAAkChxD,eAC1Dzf,EAAY,EAAAC,qBAAqB+W,MAIjC,gBAAC,UAAa,GACVhL,OAAQs4B,EAAkB,EAC1BtzB,IAAKA,EACLjS,UAAWf,EAAG,mBACdgC,UAAWA,GACPszG,GAGhB,CAsCuBikI,CAAoBlkB,EAAqB/uL,EACpD,MAEF+wE,GAAenzG,SAAWyjC,KAAoD,QAAxC,EAAA2zP,cAAyB,EAAzBA,GAA2Bz3R,qBAAa,eAAEK,UAC9E,gBAAC,UAAQ,CACLwT,IAAgC,QAA3B,EAAA2wF,EAAiBpyD,kBAAU,eAAEv+B,IAClCuyF,KAAiC,QAA3B,EAAA5B,EAAiBpyD,kBAAU,eAAEg0D,KACnC4B,gBAAuD,QAAtC,EAA2B,QAA3B,EAAAxD,EAAiBpyD,kBAAU,eAAE61D,iBAAS,eAAE/C,SACzDxnG,MAAO,EAAAwqG,kBAAkBytF,cACzBzwI,UAAWuyO,cAAyB,EAAzBA,GAA2BxuR,QAG5CyuR,IAAgB5zP,IACd,gBAAC,UAAiB,CACdt4B,UAAWksR,GACXptM,UAAyB,QAAd,EAAAxmD,aAAO,EAAPA,EAASnB,aAAK,eAAEuqJ,SAC3B1kB,cAAe6wB,aAAc,EAAdA,EAAgBtuG,gBAGvC,gBAAC,UAAgB,CAAC7tF,UAAWf,EAAG,uBAG5C,IAEA,UAAem7R,C,+BCtZf,WAAgB,OAAS,yCAAyC,OAAS,yCAAyC,SAAW,2C,kuCCD/H,kBACA,WAEA,cACA,cACA,WACA,WACA,cACA,WACA,WACA,WACA,cACA,aACA,aACA,cACA,cACA,cACA,cACA,aAIA,cACA,cACA,WACA,cACA,WAKA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,UAEA,cAGA,WACA,WAGMp+J,GAAa,aAAO,EAAAh9H,YACpB8jD,GAA+B,IAAAC,oCAAmCi5E,GAElE/8H,EAAK,UAAWC,KAAK,WAiBrBy7R,EAAgDv7R,EAAMC,MAAK,SAACC,GAE1D,IAAAyM,EAYAzM,EAAK,KAXLyO,EAWAzO,EAAK,SAVL2jD,EAUA3jD,EAAK,yBARLk2C,EAQAl2C,EAAK,uBAPLm2C,EAOAn2C,EAAK,4BALL6a,EAKA7a,EAAK,SAHL+pI,EAGA/pI,EAAK,oBADLskE,EACAtkE,EAAK,gBAEH26K,GAA2B,IAAAxuC,uBAAsB7nE,GAC/CzjE,GAAM,IAAAC,kBAAgB,EAExBk5G,GAAmB,IAAAhkG,aAAY,EAAAm6B,yBAA2B,CAAC,EAC3DgiG,GAAmB1lI,aAAI,EAAJA,EAAM8Q,eAAgBy8F,EAAiBvtG,aAAI,EAAJA,EAAM8Q,eAAiB,KAEjFqmC,EAAW9jD,EAAMkG,aACnB,SAAC8U,GACG,OAAO,aAAaja,EAAGia,EAC3B,GACA,CAACja,IAGC,IAAiCf,EAAM0E,SAAQ,W,MAC3CsW,IAAM,MACP,EAAApb,WAAW6nI,sBAAuBroH,QAAOzS,aAAI,EAAJA,EAAMwoC,eAAgB,GAChE,EAAC,EAAAv1C,WAAW+nI,uBAAwBvoH,QAAOzS,aAAI,EAAJA,EAAMgpC,oBAAqB,GAEtE,EAAC,EAAA/1C,WAAW6iB,YAAY9V,aAAI,EAAJA,EAAM8V,WAAY,IAAImiD,KAAKj4D,EAAK8V,WAAa,KACrE,EAAC,EAAA7iB,WAAWga,YAAYjN,aAAI,EAAJA,EAAMiN,WAAY,IAAIgrD,KAAKj4D,EAAKiN,WAAa,KAErE,EAAC,EAAAha,WAAWgoI,cAAexoH,QAAOzS,aAAI,EAAJA,EAAM6lI,iBAAkB,GAE1D,EAAC,EAAA5yI,WAAW6yI,iBAAiB9lI,aAAI,EAAJA,EAAM8lI,iBAAkB,G,GAKzD,MAAO,CAACz3H,GAFO,aAAaja,EAAGia,GAInC,GAAG,CAACrO,IAAM,GAjBH+N,EAAa,KAAEupC,EAAa,KAmB7BtpC,GAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,EACbvpC,cAAa,EACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACf,IAAM9U,GAAQ,IAAAq1R,kBAAiBxgR,GAC1B7U,IAIL4U,EAAS5U,GAET8U,EAAcI,WAAW,CAAC,GAC9B,IAGEggK,EAAuB,SAACt2C,EAAe5/H,GACzCwV,EAAOsB,cAAc8oH,EAAO5/H,GAE5B,IAAMm6C,GAAc,IAAA7mB,mBAAkBtzB,GAChCm2K,EAAeh8H,EAAcjgC,KAAK46E,IAAI36C,EAAa,EAAAwoF,eAAiB,EAEtE/C,IAAU,EAAAnlI,WAAW+nI,uBAAyBtxF,GAC9CA,EAA4BilI,GAG5Bv2C,IAAU,EAAAnlI,WAAW6nI,sBAAwBrxF,GAC7CA,EAAuBklI,EAE/B,EAEMn3H,EAA0BT,EAA6B/oC,EAAOK,OAAQN,GAC5E1a,EAAMoL,WAAU,WACR+4C,GAA2BN,GAC3BA,EAAyBM,EAGjC,GAAG,CAACA,IAEJ,IAAM1hC,EAAY9H,EAAOK,OAAO,EAAApb,WAAW6iB,WACrC2hC,IAAmB,IAAA1/C,UAAQ,WAC7B,OACI,IAAAu3K,gBACI,eAASniK,IAAI,EAAG,OAAOD,UACvB,aAAO4I,GAAW3I,IAAI,EAAAuqC,+BAAgC,OAAOxqC,SAC7DghK,aAAwB,EAAxBA,EAA0Bp4J,UAC1B9V,aAAI,EAAJA,EAAMiN,YACL,EAAAqc,uBAAuBM,cAAcF,OAGlD,GAAG,CAAC5T,EAAWo4J,IACTqB,IAAmB,IAAAx3K,UAAQ,WAC7B,OAAO,IAAAy3K,eAActB,aAAwB,EAAxBA,EAA0BjhK,YAAc,EAAAqc,uBAAuBM,cAAcJ,OAEtG,GAAG,CAAC0kJ,IACEuB,IAA0B,IAAA13K,UAAQ,WACpC,QAAKw3K,KAKDA,IAAmB,eAASpiK,IAAI,EAAG,OAAOD,YACvCuqC,MACG83H,KACF,IAAAjkK,gBAAemsC,KAAoB,IAAAnsC,gBAAeikK,IAE9D,GAAG,CAAC93H,GAAkB83H,KAEhBtiK,GAAYe,EAAOK,OAAO,EAAApb,WAAWga,WACrCyiK,IAAmB,IAAA33K,UAAQ,WAC7B,OACI,IAAAu3K,gBAAc,eAASpiK,SAAUghK,aAAwB,EAAxBA,EAA0Bp4J,YAC3D,EAAAwT,uBAAuBM,cAAcF,OAG7C,GAAG,CAACzc,GAAWihK,IACTyB,IAAmB,IAAA53K,UAAQ,WAC7B,OACI,IAAAy3K,eACIviK,IAAY,aAAOA,IAAWC,cAAWrT,GACzCq0K,aAAwB,EAAxBA,EAA0BjhK,YACpB,aAAOihK,EAAyBjhK,WAC3B2qC,SAAS,EAAAF,+BAAgC,QACzCxqC,cACLrT,IACL,EAAAyvB,uBAAuBM,cAAcJ,OAElD,GAAG,CAACvc,GAAWihK,IACT0B,IAA0B,IAAA73K,UAAQ,WACpC,QAAK43K,KAKDA,IAAmB,eAASziK,YACzBwiK,MACGC,KACF,IAAArkK,gBAAeokK,KAAoB,IAAApkK,gBAAeqkK,IAE9D,GAAG,CAACA,GAAkBD,KAEtB,OACI,wBAAMthK,SAAUJ,EAAOiB,cACnB,gBAAC,UAAU,KACP,gBAAC,UAAa,CACVhb,UAAWf,EAAG,QAAS,uBACvBoH,MAAOlG,EAAE,yDACTsL,KACI,gBAAC,UAAW,CACRiK,KAAM,GACNzU,UAAW,EAAAC,qBAAqBsS,YAChCwC,YAAa,EAAA9U,qBAAqB6U,YAG1CxR,MACIktI,EACMtxI,EAAE,kCAAmC,CACjCoB,OAAQkwI,EAAiBlwI,OACzBklB,MAAOgrH,EAAiBhrH,MACxB8yD,YAAak4D,EAAiBl4D,YAC9BC,YAAai4D,EAAiBj4D,cAElC,KAGd,gBAAC,UAAa,CACV/tE,KAAM,gBAAC,UAAY,CAACuK,YAAa,EAAA9U,qBAAqB6U,YACtD/V,UAAWf,EAAG,QAAS,yBACvBoH,MAAOlG,EAAE,0DACToE,MAAO,gBAAC,UAAkB,CAACqoD,WAAS,EAAC7b,cAAehlC,aAAI,EAAJA,EAAMglC,mBAGlE,gBAAC,UAAU,KACP,gBAAC,UAAa,CACVtlC,KAAM,gBAAC,UAAU,MACjBzL,UAAWf,EAAG,QAAS,mBACvBoH,MAAOlG,EAAE,mDACToE,MAAOwH,aAAI,EAAJA,EAAM2lI,oBAEjB,gBAAC,UAAW,CACR1xI,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAW6nI,qBACjBxjI,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6nI,sBAChC1rH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6nI,sBACrCxgI,MAAOlG,EAAE,mDACTkb,cAAeo/J,EACfn/J,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAW6nI,qBACjBxjC,SAAU,EAAAlrF,aAAaC,uBACvB7T,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6nI,sBAChCz0C,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YAXd,KAgBpB,gBAAC,UAAU,KACP,gBAAC,UAAa,CACV2G,KAAM,gBAAC,UAAe,MACtBzL,UAAWf,EAAG,QAAS,mBACvBoH,MAAOlG,EAAE,wDACToE,MAAOwH,aAAI,EAAJA,EAAM4lI,yBAEjB,gBAAC,UAAW,CACR3xI,UAAWf,EAAG,QAAS,iBACvBiZ,KAAM,EAAAlZ,WAAW+nI,sBACjB1jI,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW+nI,uBAChC5rH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW+nI,uBACrC1gI,MAAOlG,EAAE,mDACTkb,cAAeo/J,EACfn/J,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAW+nI,sBACjB1jC,SAAU,EAAAlrF,aAAaC,uBACvB7T,MAAOwV,EAAOK,OAAO,EAAApb,WAAW+nI,uBAChC30C,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YAXd,KAgBpB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAW6iB,UACjBxe,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6iB,WAChC1G,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6iB,WACrCxb,MAAOlG,EAAE,uDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAU,CACPiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6iB,WAChC7c,YAAa7E,EAAE,6DACfic,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAA2a,8BAA8Bza,YAC/C6C,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBuxB,kBAAgB,EAChBP,QAASgmJ,GACTlmJ,QAASmmJ,GACT/2K,WAAYg3K,GACZ72K,WAAYxF,EAAMwF,YAdd,IAkBhB,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,eACvBiZ,KAAM,EAAAlZ,WAAWga,UACjB3V,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWga,WAChCmC,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWga,WACrC3S,MAAOlG,EAAE,uDACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAU,CACPiF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWga,WAChChU,YAAa7E,EAAE,6DACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBuxB,kBAAgB,EAChBP,QAAS+tB,GACTjuB,QAAS+lJ,GACT32K,WAAY62K,GACZ35K,gBAAiB,EAAA2a,8BAA8Bza,YAC/C+C,WAAYxF,EAAMwF,YAdd,KAmBpB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACR9E,UAAWf,EAAG,QAAS,gBACvBiZ,KAAM,EAAAlZ,WAAWgoI,aACjB3jI,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAWgoI,cAChC7rH,KAAMpB,EAAOqB,aAAa,EAAApc,WAAWgoI,cACrC3gI,MAAOlG,EAAE,0DACTkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,gBACxB3a,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,KACxDX,EAAE,+DAIV,SAACb,GAAU,OACR,gBAAC,UAAW,CACR4Y,KAAM,EAAAlZ,WAAWgoI,aACjB3jC,SAAU,EAAAlrF,aAAa8wE,kBACvB1kF,MAAOwV,EAAOK,OAAO,EAAApb,WAAWgoI,cAChC50C,KAAM,EACNh2E,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YAXd,IAehB,gBAAC,UAAa,CACV9E,UAAWf,EAAG,QAAS,gBACvBoH,MAAOlG,EAAE,wDACToE,OACI,aAASwH,aAAI,EAAJA,EAAMmoF,cAAe,aAASnoF,aAAI,EAAJA,EAAMooF,mBACvC,UAAGpoF,aAAI,EAAJA,EAAMmoF,WAAU,YAAInoF,aAAI,EAAJA,EAAMooF,mBAC7B,QAIlB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRn0F,UAAWf,EAAG,QAAS,2BACvBiZ,KAAM,EAAAlZ,WAAW6yI,eACjBxuI,MAAO0W,EAAOmB,OAAO,EAAAlc,WAAW6yI,gBAChC12H,KAAMpB,EAAOqB,aAAa,EAAApc,WAAW6yI,gBACrCxrI,MAAOlG,EAAE,6DACTQ,YACI,gBAAC,UAAc,CAACH,MAAO,EAAAK,wBAAwBH,MAAOmT,UAAQ,GACzD1T,EAAE,gEAGXkb,cAAetB,EAAOsB,cACtBC,gBAAiBvB,EAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAW6yI,eACjBttI,MAAOwV,EAAOK,OAAO,EAAApb,WAAW6yI,gBAChC7sI,YAAa7E,EAAE,mEACfic,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YAVd,IAchB,gBAAC,EAAAgtI,oBAAmB,CAAC9xI,UAAWf,EAAG,QAAS,mBAEhD,gBAAC,UAAkB,CAAC8lF,YAAahrE,EAAOgrE,YAAa7pE,OAAQnB,EAAOmB,SACpE,gBAAC,UAAmB,CAACgwH,YAAU,EAACluH,aAAW,GACvC,uBAAKhd,UAAWf,EAAG,YACf,gBAAC,UAAM,CACHe,UAAWf,EAAG,mBACduB,MAAO,EAAA2N,gBAAgBC,UACvB7L,KAAK,SACLtC,aAAa,SACbc,QAASgN,GAER5N,EAAE,+CAEP,gBAAC,UAAM,CACHH,UAAWf,EAAG,mBACduB,MAAO,EAAA2N,gBAAgB8O,QACvB1a,KAAK,SACL+L,UAAW+6H,EAAoBlmI,QAC/BlD,aAAa,QAEZE,EAAE,+CAM3B,IAEA,UAAew6R,C,yGCndf,YAGa,EAAAjpL,SAAW,SAACl5E,GAAwC,OAC7Dj2B,KAAM,EAAAH,UACNo2B,SAAQ,EAFqD,EAKpD,EAAAijB,YAAc,SAACN,GAA0C,OAClE54C,KAAM,EAAAF,aACN84C,QAAO,EAF2D,C,+BCPtE,WAAgB,cAAgB,8CAA8C,uBAAuB,qDAAqD,2BAA2B,yDAAyD,OAAS,uCAAuC,SAAW,yC,0pCCDzS,kBACA,WAEA,cACA,cACA,WACA,cACA,cACA,WACA,WACA,WACA,cAIA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,cACA,WACA,YACA,aACA,aACA,cACA,cACA,WACA,cAEA,WACA,WACA,WACA,WAEA,cAEMl8C,EAAK,UAAWC,KAAK,WAIrB27R,EAA+Cz7R,EAAMC,MAAK,W,MACpDc,GAAM,IAAAC,kBAAgB,EAExB21I,GAAoB,eAEpBpnG,GAAS,IAAAC,aACPpK,EAA0BmK,EAAM,WAApBhsC,EAAcgsC,EAAM,UAClC/rC,GAAc,IAAAk4R,uBAAsBnsP,EAAO/rC,aAE3CixB,GAAW,IAAAC,eACjB10B,EAAMoL,WAAU,WACZqpB,GACI,IAAAmmJ,6BAA4B,CACxBr3K,UAAS,EACTyf,kBAAmBoiB,IAG/B,GAAG,CAAC3Q,EAAUlxB,EAAW6hC,IAEzB,IAAMpD,EAAkChiC,EAAMkG,aAAY,WACtDuuB,GACI,IAAAmmJ,6BAA4B,CACxBr3K,UAAS,EACTyf,kBAAmBoiB,IAG/B,GAAG,CAAC3Q,EAAUlxB,EAAW6hC,KACzB,aAA4BpD,GAE5B,IAAMymF,GAAiB,IAAAviH,cACnB,SAAC2F,GACOA,EAAMu5B,aAAeA,GAIzB3Q,GACI,IAAAmmJ,6BAA4B,CACxBr3K,UAAS,EACTyf,kBAAmBnX,EAAMu5B,aAGrC,GACA,CAAC3Q,EAAUlxB,EAAW6hC,KAE1B,IAAAjD,qBAAoB,EAAA44M,qCAAsCtyH,GAE1D,IAkBM7iG,EAAa5lB,EAAM0E,SACrB,WAA8B,OAC1B,CACI0jB,GAAI,EAAAuiO,2BAA2BkN,MAC/B1zN,UAAU,IAAAwxJ,cAAa,EAAAg1D,2BAA2BkN,MAAO,CACrDt0P,UAAS,EACTC,aAAa,IAAA4zP,wBAAuB5zP,GACpC4hC,WAAU,IAEd7R,OAAQ,WAAM,mCAAOxyB,EAAE,8CAAT,EACdF,aAAc,0BAElB,CACIunB,GAAI,EAAAuiO,2BAA2Br7O,QAC/B60B,UAAU,IAAAwxJ,cAAa,EAAAg1D,2BAA2Br7O,QAAS,CACvD/L,UAAS,EACTC,aAAa,IAAA4zP,wBAAuB5zP,GACpC4hC,WAAU,IAEd7R,OAAQ,WAAM,mCAAOxyB,EAAE,gDAAT,EACdF,aAAc,4BAnBQ,GAsB9B,CAACE,EAAGwC,EAAWC,EAAa4hC,IAU1B1T,GADiB,IAAAxb,cAAY,IAAAylR,6BAA4Bp4R,IAC/B6hC,GAE1Bu1I,GAAuB,IAAAzkK,cAAY,IAAAuuD,mCAAkCr/B,IAErEs9D,GAAqBhxE,IAAaipJ,EAAqBhuK,KAEvDghB,GAAe+D,aAAQ,EAARA,EAAU5Y,QAAkC,QAA1B,EAAA6hK,aAAoB,EAApBA,EAAsBhuK,YAAI,eAAEmM,OAAQ,IAErEyzP,EACF,gCACI,gBAAC,UAAS,CACNpsQ,MAAOY,EAAE,uCAAwC,CAC7C4sB,aAAY,MAGpB,gBAAC,UAAc,KACX,gBAAC,UAAM,KACH,gBAAC,UAAa,CACVwuP,SAAU,gBAAC,UAAU,CAACx6Q,QAzBN,YAChC,IAAA8oD,oBAAkB,WACd,UAAQ7yC,KAAK,EAAAyQ,WAAW6b,uBAAuB3gC,EAAWC,GAC9D,GACJ,EAqBgF+B,YAAY,IACxEpF,MAAOuiG,EAAoB,gBAAC,UAAY,CAACk5L,WAAY,KAASjuQ,EAC9DltB,UAAW,gBAAC,UAAuB,SAG3C,uBAAKG,UAAWf,EAAG,aACf,gBAAC,UAAc,CAAC+lB,WAAYA,EAAY2e,YA3EK,SAACnc,GAC1D,IAAI,aAASA,GAAK,CACd,IAAM+b,GAAW,IAAAwxJ,cAAavtK,EAAI,CAC9B7kB,UAAS,EACTC,aAAa,IAAA4zP,wBAAuB5zP,GACpC4hC,WAAU,IAGd,UAAQxtB,KAAK,CACTusB,SAAQ,GAEhB,MACI,UAAQvsB,KAAK,EAAD,GACLwQ,GAGf,OAiEMyzQ,GAAsB,IAAAlmG,cAAa,EAAAg1D,2BAA2BkN,MAAO,CACvEt0P,UAAS,EACTC,aAAa,IAAA4zP,wBAAuB5zP,GACpC4hC,WAAU,IAGR02P,EAAsB97R,EAAM0E,SAAQ,WACtC,MAAO,CACHlB,aAAa,IAAAk4R,uBAAsBnsP,EAAO/rC,aAC1CD,UAAWgsC,EAAOhsC,UAE1B,GAAG,CAACgsC,EAAOhsC,UAAWgsC,EAAO/rC,cAE7B,OACI,gBAAC,UAAyBwyC,SAAQ,CAAC7wC,MAAOwxI,GACtC,gBAAC,UAAe3gG,SAAQ,CAAC7wC,MAAO22R,GAC5B,gBAAC,UAAiC,CAACv4R,UAAWu4R,EAAoBv4R,WAC9D,gBAAC,UAAiB,KACbgpQ,EACD,gBAAC,EAAA/nO,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAAimN,2BAA2Br7O,SACpC,gBAAC,UAA4B,CACzB/L,UAAWA,EACXC,YAAaA,EACb4hC,WAAYA,KAGpB,gBAAC,EAAAX,MAAK,CAACC,KAAM,EAAAimN,2BAA2BkN,OACpC,gBAAC,UAA0B,CACvBt0P,UAAWA,EACXC,YAAaA,EACb4hC,WAAYA,KAGpB,gBAAC,EAAAX,MAAK,KACF,gBAAC,EAAAY,SAAQ,CAACjd,GAAIyzQ,MAGtB,gBAAC,UAAQ,SAMjC,IAEA,UAAeJ,C,0pCC3Nf,kBACA,WACA,cAEA,cACA,WACA,cACA,WACA,cACA,cACA,aACA,cACA,cACA,aACA,cACA,cACA,cACA,cAYMz7Q,EAAyChgB,EAAMC,MAAK,SAACC,GAC/C,IAAAU,EAAoFV,EAAK,UAA9E+f,EAAyE/f,EAAK,IAAzEggB,EAAoEhgB,EAAK,IAApEigB,EAA+DjgB,EAAK,eAApDkgB,EAA+ClgB,EAAK,UAAzCmgB,EAAoCngB,EAAK,kBAAtBogB,EAAiBpgB,EAAK,aAE3FqgB,EAA6C,GA0KnD,OAxKAF,EAAkB/D,SAAQ,SAACkE,GACvB,GAA6B,uBAAzBA,EAAgBrd,KAA+B,CAC/C,IAAMymD,GAAmB,aAASppC,EAAgBsnF,eAElDvnF,EAAW3I,KAAK,CACZxW,MAAO,EAAAqf,gBAAgB9J,UACvB7H,SACI,gBAAC,UAAc,CAAC0+C,WAAS,EAAC3/C,OAAQ2S,aAAe,EAAfA,EAAiBsnF,eAC/C,gBAAC,UAAW,CACRjmG,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,MAClCwO,KAAM,EAAAC,qBAIlBlO,MAAOuhD,EAAmB,EAAAmyO,2BAA6B,CAAC,GAEhE,CAoBA,GAlB6B,qBAAzBv7Q,EAAgBrd,OACVymD,GAAmB,aAASppC,EAAgBinF,aAElDlnF,EAAW3I,KAAK,CACZxW,MAAO,EAAAqf,gBAAgB9J,UACvB7H,SACI,gBAAC,UAAc,CAAC0+C,WAAS,EAAC3/C,OAAQ2S,aAAe,EAAfA,EAAiBinF,aAC/C,gBAAC,UAAS,CACN5lG,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,MAClCwO,KAAM,EAAAC,qBAIlBlO,MAAOuhD,EAAmB,EAAAmyO,2BAA6B,CAAC,KAInC,mBAAzBv7Q,EAAgBrd,KAA2B,CACnC,IAAAud,EAAyBF,EAAe,SAA9B0iG,EAAe1iG,EAAe,WAG1CG,GAFAipC,GAAmB,aAASs5D,MAEdxiG,aAAQ,EAARA,EAAUE,sBAE9B,OAAQF,EAASvd,MACb,KAAK,EAAA0d,aAAaC,YACdP,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SACI,gBAAC,UAAc,CAAC0+C,WAAS,EAAC3/C,OAAQq1G,GAC9B,gBAAC,UAAe,MAAK,IAAAniG,yBAAwB,wBAGrD1Y,MAAOuhD,EAAmB,EAAAmyO,2BAA6B,CAAC,IAE5D,MAEJ,KAAK,EAAAl7Q,aAAaG,cACdT,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SACI,gBAAC,UAAc,CAAC0+C,WAAS,EAAC3/C,OAAQq1G,GAC9B,gBAAC,UAAiB,MAAK,IAAAjiG,2BAA0B,wBAGzD5Y,MAAOuhD,EAAmB,EAAAmyO,2BAA6B,CAAC,IAE5D,MAEJ,KAAK,EAAAl7Q,aAAaK,gBACdX,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SACI,gBAAC,UAAc,CAAC0+C,WAAS,EAAC3/C,OAAQq1G,GAC9B,gBAAC,UAAc,MAAK,IAAA/hG,wBAAuB,wBAGnD9Y,MAAOuhD,EAAmB,EAAAmyO,2BAA6B,CAAC,IAE5D,MAEJ,KAAK,EAAAl7Q,aAAaO,eAClB,KAAK,EAAAP,aAAaQ,aACd,IAAM,KAAcX,aAAQ,EAARA,EAAUE,qBAC1Bxf,EAAQ,EAAAqf,gBAAgB1e,SACxB,IACAX,EAAQ,EAAAqf,gBAAgB9J,WAG5B4J,EAAW3I,KAAK,CACZxW,MAAK,EACL0N,SACI,gBAAC,UAAQ,CACLwH,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqB6U,UAChCC,YAAa,EAAA9U,qBAAqBgG,UAI9C,MAEJ,KAAK,EAAA+Y,aAAaS,aAClB,KAAK,EAAAT,aAAaU,YAClB,KAAK,EAAAV,aAAaW,uBACVpgB,EAAQ,EAAAqf,gBAAgB1e,SAExB2e,EAASvd,OAAS,EAAA0d,aAAaS,eAC/BlgB,EAAQ,EAAAqf,gBAAgB5H,SAGR6H,aAAQ,EAARA,EAAUE,uBAE1Bxf,EAAQ,EAAAqf,gBAAgB9J,WAG5B4J,EAAW3I,KAAK,CACZxW,MAAK,EACLwc,aAAa,EACb9O,SACI,gBAAC,UAAwB,CAAC2S,cAAY,EAAC5O,IAAK,sBAAe6N,EAAStU,MAC9DsU,EAASlJ,OAAS,GAAK,KAIrC,MAEJ,KAAK,EAAAqJ,aAAaa,YACdnB,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SACI,gBAAC,UAAc,CAAC0+C,WAAS,EAAC3/C,OAAQq1G,GAC9B,gBAAC,UAAkB,MAAK,IAAAvhG,4BAA2B,wBAG3DtZ,MAAOuhD,EAAmB,EAAAmyO,2BAA6B,CAAC,IAE5D,MAEJ,KAAK,EAAAl7Q,aAAae,UACdrB,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SACI,gBAAC,UAAc,CAAC0+C,WAAS,EAAC3/C,OAAQq1G,GAC9B,gBAAC,UAAgB,MAAK,IAAArhG,0BAAyB,wBAGvDxZ,MAAOuhD,EAAmB,EAAAmyO,2BAA6B,CAAC,IAE5D,MAEJ,KAAK,EAAAl7Q,aAAaiB,cACdvB,EAAW3I,KAAK,CACZxW,MAAOuf,EAAY,EAAAF,gBAAgB9J,UAAY,EAAA8J,gBAAgB1e,SAC/D+M,SACI,gBAAC,UAAc,CAAC0+C,WAAS,EAAC3/C,OAAQq1G,GAC9B,gBAAC,UAAe,MAAK,IAAAnhG,yBAAwB,wBAGrD1Z,MAAOuhD,EAAmB,EAAAmyO,2BAA6B,CAAC,IAQxE,CACJ,KAEKx7Q,aAAU,EAAVA,EAAYpe,QAKb,gBAAC,UAAkB,CACfvB,UAAWA,EACXqf,IAAKA,EACLC,IAAKA,EACLK,WAAYA,EACZH,UAAWA,EACXD,eAAgBA,EAChBG,aAAcA,IAXX,IAcf,IAEA,UAAeN,C,q7BC3Nf,kBACA,cACA,aACA,cACA,cACA,WACA,cAEMngB,EAAK,UAAWC,KAAK,WAQrBk8R,EAAqCh8R,EAAMC,MAAK,SAACC,GAC3C,IAAAmnB,EAAsCnnB,EAAK,MAApConB,EAA+BpnB,EAAK,YAAvBoqL,EAAkBpqL,EAAK,cAEnD,OACI,uBAAKU,UAAWf,EAAG,WACf,2BACKynB,GAAe,wBAAM1mB,UAAWf,EAAG,iBAAkBynB,GACrD,MACAD,GAAS,wBAAMzmB,UAAWf,EAAG,UAAWwnB,IAE5CijK,GACG,gBAAC,UAAqB,CAAC1pL,UAAWf,EAAG,oBACjC,gBAAC,UAAkB,CACf8zG,OAAO,KACPhyG,QAAS2oL,EACT1oL,SAAU,gBAAC,UAAW,CAACgV,YAAa,EAAA9U,qBAAqB+W,OACzD7W,gBAAiB,EAAAC,oBAAoB2xG,wBAM7D,IAEA,UAAeooL,C,+BCvCf,WAAgB,OAAS,mCAAmC,cAAgB,0CAA0C,MAAQ,kCAAkC,OAAS,mCAAmC,SAAW,qC,q7BCDvN,kBAEA,cACA,cASMn8R,EAAK,UAAWC,KAAK,WAErBm8R,EAAiCj8R,EAAMC,MAAK,SAACC,GACvC,IAAA4Y,EAA2C5Y,EAAK,KAA1CqvB,EAAqCrvB,EAAK,QAAjC4F,EAA4B5F,EAAK,SAAvB+1R,EAAkB/1R,EAAK,cAElDgf,EAAU,CAACpG,EAAMyW,EAASzpB,GAAUopB,OAAOhmB,SAASsmB,KAAK,KAE/D,OAAO,uBAAK5uB,UAAWf,EAAG,UAAW,CAAE,yBAA0Bo2R,KAAmB/2Q,EACxF,IAEA,UAAe+8Q,C,sBCtBf,IAAYr8R,E,qEAAZ,SAAYA,GACR,oEACA,sEACA,oEACA,2CACA,uCACA,2CACA,2CACA,gDACA,yCACH,CAVD,CAAYA,IAAU,aAAVA,EAAU,I,+BCCtB,WAAgB,KAAO,iCAAiC,MAAQ,kCAAkC,MAAQ,kCAAkC,OAAS,mCAAmC,SAAW,qC,yJCCnM,cAGa,EAAAs8R,4BACT,SAAC9vR,GACD,gBAACxI,GAAqB,MAClB,OAAyC,QAAzC,EAAAA,EAAMwwF,sBAAsBhoF,UAAa,eAAEkD,UAAW,EAAAykF,kCAAkCzkF,OAAO,CADnG,EAGS,EAAAyvH,yCACT,SAAC3yH,GACD,gBAACxI,GAAqB,MAClB,OAAyC,QAAzC,EAAAA,EAAMwwF,sBAAsBhoF,UAAa,eAAE1I,gBAAiB,EAAAqwF,kCAAkCrwF,aAAa,CAD/G,C,+BCXJ,WAAgB,OAAS,qCAAqC,OAAS,qCAAqC,SAAW,uC,w4BCDvH,kBAEA,WAMa,EAAAy4R,0BAA2E,CACpFC,cAAe,wCACfC,qBAAsB,+CACtBC,mBAAoB,6CACpBC,mBAAoB,6CACpBC,oBAAqB,8CACrBC,eAAgB,yCAChBC,aAAc,uCACdC,IAAK,8BACLC,sBAAuB,gDACvBC,mBAAoB,6CACpBC,MAAO,iCAGX,IAAMC,EAA2C/8R,EAAMC,MAAK,SAACC,GACjD,IAAAiD,EAASjD,EAAK,KACda,GAAM,IAAAC,kBAAgB,EAE9B,OAAKmC,EAIE,4BAAOpC,EAAE,EAAAo7R,0BAA0Bh5R,KAH/B,IAIf,IAEA,UAAe45R,C,+BChCf,WAAgB,qBAAqB,gDAAgD,MAAQ,mCAAmC,YAAY,uCAAuC,yBAAyB,oDAAoD,MAAQ,mCAAmC,SAAW,sCAAsC,YAAc,yCAAyC,mBAAqB,gDAAgD,KAAO,kCAAkC,YAAc,yCAAyC,WAAa,wCAAwC,cAAgB,2CAA2C,WAAa,wCAAwC,OAAS,oCAAoC,SAAW,sC,6JCDrxB,IAGMC,EAHN,YAGmC,QAAM15R,cAAuD,MAEhG,UAAe05R,C,q7BCLf,kBACA,WACA,cACA,cACA,WACA,cACA,cACA,WAeMxuR,EAAgB,kCAEhByuR,EAAiD,UAAMh9R,MAAK,SAACC,GACvD,IAAAyM,EAAsDzM,EAAK,KAArDwD,EAAgDxD,EAAK,cAAtCyO,EAAiCzO,EAAK,SAA5BQ,EAAuBR,EAAK,QAAnBstB,EAActtB,EAAK,UAE3Da,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2L,EAKD,wBAAC,UAAK,KACF,wBAAC,UAAY,CAACjM,QAASA,GACnB,wBAAC,UAAW,CACRgB,MAAO,EAAA+rB,2BACP5sB,aAAc2N,EACdK,QAAS,CACL,CACIC,SAAU/N,EAAE,mCACZK,MAAO,EAAA2N,gBAAgBC,UACvBnO,aAAc,UAAG2N,EAAa,WAC9BjJ,WAAY7B,aAAa,EAAbA,EAAeK,QAC3BpC,QAAS,WACLgN,GACJ,GAEJ,CACIG,SAAU/N,EAAE,qCACZK,MAAO,EAAA2N,gBAAgBE,OACvBpO,aAAc,UAAG2N,EAAa,OAC9BU,UAAWxL,aAAa,EAAbA,EAAeK,QAC1BwB,WAAY7B,aAAa,EAAbA,EAAeK,QAC3BpC,QAAS,WACL6rB,EAAU7gB,EACd,IAGRN,KAAM,wBAAC,UAAe,CAAC2xC,UAAW,EAAAl8C,qBAAqBkS,YACvD7T,MAAOY,EAAE,wDACT0X,QAAS1X,EAAE,kEAhChB,IAqCf,IAEA,UAAek8R,C,+BCpEf,WAAgB,QAAU,8BAA8B,QAAU,8BAA8B,OAAS,6BAA6B,KAAO,2BAA2B,mBAAmB,uCAAuC,WAAW,+BAA+B,OAAS,6BAA6B,SAAW,+B,0cCD7T,kBACA,WACA,UACA,WACA,UACA,UAMA,cAGA,cACA,cACA,cACA,WACA,cAEA,cACA,WAEMp9R,EAAK,UAAWC,KAAK,WA0BrBo9R,EAA4C,UAAMj9R,MAAK,SAACC,GAEtD,IAAA8c,EAeA9c,EAAK,SAdL8a,EAcA9a,EAAK,OAbLuC,EAaAvC,EAAK,gBAZLU,EAYAV,EAAK,UAXLoF,EAWApF,EAAK,SAVLmF,EAUAnF,EAAK,WATLwF,EASAxF,EAAK,WARLsF,EAQAtF,EAAK,OAPLuF,EAOAvF,EAAK,QANLW,EAMAX,EAAK,aALLoC,EAKApC,EAAK,cAJL0c,EAIA1c,EAAK,eAHLqH,EAGArH,EAAK,gBAFL8G,EAEA9G,EAAK,aADLyF,EACAzF,EAAK,gBAEDa,GAAM,IAAAC,kBAAgB,EAExB,IAAoB,UAAMuD,SAAiB,IAAG,GAA7C4B,EAAK,KAAE6zC,EAAQ,KAEhBL,GAAe,IAAAzjC,aAAY,EAAAw/E,4BAC3BiL,GAAW,IAAAzqF,aAAY,EAAA2qF,yBACvBD,GAAS,IAAA1qF,aAAY,EAAA0/E,uBAErBnhE,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAmCM0oQ,EAAgB,UAAMz4R,SAAQ,WAChC,IAAM04R,EAAej3R,EAAM69F,cAAcl0C,QAAQ,KAAM,IAAIjhC,OAC3D,OAAKuuQ,EAIEz8L,EAASzxE,QAAO,SAACmC,GACpB,IAAMzK,EAAUyK,EAAcuvE,EAAOvvE,GAAe,KAEpD,MAAO,CAACzK,aAAO,EAAPA,EAASkyI,oBAAqBlyI,aAAO,EAAPA,EAASo1D,SAAUp1D,aAAO,EAAPA,EAASg6G,SAAUh6G,aAAO,EAAPA,EAAS8mC,MAAMyjB,MAAK,SAACzgE,GAC7F,OAAAA,aAAI,EAAJA,EAAMszF,cAAcl0C,QAAQ,KAAM,IAAIrqC,SAAS23Q,EAA/C,GAER,IATWz8L,CAUf,GAAG,CAACA,EAAUx6F,EAAOy6F,IAMfh7F,EAAc1F,EAAM0F,aAAe7E,EAAE,2DACrCotB,EACFjuB,EAAMiuB,kBAAoBptB,EAAE,iEAEhC,OACI,wBAAC,UAA2B,CACxBH,UAAWA,EACX2yF,eAAgBv4E,GAAU,KAC1BpV,YAAaA,EACbuoB,iBAAkBA,EAClB9rB,QAAS86R,EACT/3R,SAlCkB,SAACuoD,GACvB3wC,EAAS2wC,EACb,EAiCQroD,SAAUA,EACVD,WAAYA,EACZK,WAAYA,EACZsB,aAAcA,GA5CM,SAACqqB,GACzB,OAAO,wBAAC,UAAyB,CAACzwB,UAAWf,EAAG,UAAW+mB,QAASg6E,EAAOvvE,IAC/E,EA2CQ9pB,gBAAiBA,EACjBqV,eAAgBA,GA1DM,WAC1B,OAAK5B,aAAM,EAANA,EAAQ7Y,QAIS,IAAlB6Y,EAAO7Y,OACA,wBAAC,UAAQ,CAACkvB,YAAarW,EAAO,KAGlC,wBAAC,UAAgB,CAAC1E,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqB6U,YAPvE,wBAAC,UAAQ,KAQxB,EAiDQ0jE,qBAAsB/3E,GAxED,SAACqrD,EAAmC/nD,G,MAC7D,KAAK+nD,aAAY,EAAZA,EAAcxrD,QACf,OAAOyD,EAGX,GAA4B,IAAxB+nD,EAAaxrD,OAAc,CAC3B,IAAMk7R,EAAmB1vO,EAAa,GACtC,OAA+B,QAAxB,EAAAizC,EAAOy8L,UAAiB,eAAEvkI,sBAAuB,IAC5D,CAEA,OAAO,wBAAC,UAA+B,CAACh2J,MAAO6qD,aAAY,EAAZA,EAAcxrD,QACjE,EA8DQuF,eA5Ce,SAAChB,GAAkC,OAAAA,CAAA,EA6ClDlB,OAAQA,EACRC,QAASA,EACTyJ,UAAWyqC,EAAa51C,QACxBlD,aAAc,UAAGA,EAAY,cAC7B4B,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEC,QAASjC,EA7BG,WAChBqX,EAAS,GACb,OA2BiDxW,EACzCc,cAAe0yC,GAG3B,IAEA,UAAekjP,C,umDCvKf,eACA,cACA,UAIA,WAKA,cACA,WACA,UAEA,SAAUI,EAAmCz5R,G,gEAGwC,OAFzExB,EAAYwB,EAAM,QAEuD,IAAM,IAAAiJ,QACnF,EAAA8xP,yC,OAGJ,OAJMl7P,EAA2E,UAG3D,aAAiBA,EAAerB,EAAS,EAAAixD,wCAK/D,IAAM,IAAAtmD,MAAI,IAAAylQ,yCAHN,I,OAMA,OAHJ,SAGI,GAAM,UAAkB/uC,wC,cADtB,kBACF,SAA8D,IAD3Dz/N,EAAK,KAAEqJ,EAAQ,KAGlBrJ,EACA,IAAM,IAAA+I,MAAI,IAAA2lQ,qCAAoC1uQ,KAD9C,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MAAI,IAAA0lQ,wCAAsCplQ,aAAQ,EAARA,EAAUiwR,WAAY,CAAC,K,IAO3E,UAJA,W,kDACI,UAAM,IAAA9vR,WAAU,EAAAiuF,0CAA2C4hM,I,cAA3D,S,uCCvCJ,WAAgB,QAAU,oDAAoD,OAAS,mDAAmD,SAAW,qD,q7BCDrJ,kBAEA,cACA,cAEA,aAOMz9R,EAAK,UAAWC,KAAK,WAErBspB,EAA+BppB,EAAMC,MAAK,SAACC,GACrC,IAAAgkB,EAAuBhkB,EAAK,QAAnBU,EAAcV,EAAK,UACpC,OACI,uBAAKU,UAAWf,EAAG,WACf,gBAAC,UAAiB,CAAC2U,eAAa,EAAC5T,UAAWA,EAAW0oB,OAAQpF,aAAO,EAAPA,EAASoF,SAGpF,IAEA,UAAeF,C,mqDCvBf,kBACA,WAEA,cACA,aACA,aAEA,WACA,cAEA,WACA,WACA,WACA,cACA,cACA,cACA,WAaA,cACA,WACA,cACA,cACA,cACA,WACA,aACA,cACA,cACA,cACA,cAEA,WACA,WACA,cACA,WACA,cAGA,cACA,WACA,cACA,WACA,WACA,WACA,WAEA,UACA,aACA,WAEMvpB,EAAK,UAAWC,KAAK,WAgBrB09R,EAAiCx9R,EAAMC,MAAK,SAACC,G,UAE3CU,EAWAV,EAAK,UAVLuW,EAUAvW,EAAK,MATLkF,EASAlF,EAAK,SARLs0C,EAQAt0C,EAAK,aAPL4nB,EAOA5nB,EAAK,WANL2yC,EAMA3yC,EAAK,+BALLu0C,EAKAv0C,EAAK,2BAJL+/Q,EAIA//Q,EAAK,gBAHLywC,GAGAzwC,EAAK,kBAFLw0C,GAEAx0C,EAAK,uBADLkwC,GACAlwC,EAAK,gBAEDa,IAAM,IAAAC,kBAAgB,EAExB,KAAqChB,EAAMuE,UAAkB,GAAM,GAAlE+vL,GAAa,MAAEmpG,GAAiB,MAEjC57P,IAAc,IAAA3rB,aAAY,EAAA4rB,mBAE1BiR,IAAuB,IAAA78B,cAAY,IAAA88B,8BAA4B5C,cAAe,EAAfA,GAAiB6C,cAAe,OAG/FyqP,IAAoD,QAAtB,EAAAjnR,aAAK,EAALA,EAAOsjQ,uBAAe,eAAE4jB,0BAA2B,GAEjFC,GAA6B59R,EAAM0E,SAAQ,WAC7C,OAAOmuC,EAA+BoP,QAA2C,SAACC,EAAKk/K,GACnF,IAAM3iF,EAAU1rG,cAAoB,EAApBA,GAAuBquL,GAKvC,OAJI3iF,GACAv8F,EAAItqC,KAAK6mI,GAGNv8F,CACX,GAAG,GACP,GAAG,CAACrP,EAAgCE,KAE9BG,IAAiC,IAAAC,4BACnCN,EACAE,IAGE8qP,IAA4B,IAAAn5R,UAAQ,WACtC,OAAO,EAAP,OACOg5R,KAA2B,KAC3BE,GACErmR,KAAI,SAACm9H,GACF,IAAKA,EACD,OAAO,KAGH,IAAAgkH,EAAsBhkH,EAAiB,SAA7B+J,EAAY/J,EAAiB,QAW/C,MARqD,CACjDJ,YAAa,EAAAC,6BAA6B/rH,QAC1CrlB,KAAMs7I,EACNi6G,SAAQ,EACRC,SANa,EAObvyO,KAPa,EAOIsyO,EAIzB,IACCxpO,OAAO,EAAA4/B,YAAS,EAG7B,GAAG,CAAC4uO,GAA6BE,KAE3B1vL,IAAgC,IAAAzW,2BAA0B,CAC5DrL,uBAAwByxM,GACxBlmM,uBAAuB,EACvBD,wBAAwB,EACxB4gK,cAAe,CACX7jN,EACM,CACIt0C,MACI,gBAAC,UAAI,CAACiB,MAAO,EAAA8mB,cAAcC,cAAexmB,QAAS8yC,GAC9C1zC,GAAE,0CAIf,QAIRotG,IAA+B,IAAA1W,2BAA0B,CAC3DrL,uBAAwByxM,GACxBlmM,uBAAuB,EACvBD,wBAAwB,EACxB4gK,cAAe,CACX7jN,EACM,CACIt0C,MACI,gBAAC,UAAI,CAACiB,MAAO,EAAA8mB,cAAcC,cAAexmB,QAAS8yC,GAC9C1zC,GAAE,0CAIf,QAIRu2F,IAAqB,IAAAC,yBAErBumM,GAAwD99R,EAAM0E,SAAQ,W,MACxE,OAAK+R,EAIE,C,OAEI6gF,GAAmB32C,UAAQ,CAC9B5pC,MAAON,EAAMsjQ,gBAAgBp5N,SAC7BxF,WAAYm8C,GAAmBO,0BAC3B,CAAC,aACgB,QAAjB,EAAAphF,aAAK,EAALA,EAAOg4F,kBAAU,eAAEniB,iBATpB,EAaf,GAAG,CAAC71E,EAAO6gF,KAELymM,GAAuC/9R,EAAM0E,SAAQ,W,QACvD,OAAK+R,IAAgC,QAAtB,EAAAA,aAAK,EAALA,EAAOsjQ,uBAAe,eAAEjuL,oBAIhC,C,OAEIwL,GAAmBxL,oBAAkB,CACxC/0E,MAAON,EAAMsjQ,gBAAgBjuL,mBAC7B3wC,WAAYm8C,GAAmBO,0BAC3B,CAAC,eACgB,QAAjB,EAAAphF,aAAK,EAALA,EAAOg4F,kBAAU,eAAEniB,iBATpB,EAaf,GAAG,CAAC71E,EAAO6gF,KAEL3jD,IAAiB,IAAAC,uBAAsBn9B,GAEvC+7B,IAAe/7B,aAAK,EAALA,EAAOrK,KAAM,KAC5BqmC,GAAiB9B,cAAiB,EAAjBA,GAAoB6B,IACrC,IAAiD,IAAAqB,iBAAgBF,GAAgBlB,IAA/EkO,GAAQ,YAAE7M,GAAkB,sBAAEC,GAAY,gBAE5CiqP,IAAwB,IAAAtqP,oBAAmBj9B,GAE3CwnR,GAAoBj+R,EAAMkG,aAC5B,SAAC6Q,GACG,GAAKy7B,GAAL,CAKA,IAAIC,EAAiB17B,EACrB,IAAI,aAASA,KAAU,aAAS48B,IAAiB,CAC7C,IAAMuqP,GAA4B,GAAKF,GAAwBrqP,IAC/DlB,EAAiBpzB,KAAK6hD,IAAIg9N,EAA0BnnR,EACxD,CAEA29B,GAAuBlC,GAAcC,EARrC,MAFI,IAAA7d,YAAW,0CAWnB,GACA,CAAC8f,GAAwBlC,GAAcwrP,GAAuBrqP,KAG5DwqP,IAA+B,IAAAC,yBAAwB,CACzDrmQ,YAAa4b,GACb58B,MAAO4pC,GACP3oB,cAAeimQ,GACfI,SAAU,CACNC,oBAAqB,uDACrBC,oBAAqB,kDAEzBC,iBAAkB38P,GAAY48P,iCAG5BrwL,GAAoDpuG,EAAM0E,SAAQ,W,UACpE,OAAK+R,EAIE,C,SAEI6gF,GAAmB32C,UACnBw9O,IAA4B,CAC/BhjP,WAAYm8C,GAAmBO,0BAC3B,CAAC,aACgB,QAAjB,EAAAphF,aAAK,EAALA,EAAOg4F,kBAAU,eAAEniB,aACnB,CAAE/nE,YAAauvB,O,OAIhBwjD,GAAmBS,gBAAgBthF,EAAMg1E,MAAI,CAChD10E,MAAON,EAAMsjQ,gBAAgBpuL,KAC7BxwC,WAAYm8C,GAAmBO,0BAC3B,CAAC,cACgB,QAAjB,EAAAphF,aAAK,EAALA,EAAOg4F,kBAAU,eAAEniB,cAEvB3hC,KAAMl0C,EAAMsjQ,gBAAgBnuL,eACtB,CACI,CACIjhC,KAAM,EAAA+zO,eAAennR,KAAI,SAAConR,G,UAChBhzM,EAA2C,QAApC,EAAAl1E,EAAMsjQ,gBAAgBnuL,sBAAc,eAAG+yM,GACpD,IAAKhzM,EACD,OAAO,KAGH,IAAAvlE,EAAoBulE,EAAI,KAAlByM,EAAczM,EAAI,UAChC,IAAI,aAAMvlE,GACN,OAAO,KAGX,IAAMw4Q,EAAc,EAAAC,mBAAmBF,GAajCG,IAXoB,MACrB,EAAAC,aAAaC,SAAU,qBACxB,EAAC,EAAAD,aAAaz2O,MAAO,kBACrB,EAAC,EAAAy2O,aAAaE,QAAS,oBACvB,EAAC,EAAAF,aAAaG,QAAS,oBACvB,EAAC,EAAAH,aAAax4F,OAAQ,mBACtB,EAAC,EAAAw4F,aAAaI,cAAe,2BAC7B,EAAC,EAAAJ,aAAaK,kBAAmB,KACjC,EAAC,EAAAL,aAAaM,YAAa,KAC3B,EAAC,EAAAN,aAAaO,aAAc,K,GAEeX,GAE/C,MAAO,CACHx+R,MAAOY,GAAE,EAAAw+R,WAAWZ,IACpBp9R,YAAaq9R,EACT,gBAAC,UAAc,CAACx9R,MAAO,EAAAK,wBAAwBH,MAAOI,MAAO,IAAKF,UAAQ,GACrET,GAAE69R,IAEP,KACJzjP,WAAY2jP,EACNxnM,GAAmBO,0BACf,CAACinM,GACgB,QAAjB,EAAAroR,aAAK,EAALA,EAAOg4F,kBAAU,eAAEniB,cAEvB,KACNv1E,MAAOqP,EACPukC,MAAM,aAAQytC,QACR5xF,GACA,aAAK4xF,GAAW7gF,KAAI,SAAC8Z,GACjB,IAAMjL,EAAOgyE,aAAS,EAATA,EAAY/mE,GAEzB,MAAO,CACHwpB,SAAU,gBAAC,UAAQ,CAACxpB,YAAaA,IACjClxB,MACI,gBAAC,UAAqB,CAClBkxB,YAAaA,IAGrBta,MAAOqP,EAEf,IAEd,WAGR5f,I,OAGH8wF,GAAmBW,eAAexhF,EAAMq7B,iBAAe,CAC1D/6B,MAAON,EAAMsjQ,gBAAgBn5N,KAC7BzF,WAAYm8C,GAAmBO,0BAA0B,CAAC,QAA0B,QAAjB,EAAAphF,aAAK,EAALA,EAAOg4F,kBAAU,eAAEniB,cACtF3hC,KAAM2sC,GAAmBa,0BAA0B1hF,EAAMsjQ,gBAAgBylB,kBAE7E,aAAS/oR,EAAMsjQ,gBAAgB1uL,eACzB,EAAD,KACQiM,GAAmBe,aAAa,CAC/B/M,YAAa70E,aAAK,EAALA,EAAO80E,kBACtB,CACFx0E,MAAON,EAAMsjQ,gBAAgB1uL,eAAiB,IAElD,MACN,IAAAiN,wBAAuB7hF,EAAMu1E,eAAgBv1E,EAAMsjQ,gBAAgBpwL,SAC7D,EAAD,KACQ2N,GAAmBiB,kBAAkB9hF,EAAMu1E,eAAgBv1E,EAAMw1E,mBAAiB,CACrFl1E,MAAON,EAAMsjQ,gBAAgBpwL,SAAW,IAE5C,MACNukB,cAA6B,EAA7BA,GAA+B/rG,QACzB,EAAD,KACQm1F,GAAmB+W,gCAAgCwvL,KAA0B,CAChFlzO,KAAM,CACF,CACIA,KAAMujD,OAIlB,MACNC,cAA4B,EAA5BA,GAA8BhsG,QACxB,EAAD,KACQm1F,GAAmBgX,+BAA+BuvL,KAA0B,CAC/ElzO,KAAM,CACF,CACIA,KAAMwjD,OAIlB,MA3HC,EA8Hf,GAAG,CACC13F,EACAonR,GACA3vL,GACAC,GACA8xK,EACAke,GACArqP,KAGEy6D,GAAmCvuG,EAAM0E,SAAQ,WACnD,OAAK+R,EAIE,C,OAEI6gF,GAAmBxL,oBAAkB,CACxC/0E,MAAON,EAAMsjQ,gBAAgBjuL,sBAN1B,EAUf,GAAG,CAACr1E,EAAO6gF,GAAoBv2F,KAEzB0+R,GAAez/R,EAAM0E,SAAQ,W,QAC/B,KAAK+R,aAAK,EAALA,EAAOg4F,YACR,OAAO,KAGX,IAAM+wL,EAAgB57O,OAAO0wH,MAAsB,QAAjB,EAAA79J,aAAK,EAALA,EAAOg4F,kBAAU,eAAEixL,6BAA8B,CAAC,GAAGnoR,KAAI,SAAC8Z,G,QAGxF,MAAO,CACHjL,MAHsD,QAA7C,EAAiB,QAAjB,EAAA3P,aAAK,EAALA,EAAOg4F,kBAAU,eAAEixL,kCAA0B,eAAGruQ,KAAgB,EAIzEzK,QAASyK,EAEjB,IAEA,MAAO,CAOH,CACIlxB,MAAOY,GAAE,0EACTgW,MAA4B,QAArB,EAAAN,EAAMsjQ,uBAAe,eAAE4lB,UAC9B9kP,SAAU,gBAAC,UAAS,CAACh5C,UAAW,EAAAC,qBAAqBwQ,SAEzD,CACInS,MAAOY,GAAE,sEACTgW,MAAON,EAAMg4F,WAAWmxL,YACxB/kP,SAAU,gBAAC,UAAS,CAACh5C,UAAW,EAAAC,qBAAqBwQ,QACrD1R,UAAWf,EAAG,kBAAmB,wC,KAGjCM,MAAOY,GAAE,+EACTN,WAAW,aAASgW,EAAMg4F,WAAWoxL,mBACjC,gBAAC,UAAa,CACVj/R,UAAWf,EAAG,SACdu/F,MAAO,CAAC,EAAArmF,aAAa4jM,mCAAoC,EAAA5jM,aAAaikM,oBACtEl6M,MAAO2T,EAAMg4F,WAAWoxL,oBAE5B,OACAppR,aAAK,EAALA,EAAOq7B,gBACL,CACIguP,cAAe,gBAAC,UAAmB,CAACxyI,WAAY72I,EAAMq7B,iBACtDiuP,eAAgB,EAAApU,+BAA+Bl1Q,EAAMq7B,iBAEzD,CAAC,GAAE,CACT+I,SAAU,gBAAC,UAAQ,CAACjkC,YAAa,EAAA9U,qBAAqBwQ,MAAOzQ,UAAW,EAAAC,qBAAqBI,QAC7FyoD,KAAM2sC,GAAmBa,0BAA0BqnM,GACnD5+R,UAAWf,EAAG,kBAAmB,kDAErC,CACIM,MAAOY,GAAE,yEACTgW,MAAON,EAAMg4F,WAAWuxL,kBACxBnlP,SAAU,gBAAC,UAAW,MAAK,IAAA40M,qBAAoB,cAEnD,CACItvP,MAAOY,GAAE,wEACTgW,MAAON,EAAMg4F,WAAWwxL,iBACxBplP,SAAU,gBAAC,UAAW,MAAK,IAAA40M,qBAAoB,cAI3D,GAAG,CAACh5O,EAAO6gF,GAAoBv2F,KAQzB+tG,GAAsBr4F,IAA+B,QAAtB,EAAAA,aAAK,EAALA,EAAOsjQ,uBAAe,eAAEhrK,kBAAmB,GAAKt4F,EAAMs+K,WAAa,KAElGP,GAAwB3yJ,GAAY48P,+BAEpC,KAA4Dz+R,EAAMuE,UAAkB,GAAM,GAAzF27R,GAAyB,MAAEC,GAA4B,MAExDC,GAA4BpgS,EAAMkG,aAAY,WAChDi6R,IAA6B,EACjC,GAAG,IAEG9rG,IAAkB,IAAApgJ,6BACpB+pP,GACA9qP,GACAa,IAGEssP,GAAyBrgS,EAAMkG,aACjC,SAAC6Q,GACG,IAAMob,GAAO,aAASpb,GAASA,EAAQinR,GAAwB,KAE/D,IAAK,aAASrqP,IAAd,CAKA,IAAMlB,GAAiB,aAAStgB,GAAQwhB,GAAiBxhB,EAAO,KAE3DqgB,IAILkC,GAAuBlC,GAAcC,GAErC0tP,IAA6B,KALzB,IAAAvrQ,YAAW,sDALf,MAFI,IAAAA,YAAW,wDAanB,GACA,CAAC4d,GAAcmB,GAAgBe,GAAwBspP,KAG3D,OAAKvnR,EAkBD,uBAAK7V,WAAW,aAAGf,EAAG,SAAUe,IAC3Bs/R,GACG,gBAAC,UAAyB,CACtBnoQ,YAAaimQ,GACbjnR,MAAOs9K,GACPr8J,cAAeqoQ,KAGnB,gBAAC,UAAqB,CAClBhsG,gBAAiBA,GACjB59K,MAAOA,EACPrR,SAzEK,WACbA,GAAYqR,GACZrR,EAASqR,EAEjB,EAsEgB6zK,cAAe,WAAM,OAAAmzG,IAAmBnpG,GAAnB,EACrB9/I,aAAcA,EACd1sB,WAAYA,EACZwsK,cAAeA,GACf/uL,WAAYkR,aAAK,EAALA,EAAOiB,UACnB68K,oBAAqBzgJ,GACrB0gJ,sBAAuBA,GACvBC,sBAAuB2rG,KAG9B3pR,GAAS69K,IACN,uBAAK1zL,UAAWf,EAAG,kBACf,gBAAC,UAAkB,CACfe,UAAWf,EAAG,yBACdM,MAAOY,GAAE,yDACTN,UACI,wBAAMG,UAAWf,EAAG,UAChB,gBAAC,UAAK,CAACmX,SAAU,EAAAC,aAAaC,IAAKJ,OAA8B,QAAtB,EAAAL,aAAK,EAALA,EAAOsjQ,uBAAe,eAAEhrK,kBAClE,KACD,gBAAC,UAAa,CACV3P,MAAO,CAAC,EAAArmF,aAAamrF,iBAAkB,EAAAnrF,aAAaC,wBACpDlW,MAAOgsG,K,SAMpBmxK,GACC,gCACI,uBACIr/Q,UAAWf,EAAG,sBAAuB,CACjC,gCAAgCk+R,cAAe,EAAfA,GAAiB57R,WAGrD,gBAAC,UAAY,CAACwoD,KAAMmzO,SAErBC,cAAe,EAAfA,GAAiB57R,SAChB,uBAAKvB,UAAWf,EAAG,sBAAuB,gCACtC,gBAAC,UAAY,CAAC8qD,KAAMozO,QAKlC9d,GACE,gCACI,uBAAKr/Q,UAAWf,EAAG,wBACf,gBAAC,UAAY,CAAC8qD,KAAMyjD,MAExB,gBAAC,UAAkB,CAACjuG,MAAOY,GAAE,qDAC7B,uBACIH,UAAWf,EAAG,sBAAuB,CACjC,+BAAgC4/R,MAGpC,gBAAC,UAAY,CAAC90O,KAAM4jD,GAAahiB,iCAA+B,KAEnEkzM,IACG,gCACI,gBAAC,UAAkB,CAACt/R,MAAOY,GAAE,sDAC7B,uBAAKH,UAAWf,EAAG,sBAAuB,gCACtC,gBAAC,UAAY,CAAC8qD,KAAM80O,UAxFhD,uBAAK7+R,WAAW,aAAGf,EAAG,SAAUe,IAC5B,uBAAKA,UAAWf,EAAG,gBACf,uBAAKe,UAAWf,EAAG,sBAAuB,+BACtC,uBAAKe,UAAWf,EAAG,mBAAoB,6BACvC,uBAAKe,UAAWf,EAAG,mBAAoB,6BAE3C,uBAAKe,UAAWf,EAAG,sBAAuB,iCAC1C,uBAAKe,UAAWf,EAAG,sBAAuB,+BACtC,uBAAKe,UAAWf,EAAG,mBAAoB,+BA0F/D,IAEA,UAAe29R,C,+BCtmBf,WAAgB,SAAW,+BAA+B,SAAW,+BAA+B,mBAAmB,uCAAuC,kBAAkB,sCAAsC,MAAQ,4BAA4B,QAAU,8BAA8B,gBAAgB,oCAAoC,yBAAyB,6CAA6C,iCAAiC,qDAAqD,2BAA2B,+CAA+C,4BAA4B,gDAAgD,yBAAyB,6CAA6C,4BAA4B,gDAAgD,0BAA0B,8CAA8C,sBAAsB,0CAA0C,QAAU,8BAA8B,OAAS,6BAA6B,gBAAkB,sCAAsC,8BAA8B,kDAAkD,aAAa,iCAAiC,SAAW,+B,q7BCDjrC,kBACA,cACA,cACA,WACA,YAEM39R,EAAK,UAAWC,KAAK,WAiB3B,UAVwC,SAACI,GAC7B,IAAAogS,EAAwBpgS,EAAK,SAAnBU,EAAcV,EAAK,UAErC,OACI,wBAAC,UAAS,CAACsU,eAAa,EAACpT,MAAO,EAAAyS,mBAAmB9R,SAAUnB,UAAWA,GACpE,gCAAMA,UAAWf,EAAG,UAAU,IAAAypF,YAAW,qBAAsBg3M,IAG3E,C,4XCfa,EAAA/uC,4BAA8B,oDAC9B,EAAAzrH,kCAAoC,0DACpC,EAAAE,kCAAoC,0DACpC,EAAAD,oCAAsC,4DACtC,EAAAG,eAAiB,uCAEjB,EAAAsrH,uBAAyB,+CACzB,EAAAC,uBAAyB,+CACzB,EAAAtrH,6BAA+B,qDAC/B,EAAAC,6BAA+B,qDAC/B,EAAAC,+BAAiC,sD,+BCf9C,WAAgB,MAAQ,uCAAuC,cAAgB,+CAA+C,uBAAuB,sDAAsD,2BAA2B,0DAA0D,OAAS,wCAAwC,SAAW,0C,y3BCD5V,kBACA,WASMk6J,EAA6B,SAACrgS,GACxB,IAAA2B,EAAwC3B,EAAK,UAAlCmW,EAA6BnW,EAAK,QAAzBU,EAAoBV,EAAK,UAAdoW,EAASpW,EAAK,KAErD,OACI,uBAAKwB,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,YAAYD,MAAM,6BAA6B1Q,UAAWA,GAC9F,qBAAG8L,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBAAM/E,KAAM7K,EAAWwU,QAASA,GAAW,EAAG5E,EAAE,mBAIhE,EAEA8uR,EAASvuR,YAAc,WAEvB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBkS,UAChCqC,QAAS,EACTC,KAAM,EAAAC,mBAGD,EAAAtE,WAAAA,EACT,UAAesuR,C,2FC9BF,EAAAC,WAAa,SAACv3M,GACvB,OAAOA,aAAkB,EAAlBA,EAAoB78E,KAAM,IACrC,C,+BCHA,WAAgB,SAAW,+CAA+C,OAAS,6CAA6C,SAAW,+C,+BCA3I,WAAgB,YAAY,yCAAyC,YAAY,yCAAyC,eAAe,4CAA4C,kBAAkB,+CAA+C,MAAQ,qCAAqC,OAAS,sCAAsC,SAAW,wC,kLCEhV,EAAAkrN,uBAAyB,SAAC1zN,GAA6C,OAAAA,EAAMumK,YAAYj8J,KAAlB,EAEvE,EAAAmpN,uBAAyB,SAACzzN,GAA6C,OAAAA,EAAMumK,YAAYhkK,KAAlB,EAEvE,EAAAs6R,uBAAyB,SAAC78R,GAA6C,OAAAA,EAAMumK,YAAY97J,KAAlB,EAEvE,EAAAqyR,uBAAyB,SAAC98R,GAA4C,OAAAA,EAAMumK,YAAY57J,IAAlB,C,isCCTnF,kBAEA,aAEA,WAEa,EAAA8lO,8BAAgC,WACzC,IAAMssD,GAAc,eAEpB,OAAO3gS,EAAM0E,SAAQ,WACjB,OAAO,EAAP,KACOi8R,GAAW,CACd/rD,iBAAkB,YACd,IAAA3nL,UACI,qGACA,SAACrqC,GACG+9Q,EAAY73P,QAAQ,CAChBlmB,KAAI,GAEZ,GAER,GAER,GAAG,CAAC+9Q,GACR,C,+BCvBA,WAAgB,cAAgB,0CAA0C,oBAAoB,8CAA8C,cAAgB,0CAA0C,oBAAoB,8CAA8C,yBAAyB,mDAAmD,wBAAwB,kDAAkD,yBAAyB,mDAAmD,wBAAwB,kDAAkD,8BAA8B,wDAAwD,OAAS,mCAAmC,SAAW,qC,wMCAjsB,eAKM7yR,EAAqB,SAAClK,EAAuBL,GAC/C,OAAKA,GAIEK,EAAM86N,iBAAiBn7N,IAHnB,EAAAi6M,mCAIf,EAEa,EAAAm5E,4BAA8B,SAACpzR,GACxC,OAAO,SAACK,GACJ,OAAOkK,EAAmBlK,EAAOL,GAAW2K,KAChD,CACJ,EAEa,EAAAwoR,4BAA8B,SAACnzR,GACxC,OAAO,SAACK,GAAiE,OAAAkK,EAAmBlK,EAAOL,GAAW4C,KAArC,CAC7E,EAEa,EAAAy6R,4BAA8B,SAACr9R,GACxC,OAAO,SAACK,GAAiE,OAAAkK,EAAmBlK,EAAOL,GAAW8K,KAArC,CAC7E,EAEa,EAAAstR,4BAA8B,SAACp4R,GACxC,OAAO,SAACK,GAAgE,OAAAkK,EAAmBlK,EAAOL,GAAWgL,IAArC,CAC5E,C,q7BC9BA,kBACA,WAEA,WACA,cACA,cAIMsyR,EAA+B7gS,EAAMC,MAAK,WAC5C,OACI,gBAAC,EAAAukC,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAA2P,cAAc7O,UACvB,gBAAC,UAAY,CACTqjC,UAAQ,EACRnoE,QAAS,WACL,UAAQkX,KAAK,CACTusB,SAAU,EAAA6lI,WAAWkB,MAE7B,KAKpB,IAEA,UAAe21H,C,q2BC1Bf,kBAEA,WASMC,EAA+C9gS,EAAMC,MAAK,SAACC,GACrD,IAAA+pF,EAAoB/pF,EAAK,gBAEzBa,GAAM,IAAAC,kBAAgB,EAE9B,OAAKipF,EAKD,4BACKlpF,EAAE,kCAAmC,CAClCoB,OAAQ8nF,aAAe,EAAfA,EAAiB9nF,OACzBklB,MAAO4iE,aAAe,EAAfA,EAAiB5iE,MACxB8yD,YAAa8P,aAAe,EAAfA,EAAiB9P,YAC9BC,YAAa6P,aAAe,EAAfA,EAAiB7P,eAT/B,IAaf,IAEA,UAAe0mN,C,6JChCf,eAEA,UAIA,WACA,cA2EA,UAxEsB,SAAC//R,EAAc+kO,G,gBACzB7hO,EAAU6hO,EAAY,MAExB9jN,EAA2B,CAAC,EAElC,OAAK,IAAA08D,gCAA+Bz6E,KAKhC,IAAA2sG,iCACI3sG,EACA,EAAA26E,mCAAmCirG,kDAGf,QAAxB,EAAe,QAAf,EAAA5lL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEyzR,eAAO,SAAEzkR,SAAQ,SAAC9E,IAC/B,aACIwK,EACA,UAAG,EAAApiB,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBC,UACrDxlC,EAAE,sDAEV,MAIA,IAAA6vG,iCACI3sG,EACA,EAAA26E,mCAAmCkrG,6DAGf,QAAxB,EAAe,QAAf,EAAA7lL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEyzR,eAAO,SAAEzkR,SAAQ,SAAC9E,IAC/B,aACIwK,EACA,UAAG,EAAApiB,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBC,UACrDxlC,EAAE,kEAEV,MAIA,IAAA6vG,iCACI3sG,EACA,EAAA26E,mCAAmCgrG,sDAGf,QAAxB,EAAe,QAAf,EAAA3lL,aAAK,EAALA,EAAOqJ,gBAAQ,eAAEyzR,eAAO,SAAEzkR,SAAQ,SAAC9E,IAC/B,aACIwK,EACA,UAAG,EAAApiB,WAAWymC,MAAK,YAAI7uB,EAAK,YAAI,EAAA8uB,qBAAqBC,UACrDxlC,EAAE,oDAEV,MAIA,IAAA6vG,iCACI3sG,EACA,EAAA26E,mCAAmCmrG,kDAGvC/nK,EAAY,EAAApiB,WAAWwrB,SAAWrqB,EAC9B,+EAIJ,IAAA6vG,iCAAgC3sG,EAAO,EAAA26E,mCAAmCorG,qCAC1EhoK,EAAY,EAAApiB,WAAWwrB,SAAWrqB,EAAE,6DAGjCihB,GA/DIA,CAgEf,C,+BC/EA,WAAgB,iBAAiB,gDAAgD,OAAS,wCAAwC,SAAW,0C,0FCA7I,aACA,WAkBM6iC,EAhBN,wBAaA,QAZkB,EAAAm8O,cAAgB,WAEf,IAKLC,GAAiB,IAAAhjC,0BACjB/C,GAAmB,IAAAiD,4BAEzB,OAAO,IAAI,EAAAH,oBAAoBijC,EAAgB/lC,EACnD,EACJ,C,CAbA,GAgB+B8lC,gBAEtB,EAAAn8O,QAAAA,C,8cCtBT,kBAEA,cA+CS,EAAArmC,iBA5CgB,SAAI0iR,EAAWC,GACpC,OAAO,aAAUD,GAAU,CAAC,EAAGC,GAAU,CAAC,EAC9C,EA0C2B,EAAAC,oBAxCC,SACxBrsR,EACAssR,GAEA,OAAO,EAAP,KACQtsR,GAAgB,CAAC,GAAE,CACvBmK,UAAUnK,aAAY,EAAZA,EAAcmK,UAAW,IAAI3H,KAAI,SAACy4N,GAAW,OAAAqxD,EAAUrxD,EAAV,KAE/D,EAgCgD,EAAAlwN,0BA1Bd,SAC9B4xM,EACA38M,EACA0xE,GAEA,GAAK1xE,EAAL,CAIQ,IAAAwK,EAAexK,EAAY,YAC9B,aAASwK,KAIK,IAAfA,GAAoC,IAAhBmyM,GAKpBA,GAAenyM,GACfknE,EAAQjlD,KAAK,CACT7sB,WAAY0K,KAAK6hD,IAAI3hD,EAAa,EAAG,KAd7C,CAiBJ,C,mMC/CA,kBACA,WAMM+hR,EAA+B,SAACphS,GAC1B,IAAA2B,EAAc3B,EAAK,UAE3B,OACI,+BAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,gCACI7E,KAAM7K,EACN2P,SAAS,UACTC,EAAE,udAIlB,EAEA6vR,EAAWtvR,YAAc,aAEzB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBC,UAG3B,EAAAkQ,WAAAA,EACT,UAAeqvR,EAEF,EAAAhrC,gBAAkB,CAC3Bv5O,gBAAiB,SAAC,G,IACdxX,EAAU,aACVqyB,EAAS,YACTtyB,EAAQ,WACRD,EAAU,aACVo7D,EAAU,aACV9oC,EAAQ,WASR,OAAIryB,EACO,CACHzD,UAAW,EAAAC,qBAAqBkS,WAIpC3O,EACO,CACHxD,UAAW,EAAAC,qBAAqB0Q,QAIpCiuD,EACO,CACH5+D,UAAW,EAAAC,qBAAqBsS,aAIpC7O,EACO,CACH1D,UAAW,EAAAC,qBAAqBwQ,OAIjC,CACHzQ,UAAW81B,GAAYC,EAAY,EAAA91B,qBAAqBC,SAAW,EAAAD,qBAAqB+W,KAEhG,E,kTCzEJ,eAQA,WAMA,UAEMpV,EAAmC,CACrCyK,MAAO,GACP/H,MAAO,KACPkI,MAAO,KACPE,KAAM,CAAC,GAGX,mBAAgB3K,EAAsBC,GAClC,YADY,IAAAD,IAAAA,EAAA,GACJC,EAAOV,MACX,KAAK,EAAAs8H,uCACO,IAAA9qH,EAAsB9Q,EAAM,WAAhBsC,EAAUtC,EAAM,MAEpC,OAAO,EAAP,KACOD,IACA,IAAA27D,kBAAiB37D,EAAO+Q,EAAYxO,IAG/C,KAAK,EAAAu5H,yCACOv5H,EAAoCtC,EAAM,MAAnC8Q,EAA6B9Q,EAAM,WAA1C,IAAmBkR,EAAiBlR,EAAM,aAElD,OAAO,EAAP,KACOD,IACA,IAAA47D,oBAAmB57D,EAAO+Q,EAAYxO,EAAO4O,IAGxD,KAAK,EAAA4qH,uCACOx5H,EAA6BtC,EAAM,MAAnC,IAAOI,EAAsBJ,EAAM,MAE3C,OAFsB8Q,EAAe9Q,EAAM,WAEpC,EAAP,KACOD,IACA,IAAAqiI,kBAAiBriI,EAAO+Q,EAAYxO,EAAOlC,IAItD,KAAK,EAAA27H,oBACO,IAAAxqH,EAAwBvR,EAAM,oBAEtC,OAAO,EAAP,KACOJ,IACA,IAAAm8D,wBAAuBn8D,EAAcG,EAAOwR,IAIvD,KAAK,EAAA/Q,gBACD,OAAO,EAAP,GACOZ,GAGX,QACI,OAAOG,EAElB,C,glECJQ,EAAA29R,0BApDL,SAAYz3L,GAAZ,WAUA,KAAA03L,oBAAsB,SAClBr7R,EACAs7R,GAAqB,kBACtBx8O,SAAO,W,6CAGN,OAFQ6kD,GAAF,EAAyB5kD,MAAnB,KAAEw8O,EAAY,eAErB53L,GAAS43L,GAITv7R,GAASA,EAAMhE,OA7BH,EA8BN,CAAC,EAAD,CAACgE,EAAO,MAGbkjG,EAAS,IAAIS,EAAKG,aAAa,KAAI,EAAAH,EAAKK,QAAM,0BAAIs3L,EAAU,KAAK,KAAH,KAAO,EAAA33L,EAAKK,QAAM,0BAAIs3L,EAAU,KAAE,MAEhG1zP,EAAU,CACZ4zP,MAAOx7R,EACPu7R,aAAY,EACZr4L,OAAM,GAGH,CAAP,EAAO,IAAIpkD,SAAQ,SAACy+B,IAEY,IAAIomB,EAAKw9H,OAAOs6D,qBACxBJ,oBAChBzzP,GACA,SACIwoE,EACAjtF,GAEe,OAAXA,GAIJo6D,EAAQ,CAACv9E,EAAOowG,GACpB,GAER,MA/BW,CAAC,EAAD,CAACpwG,EAAO,I,QAhBnB++C,KAAK4kD,KAAOA,GAAQ,KAGhB5kD,KAAKw8O,aADL53L,EACoB,IAAIA,EAAKw9H,OAAOu6D,yBAEhB,IAE5B,C,6JCnBJ,cAEa,EAAAx7N,mCAAqC,IAAI,EAAAl9C,iBAEzC,EAAAm9C,sCAAwC,IAAI,EAAAn9C,gB,yECJzD,eAEA,mBAAgByqE,GACZ,OAA2B,OAAvBA,EACO,EAAA9xF,qBAAqBkS,UAG5B4/E,EAAqB,GACd,EAAA9xF,qBAAqBsS,YAG5Bw/E,EAAqB,GACd,EAAA9xF,qBAAqB0Q,OAGzB,EAAA1Q,qBAAqBkS,SAC/B,C,+BCfD,WAAgB,QAAU,oCAAoC,cAAc,wCAAwC,QAAU,oCAAoC,OAAS,mCAAmC,SAAW,qC,q7BCDzN,kBAEA,cACA,cAEA,cAGMnU,EAAK,UAAWC,KAAK,WASrBgiS,EAAuC9hS,EAAMC,MAAK,SAACC,G,MAC7CkM,EAAuClM,EAAK,GAAxCgjK,EAAmChjK,EAAK,QAA/BwQ,EAA0BxQ,EAAK,KAAzBwd,EAAoBxd,EAAK,OAAjByB,EAAYzB,EAAK,QAEpD,OACI,uBACIU,UAAWf,EAAG,QAAM,GAChB,sBAAuBqjK,GACvB,EAAC,wBAAiBA,KAAY,EAC9B,0BAAwBvhK,E,IAE5BA,QAASA,GAERyK,GACG,uBACIxL,UAAWf,EAAG,MACd8B,QAAS,SAACkK,GAENA,EAAMW,iBACV,G,OAEKJ,GAGZsE,EACD,uBAAK9P,UAAWf,EAAG,SACd6d,EAAOgsC,WAAY,aAAOhsC,EAAOgsC,WAAW7vC,OAAO,sBAAwB,MAI5F,IAEA,UAAeioR,C,uEClCf,UAX4B,SAACC,GACzB,MAAO,CAGH31R,GAAIgT,OAAO2iR,EAAY31R,KAAOgT,OAAO2iR,EAAYjwQ,cACjD3uB,KAAM4+R,EAAYjwQ,aAClBm5G,SAAU82J,EAAY92J,SACtBnyH,KAAMipR,EAAYjpR,MAAQ,GAElC,C,28BCZA,kBACA,cAGMjZ,EAFN,YAEW,QAAWC,KAAK,WAMrBi9N,EAAiC/8N,EAAMC,MAAK,SAACC,GACvC,IAAAygC,EAAYzgC,EAAK,QAEzB,OAAKygC,EAKD,gCACI,yCACA,wBAAM//B,UAAWf,EAAG,aAAc8gC,IAN/B,IASf,IAES,EAAAo8L,aAAAA,C,+BCxBT,WAAgB,MAAQ,gCAAgC,OAAS,iCAAiC,qBAAqB,6CAA6C,IAAM,8BAA8B,mBAAmB,2CAA2C,oBAAoB,4CAA4C,0BAA0B,kDAAkD,wBAAwB,gDAAgD,yBAAyB,iDAAiD,2BAA2B,mDAAmD,wBAAwB,gDAAgD,OAAS,iCAAiC,SAAW,mC,+BCA/uB,WAAgB,cAAgB,uCAAuC,sBAAsB,6CAA6C,uBAAuB,8CAA8C,0BAA0B,iDAAiD,sBAAsB,6CAA6C,sBAAsB,6CAA6C,qBAAqB,4CAA4C,yBAAyB,gDAAgD,sBAAsB,6CAA6C,uBAAuB,8CAA8C,0BAA0B,iDAAiD,+BAA+B,sDAAsD,0BAA0B,iDAAiD,KAAO,8BAA8B,OAAS,gCAAgC,SAAW,kC,yECDt/B,eAEA,WACA,WACA,WAmBA,UAjByB,SAACv3G,G,MAChBw8K,GAA2B,IAAAvpQ,oBAAkB+sF,aAAc,EAAdA,EAAgBy8K,yBAA0B,KAAO,EAC9FC,GAAyB,IAAAzpQ,oBAAkB+sF,aAAc,EAAdA,EAAgB28K,uBAAwB,KAAO,EAEhG,OAAO,EAAP,IACK,EAAAviS,WAAWioP,6BAA6BriI,aAAc,EAAdA,EAAgB48K,gCAAiC,GAC1F,EAAC,EAAAxiS,WAAWkoP,8BAA8BtiI,aAAc,EAAdA,EAAgB68K,iCAAkC,GAC5F,EAAC,EAAAziS,WAAWmoP,gBAAgB,IAAAu6C,kBAAgB98K,aAAc,EAAdA,EAAgBpmE,kBAAmB,IAC/E,EAAC,EAAAx/C,WAAWooP,gBAAgB,IAAAs6C,kBAAgB98K,aAAc,EAAdA,EAAgB/lE,kBAAmB,IAC/E,EAAC,EAAA7/C,WAAW2iS,oBAAqB,CAACP,EAA2B,EAAA3iP,WAAY6iP,EAAyB,EAAA7iP,YAClG,EAAC,EAAAz/C,WAAWqoP,uBAAuBziI,aAAc,EAAdA,EAAgB7lE,yBAA0B,GAC7E,EAAC,EAAA//C,WAAW4iS,iBAAiBh9K,aAAc,EAAdA,EAAgBzlE,kBAAmB,GAChE,EAAC,EAAAngD,WAAWsoP,oBAAoB1iI,aAAc,EAAdA,EAAgBi9K,sBAAuB,GACvE,EAAC,EAAA7iS,WAAWuoP,qBAAqB3iI,aAAc,EAAdA,EAAgBk9K,uBAAwB,G,CAEjF,C,q2BCrBA,kBACA,cAWMC,EAAuC3iS,EAAMC,MAAK,SAACC,GACrD,MAAI,OAAQA,GAASA,EAAMkoB,GAEnB,gBAAC,UAAI,CAACA,GAAIloB,EAAMkoB,GAAIhnB,MAAO,EAAA8mB,cAAcC,eACpCjoB,EAAM4O,UAKf,YAAa5O,GAASA,EAAM01E,QAExB,gBAAC,UAAI,CACDj0E,QAAS,WACAzB,EAAM01E,SAIX11E,EAAMy4I,mBAAmBz4I,EAAM01E,QACnC,EACAx0E,MAAO,EAAA8mB,cAAcC,eAEpBjoB,EAAM4O,UAKZ,4BAAO5O,EAAM4O,SACxB,IAEA,UAAe6zR,C,+BCxCf,WAAgB,OAAS,2CAA2C,gBAAgB,kDAAkD,OAAS,2CAA2C,SAAW,6C,6MCDrM,eAYa,EAAA5sN,yBAA2B,WAAuC,OAC3E5yE,KAAM,EAAAu9K,8BADqE,EAIlE,EAAA6S,8BAAgC,WAA4C,OACrFpwL,KAAM,EAAAyyG,oCAD+E,EAI5E,EAAA89E,gCAAkC,SAC3C/oI,GACyC,OACzCxnD,KAAM,EAAA0yG,sCACNlrD,KAAI,EAFqC,EAKhC,EAAA8oI,8BAAgC,SAACxvL,GAAuD,OACjGd,KAAM,EAAA2yG,oCACN7xG,MAAK,EAF4F,C,0cC3BrG,kBAEA,cACA,cACA,WACA,UACA,WACA,UACA,UAMA,cACA,cACA,cAwBM2+R,GArBK,UAAW9iS,KAAK,WAqBe,UAAMG,MAAK,SAACC,GAE9C,IAAA8c,EAWA9c,EAAK,SAVLiF,EAUAjF,EAAK,MATLuC,EASAvC,EAAK,gBARLU,EAQAV,EAAK,UAPLoF,EAOApF,EAAK,SANLmF,EAMAnF,EAAK,WALLwF,EAKAxF,EAAK,WAJLsF,EAIAtF,EAAK,OAHLuF,EAGAvF,EAAK,QAFL0H,EAEA1H,EAAK,QADLW,EACAX,EAAK,aAEDa,GAAM,IAAAC,kBAAgB,EAExB,IAAoB,UAAMuD,SAAiB,IAAG,GAA7C4B,EAAK,KAAE6zC,EAAQ,KAEhBL,GAAe,IAAAzjC,aAAY,EAAAw/E,4BAC3BiL,GAAW,IAAAzqF,aAAY,EAAA2qF,yBACvBD,GAAS,IAAA1qF,aAAY,EAAA0/E,uBAErBnhE,GAAW,IAAAC,eAEjB,UAAMtpB,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAAMztB,EAAe,SAACqqB,EAA8CzrB,GAChE,IAAKyrB,GAAezrB,EAChB,OAAO,wBAAC,UAA4B,CAACqB,MAAOrB,IAGhD,IAAMghB,EAAUyK,EAAcuvE,EAAOvvE,GAAe,KAEpD,OAAO,wBAAC,UAAyB,CAACzK,QAASA,GAC/C,EAQMu2Q,EAAgB,UAAMz4R,SAAQ,WAChC,IAAM04R,EAAej3R,EAAM69F,cAAcl0C,QAAQ,KAAM,IAAIjhC,OAC3D,OAAKuuQ,EAIEz8L,EAASzxE,QAAO,SAACmC,GACpB,IAAMzK,EAAUyK,EAAcuvE,EAAOvvE,GAAe,KAEpD,MAAO,CAACzK,aAAO,EAAPA,EAASkyI,oBAAqBlyI,aAAO,EAAPA,EAASo1D,SAAUp1D,aAAO,EAAPA,EAASg6G,SAAUh6G,aAAO,EAAPA,EAAS8mC,MAAMyjB,MAAK,SAACzgE,GAC7F,OAAAA,aAAI,EAAJA,EAAMszF,cAAcl0C,QAAQ,KAAM,IAAIrqC,SAAS23Q,EAA/C,GAER,IATWz8L,CAUf,GAAG,CAACA,EAAUx6F,EAAOy6F,IAEfh7F,EAAc1F,EAAM0F,aAAe7E,EAAE,yDACrCotB,EAAmBjuB,EAAMiuB,kBAAoBptB,EAAE,+DAErD,OACI,wBAAC,UAAmB,CAChBH,UAAWA,EACXyG,cAAelC,GAAS,KACxBS,YAAaA,EACbuoB,iBAAkBA,EAClB9rB,QAAS86R,EACT/3R,SA7BkB,SAACisB,GACvBrU,EAASqU,EACb,EA4BQ/rB,SAAUA,EACVD,WAAYA,EACZ2B,aAAcA,EACd1E,cAAe0E,EACfU,eApCe,SAAChB,GAAuC,OAAAA,CAAA,EAqCvDhB,WAAYA,EACZF,OAAQA,EACRC,QAASA,EACTF,YAAao0C,EAAav1C,GAC1B8K,UAAWyqC,EAAa51C,QACxBlD,aAAc,UAAGA,EAAY,YAC7B4B,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEC,QAASA,EACTN,cAAe0yC,GAG3B,KAEA,UAAe4oP,C,09BCjIf,kBAEA,cACA,aACA,cACA,cAIA,UACA,WACA,cACA,cACA,aACA,WAGW,UAAW9iS,KAAK,WAUd,EAAA+iS,4BAAyB,MACjC,EAAAhqH,2BAA2BC,WAAY,sDACxC,EAAC,EAAAD,2BAA2BE,aAAc,wD,GA8E9C,UA3E2C,SAAC74K,GAChC,IAAAiF,EAA+BjF,EAAK,MAA7BkF,EAAwBlF,EAAK,SAAnBU,EAAcV,EAAK,UAEpCa,GAAM,IAAAC,kBAAgB,EAExBqB,EAA6D,UAAMqC,SACrE,WAAM,OACF,CACIuC,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,WAAsB,OAAV3iB,EACZ8B,MAAOlG,EAAE,mDAGjBqE,SAAU,WAAM,OAAAA,EAAS,KAAT,GAEpB,EAAA81F,kBAAkBC,UAClB,CACIl0F,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,WAAY3iB,IAAU,EAAA0zK,2BAA2BC,UACjD7xK,MAAOlG,EAAE,EAAA8hS,0BAA0B,EAAAhqH,2BAA2BC,cAGtE1zK,SAAU,WAAM,OAAAA,EAAS,EAAAyzK,2BAA2BC,UAApC,GAEpB,CACI7xK,MACI,wBAAC,UAA0B,CACvBs3C,mBAAiB,EACjBz2B,WAAY3iB,IAAU,EAAA0zK,2BAA2BE,YACjD9xK,MAAOlG,EAAE,EAAA8hS,0BAA0B,EAAAhqH,2BAA2BE,gBAGtE3zK,SAAU,WAAM,OAAAA,EAAS,EAAAyzK,2BAA2BE,YAApC,GA9BlB,GAiCN,CAACh4K,EAAGoE,EAAOC,IAGXo5C,EAA+B,KAenC,OAdc,OAAVr5C,IACAq5C,EAAc,wBAAC,UAA2B,CAACv3C,MAAOlG,EAAE,oDAGpDoE,IAAU,EAAA0zK,2BAA2BC,YACrCt6H,EAAc,wBAAC,UAA2B,CAACv3C,MAAOlG,EAAE,0DAGpDoE,IAAU,EAAA0zK,2BAA2BE,cACrCv6H,EACI,wBAAC,UAA2B,CAACv3C,MAAOlG,EAAE,4DAK1C,wBAAC,UAAe,CACZH,UAAWA,EACXyB,QAASA,EACTC,cAAe,SAACC,EAAUZ,GAAY,OAClC,wBAAC,UAAkB,CACfsF,MAAOu3C,EACPh8C,UAAWD,EACXZ,QAASA,EACTK,gBAAiB,EAAAC,oBAAoBC,MACrCo2C,UAAW,wBAAC,UAAU,OANQ,EAStC71C,gBAAiB,EAAAC,4BAA4BiF,YAGzD,C,uHCzGA,cAEa,EAAAozO,qCAAuC,IAAI,EAAA5xN,gB,yECAxD,cAEA,WAyEA,UArCiB,SAACpoB,EAAcia,EAAqBe,GACzC,IAAA85D,EAA4B95D,EAAI,wBAElCD,EAAsB,CAAC,EAEvBkgN,EAAiBhhN,EAAO,EAAApb,WAAWymC,OA6BzC,OA5BA21L,EAAe1/M,SAAQ,SAAC44M,EAAqB/uL,GACzC,IAAM81L,EAAqB,SAAC75M,EAAiC3J,GACpDqD,EAAO,EAAAlc,WAAWymC,SACnBvqB,EAAO,EAAAlc,WAAWymC,OAAS,IAG1BvqB,EAAO,EAAAlc,WAAWymC,OAAOF,KAC1BrqB,EAAO,EAAAlc,WAAWymC,OAAOF,GAAmB,CAAC,GAGjDrqB,EAAO,EAAAlc,WAAWymC,OAAOF,GAAiB/jB,GAAa3J,CAC3D,EAEMyjN,EAAqBF,EAAe71L,GAAiB,EAAAG,qBAAqBC,UAC3E21L,GACDD,EAAmB,EAAA31L,qBAAqBC,SAAUxlC,EAAE,wDAGxD,IAAMo7N,EAtDS,SAACp7N,EAAcwlC,G,kBAClC,OAAKA,EAIDrzB,OAAOC,MAAMozB,EAASg5G,kBACfx+I,EAAE,oDAIkB,QAA1B,EAAAwlC,EAASo9G,yBAAiB,eAAEt7F,WACF,QAA1B,EAAA9hB,EAASo9G,yBAAiB,eAAEr7F,QACF,QAA1B,EAAA/hB,EAASo9G,yBAAiB,eAAEtyH,eACF,QAA1B,EAAAkV,EAASo9G,yBAAiB,eAAEx7F,WACF,QAA1B,EAAA5hB,EAASo9G,yBAAiB,eAAEv7F,UAKF,QAA1B,EAAA7hB,EAASo9G,yBAAiB,eAAEtyH,cAIF,QAA1B,EAAAkV,EAASo9G,yBAAiB,eAAEr7F,MAI1B,KAHIvnD,EAAE,gEAJFA,EAAE,oEAJFA,EAAE,mDAdF,IA0Bf,CA0BwCq7N,CAAer7N,EAAGm7N,GAC9CA,GAAsBC,GACtBF,EAAmB,EAAA31L,qBAAqBC,SAAU41L,IAGjD,IAAAh0F,gCAA+B+zF,EAAoBrmJ,IACpDomJ,EAAmB,EAAA31L,qBAAqBC,SAAUxlC,EAAE,sDAE5D,IAEO+a,CACX,C,g6FC3EA,kBAEA,cAEA,cACA,cAEA,WACA,WACA,WACA,cACA,WACA,UACA,cACA,cACA,UACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,WAEA,cACA,cACA,aACA,cACA,cACA,cACA,cACA,WAEA,cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,UACA,WAEA,WACA,cACA,eACA,YAEMjc,GAAK,UAAWC,KAAK,WAIrB4jD,IAA+B,IAAAC,oCAAmC,CACpE,EAAA/jD,WAAWgqB,UACX,EAAAhqB,WAAWiqB,SACX,EAAAjqB,WAAWuiE,YACX,EAAAviE,WAAWo8E,SACX,EAAAp8E,WAAWw8E,cAGT0mN,GAAgC9iS,EAAMC,MAAK,WACrC,IAAAc,GAAM,IAAAC,kBAAgB,EACxBu4C,GAAO,IAAArjC,aAAY,EAAAqhK,mBACnBikG,GAAoB,IAAAtlQ,aAAY,EAAA6sR,8BAChCC,GAAe,IAAA9sR,aAAY,EAAAooF,YAC3B7pE,GAAW,IAAAC,eAEX,GAAiD,eAA/CykF,EAAY,eAAE7iD,EAAiB,oBAAEsjD,EAAS,YAE5CR,EAAiBp5G,EAAM0E,SACzB,WAAM,oBAAkBy0G,aAAY,EAAZA,EAAc1tG,QAAhC,GAEN,CAAC0tG,aAAY,EAAZA,EAAc1tG,UAGbq4C,EAAW9jD,EAAM0E,SAAQ,WAC3B,OAAO,SAACsW,GAAwB,oBAAaja,EAAGia,EAAhB,CACpC,GAAG,CAACja,IAEE,KAAiCf,EAAM0E,SAAQ,W,MAC3CsW,IAAM,MACP,EAAApb,WAAWgqB,YAAY2vB,aAAI,EAAJA,EAAMzgC,OAAQ,GACtC,EAAC,EAAAlZ,WAAWiqB,WAAW0vB,aAAI,EAAJA,EAAMhqB,UAAW,GACxC,EAAC,EAAA3vB,WAAWuiE,cAAc5oB,aAAI,EAAJA,EAAMzvB,QAAS,EAAAyxH,oBACzC,EAAC,EAAA37I,WAAWo8E,WAAYziC,aAAI,EAAJA,EAAMyiC,WAAyB,KACvD,EAAC,EAAAp8E,WAAWu8E,iBAAkB,GAC9B,EAAC,EAAAv8E,WAAWw8E,aAAc,G,GAK9B,MAAO,CAACphE,EAFO8oC,EAAS9oC,GAI5B,GAAG,CAACu+B,IAAM,GAdH7+B,GAAa,MAAEupC,GAAa,MAgB7BtpC,IAAS,IAAAC,WAAuB,CAClCC,oBAAoB,EACpBC,gBAAgB,EAChBmpC,cAAa,GACbvpC,cAAa,GACbopC,SAAQ,EACR/oC,SAAU,SAACC,EAAQC,GACfwZ,GACI,IAAAwoC,WAAU1jB,EAAMypP,EAAc,CAC1Bp5Q,WAAW,IAAAs6B,uBAAsBlpC,EAAO,EAAApb,WAAWgqB,YACnDC,UAAU,IAAAq6B,uBAAsBlpC,EAAO,EAAApb,WAAWiqB,WAClDs4C,aAAa,IAAAk0E,kBAAiBr7H,EAAO,EAAApb,WAAWuiE,cAChD6Z,SAAUhhE,EAAO,EAAApb,WAAWo8E,WAAa,KACzCG,iBAAiB,IAAAj4B,uBAAsBlpC,EAAO,EAAApb,WAAWu8E,mBAAqB,KAC9EC,aAAa,IAAAl4B,uBAAsBlpC,EAAO,EAAApb,WAAWw8E,eAAiB,QAG9EnhE,EAAcI,WAAW,CAAC,EAC9B,IAGEm/L,IAAwB,aAA0B7/L,GAAOK,OAAQN,IAEjEhV,GAAag+C,GAA6B/oC,GAAOK,OAAQN,KAAkBC,GAAOsoR,OAAS1pP,EAE3Fv3B,GAAchiB,EAAM0E,SAAQ,WAC9B,OAAO,aAAc82Q,EAEzB,GAAG,CAACA,aAAiB,EAAjBA,EAAmBv3Q,QAEvBjE,EAAMoL,WAAU,YACRowQ,aAAiB,EAAjBA,EAAmBp3Q,KACnBuW,GAAO8B,WAAU,SAACzB,G,MAAW,cACtBA,KAAM,MACR,EAAApb,WAAWu8E,iBAAkB,GAAE,EAC/B,EAAAv8E,WAAWw8E,aAAc,GAAE,GAHH,GAOrC,GAAG,CAACo/L,aAAiB,EAAjBA,EAAmBp3Q,KAEjB,QAA4C,aAAmB4d,IAA7DC,GAAe,mBAAEE,GAAoB,wBAEvC+gR,IAA4B,aAAyBjhR,GAAgB,EAAAriB,WAAWu8E,kBAChFgnN,GAAuBxoR,GAAOmB,OAAO,EAAAlc,WAAWu8E,iBAEhDinN,KACAzoR,GAAOK,OAAO,EAAApb,WAAWu8E,mBAAqBgnN,KAAyBD,GAEvE,KAAgCljS,EAAMuE,SAAkC,MAAK,GAA5E8+R,GAAW,MAAEC,GAAc,MAUlC,OARA,IAAAl4R,YAAU,WACL,mC,wDACkB,SAAM,EAAAy5C,QAAQq3M,kB,cAAvB7uP,EAAS,SACfi2R,IAAej2R,aAAM,EAANA,EAAS,KAAM,M,UAGtC,GAAG,CAAC,EAAAw3C,UAGA,wBAAM9pC,SAAUJ,GAAOiB,aAAchb,UAAWf,GAAG,QAASg3B,aAAa,OACrE,gBAAC,UAAS,CAAC12B,MAAOY,EAAE,yCACpB,gBAAC,UAAiB,CACds1D,mBAAoB8iD,EACpB7iD,kBAAmBA,EACnBF,iBACI,gBAAC,UAAM,CAAC8pH,UAAQ,EAACC,QAASvmE,EAAY,GAAIR,eAAgBA,GACtD,gBAAC,UAAa,CACVj5G,MAAOY,EAAE,6BACTN,UACI,iCACMiF,IAAc81Q,EAAkBz3Q,UAC9B,uBAAKnD,UAAWf,GAAG,qBACf,gBAAC,UAAM,CACHuB,MAAO,EAAA2N,gBAAgB8O,QACvB1a,KAAK,SACLvC,UAAWf,GAAG,iBACdqP,UAAWssQ,EAAkBz3Q,SAE5BhD,EAAE,qCAEP,gBAAC,UAAM,CACHK,MAAO,EAAA2N,gBAAgBC,UACvBrN,QAAS,WACLgZ,GAAOkjH,UAAU,CAAC,EACtB,GAEC98H,EAAE,wCAIf,gBAAC,UAAuB,WAO5C,gBAAC,UAAc,MACTw4C,GAAQ,gBAAC,UAAa,MACxB,gBAAC,UAAc,CAAC14C,aAAa,eAAe46H,SAAU,gBAAC,UAAc,OACjE,gBAAC,UAAM,CACH76H,UAAWf,GAAG,UACdM,MAAOY,EAAE,qCACTN,UACI,gBAAC+5M,GAAqB,CAClB95I,OAAQ,CAAC,EAAA9gE,WAAWgqB,UAAW,EAAAhqB,WAAWiqB,SAAU,EAAAjqB,WAAWuiE,gBAIvE,uBAAKvhE,UAAWf,GAAG,kBACf,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRe,UAAWf,GAAG,SACdiZ,KAAM,EAAAlZ,WAAWgqB,UACjB3lB,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWgqB,WAChC7N,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWgqB,WACrC3iB,MAAOlG,EAAE,+CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWgqB,UACjBzkB,MAAOwV,GAAOK,OAAO,EAAApb,WAAWgqB,WAChC5M,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YATd,IAahB,gBAAC,UAAW,CACR9E,UAAWf,GAAG,SACdiZ,KAAM,EAAAlZ,WAAWiqB,SACjB5lB,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWiqB,UAChC9N,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWiqB,UACrC5iB,MAAOlG,EAAE,8CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACF4Y,KAAM,EAAAlZ,WAAWiqB,SACjB1kB,MAAOwV,GAAOK,OAAO,EAAApb,WAAWiqB,UAChC7M,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YATd,KAcpB,gBAAC,UAAU,KACP,gBAAC,UAAW,CACR9E,UAAWf,GAAG,SACdiZ,KAAM,EAAAlZ,WAAWuiE,YACjBl+D,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWuiE,aAChCpmD,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWuiE,aACrCl7D,MAAOlG,EAAE,iDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAgB,CACb4Y,KAAM,EAAAlZ,WAAWuiE,YACjBh9D,MAAOwV,GAAOK,OAAO,EAAApb,WAAWuiE,aAChCnlD,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,YATd,IAahB,gBAAC,EAAAgtI,oBAAmB,CAAC9xI,UAAWf,GAAG,cAI/C,gBAAC,UAAM,CACHe,UAAWf,GAAG,UACdM,MAAOY,EAAE,yCACTN,UAAW,gBAAC+5M,GAAqB,CAAC95I,OAAQ,CAAC,EAAA9gE,WAAWo8E,aAEtD,uBAAKp7E,UAAWf,GAAG,kBACf,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRe,UAAWf,GAAG,QAAS,4BACvBiZ,KAAM,EAAAlZ,WAAWo8E,SACjB/3E,MAAO0W,GAAOmB,OAAO,EAAAlc,WAAWo8E,UAChCjgE,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWo8E,UACrC/0E,MAAOlG,EAAE,6CACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAgB,CACbqjS,KAAM5oR,GAAOK,OAAO,EAAApb,WAAWo8E,UAC/BwnN,YAAU,EACVxmR,SAAU9c,EAAM8c,SAChBva,gBAAiB,EAAAC,4BAA4BiF,WAC7CnC,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfC,WAAYxF,EAAMwF,YARd,IAYhB,gBAAC,EAAAgtI,oBAAmB,CAAC9xI,UAAWf,GAAG,cAI/C,gBAAC,UAAM,CACHe,UAAWf,GAAG,UACdM,MAAOY,EAAE,gDACTN,UAAW,gBAAC+5M,GAAqB,CAAC95I,OAAQ,CAAC,EAAA9gE,WAAWw8E,iBAErDinN,cAAW,EAAXA,GAAalnC,aACV,uBAAKv7P,UAAWf,GAAG,uBACf,gBAAC,UAAI,CACDe,UAAWf,GAAG,gBACduoB,GAAIi7Q,GAAYlnC,YAChB/6P,MAAO,EAAA8mB,cAAcC,cACrB7R,KAAM,EAAA8uG,aAAaq+K,WACnBr1I,YAAU,GAETrtJ,EAAE,uDAIX,uBAAKH,UAAWf,GAAG,kBACf,gBAAC,UAAU,KACP,gBAAC,UAAW,CACRe,UAAWf,GAAG,SACdiZ,KAAM,EAAAlZ,WAAWu8E,gBACjBrpD,WAAYowQ,GACZlwQ,gBAAiB7Q,GACjBle,MAAOk/R,GACPpnR,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWu8E,iBACrCl1E,MAAOlG,EAAE,qDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACFiD,KAAK,WACL2V,KAAM,EAAAlZ,WAAWu8E,gBACjBh3E,MAAOwV,GAAOK,OAAO,EAAApb,WAAWu8E,iBAChCn/D,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBwxB,aAAc,EAAAimN,uBAVV,IAchB,gBAAC,UAAW,CACRl8O,UAAWf,GAAG,SACdiZ,KAAM,EAAAlZ,WAAWw8E,YACjBn4E,MACIm/R,GAAyBzoR,GAAOmB,OAAO,EAAAlc,WAAWw8E,aAAe,KAErErgE,KAAMpB,GAAOqB,aAAa,EAAApc,WAAWw8E,aACrCn1E,MAAOlG,EAAE,iDACTkb,cAAetB,GAAOsB,cACtBC,gBAAiBvB,GAAOuB,kBAEvB,SAAChc,GAAU,OACR,gBAAC,UAAK,CACFiD,KAAK,WACL2V,KAAM,EAAAlZ,WAAWw8E,YACjBj3E,MAAOwV,GAAOK,OAAO,EAAApb,WAAWw8E,aAChCp/D,SAAU9c,EAAM8c,SAChBxX,OAAQtF,EAAMsF,OACdC,QAASvF,EAAMuF,QACfH,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBK,WAAYxF,EAAMwF,WAClBmxB,aAAc,EAAAimN,uBAXV,SAmB9B,KAAA4mD,sBACE,gBAAC,UAAM,CAAC9iS,UAAWf,GAAG,UAAWM,MAAOY,EAAE,6CACtC,gBAAC,WAAmB,UAMxC,gBAAC,UAAkB,CAAC4kF,YAAahrE,GAAOgrE,YAAa7pE,OAAQnB,GAAOmB,SAGhF,IAEA,UAAegnR,E,umDClZf,eACA,WACA,WACA,cAEA,SAAUa,EAAkB9/R,G,oEAGxB,OAFQsC,EAAUtC,EAAM,MAExB,IAAM,IAAAmJ,MAAI,IAAAwqO,oBAAmBrxO,K,OAKzB,OALJ,SAEQnB,EAAgCmB,EAAK,UAA1B+0B,EAAqB/0B,EAAK,SAAhBuc,EAAWvc,EAAK,OAGzC,GAAM,UAAkBy9R,qBAAqB5+R,EAAW,CACpDk2B,SAAQ,EACRxY,OAAM,K,cAHR,kBACF,SAGE,IAJCze,EAAK,KAAEnB,EAAK,KAMfmB,EACA,IAAM,IAAA+I,MAAI,IAAA4qO,oBAAmBzxO,EAAOlC,KADpC,M,qBAKJ,S,WAAA,UAAM,IAAA+I,MACF,IAAA0qO,sBAAqBvxO,EAAO,CACxBrD,MAAOA,GAAS,M,IAS5B,UAJA,W,kDACI,UAAM,IAAA2K,WAAU,EAAA8pO,wBAAyBosD,I,cAAzC,S,uCC9BJ,WAAgB,MAAQ,+CAA+C,gBAAgB,uDAAuD,OAAS,gDAAgD,SAAW,kD,kYCDlN,kBACA,WASA,UAEMlgS,EAAsC,CACxC8uD,cAAe,KACf7uD,cAAe,UAAcC,SAGjC,mBACIC,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAA,GAGQC,EAAOV,MACX,KAAK,EAAAuvD,mCACO,IAAAH,EAAkB1uD,EAAM,cAEhC,OAAID,EAAM2uD,gBAAkBA,EACjB3uD,EAGJ,EAAP,KACOA,GAAK,CACRF,cAAe,UAAcK,UAIrC,KAAK,EAAA6uD,qCAGD,OAFQL,EAAkB1uD,EAAM,cAE5BD,EAAM2uD,gBAAkBA,EACjB3uD,EAGJ,EAAP,KACOA,GAAK,CACRF,cAAe,UAAcU,KAIrC,KAAK,EAAA0uD,mCACOP,EAAyB1uD,EAAM,cAA/B,IAAeI,EAAUJ,EAAM,MAEvC,OAAID,EAAM2uD,gBAAkBA,EACjB3uD,EAGJ,EAAP,KACOA,GAAK,CACRF,cAAe,UAAcQ,SAASD,KAI9C,KAAK,EAAAuuD,qBAGD,OAFQD,EAAkB1uD,EAAM,cAEzB,EAAP,KACOD,GAAK,CACR2uD,cAAa,EACb7uD,cAAe,UAAcC,UAIrC,KAAK,EAAAU,gBACL,KAAK,EAAA+zC,MACD,OAAO,EAAP,GACO30C,GAIX,QACI,OAAOG,EAElB,C,mqDCjFD,kBACA,WAEA,cAEA,cACA,cACA,WACA,WACA,cAEA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,cACA,cACA,cACA,WACA,aACA,cACA,UACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,WACA,WACA,YACA,eACA,eACA,YACA,YAIA,YACA,YACA,eACA,eACA,eACA,YACA,eACA,eACA,eACA,WACA,YACA,eACA,eACA,eACA,WACA,YACA,YACA,eAkBM/D,GAAK,UAAWC,KAAK,WAErB+jS,GAA0C7jS,EAAMC,MAAK,SAACC,G,iPAEpD2oE,GASA3oE,EAAK,SARL40C,GAQA50C,EAAK,WAPLk0F,GAOAl0F,EAAK,sBANLqoE,GAMAroE,EAAK,mBALLuoE,GAKAvoE,EAAK,iBAJL4jS,GAIA5jS,EAAK,kBAHLwoE,GAGAxoE,EAAK,uBAFL60C,GAEA70C,EAAK,kBADLi1J,GACAj1J,EAAK,oBAEDa,IAAM,IAAAC,kBAAgB,EAEtB4zJ,IAAuB,KAAA2sC,+BAA8B,CAAE14H,SAAQ,KAAG,mBAEpEsmC,GAAkBnvG,EAAM6yB,WAAW,YACnCwuK,GAAuE,QAAzC,EAAAlyF,cAAe,EAAfA,GAAiBE,gCAAwB,uBACzE,GAAAjoB,kBAAkBY,qBAGhB,IAUF,KAAAm6G,yBAAwB,GAAA10G,iCATxBqnE,GAAqB,yBACrBI,GAAqB,yBACrBmtC,GAA4B,gCAC5BC,GAAgC,oCAChCrtC,GAAuB,2BACvBD,GAA0B,8BAC1BD,GAA4B,gCAC5BwtC,GAAqC,yCACrCC,GAAyB,6BAGvB,IAUF,KAAAhB,qBAAoB,GAAA75B,6BATpB+5B,GAAiB,qBACjBC,GAAiB,qBACjBC,GAAwB,4BACxBC,GAA4B,gCAC5BC,GAAmB,uBACnBC,GAAsB,0BACtBC,GAAwB,4BACxBC,GAAiC,qCACjCC,GAAqB,yBAGnBc,IAAe,aAAM5uG,cAAqB,EAArBA,GAAuB9pE,UAAW,MAEvD,IAA0C,IAAAy5Q,mCAAkC3vM,cAAqB,EAArBA,GAAuB9pE,WAAjG85K,GAAc,kBAAEC,GAAmB,uBAErC/sG,IAAqB,IAAAC,yBAErB2W,IAAgC,IAAAzW,2BAA0B,CAC5DrL,uBAA8E,QAAtD,EAAkC,QAAlC,EAAAgI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE2C,0BAAkB,eAAErtE,MAChF04E,wBAAwB,EACxBC,uBAAuB,IAGrBwW,IAA+B,IAAA1W,2BAA0B,CAC3DrL,uBAA8E,QAAtD,EAAkC,QAAlC,EAAAgI,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE2C,0BAAkB,eAAErtE,MAChF04E,wBAAwB,EACxBC,uBAAuB,IAGrBqsM,GAA8C,CAChD,CACInpP,SAAU,gBAAC,UAAc,CAACjkC,YAAa,EAAA9U,qBAAqB+W,OAC5D1Y,MAAOY,GAAE,gDACTgW,MAAyC,QAAlC,EAAAq9E,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEzjE,UAC3C0kC,KAAM,C,OAEK2sC,GAAmB32C,UAAQ,CAC9B5pC,MAAyC,QAAlC,EAAAq9E,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAE/oC,SAC3CgK,KAAM2sC,GAAmBQ,gBAAgB,CACrCV,qBAAkE,QAA5C,EAAkC,QAAlC,EAAAhD,cAAqB,EAArBA,GAAuB1K,mBAAW,eAAEjlE,gBAAQ,eAAEk8B,SACpE02C,oBAAgE,QAA3C,GAAkC,QAAlC,GAAAjD,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE3gE,eAAO,iBAAE43B,WAEtExF,WACIi5C,KAAyB,KAAAm0E,oCAAmCn0E,IACtDkD,GAAmBO,0BACf,CAAC,aACiC,QAAlC,GAAAzD,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE4C,cAExC,O,OAGPgL,GAAmBS,gBAAkD,QAAlC,GAAA3D,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE+B,MAAI,CAC9E10E,MAA+C,QAAxC,GAAkC,QAAlC,GAAAq9E,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAEiC,YAAI,iBAAE1lE,UACjD0kC,KAAM2sC,GAAmBU,iBACmB,QAAxC,GAAkC,QAAlC,GAAA5D,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAEiC,YAAI,iBAAEE,WAC1CuI,KAAyB,KAAAm0E,oCAAmCn0E,IACpB,QAAlC,GAAAA,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE4C,aACpC,MAEVnxC,WACIi5C,KAAyB,KAAAm0E,oCAAmCn0E,IACtDkD,GAAmBO,0BACf,CAAC,cACiC,QAAlC,GAAAzD,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE4C,cAExC,O,OAGPgL,GAAmBW,eAAuD,QAAxC,GAAkC,QAAlC,GAAA7D,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE9oC,YAAI,iBAAEs3C,WAAS,CACxFnhF,MAA+C,QAAxC,GAAkC,QAAlC,GAAAq9E,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE9oC,YAAI,iBAAE36B,UACjD0kC,KAAM2sC,GAAmBa,0BACmB,QAAxC,GAAkC,QAAlC,GAAA/D,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE9oC,YAAI,iBAAEw3C,WAE9Cj9C,WACIi5C,KAAyB,KAAAm0E,oCAAmCn0E,IACtDkD,GAAmBO,0BACf,CAAC,QACiC,QAAlC,GAAAzD,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE4C,cAExC,QAEd,aAA2C,QAAlC,GAAA8H,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE2B,eACvC,EAAD,KACQiM,GAAmBe,aAAa,CAC/B/M,YAA+C,QAAlC,GAAA8I,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE6B,kBACnD,CACFx0E,MAAyC,QAAlC,GAAAq9E,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE2B,gBAE/C,MACN,IAAAiN,wBAC+C,QAA3C,GAAkC,QAAlC,GAAAlE,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAEC,eAAO,iBAAEC,aACF,QAA3C,GAAkC,QAAlC,GAAAwK,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAEC,eAAO,iBAAE1jE,WAE3C,EAAD,KACQqxE,GAAmBiB,kBACyB,QAA3C,GAAkC,QAAlC,GAAAnE,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAEC,eAAO,iBAAEC,aACF,QAA3C,GAAkC,QAAlC,GAAAwK,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAEC,eAAO,iBAAEuC,YAChD,CACDn1E,OAAkD,QAA3C,GAAkC,QAAlC,GAAAq9E,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAEC,eAAO,iBAAE1jE,YAAa,IAErE,MACNioF,cAA6B,EAA7BA,GAA+B/rG,QACzB,EAAD,KACQm1F,GAAmB+W,gCACoC,QAAtD,GAAkC,QAAlC,GAAAja,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE2C,0BAAkB,iBAAErtE,QAC3D,CACD2rC,KAAM,CACF,CACIA,KAAMujD,OAIlB,MACNC,cAA4B,EAA5BA,GAA8BhsG,QACxB,EAAD,KACQm1F,GAAmBgX,+BACoC,QAAtD,GAAkC,QAAlC,GAAAla,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE2C,0BAAkB,iBAAErtE,QAC3D,CACD2rC,KAAM,CACF,CACIA,KAAMwjD,OAIlB,QAGhBj/E,OAAO,EAAA4/B,UAEHwc,IAAoB8oB,cAAqB,EAArBA,GAAuBpJ,sBAAuB,GAElEi5M,GAAkD,CACpD,CACI53R,KACI,gBAAC,UAAQ,CACLiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,iEACRoE,MAAOivF,cAAqB,EAArBA,GAAuBvmF,OAC9BoL,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,kBACdilB,KAAM,CACF,CACIzZ,KAAM,KACNyM,KAAM/X,GAAE,uDACRoE,MAAO,gBAAC,UAAa,CAAC2nB,KAAMsnE,cAAqB,EAArBA,GAAuB53C,YAAa3iC,OAAO,uBACvEZ,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,iBAEa,QAA/B,GAAAuzF,cAAqB,EAArBA,GAAuBy2I,gBAAQ,iBAAEz+N,IAC3B,CACIC,KAAM,KACNyM,KAAM/X,GAAE,uDACRoE,MACI,gBAAC,UAAI,CACDxD,QAAS,W,MACCikD,GAA+C,QAA/B,EAAAwuC,cAAqB,EAArBA,GAAuBy2I,gBAAQ,eAAEz+N,KAAM,KACxDw5C,EAKL8iB,GAAuB9iB,IAJnB,IAAAhxB,YAAW,sBAKnB,EACAh0B,UAAWf,GAAG,QACduB,MAAO,EAAA8mB,cAAcC,eAEW,QAA/B,GAAAisE,cAAqB,EAArBA,GAAuBy2I,gBAAQ,iBAAEh9N,QAG1Cq2R,gBAAiBrkS,GAAG,oBACpBoZ,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,gBAElB,KACN,CACIwL,KAAM,KACNyM,KAAM/X,GAAE,kDACRoE,MAAO,gBAAC,UAA2B,CAACusR,mBAAoBt9L,cAAqB,EAArBA,GAAuBjxF,OAC/E8V,WAAYlY,GAAE,gDACdmY,aAAa,EACbzY,WAA0C,QAA/B,GAAA2zF,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAEjgL,WAAY,gBAAC,UAAa,MAAM,KAC5EnpF,aAAc,WAElB,CACIwL,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,uDACRoE,MAAO,gBAAC,UAAyB,CAAC60G,cAAiD,QAAlC,GAAA5lB,cAAqB,EAArBA,GAAuBlK,mBAAW,iBAAE99E,KACrF6M,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,gBAElB,CACIwL,KAAM,gBAAC,UAAY,CAACuK,YAAa,EAAA9U,qBAAqB+W,OACtDC,KAAM/X,GAAE,yDACRoE,MAAO,gBAAC,UAAsB,CAACwsC,cAAeyiD,cAAqB,EAArBA,GAAuBziD,gBACrE14B,WAAYlY,GAAE,gDACdmY,aAAa,EACbrY,aAAc,sBAMxB8X,GAAgB0G,KAAK+1D,OAAmD,QAA7C,GAAkC,QAAlC,GAAAgf,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE7gE,iBAAS,iBAAElQ,gBAAiB,GAE3FmQ,GAAkBzJ,KAAK+1D,OAA4D,QAAtD,GAA2C,QAA3C,GAAkC,QAAlC,GAAAgf,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE3gE,eAAO,iBAAEF,iBAAS,iBAAElQ,gBAAiB,GAEtGU,GAA0BV,GAAgBmQ,GAE1Co6K,IAAwB,KAAAC,0BAAsE,QAA7C,GAAkC,QAAlC,GAAA/uG,cAAqB,EAArBA,GAAuB1K,mBAAW,iBAAE7gE,iBAAS,iBAAEuvE,WAEhG+rM,GAAkD,CACpD,CACI93R,KAAM,gBAAC,UAAS,CAACxK,UAAW,EAAAC,qBAAqB+W,OACjDC,KAAM/X,GAAE,wDACRoE,MAAO,gBAAC,UAAa,CAAChC,KAAM,EAAA4V,aAAaC,uBAAwBlW,OAAO,IAAAinF,aAAYpxE,MACpFM,WAAYlY,GAAE,wCACdmY,aAAa,EACbrY,aAAc,gBACdilB,KAAM,CACFgD,GACM,CACIzc,KAAM,KACNyM,KAAM/X,GAAE,0DACRoE,MACI,gBAAC,UAAa,CACVhC,KAAM,EAAA4V,aAAaC,uBACnBlW,OAAO,IAAAinF,aAAYjhE,MAG3B7P,WAAYlY,GAAE,wCACdmY,aAAa,EACbrY,aAAc,kBACdilB,KAAMo9K,IAEV,KACN7pL,GACM,CACIhN,KAAM,KACNyM,KAAM/X,GAAE,2DACRoE,MACI,gBAAC,UAAa,CACVhC,KAAM,EAAA4V,aAAaC,uBACnBlW,OAAO,IAAAinF,aAAY1wE,MAG3BJ,WAAYlY,GAAE,wCACdmY,aAAa,EACbrY,aAAc,oBAElB,QAKZ23I,IAA2C,QAA9B,GAAApkD,cAAqB,EAArBA,GAAuBz+E,eAAO,iBAAG,KAAM,KACpD8iI,IAAc,IAAA/zI,UAAQ,W,QAExB,KAD+D,QAA/B,EAAA0vF,cAAqB,EAArBA,GAAuB61K,gBAAQ,eAAEjgL,WAE7D,MAAO,GAGX,IAAMr0E,GAAwC,QAA9B,EAAAy+E,cAAqB,EAArBA,GAAuBz+E,eAAO,eAAE8xC,MAAM,KAAM,GAC5D,OAAO9xC,aAAO,EAAPA,EAASxT,QAASwT,EAAU,CAAC,KACxC,GAAG,CAACy+E,KAEEgwM,GAAqB,GACvB,CACI/3R,KACI,gBAAC,UAAS,CACNiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,gDACRoE,OAAOivF,cAAqB,EAArBA,GAAuBnwE,OAC1B,gBAAC,UAAkB,CAAC2xD,QAAqC,QAA5B,GAAAwe,cAAqB,EAArBA,GAAuBnwE,aAAK,iBAAE7X,GAAIusI,mBAAoBlwE,IAC/E,gBAAC,UAAmB,CAChBphD,MAAkD,QAA3C,GAA4B,QAA5B,GAAA+sE,cAAqB,EAArBA,GAAuBnwE,aAAK,iBAAE20H,qBAAa,iBAAEvxH,MACpDC,YAAyC,QAA5B,GAAA8sE,cAAqB,EAArBA,GAAuBnwE,aAAK,iBAAEqD,eAGnD,KACJrO,WAAYlY,GAAE,qDACdmY,aAAa,GAEjB,CACI7M,KACI,gBAAC,UAAW,CACRiK,KAAM,EAAAC,kBACNK,YAAa,EAAA9U,qBAAqB+W,KAClChX,UAAW,EAAAC,qBAAqBI,QAGxC4W,KAAM/X,GAAE,kDACRoE,OAAOivF,cAAqB,EAArBA,GAAuBlwE,SAC1B,gBAAC,UAAkB,CACf0xD,QAAuC,QAA9B,GAAAwe,cAAqB,EAArBA,GAAuBlwE,eAAO,iBAAE9X,GACzCusI,mBAAoBpwE,IAEpB,gBAAC,UAAmB,CAChBlhD,MAAsD,QAA/C,GAA8B,QAA9B,GAAA+sE,cAAqB,EAArBA,GAAuBlwE,eAAO,iBAAEksB,uBAAe,iBAAE/oB,MACxDC,YAA2C,QAA9B,GAAA8sE,cAAqB,EAArBA,GAAuBlwE,eAAO,iBAAEoD,eAGrD,KACJrO,WAAYlY,GAAE,uDACdmY,aAAa,GAEjB,CACI7M,KAAM,gBAAC,UAAU,CAACiK,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqB+W,OAC3EC,KAAM/X,GAAE,iDACRoE,MAAOqzI,GACH,gBAAC,UAAmB,CAAC9nB,SAAU8nB,GAAWpsI,GAAI+oJ,oBAAqB2uI,IAC/D,gBAAC,UAAqB,CAAChuM,OAAQ0iD,MAEnC,KACJv/H,WAAYlY,GAAE,sDACdmY,aAAa,I,EAEdu/H,GAAYlhI,KAAI,SAACu+E,GAChB,MAAO,CACHzpF,KAAM,gBAAC,UAAc,CAACiK,KAAM,EAAAC,kBAAmBK,YAAa,EAAA9U,qBAAqB+W,OACjFC,KAAM/X,GAAE,sDACRoE,MAAO2wF,EACH,gBAAC,UAAmB,CAAC46B,SAAU56B,EAAO1pF,GAAI+oJ,oBAAqB2uI,IAC3D,gBAAC,UAAqB,CAAChuM,OAAQA,KAEnC,KACJ78E,WAAYlY,GAAE,sDACdmY,aAAa,EAErB,MAAE,GAGA4rL,IAAqD,QAA9B,GAAA1wG,cAAqB,EAArBA,GAAuBlwE,eAAO,iBAAE4gL,uBAAwB,KAC/EE,IAAqD,QAA9B,GAAA5wG,cAAqB,EAArBA,GAAuBlwE,eAAO,iBAAE8gL,uBAAwB,KAE/ET,IAAyB,cACK,QAAhC,GAAAnwG,cAAqB,EAArBA,GAAuB/J,iBAAS,iBAAE9yE,KAAI,SAACg7D,GACnC,OAAOA,aAAQ,EAARA,EAAU+jF,iBACrB,KAEEkuC,IAAyB,cACK,QAAhC,GAAApwG,cAAqB,EAArBA,GAAuB/J,iBAAS,iBAAE9yE,KAAI,SAACg7D,GACnC,OAAOA,aAAQ,EAARA,EAAUgkF,kBACrB,KAGJ,IAAKniE,GACD,OAAO,KAGX,IAAM6wG,IAA0B,KAAAC,2BAA0B,CACtDJ,qBAAoB,GACpBE,qBAAoB,GACpBT,uBAAsB,GACtBC,uBAAsB,KAGpBC,IAAsB,IAAA//L,UAAQ,W,MAChC,OAAuC,QAAhC,EAAA0vF,cAAqB,EAArBA,GAAuB/J,iBAAS,eAAElZ,MAAK,SAACoB,GAC3C,OAAOA,aAAQ,EAARA,EAAUhgE,WAAY,EAAAmyL,oBAAoB7pG,MACrD,GACJ,GAAG,CAACzG,KAEEuwG,IAAqB,IAAAjgM,UAAQ,W,MAC/B,OAAuC,QAAhC,EAAA0vF,cAAqB,EAArBA,GAAuB/J,iBAAS,eAAElZ,MAAK,SAACoB,GAC3C,OAAOA,aAAQ,EAARA,EAAUhgE,WAAY,EAAAmyL,oBAAoBlpG,MACrD,GACJ,GAAG,CAACpH,KAEEwwG,IAA2B,IAAAlgM,UAAQ,W,QACrC,OAGmB,KAAb,QAFF,EAAgC,QAAhC,EAAA0vF,cAAqB,EAArBA,GAAuB/J,iBAAS,eAAEn7D,QAAO,SAACqjD,GACtC,OAAQ,EAAAsyH,iBAAiB11K,IAAIojD,EAASjpD,OAC1C,WAAE,eAAEnnB,OAEZ,GAAG,CAACiyF,KAEEiwM,GAAwBrkS,EAAMkG,aAChC,SAACsvJ,G,MACSvoI,GAAwC,QAA/B,EAAAmnE,cAAqB,EAArBA,GAAuB61K,gBAAQ,eAAE79P,KAAM,KACjD6gB,EAKLy0K,GAAkBz0K,EAAQuoI,IAJtB,IAAA5gI,YAAW,uCAKnB,GACA,CAAgC,QAA/B,GAAAw/D,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAE79P,GAAIs1L,KAG1C,OACI,uBAAK9gM,UAAWf,GAAG,cACf,gBAAC,UAAsB,CACnBe,UAAWf,GAAG,SACd6zB,OAAQ0wK,cAAc,EAAdA,GAAgBx9J,QACxB1uB,uBAAwBksL,cAAc,EAAdA,GAAgBvuC,aACxChrE,qBAAsBu5G,cAAc,EAAdA,GAAgBtuC,WACtCniI,YAAa0wK,cAAmB,EAAnBA,GAAqBz9J,QAClCxuB,wBAAyBisL,cAAmB,EAAnBA,GAAqBxuC,aAC9C9qE,sBAAuBs5G,cAAmB,EAAnBA,GAAqBvuC,aAEhD,gBAAC,UAAiB,CACdl1J,UAAWf,GAAG,sBACdi7C,UAAW/5C,GAAE,kDACb4sD,aAAc2d,GACd/pE,YAAaR,GAAE,sDAEnB,gBAAC,GAAAqkM,WAAU,CAACxkM,UAAWf,GAAG,YACoB,QAAzC,GAA+B,QAA/B,GAAAu0F,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAEzsC,gBAAQ,iBAAE70C,gCACxC,gBAAC,WAAkB,CAAC91K,IAAI,iCACnB9R,GAAE,6EAG+B,QAAzC,GAA+B,QAA/B,GAAAqzF,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAEzsC,gBAAQ,iBAAEn4B,4BACxC,gBAAC,WAA0B,CAACxyL,IAAI,6BAC3B9R,GAAE,yEAG+B,QAAzC,GAA+B,QAA/B,GAAAqzF,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAEzsC,gBAAQ,iBAAE9iI,iCACxC,gBAAC,WAAkB,CAAC7nF,IAAI,kCACnB9R,GAAE,6EAG+B,QAAzC,GAA+B,QAA/B,GAAAqzF,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAEzsC,gBAAQ,iBAAE7iI,6BACxC,gBAAC,WAA0B,CAAC9nF,IAAI,8BAC3B9R,GAAE,wEAGV4jM,IACG,gBAAC,WAA0B,CAAC9xL,IAAI,sBAC3B9R,GAAE,2DAGV0jM,IACG,gBAAC,WAA0B,CAAC5xL,IAAI,uBAC3B9R,GAAE,6DAG+B,QAAzC,GAA+B,QAA/B,GAAAqzF,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAEzsC,gBAAQ,iBAAEjiI,WACxC,gBAAC,WAAoB,CAAC1oF,IAAI,YACrB9R,GAAE,iDAAkD,CACjDsxC,MAAM+hD,cAAqB,EAArBA,GAAuBkxG,MAAM,KAAAC,eAAcnxG,cAAqB,EAArBA,GAAuBkxG,KAAO,MAI1FL,IACG,gBAAC,WAAyB,CAACpyL,IAAI,2BAC1B9R,GAAE,mEAAoE,CACnEykM,WAAYV,GACZW,WAAYT,GACZU,YAAanB,GACboB,YAAanB,OAIxB,aAASM,MAAyB,aAASE,KACxC,gBAAC,WAAuB,CAACnyL,IAAI,sBACxB9R,GAAE,4DAA6D,CAC5Dk5F,IAAK6qG,GACL5jI,IAAK8jI,OAIhB5wG,cAAqB,EAArBA,GAAuBkxG,MACpB,gBAAC,WAAc,CACX7gC,gBACIrwE,cAAqB,EAArBA,GAAuBwxG,2BACjB7kM,GAAE,kDAAmD,CACjDsxC,MAAM,KAAAwzJ,8BACFzxG,cAAqB,EAArBA,GAAuBwxG,6BAG/B,MAGT7kM,GAAE,4CAA6C,CAC5CsxC,MAAM,KAAAkzJ,eAAcnxG,cAAqB,EAArBA,GAAuBkxG,SAK3D,gBAAC,UAAS,CACN19K,mBAAiB,EACjBhnB,UAAWf,GAAG,SACdimB,KAAMm+Q,GACNpjS,aAAa,oBAEjB,gBAAC,UAAS,CACN+mB,mBAAiB,EACjBhnB,UAAWf,GAAG,SACdimB,KAAMq+Q,GACNtjS,aAAa,oBAEjB,gBAAC,UAAY,CAACD,UAAWf,GAAG,SAAU8qD,KAAMq5O,KAC5C,gBAAC,UAAS,CACNp8Q,mBAAiB,EACjBhnB,UAAWf,GAAG,SACdimB,KAAMs+Q,GACNvjS,aAAa,uBAEjB,gBAAC,UAAgB,CAACD,UAAWf,GAAG,cAAeu0F,sBAAuBA,KACrC,QAAhC,GAAAA,cAAqB,EAArBA,GAAuB/J,iBAAS,c,GAAE9yE,KAAI,SAACg7D,EAAU/6D,G,QAC9C,OACI,gBAAC,UAAmB,CAChB3E,IAAK2E,EACLs9B,WAAYA,GACZl0C,UAAWf,GAAG,iBACd8sF,mBAAqD,QAAlC,EAAAyH,cAAqB,EAArBA,GAAuBlK,mBAAW,eAAE0C,QACvDpuB,eAAgBhnD,EAChB+6D,SAAUA,EACVmiF,eAAgBsuC,GAAazwH,aAAQ,EAARA,EAAUua,gBAAkB,KACzD6nE,gBAAiBquC,GAAazwH,aAAQ,EAARA,EAAUya,iBAAmB,KAC3D5xC,iBAAkBh8B,OAAO5H,EAAQ,GACjCyV,QAAuC,QAA/B,EAAAmnE,cAAqB,EAArBA,GAAuB61K,gBAAQ,eAAE79P,KAAM,KAC/CwoJ,mBAAoBA,GACpBC,mCAAoC+vC,GACpC9vC,sBAAuBA,GACvBC,6BAA8BA,GAC9BC,2BAA4BA,GAC5BC,wBAAyBA,GACzBC,sBAAuBA,GACvBngH,kBAAmBA,GACnBogH,oBAAqBA,IAGjC,KACEksC,IACE,gBAAC,UAAuB,CACpBzgM,UAAWf,GAAG,eACdotB,QAAuC,QAA/B,GAAAmnE,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAE79P,KAAM,KAC/Cy8D,SAAUA,GACV1oE,MAAOY,GAAE,gCACT6zJ,mBAAoBA,KAG3BysC,IACG,gBAAC,WAAc,CACXzgM,UAAWf,GAAG,eACdotB,QAAuC,QAA/B,GAAAmnE,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAE79P,KAAM,KAC/CsqJ,gBAA+C,QAA/B,GAAAtiE,cAAqB,EAArBA,GAAuB61K,gBAAQ,iBAAEvzG,iBAAkB,KACnEv2J,MAAOY,GAAE,8CACTg0C,kBAAmBA,GACnBogH,oBAAqBA,GACrB6sC,yBAA0BA,GAC1BD,uBAAwBA,GACxBD,oBAAqBA,GACrBH,kBAAmB7sJ,QAAatuC,EAAYm7L,GAC5CD,kBAAmB5sJ,QAAatuC,EAAY69R,GAC5CrtI,+BACI,KAAAsR,qCAAoCl0E,IAC9BA,cAAqB,EAArBA,GAAuB4iE,8BACvB,KAEVstI,qCACI,KAAAh8H,qCAAoCl0E,IAC9BA,cAAqB,EAArBA,GAAuBkwM,oCACvB,OAIlB,gBAAC,WAAiB,CAAC33R,KAAM61L,GAA0B71L,KAAMjM,QAAS8hM,GAA0B9hM,UAC5F,gBAAC,WAAiB,CAACiM,KAAMu1L,GAAsBv1L,KAAMjM,QAASwhM,GAAsBxhM,UACpF,gBAAC,WAAuB,CACpBgD,cAAe4+L,GACf31L,KAAM41L,GAAsC51L,KAC5C6gB,UAAW60K,GACX1zL,SAAU4zL,GAAsC5zL,SAChDjO,QAAS6hM,GAAsC7hM,UAEnD,gBAAC,WAAuB,CACpBgD,cAAem+L,GACfl1L,KAAMs1L,GAAkCt1L,KACxC6gB,UAAWo0K,GACXjzL,SAAUszL,GAAkCtzL,SAC5CjO,QAASuhM,GAAkCvhM,UAI3D,IAEA,UAAemjS,E,y3BCntBf,kBACA,WAOMU,EAAmC,SAACrkS,GAC9B,IAAA2B,EAAyB3B,EAAK,UAAnBU,EAAcV,EAAK,UAEtC,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,YAAY3Q,UAAWA,GAC1F,wBACI8L,KAAM7K,EACN2P,SAAS,UACTC,EAAE,2PAIlB,EAEA8yR,EAAevyR,YAAc,iBAE7B,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBC,UAG3B,EAAAkQ,WAAAA,EACT,UAAesyR,C,k5BC7Bf,kBACA,WACA,WAMa,EAAAhF,aAAU,MAClB,EAAAR,aAAaC,SAAU,uBACxB,EAAC,EAAAD,aAAaK,kBAAmB,iCACjC,EAAC,EAAAL,aAAaM,YAAa,0BAC3B,EAAC,EAAAN,aAAaI,cAAe,6BAC7B,EAAC,EAAAJ,aAAaz2O,MAAO,oBACrB,EAAC,EAAAy2O,aAAaE,QAAS,sBACvB,EAAC,EAAAF,aAAaG,QAAS,sBACvB,EAAC,EAAAH,aAAax4F,OAAQ,qBACtB,EAAC,EAAAw4F,aAAaO,aAAc,2B,GAGnB,EAAAT,qBAAkB,MAC1B,EAAAE,aAAaC,SAAU,oCACxB,EAAC,EAAAD,aAAaI,cAAe,0CAC7B,EAAC,EAAAJ,aAAaz2O,MAAO,iCACrB,EAAC,EAAAy2O,aAAaE,QAAS,mCACvB,EAAC,EAAAF,aAAaG,QAAS,mCACvB,EAAC,EAAAH,aAAax4F,OAAQ,kC,GAG1B,IAAMi+F,EAA8BxkS,EAAMC,MAAK,SAACC,GACpC,IAAAiD,EAASjD,EAAK,KACda,GAAM,IAAAC,kBAAgB,EAE9B,OAAKmC,EAIE,4BAAOpC,EAAE,EAAAw+R,WAAWp8R,KAHhB,IAIf,IAEA,UAAeqhS,C,+BCvCf,WAAgB,gBAAgB,2CAA2C,eAAe,0CAA0C,OAAS,oCAAoC,SAAW,sC,q7BCD5L,kBAEA,cAEA,cACA,WACA,YAUMC,GAFK,UAAW3kS,KAAK,WAEaE,EAAMC,MAAK,SAACC,GACxC,IAAAU,EAA6BV,EAAK,UAAvBsU,EAAkBtU,EAAK,cAClCa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAS,CACNyT,UAAQ,EACRD,cAAeA,EACfpT,MAAO,EAAAyS,mBAAmB9R,SAC1BlB,aAAa,aACbD,UAAWA,GAEVG,EAAE,qBAGf,KAEA,UAAe0jS,C,6KCjCf,eAaa,EAAA7/G,iBAAmB,WAA+B,OAC3DzhL,KAAM,EAAA21M,0BADqD,EAIlD,EAAA4rF,sBAAwB,WAAoC,OACrEvhS,KAAM,EAAA41M,gCAD+D,EAI5D,EAAA4rF,wBAA0B,SAAC12J,GAA+D,OACnG9qI,KAAM,EAAA81M,kCACNhrE,YAAW,EAFwF,EAK1F,EAAA22J,sBAAwB,SAAC3gS,GAA+C,OACjFd,KAAM,EAAA61M,gCACN/0M,MAAK,EAF4E,C,+BCzBrF,WAAgB,cAAc,wCAAwC,KAAO,iCAAiC,MAAQ,kCAAkC,YAAc,wCAAwC,aAAe,yCAAyC,QAAU,oCAAoC,eAAiB,2CAA2C,cAAgB,0CAA0C,OAAS,mCAAmC,SAAW,qC,yKCDje,eAaa,EAAA68M,gBAAkB,WAA8B,OACzD39M,KAAM,EAAAynH,oBADmD,EAIhD,EAAAm9C,qBAAuB,WAAmC,OACnE5kK,KAAM,EAAA0nH,0BAD6D,EAI1D,EAAAw9C,uBAAyB,SAACF,GAA8D,OACjGhlK,KAAM,EAAA2nH,4BACNq9C,WAAU,EAFuF,EAKxF,EAAAD,qBAAuB,SAACjkK,GAA8C,OAC/Ed,KAAM,EAAA4nH,0BACN9mH,MAAK,EAF0E,C,2LC1BnF,IASY4gS,EATZ,cAEA,aACA,cAEA,aAEMhlS,EAAK,UAAWC,KAAK,YAE3B,SAAY+kS,GACR,oBACA,wBACA,kBACA,2BACH,CALD,CAAYA,IAAoB,uBAApBA,EAAoB,KA0DhC,UAhCsC,SAAC3kS,G,MAC3BU,EAAqFV,EAAK,UAA/E4O,EAA0E5O,EAAK,SAArEyB,EAAgEzB,EAAK,QAA5DqF,EAAuDrF,EAAK,WAAhDsT,EAA2CtT,EAAK,UAArC03B,EAAgC13B,EAAK,UAA1BsC,EAAqBtC,EAAK,UAAfkB,EAAUlB,EAAK,MAE5FwrP,IAAgB/pP,EAEtB,OACI,+BACIf,WAAW,aACPf,EAAG,gBAAc,KACb,EAAC,8BAAuBuB,GAASyjS,EAAqBjxR,eAAgB,EACtE,+BAA6B83O,EAC7B,8BAA4BnmP,EAC5B,6BAA2BiO,EAC3B,6BAA2BokB,EAC3B,6BAA2Bp1B,E,IAE/B5B,GAEJe,QAASA,EAAO,qBACG,gBAElBmN,EAAS,CACN48O,YAAW,EACXnmP,aAAcA,EACdiO,YAAaA,EACbokB,YAAaA,EACbp1B,YAAaA,IAI7B,C,umDCjEA,eAEA,WACA,WACA,UACA,UACA,cACA,WACA,WACA,WACA,WACA,WAEA,SAAUshJ,EAAWjgJ,G,8DAGuD,OAFhE+wR,EAAqC/wR,EAAM,UAAhCslF,EAA0BtlF,EAAM,sBAEqB,IAAM,IAAAiJ,QAAO,EAAAogB,gC,OACrF,OADwE,SACtDnpB,QACd,IAGJ,IAAM,IAAAiJ,MAAI,IAAAg3I,iB,OAE2D,OAFrE,SAEqE,GAAM,UAAmB5zB,cAC1FjnC,EACA,CACI27M,aAAclQ,EAAU,GACxBmQ,aAAcnQ,EAAU,SAAMpuR,K,cAJhC,kBAA+D,SAMpE,KANMvC,EAAK,MASR,IAAM,IAAA+I,MAAI,IAAAk3I,aAAYjgJ,KADtB,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAm3I,mB,OAEV,OAFA,SAEA,IAAM,IAAAn3I,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoByE,eAC1BrxB,KAAM,CACFsxB,cAAc22P,aAAS,EAATA,EAAWzyR,SAAU,Q,OALnD,S,wBAYJ,EAAA2uO,6BAA6BtvM,KAAK,CAAC,GACnC,EAAAq/K,8BAA8Br/K,KAAK,CAAC,GACpC,EAAAY,2BAA2BZ,KAAK,CAAC,G,QAGrC,SAAUwjQ,EAAanhS,G,8DAEnB,OADQslF,EAAqCtlF,EAAM,sBAApB+wR,EAAc/wR,EAAM,UAC9CslF,GAA0ByrM,EAAUzyR,OAKiC,IAAM,IAAA2K,QAC5E,EAAAsgB,oCALA,IAAAwH,YAAW,4BACX,K,OAMJ,OAH0E,SAGxD7wB,QACd,IAGJ,IAAM,IAAAiJ,MAAI,IAAAi4R,mB,OAE6D,OAFvE,SAEuE,GAAM,UAAmB50K,gBAC5FlnC,I,cADE,kBAAiE,SAEtE,KAFMllF,EAAK,MAIR,IAAM,IAAA+I,MAAI,IAAAk4R,eAAcjhS,KADxB,M,cACA,S,aAEA,UAAM,IAAA+I,MAAI,IAAAm4R,qB,OAEV,OAFA,SAEA,IAAM,IAAAn4R,MACF,IAAAslG,UACI,IAAI,EAAAj5E,eAAe,CACfl2B,KAAM,EAAAo2B,oBAAoB2E,iBAC1BvxB,KAAM,CACFsxB,cAAc22P,aAAS,EAATA,EAAWzyR,SAAU,Q,OALnD,S,wBAYJ,EAAA2uO,6BAA6BtvM,KAAK,CAAC,GACnC,EAAAq/K,8BAA8Br/K,KAAK,CAAC,GACpC,EAAAY,2BAA2BZ,KAAK,CAAC,G,QAQrC,UALA,W,kDACI,UAAM,IAAA/zB,WAAU,EAAA84I,mBAAoBzC,I,OACpC,OADA,SACA,IAAM,IAAAr2I,WAAU,EAAA23R,sBAAuBJ,I,cAAvC,S,kqCChGJ,kBACA,cAEA,cAIA,cACA,UAKA,WAOA,UACA,WAEA,cAEMnlS,EAAK,UAAWC,KAAK,WAsG3B,UA5E+C,SAACI,GACpC,IAAAwD,EAAuExD,EAAK,cAA7D+6D,EAAwD/6D,EAAK,cAA9C4O,EAAyC5O,EAAK,SAApCi7D,EAA+Bj7D,EAAK,kBAAjBmsC,EAAYnsC,EAAK,QAC5Ea,GAAM,IAAAC,kBAAgB,EAE9B,GAAI0C,EAAcO,MAAO,CACb,IAAAA,EAAUP,EAAa,MAC3Bi9B,GAAU,IAAAo2D,+BAA8B9yF,GACvC08B,IACDA,GAAU,IAAA0vL,oBAGd,IAAIg1E,EAAqC,CACrC54P,SAAU,EAAA8lL,mBAAmBhgN,QAC7BpS,MAAOY,EAAE,mDACTuuB,YAAavuB,EAAE,yDACf4/B,QAAO,GAmCX,OAhCI,IAAA8sO,qBAAoBxpQ,GACpBohS,EAAe,EAAH,KACLA,GAAY,CACfllS,MAAOY,EAAE,0CACTuuB,YAAavuB,EAAE,kDA9CF,SAACkD,GAC1B,UAAK,IAAA2rG,wBAAuB3rG,IAGC,MAAzBA,EAAMolL,mBAGN,IAAA3qG,gCAA+Bz6E,IAE3BA,EAAM06E,UAAY,EAAAC,mCAAmC4zB,cACrDvuG,EAAM06E,UAAY,EAAAC,mCAAmC6zB,iBAIjE,CAkCmB2/K,CAAqBnuR,GAC5BohS,EAAe,EAAH,KACLA,GAAY,CACfllS,MAAOY,EAAE,2CAEN,IAAAgqL,0BAAyB9mL,GAChCohS,EAAe,EAAH,KACLA,GAAY,CACfllS,MAAOY,EAAE,iDAGb,IAAA29E,gCAA+Bz6E,IAC9BA,EAAM06E,UAAY,EAAAC,mCAAmCwqG,sBAClDnlL,EAAM06E,UAAY,EAAAC,mCAAmCuqG,mBAMlD,IAAAmkF,uBAAsBrpQ,KAC7BohS,EAAe,EAAH,KACLA,GAAY,CACfllS,MAAOY,EAAE,+CAPbskS,EAAe,EAAH,KACLA,GAAY,CACfllS,MAAOY,EAAE,8CAUb,gBAAC,UAAc,GACXH,UAAWf,EAAG,oBACVwlS,EAAY,CAChBvoE,aAAc,CACVzwL,EACM,CACIv9B,SAAU/N,EAAE,2DACZY,QAAS0qC,GAEb,QAItB,CAEA,OAAK4uB,GAAkBv3D,EAAcU,GAO9B,gCAAG0K,GANFqsD,EACO,gBAACA,EAAiB,MAEtB,gBAAC,UAAa,KAI7B,C,+BC5HA,WAAgB,aAAe,gDAAgD,mBAAqB,sDAAsD,oBAAsB,uDAAuD,OAAS,0CAA0C,eAAiB,kDAAkD,cAAgB,iDAAiD,OAAS,0CAA0C,SAAW,4C,kTCC5d,eACA,WAOMl4C,EAAkB,CAAC,EAAArjB,WAAW2iG,WA2BpC,UAzBiB,SAACxhG,EAAcia,GAC5B,IAAIc,EAAM,MACH,IAAA6H,eAAc5iB,EAAGkiB,EAAiBjI,IAoBzC,OAjBIA,EAAO,EAAApb,WAAW2iG,aAAe,EAAAY,cAAcC,UAC/CtnF,EAAS,EAAH,WACCA,IACA,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWwtD,MAAOpyC,KACpC,IAAA2W,kCAAiC5wB,EAAG,CAAC,EAAAnB,WAAWwtD,MAAOpyC,KACvD,IAAA4I,eAAc7iB,EAAG,CAAC,EAAAnB,WAAWwtD,MAAOpyC,EAAQ,KAC5C,IAAA6I,eAAc9iB,EAAG,CAAC,EAAAnB,WAAWwtD,MAAOpyC,EAAQ,MAInDA,EAAO,EAAApb,WAAW2iG,aAAe,EAAAY,cAAcK,iBAC/C1nF,EAAS,EAAH,KACCA,IACA,IAAA6H,eAAc5iB,EAAG,CAAC,EAAAnB,WAAWwlC,YAAapqB,KAI9Cc,CACX,C,yWCnCA,eAEA,WAEMspJ,EAAwB,SAACJ,GAC3B,IAAM5/H,EAAa4/H,EAAkB,aAAkBtzI,UAEvD,MAAO,CACHH,YAAY,IAAA+zQ,sBAAqBtgI,EAAkB,aAAkBzzI,aACrE6T,WAAYA,QAAc5+B,EAC1BgrB,UAA0B,OAAf4T,GAAsB,IAAA3M,mBAAkBusI,EAAkB,aAAkBxzI,iBAAchrB,EAE7G,EAegC,EAAA4+J,sBAAAA,EAAvB,EAAAF,sBAbqB,SAACF,GAC3B,IAAMugI,EAAiBngI,EAAsBJ,GAE7C,OAAO,EAAP,GACIzzI,WAAY,IACTg0Q,GAAc,CACjBC,YAAaxgI,EAAkB,aAAkB5zI,YACjDq0Q,sBAAuBzgI,EAAkB,aAAkB3zI,aAC3DC,KAAK,IAAAg0Q,sBAAqBtgI,EAAkB,aAAkB1zI,MAC9DhK,aAAa,IAAAg+Q,sBAAqBtgI,EAAkB,aAAkB19I,eAE9E,C,q7BCzBA,kBACA,WACA,cAeMo+Q,EAAuC1lS,EAAMC,MAAK,SAACC,GAEjD,IAAAU,EAUAV,EAAK,UATLimC,EASAjmC,EAAK,gBARLuvF,EAQAvvF,EAAK,gBAPL0jR,EAOA1jR,EAAK,+BANLylS,EAMAzlS,EAAK,8BALL2yF,EAKA3yF,EAAK,iCAJLy3B,EAIAz3B,EAAK,SAHLoF,EAGApF,EAAK,SAFLmF,EAEAnF,EAAK,WADLqF,EACArF,EAAK,WAEL2B,EAAY,EAAAC,qBAAqBI,MA8BrC,OA5BI0hR,GAAkCjsP,IAClC91B,EAAY,EAAAC,qBAAqB+W,MAGjC8sR,GAAiChuQ,IACjC91B,EAAY,EAAAC,qBAAqBC,UAGjC8wF,GAAoCl7D,IACpC91B,EAAY,EAAAC,qBAAqBC,UAGjC0tF,GAAmB93D,IACnB91B,EAAY,EAAAC,qBAAqBs8C,aAGjC94C,GAAYqyB,IACZ91B,EAAY,EAAAC,qBAAqBkS,WAGjC3O,GAAcsyB,IACd91B,EAAY,EAAAC,qBAAqB0Q,QAGjCjN,IACA1D,EAAY,EAAAC,qBAAqBwQ,OAG9B,gBAAC,UAAU,CAAC1R,UAAWA,EAAWiN,OAAQs4B,EAAkB,EAAGtkC,UAAWA,GACrF,IAEA,UAAe6jS,C,2YChEf,eAOa,EAAAjjG,QAAU,SAAmBmjG,GAChC,SAAoC,IAAArhS,UAAYqhS,GAAqB,GAApEnzR,EAAa,KAAEC,EAAgB,KAEtC,OAAO,IAAAhO,UAAQ,WACX,MAAO,CACH+N,cAAa,EACbC,iBAAgB,EAExB,GAAG,CAACD,EAAeC,GACvB,C,q7BChBA,kBACA,WAEA,WACA,aACA,cACA,cACA,cACA,cACA,cACA,UAEA,WACA,WAeM7S,EAAK,UAAWC,KAAK,WAErB6jR,EAAiD3jR,EAAMC,MAAK,SAACC,G,QAE3DimC,EAQAjmC,EAAK,gBAPLsnC,EAOAtnC,EAAK,QANLilF,EAMAjlF,EAAK,SALLmvF,EAKAnvF,EAAK,qBAJLukF,EAIAvkF,EAAK,cAHLklF,EAGAllF,EAAK,uBAFLokN,EAEApkN,EAAK,0BADLkkN,EACAlkN,EAAK,0BAEDa,GAAM,IAAAC,kBAAgB,EAExB2Z,GAAS,IAAAgY,oBAET6xL,EAAyCxkN,EAAM6yB,WAAW,EAAA8qC,wCAE1Dv3B,EAAoB,UAAG,EAAAxmC,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBC,UACnFk+K,EAAkB,UAAG,EAAA7kN,WAAWymC,MAAK,YAAIF,EAAe,YAAI,EAAAG,qBAAqBk/C,QAEjFA,GAAS,IAAA/+C,mBAAkB9rB,EAAOK,OAAQypM,GAE1CU,EAAiD,QAAlC,EAAe,QAAf,EAAA39K,aAAO,EAAPA,EAAS8L,cAAM,eAAGnN,UAAgB,eAAEi/K,SAEzD,OACI,gCACI,gBAAC,UAAyB,CACtBtsM,KAAMstB,EACNn/B,MAAOlG,EAAE,0DACTwR,QAAS4yM,EAAepkN,EAAE,qDAAuD,OAEhF,SAACb,EAAO6yB,GAAiB,OACtB,uBAAKnyB,UAAWf,EAAG,QAAO,eAAgB2lF,GACtC,gBAAC,UAAU,CACP5kF,UAAWf,EAAG,eACd0lN,aAAW,EACXzsM,KAAMia,EAAaja,KACnB3T,MAAO4tB,EAAa5tB,MACpBS,YAAa7E,EAAE,gEACf6b,eAAgB,SAAC,G,IAAE+a,EAAQ,WAAEryB,EAAQ,WAAED,EAAU,aAAEE,EAAU,aAAO,OAChE,gBAAC,UAAkB,CACf4gC,gBAAiBA,EACjBxO,SAAUA,EACVryB,SAAUA,EACVD,WAAYA,EACZE,WAAYA,EACZq+Q,gCAA8B,GAP8B,EAUpE5mQ,SAAU,SAAC7X,G,MACPjF,EAAM8c,SAAS7X,GAEfigF,EAAuBjgF,EAAOghC,GAE9Bi+K,EAA0B5+H,IAAM,MAC3B,EAAAl/C,qBAAqBC,UAAWphC,E,IAGvB,OAAVA,GACAm/M,GAER,EACAh/M,SAAUpF,EAAMoF,SAChBD,WAAYnF,EAAMmF,WAClBI,QAAS,WACLvF,EAAMuF,WAEF++M,aAAsC,EAAtCA,EAAwCzmJ,4BACxCymJ,EAAuCzmJ,0BAA0B53B,EAEzE,EACA3gC,OAAQ,WACJtF,EAAMsF,UAEFg/M,aAAsC,EAAtCA,EAAwCzmJ,4BACxCymJ,EAAuCzmJ,0BAA0B,KAEzE,EACA7uD,UAAWmgF,EACXxuF,aAAckyB,EAAaja,KAC3Bo+D,mBAAoBnkD,EAAa5tB,MACjCsgN,eACIjB,aAAsC,EAAtCA,EAAwC1mJ,0BAA2B33B,IACnEq+K,aAAsC,EAAtCA,EAAwCpmJ,2BAE5CsnJ,kBAAmB7lN,EAAG,WAAY,CAC9B,+BAAgC4kF,MAGvCA,GACG,gBAAC,UAAqB,CAClB9iF,QAAS,WACLwjF,EAASh/C,EACb,IA9DU,IAsE1C,IAEA,UAAew9O,C,+BCrIf,WAAgB,eAAe,wCAAwC,OAAS,kCAAkC,SAAW,oC,+BCA7H,WAAgB,KAAO,6BAA6B,UAAY,kCAAkC,KAAO,6BAA6B,MAAQ,8BAA8B,YAAc,oCAAoC,OAAS,+BAA+B,OAAS,+BAA+B,OAAS,+BAA+B,SAAW,iC,q2BCDjW,kBAEA,WACA,YAMMkiB,EAAiC7lS,EAAMC,MAAK,SAACC,GACvC,IAAAa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAS,CAACJ,UAAWV,EAAMU,UAAWQ,MAAO,EAAAyS,mBAAmBrB,OAAQgC,eAAa,GACjFzT,EAAE,4BAGf,IAEA,UAAe8kS,C,q7BCnBf,kBAEA,cACA,aAMMhmS,EAAK,UAAWC,KAAK,WAIrBgmS,EAAiC9lS,EAAMC,MAAK,SAACC,GACvC,MAAoBA,EAAK,WAAzB07R,OAAU,IAAG,KAAE,EAEjBmK,EAAkBnK,EAAa,EAC/BtlR,EAAOslR,EAAamK,EAC1B,OACI,uBACInlS,UAAWf,EAAG,SACdwI,MAAO,CACH3G,MAAO,UAXT,EAWY4U,EAAY,MACtBtK,OAAQ,UAAG4vR,EAAU,MACrBlyR,QAAS,UAAGq8R,EAAe,UAG/B,uBAAKnlS,UAAWf,EAAG,mBAG/B,IAEA,UAAeimS,C,qRChCf,iBACA,aACA,cAEA,WAEa,EAAAze,8BAAgC,CACzCC,OAAQ,KAGZ,IAAM0e,EAAgC,IAAIh3Q,IAAY40B,OAAO5oC,OAAO,EAAAqsQ,gCAEvD,EAAAD,mBAAqB,SAC9B5vP,EACApP,EACAvO,GAEA,YAFA,IAAAA,IAAAA,EAAA,oBAEO,CAAC2d,EAAMpP,GACT8G,OAAOhmB,SACPqO,KAAI,SAAC86B,GACF,OAAIA,GAAQ2zP,EAA8B72Q,IAAIkjB,GACnCA,GAGJ,cAAO,IAAAggD,mBAAkBhgD,IAAOx4B,OAAOA,EAClD,IACC2V,KAAK,MACd,EAEa,EAAAqpL,eAAiB,SAACtyK,EAA2C40D,GACtE,YADsE,IAAAA,IAAAA,EAAA,KACjE50D,EAIE,CAACA,EAAS4hB,QAAS5hB,EAAS6hB,QAAS7hB,EAAS8hB,QAAS9hB,EAAS+hB,KAAM/hB,EAAS3f,SACjFsI,OAAOhmB,SACPsmB,KAAK2rE,GALC,EAMf,EAEa,EAAAjN,qBAAuB,SAAC/oF,GACjC,OAAI,aAAMA,GACC,GAEJA,EAAM8gS,WAAWn2O,QAAQ,0BAA2B,MAC/D,EAEa,EAAAo2O,kBAAoB,SAAC/gS,GAC9B,IAAI,aAAMA,GACN,MAAO,GAGX,IAAI,aAASA,GACT,OAAOA,EAGX,IAAI2uP,EAAO,GAQX,OAPI3uP,EAAQ,IACR2uP,EAAO,KAEP3uP,EAAQ,IACR2uP,EAAO,KAGJ,UAAGA,GAAI,OAAGz0O,KAAK81D,IAAIhwE,GAC9B,C,q7BChEA,kBAEA,cACA,cACA,cACA,cACA,cACA,cACA,cAEMtF,EAAK,UAAWC,KAAK,WAYrBqmS,EAAsCnmS,EAAMC,MAAK,SAACC,GAC5C,IAAAyM,EAAkBzM,EAAK,KAAjBQ,EAAYR,EAAK,QAE/B,OAAKyM,EAKD,gBAAC,UAAK,KACF,gBAAC,UAAY,CAACjM,QAASA,GACnB,uBAAKE,UAAWf,EAAG,UACf,gBAAC,UAAW,CAACe,UAAWf,EAAG,SAAUmkN,IAAKr3M,EAAKq3M,IAAKD,IAAKp3M,EAAKo3M,MAC9D,uBAAKnjN,UAAWf,EAAG,WACf,gBAAC,UAAkB,CACf8B,QAASjB,EACTkB,SAAU,gBAAC,UAAS,MACpBI,gBAAiB,EAAAC,oBAAoBC,YAZlD,IAmBf,IAEA,UAAeikS,C,6JC/Cf,kBACA,aACA,cAEA,cAEMtmS,EAAK,UAAWC,KAAK,WAYrBsmS,EAA+B,UAAMnmS,MAAK,SAACC,GACrC,IAAAU,EAAyEV,EAAK,UAAnE+D,EAA8D/D,EAAK,MAA5DqS,EAAuDrS,EAAK,QAAnDiU,EAA8CjU,EAAK,QAA1CoF,EAAqCpF,EAAK,SAAhCmF,EAA2BnF,EAAK,WAApBugE,EAAevgE,EAAK,WAEhFmmS,EAAoC,GAEtC/gS,GACA+gS,EAAUzuR,KACN,+BAAK/E,IAAI,QAAQjS,WAAW,aAAGf,EAAG,OAAQ,eAAgBe,GAAU,qBAAsBqD,GACrFA,IAKToB,GACAghS,EAAUzuR,KACN,+BAAK/E,IAAI,UAAUjS,WAAW,aAAGf,EAAG,OAAQ,iBAAkBe,IACzD2R,IAKTkuD,GACA4lO,EAAUzuR,KACN,+BAAK/E,IAAI,UAAUjS,WAAW,aAAGf,EAAG,OAAQ,iBAAkBe,IACzDuT,IAKb,IAAMmyR,EAAgB,+BAAKzzR,IAAI,QAAQjS,WAAW,aAAGf,EAAG,QAASe,KAEjE,OAAO,gDAAGylS,EAAUlkS,OAASkkS,EAAYC,EAC7C,IAEA,UAAeF,C,+BCnDf,WAAgB,cAAgB,uCAAuC,wBAAwB,+CAA+C,yBAAyB,gDAAgD,cAAgB,uCAAuC,wBAAwB,+CAA+C,0BAA0B,iDAAiD,yBAAyB,gDAAgD,OAAS,gCAAgC,SAAW,kC,o8BCD7hB,kBACA,WACA,WAQa,EAAAG,qBAAkB,MAC1B,EAAAv1P,kBAAkBE,OAAQ,IAC3B,EAAC,EAAAF,kBAAkBC,OAAQ,K,GAGlB,EAAAgxK,0BAAuB,MAC/B,EAAAjxK,kBAAkBE,OAAQ,iCAC3B,EAAC,EAAAF,kBAAkBC,OAAQ,kC,GAGlB,EAAAu1P,mCAAkF,CAC3FltB,OAAQ,iCACRC,OAAQ,mCAGZ,IAAMktB,EAAuCzmS,EAAMC,MAAK,SAACC,GAC7C,IAAAyxC,EAA6BzxC,EAAK,cAAnBstD,EAActtD,EAAK,UAElCa,GAAM,IAAAC,kBAAgB,EAE9B,OAAK2wC,EAID6b,EACO,4BAAO,EAAA+4O,mBAAmB50P,IAG9B,4BAAO5wC,EAAE,EAAAkhN,wBAAwBtwK,KAP7B,IAQf,IAEA,UAAe80P,C,kuCCzCf,kBACA,WAEA,aACA,cAEA,cAEA,aACA,aACA,WACA,WACA,cACA,cA8BMC,EAA6C1mS,EAAMC,MAAK,SAACC,GACnD,IAAAkjC,EAAgDljC,EAAK,IAAhDymS,EAA2CzmS,EAAK,iBAA9BU,EAAyBV,EAAK,UAAnB0mS,EAAc1mS,EAAK,UAEvD2mS,GAAkB,IAAAniS,UAAQ,W,MAC5B,OAAgB,QAAT,EAAA0+B,aAAG,EAAHA,EAAKtd,YAAI,eAAEoJ,OAAO,EAAA4/B,YAAa,EAC1C,GAAG,CAAC1rB,aAAG,EAAHA,EAAKtd,OAEHghR,EAAgBD,EAAgB1kS,OAAS,EAEzC,IAAoBnC,EAAMuE,YAAoB6+B,aAAG,EAAHA,EAAKytJ,iBAAe,GAAjE55J,EAAM,KAAE8vQ,EAAO,KAEhB7oB,GAAS,IAAAh4Q,cAAY,WACvB6gS,GAAQ,SAAC9vQ,GAAW,OAACA,CAAD,GACxB,GAAG,CAAC8vQ,IAEEC,GAAe,aAAQ5jQ,EAAIj+B,SAAU,aAAQi+B,EAAI3iC,WAEjDwmS,EAAsB,gBAAS7jQ,EAAIviC,aAAY,QAE/CqmS,GAAmB9jQ,EAAInqB,aAAemqB,EAAIj+B,MAEhD,OACI,gCACI,uBACIvE,WAAW,aACPf,EAAG,YAAa,CACZ,iCAAkCinS,GAAiB7vQ,IAEvDr2B,EACAq2B,EAASmM,EAAI8gQ,gBAAkB9gQ,EAAI+jQ,iBAEvC9+R,MAAO,CACHw6C,YAAa,UAAG,GAAK+jP,EAAS,QAGjCD,GACG,uBACI/lS,UAAWf,EAAG,aAAc,sBAAqB,qBAC7B,UAAGonS,EAAmB,UAEzC7jQ,EAAI/2B,MAGb,uBACIzL,UAAWf,EAAG,aAAc,qBAAsB,CAC9C,8BAA+BujC,EAAIsZ,gBACnC,qBAAsBtZ,EAAIgkQ,WAC1B,2BAA4BF,IAC9B,qBACkB,UAAGD,EAAmB,UAEzC7jQ,EAAItqB,OAEPsqB,EAAInqB,YAAcmqB,EAAIj+B,OAASi+B,EAAIl0B,YACjC,uBACItO,UAAWf,EAAG,aAAc,sBAAuB,CAC/C,8BAA+BujC,EAAIsZ,gBACnC,sBAAuBsqP,EACvB,qBAAsB5jQ,EAAIlqB,cAC5B,qBACkB,UAAG+tR,EAAmB,WAEzC7jQ,EAAIl0B,UACD,gBAAC,UAAiB,CAACoH,KAAM,EAAAC,kBAAmB1U,UAAW,EAAAC,qBAAqBsS,cAE5E,gCAAG4yR,EAAe5jQ,EAAInqB,WAAamqB,EAAIj+B,SAIjDi+B,EAAIikQ,qBAAuBjkQ,EAAI3iC,YAC7B,uBACIG,UAAWf,EAAG,aAAc,0BAA2B,CACnD,+BAA+B,EAC/B,8BAA+BujC,EAAIsZ,gBACnC,sBAAuBsqP,EACvB,qBAAsB5jQ,EAAIqZ,kBAC5B,qBACkB,UAAGwqP,EAAmB,gBAE1C,gCAAGD,EAAe5jQ,EAAIikQ,oBAAsBjkQ,EAAI3iC,YAGvD2iC,EAAIkkQ,aACJR,GACG,uBACIlmS,UAAWf,EAAG,aAAc,wBAAyB,CACjD,8BAA+BujC,EAAIsZ,kBACrC,qBACkB,wBAAiBtZ,EAAIviC,eAEzC,gBAAC,UAAkB,CACf8yG,OAAO,KACPhyG,QAASu8Q,EACTt8Q,SAAU,gBAAC,UAAU,CAACC,UAAW,EAAAC,qBAAqBsS,YAAa6U,SAAUgO,IAC7Ej1B,gBAAiB,EAAAC,oBAAoBC,UAKpD+0B,GAAU6vQ,GAAiB,gBAACS,EAAa,CAACzhR,KAAM+gR,EAAiBD,UAAWA,EAAY,IAGrG,IAQMW,EAA+CvnS,EAAMC,MAAK,SAACC,GACrD,IAAA0nB,EAAuC1nB,EAAK,kBAAzB0mS,EAAoB1mS,EAAK,UAAd4lB,EAAS5lB,EAAK,KAE9CsnS,GAAe,IAAA9iS,UAAQ,WACzB,OAAOohB,EAAKoJ,OAAO,EAAA4/B,SACvB,GAAG,CAAChpC,IAEE6gR,GAAmB,IAAAjiS,UAAQ,WAC7B,OAAOkjB,GAAqB4/Q,EAAar2N,MAAK,SAAC/tC,GAAQ,QAAEA,EAAI/2B,IAAN,GAC3D,GAAG,CAACm7R,EAAc5/Q,IAElB,OAAI,aAAQ4/Q,GACD,KAIP,gCACKA,EAAajwR,KAAI,SAAC6rB,EAAKm3G,GACpB,OACI,gBAACmsJ,EAAY,CAAC7zR,IAAK0nI,EAAUn3G,IAAKA,EAAKwjQ,UAAWA,EAAWD,iBAAkBA,GAEvF,IAGZ,IASM9mS,EAAK,UAAWC,KAAK,WAErB2nS,EAA8BznS,EAAMC,MAAK,SAACC,GACpC,IAAA4lB,EAAqD5lB,EAAK,KAApD0nB,EAA+C1nB,EAAK,kBAAjCU,EAA4BV,EAAK,UAAtBW,EAAiBX,EAAK,aAE5DwnS,EAAwB,UAAG7mS,EAAY,eAEvC2mS,GAAe,IAAA9iS,UAAQ,WACzB,OAAOohB,EAAKoJ,OAAO,EAAA4/B,SACvB,GAAG,CAAChpC,IAEJ,OAAI,aAAQ0hR,GACD,KAIP,uBAAK5mS,WAAW,aAAGf,EAAG,QAASe,GAAU,qBAAsB8mS,GAC3D,gBAACH,EAAa,CAAC3/Q,kBAAmBA,EAAmB9B,KAAM0hR,EAAcZ,UAAW,IAGhG,IAEA,UAAea,C,yEChNf,eAEA,WA0BA,UAxBiC,SAACjuR,GAC9B,IAAMmuR,GAAgC,IAAAlvQ,mBAAkBjf,EAAW,EAAA5Z,WAAW+nS,gCACxEC,GAAiC,IAAAnvQ,mBAAkBjf,EAAW,EAAA5Z,WAAWgoS,iCACzEC,GAAgC,IAAApvQ,mBAAkBjf,EAAW,EAAA5Z,WAAWioS,gCACxEC,GAAoB,IAAArvQ,mBAAkBjf,EAAW,EAAA5Z,WAAWkoS,oBAC5DC,GAAoB,IAAAtvQ,mBAAkBjf,EAAW,EAAA5Z,WAAWmoS,oBAC5DC,GAAoB,IAAAvvQ,mBAAkBjf,EAAW,EAAA5Z,WAAWooS,oBAC5DC,GAAkB,IAAAxvQ,mBAAkBjf,EAAW,EAAA5Z,WAAWqoS,kBAC1DC,GAAuB,IAAAzvQ,mBAAkBjf,EAAW,EAAA5Z,WAAWsoS,uBAC/DC,GAAoB,IAAA1vQ,mBAAkBjf,EAAW,EAAA5Z,WAAWuoS,oBAElE,MAAO,CACHC,kCAAmCT,aAA6B,EAA7BA,EAA+B1B,WAClEoC,mCAAoCT,aAA8B,EAA9BA,EAAgC3B,WACpEqC,kCAAmCT,aAA6B,EAA7BA,EAA+B5B,WAClEsC,qBAAsBT,aAAiB,EAAjBA,EAAmB7B,WACzCuC,qBAAsBT,aAAiB,EAAjBA,EAAmB9B,WACzCwC,qBAAsBT,aAAiB,EAAjBA,EAAmB/B,WACzCyC,mBAAoBT,aAAe,EAAfA,EAAiBhC,WACrC0C,uBAAwBT,aAAoB,EAApBA,EAAsBjC,WAC9C2C,oBAAqBT,aAAiB,EAAjBA,EAAmBlC,WAEhD,C,sBCvBA,IAAYrmS,EAcAipS,E,4FAdZ,SAAYjpS,GACR,cACA,sBACA,gBACA,qBACH,CALD,CAAYA,IAAU,aAAVA,EAAU,KActB,SAAYipS,GACR,gBACA,qBACH,CAHD,CAAYA,IAAoB,uBAApBA,EAAoB,I,oMCfhC,cAEM/6R,EAAqB,SAAClK,EAAuBoB,GAC/C,OAAKA,GAIEpB,EAAMsgM,gBAAgBl/L,IAHlB,EAAAq6D,kCAIf,EAEa,EAAAghJ,2BAA6B,SAACr7M,GACvC,OAAO,SAACpB,GACJ,OAAOkK,EAAmBlK,EAAOoB,GAAWkJ,KAChD,CACJ,EAEa,EAAA22P,2BAA6B,SAAC7/P,GACvC,OAAO,SAACpB,GAAiE,OAAAkK,EAAmBlK,EAAOoB,GAAWmB,KAArC,CAC7E,EAEa,EAAAg6M,2BAA6B,SAACn7M,GACvC,OAAO,SAACpB,GAAiE,OAAAkK,EAAmBlK,EAAOoB,GAAWqJ,KAArC,CAC7E,EAEa,EAAAkyM,2BAA6B,SAACv7M,GACvC,OAAO,SAACpB,GAAgE,OAAAkK,EAAmBlK,EAAOoB,GAAWuJ,IAArC,CAC5E,C,8lCC5BA,kBAMMu6R,EAAiC,SAAC5oS,GACpC,OACI,yBACIoR,MAAM,6BACN48C,WAAW,+BACXxsD,MAAO,IACPsK,OAAQ,IACRuF,QAAQ,eACJrR,GAEJ,4BACI,wBAAMkM,GAAG,YAAYqF,EAAE,8EAE3B,qBAAG/E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,oBACR,wBACI/E,KAAK,UACL+E,EAAE,gQACF4E,QAAS,KAEb,wBACI1E,OAAO,UACPC,cAAc,QACdC,eAAe,QACfC,YAAa,IACbL,EAAE,6DAEN,2BACI5R,GAAI,GACJ8qB,GAAI,IACJje,KAAK,UACLgF,YAAa,GACbC,OAAO,UACPC,cAAc,QACdE,YAAa,IACb8Y,GAAI,GACJC,GAAI,IAER,wBACIne,KAAK,OACLiF,OAAO,UACPC,cAAc,QACdE,YAAa,IACbL,EAAE,qHAEN,qBAAGE,OAAO,UAAUC,cAAc,QAAQE,YAAa,IAAK/H,UAAU,oBAClE,2BAASlK,GAAI,GAAI8qB,GAAI,EAAGje,KAAK,OAAOke,GAAI,GAAIC,GAAI,IAChD,2BAAShrB,GAAI,GAAI8qB,GAAI,EAAGje,KAAK,UAAUgF,YAAa,GAAKkZ,GAAI,GAAIC,GAAI,KAEzE,qBAAG9gB,UAAU,oBACT,wBAAMqC,GAAG,YAAYM,KAAK,QACtB,uBAAKgf,UAAU,gBAEnB,qBAAGqN,KAAK,mBACJ,wBACIrsB,KAAK,OACLiF,OAAO,UACPC,cAAc,QACdE,YAAa,IACbL,EAAE,gMAEN,wBACI/E,KAAK,UACLgF,YAAa,GACbD,EAAE,gKAEN,wBACI/E,KAAK,OACLiF,OAAO,UACPG,YAAa,IACbL,EAAE,gLAEN,wBACIE,OAAO,UACPC,cAAc,QACdC,eAAe,QACfC,YAAa,IACbL,EAAE,+CAEN,wBACIE,OAAO,UACPC,cAAc,QACdC,eAAe,QACfE,cAAe,GACfD,YAAa,IACbL,EAAE,0EAId,qBAAGE,OAAO,UAAUG,YAAa,IAAK/H,UAAU,oBAC5C,2BAASlK,GAAI,EAAG8qB,GAAI,IAAKje,KAAK,UAAUgF,YAAa,GAAKkZ,GAAI,EAAGC,GAAI,QACrE,wBAAMjZ,cAAc,QAAQH,EAAE,+CAElC,wBACIE,OAAO,UACPC,cAAc,QACdC,eAAe,QACfC,YAAa,IACbL,EAAE,iCACF4E,QAAS,MAK7B,EAEAyyR,EAAa92R,YAAc,eAIlB,EAAAC,WAFkB,CAAC,EAG5B,UAAe62R,C,+BCpHf,WAAgB,aAAa,sCAAsC,OAAS,kCAAkC,SAAW,oC,+BCAzH,WAAgB,KAAO,8CAA8C,OAAS,gDAAgD,SAAW,kD,8OCDzI,eAoBa,EAAAtgL,aAAe,SAACnmH,GAAiD,OAC1Ec,KAAM,EAAA6qM,sBACN3rM,QAAO,EAFmE,EAKjE,EAAA0mS,kBAAoB,WAAgC,OAC7D5lS,KAAM,EAAA8qM,4BADuD,EAIpD,EAAA+6F,oBAAsB,SAACpyJ,GAAgE,OAChGzzI,KAAM,EAAAgrM,8BACNv3D,eAAc,EAFkF,EAKvF,EAAAqyJ,kBAAoB,SAAChlS,GAA2C,OACzEd,KAAM,EAAA+qM,4BACNjqM,MAAK,EAFoE,EAKhE,EAAAilS,cAAgB,SAACn+Q,EAAmBm4M,GAA0D,OACvG//N,KAAM,EAAAirM,uBACN80B,eAAc,EACdn4M,QAAO,EAHgG,EAM9F,EAAAo+Q,mBAAqB,WAAiC,OAC/DhmS,KAAM,EAAAkrM,6BADyD,EAItD,EAAA+6F,qBAAuB,SAACxyJ,GAAiE,OAClGzzI,KAAM,EAAAorM,+BACN33D,eAAc,EAFoF,EAKzF,EAAAyyJ,mBAAqB,SAACplS,GAA4C,OAC3Ed,KAAM,EAAAmrM,6BACNrqM,MAAK,EAFsE,C,83BCtD/E,kBACA,WAKA,WACA,WAoBS,EAAAg2G,gBAlBe,WACpB,IAAMxlF,GAAW,IAAAC,eAEXw+E,GAAsB,IAAAh9F,aAAY,EAAA8jE,2BAClCF,GAAe,IAAA5jE,aAAY,EAAA6jE,oBAC3BmgC,GAAmB,IAAAhkG,aAAY,EAAAm6B,wBAMrC,OAJArwC,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmb,qBACb,GAAG,CAACnb,IAEG,CACHqlD,aAAY,EACZogC,iBAAgB,EAChBhH,oBAAmB,EAE3B,C,q7BCzBA,kBAEA,cAEA,cAEA,WACA,cACA,WACA,WACA,cACA,cACA,cACA,cACA,WACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,WACA,aACA,UAEA,WACA,WACA,WACA,WAOA,cACA,aAGA,UAEMrzG,EAAK,UAAWC,KAAK,WAIrBwpS,EAA6CtpS,EAAMC,MAAK,WAC1D,IACQsyD,GADO,IAAA/iB,aACiB,cAE1Bm7K,GAAuB,IAAAC,+BAEvB90K,GAAa,eACbC,EAAyB/1C,EAAM0E,SAAQ,WACzC,MAAO,CACHoxC,WAAU,EAElB,GAAG,CAACA,IAEI/0C,GAAM,IAAAC,kBAAgB,EAExBs8E,GAAuB,IAAApnE,aAAY,EAAAqnE,qCACnCC,GAAsB,IAAAtnE,aAAY,EAAAunE,oCAClCL,GAAuB,IAAAlnE,aAAY,EAAAmnE,qCACnC4L,GAAqB,IAAA/yE,aAAY,EAAAqjP,mCACjCnvP,GAAU,IAAA8L,aAAY,EAAAojP,wBAEtB7kO,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAA80Q,eAAc,CAAEh3O,cAAa,IAC1C,GAAG,CAACA,EAAe99B,IAEnB,IAAM/pB,EAAc,YAChB,IAAA+/C,oBAAkB,WACT8H,EAKL,UAAQ36C,KAAK,EAAAyQ,WAAW4gE,mBAAmB12B,KAJvC,IAAA39B,YAAW,sBAKnB,GACJ,EAEA50B,EAAMoL,WAAU,WAGZ,OAFAqpB,GAAS,IAAAmV,uBAEF,WACHnV,GAAS,IAAA+0Q,iBAAgB,CAAEj3O,cAAa,IAC5C,CAGJ,GAAG,KAEH,cAAqB,WACb+qB,EAAqBl5E,IACrBsG,GAER,GAAG,CAAC4yE,EAAqBl5E,MAEzB,cAAqB,WACbo5E,EAAoBp5E,IACpBsG,GAER,GAAG,CAAC8yE,EAAoBp5E,KAExB,IAAMqlS,EAAczpS,EAAMkG,aAAY,WAC9BqsD,GACA99B,GAAS,IAAA80Q,eAAc,CAAEh3O,cAAa,IAE9C,GAAG,CAACA,EAAe99B,IAEnB,OACI,gBAAC,EAAAgrD,iCAAiCzpC,SAAQ,CAAC7wC,MAAOwlN,GAC9C,gBAAC,UAAiB30K,SAAQ,CAAC7wC,MAAO4wC,GAC9B,gBAAC,UAAS,CACN51C,MAAOY,EAAE,sCAAuC,CAC5C8M,QAAQo7E,aAAkB,EAAlBA,EAAoBp7E,SAAU,OAG9C,gBAAC,UAAuB,CACpBhN,aAAa,aACbD,UAAWf,EAAG,QACdo2C,gBAAiBl1C,EAAE,6CACnBm1C,eACI,gBAAC,UAAwB,KACrB,gBAAC,UAAmB,KAChB,gBAAC,UAAoB,CACjB/1C,MAAOY,EAAE,gCAAiC,CACtC8M,QAAQo7E,aAAkB,EAAlBA,EAAoBp7E,SAAU,KAE1CnN,QAASgK,IAEb,gBAAC,UAA0B,CACvBhH,cAAe05E,EACfniB,cAAe/xD,QAAQ+/E,GACvB/tB,kBAAmBsiB,EAAoBz5E,SAAWu5E,EAAqBv5E,WAG/E,gBAAC,UAAa,KACV,gBAAC,UAAoB,CACjBL,cAAe05E,EACfniB,cAAe/xD,QAAQ+/E,GACvB58C,QAASo9P,EACTtuO,kBAAmB,WAElB8tB,EACG,gBAAC,UAAa,CACV12B,cAAeA,EACfnoD,QAASA,EACTuE,SAAUjE,IAEd,QAKpB4rC,iBAAkBv1C,EAAE,0CACpBw1C,gBACI,uBAAK31C,UAAWf,EAAG,cACf,uBAAKe,UAAWf,EAAG,QACf,gBAAC,UAAY,CAACgT,IAAK0/C,EAAenoD,QAASA,SAM/D,gBAAC,UAAQ,MAGrB,IAEA,UAAek/R,C,6GC3Kf,eACA,WAEa,EAAAhrL,2BAA6B,SACtCr1B,EACAh8D,G,MAEMy8Q,GAAa,IAAApnH,cAAar5F,EAAoBh8D,GAEpD,OACyB,QAArB,EAAAy8Q,aAAU,EAAVA,EAAYp/Q,iBAAS,eAAE4E,QAAO,SAACxO,GAC3B,OACIA,aAAQ,EAARA,EAAUvd,QAAS,EAAA0d,aAAaW,yBAA0Bd,aAAQ,EAARA,EAAUvd,QAAS,EAAA0d,aAAaU,WAElG,MAAM,EAEd,C,y3BCjBA,kBACA,WAMMooR,EAA6B,SAACzpS,GACxB,IAAA2B,EAAc3B,EAAK,UAE3B,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAM,KAAKsK,OAAO,KAAKuF,QAAQ,aACnE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,kBACR,wBACI/E,KAAM7K,EACN4P,EAAE,4MAKtB,EAEAk4R,EAAS33R,YAAc,WAEvB,IAAMC,EAAqB,CACvBpQ,UAAW,EAAAC,qBAAqBsS,aAG3B,EAAAnC,WAAAA,EACT,UAAe03R,C,6KC9Bf,cAea,EAAA16N,cAAgB,SACzBt6D,EACAxO,EACAnB,EACA3C,GACuB,OACvBc,KAAM,EAAA+5F,wBACN/2F,MAAK,EACLwO,WAAU,EACV3P,UAAS,EACT3C,QAAO,EALgB,EAQd,EAAAunS,mBAAqB,SAC9BzjS,EACAwO,EACA3P,GAC4B,OAC5B7B,KAAM,EAAAg6F,8BACNh3F,MAAK,EACLwO,WAAU,EACV3P,UAAS,EAJmB,EAOnB,EAAA6kS,qBAAuB,SAChC1jS,EACAwO,EACAI,EACA/P,GAC8B,OAC9B7B,KAAM,EAAAk6F,gCACNl3F,MAAK,EACL4O,aAAY,EACZJ,WAAU,EACV3P,UAAS,EALqB,EAQrB,EAAA8kS,mBAAqB,SAC9B3jS,EACAwO,EACA1Q,EACAe,GAC4B,OAC5B7B,KAAM,EAAAi6F,8BACNj3F,MAAK,EACLlC,MAAK,EACL0Q,WAAU,EACV3P,UAAS,EALmB,EAQnB,EAAA+kS,UAAY,SAAC/kS,EAAuBoQ,GAAgE,OAC7GjS,KAAM,EAAAm6F,WACNt4F,UAAS,EACToQ,oBAAmB,EAH0F,C,+BChEjH,WAAgB,OAAS,oCAAoC,aAAa,wCAAwC,cAAc,yCAAyC,SAAW,sCAAsC,MAAQ,mCAAmC,MAAQ,mCAAmC,OAAS,oCAAoC,SAAW,sC,y3BCDxW,kBACA,WASM40R,EAAgC,SAAC9pS,GAC3B,IAAAoW,EAA8CpW,EAAK,KAA7C2B,EAAwC3B,EAAK,UAAlCwR,EAA6BxR,EAAK,YAArB0W,EAAgB1W,EAAK,YAE3D,OACI,uBAAKoR,MAAM,6BAA6B5P,MAAO4U,EAAMtK,OAAQsK,EAAM/E,QAAQ,aACvE,qBAAG7E,KAAK,OAAO8E,SAAS,WACpB,wBAAMC,EAAE,gBAAgB4E,QAAQ,SAChC,wBACI3J,KAAM7K,EACN6P,YAAaA,GAAe,MAC5BD,EAAE,0DAEN,wBACI/E,KAAMkK,EACNnF,EAAE,4TAKtB,EAEAu4R,EAAYh4R,YAAc,cAE1B,IAAMC,EAAqB,CACvBqE,KAAM,EAAAC,kBACN1U,UAAW,EAAAC,qBAAqBI,MAChC0U,YAAa,EAAA9U,qBAAqB+W,MAG7B,EAAA5G,WAAAA,EACT,UAAe+3R,C,mqDCxCf,kBAGA,WACA,WACA,cACA,WAEA,WACA,cAGA,WACA,cACA,cACA,cACA,UAmBMC,EAAyCjqS,EAAMC,MAAK,SAACC,G,QAEnDU,EAWAV,EAAK,UAVLgP,EAUAhP,EAAK,UATLQ,EASAR,EAAK,QARL6xD,EAQA7xD,EAAK,aAPL8xD,EAOA9xD,EAAK,gBANLkwD,EAMAlwD,EAAK,SALL4rN,EAKA5rN,EAAK,sBAJLgqS,EAIAhqS,EAAK,gBAHLiD,EAGAjD,EAAK,KAFL+xD,EAEA/xD,EAAK,yBADL+uD,EACA/uD,EAAK,4BAEHivG,EAAkBnvG,EAAM6yB,WAAW,WACnCs3Q,EACyG,QAA3G,EAAyC,QAAzC,EAAAh7L,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,EAAAjoB,kBAAkBq3L,qDAA6C,SAGzGh9I,GAA4B,IAAA4B,gCAE5B3yD,EAAc1wE,EAAM0E,SAAQ,WAC9B,IAAMigE,EAAMC,KAAKD,MAEjB,OAAQvU,GAAY,IAAInO,QACpB,SAAC50C,EAAQq0H,GACL,IAAMC,EAAoB,YAATx+H,EAAqBu+H,EAAcnrD,gBAAkBmrD,EAAcrrD,cAC9EwrD,EAAkB,YAAT1+H,EAAqBu+H,EAAclrD,cAAgBkrD,EAAcprD,YAE1EpuE,GAAQ,IAAAqjN,gCAA+B5pF,GACvC11H,GAAM,IAAAs/M,gCAA+B1pF,GAErCE,GAAeL,aAAa,EAAbA,EAAevtE,4BAA6B,GAC3D9uD,EAAaq8H,aAAa,EAAbA,EAAer8H,WAElC,GAAI6C,GAAS+D,EAAK,CACd,IAAM61H,EAAsB,CACxB11H,GAAIs1H,EAAct1H,GAClBO,KAAM+0H,EACNx5H,MAAK,EACL+D,IAAG,EACHN,eAAe,GAGnB,GAAI+1H,EAAcR,YAAc,EAAAC,6BAA6Ba,mBAAoB,CAC7E,IAAMC,EAAc/5H,GAASy8D,GAAO14D,GAAO04D,EAE3Ct3D,EAAOuK,KAAK,EAAD,OACJkqH,GACAL,EAA0BO,mBAAmB,CAC5CC,YAAW,EACX58H,WAAU,KACZ,CACFkD,aAAc,EAAAlH,iBAAiBC,MAC/BgH,cACI6hS,GAA4Cl4O,EACtC,WAAM,OACF,gBAAC,UAAc,CAAC7wD,MAAO,EAAAK,wBAAwBH,OAC3C,gBAAC,UAAoC,CACjCqN,SAAU,WACNsjD,EAAyByvE,EAC7B,IALN,OASNl7H,IAElB,CA4BA,GA1BIk7H,EAAcR,YAAc,EAAAC,6BAA6B18G,WACnDw9G,EAAc/5H,GAASy8D,GAAO14D,GAAO04D,EAE3Ct3D,EAAOuK,KAAK,EAAD,OACJkqH,GACAL,EAA0BS,WAAW,CACpCD,YAAW,EACXF,aAAY,EACZ18H,WAAU,KACZ,CACFkD,aAAc,EAAAlH,iBAAiBC,MAC/BgH,cACI2mD,GACA,WAAO,OACH,gBAAC,UAAc,CAAC7tD,MAAO,EAAAK,wBAAwBH,OAC3C,gBAAC,UAAwB,CACrB6oH,WAAW,kBACXxoH,QAAS,WACLstD,EAA4ByyE,EAChC,IAGX,MAITA,EAAcR,YAAc,EAAAC,6BAA6B5uD,SAAU,CACnE,IAAM,GAAemvD,aAAa,EAAbA,EAAevtE,4BAA6B,GAE3D7rD,EACF2mD,GACA,WAAO,OACH,gBAAC,UAAc,CAAC7tD,MAAO,EAAAK,wBAAwBH,OAC3C,gBAAC,UAAwB,CACrB6oH,WAAW,kBACXxoH,QAAS,WACLstD,EAA4ByyE,EAChC,IAGX,EAEDx5H,GAASy8D,GAAO14D,GAAO04D,EACvBt3D,EAAOuK,KAAK,EAAD,OACJkqH,GACAL,EAA0Br5G,GAAG,CAC5B65G,aAAa,EACbF,aAAY,EACZ18H,WAAU,KACZ,CACFkD,aAAc,EAAAlH,iBAAiBC,MAC/BgH,cAAa,KAEVq8D,GAAOz8D,GAASy8D,GAAO14D,EAC9BoB,EAAOuK,KAAK,EAAD,OACJkqH,GACAL,EAA0Br5G,GAAG,CAC5B65G,aAAa,EACbF,aAAY,EACZ18H,WAAU,KACZ,CACFkD,aAAc,EAAAlH,iBAAiBC,MAC/BgH,cAAa,KAGjB+E,EAAOuK,KAAK,EAAD,OACJkqH,GACAL,EAA0BW,aAAa,CACtCL,aAAY,EACZ18H,WAAU,KACZ,CACFkD,aAAc,EAAAlH,iBAAiBC,MAC/BgH,cAAa,IAGzB,CACJ,CAEA,OAAO+E,CACX,GACAy+M,EAAwB,EAAD,KAAKA,IAAqB,GAAI,GAE7D,GAAG,CACC17J,EACAjtD,EACAs+H,EACAqqF,EACAq+E,EACAl4O,EACAhD,IAGEqzE,GAAuB,IAAAgB,2BAEvBU,EAAQhkI,EAAM0E,SAAQ,WACxB,OAAQ0rD,GAAY,IAAInO,QACpB,SAAC50C,EAAQq0H,GACL,IAAMC,EAAoB,YAATx+H,EAAqBu+H,EAAcnrD,gBAAkBmrD,EAAcrrD,cAC9EwrD,EAAkB,YAAT1+H,EAAqBu+H,EAAclrD,cAAgBkrD,EAAcprD,YAE1EpuE,GAAQ,IAAAqjN,gCAA+B5pF,GACvC11H,GAAM,IAAAs/M,gCAA+B1pF,GAE3C,GAAI35H,GAAS+D,EAAK,CACd,IAAM61H,EAAsB,CACxB11H,GAAIs1H,EAAct1H,GAClBO,KAAM+0H,EACNx5H,MAAK,EACL+D,IAAG,EACHN,eAAe,GAGf+1H,EAAcR,YAAc,EAAAC,6BAA6BoB,UACzDl1H,EAAOuK,KAAK,EAAD,KACJkqH,GACAQ,EAAqBC,YAGpC,CAEA,OAAOl1H,CACX,GACA68R,EAAkB,EAAD,KAAKA,IAAe,GAAI,GAEjD,GAAG,CAAC95O,EAAUjtD,EAAMm/H,EAAsB4nK,IAEpCnmK,EAAS/jI,EAAM0E,SAAQ,WACzB,MAAO,CACH,CACIgsE,YAAW,GAGvB,GAAG,CAACA,IAEJ,OACI,gBAAC,UAAe,CACZ9vE,UAAWA,EACXsO,UAAWA,EACXxO,QAASA,EACT+4N,kBAAmB1nK,EACnBgyE,OAAQA,EACRC,MAAOA,EACPM,qBAAsBtyE,GAAmB,MAGrD,IAEA,UAAei4O,C,+BC3Pf,WAAgB,MAAQ,2BAA2B,OAAS,4BAA4B,SAAW,8B,+BCAnG,WAAgB,OAAS,0CAA0C,OAAS,0CAA0C,SAAW,4C,+UCDjI,eACA,WAKA,UACA,WAQa,EAAAG,oBAA8C,SAACC,EAAiBhoS,G,UACnEioS,EAAmB,CAAC,EAE1B,OAAQD,EAAgBxmS,QACpB,KAAK,EAAAy7J,uBAAuBI,wBACxB,IAAM6qI,EACoEF,EAE1E,OAAIhoS,EAAQwK,cAAgB,EAAAK,gBAAgBke,SAA+C,cAAb,QAAvB,EAAAm/Q,EAAmB59R,YAAI,eAAE2c,QACrE,EAAP,OACOghR,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBG,kBAC/B+qI,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAInD,EAAP,OACOw7O,GACAC,GAAkB,CACrBC,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAG1D,KAAK,EAAAwwG,uBAAuBC,gBAO5B,KAAK,EAAAD,uBAAuBE,iBAO5B,KAAK,EAAAF,uBAAuBM,qBAO5B,KAAK,EAAAN,uBAAuBO,aACxB,OAAO,EAAP,OACkEwqI,GAC3DC,GAAgB,CACnBE,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAG1D,KAAK,EAAAwwG,uBAAuBQ,oBAClByqI,EACgEF,EADtE,IAGMI,EAA6B,OAC5BH,GAAgB,CACnBE,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAGtD,OAAO,EAAP,OACO27O,GACAF,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBQ,sBAGvC,KAAK,EAAAR,uBAAuBS,iEAY5B,KAAK,EAAAT,uBAAuBY,iEAMxB,OALMqqI,EAEEF,EAGD,EAAP,OACOC,GACAC,GAAkB,CACrBC,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAG1D,KAAK,EAAAwwG,uBAAuBorI,kDAMxB,OAA2B,QAAvB,GALEH,EAEEF,GAGe19R,YAAI,eAAE2tF,iCAClB,EAAP,OACOgwM,GACAC,GAAkB,CACrBC,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,UAClDjrD,OAAQ,EAAAy7J,uBAAuBkB,8CAIZ,QAAvB,EAAA+pI,EAAmB59R,YAAI,eAAE4tF,6BAClB,EAAP,OACO+vM,GACAC,GAAkB,CACrBC,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,UAClDjrD,OAAQ,EAAAy7J,uBAAuBmB,yCAIhC,EAAP,OACO6pI,GACAC,GAAkB,CACrBC,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAG1D,KAAK,EAAAwwG,uBAAuBoB,cACxB,OAAO,EAAP,OACmE2pI,GAC5DC,GAAgB,CACnBE,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAG1D,KAAK,EAAAwwG,uBAAuBa,oCAU5B,KAAK,EAAAb,uBAAuBe,iDAY5B,KAAK,EAAAf,uBAAuBqrI,4BAU5B,KAAK,EAAArrI,uBAAuBsrI,UAS5B,KAAK,EAAAtrI,uBAAuBqB,YAS5B,KAAK,EAAArB,uBAAuBurI,eAS5B,KAAK,EAAAvrI,uBAAuBwrI,cAS5B,KAAK,EAAAxrI,uBAAuB0B,aAS5B,KAAK,EAAA1B,uBAAuB2B,kBAS5B,KAAK,EAAA3B,uBAAuB6B,iBAS5B,KAAK,EAAA7B,uBAAuByrI,gBAS5B,KAAK,EAAAzrI,uBAAuB4B,gBAGxB,OAFMqpI,EAAmFF,EAElF,EAAP,OACOC,GACAC,GAAkB,CACrBC,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAG1D,KAAK,EAAAwwG,uBAAuBgC,iBAGxB,OAFMipI,EAAoFF,EAEtD,0BAAhCA,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB2C,8BAC/BuoI,WAAY,KAIgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBqC,yBAC/B6oI,WAAY,KAIgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBgD,yBAC/BkoI,WAAY,KAIb,EAAP,OACOF,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBgC,iBAC/BkpI,WAAY,KAGpB,KAAK,EAAAlrI,uBAAuBiC,mBAIxB,OAHMgpI,EAC+DF,EAEjC,0BAAhCA,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB4C,gCAC/BsoI,WAAY,KAIgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBsC,2BAC/B4oI,WAAY,KAIgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBkD,2BAC/BgoI,WAAY,KAIb,EAAP,OACOF,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBiC,mBAC/BipI,WAAY,KAGpB,KAAK,EAAAlrI,uBAAuBkC,yBAIxB,OAHM+oI,EACqEF,EAEvC,0BAAhCA,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB6C,sCAC/BqoI,WAAY,KAIgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBuC,iCAC/B2oI,WAAY,KAIgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBiD,iCAC/BioI,WAAY,KAIb,EAAP,OACOF,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBkC,yBAC/BgpI,WAAY,KAGpB,KAAK,EAAAlrI,uBAAuB+B,iBAGxB,OAFMkpI,EAAoFF,EAEtD,0BAAhCA,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB0C,8BAC/BwoI,WAAY,KAGgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBoC,yBAC/B8oI,WAAY,KAGgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB+C,yBAC/BmoI,WAAY,KAIb,EAAP,OACOF,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB+B,iBAC/BmpI,WAAY,KAGpB,KAAK,EAAAlrI,uBAAuBsE,gBAExB,OADM2mI,EAAmFF,EACrD,qBAAhCA,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB0rI,0BAC/BR,WAAY,KAGgB,0BAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuByE,6BAC/BymI,WAAY,KAIb,EAAP,OACOF,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBsE,gBAC/B4mI,WAAY,KAGpB,KAAK,EAAAlrI,uBAAuB8B,iBAExB,OADMmpI,EAAoFF,EACtD,0BAAhCA,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBwC,8BAC/B0oI,WAAY,KAGgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuBmC,yBAC/B+oI,WAAY,KAGgB,qBAAhCH,EAAgB7xN,YACT,EAAP,OACO8xN,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB8C,yBAC/BooI,WAAY,KAIb,EAAP,OACOF,GACAC,GAAkB,CACrB1mS,OAAQ,EAAAy7J,uBAAuB8B,iBAC/BopI,WAAY,KAGpB,KAAK,EAAAlrI,uBAAuB2rI,0BAU5B,KAAK,EAAA3rI,uBAAuBqD,gBAS5B,KAAK,EAAArD,uBAAuBsD,kBAS5B,KAAK,EAAAtD,uBAAuBmD,aAGxB,OAFM8nI,EAAgFF,EAE/E,EAAP,OACOC,GACAC,GAAkB,CACrBC,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAG1D,KAAK,EAAAwwG,uBAAuBuD,sCAU5B,KAAK,EAAAvD,uBAAuB4rI,YAS5B,KAAK,EAAA5rI,uBAAuB6rI,cAS5B,KAAK,EAAA7rI,uBAAuBwD,gCAIxB,OAHMynI,EAC4EF,EAE3E,EAAP,OACOC,GACAC,GAAkB,CACrBC,WAAY,KAGpB,QAKI,OAJMD,EAAkFF,GAExF,IAAAz1Q,YAAW,sCAA+By1Q,EAAgBxmS,SAEnD,EAAP,OACOymS,GACAC,GAAkB,CACrBC,WAAY,CAACH,EAAgB19R,KAAKkjD,SAAS3gC,OAAO,EAAA4/B,YAIlE,C,sBCtiBA,IAAY/2C,E,wEAAZ,SAAYA,GACR,6CACA,oDACH,CAHD,CAAYA,IAAa,gBAAbA,EAAa,I,0cCAzB,kBAIA,cACA,WAEA,WAKA,UACA,cACA,cACA,UAiJA,UApHwC,SAAC7X,GAEjC,IAAAqD,EAgBArD,EAAK,UAfL+E,EAeA/E,EAAK,aAdLgF,EAcAhF,EAAK,aAbLiF,EAaAjF,EAAK,MAZLkF,EAYAlF,EAAK,SAXLmF,EAWAnF,EAAK,WAVLoF,EAUApF,EAAK,SATLuC,EASAvC,EAAK,gBARL03B,EAQA13B,EAAK,UAPLqF,EAOArF,EAAK,WANL0F,EAMA1F,EAAK,YALLsF,EAKAtF,EAAK,OAJLuF,EAIAvF,EAAK,QAHLu3B,EAGAv3B,EAAK,QAFLwF,EAEAxF,EAAK,WADLyF,EACAzF,EAAK,gBAEH,IAAwB,UAAMqE,SAAoB,IAAG,GAApDlC,EAAO,KAAE+oS,EAAU,KAEpB32Q,GAAW,IAAAC,eAEXy3B,GAAM,IAAAj2C,aAAY,EAAAm1R,uBAClB98R,GAAO,IAAA2H,aAAY,EAAAo1R,wBACnB5nS,GAAgB,IAAAwS,aAAY,EAAAq1R,2BAElC,UAAMngS,WAAU,WACZ,IAAM/I,EAAU8pD,EACXj9B,QAAO,SAAC9iB,GAAO,OAAAmC,EAAKnC,EAAL,IACfmL,KAAI,SAACnL,GACF,IAAM0pF,EAASvnF,EAAKnC,GAEpB,MAAO,CACHA,GAAI0pF,EAAO1pF,GACXsE,KAAMolF,EAAOh9E,MAAQ,GACrB7R,MACI,wBAAC,UAA0B,CACvBoF,KAAM,wBAAC,UAAM,CAACqqD,KAAMo/B,EAAOh9E,MAAQ,KACnC7R,MAAO6uF,EAAOh9E,MAAQ,KAItC,IAEJsyR,EAAW/oS,EACf,GAAG,CAAC8pD,EAAK59C,IAET,UAAMnD,WAAU,WACZ,GAAKnG,EAAL,CAIA,IAAMY,EAAyB,CAC3BuG,GAAInH,EACJyL,KAAMxL,EACN+B,MAAO,oCAAO/B,IAGlBkmS,EAAW,CAACvlS,GARZ,CAUJ,GAAG,IAEH,IAAMi0H,EAAoB,UAAM5zH,aAC5B,SAACC,GACQA,GAAU5C,EAKfkxB,GACI,IAAAnf,cAAa,CACTwD,KAAM3S,EACN5C,UAAS,MAPb,IAAAqxB,YAAW,gDAUnB,GACA,CAACH,EAAUlxB,IASTioS,EAAiBj9R,EAAKpJ,GAAS,KAAO,KAE5C,OACI,wBAAC,UAAY,CACTkC,cAAelC,EACfojM,kBAAmBrjM,EACnBQ,WAAYA,EACZrD,QAASA,EACT+C,SAda,SAACD,GAClB,IAAM0pD,EAAUtgD,EAAKpJ,GAErBC,EAASD,GAAS,MAAM0pD,aAAO,EAAPA,EAAS/1C,OAAQ,GAC7C,EAWQ9R,aAAc,SAACN,GAAW,OAAAA,EAAOO,KAAP,EAC1BwhM,aAAc,SAAC/hM,GAAW,OAAAA,EAAOgK,IAAP,EAC1BhJ,eAAgB,SAAChB,GAAW,OAAAA,EAAO0F,EAAP,EAC5B9E,cAAewyH,EACfz0H,WAAYA,EACZC,SAAUA,EACVsX,eAAgB,WAAM,+BAAC,UAAM,CAAC85C,MAAM80O,aAAc,EAAdA,EAAgB1yR,OAAQ,MAAtC,EACtBrW,gBAAiBA,EACjBmD,YAAaA,EACbsJ,UAAWxL,EAAcK,QACzB6zB,UAAWA,EACXryB,WAAYA,EACZC,OAAQA,EACRC,QAASA,EACTgyB,QAASA,EACT9xB,gBAAiBA,GAG7B,C,kuCC9JA,kBAEA,aACA,cACA,cACA,WACA,UACA,UACA,WACA,cACA,cAEA,cACA,UACA,cAEM9F,EAAK,UAAWC,KAAK,WAsF3B,UA7EqC,SAACI,GAC1B,IAAA8c,EAAwE9c,EAAK,SAAnE6sD,EAA8D7sD,EAAK,wBAA1C8sD,EAAqC9sD,EAAK,sBAAnBU,EAAcV,EAAK,UAE7Ea,GAAM,IAAAC,kBAAgB,EAExB,IAA0ChB,EAAMuE,SAAyBwoD,GAAwB,GAAhGrB,EAAgB,KAAE+/O,EAAmB,KACtC,IAAsCzrS,EAAMuE,SAAyByoD,GAAsB,GAA1FpB,EAAc,KAAE8/O,EAAiB,KAExC1rS,EAAMoL,WAAU,YACP,aAAQ2hD,EAAyBrB,IAClC+/O,EAAoB1+O,IAEnB,aAAQC,EAAuBpB,IAChC8/O,EAAkB1+O,EAG1B,GAAG,CAACD,EAAyBC,IAE7BhtD,EAAMoL,WAAU,WACZ4R,EAAS0uC,EAAkBE,EAE/B,GAAG,CAACF,EAAkBE,IAEtB,IAAMn3B,GAAW,IAAAC,eAEjB10B,EAAMoL,WAAU,WACZqpB,GAAS,IAAAmV,sBACb,GAAG,CAACnV,IAEJ,IAAMkhE,GAAgB,IAAAz/E,aAAY,EAAA0/E,uBAE5B5uF,EAAe,SAACqqB,GAClB,OAAO,gBAAC,UAAyB,CAACzwB,UAAWf,EAAG,UAAW+mB,QAAS+uE,EAActkE,IACtF,EAEM/uB,EAAgB,SAACqrD,GACnB,KAAKA,aAAY,EAAZA,EAAcxrD,QACf,OAAO,gBAAC,UAA4B,CAAC8E,MAAOlG,EAAE,yBAGlD,IAAMgjQ,EAAYp2M,EAAap2C,KAAI,SAACm2C,GAAS,OAAAioC,EAAcjoC,IAAS,IAAvB,IAE7C,OAAO,gBAAC,UAAyB,CAAC9sD,UAAWf,EAAG,UAAWkkQ,UAAWA,GAC1E,EAEA,OACI,uBAAKnjQ,WAAW,aAAGf,EAAG,QAASe,IAC3B,gBAAC,UAAuB,CACpBA,UAAWf,EAAG,QAAS,CACnB,eAAe,IAEnBmb,OAAQ0wC,EACRv9B,iBAAkBptB,EAAE,4DACpBic,SAAUyuR,EACVzkS,aAAcA,EACd4V,eAAgB,WAAM,aACtBrV,gBAAiB,WAAM,aACvBjF,cAAeA,EACfG,gBAAiB,EAAAC,4BAA4BiF,aAEjD,gBAAC,UAAuB,CACpB/G,UAAWf,EAAG,QAAS,CACnB,aAAa,IAEjBmb,OAAQ4wC,EACRz9B,iBAAkBptB,EAAE,0DACpBic,SAAU0uR,EACV1kS,aAAcA,EACd4V,eAAgB,WAAM,aACtBrV,gBAAiB,WAAM,aACvBjF,cAAeA,EACfG,gBAAiB,EAAAC,4BAA4BiF,aAI7D,C,+BCnGA,WAAgB,OAAS,+BAA+B,UAAY,kCAAkC,QAAU,gCAAgC,OAAS,+BAA+B,SAAW,iC,yECDnM,eAEA,UAyBA,UApBsB,SAACm+N,G,YACnB,OAAK,IAAApnJ,gCAA+BonJ,EAAa7hO,QAI1B,QAAnB,EAAA6hO,aAAY,EAAZA,EAAc7hO,aAAK,eAAE06E,WAAY,EAAAC,mCAAmC0qG,oBAC7D,EAAP,IACK,EAAA1pL,WAAWkqB,OAAQ,EAAA80D,mCAAmC0qG,kB,IAIxC,QAAnB,EAAAw8C,aAAY,EAAZA,EAAc7hO,aAAK,eAAEwU,WACd,EAAP,IACK,EAAA7Y,WAAWkqB,OAAQg8M,EAAa7hO,MAAMwU,Q,GAIxC,CAAC,EAfG,CAAC,CAgBhB,C,+BCxBA,WAAgB,KAAO,+CAA+C,oBAAoB,4DAA4D,SAAW,mDAAmD,IAAM,8CAA8C,OAAS,iDAAiD,SAAW,mD,q7BCD7U,kBACA,cACA,WA4BA,UAhBI,SAAwBiC,EAAkBM,GAC1C,gBAAC9a,GACW,IAAAwgE,EAA2CxgE,EAAK,OAAxCyrS,EAAmCzrS,EAAK,oBAAnBU,EAAcV,EAAK,UAGxD,OADmB,IAAA0gE,oBAAmBF,EAAQhmD,EAAeM,GAElD,gBAAC,UAAuB,CAACpa,UAAWA,EAAW8E,YAAU,IAGhEimS,GACOA,GAGJ,IACX,CAbA,C,q7BCfJ,kBAEA,cACA,cAEA,WACA,WACA,WACA,cACA,WACA,cAEM9rS,EAAK,UAAWC,KAAK,WAQrB8rS,EAA8B5rS,EAAMC,MAAK,SAACC,GACpC,IAAAQ,EAAYR,EAAK,QACjBa,GAAM,IAAAC,kBAAgB,EAExBq+Q,GAA8B,IAAAxsP,YAAW,WACvCgD,EAAwBwpP,EAA2B,QAA1CW,EAAeX,EAA2B,WAEnDl7O,GAAa,IAAA+3D,eAAa,SAElCl8F,EAAMoL,WAAU,WACZ40Q,EAAW,EAEf,GAAG,CAAC77O,IAEJ,IAAI0nQ,GAAc,EAEdC,EAAc,EACZ94M,EAAO,IAnBG,GAoBZ,IAAA+4I,WAAU5nM,EAAU,CAAEO,KAAM,EAAA2P,cAAc7O,aAC1CsmQ,EAAc,IAEd,IAAA//D,WAAU5nM,EAAU,CAAEO,KAAM,EAAA2P,cAAcsjJ,mBAC1Cm0G,EAAc94M,IAEd,IAAA+4I,WAAU5nM,EAAU,CAAEO,KAAM,EAAA2P,cAAcolJ,oBAC1CqyG,EAAc,EAAI94M,EAClB64M,GAAc,IAEd,IAAA9/D,WAAU5nM,EAAU,CAAEO,KAAM,EAAA2P,cAAcgrJ,4BAC1CysG,EAAc,EAAI94M,EAClB64M,GAAc,GAGlB,IAAME,EAAiBD,EAAej2Q,EAAU,IAAOm9D,EACjDg5M,EAAiB3sR,KAAK+1D,MAAM22N,GAE5B5rS,EACAY,EADQ8qS,EACN,yCACA,8CAER,OACI,uBAAKjrS,UAAWf,EAAG,YACf,uBAAKe,UAAWf,EAAG,SAAU,mBACzB,uBAAKe,UAAWf,EAAG,UAAWM,IAElC,uBAAKS,UAAWf,EAAG,SAAU,oBACzB,uBAAKe,UAAWf,EAAG,SAAU8B,QAASjB,GAClC,gBAAC,UAAS,CAACmB,UAAW,EAAAC,qBAAqBC,aAGnD,uBAAKnB,UAAWf,EAAG,aACf,uBAAKe,UAAWf,EAAG,oBACdkB,EAAE,gCAAiC,CAChC80B,QAASm2Q,KAGjB,uBAAKprS,UAAWf,EAAG,iBAAkBwI,MAAO,CAAE3G,MAAO,UAAGsqS,EAAc,SAItF,IAEA,UAAeJ,C,+BCjFf,WAAgB,KAAO,sCAAsC,sBAAsB,qDAAqD,iBAAiB,gDAAgD,cAAc,6CAA6C,eAAe,8CAA8C,mBAAmB,kDAAkD,OAAS,wCAAwC,SAAW,0C,iOCDlc,kBACA,cACA,UACA,cAQa,EAAAl5P,6BAA+B,SAAC/lC,GACzC,GAAKA,KAAQ,aAAQA,MAAS,aAAOA,GAAMi7B,OAAM,SAACzoB,GAAS,QAAC,aAASA,EAAV,IAI3D,IACI,OAAO8sR,mBAAmBzoO,KAAKC,UAAU92D,GAC7C,CAAE,MAAO1I,GAEL,YADA,IAAA2wB,YAAW,0CAA2C3wB,EAE1D,CACJ,EAKa,EAAA2sC,4BAA8B,SAACs7P,GACxC,IAAKA,EACD,OAAO,KAGX,IACI,OAAO1oO,KAAKM,MAAMqoO,mBAAmBD,GACzC,CAAE,MAAOjoS,GAEL,OADA,IAAA2wB,YAAW,yCAA0C3wB,GAC9C,IACX,CACJ,C,+BCrCA,WAAgB,OAAS,sCAAsC,OAAS,sCAAsC,cAAgB,6CAA6C,qBAAqB,kDAAkD,sBAAsB,mDAAmD,sBAAsB,mDAAmD,0BAA0B,uDAAuD,cAAgB,6CAA6C,MAAQ,qCAAqC,OAAS,sCAAsC,SAAW,wC,ylBCAznB,eACA,cAEA,cASa,EAAAmoS,+BAA2D,CACpE98R,QAAS,KACT5L,cAAe,UAAcC,SAGjC,IAAMF,EAA6C,CAAC,EAEvC,EAAA4oS,yBAA0B,IAAA7/N,aAAY,CAC/C1zD,KAAM,qBACNrV,aAAY,EACZgpE,SAAU,CACN+gB,wBAAyB,SAErB5pF,EAEAC,GAMJ,EACAupF,6BAA8B,SAC1BxpF,EACAC,GAIQ,IAAAuI,EAAOvI,EAAOklB,QAAO,GACvBujR,EAA0B1oS,EAAMwI,IAAO,EAAAggS,+BAE7CxoS,EAAMwI,GAAM,EAAH,KACFkgS,GAAuB,CAC1B5oS,cAAe,UAAcK,SAErC,EACAwpF,+BAAgC,SAC5B3pF,EACAC,GAKM,MAAkBA,EAAOklB,QAAvBzZ,EAAO,UAAElD,EAAE,KACbkgS,EAA0B1oS,EAAMwI,IAAO,EAAAggS,+BAE7CxoS,EAAMwI,GAAM,EAAH,KACFkgS,GAAuB,CAC1B5oS,cAAe,UAAcU,GAC7BkL,SAAS,aAAQA,EAASg9R,EAAwBh9R,SAAWg9R,EAAwBh9R,QAAUA,GAEvG,EACAg+E,6BAA8B,SAC1B1pF,EACAC,GAKM,MAAgBA,EAAOklB,QAArB9kB,EAAK,QAAEmI,EAAE,KACXkgS,EAA0B1oS,EAAMwI,IAAO,EAAAggS,+BAE7CxoS,EAAMwI,GAAM,EAAH,KACFkgS,GAAuB,CAC1B5oS,cAAe,UAAcQ,SAASD,IAE9C,EACAsoS,wBAAyB,WACrB,MAAO,CAAC,CACZ,GAEJ7/N,cAAe,SAACC,GACZA,EAAQC,QAAQ,uBAAuB,WACnC,OAAOnpE,CACX,GACJ,IAIA,EAAA+pF,yBADS,EAMT,EAAA6+M,wBAAwBx9R,SAAO,wBAJ/B,EAAAu+E,6BAA4B,+BAC5B,EAAAG,+BAA8B,iCAC9B,EAAAD,6BAA4B,+BAC5B,EAAAi/M,wBAAuB,0BAG3B,UAAe,EAAAF,wBAAwBx/N,O,wsCCnGvC,kBACA,WAGA,WACA,UACA,cAQM2/N,EAAyDxsS,EAAMC,MAAK,SAACC,GAC/D,IAAA42J,EAA+C52J,EAAK,YAAvC82J,EAAkC92J,EAAK,8BACpDa,GAAM,IAAAC,kBAAgB,EAExBu0J,EAAkBv1J,EAAMkG,aAAY,WACtC4wJ,SAAAA,EAAc,QAClB,GAAG,CAACA,IAEEkvH,GAAwB,IAAAC,0BAAyB,CACnDtkR,QAAS4zJ,GAAmB,OAGhC,OACI,gBAAC,EAAA8vH,mCAAkC,KAC3BW,EAAqB,CACzB7/L,eACI6wE,EACI,gBAAC,UAAkC,CAACzgE,OAAQygE,IAC5C,KAERzxJ,WAAY2D,QAAQ8tJ,KAEnBj2J,EAAE,iCAGf,IAES,EAAAyrS,qCAAAA,C,0pCCzCT,kBAEA,cACA,cAEA,WACA,WACA,cACA,cACA,cACA,WACA,cAGA,WACA,WACA,cACA,aACA,cACA,WACA,WACA,WAIA,cACA,cAIA,cACA,cACA,cACA,cACA,cACA,WACA,aACA,cACA,cACA,cACA,cACA,aACA,cACA,cACA,cACA,WACA,UACA,WACA,YACA,aACA,cACA,cACA,WACA,WACA,cACA,eACA,WACA,cACA,YAEA,eACA,YAEM3sS,GAAK,UAAWC,KAAK,WAIrB2sS,GAAgCzsS,EAAMC,MAAK,WAC7C,IAAMw0B,GAAW,IAAAC,eACT3zB,GAAM,IAAAC,kBAAgB,EAExB6gC,GAAc,IAAA3rB,aAAY,EAAA4rB,mBAC1BqtE,EAAkBnvG,EAAM6yB,WAAW,YAEnC,GAAiD,eAA/CsmF,EAAY,eAAE7iD,EAAiB,oBAAEsjD,EAAS,YAE5C+8B,GAAoB,eAEpBpnG,GAAS,IAAAC,aACPjsC,GAAcgsC,EAAM,UACtB/rC,IAAc,KAAAk4R,uBAAsBnsP,EAAO/rC,aAEjDxD,EAAMoL,WAAU,WACZqpB,GAAS,IAAAE,qBAAoBpxB,IACjC,GAAG,CAACkxB,EAAUlxB,KAEd,IAAM2+B,GAAqBliC,EAAMkG,aAAY,WACzCuuB,GAAS,IAAAE,qBAAoBpxB,IACjC,GAAG,CAACkxB,EAAUlxB,MACd,IAAA4+B,qBAAoB,EAAAE,6BAA8BH,IAElD,IAAMF,GAAkChiC,EAAMkG,aAAY,WACtDuuB,GAAS,IAAAE,qBAAoBpxB,IACjC,GAAG,CAACkxB,EAAUlxB,MACd,aAA4By+B,IAE5B,IAAM2X,IAAe,IAAAzjC,aAAY,EAAAm8Q,kCAE3Bx9P,IADqB,IAAA3e,aAAY,EAAA4e,0BACGvxB,IAsBpCm+B,IAAkB,IAAAC,sBAClBinC,GAAwB,SAAC7iE,EAAwBwrD,GAC9CxrD,EAKL27B,GAAgB,CACZv+B,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,GACTC,YAAa+tD,EAAe,EAAAhpC,gBAAgBpb,OAAS3J,GACrDuC,OAAM,KARN,IAAA6uB,YAAW,+DAUnB,EAEM83Q,GAAmB1sS,EAAM0E,SAC3B,WAAM,uBAAC,UAAiB,CAACiP,eAAa,EAACvS,MAAO,EAAAiR,2BAA2BG,QAAnE,GACN,IAGEoT,GAAa5lB,EAAM0E,SAAQ,W,QACvBioS,EACF93Q,OACEA,cAAc,EAAdA,GAAgBvJ,kBACb9nB,KAAgB,EAAA+kB,gBAAgB6C,WAAYyJ,cAAc,EAAdA,GAAgBxJ,yBAC/DuhR,EAAsB/3Q,MAAmBA,cAAc,EAAdA,GAAgBrJ,mBAE/D,MAAO,CACH,CACI2Y,SAAU,EAAAymN,mBAAmB/1N,eAC7BzM,GAAI,EAAAwiO,mBAAmB/1N,eACvBuP,MAAOuoQ,EAAoBD,GAAmB,KAC9Cn5Q,OAAQ,WAAM,OAAAxyB,EAAE,uBAAF,EACdF,aAAc,WAElB2C,KAAgB,EAAA+kB,gBAAgBC,SAAWhlB,KAAgB,EAAA+kB,gBAAgB6C,QACrE,CACI+Y,SAAU,EAAAymN,mBAAmB8M,iBAC7BtvO,GAAI,EAAAwiO,mBAAmB8M,iBACvBtzN,MAAOwoQ,EAAsBF,GAAmB,KAChDn5Q,OAAQ,WAAM,OAAAxyB,EAAE,yBAAF,EACdF,aAAc,aAElB,KACNghC,EAAYgrQ,mBACN,CACI1oQ,SAAU,EAAAymN,mBAAmBkiD,eAC7B1kR,GAAI,EAAAwiO,mBAAmBkiD,eACvBv5Q,OAAQ,WAAM,mCAAOxyB,EAAE,wBAAT,EACdF,aAAc,WAElB,MACmC,QAAzC,EAAAsuG,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,GAAAjoB,kBAAkBU,kBACxD,CACI3jD,SAAU,EAAAymN,mBAAmB9iK,gBAC7B1/D,GAAI,EAAAwiO,mBAAmB9iK,gBACvBv0D,OAAQ,WAAM,mCAAOxyB,EAAE,yBAAT,EACdF,aAAc,YAElB,KACN2C,KAAgB,EAAA+kB,gBAAgBC,SAAWqZ,EAAYkrQ,gBACjD,CACI5oQ,SAAU,EAAAymN,mBAAmB0M,gBAC7BlvO,GAAI,EAAAwiO,mBAAmB0M,gBACvB/jO,OAAQ,WAAM,mCAAOxyB,EAAE,yBAAT,EACdF,aAAc,YAElB,KACN2C,KAAgB,EAAA+kB,gBAAgBC,SAAWqZ,EAAYmrQ,cACjD,CACI7oQ,SAAU,EAAAymN,mBAAmByM,cAC7BjvO,GAAI,EAAAwiO,mBAAmByM,cACvB9jO,OAAQ,WAAM,mCAAOxyB,EAAE,uBAAT,EACdF,aAAc,UAElB,KACN2C,KAAgB,EAAA+kB,gBAAgBC,SAChCqZ,EAAYorQ,iBAC6B,QAAzC,EAAA99L,aAAe,EAAfA,EAAiBE,gCAAwB,sBAAG,GAAAjoB,kBAAkBW,iBACxD,CACI5jD,SAAU,EAAAymN,mBAAmB7iK,eAC7B3/D,GAAI,EAAAwiO,mBAAmB7iK,eACvBx0D,OAAQ,WAAM,mCAAOxyB,EAAE,wBAAT,EACdF,aAAc,WAElB,KACN2C,KAAgB,EAAA+kB,gBAAgBC,QAC1B,CACI2b,SAAU,EAAAymN,mBAAmBtiL,uBAC7BlgD,GAAI,EAAAwiO,mBAAmBtiL,uBACvB/0C,OAAQ,WAAM,mCAAOxyB,EAAE,iCAAT,EACdF,aAAc,oBAElB,KAEd,GAAG,CAACg0B,GAAgBs6E,EAAiB3rG,GAAaq+B,EAAa9gC,EAAG2rS,KAE5DtzL,GAAiBp5G,EAAM0E,SACzB,WAAM,oBAAkBy0G,aAAY,EAAZA,EAAc1tG,QAAhC,GAEN,CAAC0tG,aAAY,EAAZA,EAAc1tG,UAGbyhS,IAA2Br4Q,KAAmB8kB,GAAav1C,KAAOu1C,GAAa11C,MAE/E63R,GAAsB97R,EAAM0E,SAAQ,WACtC,MAAO,CACHlB,aAAa,KAAAk4R,uBAAsBnsP,EAAO/rC,aAC1CD,UAAWgsC,EAAOhsC,UAE1B,GAAG,CAACgsC,EAAOhsC,UAAWgsC,EAAO/rC,cAE7B,OACI,gBAAC,UAAyBwyC,SAAQ,CAAC7wC,MAAOwxI,GACtC,gBAAC,UAAe3gG,SAAQ,CAAC7wC,MAAO22R,IAC5B,gBAAC,WAAiC,CAACv4R,UAAWu4R,GAAoBv4R,WAC9D,gBAAC,UAAS,CACNpD,MAAOY,EAAE,sBAAuB,CAC5B+X,MAAM+b,cAAc,EAAdA,GAAgB/b,OAAQ,OAGtC,gBAAC,EAAA0rB,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAAkmN,mBAAmBtiO,8BAC5B,gBAAC,UAA4B,OAEjC,gBAAC,EAAAmc,MAAK,CAACC,KAAK,KACR,gBAAC,UAAiB,CACd2xB,mBAAoB8iD,EACpB7iD,kBAAmBA,EACnBF,iBACI,gBAAC,UAAM,CAAC8pH,UAAQ,EAACC,QAASvmE,EAAY,GAAIR,eAAgBA,IACtD,gBAAC,UAAa,CACV+iK,SAAU,gBAAC,UAAU,CAACx6Q,QAxJrC,YACrB,IAAA8oD,oBAAkB,WACd,UAAQ7yC,KAAK,GAAAyQ,WAAWumC,WAC5B,GACJ,EAoJyFrpD,YAAY,IAC7DpF,MACI+sS,GACI,gBAAC,UAAY,CAACtR,WAAY,KAE1B,WAAG/mQ,cAAc,EAAdA,GAAgB/b,OAAQ,IAAE,QACzB+b,cAAc,EAAdA,GAAgBhnB,QACV,aAAKgnB,cAAc,EAAdA,GAAgBhnB,SAAU,GAAE,KACjC,IAIlBquQ,WAAY,gBAAC,WAAe,CAAC/4Q,KAAMK,KACnC/C,UACI,gCACI,gBAAC,EAAA+jC,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAAkmN,mBAAmB/1N,gBAC5B,gBAAC,UAAiB,CAACj0B,UAAWf,GAAG,wBAGzC,gBAAC,UAAuB,WAO5C,gBAAC,UAAc,KACX,uBAAKe,UAAWf,GAAG,aACf,gBAAC,UAAc,CAAC+lB,WAAYA,GAAY2e,YA/Kf,SAACnc,GAC1D,IAAI,aAASA,GAAK,CACd,IAAM+b,GAAW,IAAAwxJ,cAAavtK,EAAImnB,GAElC,UAAQ33B,KAAK,CACTusB,SAAQ,GAEhB,MACI,UAAQvsB,KAAK,EAAD,GACLwQ,GAGf,MA+K4B,gBAAC,EAAAoc,OAAM,KACH,gBAAC,EAAAC,MAAK,CAACC,KAAM,EAAAkmN,mBAAmB/1N,gBAC5B,gBAAC,UAAkB,OAEvB,gBAAC,EAAA4P,MAAK,CAACC,KAAM,EAAAkmN,mBAAmB8M,kBAC5B,gBAAC,UAAoB,OAEzB,gBAAC,EAAAjzN,MAAK,CAACC,KAAM,EAAAkmN,mBAAmBkiD,gBAC5B,gBAAC,UAAkB,OAEvB,gBAAC,EAAAroQ,MAAK,CAACC,KAAM,EAAAkmN,mBAAmB9iK,iBAAe,YAC/C,gBAAC,EAAArjD,MAAK,CAACC,KAAM,EAAAkmN,mBAAmB0M,iBAC5B,gBAAC,UAAmB,CAACviN,kBAAmB6zB,MAE5C,gBAAC,EAAAnkC,MAAK,CAACC,KAAM,EAAAkmN,mBAAmB7iK,gBAC5B,gBAAC,UAAkB,OAEvB,gBAAC,EAAAtjD,MAAK,CAACC,KAAM,EAAAkmN,mBAAmByM,eAC5B,gBAAC,UAAiB,CAACtiN,kBAAmB6zB,MAE1C,gBAAC,EAAAnkC,MAAK,CAACC,KAAM,EAAAkmN,mBAAmBtiL,wBAC5B,gBAAC,UAAsB,WAM3C,gBAAC,UAAQ,QAK7B,IAEA,UAAemkO,E,q7BCvUf,kBACA,WAEA,cACA,cACA,cACA,cACA,UAuFA,UAnF6D,SAACvsS,GAClD,IAAAyM,EAAyEzM,EAAK,KAAxEE,EAAmEF,EAAK,SAA9DQ,EAAyDR,EAAK,QAArD2jD,EAAgD3jD,EAAK,yBAA3Bm1E,EAAsBn1E,EAAK,kBAEhFitS,GAAmB,eAEnB32J,GAAiB,eAEjBjzI,EAAYoJ,EAAKpJ,WAAaizI,EAAejzI,UAC7CC,EAAcgzI,EAAehzI,aAAe,KAElD,OAAK9C,EAuDD,gBAAC,UAAgC,CAC7B85C,QAAS7tC,EAAK6tC,QACdj3C,UAAWoJ,EAAKpJ,UAChB8zM,qBAAsB1qM,EAAK0qM,mBAC3BviK,aAAcnoC,EAAKmoC,WACnBp0C,QAASA,EACTN,SAAUA,QAAYoG,EACtBwqD,WAAW,EACXC,gBA3Dc,WAClB,UAAQr5C,KAAKu1R,EAAiBh8O,aAAaxkD,EAAKpJ,UAAWoJ,EAAK6tC,SACpE,EA0DQqJ,yBAA0BA,EAC1BqN,qBAvByB,SAAC9B,GACzB7rD,EAIL8xE,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuBklB,eAC7BjsD,UAAS,EACT6rD,UAAS,KANT,IAAAx6B,YAAW,8CAQnB,EAcQ6lB,mBA1DuB,SAACD,GACvBj3C,EAIL8xE,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB6mB,aAC7B5tD,UAAS,EACTi3C,QAAO,KANP,IAAA5lB,YAAW,4CAQnB,EAiDQw8B,qBA/CyB,SAAChsB,GAC9BiwC,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB+mB,gBAC7BjsB,WAAU,EACVksB,eAAe,EACf/tD,UAAWoJ,EAAKpJ,WAExB,EAyCQwxC,kBAvCsB,SAAChvC,GACtBxC,GAAcC,EAInB6xE,EAAkB,CACdlyE,KAAM,EAAAmnC,uBAAuB77B,QAC7BlL,UAAS,EACTC,YAAW,EACXuC,OAAM,KAPN,IAAA6uB,YAAW,0DASnB,IAvCW,IAsEf,C,+PCzFA,kBACA,cAGa,EAAAkzI,iBAAmB,SAAClkK,GAA8C,OAAAA,EAAMukK,WAAWA,UAAjB,EAElE,EAAAN,wBAA0B,SAACjkK,GAA0C,OAAAA,EAAMukK,WAAWyU,iBAAjB,EAErE,EAAAwwH,qBAAuB,SAACxpS,G,MACjC,OAAO,aAAQggD,OAAO5oC,QAAwB,QAAjB,EAAApX,aAAK,EAALA,EAAOukK,kBAAU,eAAEA,aAAc,CAAC,GACnE,EAEa,EAAA86G,qBAAuB,SAACr/Q,GACjC,IAAM+mD,GAAO,IAAAyiP,sBAAqBxpS,GAElC,OAAO,aAAM+mD,EAAM,KACvB,C,sBCnBA,IAAYk+B,E,6EAAZ,SAAYA,GACR,oBACA,aACH,CAHD,CAAYA,IAAkB,qBAAlBA,EAAkB,I,u8CCA9B,kBAEA,UACA,cACA,WACA,cACA,cACA,WAKA,cAEA,cACA,YACA,cAEMhpF,EAAK,UAAWC,KAAK,WAwK3B,UA5I6C,SAACI,GAEtC,IAAAU,EAgBAV,EAAK,UAfL8F,EAeA9F,EAAK,eAdL8a,EAcA9a,EAAK,OAbLkF,EAaAlF,EAAK,SAZLmF,EAYAnF,EAAK,WAXLoF,EAWApF,EAAK,SAVLyF,EAUAzF,EAAK,gBATLuC,EASAvC,EAAK,gBARLkC,EAQAlC,EAAK,iBAPLqF,EAOArF,EAAK,WANL0F,EAMA1F,EAAK,YALLsF,EAKAtF,EAAK,OAJLuF,EAIAvF,EAAK,QAHLwF,EAGAxF,EAAK,WAFLy4C,EAEAz4C,EAAK,qBADLozF,EACApzF,EAAK,sBAEDa,GAAM,IAAAC,kBAAgB,EAExBiF,GAAgD,IAAAC,cAAY,SAACC,GAC/D,OAAO,UACFknS,eAAe,CACZrhM,WAAY7lG,EACZmQ,KAAM,MAETuiC,MAAK,SAACvrC,G,MACG,IAAkBA,EAAQ,GAAzBrJ,EAAK,KAAEoJ,EAAM,KACpB,OAAIpJ,EACO,CAACA,EAAO,MAeZ,CAAC,MAXW,QAAf,EAAAoJ,aAAM,EAANA,EAAQ6R,eAAO,eAAE+iC,QAAuB,SAACC,EAAK/iC,GAQ1C,OAPIA,EAAK/S,IACL81C,EAAItqC,KAAK,CACLxL,GAAI+S,EAAK/S,GACT0M,KAAMqG,EAAKrG,MAAQ,KAIpBopC,CACX,GAAG,MAAO,GAGlB,GACR,GAAG,IAEGpJ,GAAsB,IAAAC,wBAAgC,CACxD/yC,eAAc,EACdC,eAAc,EACda,SAAU,CAAEwsF,sBAAqB,KA2D/B5rF,EAAiB,SAAChB,GAA4B,OAAAA,EAAO0F,EAAP,EAEpD,OACI,wBAAC,UAA2B,CACxBxL,UAAWA,EACX2yF,eAAgBv4E,EAChBpV,YAAaA,EACbvD,QAASy2C,EAAoBz2C,QAC7BkD,WAAYA,EACZH,SAjEa,SAAC4V,GAClB,IAAMw4E,EAAW,IAAIxkE,IAAIhU,GAEnB3Y,EAAUy2C,EAAoBz2C,QAAQ6sB,QAAO,SAACxoB,GAChD,IAAMuyC,EAAcvxC,EAAehB,GACnC,OAAO8sF,EAASrkE,IAAI8pB,EACxB,IAEA7zC,EAAS4V,EAAQ3Y,EACrB,EAyDQiD,SAAUA,EACVD,WAAYA,EACZiC,cAAewxC,EAAoBxxC,cACnCN,aAhDa,SAACN,EAA6Bd,GAC/C,OAAKc,EAIE,wBAAC,UAA0B,CAAC9F,UAAWf,EAAG,UAAWq5C,iBAAe,EAACjyC,MAAOP,EAAOoS,MAAQ,KAHvFlT,CAIf,EA2CQy0E,qBAzCc,SAACh4E,EAAqCuD,GACxD,KAAKvD,aAAO,EAAPA,EAASF,QACV,OAAOyD,EAGX,GAAwB,KAApBvD,aAAO,EAAPA,EAASF,QAAc,CACvB,IAAMsxF,GAAcpxF,aAAO,EAAPA,EAAU,KAAM,KAEpC,OAAO,wBAAC,UAA0B,CAAC62C,iBAAe,EAACjyC,OAAOwsF,aAAW,EAAXA,EAAa36E,OAAQ,IACnF,CAEA,OACI,wBAAC,UAA0B,CACvBogC,iBAAe,EACfjyC,MAAOlG,EAAE,6EACTuuB,YACI,wBAAC,UAAS,CACN9a,eAAa,EACbpT,MAAOsE,EAAa,EAAAmO,mBAAmBrB,OAAS,EAAAqB,mBAAmB9R,WAElEM,aAAO,EAAPA,EAASF,SAAU,IAKxC,EAiBQuF,eAAgBA,EAChBhC,WAAYA,EACZkX,eAAgB,SAACC,GAAa,+BAAC,UAAY,KAAK,EAAAo1K,kBAAkBl1K,gBAAgBF,IAApD,EAC9BrX,OAAQA,EACRC,QA5DoC,WACpCA,GACAA,GAER,EAyDQhD,gBAAiBA,GAAmB,EAAAC,4BAA4BiF,WAChEvF,iBAAkBA,EAClB8M,UAAW4pC,EAAoBp1C,cAAcK,UAAW40C,aAAoB,EAApBA,EAAsB50C,SAC9E6D,QAASjC,EApEG,WAChBP,EAAS,GAAI,GACjB,OAkEiDoB,GAGrD,C,sUCxLA,kBAIa,EAAA2hI,+BAAiC,SAC1C5hG,EACAsvC,G,QAEA,IAAI,aAAQA,KAA6BtvC,EACrC,OAAO,EAGX,IAAMlV,EAAyC,QAA3B,EAAAkV,aAAQ,EAARA,EAAUo9G,yBAAiB,eAAEtyH,YACjD,OAAKA,MAKsE,QAAlE,EAAAwkD,EAAwBxkD,EAAYyqM,sBAA8B,eAAE3hC,KACjF,EAEa,EAAAmzG,qCAAuC,SAChDj8Q,EACAwkD,G,MAEA,UAAI,aAAQA,IAA6BxkD,KAIkC,QAAlE,EAAAwkD,EAAwBxkD,EAAYyqM,sBAA8B,eAAE3hC,MACjF,EAEa,EAAA76C,oCAAsC,SAC/C/4G,EACAsvC,GAEA,OAAO,IAAAsyD,gCAA+B5hG,EAAUsvC,EACpD,EAEa,EAAAymF,kDAAoD,SAC7D/1H,EACAsvC,GAEA,OAAO,IAAAsyD,gCAA+B5hG,EAAUsvC,EACpD,C,q7BC5CA,kBACA,WACA,cACA,WACA,cAQM03N,EAA0D,CAC5DC,gBAAiB,uDAGfC,EAA6CztS,EAAMC,MAAK,SAACC,GACnD,IAAAyB,EAAmCzB,EAAK,QAA/BU,EAA0BV,EAAK,UAApBiqH,EAAejqH,EAAK,WAExCa,GAAM,IAAAC,kBAAgB,EAE9B,OACI,gBAAC,UAAM,CACHJ,UAAWA,EACXQ,MAAO,EAAA2N,gBAAgBmtJ,sBACvBr7J,aAAa,cACbc,QAASA,EACT22C,UAAW,gBAAC,UAAc,CAACz2C,UAAW,EAAAC,qBAAqBgG,SAE1D/G,EAAEwsS,EAAkBpjL,IAGjC,IAEA,UAAesjL,C,4PClCf,kBAGa,EAAA5iM,mBAAuC,CAChDc,UAAW,CAAC,UACZ94F,IAAK,UAAkB66R,WACvB1xN,SAAU,UAAkBA,UAGnB,EAAA8/F,mBAAqB,GACrB,EAAAnxE,aAAe,EACf,EAAAF,eAAiB,CAC1BxqF,IAAK,UACLC,IAAK,WAGI,EAAA4qF,YAA0B,CACnC6iM,gBAAgB,EAChBC,UAAW,UACXC,sBAAuB,CACnBxlS,MAAO,EACPpH,SAAU,EACV6sS,WAAY,CAAC,UAAW,cAE5BC,YAAa,GACbC,mBAAmB,EACnBC,mBAAoB,CAChBhtS,SAAU,GAEditS,OAAQ,CAEJ,CACIC,YAAa,mBACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI20M,YAAa,qBACbC,QAAS,CACL,CACI50M,MAAO,aAKnB,CACI60M,YAAa,6BACbF,YAAa,mBACbC,QAAS,CACL,CACI50M,MAAO,aAKnB,CACI60M,YAAa,MACbF,YAAa,WACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI60M,YAAa,MACbF,YAAa,cACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI60M,YAAa,MACbF,YAAa,mBACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI60M,YAAa,iBACbD,QAAS,CAAC,CAAExsE,WAAY,SAE5B,CACIysE,YAAa,WACbD,QAAS,CACL,CACIxsE,WAAY,SAIxB,CACIysE,YAAa,iBACbD,QAAS,CACL,CACIxsE,WAAY,SAIxB,CACIysE,YAAa,cACbD,QAAS,CACL,CACIxsE,WAAY,SAIxB,CACIysE,YAAa,WACbD,QAAS,CACL,CACIxsE,WAAY,SAIxB,CACIysE,YAAa,uBACbD,QAAS,CACL,CACIxsE,WAAY,SAIxB,CACIysE,YAAa,aACbD,QAAS,CACL,CACIxsE,WAAY,SAIxB,CACIysE,YAAa,qBACbD,QAAS,CACL,CACIxsE,WAAY,SAKxB,CACIysE,YAAa,OACbF,YAAa,cACbC,QAAS,CACL,CACIxsE,WAAY,SAIxB,CACIysE,YAAa,OACbF,YAAa,WACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI60M,YAAa,gBACbF,YAAa,mBACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI60M,YAAa,eACbF,YAAa,WACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI60M,YAAa,eACbF,YAAa,mBACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI60M,YAAa,aACbF,YAAa,mBACbC,QAAS,CACL,CACI50M,MAAO,aAKnB,CACI60M,YAAa,UACbD,QAAS,CACL,CACIxsE,WAAY,SAKxB,CACIysE,YAAa,QACbF,YAAa,WACbC,QAAS,CACL,CACI50M,MAAO,aAInB,CACI60M,YAAa,QACbF,YAAa,mBACbC,QAAS,CACL,CACI50M,MAAO,aAKnB,CACI60M,YAAa,oBACbF,YAAa,gBACbC,QAAS,CACL,CACI50M,MAAO,c,+BCzO3B,WAAgB,OAAS,sCAAsC,SAAW,wC,0pCCD1E,kBACA,UACA,aACA,WACA,WACA,cACA,WAEA,WACA,cACA,cACA,WACA,UAqBM80M,EAAiC,UAAMruS,MAAK,SAACC,GAE3C,IAAA8c,EAYA9c,EAAK,SAXLiF,EAWAjF,EAAK,MAVLuC,EAUAvC,EAAK,gBATLU,EASAV,EAAK,UARLoF,EAQApF,EAAK,SAPLmF,EAOAnF,EAAK,WANL8E,EAMA9E,EAAK,UALL0F,EAKA1F,EAAK,YAJLwF,EAIAxF,EAAK,WAHLsF,EAGAtF,EAAK,OAFLuF,EAEAvF,EAAK,QADLyF,EACAzF,EAAK,gBAEHy5C,G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cACA,aACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,eACA,aACA,eACA,eAEA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,cACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,cACA,eACA,eACA,eACA,eACA,eACA,eACA,cACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,cACA,cACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,aACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eAEA,YACA,YACA,eACA,YACA,YACA,eACA,YACA,eACA,eACA,YACA,YACA,eACA,eACA,YACA,cACA,eACA,eACA,cACA,YACA,eACA,eACA,eACA,eAEMC,IAAc,IAAA75O,iBAAgB,CAChCmrK,MAAM,cAAY,GAAAhjQ,oBAAoB3e,QACtCosC,KAAM,WACNxuB,QAAS,WACTjP,OAAQ,WACRg+D,aAAc,WACdm3G,SAAU,WACV9oB,WAAY,WACZorE,OAAQ,WACR3kL,SAAU,WACVigS,cAAe,WACfpqP,SAAU,WACVwpC,YAAa,WACbp/E,QAAS,WACT2/O,QAAS,WACT74R,QAAS,WACT4qF,cAAe,WACf+pG,oBAAqB,WACrB/d,UAAW,WACX17J,cAAe,WACfywR,eAAgB,WAChBrpJ,cAAe,WACfhf,iBAAkB,WAClB2mF,oBAAqB,WACrBk0D,eAAgB,WAChB/rB,eAAgB,WAChB1uE,cAAe,WACfymE,uBAAwB,WACxB71F,aAAc,WACdE,YAAa,WACbr2C,YAAa,WACb2pO,gBAAiB,WACjBl8P,kBAAmB,WACnBgjL,kBAAmB,WACnB5pB,iBAAkB,WAClB1xK,mBAAoB,WACpB28E,qBAAsB,WACtB83L,gBAAiB,WACjBxmM,cAAe,WACfuoB,WAAY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","sources":["webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/RoutingSettingsForm/constants.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/constants.ts","webpack:///./design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel.tsx","webpack:///./common/store/alerts/types.ts","webpack:///./common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter.tsx","webpack:///./common/contexts/partner-context.ts","webpack:///./broker-admin/store/spot/reducer.ts","webpack:///./common/components/IconWithNumber/IconWithNumber.scss?e196","webpack:///./common/components/AssetSidebarContent/SetUnavailableForm/hooks/usySyncMapState.ts","webpack:///./broker-admin/store/broker-tour-details/actions.ts","webpack:///./common/components/suggests/TeamMemberSuggest/TeamMemberSuggest.tsx","webpack:///./common/components/Timeline/TimeWindow/TimeWindow.tsx","webpack:///./common/store/rfqs-stats/sagas.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/PricingSettingsForm/PricingSettingsForm.scss?b91a","webpack:///./common/components/notification-cards/entities/SubjectLink/SubjectLink.tsx","webpack:///./common/store/rfqs/selectors.ts","webpack:///./common/layouts/Members/DeactivateUserForm/DeactivateUserForm.tsx","webpack:///./common/layouts/TrucksPageLayout/constants.ts","webpack:///./common/components/NumberInput/NumberInput.scss?7301","webpack:///./common/store/rfq-details/selectors.ts","webpack:///./common/components/tabs/TabLabel/constants.ts","webpack:///./design-system/components/InfoTable/formatters/CommentFormatter/CommentFormatter.tsx","webpack:///./common/layouts/DriversPageLayout/InviteDriverForm/InviteDriverForm.scss?4cac","webpack:///./broker-admin/components/notification-cards/AddressVerificationCard/AddressVerificationCard.tsx","webpack:///./broker-admin/store/broker-order-stats/sagas.ts","webpack:///./common/icons/BigPlusUsers.tsx","webpack:///./common/components/tabs/ButtonTabs/ButtonTabs.tsx","webpack:///./common/components/PillLabel/PillLabel.tsx","webpack:///./common/store/transport-orders/actions.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/ManagementControl/ManagementControl.scss?1928","webpack:///./broker-admin/components/notification-cards/RemovedFromTeamCard/RemovedFromTeamCard.scss?83fb","webpack:///./common/store/driver-search/actions.ts","webpack:///./common/layouts/NewOrderPage/OffersForm/QuickActions/QuickActions.tsx","webpack:///./common/components/toasts/footers/AssetFailedActionFooter/AssetFailedActionFooter.scss?6969","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/UploadLoader/UploadLoader.tsx","webpack:///./common/components/entity-details/hooks/distance-rows-factory.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/CommonDocumentParamsDetailsForm/prepare-approve-data.ts","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/TypeCell/TypeCell.tsx","webpack:///./common/layouts/RFQListPageLayout/FiltersSidebarContent/FiltersSidebarContent.tsx","webpack:///./broker-admin/store/invoices/sagas.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderRouteMap/PointStackClusterPin/PointStackClusterPin.tsx","webpack:///./common/utils/hooks/useAsyncFormErrors.ts","webpack:///./common/layouts/BaseShipperContractDetailsLayout/EditShipperContractDetailsForm/get-initial-values.ts","webpack:///./common/components/AssetSidebarContent/SetUnavailableForm/constants.ts","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsForm/validate-form.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DeadheadCreationReceipt/DeadheadCreationReceipt.tsx","webpack:///./common/store/carrier-contracts/channels.ts","webpack:///./common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger.scss?80bd","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/StatusCell/StatusCell.tsx","webpack:///./common/store/rfq-details/types.ts","webpack:///./common/layouts/ContinueSignUpPage/ContinueSignUpForm/validate-form.ts","webpack:///./common/contexts/partner-permission-context.ts","webpack:///./broker-admin/store/broker-teams/reducer.ts","webpack:///./common/components/InlineLoader/InlineLoader.scss?2a09","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/RouteForm.scss?e8e4","webpack:///./common/components/LineLoader/LineLoader.scss?5d19","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/EditTimeWindowsForm/validate-form.ts","webpack:///./common/icons/LogoIcon.tsx","webpack:///./common/store/company/utils/check-verification-problems.ts","webpack:///./common/components/Table/cell-renderers/TableCellLink/TableCellLink.scss?7df6","webpack:///./common/icons/DownloadIcon.tsx","webpack:///./common/icons/TrailerPickUpIcon.tsx","webpack:///./common/components/status-pill/DocumentStatusPill/DocumentStatusPill.tsx","webpack:///./common/store/carriers-utilization/utils.ts","webpack:///./common/layouts/TrucksPageLayout/TrucksTable/cell-renderers/ModelCell/ModelCell.scss?e833","webpack:///./common/store/driver-assigment/selectors.ts","webpack:///./design-system/components/InfoTable/formatters/AdditionalServiceFormatter/AdditionalServiceFormatter.tsx","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/dialogs/DeleteTeamConfirmation/DeleteTeamConfirmation.tsx","webpack:///./broker-admin/components/notification-cards/ExpiredPartnerShipperContractCard/ExpiredPartnerShipperContractCard.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/RulesTable.scss?f6cd","webpack:///./broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/ChangeShipmentStatusFooter.scss?2d39","webpack:///./common/components/pills/PartnerTypePill/PartnerTypePill.tsx","webpack:///./design-system/components/AsyncSearchScrollableList/AsyncSearchScrollableList.tsx","webpack:///./common/components/suggests/BrokerAdminUserSuggest/BrokerAdminUserSuggest.tsx","webpack:///./broker-admin/components/PriceRuleTypeLabel/PriceRuleTypeLabel.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/SpotAssetsAssignmentForm/AssetOptionLabel/AssetOptionLabel.scss?843e","webpack:///./common/store/errors/actions.ts","webpack:///./common/store/documents-dict/sagas.ts","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/TruckDetailsForm/validate-form.ts","webpack:///./common/components/PillLabel/PillLabel.scss?6c45","webpack:///./broker-admin/components/notification-cards/CompletedPartnerDocumentCard/CompletedPartnerDocumentCard.tsx","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/cell-renderers/CostsCell/CostsCell.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/EvidenceOfTaxDetailsForm/get-initial-values.ts","webpack:///./common/components/ErrorModal/ErrorTraceId/ErrorTraceId.scss?5d50","webpack:///./common/components/forms/FormikConnectContextField/FormikConnectContextField.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrdersTable/TransportOrdersTable.tsx","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerUsersLayout/BrokerUsersLayout.tsx","webpack:///./common/components/pills/PriceRuleImpactPill/PriceRuleImpactPill.tsx","webpack:///./design-system/components/date-pickers/DatePicker/DatePicker.tsx","webpack:///./common/layouts/NewOrderPage/OfferDetails/EditOfferTotalPriceLayout/EditOfferTotalPriceLayout.tsx","webpack:///./common/components/toasts/AlertToastsManager/utils.tsx","webpack:///./common/layouts/Members/ContactsTable/cell-renderers/PositionsCell/PositionsCell.tsx","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsForm/constants.ts","webpack:///./broker-admin/store/statistics/selectors.ts","webpack:///./common/utils/logger.ts","webpack:///./common/utils/view-event-channel.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDocumentsPage/PartnerDocumentsPage.tsx","webpack:///./common/components/ErrorModal/ErrorDetails/ErrorDetails.scss?2d03","webpack:///./common/components/status-pill/BrokerOrderStatusPill/BrokerOrderStatusPill.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/FerryDisembarkPointPicker/FerryDisembarkPointPicker.tsx","webpack:///./common/layouts/RFQDetailsPageLayout/dialogs/CloseRFQConfirmation/CloseRFQConfirmation.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/CurrentAssetPositionPin/CurrentAssetPositionPin.tsx","webpack:///./common/store/order-creation/utils/get-query-modify-event-after-reserve.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/DriversAssignmentFooterContent/DriversAssignmentFooterContent.scss?69c7","webpack:///./broker-admin/store/spot/selectors.ts","webpack:///./common/layouts/Members/Members.tsx","webpack:///./broker-admin/store/price-settings/system-settings/sagas.ts","webpack:///./common/layouts/SideBars/SideBarParanja/SideBarParanja.tsx","webpack:///./common/layouts/NewOrderPage/NewOrderPage.scss?f4d1","webpack:///./common/store/papers-edit/constants.ts","webpack:///./common/layouts/NewOrderPage/OffersForm/OffersForm.tsx","webpack:///./common/layouts/BaseShipperContractLaneDetailsLayout/BaseShipperContractLaneDetailsLayout.tsx","webpack:///./common/store/documents/types.ts","webpack:///./common/components/Table/TableActions/TableActions.tsx","webpack:///./common/components/Table/cell-renderers/HumanReadableDateCell/HumanReadableDateCell.tsx","webpack:///./broker-admin/components/dropdowns/PartnerSuggest/PartnerSuggest.tsx","webpack:///./common/icons/PlusIcon.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/contexts/assets-selection-context.ts","webpack:///./broker-admin/components/dropdowns/KeyAccountManagerDropdown/KeyAccountManagerDropdown.tsx","webpack:///./common/components/notification-cards/shared/NotificationEntityLabel/NotificationEntityLabel.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/LinkedTruckAlert/LinkedTruckAlert.tsx","webpack:///./common/layouts/SideBars/contents/AddDriverSidebarContent/AddDriverSidebarContent.scss?c2f4","webpack:///./design-system/components/Card/Card.tsx","webpack:///./common/components/toasts/AlertToastsManager/AlertToastsManager.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentEventsSummary/DocumentEventsSummary.tsx","webpack:///./common/layouts/TimeLeft/TimeLeft.scss?1712","webpack:///./common/layouts/TrailersPageLayout/ActiveFleetCount/ActiveFleetCount.tsx","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/TruckDetailsSidebarContent/TruckDetailsSidebarContent.scss","webpack:///./common/store/consistent-state-machine/channels.ts","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/ApproveDocumentsConfirmation/ApproveDocumentsConfirmation.tsx","webpack:///./common/icons/DestinationIcon.tsx","webpack:///./common/layouts/Members/UserStatusControl/UserStatusControl.tsx","webpack:///./common/store/countries-dict/actions.ts","webpack:///./common/components/papers/PapersGrid/PapersGrid.scss?8268","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/RFQsTable.scss?aa86","webpack:///./common/components/Loader/Loader.tsx","webpack:///./common/store/settings/selectors.ts","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/TrailerActionHistory/TrailerActionHistory.scss?9c38","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/footers/SaveFooterContent/SaveFooterContent.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/ChangeRateOrContractWarning/ChangeRateOrContractWarning.scss","webpack:///./common/utils/debug-info.ts","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/RulePreview/RulePreview.tsx","webpack:///./common/layouts/TrailersPageLayout/constants.ts","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/ExternalNumberCell/ExternalNumberCell.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/dialogs/UnlockPartnerConfirmation/UnlockPartnerConfirmation.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/footers/EditTimeWindowsFooterContent/EditTimeWindowsFooterContent.scss?7f45","webpack:///./common/components/notification-cards/RunningOutOfTimeAssignAssetsCard/RunningOutOfTimeAssignAssetsCard.scss?1e8a","webpack:///./common/components/notification-cards/entities/NotificationSubjectType/NotificationSubjectType.scss?7133","webpack:///./broker-admin/layouts/SideBars/UploadShipperContractSidebarContent/UploadShipperContractSidebarContent.tsx","webpack:///./design-system/components/dropdowns/DropdownControl/DropdownControl.scss?043f","webpack:///./broker-admin/utils/api/spot-broker-tranziit/api.ts","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsTable/BrokerTeamsTable.scss?01ae","webpack:///./common/store/alerts/sagas.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/utils.ts","webpack:///./broker-admin/layouts/SideBars/CreatePartnerSidebarContent/get-initial-values.ts","webpack:///./common/components/Table/DummyPagination/DummyPagination.scss?2964","webpack:///./common/store/shipper-contract-lane-creation/selectors.ts","webpack:///./common/components/maps/pins/LastAssetWithNumberTrackPointPin/LastAssetWithNumberTrackPointPin.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-selected-lane.ts","webpack:///./common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent.scss?3304","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/query-models.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestDetailsPage/SpotRequestDetailsPage.tsx","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/RateMatrix.tsx","webpack:///./broker-admin/components/notification-cards/UpdatedPartnerShipperLaneContractCard/UpdatedPartnerShipperLaneContractCard.scss?ac12","webpack:///./broker-admin/store/notifications/sagas.ts","webpack:///./common/layouts/ChangePasswordPage/validate-form.ts","webpack:///./common/icons/DownArrowIcon.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-reserve-channel-lock.ts","webpack:///./design-system/components/IconTrigger/IconTrigger.scss?f89a","webpack:///./common/layouts/NewOrderPage/MapFooterEstimate/MapFooterEstimate.scss?0482","webpack:///./common/store/shipper-suggest/reducer.ts","webpack:///./broker-admin/layouts/PartnersPage/PartnerTypeControl/PartnerTypeControl.scss","webpack:///./common/layouts/TrailerDetailsPage/TrailerDetailsPage.tsx","webpack:///./common/icons/PlusSignIcon.tsx","webpack:///./broker-admin/store/broker-order-edit/actions.ts","webpack:///./common/components/tabs/ButtonTabs/ButtonTabs.scss?8ac8","webpack:///./common/utils/hooks/useSyncFormValues.ts","webpack:///./common/store/grouped-notification-counts/constants.ts","webpack:///./common/components/dropdowns/TruckRateModeDropdown/TruckRateModeDropdown.tsx","webpack:///./broker-admin/components/notification-cards/TransportationOrderDeclinedCard/TransportationOrderDeclinedCard.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/footer-alert-contents/NotUsedRoutePointValidationAlertContent/NotUsedRoutePointValidationAlertContent.tsx","webpack:///./common/icons/ArrowDownIcon.tsx","webpack:///./common/components/toasts/icons.tsx","webpack:///./common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent.tsx","webpack:///./common/store/vehicle-schedules/actions.ts","webpack:///./common/store/auth/types.ts","webpack:///./broker-admin/store/spot/types.ts","webpack:///./common/layouts/RFQDetailsPageLayout/RFQDetailsPageLayout.tsx","webpack:///./design-system/components/InfoTable/InfoTable.scss?09f3","webpack:///./broker-admin/layouts/ShipperContractDetailsPage/ShipperContractDetailsLayout/ShipperContractDetailsLayout.tsx","webpack:///./broker-admin/components/notification-cards/RevokedPartnerShipperContractCard/RevokedPartnerShipperContractCard.scss?a679","webpack:///./common/components/papers/utils/getVisibleOptimisticPapers.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriversAssignmentForm.scss?f32f","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteSidebarSkeleton/RouteSidebarSkeleton.tsx","webpack:///./common/store/time-zones/sagas.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/PricingSettingsForm/constants.ts","webpack:///./common/store/user/actions.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-map-state.ts","webpack:///./common/components/notification-cards/ShipmentMissedCard/ShipmentMissedCard.tsx","webpack:///./broker-admin/components/notification-cards/ExpireSoonPartnerShipperLaneContractCard/ExpireSoonPartnerShipperLaneContractCard.scss?0f19","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/cell-renderers/BidsCountCell/BidsCountCell.tsx","webpack:///./common/utils/hooks/usePartnerPermissionsContext.ts","webpack:///./common/components/dropdowns/TimeZoneDropdown/TimeZoneDropdown.tsx","webpack:///./common/store/transport-orders/reducer.ts","webpack:///./common/components/Timeline/constants.ts","webpack:///./common/components/controls/ShipperContractLaneStatusDropdownControl/ShipperContractLaneStatusDropdownControl.tsx","webpack:///./common/icons/SearchIcon.tsx","webpack:///./common/utils/hooks/useWatchFormFieldChanges.ts","webpack:///./common/components/Timeline/Flag/Flag.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/ControlsCell/ControlsCell.scss","webpack:///./common/store/auth/actions.ts","webpack:///./common/utils/form-values-storage.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationConfirmForm/validate-form.ts","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesLayout.tsx","webpack:///./design-system/components/AsyncSearchScrollableList/ListMessage/ListMessage.scss?fd48","webpack:///./common/store/shipper-suggest/types.ts","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/LinkedTrailerAlert/LinkedTrailerAlert.tsx","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationMap/ShipperContractLaneCreationMap.scss?d102","webpack:///./common/layouts/SideBars/utils.tsx","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/cell-renderers/IdCell/IdCell.scss?d0e7","webpack:///./broker-admin/layouts/PartnerPage/PartnerTransportOrderDetails/PartnerTransportOrderDetails.tsx","webpack:///./common/icons/LockIcon.tsx","webpack:///./common/components/status-pill/TrailerStatusPill/TrailerStatusPill.tsx","webpack:///./common/components/notification-cards/entities/Identifier/Identifier.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/hooks/use-sync-points-channels.ts","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/ItemsCount/ItemsCount.tsx","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/BidMessage/BidMessage.scss?bd36","webpack:///./common/store/routing-geometry/constants.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteEditMap/ExcludeCountries/ExcludeCountries.tsx","webpack:///./common/utils/deep-equal.ts","webpack:///./common/icons/InvoiceIcon.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RuleStateControl/RuleStateControl.scss","webpack:///./broker-admin/components/notification-cards/ExpireSoonPartnerShipperContractCard/ExpireSoonPartnerShipperContractCard.scss?970d","webpack:///./common/utils/hooks/useModalDialog.tsx","webpack:///./common/components/RangeSelector/RangeSelector.scss?239b","webpack:///./common/utils/validators.ts","webpack:///./broker-admin/store/broker-order-stats/slice.ts","webpack:///./common/components/Table/Table.scss?3c86","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/Bids/Bids.scss?a55d","webpack:///./broker-admin/store/broker-team-edit/slice.ts","webpack:///./design-system/components/InfoTable/formatters/SkeletonFormatter/SkeletonFormatter.tsx","webpack:///./common/layouts/RFQListPageLayout/RFQListPageLayout.tsx","webpack:///./common/store/order-creation/utils/preview-reverse-query.ts","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/TruckDetailsSidebarContent/TruckDetails/TruckDetails.scss?1945","webpack:///./common/components/RedirectPendingUser/RedirectPendingUser.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/CreateUpdateCell/CreateUpdateCell.scss?0ae1","webpack:///./broker-admin/store/partner/details/sagas.ts","webpack:///./common/icons/ExpandIcon.tsx","webpack:///./common/utils/percents.ts","webpack:///./common/layouts/SideBars/contents/AddTrailerSidebarContent/AddTrailerSidebarContent.tsx","webpack:///./common/components/AssetSidebarContent/SetUnavailableForm/SetUnavailableForm.tsx","webpack:///./design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger.tsx","webpack:///./common/store/papers-edit/utils/parse-response-data.ts","webpack:///./design-system/components/ButtonGroup/ButtonGroup.scss?08d7","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/TrailerDetailsSidebarContent/TrailerDetails/TrailerDetails.scss?c313","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/TeamsCell/TeamsCell.tsx","webpack:///./common/utils/money.ts","webpack:///./common/components/FilterPills/FilterPill/FilterPill.tsx","webpack:///./common/components/notification-cards/StatusChangedCard/StatusChangedCard.tsx","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/SelectedFilters/SelectedFilters.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/dialogs/UnassignAssetsConfirmation/UnassignAssetsConfirmation.tsx","webpack:///./common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown.tsx","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsLayout.scss?065e","webpack:///./common/components/AssetSidebarContent/hooks/useAssetServiceLocationContextValue.ts","webpack:///./common/store/carrier-contracts/types.ts","webpack:///./common/layouts/NewOrderPage/RouteMap/RouteMap.scss?2d52","webpack:///./common/components/status/UserStatus/UserStatus.tsx","webpack:///./broker-admin/layouts/InvoicesListPage/InvoicesListPage.scss","webpack:///./common/store/user/sagas.ts","webpack:///./broker-admin/store/order-edit/utils/get-context-route-point-hash.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/RouteEditForm.tsx","webpack:///./common/components/status-pill/TourStatusPill/TourStatusPill.scss","webpack:///./common/utils/semaphore-saga.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/cell-renderers/ExpireDateCell/ExpireDateCell.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/constants.ts","webpack:///./common/icons/TrailerDropOffIcon.tsx","webpack:///./common/utils/features/client-features-config.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contexts/sync-asset-schedule.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/SpotRequestDetails.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentDetailsLayout.scss?d1a3","webpack:///./broker-admin/store/broker-order-details/sagas.ts","webpack:///./carrier/utils/shipment-papers-url-factory.ts","webpack:///./broker-admin/components/notification-cards/entities/BrokerOrderNumber/BrokerOrderNumber.scss?ae07","webpack:///./common/components/papers/PaperLayout/PaperPlaceholder/PaperPlaceholder.tsx","webpack:///./common/layouts/SelfCreateCompanyPage/CreateCompanyForm/constants.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationMap/Estimate/Estimate.tsx","webpack:///./common/layouts/NewOrderPage/OffersForm/SelectedOfferHeader/SelectedOfferHeader.scss?b2bd","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/PickupOrDeliveryRoutePointPicker/PickupOrDeliveryRoutePointPicker.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/constants.ts","webpack:///./common/icons/PdfFileIcon.tsx","webpack:///./broker-admin/components/notification-cards/entities/BrokerOrderNumber/BrokerOrderNumber.tsx","webpack:///./broker-admin/components/dropdowns/BrokerPartnersControl/BrokerPartnersControl.tsx","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/cell-renderers/IdCell/IdCell.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/CarrierDropdown/CarrierWithUtilizationDropdownOption/CarrierWithUtilizationDropdownOption.tsx","webpack:///./common/components/status-pill/TransportOrderStatusPill/TransportOrderStatusPill.scss?5684","webpack:///./common/store/transport-order-details/reducer.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RevokeContractConfirmation/validate-form.ts","webpack:///./common/layouts/BaseShipperContractDetailsLayout/ShipperContractDetails/ShipperContractDetails.tsx","webpack:///./common/layouts/BaseShipperContractLaneDetailsLayout/ShipperContractLaneDetailsMap/ShipperContractLaneDetailsMap.scss?58dd","webpack:///./common/layouts/LeftMenuLayout/ContentMargins/ContentMargins.scss?1bb3","webpack:///./common/components/units/UnitTypeCount/UnitTypeCount.scss?9e81","webpack:///./common/components/Table/DummyPagination/DummyPagination.tsx","webpack:///./common/components/Table/cell-renderers/CountryCell/CountryCell.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarMessage/SideBarMessage.scss?93ad","webpack:///./common/layouts/TransportOrderDetailsPageLayout/SpotAssetsAssignmentForm/SpotAssetsAssignmentForm.scss?5337","webpack:///./design-system/components/InfoTable/formatters/SimpleDriverFormatter/SimpleDriverFormatter.tsx","webpack:///./broker-admin/store/price-settings/additional-services/types.ts","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/RejectDocumentConfirmation/get-initial-values.ts","webpack:///./common/utils/api/tranziit/errors/tranziit-api-errors.ts","webpack:///./broker-admin/components/info-tables/CarrierCostPriceInfoTable/CarrierCostPriceInfoTable.tsx","webpack:///./design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel.scss?8c9f","webpack:///./common/layouts/NewOrderPage/OfferDetails/OfferDetails.scss?4979","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/TemperatureRangePicker/TemperatureRangePicker.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DeadheadCreationReceipt/DeadheadCreationReceipt.scss?e934","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/WarningsFilter/WarningsFilter.tsx","webpack:///./common/store/grouped-notification-counts/types.ts","webpack:///./common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetForm/prepare-activate-vehicles-request.ts","webpack:///./common/utils/hooks/useQuery.ts","webpack:///./design-system/components/Divider/Divider.tsx","webpack:///./common/store/documents/reducer.ts","webpack:///./common/store/rfqs/types.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus.tsx","webpack:///./common/utils/interval-saga.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/TimeIntervalLimitPillLabel/TimeIntervalLimitPillLabel.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/SpotAssetsAssignmentFooterContent/SpotAssetsAssignmentFooterContent.scss?ce2d","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contants.ts","webpack:///./common/layouts/AuthLoader/AuthLoader.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/footers/SendingToSpotFooterContent/SendingToSpotFooterContent.scss?5e2f","webpack:///./common/components/papers/PaperLayout/UploadedByLabel/UploadedByLabel.tsx","webpack:///./broker-admin/layouts/SideBars/PriceSettingsRuleFiltersSidebarContent/PriceSettingsRuleFiltersSidebarContent.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/WarningsFilter/WarningsFilter.tsx","webpack:///./common/store/order-creation/channels.ts","webpack:///./common/store/countries-dict/selectors.ts","webpack:///./common/components/status-colored/ShipperContractLaneColoredStatus/ShipperContractLaneColoredStatus.tsx","webpack:///./common/components/Link/Link.scss?a557","webpack:///./common/icons/XLSIcon.tsx","webpack:///./common/components/Table/cell-renderers/DateCell/DateCell.scss?0a05","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/footers/StatusFooterContent/StatusFooterContent.tsx","webpack:///./common/layouts/dialogs/ChangeRateOrContractAssetDialogModal/ChangeRateOrContractAssetForm/ChangeRateOrContractAssetForm.tsx","webpack:///./broker-admin/components/notification-cards/TourDelayingCard/TourDelayingCard.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/contexts/timezone-context.ts","webpack:///./broker-admin/store/managers/sagas.ts","webpack:///./common/components/CheckboxOptionsList/CheckboxOptionsList.scss?8521","webpack:///./common/icons/ControlLoaderIcon.tsx","webpack:///./common/components/status-colored/TransportOrderColoredStatus/TransportOrderColoredStatus.tsx","webpack:///./common/utils/hooks/useDocumentVisibilityEffect.ts","webpack:///./broker-admin/layouts/InvoicesListPage/InvoicesListPage.tsx","webpack:///./common/components/MultiPointOrderRouteMap/MultiPointOrderRouteMap.tsx","webpack:///./common/layouts/BaseShipperContractLanesLayout/prepare-fetch-page-query.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/utils/stop-type.ts","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/validations/not-used-route-points.ts","webpack:///./common/layouts/RightSidebarLayout/RightSidebarLayout.tsx","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationConfirmForm/AveragePriceOfferDetails/AveragePriceOfferDetails.tsx","webpack:///./common/components/ErrorModal/ErrorModal.tsx","webpack:///./common/components/Timeline/TimelineSidebar/constants.ts","webpack:///./common/store/errors/sagas.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLoader/HeaderSideBarLoader.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/LockActionOnChangeForm/LockActionOnChangeForm.tsx","webpack:///./design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput.scss?a5c9","webpack:///./common/components/Table/utils/check-need-render-empty-state.ts","webpack:///./common/store/trailers-dict/reducer.ts","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/cell-renderers/OrdersCountCell/OrdersCountCell.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerMembersPage/PartnerMembersPage.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DeleteWaypointTrigger/DeleteWaypointTrigger.tsx","webpack:///./common/components/TraceIdLabel/TraceIdLabel.scss?aab3","webpack:///./common/components/Table/cell-renderers/EventCell/EventCell.tsx","webpack:///./common/components/notification-cards/RunningOutOfTimeAssignDriversCard/RunningOutOfTimeAssignDriversCard.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/EvidenceOfTaxDetailsForm/validate-form.ts","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerUsersTab/BrokerUsersTab.tsx","webpack:///./common/layouts/BaseShipperContractLaneDetailsLayout/ShipperContractLaneDetailsMap/ShipperContractLaneDetailsMap.tsx","webpack:///./common/store/country-settings-dict/reducer.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerTrailersPage/PartnerTrailersPage.tsx","webpack:///./design-system/components/date-pickers/OpenedDatePicker/OpenedDatePicker.scss?841b","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/FerryOnboardPointPicker/FerryOnboardPointPicker.tsx","webpack:///./broker-admin/components/dropdowns/CarriersSuggest/hooks/use-carrier-suggest-options.ts","webpack:///./common/utils/hooks/useChannelSubscribe.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/ParanjaSideBarLayout/ParanjaSideBarLayout.scss?61f8","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssignmentMap.scss?ad78","webpack:///./common/components/status/InvoiceStatus/InvoiceStatus.tsx","webpack:///./broker-admin/components/notification-cards/CompletedPartnerShipperLaneContractCard/CompletedPartnerShipperLaneContractCard.tsx","webpack:///./common/icons/TruckPickUpIcon.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-only-available-lane.ts","webpack:///./broker-admin/components/dropdowns/BrokerUserControl/BrokerUserControl.scss?a3d7","webpack:///./broker-admin/store/partner/details/actions.ts","webpack:///./common/icons/DocIcon.tsx","webpack:///./common/components/papers/ImageLoader/ImageLoader.scss?46e8","webpack:///./common/layouts/SelfCreateCompanyPage/SelfCreateCompanyPage.scss","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RevokeContractConfirmation/RevokeContractConfirmation.scss?46e9","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssetTypeTabs/constants.ts","webpack:///./common/store/shipper-contract-lane-details/sagas.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout.tsx","webpack:///./common/store/order-creation/utils/prepare-rfq.ts","webpack:///./design-system/components/InfoTable/formatters/AsyncTrailerTypeFormatter/AsyncTrailerTypeFormatter.tsx","webpack:///./common/components/maps/pins/AssetDropOffLocationPin/AssetDropOffLocationPin.tsx","webpack:///./common/layouts/SideBars/contents/DriverFiltersSidebarContent/constants.ts","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsForm/prepare-changes.ts","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsTable/cell-renderers/ControlsCell/ControlsCell.tsx","webpack:///./broker-admin/store/price-settings/system-settings/actions.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/SpotSettingsForm/prepare-system-settings.ts","webpack:///./common/components/RangeSelector/ZoneText/ZoneText.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel.tsx","webpack:///./common/layouts/SideBars/contents/ContactDetailsSidebarContent/hooks/use-action-options.tsx","webpack:///./common/layouts/Members/InviteUserForm/validate-form.ts","webpack:///./broker-admin/components/notification-cards/UpdatedPartnerDocumentCard/UpdatedPartnerDocumentCard.scss?34fc","webpack:///./common/layouts/BaseShipperContractsLayout/SelectedFilters/SelectedFilters.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/TimeZoneDropdown/TimeZoneDropdown.tsx","webpack:///./common/layouts/SideBars/hooks.tsx","webpack:///./common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetForm/RateSourceOption/RateSourceOption.scss?f7e7","webpack:///./broker-admin/store/spot-requests/sagas.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderRouteMap/BrokerOrderRouteMap.tsx","webpack:///./common/layouts/dialogs/ArchiveAssetConfirmationModal/get-initial-values.ts","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/cell-renderers/IdCell/IdCell.tsx","webpack:///./common/components/info-tables/ShipperPriceOfferInfoTable/ShipperPriceOfferInfoTable.tsx","webpack:///./common/icons/BigRadioIcon.tsx","webpack:///./broker-admin/store/partner/reducer.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RejectContractConfirmation/get-initial-values.ts","webpack:///./common/store/assets/slice.ts","webpack:///./common/layouts/NewOrderPage/OfferDetails/PriceDetailsHeader/PriceDetailsHeader.scss?c8b9","webpack:///./design-system/components/FilePickerInput/FilePickerInput.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/PricingSettingsForm/get-initial-values.ts","webpack:///./broker-admin/layouts/SideBars/EditableShipperContractLaneDetailsSidebarContent/EditableShipperContractLaneDetailsSidebarContent.tsx","webpack:///./common/store/gps-tracking-status/constants.ts","webpack:///./common/components/notification-cards/RunOutOfTimeAssignDriversCard/RunOutOfTimeAssignDriversCard.tsx","webpack:///./broker-admin/store/order-edit/models.ts","webpack:///./broker-admin/store/price-settings/rates/channels.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/TransportOrderDetails.scss?ff91","webpack:///./common/components/Company/Company.tsx","webpack:///./design-system/components/AsyncSearchScrollableList/hooks/use-update-options-ids-set.tsx","webpack:///./common/layouts/Members/ContactsTable/cell-renderers/PendingUserCell/PendingUserCell.scss?0588","webpack:///./common/components/maps/MapBound/MapBound.tsx","webpack:///./common/components/entity-details/RouteLocationsOverview/RouteLocationsOverview.scss?965f","webpack:///./broker-admin/store/invoices/channels.ts","webpack:///./common/icons/BigLaneIcon.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DropPointPicker/DropPointPicker.scss?a33c","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel.tsx","webpack:///./common/layouts/TrucksPageLayout/TrucksPageLayout.scss?1f6d","webpack:///./broker-admin/components/status-machine/ChangeTransportOrderStatusControl/ChangeTransportOrderStatusControl.tsx","webpack:///./common/layouts/BaseShipperContractLanesLayout/FiltersSidebarContent/get-query-filters.ts","webpack:///./common/icons/RestoreIcon.tsx","webpack:///./common/components/dropdowns/options/UserDropdownOptionLabel/UserDropdownOptionLabel.tsx","webpack:///./common/store/trucks-dict/types.ts","webpack:///./common/components/Modal/ModalContent/ModalContent.scss?ed03","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsTable/cell-renderers/ExpireDateCell/ExpireDateCell.scss?18be","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteDetailsForm/validate-form.ts","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/validate-form.ts","webpack:///./common/store/driver-search/sagas.ts","webpack:///./broker-admin/store/partners-stats/sagas.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/CarrierDropdown/CarrierDropdown.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerMembersPage/PartnerMembersPage.scss","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/RoutingSettingsForm/prepare-system-settings.ts","webpack:///./common/components/toasts/Toast/Toast.tsx","webpack:///./common/layouts/NewOrderPage/FormTitle/FormTitle.scss?0b92","webpack:///./carrier/utils/api/carrier-tranziit/api.ts","webpack:///./common/utils/features/server-features-config.ts","webpack:///./broker-admin/components/notification-cards/entities/ContractName/ContractName.scss?375b","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TourDetailsCard/footers/StartEditTimeWindowsFooter/StartEditTimeWindowsFooter.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/TimeWindowZoneText/TimeWindowZoneText.scss?7130","webpack:///./broker-admin/store/broker-teams/selectors.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationForm/ShipperContractLaneCreationForm.scss?a2a0","webpack:///./common/components/NavBurger/override.css?6d51","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/prepare-fetch-page-query.ts","webpack:///./common/layouts/Members/PositionOption/PositionOption.scss?c2d7","webpack:///./common/store/drivers/actions.ts","webpack:///./common/components/ExcludeCountriesMapWidget/ExcludedCountry/ExcludedCountry.tsx","webpack:///./common/layouts/TrailersPageLayout/query-models.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerTrucksPage/PartnerTrucksPage.tsx","webpack:///./broker-admin/components/dropdowns/ShipperSuggest/ShipperSuggest.tsx","webpack:///./common/layouts/DriversPageLayout/InviteDriverForm/validate-form.ts","webpack:///./common/components/Table/cell-renderers/LocationCell/LocationCell.scss?5eae","webpack:///./common/layouts/SideBars/contents/EditDriverSidebarContent/EditDriverFormContent/constants.ts","webpack:///./common/layouts/SideBars/contents/EditDriverSidebarContent/validate-form.ts","webpack:///./common/components/notification-cards/entities/CityName/CityName.tsx","webpack:///./design-system/components/InfoTable/formatters/SkeletonFormatter/SkeletonFormatter.scss?a100","webpack:///./design-system/components/dropdowns/DropdownControl/DropdownControl.tsx","webpack:///./common/store/vehicle-schedules/utils/around-date.ts","webpack:///./broker-admin/components/dropdowns/ShippersSuggest/ShippersSuggest.scss?a348","webpack:///./broker-admin/layouts/SideBars/UploadShipperContractSidebarContent/get-initial-values.ts","webpack:///./common/layouts/LeftCardLayout/LeftCardLayout.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/FerrySettingsForm/validate-form.ts","webpack:///./common/icons/HourglassIcon.tsx","webpack:///./common/layouts/RightSidebarLayout/RightSidebarLayout.scss?7d7e","webpack:///./broker-admin/layouts/PriceSettingsEditRuleLayout/async-validations.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/cell-renderers/CreateCell/CreateCell.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/EvidenceOfTaxDetailsForm/EvidenceOfTaxDetailsForm.tsx","webpack:///./broker-admin/store/spot-requests-stats/actions.ts","webpack:///./common/store/transport-order-details/sagas.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/SpotAssetsAssignmentForm/validate-form.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/RFQStats/RFQStats.scss?b27a","webpack:///./common/contexts/features.ts","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsLayout.scss","webpack:///./common/layouts/LeftMenuLayout/Navigation/Navigation.scss?852d","webpack:///./broker-admin/components/notification-cards/entities/ContractName/ContractName.tsx","webpack:///./common/components/status-pill/SpotRequestStatusPill/SpotRequestStatusPill.scss","webpack:///./common/components/SignUpForm/UserSignUpForm/validate-form.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/LaneDropdownInput/LaneDropdownInputOptionLabel/LaneDropdownInputOptionLabel.scss?f0bf","webpack:///./common/components/CompanyLogo/CompanyLogo.scss?f2b4","webpack:///./common/store/notifications/channels.ts","webpack:///./common/layouts/Members/InviteUserForm/async-validations.ts","webpack:///./broker-admin/store/spot-requests/actions.ts","webpack:///./common/store/partner-suggest/slice.ts","webpack:///./common/components/maps/pins/content/WaypointNumberPinContent/WaypointNumberPinContent.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/OrderTypeDropdown/OrderTypeDropdown.tsx","webpack:///./common/components/LanguageSelector/LanguageSelector.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentAssetSchedules/AssignmentAssetSchedules.tsx","webpack:///./broker-admin/components/dropdowns/TourTypeMultipleDropdown/TourTypeMultipleDropdown.tsx","webpack:///./common/store/rfqs-stats/types.ts","webpack:///./common/utils/form-helpers.ts","webpack:///./common/icons/DragIcon.tsx","webpack:///./common/components/filter-pills/PartnerFilterPill/PartnerFilterPill.tsx","webpack:///./common/icons/DetailsIcon.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/SelectedFilters/SelectedFilters.tsx","webpack:///./broker-admin/store/partners/reducer.ts","webpack:///./common/layouts/dialogs/CancelLastShipmentConfirmation/CancelLastShipmentConfirmation.tsx","webpack:///./common/icons/EmissionIcon.tsx","webpack:///./common/components/notification-cards/shared/NotificationCardInnerLayout/NotificationCardInnerLayout.tsx","webpack:///./common/components/status-pill/SpotBidStatusPill/SpotBidStatusPill.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssetTypeTabs/AssetTypeTabs.tsx","webpack:///./common/layouts/SignInPage/SignInPage.scss?a642","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/DeleteWaypointTrigger/DeleteWaypointTrigger.tsx","webpack:///./common/layouts/BaseShipperContractDetailsLayout/BaseShipperContractDetailsLayout.scss?4ff7","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationForm/validate-form.ts","webpack:///./common/components/ColoredStatusLabel/ColoredStatusLabel.scss?e46e","webpack:///./common/layouts/TrucksPageLayout/TrucksTable/TrucksTable.scss?2757","webpack:///./common/components/entity-details/DetailsOrPapersTabs/DetailsOrPapersTabs.scss?2e14","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/TrucksSuggest/TruckOptionLabel/TruckOptionLabel.tsx","webpack:///./common/store/asset-track/actions.ts","webpack:///./broker-admin/layouts/SideBars/PartnerFiltersSidebarContent/PartnerFiltersSidebarContent.tsx","webpack:///./broker-admin/store/spot-requests-stats/reducer.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/BaseSpotRequestDetailsSidebarContent.tsx","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsTable/BaseDocumentsTable.tsx","webpack:///./common/utils/watch-document-visibility-change-saga.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/validate-form.ts","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/validations/check-temperature-ranges-compatible.ts","webpack:///./common/components/ContractName/ContractName.scss?d1b1","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout.tsx","webpack:///./common/utils/hooks/useEqualPreviousValue.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/SystemSettings.scss?079f","webpack:///./common/components/Table/SortDropdown/SortDropdown.tsx","webpack:///./common/store/members/channels.ts","webpack:///./common/layouts/RFQListPageLayout/query-models.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetClusterPin/AssetClusterPin.tsx","webpack:///./common/utils/hooks/useCountriesByCode.ts","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/RFQsTable.tsx","webpack:///./broker-admin/store/dispatchers/selectors.ts","webpack:///./common/components/SignUpForm/prepare-sign-up-params.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/hooks/use-contracts-action-options.tsx","webpack:///./common/components/AssetSidebarContent/SetUnavailableForm/prepare-query.ts","webpack:///./common/layouts/DriversPageLayout/constants.ts","webpack:///./common/store/documents/actions.ts","webpack:///./common/utils/users.ts","webpack:///./common/components/RangeSelector/Steps/Steps.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/ShipperContractLaneDetailsSidebarContent/ShipperContractLaneDetails/ShipperContractLaneDetails.tsx","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetails/ContractDetails.scss?22b6","webpack:///./common/store/papers/types.ts","webpack:///./common/store/papers/actions.ts","webpack:///./common/utils/additional-services.ts","webpack:///./common/utils/distance.ts","webpack:///./design-system/components/Calendar/YearMonthForm/YearMonthForm.tsx","webpack:///./common/layouts/TimeLeft/TimeLeft.tsx","webpack:///./common/layouts/SideBars/contents/EditDriverSidebarContent/prepare-api-driver-changes.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsSidebarContent.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/TransportOrderDetailsCard/TransportOrderDetailsCard.tsx","webpack:///./design-system/components/date-pickers/DatePicker/DatePicker.scss?19d2","webpack:///./common/store/vehicle-schedules/selectors.ts","webpack:///./common/components/DocumentsTable/DocumentsTable.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetSchedulePin/AssetSchedulePin.tsx","webpack:///./common/store/papers/selectors.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/FerryOnboardPointPicker/FerryOnboardPointPicker.scss?e1b0","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/ContactCell/ContactCell.scss?9a69","webpack:///./common/layouts/SideBars/contents/EditDriverSidebarContent/get-initial-values.ts","webpack:///./broker-admin/store/price-settings/rates/actions.ts","webpack:///./common/layouts/RFQListPageLayout/RFQListPageLayout.scss","webpack:///./common/icons/LinkDropOffIcon.tsx","webpack:///./common/store/legal-forms-dict/reducer.ts","webpack:///./common/utils/hooks/useDimensions.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/cell-renderers/TrailerCell/TrailerCell.scss?8fa1","webpack:///./common/icons/NumberIcon.tsx","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/validate-form.ts","webpack:///./common/store/additional-services-dict/utils.ts","webpack:///./broker-admin/store/broker-order-assigment/sagas.ts","webpack:///./common/layouts/ContinueSignUpPage/ContinueSignUpPage.scss","webpack:///./common/utils/clipboard.ts","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/ShipperContractLaneDetailsSidebarContent/ShipperContractLaneDetailsSidebarContent.scss?5b38","webpack:///./broker-admin/store/partners-stats/reducer.ts","webpack:///./common/components/notification-cards/OrderEditedCard/OrderEditedCard.tsx","webpack:///./common/utils/page-sort.ts","webpack:///./common/store/members/sagas.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderRouteMap/TransportOrderRouteMap.tsx","webpack:///./common/components/PhoneNumberIcon/PhoneNumberIcon.tsx","webpack:///./common/store/partner-suggest/sagas.ts","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/CreateUpdateCell/CreateUpdateCell.tsx","webpack:///./common/icons/EcoIcon.tsx","webpack:///./common/utils/request-status.ts","webpack:///./common/icons/InfoIcon.tsx","webpack:///./common/components/papers/message-placeholders/PapersMessagePlaceholder/PapersMessagePlaceholder.tsx","webpack:///./broker-admin/components/notification-cards/CompletedPartnerShipperContractCard/CompletedPartnerShipperContractCard.tsx","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationConfirmForm/ShipperContractLaneCreationConfirmForm.tsx","webpack:///./common/components/Table/cell-renderers/IdCell/IdCell.scss?26a1","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarLoader/SideBarLoader.tsx","webpack:///./broker-admin/components/status-pill/PriceRuleStatusPill/PriceRuleStatusPill.tsx","webpack:///./common/components/FuelOptionTypeLabel/FuelOptionTypeLabel.tsx","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/ContactCell/ContactCell.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsForm/prepare-partner-details.ts","webpack:///./common/components/Money/Money.scss?aad2","webpack:///./common/components/status/LoadStatus/LoadStatus.tsx","webpack:///./common/layouts/SideBars/contents/TruckFiltersSidebarContent/get-initial-values.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/TrucksSuggest/TruckTriggerLabel/TruckTriggerLabel.scss?e816","webpack:///./common/icons/SnowflakeIcon.tsx","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/SpotRequestDetailsTabs/SpotRequestDetailsTabs.tsx","webpack:///./common/layouts/SideBars/SideBars.tsx","webpack:///./broker-admin/layouts/BrokerRFQsPage/BrokerRFQsListPage/BrokerRFQsListPage.tsx","webpack:///./common/utils/parse-trailer-model.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/TimeWindowZoneText/TimeWindowZoneText.scss?8f5c","webpack:///./common/components/PartnerPermissionsContextProvider/PartnerPermissionsContextProvider.tsx","webpack:///./broker-admin/layouts/InvoicesListPage/prepare-fetch-page-query.ts","webpack:///./broker-admin/store/price-settings/system-settings/types.ts","webpack:///./common/components/forms/FormikField/FormikField.scss?7fe1","webpack:///./common/icons/CheckIcon.tsx","webpack:///./common/layouts/Members/dialogs/InviteUserModal/InviteUserModal.tsx","webpack:///./common/components/dropdowns/ActiveContractDropdown/ActiveContractDropdown.tsx","webpack:///./common/store/trailers-dict/sagas.ts","webpack:///./broker-admin/layouts/App/App.scss?b23f","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/PriceSettingsRulePreviewLayout.scss?9031","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/FerrySettingsForm/constants.ts","webpack:///./broker-admin/layouts/StatisticsPage/DataSourceDropdown/DataSourceDropdown.scss","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/icons.tsx","webpack:///./common/layouts/ChangePasswordPage/ChangePasswordPage.scss?db2d","webpack:///./common/layouts/AccessDeniedPage/AccessDeniedPage.scss","webpack:///./common/store/errors/selectors.ts","webpack:///./common/utils/prepare-location.ts","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/ImportCsv/ImportCsv.tsx","webpack:///./common/utils/hooks/usePartnerContext.ts","webpack:///./broker-admin/components/notification-cards/ExpiredPartnerShipperLaneContractCard/ExpiredPartnerShipperLaneContractCard.scss?90b2","webpack:///./common/components/RangeSelector/DnDIconWrap/DnDIconWrap.scss?4905","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/EvidenceOfTaxDetailsForm/prepare-approve-data.ts","webpack:///./common/icons/StartIcon.tsx","webpack:///./broker-admin/store/spot-requests-stats/types.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/ShipmentDetailsCard/ShipmentDetailsCard.tsx","webpack:///./common/components/Modal/ModalDialog/ModalDialog.tsx","webpack:///./common/components/EmissionUnitValue/EmissionUnitValue.scss?c4d1","webpack:///./common/store/notifications/utils/filter-new-notifications.ts","webpack:///./common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout.scss?5004","webpack:///./common/utils/api/auth/base-security-auth-api.ts","webpack:///./broker-admin/store/broker-team-edit/selectors.ts","webpack:///./broker-admin/layouts/StatisticsPage/constants.ts","webpack:///./broker-admin/store/price-settings/system-settings/selectors.ts","webpack:///./common/layouts/ConfirmEmailPage/ConfirmEmailPage.scss?cc5d","webpack:///./broker-admin/store/broker-tour-stats/slice.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestDetailsPage/SpotRequestRoute/SpotRequestRoute.tsx","webpack:///./common/utils/file-name.ts","webpack:///./common/components/AsyncDictCountryNameLabel/AsyncDictCountryNameLabel.tsx","webpack:///./common/components/LoaderTitle/LoaderTitle.tsx","webpack:///./broker-admin/store/tenders/actions.ts","webpack:///./common/layouts/SideBars/contents/EditDriverSidebarContent/EditDriverSidebarContent.tsx","webpack:///./common/components/Table/FiltersTrigger/FiltersTrigger.scss","webpack:///./common/components/ControlLoaderLabel/ControlLoaderLabel.scss?71d1","webpack:///./common/components/entity-details/alerts/DelayingWarningAlert.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderListPage.scss","webpack:///./common/store/grouped-notification-counts/reducer.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/ApproveContractConfirmation/ApproveContractConfirmation.tsx","webpack:///./common/components/status-colored/ShipmentColoredStatus/ShipmentColoredStatus.tsx","webpack:///./common/components/dropdowns/LegalFormDropdown/LegalFormDropdown.scss","webpack:///./broker-admin/layouts/StatisticsPage/prepare-fetch-query.ts","webpack:///./common/components/TransparentButton/TransparentButton.scss?51d3","webpack:///./common/components/AssetScheduleSidebar/CancelServiceMaintanceTooltipContent/CancelServiceMaintanceTooltipContent.tsx","webpack:///./common/components/SignUpForm/CompanySignUpForm/constants.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/footers/SaveFooterContent/SaveFooterContent.scss?37be","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriverSuggestInput/DriverAssignOptionLabel/DriverAssignOptionLabel.tsx","webpack:///./common/components/AssetSidebarContent/SetUnavailableForm/validate-form.ts","webpack:///./broker-admin/components/notification-cards/entities/PartnerName/PartnerName.scss?722b","webpack:///./common/components/forms/FormikFieldArray/FormikFieldArray.tsx","webpack:///./common/layouts/SideBars/contents/EditContactDetailsSidebarContent/validate-form.ts","webpack:///./common/layouts/ChangePasswordPage/async-validations.ts","webpack:///./broker-admin/store/partners/selectors.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/NewOrderParametersSettingsForm/constants.ts","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/RevokeDocumentsConfirmation/RevokeDocumentsConfirmation.tsx","webpack:///./common/layouts/SideBars/contents/TrailerFiltersSidebarContent/TrailerFiltersSidebarContent.tsx","webpack:///./common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/constants.ts","webpack:///./common/components/status/RFQStatus/RFQStatus.tsx","webpack:///./common/components/Table/cell-renderers/WarningIndicatorCell/WarningIndicatorCell.scss","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/RFQStats/RFQStats.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentMessage/DocumentMessage.tsx","webpack:///./broker-admin/components/toasts/utils.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/PriceSettingsRules.scss","webpack:///./common/store/alerts/models.ts","webpack:///./broker-admin/components/dropdowns/PriceRuleOperationMultipleDropdown/PriceRuleOperationMultipleDropdown.scss?2398","webpack:///./design-system/components/dropdowns/option/DropdownControlOptionLabelWithTooltip/DropdownControlOptionLabelWithTooltip.tsx","webpack:///./common/layouts/ForgotPasswordPage/constants.ts","webpack:///./common/layouts/AccountPage/AccountPreview/icons/SignOutIcon.tsx","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/EditTruckSidebarContent.tsx","webpack:///./broker-admin/components/dropdowns/TrailerTypeMultipleDropdown/TrailerTypeMultipleDropdown.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/NameCell/NameCell.scss?5fb4","webpack:///./common/components/EmissionUnitValue/EmissionUnitValue.tsx","webpack:///./common/components/Table/cell-renderers/EventAuthorCell/EventAuthorCell.tsx","webpack:///./broker-admin/store/broker-order-assigment/selectors.ts","webpack:///./broker-admin/layouts/PriceSettingsRulesPage/PriceSettingsRuleCreationPage/PriceSettingsRuleCreationPage.tsx","webpack:///./common/components/AssetSidebarContent/SetUnavailableForm/SetUnavailableForm.scss?93f9","webpack:///./carrier/utils/tour-papers-url-factory.ts","webpack:///./common/store/trucks-dict/sagas.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/EvidenceOfTaxDetailsForm/constants.ts","webpack:///./common/store/transport-order-details/type-guards.ts","webpack:///./common/store/settings/actions.ts","webpack:///./common/layouts/SideBars/contents/AddDriverSidebarContent/AddDriverSidebarContent.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/TransportOrderDetailsCard/TransportOrderDetailsCard.scss?75ed","webpack:///./common/components/AssetSidebarContent/SetUnavailableForm/contexts/sync-map-state.ts","webpack:///./common/layouts/DriversPageLayout/DriversPageLayout.scss?4501","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/FiltersSidebarContent/FiltersSidebarContent.tsx","webpack:///./design-system/components/date-pickers/internals/DateLinkTrigger/DateLinkTrigger.scss","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/constants.ts","webpack:///./common/components/maps/pins/content/WaypointNumberPinContent/WaypointNumberPinContent.scss?ba9d","webpack:///./common/components/Radio/Radio.scss?23b1","webpack:///./common/store/vehicle-schedules/channels.ts","webpack:///./common/components/Table/QuickFiltersButtonGroups/QuickFiltersButtonGroups.scss?b4e7","webpack:///./common/store/user/reducer.ts","webpack:///./broker-admin/layouts/BrokerRFQsPage/BrokerRFQsPage.tsx","webpack:///./broker-admin/layouts/LeftMenuLayout/LeftMenuLayout.tsx","webpack:///./common/components/Table/cell-renderers/FlagCell/FlagCell.scss?607a","webpack:///./common/components/toasts/NotificationToastsManager/NotificationToastsManager.tsx","webpack:///./common/layouts/NewOrderPage/MapFooterEstimate/MapFooterEstimate.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel.scss?ccc2","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/prepare-fetch-page-query.ts","webpack:///./broker-admin/store/order-edit/utils/convert-route-point-type.ts","webpack:///./broker-admin/layouts/SideBars/PriceSettingsRuleFiltersSidebarContent/PriceSettingsRuleFiltersSidebarContent.scss?15f4","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/UserSelectList/UserSelectList.scss?74fe","webpack:///./broker-admin/store/broker-orders/sagas.ts","webpack:///./common/components/toasts/utils.tsx","webpack:///./common/layouts/AlertGroup/AlertGroup.scss?3597","webpack:///./broker-admin/store/order-edit/utils/get-deleted-stop-hashes.ts","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsTable/cell-renderers/PartnersCountCell/PartnersCountCell.tsx","webpack:///./common/components/dropdowns/UserRolesDropdown/UserRolesDropdown.tsx","webpack:///./common/utils/api/auth/base-auth-service.ts","webpack:///./common/utils/stringify-query.ts","webpack:///./common/components/Table/QuickFiltersButtonGroups/QuickFiltersButtonGroups.tsx","webpack:///./common/components/Table/TableActions/TableActions.scss?72d6","webpack:///./common/layouts/SideBars/SideBar/SideBar.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RuleTypeMultipleControl/RuleTypeMultipleControl.tsx","webpack:///./common/store/company/channels.ts","webpack:///./common/components/PhoneNumberInput/PhoneNumberInput.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/validations/overloading-check.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsForm/PartnerDetailsForm.tsx","webpack:///./common/layouts/ChangePasswordPage/ChangePasswordPage.tsx","webpack:///./common/layouts/LeftMenuLayout/LeftMenuLayout.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/dialogs/CancelBrokerOrderConfirmation/CancelBrokerOrderConfirmation.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/prepare-fetch-page-query.ts","webpack:///./common/components/ScrollToFirstAsyncError/ScrollToFirstAsyncError.tsx","webpack:///./common/components/ReadOnlyField/ReadOnlyField.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetClusterPin/AssetClusterPin.scss?bb77","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/ShipmentDetailsCard/ShipmentDetailsCard.scss?6893","webpack:///./common/components/status-pill/ShipperContractLaneStatusPill/ShipperContractLaneStatusPill.tsx","webpack:///./common/layouts/SelfCreateCompanyPage/CreateCompanyForm/CreateCompanyForm.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/dialogs/LockPartnerConfirmation/LockPartnerConfirmation.tsx","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationForm/ShipperContractLaneCreationForm.tsx","webpack:///./common/store/carrier-suggest/types.ts","webpack:///./common/store/trucks-dict/reducer.ts","webpack:///./common/store/asset-track/reducer.ts","webpack:///./common/components/RangeSelector/Zone/Zone.tsx","webpack:///./design-system/components/dropdowns/DropdownTreeInput/DropdownTreeInput.tsx","webpack:///./broker-admin/layouts/StatisticsPage/StatisticsChart/ChartTooltip/ChartTooltip.tsx","webpack:///./common/components/entity-details/ExcludedCountries/ExcludedCountries.tsx","webpack:///./common/layouts/SideBars/contents/EditContactDetailsSidebarContent/prepare-api-contact.ts","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/cell-renderers/OrdersCountCell/OrdersCountCell.tsx","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RevokeContractConfirmation/RevokeContractActionDropdown/RevokeContractActionDropdown.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contexts/sync-map-state.ts","webpack:///./broker-admin/components/notification-cards/CompletedPartnerCarrierContractCard/CompletedPartnerCarrierContractCard.scss?a89b","webpack:///./common/components/entity-details/ExcludedCountries/ExcludedCountries.scss?6721","webpack:///./common/store/asset-track/selectors.ts","webpack:///./broker-admin/components/notification-cards/CompletedPartnerShipperContractCard/CompletedPartnerShipperContractCard.scss?18bd","webpack:///./common/store/auth/reducer.ts","webpack:///./common/layouts/NewOrderPage/OffersForm/SelectedOfferHeader/SelectedOfferHeader.tsx","webpack:///./common/layouts/LeftMenuLayout/TopBar/TopBar.tsx","webpack:///./broker-admin/layouts/InvoicesListPage/SelectedFilters/SelectedFilters.tsx","webpack:///./broker-admin/components/status-pill/BrokerTourTypePill/BrokerTourTypePill.tsx","webpack:///./broker-admin/store/broker-tours/reducer.ts","webpack:///./common/components/Table/cell-renderers/ControlsCell/ControlsCell.tsx","webpack:///./common/layouts/BaseShipperContractDetailsLayout/EditShipperContractDetailsForm/EditShipperContractDetailsForm.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/CommonDocumentParamsDetailsForm/get-initial-values.ts","webpack:///./common/components/Table/SortDropdown/SortDropdown.scss?41ce","webpack:///./common/store/country-settings-dict/types.ts","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/TruckActionHistory/TruckActionHistory.scss?0617","webpack:///./common/components/status-pill/EmissionClassPill/EmissionClassPill.tsx","webpack:///./common/utils/form-validators.ts","webpack:///./common/layouts/SideBars/contents/TrailerFiltersSidebarContent/get-initial-values.ts","webpack:///./broker-admin/components/InfoTable/formatters/AsyncSpotRequestDetailsLinkFormatter/AsyncSpotRequestDetailsLinkFormatter.tsx","webpack:///./common/utils/assignment.ts","webpack:///./broker-admin/layouts/SideBars/StatisticFiltersSidebarContent/StatisticFiltersSidebarContent.scss?aa6c","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/usy-sync-map-state.ts","webpack:///./common/icons/CaseIcon.tsx","webpack:///./common/icons/HelpIcon.tsx","webpack:///./common/store/papers/constants.ts","webpack:///./broker-admin/store/broker-order-details/utils/find-tour-by-id.ts","webpack:///./common/components/status-pill/CarrierContractStatusPill/CarrierContractStatusPill.tsx","webpack:///./common/layouts/SideBars/SideBarParanja/SideBarParanja.scss?4152","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/utils.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/dialogs/VerifyPartnerAdressConfirmation/VerifyPartnerAdressConfirmation.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout.scss?2579","webpack:///./common/components/RangeSelector/Trigger/Trigger.tsx","webpack:///./common/components/filter-pills/TrailerDictIdFilterPill/TrailerDictIdFilterPill.tsx","webpack:///./common/components/Table/utils/check-query-filters-keys.ts","webpack:///./common/layouts/DriversPageLayout/query-models.ts","webpack:///./common/layouts/dialogs/ArchiveAssetConfirmationModal/prepare-reject-data.ts","webpack:///./common/store/additional-services-dict/sagas.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/ShipmentDetailsForm.scss?b5e4","webpack:///./broker-admin/components/dropdowns/DispatcherDropdown/DispatcherDropdown.tsx","webpack:///./common/store/spot-assets-assigment/actions.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/BasicWidgetHeaderActions/BasicWidgetHeaderActions.scss?0726","webpack:///./broker-admin/store/broker-tours/slice.ts","webpack:///./common/utils/hooks/useHistoryPush.ts","webpack:///./broker-admin/layouts/SideBars/PartnerFiltersSidebarContent/get-initial-values.ts","webpack:///./common/layouts/SideBars/SideBarLayout/SideBarLayout.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/StatusFooterContent.tsx","webpack:///./common/store/shipper-contract-details/type-guards.ts","webpack:///./common/utils/api/tranziit/errors/parse-errors.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/TrucksSuggest/TruckTriggerLabel/TruckTriggerLabel.tsx","webpack:///./common/layouts/ChangePasswordPage/constants.ts","webpack:///./broker-admin/components/notification-cards/CompletedPartnerShipperLaneContractCard/CompletedPartnerShipperLaneContractCard.scss?76b6","webpack:///./broker-admin/layouts/PriceSettingsEditRuleLayout/PriceSettingsEditRuleLayout.scss?3230","webpack:///./common/components/RangeSelector/ZoneMark/ZoneMark.scss?b48e","webpack:///./common/store/errors/utils.ts","webpack:///./common/layouts/BaseShipperContractLanesLayout/FiltersSidebarContent/FiltersSidebarContent.tsx","webpack:///./design-system/components/Calendar/Calendar.scss?c8d3","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/cell-renderers/CarrierCell/CarrierCell.scss?069e","webpack:///./common/utils/hooks/useRemoteFormActions.ts","webpack:///./common/store/gps-tracking-status/selectors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/utils.ts","webpack:///./common/components/notifications/NotificationsBarContent/NotificationsBarContent.scss?b601","webpack:///./broker-admin/components/status-machine/footers/ChangeTourStatusFooter/CancelSpotRequestFooter/CancelSpotRequestFooter.scss?eb30","webpack:///./common/utils/hooks/useStateSafeHistory.ts","webpack:///./common/icons/OriginIcon.tsx","webpack:///./common/utils/hooks/useDebouncedEffect.ts","webpack:///./common/components/ArchiveReasonAlert/ArchiveReasonAlert.tsx","webpack:///./common/store/rfq-details/reducer.ts","webpack:///./broker-admin/components/toasts/models.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TransportOrderDetailsCard/TransportOrderDetailsCard.tsx","webpack:///./common/store/documents/selectors.ts","webpack:///./common/store/errors/types.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/ShipmentDetailsCard/ShipmentDetailsCard.scss?fa16","webpack:///./common/components/maps/MapStackClusterPin/MapStackClusterPin.tsx","webpack:///./common/store/spot-assets-assigment/reducer.ts","webpack:///./common/layouts/BaseShipperContractDetailsLayout/dialogs/RevokeShipperContractConfirmation/constants.ts","webpack:///./broker-admin/store/statistics/types.ts","webpack:///./common/layouts/TrucksPageLayout/TrucksTable/cell-renderers/StatusCell/StatusCell.tsx","webpack:///./common/layouts/BaseShipperContractDetailsLayout/dialogs/RevokeShipperContractConfirmation/RevokeShipperContractConfirmation.scss?7cb2","webpack:///./common/store/trailers-dict/selectors.ts","webpack:///./common/layouts/BaseShipperContractDetailsLayout/dialogs/RevokeShipperContractConfirmation/prepare-reject-data.ts","webpack:///./common/layouts/AccountPage/validate-form.ts","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/prepare-api-rule-preview.ts","webpack:///./common/store/documents-dict/reducer.ts","webpack:///./common/components/dropdowns/LegalFormDropdown/hooks.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationMap/ShipperContractLaneCreationMap.tsx","webpack:///./broker-admin/components/PriceRuleTargetLabel/PriceRuleTargetLabel.scss?2dd9","webpack:///./common/components/status-pill/TransportOrderStatusPill/TransportOrderStatusPill.tsx","webpack:///./broker-admin/components/tour-receipt-details/MileageInfoTable/MileageInfoTable.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-form-values.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDocumentsPage/PartnerDocumentsPage.scss?6f76","webpack:///./common/layouts/TrailersPageLayout/TrailersTable/TrailersTable.tsx","webpack:///./broker-admin/components/PriceRuleTypeLabel/PriceRuleTypeLabel.scss?b7b8","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/PickupPointPicker/PickupPointPicker.tsx","webpack:///./common/store/time-zones/selectors.ts","webpack:///./common/icons/PartnersIcon.tsx","webpack:///./design-system/components/dropdowns/option/DropdownControlTriggerLabel/DropdownControlTriggerLabel.scss?6299","webpack:///./broker-admin/components/dropdowns/PriceComponentTypeCustomMultipleDropdown/PriceComponentTypeCustomMultipleDropdown.tsx","webpack:///./common/components/AssetSidebarContent/contexts/asset-service-location-context.ts","webpack:///./broker-admin/store/spot-request-details/actions.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationForm/constants.ts","webpack:///./common/store/country-settings-dict/sagas.ts","webpack:///./common/layouts/BaseDocumentsLayout/hooks/use-documents-action-options.tsx","webpack:///./common/components/SignUpForm/CompanySignUpForm/CompanySignUpForm.tsx","webpack:///./common/layouts/LeftMenuLayout/menu-icons.tsx","webpack:///./common/layouts/NewOrderPage/OfferDetails/CollapsedOfferDetails/CollapsedOfferDetails.tsx","webpack:///./common/store/order-creation/sagas.ts","webpack:///./common/components/ControlLoaderLabel/ControlLoaderLabel.tsx","webpack:///./broker-admin/store/spot-requests-stats/selectors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/BrokerOrderDetails.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/SystemSettings.tsx","webpack:///./common/components/papers/dialogs/DeletePaperConfirmation/DeletePaperConfirmation.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AssignmentSettingsForm/AssignmentSettingsForm.scss?21cd","webpack:///./common/utils/hooks/usePollingCallback.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/SendingToSpotForm.scss?0a7c","webpack:///./common/store/carrier-contract-details/sagas.ts","webpack:///./common/components/Timeline/TimeWindow/TimeWindow.scss?bd50","webpack:///./common/utils/hooks/useSideBarHeaderHeight.ts","webpack:///./common/components/status-pill/ShipmentStatusPill/ShipmentStatusPill.scss","webpack:///./common/components/DeprecatedCountyFlagLabel/DeprecatedCountyFlagLabel.scss?2075","webpack:///./common/components/notifications/NotificationLabel/NotificationLabel.scss?b482","webpack:///./common/store/routing-geometry/sagas.ts","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/ChangeRateOrContractWarning/ChangeRateOrContractWarning.tsx","webpack:///./broker-admin/layouts/SideBars/PriceSettingsEditRuleSidebarContent/PriceSettingsEditRuleSidebarContent.tsx","webpack:///./design-system/components/date-pickers/internals/DatePickerOverlay/DatePickerOverlay.scss?a881","webpack:///./design-system/components/dropdowns/SuggestInput/SuggestInput.tsx","webpack:///./common/components/Timeline/utils.ts","webpack:///./common/layouts/Members/dialogs/RestoreUserConfirmation/RestoreUserConfirmation.tsx","webpack:///./common/store/drivers/reducer.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RejectContractConfirmation/RejectContractConfirmation.scss?9382","webpack:///./common/utils/permissions.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/get-initial-values.ts","webpack:///./common/store/country-settings-dict/selectors.ts","webpack:///./common/layouts/NewOrderPage/OfferDetails/EditOfferTotalPriceLayout/EditOfferTotalPriceLayout.scss?ee94","webpack:///./common/layouts/SideBars/contents/DriverFiltersSidebarContent/get-initial-values.ts","webpack:///./broker-admin/components/status-machine/footers/ChangeTourStatusFooter/ChangeTourStatusFooter/ChangeTourStatusFooter.tsx","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsForm/ContractDetailsForm.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/dialogs/DeclineOrderConfirmation/DeclineOrderConfirmation.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/SpotSettingsForm/get-initial-values.ts","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/PreviewMessage/PreviewMessage.scss?c525","webpack:///./common/store/routing-geometry/slice.ts","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/ControlsCell/ControlsCell.tsx","webpack:///./common/utils/safe-arithmetic.ts","webpack:///./common/utils/get-scroll-bar-width.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/Bids/hooks/use-bids-filter.ts","webpack:///./common/components/dropdowns/UserFormalDropdown/UserFormalDropdown.tsx","webpack:///./common/store/company/types.ts","webpack:///./common/store/rfqs-stats/actions.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/EditTimeWindowsForm/EditTimeWindowsForm.tsx","webpack:///./common/icons/BigQuestionIcon.tsx","webpack:///./broker-admin/store/broker-team-details/utils/normalize-team-details.ts","webpack:///./common/icons/FilledCircleIcon.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/footer-alert-contents/ReplacedLocationsAlertContent/ReplacedLocationsAlertContent.tsx","webpack:///./common/layouts/BaseDocumentsLayout/hooks/use-documents-rows.tsx","webpack:///./common/store/order-creation/selectors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/constants.ts","webpack:///./common/components/Timeline/TimelineSidebar/utils.ts","webpack:///./common/icons/RightArrowIcon.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentMessage/DocumentMessage.scss?20b5","webpack:///./common/components/range-selectors/TimeWindowPicker/TimeWindowPicker.tsx","webpack:///./common/utils/google-places.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriverSuggestInput/DriverSuggestInput.tsx","webpack:///./common/utils/hooks/useGoogleMaps.ts","webpack:///./broker-admin/layouts/PriceSettingsEditRuleLayout/prepare-api-rule.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriverSuggestInput/DriverAssignOptionLabel/DriverAssignOptionLabel.scss?595c","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/TruckDetailsForm/TruckDetailsForm.scss?b7f7","webpack:///./common/store/shipper-contract-details/selectors.ts","webpack:///./common/layouts/TrailersPageLayout/TrailersTable/cell-renderers/TypeCell/TypeCell.scss?08be","webpack:///./common/components/maps/pins/WaypointNumberPin/WaypointNumberPin.tsx","webpack:///./common/components/status/TourStatus/TourStatus.tsx","webpack:///./broker-admin/components/dropdowns/TrailerTypeMultipleDropdown/TrailerTypeMultipleDropdown.scss","webpack:///./common/components/maps/MapLoader/MapLoader.tsx","webpack:///./common/components/RangeSelector/Zone/Zone.scss?ca40","webpack:///./common/layouts/TransportOrderDetailsPageLayout/SpotAssetsAssignmentForm/SpotAssetsAssignmentForm.tsx","webpack:///./common/layouts/SideBars/contents/AddDriverSidebarContent/prepare-api-driver-changes.ts","webpack:///./common/components/ScrollToFirstError/ScrollToFirstError.tsx","webpack:///./common/components/Table/header-renderers/CheckboxHeader/CheckboxHeader.tsx","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/cell-renderers/ExpireDateCell/ExpireDateCell.scss?6c3f","webpack:///./common/components/papers/PaperLayout/PaperLayout.scss?85b0","webpack:///./common/components/status-pill/RFQStatusPill/RFQStatusPill.scss?87d7","webpack:///./common/components/Table/SearchControl/SearchControl.tsx","webpack:///./broker-admin/components/notification-cards/TransportationOrderMileagAndPaymentChangedCard/TransportationOrderMileagAndPaymentChangedCard.scss?4f30","webpack:///./common/store/order-creation/utils/prepare-reserve.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/footers/ReviewFooterContent/ReviewFooterContent.tsx","webpack:///./common/components/maps/MapPin/MapPin.scss?6df6","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/createInitWaypointTruckDropPoint.tsx","webpack:///./broker-admin/store/price-settings/additional-services/utils.ts","webpack:///./broker-admin/store/dispatchers/types.ts","webpack:///./common/layouts/SideBars/SideBar/SideBar.scss?0e67","webpack:///./broker-admin/layouts/SideBars/CreatePartnerSidebarContent/validate-form.ts","webpack:///./common/layouts/NewOrderPage/OffersForm/QuickActions/QuickActions.scss?95dd","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/validate-form.ts","webpack:///./common/layouts/SideBars/contents/EditDriverSidebarContent/EditDriverFormContent/EditDriverFormContent.scss?eea0","webpack:///./broker-admin/components/notification-cards/InvitedToTeamCard/InvitedToTeamCard.scss?47ae","webpack:///./common/store/rfqs-stats/reducer.ts","webpack:///./broker-admin/layouts/SideBars/utils.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AlertsSettingsForm/constants.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsLayout/PartnerDetailsLayout.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/CargoDetailsForm.scss?c45b","webpack:///./broker-admin/components/notification-cards/RevokedPartnerShipperLaneContractCard/RevokedPartnerShipperLaneContractCard.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/RoutingSettingsForm/RoutingSettingsForm.tsx","webpack:///./common/components/Timeline/TimelineSidebar/TimelineSidebar.scss?7ad6","webpack:///./broker-admin/components/notification-cards/RevokedPartnerCarrierContractCard/RevokedPartnerCarrierContractCard.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/BrokerToursTable.tsx","webpack:///./broker-admin/store/price-settings/rates/selectors.ts","webpack:///./common/utils/download-image.ts","webpack:///./common/icons/TimeWindowIcon.tsx","webpack:///./broker-admin/layouts/PriceSettingsEditRuleLayout/constants.ts","webpack:///./design-system/components/DividerWithDropdownControl/DividerTrigger/DividerTrigger.scss?eda4","webpack:///./common/components/units/UnitType/UnitType.tsx","webpack:///./common/icons/UserSettingsIcon.tsx","webpack:///./common/store/shipper-contracts/slice.ts","webpack:///./common/components/Table/cell-renderers/DateCell/DateCell.tsx","webpack:///./design-system/components/Checkbox/Checkbox.tsx","webpack:///./broker-admin/components/notification-cards/ExpireSoonPartnerCarrierContractCard/ExpireSoonPartnerCarrierContractCard.tsx","webpack:///./common/components/status-pill/OrderStatusPill/OrderStatusPill.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/footers/SendingToSpotFooterContent/SendingToSpotFooterContent.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-sync-reserve-channels.ts","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrderListPageLayout.tsx","webpack:///./common/layouts/Members/ContactSidebarHeader/ContactSidebarHeader.scss?30be","webpack:///./common/components/Widget/Widget.tsx","webpack:///./broker-admin/store/price-settings/reducer.ts","webpack:///./common/utils/hooks/useWatchFormFormHasErrors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/SyncPointsWatcher/SyncPointsWatcher.tsx","webpack:///./common/store/vehicle-schedules/types.ts","webpack:///./common/store/auth/constants.ts","webpack:///./common/components/ReadOnlyFieldValue/ReadOnlyFieldValue.scss?ad71","webpack:///./common/components/dropdowns/TruckModelDropdown/TruckModelDropdown.tsx","webpack:///./common/components/LinkButton/LinkButton.scss?360a","webpack:///./common/components/FieldGroup/FieldGroup.scss?0ffc","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/BrokerOrderTable.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/CommonDocumentParamsDetailsForm/constants.ts","webpack:///./common/layouts/TrailerDetailsPage/TrailerDetailsPage.scss","webpack:///./broker-admin/store/price-settings/additional-services/selectors.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarLoader/SideBarLoader.scss?6eb3","webpack:///./common/components/dropdowns/EmissionClassMultipleDropdown/EmissionClassMultipleDropdown.tsx","webpack:///./common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown.scss?1952","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/cell-renderers/ContractNameCell/ContractNameCell.tsx","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/PartnersTable.tsx","webpack:///./design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger.scss?1838","webpack:///./common/layouts/NewOrderPage/RouteMap/RouteMap.tsx","webpack:///./common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetForm/RateSourceOption/RateSourceOption.tsx","webpack:///./design-system/components/InfoTable/formatters/WarningTextFormatter/WarningTextFormatter.tsx","webpack:///./common/icons/LinearScaleIcon.tsx","webpack:///./design-system/components/CheckboxTree/CheckboxTree.scss?bf23","webpack:///./common/components/dropdowns/UserFormalDropdown/UserFormalDropdown.scss?1217","webpack:///./common/components/papers/PaperLayout/PaperLayout.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/dialogs/RevokeShipperLaneConfirmationModal/RevokeShipperLaneConfirmationModal.tsx","webpack:///./design-system/components/dropdowns/option/DropdownControlTriggerLabel/DropdownControlTriggerLabel.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/PickupOrDeliveryRoutePointPicker/PickupOrDeliveryRoutePointPicker.tsx","webpack:///./common/components/SignUpForm/UserSignUpForm/constants.ts","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/NameCell/NameCell.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsPage.scss","webpack:///./common/components/forms/contexts/form-async-errors-context.ts","webpack:///./common/store/user/types.ts","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetails/ContractDetails.tsx","webpack:///./broker-admin/store/broker-order-assigment/types.ts","webpack:///./common/components/dropdowns/DictTrailerMultipleDropdown/DictTrailerMultipleDropdown.scss","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/PricingSettingsForm/prepare-system-settings.ts","webpack:///./broker-admin/store/deadhead-creation/slice.ts","webpack:///./common/layouts/LoaderOverlay/LoaderOverlay.tsx","webpack:///./broker-admin/utils/hooks/useBrokerOrderPayloadWaypoints.tsx","webpack:///./broker-admin/store/statistics/actions.ts","webpack:///./common/layouts/NewOrderPage/OfferDetails/PriceDetailsHeader/PriceDetailsHeader.tsx","webpack:///./common/components/NumberInput/NumberInput.tsx","webpack:///./design-system/components/InfoTable/formatters/AttentionTextFormatter/AttentionTextFormatter.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/SpotSettingsForm/SpotSettingsForm.tsx","webpack:///./broker-admin/utils/shipment-papers-url-factory.ts","webpack:///./common/components/Table/QuickFilters/QuickFilters.scss?2f91","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/BrokerTourDeadheadCreationPage.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentSummary/DocumentSummary.scss?d19a","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/ShipmentDetailsCard/ShipmentDetailsCard.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-edit-route-watcher.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteDetailsForm/prepare-values.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/ShipmentDetailsCard/ChangeShipmentStatusSidebarFooter/ChangeShipmentStatusSidebarFooter.tsx","webpack:///./common/layouts/SelfCreateCompanyPage/SelfCreateCompanyPage.tsx","webpack:///./common/components/status/BrokerOrderStatus/BrokerOrderStatus.tsx","webpack:///./common/components/Table/Table.tsx","webpack:///./common/components/maps/MapTooltip/MapTooltip.tsx","webpack:///./broker-admin/store/invoices/types.ts","webpack:///./common/components/Table/WarningFilterOptionsDropdown/WarningFilterOptionsDropdown.scss?f5fd","webpack:///./design-system/components/OutsideClickHandler/OutsideClickHandler.tsx","webpack:///./common/icons/CommentIcon.tsx","webpack:///./common/store/trailers/channels.ts","webpack:///./common/components/ErrorBoundary/ErrorBoundary.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/SpotAssetsAssignmentForm/constants.ts","webpack:///./broker-admin/store/spot-requests/types.ts","webpack:///./broker-admin/components/pills/PriceRuleTargetPill/PriceRuleTargetPill.tsx","webpack:///./common/components/notifications/NotificationsBarContent/NotificationsBarContent.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/TabTourDetails/TabTourDetails.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/EditShipperContractLaneSidebarContent/EditShipperContractLaneSidebarContent.scss?6526","webpack:///./common/store/papers/sagas.ts","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/PartnerSelectList/PartnerSelectList.scss?e310","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/TypeCell/TypeCell.tsx","webpack:///./common/components/tabs/TabGroupWithDivider/TabGroupWithDivider.scss?ff09","webpack:///./common/layouts/TransportOrderListPageLayout/FiltersSidebarContent/FiltersSidebarContent.scss?ae14","webpack:///./common/icons/UpdateUserIcon.tsx","webpack:///./common/components/CopyTextButton/CopyTextButton.tsx","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RejectContractConfirmation/prepare-reject-data.ts","webpack:///./common/store/rfqs-changes/actions.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/prepare-api-requests.ts","webpack:///./design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput.tsx","webpack:///./common/components/status/TransportOrderStatus/TransportOrderStatus.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/TransportOrderTypeDropdown/TransportOrderTypeDropdown.tsx","webpack:///./common/components/MultiPointOrderRouteMap/MultiPointOrderRouteMap.scss?4082","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/cell-renderers/PickUpCell/PickUpCell.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/footer-alert-contents/ExpirationRFQAlertContent/ExpirationRFQAlertContent.tsx","webpack:///./broker-admin/store/broker-orders/selectors.ts","webpack:///./common/contexts/sync-form-values.ts","webpack:///./common/components/AssetSidebarContent/SetUnavailableFooterContent/SetUnavailableFooterContent.scss?78e9","webpack:///./common/components/toasts/AlertToastsManager/models.ts","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsTable/cell-renderers/ExpireDateCell/ExpireDateCell.tsx","webpack:///./common/layouts/ContinueSignUpPage/ContinueSignUpForm/ContinueSignUpForm.scss?cf2e","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/FiltersSidebarContent/constants.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/BidMessage/BidMessage.tsx","webpack:///./common/store/order-creation/utils/get-dates-hash.ts","webpack:///./broker-admin/store/price-settings/additional-services/actions.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriverSuggestInput/utils.ts","webpack:///./broker-admin/store/broker-tours/sagas.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/SpotRequestDetailsTabs/SpotRequestDetailsTabs.scss?2afb","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetailsPage.tsx","webpack:///./common/components/Timeline/TimelineSidebar/TimelineSidebar.tsx","webpack:///./common/utils/broker-appointment.ts","webpack:///./common/layouts/TransportOrderListPageLayout/SelectedFilters/SelectedFilters.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/TimePillLabel/TimePillLabel.scss?9d75","webpack:///./common/components/Table/cell-renderers/EmissionClassCell/EmissionClassCell.tsx","webpack:///./broker-admin/components/PartnerPermissionsContextProvider/PartnerPermissionsContextProvider.tsx","webpack:///./common/components/ActionOverlay/ActionOverlay.scss?f9b7","webpack:///./broker-admin/layouts/PartnerPage/PartnerTrucksPage/PartnerTrucksPage.scss","webpack:///./common/icons/ExtraPointIcon.tsx","webpack:///./common/components/Table/cell-renderers/TelematicUpdateDateCell/TelematicUpdateDateCell.tsx","webpack:///./common/components/Table/cell-renderers/WarningIndicatorCell/WarningIndicatorCell.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/validate-form.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/utils.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/cell-renderers/ContractNameCell/ContractNameCell.scss?ffe0","webpack:///./broker-admin/layouts/SideBars/StatisticFiltersSidebarContent/get-query-filters.ts","webpack:///./design-system/components/InfoTable/formatters/AssetLabelFormatter/AssetLabelFormatter.tsx","webpack:///./common/layouts/NewOrderPage/getter-form-fill-percent.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarMessage/SideBarMessage.tsx","webpack:///./common/layouts/NewOrderPage/OffersForm/AdditionalServicesGroup/AdditionalServicesGroup.scss?3a88","webpack:///./broker-admin/layouts/SideBars/SpotRequestsFiltersSidebarContent/get-initial-values.ts","webpack:///./common/layouts/Members/InviteUserForm/InviteUserForm.tsx","webpack:///./common/store/documents/utils/prepare-document.ts","webpack:///./common/layouts/BaseShipperContractLanesLayout/FiltersSidebarContent/constants.ts","webpack:///./common/components/Table/cell-renderers/HumanReadableFullDateCell/HumanReadableFullDateCell.tsx","webpack:///./common/components/SignUpForm/CompanySignUpForm/CompanySignUpForm.scss?f08c","webpack:///./shipper/utils/urls.ts","webpack:///./broker-admin/store/broker-teams/slice.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/query-models.ts","webpack:///./broker-admin/layouts/InvoicesListPage/InvoicesTable/InvoicesTable.tsx","webpack:///./common/components/papers/CompactAttachPaperTrigger/CompactAttachPaperTrigger.tsx","webpack:///./broker-admin/store/partner/details/channels.ts","webpack:///./common/layouts/RFQDetailsPageLayout/footers/ContinueRFQ/ContinueRFQ.tsx","webpack:///./broker-admin/layouts/SideBars/SpotRequestsFiltersSidebarContent/SpotRequestsFiltersSidebarContent.scss?8bde","webpack:///./common/layouts/DriversPageLayout/dialogs/CancelDriverInviteModal/CancelDriverInviteModal.tsx","webpack:///./common/store/carriers-utilization/selectors.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/footers/SendingToSpotFooterContent/SendingToSpotFooterContent.tsx","webpack:///./common/store/driver-search/types.ts","webpack:///./common/utils/api/errors/not-implemented-error.ts","webpack:///./common/contexts/common-url-factory-context.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderListPage.tsx","webpack:///./common/store/order-creation/constants.ts","webpack:///./common/layouts/NewOrderPage/OffersForm/AdditionalServices/AdditionalServices.tsx","webpack:///./common/utils/watch-document-visibility-change-or-interval-saga.ts","webpack:///./broker-admin/components/notification-cards/InvitedToTeamCard/InvitedToTeamCard.tsx","webpack:///./broker-admin/store/deadhead-creation/utils/get-added-stop-fake-ids.ts","webpack:///./common/store/carrier-contracts/reducer.ts","webpack:///./common/icons/PadIcon.tsx","webpack:///./common/components/BackButton/BackButton.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/ShipmentDetailsCard/utils.ts","webpack:///./common/utils/api/tranziit/common-tranziit-api.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestDetailsPage/SpotRequestDetailsPage.scss","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/cell-renderers/TrailerCell/TrailerCell.tsx","webpack:///./common/components/CompanyLogo/CompanyLogo.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/dialogs/UnassignDriversConfirmation/UnassignDriversConfirmation.tsx","webpack:///./common/components/entity-details/alerts/EntityCriticalWarningAlert.tsx","webpack:///./common/icons/UnLockIcon.tsx","webpack:///./broker-admin/store/tenders/sagas.ts","webpack:///./common/layouts/ForgotPasswordPage/async-validations.ts","webpack:///./common/components/RangeSelector/CustomZoneTextWrap/CustomZoneTextWrap.tsx","webpack:///./common/icons/TruckIcon.tsx","webpack:///./broker-admin/layouts/PriceSettingsEditRuleLayout/get-initial-values.ts","webpack:///./design-system/components/DividerWithDropdownControl/DividerWithDropdownControl.tsx","webpack:///./broker-admin/store/broker-order-assigment/utils.ts","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/footers/SaveFooterContent/SaveFooterContent.scss?bbdf","webpack:///./common/utils/google-maps-api/google-maps-places-api.ts","webpack:///./common/store/trailers-dict/actions.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/dialogs/UnVerifyPartnerAdressConfirmation/UnVerifyPartnerAdressConfirmation.tsx","webpack:///./broker-admin/store/broker-teams/channels.ts","webpack:///./common/components/notification-cards/ShipmentCanceledCard/ShipmentCanceledCard.tsx","webpack:///./common/utils/pick-file.ts","webpack:///./broker-admin/store/broker-tour-details/slice.ts","webpack:///./common/components/ControlLoaderWithShadow/ControlLoaderWithShadow.scss?95e1","webpack:///./common/store/shipper-contract-details/slice.ts","webpack:///./broker-admin/components/notification-cards/ExpireSoonPartnerDocumentCard/ExpireSoonPartnerDocumentCard.tsx","webpack:///./common/components/papers/hooks/deprecated-use-attach-tour-papers.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/RouteEditForm.scss?4197","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/PickupOrDeliveryRoutePointPicker/PickupOrDeliveryRoutePointPicker.scss?5e35","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/PartnerSelectList/PartnerSelectList.tsx","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/cell-renderers/IdCell/IdCell.scss?0a68","webpack:///./broker-admin/components/dropdowns/CarriersSuggest/CarriersSuggest.scss?86ad","webpack:///./common/store/shipper-contracts/type-guards.ts","webpack:///./broker-admin/components/dropdowns/BrokerUserSuggest/hooks/use-init-broker-users-suggest-options.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/OrderReservesShipperSuggest/OrderReservesShipperSuggest.tsx","webpack:///./common/components/dropdowns/LegalFormDropdown/LegalFormDropdown.tsx","webpack:///./broker-admin/layouts/StatisticsPage/StatisticsChart/ChartTooltip/ChartTooltip.scss?7e17","webpack:///./common/components/CheckboxOptionsList/CheckboxOptionsList.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/FerryDisembarkPointPicker/FerryDisembarkPointPicker.tsx","webpack:///./broker-admin/components/notification-cards/ExpiredPartnerDocumentCard/ExpiredPartnerDocumentCard.scss?0130","webpack:///./broker-admin/store/deadhead-creation/channels.ts","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesLayout.scss?c098","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/SpotAssetsAssignmentFooterContent/SpotAssetsAssignmentFooterContent.tsx","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RevokeContractConfirmation/prepare-revoke-data.ts","webpack:///./common/contexts/ui-context.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/LaneDropdownInput/LaneDropdownInput.tsx","webpack:///./common/layouts/LeftMenuLayout/Navigation/Navigation.tsx","webpack:///./common/components/DeprecateTourPapersCard/DeprecateTourPapersCard.scss?bd3a","webpack:///./carrier/utils/api/spot-carrier-tranziit/models.ts","webpack:///./broker-admin/components/dropdowns/PriceRuleOperationMultipleDropdown/PriceRuleOperationMultipleDropdown.tsx","webpack:///./broker-admin/layouts/InvoicesListPage/InvoicesTable/cell-renderers/CustomerCell/CustomerCell.tsx","webpack:///./common/store/state-machine/slice.ts","webpack:///./common/layouts/ContinueSignUpPage/ContinueSignUpForm/async-validations.ts","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/ExternalNumberCell/ExternalNumberCell.scss?f78c","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/query-models.ts","webpack:///./common/components/notifications/NotificationsBarContent/useIsScrollable.tsx","webpack:///./common/utils/hooks/useDocumentVisibilityChange.ts","webpack:///./common/utils/hooks/useCloseModalDialogAfterRequest.ts","webpack:///./common/layouts/SelfCreateCompanyPage/CreateCompanyForm/validate-form.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetailsPage.scss?e387","webpack:///./common/layouts/RFQListPageLayout/FiltersSidebarContent/get-initial-values.ts","webpack:///./common/store/legal-forms-dict/actions.ts","webpack:///./common/layouts/NewOrderPage/PriceMatrix/PriceMatrix.scss?1737","webpack:///./common/layouts/RFQListPageLayout/FiltersSidebarContent/constants.ts","webpack:///./broker-admin/store/managers/types.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/EditTimeWindowsForm/prepare-query.ts","webpack:///./common/utils/hooks/usePrevious.ts","webpack:///./common/layouts/LeftMenuLayout/StickyFooter/StickyFooter.tsx","webpack:///./common/layouts/AccountPage/constants.ts","webpack:///./common/utils/hooks/useRouteGeometry.ts","webpack:///./common/utils/pagination/reducers.ts","webpack:///./common/layouts/SideBars/contents/EditContactDetailsSidebarContent/get-initial-values.ts","webpack:///./common/components/pills/PriceRuleImpactPill/PriceRuleImpactPill.scss?b8c1","webpack:///./common/components/RangeSelector/constants.ts","webpack:///./common/layouts/ConfirmEmailPage/ConfirmEmailPage.tsx","webpack:///./common/components/notification-cards/RunningOutOfTimeAssignDriversCard/RunningOutOfTimeAssignDriversCard.scss?c49c","webpack:///./common/store/spot-assets-assigment/sagas.ts","webpack:///./broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/cell-renderers/NameCell/NameCell.scss?53fd","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsForm/PartnerDetailsForm.scss?add7","webpack:///./common/store/settings/sagas.ts","webpack:///./common/components/status-pill/SpotBidStatusPill/SpotBidStatusPill.scss","webpack:///./broker-admin/components/notification-cards/ExpiredPartnerCarrierContractCard/ExpiredPartnerCarrierContractCard.scss?956f","webpack:///./common/store/order-creation/utils/get-reserve-query-correction.ts","webpack:///./broker-admin/components/dropdowns/CarriersSuggest/CarriersSuggest.tsx","webpack:///./common/icons/HourglassHalfIcon.tsx","webpack:///./common/store/gps-tracking-status/sagas.ts","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/NameCell/NameCell.scss?595f","webpack:///./common/layouts/TrucksPageLayout/TrucksPageLayout.tsx","webpack:///./broker-admin/components/notification-cards/ExpireSoonPartnerCarrierContractCard/ExpireSoonPartnerCarrierContractCard.scss?1aee","webpack:///./broker-admin/store/price-settings/rules/types.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/cell-renderers/BidsCountCell/BidsCountCell.scss?077e","webpack:///./common/store/driver-assigment/reducer.ts","webpack:///./broker-admin/store/partner/rfq-stats/actions.ts","webpack:///./common/components/Table/TableError/TableError.scss?3cfd","webpack:///./common/components/notification-cards/shared/NotificationCardInnerLayout/NotificationCardInnerLayout.scss?e74f","webpack:///./common/store/shipper-suggest/actions.ts","webpack:///./broker-admin/store/spot-request-details/types.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/PickupOrDeliveryRoutePointPicker/TimeWindowZoneText/TimeWindowZoneText.scss?5615","webpack:///./common/components/forms/FormikField/FormikField.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteEditMap/RouteEditMap.tsx","webpack:///./common/layouts/LeftMenuLayout/ContentMargins/ContentMargins.tsx","webpack:///./common/components/maps/pins/LastAssetTrackPointPin/LastAssetTrackPointPin.scss?63e4","webpack:///./common/layouts/RFQListPageLayout/prepare-fetch-page-query.ts","webpack:///./common/layouts/SideBars/contents/DriverFiltersSidebarContent/DriverFiltersSidebarContent.tsx","webpack:///./broker-admin/utils/api/broker-tranziit/models.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationConfirmForm/ShipperContractLaneCreationConfirmForm.scss?cfc2","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerUsersTab/BrokerUsersTab.scss?1f4c","webpack:///./common/components/Table/cell-renderers/HumanReadableDateCell/HumanReadableDateCell.scss?6dbf","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/UploadDocumentConfirmation/UploadDocumentConfirmation.tsx","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/LocationCell/LocationCell.tsx","webpack:///./common/components/FilterPills/FilterPill/FilterPill.scss?3bfa","webpack:///./common/store/carrier-contracts/sagas.ts","webpack:///./common/store/order-creation/models.ts","webpack:///./common/components/Table/cell-renderers/PlateNumberCell/PlateNumberCell.tsx","webpack:///./broker-admin/components/notification-cards/RevokedPartnerShipperLaneContractCard/RevokedPartnerShipperLaneContractCard.scss?c533","webpack:///./common/layouts/SideBars/contents/EditDriverSidebarContent/EditDriverFormContent/EditDriverFormContent.tsx","webpack:///./common/store/state-machine/sagas.ts","webpack:///./common/utils/hooks/useKeyboardShortcut.ts","webpack:///./broker-admin/store/spot-request-details/selectors.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SelectedFilters/SelectedFilters.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/QuickTimeWindowLink/QuickTimeWindowLink.scss","webpack:///./common/layouts/Members/ChangeRoleUserForm/ChangeRoleUserForm.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssignmentMap.tsx","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsTable/cell-renderers/DocumentTypeCell/DocumentTypeCell.scss?c63c","webpack:///./common/store/carrier-contracts/selectors.ts","webpack:///./design-system/components/InfoTable/formatters/AttentionTextFormatter/AttentionTextFormatter.scss?97c1","webpack:///./common/components/notification-cards/entities/SubjectLink/SubjectLink.scss?0b3b","webpack:///./common/components/status-pill/TruckStatusPill/TruckStatusPill.tsx","webpack:///./common/store/create-company/sagas.ts","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsTable/cell-renderers/ActionsCell/ActionsCell.tsx","webpack:///./broker-admin/store/broker-order-assigment/utils/find-first-pickup-delivery-waypoint-date.ts","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/footers/ReviewFooterContent/ReviewFooterContent.scss?f8ea","webpack:///./common/layouts/ForgotPasswordPage/validate-form.ts","webpack:///./broker-admin/layouts/SideBars/UploadShipperContractSidebarContent/validate-form.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/AddressWidgetHeaderActions/AddressWidgetHeaderActions.tsx","webpack:///./design-system/components/date-pickers/LinkDatePicker/LinkDatePicker.scss?6745","webpack:///./common/icons/CarrierIcon.tsx","webpack:///./common/components/papers/hooks/use-render-papers-tab-count.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus.scss?28ef","webpack:///./common/layouts/SideBars/contents/ContactDetailsSidebarContent/ContactDetailsSidebarContent.scss?be26","webpack:///./common/icons/SettingsIcon.tsx","webpack:///./common/utils/form-values.ts","webpack:///./common/layouts/AccountPage/AccountPage.scss?c8d1","webpack:///./common/layouts/TrailersPageLayout/prepare-fetch-page-query.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/NewOrderParametersSettingsForm/validate-form.ts","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/ShipmentPicker/ShipmentPicker.scss?d363","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/TypeCell/TypeCell.scss","webpack:///./design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput.tsx","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsTable/cell-renderers/DocumentTypeCell/DocumentTypeCell.tsx","webpack:///./common/store/errors/reducer.ts","webpack:///./common/components/RangeSelector/CustomZoneTextWrap/CustomZoneTextWrap.scss?4fef","webpack:///./common/utils/hooks/useTimeMark.ts","webpack:///./broker-admin/components/dropdowns/ShippersSuggest/ShippersSuggest.tsx","webpack:///./common/utils/get-bounding-box.ts","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/get-initial-values.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/ShipmentDetailsCard/utils.ts","webpack:///./common/layouts/SideBars/contents/DriverFiltersSidebarContent/get-query-filters.ts","webpack:///./broker-admin/components/notification-cards/CompletedPartnerDocumentCard/CompletedPartnerDocumentCard.scss?22e4","webpack:///./common/components/Widget/Widget.scss?4048","webpack:///./common/components/maps/pins/FerryLocationPin/FerryLocationPin.scss?9eee","webpack:///./common/components/entity-details/alerts/EntityWarningAlert.tsx","webpack:///./broker-admin/components/notification-cards/TransportationOrderMileagAndPaymentChangedCard/TransportationOrderMileagAndPaymentChangedCard.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/EditShipperContractLaneSidebarContent/EditShipperContractLaneSidebarContent.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/ParanjaSideBarLayout/ParanjaSideBarLayout.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/SubmitButtonContent/SubmitButtonContent.scss?d193","webpack:///./broker-admin/store/broker-tours/channels.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/FerrySettingsForm/FerrySettingsForm.scss?e348","webpack:///./broker-admin/constants.ts","webpack:///./common/utils/hooks/useNotificationSideBarContext.ts","webpack:///./common/store/members/utils.ts","webpack:///./design-system/components/InfoTable/formatters/DriverLinkFormatter/DriverLinkFormatter.tsx","webpack:///./common/components/TransparentButton/TransparentButton.tsx","webpack:///./common/store/order-creation/actions.ts","webpack:///./common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout.scss?7505","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrdersTable/cell-renderers/LocationCell/LocationCell.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrdersTable/TransportOrdersTable.scss?be8a","webpack:///./common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetForm/ActivateAssetForm.tsx","webpack:///./common/components/notification-cards/entities/CityName/CityName.scss?72db","webpack:///./common/layouts/Members/ContactSidebarHeader/ContactSidebarHeader.tsx","webpack:///./common/icons/DeleteUserIcon.tsx","webpack:///./broker-admin/layouts/SettingsPage/TenderCalculator/TenderCalculator.scss?3408","webpack:///./common/layouts/TrucksPageLayout/ActiveFleetCount/ActiveFleetCount.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetailsPage.tsx","webpack:///./common/icons/LayoverIcon.tsx","webpack:///./common/store/carrier-contract-details/types.ts","webpack:///./common/components/toasts/NotificationToastsManager/NotificationToastsManager.scss?a634","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsForm/get-initial-values.ts","webpack:///./broker-admin/layouts/SideBars/StatisticFiltersSidebarContent/constants.ts","webpack:///./common/components/maps/MapZoom/MapZoom.tsx","webpack:///./design-system/components/CheckboxTree/CheckboxTree.tsx","webpack:///./common/store/papers/utils.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/Bids/constants.ts","webpack:///./broker-admin/store/partners/sagas.ts","webpack:///./common/store/carriers-utilization/actions.ts","webpack:///./broker-admin/layouts/SideBars/PartnerFiltersSidebarContent/constants.ts","webpack:///./common/layouts/ListPage/ListPageHeaderTabsLayout/ListPageHeaderTabsLayout.tsx","webpack:///./common/components/Table/cell-renderers/LocationCell/LocationCell.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrdersTable/cell-renderers/StatusCell/StatusCell.scss","webpack:///./common/store/rfq-details/sagas.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssetTypeTabs/AssetTypeTabs.scss?b13f","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/NameCell/NameCell.tsx","webpack:///./common/utils/check-need-request.ts","webpack:///./common/contexts/google-map-context.ts","webpack:///./common/components/maps/MapCluster/MapCluster.scss?13b1","webpack:///./common/components/RuleImpact/RuleImpact.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/PricingSettingsForm/validate-form.ts","webpack:///./common/icons/FileIcon.tsx","webpack:///./broker-admin/store/deadhead-creation/utils/fake-id-by-hash.ts","webpack:///./common/components/status/SpotBidStatus/SpotBidStatus.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/ShipmentPicker/ShipmentPicker.tsx","webpack:///./common/components/ErrorModal/ErrorDetails/ErrorDetails.tsx","webpack:///./common/components/notification-cards/ShipmentNoShowCard/ShipmentNoShowCard.scss?7a5c","webpack:///./common/components/status-pill/TeamDrivePill/TeamDrivePill.scss","webpack:///./common/layouts/NewOrderPage/OffersForm/ProgressBar/ProgressBar.tsx","webpack:///./common/store/trucks/selectors.ts","webpack:///./broker-admin/components/notification-cards/entities/ShipperContractLaneId/ShipperContractLaneId.scss?21e1","webpack:///./broker-admin/utils/urls.ts","webpack:///./common/layouts/SideBars/contents/AddDriverSidebarContent/validate-form.ts","webpack:///./broker-admin/layouts/SideBars/PriceSettingsRuleFiltersSidebarContent/get-initial-values.ts","webpack:///./common/components/notifications/NotificationsBarContent/NotificationLayout/NotificationLayout.scss?648e","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/dialogs/AssignCarrierConfirmation/AssignCarrierConfirmation.tsx","webpack:///./common/components/price-details/hooks/additional-services-list.tsx","webpack:///./broker-admin/store/order-edit/selectors.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestDetailsPage/SpotRequestRoute/SpotRequestRoute.scss","webpack:///./broker-admin/store/partner/details/utils/normalize-partner-details.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlertsLayout.tsx","webpack:///./common/store/transport-orders/channels.ts","webpack:///./common/store/trailers/type-guards.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DropPointPicker/DropPointPicker.tsx","webpack:///./common/store/order-creation/types.ts","webpack:///./common/components/toasts/NotificationToastContent/NotificationToastContent.scss?4e1d","webpack:///./common/store/assets/models.ts","webpack:///./common/components/Stepper/Stepper.scss?3029","webpack:///./broker-admin/components/notification-cards/RevokedPartnerShipperContractCard/RevokedPartnerShipperContractCard.tsx","webpack:///./broker-admin/store/broker-order-stats/selectors.ts","webpack:///./common/layouts/TrucksPageLayout/TrucksTable/cell-renderers/ModelCell/ModelCell.tsx","webpack:///./common/utils/api/auth/keycloak-auth-service.ts","webpack:///./broker-admin/layouts/StatisticsPage/StatisticsPage.scss?b018","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/TruckActionHistory/TruckActionHistory.tsx","webpack:///./common/store/grouped-notification-counts/selectors.ts","webpack:///./broker-admin/layouts/SideBars/StatisticFiltersSidebarContent/StatisticFiltersSidebarContent.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssignmentForm.scss?66dd","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/FerryOnboardPointPicker/FerryOnboardPointPicker.scss?5166","webpack:///./common/icons/UrgentIcon.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/TrailerActionHistory/TrailerActionHistory.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/TimeWindowZoneText/TimeWindowZoneText.tsx","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/footers/StartSelectBidFooterContent/StartSelectBidFooterContent.scss?8ec4","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/ShipmentDetailsCard/ShipmentDetailsCard.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/EditTrailerSidebarContent.tsx","webpack:///./common/store/additional-services-dict/selectors.ts","webpack:///./broker-admin/store/partners-stats/types.ts","webpack:///./broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/cell-renderers/NameCell/NameCell.tsx","webpack:///./common/store/spot-assets-assigment/assignment.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/Bids/hooks/use-bids-sort.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AlertsSettingsForm/AlertsSettingsForm.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/footers/ReviewFooterContent/ReviewFooterContent.scss?e6dd","webpack:///./broker-admin/layouts/PartnersPage/InvitePartnerForm/validate-form.ts","webpack:///./common/store/legal-forms-dict/sagas.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDriversPage/PartnerDriversPage.scss","webpack:///./common/store/shipper-contract-lane-details/selectors.ts","webpack:///./common/components/maps/MapCenter/MapCenter.tsx","webpack:///./broker-admin/components/dropdowns/TourTypeMultipleDropdown/TourTypeMultipleDropdown.scss","webpack:///./common/utils/auth-return-url.ts","webpack:///./design-system/components/date-pickers/OpenedDatePicker/OpenedDatePicker.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/ErrorIndicatorLabel/ErrorIndicatorLabel.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/EditTrailerSidebarContent.scss","webpack:///./broker-admin/components/status/ColoredPriceRuleStatusLabel/ColoredPriceRuleStatusLabel.scss?bf01","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/SpotSettingsForm/validate-form.ts","webpack:///./common/components/Timeline/Timeline.scss?53c4","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/FerryDisembarkPointPicker/FerryDisembarkPointPicker.scss?eaab","webpack:///./common/store/shipper-contracts/channels.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/utils.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/contexts/sync-map-state.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsForm/validate-form.ts","webpack:///./broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/constants.ts","webpack:///./common/components/papers/labels/MainContactUnavailableReasonLabel/MainContactUnavailableReasonLabel.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/CommonEditableTrailerDetailsLayout.tsx","webpack:///./common/components/ErrorPlaceholder/ErrorPlaceholder.scss?87da","webpack:///./common/components/TrailerTypeSwitcher/TrailerTypeSwitcher.tsx","webpack:///./common/store/countries-dict/types.ts","webpack:///./common/layouts/SideBars/contents/TruckFiltersSidebarContent/constants.ts","webpack:///./broker-admin/components/filter-pills/PriceRuleOperationFilterPill/PriceRuleOperationFilterPill.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/FerrySettingsForm/FerrySettingsForm.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/LocationsCell/LocationsCell.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerPage.scss?99d4","webpack:///./common/store/notifications/models.ts","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/TrailerDetailsForm/TrailerDetailsForm.scss?9f6b","webpack:///./common/utils/hooks/useWindowSize.ts","webpack:///./common/components/maps/MapCluster/MapCluster.tsx","webpack:///./common/components/status-pill/InvoiceStatusPill/InvoiceStatusPill.tsx","webpack:///./broker-admin/store/order-edit/utils/get-order-stop-hashes.ts","webpack:///./broker-admin/layouts/InvoicesListPage/query-models.ts","webpack:///./common/utils/hooks/useMenuVisibility.ts","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/EditBrokerTeamSidebarContent.scss?2b48","webpack:///./broker-admin/layouts/SideBars/StatisticFiltersSidebarContent/get-initial-values.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/WarningsFilter/WarningsFilter.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/CarrierDropdown/CarrierDropdown.scss","webpack:///./common/store/transport-orders/sagas.ts","webpack:///./design-system/components/InfoTable/formatters/DateFormatter/DateFormatter.tsx","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/ControlsCell/ControlsCell.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/FerryDisembarkPointPicker/FerryDisembarkPointPicker.tsx","webpack:///./common/layouts/NewOrderPage/RouteEditingMap/ExcludeCountries/ExcludeCountries.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/TrailerType/TrailerType.scss?e5a2","webpack:///./common/icons/PinIcon.tsx","webpack:///./broker-admin/layouts/SideBars/SpotRequestsFiltersSidebarContent/constants.ts","webpack:///./broker-admin/store/broker-order-edit/types.ts","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/footers/SaveFooterContent/SaveFooterContent.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/RoutingSettingsForm/get-initial-values.ts","webpack:///./common/layouts/BaseProfileLayout/ProfileBasicInformation/CreatePartnerInfo/CreatePartnerInfo.scss?2bfe","webpack:///./design-system/components/date-pickers/internals/DateInputTrigger/DateInputTrigger.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/SyncPointsWatcher/SyncPointsWatcher.tsx","webpack:///./common/layouts/NewOrderPage/Steps/Steps.tsx","webpack:///./broker-admin/components/tour-receipt-details/hooks/utilization-rows-factory.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DeadheadCreationReceipt/models.ts","webpack:///./common/store/shipper-suggest/selectors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/EditTimeWindowsForm/EditTimeWindowsForm.scss?6429","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/usySyncMapState.ts","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/cell-renderers/ContractNameCell/ContractNameCell.scss?4e16","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/PreviewMessage/PreviewMessage.tsx","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RejectContractConfirmation/validate-form.ts","webpack:///./common/components/maps/pins/AssetPickUpLocationPin/AssetPickUpLocationPin.tsx","webpack:///./common/icons/FilterIcon.tsx","webpack:///./broker-admin/components/notification-cards/UpdatedPartnerShipperLaneContractCard/UpdatedPartnerShipperLaneContractCard.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetailsPage.scss?e646","webpack:///./common/components/notification-cards/RunOutOfTimeAssignAssetsCard/RunOutOfTimeAssignAssetsCard.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerTrailersPage/PartnerTrailersPage.scss","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent.scss?02d9","webpack:///./common/components/maps/MapTooltip/MapTooltip.scss?b2be","webpack:///./broker-admin/components/dropdowns/PriceComponentTypeCustomMultipleDropdown/PriceComponentTypeCustomMultipleDropdown.scss?fdf1","webpack:///./common/components/AssetDetailsMap/AssetDetailsMap.tsx","webpack:///./common/components/AsyncDictDocumentNameLabel/AsyncDictDocumentNameLabel.tsx","webpack:///./design-system/components/form-field/FieldNotes/FieldNotes.scss?51e8","webpack:///./common/utils/postal-codes.ts","webpack:///./common/components/PhoneNumberInput/PhoneNumberDropdownTrigger/PhoneNumberDropdownTrigger.scss?46a8","webpack:///./broker-admin/layouts/ShipperContractDetailsPage/ShipperContractLanesLayout/ShipperContractLanesLayout.tsx","webpack:///./common/components/maps/MapFooter/MapFooter.scss?cb08","webpack:///./common/layouts/SideBars/SideBarCloseConfirmation/SideBarCloseConfirmation.tsx","webpack:///./common/components/RuleImpact/RuleImpact.scss?4774","webpack:///./common/layouts/Members/InviteUserForm/constants.ts","webpack:///./common/store/order-creation/reducer.ts","webpack:///./common/components/notification-cards/shared/NotificationEntityLabel/NotificationEntityLabel.scss?a4de","webpack:///./common/icons/BoatIcon.tsx","webpack:///./common/icons/BigQuestionReversedIcon.tsx","webpack:///./broker-admin/components/dropdowns/PriceComponentTypeMultipleDropdown/PriceComponentTypeMultipleDropdown.tsx","webpack:///./common/components/tabs/TabGroup/TabGroup.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrderListPageLayout.scss?979d","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/EditShipperContractLaneSidebarContent/ShipperContractLaneEditForm/constants.ts","webpack:///./shipper/constants.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/ChangeTourStatusControls/ChangeTourStatusControls.tsx","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/SearchForm/SearchForm.scss?1738","webpack:///./broker-admin/components/dropdowns/PriceRuleTypeDropdown/PriceRuleTypeDropdown.tsx","webpack:///./broker-admin/layouts/InvoicesListPage/constants.ts","webpack:///./common/components/RangeSelector/Steps/Steps.scss?6d7e","webpack:///./broker-admin/layouts/PartnerPage/PartnerTransportOrderDetails/PartnerTransportOrderDetails.scss","webpack:///./broker-admin/components/dropdowns/PartnersSuggest/hooks/use-partner-suggest-options.ts","webpack:///./common/components/Table/cell-renderers/CostCell/CostCell.tsx","webpack:///./common/layouts/TrucksPageLayout/SelectedFilters/SelectedFilters.tsx","webpack:///./broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/ServicesTable.tsx","webpack:///./common/layouts/RFQDetailsPageLayout/RFQDetails/RFQDetails.tsx","webpack:///./common/store/alerts/reducer.ts","webpack:///./common/layouts/SideBars/contents/DriverDetailsSidebarContent/DriverSidebarHeader/DriverSidebarHeader.scss","webpack:///./common/utils/hooks/useLegalFormDict.ts","webpack:///./common/icons/TruckDropOffIcon.tsx","webpack:///./common/components/ColoredStatusLabel/ColoredStatusLabel.tsx","webpack:///./broker-admin/layouts/SettingsPage/SettingsPage.tsx","webpack:///./broker-admin/store/statistics/reducer.ts","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/LocationCell/LocationCell.tsx","webpack:///./common/components/notification-cards/ShipmentMissedCard/ShipmentMissedCard.scss?21a5","webpack:///./common/store/gps-tracking-status/actions.ts","webpack:///./common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout.tsx","webpack:///./broker-admin/components/notification-cards/RevokedPartnerDocumentCard/RevokedPartnerDocumentCard.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/TimeIntervalLimitPillLabel/TimeIntervalLimitPillLabel.tsx","webpack:///./common/components/OverlaysManager/AlertsDebugForm/AlertsDebugForm.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/ShipperContractLaneDetailsSidebarContent/ShipperContractLaneDetails/ShipperContractLaneDetails.scss?2374","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/query-models.ts","webpack:///./common/utils/api/errors/api-request-error.ts","webpack:///./broker-admin/components/notification-cards/ExpiredPartnerCarrierContractCard/ExpiredPartnerCarrierContractCard.tsx","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/ChangeRatesForm/ChangeRatesForm.tsx","webpack:///./common/icons/ShipperIcon.tsx","webpack:///./common/icons/ContactBadgeIcon.tsx","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/cell-renderers/LocationCell/LocationCell.tsx","webpack:///./common/layouts/NewOrderPage/MultiPointOrderDraftDetails/MultiPointOrderDraftDetails.tsx","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/footers/StartSelectBidFooterContent/StartSelectBidFooterContent.tsx","webpack:///./common/layouts/Members/ContactsTable/cell-renderers/StatusCell/StatusCell.scss?0b20","webpack:///./broker-admin/store/deadhead-creation/utils/query-modifiers.ts","webpack:///./broker-admin/store/managers/selectors.ts","webpack:///./common/components/notifications/NotificationsBarContent/utils.ts","webpack:///./common/store/carriers-utilization/sagas.ts","webpack:///./common/layouts/TrailersPageLayout/SelectedFilters/SelectedFilters.tsx","webpack:///./broker-admin/store/broker-tour-details/selectors.ts","webpack:///./common/components/dropdowns/ContractMultipleDropdown/ContractMultipleDropdown.tsx","webpack:///./common/store/shipper-contract-lane-creation/slice.ts","webpack:///./common/components/Table/MemoizedTable/MemoizedTable.tsx","webpack:///./common/icons/UploadFileIcon.tsx","webpack:///./common/icons/GeoAreaIcon.tsx","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/query-models.ts","webpack:///./common/components/papers/message-placeholders/PapersEmptyPlaceholder/PapersEmptyPlaceholder.tsx","webpack:///./common/icons/CopyIcon.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout.scss?1259","webpack:///./common/components/pills/ShipperContractLaneOrderCounterPill/ShipperContractLaneOrderCounterPill.tsx","webpack:///./common/utils/form-common-validators.ts","webpack:///./common/components/tabs/NavigationTabs/NavigationTabs.tsx","webpack:///./design-system/components/form-field/FieldLabel/FieldLabel.scss?cdaa","webpack:///./common/store/grouped-notification-counts/actions.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/utils/get-assignment-icon-preset.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/FerryDisembarkPointPicker/FerryDisembarkPointPicker.scss?dc53","webpack:///./common/layouts/NewOrderPage/utils/offer-total-price.ts","webpack:///./common/store/trailers/sagas.ts","webpack:///./common/components/AdditionalServiceLabel/AdditionalServiceLabel.tsx","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsForm/get-initial-values.ts","webpack:///./broker-admin/layouts/PriceSettingsRulesPage/PriceSettingsRuleCreationPage/PriceSettingsRuleCreationPage.scss?5742","webpack:///./common/layouts/TruckDetailsPage/TruckDetailsPage.scss","webpack:///./common/layouts/ContinueSignUpPage/ContinueSignUpForm/constants.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/LaneDropdownInput/LaneDropdownInputOptionLabel/LaneDropdownInputOptionLabel.tsx","webpack:///./common/components/Input/Input.scss?6e48","webpack:///./common/components/Modal/ModalDialogActions/ModalDialogActions.tsx","webpack:///./common/components/TemperatureRange/TemperatureRange.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/SearchForm.scss?90ab","webpack:///./common/components/maps/pins/LastAssetWithNumberTrackPointPin/LastAssetWithNumberTrackPointPin.scss?1339","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout.tsx","webpack:///./broker-admin/layouts/PartnersPage/prepare-fetch-page-query.ts","webpack:///./common/store/trucks-dict/utils.ts","webpack:///./common/components/notification-cards/SpotBidStatusCard/SpotBidStatusCard.tsx","webpack:///./common/layouts/NewOrderPage/OffersForm/ProgressBar/ProgressBar.scss?fa24","webpack:///./broker-admin/components/notification-cards/TourDelayingCard/TourDelayingCard.scss?8f1c","webpack:///./common/layouts/NewOrderPage/utils/custom-line-haul.ts","webpack:///./common/components/Table/cell-renderers/AvatarCell/AvatarCell.scss?1e8f","webpack:///./common/components/RangeSelector/DnDIconWrap/DnDIconWrap.tsx","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestListPage.scss","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/utils.ts","webpack:///./common/components/PhoneNumberInput/PhoneNumberDropdownInput/PhoneNumberDropdownInput.tsx","webpack:///./broker-admin/layouts/SideBars/constants.ts","webpack:///./common/layouts/AccountPage/async-validations.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/DriveThroughRoutePointPicker/DriveThroughRoutePointPicker.scss?f7ea","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/RejectDocumentConfirmation/constants.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/cell-renderers/AssetCell/AssetCell.scss?cae3","webpack:///./common/layouts/SideBars/contents/DriverFiltersSidebarContent/DriverFiltersSidebarContent.scss?d8f4","webpack:///./broker-admin/layouts/StatisticsPage/query-models.ts","webpack:///./common/components/ColoredDiff/ColoredDiff.tsx","webpack:///./broker-admin/store/partners/actions.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssignTriggerLabel/AssignTriggerLabel.scss?b45f","webpack:///./common/components/Modal/ModalDialog/ModalDialog.scss?d32d","webpack:///./common/layouts/LeftMenuLayout/TopBarContent/TopBarContent.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/ValidPeriodCell/ValidPeriodCell.tsx","webpack:///./common/layouts/SideBars/contents/EditContactDetailsSidebarContent/EditContactDetailsSidebarContent.tsx","webpack:///./common/components/ControlLoaderWithShadow/ControlLoaderWithShadow.tsx","webpack:///./broker-admin/store/price-settings/additional-services/reducer.ts","webpack:///./common/components/dropdowns/DictTrailerMultipleDropdown/DictTrailerMultipleDropdown.tsx","webpack:///./broker-admin/store/partner/sagas.ts","webpack:///./common/components/tabs/NavigationTabs/NavigationTabs.scss?4bbd","webpack:///./common/icons/FuelIcon.tsx","webpack:///./common/components/Timeline/Flag/Flag.scss?d878","webpack:///./common/components/Alert/Alert.scss?270d","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/BidDetails/BidDetails.tsx","webpack:///./common/store/order-creation/utils/prepare-address-point.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/cell-renderers/CostsCell/CostsCell.scss?d1bd","webpack:///./common/layouts/BaseShipperContractLanesLayout/SelectedFilters/SelectedFilters.tsx","webpack:///./common/layouts/NewOrderPage/RouteEditingMap/RouteEditingMap.scss?59b1","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/FiltersSidebarContent.scss?1b89","webpack:///./common/layouts/SideBars/contents/EditContactDetailsSidebarContent/constants.ts","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/TemperatureRangePicker/TemperatureRangePicker.scss?4d19","webpack:///./common/components/notification-cards/ShipmentCanceledCard/ShipmentCanceledCard.scss?add6","webpack:///./common/layouts/AccountPage/DevelopmentSettings/DevelopmentSettings.tsx","webpack:///./common/store/transport-order-details/types.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/ShipmentDetailsForm.tsx","webpack:///./common/layouts/TrucksPageLayout/query-models.ts","webpack:///./common/layouts/Members/dialogs/CancelInviteConfirmation/CancelInviteConfirmation.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/NewOrderParametersSettingsForm/NewOrderParametersSettingsForm.scss?c058","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/utils/convert-point-to-location.ts","webpack:///./common/icons/CargoUnitIcon.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout.scss?2b96","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsLayout.scss?f132","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/RouteForm.tsx","webpack:///./common/components/price-details/utils.ts","webpack:///./common/store/asset-track/types.ts","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/TruckDetailsSidebarContent/TruckDetails/TruckDetails.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/DriveThroughRoutePointPicker/DriveThroughRoutePointPicker.tsx","webpack:///./common/layouts/TrailersPageLayout/TrailersTable/TrailersTable.scss?6f0a","webpack:///./common/components/papers/hooks/use-attach-tour-papers.tsx","webpack:///./broker-admin/store/broker-team-details/selectors.ts","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/RulePreviewPill/RulePreviewPill.scss?2e11","webpack:///./common/layouts/BaseShipperContractLaneDetailsLayout/BaseShipperContractLaneDetailsLayout.scss","webpack:///./common/layouts/DetailsLayout/DetailsLayout.scss?cf03","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/SearchForm.tsx","webpack:///./common/components/papers/AttachPapersDropdownControlTrigger/AttachPapersDropdownControlTrigger.tsx","webpack:///./broker-admin/store/broker-tour-details/sagas.ts","webpack:///./common/store/transport-order-details/channels.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentDetailsLayout.tsx","webpack:///./common/components/Table/cell-renderers/TableCellLink/TableCellLink.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/TrailerDetailsForm/validate-form.ts","webpack:///./common/store/consistent-state-machine/utils.ts","webpack:///./common/components/SaveChangesNotification/SaveChangesNotification.tsx","webpack:///./design-system/components/dropdowns/SuggestInput/hooks/use-async-init-options-request.ts","webpack:///./common/store/order-creation/utils/get-preview-reserve-query-correction.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/cell-renderers/OriginCell/OriginCell.tsx","webpack:///./common/layouts/NewOrderPage/OffersForm/AdditionalServicesGroup/AdditionalServicesGroup.tsx","webpack:///./broker-admin/layouts/ShipperContractDetailsPage/ShipperContractDetailsLayout/ShipperContractDetailsLayout.scss?b4cd","webpack:///./broker-admin/components/notification-cards/RevokedPartnerCarrierContractCard/RevokedPartnerCarrierContractCard.scss?a454","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/CreatedCell/CreatedCell.tsx","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/BaseShipperContractLanesTable.tsx","webpack:///./common/layouts/DriversPageLayout/DriversTable/cell-renderers/StatusCell/StatusCell.scss","webpack:///./common/components/FilterPills/pill-renderers.tsx","webpack:///./common/components/dropdowns/TrailerStatusMultipleDropdown/TrailerStatusMultipleDropdown.tsx","webpack:///./common/store/shipper-contract-lanes/sagas.ts","webpack:///./common/icons/MinusSignIcon.tsx","webpack:///./common/utils/api/auth/errors/auth-api-error.ts","webpack:///./common/components/pills/RFQSourcePill/RFQSourcePill.tsx","webpack:///./common/icons/WarningIcon.tsx","webpack:///./common/utils/units.ts","webpack:///./broker-admin/store/spot/actions.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/prepare-fetch-page-query.ts","webpack:///./common/store/spot-assets-assigment/types.ts","webpack:///./common/store/documents-dict/actions.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/BaseCarrierContractsTable.tsx","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/cell-renderers/AssetCell/AssetCell.tsx","webpack:///./common/components/maps/GoogleMapsLoaderWithoutMaps/GoogleMapsLoaderWithoutMaps.tsx","webpack:///./common/components/pills/UserRolePill/UserRolePill.tsx","webpack:///./common/layouts/DriversPageLayout/dialogs/ArchiveDriverConfirmation/ArchiveDriverConfirmation.tsx","webpack:///./broker-admin/layouts/SideBars/PartnerFiltersSidebarContent/PartnerFiltersSidebarContent.scss?d149","webpack:///./common/utils/hooks/useScrollBarWidth.ts","webpack:///./common/store/papers-edit/sagas.ts","webpack:///./broker-admin/store/price-settings/rules/selectors.ts","webpack:///./common/store/carrier-suggest/actions.ts","webpack:///./common/components/maps/MapPin/MapPin.tsx","webpack:///./common/components/status-pill/FuelOptionTypePill/FuelOptionTypePill.tsx","webpack:///./broker-admin/store/statistics/sagas.ts","webpack:///./common/layouts/ContinueSignUpPage/ContinueSignUpPage.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/RulesTable.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourRouteMap/BrokerTourRouteMap.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/query-models.ts","webpack:///./common/layouts/ForgotPasswordPage/ForgotPasswordPage.tsx","webpack:///./broker-admin/store/price-settings/rules/reducer.ts","webpack:///./common/components/Table/FiltersTrigger/FiltersTrigger.tsx","webpack:///./broker-admin/store/spot-request-details/sagas.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/BrokerOrderRouteEditPage.scss?fe8b","webpack:///./common/components/tabs/TabGroupWithDivider/TabGroupWithDivider.tsx","webpack:///./common/utils/hooks/useSideBarFooterAlertsContextValue.ts","webpack:///./broker-admin/store/broker-tour-stats/reducer.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/constants.ts","webpack:///./broker-admin/layouts/PartnersPage/InvitePartnerForm/constants.ts","webpack:///./common/layouts/BaseShipperContractsLayout/prepare-fetch-page-query.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/get-initial-values.ts","webpack:///./broker-admin/store/partner/rfq-stats/types.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/FiltersSidebarContent/FiltersSidebarContent.scss?c905","webpack:///./common/utils/client-config.ts","webpack:///./broker-admin/layouts/SideBars/PriceSettingsRuleFiltersSidebarContent/get-query-filters.ts","webpack:///./broker-admin/layouts/ShipperContractDetailsPage/ShipperContractDetailsPage.scss?8e22","webpack:///./common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout.tsx","webpack:///./broker-admin/components/dropdowns/DispatcherDropdown/DispatcherDropdown.scss","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/createInitWaypointTrailerDropPoint.tsx","webpack:///./common/components/RangeSelector/Trigger/Trigger.scss?1498","webpack:///./broker-admin/layouts/StatisticsPage/StatisticsChart/Chart/Chart.scss?95c3","webpack:///./common/components/OverlaysManager/OverlaysManager.scss?e449","webpack:///./broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/ServicesTable.scss?1e60","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrderTypeDropdown/TransportOrderTypeDropdown.tsx","webpack:///./common/store/asset-track/sagas.ts","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsForm/ContractDetailsForm.scss?a8ae","webpack:///./common/components/GPSTrackingStatusAlert/GPSTrackingStatusAlert.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetails/EvidenceOfTaxDetails/EvidenceOfTaxDetails.tsx","webpack:///./common/utils/api/auth/firebase-auth-service.ts","webpack:///./common/layouts/NewOrderPage/contexts/steps-context.ts","webpack:///./common/components/status-pill/InvoiceBinaryStatusPill/InvoiceBinaryStatusPill.tsx","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestsPage.tsx","webpack:///./common/layouts/LeftMenuLayout/TopBar/TopBar.scss?0956","webpack:///./common/layouts/SideBars/contents/AddTruckSidebarContent/AddTruckSidebarContent.tsx","webpack:///./common/components/InfoTable/formatters/TransportOrderTypeFormatter/TransportOrderTypeFormatter.tsx","webpack:///./common/components/papers/PapersGrid/PapersGrid.tsx","webpack:///./common/layouts/RFQListPageLayout/FiltersSidebarContent/get-query-filters.ts","webpack:///./common/layouts/DriversPageLayout/DriversTable/cell-renderers/StatusCell/StatusCell.tsx","webpack:///./common/store/papers-edit/actions.ts","webpack:///./common/layouts/Members/PositionOption/PositionOption.tsx","webpack:///./broker-admin/store/price-settings/system-settings/reducer.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteDetailsForm/constants.ts","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrdersTable/cell-renderers/ReceivedCell/ReceivedCell.scss?b014","webpack:///./common/layouts/Members/ContactsTable/ContactsTable.scss?630b","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarPortal/HeaderSideBarPortal.tsx","webpack:///./broker-admin/components/dropdowns/PriceRuleTypeMultipleDropdown/PriceRuleTypeMultipleDropdown.tsx","webpack:///./common/components/Table/TableError/TableError.tsx","webpack:///./broker-admin/store/partner/details/selectors.ts","webpack:///./common/layouts/SideBars/contents/EditDriverSidebarContent/EditDriverSidebarContent.scss?da08","webpack:///./common/components/dropdowns/options/CountryFlagPlaceholderOption/CountryFlagPlaceholderOption.scss?ee20","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsTable/hooks/actions.tsx","webpack:///./common/layouts/SideBars/contents/DriverDetailsSidebarContent/hooks/use-driver-action-options.tsx","webpack:///./common/layouts/RFQListPageLayout/SelectedFilters/SelectedFilters.tsx","webpack:///./common/store/carrier-suggest/selectors.ts","webpack:///./broker-admin/components/status-machine/footers/ChangeTourStatusFooter/StartAssignmentFooter/StartAssignmentFooter.tsx","webpack:///./common/components/OverlaysManager/AlertsDebugForm/AlertsDebugForm.scss","webpack:///./common/layouts/TransportOrderListPageLayout/prepare-fetch-page-query.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/SpotRequestDetails.scss?1c58","webpack:///./common/components/MultiPointOrderRouteMap/PointStackClusterPin/PointStackClusterPin.tsx","webpack:///./common/layouts/BaseShipperContractDetailsLayout/EditShipperContractDetailsForm/EditShipperContractDetailsForm.scss?5e67","webpack:///./common/components/LocationLabel/LocationLabel.scss?6ee4","webpack:///./broker-admin/components/notification-cards/RunOutOfTimeAssignCarrierCard/RunOutOfTimeAssignCarrierCard.tsx","webpack:///./broker-admin/store/price-settings/sagas.ts","webpack:///./common/components/status-pill/ShipmentWarningPill/ShipmentWarningPill.tsx","webpack:///./broker-admin/components/tour-receipt-details/TourTypeTabsLayout/TourTypeTabsLayout.scss?0e78","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/utils.ts","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/constants.ts","webpack:///./common/layouts/DriversPageLayout/DriversTable/DriversTable.tsx","webpack:///./broker-admin/layouts/SideBars/CreatePartnerSidebarContent/constants.ts","webpack:///./common/layouts/DetailsLayout/DetailsLayout.tsx","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/ChangeRateOrContractWarning/ChangeRateOrContractWarning.scss","webpack:///./common/components/dropdowns/options/CountryFlagPlaceholderOption/CountryFlagPlaceholderOption.tsx","webpack:///./common/components/PhoneNumberInput/PhoneNumberDropdownTrigger/PhoneNumberDropdownTrigger.tsx","webpack:///./common/layouts/ForgotPasswordPage/ForgotPasswordPage.scss?6a06","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteDetailsForm/RouteDetailsForm.scss?a77b","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/RadiusDropdown/RadiusDropdown.scss","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/cell-renderers/CreatedCell/CreatedCell.tsx","webpack:///./common/store/shipper-contracts/sagas.ts","webpack:///./common/layouts/NewOrderPage/PriceMatrix/PriceMatrix.tsx","webpack:///./common/components/PhoneNumberInput/PhoneNumberDropdownOption/PhoneNumberDropdownOption.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/TimeWindowPillLabel/TimeWindowPillLabel.scss?42b4","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/FerryOnboardPointPicker/FerryOnboardPointPicker.tsx","webpack:///./common/store/shipper-suggest/sagas.ts","webpack:///./common/layouts/SideBars/contents/DriverDetailsSidebarContent/DriverSidebarHeader/DriverSidebarHeader.tsx","webpack:///./common/components/Money/Money.tsx","webpack:///./common/layouts/Members/ContactsTable/ContactsTable.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlert/FooterSideBarAlert.scss?328a","webpack:///./common/components/Textarea/Textarea.tsx","webpack:///./common/components/status/ShipperContractLaneStatus/ShipperContractLaneStatus.tsx","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/get-initial-values.ts","webpack:///./common/components/SignUpForm/UserSignUpForm/UserSignUpForm.tsx","webpack:///./broker-admin/layouts/PartnersPage/InvitePartnerForm/InvitePartnerForm.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/TrailerDetailsSidebarContent/TrailerDetails/TrailerDetails.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/FiltersSidebarContent/FiltersSidebarContent.tsx","webpack:///./common/layouts/NewOrderPage/RouteEditingMap/RouteEditingMap.tsx","webpack:///./common/components/dropdowns/ActiveContractDropdown/ActiveContractDropdown.scss?c5f6","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/EditShipperContractLaneSidebarContent/ShipperContractLaneEditForm/ShipperContractLaneEditForm.tsx","webpack:///./common/store/alerts/actions.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteSidebarSkeleton/RouteSidebarSkeleton.scss?442b","webpack:///./broker-admin/layouts/ShipperContractDetailsPage/ShipperContractDetailsPage.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderRouteMap/PointStackClusterPin/PointStackClusterPin.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/SpotAssetsAssignmentForm/AssetOptionLabel/AssetOptionLabel.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/SpotSettingsForm/SpotSettingsForm.scss?9d39","webpack:///./common/components/Table/cell-renderers/FullNameCell/FullNameCell.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AssignmentSettingsForm/constants.ts","webpack:///./common/components/Table/cell-renderers/EditableCostCell/EditableCostCell.scss?4726","webpack:///./common/store/transport-order-details/selectors.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriverSuggestInput/DriverSuggestInput.scss?2145","webpack:///./common/components/papers/labels/ShipmentPaperTypeLabel/ShipmentPaperTypeLabel.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssignOptionLabel/AssignOptionLabel.scss?ae64","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-footer-alerts-context.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/dialogs/CancelBrokerTourConfirmation/CancelBrokerTourConfirmation.tsx","webpack:///./common/components/ErrorModal/ErrorModal.scss?03de","webpack:///./common/components/dropdowns/CountryMultipleDropdown/CountryMultipleDropdown.tsx","webpack:///./common/store/grouped-notification-counts/sagas.ts","webpack:///./broker-admin/layouts/PriceSettingsRulesPage/PriceSettingsEditRuleDetailsPage/PriceSettingsEditRuleDetailsPage.scss?7ca6","webpack:///./common/layouts/TrailersPageLayout/TrailersTable/cell-renderers/StatusCell/StatusCell.tsx","webpack:///./common/layouts/NewOrderPage/OfferDetails/OfferDetails.tsx","webpack:///./common/components/GeoSuggest/GeoSuggest.scss?3034","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/TimePillLabel/TimePillLabel.tsx","webpack:///./broker-admin/store/partners/types.ts","webpack:///./common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton.scss?d868","webpack:///./common/icons/StopIcon.tsx","webpack:///./broker-admin/store/order-edit/utils/get-order-id.ts","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/RejectDocumentConfirmation/RejectDocumentConfirmation.scss?3538","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/ShipmentDetailsCard/ShipmentDetailsCard.scss?8be2","webpack:///./broker-admin/store/broker-tours/selectors.ts","webpack:///./common/layouts/dialogs/ImportXLSAssetsDialogModal/hooks/useImportXLSAssetsModalDialog.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/BrokerOrderTable.scss?19dc","webpack:///./common/store/shipper-contracts/selectors.ts","webpack:///./broker-admin/layouts/OrdersPage/OrdersPage.tsx","webpack:///./common/components/InfoTable/formatters/SimpleTrailerTypeFormatter/SimpleTrailerTypeFormatter.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/async-validations.ts","webpack:///./broker-admin/components/status-machine/footers/ChangeTourStatusFooter/StartAssignmentFooter/StartAssignmentFooter.scss?1908","webpack:///./common/utils/api/auth/factory.ts","webpack:///./common/utils/pagination/utils.ts","webpack:///./common/icons/WeightIcon.tsx","webpack:///./broker-admin/store/spot-requests/reducer.ts","webpack:///./common/utils/google-maps-api/google-maps-autocomplete-api.ts","webpack:///./common/store/shipper-contract-lanes/channels.ts","webpack:///./common/utils/get-utilization-color.ts","webpack:///./common/layouts/sidebar-footers/TimeLeftForStart/TimeLeftForStart.scss?42c8","webpack:///./common/components/notifications/NotificationsBarContent/NotificationLayout/NotificationLayout.tsx","webpack:///./common/store/documents-dict/utils/prepare-dict-document.ts","webpack:///./common/components/TraceIdLabel/TraceIdLabel.tsx","webpack:///./common/components/DocumentsTable/DocumentsTable.scss?0c5c","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/PartnersTable.scss?7edb","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/NewOrderParametersSettingsForm/get-initial-values.ts","webpack:///./design-system/components/InfoTable/formatters/AssetLinkFormatter/AssetLinkFormatter.tsx","webpack:///./common/components/dropdowns/ContractMultipleDropdown/ContractMultipleDropdown.scss?09cb","webpack:///./common/store/country-settings-dict/actions.ts","webpack:///./common/components/dropdowns/CountryDropdown/CountryDropdown.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RuleStateControl/RuleStateControl.tsx","webpack:///./common/store/carrier-contract-details/channels.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/validate-form.ts","webpack:///./common/layouts/AccountPage/AccountPage.tsx","webpack:///./broker-admin/store/partner/rfq-stats/sagas.ts","webpack:///./broker-admin/components/notification-cards/ExpireSoonPartnerDocumentCard/ExpireSoonPartnerDocumentCard.scss?884d","webpack:///./broker-admin/store/broker-order-edit/reducer.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/TransportOrderDetails.tsx","webpack:///./common/icons/SquareInfoIcon.tsx","webpack:///./common/components/TollLabel/TollLabel.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/PickupPointPicker/PickupPointPicker.scss?9b6b","webpack:///./common/components/status-pill/TeamDrivePill/TeamDrivePill.tsx","webpack:///./broker-admin/store/dispatchers/actions.ts","webpack:///./common/components/forms/TimeWindowPicker/TimeWindowPicker.scss?84f2","webpack:///./common/store/trucks-dict/actions.ts","webpack:///./design-system/components/IconTrigger/IconTrigger.tsx","webpack:///./common/store/driver-assigment/sagas.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus.tsx","webpack:///./common/components/SaveChangesNotification/SaveChangesNotification.scss?1826","webpack:///./common/layouts/dialogs/ChangeRateOrContractAssetDialogModal/ChangeRateOrContractAssetForm/validate-form.ts","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/prepare-api-truck.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/WaypointNumberIcon/WaypointNumberIcon.tsx","webpack:///./common/components/tabs/hooks.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/DriveThroughRoutePointPicker/DriveThroughRoutePointPicker.tsx","webpack:///./common/components/Table/cell-renderers/PlateNumberCell/PlateNumberCell.scss?5053","webpack:///./common/components/Table/TableMessage/TableMessage.scss?d504","webpack:///./common/components/pills/UserMainPill/UserMainPill.tsx","webpack:///./common/components/InlineLoader/InlineLoader.tsx","webpack:///./common/utils/formatters.ts","webpack:///./common/components/papers/modals/ImageGalleryModal/ImageGalleryModal.tsx","webpack:///./design-system/components/form-field/FieldNotes/FieldNotes.tsx","webpack:///./broker-admin/layouts/InvoicesListPage/InvoicesTable/InvoicesTable.scss?27ac","webpack:///./common/components/EmissionClassLabel/EmissionClassLabel.tsx","webpack:///./design-system/components/InfoTable/InfoTable.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AssignmentSettingsForm/prepare-system-settings.ts","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/constants.ts","webpack:///./common/store/transport-orders/selectors.ts","webpack:///./common/icons/BigTrashIcon.tsx","webpack:///./common/components/PhoneNumberIcon/PhoneNumberIcon.scss?4095","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel.scss?f1eb","webpack:///./common/store/company/actions.ts","webpack:///./common/utils/hooks/useTrailersDict.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/BrokerOrderRouteEditPage.tsx","webpack:///./broker-admin/store/broker-order-details/utils/get-pickup-delivery-waypoints.ts","webpack:///./common/icons/LinkIcon.tsx","webpack:///./common/store/rfqs/actions.ts","webpack:///./common/layouts/SelfCreateCompanyPage/CreateCompanyForm/CreateCompanyForm.scss?55d9","webpack:///./common/icons/ThumbUpIcon.tsx","webpack:///./common/components/AssetScheduleSidebar/AssetScheduleSidebar.tsx","webpack:///./common/components/Table/cell-renderers/EmailCell/EmailCell.scss?21b5","webpack:///./common/components/dropdowns/CountryMultipleDropdown/CountryMultipleDropdown.scss?166f","webpack:///./common/store/notifications/converter.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/query-models.ts","webpack:///./common/components/suggests/DriverSuggest/DriverSuggest.tsx","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/SearchForm/SearchForm.tsx","webpack:///./common/layouts/LeftMenuLayout/StickyFooter/StickyFooter.scss?e52b","webpack:///./common/layouts/DriversPageLayout/InviteDriverForm/async-validations.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/BrokerTourDeadheadCreationPage.scss?1269","webpack:///./common/components/SaveChangesNotification/withWidgetChangesDetector.tsx","webpack:///./common/layouts/NewOrderPage/FormTitle/FormTitle.tsx","webpack:///./common/layouts/BaseShipperContractLanesLayout/FiltersSidebarContent/FiltersSidebarContent.scss?5228","webpack:///./common/layouts/NewOrderPage/query.ts","webpack:///./common/components/TrailerTypeSwitcher/TrailerTypeSwitcher.scss?9bb7","webpack:///./broker-admin/store/broker-order-details/slice.ts","webpack:///./common/components/papers/TourPaperAttachPapersDropdownControl/TourPaperAttachPapersDropdownControl.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerPage.tsx","webpack:///./common/layouts/SideBars/contents/EditableTruckDetailsSidebarContent/EditableTruckDetailsSidebarContent.tsx","webpack:///./common/store/trucks-dict/selectors.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/models.ts","webpack:///./common/components/dropdowns/BrokerTeamsSuggest/BrokerTeamsSuggest.tsx","webpack:///./common/store/country-settings-dict/utils/check-location.ts","webpack:///./common/components/AssetScheduleSidebar/EntityLinkTooltipContent/EntityLinkTooltipContent.tsx","webpack:///./common/store/constants.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarPortal/HeaderSideBarPortal.scss","webpack:///./common/components/dropdowns/UserDropdown/UserDropdown.tsx","webpack:///./broker-admin/components/status-machine/footers/ChangeTourStatusFooter/ChangeTourStatusFooter/ChangeTourStatusFooter.scss?299e","webpack:///./common/utils/hooks/useAsyncFormErrorMessage.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RevokeContractConfirmation/RevokeContractConfirmation.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDriversPage/PartnerDriversPage.tsx","webpack:///./common/components/AssetSidebarContent/SetUnavailableFooterContent/SetUnavailableFooterContent.tsx","webpack:///./common/components/status/OrderStatus/OrderStatus.tsx","webpack:///./common/icons/NumberPinIcon.tsx","webpack:///./common/store/trailers/types.ts","webpack:///./broker-admin/components/notification-cards/entities/TeamName/TeamName.tsx","webpack:///./common/components/Loader/Loader.scss?b330","webpack:///./common/components/IconWithNumber/IconWithNumber.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/async-validations.ts","webpack:///./common/components/papers/hooks/use-attach-shipment-papers.tsx","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/UserSelectList/UserSelectList.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/CancelTruckTransportOrderConfirmation/CancelTruckTransportOrderConfirmation.tsx","webpack:///./common/components/notification-cards/RunOutOfTimeAssignAssetsCard/RunOutOfTimeAssignAssetsCard.scss?5af6","webpack:///./broker-admin/components/notification-cards/ExpireSoonPartnerShipperLaneContractCard/ExpireSoonPartnerShipperLaneContractCard.tsx","webpack:///./common/layouts/RFQListPageLayout/FiltersSidebarContent/FiltersSidebarContent.scss?8dea","webpack:///./broker-admin/components/notification-cards/UpdatedPartnerShipperContractCard/UpdatedPartnerShipperContractCard.scss?1b79","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/cell-renderers/ContractNameCell/ContractNameCell.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditMap/RouteEditMap.scss?d4ab","webpack:///./common/store/members/selectors.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RejectContractConfirmation/constants.ts","webpack:///./common/utils/links.ts","webpack:///./common/components/NavBurger/NavBurger.tsx","webpack:///./common/components/Table/cell-renderers/AvatarCell/AvatarCell.tsx","webpack:///./broker-admin/layouts/SettingsPage/AdditionalServicesSettings/AdditionalServicesSettings.scss?a3cb","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/cell-renderers/CarrierCell/CarrierCell.tsx","webpack:///./common/layouts/NewOrderPage/PriceMatrixWithMap/PriceMatrixWithMap.tsx","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/SpotRequestsTable.tsx","webpack:///./common/components/VerificationAlert/VerificationAlert.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentVersion/DocumentVersion.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/footers/SendingToSpotFooterContent/SendingToSpotFooterContent.scss?65eb","webpack:///./common/store/state-machine/utils.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/hooks/usySyncAssetScheduleContextValue.ts","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/ImportCsv/ImportCsv.scss?f01a","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/WarningsCell/WarningsCell.tsx","webpack:///./common/store/trucks/actions.ts","webpack:///./broker-admin/components/notification-cards/RevokedPartnerDocumentCard/RevokedPartnerDocumentCard.scss?fe80","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/TruckDetailsSidebarContent/TruckDetailsSidebarContent.tsx","webpack:///./common/components/Table/cell-renderers/CheckboxCell/CheckboxCell.scss","webpack:///./common/components/LocationLabel/LocationLabel.tsx","webpack:///./common/components/entity-details/alerts/CurrentTemperatureAlert.tsx","webpack:///./common/components/FilterPills/FilterPills.tsx","webpack:///./common/store/drivers/selectors.ts","webpack:///./common/components/Switcher/Switcher.scss?7d3e","webpack:///./broker-admin/layouts/StatisticsPage/DataSourceDropdown/DataSourceDropdown.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/ShipperContractLaneOtherDetails/ShipperContractLaneOtherDetails.scss?7372","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/RulePreviewPill/RulePreviewPill.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/hooks/usySyncMapStateContextValue.ts","webpack:///./common/icons/DeleteIcon.tsx","webpack:///./broker-admin/store/partner/details/reducer.ts","webpack:///./design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request.ts","webpack:///./common/layouts/TrailersPageLayout/TrailersTable/cell-renderers/TypeCell/TypeCell.tsx","webpack:///./broker-admin/layouts/StatisticsPage/SelectedFilters/SelectedFilters.tsx","webpack:///./common/layouts/SideBars/contents/EditContactDetailsSidebarContent/AddOtherMessengerDropdown/AddOtherMessengerDropdown.tsx","webpack:///./common/store/create-company/slice.ts","webpack:///./common/components/maps/MapLoader/MapLoader.scss?85ed","webpack:///./common/components/notification-cards/entities/NotificationSubjectType/NotificationSubjectType.tsx","webpack:///./broker-admin/store/deadhead-creation/sagas.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/BaseCarrierContractsTable.scss?8830","webpack:///./broker-admin/store/broker-order-details/reducer.ts","webpack:///./common/components/dropdowns/TruckRateModeDropdown/TruckRateModeDropdown.scss?a097","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/LaneDropdownInput/LaneDropdownInput.scss","webpack:///./broker-admin/store/broker-tour-stats/sagas.ts","webpack:///./common/utils/api/geo-services-config.ts","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/ChangeRateOrContractWarning/ChangeRateOrContractWarning.tsx","webpack:///./broker-admin/components/notification-cards/CompletedPartnerCarrierContractCard/CompletedPartnerCarrierContractCard.tsx","webpack:///./common/components/OverlaysManager/DevLocalizationLanguageSwitcher/DevLocalizationLanguageSwitcher.scss","webpack:///./common/components/maps/MapFooter/MapFooter.tsx","webpack:///./common/store/documents-dict/types.ts","webpack:///./common/store/countries-dict/sagas.ts","webpack:///./common/components/status/ShipperContractStatus/ShipperContractStatus.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursPage.tsx","webpack:///./broker-admin/store/partner/rfq-stats/reducer.ts","webpack:///./common/layouts/SignInPage/SignInPage.tsx","webpack:///./common/layouts/AccountPage/AccountPreview/AccountPreview.scss?fd7e","webpack:///./common/store/company/selectors.ts","webpack:///./common/layouts/NewOrderPage/MultiPointOrderDraftDetails/MultiPointOrderDraftDetails.scss?d11b","webpack:///./common/layouts/SideBars/contents/EditContactDetailsSidebarContent/EditContactDetailsSidebarContent.scss?0450","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetails/CommonDocumentParamsDetails/CommonDocumentParamsDetails.scss","webpack:///./common/components/entity-details/TourPapersTabContent/TourPapersTabContent.tsx","webpack:///./common/layouts/LeftCardLayout/LeftCardLayout.scss?6c29","webpack:///./shipper/layouts/SideBars/hooks.tsx","webpack:///./broker-admin/store/tenders/slice.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/CommonDocumentParamsDetailsForm/CommonDocumentParamsDetailsForm.scss","webpack:///./common/icons/SplitIcon.tsx","webpack:///./common/layouts/BaseShipperContractDetailsLayout/dialogs/RevokeShipperContractConfirmation/get-initial-values.ts","webpack:///./broker-admin/store/deadhead-creation/selectors.ts","webpack:///./broker-admin/components/AdditionalServiceGroupLabel/AdditionalServiceGroupLabel.tsx","webpack:///./common/icons/OriginPinIcon.tsx","webpack:///./broker-admin/layouts/ClientPage/ClientPage.tsx","webpack:///./common/store/legal-forms-dict/selectors.ts","webpack:///./common/icons/TeleportIcon.tsx","webpack:///./common/icons/TeamDrive2Icon.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/DropAndHookRoutePointPicker/DropAndHookRoutePointPicker.scss?9733","webpack:///./common/components/status-pill/DriverStatusPill/DriverStatusPill.tsx","webpack:///./common/components/SignUpForm/SignUpForm.scss?ad3c","webpack:///./common/components/dropdowns/EmissionClassDropdown/EmissionClassDropdown.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/ShipmentDetailsCard/utils.ts","webpack:///./common/icons/WrenchIcon.tsx","webpack:///./common/components/Stepper/Stepper.tsx","webpack:///./common/components/entity-details/hooks/shipper-order-details-rows-factory.tsx","webpack:///./common/components/Table/cell-renderers/TelematicUpdateDateCell/TelematicUpdateDateCell.scss?6ad2","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/PricingSettingsForm/PricingSettingsForm.tsx","webpack:///./common/store/vehicle-schedules/sagas.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/footers/EditTimeWindowsFooterContent/EditTimeWindowsFooterContent.tsx","webpack:///./design-system/components/date-pickers/TwinDatePicker/TwinDatePicker.scss?c133","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/FiltersSidebarContent/get-initial-values.ts","webpack:///./broker-admin/store/broker-team-edit/sagas.ts","webpack:///./common/utils/hooks/use-schedule-flags-factory.tsx","webpack:///./common/utils/search.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/constants.ts","webpack:///./common/components/RangeSelector/utils.ts","webpack:///./broker-admin/store/order-edit/slice.ts","webpack:///./broker-admin/components/dropdowns/PartnersSuggest/PartnersSuggest.tsx","webpack:///./design-system/components/InfoTable/formatters/CommentFormatter/CommentFormatter.scss?7e84","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/TruckDetailsForm/TruckDetailsForm.tsx","webpack:///./shipper/utils/api/shipper-tranziit/api.ts","webpack:///./common/utils/hooks/use-schedule-time-window-factory.tsx","webpack:///./common/components/entity-details/ExcludedCountries/ExcludedCountry/ExcludedCountry.tsx","webpack:///./broker-admin/utils/hooks/useBrokerTourPayloadWaypoints.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AssignmentSettingsForm/validate-form.ts","webpack:///./common/store/notifications/sagas.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderRouteMap/BrokerOrderRouteMap.scss?4ded","webpack:///./common/components/ReadOnlyField/ReadOnlyField.scss?e1aa","webpack:///./common/icons/EuroSymbolIcon.tsx","webpack:///./common/layouts/NewOrderPage/OfferDetails/CollapsedOfferDetails/CollapsedOfferDetails.scss?90e5","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrdersPage.tsx","webpack:///./design-system/components/FilePickerInput/models.ts","webpack:///./common/icons/BigSearchIcon.tsx","webpack:///./broker-admin/components/dropdowns/BrokerUserControl/BrokerUserControl.tsx","webpack:///./common/layouts/SideBars/contents/TrailerFiltersSidebarContent/TrailerFiltersSidebarContent.scss?787d","webpack:///./design-system/components/form-field/FieldLabel/FieldLabel.tsx","webpack:///./broker-admin/layouts/PartnersPage/PartnersPage.tsx","webpack:///./design-system/components/InfoTable/formatters/WarningTextFormatter/WarningTextFormatter.scss?918b","webpack:///./common/components/status/CarrierContractStatus/CarrierContractStatus.tsx","webpack:///./broker-admin/components/notification-cards/entities/TeamName/TeamName.scss?ac52","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/LocationCell/LocationCell.scss?c0cf","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/utils/geo-json-factory.ts","webpack:///./broker-admin/store/partners/channels.ts","webpack:///./broker-admin/components/status/ColoredPriceRuleStatusLabel/ColoredPriceRuleStatusLabel.tsx","webpack:///./common/components/Table/cell-renderers/IdCell/IdCell.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/DropAndHookRoutePointPicker/DropAndHookRoutePointPicker.tsx","webpack:///./common/components/SignUpForm/CompanySignUpForm/validate-form.ts","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/RejectDocumentConfirmation/RejectDocumentConfirmation.tsx","webpack:///./common/components/status-pill/SpotRequestStatusPill/SpotRequestStatusPill.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/TimeIntervalLimitPillLabel/TimeIntervalLimitPillLabel.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/AdditionalManagementControl/AdditionalManagementControl.tsx","webpack:///./broker-admin/store/broker-team-edit/actions.ts","webpack:///./common/components/entity-details/utils/check-temperature-violation.ts","webpack:///./broker-admin/store/broker-orders/channels.ts","webpack:///./broker-admin/components/dropdowns/ShippersSuggest/hooks/use-shipper-suggest-options.ts","webpack:///./broker-admin/layouts/SettingsPage/AdditionalServicesSettings/AdditionalServicesSettings.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/FiltersSidebarContent/get-query-filters.ts","webpack:///./design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel.tsx","webpack:///./common/layouts/ContinueSignUpPage/ContinueSignUpForm/ContinueSignUpForm.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap.tsx","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsLayout.tsx","webpack:///./broker-admin/components/pills/PriceRuleTypePill/PriceRuleTypePill.tsx","webpack:///./common/components/Avatar/Avatar.scss?5e24","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AlertsSettingsForm/validate-form.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetailsPageLayout.scss","webpack:///./common/utils/hooks/useOnlyChangesEffect.ts","webpack:///./common/components/papers/message-placeholders/PapersMessagePlaceholder/PapersMessagePlaceholder.scss?fd39","webpack:///./common/components/dropdowns/UserMultipleDropdown/UserMultipleDropdown.scss?df76","webpack:///./broker-admin/layouts/PriceSettingsEditRuleLayout/PriceSettingsEditRuleLayout.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetPin/AssetPin.tsx","webpack:///./common/layouts/dialogs/ChangeRateOrContractAssetDialogModal/ChangeRateOrContractAssetForm/constants.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/hooks/use-sync-route-stops-channels.ts","webpack:///./common/store/order-creation/utils/prepare-reserve-preview.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLoader/HeaderSideBarLoader.scss?9ead","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/validate-form.ts","webpack:///./common/store/order-creation/utils/create-reverse-query.ts","webpack:///./broker-admin/store/price-settings/rules/sagas.ts","webpack:///./common/components/status-pill/ShipperContractStatusPill/ShipperContractStatusPill.tsx","webpack:///./common/components/status-colored/OrderColoredStatus/OrderColoredStatus.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsPage.tsx","webpack:///./broker-admin/store/price-settings/rules/channels.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsForm/constants.ts","webpack:///./common/components/Modal/ModalContent/ModalContent.tsx","webpack:///./broker-admin/store/tenders/selectors.ts","webpack:///./common/components/ContractName/ContractName.tsx","webpack:///./common/layouts/Members/ContactsTable/cell-renderers/PendingUserCell/PendingUserCell.tsx","webpack:///./common/utils/api/tranziit/base-tranziit-api.ts","webpack:///./common/components/toasts/NotificationToastContent/NotificationToastContent.tsx","webpack:///./common/components/Alert/AlertProgressBar/AlertProgressBar.tsx","webpack:///./common/components/Table/utils/check-filters.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetPin/AssetPin.scss?5ea4","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/LongDeadheadConfirmation/LongDeadheadConfirmation.tsx","webpack:///./common/layouts/Members/dialogs/ChangeUserRoleModal/ChangeUserRoleModal.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlertsLayout.scss?b806","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/FerryOnboardPointPicker/FerryOnboardPointPicker.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/validate-form.ts","webpack:///./broker-admin/layouts/StatisticsPage/StatisticsChart/Chart/Chart.tsx","webpack:///./common/icons/StopWarningIcon.tsx","webpack:///./design-system/components/PriceDetails/PriceDetails.scss?2c19","webpack:///./common/store/rfqs-stats/selectors.ts","webpack:///./common/components/FilterPills/FilterPills.scss?32da","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/ValidPeriodCell/ValidPeriodCell.scss?5b1f","webpack:///./common/icons/FeeIcon.tsx","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsSidebarContent.scss?427d","webpack:///./common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetForm/validate-form.ts","webpack:///./common/layouts/TrailersPageLayout/TrailersTable/cell-renderers/StatusCell/StatusCell.scss?3a85","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/footers/UploadFooterContent/UploadFooterContent.scss?6b0a","webpack:///./broker-admin/layouts/PartnerPage/PartnerTransportOrders/PartnerTransportOrders.scss","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/validate-form.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/AssignmentOptionsDropdown/AssignmentOptionsDropdown.tsx","webpack:///./common/layouts/NewOrderPage/PriceMatrixWithMap/PriceMatrixWithMap.scss?c431","webpack:///./common/icons/AddAccountDuotineIcon.tsx","webpack:///./broker-admin/store/broker-teams/actions.ts","webpack:///./common/layouts/Members/dialogs/DeactivateUserModal/DeactivateUserModal.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/AdditionalManagementControl/AdditionalManagementControl.scss?3b6f","webpack:///./broker-admin/store/partner/details/types.ts","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsTable/cell-renderers/UsersCountCell/UsersCountCell.tsx","webpack:///./broker-admin/utils/tour-papers-url-factory.ts","webpack:///./common/layouts/NewOrderPage/NewOrderPage.tsx","webpack:///./broker-admin/components/notification-cards/entities/ShipperContractLaneId/ShipperContractLaneId.tsx","webpack:///./common/layouts/SideBars/contents/EditableTrailerDetailsSidebarContent/EditableTrailerDetailsSidebarContent.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/async-validations.ts","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/RateMatrix.scss?32ed","webpack:///./common/utils/download-headers.ts","webpack:///./common/store/orders/channels.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/WaypointNumberIcon/WaypointNumberIcon.tsx","webpack:///./common/store/rfqs-changes/types.ts","webpack:///./common/utils/query.ts","webpack:///./common/components/Table/SearchControl/SearchControl.scss?febe","webpack:///./common/store/rfq-details/actions.ts","webpack:///./broker-admin/store/order-edit/utils/get-corrected-stops.ts","webpack:///./common/store/trucks/reducer.ts","webpack:///./common/store/rfqs-changes/selectors.ts","webpack:///./common/components/maps/MapStackClusterPin/MapStackClusterPin.scss?2275","webpack:///./design-system/components/ExpandTrigger/ExpandTrigger.tsx","webpack:///./common/store/members/reducer.ts","webpack:///./common/layouts/LeftMenuLayout/TopBarContent/TopBarContent.scss?0439","webpack:///./common/store/papers-edit/selectors.ts","webpack:///./common/components/Table/cell-renderers/PhoneCell/PhoneCell.scss?e328","webpack:///./broker-admin/layouts/AssetDetailsPage/AssetDetailsPage.tsx","webpack:///./common/store/drivers/channels.ts","webpack:///./common/layouts/Members/DeactivateUserForm/DeactivateUserForm.scss","webpack:///./broker-admin/layouts/SignUpPage/SignUpPage.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/QuickTimeWindowLink/QuickTimeWindowLink.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/SpotSettingsForm/constants.ts","webpack:///./broker-admin/components/dropdowns/PartnerSuggest/PartnerSuggest.scss","webpack:///./common/components/OverlaysManager/OverlaysManager.tsx","webpack:///./common/store/trailers/reducer.ts","webpack:///./common/store/additional-services-dict/slice.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/TrucksSuggest/TrucksSuggest.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/CarrierDropdown/CarrierWithUtilizationDropdownOption/CarrierWithUtilizationDropdownOption.scss?1a33","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/TourTypeTabs/TourTypeTabs.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AlertsSettingsForm/prepare-system-settings.ts","webpack:///./common/layouts/ListPage/ListPageHeaderTabsLayout/ListPageHeaderTabsLayout.scss?4607","webpack:///./common/store/carriers-utilization/types.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TourDetailsCard/TourDetailsCard.scss?c837","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/FiltersSidebarContent/get-query-filters.ts","webpack:///./common/components/dropdowns/CountryDropdown/CountryDropdown.scss","webpack:///./broker-admin/store/order-edit/utils/find-context-stop-by-hash.ts","webpack:///./common/icons/DoneIcon.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/BasicWidgetHeaderActions/BasicWidgetHeaderActions.tsx","webpack:///./common/store/gps-tracking-status/types.ts","webpack:///./common/components/ErrorModal/ErrorTraceId/ErrorTraceId.tsx","webpack:///./common/components/ExcludeCountriesMapWidget/ExcludeCountriesMapWidget.tsx","webpack:///./broker-admin/layouts/PartnersPage/PartnersPage.scss","webpack:///./common/components/Table/Pagination/Pagination.scss?7540","webpack:///./common/icons/AddUserIcon.tsx","webpack:///./common/layouts/NewOrderPage/Steps/Steps.scss?f005","webpack:///./broker-admin/components/dropdowns/KeyAccountManagerDropdown/KeyAccountManagerDropdown.scss","webpack:///./common/store/papers-edit/slice.ts","webpack:///./common/store/carriers-utilization/reducer.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-layout-context.ts","webpack:///./broker-admin/store/order-edit/channels.ts","webpack:///./common/layouts/SideBars/contents/TrailerFiltersSidebarContent/get-query-filters.ts","webpack:///./common/components/Table/cell-renderers/FlagCell/FlagCell.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/footer-alert-contents/OverloadingTrailerValidationAlertContent/OverloadingTrailerValidationAlertContent.tsx","webpack:///./common/store/settings/types.ts","webpack:///./broker-admin/store/deadhead-creation/utils/get-order-stop-fakse-ids.ts","webpack:///./common/store/drivers/utils.ts","webpack:///./common/components/status/SpotRequestStatus/SpotRequestStatus.tsx","webpack:///./broker-admin/components/notification-cards/ExpiredPartnerDocumentCard/ExpiredPartnerDocumentCard.tsx","webpack:///./common/store/members/types.ts","webpack:///./common/store/notifications/selectors.ts","webpack:///./common/layouts/BaseShipperContractDetailsLayout/EditShipperContractDetailsForm/validate-form.ts","webpack:///./common/layouts/NewOrderPage/hooks/use-steps-context-value.ts","webpack:///./common/layouts/BaseShipperContractLanesLayout/FiltersSidebarContent/get-initial-values.ts","webpack:///./common/store/trailers/selectors.ts","webpack:///./broker-admin/store/partner/details/utils/lock.ts","webpack:///./common/components/notification-cards/StatusChangedCard/StatusChangedCard.scss?c517","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursListPage.tsx","webpack:///./common/components/papers/labels/ReadAttachedPapersUnavailableReasonLabel/ReadAttachedPapersUnavailableReasonLabel.tsx","webpack:///./broker-admin/store/price-settings/additional-services/sagas.ts","webpack:///./common/layouts/dialogs/ArchiveAssetConfirmationModal/validate-form.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationForm/prepare-api-requests.ts","webpack:///./broker-admin/layouts/InvoicesListPage/InvoicesTable/cell-renderers/ActionsCell/ActionsCell.tsx","webpack:///./common/components/maps/pins/WaypointNumberPin/WaypointNumberPin.scss?acf0","webpack:///./common/icons/BigCheckIcon.tsx","webpack:///./broker-admin/store/broker-tour-details/reducer.ts","webpack:///./design-system/components/date-pickers/internals/DatePickerOverlay/DatePickerOverlay.tsx","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/CommonEditableTruckDetailsLayout.tsx","webpack:///./common/components/papers/utils/getTotalWithOptimisticPapersCount.ts","webpack:///./common/icons/UpArrowIcon.tsx","webpack:///./common/components/papers/ShipmentPaperAttachPapersDropdownControl/ShipmentPaperAttachPapersDropdownControl.tsx","webpack:///./common/components/PhoneNumberInput/PhoneNumberDropdownInput/PhoneNumberDropdownInput.scss?6d11","webpack:///./broker-admin/store/broker-order-assigment/actions.ts","webpack:///./common/components/MoneyDiff/MoneyDiff.tsx","webpack:///./carrier/utils/hooks/useTransportOrderPayloadWaypoints.tsx","webpack:///./common/components/LastGPSPositionAlert/LastGPSPositionAlert.tsx","webpack:///./common/layouts/Members/dialogs/DeleteContactConfirmation/DeleteContactConfirmation.tsx","webpack:///./broker-admin/layouts/PartnersPage/PartnersTable/cell-renderers/ControlsCell/ControlsCell.scss?9e6f","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationConfirmForm/constants.ts","webpack:///./common/layouts/dialogs/ChangeRateOrContractAssetDialogModal/ChangeRateOrContractAssetForm/prepare-change-rate-request.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/LockStatusOnChangeForm/LockStatusOnChangeForm.tsx","webpack:///./common/layouts/SideBars/contents/TruckFiltersSidebarContent/TruckFiltersSidebarContent.scss?b187","webpack:///./common/store/shipper-contract-lane-details/slice.ts","webpack:///./broker-admin/layouts/ShipperContractDetailsPage/ShipperContractLanesLayout/ShipperContractLanesLayout.scss","webpack:///./common/layouts/DriversPageLayout/InviteDriverForm/InviteDriverForm.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/PickupOrDeliveryRoutePointPicker/PickupOrDeliveryRoutePointPicker.scss?c71f","webpack:///./common/layouts/DriversPageLayout/DriversTable/DriversTable.scss?ae28","webpack:///./common/layouts/SignInPage/validate-form.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/utils/prepare-contacts.ts","webpack:///./common/layouts/LoaderOverlay/LoaderOverlay.scss?e7ea","webpack:///./broker-admin/store/spot-requests-stats/channels.ts","webpack:///./broker-admin/layouts/SideBars/UploadShipperContractSidebarContent/UploadShipperContractSidebarContent.scss?3d44","webpack:///./common/store/additional-services-dict/constants.ts","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/filter-pills/PriceComponentFilterPill/PriceComponentFilterPill.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/EditShipperContractLaneSidebarContent/ShipperContractLaneEditForm/validate-form.ts","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/BaseShipperContractsTable.tsx","webpack:///./common/components/Alert/AlertContainer/AlertContainer.scss?15ed","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RuleTypeMultipleControl/RuleTypeMultipleControl.scss","webpack:///./common/store/state-machine/selectors.ts","webpack:///./common/store/driver-assigment/types.ts","webpack:///./common/layouts/BaseShipperContractDetailsLayout/dialogs/RevokeShipperContractConfirmation/validate-form.ts","webpack:///./common/store/drivers/types.ts","webpack:///./common/utils/hooks/useMoneyDiff.ts","webpack:///./design-system/components/Card/Card.scss?7b3d","webpack:///./broker-admin/store/partner/rfq-stats/selectors.ts","webpack:///./broker-admin/components/notification-cards/ExpiredPartnerShipperLaneContractCard/ExpiredPartnerShipperLaneContractCard.tsx","webpack:///./common/components/OverlaysManager/NotificationsDebugForm/NotificationsDebugForm.tsx","webpack:///./common/icons/Invoice2Icon.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/ShipperContractLaneDetailsSidebarContent/ShipperContractLaneDetailsSidebarContent.tsx","webpack:///./common/utils/phone-number.ts","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsLayout.tsx","webpack:///./common/store/drivers/sagas.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/TimeWindowZoneText/TimeWindowZoneText.tsx","webpack:///./design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentEventsSummary/DocumentEventsSummary.scss?8c25","webpack:///./broker-admin/layouts/PriceSettingsEditRuleLayout/validate-form.ts","webpack:///./broker-admin/components/notification-cards/BusinessPartnerProfileUpdatedCard/BusinessPartnerProfileUpdatedCard.tsx","webpack:///./common/layouts/Members/ContactsTable/cell-renderers/PositionsCell/PositionsCell.scss?f9ed","webpack:///./design-system/components/InfoTable/formatters/AsyncCountryFormatter/AsyncCountryFormatter.tsx","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsLayout.scss?9080","webpack:///./common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/cell-renderers/ActionsCell/ActionsCell.tsx","webpack:///./broker-admin/store/broker-team-details/slice.ts","webpack:///./broker-admin/layouts/PartnerPage/PartnerTransportOrders/PartnerTransportOrders.tsx","webpack:///./common/components/OverlaysManager/DevLocalizationLanguageSwitcher/DevLocalizationLanguageSwitcher.tsx","webpack:///./broker-admin/layouts/PriceSettingsRulesPage/PriceSettingsEditRuleDetailsPage/PriceSettingsEditRuleDetailsPage.tsx","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/RatesTable/RatesTable.tsx","webpack:///./common/icons/TollIcon.tsx","webpack:///./common/utils/api/errors/fetch-error.ts","webpack:///./broker-admin/store/partners-stats/actions.ts","webpack:///./common/components/dropdowns/RFQBrokerSourceMultipleDropdown/RFQBrokerSourceMultipleDropdown.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/PriceSettingsRules.tsx","webpack:///./common/icons/TrailerIcon.tsx","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsTable/BaseDocumentsTable.scss?0e36","webpack:///./broker-admin/layouts/App/App.tsx","webpack:///./common/components/Table/TableSkeleton/TableSkeleton.tsx","webpack:///./design-system/components/PriceDetails/PriceDetails.tsx","webpack:///./common/store/consistent-state-machine/slice.ts","webpack:///./common/components/Radio/Radio.tsx","webpack:///./common/components/NavBurger/override.css","webpack:///./broker-admin/layouts/SideBars/PriceSettingsRuleFiltersSidebarContent/validate-form.ts","webpack:///./common/layouts/SideBars/contents/EditContactDetailsSidebarContent/AddOtherMessengerDropdown/AddOtherMessengerDropdown.scss?10de","webpack:///./common/store/time-zones/slice.ts","webpack:///./common/components/ActionOverlay/ActionOverlay.tsx","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/RejectDocumentConfirmation/prepare-reject-data.ts","webpack:///./broker-admin/layouts/StatisticsPage/StatisticsPage.tsx","webpack:///./common/utils/api/tranziit/errors/error-response.ts","webpack:///./common/store/trailers/actions.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TransportOrderDetailsCard/TransportOrderDetailsCard.scss?f457","webpack:///./common/components/dropdowns/UserMultipleDropdown/UserMultipleDropdown.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AssignmentSettingsForm/get-initial-values.ts","webpack:///./common/layouts/TrucksPageLayout/TrucksTable/cell-renderers/EmissionClassCell/EmissionClassCell.scss?fbad","webpack:///./common/components/tabs/TabLabel/TabLabel.tsx","webpack:///./broker-admin/layouts/SideBars/SpotRequestDetailsSidebarContent/SpotRequestDetailsSidebarContent.tsx","webpack:///./common/layouts/LeftMenuLayout/Navigation/Logo/Logo.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/PointContactsPicker/PointContactsPicker.tsx","webpack:///./design-system/components/dropdowns/DropdownTreeInput/DropdownTreeInput.scss?2d72","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/constants.ts","webpack:///./common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetForm/constants.ts","webpack:///./common/utils/test-urls.ts","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/EditShipperContractLaneSidebarContent/ShipperContractLaneEditForm/prepare-api-requests.ts","webpack:///./common/layouts/ListPage/ListPageLayout/ListPageLayout.tsx","webpack:///./common/store/legal-forms-dict/types.ts","webpack:///./common/layouts/RFQDetailsPageLayout/footers/ContinueRFQ/ContinueRFQ.scss?fa2c","webpack:///./common/components/ErrorPlaceholder/ErrorPlaceholder.tsx","webpack:///./broker-admin/components/notification-cards/RunningOutOfTimeAssignCarrierCard/RunningOutOfTimeAssignCarrierCard.scss?763b","webpack:///./common/store/documents-dict/selectors.ts","webpack:///./design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput.scss?2e35","webpack:///./broker-admin/components/notification-cards/ExpireSoonPartnerShipperContractCard/ExpireSoonPartnerShipperContractCard.tsx","webpack:///./common/store/shipper-suggest/constants.ts","webpack:///./common/layouts/LeftMenuLayout/LeftMenuLayout.scss?66a2","webpack:///./common/utils/parse-temperature-mode.ts","webpack:///./common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetDialogModal.tsx","webpack:///./common/layouts/BaseShipperContractLanesLayout/query-models.ts","webpack:///./common/store/notifications/actions.ts","webpack:///./common/layouts/TrucksPageLayout/TrucksTable/TrucksTable.tsx","webpack:///./common/store/shipper-contract-lane-creation/sagas.ts","webpack:///./common/components/RedirectSignedUser/RedirectSignedUser.tsx","webpack:///./broker-admin/layouts/SideBars/CreatePartnerSidebarContent/CreatePartnerSidebarContent.tsx","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/CargoDetailsForm.tsx","webpack:///./common/components/dropdowns/BrokerTeamsSuggest/BrokerTeamsSuggest.scss?3549","webpack:///./broker-admin/store/price-settings/rates/reducer.ts","webpack:///./common/components/LanguageSelector/LanguageSelector.scss","webpack:///./common/store/consistent-state-machine/selectors.ts","webpack:///./design-system/components/FilePickerInput/FilePickerInput.scss?efc0","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/WaypointNumberIcon/WaypointNumberIcon.tsx","webpack:///./common/components/papers/ImageLoader/ImageLoader.tsx","webpack:///./common/layouts/SideBars/SideBarLayout/SideBarLayout.scss?9cc1","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssignTriggerLabel/AssignTriggerLabel.tsx","webpack:///./common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton.tsx","webpack:///./common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetForm/ActivateAssetForm.scss?40a1","webpack:///./common/components/Timeline/TimelineAutoSizer/TimelineAutoSizer.scss?d15b","webpack:///./common/store/transport-orders/types.ts","webpack:///./common/icons/TuneIcon.tsx","webpack:///./common/store/trailers-dict/types.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AlertsSettingsForm/get-initial-values.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetPin/RateModeStatusPill/RateModeStatusPill.tsx","webpack:///./common/layouts/dialogs/ArchiveAssetConfirmationModal/constants.ts","webpack:///./common/layouts/TrailersPageLayout/TrailersPageLayout.scss?dbe5","webpack:///./broker-admin/store/broker-team-details/channels.ts","webpack:///./broker-admin/store/order-edit/utils/prepare-address-point.ts","webpack:///./broker-admin/layouts/PartnersPage/query-models.ts","webpack:///./common/components/ExcludeCountriesMapWidget/ExcludeCountriesMapWidget.scss?02c4","webpack:///./broker-admin/components/notification-cards/entities/PartnerName/PartnerName.tsx","webpack:///./common/icons/ChartIcon.tsx","webpack:///./broker-admin/components/notification-cards/UpdatedPartnerShipperContractCard/UpdatedPartnerShipperContractCard.tsx","webpack:///./broker-admin/components/notification-cards/TransportationOrderDeclinedCard/TransportationOrderDeclinedCard.scss?268b","webpack:///./common/contexts/notification-sidebar-context.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TourDetailsCard/TourDetailsCard.tsx","webpack:///./common/layouts/LeftMenuLayout/Navigation/Logo/Logo.scss?011e","webpack:///./common/components/status/TrailerStatus/TrailerStatus.tsx","webpack:///./broker-admin/store/partner/details/utils/addresses.ts","webpack:///./common/components/status-pill/RFQStatusPill/RFQStatusPill.tsx","webpack:///./common/layouts/BaseShipperContractDetailsLayout/dialogs/RevokeShipperContractConfirmation/RevokeShipperContractConfirmation.tsx","webpack:///./common/components/Table/WarningFilterOptionsDropdown/WarningFilterOptionsDropdown.tsx","webpack:///./common/layouts/DriversPageLayout/prepare-fetch-page-query.ts","webpack:///./broker-admin/store/broker-order-details/selectors.ts","webpack:///./common/utils/hooks/useCommonUrlFactoryContext.ts","webpack:///./common/components/status-machine/contexts/HighlightedEntityContext.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/footers/UploadFooterContent/UploadFooterContent.tsx","webpack:///./common/utils/hooks/useTestSelector.ts","webpack:///./common/icons/UnavailableTrailerIcon.tsx","webpack:///./common/components/SignUpForm/UserSignUpForm/UserSignUpForm.scss?fe95","webpack:///./common/components/maps/MapTooltipMenu/MapTooltipMenu.scss?a8f0","webpack:///./broker-admin/layouts/SettingsPage/TenderCalculator/TenderCalculator.tsx","webpack:///./common/store/documents/sagas.ts","webpack:///./common/layouts/dialogs/ArchiveAssetConfirmationModal/ArchiveAssetConfirmationModal.tsx","webpack:///./common/components/Switcher/Switcher.tsx","webpack:///./common/components/User/User.tsx","webpack:///./design-system/components/Divider/Divider.scss?d229","webpack:///./common/icons/MapIcon.tsx","webpack:///./broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/ChangeShipmentStatusFooter.tsx","webpack:///./broker-admin/store/price-settings/rates/types.ts","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/NewOrderParametersSettingsForm/NewOrderParametersSettingsForm.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetails/DocumentParamsDetails.tsx","webpack:///./common/utils/hooks/useSideBarFooterHeight.ts","webpack:///./broker-admin/store/deadhead-creation/utils/get-deleted-stop-fake-ids.ts","webpack:///./common/components/Alert/AlertProgressBar/AlertProgressBar.scss?eb78","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/TrailerTypeCell/TrailerTypeCell.scss?8ec8","webpack:///./common/components/Table/Pagination/Pagination.tsx","webpack:///./broker-admin/store/broker-teams/sagas.ts","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/cell-renderers/LocationCell/LocationCell.scss?3673","webpack:///./common/layouts/BaseDocumentsLayout/BaseDocumentsLayout.tsx","webpack:///./common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/TruckDetailsForm/constants.ts","webpack:///./common/components/ReadOnlyFieldValue/ReadOnlyFieldValue.tsx","webpack:///./common/layouts/NewOrderPage/hooks/use-order-creation-percent-context-value.ts","webpack:///./common/utils/query-filters.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/prepare-fetch-page-query.ts","webpack:///./common/components/PhoneNumberInput/PhoneNumberDropdownOption/PhoneNumberDropdownOption.scss?7489","webpack:///./common/utils/hooks/useConsistentStateMachine.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DriveThroughRoutePointPicker/DriveThroughRoutePointPicker.scss?69c5","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/hooks/usySyncMapState.ts","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/TrailerDetailsForm/constants.ts","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/PointContactsPicker/PointContactsPicker.scss?026d","webpack:///./common/icons/DatabaseIcon.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/BrokerTourDetails.tsx","webpack:///./broker-admin/layouts/SideBars/PartnerFiltersSidebarContent/get-query-filters.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneDetailsPage/ShipperContractLaneDetailsPage.scss","webpack:///./common/utils/hooks/useContainerScroll.ts","webpack:///./common/utils/api/models.ts","webpack:///./broker-admin/layouts/SettingsPage/SettingsPage.scss?1a96","webpack:///./common/components/DeprecateTourPapersCard/DeprecateTourPapersCard.tsx","webpack:///./common/utils/hooks/useCloseSidebarAfterRequest.ts","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/TrailerDetailsSidebarContent/TrailerDetailsSidebarContent.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/SelectedFilters/SelectedFilters.tsx","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsSidebarContent.tsx","webpack:///./common/layouts/LeftMenuLayout/ContentLimiter/ContentLimiter.scss?0da3","webpack:///./common/icons/BigEmptyIcon.tsx","webpack:///./design-system/components/Calendar/Calendar.tsx","webpack:///./broker-admin/store/deadhead-creation/utils/get-context-route-stop-hash.ts","webpack:///./common/components/SignUpForm/SignUpForm.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/PartnerDetailsLayout/PartnerDetailsLayout.scss?682b","webpack:///./common/layouts/Members/InviteUserForm/InviteUserForm.scss?3a40","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/LocationsCell/LocationsCell.scss?8e1d","webpack:///./common/components/status-pill/OrderStatusPill/OrderStatusPill.scss","webpack:///./common/layouts/BaseDocumentsLayout/hooks/use-dict-document.tsx","webpack:///./common/store/company/reducer.ts","webpack:///./common/components/price-details/hooks/editable-price-details.tsx","webpack:///./common/store/shipper-contract-lanes/selectors.ts","webpack:///./common/components/status-pill/BrokerOrderStatusPill/BrokerOrderStatusPill.scss","webpack:///./broker-admin/layouts/PartnersPage/InvitePartnerForm/InvitePartnerForm.scss?34a1","webpack:///./common/layouts/BaseShipperContractsLayout/query-models.ts","webpack:///./broker-admin/components/PriceRuleTargetLabel/PriceRuleTargetLabel.tsx","webpack:///./broker-admin/components/tour-receipt-details/TourTypeTabsLayout/TourTypeTabsLayout.tsx","webpack:///./common/store/order-creation/utils/get-default-additional-services.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/TabTourDetails/TabTourDetails.scss?4ed0","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/DocumentParamsDetailsForm.tsx","webpack:///./common/store/alerts/selectors.ts","webpack:///./common/components/RangeSelector/RangeSelector.tsx","webpack:///./common/components/Modal/Modal.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/dialogs/AcceptDeclinedOrderConfirmation/AcceptDeclinedOrderConfirmation.tsx","webpack:///./common/store/order-creation/utils/prepare-price-offer.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteDetailsForm/RouteDetailsForm.tsx","webpack:///./common/components/info-tables/ShipperPriceOfferInfoTable/ShipperPriceOfferInfoTable.scss?e333","webpack:///./common/layouts/BaseProfileLayout/ProfileBasicInformation/CreatePartnerInfo/CreatePartnerInfo.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/RoutingSettingsForm/RoutingSettingsForm.scss?97b4","webpack:///./common/store/vehicle-schedules/utils/hash.ts","webpack:///./common/layouts/Members/constants.ts","webpack:///./common/components/Timeline/Delimeter/Delimeter.scss?a13a","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/TrucksSuggest/TruckOptionLabel/TruckOptionLabel.scss?fd00","webpack:///./common/store/notifications/constants.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/constants.ts","webpack:///./broker-admin/layouts/SideBars/UploadShipperContractSidebarContent/constants.ts","webpack:///./common/components/maps/pins/FerryLocationPin/FerryLocationPin.tsx","webpack:///./common/components/AssetDetailsMap/AssetDetailsMap.scss?1cc5","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursListPage.scss?fa50","webpack:///./common/utils/urls.ts","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/Bids/Bids.tsx","webpack:///./common/components/Timeline/TimelineAutoSizer/TimelineAutoSizer.tsx","webpack:///./common/layouts/AlertGroup/AlertGroup.tsx","webpack:///./common/layouts/NewOrderPage/OffersForm/OffersForm.scss?b687","webpack:///./broker-admin/store/broker-order-stats/reducer.ts","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/prepare-api-trailer.ts","webpack:///./broker-admin/layouts/SideBars/SpotRequestsFiltersSidebarContent/get-query-filters.ts","webpack:///./common/components/Table/cell-renderers/EmailCell/EmailCell.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel.scss?1efb","webpack:///./common/components/forms/TimeWindowPicker/TimeWindowPicker.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AssignmentSettingsForm/AssignmentSettingsForm.tsx","webpack:///./common/store/carrier-contract-details/selectors.ts","webpack:///./common/icons/FilledWrenchIcon.tsx","webpack:///./common/store/order-creation/utils/create-fake-id-from-point.ts","webpack:///./common/store/notifications/reducer.ts","webpack:///./common/store/trucks/type-guards.ts","webpack:///./common/store/state-machine/channels.ts","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/RatesTable/RatesTable.scss?f3dd","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-header-layout-context.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/ChangeTourStatusControls/ChangeTourStatusControls.scss?2588","webpack:///./common/layouts/dialogs/ChangeRateOrContractAssetDialogModal/ChangeRateOrContractAssetDialogModal.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/BrokerTourDetails.scss?f753","webpack:///./common/layouts/DriversPageLayout/InviteDriverForm/constants.ts","webpack:///./common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlert/FooterSideBarAlert.tsx","webpack:///./common/store/carrier-suggest/sagas.ts","webpack:///./broker-admin/store/spot-requests/selectors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/get-initial-values.ts","webpack:///./common/utils/download-file.ts","webpack:///./broker-admin/components/InfoTable/formatters/AsyncSpotRequestDetailsStatusFormatter/AsyncSpotRequestDetailsStatusFormatter.tsx","webpack:///./broker-admin/store/partners-stats/selectors.ts","webpack:///./common/components/Table/cell-renderers/DateTimeCell/DateTimeCell.scss?dfed","webpack:///./common/store/create-company/selectors.ts","webpack:///./common/components/dropdowns/TruckModelDropdown/TruckModelDropdown.scss?86ce","webpack:///./common/components/Table/cell-renderers/DateTimeCell/DateTimeCell.tsx","webpack:///./broker-admin/components/dropdowns/CarrierDropdown/CarrierDropdown.tsx","webpack:///./common/components/GeoSuggest/GeoSuggest.tsx","webpack:///./common/components/CountyFlagsLabel/CountyFlagsLabel.tsx","webpack:///./common/store/rfqs-changes/reducer.ts","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/prepare-query.ts","webpack:///./common/icons/AttachIcon.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/async-validations.ts","webpack:///./common/components/toasts/footers/AssetFailedActionFooter/AssetFailedActionFooter.tsx","webpack:///./common/components/Timeline/models.ts","webpack:///./common/layouts/BaseShipperContractDetailsLayout/BaseShipperContractDetailsLayout.tsx","webpack:///./common/components/entity-details/alerts/EntityEtaAlert.tsx","webpack:///./common/utils/input-parsers.ts","webpack:///./common/components/ColoredDiff/ColoredDiff.scss?efed","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/PickupOrDeliveryRoutePointPicker/TimeWindowZoneText/TimeWindowZoneText.tsx","webpack:///./broker-admin/store/spot/channels.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetailsPageLayout.tsx","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsTable/BrokerTeamsTable.tsx","webpack:///./common/store/driver-search/reducer.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderRouteMap/TransportOrderRouteMap.scss?96a2","webpack:///./common/components/dropdowns/UserMultipleDropdown/constants.ts","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/TrailerDetailsForm/TrailerDetailsForm.tsx","webpack:///./common/layouts/SideBars/contents/TruckFiltersSidebarContent/TruckFiltersSidebarContent.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBar/SideBar.tsx","webpack:///./broker-admin/layouts/PartnerPage/PartnerDetailsPage/AddressWidgetHeaderActions/AddressWidgetHeaderActions.scss?4455","webpack:///./common/components/maps/pins/AssetPickUpLocationPin/AssetPickUpLocationPin.scss?23e1","webpack:///./broker-admin/components/dropdowns/BrokerPartnersSuggest/hooks/use-init-broker-partners-suggest-options.ts","webpack:///./common/store/rfqs-changes/sagas.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/cell-renderers/StatusCell/StatusCell.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssignOptionLabel/AssignOptionLabel.tsx","webpack:///./broker-admin/store/spot-request-details/reducer.ts","webpack:///./common/icons/HollowCircleIcon.tsx","webpack:///./common/store/carrier-contract-details/actions.ts","webpack:///./common/components/toasts/AlertToastsManager/AlertToastsManager.scss?1962","webpack:///./common/utils/floating-ui.ts","webpack:///./design-system/components/date-pickers/internals/DateLinkTrigger/DateLinkTrigger.tsx","webpack:///./common/components/entity-details/alerts/ViolationTemperatureAlert.tsx","webpack:///./common/store/carrier-suggest/reducer.ts","webpack:///./broker-admin/index.tsx","webpack:///./common/components/papers/labels/AttachPapersUnavailableReasonLabel/AttachPapersUnavailableReasonLabel.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/hooks/usySyncMapStateContextValue.ts","webpack:///./common/icons/OptionsIcon.tsx","webpack:///./common/store/routing-geometry/selectors.ts","webpack:///./broker-admin/store/price-settings/system-settings/models.ts","webpack:///./common/store/carrier-contracts/actions.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/CommonDocumentParamsDetailsForm/validate-form.ts","webpack:///./design-system/components/date-pickers/TwinDatePicker/TwinDatePicker.tsx","webpack:///./broker-admin/layouts/PartnersPage/PartnerTypeControl/PartnerTypeControl.tsx","webpack:///./common/components/CountyFlagsLabel/CountyFlagsLabel.scss?b0ec","webpack:///./common/layouts/LeftMenuLayout/ContentLimiter/ContentLimiter.tsx","webpack:///./common/icons/MoreIcon.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrdersTable/cell-renderers/ReceivedCell/ReceivedCell.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/ManagementControl/ManagementControl.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/createInitPayloadDropPoint.tsx","webpack:///./common/components/notifications/NotificationLabel/NotificationLabel.tsx","webpack:///./common/icons/LinkPickUpIcon.tsx","webpack:///./common/layouts/SignInPage/Notification/Notification.tsx","webpack:///./common/layouts/dialogs/CancelServiceMaintanceConfirmationModal/CancelServiceMaintanceConfirmationModal.tsx","webpack:///./broker-admin/utils/api/spot-broker-tranziit/models.ts","webpack:///./common/layouts/TrucksPageLayout/prepare-fetch-page-query.ts","webpack:///./common/components/Table/header-renderers/CheckboxHeader/CheckboxHeader.scss","webpack:///./common/store/vehicle-schedules/reducer.ts","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/EditShipperContractLaneSidebarContent/ShipperContractLaneEditForm/ShipperContractLaneEditForm.scss?e7ea","webpack:///./broker-admin/components/tour-receipt-details/ReceiptPriceDetails/ReceiptPriceDetails.tsx","webpack:///./broker-admin/utils/api/broker-tranziit/api.ts","webpack:///./common/components/price-details/hooks/styles.scss?1364","webpack:///./common/contexts/remote-form-actions.ts","webpack:///./common/store/asset-track/utils.ts","webpack:///./common/components/entity-details/hooks/distanceByCountry.tsx","webpack:///./broker-admin/store/broker-team-details/sagas.ts","webpack:///./common/components/Table/QuickFilters/QuickFilters.tsx","webpack:///./common/store/carrier-contract-details/reducer.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetails/CommonDocumentParamsDetails/CommonDocumentParamsDetails.tsx","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsLayout.tsx","webpack:///./common/layouts/LeftMenuLayout/contexts/content-root-context.ts","webpack:///./common/icons/DriverIcon.tsx","webpack:///./common/components/Alert/AlertContainer/AlertContainer.tsx","webpack:///./common/components/OverlaysManager/NotificationsDebugForm/NotificationsDebugForm.scss","webpack:///./common/utils/hooks/useOnceShow.ts","webpack:///./common/store/shipper-contract-lane-details/channels.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/ExcludeCountries/ExcludeCountries.tsx","webpack:///./common/layouts/LeftMenuLayout/SideBar/SideBar.scss?b3ea","webpack:///./common/store/shipper-contract-details/sagas.ts","webpack:///./common/icons/LeftArrowIcon.tsx","webpack:///./common/components/pills/UserPositionPill/UserPositionPill.tsx","webpack:///./common/components/dropdowns/options/UserDropdownOptionLabel/UserDropdownOptionLabel.scss?b0d2","webpack:///./common/components/Table/cell-renderers/PhoneCell/PhoneCell.tsx","webpack:///./common/components/Timeline/Timeline.tsx","webpack:///./common/utils/google-maps-api/google-maps-geocoder-api.ts","webpack:///./common/icons/DestinationPinIcon.tsx","webpack:///./broker-admin/store/index.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DriveThroughRoutePointPicker/DriveThroughRoutePointPicker.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssignmentForm.tsx","webpack:///./common/layouts/CommonEditableTrailerDetailsLayout/TrailerType/TrailerType.tsx","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/PricesCell/PricesCell.tsx","webpack:///./common/components/notification-cards/ShipmentNoShowCard/ShipmentNoShowCard.tsx","webpack:///./common/layouts/SideBars/contents/DriverDetailsSidebarContent/DriverDetailsSidebarContent.scss?6de0","webpack:///./common/components/Table/cell-renderers/HumanReadableFullDateCell/HumanReadableFullDateCell.scss?1a3e","webpack:///./common/components/entity-details/DetailsOrPapersTabs/DetailsOrPapersTabs.tsx","webpack:///./common/layouts/dialogs/SetUnavailableAssetConfirmationModal/SetUnavailableAssetConfirmationModal.tsx","webpack:///./common/layouts/Members/ChangeRoleUserForm/validate-form.ts","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RevokeContractConfirmation/constants.ts","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/FerryOnboardPointPicker/FerryOnboardPointPicker.scss?e4a5","webpack:///./common/icons/SmallDownArrow.tsx","webpack:///./common/layouts/AccessDeniedPage/AccessDeniedPage.tsx","webpack:///./common/store/spot-assets-assigment/selectors.ts","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/PricesCell/PricesCell.scss?ea02","webpack:///./common/components/price-details/hooks/styles.ts","webpack:///./broker-admin/layouts/BrokerRFQsPage/BrokerRFQDetailsPage/BrokerRFQDetailsPage.tsx","webpack:///./common/layouts/Members/ChangeRoleUserForm/ChangeRoleUserForm.scss?17e0","webpack:///./common/layouts/DriversPageLayout/dialogs/DriverInviteModal/DriverInviteModal.tsx","webpack:///./common/store/user/selectors.ts","webpack:///./common/components/entity-details/ExcludedCountries/ExcludedCountry/ExcludedCountry.scss?f7bf","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetails/EvidenceOfTaxDetails/EvidenceOfTaxDetails.scss?11c4","webpack:///./common/layouts/Members/ContactsTable/cell-renderers/ControlsCell/ControlsCell.tsx","webpack:///./common/layouts/Members/ChangeRoleUserForm/constants.ts","webpack:///./broker-admin/layouts/StatisticsPage/StatisticsChart/StatisticsChart.scss?6ac8","webpack:///./common/components/toasts/NotificationToastsManager/utils.ts","webpack:///./common/components/Table/TableMessage/TableMessage.tsx","webpack:///./broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/EditBrokerTeamSidebarContent.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/DriveThroughRoutePointPicker/DriveThroughRoutePointPicker.scss?26bb","webpack:///./broker-admin/store/spot-requests/channels.ts","webpack:///./common/components/filter-pills/TruckModelFilterPill/TruckModelFilterPill.tsx","webpack:///./common/components/RangeSelector/ZoneMark/ZoneMark.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/FerryDisembarkPointPicker/FerryDisembarkPointPicker.scss?4973","webpack:///./common/components/Modal/ModalDialogActions/ModalDialogActions.scss?598d","webpack:///./common/store/papers/reducer.ts","webpack:///./common/layouts/Members/ContactsTable/cell-renderers/StatusCell/StatusCell.tsx","webpack:///./common/components/dropdowns/TruckModelMultipleDropdown/TruckModelMultipleDropdown.tsx","webpack:///./common/components/Table/cell-renderers/FullNameCell/FullNameCell.scss?8b71","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentSummary/DocumentSummary.tsx","webpack:///./common/store/transport-order-details/actions.ts","webpack:///./common/icons/TargetIcon.tsx","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/ShipperContractLaneOtherDetails/ShipperContractLaneOtherDetails.tsx","webpack:///./common/utils/parse-page-number.ts","webpack:///./common/layouts/TransportOrderListPageLayout/TransportOrdersTable/cell-renderers/StatusCell/StatusCell.tsx","webpack:///./design-system/components/dropdowns/SuggestInput/SuggestInput.scss?9374","webpack:///./broker-admin/store/invoices/actions.ts","webpack:///./common/components/Avatar/Avatar.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/TimeWindowPillLabel/TimeWindowPillLabel.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/StatusFooterContent.scss?2e1a","webpack:///./broker-admin/store/invoices/reducer.ts","webpack:///./common/layouts/Members/dialogs/ChangeUserRoleConfirmation/ChangeUserRoleConfirmation.tsx","webpack:///./common/layouts/TransportOrderListPageLayout/FiltersSidebarContent/get-initial-values.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TourDetailsCard/footers/StartEditTimeWindowsFooter/StartEditTimeWindowsFooter.scss?75d4","webpack:///./broker-admin/components/notification-cards/RunningOutOfTimeAssignCarrierCard/RunningOutOfTimeAssignCarrierCard.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetSchedulePin/AssetSchedulePin.scss?631f","webpack:///./common/store/countries-dict/reducer.ts","webpack:///./common/icons/RouteIcon.tsx","webpack:///./common/components/papers/TourPapersCard/TourPapersCard.tsx","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationConfirmForm/AveragePriceOfferDetails/AveragePriceOfferDetails.scss?20f5","webpack:///./design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput.scss?1068","webpack:///./design-system/components/Checkbox/Checkbox.scss?e4e5","webpack:///./broker-admin/layouts/SideBars/SideBars.tsx","webpack:///./broker-admin/components/dropdowns/BrokerPartnersControl/BrokerPartnersControl.scss?2b9b","webpack:///./common/components/forms/RemoteFormActions/RemoteFormActions.tsx","webpack:///./common/store/partner-suggest/selectors.ts","webpack:///./common/components/tabs/TabGroup/TabGroup.scss?8d75","webpack:///./common/components/dropdowns/TruckModelMultipleDropdown/TruckModelMultipleDropdown.scss?53e3","webpack:///./common/components/Table/cell-renderers/CostCell/CostCell.scss?3acb","webpack:///./common/components/controls/AssetsXLSDropdownControl/AssetsXLSDropdownControl.tsx","webpack:///./common/components/maps/MapTooltipMenu/MapTooltipMenu.tsx","webpack:///./common/icons/TodoListIcon.tsx","webpack:///./common/components/Table/TableSkeleton/TableSkeleton.scss?df6e","webpack:///./design-system/components/InfoTable/formatters/LinkFormatter/LinkFormatter.tsx","webpack:///./common/components/papers/PapersGroup/PapersGroup.scss?62b1","webpack:///./broker-admin/store/price-settings/rates/sagas.ts","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationPage.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/cell-renderers/DestinationCell/DestinationCell.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/ShipmentDetailsCard/ChangeShipmentStatusSidebarFooter/ChangeShipmentStatusSidebarFooter.scss?b5c3","webpack:///./common/layouts/CommonEditableShipperContractLaneDetailsLayout/CommonEditableShipperContractLaneDetailsLayout.tsx","webpack:///./common/utils/hooks/useFeaturesContextValue.ts","webpack:///./common/icons/EditIcon.tsx","webpack:///./common/components/FieldGroup/FieldGroup.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-sync-points-channels.ts","webpack:///./broker-admin/store/price-settings/rules/actions.ts","webpack:///./common/store/company/sagas.ts","webpack:///./common/icons/PaperIcon.tsx","webpack:///./common/store/rfqs/sagas.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/constants.ts","webpack:///./common/icons/TeamDriveIcon.tsx","webpack:///./common/store/gps-tracking-status/reducer.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/cell-renderers/DropOffCell/DropOffCell.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentVersion/DocumentVersion.scss?c4b9","webpack:///./common/components/Table/cell-renderers/CheckboxCell/CheckboxCell.tsx","webpack:///./broker-admin/components/status-machine/footers/ChangeTourStatusFooter/constants.ts","webpack:///./common/utils/api/do-fetch.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/EditTimeWindowsForm/constants.ts","webpack:///./broker-admin/components/dropdowns/PartnersSuggest/PartnersSuggest.scss?67ab","webpack:///./broker-admin/store/spot/sagas.ts","webpack:///./common/components/papers/PaperLayout/PaperPlaceholder/PaperPlaceholder.scss?31c9","webpack:///./common/store/trucks/channels.ts","webpack:///./broker-admin/components/status-machine/dialogs/CancelSpotRequestConfirmation/CancelSpotRequestConfirmation.tsx","webpack:///./common/layouts/SideBars/contents/ContactDetailsSidebarContent/ContactDetailsSidebarContent.tsx","webpack:///./common/layouts/TrailersPageLayout/TrailersPageLayout.tsx","webpack:///./broker-admin/store/deadhead-creation/utils/generate-point-fake-id.ts","webpack:///./common/components/Alert/Alert.tsx","webpack:///./common/utils/form-formatters.ts","webpack:///./common/layouts/dialogs/ChangeRateOrContractAssetDialogModal/ChangeRateOrContractAssetForm/ChangeRateOrContractAssetForm.scss?db55","webpack:///./common/layouts/NewOrderPage/OffersForm/AdditionalServices/AdditionalServices.scss?e7f1","webpack:///./common/store/settings/reducer.ts","webpack:///./common/layouts/NewOrderPage/contexts/order-creation-percent-context.ts","webpack:///./common/components/LinkButton/LinkButton.tsx","webpack:///./broker-admin/store/broker-order-details/utils/find-actual-transport-order.ts","webpack:///./broker-admin/components/notification-cards/ExpiredPartnerShipperContractCard/ExpiredPartnerShipperContractCard.scss?4d5b","webpack:///./common/store/notifications/types.ts","webpack:///./common/store/papers/channels.ts","webpack:///./broker-admin/layouts/BrokerUsersPage/BrokerUsersPage.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/contexts/sync-map-state.ts","webpack:///./common/icons/FewCountriesIcon.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/BrokerOrderAssignmentPage.tsx","webpack:///./common/components/DeprecatedCountyFlagLabel/DeprecatedCountyFlagLabel.tsx","webpack:///./common/icons/NewIcon.tsx","webpack:///./common/store/assets/sagas.ts","webpack:///./common/layouts/SideBars/models.ts","webpack:///./common/layouts/TrucksPageLayout/TrucksTable/cell-renderers/EmissionClassCell/EmissionClassCell.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/FerrySettingsForm/prepare-system-settings.ts","webpack:///./broker-admin/store/dispatchers/reducer.ts","webpack:///./broker-admin/store/dispatchers/sagas.ts","webpack:///./common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger.tsx","webpack:///./common/icons/RFQIcon.tsx","webpack:///./design-system/components/ButtonGroup/ButtonGroup.tsx","webpack:///./broker-admin/store/broker-orders/slice.ts","webpack:///./common/utils/hooks/useScrollTop.ts","webpack:///./common/layouts/TransportOrderListPageLayout/FiltersSidebarContent/constants.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/cell-renderers/CreateCell/CreateCell.scss?72ac","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneDetailsPage/ShipperContractLaneDetailsPage.tsx","webpack:///./common/layouts/DriversPageLayout/DriversPageLayout.tsx","webpack:///./common/layouts/AccountPage/DevelopmentSettings/DevelopmentSettings.scss?62ea","webpack:///./common/store/driver-search/selectors.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/BrokerToursTable.scss?51fb","webpack:///./common/components/status-colored/TourColoredStatus/TourColoredStatus.tsx","webpack:///./common/store/rfqs/reducer.ts","webpack:///./common/utils/history.ts","webpack:///./common/layouts/SideBars/contents/AddDriverSidebarContent/get-initial-values.ts","webpack:///./common/layouts/SideBars/contents/DriverDetailsSidebarContent/DriverDetailsSidebarContent.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriversAssignmentForm.tsx","webpack:///./common/components/status/DocumentStatus/DocumentStatus.tsx","webpack:///./broker-admin/components/notification-cards/UpdatedPartnerDocumentCard/UpdatedPartnerDocumentCard.tsx","webpack:///./common/components/toasts/Toast/Toast.scss?7a96","webpack:///./broker-admin/store/broker-order-assigment/reducer.ts","webpack:///./broker-admin/layouts/PriceSettingsRulesPage/PriceSettingsRulesPage.tsx","webpack:///./common/layouts/dialogs/ImportXLSAssetsDialogModal/ImportXLSAssetsDialogModal.tsx","webpack:///./common/layouts/sidebar-footers/TimeLeftForStart/TimeLeftForStart.tsx","webpack:///./common/layouts/RFQDetailsPageLayout/RFQDetails/RFQDetails.scss?b639","webpack:///./common/layouts/SideBars/contents/TrailerFiltersSidebarContent/constants.ts","webpack:///./common/icons/AssetLinkIcon.tsx","webpack:///./broker-admin/components/notification-cards/RunOutOfTimeAssignCarrierCard/RunOutOfTimeAssignCarrierCard.scss?6f02","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestListPage.tsx","webpack:///./common/utils/form-value-converters.ts","webpack:///./common/store/rfqs/channels.ts","webpack:///./common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/TrailerTypeCell/TrailerTypeCell.tsx","webpack:///./broker-admin/store/settings/selectors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/TourTypeTabs/constants.ts","webpack:///./broker-admin/store/deadhead-creation/models.ts","webpack:///./common/layouts/NewOrderPage/CargoDetailsForm/footer-alert-contents/TemperatureRangesCompatibleValidationAlertContent/TemperatureRangesCompatibleValidationAlertContent.tsx","webpack:///./common/components/notification-cards/SpotBidStatusCard/SpotBidStatusCard.scss?0245","webpack:///./common/components/status-pill/TourStatusPill/TourStatusPill.tsx","webpack:///./common/store/trucks/sagas.ts","webpack:///./broker-admin/layouts/SideBars/SpotRequestsFiltersSidebarContent/SpotRequestsFiltersSidebarContent.tsx","webpack:///./common/layouts/SignInPage/async-validations.ts","webpack:///./common/components/dropdowns/TruckStatusMultipleDropdown/TruckStatusMultipleDropdown.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/EvidenceOfTaxDetailsForm/async-validations.ts","webpack:///./common/components/Table/cell-renderers/EventCell/EventCell.scss?0864","webpack:///./broker-admin/store/broker-orders/reducer.ts","webpack:///./common/store/auth/sagas.ts","webpack:///./common/components/RangeSelector/ZoneText/ZoneText.scss?69ff","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/SubmitButtonContent/SubmitButtonContent.tsx","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/CommonDocumentParamsDetailsForm/CommonDocumentParamsDetailsForm.tsx","webpack:///./common/components/tabs/TabLabel/TabLabel.scss?e9a6","webpack:///./design-system/components/AsyncSearchScrollableList/ListMessage/ListMessage.tsx","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/contexts/sync-map-state.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/BrokerOrderDetails.scss?08ab","webpack:///./common/components/notification-cards/RunOutOfTimeAssignDriversCard/RunOutOfTimeAssignDriversCard.scss?af6a","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/SelectedFilters/SelectedFilters.tsx","webpack:///./broker-admin/components/status-machine/footers/ChangeTourStatusFooter/CancelSpotRequestFooter/CancelSpotRequestFooter.tsx","webpack:///./broker-admin/store/invoices/selectors.ts","webpack:///./common/components/forms/RemoteFormActions/RemoteFormActions.scss?590b","webpack:///./common/layouts/NewOrderPage/additional-services.ts","webpack:///./common/store/consistent-state-machine/sagas.ts","webpack:///./common/store/order-creation/utils/sort-offers.ts","webpack:///./design-system/components/InfoTable/formatters/DateIntervalFormatter/DateIntervalFormatter.tsx","webpack:///./common/components/units/UnitTypeCount/UnitTypeCount.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/BrokerOrderAssignmentPage.scss?7846","webpack:///./common/components/notification-cards/entities/Identifier/Identifier.scss?25a6","webpack:///./common/store/order-creation/utils/group-offers-by-dates-hash.ts","webpack:///./common/layouts/ListPage/ListPageLayout/ListPageLayout.scss?df58","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/FerrySettingsForm/get-initial-values.ts","webpack:///./broker-admin/layouts/SideBars/hooks.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/NewOrderParametersSettingsForm/prepare-system-settings.ts","webpack:///./common/components/maps/pins/AssetDropOffLocationPin/AssetDropOffLocationPin.scss?669c","webpack:///./common/layouts/BaseShipperContractDetailsLayout/EditShipperContractDetailsForm/constants.ts","webpack:///./broker-admin/layouts/PartnersPage/dialogs/InvitePartnerDialog/InvitePartnerDialog.tsx","webpack:///./common/store/assets/selectors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/ShipmentDetailsCard/ShipmentDetailsCard.tsx","webpack:///./common/layouts/BaseCarrierContractsLayout/dialogs/RejectContractConfirmation/RejectContractConfirmation.tsx","webpack:///./design-system/components/Calendar/YearMonthForm/YearMonthForm.scss?8180","webpack:///./common/store/trucks/types.ts","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/RouteDetailsCard/RouteDetailsCard.tsx","webpack:///./common/layouts/AccountPage/AccountPreview/AccountPreview.tsx","webpack:///./common/layouts/SideBars/contents/ContractDetailsSidebarContent/footers/ReviewFooterContent/ReviewFooterContent.tsx","webpack:///./broker-admin/components/dropdowns/PriceComponentTypeMultipleDropdown/PriceComponentTypeMultipleDropdown.scss?3742","webpack:///./broker-admin/utils/urls-params.ts","webpack:///./common/components/ExcludeCountriesMapWidget/ExcludedCountry/ExcludedCountry.scss?e062","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditMap/RouteEditMap.tsx","webpack:///./common/utils/hooks/useStateMachine.ts","webpack:///./broker-admin/store/broker-order-edit/selectors.ts","webpack:///./common/components/maps/pins/LastAssetTrackPointPin/LastAssetTrackPointPin.tsx","webpack:///./common/layouts/TrucksPageLayout/TrucksTable/cell-renderers/StatusCell/StatusCell.scss?9f02","webpack:///./common/store/papers-edit/channels.ts","webpack:///./common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/EvidenceOfTaxDetailsForm/EvidenceOfTaxDetailsForm.scss","webpack:///./common/layouts/BaseDocumentsLayout/dialogs/RejectDocumentConfirmation/validate-form.ts","webpack:///./broker-admin/store/spot-requests-stats/sagas.ts","webpack:///./common/icons/CalendarAltIcon.tsx","webpack:///./broker-admin/components/RouteSwitchDropdown/RouteSwitchDropdown.tsx","webpack:///./common/icons/ServicePinIcon.tsx","webpack:///./broker-admin/store/order-edit/sagas.ts","webpack:///./common/components/papers/modals/ImageGalleryModal/ImageGalleryModal.scss?d1b7","webpack:///./common/icons/BellIcon.tsx","webpack:///./common/components/price-details/hooks/common.tsx","webpack:///./design-system/components/dropdowns/DropdownSearchInput/hooks/use-async-filter-options.ts","webpack:///./common/components/notification-cards/RunningOutOfTimeAssignAssetsCard/RunningOutOfTimeAssignAssetsCard.tsx","webpack:///./common/components/LineLoader/LineLoader.tsx","webpack:///./common/components/AssetSidebarContent/hooks/usePlateNumberUniqCheck.ts","webpack:///./broker-admin/store/order-edit/utils/find-first-before-stop.ts","webpack:///./common/icons/DeactivateUserIcon.tsx","webpack:///./common/utils/input-masks.ts","webpack:///./common/layouts/SignInPage/constants.ts","webpack:///./common/store/driver-assigment/actions.ts","webpack:///./common/components/Link/Link.tsx","webpack:///./common/store/vehicle-schedules/constants.ts","webpack:///./common/layouts/Members/Members.scss?ca2c","webpack:///./common/components/Input/Input.tsx","webpack:///./common/layouts/BaseShipperContractDetailsLayout/ShipperContractDetails/ShipperContractDetails.scss?f376","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/RouteDetailsCard/RouteDetailsCard.scss?a812","webpack:///./common/components/status-colored/FormUnsavedValuesColoredStatus/FormUnsavedValuesColoredStatus.tsx","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/RoutingSettingsForm/validate-form.ts","webpack:///./common/layouts/Members/ContactsTable/cell-renderers/ControlsCell/ControlsCell.scss?92de","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/get-query-filters.ts","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/RulePreview/RulePreview.scss?d67f","webpack:///./common/components/Textarea/Textarea.scss?6777","webpack:///./common/layouts/TransportOrderDetailsPageLayout/footers/DriversAssignmentFooterContent/DriversAssignmentFooterContent.tsx","webpack:///./common/icons/ContactIcon.tsx","webpack:///./common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/ShipmentDetailsCard/ShipmentDetailsCard.scss?17de","webpack:///./common/icons/CalendarIcon.tsx","webpack:///./common/store/members/constants.ts","webpack:///./common/utils/test-selectors.ts","webpack:///./common/icons/AccountIcon.tsx","webpack:///./common/layouts/SideBars/contents/TruckFiltersSidebarContent/get-query-filters.ts","webpack:///./design-system/components/InfoTable/formatters/TemperatureModeFormatter/TemperatureModeFormatter.tsx","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/SearchForm/RadiusDropdown/RadiusDropdown.tsx","webpack:///./broker-admin/layouts/SideBars/PriceSettingsRuleFiltersSidebarContent/constants.ts","webpack:///./broker-admin/store/order-edit/utils/get-added-stop-hashes.ts","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteEditMap/RouteEditMap.scss?2639","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/FiltersSidebarContent.tsx","webpack:///./broker-admin/store/managers/reducer.ts","webpack:///./common/components/Table/cell-renderers/EditableCostCell/EditableCostCell.tsx","webpack:///./common/utils/hooks/useAfterSuccessRequest.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/SendingToSpotForm.tsx","webpack:///./design-system/components/AsyncSearchScrollableList/AsyncSearchScrollableList.scss?f561","webpack:///./common/components/notification-cards/SpotRequestStatusCard/SpotRequestStatusCard.tsx","webpack:///./common/components/Timeline/Delimeter/Delimeter.tsx","webpack:///./broker-admin/components/notification-cards/UpdatedPartnerCarrierContractCard/UpdatedPartnerCarrierContractCard.tsx","webpack:///./broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLanePage.tsx","webpack:///./common/components/MultiPointOrderRouteMap/constants.ts","webpack:///./common/components/notification-cards/OrderEditedCard/OrderEditedCard.scss?b385","webpack:///./broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/BidDetails/BidDetails.scss?51fd","webpack:///./common/components/status/TruckStatus/TruckStatus.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/Steps/Steps.tsx","webpack:///./design-system/components/date-pickers/LinkDatePicker/LinkDatePicker.tsx","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/TargetCell/TargetCell.tsx","webpack:///./common/layouts/DriversPageLayout/dialogs/ActivateDriverConfirmation/ActivateDriverConfirmation.tsx","webpack:///./broker-admin/components/notification-cards/UpdatedPartnerCarrierContractCard/UpdatedPartnerCarrierContractCard.scss?61e7","webpack:///./broker-admin/layouts/SettingsPage/SystemSettings/AlertsSettingsForm/AlertsSettingsForm.scss?af0d","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/DeleteWaypointTrigger/DeleteWaypointTrigger.tsx","webpack:///./broker-admin/components/status/PriceRuleStatusLabel/PriceRuleStatusLabel.tsx","webpack:///./common/components/maps/MapArea/MapArea.tsx","webpack:///./common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/BaseShipperContractLanesTable.scss?ba42","webpack:///./broker-admin/store/broker-order-edit/sagas.ts","webpack:///./common/components/papers/PapersGroup/PapersGroup.tsx","webpack:///./common/layouts/NewOrderPage/ShipmentDetailsForm/SyncPointsWatcher/SyncPointsWatcher.tsx","webpack:///./common/store/user/utils.ts","webpack:///./broker-admin/layouts/SideBars/CreatePartnerSidebarContent/CreatePartnerSidebarContent.scss?2c20","webpack:///./common/layouts/SignInPage/Notification/Notification.scss?a4e4","webpack:///./broker-admin/layouts/SettingsPage/PriceSettingsRules/query-models.ts","webpack:///./broker-admin/store/broker-tour-stats/selectors.ts","webpack:///./common/icons/RadarIcon.tsx","webpack:///./common/layouts/TruckDetailsPage/TruckDetailsPage.tsx","webpack:///./common/store/members/actions.ts","webpack:///./common/components/filter-pills/CountriesFilterPill/CountriesFilterPill.tsx","webpack:///./broker-admin/layouts/SettingsPage/RateMatrix/ChangeRatesForm/ChangeRatesForm.scss?bdf4","webpack:///./broker-admin/store/managers/actions.ts","webpack:///./common/components/pills/DriverWrongCheckPointPill/DriverWrongCheckPointPill.tsx","webpack:///./common/components/entity-details/ShipmentPapersTabContent/ShipmentPapersTabContent.tsx","webpack:///./design-system/components/DividerWithDropdownControl/DividerTrigger/DividerTrigger.tsx","webpack:///./broker-admin/layouts/StatisticsPage/StatisticsChart/StatisticsChart.tsx","webpack:///./common/components/entity-details/RouteLocationsOverview/RouteLocationsOverview.tsx","webpack:///./common/store/documents/channels.ts","webpack:///./common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/BaseShipperContractsTable.scss?6fd7","webpack:///./common/components/maps/MapRoute/MapRoute.tsx","webpack:///./common/components/status-pill/ShipmentStatusPill/ShipmentStatusPill.tsx","webpack:///./common/components/MapTrigger/MapTrigger.tsx","webpack:///./broker-admin/layouts/PriceSettingsRulePreviewLayout/PriceSettingsRulePreviewLayout.tsx","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerToursListPage/BrokerToursTable/cell-renderers/TypeCell/TypeCell.tsx","webpack:///./common/utils/sort.ts","webpack:///./design-system/components/InfoTable/formatters/EmissionClassFormatter/EmissionClassFormatter.tsx","webpack:///./common/layouts/BaseDocumentsLayout/hooks/use-document-info.tsx","webpack:///./common/layouts/NewOrderPage/OfferDetails/CollapsedOfferDetails/OfferAttribute/OfferAttribute.tsx","webpack:///./common/store/shipper-contract-lanes/slice.ts","webpack:///./broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/SpotRequestsTable.scss?1e21","webpack:///./broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourRouteMap/BrokerTourRouteMap.scss?f254","webpack:///./broker-admin/components/notification-cards/RemovedFromTeamCard/RemovedFromTeamCard.tsx","webpack:///./common/store/auth/selectors.ts","webpack:///./broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/CancelTrailerTransportOrderConfirmation/CancelTrailerTransportOrderConfirmation.tsx","webpack:///./common/icons/WalletIcon.tsx"],"sourcesContent":["export enum FieldsEnum {\n    autoExcludeNonEUCountries = 'AUTO_EXCLUDE_NON_EU_COUNTRIES',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.autoExcludeNonEUCountries]: boolean;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './HeaderSideBarContent.scss';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport LeftArrowIcon from 'common/icons/LeftArrowIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport isNil from 'lodash/isNil';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\nexport type HeaderSidebarActionT = DropdownControlOptionT | null;\n\ntype PropsT = {\n    className?: string;\n    title?: React.ReactNode;\n    dropdownOptions?: Array<HeaderSidebarActionT | SpecialOptionEnum>;\n    afterTitleNode?: React.ReactNode;\n    rightNode?: React.ReactNode;\n    afterDropdownNode?: React.ReactNode;\n    beforeDropdownNode?: React.ReactNode;\n    dropdownOverlayClassName?: string;\n    testSelector?: string;\n    onGoBack?: (() => void) | null;\n    onClose?: (() => void) | null;\n};\n\nconst HeaderSideBarContent: React.FC<PropsT> = React.memo((props) => {\n    const {\n        title,\n        onGoBack,\n        dropdownOptions,\n        afterTitleNode,\n        afterDropdownNode,\n        beforeDropdownNode,\n        rightNode,\n        onClose,\n        dropdownOverlayClassName,\n        className,\n        testSelector,\n    } = props;\n\n    const fullTestSelector = `${testSelector}_sidebar-header`;\n\n    const { t } = useTranslation();\n\n    return (\n        <div className={cs(cx('header'), className)}>\n            {onGoBack && (\n                <Tooltip\n                    position={TooltipPositionEnum.centerRight}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        <TooltipContent isCenter theme={TooltipContentThemeEnum.black} width={80}>\n                            {t('common:sidebar.go-back')}\n                        </TooltipContent>\n                    }\n                >\n                    {() => (\n                        <TransparentTrigger\n                            onClick={onGoBack}\n                            className={cx('control', 'control--back-button')}\n                            leftIcon={<LeftArrowIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                            testSelector={`${fullTestSelector}_back`}\n                            reflectionTheme={ReflectionThemeEnum.light}\n                        />\n                    )}\n                </Tooltip>\n            )}\n            {!isNil(title) && (\n                <div className={cx('title')} data-test-selector={`${fullTestSelector}_title`}>\n                    {title}\n                </div>\n            )}\n            {isNil(title) && <div className={cx('skeleton')} />}\n            {afterTitleNode && <div className={cx('after-title-node')}>{afterTitleNode}</div>}\n            <div className={cx('spacer')} />\n            {rightNode && <div className={cx('right-node')}>{rightNode}</div>}\n            {beforeDropdownNode && (\n                <div\n                    className={cx('control', {\n                        'control--has-right-padding': true,\n                    })}\n                >\n                    {beforeDropdownNode}\n                </div>\n            )}\n            {!!dropdownOptions?.length && (\n                <DropdownControl\n                    className={cx('control', {\n                        'control--has-right-padding': !!onClose || !!afterDropdownNode,\n                    })}\n                    overlayClassName={dropdownOverlayClassName}\n                    options={dropdownOptions}\n                    renderTrigger={(isActive, onClick) => (\n                        <TransparentTrigger\n                            isPressed={isActive}\n                            onClick={onClick}\n                            leftIcon={<MoreIcon />}\n                            reflectionTheme={ReflectionThemeEnum.light}\n                        />\n                    )}\n                    overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                />\n            )}\n            {afterDropdownNode && (\n                <div\n                    className={cx('control', {\n                        'control--has-right-padding': !!onClose,\n                    })}\n                >\n                    {afterDropdownNode}\n                </div>\n            )}\n            {onClose && (\n                <Tooltip\n                    position={TooltipPositionEnum.centerLeft}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        <TooltipContent isCenter theme={TooltipContentThemeEnum.black} width={80}>\n                            {t('common:sidebar.close')}\n                        </TooltipContent>\n                    }\n                >\n                    {() => (\n                        <TransparentTrigger\n                            className={cx('control', 'control--close-button')}\n                            onClick={onClose}\n                            leftIcon={<CloseIcon />}\n                            testSelector={`${fullTestSelector}_close`}\n                            reflectionTheme={ReflectionThemeEnum.light}\n                        />\n                    )}\n                </Tooltip>\n            )}\n        </div>\n    );\n});\n\nexport default HeaderSideBarContent;\n","export enum FieldsEnum {\n    deadlineTimeWindow = 'deadlineTimeWindow',\n    comment = 'comment',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.deadlineTimeWindow]: TimeWindowT | null;\n    [FieldsEnum.comment]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    count: number | null | undefined;\n};\n\nconst DropdownMultipleInputCountLabel: React.FC<PropsT> = React.memo((props) => {\n    const { count } = props;\n\n    const { t } = useTranslation();\n\n    if (!isNumber(count)) {\n        return null;\n    }\n\n    return (\n        <span>\n            {count}{' '}\n            {t('common:common-components.dropdown-multiple-input.selected', {\n                postProcess: 'interval',\n                count,\n            })}\n        </span>\n    );\n});\n\nexport default DropdownMultipleInputCountLabel;\n","import { AnyAlert } from './models';\n\nexport const ADD_ALERT = 'common/alert/ADD_ALERT';\nexport const DELETE_ALERT = 'common/alert/DELETE_ALERT';\n\nexport type AddAlertActionT = {\n    type: typeof ADD_ALERT;\n    anyAlert: AnyAlert;\n};\n\nexport type DeleteAlertActionT = {\n    type: typeof DELETE_ALERT;\n    alertId: AlertIdT;\n};\n\nexport type AlertsActionT = AddAlertActionT | DeleteAlertActionT;\n\nexport type AlertsStateT = {\n    byId: Record<AlertIdT, AnyAlert>;\n    ids: Array<AlertIdT>;\n};\n","import * as React from 'react';\n\ntype PropsT = {};\n\nconst HiddenSubmitButtonForKeyboardEnter: React.FC<PropsT> = React.memo(() => {\n    return (\n        <button type=\"submit\" hidden>\n            submit\n        </button>\n    );\n});\n\nexport default HiddenSubmitButtonForKeyboardEnter;\n","import React from 'react';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\nexport type PartnerContextT = {\n    partnerId: PartnerIdT | null;\n    partnerType: PartnerTypeEnum | null;\n};\n\nconst PartnerContext = React.createContext<PartnerContextT>({\n    partnerId: null,\n    partnerType: null,\n});\n\nexport default PartnerContext;\n","import { SpotStateT, UPDATE_REQUEST_BEGIN, UPDATE_REQUEST_ERROR, UPDATE_REQUEST_SUCCESS, SpotActionT } from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: SpotStateT = {\n    requestStatus: requestStatus.initial,\n};\n\nexport default (state = initialState, action: SpotActionT | DestroySessionActionT): SpotStateT => {\n    switch (action.type) {\n        case UPDATE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                requestStatus: requestStatus.loading,\n            };\n        }\n\n        case UPDATE_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                requestStatus: requestStatus.setError(error),\n            };\n        }\n\n        case UPDATE_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                requestStatus: requestStatus.ok,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"icon\":\"IconWithNumber__icon___NfwbY\",\"icon--isCompact\":\"IconWithNumber__icon--isCompact___PxgsY\",\"number\":\"IconWithNumber__number___N5rBB\",\"number--isCompact\":\"IconWithNumber__number--isCompact___YfIGT\",\"fadeIn\":\"IconWithNumber__fadeIn___eumtf\",\"blinking\":\"IconWithNumber__blinking___oYIkR\"};","import React, { useMemo } from 'react';\n\nexport type SyncSetUnavailableFormMapStateContextValueT = {\n    hasDropAssetPointError: boolean;\n    setHasDropAssetPointError: (hasDropAssetPointError: boolean) => void;\n};\n\nexport const usySyncMapState = (): SyncSetUnavailableFormMapStateContextValueT => {\n    const [hasDropAssetPointError, setHasDropAssetPointError] = React.useState<boolean>(false);\n\n    return useMemo(() => {\n        return {\n            hasDropAssetPointError,\n            setHasDropAssetPointError,\n        };\n    }, [hasDropAssetPointError]);\n};\n","export {\n    fetchBrokerTourDetails,\n    fetchBrokerTourDetailsBegin,\n    fetchBrokerTourDetailsSuccess,\n    fetchBrokerTourDetailsError,\n    resetBrokerTourDetails,\n} from './slice';\n","import React, { useCallback, useMemo } from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport keyBy from 'lodash/keyBy';\nimport { AsyncRequestFactoryT } from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport isNil from 'lodash/isNil';\nimport UserDropdownOptionLabel from 'common/components/dropdowns/options/UserDropdownOptionLabel/UserDropdownOptionLabel';\nimport { useAsyncFilterOptions } from 'design-system/components/dropdowns/DropdownSearchInput/hooks/use-async-filter-options';\n\ntype OptionT = {\n    fullName?: string;\n    userId?: UserIdT;\n    email?: string;\n};\n\ntype ValueT = OptionT['userId'] | null;\n\nexport type PropsT = {\n    className?: string;\n    companyId: CompanyIdT;\n    initialValue: ValueT;\n    initialLabel: string | null;\n    onSelect: (value: ValueT, label?: string) => void;\n    value: ValueT;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    hasClearControl?: boolean;\n};\n\nconst TeamMemberSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        companyId,\n        initialValue,\n        initialLabel,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        onBlur,\n        onFocus,\n        hasChanges,\n        hasClearControl,\n        placeholder,\n    } = props;\n\n    const initialOption = useMemo((): OptionT | null => {\n        if (!initialValue) {\n            return null;\n        }\n\n        return {\n            fullName: initialLabel || 'Unknown user',\n            userId: initialValue,\n        };\n    }, [initialLabel, initialValue]);\n\n    const initialOptions = useMemo(() => {\n        if (!initialOption) {\n            return null;\n        }\n\n        return [initialOption];\n    }, [initialOption]);\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback(\n        (query) => {\n            const isPartner = !checkIsDefaultCompanyId(companyId);\n            if (isPartner) {\n                return brokerTranziitApi.findPartnerUsersByName(companyId, {\n                    userName: query || undefined,\n                });\n            }\n\n            return commonTranziitApi.findCompanyUsersByName(query);\n        },\n        [companyId],\n    );\n\n    const getOptionText = useCallback((option: OptionT) => option.fullName || option.email || '-', []);\n\n    const asyncFilterOptionsRequest = useAsyncFilterOptions<OptionT>({\n        initialOptions,\n        requestFactory,\n        getOptionText,\n        settings: {},\n    });\n\n    const optionByUserId = React.useMemo(() => {\n        return keyBy(asyncFilterOptionsRequest.options, 'userId');\n    }, [asyncFilterOptionsRequest.options]);\n\n    const renderOption = (option?: OptionT, placeholder?: string): React.ReactNode => {\n        if (isNil(option)) {\n            return <UserDropdownOptionLabel label={placeholder || ''} isPlaceholder />;\n        }\n\n        return <UserDropdownOptionLabel label={option?.fullName || ''} />;\n    };\n\n    const handleFocus = useCallback(() => {\n        if (onFocus) {\n            onFocus();\n        }\n\n        asyncFilterOptionsRequest.onRefresh();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onFocus, asyncFilterOptionsRequest.onRefresh]);\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            placeholder={placeholder}\n            options={asyncFilterOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={(value) => {\n                const option = value ? optionByUserId[value] : null;\n                const label = option?.fullName || '';\n\n                onSelect(value, label);\n            }}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncFilterOptionsRequest.onChangeQuery}\n            renderRightIcon={() =>\n                asyncFilterOptionsRequest.requestStatus.loading ? (\n                    <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} />\n                ) : null\n            }\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            getOptionValue={(option) => option?.userId}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            onReset={\n                hasClearControl\n                    ? () => {\n                          onSelect(null);\n                      }\n                    : undefined\n            }\n        />\n    );\n};\n\nexport default TeamMemberSuggest;\n","import React, { CSSProperties, MouseEvent } from 'react';\n\nimport classNames from 'classnames/bind';\nimport {\n    useFloating,\n    autoUpdate,\n    offset,\n    flip,\n    shift,\n    arrow,\n    useHover,\n    useFocus,\n    useDismiss,\n    useInteractions,\n    safePolygon,\n    FloatingArrow,\n    FloatingPortal,\n} from '@floating-ui/react';\n\nimport { TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\n\nimport styles from './TimeWindow.scss';\nimport { TimeWindowT } from '../models';\nimport { DATA_TIMELINE_ITEM_SELECTOR } from '../constants';\nimport { StyleGuideColorsEnum, UNIT } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nconst TOOLTIP_HOVER_DELAY_MS = 300;\nconst TOOLTIP_CLOSE_DELAY_MS = 3000;\n\nconst TOOLTIP_ARROW_FILL: Record<TooltipThemeEnum, StyleGuideColorsEnum> = {\n    [TooltipThemeEnum.white]: StyleGuideColorsEnum.white,\n    [TooltipThemeEnum.black]: StyleGuideColorsEnum.charcoal,\n};\n\nexport type TimeWindowPropsT<T> = {\n    start: number;\n    getHeight: (height: number) => number;\n    timeWindow: TimeWindowT<T>;\n    onClick: (timeWindow: TimeWindowT<T>, event: MouseEvent<HTMLDivElement>) => void;\n    onBlur: (timeWindow: TimeWindowT<T>, event: MouseEvent<HTMLDivElement>) => void;\n    onFocus: (timeWindow: TimeWindowT<T>, event: MouseEvent<HTMLDivElement>) => void;\n    style?: CSSProperties;\n};\n\nconst SERVICE_HEIGHT = 8 * UNIT; // icon + paddings\n\nconst TimeWindow = <T = unknown,>(props: TimeWindowPropsT<T>) => {\n    const { start, timeWindow, getHeight, onClick, onBlur, onFocus, style } = props;\n\n    const { renderTooltip, tooltipTheme = TooltipThemeEnum.white } = timeWindow;\n\n    const [isShowLabel, setShowLabel] = React.useState<boolean>(true);\n    const [isTooltipOpen, setTooltipOpen] = React.useState(false);\n\n    const wrapRef = React.useRef<HTMLDivElement>();\n    const labelRef = React.createRef<HTMLDivElement>();\n    const tooltipArrowRef = React.useRef<SVGSVGElement | null>(null);\n\n    const hasFloatingTooltip = Boolean(renderTooltip);\n\n    const { refs, floatingStyles, context } = useFloating({\n        open: hasFloatingTooltip && isTooltipOpen,\n        onOpenChange: setTooltipOpen,\n        placement: 'left',\n        middleware: [\n            offset(2 * UNIT),\n            flip({ padding: 2 * UNIT }),\n            shift({ padding: 2 * UNIT }),\n            arrow({ element: tooltipArrowRef }),\n        ],\n        strategy: 'fixed',\n        transform: false,\n        whileElementsMounted: autoUpdate,\n    });\n\n    const hover = useHover(context, {\n        enabled: hasFloatingTooltip,\n        delay: { open: TOOLTIP_HOVER_DELAY_MS, close: TOOLTIP_CLOSE_DELAY_MS },\n        handleClose: safePolygon({ buffer: 1 }),\n    });\n\n    const focus = useFocus(context, { enabled: hasFloatingTooltip });\n\n    const dismiss = useDismiss(context, { enabled: hasFloatingTooltip });\n\n    const { getReferenceProps, getFloatingProps } = useInteractions([hover, focus, dismiss]);\n\n    React.useEffect(() => {\n        if (!hasFloatingTooltip) {\n            setTooltipOpen(false);\n        }\n    }, [hasFloatingTooltip]);\n\n    const setFloatingReference = refs.setReference;\n\n    const setRef = React.useCallback(\n        (node: HTMLDivElement | null): void => {\n            wrapRef.current = node ?? undefined;\n            setFloatingReference(node);\n        },\n        [setFloatingReference],\n    );\n\n    React.useEffect(() => {\n        if (!labelRef.current || !wrapRef.current) {\n            return;\n        }\n\n        setShowLabel(labelRef.current.offsetHeight + SERVICE_HEIGHT < wrapRef.current.offsetHeight);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [wrapRef.current, labelRef.current]);\n\n    return (\n        <>\n            <div\n                className={cx('time-window', {\n                    [`time-window--${timeWindow.theme}`]: true,\n                    'time-window--isTransparent': timeWindow.isTransparent,\n                })}\n                {...(hasFloatingTooltip\n                    ? getReferenceProps({\n                          onMouseEnter(event: MouseEvent<HTMLDivElement>) {\n                              onFocus(timeWindow, event);\n                          },\n                          onMouseLeave(event: MouseEvent<HTMLDivElement>) {\n                              onBlur(timeWindow, event);\n                          },\n                      })\n                    : {\n                          onMouseLeave: (event: MouseEvent<HTMLDivElement>) => onBlur(timeWindow, event),\n                          onMouseEnter: (event: MouseEvent<HTMLDivElement>) => onFocus(timeWindow, event),\n                      })}\n                onClick={(event) => onClick(timeWindow, event)}\n                style={{\n                    top: `${getHeight(timeWindow.start - start)}px`,\n                    height: `${getHeight(timeWindow.end - timeWindow.start)}px`,\n                    ...style,\n                }}\n                ref={setRef}\n                title={hasFloatingTooltip ? undefined : timeWindow.label}\n                {...{ [DATA_TIMELINE_ITEM_SELECTOR]: timeWindow.id }}\n            >\n                <div className={cx('time-window__icon')}>{timeWindow.icon}</div>\n                {isShowLabel && (\n                    <div className={cx('time-window__label-wrap')} ref={labelRef}>\n                        <div\n                            className={cx('time-window__label', {\n                                [`time-window__label--${timeWindow.theme}`]: true,\n                            })}\n                        >\n                            {timeWindow.label}\n                        </div>\n                    </div>\n                )}\n            </div>\n            {hasFloatingTooltip && isTooltipOpen && (\n                <FloatingPortal>\n                    <div\n                        ref={refs.setFloating}\n                        style={floatingStyles}\n                        className={cx('tooltip')}\n                        {...getFloatingProps({\n                            onClick(event: React.MouseEvent<HTMLDivElement>) {\n                                event.stopPropagation();\n                            },\n                        })}\n                    >\n                        <FloatingArrow\n                            fill={TOOLTIP_ARROW_FILL[tooltipTheme]}\n                            ref={tooltipArrowRef}\n                            context={context}\n                        />\n                        <div\n                            className={cx('tooltip__inner', {\n                                [`tooltip__inner--theme-${tooltipTheme}`]: true,\n                            })}\n                        >\n                            {renderTooltip?.(timeWindow.data)}\n                        </div>\n                    </div>\n                </FloatingPortal>\n            )}\n        </>\n    );\n};\n\nexport { TimeWindow };\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { fetchRFQsStatsBegin, fetchRFQsStatsError, fetchRFQsStatsSuccess } from './actions';\nimport { FETCH_RFQS_STATS_REQUEST, FetchRFQsStatsActionT } from './types';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectRFQsStatsRequest } from './selectors';\nimport { FETCH_ORDERS_PAGE_REQUEST } from 'common/store/transport-orders/types';\nimport shipperTranziitApi from 'shipper/utils/api/shipper-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { CompanyTypeEnum } from 'common/constants';\n\nconst getFetchRFQsStatsSaga = (companyType: CompanyTypeEnum) => {\n    return function* fetchRFQsStatsSaga(action: FetchRFQsStatsActionT): WrapGeneratorT<void> {\n        const { options } = action;\n        const requestStatus: ReturnType<typeof selectRFQsStatsRequest> = yield select(selectRFQsStatsRequest);\n\n        const isNeedRequest = checkNeedRequest(requestStatus, options);\n        if (!isNeedRequest) {\n            return;\n        }\n\n        yield put(fetchRFQsStatsBegin());\n\n        let result: ReturnApiT<typeof shipperTranziitApi.fetchRFQsStats | typeof brokerTranziitApi.fetchRFQsStats>;\n        if (companyType === CompanyTypeEnum.broker) {\n            result = yield brokerTranziitApi.fetchRFQsStats();\n        } else {\n            result = yield shipperTranziitApi.fetchRFQsStats();\n        }\n\n        const [error, response] = result;\n\n        if (error) {\n            yield put(fetchRFQsStatsError(error));\n            return;\n        }\n\n        yield put(fetchRFQsStatsSuccess(response));\n    };\n};\n\nfunction* rfqsStatsSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery([FETCH_RFQS_STATS_REQUEST, FETCH_ORDERS_PAGE_REQUEST], getFetchRFQsStatsSaga(companyType));\n}\n\nexport default rfqsStatsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"PricingSettingsForm__widget___HvPTw\",\"widget__inner\":\"PricingSettingsForm__widget__inner___U9sfC\",\"checkbox\":\"PricingSettingsForm__checkbox___NDzJo\",\"checkbox-group\":\"PricingSettingsForm__checkbox-group___bJtSG\",\"field\":\"PricingSettingsForm__field___QXIos\",\"field-group\":\"PricingSettingsForm__field-group___MzrHp\",\"combined-field--fee-value\":\"PricingSettingsForm__combined-field--fee-value___QohJl\",\"combined-field--fee-type\":\"PricingSettingsForm__combined-field--fee-type___ZI0ak\",\"rate-matrix-spread-description__text\":\"PricingSettingsForm__rate-matrix-spread-description__text___OwrV7\",\"rate-matrix-spread-description\":\"PricingSettingsForm__rate-matrix-spread-description___Ie9eQ\",\"fadeIn\":\"PricingSettingsForm__fadeIn___qJw6u\",\"blinking\":\"PricingSettingsForm__blinking___zaaTK\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SubjectLink.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    number: React.ReactNode;\n};\n\nconst SubjectLink: React.FC<PropsT> = React.memo((props) => {\n    const { number } = props;\n\n    return <span className={cx('subject-link')}>{number}</span>;\n});\n\nexport default SubjectLink;\n","import { CompanyRFQsStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { initialCompanyRFQsState } from './reducer';\n\nconst selectCompanyState = (state: SharableStateT, companyId: CompanyIdT | null): CompanyRFQsStateT => {\n    return state.rfqs[companyId as CompanyIdT] || initialCompanyRFQsState;\n};\n\nexport const selectRFQsPages = (companyId: CompanyIdT | null) => {\n    return (state: SharableStateT): CompanyRFQsStateT['pages'] => {\n        return selectCompanyState(state, companyId).pages;\n    };\n};\n\nexport const selectRFQsQuery = (companyId: CompanyIdT | null) => {\n    return (state: SharableStateT): CompanyRFQsStateT['query'] => selectCompanyState(state, companyId).query;\n};\n\nexport const selectRFQsTotal = (companyId: CompanyIdT | null) => {\n    return (state: SharableStateT): CompanyRFQsStateT['total'] => selectCompanyState(state, companyId).total;\n};\n\nexport const selectRFQsByIds = (companyId: CompanyIdT | null) => {\n    return (state: SharableStateT): CompanyRFQsStateT['byId'] => selectCompanyState(state, companyId).byId;\n};\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DeactivateUserForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\n\nimport ModalDialogActions from 'common/components/Modal/ModalDialogActions/ModalDialogActions';\nimport { DeactivateUserFormPropsT } from 'common/layouts/Members/dialogs/DeactivateUserModal/models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = DeactivateUserFormPropsT;\n\nconst TEST_SELECTOR = 'deactivate-user-form';\n\nconst DeactivateUserForm: React.FC<PropsT> = (props) => {\n    const { contact, onDeactivateUser, onCancel, updateMemberRequest } = props;\n\n    const { t } = useTranslation();\n\n    const actions = React.useMemo(() => {\n        return [\n            {\n                children: t('common:error-modal.actions.cancel'),\n                theme: ButtonThemeEnum.secondary,\n                testSelector: `${TEST_SELECTOR}_cancel`,\n                isDisabled: updateMemberRequest.loading,\n                onClick: onCancel,\n            },\n            {\n                children: t('common:error-modal.actions.deactivate'),\n                theme: ButtonThemeEnum.danger,\n                testSelector: `${TEST_SELECTOR}_ok`,\n                onClick: () => {\n                    const { userId } = contact;\n                    if (!userId) {\n                        return;\n                    }\n\n                    onDeactivateUser({ userId });\n                },\n                isLoading: updateMemberRequest.loading,\n            },\n        ];\n    }, [contact, onCancel, onDeactivateUser, t, updateMemberRequest.loading]);\n\n    return <ModalDialogActions actions={actions} />;\n};\n\nexport default DeactivateUserForm;\n","export enum TabEnum {\n    active = 'active',\n    archive = 'archive',\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"NumberInput__wrap___Odr93\",\"content\":\"NumberInput__content___jJe9l\",\"input\":\"NumberInput__input___F0zR3\",\"input--isEmpty\":\"NumberInput__input--isEmpty___eFN0b\",\"input--isHovered\":\"NumberInput__input--isHovered___KLG2E\",\"input--hasIcon\":\"NumberInput__input--hasIcon___h5HzE\",\"input--isFocused\":\"NumberInput__input--isFocused___HQDsT\",\"input--hasWarning\":\"NumberInput__input--hasWarning___yOjH_\",\"input--isChanged\":\"NumberInput__input--isChanged___FyoHq\",\"input--hasError\":\"NumberInput__input--hasError___dYYEd\",\"input--isDisabled\":\"NumberInput__input--isDisabled___xUSjJ\",\"input-inner\":\"NumberInput__input-inner___OtFr9\",\"input-inner--isEmpty\":\"NumberInput__input-inner--isEmpty___s740x\",\"input-inner--isDisabled\":\"NumberInput__input-inner--isDisabled___Ge4_H\",\"input-wrap\":\"NumberInput__input-wrap___GYKmb\",\"input-wrap--withValueControl\":\"NumberInput__input-wrap--withValueControl___DFDgQ\",\"icon\":\"NumberInput__icon___RXCcw\",\"units\":\"NumberInput__units___ND1Me\",\"units--isEmpty\":\"NumberInput__units--isEmpty___Ce4wS\",\"units--isDisabled\":\"NumberInput__units--isDisabled___EwTrR\",\"units--isHideValueControl\":\"NumberInput__units--isHideValueControl___KZhpq\",\"controls\":\"NumberInput__controls___C4rxw\",\"controls__control\":\"NumberInput__controls__control___cLxEZ\",\"controls__control--increment\":\"NumberInput__controls__control--increment___cIJTo\",\"controls__control--decrement\":\"NumberInput__controls__control--decrement___syjw0\",\"controls__control--isEmpty\":\"NumberInput__controls__control--isEmpty___uuMcU\",\"controls__control--isHovered\":\"NumberInput__controls__control--isHovered___JdlJy\",\"controls__control--isFocused\":\"NumberInput__controls__control--isFocused___kEQNA\",\"controls__control--isDisabled\":\"NumberInput__controls__control--isDisabled___ODequ\",\"fadeIn\":\"NumberInput__fadeIn___dC1ee\",\"blinking\":\"NumberInput__blinking___A_J6z\"};","import { RFQDetailsStateT } from './types';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { initialRFQDetailsState } from './reducer';\nimport { SharableStateT } from 'common/store/models';\n\nexport const selectRFQDetails =\n    (id: RFQIdT) =>\n    (state: SharableStateT): RFQDetailsStateT['details'] =>\n        state.rfqDetails[id]?.details || initialRFQDetailsState.details;\n\nexport const selectRFQDefaultPriceOffer =\n    (id: RFQIdT) =>\n    (state: SharableStateT): RFQDetailsStateT['defaultOffer'] =>\n        state.rfqDetails[id]?.defaultOffer || initialRFQDetailsState.defaultOffer;\n\nexport const selectRFQDetailsRequestStatus =\n    (id: RFQIdT) =>\n    (state: SharableStateT): RequestStatusT =>\n        state.rfqDetails[id]?.requestStatus || initialRFQDetailsState.requestStatus;\n","export enum TabsThemesEnum {\n    light = 'light',\n    dark = 'dark',\n}\n\nexport enum TabLabelSizeEnum {\n    normal = 'normal',\n    small = 'small',\n}\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './CommentFormatter.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    comment: React.ReactNode | string | null;\n};\n\nconst CommentFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { comment } = props;\n\n    return <span className={cx('comment')}>{comment}</span>;\n});\n\nexport default CommentFormatter;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"InviteDriverForm__wrap___cLLYA\",\"title\":\"InviteDriverForm__title___WifHS\",\"image\":\"InviteDriverForm__image___TF3hl\",\"form\":\"InviteDriverForm__form___HURH9\",\"fadeIn\":\"InviteDriverForm__fadeIn___zaR2C\",\"blinking\":\"InviteDriverForm__blinking___Yu6aQ\"};","import * as React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport NotificationCardInnerLayout from 'common/components/notification-cards/shared/NotificationCardInnerLayout/NotificationCardInnerLayout';\nimport NotificationEntityLabel from 'common/components/notification-cards/shared/NotificationEntityLabel/NotificationEntityLabel';\n\ntype PropsT = {\n    addressType: Api2.Definitions.NotificationAddressType;\n    verified: boolean;\n};\n\nconst ADDRESS_TYPE_I18N_MAP: Record<Api2.Definitions.NotificationAddressType, string> = {\n    LEGAL: 'common:profile-page.basic-information.field-labels.legal-address',\n    POSTAL: 'common:profile-page.basic-information.field-labels.postal-address',\n    BILLING: 'common:profile-page.basic-information.field-labels.billing-address',\n};\n\nconst AddressVerificationCard: React.FC<PropsT> = React.memo((props) => {\n    const { addressType, verified } = props;\n    const { t } = useTranslation();\n\n    const addressTypeLabel = t(ADDRESS_TYPE_I18N_MAP[addressType]);\n\n    const i18nKey = verified\n        ? 'notifications.address-verification.verified'\n        : 'notifications.address-verification.unverified';\n\n    return (\n        <NotificationCardInnerLayout>\n            <Trans\n                i18nKey={i18nKey}\n                components={{\n                    addressType: <NotificationEntityLabel text={addressTypeLabel} isBold />,\n                }}\n            />\n        </NotificationCardInnerLayout>\n    );\n});\n\nexport default AddressVerificationCard;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchBrokerOrderStats,\n    fetchBrokerOrderStatsBegin,\n    fetchBrokerOrderStatsError,\n    fetchBrokerOrderStatsSuccess,\n} from './slice';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectBrokerOrderStatsRequest } from './selectors';\nimport { fetchBrokerOrdersPage } from 'broker-admin/store/broker-orders/slice';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\nfunction* fetchBrokerOrderStatsSaga(): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectBrokerOrderStatsRequest> = yield select(selectBrokerOrderStatsRequest);\n\n    const isNeedRequest = checkNeedRequest(requestStatus);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchBrokerOrderStatsBegin());\n\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.fetchBrokerOrdersStatistics> =\n        yield brokerTranziitApi.fetchBrokerOrdersStatistics();\n    if (error) {\n        yield put(fetchBrokerOrderStatsError({ error }));\n        return;\n    }\n\n    yield put(fetchBrokerOrderStatsSuccess({ statistics: response }));\n}\n\nfunction* brokerOrderStatsSaga(): WrapGeneratorT<void> {\n    yield takeEvery([fetchBrokerOrderStats.type, fetchBrokerOrdersPage.type], fetchBrokerOrderStatsSaga);\n}\n\nexport default brokerOrderStatsSaga;\n","import * as React from 'react';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst BigPlusUsers: React.FC<PropsT> = (props) => {\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"130\" viewBox=\"0 0 200 130\" {...props}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M15 20h170v90H15z\" />\n                <path\n                    fill=\"#8ABA2E\"\n                    fillOpacity=\"0.05\"\n                    d=\"M176 20a7 7 0 110 14h-40a7 7 0 110 14h22a7 7 0 110 14h-10.174c-4.874 0-8.826 3.134-8.826 7 0 2.577 2 4.91 6 7a7 7 0 110 14H62a7 7 0 110-14H23a7 7 0 110-14h40a7 7 0 100-14H38a7 7 0 110-14h40a7 7 0 110-14h98zm0 28a7 7 0 110 14 7 7 0 010-14z\"\n                />\n                <path\n                    stroke=\"#8ABA2E\"\n                    strokeLinecap=\"round\"\n                    strokeLinejoin=\"round\"\n                    strokeWidth=\"2.5\"\n                    d=\"M149.5 47h-17.176m24.176 0h-2.221m-11.103 7.777H135M48.5 68H31.324M25.5 68h-4.221m31.897 8.777H45\"\n                />\n                <path\n                    stroke=\"#8ABA2E\"\n                    strokeLinejoin=\"round\"\n                    strokeWidth=\"2.5\"\n                    d=\"M76.667 63.417c3.208 0 5.833-2.625 5.833-5.834 0-3.208-2.625-5.833-5.833-5.833-3.209 0-5.834 2.625-5.834 5.833 0 3.209 2.625 5.834 5.834 5.834zm3.296 3.208c-1.08-.175-2.159-.292-3.296-.292-2.888 0-5.63.613-8.109 1.692A5.865 5.865 0 0065 73.421V78h13.125v-4.696c0-2.42.67-4.696 1.838-6.679zm43.37-3.208c3.209 0 5.834-2.625 5.834-5.834 0-3.208-2.625-5.833-5.834-5.833-3.208 0-5.833 2.625-5.833 5.833 0 3.209 2.625 5.834 5.833 5.834zM135 73.42c0-2.363-1.4-4.463-3.558-5.396a20.263 20.263 0 00-8.109-1.692c-1.137 0-2.216.117-3.295.292a13.126 13.126 0 011.837 6.68V78H135v-4.58zM100 43a8.738 8.738 0 00-8.75 8.75A8.738 8.738 0 00100 60.5a8.738 8.738 0 008.75-8.75A8.738 8.738 0 00100 43h0zm12.367 22.313A30.458 30.458 0 00100 62.688c-4.754 0-8.954 1.137-12.367 2.625-3.15 1.4-5.133 4.55-5.133 7.991V78h35v-4.696c0-3.441-1.983-6.591-5.133-7.991z\"\n                />\n                <path\n                    fill=\"#8ABA2E\"\n                    fillOpacity=\"0.3\"\n                    d=\"M76.667 63.417c3.208 0 5.833-2.625 5.833-5.834 0-3.208-2.625-5.833-5.833-5.833-3.209 0-3.209 11.667 0 11.667zm23.806-4c4.283 0 7.787-3.6 7.787-8s-3.504-8-7.787-8c-4.283 0-4.283 16 0 16zm22.86 4c3.209 0 5.834-2.625 5.834-5.834 0-3.208-2.625-5.833-5.834-5.833-3.208 0-3.208 11.667 0 11.667zM135 73.42c0-2.363-1.4-4.463-3.558-5.396a20.263 20.263 0 00-8.109-1.692c-1.137 0-2.216.117-3.295.292a13.126 13.126 0 011.837 6.68V78H135v-4.58zM111.722 65c-4.754 0-8.31-3.07-11.722-1.583-3.15 1.4-7.5 6.445-7.5 9.887V78h25c-.683-8.667-2.609-13-5.778-13z\"\n                />\n                <path\n                    fill=\"#FFF\"\n                    stroke=\"#8ABA2E\"\n                    strokeOpacity=\"0.3\"\n                    strokeWidth=\"2.5\"\n                    d=\"M101 98.75a.745.745 0 00.53-.22.745.745 0 00.22-.53h0v-5.75h5.75a.745.745 0 00.53-.22.745.745 0 000-1.06.745.745 0 00-.53-.22h0-5.75V86a.745.745 0 00-.22-.53.745.745 0 00-1.06 0 .745.745 0 00-.22.53h0v4.75H94.5a.745.745 0 00-.53.22.745.745 0 00-.22.53h0v.75l6.5.001V98c0 .207.084.395.22.53.135.136.323.22.53.22z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigPlusUsers.displayName = 'BigPlusUsers';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default BigPlusUsers;\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './ButtonTabs.scss';\nimport map from 'lodash/map';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { UseTabsResultT } from 'common/components/tabs/hooks';\nimport { OnKeyPressCallbackT, useKeyboardShortcut } from 'common/utils/hooks/useKeyboardShortcut';\n\nconst cx = classNames.bind(styles);\n\nexport enum ButtonTabCountThemeEnum {\n    normal = 'normal',\n    warning = 'warning',\n}\n\nconst notificationThemeMap: Record<ButtonTabCountThemeEnum, NotificationLabelThemeEnum> = {\n    [ButtonTabCountThemeEnum.normal]: NotificationLabelThemeEnum.slate,\n    [ButtonTabCountThemeEnum.warning]: NotificationLabelThemeEnum.orange,\n};\n\nexport type ButtonTabT<T extends string> = {\n    type: T;\n    label: React.ReactNode;\n    counter?: {\n        value?: number | null | undefined;\n        theme?: ButtonTabCountThemeEnum;\n        isShowPlusSign?: boolean;\n        isShowWarning?: boolean;\n    };\n};\n\nexport type PropsT<T extends string> = {\n    className?: string;\n    tabs: Array<ButtonTabT<T> | null>;\n    testSelector?: React.ReactNode;\n} & UseTabsResultT<T>;\n\nconst ButtonTabs = <T extends string>(props: PropsT<T>) => {\n    const { activeTabType, setActiveTabType, tabs, testSelector, className } = props;\n\n    const handleKeyPress: OnKeyPressCallbackT = React.useCallback(\n        (key, isPressedMetaKey) => {\n            const numberKey = parseInt(key, 10);\n            const selectedTabType = tabs[numberKey - 1]?.type || null;\n            if (!Number.isNaN(numberKey) && isPressedMetaKey && selectedTabType) {\n                setActiveTabType(selectedTabType);\n            }\n        },\n        [tabs, setActiveTabType],\n    );\n    useKeyboardShortcut(handleKeyPress);\n\n    return (\n        <div className={cs(cx('tabs'), className)} data-test-selector={testSelector}>\n            {map(tabs, (tab, tabIndex) => {\n                if (!tab) {\n                    return null;\n                }\n\n                const isActiveTab = tab.type === activeTabType;\n\n                return (\n                    <Button\n                        key={tabIndex}\n                        isToggled={isActiveTab}\n                        className={cx('tabs__tab', {\n                            'tabs__tab--is-active': isActiveTab,\n                        })}\n                        onClick={() => {\n                            setActiveTabType(tab.type);\n                        }}\n                        leftIcon={\n                            tab.counter ? (\n                                <NotificationLabel\n                                    theme={notificationThemeMap[tab.counter.theme as ButtonTabCountThemeEnum]}\n                                    count={tab.counter.value}\n                                    isShowPlusSign={tab.counter.isShowPlusSign}\n                                    isShowWarning={tab.counter.isShowWarning}\n                                />\n                            ) : null\n                        }\n                        theme={ButtonThemeEnum.transparent}\n                    >\n                        {tab.label}\n                    </Button>\n                );\n            })}\n        </div>\n    );\n};\n\nexport default ButtonTabs;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './PillLabel.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PillLabelPropsT = {\n    theme: PillLabelThemeEnum;\n    isSymmetrical?: boolean;\n    isRounded?: boolean;\n    isNoWrap?: boolean;\n    className?: string;\n    testSelector?: string;\n};\n\nexport enum PillLabelThemeEnum {\n    black = 'black',\n    black30 = 'black-30',\n    charcoal = 'charcoal',\n    slate = 'slate',\n    grey = 'grey',\n    light = 'light',\n    light30 = 'light-30',\n    brandAccent = 'brand-accent',\n    brandAccent30 = 'brand-accent-30',\n    brandDark = 'brand-dark',\n    orange = 'orange',\n    azul = 'azul',\n    blazeOrange = 'blaze-orange',\n    tomatoRed = 'tomato-red',\n    tomatoRed70 = 'tomato-red-70',\n    pewterBlue = 'pewter-blue',\n    tumbleweed = 'tumbleweed',\n    lightSlateGray = 'light-slate-gray',\n}\n\n// confluence entity\nexport const colorCodingPillLabelTheme = {\n    normal: PillLabelThemeEnum.slate,\n    attention: PillLabelThemeEnum.orange,\n    warning: PillLabelThemeEnum.tomatoRed,\n    notImportant: PillLabelThemeEnum.grey,\n    success: PillLabelThemeEnum.brandAccent,\n    positive: PillLabelThemeEnum.brandAccent,\n    focus: PillLabelThemeEnum.charcoal,\n} as const;\n\nconst PillLabel: React.FC<PillLabelPropsT> = React.memo((props) => {\n    const { children, theme, testSelector, className, isRounded, isSymmetrical, isNoWrap } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('pill', {\n                    [`pill--theme-${theme}`]: true,\n                    [`pill--is-symmetrical`]: isSymmetrical,\n                    [`pill--is-rounded`]: isRounded,\n                    [`pill--is-no-wrap`]: isNoWrap,\n                }),\n                className,\n            )}\n            data-test-selector={`${testSelector}_pill`}\n        >\n            {children}\n        </div>\n    );\n});\n\nexport default PillLabel;\n","import {\n    FETCH_ORDERS_PAGE_REQUEST,\n    FETCH_ORDERS_PAGE_REQUEST_BEGIN,\n    FETCH_ORDERS_PAGE_REQUEST_ERROR,\n    FETCH_ORDERS_PAGE_REQUEST_SUCCESS,\n    FetchTransportOrdersPageActionT,\n    FetchTransportOrdersPageBeginActionT,\n    FetchTransportOrdersPageErrorActionT,\n    FetchTransportOrdersPageSuccessActionT,\n    RESET_ORDERS,\n    ResetTransportOrdersActionT,\n} from './types';\nimport { FetchTransportOrdersPageQueryT, TransportOrderT } from './models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchTransportOrdersPage = (\n    pageNumber: PageNumberT,\n    query: FetchTransportOrdersPageQueryT,\n    companyId: CompanyIdT,\n    options?: FetchOptionsT,\n): FetchTransportOrdersPageActionT => ({\n    type: FETCH_ORDERS_PAGE_REQUEST,\n    query,\n    pageNumber,\n    companyId,\n    options,\n});\n\nexport const fetchTransportOrdersPageBegin = (\n    query: FetchTransportOrdersPageQueryT,\n    pageNumber: PageNumberT,\n    companyId: CompanyIdT,\n): FetchTransportOrdersPageBeginActionT => ({\n    type: FETCH_ORDERS_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchTransportOrdersPageSuccess = (\n    query: FetchTransportOrdersPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<TransportOrderT> | null,\n    companyId: CompanyIdT,\n): FetchTransportOrdersPageSuccessActionT => ({\n    type: FETCH_ORDERS_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchTransportOrdersPageError = (\n    query: FetchTransportOrdersPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n    companyId: CompanyIdT,\n): FetchTransportOrdersPageErrorActionT => ({\n    type: FETCH_ORDERS_PAGE_REQUEST_ERROR,\n    query,\n    error,\n    pageNumber,\n    companyId,\n});\n\nexport const resetTransportOrders = (\n    companyId: CompanyIdT,\n    mutationListOptions: MutationListOptionsT,\n): ResetTransportOrdersActionT => ({\n    type: RESET_ORDERS,\n    companyId,\n    mutationListOptions,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"option--clear\":\"ManagementControl__option--clear___sDUKJ\",\"fadeIn\":\"ManagementControl__fadeIn___NWBah\",\"blinking\":\"ManagementControl__blinking___PpoUN\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"RemovedFromTeamCard__inner___iV_DE\",\"fadeIn\":\"RemovedFromTeamCard__fadeIn___HXk0M\",\"blinking\":\"RemovedFromTeamCard__blinking___Ue9np\"};","import {\n    FETCH_DRIVERS_REQUEST,\n    FETCH_DRIVERS_REQUEST_BEGIN,\n    FETCH_DRIVERS_REQUEST_ERROR,\n    FETCH_DRIVERS_REQUEST_SUCCESS,\n    FetchDriversActionT,\n    FetchDriversBeginActionT,\n    FetchDriversErrorActionT,\n    FetchDriversSuccessActionT,\n} from './types';\n\nimport { DriverT, SearchDriverQueryT } from './models';\n\nexport const fetchDrivers = (query: SearchDriverQueryT): FetchDriversActionT => ({\n    type: FETCH_DRIVERS_REQUEST,\n    query,\n});\n\nexport const fetchDriversBegin = (query: SearchDriverQueryT): FetchDriversBeginActionT => ({\n    type: FETCH_DRIVERS_REQUEST_BEGIN,\n    query,\n});\n\nexport const fetchDriversSuccess = (query: SearchDriverQueryT, drivers: DriverT[]): FetchDriversSuccessActionT => ({\n    type: FETCH_DRIVERS_REQUEST_SUCCESS,\n    drivers,\n    query,\n});\n\nexport const fetchDriversError = (query: SearchDriverQueryT, error: Error): FetchDriversErrorActionT => ({\n    type: FETCH_DRIVERS_REQUEST_ERROR,\n    error,\n    query,\n});\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './QuickActions.scss';\n\nimport Button from 'common/components/Button/Button';\nimport { useSelector } from 'react-redux';\nimport { selectBestOffers } from 'common/store/order-creation/selectors';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport history from 'common/utils/history';\nimport { CurrencyEnum, DEFAULT_ICON_SIZE, QueryKeysEnum, StyleGuideColorsEnum } from 'common/constants';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport Money from 'common/components/Money/Money';\nimport { useTranslation } from 'react-i18next';\nimport { formatQuery } from 'common/utils/query';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport ThumbUpIcon from 'common/icons/ThumbUpIcon';\nimport UrgentIcon from 'common/icons/UrgentIcon';\nimport { getDateFromISO } from 'common/utils/time';\n\nconst cx = classNames.bind(styles);\n\ntype QueryT = {};\n\ntype PropsT = {\n    className?: string;\n    isPartialLoadingOffers?: boolean;\n};\n\ntype QuickActionConfigT = {\n    offer: PriceOfferT | null;\n    testSelector: string;\n    icon: React.ReactNode;\n    title: React.ReactNode;\n};\n\nconst PRICE_SEPARATOR = ' - ';\n\nconst QuickActions: React.FC<PropsT> = React.memo((props) => {\n    const { className, isPartialLoadingOffers } = props;\n\n    const { t } = useTranslation();\n\n    const query = useQuery<QueryT>();\n\n    const bestOffers = useSelector(selectBestOffers);\n\n    const isLoading = isPartialLoadingOffers || !bestOffers;\n\n    const selectOffer = (priceOffer: PriceOfferT | null): void => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.orderCreationPickUpDate]: getDateFromISO(priceOffer?.pickupDockingHoursFrom),\n                [QueryKeysEnum.orderCreationDropOffDate]: getDateFromISO(priceOffer?.dropOffDockingHoursFrom),\n                [QueryKeysEnum.orderCreationPriceOfferId]: priceOffer?.id,\n            }),\n        });\n    };\n\n    const loaderIconNode = (\n        <ControlLoaderIcon opacity={1} size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.light} />\n    );\n\n    const actionsConfig: Array<QuickActionConfigT> = [\n        {\n            offer: bestOffers?.bestPrice || null,\n            testSelector: 'quick-actions_best-price',\n            icon: (\n                <ThumbUpIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandDark}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            ),\n            title: (\n                <span>\n                    {t('common:new-order-offers.quick-actions.best-price')}\n                    {bestOffers?.bestPrice && (\n                        <>\n                            {PRICE_SEPARATOR}\n                            <Money isRound amount={bestOffers.bestPrice.price} currency={CurrencyEnum.EUR} />\n                        </>\n                    )}\n                </span>\n            ),\n        },\n        {\n            offer: bestOffers?.urgent || null,\n            testSelector: 'quick-actions_urgent',\n            icon: <UrgentIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.squash} />,\n            title: (\n                <span>\n                    {t('common:new-order-offers.quick-actions.urgent')}\n                    {bestOffers?.urgent && (\n                        <>\n                            {PRICE_SEPARATOR}\n                            <Money isRound amount={bestOffers.urgent.price} currency={CurrencyEnum.EUR} />\n                        </>\n                    )}\n                </span>\n            ),\n        },\n    ];\n\n    const renderIcon = (actionConfig: QuickActionConfigT): React.ReactNode => {\n        if (isLoading) {\n            return loaderIconNode;\n        }\n\n        if (actionConfig.offer) {\n            return actionConfig.icon;\n        }\n\n        return null;\n    };\n\n    const renderTitle = (actionConfig: QuickActionConfigT): React.ReactNode => {\n        if (!isLoading && !actionConfig.offer) {\n            return null;\n        }\n\n        return actionConfig.title;\n    };\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            {actionsConfig.map((actionConfig, index) => {\n                if (!isLoading && !actionConfig.offer) {\n                    return <div className={cx('action')} key={index} />;\n                }\n\n                return (\n                    <div className={cx('action')} key={index}>\n                        <Button\n                            className={cx('button')}\n                            type=\"button\"\n                            horizontalSpaces=\"s\"\n                            isDisabled={actionConfig.offer?.isExpired}\n                            onClick={() => {\n                                if (actionConfig.offer) {\n                                    selectOffer(actionConfig.offer);\n                                }\n                            }}\n                            testSelector={actionConfig.testSelector}\n                            leftIcon={renderIcon(actionConfig)}\n                        >\n                            {renderTitle(actionConfig)}\n                        </Button>\n                    </div>\n                );\n            })}\n        </div>\n    );\n});\n\nexport default QuickActions;\n","// extracted by mini-css-extract-plugin\nexport default {\"footer\":\"AssetFailedActionFooter__footer___dQ7cJ\",\"copy-button\":\"AssetFailedActionFooter__copy-button___hUKXF\",\"fadeIn\":\"AssetFailedActionFooter__fadeIn___h8R8B\",\"blinking\":\"AssetFailedActionFooter__blinking___eOz9f\"};","import * as React from 'react';\nimport SideBarLoader from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLoader/SideBarLoader';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {};\n\nconst UploadLoader: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    return <SideBarLoader message={t('common:documents.upload-loader.message')} />;\n});\n\nexport default UploadLoader;\n","import UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport RouteIcon from 'common/icons/RouteIcon';\n\nexport const useDistanceRowsFactory = () => {\n    const { t } = useTranslation();\n\n    return React.useMemo(() => {\n        return {\n            totalDistance: (summaryDistanceKm: number | null) => ({\n                icon: <RouteIcon fillColor={StyleGuideColorsEnum.gray} />,\n                name: t('common:entity-details.columns.total-mileage'),\n                value: <UnitTypeCount type={UnitTypeEnum.kilometersAbbreviation} count={summaryDistanceKm} />,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                isBoldValue: true,\n                testSelector: 'total-mileage',\n            }),\n            summaryPayloadDistance: (summaryPayloadDistanceKm: number | null) => ({\n                icon: null,\n                name: t('common:entity-details.columns.payload-mileage'),\n                value: <UnitTypeCount type={UnitTypeEnum.kilometersAbbreviation} count={summaryPayloadDistanceKm} />,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                isBoldValue: true,\n                testSelector: 'payload-mileage',\n            }),\n            summaryDeadheadDistance: (summaryDeadheadDistanceKm: number | null) => ({\n                icon: null,\n                name: t('common:entity-details.columns.deadhead-mileage'),\n                value: <UnitTypeCount type={UnitTypeEnum.kilometersAbbreviation} count={summaryDeadheadDistanceKm} />,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                isBoldValue: true,\n                testSelector: 'deadhead-mileage',\n            }),\n        };\n    }, [t]);\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport moment from 'moment';\nimport { DocumentDetailsChangesT } from 'common/store/documents/models';\nimport { FAKE_NO_LIMIT_VALID_TILL_YEAR } from 'common/constants';\n\nconst VALID_TILL_FORMAT = 'YYYY-MM-DD';\n\nconst prepareApproveData = (\n    formValues: FormValuesT,\n    { isShowExpirationDate }: { isShowExpirationDate: boolean },\n): DocumentDetailsChangesT | null => {\n    const rawExpiration = formValues[FieldsEnum.expiration];\n\n    if (!isShowExpirationDate) {\n        return {\n            validTill: moment().add(FAKE_NO_LIMIT_VALID_TILL_YEAR, 'year').format(VALID_TILL_FORMAT),\n        };\n    }\n\n    if (!rawExpiration) {\n        return null;\n    }\n\n    return {\n        validTill: moment(rawExpiration).format(VALID_TILL_FORMAT),\n    };\n};\n\nexport default prepareApproveData;\n","import * as React from 'react';\nimport { RuleT } from 'broker-admin/store/price-settings/rules/models';\nimport PriceRuleTypePill from 'broker-admin/components/pills/PriceRuleTypePill/PriceRuleTypePill';\n\ntype PropsT = {\n    rule: RuleT;\n};\n\nconst TypeCell: React.FC<PropsT> = React.memo((props) => {\n    const { rule } = props;\n\n    return <PriceRuleTypePill ruleType={rule.ruleType} />;\n});\n\nexport default TypeCell;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './FiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport Input from 'common/components/Input/Input';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { QueryFiltersT } from '../query-models';\nimport { RFQShipperSourceEnum } from 'common/utils/api/models';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport PinIcon, { PinIconProps } from 'common/icons/PinIcon';\n\nimport { mergeQueryFilters } from 'common/utils/query';\nimport UserDropdown from 'common/components/dropdowns/UserDropdown/UserDropdown';\nimport SelectedFilters from '../SelectedFilters/SelectedFilters';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport ShippersSuggest from 'broker-admin/components/dropdowns/ShippersSuggest/ShippersSuggest';\n\nimport RFQBrokerSourceMultipleDropdown from 'common/components/dropdowns/RFQBrokerSourceMultipleDropdown/RFQBrokerSourceMultipleDropdown';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n    isShowShipperFilter?: boolean;\n    isShowSourceFilter?: boolean;\n    isShowExtendedSourceFilter?: boolean;\n};\n\ntype SourceTypeOptionT = { label: string; value: RFQShipperSourceEnum | null };\n\nconst FiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const {\n        onClose,\n        setQueryFilters,\n        queryFilters,\n        isShowSourceFilter,\n        isShowExtendedSourceFilter,\n        isShowShipperFilter,\n    } = props;\n\n    const { partnerId } = usePartnerContext();\n\n    const { t } = useTranslation();\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const initialValues = React.useMemo(() => getInitialValues(), []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const newQueryFilters = getQueryFilters(values);\n            const mergedQueryFilters = mergeQueryFilters(initialQueryFilters, newQueryFilters);\n\n            setQueryFilters(mergedQueryFilters);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    const sourceOptions: Array<SourceTypeOptionT> = React.useMemo(\n        () => [\n            {\n                label: t('common:rfqs-page.table.filters.source-type.all'),\n                value: null,\n            },\n            {\n                label: t('common:rfqs-page.table.filters.source-type.imported'),\n                value: RFQShipperSourceEnum.imported,\n            },\n            {\n                label: t('common:rfqs-page.table.filters.source-type.internal'),\n                value: RFQShipperSourceEnum.internal,\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('common:rfqs-page.table.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                {isShowShipperFilter && (\n                    <FormikField\n                        name={FieldsEnum.shipperIds}\n                        error={formik.errors[FieldsEnum.shipperIds]}\n                        meta={formik.getFieldMeta(FieldsEnum.shipperIds)}\n                        label={t('common:rfqs-page.table.filters.fields.shipper.value')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <ShippersSuggest\n                                values={formik.values[FieldsEnum.shipperIds]}\n                                hasClearControl\n                                onSelect={(shipperIds, shipperOptions) => {\n                                    const valueChanges: Partial<FormValuesT> = {\n                                        [FieldsEnum.shipperIds]: [],\n                                        [FieldsEnum.shipperNames]: [],\n                                    };\n\n                                    shipperIds.forEach((shipperId, index) => {\n                                        const shipperOption = shipperOptions?.[index];\n                                        if (shipperId) {\n                                            valueChanges[FieldsEnum.shipperIds]?.push(shipperId);\n                                            valueChanges[FieldsEnum.shipperNames]?.push(shipperOption.name || '');\n                                        }\n                                    });\n\n                                    formik.setValues((prevValues) => ({\n                                        ...prevValues,\n                                        ...valueChanges,\n                                    }));\n                                }}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                placeholder={t('common:rfqs-page.table.filters.fields.shipper.placeholder')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                )}\n                <FormikField\n                    className={cx('field')}\n                    name={FieldsEnum.pickupAddress}\n                    error={formik.errors[FieldsEnum.pickupAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.pickupAddress)}\n                    label={t('common:rfqs-page.table.filters.fields.pickup-address.value')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.pickupAddress}\n                            value={formik.values[FieldsEnum.pickupAddress] || ''}\n                            placeholder={t('common:rfqs-page.table.filters.fields.pickup-address.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field')}\n                    name={FieldsEnum.dropoffAddress}\n                    error={formik.errors[FieldsEnum.dropoffAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.dropoffAddress)}\n                    label={t('common:rfqs-page.table.filters.fields.dropoff-address.value')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.dropoffAddress}\n                            value={formik.values[FieldsEnum.dropoffAddress] || ''}\n                            placeholder={t('common:rfqs-page.table.filters.fields.dropoff-address.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.pickupDates}\n                        error={formik.errors[FieldsEnum.pickupDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.pickupDates)}\n                        label={t('common:rfqs-page.table.filters.fields.pickup-dates.value')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.pickupDates]}\n                                placeholder={t('common:rfqs-page.table.filters.fields.pickup-dates.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.dropoffDates}\n                        error={formik.errors[FieldsEnum.dropoffDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.dropoffDates)}\n                        label={t('common:rfqs-page.table.filters.fields.drop-off-dates.value')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.dropoffDates]}\n                                placeholder={t('common:rfqs-page.table.filters.fields.drop-off-dates.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.createDates}\n                        error={formik.errors[FieldsEnum.createDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.createDates)}\n                        label={t('common:rfqs-page.table.filters.fields.create-dates.value')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.createDates]}\n                                placeholder={t('common:rfqs-page.table.filters.fields.create-dates.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--created')}\n                        name={FieldsEnum.createdById}\n                        error={formik.errors[FieldsEnum.createdById]}\n                        meta={formik.getFieldMeta(FieldsEnum.createdById)}\n                        label={t('common:rfqs-page.table.filters.fields.created-by.value')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <UserDropdown\n                                value={formik.values[FieldsEnum.createdById]}\n                                onChange={(createdById, createdByName) => {\n                                    formik.setValues((prevValues) => {\n                                        return {\n                                            ...prevValues,\n                                            [FieldsEnum.createdByName]: createdByName || null,\n                                            [FieldsEnum.createdById]: createdById,\n                                        };\n                                    });\n                                }}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                companyId={partnerId}\n                                placeholder={t('common:rfqs-page.table.filters.fields.created-by.placeholder')}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--trailer-type')}\n                        name={FieldsEnum.dictTrailerId}\n                        error={formik.errors[FieldsEnum.dictTrailerId]}\n                        meta={formik.getFieldMeta(FieldsEnum.dictTrailerId)}\n                        label={t('common:rfqs-page.table.filters.fields.trailer-type.value')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DictTrailerDropdown\n                                placeholder={t('common:rfqs-page.table.filters.fields.trailer-type.placeholder')}\n                                value={formik.values[FieldsEnum.dictTrailerId]}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    {isShowSourceFilter && (\n                        <FormikField\n                            className={cx('field', 'field--source')}\n                            name={FieldsEnum.source}\n                            error={formik.errors[FieldsEnum.source]}\n                            meta={formik.getFieldMeta(FieldsEnum.source)}\n                            label={t('common:rfqs-page.table.filters.fields.source.value')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DropdownInput<SourceTypeOptionT, SourceTypeOptionT['value']>\n                                    selectedValue={formik.values[FieldsEnum.source]}\n                                    placeholder=\"\"\n                                    options={sourceOptions}\n                                    onSelect={props.onChange}\n                                    renderOption={(option: SourceTypeOptionT | null | undefined, placeholder) => {\n                                        if (!option) {\n                                            return <span>{placeholder}</span>;\n                                        }\n\n                                        return <span>{option.label}</span>;\n                                    }}\n                                    getOptionValue={(option) => option.value}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                />\n                            )}\n                        </FormikField>\n                    )}\n                    {isShowExtendedSourceFilter && (\n                        <FormikField\n                            className={cx('field', 'field--source')}\n                            name={FieldsEnum.extendedSource}\n                            error={formik.errors[FieldsEnum.extendedSource]}\n                            meta={formik.getFieldMeta(FieldsEnum.extendedSource)}\n                            label={t('common:rfqs-page.table.filters.fields.source.value')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <RFQBrokerSourceMultipleDropdown\n                                    values={formik.values[FieldsEnum.extendedSource]}\n                                    placeholder={t('common:rfqs-page.table.filters.fields.source.placeholder')}\n                                    onSelect={props.onChange}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasClearControl\n                                />\n                            )}\n                        </FormikField>\n                    )}\n                </FieldGroup>\n            </SideBarLayout>\n            <FooterSideBarLayout hasPaddings>\n                <div className={cx('selected-filters')}>\n                    <SelectedFilters queryFilters={initialQueryFilters} setQueryFilters={setInitialQueryFilters} />\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('common:rfqs-page.table.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default FiltersSidebarContent;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_INVOICES_PAGE_REQUEST, FetchInvoicesPageActionT } from './types';\nimport { fetchInvoicesPageBegin, fetchInvoicesPageError, fetchInvoicesPageSuccess, resetInvoices } from './actions';\nimport { selectInvoicesPages, selectInvoicesQuery } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { invoicesPaginationChannel } from './channels';\nimport { PageResponseT } from 'common/utils/pagination/models';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { BrokerInvoiceT } from 'broker-admin/store/invoices/models';\nimport { DepreactedPagingStateT } from 'shipper/store/invoices/models';\n\nfunction* fetchInvoicesSaga(action: FetchInvoicesPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query: rawQuery, options } = action;\n\n    const query: typeof rawQuery = {\n        ...rawQuery,\n    };\n\n    const prevQuery: ReturnType<typeof selectInvoicesQuery> = yield select(selectInvoicesQuery);\n    const pages: ReturnType<typeof selectInvoicesPages> = yield select(selectInvoicesPages);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetInvoices({ savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchInvoicesPageBegin(query, pageNumber));\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.fetchBrokerInvoicesPage> =\n        yield brokerTranziitApi.fetchBrokerInvoicesPage({\n            ...query,\n            page: pageNumber,\n        });\n\n    if (error) {\n        yield put(fetchInvoicesPageError(query, pageNumber, error));\n        return;\n    }\n\n    const items = response?.data || [];\n\n    const preparedResponse: PageResponseT<BrokerInvoiceT> = {\n        content: items.map((item): BrokerInvoiceT => {\n            return {\n                id: String(Math.random() * 10000),\n                ...item,\n            };\n        }),\n        totalPages: 1,\n        totalElements: items?.length || 0,\n    };\n\n    const pagingTokens: DepreactedPagingStateT = {\n        hasMore: response?.hasMore || false,\n        startingAfter: response?.startingAfter || null,\n        endingBefore: response?.endingBefore || null,\n    };\n\n    yield put(fetchInvoicesPageSuccess(query, pageNumber, preparedResponse, pagingTokens));\n\n    checkShouldEmitChangePage(pageNumber, preparedResponse, invoicesPaginationChannel);\n}\n\nfunction* invoicesSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_INVOICES_PAGE_REQUEST, fetchInvoicesSaga);\n}\n\nexport { invoicesSaga };\n","import * as React from 'react';\nimport { MapPinThemeEnum, MapPointPropsT } from 'common/components/maps/MapPin/MapPin';\nimport MapStackClusterPin from 'common/components/maps/MapStackClusterPin/MapStackClusterPin';\nimport { PointGeoJsonPropertiesT } from '../models';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport { StopTypeEnum } from 'common/utils/api/models';\nimport LinkDropOffIcon, { getLinkDropOffIconProps } from 'common/icons/LinkDropOffIcon';\nimport TruckDropOffIcon, { getTruckDropOffIconProps } from 'common/icons/TruckDropOffIcon';\nimport TrailerDropOffIcon, { getTrailerDropOffIconProps } from 'common/icons/TrailerDropOffIcon';\nimport LinkPickUpIcon, { getLinkPickUpIconProps } from 'common/icons/LinkPickUpIcon';\nimport TruckPickUpIcon, { getTruckPickUpIconProps } from 'common/icons/TruckPickUpIcon';\nimport TrailerPickUpIcon, { getTrailerPickUpIconProps } from 'common/icons/TrailerPickUpIcon';\nimport WaypointNumberPinContent from 'common/components/maps/pins/content/WaypointNumberPinContent/WaypointNumberPinContent';\nimport BoatIcon from 'common/icons/BoatIcon';\n\ntype PropsT = {\n    className?: string;\n    lat?: number | undefined;\n    lng?: number | undefined;\n    clusterId: number;\n    onClusterClick: (clusterId: number) => void;\n    clusterProperties: Array<PointGeoJsonPropertiesT>;\n    withoutArrow?: boolean;\n};\n\nconst PointStackClusterPin: React.FC<PropsT> = React.memo((props) => {\n    const { className, lat, lng, onClusterClick, clusterId, clusterProperties, withoutArrow } = props;\n\n    const pointProps: Array<Partial<MapPointPropsT>> = [];\n\n    clusterProperties.forEach((pointProperties: PointGeoJsonPropertiesT) => {\n        if (pointProperties.type === 'trailer-last-point') {\n            pointProps.push({\n                theme: MapPinThemeEnum.brandDark,\n                children: (\n                    <TrailerIcon\n                        fillColor={StyleGuideColorsEnum.brandDark}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        size={DEFAULT_ICON_SIZE}\n                    />\n                ),\n            });\n        }\n\n        if (pointProperties.type === 'truck-last-point') {\n            pointProps.push({\n                theme: MapPinThemeEnum.brandDark,\n                children: (\n                    <TruckIcon\n                        fillColor={StyleGuideColorsEnum.brandDark}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        size={DEFAULT_ICON_SIZE}\n                    />\n                ),\n            });\n        }\n\n        if (pointProperties.type === 'waypoint-point') {\n            const { waypoint } = pointProperties;\n\n            const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n            switch (waypoint.type) {\n                case StopTypeEnum.pickupTruck: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: <TruckPickUpIcon {...getTruckPickUpIconProps('assignment-normal')} />,\n                    });\n                    break;\n                }\n                case StopTypeEnum.pickupTrailer: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: <TrailerPickUpIcon {...getTrailerPickUpIconProps('assignment-normal')} />,\n                    });\n                    break;\n                }\n                case StopTypeEnum.pickupRoadTrain: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: <LinkPickUpIcon {...getLinkPickUpIconProps('assignment-normal')} />,\n                    });\n                    break;\n                }\n                case StopTypeEnum.ferryDisembark:\n                case StopTypeEnum.ferryOnboard: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: (\n                            <BoatIcon\n                                size={DEFAULT_ICON_SIZE}\n                                fillColor={StyleGuideColorsEnum.brandDark}\n                                strokeColor={StyleGuideColorsEnum.white}\n                            />\n                        ),\n                    });\n                    break;\n                }\n                case StopTypeEnum.driveThrough:\n                case StopTypeEnum.dropAndHook:\n                case StopTypeEnum.pickupDeliveryShipment: {\n                    let theme = MapPinThemeEnum.charcoal;\n\n                    if (waypoint.type === StopTypeEnum.driveThrough) {\n                        theme = MapPinThemeEnum.gray;\n                    }\n\n                    if (isVisited) {\n                        theme = MapPinThemeEnum.brandDark;\n                    }\n\n                    pointProps.push({\n                        theme,\n                        hasPaddings: false,\n                        children: (\n                            <WaypointNumberPinContent withPaddings key={`route-point-${waypoint.id}`}>\n                                {(waypoint.index || 0) + 1}\n                            </WaypointNumberPinContent>\n                        ),\n                    });\n                    break;\n                }\n                case StopTypeEnum.dropTrailer: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: <TrailerDropOffIcon {...getTrailerDropOffIconProps('assignment-normal')} />,\n                    });\n                    break;\n                }\n                case StopTypeEnum.dropTruck: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: <TruckDropOffIcon {...getTruckDropOffIconProps('assignment-normal')} />,\n                    });\n                    break;\n                }\n                case StopTypeEnum.dropRoadTrain: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: <LinkDropOffIcon {...getLinkDropOffIconProps('assignment-normal')} />,\n                    });\n                    break;\n                }\n                default: {\n                    break;\n                }\n            }\n        }\n    });\n\n    if (!pointProps?.length) {\n        return null;\n    }\n\n    return (\n        <MapStackClusterPin\n            className={className}\n            lat={lat}\n            lng={lng}\n            pointProps={pointProps}\n            clusterId={clusterId}\n            onClusterClick={onClusterClick}\n            withoutArrow={withoutArrow}\n        />\n    );\n});\n\nexport default PointStackClusterPin;\n","import React from 'react';\nimport unset from 'lodash/unset';\n\nexport type UseAsyncFormErrorsT<AsyncErrorsT = {}> = {\n    asyncFormErrors: AsyncErrorsT;\n    resetAsyncFormErrors: (fieldName: string) => void;\n};\n\nconst useAsyncFormErrors = <T extends {}>(asyncErrors: T): UseAsyncFormErrorsT<T> => {\n    const [asyncFormErrors, setAsyncFormErrors] = React.useState<T>(asyncErrors);\n\n    React.useEffect(() => {\n        setAsyncFormErrors(asyncErrors);\n    }, [asyncErrors]);\n\n    const resetAsyncFormErrors = React.useCallback((fieldName: string) => {\n        setAsyncFormErrors((prevAsyncFormErrors) => {\n            const newAsyncFormErrors = { ...prevAsyncFormErrors };\n\n            // for remove nested fields\n            unset(newAsyncFormErrors, fieldName);\n\n            return newAsyncFormErrors;\n        });\n    }, []);\n\n    return {\n        asyncFormErrors,\n        resetAsyncFormErrors,\n    };\n};\n\nexport default useAsyncFormErrors;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { RemoteFile } from 'design-system/components/FilePickerInput/models';\nimport { ShipperContractDetailsT } from 'common/store/shipper-contract-details/models';\nimport moment from 'moment/moment';\nimport { DownloadDataT } from './models';\n\nconst getInitialValues = (\n    partnerId: PartnerIdT,\n    shipperContractDetails: ShipperContractDetailsT | null,\n): FormValuesT => {\n    return {\n        [FieldsEnum.name]: shipperContractDetails?.name || '',\n        [FieldsEnum.number]: shipperContractDetails?.number || '',\n\n        [FieldsEnum.activateDate]: shipperContractDetails?.validFrom\n            ? moment(shipperContractDetails?.validFrom).toDate()\n            : null,\n        [FieldsEnum.validTillDate]: shipperContractDetails?.validTill\n            ? moment(shipperContractDetails?.validTill).toDate()\n            : null,\n\n        [FieldsEnum.file]: new RemoteFile<DownloadDataT>({\n            name: shipperContractDetails?.fileName || '',\n            downloadData: {\n                shipperContractId: shipperContractDetails?.id || '-',\n                partnerId,\n            },\n        }),\n    };\n};\n\nexport default getInitialValues;\n","export enum FieldsEnum {\n    dateRange = 'date-range',\n    dropoffLocation = 'dropoff-location',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.dateRange]: DateRangeT | null;\n    [FieldsEnum.dropoffLocation]: LocationT | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxValue, checkMinValue, checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.expiration,\n    FieldsEnum.number,\n    FieldsEnum.name,\n    FieldsEnum.truckRateMode,\n    FieldsEnum.truckRate,\n    FieldsEnum.tiltRate,\n    FieldsEnum.boxRate,\n    FieldsEnum.tiltExpectedMileage,\n    FieldsEnum.boxExpectedMileage,\n    FieldsEnum.truckExpectedMileage,\n] as const;\n\nconst MILEAGE_FIELDS = [\n    FieldsEnum.tiltExpectedMileage,\n    FieldsEnum.boxExpectedMileage,\n    FieldsEnum.truckExpectedMileage,\n] as const;\n\nconst RATE_FIELDS = [FieldsEnum.truckRate, FieldsEnum.tiltRate, FieldsEnum.boxRate] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkMinValue(t, RATE_FIELDS, values, 0),\n        ...checkMaxValue(t, RATE_FIELDS, values, 2),\n        ...checkMinValue(t, MILEAGE_FIELDS, values, 0),\n        ...checkMaxValue(t, MILEAGE_FIELDS, values, 30000),\n    };\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './DeadheadCreationReceipt.scss';\nimport { DeadheadPreviewContextResponseT } from 'broker-admin/store/deadhead-creation/models';\nimport { useUtilizationRowsFactory } from 'broker-admin/components/tour-receipt-details/hooks/utilization-rows-factory';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport isNumber from 'lodash/isNumber';\nimport ButtonGroup from 'design-system/components/ButtonGroup/ButtonGroup';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { TourTypeTabsEnum, AssetTypeTabsEnum } from './models';\nimport TourTypeTabsLayout, {\n    TourTypeTabConfigT,\n} from 'broker-admin/components/tour-receipt-details/TourTypeTabsLayout/TourTypeTabsLayout';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport ControlLoaderLabel from 'common/components/ControlLoaderLabel/ControlLoaderLabel';\nimport MileageInfoTable from 'broker-admin/components/tour-receipt-details/MileageInfoTable/MileageInfoTable';\nimport ReceiptPriceDetails from 'broker-admin/components/tour-receipt-details/ReceiptPriceDetails/ReceiptPriceDetails';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\nconst ASSET_TYPE_TAB_I18N_MAP: Record<AssetTypeTabsEnum, string> = {\n    [AssetTypeTabsEnum.train]: 'deadhead-creation.receipt.asset-type-tabs.train',\n    [AssetTypeTabsEnum.truck]: 'deadhead-creation.receipt.asset-type-tabs.truck',\n    [AssetTypeTabsEnum.trailer]: 'deadhead-creation.receipt.asset-type-tabs.trailer',\n};\n\ntype PropsT = {\n    className?: string;\n    contextPreview: DeadheadPreviewContextResponseT | null;\n    contextPreviewRequestStatus: RequestStatusT;\n    contextRequestStatus: RequestStatusT;\n    isNotActual?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DeadheadCreationReceipt: React.FC<PropsT> = React.memo((props) => {\n    const { className, contextPreview, contextPreviewRequestStatus, contextRequestStatus } = props;\n\n    const isNotActual = props.isNotActual || contextPreviewRequestStatus.loading || contextRequestStatus.loading;\n\n    const { t } = useTranslation();\n\n    const [selectedTourTypeTab, setSelectedTourTypeTab] = React.useState<TourTypeTabsEnum>(TourTypeTabsEnum.deadhead);\n\n    const [selectedAssetTypeTab, setSelectedAssetTypeTab] = React.useState<AssetTypeTabsEnum>(AssetTypeTabsEnum.train);\n\n    const availableAssetTypeTabs = React.useMemo((): Array<AssetTypeTabsEnum> => {\n        const tabs: Array<AssetTypeTabsEnum> = [];\n\n        if (\n            selectedTourTypeTab === TourTypeTabsEnum.deadhead &&\n            contextPreview?.calculatedSumCost &&\n            contextPreview?.calculatedTruckCost &&\n            contextPreview?.calculatedTrailerCost\n        ) {\n            tabs.push(AssetTypeTabsEnum.train);\n        }\n\n        const isNextTourAssetsLink =\n            contextPreview?.truckNextTransportationOrderInfo?.id &&\n            contextPreview?.trailerNextTransportationOrderInfo?.id &&\n            contextPreview?.truckNextTransportationOrderInfo?.id ===\n                contextPreview?.trailerNextTransportationOrderInfo?.id;\n        if (selectedTourTypeTab === TourTypeTabsEnum.nextTour && isNextTourAssetsLink) {\n            tabs.push(AssetTypeTabsEnum.train);\n        }\n\n        if (\n            selectedTourTypeTab === TourTypeTabsEnum.nextTour &&\n            !isNextTourAssetsLink &&\n            contextPreview?.truckNextTourNewCostDetails\n        ) {\n            tabs.push(AssetTypeTabsEnum.truck);\n        }\n\n        if (\n            selectedTourTypeTab === TourTypeTabsEnum.nextTour &&\n            !isNextTourAssetsLink &&\n            contextPreview?.trailerNextTourNewCostDetails\n        ) {\n            tabs.push(AssetTypeTabsEnum.trailer);\n        }\n\n        if (selectedTourTypeTab === TourTypeTabsEnum.deadhead && contextPreview?.calculatedTruckCost) {\n            tabs.push(AssetTypeTabsEnum.truck);\n        }\n\n        if (selectedTourTypeTab === TourTypeTabsEnum.deadhead && contextPreview?.calculatedTrailerCost) {\n            tabs.push(AssetTypeTabsEnum.trailer);\n        }\n\n        return tabs;\n    }, [selectedTourTypeTab, contextPreview]);\n\n    React.useEffect(() => {\n        setSelectedAssetTypeTab((prevAssetTypeTab) => {\n            if (!availableAssetTypeTabs.includes(prevAssetTypeTab)) {\n                return availableAssetTypeTabs[0] || null;\n            }\n\n            return prevAssetTypeTab;\n        });\n    }, [availableAssetTypeTabs]);\n\n    const utilizationRowsFactory = useUtilizationRowsFactory();\n\n    const tabsConfig: Array<TourTypeTabConfigT<TourTypeTabsEnum>> = React.useMemo(() => {\n        const config: Array<TourTypeTabConfigT<TourTypeTabsEnum>> = [\n            {\n                type: TourTypeTabsEnum.deadhead,\n                title: t('deadhead-creation.receipt.tout-type-tabs.new-deadhead'),\n                rows: [\n                    null,\n                    {\n                        moneyDiffProps: {\n                            value: contextPreview?.deadheadSumCost?.totalCost,\n                            baseValue: contextPreview?.deadheadSumCost?.totalCost,\n                        },\n                        coloredDiffProps: {\n                            isNotActual,\n                        },\n                        title: t('deadhead-creation.receipt.tout-type-tabs.actual-cost'),\n                        cost: contextPreview?.deadheadSumCost?.totalCost,\n                    },\n                ],\n            },\n        ];\n\n        if (contextPreview?.calculatedSumCost) {\n            config.push({\n                type: TourTypeTabsEnum.nextTour,\n                title: t('deadhead-creation.receipt.tout-type-tabs.next-tours'),\n                titleTooltip: t('deadhead-creation.receipt.tout-type-tabs.next-tours-tooltip-note'),\n                rows: [\n                    {\n                        moneyDiffProps: {\n                            value: contextPreview.calculatedSumCost.totalCost,\n                            baseValue: contextPreview.calculatedSumCost.totalCost,\n                        },\n                        coloredDiffProps: {\n                            isNotActual,\n                        },\n                        title: t('deadhead-creation.receipt.tout-type-tabs.planned-cost'),\n                        cost: contextPreview.calculatedSumCost.totalCost,\n                    },\n                    {\n                        moneyDiffProps: {\n                            value: contextPreview.calculatedSumCost.totalCost,\n                            baseValue: contextPreview.calculatedSumCost.totalCost,\n                        },\n                        coloredDiffProps: {\n                            isNotActual,\n                        },\n                        title: t('deadhead-creation.receipt.tout-type-tabs.updated-cost'),\n                        cost: contextPreview.calculatedSumCost.totalCost,\n                    },\n                ],\n            });\n        }\n\n        return config;\n    }, [contextPreview, isNotActual, t]);\n\n    const utilizationDetails: Array<InfoTableRowT> = React.useMemo(() => {\n        const rows: Array<InfoTableRowT> = [];\n\n        if (!contextPreview) {\n            return rows;\n        }\n\n        const isSameCarrier =\n            contextPreview.truckCarrier &&\n            contextPreview.trailerCarrier &&\n            contextPreview.truckCarrier?.id === contextPreview.trailerCarrier?.id;\n\n        if (isSameCarrier && contextPreview.truckCarrier) {\n            rows.push({\n                ...utilizationRowsFactory.trainCarrier({\n                    carrierCountryCode: contextPreview.truckCarrier.country,\n                    carrierName: contextPreview.truckCarrier.name || '',\n                    utilizationAfter: contextPreview.truckCarrierUtilizationAfter,\n                    utilizationBefore: contextPreview.truckCarrierUtilizationBefore,\n                }),\n            });\n        }\n\n        if (!isSameCarrier && contextPreview.truckCarrier) {\n            rows.push({\n                ...utilizationRowsFactory.truckCarrier({\n                    carrierCountryCode: contextPreview.truckCarrier.country,\n                    carrierName: contextPreview.truckCarrier.name || '',\n                    utilizationAfter: contextPreview.truckCarrierUtilizationAfter,\n                    utilizationBefore: contextPreview.truckCarrierUtilizationBefore,\n                }),\n            });\n        }\n\n        if (!isSameCarrier && contextPreview.trailerCarrier) {\n            rows.push({\n                ...utilizationRowsFactory.trailerCarrier({\n                    carrierCountryCode: contextPreview.trailerCarrier.country,\n                    carrierName: contextPreview.trailerCarrier.name || '',\n                    utilizationAfter: contextPreview.trailerCarrierUtilizationAfter,\n                    utilizationBefore: contextPreview.trailerCarrierUtilizationBefore,\n                }),\n            });\n        }\n\n        if (isNumber(contextPreview.truckUtilizationBefore)) {\n            rows.push({\n                ...utilizationRowsFactory.truck({\n                    model: contextPreview.truckCarrier?.name || '',\n                    plateNumber: contextPreview.truckCarrier?.name || '',\n                    utilizationBefore: contextPreview.truckUtilizationBefore,\n                    utilizationAfter: contextPreview.truckUtilizationAfter,\n                }),\n            });\n        }\n\n        if (isNumber(contextPreview.trailerUtilizationBefore)) {\n            rows.push({\n                ...utilizationRowsFactory.trailer({\n                    model: contextPreview.trailerCarrier?.name || '',\n                    plateNumber: contextPreview.trailerCarrier?.name || '',\n                    utilizationBefore: contextPreview.trailerUtilizationBefore,\n                    utilizationAfter: contextPreview.trailerUtilizationAfter,\n                }),\n            });\n        }\n\n        return rows;\n    }, [contextPreview, utilizationRowsFactory]);\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <TourTypeTabsLayout\n                selectedType={selectedTourTypeTab}\n                onSelectType={setSelectedTourTypeTab}\n                className={cx('tour-type-tabs')}\n                tabsConfig={tabsConfig}\n            />\n            <InfoTable shouldRenderIcons rows={utilizationDetails} className={cx('table', 'table--utilization')} />\n            <ButtonGroup className={cx('asset-type-tabs')}>\n                {availableAssetTypeTabs.map((assetTypeTab) => {\n                    const isSelected = assetTypeTab === selectedAssetTypeTab;\n\n                    return (\n                        <Button\n                            key={assetTypeTab}\n                            theme={ButtonThemeEnum.transparent}\n                            testSelector={assetTypeTab}\n                            isToggled={isSelected}\n                            onClick={() => {\n                                setSelectedAssetTypeTab(assetTypeTab);\n                            }}\n                        >\n                            {t(ASSET_TYPE_TAB_I18N_MAP[assetTypeTab])}\n                        </Button>\n                    );\n                })}\n            </ButtonGroup>\n            {selectedAssetTypeTab === AssetTypeTabsEnum.train && selectedTourTypeTab === TourTypeTabsEnum.deadhead && (\n                <ReceiptPriceDetails\n                    label={t('deadhead-creation.receipt.costs-type.train')}\n                    className={cx('receipt')}\n                    costs={contextPreview?.calculatedSumCost}\n                />\n            )}\n            {selectedAssetTypeTab === AssetTypeTabsEnum.truck && selectedTourTypeTab === TourTypeTabsEnum.deadhead && (\n                <ReceiptPriceDetails\n                    label={t('deadhead-creation.receipt.costs-type.truck')}\n                    className={cx('receipt')}\n                    costs={contextPreview?.calculatedTruckCost}\n                />\n            )}\n            {selectedAssetTypeTab === AssetTypeTabsEnum.trailer &&\n                selectedTourTypeTab === TourTypeTabsEnum.deadhead && (\n                    <ReceiptPriceDetails\n                        label={t('deadhead-creation.receipt.costs-type.trailer')}\n                        className={cx('receipt')}\n                        costs={contextPreview?.calculatedTrailerCost}\n                        isHideFuelPrice\n                    />\n                )}\n            {selectedAssetTypeTab === AssetTypeTabsEnum.truck && selectedTourTypeTab === TourTypeTabsEnum.nextTour && (\n                <ReceiptPriceDetails\n                    label={\n                        contextPreview?.truckCarrier && contextPreview?.truckNextTransportationOrderInfo ? (\n                            <Link\n                                target=\"_blank\"\n                                theme={LinkThemeEnum.boldBrandDark}\n                                to={urlFactory.partnerTransportOrderDetails(\n                                    PartnerTypeEnum.carrier,\n                                    contextPreview.truckCarrier.id,\n                                    contextPreview.truckNextTransportationOrderInfo.id,\n                                )}\n                            >\n                                {t('deadhead-creation.receipt.costs-type.transport-order', {\n                                    transportOrderNumber: contextPreview?.truckNextTransportationOrderInfo?.number,\n                                })}\n                            </Link>\n                        ) : null\n                    }\n                    className={cx('receipt')}\n                    costs={contextPreview?.truckNextTourNewCostDetails}\n                    prevCosts={contextPreview?.truckNextTourOldCostDetails}\n                />\n            )}\n            {selectedAssetTypeTab === AssetTypeTabsEnum.trailer &&\n                selectedTourTypeTab === TourTypeTabsEnum.nextTour && (\n                    <ReceiptPriceDetails\n                        label={\n                            contextPreview?.trailerCarrier && contextPreview?.trailerNextTransportationOrderInfo ? (\n                                <Link\n                                    target=\"_blank\"\n                                    theme={LinkThemeEnum.boldBrandDark}\n                                    to={urlFactory.partnerTransportOrderDetails(\n                                        PartnerTypeEnum.carrier,\n                                        contextPreview?.trailerCarrier?.id,\n                                        contextPreview?.trailerNextTransportationOrderInfo?.id,\n                                    )}\n                                >\n                                    {t('deadhead-creation.receipt.costs-type.transport-order', {\n                                        transportOrderNumber:\n                                            contextPreview?.trailerNextTransportationOrderInfo?.number,\n                                    })}\n                                </Link>\n                            ) : null\n                        }\n                        className={cx('receipt')}\n                        costs={contextPreview?.trailerNextTourNewCostDetails}\n                        prevCosts={contextPreview?.trailerNextTourOldCostDetails}\n                    />\n                )}\n            {selectedAssetTypeTab === AssetTypeTabsEnum.train && selectedTourTypeTab === TourTypeTabsEnum.nextTour && (\n                <ReceiptPriceDetails\n                    label={\n                        contextPreview?.truckCarrier && contextPreview?.truckNextTransportationOrderInfo ? (\n                            <Link\n                                target=\"_blank\"\n                                theme={LinkThemeEnum.boldBrandDark}\n                                to={urlFactory.partnerTransportOrderDetails(\n                                    PartnerTypeEnum.carrier,\n                                    contextPreview.truckCarrier.id,\n                                    contextPreview.truckNextTransportationOrderInfo.id,\n                                )}\n                            >\n                                {t('deadhead-creation.receipt.costs-type.transport-order', {\n                                    transportOrderNumber: contextPreview?.truckNextTransportationOrderInfo?.number,\n                                })}\n                            </Link>\n                        ) : null\n                    }\n                    className={cx('receipt')}\n                    costs={contextPreview?.truckNextTourNewCostDetails}\n                    prevCosts={contextPreview?.truckNextTourOldCostDetails}\n                />\n            )}\n            {selectedAssetTypeTab === AssetTypeTabsEnum.train && (\n                <MileageInfoTable\n                    totalDistance={contextPreview?.calculatedSumCost?.distances?.totalDistance || null}\n                    payloadDistance={contextPreview?.calculatedSumCost?.payload?.distances || null}\n                    deadheadDistance={contextPreview?.calculatedSumCost?.deadhead?.distances || null}\n                    isNotActual={isNotActual}\n                />\n            )}\n            {selectedAssetTypeTab === AssetTypeTabsEnum.truck && (\n                <MileageInfoTable\n                    totalDistance={contextPreview?.calculatedTruckCost?.distances?.totalDistance || null}\n                    payloadDistance={contextPreview?.calculatedTruckCost?.payload?.distances || null}\n                    deadheadDistance={contextPreview?.calculatedTruckCost?.deadhead?.distances || null}\n                    isNotActual={isNotActual}\n                />\n            )}\n            {selectedAssetTypeTab === AssetTypeTabsEnum.trailer && (\n                <MileageInfoTable\n                    totalDistance={contextPreview?.calculatedTrailerCost?.distances?.totalDistance || null}\n                    payloadDistance={contextPreview?.calculatedTrailerCost?.payload?.distances || null}\n                    deadheadDistance={contextPreview?.calculatedTrailerCost?.deadhead?.distances || null}\n                    isNotActual={isNotActual}\n                />\n            )}\n            {(contextPreviewRequestStatus.loading ||\n                contextPreviewRequestStatus.error ||\n                contextRequestStatus.loading ||\n                contextRequestStatus.error) && (\n                <>\n                    <div className={cx('calculation__overlay')} />\n                    {(contextPreviewRequestStatus.loading || contextRequestStatus.loading) && (\n                        <div className={cx('calculation__loader')}>\n                            <ControlLoaderLabel isInvert>\n                                {t(\n                                    !contextPreview\n                                        ? 'deadhead-creation.receipt.loader.calculating'\n                                        : 'deadhead-creation.receipt.loader.re-calculating',\n                                )}\n                            </ControlLoaderLabel>\n                        </div>\n                    )}\n                </>\n            )}\n        </div>\n    );\n});\n\nexport default DeadheadCreationReceipt;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const carrierContractsRefreshChannel = new ViewEventChannel<{}>();\n","// extracted by mini-css-extract-plugin\nexport default {\"count\":\"NotificationsBarTrigger__count___Vk22k\",\"inner\":\"NotificationsBarTrigger__inner___Qp7Lc\",\"overlay\":\"NotificationsBarTrigger__overlay___E3o3Q\",\"header\":\"NotificationsBarTrigger__header___QfQPf\",\"header-count\":\"NotificationsBarTrigger__header-count___EPNND\",\"fadeIn\":\"NotificationsBarTrigger__fadeIn___ObYVY\",\"blinking\":\"NotificationsBarTrigger__blinking___EVeCD\"};","import * as React from 'react';\nimport { RFQT } from 'common/store/rfqs/models';\nimport RFQStatusPill from 'common/components/status-pill/RFQStatusPill/RFQStatusPill';\n\ntype PropsT = {\n    rfq: RFQT;\n};\n\nconst StatusCell: React.FC<PropsT> = React.memo((props) => {\n    const { rfq } = props;\n\n    return <RFQStatusPill isSymmetrical status={rfq?.status} />;\n});\n\nexport default StatusCell;\n","import { RFQDetailsT, RFQPriceOfferT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const FETCH_RFQ_DETAILS_REQUEST = 'common/rfq-details/FETCH_RFQ_DETAILS_REQUEST';\nexport const FETCH_RFQ_DETAILS_REQUEST_BEGIN = 'common/rfq-details/FETCH_RFQ_DETAILS_REQUEST_BEGIN';\nexport const FETCH_RFQ_DETAILS_REQUEST_ERROR = 'common/rfq-details/FETCH_RFQ_DETAILS_REQUEST_ERROR';\nexport const FETCH_RFQ_DETAILS_REQUEST_SUCCESS = 'common/rfq-details/FETCH_RFQ_DETAILS_REQUEST_SUCCESS';\n\nexport type RFQDetailsStateT = {\n    details: RFQDetailsT | null;\n    defaultOffer: RFQPriceOfferT | null;\n    requestStatus: RequestStatusT;\n};\n\nexport type RFQDetailsByIdStateT = Record<RFQIdT, RFQDetailsStateT>;\n\nexport type FetchRFQDetailsRequestActionT = {\n    type: typeof FETCH_RFQ_DETAILS_REQUEST;\n    id: RFQIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchRFQDetailsRequestBeginActionT = {\n    type: typeof FETCH_RFQ_DETAILS_REQUEST_BEGIN;\n    id: RFQIdT;\n};\n\nexport type FetchRFQDetailsRequestErrorActionT = {\n    type: typeof FETCH_RFQ_DETAILS_REQUEST_ERROR;\n    error: Error;\n    id: RFQIdT;\n};\n\nexport type FetchRFQDetailsRequestSuccessActionT = {\n    type: typeof FETCH_RFQ_DETAILS_REQUEST_SUCCESS;\n    details: RFQDetailsT | null;\n    defaultOffer: RFQPriceOfferT | null;\n    id: RFQIdT;\n};\n\nexport type RFQDetailsActionT =\n    | FetchRFQDetailsRequestActionT\n    | FetchRFQDetailsRequestBeginActionT\n    | FetchRFQDetailsRequestErrorActionT\n    | FetchRFQDetailsRequestSuccessActionT;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxLength, checkMinLength, checkNotEmpty, checkPhoneNumber } from 'common/utils/form-validators';\n\nconst validate = (t: TFunction, values: FormValuesT, isRegisteredUser: boolean): FormErrorsT => {\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, [FieldsEnum.firstName, FieldsEnum.lastName, FieldsEnum.phone], values),\n        ...checkMinLength(t, [FieldsEnum.firstName, FieldsEnum.lastName], values, 2),\n        ...checkMaxLength(t, [FieldsEnum.firstName, FieldsEnum.lastName], values, 255),\n        ...checkPhoneNumber(t, [FieldsEnum.phone], values),\n    };\n\n    if (!isRegisteredUser) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.password], values),\n        };\n    }\n\n    const isAcceptTerms = values[FieldsEnum.acceptTerms];\n    if (!isAcceptTerms) {\n        errors[FieldsEnum.acceptTerms] = t('common:form-errors.accept-terms');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import React from 'react';\n\nexport type PartnerPermissionsT = {\n    canImportTrucks: boolean;\n    canEditTrucks: boolean;\n    canActivateTrucks: boolean;\n    canArchiveTrucks: boolean;\n    canSetUnavailableTrucks: boolean;\n\n    canImportTrailers: boolean;\n    canEditTrailers: boolean;\n    canActivateTrailers: boolean;\n    canArchiveTrailers: boolean;\n    canSetUnavailableTrailers: boolean;\n\n    canUploadDocuments: boolean;\n    canVerifyDocuments: boolean;\n    canRevokeDocuments: boolean;\n    canEditDocuments: boolean;\n    canReviewDocuments: boolean;\n};\n\nexport type PartnerPermissionsContextT = Partial<PartnerPermissionsT>;\n\nconst PartnerPermissionsContext = React.createContext<PartnerPermissionsContextT>({});\n\nexport default PartnerPermissionsContext;\n","// eslint-disable-next-line no-restricted-exports\nexport { default } from './slice';\n","// extracted by mini-css-extract-plugin\nexport default {\"inline-loader\":\"InlineLoader__inline-loader___St0qk\",\"inner\":\"InlineLoader__inner___HhC_c\",\"fadeIn\":\"InlineLoader__fadeIn___NkNW1\",\"blinking\":\"InlineLoader__blinking___mM9ME\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"RouteForm__wrap___UY7ta\",\"form\":\"RouteForm__form___DiVdH\",\"footer-content\":\"RouteForm__footer-content___sFxIp\",\"actions\":\"RouteForm__actions___xuBwP\",\"action\":\"RouteForm__action___BixAS\",\"not-include-costs\":\"RouteForm__not-include-costs___IZZmH\",\"context-expiration-alert\":\"RouteForm__context-expiration-alert___hJb08\",\"route-point-fields\":\"RouteForm__route-point-fields___jQe3K\",\"route-points-divider\":\"RouteForm__route-points-divider___ZGFLS\",\"field--truck\":\"RouteForm__field--truck___l9jkf\",\"receipt\":\"RouteForm__receipt___MuZe2\",\"route-placeholder\":\"RouteForm__route-placeholder___uiVK_\",\"route-placeholder__icon\":\"RouteForm__route-placeholder__icon___UxFjh\",\"route-placeholder__text\":\"RouteForm__route-placeholder__text___Ls5nf\",\"receipt-wrap\":\"RouteForm__receipt-wrap___BFSz4\",\"receipt-wrap__loader\":\"RouteForm__receipt-wrap__loader___oLNgW\",\"fadeIn\":\"RouteForm__fadeIn___NF8YR\",\"blinking\":\"RouteForm__blinking___zcj8v\"};","// extracted by mini-css-extract-plugin\nexport default {\"line-loader\":\"LineLoader__line-loader___AXIPh\",\"line-loader--is-show\":\"LineLoader__line-loader--is-show___Wyyf8\",\"line-loader-scroll\":\"LineLoader__line-loader-scroll___rW8Xb\",\"fadeIn\":\"LineLoader__fadeIn___glmVv\",\"blinking\":\"LineLoader__blinking___y6a4T\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT, WaypointsFieldEnum } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\nimport isEmpty from 'lodash/isEmpty';\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {};\n\n    const waypointsFormValues = values[FieldsEnum.waypoints];\n    waypointsFormValues.forEach((waypointFormValues, index) => {\n        const waypointFormErrors: NonNullable<FormErrorsT[FieldsEnum.waypoints]>[number] = {\n            ...checkNotEmpty(t, [WaypointsFieldEnum.timeWindow], waypointFormValues),\n        };\n\n        if (!isEmpty(waypointFormErrors)) {\n            if (!errors[FieldsEnum.waypoints]) {\n                errors[FieldsEnum.waypoints] = [];\n            }\n\n            errors[FieldsEnum.waypoints][index] = waypointFormErrors;\n        }\n    });\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    size: number;\n};\n\nconst LogoIcon: React.FC<PropsT> = (props) => {\n    const { className, size } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" className={className} width={size} height={size} viewBox=\"0 0 31 30\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <g>\n                    <g transform=\"translate(-25 -20) translate(25 20)\">\n                        <ellipse cx=\"15.591\" cy=\"15\" fill=\"#8ABA2E\" rx=\"15.118\" ry=\"15\" />\n                        <path\n                            fill=\"#FFF\"\n                            fillRule=\"nonzero\"\n                            d=\"M20.428 22.8L16.195 22.8 16.195 7.2 20.428 7.2zM14.986 22.8L10.753 22.8 10.753 7.2 14.986 7.2zM14.986 5.4L10.753 5.4 10.753 1.2 14.986 1.2zM20.428 28.8L16.195 28.8 16.195 24.6 20.428 24.6z\"\n                        />\n                    </g>\n                </g>\n            </g>\n        </svg>\n    );\n};\n\nLogoIcon.displayName = 'LogoIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default LogoIcon;\n","import { CompanyT, VerificationProblemsT } from 'common/store/company/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\nexport const checkVerificationProblems = (company: CompanyT | null): VerificationProblemsT => {\n    if (!company) {\n        return {\n            any: false,\n            anyBasicInformation: false,\n            anyDocument: false,\n        };\n    }\n\n    const hasAnyBasicInformationProblem =\n        (company.type === PartnerTypeEnum.shipper && !company.billingAddressVerified) || !company.addressVerified;\n    const hasAnyDocumentProblem = !company.documentsVerified;\n\n    return {\n        any: hasAnyBasicInformationProblem || hasAnyDocumentProblem,\n        anyDocument: hasAnyDocumentProblem,\n        anyBasicInformation: hasAnyBasicInformationProblem,\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"link\":\"TableCellLink__link___WT5W6\",\"fadeIn\":\"TableCellLink__fadeIn___MRDK5\",\"blinking\":\"TableCellLink__blinking___t0VTK\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    opacity?: number;\n};\n\nconst DownloadIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, opacity, className, size } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <defs>\n                <path d=\"M0 0h18v18H0V0z\" id=\"fc40vzsiga\" />\n            </defs>\n            <path\n                d=\"M13.443 7.75H12.25V4a.752.752 0 0 0-.75-.75h-3a.752.752 0 0 0-.75.75v3.75H6.558c-.668 0-1.005.81-.533 1.283l3.442 3.442a.747.747 0 0 0 1.058 0l3.442-3.442c.473-.473.143-1.283-.524-1.283zm-8.693 7.5c0 .412.338.75.75.75h9c.412 0 .75-.338.75-.75a.752.752 0 0 0-.75-.75h-9a.752.752 0 0 0-.75.75z\"\n                xlinkHref=\"#fc40vzsiga\"\n                fill={fillColor}\n                fillOpacity={opacity || 1}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nDownloadIcon.displayName = 'DownloadIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.charcoal,\n    opacity: 1,\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default DownloadIcon;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TrailerPickUpIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path fill={fillColor} fillOpacity=\"0.3\" d=\"M17 3v8l-1 1v2h-2l-3-2V3h6z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M11.182 13.462c1.45 0 2.625 1.197 2.625 2.671 0 1.474-1.175 2.67-2.625 2.67-.061 0-.122-.002-.182-.006l-.001-1.505a1.166 1.166 0 001.335-1.158A1.163 1.163 0 0011 14.977v-1.51c.061-.003.122-.006.183-.006zm6.266 1.999v.783h-2.93a2.969 2.969 0 00-.027-.783h2.957zM18 2v10.235h-.844v3.004h-2.7l-.13-.084c-.442-1.314-1.669-2.265-3.109-2.265-.073 0-.146.002-.218.007L11 11h5V4h-5V2h7zm-1.585 10.234h-.41v1.662h.41v-1.662zM2.552 8.194h1.192v3.75c0 .413.338.75.75.75h3c.413 0 .75-.337.75-.75v-3.75h1.193c.667 0 1.005-.81.532-1.282L6.527 3.469a.747.747 0 00-1.058 0L2.027 6.912c-.473.472-.143 1.282.525 1.282zm4.942 6.056c.41 0 .744.331.75.739v1.955c0 .413-.337.75-.75.75h-3a.752.752 0 01-.75-.75V15c0-.412.338-.75.75-.75h3z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTrailerPickUpIcon.displayName = 'TrailerPickUpIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default TrailerPickUpIcon;\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getTrailerPickUpIconProps = (\n    preset: 'default' | 'selected' | 'assignment-events' | 'assignment-normal' | 'assignment-selected',\n): PropsT => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-events': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.brandAccent,\n            };\n        }\n        default: {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n    }\n};\n","import * as React from 'react';\nimport { ApiDocumentStatusT, DocumentStatusEnum } from 'common/utils/api/models';\nimport { PropsT as ColoredStatusLabelPropsT } from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport DocumentStatus from 'common/components/status/DocumentStatus/DocumentStatus';\nimport { useSelector } from 'react-redux';\nimport { selectProfileType } from 'common/store/auth/selectors';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiDocumentStatusT | null | undefined;\n    isRequiredDocument: boolean;\n    isSymmetrical?: boolean;\n};\n\ntype DocumentStatusColorMapT = Record<ApiDocumentStatusT, PillLabelThemeEnum>;\n\nconst requiredDocumentStatusColorMap: Record<AuthProfileTypeEnum, DocumentStatusColorMapT> = {\n    [AuthProfileTypeEnum.shipper]: {\n        [DocumentStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [DocumentStatusEnum.rejected]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.revoked]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.expired]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.archived]: colorCodingPillLabelTheme.normal,\n    },\n    [AuthProfileTypeEnum.carrier]: {\n        [DocumentStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [DocumentStatusEnum.rejected]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.revoked]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.expired]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.archived]: colorCodingPillLabelTheme.normal,\n    },\n    [AuthProfileTypeEnum.broker]: {\n        [DocumentStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [DocumentStatusEnum.rejected]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.revoked]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.expired]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.archived]: colorCodingPillLabelTheme.normal,\n    },\n};\n\nconst optionalDocumentStatusColorMap: Record<AuthProfileTypeEnum, DocumentStatusColorMapT> = {\n    [AuthProfileTypeEnum.shipper]: {\n        [DocumentStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [DocumentStatusEnum.rejected]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.archived]: colorCodingPillLabelTheme.normal,\n    },\n    [AuthProfileTypeEnum.carrier]: {\n        [DocumentStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [DocumentStatusEnum.rejected]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.archived]: colorCodingPillLabelTheme.normal,\n    },\n    [AuthProfileTypeEnum.broker]: {\n        [DocumentStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.attention,\n        [DocumentStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [DocumentStatusEnum.rejected]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [DocumentStatusEnum.archived]: colorCodingPillLabelTheme.normal,\n    },\n};\n\nconst DocumentStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, isRequiredDocument, ...restProps } = props;\n\n    const profileTypeEnum = useSelector(selectProfileType);\n\n    const documentStatusColorMap = isRequiredDocument ? requiredDocumentStatusColorMap : optionalDocumentStatusColorMap;\n\n    let theme: PillLabelThemeEnum;\n\n    // not upload\n    if (!status) {\n        theme = isRequiredDocument ? colorCodingPillLabelTheme.attention : PillLabelThemeEnum.slate;\n    } else {\n        theme = documentStatusColorMap[profileTypeEnum]?.[status];\n    }\n\n    return (\n        <PillLabel isNoWrap {...restProps} theme={theme}>\n            <DocumentStatus status={status} />\n        </PillLabel>\n    );\n});\n\nexport default DocumentStatusPill;\n","export const getHash = (carrierId: string, date: string): string => {\n    return `${carrierId}/${date}`;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"model\":\"ModelCell__model___LJmDH\",\"cabin-color\":\"ModelCell__cabin-color___Z_iFM\",\"fadeIn\":\"ModelCell__fadeIn___yfVPj\",\"blinking\":\"ModelCell__blinking___rJgMH\"};","import { SharableStateT } from 'common/store/models';\nimport { DriverAssigmentStateT } from './types';\nimport requestStatus from 'common/utils/request-status';\n\nexport const selectDriverAssignmentTourId = (state: SharableStateT): DriverAssigmentStateT['tourId'] =>\n    state.driverAssignment.tourId;\n\nexport const selectAssignmentRequestStatus = (state: SharableStateT): DriverAssigmentStateT['assigmentStatus'] =>\n    state?.driverAssignment?.assigmentStatus || requestStatus.initial;\n\nexport const selectReAssignmentRequestStatus = (state: SharableStateT): DriverAssigmentStateT['reAssigmentStatus'] =>\n    state.driverAssignment.reAssigmentStatus;\n","import * as React from 'react';\nimport AdditionalServiceLabel from 'common/components/AdditionalServiceLabel/AdditionalServiceLabel';\nimport { ApiBrokerAdditionalServiceTypeT, ApiCarrierAdditionalServiceTypeT } from 'common/utils/api/models';\n\ntype PropsT = {\n    type?: ApiCarrierAdditionalServiceTypeT | ApiBrokerAdditionalServiceTypeT;\n};\n\nconst AdditionalServiceFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { type } = props;\n\n    return <AdditionalServiceLabel type={type} />;\n});\n\nexport default AdditionalServiceFormatter;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\nexport type DeleteTeamConfirmationDataT = {\n    id: TeamIdT;\n};\n\ntype PropsT = {\n    data: DeleteTeamConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: DeleteTeamConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'delete-team';\n\nconst DeleteTeamConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.delete'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_delete`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('broker-users.dialogs.delete-team-confirmation.title')}\n                    message={t('broker-users.dialogs.delete-team-confirmation.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default DeleteTeamConfirmation;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ExpiredPartnerShipperContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst ExpiredPartnerShipperContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-expired\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ExpiredPartnerShipperContractCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"RulesTable__table___YXJDy\",\"table__header\":\"RulesTable__table__header___h_cdU\",\"table__header--checkbox\":\"RulesTable__table__header--checkbox___QQiDo\",\"table__header--name\":\"RulesTable__table__header--name___Nt569\",\"table__header--locations\":\"RulesTable__table__header--locations___I_AOO\",\"table__column\":\"RulesTable__table__column___pt7iI\",\"table__column--checkbox\":\"RulesTable__table__column--checkbox___JQKZk\",\"table__column--name\":\"RulesTable__table__column--name___zh1Rb\",\"table__column--locations\":\"RulesTable__table__column--locations___Ql04u\",\"table__column--target\":\"RulesTable__table__column--target___QWjO9\",\"table__column--valid-period\":\"RulesTable__table__column--valid-period___NeTBP\",\"table__column--create-update-dates\":\"RulesTable__table__column--create-update-dates___mqzh8\",\"table__column--type\":\"RulesTable__table__column--type___lKfdI\",\"table__column--controls\":\"RulesTable__table__column--controls___NuiN8\",\"fadeIn\":\"RulesTable__fadeIn___ISmfX\",\"blinking\":\"RulesTable__blinking___IzU9z\"};","// extracted by mini-css-extract-plugin\nexport default {\"action--next\":\"ChangeShipmentStatusFooter__action--next___DysNp\",\"tooltip\":\"ChangeShipmentStatusFooter__tooltip___apbL3\",\"alert\":\"ChangeShipmentStatusFooter__alert___cXhUJ\",\"fadeIn\":\"ChangeShipmentStatusFooter__fadeIn___SftUg\",\"blinking\":\"ChangeShipmentStatusFooter__blinking___tFiZg\"};","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { PartnerTypeEnum, ApiPartnerTypeT } from 'common/utils/api/models';\n\ntype PropsT = {\n    type: ApiPartnerTypeT | null | undefined;\n};\n\nconst PARTNER_TYPE_T_MAP: Record<PartnerTypeEnum, string> = {\n    [PartnerTypeEnum.carrier]: 'common:company-type.CARRIER',\n    [PartnerTypeEnum.shipper]: 'common:company-type.SHIPPER',\n    [PartnerTypeEnum.broker]: 'common:company-type.BROKER',\n};\n\nconst PILL_LABEL_MAP: Record<PartnerTypeEnum, PillLabelThemeEnum> = {\n    [PartnerTypeEnum.carrier]: PillLabelThemeEnum.charcoal,\n    [PartnerTypeEnum.shipper]: PillLabelThemeEnum.brandDark,\n    [PartnerTypeEnum.broker]: PillLabelThemeEnum.charcoal,\n};\n\nconst PartnerTypePill: React.FC<PropsT> = React.memo((props) => {\n    const { type } = props;\n\n    const { t } = useTranslation();\n\n    const label = type ? t(PARTNER_TYPE_T_MAP[type]) : null;\n\n    if (!label) {\n        return null;\n    }\n\n    return (\n        <PillLabel\n            theme={type ? PILL_LABEL_MAP[type] : PillLabelThemeEnum.charcoal}\n            testSelector=\"partner-type\"\n            isSymmetrical\n        >\n            {label}\n        </PillLabel>\n    );\n});\n\nexport default PartnerTypePill;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './AsyncSearchScrollableList.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport Input from 'common/components/Input/Input';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport SearchIcon from 'common/icons/SearchIcon';\nimport ListMessage, {\n    ListMessagePropsT,\n} from 'design-system/components/AsyncSearchScrollableList/ListMessage/ListMessage';\nimport BigEmptyIcon from 'common/icons/BigEmptyIcon';\nimport BigSearchIcon from 'common/icons/BigSearchIcon';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport isString from 'lodash/isString';\n\nconst cx = classNames.bind(styles);\n\ntype OptionKeyT = string | number;\n\ntype PropsT<T extends {}, M extends {}> = {\n    className?: string;\n    minHeightPx?: number;\n    requestStatus: RequestStatusT;\n    inputValue: string;\n    onChangeInputValue: (inputValue: string) => void;\n    inputPlaceholder?: string;\n    emptyMessage?: ListMessagePropsT;\n    notFoundMessage?: ListMessagePropsT;\n    optionsQuery: string | null;\n    initialOptions?: Array<T>;\n    options: Array<T>;\n    getOptionKey: (option: T) => OptionKeyT;\n    meta: M;\n    renderOption: (option: T, index: number, meta: M) => React.ReactNode;\n    isShowOverlay?: boolean;\n    listHeaderNode?: React.ReactNode;\n};\n\nconst BaseSearchScrollableList = <T extends {}, M extends {}>(props: PropsT<T, M>) => {\n    const {\n        className,\n        minHeightPx,\n        requestStatus,\n        inputValue,\n        onChangeInputValue,\n        inputPlaceholder,\n        emptyMessage,\n        notFoundMessage,\n        renderOption,\n        optionsQuery,\n        initialOptions,\n        options,\n        getOptionKey,\n        meta,\n        isShowOverlay,\n        listHeaderNode,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [isInitialized, setIsInitialized] = React.useState<boolean>(false);\n\n    React.useEffect(() => {\n        if (requestStatus.ok || requestStatus.error) {\n            setIsInitialized(true);\n        }\n    }, [requestStatus.ok, requestStatus.error]);\n\n    const isSearchActive = Boolean(inputValue.trim());\n\n    const shownInitialOptions = React.useMemo((): Array<T> => {\n        if (isSearchActive) {\n            return [];\n        }\n\n        return initialOptions || [];\n    }, [initialOptions, isSearchActive]);\n\n    const initialOptionKeySet = React.useMemo(() => {\n        return new Set<OptionKeyT>(shownInitialOptions?.map(getOptionKey) || []);\n    }, [getOptionKey, shownInitialOptions]);\n\n    const restOptions = React.useMemo(() => {\n        if (isSearchActive || !shownInitialOptions?.length) {\n            return options;\n        }\n\n        return options.filter((option) => !initialOptionKeySet.has(getOptionKey(option)));\n    }, [getOptionKey, initialOptionKeySet, isSearchActive, shownInitialOptions, options]);\n\n    const hasAnyOptions = shownInitialOptions.length > 0 || restOptions.length > 0;\n\n    return (\n        <div className={cs(cx('inner'), className)}>\n            <Input\n                name=\"search\"\n                value={inputValue}\n                className={cx('search-input')}\n                renderLeftIcon={() => {\n                    return requestStatus.loading && isInitialized ? (\n                        <ControlLoaderIcon fillColor={StyleGuideColorsEnum.gray} size={DEFAULT_ICON_SIZE} />\n                    ) : (\n                        <SearchIcon fillColor={StyleGuideColorsEnum.gray} />\n                    );\n                }}\n                placeholder={inputPlaceholder || t('common:common-components.select-list.input-placeholder')}\n                onChange={onChangeInputValue}\n                hasClearControl\n            />\n            <div className={cx('full-height-wrap')} style={{ minHeight: minHeightPx ? `${minHeightPx}px` : undefined }}>\n                <div className={cx('list')}>\n                    {listHeaderNode}\n                    {!isSearchActive &&\n                        shownInitialOptions.map((option, index) => {\n                            return renderOption(option, index, meta);\n                        })}\n                    {!isSearchActive && Boolean(shownInitialOptions?.length) && Boolean(restOptions?.length) && (\n                        <>\n                            <div className={cx('separator')} />\n                        </>\n                    )}\n                    {restOptions?.map((option, index) => {\n                        return renderOption(option, index + shownInitialOptions.length, meta);\n                    })}\n                    {!hasAnyOptions && (\n                        <>\n                            {isInitialized && isString(optionsQuery) && (\n                                <>\n                                    {optionsQuery ? (\n                                        <ListMessage\n                                            key=\"search\"\n                                            className={cx('message')}\n                                            icon={<BigSearchIcon />}\n                                            title={t('common:common-components.select-list.not-found-message.title')}\n                                            description={t(\n                                                'common:common-components.select-list.not-found-message.description',\n                                            )}\n                                            {...notFoundMessage}\n                                        />\n                                    ) : (\n                                        <ListMessage\n                                            key=\"empty\"\n                                            className={cx('message')}\n                                            icon={<BigEmptyIcon />}\n                                            title={t('common:common-components.select-list.empty-message.title')}\n                                            {...emptyMessage}\n                                        />\n                                    )}\n                                </>\n                            )}\n                            {!isInitialized && requestStatus.loading && (\n                                <div className={cx('loader')}>\n                                    <ControlLoaderIcon fillColor={StyleGuideColorsEnum.gray} size={DEFAULT_ICON_SIZE} />\n                                </div>\n                            )}\n                        </>\n                    )}\n                    {isShowOverlay && <div className={cx('overlay')} />}\n                </div>\n            </div>\n        </div>\n    );\n};\n\nconst AsyncSearchScrollableList = React.memo(BaseSearchScrollableList) as typeof BaseSearchScrollableList;\n\nexport default AsyncSearchScrollableList;\n","import React, { useCallback, useMemo } from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport keyBy from 'lodash/keyBy';\nimport { AsyncRequestFactoryT } from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport isNil from 'lodash/isNil';\nimport UserDropdownOptionLabel from 'common/components/dropdowns/options/UserDropdownOptionLabel/UserDropdownOptionLabel';\nimport { useAsyncFilterOptions } from 'design-system/components/dropdowns/DropdownSearchInput/hooks/use-async-filter-options';\n\ntype OptionT = {\n    surname?: string;\n    name?: string;\n    id?: UserIdT;\n};\n\ntype ValueT = OptionT['id'] | null;\n\nexport type PropsT = {\n    className?: string;\n    initialValue: ValueT;\n    initialLabel: string | null;\n    onSelect: (value: ValueT, label?: string) => void;\n    value: ValueT;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    hasClearControl?: boolean;\n};\n\nconst getOptionText = (option: OptionT): string => {\n    return [option.name, option.surname].map((item) => item || '').join(' ');\n};\n\nconst BrokerAdminUserSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialValue,\n        initialLabel,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        onBlur,\n        onFocus,\n        hasChanges,\n        hasClearControl,\n        placeholder,\n    } = props;\n\n    const initialOption = useMemo((): OptionT | null => {\n        if (!initialValue) {\n            return null;\n        }\n\n        return {\n            surname: '',\n            name: initialLabel || 'Unknown user',\n            id: initialValue,\n        };\n    }, [initialLabel, initialValue]);\n\n    const initialOptions = useMemo(() => {\n        if (!initialOption) {\n            return null;\n        }\n\n        return [initialOption];\n    }, [initialOption]);\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback(() => {\n        return brokerTranziitApi.fetchBrokerAdminUsers();\n    }, []);\n\n    const asyncFilterOptionsRequest = useAsyncFilterOptions<OptionT>({\n        initialOptions,\n        requestFactory,\n        getOptionText,\n        settings: {},\n    });\n\n    const optionByUserId = React.useMemo(() => {\n        return keyBy(asyncFilterOptionsRequest.options, 'id');\n    }, [asyncFilterOptionsRequest.options]);\n\n    const renderOption = (option?: OptionT, placeholder?: string): React.ReactNode => {\n        if (isNil(option)) {\n            return <UserDropdownOptionLabel label={placeholder || ''} isPlaceholder />;\n        }\n\n        return <UserDropdownOptionLabel label={getOptionText(option)} />;\n    };\n\n    const handleFocus = useCallback(() => {\n        if (onFocus) {\n            onFocus();\n        }\n\n        asyncFilterOptionsRequest.onRefresh();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onFocus, asyncFilterOptionsRequest.onRefresh]);\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            placeholder={placeholder}\n            options={asyncFilterOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={(value) => {\n                const option = value ? optionByUserId[value] : null;\n                const label = option ? getOptionText(option) : '';\n\n                onSelect(value, label);\n            }}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncFilterOptionsRequest.onChangeQuery}\n            renderRightIcon={() =>\n                asyncFilterOptionsRequest.requestStatus.loading ? (\n                    <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n                ) : null\n            }\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            getOptionValue={(option) => option?.id}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            onReset={\n                hasClearControl\n                    ? () => {\n                          onSelect(null);\n                      }\n                    : undefined\n            }\n        />\n    );\n};\n\nexport default BrokerAdminUserSuggest;\n","import * as React from 'react';\nimport { ApiPriceRuleTypeT, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './PriceRuleTypeLabel.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    ruleType: ApiPriceRuleTypeT | null | undefined;\n};\n\nexport const PRICE_RULE_TYPE_I18N_MAP: Record<ApiPriceRuleTypeT, string> = {\n    [PriceRuleTypeEnum.basic]: 'rule-type.basic',\n    [PriceRuleTypeEnum.carrier]: 'rule-type.carrier',\n    [PriceRuleTypeEnum.shipper]: 'rule-type.shipper',\n    [PriceRuleTypeEnum.custom]: 'rule-type.shipper',\n};\n\nconst PriceRuleTypeLabel: React.FC<PropsT> = React.memo((props) => {\n    const { ruleType, className } = props;\n\n    const { t } = useTranslation();\n\n    if (!ruleType) {\n        return null;\n    }\n\n    return <span className={cs(cx('type'), className)}>{t(PRICE_RULE_TYPE_I18N_MAP[ruleType])}</span>;\n});\n\nexport default PriceRuleTypeLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"AssetOptionLabel__option___FR8bx\",\"model\":\"AssetOptionLabel__model___NowRE\",\"plate-number\":\"AssetOptionLabel__plate-number___NDxMX\",\"details-trigger\":\"AssetOptionLabel__details-trigger___cwfLS\",\"fadeIn\":\"AssetOptionLabel__fadeIn___SpC0h\",\"blinking\":\"AssetOptionLabel__blinking___DZDI2\"};","import {\n    CLOSE_ERROR_MODAL,\n    OPEN_ERROR_MODAL,\n    RESET_LOGS,\n    CloseErrorModalActionT,\n    OpenErrorModalActionT,\n    ResetErrorLogsActionT,\n} from './types';\n\nexport const closeErrorModal = (): CloseErrorModalActionT => ({\n    type: CLOSE_ERROR_MODAL,\n});\n\nexport const openErrorModal = (): OpenErrorModalActionT => ({\n    type: OPEN_ERROR_MODAL,\n});\n\nexport const resetErrorLogs = (): ResetErrorLogsActionT => ({\n    type: RESET_LOGS,\n});\n","import { put, select } from 'redux-saga/effects';\nimport { fetchDocumentsDictBegin, fetchDocumentsDictError, fetchDocumentsDictSuccess } from './actions';\nimport { DOCUMENTS_DICT_REQUEST, FetchDocumentsDictActionT } from './types';\nimport { selectDocumentsDict, selectDocumentsDictRequest } from './selectors';\nimport isEmpty from 'lodash/isEmpty';\nimport prepareDictDocument from './utils/prepare-dict-document';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { semaphoreSaga } from 'common/utils/semaphore-saga';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { selectProfileType } from 'common/store/auth/selectors';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\n\nfunction* fetchDocumentsDictSaga(action: FetchDocumentsDictActionT): WrapGeneratorT<void> {\n    const { partnerType } = action;\n    if (!partnerType) {\n        return;\n    }\n\n    const profileType: ReturnType<typeof selectProfileType> = yield select(selectProfileType);\n\n    const currentDocumentsDict: ReReturnT<typeof selectDocumentsDict> = yield select(selectDocumentsDict(partnerType));\n    if (!isEmpty(currentDocumentsDict)) {\n        return;\n    }\n\n    const documentsDictRequest: ReReturnT<typeof selectDocumentsDictRequest> = yield select(\n        selectDocumentsDictRequest(partnerType),\n    );\n    if (documentsDictRequest.loading) {\n        return;\n    }\n\n    yield put(fetchDocumentsDictBegin(partnerType));\n\n    let documentDictResult: ReturnApiT<\n        typeof brokerTranziitApi.fetchDocumentsDict | typeof commonTranziitApi.fetchDocumentsDict\n    >;\n\n    if (profileType === AuthProfileTypeEnum.broker) {\n        documentDictResult = yield brokerTranziitApi.fetchDocumentsDict(partnerType);\n    } else {\n        documentDictResult = yield commonTranziitApi.fetchDocumentsDict();\n    }\n\n    const [error, documentsDict] = documentDictResult;\n\n    const preparedDocumentsDict = (documentsDict || []).map(prepareDictDocument);\n\n    if (error) {\n        yield put(fetchDocumentsDictError(partnerType, error));\n    } else {\n        yield put(fetchDocumentsDictSuccess(partnerType, preparedDocumentsDict));\n    }\n}\n\nfunction* documentDictSaga(): WrapGeneratorT<void> {\n    yield semaphoreSaga(DOCUMENTS_DICT_REQUEST, fetchDocumentsDictSaga);\n}\n\nexport default documentDictSaga;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormValuesT, FormErrorsT } from './constants';\nimport { checkNotEmpty, checkMaxValue, checkIsPositiveNumberOrZeroValue } from 'common/utils/form-validators';\n\nconst CREATION_REQUIRED_FIELDS = [\n    FieldsEnum.truckModel,\n    FieldsEnum.countryCode,\n    FieldsEnum.plateNumber,\n    FieldsEnum.vin,\n] as const;\n\nconst REQUIRED_FIELDS = [FieldsEnum.cabinColor] as const;\n\nconst RATE_FIELDS = [FieldsEnum.ratePerKm] as const;\n\nconst MAX_RATE = 10;\n\ntype MetaT = {\n    isCreation: boolean;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, meta: MetaT): FormErrorsT => {\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    if (meta?.isCreation) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, CREATION_REQUIRED_FIELDS, values),\n        };\n    }\n\n    if (values[FieldsEnum.contract] === null) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, RATE_FIELDS, values, t('common:trucks-page.add-truck.errors.required-rate')),\n            ...checkIsPositiveNumberOrZeroValue(t, RATE_FIELDS, values),\n            ...checkMaxValue(t, RATE_FIELDS, values, MAX_RATE),\n        };\n    }\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"pill\":\"PillLabel__pill___NSYWC\",\"pill--theme-black\":\"PillLabel__pill--theme-black___poaLl\",\"pill--theme-black-30\":\"PillLabel__pill--theme-black-30___O1_ph\",\"pill--theme-charcoal\":\"PillLabel__pill--theme-charcoal___r3G72\",\"pill--theme-grey\":\"PillLabel__pill--theme-grey___jV71z\",\"pill--theme-slate\":\"PillLabel__pill--theme-slate___mIYe8\",\"pill--theme-brand-dark\":\"PillLabel__pill--theme-brand-dark___aygiA\",\"pill--theme-light\":\"PillLabel__pill--theme-light____2ohZ\",\"pill--theme-light-30\":\"PillLabel__pill--theme-light-30___JPHEy\",\"pill--theme-brand-accent\":\"PillLabel__pill--theme-brand-accent___n8FiL\",\"pill--theme-brand-accent-30\":\"PillLabel__pill--theme-brand-accent-30___TvJQN\",\"pill--theme-orange\":\"PillLabel__pill--theme-orange___IaDNx\",\"pill--theme-azul\":\"PillLabel__pill--theme-azul___ajnqP\",\"pill--theme-tomato-red\":\"PillLabel__pill--theme-tomato-red___MaBIH\",\"pill--theme-tomato-red-70\":\"PillLabel__pill--theme-tomato-red-70___yQ28f\",\"pill--theme-blaze-orange\":\"PillLabel__pill--theme-blaze-orange___WZNhL\",\"pill--theme-pewter-blue\":\"PillLabel__pill--theme-pewter-blue___hc5_N\",\"pill--theme-tumbleweed\":\"PillLabel__pill--theme-tumbleweed___VTRre\",\"pill--theme-light-slate-gray\":\"PillLabel__pill--theme-light-slate-gray___akiBO\",\"pill--is-symmetrical\":\"PillLabel__pill--is-symmetrical___IySMa\",\"pill--is-rounded\":\"PillLabel__pill--is-rounded____KEbH\",\"pill--is-no-wrap\":\"PillLabel__pill--is-no-wrap___DN4EK\",\"fadeIn\":\"PillLabel__fadeIn___vFYrV\",\"blinking\":\"PillLabel__blinking___Y5_1c\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './CompletedPartnerDocumentCard.scss';\nimport { Trans } from 'react-i18next';\nimport { ApiDocumentTypeT, ApiPartnerTypeT } from 'common/utils/api/models';\nimport AsyncDictDocumentNameLabel from 'common/components/AsyncDictDocumentNameLabel/AsyncDictDocumentNameLabel';\nimport PartnerName from 'broker-admin/components/notification-cards/entities/PartnerName/PartnerName';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    partnerName: string;\n    partnerType: ApiPartnerTypeT | null;\n    documentType: ApiDocumentTypeT;\n};\n\nconst CompletedPartnerDocumentCard: React.FC<PropsT> = React.memo((props) => {\n    const { partnerName, partnerType, documentType } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-document-completed\"\n                components={{\n                    partnerName: <PartnerName partnerName={partnerName} />,\n                    documentName: (\n                        <AsyncDictDocumentNameLabel\n                            className={cx('document-name')}\n                            partnerType={partnerType}\n                            documentType={documentType}\n                        />\n                    ),\n                }}\n            />\n        </div>\n    );\n});\n\nexport default CompletedPartnerDocumentCard;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CostsCell.scss';\n\nimport Money from 'common/components/Money/Money';\nimport { CurrencyEnum } from 'common/constants';\nimport ColoredDiff from 'common/components/ColoredDiff/ColoredDiff';\nimport MoneyDiff from 'common/components/MoneyDiff/MoneyDiff';\n\ntype PropsT = {\n    basePrice: number | undefined;\n    lowestBidsPrice: number | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst CostsCell: React.FC<PropsT> = React.memo((props) => {\n    const { basePrice, lowestBidsPrice } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <div className={cx('money')}>\n                <Money amount={basePrice} currency={CurrencyEnum.EUR} />\n            </div>\n            <div className={cx('money')}>\n                <MoneyDiff baseValue={lowestBidsPrice} value={basePrice}>\n                    {(diff) => (\n                        <ColoredDiff diff={diff}>\n                            <Money amount={lowestBidsPrice} currency={CurrencyEnum.EUR} />\n                        </ColoredDiff>\n                    )}\n                </MoneyDiff>\n            </div>\n        </div>\n    );\n});\n\nexport default CostsCell;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { EvidenceOfTaxDetailsT } from 'common/store/documents/models';\n\nconst DEFAULT_VALUES: FormValuesT = {\n    [FieldsEnum.taxId]: '',\n    [FieldsEnum.vatNumber]: '',\n    [FieldsEnum.iban]: '',\n    [FieldsEnum.bic]: '',\n};\n\nconst getInitialValues = (evidenceOfTaxDetails: EvidenceOfTaxDetailsT | null): FormValuesT => {\n    if (!evidenceOfTaxDetails) {\n        return { ...DEFAULT_VALUES };\n    }\n\n    return {\n        [FieldsEnum.taxId]: evidenceOfTaxDetails.taxId || '',\n        [FieldsEnum.vatNumber]: evidenceOfTaxDetails.vat || '',\n        [FieldsEnum.iban]: evidenceOfTaxDetails.iban || '',\n        [FieldsEnum.bic]: evidenceOfTaxDetails.bic || '',\n    };\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ErrorTraceId__content___FP9qH\",\"fadeIn\":\"ErrorTraceId__fadeIn___tWRhm\",\"blinking\":\"ErrorTraceId__blinking___T0JaF\"};","import React from 'react';\n\nimport { useFormikContext } from 'formik';\nimport FormikField, {\n    FormikFieldChildrenPropsT,\n    FormikFieldPropsT,\n} from 'common/components/forms/FormikField/FormikField';\nimport get from 'lodash/get';\nimport FormAsyncErrorsContext from '../contexts/form-async-errors-context';\n\nexport type PropsT<TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>> = Omit<\n    FormikFieldPropsT<FieldPathValue<TFieldValues, TFieldPath>>,\n    'children' | 'name' | 'setFieldValue' | 'setFieldTouched' | 'meta'\n> & {\n    name: TFieldPath;\n    children: (\n        props: FormikFieldChildrenPropsT<FieldPathValue<TFieldValues, TFieldPath>>,\n        extendsProps: {\n            name: TFieldPath;\n            value: FieldPathValue<TFieldValues, TFieldPath>;\n        },\n    ) => React.ReactElement | null;\n};\n\nconst FormikConnectContextField = <TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>>(\n    props: PropsT<TFieldValues, TFieldPath>,\n) => {\n    const { name, children, ...restProps } = props;\n\n    const formik = useFormikContext<TFieldValues>();\n    const asyncErrorsContext = React.useContext(FormAsyncErrorsContext);\n\n    const value = get(formik.values, name);\n    const error = get(formik.errors, name);\n\n    const asyncError = get(asyncErrorsContext?.asyncFormErrors, name);\n\n    const extendsProps = React.useMemo(() => {\n        return {\n            name,\n            value,\n        };\n    }, [name, value]);\n\n    return (\n        <FormikField<FieldPathValue<TFieldValues, TFieldPath>>\n            name={name}\n            error={error}\n            meta={formik.getFieldMeta(name)}\n            setFieldValue={formik.setFieldValue}\n            setFieldTouched={formik.setFieldTouched}\n            asyncError={asyncError}\n            resetAsyncError={asyncErrorsContext?.resetAsyncFormErrors}\n            {...restProps}\n        >\n            {(props) => children(props, extendsProps)}\n        </FormikField>\n    );\n};\n\nexport default React.memo(FormikConnectContextField) as typeof FormikConnectContextField;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TransportOrdersTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport StatusCell from './cell-renderers/StatusCell/StatusCell';\nimport CostCell from 'common/components/Table/cell-renderers/CostCell/CostCell';\nimport Table, { TableColumnT, TableRowMetaT, TableRowModsEnum } from 'common/components/Table/Table';\nimport { TransportOrderT } from 'common/store/transport-orders/models';\nimport LocationCell from './cell-renderers/LocationCell/LocationCell';\nimport ReceivedCell from './cell-renderers/ReceivedCell/ReceivedCell';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport { DirectionEnum } from 'common/constants';\nimport IdCell from 'common/components/Table/cell-renderers/IdCell/IdCell';\nimport WarningIndicatorCell from 'common/components/Table/cell-renderers/WarningIndicatorCell/WarningIndicatorCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    orders: Array<TransportOrderT>;\n    className?: string;\n    goToTransportOrderDetails: (event: React.MouseEvent, orderId: string) => void;\n    isLoading: boolean;\n};\n\nconst TransportOrdersTable: React.FC<PropsT> = React.memo((props) => {\n    const { orders, className, goToTransportOrderDetails, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<TransportOrderT, void>> = [\n        {\n            renderHeader: () => <span>{t('common:transport-orders-page.table.columns.id')}</span>,\n            headerClassName: cx('table__header', 'table__header--id'),\n            render: (order: TransportOrderT) => <IdCell id={order.number} />,\n            className: cx('table__column', 'table__column--id'),\n            testSelector: 'id',\n        },\n        {\n            renderHeader: () => <span>{t('common:transport-orders-page.table.columns.pickup')}</span>,\n            headerClassName: cx('table__header'),\n            render: (order: TransportOrderT) => <LocationCell order={order} type={DirectionEnum.origin} />,\n            className: cx('table__column'),\n            testSelector: 'pickup',\n        },\n        {\n            renderHeader: () => <span>{t('common:transport-orders-page.table.columns.dropoff')}</span>,\n            headerClassName: cx('table__header'),\n            render: (order: TransportOrderT) => <LocationCell order={order} type={DirectionEnum.destination} />,\n            className: cx('table__column'),\n            testSelector: 'dropoff',\n        },\n        // {\n        //     renderHeader: () => <span>{t('common:transport-orders-page.table.columns.type')}</span>,\n        //     headerClassName: cx('table__header', 'table__header--type'),\n        //     render: (order: TransportOrderT) => <TypeCell order={order} />,\n        //     className: cx('table__column', 'table__column--type'),\n        //     testSelector: 'equipment',\n        // },\n        {\n            renderHeader: () => <span>{t('common:transport-orders-page.table.columns.date')}</span>,\n            headerClassName: cx('table__header'),\n            render: (order: TransportOrderT) => <ReceivedCell order={order} />,\n            className: cx('table__column', 'table__column--create'),\n            testSelector: 'received',\n        },\n        {\n            renderHeader: () => <span>{t('common:transport-orders-page.table.columns.price')}</span>,\n            headerClassName: cx('table__header'),\n            render: (order: TransportOrderT) => <CostCell cost={order.totalCarrierCost} />,\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'price',\n        },\n        {\n            renderHeader: () => null,\n            headerClassName: cx('table__header'),\n            render: (order: TransportOrderT) => (\n                <WarningIndicatorCell\n                    isShow={!!order.hasWarnings}\n                    tooltipText={t('common:transport-orders-page.table.has-warnings')}\n                />\n            ),\n            className: cx('table__column', 'table__column--has-warnings'),\n            testSelector: 'has-warnings',\n        },\n        {\n            renderHeader: () => <span>{t('common:transport-orders-page.table.columns.status')}</span>,\n            headerClassName: cx('table__header'),\n            render: (order: TransportOrderT) => <StatusCell order={order} />,\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n    ];\n\n    const handleSelectRow = (event: React.MouseEvent, order: TransportOrderT) => {\n        if (!order.id) {\n            return;\n        }\n\n        goToTransportOrderDetails(event, order.id);\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, order: TransportOrderT) => {\n        return {\n            [TableRowModsEnum.hasLeftGreenBorder]: false, // order.status === TransportOrderStatusEnum.done,\n            [TableRowModsEnum.hasLeftRedBorder]: false,\n        };\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<TransportOrderT> tableName=\"transportOrder\" isLoading={isLoading} rows={orders}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<TransportOrderT, void>\n                        testSelector=\"transport-orders\"\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        onSelectRow={handleSelectRow}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default TransportOrdersTable;\n","import * as React from 'react';\n\nimport Members from 'common/layouts/Members/Members';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectPartnerDetailsById } from 'broker-admin/store/partner/details/selectors';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { fetchPartnerDetails } from 'broker-admin/store/partner/details/actions';\nimport { logWarning } from 'common/utils/logger';\n\ntype PropsT = {};\n\nconst BrokerUsersLayout: React.FC<PropsT> = React.memo(() => {\n    const dispatch = useDispatch();\n\n    const { partnerId } = usePartnerContext();\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId');\n            return;\n        }\n\n        dispatch(fetchPartnerDetails(partnerId));\n    }, [dispatch, partnerId]);\n\n    const partnerDetailsById = useSelector(selectPartnerDetailsById);\n    const partnerDetails = partnerDetailsById[partnerId as PartnerIdT] || null;\n\n    return <Members isLockedProfile={partnerDetails?.locked} />;\n});\n\nexport default BrokerUsersLayout;\n","import * as React from 'react';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { AppliedRuleT } from 'common/store/order-creation/models';\nimport RuleImpact from 'common/components/RuleImpact/RuleImpact';\nimport classNames from 'classnames/bind';\nimport { RuleImpactStrategyEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport cs from 'classnames';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { ApiPriceRuleTypeT, PriceRuleTypeEnum } from 'common/utils/api/models';\n\nimport styles from './PriceRuleImpactPill.scss';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\nconst ruleTypeI18nMap: Record<ApiPriceRuleTypeT, string> = {\n    [PriceRuleTypeEnum.basic]: 'common:short-rule-type.labels.basic',\n    [PriceRuleTypeEnum.carrier]: 'common:short-rule-type.labels.carrier',\n    [PriceRuleTypeEnum.shipper]: 'common:short-rule-type.labels.shipper',\n    [PriceRuleTypeEnum.custom]: 'common:short-rule-type.labels.custom',\n};\n\nconst ruleTypeTooltipsI18nMap: Record<ApiPriceRuleTypeT, string | null> = {\n    [PriceRuleTypeEnum.basic]: null,\n    [PriceRuleTypeEnum.carrier]: null,\n    [PriceRuleTypeEnum.shipper]: null,\n    [PriceRuleTypeEnum.custom]: 'common:short-rule-type.tooltip.custom',\n};\n\nconst ruleTypeThemeMap: Record<ApiPriceRuleTypeT, PillLabelThemeEnum> = {\n    [PriceRuleTypeEnum.basic]: PillLabelThemeEnum.lightSlateGray,\n    [PriceRuleTypeEnum.carrier]: PillLabelThemeEnum.tumbleweed,\n    [PriceRuleTypeEnum.shipper]: PillLabelThemeEnum.pewterBlue,\n    [PriceRuleTypeEnum.custom]: PillLabelThemeEnum.tomatoRed70,\n};\n\ntype PropsT = {\n    className?: string;\n    typeClassName?: string;\n    ruleClassName?: string;\n    rule?: AppliedRuleT | null | undefined;\n    isNotActual?: boolean;\n};\n\nconst PriceRuleImpactPill: React.FC<PropsT> = React.memo((props) => {\n    const { className, typeClassName, ruleClassName, rule, isNotActual } = props;\n\n    const { t } = useTranslation();\n\n    if (!rule) {\n        return null;\n    }\n\n    let theme = PillLabelThemeEnum.charcoal;\n    if (isNotActual) {\n        theme = PillLabelThemeEnum.tomatoRed70;\n    } else if (rule?.valueType === RuleImpactStrategyEnum.value) {\n        theme = PillLabelThemeEnum.slate;\n    } else if (rule.value > 0 && rule?.valueType === RuleImpactStrategyEnum.percent) {\n        theme = PillLabelThemeEnum.orange;\n    } else if (rule.value < 0 && rule?.valueType === RuleImpactStrategyEnum.percent) {\n        theme = PillLabelThemeEnum.brandAccent;\n    }\n\n    const tooltipsI18n = ruleTypeTooltipsI18nMap[rule.ruleType];\n\n    return (\n        <Tooltip\n            className={cs(cx('wrap'), className)}\n            position={TooltipPositionEnum.topCenter}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                tooltipsI18n ? (\n                    <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                        {t(tooltipsI18n)}\n                    </TooltipContent>\n                ) : null\n            }\n        >\n            {() => (\n                <div>\n                    <PillLabel\n                        theme={ruleTypeThemeMap[rule.ruleType]}\n                        className={cs(cx('type'), typeClassName)}\n                        isSymmetrical\n                    >\n                        {t(ruleTypeI18nMap[rule.ruleType])}\n                    </PillLabel>\n                    <PillLabel\n                        theme={theme}\n                        className={cs(cx('rule'), ruleClassName)}\n                        isSymmetrical\n                        testSelector=\"rule-impact-pill\"\n                    >\n                        {rule?.name}: <RuleImpact key={rule.name} value={rule.value} impactStrategy={rule.valueType} />\n                    </PillLabel>\n                </div>\n            )}\n        </Tooltip>\n    );\n});\n\nexport default PriceRuleImpactPill;\n","import React, { memo } from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './DatePicker.scss';\n\nimport Calendar, {\n    CalendarDateRangeValuePropsT,\n    CalendarDateValuePropsT,\n} from 'design-system/components/Calendar/Calendar';\nimport DateInputTrigger, {\n    InputDateValuePropsT,\n    InputRangeValuePropsT,\n} from 'design-system/components/date-pickers/internals/DateInputTrigger/DateInputTrigger';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DatePickerOverlay, { DatePickerOverlayPositionEnum } from '../internals/DatePickerOverlay/DatePickerOverlay';\nimport useTestSelector from 'common/utils/hooks/useTestSelector';\nimport { getISOFutureDate, getISOPastDate } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\ntype BasePropsT = {\n    name?: string;\n    placeholder?: string;\n    isDisabled?: boolean;\n    minDate?: string;\n    maxDate?: string;\n    overlayPosition?: DatePickerOverlayPositionEnum;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasYearMonthForm?: boolean;\n    autoComplete?: string;\n    testSelectorPrefix?: string;\n    hasChanges?: boolean;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    inputClassName?: string;\n    hasClearControl?: boolean;\n    className?: string;\n};\n\nexport type DatePickerPropsT = (BasePropsT & CalendarDateValuePropsT) | (BasePropsT & CalendarDateRangeValuePropsT);\n\nconst ENTER_KEY = 'Enter';\n\ntype RangePresetT = {\n    minDate?: BasePropsT['minDate'];\n    maxDate?: BasePropsT['maxDate'];\n};\n\nexport const datePicketRangePresets = {\n    get documentValidTill(): RangePresetT {\n        return {\n            maxDate: getISOFutureDate(10, 'year'),\n            minDate: getISOPastDate(0, 'year'),\n        };\n    },\n\n    get anyFutureDate(): RangePresetT {\n        return {\n            minDate: getISOPastDate(0, 'year'),\n        };\n    },\n\n    get birthday(): RangePresetT {\n        return {\n            maxDate: getISOPastDate(18, 'year'),\n            minDate: getISOPastDate(90, 'year'),\n        };\n    },\n};\n\n/* eslint-disable react/destructuring-assignment */\nconst DatePicker: React.FC<DatePickerPropsT> = memo((props) => {\n    const {\n        name,\n        onFocus,\n        onBlur,\n        isDisabled,\n        minDate,\n        maxDate,\n        overlayPosition,\n        hasError,\n        hasWarning,\n        hasYearMonthForm,\n        hasChanges,\n        autoComplete,\n        testSelectorPrefix,\n        inputClassName,\n        hasClearControl,\n        className,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const defaultPlaceholder = props.isRange\n        ? t('common:common-components.date-range-picker.placeholder')\n        : t('common:common-components.date-picker.placeholder');\n    const placeholder = props.placeholder || defaultPlaceholder;\n\n    const [isOpen, toggleOpen] = React.useState(false);\n    const triggerRef = React.useRef<HTMLDivElement>(null);\n\n    const handleCalendarRangeChange: CalendarDateRangeValuePropsT['onChange'] = (value, selectedDate) => {\n        if (props.isRange) {\n            props.onChange(value, selectedDate);\n        }\n    };\n\n    const handleCalendarDateChange: CalendarDateValuePropsT['onChange'] = (value, selectedDate) => {\n        toggleOpen(false);\n\n        if (!props.isRange) {\n            props.onChange(value, selectedDate);\n        }\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handleOpen = () => {\n        if (isDisabled) {\n            return;\n        }\n\n        toggleOpen(true);\n    };\n\n    const handleOuterEvent = () => {\n        toggleOpen(false);\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handleInputKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n        if (event.key === ENTER_KEY) {\n            toggleOpen(false);\n\n            if (onBlur) {\n                onBlur();\n            }\n        }\n    };\n\n    const testSelector = useTestSelector(testSelectorPrefix, 'date-picker');\n\n    let calendarValueProps: CalendarDateValuePropsT | CalendarDateRangeValuePropsT;\n    if (props.isRange) {\n        calendarValueProps = {\n            isRange: true,\n            value: props.value,\n            initialValue: props.initialValue,\n            onChange: handleCalendarRangeChange,\n            focusInitialDate: props.value?.from,\n        };\n    } else {\n        calendarValueProps = {\n            isRange: false,\n            value: props.value,\n            initialValue: props.initialValue,\n            onChange: handleCalendarDateChange,\n            focusInitialDate: props.value,\n        };\n    }\n\n    let inputDateValueProps: InputDateValuePropsT | InputRangeValuePropsT;\n    if (props.isRange) {\n        inputDateValueProps = {\n            isRange: true,\n            value: props.value,\n            onChange: handleCalendarRangeChange,\n        };\n    } else {\n        inputDateValueProps = {\n            isRange: false,\n            value: props.value,\n            onChange: handleCalendarDateChange,\n        };\n    }\n\n    return (\n        <div className={cs(cx('dropdown'), className)} data-test-selector={testSelector}>\n            <div className={cx('input')}>\n                <div className={cx('trigger')} ref={triggerRef} onClick={handleOpen}>\n                    <DateInputTrigger\n                        {...inputDateValueProps}\n                        className={inputClassName}\n                        name={name || 'datepicker'}\n                        placeholder={placeholder}\n                        hasError={hasError}\n                        onKeyUp={handleInputKeyUp}\n                        onFocus={onFocus}\n                        hasWarning={hasWarning}\n                        isDisabled={isDisabled}\n                        isForcedFocused={isOpen}\n                        hasChanges={hasChanges}\n                        autoComplete={autoComplete}\n                        hasClearControl={hasClearControl}\n                        renderLeftIcon={(iconMeta) => (\n                            <CalendarIcon\n                                size={DEFAULT_ICON_SIZE}\n                                fillColor={\n                                    iconMeta?.hasValue || iconMeta?.isFocused\n                                        ? StyleGuideColorsEnum.brandAccent\n                                        : StyleGuideColorsEnum.white\n                                }\n                                strokeColor={\n                                    iconMeta?.hasValue || iconMeta?.isFocused\n                                        ? StyleGuideColorsEnum.brandDark\n                                        : StyleGuideColorsEnum.light\n                                }\n                            />\n                        )}\n                    />\n                </div>\n                <DatePickerOverlay\n                    isOpen={isOpen}\n                    position={overlayPosition}\n                    referenceElement={triggerRef.current}\n                    onClose={handleOuterEvent}\n                >\n                    <Calendar\n                        minDate={minDate}\n                        maxDate={maxDate}\n                        hasYearMonthForm={hasYearMonthForm}\n                        {...calendarValueProps}\n                    />\n                </DatePickerOverlay>\n            </div>\n        </div>\n    );\n});\n\nexport default DatePicker;\nexport { DatePickerOverlayPositionEnum };\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './EditOfferTotalPriceLayout.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport { CURRENCY_SYMBOLS, DEFAULT_ICON_SIZE, KeyEnum, StyleGuideColorsEnum } from 'common/constants';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport isNumber from 'lodash/isNumber';\nimport Input from 'common/components/Input/Input';\nimport RestoreIcon from 'common/icons/RestoreIcon';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport { costToString } from 'common/components/price-details/utils';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { getMoneyMask } from 'common/utils/input-masks';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    sourcePrice: number | null;\n    price: number | null;\n    onChangePrice: (price: number | null) => void;\n};\n\nconst EditOfferTotalPriceLayout: React.FC<PropsT> = React.memo((props) => {\n    const { sourcePrice, price, onChangePrice } = props;\n\n    const { t } = useTranslation();\n\n    const moneyMask = React.useMemo(() => getMoneyMask(), []);\n\n    const [inputValue, setInputValue] = React.useState<string>(costToString(price));\n\n    const handleCancelEditing = React.useCallback(() => {\n        setInputValue(costToString(price));\n\n        onChangePrice(price);\n    }, [onChangePrice, price]);\n\n    const handleRestore = React.useCallback(() => {\n        setInputValue(costToString(sourcePrice));\n\n        onChangePrice(null);\n    }, [onChangePrice, sourcePrice]);\n\n    const handleConfirmEditing = React.useCallback(() => {\n        const parsedInputValue = parseSimpleNumber(inputValue) || 0;\n\n        if (!inputValue || parsedInputValue === sourcePrice) {\n            handleRestore();\n        } else {\n            onChangePrice(parsedInputValue);\n        }\n    }, [onChangePrice, sourcePrice, inputValue, handleRestore]);\n\n    React.useEffect(() => {\n        setInputValue(costToString(price));\n    }, [price]);\n\n    const isChangedPrice = isNumber(sourcePrice) && isNumber(price) && sourcePrice !== price;\n\n    const handleKeyUp = React.useCallback(\n        (event: React.KeyboardEvent<HTMLInputElement>) => {\n            if (event.key === KeyEnum.enter) {\n                handleConfirmEditing();\n            }\n\n            if (event.key === KeyEnum.escape) {\n                handleCancelEditing();\n            }\n        },\n        [handleConfirmEditing, handleCancelEditing],\n    );\n\n    return (\n        <div className={cx('details')} data-test-selector=\"edit-offer-total-price\">\n            <div className={cx('input-wrap')}>\n                <Input\n                    className={cx('input')}\n                    name=\"custom-value\"\n                    value={inputValue}\n                    onChange={setInputValue}\n                    mask={moneyMask}\n                    rightNode={CURRENCY_SYMBOLS.EUR}\n                    onKeyUp={handleKeyUp}\n                    autoFocus\n                />\n            </div>\n            <div className={cx('controls')}>\n                {isChangedPrice && (\n                    <Tooltip\n                        position={TooltipPositionEnum.topCenter}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={\n                            <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                {t('common:price-details.line-haul.restore-tooltip')}\n                            </TooltipContent>\n                        }\n                    >\n                        {() => (\n                            <TransparentTrigger\n                                onClick={handleRestore}\n                                leftIcon={<RestoreIcon strokeColor={StyleGuideColorsEnum.charcoal} />}\n                                reflectionTheme={ReflectionThemeEnum.light}\n                            />\n                        )}\n                    </Tooltip>\n                )}\n                <TransparentTrigger\n                    onClick={handleCancelEditing}\n                    leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n                <TransparentTrigger\n                    onClick={handleConfirmEditing}\n                    leftIcon={<DoneIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            </div>\n        </div>\n    );\n});\n\nexport default EditOfferTotalPriceLayout;\n","import * as React from 'react';\nimport moment from 'moment';\nimport {\n    AlertToastRendererT,\n    CommonAlertTypeEnum,\n    CommonAnyAlert,\n} from 'common/components/toasts/AlertToastsManager/models';\nimport { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport SquareInfoIcon from 'common/icons/SquareInfoIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { AnyAlert } from 'common/store/alerts/models';\nimport AddAccountDuotineIcon from 'common/icons/AddAccountDuotineIcon';\nimport DeactivateUserIcon from 'common/icons/DeactivateUserIcon';\nimport UserSettingsIcon from 'common/icons/UserSettingsIcon';\nimport { USER_ROLE_T_MAP } from 'common/utils/users';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport StopWarningIcon from 'common/icons/StopWarningIcon';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport UploadFileIcon from 'common/icons/UploadFileIcon';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport DriverIcon from 'common/icons/DriverIcon';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport { checkIsSameDay } from 'common/utils/time';\nimport AssetFailedActionFooter from 'common/components/toasts/footers/AssetFailedActionFooter/AssetFailedActionFooter';\nimport XLSIcon from 'common/icons/XLSIcon';\nimport { ApiOrderContextNoteT } from 'common/utils/api/models';\n\nconst DATE_FORMAT = 'Do MMM';\n\nconst formatHMRDate = (date: string | null | undefined): string => {\n    if (!date) {\n        return '-';\n    }\n\n    return moment(date).format(DATE_FORMAT);\n};\n\nconst checkIsCommonAnyAlert = (anyAlert: AnyAlert | null | undefined): anyAlert is CommonAnyAlert => {\n    return anyAlert instanceof CommonAnyAlert;\n};\n\nexport const renderCommonAlertToast: AlertToastRendererT = (t, anyAlert) => {\n    if (!checkIsCommonAnyAlert(anyAlert)) {\n        return null;\n    }\n\n    switch (anyAlert.payload.type) {\n        case CommonAlertTypeEnum.userRestored: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <AddAccountDuotineIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.user-restored', {\n                    fullName: anyAlert.payload.data.fullName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.networkError: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.network-error'),\n            };\n        }\n        case CommonAlertTypeEnum.inviteCanceled: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <DeactivateUserIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.invite-canceled', {\n                    email: anyAlert.payload.data.email,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.contactAdded: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <AddAccountDuotineIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.contact-added', {\n                    fullName: anyAlert.payload.data.fullName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.emailInvited: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <AddAccountDuotineIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.email-invited', {\n                    email: anyAlert.payload.data.email,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.userRolesChanged: {\n            const roles = anyAlert.payload.data.roles.map((role) => {\n                return t(USER_ROLE_T_MAP[role]).toLocaleLowerCase();\n            });\n\n            const rolesCount = anyAlert.payload.data.roles?.length || 0;\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <UserSettingsIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.user-roles-changed', {\n                    fullName: anyAlert.payload.data.fullName,\n                    roles: roles.join(', '),\n                    postProcess: 'interval',\n                    count: rolesCount,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.userDeactivated: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <DeactivateUserIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.user-deactivated', {\n                    fullName: anyAlert.payload.data.fullName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.contactDeleted: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <DeactivateUserIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.contact-deleted', {\n                    fullName: anyAlert.payload.data.fullName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.mainContactChanged: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <UserSettingsIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.main-contact-changed', {\n                    fullName: anyAlert.payload.data.fullName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.contactEdited: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <AddAccountDuotineIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.contact-edited', {\n                    fullName: anyAlert.payload.data.fullName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.userEdited: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <AddAccountDuotineIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('common:alerts.user-edited', {\n                    fullName: anyAlert.payload.data.fullName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailerAdded: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-added', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailerSuccessfullyActivated: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-activated', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailerSuccessfullyXLSImport: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <XLSIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.trailer-successfully-xls-import'),\n            };\n        }\n        case CommonAlertTypeEnum.trailerSuccessfullyArchived: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-archived', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailersSuccessfullyActivated: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailers-successfully-activated', {\n                    count: anyAlert.payload.data.count,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailerSuccessfullyEdited: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-successfully-edited', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailerSuccessfullySetUnavailable: {\n            const isSameDay = checkIsSameDay(anyAlert.payload.data.fromDate, anyAlert.payload.data.toDate);\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: isSameDay\n                    ? t('common:alerts.trailer-successfully-set-unavailable-one-date', {\n                          plateNumber: anyAlert.payload.data.plateNumber,\n                          date: formatHMRDate(anyAlert.payload.data.fromDate),\n                      })\n                    : t('common:alerts.trailer-successfully-set-unavailable', {\n                          plateNumber: anyAlert.payload.data.plateNumber,\n                          fromDate: formatHMRDate(anyAlert.payload.data.fromDate),\n                          toDate: formatHMRDate(anyAlert.payload.data.toDate),\n                      }),\n            };\n        }\n        case CommonAlertTypeEnum.trailersSuccessfullyArchived: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailers-successfully-archived', {\n                    count: anyAlert.payload.data.count,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailersFailedActivate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailers-failed-activate', {\n                    successfulCount: anyAlert.payload.data.successfulCount,\n                    allCount: anyAlert.payload.data.allCount,\n                }),\n                size: AlertSizeEnum.mediumLarge,\n                footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n            };\n        }\n        case CommonAlertTypeEnum.trailerFailedActivate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-failed-activate', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailersFailedArchived: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailers-failed-archived', {\n                    successfulCount: anyAlert.payload.data.successfulCount,\n                    allCount: anyAlert.payload.data.allCount,\n                }),\n                size: AlertSizeEnum.mediumLarge,\n                footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n            };\n        }\n        case CommonAlertTypeEnum.trailerFailedArchived: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-failed-archived', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailerFailedArchivedHasFutureAssignment: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.trailer-failed-to-archive'),\n            };\n        }\n        case CommonAlertTypeEnum.trailerSuccessfullyUpdatedContract: {\n            if (anyAlert.payload.data.contractName === null) {\n                return {\n                    id: anyAlert.id,\n                    theme: AlertThemeEnum.brandAccent,\n                    icon: (\n                        <TrailerIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            fillColor={StyleGuideColorsEnum.transparent}\n                        />\n                    ),\n                    text: t('common:alerts.trailer-successfully-unset-contract', {\n                        plateNumber: anyAlert.payload.data.plateNumber,\n                    }),\n                };\n            }\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-successfully-change-contract', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                    contractName: anyAlert.payload.data.contractName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailersSuccessfullyUpdatedContract: {\n            if (anyAlert.payload.data.contractName === null) {\n                return {\n                    id: anyAlert.id,\n                    theme: AlertThemeEnum.brandAccent,\n                    icon: (\n                        <TrailerIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            fillColor={StyleGuideColorsEnum.transparent}\n                        />\n                    ),\n                    text: t('common:alerts.trailers-successfully-unset-contract', {\n                        count: anyAlert.payload.data.count,\n                    }),\n                };\n            }\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailers-successfully-change-contract', {\n                    count: anyAlert.payload.data.count,\n                    contractName: anyAlert.payload.data.contractName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailersFailedUpdateContract: {\n            if (anyAlert.payload.data.contractName === null) {\n                return {\n                    id: anyAlert.id,\n                    theme: AlertThemeEnum.tomatoRed,\n                    icon: (\n                        <TrailerIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            fillColor={StyleGuideColorsEnum.transparent}\n                        />\n                    ),\n                    text: t('common:alerts.trailers-failed-unset-contract', {\n                        successfulCount: anyAlert.payload.data.successfulCount,\n                        allCount: anyAlert.payload.data.allCount,\n                    }),\n                    size: AlertSizeEnum.mediumLarge,\n                    footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n                };\n            }\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailers-failed-change-contract', {\n                    successfulCount: anyAlert.payload.data.successfulCount,\n                    contractName: anyAlert.payload.data.contractName,\n                    allCount: anyAlert.payload.data.allCount,\n                }),\n                size: AlertSizeEnum.mediumLarge,\n                footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n            };\n        }\n        case CommonAlertTypeEnum.trailerFailedUpdateContract: {\n            if (anyAlert.payload.data.contractName === null) {\n                return {\n                    id: anyAlert.id,\n                    theme: AlertThemeEnum.tomatoRed,\n                    icon: (\n                        <TrailerIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            fillColor={StyleGuideColorsEnum.transparent}\n                        />\n                    ),\n                    text: t('common:alerts.trailer-failed-unset-contract', {\n                        plateNumber: anyAlert.payload.data.plateNumber,\n                    }),\n                };\n            }\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-failed-change-contract', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                    contractName: anyAlert.payload.data.contractName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailerSuccessfullyUpdatedRate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-successfully-change-rate', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailersSuccessfullyUpdatedRate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailers-successfully-change-rate', {\n                    count: anyAlert.payload.data.count,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trailersFailedUpdateRate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailers-failed-change-rate', {\n                    successfulCount: anyAlert.payload.data.successfulCount,\n                    allCount: anyAlert.payload.data.allCount,\n                }),\n                size: AlertSizeEnum.mediumLarge,\n                footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n            };\n        }\n        case CommonAlertTypeEnum.trailerFailedUpdateRate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trailer-failed-change-rate', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.truckAdded: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-added', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.truckSuccessfullyActivated: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-activated', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.truckSuccessfullyArchived: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-archived', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trucksSuccessfullyActivated: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trucks-successfully-activated', {\n                    count: anyAlert.payload.data.count,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.truckSuccessfullyEdited: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-successfully-edited', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.truckSuccessfullySetUnavailable: {\n            const isSameDay = checkIsSameDay(anyAlert.payload.data.fromDate, anyAlert.payload.data.toDate);\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: isSameDay\n                    ? t('common:alerts.truck-successfully-set-unavailable-one-date', {\n                          plateNumber: anyAlert.payload.data.plateNumber,\n                          date: formatHMRDate(anyAlert.payload.data.fromDate),\n                      })\n                    : t('common:alerts.truck-successfully-set-unavailable', {\n                          plateNumber: anyAlert.payload.data.plateNumber,\n                          fromDate: formatHMRDate(anyAlert.payload.data.fromDate),\n                          toDate: formatHMRDate(anyAlert.payload.data.toDate),\n                      }),\n            };\n        }\n        case CommonAlertTypeEnum.trucksSuccessfullyArchived: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trucks-successfully-archived', {\n                    count: anyAlert.payload.data.count,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trucksFailedActivate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trucks-failed-activate', {\n                    successfulCount: anyAlert.payload.data.successfulCount,\n                    allCount: anyAlert.payload.data.allCount,\n                }),\n                size: AlertSizeEnum.mediumLarge,\n                footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n            };\n        }\n        case CommonAlertTypeEnum.truckFailedActivate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-failed-activate', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trucksFailedArchived: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trucks-failed-archived', {\n                    successfulCount: anyAlert.payload.data.successfulCount,\n                    allCount: anyAlert.payload.data.allCount,\n                }),\n                size: AlertSizeEnum.mediumLarge,\n                footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n            };\n        }\n        case CommonAlertTypeEnum.truckFailedArchived: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-failed-archived', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.truckFailedArchivedHasFutureAssignment: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.truck-failed-to-archive'),\n            };\n        }\n        case CommonAlertTypeEnum.truckSuccessfullyUpdatedContract: {\n            if (anyAlert.payload.data.contractName === null) {\n                return {\n                    id: anyAlert.id,\n                    theme: AlertThemeEnum.brandAccent,\n                    icon: (\n                        <TruckIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            fillColor={StyleGuideColorsEnum.transparent}\n                        />\n                    ),\n                    text: t('common:alerts.truck-successfully-unset-contract', {\n                        plateNumber: anyAlert.payload.data.plateNumber,\n                    }),\n                };\n            }\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-successfully-change-contract', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                    contractName: anyAlert.payload.data.contractName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trucksSuccessfullyUpdatedContract: {\n            if (anyAlert.payload.data.contractName === null) {\n                return {\n                    id: anyAlert.id,\n                    theme: AlertThemeEnum.brandAccent,\n                    icon: (\n                        <TruckIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            fillColor={StyleGuideColorsEnum.transparent}\n                        />\n                    ),\n                    text: t('common:alerts.trucks-successfully-unset-contract', {\n                        count: anyAlert.payload.data.count,\n                    }),\n                };\n            }\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trucks-successfully-change-contract', {\n                    count: anyAlert.payload.data.count,\n                    contractName: anyAlert.payload.data.contractName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trucksFailedUpdateContract: {\n            if (anyAlert.payload.data.contractName === null) {\n                return {\n                    id: anyAlert.id,\n                    theme: AlertThemeEnum.tomatoRed,\n                    icon: (\n                        <TruckIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            fillColor={StyleGuideColorsEnum.transparent}\n                        />\n                    ),\n                    text: t('common:alerts.trucks-failed-unset-contract', {\n                        successfulCount: anyAlert.payload.data.successfulCount,\n                        allCount: anyAlert.payload.data.allCount,\n                    }),\n                    size: AlertSizeEnum.mediumLarge,\n                    footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n                };\n            }\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trucks-failed-change-contract', {\n                    allCount: anyAlert.payload.data.allCount,\n                    contractName: anyAlert.payload.data.contractName,\n                    successfulCount: anyAlert.payload.data.successfulCount,\n                }),\n                size: AlertSizeEnum.mediumLarge,\n                footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n            };\n        }\n        case CommonAlertTypeEnum.truckFailedUpdateContract: {\n            if (anyAlert.payload.data.contractName === null) {\n                return {\n                    id: anyAlert.id,\n                    theme: AlertThemeEnum.tomatoRed,\n                    icon: (\n                        <TruckIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            fillColor={StyleGuideColorsEnum.transparent}\n                        />\n                    ),\n                    text: t('common:alerts.truck-failed-unset-contract', {\n                        plateNumber: anyAlert.payload.data.plateNumber,\n                    }),\n                };\n            }\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-failed-change-contract', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                    contractName: anyAlert.payload.data.contractName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.truckSuccessfullyUpdatedRate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-successfully-change-rate', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trucksSuccessfullyUpdatedRate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trucks-successfully-change-rate', {\n                    count: anyAlert.payload.data.count,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.trucksFailedUpdateRate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.trucks-failed-change-rate', {\n                    successfulCount: anyAlert.payload.data.successfulCount,\n                    allCount: anyAlert.payload.data.allCount,\n                }),\n                size: AlertSizeEnum.mediumLarge,\n                footer: <AssetFailedActionFooter plateNumbers={anyAlert.payload.data.plateNumbers} />,\n            };\n        }\n        case CommonAlertTypeEnum.truckFailedUpdateRate: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.truck-failed-change-rate', {\n                    plateNumber: anyAlert.payload.data.plateNumber,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.truckSuccessfullyXLSImport: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <XLSIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.truck-successfully-xls-import'),\n            };\n        }\n        case CommonAlertTypeEnum.paperAdded: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <UploadFileIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.paper-added'),\n            };\n        }\n        case CommonAlertTypeEnum.paperDeleted: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <DeleteIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.paper-deleted'),\n            };\n        }\n        case CommonAlertTypeEnum.paperDownloadFailed: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.paper-download-failed', {\n                    errorMessage: anyAlert.payload.data.errorMessage,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.driverAssigned: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DriverIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.drivers-assigned', {\n                    postProcess: 'interval',\n                    count: anyAlert.payload.data.driversCount,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.driverUnassigned: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <DriverIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.drivers-unassgined', {\n                    postProcess: 'interval',\n                    count: anyAlert.payload.data.driversCount,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.rfqSuccessfulClosed: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <DeleteIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.rfq-successful-closed'),\n            };\n        }\n        case CommonAlertTypeEnum.spotAssetsAssigned: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.spot-assets-assigned'),\n            };\n        }\n        case CommonAlertTypeEnum.spotAssetsUnassigned: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                    />\n                ),\n                text: t('common:alerts.spot-assets-unassigned'),\n            };\n        }\n        case CommonAlertTypeEnum.documentUploaded: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.document-uploaded', {\n                    name: anyAlert.payload.data.dictDocumentName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.contractUploaded: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.contract-uploaded'),\n            };\n        }\n        case CommonAlertTypeEnum.documentApproved: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.document-approved', {\n                    name: anyAlert.payload.data.dictDocumentName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.documentRejected: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.document-rejected', {\n                    name: anyAlert.payload.data.dictDocumentName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.documentRevoked: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.document-revoked', {\n                    name: anyAlert.payload.data.dictDocumentName,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.carrierSpotLanesUpdateSuccess: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.carrier-spot-lanes-updated', {\n                    postProcess: 'interval',\n                    count: anyAlert.payload.data.count,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.carrierSpotLanesDeleteSuccess: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <DeleteIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.carrier-spot-lanes-deleted', {\n                    postProcess: 'interval',\n                    count: anyAlert.payload.data.count,\n                }),\n            };\n        }\n        case CommonAlertTypeEnum.shipperContractUploaded: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.shipper-contract-uploaded'),\n            };\n        }\n        case CommonAlertTypeEnum.shipperContractUpdated: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.shipper-contract-updated'),\n            };\n        }\n        case CommonAlertTypeEnum.shipperContractRevoked: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <DeleteIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.shipper-contract-revoked'),\n            };\n        }\n        case CommonAlertTypeEnum.shipperContractLaneRevoked: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <DeleteIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.shipper-contract-lane-revoked'),\n            };\n        }\n        case CommonAlertTypeEnum.shipperContractLaneUpdated: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.shipper-contract-lane-updated'),\n            };\n        }\n        case CommonAlertTypeEnum.shipperContractLaneAdded: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.white} />,\n                text: t('common:alerts.shipper-contract-lane-added'),\n            };\n        }\n        case CommonAlertTypeEnum.orderContextNote: {\n            const { note } = anyAlert.payload.data;\n\n            const notesI18n: Record<ApiOrderContextNoteT, string> = {\n                NOT_FOUND_APPROVED_FERRY_ON_ROUTE: 'common:alerts.not-found-approved-ferry-on-route',\n                PRICE_FOR_FERRY_NOT_FOUND: 'common:alerts.price-for-ferry-not-found',\n            };\n\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.orange,\n                icon: <StopWarningIcon fillColor={StyleGuideColorsEnum.white} />,\n                text: t(notesI18n[note]),\n            };\n        }\n        default: {\n            return null;\n        }\n    }\n\n    return null;\n};\n\nexport const getUnknownAlertToast: AlertToastRendererT = (t, anyAlert) => {\n    return {\n        id: anyAlert.id,\n        theme: AlertThemeEnum.charcoal,\n        icon: <SquareInfoIcon fillColor={StyleGuideColorsEnum.white} />,\n        text: t('common:alerts.unknown'),\n    };\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PositionsCell.scss';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { CompanyContactT } from 'common/store/members/models';\nimport UserRolePill from 'common/components/pills/UserRolePill/UserRolePill';\nimport UserMainPill from 'common/components/pills/UserMainPill/UserMainPill';\nimport UserPositionPill from 'common/components/pills/UserPositionPill/UserPositionPill';\n\ntype PropsT = {\n    contact: CompanyContactT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst PositionsCell: React.FC<PropsT> = React.memo((props) => {\n    const { contact } = props;\n    const { userId, roles } = contact;\n\n    const { t } = useTranslation();\n\n    const hasUser = !!userId;\n\n    return (\n        <div className={cx('positions')}>\n            {!hasUser && (\n                <PillLabel className={cx('pill')} theme={PillLabelThemeEnum.grey} isSymmetrical>\n                    {t('common:team-members.contact')}\n                </PillLabel>\n            )}\n            {contact.main && <UserMainPill className={cx('pill')} />}\n            {contact.position && <UserPositionPill className={cx('pill')} position={contact.position} />}\n            {(roles || []).map((role) => {\n                if (!role.role) {\n                    return null;\n                }\n\n                return <UserRolePill key={role.id} className={cx('pill')} role={role.role} />;\n            })}\n        </div>\n    );\n});\n\nexport default PositionsCell;\n","import { ApiTruckRateModeT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    expiration = 'expiration',\n    number = 'number',\n    name = 'name',\n    truckRateMode = 'truckRateMode',\n    truckRate = 'truckRate',\n    tiltRate = 'tiltRate',\n    boxRate = 'boxRate',\n    boxExpectedMileage = 'boxExpectedMileage',\n    tiltExpectedMileage = 'tiltExpectedMileage',\n    truckExpectedMileage = 'truckExpectedMileage',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.expiration]: Date | null;\n    [FieldsEnum.number]: string;\n    [FieldsEnum.name]: string;\n    [FieldsEnum.truckRateMode]: ApiTruckRateModeT;\n    [FieldsEnum.truckRate]: string;\n    [FieldsEnum.tiltRate]: string;\n    [FieldsEnum.boxRate]: string;\n    [FieldsEnum.boxExpectedMileage]: string;\n    [FieldsEnum.tiltExpectedMileage]: string;\n    [FieldsEnum.truckExpectedMileage]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { StateT } from 'broker-admin/store/models';\nimport { StatisticsStateT } from './types';\n\nexport const selectStatisticsFetchQuery = (state: StateT): StatisticsStateT['fetchQuery'] => {\n    return state.statistics.fetchQuery;\n};\n\nexport const selectDoneStatisticsStatus = (state: StateT): StatisticsStateT['doneRequestStatus'] => {\n    return state.statistics.doneRequestStatus;\n};\n\nexport const selectDoneStatistics = (state: StateT): StatisticsStateT['doneData'] => {\n    return state.statistics.doneData;\n};\n\nexport const selectRejectStatisticsStatus = (state: StateT): StatisticsStateT['rejectRequestStatus'] => {\n    return state.statistics.rejectRequestStatus;\n};\n\nexport const selectRejectStatistics = (state: StateT): StatisticsStateT['rejectData'] => {\n    return state.statistics.rejectData;\n};\n","import { remoteLogger } from 'common/utils/logger-remote';\nimport { v4 as uuidv4 } from 'uuid';\nimport { clientConfig } from 'common/utils/client-config';\n\nconst isAvailableRemoteLogger = clientConfig.isProduction;\n\nexport function generateTraceId() {\n    return `f-${uuidv4()}`;\n}\n\nexport function logWarning(message: string, ...data: any) {\n    // eslint-disable-next-line no-console\n    console.warn(`WARNING ${message}`, ...data);\n\n    if (isAvailableRemoteLogger) {\n        remoteLogger.captureMessage(message, data, {});\n    }\n}\n\nexport function logWarningWithTraceId(message: string, traceId: TraceIdT, ...data: any) {\n    // eslint-disable-next-line no-console\n    console.warn(`WARNING ${message}`, ...data);\n\n    if (isAvailableRemoteLogger) {\n        remoteLogger.captureMessage(message, data, { traceId });\n    }\n}\n\nexport function logDebug(message: string, ...data: any) {\n    // eslint-disable-next-line no-console\n    console.warn(`DEBUG ${message}`, ...data);\n\n    if (isAvailableRemoteLogger) {\n        remoteLogger.trace(message, {}, data);\n    }\n}\n\nexport function logTrace(message: string, ...data: any) {\n    // eslint-disable-next-line no-console\n    console.info(message, ...data);\n\n    if (isAvailableRemoteLogger) {\n        remoteLogger.trace(message, {}, data);\n    }\n}\n\nexport function logTraceWithTraceId(message: string, traceId: TraceIdT, ...data: any) {\n    // eslint-disable-next-line no-console\n    console.info(message, ...data);\n\n    if (isAvailableRemoteLogger) {\n        remoteLogger.trace(message, { traceId }, data);\n    }\n}\n\nexport function logError(contextMessage: string, error: Error, errorInfo?: any) {\n    // eslint-disable-next-line no-console\n    console.error(error);\n\n    if (errorInfo) {\n        // eslint-disable-next-line no-console\n        console.info(errorInfo);\n    }\n\n    if (isAvailableRemoteLogger) {\n        remoteLogger.captureException(error, { contextMessage, errorInfo }, {});\n    }\n}\n\nexport function logErrorWithTraceId(contextMessage: string, traceId: TraceIdT, error: Error, errorInfo?: any) {\n    // eslint-disable-next-line no-console\n    console.error(error);\n\n    if (errorInfo) {\n        // eslint-disable-next-line no-console\n        console.info(errorInfo);\n    }\n\n    if (isAvailableRemoteLogger) {\n        remoteLogger.captureException(error, { contextMessage, errorInfo }, { traceId });\n    }\n}\n","export type ViewEventHandlerT<T> = (event: T) => void;\n\nexport type InferChannelEventT<T extends ViewEventChannel<TODO>> = Parameters<T['emit']>[0];\n\nexport class ViewEventChannel<EventT extends {}> {\n    private subscribers: Array<ViewEventHandlerT<EventT>> = [];\n\n    subscribe = (handler: ViewEventHandlerT<EventT>) => {\n        this.subscribers.push(handler);\n    };\n\n    unsubscribe = (handler: ViewEventHandlerT<EventT>) => {\n        this.subscribers = this.subscribers.filter((subscriber) => subscriber !== handler);\n    };\n\n    emit = (event: EventT): void => {\n        this.subscribers.forEach((subscribe) => {\n            subscribe(event);\n        });\n    };\n}\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerDocumentsPage.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    ApiCarrierContractStatusT,\n    ApiShipperContractStatusT,\n    CarrierContractStatusEnum,\n    DocumentStatusEnum,\n    PartnerTypeEnum,\n    ShipperContractStatusEnum,\n} from 'common/utils/api/models';\nimport { fetchDocumentsDict } from 'common/store/documents-dict/actions';\nimport { selectDocumentsDictRequest } from 'common/store/documents-dict/selectors';\nimport { fetchDocuments } from 'common/store/documents/actions';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport { useTranslation } from 'react-i18next';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { useDocumentsRows } from 'common/layouts/BaseDocumentsLayout/hooks/use-documents-rows';\nimport NavigationTabs, {\n    NavigationTabConfigT,\n    NavigationTabsPropsT,\n} from 'common/components/tabs/NavigationTabs/NavigationTabs';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport history from 'common/utils/history';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport BaseDocumentsLayout from 'common/layouts/BaseDocumentsLayout/BaseDocumentsLayout';\nimport { selectFetchCompanyDocumentsRequest } from 'common/store/documents/selectors';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport BaseCarrierContractsLayout from 'common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsLayout';\nimport { selectCarrierContracts } from 'common/store/carrier-contracts/selectors';\nimport BaseShipperContractsLayout from 'common/layouts/BaseShipperContractsLayout/BaseShipperContractsLayout';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport isString from 'lodash/isString';\nimport { selectPartnerDetailsById } from 'broker-admin/store/partner/details/selectors';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport { partnerDetailsRefreshChannel } from 'broker-admin/store/partner/details/channels';\nimport { logWarning } from 'common/utils/logger';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PartnerDocumentsPage: React.FC<PropsT> = React.memo(() => {\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const partnerDetailsById = useSelector(selectPartnerDetailsById);\n    const partnerDetails = partnerDetailsById[partnerId as PartnerIdT] || null;\n\n    const { t } = useTranslation();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const partnerPermissions = usePartnerPermissionsContext();\n    const permissions = useSelector(selectPermissions);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (!partnerType || !partnerId) {\n            logWarning('Empty partnerType or partnerId in PartnerDocumentsPage useEffect');\n            return;\n        }\n        dispatch(fetchDocumentsDict(partnerType));\n        dispatch(fetchDocuments(partnerId));\n    }, [dispatch, partnerType, partnerId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerType || !partnerId) {\n            logWarning('Empty partnerType or partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        dispatch(fetchDocumentsDict(partnerType));\n        dispatch(fetchDocuments(partnerId, { isForceUpdate: false }));\n    }, [dispatch, partnerType, partnerId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerType || !partnerId) {\n            logWarning('Empty partnerType or partnerId in refreshPageHandler');\n            return;\n        }\n        dispatch(fetchDocumentsDict(partnerType));\n        dispatch(fetchDocuments(partnerId, { isForceUpdate: true }));\n    }, [dispatch, partnerType, partnerId]);\n    useChannelSubscribe(stateMachineRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(partnerDetailsRefreshChannel, refreshPageHandler);\n\n    const fetchDocumentsDictRequest = useSelector(selectDocumentsDictRequest(partnerType));\n    const fetchRequest = useSelector(selectFetchCompanyDocumentsRequest(partnerId));\n\n    const isLoading = fetchRequest.loading || fetchDocumentsDictRequest.loading;\n\n    const { requiredDocumentRows, optionalDocumentRows } = useDocumentsRows(partnerId, partnerType);\n\n    const requiredDocumentStatusesAttentionSet = useMemo(() => {\n        const statuses: Array<DocumentStatusEnum | null> = [\n            null, // not uploaded\n            DocumentStatusEnum.expired,\n            DocumentStatusEnum.revoked,\n            DocumentStatusEnum.rejected,\n        ];\n\n        if (partnerPermissions?.canReviewDocuments) {\n            statuses.push(DocumentStatusEnum.waitingForApprove);\n        }\n\n        return new Set<DocumentStatusEnum | null>(statuses);\n    }, [partnerPermissions]);\n\n    const optionalDocumentStatusesAttentionSet = useMemo(() => {\n        const statuses: Array<DocumentStatusEnum | null> = [];\n\n        if (partnerPermissions?.canReviewDocuments) {\n            statuses.push(DocumentStatusEnum.waitingForApprove);\n        }\n\n        return new Set<DocumentStatusEnum | null>(statuses);\n    }, [partnerPermissions]);\n\n    const carrierContactStatusesAttentionSet = useMemo(() => {\n        const statuses: Array<CarrierContractStatusEnum | null> = [];\n\n        if (permissions?.canReviewCarrierContracts) {\n            statuses.push(CarrierContractStatusEnum.waitingForApprove);\n        }\n\n        return new Set<ApiCarrierContractStatusT | null>(statuses);\n    }, [permissions]);\n\n    const shipperContactStatusesAttentionSet = useMemo(() => {\n        const statuses: Array<ShipperContractStatusEnum | null> = [];\n\n        return new Set<ApiShipperContractStatusT | null>(statuses);\n    }, []);\n\n    const badgeRequiredDocumentsCount = React.useMemo(() => {\n        return requiredDocumentRows?.filter((row) => {\n            return (\n                !row?.actualVersion ||\n                requiredDocumentStatusesAttentionSet.has(row?.actualVersion?.status as DocumentStatusEnum)\n            );\n        }).length;\n    }, [requiredDocumentRows, requiredDocumentStatusesAttentionSet]);\n\n    const badgeOptionalDocumentsCount = React.useMemo(() => {\n        return optionalDocumentRows?.filter((row) => {\n            return optionalDocumentStatusesAttentionSet.has(row?.actualVersion?.status as DocumentStatusEnum);\n        }).length;\n    }, [optionalDocumentRows, optionalDocumentStatusesAttentionSet]);\n\n    const carrierContracts = useSelector(selectCarrierContracts(partnerId));\n    const badgeCarrierContractsCount = React.useMemo(() => {\n        return carrierContracts?.filter((contract) => {\n            return contract.status && carrierContactStatusesAttentionSet.has(contract.status);\n        }).length;\n    }, [carrierContracts, carrierContactStatusesAttentionSet]);\n\n    const badgeShipperContractsCount = React.useMemo(() => {\n        return 0;\n    }, []);\n\n    const tabsConfig = React.useMemo((): Array<NavigationTabConfigT | null> => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in tabsConfig');\n            return [];\n        }\n\n        const requiredPartnerDocumentsPath = urlFactory.requiredPartnerDocuments(partnerId, partnerType);\n        const optionalPartnerDocumentsPath = urlFactory.optionalPartnerDocuments(partnerId, partnerType);\n        const partnerCarrierContractsPath = urlFactory.partnerCarrierContacts(partnerId, partnerType);\n        const partnerShipperContractsPath = urlFactory.partnerShipperContacts(partnerId, partnerType);\n\n        const tabs: Array<NavigationTabConfigT> = [\n            {\n                pathname: requiredPartnerDocumentsPath,\n                to: requiredPartnerDocumentsPath,\n                badge: badgeRequiredDocumentsCount ? (\n                    <NotificationLabel count={badgeRequiredDocumentsCount} theme={NotificationLabelThemeEnum.orange} />\n                ) : null,\n                render: () => t('common:profile-page.documents-tabs.required'),\n                testSelector: 'required-documents',\n            },\n            {\n                pathname: optionalPartnerDocumentsPath,\n                to: optionalPartnerDocumentsPath,\n                badge: badgeOptionalDocumentsCount ? (\n                    <NotificationLabel count={badgeOptionalDocumentsCount} theme={NotificationLabelThemeEnum.orange} />\n                ) : null,\n                render: () => t('common:profile-page.documents-tabs.optional'),\n                testSelector: 'optional-documents',\n            },\n        ];\n\n        if (partnerType === PartnerTypeEnum.carrier) {\n            tabs.push({\n                pathname: partnerCarrierContractsPath,\n                to: partnerCarrierContractsPath,\n                badge: badgeCarrierContractsCount ? (\n                    <NotificationLabel count={badgeCarrierContractsCount} theme={NotificationLabelThemeEnum.orange} />\n                ) : null,\n                render: () => t('common:profile-page.documents-tabs.contracts'),\n                testSelector: 'carrier-contracts',\n            });\n        }\n\n        if (partnerType === PartnerTypeEnum.shipper) {\n            tabs.push({\n                pathname: partnerShipperContractsPath,\n                to: partnerShipperContractsPath,\n                badge: badgeShipperContractsCount ? (\n                    <NotificationLabel count={badgeShipperContractsCount} theme={NotificationLabelThemeEnum.orange} />\n                ) : null,\n                render: () => t('common:profile-page.documents-tabs.contracts'),\n                testSelector: 'shipper-contracts',\n            });\n        }\n\n        return tabs;\n    }, [\n        partnerType,\n        partnerId,\n        badgeRequiredDocumentsCount,\n        badgeOptionalDocumentsCount,\n        badgeCarrierContractsCount,\n        badgeShipperContractsCount,\n        t,\n    ]);\n\n    const handleSelectTab: NavigationTabsPropsT['onSelectTab'] = (to): void => {\n        history.push({\n            ...(isString(to) ? { pathname: to } : to),\n        });\n    };\n\n    const handleUploadShipperContract = () => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleUploadShipperContract');\n            return;\n        }\n        openLeftSidebar({\n            type: BrokerSidebarsTypeEnum.uploadShipperContract,\n            partnerId,\n        });\n    };\n\n    const isAllDocumentsVerified = !!partnerDetails?.documentsVerified;\n\n    const navigationTabs = <NavigationTabs tabsConfig={tabsConfig} onSelectTab={handleSelectTab} />;\n\n    const handleOpenShipperContractDetails = (shipperContractId: ShipperContractIdT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenShipperContractDetails');\n            return;\n        }\n\n        const url = urlFactory.partnerShipperContactLanes({\n            partnerId,\n            partnerType,\n            contractId: shipperContractId,\n        });\n\n        history.push(url);\n    };\n\n    if (!partnerId || !partnerType) {\n        logWarning('Empty partnerId or partnerType in PartnerDocumentsPage');\n        return null;\n    }\n\n    return (\n        <ContentMargins>\n            <div className={cx('wrap')}>\n                <div className={cx('document-table-wrap')}>\n                    <Switch>\n                        <Route path={urlFactory.requiredPartnerDocuments(partnerId, partnerType)}>\n                            <BaseDocumentsLayout\n                                navigationTabs={navigationTabs}\n                                tableName=\"required-documents\"\n                                testSelector=\"required-documents\"\n                                isAllDocumentsVerified={isAllDocumentsVerified}\n                                isShowReviewUser\n                                isLoading={isLoading}\n                                rows={requiredDocumentRows}\n                                documentStatusesAttentionSet={requiredDocumentStatusesAttentionSet}\n                            />\n                        </Route>\n                        <Route path={urlFactory.optionalPartnerDocuments(partnerId, partnerType)}>\n                            <BaseDocumentsLayout\n                                navigationTabs={navigationTabs}\n                                tableName=\"optional-documents\"\n                                testSelector=\"optional-documents\"\n                                isAllDocumentsVerified={isAllDocumentsVerified}\n                                isShowReviewUser\n                                isLoading={isLoading}\n                                rows={optionalDocumentRows}\n                                documentStatusesAttentionSet={optionalDocumentStatusesAttentionSet}\n                            />\n                        </Route>\n                        <Route path={urlFactory.partnerCarrierContacts(partnerId, partnerType)}>\n                            <BaseCarrierContractsLayout\n                                navigationTabs={navigationTabs}\n                                tableName=\"carrier-contracts\"\n                                isLoading={isLoading}\n                                testSelector=\"carrier-contracts\"\n                                contactStatusesAttentionSet={carrierContactStatusesAttentionSet}\n                            />\n                        </Route>\n                        <Route path={urlFactory.partnerShipperContacts(partnerId, partnerType)}>\n                            <BaseShipperContractsLayout\n                                navigationTabs={navigationTabs}\n                                contactStatusesAttentionSet={shipperContactStatusesAttentionSet}\n                                onUploadShipperContract={handleUploadShipperContract}\n                                onOpenShipperContractDetails={handleOpenShipperContractDetails}\n                            />\n                        </Route>\n                        <Route>\n                            <Redirect to={urlFactory.requiredPartnerDocuments(partnerId, partnerType)} />\n                        </Route>\n                    </Switch>\n                </div>\n            </div>\n        </ContentMargins>\n    );\n});\n\nexport default PartnerDocumentsPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ErrorDetails__content___rqhBa\",\"method\":\"ErrorDetails__method___DZRPf\",\"time\":\"ErrorDetails__time___X5zi9\",\"response\":\"ErrorDetails__response___CqogG\",\"fadeIn\":\"ErrorDetails__fadeIn___Brlj9\",\"blinking\":\"ErrorDetails__blinking___leUxK\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerOrderStatusPill.scss';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiBrokerOrderStatusT, BrokerOrderStatusEnum } from 'common/utils/api/models';\nimport { BROKER_ORDER_STATUS_T_MAP } from 'common/components/status/BrokerOrderStatus/BrokerOrderStatus';\n\ntype PropsT = {\n    status?: ApiBrokerOrderStatusT | null;\n    isArchived?: boolean;\n    isSymmetrical?: boolean;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst PILL_THEME_BY_STATUS: Record<ApiBrokerOrderStatusT, PillLabelThemeEnum> = {\n    [BrokerOrderStatusEnum.newOrder]: colorCodingPillLabelTheme.attention,\n    [BrokerOrderStatusEnum.carrierUnassigned]: colorCodingPillLabelTheme.attention,\n    [BrokerOrderStatusEnum.carrierAssigned]: colorCodingPillLabelTheme.normal,\n    [BrokerOrderStatusEnum.inTransit]: colorCodingPillLabelTheme.normal,\n    [BrokerOrderStatusEnum.delivered]: colorCodingPillLabelTheme.success,\n    [BrokerOrderStatusEnum.canceled]: colorCodingPillLabelTheme.normal,\n    [BrokerOrderStatusEnum.unknown]: colorCodingPillLabelTheme.normal,\n};\n\nconst BrokerOrderStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, isSymmetrical, isArchived } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    const theme = PILL_THEME_BY_STATUS[status] || PillLabelThemeEnum.charcoal;\n\n    return (\n        <>\n            <PillLabel isNoWrap isSymmetrical={isSymmetrical} theme={theme} testSelector=\"broker-order-status\">\n                {t(BROKER_ORDER_STATUS_T_MAP[status])}\n            </PillLabel>\n            {isArchived && (\n                <PillLabel isNoWrap isSymmetrical={isSymmetrical} theme={theme} testSelector=\"broker-order-archived\">\n                    {t('common:broker-order-archived')}\n                </PillLabel>\n            )}\n        </>\n    );\n});\n\nexport default BrokerOrderStatusPill;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './FerryDisembarkPointPicker.scss';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { formatTimeInterval } from 'common/utils/time';\nimport { useFormikContext } from 'formik';\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { getFieldFormValue } from 'common/utils/form-values';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FerryDisembarkPointPicker: React.FC<PropsT> = React.memo((props) => {\n    const { routePointIndex } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const timeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n\n    return (\n        <ReadOnlyField\n            icon={\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            }\n            label={t('broker-order-route-edit.fields.ferry-disembark.label')}\n            subLabel={\n                <PillLabel className={cx('time-interval')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                    {formatTimeInterval(timeWindow?.start, timeWindow?.end)}\n                </PillLabel>\n            }\n            value={location?.address}\n        />\n    );\n});\n\nexport default FerryDisembarkPointPicker;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\nexport type CloseRFQConfirmationDataT = {\n    id: RFQIdT;\n};\n\ntype PropsT = {\n    data: CloseRFQConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: CloseRFQConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'close-rfq';\n\nconst CloseRFQConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.close'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_close`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:rfq-details.close-confirmation.title')}\n                    message={t('common:rfq-details.close-confirmation.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CloseRFQConfirmation;\n","import * as React from 'react';\nimport TruckIcon, { getTruckIconProps } from 'common/icons/TruckIcon';\nimport MapTooltip from 'common/components/maps/MapTooltip/MapTooltip';\nimport TrailerIcon, { getTrailerIconProps } from 'common/icons/TrailerIcon';\nimport AssetLinkIcon, { getAssetLinkIconProps } from 'common/icons/AssetLinkIcon';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\n\ntype PropsT = {\n    lat: number;\n    lng: number;\n    className?: string;\n    isTrailer?: boolean;\n    isTruck?: boolean;\n    isLink?: boolean;\n};\n\nconst CurrentAssetPositionPin: React.FC<PropsT> = React.memo((props) => {\n    const { lat, lng, className, isTrailer, isTruck, isLink } = props;\n\n    return (\n        <MapTooltip hasPaddings contentClassName={className} lat={lat} lng={lng} theme={MapPinThemeEnum.brandDark}>\n            {() => (\n                <>\n                    {isTruck && <TruckIcon {...getTruckIconProps('assignment-normal')} />}\n                    {isTrailer && <TrailerIcon {...getTrailerIconProps('assignment-normal')} />}\n                    {isLink && <AssetLinkIcon {...getAssetLinkIconProps('assignment-normal')} />}\n                </>\n            )}\n        </MapTooltip>\n    );\n});\n\nexport default CurrentAssetPositionPin;\n","import { ReservePreviewQueryT, ReserveQueryModifyEventT, ReserveT } from '../models';\n\nexport const getQueryModifyEventAfterReserve = (\n    prevPreviewQuery: ReservePreviewQueryT | null,\n    reserve: ReserveT | null,\n): ReserveQueryModifyEventT => {\n    let queryModifyEvent: ReserveQueryModifyEventT = {};\n\n    const isNotAvailableLane = reserve?.contractLanes?.every(\n        (contractLane) => contractLane?.id !== prevPreviewQuery?.laneId,\n    );\n    if (prevPreviewQuery?.laneId && isNotAvailableLane) {\n        queryModifyEvent = {\n            ...queryModifyEvent,\n            correctedLaneId: null,\n        };\n    }\n\n    return queryModifyEvent;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"DriversAssignmentFooterContent__content___Ju4mU\",\"fadeIn\":\"DriversAssignmentFooterContent__fadeIn___FTYxg\",\"blinking\":\"DriversAssignmentFooterContent__blinking___tiVt_\"};","import { SpotStateT } from './types';\nimport { StateT } from '../models';\n\nexport const selectSpotUpdateRequestStatus = (state: StateT): SpotStateT['requestStatus'] => state.spot.requestStatus;\n","import * as React from 'react';\nimport { useState } from 'react';\n\nimport ContactsTable from './ContactsTable/ContactsTable';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames/bind';\nimport styles from './Members.scss';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport { CompanyContactT, InviteUserRequestT } from 'common/store/members/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAddMemberRequest,\n    selectCompanyContacts,\n    selectDeleteMemberRequest,\n    selectFetchContactsRequest,\n    selectUpdateMemberRequest,\n} from 'common/store/members/selectors';\nimport {\n    cancelInvite,\n    changeUserRole,\n    deleteContact,\n    deleteUser,\n    fetchContacts,\n    inviteUser,\n    makeMainContact,\n    restoreUser,\n} from 'common/store/members/actions';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport groupBy from 'lodash/groupBy';\nimport {\n    ApiInviteUserRoleT,\n    ApiNewUserRoleT,\n    ApiUserStatusT,\n    UserRoleT,\n    UserStatusEnum,\n} from 'common/utils/api/models';\nimport { TabEnum } from 'common/layouts/Members/constants';\nimport UserStatusControl from 'common/layouts/Members/UserStatusControl/UserStatusControl';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport AddUserIcon from 'common/icons/AddUserIcon';\nimport { logWarning } from 'common/utils/logger';\nimport CancelInviteConfirmation, {\n    CancelInviteConfirmationDataT,\n} from 'common/layouts/Members/dialogs/CancelInviteConfirmation/CancelInviteConfirmation';\nimport RestoreUserConfirmation, {\n    RestoreUserConfirmationDataT,\n    RestoreUserConfirmationPropsT,\n} from 'common/layouts/Members/dialogs/RestoreUserConfirmation/RestoreUserConfirmation';\nimport DeleteContactConfirmation, {\n    DeleteContactConfirmationDataT,\n    DeleteContactConfirmationPropsT,\n} from 'common/layouts/Members/dialogs/DeleteContactConfirmation/DeleteContactConfirmation';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ChangeUserRoleModal, {\n    ChangeUserRoleModalDataT,\n    ChangeUserRoleModalPropsT,\n} from 'common/layouts/Members/dialogs/ChangeUserRoleModal/ChangeUserRoleModal';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport DeactivateUserModal, {\n    DeactivateUserModalDataT,\n    DeactivateUserModalPropsT,\n} from 'common/layouts/Members/dialogs/DeactivateUserModal/DeactivateUserModal';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { useOpenedSidebar, useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { ContactDetailsSidebarDataT } from 'common/layouts/SideBars/contents/ContactDetailsSidebarContent/models';\nimport InviteUserModal, { InviteUserModalDataT } from 'common/layouts/Members/dialogs/InviteUserModal/InviteUserModal';\nimport ChangeUserRoleConfirmation, {\n    ChangeUserRoleConfirmationDataT,\n    ChangeUserRoleConfirmationPropsT,\n} from 'common/layouts/Members/dialogs/ChangeUserRoleConfirmation/ChangeUserRoleConfirmation';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { membersRefreshChannel } from 'common/store/members/channels';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\n\nconst cx = classNames.bind(styles);\n\nconst getTabByUserStatus = (userStatus?: ApiUserStatusT) => {\n    if (userStatus === UserStatusEnum.archived) {\n        return TabEnum.archive;\n    }\n\n    return TabEnum.active;\n};\n\nconst EMPTY_CONTACTS: CompanyContactT[] = [];\n\ntype PropsT = {\n    isLockedProfile?: boolean;\n};\n\nconst Members: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const isDisableInviteUsersForLockedProfile = !!props.isLockedProfile;\n\n    const dispatch = useDispatch();\n\n    const permissions = useSelector(selectPermissions);\n\n    const deleteContactConfirmation = useModalDialog<DeleteContactConfirmationDataT>();\n    const handleDeleteContactModalDialog = (contact: CompanyContactT) => {\n        if (!contact?.id || !partnerId) {\n            logWarning('failed to confirm delete contact, empty contact?.id or partnerId');\n            return;\n        }\n\n        deleteContactConfirmation.setData({\n            contactId: contact.id,\n            partnerId,\n        });\n    };\n\n    const handleConfirmDeleteContact: DeleteContactConfirmationPropsT['onConfirm'] = React.useCallback(\n        (partnerId, contactId) => {\n            if (!contactId) {\n                logWarning('failed to delete contact, empty contactId');\n                return;\n            }\n\n            dispatch(deleteContact(contactId, partnerId));\n        },\n        [dispatch],\n    );\n\n    const cancelInviteConfirmationDialog = useModalDialog<CancelInviteConfirmationDataT>();\n    const restoreUserConfirmationDialog = useModalDialog<RestoreUserConfirmationDataT>();\n    const changeUserRoleModalDialog = useModalDialog<ChangeUserRoleModalDataT>();\n    const changeUserRoleConfirmationDialog = useModalDialog<ChangeUserRoleConfirmationDataT>();\n\n    const handleShowChangeUserRoleModalDialog = React.useCallback(\n        (contact: CompanyContactT): void => {\n            if (!partnerId || !partnerType) {\n                logWarning('Empty partnerId or partnerType in handleShowChangeUserRoleModalDialog');\n                return;\n            }\n            changeUserRoleModalDialog.setData({\n                partnerType,\n                partnerId,\n                contact: {\n                    userId: contact.userId,\n                    roles: contact.roles,\n                    fullName: contact.fullName,\n                },\n            });\n        },\n        [partnerType, partnerId, changeUserRoleModalDialog],\n    );\n\n    const handleChangeUserRole: ChangeUserRoleModalPropsT['onChangeUserRole'] = React.useCallback(\n        ({ data, changes }): void => {\n            if (!data?.partnerId) {\n                return;\n            }\n\n            changeUserRoleModalDialog.onClose();\n            changeUserRoleConfirmationDialog.setData({\n                ...data,\n                changes,\n            });\n        },\n        [changeUserRoleModalDialog, changeUserRoleConfirmationDialog],\n    );\n\n    const handleConfirmChangeUserRole: ChangeUserRoleConfirmationPropsT['onConfirm'] = React.useCallback(\n        (data): void => {\n            if (!data.partnerId) {\n                return;\n            }\n            if (!partnerId) {\n                logWarning('Empty partnerId in handleConfirmChangeUserRole');\n                return;\n            }\n\n            dispatch(changeUserRole(data.changes.roles as ApiNewUserRoleT[], data.changes.userId, partnerId));\n        },\n        [dispatch, partnerId],\n    );\n\n    const deactivateUserModalDialog = useModalDialog<DeactivateUserModalDataT>();\n    const handleShowDeactivateUserModalDialog = React.useCallback(\n        (contact: CompanyContactT): void => {\n            if (!partnerId || !partnerType) {\n                logWarning('failed to handleShowDeactivateUserModalDialog, empty partnerType or partnerId');\n                return;\n            }\n\n            deactivateUserModalDialog.setData({\n                partnerType,\n                partnerId,\n                contact: {\n                    userId: contact.userId,\n                    roles: contact.roles,\n                    fullName: contact.fullName,\n                },\n            });\n        },\n        [partnerId, partnerType, deactivateUserModalDialog],\n    );\n\n    const handleDeactivateUser: DeactivateUserModalPropsT['onDeactivateUser'] = React.useCallback(\n        ({ data, changes }): void => {\n            if (!data?.partnerId) {\n                return;\n            }\n\n            dispatch(deleteUser(changes.userId, data.partnerId));\n        },\n        [dispatch],\n    );\n\n    const [selectedTab, setSelectedTab] = React.useState<TabEnum | null>(TabEnum.active);\n    const [searchText, setSearchText] = React.useState<string>('');\n\n    const { t } = useTranslation();\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const contacts = useSelector(selectCompanyContacts(partnerId));\n    const fetchContactsRequestStatus = useSelector(selectFetchContactsRequest(partnerId));\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('failed fetchContacts, empty partnerId');\n            return;\n        }\n\n        dispatch(fetchContacts(partnerId));\n    }, [dispatch, partnerId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        dispatch(fetchContacts(partnerId, { isForceUpdate: false }));\n    }, [dispatch, partnerId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n        dispatch(fetchContacts(partnerId, { isForceUpdate: true }));\n    }, [dispatch, partnerId]);\n    useChannelSubscribe(membersRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n        dispatch(fetchContacts(partnerId, { isForceUpdate: true }));\n    }, [dispatch, partnerId]);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const openedContactSidebar = useOpenedSidebar<ContactDetailsSidebarDataT>(CommonSidebarsTypeEnum.contact);\n    const selectedContactId =\n        openedContactSidebar && 'contactId' in openedContactSidebar ? openedContactSidebar.contactId : null;\n\n    const handleConfirmRestoreUser: RestoreUserConfirmationPropsT['onConfirm'] = React.useCallback(\n        (userId, partnerId): void => {\n            if (!partnerId) {\n                logWarning('Empty partnerId in handleConfirmRestoreUser');\n                return;\n            }\n            dispatch(restoreUser(userId, partnerId));\n        },\n        [dispatch],\n    );\n\n    const inviteUserModalDialog = useModalDialog<InviteUserModalDataT>();\n\n    const addMemberRequestStatus = useSelector(selectAddMemberRequest(partnerId));\n    const handleSubmitInviteUser = (newUser: InviteUserRequestT): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleSubmitInviteUser');\n            return;\n        }\n        dispatch(inviteUser(newUser, partnerId));\n    };\n\n    const deleteMemberRequestStatus = useSelector(selectDeleteMemberRequest(partnerId));\n\n    const handleConfirmCancelInviteUser = React.useCallback(\n        (partnerId: PartnerIdT, userId: UserIdT): void => {\n            dispatch(cancelInvite(userId, partnerId));\n        },\n        [dispatch],\n    );\n\n    const updateMemberRequestStatus = useSelector(selectUpdateMemberRequest(partnerId));\n\n    const openInviteModal = (): void => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in openInviteModal');\n            return;\n        }\n        inviteUserModalDialog.setData({\n            email: '',\n            partnerId,\n            partnerType,\n        });\n    };\n\n    const handleMakeMainContact = (contact: CompanyContactT): void => {\n        if (!contact?.id) {\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleMakeMainContact');\n            return;\n        }\n\n        dispatch(makeMainContact(contact.id, partnerId));\n    };\n\n    const handleResendInviteUser = (email: string, roles: UserRoleT[]): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleResendInviteUser');\n            return;\n        }\n        dispatch(\n            inviteUser(\n                {\n                    email,\n                    roles: roles as ApiInviteUserRoleT[],\n                },\n                partnerId,\n            ),\n        );\n    };\n    const handleInviteUser = (email: string): void => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleInviteUser');\n            return;\n        }\n        inviteUserModalDialog.setData({\n            email,\n            partnerId,\n            partnerType,\n        });\n    };\n\n    const handleSelectRow = (event: React.MouseEvent, contact: CompanyContactT): void => {\n        if (!contact.id) {\n            return;\n        }\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleSelectRow');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            contactId: contact.id,\n        });\n    };\n\n    const groupedContacts = React.useMemo(() => {\n        return groupBy(contacts, (contact) => getTabByUserStatus(contact.userStatus));\n    }, [contacts]);\n\n    const activeTabContacts = React.useMemo(() => {\n        if (!selectedTab) {\n            return contacts;\n        }\n\n        return groupedContacts[selectedTab] || EMPTY_CONTACTS;\n    }, [groupedContacts, selectedTab, contacts]);\n\n    const filteredActiveTabContacts = React.useMemo(() => {\n        return (activeTabContacts || []).filter((contact) => {\n            const prepareText = (text?: string) => (text || '').trim().toLocaleLowerCase();\n            const preparedSearchText = prepareText(searchText);\n\n            const preparedPhone = prepareText(contact.phone);\n            if (preparedPhone.includes(preparedSearchText)) {\n                return true;\n            }\n\n            const preparedFullName = prepareText(contact.fullName);\n            if (preparedFullName.includes(preparedSearchText)) {\n                return true;\n            }\n\n            const preparedEmail = prepareText(contact.email);\n            if (preparedEmail.includes(preparedSearchText)) {\n                return true;\n            }\n\n            return false;\n        });\n    }, [activeTabContacts, searchText]);\n\n    const handleShowRestoreUserModalDialog = (contact: CompanyContactT) => {\n        if (!contact.id) {\n            return;\n        }\n\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleShowRestoreUserModalDialog');\n            return;\n        }\n        restoreUserConfirmationDialog.setData({\n            contactId: contact.id,\n            partnerId,\n        });\n    };\n\n    const handleCancelInviteUserModalDialog = (contact: CompanyContactT) => {\n        if (!contact.id) {\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleCancelInviteUserModalDialog');\n            return;\n        }\n\n        cancelInviteConfirmationDialog.setData({\n            contactId: contact.id,\n            partnerId,\n        });\n    };\n\n    const isLoading =\n        fetchContactsRequestStatus.loading ||\n        updateMemberRequestStatus.loading ||\n        deleteMemberRequestStatus.loading ||\n        addMemberRequestStatus.loading;\n\n    useCloseModalDialogAfterRequest(updateMemberRequestStatus, [\n        cancelInviteConfirmationDialog,\n        changeUserRoleModalDialog,\n        changeUserRoleConfirmationDialog,\n        deactivateUserModalDialog,\n        restoreUserConfirmationDialog,\n    ]);\n\n    useCloseModalDialogAfterRequest(deleteMemberRequestStatus, [deleteContactConfirmation]);\n\n    useCloseModalDialogAfterRequest(addMemberRequestStatus, [inviteUserModalDialog]);\n\n    const [allowShowBlockInviteAlert, setAllowShowBlockInviteAlert] = useState<boolean>(true);\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(filteredActiveTabContacts, fetchContactsRequestStatus)) {\n            return null;\n        }\n\n        if (fetchContactsRequestStatus?.error) {\n            return <TableError error={fetchContactsRequestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters(selectedTab ? [selectedTab] : [], [\n            searchText,\n        ]);\n        if (fetchContactsRequestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('common:team-members.messages.not-found.title')}\n                    description={t('common:team-members.messages.not-found.description')}\n                    isShowAction={false}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (fetchContactsRequestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('common:team-members.messages.empty-quick-filters.title')}\n                    description=\"\"\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('common:team-members.messages.empty.title')}\n                testSelector=\"empty\"\n                isShowAction={false}\n            />\n        );\n    };\n\n    const isShowInviteUserTrigger = !isDisableInviteUsersForLockedProfile && permissions?.canInviteTeamMembers;\n\n    return (\n        <>\n            <ListPageLayout>\n                <ListPageHeaderLayout\n                    withTopPadding\n                    leftToolsNode={\n                        <>\n                            <UserStatusControl selectedValue={selectedTab} onSelect={setSelectedTab} />\n                            <SearchControl\n                                placeholder={t('common:team-members.search-placeholder')}\n                                searchText={searchText}\n                                onChangeSearchText={setSearchText}\n                            />\n                        </>\n                    }\n                    rightToolsNode={\n                        isShowInviteUserTrigger ? (\n                            <Button theme={ButtonThemeEnum.primary} onClick={openInviteModal}>\n                                {t('common:team-members.actions.invite-user')}\n                            </Button>\n                        ) : null\n                    }\n                />\n                {isDisableInviteUsersForLockedProfile && allowShowBlockInviteAlert && (\n                    <Alert\n                        icon={\n                            <AddUserIcon\n                                fillColor={StyleGuideColorsEnum.white}\n                                strokeColor={StyleGuideColorsEnum.white}\n                            />\n                        }\n                        size={AlertSizeEnum.small}\n                        theme={AlertThemeEnum.orange}\n                        onClose={() => {\n                            setAllowShowBlockInviteAlert(false);\n                        }}\n                        className={cx('alert')}\n                    >\n                        {t('common:team-members.alerts.block-invite-for-locked-profile')}\n                    </Alert>\n                )}\n                {isLoading && <LoaderOverlay />}\n                {renderTableMessage()}\n                {!!filteredActiveTabContacts?.length && (\n                    <ContactsTable\n                        contacts={filteredActiveTabContacts}\n                        onDeleteUser={handleShowDeactivateUserModalDialog}\n                        onDeleteContact={handleDeleteContactModalDialog}\n                        onChangeUserRole={handleShowChangeUserRoleModalDialog}\n                        onRestoreUser={handleShowRestoreUserModalDialog}\n                        onCancelInvite={handleCancelInviteUserModalDialog}\n                        onMakeMainContact={handleMakeMainContact}\n                        onInviteUser={handleInviteUser}\n                        onResendInviteUser={handleResendInviteUser}\n                        selectedContactId={selectedContactId}\n                        onSelectRow={handleSelectRow}\n                        isLoading={false}\n                        canEditTeamMembers={permissions.canEditTeamMembers}\n                        canInviteUsers={!isDisableInviteUsersForLockedProfile}\n                    />\n                )}\n                <InviteUserModal\n                    data={inviteUserModalDialog.data}\n                    onClose={inviteUserModalDialog.onClose}\n                    onCancel={inviteUserModalDialog.onCancel}\n                    onInviteUser={handleSubmitInviteUser}\n                />\n                <CancelInviteConfirmation\n                    data={cancelInviteConfirmationDialog.data}\n                    onConfirm={handleConfirmCancelInviteUser}\n                    onClose={cancelInviteConfirmationDialog.onClose}\n                    onCancel={cancelInviteConfirmationDialog.onCancel}\n                />\n                <ChangeUserRoleModal\n                    data={changeUserRoleModalDialog.data}\n                    onClose={changeUserRoleModalDialog.onClose}\n                    onChangeUserRole={handleChangeUserRole}\n                />\n                <ChangeUserRoleConfirmation\n                    data={changeUserRoleConfirmationDialog.data}\n                    onClose={changeUserRoleConfirmationDialog.onClose}\n                    onConfirm={handleConfirmChangeUserRole}\n                />\n                <DeactivateUserModal\n                    data={deactivateUserModalDialog.data}\n                    onClose={deactivateUserModalDialog.onClose}\n                    onCancel={deactivateUserModalDialog.onCancel}\n                    onDeactivateUser={handleDeactivateUser}\n                />\n                <RestoreUserConfirmation\n                    data={restoreUserConfirmationDialog.data}\n                    onClose={restoreUserConfirmationDialog.onClose}\n                    onConfirm={handleConfirmRestoreUser}\n                />\n                <DeleteContactConfirmation\n                    data={deleteContactConfirmation.data}\n                    onClose={deleteContactConfirmation.onClose}\n                    onCancel={deleteContactConfirmation.onCancel}\n                    onConfirm={handleConfirmDeleteContact}\n                />\n            </ListPageLayout>\n        </>\n    );\n});\n\nexport default Members;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    FETCH_SYSTEM_SETTINGS_REQUEST,\n    FetchSystemSettingsActionT,\n    UPDATE_SYSTEM_SETTINGS_REQUEST,\n    UpdateSystemSettingsActionT,\n} from './types';\nimport {\n    fetchSystemSettings,\n    fetchSystemSettingsBegin,\n    fetchSystemSettingsError,\n    fetchSystemSettingsSuccess,\n    updateSystemSettingsBegin,\n    updateSystemSettingsError,\n    updateSystemSettingsSuccess,\n} from './actions';\n\nimport { selectSystemSettingsFetchRequest, selectSystemSettingsUpdateRequest } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { fetchSettings } from 'common/store/settings/actions';\nimport spotBrokerTranziitApi from 'broker-admin/utils/api/spot-broker-tranziit/api';\nimport pick from 'lodash/pick';\nimport isEmpty from 'lodash/isEmpty';\nimport { ApiSpotSettingsKeysT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport omit from 'lodash/omit';\n\nconst allSpotSystemSettings: ApiSpotSettingsKeysT[] = ['EXPIRES_SOON'];\n\nfunction* fetchSystemSettingsSaga(action: FetchSystemSettingsActionT): WrapGeneratorT<void> {\n    const { options } = action;\n\n    const request: ReturnType<typeof selectSystemSettingsFetchRequest> = yield select(selectSystemSettingsFetchRequest);\n    if (!checkNeedRequest(request, options)) {\n        return;\n    }\n\n    yield put(fetchSystemSettingsBegin());\n\n    const [error, data]: ReturnApiT<typeof brokerTranziitApi.fetchSystemSettings> =\n        yield brokerTranziitApi.fetchSystemSettings();\n\n    if (error) {\n        yield put(fetchSystemSettingsError(error));\n        return;\n    }\n\n    const [spotError, spotData]: ReturnApiT<typeof spotBrokerTranziitApi.fetchSystemSettings> =\n        yield spotBrokerTranziitApi.fetchSystemSettings();\n\n    if (spotError) {\n        yield put(fetchSystemSettingsError(spotError));\n        return;\n    }\n\n    yield put(\n        fetchSystemSettingsSuccess({\n            ...data,\n            ...spotData,\n        }),\n    );\n}\n\nfunction* updateSystemSettingsSaga(action: UpdateSystemSettingsActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectSystemSettingsUpdateRequest> = yield select(\n        selectSystemSettingsUpdateRequest,\n    );\n\n    if (request.loading) {\n        return;\n    }\n\n    yield put(updateSystemSettingsBegin());\n\n    const { settingsChanges } = action;\n\n    const apiSettingsChanges = omit(settingsChanges, allSpotSystemSettings);\n    const hasApiSettingsChanges = !isEmpty(apiSettingsChanges);\n    if (hasApiSettingsChanges) {\n        const [error]: ReturnApiT<typeof brokerTranziitApi.updateSystemSettings> =\n            yield brokerTranziitApi.updateSystemSettings(apiSettingsChanges);\n\n        if (error) {\n            yield put(updateSystemSettingsError(error));\n            return;\n        }\n    }\n\n    const apiSpotSettingsChanges = pick(settingsChanges, allSpotSystemSettings);\n    const hasApiSpotSettingsChanges = !isEmpty(apiSpotSettingsChanges);\n    if (hasApiSpotSettingsChanges) {\n        const [error]: ReturnApiT<typeof spotBrokerTranziitApi.updateSystemSettings> =\n            yield spotBrokerTranziitApi.updateSystemSettings(apiSpotSettingsChanges);\n\n        if (error) {\n            yield put(updateSystemSettingsError(error));\n            return;\n        }\n    }\n\n    const fetchAction = fetchSystemSettings({ isForceUpdate: true });\n    yield fetchSystemSettingsSaga(fetchAction);\n\n    yield put(updateSystemSettingsSuccess());\n\n    yield put(fetchSettings({ isForceUpdate: true }));\n}\n\nfunction* systemSettingsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_SYSTEM_SETTINGS_REQUEST, fetchSystemSettingsSaga);\n    yield takeEvery(UPDATE_SYSTEM_SETTINGS_REQUEST, updateSystemSettingsSaga);\n}\n\nexport default systemSettingsSaga;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SideBarParanja.scss';\nimport ContentRootContext from 'common/layouts/LeftMenuLayout/contexts/content-root-context';\nimport { createPortal } from 'react-dom';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst SideBarParanja: React.FC<PropsT> = React.memo(() => {\n    const contentRootNode = React.useContext(ContentRootContext);\n    if (!contentRootNode) {\n        return null;\n    }\n\n    return createPortal(<div className={cx('paranja')} />, contentRootNode);\n});\n\nexport default SideBarParanja;\n","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"NewOrderPage__header____mZ35\",\"steps\":\"NewOrderPage__steps___ou06F\",\"fadeIn\":\"NewOrderPage__fadeIn___PjKMi\",\"blinking\":\"NewOrderPage__blinking___huG9I\"};","import { ApiShipmentAttachedPaperTypeT } from 'common/utils/api/models';\n\nexport const shipmentAttachedPaperTypeOrder: Array<ApiShipmentAttachedPaperTypeT> = [\n    'DELIVERY_NOTE',\n    'SIGNED_DELIVERY_NOTE',\n    'PALLET_CERTIFICATE',\n    'TEMPERATURE_RECORD',\n    'CLAIM_DAMAGE',\n    'CUSTOMS_DECLARATION',\n    'T1_T2_DOCUMENT',\n    'EAD',\n    'CERTIFICATE_OF_ORIGIN',\n    'COMMERCIAL_INVOICE',\n    'OTHER',\n];\n","import * as React from 'react';\nimport { useMemo, useRef } from 'react';\n\nimport scrollIntoView from 'scroll-into-view';\n\nimport MultiPointOrderDraftDetails, {\n    MultiPointOrderDraftDetailsPropsT,\n} from '../MultiPointOrderDraftDetails/MultiPointOrderDraftDetails';\nimport OfferDetails from '../OfferDetails/OfferDetails';\n\nimport classNames from 'classnames/bind';\nimport styles from './OffersForm.scss';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Redirect, useParams } from 'react-router-dom';\nimport { ensureCreatedRFQ, selectOffer } from 'common/store/order-creation/actions';\nimport {\n    selectCreateRFQRequest,\n    selectIsPartialLoadingOffers,\n    selectPriceOffersByHash,\n    selectPriceOffersById,\n    selectRFQ,\n} from 'common/store/order-creation/selectors';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport {\n    ApiEmissionClassT,\n    ApiFuelOptionTypeT,\n    CurrencyEnum,\n    EmissionClassEnum,\n    FuelOptionTypeEnum,\n    OMSRoutesEnum,\n    QueryKeysEnum,\n} from 'common/constants';\nimport getDatesHash from 'common/store/order-creation/utils/get-dates-hash';\nimport history from 'common/utils/history';\nimport Money from 'common/components/Money/Money';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport AdditionalServices from './AdditionalServices/AdditionalServices';\nimport ProgressBar from './ProgressBar/ProgressBar';\nimport QuickActions from './QuickActions/QuickActions';\nimport { formatQuery } from 'common/utils/query';\nimport { sumAdditionalServicesPrice } from 'common/layouts/NewOrderPage/additional-services';\nimport HeaderSideBarPortal from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarPortal/HeaderSideBarPortal';\nimport SelectedOfferHeader from 'common/layouts/NewOrderPage/OffersForm/SelectedOfferHeader/SelectedOfferHeader';\nimport { ApiDictCarrierAdditionalServiceTypeT } from 'common/utils/api/models';\nimport { fetchAdditionalServices } from 'common/store/additional-services-dict/slice';\nimport { selectAdditionalServicesMap } from 'common/store/additional-services-dict/selectors';\nimport { WAIT_RFQ_ID } from 'common/store/order-creation/constants';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { selectTrailersDictById } from 'common/store/trailers-dict/selectors';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport FooterSideBarAlertsLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlertsLayout';\nimport {\n    CustomLineHaulT,\n    formatQueryCustomLineHaulMap,\n    parseQueryCustomLineHaulMap,\n} from 'common/layouts/NewOrderPage/query';\nimport { compareLineHaul, getPriceOfferLineHaul } from 'common/layouts/NewOrderPage/utils/custom-line-haul';\nimport { getOfferTotalPrice, safetyModifyOfferTotalPrice } from 'common/layouts/NewOrderPage/utils/offer-total-price';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\ntype QueryT = {\n    [QueryKeysEnum.orderCreationPriceOfferId]: string;\n    [QueryKeysEnum.orderCreationDropOffDate]: string;\n    [QueryKeysEnum.orderCreationPickUpDate]: string;\n    [QueryKeysEnum.orderCreationCustomLineHauls]: string;\n    [QueryKeysEnum.orderCreationAdditionalServices]: ApiDictCarrierAdditionalServiceTypeT[];\n};\n\nconst TODO = 'WAIT_EXPERIMENT_TZT-6839';\n\nconst OffersForm: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const ref = React.createRef<HTMLDivElement>();\n\n    const query = useQuery<QueryT>();\n    const params = useParams<{ rfqId: string }>();\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(ensureCreatedRFQ(params.rfqId));\n        dispatch(fetchAdditionalServices());\n        dispatch(fetchTrailersDict());\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [dispatch]);\n\n    const additionalServicesTopRef = useRef<HTMLDivElement | null>(null);\n    const setAdditionalServicesTopRef = React.useCallback((node: HTMLDivElement | null) => {\n        additionalServicesTopRef.current = node;\n    }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n    const createRFQRequestStatus = useSelector(selectCreateRFQRequest);\n    const rfq = useSelector(selectRFQ);\n\n    const priceOffersByHash = useSelector(selectPriceOffersByHash);\n    const trailersDictById = useSelector(selectTrailersDictById);\n\n    const dictTrailerInfo = trailersDictById[String(rfq?.trailerTypeId)] || null;\n\n    const pickUpDate = query[QueryKeysEnum.orderCreationPickUpDate];\n    const dropOffDate = query[QueryKeysEnum.orderCreationDropOffDate];\n    const rawCustomLineHaul = query[QueryKeysEnum.orderCreationCustomLineHauls];\n    const customLineHaulMap = React.useMemo(() => {\n        return parseQueryCustomLineHaulMap(rawCustomLineHaul);\n    }, [rawCustomLineHaul]);\n\n    const hash = getDatesHash(pickUpDate, dropOffDate);\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    const priceOffers = priceOffersByHash[hash] || [];\n    const sortedPriceOffers = React.useMemo(() => {\n        const emissionClassOrder: Record<ApiEmissionClassT, number> = {\n            [EmissionClassEnum.euro6]: 1,\n            [EmissionClassEnum.euro5]: 2,\n        };\n\n        const fuelOptionOrder: Record<ApiFuelOptionTypeT, number> = {\n            [FuelOptionTypeEnum.hvo]: 1,\n            [FuelOptionTypeEnum.diesel]: 2,\n        };\n\n        return [...priceOffers].sort((priceOfferA, priceOfferB) => {\n            const emissionClassARate = priceOfferA.emissionClass ? emissionClassOrder[priceOfferA.emissionClass] : null;\n            const emissionClassBRate = priceOfferB.emissionClass ? emissionClassOrder[priceOfferB.emissionClass] : null;\n            if (emissionClassARate && emissionClassBRate && emissionClassARate !== emissionClassBRate) {\n                return emissionClassARate - emissionClassBRate;\n            }\n\n            const fuelOptionTypeARate = priceOfferA?.fuelOptionType\n                ? fuelOptionOrder[priceOfferA.fuelOptionType]\n                : null;\n            const fuelOptionTypeBRate = priceOfferB?.fuelOptionType\n                ? fuelOptionOrder[priceOfferB.fuelOptionType]\n                : null;\n            if (fuelOptionTypeARate && fuelOptionTypeBRate && fuelOptionTypeARate !== fuelOptionTypeBRate) {\n                return fuelOptionTypeARate - fuelOptionTypeBRate;\n            }\n\n            return (priceOfferA.price || 0) - (priceOfferB.price || 0);\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [priceOffers]);\n\n    const priceOffersById = useSelector(selectPriceOffersById);\n    const selectedOfferId = query[QueryKeysEnum.orderCreationPriceOfferId];\n    const selectedOffer = priceOffersById[selectedOfferId || ''] || null;\n\n    const scrollToSelectedOffer = React.useCallback((): void => {\n        if (!ref.current) {\n            return;\n        }\n\n        scrollIntoView(ref.current, {\n            time: 300,\n        });\n    }, [ref.current]); // eslint-disable-line react-hooks/exhaustive-deps\n\n    React.useEffect((): void => {\n        scrollToSelectedOffer();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [pickUpDate, dropOffDate]);\n\n    const handleSelectPriceOffer = (offer: PriceOfferT) => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.orderCreationPriceOfferId]: offer.id,\n            }),\n        });\n    };\n\n    const handleChangeCustomLineHaul = (priceOfferId: PriceOfferIdT, customLineHaul: CustomLineHaulT | null) => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.orderCreationCustomLineHauls]: formatQueryCustomLineHaulMap({\n                    ...customLineHaulMap,\n                    [priceOfferId]: isNumber(customLineHaul) ? customLineHaul : undefined,\n                }),\n            }),\n        });\n    };\n\n    React.useEffect(() => {\n        if (sortedPriceOffers?.length && !selectedOffer) {\n            const firstPriceOffer = sortedPriceOffers[0];\n            handleSelectPriceOffer(firstPriceOffer);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [sortedPriceOffers, selectedOffer]);\n\n    const acceptPriceOffer = () => {\n        dispatch(selectOffer(params.rfqId, selectedOffer));\n    };\n\n    const selectedAdditionalServiceEnums = React.useMemo(() => {\n        return query[QueryKeysEnum.orderCreationAdditionalServices] || [];\n    }, [query]);\n\n    const additionalServiceMap = useSelector(selectAdditionalServicesMap(dictTrailerInfo?.trailerType || null));\n    const summaryAdditionalServicesPrice = React.useMemo(() => {\n        return sumAdditionalServicesPrice(selectedAdditionalServiceEnums, additionalServiceMap);\n    }, [selectedAdditionalServiceEnums, additionalServiceMap]);\n\n    const setSelectedServices = React.useCallback(\n        (selectedServicesEnums: ApiDictCarrierAdditionalServiceTypeT[]) => {\n            history.push({\n                search: formatQuery({\n                    ...query,\n                    [QueryKeysEnum.orderCreationAdditionalServices]: selectedServicesEnums,\n                }),\n            });\n        },\n        [query],\n    );\n\n    const isPartialLoadingOffers = useSelector(selectIsPartialLoadingOffers);\n    // const isExactRequest =\n    //     (isPickUpDateBased && selectedOffer?.pickUpDate === orderDraft?.pickUpDate) ||\n    //     (!isPickUpDateBased && selectedOffer?.dropOffDate === orderDraft?.dropOffDate);\n\n    const points = useMemo((): MultiPointOrderDraftDetailsPropsT['points'] => {\n        if (rfq) {\n            return rfq.points.map((point, index) => {\n                return {\n                    address: point.address,\n                    type: point.type,\n                    index,\n                };\n            });\n        }\n\n        return null;\n    }, [rfq]);\n\n    const offerTotalPrice = getOfferTotalPrice(selectedOffer);\n\n    const sourceLineHaul = getPriceOfferLineHaul(selectedOffer);\n    const customLineHaul = customLineHaulMap?.[selectedOfferId as PriceOfferIdT];\n    const { hasChangedLineHaul, lineHaulDiff } = compareLineHaul(sourceLineHaul, customLineHaul);\n\n    const totalAmount = safetyModifyOfferTotalPrice(offerTotalPrice, summaryAdditionalServicesPrice, lineHaulDiff);\n\n    const scrollToAdditionalServicesTop = (): void => {\n        const node = additionalServicesTopRef?.current || null;\n        if (!node) {\n            return;\n        }\n\n        scrollIntoView(node, {\n            time: 300,\n            align: {\n                top: 0.1,\n            },\n        });\n    };\n\n    if (params.rfqId === WAIT_RFQ_ID && createRFQRequestStatus.initial) {\n        return <Redirect to={OMSRoutesEnum.newOrder} />;\n    }\n\n    return (\n        <div className={cx('inner')} data-test-selector=\"new-order-offers\">\n            <HeaderSideBarPortal>\n                {selectedOffer && (\n                    <SelectedOfferHeader\n                        amount={totalAmount}\n                        hasChangedLineHaul={hasChangedLineHaul}\n                        currency={CurrencyEnum.EUR}\n                        onClickAmount={scrollToSelectedOffer}\n                    />\n                )}\n            </HeaderSideBarPortal>\n            <MultiPointOrderDraftDetails offer={selectedOffer} trailerType={dictTrailerInfo} points={points} />\n            {!TODO && (\n                <>\n                    <QuickActions isPartialLoadingOffers={isPartialLoadingOffers} className={cx('quick-actions')} />\n                    <ProgressBar className={cx('progress-bar')} />\n                </>\n            )}\n            <div ref={ref}>\n                <div className={cx('offers')}>\n                    {sortedPriceOffers.map((priceOffer, priceOfferIndex) => {\n                        return (\n                            <OfferDetails\n                                className={cx('offer')}\n                                isSelectable\n                                isSelected={priceOffer?.id === selectedOfferId}\n                                key={priceOffer?.id || priceOfferIndex}\n                                offer={priceOffer}\n                                onSelect={handleSelectPriceOffer}\n                                selectedAdditionalServiceEnums={selectedAdditionalServiceEnums}\n                                scrollToAdditionalServices={scrollToAdditionalServicesTop}\n                                customLineHaulMap={customLineHaulMap}\n                                onChangeCustomLineHaul={handleChangeCustomLineHaul}\n                                dictTrailerInfo={dictTrailerInfo}\n                            />\n                        );\n                    })}\n                </div>\n            </div>\n            {selectedOffer && (\n                <FooterSideBarLayout hasPaddings topNode={<FooterSideBarAlertsLayout />}>\n                    <div className={cx('actions')}>\n                        <Button\n                            theme={ButtonThemeEnum.secondary}\n                            className={cx('actions__action', {\n                                'actions__action--additional-services': true,\n                            })}\n                            type=\"button\"\n                            onClick={scrollToAdditionalServicesTop}\n                            testSelector=\"select-additional-services\"\n                        >\n                            {t('common:new-order-offers.select-additional-services')}\n                        </Button>\n                        <Tooltip\n                            className={cx('actions__action', {\n                                'actions__action--submit': true,\n                            })}\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={\n                                selectedOffer?.isExpired ? (\n                                    <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                        {t('common:new-order-offers.selected-offer-expired')}\n                                    </TooltipContent>\n                                ) : null\n                            }\n                        >\n                            {() => (\n                                <Button\n                                    className={cx('inner-button')}\n                                    theme={ButtonThemeEnum.primary}\n                                    isDisabled={selectedOffer?.isExpired}\n                                    type=\"button\"\n                                    onClick={acceptPriceOffer}\n                                    testSelector=\"next-step\"\n                                    isCenterContent\n                                    isFullWidth\n                                >\n                                    <Trans\n                                        i18nKey=\"common:new-order-offers.accept-price\"\n                                        components={{\n                                            amount: <Money amount={totalAmount} currency={CurrencyEnum.EUR} />,\n                                        }}\n                                    />\n                                </Button>\n                            )}\n                        </Tooltip>\n                    </div>\n                </FooterSideBarLayout>\n            )}\n            <AdditionalServices\n                setAdditionalServicesTopRef={setAdditionalServicesTopRef}\n                selectedServiceTypes={selectedAdditionalServiceEnums}\n                setSelectedServices={setSelectedServices}\n                selectedOffer={selectedOffer}\n                dictTrailerInfo={dictTrailerInfo}\n            />\n        </div>\n    );\n});\n\nexport default OffersForm;\n","import * as React from 'react';\nimport { useEffect, useMemo, useState } from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './BaseShipperContractLaneDetailsLayout.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport ShipperContractLaneDetailsMap, {\n    ShipperContractLaneAddressT,\n} from './ShipperContractLaneDetailsMap/ShipperContractLaneDetailsMap';\nimport { selectShipperContractLaneDetailsState } from 'common/store/shipper-contract-lane-details/selectors';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport CommonEditableShipperContractLaneDetailsLayout from 'common/layouts/CommonEditableShipperContractLaneDetailsLayout/CommonEditableShipperContractLaneDetailsLayout';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    partnerId: PartnerIdT;\n    contractId: ShipperContractIdT;\n    laneId: ShipperContractLaneIdT;\n    onOpenUserDetails?: (userId: UserIdT) => void;\n    isReadOnly: boolean;\n};\n\nconst BaseShipperContractLaneDetailsLayout: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId, contractId, laneId, onClose, isReadOnly, onOpenUserDetails } = props;\n\n    const { t } = useTranslation();\n\n    const { data } = useSelector(selectShipperContractLaneDetailsState(laneId));\n\n    const [originRadiusKm, setOriginRadiusKm] = useState<number>(0);\n\n    useEffect(() => {\n        setOriginRadiusKm(data?.originRadius || 0);\n    }, [data?.originRadius]);\n\n    const originAddress = useMemo((): ShipperContractLaneAddressT | null => {\n        return {\n            point:\n                data?.originPoint?.latitude && data?.originPoint?.longitude\n                    ? {\n                          lat: data?.originPoint?.latitude,\n                          lng: data?.originPoint?.longitude,\n                      }\n                    : null,\n            radiusKm: originRadiusKm,\n        };\n    }, [data, originRadiusKm]);\n\n    const [destinationRadiusKm, setDestinationRadiusKm] = useState<number>(0);\n\n    useEffect(() => {\n        setDestinationRadiusKm(data?.destinationRadius || 0);\n    }, [data?.destinationRadius]);\n\n    const destinationAddress = useMemo((): ShipperContractLaneAddressT | null => {\n        return {\n            point:\n                data?.destinationPoint?.latitude && data?.destinationPoint?.longitude\n                    ? {\n                          lat: data?.destinationPoint?.latitude,\n                          lng: data?.destinationPoint?.longitude,\n                      }\n                    : null,\n            radiusKm: destinationRadiusKm,\n        };\n    }, [data, destinationRadiusKm]);\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    return (\n        <GoogleMapContext.Provider value={googleMapsContextValue}>\n            <HorizontalColumnsLayout\n                leftColumnTitle={t('common:shipper-lane-details.tabs.form')}\n                leftColumnNode={\n                    <SideBarLayoutContextWrap>\n                        <CommonEditableShipperContractLaneDetailsLayout\n                            partnerId={partnerId}\n                            shipperContractId={contractId}\n                            shipperContractLaneId={laneId}\n                            onClose={onClose}\n                            onOpenUserDetails={onOpenUserDetails}\n                            onChangeOriginRadiusKm={setOriginRadiusKm}\n                            onChangeDestinationRadiusKm={setDestinationRadiusKm}\n                            isReadOnly={isReadOnly}\n                        />\n                    </SideBarLayoutContextWrap>\n                }\n                rightColumnTitle={t('common:shipper-lane-details.tabs.map')}\n                rightColumnNode={\n                    <ShipperContractLaneDetailsMap\n                        originAddress={originAddress}\n                        destinationAddress={destinationAddress}\n                    />\n                }\n            />\n        </GoogleMapContext.Provider>\n    );\n});\n\nexport default BaseShipperContractLaneDetailsLayout;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport {\n    DocumentDetailsChangesT,\n    DocumentIdsByTypeT,\n    DocumentT,\n    EvidenceOfTaxDetailsChangesT,\n    EvidenceOfTaxDetailsT,\n} from 'common/store/documents/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\nexport const FETCH_DOCUMENTS_REQUEST = 'common/documents/FETCH_DOCUMENTS_REQUEST';\nexport const FETCH_DOCUMENTS_REQUEST_BEGIN = 'common/documents/FETCH_DOCUMENTS_REQUEST_BEGIN';\nexport const FETCH_DOCUMENTS_REQUEST_ERROR = 'common/documents/FETCH_DOCUMENTS_REQUEST_ERROR';\nexport const FETCH_DOCUMENTS_REQUEST_SUCCESS = 'common/documents/FETCH_DOCUMENTS_REQUEST_SUCCESS';\n\nexport const UPLOAD_DOCUMENT_REQUEST = 'common/documents/UPLOAD_DOCUMENT_REQUEST';\nexport const UPLOAD_DOCUMENT_REQUEST_BEGIN = 'common/documents/UPLOAD_DOCUMENT_REQUEST_BEGIN';\nexport const UPLOAD_DOCUMENT_REQUEST_ERROR = 'common/documents/UPLOAD_DOCUMENT_REQUEST_ERROR';\nexport const UPLOAD_DOCUMENT_REQUEST_SUCCESS = 'common/documents/UPLOAD_DOCUMENT_REQUEST_SUCCESS';\n\nexport const APPROVE_DOCUMENT_REQUEST = 'common/documents/APPROVE_DOCUMENT_REQUEST';\nexport const APPROVE_EVIDENCE_OF_TAX_DOCUMENT_REQUEST = 'common/documents/APPROVE_EVIDENCE_OF_TAX_DOCUMENT_REQUEST';\nexport const REJECT_DOCUMENT_REQUEST = 'common/documents/REJECT_DOCUMENT_REQUEST';\nexport const REVOKE_DOCUMENT_REQUEST = 'common/documents/REVOKE_DOCUMENT_REQUEST';\nexport const UPDATE_DOCUMENT_REQUEST = 'common/documents/UPDATE_DOCUMENT_REQUEST';\nexport const UPDATE_DOCUMENT_REQUEST_BEGIN = 'common/documents/UPDATE_DOCUMENT_REQUEST_BEGIN';\nexport const UPDATE_DOCUMENT_REQUEST_ERROR = 'common/documents/UPDATE_DOCUMENT_REQUEST_ERROR';\nexport const UPDATE_DOCUMENT_REQUEST_SUCCESS = 'common/documents/UPDATE_DOCUMENT_REQUEST_SUCCESS';\n\nexport const DOWNLOAD_DOCUMENT_REQUEST = 'common/documents/DOWNLOAD_DOCUMENT_REQUEST';\nexport const DOWNLOAD_DOCUMENT_REQUEST_BEGIN = 'common/documents/DOWNLOAD_DOCUMENT_REQUEST_BEGIN';\nexport const DOWNLOAD_DOCUMENT_REQUEST_ERROR = 'common/documents/DOWNLOAD_DOCUMENT_REQUEST_ERROR';\nexport const DOWNLOAD_DOCUMENT_REQUEST_SUCCESS = 'common/documents/DOWNLOAD_DOCUMENT_REQUEST_SUCCESS';\n\nexport const FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST = 'common/documents/FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST';\nexport const FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN =\n    'common/documents/FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN';\nexport const FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR =\n    'common/documents/FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR';\nexport const FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS =\n    'common/documents/FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS';\n\nexport const UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST = 'common/documents/UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST';\nexport const UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN =\n    'common/documents/UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN';\nexport const UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR =\n    'common/documents/UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR';\nexport const UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS =\n    'common/documents/UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS';\n\nexport const RESET = 'common/documents/RESET';\n\nexport type FetchDocumentsActionT = {\n    type: typeof FETCH_DOCUMENTS_REQUEST;\n    companyId: CompanyIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchDocumentsBeginActionT = {\n    type: typeof FETCH_DOCUMENTS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type FetchDocumentsSuccessActionT = {\n    type: typeof FETCH_DOCUMENTS_REQUEST_SUCCESS;\n    documentIdsByType: DocumentIdsByTypeT;\n    documentsList: DocumentT[];\n    companyId: CompanyIdT;\n};\n\nexport type FetchDocumentsErrorActionT = {\n    type: typeof FETCH_DOCUMENTS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type UploadDocumentActionT = {\n    type: typeof UPLOAD_DOCUMENT_REQUEST;\n    partnerType: PartnerTypeEnum;\n    companyId: CompanyIdT;\n    dictDocumentId: DictDocumentFakeIdT;\n    file: File;\n};\n\nexport type UploadDocumentBeginActionT = {\n    type: typeof UPLOAD_DOCUMENT_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n    dictDocumentId: DictDocumentFakeIdT;\n};\n\nexport type UploadDocumentSuccessActionT = {\n    type: typeof UPLOAD_DOCUMENT_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type UploadDocumentErrorActionT = {\n    type: typeof UPLOAD_DOCUMENT_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type DownloadDocumentActionT = {\n    type: typeof DOWNLOAD_DOCUMENT_REQUEST;\n    documentId: string;\n    companyId: CompanyIdT;\n};\n\nexport type DownloadDocumentBeginActionT = {\n    type: typeof DOWNLOAD_DOCUMENT_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type DownloadDocumentSuccessActionT = {\n    type: typeof DOWNLOAD_DOCUMENT_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type DownloadDocumentErrorActionT = {\n    type: typeof DOWNLOAD_DOCUMENT_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type ApproveDocumentActionT = {\n    type: typeof APPROVE_DOCUMENT_REQUEST;\n    companyId: CompanyIdT;\n    documentId: DocumentIdT;\n    partnerType: PartnerTypeEnum;\n    validTill: string | null;\n};\n\nexport type ApproveEvidenceOfTaxDocumentActionT = {\n    type: typeof APPROVE_EVIDENCE_OF_TAX_DOCUMENT_REQUEST;\n    companyId: CompanyIdT;\n    documentId: DocumentIdT;\n    partnerType: PartnerTypeEnum;\n    validTill: string | null;\n    detailsChanges: EvidenceOfTaxDetailsChangesT;\n};\n\nexport type RejectDocumentActionT = {\n    type: typeof REJECT_DOCUMENT_REQUEST;\n    documentId: DocumentIdT;\n    reason: string;\n    companyId: CompanyIdT;\n    partnerType: PartnerTypeEnum;\n};\n\nexport type RevokeDocumentActionT = {\n    type: typeof REVOKE_DOCUMENT_REQUEST;\n    documentId: DocumentIdT;\n    companyId: CompanyIdT;\n    partnerType: PartnerTypeEnum;\n};\n\nexport type UpdateDocumentActionT = {\n    type: typeof UPDATE_DOCUMENT_REQUEST;\n    documentId: DocumentIdT;\n    companyId: CompanyIdT;\n    detailChanges: DocumentDetailsChangesT;\n};\n\nexport type UpdateEvidenceOfTaxDetailsActionT = {\n    type: typeof UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST;\n    companyId: CompanyIdT;\n    documentId: DocumentIdT;\n    detailsChanges: EvidenceOfTaxDetailsChangesT;\n};\n\nexport type UpdateEvidenceOfTaxDetailsBeginActionT = {\n    type: typeof UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateEvidenceOfTaxDetailsSuccessActionT = {\n    type: typeof UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateEvidenceOfTaxDetailsErrorActionT = {\n    type: typeof UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateDocumentBeginActionT = {\n    type: typeof UPDATE_DOCUMENT_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n    documentId: DocumentIdT;\n};\n\nexport type UpdateDocumentSuccessActionT = {\n    type: typeof UPDATE_DOCUMENT_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateDocumentErrorActionT = {\n    type: typeof UPDATE_DOCUMENT_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type FetchEvidenceOfTaxDetailsActionT = {\n    type: typeof FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST;\n    companyId: CompanyIdT;\n};\n\nexport type FetchEvidenceOfTaxDetailsBeginActionT = {\n    type: typeof FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type FetchEvidenceOfTaxDetailsSuccessActionT = {\n    type: typeof FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS;\n    evidenceOfTaxDetails: EvidenceOfTaxDetailsT;\n    companyId: CompanyIdT;\n};\n\nexport type FetchEvidenceOfTaxDetailsErrorActionT = {\n    type: typeof FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type ResetDocumentActionT = {\n    type: typeof RESET;\n    companyId: CompanyIdT;\n};\n\nexport type DocumentsActionT =\n    | FetchDocumentsActionT\n    | FetchDocumentsBeginActionT\n    | FetchDocumentsSuccessActionT\n    | FetchDocumentsErrorActionT\n    | UpdateEvidenceOfTaxDetailsActionT\n    | UpdateEvidenceOfTaxDetailsBeginActionT\n    | UpdateEvidenceOfTaxDetailsSuccessActionT\n    | UpdateEvidenceOfTaxDetailsErrorActionT\n    | UploadDocumentActionT\n    | UploadDocumentBeginActionT\n    | UploadDocumentSuccessActionT\n    | UploadDocumentErrorActionT\n    | UpdateDocumentBeginActionT\n    | UpdateDocumentSuccessActionT\n    | UpdateDocumentErrorActionT\n    | DownloadDocumentActionT\n    | DownloadDocumentBeginActionT\n    | DownloadDocumentSuccessActionT\n    | DownloadDocumentErrorActionT\n    | ApproveDocumentActionT\n    | ApproveEvidenceOfTaxDocumentActionT\n    | RejectDocumentActionT\n    | RevokeDocumentActionT\n    | FetchEvidenceOfTaxDetailsActionT\n    | FetchEvidenceOfTaxDetailsBeginActionT\n    | FetchEvidenceOfTaxDetailsSuccessActionT\n    | FetchEvidenceOfTaxDetailsErrorActionT\n    | ResetDocumentActionT;\n\nexport type CompanyDocumentsStateT = {\n    idsByType: DocumentIdsByTypeT | null;\n    byId: Record<DocumentIdT, DocumentT> | null;\n    ids: DocumentT['id'][] | null;\n    fetchDocumentsRequest: RequestStatusT;\n    downloadDocumentRequest: RequestStatusT;\n    uploadRequest: RequestStatusT;\n    uploadingDictDocumentId: DictDocumentFakeIdT | null;\n    updateRequest: RequestStatusT;\n    updatingDocumentId: DictDocumentFakeIdT | null;\n    evidenceOfTaxDetails: EvidenceOfTaxDetailsT | null;\n    fetchEvidenceOfTaxDetailsRequest: RequestStatusT;\n    updateEvidenceOfTaxDetailsRequest: RequestStatusT;\n};\n\nexport type DocumentsStateT = Record<CompanyIdT, CompanyDocumentsStateT>;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TableActions.scss';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nexport type TableActionOptionT = DropdownControlOptionT;\n\ntype PropsT = {\n    className?: string;\n    options: Array<TableActionOptionT | SpecialOptionEnum | null>;\n    trigger: string;\n    isDisabled: boolean;\n    overlayClassName?: string;\n    testSelector?: string;\n};\n\nconst TableActions: React.FC<PropsT> = (props) => {\n    const { className, options, trigger, isDisabled, testSelector, overlayClassName } = props;\n\n    const fullTestSelector = `${testSelector}_table-actions`;\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    label={trigger}\n                    rightIcon={<ArrowsIcon />}\n                    testSelector={fullTestSelector}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n            isDisabled={isDisabled}\n            overlayClassName={overlayClassName}\n            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n        />\n    );\n};\n\nexport default TableActions;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './HumanReadableDateCell.scss';\n\nimport isNil from 'lodash/isNil';\nimport { formatHumanReadableDate } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    date: string | null | undefined;\n    className?: string;\n    isBold?: boolean;\n    isBigFont?: boolean;\n    isAllowNever?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst HumanReadableDateCell: React.FC<PropsT> = React.memo((props) => {\n    const { date, isBold, isBigFont, className, isAllowNever } = props;\n\n    const { t } = useTranslation();\n\n    if (isNil(date)) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('date', { 'date--isBold': isBold, 'date--isBigFont': isBigFont }), className)}>\n            {formatHumanReadableDate(t, date, { isAllowNever })}\n        </div>\n    );\n});\n\nexport default HumanReadableDateCell;\n","import React, { useCallback } from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { ApiPartnerT, PartnerTypeEnum } from 'common/utils/api/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport classNames from 'classnames/bind';\nimport styles from './PartnerSuggest.scss';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiPartnerT['id'] | null;\n\nexport type OptionT = {\n    id: ApiPartnerT['id'];\n    name: ApiPartnerT['name'];\n    number: ApiPartnerT['number'];\n    countryCode: ApiPartnerT['countryCode'] | null;\n};\n\nexport type PropsT = {\n    className?: string;\n    partnerType: PartnerTypeEnum;\n    initialOptions?: Array<OptionT>;\n    initialRequestStatus?: RequestStatusT;\n    onSelect: (value: ValueT, option: OptionT | null) => void;\n    value: ValueT;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n};\n\nconst PartnerSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        partnerType,\n        initialOptions,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        initialRequestStatus,\n    } = props;\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback(\n        (query) => {\n            return brokerTranziitApi\n                .findPartnersByName(query, [partnerType])\n                .then((response): AsyncRequestFactoryResultT<OptionT> => {\n                    const [error, result] = response;\n                    if (error) {\n                        return [error, null];\n                    }\n\n                    const items: Array<OptionT> =\n                        result?.content?.map((item) => {\n                            return {\n                                id: item.id,\n                                name: item.name,\n                                number: item.number,\n                                countryCode: item.countryCode,\n                            };\n                        }) || [];\n\n                    return [null, items];\n                });\n        },\n        [partnerType],\n    );\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions,\n        requestFactory,\n        settings: {},\n    });\n\n    const handleSelect = (value: ValueT) => {\n        const option =\n            asyncOptionsRequest.options.find((option) => {\n                const optionValue = getOptionValue(option);\n                return value === optionValue;\n            }) || null;\n\n        onSelect(value, option);\n    };\n\n    const handleReset = () => {\n        onSelect(null, null);\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                className={cx('option')}\n                withoutPaddings\n                icon={option.countryCode ? <FlagIcon countryCode={option.countryCode} /> : null}\n                label={option.name || ''}\n                description={option.number || ''}\n            />\n        );\n    };\n\n    const renderTrigger = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                icon={option?.countryCode ? <FlagIcon countryCode={option.countryCode} /> : null}\n                label={option?.name || ''}\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            placeholder={placeholder}\n            options={asyncOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTrigger={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition}\n            isLoading={asyncOptionsRequest.requestStatus.loading || initialRequestStatus?.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default PartnerSuggest;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    strokeColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst PlusIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, size, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M10.75 6.25h-1.5v3h-3v1.5h3v3h1.5v-3h3v-1.5h-3v-3zM10 2.5c-4.14 0-7.5 3.36-7.5 7.5 0 4.14 3.36 7.5 7.5 7.5 4.14 0 7.5-3.36 7.5-7.5 0-4.14-3.36-7.5-7.5-7.5zM10 16c-3.308 0-6-2.693-6-6 0-3.308 2.692-6 6-6 3.307 0 6 2.692 6 6 0 3.307-2.693 6-6 6z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nPlusIcon.displayName = 'PlusIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default PlusIcon;\n","import React from 'react';\n\nexport type AssetsSelectionContextValueT = {\n    isBlockedSelectTruck: boolean;\n    isBlockedSelectTrailer: boolean;\n};\n\nexport type AssetsSelectionContextT = {\n    value: AssetsSelectionContextValueT;\n    setValue: (value: AssetsSelectionContextValueT) => void;\n};\n\nconst AssetsSelectionContext = React.createContext<AssetsSelectionContextT | null>(null);\n\nexport default AssetsSelectionContext;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './KeyAccountManagerDropdown.scss';\n\nimport UserDropdownOptionLabel from 'common/components/dropdowns/options/UserDropdownOptionLabel/UserDropdownOptionLabel';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectFetchManagersRequest,\n    selectManagersAllIds,\n    selectManagersById,\n} from 'broker-admin/store/managers/selectors';\nimport { fetchManagers } from 'broker-admin/store/managers/actions';\nimport { ManagerT } from 'broker-admin/store/managers/models';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport isNil from 'lodash/isNil';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport { prepareSearchQuery } from 'common/utils/search';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = UserIdT | null;\n\ntype PropsT = {\n    selectedValue: ValueT;\n    initialLabel: string | null;\n    placeholder: string;\n    isDisabled?: boolean;\n    onSelect: (value: ValueT, label: string) => void;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    onReset?: () => void;\n    excludeUserIds?: Array<UserIdT>;\n};\n\ntype OptionT = ValueT;\n\nconst getLabel = (user?: ManagerT) => {\n    if (!user) {\n        return '';\n    }\n    return `${user.name} ${user.surname}`;\n};\n\nconst KeyAccountManagerDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        selectedValue,\n        initialLabel,\n        placeholder,\n        isDisabled,\n        onSelect,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        hasChanges,\n        onBlur,\n        onFocus,\n        onReset,\n        excludeUserIds,\n    } = props;\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchManagers());\n    }, [dispatch]);\n\n    const fetchRequest = useSelector(selectFetchManagersRequest);\n    const allIds = useSelector(selectManagersAllIds);\n    const byId = useSelector(selectManagersById);\n\n    const renderOption = (id?: ValueT, placeholder?: string): React.ReactNode => {\n        if (isNil(id)) {\n            return <UserDropdownOptionLabel label={placeholder || ''} isPlaceholder />;\n        }\n\n        const user = byId[id];\n        if (!user) {\n            if (!initialLabel) {\n                return null;\n            }\n\n            return <UserDropdownOptionLabel label={initialLabel} />;\n        }\n\n        return <UserDropdownOptionLabel label={getLabel(user)} />;\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option;\n\n    const handleSelect = (value: ValueT) => {\n        const user = byId[value as string];\n        const label = getLabel(user);\n\n        onSelect(value, label);\n    };\n\n    const [query, setQuery] = React.useState<string>('');\n\n    const filteredOptions = React.useMemo(() => {\n        const preparedQuery = prepareSearchQuery(query);\n        const excludeUserIdsSet = new Set<UserIdT>(excludeUserIds || []);\n\n        return allIds.filter((id: UserIdT) => {\n            if (excludeUserIdsSet.has(id)) {\n                return false;\n            }\n\n            const user = byId[id];\n\n            const label = getLabel(user);\n            const preparedLabel = prepareSearchQuery(label);\n\n            return preparedLabel.includes(preparedQuery);\n        });\n    }, [allIds, query, byId, excludeUserIds]);\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={selectedValue}\n            placeholder={placeholder}\n            options={filteredOptions}\n            isDisabled={fetchRequest.loading || isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            renderRightIcon={() =>\n                fetchRequest.loading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n            }\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            onChangeQuery={setQuery}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            onReset={onReset}\n        />\n    );\n});\n\nexport default KeyAccountManagerDropdown;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './NotificationEntityLabel.scss';\n\nconst cx = classNames.bind(styles);\n\n// children not rendered by Trans component from react-i18next, use text prop instead\ntype PropsT = {\n    text: React.ReactNode;\n    isBold?: boolean;\n    isUnderline?: boolean;\n    className?: string;\n};\n\nconst NotificationEntityLabel: React.FC<PropsT> = React.memo((props) => {\n    const { text, isBold = false, isUnderline = false, className } = props;\n\n    return (\n        <span\n            className={cx('label', className, {\n                'label--bold': isBold,\n                'label--underline': isUnderline,\n            })}\n        >\n            {text}\n        </span>\n    );\n});\n\nexport default NotificationEntityLabel;\n","import * as React from 'react';\n\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport { useTranslation } from 'react-i18next';\nimport TruckIcon from 'common/icons/TruckIcon';\n\nexport type PropsT = {\n    className?: string;\n    plateNumber: string | null | undefined;\n    truckId: TruckIdT;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n};\n\nconst LinkedTruckAlert: React.FC<PropsT> = React.memo((props) => {\n    const { className, plateNumber, truckId, onOpenTruckDetails } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Alert\n            className={className}\n            icon={\n                <TruckIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.white}\n                    fillColor={StyleGuideColorsEnum.transparent}\n                />\n            }\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.gray}\n            actionText={t('common:trailers-page.add-trailer.linked-truck.actions.open-details')}\n            onClickAction={() => {\n                onOpenTruckDetails(truckId);\n            }}\n        >\n            {t('common:trailers-page.add-trailer.linked-truck.title', {\n                plateNumber: plateNumber || '',\n            })}\n        </Alert>\n    );\n});\n\nexport default LinkedTruckAlert;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"AddDriverSidebarContent__form___Lfeax\",\"actions\":\"AddDriverSidebarContent__actions___Rfmnv\",\"actions__action--cancel\":\"AddDriverSidebarContent__actions__action--cancel___kNZ0Z\",\"actions__action--add\":\"AddDriverSidebarContent__actions__action--add___Xo7Q6\",\"fadeIn\":\"AddDriverSidebarContent__fadeIn___wUExX\",\"blinking\":\"AddDriverSidebarContent__blinking___hO_uy\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './Card.scss';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport { OnKeyPressCallbackT, useKeyboardShortcut } from 'common/utils/hooks/useKeyboardShortcut';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    iconNode?: React.ReactNode;\n    titleNode: React.ReactNode;\n    titleClassName?: string;\n    afterTitleNode?: React.ReactNode;\n    titleTooltipNode?: React.ReactNode;\n    rightNode?: React.ReactNode;\n    initIsOpen?: boolean;\n    headerClassName?: string;\n    contentClassName?: string;\n    hasHeaderBottomBorder?: boolean;\n    footerNode?: React.ReactNode;\n    keyboardShortcut?: string;\n    anchor?: string;\n    isHighlighted?: boolean;\n};\n\nconst Card: React.FC<PropsT> = React.memo((props) => {\n    const {\n        iconNode,\n        titleNode,\n        titleClassName,\n        afterTitleNode,\n        titleTooltipNode,\n        rightNode,\n        initIsOpen,\n        headerClassName,\n        className,\n        contentClassName,\n        children,\n        hasHeaderBottomBorder,\n        footerNode,\n        keyboardShortcut,\n        anchor,\n        isHighlighted,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [isOpen, setIsOpen] = React.useState<boolean>(!!initIsOpen);\n\n    const handleKeyPress: OnKeyPressCallbackT = React.useCallback(\n        (key) => {\n            if (keyboardShortcut && key === keyboardShortcut) {\n                setIsOpen((isOpen) => !isOpen);\n            }\n        },\n        [keyboardShortcut],\n    );\n    useKeyboardShortcut(handleKeyPress);\n\n    const toggle = () => {\n        setIsOpen((isOpen) => !isOpen);\n    };\n\n    return (\n        <div\n            className={cs(\n                cx('wrap', {\n                    'wrap--is-highlighted': isHighlighted,\n                }),\n                className,\n            )}\n            data-anchor={anchor}\n        >\n            <div className={cs(cx('header'), headerClassName)} onClick={toggle}>\n                <div className={cx('left-node')}>\n                    {iconNode || null}\n                    {titleNode && <div className={titleClassName || cx('title')}>{titleNode}</div>}\n                    {titleTooltipNode && (\n                        <Tooltip\n                            className={cx('tooltip')}\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={\n                                <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                    {titleTooltipNode}\n                                </TooltipContent>\n                            }\n                        >\n                            {(isShow) => <TooltipIconTrigger isShow={isShow} />}\n                        </Tooltip>\n                    )}\n                    {afterTitleNode}\n                </div>\n                <div className={cx('right-node')}>\n                    {rightNode}\n                    <Tooltip\n                        position={TooltipPositionEnum.topCenter}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={\n                            <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                {t(isOpen ? 'common:tooltips.collapse' : 'common:tooltips.expand')}\n                            </TooltipContent>\n                        }\n                    >\n                        {() => (\n                            <TransparentTrigger\n                                onClick={() => {\n                                    // header onClick\n                                }}\n                                leftIcon={<ExpandIcon fillColor={StyleGuideColorsEnum.brandAccent} isInvert={isOpen} />}\n                                reflectionTheme={ReflectionThemeEnum.light}\n                            />\n                        )}\n                    </Tooltip>\n                </div>\n            </div>\n            {isOpen && (\n                <div\n                    className={cs(\n                        cx('content', {\n                            'content--has-top-border': hasHeaderBottomBorder,\n                        }),\n                        contentClassName,\n                    )}\n                >\n                    {children}\n                </div>\n            )}\n            {footerNode && (\n                <div\n                    className={cs(\n                        cx('content', {\n                            'content--has-top-border': hasHeaderBottomBorder,\n                        }),\n                        contentClassName,\n                    )}\n                >\n                    {footerNode}\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default Card;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AlertToastsManager.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getUnknownAlertToast, renderCommonAlertToast } from './utils';\nimport Toast from 'common/components/toasts/Toast/Toast';\nimport { selectAlertsById, selectNewAlertsIds } from 'common/store/alerts/selectors';\nimport Alert, { AlertSizeEnum } from 'common/components/Alert/Alert';\nimport { AlertToastRendererT } from 'common/components/toasts/AlertToastsManager/models';\nimport { deleteAlert } from 'common/store/alerts/actions';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    renderAlertToast: AlertToastRendererT;\n};\n\nconst AlertToastsManager: React.FC<PropsT> = React.memo((props) => {\n    const { renderAlertToast, className } = props;\n\n    const dispatch = useDispatch();\n\n    const newAlertIds = useSelector(selectNewAlertsIds);\n    const alertsById = useSelector(selectAlertsById);\n\n    const { t } = useTranslation();\n\n    return (\n        <div\n            className={className}\n            data-dismiss=\"alert-toasts-manager\"\n            onClick={(event) => {\n                event.stopPropagation();\n                event.preventDefault();\n            }}\n        >\n            {newAlertIds.map((alertId, alertIndex): React.ReactNode => {\n                const alert = alertsById[alertId];\n                if (!alert) {\n                    return null;\n                }\n\n                const alertToastView =\n                    renderCommonAlertToast(t, alert) || renderAlertToast(t, alert) || getUnknownAlertToast(t, alert);\n\n                if (!alertToastView) {\n                    return null;\n                }\n\n                const key = alert.id || alertIndex;\n\n                return (\n                    <Toast\n                        key={key}\n                        ttlMs={alertToastView?.customTTLMs}\n                        onClose={() => {\n                            dispatch(deleteAlert(alert.id));\n                        }}\n                    >\n                        {(onClose) => (\n                            <Alert\n                                key={key}\n                                size={alertToastView.size || AlertSizeEnum.small}\n                                icon={alertToastView.icon}\n                                theme={alertToastView.theme}\n                                className={cx('alert')}\n                                onClose={onClose}\n                                footerNode={alertToastView.footer}\n                            >\n                                {alertToastView.text}\n                            </Alert>\n                        )}\n                    </Toast>\n                );\n            })}\n        </div>\n    );\n});\n\nexport default AlertToastsManager;\n","import React, { useMemo } from 'react';\nimport styles from './DocumentEventsSummary.scss';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\nimport { DocumentVersionT } from 'common/store/documents/models';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    version: Pick<\n        DocumentVersionT,\n        | 'createdByBroker'\n        | 'createdById'\n        | 'createdByName'\n        | 'createdDate'\n        | 'lastEditByBroker'\n        | 'lastEditById'\n        | 'lastEditByName'\n        | 'lastEditDate'\n        | 'reviewedById'\n        | 'reviewedByName'\n        | 'reviewedDate'\n        | 'revokedById'\n        | 'revokedByName'\n        | 'revokedDate'\n    > | null;\n    onOpenUserDetails: (userId: UserIdT) => void;\n};\n\nconst DocumentEventsSummary: React.FC<PropsT> = (props) => {\n    const { className, version, onOpenUserDetails } = props;\n\n    const { t } = useTranslation();\n\n    const uploadEventDetails: Array<InfoTableRowT> = useMemo(\n        () => [\n            {\n                icon: null,\n                name: t('common:document.details.uploaded-date'),\n                rightNode: <DateFormatter date={version?.createdDate} />,\n                isBoldRightNode: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'upload-date',\n                hasBottomBorder: true,\n            },\n            {\n                icon: null,\n                name: t('common:document.details.uploaded-by'),\n                rightNode: (\n                    <UserLinkFormatter\n                        fullName={version?.createdByName}\n                        userId={version?.createdById}\n                        byBroker={version?.createdByBroker}\n                        onOpenUserDetails={onOpenUserDetails}\n                    />\n                ),\n                isBoldRightNode: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'upload-user',\n            },\n        ],\n        [version, onOpenUserDetails, t],\n    );\n\n    const reviewEventDetails: Array<InfoTableRowT> = useMemo(() => {\n        if (!version?.reviewedDate) {\n            return [];\n        }\n\n        return [\n            {\n                icon: null,\n                name: t('common:document.details.reviewed-date'),\n                rightNode: <DateFormatter date={version?.reviewedDate} />,\n                isBoldRightNode: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'review-date',\n                hasBottomBorder: true,\n            },\n            {\n                icon: null,\n                name: t('common:document.details.reviewed-by'),\n                rightNode: (\n                    <UserLinkFormatter\n                        fullName={version?.reviewedByName}\n                        userId={version?.reviewedById}\n                        byBroker\n                        onOpenUserDetails={onOpenUserDetails}\n                    />\n                ),\n                isBoldRightNode: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'review-user',\n            },\n        ];\n    }, [version, onOpenUserDetails, t]);\n\n    const revokeEventDetails: Array<InfoTableRowT> = useMemo(() => {\n        if (!version?.revokedDate) {\n            return [];\n        }\n        return [\n            {\n                icon: null,\n                name: t('common:document.details.revoke-date'),\n                rightNode: <DateFormatter date={version?.revokedDate} />,\n                isBoldRightNode: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'revoke-date',\n                hasBottomBorder: true,\n            },\n            {\n                icon: null,\n                name: t('common:document.details.revoke-by'),\n                rightNode: (\n                    <UserLinkFormatter\n                        fullName={version?.revokedByName}\n                        userId={version?.revokedById}\n                        byBroker\n                        onOpenUserDetails={onOpenUserDetails}\n                    />\n                ),\n                isBoldRightNode: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'revoke-user',\n            },\n        ];\n    }, [version, onOpenUserDetails, t]);\n\n    const editEventDetails: Array<InfoTableRowT> = useMemo(\n        () => [\n            {\n                icon: null,\n                name: t('common:document.details.edit-date'),\n                rightNode: <DateFormatter date={version?.lastEditDate} />,\n                isBoldRightNode: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'edit-date',\n                hasBottomBorder: true,\n            },\n            {\n                icon: null,\n                name: t('common:document.details.edit-by'),\n                rightNode: (\n                    <UserLinkFormatter\n                        fullName={version?.lastEditByName}\n                        userId={version?.lastEditById}\n                        byBroker={version?.lastEditByBroker}\n                        onOpenUserDetails={onOpenUserDetails}\n                    />\n                ),\n                isBoldRightNode: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'edit-user',\n            },\n        ],\n        [version, onOpenUserDetails, t],\n    );\n\n    if (!version) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('events'), className)}>\n            <InfoTable\n                className={cx('table', 'table--upload-details')}\n                rows={uploadEventDetails}\n                testSelector=\"upload-event\"\n            />\n            <InfoTable className={cx('table')} rows={reviewEventDetails} testSelector=\"review-event\" />\n            <InfoTable className={cx('table')} rows={revokeEventDetails} testSelector=\"revoke-event\" />\n            <InfoTable className={cx('table')} rows={editEventDetails} testSelector=\"edit-event\" />\n        </div>\n    );\n};\n\nexport default DocumentEventsSummary;\n","// extracted by mini-css-extract-plugin\nexport default {\"failed-message\":\"TimeLeft__failed-message___tIB8O\",\"status\":\"TimeLeft__status___nVHZy\",\"status--is-warning\":\"TimeLeft__status--is-warning___lRqH9\",\"time\":\"TimeLeft__time___ALfJK\",\"message\":\"TimeLeft__message___OYcMg\",\"fadeIn\":\"TimeLeft__fadeIn___fWk7P\",\"blinking\":\"TimeLeft__blinking___oK25F\"};","import * as React from 'react';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport { selectTrailersStats } from 'common/store/trailers/selectors';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useSelector } from 'react-redux';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst ActiveFleetCount: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const { partnerId } = usePartnerContext();\n\n    const trailersStats = useSelector(selectTrailersStats(partnerId));\n    if (!trailersStats || !trailersStats?.actualTotalCount) {\n        return null;\n    }\n    return (\n        <NotificationLabel\n            className={className}\n            count={trailersStats?.actualTotalCount}\n            theme={NotificationLabelThemeEnum.charcoal}\n        />\n    );\n});\n\nexport default ActiveFleetCount;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"TruckDetailsSidebarContent__fadeIn___Y5Ew3\",\"blinking\":\"TruckDetailsSidebarContent__blinking___sImR_\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const consistentStateMachineRefreshChannel = new ViewEventChannel<{}>();\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nexport type BaseConfirmApproveDocumentModalDataT<T = any> = T & {\n    partnerType: PartnerTypeEnum;\n    dictDocumentId: DictDocumentFakeIdT;\n};\n\ntype PropsT<T = any> = {\n    data: BaseConfirmApproveDocumentModalDataT<T> | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: BaseConfirmApproveDocumentModalDataT<T>) => void;\n    isLoading: boolean;\n    name: string | undefined;\n};\n\nconst TEST_SELECTOR = 'approve-document-confirmation';\n\nconst ApproveDocumentsConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { name, data, onClose, onConfirm, isLoading } = props;\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: isLoading,\n                            onClick: () => {\n                                onClose();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.approve'),\n                            theme: ButtonThemeEnum.primary,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading,\n                            isDisabled: isLoading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.brandAccent} />}\n                    title={t('common:documents.approve-confirmation.title')}\n                    message={t('common:documents.approve-confirmation.description', {\n                        document: name,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ApproveDocumentsConfirmation;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {};\n\nconst DestinationIcon: React.FC<PropsT> = () => {\n    return (\n        <svg width={20} height={20} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <circle cx={10} cy={10} r={10} fill={StyleGuideColorsEnum.blazeOrange} />\n                <path\n                    fill=\"#FFF\"\n                    fillRule=\"nonzero\"\n                    d=\"M10.277 15c1.212-.01 2.127-.259 2.744-.749.618-.49.927-1.222.927-2.197 0-.538-.14-.994-.417-1.367-.278-.374-.677-.63-1.197-.766.46-.173.81-.442 1.046-.807.237-.364.356-.804.356-1.32 0-.892-.334-1.574-1.002-2.043-.667-.47-1.641-.704-2.922-.704H6.237V15h4.04zm-.39-5.804h-1.25V6.9h1.175c.538 0 .927.093 1.169.277.241.185.362.487.362.906 0 .365-.111.64-.335.827-.223.187-.597.283-1.12.287zm.321 3.958H8.636V10.77h1.682c.825.004 1.237.421 1.237 1.25 0 .36-.116.64-.348.838-.233.198-.566.297-.999.297z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nDestinationIcon.displayName = 'DestinationIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default DestinationIcon;\n","import React from 'react';\n\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useTranslation } from 'react-i18next';\nimport DropdownControlTriggerLabel from 'design-system/components/dropdowns/option/DropdownControlTriggerLabel/DropdownControlTriggerLabel';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport { TabEnum } from 'common/layouts/Members/constants';\n\ntype ValueT = TabEnum;\n\ntype PropsT = {\n    selectedValue: ValueT | null;\n    onSelect: (type: ValueT | null) => void;\n    className?: string;\n};\n\nconst TAB_LABEL_T: Record<TabEnum, string> = {\n    [TabEnum.archive]: 'common:team-members.tabs.archive',\n    [TabEnum.active]: 'common:team-members.tabs.active',\n};\n\nconst UserStatusControl: React.FC<PropsT> = (props) => {\n    const { selectedValue, onSelect, className } = props;\n\n    const { t } = useTranslation();\n\n    const handleSelectOption = React.useCallback(\n        (value: TabEnum | null) => {\n            onSelect(value);\n        },\n        [onSelect],\n    );\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum> = React.useMemo(\n        () => [\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={selectedValue === TabEnum.active}\n                        label={t(TAB_LABEL_T[TabEnum.active])}\n                    />\n                ),\n                onSelect: () => handleSelectOption(TabEnum.active),\n            },\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={selectedValue === TabEnum.archive}\n                        label={t(TAB_LABEL_T[TabEnum.archive])}\n                    />\n                ),\n                onSelect: () => handleSelectOption(TabEnum.archive),\n            },\n        ],\n        [t, selectedValue, handleSelectOption],\n    );\n\n    const triggerNode = React.useMemo(() => {\n        if (!selectedValue) {\n            return <DropdownControlTriggerLabel label=\"-\" />;\n        }\n\n        return <DropdownControlTriggerLabel label={t(TAB_LABEL_T[selectedValue])} />;\n    }, [selectedValue, t]);\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    label={triggerNode}\n                    isPressed={isActive}\n                    onClick={onClick}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                    rightIcon={<ArrowsIcon />}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default UserStatusControl;\n","import {\n    COUNTRIES_DICT_REQUEST,\n    COUNTRIES_DICT_REQUEST_BEGIN,\n    COUNTRIES_DICT_REQUEST_ERROR,\n    COUNTRIES_DICT_REQUEST_SUCCESS,\n    FetchCountriesDictActionT,\n    FetchCountriesDictBeginActionT,\n    FetchCountriesDictErrorActionT,\n    FetchCountriesDictSuccessActionT,\n} from './types';\nimport { CountriesListT } from './models';\n\nexport const fetchCountriesDict = (): FetchCountriesDictActionT => ({\n    type: COUNTRIES_DICT_REQUEST,\n});\n\nexport const fetchCountriesDictBegin = (): FetchCountriesDictBeginActionT => ({\n    type: COUNTRIES_DICT_REQUEST_BEGIN,\n});\n\nexport const fetchCountriesDictSuccess = (countriesList: CountriesListT): FetchCountriesDictSuccessActionT => ({\n    type: COUNTRIES_DICT_REQUEST_SUCCESS,\n    countriesList,\n});\n\nexport const fetchCountriesDictError = (error: Error): FetchCountriesDictErrorActionT => ({\n    type: COUNTRIES_DICT_REQUEST_ERROR,\n    error,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"grid\":\"PapersGrid__grid___ECaW1\",\"fadeIn\":\"PapersGrid__fadeIn___LIrvT\",\"blinking\":\"PapersGrid__blinking___VLy2l\"};","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"RFQsTable__table__header___c1abE\",\"table__header--origin\":\"RFQsTable__table__header--origin___BjsCo\",\"table__header--prices\":\"RFQsTable__table__header--prices___vm0Bi\",\"table__header--external-number\":\"RFQsTable__table__header--external-number___taaxs\",\"table__column\":\"RFQsTable__table__column___QuuF2\",\"table__column--origin\":\"RFQsTable__table__column--origin___pm_m4\",\"table__column--destination\":\"RFQsTable__table__column--destination____zUBH\",\"table__column--create\":\"RFQsTable__table__column--create___Budjp\",\"table__column--external-number\":\"RFQsTable__table__column--external-number___KV8IK\",\"table__column--prices\":\"RFQsTable__table__column--prices___dqKmc\",\"table__column--status\":\"RFQsTable__table__column--status___E4vG3\",\"fadeIn\":\"RFQsTable__fadeIn___RVRHa\",\"blinking\":\"RFQsTable__blinking___nEZx3\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './Loader.scss';\n\ntype PropsT = {\n    size?: number;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst Loader: React.FC<PropsT> = React.memo((props) => {\n    const { size = 20, className } = props;\n\n    return (\n        <div\n            className={cs(cx('loader'), className)}\n            style={{\n                width: `${size}px`,\n                height: `${size}px`,\n            }}\n        />\n    );\n});\n\nexport default Loader;\n","import { SettingsStateT } from './types';\nimport { SharableStateT } from 'common/store/models';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNil from 'lodash/isNil';\nimport { MS_IN_HOUR, MS_IN_MIN, MS_IN_SEC } from 'common/utils/time';\n\nexport const selectSettingsStatus = (state: SharableStateT): SettingsStateT['fetchRequest'] => {\n    return state.settings.fetchRequest;\n};\n\nexport const selectMinWindowSizeMs = (state: SharableStateT): number => {\n    const value = state.settings.data?.MIN_WINDOW_SIZE?.value;\n    if (isNil(value)) {\n        return MS_IN_HOUR;\n    }\n\n    const parsedValue = parseSimpleNumber(value);\n    if (parsedValue) {\n        return parsedValue * MS_IN_SEC;\n    }\n\n    return MS_IN_HOUR;\n};\n\nexport const selectMaxWindowSizeMs = (state: SharableStateT): number => {\n    const value = state.settings.data?.MAX_WINDOW_SIZE?.value;\n    if (isNil(value)) {\n        return MS_IN_HOUR;\n    }\n\n    const parsedValue = parseSimpleNumber(value);\n    if (parsedValue) {\n        return parsedValue * MS_IN_SEC;\n    }\n\n    return MS_IN_HOUR;\n};\n\nexport const selectOrderCreationMs = (state: SharableStateT): number | null => {\n    const value = state.settings.data?.ORDER_CREATION_SECONDS?.value;\n    if (isNil(value)) {\n        return null;\n    }\n\n    const parsedValue = parseSimpleNumber(value);\n    if (parsedValue) {\n        return parsedValue * MS_IN_SEC;\n    }\n\n    return null;\n};\n\nconst DEFAULT_TIME_WINDOW_QUANTUM = 15 * MS_IN_MIN;\n\nexport const selectTimeWindowQuantumMs = (state: SharableStateT): number => {\n    const value = state.settings.data?.QUANTUM_MINUTES?.value;\n    if (isNil(value)) {\n        return DEFAULT_TIME_WINDOW_QUANTUM;\n    }\n\n    const parsedValue = parseSimpleNumber(value);\n    if (parsedValue) {\n        return parsedValue * MS_IN_MIN;\n    }\n\n    return DEFAULT_TIME_WINDOW_QUANTUM;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"TrailerActionHistory__table___CvclH\",\"fadeIn\":\"TrailerActionHistory__fadeIn___NFZbW\",\"blinking\":\"TrailerActionHistory__blinking___HFqZM\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SaveFooterContent.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst SaveFooterContent: React.FC<PropsT> = React.memo(() => {\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    const { t } = useTranslation();\n\n    return (\n        <div className={cx('content')}>\n            <Button\n                theme={ButtonThemeEnum.primary}\n                className={cx('action')}\n                onClick={remoteFormActionsContext.remoteFormCallbacks?.submit}\n                isLoading={remoteFormActionsContext.remoteFormRequest?.isLoading}\n                isDisabled={remoteFormActionsContext.remoteFormRequest?.isLoading}\n            >\n                {t('common:document.actions.save')}\n            </Button>\n        </div>\n    );\n});\n\nexport default SaveFooterContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"ChangeRateOrContractWarning__fadeIn____HtNw\",\"blinking\":\"ChangeRateOrContractWarning__blinking___rSvSu\"};","export const collectDebugInfo = (changes: Partial<typeof window.debugInfo>) => {\n    if (!window.debugInfo) {\n        window.debugInfo = {};\n    }\n\n    window.debugInfo = {\n        ...window.debugInfo,\n        ...changes,\n    };\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './RulePreview.scss';\nimport { RulePreviewResponseT } from 'broker-admin/store/price-settings/rules/models';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport RulePreviewPill from 'broker-admin/layouts/PriceSettingsRulePreviewLayout/RulePreviewPill/RulePreviewPill';\nimport { useTranslation } from 'react-i18next';\nimport { ApiPriceComponentTypeT, PriceComponentTypeEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { ApiPreviewRuleT, ApiRuleOperatorT } from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\nimport RuleImpact from 'common/components/RuleImpact/RuleImpact';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    currentRuleId: RuleIdT | null;\n    preview: RulePreviewResponseT | null;\n    onDeactivateRule: (ruleId: RuleIdT) => void;\n};\n\nconst categoryI18nMap: Record<ApiPriceComponentTypeT, string> = {\n    [PriceComponentTypeEnum.lineHaul]: 'price-settings.rules.preview.categories.line-haul',\n    [PriceComponentTypeEnum.fuel]: 'price-settings.rules.preview.categories.fuel',\n    [PriceComponentTypeEnum.roadTaxes]: 'price-settings.rules.preview.categories.road-taxes',\n    [PriceComponentTypeEnum.roadTaxesGeneral]: 'price-settings.rules.preview.categories.road-taxes-general',\n    [PriceComponentTypeEnum.roadTaxesCity]: 'price-settings.rules.preview.categories.road-taxes-city',\n    [PriceComponentTypeEnum.roadTaxesBridge]: 'price-settings.rules.preview.categories.road-taxes-bridge',\n    [PriceComponentTypeEnum.roadTaxesTunnel]: 'price-settings.rules.preview.categories.road-taxes-tunnel',\n    [PriceComponentTypeEnum.roadTaxesFerry]: 'price-settings.rules.preview.categories.road-taxes-ferry',\n    [PriceComponentTypeEnum.roadTaxesMountainPass]: 'price-settings.rules.preview.categories.road-taxes-mountain-pass',\n    [PriceComponentTypeEnum.serviceFee]: 'price-settings.rules.preview.categories.service-fee',\n};\n\nconst LEVEL_PADDING_PX = 30;\n\nconst categoryLevel: Record<ApiPriceComponentTypeT, number> = {\n    [PriceComponentTypeEnum.lineHaul]: 0,\n    [PriceComponentTypeEnum.fuel]: 0,\n    [PriceComponentTypeEnum.roadTaxes]: 0,\n    [PriceComponentTypeEnum.roadTaxesGeneral]: 1,\n    [PriceComponentTypeEnum.roadTaxesCity]: 1,\n    [PriceComponentTypeEnum.roadTaxesBridge]: 1,\n    [PriceComponentTypeEnum.roadTaxesTunnel]: 1,\n    [PriceComponentTypeEnum.roadTaxesFerry]: 1,\n    [PriceComponentTypeEnum.roadTaxesMountainPass]: 1,\n    [PriceComponentTypeEnum.serviceFee]: 0,\n};\n\nconst categoryOrder: Array<ApiPriceComponentTypeT> = [\n    PriceComponentTypeEnum.lineHaul,\n    PriceComponentTypeEnum.roadTaxes,\n    PriceComponentTypeEnum.roadTaxesGeneral,\n    PriceComponentTypeEnum.roadTaxesCity,\n    PriceComponentTypeEnum.roadTaxesBridge,\n    PriceComponentTypeEnum.roadTaxesTunnel,\n    PriceComponentTypeEnum.roadTaxesFerry,\n    PriceComponentTypeEnum.roadTaxesMountainPass,\n    PriceComponentTypeEnum.fuel,\n    PriceComponentTypeEnum.serviceFee,\n];\n\nenum RuleGroupEnum {\n    ignored = 'ignored',\n    new = 'new',\n    other = 'other',\n}\n\nconst ruleGroupOrder: Array<RuleGroupEnum> = [RuleGroupEnum.ignored, RuleGroupEnum.new, RuleGroupEnum.other];\n\nconst ruleGroupI18nMap: Record<RuleGroupEnum, string | null> = {\n    [RuleGroupEnum.ignored]: 'price-settings.rules.preview.groups.ignored',\n    [RuleGroupEnum.new]: 'price-settings.rules.preview.groups.current',\n    [RuleGroupEnum.other]: null,\n};\n\nconst newRuleGroupI18nMap: Record<RuleGroupEnum, string | null> = {\n    [RuleGroupEnum.ignored]: 'price-settings.rules.preview.groups.ignored',\n    [RuleGroupEnum.new]: 'price-settings.rules.preview.groups.new',\n    [RuleGroupEnum.other]: null,\n};\n\ntype GroupedRulesT = Partial<Record<RuleGroupEnum, Array<ApiPreviewRuleT>>>;\n\ntype RuleCategoriesT = Partial<\n    Record<\n        PriceComponentTypeEnum,\n        {\n            value: number;\n            operator: ApiRuleOperatorT;\n            groups: GroupedRulesT;\n        }\n    >\n>;\n\nconst RulePreview: React.FC<PropsT> = (props) => {\n    const { className, currentRuleId, preview, onDeactivateRule } = props;\n\n    const { t } = useTranslation();\n\n    const groupedRules = React.useMemo((): RuleCategoriesT => {\n        if (!preview) {\n            return {};\n        }\n\n        return preview.reduce<RuleCategoriesT>((acc, item) => {\n            if (item.target && isNumber(item.finalValue) && item.finalOperator) {\n                acc[item.target] = {\n                    value: item.finalValue,\n                    operator: item.finalOperator,\n                    groups:\n                        item.rules?.reduce<GroupedRulesT>((acc, item) => {\n                            let group = RuleGroupEnum.other;\n                            if (item.ignored) {\n                                group = RuleGroupEnum.ignored;\n                            } else if (item.newRule) {\n                                group = RuleGroupEnum.new;\n                            }\n\n                            if (!acc[group]) {\n                                acc[group] = [];\n                            }\n\n                            acc[group]?.push(item);\n\n                            return acc;\n                        }, {}) || {},\n                };\n            }\n\n            return acc;\n        }, {});\n    }, [preview]);\n\n    return (\n        <div className={cx('inner', className)}>\n            {categoryOrder.map((category) => {\n                const data = groupedRules[category];\n\n                let summaryTheme = PillLabelThemeEnum.slate;\n                if (data?.operator === 'PERCENTS') {\n                    summaryTheme =\n                        isNumber(data.value) && data.value > 0\n                            ? PillLabelThemeEnum.orange\n                            : PillLabelThemeEnum.brandAccent;\n                }\n\n                const hasNew = !!data?.groups?.[RuleGroupEnum.new]?.length;\n                if (hasNew) {\n                    summaryTheme = PillLabelThemeEnum.black;\n                }\n\n                return (\n                    <div\n                        key={category}\n                        className={cx('group')}\n                        style={{ paddingLeft: categoryLevel[category] * LEVEL_PADDING_PX }}\n                    >\n                        <div className={cx('group-head')}>\n                            <div className={cx('group-title')}>▪︎ {t(categoryI18nMap[category])}</div>\n                            <PillLabel className={cx('group-summary')} theme={summaryTheme} isSymmetrical>\n                                <RuleImpact value={data?.value} impactStrategy={data?.operator} />\n                            </PillLabel>\n                        </div>\n                        <div className={cx('rules')}>\n                            {ruleGroupOrder.map((groupName) => {\n                                const groupRules = data?.groups?.[groupName] || [];\n                                if (!groupRules?.length) {\n                                    return null;\n                                }\n\n                                const isNewRule = !currentRuleId;\n                                const ruleGroupI18nKey = isNewRule\n                                    ? newRuleGroupI18nMap[groupName]\n                                    : ruleGroupI18nMap[groupName];\n\n                                return (\n                                    <div className={cx('rule-category')} key={groupName}>\n                                        <div className={cx('rule-category-pills')}>\n                                            {groupRules?.map((rule) => {\n                                                const ruleId = isNumber(rule.id) ? String(rule.id) : null;\n                                                if (\n                                                    !ruleId ||\n                                                    !isNumber(rule.value) ||\n                                                    !rule?.operator ||\n                                                    !rule.ruleType\n                                                ) {\n                                                    return null;\n                                                }\n\n                                                let ruleTheme = PillLabelThemeEnum.slate;\n                                                if (rule?.operator === 'PERCENTS') {\n                                                    ruleTheme =\n                                                        isNumber(rule.value) && rule.value > 0\n                                                            ? PillLabelThemeEnum.orange\n                                                            : PillLabelThemeEnum.brandAccent;\n                                                }\n                                                if (rule?.newRule) {\n                                                    ruleTheme = PillLabelThemeEnum.black;\n                                                }\n                                                if (rule?.ignored) {\n                                                    ruleTheme = hasNew\n                                                        ? PillLabelThemeEnum.tomatoRed70\n                                                        : PillLabelThemeEnum.black30;\n                                                }\n\n                                                const isAllowClick = !rule.newRule && currentRuleId !== ruleId;\n\n                                                return (\n                                                    <RulePreviewPill\n                                                        key={ruleId}\n                                                        onClick={isAllowClick ? onDeactivateRule : null}\n                                                        ruleClassName={cx('rule-pill')}\n                                                        typeClassName={cx('type-pill')}\n                                                        ruleId={ruleId}\n                                                        ruleValue={rule.value}\n                                                        ruleOperator={rule.operator}\n                                                        ruleName={rule.name || '-'}\n                                                        ruleTheme={ruleTheme}\n                                                        ruleType={rule.ruleType}\n                                                    />\n                                                );\n                                            })}\n                                        </div>\n                                        {ruleGroupI18nKey && (\n                                            <div\n                                                className={cx('rule-category-title', {\n                                                    'rule-category-title--ignored':\n                                                        groupName === RuleGroupEnum.ignored && hasNew,\n                                                    'rule-category-title--ignored-not-actual':\n                                                        groupName === RuleGroupEnum.ignored && !hasNew,\n                                                    'rule-category-title--new': groupName === RuleGroupEnum.new,\n                                                })}\n                                            >\n                                                {t(ruleGroupI18nKey)}\n                                            </div>\n                                        )}\n                                    </div>\n                                );\n                            })}\n                        </div>\n                    </div>\n                );\n            })}\n        </div>\n    );\n};\n\nexport default RulePreview;\n","export enum TabEnum {\n    active = 'active',\n    archive = 'archive',\n}\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ExternalNumberCell.scss';\n\ntype PropsT = {\n    number: string | null | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ExternalNumberCell: React.FC<PropsT> = React.memo((props) => {\n    const { number } = props;\n\n    return <div className={cx('number')}>{number}</div>;\n});\n\nexport default ExternalNumberCell;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { UnlockPartnerConfirmationDataT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    data: UnlockPartnerConfirmationDataT | null;\n    requestStatus: RequestStatusT;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (data: UnlockPartnerConfirmationDataT | null) => void;\n};\n\nconst TEST_SELECTOR = 'unlock-partner-confirmation';\n\nconst UnlockPartnerConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, requestStatus, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.unlock'),\n                            theme: ButtonThemeEnum.danger,\n                            isLoading: requestStatus.loading,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('partner.details-tab.dialogs.unlock-partner.title')}\n                    message={t('partner.details-tab.dialogs.unlock-partner.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default UnlockPartnerConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"EditTimeWindowsFooterContent__content___NzyS2\",\"fadeIn\":\"EditTimeWindowsFooterContent__fadeIn___YUysT\",\"blinking\":\"EditTimeWindowsFooterContent__blinking___WsyeL\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"RunningOutOfTimeAssignAssetsCard__wrap___woXME\",\"fadeIn\":\"RunningOutOfTimeAssignAssetsCard__fadeIn___aIxsF\",\"blinking\":\"RunningOutOfTimeAssignAssetsCard__blinking___WRUpq\"};","// extracted by mini-css-extract-plugin\nexport default {\"text--is-capitalized\":\"NotificationSubjectType__text--is-capitalized___s0mIk\",\"text--is-uppercase\":\"NotificationSubjectType__text--is-uppercase___wDDuh\",\"fadeIn\":\"NotificationSubjectType__fadeIn___Dh3nU\",\"blinking\":\"NotificationSubjectType__blinking___Ju1Uf\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './UploadShipperContractSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT, MIN_VALID_FROM_VALID_TILL_DAYS } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport { useDispatch, useSelector } from 'react-redux';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { UploadShipperContractSidebarDataT } from './models';\nimport FilePickerInput from 'design-system/components/FilePickerInput/FilePickerInput';\nimport DatePicker, {\n    DatePickerOverlayPositionEnum,\n    datePicketRangePresets,\n} from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { uploadShipperContract } from 'common/store/shipper-contract-details/slice';\nimport { UploadShipperContractDetailsT } from 'common/store/shipper-contract-details/models';\nimport { logWarning } from 'common/utils/logger';\nimport { selectUpdateShipperContractRequest } from 'common/store/shipper-contract-details/selectors';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport moment from 'moment';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DownloadIcon from 'common/icons/DownloadIcon';\n\nconst cx = classNames.bind(styles);\n\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(Object.values(FieldsEnum));\n\ntype PropsT = SidebarContentPropsT<UploadShipperContractSidebarDataT, BrokerSidebarDataT>;\n\nconst VALID_TILL_FORMAT = 'YYYY-MM-DD';\n\nconst UploadShipperContractSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onGoBack, onClose, setNeedCloseConfirmation } = props;\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const uploadRequestStatus = useSelector(selectUpdateShipperContractRequest);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues();\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const file = values[FieldsEnum.file];\n            if (!file) {\n                logWarning('failed to upload shipper contract, empty file');\n                return;\n            }\n\n            const details: UploadShipperContractDetailsT = {\n                name: simpleStringFormatter(values[FieldsEnum.name]),\n                number: simpleStringFormatter(values[FieldsEnum.number]),\n                validFrom: moment(values[FieldsEnum.activateDate]).format(VALID_TILL_FORMAT),\n                validTill: moment(values[FieldsEnum.validTillDate]).format(VALID_TILL_FORMAT),\n            };\n\n            dispatch(\n                uploadShipperContract({\n                    partnerId: data.partnerId,\n                    file,\n                    details,\n                }),\n            );\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n    React.useEffect(() => {\n        if (hasAnyFieldValueChanges) {\n            setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    useCloseSidebarAfterRequest(uploadRequestStatus, onGoBack || onClose);\n\n    const activateDate = formik.values[FieldsEnum.activateDate];\n    const minValidTillDate = React.useMemo(() => {\n        if (!activateDate) {\n            return datePicketRangePresets.documentValidTill.minDate;\n        }\n\n        return moment(activateDate).add(MIN_VALID_FROM_VALID_TILL_DAYS, 'day').format();\n    }, [activateDate]);\n\n    const validTillDate = formik.values[FieldsEnum.validTillDate];\n    const maxActivateDate = React.useMemo(() => {\n        if (!validTillDate) {\n            return datePicketRangePresets.documentValidTill.maxDate;\n        }\n\n        return moment(validTillDate).subtract(1, 'day').format();\n    }, [validTillDate]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('sidebars.upload-shipper-contract.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--name')}\n                        name={FieldsEnum.name}\n                        error={formik.errors[FieldsEnum.name]}\n                        meta={formik.getFieldMeta(FieldsEnum.name)}\n                        label={t('sidebars.upload-shipper-contract.fields.name.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.name}\n                                value={formik.values[FieldsEnum.name]}\n                                placeholder={t('sidebars.upload-shipper-contract.fields.name.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--number')}\n                        name={FieldsEnum.number}\n                        error={formik.errors[FieldsEnum.number]}\n                        meta={formik.getFieldMeta(FieldsEnum.number)}\n                        tooltipNode={\n                            <TooltipContent isCenter theme={TooltipContentThemeEnum.black} width={150}>\n                                {t('sidebars.upload-shipper-contract.fields.number.tooltip')}\n                            </TooltipContent>\n                        }\n                        tooltipPosition={TooltipPositionEnum.centerLeft}\n                        label={t('sidebars.upload-shipper-contract.fields.number.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.number}\n                                value={formik.values[FieldsEnum.number]}\n                                placeholder={t('sidebars.upload-shipper-contract.fields.number.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--activate-date')}\n                        name={FieldsEnum.activateDate}\n                        error={formik.errors[FieldsEnum.activateDate]}\n                        meta={formik.getFieldMeta(FieldsEnum.activateDate)}\n                        label={t('sidebars.upload-shipper-contract.fields.activate-date.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                value={formik.values[FieldsEnum.activateDate]}\n                                placeholder={t('sidebars.upload-shipper-contract.fields.activate-date.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                minDate={datePicketRangePresets.documentValidTill.minDate}\n                                maxDate={maxActivateDate}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                                hasYearMonthForm\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--valid-till')}\n                        name={FieldsEnum.validTillDate}\n                        error={formik.errors[FieldsEnum.validTillDate]}\n                        meta={formik.getFieldMeta(FieldsEnum.validTillDate)}\n                        label={t('sidebars.upload-shipper-contract.fields.valid-till-date.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                value={formik.values[FieldsEnum.validTillDate]}\n                                placeholder={t('sidebars.upload-shipper-contract.fields.valid-till-date.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                minDate={minValidTillDate}\n                                maxDate={datePicketRangePresets.documentValidTill.maxDate}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                hasClearControl\n                                hasYearMonthForm\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--file')}\n                    name={FieldsEnum.file}\n                    error={formik.errors[FieldsEnum.file]}\n                    meta={formik.getFieldMeta(FieldsEnum.file)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    withoutLabel\n                >\n                    {(props) => (\n                        <FilePickerInput\n                            accept=\"image/*,application/pdf\"\n                            name={FieldsEnum.file}\n                            value={formik.values[FieldsEnum.file]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                            renderLeftIcon={({ isEmpty }) => (\n                                <DownloadIcon\n                                    fillColor={isEmpty ? StyleGuideColorsEnum.charcoal : StyleGuideColorsEnum.brandDark}\n                                    size={DEFAULT_ICON_SIZE}\n                                />\n                            )}\n                        />\n                    )}\n                </FormikField>\n                <FooterSideBarLayout hasPaddings>\n                    <Button\n                        theme={ButtonThemeEnum.primary}\n                        isLoading={uploadRequestStatus.loading}\n                        type=\"submit\"\n                        isFullWidth\n                        isCenterContent\n                    >\n                        {t('sidebars.upload-shipper-contract.actions.submit')}\n                    </Button>\n                </FooterSideBarLayout>\n            </SideBarLayout>\n        </form>\n    );\n};\n\nexport default UploadShipperContractSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"DropdownControl__input___EExC4\",\"overlay__option\":\"DropdownControl__overlay__option___iTw4R\",\"overlay__option--isSelected\":\"DropdownControl__overlay__option--isSelected___1f9HY\",\"overlay__separator\":\"DropdownControl__overlay__separator___TRMK0\",\"fadeIn\":\"DropdownControl__fadeIn___n4AfY\",\"blinking\":\"DropdownControl__blinking___wuDNr\"};","import BaseTranziitApi, { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport { MS_IN_MIN } from 'common/utils/time';\nimport { FixPageableCommonQueryT } from 'common/utils/api/models';\nimport { ApiSpotSystemSettingsT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\n\nclass SpotBrokerTranziitApi extends BaseTranziitApi {\n    private static instance: SpotBrokerTranziitApi;\n\n    private constructor() {\n        super(authApi, {\n            basepath: '/spot/api',\n            timeout: MS_IN_MIN,\n        });\n    }\n\n    public static getInstance(): SpotBrokerTranziitApi {\n        if (!SpotBrokerTranziitApi.instance) {\n            SpotBrokerTranziitApi.instance = new SpotBrokerTranziitApi();\n        }\n\n        return SpotBrokerTranziitApi.instance;\n    }\n\n    fetchSpotRequests = async (\n        query: Api2Paths.SpotApiV1BrokerSpot.Get.QueryParameters & FixPageableCommonQueryT,\n    ): Promise<TranziitApiResultT<Api2Paths.SpotApiV1BrokerSpot.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.SpotApiV1BrokerSpot.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/spot`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchSpotRequestsStats = async (): Promise<\n        TranziitApiResultT<Api2Paths.SpotApiV1BrokerSpotStatuses.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.SpotApiV1BrokerSpotStatuses.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/spot/statuses`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchSpotRequestDetails = async (\n        id: Api2Paths.SpotApiV1BrokerSpot$SpotId.Get.Parameters.SpotId,\n    ): Promise<TranziitApiResultT<Api2Paths.SpotApiV1BrokerSpot$SpotId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.SpotApiV1BrokerSpot$SpotId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/spot/${id}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    cancelSpotRequestByTour = async (\n        tourId: Api2Paths.SpotApiV1BrokerSpotCancelByTour$TourId.Post.Parameters.TourId,\n    ): Promise<TranziitApiResultT<Api2Paths.SpotApiV1BrokerSpotCancelByTour$TourId.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.SpotApiV1BrokerSpotCancelByTour$TourId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/spot/cancel-by-tour/${tourId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    cancelSpotRequest = async (\n        spotId: Api2Paths.SpotApiV1BrokerSpotCancel$SpotId.Post.Parameters.SpotId,\n    ): Promise<TranziitApiResultT<Api2Paths.SpotApiV1BrokerSpotCancel$SpotId.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.SpotApiV1BrokerSpotCancel$SpotId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/spot/cancel/${spotId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    assignBidToSpotRequest = async (\n        spotRequestId: Api2Paths.SpotApiV1BrokerSpotAssign$SpotId.Post.Parameters.SpotId,\n        query: Api2Paths.SpotApiV1BrokerSpotAssign$SpotId.Post.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.SpotApiV1BrokerSpotAssign$SpotId.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.SpotApiV1BrokerSpotAssign$SpotId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/spot/assign/${spotRequestId}`,\n            query,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchSystemSettings = async (): Promise<TranziitApiResultT<ApiSpotSystemSettingsT>> => {\n        const [error, response] = await this.doFetch<SpotApiPaths.SpotApiV1Settings.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/settings`,\n            expectedResponseContentType: 'json',\n        });\n\n        if (error) {\n            return [error, null];\n        }\n\n        const apiSettings = response?.reduce<ApiSpotSystemSettingsT>((acc, item) => {\n            const { name, value } = item;\n\n            acc[name] = value;\n\n            return acc;\n        }, {});\n\n        return [null, apiSettings || null];\n    };\n\n    updateSystemSettings = async (\n        settingsChanges: Partial<ApiSpotSystemSettingsT>,\n    ): Promise<TranziitApiResultT<null>> => {\n        const body = Object.entries(settingsChanges).reduce<SpotApiPaths.SpotApiV1Settings.Post.RequestBody>(\n            (acc, [key, value]) => {\n                acc.push({\n                    // @ts-ignore\n                    name: key,\n                    // @ts-ignore\n                    value,\n                });\n\n                return acc;\n            },\n            [],\n        );\n\n        return this.doFetch<null>({\n            method: 'POST',\n            path: '/v1/settings',\n            data: body,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n}\n\nconst spotBrokerTranziitApi = SpotBrokerTranziitApi.getInstance();\n\nexport default spotBrokerTranziitApi;\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"BrokerTeamsTable__table__header___yUmue\",\"table__header--name\":\"BrokerTeamsTable__table__header--name___AWVBG\",\"table__header--users-count\":\"BrokerTeamsTable__table__header--users-count___B89ZT\",\"table__header--partners-count\":\"BrokerTeamsTable__table__header--partners-count___z81hj\",\"table__column\":\"BrokerTeamsTable__table__column___vfUFI\",\"table__column--name\":\"BrokerTeamsTable__table__column--name___S_u_t\",\"table__column--added\":\"BrokerTeamsTable__table__column--added___TvtKp\",\"table__column--modified\":\"BrokerTeamsTable__table__column--modified____MKHE\",\"table__column--users-count\":\"BrokerTeamsTable__table__column--users-count___CqGid\",\"table__column--partners-count\":\"BrokerTeamsTable__table__column--partners-count___oBFZP\",\"table__column--controls\":\"BrokerTeamsTable__table__column--controls___tDxku\",\"fadeIn\":\"BrokerTeamsTable__fadeIn___tFauE\",\"blinking\":\"BrokerTeamsTable__blinking___ijbdE\"};","// eslint-disable-next-line @typescript-eslint/no-empty-function,no-empty-function\nfunction* alertsSaga(): WrapGeneratorT<void> {}\n\nexport default alertsSaga;\n","import { ReserveOpenTimeWindowT, ReserveTimeWindowT } from 'common/store/order-creation/models';\nimport moment from 'moment';\nimport isNumber from 'lodash/isNumber';\nimport { FieldsEnum, RoutePointFieldsEnum } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/constants';\n\nexport const suggestLastTimeWindowOfDay = (\n    availableReserveTimeWindow: ReserveOpenTimeWindowT | null,\n    baseDate: ReserveTimeWindowT['start'] | ReserveOpenTimeWindowT['start'],\n): ReserveTimeWindowT | null => {\n    if (!availableReserveTimeWindow) {\n        return null;\n    }\n\n    const targetTimeZone = moment.parseZone(baseDate).utcOffset();\n\n    let start = moment.parseZone(baseDate).startOf('day').format();\n    const startLimit = availableReserveTimeWindow.start\n        ? moment.parseZone(availableReserveTimeWindow.start).utcOffset(targetTimeZone).format()\n        : null;\n    if (startLimit && start < startLimit) {\n        start = startLimit;\n    }\n\n    let end = moment.parseZone(baseDate).utcOffset(targetTimeZone).endOf('day').add(1, 'second').format();\n    if (startLimit && end <= startLimit) {\n        return null;\n    }\n    const endLimit = availableReserveTimeWindow.end\n        ? moment.parseZone(availableReserveTimeWindow.end).utcOffset(targetTimeZone).format()\n        : null;\n    if (endLimit && start >= endLimit) {\n        return null;\n    }\n    if (endLimit && end > endLimit) {\n        end = endLimit;\n    }\n\n    return {\n        start,\n        end,\n    };\n};\n\nexport const getReserveTimeWindowWidthMs = (reserveTimeWindow: ReserveTimeWindowT | null): number => {\n    if (!reserveTimeWindow) {\n        return 0;\n    }\n\n    const start = moment.parseZone(reserveTimeWindow.start).valueOf();\n    const end = moment.parseZone(reserveTimeWindow.end).valueOf();\n\n    return end - start;\n};\n\nexport const addToTimeMs = (isoTime: ISODateTimeT | undefined | null, ms: number | null): ISODateTimeT | null => {\n    if (!isoTime || !isNumber(ms)) {\n        return null;\n    }\n\n    return moment.parseZone(isoTime).add(ms, 'milliseconds').format();\n};\n\nexport const convertReserveTimeWindowToRelativeTimeWindow = (\n    reserveTimeWindow: ReserveTimeWindowT | null,\n): TimeWindowT | null => {\n    if (!reserveTimeWindow) {\n        return null;\n    }\n\n    const offset = moment.parseZone(reserveTimeWindow.start).startOf('day').valueOf();\n    const start = moment.parseZone(reserveTimeWindow.start).valueOf();\n    const end = moment.parseZone(reserveTimeWindow.end).valueOf();\n\n    return [start - offset, end - offset];\n};\n\nexport const createReserveTimeWindow = (start: ISODateTimeT, minWindowSizeMs: number): ReserveTimeWindowT => {\n    const end = moment.parseZone(start).add('ms', minWindowSizeMs).format();\n\n    return {\n        start,\n        end,\n    };\n};\n\nexport const checkIsISODateMidnight = (isoDate: ISODateTimeT): boolean => {\n    return isoDate.includes('T00:00:00');\n};\n\nexport const setDateForReserveTimeWindow = (\n    date: Date | null,\n    timeWindow: ReserveTimeWindowT | null,\n): ReserveTimeWindowT | null => {\n    if (!date || !timeWindow) {\n        return null;\n    }\n\n    const dateStringPart = moment(date).format('YYYY-MM-DD');\n\n    const start = dateStringPart + timeWindow.start.slice(10);\n\n    let end = dateStringPart + timeWindow.end.slice(10);\n    if (checkIsISODateMidnight(end)) {\n        end = moment.parseZone(end).add(1, 'days').format();\n    }\n\n    return {\n        start,\n        end,\n    };\n};\n\nexport const setTimeWindowForReserveTimeWindow = (\n    timeWindow: TimeWindowT | null,\n    reserveTimeWindow: ReserveTimeWindowT | null,\n): ReserveTimeWindowT | null => {\n    if (!timeWindow || !reserveTimeWindow) {\n        return null;\n    }\n\n    const startDay = moment.parseZone(reserveTimeWindow.start).startOf('day');\n    const start = startDay.clone().add(timeWindow[0], 'ms').format();\n    const end = startDay.clone().add(timeWindow[1], 'ms').format();\n\n    return {\n        start,\n        end,\n    };\n};\n\nexport const checkIsSameTimezone = (isoDateA: ISODateTimeT, isoDateB: ISODateTimeT): boolean => {\n    return moment.parseZone(isoDateA).utcOffset() === moment.parseZone(isoDateB).utcOffset();\n};\n\nexport const getRoutePointFieldName = <T extends RoutePointFieldsEnum>(\n    pointIndex: number,\n    routePointField: T,\n): `${FieldsEnum.route}.${number}.${T}` => {\n    return `${FieldsEnum.route}.${pointIndex}.${routePointField}`;\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\nconst DEFAULT_VALUES: FormValuesT = {\n    [FieldsEnum.name]: '',\n    [FieldsEnum.partnerType]: PartnerTypeEnum.shipper,\n\n    [FieldsEnum.street1]: '',\n    [FieldsEnum.street2]: '',\n    [FieldsEnum.countryCode]: null,\n    [FieldsEnum.zipCode]: '',\n    [FieldsEnum.city]: '',\n\n    [FieldsEnum.legalFormId]: null,\n};\n\nconst getInitialValues = (): FormValuesT => {\n    const values: FormValuesT = { ...DEFAULT_VALUES };\n\n    return values;\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"pagination\":\"DummyPagination__pagination___QNTOF\",\"fadeIn\":\"DummyPagination__fadeIn____TXOn\",\"blinking\":\"DummyPagination__blinking___PkxUn\"};","import { SharableStateT } from '../models';\nimport { ShipperContractLaneCreationStateT } from './slice';\n\nexport const selectShipperLaneOrigin = (state: SharableStateT): ShipperContractLaneCreationStateT['origin'] =>\n    state.shipperContractLaneCreation.origin;\n\nexport const selectShipperLaneDestination = (state: SharableStateT): ShipperContractLaneCreationStateT['destination'] =>\n    state.shipperContractLaneCreation.destination;\n\nexport const selectPolylines = (state: SharableStateT): ShipperContractLaneCreationStateT['polylines'] =>\n    state.shipperContractLaneCreation.polylines;\n\nexport const selectFetchRouteRequest = (\n    state: SharableStateT,\n): ShipperContractLaneCreationStateT['fetchRouteRequest'] => state.shipperContractLaneCreation.fetchRouteRequest;\n\nexport const selectCalculateCostRequest = (\n    state: SharableStateT,\n): ShipperContractLaneCreationStateT['calculateCostRequest'] => state.shipperContractLaneCreation.calculateCostRequest;\n\nexport const selectAveragePriceOffer = (\n    state: SharableStateT,\n): ShipperContractLaneCreationStateT['averagePriceOffer'] => state.shipperContractLaneCreation.averagePriceOffer;\n\nexport const selectCreationRequest = (state: SharableStateT): ShipperContractLaneCreationStateT['creationRequest'] =>\n    state.shipperContractLaneCreation.creationRequest;\n\nexport const selectMapSettings = (state: SharableStateT): ShipperContractLaneCreationStateT['mapSettings'] =>\n    state.shipperContractLaneCreation.mapSettings;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './LastAssetWithNumberTrackPointPin.scss';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport { AssetTypeEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport MapTooltip from 'common/components/maps/MapTooltip/MapTooltip';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { formatTime } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport IconWithNumber from 'common/components/IconWithNumber/IconWithNumber';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    iconType: AssetTypeEnum;\n    timestamp: number | null;\n    lat?: number;\n    lng?: number;\n    number: number | null;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst iconTypeMap: Record<\n    AssetTypeEnum,\n    React.FC<{\n        fillColor: StyleGuideColorsEnum;\n        strokeColor: StyleGuideColorsEnum;\n        size: number;\n    }>\n> = {\n    [AssetTypeEnum.trailer]: TrailerIcon,\n    [AssetTypeEnum.truck]: TruckIcon,\n};\n\nconst LastAssetWithNumberTrackPointPin: React.FC<PropsT> = React.memo((props) => {\n    const { lat, lng, timestamp, iconType, className, number } = props;\n\n    const { t } = useTranslation();\n\n    const IconComponent = iconTypeMap[iconType];\n\n    const shouldShowNumber = isNumber(number);\n\n    return (\n        <MapTooltip\n            lat={lat}\n            lng={lng}\n            contentClassName={className}\n            mapLayers={{ regular: 1, hovered: 1 }}\n            theme={MapPinThemeEnum.brandDark}\n        >\n            {() => (\n                <Tooltip\n                    tooltipNode={\n                        timestamp ? (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                <span className={cx('last-track-point-updated')}>\n                                    {t('common:last-track-point-updated', {\n                                        time: timestamp ? formatTime(timestamp) : null,\n                                    })}\n                                </span>\n                            </TooltipContent>\n                        ) : null\n                    }\n                    delay={0}\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    className={cx('inner', { 'inner--has-paddings': !shouldShowNumber })}\n                >\n                    {() => (\n                        <IconWithNumber number={number}>\n                            <IconComponent\n                                fillColor={StyleGuideColorsEnum.brandDark}\n                                strokeColor={StyleGuideColorsEnum.white}\n                                size={DEFAULT_ICON_SIZE}\n                            />\n                        </IconWithNumber>\n                    )}\n                </Tooltip>\n            )}\n        </MapTooltip>\n    );\n});\n\nexport default LastAssetWithNumberTrackPointPin;\n","import { useMemo } from 'react';\nimport find from 'lodash/find';\nimport { useSelector } from 'react-redux';\nimport { selectReserve } from 'common/store/order-creation/selectors';\nimport { ApiReserveT } from 'common/store/order-creation/models';\n\nexport const useSelectedLane = (\n    selectedLaneId: ShipperContractLaneIdT | null,\n): ApiReserveT['contractLanes'][number] | null => {\n    const reserve = useSelector(selectReserve);\n\n    const selectedLane = useMemo(() => {\n        if (!selectedLaneId) {\n            return null;\n        }\n\n        return (\n            find(reserve?.contractLanes, (lane) => {\n                return lane.id === selectedLaneId;\n            }) || null\n        );\n    }, [reserve, selectedLaneId]);\n\n    return selectedLane;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"ScrollableContent__wrapper___R6Jxz\",\"scroll\":\"ScrollableContent__scroll___hUEjB\",\"scroll--hasStickyHeader\":\"ScrollableContent__scroll--hasStickyHeader___Fm68i\",\"content\":\"ScrollableContent__content___hWwJH\",\"fadeIn\":\"ScrollableContent__fadeIn___HRYUH\",\"blinking\":\"ScrollableContent__blinking___msg9f\"};","import { ApiBrokerTourTypeT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport enum QueryKeysEnum {\n    brokerToursFilters = 'broker-tours-filters',\n    brokerToursPage = 'broker-tours-page',\n    brokerToursSort = 'broker-tours-sort',\n}\n\nexport enum QueryFiltersKeysEnum {\n    quickFilter = 'quickFilter',\n    searchText = 'searchText',\n    carrierIds = 'carrierIds',\n    carrierNames = 'carrierNames',\n    originAddress = 'originAddress',\n    destinationAddress = 'destinationAddress',\n    originDateFrom = 'originDateFrom',\n    originDateTo = 'originDateTo',\n    destinationDateFrom = 'destinationDateFrom',\n    destinationDateTo = 'destinationDateTo',\n    dateCreatedFrom = 'dateCreatedFrom',\n    dateCreatedTo = 'dateCreatedTo',\n    tourTypes = 'tourTypes',\n    plateNumber = 'plateNumber',\n\n    // Warning filters\n    transportOrderDeclined = 'transport-order-declined',\n    runningOutOfTimeToAssignCarrier = 'running-out-of-time-to-assign-carrier',\n    runOutOfTimeToAssignCarrier = 'run-out-of-time-to-assign-carrier',\n    runningOutOfTimeToAssignAssets = 'running-out-of-time-to-assign-assets',\n    runOutOfTimeToAssignAssets = 'run-out-of-time-to-assign-assets',\n    runningOutOfTimeToAssignDriver = 'running-out-of-time-to-assign-driver',\n    runOutOfTimeToAssignDriver = 'run-out-of-time-to-assign-driver',\n    noShow = 'no-show',\n    shipmentMissed = 'shipment-missed',\n    tourDelaying = 'tour-delaying',\n}\n\nexport type QueryFiltersT = {\n    [QueryFiltersKeysEnum.quickFilter]?: BrokerToursQuickFilterEnum;\n    [QueryFiltersKeysEnum.searchText]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.carrierIds]?: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.carrierNames]?: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.originAddress]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.destinationAddress]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.originDateFrom]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.originDateTo]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.destinationDateFrom]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.destinationDateTo]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dateCreatedFrom]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dateCreatedTo]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.tourTypes]?: QueryParam.ArrayT<ApiBrokerTourTypeT>;\n    [QueryFiltersKeysEnum.plateNumber]?: QueryParam.StringT;\n    // Warning filters\n    [QueryFiltersKeysEnum.transportOrderDeclined]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runOutOfTimeToAssignAssets]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runOutOfTimeToAssignDriver]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.noShow]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.shipmentMissed]?: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.tourDelaying]?: QueryParam.BooleanT;\n};\n\nexport enum BrokerToursQuickFilterEnum {\n    carrierUnassigned = 'CARRIER_UNASSIGNED',\n    assetUnassigned = 'ASSET_UNASSIGNED',\n    driverUnassigned = 'DRIVER_UNASSIGNED',\n    assigned = 'ASSIGNED',\n    inTransit = 'IN_TRANSIT',\n    canceled = 'CANCELED',\n    finished = 'FINISHED',\n}\n\nexport enum BrokerToursSortEnum {\n    originDate = 'ORIGIN_DATE',\n    destinationDate = 'DESTINATION_DATE',\n    createdDate = 'CREATED_DATE',\n}\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './SpotRequestDetailsPage.scss';\n\nimport { useParams } from 'react-router-dom';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport { useTranslation } from 'react-i18next';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport SpotRequestRoute from 'broker-admin/layouts/SpotRequestsPage/SpotRequestDetailsPage/SpotRequestRoute/SpotRequestRoute';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport { SpotRoutesEnum } from 'broker-admin/constants';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport BaseSpotRequestDetailsSidebarContent from 'broker-admin/components/BaseSpotRequestDetailsSidebarContent/BaseSpotRequestDetailsSidebarContent';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst SpotRequestDetailsPage: React.FC<PropsT> = React.memo(() => {\n    const params = useParams<ExtractRouterRouteParamsT<SpotRoutesEnum.spotRequestDetails>>();\n    const { spotRequestId } = params;\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const { t } = useTranslation();\n\n    const handleCloseDetails = () => {\n        goBackIfHasRePath(\n            () => {\n                history.push(SpotRoutesEnum.list + history.location.search);\n            },\n            {\n                shouldCloseSidebars: true,\n            },\n        );\n    };\n\n    const handleCloseMap = () => {\n        goBackIfHasRePath(() => {\n            history.push(urlFactory.spotRequestsListWithDetails(spotRequestId));\n        });\n    };\n\n    const openLeftSidebar = useOpenLeftSidebar();\n    const handleOpenUserDetails = (params: {\n        partnerType: PartnerTypeEnum;\n        partnerId: PartnerIdT;\n        userId: UserIdT | null;\n    }) => {\n        const { userId, partnerType, partnerId } = params;\n        if (!userId) {\n            logWarning('failed to open user details in spot request details sidebar, empty userId');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    return (\n        <>\n            <GoogleMapContext.Provider value={googleMapsContextValue}>\n                <HorizontalColumnsLayout\n                    testSelector=\"spot-request-details\"\n                    className={cx('wrap')}\n                    leftColumnTitle={t('spot-request-details.main-tabs.details')}\n                    leftColumnNode={\n                        <BaseSpotRequestDetailsSidebarContent\n                            id={spotRequestId}\n                            onClose={handleCloseDetails}\n                            toggleMap={handleCloseMap}\n                            isActiveMapTrigger\n                            onOpenUserDetails={handleOpenUserDetails}\n                        />\n                    }\n                    rightColumnTitle={t('spot-request-details.main-tabs.info')}\n                    rightColumnNode={<SpotRequestRoute id={spotRequestId} />}\n                />\n            </GoogleMapContext.Provider>\n            <SideBars />\n        </>\n    );\n});\n\nexport default SpotRequestDetailsPage;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RateMatrix.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport { QueryKeysEnum } from 'common/constants';\nimport history from 'common/utils/history';\nimport SearchForm from './SearchForm/SearchForm';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport RatesTable from './RatesTable/RatesTable';\nimport isEmpty from 'lodash/isEmpty';\nimport difference from 'lodash/difference';\nimport {\n    selectRatesByIds,\n    selectRatesPages,\n    selectRatesTotal,\n    selectUpdateRatesRequest,\n} from 'broker-admin/store/price-settings/rates/selectors';\nimport { fetchRatesPage, updateRates, uploadCSVFile } from 'broker-admin/store/price-settings/rates/actions';\nimport { ChangeCostT, RateT } from 'broker-admin/store/price-settings/rates/models';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport { useTranslation } from 'react-i18next';\nimport ChangeRatesForm from './ChangeRatesForm/ChangeRatesForm';\nimport { UpdateRateStrategyEnum } from 'common/utils/api/models';\nimport FiltersPill, { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport parsePageNumber from 'common/utils/parse-page-number';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport Modal from 'common/components/Modal/Modal';\nimport ImportCsv from './ImportCsv/ImportCsv';\nimport { formatQuery } from 'common/utils/query';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport { pickFile } from 'common/utils/pick-file';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport CountriesFilterPill from 'common/components/filter-pills/CountriesFilterPill/CountriesFilterPill';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { ratesPaginationChannel, ratesRefreshChannel } from 'broker-admin/store/price-settings/rates/channels';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\n\nconst cx = classNames.bind(styles);\n\ntype QueryT = {\n    [QueryKeysEnum.ratesFromCountryCodesSearch]?: Array<CountryCodeT>;\n    [QueryKeysEnum.ratesToCountryCodesSearch]?: Array<CountryCodeT>;\n    [QueryKeysEnum.ratesPage]?: string;\n};\n\nconst EMPTY_COUNTRY_CODES: Array<CountryCodeT> = [];\n\ntype PropsT = {};\n\nconst RateMatrix: React.FC<PropsT> = () => {\n    const { t } = useTranslation();\n\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n    const handleOpenUserDetails = (userId: UserIdT | null) => {\n        if (!userId) {\n            logWarning('failed to open user details in rate matrix, empty userId');\n            return;\n        }\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const dispatch = useDispatch();\n\n    const total = useSelector(selectRatesTotal);\n    const ratesPages = useSelector(selectRatesPages);\n    const rateById = useSelector(selectRatesByIds);\n\n    const updateRatesRequest = useSelector(selectUpdateRatesRequest);\n\n    const [selectedRatesSet, setSelectedRatesSet] = React.useState<Set<RateT>>(new Set());\n\n    const query = useQuery<QueryT>();\n    const fromCountryCodes = query[QueryKeysEnum.ratesFromCountryCodesSearch] || EMPTY_COUNTRY_CODES;\n    const toCountryCodes = query[QueryKeysEnum.ratesToCountryCodesSearch] || EMPTY_COUNTRY_CODES;\n\n    const handleChangeFilters = (fromCountryCodes: CountryCodeT[], toCountryCodes: CountryCodeT[]) => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.ratesFromCountryCodesSearch]: fromCountryCodes,\n                [QueryKeysEnum.ratesToCountryCodesSearch]: toCountryCodes,\n            }),\n        });\n    };\n\n    const handleOmitFilters = (omitFromCountryCodes: CountryCodeT[], omitToCountryCodes: CountryCodeT[]) => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.ratesFromCountryCodesSearch]: difference(fromCountryCodes, omitFromCountryCodes),\n                [QueryKeysEnum.ratesToCountryCodesSearch]: difference(toCountryCodes, omitToCountryCodes),\n            }),\n        });\n    };\n\n    const pageNumber = parsePageNumber(query[QueryKeysEnum.ratesPage]);\n    const page = ratesPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    React.useEffect(() => {\n        setSelectedRatesSet(new Set());\n    }, [ids]);\n\n    React.useEffect(() => {\n        dispatch(\n            fetchRatesPage(pageNumber, {\n                countriesFrom: fromCountryCodes,\n                countriesTo: toCountryCodes,\n            }),\n        );\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [dispatch, pageNumber, fromCountryCodes, toCountryCodes]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        dispatch(\n            fetchRatesPage(\n                pageNumber,\n                {\n                    countriesFrom: fromCountryCodes,\n                    countriesTo: toCountryCodes,\n                },\n                { isForceUpdate: true },\n            ),\n        );\n    }, [dispatch, pageNumber, fromCountryCodes, toCountryCodes]);\n    useChannelSubscribe(ratesRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        dispatch(\n            fetchRatesPage(\n                pageNumber,\n                {\n                    countriesFrom: fromCountryCodes,\n                    countriesTo: toCountryCodes,\n                },\n                { isForceUpdate: true },\n            ),\n        );\n    }, [dispatch, pageNumber, fromCountryCodes, toCountryCodes]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(\n            fetchRatesPage(\n                pageNumber,\n                {\n                    countriesFrom: fromCountryCodes,\n                    countriesTo: toCountryCodes,\n                },\n                { isForceUpdate: false },\n            ),\n        );\n    }, [dispatch, pageNumber, fromCountryCodes, toCountryCodes]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            history.push({\n                search: formatQuery({\n                    ...query,\n                    [QueryKeysEnum.ratesPage]: pageNumber,\n                }),\n            });\n        },\n        [query],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof ratesPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(ratesPaginationChannel, setPageHandler);\n\n    const rates = React.useMemo(() => {\n        return (ids || []).map((id): RateT => rateById[id]);\n    }, [ids, rateById]);\n\n    const hasQuery = !isEmpty(fromCountryCodes) || !isEmpty(toCountryCodes);\n\n    const handleChangeRates = (changeCost: ChangeCostT) => {\n        const ids = [...selectedRatesSet].map((rate) => rate.id);\n\n        if (ids.length && changeCost.value) {\n            dispatch(updateRates(ids, changeCost.value, changeCost.strategy));\n        }\n\n        setSelectedRatesSet(new Set());\n    };\n\n    const handleUpdateRate = (id: RateT['id'], value: number) => {\n        dispatch(updateRates([id], value, UpdateRateStrategyEnum.exactValue));\n\n        setSelectedRatesSet(new Set());\n    };\n\n    const [isShowCSVImportModal, setShowCSVImportModal] = React.useState<boolean>(false);\n\n    const uploadFile = () => {\n        pickFile('.csv', (file) => {\n            dispatch(uploadCSVFile(file));\n\n            setShowCSVImportModal(true);\n        });\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(rates, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        if (requestStatus?.ok && hasQuery) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('price-settings.rate-matrix.empty.title')}\n                    description=\"\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        if (requestStatus?.ok && !hasQuery) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('price-settings.rate-matrix.not-found.title')}\n                    description=\"\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('spot-requests.list.table.messages.empty.title')}\n                testSelector=\"empty-state\"\n                isShowAction={false}\n            />\n        );\n    };\n\n    return (\n        <ContentMargins>\n            <ListPageLayout>\n                <ListPageHeaderLayout\n                    withTopPadding\n                    leftToolsNode={\n                        <SearchForm\n                            initialFromCountryCodes={fromCountryCodes}\n                            initialToCountryCodes={toCountryCodes}\n                            onChange={handleChangeFilters}\n                        />\n                    }\n                    rightToolsNode={\n                        <>\n                            <Button theme={ButtonThemeEnum.primary} onClick={uploadFile}>\n                                {t('price-settings.rate-matrix.import-csv.trigger')}\n                            </Button>\n                            {!!selectedRatesSet.size && <ChangeRatesForm onSubmit={handleChangeRates} />}\n                        </>\n                    }\n                    filterTagsNode={\n                        <>\n                            {!!fromCountryCodes?.length && (\n                                <>\n                                    <FiltersPill\n                                        key=\"from-clear-all\"\n                                        className={cx('filters-pills__item')}\n                                        label={t('price-settings.rate-matrix.clear-from-country-codes')}\n                                        withCloser={false}\n                                        isCompact\n                                        theme={FilterPillThemeEnum.charcoal}\n                                        onClick={() => handleChangeFilters([], toCountryCodes)}\n                                    />\n                                    {fromCountryCodes.map((code) => (\n                                        <FiltersPill\n                                            key={`from-${code}`}\n                                            className={cx('filters-pills__item')}\n                                            label={<CountriesFilterPill countryCodes={[code]} />}\n                                            withCloser\n                                            isCompact\n                                            theme={FilterPillThemeEnum.charcoal}\n                                            onClick={() => handleOmitFilters([code], [])}\n                                        />\n                                    ))}\n                                </>\n                            )}\n                            {!!toCountryCodes?.length && (\n                                <>\n                                    <FiltersPill\n                                        key=\"to-clear-all\"\n                                        className={cx('filters-pills__item')}\n                                        label={t('price-settings.rate-matrix.clear-to-country-codes')}\n                                        withCloser={false}\n                                        isCompact\n                                        theme={FilterPillThemeEnum.brandDark}\n                                        onClick={() => handleChangeFilters(fromCountryCodes, [])}\n                                    />\n                                    {toCountryCodes.map((code) => (\n                                        <FiltersPill\n                                            key={`to-${code}`}\n                                            className={cx('filters-pills__item')}\n                                            label={<CountriesFilterPill countryCodes={[code]} />}\n                                            withCloser\n                                            isCompact\n                                            theme={FilterPillThemeEnum.brandDark}\n                                            onClick={() => handleOmitFilters([], [code])}\n                                        />\n                                    ))}\n                                </>\n                            )}\n                        </>\n                    }\n                />\n                {renderTableMessage()}\n                <RatesTable\n                    selectedRatesSet={selectedRatesSet}\n                    onSelectRates={setSelectedRatesSet}\n                    onUpdateRate={handleUpdateRate}\n                    onOpenUserDetails={handleOpenUserDetails}\n                    rates={rates}\n                    isLoading={requestStatus?.loading}\n                    isDisabled={updateRatesRequest.loading}\n                />\n                <StickyFooter>\n                    <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n                </StickyFooter>\n                {isShowCSVImportModal && (\n                    <Modal>\n                        <ModalContent\n                            onClose={() => {\n                                setShowCSVImportModal(false);\n                            }}\n                        >\n                            <ImportCsv\n                                onClose={() => {\n                                    setShowCSVImportModal(false);\n                                }}\n                            />\n                        </ModalContent>\n                    </Modal>\n                )}\n            </ListPageLayout>\n        </ContentMargins>\n    );\n};\n\nexport default RateMatrix;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"UpdatedPartnerShipperLaneContractCard__inner___SsuSv\",\"fadeIn\":\"UpdatedPartnerShipperLaneContractCard__fadeIn___Xbv2B\",\"blinking\":\"UpdatedPartnerShipperLaneContractCard__blinking___dwlFs\"};","function* notificationsAffectsSaga(): WrapGeneratorT<void> {\n    // nothing\n}\n\nexport default notificationsAffectsSaga;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxLength, checkMinLength, checkNotEmpty } from 'common/utils/form-validators';\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, [FieldsEnum.password], values),\n        ...checkMinLength(t, [FieldsEnum.password], values, 6),\n        ...checkMaxLength(t, [FieldsEnum.password], values, 255),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    width?: number;\n    height?: number;\n};\n\nconst DownArrowIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, width = 20, height = 20 } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width={width}\n            height={height}\n            viewBox=\"0 0 20 20\"\n        >\n            <defs>\n                <path id=\"t93mq67o4a\" d=\"M13 12H7l3-3z\" />\n            </defs>\n            <use fill={fillColor} fillRule=\"evenodd\" transform=\"matrix(1 0 0 -1 0 21)\" xlinkHref=\"#t93mq67o4a\" />\n        </svg>\n    );\n};\n\nDownArrowIcon.displayName = 'DownArrowIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default DownArrowIcon;\n","import { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { reserveLockChannel } from 'common/store/order-creation/channels';\nimport { useCallback, useState } from 'react';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\n\nexport const useReserveChannelLock = (): boolean => {\n    const [isLocked, setIsLocked] = useState(false);\n\n    const reserveLockChannelHandler = useCallback((event: InferChannelEventT<typeof reserveLockChannel>) => {\n        setIsLocked(event.isLocked);\n    }, []);\n    useChannelSubscribe(reserveLockChannel, reserveLockChannelHandler);\n\n    return isLocked;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"icon-trigger\":\"IconTrigger__icon-trigger___sRjFJ\",\"icon-trigger--theme-primary\":\"IconTrigger__icon-trigger--theme-primary___VVMib\",\"icon-trigger--isFocused\":\"IconTrigger__icon-trigger--isFocused___O3gdI\",\"icon-trigger--isPressed\":\"IconTrigger__icon-trigger--isPressed___AaHCY\",\"icon-trigger--theme-secondary\":\"IconTrigger__icon-trigger--theme-secondary___PmXjp\",\"icon-trigger--theme-danger\":\"IconTrigger__icon-trigger--theme-danger___Aaedl\",\"icon-trigger--theme-transparent\":\"IconTrigger__icon-trigger--theme-transparent___aJDJO\",\"icon-trigger--isDisabled\":\"IconTrigger__icon-trigger--isDisabled___OERfp\",\"icon-trigger--isToggled\":\"IconTrigger__icon-trigger--isToggled___q70Cm\",\"icon-trigger--isClickable\":\"IconTrigger__icon-trigger--isClickable___GNugY\",\"fadeIn\":\"IconTrigger__fadeIn___crYtU\",\"blinking\":\"IconTrigger__blinking___oxW91\"};","// extracted by mini-css-extract-plugin\nexport default {\"estimate\":\"MapFooterEstimate__estimate___lfs2V\",\"loader\":\"MapFooterEstimate__loader___G3y18\",\"loader-text\":\"MapFooterEstimate__loader-text___GRsnF\",\"fadeIn\":\"MapFooterEstimate__fadeIn___DY9a9\",\"blinking\":\"MapFooterEstimate__blinking___EW2qP\"};","import requestStatus from 'common/utils/request-status';\nimport {\n    ShipperSuggestActionT,\n    ShipperSuggestStateT,\n    FIND_SHIPPERS_REQUEST_BEGIN,\n    FIND_SHIPPERS_REQUEST_ERROR,\n    FIND_SHIPPERS_REQUEST_SUCCESS,\n    RESET,\n} from './types';\nimport { PartnerT } from './models';\nimport { isNonNil } from 'common/utils';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialShipperSuggestState: ShipperSuggestStateT = {\n    query: null,\n    requestStatus: requestStatus.initial,\n    ids: [],\n    byId: {},\n};\n\nexport default (\n    state = initialShipperSuggestState,\n    action: ShipperSuggestActionT | DestroySessionActionT,\n): ShipperSuggestStateT => {\n    switch (action.type) {\n        case FIND_SHIPPERS_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                query,\n                requestStatus: requestStatus.loading,\n            };\n        }\n\n        case FIND_SHIPPERS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                requestStatus: requestStatus.setError(error),\n            };\n        }\n\n        case FIND_SHIPPERS_REQUEST_SUCCESS: {\n            const { partners } = action;\n\n            const byId = partners.reduce<Record<string, PartnerT>>((acc, partner) => {\n                if (!partner?.id) {\n                    return acc;\n                }\n\n                return {\n                    ...acc,\n                    [partner.id]: {\n                        ...partner,\n                    },\n                };\n            }, {});\n\n            const ids = partners.map((partner) => partner.id).filter(isNonNil);\n\n            return {\n                ...state,\n                requestStatus: requestStatus.ok,\n                ids,\n                byId: {\n                    ...state.byId,\n                    ...byId,\n                },\n            };\n        }\n\n        case DESTROY_SESSION:\n        case RESET: {\n            return {\n                ...initialShipperSuggestState,\n            };\n        }\n\n        default:\n            return state;\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerTypeControl__fadeIn___VmvlQ\",\"blinking\":\"PartnerTypeControl__blinking___eGEEv\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TrailerDetailsPage.scss';\nimport { useTranslation } from 'react-i18next';\nimport DetailsLayout from 'common/layouts/DetailsLayout/DetailsLayout';\nimport AssetDetailsMap from 'common/components/AssetDetailsMap/AssetDetailsMap';\nimport { AssetTypeEnum, QueryKeysEnum } from 'common/constants';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport { cancelUnavailableVehicleRequest, fetchVehicleSchedule } from 'common/store/vehicle-schedules/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectCancelUnavailableVehicleRequestStatus,\n    selectFetchScheduleRequest,\n    selectVehicleSchedule,\n} from 'common/store/vehicle-schedules/selectors';\nimport { useParams } from 'react-router-dom';\nimport { formatQuery } from 'common/utils/query';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { selectTrailersDetailsByIds } from 'common/store/trailers/selectors';\nimport isNumber from 'lodash/isNumber';\nimport AssetScheduleSidebar from 'common/components/AssetScheduleSidebar/AssetScheduleSidebar';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport CommonEditableTrailerDetailsLayout from 'common/layouts/CommonEditableTrailerDetailsLayout/CommonEditableTrailerDetailsLayout';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { useStateSafeHistory } from 'common/utils/hooks/useStateSafeHistory';\nimport AssetServiceLocationContext from 'common/components/AssetSidebarContent/contexts/asset-service-location-context';\nimport { useAssetServiceLocationContextValue } from 'common/components/AssetSidebarContent/hooks/useAssetServiceLocationContextValue';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { SyncSetUnavailableFormMapStateContext } from 'common/components/AssetSidebarContent/SetUnavailableForm/contexts/sync-map-state';\nimport { usySyncMapState } from 'common/components/AssetSidebarContent/SetUnavailableForm/hooks/usySyncMapState';\nimport { logWarning } from 'common/utils/logger';\nimport CancelServiceMaintanceConfirmationModal, {\n    CancelServiceMaintanceConfirmationDataT,\n} from 'common/layouts/dialogs/CancelServiceMaintanceConfirmationModal/CancelServiceMaintanceConfirmationModal';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { VehicleScheduleEventT } from 'common/store/vehicle-schedules/models';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { vehicleSchedulesRefreshChannel } from 'common/store/vehicle-schedules/channels';\nimport { getVehicleScheduleAroundDateISO } from 'common/store/vehicle-schedules/utils/around-date';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onCloseMap: () => void;\n    onClose: () => void;\n    onOpenTransportOrderDetails?: (event: VehicleScheduleEventT) => void;\n};\n\ntype QueryT = {\n    [QueryKeysEnum.trailerOrderId]?: string;\n};\n\nconst TrailerDetailsPage: React.FC<PropsT> = React.memo((props) => {\n    const { onCloseMap, onClose, onOpenTransportOrderDetails } = props;\n\n    const assetServiceLocationContextValue = useAssetServiceLocationContextValue();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const { partnerId } = usePartnerContext();\n\n    const { t } = useTranslation();\n\n    const params = useParams<{ trailerId: string; partnerId: string }>();\n    const { trailerId } = params;\n\n    const cancelServiceMaintanceConfirmation = useModalDialog<CancelServiceMaintanceConfirmationDataT>();\n    const cancelRequestStatus = useSelector(selectCancelUnavailableVehicleRequestStatus);\n    useCloseModalDialogAfterRequest(cancelRequestStatus, [cancelServiceMaintanceConfirmation]);\n\n    const detailsById = useSelector(selectTrailersDetailsByIds(partnerId));\n    const trailerDetails = detailsById[trailerId as string];\n\n    const dispatch = useDispatch();\n\n    const query = useQuery<QueryT>();\n\n    const { stateSafeHistory } = useStateSafeHistory();\n\n    const handleOrderClick = (orderId: string) => {\n        stateSafeHistory.replace({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.trailerOrderId]: orderId,\n            }),\n        });\n    };\n\n    const scheduleAroundDate = React.useMemo(() => getVehicleScheduleAroundDateISO(), []);\n\n    const fetchScheduleRequestStatus = useSelector(selectFetchScheduleRequest(trailerId, scheduleAroundDate));\n    const schedule = useSelector(selectVehicleSchedule(trailerId, scheduleAroundDate));\n\n    React.useEffect(() => {\n        dispatch(fetchVehicleSchedule({ vehicleId: trailerId, aroundDate: scheduleAroundDate }));\n    }, [trailerId, partnerId, dispatch, scheduleAroundDate]);\n\n    const refreshVehicleSchedulesHandler = React.useCallback(\n        (event: InferChannelEventT<typeof vehicleSchedulesRefreshChannel>) => {\n            const { vehicleId } = event;\n\n            if (vehicleId === trailerId) {\n                dispatch(\n                    fetchVehicleSchedule(\n                        { vehicleId: trailerId, aroundDate: scheduleAroundDate },\n                        { isForceUpdate: true },\n                    ),\n                );\n            }\n        },\n        [dispatch, trailerId, scheduleAroundDate],\n    );\n    useChannelSubscribe(vehicleSchedulesRefreshChannel, refreshVehicleSchedulesHandler);\n\n    const currentPosition = React.useMemo((): GeoPointT | null => {\n        if (!trailerDetails) {\n            return null;\n        }\n\n        const { latitude, longitude } = trailerDetails;\n        if (!isNumber(latitude) || !isNumber(longitude)) {\n            return null;\n        }\n\n        return {\n            lat: latitude,\n            lng: longitude,\n        };\n    }, [trailerDetails]);\n\n    const handleCloseMap = () => {\n        onCloseMap();\n    };\n\n    const handleOpenTruckDetails = (truckId: TruckIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenTruckDetails');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.truckDetails,\n            partnerId,\n            truckId,\n        });\n    };\n\n    const handleOpenContactDetails = (contractId: CarrierContractIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenContactDetails');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.carrierContract,\n            contractId,\n            initIsEditing: false,\n            partnerId,\n        });\n    };\n\n    const handleOpenTrailerDetails = (trailerId: TrailerIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenTrailerDetails');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            partnerId,\n            trailerId,\n        });\n    };\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const handleOpenUserDetails = (userId: UserIdT, isBrokerUser?: boolean) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenUserDetails');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType: isBrokerUser ? PartnerTypeEnum.broker : PartnerTypeEnum.carrier,\n            userId,\n        });\n    };\n\n    const handleConfirmCancelServiceMaintaince = (data: CancelServiceMaintanceConfirmationDataT) => {\n        if (!partnerId) {\n            return;\n        }\n\n        dispatch(cancelUnavailableVehicleRequest(data.query, partnerId));\n    };\n\n    const syncSetUnavailableFormMapStateContextValue = usySyncMapState();\n\n    return (\n        <GoogleMapContext.Provider value={googleMapsContextValue}>\n            <SyncSetUnavailableFormMapStateContext.Provider value={syncSetUnavailableFormMapStateContextValue}>\n                <AssetServiceLocationContext.Provider value={assetServiceLocationContextValue}>\n                    <PageTitle\n                        title={t('page-titles.trailer-details', {\n                            plateNumber: trailerDetails?.plateNumber,\n                        })}\n                    />\n                    <DetailsLayout\n                        className={cx('wrap')}\n                        sideBarTitle={t('common:order-details.main-tabs.details')}\n                        sideBarNode={\n                            <CommonEditableTrailerDetailsLayout\n                                partnerId={partnerId}\n                                trailerId={trailerId}\n                                onClose={onClose}\n                                isShowMap\n                                onToggleShowMap={handleCloseMap}\n                                onOpenTrailerDetails={handleOpenTrailerDetails}\n                                onOpenTruckDetails={handleOpenTruckDetails}\n                                onOpenContactDetails={handleOpenContactDetails}\n                                onOpenUserDetails={handleOpenUserDetails}\n                            />\n                        }\n                        mapTitle={t('common:trailer-page.tabs.map')}\n                        mapNode={\n                            <AssetDetailsMap\n                                type={AssetTypeEnum.trailer}\n                                currentPosition={currentPosition}\n                                telematicUpdatedDate={trailerDetails?.telematicUpdatedDate}\n                                isLoading={fetchScheduleRequestStatus.loading || !trailerDetails}\n                            />\n                        }\n                        historyTitle={t('common:trailer-page.tabs.activity')}\n                        historyNode={null}\n                        timelineTitle={t('common:timeline')}\n                        timelineNode={(close) => (\n                            <AssetScheduleSidebar\n                                type=\"trailer\"\n                                isLoading={fetchScheduleRequestStatus.loading}\n                                onClose={close}\n                                onEventClick={handleOrderClick}\n                                selectedOrderId={query[QueryKeysEnum.trailerOrderId]}\n                                schedule={schedule}\n                                onCancelServiceMaintance={(event) => {\n                                    if (!partnerId) {\n                                        return;\n                                    }\n\n                                    cancelServiceMaintanceConfirmation.setData({\n                                        companyId: partnerId,\n                                        assets: [\n                                            {\n                                                plateNumber: trailerDetails?.plateNumber || '',\n                                            },\n                                        ],\n                                        query: {\n                                            trailerId: trailerDetails?.id,\n                                            id: event.id,\n                                        },\n                                    });\n                                }}\n                                onOpenTransportOrderDetails={onOpenTransportOrderDetails}\n                            />\n                        )}\n                    />\n                    <CancelServiceMaintanceConfirmationModal\n                        assetType=\"trailer\"\n                        data={cancelServiceMaintanceConfirmation.data}\n                        onCancel={cancelServiceMaintanceConfirmation.onCancel}\n                        onClose={cancelServiceMaintanceConfirmation.onClose}\n                        onConfirm={handleConfirmCancelServiceMaintaince}\n                        requestStatus={cancelRequestStatus}\n                    />\n                </AssetServiceLocationContext.Provider>\n            </SyncSetUnavailableFormMapStateContext.Provider>\n        </GoogleMapContext.Provider>\n    );\n});\n\nexport default TrailerDetailsPage;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst PlusSignIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, size, ...rest } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill={strokeColor} d=\"M15.25 10.75h-4.5v4.5h-1.5v-4.5h-4.5v-1.5h4.5v-4.5h1.5v4.5h4.5z\" />\n            </g>\n        </svg>\n    );\n};\n\nPlusSignIcon.displayName = 'PlusSignIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default PlusSignIcon;\n","import {\n    RESET,\n    ResetActionT,\n    UPDATE_BROKER_ORDERS_REQUEST_BEGIN,\n    UPDATE_BROKER_ORDERS_REQUEST_ERROR,\n    UPDATE_BROKER_ORDERS_REQUEST_SUCCESS,\n    UPDATE_DOCKING_HOURS,\n    UpdateBrokerOrderRequestBeginActionT,\n    UpdateBrokerOrderRequestErrorActionT,\n    UpdateBrokerOrderRequestSuccessActionT,\n    UpdateDockingHoursActionT,\n} from './types';\n\nimport { ApiUpdateDockingHoursQueryT } from 'common/utils/api/models';\n\nexport const updateDockingHours = (\n    brokerOrderId: BrokerOrderIdT,\n    query: ApiUpdateDockingHoursQueryT,\n): UpdateDockingHoursActionT => ({\n    type: UPDATE_DOCKING_HOURS,\n    brokerOrderId,\n    query,\n});\n\nexport const updateBrokerOrderRequestBegin = (brokerOrderId: BrokerOrderIdT): UpdateBrokerOrderRequestBeginActionT => ({\n    type: UPDATE_BROKER_ORDERS_REQUEST_BEGIN,\n    brokerOrderId,\n});\n\nexport const updateBrokerOrderSuccess = (brokerOrderId: BrokerOrderIdT): UpdateBrokerOrderRequestSuccessActionT => ({\n    type: UPDATE_BROKER_ORDERS_REQUEST_SUCCESS,\n    brokerOrderId,\n});\n\nexport const updateBrokerOrderRequestError = (\n    brokerOrderId: BrokerOrderIdT,\n    error: Error,\n): UpdateBrokerOrderRequestErrorActionT => ({\n    type: UPDATE_BROKER_ORDERS_REQUEST_ERROR,\n    error,\n    brokerOrderId,\n});\n\nexport const resetBrokerOrderEdit = (): ResetActionT => ({\n    type: RESET,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"ButtonTabs__tabs___lxzRO\",\"tabs__tab\":\"ButtonTabs__tabs__tab___rnBv0\",\"tabs__tab--is-active\":\"ButtonTabs__tabs__tab--is-active___q_j9H\",\"fadeIn\":\"ButtonTabs__fadeIn___xH5zj\",\"blinking\":\"ButtonTabs__blinking___UIpIh\"};","import React from 'react';\n\nexport type SyncFormValuesT<V extends FieldValues> = {\n    formValues: V | null;\n    syncFormValues: (formValues: V) => void;\n    setFieldValueCallback: SetFieldValueCallbackT<V> | null;\n    syncSetFieldValueCallback: (setFieldValue: SetFieldValueCallbackT<V>) => void;\n};\n\nexport type SetFieldValueCallbackT<V extends FieldValues> = <T extends FieldPath<V>>(\n    name: T,\n    value: FieldPathValue<V, T>,\n) => void;\n\nconst useSyncFormValues = <V extends FieldValues>(): SyncFormValuesT<V> => {\n    const [formValues, syncFormValues] = React.useState<V | null>(null);\n    const setFieldValueCallbackRef = React.useRef<SetFieldValueCallbackT<V> | null>(null);\n\n    return React.useMemo(() => {\n        return {\n            formValues,\n            syncFormValues,\n            setFieldValueCallback: setFieldValueCallbackRef.current,\n            syncSetFieldValueCallback: (callback) => {\n                setFieldValueCallbackRef.current = callback;\n            },\n        };\n    }, [formValues, syncFormValues]);\n};\n\nexport { useSyncFormValues };\n","import { MS_IN_SEC } from 'common/utils/time';\n\nexport const UNREAD_GROUPED_NOTIFICATION_COUNTS_TTL = 5 * MS_IN_SEC;\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport { useTranslation } from 'react-i18next';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { ApiTruckRateModeT, TruckRateModeEnum } from 'common/utils/api/models';\n\nimport styles from './TruckRateModeDropdown.scss';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiTruckRateModeT | null | undefined;\n\ntype PropsT = {\n    placeholder?: string;\n    value: ValueT;\n    isDisabled?: boolean;\n    onChange: (value: ValueT) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n};\n\nexport type OptionT = {\n    value: ValueT;\n    label: string;\n};\n\nconst AVAILABLE_RATE_MODES: Array<ApiTruckRateModeT> = [TruckRateModeEnum.brutto, TruckRateModeEnum.netto];\n\nexport const truckRateModeI18nMap: Record<ApiTruckRateModeT, string> = {\n    [TruckRateModeEnum.brutto]: 'common:carrier-contracts.details.fields.truck-rate-mode.options.brutto',\n    [TruckRateModeEnum.netto]: 'common:carrier-contracts.details.fields.truck-rate-mode.options.netto',\n};\n\nconst TruckRateModeDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        value,\n        placeholder,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasClearControl,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const truckRateOptions = React.useMemo(\n        () =>\n            AVAILABLE_RATE_MODES.map((rateMode) => {\n                return {\n                    value: rateMode,\n                    label: t(truckRateModeI18nMap[rateMode]),\n                };\n            }),\n        [t],\n    );\n\n    const renderOption = (option: OptionT | null | undefined): React.ReactElement | null => {\n        if (!option) {\n            return null;\n        }\n\n        return (\n            <div className={cx('option')} key={option.label}>\n                {option.label}\n            </div>\n        );\n    };\n\n    const handleSelect = (value: ValueT): void => {\n        onChange(value);\n    };\n\n    const handleReset = (): void => {\n        onChange(null);\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.value;\n\n    return (\n        <DropdownInput\n            selectedValue={value}\n            placeholder={placeholder}\n            options={truckRateOptions}\n            onSelect={handleSelect}\n            isDisabled={isDisabled}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            hasClearControl={hasClearControl}\n            onReset={handleReset}\n        />\n    );\n});\n\nexport default TruckRateModeDropdown;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TransportationOrderDeclinedCard.scss';\nimport { Trans } from 'react-i18next';\nimport CityName from 'common/components/notification-cards/entities/CityName/CityName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    transportationOrderNumber: string;\n    orderNumber: string;\n    cityFrom: string;\n    cityTo: string;\n    carrierName: string;\n};\n\nconst TransportationOrderNumber: React.FC<{ number: string }> = ({ number }) => {\n    return <span className={cx('transport-order-number')}>{number}</span>;\n};\n\nconst DispatchNumber: React.FC<{ number: string }> = ({ number }) => {\n    return <span className={cx('dispatch-number')}>{number}</span>;\n};\n\nconst CarrierName: React.FC<{ name: string }> = ({ name }) => {\n    return <span className={cx('carrier-name')}>{name}</span>;\n};\n\nconst TransportationOrderDeclinedCard: React.FC<PropsT> = React.memo((props) => {\n    const { transportationOrderNumber, orderNumber, cityFrom, cityTo, carrierName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.transportation-order-declined\"\n                components={{\n                    toNumber: <TransportationOrderNumber number={transportationOrderNumber} />,\n                    dispatchNumber: <DispatchNumber number={orderNumber} />,\n                    cityFrom: <CityName cityName={cityFrom} />,\n                    cityTo: <CityName cityName={cityTo} />,\n                    carrierName: <CarrierName name={carrierName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default TransportationOrderDeclinedCard;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nexport type NotUsedRoutePointValidationResultT = {};\n\ntype PropsT = {\n    validationResult: NotUsedRoutePointValidationResultT | null;\n};\n\nconst NotUsedRoutePointValidationAlertContent: React.FC<PropsT> = React.memo((props) => {\n    const { validationResult } = props;\n\n    const { t } = useTranslation();\n\n    if (!validationResult) {\n        return null;\n    }\n\n    return <span>{t('common:new-order-details.validate-messages.not-used-pickup-delivery-point')}</span>;\n});\n\nexport default NotUsedRoutePointValidationAlertContent;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor?: StyleGuideColorsEnum;\n    size?: number;\n};\n\nconst ArrowDownIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor = StyleGuideColorsEnum.charcoal } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width={size || DEFAULT_ICON_SIZE}\n            height={size || DEFAULT_ICON_SIZE}\n            viewBox=\"0 0 20 20\"\n            className={className}\n        >\n            <path\n                d=\"M9.25 4v9.128L5.058 8.935 4 10l6 6 6-6-1.057-1.057-4.193 4.185V4z\"\n                fill={fillColor}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nArrowDownIcon.displayName = 'ArrowDownIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default ArrowDownIcon;\n","import * as React from 'react';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport StopWarningIcon from 'common/icons/StopWarningIcon';\nimport {\n    ApiNotificationAlertLevelT,\n    ApiOrderStatusT,\n    ApiRFQStatusT,\n    ApiShipmentStatusT,\n    ApiTourStatusT,\n    ApiTransportOrderStatusT,\n    OrderStatusEnum,\n    RFQStatusEnum,\n    ShipmentStatusEnum,\n    TourStatusEnum,\n    TransportOrderStatusEnum,\n    NotificationAlertLevelEnum,\n} from 'common/utils/api/models';\nimport NewIcon from 'common/icons/NewIcon';\nimport HourglassIcon from 'common/icons/HourglassIcon';\nimport PadIcon from 'common/icons/PadIcon';\nimport CaseIcon from 'common/icons/CaseIcon';\n\nexport const renderDefaultNotificationToastIcon = (alertLevel: ApiNotificationAlertLevelT): React.ReactNode => {\n    switch (alertLevel) {\n        case NotificationAlertLevelEnum.positive: {\n            return <DoneIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />;\n        }\n        case NotificationAlertLevelEnum.attention: {\n            return <StopWarningIcon opacity={0.7} fillColor={StyleGuideColorsEnum.orange} />;\n        }\n        case NotificationAlertLevelEnum.warning: {\n            return <StopWarningIcon opacity={0.7} fillColor={StyleGuideColorsEnum.tomatoRed} />;\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const renderLoadStatusNotificationToastIcon = (status: ApiShipmentStatusT | null): React.ReactNode => {\n    switch (status) {\n        case ShipmentStatusEnum.delivered: {\n            return renderDefaultNotificationToastIcon('POSITIVE');\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const renderOrderStatusNotificationToastIcon = (status: ApiOrderStatusT | null): React.ReactNode => {\n    switch (status) {\n        case OrderStatusEnum.done: {\n            return renderDefaultNotificationToastIcon('POSITIVE');\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const renderTourStatusNotificationToastIcon = (status: ApiTourStatusT | null): React.ReactNode => {\n    switch (status) {\n        case TourStatusEnum.carrierUnassigned: {\n            return renderDefaultNotificationToastIcon('WARNING');\n        }\n        case TourStatusEnum.finished: {\n            return renderDefaultNotificationToastIcon('POSITIVE');\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const renderTransportationStatusNotificationToastIcon = (\n    status: ApiTransportOrderStatusT | null,\n): React.ReactNode => {\n    switch (status) {\n        case TransportOrderStatusEnum.driverUnassigned:\n        case TransportOrderStatusEnum.assetsUnassigned: {\n            return renderDefaultNotificationToastIcon('WARNING');\n        }\n        case TransportOrderStatusEnum.done: {\n            return renderDefaultNotificationToastIcon('POSITIVE');\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const renderOrderDraftStatusNotificationToastIcon = (status: ApiRFQStatusT | null): React.ReactNode => {\n    switch (status) {\n        case RFQStatusEnum.expireSoon: {\n            return renderDefaultNotificationToastIcon('ATTENTION');\n        }\n        case RFQStatusEnum.expired: {\n            return renderDefaultNotificationToastIcon('WARNING');\n        }\n        case RFQStatusEnum.completed: {\n            return renderDefaultNotificationToastIcon('POSITIVE');\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const renderNewNotificationToastIcon = (alertLevel: ApiNotificationAlertLevelT): React.ReactNode => {\n    switch (alertLevel) {\n        // TODO check colors\n        case NotificationAlertLevelEnum.normal: {\n            return <NewIcon fillColor={StyleGuideColorsEnum.transparent} strokeColor={StyleGuideColorsEnum.white} />;\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.positive: {\n            return (\n                <NewIcon fillColor={StyleGuideColorsEnum.transparent} strokeColor={StyleGuideColorsEnum.brandAccent} />\n            );\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.attention: {\n            return <NewIcon fillColor={StyleGuideColorsEnum.transparent} strokeColor={StyleGuideColorsEnum.orange} />;\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.warning: {\n            return (\n                <NewIcon fillColor={StyleGuideColorsEnum.transparent} strokeColor={StyleGuideColorsEnum.tomatoRed} />\n            );\n        }\n        // TODO change default to normal, deprecated, before added alertLevel to notification\n        default: {\n            return <NewIcon fillColor={StyleGuideColorsEnum.transparent} strokeColor={StyleGuideColorsEnum.white} />;\n        }\n    }\n};\n\nexport const renderExpiredNotificationToastIcon = (alertLevel: ApiNotificationAlertLevelT): React.ReactNode => {\n    switch (alertLevel) {\n        // TODO check colors\n        case NotificationAlertLevelEnum.normal: {\n            return <HourglassIcon fillColor={StyleGuideColorsEnum.gray} strokeColor={StyleGuideColorsEnum.white} />;\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.positive: {\n            return (\n                <HourglassIcon fillColor={StyleGuideColorsEnum.brandAccent} strokeColor={StyleGuideColorsEnum.white} />\n            );\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.attention: {\n            return <HourglassIcon fillColor={StyleGuideColorsEnum.orange} strokeColor={StyleGuideColorsEnum.white} />;\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.warning: {\n            return (\n                <HourglassIcon fillColor={StyleGuideColorsEnum.tomatoRed} strokeColor={StyleGuideColorsEnum.white} />\n            );\n        }\n        // TODO change default to normal, deprecated, before added alertLevel to notification\n        default: {\n            return (\n                <HourglassIcon fillColor={StyleGuideColorsEnum.tomatoRed} strokeColor={StyleGuideColorsEnum.white} />\n            );\n        }\n    }\n};\n\nexport const renderAttentionPadNotificationToastIcon = (alertLevel: ApiNotificationAlertLevelT): React.ReactNode => {\n    switch (alertLevel) {\n        // TODO check colors\n        case NotificationAlertLevelEnum.normal: {\n            return (\n                <PadIcon\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.gray}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                />\n            );\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.positive: {\n            return (\n                <PadIcon\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandAccent}\n                />\n            );\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.attention: {\n            return (\n                <PadIcon\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.orange}\n                    strokeColor={StyleGuideColorsEnum.orange}\n                />\n            );\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.warning: {\n            return (\n                <PadIcon\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.tomatoRed}\n                    strokeColor={StyleGuideColorsEnum.tomatoRed}\n                />\n            );\n        }\n        // TODO change default to normal, deprecated, before added alertLevel to notification\n        default: {\n            return (\n                <PadIcon\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.orange}\n                    strokeColor={StyleGuideColorsEnum.orange}\n                />\n            );\n        }\n    }\n};\n\nexport const renderAttentionCaseNotificationToastIcon = (alertLevel: ApiNotificationAlertLevelT): React.ReactNode => {\n    switch (alertLevel) {\n        // TODO check colors\n        case NotificationAlertLevelEnum.normal: {\n            return (\n                <CaseIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.gray}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                />\n            );\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.positive: {\n            return (\n                <CaseIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandAccent}\n                />\n            );\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.attention: {\n            return (\n                <CaseIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.orange}\n                    strokeColor={StyleGuideColorsEnum.orange}\n                />\n            );\n        }\n        // TODO check colors\n        case NotificationAlertLevelEnum.warning: {\n            return (\n                <CaseIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.tomatoRed}\n                    strokeColor={StyleGuideColorsEnum.tomatoRed}\n                />\n            );\n        }\n        // TODO change default to normal, deprecated, before added alertLevel to notification\n        default: {\n            return (\n                <CaseIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillOpacity={0.3}\n                    fillColor={StyleGuideColorsEnum.orange}\n                    strokeColor={StyleGuideColorsEnum.orange}\n                />\n            );\n        }\n    }\n};\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ScrollableContent.scss';\nimport ContentLimiter from 'common/layouts/LeftMenuLayout/ContentLimiter/ContentLimiter';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    children: React.ReactNode;\n\n    scrollContainerRef?: React.RefObject<HTMLDivElement>;\n    onContainerScroll?: (event: React.UIEvent<HTMLElement>) => void;\n\n    stickyHeaderNode?: React.ReactNode;\n};\n\nconst ScrollableContent: React.FC<PropsT> = React.memo((props) => {\n    const { children, stickyHeaderNode, scrollContainerRef, onContainerScroll } = props;\n\n    return (\n        <div className={cx('wrapper')}>\n            {stickyHeaderNode}\n            <div\n                className={cx('scroll', {\n                    'scroll--hasStickyHeader': !!stickyHeaderNode,\n                })}\n                ref={scrollContainerRef}\n                onScroll={onContainerScroll}\n            >\n                <ContentLimiter className={cx('content')}>{children}</ContentLimiter>\n            </div>\n        </div>\n    );\n});\n\nexport default ScrollableContent;\n","import {\n    FETCH_VEHICLE_SCHEDULE_REQUEST,\n    FETCH_VEHICLE_SCHEDULE_REQUEST_BEGIN,\n    FETCH_VEHICLE_SCHEDULE_REQUEST_ERROR,\n    FETCH_VEHICLE_SCHEDULE_REQUEST_SUCCESS,\n    FetchVehicleScheduleActionT,\n    FetchVehicleScheduleBeginActionT,\n    FetchVehicleScheduleErrorActionT,\n    FetchVehicleScheduleSuccessActionT,\n    SetUnavailableVehicleRequestBeginActionT,\n    SetUnavailableVehicleRequestActionT,\n    SET_UNAVAILABLE_VEHICLE_REQUEST,\n    SET_UNAVAILABLE_VEHICLE_REQUEST_BEGIN,\n    SetUnavailableVehicleRequestErrorActionT,\n    SET_UNAVAILABLE_VEHICLE_REQUEST_ERROR,\n    SetUnavailableVehicleRequestSuccessActionT,\n    SET_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS,\n    CancelUnavailableVehicleRequestActionT,\n    CancelUnavailableVehicleRequestBeginActionT,\n    CancelUnavailableVehicleRequestErrorActionT,\n    CancelUnavailableVehicleRequestSuccessActionT,\n    CANCEL_UNAVAILABLE_VEHICLE_REQUEST,\n    CANCEL_UNAVAILABLE_VEHICLE_REQUEST_BEGIN,\n    CANCEL_UNAVAILABLE_VEHICLE_REQUEST_ERROR,\n    CANCEL_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS,\n} from './types';\nimport { VehicleIdT, VehicleScheduleHashT, VehicleScheduleT } from './models';\nimport { CancelUnavailableVehicleQueryT, SetUnavailableVehicleQueryT } from 'common/utils/api/models';\n\nexport const fetchVehicleSchedule = (\n    params: { vehicleId: VehicleIdT; aroundDate?: ISODateTimeT | null },\n    options?: FetchOptionsT,\n): FetchVehicleScheduleActionT => ({\n    type: FETCH_VEHICLE_SCHEDULE_REQUEST,\n    ...params,\n    options,\n});\n\nexport const fetchVehicleScheduleBegin = (hash: VehicleScheduleHashT): FetchVehicleScheduleBeginActionT => ({\n    type: FETCH_VEHICLE_SCHEDULE_REQUEST_BEGIN,\n    hash,\n});\n\nexport const fetchVehicleScheduleSuccess = (\n    hash: VehicleScheduleHashT,\n    schedule: VehicleScheduleT,\n): FetchVehicleScheduleSuccessActionT => ({\n    type: FETCH_VEHICLE_SCHEDULE_REQUEST_SUCCESS,\n    hash,\n    schedule,\n});\n\nexport const fetchVehicleScheduleError = (\n    hash: VehicleScheduleHashT,\n    error: Error,\n): FetchVehicleScheduleErrorActionT => ({\n    type: FETCH_VEHICLE_SCHEDULE_REQUEST_ERROR,\n    error,\n    hash,\n});\n\nexport const setUnavailableVehicleRequest = (\n    query: SetUnavailableVehicleQueryT,\n    companyId: CompanyIdT,\n): SetUnavailableVehicleRequestActionT => ({\n    type: SET_UNAVAILABLE_VEHICLE_REQUEST,\n    query,\n    companyId,\n});\n\nexport const setUnavailableVehicleRequestBegin = (): SetUnavailableVehicleRequestBeginActionT => ({\n    type: SET_UNAVAILABLE_VEHICLE_REQUEST_BEGIN,\n});\n\nexport const setUnavailableVehicleRequestError = (error: Error): SetUnavailableVehicleRequestErrorActionT => ({\n    type: SET_UNAVAILABLE_VEHICLE_REQUEST_ERROR,\n    error,\n});\n\nexport const setUnavailableVehicleRequestSuccess = (): SetUnavailableVehicleRequestSuccessActionT => ({\n    type: SET_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS,\n});\n\nexport const cancelUnavailableVehicleRequest = (\n    query: CancelUnavailableVehicleQueryT,\n    companyId: CompanyIdT,\n): CancelUnavailableVehicleRequestActionT => ({\n    type: CANCEL_UNAVAILABLE_VEHICLE_REQUEST,\n    query,\n    companyId,\n});\n\nexport const cancelUnavailableVehicleRequestBegin = (): CancelUnavailableVehicleRequestBeginActionT => ({\n    type: CANCEL_UNAVAILABLE_VEHICLE_REQUEST_BEGIN,\n});\n\nexport const cancelUnavailableVehicleRequestError = (error: Error): CancelUnavailableVehicleRequestErrorActionT => ({\n    type: CANCEL_UNAVAILABLE_VEHICLE_REQUEST_ERROR,\n    error,\n});\n\nexport const cancelUnavailableVehicleRequestSuccess = (): CancelUnavailableVehicleRequestSuccessActionT => ({\n    type: CANCEL_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS,\n});\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { SignUpParamsT } from 'common/store/auth/models';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport { AuthUserClaimsT, AuthUserT, PasswordT } from 'common/utils/api/auth/base-auth-service';\n\nexport const SIGN_IN_REQUEST = 'common/auth/SIGN_IN_REQUEST';\nexport const SIGN_IN_REQUEST_BEGIN = 'common/auth/SIGN_IN_REQUEST_BEGIN';\nexport const SIGN_IN_REQUEST_SUCCESS = 'common/auth/SIGN_IN_REQUEST_SUCCESS';\nexport const SIGN_IN_REQUEST_ERROR = 'common/auth/SIGN_IN_REQUEST_ERROR';\n\nexport const RESET_PASSWORD_REQUEST = 'common/auth/RESET_PASSWORD_REQUEST';\nexport const RESET_PASSWORD_REQUEST_BEGIN = 'common/auth/RESET_PASSWORD_REQUEST_BEGIN';\nexport const RESET_PASSWORD_REQUEST_SUCCESS = 'common/auth/RESET_PASSWORD_REQUEST_SUCCESS';\nexport const RESET_PASSWORD_REQUEST_ERROR = 'common/auth/RESET_PASSWORD_REQUEST_ERROR';\n\nexport const UPDATE_PASSWORD_REQUEST = 'common/auth/UPDATE_PASSWORD_REQUEST';\nexport const UPDATE_PASSWORD_REQUEST_BEGIN = 'common/auth/UPDATE_PASSWORD_REQUEST_BEGIN';\nexport const UPDATE_PASSWORD_REQUEST_SUCCESS = 'common/auth/UPDATE_PASSWORD_REQUEST_SUCCESS';\nexport const UPDATE_PASSWORD_REQUEST_ERROR = 'common/auth/UPDATE_PASSWORD_REQUEST_ERROR';\n\nexport const CONTINUE_SIGN_UP_REQUEST = 'common/auth/CONTINUE_SIGN_UP_REQUEST';\nexport const SIGN_UP_REQUEST = 'common/auth/SIGN_UP_REQUEST';\nexport const SIGN_UP_REQUEST_BEGIN = 'common/auth/SIGN_UP_REQUEST_BEGIN';\nexport const SIGN_UP_REQUEST_SUCCESS = 'common/auth/SIGN_UP_REQUEST_SUCCESS';\nexport const SIGN_UP_REQUEST_ERROR = 'common/auth/SIGN_UP_REQUEST_ERROR';\n\nexport const SIGN_OUT_REQUEST = 'common/auth/SIGN_OUT_REQUEST';\nexport const SIGN_OUT_REQUEST_BEGIN = 'common/auth/SIGN_OUT_REQUEST_BEGIN';\nexport const SIGN_OUT_REQUEST_SUCCESS = 'common/auth/SIGN_OUT_REQUEST_SUCCESS';\nexport const SIGN_OUT_REQUEST_ERROR = 'common/auth/SIGN_OUT_REQUEST_ERROR';\n\nexport const EMAIL_VERIFICATION_REQUEST = 'common/auth/EMAIL_VERIFICATION_REQUEST';\nexport const EMAIL_VERIFICATION_REQUEST_BEGIN = 'common/auth/EMAIL_VERIFICATION_REQUEST_BEGIN';\nexport const EMAIL_VERIFICATION_REQUEST_SUCCESS = 'common/auth/EMAIL_VERIFICATION_REQUEST_SUCCESS';\nexport const EMAIL_VERIFICATION_REQUEST_ERROR = 'common/auth/EMAIL_VERIFICATION_REQUEST_ERROR';\n\nexport const SET_USER = 'common/auth/SET_USER';\nexport const RESET_USER = 'common/auth/RESET_USER';\n\nexport const DESTROY_SESSION = 'common/auth/DESTROY_SESSION';\n\nexport type AuthStateT = {\n    user: AuthUserT | null;\n    signInRequest: RequestStatusT;\n    resetPasswordRequest: RequestStatusT;\n    updatePasswordRequest: RequestStatusT;\n    signUpRequest: RequestStatusT;\n    signOutRequest: RequestStatusT;\n    emailVerificationRequest: RequestStatusT;\n    userClaims: AuthUserClaimsT | null;\n    profileType: AuthProfileTypeEnum;\n};\n\nexport type SignInActionT = {\n    type: typeof SIGN_IN_REQUEST;\n    email: string;\n    password: string;\n    returnUrl: string | null;\n};\n\nexport type SignInBeginActionT = {\n    type: typeof SIGN_IN_REQUEST_BEGIN;\n};\n\nexport type SignInSuccessActionT = {\n    type: typeof SIGN_IN_REQUEST_SUCCESS;\n    user: AuthUserT;\n    userClaims: AuthUserClaimsT | null;\n};\n\nexport type SignInErrorActionT = {\n    type: typeof SIGN_IN_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type ResetPasswordActionT = {\n    type: typeof RESET_PASSWORD_REQUEST;\n    email: string;\n};\n\nexport type ResetPasswordBeginActionT = {\n    type: typeof RESET_PASSWORD_REQUEST_BEGIN;\n};\n\nexport type ResetPasswordSuccessActionT = {\n    type: typeof RESET_PASSWORD_REQUEST_SUCCESS;\n};\n\nexport type ResetPasswordErrorActionT = {\n    type: typeof RESET_PASSWORD_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type UpdatePasswordActionT = {\n    type: typeof UPDATE_PASSWORD_REQUEST;\n    oobCode: string;\n    password: PasswordT;\n};\n\nexport type UpdatePasswordBeginActionT = {\n    type: typeof UPDATE_PASSWORD_REQUEST_BEGIN;\n};\n\nexport type UpdatePasswordSuccessActionT = {\n    type: typeof UPDATE_PASSWORD_REQUEST_SUCCESS;\n};\n\nexport type UpdatePasswordErrorActionT = {\n    type: typeof UPDATE_PASSWORD_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type ContinueSignUpActionT = {\n    type: typeof CONTINUE_SIGN_UP_REQUEST;\n    firstName: string;\n    lastName: string;\n    phoneNumber: string;\n    password: string;\n    oobCode: string | null;\n    email: string | null;\n    returnUrl: string | null;\n};\n\nexport type SignUpActionT = {\n    type: typeof SIGN_UP_REQUEST;\n    params: SignUpParamsT;\n};\n\nexport type SignUpBeginActionT = {\n    type: typeof SIGN_UP_REQUEST_BEGIN;\n};\n\nexport type SignUpSuccessActionT = {\n    type: typeof SIGN_UP_REQUEST_SUCCESS;\n};\n\nexport type SignUpErrorActionT = {\n    type: typeof SIGN_UP_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type SetUserActionT = {\n    type: typeof SET_USER;\n    user: AuthUserT | null;\n    userClaims: AuthUserClaimsT | null;\n};\n\nexport type ResetUserActionT = {\n    type: typeof RESET_USER;\n};\n\nexport type SignOutActionT = {\n    type: typeof SIGN_OUT_REQUEST;\n};\n\nexport type SignOutBeginActionT = {\n    type: typeof SIGN_OUT_REQUEST_BEGIN;\n};\n\nexport type SignOutSuccessActionT = {\n    type: typeof SIGN_OUT_REQUEST_SUCCESS;\n};\n\nexport type SignOutErrorActionT = {\n    type: typeof SIGN_OUT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type EmailVerificationActionT = {\n    code: string;\n    type: typeof EMAIL_VERIFICATION_REQUEST;\n};\n\nexport type EmailVerificationBeginActionT = {\n    type: typeof EMAIL_VERIFICATION_REQUEST_BEGIN;\n};\n\nexport type EmailVerificationSuccessActionT = {\n    type: typeof EMAIL_VERIFICATION_REQUEST_SUCCESS;\n};\n\nexport type EmailVerificationErrorActionT = {\n    type: typeof EMAIL_VERIFICATION_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type DestroySessionActionT = {\n    type: typeof DESTROY_SESSION;\n};\n\nexport type AuthActionT =\n    | SignInActionT\n    | SignInBeginActionT\n    | SignInSuccessActionT\n    | SignInErrorActionT\n    | SetUserActionT\n    | ResetUserActionT\n    | ResetPasswordActionT\n    | ResetPasswordBeginActionT\n    | ResetPasswordSuccessActionT\n    | ResetPasswordErrorActionT\n    | UpdatePasswordActionT\n    | UpdatePasswordBeginActionT\n    | UpdatePasswordSuccessActionT\n    | UpdatePasswordErrorActionT\n    | SignUpActionT\n    | SignUpBeginActionT\n    | SignUpSuccessActionT\n    | SignUpErrorActionT\n    | SignOutActionT\n    | SignOutBeginActionT\n    | SignOutSuccessActionT\n    | SignOutErrorActionT\n    | DestroySessionActionT\n    | EmailVerificationActionT\n    | EmailVerificationBeginActionT\n    | EmailVerificationSuccessActionT\n    | EmailVerificationErrorActionT;\n","import { RequestStatusT } from 'common/utils/request-status';\n\nexport const SEND_TO_SPOT_BY_TOUR = 'broker/spot/SEND_TO_SPOT_BY_TOUR';\nexport const CANCEL_SPOT_REQUEST_BY_TOUR = 'broker/spot/CANCEL_SPOT_REQUEST_BY_TOUR';\nexport const CANCEL_SPOT_REQUEST = 'broker/spot/CANCEL_SPOT_REQUEST';\nexport const UPDATE_REQUEST_BEGIN = 'broker/spot/UPDATE_REQUEST_BEGIN';\nexport const UPDATE_REQUEST_ERROR = 'broker/spot/UPDATE_REQUEST_ERROR';\nexport const UPDATE_REQUEST_SUCCESS = 'broker/spot/UPDATE_REQUEST_SUCCESS';\n\nexport type SpotStateT = {\n    requestStatus: RequestStatusT;\n};\n\nexport type SendToSpotByTourActionT = {\n    type: typeof SEND_TO_SPOT_BY_TOUR;\n    tourId: TourIdT;\n    deadline: string;\n    comment: string;\n};\n\nexport type CancelSpotRequestByTourActionT = {\n    type: typeof CANCEL_SPOT_REQUEST_BY_TOUR;\n    tourId: TourIdT;\n};\n\nexport type CancelSpotRequestActionT = {\n    type: typeof CANCEL_SPOT_REQUEST;\n    spotRequestId: SpotRequestIdT;\n};\n\nexport type UpdateBeginActionT = {\n    type: typeof UPDATE_REQUEST_BEGIN;\n};\n\nexport type UpdateSuccessActionT = {\n    type: typeof UPDATE_REQUEST_SUCCESS;\n};\n\nexport type UpdateErrorActionT = {\n    type: typeof UPDATE_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type SpotActionT =\n    | SendToSpotByTourActionT\n    | CancelSpotRequestByTourActionT\n    | CancelSpotRequestActionT\n    | UpdateBeginActionT\n    | UpdateSuccessActionT\n    | UpdateErrorActionT;\n","import * as React from 'react';\n\nimport { useParams } from 'react-router-dom';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { goBackIfHasRePath } from 'common/utils/history';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport SideBarLayoutContextWrap from '../LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport EntitySidebarSkeleton from 'common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport CloseRFQConfirmation, {\n    CloseRFQConfirmationDataT,\n} from 'common/layouts/RFQDetailsPageLayout/dialogs/CloseRFQConfirmation/CloseRFQConfirmation';\nimport {\n    selectRFQDefaultPriceOffer,\n    selectRFQDetails,\n    selectRFQDetailsRequestStatus,\n} from 'common/store/rfq-details/selectors';\nimport { fetchRFQDetails } from 'common/store/rfq-details/actions';\nimport RFQStatusPill from 'common/components/status-pill/RFQStatusPill/RFQStatusPill';\nimport RFQDetails from 'common/layouts/RFQDetailsPageLayout/RFQDetails/RFQDetails';\nimport { closeRFQ } from 'common/store/rfqs-changes/actions';\nimport { selectRFQsChangesRequest } from 'common/store/rfqs-changes/selectors';\nimport { RFQStatusEnum } from 'common/utils/api/models';\nimport FooterSideBarLayout from '../LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport ContinueRFQ from './footers/ContinueRFQ/ContinueRFQ';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { selectRoutingGeometryState } from 'common/store/routing-geometry/selectors';\nimport { isNonNil } from 'common/utils';\nimport { useMemo } from 'react';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport MultiPointOrderRouteMap, {\n    MultiPointOrderRouteMapPropsT,\n} from 'common/components/MultiPointOrderRouteMap/MultiPointOrderRouteMap';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { rfqsRefreshChannel } from 'common/store/rfqs/channels';\nimport { MapPointT } from 'common/components/MultiPointOrderRouteMap/models';\n\ntype PropsT = {\n    goToBack: () => void;\n    goToUserDetails: (userId: UserIdT | null) => void;\n    isShowSourcePill?: boolean;\n};\n\nconst canCloseStatusSet = new Set<RFQStatusEnum>([RFQStatusEnum.expireSoon, RFQStatusEnum.open]);\nconst canCompleteStatusSet = new Set<RFQStatusEnum>([RFQStatusEnum.expireSoon, RFQStatusEnum.open]);\n\nconst RFQDetailsPageLayout: React.FC<PropsT> = React.memo((props) => {\n    const { isShowSourcePill, goToBack, goToUserDetails } = props;\n\n    const params = useParams<{ rfqId: RFQIdT }>();\n    const { rfqId } = params;\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const { t } = useTranslation();\n\n    const changesRequest = useSelector(selectRFQsChangesRequest);\n    const rfqDetails = useSelector(selectRFQDetails(rfqId));\n    const rfqDefaultPriceOffer = useSelector(selectRFQDefaultPriceOffer(rfqId));\n    const requestStatus = useSelector(selectRFQDetailsRequestStatus(rfqId));\n\n    const dispatch = useDispatch();\n\n    const polylineIds = useMemo(() => {\n        return [rfqDetails?.polylineId].filter(isNonNil);\n    }, [rfqDetails?.polylineId]);\n\n    useRouteGeometry(polylineIds);\n\n    React.useEffect(() => {\n        dispatch(fetchRFQDetails(rfqId, { isForceUpdate: false }));\n    }, [dispatch, rfqId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchRFQDetails(rfqId, { isForceUpdate: false }));\n    }, [dispatch, rfqId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        dispatch(fetchRFQDetails(rfqId, { isForceUpdate: true }));\n    }, [dispatch, rfqId]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        dispatch(fetchRFQDetails(rfqId, { isForceUpdate: true }));\n    }, [dispatch, rfqId]);\n    useChannelSubscribe(rfqsRefreshChannel, refreshPageHandler);\n\n    const closeRFQDetails = () => {\n        goBackIfHasRePath(() => {\n            goToBack();\n        });\n    };\n\n    const closeConfirmationModalDialog = useModalDialog<CloseRFQConfirmationDataT>();\n\n    useCloseModalDialogAfterRequest(requestStatus, [closeConfirmationModalDialog]);\n\n    const options: Array<DropdownControlOptionT | null> = React.useMemo(() => {\n        const canClose = canCloseStatusSet.has(rfqDetails?.status as RFQStatusEnum);\n\n        return [\n            canClose\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                              label={t('common:rfq-details.actions.close')}\n                          />\n                      ),\n                      onSelect: () => {\n                          closeConfirmationModalDialog.setData({ id: rfqId });\n                      },\n                  }\n                : null,\n        ];\n    }, [rfqDetails, closeConfirmationModalDialog, rfqId, t]);\n\n    useCloseModalDialogAfterRequest(changesRequest, [closeConfirmationModalDialog]);\n\n    const handleConfirmClose = () => {\n        const rfqId = closeConfirmationModalDialog.data?.id;\n        if (rfqId) {\n            dispatch(closeRFQ(rfqId));\n        }\n    };\n\n    const routingGeometryState = useSelector(selectRoutingGeometryState(rfqDetails?.polylineId));\n\n    const canComplete = canCompleteStatusSet.has(rfqDetails?.status as RFQStatusEnum);\n\n    const mapPoints = useMemo((): MultiPointOrderRouteMapPropsT['points'] => {\n        return (\n            rfqDetails?.points?.map((point, index): MapPointT => {\n                return {\n                    longitude: point?.address?.longitude,\n                    latitude: point?.address?.latitude,\n                    type: point?.type,\n                    index,\n                };\n            }) || []\n        );\n    }, [rfqDetails]);\n\n    return (\n        <GoogleMapContext.Provider value={googleMapsContextValue}>\n            <HorizontalColumnsLayout\n                testSelector=\"rfq-details\"\n                leftColumnTitle={t('common:rfq-details.main-tabs.details')}\n                leftColumnNode={\n                    <SideBarLayoutContextWrap>\n                        {changesRequest.loading && <LoaderOverlay />}\n                        <HeaderSideBarLayout>\n                            <HeaderSideBarContent\n                                title={t('common:rfq-details.title')}\n                                onClose={closeRFQDetails}\n                                afterTitleNode={\n                                    <>\n                                        <RFQStatusPill\n                                            isSymmetrical\n                                            status={rfqDetails?.status}\n                                            isImported={rfqDetails?.isImported}\n                                            source={isShowSourcePill ? rfqDetails?.source : null}\n                                        />\n                                    </>\n                                }\n                                rightNode={\n                                    <DropdownControl\n                                        options={options}\n                                        renderTrigger={(isActive, onClick) => (\n                                            <TransparentTrigger\n                                                isPressed={isActive}\n                                                onClick={onClick}\n                                                leftIcon={<MoreIcon />}\n                                                reflectionTheme={ReflectionThemeEnum.light}\n                                            />\n                                        )}\n                                        overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                    />\n                                }\n                            />\n                            <SideBarHeaderRequestStatus\n                                requestStatus={requestStatus}\n                                hasCachedData={Boolean(rfqDetails)}\n                                isForceShowLoader={changesRequest.loading}\n                            />\n                        </HeaderSideBarLayout>\n                        <SideBarLayout>\n                            <SideBarRequestStatus\n                                requestStatus={requestStatus}\n                                hasCachedData={Boolean(rfqDetails)}\n                                onRetry={handleRefreshOnError}\n                                SkeletonComponent={EntitySidebarSkeleton}\n                            >\n                                {rfqDetails ? (\n                                    <RFQDetails rfqDetails={rfqDetails} goToUserDetails={goToUserDetails} />\n                                ) : null}\n                            </SideBarRequestStatus>\n                        </SideBarLayout>\n                        {canComplete && (\n                            <FooterSideBarLayout hasPaddings>\n                                <ContinueRFQ id={rfqId} defaultPriceOffer={rfqDefaultPriceOffer} />\n                            </FooterSideBarLayout>\n                        )}\n                    </SideBarLayoutContextWrap>\n                }\n                rightColumnTitle={t('common:rfq-details.main-tabs.info')}\n                rightColumnNode={\n                    <MultiPointOrderRouteMap\n                        points={mapPoints}\n                        key={rfqId}\n                        route={routingGeometryState?.data}\n                        routeRequest={routingGeometryState?.requestStatus}\n                    />\n                }\n            />\n            <CloseRFQConfirmation\n                data={closeConfirmationModalDialog.data}\n                onConfirm={handleConfirmClose}\n                onCancel={closeConfirmationModalDialog.onCancel}\n                onClose={closeConfirmationModalDialog.onClose}\n                requestStatus={changesRequest}\n            />\n        </GoogleMapContext.Provider>\n    );\n});\n\nexport default RFQDetailsPageLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"grid--has-symmetrical-opened-margins\":\"InfoTable__grid--has-symmetrical-opened-margins___jKqkW\",\"grid__row\":\"InfoTable__grid__row___ZXLl2\",\"grid__row--has-icons\":\"InfoTable__grid__row--has-icons___q7M3a\",\"grid__row--is-opened-first-row\":\"InfoTable__grid__row--is-opened-first-row___gPxyH\",\"grid__cell\":\"InfoTable__grid__cell___U8mma\",\"grid__cell--hasBottomBorder\":\"InfoTable__grid__cell--hasBottomBorder___XKiIe\",\"grid__cell--isIcon\":\"InfoTable__grid__cell--isIcon___aBwx4\",\"grid__cell--isName\":\"InfoTable__grid__cell--isName___tVHZ4\",\"grid__cell--isFixedName\":\"InfoTable__grid__cell--isFixedName___LyieF\",\"grid__cell--isValue\":\"InfoTable__grid__cell--isValue___e825F\",\"grid__cell--isRightNode\":\"InfoTable__grid__cell--isRightNode___sncQT\",\"grid__cell--isFlexContainer\":\"InfoTable__grid__cell--isFlexContainer___A62Tu\",\"grid__cell--isBold\":\"InfoTable__grid__cell--isBold___YoqlR\",\"grid__cell--isTrigger\":\"InfoTable__grid__cell--isTrigger___Ejkt5\",\"grid__cell--isEmpty\":\"InfoTable__grid__cell--isEmpty___h2VBk\",\"fadeIn\":\"InfoTable__fadeIn___p4Jnv\",\"blinking\":\"InfoTable__blinking___Rcyjc\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractDetailsLayout.scss';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport BaseShipperContractDetailsLayout from 'common/layouts/BaseShipperContractDetailsLayout/BaseShipperContractDetailsLayout';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    partnerType: PartnerTypeEnum;\n    contractId: ShipperContractIdT;\n};\n\nconst ShipperContractDetailsLayout: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId, partnerType, contractId } = props;\n\n    return (\n        <ContentMargins className={cx('inner')}>\n            <BaseShipperContractDetailsLayout\n                partnerId={partnerId}\n                partnerType={partnerType}\n                contractId={contractId}\n                isAllowEditing\n            />\n        </ContentMargins>\n    );\n});\n\nexport default ShipperContractDetailsLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"RevokedPartnerShipperContractCard__inner___KTJuL\",\"fadeIn\":\"RevokedPartnerShipperContractCard__fadeIn___e7PD6\",\"blinking\":\"RevokedPartnerShipperContractCard__blinking___XmpnO\"};","import { isNonNil } from 'common/utils';\n\ntype EntityPaperShapeT = {\n    id?: PaperIdT | null | undefined;\n};\n\ntype OptimisticPaperShapeT = {\n    afterAttachId: PaperIdT | null;\n};\n\nexport function getVisibleOptimisticPapers<T extends EntityPaperShapeT, O extends OptimisticPaperShapeT>(params: {\n    optimisticPapers: Array<O> | null | undefined;\n    entityPapers: Array<T> | null | undefined;\n}): Array<O> {\n    const { optimisticPapers, entityPapers } = params;\n\n    const ids = entityPapers?.map((paper) => paper.id).filter(isNonNil) || [];\n    const attachedPaperIdSet = new Set(ids);\n\n    return (\n        optimisticPapers?.filter(\n            (optimisticPaper) =>\n                !optimisticPaper.afterAttachId || !attachedPaperIdSet.has(optimisticPaper.afterAttachId),\n        ) || []\n    );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"DriversAssignmentForm__title___KuxbW\",\"form\":\"DriversAssignmentForm__form___hP57K\",\"actions\":\"DriversAssignmentForm__actions___wdlYp\",\"sub-actions\":\"DriversAssignmentForm__sub-actions___xm3Rd\",\"action--clear-assets\":\"DriversAssignmentForm__action--clear-assets___Y2bXb\",\"action--reassign-cancel\":\"DriversAssignmentForm__action--reassign-cancel___aiibw\",\"action--reassign\":\"DriversAssignmentForm__action--reassign___FB4V3\",\"action--assign-cancel\":\"DriversAssignmentForm__action--assign-cancel___M_bl9\",\"action--assign\":\"DriversAssignmentForm__action--assign___mKvEu\",\"fadeIn\":\"DriversAssignmentForm__fadeIn___yizCw\",\"blinking\":\"DriversAssignmentForm__blinking___HQ1oW\"};","import * as React from 'react';\n\nimport styles from './RouteSidebarSkeleton.scss';\nimport classNames from 'classnames/bind';\n\nexport type PropsT = {};\n\nconst cx = classNames.bind(styles);\n\nconst RouteSidebarSkeleton: React.FC<PropsT> = React.memo(() => {\n    return (\n        <>\n            <div className={cx('skeleton__box', 'skeleton__box--first')} />\n            <div className={cx('skeleton__box', 'skeleton__box--secondary')} />\n            <div className={cx('skeleton__box', 'skeleton__box--first')} />\n            <div className={cx('skeleton__box', 'skeleton__box--secondary')} />\n        </>\n    );\n});\n\nexport default RouteSidebarSkeleton;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { fetchTimeZones, fetchTimeZonesBegin, fetchTimeZonesError, fetchTimeZonesSuccess } from './slice';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectTimeZonesRequest } from './selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\n\nfunction* fetchTimeZonesSaga(): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectTimeZonesRequest> = yield select(selectTimeZonesRequest);\n\n    const isNeedRequest = checkNeedRequest(requestStatus);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchTimeZonesBegin());\n\n    const [error, response]: ReturnApiT<typeof commonTranziitApi.getTimeZones> = yield commonTranziitApi.getTimeZones();\n    if (error) {\n        yield put(fetchTimeZonesError({ error }));\n        return;\n    }\n\n    yield put(fetchTimeZonesSuccess({ timeZones: response || [] }));\n}\n\nfunction* timeZonesSaga(): WrapGeneratorT<void> {\n    yield takeEvery([fetchTimeZones.type], fetchTimeZonesSaga);\n}\n\nexport default timeZonesSaga;\n","export enum FieldsEnum {\n    minimalShipmentCost = 'MINIMAL_COST_FOR_SHIPMENT',\n    driverSalaryPerHour = 'DRIVER_SALARY_PER_HOUR',\n    minimalCostForTruck = 'MINIMAL_COST_FOR_TRUCK',\n    minimalCostForTrailer = 'MINIMAL_COST_FOR_TRAILER',\n    layoverCostPerHour = 'COST_PER_ONE_HOUR_LAYOVER',\n    layoverCostPerDay = 'COST_PER_ONE_DAY_LAYOVER',\n    layoverFreeHours = 'LAYOVER_FREE_HOURS',\n    urgentOverPrice = 'URGENT_OVERPRICE',\n    overPriceForEveryAdditionalStop = 'OVERPRICE_FOR_EVERY_ADDITIONAL_STOP',\n    timeSlotAppointmentCost = 'TIME_SLOT_APPOINTMENT_COST',\n    costPerGreenShipment = 'COST_PER_GREEN_SHIPMENT',\n    tranziitServiceFeeFixedMode = 'TRANZIIT_SERVICE_FEE_FIXED_MODE',\n    tranziitServiceFeePercent = 'TRANZIIT_SERVICE_FEE_PERCENT',\n    tranziitServiceFeeFixed = 'TRANZIIT_SERVICE_FEE_FIXED',\n    pricingStrategy = 'PRICING_STRATEGY',\n    truckConsumption = 'TRUCK_CONSUMPTION',\n    reeferConsumption = 'REEFER_CONSUMPTION',\n    usePeriodicRulesForMonths = 'use-periodic-rules-for-months',\n    usePeriodicRulesForWeekdays = 'use-periodic-rules-for-weekdays',\n    rateMatrixSpread = 'RATE_MATRIX_SPREAD',\n    hvoPricePercent = 'HVO_PRICE_PERCENT',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.minimalShipmentCost]: string;\n    [FieldsEnum.driverSalaryPerHour]: string;\n    [FieldsEnum.minimalCostForTruck]: string;\n    [FieldsEnum.minimalCostForTrailer]: string;\n    [FieldsEnum.layoverCostPerHour]: string;\n    [FieldsEnum.layoverCostPerDay]: string;\n    [FieldsEnum.layoverFreeHours]: string;\n    [FieldsEnum.urgentOverPrice]: string;\n    [FieldsEnum.overPriceForEveryAdditionalStop]: string;\n    [FieldsEnum.timeSlotAppointmentCost]: string;\n    [FieldsEnum.costPerGreenShipment]: string;\n    [FieldsEnum.tranziitServiceFeeFixedMode]: string;\n    [FieldsEnum.tranziitServiceFeePercent]: string;\n    [FieldsEnum.tranziitServiceFeeFixed]: string;\n    [FieldsEnum.pricingStrategy]: string;\n    [FieldsEnum.truckConsumption]: string;\n    [FieldsEnum.reeferConsumption]: string;\n    [FieldsEnum.rateMatrixSpread]: string;\n    [FieldsEnum.usePeriodicRulesForMonths]: boolean;\n    [FieldsEnum.usePeriodicRulesForWeekdays]: boolean;\n    [FieldsEnum.hvoPricePercent]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import {\n    FETCH_USER_REQUEST,\n    FETCH_USER_REQUEST_BEGIN,\n    FETCH_USER_REQUEST_ERROR,\n    FETCH_USER_REQUEST_SUCCESS,\n    FetchUserActionT,\n    FetchUserBeginActionT,\n    FetchUserErrorActionT,\n    FetchUserSuccessActionT,\n    PATCH_USER_REQUEST,\n    PATCH_USER_REQUEST_BEGIN,\n    PATCH_USER_REQUEST_ERROR,\n    PATCH_USER_REQUEST_SUCCESS,\n    PatchUserActionT,\n    PatchUserBeginActionT,\n    PatchUserErrorActionT,\n    PatchUserSuccessActionT,\n} from './types';\n\nimport { UserChangesT, UserT } from './models';\nimport { ApiUserT, ApiUserUpdateT } from 'common/utils/api/models';\nimport { AuthUserT } from 'common/utils/api/auth/base-auth-service';\n\nexport const fetchUser = (): FetchUserActionT => ({\n    type: FETCH_USER_REQUEST,\n});\n\nexport const fetchUserBegin = (): FetchUserBeginActionT => ({\n    type: FETCH_USER_REQUEST_BEGIN,\n});\n\nexport const fetchUserSuccess = (user: ApiUserT): FetchUserSuccessActionT => ({\n    type: FETCH_USER_REQUEST_SUCCESS,\n    currentUser: user,\n});\n\nexport const fetchUserError = (error: Error): FetchUserErrorActionT => ({\n    type: FETCH_USER_REQUEST_ERROR,\n    error,\n});\n\nexport const patchUser = (user: UserT | null, authUser: AuthUserT | null, changes: UserChangesT): PatchUserActionT => ({\n    type: PATCH_USER_REQUEST,\n    user,\n    authUser,\n    changes,\n});\n\nexport const patchUserBegin = (): PatchUserBeginActionT => ({\n    type: PATCH_USER_REQUEST_BEGIN,\n});\n\nexport const patchUserSuccess = (currentUser: UserT, currentUserUpdate: ApiUserUpdateT): PatchUserSuccessActionT => ({\n    type: PATCH_USER_REQUEST_SUCCESS,\n    currentUser,\n    currentUserUpdate,\n});\n\nexport const patchUserError = (error: Error): PatchUserErrorActionT => ({\n    type: PATCH_USER_REQUEST_ERROR,\n    error,\n});\n","import React from 'react';\nimport { SyncShipmentDetailsFormMapStateContextValueT } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/usy-sync-map-state';\n\nconst SyncShipmentDetailsFormMapStateContext = React.createContext<SyncShipmentDetailsFormMapStateContextValueT>({\n    isMapInitialized: false,\n    setIsMapInitialized: () => {\n        // nothing\n    },\n    editingRoutePointIndex: null,\n    setEditingRoutePointIndex: () => {\n        // nothing\n    },\n    syncMapSettings: null,\n    setSyncMapSettings: () => {\n        // nothing\n    },\n    editingRoutePointErrorsIndexes: [],\n    setHasEditingRoutePointErrorIndexes: () => {\n        // nothing\n    },\n    hasEditingRoutePointError: false,\n    initialBoundingBox: null,\n    setInitialBoundingBox: () => {\n        // nothing\n    },\n});\n\nexport { SyncShipmentDetailsFormMapStateContext };\n","import * as React from 'react';\nimport { Trans } from 'react-i18next';\nimport CityName from '../entities/CityName/CityName';\nimport Identifier from 'common/components/notification-cards/entities/Identifier/Identifier';\nimport classNames from 'classnames/bind';\nimport styles from './ShipmentMissedCard.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    shipmentNumber: React.ReactNode;\n    orderNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst ShipmentMissedCard: React.FC<PropsT> = React.memo((props) => {\n    const { shipmentNumber, orderNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"common:notifications.shipment-missed\"\n                components={{\n                    shipmentNumber: <Identifier id={shipmentNumber} />,\n                    orderNumber: <Identifier id={orderNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ShipmentMissedCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ExpireSoonPartnerShipperLaneContractCard__inner___zFUmF\",\"fadeIn\":\"ExpireSoonPartnerShipperLaneContractCard__fadeIn___jsBkO\",\"blinking\":\"ExpireSoonPartnerShipperLaneContractCard__blinking___czEDn\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BidsCountCell.scss';\n\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    numberOfNewBids: number | null | undefined;\n    numberOfReadBids: number | null | undefined;\n    numberOfSentBids: number | null | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst BidsCountCell: React.FC<PropsT> = React.memo((props) => {\n    const { numberOfNewBids, numberOfReadBids, numberOfSentBids } = props;\n\n    const { t } = useTranslation();\n\n    const renderBid = ({\n        count,\n        placeholder,\n        theme,\n        isShowPlusSign,\n    }: {\n        count: number | null | undefined;\n        placeholder: React.ReactNode;\n        theme: PillLabelThemeEnum;\n        isShowPlusSign?: boolean;\n    }): React.ReactNode => {\n        if (!isNumber(count)) {\n            return null;\n        }\n\n        return (\n            <Tooltip\n                className={cx('tooltip')}\n                position={TooltipPositionEnum.topCenter}\n                theme={TooltipThemeEnum.black}\n                tooltipNode={\n                    placeholder ? (\n                        <TooltipContent className={cx('tooltip-content')} theme={TooltipContentThemeEnum.black}>\n                            {placeholder}\n                        </TooltipContent>\n                    ) : null\n                }\n            >\n                {(isShow, childrenClassName) => (\n                    <PillLabel isSymmetrical theme={theme} className={childrenClassName}>\n                        {isShowPlusSign ? '+' : ''}\n                        {count}\n                    </PillLabel>\n                )}\n            </Tooltip>\n        );\n    };\n\n    return (\n        <div className={cx('wrap')}>\n            {renderBid({\n                count: numberOfSentBids,\n                placeholder: t('spot-requests.list.table.bidCounts.sent'),\n                theme: PillLabelThemeEnum.grey,\n            })}\n            {numberOfReadBids\n                ? renderBid({\n                      count: numberOfReadBids,\n                      placeholder: t('spot-requests.list.table.bidCounts.accepted'),\n                      theme: PillLabelThemeEnum.slate,\n                  })\n                : null}\n            {numberOfNewBids\n                ? renderBid({\n                      count: numberOfNewBids,\n                      isShowPlusSign: true,\n                      placeholder: t('spot-requests.list.table.bidCounts.new'),\n                      theme: PillLabelThemeEnum.orange,\n                  })\n                : null}\n        </div>\n    );\n});\n\nexport default BidsCountCell;\n","import { useContext } from 'react';\nimport PartnerPermissionsContext, { PartnerPermissionsContextT } from 'common/contexts/partner-permission-context';\n\nconst usePartnerPermissionsContext = (): PartnerPermissionsContextT => {\n    return useContext(PartnerPermissionsContext);\n};\n\nexport default usePartnerPermissionsContext;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ApiTimeZoneInfoT } from 'common/utils/api/models';\nimport { selectTimeZones, selectTimeZonesRequest } from 'common/store/time-zones/selectors';\nimport { fetchTimeZones } from 'common/store/time-zones/slice';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\n\ntype OptionT = ApiTimeZoneInfoT;\ntype ValueT = OptionT['timeZone'] | null;\n\ntype PropsT = {\n    onChange: (timeZoneId: ValueT | null) => void;\n    value?: ValueT;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    isDisabled?: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    placeholder?: string;\n};\n\nconst TimeZoneDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        onChange,\n        value,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        isDisabled,\n        hasChanges,\n        onBlur,\n        onFocus,\n        placeholder,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const timeZones = useSelector(selectTimeZones);\n    const fetchRequest = useSelector(selectTimeZonesRequest);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchTimeZones());\n    }, [dispatch]);\n\n    const renderOption = (option?: OptionT, placeholder?: string): React.ReactNode | null => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <span>\n                {option.timeZone || ''} {Boolean(option.cities?.length) && <span>({option.cities?.join(', ')})</span>}\n            </span>\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option?.timeZone || null;\n\n    return (\n        <DropdownInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            testSelector=\"time-zone\"\n            placeholder={placeholder || t('common:time-zone-selector.placeholder')}\n            options={timeZones || []}\n            onSelect={onChange}\n            isDisabled={fetchRequest.loading || isDisabled}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            renderRightIcon={() =>\n                fetchRequest.loading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n            }\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n        />\n    );\n});\n\nexport default TimeZoneDropdown;\n","import {\n    CompanyTransportOrdersStateT,\n    FETCH_ORDERS_PAGE_REQUEST_BEGIN,\n    FETCH_ORDERS_PAGE_REQUEST_ERROR,\n    FETCH_ORDERS_PAGE_REQUEST_SUCCESS,\n    RESET_ORDERS,\n    TransportOrdersActionT,\n    TransportOrdersStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { pageBeginReducer, pageSuccessReducer, resetPagesCacheReducer } from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCompanyTransportOrdersState: CompanyTransportOrdersStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n};\n\nconst initialState: TransportOrdersStateT = {};\n\nexport default (\n    state = initialState,\n    action: TransportOrdersActionT | DestroySessionActionT,\n): TransportOrdersStateT => {\n    switch (action.type) {\n        case FETCH_ORDERS_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTransportOrdersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageBeginReducer(companyState, pageNumber, query),\n                },\n            };\n        }\n        case FETCH_ORDERS_PAGE_REQUEST_SUCCESS: {\n            const { query, pageNumber, pageResponse, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTransportOrdersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageSuccessReducer(companyState, pageNumber, query, pageResponse),\n                },\n            };\n        }\n        case FETCH_ORDERS_PAGE_REQUEST_ERROR: {\n            const { error, pageNumber, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTransportOrdersState;\n\n            const newPages = [...companyState.pages];\n            newPages.splice(pageNumber, 1, {\n                ...companyState.pages[pageNumber],\n                requestStatus: requestStatus.setError(error),\n            });\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    pages: newPages,\n                },\n            };\n        }\n        case RESET_ORDERS: {\n            const { companyId, mutationListOptions } = action;\n\n            const companyTransportOrdersState = state[companyId] || initialCompanyTransportOrdersState;\n\n            return {\n                ...initialState,\n                [companyId]: {\n                    ...initialCompanyTransportOrdersState,\n                    ...resetPagesCacheReducer(\n                        initialCompanyTransportOrdersState,\n                        companyTransportOrdersState,\n                        mutationListOptions,\n                    ),\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return {\n                ...initialState,\n            };\n        }\n        default:\n            return state;\n    }\n};\n","import { UNIT } from 'common/constants';\n\nexport const LEFT_PADDING = 17.5 * UNIT;\nexport const RIGHT_PADDING = 2.5 * UNIT;\nexport const EVENT_WIDTH = 4 * UNIT;\nexport const EVENT_PADDING = 2.5 * UNIT;\nexport const EVENTS_LEVEL_WIDTH = EVENT_WIDTH + 2 * EVENT_PADDING;\n\nexport const DATA_TIMELINE_ITEM_SELECTOR = 'data-timeline-item-id';\n","import React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport { ApiShipperContractLaneStatusT, ShipperContractLaneStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport { SHIPPER_CONTRACT_LANE_STATUS_T_MAP } from 'common/components/status/ShipperContractLaneStatus/ShipperContractLaneStatus';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport { statusColorMap } from 'common/components/status-colored/ShipperContractLaneColoredStatus/ShipperContractLaneColoredStatus';\nimport { useSelector } from 'react-redux';\nimport { selectProfileType } from 'common/store/auth/selectors';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\n\ntype ValueT = ApiShipperContractLaneStatusT | null;\n\ntype PropsT = {\n    className?: string;\n    value: ValueT;\n    onChange: (value: ValueT) => void;\n    testSelector?: string;\n};\n\nconst ShipperContractLaneStatusDropdownControl: React.FC<PropsT> = React.memo((props) => {\n    const { className, value, onChange, testSelector } = props;\n\n    const { t } = useTranslation();\n\n    const profileTypeEnum = useSelector(selectProfileType);\n\n    const options = React.useMemo((): DropdownControlOptionT[] => {\n        return [\n            null,\n            ShipperContractLaneStatusEnum.active,\n            ShipperContractLaneStatusEnum.expired,\n            ShipperContractLaneStatusEnum.completed,\n            ShipperContractLaneStatusEnum.revoked,\n        ].map((status: ApiShipperContractLaneStatusT | null): DropdownControlOptionT => {\n            const isSelected = value === status;\n            if (status === null) {\n                return {\n                    label: (\n                        <DropdownControlOptionLabel\n                            isSelected={isSelected}\n                            label={t('common:shipper-contract-lane-status.all')}\n                        />\n                    ),\n                    onSelect: () => {\n                        onChange(null);\n                    },\n                };\n            }\n\n            return {\n                label: (\n                    <DropdownControlOptionLabel\n                        icon={<HollowCircleIcon borderColor={statusColorMap[profileTypeEnum]?.[status]} />}\n                        isSelected={isSelected}\n                        label={t(SHIPPER_CONTRACT_LANE_STATUS_T_MAP[status])}\n                    />\n                ),\n                onSelect: () => {\n                    onChange(status);\n                },\n            };\n        });\n    }, [t, value, onChange, profileTypeEnum]);\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            testSelector={`${testSelector}_more-statuses`}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    rightIcon={<ArrowsIcon />}\n                    label={\n                        value\n                            ? t(SHIPPER_CONTRACT_LANE_STATUS_T_MAP[value])\n                            : t('common:shipper-contract-lane-status.all')\n                    }\n                    reflectionTheme={ReflectionThemeEnum.light}\n                    testSelector={`${testSelector}-trigger`}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n        />\n    );\n});\n\nexport default ShipperContractLaneStatusDropdownControl;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst SearchIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, className } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 18 18\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M.9.9h16.2v16.2H.9z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M11.363 10.35h-.534l-.189-.182a4.387 4.387 0 10-.472.472l.182.19v.533l3.375 3.368 1.006-1.006-3.368-3.375zm-4.05 0a3.034 3.034 0 01-3.038-3.037 3.034 3.034 0 013.037-3.038 3.034 3.034 0 013.038 3.037 3.034 3.034 0 01-3.037 3.038z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nSearchIcon.displayName = 'SearchIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default SearchIcon;\n\nexport const SearchIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                fillColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                fillColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                fillColor: StyleGuideColorsEnum.brandAccent,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                fillColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.gray,\n        };\n    },\n};\n","import * as React from 'react';\nimport { checkValuesChanges } from 'common/utils/form-helpers';\n\ntype FormValueT = object | number | string | boolean | null | undefined | Array<number> | Array<string>;\ntype FormValuesT = Record<string, FormValueT>;\n\nexport const createUseWatchAnyFieldValueChanges =\n    <T extends FormValuesT>(fields: Array<keyof T>) =>\n    (initValues: T, values: T): boolean => {\n        const hasChanges = React.useMemo(() => {\n            return checkValuesChanges(fields, initValues, values);\n            // eslint-disable-next-line react-hooks/exhaustive-deps\n        }, [fields, initValues, values]);\n\n        return hasChanges;\n    };\n","import React, { CSSProperties } from 'react';\n\nimport classNames from 'classnames/bind';\nimport {\n    useFloating,\n    autoUpdate,\n    offset,\n    flip,\n    shift,\n    arrow,\n    useHover,\n    useFocus,\n    useDismiss,\n    useInteractions,\n    safePolygon,\n    FloatingArrow,\n    FloatingPortal,\n} from '@floating-ui/react';\n\nimport { TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\n\nimport styles from './Flag.scss';\nimport { FlagT } from '../models';\nimport { DATA_TIMELINE_ITEM_SELECTOR } from '../constants';\nimport { UNIT, StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nconst MIN_HEIGHT_PX = 4 * UNIT;\n\nconst TOOLTIP_HOVER_DELAY_MS = 300;\nconst TOOLTIP_CLOSE_DELAY_MS = 3000;\n\nconst TOOLTIP_ARROW_FILL: Record<TooltipThemeEnum, StyleGuideColorsEnum> = {\n    [TooltipThemeEnum.white]: StyleGuideColorsEnum.white,\n    [TooltipThemeEnum.black]: StyleGuideColorsEnum.charcoal,\n};\n\nexport type FlagPropsT<T> = {\n    start: number;\n    getHeight: (height: number) => number;\n    flag: FlagT<T>;\n    style?: CSSProperties;\n};\n\nconst Flag = <T = unknown,>(props: FlagPropsT<T>) => {\n    const { start, flag, getHeight, style } = props;\n\n    const { renderTooltip, tooltipTheme = TooltipThemeEnum.white } = flag;\n\n    const [isShowLabel, setShowLabel] = React.useState<boolean>(true);\n    const [isTooltipOpen, setTooltipOpen] = React.useState(false);\n\n    const wrapRef = React.useRef<HTMLDivElement>();\n    const labelRef = React.createRef<HTMLDivElement>();\n    const tooltipArrowRef = React.useRef<SVGSVGElement | null>(null);\n\n    const hasFloatingTooltip = Boolean(renderTooltip);\n\n    const { refs, floatingStyles, context } = useFloating({\n        open: hasFloatingTooltip && isTooltipOpen,\n        onOpenChange: setTooltipOpen,\n        placement: 'top',\n        middleware: [\n            offset(10),\n            flip({ padding: 2 * UNIT }),\n            shift({ padding: 2 * UNIT }),\n            arrow({ element: tooltipArrowRef }),\n        ],\n        strategy: 'fixed',\n        transform: false,\n        whileElementsMounted: autoUpdate,\n    });\n\n    const hover = useHover(context, {\n        enabled: hasFloatingTooltip,\n        delay: { open: TOOLTIP_HOVER_DELAY_MS, close: TOOLTIP_CLOSE_DELAY_MS },\n        handleClose: safePolygon({ buffer: 1 }),\n    });\n\n    const focus = useFocus(context, { enabled: hasFloatingTooltip });\n\n    const dismiss = useDismiss(context, { enabled: hasFloatingTooltip });\n\n    const { getReferenceProps, getFloatingProps } = useInteractions([hover, focus, dismiss]);\n\n    React.useEffect(() => {\n        if (!hasFloatingTooltip) {\n            setTooltipOpen(false);\n        }\n    }, [hasFloatingTooltip]);\n\n    const setFloatingReference = refs.setReference;\n\n    const setRef = React.useCallback(\n        (node: HTMLDivElement | null): void => {\n            wrapRef.current = node ?? undefined;\n            setFloatingReference(node);\n        },\n        [setFloatingReference],\n    );\n\n    React.useEffect(() => {\n        if (!labelRef.current || !wrapRef.current) {\n            return;\n        }\n\n        const isShowLabel = labelRef.current.offsetHeight < wrapRef.current.offsetHeight;\n        setShowLabel(isShowLabel);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [wrapRef.current, labelRef.current]);\n\n    const durationPx = getHeight(flag.end - flag.start);\n    const heightPx = Math.max(durationPx, MIN_HEIGHT_PX);\n\n    return (\n        <>\n            <div\n                className={cx('flag', {\n                    [`flag--theme-${flag.theme}`]: true,\n                })}\n                style={{\n                    top: `${getHeight(flag.start - start)}px`,\n                    height: `${heightPx}px`,\n                    ...style,\n                }}\n                ref={setRef}\n                title={hasFloatingTooltip ? undefined : flag.label}\n                {...{ [DATA_TIMELINE_ITEM_SELECTOR]: flag.id }}\n                {...(hasFloatingTooltip ? getReferenceProps() : {})}\n            >\n                {isShowLabel && (\n                    <div className={cx('flag__label-wrap')}>\n                        {flag.iconNode && <div className={cx('flag__icon')}>{flag.iconNode}</div>}\n                        <div\n                            ref={labelRef}\n                            className={cx('flag__label', {\n                                [`flag__label--theme-${flag.theme}`]: true,\n                            })}\n                        >\n                            {flag.label}\n                        </div>\n                    </div>\n                )}\n            </div>\n            {hasFloatingTooltip && isTooltipOpen && (\n                <FloatingPortal>\n                    <div\n                        ref={refs.setFloating}\n                        style={floatingStyles}\n                        className={cx('tooltip')}\n                        {...getFloatingProps({\n                            onClick(event: React.MouseEvent<HTMLDivElement>) {\n                                event.stopPropagation();\n                            },\n                        })}\n                    >\n                        <FloatingArrow\n                            fill={TOOLTIP_ARROW_FILL[tooltipTheme]}\n                            ref={tooltipArrowRef}\n                            context={context}\n                        />\n                        <div\n                            className={cx('tooltip__inner', {\n                                [`tooltip__inner--theme-${tooltipTheme}`]: true,\n                            })}\n                        >\n                            {renderTooltip?.(flag.data)}\n                        </div>\n                    </div>\n                </FloatingPortal>\n            )}\n        </>\n    );\n};\n\nexport { Flag };\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"ControlsCell__fadeIn___oWuvL\",\"blinking\":\"ControlsCell__blinking___cmYJg\"};","import {\n    CONTINUE_SIGN_UP_REQUEST,\n    ContinueSignUpActionT,\n    DESTROY_SESSION,\n    DestroySessionActionT,\n    EMAIL_VERIFICATION_REQUEST,\n    EMAIL_VERIFICATION_REQUEST_BEGIN,\n    EMAIL_VERIFICATION_REQUEST_ERROR,\n    EMAIL_VERIFICATION_REQUEST_SUCCESS,\n    EmailVerificationActionT,\n    EmailVerificationBeginActionT,\n    EmailVerificationErrorActionT,\n    EmailVerificationSuccessActionT,\n    RESET_PASSWORD_REQUEST,\n    RESET_PASSWORD_REQUEST_BEGIN,\n    RESET_PASSWORD_REQUEST_ERROR,\n    RESET_PASSWORD_REQUEST_SUCCESS,\n    RESET_USER,\n    ResetPasswordActionT,\n    ResetPasswordBeginActionT,\n    ResetPasswordErrorActionT,\n    ResetPasswordSuccessActionT,\n    ResetUserActionT,\n    SET_USER,\n    SetUserActionT,\n    SIGN_IN_REQUEST,\n    SIGN_IN_REQUEST_BEGIN,\n    SIGN_IN_REQUEST_ERROR,\n    SIGN_IN_REQUEST_SUCCESS,\n    SIGN_OUT_REQUEST,\n    SIGN_OUT_REQUEST_BEGIN,\n    SIGN_OUT_REQUEST_ERROR,\n    SIGN_OUT_REQUEST_SUCCESS,\n    SIGN_UP_REQUEST,\n    SIGN_UP_REQUEST_BEGIN,\n    SIGN_UP_REQUEST_ERROR,\n    SIGN_UP_REQUEST_SUCCESS,\n    SignInActionT,\n    SignInBeginActionT,\n    SignInErrorActionT,\n    SignInSuccessActionT,\n    SignOutActionT,\n    SignOutBeginActionT,\n    SignOutErrorActionT,\n    SignOutSuccessActionT,\n    SignUpActionT,\n    SignUpBeginActionT,\n    SignUpErrorActionT,\n    SignUpSuccessActionT,\n    UPDATE_PASSWORD_REQUEST,\n    UPDATE_PASSWORD_REQUEST_BEGIN,\n    UPDATE_PASSWORD_REQUEST_ERROR,\n    UPDATE_PASSWORD_REQUEST_SUCCESS,\n    UpdatePasswordActionT,\n    UpdatePasswordBeginActionT,\n    UpdatePasswordErrorActionT,\n    UpdatePasswordSuccessActionT,\n} from './types';\nimport { SignUpParamsT } from 'common/store/auth/models';\nimport { AuthUserClaimsT, AuthUserT } from 'common/utils/api/auth/base-auth-service';\n\nexport const signIn = (email: string, password: string, returnUrl: string | null): SignInActionT => ({\n    type: SIGN_IN_REQUEST,\n    email,\n    password,\n    returnUrl,\n});\n\nexport const signInBegin = (): SignInBeginActionT => ({\n    type: SIGN_IN_REQUEST_BEGIN,\n});\n\nexport const signInSuccess = (user: AuthUserT, userClaims: AuthUserClaimsT | null): SignInSuccessActionT => ({\n    type: SIGN_IN_REQUEST_SUCCESS,\n    user,\n    userClaims,\n});\n\nexport const signInError = (error: Error): SignInErrorActionT => ({\n    type: SIGN_IN_REQUEST_ERROR,\n    error,\n});\n\nexport const resetPassword = (email: string): ResetPasswordActionT => ({\n    type: RESET_PASSWORD_REQUEST,\n    email,\n});\n\nexport const resetPasswordBegin = (): ResetPasswordBeginActionT => ({\n    type: RESET_PASSWORD_REQUEST_BEGIN,\n});\n\nexport const resetPasswordSuccess = (): ResetPasswordSuccessActionT => ({\n    type: RESET_PASSWORD_REQUEST_SUCCESS,\n});\n\nexport const resetPasswordError = (error: Error): ResetPasswordErrorActionT => ({\n    type: RESET_PASSWORD_REQUEST_ERROR,\n    error,\n});\n\nexport const updatePassword = (oobCode: string, password: string): UpdatePasswordActionT => ({\n    type: UPDATE_PASSWORD_REQUEST,\n    oobCode,\n    password,\n});\n\nexport const updatePasswordBegin = (): UpdatePasswordBeginActionT => ({\n    type: UPDATE_PASSWORD_REQUEST_BEGIN,\n});\n\nexport const updatePasswordSuccess = (): UpdatePasswordSuccessActionT => ({\n    type: UPDATE_PASSWORD_REQUEST_SUCCESS,\n});\n\nexport const updatePasswordError = (error: Error): UpdatePasswordErrorActionT => ({\n    type: UPDATE_PASSWORD_REQUEST_ERROR,\n    error,\n});\n\nexport const continueSignUp = (\n    firstName: string,\n    lastName: string,\n    phoneNumber: string,\n    password: string,\n    oobCode: string | null,\n    email: string | null,\n    returnUrl: string | null,\n): ContinueSignUpActionT => ({\n    type: CONTINUE_SIGN_UP_REQUEST,\n    firstName,\n    lastName,\n    phoneNumber,\n    password,\n    oobCode,\n    email,\n    returnUrl,\n});\n\nexport const signUp = (params: SignUpParamsT): SignUpActionT => ({\n    type: SIGN_UP_REQUEST,\n    params,\n});\n\nexport const signUpBegin = (): SignUpBeginActionT => ({\n    type: SIGN_UP_REQUEST_BEGIN,\n});\n\nexport const signUpSuccess = (): SignUpSuccessActionT => ({\n    type: SIGN_UP_REQUEST_SUCCESS,\n});\n\nexport const signUpError = (error: Error): SignUpErrorActionT => ({\n    type: SIGN_UP_REQUEST_ERROR,\n    error,\n});\n\nexport const setUser = (user: AuthUserT | null, userClaims: AuthUserClaimsT | null): SetUserActionT => ({\n    type: SET_USER,\n    user,\n    userClaims,\n});\n\nexport const resetUser = (): ResetUserActionT => ({\n    type: RESET_USER,\n});\n\nexport const signOut = (): SignOutActionT => ({\n    type: SIGN_OUT_REQUEST,\n});\n\nexport const signOutBegin = (): SignOutBeginActionT => ({\n    type: SIGN_OUT_REQUEST_BEGIN,\n});\n\nexport const signOutSuccess = (): SignOutSuccessActionT => ({\n    type: SIGN_OUT_REQUEST_SUCCESS,\n});\n\nexport const signOutError = (error: Error): SignOutErrorActionT => ({\n    type: SIGN_OUT_REQUEST_ERROR,\n    error,\n});\n\nexport const emailVerification = (code: string): EmailVerificationActionT => ({\n    type: EMAIL_VERIFICATION_REQUEST,\n    code,\n});\n\nexport const emailVerificationBegin = (): EmailVerificationBeginActionT => ({\n    type: EMAIL_VERIFICATION_REQUEST_BEGIN,\n});\n\nexport const emailVerificationSuccess = (): EmailVerificationSuccessActionT => ({\n    type: EMAIL_VERIFICATION_REQUEST_SUCCESS,\n});\n\nexport const emailVerificationError = (error: Error): EmailVerificationErrorActionT => ({\n    type: EMAIL_VERIFICATION_REQUEST_ERROR,\n    error,\n});\n\nexport const destroySession = (): DestroySessionActionT => ({\n    type: DESTROY_SESSION,\n});\n","import { logError } from 'common/utils/logger';\n\ntype AnyValuesT = any;\n\nclass ValuesStorage {\n    persistStorageDateKey: string;\n\n    constructor(formName: string) {\n        this.persistStorageDateKey = formName;\n    }\n\n    saveValues = (values: AnyValuesT): void => {\n        try {\n            const { persistStorageDateKey } = this;\n            localStorage.setItem(persistStorageDateKey, JSON.stringify(values));\n        } catch (error) {\n            logError('ValuesStorage saveValues', error);\n        }\n    };\n\n    getValues = (): AnyValuesT | null => {\n        try {\n            const { persistStorageDateKey } = this;\n\n            const rawValues = localStorage.getItem(persistStorageDateKey);\n            if (!rawValues) {\n                return null;\n            }\n\n            const parsedValues = JSON.parse(rawValues);\n\n            return parsedValues;\n        } catch (error) {\n            logError('ValuesStorage getValues', error);\n            return null;\n        }\n    };\n\n    reset = (): void => {\n        const { persistStorageDateKey } = this;\n        localStorage.removeItem(persistStorageDateKey);\n    };\n}\n\nexport default ValuesStorage;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkIsPositiveNumberValue, checkNotEmpty } from 'common/utils/form-validators';\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, [FieldsEnum.totalPrice], values),\n        ...checkIsPositiveNumberValue(t, [FieldsEnum.totalPrice], values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BaseShipperContractLanesLayout.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ApiShipperContractLaneStatusT, ShipperContractLanesSortEnum } from 'common/utils/api/models';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport BaseShipperContractLanesTable from 'common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/BaseShipperContractLanesTable';\nimport { useQueryParams } from 'use-query-params';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport noop from 'lodash/noop';\nimport { isNonNil } from 'common/utils';\nimport {\n    selectShipperContractLanesByIds,\n    selectShipperContractLanesPages,\n    selectShipperContractLanesTotal,\n} from 'common/store/shipper-contract-lanes/selectors';\nimport { fetchShipperContractLanesPage } from 'common/store/shipper-contract-lanes/slice';\nimport {\n    shipperContractLanesPaginationChannel,\n    shipperContractLanesRefreshChannel,\n} from 'common/store/shipper-contract-lanes/channels';\nimport { ShipperContractLanesTableRowT } from 'common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesTable/models';\nimport ShipperContractLaneStatusDropdownControl from 'common/components/controls/ShipperContractLaneStatusDropdownControl/ShipperContractLaneStatusDropdownControl';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport FiltersSidebarContent from './FiltersSidebarContent/FiltersSidebarContent';\nimport SideBar from 'common/layouts/LeftMenuLayout/SideBar/SideBar';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { selectShipperContractDetailsState } from 'common/store/shipper-contract-details/selectors';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport { getSignedDayDiff } from 'common/utils/time';\nimport { MIN_VALID_FROM_VALID_TILL_DAYS } from 'common/layouts/CommonEditableShipperContractLaneDetailsLayout/EditShipperContractLaneSidebarContent/ShipperContractLaneEditForm/constants';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkQueryFiltersKeys } from 'common/components/Table/utils/check-query-filters-keys';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT | null;\n    contractId: ShipperContractIdT;\n\n    navigationTabs?: React.ReactNode;\n\n    onCreateShipperContractLane?: () => void;\n\n    onOpenShipperContractLaneDetails: (laneId: ShipperContractLaneIdT) => void;\n};\n\nconst BaseShipperContractLanesLayout: React.FC<PropsT> = React.memo((props) => {\n    const { navigationTabs, partnerId, contractId, onOpenShipperContractLaneDetails, onCreateShipperContractLane } =\n        props;\n\n    const { t } = useTranslation();\n\n    const [isShowFilters, triggerFilters] = React.useState<boolean>(false);\n    const showFilters = (): void => {\n        triggerFilters(true);\n    };\n    const hideFilters = (): void => {\n        triggerFilters(false);\n    };\n\n    const dispatch = useDispatch();\n\n    const permissions = useSelector(selectPermissions);\n\n    const contractDetailsState = useSelector(selectShipperContractDetailsState(contractId));\n    const contractDetails = contractDetailsState.data;\n\n    const lostDayDiff = useMemo((): number => {\n        const now = new Date();\n        if (!contractDetails?.validTill) {\n            return 0;\n        }\n\n        const dayDiff = getSignedDayDiff(contractDetails.validTill, now);\n        return dayDiff;\n    }, [contractDetails]);\n\n    const isShowContractExpirationAlert = !!contractDetails && lostDayDiff < MIN_VALID_FROM_VALID_TILL_DAYS;\n    const isAllowShowAddLaneTrigger = !!contractDetails && !isShowContractExpirationAlert;\n\n    const isAllowAddLane = !!onCreateShipperContractLane && permissions.canUploadShipperContracts;\n\n    const total = useSelector(selectShipperContractLanesTotal(partnerId, contractId));\n    const pages = useSelector(selectShipperContractLanesPages(partnerId, contractId));\n    const byId = useSelector(selectShipperContractLanesByIds(partnerId, contractId));\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.shipperContractLanesPage]: createPageNumberParam(),\n        [QueryKeysEnum.shipperContractLanesSort]: createSortParams<ShipperContractLanesSortEnum>({\n            value: ShipperContractLanesSortEnum.addedDate,\n            direction: SortDirectionEnum.DESC,\n        }),\n        [QueryKeysEnum.shipperContractLanesFilters]: createJsonParams<QueryFiltersT>({}),\n    });\n\n    const selectedSort = query[QueryKeysEnum.shipperContractLanesSort];\n    const pageNumber = query[QueryKeysEnum.shipperContractLanesPage];\n    const queryFilters = query[QueryKeysEnum.shipperContractLanesFilters];\n\n    const page = pages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(\n            fetchShipperContractLanesPage({\n                contractId,\n                pageNumber,\n                query,\n                partnerId,\n                options: { isForceUpdate: false },\n            }),\n        );\n    }, [pageNumber, selectedSort, queryFilters, partnerId, contractId, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(\n            fetchShipperContractLanesPage({\n                contractId,\n                pageNumber,\n                query,\n                partnerId,\n                options: { isForceUpdate: true },\n            }),\n        );\n    }, [pageNumber, selectedSort, queryFilters, partnerId, contractId, dispatch]);\n    useChannelSubscribe(shipperContractLanesRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(\n            fetchShipperContractLanesPage({\n                contractId,\n                pageNumber,\n                query,\n                partnerId,\n                options: { isForceUpdate: true },\n            }),\n        );\n    }, [pageNumber, selectedSort, queryFilters, partnerId, contractId, dispatch]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.shipperContractLanesPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof shipperContractLanesPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(shipperContractLanesPaginationChannel, setPageHandler);\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in BaseShipperContractLanesLayout useEffect');\n            return (): void => {};\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchShipperContractLanesPage({ pageNumber, query, partnerId, contractId }));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [dispatch, pageNumber, selectedSort, queryFilters, partnerId, contractId]);\n\n    const shipperContractLanesTableRows = React.useMemo((): Array<ShipperContractLanesTableRowT> => {\n        return (ids || []).map((id) => byId[id]).filter(isNonNil);\n    }, [ids, byId]);\n\n    const sortOptions: Array<SortDropdownOptionT<ShipperContractLanesSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('common:shipper-contract-lanes.table.sorts.added-date'),\n                value: ShipperContractLanesSortEnum.addedDate,\n            },\n            {\n                label: t('common:shipper-contract-lanes.table.sorts.valid-till-date'),\n                value: ShipperContractLanesSortEnum.validTillDate,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<ShipperContractLanesSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.shipperContractLanesPage]: 0,\n            [QueryKeysEnum.shipperContractLanesSort]: sort,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        changeQuery({\n            [QueryKeysEnum.shipperContractLanesPage]: 0,\n            [QueryKeysEnum.shipperContractLanesFilters]: selectedQueryFilters,\n        });\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.shipperContractLanesFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.shipperContractLanesPage]: 0,\n            [QueryKeysEnum.shipperContractLanesFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.address]: undefined,\n            [QueryFiltersKeysEnum.text]: searchText || undefined,\n        });\n    };\n    const handleSelectStatusFilter = (status: ApiShipperContractLaneStatusT | null) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.status]: status || undefined,\n        });\n    };\n\n    const handleOpenShipperContractLaneDetails = (event: React.MouseEvent, row: ShipperContractLanesTableRowT) => {\n        onOpenShipperContractLaneDetails(row.id);\n    };\n\n    const renderEmptyState = () => {\n        if (!checkNeedRenderEmptyState(shipperContractLanesTableRows, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasAnyFilters } = checkQueryFiltersKeys(queryFilters, [], []);\n        if (hasAnyFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('common:shipper-contract-lanes.table.messages.not-found.title')}\n                    description={t('common:shipper-contract-lanes.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('common:shipper-contract-lanes.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"not-found\"\n                />\n            );\n        }\n\n        const isShowAction = isAllowAddLane && isAllowShowAddLaneTrigger;\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('common:shipper-contract-lanes.table.messages.empty.title')}\n                description={isShowAction ? t('common:shipper-contract-lanes.table.messages.empty.description') : null}\n                isShowAction={isShowAction}\n                actionTitle={t('common:shipper-contract-lanes.table.messages.empty.action')}\n                actionTheme={ButtonThemeEnum.primary}\n                onActionClick={isShowAction ? onCreateShipperContractLane : noop}\n                testSelector=\"empty\"\n            />\n        );\n    };\n\n    return (\n        <>\n            <ListPageLayout>\n                <ListPageHeaderLayout\n                    leftToolsNode={\n                        <>\n                            {!!navigationTabs && <div>{navigationTabs}</div>}\n                            <FiltersTrigger\n                                title={t('common:shipper-contract-lanes.filters.trigger')}\n                                isActive={isShowFilters}\n                                onClick={showFilters}\n                            />\n                            <SortDropdown\n                                overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                selectedValue={selectedSort}\n                                options={sortOptions}\n                                onSelect={handleSelectSort}\n                            />\n                            <ShipperContractLaneStatusDropdownControl\n                                value={queryFilters[QueryFiltersKeysEnum.status] || null}\n                                onChange={handleSelectStatusFilter}\n                            />\n                            <SearchControl\n                                placeholder={t('common:shipper-contract-lanes.table.search.placeholder')}\n                                searchText={queryFilters[QueryFiltersKeysEnum.text]}\n                                onChangeSearchText={handleSearch}\n                            />\n                        </>\n                    }\n                    filterTagsNode={\n                        <SelectedFilters\n                            isCompact\n                            queryFilters={queryFilters}\n                            setQueryFilters={handleSetQueryFilters}\n                        />\n                    }\n                    rightToolsNode={\n                        isAllowAddLane && isAllowShowAddLaneTrigger ? (\n                            <Button theme={ButtonThemeEnum.primary} onClick={onCreateShipperContractLane}>\n                                {t('common:shipper-contract-lanes.actions.upload')}\n                            </Button>\n                        ) : null\n                    }\n                />\n                {isAllowAddLane && isShowContractExpirationAlert && (\n                    <Alert\n                        icon={\n                            <CalendarIcon\n                                size={DEFAULT_ICON_SIZE}\n                                strokeColor={StyleGuideColorsEnum.white}\n                                fillColor={StyleGuideColorsEnum.gray}\n                            />\n                        }\n                        size={AlertSizeEnum.small}\n                        theme={AlertThemeEnum.gray}\n                        className={cx('alert')}\n                    >\n                        {t('common:shipper-contract-lanes.alert.disable-add-contract-expiration')}\n                    </Alert>\n                )}\n                {renderEmptyState()}\n                <BaseShipperContractLanesTable\n                    tableName=\"shipper-contract-lanes\"\n                    rows={shipperContractLanesTableRows}\n                    onSelectRow={handleOpenShipperContractLaneDetails}\n                    isLoading={requestStatus?.loading}\n                />\n            </ListPageLayout>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n            <SideBar isShow={isShowFilters} onClose={hideFilters}>\n                {(onClose) => (\n                    <FiltersSidebarContent\n                        onClose={onClose}\n                        queryFilters={queryFilters}\n                        setQueryFilters={handleSetQueryFilters}\n                    />\n                )}\n            </SideBar>\n        </>\n    );\n});\n\nexport default BaseShipperContractLanesLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ListMessage__inner___zHI81\",\"icon\":\"ListMessage__icon___dI4CU\",\"title\":\"ListMessage__title___WvWSd\",\"description\":\"ListMessage__description___inBrz\",\"fadeIn\":\"ListMessage__fadeIn___H2TwO\",\"blinking\":\"ListMessage__blinking___M7pGJ\"};","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { FindShippersQueryT, PartnerT, ShipperByIdT } from './models';\n\nexport const FIND_SHIPPERS_REQUEST_BY_QUERY = 'common/shipper-suggest/FIND_SHIPPERS_REQUEST_BY_QUERY';\nexport const FIND_SHIPPERS_REQUEST_BY_ID = 'common/shipper-suggest/FIND_SHIPPERS_REQUEST_BY_ID';\nexport const FIND_SHIPPERS_REQUEST_BEGIN = 'common/shipper-suggest/FIND_SHIPPERS_REQUEST_BEGIN';\nexport const FIND_SHIPPERS_REQUEST_ERROR = 'common/shipper-suggest/FIND_SHIPPERS_REQUEST_ERROR';\nexport const FIND_SHIPPERS_REQUEST_SUCCESS = 'common/shipper-suggest/FIND_SHIPPERS_REQUEST_SUCCESS';\n\nexport const RESET = 'common/shipper-suggest/RESET';\n\nexport type ShipperSuggestStateT = {\n    query: FindShippersQueryT | null;\n    requestStatus: RequestStatusT;\n    ids: Array<PartnerT['id']>;\n    byId: ShipperByIdT;\n};\n\nexport type FindShippersByQueryActionT = {\n    type: typeof FIND_SHIPPERS_REQUEST_BY_QUERY;\n    query: FindShippersQueryT;\n};\n\nexport type FindShippersByIdActionT = {\n    type: typeof FIND_SHIPPERS_REQUEST_BY_ID;\n    partnerId: PartnerIdT;\n    query: FindShippersQueryT;\n};\n\nexport type FindShippersBeginActionT = {\n    type: typeof FIND_SHIPPERS_REQUEST_BEGIN;\n    query: FindShippersQueryT;\n};\n\nexport type FindShippersSuccessActionT = {\n    type: typeof FIND_SHIPPERS_REQUEST_SUCCESS;\n    partners: PartnerT[];\n};\n\nexport type FindShippersErrorActionT = {\n    type: typeof FIND_SHIPPERS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type ResetActionT = {\n    type: typeof RESET;\n};\n\nexport type ShipperSuggestActionT =\n    | FindShippersByQueryActionT\n    | FindShippersBeginActionT\n    | FindShippersSuccessActionT\n    | FindShippersErrorActionT\n    | ResetActionT;\n","import * as React from 'react';\n\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport { useTranslation } from 'react-i18next';\nimport TrailerIcon from 'common/icons/TrailerIcon';\n\nexport type PropsT = {\n    className?: string;\n    plateNumber: string | null | undefined;\n    trailerId: TrailerIdT;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n};\n\nconst LinkedTrailerAlert: React.FC<PropsT> = React.memo((props) => {\n    const { className, plateNumber, trailerId, onOpenTrailerDetails } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Alert\n            className={className}\n            icon={\n                <TrailerIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.white}\n                    fillColor={StyleGuideColorsEnum.transparent}\n                />\n            }\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.gray}\n            actionText={t('common:trucks-page.add-truck.linked-trailer.actions.open-details')}\n            onClickAction={() => {\n                onOpenTrailerDetails(trailerId);\n            }}\n        >\n            {t('common:trucks-page.add-truck.linked-trailer.title', {\n                plateNumber: plateNumber || '',\n            })}\n        </Alert>\n    );\n});\n\nexport default LinkedTrailerAlert;\n","// extracted by mini-css-extract-plugin\nexport default {\"map\":\"ShipperContractLaneCreationMap__map___y703q\",\"marker\":\"ShipperContractLaneCreationMap__marker___fj_rm\",\"estimate\":\"ShipperContractLaneCreationMap__estimate___azpQP\",\"fadeIn\":\"ShipperContractLaneCreationMap__fadeIn___zGuuf\",\"blinking\":\"ShipperContractLaneCreationMap__blinking___wsFhy\"};","import * as React from 'react';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, RenderSidebarContentT, SidebarCloseConfirmationT } from './models';\nimport { TFunction } from 'i18next';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\nimport ContactDetailsSidebarContent from 'common/layouts/SideBars/contents/ContactDetailsSidebarContent/ContactDetailsSidebarContent';\nimport EditContactDetailsSidebarContent from 'common/layouts/SideBars/contents/EditContactDetailsSidebarContent/EditContactDetailsSidebarContent';\nimport DocumentDetailsSidebarContent from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsSidebarContent';\nimport ContractDetailsSidebarContent from 'common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsSidebarContent';\nimport DriverFiltersSidebarContent from 'common/layouts/SideBars/contents/DriverFiltersSidebarContent/DriverFiltersSidebarContent';\nimport EditDriverSidebarContent from 'common/layouts/SideBars/contents/EditDriverSidebarContent/EditDriverSidebarContent';\nimport DriverDetailsSidebarContent from 'common/layouts/SideBars/contents/DriverDetailsSidebarContent/DriverDetailsSidebarContent';\nimport TrailerFiltersSidebarContent from 'common/layouts/SideBars/contents/TrailerFiltersSidebarContent/TrailerFiltersSidebarContent';\nimport AddTrailerSidebarContent from 'common/layouts/SideBars/contents/AddTrailerSidebarContent/AddTrailerSidebarContent';\nimport EditableTrailerDetailsSidebarContent from 'common/layouts/SideBars/contents/EditableTrailerDetailsSidebarContent/EditableTrailerDetailsSidebarContent';\nimport TruckFiltersSidebarContent from 'common/layouts/SideBars/contents/TruckFiltersSidebarContent/TruckFiltersSidebarContent';\nimport AddTruckSidebarContent from 'common/layouts/SideBars/contents/AddTruckSidebarContent/AddTruckSidebarContent';\nimport EditableTruckDetailsSidebarContent from 'common/layouts/SideBars/contents/EditableTruckDetailsSidebarContent/EditableTruckDetailsSidebarContent';\nimport AddDriverSidebarContent from 'common/layouts/SideBars/contents/AddDriverSidebarContent/AddDriverSidebarContent';\n\nexport const commonGetSidebarCloseConfirmation = (\n    t: TFunction,\n    data: CommonSidebarDataT,\n): SidebarCloseConfirmationT | null => {\n    if (data.type === CommonSidebarsTypeEnum.editContact) {\n        return {\n            icon: <BigWarningIcon />,\n            title: t('common:sidebar.unsaved-changes-confimration.title'),\n            message: t('common:sidebar.unsaved-changes-confimration.message'),\n            cancelAction: t('common:error-modal.actions.cancel'),\n            confirmAction: t('common:error-modal.actions.close'),\n        };\n    }\n\n    return {\n        icon: <BigWarningIcon />,\n        title: t('common:sidebar.unsaved-changes-confimration.title'),\n        message: t('common:sidebar.unsaved-changes-confimration.message'),\n        cancelAction: t('common:error-modal.actions.cancel'),\n        confirmAction: t('common:error-modal.actions.close'),\n    };\n};\n\nexport const renderCommonSidebarContent: RenderSidebarContentT<CommonSidebarDataT> = (props): React.ReactNode => {\n    const { data, ...restProps } = props;\n\n    switch (data.type) {\n        case CommonSidebarsTypeEnum.contact: {\n            return <ContactDetailsSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.editContact: {\n            return <EditContactDetailsSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.document: {\n            return <DocumentDetailsSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.carrierContract: {\n            return <ContractDetailsSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.driverFilters: {\n            return <DriverFiltersSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.driverDetails: {\n            return <DriverDetailsSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.editDriverDetails: {\n            return <EditDriverSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.addDriver: {\n            return <AddDriverSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.trailerFilters: {\n            return <TrailerFiltersSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.trailerDetails: {\n            return <EditableTrailerDetailsSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.addTrailer: {\n            return <AddTrailerSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.truckFilters: {\n            return <TruckFiltersSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.addTruck: {\n            return <AddTruckSidebarContent {...restProps} data={data} />;\n        }\n        case CommonSidebarsTypeEnum.truckDetails: {\n            return <EditableTruckDetailsSidebarContent {...restProps} data={data} />;\n        }\n        default: {\n            return null;\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"id\":\"IdCell__id___c4qVh\",\"fadeIn\":\"IdCell__fadeIn___JVCOM\",\"blinking\":\"IdCell__blinking____9gOK\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerTransportOrderDetails.scss';\nimport TransportOrderDetailsPageLayout from 'common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetailsPageLayout';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport history from 'common/utils/history';\nimport { logWarning } from 'common/utils/logger';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PartnerTransportOrderDetails: React.FC<PropsT> = React.memo(() => {\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const goToBack = React.useCallback(() => {\n        if (!partnerType || !partnerId) {\n            logWarning('Empty partnerType or partnerId in goToBack');\n            return;\n        }\n        const url = urlFactory.partnerTransportOrders(partnerType, partnerId);\n        history.push(url);\n    }, [partnerType, partnerId]);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const goToTrailerDetails = React.useCallback(\n        (trailerId: TrailerIdT | null) => {\n            if (!trailerId) {\n                logWarning('empty trailerId');\n                return;\n            }\n            if (!partnerId) {\n                logWarning('Empty partnerId in goToTrailerDetails');\n                return;\n            }\n\n            openLeftSidebar(\n                {\n                    type: CommonSidebarsTypeEnum.trailerDetails,\n                    partnerId,\n                    trailerId,\n                },\n                {\n                    isForceShowBackAction: true,\n                },\n            );\n        },\n        [openLeftSidebar, partnerId],\n    );\n\n    const goToTruckDetails = React.useCallback(\n        (truckId: TruckIdT | null) => {\n            if (!truckId) {\n                logWarning('empty truckId');\n                return;\n            }\n            if (!partnerId) {\n                logWarning('Empty partnerId in goToTruckDetails');\n                return;\n            }\n\n            openLeftSidebar(\n                {\n                    type: CommonSidebarsTypeEnum.truckDetails,\n                    partnerId,\n                    truckId,\n                },\n                {\n                    isForceShowBackAction: true,\n                },\n            );\n        },\n        [openLeftSidebar, partnerId],\n    );\n\n    const goToSpotRequestDetails = React.useCallback(\n        (spotRequestId: SpotRequestIdT | null) => {\n            if (!spotRequestId) {\n                logWarning('empty spotId');\n                return;\n            }\n\n            openLeftSidebar(\n                {\n                    type: BrokerSidebarsTypeEnum.spotRequestDetails,\n                    id: spotRequestId,\n                },\n                {\n                    isForceShowBackAction: true,\n                },\n            );\n        },\n        [openLeftSidebar],\n    );\n\n    const handleOpenUserDetails = React.useCallback(\n        (params: { userId: UserIdT | null; partnerType?: PartnerTypeEnum; partnerId?: PartnerIdT }) => {\n            if (!params.userId) {\n                logWarning('failed to open user details in partner transport order details, empty user id');\n                return;\n            }\n\n            openLeftSidebar(\n                {\n                    type: CommonSidebarsTypeEnum.contact,\n                    userId: params.userId,\n                    partnerType: params.partnerType,\n                    partnerId: params.partnerId,\n                },\n                {\n                    isForceShowBackAction: true,\n                },\n            );\n        },\n        [openLeftSidebar],\n    );\n\n    return (\n        <TransportOrderDetailsPageLayout\n            isBroker\n            isReadOnly\n            goToBack={goToBack}\n            goToTrailerDetails={goToTrailerDetails}\n            goToTruckDetails={goToTruckDetails}\n            goToSpotRequestDetails={goToSpotRequestDetails}\n            onOpenUserDetails={handleOpenUserDetails}\n        />\n    );\n});\n\nexport default PartnerTransportOrderDetails;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst LockIcon: React.FC<PropsT> = (props) => {\n    const { className, size, fillColor } = props;\n\n    return (\n        <svg className={className} xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M14.5 7h-.75V5.5c0-2.07-1.68-3.75-3.75-3.75-2.07 0-3.75 1.68-3.75 3.75V7H5.5C4.675 7 4 7.675 4 8.5V16c0 .825.675 1.5 1.5 1.5h9c.825 0 1.5-.675 1.5-1.5V8.5c0-.825-.675-1.5-1.5-1.5zM10 13.75c-.825 0-1.5-.675-1.5-1.5s.675-1.5 1.5-1.5 1.5.675 1.5 1.5-.675 1.5-1.5 1.5zM12.325 7h-4.65V5.5A2.327 2.327 0 0110 3.175 2.327 2.327 0 0112.325 5.5V7z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nLockIcon.displayName = 'LockIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.tomatoRed,\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default LockIcon;\n","import * as React from 'react';\nimport { ApiTrailerStatusT, TrailerStatusEnum } from 'common/utils/api/models';\nimport { PropsT as ColoredStatusLabelPropsT } from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport TrailerStatus from 'common/components/status/TrailerStatus/TrailerStatus';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiTrailerStatusT | null | undefined;\n    isSymmetrical?: boolean;\n};\n\nexport const PILL_THEME_BY_TRAILER_STATUS: Record<ApiTrailerStatusT, PillLabelThemeEnum> = {\n    [TrailerStatusEnum.free]: colorCodingPillLabelTheme.success,\n    [TrailerStatusEnum.inTransit]: colorCodingPillLabelTheme.normal,\n    [TrailerStatusEnum.unavailable]: colorCodingPillLabelTheme.attention,\n    [TrailerStatusEnum.archived]: colorCodingPillLabelTheme.warning,\n};\n\nconst TrailerStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    if (!status) {\n        return null;\n    }\n\n    return (\n        <PillLabel isNoWrap {...restProps} theme={PILL_THEME_BY_TRAILER_STATUS[status]}>\n            <TrailerStatus status={status} />\n        </PillLabel>\n    );\n});\n\nexport default TrailerStatusPill;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './Identifier.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    id: React.ReactNode;\n};\n\nconst Identifier: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return <span className={cx('identifier')}>{id}</span>;\n});\n\nexport default Identifier;\n","import { RoutePointFormValuesT } from '../constants';\nimport { InferChannelEventT, ViewEventChannel } from 'common/utils/view-event-channel';\nimport { useCallback } from 'react';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { getContextRoutePointHash } from 'broker-admin/store/order-edit/utils/get-context-route-point-hash';\nimport { getRoutePointHashFromValues } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/utils';\nimport { getInitialRouteFormValues } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/get-initial-values';\nimport { ContextRoutePointHashT } from 'broker-admin/store/order-edit/models';\n\nexport const contextSyncPointsModifyChannel = new ViewEventChannel<{\n    correctedStops: Array<ApiTourUpdateStopDataT>;\n    routeFormValues: Array<RoutePointFormValuesT>;\n    deletedStopHashes?: Array<ContextRoutePointHashT>;\n    addedStopHashes?: Array<ContextRoutePointHashT>;\n    orderStopHashes?: Array<ContextRoutePointHashT>;\n}>();\n\nexport const useSyncPointsChannels = (formikArrayHelpers: {\n    insert: (index: number, value: RoutePointFormValuesT) => void;\n    remove: (index: number) => void;\n    move: (from: number, to: number) => void;\n}) => {\n    // correction after reserve\n    const syncPointsModifyChannelHandler = useCallback(\n        (event: InferChannelEventT<typeof contextSyncPointsModifyChannel>) => {\n            const { correctedStops, addedStopHashes, deletedStopHashes, routeFormValues, orderStopHashes } = event;\n\n            const clonedRouteFormValues = cloneDeep(routeFormValues);\n\n            const newHashes = correctedStops?.map((stop) => {\n                return getContextRoutePointHash(stop);\n            });\n            const newHashesSet = new Set(newHashes);\n\n            for (let index = clonedRouteFormValues.length - 1; index >= 0; index -= 1) {\n                const { type, location } = clonedRouteFormValues[index];\n                const hash = getRoutePointHashFromValues(type, location);\n                if (!newHashesSet.has(hash) && deletedStopHashes?.includes(hash)) {\n                    formikArrayHelpers.remove(index);\n                    clonedRouteFormValues.splice(index, 1);\n                }\n            }\n\n            let formIndexPointer = 0;\n            correctedStops?.forEach((stop) => {\n                const stopHash = getContextRoutePointHash(stop);\n\n                const indexInForm = clonedRouteFormValues.findIndex((values) => {\n                    const formValuesHash = getRoutePointHashFromValues(values.type, values.location);\n                    return formValuesHash === stopHash;\n                });\n\n                if (indexInForm === -1 && addedStopHashes?.includes(stopHash)) {\n                    formikArrayHelpers.insert(formIndexPointer, getInitialRouteFormValues(stop));\n                    clonedRouteFormValues.splice(formIndexPointer, 0, getInitialRouteFormValues(stop));\n                }\n\n                formIndexPointer += 1;\n            });\n\n            // Reorder elements based on orderStopHashes\n            if (orderStopHashes && orderStopHashes.length > 0) {\n                // Reorder elements according to orderStopHashes\n                // Process from the end to avoid index shifting issues\n                for (let targetIndex = orderStopHashes.length - 1; targetIndex >= 0; targetIndex -= 1) {\n                    const targetHash = orderStopHashes[targetIndex];\n\n                    // Find the current index of the element with this hash\n                    const currentIndex = clonedRouteFormValues.findIndex((values) => {\n                        const hash = getRoutePointHashFromValues(values.type, values.location);\n                        return hash === targetHash;\n                    });\n\n                    if (currentIndex !== -1 && currentIndex !== targetIndex) {\n                        formikArrayHelpers.move(currentIndex, targetIndex);\n\n                        // Update clonedRouteFormValues for synchronization\n                        const movedValue = clonedRouteFormValues[currentIndex];\n                        clonedRouteFormValues.splice(currentIndex, 1);\n                        clonedRouteFormValues.splice(targetIndex, 0, movedValue);\n                    }\n                }\n            }\n        },\n        [formikArrayHelpers],\n    );\n\n    useChannelSubscribe(contextSyncPointsModifyChannel, syncPointsModifyChannelHandler);\n};\n","import * as React from 'react';\nimport uniq from 'lodash/uniq';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype BaseOptionKeyValueT = string | number | null | undefined;\n\ntype BaseOptionT<K extends string, V = BaseOptionKeyValueT> = {\n    [Key in K]: V;\n};\n\ntype PropsT<K extends string> = {\n    className?: string;\n    optionKey: K;\n    initialOptions: Array<BaseOptionT<K>>;\n    options: Array<BaseOptionT<K>>;\n};\n\nconst getOptionsHash = <K extends string>(key: K, options: Array<BaseOptionT<K>>): string => {\n    const values = options.map((option) => option[key]);\n    const uniqValues = uniq(values);\n\n    uniqValues.sort();\n\n    return uniqValues.join('|');\n};\n\nconst ItemsCount = <K extends string>(props: PropsT<K>) => {\n    const { className, initialOptions, options, optionKey } = props;\n\n    const initOptionsHash = React.useMemo(() => {\n        return getOptionsHash(optionKey, initialOptions);\n    }, [initialOptions, optionKey]);\n\n    const optionsHash = React.useMemo(() => {\n        return getOptionsHash(optionKey, options);\n    }, [options, optionKey]);\n\n    let theme = PillLabelThemeEnum.grey;\n\n    if (optionsHash === initOptionsHash && options.length) {\n        theme = PillLabelThemeEnum.charcoal;\n    }\n\n    if (optionsHash !== initOptionsHash && options.length) {\n        theme = PillLabelThemeEnum.orange;\n    }\n\n    return (\n        <PillLabel isSymmetrical theme={theme} className={className} isRounded>\n            {options.length}\n        </PillLabel>\n    );\n};\n\nexport default ItemsCount;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"BidMessage__inner___eYko8\",\"icon\":\"BidMessage__icon___rMFs0\",\"title\":\"BidMessage__title___l5G0f\",\"description\":\"BidMessage__description___uqNK0\",\"fadeIn\":\"BidMessage__fadeIn___afEi_\",\"blinking\":\"BidMessage__blinking___eeUx5\"};","import { MS_IN_MIN } from 'common/utils/time';\n\nexport const ROUTING_GEOMETRY_TTL = 5 * MS_IN_MIN;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\nimport ExcludeCountriesMapWidget from 'common/components/ExcludeCountriesMapWidget/ExcludeCountriesMapWidget';\nimport { OnChangeExcludedCountriesCallbackT } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contexts/sync-map-state';\nimport noop from 'lodash/noop';\n\ntype PropsT = {\n    className?: string;\n    excludedCountries: Array<CountryCodeT>;\n    onChangeExcludedCountries: OnChangeExcludedCountriesCallbackT | null;\n};\n\nconst ExcludeCountries: React.FC<PropsT> = React.memo((props) => {\n    const { className, excludedCountries, onChangeExcludedCountries } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <ExcludeCountriesMapWidget\n            className={className}\n            excludedCountries={excludedCountries}\n            setExcludedCountries={onChangeExcludedCountries || noop}\n            triggerLabel={t('common:new-order-form.excluded-countries.trigger')}\n            inputPlaceholder={t('common:new-order-form.excluded-countries.search-input-placeholder')}\n        />\n    );\n});\n\nexport default ExcludeCountries;\n","export const isDeepEqual = (objectA: {}, objectB: {}): boolean => JSON.stringify(objectA) === JSON.stringify(objectB);\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    fillOpacity?: number;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst InvoiceIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, fillOpacity, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fillOpacity={fillOpacity || 1}\n                    fill={fillColor}\n                    d=\"M4.75 15.318h10.5V4.682H4.75v10.636zM5.5 6.25h9v1.5h-9v-1.5zm0 3h9v1.5h-9v-1.5zm0 3h9v1.5h-9v-1.5z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M15.625 3.625L14.5 2.5l-1.125 1.125L12.25 2.5l-1.125 1.125L10 2.5 8.875 3.625 7.75 2.5 6.625 3.625 5.5 2.5 4.375 3.625 3.25 2.5v15l1.125-1.125L5.5 17.5l1.125-1.125L7.75 17.5l1.125-1.125L10 17.5l1.125-1.125L12.25 17.5l1.125-1.125L14.5 17.5l1.125-1.125L16.75 17.5v-15l-1.125 1.125zm-.375 11.693H4.75V4.682h10.5v10.636zM5.5 12.25h9v1.5h-9v-1.5zm0-3h9v1.5h-9v-1.5zm0-3h9v1.5h-9v-1.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nInvoiceIcon.displayName = 'InvoiceIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n    fillOpacity: 1,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default InvoiceIcon;\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getInvoiceIconProps = (preset: 'default' | 'selected'): PropsT => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                fillOpacity: 0.3,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n                size: DEFAULT_ICON_SIZE,\n            };\n        }\n        default: {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n                size: DEFAULT_ICON_SIZE,\n            };\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"RuleStateControl__fadeIn___OSgBp\",\"blinking\":\"RuleStateControl__blinking___teHS0\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ExpireSoonPartnerShipperContractCard__inner___YVdtZ\",\"fadeIn\":\"ExpireSoonPartnerShipperContractCard__fadeIn___UeG3C\",\"blinking\":\"ExpireSoonPartnerShipperContractCard__blinking___YnWsd\"};","import * as React from 'react';\n\nconst useModalDialog = <T extends {}>() => {\n    const [data, setData] = React.useState<T | null>(null);\n\n    return React.useMemo(() => {\n        return {\n            isShow: !!data,\n            data,\n            setData,\n            onClose: () => {\n                setData(null);\n            },\n            onCancel: () => {\n                setData(null);\n            },\n        };\n    }, [data]);\n};\n\nexport default useModalDialog;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"RangeSelector__container___fUYCu\",\"container--isDisabled\":\"RangeSelector__container--isDisabled___ov7XF\",\"selection-range\":\"RangeSelector__selection-range___BNsL0\",\"selection-range--isDragable\":\"RangeSelector__selection-range--isDragable___mp06_\",\"selection-range--isDragging\":\"RangeSelector__selection-range--isDragging___wFeVl\",\"selection-range--isDisabled\":\"RangeSelector__selection-range--isDisabled___z3vQv\",\"selection-range--isOutOffValues\":\"RangeSelector__selection-range--isOutOffValues___zj2dt\",\"fadeIn\":\"RangeSelector__fadeIn___gEq08\",\"blinking\":\"RangeSelector__blinking___M5rvg\"};","export const isZeroNumber = (value: string | null | undefined): boolean => {\n    const preparedValue = (value || '').trim();\n\n    return preparedValue === '0' || preparedValue === '0.0' || preparedValue === '0,0';\n};\n\nexport const isEmpty = (\n    value: object | string | number | null | undefined | Array<object | string | number>,\n): boolean => {\n    if (value === undefined || value === null) {\n        return true;\n    }\n\n    if (typeof value === 'string') {\n        return !(value || '').trim();\n    }\n\n    if (Array.isArray(value)) {\n        return !value?.length;\n    }\n\n    return false;\n};\n\nexport const isLessMinLength = (value: string | null | undefined, minLength: number): boolean => {\n    if (typeof value === 'string' && value.trim().length < minLength) {\n        return true;\n    }\n\n    return false;\n};\n\nexport const isMoreMaxLength = (value: string | null | undefined, maxLength: number): boolean => {\n    if (typeof value === 'string' && value.trim().length > maxLength) {\n        return true;\n    }\n\n    return false;\n};\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { BrokerOrderStatsT } from './models';\n\nexport type BrokerOrderStatsStateT = {\n    stats: BrokerOrderStatsT | null;\n    fetchRequest: RequestStatusT;\n};\n\nconst initialState: BrokerOrderStatsStateT = {\n    stats: null,\n    fetchRequest: requestStatus.initial,\n};\n\nexport const brokerOrderStatsSlice = createSlice({\n    name: 'brokerOrderStats',\n    initialState,\n    reducers: {\n        fetchBrokerOrderStats: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n        ) => {\n            // nothing - handled by saga\n        },\n        fetchBrokerOrderStatsBegin: (state) => {\n            state.fetchRequest = requestStatus.loading;\n        },\n        fetchBrokerOrderStatsSuccess: (\n            state,\n            action: PayloadAction<{\n                statistics: BrokerOrderStatsT | null;\n            }>,\n        ) => {\n            const { statistics } = action.payload;\n            state.stats = statistics;\n            state.fetchRequest = requestStatus.ok;\n        },\n        fetchBrokerOrderStatsError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n            state.fetchRequest = requestStatus.setError(error);\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchBrokerOrderStats,\n    fetchBrokerOrderStatsBegin,\n    fetchBrokerOrderStatsSuccess,\n    fetchBrokerOrderStatsError,\n} = brokerOrderStatsSlice.actions;\n\nexport default brokerOrderStatsSlice.reducer;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"Table__table___YutSi\",\"row--isSelectable\":\"Table__row--isSelectable___X73kL\",\"row--hasLeftGreenBorder\":\"Table__row--hasLeftGreenBorder___g8t50\",\"row--hasLeftRedBorder\":\"Table__row--hasLeftRedBorder___vZv5S\",\"row--hasLeftGreyBorder\":\"Table__row--hasLeftGreyBorder___fIELs\",\"row--hasLeftOrangeBorder\":\"Table__row--hasLeftOrangeBorder___ZRN3V\",\"row--isHighlighted\":\"Table__row--isHighlighted____QWBu\",\"row--isSelected\":\"Table__row--isSelected___rY9gQ\",\"fadeIn\":\"Table__fadeIn___zZl_W\",\"blinking\":\"Table__blinking___ZsKRd\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"Bids__inner___a3cHC\",\"header\":\"Bids__header___h51dm\",\"filters__button\":\"Bids__filters__button___B9lBf\",\"filters__count\":\"Bids__filters__count___ONPzB\",\"bid\":\"Bids__bid___CoF8V\",\"fadeIn\":\"Bids__fadeIn___MnSoM\",\"blinking\":\"Bids__blinking___vEFlR\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { CreateUpdateTeamRequestT } from 'broker-admin/store/broker-team-edit/types';\nimport { ApiCreateUpdateTeamRequestT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport type BrokerTeamEditByIdStateT = {\n    updateRequest: RequestStatusT;\n    deleteRequest: RequestStatusT;\n};\n\nexport type BrokerTeamEditStateT = {\n    createRequest: RequestStatusT;\n    createdTeam: {\n        id: TeamIdT;\n    } | null;\n    byId: Record<TeamIdT, BrokerTeamEditByIdStateT>;\n};\n\nconst initialTeamEditState: BrokerTeamEditByIdStateT = {\n    updateRequest: requestStatus.initial,\n    deleteRequest: requestStatus.initial,\n};\n\nconst initialState: BrokerTeamEditStateT = {\n    createRequest: requestStatus.initial,\n    createdTeam: null,\n    byId: {},\n};\n\nexport const brokerTeamEditSlice = createSlice({\n    name: 'brokerTeamEdit',\n    initialState,\n    reducers: {\n        // Create team actions\n        createTeam: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                data: CreateUpdateTeamRequestT;\n            }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        createTeamBegin: (state) => {\n            state.createRequest = requestStatus.loading;\n        },\n        createTeamSuccess: (state, action: PayloadAction<{ id: TeamIdT }>) => {\n            state.createRequest = requestStatus.ok;\n            state.createdTeam = { id: action.payload.id };\n        },\n        createTeamError: (state, action: PayloadAction<{ error: Error }>) => {\n            state.createRequest = requestStatus.setError(action.payload.error);\n        },\n\n        // Update team actions\n        updateTeam: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                teamId: TeamIdT;\n                data: ApiCreateUpdateTeamRequestT;\n            }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        updateTeamBegin: (state, action: PayloadAction<{ teamId: TeamIdT }>) => {\n            const { teamId } = action.payload;\n            const teamEditState = state.byId[teamId] || initialTeamEditState;\n\n            state.byId[teamId] = {\n                ...teamEditState,\n                updateRequest: requestStatus.loading,\n            };\n        },\n        updateTeamSuccess: (state, action: PayloadAction<{ teamId: TeamIdT }>) => {\n            const { teamId } = action.payload;\n            const teamEditState = state.byId[teamId] || initialTeamEditState;\n\n            state.byId[teamId] = {\n                ...teamEditState,\n                updateRequest: requestStatus.ok,\n            };\n        },\n        updateTeamError: (state, action: PayloadAction<{ teamId: TeamIdT; error: Error }>) => {\n            const { teamId, error } = action.payload;\n            const teamEditState = state.byId[teamId] || initialTeamEditState;\n\n            state.byId[teamId] = {\n                ...teamEditState,\n                updateRequest: requestStatus.setError(error),\n            };\n        },\n\n        // Delete team actions\n        deleteTeam: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{ teamId: TeamIdT }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        deleteTeamBegin: (state, action: PayloadAction<{ teamId: TeamIdT }>) => {\n            const { teamId } = action.payload;\n            const teamEditState = state.byId[teamId] || initialTeamEditState;\n\n            state.byId[teamId] = {\n                ...teamEditState,\n                deleteRequest: requestStatus.loading,\n            };\n        },\n        deleteTeamSuccess: (state, action: PayloadAction<{ teamId: TeamIdT }>) => {\n            const { teamId } = action.payload;\n            const teamEditState = state.byId[teamId] || initialTeamEditState;\n\n            state.byId[teamId] = {\n                ...teamEditState,\n                deleteRequest: requestStatus.ok,\n            };\n        },\n        deleteTeamError: (state, action: PayloadAction<{ teamId: TeamIdT; error: Error }>) => {\n            const { teamId, error } = action.payload;\n            const teamEditState = state.byId[teamId] || initialTeamEditState;\n\n            state.byId[teamId] = {\n                ...teamEditState,\n                deleteRequest: requestStatus.setError(error),\n            };\n        },\n\n        resetBrokerTeamEdit: () => {\n            return initialState;\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    createTeam,\n    createTeamBegin,\n    createTeamSuccess,\n    createTeamError,\n    updateTeam,\n    updateTeamBegin,\n    updateTeamSuccess,\n    updateTeamError,\n    deleteTeam,\n    deleteTeamBegin,\n    deleteTeamSuccess,\n    deleteTeamError,\n    resetBrokerTeamEdit,\n} = brokerTeamEditSlice.actions;\n\nexport default brokerTeamEditSlice.reducer;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './SkeletonFormatter.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst SkeletonFormatter: React.FC<PropsT> = React.memo(() => {\n    return <div className={cx('skeleton')} />;\n});\n\nexport default SkeletonFormatter;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RFQListPageLayout.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OMSRoutesEnum } from 'common/constants';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport RFQsTable from 'common/layouts/RFQListPageLayout/RFQsTable/RFQsTable';\nimport { useTranslation } from 'react-i18next';\nimport history from 'common/utils/history';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport omit from 'lodash/omit';\nimport { PartnerTypeEnum, RFQsQuickFilterEnum, RFQsSortEnum, RFQStatusEnum } from 'common/utils/api/models';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport { RFQT } from 'common/store/rfqs/models';\nimport FiltersSidebarContent from './FiltersSidebarContent/FiltersSidebarContent';\nimport SideBar from 'common/layouts/LeftMenuLayout/SideBar/SideBar';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport { QuickFiltersOptionT } from 'common/components/Table/QuickFilters/QuickFilters';\nimport { selectRFQsByIds, selectRFQsPages, selectRFQsTotal } from 'common/store/rfqs/selectors';\nimport { fetchRFQsPage } from 'common/store/rfqs/actions';\nimport { isNonNil } from 'common/utils';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ListPageHeaderTabsLayout from 'common/layouts/ListPage/ListPageHeaderTabsLayout/ListPageHeaderTabsLayout';\nimport { fetchGroupedNotificationCounts } from 'common/store/grouped-notification-counts/actions';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { fetchRFQsStats } from 'common/store/rfqs-stats/actions';\nimport { selectRFQsStats } from 'common/store/rfqs-stats/selectors';\nimport { NotificationLabelThemeEnum } from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { rfqsPaginationChannel, rfqsRefreshChannel } from 'common/store/rfqs/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { selectCompanyVerificationProblems, selectCurrentCompany } from 'common/store/company/selectors';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { useQueryParams } from 'use-query-params';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport QuickFiltersButtonGroups from 'common/components/Table/QuickFiltersButtonGroups/QuickFiltersButtonGroups';\nimport { logWarning } from 'common/utils/logger';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onOpenRFQDetails: (event: React.MouseEvent, rfqId: RFQIdT | null) => void;\n    onOpenUserDetails: (userId: UserIdT) => void;\n};\n\nconst quickFilterOptionSeparators: number[] = [];\n\nconst RFQListPageLayout: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const { onOpenRFQDetails, onOpenUserDetails } = props;\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const total = useSelector(selectRFQsTotal(partnerId));\n    const rfqsPages = useSelector(selectRFQsPages(partnerId));\n    const rfqById = useSelector(selectRFQsByIds(partnerId));\n\n    const currentCompany = useSelector(selectCurrentCompany);\n    const isDisabledCreateOrder = !currentCompany;\n\n    const [isShowFilters, triggerFilters] = React.useState<boolean>(false);\n    const showFilters = (): void => {\n        triggerFilters(true);\n    };\n    const hideFilters = (): void => {\n        triggerFilters(false);\n    };\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.rfqsPage]: createPageNumberParam(),\n        [QueryKeysEnum.rfqsSort]: createSortParams<RFQsSortEnum>({\n            direction: SortDirectionEnum.DESC,\n            value: RFQsSortEnum.creationDate,\n        }),\n        [QueryKeysEnum.rfqsFilters]: createJsonParams<QueryFiltersT>({}),\n    });\n\n    const pageNumber = query[QueryKeysEnum.rfqsPage];\n    const selectedSort = query[QueryKeysEnum.rfqsSort];\n    const queryFilters = query[QueryKeysEnum.rfqsFilters];\n\n    const page = rfqsPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId or partnerType in documentVisibilityChangeHandler');\n            return;\n        }\n\n        dispatch(fetchRFQsStats(partnerId));\n\n        const query = prepareFetchPageQuery(partnerType, queryFilters, selectedSort);\n        dispatch(fetchRFQsPage(pageNumber, query, partnerId, { isForceUpdate: false }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, partnerId, partnerType]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n\n        dispatch(fetchRFQsStats(partnerId, { isForceUpdate: true }));\n\n        const query = prepareFetchPageQuery(partnerType, queryFilters, selectedSort);\n        dispatch(fetchRFQsPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, partnerId, partnerType]);\n    useChannelSubscribe(rfqsRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n\n        dispatch(fetchRFQsStats(partnerId, { isForceUpdate: true }));\n\n        const query = prepareFetchPageQuery(partnerType, queryFilters, selectedSort);\n        dispatch(fetchRFQsPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, partnerId, partnerType]);\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in RFQListPageLayout useEffect');\n            return (): void => {};\n        }\n\n        dispatch(fetchRFQsStats(partnerId));\n\n        const query = prepareFetchPageQuery(partnerType, queryFilters, selectedSort);\n        dispatch(fetchRFQsPage(pageNumber, query, partnerId));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [dispatch, pageNumber, selectedSort, queryFilters, partnerId, partnerType]);\n\n    const rfqs = React.useMemo(() => {\n        return (ids || []).map((id): RFQT => rfqById[id as string]).filter(isNonNil);\n    }, [ids, rfqById]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.rfqsPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof rfqsPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(rfqsPaginationChannel, setPageHandler);\n\n    const verificationProblems = useSelector(selectCompanyVerificationProblems);\n\n    const sortOptions: Array<SortDropdownOptionT<RFQsSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('common:rfqs-page.table.sorts.creation-date'),\n                value: RFQsSortEnum.creationDate,\n            },\n            {\n                label: t('common:rfqs-page.table.sorts.deadline'),\n                value: RFQsSortEnum.deadline,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<RFQsSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.rfqsPage]: 0,\n            [QueryKeysEnum.rfqsSort]: sort,\n        });\n    };\n\n    const handleSetStatusFilter = (quickFilterId: RFQsQuickFilterEnum | undefined) => {\n        const prevQueryFilters = query[QueryKeysEnum.rfqsFilters] || {};\n\n        const queryFilters: QueryFiltersT = {\n            ...prevQueryFilters,\n            [QueryFiltersKeysEnum.quickFilter]: quickFilterId,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.rfqsPage]: 0,\n            [QueryKeysEnum.rfqsFilters]: queryFilters,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        changeQuery({\n            [QueryKeysEnum.rfqsPage]: 0,\n            [QueryKeysEnum.rfqsFilters]: selectedQueryFilters,\n        });\n\n        hideFilters();\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.rfqsFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.rfqsPage]: 0,\n            [QueryKeysEnum.rfqsFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.searchText]: searchText || undefined,\n        });\n    };\n\n    const stats = useSelector(selectRFQsStats);\n\n    const quickFilterOptions: Array<QuickFiltersOptionT<RFQsQuickFilterEnum>> = React.useMemo(\n        () => [\n            {\n                id: undefined,\n                showPriority: 0,\n                hidePriority: 0,\n                label: t('common:rfqs-page.table.quick-filters.all'),\n                testSelector: 'all',\n            },\n            {\n                id: RFQsQuickFilterEnum.open,\n                showPriority: 1,\n                hidePriority: 1,\n                label: t('common:rfqs-page.table.quick-filters.open'),\n                testSelector: RFQsQuickFilterEnum.open,\n                notificationProps: {\n                    count: stats?.countByState[RFQStatusEnum.open],\n                    theme: NotificationLabelThemeEnum.charcoal,\n                },\n            },\n            {\n                id: RFQsQuickFilterEnum.preExpire,\n                showPriority: 2,\n                hidePriority: 2,\n                label: t('common:rfqs-page.table.quick-filters.pre-expire'),\n                testSelector: RFQsQuickFilterEnum.preExpire,\n                notificationProps: {\n                    count: stats?.countByState[RFQStatusEnum.expireSoon],\n                    theme: NotificationLabelThemeEnum.orange,\n                },\n            },\n            {\n                id: RFQsQuickFilterEnum.expired,\n                showPriority: 3,\n                hidePriority: 3,\n                label: t('common:rfqs-page.table.quick-filters.expired'),\n                testSelector: RFQsQuickFilterEnum.expired,\n            },\n            {\n                id: RFQsQuickFilterEnum.completed,\n                showPriority: 4,\n                hidePriority: 4,\n                label: t('common:rfqs-page.table.quick-filters.completed'),\n                testSelector: RFQsQuickFilterEnum.completed,\n            },\n            {\n                id: RFQsQuickFilterEnum.closed,\n                showPriority: 5,\n                hidePriority: 5,\n                label: t('common:rfqs-page.table.quick-filters.closed'),\n                testSelector: RFQsQuickFilterEnum.closed,\n            },\n        ],\n        [stats, t],\n    );\n\n    const goToCreateOrderForm = (): void => {\n        history.push({\n            pathname: OMSRoutesEnum.newOrder,\n        });\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(rfqs, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters(\n            [queryFilters[QueryFiltersKeysEnum.quickFilter]],\n            [omit(queryFilters, [QueryFiltersKeysEnum.quickFilter])],\n        );\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('common:rfqs-page.table.messages.not-found.title')}\n                    description={t('common:rfqs-page.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('common:rfqs-page.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('common:rfqs-page.table.messages.empty-quick-filters.title')}\n                    description=\"\"\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('common:rfqs-page.table.messages.empty.title')}\n                description={t('common:rfqs-page.table.messages.empty.description')}\n                testSelector=\"empty\"\n                isShowAction\n                actionTitle={t('common:rfqs-page.table.messages.empty.action')}\n                actionTheme={ButtonThemeEnum.primary}\n                onActionClick={goToCreateOrderForm}\n            />\n        );\n    };\n\n    return (\n        <>\n            <ContentMargins>\n                <ListPageLayout>\n                    {quickFilterOptions && (\n                        <ListPageHeaderTabsLayout>\n                            <QuickFiltersButtonGroups\n                                options={quickFilterOptions}\n                                revertSeparatorIndexes={quickFilterOptionSeparators}\n                                selectedId={queryFilters[QueryFiltersKeysEnum.quickFilter]}\n                                onSelect={handleSetStatusFilter}\n                                moreStatusesLabel={t('common:rfqs-page.table.quick-filters.more-statuses')}\n                            />\n                        </ListPageHeaderTabsLayout>\n                    )}\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                <FiltersTrigger\n                                    title={t('common:rfqs-page.table.filters.trigger')}\n                                    isActive={isShowFilters}\n                                    onClick={showFilters}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                                <SearchControl\n                                    placeholder={t('common:rfqs-page.table.search.placeholder')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                        rightToolsNode={\n                            <>\n                                {!verificationProblems.any && (\n                                    <Button\n                                        theme={ButtonThemeEnum.primary}\n                                        type=\"button\"\n                                        onClick={goToCreateOrderForm}\n                                        isDisabled={isDisabledCreateOrder}\n                                        testSelector=\"create-new-order\"\n                                    >\n                                        {t('common:rfqs-page.actions.create-rfq')}\n                                    </Button>\n                                )}\n                            </>\n                        }\n                    />\n                    {renderTableMessage()}\n                    <RFQsTable\n                        rfqs={rfqs}\n                        goToRFQDetails={onOpenRFQDetails}\n                        goToUserDetails={onOpenUserDetails}\n                        isLoading={requestStatus?.loading}\n                    />\n                </ListPageLayout>\n            </ContentMargins>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n            <SideBar isShow={isShowFilters} onClose={hideFilters}>\n                {(onClose) => (\n                    <FiltersSidebarContent\n                        onClose={onClose}\n                        queryFilters={queryFilters}\n                        setQueryFilters={handleSetQueryFilters}\n                        isShowSourceFilter={partnerType === PartnerTypeEnum.shipper}\n                        isShowExtendedSourceFilter={partnerType === PartnerTypeEnum.broker}\n                        isShowShipperFilter={partnerType === PartnerTypeEnum.broker}\n                    />\n                )}\n            </SideBar>\n        </>\n    );\n});\n\nexport default RFQListPageLayout;\n","import {\n    ApiReservePreviewQueryT,\n    ReservePreviewQueryChangesT,\n    ReservePreviewQueryT,\n    ReserveQueryChangesT,\n    ReserveT,\n} from '../models';\nimport isUndefined from 'lodash/isUndefined';\nimport isBoolean from 'lodash/isBoolean';\nimport keyBy from 'lodash/keyBy';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\n\nconst setReversePreviewDefaultQuery = (\n    queryChanges: ReservePreviewQueryT | null,\n    reserve: ReserveT | null,\n): ReservePreviewQueryT | null => {\n    if (!queryChanges) {\n        return null;\n    }\n\n    const newQueryChanges: ReservePreviewQueryT = {\n        ...queryChanges,\n    };\n\n    if (reserve?.points?.length) {\n        newQueryChanges.timeWindows = [];\n\n        reserve.points.forEach((point, index) => {\n            const reservePreviewIndex = queryChanges?.timeWindows?.findIndex((timeWindow) => {\n                return timeWindow?.addressAlias === point.addressAlias;\n            });\n\n            if (isNumber(reservePreviewIndex) && reservePreviewIndex !== -1) {\n                newQueryChanges.timeWindows[index] = {\n                    ...queryChanges.timeWindows[reservePreviewIndex],\n                };\n            } else {\n                newQueryChanges.timeWindows[index] = {\n                    addressAlias: point.addressAlias,\n                    id: point.id,\n                };\n            }\n\n            if (point.defaultTimeWindow?.start && !newQueryChanges.timeWindows[index].timeWindowFrom) {\n                newQueryChanges.timeWindows[index].timeWindowFrom = point.defaultTimeWindow?.start;\n            }\n\n            if (point.defaultTimeWindow?.end && !newQueryChanges.timeWindows[index].timeWindowTo) {\n                newQueryChanges.timeWindows[index].timeWindowTo = point.defaultTimeWindow?.end;\n            }\n        });\n    }\n\n    return newQueryChanges;\n};\n\nconst getPreviewReverseQueryChanges = (\n    changes: ReserveQueryChangesT,\n    prevReservePreviewQuery: ReservePreviewQueryT | null,\n    reserve: ReserveT | null,\n): ReservePreviewQueryChangesT => {\n    const queryChanges: ReservePreviewQueryChangesT = {};\n\n    const isAvailableLane = reserve?.contractLanes?.some((contractLane) => contractLane?.id === changes?.laneId);\n    const isResetChange = changes?.laneId === null;\n    if ((changes?.laneId && isAvailableLane) || isResetChange) {\n        queryChanges.laneId = changes?.laneId;\n    }\n\n    const prepareRoutePointChanges = (\n        prevRoutePointChanges: ReservePreviewQueryT['timeWindows'][number],\n        changes: NonNullable<ReserveQueryChangesT['fullRouteChange']>[number] | null | undefined,\n    ): ReservePreviewQueryT['timeWindows'][number] => {\n        const result: ReservePreviewQueryT['timeWindows'][number] = {\n            ...prevRoutePointChanges,\n        };\n\n        const timeWindowFrom = changes?.timeWindowFrom;\n        if (!isUndefined(timeWindowFrom)) {\n            result.timeWindowFrom = timeWindowFrom;\n        }\n\n        const timeWindowTo = changes?.timeWindowTo;\n        if (!isUndefined(timeWindowTo)) {\n            result.timeWindowTo = timeWindowTo;\n        }\n\n        const isBrokerTimeWindow = changes?.isBrokerTimeWindow;\n        if (isBoolean(isBrokerTimeWindow)) {\n            result.isBrokerTimeWindow = isBrokerTimeWindow;\n        }\n\n        return result;\n    };\n\n    if (changes?.fullRouteChange) {\n        changes.fullRouteChange.forEach((routePointChanges, index) => {\n            if (!queryChanges?.timeWindows) {\n                queryChanges.timeWindows = [];\n            }\n\n            queryChanges.timeWindows[index] = prepareRoutePointChanges({}, routePointChanges);\n        });\n    }\n\n    if (changes?.routePointChange) {\n        const { addressAlias, changes: data } = changes.routePointChange;\n\n        const targetIndex = prevReservePreviewQuery?.timeWindows?.findIndex(\n            (timeWindow) => timeWindow?.addressAlias === addressAlias,\n        );\n        if (typeof targetIndex === 'number' && targetIndex !== -1) {\n            const prevQueryChangesTimeWindows = cloneDeep(prevReservePreviewQuery?.timeWindows || []);\n\n            prevQueryChangesTimeWindows[targetIndex] = prepareRoutePointChanges(\n                prevQueryChangesTimeWindows[targetIndex],\n                data,\n            );\n\n            queryChanges.timeWindows = prevQueryChangesTimeWindows;\n        }\n    }\n\n    if (changes?.addRoutePoint) {\n        const { beforeAddressAlias, changes: data } = changes.addRoutePoint;\n\n        const targetIndex = prevReservePreviewQuery?.timeWindows?.findIndex(\n            (timeWindow) => timeWindow?.addressAlias === beforeAddressAlias,\n        );\n        if (typeof targetIndex === 'number' && targetIndex !== -1) {\n            const prevQueryChangesTimeWindows = cloneDeep(prevReservePreviewQuery?.timeWindows || []);\n            prevQueryChangesTimeWindows.splice(targetIndex + 1, 0, prepareRoutePointChanges({}, data));\n\n            queryChanges.timeWindows = prevQueryChangesTimeWindows;\n        }\n    }\n\n    if (changes?.deleteRoutePoint) {\n        const { addressAlias } = changes.deleteRoutePoint;\n\n        const targetIndex = prevReservePreviewQuery?.timeWindows?.findIndex(\n            (timeWindow) => timeWindow?.addressAlias === addressAlias,\n        );\n        if (typeof targetIndex === 'number' && targetIndex !== -1) {\n            const prevQueryChangesTimeWindows = cloneDeep(prevReservePreviewQuery?.timeWindows || []);\n\n            prevQueryChangesTimeWindows.splice(targetIndex, 1);\n\n            queryChanges.timeWindows = prevQueryChangesTimeWindows;\n        }\n    }\n\n    // If any time window is fully empty, later windows may be invalid; clear this slot and all following ones\n    // see: logic useEditRouteWatcher\n    if (queryChanges.timeWindows) {\n        let isClearAfterEmptyTimeWindows = false;\n\n        queryChanges.timeWindows = queryChanges.timeWindows.map((timeWindow) => {\n            if (!timeWindow.timeWindowFrom && !timeWindow.timeWindowTo) {\n                isClearAfterEmptyTimeWindows = true;\n            }\n\n            if (isClearAfterEmptyTimeWindows) {\n                return {\n                    ...timeWindow,\n                    isBrokerTimeWindow: false,\n                    timeWindowFrom: null,\n                    timeWindowTo: null,\n                };\n            }\n\n            return timeWindow;\n        });\n    }\n\n    const reserveId = reserve?.reserveId || null;\n    if (reserveId) {\n        queryChanges.reserveId = reserveId;\n    }\n\n    return queryChanges;\n};\n\nconst mergePreviewReverseQuery = (\n    prevQuery: ReservePreviewQueryT | null,\n    changes: ReservePreviewQueryChangesT,\n): ReservePreviewQueryT | null => {\n    const query: ReservePreviewQueryT = {\n        reserveId: null,\n        laneId: null,\n        ...prevQuery,\n        ...changes,\n        timeWindows: changes?.timeWindows || prevQuery?.timeWindows || [],\n    };\n\n    return query;\n};\n\nconst correctionPreviewReverseQueryAfterReserve = (\n    reservePreviewQuery: ReservePreviewQueryT | null,\n    reserve: ReserveT | null,\n): ReservePreviewQueryT | null => {\n    if (!reservePreviewQuery) {\n        return null;\n    }\n\n    const correctedReservePreviewQuery: ReservePreviewQueryT = {\n        ...reservePreviewQuery,\n    };\n\n    if (correctedReservePreviewQuery?.laneId && reserve) {\n        const availableLanes = reserve.contractLanes || [];\n        const isAvailableLane = availableLanes.some(\n            (contractLane) => contractLane?.id === correctedReservePreviewQuery?.laneId,\n        );\n        if (!isAvailableLane) {\n            correctedReservePreviewQuery.laneId = null;\n        }\n    }\n\n    return correctedReservePreviewQuery;\n};\n\nconst getApiPreviewReverseQuery = (\n    query: ReservePreviewQueryT | null,\n    reserve: ReserveT | null,\n): ApiReservePreviewQueryT | null => {\n    if (!query) {\n        return null;\n    }\n\n    const { reserveId } = query;\n    if (!reserveId) {\n        return null;\n    }\n\n    const points = reserve?.points || [];\n    const pointsById = keyBy(points, (point) => point.id);\n\n    const timeWindows = points\n        .map((point, index) => {\n            const timeWindow = query.timeWindows[index] || null;\n\n            return {\n                brokerWindow: !!timeWindow?.isBrokerTimeWindow,\n                from: timeWindow?.timeWindowFrom || null,\n                to: timeWindow?.timeWindowTo || null,\n                id: point.id,\n            };\n        })\n        .filter((timeWindow) => {\n            const point = pointsById[timeWindow?.id as string];\n\n            return point?.type === OrderCreationReservePointTypeEnum.shipment;\n        });\n\n    const checkIsValidTimeWindow = (\n        timeWindow: (typeof timeWindows)[number],\n    ): timeWindow is NonNullable<ApiReservePreviewQueryT['timeWindows']>[number] => {\n        return !!timeWindow?.from && !!timeWindow?.to && !!timeWindow?.id;\n    };\n\n    const isValidTimeWindows = timeWindows?.every(checkIsValidTimeWindow) && !!timeWindows?.length;\n    if (!isValidTimeWindows) {\n        return null;\n    }\n\n    return {\n        timeWindows,\n        reserveId,\n    };\n};\n\nexport {\n    getPreviewReverseQueryChanges,\n    mergePreviewReverseQuery,\n    getApiPreviewReverseQuery,\n    setReversePreviewDefaultQuery,\n    correctionPreviewReverseQueryAfterReserve,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"alerts\":\"TruckDetails__alerts___HXHAy\",\"fields\":\"TruckDetails__fields___Wpxv3\",\"field--placeholder\":\"TruckDetails__field--placeholder___jsZru\",\"field--country-code\":\"TruckDetails__field--country-code___WuWMR\",\"field--vin\":\"TruckDetails__field--vin___iUtSb\",\"field--emission-standard\":\"TruckDetails__field--emission-standard___PGAjj\",\"field--cabin-color\":\"TruckDetails__field--cabin-color___tquM6\",\"field--contract\":\"TruckDetails__field--contract___L1Njb\",\"field--rate\":\"TruckDetails__field--rate___nwZBK\",\"field--fuel-consumption\":\"TruckDetails__field--fuel-consumption___jVzpm\",\"field--oil-percent\":\"TruckDetails__field--oil-percent___O6MvU\",\"fadeIn\":\"TruckDetails__fadeIn___lCrYZ\",\"blinking\":\"TruckDetails__blinking___BQ62K\"};","import * as React from 'react';\n\nimport { Redirect } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\n\nimport { authRoutesEnum, QueryKeysEnum } from 'common/constants';\nimport { selectIsPendingUser } from 'common/store/user/selectors';\nimport { formatQuery } from 'common/utils/query';\nimport { getAuthReturnUrl } from 'common/utils/auth-return-url';\n\ntype PropsT = {};\n\nconst RedirectPendingUser: React.FC<PropsT> = React.memo(() => {\n    const isPendingUser = useSelector(selectIsPendingUser);\n    if (isPendingUser) {\n        return (\n            <Redirect\n                to={{\n                    pathname: authRoutesEnum.continueSignUp,\n                    search: formatQuery({\n                        [QueryKeysEnum.returnUrl]: getAuthReturnUrl(),\n                    }),\n                }}\n            />\n        );\n    }\n\n    return null;\n});\n\nexport default RedirectPendingUser;\n","// extracted by mini-css-extract-plugin\nexport default {\"date\":\"CreateUpdateCell__date___B02g3\",\"fadeIn\":\"CreateUpdateCell__fadeIn___ODgwU\",\"blinking\":\"CreateUpdateCell__blinking___C5Ny_\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    FETCH_PARTNER_DETAILS_REQUEST,\n    FetchPartnerDetailsActionT,\n    LOCK_PARTNER_REQUEST,\n    LockPartnerActionT,\n    UPDATE_PARTNER_DETAILS_REQUEST,\n    UpdatePartnerDetailsActionT,\n    VERIFY_PARTNER_DETAILS_REQUEST,\n    VerifyPartnerDetailsActionT,\n} from './types';\nimport {\n    fetchPartnerDetails,\n    fetchPartnerDetailsBegin,\n    fetchPartnerDetailsError,\n    fetchPartnerDetailsSuccess,\n    lockPartnerBegin,\n    lockPartnerError,\n    lockPartnerSuccess,\n    updatePartnerDetailsBegin,\n    updatePartnerDetailsError,\n    updatePartnerDetailsSuccess,\n    verifyPartnerDetailsBegin,\n    verifyPartnerDetailsError,\n    verifyPartnerDetailsSuccess,\n} from './actions';\nimport { selectPartnerDetailsById } from 'broker-admin/store/partner/details/selectors';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { logWarning } from 'common/utils/logger';\nimport { partnersRefreshChannel } from 'broker-admin/store/partners/channels';\nimport { partnerDetailsRefreshChannel } from 'broker-admin/store/partner/details/channels';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { companyRefreshChannel } from 'common/store/company/channels';\nimport { normalizePartnerDetails } from 'broker-admin/store/partner/details/utils/normalize-partner-details';\n\nfunction* fetchPartnerDetailsSaga(action: FetchPartnerDetailsActionT): WrapGeneratorT<void> {\n    const { companyId } = action;\n\n    yield put(fetchPartnerDetailsBegin());\n\n    const [error, partnerDetails]: ReturnApiT<typeof brokerTranziitApi.fetchPartnerDetails> =\n        yield brokerTranziitApi.fetchPartnerDetails(companyId);\n\n    if (error) {\n        yield put(fetchPartnerDetailsError(error));\n        return;\n    }\n\n    yield put(fetchPartnerDetailsSuccess(normalizePartnerDetails(partnerDetails)));\n}\n\nfunction* updatePartnerDetailsSaga(action: UpdatePartnerDetailsActionT): WrapGeneratorT<void> {\n    const { partnerDetailsChanges, partnerType, companyId } = action;\n\n    const partnerDetailsById: ReturnType<typeof selectPartnerDetailsById> = yield select(selectPartnerDetailsById);\n    const partnerDetails = partnerDetailsById[companyId];\n    if (!partnerDetails) {\n        logWarning('empty partnerDetails, failed update partern details');\n        return;\n    }\n\n    yield put(updatePartnerDetailsBegin());\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updatePartnerDetails> =\n        yield brokerTranziitApi.updatePartnerDetails(companyId, partnerDetailsChanges);\n    if (error) {\n        yield put(updatePartnerDetailsError(error));\n        return;\n    }\n\n    yield put(\n        updatePartnerDetailsSuccess({\n            ...partnerDetails,\n            ...partnerDetailsChanges,\n            teams: partnerDetails.teams,\n        }),\n    );\n\n    partnersRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n\n    // broker company is single\n    if (partnerType === PartnerTypeEnum.broker) {\n        companyRefreshChannel.emit({});\n    }\n}\n\nfunction* verifyPartnerDetailsSaga(action: VerifyPartnerDetailsActionT): WrapGeneratorT<void> {\n    const { isVerify, companyId, addressType } = action;\n\n    yield put(verifyPartnerDetailsBegin());\n\n    let response: ReturnApiT<\n        typeof brokerTranziitApi.verifyPartnerAddress | typeof brokerTranziitApi.unVerifyPartnerAddress\n    >;\n    if (isVerify) {\n        response = yield brokerTranziitApi.verifyPartnerAddress(companyId, addressType);\n    } else {\n        response = yield brokerTranziitApi.unVerifyPartnerAddress(companyId, addressType);\n    }\n\n    const [error] = response;\n    if (error) {\n        yield put(verifyPartnerDetailsError(error));\n        return;\n    }\n\n    yield put(verifyPartnerDetailsSuccess());\n\n    yield put(fetchPartnerDetails(companyId));\n\n    partnersRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n}\n\nfunction* lockPartnerDetailsSaga(action: LockPartnerActionT): WrapGeneratorT<void> {\n    const { isLock, companyId } = action;\n\n    yield put(lockPartnerBegin());\n\n    let response: ReturnApiT<typeof brokerTranziitApi.lockPartner | typeof brokerTranziitApi.unlockPartner>;\n    if (isLock) {\n        response = yield brokerTranziitApi.lockPartner(companyId);\n    } else {\n        response = yield brokerTranziitApi.unlockPartner(companyId);\n    }\n\n    const [error] = response;\n    if (error) {\n        yield put(lockPartnerError(error));\n        return;\n    }\n\n    yield put(lockPartnerSuccess());\n\n    yield put(fetchPartnerDetails(companyId));\n\n    partnersRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n}\n\nfunction* userSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_PARTNER_DETAILS_REQUEST, fetchPartnerDetailsSaga);\n    yield takeEvery(UPDATE_PARTNER_DETAILS_REQUEST, updatePartnerDetailsSaga);\n    yield takeEvery(VERIFY_PARTNER_DETAILS_REQUEST, verifyPartnerDetailsSaga);\n    yield takeEvery(LOCK_PARTNER_REQUEST, lockPartnerDetailsSaga);\n}\n\nexport default userSaga;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    isInvert?: boolean;\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst ExpandIcon: React.FC<PropsT> = (props) => {\n    const { isInvert, className, fillColor, ...restProps } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width={20}\n            height={20}\n            viewBox=\"0 0 20 20\"\n            style={{\n                transform: `rotate(${isInvert ? '180' : '0'}deg)`,\n            }}\n            className={className}\n            {...restProps}\n        >\n            <path\n                d=\"M13.293 7.293a1 1 0 011.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L10 10.586l3.293-3.293z\"\n                fill={fillColor}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nExpandIcon.displayName = 'ExpandIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default ExpandIcon;\n","import isNumber from 'lodash/isNumber';\n\nexport const getValuesDiff = (valueA: number | null | undefined, valueB: number | null | undefined): number | null => {\n    if (!isNumber(valueA) || !isNumber(valueB)) {\n        return null;\n    }\n\n    return valueA - valueB;\n};\n\nexport const getDiffPercent = (diff: number | null | undefined, base: number | null | undefined): null | number => {\n    if (!isNumber(diff) || !isNumber(base)) {\n        return null;\n    }\n\n    return Math.abs(Math.round((base ? diff / base : 0) * 100));\n};\n","import * as React from 'react';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { AddTrailerSidebarDataT } from 'common/layouts/SideBars/contents/AddTrailerSidebarContent/models';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\nimport { useSelector } from 'react-redux';\nimport EditTrailerSidebarContent from 'common/layouts/CommonEditableTrailerDetailsLayout/EditTrailerSidebarContent/EditTrailerSidebarContent';\nimport { selectAddTrailerRequestStatus } from 'common/store/trailers/selectors';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\ntype PropsT = SidebarContentPropsT<AddTrailerSidebarDataT, CommonSidebarDataT>;\n\nconst AddTrailerSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onGoBack, onClose, setNeedCloseConfirmation, onOpenNextSidebar } = props;\n\n    const addTrailerRequestStatus = useSelector(selectAddTrailerRequestStatus(data.partnerId));\n    useCloseSidebarAfterRequest(addTrailerRequestStatus, onGoBack || onClose);\n\n    const handleOpenTruckDetails = (truckId: TruckIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.truckDetails,\n            partnerId: data.partnerId,\n            truckId,\n        });\n    };\n\n    const handleOpenTrailerDetails = (trailerId: TrailerIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            partnerId: data.partnerId,\n            trailerId,\n        });\n    };\n\n    const handleOpenUserDetails = (userId: UserIdT, isBrokerUser?: boolean) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId: data.partnerId,\n            partnerType: isBrokerUser ? PartnerTypeEnum.broker : PartnerTypeEnum.carrier,\n            userId,\n        });\n    };\n\n    if (!onClose) {\n        return null;\n    }\n\n    return (\n        <EditTrailerSidebarContent\n            partnerId={data.partnerId}\n            trailerId={null}\n            onClose={onClose}\n            onCancel={onClose}\n            setNeedCloseConfirmation={setNeedCloseConfirmation}\n            onOpenTrailerDetails={handleOpenTrailerDetails}\n            onOpenTruckDetails={handleOpenTruckDetails}\n            onOpenUserDetails={handleOpenUserDetails}\n        />\n    );\n};\n\nexport default AddTrailerSidebarContent;\n","import React, { useContext, useEffect } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SetUnavailableForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport { useFormik } from 'formik';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { prepareQuery } from './prepare-query';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { AssetTypeEnum, StyleGuideColorsEnum } from 'common/constants';\nimport PinIcon, { PinIconProps } from 'common/icons/PinIcon';\nimport OpenedDatePicker from 'design-system/components/date-pickers/OpenedDatePicker/OpenedDatePicker';\nimport { getDateFromDate, getDatesBetweenDates } from 'common/utils/time';\nimport { SetUnavailableVehicleQueryT } from 'common/utils/api/models';\nimport { selectVehicleSchedule } from 'common/store/vehicle-schedules/selectors';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchVehicleSchedule } from 'common/store/vehicle-schedules/actions';\nimport uniq from 'lodash/uniq';\nimport { isNonNil } from 'common/utils';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport AssetServiceLocationContext from 'common/components/AssetSidebarContent/contexts/asset-service-location-context';\nimport isEqual from 'lodash/isEqual';\nimport { selectCountrySettingsByCountryCode } from 'common/store/country-settings-dict/selectors';\nimport { fetchCountrySettingsDict } from 'common/store/country-settings-dict/actions';\nimport { SyncSetUnavailableFormMapStateContext } from './contexts/sync-map-state';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport WarningIcon from 'common/icons/WarningIcon';\nimport moment from 'moment/moment';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { vehicleSchedulesRefreshChannel } from 'common/store/vehicle-schedules/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isLoading: boolean;\n    assetId: AssetIdT | null;\n    assetType: AssetTypeEnum;\n    onSetUnavailable: (assetId: AssetIdT, query: SetUnavailableVehicleQueryT) => void;\n};\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.dateRange]: null,\n    [FieldsEnum.dropoffLocation]: null,\n};\n\nconst SetUnavailableForm: React.FC<PropsT> = (props) => {\n    const { onSetUnavailable, assetId, assetType, isLoading } = props;\n\n    const dispatch = useDispatch();\n\n    const countriesSettingsByCode = useSelector(selectCountrySettingsByCountryCode);\n    React.useEffect(() => {\n        dispatch(fetchCountrySettingsDict());\n    }, [dispatch]);\n\n    const { location, setLocation } = useContext(AssetServiceLocationContext);\n    useEffect(() => {\n        return () => {\n            setLocation(null);\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const { t } = useTranslation();\n\n    const schedule = useSelector(selectVehicleSchedule(assetId));\n    const disabledDates = React.useMemo(() => {\n        let dates: string[] = [];\n\n        schedule.forEach((event) => {\n            let eventDates: Array<string> | null = null;\n\n            if (event.truckId === assetId) {\n                eventDates = getDatesBetweenDates([event.truckDateFrom, event.truckDateTo]);\n            }\n\n            if (event.trailerId === assetId) {\n                eventDates = getDatesBetweenDates([event.trailerDateFrom, event.trailerDateTo]);\n            }\n\n            if (eventDates) {\n                dates = [...dates, ...eventDates];\n            }\n        });\n\n        return uniq(dates).filter(isNonNil);\n    }, [schedule, assetId]);\n\n    React.useEffect(() => {\n        if (!assetId) {\n            return;\n        }\n\n        dispatch(fetchVehicleSchedule({ vehicleId: assetId }));\n    }, [dispatch, assetId]);\n\n    const refreshVehicleSchedulesHandler = React.useCallback(\n        (event: InferChannelEventT<typeof vehicleSchedulesRefreshChannel>) => {\n            const { vehicleId } = event;\n\n            if (vehicleId === assetId) {\n                dispatch(fetchVehicleSchedule({ vehicleId: assetId }, { isForceUpdate: true }));\n            }\n        },\n        [dispatch, assetId],\n    );\n    useChannelSubscribe(vehicleSchedulesRefreshChannel, refreshVehicleSchedulesHandler);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, { disabledDates, countriesSettingsByCode });\n    }, [t, disabledDates, countriesSettingsByCode]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...INITIAL_VALUES,\n        };\n\n        const errors = validateForm(t, values, { disabledDates, countriesSettingsByCode });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const query = prepareQuery(values, assetType);\n            if (!query) {\n                return;\n            }\n\n            if (!assetId) {\n                return;\n            }\n\n            onSetUnavailable(assetId, query);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const { setHasDropAssetPointError } = useContext(SyncSetUnavailableFormMapStateContext);\n    React.useEffect(() => {\n        setHasDropAssetPointError(!!formik.errors?.[FieldsEnum.dropoffLocation]);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.errors]);\n\n    useEffect(() => {\n        const currentLocation = formik.values[FieldsEnum.dropoffLocation];\n\n        if (!isEqual(location, currentLocation)) {\n            formik.setFieldValue(FieldsEnum.dropoffLocation, location);\n            formik.setFieldTouched(FieldsEnum.dropoffLocation, true);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [location]);\n\n    const minTodayDate = React.useMemo(() => {\n        const now = new Date();\n        return getDateFromDate(now);\n    }, []);\n\n    const dateRange = formik.values[FieldsEnum.dateRange];\n\n    const [isShowHasUnavailableDatesAlerts, setIsShowHasUnavailableDatesAlerts] = React.useState<boolean>(false);\n    React.useEffect(() => {\n        if (!dateRange || !dateRange?.from || !dateRange?.to) {\n            setIsShowHasUnavailableDatesAlerts(false);\n            return;\n        }\n\n        const hasUnavailableDates = disabledDates.some((disabledDate) => {\n            return moment(disabledDate).isBetween(dateRange.from, dateRange.to);\n        });\n        setIsShowHasUnavailableDatesAlerts(hasUnavailableDates);\n    }, [dateRange, disabledDates]);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('form')}>\n                <FormikField\n                    className={cx('field', 'field--date-range')}\n                    name={FieldsEnum.dateRange}\n                    error={formik.errors[FieldsEnum.dateRange]}\n                    meta={formik.getFieldMeta(FieldsEnum.dateRange)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <OpenedDatePicker\n                            isRange\n                            hasYearMonthForm\n                            value={formik.values[FieldsEnum.dateRange]}\n                            placeholder={t('common:assets.set-unavailable.fields.date-range.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            minDate={minTodayDate}\n                            disabledDates={disabledDates}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field')}\n                    name={FieldsEnum.dropoffLocation}\n                    error={formik.errors[FieldsEnum.dropoffLocation]}\n                    meta={formik.getFieldMeta(FieldsEnum.dropoffLocation)}\n                    label={t('common:assets.set-unavailable.fields.dropoff-location.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('common:assets.set-unavailable.fields.dropoff-location.tooltip')}\n                        </TooltipContent>\n                    }\n                >\n                    {(props) => (\n                        <GeoSuggest\n                            name={FieldsEnum.dropoffLocation}\n                            value={formik.values[FieldsEnum.dropoffLocation]}\n                            placeholder={t('common:assets.set-unavailable.fields.dropoff-location.placeholder')}\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            onChange={(value) => {\n                                props.onChange(value);\n\n                                setLocation(value);\n                            }}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            testSelector=\"point-to-drop-truck\"\n                            showClearControl={!!formik.values[FieldsEnum.dropoffLocation]}\n                            overlayPosition=\"top\"\n                        />\n                    )}\n                </FormikField>\n            </div>\n            {isShowHasUnavailableDatesAlerts && (\n                <Alert\n                    icon={<WarningIcon fillColor={StyleGuideColorsEnum.white} />}\n                    size={AlertSizeEnum.small}\n                    theme={AlertThemeEnum.tomatoRed}\n                    className={cx('alert')}\n                    onClose={() => {\n                        setIsShowHasUnavailableDatesAlerts(false);\n                    }}\n                >\n                    {t('common:assets.set-unavailable.alerts.has-unavailable-dates')}\n                </Alert>\n            )}\n            <Button\n                theme={ButtonThemeEnum.danger}\n                className={cx('submit')}\n                type=\"submit\"\n                isLoading={isLoading}\n                isDisabled={isLoading}\n            >\n                {t('common:assets.set-unavailable.submit')}\n            </Button>\n        </form>\n    );\n};\n\nexport default SetUnavailableForm;\n","import React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './TooltipIconTrigger.scss';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isShow?: boolean;\n};\n\nconst TooltipIconTrigger: React.FC<PropsT> = (props) => {\n    const { className, isShow } = props;\n\n    return (\n        <InfoIcon\n            className={cs(cx('icon'), className)}\n            fillColor={isShow ? StyleGuideColorsEnum.charcoal : StyleGuideColorsEnum.light}\n        />\n    );\n};\n\nexport default TooltipIconTrigger;\n","/**\n * Parses responseData which can be:\n * - a plain string with id\n * - an escaped JSON string\n */\nexport function parseResponseData(responseData: string | null | undefined): string | null {\n    if (!responseData || typeof responseData !== 'string') {\n        return null;\n    }\n\n    try {\n        const parsed = JSON.parse(responseData);\n        // If parsed to a string, return it\n        if (typeof parsed === 'string') {\n            return parsed;\n        }\n    } catch {\n        // If parsing failed, ignore the error\n    }\n\n    // If not parsed or parsed to non-string, return the original string\n    return responseData;\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"button-group\":\"ButtonGroup__button-group___JjrI4\",\"fadeIn\":\"ButtonGroup__fadeIn___vrm02\",\"blinking\":\"ButtonGroup__blinking___WAAW6\"};","// extracted by mini-css-extract-plugin\nexport default {\"alerts\":\"TrailerDetails__alerts___QH8LY\",\"block\":\"TrailerDetails__block___TKj1F\",\"block__title\":\"TrailerDetails__block__title___dAoMm\",\"icon\":\"TrailerDetails__icon___qw0ZM\",\"fields\":\"TrailerDetails__fields___xdRx0\",\"field--plate-number\":\"TrailerDetails__field--plate-number___uv5Yj\",\"field--rate\":\"TrailerDetails__field--rate___eVF26\",\"field--vin\":\"TrailerDetails__field--vin___uDwCc\",\"field--contract\":\"TrailerDetails__field--contract___ntL_o\",\"fadeIn\":\"TrailerDetails__fadeIn___ZzE3E\",\"blinking\":\"TrailerDetails__blinking___qMCYS\"};","import * as React from 'react';\nimport { PartnerT } from 'broker-admin/store/partners/models';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = {\n    partner: PartnerT;\n};\n\nconst TeamsCell: React.FC<PropsT> = React.memo((props) => {\n    const { partner } = props;\n\n    const { assignedTeams } = partner;\n\n    return (\n        <PillLabel theme={PillLabelThemeEnum.grey} testSelector=\"teams\" isSymmetrical>\n            {assignedTeams}\n        </PillLabel>\n    );\n});\n\nexport default TeamsCell;\n","import { CURRENCY_SETTINGS, CurrencyEnum } from 'common/constants';\nimport isNumber from 'lodash/isNumber';\n\nconst formatMoney = (value: number | null | undefined, currency: CurrencyEnum): number => {\n    const { minimumSignificantDigits } = CURRENCY_SETTINGS[currency];\n\n    return +(value || 0).toFixed(minimumSignificantDigits);\n};\n\nexport const moneyOperations = {\n    notStrictPlus: (\n        a: number | null | undefined,\n        b: number | null | undefined,\n        currency: CurrencyEnum,\n    ): number | null => {\n        if (!isNumber(a) || !isNumber(b)) {\n            return null;\n        }\n\n        return formatMoney(a + b, currency);\n    },\n    plus: (a: number | null | undefined, b: number | null | undefined, currency: CurrencyEnum): number => {\n        return formatMoney((a || 0) + (b || 0), currency);\n    },\n    plusWithFormat: (a: number | null | undefined, b: number | null | undefined, currency: CurrencyEnum): number => {\n        return formatMoney(formatMoney(a, currency) + formatMoney(b, currency), currency);\n    },\n    multiply: (a: number | null | undefined, b: number | null | undefined, currency: CurrencyEnum): number => {\n        return formatMoney((a || 0) * (b || 0), currency);\n    },\n};\n","import React, { CSSProperties } from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport noop from 'lodash/noop';\n\nimport styles from './FilterPill.scss';\nimport CloseIcon from 'common/icons/CloseIcon';\n\nconst cx = classNames.bind(styles);\n\nexport enum FilterPillThemeEnum {\n    brandDark = 'brandDark',\n    charcoal = 'charcoal',\n    brandAccent = 'brandAccent',\n    blazeOrange = 'blazeOrange',\n    tomatoRed = 'tomatoRed',\n    attention = 'attention',\n}\n\nexport type PropsT = {\n    className?: string;\n    style?: CSSProperties;\n    icon?: React.ReactNode;\n    label: React.ReactNode;\n    withCloser: boolean;\n    theme: FilterPillThemeEnum;\n    onClick: () => void;\n    testSelector?: string;\n    isCompact?: boolean;\n};\n\nconst FilterPill: React.FC<PropsT> = React.memo((props) => {\n    const { style, icon, label, withCloser, onClick, theme, className, isCompact, testSelector } = props;\n\n    const fullTestSelector = `${testSelector}_filter-pill`;\n\n    return (\n        <div\n            style={style}\n            className={cs(\n                cx('pill', {\n                    [`pill--theme-${theme}`]: true,\n                    'pill--is-compact': isCompact,\n                    'pill--has-icon': !!icon,\n                    'pill--is-full-clickable': !withCloser,\n                }),\n                className,\n            )}\n            onClick={withCloser ? noop : onClick}\n            data-test-selector={`${fullTestSelector}_label`}\n        >\n            {!!icon && (\n                <>\n                    <div\n                        className={cx('icon', {\n                            'icon--is-compact': isCompact,\n                        })}\n                    >\n                        {icon}\n                    </div>\n                    <div\n                        className={cx('icon-placeholder', {\n                            'icon-placeholder--is-compact': isCompact,\n                        })}\n                    />\n                </>\n            )}\n            <div\n                className={cx('label', {\n                    'label--is-compact': isCompact,\n                })}\n            >\n                {label}\n            </div>\n            {withCloser && (\n                <div\n                    className={cx('closer', {\n                        'closer--is-compact': isCompact,\n                    })}\n                    onClick={onClick}\n                    data-test-selector={`${fullTestSelector}_closer`}\n                >\n                    <CloseIcon fillColor=\"currentColor\" />\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default FilterPill;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './StatusChangedCard.scss';\nimport { Trans } from 'react-i18next';\nimport NotificationSubjectType from '../entities/NotificationSubjectType/NotificationSubjectType';\nimport { ApiNotificationSubjectTypeT } from 'common/utils/api/models';\nimport CityName from '../entities/CityName/CityName';\nimport SubjectLink from '../entities/SubjectLink/SubjectLink';\n\nconst cx = classNames.bind(styles);\n\nexport type StatusChangedNodePropsT = {\n    subjectType: ApiNotificationSubjectTypeT | null | undefined;\n    subjectNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n    actionType: ApiNotificationSubjectTypeT | null | undefined;\n    actionStatus: React.ReactNode;\n};\n\nconst ActionStatus: React.FC<{ actionStatus: React.ReactNode }> = ({ actionStatus }) => {\n    return <span className={cx('status')}>{actionStatus}</span>;\n};\nconst Action: React.FC<{ actionType: ApiNotificationSubjectTypeT | null | undefined }> = ({ actionType }) => (\n    <b className={cx('action')}>\n        <NotificationSubjectType isUppercase subjectType={actionType} />\n    </b>\n);\n\nconst StatusChangedCard: React.FC<StatusChangedNodePropsT> = React.memo((props) => {\n    const { subjectType, subjectNumber, originCity, destinationCity, actionStatus, actionType } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <div className={cx('message')}>\n                <Trans\n                    i18nKey=\"common:notifications.status-changed\"\n                    components={{\n                        subjectType: <NotificationSubjectType isCapitalized subjectType={subjectType} />,\n                        subjectLink: <SubjectLink number={subjectNumber} />,\n                        cityFrom: <CityName cityName={originCity} />,\n                        cityTo: <CityName cityName={destinationCity} />,\n                    }}\n                />\n            </div>\n            <div className={cx('description')}>\n                <Trans\n                    i18nKey=\"common:notifications.status-changed-2\"\n                    components={{\n                        subjectType: <Action actionType={actionType} />,\n                        status: <ActionStatus actionStatus={actionStatus} />,\n                    }}\n                />\n            </div>\n        </div>\n    );\n});\n\nexport default StatusChangedCard;\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('broker-users.teams.filters.pills.search', {\n                        value: queryFilters[QueryFiltersKeysEnum.searchText],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.searchText],\n            },\n            {\n                isMultiple: true,\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, index, isCompact) => {\n                    const userFullName = queryFilters[QueryFiltersKeysEnum.userFullNames]?.[index];\n\n                    return pillIconRendererMap.avatar(userFullName, isCompact);\n                },\n                render: (queryFilters, index) => {\n                    const userFullName = queryFilters[QueryFiltersKeysEnum.userFullNames]?.[index];\n\n                    return t('broker-users.teams.filters.pills.user', {\n                        value: userFullName,\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.userIds, QueryFiltersKeysEnum.userFullNames],\n            },\n            {\n                isMultiple: true,\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters, index) => {\n                    const partnerName = queryFilters[QueryFiltersKeysEnum.partnerNames]?.[index];\n\n                    return (\n                        <Trans\n                            i18nKey=\"broker-users.teams.filters.pills.business-partner\"\n                            values={{\n                                value: partnerName,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.partnerIds, QueryFiltersKeysEnum.partnerNames],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type UnassignAssetsConfirmationDataT = {\n    transportOrderId: TransportOrderIdT;\n};\n\ntype PropsT = {\n    data: UnassignAssetsConfirmationDataT | null;\n    onConfirm: (data: UnassignAssetsConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n    onCancel: () => void;\n    onClose: () => void;\n};\n\nconst TEST_SELECTOR = 'unassign-assets-confirmation';\n\nconst UnassignAssetsConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onConfirm, onCancel, onClose, requestStatus } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.clear'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('common:transport-order-details.dialogs.unassign-assets.title')}\n                    message={t('common:transport-order-details.dialogs.unassign-assets.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default UnassignAssetsConfirmation;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DictTrailerDropdown.scss';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\n\nimport { ApiTrailerDictTypeT, ApiTrailerTypeT } from 'common/utils/api/models';\nimport TrailerIcon, { TrailerIconProps } from 'common/icons/TrailerIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectTrailersDict, selectTrailersDictRequest } from 'common/store/trailers-dict/selectors';\nimport { useTranslation } from 'react-i18next';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport flatten from 'lodash/flatten';\n\nenum TrailerIconTypesEnum {\n    default = 'default',\n}\n\nconst cx = classNames.bind(styles);\n\nconst ICONS_MAP = {\n    [TrailerIconTypesEnum.default]: (\n        <TrailerIcon\n            fillColor={StyleGuideColorsEnum.brandAccent}\n            strokeColor={StyleGuideColorsEnum.brandDark}\n            size={DEFAULT_ICON_SIZE}\n        />\n    ),\n};\n\ntype OptionValueT = TrailerDictIdT | null;\n\ntype PropsT = {\n    selectedTrailerType?: ApiTrailerTypeT | null;\n    isShortLabel?: boolean;\n    placeholder?: string;\n    value: OptionValueT;\n    isDisabled?: boolean;\n    onChange: (value: OptionValueT) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n    overlayPosition?: DropdownOverlayPositionEnum;\n};\n\ntype TrailerDropdownOptionT = {\n    value: OptionValueT;\n    label: string;\n    iconType: TrailerIconTypesEnum;\n};\n\nconst DictTrailerDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        isShortLabel,\n        selectedTrailerType,\n        value,\n        placeholder,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasClearControl,\n        overlayPosition,\n    } = props;\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const trailersDict = useSelector(selectTrailersDict);\n    const fetchRequest = useSelector(selectTrailersDictRequest);\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const rawTrailerOptions = React.useMemo((): ApiTrailerDictTypeT[] => {\n        if (!selectedTrailerType) {\n            return flatten(Object.values(trailersDict || {}));\n        }\n\n        return trailersDict?.[selectedTrailerType as string] || [];\n    }, [trailersDict, selectedTrailerType]);\n\n    const trailerOptions = React.useMemo((): TrailerDropdownOptionT[] => {\n        return rawTrailerOptions.map((trailer) => ({\n            value: String(trailer.id) || null,\n            label: isShortLabel\n                ? trailer.model || ''\n                : t('common:trailer-subtype-template', {\n                      length: trailer.length,\n                      model: trailer.model,\n                      eur1Pallets: trailer.eur1Pallets,\n                      eur2Pallets: trailer.eur2Pallets,\n                  }),\n            iconType: TrailerIconTypesEnum.default,\n        }));\n    }, [rawTrailerOptions, t, isShortLabel]);\n\n    const renderTrigger = (option: TrailerDropdownOptionT | null | undefined): React.ReactElement | null => {\n        if (!option) {\n            return null;\n        }\n\n        return (\n            <div className={cx('option')} key={option.label}>\n                {option.label}\n            </div>\n        );\n    };\n\n    const renderOption = (option: TrailerDropdownOptionT | null | undefined): React.ReactElement | null => {\n        if (!option) {\n            return null;\n        }\n\n        return (\n            <div className={cx('option')} key={option.label}>\n                <div className={cx('option__icon')}>{ICONS_MAP[option.iconType]}</div>\n                <div className={cx('option__label')}>{option.label}</div>\n            </div>\n        );\n    };\n\n    const handleSelect = (value: OptionValueT): void => {\n        onChange(value);\n    };\n\n    const getOptionValue = (option: TrailerDropdownOptionT): OptionValueT => option.value;\n\n    return (\n        <DropdownInput<TrailerDropdownOptionT, OptionValueT>\n            selectedValue={value}\n            placeholder={placeholder}\n            options={trailerOptions}\n            onSelect={handleSelect}\n            isDisabled={isDisabled || !trailersDict}\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderLeftIcon={(iconMeta) => <TrailerIcon {...TrailerIconProps.getControlProps(iconMeta)} />}\n            renderRightIcon={() =>\n                fetchRequest.loading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n            }\n            testSelector=\"trailer\"\n            hasClearControl={hasClearControl}\n            onReset={() => {\n                onChange(null);\n            }}\n        />\n    );\n});\n\nexport default DictTrailerDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"navigation-tabs\":\"BaseDocumentsLayout__navigation-tabs___r6NMv\",\"fadeIn\":\"BaseDocumentsLayout__fadeIn___J9MAb\",\"blinking\":\"BaseDocumentsLayout__blinking___fBZQ_\"};","import React from 'react';\nimport { AssetServiceLocationContextT } from '../contexts/asset-service-location-context';\n\nconst useAssetServiceLocationContextValue = (): AssetServiceLocationContextT => {\n    const [location, setLocation] = React.useState<LocationT | null>(null);\n\n    return {\n        location,\n        setLocation,\n    };\n};\n\nexport { useAssetServiceLocationContextValue };\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { ContractDetailsChangesT, PartnerContractT } from './models';\nimport { ApiRevokePartnerContractInfoT } from 'common/utils/api/models';\n\nexport const UPLOAD_CARRIER_CONTRACT_REQUEST = 'common/carrier-contracts/UPLOAD_CARRIER_CONTRACT_REQUEST';\nexport const UPLOAD_CARRIER_CONTRACT_REQUEST_BEGIN = 'common/carrier-contracts/UPLOAD_CARRIER_CONTRACT_REQUEST_BEGIN';\nexport const UPLOAD_CARRIER_CONTRACT_REQUEST_ERROR = 'common/carrier-contracts/UPLOAD_CARRIER_CONTRACT_REQUEST_ERROR';\nexport const UPLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS =\n    'common/carrier-contracts/UPLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS';\n\nexport const DOWNLOAD_CARRIER_CONTRACT_REQUEST = 'common/carrier-contracts/DOWNLOAD_CARRIER_CONTRACT_REQUEST';\nexport const DOWNLOAD_CARRIER_CONTRACT_REQUEST_BEGIN =\n    'common/carrier-contracts/DOWNLOAD_CARRIER_CONTRACT_REQUEST_BEGIN';\nexport const DOWNLOAD_CARRIER_CONTRACT_REQUEST_ERROR =\n    'common/carrier-contracts/DOWNLOAD_CARRIER_CONTRACT_REQUEST_ERROR';\nexport const DOWNLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS =\n    'common/carrier-contracts/DOWNLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS';\n\nexport const FETCH_CARRIER_CONTRACTS_REQUEST = 'common/carrier-contracts/FETCH_CARRIER_CONTRACTS_REQUEST';\nexport const FETCH_CARRIER_CONTRACTS_REQUEST_BEGIN = 'common/carrier-contracts/FETCH_CARRIER_CONTRACTS_REQUEST_BEGIN';\nexport const FETCH_CARRIER_CONTRACTS_REQUEST_ERROR = 'common/carrier-contracts/FETCH_CARRIER_CONTRACTS_REQUEST_ERROR';\nexport const FETCH_CARRIER_CONTRACTS_REQUEST_SUCCESS =\n    'common/carrier-contracts/FETCH_CARRIER_CONTRACTS_REQUEST_SUCCESS';\n\nexport const APPROVE_CARRIER_CONTRACT_REQUEST = 'common/carrier-contracts/APPROVE_CARRIER_CONTRACT_REQUEST';\nexport const REJECT_CARRIER_CONTRACT_REQUEST = 'common/carrier-contracts/REJECT_CARRIER_CONTRACT_REQUEST';\nexport const REVOKE_CARRIER_CONTRACT_REQUEST = 'common/carrier-contracts/REVOKE_CARRIER_CONTRACT_REQUEST';\nexport const UPDATE_CARRIER_CONTRACT_REQUEST = 'common/carrier-contracts/UPDATE_CARRIER_CONTRACT_REQUEST';\nexport const UPDATE_CARRIER_CONTRACT_REQUEST_BEGIN = 'common/carrier-contracts/UPDATE_CARRIER_CONTRACT_REQUEST_BEGIN';\nexport const UPDATE_CARRIER_CONTRACT_REQUEST_ERROR = 'common/carrier-contracts/UPDATE_CARRIER_CONTRACT_REQUEST_ERROR';\nexport const UPDATE_CARRIER_CONTRACT_REQUEST_SUCCESS =\n    'common/carrier-contracts/UPDATE_CARRIER_CONTRACT_REQUEST_SUCCESS';\n\nexport type CarrierContractStateT = {\n    contracts: Array<PartnerContractT>;\n    fetchContractsRequest: RequestStatusT;\n    updateContractRequest: RequestStatusT;\n    uploadContractRequest: RequestStatusT;\n    downloadContractRequest: RequestStatusT;\n    updatingContractId: CarrierContractIdT | null;\n};\n\nexport type CarrierContractsStateT = Record<PartnerIdT, CarrierContractStateT>;\n\nexport type FetchCarrierContractsActionT = {\n    type: typeof FETCH_CARRIER_CONTRACTS_REQUEST;\n    partnerId: PartnerIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchCarrierContractsBeginActionT = {\n    type: typeof FETCH_CARRIER_CONTRACTS_REQUEST_BEGIN;\n    partnerId: PartnerIdT;\n};\n\nexport type FetchCarrierContractsSuccessActionT = {\n    type: typeof FETCH_CARRIER_CONTRACTS_REQUEST_SUCCESS;\n    partnerId: PartnerIdT;\n    partnerContracts: Array<PartnerContractT>;\n};\n\nexport type FetchCarrierContractsErrorActionT = {\n    type: typeof FETCH_CARRIER_CONTRACTS_REQUEST_ERROR;\n    error: Error;\n    partnerId: PartnerIdT;\n};\n\nexport type RevokeCarrierContractActionT = {\n    type: typeof REVOKE_CARRIER_CONTRACT_REQUEST;\n    partnerId: PartnerIdT;\n    contractId: CarrierContractIdT;\n    revokeInfo: ApiRevokePartnerContractInfoT;\n};\n\nexport type ApproveCarrierContractActionT = {\n    type: typeof APPROVE_CARRIER_CONTRACT_REQUEST;\n    partnerId: PartnerIdT;\n    contractId: CarrierContractIdT;\n    contractChanges: ContractDetailsChangesT;\n};\n\nexport type RejectCarrierContractActionT = {\n    type: typeof REJECT_CARRIER_CONTRACT_REQUEST;\n    partnerId: PartnerIdT;\n    contractId: CarrierContractIdT;\n    reason: string;\n};\n\nexport type UpdateCarrierContractActionT = {\n    type: typeof UPDATE_CARRIER_CONTRACT_REQUEST;\n    partnerId: PartnerIdT;\n    contractId: CarrierContractIdT;\n    contractChanges: ContractDetailsChangesT;\n};\n\nexport type UpdateCarrierContractBeginActionT = {\n    type: typeof UPDATE_CARRIER_CONTRACT_REQUEST_BEGIN;\n    partnerId: PartnerIdT;\n    updatingContractId: CarrierContractIdT | null;\n};\n\nexport type UpdateCarrierContractSuccessActionT = {\n    type: typeof UPDATE_CARRIER_CONTRACT_REQUEST_SUCCESS;\n    partnerId: PartnerIdT;\n};\n\nexport type UpdateCarrierContractErrorActionT = {\n    type: typeof UPDATE_CARRIER_CONTRACT_REQUEST_ERROR;\n    error: Error;\n    partnerId: PartnerIdT;\n};\n\nexport type UploadCarrierContractActionT = {\n    type: typeof UPLOAD_CARRIER_CONTRACT_REQUEST;\n    partnerId: PartnerIdT;\n    file: File;\n};\n\nexport type UploadCarrierContractBeginActionT = {\n    type: typeof UPLOAD_CARRIER_CONTRACT_REQUEST_BEGIN;\n    partnerId: PartnerIdT;\n};\n\nexport type UploadCarrierContractSuccessActionT = {\n    type: typeof UPLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS;\n    partnerId: PartnerIdT;\n};\n\nexport type UploadCarrierContractErrorActionT = {\n    type: typeof UPLOAD_CARRIER_CONTRACT_REQUEST_ERROR;\n    error: Error;\n    partnerId: PartnerIdT;\n};\n\nexport type DownloadCarrierContractActionT = {\n    type: typeof DOWNLOAD_CARRIER_CONTRACT_REQUEST;\n    contractId: CarrierContractIdT;\n    partnerId: PartnerIdT;\n};\n\nexport type DownloadCarrierContractBeginActionT = {\n    type: typeof DOWNLOAD_CARRIER_CONTRACT_REQUEST_BEGIN;\n    partnerId: PartnerIdT;\n};\n\nexport type DownloadCarrierContractSuccessActionT = {\n    type: typeof DOWNLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS;\n    partnerId: PartnerIdT;\n};\n\nexport type DownloadCarrierContractErrorActionT = {\n    type: typeof DOWNLOAD_CARRIER_CONTRACT_REQUEST_ERROR;\n    error: Error;\n    partnerId: PartnerIdT;\n};\n\nexport type CarrierContractsActionT =\n    | FetchCarrierContractsActionT\n    | FetchCarrierContractsBeginActionT\n    | FetchCarrierContractsSuccessActionT\n    | FetchCarrierContractsErrorActionT\n    | RevokeCarrierContractActionT\n    | ApproveCarrierContractActionT\n    | RejectCarrierContractActionT\n    | UploadCarrierContractActionT\n    | UploadCarrierContractBeginActionT\n    | UploadCarrierContractSuccessActionT\n    | UploadCarrierContractErrorActionT\n    | DownloadCarrierContractActionT\n    | DownloadCarrierContractBeginActionT\n    | DownloadCarrierContractSuccessActionT\n    | DownloadCarrierContractErrorActionT\n    | UpdateCarrierContractActionT\n    | UpdateCarrierContractBeginActionT\n    | UpdateCarrierContractSuccessActionT\n    | UpdateCarrierContractErrorActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"map\":\"RouteMap__map___CeYha\",\"marker\":\"RouteMap__marker___BSfBV\",\"fadeIn\":\"RouteMap__fadeIn___Mfqpi\",\"blinking\":\"RouteMap__blinking___WESDG\"};","import * as React from 'react';\nimport { ApiUserStatusT, UserStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status?: ApiUserStatusT | null | undefined;\n};\n\nexport const USER_STATUS_T_MAP: Record<ApiUserStatusT, string> = {\n    [UserStatusEnum.active]: 'common:user-status.ACTIVE',\n    [UserStatusEnum.pending]: 'common:user-status.PENDING',\n    [UserStatusEnum.archived]: 'common:user-status.ARCHIVED',\n};\n\nconst UserStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(USER_STATUS_T_MAP[status]);\n});\n\nexport default UserStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"InvoicesListPage__fadeIn___sX6sK\",\"blinking\":\"InvoicesListPage__blinking___w20Fp\"};","import { put, takeEvery } from 'redux-saga/effects';\nimport { FETCH_USER_REQUEST, PATCH_USER_REQUEST, PatchUserActionT } from './types';\nimport {\n    fetchUserBegin,\n    fetchUserError,\n    fetchUserSuccess,\n    patchUserBegin,\n    patchUserError,\n    patchUserSuccess,\n} from './actions';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport { signInSuccess, signOut } from 'common/store/auth/actions';\nimport { changeLanguage, LangEnum } from 'common/locales/i18n';\nimport i18n from 'i18next';\nimport { logWarning } from 'common/utils/logger';\nimport { convertToApiUserUpdate, patchUser } from 'common/store/user/utils';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { UserStatusEnum } from 'common/utils/api/models';\nimport { remoteLogger } from 'common/utils/logger-remote';\n\nexport function* forceRefreshCurrentUserSaga(): WrapGeneratorT<void> {\n    const [error, currentUser]: ReturnApiT<typeof commonTranziitApi.fetchCurrentUser> =\n        yield commonTranziitApi.fetchCurrentUser();\n    if (error) {\n        yield put(fetchUserError(error));\n        return;\n    }\n\n    if (!currentUser) {\n        logWarning('empty current error');\n        return;\n    }\n\n    yield put(fetchUserSuccess(currentUser));\n}\n\nfunction* fetchUserSaga(): WrapGeneratorT<void> {\n    yield put(fetchUserBegin());\n    const [error, currentUser]: ReturnApiT<typeof commonTranziitApi.fetchCurrentUser> =\n        yield commonTranziitApi.fetchCurrentUser();\n    if (error) {\n        yield put(fetchUserError(error));\n        return;\n    }\n\n    if (currentUser?.id) {\n        remoteLogger.addUserInfo({\n            id: currentUser.id,\n        });\n    }\n\n    if (currentUser?.language && currentUser?.language !== i18n.language) {\n        changeLanguage(currentUser?.language as LangEnum);\n    }\n\n    if (!currentUser) {\n        logWarning('empty current error');\n        return;\n    }\n\n    yield put(fetchUserSuccess(currentUser));\n\n    if (currentUser.status === UserStatusEnum.archived) {\n        yield put(signOut());\n    }\n}\n\nfunction* patchUserSaga(action: PatchUserActionT): WrapGeneratorT<void> {\n    const { authUser, user, changes } = action;\n    if (!authUser || !user) {\n        logWarning('empty firebaseUser and user');\n        return;\n    }\n\n    yield put(patchUserBegin());\n    if (changes.currentPassword && changes.newPassword) {\n        if (!authUser.email) {\n            logWarning('empty firebaseUser email!');\n            return;\n        }\n\n        const [reAuthError, newUser] = yield authApi.reauthenticateWithCredential(\n            authUser.email,\n            changes.currentPassword,\n        );\n        if (reAuthError) {\n            yield put(patchUserError(reAuthError));\n            return;\n        }\n\n        const [, authUserClaims]: ReturnApiT<typeof authApi.getAuthUserClaims> = yield authApi.getAuthUserClaims();\n\n        yield put(signInSuccess(newUser, authUserClaims));\n\n        const [changePasswordError] = yield authApi.changePassword(changes.newPassword);\n        if (changePasswordError) {\n            yield put(patchUserError(changePasswordError));\n            return;\n        }\n    }\n\n    const newDisplayName = `${changes.firstName} ${changes.lastName}`;\n    if (newDisplayName !== authUser.displayName) {\n        const [updateProfileError] = yield authApi.updateProfile(newDisplayName);\n        if (updateProfileError) {\n            yield put(patchUserError(updateProfileError));\n            return;\n        }\n    }\n\n    const patchedUser = patchUser(user, changes);\n    const patchedApiUserUpdate = convertToApiUserUpdate(patchedUser);\n\n    const [userPatchError]: ReturnApiT<typeof commonTranziitApi.patchUser> = yield commonTranziitApi.patchUser(\n        patchedApiUserUpdate,\n    );\n    if (userPatchError) {\n        yield put(patchUserError(userPatchError));\n        return;\n    }\n\n    yield put(patchUserSuccess(user, patchedApiUserUpdate));\n\n    if (changes.language !== user.language) {\n        changeLanguage(changes.language as LangEnum);\n    }\n}\n\nfunction* userSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_USER_REQUEST, fetchUserSaga);\n    yield takeEvery(PATCH_USER_REQUEST, patchUserSaga);\n}\n\nexport default userSaga;\n","import { ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { ContextRoutePointHashT } from 'broker-admin/store/order-edit/models';\n\nexport const getContextRoutePointHash = (stop: ApiTourUpdateStopDataT): ContextRoutePointHashT => {\n    return `#/${stop.type}/${stop.address?.latitude}/${stop.address?.longitude}`;\n};\n","import React, { useContext } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RouteEditForm.scss';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { MS_IN_HOUR, MS_IN_SEC } from 'common/utils/time';\n\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum, RoutePointFormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport { FormikContext, useFormik } from 'formik';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\n\nimport { fetchCountrySettingsDict } from 'common/store/country-settings-dict/actions';\nimport { selectCountrySettingsByCountryCode } from 'common/store/country-settings-dict/selectors';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport Checkbox, { CheckboxThemeEnum } from 'design-system/components/Checkbox/Checkbox';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport { EditOrderContextT, RoutePointTimeWindowT, RoutePointTypeEnum } from 'broker-admin/store/order-edit/models';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport EuroSymbolIcon from 'common/icons/EuroSymbolIcon';\nimport isNumber from 'lodash/isNumber';\nimport {\n    selectChangeContextError,\n    selectIsApplyingContextChanges,\n    selectOrderEditApplyContextRequest,\n    selectOrderEditCreateContextRequest,\n    selectOrderEditDeleteContextRequest,\n    selectOrderEditFakeSessionId,\n} from 'broker-admin/store/order-edit/selectors';\nimport PickupOrDeliveryRoutePointPicker from './PickupOrDeliveryRoutePointPicker/PickupOrDeliveryRoutePointPicker';\nimport DriveThroughRoutePointPicker from './DriveThroughRoutePointPicker/DriveThroughRoutePointPicker';\nimport { DividerWithDropdownControl } from 'design-system/components/DividerWithDropdownControl/DividerWithDropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport FormikFieldArray from 'common/components/forms/FormikFieldArray/FormikFieldArray';\nimport SplitIcon from 'common/icons/SplitIcon';\nimport {\n    checkIsAvailableRoutePoint,\n    checkIsAllowToUpdateAddress,\n    generatePointFakeId,\n    getRoutePointFieldName,\n    checkIsAllowToDelete,\n    checkIsAllowToUpdateTimeSlots,\n    getRoutePointTimeWindowHash,\n    getRoutePointHashFromValues,\n    getBeforeContextRoutePointHashes,\n} from './utils';\nimport {\n    applyOrderEditContextRequest,\n    changeContext,\n    reCreateOrderEditContextRequest,\n} from 'broker-admin/store/order-edit/slice';\nimport { getInitialValues } from './get-initial-values';\nimport keyBy from 'lodash/keyBy';\nimport { OnChangeRoutePointAddressT, OnChangeRoutePointTimeWindowT, OnDeleteRoutePointReserveT } from './models';\nimport DropAndHookRoutePointPicker from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/DropAndHookRoutePointPicker/DropAndHookRoutePointPicker';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { orderEditQueryModifyChannel } from 'broker-admin/store/order-edit/channels';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n    MapRoutePointT,\n    OnDragEndDnDCallbackT,\n    OnMapClickCallbackT,\n    SyncRouteEditFormMapStateContext,\n} from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/contexts/sync-map-state';\nimport { BoundPointT } from 'common/components/maps/MapBound/MapBound';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport getBoundingBox from 'common/utils/get-bounding-box';\nimport { isNonNil } from 'common/utils';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport get from 'lodash/get';\nimport FerryOnboardPointPicker from './FerryOnboardPointPicker/FerryOnboardPointPicker';\nimport FerryDisembarkPointPicker from './FerryDisembarkPointPicker/FerryDisembarkPointPicker';\nimport { getContextRoutePointHash } from 'broker-admin/store/order-edit/utils/get-context-route-point-hash';\nimport SyncPointsWatcher from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/SyncPointsWatcher/SyncPointsWatcher';\nimport { contextSyncPointsModifyChannel } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/hooks/use-sync-points-channels';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerOrderId: BrokerOrderIdT | null;\n    context: EditOrderContextT | null;\n    onCancel: () => void;\n};\n\nconst RouteEditForm: React.FC<PropsT> = (props) => {\n    const {\n        onCancel,\n        brokerOrderId,\n        context, // use context only for initialization!\n    } = props;\n\n    const fakeSessionId = useSelector(selectOrderEditFakeSessionId);\n\n    const createContextRequest = useSelector(selectOrderEditCreateContextRequest);\n    const deleteContextRequest = useSelector(selectOrderEditDeleteContextRequest);\n    const applyContextRequest = useSelector(selectOrderEditApplyContextRequest);\n    const isApplyingContextChanges = useSelector(selectIsApplyingContextChanges);\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const [isConfirmedSubmit, setIsConfirmedSubmitSubmit] = React.useState<boolean>(false);\n    const toggleIsConfirmedSubmit = React.useCallback(() => {\n        setIsConfirmedSubmitSubmit((isConfirmed) => !isConfirmed);\n    }, []);\n\n    const countriesSettingsByCode = useSelector(selectCountrySettingsByCountryCode);\n    React.useEffect(() => {\n        dispatch(fetchCountrySettingsDict());\n    }, [dispatch]);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) =>\n            validateForm(t, values, {\n                countriesSettingsByCode,\n            });\n    }, [t, countriesSettingsByCode]);\n\n    const contextId = context?.contextId || null;\n    const hasContext = !!context;\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(context);\n        const errors = validateForm(t, values, { countriesSettingsByCode });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasContext, contextId, fakeSessionId]);\n\n    const [isShowExpirationAlert, setIsShowExpirationAlert] = React.useState<boolean>(false);\n    const handleCloseExpirationAlert = React.useCallback(() => {\n        setIsShowExpirationAlert(false);\n    }, []);\n\n    const changeContextError = useSelector(selectChangeContextError);\n    const applyContextRequestError = applyContextRequest?.error || null;\n    React.useLayoutEffect(() => {\n        const error = changeContextError || applyContextRequestError || null;\n        if (\n            error &&\n            checkIsTranziitApiRequestError(error) &&\n            error?.subType === TranziitApiRequestErrorSubTypeEnum.brokerOrderEdit_ExpirationContext\n        ) {\n            setIsShowExpirationAlert(true);\n        }\n    }, [changeContextError, applyContextRequestError]);\n\n    const oldTourUpdateStopByHash = React.useMemo(() => {\n        const allStops =\n            context?.oldTourData?.flatMap((tour) => {\n                return tour?.stops || [];\n            }) || [];\n\n        return keyBy(allStops, (stop) => {\n            return getContextRoutePointHash(stop);\n        });\n    }, [context]);\n\n    const tourUpdateStopByHash = React.useMemo(() => {\n        const allStops =\n            context?.tours?.flatMap((tour) => {\n                return tour?.stops || [];\n            }) || [];\n\n        return keyBy(allStops, (stop) => {\n            return getContextRoutePointHash(stop);\n        });\n    }, [context]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            dispatch(applyOrderEditContextRequest({}));\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const routeValue = formik.values[FieldsEnum.route];\n\n    const syncMapStateContext = useContext(SyncRouteEditFormMapStateContext);\n    React.useEffect(() => {\n        const routePoints = routeValue.map((routePointValues, index): MapRoutePointT => {\n            const id = routePointValues[RoutePointFieldsEnum.fakePointId];\n            const contextRoutePointId = routePointValues[RoutePointFieldsEnum.contextRoutePointId];\n            const type = routePointValues[RoutePointFieldsEnum.type];\n            const location = routePointValues[RoutePointFieldsEnum.location];\n\n            const routePointHash = getRoutePointHashFromValues(type, location);\n            const tourUpdateStop = tourUpdateStopByHash[routePointHash] || null;\n\n            const isAllowUpdateAddress = checkIsAllowToUpdateAddress(tourUpdateStop);\n\n            const locationFieldName = `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.location}` as const;\n            const hasError = !!get(formik.errors, locationFieldName);\n\n            return {\n                id,\n                isNew: !contextRoutePointId,\n                type,\n                number: index + 1,\n                location,\n                isDraggable: isAllowUpdateAddress,\n                hasError,\n            };\n        });\n\n        syncMapStateContext.setMapRoutePoints(routePoints);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [tourUpdateStopByHash, routeValue, formik.errors]);\n\n    React.useEffect(() => {\n        const boundPoints: Array<BoundPointT> = [];\n\n        const initialRoute = initialValues[FieldsEnum.route] || [];\n\n        initialRoute?.forEach((mapRoutePoint) => {\n            boundPoints.push([mapRoutePoint?.location?.point?.lat, mapRoutePoint?.location?.point?.lng]);\n        });\n\n        syncMapStateContext?.onSetMapBoundingBox?.callback?.(boundPoints);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [initialValues, syncMapStateContext?.onSetMapBoundingBox]);\n\n    const { setFieldValue, values } = formik;\n\n    const onMapClickCallback: OnMapClickCallbackT = React.useCallback(\n        (location) => {\n            const route = values[FieldsEnum.route] || [];\n\n            const firstEmptyLocationRoutePointIndex = route.findIndex((routePoint) => {\n                return !checkIsAvailableRoutePoint(routePoint);\n            });\n\n            if (firstEmptyLocationRoutePointIndex === -1) {\n                return;\n            }\n\n            const locationFieldName =\n                `${FieldsEnum.route}.${firstEmptyLocationRoutePointIndex}.${RoutePointFieldsEnum.location}` as const;\n            setFieldValue(locationFieldName, location);\n\n            const typeFieldName =\n                `${FieldsEnum.route}.${firstEmptyLocationRoutePointIndex}.${RoutePointFieldsEnum.type}` as const;\n            const routePointType = getFieldFormValue(values, typeFieldName);\n\n            const preparedLocation = prepareLocation(location);\n            if (!preparedLocation) {\n                return;\n            }\n\n            const contextRoutePointHash = getRoutePointHashFromValues(routePointType, location);\n\n            dispatch(\n                changeContext({\n                    type: 'change-route-point-location',\n                    contextRoutePointHash,\n                    routePointType,\n                    address: preparedLocation,\n                    beforeContextRoutePointHashes: getBeforeContextRoutePointHashes(\n                        routeValue,\n                        firstEmptyLocationRoutePointIndex,\n                    ),\n                }),\n            );\n        },\n        [dispatch, values, setFieldValue, routeValue],\n    );\n\n    React.useEffect(() => {\n        syncMapStateContext?.setOnMapClickCallback({ callback: onMapClickCallback });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onMapClickCallback, syncMapStateContext?.setOnMapClickCallback]);\n\n    const onDragEndDnDCallback: OnDragEndDnDCallbackT = React.useCallback(\n        (id, location) => {\n            const routeValue = values[FieldsEnum.route] || [];\n\n            const index = routeValue?.findIndex((routePointValues) => {\n                return id === routePointValues[RoutePointFieldsEnum.fakePointId];\n            });\n\n            const prevLocation = routeValue[index]?.location || null;\n\n            const locationFieldName = `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.location}` as const;\n            setFieldValue(locationFieldName, location);\n\n            const typeFieldName = `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.type}` as const;\n            const routePointType = getFieldFormValue(values, typeFieldName);\n\n            const preparedLocation = prepareLocation(location);\n            if (!preparedLocation) {\n                return;\n            }\n\n            if (!routePointType) {\n                return;\n            }\n\n            const contextRoutePointHash = getRoutePointHashFromValues(routePointType, prevLocation);\n\n            dispatch(\n                changeContext({\n                    type: 'change-route-point-location',\n                    contextRoutePointHash,\n                    routePointType,\n                    address: preparedLocation,\n                    beforeContextRoutePointHashes: getBeforeContextRoutePointHashes(routeValue, index),\n                }),\n            );\n        },\n        [dispatch, values, setFieldValue],\n    );\n\n    React.useEffect(() => {\n        syncMapStateContext?.setOnDragEndDnDCallback({ callback: onDragEndDnDCallback });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onDragEndDnDCallback, syncMapStateContext?.setOnDragEndDnDCallback]);\n\n    const refreshOrderEditModifyHandler = React.useCallback(\n        (event: InferChannelEventT<typeof orderEditQueryModifyChannel>) => {\n            const formValuesChanges: Partial<FormValuesT> = {};\n\n            const oldRouteFormValues = formik.values[FieldsEnum.route];\n            let newRouteFormValues: typeof oldRouteFormValues = [];\n\n            if (!isEmpty(event?.correctedStops)) {\n                const correctedStopByHash = keyBy(event?.correctedStops, (stop) => {\n                    return getContextRoutePointHash(stop);\n                });\n\n                newRouteFormValues = oldRouteFormValues.map((routePointFormValues) => {\n                    const type = routePointFormValues[RoutePointFieldsEnum.type] || null;\n                    const location = routePointFormValues[RoutePointFieldsEnum.location] || null;\n                    const hash = getRoutePointHashFromValues(type, location);\n\n                    const correctedStop = correctedStopByHash[hash] || null;\n\n                    let correctedTimeWindow: RoutePointTimeWindowT | null = null;\n                    if (correctedStop?.correctedFrom && correctedStop?.correctedTo) {\n                        correctedTimeWindow = {\n                            start: correctedStop.correctedFrom,\n                            end: correctedStop.correctedTo,\n                        };\n                    }\n\n                    if (correctedTimeWindow) {\n                        return {\n                            ...routePointFormValues,\n                            [RoutePointFieldsEnum.timeWindow]: correctedTimeWindow,\n                        };\n                    }\n\n                    return routePointFormValues;\n                });\n\n                formValuesChanges[FieldsEnum.route] = newRouteFormValues;\n            }\n\n            if (!isEmpty(formValuesChanges)) {\n                formik.setValues((prevValues) => ({\n                    ...prevValues,\n                    ...formValuesChanges,\n                }));\n            }\n\n            const hasPointsCorrection = Boolean(event.correctedStops?.length);\n            if (hasPointsCorrection && event.correctedStops) {\n                contextSyncPointsModifyChannel.emit({\n                    correctedStops: event?.correctedStops,\n                    routeFormValues: newRouteFormValues,\n                    addedStopHashes: event?.addedStopHashes,\n                    deletedStopHashes: event?.deletedStopHashes,\n                    orderStopHashes: event?.orderStopHashes,\n                });\n            }\n        },\n        [formik],\n    );\n    useChannelSubscribe(orderEditQueryModifyChannel, refreshOrderEditModifyHandler);\n\n    const handleExpire = React.useCallback(() => {\n        setIsShowExpirationAlert(true);\n\n        dispatch(reCreateOrderEditContextRequest({ brokerOrderId }));\n    }, [dispatch, brokerOrderId]);\n\n    const oldTotalCost = context?.oldTourData?.[0]?.carrierEstimate?.totalCost;\n    const oldPricesList: Array<PriceDetailT | null> = React.useMemo(() => {\n        return [\n            {\n                iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                title: t('broker-order-route-edit.footer.prices.original-carrier-cost'),\n                price: oldTotalCost,\n            },\n        ];\n    }, [t, oldTotalCost]);\n\n    const newTotalCost = context?.newTotalCarrierEstimate?.totalCost;\n    const newPricesList: Array<PriceDetailT | null> = React.useMemo(() => {\n        return [\n            {\n                iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                title: t('broker-order-route-edit.footer.prices.new-carrier-cost'),\n                price: context?.newTotalCarrierEstimate?.totalCost,\n                priceDiff: isNumber(newTotalCost) && isNumber(oldTotalCost) ? newTotalCost - oldTotalCost : null,\n                isLoading: isApplyingContextChanges,\n            },\n        ];\n    }, [oldTotalCost, newTotalCost, isApplyingContextChanges, context?.newTotalCarrierEstimate?.totalCost, t]);\n\n    const isChangedShipperTimeSlots = React.useMemo(() => {\n        const route = values[FieldsEnum.route] || [];\n        return route.some((routePointValues) => {\n            const contextRoutePointId = routePointValues[RoutePointFieldsEnum.contextRoutePointId];\n            if (!contextRoutePointId) {\n                return false;\n            }\n\n            const type = routePointValues[RoutePointFieldsEnum.type];\n            const location = routePointValues[RoutePointFieldsEnum.location];\n            const routePointHash = getRoutePointHashFromValues(type, location);\n\n            const oldTourUpdateStop = oldTourUpdateStopByHash?.[routePointHash] || null;\n            if (!oldTourUpdateStop) {\n                return false;\n            }\n\n            return (\n                getRoutePointTimeWindowHash(\n                    oldTourUpdateStop?.originalDateTimeFrom,\n                    oldTourUpdateStop?.originalDateTimeTo,\n                ) !==\n                getRoutePointTimeWindowHash(\n                    routePointValues[RoutePointFieldsEnum.timeWindow]?.start,\n                    routePointValues[RoutePointFieldsEnum.timeWindow]?.end,\n                )\n            );\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [oldTourUpdateStopByHash, values, context]);\n\n    const isLoadingSubmit = createContextRequest.loading || applyContextRequest.loading || deleteContextRequest.loading;\n    const isDisabledSubmit =\n        isLoadingSubmit || isApplyingContextChanges || (isChangedShipperTimeSlots ? !isConfirmedSubmit : false);\n\n    const delayedFocusOnLocationInput = (pointIndex: number, id: string) => {\n        setTimeout(async () => {\n            const locationName = getRoutePointFieldName(pointIndex, RoutePointFieldsEnum.location);\n            const inputNodeSelector = `div[data-point-id=\"${id}\"] input[name=\"${locationName}\"]`;\n\n            let inputNode = null;\n            while (!inputNode) {\n                inputNode = document.querySelector(inputNodeSelector);\n\n                // @ts-expect-error\n                if (inputNode?.focus) {\n                    // @ts-expect-error\n                    inputNode?.focus();\n                }\n\n                const DELAY = MS_IN_SEC;\n                await new Promise<void>((resolve) => {\n                    setTimeout(() => {\n                        resolve();\n                    }, DELAY);\n                });\n            }\n        }, 0);\n    };\n\n    const handleManualSelectLocation = (location: LocationT | null, routePointIndex: number) => {\n        if (!location) {\n            return;\n        }\n\n        const route = formik.values[FieldsEnum.route] || [];\n\n        const currentLocations = route.map((routePointValues) => routePointValues[RoutePointFieldsEnum.location]);\n        currentLocations[routePointIndex] = location;\n\n        const points = currentLocations.map((location) => location?.point).filter(isNonNil);\n\n        const boundingBox = getBoundingBox(points);\n        syncMapStateContext?.onSetMapBoundingBox?.callback?.(boundingBox);\n    };\n\n    const handleChangeRoutePointAddress: OnChangeRoutePointAddressT = (\n        routePointIndex,\n        contextRoutePointHash,\n        changes,\n    ) => {\n        dispatch(\n            changeContext({\n                type: 'change-route-point-location',\n                contextRoutePointHash,\n                routePointType: changes.routePointType,\n                address: changes.address,\n                beforeContextRoutePointHashes: getBeforeContextRoutePointHashes(routeValue, routePointIndex),\n            }),\n        );\n    };\n\n    const handleChangeRoutePointTimeWindow: OnChangeRoutePointTimeWindowT = (\n        routePointIndex,\n        contextRoutePointHash,\n        changes,\n    ) => {\n        dispatch(\n            changeContext({\n                type: 'change-route-point-time-window',\n                contextRoutePointHash,\n                routePointType: changes.routePointType,\n                timeWindow: changes.timeWindow,\n                address: changes.address,\n                beforeContextRoutePointHashes: getBeforeContextRoutePointHashes(routeValue, routePointIndex),\n            }),\n        );\n    };\n\n    const handleRemoveRoutePointReserve: OnDeleteRoutePointReserveT = (routePointIndex, contextRoutePointHash) => {\n        dispatch(\n            changeContext({\n                type: 'delete-route-point',\n                contextRoutePointHash,\n            }),\n        );\n    };\n\n    const footerTopNode = React.useMemo(() => {\n        if (isShowExpirationAlert) {\n            return (\n                <Alert\n                    theme={AlertThemeEnum.orange}\n                    className={cx('context-expiration-alert')}\n                    icon={<InfoIcon fillColor={StyleGuideColorsEnum.white} />}\n                    size={AlertSizeEnum.medium}\n                    onClose={handleCloseExpirationAlert}\n                >\n                    <Trans i18nKey=\"broker-order-route-edit.validate-messages.context-expiration\" components={{}} />\n                </Alert>\n            );\n        }\n\n        return null;\n    }, [isShowExpirationAlert, handleCloseExpirationAlert]);\n\n    return (\n        <div className={cx('wrap')}>\n            <FormikContext.Provider value={formik}>\n                <form onSubmit={formik.handleSubmit}>\n                    <div className={cx('form')}>\n                        <FormikFieldArray<FormValuesT, typeof FieldsEnum.route> name={FieldsEnum.route}>\n                            {(values, formikArrayHelpers) => {\n                                const { remove, insert } = formikArrayHelpers;\n\n                                return (\n                                    <>\n                                        <SyncPointsWatcher formikArrayHelpers={formikArrayHelpers} />\n                                        {values.map((value, index) => {\n                                            const nextValue = values[index + 1] || null;\n\n                                            const isFirst = index === 0;\n                                            const isLast = index === values.length - 1;\n\n                                            const routePointType = value[RoutePointFieldsEnum.type];\n                                            const fakePointId = value[RoutePointFieldsEnum.fakePointId];\n\n                                            const location = value[RoutePointFieldsEnum.location];\n                                            const routePointHash = getRoutePointHashFromValues(\n                                                routePointType,\n                                                location,\n                                            );\n\n                                            const tourUpdateStop = tourUpdateStopByHash?.[routePointHash] || null;\n                                            const oldTourUpdateStop = oldTourUpdateStopByHash?.[routePointHash] || null;\n\n                                            const isAllowUpdateTimeWindows =\n                                                checkIsAllowToUpdateTimeSlots(tourUpdateStop);\n                                            const isAllowUpdateAddress = checkIsAllowToUpdateAddress(tourUpdateStop);\n                                            const isAllowRemove = checkIsAllowToDelete(tourUpdateStop);\n\n                                            const isBetweenOneFerryPoints =\n                                                nextValue?.type === RoutePointTypeEnum.ferryDisembark &&\n                                                value?.type === RoutePointTypeEnum.ferryOnboard;\n\n                                            const isShowAddPointControl = !isLast && !isBetweenOneFerryPoints;\n\n                                            return (\n                                                <>\n                                                    {routePointType === RoutePointTypeEnum.pickupOrDelivery && (\n                                                        <PickupOrDeliveryRoutePointPicker\n                                                            key={`point-${fakePointId}`}\n                                                            className={cx('route-point-fields')}\n                                                            isFirstRoutePointIndex={isFirst}\n                                                            isLastRoutePointIndex={isLast}\n                                                            routePointIndex={index}\n                                                            tourUpdateStop={tourUpdateStop}\n                                                            oldTourUpdateStop={oldTourUpdateStop}\n                                                            isAllowUpdateAddress={isAllowUpdateAddress}\n                                                            isAllowUpdateTimeWindows={isAllowUpdateTimeWindows}\n                                                            onChangeRoutePointAddress={handleChangeRoutePointAddress}\n                                                            onChangeRoutePointTimeWindow={\n                                                                handleChangeRoutePointTimeWindow\n                                                            }\n                                                            isAllowRemove={isAllowRemove}\n                                                            onRemove={(routePointIndex, contextRoutePointHash) => {\n                                                                handleRemoveRoutePointReserve(\n                                                                    routePointIndex,\n                                                                    contextRoutePointHash,\n                                                                );\n\n                                                                remove(index);\n                                                            }}\n                                                            onManualSelectLocation={handleManualSelectLocation}\n                                                        />\n                                                    )}\n                                                    {routePointType === RoutePointTypeEnum.dropAndHook && (\n                                                        <DropAndHookRoutePointPicker\n                                                            key={`point-${fakePointId}`}\n                                                            className={cx('route-point-fields')}\n                                                            routePointIndex={index}\n                                                            tourUpdateStop={tourUpdateStop}\n                                                            oldTourUpdateStop={oldTourUpdateStop}\n                                                            isAllowUpdateAddress={isAllowUpdateAddress}\n                                                            isAllowUpdateTimeWindows={isAllowUpdateTimeWindows}\n                                                            onChangeRoutePointAddress={handleChangeRoutePointAddress}\n                                                            onChangeRoutePointTimeWindow={\n                                                                handleChangeRoutePointTimeWindow\n                                                            }\n                                                            isAllowRemove={isAllowRemove}\n                                                            onRemove={(routePointIndex, routePointId) => {\n                                                                handleRemoveRoutePointReserve(\n                                                                    routePointIndex,\n                                                                    routePointId,\n                                                                );\n\n                                                                remove(index);\n                                                            }}\n                                                            onManualSelectLocation={handleManualSelectLocation}\n                                                        />\n                                                    )}\n                                                    {routePointType === RoutePointTypeEnum.driveThrough && (\n                                                        <DriveThroughRoutePointPicker\n                                                            key={`point-${fakePointId}`}\n                                                            className={cx('route-point-fields')}\n                                                            routePointIndex={index}\n                                                            tourUpdateStop={tourUpdateStop}\n                                                            oldTourUpdateStop={oldTourUpdateStop}\n                                                            isAllowUpdateAddress={isAllowUpdateAddress}\n                                                            onChangeRoutePointAddress={handleChangeRoutePointAddress}\n                                                            onManualSelectLocation={handleManualSelectLocation}\n                                                            isAllowRemove={isAllowRemove}\n                                                            onRemove={(routePointIndex, contextRoutePointHash) => {\n                                                                handleRemoveRoutePointReserve(\n                                                                    routePointIndex,\n                                                                    contextRoutePointHash,\n                                                                );\n                                                                remove(routePointIndex);\n                                                            }}\n                                                        />\n                                                    )}\n                                                    {routePointType === RoutePointTypeEnum.ferryOnboard && (\n                                                        <FerryOnboardPointPicker\n                                                            key={`point-${fakePointId}`}\n                                                            className={cx('route-point-fields')}\n                                                            routePointIndex={index}\n                                                        />\n                                                    )}\n                                                    {routePointType === RoutePointTypeEnum.ferryDisembark && (\n                                                        <FerryDisembarkPointPicker\n                                                            key={`point-${fakePointId}`}\n                                                            className={cx('route-point-fields')}\n                                                            routePointIndex={index}\n                                                        />\n                                                    )}\n                                                    {isShowAddPointControl && (\n                                                        <DividerWithDropdownControl\n                                                            key={`divider-with-dropdown-${index}`}\n                                                            className={cx('route-points-divider')}\n                                                            overlayPosition={DropdownOverlayPositionEnum.bottomCenter}\n                                                            tooltipNode={t(\n                                                                'broker-order-route-edit.waypoints-control.add-point',\n                                                            )}\n                                                            options={[\n                                                                {\n                                                                    label: (\n                                                                        <DropdownControlOptionLabel\n                                                                            icon={\n                                                                                <HollowCircleIcon\n                                                                                    borderColor={\n                                                                                        StyleGuideColorsEnum.charcoal\n                                                                                    }\n                                                                                />\n                                                                            }\n                                                                            label={t(\n                                                                                'broker-order-route-edit.waypoints-control.options.add-driver-through-point',\n                                                                            )}\n                                                                        />\n                                                                    ),\n                                                                    onSelect: () => {\n                                                                        const fakeId = generatePointFakeId();\n\n                                                                        const newRoutePoint: RoutePointFormValuesT = {\n                                                                            [RoutePointFieldsEnum.fakePointId]: fakeId,\n                                                                            [RoutePointFieldsEnum.contextRoutePointId]:\n                                                                                null,\n                                                                            [RoutePointFieldsEnum.type]:\n                                                                                RoutePointTypeEnum.driveThrough,\n                                                                            [RoutePointFieldsEnum.location]: null,\n                                                                            [RoutePointFieldsEnum.timeWindow]: null,\n                                                                        };\n\n                                                                        insert(index + 1, newRoutePoint);\n\n                                                                        delayedFocusOnLocationInput(index + 1, fakeId);\n                                                                    },\n                                                                },\n                                                                {\n                                                                    label: (\n                                                                        <DropdownControlOptionLabel\n                                                                            icon={\n                                                                                <SplitIcon\n                                                                                    fillColor={\n                                                                                        StyleGuideColorsEnum.blazeOrange\n                                                                                    }\n                                                                                />\n                                                                            }\n                                                                            label={t(\n                                                                                'broker-order-route-edit.waypoints-control.options.add-drop-and-hook-point',\n                                                                            )}\n                                                                        />\n                                                                    ),\n                                                                    onSelect: () => {\n                                                                        const fakeId = generatePointFakeId();\n\n                                                                        const newRoutePoint: RoutePointFormValuesT = {\n                                                                            [RoutePointFieldsEnum.fakePointId]: fakeId,\n                                                                            [RoutePointFieldsEnum.contextRoutePointId]:\n                                                                                null,\n                                                                            [RoutePointFieldsEnum.type]:\n                                                                                RoutePointTypeEnum.dropAndHook,\n                                                                            [RoutePointFieldsEnum.location]: null,\n                                                                            [RoutePointFieldsEnum.timeWindow]: null,\n                                                                        };\n\n                                                                        insert(index + 1, newRoutePoint);\n\n                                                                        delayedFocusOnLocationInput(index + 1, fakeId);\n                                                                    },\n                                                                },\n                                                            ]}\n                                                        />\n                                                    )}\n                                                </>\n                                            );\n                                        })}\n                                    </>\n                                );\n                            }}\n                        </FormikFieldArray>\n                    </div>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <FooterSideBarLayout hasPaddings hasShadow topNode={footerTopNode}>\n                        <div className={cx('footer-content')}>\n                            {isChangedShipperTimeSlots && (\n                                <>\n                                    <Alert\n                                        icon={\n                                            <TimeWindowIcon\n                                                fillColor={StyleGuideColorsEnum.white}\n                                                fillOpacity={0}\n                                                strokeColor={StyleGuideColorsEnum.white}\n                                            />\n                                        }\n                                        size={AlertSizeEnum.small}\n                                        theme={AlertThemeEnum.orange}\n                                        className={cx('change-shipper-time-windows-alert')}\n                                    >\n                                        {t('broker-order-route-edit.footer.alert')}\n                                    </Alert>\n                                    <Checkbox\n                                        className={cx('submit-confirmation')}\n                                        theme={CheckboxThemeEnum.orange}\n                                        checked={isConfirmedSubmit}\n                                        label={t('broker-order-route-edit.footer.submit-confirm')}\n                                        onChange={toggleIsConfirmedSubmit}\n                                    />\n                                </>\n                            )}\n                            <PriceDetails className={cx('old-prices')} list={oldPricesList} />\n                            <PriceDetails className={cx('new-prices')} list={newPricesList} />\n                            <div className={cx('actions')}>\n                                <Button.Container className={cx('action', 'action--assign')}>\n                                    <Button\n                                        isFullWidth\n                                        isCenterContent\n                                        theme={ButtonThemeEnum.primary}\n                                        isDisabled={isDisabledSubmit}\n                                        isLoading={isLoadingSubmit}\n                                        type=\"submit\"\n                                    >\n                                        {t('common:form-actions.save-and-close')}\n                                    </Button>\n                                    <Button.Timer\n                                        showTime={MS_IN_HOUR}\n                                        expireTime={context?.expireTime || null}\n                                        tooltipPosition={TooltipPositionEnum.topCenter}\n                                        tooltipMessage={t('broker-order-route-edit.time-left-to-accept-cost')}\n                                        onExpire={handleExpire}\n                                    />\n                                </Button.Container>\n                                <Button\n                                    theme={ButtonThemeEnum.secondary}\n                                    className={cx('action', 'action--cancel')}\n                                    onClick={onCancel}\n                                >\n                                    {t('common:form-actions.reset-changes')}\n                                </Button>\n                            </div>\n                        </div>\n                    </FooterSideBarLayout>\n                </form>\n            </FormikContext.Provider>\n        </div>\n    );\n};\n\nexport default RouteEditForm;\n","// extracted by mini-css-extract-plugin\nexport default {};","import { actionChannel, take } from 'redux-saga/effects';\nimport { buffers } from 'redux-saga';\n\nfunction* semaphoreSaga<ActionT extends { type: string }>(\n    actionType: ActionT['type'],\n    handleSaga: (action: ActionT) => WrapGeneratorT<void>,\n): WrapGeneratorT<void> {\n    const channel = yield actionChannel(actionType, buffers.expanding(10));\n    while (true) {\n        const action: ActionT = yield take(channel);\n        yield handleSaga(action);\n    }\n}\n\nexport { semaphoreSaga };\n","import * as React from 'react';\nimport DateCell from 'common/components/Table/cell-renderers/DateCell/DateCell';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './ExpireDateCell.scss';\nimport { CarrierContractStatusEnum } from 'common/utils/api/models';\nimport { useSelector } from 'react-redux';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport { ContractRowT } from '../../models';\nimport {\n    selectUpdateCarrierContractRequest,\n    selectUpdatingCarrierContractId,\n} from 'common/store/carrier-contracts/selectors';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    row: ContractRowT;\n    className?: string;\n    onSelectRow?: (row: ContractRowT) => void;\n};\n\nconst ExpireDateCell: React.FC<PropsT> = React.memo((props) => {\n    const { row, onSelectRow } = props;\n\n    const { t } = useTranslation();\n\n    const { partnerId } = usePartnerContext();\n\n    const permissions = useSelector(selectPermissions);\n\n    const updateContractRequest = useSelector(selectUpdateCarrierContractRequest(partnerId));\n    const updatingContractId = useSelector(selectUpdatingCarrierContractId(partnerId));\n\n    if (row?.id === updatingContractId && updateContractRequest.loading) {\n        return <ControlLoaderWithShadow fillColor={StyleGuideColorsEnum.light} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    if (permissions.canReviewCarrierContracts && row?.status === CarrierContractStatusEnum.waitingForApprove) {\n        return (\n            <ClickInterceptorLabel>\n                <Button\n                    className={cx('action')}\n                    theme={ButtonThemeEnum.secondary}\n                    onClick={() => {\n                        if (onSelectRow) {\n                            onSelectRow(row);\n                        }\n                    }}\n                >\n                    {t('common:carrier-contracts.table.actions.review')}\n                </Button>\n            </ClickInterceptorLabel>\n        );\n    }\n\n    return <DateCell className={cx('date')} date={row?.validTill} />;\n});\n\nexport default ExpireDateCell;\n","import { UnitTypeEnum } from 'common/constants';\nimport { ApiLocationAddressT } from 'mobile-app/src/utils/api/carrier-tranziit/models';\nimport { FormikTouched } from 'formik';\nimport { ApiOrderCreationReservePointTypeT } from 'common/utils/api/models';\n\nexport enum ShipmentFieldsEnum {\n    fakeId = 'fakeId',\n\n    pickUpPointId = 'pickUpPointId',\n    dropOffPointId = 'dropOffPointId',\n\n    cargoUnitsCount = 'cargoUnitsCount',\n    cargoUnitType = 'cargoUnitType',\n    cargoWeight = 'cargoWeight',\n    cargoTemperatureRange = 'cargoTemperatureRange',\n    cargoDescription = 'cargoDescription',\n\n    poNumber = 'poNumber',\n    pickUpReferenceNumber = 'pickUpReferenceNumber',\n    dropOffReferenceNumber = 'dropOffReferenceNumber',\n}\n\nexport enum PointContactsFieldsEnum {\n    companyName = 'companyName',\n    fullName = 'fullName',\n    email = 'email',\n    phoneNumber = 'phoneNumber',\n    comment = 'comment',\n}\n\nexport enum FieldsEnum {\n    shipments = 'shipments',\n    contacts = 'contacts',\n}\n\nexport type TemperatureRangeT = [number, number];\n\nexport type ShipmentFormValuesT = {\n    fakeId: string | null;\n    pickUpPointId: RoutePointIdT | null;\n    dropOffPointId: RoutePointIdT | null;\n    cargoUnitsCount: string;\n    cargoUnitType: UnitTypeEnum;\n    cargoWeight: string;\n    cargoTemperatureRange: TemperatureRangeT;\n    cargoDescription: string;\n    poNumber: string;\n    pickUpReferenceNumber: string;\n    dropOffReferenceNumber: string;\n};\n\nexport type PointContactsFormValuesT = {\n    companyName: string;\n    fullName: string;\n    email: string;\n    phoneNumber: string;\n    comment: string;\n};\n\nexport type FormValuesT = {\n    shipments: Array<ShipmentFormValuesT>;\n    contacts: Array<PointContactsFormValuesT>;\n};\n\nexport type FormErrorsT = Partial<{\n    shipments: Array<\n        Partial<{\n            fakeId: FormErrorMessageT;\n            pickUpPointId: FormErrorMessageT;\n            dropOffPointId: FormErrorMessageT;\n            cargoUnitsCount: FormErrorMessageT;\n            cargoUnitType: FormErrorMessageT;\n            cargoWeight: FormErrorMessageT;\n            cargoTemperatureRange: FormErrorMessageT;\n            cargoDescription: FormErrorMessageT;\n            poNumber: FormErrorMessageT;\n            pickUpReferenceNumber: FormErrorMessageT;\n            dropOffReferenceNumber: FormErrorMessageT;\n        }>\n    >;\n    contacts: Array<\n        Partial<{\n            companyName: FormErrorMessageT;\n            fullName: FormErrorMessageT;\n            email: FormErrorMessageT;\n            phoneNumber: FormErrorMessageT;\n            comment: FormErrorMessageT;\n        }>\n    >;\n}>;\n\nexport const CARGO_DETAILS_FORM_NAME = 'details-order-form/v1.3';\n\nexport type RoutePointT = {\n    id: RoutePointIdT;\n    index?: number;\n    type?: ApiOrderCreationReservePointTypeT;\n    address: ApiLocationAddressT | null;\n};\n\nexport type FormTouchedT = OverwriteT<\n    FormikTouched<FormValuesT>,\n    {\n        shipments?: Array<FormikTouched<ShipmentFormValuesT>>;\n        contacts?: Array<FormikTouched<PointContactsFormValuesT>>;\n    }\n>;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TrailerDropOffIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} className={className} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path fill={fillColor} fillOpacity=\"0.3\" d=\"M17 3v8l-1 1v2h-2l-3-2V3h6z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M11.182 13.462c1.45 0 2.625 1.197 2.625 2.671 0 1.474-1.175 2.67-2.625 2.67-.061 0-.122-.002-.182-.006l-.001-1.505a1.166 1.166 0 001.335-1.158A1.163 1.163 0 0011 14.977v-1.51c.061-.003.122-.006.183-.006zm6.266 1.999v.783h-2.93a2.969 2.969 0 00-.027-.783h2.957zM18 2v10.235h-.844v3.004h-2.7l-.13-.084c-.442-1.314-1.669-2.265-3.109-2.265-.073 0-.146.002-.218.007L11 11h5V4h-5V2h7zm-1.585 10.234h-.41v1.662h.41v-1.662zm-13.863.516h1.192V9c0-.412.338-.75.75-.75h3c.413 0 .75.338.75.75v3.75h1.193c.667 0 1.005.81.532 1.283l-3.442 3.442a.747.747 0 01-1.058 0l-3.442-3.443c-.473-.472-.143-1.282.525-1.282zm4.942-6.056a.752.752 0 00.75-.739V4a.752.752 0 00-.75-.75h-3a.752.752 0 00-.75.75v1.944c0 .413.338.75.75.75h3z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTrailerDropOffIcon.displayName = 'TrailerDropOffIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default TrailerDropOffIcon;\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getTrailerDropOffIconProps = (\n    preset:\n        | 'default'\n        | 'selected'\n        | 'assignment-events'\n        | 'assignment-error'\n        | 'assignment-normal'\n        | 'assignment-selected'\n        | 'assignment-input-normal'\n        | 'assignment-input-selected',\n): PropsT => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-input-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n        case 'assignment-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-error': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-events': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-input-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        default: {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n    }\n};\n","import { clientConfig } from 'common/utils/client-config';\n\nexport enum ClientFeatureEnum {\n    // start: debug features\n    errorDetails = 'error-details',\n    i18nLanguageSwitcher = 'local-switcher',\n    debugAlertForm = 'debug-alert-form',\n    debugNotificationsForm = 'debug-notifications-form',\n    partnerDrivers = 'partner-drivers',\n    showTraceId = 'show-trace-id',\n    showNotificationId = 'show-notification-id',\n    // end: debug features\n\n    // No implementation; hidden indefinitely for now\n    partnerInvoices = 'partner-invoices',\n    // Hidden by request; hidden indefinitely for now\n    assignmentExcludeCountries = 'assignment-exclude-countries',\n    // Waiting on payment gateway; hidden indefinitely for now\n    invoices = 'invoices',\n    // Waiting on payment gateway; hidden indefinitely for now\n    showStatusFiltersAfterPaid = 'show-status-filters-after-paid',\n\n    // Waiting for new functionality to be tested\n    brokerRfq = 'broker-rfq',\n    // Waiting for new functionality to be tested\n    newPapersAttachment = 'new-papers-attachment',\n    // Waiting for backend endpoint to be implemented\n    cancelServiceMaintenanceAssetScheduleSidebar = 'cancel-service-maintenance-asset-schedule-sidebar',\n}\n\nexport type ClientFeaturesConfigT = Partial<Record<ClientFeatureEnum, boolean>>;\n\nconst LOCAL_STORAGE_KEY = 'client-features/v1.1';\n\nexport const saveClientFeaturesConfig = (config: ClientFeaturesConfigT) => {\n    localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(config));\n};\n\nexport const getRawClientFeaturesConfig = (): string | null => {\n    return localStorage.getItem(LOCAL_STORAGE_KEY);\n};\n\nexport const setRawClientFeaturesConfig = (rawValue: string) => {\n    return localStorage.setItem(LOCAL_STORAGE_KEY, rawValue);\n};\n\nexport const clearClientFeaturesConfig = () => {\n    localStorage.removeItem(LOCAL_STORAGE_KEY);\n};\n\nconst defaultConfig: ClientFeaturesConfigT = clientConfig.isProduction\n    ? {\n          [ClientFeatureEnum.showTraceId]: true,\n      }\n    : {\n          [ClientFeatureEnum.errorDetails]: true,\n          [ClientFeatureEnum.partnerInvoices]: true,\n          [ClientFeatureEnum.partnerDrivers]: true,\n          [ClientFeatureEnum.newPapersAttachment]: true,\n          [ClientFeatureEnum.showTraceId]: true,\n          [ClientFeatureEnum.brokerRfq]: true,\n      };\n\nexport const getClientFeaturesConfig = (): ClientFeaturesConfigT => {\n    const parsedConfig = JSON.parse(localStorage.getItem(LOCAL_STORAGE_KEY) || '{}');\n\n    return {\n        ...defaultConfig,\n        ...parsedConfig,\n    };\n};\n","import React from 'react';\n\nexport type SyncAssetScheduleContextValueT = {\n    truckId: TruckIdT | null;\n    setTruckId: (truckId: TruckIdT | null) => void;\n};\n\nconst SyncAssetScheduleContext = React.createContext<SyncAssetScheduleContextValueT>({\n    truckId: null,\n    setTruckId: () => {},\n});\n\nexport { SyncAssetScheduleContext };\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './SpotRequestDetails.scss';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { useTranslation } from 'react-i18next';\nimport RouteLocationsOverview from 'common/components/entity-details/RouteLocationsOverview/RouteLocationsOverview';\nimport ExcludedCountries from 'common/components/entity-details/ExcludedCountries/ExcludedCountries';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { ApiStopTypeT, PartnerTypeEnum, StopTypeEnum } from 'common/utils/api/models';\nimport { selectSpotRequestDetails } from 'broker-admin/store/spot-request-details/selectors';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport ContactIcon from 'common/icons/ContactIcon';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport CarrierIcon from 'common/icons/CarrierIcon';\nimport CommentIcon from 'common/icons/CommentIcon';\nimport LayoverIcon from 'common/icons/LayoverIcon';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport { convertSecToHours, formatDate, formatTimeInterval } from 'common/utils/time';\nimport TeamDrivePill from 'common/components/status-pill/TeamDrivePill/TeamDrivePill';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { convertToKm } from 'common/utils/distance';\nimport { ApiSpotStopT, SpotBidT, SpotRequestStatusEnum } from 'broker-admin/utils/api/spot-broker-tranziit/models';\n\nimport Bids from 'broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/Bids/Bids';\nimport ShipperIcon from 'common/icons/ShipperIcon';\nimport ShipperPriceOfferInfoTable from 'common/components/info-tables/ShipperPriceOfferInfoTable/ShipperPriceOfferInfoTable';\nimport CarrierCostPriceInfoTable from 'broker-admin/components/info-tables/CarrierCostPriceInfoTable/CarrierCostPriceInfoTable';\nimport { isNonNil } from 'common/utils';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport ShipmentDetailsCard from './ShipmentDetailsCard/ShipmentDetailsCard';\nimport SpotRequestDetailsTabs from './SpotRequestDetailsTabs/SpotRequestDetailsTabs';\nimport { SpotDetailsTabEnum } from 'broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/models';\nimport EmissionClassFormatter from 'design-system/components/InfoTable/formatters/EmissionClassFormatter/EmissionClassFormatter';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport Card from 'design-system/components/Card/Card';\nimport keyBy from 'lodash/keyBy';\nimport SimpleTrailerTypeFormatter from 'common/components/InfoTable/formatters/SimpleTrailerTypeFormatter/SimpleTrailerTypeFormatter';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport { TFunction } from 'i18next';\nimport CaseIcon from 'common/icons/CaseIcon';\n\ntype PropsT = {\n    id: SpotRequestIdT;\n    isDisabledSelectBid?: boolean;\n    selectedBidId: BidIdT | null;\n    onSelectBid: (bid: SpotBidT) => void;\n    onOpenUserDetails: (params: {\n        partnerType: PartnerTypeEnum;\n        partnerId: PartnerIdT;\n        userId: UserIdT | null;\n    }) => void;\n};\n\nconst renderWaypointName = (t: TFunction, stop: ApiSpotStopT | null | undefined) => {\n    if (!stop) {\n        return null;\n    }\n\n    switch (stop.type) {\n        case StopTypeEnum.ferryOnboard: {\n            return t('spot-request-details.details.ferry-onboard');\n        }\n        case StopTypeEnum.ferryDisembark: {\n            return t('spot-request-details.details.ferry-disembark');\n        }\n        default: {\n            return t('spot-request-details.details.waypoint', {\n                number: (stop?.index || 0) + 1,\n            });\n        }\n    }\n};\n\nconst renderWaypointStopIcon = (stop: ApiSpotStopT) => {\n    if (stop.type === StopTypeEnum.ferryDisembark || stop.type === StopTypeEnum.ferryOnboard) {\n        return (\n            <BoatIcon\n                size={DEFAULT_ICON_SIZE}\n                strokeColor={StyleGuideColorsEnum.gray}\n                fillColor={StyleGuideColorsEnum.light}\n            />\n        );\n    }\n\n    return (\n        <NumberIcon\n            number={(stop.index || 0) + 1}\n            fillColor={\n                stop?.type === StopTypeEnum.driveThrough ? StyleGuideColorsEnum.gray : StyleGuideColorsEnum.charcoal\n            }\n        />\n    );\n};\n\nconst detailedWaypointStopTypeSet = new Set<ApiStopTypeT>([StopTypeEnum.pickupDeliveryShipment]);\n\nconst cx = classNames.bind(styles);\n\nconst PLACED_DATE_FORMAT = 'DD MMM YYYY, HH:mm';\nconst EXPIRES_DATE_FORMAT = 'DD MMM YYYY, HH:mm';\n\nconst SpotRequestDetails: React.FC<PropsT> = React.memo((props) => {\n    const { id, selectedBidId, isDisabledSelectBid, onSelectBid, onOpenUserDetails } = props;\n\n    const [selectedTab, setSelectedTab] = React.useState<SpotDetailsTabEnum | null>(SpotDetailsTabEnum.details);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const { details } = useSelector(selectSpotRequestDetails(id));\n\n    const stopById = React.useMemo(() => {\n        return keyBy(details?.stops, 'id');\n    }, [details]);\n\n    const { t } = useTranslation();\n\n    const entriesInfoTableRows = React.useMemo((): Array<InfoTableRowT> => {\n        const shipper = details?.shipper || null;\n\n        return [\n            {\n                icon: <ShipperIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('spot-request-details.details.shipper'),\n                value: shipper ? (\n                    <Link\n                        to={urlFactory.partnerDetails(PartnerTypeEnum.shipper, shipper.id)}\n                        theme={LinkThemeEnum.boldBrandDark}\n                    >\n                        {shipper.name}\n                    </Link>\n                ) : null,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                testSelector: 'shipper',\n                rows: [\n                    {\n                        icon: null,\n                        name: t('spot-request-details.details.broker-order-id'),\n                        value: details?.orderId ? (\n                            <Link\n                                to={urlFactory.brokerOrderDetails(details?.orderId)}\n                                theme={LinkThemeEnum.boldBrandDark}\n                            >\n                                {details?.orderNumber}\n                            </Link>\n                        ) : null,\n                        emptyValue: t('common:info-table.placeholders.empty'),\n                        isBoldValue: true,\n                        testSelector: 'dispatch',\n                    },\n                ],\n            },\n        ].filter(isNonNil);\n    }, [t, details]);\n\n    const entriesInfoTableRows2 = React.useMemo((): Array<InfoTableRowT> => {\n        const carrier = details?.carrier || null;\n        const transportationOrderId = details?.transportationOrderId || null;\n\n        return [\n            {\n                icon: <CarrierIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('spot-request-details.details.carrier'),\n                value: carrier ? (\n                    <Link\n                        to={urlFactory.partnerDetails(PartnerTypeEnum.carrier, carrier.id)}\n                        theme={LinkThemeEnum.boldBrandDark}\n                    >\n                        {carrier.name}\n                    </Link>\n                ) : null,\n                emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n                isBoldValue: true,\n                testSelector: 'carrier',\n                rows: [\n                    transportationOrderId && carrier\n                        ? {\n                              icon: (\n                                  <CaseIcon\n                                      size={DEFAULT_ICON_SIZE}\n                                      strokeColor={StyleGuideColorsEnum.gray}\n                                      fillColor={StyleGuideColorsEnum.light}\n                                  />\n                              ),\n                              name: t('spot-request-details.details.transport-order'),\n                              value: (\n                                  <Link\n                                      to={urlFactory.partnerTransportOrderDetails(\n                                          PartnerTypeEnum.carrier,\n                                          carrier.id,\n                                          transportationOrderId,\n                                      )}\n                                      theme={LinkThemeEnum.boldBrandDark}\n                                  >\n                                      {details?.transportationOrderNumber}\n                                  </Link>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.empty'),\n                              isBoldValue: true,\n                              testSelector: 'transport-order',\n                          }\n                        : null,\n                ],\n            },\n        ].filter(isNonNil);\n    }, [t, details]);\n\n    const spotInfoTableRows = React.useMemo((): Array<InfoTableRowT> => {\n        const carrier = details?.carrier || null;\n        const createdBy = details?.createdBy || null;\n\n        return [\n            {\n                icon: (\n                    <CalendarIcon\n                        size={DEFAULT_ICON_SIZE}\n                        fillColor={StyleGuideColorsEnum.light}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                    />\n                ),\n                name: t('spot-request-details.details.created'),\n                value: formatDate(PLACED_DATE_FORMAT, details?.placedOn),\n                emptyValue: t('common:info-table.placeholders.empty'),\n                isBoldValue: true,\n                testSelector: 'created',\n                rows: [\n                    {\n                        icon: (\n                            <ContactIcon\n                                fillColor={StyleGuideColorsEnum.light}\n                                strokeColor={StyleGuideColorsEnum.gray}\n                            />\n                        ),\n                        name: t('spot-request-details.details.author'),\n                        value:\n                            carrier && createdBy ? (\n                                <Link\n                                    onClick={() => {\n                                        onOpenUserDetails({\n                                            partnerType: PartnerTypeEnum.carrier,\n                                            partnerId: carrier.id,\n                                            userId: createdBy.id,\n                                        });\n                                    }}\n                                    theme={LinkThemeEnum.boldBrandDark}\n                                >\n                                    {createdBy?.fullName}\n                                </Link>\n                            ) : null,\n                        emptyValue: t('common:info-table.placeholders.empty'),\n                        isBoldValue: true,\n                        testSelector: 'author',\n                    },\n                    {\n                        icon: (\n                            <TimeWindowIcon\n                                fillColor={StyleGuideColorsEnum.light}\n                                strokeColor={StyleGuideColorsEnum.gray}\n                            />\n                        ),\n                        name: t('spot-request-details.details.expiration'),\n                        value: formatDate(EXPIRES_DATE_FORMAT, details?.expiresAt),\n                        emptyValue: t('common:info-table.placeholders.empty'),\n                        isBoldValue: true,\n                        testSelector: 'expiration',\n                    },\n                ],\n            },\n        ];\n    }, [t, details, onOpenUserDetails]);\n\n    const shipmentInfoTableRows = React.useMemo((): Array<InfoTableRowT> => {\n        return [\n            details?.carrierCost?.layover?.totalSeconds\n                ? {\n                      icon: (\n                          <LayoverIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />\n                      ),\n                      name: t('spot-request-details.details.layover'),\n                      value: (\n                          <UnitTypeCount\n                              type={UnitTypeEnum.hoursAbbreviation}\n                              count={convertSecToHours(details?.carrierCost?.layover?.totalSeconds || 0)}\n                          />\n                      ),\n                      isBoldValue: true,\n                      testSelector: 'layover',\n                      hasBottomBorder: true,\n                  }\n                : null,\n            {\n                icon: <RouteIcon fillColor={StyleGuideColorsEnum.gray} />,\n                name: t('spot-request-details.details.distance'),\n                value: (\n                    <UnitTypeCount\n                        type={UnitTypeEnum.kilometersAbbreviation}\n                        count={convertToKm(details?.priceOffer?.distances?.totalDistance)}\n                    />\n                ),\n                rightNode: details?.teamDrive ? <TeamDrivePill /> : null,\n                isBoldValue: true,\n                testSelector: 'distance',\n                hasBottomBorder: true,\n            },\n            {\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                    />\n                ),\n                name: t('spot-request-details.details.trailer-type'),\n                value: <SimpleTrailerTypeFormatter trailerDictType={details?.trailerInfo} />,\n                isBoldValue: true,\n                testSelector: 'trailer',\n                hasBottomBorder: true,\n            },\n            {\n                icon: <EmissionIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('spot-request-details.details.emission'),\n                value: <EmissionClassFormatter emissionClass={details?.emissionClass} />,\n                isBoldValue: true,\n                testSelector: 'emission',\n            },\n        ].filter(isNonNil);\n    }, [t, details]);\n\n    const bids = React.useMemo((): SpotBidT[] => {\n        return details?.bids || [];\n    }, [details]);\n\n    const firstShipment = details?.shipments?.[0] || null;\n    const commentTableRows = useMemo(() => {\n        return [\n            {\n                icon: <CommentIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('spot-request-details.details.comments'),\n                value: firstShipment?.description,\n                isBoldValue: true,\n                testSelector: 'comments',\n                emptyValue: t('common:info-table.placeholders.empty'),\n            },\n        ];\n    }, [firstShipment, t]);\n\n    const renderStop = (stop: ApiSpotStopT, index: number) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: renderWaypointStopIcon(stop),\n                name: renderWaypointName(t, stop),\n                value: <LocationLabel format=\"s1_s2_zip_city_country\" location={stop?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [\n                    ...(detailedWaypointStopTypeSet.has(stop.type)\n                        ? [\n                              {\n                                  icon: null,\n                                  name: t('spot-request-details.details.time-slots'),\n                                  value: formatTimeInterval(stop?.timeSlotFrom, stop?.timeSlotTo),\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  testSelector: 'date-time',\n                                  hasBottomBorder: true,\n                              },\n                              {\n                                  icon: null,\n                                  name: t('spot-request-details.details.company-name'),\n                                  value: stop?.contact?.companyName,\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  testSelector: 'contact-company-name',\n                                  hasBottomBorder: true,\n                              },\n                              {\n                                  icon: null,\n                                  name: t('spot-request-details.details.contact-name'),\n                                  value: stop?.contact?.fullName,\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  testSelector: 'contact-name',\n                                  hasBottomBorder: true,\n                              },\n                              {\n                                  icon: null,\n                                  name: t('spot-request-details.details.contact-phone'),\n                                  value: stop?.contact?.phone,\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  testSelector: 'contact-phone',\n                                  hasBottomBorder: true,\n                              },\n                              {\n                                  icon: null,\n                                  name: t('spot-request-details.details.contact-email'),\n                                  value: stop?.contact?.email,\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  testSelector: 'contact-email',\n                                  hasBottomBorder: true,\n                              },\n                              {\n                                  icon: null,\n                                  name: t('spot-request-details.details.comments'),\n                                  value: stop?.contact?.comment,\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  testSelector: 'contact-comment',\n                              },\n                          ]\n                        : []),\n                ],\n            },\n        ];\n\n        return (\n            <InfoTable\n                key={index}\n                shouldRenderIcons\n                className={cx('table')}\n                rows={rows}\n                testSelector={`waypoint-${index}`}\n            />\n        );\n    };\n\n    const isShowStatus =\n        details?.status !== SpotRequestStatusEnum.canceled && details?.status !== SpotRequestStatusEnum.assigned;\n\n    const stops = details?.stops || [];\n    const firstStop = stops[0] || null;\n    const lastStop = stops[stops.length - 1] || null;\n\n    return (\n        <>\n            <div className={cx('container')}>\n                <SpotRequestDetailsTabs\n                    className={cx('tabs')}\n                    isShowStatus={isShowStatus}\n                    details={details}\n                    selectedTab={selectedTab}\n                    onSelectTab={setSelectedTab}\n                />\n                {selectedTab === SpotDetailsTabEnum.details && (\n                    <>\n                        <RouteLocationsOverview\n                            className={cx('route')}\n                            origin={firstStop?.address}\n                            pickupDockingHoursFrom={firstStop?.timeSlotFrom}\n                            pickupDockingHoursTo={firstStop?.timeSlotTo}\n                            destination={lastStop?.address}\n                            dropOffDockingHoursFrom={lastStop?.timeSlotFrom}\n                            dropOffDockingHoursTo={lastStop?.timeSlotTo}\n                        />\n                        <ExcludedCountries\n                            className={cx('excluded-countries')}\n                            titleNode={t('common:entity-details.excluded-countries.title')}\n                            countryCodes={details?.prohibitedCountries || []}\n                            tooltipNode={t('common:entity-details.excluded-countries.tooltip')}\n                        />\n                        <InfoTable\n                            shouldRenderIcons\n                            className={cx('table')}\n                            rows={entriesInfoTableRows}\n                            testSelector=\"entries-details\"\n                        />\n                        <InfoTable\n                            shouldRenderIcons\n                            className={cx('table')}\n                            rows={entriesInfoTableRows2}\n                            testSelector=\"entries-details-2\"\n                        />\n                        <InfoTable\n                            shouldRenderIcons\n                            className={cx('table')}\n                            rows={spotInfoTableRows}\n                            testSelector=\"entries-details\"\n                        />\n                        <InfoTable\n                            shouldRenderIcons\n                            className={cx('table')}\n                            rows={commentTableRows}\n                            testSelector=\"entries-details\"\n                        />\n                    </>\n                )}\n                <ShipperPriceOfferInfoTable\n                    className={cx('table')}\n                    totalPriceLabel={t('spot-request-details.details.shipper-prices')}\n                    totalPriceTooltip={t('spot-request-details.placeholders.shipper-prices')}\n                    hasContract={details?.hasShipperContract}\n                    totalPrice={details?.priceOffer?.totalPrice}\n                    teamDriveCost={details?.priceOffer?.teamDriveCost}\n                    travelHours={details?.priceOffer?.teamDriveHours}\n                    lineHaulCost={details?.priceOffer?.lineHaul}\n                    co2={details?.priceOffer?.co2}\n                    tollCost={details?.priceOffer?.toll?.totalCost}\n                    tollByRoadType={details?.priceOffer?.toll?.byRoadType}\n                    tranziitServiceFee={details?.priceOffer?.serviceFee}\n                    layoverCost={details?.priceOffer?.layover?.totalCost}\n                    layoverSeconds={details?.priceOffer?.layover?.totalSeconds}\n                    layoverPaidHours={details?.priceOffer?.layover?.paidHours}\n                    fuelDetails={details?.priceOffer?.fuel}\n                    additionalServiceItems={details?.priceOffer?.additionalServices?.items}\n                    appliedRules={details?.priceOffer?.appliedRules}\n                    shouldAlwaysRenderExpandTrigger\n                />\n                <div className={cx('separator')} />\n                <CarrierCostPriceInfoTable\n                    className={cx('table')}\n                    totalPrice={details?.carrierEstimatedCost?.totalCost}\n                    totalPriceLabel={t('spot-request-details.details.estimate-carrier-cost')}\n                    totalPriceTooltip={t('spot-request-details.placeholders.estimate-carrier-cost')}\n                    lineHaulCost={details?.carrierEstimatedCost?.lineHaul}\n                    tollCost={details?.carrierEstimatedCost?.toll?.totalCost}\n                    tollByRoadType={details?.carrierEstimatedCost?.toll?.byRoadType}\n                    co2={details?.carrierEstimatedCost?.co2}\n                    layoverCost={details?.carrierEstimatedCost?.layover?.totalCost}\n                    layoverSeconds={details?.carrierEstimatedCost?.layover?.totalSeconds}\n                    layoverPaidHours={details?.carrierEstimatedCost?.layover?.paidHours}\n                    fuelDetails={details?.carrierEstimatedCost?.fuel}\n                    teamDriveCost={details?.carrierEstimatedCost?.teamDriveCost}\n                    travelHours={details?.carrierEstimatedCost?.teamDriveHours}\n                    additionalServiceItems={details?.carrierEstimatedCost?.additionalServices?.items}\n                    appliedRules={details?.carrierEstimatedCost?.appliedRules}\n                    testSelector=\"estimate-carrier-cost\"\n                    shouldAlwaysRenderExpandTrigger\n                />\n                <div className={cx('separator')} />\n                <CarrierCostPriceInfoTable\n                    className={cx('table')}\n                    totalPrice={details?.carrierCost?.totalCost}\n                    totalPriceLabel={t('spot-request-details.details.carrier-cost')}\n                    totalPriceTooltip={t('spot-request-details.placeholders.carrier-cost')}\n                    lineHaulCost={details?.carrierCost?.lineHaul}\n                    tollCost={details?.carrierCost?.toll?.totalCost}\n                    tollByRoadType={details?.carrierCost?.toll?.byRoadType}\n                    co2={details?.carrierCost?.co2}\n                    layoverCost={details?.carrierCost?.layover?.totalCost}\n                    layoverSeconds={details?.carrierCost?.layover?.totalSeconds}\n                    layoverPaidHours={details?.carrierCost?.layover?.paidHours}\n                    fuelDetails={details?.carrierCost?.fuel}\n                    teamDriveCost={details?.carrierCost?.teamDriveCost}\n                    travelHours={details?.carrierCost?.teamDriveHours}\n                    additionalServiceItems={details?.carrierCost?.additionalServices?.items}\n                    appliedRules={details?.carrierCost?.appliedRules}\n                    testSelector=\"carrier-cost\"\n                    shouldAlwaysRenderExpandTrigger\n                />\n                {selectedTab === SpotDetailsTabEnum.details && (\n                    <>\n                        <InfoTable\n                            className={cx('table')}\n                            shouldRenderIcons\n                            rows={shipmentInfoTableRows}\n                            testSelector=\"shipment-details\"\n                        />\n                        {!!stops?.length && (\n                            <Card\n                                className={cx('waypoint-card')}\n                                titleNode={t('spot-request-details.cards.route')}\n                                rightNode={\n                                    <PillLabel theme={PillLabelThemeEnum.slate} isSymmetrical>\n                                        {t('spot-request-details.waypoint-counts', {\n                                            number: stops.length,\n                                        })}\n                                    </PillLabel>\n                                }\n                                hasHeaderBottomBorder\n                            >\n                                <div>\n                                    {stops?.map((stop, index) => {\n                                        return renderStop(stop, index);\n                                    })}\n                                </div>\n                            </Card>\n                        )}\n                        {details?.shipments?.map((shipment, index) => {\n                            return (\n                                <ShipmentDetailsCard\n                                    key={`shipment-details-card-${index}`}\n                                    className={cx('shipment-card')}\n                                    isReeferTrailer={!!details?.trailerInfo?.reefer}\n                                    shipmentNumber={index + 1}\n                                    shipment={shipment}\n                                    pickUpStop={stopById?.[shipment?.pickupPointId] || null}\n                                    dropOffStop={stopById?.[shipment?.dropOffPointId] || null}\n                                    keyboardShortcut={String(index + 1)}\n                                />\n                            );\n                        })}\n                    </>\n                )}\n                {selectedTab === SpotDetailsTabEnum.bids && (\n                    <>\n                        <Bids\n                            className={cx('bids')}\n                            bids={bids}\n                            isDisabledSelectBid={isDisabledSelectBid}\n                            selectedBidId={selectedBidId}\n                            onSelectBid={onSelectBid}\n                            estimateSpotRequestPrice={details?.carrierEstimatedCost?.totalCost || null}\n                            onOpenUserDetails={onOpenUserDetails}\n                        />\n                    </>\n                )}\n            </div>\n        </>\n    );\n});\n\nexport default SpotRequestDetails;\n","// extracted by mini-css-extract-plugin\nexport default {\"document-summary\":\"DocumentDetailsLayout__document-summary___KbeDS\",\"tabs\":\"DocumentDetailsLayout__tabs___qZUfq\",\"version\":\"DocumentDetailsLayout__version___MfhQu\",\"actual-version-details\":\"DocumentDetailsLayout__actual-version-details___PylBr\",\"tab-content\":\"DocumentDetailsLayout__tab-content___WOsVh\",\"fadeIn\":\"DocumentDetailsLayout__fadeIn___p7XRh\",\"blinking\":\"DocumentDetailsLayout__blinking___h2DIj\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FetchBrokerOrderDetailsRequestActionT } from './types';\nimport {\n    fetchBrokerOrderDetails,\n    fetchBrokerOrderDetailsBegin,\n    fetchBrokerOrderDetailsError,\n    fetchBrokerOrderDetailsSuccess,\n} from './slice';\nimport { selectBrokerOrderDetailsRequestStatus } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\nfunction* fetchBrokerOrderDetailsSaga(action: FetchBrokerOrderDetailsRequestActionT): WrapGeneratorT<void> {\n    const { id, options } = action.payload;\n\n    const requestStatus: ReReturnT<typeof selectBrokerOrderDetailsRequestStatus> = yield select(\n        selectBrokerOrderDetailsRequestStatus(id),\n    );\n    if (!checkNeedRequest(requestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchBrokerOrderDetailsBegin({ id }));\n\n    const [error, details]: ReturnApiT<typeof brokerTranziitApi.getBrokerOrderDetails> =\n        yield brokerTranziitApi.getBrokerOrderDetails(id);\n    if (error) {\n        yield put(fetchBrokerOrderDetailsError({ id, error }));\n    } else {\n        yield put(fetchBrokerOrderDetailsSuccess({ id, details }));\n    }\n}\n\nfunction* brokerOrderDetailsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(fetchBrokerOrderDetails.type, fetchBrokerOrderDetailsSaga);\n}\n\nexport default brokerOrderDetailsSaga;\n","import { ShipmentPapersUrlFactoryI } from 'common/components/papers/image-url-factories';\n\nexport const carrierShipmentPapersUrlFactory: ShipmentPapersUrlFactoryI = {\n    getThumbnailUrl: (shipmentId: ShipmentIdT | null, documentId: DocumentIdT | null): string | null => {\n        if (!shipmentId || !documentId) {\n            return null;\n        }\n\n        return `/api/v1/common/attached-papers/${documentId}/get-thumbnail`;\n    },\n\n    getContentUrl: (shipmentId: ShipmentIdT | null, documentId: DocumentIdT | null): string | null => {\n        if (!shipmentId || !documentId) {\n            return null;\n        }\n\n        return `/api/v1/common/attached-papers/${documentId}/get-content`;\n    },\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"id\":\"BrokerOrderNumber__id___sRq00\",\"fadeIn\":\"BrokerOrderNumber__fadeIn___y9lWs\",\"blinking\":\"BrokerOrderNumber__blinking___migpT\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './PaperPlaceholder.scss';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport DownloadIcon from 'common/icons/DownloadIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst PaperPlaceholder: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    return (\n        <div className={cs(cx('inner'), className)}>\n            <div className={cx('content')}>\n                <DownloadIcon fillColor={StyleGuideColorsEnum.gray} size={30} />\n            </div>\n        </div>\n    );\n});\n\nexport { PaperPlaceholder };\n","import { CountryCodeT } from 'common/store/countries-dict/models';\n\nexport enum FieldsEnum {\n    companyName = 'companyName',\n    countryCode = 'countryCode',\n    zipCode = 'zipCode',\n    city = 'city',\n    street = 'street',\n    legalFormId = 'legalFormId',\n    acceptTerms = 'acceptTerms',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.companyName]: string;\n    [FieldsEnum.countryCode]: CountryCodeT | null;\n    [FieldsEnum.zipCode]: string;\n    [FieldsEnum.city]: string;\n    [FieldsEnum.street]: string;\n    [FieldsEnum.legalFormId]: LegalFormIdT | null;\n    [FieldsEnum.acceptTerms]: boolean;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\n\nimport { useSelector } from 'react-redux';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { SEC_IN_HOUR, SEC_IN_MIN } from 'common/utils/time';\nimport { convertToKm, M_IN_KM } from 'common/utils/distance';\nimport { TFunction } from 'i18next';\nimport { useTranslation } from 'react-i18next';\nimport { formatThousandNumber } from 'common/utils/formatters';\nimport {\n    selectCalculateCostRequest,\n    selectAveragePriceOffer,\n} from 'common/store/shipper-contract-lane-creation/selectors';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst formatDistance = (t: TFunction, distanceM: number | undefined): React.ReactNode => {\n    if (distanceM === undefined) {\n        return null;\n    }\n\n    if (distanceM <= M_IN_KM) {\n        return t('common:short-meters', {\n            value: formatThousandNumber(Math.round(distanceM)),\n        });\n    }\n\n    return t('common:short-kilometers', {\n        value: formatThousandNumber(convertToKm(distanceM)),\n    });\n};\n\nconst formatDuration = (t: TFunction, durationSec: number | undefined): React.ReactNode => {\n    if (durationSec === undefined) {\n        return null;\n    }\n\n    if (durationSec < SEC_IN_HOUR) {\n        const roundedDuration = Math.round(durationSec / SEC_IN_MIN);\n        return `${roundedDuration} ${t('common:minutes', {\n            postProcess: 'interval',\n            count: roundedDuration,\n        })}`;\n    }\n\n    const roundedDuration = Math.round(durationSec / SEC_IN_HOUR);\n    return `${roundedDuration} ${t('common:hours', {\n        postProcess: 'interval',\n        count: Math.round(durationSec / SEC_IN_HOUR),\n    })}`;\n};\n\nconst Estimate: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const calculateCostRequest = useSelector(selectCalculateCostRequest);\n    const averagePriceOffer = useSelector(selectAveragePriceOffer);\n\n    const { t } = useTranslation();\n\n    if (!calculateCostRequest.ok && !calculateCostRequest.loading) {\n        return null;\n    }\n\n    return (\n        <div className={className}>\n            {calculateCostRequest.ok && (\n                <span>\n                    {formatDistance(t, averagePriceOffer?.distances?.totalDistance)}\n                    {' / ~'}\n                    {formatDuration(t, averagePriceOffer?.travelSeconds)}\n                </span>\n            )}\n            {calculateCostRequest.loading && (\n                <ControlLoaderIcon fillColor={StyleGuideColorsEnum.charcoal} size={DEFAULT_ICON_SIZE} />\n            )}\n        </div>\n    );\n});\n\nexport default Estimate;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"SelectedOfferHeader__content___cBdrA\",\"total\":\"SelectedOfferHeader__total___teunD\",\"total--changed\":\"SelectedOfferHeader__total--changed___rmZyH\",\"fadeIn\":\"SelectedOfferHeader__fadeIn___MvmwY\",\"blinking\":\"SelectedOfferHeader__blinking___Awslv\"};","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { useSelector } from 'react-redux';\nimport { ALL_DAY_RANGE, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { RangeSelectorMarkT, RangeSelectorRangeT } from 'common/components/RangeSelector/RangeSelector';\nimport { isNonNil } from 'common/utils';\nimport { clearDateTimezone, MS_IN_MIN } from 'common/utils/time';\nimport { RangeSelectorZoneThemeEnum } from 'common/components/RangeSelector/constants';\nimport {\n    selectMaxWindowSizeMs,\n    selectMinWindowSizeMs,\n    selectTimeWindowQuantumMs,\n} from 'common/store/settings/selectors';\nimport { useTranslation } from 'react-i18next';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport TimeIntervalDurationPillLabel from '../TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel';\nimport { useFormikContext } from 'formik';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './PickupOrDeliveryRoutePointPicker.scss';\nimport TimeWindowPicker from 'common/components/range-selectors/TimeWindowPicker/TimeWindowPicker';\nimport DeleteWaypointTrigger from '../DeleteWaypointTrigger/DeleteWaypointTrigger';\nimport WaypointNumberIcon from '../WaypointNumberIcon/WaypointNumberIcon';\nimport LinkDatePicker, {\n    DatePickerOverlayPositionEnum,\n} from 'design-system/components/date-pickers/LinkDatePicker/LinkDatePicker';\nimport { CalendarDateValueT } from 'design-system/components/Calendar/Calendar';\nimport moment from 'moment';\nimport isEqual from 'lodash/isEqual';\nimport CalendarAltIcon from 'common/icons/CalendarAltIcon';\n\nimport TimeIntervalLimitPillLabel from '../TimeIntervalLimitPillLabel/TimeIntervalLimitPillLabel';\nimport TimeWindowZoneText from '../TimeWindowZoneText/TimeWindowZoneText';\nimport TeamDriveIcon, { TeamDriveIconProps } from 'common/icons/TeamDriveIcon';\nimport UrgentIcon, { UrgentIconProps } from 'common/icons/UrgentIcon';\nimport HourglassIcon, { HourglassIconProps } from 'common/icons/HourglassIcon';\nimport { ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport {\n    convertReserveTimeWindowToRelativeTimeWindow,\n    setDateForReserveTimeWindow,\n    setTimeWindowForReserveTimeWindow,\n    suggestLastTimeWindowOfDay,\n} from 'common/layouts/NewOrderPage/ShipmentDetailsForm/utils';\nimport { OnChangeRoutePointAddressT, OnChangeRoutePointTimeWindowT, OnDeleteRoutePointReserveT } from '../models';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport {\n    getRoutePointHashFromValues,\n    getRoutePointTimeWindowHash,\n} from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/utils';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    isFirstRoutePointIndex: boolean;\n    isLastRoutePointIndex: boolean;\n    tourUpdateStop: ApiTourUpdateStopDataT | null;\n    oldTourUpdateStop: ApiTourUpdateStopDataT | null;\n    onRemove: OnDeleteRoutePointReserveT;\n    isAllowRemove: boolean;\n\n    isAllowUpdateAddress: boolean;\n    isAllowUpdateTimeWindows: boolean;\n\n    onManualSelectLocation: (location: LocationT | null, routePointIndex: number) => void;\n    onChangeRoutePointAddress: OnChangeRoutePointAddressT;\n    onChangeRoutePointTimeWindow: OnChangeRoutePointTimeWindowT;\n    isDisabledPreviewReserve?: boolean;\n    isShowSuggestLoading?: boolean;\n};\n\nexport enum RangeIdSetEnum {\n    original = 'original',\n    urgentPickUp = 'urgent-pick-up',\n    regularPickUp = 'regular-pick-up',\n    teamDriveDropOff = 'team-drive-drop-off',\n    regularDropOff = 'regular-drop-off',\n    layoverDropOff = 'layover-drop-off',\n}\n\nconst surchargeRangeTypeSet = new Set<string>([\n    RangeIdSetEnum.urgentPickUp,\n    RangeIdSetEnum.teamDriveDropOff,\n    RangeIdSetEnum.layoverDropOff,\n]);\n\nexport type TimeWindowPickerSettingsT = {\n    availableValues: TimeWindowT;\n    timeWindowRanges: RangeSelectorRangeT[];\n    marks?: Array<RangeSelectorMarkT>;\n};\n\nexport const DEFAULT_TIME_WINDOW_PICKER_SETTINGS: TimeWindowPickerSettingsT = {\n    availableValues: ALL_DAY_RANGE,\n    timeWindowRanges: [],\n};\n\nconst PickupOrDeliveryRoutePointPicker: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        isFirstRoutePointIndex,\n        isLastRoutePointIndex,\n        tourUpdateStop,\n        oldTourUpdateStop,\n        onRemove,\n        isAllowRemove,\n        isAllowUpdateAddress,\n        isAllowUpdateTimeWindows,\n        onManualSelectLocation,\n        onChangeRoutePointAddress,\n        onChangeRoutePointTimeWindow,\n        isDisabledPreviewReserve,\n        isShowSuggestLoading,\n    } = props;\n\n    const { t } = useTranslation();\n\n    let label = t('broker-order-route-edit.fields.pickup-and-delivery-point.label');\n    if (isFirstRoutePointIndex) {\n        label = t('broker-order-route-edit.fields.original-point.label');\n    }\n    if (isLastRoutePointIndex) {\n        label = t('broker-order-route-edit.fields.destination-point.label');\n    }\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const fakePointIdFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.fakePointId}` as const;\n    const contextRoutePointIdFieldName =\n        `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.contextRoutePointId}` as const;\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n    const typeFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.type}` as const;\n\n    const selectedTimeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n    const contextRoutePointId = getFieldFormValue(formik.values, contextRoutePointIdFieldName);\n    const type = getFieldFormValue(formik.values, typeFieldName);\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const fakePointId = getFieldFormValue(formik.values, fakePointIdFieldName);\n\n    const isNewRoutePoint = !contextRoutePointId;\n\n    const contextRoutePointHash = getRoutePointHashFromValues(type, location);\n\n    const isChangedTimeWindow =\n        !!oldTourUpdateStop &&\n        getRoutePointTimeWindowHash(selectedTimeWindow?.start, selectedTimeWindow?.end) !==\n            getRoutePointTimeWindowHash(oldTourUpdateStop?.originalDateTimeFrom, oldTourUpdateStop?.originalDateTimeTo);\n\n    const timeWindowQuantumMs = useSelector(selectTimeWindowQuantumMs);\n\n    const minWindowSizeMs = useSelector(selectMinWindowSizeMs);\n    const maxWindowSizeMs = useSelector(selectMaxWindowSizeMs);\n\n    const minRangeTimeWindow = minWindowSizeMs - MS_IN_MIN;\n    const maxRangeTimeWindow = maxWindowSizeMs + MS_IN_MIN;\n\n    const teamDriveMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <TeamDriveIcon {...TeamDriveIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const urgentPickUpMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <UrgentIcon {...UrgentIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const layoverMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <HourglassIcon {...HourglassIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const teamDriveDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.teamDriveDropOff,\n            label: t('common:time-windows-types.team-drive'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const regularDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.regularDropOff,\n            theme: null,\n        }),\n        [],\n    );\n\n    const urgentPickUpRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.urgentPickUp,\n            label: t('common:time-windows-types.urgent'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const originalRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.original,\n            label: t('common:time-windows-types.urgent'),\n            theme: RangeSelectorZoneThemeEnum.charcoal,\n            children: (\n                <Tooltip\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    className={cx('original-zone-tooltip-content')}\n                    tooltipNode={\n                        <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                            {t('broker-order-route-edit.fields.route-point.tooltip.original-time-window')}\n                        </TooltipContent>\n                    }\n                >\n                    {() => <div style={{ height: '100%', width: '100%' }} />}\n                </Tooltip>\n            ),\n        }),\n        [t],\n    );\n\n    const regularPickUpRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.regularPickUp,\n            theme: null,\n        }),\n        [],\n    );\n\n    const layoverDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.layoverDropOff,\n            label: t('common:time-windows-types.layover'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const renderZoneTextNode = React.useCallback((currentRanges: RangeSelectorRangeT[] | null) => {\n        const surchargeCurrentRanges = currentRanges?.filter((range) => {\n            return range && surchargeRangeTypeSet.has(range.id);\n        });\n\n        if (!surchargeCurrentRanges?.length) {\n            return null;\n        }\n\n        return <TimeWindowZoneText currentRanges={surchargeCurrentRanges} />;\n    }, []);\n\n    const tourUpdateStopTimeWindows = React.useMemo(() => {\n        if (!tourUpdateStop) {\n            return {\n                urgentTimeWindow: null,\n                regularTimeWindow: null,\n                layoverTimeWindow: null,\n                originalTimeWindow: null,\n            };\n        }\n\n        const { regularFrom, urgentFrom, layoverStart, latestTo, originalDateTimeFrom, originalDateTimeTo } =\n            tourUpdateStop;\n\n        return {\n            originalTimeWindow:\n                originalDateTimeFrom && originalDateTimeTo\n                    ? {\n                          start: originalDateTimeFrom,\n                          end: originalDateTimeTo,\n                      }\n                    : null,\n            urgentTimeWindow:\n                urgentFrom && regularFrom && urgentFrom !== regularFrom\n                    ? {\n                          start: urgentFrom,\n                          end: regularFrom,\n                      }\n                    : null,\n            regularTimeWindow: regularFrom\n                ? {\n                      start: regularFrom,\n                      end: layoverStart ? null : latestTo || null,\n                  }\n                : null,\n            layoverTimeWindow: layoverStart\n                ? {\n                      start: layoverStart,\n                      end: latestTo || null,\n                  }\n                : null,\n        };\n    }, [tourUpdateStop]);\n\n    const settings = React.useMemo<TimeWindowPickerSettingsT>(() => {\n        const isFirstTimeWindow = routePointIndex === 0;\n\n        if (!tourUpdateStop || !selectedTimeWindow) {\n            return DEFAULT_TIME_WINDOW_PICKER_SETTINGS;\n        }\n\n        const baseDate = selectedTimeWindow.start;\n\n        const availableValuesStart =\n            tourUpdateStopTimeWindows?.urgentTimeWindow?.start || tourUpdateStopTimeWindows?.regularTimeWindow?.start;\n        if (!availableValuesStart) {\n            return DEFAULT_TIME_WINDOW_PICKER_SETTINGS;\n        }\n\n        const availableValuesEnd =\n            tourUpdateStopTimeWindows?.layoverTimeWindow?.end ||\n            tourUpdateStopTimeWindows?.regularTimeWindow?.end ||\n            null;\n\n        const availableValues = suggestLastTimeWindowOfDay(\n            {\n                start: availableValuesStart,\n                end: availableValuesEnd,\n            },\n            baseDate,\n        );\n\n        const urgentTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(tourUpdateStopTimeWindows?.urgentTimeWindow || null, baseDate),\n        );\n\n        const regularTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(tourUpdateStopTimeWindows?.regularTimeWindow || null, baseDate),\n        );\n\n        const layoverTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(tourUpdateStopTimeWindows?.layoverTimeWindow || null, baseDate),\n        );\n\n        const originalTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(tourUpdateStopTimeWindows?.originalTimeWindow || null, baseDate),\n        );\n\n        const marks: Array<RangeSelectorMarkT> = [];\n\n        if (layoverTimeWindow) {\n            marks.push({\n                ...layoverMark,\n                value: layoverTimeWindow[0],\n            });\n        }\n\n        const timeWindowRanges: RangeSelectorRangeT[] = [\n            urgentTimeWindow\n                ? {\n                      ...(isFirstTimeWindow ? urgentPickUpRange : teamDriveDropOffRange),\n                      values: urgentTimeWindow,\n                      marks: [\n                          {\n                              ...(isFirstTimeWindow ? urgentPickUpMark : teamDriveMark),\n                              value: urgentTimeWindow[0],\n                          },\n                      ],\n                  }\n                : null,\n            regularTimeWindow\n                ? {\n                      ...(isFirstTimeWindow ? regularPickUpRange : regularDropOffRange),\n                      values: regularTimeWindow,\n                  }\n                : null,\n            layoverTimeWindow\n                ? {\n                      ...layoverDropOffRange,\n                      values: layoverTimeWindow,\n                      isHidden: true,\n                      marks: [\n                          {\n                              ...layoverMark,\n                              value: layoverTimeWindow[0],\n                          },\n                      ],\n                  }\n                : null,\n            originalTimeWindow\n                ? {\n                      ...originalRange,\n                      values: originalTimeWindow,\n                      isShowOutsideAvailableValues: true,\n                  }\n                : null,\n        ].filter(isNonNil);\n\n        const settings: TimeWindowPickerSettingsT = {\n            availableValues: convertReserveTimeWindowToRelativeTimeWindow(availableValues) || ALL_DAY_RANGE,\n            timeWindowRanges,\n            marks,\n        };\n\n        return settings;\n    }, [\n        layoverDropOffRange,\n        layoverMark,\n        originalRange,\n        teamDriveMark,\n        urgentPickUpMark,\n        tourUpdateStop,\n        tourUpdateStopTimeWindows,\n        selectedTimeWindow,\n        routePointIndex,\n        teamDriveDropOffRange,\n        regularDropOffRange,\n        urgentPickUpRange,\n        regularPickUpRange,\n    ]);\n\n    const relativeTimeWindow = useMemo((): TimeWindowT | null => {\n        return convertReserveTimeWindowToRelativeTimeWindow(selectedTimeWindow);\n    }, [selectedTimeWindow]);\n\n    const handleChangeTimeWindow = (value: TimeWindowT) => {\n        const newTimeWindow = setTimeWindowForReserveTimeWindow(value, selectedTimeWindow);\n        const start = newTimeWindow?.start || null;\n        const end = newTimeWindow?.end || null;\n        if (!start || !end) {\n            return;\n        }\n\n        const preparedLocation = prepareLocation(location);\n        if (!preparedLocation) {\n            return;\n        }\n\n        formik.setFieldValue(timeWindowFieldName, newTimeWindow);\n\n        onChangeRoutePointTimeWindow(routePointIndex, contextRoutePointHash, {\n            timeWindow: {\n                start,\n                end,\n            },\n            address: preparedLocation,\n            routePointType: type,\n        });\n    };\n\n    const selectedDate = React.useMemo(() => {\n        if (!selectedTimeWindow) {\n            return null;\n        }\n\n        return moment(clearDateTimezone(selectedTimeWindow.start)).toDate();\n    }, [selectedTimeWindow]);\n\n    const allowedTimeWindowStart = useMemo(() => {\n        return (\n            tourUpdateStopTimeWindows?.urgentTimeWindow?.start || tourUpdateStopTimeWindows?.regularTimeWindow?.start\n        );\n    }, [tourUpdateStopTimeWindows]);\n\n    const minDate = allowedTimeWindowStart;\n    const maxDate =\n        (tourUpdateStopTimeWindows?.layoverTimeWindow\n            ? tourUpdateStopTimeWindows?.layoverTimeWindow?.end\n            : tourUpdateStopTimeWindows?.regularTimeWindow?.end) || undefined;\n\n    const handleChangeDate = (date: CalendarDateValueT): void => {\n        if (!date) {\n            formik.setFieldValue(timeWindowFieldName, null);\n            return;\n        }\n\n        const newTimeWindow = setDateForReserveTimeWindow(date, selectedTimeWindow);\n        const isSameValue = isEqual(newTimeWindow, selectedTimeWindow);\n        if (isSameValue) {\n            return;\n        }\n\n        const start = newTimeWindow?.start || null;\n        const end = newTimeWindow?.end || null;\n        if (!start || !end) {\n            return;\n        }\n\n        const preparedLocation = prepareLocation(location);\n        if (!preparedLocation) {\n            return;\n        }\n\n        formik.setFieldValue(timeWindowFieldName, newTimeWindow);\n\n        onChangeRoutePointTimeWindow(routePointIndex, contextRoutePointHash, {\n            timeWindow: {\n                start,\n                end,\n            },\n            address: preparedLocation,\n            routePointType: type,\n        });\n    };\n\n    const isDisabledUpdateTimeWindows = isDisabledPreviewReserve || !isAllowUpdateTimeWindows;\n\n    return (\n        <div className={cs(cx('time-picker'), className)}>\n            <FormikConnectContextField<FormValuesT, typeof locationFieldName>\n                name={locationFieldName}\n                label={label}\n                fieldLabelClassName={cx('field', 'field--location')}\n                subLabel={\n                    <>\n                        <TimeIntervalDurationPillLabel\n                            className={cx('time-interval', {\n                                'time-interval--isHalfOpacity': isDisabledUpdateTimeWindows,\n                            })}\n                            i18nKey={null}\n                            isDayRelative\n                            timeWindow={relativeTimeWindow}\n                            isChanged={isChangedTimeWindow}\n                        />\n                        <TimeIntervalLimitPillLabel\n                            className={cx('time-interval', {\n                                'time-interval--isHalfOpacity': isDisabledUpdateTimeWindows,\n                            })}\n                            timeWindow={relativeTimeWindow}\n                        />\n                    </>\n                }\n                labelRightNode={\n                    <div className={cx('right-node')}>\n                        {selectedDate && (\n                            <LinkDatePicker\n                                leftIcon={\n                                    <CalendarAltIcon\n                                        size={DEFAULT_ICON_SIZE}\n                                        strokeColor={StyleGuideColorsEnum.brandDark}\n                                    />\n                                }\n                                isDisabled={isDisabledUpdateTimeWindows}\n                                minDate={minDate || undefined}\n                                maxDate={maxDate}\n                                value={selectedDate}\n                                onChange={handleChangeDate}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                            />\n                        )}\n                    </div>\n                }\n            >\n                {(props, extendsProps) => (\n                    <div className={cx('wrap')} data-point-id={fakePointId}>\n                        {isAllowUpdateAddress ? (\n                            <GeoSuggest\n                                className={cx('geo-suggest')}\n                                name={extendsProps.name}\n                                value={extendsProps.value}\n                                placeholder={t('broker-order-route-edit.fields.pickup-and-delivery-point.placeholder')}\n                                renderLeftIcon={({ hasValue, hasError, hasWarning, isDisabled }) => (\n                                    <WaypointNumberIcon\n                                        routePointIndex={routePointIndex}\n                                        hasValue={hasValue}\n                                        hasError={hasError}\n                                        hasWarning={hasWarning}\n                                        isDisabled={isDisabled}\n                                        isNewRoutePoint={isNewRoutePoint}\n                                        isPickUpDeliveryRoutePointPicker\n                                    />\n                                )}\n                                onChange={(value) => {\n                                    const location = prepareLocation(value);\n                                    if (!location) {\n                                        return;\n                                    }\n\n                                    props.onChange(value);\n\n                                    onManualSelectLocation(value, routePointIndex);\n\n                                    onChangeRoutePointAddress(routePointIndex, contextRoutePointHash, {\n                                        routePointType: type,\n                                        address: location,\n                                    });\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onFocus={props.onFocus}\n                                onBlur={props.onBlur}\n                                testSelector={`pickup-or-delivery-location-${routePointIndex}`}\n                                showClearControl={!!extendsProps.value}\n                                isLoading={isShowSuggestLoading}\n                            />\n                        ) : (\n                            <ReadOnlyField\n                                withoutErrorMessage\n                                icon={\n                                    <WaypointNumberIcon\n                                        routePointIndex={routePointIndex}\n                                        isNewRoutePoint={isNewRoutePoint}\n                                        isPickUpDeliveryRoutePointPicker\n                                        hasValue={!!extendsProps.value}\n                                    />\n                                }\n                                value={extendsProps.value?.address || ''}\n                            />\n                        )}\n\n                        {isAllowRemove && (\n                            <DeleteWaypointTrigger\n                                onClick={() => {\n                                    onRemove(routePointIndex, contextRoutePointHash);\n                                }}\n                            />\n                        )}\n                    </div>\n                )}\n            </FormikConnectContextField>\n            <TimeWindowPicker\n                range={ALL_DAY_RANGE}\n                isDisabled={isDisabledUpdateTimeWindows}\n                availableValues={settings?.availableValues}\n                ranges={settings?.timeWindowRanges || []}\n                marks={settings?.marks}\n                values={relativeTimeWindow}\n                step={timeWindowQuantumMs}\n                minRangeWidth={minRangeTimeWindow}\n                maxRangeWidth={maxRangeTimeWindow}\n                renderZoneTextNode={renderZoneTextNode}\n                onChange={handleChangeTimeWindow}\n            />\n        </div>\n    );\n});\n\nexport default PickupOrDeliveryRoutePointPicker;\n","import { RoutePointTimeWindowT, RoutePointTypeEnum } from 'broker-admin/store/order-edit/models';\n\nexport enum RoutePointFieldsEnum {\n    fakePointId = 'fakePointId',\n    contextRoutePointId = 'contextRoutePointId',\n    type = 'type',\n    location = 'location',\n    timeWindow = 'timeWindow',\n}\n\nexport type RoutePointFormValuesT = {\n    fakePointId: RoutePointIdT;\n    contextRoutePointId: RoutePointIdT | null;\n    type: RoutePointTypeEnum;\n    location: LocationT | null;\n    timeWindow: RoutePointTimeWindowT | null;\n};\n\nexport type RoutePointErrorsT = Partial<{\n    fakePointId: FormErrorMessageT;\n    contextRoutePointId: FormErrorMessageT;\n    type: FormErrorMessageT;\n    location: FormErrorMessageT;\n    timeWindow: FormErrorMessageT;\n}>;\n\nexport enum FieldsEnum {\n    route = 'route',\n}\n\nexport type FormValuesT = {\n    route: Array<RoutePointFormValuesT>;\n};\n\nexport type FormErrorsT = Partial<{\n    [FieldsEnum.route]: Array<RoutePointErrorsT>;\n}>;\n\nexport type AsyncFormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    size?: number;\n    className?: string;\n};\n\nconst PdfFileIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, className, size = DEFAULT_ICON_SIZE } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <path\n                fill={fillColor}\n                fillRule=\"evenodd\"\n                d=\"M5.014 11.718c.306 0 .579.046.819.14.24.093.442.226.607.4.166.174.29.384.374.63.084.246.126.522.126.828 0 .306-.042.582-.126.828a1.699 1.699 0 01-.373.63 1.65 1.65 0 01-.608.4c-.24.094-.513.14-.819.14H3.943V18H2.584v-6.282h2.43zm4.887 0c.846 0 1.473.27 1.881.81.408.54.612 1.317.612 2.331s-.204 1.791-.612 2.331c-.408.54-1.035.81-1.881.81H7.876v-6.282h2.025zm7.686 0v1.107H14.77v1.44h2.52v1.107h-2.52V18h-1.35v-6.282h4.167zM9.811 12.78h-.603v4.158h.603c.402 0 .696-.129.882-.387.186-.258.279-.633.279-1.125v-1.143c0-.486-.093-.858-.279-1.116-.186-.258-.48-.387-.882-.387zm-5.139.027h-.729v1.818h.729c.318 0 .538-.06.662-.18.123-.12.184-.318.184-.594v-.27c0-.276-.061-.474-.184-.594-.124-.12-.344-.18-.662-.18zM13.979 2L18 6v4h-2V8h-4V4H4v6H2V2h11.979z\"\n            />\n        </svg>\n    );\n};\n\nPdfFileIcon.displayName = 'PdfFileIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default PdfFileIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerOrderNumber.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    number: string;\n};\n\nconst BrokerOrderNumber: React.FC<PropsT> = React.memo((props) => {\n    const { number } = props;\n\n    return <span className={cx('id')}>{number}</span>;\n});\n\nexport default BrokerOrderNumber;\n","import React, { useCallback } from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { useTranslation } from 'react-i18next';\nimport CaseIcon from 'common/icons/CaseIcon';\nimport classNames from 'classnames/bind';\nimport styles from './BrokerPartnersControl.scss';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport DropdownSearchMultipleInput, {\n    RenderTriggerPropsT,\n} from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiPartnerT } from 'common/utils/api/models';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = Pick<ApiPartnerT, 'id' | 'countryCode' | 'name'>;\ntype ValueT = OptionT['id'] | null;\n\nexport type BrokerPartnersControlOptionT = OptionT;\nexport type BrokerPartnersControlValueT = ValueT;\n\nexport type PropsT = {\n    className?: string;\n    initialOptions?: Array<OptionT>;\n    initialRequestStatus?: RequestStatusT;\n    onSelect: (values: Array<ValueT>, options: Array<OptionT>) => void;\n    values: Array<ValueT>;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    overlayClassName?: string;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError?: InputPropsT['hasError'];\n    hasWarning?: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur?: InputPropsT['onBlur'];\n    onFocus?: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    includeProfileTypes?: Array<'CARRIER' | 'SHIPPER'>;\n    allowedQueryMinLength?: number;\n};\n\nconst BrokerPartnersControl: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialOptions,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        overlayClassName,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        initialRequestStatus,\n        includeProfileTypes,\n        allowedQueryMinLength,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback(\n        (query) => {\n            return brokerTranziitApi\n                .findPartnersByName(query, includeProfileTypes)\n                .then((response): AsyncRequestFactoryResultT<OptionT> => {\n                    const [error, result] = response;\n                    if (error) {\n                        return [error, null];\n                    }\n\n                    const items: Array<OptionT> = result?.content || [];\n\n                    return [null, items];\n                });\n        },\n        [includeProfileTypes],\n    );\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions,\n        requestFactory,\n        settings: {\n            allowedQueryMinLength,\n        },\n    });\n\n    const handleSelect = (values: Array<ValueT>) => {\n        const valueSet = new Set(values);\n\n        const options = asyncOptionsRequest.options.filter((option) => {\n            const optionValue = getOptionValue(option);\n            return valueSet.has(optionValue);\n        });\n\n        onSelect(values, options);\n    };\n\n    const handleReset = () => {\n        onSelect([], []);\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                className={cx('option')}\n                withoutPaddings\n                icon={option.countryCode ? <FlagIcon countryCode={option.countryCode} /> : null}\n                label={option.name || ''}\n            />\n        );\n    };\n\n    const renderTrigger = (\n        props: RenderTriggerPropsT,\n        options: Array<OptionT>,\n        placeholder: string | undefined,\n    ): React.ReactNode => {\n        const count = options?.length || 0;\n\n        let label: React.ReactNode = (\n            <>\n                {t('common-components.broker-partners-suggest.multiple-values-selected')}\n                {Boolean(count) && (\n                    <PillLabel className={cx('count')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                        {count}\n                    </PillLabel>\n                )}\n            </>\n        );\n\n        if (props.isEmpty) {\n            label = placeholder;\n        }\n\n        if (options?.length === 1) {\n            const firstOption = options?.[0] || null;\n            label = firstOption?.name || '';\n        }\n\n        return (\n            <TransparentTrigger\n                onClick={props.onClick}\n                isPressed={props.isPressed}\n                label={label}\n                leftIcon={\n                    <CaseIcon\n                        size={DEFAULT_ICON_SIZE}\n                        fillColor={StyleGuideColorsEnum.light}\n                        strokeColor={StyleGuideColorsEnum.charcoal}\n                    />\n                }\n                rightIcon={<ArrowsIcon />}\n                reflectionTheme={ReflectionThemeEnum.light}\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values}\n            placeholder={placeholder}\n            options={asyncOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTrigger={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            overlayClassName={overlayClassName}\n            isLoading={asyncOptionsRequest.requestStatus.loading || initialRequestStatus?.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default BrokerPartnersControl;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './IdCell.scss';\n\ntype PropsT = {\n    id: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst IdCell: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return <div className={cx('id')}>{id}</div>;\n});\n\nexport default IdCell;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './CarrierWithUtilizationDropdownOption.scss';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport { useTranslation } from 'react-i18next';\nimport getUtilizationColor from 'common/utils/get-utilization-color';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    utilizationPercent: number | null;\n    name: string;\n    isLoading: boolean;\n};\n\nconst CarrierWithUtilizationDropdownOption: React.FC<PropsT> = React.memo((props) => {\n    const { className, name, utilizationPercent, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const isShowUtilization = utilizationPercent !== null;\n    const isShowUtilizationLoader = utilizationPercent === null && isLoading;\n\n    return (\n        <div className={cs(cx('option'), className)}>\n            <div className={cx('name')}>{name}</div>\n            {(isShowUtilization || isShowUtilizationLoader) && <div className={cx('spacer')} />}\n            {isShowUtilization && (\n                <>\n                    <HollowCircleIcon\n                        className={cx('indicator')}\n                        borderColor={getUtilizationColor(utilizationPercent)}\n                    />\n                    <div className={cx('utilization')}>\n                        {t('assignment.asset-utilization', { percent: utilizationPercent })}\n                    </div>\n                </>\n            )}\n            {isShowUtilizationLoader && (\n                <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n            )}\n        </div>\n    );\n});\n\nexport default CarrierWithUtilizationDropdownOption;\n","// extracted by mini-css-extract-plugin\nexport default {\"pill--is-spot\":\"TransportOrderStatusPill__pill--is-spot___tueoj\",\"pill--is-archive\":\"TransportOrderStatusPill__pill--is-archive___eH29N\",\"fadeIn\":\"TransportOrderStatusPill__fadeIn___vKRCP\",\"blinking\":\"TransportOrderStatusPill__blinking___LSmqC\"};","import {\n    TransportOrderDetailsActionT,\n    TransportOrderDetailsByIdStateT,\n    TransportOrderDetailsStateT,\n    FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_BEGIN,\n    FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_ERROR,\n    FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: TransportOrderDetailsByIdStateT = {};\n\nexport const initialTransportOrderDetailsState: TransportOrderDetailsStateT = {\n    details: null,\n    requestStatus: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: TransportOrderDetailsActionT | DestroySessionActionT,\n): TransportOrderDetailsByIdStateT => {\n    switch (action.type) {\n        case FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_BEGIN: {\n            const { id } = action;\n\n            const transportOrderDetailsState = state[id] || initialTransportOrderDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...transportOrderDetailsState,\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_ERROR: {\n            const { error, id } = action;\n\n            const transportOrderDetailsState = state[id] || initialTransportOrderDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...transportOrderDetailsState,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_SUCCESS: {\n            const { transportOrderDetails, id } = action;\n\n            const transportOrderDetailsState = state[id] || initialTransportOrderDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...transportOrderDetailsState,\n                    requestStatus: requestStatus.ok,\n                    details: transportOrderDetails,\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { RevokeContractActionEnum } from 'common/utils/api/models';\nimport { checkIsPositiveNumberOrZeroValue, checkNotEmpty } from 'common/utils/form-validators';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, [FieldsEnum.action], values),\n    };\n\n    const action = values[FieldsEnum.action];\n\n    if (action === RevokeContractActionEnum.setNewContract) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.nextContractId], values),\n        };\n    }\n\n    if (action === RevokeContractActionEnum.setNewRate) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(\n                t,\n                [FieldsEnum.trucksRatePerKm, FieldsEnum.boxesRatePerKm, FieldsEnum.tiltsRatePerKm],\n                values,\n            ),\n            ...checkIsPositiveNumberOrZeroValue(\n                t,\n                [FieldsEnum.trucksRatePerKm, FieldsEnum.boxesRatePerKm, FieldsEnum.tiltsRatePerKm],\n                values,\n            ),\n        };\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipperContractDetails.scss';\nimport { useTranslation } from 'react-i18next';\nimport moment from 'moment';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport FilePickerInput from 'design-system/components/FilePickerInput/FilePickerInput';\nimport { ShipperContractDetailsT } from 'common/store/shipper-contract-details/models';\nimport { EMPTY_VALUE_PLACEHOLDER } from 'common/components/ReadOnlyFieldValue/ReadOnlyFieldValue';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport { DownloadDataT } from '../EditShipperContractDetailsForm/models';\nimport { RemoteFile } from 'design-system/components/FilePickerInput/models';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport isNumber from 'lodash/isNumber';\nimport DownloadIcon from 'common/icons/DownloadIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    shipperContractId: ShipperContractIdT;\n    shipperContractDetails: ShipperContractDetailsT | null;\n    onDownloadShipperContract: (data: DownloadDataT) => void;\n};\n\nconst VALID_TILL_FORMAT = 'DD.MM.YYYY';\n\nconst ShipperContractDetails: React.FC<PropsT> = (props) => {\n    const { partnerId, shipperContractId, shipperContractDetails, onDownloadShipperContract } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div>\n            <FieldGroup>\n                <ReadOnlyField\n                    className={cx('field', 'field--name')}\n                    label={t('common:shipper-contract-details.editing-form.fields.name.label')}\n                    value={shipperContractDetails?.name || ''}\n                />\n                <ReadOnlyField\n                    className={cx('field', 'field--number')}\n                    label={t('common:shipper-contract-details.editing-form.fields.number.label')}\n                    tooltipNode={\n                        <TooltipContent isCenter theme={TooltipContentThemeEnum.black} width={150}>\n                            {t('common:shipper-contract-details.editing-form.fields.number.tooltip')}\n                        </TooltipContent>\n                    }\n                    tooltipPosition={TooltipPositionEnum.centerLeft}\n                    value={shipperContractDetails?.number || ''}\n                    placeholder={EMPTY_VALUE_PLACEHOLDER}\n                />\n            </FieldGroup>\n            <FieldGroup>\n                <ReadOnlyField\n                    icon={\n                        <CalendarIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                    className={cx('field', 'field--activate-date')}\n                    label={t('common:shipper-contract-details.editing-form.fields.activate-date.label')}\n                    value={\n                        shipperContractDetails?.validFrom\n                            ? moment(shipperContractDetails.validFrom).format(VALID_TILL_FORMAT)\n                            : null\n                    }\n                />\n                <ReadOnlyField\n                    icon={\n                        <CalendarIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                    className={cx('field', 'field--valid-till')}\n                    label={t('common:shipper-contract-details.editing-form.fields.valid-till-date.label')}\n                    value={\n                        shipperContractDetails?.validTill\n                            ? moment(shipperContractDetails.validTill).format(VALID_TILL_FORMAT)\n                            : null\n                    }\n                />\n                <ReadOnlyField\n                    className={cx('field', 'field--orders-left')}\n                    label={t('common:shipper-contract-details.editing-form.fields.orders-left.label')}\n                    value={\n                        isNumber(shipperContractDetails?.ordersLeft) &&\n                        isNumber(shipperContractDetails?.maxNumberOfOrders)\n                            ? `${shipperContractDetails?.ordersLeft}/${shipperContractDetails?.maxNumberOfOrders}`\n                            : null\n                    }\n                    placeholder={EMPTY_VALUE_PLACEHOLDER}\n                />\n            </FieldGroup>\n            <div className={cx('field', 'field--file')}>\n                <FilePickerInput\n                    accept=\"image/*,application/pdf\"\n                    name=\"name\"\n                    onChange={() => {\n                        // nothing\n                    }}\n                    value={\n                        new RemoteFile<DownloadDataT>({\n                            name: shipperContractDetails?.fileName || '',\n                            downloadData: {\n                                partnerId,\n                                shipperContractId,\n                            },\n                        })\n                    }\n                    onDownload={onDownloadShipperContract}\n                    renderLeftIcon={({ isEmpty }) => (\n                        <DownloadIcon\n                            fillColor={isEmpty ? StyleGuideColorsEnum.charcoal : StyleGuideColorsEnum.brandDark}\n                            size={DEFAULT_ICON_SIZE}\n                        />\n                    )}\n                />\n            </div>\n        </div>\n    );\n};\n\nexport default ShipperContractDetails;\n","// extracted by mini-css-extract-plugin\nexport default {\"map\":\"ShipperContractLaneDetailsMap__map___IIokZ\",\"marker\":\"ShipperContractLaneDetailsMap__marker____aru_\",\"fadeIn\":\"ShipperContractLaneDetailsMap__fadeIn___pPSck\",\"blinking\":\"ShipperContractLaneDetailsMap__blinking___jKslJ\"};","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ContentMargins__content___Pirtz\",\"fadeIn\":\"ContentMargins__fadeIn___SDYOE\",\"blinking\":\"ContentMargins__blinking___Sbb0M\"};","// extracted by mini-css-extract-plugin\nexport default {\"count\":\"UnitTypeCount__count___Dy2TE\",\"fadeIn\":\"UnitTypeCount__fadeIn___ZsPvu\",\"blinking\":\"UnitTypeCount__blinking___soM8B\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DummyPagination.scss';\nimport noop from 'lodash/noop';\nimport LeftArrowIcon from 'common/icons/LeftArrowIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport RightArrowIcon from 'common/icons/RightArrowIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nexport type PropsT = {\n    isDisabledPrevPage?: boolean;\n    goToPrevPage: () => void;\n    isDisabledNextPage?: boolean;\n    goToNextPage: () => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst colorsMap = {\n    disabled: StyleGuideColorsEnum.light,\n    active: StyleGuideColorsEnum.charcoal,\n};\n\nconst DummyPagination: React.FC<PropsT> = React.memo((props) => {\n    const { isDisabledPrevPage, goToNextPage, isDisabledNextPage, goToPrevPage } = props;\n\n    const handlePrevPage = () => {\n        if (isDisabledPrevPage) {\n            return;\n        }\n\n        goToPrevPage();\n    };\n\n    const handleNextPage = () => {\n        if (isDisabledNextPage) {\n            return;\n        }\n\n        goToNextPage();\n    };\n\n    return (\n        <div className={cx('pagination')} data-test-selector=\"pagination\">\n            <TransparentTrigger\n                withoutBorderRadius\n                isDisabled={isDisabledPrevPage}\n                onClick={isDisabledPrevPage ? noop : handlePrevPage}\n                testSelector=\"prev-page\"\n                leftIcon={<LeftArrowIcon fillColor={isDisabledPrevPage ? colorsMap.disabled : colorsMap.active} />}\n                reflectionTheme={ReflectionThemeEnum.light}\n            />\n            <TransparentTrigger\n                withoutBorderRadius\n                isDisabled={isDisabledNextPage}\n                onClick={isDisabledNextPage ? noop : handleNextPage}\n                testSelector=\"next-page\"\n                leftIcon={<RightArrowIcon fillColor={isDisabledNextPage ? colorsMap.disabled : colorsMap.active} />}\n                reflectionTheme={ReflectionThemeEnum.light}\n            />\n        </div>\n    );\n});\n\nexport default DummyPagination;\n","import * as React from 'react';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport DeprecatedCountyFlagLabel from 'common/components/DeprecatedCountyFlagLabel/DeprecatedCountyFlagLabel';\nimport { useSelector } from 'react-redux';\nimport { selectCountriesByCode, selectCountriesDictRequest } from 'common/store/countries-dict/selectors';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    countryCode: CountryCodeT | null | undefined;\n};\n\nconst CountryCell: React.FC<PropsT> = React.memo((props) => {\n    const { countryCode } = props;\n\n    const requestStatus = useSelector(selectCountriesDictRequest);\n    const countryByCode = useSelector(selectCountriesByCode);\n\n    if (!requestStatus || !countryByCode) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.charcoal} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    const country = countryCode ? countryByCode[countryCode] : undefined;\n\n    return <DeprecatedCountyFlagLabel country={country} />;\n});\n\nexport default CountryCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"message\":\"SideBarMessage__message___YkALD\",\"icon\":\"SideBarMessage__icon___I9hrv\",\"title\":\"SideBarMessage__title___XAUCG\",\"description\":\"SideBarMessage__description___SnORH\",\"actions\":\"SideBarMessage__actions___Kj5MF\",\"trace-id\":\"SideBarMessage__trace-id___vKhWI\",\"fadeIn\":\"SideBarMessage__fadeIn____fVXd\",\"blinking\":\"SideBarMessage__blinking___LtOge\"};","// extracted by mini-css-extract-plugin\nexport default {\"head\":\"SpotAssetsAssignmentForm__head___aAR3z\",\"head__title\":\"SpotAssetsAssignmentForm__head__title___GiBjZ\",\"field\":\"SpotAssetsAssignmentForm__field___Qn2pf\",\"form\":\"SpotAssetsAssignmentForm__form___xNh0y\",\"actions\":\"SpotAssetsAssignmentForm__actions___sx0rt\",\"sub-actions\":\"SpotAssetsAssignmentForm__sub-actions___IDOao\",\"action--clear-assets\":\"SpotAssetsAssignmentForm__action--clear-assets___B91fL\",\"action--reassign-cancel\":\"SpotAssetsAssignmentForm__action--reassign-cancel___JfdKb\",\"action--reassign\":\"SpotAssetsAssignmentForm__action--reassign___yT_3f\",\"action--assign-cancel\":\"SpotAssetsAssignmentForm__action--assign-cancel___p8Box\",\"action--assign\":\"SpotAssetsAssignmentForm__action--assign___QjlCC\",\"trailer-option\":\"SpotAssetsAssignmentForm__trailer-option___JNL1D\",\"truck-option\":\"SpotAssetsAssignmentForm__truck-option___Pam9g\",\"fadeIn\":\"SpotAssetsAssignmentForm__fadeIn___J6agm\",\"blinking\":\"SpotAssetsAssignmentForm__blinking___ysR1q\"};","import * as React from 'react';\nimport { isNonNil } from 'common/utils';\n\ntype PropsT = {\n    driver?: {\n        name?: string;\n        surname?: string;\n    };\n};\n\nconst SimpleDriverFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { driver } = props;\n\n    if (!driver) {\n        return null;\n    }\n\n    const fullName = [driver.surname, driver.name].filter(isNonNil).join(' ');\n\n    return <span>{fullName}</span>;\n});\n\nexport default SimpleDriverFormatter;\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { DictCarrierAdditionalServiceGroupT } from './models';\nimport { ApiCarrierAdditionalServiceChangesT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const FETCH_ADDITIONAL_SERVICES_REQUEST =\n    'broker-admin/price-settings/additional-services/FETCH_ADDITIONAL_SERVICES_REQUEST';\nexport const FETCH_ADDITIONAL_SERVICES_REQUEST_BEGIN =\n    'broker-admin/price-settings/additional-services/FETCH_ADDITIONAL_SERVICES_REQUEST_BEGIN';\nexport const FETCH_ADDITIONAL_SERVICES_REQUEST_ERROR =\n    'broker-admin/price-settings/additional-services/FETCH_ADDITIONAL_SERVICES_REQUEST_ERROR';\nexport const FETCH_ADDITIONAL_SERVICES_REQUEST_SUCCESS =\n    'broker-admin/price-settings/additional-services/FETCH_ADDITIONAL_SERVICES_REQUEST_SUCCESS';\n\nexport const UPDATE_ADDITIONAL_SERVICE_REQUEST =\n    'broker-admin/price-settings/additional-services/UPDATE_ADDITIONAL_SERVICE_REQUEST';\nexport const UPDATE_ADDITIONAL_SERVICE_REQUEST_BEGIN =\n    'broker-admin/price-settings/additional-services/UPDATE_ADDITIONAL_SERVICE_REQUEST_BEGIN';\nexport const UPDATE_ADDITIONAL_SERVICE_REQUEST_ERROR =\n    'broker-admin/price-settings/additional-services/UPDATE_ADDITIONAL_SERVICE_REQUEST_ERROR';\nexport const UPDATE_ADDITIONAL_SERVICE_REQUEST_SUCCESS =\n    'broker-admin/price-settings/additional-services/UPDATE_ADDITIONAL_SERVICE_REQUEST_SUCCESS';\n\nexport type AdditionalServicesStateT = {\n    list: DictCarrierAdditionalServiceGroupT[] | null;\n    updateRequest: RequestStatusT;\n    fetchRequest: RequestStatusT;\n};\n\nexport type FetchAdditionalServicesActionT = {\n    type: typeof FETCH_ADDITIONAL_SERVICES_REQUEST;\n    options: FetchOptionsT;\n};\n\nexport type FetchAdditionalServicesBeginActionT = {\n    type: typeof FETCH_ADDITIONAL_SERVICES_REQUEST_BEGIN;\n};\n\nexport type FetchAdditionalServicesSuccessActionT = {\n    type: typeof FETCH_ADDITIONAL_SERVICES_REQUEST_SUCCESS;\n    list: DictCarrierAdditionalServiceGroupT[] | null;\n};\n\nexport type FetchAdditionalServicesErrorActionT = {\n    type: typeof FETCH_ADDITIONAL_SERVICES_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type UpdateAdditionalServiceActionT = {\n    type: typeof UPDATE_ADDITIONAL_SERVICE_REQUEST;\n    changes: ApiCarrierAdditionalServiceChangesT[];\n};\n\nexport type UpdateAdditionalServiceBeginActionT = {\n    type: typeof UPDATE_ADDITIONAL_SERVICE_REQUEST_BEGIN;\n};\n\nexport type UpdateAdditionalServiceSuccessActionT = {\n    type: typeof UPDATE_ADDITIONAL_SERVICE_REQUEST_SUCCESS;\n    changes: ApiCarrierAdditionalServiceChangesT[];\n};\n\nexport type UpdateAdditionalServiceErrorActionT = {\n    type: typeof UPDATE_ADDITIONAL_SERVICE_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type AdditionalServicesActionT =\n    | UpdateAdditionalServiceActionT\n    | UpdateAdditionalServiceBeginActionT\n    | UpdateAdditionalServiceSuccessActionT\n    | UpdateAdditionalServiceErrorActionT\n    | FetchAdditionalServicesActionT\n    | FetchAdditionalServicesBeginActionT\n    | FetchAdditionalServicesSuccessActionT\n    | FetchAdditionalServicesErrorActionT;\n","import { FieldsEnum, FormValuesT } from './constants';\n\nconst getInitialValues = (): FormValuesT => {\n    return {\n        [FieldsEnum.reason]: '',\n    };\n};\n\nexport default getInitialValues;\n","import { ApiRequestError } from '../../errors/api-request-error';\nimport { logError } from 'common/utils/logger';\n\nexport enum TranziitApiRequestErrorSubTypeEnum {\n    accessDeniedToApi = 'accessDeniedToApi',\n    accessDeniedToEntity = 'accessDeniedToEntity',\n    notFoundUser = 'notFoundUser',\n    notFoundCompany = 'notFoundCompany',\n    emailAlreadyExist = 'emailAlreadyExist',\n    phoneAlreadyExist = 'phoneAlreadyExist',\n    canNotDowngradeLastAdminInTeam = 'canNotDowngradeLastAdminInTeam',\n    canNotDeleteHimself = 'canNotDeleteHimself',\n    orderCreationExpiredRFQ = 'orderCreationExpiredRFQ',\n    orderCreation_ExpiredPriceOffer = 'orderCreation_ExpiredPriceOffer',\n    orderCreation_FailedCompleteRFQ_CapacityExcess = 'orderCreation_FailedCompleteRFQ_CapacityExcess',\n    orderCreation_FailedCompleteRFQ_Overweight = 'orderCreation_FailedCompleteRFQ_Overweight',\n    orderCreation_FailedPreviewRoute_RouteNotFound = 'orderCreation_FailedPreviewRoute_RouteNotFound',\n    orderCreation_FailedPreviewRoute_ProhibitedCountry = 'orderCreation_FailedPreviewRoute_ProhibitedCountry',\n    orderCreation_FailedPreviewRoute_RouteWaypointNotLinkable = 'orderCreation_FailedPreviewRoute_RouteWaypointNotLinkable',\n    orderCreation_ShipperNotAllowedToHaveNewOrders = 'orderCreation_ShipperNotAllowedToHaveNewOrders',\n    orderCreation_ShipperNotAvailable = 'orderCreation_ShipperNotAvailable',\n    orderCreation_AlreadyCompletedRFQ = 'orderCreation_AlreadyCompletedRFQ',\n    noRouteFound = 'noRouteFound',\n    successorHasNotActiveStatus = 'successorHasNotActiveStatus',\n    couldNotUnLockCompany = 'couldNotUnLockCompany',\n    notAuthorizedUser = 'notAuthorizedUser',\n    alreadyAssignedDrivers = 'already-assigned-drivers',\n    firebaseTooManyResendInviteRequests = 'firebaseTooManyResendInviteRequests',\n    expiredContextPreviewReserve = 'expiredContextPreviewReserve',\n    failedArchiveInTransitDriver = 'failedArchiveInTransitDriver',\n    assignmentSelfCostPrediction = 'assignmentSelfCostPrediction',\n    brokerOrderEdit_ExpirationContext = 'brokerOrderEdit_ExpirationContext',\n    brokerDeadheadCreation_ExpirationContext = 'brokerDeadheadCreation_ExpirationContext',\n    evidenceOfTaxDetails_WrongVat = 'evidenceOfTaxDetails_WrongVat',\n    deadheadCreation_InvalidVehicle = 'deadheadCreation_InvalidVehicle',\n    manualRateRuleCreation_InvalidZipsFrom = 'manualRateRuleCreation_InvalidZipsFrom',\n    manualRateRuleUpdate_InvalidZipsFrom = 'manualRateRuleUpdate_InvalidZipsFrom',\n    manualRateRuleCreation_InvalidZipsTo = 'manualRateRuleCreation_InvalidZipsTo',\n    manualRateRuleUpdate_InvalidZipsTo = 'manualRateRuleUpdate_InvalidZipsTo',\n    tenderJobNotFound = 'tenderJobNotFound',\n    tenderJobNotInProcessingState = 'tenderJobNotInProcessingState',\n    documents_unsupportedFileType = 'documents_unsupportedFileType',\n    attachedPapers_unsupportedFileType = 'attachedPapers_unsupportedFileType',\n}\n\nconst tranziitApiRequestErrorSubTypeEnum = new Set(Object.values(TranziitApiRequestErrorSubTypeEnum));\n\nexport class TranziitApiRequestError<TResponseData = any, TRequestConfig = any> extends ApiRequestError<\n    TResponseData,\n    TRequestConfig\n> {\n    subType: TranziitApiRequestErrorSubTypeEnum;\n\n    constructor(\n        apiRequestError: ApiRequestError<TResponseData, TRequestConfig>,\n        subType: TranziitApiRequestErrorSubTypeEnum,\n    ) {\n        super(apiRequestError, apiRequestError.type);\n\n        this.subType = subType;\n\n        // fix for instanceof\n        // https://github.com/microsoft/TypeScript/issues/13965\n        // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work\n        Object.setPrototypeOf(this, TranziitApiRequestError.prototype);\n    }\n}\n\nexport const checkIsTranziitApiRequestError = (error: Error | null | undefined): error is TranziitApiRequestError => {\n    const errorSubType = (error as TranziitApiRequestError)?.subType;\n\n    return tranziitApiRequestErrorSubTypeEnum.has(errorSubType);\n};\n\nexport const extractApiRequestErrorTraceId = (error: Error | null): string | null => {\n    try {\n        return (error as ApiRequestError)?.response?.traceID;\n    } catch (error) {\n        logError('extract trace id', error);\n        return null;\n    }\n};\n","import * as React from 'react';\nimport EuroSymbolIcon from 'common/icons/EuroSymbolIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { isNonNil } from 'common/utils';\nimport { useTranslation } from 'react-i18next';\nimport { useCommonPriceDetails } from 'common/components/price-details/hooks/common';\nimport { useAdditionalServicesList } from 'common/components/price-details/hooks/additional-services-list';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport isNumber from 'lodash/isNumber';\nimport { checkShouldShowLayover } from 'common/components/price-details/utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport {\n    ApiBrokerAdditionalServiceT,\n    ApiCarrierAdditionalServiceT,\n    APIFuelDetailsT,\n    ApiTollByRoadTypeT,\n} from 'common/utils/api/models';\nimport { AppliedRuleT } from 'common/store/order-creation/models';\n\ntype PropsT = {\n    className?: string;\n    totalPriceLabel: React.ReactNode;\n    totalPriceTooltip?: React.ReactNode;\n    totalPrice: number | undefined;\n    totalPriceDiff?: number | null | undefined;\n    totalPriceIsInvertedPriceDiff?: boolean;\n    lineHaulCost: number | undefined;\n    deadheadLineHaulCost?: number | undefined;\n    payloadLineHaulCost?: number | undefined;\n    tollCost: number | undefined;\n    tollByRoadType: ApiTollByRoadTypeT | undefined;\n    co2: number | undefined;\n    layoverCost: number | undefined;\n    layoverSeconds: number | undefined;\n    layoverPaidHours: number | undefined;\n    fuelDetails: APIFuelDetailsT | null | undefined;\n    teamDriveCost: number | undefined;\n    travelHours: number | undefined;\n    additionalServiceItems: Array<ApiBrokerAdditionalServiceT | ApiCarrierAdditionalServiceT> | null | undefined;\n    appliedRules?: Array<AppliedRuleT>;\n    testSelector?: string;\n    shouldAlwaysRenderExpandTrigger?: boolean;\n};\n\nconst CarrierCostPriceInfoTable: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        totalPrice,\n        totalPriceDiff,\n        totalPriceIsInvertedPriceDiff,\n        totalPriceLabel,\n        totalPriceTooltip,\n        lineHaulCost,\n        deadheadLineHaulCost,\n        payloadLineHaulCost,\n        co2,\n        fuelDetails,\n        tollCost,\n        tollByRoadType,\n        layoverCost,\n        layoverSeconds,\n        layoverPaidHours,\n        teamDriveCost,\n        travelHours,\n        additionalServiceItems,\n        appliedRules,\n        shouldAlwaysRenderExpandTrigger,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const commonPriceDetails = useCommonPriceDetails();\n\n    const additionalServicesList = useAdditionalServicesList({\n        additionalServiceItems,\n        isAllowCarrierServices: false,\n        isAllowBrokerServices: true,\n    });\n\n    const list: Array<PriceDetailT | null> = [\n        {\n            iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.gray} />,\n            title: totalPriceLabel,\n            tooltipNode: totalPriceTooltip ? (\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                    {totalPriceTooltip}\n                </TooltipContent>\n            ) : null,\n            price: totalPrice,\n            priceDiff: totalPriceDiff,\n            isInvertedPriceDiff: totalPriceIsInvertedPriceDiff,\n            placeholder: t('common:info-table.placeholders.carrier-not-assigned'),\n            list: isNumber(totalPrice)\n                ? [\n                      {\n                          ...commonPriceDetails.lineHaul,\n                          price: lineHaulCost,\n                          footerNode: commonPriceDetails.getAppliedRulesFooterNode(['LINE_HAUL'], appliedRules),\n                          list: commonPriceDetails.getLineHaulList({\n                              deadheadLineHaulCost,\n                              payloadLineHaulCost,\n                          }),\n                      },\n                      {\n                          ...commonPriceDetails.getRoadTaxesRow(co2),\n                          price: tollCost,\n                          footerNode: commonPriceDetails.getAppliedRulesFooterNode(['ROAD_TAXES'], appliedRules),\n                          list: commonPriceDetails.getRoadTaxesList(tollByRoadType, appliedRules),\n                      },\n                      {\n                          ...commonPriceDetails.getFuelCostRow(fuelDetails?.fuelType),\n                          price: fuelDetails?.totalCost,\n                          footerNode: commonPriceDetails.getAppliedRulesFooterNode(['FUEL'], appliedRules),\n                          list: commonPriceDetails.getFuelCostsByCountryList(fuelDetails?.byCountry),\n                      },\n                      isNumber(teamDriveCost)\n                          ? {\n                                ...commonPriceDetails.getTeamDrive({\n                                    travelHours,\n                                }),\n                                price: teamDriveCost,\n                            }\n                          : null,\n                      checkShouldShowLayover(layoverSeconds, layoverCost)\n                          ? {\n                                ...commonPriceDetails.getLayoverCostRow(layoverSeconds, layoverPaidHours),\n                                price: layoverCost || 0,\n                            }\n                          : null,\n                      {\n                          ...commonPriceDetails.getAdditionalServicesRow(additionalServiceItems),\n                          list: additionalServicesList?.length\n                              ? [\n                                    {\n                                        list: additionalServicesList,\n                                    },\n                                ]\n                              : undefined,\n                      },\n                  ].filter(isNonNil)\n                : [],\n        },\n    ].filter(isNonNil);\n\n    return (\n        <PriceDetails\n            className={className}\n            list={list}\n            shouldAlwaysRenderExpandTrigger={shouldAlwaysRenderExpandTrigger}\n        />\n    );\n});\n\nexport default CarrierCostPriceInfoTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"DropdownControlOptionLabel__option___sQl0g\",\"option--isSelected\":\"DropdownControlOptionLabel__option--isSelected___hWVpd\",\"option--withoutPaddings\":\"DropdownControlOptionLabel__option--withoutPaddings___wu10t\",\"option__left-icon\":\"DropdownControlOptionLabel__option__left-icon___PzqNs\",\"option__left-icon--isDisabled\":\"DropdownControlOptionLabel__option__left-icon--isDisabled___og40d\",\"option__right-icon\":\"DropdownControlOptionLabel__option__right-icon___nDhfZ\",\"option__label\":\"DropdownControlOptionLabel__option__label___EgZVT\",\"option__label--isDisabled\":\"DropdownControlOptionLabel__option__label--isDisabled___fSj9X\",\"option__label--isEmpty\":\"DropdownControlOptionLabel__option__label--isEmpty___etwar\",\"option__spacer\":\"DropdownControlOptionLabel__option__spacer___BjZaQ\",\"option__description\":\"DropdownControlOptionLabel__option__description___WBs8V\",\"fadeIn\":\"DropdownControlOptionLabel__fadeIn___e5iXX\",\"blinking\":\"DropdownControlOptionLabel__blinking___gaOKq\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"OfferDetails__inner___aLg8n\",\"rates\":\"OfferDetails__rates___me7LU\",\"price\":\"OfferDetails__price___pfmoq\",\"price-details\":\"OfferDetails__price-details___sjsNB\",\"price-details--isGreenTrack\":\"OfferDetails__price-details--isGreenTrack___EXmvd\",\"price-details__list\":\"OfferDetails__price-details__list___BqiPx\",\"price-details__list--isLast\":\"OfferDetails__price-details__list--isLast___Prs8F\",\"loader\":\"OfferDetails__loader___pMgjX\",\"placeholder\":\"OfferDetails__placeholder___B5A8w\",\"placeholder__column--first\":\"OfferDetails__placeholder__column--first___QbSwj\",\"placeholder__column--second\":\"OfferDetails__placeholder__column--second___S8Me2\",\"placeholder__column--third\":\"OfferDetails__placeholder__column--third___B_auR\",\"placeholder__box\":\"OfferDetails__placeholder__box___IBOFx\",\"placeholder__box--dates\":\"OfferDetails__placeholder__box--dates___G07ld\",\"placeholder__box--price\":\"OfferDetails__placeholder__box--price___TErzV\",\"placeholder__box--rate\":\"OfferDetails__placeholder__box--rate___WQV2F\",\"broker-info-row--min-line-haul-cost\":\"OfferDetails__broker-info-row--min-line-haul-cost___aTpd3\",\"broker-info-row--fuel-weighted-average-price\":\"OfferDetails__broker-info-row--fuel-weighted-average-price___XzcUQ\",\"fadeIn\":\"OfferDetails__fadeIn___qdkcT\",\"blinking\":\"OfferDetails__blinking___JqffA\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './TemperatureRangePicker.scss';\n\nimport { TemperatureRangeT } from '../constants';\nimport RangeSelector from 'common/components/RangeSelector/RangeSelector';\nimport { StyleGuideColorsEnum, TemperatureModeEnum, temperatureRanges } from 'common/constants';\nimport { TEMPERATURE_MODE_T } from 'common/components/TemperatureRange/TemperatureRange';\nimport SnowflakeIcon from 'common/icons/SnowflakeIcon';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    name: string;\n    label: string;\n    value: TemperatureRangeT;\n    onChange: (value: TemperatureRangeT) => void;\n    minValueRange?: number;\n    className?: string;\n};\n\nconst MIN_VALUE = -25;\nconst MAX_VALUE = 25;\n\ntype TemperaturePresetT = {\n    title: string;\n    value: TemperatureRangeT;\n    color: string;\n};\n\nconst formatValue = (timeWindow: TemperatureRangeT): string => {\n    if (!timeWindow) {\n        return '';\n    }\n\n    const [min, max] = timeWindow;\n\n    return `${min} .. ${max} °C`;\n};\n\nconst temperatureModeColorsMap: Record<TemperatureModeEnum, string> = {\n    [TemperatureModeEnum.deepFrozen]: '#1665d8',\n    [TemperatureModeEnum.ultraFresh]: '#0e9aae',\n    [TemperatureModeEnum.dry]: '#6b6c6f',\n    [TemperatureModeEnum.chilled]: '#4b6518',\n    [TemperatureModeEnum.ambient]: '#ac7213',\n};\n\nconst TemperatureRangePicker: React.FC<PropsT> = React.memo((props) => {\n    const { label, value, onChange, minValueRange, className } = props;\n\n    const { t } = useTranslation();\n\n    const presets: Array<TemperaturePresetT> = React.useMemo(() => {\n        return [\n            TemperatureModeEnum.deepFrozen,\n            TemperatureModeEnum.ultraFresh,\n            TemperatureModeEnum.dry,\n            TemperatureModeEnum.chilled,\n            TemperatureModeEnum.ambient,\n        ].map((temperatureMode) => {\n            const range = temperatureRanges[temperatureMode] || [];\n\n            return {\n                title: t(TEMPERATURE_MODE_T[temperatureMode], {\n                    minTemperature: range[0],\n                    maxTemperature: range[1],\n                }),\n                value: range,\n                color: temperatureModeColorsMap[temperatureMode],\n            };\n        });\n    }, [t]);\n\n    const handleChange = React.useCallback(\n        (range: TemperatureRangeT): void => {\n            onChange(range);\n        },\n        [onChange],\n    );\n\n    const labelsConfig = React.useMemo(() => {\n        return {\n            hasStartStep: true,\n            hasEndStep: true,\n            shownLabelCount: 25,\n            shownStepCount: 5,\n        };\n    }, []);\n\n    const valuesRange = React.useMemo(() => {\n        return [MIN_VALUE, MAX_VALUE];\n    }, []);\n\n    const ranges = React.useMemo(() => {\n        return [];\n    }, []);\n\n    const renderLabel = React.useCallback((value: number): string => {\n        return `${value} °C`;\n    }, []);\n\n    return (\n        <div className={cs(cx('picker'), className)}>\n            <div className={cx('label')}>\n                <div className={cx('label__icon')}>\n                    <SnowflakeIcon fillColor={StyleGuideColorsEnum.brandDark} />\n                </div>\n                <div className={cx('label__label')}>{label}</div>\n                <div className={cx('label__value')}>\n                    <PillLabel isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                        {formatValue(value)}\n                    </PillLabel>\n                </div>\n            </div>\n            <RangeSelector\n                valuesRange={valuesRange}\n                availableValues={valuesRange}\n                ranges={ranges}\n                values={value}\n                valueStep={1}\n                minValuesRangeWidth={minValueRange}\n                labelsConfig={labelsConfig}\n                renderLabel={renderLabel}\n                onSelect={handleChange}\n            />\n            <div className={cx('presets')}>\n                {presets.map((preset) => (\n                    <div\n                        key={preset.title}\n                        className={cx('preset')}\n                        onClick={() => handleChange(preset.value)}\n                        style={{ color: preset.color }}\n                    >\n                        {preset.title}\n                    </div>\n                ))}\n            </div>\n        </div>\n    );\n});\n\nexport default TemperatureRangePicker;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"DeadheadCreationReceipt__wrap___zdBjI\",\"tour-type-tabs\":\"DeadheadCreationReceipt__tour-type-tabs___iJk2T\",\"table\":\"DeadheadCreationReceipt__table___O5jJ6\",\"asset-type-tabs\":\"DeadheadCreationReceipt__asset-type-tabs___UyY2r\",\"receipt\":\"DeadheadCreationReceipt__receipt___i3O4y\",\"calculation__overlay\":\"DeadheadCreationReceipt__calculation__overlay___aIhaK\",\"calculation__loader\":\"DeadheadCreationReceipt__calculation__loader___R0hmZ\",\"fadeIn\":\"DeadheadCreationReceipt__fadeIn___mRltp\",\"blinking\":\"DeadheadCreationReceipt__blinking___vbIir\"};","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport WarningFilterOptionsDropdown, {\n    WarningFilterOptionT,\n} from 'common/components/Table/WarningFilterOptionsDropdown/WarningFilterOptionsDropdown';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { colorCodingNotificationLabelTheme } from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport { BrokerOrderStatsT } from 'broker-admin/store/broker-order-stats/models';\n\ntype PropsT = {\n    className?: string;\n    stat: BrokerOrderStatsT | null;\n    queryFilters: QueryFiltersT;\n    onQueryFiltersChange: (queryFiltersChanges: Partial<QueryFiltersT>) => void;\n};\n\nconst warningsQueryFiltersKeys = [\n    QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier,\n    QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier,\n    QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets,\n    QueryFiltersKeysEnum.runOutOfTimeToAssignAssets,\n    QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver,\n    QueryFiltersKeysEnum.runOutOfTimeToAssignDriver,\n    QueryFiltersKeysEnum.tourDelaying,\n    QueryFiltersKeysEnum.noShow,\n    QueryFiltersKeysEnum.shipmentMissed,\n] as const;\n\nconst WarningsFilter: React.FC<PropsT> = React.memo((props) => {\n    const { className, stat, queryFilters, onQueryFiltersChange } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo(\n        (): Array<WarningFilterOptionT<(typeof warningsQueryFiltersKeys)[number]> | SpecialOptionEnum> => [\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier,\n                label: t('broker-orders.list.warning-filters.running-out-of-time-to-assign-carrier'),\n                notificationProps: {\n                    count: stat?.runningOutToAssignCarrier,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier,\n                label: t('broker-orders.list.warning-filters.run-out-of-time-to-assign-carrier'),\n                notificationProps: {\n                    count: stat?.runOutToAssignCarrier,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets,\n                label: t('broker-orders.list.warning-filters.running-out-of-time-to-assign-assets'),\n                notificationProps: {\n                    count: stat?.runningOutOfTimeToAssignAssets,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.runOutOfTimeToAssignAssets,\n                label: t('broker-orders.list.warning-filters.run-out-of-time-to-assign-assets'),\n                notificationProps: {\n                    count: stat?.runOutOfTimeToAssignAssets,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver,\n                label: t('broker-orders.list.warning-filters.running-out-of-time-to-assign-driver'),\n                notificationProps: {\n                    count: stat?.runningOutOfTimeToAssignDriver,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.runOutOfTimeToAssignDriver,\n                label: t('broker-orders.list.warning-filters.run-out-of-time-to-assign-driver'),\n                notificationProps: {\n                    count: stat?.runOutOfTimeToAssignDriver,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.tourDelaying,\n                label: t('broker-orders.list.warning-filters.tour-delaying'),\n                notificationProps: {\n                    count: stat?.delaying,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.noShow,\n                label: t('broker-orders.list.warning-filters.no-show'),\n                notificationProps: {\n                    count: stat?.noShow,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.shipmentMissed,\n                label: t('broker-orders.list.warning-filters.shipment-missed'),\n                notificationProps: {\n                    count: stat?.missed,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n        ],\n        [t, stat],\n    );\n\n    const value = React.useMemo(() => {\n        return warningsQueryFiltersKeys.filter((queryFiltersKey) => queryFilters[queryFiltersKey]);\n    }, [queryFilters]);\n\n    const handleSelect = (values: Array<(typeof warningsQueryFiltersKeys)[number]>) => {\n        const queryFiltersChanges = warningsQueryFiltersKeys.reduce<Partial<QueryFiltersT>>((acc, queryFiltersKey) => {\n            acc[queryFiltersKey] = values.includes(queryFiltersKey) ? true : undefined;\n\n            return acc;\n        }, {});\n\n        onQueryFiltersChange(queryFiltersChanges);\n    };\n\n    return (\n        <WarningFilterOptionsDropdown<(typeof warningsQueryFiltersKeys)[number]>\n            className={className}\n            value={value}\n            onSelect={handleSelect}\n            options={options}\n        />\n    );\n});\n\nexport default WarningsFilter;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { ApiGroupedNotificationCountsT, GroupedNotificationCountsT } from 'common/utils/api/models';\n\nexport const FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST =\n    'common/grouped-notification-counts/FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST';\nexport const FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_BEGIN =\n    'common/grouped-notification-counts/FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_BEGIN';\nexport const FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_SUCCESS =\n    'common/grouped-notification-counts/FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_SUCCESS';\nexport const FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_ERROR =\n    'common/grouped-notification-counts/FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_ERROR';\n\nexport type FetchGroupedNotificationCountsActionT = {\n    type: typeof FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST;\n    options?: FetchOptionsT;\n};\n\nexport type FetchGroupedNotificationCountsBeginActionT = {\n    type: typeof FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_BEGIN;\n};\n\nexport type FetchGroupedNotificationCountsSuccessActionT = {\n    type: typeof FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_SUCCESS;\n    counts: ApiGroupedNotificationCountsT | null;\n};\n\nexport type FetchGroupedNotificationCountsErrorActionT = {\n    type: typeof FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type GroupedNotificationCountsActionT =\n    | FetchGroupedNotificationCountsBeginActionT\n    | FetchGroupedNotificationCountsSuccessActionT\n    | FetchGroupedNotificationCountsErrorActionT\n    | FetchGroupedNotificationCountsActionT;\n\nexport type GroupedNotificationCountsStateT = {\n    fetchRequest: RequestStatusT;\n    counts: GroupedNotificationCountsT | null;\n};\n","import { FieldsEnum, FormValuesT, RateSourceEnum } from './constants';\nimport { AssetDataT } from 'common/layouts/dialogs/ActivateAssetDialogModal/models';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { ApiActivateVehiclesRequestT } from 'common/utils/api/models';\nimport { isNonNil } from 'common/utils';\n\nexport const prepareActivateVehiclesRequest = (\n    assets: Array<AssetDataT>,\n    values: FormValuesT,\n): ApiActivateVehiclesRequestT | null => {\n    const assetIds = assets.map((asset) => asset?.id).filter(isNonNil) || [];\n\n    if (values[FieldsEnum.source] === RateSourceEnum.current) {\n        return {\n            ids: assetIds,\n        };\n    }\n\n    if (values[FieldsEnum.source] === RateSourceEnum.new) {\n        return {\n            ids: assetIds,\n            ratePerKm: parseSimpleNumber(values[FieldsEnum.rate]),\n        };\n    }\n\n    const contractId = values[FieldsEnum.source];\n    if (contractId) {\n        return {\n            ids: assetIds,\n            contractId,\n        };\n    }\n\n    return null;\n};\n","import * as React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { parseQuery } from '../query';\n\nconst useQuery = <QueryT extends {}>(): Partial<QueryT> => {\n    const location = useLocation();\n    const { search } = location;\n\n    const query = React.useMemo(() => parseQuery(search), [search]);\n\n    return query as QueryT;\n};\n\nexport default useQuery;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Divider.scss';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n};\n\nconst Divider: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    return <div className={cs(cx('divider'), className)} data-test-selector=\"divider\" />;\n});\n\nexport default Divider;\n","import {\n    CompanyDocumentsStateT,\n    DocumentsActionT,\n    DocumentsStateT,\n    DOWNLOAD_DOCUMENT_REQUEST_BEGIN,\n    DOWNLOAD_DOCUMENT_REQUEST_ERROR,\n    DOWNLOAD_DOCUMENT_REQUEST_SUCCESS,\n    FETCH_DOCUMENTS_REQUEST_BEGIN,\n    FETCH_DOCUMENTS_REQUEST_ERROR,\n    FETCH_DOCUMENTS_REQUEST_SUCCESS,\n    RESET,\n    UPLOAD_DOCUMENT_REQUEST_BEGIN,\n    UPLOAD_DOCUMENT_REQUEST_ERROR,\n    UPLOAD_DOCUMENT_REQUEST_SUCCESS,\n    FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN,\n    FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR,\n    FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS,\n    UPDATE_DOCUMENT_REQUEST_BEGIN,\n    UPDATE_DOCUMENT_REQUEST_ERROR,\n    UPDATE_DOCUMENT_REQUEST_SUCCESS,\n    UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN,\n    UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS,\n    UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport keyBy from 'lodash/keyBy';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCompanyDocumentsState: CompanyDocumentsStateT = {\n    idsByType: null,\n    byId: null,\n    ids: null,\n    uploadRequest: requestStatus.initial,\n    uploadingDictDocumentId: null,\n    updateRequest: requestStatus.initial,\n    updatingDocumentId: null,\n    fetchDocumentsRequest: requestStatus.initial,\n    downloadDocumentRequest: requestStatus.initial,\n    evidenceOfTaxDetails: null,\n    fetchEvidenceOfTaxDetailsRequest: requestStatus.initial,\n    updateEvidenceOfTaxDetailsRequest: requestStatus.initial,\n};\n\nconst initialState: DocumentsStateT = {};\n\nexport default (state = initialState, action: DocumentsActionT | DestroySessionActionT): DocumentsStateT => {\n    switch (action.type) {\n        case FETCH_DOCUMENTS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    fetchDocumentsRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_DOCUMENTS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    fetchDocumentsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_DOCUMENTS_REQUEST_SUCCESS: {\n            const { companyId, documentIdsByType, documentsList } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            const ids = documentsList.map((document) => document.id);\n            const byId = keyBy(documentsList, 'id');\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    idsByType: documentIdsByType,\n                    byId,\n                    ids,\n                    fetchDocumentsRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DOWNLOAD_DOCUMENT_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    downloadDocumentRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case DOWNLOAD_DOCUMENT_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    downloadDocumentRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DOWNLOAD_DOCUMENT_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    downloadDocumentRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case UPLOAD_DOCUMENT_REQUEST_BEGIN: {\n            const { companyId, dictDocumentId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    uploadingDictDocumentId: dictDocumentId,\n                    uploadRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case UPLOAD_DOCUMENT_REQUEST_ERROR: {\n            const { error } = action;\n\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    uploadingDictDocumentId: null,\n                    uploadRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPLOAD_DOCUMENT_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    uploadingDictDocumentId: null,\n                    uploadRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case UPDATE_DOCUMENT_REQUEST_BEGIN: {\n            const { companyId, documentId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    updateRequest: requestStatus.loading,\n                    updatingDocumentId: documentId,\n                },\n            };\n        }\n\n        case UPDATE_DOCUMENT_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    updateRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPDATE_DOCUMENT_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    updateRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    updateEvidenceOfTaxDetailsRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    updateEvidenceOfTaxDetailsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    updateEvidenceOfTaxDetailsRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    fetchEvidenceOfTaxDetailsRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    fetchEvidenceOfTaxDetailsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS: {\n            const { companyId, evidenceOfTaxDetails } = action;\n\n            const companyDocumentsState = state[companyId] || initialCompanyDocumentsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyDocumentsState,\n                    evidenceOfTaxDetails,\n                    fetchEvidenceOfTaxDetailsRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DESTROY_SESSION:\n        case RESET: {\n            return {\n                ...initialState,\n            };\n        }\n\n        default:\n            return state;\n    }\n};\n","import { AnyFetchRFQsPageQueryT, RFQT } from './models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_RFQS_PAGE_REQUEST = 'common/rfqs/FETCH_RFQS_PAGE_REQUEST';\nexport const FETCH_RFQS_PAGE_REQUEST_BEGIN = 'common/rfqs/FETCH_RFQS_PAGE_REQUEST_BEGIN';\nexport const FETCH_RFQS_PAGE_REQUEST_ERROR = 'common/rfqs/FETCH_RFQS_PAGE_REQUEST_ERROR';\nexport const FETCH_RFQS_PAGE_REQUEST_SUCCESS = 'common/rfqs/FETCH_RFQS_PAGE_REQUEST_SUCCESS';\n\nexport const RESET_RFQS = 'common/rfqs/RESET_RFQS';\n\nexport type RFQsStateT = Record<PartnerIdT, CompanyRFQsStateT>;\n\nexport type CompanyRFQsStateT = PaginationStateT<RFQT, AnyFetchRFQsPageQueryT>;\n\nexport type FetchRFQsPageActionT = {\n    type: typeof FETCH_RFQS_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: AnyFetchRFQsPageQueryT;\n    companyId: CompanyIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchRFQsPageBeginActionT = {\n    type: typeof FETCH_RFQS_PAGE_REQUEST_BEGIN;\n    pageNumber: PageNumberT;\n    query: AnyFetchRFQsPageQueryT;\n    companyId: CompanyIdT;\n};\n\nexport type FetchRFQsPageSuccessActionT = {\n    type: typeof FETCH_RFQS_PAGE_REQUEST_SUCCESS;\n    query: AnyFetchRFQsPageQueryT;\n    pageNumber: PageNumberT;\n    pageResponse: PageResponseT<RFQT> | null;\n    companyId: CompanyIdT;\n};\n\nexport type FetchRFQsPageErrorActionT = {\n    type: typeof FETCH_RFQS_PAGE_REQUEST_ERROR;\n    query: AnyFetchRFQsPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type ResetRFQsActionT = {\n    type: typeof RESET_RFQS;\n    companyId: CompanyIdT;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type RFQsActionT =\n    | FetchRFQsPageActionT\n    | FetchRFQsPageBeginActionT\n    | FetchRFQsPageSuccessActionT\n    | FetchRFQsPageErrorActionT\n    | ResetRFQsActionT;\n","import * as React from 'react';\n\nimport HeaderSideBarLoader from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLoader/HeaderSideBarLoader';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type PropsT = {\n    requestStatus: RequestStatusT;\n    hasCachedData: boolean;\n    /** Show loader when entity is being updated, deleted, etc. */\n    isForceShowLoader?: boolean;\n};\n\nconst SideBarHeaderRequestStatus: React.FC<PropsT> = React.memo((props) => {\n    const { requestStatus, hasCachedData, isForceShowLoader = false } = props;\n    const isShow = (requestStatus.loading && hasCachedData) || isForceShowLoader;\n\n    return <HeaderSideBarLoader isShow={isShow} />;\n});\n\nSideBarHeaderRequestStatus.displayName = 'SideBarHeaderRequestStatus';\n\nexport default SideBarHeaderRequestStatus;\n","import { eventChannel } from 'redux-saga';\nimport { call, take } from 'redux-saga/effects';\n\nconst SAFETY_MS = 10; // wait for call channel\n\nexport function createIntervalChannel(intervalMs: number) {\n    return eventChannel((emitter) => {\n        const intervalId = setInterval(() => {\n            emitter({});\n        }, intervalMs + SAFETY_MS);\n\n        return () => {\n            clearInterval(intervalId);\n        };\n    });\n}\n\nfunction* intervalSaga(jobSaga: any, intervalMs: number): WrapGeneratorT<void> {\n    const intervalChannel = yield call(createIntervalChannel, intervalMs);\n    while (true) {\n        yield take(intervalChannel);\n        yield call(jobSaga);\n    }\n}\n\nexport default intervalSaga;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { useSelector } from 'react-redux';\nimport { selectMaxWindowSizeMs, selectMinWindowSizeMs } from 'common/store/settings/selectors';\n\ntype PropsT = {\n    timeWindow: TimeWindowT | null | undefined;\n    className?: string;\n};\n\nconst TimeIntervalLimitPillLabel: React.FC<PropsT> = (props) => {\n    const { timeWindow, className } = props;\n\n    const { t } = useTranslation();\n\n    const minWindowSizeMs = useSelector(selectMinWindowSizeMs);\n    const maxWindowSizeMs = useSelector(selectMaxWindowSizeMs);\n\n    if (!timeWindow) {\n        return null;\n    }\n\n    const diff = timeWindow[1] - timeWindow[0];\n\n    return (\n        <>\n            {false && diff === minWindowSizeMs && (\n                <PillLabel isSymmetrical theme={PillLabelThemeEnum.blazeOrange} className={className}>\n                    {t('broker-order-route-edit.pills.min-time-slot')}\n                </PillLabel>\n            )}\n            {diff === maxWindowSizeMs && (\n                <PillLabel isSymmetrical theme={PillLabelThemeEnum.blazeOrange} className={className}>\n                    {t('broker-order-route-edit.pills.max-time-slot')}\n                </PillLabel>\n            )}\n        </>\n    );\n};\n\nexport default TimeIntervalLimitPillLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"SpotAssetsAssignmentFooterContent__content___psYyc\",\"fadeIn\":\"SpotAssetsAssignmentFooterContent__fadeIn___SE1VH\",\"blinking\":\"SpotAssetsAssignmentFooterContent__blinking___ahYCK\"};","export enum QueryKeysEnum {\n    contextId = 'contextId',\n    doNotIncludeCostsInTransportOrder = 'doNotIncludeCostsInTransportOrder',\n}\n\nexport const NEW_DEADHEAD_TOUR_EVENT_ID = 'NEW_DEADHEAD_TOUR_EVENT_ID';\n","import * as React from 'react';\nimport { useSelector } from 'react-redux';\nimport { selectAllowedCreateAnonymously, selectUser } from 'common/store/auth/selectors';\nimport LeftMenuLayoutBase from 'common/layouts/LeftMenuLayout/LeftMenuLayout';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\n\ntype PropsT = {\n    children: React.ReactElement;\n};\n\nconst AuthLoader: React.FC<PropsT> = (props) => {\n    const { children } = props;\n\n    const shouldCreateAnonymously = useSelector(selectAllowedCreateAnonymously);\n    const user = useSelector(selectUser);\n\n    if (!shouldCreateAnonymously) {\n        return children;\n    }\n\n    if (shouldCreateAnonymously && user) {\n        return children;\n    }\n\n    return (\n        <LeftMenuLayoutBase menuLinks={[]} accountLink=\"\" logoLink=\"\" badges={{}}>\n            <LoaderOverlay />\n        </LeftMenuLayoutBase>\n    );\n};\n\nexport default AuthLoader;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"SendingToSpotFooterContent__content___TQVZC\",\"fadeIn\":\"SendingToSpotFooterContent__fadeIn___y_rQP\",\"blinking\":\"SendingToSpotFooterContent__blinking___CvMi0\"};","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiPaperCreatedByRoleT } from 'common/utils/api/models';\n\ntype PropsT = {\n    className?: string;\n    createdByRole?: ApiPaperCreatedByRoleT | null;\n};\n\nconst UploadedByLabel: React.FC<PropsT> = React.memo((props) => {\n    const { className, createdByRole } = props;\n    const { t } = useTranslation();\n\n    if (!createdByRole) {\n        return null;\n    }\n\n    let translationKey: string;\n    if (createdByRole === 'BROKER') {\n        translationKey = 'common:attached-papers.uploaded-by.broker';\n    } else if (createdByRole === 'CARRIER') {\n        translationKey = 'common:attached-papers.uploaded-by.carrier';\n    } else if (createdByRole === 'DRIVER') {\n        translationKey = 'common:attached-papers.uploaded-by.driver';\n    } else {\n        translationKey = 'common:attached-papers.uploaded-by.other';\n    }\n\n    return (\n        <PillLabel theme={PillLabelThemeEnum.grey} isSymmetrical className={className}>\n            {t(translationKey)}\n        </PillLabel>\n    );\n});\n\nexport default UploadedByLabel;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './PriceSettingsRuleFiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\n\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { PriceSettingsRuleFilterSidebarDataT } from 'broker-admin/layouts/SideBars/PriceSettingsRuleFiltersSidebarContent/models';\nimport { SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport { useQueryParam } from 'use-query-params';\nimport { createJsonParams } from 'common/utils/query';\nimport { QueryFiltersT, QueryKeysEnum } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/query-models';\n\nimport { getQueryFilters } from './get-query-filters';\nimport CountryMultipleDropdown from 'common/components/dropdowns/CountryMultipleDropdown/CountryMultipleDropdown';\nimport UserMultipleDropdown from 'common/components/dropdowns/UserMultipleDropdown/UserMultipleDropdown';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport DictTrailerMultipleDropdown from 'common/components/dropdowns/DictTrailerMultipleDropdown/DictTrailerMultipleDropdown';\nimport { DEFAULT_BROKER_COMPANY_ID } from 'common/constants';\nimport PriceRuleTypeMultipleDropdown from 'broker-admin/components/dropdowns/PriceRuleTypeMultipleDropdown/PriceRuleTypeMultipleDropdown';\nimport PartnersSuggest from 'broker-admin/components/dropdowns/PartnersSuggest/PartnersSuggest';\nimport PriceComponentTypeMultipleDropdown from 'broker-admin/components/dropdowns/PriceComponentTypeMultipleDropdown/PriceComponentTypeMultipleDropdown';\nimport PriceRuleOperationMultipleDropdown from 'broker-admin/components/dropdowns/PriceRuleOperationMultipleDropdown/PriceRuleOperationMultipleDropdown';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport SelectedFilters from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/SelectedFilters/SelectedFilters';\nimport { usePartnerSuggestOptions } from 'broker-admin/components/dropdowns/PartnersSuggest/hooks/use-partner-suggest-options';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<PriceSettingsRuleFilterSidebarDataT, BrokerSidebarDataT>;\n\nconst PriceSettingsRuleFiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose } = props;\n\n    const { t } = useTranslation();\n\n    const [queryFilters, setQueryFilters] = useQueryParam<QueryFiltersT>(\n        QueryKeysEnum.rulesFilters,\n        createJsonParams<QueryFiltersT>({}),\n    );\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(queryFilters);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [queryFilters]);\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const newQueryFilters = getQueryFilters(values);\n\n            setQueryFilters({\n                ...initialQueryFilters,\n                ...newQueryFilters,\n            });\n\n            formikHelpers.setTouched({});\n\n            if (onClose) {\n                onClose();\n            }\n        },\n    });\n\n    const initialPartnerIds = formik.initialValues[FieldsEnum.partnerIds];\n    const initialPartnerOptions = usePartnerSuggestOptions(initialPartnerIds);\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    testSelector=\"rule-filters\"\n                    title={t('price-settings.rules.filters.title')}\n                    onClose={onClose}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout testSelector=\"rule-filters\">\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--name')}\n                        name={FieldsEnum.name}\n                        error={formik.errors[FieldsEnum.name]}\n                        meta={formik.getFieldMeta(FieldsEnum.name)}\n                        label={t('price-settings.rules.filters.fields.name.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.name}\n                                placeholder={t('price-settings.rules.filters.fields.name.placeholder')}\n                                value={formik.values[FieldsEnum.name]}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--type')}\n                        name={FieldsEnum.types}\n                        error={formik.errors[FieldsEnum.types]}\n                        meta={formik.getFieldMeta(FieldsEnum.types)}\n                        label={t('price-settings.rules.filters.fields.type.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <PriceRuleTypeMultipleDropdown\n                                values={formik.values[FieldsEnum.types]}\n                                onChange={props.onChange}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                placeholder={t('price-settings.rules.filters.fields.type.placeholder')}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--partners')}\n                    name={FieldsEnum.partnerIds}\n                    error={formik.errors[FieldsEnum.partnerIds]}\n                    meta={formik.getFieldMeta(FieldsEnum.partnerIds)}\n                    label={t('price-settings.rules.filters.fields.partners.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <PartnersSuggest\n                            values={formik.values[FieldsEnum.partnerIds]}\n                            initialOptions={initialPartnerOptions.initOptions}\n                            initialRequestStatus={initialPartnerOptions.initRequestStatus}\n                            onSelect={props.onChange}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                            placeholder={t('price-settings.rules.filters.fields.partners.placeholder')}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--trailer-types')}\n                    name={FieldsEnum.trailerTypeIds}\n                    error={formik.errors[FieldsEnum.trailerTypeIds]}\n                    meta={formik.getFieldMeta(FieldsEnum.trailerTypeIds)}\n                    label={t('price-settings.rules.filters.fields.trailer-types.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DictTrailerMultipleDropdown\n                            values={formik.values[FieldsEnum.trailerTypeIds]}\n                            onChange={props.onChange}\n                            placeholder={t('price-settings.rules.filters.fields.trailer-types.placeholder')}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            isShortLabel\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--countries')}\n                        name={FieldsEnum.fromCountryCodes}\n                        error={formik.errors[FieldsEnum.fromCountryCodes]}\n                        meta={formik.getFieldMeta(FieldsEnum.fromCountryCodes)}\n                        label={t('price-settings.rules.filters.fields.from-country-codes.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryMultipleDropdown\n                                values={formik.values[FieldsEnum.fromCountryCodes]}\n                                placeholder={t('price-settings.rules.filters.fields.from-country-codes.placeholder')}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--countries')}\n                        name={FieldsEnum.toCountryCodes}\n                        error={formik.errors[FieldsEnum.toCountryCodes]}\n                        meta={formik.getFieldMeta(FieldsEnum.toCountryCodes)}\n                        label={t('price-settings.rules.filters.fields.to-country-codes.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryMultipleDropdown\n                                values={formik.values[FieldsEnum.toCountryCodes]}\n                                placeholder={t('price-settings.rules.filters.fields.to-country-codes.placeholder')}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.validFrom}\n                        error={formik.errors[FieldsEnum.validFrom]}\n                        meta={formik.getFieldMeta(FieldsEnum.validFrom)}\n                        label={t('price-settings.rules.form.fields.valid-from.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.validFrom]}\n                                placeholder={t('price-settings.rules.form.fields.valid-from.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.validTill}\n                        error={formik.errors[FieldsEnum.validTill]}\n                        meta={formik.getFieldMeta(FieldsEnum.validTill)}\n                        label={t('price-settings.rules.form.fields.valid-till.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.validTill]}\n                                placeholder={t('price-settings.rules.form.fields.valid-till.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--price-component')}\n                        label={t('price-settings.rules.filters.fields.price-component.label')}\n                        name={FieldsEnum.priceComponent}\n                        error={formik.errors[FieldsEnum.priceComponent]}\n                        meta={formik.getFieldMeta(FieldsEnum.priceComponent)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <PriceComponentTypeMultipleDropdown\n                                values={formik.values[FieldsEnum.priceComponent]}\n                                onSelect={props.onChange}\n                                placeholder={t('price-settings.rules.filters.fields.price-component.placeholder')}\n                                overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--price-operation')}\n                        name={FieldsEnum.priceOperation}\n                        error={formik.errors[FieldsEnum.priceOperation]}\n                        meta={formik.getFieldMeta(FieldsEnum.priceOperation)}\n                        label={t('price-settings.rules.filters.fields.price-operation.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <PriceRuleOperationMultipleDropdown\n                                values={formik.values[FieldsEnum.priceOperation]}\n                                placeholder={t('price-settings.rules.filters.fields.price-operation.placeholder')}\n                                onSelect={props.onChange}\n                                overlayPosition={DropdownOverlayPositionEnum.topRight}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.createDates}\n                        error={formik.errors[FieldsEnum.createDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.createDates)}\n                        label={t('price-settings.rules.filters.fields.create-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.createDates]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.topLeft}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--user')}\n                        name={FieldsEnum.createdByUserId}\n                        error={formik.errors[FieldsEnum.createdByUserId]}\n                        meta={formik.getFieldMeta(FieldsEnum.createdByUserId)}\n                        label={t('price-settings.rules.filters.fields.created.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <UserMultipleDropdown\n                                companyId={DEFAULT_BROKER_COMPANY_ID}\n                                initialValues={formik.values[FieldsEnum.createdByUserId]}\n                                initialLabels={formik.values[FieldsEnum.createdByUserId]}\n                                values={formik.values[FieldsEnum.createdByUserId]}\n                                onSelect={(userId, userName) => {\n                                    props.onChange(userId);\n                                    formik.setFieldValue(FieldsEnum.createdByUserName, userName);\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                overlayPosition={DropdownOverlayPositionEnum.topRight}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.lastModifyDates}\n                        error={formik.errors[FieldsEnum.lastModifyDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.lastModifyDates)}\n                        label={t('price-settings.rules.filters.fields.last-modified-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.lastModifyDates]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.topLeft}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--user')}\n                        name={FieldsEnum.lastModifyByUserId}\n                        error={formik.errors[FieldsEnum.lastModifyByUserId]}\n                        meta={formik.getFieldMeta(FieldsEnum.lastModifyByUserId)}\n                        label={t('price-settings.rules.filters.fields.last-modified.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <UserMultipleDropdown\n                                companyId={DEFAULT_BROKER_COMPANY_ID}\n                                initialValues={formik.values[FieldsEnum.lastModifyByUserId]}\n                                initialLabels={formik.values[FieldsEnum.lastModifyByUserName]}\n                                values={formik.values[FieldsEnum.lastModifyByUserId]}\n                                onSelect={(userId, userName) => {\n                                    props.onChange(userId);\n                                    formik.setFieldValue(FieldsEnum.lastModifyByUserName, userName);\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                overlayPosition={DropdownOverlayPositionEnum.topRight}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n            </SideBarLayout>\n            <FooterSideBarLayout isTransparent hasPaddings>\n                <div className={cx('selected-filters')}>\n                    <SelectedFilters queryFilters={initialQueryFilters} setQueryFilters={setInitialQueryFilters} />\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    className={cx('apply')}\n                    type=\"submit\"\n                    testSelector=\"apply\"\n                >\n                    {t('price-settings.rules.filters.apply')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default PriceSettingsRuleFiltersSidebarContent;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport WarningFilterOptionsDropdown, {\n    WarningFilterOptionT,\n} from 'common/components/Table/WarningFilterOptionsDropdown/WarningFilterOptionsDropdown';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { TransportOrderStatsT } from 'common/store/transport-orders-stats/models';\nimport { colorCodingNotificationLabelTheme } from 'common/components/notifications/NotificationLabel/NotificationLabel';\n\ntype PropsT = {\n    className?: string;\n    stat: TransportOrderStatsT | null;\n    queryFilters: QueryFiltersT;\n    onQueryFiltersChange: (queryFiltersChanges: Partial<QueryFiltersT>) => void;\n};\n\nconst warningsQueryFiltersKeys = [\n    QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets,\n    QueryFiltersKeysEnum.ranOutOfTimeToAssignAssets,\n    QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver,\n    QueryFiltersKeysEnum.ranOutOfTimeToAssignDriver,\n    QueryFiltersKeysEnum.delaying,\n    QueryFiltersKeysEnum.expired,\n    QueryFiltersKeysEnum.missed,\n] as const;\n\nconst WarningsFilter: React.FC<PropsT> = React.memo((props) => {\n    const { className, stat, queryFilters, onQueryFiltersChange } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo(\n        (): Array<WarningFilterOptionT<(typeof warningsQueryFiltersKeys)[number]> | SpecialOptionEnum> => [\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets,\n                label: t('common:transport-orders-page.warning-filters.running-out-of-time-to-assign-assets'),\n                notificationProps: {\n                    count: stat?.runningOutOfTimeToAssignAssets,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.ranOutOfTimeToAssignAssets,\n                label: t('common:transport-orders-page.warning-filters.ran-out-of-time-to-assign-assets'),\n                notificationProps: {\n                    count: stat?.runOutOfTimeToAssignAssets,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver,\n                label: t('common:transport-orders-page.warning-filters.running-out-of-time-to-assign-driver'),\n                notificationProps: {\n                    count: stat?.runningOutOfTimeToAssignDriver,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.ranOutOfTimeToAssignDriver,\n                label: t('common:transport-orders-page.warning-filters.ran-out-of-time-to-assign-driver'),\n                notificationProps: {\n                    count: stat?.runOutOfTimeToAssignDriver,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.delaying,\n                label: t('common:transport-orders-page.warning-filters.tour-delaying'),\n                notificationProps: {\n                    count: stat?.delaying,\n\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.expired,\n                label: t('common:transport-orders-page.warning-filters.expired'),\n                notificationProps: {\n                    count: stat?.noShow,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n\n            {\n                id: QueryFiltersKeysEnum.missed,\n                label: t('common:transport-orders-page.warning-filters.shipment-missed'),\n                notificationProps: {\n                    count: stat?.missed,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n        ],\n        [t, stat],\n    );\n\n    const value = React.useMemo(() => {\n        return warningsQueryFiltersKeys.filter((queryFiltersKey) => queryFilters[queryFiltersKey]);\n    }, [queryFilters]);\n\n    const handleSelect = (values: Array<(typeof warningsQueryFiltersKeys)[number]>) => {\n        const queryFiltersChanges = warningsQueryFiltersKeys.reduce<Partial<QueryFiltersT>>((acc, queryFiltersKey) => {\n            acc[queryFiltersKey] = values.includes(queryFiltersKey) ? true : undefined;\n\n            return acc;\n        }, {});\n\n        onQueryFiltersChange(queryFiltersChanges);\n    };\n\n    return (\n        <WarningFilterOptionsDropdown<(typeof warningsQueryFiltersKeys)[number]>\n            className={className}\n            value={value}\n            onSelect={handleSelect}\n            options={options}\n        />\n    );\n});\n\nexport default WarningsFilter;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\nimport { ReserveLockEventT, ReserveQueryModifyEventT } from 'common/store/order-creation/models';\n\nexport const reserveQueryModifyChannel = new ViewEventChannel<ReserveQueryModifyEventT>();\n\nexport const reserveLockChannel = new ViewEventChannel<ReserveLockEventT>();\n","import { SharableStateT } from '../models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { CountriesListT } from './models';\nimport { CountriesDictStateT } from './types';\nimport { createSelector } from 'reselect';\nimport { isNonNil } from 'common/utils';\n\nexport const selectCountriesState = (state: SharableStateT): CountriesDictStateT => {\n    return state.countriesDict;\n};\n\nexport const selectCountriesDict = createSelector(selectCountriesState, (countriesState): CountriesListT | null => {\n    const { allCodes, byCode } = countriesState;\n\n    return allCodes.map((code) => byCode[code]).filter(isNonNil);\n});\n\nexport const selectCountriesDictRequest = (state: SharableStateT): RequestStatusT => state.countriesDict.request;\n\nexport const selectCountriesAllCodes = (state: SharableStateT): CountriesDictStateT['allCodes'] => {\n    return state.countriesDict.allCodes;\n};\n\nexport const selectCountriesByCode = (state: SharableStateT): CountriesDictStateT['byCode'] =>\n    state.countriesDict.byCode;\n\nexport const selectCountriesAllLangCodes = (state: SharableStateT): CountriesDictStateT['allLangCodes'] => {\n    return state.countriesDict.allLangCodes;\n};\n\nexport const selectCountriesByLangCode = (state: SharableStateT): CountriesDictStateT['byLangCode'] => {\n    return state.countriesDict.byLangCode;\n};\n\nexport const selectCountriesCount = (state: SharableStateT): number | null => {\n    return state.countriesDict.allCodes?.length || null;\n};\n","import * as React from 'react';\nimport { ApiShipperContractLaneStatusT, ShipperContractLaneStatusEnum } from 'common/utils/api/models';\nimport ColoredStatusLabel, {\n    colorCodingColoredStatusTheme,\n    PropsT as ColoredStatusLabelPropsT,\n} from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useSelector } from 'react-redux';\nimport { selectProfileType } from 'common/store/auth/selectors';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport ShipperContractLaneStatus from 'common/components/status/ShipperContractLaneStatus/ShipperContractLaneStatus';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiShipperContractLaneStatusT | null | undefined;\n};\n\ntype ContractLaneStatusColorMapT = Record<ApiShipperContractLaneStatusT, StyleGuideColorsEnum>;\n\nexport const statusColorMap: Record<AuthProfileTypeEnum, ContractLaneStatusColorMapT> = {\n    [AuthProfileTypeEnum.shipper]: {\n        [ShipperContractLaneStatusEnum.revoked]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.expired]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.completed]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.active]: colorCodingColoredStatusTheme.success,\n    },\n    [AuthProfileTypeEnum.carrier]: {\n        [ShipperContractLaneStatusEnum.revoked]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.expired]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.completed]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.active]: colorCodingColoredStatusTheme.success,\n    },\n    [AuthProfileTypeEnum.broker]: {\n        [ShipperContractLaneStatusEnum.revoked]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.expired]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.completed]: colorCodingColoredStatusTheme.normal,\n        [ShipperContractLaneStatusEnum.active]: colorCodingColoredStatusTheme.success,\n    },\n};\n\nconst ShipperContractLaneColoredStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    const profileTypeEnum = useSelector(selectProfileType);\n\n    let color;\n\n    // not upload\n    if (!status) {\n        color = colorCodingColoredStatusTheme.normal;\n    } else {\n        color = statusColorMap[profileTypeEnum]?.[status];\n    }\n\n    return <ColoredStatusLabel {...restProps} label={<ShipperContractLaneStatus status={status} />} color={color} />;\n});\n\nexport default ShipperContractLaneColoredStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"link\":\"Link__link___bg802\",\"link--size-extra-small\":\"Link__link--size-extra-small___MDVO4\",\"link--size-pre-extra-small\":\"Link__link--size-pre-extra-small___a4PW5\",\"link--size-small\":\"Link__link--size-small___s1hql\",\"link--size-medium\":\"Link__link--size-medium___IzXYQ\",\"link--size-large\":\"Link__link--size-large___pZzTr\",\"link--theme-charcoal\":\"Link__link--theme-charcoal___oWjBE\",\"link--theme-bold-charcoal\":\"Link__link--theme-bold-charcoal___WsyBt\",\"link--theme-bold-azul\":\"Link__link--theme-bold-azul___EPHGo\",\"link--theme-bold-brand-dark\":\"Link__link--theme-bold-brand-dark___b_H_2\",\"link--theme-bold-brand-accent\":\"Link__link--theme-bold-brand-accent___KcZ0i\",\"link--theme-bold-white\":\"Link__link--theme-bold-white___sxvpM\",\"link--theme-bold-tomato-red\":\"Link__link--theme-bold-tomato-red___yXsV7\",\"link--theme-bold-orange\":\"Link__link--theme-bold-orange___oboCS\",\"link--uppercase\":\"Link__link--uppercase___ZZKqd\",\"fadeIn\":\"Link__fadeIn___oDD1v\",\"blinking\":\"Link__blinking____Jhkw\"};","import React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst XLSIcon: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\">\n            <path\n                d=\"M13.979 2H2v8h2V4h8v4h4v2h2V6l-4.021-4zm-9.11 11.729 1.047-2.127h1.762l-1.789 3.172L7.726 18h-1.78L4.87 15.833 3.793 18H2.018l1.832-3.226-1.784-3.172h1.758l1.046 2.127zm4.9 3.084h2.686V18H8.227v-6.398H9.77v5.211zm6.636-.514a.634.634 0 0 0-.24-.527c-.159-.126-.44-.256-.84-.391a8.074 8.074 0 0 1-.985-.391c-.83-.407-1.244-.967-1.244-1.679 0-.354.103-.667.31-.938.207-.271.499-.482.877-.633.378-.15.802-.226 1.274-.226.46 0 .872.082 1.237.246.365.164.648.397.85.7.203.304.304.65.304 1.04H16.41c0-.26-.08-.463-.24-.606-.16-.144-.376-.216-.648-.216-.275 0-.493.061-.653.183a.56.56 0 0 0-.24.463c0 .164.089.313.265.446.175.134.484.271.927.413a5.68 5.68 0 0 1 1.09.46c.691.398 1.037.947 1.037 1.648 0 .56-.211.999-.633 1.318-.422.32-1 .479-1.736.479-.518 0-.988-.093-1.408-.28-.42-.185-.737-.44-.95-.764a1.992 1.992 0 0 1-.318-1.118h1.547c0 .343.088.595.266.758.177.162.465.244.863.244.255 0 .456-.055.604-.165a.544.544 0 0 0 .222-.464z\"\n                fill={fillColor}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nXLSIcon.displayName = 'XLSIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\n\nexport default XLSIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"date\":\"DateCell__date___Gt9SJ\",\"date--isBold\":\"DateCell__date--isBold___fcU9C\",\"date--isBigFont\":\"DateCell__date--isBigFont___mBIXp\",\"fadeIn\":\"DateCell__fadeIn___ylnOX\",\"blinking\":\"DateCell__blinking___LjaVA\"};","import * as React from 'react';\n\nimport { useSelector } from 'react-redux';\n\nimport { BrokerTourDetailsT } from 'broker-admin/store/broker-tour-details/models';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport CancelSpotRequestFooter from 'broker-admin/components/status-machine/footers/ChangeTourStatusFooter/CancelSpotRequestFooter/CancelSpotRequestFooter';\nimport StartAssignmentFooter from 'broker-admin/components/status-machine/footers/ChangeTourStatusFooter/StartAssignmentFooter/StartAssignmentFooter';\nimport ChangeTourStatusFooter from 'broker-admin/components/status-machine/footers/ChangeTourStatusFooter/ChangeTourStatusFooter/ChangeTourStatusFooter';\nimport { hideLoaderStatusSet } from 'broker-admin/components/status-machine/footers/ChangeTourStatusFooter/constants';\n\ntype PropsT = {\n    brokerTourDetails: BrokerTourDetailsT | null | undefined;\n    isAvailableAssignment: boolean;\n    onStartAssignment: () => void;\n    onStartSendToSpot: () => void;\n    onManageShipment: (shipmentId: ShipmentIdT) => void;\n    isDisableAnyActions: boolean;\n};\n\nconst StatusFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const {\n        brokerTourDetails,\n        onStartAssignment,\n        isAvailableAssignment,\n        onStartSendToSpot,\n        onManageShipment,\n        isDisableAnyActions,\n    } = props;\n\n    const permissions = useSelector(selectPermissions);\n\n    const tourId = brokerTourDetails?.id || null;\n\n    const assignAssetsUnavailableReason = brokerTourDetails?.assignAssetsUnavailableReason;\n    const sendToSpotUnavailableReason = brokerTourDetails?.sendToSpotUnavailableReason;\n\n    const isNeedAssignment = !assignAssetsUnavailableReason || !sendToSpotUnavailableReason;\n    const hasSpotRequests = !!brokerTourDetails?.spotId;\n\n    if (isNeedAssignment && hasSpotRequests) {\n        return <CancelSpotRequestFooter tour={brokerTourDetails || null} isDisableAnyActions={isDisableAnyActions} />;\n    }\n\n    if (isNeedAssignment && !hasSpotRequests) {\n        return (\n            <StartAssignmentFooter\n                tour={brokerTourDetails || null}\n                canAssignTour={permissions.canAssignmentBrokerOrder && isAvailableAssignment}\n                assignAssetsUnavailableReason={assignAssetsUnavailableReason || null}\n                onStartAssignment={onStartAssignment}\n                sendToSpotUnavailableReason={sendToSpotUnavailableReason || null}\n                onStartSendToSpot={onStartSendToSpot}\n                isDisableAnyActions={isDisableAnyActions}\n            />\n        );\n    }\n\n    if (permissions.canChangeTourStatusOnBrokerTour) {\n        return (\n            <ChangeTourStatusFooter\n                tourId={tourId}\n                tour={brokerTourDetails || null}\n                isShowLoading={!!brokerTourDetails && !hideLoaderStatusSet.has(brokerTourDetails?.calculatedStatus)}\n                onManageShipment={onManageShipment}\n            />\n        );\n    }\n\n    return null;\n});\n\nexport default StatusFooterContent;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ChangeRateOrContractAssetForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT, UpdateWayEnum } from './constants';\nimport validateForm from './validate-form';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport ModalDialogActions, { ModalDialogActionT } from 'common/components/Modal/ModalDialogActions/ModalDialogActions';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport { UnitTypeEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { prepareChangeContractRequest, prepareChangeRateRequest } from './prepare-change-rate-request';\nimport { AssetDataT } from '../models';\nimport { checkIsDefaultCompanyId, isNonNil } from 'common/utils';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\n\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport { logWarning } from 'common/utils/logger';\nimport { ApiChangeContractVehiclesRequestT, ApiChangeRateVehiclesRequestT } from 'common/utils/api/models';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    assets: Array<AssetDataT>;\n    companyId: CompanyIdT;\n    onCancel: () => void;\n    onChangeRate: (changeRateRequest: ApiChangeRateVehiclesRequestT) => void;\n    onChangeContract: (changeContractRequest: ApiChangeContractVehiclesRequestT, contractName: string) => void;\n    requestStatus: RequestStatusT;\n};\n\nexport const INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.updateWay]: null,\n    [FieldsEnum.rate]: '',\n    [FieldsEnum.contractId]: null,\n};\n\nconst TEST_SELECTOR = 'change-rate-or-contract-asset-form';\n\ntype UpdateWayOptionT = {\n    label: React.ReactNode;\n    value: UpdateWayEnum | null;\n};\n\ntype ContractOptionT = {\n    text: string;\n    label: React.ReactNode;\n    value: CarrierContractIdT | null;\n};\n\nconst ChangeRateOrContractAssetForm: React.FC<PropsT> = (props) => {\n    const { onCancel, onChangeContract, onChangeRate, requestStatus, assets, companyId } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [isLoadingContract, setIsLoadingContract] = React.useState(false);\n    const [contractOptions, setContractOptions] = React.useState<Array<ContractOptionT>>([]);\n\n    React.useEffect(() => {\n        (async () => {\n            if (!companyId) {\n                return;\n            }\n\n            setIsLoadingContract(true);\n            const isPartner = !checkIsDefaultCompanyId(companyId);\n            if (isPartner) {\n                const brokerResponse = await brokerTranziitApi.fetchCarrierApprovedContracts(companyId);\n\n                setContractOptions(\n                    brokerResponse?.[1]?.map((apiContract) => {\n                        return {\n                            label: apiContract.name,\n                            labelFallback: apiContract.id,\n                            value: apiContract.id,\n                            text: apiContract.name || apiContract.id,\n                        };\n                    }) || [],\n                );\n            } else {\n                const carrierResponse = await carrierTranziitApi.fetchCarrierApprovedContracts();\n\n                setContractOptions(\n                    carrierResponse?.[1]?.map((apiContract) => {\n                        return {\n                            label: apiContract.name,\n                            labelFallback: apiContract.id,\n                            value: apiContract.id,\n                            text: apiContract.name || apiContract.id,\n                        };\n                    }) || [],\n                );\n            }\n\n            setIsLoadingContract(false);\n        })();\n    }, [companyId]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values: FormValuesT = {\n            ...INITIAL_VALUES,\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [assets]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const updateWay = values[FieldsEnum.updateWay];\n            if (updateWay === UpdateWayEnum.newRate) {\n                const changeRateRequest = prepareChangeRateRequest(assets, values);\n\n                if (changeRateRequest) {\n                    onChangeRate(changeRateRequest);\n                } else {\n                    logWarning('Empty activateVehiclesRequest!');\n                }\n            }\n\n            if (updateWay === UpdateWayEnum.unassignContract || updateWay === UpdateWayEnum.assignContract) {\n                const changeContractRequest = prepareChangeContractRequest(assets, values);\n\n                if (changeContractRequest) {\n                    const selectedContractOption = contractOptions.find((contractOption) => {\n                        return contractOption.value === values[FieldsEnum.contractId];\n                    });\n                    const contractName = selectedContractOption?.text || '';\n                    onChangeContract(changeContractRequest, contractName);\n                } else {\n                    logWarning('Empty activateVehiclesRequest!');\n                }\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const updateWayOptions = React.useMemo((): Array<UpdateWayOptionT> => {\n        return [\n            {\n                label: t('common:assets.change-rate-or-contract-asset.fields.way-type.options.new-rate'),\n                value: UpdateWayEnum.newRate,\n            },\n            {\n                label: t('common:assets.change-rate-or-contract-asset.fields.way-type.options.assign-contract'),\n                value: UpdateWayEnum.assignContract,\n            },\n            {\n                label: t('common:assets.change-rate-or-contract-asset.fields.way-type.options.unassign-contract'),\n                value: UpdateWayEnum.unassignContract,\n            },\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [assets, t]);\n\n    const selectedUpdateWay = formik.values[FieldsEnum.updateWay];\n\n    const [query, setQuery] = React.useState<string>('');\n\n    const renderOption = (\n        option: ContractOptionT | UpdateWayOptionT | undefined,\n        placeholder?: string,\n    ): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return option.label;\n    };\n\n    const filteredContractOptions = React.useMemo(() => {\n        const preparedQuery = query.toLowerCase().trim();\n        if (!preparedQuery) {\n            return contractOptions;\n        }\n\n        return contractOptions.filter((option) => {\n            return option.text.toLowerCase().includes(preparedQuery);\n        });\n    }, [contractOptions, query]);\n\n    const actions = React.useMemo(() => {\n        return [\n            {\n                children: t('common:error-modal.actions.cancel'),\n                theme: ButtonThemeEnum.secondary,\n                isDisabled: requestStatus.loading,\n                testSelector: `${TEST_SELECTOR}_cancel`,\n                onClick: () => {\n                    onCancel();\n                },\n            },\n            !selectedUpdateWay || selectedUpdateWay === UpdateWayEnum.newRate\n                ? ({\n                      children: t('common:assets.change-rate-or-contract-asset.submit.set'),\n                      theme: ButtonThemeEnum.danger,\n                      isDisabled: requestStatus.loading,\n                      isLoading: requestStatus.loading,\n                      testSelector: `${TEST_SELECTOR}_set`,\n                      type: 'submit',\n                  } as ModalDialogActionT)\n                : null,\n            selectedUpdateWay === UpdateWayEnum.assignContract\n                ? ({\n                      children: t('common:assets.change-rate-or-contract-asset.submit.assign'),\n                      theme: ButtonThemeEnum.danger,\n                      isDisabled: requestStatus.loading,\n                      isLoading: requestStatus.loading,\n                      testSelector: `${TEST_SELECTOR}_assign`,\n                      type: 'submit',\n                  } as ModalDialogActionT)\n                : null,\n            selectedUpdateWay === UpdateWayEnum.unassignContract\n                ? ({\n                      children: t('common:assets.change-rate-or-contract-asset.submit.unassign'),\n                      theme: ButtonThemeEnum.danger,\n                      isDisabled: requestStatus.loading,\n                      isLoading: requestStatus.loading,\n                      testSelector: `${TEST_SELECTOR}_unassign`,\n                      type: 'submit',\n                  } as ModalDialogActionT)\n                : null,\n        ].filter(isNonNil);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [requestStatus, selectedUpdateWay, t]);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('form')}>\n                <FormikField\n                    name={FieldsEnum.updateWay}\n                    className={cx('field', 'field--source')}\n                    label={t('common:assets.change-rate-or-contract-asset.fields.way-type.label')}\n                    error={formik.errors[FieldsEnum.updateWay]}\n                    meta={formik.getFieldMeta(FieldsEnum.updateWay)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DropdownInput<UpdateWayOptionT, UpdateWayOptionT['value']>\n                            selectedValue={formik.values[FieldsEnum.updateWay]}\n                            options={updateWayOptions}\n                            onSelect={props.onChange}\n                            renderOption={renderOption}\n                            placeholder={t('common:assets.change-rate-or-contract-asset.fields.way-type.placeholder')}\n                            getOptionValue={(option) => option.value}\n                            overlayClassName={cx('overlay')}\n                            overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            isDisabled={isLoadingContract}\n                        />\n                    )}\n                </FormikField>\n                {selectedUpdateWay === UpdateWayEnum.assignContract && (\n                    <FormikField\n                        name={FieldsEnum.contractId}\n                        className={cx('field', 'field--contract')}\n                        label={t('common:assets.change-rate-or-contract-asset.fields.contract.label')}\n                        error={formik.errors[FieldsEnum.contractId]}\n                        meta={formik.getFieldMeta(FieldsEnum.contractId)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DropdownSearchInput<ContractOptionT, ContractOptionT['value']>\n                                selectedValue={formik.values[FieldsEnum.contractId]}\n                                options={filteredContractOptions}\n                                onSelect={props.onChange}\n                                renderOption={renderOption}\n                                renderTrigger={renderOption}\n                                placeholder={t(\n                                    'common:assets.change-rate-or-contract-asset.fields.contract.placeholder',\n                                )}\n                                getOptionValue={(option) => option.value}\n                                overlayClassName={cx('overlay')}\n                                overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                onChangeQuery={setQuery}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                isDisabled={isLoadingContract}\n                                isLoading={isLoadingContract}\n                                renderRightIcon={({ isLoading }) => {\n                                    return isLoading ? (\n                                        <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} />\n                                    ) : null;\n                                }}\n                            />\n                        )}\n                    </FormikField>\n                )}\n                {selectedUpdateWay === UpdateWayEnum.newRate && (\n                    <FormikField\n                        className={cx('field', 'field--rate')}\n                        name={FieldsEnum.rate}\n                        error={formik.errors[FieldsEnum.rate]}\n                        meta={formik.getFieldMeta(FieldsEnum.rate)}\n                        label={t('common:assets.change-rate-or-contract-asset.fields.rate.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <NumberInput\n                                name={FieldsEnum.rate}\n                                unitType={UnitTypeEnum.euroAbbreviation}\n                                value={formik.values[FieldsEnum.rate]}\n                                placeholder={t('common:assets.change-rate-or-contract-asset.fields.rate.placeholder')}\n                                step={1}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                )}\n            </div>\n            <ModalDialogActions actions={actions} />\n        </form>\n    );\n};\n\nexport default ChangeRateOrContractAssetForm;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TourDelayingCard.scss';\nimport { Trans } from 'react-i18next';\nimport SubjectLink from 'common/components/notification-cards/entities/SubjectLink/SubjectLink';\nimport CityName from 'common/components/notification-cards/entities/CityName/CityName';\n\nconst cx = classNames.bind(styles);\n\nexport type TourDelayingCardPropsT = {\n    orderNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst TourDelayingCard: React.FC<TourDelayingCardPropsT> = React.memo((props) => {\n    const { orderNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <Trans\n                i18nKey=\"notifications.tour-delaying\"\n                components={{\n                    subjectLink: <SubjectLink number={orderNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default TourDelayingCard;\n","import React from 'react';\n\nexport enum TimeZoneEnum {\n    accountTimezone = 'account-timezone',\n}\n\nexport type TimeZoneT = TimeZoneEnum | number;\n\nexport type TimeZoneContextValueT = {\n    timeZone: TimeZoneT | null;\n    utcOffsetMin: number | null;\n};\n\nexport type TimeZoneContextT = {\n    value: TimeZoneContextValueT;\n    setValue: (value: TimeZoneContextValueT) => void;\n};\n\nconst TimeZoneContext = React.createContext<TimeZoneContextT | null>(null);\n\nexport default TimeZoneContext;\n","import { put, takeEvery, select } from 'redux-saga/effects';\n\nimport { FETCH_MANAGERS_REQUEST, FetchManagersActionT } from './types';\nimport { fetchManagersBegin, fetchManagersError, fetchManagersSuccess } from './actions';\nimport { selectFetchManagersRequest } from './selectors';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction* fetchManagersSaga(action: FetchManagersActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectFetchManagersRequest> = yield select(selectFetchManagersRequest);\n    if (request.ok) {\n        return;\n    }\n\n    yield put(fetchManagersBegin());\n\n    const [error, managers]: ReturnApiT<typeof brokerTranziitApi.fetchPartnerManagers> =\n        yield brokerTranziitApi.fetchPartnerManagers();\n    if (error) {\n        yield put(fetchManagersError(error));\n        return;\n    }\n\n    yield put(fetchManagersSuccess(managers || []));\n}\n\nfunction* userSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_MANAGERS_REQUEST, fetchManagersSaga);\n}\n\nexport default userSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"list\":\"CheckboxOptionsList__list___RmsnE\",\"list--hasWarning\":\"CheckboxOptionsList__list--hasWarning___Im6Gt\",\"list--hasError\":\"CheckboxOptionsList__list--hasError___n4Z8k\",\"option\":\"CheckboxOptionsList__option___YFqnA\",\"option__checkbox\":\"CheckboxOptionsList__option__checkbox___iWdpC\",\"option__label\":\"CheckboxOptionsList__option__label___jKvtc\",\"links\":\"CheckboxOptionsList__links___VEbC7\",\"link\":\"CheckboxOptionsList__link___ufa_j\",\"link__icon\":\"CheckboxOptionsList__link__icon___exvn_\",\"link__text\":\"CheckboxOptionsList__link__text___zkXPz\",\"loader\":\"CheckboxOptionsList__loader___DfH4p\",\"loader__container\":\"CheckboxOptionsList__loader__container___pZXI_\",\"fadeIn\":\"CheckboxOptionsList__fadeIn___nWp_H\",\"blinking\":\"CheckboxOptionsList__blinking___p_900\"};","import { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport * as React from 'react';\n\ntype PropsT = {\n    size: number;\n    opacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst ControlLoaderIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, opacity, ...restProps } = props;\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" {...restProps}>\n            <path\n                fill={fillColor}\n                fillOpacity={opacity || 0.3}\n                fillRule=\"evenodd\"\n                d=\"M10 3a7 7 0 110 14 1.4 1.4 0 010-2.8A4.2 4.2 0 105.8 10 1.4 1.4 0 013 10a7 7 0 017-7z\"\n            >\n                <animateTransform\n                    attributeName=\"transform\"\n                    dur=\"1s\"\n                    from=\"0 10 10\"\n                    repeatCount=\"indefinite\"\n                    to=\"360 10 10\"\n                    type=\"rotate\"\n                />\n            </path>\n        </svg>\n    );\n};\n\nControlLoaderIcon.displayName = 'ControlLoaderIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    opacity: 0.5,\n};\n\nexport const ControlLoaderIconProps = {\n    getFetchDataProps: () => {\n        return {\n            fillColor: StyleGuideColorsEnum.brandAccent,\n            size: DEFAULT_ICON_SIZE,\n        };\n    },\n};\n\nexport { storyProps };\nexport default ControlLoaderIcon;\n","import * as React from 'react';\nimport { TransportOrderStatusEnum, ApiTransportOrderStatusT } from 'common/utils/api/models';\nimport ColoredStatusLabel, {\n    PropsT as ColoredStatusLabelPropsT,\n} from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport TransportOrderStatus from 'common/components/status/TransportOrderStatus/TransportOrderStatus';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiTransportOrderStatusT | null | undefined;\n};\n\nexport const TRANSPORT_ORDER_STATUS_COLOR_MAP: Record<ApiTransportOrderStatusT, StyleGuideColorsEnum> = {\n    [TransportOrderStatusEnum.assetsUnassigned]: StyleGuideColorsEnum.tomatoRed,\n    [TransportOrderStatusEnum.driverUnassigned]: StyleGuideColorsEnum.tomatoRed,\n    [TransportOrderStatusEnum.assigned]: StyleGuideColorsEnum.light,\n    [TransportOrderStatusEnum.inTransit]: StyleGuideColorsEnum.light,\n    [TransportOrderStatusEnum.done]: StyleGuideColorsEnum.mediumGreen,\n    [TransportOrderStatusEnum.canceled]: StyleGuideColorsEnum.light,\n    [TransportOrderStatusEnum.declined]: StyleGuideColorsEnum.light,\n    [TransportOrderStatusEnum.unknown]: StyleGuideColorsEnum.light,\n};\n\nconst TransportOrderColoredStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    if (!status) {\n        return null;\n    }\n\n    const color = TRANSPORT_ORDER_STATUS_COLOR_MAP[status];\n\n    return <ColoredStatusLabel {...restProps} label={<TransportOrderStatus status={status} />} color={color} />;\n});\n\nexport default TransportOrderColoredStatus;\n","import { useEffect, useRef } from 'react';\n\ntype HandlerT = (isVisible: boolean) => void;\n\nconst useDocumentVisibilityEffect = (handler: HandlerT) => {\n    const visibilitychangeHandler = useRef<HandlerT>();\n\n    useEffect(() => {\n        visibilitychangeHandler.current = handler;\n    }, [handler]);\n\n    useEffect(() => {\n        const onVisibilityChange = (): void => {\n            const isVisible = document.visibilityState === 'visible';\n\n            if (visibilitychangeHandler.current) {\n                visibilitychangeHandler.current(isVisible);\n            }\n        };\n\n        document.addEventListener('visibilitychange', onVisibilityChange);\n\n        return (): void => {\n            document.removeEventListener('visibilitychange', onVisibilityChange);\n        };\n    }, []);\n};\n\nexport default useDocumentVisibilityEffect;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './InvoicesListPage.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport QuickFilters, { QuickFiltersOptionT } from 'common/components/Table/QuickFilters/QuickFilters';\nimport { colorCodingNotificationLabelTheme } from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ListPageHeaderTabsLayout from 'common/layouts/ListPage/ListPageHeaderTabsLayout/ListPageHeaderTabsLayout';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { urlFactory as brokerUrlFactory } from 'broker-admin/utils/urls';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport { StringParam, useQueryParams } from 'use-query-params';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { LinkToT } from 'common/components/Link/Link';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { InvoicesQuickFilterEnum } from './constants';\nimport InvoicesTable from 'broker-admin/layouts/InvoicesListPage/InvoicesTable/InvoicesTable';\nimport {\n    selectInvoicesByIds,\n    selectInvoicesPages,\n    selectInvoicesPagingState,\n} from 'broker-admin/store/invoices/selectors';\nimport { BrokerInvoiceT } from 'broker-admin/store/invoices/models';\nimport { fetchInvoicesPage } from 'broker-admin/store/invoices/actions';\nimport { invoicesPaginationChannel, invoicesRefreshChannel } from 'broker-admin/store/invoices/channels';\nimport { BrokerInvoicesSortEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport DummyPagination from 'common/components/Table/DummyPagination/DummyPagination';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport omit from 'lodash/omit';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst InvoicesListPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const pages = useSelector(selectInvoicesPages);\n    const byId = useSelector(selectInvoicesByIds);\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.invoicesFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.invoicesPage]: createPageNumberParam(),\n        [QueryKeysEnum.invoicesSort]: createSortParams<BrokerInvoicesSortEnum>({\n            value: BrokerInvoicesSortEnum.createDate,\n            direction: SortDirectionEnum.DESC,\n        }),\n        [QueryKeysEnum.invoicesPagingEndingBefore]: StringParam,\n        [QueryKeysEnum.invoicesPagingStartingAfter]: StringParam,\n    });\n\n    const invoicesPagingEndingBefore = query[QueryKeysEnum.invoicesPagingEndingBefore];\n    const invoicesPagingStartingAfter = query[QueryKeysEnum.invoicesPagingStartingAfter];\n\n    const pagingState = useSelector(selectInvoicesPagingState);\n\n    const pageNumber = query[QueryKeysEnum.invoicesPage];\n    const queryFilters = query[QueryKeysEnum.invoicesFilters];\n    const selectedSort = query[QueryKeysEnum.invoicesSort];\n\n    const page = pages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, {\n            startingAfter: invoicesPagingStartingAfter,\n            endingBefore: invoicesPagingEndingBefore,\n        });\n        dispatch(fetchInvoicesPage(pageNumber, query, { isForceUpdate: false }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, invoicesPagingStartingAfter, invoicesPagingEndingBefore]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, {\n            startingAfter: invoicesPagingStartingAfter,\n            endingBefore: invoicesPagingEndingBefore,\n        });\n        dispatch(fetchInvoicesPage(pageNumber, query, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, invoicesPagingStartingAfter, invoicesPagingEndingBefore]);\n    useChannelSubscribe(invoicesRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, {\n            startingAfter: invoicesPagingStartingAfter,\n            endingBefore: invoicesPagingEndingBefore,\n        });\n        dispatch(fetchInvoicesPage(pageNumber, query, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, invoicesPagingStartingAfter, invoicesPagingEndingBefore]);\n\n    React.useEffect(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, {\n            startingAfter: invoicesPagingStartingAfter,\n            endingBefore: invoicesPagingEndingBefore,\n        });\n        dispatch(fetchInvoicesPage(pageNumber, query));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [\n        dispatch,\n        page,\n        pageNumber,\n        selectedSort,\n        queryFilters,\n        invoicesPagingStartingAfter,\n        invoicesPagingEndingBefore,\n    ]);\n\n    const invoices = React.useMemo(() => {\n        return (ids || []).map((id): BrokerInvoiceT => byId[id]);\n    }, [ids, byId]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.invoicesPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof invoicesPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(invoicesPaginationChannel, setPageHandler);\n\n    const getPartnerLink = (partnerType: PartnerTypeEnum, partnerId: CompanyIdT): LinkToT => {\n        return brokerUrlFactory.partnerDetails(partnerType, partnerId);\n    };\n\n    const invoicesQuickFilterOptions: Array<QuickFiltersOptionT<InvoicesQuickFilterEnum>> = [\n        {\n            id: undefined,\n            showPriority: 0,\n            hidePriority: 0,\n            label: t('invoices.list.status-filter.all'),\n            testSelector: 'all',\n        },\n        {\n            id: InvoicesQuickFilterEnum.open,\n            showPriority: 1,\n            hidePriority: 1,\n            label: t('invoices.list.status-filter.open'),\n            testSelector: InvoicesQuickFilterEnum.open,\n            notificationProps: {\n                count: 0,\n                theme: colorCodingNotificationLabelTheme.normal,\n            },\n        },\n        {\n            id: InvoicesQuickFilterEnum.void,\n            showPriority: 2,\n            hidePriority: 2,\n            label: t('invoices.list.status-filter.void'),\n            testSelector: InvoicesQuickFilterEnum.void,\n            notificationProps: {\n                count: 0,\n                theme: colorCodingNotificationLabelTheme.attention,\n            },\n        },\n        {\n            id: InvoicesQuickFilterEnum.paid,\n            showPriority: 3,\n            hidePriority: 3,\n            label: t('invoices.list.status-filter.paid'),\n            testSelector: InvoicesQuickFilterEnum.paid,\n            notificationProps: {\n                count: 0,\n                theme: colorCodingNotificationLabelTheme.success,\n            },\n        },\n        {\n            id: InvoicesQuickFilterEnum.uncollectible,\n            showPriority: 4,\n            hidePriority: 4,\n            label: t('invoices.list.status-filter.uncollectible'),\n            testSelector: InvoicesQuickFilterEnum.uncollectible,\n            notificationProps: {\n                count: 0,\n                theme: colorCodingNotificationLabelTheme.warning,\n            },\n        },\n    ];\n\n    const sortOptions: Array<SortDropdownOptionT<BrokerInvoicesSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('invoices.list.table.sorts.triggers.created'),\n                value: BrokerInvoicesSortEnum.createDate,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<BrokerInvoicesSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.invoicesPage]: 0,\n            [QueryKeysEnum.invoicesPagingStartingAfter]: undefined,\n            [QueryKeysEnum.invoicesPagingEndingBefore]: undefined,\n            [QueryKeysEnum.invoicesSort]: sort,\n        });\n    };\n\n    const handleSetStatusFilter = (quickFilterId: InvoicesQuickFilterEnum | undefined) => {\n        const prevQueryFilters = query[QueryKeysEnum.invoicesFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            [QueryFiltersKeysEnum.searchText]: undefined, // Fix: reset quick filter - stripe logic\n            [QueryFiltersKeysEnum.quickFilter]: quickFilterId,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.invoicesPage]: 0,\n            [QueryKeysEnum.invoicesPagingStartingAfter]: undefined,\n            [QueryKeysEnum.invoicesPagingEndingBefore]: undefined,\n            [QueryKeysEnum.invoicesFilters]: queryFilters,\n        });\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.invoicesFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.invoicesPage]: 0,\n            [QueryKeysEnum.invoicesPagingStartingAfter]: undefined,\n            [QueryKeysEnum.invoicesPagingEndingBefore]: undefined,\n            [QueryKeysEnum.invoicesFilters]: queryFilters,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.invoicesFilters] || {};\n\n        const queryFilters = {\n            [QueryFiltersKeysEnum.quickFilter]: prevQueryFilters[QueryFiltersKeysEnum.quickFilter],\n            ...selectedQueryFilters,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.invoicesPage]: 0,\n            [QueryKeysEnum.invoicesPagingStartingAfter]: undefined,\n            [QueryKeysEnum.invoicesPagingEndingBefore]: undefined,\n            [QueryKeysEnum.invoicesFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.quickFilter]: undefined, // Fix: reset quick filter - stripe logic\n            [QueryFiltersKeysEnum.searchText]: searchText || undefined,\n        });\n    };\n\n    const goToPrevPage = () => {\n        if (!pagingState?.endingBefore) {\n            return;\n        }\n\n        changeQuery({\n            [QueryKeysEnum.invoicesPagingStartingAfter]: undefined,\n            [QueryKeysEnum.invoicesPagingEndingBefore]: pagingState.endingBefore,\n        });\n    };\n\n    const goToNextPage = () => {\n        if (!pagingState?.startingAfter) {\n            return;\n        }\n\n        changeQuery({\n            [QueryKeysEnum.invoicesPagingStartingAfter]: pagingState.startingAfter,\n            [QueryKeysEnum.invoicesPagingEndingBefore]: undefined,\n        });\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(invoices, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasSecondaryQueryFilters, hasPrimaryQueryFilters } = checkFilters(\n            [queryFilters[QueryFiltersKeysEnum.quickFilter]],\n            [omit(queryFilters, [QueryFiltersKeysEnum.quickFilter])],\n        );\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('invoices.list.table.messages.empty-state.title')}\n                    testSelector=\"empty-state\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('invoices.list.table.messages.not-found.title')}\n                    description={t('invoices.list.table.messages.not-found.description')}\n                    testSelector=\"not-found\"\n                    isShowAction\n                    actionTitle={t('invoices.list.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('invoices.list.table.messages.empty.title')}\n                description={t('invoices.list.table.messages.empty.description')}\n                testSelector=\"empty\"\n                isShowAction={false}\n            />\n        );\n    };\n\n    return (\n        <ScrollableContent>\n            <PageTitle title={t('page-titles.invoices')} />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent title={t('invoices.list.title')} rightNode={<NotificationsBarTrigger />} />\n                </TopBar>\n                <ListPageLayout>\n                    <ListPageHeaderTabsLayout>\n                        <QuickFilters\n                            options={invoicesQuickFilterOptions}\n                            selectedId={queryFilters[QueryFiltersKeysEnum.quickFilter]}\n                            onSelect={handleSetStatusFilter}\n                            moreStatusesLabel={t('invoices.list.status-filter.more-statuses')}\n                        />\n                    </ListPageHeaderTabsLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                {false && (\n                                    <SortDropdown\n                                        overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                        selectedValue={selectedSort}\n                                        options={sortOptions}\n                                        onSelect={handleSelectSort}\n                                    />\n                                )}\n                                <SearchControl\n                                    placeholder={t('invoices.list.search-placeholder')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                    />\n                    {renderTableMessage()}\n                    <InvoicesTable\n                        invoices={invoices}\n                        className={cx('table')}\n                        isLoading={requestStatus?.loading}\n                        getPartnerLink={getPartnerLink}\n                    />\n                </ListPageLayout>\n                <StickyFooter>\n                    <DummyPagination\n                        isDisabledPrevPage={!pagingState?.endingBefore}\n                        goToPrevPage={goToPrevPage}\n                        isDisabledNextPage={!pagingState?.startingAfter || !pagingState?.hasMore}\n                        goToNextPage={goToNextPage}\n                    />\n                </StickyFooter>\n                <SideBars />\n            </ContentMargins>\n        </ScrollableContent>\n    );\n});\n\nexport default InvoicesListPage;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './MultiPointOrderRouteMap.scss';\n\nimport GoogleMapReact from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport { ApiShipmentStatusT } from 'common/utils/api/models';\nimport last from 'lodash/last';\nimport { AssetTypeEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { TrackPointT } from 'common/store/asset-track/models';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport MapBound, { BoundPointT } from 'common/components/maps/MapBound/MapBound';\nimport MapLoader from '../maps/MapLoader/MapLoader';\nimport { MapPointT, PointGeoJsonPropertiesT } from './models';\nimport Supercluster from 'supercluster';\nimport isNumber from 'lodash/isNumber';\nimport LastAssetTrackPointPin from 'common/components/maps/pins/LastAssetTrackPointPin/LastAssetTrackPointPin';\nimport WaypointNumberPin from 'common/components/maps/pins/WaypointNumberPin/WaypointNumberPin';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport PointStackClusterPin from './PointStackClusterPin/PointStackClusterPin';\nimport { visitedOriginLoadStatusSet } from './constants';\nimport FerryLocationPin from 'common/components/maps/pins/FerryLocationPin/FerryLocationPin';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nexport type MultiPointOrderRouteMapPropsT = {\n    withRouteTrack?: boolean;\n    points: Array<MapPointT | null> | null;\n    loadStatus?: ApiShipmentStatusT;\n    route?: Array<GooglePolylineT> | null;\n    routeRequest?: RequestStatusT;\n    routes?: Array<Array<GooglePolylineT>> | null;\n    routeRequests?: Array<RequestStatusT> | null;\n    truckTrack?: Array<TrackPointT>;\n    truckNumber?: number | null;\n    truckTrackRequest?: RequestStatusT;\n    truckRoute?: Array<GooglePolylineT> | null;\n    truckRouteRequest?: RequestStatusT;\n    trailerTrack?: Array<TrackPointT>;\n    trailerNumber?: number | null;\n    trailerTrackRequest?: RequestStatusT;\n    trailerRoute?: Array<GooglePolylineT> | null;\n    trailerRouteRequest?: RequestStatusT;\n    isLoading?: boolean;\n};\n\nconst FEATURES_LIMIT = 99999;\nconst DEFAULT_OFFSET = 0;\n\nconst SUPERCLUSTER_SETTINGS: Supercluster.Options<PointGeoJsonPropertiesT, any> = {\n    radius: 100,\n    maxZoom: 22,\n};\n\nconst MultiPointOrderRouteMap: React.FC<MultiPointOrderRouteMapPropsT> = React.memo((props) => {\n    const {\n        points,\n        loadStatus,\n        route,\n        routeRequest,\n        routes,\n        routeRequests,\n        withRouteTrack,\n        truckTrack,\n        truckNumber,\n        truckTrackRequest,\n        truckRoute,\n        truckRouteRequest,\n        trailerTrack,\n        trailerNumber,\n        trailerTrackRequest,\n        trailerRoute,\n        trailerRouteRequest,\n        children,\n    } = props;\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const [api, setApi] = React.useState<TODO>(null);\n    const [config, setConfig] = React.useState<TODO>(null);\n\n    const allMapPoints = React.useMemo((): Array<BoundPointT> => {\n        if (!points) {\n            return [];\n        }\n\n        return points.reduce<Array<BoundPointT>>((acc, point) => {\n            if (!point) {\n                return acc;\n            }\n\n            acc.push([point.latitude, point.longitude]);\n\n            return acc;\n        }, []);\n    }, [points]);\n\n    const apiIsLoaded: OnGoogleApiLoadedT = (api) => {\n        setApi(api);\n\n        const { map, maps } = api;\n\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const lastTruckTrackPoint = last(truckTrack);\n    const lastTrailerTrackPoint = last(trailerTrack);\n\n    const allGeoJSONs = React.useMemo(() => {\n        const geoJSONs: Array<Supercluster.PointFeature<PointGeoJsonPropertiesT>> = [];\n\n        points?.forEach((point) => {\n            const longitude = point?.longitude;\n            const latitude = point?.latitude;\n            if (isNumber(latitude) && isNumber(longitude) && point) {\n                const geoJson: Supercluster.PointFeature<PointGeoJsonPropertiesT> = {\n                    type: 'Feature',\n                    geometry: {\n                        type: 'Point',\n                        coordinates: [longitude, latitude],\n                    },\n                    properties: {\n                        type: 'point',\n                        point,\n                        pointNumber: (point?.index || 0) + 1,\n                    },\n                };\n\n                geoJSONs.push(geoJson);\n            }\n        });\n\n        if (lastTrailerTrackPoint) {\n            geoJSONs.push({\n                type: 'Feature',\n                geometry: {\n                    type: 'Point',\n                    coordinates: [lastTrailerTrackPoint.lng, lastTrailerTrackPoint.lat],\n                },\n                properties: {\n                    type: 'trailer-last-point',\n                    point: lastTrailerTrackPoint,\n                    trailerNumber: isNumber(trailerNumber) ? trailerNumber : null,\n                },\n            });\n        }\n\n        if (lastTruckTrackPoint) {\n            geoJSONs.push({\n                type: 'Feature',\n                geometry: {\n                    type: 'Point',\n                    coordinates: [lastTruckTrackPoint.lng, lastTruckTrackPoint.lat],\n                },\n                properties: {\n                    type: 'truck-last-point',\n                    point: lastTruckTrackPoint,\n                    truckNumber: isNumber(truckNumber) ? truckNumber : null,\n                },\n            });\n        }\n\n        return geoJSONs;\n    }, [points, lastTruckTrackPoint, lastTrailerTrackPoint, trailerNumber, truckNumber]);\n\n    const allGeoJSONsClusterator = React.useMemo(() => {\n        const clusterator = new Supercluster<PointGeoJsonPropertiesT>(SUPERCLUSTER_SETTINGS);\n        clusterator.load(allGeoJSONs || []);\n        return clusterator;\n    }, [allGeoJSONs]);\n\n    const allGeoJSONsClusters = React.useMemo(() => {\n        if (config) {\n            const clusters = allGeoJSONsClusterator.getClusters(config.bounds, config.zoom);\n            return clusters;\n        }\n\n        return [];\n    }, [config, allGeoJSONsClusterator]);\n\n    const handleChange = () => {\n        if (api) {\n            const { zoom } = api.map;\n\n            const bound = api.map.getBounds();\n\n            const northEast = bound.getNorthEast();\n            const southWest = bound.getSouthWest();\n\n            setConfig({\n                zoom,\n                bounds: [southWest.lng(), southWest.lat(), northEast.lng(), northEast.lat()],\n            });\n        }\n    };\n\n    const renderSinglePointFeature = (properties: PointGeoJsonPropertiesT) => {\n        switch (properties.type) {\n            case 'trailer-last-point': {\n                return (\n                    <LastAssetTrackPointPin\n                        key={`trailer-last-point-${properties.trailerNumber}`}\n                        iconType={AssetTypeEnum.trailer}\n                        lat={properties.point.lat}\n                        lng={properties.point.lng}\n                        timestamp={properties.point.timestamp}\n                        number={properties.trailerNumber}\n                    />\n                );\n            }\n            case 'truck-last-point': {\n                return (\n                    <LastAssetTrackPointPin\n                        key={`truck-last-point-${properties.truckNumber}`}\n                        iconType={AssetTypeEnum.truck}\n                        lat={properties.point.lat}\n                        lng={properties.point.lng}\n                        timestamp={properties.point.timestamp}\n                        number={properties.truckNumber}\n                    />\n                );\n            }\n            case 'point': {\n                const { point, pointNumber } = properties;\n\n                const isVisited = loadStatus && visitedOriginLoadStatusSet.has(loadStatus);\n\n                if (point.type === 'FERRY_ONBOARD' || point.type === 'FERRY_DISEMBARK') {\n                    return (\n                        <FerryLocationPin\n                            key={`route-point-${point.type}-${point.index}-${pointNumber}`}\n                            className={cx('route-point-pin')}\n                            lng={point.longitude}\n                            lat={point.latitude}\n                            theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                        />\n                    );\n                }\n\n                let theme = MapPinThemeEnum.gray;\n                if (point.type === 'SHIPMENT') {\n                    theme = MapPinThemeEnum.charcoal;\n                }\n\n                if (isVisited) {\n                    theme = MapPinThemeEnum.brandDark;\n                }\n\n                return (\n                    <WaypointNumberPin\n                        key={`route-point-${point.index}-${point.type}-${pointNumber}`}\n                        className={cx('route-point-pin')}\n                        theme={theme}\n                        lng={point.longitude}\n                        lat={point.latitude}\n                    >\n                        {pointNumber}\n                    </WaypointNumberPin>\n                );\n            }\n            default: {\n                return null;\n            }\n        }\n    };\n\n    const handleClusterClick = React.useCallback(\n        (clusterId: number) => {\n            const { map, maps } = api;\n\n            const clusterFeatures = allGeoJSONsClusterator.getLeaves(clusterId, FEATURES_LIMIT, DEFAULT_OFFSET);\n\n            const bounds = new maps.LatLngBounds();\n\n            clusterFeatures.forEach((feature: Supercluster.PointFeature<{}>) => {\n                const point = new maps.LatLng(feature.geometry.coordinates[1], feature.geometry.coordinates[0]);\n\n                bounds.extend(point);\n            });\n\n            map.fitBounds(bounds);\n        },\n        [api, allGeoJSONsClusterator],\n    );\n\n    const isLoadingRoutes = React.useMemo(() => {\n        return (\n            routeRequests?.some((routeRequest) => {\n                return routeRequest?.loading;\n            }) || false\n        );\n    }, [routeRequests]);\n\n    const isRouteRequestLoading =\n        isLoadingRoutes || routeRequest?.loading || truckRouteRequest?.loading || trailerRouteRequest?.loading;\n\n    const isLoading =\n        props.isLoading || isRouteRequestLoading || truckTrackRequest?.loading || trailerTrackRequest?.loading;\n\n    return (\n        <>\n            {isLoading && <MapLoader />}\n            <GoogleMapReact\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                options={MAP_OPTIONS}\n                onGoogleApiLoaded={apiIsLoaded}\n                onDragEnd={handleChange}\n                onZoomAnimationEnd={handleChange}\n                yesIWantToUseGoogleMapApiInternals\n            >\n                {allGeoJSONsClusters.map((cluster) => {\n                    if ('cluster' in cluster.properties) {\n                        const pointsFeatures = allGeoJSONsClusterator.getLeaves(\n                            cluster.properties.cluster_id,\n                            FEATURES_LIMIT,\n                            DEFAULT_OFFSET,\n                        );\n\n                        const clusterProperties = pointsFeatures.map((pointFeatures) => {\n                            return pointFeatures.properties;\n                        });\n\n                        return (\n                            <PointStackClusterPin\n                                key={`cluster-${cluster.properties.cluster_id}`}\n                                clusterId={cluster.properties.cluster_id}\n                                lng={cluster.geometry.coordinates[0]}\n                                lat={cluster.geometry.coordinates[1]}\n                                clusterProperties={clusterProperties}\n                                onClusterClick={handleClusterClick}\n                                withoutArrow={config.zoom < 20}\n                                loadStatus={loadStatus}\n                            />\n                        );\n                    }\n\n                    return renderSinglePointFeature(cluster.properties as PointGeoJsonPropertiesT);\n                })}\n            </GoogleMapReact>\n            {routes?.map((route, routeIndex) => (\n                <MapRoute\n                    key={`route-${routeIndex}`}\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext.googleMaps?.libraries?.geometry}\n                    polylines={route}\n                    theme={withRouteTrack ? MapRouteThemeEnum.trackFuture : MapRouteThemeEnum.trackPast}\n                    zIndex={1}\n                />\n            ))}\n            {route && (\n                <MapRoute\n                    key=\"route\"\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext.googleMaps?.libraries?.geometry}\n                    polylines={route}\n                    theme={withRouteTrack ? MapRouteThemeEnum.trackFuture : MapRouteThemeEnum.trackPast}\n                    zIndex={1}\n                />\n            )}\n            <MapRoute\n                key=\"truck-route\"\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                geometryLibrary={googleMapContext.googleMaps?.libraries?.geometry}\n                polylines={truckRoute}\n                theme={withRouteTrack ? MapRouteThemeEnum.trackFuture : MapRouteThemeEnum.trackPast}\n                zIndex={2}\n            />\n            <MapRoute\n                key=\"trailer-route\"\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                geometryLibrary={googleMapContext.googleMaps?.libraries?.geometry}\n                polylines={trailerRoute}\n                theme={withRouteTrack ? MapRouteThemeEnum.trackFuture : MapRouteThemeEnum.trackPast}\n                zIndex={3}\n            />\n            <MapRoute\n                key=\"truck-track\"\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                route={trailerTrack}\n                theme={MapRouteThemeEnum.trackPast}\n                zIndex={4}\n            />\n            <MapRoute\n                key=\"trailer-track\"\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                route={truckTrack}\n                theme={MapRouteThemeEnum.trackPast}\n                zIndex={5}\n            />\n            <MapBound\n                key=\"map-bound\"\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                allMapPoints={allMapPoints}\n            />\n            {children}\n        </>\n    );\n});\n\nexport default MultiPointOrderRouteMap;\n","import { formatPageQuerySort } from 'common/utils/page-sort';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { FetchShipperContractLanesPageQueryT } from 'common/store/shipper-contract-lanes/models';\nimport isString from 'lodash/isString';\nimport { PageSortT } from 'common/utils/query';\nimport { ShipperContractLanesSortEnum } from 'common/utils/api/models';\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<ShipperContractLanesSortEnum> | null,\n): FetchShipperContractLanesPageQueryT => {\n    const dictTrailerId = queryFilters[QueryFiltersKeysEnum.dictTrailerId];\n\n    return {\n        textSearch: queryFilters[QueryFiltersKeysEnum.text] || undefined,\n        status: queryFilters[QueryFiltersKeysEnum.status] || undefined,\n\n        address: queryFilters[QueryFiltersKeysEnum.address] || undefined,\n\n        dictTrailerId: isString(dictTrailerId) ? +dictTrailerId : undefined,\n\n        createdById: queryFilters[QueryFiltersKeysEnum.createdById] || undefined,\n\n        validFromFrom: queryFilters[QueryFiltersKeysEnum.validFromStart] || undefined,\n        validFromTo: queryFilters[QueryFiltersKeysEnum.validFromFinish] || undefined,\n\n        validTillFrom: queryFilters[QueryFiltersKeysEnum.validTillStart] || undefined,\n        validTillTo: queryFilters[QueryFiltersKeysEnum.validTillFinish] || undefined,\n\n        createdDateFrom: queryFilters[QueryFiltersKeysEnum.createdDateStart] || undefined,\n        createdDateTo: queryFilters[QueryFiltersKeysEnum.createdDateFinish] || undefined,\n\n        sort: formatPageQuerySort(sort),\n    };\n};\n\nexport { prepareFetchPageQuery };\n","import { DeadheadRouteStopT, DeadheadRouteStopTypeEnum } from 'broker-admin/store/deadhead-creation/models';\n\nexport const routePointTypeMap: Record<DeadheadRouteStopT['type'], DeadheadRouteStopTypeEnum> = {\n    PICKUP_TRAILER: DeadheadRouteStopTypeEnum.unknown,\n    PICKUP_TRUCK: DeadheadRouteStopTypeEnum.pickupTruck,\n    PICKUP_ROAD_TRAIN: DeadheadRouteStopTypeEnum.pickupRoadTrain,\n    PICKUP_DELIVERY_SHIPMENT: DeadheadRouteStopTypeEnum.unknown,\n    DRIVE_THROUGH: DeadheadRouteStopTypeEnum.driveThrough,\n    DROP_AND_HOOK: DeadheadRouteStopTypeEnum.unknown,\n    DROP_TRAILER: DeadheadRouteStopTypeEnum.unknown,\n    DROP_TRUCK: DeadheadRouteStopTypeEnum.dropTruck,\n    DROP_ROAD_TRAIN: DeadheadRouteStopTypeEnum.dropRoadTrain,\n    FERRY_ONBOARD: DeadheadRouteStopTypeEnum.ferryOnboard,\n    FERRY_DISEMBARK: DeadheadRouteStopTypeEnum.ferryDisembark,\n};\n","import { FieldsEnum, FormValuesT, RoutePointT, ShipmentFieldsEnum } from '../constants';\nimport { NotUsedRoutePointValidationResultT } from '../footer-alert-contents/NotUsedRoutePointValidationAlertContent/NotUsedRoutePointValidationAlertContent';\nimport { OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\n\ntype MetaT = {\n    routePoints: Array<RoutePointT>;\n};\n\nexport const validateNotUsedRoutePoint = (\n    formValues: FormValuesT,\n    meta: MetaT,\n): NotUsedRoutePointValidationResultT | null => {\n    const { routePoints } = meta;\n\n    const allRoutePointIdsSet = new Set(\n        routePoints\n            .filter((routePoint) => {\n                return routePoint.type === OrderCreationReservePointTypeEnum.shipment;\n            })\n            .map((routePoint) => routePoint.id),\n    );\n\n    formValues[FieldsEnum.shipments]?.forEach((shipmentFormValues) => {\n        const pickUpPointId = shipmentFormValues[ShipmentFieldsEnum.pickUpPointId];\n        if (pickUpPointId && allRoutePointIdsSet.has(pickUpPointId)) {\n            allRoutePointIdsSet.delete(pickUpPointId);\n        }\n\n        const dropOffPointId = shipmentFormValues[ShipmentFieldsEnum.dropOffPointId];\n        if (dropOffPointId && allRoutePointIdsSet.has(dropOffPointId)) {\n            allRoutePointIdsSet.delete(dropOffPointId);\n        }\n    });\n\n    if (allRoutePointIdsSet?.size) {\n        return {};\n    }\n\n    return null;\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './RightSidebarLayout.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst RightSidebarLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children } = props;\n\n    return <div className={cx('right-sidebar')}>{children}</div>;\n});\n\nexport default RightSidebarLayout;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './AveragePriceOfferDetails.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport { CurrencyEnum, UnitTypeEnum } from 'common/constants';\nimport RuleImpact from 'common/components/RuleImpact/RuleImpact';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport Money from 'common/components/Money/Money';\nimport PriceDetailsHeader from 'common/layouts/NewOrderPage/OfferDetails/PriceDetailsHeader/PriceDetailsHeader';\nimport { ApiPriceOfferT } from 'common/store/shipper-contract-lane-creation/types';\nimport { M_IN_KM } from 'common/utils/distance';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport { useCommonPriceDetails } from 'common/components/price-details/hooks/common';\nimport { useAdditionalServicesList } from 'common/components/price-details/hooks/additional-services-list';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    priceOffer?: ApiPriceOfferT | null;\n};\n\nconst AveragePriceOfferDetails: React.FC<PropsT> = React.memo((props) => {\n    const { className, priceOffer } = props;\n\n    const { t } = useTranslation();\n\n    const commonPriceDetails = useCommonPriceDetails();\n\n    const carrierAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: priceOffer?.additionalServices?.items,\n        isAllowCarrierServices: true,\n        isAllowBrokerServices: false,\n    });\n\n    const brokerAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: priceOffer?.additionalServices?.items,\n        isAllowCarrierServices: false,\n        isAllowBrokerServices: true,\n    });\n\n    const costOfOperationPrices: Array<PriceDetailT | null> = React.useMemo(() => {\n        return [\n            {\n                ...commonPriceDetails.lineHaul,\n                price: priceOffer?.lineHaul,\n                footerNode: commonPriceDetails.getAppliedRulesFooterNode(['LINE_HAUL'], priceOffer?.appliedRules),\n            },\n            {\n                ...commonPriceDetails.getRoadTaxesRow(priceOffer?.co2),\n                price: priceOffer?.toll?.totalCost,\n                footerNode: commonPriceDetails.getAppliedRulesFooterNode(['ROAD_TAXES'], priceOffer?.appliedRules),\n                list: commonPriceDetails.getRoadTaxesList(priceOffer?.toll?.byRoadType, priceOffer?.appliedRules),\n            },\n            {\n                ...commonPriceDetails.getFuelCostRow(priceOffer?.fuel?.fuelType),\n                price: priceOffer?.fuel?.totalCost,\n                footerNode: commonPriceDetails.getAppliedRulesFooterNode(['FUEL'], priceOffer?.appliedRules),\n                list: commonPriceDetails.getFuelCostsByCountryList(priceOffer?.fuel?.byCountry),\n            },\n            carrierAdditionalServicesList?.length\n                ? {\n                      ...commonPriceDetails.getCarrierAdditionalServicesRow(priceOffer?.additionalServices?.items),\n                      list: [\n                          {\n                              list: carrierAdditionalServicesList,\n                          },\n                      ],\n                  }\n                : null,\n            brokerAdditionalServicesList?.length\n                ? {\n                      ...commonPriceDetails.getBrokerAdditionalServicesRow(priceOffer?.additionalServices?.items),\n                      list: [\n                          {\n                              list: brokerAdditionalServicesList,\n                          },\n                      ],\n                  }\n                : null,\n        ];\n    }, [commonPriceDetails, priceOffer, carrierAdditionalServicesList, brokerAdditionalServicesList]);\n\n    const otherPrices: Array<PriceDetailT> = React.useMemo(() => {\n        return [\n            {\n                ...commonPriceDetails.tranziitServiceFee,\n                price: priceOffer?.serviceFee,\n            },\n        ];\n    }, [commonPriceDetails.tranziitServiceFee, priceOffer?.serviceFee]);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const appliedRulePrices: Array<PriceDetailT> = React.useMemo(() => {\n        if (!priceOffer?.brokerInfo?.appliedRules) {\n            return [];\n        }\n\n        return priceOffer.brokerInfo.appliedRules.map((appliedRule) => {\n            return {\n                title: (\n                    <ClickInterceptorLabel>\n                        <Link\n                            onClick={() => {\n                                openLeftSidebar({\n                                    type: BrokerSidebarsTypeEnum.editPriceSettingsRuleSidebar,\n                                    // @ts-expect-error wait backend, not found id\n                                    editableRuleId: String(appliedRule.id),\n                                });\n                            }}\n                            theme={LinkThemeEnum.boldBrandDark}\n                        >\n                            {appliedRule?.name}\n                        </Link>\n                    </ClickInterceptorLabel>\n                ),\n                unit: <RuleImpact value={appliedRule.value} impactStrategy={appliedRule.valueType} />,\n            };\n        });\n    }, [priceOffer, openLeftSidebar]);\n\n    const totalDistance = priceOffer?.distances?.totalDistance;\n    const costOfOperationRate = isNumber(totalDistance)\n        ? (priceOffer?.costOfOperation || 0) / (totalDistance / M_IN_KM)\n        : null;\n\n    return (\n        <div className={cs(cx('inner'), className)}>\n            <PriceDetailsHeader\n                className={cx('price-details__header')}\n                title={t('shipper-lane-creation.average-price-offer-details.block.cost-of-operation')}\n                rightNode={\n                    priceOffer ? (\n                        <span className={cx('rates')}>\n                            <Money currency={CurrencyEnum.EUR} amount={priceOffer?.costOfOperation} />\n                            {' ('}\n                            <UnitTypeCount\n                                types={[UnitTypeEnum.euroAbbreviation, UnitTypeEnum.kilometersAbbreviation]}\n                                count={costOfOperationRate}\n                            />\n                            )\n                        </span>\n                    ) : null\n                }\n            />\n            <div className={cx('price-details__list')}>\n                <PriceDetails list={costOfOperationPrices} />\n            </div>\n            <PriceDetailsHeader title={t('shipper-lane-creation.average-price-offer-details.block.other-costs')} />\n            <div className={cx('price-details__list')}>\n                <PriceDetails list={otherPrices} />\n            </div>\n            {priceOffer ? (\n                <>\n                    <PriceDetailsHeader\n                        title={t('shipper-lane-creation.average-price-offer-details.block.applied-rules', {\n                            postProcess: 'interval',\n                            count: appliedRulePrices?.length,\n                        })}\n                    />\n                    <div\n                        className={cx('price-details__list', {\n                            'price-details__list--isLast': true,\n                        })}\n                    >\n                        <PriceDetails list={appliedRulePrices} />\n                    </div>\n                </>\n            ) : (\n                <PriceDetailsHeader\n                    title={t('shipper-lane-creation.average-price-offer-details.block.applied-rules-loading')}\n                />\n            )}\n        </div>\n    );\n});\n\nexport default AveragePriceOfferDetails;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ErrorModal.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectIsShowErrorModal, selectNewErrorLogs } from 'common/store/errors/selectors';\nimport { closeErrorModal } from 'common/store/errors/actions';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport Modal from 'common/components/Modal/Modal';\nimport ErrorDetails from 'common/components/ErrorModal/ErrorDetails/ErrorDetails';\nimport ModalDialog, { ModalDialogPropsT } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ErrorActionT } from 'common/store/errors/models';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\nimport BigSleepIcon from 'common/icons/BigSleepIcon';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport { ApiRequestErrorTypeEnum, checkIsApiRequestError } from 'common/utils/api/errors/api-request-error';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport ErrorTraceId from 'common/components/ErrorModal/ErrorTraceId/ErrorTraceId';\nimport { checkIsTranziitApiErrorResponse } from 'common/utils/api/tranziit/errors/error-response';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst checkIsNotBlockingError = (errorAction: ErrorActionT): boolean => {\n    return (\n        checkIsTranziitApiRequestError(errorAction.error) &&\n        (errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreationExpiredRFQ ||\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreation_AlreadyCompletedRFQ ||\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreation_ExpiredPriceOffer)\n    );\n};\n\nconst ErrorModal: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const newErrorLogs = useSelector(selectNewErrorLogs);\n\n    const featuresContext = React.useContext(FeaturesContext);\n\n    const isShowErrorDetails = featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.errorDetails);\n\n    const isShowErrorModal = useSelector(selectIsShowErrorModal);\n    if (!isShowErrorModal) {\n        return null;\n    }\n\n    const handleClose = () => {\n        dispatch(closeErrorModal());\n    };\n\n    const testSelector = 'error-modal';\n\n    const firstErrorLog = newErrorLogs[0];\n\n    const getModalDialogProps = (errorAction: ErrorActionT): ModalDialogPropsT => {\n        const defaultOkAction = {\n            children: t('common:error-modal.actions.ok'),\n            theme: ButtonThemeEnum.secondary,\n            testSelector: `${testSelector}_ok`,\n            onClick: handleClose,\n        };\n        const defaultWidthPx = 340;\n\n        if (\n            checkIsApiRequestError(errorAction.error) &&\n            errorAction.error?.type === ApiRequestErrorTypeEnum.timeoutError\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.timeout-error.title'),\n                message: t('common:error-modal.timeout-error.description'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.canNotDowngradeLastAdminInTeam\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.can-not-downgrade-last-admin-in-team.title'),\n                message: t('common:error-modal.can-not-downgrade-last-admin-in-team.description'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.canNotDeleteHimself\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.can-not-delete-himself.title'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.successorHasNotActiveStatus\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.successor-has-not-active-status.title'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreationExpiredRFQ\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.expired-rfq.title'),\n                message: t('common:error-modal.expired-rfq.description'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreation_ExpiredPriceOffer\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.order-creation-expired-price-offer.title'),\n                message: t('common:error-modal.order-creation-expired-price-offer.description'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreation_AlreadyCompletedRFQ\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.order-creation-already-completed-rfq.title'),\n                message: t('common:error-modal.order-creation-already-completed-rfq.description'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.failedArchiveInTransitDriver\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.failed-archive-in-transit-driver.title'),\n                message: t('common:error-modal.failed-archive-in-transit-driver.description'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.couldNotUnLockCompany\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.could-not-unlock-company.title'),\n                message: t('common:error-modal.could-not-unlock-company.description'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.alreadyAssignedDrivers\n        ) {\n            const isManyDrivers = !!errorAction.error.requestConfig?.query?.secondDriver;\n\n            return {\n                width: defaultWidthPx,\n                title: t(\n                    isManyDrivers\n                        ? 'common:error-modal.already-assigned-drivers.title'\n                        : 'common:error-modal.already-assigned-driver.title',\n                ),\n                message: t(\n                    isManyDrivers\n                        ? 'common:error-modal.already-assigned-drivers.description'\n                        : 'common:error-modal.already-assigned-driver.description',\n                ),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.firebaseTooManyResendInviteRequests\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.too-many-reinvite-user-request.title'),\n                message: t('common:error-modal.too-many-reinvite-user-request.description'),\n                icon: <BigSleepIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            checkIsTranziitApiErrorResponse(\n                errorAction.error,\n                TranziitApiRequestErrorSubTypeEnum.documents_unsupportedFileType,\n            )\n        ) {\n            const allowedTypes = errorAction.error?.response?.supportedFileTypes?.join(', ') || '';\n\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.documents-unsupported-file-type.title'),\n                message: t('common:error-modal.documents-unsupported-file-type.description', { allowedTypes }),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            checkIsTranziitApiErrorResponse(\n                errorAction.error,\n                TranziitApiRequestErrorSubTypeEnum.attachedPapers_unsupportedFileType,\n            )\n        ) {\n            const allowedTypes = errorAction.error?.response?.supportedFileTypes?.join(', ') || '';\n\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.documents-unsupported-file-type.title'),\n                message: t('common:error-modal.documents-unsupported-file-type.description', { allowedTypes }),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        if (\n            checkIsTranziitApiRequestError(errorAction.error) &&\n            errorAction.error?.subType === TranziitApiRequestErrorSubTypeEnum.noRouteFound\n        ) {\n            return {\n                width: defaultWidthPx,\n                title: t('common:error-modal.no-route-found.title'),\n                message: t('common:error-modal.no-route-found.description'),\n                icon: <BigWarningIcon />,\n                actions: [defaultOkAction],\n            };\n        }\n\n        return {\n            width: defaultWidthPx,\n            title: t('common:error-modal.unexpected-error.title'),\n            message: t('common:error-modal.unexpected-error.description'),\n            icon: <BigWarningIcon />,\n            actions: [\n                defaultOkAction,\n                {\n                    children: t('common:error-modal.actions.contact-support'),\n                    theme: ButtonThemeEnum.transparent,\n                    testSelector: `${testSelector}_support`,\n                    onClick: () => {\n                        handleClose();\n\n                        if (window.openZendeskWidget) {\n                            window.openZendeskWidget();\n                        }\n                    },\n                },\n            ],\n        };\n    };\n\n    const modalDialogProps = firstErrorLog ? getModalDialogProps(firstErrorLog) : null;\n    const isNotBlockingError = firstErrorLog ? checkIsNotBlockingError(firstErrorLog) : false;\n\n    const isShowTraceId = featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.showTraceId);\n\n    const content = (\n        <>\n            {modalDialogProps && <ModalDialog {...modalDialogProps} />}\n            {isShowTraceId && (\n                <div className={cx('trace-id')}>\n                    {newErrorLogs.map((errorLog, errorIndex) => {\n                        return <ErrorTraceId errorLog={errorLog} key={errorIndex} />;\n                    })}\n                </div>\n            )}\n            {isShowErrorDetails && (\n                <div className={cx('logs')}>\n                    {newErrorLogs.map((errorLog, errorIndex) => {\n                        return <ErrorDetails errorLog={errorLog} key={errorIndex} />;\n                    })}\n                </div>\n            )}\n        </>\n    );\n\n    if (isNotBlockingError) {\n        return <div className={cx('background-error')}>{content}</div>;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={handleClose} testSelector={testSelector}>\n                {content}\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ErrorModal;\n","import { MS_IN_DAY, MS_IN_HOUR } from 'common/utils/time';\n\nexport const TARGET_TICKS_VIEW_COUNT = 14;\n\nexport const DEFAULT_VIEW_MS = MS_IN_DAY * TARGET_TICKS_VIEW_COUNT;\n\nexport const MIN_VIEW_MS = MS_IN_HOUR;\nexport const MAX_VIEW_MS = DEFAULT_VIEW_MS;\n\nconst ZOOM_STEP_COUNT = 4;\n\nexport const ZOOM_STEP_MS = (MAX_VIEW_MS - MIN_VIEW_MS) / ZOOM_STEP_COUNT;\n","import { put, takeEvery } from 'redux-saga/effects';\nimport { checkError, extractErrorFromAction } from 'common/store/errors/utils';\nimport { AnyAction } from 'redux';\nimport { reAuthSaga } from 'common/store/auth/sagas';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport { ApiRequestErrorTypeEnum, checkIsApiRequestError } from 'common/utils/api/errors/api-request-error';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { AuthErrorTypeEnum, checkIsAuthApiError } from 'common/utils/api/auth/errors/auth-api-error';\n\nfunction* anyActionSaga(action: AnyAction): WrapGeneratorT<void> {\n    const isErrorAction = checkError(action.type);\n    if (!isErrorAction) {\n        return;\n    }\n\n    const actionError = extractErrorFromAction(action);\n\n    if (\n        (checkIsAuthApiError(actionError) && actionError?.type === AuthErrorTypeEnum.networkRequestFailed) ||\n        (checkIsApiRequestError(actionError) && actionError?.type === ApiRequestErrorTypeEnum.networkError)\n    ) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.networkError,\n                    data: {},\n                }),\n            ),\n        );\n        return;\n    }\n\n    // TODO start experiment access denied\n    // if (\n    //     checkIsUnauthorizedError(actionError) ||\n    //     (checkIsTranziitApiRequestError(actionError) &&\n    //         (actionError?.subType === TranziitApiRequestErrorSubTypeEnum.notAuthorizedUser ||\n    //             actionError?.subType === TranziitApiRequestErrorSubTypeEnum.notFoundUser ||\n    //             actionError?.subType === TranziitApiRequestErrorSubTypeEnum.notFoundCompany ||\n    //             actionError?.subType === TranziitApiRequestErrorSubTypeEnum.accessDeniedToApi))\n    // ) {\n    //     yield reAuthSaga();\n    // }\n\n    if (\n        checkIsTranziitApiRequestError(actionError) &&\n        (actionError?.subType === TranziitApiRequestErrorSubTypeEnum.notAuthorizedUser ||\n            actionError?.subType === TranziitApiRequestErrorSubTypeEnum.notFoundUser ||\n            actionError?.subType === TranziitApiRequestErrorSubTypeEnum.notFoundCompany)\n    ) {\n        yield reAuthSaga();\n    }\n    // TODO finish experiment access denied\n}\n\nfunction* errorsSaga(): WrapGeneratorT<void> {\n    yield takeEvery('*', anyActionSaga);\n}\n\nexport default errorsSaga;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './HeaderSideBarLoader.scss';\nimport SideBarLayoutContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-layout-context';\nimport LineLoader from 'common/components/LineLoader/LineLoader';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isShow: boolean;\n};\n\nconst HeaderSideBarLoader: React.FC<PropsT> = React.memo((props) => {\n    const { className, isShow } = props;\n\n    const context = React.useContext(SideBarLayoutContext);\n\n    const headerHeightValue = context.headerHeight?.value || 0;\n\n    return (\n        <LineLoader\n            isShow={isShow}\n            className={cs(cx('line-loader'), className)}\n            style={{\n                top: `${headerHeightValue}px`,\n            }}\n        />\n    );\n});\n\nexport default HeaderSideBarLoader;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ActionOverlay from 'common/components/ActionOverlay/ActionOverlay';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\n\ntype PropsT = {};\n\nconst LockActionOnChangeForm: React.FC<PropsT> = React.memo((props) => {\n    const { children } = props;\n\n    const { t } = useTranslation();\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    let tooltipMessage: React.ReactNode = null;\n\n    const hasFormChanges = !!remoteFormActionsContext?.remoteFormState?.hasChanges;\n    if (hasFormChanges) {\n        tooltipMessage = t('partner.actions.save-changes-first');\n    }\n\n    return (\n        <ActionOverlay\n            isActive={hasFormChanges}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                    {tooltipMessage}\n                </TooltipContent>\n            }\n        >\n            {children}\n        </ActionOverlay>\n    );\n});\n\nexport default LockActionOnChangeForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"options\":\"DropdownSearchInput__options___loPaP\",\"option\":\"DropdownSearchInput__option___pDwtV\",\"option--isSelected\":\"DropdownSearchInput__option--isSelected___C6FZm\",\"search-input\":\"DropdownSearchInput__search-input___ivvgW\",\"search-input--isFocus\":\"DropdownSearchInput__search-input--isFocus___iv5lm\",\"search-input--isEmpty\":\"DropdownSearchInput__search-input--isEmpty___xJbB0\",\"search-input__wrap\":\"DropdownSearchInput__search-input__wrap___vhsZY\",\"search-input__icon\":\"DropdownSearchInput__search-input__icon___AjQtx\",\"search-input__icon--search\":\"DropdownSearchInput__search-input__icon--search___HTXRW\",\"search-input__icon--right-icon\":\"DropdownSearchInput__search-input__icon--right-icon___omjiP\",\"separator\":\"DropdownSearchInput__separator___P4LNI\",\"fadeIn\":\"DropdownSearchInput__fadeIn___SeNIp\",\"blinking\":\"DropdownSearchInput__blinking___trmsW\"};","import { RequestStatusT } from 'common/utils/request-status';\n\nexport const checkNeedRenderEmptyState = <T>(items: Array<T>, requestStatus: RequestStatusT) => {\n    const isLoaded = requestStatus?.ok || requestStatus?.error;\n    const isEmpty = !items.length;\n\n    return isEmpty && isLoaded;\n};\n","import {\n    TRAILERS_DICT_REQUEST_BEGIN,\n    TRAILERS_DICT_REQUEST_ERROR,\n    TRAILERS_DICT_REQUEST_SUCCESS,\n    TrailersDictActionT,\n    TrailersDictStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\n\nconst initialState: TrailersDictStateT = {\n    trailersDict: null,\n    trailersDictRequest: requestStatus.initial,\n};\n\nexport default (state = initialState, action: TrailersDictActionT): TrailersDictStateT => {\n    switch (action.type) {\n        case TRAILERS_DICT_REQUEST_BEGIN: {\n            return {\n                ...state,\n                trailersDictRequest: requestStatus.loading,\n            };\n        }\n\n        case TRAILERS_DICT_REQUEST_SUCCESS: {\n            const { trailersDict } = action;\n\n            return {\n                ...state,\n                trailersDict,\n                trailersDictRequest: requestStatus.ok,\n            };\n        }\n\n        case TRAILERS_DICT_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                trailersDictRequest: requestStatus.setError(error),\n            };\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import * as React from 'react';\nimport isNumber from 'lodash/isNumber';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiShipperContractLaneStatusT, ShipperContractLaneStatusEnum } from 'common/utils/api/models';\n\ntype PropsT = {\n    ordersLeft: number | null | undefined;\n    maxNumberOfOrders: number | null | undefined;\n    status: ApiShipperContractLaneStatusT | null | undefined;\n};\n\nconst THEME_BY_STATUS: Record<ApiShipperContractLaneStatusT, PillLabelThemeEnum> = {\n    [ShipperContractLaneStatusEnum.active]: PillLabelThemeEnum.charcoal,\n    [ShipperContractLaneStatusEnum.completed]: PillLabelThemeEnum.grey,\n    [ShipperContractLaneStatusEnum.expired]: PillLabelThemeEnum.grey,\n    [ShipperContractLaneStatusEnum.revoked]: PillLabelThemeEnum.grey,\n};\n\nconst DEFAULT_THEME = PillLabelThemeEnum.grey;\n\nconst OrdersCountCell: React.FC<PropsT> = React.memo((props) => {\n    const { ordersLeft, maxNumberOfOrders, status } = props;\n\n    if (!isNumber(ordersLeft) || !isNumber(maxNumberOfOrders)) {\n        return null;\n    }\n\n    const theme = status ? THEME_BY_STATUS[status] : DEFAULT_THEME;\n\n    return <PillLabel isSymmetrical theme={theme}>{`${ordersLeft}/${maxNumberOfOrders}`}</PillLabel>;\n});\n\nexport default OrdersCountCell;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerMembersPage.scss';\nimport Members from 'common/layouts/Members/Members';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport { useSelector } from 'react-redux';\nimport { selectPartnerDetailsById } from 'broker-admin/store/partner/details/selectors';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PartnerMembersPage: React.FC<PropsT> = React.memo(() => {\n    const { partnerId } = usePartnerContext();\n\n    const partnerDetailsById = useSelector(selectPartnerDetailsById);\n    const partnerDetails = partnerDetailsById[partnerId as PartnerIdT] || null;\n\n    return (\n        <ContentMargins>\n            <Members isLockedProfile={partnerDetails?.locked} />\n        </ContentMargins>\n    );\n});\n\nexport default PartnerMembersPage;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\ntype PropsT = {\n    className?: string;\n    onClick: () => void;\n};\n\nconst DeleteWaypointTrigger: React.FC<PropsT> = React.memo((props) => {\n    const { className, onClick } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.centerLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                    {t('broker-order-route-edit.waypoints-control.delete-point')}\n                </TooltipContent>\n            }\n        >\n            {() => (\n                <TransparentTrigger\n                    className={className}\n                    spaces=\"s\"\n                    onClick={onClick}\n                    leftIcon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                    reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                />\n            )}\n        </Tooltip>\n    );\n});\n\nexport default DeleteWaypointTrigger;\n","// extracted by mini-css-extract-plugin\nexport default {\"trace-id\":\"TraceIdLabel__trace-id___opiXr\",\"fadeIn\":\"TraceIdLabel__fadeIn___l7gLM\",\"blinking\":\"TraceIdLabel__blinking___i_FgX\"};","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './EventCell.scss';\nimport { formatDate, formatHumanReadableDate, formatHumanReadableFullDate } from 'common/utils/time';\nimport { LinkPropsT, LinkThemeEnum, LinkToT } from 'common/components/Link/Link';\nimport { useTranslation } from 'react-i18next';\nimport { clientConfig } from 'common/utils/client-config';\nimport TableCellLink from 'common/components/Table/cell-renderers/TableCellLink/TableCellLink';\n\ntype PropsT = {\n    userFullName: string | null | undefined;\n    userId: UserIdT | null | undefined;\n    // deprecated TODO remove\n    getUserLink?: (userId: UserIdT) => LinkToT;\n    openUserDetails?: (userId: UserIdT, isBrokerUser?: boolean) => void;\n    date: string | null | undefined;\n    isSmallFont?: boolean;\n    byBroker?: boolean;\n\n    // one of\n    isHumanReadableFullDate?: boolean;\n    isHumanReadableDate?: boolean;\n    dateFormat?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DATE_FORMAT = 'DD MMM YYYY';\n\nconst EventCell: React.FC<PropsT> = React.memo((props) => {\n    const {\n        userFullName,\n        userId,\n        getUserLink,\n        openUserDetails,\n        date,\n        dateFormat,\n        isSmallFont,\n        isHumanReadableDate,\n        isHumanReadableFullDate,\n        byBroker,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const dateNode = useMemo(() => {\n        if (!date) {\n            return null;\n        }\n\n        if (isHumanReadableDate) {\n            return formatHumanReadableDate(t, date);\n        }\n\n        if (isHumanReadableFullDate) {\n            return formatHumanReadableFullDate(t, date);\n        }\n\n        return formatDate(dateFormat || DATE_FORMAT, date);\n    }, [t, date, dateFormat, isHumanReadableDate, isHumanReadableFullDate]);\n\n    const linkProps: Partial<LinkPropsT> = {};\n    if (openUserDetails && userId) {\n        linkProps.onClick = () => openUserDetails(userId, byBroker);\n    }\n    if (getUserLink && userId) {\n        linkProps.to = getUserLink(userId);\n    }\n\n    let linkNode: React.ReactNode = null;\n\n    if (byBroker && !clientConfig.isBrokerProject) {\n        linkNode = <div className={cx('link')}>{t('common:broker-name')}</div>;\n    } else if (userId) {\n        linkNode = (\n            <TableCellLink {...linkProps} theme={LinkThemeEnum.boldBrandDark}>\n                {userFullName}\n            </TableCellLink>\n        );\n    }\n\n    return (\n        <>\n            <div\n                className={cx('wrap', {\n                    'wrap--isSmallFont': isSmallFont,\n                })}\n            >\n                {dateNode}\n                {linkNode}\n            </div>\n        </>\n    );\n});\n\nexport default EventCell;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RunningOutOfTimeAssignDriversCard.scss';\nimport { Trans } from 'react-i18next';\nimport NotificationSubjectType from '../entities/NotificationSubjectType/NotificationSubjectType';\nimport { ApiNotificationSubjectTypeT } from 'common/utils/api/models';\nimport CityName from '../entities/CityName/CityName';\nimport SubjectLink from '../entities/SubjectLink/SubjectLink';\n\nconst cx = classNames.bind(styles);\n\nexport type RunningOutOfTimeAssignDriversCardPropsT = {\n    subjectType: ApiNotificationSubjectTypeT | null | undefined;\n    subjectNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst RunningOutOfTimeAssignDriversCard: React.FC<RunningOutOfTimeAssignDriversCardPropsT> = React.memo((props) => {\n    const { subjectType, subjectNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <Trans\n                i18nKey=\"common:notifications.transport-order-running-out-of-time-assign-driver\"\n                components={{\n                    subjectType: <NotificationSubjectType isCapitalized subjectType={subjectType} />,\n                    subjectLink: <SubjectLink number={subjectNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RunningOutOfTimeAssignDriversCard;\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\nimport values from 'lodash/values';\n\nconst REQUIRED_FIELDS = values<FieldsEnum>([FieldsEnum.taxId, FieldsEnum.iban, FieldsEnum.bic]);\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum, TabLabelSizeEnum } from 'common/components/tabs/TabLabel/constants';\nimport map from 'lodash/map';\nimport { urlFactory as brokerUrlFactory } from 'broker-admin/utils/urls';\nimport history from 'common/utils/history';\nimport { logWarning } from 'common/utils/logger';\nimport styles from './BrokerUsersTab.scss';\nimport TabGroup from 'common/components/tabs/TabGroup/TabGroup';\n\nconst cx = classNames.bind(styles);\n\nexport enum TabEnum {\n    teams = 'teams',\n    users = 'users',\n}\n\nconst TAB_LABEL_T: Record<TabEnum, string> = {\n    [TabEnum.teams]: 'broker-users.tabs.teams',\n    [TabEnum.users]: 'broker-users.tabs.users',\n};\n\nconst tabOrders: TabEnum[] = [TabEnum.teams, TabEnum.users];\n\ntype PropsT = {\n    activeTab: TabEnum;\n};\n\nconst BrokerUsersTab: React.FC<PropsT> = React.memo(({ activeTab }) => {\n    const { t } = useTranslation();\n\n    return (\n        <TabGroup className={cx('tabs')} size={TabLabelSizeEnum.small}>\n            {map(tabOrders, (tab) => (\n                <TabLabel\n                    isCompact\n                    key={tab}\n                    size={TabLabelSizeEnum.small}\n                    theme={TabsThemesEnum.light}\n                    onClick={() => {\n                        if (tab === TabEnum.teams) {\n                            history.push(brokerUrlFactory.brokerUsersTeams());\n                        } else if (tab === TabEnum.users) {\n                            history.push(brokerUrlFactory.brokerUsers());\n                        } else {\n                            logWarning('unknown tab');\n                        }\n                    }}\n                    isActive={tab === activeTab}\n                >\n                    {t(TAB_LABEL_T[tab])}\n                </TabLabel>\n            ))}\n        </TabGroup>\n    );\n});\n\nexport default BrokerUsersTab;\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractLaneDetailsMap.scss';\nimport GoogleMapReact from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport DestinationPinIcon from 'common/icons/DestinationPinIcon';\nimport OriginPinIcon from 'common/icons/OriginPinIcon';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport MapArea, { MapAreaThemeEnum } from 'common/components/maps/MapArea/MapArea';\nimport { M_IN_KM } from 'common/utils/distance';\nimport MapBound, { BoundPointT } from 'common/components/maps/MapBound/MapBound';\n\nconst cx = classNames.bind(styles);\n\nconst MAP_PIN_KEYS = {\n    origin: 'origin',\n    destination: 'destination',\n};\n\nexport type ShipperContractLaneAddressT = {\n    point: GeoPointT | null;\n    radiusKm: number | null;\n};\n\ntype PropsT = {\n    originAddress: ShipperContractLaneAddressT | null;\n    destinationAddress: ShipperContractLaneAddressT | null;\n};\n\nconst ShipperContractLaneDetailsMap: React.FC<PropsT> = React.memo((props) => {\n    const { originAddress, destinationAddress } = props;\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const apiIsLoaded: OnGoogleApiLoadedT = (api) => {\n        const { map, maps } = api;\n\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const destinationLatLngProps = useMemo(() => {\n        let latLngProps: GeoPointT | null = null;\n\n        if (!destinationAddress?.point) {\n            return latLngProps;\n        }\n\n        latLngProps = {\n            lat: destinationAddress.point.lat,\n            lng: destinationAddress.point.lng,\n        };\n\n        return latLngProps;\n    }, [destinationAddress]);\n\n    const originLatLngProps = useMemo(() => {\n        let latLngProps: GeoPointT | null = null;\n\n        if (!originAddress?.point) {\n            return latLngProps;\n        }\n\n        latLngProps = {\n            lat: originAddress.point.lat,\n            lng: originAddress.point.lng,\n        };\n\n        return latLngProps;\n    }, [originAddress]);\n\n    const allMapPoints = React.useMemo((): Array<BoundPointT> => {\n        return [\n            [originLatLngProps?.lat, originLatLngProps?.lng],\n            [destinationLatLngProps?.lat, destinationLatLngProps?.lng],\n        ];\n    }, [destinationLatLngProps, originLatLngProps]);\n\n    return (\n        <div className={cx('map')}>\n            <GoogleMapReact\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                options={MAP_OPTIONS}\n                onGoogleApiLoaded={apiIsLoaded}\n            >\n                {destinationLatLngProps && (\n                    <DestinationPinIcon\n                        key={MAP_PIN_KEYS.destination}\n                        className={cx('marker')}\n                        {...destinationLatLngProps}\n                    />\n                )}\n\n                {originLatLngProps && (\n                    <OriginPinIcon key={MAP_PIN_KEYS.origin} className={cx('marker')} {...originLatLngProps} />\n                )}\n            </GoogleMapReact>\n            {!!destinationAddress?.radiusKm && destinationLatLngProps && (\n                <MapArea\n                    key={`${MAP_PIN_KEYS.destination}-area`}\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    theme={MapAreaThemeEnum.destinationArea}\n                    centerLat={destinationLatLngProps.lat}\n                    centerLon={destinationLatLngProps.lng}\n                    radiusM={destinationAddress.radiusKm * M_IN_KM}\n                />\n            )}\n            {!!originAddress?.radiusKm && originLatLngProps && (\n                <MapArea\n                    key={`${MAP_PIN_KEYS.origin}-area`}\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    theme={MapAreaThemeEnum.originArea}\n                    centerLat={originLatLngProps.lat}\n                    centerLon={originLatLngProps.lng}\n                    radiusM={originAddress.radiusKm * M_IN_KM}\n                />\n            )}\n            <MapBound\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                allMapPoints={allMapPoints}\n            />\n        </div>\n    );\n});\n\nexport default ShipperContractLaneDetailsMap;\n","import {\n    COUNTRY_SETTINGS_DICT_REQUEST_BEGIN,\n    COUNTRY_SETTINGS_DICT_REQUEST_ERROR,\n    COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS,\n    CountrySettingsDictActionT,\n    CountrySettingsDictStateT,\n} from './types';\nimport keyBy from 'lodash/keyBy';\nimport requestStatus from 'common/utils/request-status';\n\nconst initialState: CountrySettingsDictStateT = {\n    byCountryCode: {},\n    request: requestStatus.initial,\n};\n\nexport default (state = initialState, action: CountrySettingsDictActionT): CountrySettingsDictStateT => {\n    switch (action.type) {\n        case COUNTRY_SETTINGS_DICT_REQUEST_BEGIN: {\n            return {\n                ...state,\n                request: requestStatus.loading,\n            };\n        }\n\n        case COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS: {\n            const { list } = action;\n\n            const byCountryCode = keyBy(list, 'country');\n\n            return {\n                ...state,\n                byCountryCode,\n                request: requestStatus.ok,\n            };\n        }\n\n        case COUNTRY_SETTINGS_DICT_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                request: requestStatus.setError(error),\n            };\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerTrailersPage.scss';\nimport TrailersPageLayout from 'common/layouts/TrailersPageLayout/TrailersPageLayout';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onOpenUserDetails: (userId: UserIdT | null) => void;\n};\n\nconst PartnerTrailersPage: React.FC<PropsT> = React.memo((props) => {\n    const { onOpenUserDetails } = props;\n\n    return <TrailersPageLayout onOpenUserDetails={onOpenUserDetails} />;\n});\n\nexport default PartnerTrailersPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"OpenedDatePicker__wrap___gVbeY\",\"calendar\":\"OpenedDatePicker__calendar___xwhkJ\",\"fadeIn\":\"OpenedDatePicker__fadeIn___wdQ88\",\"blinking\":\"OpenedDatePicker__blinking___OKNCL\"};","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './FerryOnboardPointPicker.scss';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { formatTimeInterval } from 'common/utils/time';\nimport { useFormikContext } from 'formik';\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { getFieldFormValue } from 'common/utils/form-values';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FerryOnboardPointPicker: React.FC<PropsT> = React.memo((props) => {\n    const { routePointIndex } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const timeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n\n    return (\n        <ReadOnlyField\n            icon={\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            }\n            label={t('broker-order-route-edit.fields.ferry-onboard.label')}\n            subLabel={\n                <PillLabel className={cx('time-interval')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                    {formatTimeInterval(timeWindow?.start, timeWindow?.end)}\n                </PillLabel>\n            }\n            value={location?.address}\n        />\n    );\n});\n\nexport default FerryOnboardPointPicker;\n","import {\n    AsyncRequestFactoryT,\n    useAsyncInitOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-init-options-request';\nimport { useCallback } from 'react';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { OptionT } from '../CarriersSuggest';\nimport { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\n\nexport const useCarrierSuggestOptions = (initCarrierIds: Array<CarrierIdT> | null) => {\n    const initRequestFactory: AsyncRequestFactoryT<OptionT> = useCallback(async () => {\n        if (!initCarrierIds?.length) {\n            return [null, null];\n        }\n\n        const promises = initCarrierIds.map((initCarrierId) => {\n            return brokerTranziitApi.fetchPartnerDetails(initCarrierId);\n        });\n\n        const results = await Promise.all(promises);\n\n        const resultOptions =\n            results?.reduce<Array<OptionT>>((acc, [, data]) => {\n                if (!data?.id) {\n                    return acc;\n                }\n\n                acc.push({\n                    id: data?.id,\n                    name: data?.name,\n                    number: data?.number,\n                    countryCode: data?.legalAddress?.country || null,\n                });\n\n                return acc;\n            }, []) || [];\n\n        const result: TranziitApiResultT<Array<OptionT>> = [null, resultOptions];\n\n        return result;\n    }, [initCarrierIds]);\n\n    const { initOptions, initRequestStatus } = useAsyncInitOptionsRequest<OptionT>({\n        initRequestFactory,\n    });\n\n    return {\n        initOptions,\n        initRequestStatus,\n    };\n};\n","import { ViewEventChannel, ViewEventHandlerT } from 'common/utils/view-event-channel';\nimport { useEffect } from 'react';\n\nexport const useChannelSubscribe = <EventT extends {}>(\n    channel: ViewEventChannel<EventT>,\n    handler: ViewEventHandlerT<EventT>,\n) => {\n    useEffect(() => {\n        channel.subscribe(handler);\n\n        return () => {\n            channel.unsubscribe(handler);\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [handler]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"paranja\":\"ParanjaSideBarLayout__paranja___Q3gOK\",\"fadeIn\":\"ParanjaSideBarLayout__fadeIn___D2stU\",\"blinking\":\"ParanjaSideBarLayout__blinking___Pip2t\"};","// extracted by mini-css-extract-plugin\nexport default {\"location\":\"AssignmentMap__location___EZmq9\",\"control\":\"AssignmentMap__control___Axm38\",\"loader\":\"AssignmentMap__loader___hLvga\",\"loader__container\":\"AssignmentMap__loader__container___yP7MP\",\"route-point-pin\":\"AssignmentMap__route-point-pin___b0Sm0\",\"fadeIn\":\"AssignmentMap__fadeIn___Bu4HU\",\"blinking\":\"AssignmentMap__blinking___s_EH8\"};","import * as React from 'react';\nimport { ApiInvoiceStatusT, InvoiceStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiInvoiceStatusT | null | undefined;\n};\n\nexport const STATUS_T_MAP: Record<ApiInvoiceStatusT, string> = {\n    [InvoiceStatusEnum.draft]: 'common:invoice-status.DRAFT',\n    [InvoiceStatusEnum.open]: 'common:invoice-status.OPEN',\n    [InvoiceStatusEnum.void]: 'common:invoice-status.VOID',\n    [InvoiceStatusEnum.paid]: 'common:invoice-status.PAID',\n    [InvoiceStatusEnum.uncollectible]: 'common:invoice-status.UNCOLLECTIBLE',\n};\n\nconst InvoiceStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(STATUS_T_MAP[status]);\n});\n\nexport default InvoiceStatus;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './CompletedPartnerShipperLaneContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ShipperContractLaneId from 'broker-admin/components/notification-cards/entities/ShipperContractLaneId/ShipperContractLaneId';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    id: string;\n};\n\nconst CompletedPartnerShipperLaneContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-lane-completed\"\n                components={{\n                    id: <ShipperContractLaneId id={id} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default CompletedPartnerShipperLaneContractCard;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TruckPickUpIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path fill={fillColor} d=\"M16 5v8l1 1v2h-6V5h5z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M15.97 1.045l.716.453c.079.05.126.135.126.225v10.134h.296c.623 0 1.129.483 1.129 1.08v2.775h.48c.157 0 .283.121.283.27v1.493c0 .149-.126.27-.282.27H17.5v.715c0 .298-.253.54-.565.54H15.44a.553.553 0 01-.565-.54v-.715L11 17.744V8.688h4.157v-2.66H11V2.74l2.465.001c.771 0 1.467.428 1.79 1.088l.063.145.213.55V1.27c0-.215.25-.343.438-.225zm-3.051 9.561c.312 0 .564.242.564.54v3.421c0 .299-.252.54-.564.54h-1.92v-4.5h1.92zm3.396 4.35h-.964a.522.522 0 01-.534-.51v-.012c0-.282.239-.51.534-.51h.964c.294 0 .533.228.533.51v.013c0 .281-.239.51-.533.51zM2.552 8.195h1.192v3.75c0 .413.338.75.75.75h3c.413 0 .75-.337.75-.75v-3.75h1.193c.667 0 1.005-.81.532-1.282L6.527 3.469a.747.747 0 00-1.058 0L2.027 6.912c-.473.472-.143 1.282.525 1.282zm4.942 6.056c.41 0 .744.331.75.739v1.955c0 .413-.337.75-.75.75h-3a.752.752 0 01-.75-.75V15c0-.412.338-.75.75-.75h3z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTruckPickUpIcon.displayName = 'TruckPickUpIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getTruckPickUpIconProps = (\n    preset:\n        | 'default'\n        | 'selected'\n        | 'assignment-events'\n        | 'assignment-normal'\n        | 'assignment-selected'\n        | 'assignment-input-normal'\n        | 'assignment-input-selected',\n): PropsT => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-input-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n        case 'assignment-events': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-input-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'default':\n        default: {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n    }\n};\n\nexport { storyProps };\nexport default TruckPickUpIcon;\n","import { FormikHelpers, FormikState } from 'formik';\nimport { FieldsEnum, FormValuesT } from '../constants';\nimport { useSelector } from 'react-redux';\nimport { selectReserve, selectReserveRequest } from 'common/store/order-creation/selectors';\nimport { useEffect } from 'react';\nimport find from 'lodash/find';\n\ntype FormikT = FormikState<FormValuesT> & FormikHelpers<FormValuesT>;\n\nexport const useOnlyAvailableLane = (formik: FormikT) => {\n    const reserve = useSelector(selectReserve);\n    const reserveRequest = useSelector(selectReserveRequest);\n\n    const selectedLaneId = formik.values[FieldsEnum.laneId];\n\n    useEffect(() => {\n        if (!reserveRequest.ok) {\n            return;\n        }\n\n        const isAvailableValue = !!find(reserve?.contractLanes, (lane) => {\n            return lane.id === selectedLaneId;\n        });\n\n        if (!isAvailableValue) {\n            formik.setFieldValue(FieldsEnum.laneId, null);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [reserveRequest, reserve]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"BrokerUserControl__option___vC4ZT\",\"count\":\"BrokerUserControl__count___y7I0O\",\"fadeIn\":\"BrokerUserControl__fadeIn___bqaiN\",\"blinking\":\"BrokerUserControl__blinking___udNKE\"};","import {\n    FETCH_PARTNER_DETAILS_REQUEST,\n    FETCH_PARTNER_DETAILS_REQUEST_BEGIN,\n    FETCH_PARTNER_DETAILS_REQUEST_ERROR,\n    FETCH_PARTNER_DETAILS_REQUEST_SUCCESS,\n    FetchPartnerDetailsActionT,\n    FetchPartnerDetailsBeginActionT,\n    FetchPartnerDetailsErrorActionT,\n    FetchPartnerDetailsSuccessActionT,\n    LOCK_PARTNER_REQUEST,\n    LOCK_PARTNER_REQUEST_BEGIN,\n    LOCK_PARTNER_REQUEST_ERROR,\n    LOCK_PARTNER_REQUEST_SUCCESS,\n    UPDATE_PARTNER_DETAILS_REQUEST,\n    UPDATE_PARTNER_DETAILS_REQUEST_BEGIN,\n    UPDATE_PARTNER_DETAILS_REQUEST_ERROR,\n    UPDATE_PARTNER_DETAILS_REQUEST_SUCCESS,\n    UpdatePartnerDetailsActionT,\n    UpdatePartnerDetailsBeginActionT,\n    UpdatePartnerDetailsErrorActionT,\n    UpdatePartnerDetailsSuccessActionT,\n    VERIFY_PARTNER_DETAILS_REQUEST,\n    VERIFY_PARTNER_DETAILS_REQUEST_BEGIN,\n    VERIFY_PARTNER_DETAILS_REQUEST_ERROR,\n    VERIFY_PARTNER_DETAILS_REQUEST_SUCCESS,\n    VerifyPartnerDetailsActionT,\n    VerifyPartnerDetailsBeginActionT,\n    VerifyPartnerDetailsErrorActionT,\n    VerifyPartnerDetailsSuccessActionT,\n    LockPartnerBeginActionT,\n    LockPartnerSuccessActionT,\n    LockPartnerErrorActionT,\n    LockPartnerActionT,\n} from './types';\nimport { PartnerDetailsT } from './models';\n\nimport { AddressTypeEnum, ApiBrokerCompanyChangesT, PartnerTypeEnum } from 'common/utils/api/models';\n\nexport const fetchPartnerDetails = (companyId: CompanyIdT): FetchPartnerDetailsActionT => ({\n    type: FETCH_PARTNER_DETAILS_REQUEST,\n    companyId,\n});\n\nexport const fetchPartnerDetailsBegin = (): FetchPartnerDetailsBeginActionT => ({\n    type: FETCH_PARTNER_DETAILS_REQUEST_BEGIN,\n});\n\nexport const fetchPartnerDetailsSuccess = (\n    partnerDetails: PartnerDetailsT | null,\n): FetchPartnerDetailsSuccessActionT => ({\n    type: FETCH_PARTNER_DETAILS_REQUEST_SUCCESS,\n    partnerDetails,\n});\n\nexport const fetchPartnerDetailsError = (error: Error): FetchPartnerDetailsErrorActionT => ({\n    type: FETCH_PARTNER_DETAILS_REQUEST_ERROR,\n    error,\n});\n\nexport const updatePartnerDetails = (\n    companyId: CompanyIdT,\n    partnerType: PartnerTypeEnum,\n    partnerDetailsChanges: ApiBrokerCompanyChangesT,\n): UpdatePartnerDetailsActionT => ({\n    type: UPDATE_PARTNER_DETAILS_REQUEST,\n    partnerDetailsChanges,\n    partnerType,\n    companyId,\n});\n\nexport const updatePartnerDetailsBegin = (): UpdatePartnerDetailsBeginActionT => ({\n    type: UPDATE_PARTNER_DETAILS_REQUEST_BEGIN,\n});\n\nexport const updatePartnerDetailsSuccess = (partnerDetails: PartnerDetailsT): UpdatePartnerDetailsSuccessActionT => ({\n    type: UPDATE_PARTNER_DETAILS_REQUEST_SUCCESS,\n    partnerDetails,\n});\n\nexport const updatePartnerDetailsError = (error: Error): UpdatePartnerDetailsErrorActionT => ({\n    type: UPDATE_PARTNER_DETAILS_REQUEST_ERROR,\n    error,\n});\n\nexport const verifyPartnerDetails = (\n    companyId: CompanyIdT,\n    addressType: AddressTypeEnum,\n): VerifyPartnerDetailsActionT => ({\n    type: VERIFY_PARTNER_DETAILS_REQUEST,\n    isVerify: true,\n    companyId,\n    addressType,\n});\n\nexport const unVerifyPartnerDetails = (\n    companyId: CompanyIdT,\n    addressType: AddressTypeEnum,\n): VerifyPartnerDetailsActionT => ({\n    type: VERIFY_PARTNER_DETAILS_REQUEST,\n    isVerify: false,\n    companyId,\n    addressType,\n});\n\nexport const verifyPartnerDetailsBegin = (): VerifyPartnerDetailsBeginActionT => ({\n    type: VERIFY_PARTNER_DETAILS_REQUEST_BEGIN,\n});\n\nexport const verifyPartnerDetailsSuccess = (): VerifyPartnerDetailsSuccessActionT => ({\n    type: VERIFY_PARTNER_DETAILS_REQUEST_SUCCESS,\n});\n\nexport const verifyPartnerDetailsError = (error: Error): VerifyPartnerDetailsErrorActionT => ({\n    type: VERIFY_PARTNER_DETAILS_REQUEST_ERROR,\n    error,\n});\n\nexport const unlockPartner = (companyId: CompanyIdT): LockPartnerActionT => ({\n    type: LOCK_PARTNER_REQUEST,\n    isLock: false,\n    companyId,\n});\n\nexport const lockPartner = (companyId: CompanyIdT): LockPartnerActionT => ({\n    type: LOCK_PARTNER_REQUEST,\n    isLock: true,\n    companyId,\n});\n\nexport const lockPartnerBegin = (): LockPartnerBeginActionT => ({\n    type: LOCK_PARTNER_REQUEST_BEGIN,\n});\n\nexport const lockPartnerSuccess = (): LockPartnerSuccessActionT => ({\n    type: LOCK_PARTNER_REQUEST_SUCCESS,\n});\n\nexport const lockPartnerError = (error: Error): LockPartnerErrorActionT => ({\n    type: LOCK_PARTNER_REQUEST_ERROR,\n    error,\n});\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst DocIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor } = props;\n\n    return (\n        <svg width={20} height={20} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n            <path d=\"M13.979 2H2v16h2V4h8v4h4v10h2V6z\" fill={strokeColor} fillRule=\"evenodd\" />\n        </svg>\n    );\n};\n\nDocIcon.displayName = 'DocIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default DocIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"placeholder\":\"ImageLoader__placeholder___kfE75\",\"fadeIn\":\"ImageLoader__fadeIn___pLvGR\",\"blinking\":\"ImageLoader__blinking___uhaxq\"};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {\"loader\":\"RevokeContractConfirmation__loader___PXi4c\",\"fadeIn\":\"RevokeContractConfirmation__fadeIn___jkiiR\",\"blinking\":\"RevokeContractConfirmation__blinking___QcW2m\"};","export enum AssetTypeTabsEnum {\n    train = 'train',\n    truck = 'truck',\n    trailer = 'trailer',\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchShipperContractLaneDetails,\n    fetchShipperContractLaneDetailsBegin,\n    fetchShipperContractLaneDetailsError,\n    fetchShipperContractLaneDetailsSuccess,\n    revokeShipperContractLane,\n    updateShipperContractLane,\n    updateShipperContractLaneDetailsBegin,\n    updateShipperContractLaneDetailsError,\n    updateShipperContractLaneDetailsSuccess,\n} from './slice';\nimport {\n    FetchShipperContractLaneDetailsActionT,\n    RevokeShipperContractLaneDetailsActionT,\n    UpdateShipperContractLaneActionT,\n} from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport shipperTranziitApi from 'shipper/utils/api/shipper-tranziit/api';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { selectShipperContractLaneDetailsState } from './selectors';\nimport { shipperContractLanesRefreshChannel } from 'common/store/shipper-contract-lanes/channels';\nimport { shipperContractLaneDetailsRefreshChannel } from './channels';\n\nfunction getFetchShipperContractLaneDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: FetchShipperContractLaneDetailsActionT): WrapGeneratorT<void> {\n        const { partnerId, shipperContractId, laneId, options } = action.payload;\n\n        const { fetchRequest }: ReReturnT<typeof selectShipperContractLaneDetailsState> = yield select(\n            selectShipperContractLaneDetailsState(shipperContractId),\n        );\n        if (!checkNeedRequest(fetchRequest, options)) {\n            return;\n        }\n\n        yield put(fetchShipperContractLaneDetailsBegin({ shipperContractId, laneId }));\n\n        let result: ReturnApiT<\n            | typeof shipperTranziitApi.fetchShipperContractLaneDetails\n            | typeof brokerTranziitApi.fetchShipperContractLaneDetails\n        >;\n        if (companyType === CompanyTypeEnum.shipper) {\n            result = yield shipperTranziitApi.fetchShipperContractLaneDetails(shipperContractId, laneId);\n        } else {\n            result = yield brokerTranziitApi.fetchShipperContractLaneDetails(partnerId, shipperContractId, laneId);\n        }\n\n        const [error, data] = result;\n\n        if (error) {\n            yield put(fetchShipperContractLaneDetailsError({ shipperContractId, laneId, error }));\n        } else {\n            yield put(fetchShipperContractLaneDetailsSuccess({ shipperContractId, laneId, data }));\n        }\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getUpdateShipperContractLaneDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: UpdateShipperContractLaneActionT): WrapGeneratorT<void> {\n        const { partnerId, shipperContractId, laneId, detailsChanges } = action.payload;\n\n        yield put(updateShipperContractLaneDetailsBegin({}));\n\n        const result: ReturnApiT<typeof brokerTranziitApi.updateShipperContractLane> =\n            yield brokerTranziitApi.updateShipperContractLane(partnerId, shipperContractId, laneId, detailsChanges);\n        const [error] = result;\n\n        if (error) {\n            yield put(updateShipperContractLaneDetailsError({ error }));\n        } else {\n            yield put(updateShipperContractLaneDetailsSuccess({}));\n\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.shipperContractLaneUpdated,\n                        data: {},\n                    }),\n                ),\n            );\n        }\n\n        shipperContractLanesRefreshChannel.emit({});\n        shipperContractLaneDetailsRefreshChannel.emit({ shipperContractId, laneId });\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getRevokeShipperContractLaneDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: RevokeShipperContractLaneDetailsActionT): WrapGeneratorT<void> {\n        const { partnerId, shipperContractId, laneId } = action.payload;\n\n        yield put(updateShipperContractLaneDetailsBegin({}));\n\n        const result: ReturnApiT<typeof brokerTranziitApi.revokeShipperContractLane> =\n            yield brokerTranziitApi.revokeShipperContractLane(partnerId, shipperContractId, laneId);\n        const [error] = result;\n\n        if (error) {\n            yield put(updateShipperContractLaneDetailsError({ error }));\n        } else {\n            yield put(updateShipperContractLaneDetailsSuccess({}));\n\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.shipperContractLaneRevoked,\n                        data: {},\n                    }),\n                ),\n            );\n        }\n\n        shipperContractLanesRefreshChannel.emit({});\n        shipperContractLaneDetailsRefreshChannel.emit({ shipperContractId, laneId });\n    };\n}\n\nfunction* shipperContractLaneDetailsSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(fetchShipperContractLaneDetails.type, getFetchShipperContractLaneDetailsSaga(companyType));\n    yield takeEvery(revokeShipperContractLane.type, getRevokeShipperContractLaneDetailsSaga(companyType));\n    yield takeEvery(updateShipperContractLane.type, getUpdateShipperContractLaneDetailsSaga(companyType));\n}\n\nexport { shipperContractLaneDetailsSaga };\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './SideBarLayout.scss';\nimport getScrollbarWidth from 'common/utils/get-scroll-bar-width';\nimport SideBarLayoutContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-layout-context';\nimport debounce from 'lodash/debounce';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    testSelector?: string;\n    withoutScrollbar?: boolean;\n    isWide?: boolean;\n};\n\nconst COLD_TIME = 300;\n\nconst DEFAULT_TOP_PADDING = 20;\nconst DEFAULT_BOTTOM_PADDING = 30;\n\nconst SideBarLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, className, testSelector, withoutScrollbar, isWide } = props;\n\n    const containerRef = React.useRef<HTMLDivElement>(null);\n\n    const context = React.useContext(SideBarLayoutContext);\n\n    React.useEffect(() => {\n        const scrollBarWidth = getScrollbarWidth(containerRef?.current);\n\n        if (context.scrollBarWidth) {\n            context.scrollBarWidth.setValue(scrollBarWidth);\n        }\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [containerRef, children]);\n\n    const handleContainerScroll = (): void => {\n        if (context.scrollTop) {\n            context.scrollTop.setValue(containerRef?.current?.scrollTop || 0);\n        }\n    };\n\n    const footerHeightValue = context.footerHeight?.value || 0;\n    const headerHeightValue = context.headerHeight?.value || 0;\n\n    const paddingTopPx = isWide ? 0 : headerHeightValue + DEFAULT_TOP_PADDING;\n    const paddingBottomPx = isWide ? 0 : footerHeightValue + DEFAULT_BOTTOM_PADDING;\n\n    return (\n        <div\n            className={cs(\n                cx('content', {\n                    'content--without-scrollbar': withoutScrollbar,\n                    'content--is-wide': isWide,\n                }),\n                className,\n            )}\n            style={{\n                paddingTop: `${paddingTopPx}px`,\n                paddingBottom: `${paddingBottomPx}px`,\n            }}\n            ref={containerRef}\n            onScroll={debounce(handleContainerScroll, COLD_TIME)}\n            data-test-selector={`${testSelector}_sidebar-layout`}\n        >\n            {children}\n        </div>\n    );\n});\n\nexport default SideBarLayout;\n","import { ApiRFQDetailsT } from 'common/utils/api/models';\nimport { RFQDetailsT } from '../models';\nimport { getDateFromISO, MS_IN_SEC } from 'common/utils/time';\nimport isNumber from 'lodash/isNumber';\n\nexport default (apiRFQ: ApiRFQDetailsT): RFQDetailsT => {\n    return {\n        ...apiRFQ,\n        expireTime: isNumber(apiRFQ.secondsToExpire) ? apiRFQ.secondsToExpire * MS_IN_SEC + Date.now() : null,\n        points: apiRFQ.points.map((point) => {\n            return {\n                ...point,\n                fromDate: getDateFromISO(point.from),\n                toDate: getDateFromISO(point.to),\n            };\n        }),\n    };\n};\n","import * as React from 'react';\nimport SkeletonFormatter from 'design-system/components/InfoTable/formatters/SkeletonFormatter/SkeletonFormatter';\nimport SimpleTrailerTypeFormatter from 'common/components/InfoTable/formatters/SimpleTrailerTypeFormatter/SimpleTrailerTypeFormatter';\nimport { ApiTrailerDictTypeT } from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\nimport { useTrailersDict } from 'common/utils/hooks/useTrailersDict';\n\ntype PropsT = {\n    trailerDictId?: ApiTrailerDictTypeT['id'];\n};\n\nconst AsyncTrailerTypeFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { trailerDictId } = props;\n\n    const { trailersDictById, trailersDictRequest } = useTrailersDict();\n    if (trailersDictRequest.loading) {\n        return <SkeletonFormatter />;\n    }\n\n    if (!isNumber(trailerDictId)) {\n        return null;\n    }\n\n    const trailerDictType = trailersDictById[trailerDictId] || null;\n\n    return <SimpleTrailerTypeFormatter trailerDictType={trailerDictType} />;\n});\n\nexport default AsyncTrailerTypeFormatter;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './AssetDropOffLocationPin.scss';\nimport { AssetTypeEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport isNumber from 'lodash/isNumber';\nimport LinkDropOffIcon from 'common/icons/LinkDropOffIcon';\nimport TruckDropOffIcon from 'common/icons/TruckDropOffIcon';\nimport TrailerDropOffIcon from 'common/icons/TrailerDropOffIcon';\nimport MapPin, { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport IconWithNumber from 'common/components/IconWithNumber/IconWithNumber';\n\nconst cx = classNames.bind(styles);\n\nconst getIconColorsByTheme = (theme: MapPinThemeEnum) => {\n    if (theme === MapPinThemeEnum.charcoal) {\n        return {\n            fillColor: StyleGuideColorsEnum.transparent,\n            strokeColor: StyleGuideColorsEnum.white,\n        };\n    }\n\n    if (\n        theme === MapPinThemeEnum.blazeOrange ||\n        theme === MapPinThemeEnum.tomatoRed ||\n        theme === MapPinThemeEnum.brandDark\n    ) {\n        return {\n            fillColor: StyleGuideColorsEnum.transparent,\n            strokeColor: StyleGuideColorsEnum.white,\n        };\n    }\n\n    return {\n        fillColor: StyleGuideColorsEnum.transparent,\n        strokeColor: StyleGuideColorsEnum.brandDark,\n    };\n};\n\nconst getLinkIconColorsByTheme = (theme: MapPinThemeEnum) => {\n    if (theme === MapPinThemeEnum.charcoal) {\n        return {\n            strokeColor: StyleGuideColorsEnum.light,\n        };\n    }\n\n    if (\n        theme === MapPinThemeEnum.blazeOrange ||\n        theme === MapPinThemeEnum.tomatoRed ||\n        theme === MapPinThemeEnum.brandDark\n    ) {\n        return {\n            strokeColor: StyleGuideColorsEnum.white,\n        };\n    }\n\n    return {\n        strokeColor: StyleGuideColorsEnum.brandDark,\n    };\n};\n\ntype PropsT = {\n    className?: string;\n    lat: number | undefined;\n    lng: number | undefined;\n    assetType: AssetTypeEnum | null;\n    number?: number | null;\n    theme?: MapPinThemeEnum;\n};\n\nconst AssetDropOffLocationPin: React.FC<PropsT> = React.memo((props) => {\n    const { className, lat, lng, assetType, number } = props;\n\n    const theme = props.theme || MapPinThemeEnum.charcoal;\n\n    let iconNode: React.ReactElement | undefined;\n\n    if (!iconNode && !assetType) {\n        iconNode = <LinkDropOffIcon {...getLinkIconColorsByTheme(theme)} />;\n    }\n\n    if (!iconNode && assetType === AssetTypeEnum.trailer) {\n        iconNode = <TrailerDropOffIcon {...getIconColorsByTheme(theme)} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    if (!iconNode && assetType === AssetTypeEnum.truck) {\n        iconNode = <TruckDropOffIcon {...getIconColorsByTheme(theme)} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    if (!iconNode) {\n        return null;\n    }\n\n    const isShouldRenderNumber = isNumber(number);\n\n    return (\n        <MapPin\n            hasPaddings={!isShouldRenderNumber}\n            className={cs(cx('asset-tooltip'), className)}\n            lat={lat}\n            lng={lng}\n            theme={theme || MapPinThemeEnum.charcoal}\n        >\n            {isShouldRenderNumber ? <IconWithNumber number={number}>{iconNode}</IconWithNumber> : iconNode}\n        </MapPin>\n    );\n});\n\nexport default AssetDropOffLocationPin;\n","export enum FieldsEnum {\n    name = 'name',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.name]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport isNumber from 'lodash/isNumber';\nimport { ContractDetailsChangesT } from 'common/store/carrier-contracts/models';\nimport moment from 'moment/moment';\n\nconst prepareChanges = (contractId: CarrierContractIdT | null, values: FormValuesT): ContractDetailsChangesT | null => {\n    const truckRateKm = parseSimpleNumber(values[FieldsEnum.truckRate]);\n    const tiltRateKm = parseSimpleNumber(values[FieldsEnum.tiltRate]);\n    const boxRateKm = parseSimpleNumber(values[FieldsEnum.boxRate]);\n    const boxExpectedKm = parseSimpleNumber(values[FieldsEnum.boxExpectedMileage]);\n    const tiltExpectedKm = parseSimpleNumber(values[FieldsEnum.tiltExpectedMileage]);\n    const truckExpectedKm = parseSimpleNumber(values[FieldsEnum.truckExpectedMileage]);\n    const rawExpiration = values[FieldsEnum.expiration];\n    const truckRateMode = values[FieldsEnum.truckRateMode];\n    const expiration = rawExpiration ? moment(rawExpiration).format('YYYY-MM-DD') : null;\n\n    if (\n        !expiration ||\n        !truckRateMode ||\n        !isNumber(truckRateKm) ||\n        !isNumber(tiltRateKm) ||\n        !isNumber(boxRateKm) ||\n        !isNumber(tiltExpectedKm) ||\n        !isNumber(truckExpectedKm) ||\n        !isNumber(boxExpectedKm)\n    ) {\n        return null;\n    }\n\n    return {\n        validTill: expiration,\n        number: values[FieldsEnum.number],\n        name: values[FieldsEnum.name],\n        truckRateMode,\n        truckRateKm,\n        tiltRateKm,\n        boxRateKm,\n        boxExpectedKm,\n        tiltExpectedKm,\n        truckExpectedKm,\n    };\n};\n\nexport default prepareChanges;\n","import * as React from 'react';\nimport { BrokerTeamShortT } from 'broker-admin/store/broker-teams/models';\nimport { useTeamActions, TeamActionsCallbacksT } from '../../hooks/actions';\nimport DropdownControl from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\ntype PropsT = TeamActionsCallbacksT & {\n    brokerTeamShort: BrokerTeamShortT;\n};\n\nconst ControlsCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTeamShort, onDelete } = props;\n\n    const actions = useTeamActions(brokerTeamShort, {\n        onDelete,\n    });\n\n    const fullTestSelector = 'team-row-controls';\n\n    return (\n        <DropdownControl\n            options={actions}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    leftIcon={<MoreIcon />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                    testSelector={`${fullTestSelector}-trigger`}\n                />\n            )}\n            testSelector={fullTestSelector}\n            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n        />\n    );\n});\n\nexport default ControlsCell;\n","import {\n    FETCH_SYSTEM_SETTINGS_REQUEST,\n    FETCH_SYSTEM_SETTINGS_REQUEST_BEGIN,\n    FETCH_SYSTEM_SETTINGS_REQUEST_ERROR,\n    FETCH_SYSTEM_SETTINGS_REQUEST_SUCCESS,\n    FetchSystemSettingsActionT,\n    FetchSystemSettingsBeginActionT,\n    FetchSystemSettingsErrorActionT,\n    FetchSystemSettingsSuccessActionT,\n    UPDATE_SYSTEM_SETTINGS_REQUEST,\n    UPDATE_SYSTEM_SETTINGS_REQUEST_BEGIN,\n    UPDATE_SYSTEM_SETTINGS_REQUEST_ERROR,\n    UPDATE_SYSTEM_SETTINGS_REQUEST_SUCCESS,\n    UpdateSystemSettingsActionT,\n    UpdateSystemSettingsBeginActionT,\n    UpdateSystemSettingsErrorActionT,\n    UpdateSystemSettingsSuccessActionT,\n} from './types';\nimport { SystemSettingsChangesT, SystemSettingsT } from './models';\n\nexport const fetchSystemSettings = (options?: FetchOptionsT): FetchSystemSettingsActionT => ({\n    type: FETCH_SYSTEM_SETTINGS_REQUEST,\n    options,\n});\n\nexport const fetchSystemSettingsBegin = (): FetchSystemSettingsBeginActionT => ({\n    type: FETCH_SYSTEM_SETTINGS_REQUEST_BEGIN,\n});\n\nexport const fetchSystemSettingsSuccess = (data: SystemSettingsT | null): FetchSystemSettingsSuccessActionT => ({\n    type: FETCH_SYSTEM_SETTINGS_REQUEST_SUCCESS,\n    data,\n});\n\nexport const fetchSystemSettingsError = (error: Error): FetchSystemSettingsErrorActionT => ({\n    type: FETCH_SYSTEM_SETTINGS_REQUEST_ERROR,\n    error,\n});\n\nexport const updateSystemSettings = (settingsChanges: SystemSettingsChangesT): UpdateSystemSettingsActionT => ({\n    type: UPDATE_SYSTEM_SETTINGS_REQUEST,\n    settingsChanges,\n});\n\nexport const updateSystemSettingsBegin = (): UpdateSystemSettingsBeginActionT => ({\n    type: UPDATE_SYSTEM_SETTINGS_REQUEST_BEGIN,\n});\n\nexport const updateSystemSettingsSuccess = (): UpdateSystemSettingsSuccessActionT => ({\n    type: UPDATE_SYSTEM_SETTINGS_REQUEST_SUCCESS,\n});\n\nexport const updateSystemSettingsError = (error: Error): UpdateSystemSettingsErrorActionT => ({\n    type: UPDATE_SYSTEM_SETTINGS_REQUEST_ERROR,\n    error,\n});\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsChangesT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst prepareApiSystemSettings = (formValues: FormValuesT): SystemSettingsChangesT => {\n    return {\n        SPOT_REQUEST_LIMIT: formValues[FieldsEnum.spotRequestLimit],\n        EXPIRES_SOON: formValues[FieldsEnum.expiresSoonAlert],\n    };\n};\n\nexport default prepareApiSystemSettings;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ZoneText.scss';\nimport { RangeSelectorZoneThemeEnum } from '../constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    text: React.ReactNode;\n    containerRef: React.RefObject<HTMLDivElement>;\n    selectionRangeRef: React.RefObject<HTMLDivElement>;\n    theme: RangeSelectorZoneThemeEnum;\n    values: number[];\n};\n\nenum PositionEnum {\n    left = 'left',\n    center = 'center',\n    right = 'right',\n}\n\nconst PERMISSIBLE_ERROR = 2;\n\nconst ZoneText: React.FC<PropsT> = React.memo((props) => {\n    const { containerRef, selectionRangeRef, text, theme, values } = props;\n\n    const textRef = React.useRef<HTMLDivElement>(null);\n\n    const [position, setPosition] = React.useState(PositionEnum.center);\n\n    React.useEffect((): void => {\n        if (!textRef.current || !containerRef.current || !selectionRangeRef.current) {\n            setPosition(PositionEnum.center);\n            return;\n        }\n\n        const textNodeRect = textRef.current.getBoundingClientRect();\n        const containerNodeRect = containerRef.current.getBoundingClientRect();\n        const selectionRangeNodeRect = selectionRangeRef.current.getBoundingClientRect();\n\n        const couldPositionCenter = selectionRangeNodeRect.width > textNodeRect.width + PERMISSIBLE_ERROR;\n        if (couldPositionCenter) {\n            setPosition(PositionEnum.center);\n            return;\n        }\n\n        const isLeftOverlap = textNodeRect.left < containerNodeRect.left - PERMISSIBLE_ERROR;\n        if (isLeftOverlap) {\n            setPosition(PositionEnum.left);\n            return;\n        }\n\n        const isRightOverlap = textNodeRect.right > containerNodeRect.right + PERMISSIBLE_ERROR;\n        if (isRightOverlap) {\n            setPosition(PositionEnum.right);\n            return;\n        }\n\n        const couldPositionLeft =\n            containerNodeRect.right > selectionRangeNodeRect.left + textNodeRect.width + PERMISSIBLE_ERROR;\n        if (couldPositionLeft) {\n            setPosition(PositionEnum.left);\n        }\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [text, containerRef.current, textRef.current, selectionRangeRef.current, values]);\n\n    if (!text) {\n        return null;\n    }\n\n    return (\n        <div\n            className={cx('zone-title', {\n                [`zone-title--theme-${theme}`]: true,\n                [`zone-title--position-${position}`]: true,\n            })}\n            data-test-selector=\"range-selector-zone-text\"\n        >\n            <span ref={textRef}>{text}</span>\n        </div>\n    );\n});\n\nexport default ZoneText;\n","import React from 'react';\nimport styles from './TimeIntervalDurationPillLabel.scss';\nimport classNames from 'classnames/bind';\nimport { checkMidnightTime, getDateTime, getHours, getMinutes, getTimeRelativeStartDay } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\nimport { isNonNil } from 'common/utils';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    i18nKey?: string | null;\n    timeWindow: TimeWindowT | null | undefined;\n    className?: string;\n    isDayRelative: boolean;\n};\n\nconst TimeIntervalDurationPillLabel: React.FC<PropsT> = (props) => {\n    const { timeWindow, className, isDayRelative, i18nKey } = props;\n\n    const { t } = useTranslation();\n\n    if (!timeWindow) {\n        return null;\n    }\n\n    const [start, end] = timeWindow;\n    const diff = timeWindow[1] - timeWindow[0];\n\n    const formatter = isDayRelative ? getTimeRelativeStartDay : getDateTime;\n\n    const hours = getHours(diff);\n    const formattedHours = hours\n        ? `${hours} ${t('common:hours', {\n              postProcess: 'interval',\n              count: hours,\n          })}`\n        : null;\n\n    const minutes = getMinutes(diff);\n    const formattedMinutes = minutes\n        ? `${minutes} ${t('common:minutes', {\n              postProcess: 'interval',\n              count: minutes,\n          })}`\n        : null;\n\n    const formattedDiff = [formattedHours, formattedMinutes].filter(isNonNil).join(' ');\n\n    const duration = `${formatter(start)} - ${checkMidnightTime(formatter(end))}`;\n\n    return (\n        <PillLabel isSymmetrical theme={PillLabelThemeEnum.charcoal} className={className}>\n            <span className={cx('text')}>\n                {i18nKey\n                    ? t(i18nKey, {\n                          duration,\n                          formattedDiff,\n                      })\n                    : `${duration} (${formattedDiff})`}\n            </span>\n        </PillLabel>\n    );\n};\n\nexport default TimeIntervalDurationPillLabel;\n","import * as React from 'react';\n\nimport { TFunction } from 'i18next';\nimport { CompanyContactDetailsT } from 'common/store/members/models';\nimport { PermissionsT } from 'common/store/auth/models';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { HeaderSidebarActionT } from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport EditIcon from 'common/icons/EditIcon';\nimport UpdateUserIcon from 'common/icons/UpdateUserIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DeleteUserIcon from 'common/icons/DeleteUserIcon';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { UserStatusEnum } from 'common/utils/api/models';\nimport RestoreIcon from 'common/icons/RestoreIcon';\n\nenum ActionsEnum {\n    edit = 'edit',\n    changeRole = 'change-role',\n    deactivateUser = 'deactivate-user',\n    deleteContact = 'delete-contact',\n    restoreUser = 'restore-user',\n}\n\nconst getActions = (\n    permissions: PermissionsT,\n    contactDetails: CompanyContactDetailsT | null,\n): Array<ActionsEnum | null> => {\n    if (!contactDetails || !permissions.canEditTeamMembers) {\n        return [];\n    }\n\n    if (contactDetails.userStatus === UserStatusEnum.archived) {\n        return [ActionsEnum.restoreUser];\n    }\n\n    return [\n        ActionsEnum.edit,\n        ...(contactDetails?.userId\n            ? [ActionsEnum.changeRole, null, ActionsEnum.deactivateUser]\n            : [null, ActionsEnum.deleteContact]),\n    ];\n};\n\ntype ActionCallbacksT = {\n    onEditContact: (contactDetails: CompanyContactDetailsT) => void;\n    onChangeUserRole: (contactDetails: CompanyContactDetailsT) => void;\n    onDeactivateUser: (contactDetails: CompanyContactDetailsT) => void;\n    onRestoreUser: (contactDetails: CompanyContactDetailsT) => void;\n    onDeleteContact: (contactDetails: CompanyContactDetailsT) => void;\n};\n\nconst useActionOptions = (\n    t: TFunction,\n    permissions: PermissionsT,\n    contactDetails: CompanyContactDetailsT | null,\n    callbacks: ActionCallbacksT,\n): Array<HeaderSidebarActionT | SpecialOptionEnum> => {\n    if (!contactDetails) {\n        return [];\n    }\n\n    const actions = getActions(permissions, contactDetails);\n\n    const actionsMap: Record<ActionsEnum, HeaderSidebarActionT> = {\n        [ActionsEnum.edit]: {\n            label: (\n                <DropdownControlOptionLabel\n                    label={t('common:team-members.actions.edit')}\n                    icon={\n                        <EditIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                />\n            ),\n            onSelect: () => callbacks.onEditContact(contactDetails),\n        },\n        [ActionsEnum.changeRole]: {\n            label: (\n                <DropdownControlOptionLabel\n                    label={t('common:team-members.actions.change-user-role')}\n                    icon={\n                        <UpdateUserIcon\n                            fillColor={StyleGuideColorsEnum.light}\n                            strokeColor={StyleGuideColorsEnum.slate}\n                        />\n                    }\n                />\n            ),\n            onSelect: () => callbacks.onChangeUserRole(contactDetails),\n        },\n        [ActionsEnum.deactivateUser]: {\n            label: (\n                <DropdownControlOptionLabel\n                    label={t('common:team-members.actions.deactivate-user')}\n                    icon={\n                        <DeleteUserIcon\n                            fillColor={StyleGuideColorsEnum.white}\n                            strokeColor={StyleGuideColorsEnum.tomatoRed}\n                        />\n                    }\n                />\n            ),\n            onSelect: () => callbacks.onDeactivateUser(contactDetails),\n        },\n        [ActionsEnum.restoreUser]: {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={<RestoreIcon strokeColor={StyleGuideColorsEnum.slate} />}\n                    label={t('common:team-members.actions.restore-user')}\n                />\n            ),\n            onSelect: () => callbacks.onRestoreUser(contactDetails),\n        },\n        [ActionsEnum.deleteContact]: {\n            label: (\n                <DropdownControlOptionLabel\n                    label={t('common:team-members.actions.delete-contact')}\n                    icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                />\n            ),\n            onSelect: () => callbacks.onDeleteContact(contactDetails),\n        },\n    };\n\n    return actions.map((action) => {\n        if (action === null) {\n            return SpecialOptionEnum.separator;\n        }\n\n        return actionsMap[action];\n    });\n};\n\nexport { useActionOptions };\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkEmail, checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.email, FieldsEnum.roles] as const;\n\nconst EMAILS_FIELDS = [FieldsEnum.email] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkEmail(t, EMAILS_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"UpdatedPartnerDocumentCard__inner___jfUOQ\",\"document-name\":\"UpdatedPartnerDocumentCard__document-name___PBsga\",\"fadeIn\":\"UpdatedPartnerDocumentCard__fadeIn___yp57Q\",\"blinking\":\"UpdatedPartnerDocumentCard__blinking___t0oWG\"};","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { useTranslation } from 'react-i18next';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:shipper-contracts.filters.pills.text', {\n                        value: queryFilters[QueryFiltersKeysEnum.text],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.text],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import * as React from 'react';\nimport { useCallback, useContext, useEffect } from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { useTranslation } from 'react-i18next';\nimport AccountIcon from 'common/icons/AccountIcon';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { isNonNil } from 'common/utils';\nimport isNumber from 'lodash/isNumber';\nimport { getCurrentTimeOffsetMin, parseISOTimeZone } from 'common/utils/time';\nimport TimeZoneContext, {\n    TimeZoneEnum,\n    TimeZoneT,\n} from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/contexts/timezone-context';\nimport find from 'lodash/find';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport { getPickupDeliveryWaypoints } from 'broker-admin/store/broker-order-details/utils/get-pickup-delivery-waypoints';\n\nexport type TimeZoneOptionT = {\n    label: React.ReactNode;\n    utcOffset: number;\n    timeZone: TimeZoneT;\n};\n\ntype PropsT = {\n    className?: string;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n    tourId: TourIdT | null;\n};\n\nconst TimeZoneDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { className, brokerOrderDetails, tourId } = props;\n\n    const timeZoneContext = useContext(TimeZoneContext);\n    const timeZone = timeZoneContext?.value?.timeZone !== undefined ? timeZoneContext.value.timeZone : null;\n    const setTimeZoneValue = timeZoneContext?.setValue || null;\n\n    const userUTCOffsetMin = getCurrentTimeOffsetMin();\n    // init utcOffset (async user)\n    useEffect(() => {\n        const currentTimeZone = timeZoneContext?.value?.timeZone;\n\n        if (\n            currentTimeZone === TimeZoneEnum.accountTimezone &&\n            !isNumber(timeZoneContext?.value.utcOffsetMin) &&\n            isNumber(userUTCOffsetMin)\n        ) {\n            timeZoneContext?.setValue({\n                utcOffsetMin: userUTCOffsetMin,\n                timeZone: currentTimeZone,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [userUTCOffsetMin]);\n\n    const { t } = useTranslation();\n\n    const timeZoneOptions: Array<TimeZoneOptionT> = React.useMemo(() => {\n        const pickupDeliveryWaypoints = getPickupDeliveryWaypoints(brokerOrderDetails, tourId);\n\n        const waypointOptions = pickupDeliveryWaypoints.reduce<Array<TimeZoneOptionT>>((acc, waypoint, index) => {\n            const waypointUTCOffset = parseISOTimeZone(\n                waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n            );\n            if (!isNumber(waypointUTCOffset)) {\n                return acc;\n            }\n\n            const number = (waypoint.index || 0) + 1;\n            acc.push({\n                label: (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={<NumberIcon number={number} fillColor={StyleGuideColorsEnum.charcoal} />}\n                        label={t('assignment.search-form.timezone-switcher.waypoint-timezone', {\n                            number,\n                        })}\n                    />\n                ),\n                timeZone: index,\n                utcOffset: waypointUTCOffset,\n            });\n\n            return acc;\n        }, []);\n\n        return [\n            ...waypointOptions,\n            isNumber(userUTCOffsetMin)\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              withoutPaddings\n                              icon={\n                                  <AccountIcon\n                                      size={DEFAULT_ICON_SIZE}\n                                      fillColor={StyleGuideColorsEnum.gray}\n                                      strokeColor={StyleGuideColorsEnum.charcoal}\n                                  />\n                              }\n                              label={t('assignment.search-form.timezone-switcher.my-account-timezone')}\n                          />\n                      ),\n                      timeZone: TimeZoneEnum.accountTimezone,\n                      utcOffset: userUTCOffsetMin,\n                  }\n                : null,\n        ].filter(isNonNil);\n    }, [t, brokerOrderDetails, tourId, userUTCOffsetMin]);\n\n    const renderOption = useCallback((option: TimeZoneOptionT | undefined, placeholder: string | undefined) => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return option.label;\n    }, []);\n\n    const getOptionValue = useCallback((option: TimeZoneOptionT) => {\n        return option.timeZone;\n    }, []);\n\n    const handleSelectOption = useCallback(\n        (selectedValue: TimeZoneOptionT['timeZone'] | null) => {\n            const selectedOption = find(timeZoneOptions, (option) => {\n                return option?.timeZone === selectedValue;\n            });\n\n            if (selectedOption && setTimeZoneValue) {\n                setTimeZoneValue({\n                    timeZone: selectedOption.timeZone,\n                    utcOffsetMin: selectedOption.utcOffset,\n                });\n            }\n        },\n        [timeZoneOptions, setTimeZoneValue],\n    );\n\n    return (\n        <DropdownInput<TimeZoneOptionT, TimeZoneOptionT['timeZone'] | null>\n            className={className}\n            selectedValue={timeZone}\n            options={timeZoneOptions}\n            onSelect={handleSelectOption}\n            renderOption={renderOption}\n            renderTriggerContent={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n});\n\nexport default TimeZoneDropdown;\n","import React from 'react';\nimport {\n    AnySidebarDataT,\n    CommonSidebarDataT,\n    CommonSidebarMetaT,\n    SidebarQueryKeysEnum,\n    SidebarDataWithMetaT,\n} from 'common/layouts/SideBars/models';\nimport { useQueryParam } from 'use-query-params';\nimport { JSONArrayParam } from 'common/utils/query';\n\nconst TAIL_LIMIT = 5;\n\nexport const pushSidebarsArray = <T,>(array: Array<T>, data: T): Array<T> => {\n    return [...array, data].slice(-1 * TAIL_LIMIT);\n};\n\nexport const createOpenSidebarHook = <T extends AnySidebarDataT>(queryKey: SidebarQueryKeysEnum) => {\n    return () => {\n        const [sidebarsData, setSidebarsData] = useQueryParam<Array<SidebarDataWithMetaT<T>>>(queryKey, JSONArrayParam);\n\n        const openHandler = React.useCallback(\n            (data: T, meta?: CommonSidebarMetaT): void => {\n                const newSidebarsData = pushSidebarsArray(sidebarsData, {\n                    ...data,\n                    ...meta,\n                });\n\n                setSidebarsData(newSidebarsData);\n            },\n            // eslint-disable-next-line react-hooks/exhaustive-deps\n            [sidebarsData],\n        );\n\n        return openHandler;\n    };\n};\n\nexport const useOpenedSidebar = <T extends AnySidebarDataT>(type: T['type']): SidebarDataWithMetaT<T> | null => {\n    const [leftSidebarsData] = useQueryParam<Array<SidebarDataWithMetaT<T>>>(\n        SidebarQueryKeysEnum.leftSidebar,\n        JSONArrayParam,\n    );\n    const [rightSidebarsData] = useQueryParam<Array<SidebarDataWithMetaT<T>>>(\n        SidebarQueryKeysEnum.rightSidebar,\n        JSONArrayParam,\n    );\n\n    const openedSidebarData = React.useMemo(() => {\n        return (\n            leftSidebarsData.find((data) => data.type === type) ||\n            rightSidebarsData.find((data) => data.type === type) ||\n            null\n        );\n    }, [leftSidebarsData, rightSidebarsData, type]);\n\n    return openedSidebarData;\n};\n\nexport const useCheckOpenedSidebar = <T extends AnySidebarDataT>(type: T['type']): boolean => {\n    const openedSidebar = useOpenedSidebar<T>(type);\n\n    return !!openedSidebar;\n};\n\nexport const useOpenLeftSidebar = createOpenSidebarHook<CommonSidebarDataT>(SidebarQueryKeysEnum.leftSidebar);\n\nexport const useOpenRightSidebar = createOpenSidebarHook<CommonSidebarDataT>(SidebarQueryKeysEnum.rightSidebar);\n","// extracted by mini-css-extract-plugin\nexport default {\"contract-name--is-fallback\":\"RateSourceOption__contract-name--is-fallback___rUx_0\",\"fadeIn\":\"RateSourceOption__fadeIn___F2mPd\",\"blinking\":\"RateSourceOption__blinking___QQhLJ\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_SPOT_REQUESTS_PAGE_REQUEST, FetchSpotRequestsPageActionT } from './types';\nimport {\n    fetchSpotRequestsPageBegin,\n    fetchSpotRequestsPageError,\n    fetchSpotRequestsPageSuccess,\n    resetSpotRequests,\n} from './actions';\nimport { selectSpotRequestsPages, selectSpotRequestsQuery } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport spotBrokerTranziitApi from 'broker-admin/utils/api/spot-broker-tranziit/api';\nimport { spotRequestsPaginationChannel } from 'broker-admin/store/spot-requests/channels';\n\nfunction* fetchSpotRequestsSaga(action: FetchSpotRequestsPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options } = action;\n\n    const prevQuery: ReturnType<typeof selectSpotRequestsQuery> = yield select(selectSpotRequestsQuery);\n    const pages: ReturnType<typeof selectSpotRequestsPages> = yield select(selectSpotRequestsPages);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetSpotRequests({ savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchSpotRequestsPageBegin(query, pageNumber));\n\n    const [error, response]: ReturnApiT<typeof spotBrokerTranziitApi.fetchSpotRequests> =\n        yield spotBrokerTranziitApi.fetchSpotRequests({\n            ...query,\n            page: pageNumber,\n        });\n\n    if (error) {\n        yield put(fetchSpotRequestsPageError(query, pageNumber, error));\n        return;\n    }\n\n    yield put(fetchSpotRequestsPageSuccess(query, pageNumber, response));\n\n    checkShouldEmitChangePage(pageNumber, response, spotRequestsPaginationChannel);\n}\n\nfunction* spotRequestsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_SPOT_REQUESTS_PAGE_REQUEST, fetchSpotRequestsSaga);\n}\n\nexport default spotRequestsSaga;\n","import * as React from 'react';\nimport { useMemo, useState } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BrokerOrderRouteMap.scss';\nimport GoogleMapReact from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport { StopTypeEnum } from 'common/utils/api/models';\nimport last from 'lodash/last';\nimport { AssetTypeEnum } from 'common/constants';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport MapBound, { BoundPointT } from 'common/components/maps/MapBound/MapBound';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectRoutingGeometryStates } from 'common/store/routing-geometry/selectors';\nimport RouteSwitchDropdown, { RouteTypeEnum } from 'broker-admin/components/RouteSwitchDropdown/RouteSwitchDropdown';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport { isNonNil } from 'common/utils';\nimport MapLoader from 'common/components/maps/MapLoader/MapLoader';\nimport { getAssetTrackHashByTransportOrderId } from 'common/store/asset-track/utils';\nimport { selectAssetTrackSliceState } from 'common/store/asset-track/selectors';\nimport AssetDropOffLocationPin from 'common/components/maps/pins/AssetDropOffLocationPin/AssetDropOffLocationPin';\nimport AssetPickUpLocationPin from 'common/components/maps/pins/AssetPickUpLocationPin/AssetPickUpLocationPin';\nimport { fetchTracksByTransportOrders } from 'common/store/asset-track/actions';\nimport { findTourActualTransportOrders } from 'broker-admin/store/broker-order-details/utils/find-actual-transport-order';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport Supercluster from 'supercluster';\nimport { PointGeoJsonPropertiesT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderRouteMap/models';\nimport isNumber from 'lodash/isNumber';\nimport PointStackClusterPin from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderRouteMap/PointStackClusterPin/PointStackClusterPin';\nimport WaypointNumberPin from 'common/components/maps/pins/WaypointNumberPin/WaypointNumberPin';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport uniq from 'lodash/uniq';\nimport { TrackPointT } from 'common/store/asset-track/models';\nimport LastAssetWithNumberTrackPointPin from 'common/components/maps/pins/LastAssetWithNumberTrackPointPin/LastAssetWithNumberTrackPointPin';\nimport FerryLocationPin from 'common/components/maps/pins/FerryLocationPin/FerryLocationPin';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n};\n\nconst FEATURES_LIMIT = 99999;\nconst DEFAULT_OFFSET = 0;\n\nconst SUPERCLUSTER_SETTINGS: Supercluster.Options<PointGeoJsonPropertiesT, any> = {\n    radius: 100,\n    maxZoom: 22,\n};\n\ntype LastTruckTrackPointT = {\n    truckId: TruckIdT;\n    truckNumber: number;\n    lastPoint: TrackPointT;\n};\n\ntype LastTrailerTrackPointT = {\n    trailerId: TrailerIdT;\n    trailerNumber: number;\n    lastPoint: TrackPointT;\n};\n\nconst BrokerOrderRouteMap: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderDetails } = props;\n\n    const dispatch = useDispatch();\n\n    const tours = useMemo(() => {\n        return brokerOrderDetails?.tours || [];\n    }, [brokerOrderDetails]);\n\n    const hasAnyTours = !!brokerOrderDetails?.tours?.length;\n\n    const tourAssets = useMemo(() => {\n        return (\n            brokerOrderDetails?.tours?.map((tour, tourIndex) => {\n                const { trailerTransportOrder, truckTransportOrder } = findTourActualTransportOrders(\n                    brokerOrderDetails?.transportationOrders,\n                    tour?.id,\n                );\n\n                const trailerTransportOrderId = trailerTransportOrder?.id || null;\n                const truckTransportOrderId = truckTransportOrder?.id || null;\n\n                return {\n                    trailerId: trailerTransportOrder?.trailer?.id || null,\n                    trailerTransportOrderId,\n                    trailerNumber: tourIndex + 1,\n                    trailer: trailerTransportOrder?.trailer || null,\n\n                    truckId: truckTransportOrder?.truck?.id || null,\n                    truckTransportOrderId,\n                    truckNumber: tourIndex + 1,\n                    truck: truckTransportOrder?.truck || null,\n\n                    isLinked:\n                        !!trailerTransportOrderId &&\n                        !!truckTransportOrderId &&\n                        trailerTransportOrderId === truckTransportOrderId,\n                };\n            }) || []\n        );\n    }, [brokerOrderDetails]);\n\n    const trackTransportOrderIds = useMemo(() => {\n        const transportOrderIds: Array<TransportOrderIdT | null> = [];\n\n        tourAssets.forEach((tourAsset) => {\n            transportOrderIds.push(tourAsset.truckTransportOrderId);\n            transportOrderIds.push(tourAsset.trailerTransportOrderId);\n        });\n\n        return uniq(transportOrderIds).filter(isNonNil);\n    }, [tourAssets]);\n\n    React.useEffect(() => {\n        dispatch(fetchTracksByTransportOrders(trackTransportOrderIds));\n    }, [dispatch, trackTransportOrderIds]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchTracksByTransportOrders(trackTransportOrderIds));\n    }, [dispatch, trackTransportOrderIds]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const assetTrackSliceState = useSelector(selectAssetTrackSliceState);\n    const tourAssetTracks = useMemo(() => {\n        return tourAssets.map((tourAssets) => {\n            const { truckTransportOrderId, truckId, trailerTransportOrderId, trailerId } = tourAssets;\n\n            const trailerHash = getAssetTrackHashByTransportOrderId(truckTransportOrderId, trailerId);\n            const truckHash = getAssetTrackHashByTransportOrderId(trailerTransportOrderId, truckId);\n\n            return {\n                trailer: assetTrackSliceState[trailerHash] || null,\n                truck: assetTrackSliceState[truckHash] || null,\n            };\n        });\n    }, [tourAssets, assetTrackSliceState]);\n\n    const hasCarrierRoute = React.useMemo(() => {\n        return tourAssets.some((tourAssets) => {\n            return !!tourAssets?.trailerTransportOrderId || !!tourAssets?.truckTransportOrderId;\n        });\n    }, [tourAssets]);\n\n    const availableRouteTypeSet = React.useMemo(() => {\n        const result = new Set<RouteTypeEnum>([]);\n        if (hasAnyTours) {\n            result.add(RouteTypeEnum.estimateCarrierRoute);\n        }\n        if (brokerOrderDetails) {\n            result.add(RouteTypeEnum.shipperRoute);\n        }\n        if (hasCarrierRoute) {\n            result.add(RouteTypeEnum.carrierRoute);\n        }\n        return result;\n    }, [hasAnyTours, brokerOrderDetails, hasCarrierRoute]);\n\n    const defaultRouteType = React.useMemo(() => {\n        if (availableRouteTypeSet.has(RouteTypeEnum.carrierRoute)) {\n            return RouteTypeEnum.carrierRoute;\n        }\n        if (availableRouteTypeSet.has(RouteTypeEnum.estimateCarrierRoute)) {\n            return RouteTypeEnum.estimateCarrierRoute;\n        }\n        if (availableRouteTypeSet.has(RouteTypeEnum.shipperRoute)) {\n            return RouteTypeEnum.shipperRoute;\n        }\n\n        return null;\n    }, [availableRouteTypeSet]);\n\n    const [selectedRouteType, setSelectedRouteType] = useState<RouteTypeEnum | null>(null);\n    const routeType = selectedRouteType || defaultRouteType;\n\n    React.useEffect(() => {\n        if (selectedRouteType && !availableRouteTypeSet.has(selectedRouteType)) {\n            setSelectedRouteType(null);\n        }\n    }, [selectedRouteType, availableRouteTypeSet]);\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const routePolylineIds = useMemo((): Array<PolylineIdT> => {\n        switch (routeType) {\n            case RouteTypeEnum.carrierRoute: {\n                return tours.flatMap((tour) => {\n                    return [\n                        tour?.polylineId,\n                        tour?.trailerToPickUpPolylineId,\n                        tour?.truckToTrailerPolylineId,\n                        tour?.dropTrailerPolylineId,\n                        tour?.dropTruckPolylineId,\n                    ].filter(isNonNil);\n                });\n            }\n            case RouteTypeEnum.estimateCarrierRoute: {\n                return tours.flatMap((tour) => {\n                    return [tour?.polylineId].filter(isNonNil);\n                });\n            }\n            case RouteTypeEnum.shipperRoute: {\n                return [brokerOrderDetails?.polylineId].filter(isNonNil);\n            }\n            default: {\n                return [];\n            }\n        }\n    }, [tours, routeType, brokerOrderDetails?.polylineId]);\n\n    useRouteGeometry(routePolylineIds);\n\n    const geometryStates = useSelector(selectRoutingGeometryStates(routePolylineIds));\n\n    const isLoadingPolylines = useMemo(() => {\n        return geometryStates.some((geometryState) => {\n            return geometryState?.requestStatus && geometryState?.requestStatus?.loading;\n        });\n    }, [geometryStates]);\n\n    const boundMapPoints = React.useMemo((): Array<BoundPointT> => {\n        const allWaypoints =\n            brokerOrderDetails?.tours?.flatMap((tour) => {\n                return tour?.waypoints || [];\n            }) || [];\n\n        return (\n            allWaypoints.map((waypoint): BoundPointT => {\n                return [waypoint?.address?.latitude, waypoint?.address?.longitude];\n            }) || []\n        );\n    }, [brokerOrderDetails]);\n\n    const apiIsLoaded: OnGoogleApiLoadedT = (api) => {\n        setApi(api);\n\n        const { map, maps } = api;\n\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const isLoadingSomeTrucks = useMemo(() => {\n        return tourAssetTracks?.some((state) => {\n            return state?.truck?.requestStatus?.loading || state?.trailer?.requestStatus?.loading;\n        });\n    }, [tourAssetTracks]);\n    const isLoading = isLoadingPolylines || isLoadingSomeTrucks;\n\n    const lastTruckTrackPoints = useMemo(() => {\n        return tourAssets.reduce<Array<LastTruckTrackPointT>>((acc, tourAssets, index) => {\n            const { truckId, truckNumber } = tourAssets;\n\n            const tracks = tourAssetTracks[index];\n\n            const lastPoint = last(tracks?.truck?.points);\n            if (truckId && lastPoint) {\n                acc.push({\n                    truckId,\n                    truckNumber,\n                    lastPoint,\n                });\n            }\n\n            return acc;\n        }, []);\n    }, [tourAssetTracks, tourAssets]);\n\n    const lastTrailerTrackPoints = useMemo(() => {\n        return tourAssets.reduce<Array<LastTrailerTrackPointT>>((acc, tourAssets, index) => {\n            const { trailerId, trailerNumber, isLinked } = tourAssets;\n\n            // not show last point of linked trailer\n            if (isLinked) {\n                return acc;\n            }\n\n            const tracks = tourAssetTracks[index];\n\n            const lastPoint = last(tracks?.trailer?.points);\n            if (trailerId && lastPoint) {\n                acc.push({\n                    trailerId,\n                    trailerNumber,\n                    lastPoint,\n                });\n            }\n\n            return acc;\n        }, []);\n    }, [tourAssetTracks, tourAssets]);\n\n    const allGeoJSONs = React.useMemo(() => {\n        const geoJSONs: Array<Supercluster.PointFeature<PointGeoJsonPropertiesT>> = [];\n\n        const shouldShowPinNumbers = !!brokerOrderDetails?.tours?.length && brokerOrderDetails?.tours?.length > 1;\n\n        brokerOrderDetails?.tours.forEach(({ waypoints }, tourIndex) => {\n            const tourNumber = tourIndex + 1;\n\n            waypoints?.forEach((waypoint) => {\n                if (\n                    (waypoint.type === StopTypeEnum.pickupTruck ||\n                        waypoint.type === StopTypeEnum.pickupTrailer ||\n                        waypoint.type === StopTypeEnum.pickupRoadTrain ||\n                        waypoint.type === StopTypeEnum.dropTruck ||\n                        waypoint.type === StopTypeEnum.dropTrailer ||\n                        waypoint.type === StopTypeEnum.dropRoadTrain) &&\n                    routeType !== RouteTypeEnum.carrierRoute\n                ) {\n                    return;\n                }\n\n                const longitude = waypoint?.address?.longitude;\n                const latitude = waypoint?.address?.latitude;\n                if (isNumber(latitude) && isNumber(longitude)) {\n                    const geoJson: Supercluster.PointFeature<PointGeoJsonPropertiesT> = {\n                        type: 'Feature',\n                        geometry: {\n                            type: 'Point',\n                            coordinates: [longitude, latitude],\n                        },\n                        properties: {\n                            type: 'waypoint-point',\n                            waypoint,\n                            tourNumber: shouldShowPinNumbers ? tourNumber : null,\n                        },\n                    };\n\n                    geoJSONs.push(geoJson);\n                }\n            });\n        });\n\n        lastTruckTrackPoints.forEach((lastTruckTrackPoint) => {\n            const { truckNumber, truckId, lastPoint } = lastTruckTrackPoint;\n\n            geoJSONs.push({\n                type: 'Feature',\n                geometry: {\n                    type: 'Point',\n                    coordinates: [lastPoint.lng, lastPoint.lat],\n                },\n                properties: {\n                    type: 'truck-last-point',\n                    point: lastPoint,\n                    truckId,\n                    truckNumber: shouldShowPinNumbers ? truckNumber : null,\n                },\n            });\n        });\n\n        lastTrailerTrackPoints.forEach((lastTrailerTrackPoint) => {\n            const { trailerNumber, trailerId, lastPoint } = lastTrailerTrackPoint;\n\n            geoJSONs.push({\n                type: 'Feature',\n                geometry: {\n                    type: 'Point',\n                    coordinates: [lastPoint.lng, lastPoint.lat],\n                },\n                properties: {\n                    type: 'trailer-last-point',\n                    point: lastPoint,\n                    trailerId,\n                    trailerNumber: shouldShowPinNumbers ? trailerNumber : null,\n                },\n            });\n        });\n\n        return geoJSONs;\n    }, [brokerOrderDetails, lastTruckTrackPoints, lastTrailerTrackPoints, routeType]);\n\n    const allGeoJSONsClusterator = React.useMemo(() => {\n        const clusterator = new Supercluster<PointGeoJsonPropertiesT>(SUPERCLUSTER_SETTINGS);\n        clusterator.load(allGeoJSONs || []);\n        return clusterator;\n    }, [allGeoJSONs]);\n\n    const [config, setConfig] = React.useState<TODO>(null);\n\n    const allGeoJSONsClusters = React.useMemo(() => {\n        if (config) {\n            const clusters = allGeoJSONsClusterator.getClusters(config.bounds, config.zoom);\n            return clusters;\n        }\n\n        return [];\n    }, [config, allGeoJSONsClusterator]);\n    const [api, setApi] = React.useState<TODO>(null);\n\n    const handleChange = () => {\n        if (api) {\n            const { zoom } = api.map;\n\n            const bound = api.map.getBounds();\n\n            const northEast = bound.getNorthEast();\n            const southWest = bound.getSouthWest();\n\n            setConfig({\n                zoom,\n                bounds: [southWest.lng(), southWest.lat(), northEast.lng(), northEast.lat()],\n            });\n        }\n    };\n\n    const renderSinglePointFeature = (properties: PointGeoJsonPropertiesT) => {\n        switch (properties.type) {\n            case 'trailer-last-point': {\n                return (\n                    <LastAssetWithNumberTrackPointPin\n                        key={`trailer-last-point-${properties.trailerNumber}`}\n                        iconType={AssetTypeEnum.trailer}\n                        lat={properties.point.lat}\n                        lng={properties.point.lng}\n                        timestamp={properties.point.timestamp}\n                        number={properties.trailerNumber}\n                    />\n                );\n            }\n            case 'truck-last-point': {\n                return (\n                    <LastAssetWithNumberTrackPointPin\n                        key={`truck-last-point-${properties.truckNumber}`}\n                        iconType={AssetTypeEnum.truck}\n                        lat={properties.point.lat}\n                        lng={properties.point.lng}\n                        timestamp={properties.point.timestamp}\n                        number={properties.truckNumber}\n                    />\n                );\n            }\n            case 'waypoint-point': {\n                const { waypoint, tourNumber } = properties;\n\n                switch (waypoint.type) {\n                    case StopTypeEnum.pickupTruck: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetPickUpLocationPin\n                                assetType={AssetTypeEnum.truck}\n                                key={`pickupTruck-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lat={waypoint.address?.latitude}\n                                lng={waypoint.address?.longitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.pickupTrailer: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetPickUpLocationPin\n                                assetType={AssetTypeEnum.trailer}\n                                key={`pickupTrailer-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lat={waypoint.address?.latitude}\n                                lng={waypoint.address?.longitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.pickupRoadTrain: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetPickUpLocationPin\n                                assetType={null}\n                                key={`pickupRoadTrain-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lat={waypoint.address?.latitude}\n                                lng={waypoint.address?.longitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.ferryOnboard:\n                    case StopTypeEnum.ferryDisembark: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <FerryLocationPin\n                                key={`route-point-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.driveThrough:\n                    case StopTypeEnum.dropAndHook:\n                    case StopTypeEnum.pickupDeliveryShipment: {\n                        let theme = MapPinThemeEnum.charcoal;\n                        if (waypoint.type === StopTypeEnum.driveThrough) {\n                            theme = MapPinThemeEnum.gray;\n                        }\n\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n                        if (isVisited) {\n                            theme = MapPinThemeEnum.brandDark;\n                        }\n\n                        return (\n                            <WaypointNumberPin\n                                key={`route-point-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                theme={theme}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                            >\n                                {(waypoint.index || 0) + 1}\n                            </WaypointNumberPin>\n                        );\n                    }\n                    case StopTypeEnum.dropTrailer: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetDropOffLocationPin\n                                assetType={AssetTypeEnum.trailer}\n                                key={`dropTrailer-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.dropTruck: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetDropOffLocationPin\n                                assetType={AssetTypeEnum.truck}\n                                key={`dropTruckStop-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.dropRoadTrain: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetDropOffLocationPin\n                                assetType={null}\n                                key={`link-dropoff-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    default: {\n                        return null;\n                    }\n                }\n            }\n            default: {\n                return null;\n            }\n        }\n    };\n\n    const handleClusterClick = React.useCallback(\n        (clusterId: number) => {\n            const { map, maps } = api;\n\n            const clusterFeatures = allGeoJSONsClusterator.getLeaves(clusterId, FEATURES_LIMIT, DEFAULT_OFFSET);\n\n            const bounds = new maps.LatLngBounds();\n\n            clusterFeatures.forEach((feature: Supercluster.PointFeature<{}>) => {\n                const point = new maps.LatLng(feature.geometry.coordinates[1], feature.geometry.coordinates[0]);\n\n                bounds.extend(point);\n            });\n\n            map.fitBounds(bounds);\n        },\n        [api, allGeoJSONsClusterator],\n    );\n\n    return (\n        <>\n            {isLoading && <MapLoader className={cx('loader')} />}\n            <GoogleMapReact\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                options={MAP_OPTIONS}\n                onGoogleApiLoaded={apiIsLoaded}\n                onDragEnd={handleChange}\n                onZoomAnimationEnd={handleChange}\n                yesIWantToUseGoogleMapApiInternals\n            >\n                {allGeoJSONsClusters.map((cluster) => {\n                    if ('cluster' in cluster.properties) {\n                        const pointsFeatures = allGeoJSONsClusterator.getLeaves(\n                            cluster.properties.cluster_id,\n                            FEATURES_LIMIT,\n                            DEFAULT_OFFSET,\n                        );\n\n                        const clusterProperties = pointsFeatures.map((pointFeatures) => {\n                            return pointFeatures.properties;\n                        });\n\n                        return (\n                            <PointStackClusterPin\n                                key={`cluster-${cluster.properties.cluster_id}`}\n                                clusterId={cluster.properties.cluster_id}\n                                lng={cluster.geometry.coordinates[0]}\n                                lat={cluster.geometry.coordinates[1]}\n                                clusterProperties={clusterProperties}\n                                onClusterClick={handleClusterClick}\n                                withoutArrow={config.zoom < 20}\n                            />\n                        );\n                    }\n\n                    return renderSinglePointFeature(cluster.properties as PointGeoJsonPropertiesT);\n                })}\n            </GoogleMapReact>\n            {geometryStates?.map((geometryState, index) => (\n                <MapRoute\n                    key={`geometry-${index}`}\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext.googleMaps?.libraries?.geometry}\n                    polylines={geometryState.data}\n                    theme={MapRouteThemeEnum.trackFuture}\n                    zIndex={0}\n                />\n            ))}\n            {tourAssetTracks.map((tourAssetTracks, index) => {\n                const assets = tourAssets[index];\n                const { trailer, truck } = tourAssetTracks;\n\n                return (\n                    <>\n                        {!!truck?.points && (\n                            <MapRoute\n                                map={googleMapContext.googleMaps?.map}\n                                maps={googleMapContext.googleMaps?.maps}\n                                route={truck.points}\n                                theme={MapRouteThemeEnum.trackPast}\n                                zIndex={1}\n                            />\n                        )}\n                        {!assets?.isLinked && !!trailer?.points && (\n                            <MapRoute\n                                map={googleMapContext.googleMaps?.map}\n                                maps={googleMapContext.googleMaps?.maps}\n                                route={trailer.points}\n                                theme={MapRouteThemeEnum.trackPast}\n                                zIndex={1}\n                            />\n                        )}\n                    </>\n                );\n            })}\n            <MapBound\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                allMapPoints={boundMapPoints}\n            />\n            {!!routePolylineIds?.length && (\n                <RouteSwitchDropdown\n                    className={cx('route-type-switcher')}\n                    value={routeType}\n                    onChange={setSelectedRouteType}\n                    isDisabledEstimateCarrierRoute={!availableRouteTypeSet.has(RouteTypeEnum.estimateCarrierRoute)}\n                    isDisabledShipperRoute={!availableRouteTypeSet.has(RouteTypeEnum.shipperRoute)}\n                    isDisabledCarrierRoute={!availableRouteTypeSet.has(RouteTypeEnum.carrierRoute)}\n                />\n            )}\n        </>\n    );\n});\n\nexport default BrokerOrderRouteMap;\n","import { FieldsEnum, FormValuesT } from './constants';\n\nconst getInitialValues = (): FormValuesT => {\n    return {\n        [FieldsEnum.reason]: '',\n    };\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './IdCell.scss';\n\ntype PropsT = {\n    id: React.ReactNode;\n};\n\nconst cx = classNames.bind(styles);\n\nconst IdCell: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return <div className={cx('id')}>{id}</div>;\n});\n\nexport default IdCell;\n","import * as React from 'react';\nimport EuroSymbolIcon from 'common/icons/EuroSymbolIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { isNonNil } from 'common/utils';\nimport { useTranslation } from 'react-i18next';\nimport {\n    ApiBrokerAdditionalServiceT,\n    ApiCarrierAdditionalServiceT,\n    APIFuelDetailsT,\n    ApiTollByRoadTypeT,\n} from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\nimport classNames from 'classnames/bind';\nimport styles from './ShipperPriceOfferInfoTable.scss';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport { useCommonPriceDetails } from 'common/components/price-details/hooks/common';\nimport { useAdditionalServicesList } from 'common/components/price-details/hooks/additional-services-list';\nimport FeeIcon from 'common/icons/FeeIcon';\nimport { checkShouldShowLayover } from 'common/components/price-details/utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { AppliedRuleT } from 'common/store/order-creation/models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nexport type ShipperPriceOfferInfoTablePropsT = {\n    className?: string;\n    hasContract?: boolean;\n    totalPriceLabel: React.ReactNode;\n    totalPriceTooltip?: React.ReactNode;\n    totalPrice: number | undefined;\n    lineHaulCost: number | undefined;\n    teamDriveCost: number | undefined;\n    travelHours: number | undefined;\n    tollCost: number | undefined;\n    co2: number | undefined;\n    tollByRoadType: ApiTollByRoadTypeT | undefined;\n    tranziitServiceFee: number | undefined;\n    layoverCost: number | undefined;\n    layoverSeconds: number | undefined;\n    layoverPaidHours: number | undefined;\n    fuelDetails: APIFuelDetailsT | null | undefined;\n    additionalServiceItems: Array<ApiBrokerAdditionalServiceT | ApiCarrierAdditionalServiceT> | null | undefined;\n    appliedRules?: Array<AppliedRuleT>;\n    shouldAlwaysRenderExpandTrigger?: boolean;\n};\n\nconst ShipperPriceOfferInfoTable: React.FC<ShipperPriceOfferInfoTablePropsT> = React.memo((props) => {\n    const {\n        className,\n        hasContract,\n        totalPrice,\n        totalPriceLabel,\n        totalPriceTooltip,\n        lineHaulCost,\n        teamDriveCost,\n        travelHours,\n        tollCost,\n        tollByRoadType,\n        tranziitServiceFee,\n        layoverCost,\n        layoverPaidHours,\n        layoverSeconds,\n        fuelDetails,\n        additionalServiceItems,\n        appliedRules,\n        shouldAlwaysRenderExpandTrigger,\n        co2,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const commonPriceDetails = useCommonPriceDetails();\n\n    const carrierAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems,\n        isAllowCarrierServices: true,\n        isAllowBrokerServices: false,\n    });\n\n    const brokerAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems,\n        isAllowCarrierServices: false,\n        isAllowBrokerServices: true,\n    });\n\n    const priceDetails: Array<PriceDetailT | null> = [\n        {\n            iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.gray} />,\n            title: totalPriceLabel,\n            price: totalPrice,\n            tooltipNode: totalPriceTooltip ? (\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                    {totalPriceTooltip}\n                </TooltipContent>\n            ) : null,\n            list: hasContract\n                ? []\n                : [\n                      {\n                          ...commonPriceDetails.lineHaul,\n                          price: lineHaulCost,\n                          footerNode: commonPriceDetails.getAppliedRulesFooterNode(['LINE_HAUL'], appliedRules),\n                      },\n                      {\n                          ...commonPriceDetails.getRoadTaxesRow(co2),\n                          price: tollCost,\n                          footerNode: commonPriceDetails.getAppliedRulesFooterNode(['ROAD_TAXES'], appliedRules),\n                          list: commonPriceDetails.getRoadTaxesList(tollByRoadType, appliedRules),\n                      },\n                      {\n                          ...commonPriceDetails.getFuelCostRow(fuelDetails?.fuelType),\n                          price: fuelDetails?.totalCost,\n                          footerNode: commonPriceDetails.getAppliedRulesFooterNode(['FUEL'], appliedRules),\n                          list: commonPriceDetails.getFuelCostsByCountryList(fuelDetails?.byCountry),\n                      },\n                      isNumber(teamDriveCost)\n                          ? {\n                                ...commonPriceDetails.getTeamDrive({ travelHours }),\n                                price: teamDriveCost,\n                            }\n                          : null,\n                      checkShouldShowLayover(layoverSeconds, layoverCost)\n                          ? {\n                                ...commonPriceDetails.getLayoverCostRow(layoverSeconds, layoverPaidHours),\n                                price: layoverCost || 0,\n                            }\n                          : null,\n                      carrierAdditionalServicesList?.length\n                          ? {\n                                ...commonPriceDetails.getCarrierAdditionalServicesRow(additionalServiceItems),\n                                list: [\n                                    {\n                                        list: carrierAdditionalServicesList,\n                                    },\n                                ],\n                            }\n                          : null,\n                      brokerAdditionalServicesList?.length\n                          ? {\n                                ...commonPriceDetails.getBrokerAdditionalServicesRow(additionalServiceItems),\n                                list: [\n                                    {\n                                        list: brokerAdditionalServicesList,\n                                    },\n                                ],\n                            }\n                          : null,\n                      {\n                          iconNode: <FeeIcon strokeColor={StyleGuideColorsEnum.slate} />,\n                          title: t('common:order-details.columns.tranziit-service-fee-cost'),\n                          price: tranziitServiceFee,\n                          footerNode: commonPriceDetails.getAppliedRulesFooterNode(['SERVICE_FEE'], appliedRules),\n                      },\n                  ],\n        },\n    ].filter(isNonNil);\n\n    return (\n        <PriceDetails\n            className={className}\n            list={priceDetails}\n            shouldAlwaysRenderExpandTrigger={shouldAlwaysRenderExpandTrigger}\n        />\n    );\n});\n\nexport default ShipperPriceOfferInfoTable;\n","import * as React from 'react';\n\ntype PropsT = {\n    isSelected?: boolean;\n    isDisabled?: boolean;\n    className?: string;\n};\n\nconst BigRadioIcon: React.FC<PropsT> = (props) => {\n    const { isSelected, isDisabled, className } = props;\n\n    if (isDisabled) {\n        return (\n            <svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n                width=\"30\"\n                height=\"30\"\n                viewBox=\"0 0 30 30\"\n                className={className}\n            >\n                <defs>\n                    <rect id=\"po7krle2xa\" width=\"30\" height=\"30\" x=\"0\" y=\"0\" rx=\"15\" />\n                </defs>\n                <g fill=\"none\" fillRule=\"evenodd\">\n                    <mask id=\"hy0vxgn9bb\" fill=\"#fff\">\n                        <use xlinkHref=\"#po7krle2xa\" />\n                    </mask>\n                    <use fill=\"#FFF\" xlinkHref=\"#po7krle2xa\" />\n                    <rect\n                        width=\"28\"\n                        height=\"28\"\n                        x=\"1\"\n                        y=\"1\"\n                        fill=\"#E2E5ED\"\n                        fillOpacity=\"0.3\"\n                        stroke=\"#E2E5ED\"\n                        strokeLinejoin=\"round\"\n                        strokeWidth=\"2\"\n                        rx=\"14\"\n                    />\n                    {isSelected && <circle cx=\"15\" cy=\"15\" r=\"6\" fill=\"#9EA0A5\" mask=\"url(#hy0vxgn9bb)\" />}\n                    <path fill=\"#BCBCBC\" d=\"M0 0h30v30H0z\" mask=\"url(#hy0vxgn9bb)\" opacity=\"0.25\" />\n                </g>\n            </svg>\n        );\n    }\n\n    if (isSelected) {\n        return (\n            <svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n                width=\"30\"\n                height=\"30\"\n                viewBox=\"0 0 30 30\"\n                className={className}\n            >\n                <defs>\n                    <rect id=\"skzwne2zwa\" width=\"30\" height=\"30\" x=\"0\" y=\"0\" rx=\"15\" />\n                </defs>\n                <g fill=\"none\" fillRule=\"evenodd\">\n                    <use fill=\"#8ABA2E\" xlinkHref=\"#skzwne2zwa\" />\n                    <use fill=\"#000\" fillOpacity=\"0.1\" xlinkHref=\"#skzwne2zwa\" />\n                    <circle cx=\"15\" cy=\"15\" r=\"6\" fill=\"#FFF\" />\n                </g>\n            </svg>\n        );\n    }\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width=\"30\"\n            height=\"30\"\n            viewBox=\"0 0 30 30\"\n            className={className}\n        >\n            <defs>\n                <rect id=\"aa2nmlk0ha\" width=\"30\" height=\"30\" x=\"0\" y=\"0\" rx=\"15\" />\n            </defs>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <use fill=\"#FFF\" xlinkHref=\"#aa2nmlk0ha\" />\n                <rect\n                    width=\"28\"\n                    height=\"28\"\n                    x=\"1\"\n                    y=\"1\"\n                    fill=\"#E2E5ED\"\n                    fillOpacity=\"0.3\"\n                    stroke=\"#E2E5ED\"\n                    strokeLinejoin=\"round\"\n                    strokeWidth=\"2\"\n                    rx=\"14\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigRadioIcon.displayName = 'BigRadioIcon';\n\nconst storyProps: PropsT = {\n    isSelected: true,\n    isDisabled: false,\n};\n\nexport { storyProps };\nexport default BigRadioIcon;\n","import { combineReducers } from 'redux';\n\nimport detailsReducer from './details/reducer';\nimport RFQStatsReducer from './rfq-stats/reducer';\n\nimport { PartnerDetailsStateT } from './details/types';\nimport { RFQStatsStateT } from './rfq-stats/types';\n\nexport default combineReducers({\n    details: detailsReducer,\n    rfqStats: RFQStatsReducer,\n});\n\nexport type PartnerStateT = {\n    details: PartnerDetailsStateT;\n    rfqStats: RFQStatsStateT;\n};\n","import { FieldsEnum, FormValuesT } from './constants';\n\nconst getInitialValues = (): FormValuesT => {\n    return {\n        [FieldsEnum.reason]: '',\n    };\n};\n\nexport default getInitialValues;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { DESTROY_SESSION } from 'common/store/auth/types';\nimport requestStatus from 'common/utils/request-status';\nimport { initialAssetTeleportItemState, type AssetItemStateT, type AssetsStateT, type HashT } from './models';\n\nconst initialState: AssetsStateT = {};\n\nconst ensureItem = (state: AssetsStateT, assetId: HashT): AssetItemStateT => {\n    if (!state[assetId]) {\n        state[assetId] = { ...initialAssetTeleportItemState };\n    }\n    return state[assetId];\n};\n\nexport const assetsSlice = createSlice({\n    name: 'assets',\n    initialState,\n    reducers: {\n        validateAssetTeleport: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                assetId: HashT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // handled by saga\n        },\n        validateAssetTeleportBegin: (state, action: PayloadAction<{ assetId: HashT }>) => {\n            const { assetId } = action.payload;\n            const item = ensureItem(state, assetId);\n            item.validateTeleportStatus = requestStatus.loading;\n        },\n        validateAssetTeleportSuccess: (\n            state,\n            action: PayloadAction<{ assetId: HashT; data: Api2.Definitions.TeleportAsset }>,\n        ) => {\n            const { assetId, data } = action.payload;\n            const item = ensureItem(state, assetId);\n            item.validateTeleport = data;\n            item.validateTeleportStatus = requestStatus.ok;\n        },\n        validateAssetTeleportError: (state, action: PayloadAction<{ assetId: HashT; error: Error }>) => {\n            const { assetId, error } = action.payload;\n            const item = ensureItem(state, assetId);\n            item.validateTeleportStatus = requestStatus.setError(error);\n        },\n\n        executeAssetTeleport: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{ assetId: HashT; teleportLinkedAsset?: boolean }>,\n        ) => {\n            // handled by saga\n        },\n        executeAssetTeleportBegin: (state, action: PayloadAction<{ assetId: HashT }>) => {\n            const { assetId } = action.payload;\n            const item = ensureItem(state, assetId);\n            item.executeTeleportStatus = requestStatus.loading;\n        },\n        executeAssetTeleportSuccess: (state, action: PayloadAction<{ assetId: HashT }>) => {\n            const { assetId } = action.payload;\n            const item = ensureItem(state, assetId);\n            item.executeTeleportStatus = requestStatus.ok;\n        },\n        executeAssetTeleportError: (state, action: PayloadAction<{ assetId: HashT; error: Error }>) => {\n            const { assetId, error } = action.payload;\n            const item = ensureItem(state, assetId);\n            item.executeTeleportStatus = requestStatus.setError(error);\n        },\n\n        resetAssetTeleportItem: (state, action: PayloadAction<{ assetId: HashT }>) => {\n            const { assetId } = action.payload;\n            delete state[assetId];\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase(DESTROY_SESSION, () => initialState);\n    },\n});\n\nexport const {\n    validateAssetTeleport,\n    validateAssetTeleportBegin,\n    validateAssetTeleportSuccess,\n    validateAssetTeleportError,\n    executeAssetTeleport,\n    executeAssetTeleportBegin,\n    executeAssetTeleportSuccess,\n    executeAssetTeleportError,\n    resetAssetTeleportItem,\n} = assetsSlice.actions;\n\nexport default assetsSlice.reducer;\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"PriceDetailsHeader__title___H9KTQ\",\"row\":\"PriceDetailsHeader__row___sMYC6\",\"row__column--title\":\"PriceDetailsHeader__row__column--title___yUHp6\",\"fadeIn\":\"PriceDetailsHeader__fadeIn___lxbGJ\",\"blinking\":\"PriceDetailsHeader__blinking___jnMWh\"};","import React, { useCallback } from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './FilePickerInput.scss';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport useTestSelector from 'common/utils/hooks/useTestSelector';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport Link, { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport { pickFile } from 'common/utils/pick-file';\nimport { useTranslation } from 'react-i18next';\nimport { RemoteFile } from './models';\nimport noop from 'lodash/noop';\nimport { reduceFileNameIfNeed } from 'common/utils/file-name';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT<T> = File | RemoteFile<T> | null;\n\nexport type IconMetaT = {\n    isLoading: boolean;\n    hasError: boolean;\n    hasWarning: boolean;\n    hasSuccess: boolean;\n    isDisabled: boolean;\n    hasChanges: boolean;\n    isEmpty: boolean;\n};\n\nexport type PropsT<T = any> = {\n    className?: string;\n    renderLeftIcon: (meta: IconMetaT) => React.ReactNode;\n    name: string;\n    value: ValueT<T>;\n    isLoading?: boolean;\n    placeholder?: string;\n    onChange: (value: ValueT<T>) => void;\n    onBlur?: () => void;\n    onDownload?: (data: T) => void;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasSuccess?: boolean;\n    isDisabled?: boolean;\n    hasChanges?: boolean;\n    hasClearControl?: boolean;\n    hasUploadNewControl?: boolean;\n    testSelectorPrefix?: string;\n    limitFileNameLength?: number;\n    accept: 'application/pdf' | 'image/*,application/pdf';\n};\n\nconst DEFAULT_LIMIT_FILE_NAME_LENGTH = 65;\n\nconst FilePickerInput: React.FC<PropsT> = React.memo((props) => {\n    const {\n        value,\n        name,\n        renderLeftIcon,\n        placeholder,\n        onChange,\n        onBlur,\n        onDownload,\n        hasError,\n        hasWarning,\n        isLoading,\n        isDisabled,\n        hasSuccess,\n        className,\n        hasChanges,\n        hasClearControl,\n        hasUploadNewControl,\n        testSelectorPrefix,\n        accept,\n    } = props;\n\n    const handleBlur = (): void => {\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handlePickFile = (): void => {\n        pickFile(accept, (file) => {\n            onChange(file);\n            handleBlur();\n        });\n    };\n\n    const handleReset = () => {\n        onChange(null);\n        handleBlur();\n    };\n\n    const isEmpty = !value;\n\n    const testSelector = useTestSelector(testSelectorPrefix || name, 'file-picker');\n    const resetControlTestSelector = useTestSelector(testSelector, 'reset');\n\n    const leftIcon = isLoading ? (\n        <ControlLoaderIcon fillColor={StyleGuideColorsEnum.charcoal} size={DEFAULT_ICON_SIZE} />\n    ) : (\n        renderLeftIcon({\n            isLoading: !!isLoading,\n            hasError: !!hasError,\n            hasWarning: !!hasWarning,\n            hasSuccess: !!hasSuccess,\n            isDisabled: !!isDisabled,\n            hasChanges: !!hasChanges,\n            isEmpty,\n        })\n    );\n\n    const { t } = useTranslation();\n\n    const handleDownload = useCallback(() => {\n        if (onDownload && value instanceof RemoteFile) {\n            onDownload(value.downloadData);\n        }\n    }, [value, onDownload]);\n\n    const labelNode = React.useMemo(() => {\n        const limitFileNameLength = props.limitFileNameLength || DEFAULT_LIMIT_FILE_NAME_LENGTH;\n\n        if (value instanceof RemoteFile) {\n            return (\n                <ClickInterceptorLabel>\n                    <Link theme={LinkThemeEnum.charcoal} size={LinkSizeEnum.medium} onClick={handleDownload}>\n                        <span title={value.name}>{reduceFileNameIfNeed(value.name, limitFileNameLength)}</span>\n                    </Link>\n                </ClickInterceptorLabel>\n            );\n        }\n\n        if (value instanceof File) {\n            return <div title={value.name}>{reduceFileNameIfNeed(value.name, limitFileNameLength)}</div>;\n        }\n\n        return placeholder || t('common:file-picker.placeholder');\n    }, [value, placeholder, t, props.limitFileNameLength, handleDownload]);\n\n    return (\n        <div\n            className={cs(\n                cx('input', {\n                    'input--hasWarning': hasWarning,\n                    'input--hasChanges': hasChanges,\n                    'input--hasError': hasError,\n                    'input--hasRightNode': isEmpty || (hasClearControl && !isEmpty),\n                    'input--isDisabled': isDisabled,\n                    'input--isClickable': isEmpty,\n                }),\n                className,\n            )}\n            onClick={isEmpty ? handlePickFile : noop}\n        >\n            {leftIcon && <div className={cx('icon', 'icon--isLeft')}>{leftIcon}</div>}\n            <div\n                className={cx('label', {\n                    'label--isEmpty': isEmpty,\n                    'label--isDisabled': isDisabled,\n                })}\n            >\n                {labelNode}\n            </div>\n            {isEmpty && (\n                <ClickInterceptorLabel>\n                    <TransparentTrigger\n                        spaces=\"xs\"\n                        isDisabled={isDisabled}\n                        onClick={isDisabled ? noop : handlePickFile}\n                        labelClassName={cx('upload-trigger')}\n                        label={t('common:file-picker.upload')}\n                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                    />\n                </ClickInterceptorLabel>\n            )}\n            {hasClearControl && !isEmpty && (\n                <ClickInterceptorLabel>\n                    <TransparentTrigger\n                        spaces=\"xs\"\n                        isDisabled={isDisabled}\n                        testSelector={resetControlTestSelector}\n                        onClick={isDisabled ? noop : handleReset}\n                        leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                    />\n                </ClickInterceptorLabel>\n            )}\n            {hasUploadNewControl && !isEmpty && (\n                <ClickInterceptorLabel>\n                    <TransparentTrigger\n                        spaces=\"xs\"\n                        isDisabled={isDisabled}\n                        onClick={isDisabled ? noop : handlePickFile}\n                        labelClassName={cx('upload-trigger')}\n                        label={t('common:file-picker.upload-new')}\n                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                    />\n                </ClickInterceptorLabel>\n            )}\n        </div>\n    );\n});\n\nexport default FilePickerInput;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { BooleanSettingValueEnum, SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst getInitialValues = (systemSettings: SystemSettingsT | null | undefined): FormValuesT => {\n    return {\n        [FieldsEnum.minimalShipmentCost]: systemSettings?.MINIMAL_COST_FOR_SHIPMENT || '',\n        [FieldsEnum.driverSalaryPerHour]: systemSettings?.DRIVER_SALARY_PER_HOUR || '',\n        [FieldsEnum.minimalCostForTruck]: systemSettings?.MINIMAL_COST_FOR_TRUCK || '',\n        [FieldsEnum.minimalCostForTrailer]: systemSettings?.MINIMAL_COST_FOR_TRAILER || '',\n        [FieldsEnum.layoverCostPerHour]: systemSettings?.COST_PER_ONE_HOUR_LAYOVER || '',\n        [FieldsEnum.layoverCostPerDay]: systemSettings?.COST_PER_ONE_DAY_LAYOVER || '',\n        [FieldsEnum.layoverFreeHours]: systemSettings?.LAYOVER_FREE_HOURS || '',\n        [FieldsEnum.urgentOverPrice]: systemSettings?.URGENT_OVERPRICE || '',\n        [FieldsEnum.overPriceForEveryAdditionalStop]: systemSettings?.OVERPRICE_FOR_EVERY_ADDITIONAL_STOP || '',\n        [FieldsEnum.timeSlotAppointmentCost]: systemSettings?.TIME_SLOT_APPOINTMENT_COST || '',\n        [FieldsEnum.costPerGreenShipment]: systemSettings?.COST_PER_GREEN_SHIPMENT || '',\n        [FieldsEnum.tranziitServiceFeeFixedMode]: systemSettings?.TRANZIIT_SERVICE_FEE_FIXED_MODE || '',\n        [FieldsEnum.tranziitServiceFeePercent]: systemSettings?.TRANZIIT_SERVICE_FEE_PERCENT || '',\n        [FieldsEnum.tranziitServiceFeeFixed]: systemSettings?.TRANZIIT_SERVICE_FEE_FIXED || '',\n        [FieldsEnum.pricingStrategy]: systemSettings?.PRICING_STRATEGY || '',\n        [FieldsEnum.truckConsumption]: systemSettings?.TRUCK_CONSUMPTION || '',\n        [FieldsEnum.reeferConsumption]: systemSettings?.REEFER_CONSUMPTION || '',\n        [FieldsEnum.rateMatrixSpread]: systemSettings?.RATE_MATRIX_SPREAD || '',\n        [FieldsEnum.hvoPricePercent]: systemSettings?.HVO_PRICE_PERCENT || '',\n        [FieldsEnum.usePeriodicRulesForMonths]:\n            systemSettings?.YEAR_PERIODIC_AUTO_RULES === BooleanSettingValueEnum.true,\n        [FieldsEnum.usePeriodicRulesForWeekdays]: systemSettings?.USE_PERIODIC_RULES === BooleanSettingValueEnum.true,\n    };\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { EditableShipperContractLaneDetailsSidebarDataT } from './models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport CommonEditableShipperContractLaneDetailsLayout from 'common/layouts/CommonEditableShipperContractLaneDetailsLayout/CommonEditableShipperContractLaneDetailsLayout';\n\ntype PropsT = SidebarContentPropsT<EditableShipperContractLaneDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst EditableShipperContractLaneDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onGoBack, onClose, setNeedCloseConfirmation, onOpenNextSidebar } = props;\n\n    if (!onClose) {\n        return null;\n    }\n\n    const handleOpenUserDetails = (userId: UserIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId: data.partnerId,\n            partnerType: PartnerTypeEnum.broker,\n            userId,\n        });\n    };\n\n    return (\n        <CommonEditableShipperContractLaneDetailsLayout\n            partnerId={data.partnerId}\n            shipperContractId={data.shipperContractId}\n            shipperContractLaneId={data.shipperContractLaneId}\n            isReadOnly={data.isReadOnly}\n            onClose={onClose}\n            onGoBack={onGoBack || undefined}\n            onOpenUserDetails={handleOpenUserDetails}\n            setNeedCloseConfirmation={setNeedCloseConfirmation}\n        />\n    );\n};\n\nexport default EditableShipperContractLaneDetailsSidebarContent;\n","export enum GPStatusEnum {\n    enabled = 'enabled',\n    unable = 'unable',\n}\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RunOutOfTimeAssignDriversCard.scss';\nimport { Trans } from 'react-i18next';\nimport NotificationSubjectType from '../entities/NotificationSubjectType/NotificationSubjectType';\nimport { ApiNotificationSubjectTypeT } from 'common/utils/api/models';\nimport CityName from '../entities/CityName/CityName';\nimport SubjectLink from '../entities/SubjectLink/SubjectLink';\n\nconst cx = classNames.bind(styles);\n\nexport type RunOutOfTimeAssignDriversCardPropsT = {\n    subjectType: ApiNotificationSubjectTypeT | null | undefined;\n    subjectNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst RunOutOfTimeAssignDriversCard: React.FC<RunOutOfTimeAssignDriversCardPropsT> = React.memo((props) => {\n    const { subjectType, subjectNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <Trans\n                i18nKey=\"common:notifications.transport-order-run-out-of-time-assign-driver\"\n                components={{\n                    subjectType: <NotificationSubjectType isCapitalized subjectType={subjectType} />,\n                    subjectLink: <SubjectLink number={subjectNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RunOutOfTimeAssignDriversCard;\n","import { ApiEditOrderContextT, ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { ApiLocationT } from 'common/utils/api/models';\n\nexport enum RoutePointTypeEnum {\n    pickupOrDelivery = 'pickup-or-delivery',\n    dropAndHook = 'drop-and-hook',\n    driveThrough = 'drive-through',\n    ferryOnboard = 'ferry-onboard',\n    ferryDisembark = 'ferry-disembark',\n    unknown = 'unknown', // pickup truck, trailer ....\n}\n\nexport type RoutePointTimeWindowT = {\n    start: ISODateTimeT;\n    end: ISODateTimeT;\n};\n\nexport type EditOrderContextT = ApiEditOrderContextT & {\n    expireTime: number | null;\n};\n\nexport type EditOrderQueryModifyChannelEventT = {\n    correctedStops?: Array<ApiTourUpdateStopDataT>;\n    addedStopHashes?: Array<ContextRoutePointHashT>;\n    deletedStopHashes?: Array<ContextRoutePointHashT>;\n    orderStopHashes?: Array<ContextRoutePointHashT>;\n};\n\nexport type FakeSessionIdT = string;\nexport type ContextRoutePointHashT = string;\n\nexport type ChangeContextPayloadT =\n    | {\n          type: 'change-route-point-location';\n          beforeContextRoutePointHashes: Array<ContextRoutePointHashT>;\n          contextRoutePointHash: ContextRoutePointHashT;\n          address: ApiLocationT;\n          routePointType: RoutePointTypeEnum;\n      }\n    | {\n          type: 'change-route-point-time-window';\n          beforeContextRoutePointHashes: Array<ContextRoutePointHashT>;\n          contextRoutePointHash: ContextRoutePointHashT;\n          timeWindow: RoutePointTimeWindowT;\n          address: ApiLocationT;\n          routePointType: RoutePointTypeEnum;\n      }\n    | {\n          type: 'delete-route-point';\n          contextRoutePointHash: ContextRoutePointHashT;\n      };\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const ratesRefreshChannel = new ViewEventChannel<{}>();\n\nexport const ratesPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","// extracted by mini-css-extract-plugin\nexport default {\"route\":\"TransportOrderDetails__route___juw6G\",\"alerts\":\"TransportOrderDetails__alerts___lsmNt\",\"table\":\"TransportOrderDetails__table___x7ct5\",\"table--origin\":\"TransportOrderDetails__table--origin___VqH87\",\"table--destination\":\"TransportOrderDetails__table--destination___lL8hr\",\"spot-request-row\":\"TransportOrderDetails__spot-request-row___OEByG\",\"excluded-countries\":\"TransportOrderDetails__excluded-countries___lfNLH\",\"team-driver\":\"TransportOrderDetails__team-driver___c65yp\",\"pill\":\"TransportOrderDetails__pill___aQo8E\",\"info-table-row--origin\":\"TransportOrderDetails__info-table-row--origin___kVZvJ\",\"info-table-row--destination\":\"TransportOrderDetails__info-table-row--destination___BfT3J\",\"papers-card\":\"TransportOrderDetails__papers-card___hEMmB\",\"route-card\":\"TransportOrderDetails__route-card___O5xCh\",\"shipment-card\":\"TransportOrderDetails__shipment-card___CPHK1\",\"fadeIn\":\"TransportOrderDetails__fadeIn___sjhHR\",\"blinking\":\"TransportOrderDetails__blinking___I7MN5\"};","import * as React from 'react';\n\nimport { useDispatch } from 'react-redux';\n\nimport { fetchCompany } from 'common/store/company/actions';\nimport { useCallback } from 'react';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { companyRefreshChannel } from 'common/store/company/channels';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\n\ntype PropsT = {};\n\nconst Company: React.FC<PropsT> = React.memo(() => {\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchCompany());\n    }, [dispatch]);\n\n    const refreshHandler = useCallback(() => {\n        dispatch(fetchCompany({ isForceUpdate: true }));\n    }, [dispatch]);\n    useChannelSubscribe(companyRefreshChannel, refreshHandler);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchCompany({ isForceUpdate: false }));\n    }, [dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    return null;\n});\n\nexport default Company;\n","import * as React from 'react';\n\ntype BaseOptionKeyValueT = string;\n\ntype BaseOptionT<K extends string, V = BaseOptionKeyValueT> = {\n    [Key in K]: V;\n};\n\nexport const useUpdateOptionsIdsSet = <K extends string>(\n    shouldWatch: boolean,\n    key: K,\n    initOptions: Array<BaseOptionT<K>>,\n    options: Array<BaseOptionT<K>>,\n) => {\n    return React.useMemo(() => {\n        if (!shouldWatch) {\n            return new Set([]);\n        }\n        const initIds = initOptions.map((option) => option[key]);\n        const initIdSet = new Set(initIds);\n\n        const ids = options.map((option) => option[key]);\n        const idSet = new Set(ids);\n\n        const diffIds = ids.filter((id) => {\n            return !initIdSet.has(id);\n        });\n\n        const initDiffIds = initIds.filter((id) => {\n            return !idSet.has(id);\n        });\n\n        return new Set([...diffIds, ...initDiffIds]);\n    }, [shouldWatch, key, initOptions, options]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"PendingUserCell__content___H39qD\",\"fadeIn\":\"PendingUserCell__fadeIn___fUfxm\",\"blinking\":\"PendingUserCell__blinking____9r5p\"};","import * as React from 'react';\nimport isNumber from 'lodash/isNumber';\nimport { useMemo } from 'react';\n\ntype LatT = number;\ntype LonT = number;\n\nexport type BoundPointT = [LatT | undefined | null, LonT | undefined | null];\n\ntype PropsT = {\n    map: MapT | null | undefined;\n    maps: MapsT | null | undefined;\n    allMapPoints?: Array<BoundPointT> | null | undefined;\n    boundingBox?: BoundingBoxT | null | undefined;\n};\n\nconst MapBound: React.FC<PropsT> = React.memo((props) => {\n    const { map, maps, allMapPoints, boundingBox } = props;\n\n    // to block the map's refocus at the same points\n    const allMapPointsHash = useMemo(() => {\n        return JSON.stringify(allMapPoints);\n    }, [allMapPoints]);\n\n    React.useEffect(() => {\n        if (!maps || !map || !allMapPoints?.length) {\n            return;\n        }\n\n        const bounds = new maps.LatLngBounds();\n        allMapPoints.forEach((point) => {\n            if (isNumber(point[0]) && isNumber(point[1])) {\n                const boundPoint = new maps.LatLng(point[0], point[1]);\n                bounds.extend(boundPoint);\n            }\n        });\n\n        map.fitBounds(bounds);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [map, maps, allMapPointsHash]);\n\n    // to block the map's refocus at the same points\n    const boundingBoxHash = useMemo(() => {\n        return JSON.stringify(boundingBox);\n    }, [boundingBox]);\n\n    React.useEffect(() => {\n        if (!map || !maps || !boundingBox?.length) {\n            return;\n        }\n\n        const point1 = new maps.LatLng(...boundingBox[0]);\n        const point2 = new maps.LatLng(...boundingBox[1]);\n        const bounds = new maps.LatLngBounds(point1, point2);\n        map.fitBounds(bounds);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [map, maps, boundingBoxHash]);\n\n    return null;\n});\n\nexport default MapBound;\n","// extracted by mini-css-extract-plugin\nexport default {\"route\":\"RouteLocationsOverview__route___LwMXU\",\"route__location\":\"RouteLocationsOverview__route__location___QZ7Nk\",\"route__direction\":\"RouteLocationsOverview__route__direction___UsPcE\",\"location\":\"RouteLocationsOverview__location___A3LC_\",\"location__locality\":\"RouteLocationsOverview__location__locality___Fx8Au\",\"location__country\":\"RouteLocationsOverview__location__country___YmUBe\",\"location__flag\":\"RouteLocationsOverview__location__flag___aiCRM\",\"location__time-window\":\"RouteLocationsOverview__location__time-window___IJPTg\",\"skeleton\":\"RouteLocationsOverview__skeleton___MGsk7\",\"fadeIn\":\"RouteLocationsOverview__fadeIn___ongHJ\",\"blinking\":\"RouteLocationsOverview__blinking___CJgBN\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const invoicesRefreshChannel = new ViewEventChannel<{}>();\n\nexport const invoicesPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import * as React from 'react';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst BigLaneIcon: React.FC<PropsT> = ({ className }) => {\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"130\" viewBox=\"0 0 200 130\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    fill=\"#8ABA2E\"\n                    fillOpacity=\"0.05\"\n                    d=\"M176 20a7 7 0 010 14h-40a7 7 0 010 14h22a7 7 0 010 14h-10.174c-4.874 0-8.826 3.134-8.826 7 0 2.577 2 4.91 6 7a7 7 0 010 14H62a7 7 0 010-14H23a7 7 0 010-14h40a7 7 0 000-14H38a7 7 0 010-14h40a7 7 0 010-14h98zm0 28a7 7 0 110 14 7 7 0 010-14z\"\n                />\n                <path\n                    stroke=\"#8ABA2E\"\n                    strokeWidth=\"2\"\n                    d=\"M128.5 64c-8.57 0-15.5 6.573-15.5 14.7 0 11.025 15.5 27.3 15.5 27.3S144 89.725 144 78.7c0-8.127-6.93-14.7-15.5-14.7z\"\n                />\n                <path\n                    fill=\"#8ABA2E\"\n                    fillOpacity=\"0.3\"\n                    fillRule=\"nonzero\"\n                    d=\"M131.5 67c-8.57 0-15.5 6.573-15.5 14.7 0 11.025 12.5 24.3 12.5 24.3S144 91.604 144 80.579C144 72.452 140.07 67 131.5 67z\"\n                />\n                <path\n                    fill=\"#FFF\"\n                    fillRule=\"nonzero\"\n                    d=\"M128.5 85c-2.852 0-5.167-2.352-5.167-5.25s2.315-5.25 5.167-5.25 5.167 2.352 5.167 5.25S131.352 85 128.5 85z\"\n                />\n                <path\n                    fill=\"#8ABA2E\"\n                    fillOpacity=\"0.3\"\n                    d=\"M64.915 31.882c0 2.136 1.762 3.883 3.916 3.883h55.466c3.25 0 5.872 2.6 5.872 5.823 0 3.223-2.623 5.824-5.872 5.824H76.66c-8.653 0-15.661 6.95-15.661 15.53V78.47C61 87.05 68.008 94 76.661 94h28.712v-7.765H76.66c-4.307 0-7.83-3.494-7.83-7.764V59.059v3.882c0-4.27 3.523-7.765 7.83-7.765h47.636c7.556 0 13.703-6.095 13.703-13.588C138 34.095 131.853 28 124.297 28H68.83c-2.154 0-3.916 1.747-3.916 3.882z\"\n                />\n                <path\n                    fill=\"#8ABA2E\"\n                    d=\"M64.915 31.882c0 2.136 1.762 3.883 3.916 3.883h55.466c3.25 0 5.872 2.6 5.872 5.823 0 3.223 7.831 3.223 7.831 0C138 34.095 131.853 28 124.297 28H68.83c-2.154 0-3.916 1.747-3.916 3.882z\"\n                />\n                <path\n                    stroke=\"#8ABA2E\"\n                    strokeLinecap=\"round\"\n                    strokeLinejoin=\"round\"\n                    strokeWidth=\"2.5\"\n                    d=\"M162.5 35h-17.176m24.176 0h-2.221m-11.103 7.777H148M51.5 66H34.324M28.5 66h-4.221m31.897 8.777H48\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigLaneIcon.displayName = 'BigLaneIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default BigLaneIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"DropPointPicker__wrap___UHrq5\",\"field--location\":\"DropPointPicker__field--location___biuBQ\",\"geo-suggest\":\"DropPointPicker__geo-suggest___PoKAQ\",\"time-picker\":\"DropPointPicker__time-picker___no8GN\",\"right-node\":\"DropPointPicker__right-node___NXq7U\",\"time-interval\":\"DropPointPicker__time-interval___FS_B3\",\"time-interval--isHalfOpacity\":\"DropPointPicker__time-interval--isHalfOpacity___vWGCz\",\"original-zone-tooltip-content\":\"DropPointPicker__original-zone-tooltip-content___QmMCQ\",\"fadeIn\":\"DropPointPicker__fadeIn___GAJoH\",\"blinking\":\"DropPointPicker__blinking___lRtV0\"};","import React from 'react';\nimport styles from './TimeIntervalDurationPillLabel.scss';\nimport classNames from 'classnames/bind';\nimport { checkMidnightTime, getDateTime, getHours, getMinutes, getTimeRelativeStartDay } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\nimport { isNonNil } from 'common/utils';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    i18nKey?: string | null;\n    timeWindow: TimeWindowT | null | undefined;\n    className?: string;\n    isDayRelative: boolean;\n    isChanged: boolean;\n};\n\nconst TimeIntervalDurationPillLabel: React.FC<PropsT> = (props) => {\n    const { timeWindow, className, isDayRelative, i18nKey, isChanged } = props;\n\n    const { t } = useTranslation();\n\n    if (!timeWindow) {\n        return null;\n    }\n\n    const [start, end] = timeWindow;\n    const diff = timeWindow[1] - timeWindow[0];\n\n    const formatter = isDayRelative ? getTimeRelativeStartDay : getDateTime;\n\n    const hours = getHours(diff);\n    const formattedHours = hours\n        ? `${hours} ${t('common:hours', {\n              postProcess: 'interval',\n              count: hours,\n          })}`\n        : null;\n\n    const minutes = getMinutes(diff);\n    const formattedMinutes = minutes\n        ? `${minutes} ${t('common:minutes', {\n              postProcess: 'interval',\n              count: minutes,\n          })}`\n        : null;\n\n    const formattedDiff = [formattedHours, formattedMinutes].filter(isNonNil).join(' ');\n\n    const duration = `${formatter(start)} - ${checkMidnightTime(formatter(end))}`;\n\n    const pillNode = (\n        <PillLabel\n            isSymmetrical\n            theme={isChanged ? PillLabelThemeEnum.blazeOrange : PillLabelThemeEnum.charcoal}\n            className={className}\n        >\n            <span className={cx('text')}>\n                {i18nKey\n                    ? t(i18nKey, {\n                          duration,\n                          formattedDiff,\n                      })\n                    : `${duration} (${formattedDiff})`}\n            </span>\n        </PillLabel>\n    );\n\n    if (isChanged) {\n        return (\n            <Tooltip\n                isInline\n                position={TooltipPositionEnum.topCenter}\n                theme={TooltipThemeEnum.black}\n                tooltipNode={\n                    <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                        {t('broker-order-route-edit.pills.tooltip.changed-time-window')}\n                    </TooltipContent>\n                }\n            >\n                {() => pillNode}\n            </Tooltip>\n        );\n    }\n\n    return pillNode;\n};\n\nexport default TimeIntervalDurationPillLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"TrucksPageLayout__tabs___u_fIa\",\"tabs--isPartner\":\"TrucksPageLayout__tabs--isPartner___RXRjK\",\"tabs__tab\":\"TrucksPageLayout__tabs__tab___bLzBQ\",\"fadeIn\":\"TrucksPageLayout__fadeIn___anFGQ\",\"blinking\":\"TrucksPageLayout__blinking___C_8a8\"};","import * as React from 'react';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { useTranslation } from 'react-i18next';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { ApiCancelByBrokerUnavailableReasonT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { updateEntityStatus } from 'common/store/state-machine/slice';\nimport { TransportOrderStatusEnum } from 'common/utils/api/models';\nimport { useDispatch } from 'react-redux';\nimport { useMemo } from 'react';\nimport { StateMachineEntityDescriptorT } from 'common/store/state-machine/models';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DeleteIcon from 'common/icons/DeleteIcon';\n\ntype PropsT = {\n    className?: string;\n    transportOrderId: TransportOrderIdT | null;\n    cancelByBrokerUnavailableReason?: ApiCancelByBrokerUnavailableReasonT | null;\n};\n\ntype DeprecatedT = 'PICKUP_ALREADY_STARTED' | 'TRANSPORTATION_ORDER_IS_ON_SPOT';\n\nconst blockedCancelReasonI18nMap: Record<ApiCancelByBrokerUnavailableReasonT | DeprecatedT, string> = {\n    PICKUP_ALREADY_STARTED: 'change-transport-order-status.blocked-cancel-reason.PICKUP_ALREADY_STARTED',\n    TRANSPORTATION_IS_NOT_IN_AVAILABLE_STATUS:\n        'change-transport-order-status.blocked-cancel-reason.TRANSPORTATION_IS_NOT_IN_AVAILABLE_STATUS',\n    TRANSPORTATION_ORDER_IS_ON_SPOT:\n        'change-transport-order-status.blocked-cancel-reason.TRANSPORTATION_ORDER_IS_ON_SPOT',\n    BROKER_CANT_CANCEL_DEADHEAD_TO:\n        'change-transport-order-status.blocked-cancel-reason.BROKER_CANT_CANCEL_DEADHEAD_TO',\n};\n\nconst ChangeTransportOrderStatusControl: React.FC<PropsT> = React.memo((props) => {\n    const { className, transportOrderId, cancelByBrokerUnavailableReason } = props;\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    const descriptor = useMemo((): StateMachineEntityDescriptorT | null => {\n        if (!transportOrderId) {\n            return null;\n        }\n\n        return {\n            entityType: 'TRANSPORTATION_ORDER',\n            entityId: transportOrderId,\n        };\n    }, [transportOrderId]);\n\n    const options: Array<DropdownControlOptionT | null | undefined> = [\n        ...(transportOrderId\n            ? [\n                  {\n                      label: (\n                          <Tooltip\n                              position={TooltipPositionEnum.topCenter}\n                              theme={TooltipThemeEnum.black}\n                              tooltipNode={\n                                  cancelByBrokerUnavailableReason ? (\n                                      <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                          {t(blockedCancelReasonI18nMap[cancelByBrokerUnavailableReason])}\n                                      </TooltipContent>\n                                  ) : null\n                              }\n                          >\n                              {() => (\n                                  <DropdownControlOptionLabel\n                                      isDisabled={!!cancelByBrokerUnavailableReason}\n                                      label={t('broker-order-details.change-transport-order-status.cancel')}\n                                      icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                  />\n                              )}\n                          </Tooltip>\n                      ),\n                      isDisabled: !!cancelByBrokerUnavailableReason,\n                      onSelect: () => {\n                          if (!transportOrderId || !descriptor) {\n                              return;\n                          }\n\n                          dispatch(\n                              updateEntityStatus({\n                                  update: {\n                                      status: TransportOrderStatusEnum.canceled,\n                                      entityType: 'TRANSPORTATION_ORDER',\n                                      entityId: transportOrderId,\n                                  },\n                                  descriptor,\n                              }),\n                          );\n                      },\n                  },\n              ]\n            : []),\n    ];\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    leftIcon={<MoreIcon />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n        />\n    );\n});\n\nexport default ChangeTransportOrderStatusControl;\n","import { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { getDateFromDate } from 'common/utils/time';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {\n        [QueryFiltersKeysEnum.dictTrailerId]: values[FieldsEnum.dictTrailerId] || undefined,\n\n        [QueryFiltersKeysEnum.address]: undefined,\n\n        [QueryFiltersKeysEnum.createdById]: values[FieldsEnum.createdById] || undefined,\n        [QueryFiltersKeysEnum.createdByName]: values[FieldsEnum.createdByName] || undefined,\n\n        [QueryFiltersKeysEnum.validFromStart]: undefined,\n        [QueryFiltersKeysEnum.validFromFinish]: undefined,\n\n        [QueryFiltersKeysEnum.validTillStart]: undefined,\n        [QueryFiltersKeysEnum.validTillFinish]: undefined,\n\n        [QueryFiltersKeysEnum.createdDateStart]: undefined,\n        [QueryFiltersKeysEnum.createdDateFinish]: undefined,\n    };\n\n    const address = simpleStringFormatter(values[FieldsEnum.address]);\n    if (address) {\n        queryFilters[QueryFiltersKeysEnum.address] = address;\n    }\n\n    const validFromDates = values[FieldsEnum.validFromDates];\n    if (validFromDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.validFromStart] = getDateFromDate(validFromDates.from);\n    }\n\n    if (validFromDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.validFromFinish] = getDateFromDate(validFromDates.to);\n    }\n\n    const validTillDates = values[FieldsEnum.validTillDates];\n    if (validTillDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.validTillStart] = getDateFromDate(validTillDates.from);\n    }\n\n    if (validTillDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.validTillFinish] = getDateFromDate(validTillDates.to);\n    }\n\n    const createDates = values[FieldsEnum.createdDates];\n    if (createDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.createdDateStart] = getDateFromDate(createDates.from);\n    }\n\n    if (createDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.createdDateFinish] = getDateFromDate(createDates.to);\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst RestoreIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M10.75 3.25A6.75 6.75 0 004 10H1.75l3 2.992 3-2.992H5.5a5.246 5.246 0 015.25-5.25A5.246 5.246 0 0116 10a5.246 5.246 0 01-5.25 5.25 5.208 5.208 0 01-3.705-1.545L5.98 14.77a6.716 6.716 0 004.77 1.98 6.75 6.75 0 000-13.5zM10 7v3.75l3.188 1.89.577-.96-2.64-1.567V7H10z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nRestoreIcon.displayName = 'RestoreIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default RestoreIcon;\n","import React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './UserDropdownOptionLabel.scss';\nimport Avatar from 'common/components/Avatar/Avatar';\nimport LogoIcon from 'common/icons/LogoIcon';\nimport { DEFAULT_ICON_SIZE } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    label: string;\n    isAllBrokerUsers?: boolean;\n    isPlaceholder?: boolean;\n};\n\nconst UserDropdownOptionLabel: React.FC<PropsT> = (props) => {\n    const { className, label, isAllBrokerUsers, isPlaceholder } = props;\n\n    return (\n        <div className={cs(cx('option'), className)}>\n            {isAllBrokerUsers ? (\n                <LogoIcon className={cx('avatar')} size={DEFAULT_ICON_SIZE} />\n            ) : (\n                <Avatar className={cx('avatar')} hash={isPlaceholder ? null : label} />\n            )}\n            <div className={cx('label')}>{label}</div>\n        </div>\n    );\n};\n\nexport default UserDropdownOptionLabel;\n","import { TrucksDictT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nimport { ApiTrucksDictT } from 'common/utils/api/models';\n\nexport const TRUCKS_DICT_REQUEST = 'common/trucks-dict/TRUCKS_DICT_REQUEST';\nexport const TRUCKS_DICT_REQUEST_BEGIN = 'common/trucks-dict/TRUCKS_DICT_REQUEST_BEGIN';\nexport const TRUCKS_DICT_REQUEST_SUCCESS = 'common/trucks-dict/TRUCKS_DICT_REQUEST_SUCCESS';\nexport const TRUCKS_DICT_REQUEST_ERROR = 'common/trucks-dict/TRUCKS_DICT_REQUEST_ERROR';\n\nexport type FetchTrucksDictActionT = {\n    type: typeof TRUCKS_DICT_REQUEST;\n};\n\nexport type FetchTrucksDictBeginActionT = {\n    type: typeof TRUCKS_DICT_REQUEST_BEGIN;\n};\n\nexport type FetchTrucksDictSuccessActionT = {\n    type: typeof TRUCKS_DICT_REQUEST_SUCCESS;\n    trucksDict: ApiTrucksDictT;\n};\n\nexport type FetchTrucksDictErrorActionT = {\n    type: typeof TRUCKS_DICT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type TrucksDictActionT =\n    | FetchTrucksDictActionT\n    | FetchTrucksDictBeginActionT\n    | FetchTrucksDictSuccessActionT\n    | FetchTrucksDictErrorActionT;\n\nexport type TrucksDictStateT = {\n    trucksDict: TrucksDictT | null;\n    trucksDictRequest: RequestStatusT;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"ModalContent__modal___YMwqN\",\"appearModal\":\"ModalContent__appearModal___V71mP\",\"inner\":\"ModalContent__inner___ybuKE\",\"appearInner\":\"ModalContent__appearInner___ksOgW\",\"fadeIn\":\"ModalContent__fadeIn___CPy1P\",\"blinking\":\"ModalContent__blinking___GHH5c\"};","// extracted by mini-css-extract-plugin\nexport default {\"action\":\"ExpireDateCell__action___ZNG1W\",\"date\":\"ExpireDateCell__date___V74qa\",\"without-expiry\":\"ExpireDateCell__without-expiry___hLmJ0\",\"fadeIn\":\"ExpireDateCell__fadeIn___ckf3C\",\"blinking\":\"ExpireDateCell__blinking___kTMgQ\"};","import { TFunction } from 'i18next';\n\nimport {\n    FieldsEnum,\n    FormErrorsT,\n    RouteDetailsFormValuesT,\n    PointContactsFieldsEnum,\n    requiredContactsStopTypeSet,\n} from './constants';\nimport { checkEmail, checkPhoneNumber } from 'common/utils/form-validators';\nimport { checkIsEmptyPhoneNumber } from 'common/utils/phone-number';\nimport keys from 'lodash/keys';\nimport set from 'lodash/set';\nimport { DeadheadRouteStopT } from 'broker-admin/store/deadhead-creation/models';\n\nconst POINT_CONTACTS_EMAILS_FIELDS = [PointContactsFieldsEnum.email] as const;\n\nconst POINT_CONTACTS_PHONE_FIELDS = [PointContactsFieldsEnum.phoneNumber] as const;\n\ntype MetaT = {\n    stops?: Array<DeadheadRouteStopT>;\n};\n\nconst validate = (t: TFunction, values: RouteDetailsFormValuesT, meta: MetaT): FormErrorsT => {\n    const errors: FormErrorsT = {};\n\n    const contactsFormValues = values[FieldsEnum.contacts];\n    contactsFormValues.forEach((contactFormValues, index) => {\n        const stop = meta?.stops?.[index] || null;\n        const isRequiredContacts = stop?.type ? requiredContactsStopTypeSet.has(stop.type) : false;\n        if (!isRequiredContacts) {\n            return;\n        }\n\n        const contactFormErrors: NonNullable<FormErrorsT[FieldsEnum.contacts]>[number] = {\n            ...checkEmail(t, POINT_CONTACTS_EMAILS_FIELDS, contactFormValues),\n            ...checkPhoneNumber(t, POINT_CONTACTS_PHONE_FIELDS, contactFormValues),\n        };\n\n        const unDetailedAddressError = t('common:new-order-form.errors.undetailed-address');\n        const isUnDetailedAddress = !stop?.address?.street1;\n        if (isUnDetailedAddress && !contactFormValues[PointContactsFieldsEnum.fullName]) {\n            contactFormErrors[PointContactsFieldsEnum.fullName] = unDetailedAddressError;\n        }\n\n        if (isUnDetailedAddress && checkIsEmptyPhoneNumber(contactFormValues[PointContactsFieldsEnum.phoneNumber])) {\n            contactFormErrors[PointContactsFieldsEnum.phoneNumber] = unDetailedAddressError;\n        }\n\n        keys(contactFormErrors).forEach((fieldName) => {\n            set(\n                errors,\n                `${FieldsEnum.contacts}.${index}.${fieldName}`,\n                contactFormErrors[fieldName as PointContactsFieldsEnum],\n            );\n        });\n    });\n\n    return errors;\n};\n\nexport default validate;\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\nimport { PriceRuleTypeEnum } from 'common/utils/api/models';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.date,\n    FieldsEnum.ruleType,\n    FieldsEnum.dictTrailerId,\n    FieldsEnum.countryFrom,\n    FieldsEnum.countryTo,\n];\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    const ruleType = values[FieldsEnum.ruleType];\n\n    if (ruleType === PriceRuleTypeEnum.carrier) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.carrierId], values),\n        };\n    }\n\n    if (ruleType === PriceRuleTypeEnum.shipper) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.shipperId], values),\n        };\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import { put, takeEvery, select } from 'redux-saga/effects';\n\nimport { FETCH_DRIVERS_REQUEST, FetchDriversActionT } from './types';\nimport { fetchDriversBegin, fetchDriversError, fetchDriversSuccess } from './actions';\nimport { selectSearchDriverQuery } from './selectors';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\n\nfunction* fetchDriversSaga(action: FetchDriversActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    const prevQuery: ReturnType<typeof selectSearchDriverQuery> = yield select(selectSearchDriverQuery);\n    if (checkIsSameQuery(prevQuery, action.query)) {\n        return;\n    }\n\n    yield put(fetchDriversBegin(query));\n\n    let response: ReturnApiT<typeof carrierTranziitApi.searchDriver | typeof brokerTranziitApi.searchDriver>;\n    if (query?.partnerId && !checkIsDefaultCompanyId(query.partnerId)) {\n        response = yield brokerTranziitApi.searchDriver(query?.partnerId, {\n            name: query?.name,\n            page: 0,\n        });\n    } else {\n        response = yield carrierTranziitApi.searchDriver({\n            name: query?.name,\n            page: 0,\n        });\n    }\n    const [error, driversPage] = response;\n\n    if (error) {\n        yield put(fetchDriversError(query, error));\n        return;\n    }\n\n    const drivers = driversPage?.content || [];\n\n    yield put(fetchDriversSuccess(query, drivers));\n}\n\nfunction* driverSearchSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_DRIVERS_REQUEST, fetchDriversSaga);\n}\n\nexport default driverSearchSaga;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_PARTNERS_STATS_REQUEST, FetchPartnersStatsActionT } from './types';\nimport { createPartnerRequestError, fetchPartnersStatsBegin, fetchPartnersStatsSuccess } from './actions';\n\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectPartnersStatsRequest } from 'broker-admin/store/partners-stats/selectors';\n\nfunction* fetchPartnersStatsSaga(actions: FetchPartnersStatsActionT): WrapGeneratorT<void> {\n    const { options } = actions;\n\n    const requestStatus: ReturnType<typeof selectPartnersStatsRequest> = yield select(selectPartnersStatsRequest);\n    const isNeedRequest = checkNeedRequest(requestStatus, options);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchPartnersStatsBegin());\n\n    const [error, stat]: ReturnApiT<typeof brokerTranziitApi.fetchPartnersStatistics> =\n        yield brokerTranziitApi.fetchPartnersStatistics();\n    if (error) {\n        yield put(createPartnerRequestError(error));\n        return;\n    }\n\n    const shippersStat = stat?.find((item) => item.type === 'SHIPPER');\n    const carrierStat = stat?.find((item) => item.type === 'CARRIER');\n    const brokerStat = stat?.find((item) => item.type === 'BROKER');\n\n    yield put(\n        fetchPartnersStatsSuccess({\n            [PartnerTypeEnum.carrier]: carrierStat,\n            [PartnerTypeEnum.shipper]: shippersStat,\n            [PartnerTypeEnum.broker]: brokerStat,\n        }),\n    );\n}\n\nfunction* partnersSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_PARTNERS_STATS_REQUEST, fetchPartnersStatsSaga);\n}\n\nexport default partnersSaga;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './CarrierDropdown.scss';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport CarrierWithUtilizationDropdownOption from './CarrierWithUtilizationDropdownOption/CarrierWithUtilizationDropdownOption';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAvailableCarriers,\n    selectAvailableCarriersRequest,\n} from 'broker-admin/store/broker-order-assigment/selectors';\nimport { isNonNil } from 'common/utils';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport { ALL_CARRIERS_ID } from 'common/constants';\nimport isEmpty from 'lodash/isEmpty';\nimport { fetchCarrierUtilization } from 'common/store/carriers-utilization/actions';\nimport { selectCarriersUtilizationByHash, selectFetchRequestStatus } from 'common/store/carriers-utilization/selectors';\nimport { getHash } from 'common/store/carriers-utilization/utils';\nimport { useTranslation } from 'react-i18next';\nimport { prepareSearchQuery } from 'common/utils/search';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    dateForUtilizationRequest: string | null;\n    carrierId: CarrierIdT;\n    setCarrierId: (carrierId: CarrierIdT) => void;\n};\n\nexport type CarrierOptionT = {\n    name: string;\n    utilizationPercent: number | null;\n    id: CarrierIdT;\n    isLoading: boolean;\n};\n\nconst CarrierDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { className, dateForUtilizationRequest, carrierId, setCarrierId } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const carriersRequestStatus = useSelector(selectAvailableCarriersRequest);\n    const carriers = useSelector(selectAvailableCarriers);\n\n    React.useEffect(() => {\n        const carrierIds = carriers.map((carrier) => carrier.id).filter(isNonNil);\n        if (isEmpty(carrierIds) || !dateForUtilizationRequest) {\n            return;\n        }\n\n        dispatch(fetchCarrierUtilization(carrierIds, dateForUtilizationRequest));\n    }, [dispatch, carriers, dateForUtilizationRequest]);\n\n    const carriersUtilizationByHash = useSelector(selectCarriersUtilizationByHash);\n    const carriersUtilizationFetchRequest = useSelector(selectFetchRequestStatus);\n\n    const carriersOptions: CarrierOptionT[] = React.useMemo(() => {\n        const options: CarrierOptionT[] = carriers\n            .map((carrier) => {\n                if (!carrier.id || !dateForUtilizationRequest) {\n                    return null;\n                }\n\n                const hash = getHash(carrier.id, dateForUtilizationRequest);\n                const carrierUtilization = carriersUtilizationByHash[hash];\n                return {\n                    name: carrier.name || '',\n                    utilizationPercent: carrierUtilization ? carrierUtilization.utilizationPercents : null,\n                    id: carrier.id,\n                    isLoading: !carrierUtilization?.utilizationPercents && carriersUtilizationFetchRequest.loading,\n                };\n            })\n            .filter(isNonNil);\n\n        const allCarriersOption: CarrierOptionT = {\n            name: t('assignment.search-form.all-carriers'),\n            utilizationPercent: null,\n            id: ALL_CARRIERS_ID,\n            isLoading: false,\n        };\n\n        options.unshift(allCarriersOption);\n\n        return options;\n    }, [carriers, carriersUtilizationFetchRequest, carriersUtilizationByHash, dateForUtilizationRequest, t]);\n\n    const [query, setQuery] = React.useState<string>('');\n\n    const filteredCarriersOptions = React.useMemo(() => {\n        const preparedQuery = prepareSearchQuery(query);\n        return carriersOptions.filter((option) => {\n            const label = option?.name || '';\n            const preparedLabel = prepareSearchQuery(label);\n\n            return preparedLabel.includes(preparedQuery);\n        });\n    }, [carriersOptions, query]);\n\n    return (\n        <DropdownSearchInput<CarrierOptionT, CarrierOptionT['id']>\n            className={className}\n            selectedValue={carrierId}\n            options={filteredCarriersOptions}\n            onSelect={setCarrierId}\n            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n            renderOption={(option) => {\n                return (\n                    <CarrierWithUtilizationDropdownOption\n                        name={option.name}\n                        isLoading={option.isLoading}\n                        utilizationPercent={option.utilizationPercent}\n                    />\n                );\n            }}\n            renderTrigger={(option, placeholder) => {\n                if (!option) {\n                    return <span>{placeholder}</span>;\n                }\n\n                return (\n                    <CarrierWithUtilizationDropdownOption\n                        name={option.name}\n                        isLoading={option.isLoading}\n                        utilizationPercent={option.utilizationPercent}\n                    />\n                );\n            }}\n            renderRightIcon={() =>\n                carriersRequestStatus.loading ? (\n                    <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} />\n                ) : null\n            }\n            onChangeQuery={setQuery}\n            getOptionValue={(option) => option?.id}\n        />\n    );\n});\n\nexport default CarrierDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerMembersPage__fadeIn___GOzmL\",\"blinking\":\"PartnerMembersPage__blinking___uxC6h\"};","import { FieldsEnum, FormValuesT } from './constants';\nimport {\n    BooleanSettingValueEnum,\n    SystemSettingsChangesT,\n} from 'broker-admin/store/price-settings/system-settings/models';\n\nconst prepareApiSystemSettings = (formValues: FormValuesT): SystemSettingsChangesT => {\n    return {\n        AUTO_EXCLUDE_NON_EU_COUNTRIES: formValues[FieldsEnum.autoExcludeNonEUCountries]\n            ? BooleanSettingValueEnum.true\n            : BooleanSettingValueEnum.false,\n    };\n};\n\nexport default prepareApiSystemSettings;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './Toast.scss';\nimport { MS_IN_SEC } from 'common/utils/time';\n\nconst cx = classNames.bind(styles);\n\ntype CloseCallbackT = () => void;\n\nexport type PropsT = {\n    onClose: CloseCallbackT;\n    testSelector?: string;\n    className?: string;\n    ttlMs?: number;\n    children: (onClose: CloseCallbackT) => React.ReactNode;\n};\n\nconst TTL_MS = 10 * MS_IN_SEC;\n\nconst ANIMATION_DURATION = 300;\n\ntype TimerT = {\n    startTimer: number | null;\n    timeoutId: NodeJS.Timeout | null;\n    lost: number | null;\n};\n\nconst Toast: React.FC<PropsT> = React.memo((props) => {\n    const { testSelector, className, onClose, children } = props;\n\n    // NB: static ttl, not change on render\n    const ttlMs = props.ttlMs || TTL_MS;\n\n    const [isShow, setShow] = React.useState<boolean>(false);\n    const handleClose = (): void => {\n        setShow(false);\n\n        setTimeout(() => {\n            onClose();\n        }, ANIMATION_DURATION);\n    };\n\n    const closeTimerRef = React.useRef<TimerT>({\n        startTimer: null,\n        timeoutId: null,\n        lost: null,\n    });\n\n    React.useEffect(() => {\n        const timeoutId = setTimeout(() => {\n            handleClose();\n        }, ttlMs);\n\n        closeTimerRef.current = {\n            startTimer: Date.now(),\n            timeoutId,\n            lost: ttlMs,\n        };\n\n        return () => {\n            if (timeoutId) {\n                clearTimeout(timeoutId);\n            }\n\n            closeTimerRef.current = {\n                startTimer: null,\n                timeoutId: null,\n                lost: null,\n            };\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const handleMouseLeave = () => {\n        const lost = closeTimerRef.current.lost || ttlMs;\n\n        const timeoutId = setTimeout(() => {\n            handleClose();\n        }, lost);\n\n        closeTimerRef.current = {\n            timeoutId,\n            startTimer: Date.now(),\n            lost,\n        };\n    };\n\n    const handleMouseMove = (): void => {\n        const closeTimer = closeTimerRef.current;\n        if (!closeTimer.timeoutId || !closeTimer.startTimer || !closeTimer.lost) {\n            return;\n        }\n\n        clearTimeout(closeTimer.timeoutId);\n\n        const lost = closeTimer.lost - (Date.now() - closeTimer.startTimer);\n        const lostLimit = ttlMs / 2;\n\n        closeTimerRef.current = {\n            timeoutId: null,\n            startTimer: null,\n            lost: Math.max(lost, lostLimit),\n        };\n    };\n\n    React.useEffect(() => {\n        setTimeout(() => {\n            setShow(true);\n        }, 0);\n    }, []);\n\n    return (\n        <div\n            className={cs(\n                cx('toast', {\n                    'toast--is-show': isShow,\n                }),\n                className,\n            )}\n            onMouseMove={handleMouseMove}\n            onMouseLeave={handleMouseLeave}\n            data-test-selector={testSelector}\n        >\n            {children(handleClose)}\n        </div>\n    );\n});\n\nexport default Toast;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"FormTitle__content___lksHN\",\"column--isLeft\":\"FormTitle__column--isLeft___ftIgU\",\"close\":\"FormTitle__close___MfR2o\",\"title\":\"FormTitle__title___nE8Qj\",\"progress\":\"FormTitle__progress___jnEMx\",\"progress__bar\":\"FormTitle__progress__bar___kuaX1\",\"progress__title\":\"FormTitle__progress__title____d5pr\",\"fadeIn\":\"FormTitle__fadeIn___zlwWS\",\"blinking\":\"FormTitle__blinking___mvWxK\"};","import { OverwritePageRequestT, OverwritePageRequestWithSortT } from 'common/utils/api/models';\nimport BaseTranziitApi, { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport { MS_IN_MIN } from 'common/utils/time';\n\nclass CarrierTranziitApi extends BaseTranziitApi {\n    private static instance: CarrierTranziitApi;\n\n    private constructor() {\n        super(authApi, {\n            basepath: '/api',\n            timeout: MS_IN_MIN,\n        });\n    }\n\n    public static getInstance(): CarrierTranziitApi {\n        if (!CarrierTranziitApi.instance) {\n            CarrierTranziitApi.instance = new CarrierTranziitApi();\n        }\n\n        return CarrierTranziitApi.instance;\n    }\n\n    fetchAssetTracksByTransportOrder = async (\n        transportationOrderId: Api2Paths.ApiV2CarrierTransportationOrders$TransportationOrderIdAssetsCoordinates.Get.Parameters.TransportationOrderId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2CarrierTransportationOrders$TransportationOrderIdAssetsCoordinates.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTransportationOrders$TransportationOrderIdAssetsCoordinates.Get.Responses.$200>(\n            {\n                method: 'GET',\n                path: `/v2/carrier/transportation-orders/${transportationOrderId}/assets-coordinates`,\n                expectedResponseContentType: 'json',\n            },\n        );\n    };\n\n    fetchTransportOrdersPage = async (\n        apiFetchOrdersRequest: OverwritePageRequestWithSortT<Api2Paths.ApiV2CarrierTransportationOrders.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTransportationOrders.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTransportationOrders.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/transportation-orders`,\n            query: apiFetchOrdersRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrailersPage = async (\n        apiFetchTrailersRequest: OverwritePageRequestWithSortT<Api2Paths.ApiV2CarrierTrailers.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailers.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/trailers`,\n            query: apiFetchTrailersRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    addTrailer = async (\n        data: Api2Paths.ApiV2CarrierTrailers.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailers.Post.Responses.$201>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailers.Post.Responses.$201>({\n            method: 'POST',\n            path: '/v2/carrier/trailers',\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    deleteTrailer = async (\n        trailerId: Api2Paths.ApiV2CarrierTrailers$Id.Delete.Parameters.Id,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailers$Id.Delete.Responses.$204>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailers$Id.Delete.Responses.$204>({\n            method: 'DELETE',\n            path: `/v2/carrier/trailers/${trailerId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    assignTruckToContract = async (\n        data: Partial<Api2Paths.ApiV2CarrierTrucksChangeContract.Post.RequestBody>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksChangeContract.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksChangeContract.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/carrier/trucks/change-contract`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    assignTrailersToContract = async (\n        data: Api2Paths.ApiV2CarrierTrailersChangeContract.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersChangeContract.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersChangeContract.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v2/carrier/trailers/change-contract',\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    changeRateTrucks = async (\n        data: Partial<Api2Paths.ApiV2CarrierTrucksChangeRate.Post.RequestBody>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksChangeRate.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksChangeRate.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/carrier/trucks/change-rate`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    changeRateTrailers = async (\n        data: Api2Paths.ApiV2CarrierTrailersChangeRate.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersChangeRate.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersChangeRate.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v2/carrier/trailers/change-rate',\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    activateTrailers = async (\n        data: Api2Paths.ApiV2CarrierTrailersActivate.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersActivate.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersActivate.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/carrier/trailers/activate`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    archiveTrailers = async (\n        data: Api2Paths.ApiV2CarrierTrailersArchive.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersArchive.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersArchive.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/carrier/trailers/archive`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrailerDetails = async (\n        trailerId: Api2Paths.ApiV2CarrierTrailers$Id.Get.Parameters.Id,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailers$Id.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailers$Id.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/trailers/${trailerId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrailersActiveFleetCount = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersActiveFleetCount.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersActiveFleetCount.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/trailers/active-fleet-count`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateTrailer = async (\n        trailerId: Api2Paths.ApiV2CarrierTrailers$Id.Put.Parameters.Id,\n        data: Api2Paths.ApiV2CarrierTrailers$Id.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailers$Id.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailers$Id.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/carrier/trailers/${trailerId}`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchActiveTrucksByIdPlateNumber = async (\n        plateNumber: Api2Paths.ApiV2CarrierTrucks.Get.Parameters.PlateNumber,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucks.Get.Responses.$200>> => {\n        const apiFetchTrucksRequest: Api2Paths.ApiV2CarrierTrucks.Get.QueryParameters = {\n            plateNumber,\n            archived: false,\n        };\n\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucks.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/trucks`,\n            query: apiFetchTrucksRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrucksPage = async (\n        apiFetchTrucksRequest: OverwritePageRequestWithSortT<Api2Paths.ApiV2CarrierTrucks.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucks.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucks.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/trucks`,\n            query: apiFetchTrucksRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    addTruck = async (\n        data: Api2Paths.ApiV2CarrierTrucks.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucks.Post.Responses.$201>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucks.Post.Responses.$201>({\n            method: 'POST',\n            path: '/v2/carrier/trucks',\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    activateTrucks = async (\n        data: Api2Paths.ApiV2CarrierTrucksActivate.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksActivate.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksActivate.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/carrier/trucks/activate`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateTruck = async (\n        truckId: Api2Paths.ApiV2CarrierTrucks$Id.Put.Parameters.Id,\n        data: Api2Paths.ApiV2CarrierTrucks$Id.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucks$Id.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucks$Id.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/carrier/trucks/${truckId}`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    archiveTrucks = async (\n        data: Api2Paths.ApiV2CarrierTrucksArchive.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksArchive.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksArchive.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/carrier/trucks/archive`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTruckDetails = async (\n        truckId: Api2Paths.ApiV2CarrierTrucks$Id.Get.Parameters.Id,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucks$Id.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucks$Id.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/trucks/${truckId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrucksActiveFleetCount = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksActiveFleetCount.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksActiveFleetCount.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/trucks/active-fleet-count`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deleteTruck = async (\n        truckId: Api2Paths.ApiV2CarrierTrucks$Id.Delete.Parameters.Id,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucks$Id.Delete.Responses.$204>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucks$Id.Delete.Responses.$204>({\n            method: 'DELETE',\n            path: `/v2/carrier/trucks/${truckId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    getAvailableDrivers = async (\n        transportationOrderId: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdDrivers.Get.Parameters.TransportationOrderId,\n        driverName: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdDrivers.Get.Parameters.DriverName,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdDrivers.Get.Responses.$200>\n    > => {\n        const query: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdDrivers.Get.QueryParameters = {\n            driverName,\n        };\n\n        return this.doFetch<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdDrivers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/carrier/transportationOrder/${transportationOrderId}/drivers`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    assignDrivers = async (\n        transportationOrderId: ApiPaths.ApiV1CarrierTransportationOrder$TransportationOrderIdAssignDrivers.Post.Parameters.TransportationOrderId,\n        query: ApiPaths.ApiV1CarrierTransportationOrder$TransportationOrderIdAssignDrivers.Post.QueryParameters,\n    ): Promise<\n        TranziitApiResultT<ApiPaths.ApiV1CarrierTransportationOrder$TransportationOrderIdAssignDrivers.Post.Responses.$200>\n    > => {\n        return this.doFetch<ApiPaths.ApiV1CarrierTransportationOrder$TransportationOrderIdAssignDrivers.Post.Responses.$200>(\n            {\n                method: 'POST',\n                path: `/v1/carrier/transportationOrder/${transportationOrderId}/assign-drivers`,\n                query,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    reAssignDrivers = async (\n        transportationOrderId: ApiPaths.ApiV1CarrierTransportationOrder$TransportationOrderIdRemoveDrivers.Post.Parameters.TransportationOrderId,\n    ): Promise<\n        TranziitApiResultT<ApiPaths.ApiV1CarrierTransportationOrder$TransportationOrderIdRemoveDrivers.Post.Responses.$200>\n    > => {\n        return this.doFetch<ApiPaths.ApiV1CarrierTransportationOrder$TransportationOrderIdRemoveDrivers.Post.Responses.$200>(\n            {\n                method: 'POST',\n                path: `/v1/carrier/transportationOrder/${transportationOrderId}/remove-drivers`,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    fetchCarrierContracts = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1CompanyCarrierContracts.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1CompanyCarrierContracts.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/carrier-contracts`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCarrierApprovedContracts = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1CompanyApprovedCarrierContracts.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1CompanyApprovedCarrierContracts.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/approved-carrier-contracts`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCarrierContractDetails = async (\n        contractId: Api2Paths.ApiV1CompanyCarrierContracts$ContractId.Get.Parameters.ContractId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1CompanyCarrierContracts$ContractId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1CompanyCarrierContracts$ContractId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/carrier-contracts/${contractId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getTransportOrderDetails = async (\n        transportationOrderId: Api2Paths.ApiV2CarrierTransportationOrders$TransportationOrderId.Get.Parameters.TransportationOrderId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2CarrierTransportationOrders$TransportationOrderId.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTransportationOrders$TransportationOrderId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/transportation-orders/${transportationOrderId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchDriverDetails = async (\n        driverId: Api2Paths.ApiV2CarrierDrivers$DriverId.Get.Parameters.DriverId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierDrivers$DriverId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierDrivers$DriverId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/drivers/${driverId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateDriver = async (\n        driverId: Api2Paths.ApiV2CarrierDrivers$DriverIdUpdate.Post.Parameters.DriverId,\n        newDriverData: Api2Paths.ApiV2CarrierDrivers$DriverIdUpdate.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierDrivers$DriverIdUpdate.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierDrivers$DriverIdUpdate.Post.Responses.$200>({\n            data: newDriverData,\n            method: 'POST',\n            path: `/v2/carrier/drivers/${driverId}/update`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    activateDriver = async (\n        driverId: Api2Paths.ApiV2CarrierDrivers$DriverIdActivate.Post.Parameters.DriverId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierDrivers$DriverIdActivate.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierDrivers$DriverIdActivate.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/carrier/drivers/${driverId}/activate`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    archiveDriver = async (\n        driverId: Api2Paths.ApiV2CarrierDrivers$DriverIdArchive.Post.Parameters.DriverId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierDrivers$DriverIdArchive.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierDrivers$DriverIdArchive.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/carrier/drivers/${driverId}/archive`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    deleteDriver = async (\n        driverId: Api2Paths.ApiV2CarrierDrivers$DriverIdDelete.Delete.Parameters.DriverId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierDrivers$DriverIdDelete.Delete.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierDrivers$DriverIdDelete.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v2/carrier/drivers/${driverId}/delete`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    inviteDriver = async (\n        data: Api2Paths.ApiV2RegistrationInviteDriver.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2RegistrationInviteDriver.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2RegistrationInviteDriver.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v2/registration/invite-driver',\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    addDriver = async (\n        data: Api2Paths.ApiV2CarrierDriversAddDriver.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierDriversAddDriver.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierDriversAddDriver.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v2/carrier/drivers/add-driver',\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchVehicleSchedule = async (\n        vehicleId: ApiPaths.ApiV2CarrierVehiclescheduleVehicle$VehicleId.Get.Parameters.VehicleId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV2CarrierVehiclescheduleVehicle$VehicleId.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV2CarrierVehiclescheduleVehicle$VehicleId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/vehicleschedule/vehicle/${vehicleId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    // kekw change method\n    fetchVehicleScheduleAroundDate = async (\n        vehicleId: ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.Parameters.VehicleId,\n        date: ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.Parameters.DateOfInterest,\n    ): Promise<\n        TranziitApiResultT<ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.Responses.$200>\n    > => {\n        const query: ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.QueryParameters = {\n            dateOfInterest: date,\n        };\n\n        return this.doFetch<ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/vehicleschedule/vehicle/${vehicleId}/around-date`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchDriversPage = async (\n        query: OverwritePageRequestT<Api2Paths.ApiV2CarrierDrivers.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierDrivers.Get.Responses.$200>> => {\n        // conflict statuses in filters\n        if (query.statuses?.length === 0) {\n            return [null, { content: [] }];\n        }\n\n        return this.doFetch<Api2Paths.ApiV2CarrierDrivers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/drivers`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    searchDriver = async (\n        query: OverwritePageRequestT<Api2Paths.ApiV2CarrierDrivers.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierDrivers.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierDrivers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/carrier/drivers`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    checkTrailerGPSStatus = async (\n        plateNumber: Api2Paths.ApiV2CarrierTrailersHasGps.Get.Parameters.PlateNumber,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersHasGps.Get.Responses.$200>> => {\n        const query: Api2Paths.ApiV2CarrierTrailersHasGps.Get.QueryParameters = {\n            plateNumber,\n        };\n\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersHasGps.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v2/carrier/trailers/has-gps',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    checkTruckGPSStatus = async (\n        plateNumber: Api2Paths.ApiV2CarrierTrucksHasGps.Get.Parameters.PlateNumber,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksHasGps.Get.Responses.$200>> => {\n        const query: Api2Paths.ApiV2CarrierTrucksHasGps.Get.QueryParameters = {\n            plateNumber,\n        };\n\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksHasGps.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v2/carrier/trucks/has-gps',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    addVehicleScheduleEvent = async (\n        data: ApiPaths.ApiV2CarrierVehiclescheduleVehicle.Post.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV2CarrierVehiclescheduleVehicle.Post.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV2CarrierVehiclescheduleVehicle.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v2/carrier/vehicleschedule/vehicle',\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    cancelVehicleScheduleEvent = async (data: any): Promise<TranziitApiResultT<any>> => {\n        // TODO wait backend api\n        await new Promise<void>((resolve) => {\n            setTimeout(() => {\n                resolve();\n            }, 1000);\n        });\n        return Promise.resolve([null, null]);\n    };\n\n    findTrucksForTourByPlateNumber = async (\n        transportationOrderId: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdTrucks.Get.Parameters.TransportationOrderId,\n        query: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdTrucks.Get.QueryParameters,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdTrucks.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdTrucks.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/carrier/transportationOrder/${transportationOrderId}/trucks`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    findTrailersForTourByPlateNumber = async (\n        transportationOrderId: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdTrailers.Get.Parameters.TransportationOrderId,\n        query: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdTrailers.Get.QueryParameters,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdTrailers.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdTrailers.Get.Responses.$200>(\n            {\n                method: 'GET',\n                path: `/v1/carrier/transportationOrder/${transportationOrderId}/trailers`,\n                query,\n                expectedResponseContentType: 'json',\n            },\n        );\n    };\n\n    assignVehiclesToTransportOrder = async (\n        transportationOrderId: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdAssignAssets.Post.Parameters.TransportationOrderId,\n        query: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdAssignAssets.Post.QueryParameters,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdAssignAssets.Post.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdAssignAssets.Post.Responses.$200>(\n            {\n                method: 'POST',\n                path: `/v1/carrier/transportationOrder/${transportationOrderId}/assign-assets`,\n                query,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    unAssignVehicles = async (\n        transportationOrderId: Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdUnassignAssets.Post.Parameters.TransportationOrderId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdUnassignAssets.Post.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1CarrierTransportationOrder$TransportationOrderIdUnassignAssets.Post.Responses.$200>(\n            {\n                method: 'POST',\n                path: `/v1/carrier/transportationOrder/${transportationOrderId}/unassign-assets`,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    fetchCarrierContract = async (\n        contractId: Api2Paths.ApiV1CompanyCarrierContracts$ContractIdSourceFile.Get.Parameters.ContractId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1CompanyCarrierContracts$ContractIdSourceFile.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1CompanyCarrierContracts$ContractIdSourceFile.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/carrier-contracts/${contractId}/source-file`,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    uploadCarrierContract = async (\n        file: File,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1CompanyCarrierContracts.Post.Responses.$200>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<Api2Paths.ApiV1CompanyCarrierContracts.Post.Responses.$200>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            method: 'POST',\n            path: `/v1/company/carrier-contracts`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    importXLSTrailers = async (\n        file: File,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersImport.Post.Responses.$201>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersImport.Post.Responses.$201>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            method: 'POST',\n            path: `/v2/carrier/trailers/import`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    importXLSTrucks = async (\n        file: File,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksImport.Post.Responses.$201>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksImport.Post.Responses.$201>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            method: 'POST',\n            path: `/v2/carrier/trucks/import`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    exportXLSTrailers = async (\n        query: Api2Paths.ApiV2CarrierTrailersExport.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersExport.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersExport.Get.Responses.$200>({\n            method: 'GET',\n            query,\n            path: `/v2/carrier/trailers/export`,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    exportXLSTrucks = async (\n        query: Api2Paths.ApiV2CarrierTrucksExport.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksExport.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksExport.Get.Responses.$200>({\n            method: 'GET',\n            query,\n            path: `/v2/carrier/trucks/export`,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    attachPaperToShipment = async (\n        shipmentId: Api2Paths.ApiV1CarrierAttachedPapersShipment$ShipmentId.Post.Parameters.ShipmentId,\n        query: Api2Paths.ApiV1CarrierAttachedPapersShipment$ShipmentId.Post.QueryParameters,\n        data: Api2Paths.ApiV1CarrierAttachedPapersShipment$ShipmentId.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1CarrierAttachedPapersShipment$ShipmentId.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1CarrierAttachedPapersShipment$ShipmentId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/carrier/attached-papers/shipment/${shipmentId}`,\n            query,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    attachPaperToTour = async (\n        tourId: Api2Paths.ApiV1CarrierAttachedPapersTour$TourId.Post.Parameters.TourId,\n        query: Api2Paths.ApiV1CarrierAttachedPapersTour$TourId.Post.QueryParameters,\n        data: Api2Paths.ApiV1CarrierAttachedPapersTour$TourId.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1CarrierAttachedPapersTour$TourId.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1CarrierAttachedPapersTour$TourId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/carrier/attached-papers/tour/${tourId}`,\n            query,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deleteAttachedPaper = async (\n        paperId: Api2Paths.ApiV1CarrierAttachedPapers$PaperIdDelete.Delete.Parameters.PaperId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1CarrierAttachedPapers$PaperIdDelete.Delete.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1CarrierAttachedPapers$PaperIdDelete.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v1/carrier/attached-papers/${paperId}/delete`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n}\n\nconst carrierTranziitApi = CarrierTranziitApi.getInstance();\n\nexport default carrierTranziitApi;\n","import { logWarning } from 'common/utils/logger';\n\ntype FeatureT = string;\ntype ParsedFeaturesConfigT = Set<FeatureT>;\n\nconst SEPARATOR = ',';\n\nconst parseFeaturesConfig = (stringifiedConfig: string | null | undefined): ParsedFeaturesConfigT => {\n    if (!stringifiedConfig) {\n        return new Set([]);\n    }\n\n    try {\n        return new Set(stringifiedConfig.split(SEPARATOR));\n    } catch (error) {\n        logWarning(error?.message);\n\n        return new Set([]);\n    }\n};\n\nexport enum ServerFeatureEnum {\n    spot = 'spot',\n}\n\nconst ALLOWED_FEATURES_SET = parseFeaturesConfig(window.ALLOWED_FEATURES);\nconst DEFAULT_ALLOWED_FEATURES_SET = new Set<ServerFeatureEnum>([ServerFeatureEnum.spot]);\n\nconst DISABLED_FEATURES_SET = parseFeaturesConfig(window.DISABLED_FEATURES);\nconst DEFAULT_DISABLED_FEATURES_SET = new Set<ServerFeatureEnum>([]);\n\nexport const checkActiveFeature = (feature: ServerFeatureEnum): boolean => {\n    const isAllowed = ALLOWED_FEATURES_SET.has(feature) || DEFAULT_ALLOWED_FEATURES_SET.has(feature);\n    const isDisabled = DISABLED_FEATURES_SET.has(feature) || DEFAULT_DISABLED_FEATURES_SET.has(feature);\n\n    return isAllowed && !isDisabled;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"contract-name\":\"ContractName__contract-name___TLkOK\",\"fadeIn\":\"ContractName__fadeIn___CRY0A\",\"blinking\":\"ContractName__blinking___sw75i\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './StartEditTimeWindowsFooter.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport TimeLeftForStart from 'common/layouts/sidebar-footers/TimeLeftForStart/TimeLeftForStart';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { ApiBrokerCommonTourDetailsT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    tour: ApiBrokerCommonTourDetailsT | null;\n    onStartEditTimeWindows: () => void;\n    isDisableAnyActions: boolean;\n};\n\nconst StartEditTimeWindowsFooter: React.FC<PropsT> = React.memo((props) => {\n    const { tour, onStartEditTimeWindows, isDisableAnyActions } = props;\n\n    const { t } = useTranslation();\n\n    if (!tour) {\n        return null;\n    }\n\n    const firstWaypoint = tour?.waypoints?.[0] || null;\n    const deadline = firstWaypoint?.correctedDateTimeFrom || firstWaypoint?.originalDateTimeFrom || null;\n\n    return (\n        <TimeLeftForStart\n            deadline={deadline}\n            alreadyStartedLabel={t('assignment.tour-already-started')}\n            deadlineLabel={t('assignment.to-assign')}\n            renderActions={(isDisabled) => (\n                <Button\n                    leftIcon={\n                        <TimeWindowIcon\n                            fillColor={StyleGuideColorsEnum.transparent}\n                            strokeColor={StyleGuideColorsEnum.white}\n                        />\n                    }\n                    theme={ButtonThemeEnum.primary}\n                    className={cx('action', 'action--start')}\n                    onClick={onStartEditTimeWindows}\n                    isDisabled={isDisabled || isDisableAnyActions}\n                >\n                    {t('broker-order-details.edit-time-windows.actions.specify-time-slots')}\n                </Button>\n            )}\n        />\n    );\n});\n\nexport default StartEditTimeWindowsFooter;\n","// extracted by mini-css-extract-plugin\nexport default {\"zone-title\":\"TimeWindowZoneText__zone-title___SyjHj\",\"content\":\"TimeWindowZoneText__content___xPWCv\",\"content__left-icon\":\"TimeWindowZoneText__content__left-icon___YU5pa\",\"content__content\":\"TimeWindowZoneText__content__content___trTYK\",\"text\":\"TimeWindowZoneText__text___humDi\",\"fadeIn\":\"TimeWindowZoneText__fadeIn___Or0yu\",\"blinking\":\"TimeWindowZoneText__blinking___H2GTG\"};","import { BrokerTeamStateT } from './slice';\nimport { StateT } from '../models';\n\nexport const selectBrokerTeamsPages = (state: StateT): BrokerTeamStateT['pages'] => state.brokerTeams.pages;\n\nexport const selectBrokerTeamsQuery = (state: StateT): BrokerTeamStateT['query'] => state.brokerTeams.query;\n\nexport const selectBrokerTeamsTotal = (state: StateT): BrokerTeamStateT['total'] => state.brokerTeams.total;\n\nexport const selectBrokerTeamsByIds = (state: StateT): BrokerTeamStateT['byId'] => state.brokerTeams.byId;\n","// extracted by mini-css-extract-plugin\nexport default {\"field--trailer-type\":\"ShipperContractLaneCreationForm__field--trailer-type___SPD15\",\"field--emission-class\":\"ShipperContractLaneCreationForm__field--emission-class___gSOdZ\",\"field--location\":\"ShipperContractLaneCreationForm__field--location___XWQRz\",\"field--radius\":\"ShipperContractLaneCreationForm__field--radius___YR1WF\",\"field--date\":\"ShipperContractLaneCreationForm__field--date___O7d7P\",\"field--limit\":\"ShipperContractLaneCreationForm__field--limit___f_TNF\",\"field--external-lane-id\":\"ShipperContractLaneCreationForm__field--external-lane-id___INLdJ\",\"calculate\":\"ShipperContractLaneCreationForm__calculate___E0W7H\",\"fadeIn\":\"ShipperContractLaneCreationForm__fadeIn___brFqP\",\"blinking\":\"ShipperContractLaneCreationForm__blinking___LmJx3\"};","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js!./override.css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js!./override.css\";\n       export default content && content.locals ? content.locals : undefined;\n","import { FetchBrokerOrdersPageQueryT } from 'broker-admin/store/broker-orders/models';\nimport { BrokerOrdersQuickFilterEnum, BrokerOrdersSortEnum } from 'common/utils/api/models';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\n\nconst getQueryFromQuickFilters = (quickFilter?: BrokerOrdersQuickFilterEnum): FetchBrokerOrdersPageQueryT => {\n    switch (quickFilter) {\n        case BrokerOrdersQuickFilterEnum.new: {\n            return {\n                statusBar: 'NEW',\n            };\n        }\n        case BrokerOrdersQuickFilterEnum.carrierUnassigned: {\n            return {\n                statusBar: 'UNASSIGNED',\n            };\n        }\n        case BrokerOrdersQuickFilterEnum.carrierAssigned: {\n            return {\n                statusBar: 'ASSIGNED',\n            };\n        }\n        case BrokerOrdersQuickFilterEnum.inTransit: {\n            return {\n                statusBar: 'IN_TRANSIT',\n            };\n        }\n        case BrokerOrdersQuickFilterEnum.delivered: {\n            return {\n                statusBar: 'DELIVERED',\n            };\n        }\n        case BrokerOrdersQuickFilterEnum.canceled: {\n            return {\n                statusBar: 'CANCELED',\n            };\n        }\n        default: {\n            return {};\n        }\n    }\n};\n\nconst formatSort = (sort: PageSortT<BrokerOrdersSortEnum> | null): FetchBrokerOrdersPageQueryT['sorts'] | null => {\n    switch (sort?.value) {\n        case BrokerOrdersSortEnum.dropOffDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'DESTINATION_DATE_ASC';\n            }\n            return 'DESTINATION_DATE_DESC';\n        }\n        case BrokerOrdersSortEnum.pickupDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'ORIGIN_DATE_ASC';\n            }\n            return 'ORIGIN_DATE_DESC';\n        }\n        case BrokerOrdersSortEnum.createdDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'CREATED_DATE_ASC';\n            }\n            return 'CREATED_DATE_DESC';\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<BrokerOrdersSortEnum> | null,\n): FetchBrokerOrdersPageQueryT => {\n    const dictTrailerId = queryFilters[QueryFiltersKeysEnum.dictTrailerId];\n\n    let hasSpotTransportationOrder: boolean | undefined =\n        queryFilters[QueryFiltersKeysEnum.spotTransportOrder] || undefined;\n    // WTF logic ?!?!?\n    if (queryFilters[QueryFiltersKeysEnum.contractedTransportOrder]) {\n        hasSpotTransportationOrder = false;\n    }\n\n    let hasSpotOrder: boolean | undefined = queryFilters[QueryFiltersKeysEnum.spotOrder] || undefined;\n    // WTF logic ?!?!?\n    if (queryFilters[QueryFiltersKeysEnum.contractedOrder]) {\n        hasSpotOrder = false;\n    }\n\n    const originAddress = queryFilters[QueryFiltersKeysEnum.originAddress];\n    const dropoffAddress = queryFilters[QueryFiltersKeysEnum.dropoffAddress];\n\n    const dropOffDateFrom = queryFilters[QueryFiltersKeysEnum.dropOffDateFrom];\n    const dropOffDateTo = queryFilters[QueryFiltersKeysEnum.dropOffDateTo];\n\n    const pickupDateFrom = queryFilters[QueryFiltersKeysEnum.pickupDateFrom];\n    const pickupDateTo = queryFilters[QueryFiltersKeysEnum.pickupDateTo];\n\n    const createdDateFrom = queryFilters[QueryFiltersKeysEnum.createdDateFrom];\n    const createdDateTo = queryFilters[QueryFiltersKeysEnum.createdDateTo];\n\n    const carrierId = queryFilters[QueryFiltersKeysEnum.carrierId];\n    const shipperId = queryFilters[QueryFiltersKeysEnum.shipperId];\n\n    const dispatcherId = queryFilters[QueryFiltersKeysEnum.dispatcherId];\n    const keyAccountManagerId = queryFilters[QueryFiltersKeysEnum.keyAccountManagerId];\n\n    const parsedDictTrailerId = typeof dictTrailerId === 'string' ? +dictTrailerId : null;\n\n    return {\n        originAddress: originAddress ? [originAddress] : undefined,\n        destinationAddress: dropoffAddress ? [dropoffAddress] : undefined,\n\n        destinationDateFrom: dropOffDateFrom || undefined,\n        destinationDateTo: dropOffDateTo || undefined,\n\n        originDateFrom: pickupDateFrom || undefined,\n        originDateTo: pickupDateTo || undefined,\n\n        createdDateFrom: createdDateFrom || undefined,\n        createdDateTo: createdDateTo || undefined,\n\n        paid: queryFilters[QueryFiltersKeysEnum.hasUnpaidOrders] ? false : undefined,\n\n        dictTrailerIds: typeof parsedDictTrailerId === 'number' ? [parsedDictTrailerId] : undefined,\n\n        carrierId: carrierId ? [carrierId] : undefined,\n        shipperId: shipperId ? [shipperId] : undefined,\n\n        dispatcherId: dispatcherId ? [dispatcherId] : undefined,\n        keyAccountManagerId: keyAccountManagerId ? [keyAccountManagerId] : undefined,\n\n        hasSpotTransportationOrder,\n        hasSpotOrder,\n\n        textSearch: queryFilters[QueryFiltersKeysEnum.searchText] || undefined,\n\n        runningOutOfTimeToAssignCarrier:\n            queryFilters[QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier] || undefined,\n        runOutOfTimeToAssignCarrier: queryFilters[QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier] || undefined,\n        runningOutOfTimeToAssignAssets: queryFilters[QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets] || undefined,\n        runOutOfTimeToAssignAssets: queryFilters[QueryFiltersKeysEnum.runOutOfTimeToAssignAssets] || undefined,\n        runningOutOfTimeToAssignDriver: queryFilters[QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver] || undefined,\n        runOutOfTimeToAssignDriver: queryFilters[QueryFiltersKeysEnum.runOutOfTimeToAssignDriver] || undefined,\n        delaying: queryFilters[QueryFiltersKeysEnum.tourDelaying] || undefined,\n        noShow: queryFilters[QueryFiltersKeysEnum.noShow] || undefined,\n        missed: queryFilters[QueryFiltersKeysEnum.shipmentMissed] || undefined,\n\n        ...getQueryFromQuickFilters(queryFilters[QueryFiltersKeysEnum.quickFilter]),\n\n        sorts: formatSort(sort) || undefined,\n    };\n};\n\nexport { prepareFetchPageQuery };\n","// extracted by mini-css-extract-plugin\nexport default {\"radio\":\"PositionOption__radio___yUsOW\",\"radio__label\":\"PositionOption__radio__label___KVxA9\",\"fadeIn\":\"PositionOption__fadeIn___oOuSc\",\"blinking\":\"PositionOption__blinking___xVN8v\"};","import {\n    ACTIVATE_DRIVER,\n    ActivateDriverActionT,\n    ARCHIVE_DRIVER,\n    ArchiveDriverActionT,\n    CANCEL_DRIVER_INVITE,\n    CancelDriverInviteActionT,\n    DELETE_DRIVER_REQUEST,\n    DELETE_DRIVER_REQUEST_BEGIN,\n    DELETE_DRIVER_REQUEST_ERROR,\n    DELETE_DRIVER_REQUEST_SUCCESS,\n    DeleteDriverActionT,\n    DeleteDriverBeginActionT,\n    DeleteDriverErrorActionT,\n    DeleteDriverSuccessActionT,\n    FETCH_DRIVER_DETAILS_REQUEST,\n    FETCH_DRIVER_DETAILS_REQUEST_BEGIN,\n    FETCH_DRIVER_DETAILS_REQUEST_ERROR,\n    FETCH_DRIVER_DETAILS_REQUEST_SUCCESS,\n    FETCH_DRIVERS_PAGE_REQUEST,\n    FETCH_DRIVERS_PAGE_REQUEST_BEGIN,\n    FETCH_DRIVERS_PAGE_REQUEST_ERROR,\n    FETCH_DRIVERS_PAGE_REQUEST_SUCCESS,\n    FetchDriverDetailsActionT,\n    FetchDriverDetailsBeginActionT,\n    FetchDriverDetailsErrorActionT,\n    FetchDriverDetailsSuccessActionT,\n    FetchDriversPageActionT,\n    FetchDriversPageBeginActionT,\n    FetchDriversPageErrorActionT,\n    FetchDriversPageSuccessActionT,\n    INVITE_DRIVER_REQUEST,\n    INVITE_DRIVER_REQUEST_BEGIN,\n    INVITE_DRIVER_REQUEST_ERROR,\n    INVITE_DRIVER_REQUEST_SUCCESS,\n    InviteDriverActionT,\n    InviteDriverBeginActionT,\n    InviteDriverErrorActionT,\n    InviteDriverSuccessActionT,\n    ADD_DRIVER_REQUEST,\n    ADD_DRIVER_REQUEST_BEGIN,\n    ADD_DRIVER_REQUEST_ERROR,\n    ADD_DRIVER_REQUEST_SUCCESS,\n    AddDriverActionT,\n    AddDriverBeginActionT,\n    AddDriverErrorActionT,\n    AddDriverSuccessActionT,\n    RESET_DRIVERS,\n    ResetDriversActionT,\n    UPDATE_DRIVER_REQUEST,\n    UPDATE_DRIVER_REQUEST_BEGIN,\n    UPDATE_DRIVER_REQUEST_ERROR,\n    UPDATE_DRIVER_REQUEST_SUCCESS,\n    UpdateDriverActionT,\n    UpdateDriverBeginActionT,\n    UpdateDriverErrorActionT,\n    UpdateDriverSuccessActionT,\n} from './types';\nimport { CompanyDriverDetailsT, CompanyDriverT, FetchCompanyDriversPageQueryT } from './models';\n\nimport { ApiAddDriverRequestT, ApiInviteDriverRequestT, ApiUpdateDriverRequestT } from 'common/utils/api/models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchDriversPage = (\n    pageNumber: PageNumberT,\n    query: FetchCompanyDriversPageQueryT,\n    companyId: CompanyIdT,\n    options?: FetchOptionsT,\n): FetchDriversPageActionT => {\n    return {\n        type: FETCH_DRIVERS_PAGE_REQUEST,\n        query,\n        pageNumber,\n        companyId,\n        options,\n    };\n};\n\nexport const fetchDriversPageBegin = (\n    query: FetchCompanyDriversPageQueryT,\n    pageNumber: PageNumberT,\n    companyId: CompanyIdT,\n): FetchDriversPageBeginActionT => ({\n    type: FETCH_DRIVERS_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchDriversPageSuccess = (\n    query: FetchCompanyDriversPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<CompanyDriverT> | null,\n    companyId: CompanyIdT,\n): FetchDriversPageSuccessActionT => ({\n    type: FETCH_DRIVERS_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchDriversPageError = (\n    query: FetchCompanyDriversPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n    companyId: CompanyIdT,\n): FetchDriversPageErrorActionT => ({\n    type: FETCH_DRIVERS_PAGE_REQUEST_ERROR,\n    query,\n    pageNumber,\n    error,\n    companyId,\n});\n\nexport const resetDrivers = (\n    companyId: CompanyIdT,\n    mutationListOptions: MutationListOptionsT,\n): ResetDriversActionT => ({\n    type: RESET_DRIVERS,\n    companyId,\n    mutationListOptions,\n});\n\nexport const inviteDriver = (newDriver: ApiInviteDriverRequestT, companyId: CompanyIdT): InviteDriverActionT => ({\n    type: INVITE_DRIVER_REQUEST,\n    newDriver,\n    companyId,\n});\n\nexport const inviteDriverBegin = (companyId: CompanyIdT): InviteDriverBeginActionT => ({\n    type: INVITE_DRIVER_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const inviteDriverSuccess = (companyId: CompanyIdT): InviteDriverSuccessActionT => ({\n    type: INVITE_DRIVER_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const inviteDriverError = (error: Error, companyId: CompanyIdT): InviteDriverErrorActionT => ({\n    type: INVITE_DRIVER_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const addDriver = (newDriver: ApiAddDriverRequestT, companyId: CompanyIdT): AddDriverActionT => ({\n    type: ADD_DRIVER_REQUEST,\n    newDriver,\n    companyId,\n});\n\nexport const addDriverBegin = (companyId: CompanyIdT): AddDriverBeginActionT => ({\n    type: ADD_DRIVER_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const addDriverSuccess = (companyId: CompanyIdT): AddDriverSuccessActionT => ({\n    type: ADD_DRIVER_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const addDriverError = (error: Error, companyId: CompanyIdT): AddDriverErrorActionT => ({\n    type: ADD_DRIVER_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const deleteDriver = (driverId: DriverIdT, companyId: CompanyIdT): DeleteDriverActionT => ({\n    type: DELETE_DRIVER_REQUEST,\n    driverId,\n    companyId,\n});\n\nexport const deleteDriverBegin = (companyId: CompanyIdT): DeleteDriverBeginActionT => ({\n    type: DELETE_DRIVER_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const deleteDriverSuccess = (companyId: CompanyIdT): DeleteDriverSuccessActionT => ({\n    type: DELETE_DRIVER_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const deleteDriverError = (error: Error, companyId: CompanyIdT): DeleteDriverErrorActionT => ({\n    type: DELETE_DRIVER_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const updateDriver = (\n    driverId: DriverIdT,\n    driverChanges: ApiUpdateDriverRequestT,\n    companyId: CompanyIdT,\n): UpdateDriverActionT => ({\n    type: UPDATE_DRIVER_REQUEST,\n    driverId,\n    driverChanges,\n    companyId,\n});\n\nexport const activateDriver = (driverId: DriverIdT, companyId: CompanyIdT): ActivateDriverActionT => ({\n    type: ACTIVATE_DRIVER,\n    driverId,\n    companyId,\n});\n\nexport const cancelDriverInvite = (driverUserId: UserIdT, companyId: CompanyIdT): CancelDriverInviteActionT => ({\n    type: CANCEL_DRIVER_INVITE,\n    driverUserId,\n    companyId,\n});\n\nexport const archiveDriver = (driverId: DriverIdT, companyId: CompanyIdT): ArchiveDriverActionT => ({\n    type: ARCHIVE_DRIVER,\n    driverId,\n    companyId,\n});\n\nexport const updateDriverBegin = (companyId: CompanyIdT): UpdateDriverBeginActionT => ({\n    type: UPDATE_DRIVER_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const updateDriverSuccess = (companyId: CompanyIdT): UpdateDriverSuccessActionT => ({\n    type: UPDATE_DRIVER_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const updateDriverError = (error: Error, companyId: CompanyIdT): UpdateDriverErrorActionT => ({\n    type: UPDATE_DRIVER_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const fetchDriverDetails = (\n    driverId: DriverIdT,\n    companyId: CompanyIdT,\n    fetchOptions: FetchOptionsT,\n): FetchDriverDetailsActionT => ({\n    type: FETCH_DRIVER_DETAILS_REQUEST,\n    driverId,\n    companyId,\n    fetchOptions,\n});\n\nexport const fetchDriverDetailsBegin = (companyId: CompanyIdT): FetchDriverDetailsBeginActionT => ({\n    type: FETCH_DRIVER_DETAILS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const fetchDriverDetailsSuccess = (\n    driverId: DriverIdT,\n    details: CompanyDriverDetailsT | null,\n    companyId: CompanyIdT,\n): FetchDriverDetailsSuccessActionT => ({\n    type: FETCH_DRIVER_DETAILS_REQUEST_SUCCESS,\n    details,\n    driverId,\n    companyId,\n});\n\nexport const fetchDriverDetailsError = (error: Error, companyId: CompanyIdT): FetchDriverDetailsErrorActionT => ({\n    type: FETCH_DRIVER_DETAILS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n","import * as React from 'react';\n\nimport cs from 'classnames';\n\nimport classNames from 'classnames/bind';\nimport styles from './ExcludedCountry.scss';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT<T extends string> = {\n    className?: string;\n    countryCode: T;\n    countryLabel?: React.ReactNode;\n    onClick: (countryCode: T) => void;\n};\n\nconst ExcludedCountry = <T extends string>(props: PropsT<T>) => {\n    const { className, countryCode, countryLabel, onClick } = props;\n\n    return (\n        <div className={cs(className, cx('wrap'))}>\n            <div className={cx('inner')}>\n                <Tooltip\n                    tooltipNode={\n                        countryLabel ? (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {countryLabel}\n                            </TooltipContent>\n                        ) : null\n                    }\n                    delay={500}\n                    position={TooltipPositionEnum.bottomCenter}\n                    theme={TooltipThemeEnum.black}\n                >\n                    {(isShow, childrenClassName) => (\n                        <FlagIcon countryCode={countryCode} className={cs(cx('flag'), childrenClassName)} />\n                    )}\n                </Tooltip>\n                <div\n                    className={cx('close')}\n                    onClick={() => {\n                        onClick(countryCode);\n                    }}\n                >\n                    <CloseIcon fillColor=\"currentColor\" />\n                </div>\n            </div>\n        </div>\n    );\n};\n\nexport default React.memo(ExcludedCountry) as typeof ExcludedCountry;\n","import { TrailerStatusEnum } from 'common/utils/api/models';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\nexport enum QueryFiltersKeysEnum {\n    plateNumber = 'plateNumber',\n\n    dictTrailerTypeId = 'dictTrailerTypeId',\n    status = 'status',\n    country = 'country',\n\n    contractId = 'contractId',\n    contractName = 'contractName',\n\n    createdDateFrom = 'createdDateFrom',\n    createdDateTo = 'createdDateTo',\n    createdByUserId = 'createdByUserId',\n    createdByUserName = 'createdByUserName',\n\n    lastModifyDateFrom = 'lastModifyDateFrom',\n    lastModifyDateTo = 'lastModifyDateTo',\n    lastModifyByUserId = 'lastModifyByUserId',\n    lastModifyByUserName = 'lastModifyByUserName',\n\n    lastTelematicUpdateDateFrom = 'lastTelematicUpdateDateFrom',\n    lastTelematicUpdateDateTo = 'lastTelematicUpdateDateTo',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.dictTrailerTypeId]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.plateNumber]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.status]: QueryParam.ArrayT<TrailerStatusEnum>;\n\n    [QueryFiltersKeysEnum.country]: QueryParam.ArrayT<CountryCodeT>;\n\n    [QueryFiltersKeysEnum.createdDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByUserId]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.createdByUserName]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.contractId]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.contractName]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.lastModifyDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.lastModifyDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.lastModifyByUserId]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.lastModifyByUserName]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.lastTelematicUpdateDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.lastTelematicUpdateDateTo]: QueryParam.StringT;\n}>;\n\nexport enum QueryKeysEnum {\n    trailersPage = 'trailers-page',\n    trailersSort = 'trailers-sort',\n    trailersFilters = 'trailers-filters',\n    trailersTab = 'trailers-tab',\n}\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerTrucksPage.scss';\nimport TrucksPageLayout from 'common/layouts/TrucksPageLayout/TrucksPageLayout';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onOpenUserDetails: (userId: UserIdT | null, isBrokerUser?: boolean) => void;\n};\n\nconst PartnerTrucksPage: React.FC<PropsT> = React.memo((props) => {\n    const { onOpenUserDetails } = props;\n\n    return <TrucksPageLayout onOpenUserDetails={onOpenUserDetails} />;\n});\n\nexport default PartnerTrucksPage;\n","import React from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { findShippersById, findShippersByQuery } from 'common/store/shipper-suggest/actions';\nimport {\n    selectFindShippersRequest,\n    selectShippersById,\n    selectShippersIds,\n} from 'common/store/shipper-suggest/selectors';\nimport { PartnerT } from 'common/store/shipper-suggest/models';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { ALL_SHIPPERS_ID } from 'common/store/shipper-suggest/constants';\nimport { useTranslation } from 'react-i18next';\nimport ShipperIcon, { ShipperIconProps } from 'common/icons/ShipperIcon';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\ntype PartnerIdT = PartnerT['id'];\n\ntype ValueT = PartnerIdT | null;\n\ntype OptionT = {\n    id: ValueT;\n    name: string;\n    number: string;\n    countryCode: CountryCodeT | null;\n};\n\nexport type PropsT = {\n    className?: string;\n    initialValue: ValueT;\n    initialLabel: string;\n    hasAllOption?: boolean;\n    onSelect: (value: ValueT, name: string) => void;\n    value: ValueT;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n};\n\nconst ShipperSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialValue,\n        initialLabel,\n        hasAllOption,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n    } = props;\n\n    const dispatch = useDispatch();\n\n    const ids = useSelector(selectShippersIds);\n    const byId = useSelector(selectShippersById);\n    const requestStatus = useSelector(selectFindShippersRequest);\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo(() => {\n        const options = ids\n            .filter((id) => byId[id])\n            .map((id): OptionT => {\n                const partner = byId[id];\n\n                return {\n                    id: partner.id || null,\n                    name: partner.name || '',\n                    number: partner.number || '',\n                    countryCode: partner.countryCode || null,\n                };\n            });\n\n        if (hasAllOption) {\n            options.push({\n                id: ALL_SHIPPERS_ID,\n                name: t('common:partner-suggest.all'),\n                number: '',\n                countryCode: null,\n            });\n        }\n\n        return options;\n    }, [t, ids, byId, hasAllOption]);\n\n    React.useEffect(() => {\n        if (initialValue === ALL_SHIPPERS_ID) {\n            return;\n        }\n\n        if (initialValue && !byId[initialValue]) {\n            dispatch(findShippersById(initialValue, initialLabel));\n        }\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [initialValue]);\n\n    const handleChangeQuery = React.useCallback(\n        (query: string): void => {\n            dispatch(findShippersByQuery(query));\n        },\n        [dispatch],\n    );\n\n    const handleSelect = (value: ValueT) => {\n        const partner = byId[value as string];\n\n        onSelect(value || null, partner?.name || '');\n    };\n\n    const handleReset = () => {\n        onSelect(null, '');\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                icon={option.countryCode ? <FlagIcon countryCode={option.countryCode} /> : null}\n                label={option.name || ''}\n                description={option.number || ''}\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            placeholder={placeholder}\n            options={options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={handleChangeQuery}\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            renderLeftIcon={(iconMeta) => <ShipperIcon {...ShipperIconProps.getControlProps(iconMeta)} />}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition}\n            isLoading={requestStatus.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default ShipperSuggest;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty, checkPhoneNumber } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.phone] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkPhoneNumber(t, REQUIRED_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"address\":\"LocationCell__address___yyeDj\",\"time\":\"LocationCell__time___Qrpkq\",\"time--isSmallFont\":\"LocationCell__time--isSmallFont___VuMSk\",\"fadeIn\":\"LocationCell__fadeIn___crtNB\",\"blinking\":\"LocationCell__blinking___x4X4l\"};","import { ApiContactFormalEnum, CountryCodeT } from 'common/utils/api/models';\nimport { SocialMediaEnum } from 'common/constants';\n\nexport enum FieldsEnum {\n    id = 'id',\n\n    formal = 'formal',\n    firstName = 'firstName',\n    lastName = 'lastName',\n\n    desktopPhone = 'desktopPhone',\n\n    whatsapp = 'whatsapp',\n    viber = 'viber',\n    telegram = 'telegram',\n    msTeams = 'msTeams',\n\n    address = 'address',\n\n    birthday = 'birthday',\n    countryCode = 'countryCode',\n    language = 'language',\n\n    ratePerKm = 'ratePerKm',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.id]: string | null;\n\n    [FieldsEnum.formal]: ApiContactFormalEnum;\n    [FieldsEnum.firstName]: string;\n    [FieldsEnum.lastName]: string;\n\n    [FieldsEnum.desktopPhone]: string;\n\n    [FieldsEnum.whatsapp]?: string;\n    [FieldsEnum.viber]?: string;\n    [FieldsEnum.telegram]?: string;\n    [FieldsEnum.msTeams]?: string;\n\n    [FieldsEnum.address]: string;\n\n    [FieldsEnum.birthday]: Date | null;\n    [FieldsEnum.countryCode]: CountryCodeT | null;\n    [FieldsEnum.language]: string | null;\n\n    [FieldsEnum.ratePerKm]: string;\n};\n\nexport const MEDIA_FIELDS_NAME = [\n    SocialMediaEnum.whatsapp,\n    SocialMediaEnum.viber,\n    SocialMediaEnum.telegram,\n    SocialMediaEnum.msTeams,\n] as const;\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './EditDriverFormContent/constants';\nimport {\n    checkBirthday,\n    checkNotEmpty,\n    checkDate,\n    checkPhoneNumber,\n    checkNotEmptyString,\n    checkIsPositiveNumberValue,\n} from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.firstName, FieldsEnum.lastName, FieldsEnum.ratePerKm, FieldsEnum.language] as const;\nconst BIRTHDAY_FIELDS = [FieldsEnum.birthday] as const;\nconst DATE_FIELDS = [FieldsEnum.birthday] as const;\nconst PHONE_FIELDS = [FieldsEnum.desktopPhone] as const;\nconst MEDIA_FIELDS = [FieldsEnum.whatsapp, FieldsEnum.viber, FieldsEnum.telegram, FieldsEnum.msTeams] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkBirthday(t, BIRTHDAY_FIELDS, values),\n        ...checkDate(t, DATE_FIELDS, values),\n        ...checkPhoneNumber(t, PHONE_FIELDS, values),\n        ...checkNotEmptyString(t, MEDIA_FIELDS, values),\n        ...checkIsPositiveNumberValue(t, [FieldsEnum.ratePerKm], values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './CityName.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    cityName: React.ReactNode;\n};\n\nconst CityName: React.FC<PropsT> = React.memo((props) => {\n    const { cityName } = props;\n\n    return <span className={cx('city')}>{cityName}</span>;\n});\n\nexport default CityName;\n","// extracted by mini-css-extract-plugin\nexport default {\"skeleton\":\"SkeletonFormatter__skeleton___WhXu9\",\"fadeIn\":\"SkeletonFormatter__fadeIn___iLk7Y\",\"blinking\":\"SkeletonFormatter__blinking___uwWZc\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DropdownControl.scss';\nimport { DropdownOverlayPositionEnum } from '../constants';\nimport DropdownBaseLayout from 'design-system/components/dropdowns/base/DropdownBaseLayout/DropdownBaseLayout';\nimport { CheckboxThemeEnum } from 'design-system/components/Checkbox/Checkbox';\n\nconst cx = classNames.bind(styles);\n\nexport type DropdownControlOptionT = {\n    label: React.ReactNode;\n    onSelect: () => void;\n    isDisabled?: boolean;\n    testSelector?: string;\n    checkboxTheme?: CheckboxThemeEnum;\n};\n\ntype OpenTriggerT = (event: React.MouseEvent<HTMLElement>) => void;\n\nexport enum SpecialOptionEnum {\n    separator = 'special-option-separator',\n}\n\nconst allSpecialOptions = Object.values(SpecialOptionEnum);\n\nexport const checkIsSpecialOption = (option: TODO): option is SpecialOptionEnum => {\n    return allSpecialOptions.includes(option);\n};\n\nexport const checkIsNotEmptyOptions = (options: Array<DropdownControlOptionT | SpecialOptionEnum | null | undefined>) =>\n    options.some((item) => item && !checkIsSpecialOption(item));\n\nexport type DropdownControlPropsT = {\n    isInline?: boolean;\n    isDisabled?: boolean;\n    options: Array<DropdownControlOptionT | SpecialOptionEnum | null | undefined>;\n    className?: string;\n    overlayClassName?: string;\n    renderTrigger: (isActive: boolean, onClick: OpenTriggerT) => React.ReactElement;\n    overlayPosition: DropdownOverlayPositionEnum;\n    testSelector?: string;\n    isShowTriggerForEmptyOptions?: boolean;\n};\n\nconst DropdownControl: React.FC<DropdownControlPropsT> = React.memo((props) => {\n    const {\n        options,\n        isInline,\n        isDisabled,\n        renderTrigger,\n        className,\n        overlayPosition,\n        overlayClassName,\n        isShowTriggerForEmptyOptions,\n        testSelector,\n    } = props;\n\n    const fullTestSelector = `${testSelector}_dropdown`;\n\n    const [isOpen, toggleOpen] = React.useState(false);\n\n    const handleOpen: OpenTriggerT = (event) => {\n        if (isDisabled) {\n            return;\n        }\n\n        if (event) {\n            event.stopPropagation();\n        }\n\n        toggleOpen(!isOpen);\n    };\n\n    const handleClose = (): void => {\n        toggleOpen(false);\n    };\n\n    const handleOuterEvent = (): void => {\n        handleClose();\n    };\n\n    const viewOptions = options.reduce<React.ReactNode[]>((viewOptions, option, index) => {\n        if (!option) {\n            return viewOptions;\n        }\n\n        if (checkIsSpecialOption(option)) {\n            viewOptions.push(<div key={index} className={cx('overlay__separator')} />);\n        } else {\n            const { label, onSelect, isDisabled: isDisabledOption } = option;\n\n            viewOptions.push(\n                <div\n                    key={index}\n                    className={cx('overlay__option', {\n                        'overlay__option--isDisabled': isDisabledOption,\n                    })}\n                    onClick={(event): void => {\n                        if (isDisabled || isDisabledOption) {\n                            return;\n                        }\n\n                        if (onSelect) {\n                            onSelect();\n                        }\n\n                        handleClose();\n                        event.stopPropagation();\n                    }}\n                    data-test-selector={`${fullTestSelector}_option_${option.testSelector || index}`}\n                >\n                    {label}\n                </div>,\n            );\n        }\n\n        return viewOptions;\n    }, []);\n\n    if (!viewOptions.length && !isShowTriggerForEmptyOptions) {\n        return null;\n    }\n\n    return (\n        <DropdownBaseLayout\n            withoutScroll\n            isOpen={isOpen}\n            isInline={isInline}\n            overlayClassName={overlayClassName}\n            overlayPosition={overlayPosition}\n            className={className}\n            triggerNode={renderTrigger(isOpen, handleOpen)}\n            overlayNode={<>{viewOptions}</>}\n            onClose={handleOuterEvent}\n        />\n    );\n});\n\nexport default DropdownControl;\n","import moment from 'moment';\n\nexport const getVehicleScheduleAroundDateISO = (): ISODateTimeT => {\n    return moment().format();\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"ShippersSuggest__option___SV5uA\",\"fadeIn\":\"ShippersSuggest__fadeIn___DHCuu\",\"blinking\":\"ShippersSuggest__blinking___HXf5v\"};","import { FieldsEnum, FormValuesT } from './constants';\n\nconst DEFAULT_VALUES: FormValuesT = {\n    [FieldsEnum.name]: '',\n    [FieldsEnum.number]: '',\n\n    [FieldsEnum.activateDate]: null,\n    [FieldsEnum.validTillDate]: null,\n\n    [FieldsEnum.file]: null,\n};\n\nconst getInitialValues = (): FormValuesT => {\n    const values: FormValuesT = { ...DEFAULT_VALUES };\n\n    return values;\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LeftCardLayout.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    cardNode: React.ReactNode;\n    testSelector?: string;\n};\n\nconst LeftCardLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, cardNode, testSelector } = props;\n\n    return (\n        <div className={cx('left-card-layout')} data-test-selector={testSelector}>\n            <div className={cx('left-card-layout__left')}>{cardNode}</div>\n            <div className={cx('left-card-layout__right')}>{children}</div>\n        </div>\n    );\n});\n\nexport default LeftCardLayout;\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxValue, checkMinValue, checkNotEmpty } from 'common/utils/form-validators';\nimport values from 'lodash/values';\n\nconst REQUIRED_FIELDS = values<FieldsEnum>(FieldsEnum);\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkMinValue(t, [FieldsEnum.timeSlotToBoardFerry, FieldsEnum.timeSlotDisembarkFerry], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.timeSlotToBoardFerry, FieldsEnum.timeSlotDisembarkFerry], values, 240),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst HourglassIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor, ...rest } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width=\"20\"\n            height=\"20\"\n            viewBox=\"0 0 20 20\"\n            {...rest}\n        >\n            <defs>\n                <path id=\"aqzl7i901a\" d=\"M6.3 9.369l-2.7-2.7-2.7 2.7V11.7h5.4z\" />\n            </defs>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <g transform=\"translate(6.4 3.7)\">\n                    <use fill={strokeColor} xlinkHref=\"#aqzl7i901a\" />\n                    <use fill={fillColor} fillOpacity=\"0.7\" xlinkHref=\"#aqzl7i901a\" />\n                </g>\n                <path\n                    fill={strokeColor}\n                    d=\"M6.4 16.3h7.2v-3.6L10.9 10l2.7-2.7V3.7H6.4v3.6L9.1 10l-2.7 2.7v3.6zm.9-9.369V4.6h5.4v2.331l-2.7 2.7-2.7-2.7zm0 6.138l2.7-2.7 2.7 2.7V15.4H7.3v-2.331z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nHourglassIcon.displayName = 'HourglassIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.tomatoRed,\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default HourglassIcon;\n\nexport const HourglassIconProps = {\n    getCreateOrder: (): PropsT => {\n        return {\n            fillColor: StyleGuideColorsEnum.transparent,\n            strokeColor: StyleGuideColorsEnum.orange,\n        };\n    },\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"right-sidebar\":\"RightSidebarLayout__right-sidebar___vzsus\",\"fadeIn\":\"RightSidebarLayout__fadeIn___S2h1U\",\"blinking\":\"RightSidebarLayout__blinking___qlvWe\"};","import { TFunction } from 'i18next';\nimport { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\ntype MetaT = {\n    createRuleRequestStatus: RequestStatusT;\n    updateRulesRequestStatus: RequestStatusT;\n};\n\nconst asyncValidations = (t: TFunction, meta: MetaT): AsyncFormErrorsT => {\n    const errors: AsyncFormErrorsT = {};\n\n    const { createRuleRequestStatus, updateRulesRequestStatus } = meta;\n    const createError = createRuleRequestStatus.error;\n    const updateError = updateRulesRequestStatus.error;\n\n    if (\n        createError &&\n        checkIsTranziitApiRequestError(createError) &&\n        createError?.subType === TranziitApiRequestErrorSubTypeEnum.manualRateRuleCreation_InvalidZipsFrom\n    ) {\n        errors[FieldsEnum.fromCountryZipCodes] = t('common:form-errors.wrong-zip-format');\n    }\n\n    if (\n        updateError &&\n        checkIsTranziitApiRequestError(updateError) &&\n        updateError?.subType === TranziitApiRequestErrorSubTypeEnum.manualRateRuleUpdate_InvalidZipsFrom\n    ) {\n        errors[FieldsEnum.fromCountryZipCodes] = t('common:form-errors.wrong-zip-format');\n    }\n\n    if (\n        createError &&\n        checkIsTranziitApiRequestError(createError) &&\n        createError?.subType === TranziitApiRequestErrorSubTypeEnum.manualRateRuleCreation_InvalidZipsTo\n    ) {\n        errors[FieldsEnum.toCountryZipCodes] = t('common:form-errors.wrong-zip-format');\n    }\n\n    if (\n        updateError &&\n        checkIsTranziitApiRequestError(updateError) &&\n        updateError?.subType === TranziitApiRequestErrorSubTypeEnum.manualRateRuleUpdate_InvalidZipsTo\n    ) {\n        errors[FieldsEnum.toCountryZipCodes] = t('common:form-errors.wrong-zip-format');\n    }\n\n    return errors;\n};\n\nexport default asyncValidations;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CreateCell.scss';\nimport { BrokerOrderShortT } from 'broker-admin/store/broker-orders/models';\nimport { CompanyTypeEnum } from 'common/constants';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\n\ntype PropsT = {\n    brokerOrderShort: BrokerOrderShortT;\n    onOpenPartnerDetails: (companyId: string, companyType: CompanyTypeEnum) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst CreateCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderShort, onOpenPartnerDetails } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <EventCell\n                userFullName={brokerOrderShort.shipperName}\n                userId={brokerOrderShort.shipperId}\n                date={brokerOrderShort.createdDate}\n                byBroker\n                openUserDetails={(serId: UserIdT) => {\n                    onOpenPartnerDetails(serId, CompanyTypeEnum.shipper);\n                }}\n            />\n        </div>\n    );\n});\n\nexport default CreateCell;\n","import * as React from 'react';\nimport { TFunction } from 'i18next';\nimport classNames from 'classnames/bind';\nimport styles from './EvidenceOfTaxDetailsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT, AsyncFormErrorsT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport values from 'lodash/values';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport prepareApproveData from './prepare-approve-data';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectFetchEvidenceOfTaxDetails,\n    selectFetchEvidenceOfTaxDetailsRequest,\n    selectUpdateCompanyDocumentsRequest,\n    selectUpdateEvidenceOfTaxDetailsRequest,\n} from 'common/store/documents/selectors';\nimport {\n    approveEvidenceOfTaxDocument,\n    fetchEvidenceOfTaxDetails,\n    updateEvidenceOfTaxDetails,\n} from 'common/store/documents/actions';\nimport { logWarning } from 'common/utils/logger';\nimport Input from 'common/components/Input/Input';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport SideBarLoader from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLoader/SideBarLoader';\nimport { DocumentVersionT, EvidenceOfTaxDetailsChangesT } from 'common/store/documents/models';\nimport ApproveDocumentsConfirmation, {\n    BaseConfirmApproveDocumentModalDataT,\n} from 'common/layouts/BaseDocumentsLayout/dialogs/ApproveDocumentsConfirmation/ApproveDocumentsConfirmation';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport isEmpty from 'lodash/isEmpty';\nimport asyncValidate from './async-validations';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { TranziitApiRequestErrorSubTypeEnum } from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nconst cx = classNames.bind(styles);\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype PropsT = {\n    isReview: boolean;\n    dictDocument: DictDocumentT | null;\n    actualVersion: DocumentVersionT | null;\n    setNeedCloseConfirmation: (needCloseConfirmation: boolean) => void;\n    partnerId: PartnerIdT | null;\n    partnerType: PartnerTypeEnum | null;\n};\n\ntype ConfirmApproveDocumentModalDataT = BaseConfirmApproveDocumentModalDataT<{\n    data: EvidenceOfTaxDetailsChangesT;\n    partnerType: PartnerTypeEnum;\n    dictDocumentId: DictDocumentFakeIdT;\n}>;\n\nconst renderAsyncError = (t: TFunction, asyncError: AsyncFormErrorsT[FieldsEnum.vatNumber]): string | null => {\n    if (asyncError === TranziitApiRequestErrorSubTypeEnum.evidenceOfTaxDetails_WrongVat) {\n        return t('common:document.validations.wrong-vat-number');\n    }\n\n    return asyncError || null;\n};\n\nconst EvidenceOfTaxDetailsForm: React.FC<PropsT> = React.memo((props) => {\n    const { isReview, actualVersion, dictDocument, setNeedCloseConfirmation, partnerId, partnerType } = props;\n\n    const dispatch = useDispatch();\n\n    const updateDocumentRequest = useSelector(selectUpdateCompanyDocumentsRequest(partnerId));\n    const updateEvidenceOfTaxDetailsRequest = useSelector(selectUpdateEvidenceOfTaxDetailsRequest(partnerId));\n\n    const confirmApproveDocumentModalDialog = useModalDialog<ConfirmApproveDocumentModalDataT>();\n\n    useCloseModalDialogAfterRequest(updateEvidenceOfTaxDetailsRequest, [confirmApproveDocumentModalDialog], {\n        shouldCloseOnError: true,\n    });\n\n    const isLoading = updateDocumentRequest.loading || updateEvidenceOfTaxDetailsRequest.loading;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in EvidenceOfTaxDetailsForm useEffect');\n            return;\n        }\n        dispatch(fetchEvidenceOfTaxDetails(partnerId));\n    }, [partnerId, dispatch]);\n\n    const evidenceOfTaxDetails = useSelector(selectFetchEvidenceOfTaxDetails(partnerId));\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(evidenceOfTaxDetails);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [evidenceOfTaxDetails]);\n\n    const handleConfirmApproveDocument = (data: ConfirmApproveDocumentModalDataT) => {\n        if (!actualVersion?.id) {\n            logWarning('failed handleConfirmApproveDocument, empty actualVersion?.id');\n            return;\n        }\n\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleConfirmApproveDocument');\n            return;\n        }\n        dispatch(\n            approveEvidenceOfTaxDocument(\n                partnerId,\n                partnerType,\n                actualVersion.id,\n                data.data.validTill || null,\n                data.data,\n            ),\n        );\n    };\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const approveData = prepareApproveData(values);\n\n            if (!actualVersion?.id) {\n                logWarning('failed to save evidence details, empty documentId');\n                return;\n            }\n\n            if (!dictDocument) {\n                logWarning('failed to save evidence details, empty dictDocument');\n                return;\n            }\n\n            if (!approveData) {\n                logWarning('failed to save evidence details, empty approveData');\n                return;\n            }\n\n            if (isReview) {\n                if (!partnerType) {\n                    logWarning('Empty partnerType in EvidenceOfTaxDetailsForm onSubmit');\n                    return;\n                }\n                confirmApproveDocumentModalDialog.setData({\n                    partnerType,\n                    dictDocumentId: dictDocument?.id,\n                    data: approveData,\n                });\n            } else {\n                if (!approveData.validTill) {\n                    logWarning('failed to save document, empty approveData.expiration');\n                    return;\n                }\n                if (!partnerId) {\n                    logWarning('Empty partnerId in EvidenceOfTaxDetailsForm onSubmit');\n                    return;\n                }\n\n                dispatch(updateEvidenceOfTaxDetails(partnerId, actualVersion.id, approveData));\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(t, updateEvidenceOfTaxDetailsRequest);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [t, updateEvidenceOfTaxDetailsRequest?.error]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    const hasAsyncErrors = !isEmpty(asyncFormErrors);\n    const hasFormAnyErrors = useWatchFormAnyErrors(formik.errors);\n    const hasErrors = hasAsyncErrors || hasFormAnyErrors;\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasErrors, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        return () => {\n            setNeedCloseConfirmation(false);\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    React.useEffect(() => {\n        if (hasAnyFieldValueChanges) {\n            setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const fetchEvidenceOfTaxDetailsRequest = useSelector(selectFetchEvidenceOfTaxDetailsRequest(partnerId));\n    if (fetchEvidenceOfTaxDetailsRequest.loading && !evidenceOfTaxDetails) {\n        return <SideBarLoader isRelative />;\n    }\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('wrap')}>\n            <FormikField\n                className={cx('field')}\n                name={FieldsEnum.taxId}\n                error={formik.errors[FieldsEnum.taxId]}\n                meta={formik.getFieldMeta(FieldsEnum.taxId)}\n                label={t('common:document.evidence-of-tax-details-form.tax-id.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <Input\n                        name={FieldsEnum.taxId}\n                        value={formik.values[FieldsEnum.taxId]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field')}\n                name={FieldsEnum.vatNumber}\n                error={formik.errors[FieldsEnum.vatNumber]}\n                meta={formik.getFieldMeta(FieldsEnum.vatNumber)}\n                label={t('common:document.evidence-of-tax-details-form.vat-number.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                asyncError={renderAsyncError(t, asyncFormErrors[FieldsEnum.vatNumber])}\n                resetAsyncError={resetAsyncFormErrors}\n            >\n                {(props) => (\n                    <Input\n                        name={FieldsEnum.vatNumber}\n                        value={formik.values[FieldsEnum.vatNumber]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field')}\n                name={FieldsEnum.iban}\n                error={formik.errors[FieldsEnum.iban]}\n                meta={formik.getFieldMeta(FieldsEnum.iban)}\n                label={t('common:document.evidence-of-tax-details-form.iban.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <Input\n                        name={FieldsEnum.iban}\n                        value={formik.values[FieldsEnum.iban]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field')}\n                name={FieldsEnum.bic}\n                error={formik.errors[FieldsEnum.bic]}\n                meta={formik.getFieldMeta(FieldsEnum.bic)}\n                label={t('common:document.evidence-of-tax-details-form.bic.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <Input\n                        name={FieldsEnum.bic}\n                        value={formik.values[FieldsEnum.bic]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikField>\n            <HiddenSubmitButtonForKeyboardEnter />\n            <ApproveDocumentsConfirmation\n                name={dictDocument?.name}\n                data={confirmApproveDocumentModalDialog.data}\n                onCancel={confirmApproveDocumentModalDialog.onCancel}\n                onClose={confirmApproveDocumentModalDialog.onClose}\n                onConfirm={handleConfirmApproveDocument}\n                isLoading={isLoading}\n            />\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n        </form>\n    );\n});\n\nexport default EvidenceOfTaxDetailsForm;\n","import {\n    FETCH_SPOT_REQUESTS_STATS_REQUEST,\n    FETCH_SPOT_REQUESTS_STATS_REQUEST_BEGIN,\n    FETCH_SPOT_REQUESTS_STATS_REQUEST_ERROR,\n    FETCH_SPOT_REQUESTS_STATS_REQUEST_SUCCESS,\n    FetchSpotRequestsStatsActionT,\n    FetchSpotRequestsStatsBeginActionT,\n    FetchSpotRequestsStatsErrorActionT,\n    FetchSpotRequestsStatsSuccessActionT,\n} from './types';\nimport { ApiSpotRequestsStatsT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\n\nexport const fetchSpotRequestsStats = (options?: FetchOptionsT): FetchSpotRequestsStatsActionT => ({\n    type: FETCH_SPOT_REQUESTS_STATS_REQUEST,\n    options,\n});\n\nexport const fetchSpotRequestsBegin = (): FetchSpotRequestsStatsBeginActionT => ({\n    type: FETCH_SPOT_REQUESTS_STATS_REQUEST_BEGIN,\n});\n\nexport const fetchSpotRequestsStatsSuccess = (\n    statistics: ApiSpotRequestsStatsT | null,\n): FetchSpotRequestsStatsSuccessActionT => ({\n    type: FETCH_SPOT_REQUESTS_STATS_REQUEST_SUCCESS,\n    statistics,\n});\n\nexport const fetchSpotRequestsStatsError = (error: Error): FetchSpotRequestsStatsErrorActionT => ({\n    type: FETCH_SPOT_REQUESTS_STATS_REQUEST_ERROR,\n    error,\n});\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_TRANSPORT_ORDER_DETAILS_REQUEST, FetchTransportOrderDetailsRequestActionT } from './types';\nimport {\n    fetchTransportOrderDetailsBegin,\n    fetchTransportOrderDetailsError,\n    fetchTransportOrderDetailsSuccess,\n} from './actions';\nimport { selectTransportOrderDetailsRequestStatus } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { CompanyTypeEnum } from 'common/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\n\nconst getFetchTransportOrderDetailsSaga = (companyType: CompanyTypeEnum) => {\n    return function* fetchTransportOrderDetailsSaga(\n        action: FetchTransportOrderDetailsRequestActionT,\n    ): WrapGeneratorT<void> {\n        const { id, companyId, options } = action;\n\n        const requestStatus: ReReturnT<typeof selectTransportOrderDetailsRequestStatus> = yield select(\n            selectTransportOrderDetailsRequestStatus(id),\n        );\n        if (!checkNeedRequest(requestStatus, options)) {\n            return;\n        }\n\n        yield put(fetchTransportOrderDetailsBegin(id));\n\n        let result: ReturnApiT<\n            typeof brokerTranziitApi.getTransportOrderDetails | typeof carrierTranziitApi.getTransportOrderDetails\n        >;\n        if (companyType === CompanyTypeEnum.broker) {\n            result = yield brokerTranziitApi.getTransportOrderDetails(companyId, id);\n        } else {\n            result = yield carrierTranziitApi.getTransportOrderDetails(id);\n        }\n\n        const [error, transportOrderDetails] = result;\n\n        if (error) {\n            yield put(fetchTransportOrderDetailsError(id, error));\n        } else {\n            yield put(fetchTransportOrderDetailsSuccess(id, transportOrderDetails));\n        }\n    };\n};\n\nfunction* transportOrderDetailsSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_TRANSPORT_ORDER_DETAILS_REQUEST, getFetchTransportOrderDetailsSaga(companyType));\n}\n\nexport default transportOrderDetailsSaga;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, [FieldsEnum.truckId, FieldsEnum.trailerId], values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"RFQStats__form___qWcl2\",\"count\":\"RFQStats__count___DTYZt\",\"pill\":\"RFQStats__pill___aGPuI\",\"dates\":\"RFQStats__dates___yEPfv\",\"input-dates\":\"RFQStats__input-dates___EkoTs\",\"fadeIn\":\"RFQStats__fadeIn___ebHxm\",\"blinking\":\"RFQStats__blinking___LLOTD\"};","import { FeaturesContextValueT } from 'common/utils/hooks/useFeaturesContextValue';\nimport React from 'react';\n\nconst FeaturesContext = React.createContext<FeaturesContextValueT>({});\n\nexport default FeaturesContext;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"BaseShipperContractsLayout__fadeIn___cXSul\",\"blinking\":\"BaseShipperContractsLayout__blinking___rrQXr\"};","// extracted by mini-css-extract-plugin\nexport default {\"navigation\":\"Navigation__navigation___D_AJf\",\"navigation--isExpanded\":\"Navigation__navigation--isExpanded___EjJux\",\"inner\":\"Navigation__inner___b7mTs\",\"menu\":\"Navigation__menu___ODO_t\",\"logo\":\"Navigation__logo___rm2Ix\",\"logo__link\":\"Navigation__logo__link___yyb6H\",\"profile\":\"Navigation__profile___qoy7_\",\"profile--isExpanded\":\"Navigation__profile--isExpanded___DontC\",\"profile-item\":\"Navigation__profile-item___EMK2d\",\"menu-avatar\":\"Navigation__menu-avatar___Bp9O4\",\"menu-avatar__icon\":\"Navigation__menu-avatar__icon____eUM8\",\"menu-avatar__icon--isHovered\":\"Navigation__menu-avatar__icon--isHovered___BtMaH\",\"menu-avatar__icon--hasLinkMatch\":\"Navigation__menu-avatar__icon--hasLinkMatch___OO2YX\",\"menu-avatar__inner\":\"Navigation__menu-avatar__inner___hkaSw\",\"menu-avatar__user\":\"Navigation__menu-avatar__user___vpdeA\",\"menu-avatar__user--isInTooltip\":\"Navigation__menu-avatar__user--isInTooltip___YuWC8\",\"menu-avatar__company\":\"Navigation__menu-avatar__company___LdwZ6\",\"menu-company\":\"Navigation__menu-company___vHGDd\",\"menu-company__icon\":\"Navigation__menu-company__icon___z1GnK\",\"menu-company__icon--isHovered\":\"Navigation__menu-company__icon--isHovered___N_ua5\",\"menu-company__icon--hasLinkMatch\":\"Navigation__menu-company__icon--hasLinkMatch___Suk3P\",\"menu-company__inner\":\"Navigation__menu-company__inner___GJbSE\",\"menu-company__company\":\"Navigation__menu-company__company___mOzrt\",\"about\":\"Navigation__about___gmef2\",\"about__inner\":\"Navigation__about__inner___TgnGy\",\"about__copyright\":\"Navigation__about__copyright___zC4xa\",\"about__disclaimer\":\"Navigation__about__disclaimer___dsa45\",\"light-menu-item\":\"Navigation__light-menu-item___jox7Z\",\"light-menu-item__wrap\":\"Navigation__light-menu-item__wrap___tPjbH\",\"light-menu-item--isActive\":\"Navigation__light-menu-item--isActive____5Vv_\",\"light-menu-item--isClickable\":\"Navigation__light-menu-item--isClickable___nKuWG\",\"menu-item\":\"Navigation__menu-item___vPbcW\",\"menu-item__icon\":\"Navigation__menu-item__icon___KR37o\",\"menu-item__text\":\"Navigation__menu-item__text___X8bq0\",\"menu-item__text--isActive\":\"Navigation__menu-item__text--isActive___yrmyk\",\"menu-item--isActive\":\"Navigation__menu-item--isActive___Yt8TM\",\"menu-item--isClickable\":\"Navigation__menu-item--isClickable___q0rbb\",\"count\":\"Navigation__count___WJAkv\",\"tooltip\":\"Navigation__tooltip___CQHBu\",\"tooltip__text\":\"Navigation__tooltip__text___MrzxG\",\"tooltip--isMenuItem\":\"Navigation__tooltip--isMenuItem___UxKpG\",\"fadeIn\":\"Navigation__fadeIn___SPaeU\",\"blinking\":\"Navigation__blinking____nBPM\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ContractName.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst ContractName: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return <span className={cx('contract-name')}>{contractName}</span>;\n});\n\nexport default ContractName;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"SpotRequestStatusPill__fadeIn___pCsFL\",\"blinking\":\"SpotRequestStatusPill__blinking___FfCge\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport {\n    checkEmail,\n    checkMaxLength,\n    checkMinLength,\n    checkNotEmpty,\n    checkPhoneNumber,\n} from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.firstName,\n    FieldsEnum.lastName,\n    FieldsEnum.email,\n    FieldsEnum.phone,\n    FieldsEnum.password,\n] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n\n        ...checkMinLength(t, [FieldsEnum.firstName, FieldsEnum.lastName], values, 2),\n        ...checkMaxLength(t, [FieldsEnum.firstName, FieldsEnum.lastName], values, 255),\n\n        ...checkMinLength(t, [FieldsEnum.password], values, 6),\n        ...checkMaxLength(t, [FieldsEnum.password], values, 255),\n\n        ...checkPhoneNumber(t, [FieldsEnum.phone], values),\n\n        ...checkEmail(t, [FieldsEnum.email], values),\n    };\n\n    const isAcceptTerms = values[FieldsEnum.acceptTerms];\n    if (!isAcceptTerms) {\n        errors[FieldsEnum.acceptTerms] = t('common:form-errors.accept-terms');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"LaneDropdownInputOptionLabel__option___vBK17\",\"label\":\"LaneDropdownInputOptionLabel__label___XoEGh\",\"description\":\"LaneDropdownInputOptionLabel__description___PmuQE\",\"spacer\":\"LaneDropdownInputOptionLabel__spacer___B_avC\",\"price\":\"LaneDropdownInputOptionLabel__price___Wewag\",\"fadeIn\":\"LaneDropdownInputOptionLabel__fadeIn___xw3AA\",\"blinking\":\"LaneDropdownInputOptionLabel__blinking___fjf3J\"};","// extracted by mini-css-extract-plugin\nexport default {\"company-logo\":\"CompanyLogo__company-logo___NrEbo\",\"company-logo--size-small\":\"CompanyLogo__company-logo--size-small___eVts8\",\"company-logo--size-medium\":\"CompanyLogo__company-logo--size-medium___QRNBB\",\"company-logo--size-large\":\"CompanyLogo__company-logo--size-large___XiFiy\",\"company-logo--size-extra-large\":\"CompanyLogo__company-logo--size-extra-large___rpIap\",\"fadeIn\":\"CompanyLogo__fadeIn___aRob9\",\"blinking\":\"CompanyLogo__blinking___Mn7sl\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\nimport { AnyNotificationT } from 'common/store/notifications/models';\n\nexport const newNotificationsChannel = new ViewEventChannel<{\n    newNotifications: AnyNotificationT[];\n}>();\n","import { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nconst asyncValidate = (addMemberRequestStatus: RequestStatusT): AsyncFormErrorsT => {\n    if (\n        checkIsTranziitApiRequestError(addMemberRequestStatus.error) &&\n        addMemberRequestStatus.error.subType === TranziitApiRequestErrorSubTypeEnum.emailAlreadyExist\n    ) {\n        return {\n            [FieldsEnum.email]: addMemberRequestStatus.error?.subType,\n        };\n    }\n\n    return {};\n};\n\nexport default asyncValidate;\n","import {\n    FETCH_SPOT_REQUESTS_PAGE_REQUEST,\n    FETCH_SPOT_REQUESTS_PAGE_REQUEST_BEGIN,\n    FETCH_SPOT_REQUESTS_PAGE_REQUEST_ERROR,\n    FETCH_SPOT_REQUESTS_PAGE_REQUEST_SUCCESS,\n    FetchSpotRequestsPageActionT,\n    FetchSpotRequestsPageBeginActionT,\n    FetchSpotRequestsPageErrorActionT,\n    FetchSpotRequestsPageSuccessActionT,\n    RESET_SPOT_REQUESTS,\n    ResetSpotRequestsActionT,\n} from './types';\nimport { SpotRequestT, FetchSpotRequestsPageQueryT } from './models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchSpotRequestsPage = (\n    pageNumber: PageNumberT,\n    query: FetchSpotRequestsPageQueryT,\n    options?: FetchOptionsT,\n): FetchSpotRequestsPageActionT => ({\n    type: FETCH_SPOT_REQUESTS_PAGE_REQUEST,\n    query,\n    pageNumber,\n    options,\n});\n\nexport const fetchSpotRequestsPageBegin = (\n    query: FetchSpotRequestsPageQueryT,\n    pageNumber: PageNumberT,\n): FetchSpotRequestsPageBeginActionT => ({\n    type: FETCH_SPOT_REQUESTS_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n});\n\nexport const fetchSpotRequestsPageSuccess = (\n    query: FetchSpotRequestsPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<SpotRequestT> | null,\n): FetchSpotRequestsPageSuccessActionT => ({\n    type: FETCH_SPOT_REQUESTS_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n});\n\nexport const fetchSpotRequestsPageError = (\n    query: FetchSpotRequestsPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n): FetchSpotRequestsPageErrorActionT => ({\n    type: FETCH_SPOT_REQUESTS_PAGE_REQUEST_ERROR,\n    query,\n    error,\n    pageNumber,\n});\n\nexport const resetSpotRequests = (mutationListOptions: MutationListOptionsT): ResetSpotRequestsActionT => ({\n    type: RESET_SPOT_REQUESTS,\n    mutationListOptions,\n});\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { ApiPartnerCompanyT } from 'common/utils/api/models';\n\nexport type PartnerSuggestStateT = {\n    byId: Record<\n        PartnerIdT,\n        {\n            requestStatus: RequestStatusT;\n            data: ApiPartnerCompanyT | null;\n        }\n    >;\n};\n\nconst initialState: PartnerSuggestStateT = {\n    byId: {},\n};\n\nexport const partnerSuggestSlice = createSlice({\n    name: 'partnerSuggest',\n    initialState,\n    reducers: {\n        partnerSuggestRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n            }>,\n        ) => {},\n        partnerSuggestRequestBegin: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n            }>,\n        ) => {\n            state.byId = {\n                ...state.byId,\n                [action.payload.partnerId]: {\n                    ...(state.byId[action.payload.partnerId] || {}),\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        },\n        partnerSuggestRequestSuccess: (\n            state,\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                data: ApiPartnerCompanyT | null;\n            }>,\n        ) => {\n            state.byId = {\n                ...state.byId,\n                [action.payload.partnerId]: {\n                    ...(state.byId[action.payload.partnerId] || {}),\n                    requestStatus: requestStatus.ok,\n                    data: action.payload.data,\n                },\n            };\n        },\n        partnerSuggestRequestError: (\n            state,\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n\n            state.byId = {\n                ...state.byId,\n                [action.payload.partnerId]: {\n                    ...(state.byId[action.payload.partnerId] || {}),\n                    requestStatus: requestStatus.setError(error),\n                    data: null,\n                },\n            };\n        },\n    },\n});\n\nexport const {\n    partnerSuggestRequest,\n    partnerSuggestRequestBegin,\n    partnerSuggestRequestSuccess,\n    partnerSuggestRequestError,\n} = partnerSuggestSlice.actions;\n\nexport default partnerSuggestSlice.reducer;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './WaypointNumberPinContent.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    withPaddings?: boolean;\n};\n\nconst WaypointNumberPinContent: React.FC<PropsT> = React.memo((props) => {\n    const { className, children, withPaddings } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('content', {\n                    'content--withPaddings': withPaddings,\n                }),\n                className,\n            )}\n        >\n            {children}\n        </div>\n    );\n});\n\nexport default WaypointNumberPinContent;\n","import * as React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { useTranslation } from 'react-i18next';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\n\nexport enum OrderTypeEnum {\n    all = 'all',\n    spot = 'spot',\n    contracted = 'contracted',\n}\n\nconst i18nTMap: Record<OrderTypeEnum, string> = {\n    [OrderTypeEnum.spot]: 'broker-orders.list.filters.order-type-filter.spot',\n    [OrderTypeEnum.contracted]: 'broker-orders.list.filters.order-type-filter.contracted',\n    [OrderTypeEnum.all]: 'broker-orders.list.filters.order-type-filter.all',\n};\n\ntype OptionT = {\n    id: OrderTypeEnum;\n    label: React.ReactNode;\n};\n\nexport type PropsT = {\n    className?: string;\n    value: OrderTypeEnum;\n    onSelect: (value: OrderTypeEnum) => void;\n    testSelector?: string;\n};\n\nconst OrderTypeDropdown = (props: PropsT) => {\n    const { className, value, onSelect, testSelector } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<OptionT> => {\n        return [\n            {\n                id: OrderTypeEnum.spot,\n                label: t(i18nTMap[OrderTypeEnum.spot]),\n            },\n            {\n                id: OrderTypeEnum.contracted,\n                label: t(i18nTMap[OrderTypeEnum.contracted]),\n            },\n        ];\n    }, [t]);\n\n    return (\n        <DropdownInput<OptionT, OrderTypeEnum>\n            className={className}\n            selectedValue={value}\n            options={options}\n            onSelect={onSelect}\n            testSelector={testSelector}\n            renderOption={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return <DropdownControlOptionLabel withoutPaddings label={option.label} />;\n            }}\n            renderTriggerContent={(selectedOption, placeholder) => {\n                if (!selectedOption) {\n                    return placeholder;\n                }\n\n                return t(i18nTMap[selectedOption.id]);\n            }}\n            placeholder={t(i18nTMap[OrderTypeEnum.all])}\n            hasClearControl\n            onReset={() => {\n                onSelect(OrderTypeEnum.all);\n            }}\n            getOptionValue={(option) => option?.id}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default OrderTypeDropdown;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LanguageSelector.scss';\nimport { useTranslation } from 'react-i18next';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport { selectCountriesAllLangCodes, selectCountriesByLangCode } from 'common/store/countries-dict/selectors';\nimport { byAlphabetASC } from 'common/utils/sort';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = string;\ntype ValueT = string | null | undefined;\n\ntype PropsT = {\n    onChange: (langCode: ValueT) => void;\n    value?: ValueT;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChanges?: boolean;\n    onBlur?: () => void;\n    onFocus?: () => void;\n};\n\nconst LanguageSelector: React.FC<PropsT> = (props) => {\n    const { onChange, value, overlayPosition, className, hasError, hasWarning, hasChanges, onBlur, onFocus } = props;\n\n    const { t } = useTranslation();\n\n    const allLangCodes = useSelector(selectCountriesAllLangCodes);\n    const byLangCode = useSelector(selectCountriesByLangCode);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const renderOption = (langCode: OptionT | null | undefined): React.ReactElement | null => {\n        if (!langCode) {\n            return null;\n        }\n\n        const countryLanguage = byLangCode[langCode];\n\n        return <span>{countryLanguage?.name || '-'}</span>;\n    };\n\n    const sortedAllLangCodes = React.useMemo(() => {\n        return [...allLangCodes].sort((codeA, codeB) => {\n            const langA = byLangCode[codeA];\n            const langB = byLangCode[codeB];\n\n            return byAlphabetASC(langA.name, langB.name);\n        });\n    }, [allLangCodes, byLangCode]);\n\n    const getOptionValue = (option: OptionT): ValueT => option;\n\n    const handleOptionClick = (langCode: ValueT) => {\n        onChange(langCode);\n    };\n\n    return (\n        <DropdownInput\n            className={className}\n            selectedValue={value}\n            placeholder={t('common:language-selector.placeholder')}\n            options={sortedAllLangCodes}\n            onSelect={handleOptionClick}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            overlayClassName={cx('overlay')}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n        />\n    );\n};\n\nexport default LanguageSelector;\n","import * as React from 'react';\nimport { useContext } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectScheduleAssetById,\n    selectSelectedScheduleEventId,\n    selectSelfCostPrediction,\n    selectUserSelection,\n} from 'broker-admin/store/broker-order-assigment/selectors';\nimport TruckIcon, { getTruckIconProps } from 'common/icons/TruckIcon';\nimport TrailerIcon, { getTrailerIconProps } from 'common/icons/TrailerIcon';\nimport TimelineSidebar from 'common/components/Timeline/TimelineSidebar/TimelineSidebar';\nimport { FlagT, TimeWindowT } from 'common/components/Timeline/models';\nimport { VehicleScheduleEventT } from 'common/store/vehicle-schedules/models';\nimport { parseDateString } from 'common/utils/time';\nimport { ApiTransportationOrderFullT, VehicleScheduleEventTypeEnum } from 'common/utils/api/models';\nimport { ScheduleEventIdT } from 'broker-admin/store/broker-order-assigment/models';\nimport {\n    setSelectedScheduleEventId,\n    setShowSelectedAssetSchedule,\n} from 'broker-admin/store/broker-order-assigment/actions';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { CURRENT_ASSIGNMENT_EVENT_ID } from '../constants';\nimport isNumber from 'lodash/isNumber';\nimport TimeZoneContext from '../contexts/timezone-context';\nimport { findTourActualTransportOrders } from 'broker-admin/store/broker-order-details/utils/find-actual-transport-order';\nimport {\n    ScheduleTimeWindowFactoryT,\n    useScheduleTimeWindowFactory,\n} from 'common/utils/hooks/use-schedule-time-window-factory';\nimport { ScheduleFlagsFactoryT, useScheduleFlagsFactory } from 'common/utils/hooks/use-schedule-flags-factory';\n\nconst convertTourToScheduleEvent = (\n    type: 'truck' | 'trailer',\n    carrierTransportOrder: ApiTransportationOrderFullT | null,\n    startTime: string | null,\n    finishTime: string | null,\n): VehicleScheduleEventT | null => {\n    if (!carrierTransportOrder || !startTime || !finishTime) {\n        return null;\n    }\n\n    if (type === 'truck') {\n        return {\n            truckDateFrom: startTime || undefined,\n            truckDateTo: finishTime || undefined,\n            eventType: VehicleScheduleEventTypeEnum.shipment,\n            id: CURRENT_ASSIGNMENT_EVENT_ID,\n            transportationOrderNumber: carrierTransportOrder?.number,\n            hasAccessToDispatch: false,\n            hasWarning: false,\n        };\n    }\n\n    if (type === 'trailer') {\n        return {\n            trailerDateFrom: startTime || undefined,\n            trailerDateTo: finishTime || undefined,\n            eventType: VehicleScheduleEventTypeEnum.shipment,\n            id: CURRENT_ASSIGNMENT_EVENT_ID,\n            transportationOrderNumber: carrierTransportOrder?.number,\n            hasAccessToDispatch: false,\n            hasWarning: false,\n        };\n    }\n\n    return null;\n};\n\ntype GetTimeWindowsParamsT = {\n    type: 'truck' | 'trailer';\n    events: Array<VehicleScheduleEventT>;\n    currentEventId: ScheduleEventIdT | null;\n    scheduleTimeWindowFactory: ScheduleTimeWindowFactoryT;\n};\n\nconst getTimeWindows = ({\n    type,\n    events,\n    currentEventId,\n    scheduleTimeWindowFactory,\n}: GetTimeWindowsParamsT): Array<TimeWindowT<any>> => {\n    const now = Date.now();\n\n    return events.reduce<Array<TimeWindowT<null>>>((result, scheduleEvent: VehicleScheduleEventT) => {\n        const dateFrom = type === 'truck' ? scheduleEvent.truckDateFrom : scheduleEvent.trailerDateFrom;\n        const start = parseDateString(dateFrom);\n\n        const dateTo = type === 'truck' ? scheduleEvent.truckDateTo : scheduleEvent.trailerDateTo;\n        const end = parseDateString(dateTo);\n\n        if (start && end) {\n            const commonScheduleEvent = {\n                id: scheduleEvent.id,\n                data: null,\n                start,\n                end,\n                isTransparent: false,\n            } as const;\n\n            const hasWarning = scheduleEvent?.hasWarning;\n            const entityNumber = scheduleEvent?.transportationOrderNumber || '';\n\n            if (scheduleEvent.eventType === VehicleScheduleEventTypeEnum.serviceMaintenance) {\n                const isPastEvent = start <= now && end <= now;\n\n                result.push({\n                    ...commonScheduleEvent,\n                    ...scheduleTimeWindowFactory.serviceMaintenance({\n                        isPastEvent,\n                        hasWarning,\n                    }),\n                });\n            }\n\n            if (scheduleEvent.eventType === VehicleScheduleEventTypeEnum.deadhead) {\n                const isPastEvent = start <= now && end <= now;\n\n                result.push({\n                    ...commonScheduleEvent,\n                    ...scheduleTimeWindowFactory.deadheadTO({ isPastEvent, entityNumber, hasWarning }),\n                });\n            }\n\n            if (scheduleEvent.eventType === VehicleScheduleEventTypeEnum.shipment) {\n                const entityNumber = scheduleEvent?.transportationOrderNumber || '';\n\n                if (scheduleEvent.id === CURRENT_ASSIGNMENT_EVENT_ID) {\n                    result.push({\n                        ...commonScheduleEvent,\n                        ...scheduleTimeWindowFactory.accentTO({\n                            entityNumber,\n                        }),\n                    });\n                } else if (scheduleEvent.id === currentEventId) {\n                    result.push({\n                        ...commonScheduleEvent,\n                        ...scheduleTimeWindowFactory.inProgressTO({\n                            entityNumber,\n                            hasWarning,\n                        }),\n                    });\n                } else if (start <= now && end <= now) {\n                    result.push({\n                        ...commonScheduleEvent,\n                        ...scheduleTimeWindowFactory.to({\n                            isPastEvent: true,\n                            entityNumber,\n                            hasWarning,\n                        }),\n                    });\n                } else if (now <= start && now <= end) {\n                    result.push({\n                        ...commonScheduleEvent,\n                        ...scheduleTimeWindowFactory.to({\n                            isPastEvent: false,\n                            entityNumber,\n                            hasWarning,\n                        }),\n                    });\n                }\n            }\n        }\n\n        return result;\n    }, []);\n};\n\ntype GetFlagsParamsT = {\n    type: 'truck' | 'trailer';\n    events: Array<VehicleScheduleEventT>;\n    scheduleFlagsFactory: ScheduleFlagsFactoryT;\n};\n\nconst getFlags = ({ type, events, scheduleFlagsFactory }: GetFlagsParamsT): Array<FlagT<VehicleScheduleEventT>> => {\n    return events.reduce<Array<FlagT<VehicleScheduleEventT>>>((result, scheduleEvent: VehicleScheduleEventT) => {\n        const dateFrom = type === 'truck' ? scheduleEvent.truckDateFrom : scheduleEvent.trailerDateFrom;\n        const start = parseDateString(dateFrom);\n\n        const dateTo = type === 'truck' ? scheduleEvent.truckDateTo : scheduleEvent.trailerDateTo;\n        const end = parseDateString(dateTo);\n\n        if (start && end) {\n            const commonScheduleEvent = {\n                id: scheduleEvent.id,\n                data: scheduleEvent,\n                start,\n                end,\n                isTransparent: false,\n            } as const;\n\n            if (scheduleEvent.eventType === VehicleScheduleEventTypeEnum.teleport) {\n                result.push({\n                    ...commonScheduleEvent,\n                    ...scheduleFlagsFactory.teleport(),\n                });\n            }\n        }\n\n        return result;\n    }, []);\n};\n\ntype PropsT = {\n    tourId: TourIdT;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n};\n\nconst AssignmentAssetSchedules: React.FC<PropsT> = React.memo((props) => {\n    const { tourId, brokerOrderDetails } = props;\n\n    const timeZoneContext = useContext(TimeZoneContext);\n    const utcOffsetMin = timeZoneContext?.value?.utcOffsetMin;\n\n    const dispatch = useDispatch();\n\n    const selfCostPrediction = useSelector(selectSelfCostPrediction);\n\n    const selectedScheduleEventId = useSelector(selectSelectedScheduleEventId);\n\n    const userSelection = useSelector(selectUserSelection);\n    const scheduleAssetById = useSelector(selectScheduleAssetById);\n\n    const selectedTrailerId = userSelection?.trailerId || null;\n    const trailerSchedule = scheduleAssetById[selectedTrailerId as TrailerIdT] || null;\n    const selectedTruckId = userSelection?.truckId || null;\n    const truckSchedule = scheduleAssetById[selectedTruckId as TruckIdT] || null;\n\n    const scheduleTimeWindowFactory = useScheduleTimeWindowFactory();\n    const scheduleFlagsFactory = useScheduleFlagsFactory();\n\n    const { levels, flags } = React.useMemo(() => {\n        const truckScheduleEvents: Array<VehicleScheduleEventT> = [...(truckSchedule?.events || [])];\n        const trailerScheduleEvents: Array<VehicleScheduleEventT> = [...(trailerSchedule?.events || [])];\n\n        const { carrierTransportOrder } = findTourActualTransportOrders(\n            brokerOrderDetails?.transportationOrders,\n            tourId,\n        );\n\n        const truckStartTime = selfCostPrediction?.truckStartTime || null;\n        const dropTruckDateTime = selfCostPrediction?.dropTruckDateTime || null;\n        const scheduleTruckEvent = convertTourToScheduleEvent(\n            'truck',\n            carrierTransportOrder,\n            truckStartTime,\n            dropTruckDateTime,\n        );\n        if (scheduleTruckEvent && selectedTruckId) {\n            truckScheduleEvents.push(scheduleTruckEvent);\n        }\n\n        const trailerStartTime = selfCostPrediction?.trailerStartTime || null;\n        const dropTrailerDateTime = selfCostPrediction?.dropTrailerDateTime || null;\n        const scheduleTrailerEvent = convertTourToScheduleEvent(\n            'trailer',\n            carrierTransportOrder,\n            trailerStartTime,\n            dropTrailerDateTime,\n        );\n        if (scheduleTrailerEvent && selectedTrailerId) {\n            trailerScheduleEvents.push(scheduleTrailerEvent);\n        }\n\n        return {\n            levels: [\n                {\n                    timeWindows: getTimeWindows({\n                        type: 'truck',\n                        events: truckScheduleEvents,\n                        currentEventId: truckSchedule?.currentEventId || null,\n                        scheduleTimeWindowFactory,\n                    }),\n                    icon: <TruckIcon {...getTruckIconProps('assignment-normal')} />,\n                },\n                {\n                    timeWindows: getTimeWindows({\n                        type: 'trailer',\n                        events: trailerScheduleEvents,\n                        currentEventId: trailerSchedule?.currentEventId || null,\n                        scheduleTimeWindowFactory,\n                    }),\n                    icon: <TrailerIcon {...getTrailerIconProps('assignment-normal')} />,\n                },\n            ],\n            flags: [\n                ...getFlags({ type: 'truck', events: truckScheduleEvents, scheduleFlagsFactory }),\n                ...getFlags({ type: 'trailer', events: trailerScheduleEvents, scheduleFlagsFactory }),\n            ],\n        };\n    }, [\n        selectedTruckId,\n        truckSchedule,\n        selectedTrailerId,\n        trailerSchedule,\n        tourId,\n        brokerOrderDetails,\n        selfCostPrediction,\n        scheduleTimeWindowFactory,\n        scheduleFlagsFactory,\n    ]);\n\n    const isLoading = (!!selectedTrailerId && !trailerSchedule) || (!!selectedTruckId && !truckSchedule);\n\n    const handleClose = () => {\n        dispatch(setShowSelectedAssetSchedule(false));\n    };\n\n    const handleEventFocus = (scheduleEventId: ScheduleEventIdT): void => {\n        dispatch(setSelectedScheduleEventId(scheduleEventId));\n    };\n\n    const handleEventBlur = (): void => {\n        dispatch(setSelectedScheduleEventId(null));\n    };\n\n    return (\n        <TimelineSidebar\n            isLoading={isLoading}\n            onClose={handleClose}\n            levels={levels}\n            flags={flags}\n            utcOffset={isNumber(utcOffsetMin) ? utcOffsetMin : null}\n            onTimeWindowBlur={handleEventBlur}\n            onTimeWindowFocus={handleEventFocus}\n            selectedTimeWindowId={selectedScheduleEventId}\n        />\n    );\n});\n\nexport default AssignmentAssetSchedules;\n","import React from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport classNames from 'classnames/bind';\nimport styles from './TourTypeMultipleDropdown.scss';\nimport { useTranslation } from 'react-i18next';\nimport { ApiBrokerTourTypeT, ApiBrokerTourEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport DropdownMultipleInput from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\nimport { BROKER_TOUR_TYPE_T_MAP } from 'broker-admin/components/status-pill/BrokerTourTypePill/BrokerTourTypePill';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = {\n    value: ApiBrokerTourTypeT;\n    label: React.ReactNode;\n};\n\ntype ValueT = OptionT['value'];\n\nexport type PropsT = {\n    className?: string;\n    values: Array<ValueT>;\n    onSelect: (values: Array<ValueT>) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder?: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    hasClearControl?: boolean;\n};\n\nconst TourTypeMultipleDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        hasClearControl,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<OptionT> => {\n        return [\n            {\n                label: t(BROKER_TOUR_TYPE_T_MAP[ApiBrokerTourEnum.deadhead]),\n                value: ApiBrokerTourEnum.deadhead,\n            },\n            {\n                label: t(BROKER_TOUR_TYPE_T_MAP[ApiBrokerTourEnum.shipment]),\n                value: ApiBrokerTourEnum.shipment,\n            },\n        ];\n    }, [t]);\n\n    const renderTriggerContent = (options: Array<OptionT>, placeholder: string | undefined) => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options.length === 1) {\n            const option = options[0];\n            return option?.label || null;\n        }\n\n        return <DropdownMultipleInputCountLabel count={options?.length} />;\n    };\n\n    const renderOption = (option: OptionT | null | undefined): React.ReactNode => {\n        if (!option) {\n            return null;\n        }\n\n        return option?.label || '';\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.value;\n\n    const handleReset = () => {\n        onSelect([]);\n    };\n\n    return (\n        <DropdownMultipleInput<OptionT, ValueT>\n            className={className}\n            options={options}\n            selectedValues={values}\n            getOptionValue={getOptionValue}\n            placeholder={placeholder}\n            isDisabled={isDisabled}\n            onSelect={onSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderOption={renderOption}\n            renderTriggerContent={renderTriggerContent}\n            overlayPosition={overlayPosition}\n            overlayClassName={cx('overlay')}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default TourTypeMultipleDropdown;\n","import { RFQsStatsT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const FETCH_RFQS_STATS_REQUEST = 'common/rfqs-stats/FETCH_RFQS_STATS_REQUEST';\nexport const FETCH_RFQS_STATS_REQUEST_BEGIN = 'common/rfqs-stats/FETCH_RFQS_STATS_REQUEST_BEGIN';\nexport const FETCH_RFQS_STATS_REQUEST_ERROR = 'common/rfqs-stats/FETCH_RFQS_STATS_REQUEST_ERROR';\nexport const FETCH_RFQS_STATS_REQUEST_SUCCESS = 'common/rfqs-stats/FETCH_RFQS_STATS_REQUEST_SUCCESS';\n\nexport type RFQsStatsStateT = {\n    stats: RFQsStatsT | null;\n    fetchRequest: RequestStatusT;\n};\n\nexport type FetchRFQsStatsActionT = {\n    type: typeof FETCH_RFQS_STATS_REQUEST;\n    companyId: CompanyIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchRFQsStatsBeginActionT = {\n    type: typeof FETCH_RFQS_STATS_REQUEST_BEGIN;\n};\n\nexport type FetchRFQsStatsSuccessActionT = {\n    type: typeof FETCH_RFQS_STATS_REQUEST_SUCCESS;\n    statistics: RFQsStatsT | null;\n};\n\nexport type FetchRFQsStatsErrorActionT = {\n    type: typeof FETCH_RFQS_STATS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type RFQsStatsActionT =\n    | FetchRFQsStatsActionT\n    | FetchRFQsStatsBeginActionT\n    | FetchRFQsStatsSuccessActionT\n    | FetchRFQsStatsErrorActionT;\n","import isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\ntype FormFieldT = string;\ntype FormValueT = object | number | string | boolean | null | undefined | Array<number> | Array<string>;\ntype FormValuesT = Record<FormFieldT, FormValueT>;\n\ntype ChangesDetactorT = <T extends FormValuesT>(valueA: ValueOfT<T>, valueB: ValueOfT<T>) => boolean;\n\nconst defaultChangesDetactor: ChangesDetactorT = (valueA, valueB) => isEqual(valueA, valueB);\n\nexport const checkValuesChanges = <T extends FormValuesT>(\n    fields: Array<keyof T>,\n    initValues: T,\n    values: T,\n    customChangesDetector?: ChangesDetactorT,\n): boolean => {\n    const changesDetector = customChangesDetector || defaultChangesDetactor;\n\n    return fields.some((field) => {\n        const isSameValue = changesDetector(initValues[field], values[field]);\n\n        return !isSameValue;\n    });\n};\n\nexport const checkHasAnyErrors = (errorsMap: Record<FormFieldT, string | string[]>): boolean => {\n    return !isEmpty(errorsMap);\n};\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    width?: number;\n    height?: number;\n};\n\nconst DragIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, width = DEFAULT_ICON_SIZE, height = DEFAULT_ICON_SIZE } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width={width}\n            height={height}\n            viewBox=\"0 0 20 20\"\n        >\n            <path fill={fillColor} fillRule=\"evenodd\" d=\"m3 10 6 5V5l-6 5zm14 0-6 5V5l6 5z\" />\n        </svg>\n    );\n};\n\nDragIcon.displayName = 'DragIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\n\nexport default DragIcon;\n","import React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { partnerSuggestRequest } from 'common/store/partner-suggest/slice';\nimport { selectPartnerSuggestById } from 'common/store/partner-suggest/selectors';\n\ntype PropsT = {\n    partnerId: PartnerIdT | null | undefined;\n};\n\nconst PartnerFilterPill: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId } = props;\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            return;\n        }\n\n        dispatch(\n            partnerSuggestRequest({\n                partnerId,\n            }),\n        );\n    }, [dispatch, partnerId]);\n\n    const { requestStatus, data } = useSelector(selectPartnerSuggestById(partnerId));\n\n    if (partnerId === null) {\n        return null;\n    }\n\n    if (requestStatus.loading) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    return <span>{data?.name}</span>;\n});\n\nexport default PartnerFilterPill;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst DetailsIcon: React.FC<PropsT> = (props) => {\n    const { className, strokeColor, ...restProps } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"20\"\n            height=\"20\"\n            viewBox=\"0 0 20 20\"\n            className={className}\n            {...restProps}\n        >\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M12 5c2.07 0 3.75 1.68 3.75 3.75a3.73 3.73 0 01-.623 2.063L18 13.692l-1.057 1.057-2.873-2.872A3.751 3.751 0 018.25 8.75C8.25 6.68 9.93 5 12 5zm-1.5 8.25v1.5H3v-1.5h7.5zM6.75 9.5V11H3V9.5h3.75zm5.25-3a2.257 2.257 0 00-2.25 2.25A2.257 2.257 0 0012 11a2.257 2.257 0 002.25-2.25A2.257 2.257 0 0012 6.5zm-5.25-.75v1.5H3v-1.5h3.75z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nDetailsIcon.displayName = 'DetailsIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\nexport default DetailsIcon;\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { useTranslation } from 'react-i18next';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { formatDateRangeFilterValue } from 'common/components/FilterPills/pill-renderers';\nimport { BROKER_TOUR_TYPE_T_MAP } from 'broker-admin/components/status-pill/BrokerTourTypePill/BrokerTourTypePill';\nimport { ApiBrokerTourTypeT } from 'broker-admin/utils/api/broker-tranziit/models';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters, index) => {\n                    return t('broker-tours.list.filters.pills.carrier', {\n                        value: queryFilters[QueryFiltersKeysEnum.carrierNames]?.[index] || '',\n                    });\n                },\n                isMultiple: true,\n                clearKeys: [QueryFiltersKeysEnum.carrierIds, QueryFiltersKeysEnum.carrierNames],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('broker-tours.list.filters.pills.search', {\n                        value: queryFilters[QueryFiltersKeysEnum.searchText],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.searchText],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('broker-tours.list.filters.pills.origin-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.originAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.originAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('broker-tours.list.filters.pills.destination-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.destinationAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.destinationAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const dateFrom = queryFilters[QueryFiltersKeysEnum.originDateFrom];\n                    const dateTo = queryFilters[QueryFiltersKeysEnum.originDateTo];\n\n                    return t('broker-tours.list.filters.pills.origin-date', {\n                        value: formatDateRangeFilterValue(dateFrom, dateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.originDateFrom, QueryFiltersKeysEnum.originDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const dateFrom = queryFilters[QueryFiltersKeysEnum.destinationDateFrom];\n                    const dateTo = queryFilters[QueryFiltersKeysEnum.destinationDateTo];\n\n                    return t('broker-tours.list.filters.pills.destination-date', {\n                        value: formatDateRangeFilterValue(dateFrom, dateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.destinationDateFrom, QueryFiltersKeysEnum.destinationDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const dateFrom = queryFilters[QueryFiltersKeysEnum.dateCreatedFrom];\n                    const dateTo = queryFilters[QueryFiltersKeysEnum.dateCreatedTo];\n\n                    return t('broker-tours.list.filters.pills.date-created', {\n                        value: formatDateRangeFilterValue(dateFrom, dateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dateCreatedFrom, QueryFiltersKeysEnum.dateCreatedTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters, index) => {\n                    const tourType = queryFilters[QueryFiltersKeysEnum.tourTypes]?.[index];\n                    const i18nKey = BROKER_TOUR_TYPE_T_MAP[tourType as ApiBrokerTourTypeT];\n\n                    return t('broker-tours.list.filters.pills.tour-type', {\n                        value: i18nKey ? t(i18nKey) : '',\n                    });\n                },\n                isMultiple: true,\n                clearKeys: [QueryFiltersKeysEnum.tourTypes],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('broker-tours.list.filters.pills.plate-number', {\n                        value: queryFilters[QueryFiltersKeysEnum.plateNumber],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.plateNumber],\n            },\n            // Warning filters\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.transport-order-declined', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.transportOrderDeclined],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.running-out-of-time-to-assign-carrier', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.run-out-of-time-to-assign-carrier', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.running-out-of-time-to-assign-assets', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.run-out-of-time-to-assign-assets', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.runOutOfTimeToAssignAssets],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.running-out-of-time-to-assign-driver', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.run-out-of-time-to-assign-driver', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.runOutOfTimeToAssignDriver],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.no-show', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.noShow],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.shipment-missed', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.shipmentMissed],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-tours.list.filters.warning-filters.tour-delaying', {});\n                },\n                clearKeys: [QueryFiltersKeysEnum.tourDelaying],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import {\n    CREATE_PARTNER_REQUEST_BEGIN,\n    CREATE_PARTNER_REQUEST_ERROR,\n    CREATE_PARTNER_REQUEST_SUCCESS,\n    FETCH_PARTNERS_PAGE_REQUEST_BEGIN,\n    FETCH_PARTNERS_PAGE_REQUEST_ERROR,\n    FETCH_PARTNERS_PAGE_REQUEST_SUCCESS,\n    PartnersActionT,\n    PartnersStateT,\n    RESET_PARTNERS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: PartnersStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n    createPartnerRequest: requestStatus.initial,\n};\n\nexport default (state = initialState, action: PartnersActionT | DestroySessionActionT): PartnersStateT => {\n    switch (action.type) {\n        case FETCH_PARTNERS_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query } = action;\n\n            return {\n                ...state,\n                ...pageBeginReducer(state, pageNumber, query),\n            };\n        }\n\n        case FETCH_PARTNERS_PAGE_REQUEST_SUCCESS: {\n            const { pageNumber, query, pageResponse } = action;\n\n            return {\n                ...state,\n                ...pageSuccessReducer(state, pageNumber, query, pageResponse),\n            };\n        }\n        case FETCH_PARTNERS_PAGE_REQUEST_ERROR: {\n            const { query, error, pageNumber } = action;\n\n            return {\n                ...state,\n                ...pageErrorReducer(state, pageNumber, query, error),\n            };\n        }\n\n        case RESET_PARTNERS: {\n            const { mutationListOptions } = action;\n\n            return {\n                ...initialState,\n                ...resetPagesCacheReducer(initialState, state, mutationListOptions),\n            };\n        }\n\n        case CREATE_PARTNER_REQUEST_BEGIN: {\n            return {\n                ...state,\n                createPartnerRequest: requestStatus.loading,\n            };\n        }\n\n        case CREATE_PARTNER_REQUEST_ERROR: {\n            const { error } = action;\n            return {\n                ...state,\n                createPartnerRequest: requestStatus.setError(error),\n            };\n        }\n\n        case CREATE_PARTNER_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                createPartnerRequest: requestStatus.ok,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\nimport { UpdateEntityStatusActionT } from 'common/store/state-machine/types';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type CancelLastShipmentConfirmationDataT = UpdateEntityStatusActionT['payload'];\n\ntype PropsT = {\n    requestStatus: RequestStatusT | null;\n    data: CancelLastShipmentConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: CancelLastShipmentConfirmationDataT) => void;\n};\n\nconst TEST_SELECTOR = 'cancel-last-shipment-confirmation';\n\nconst CancelLastShipmentConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { requestStatus, data, onCancel, onClose, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus?.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_confirm`,\n                            isLoading: requestStatus?.loading,\n                            isDisabled: requestStatus?.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:dialogs.last-shipment-cancel-confirmation.title')}\n                    message={t('common:dialogs.last-shipment-cancel-confirmation.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelLastShipmentConfirmation;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst EmissionIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M11.667 7.5h-2.5a.836.836 0 00-.834.833v3.334c0 .458.375.833.834.833h2.5a.836.836 0 00.833-.833V8.333a.836.836 0 00-.833-.833zm-.417 3.75H9.583v-2.5h1.667v2.5zm-4.583-.417v.834a.836.836 0 01-.834.833h-2.5a.836.836 0 01-.833-.833V8.333c0-.458.375-.833.833-.833h2.5c.459 0 .834.375.834.833v.834h-1.25V8.75H3.75v2.5h1.667v-.417h1.25zm10.416 2.084h-1.666v.833h2.5V15h-3.75v-2.083c0-.459.375-.834.833-.834h1.667v-.833h-2.5V10h2.916c.459 0 .834.375.834.833v1.25a.836.836 0 01-.834.834z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nEmissionIcon.displayName = 'EmissionIcon';\n\nexport const EmissionIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            strokeColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.light,\n        };\n    },\n};\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default EmissionIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './NotificationCardInnerLayout.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    children: React.ReactNode;\n    className?: string;\n};\n\nconst NotificationCardInnerLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, className } = props;\n\n    return <div className={cx('inner', className)}>{children}</div>;\n});\n\nexport default NotificationCardInnerLayout;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './SpotBidStatusPill.scss';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { SPOT_BID_STATUS_T_MAP } from 'common/components/status/SpotBidStatus/SpotBidStatus';\nimport { ApiSpotBidStatusT, SpotBidStatusEnum } from 'common/utils/api/models';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { DEFAULT_CARRIER_COMPANY_ID } from 'common/constants';\n\ntype PropsT = {\n    status?: ApiSpotBidStatusT | null;\n    isArchived?: boolean;\n    isSymmetrical?: boolean;\n    className?: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst BROKER_PILL_THEME_BY_STATUS: Record<ApiSpotBidStatusT, PillLabelThemeEnum> = {\n    [SpotBidStatusEnum.new]: colorCodingPillLabelTheme.notImportant,\n    [SpotBidStatusEnum.open]: colorCodingPillLabelTheme.notImportant,\n    [SpotBidStatusEnum.accepted]: colorCodingPillLabelTheme.attention,\n    [SpotBidStatusEnum.rejected]: colorCodingPillLabelTheme.notImportant,\n    [SpotBidStatusEnum.expired]: colorCodingPillLabelTheme.attention,\n    [SpotBidStatusEnum.won]: colorCodingPillLabelTheme.success,\n    [SpotBidStatusEnum.lost]: colorCodingPillLabelTheme.normal,\n    [SpotBidStatusEnum.missed]: colorCodingPillLabelTheme.notImportant,\n    [SpotBidStatusEnum.canceled]: colorCodingPillLabelTheme.normal,\n};\n\nconst CARRIER_PILL_THEME_BY_STATUS: Record<ApiSpotBidStatusT, PillLabelThemeEnum> = {\n    [SpotBidStatusEnum.new]: colorCodingPillLabelTheme.attention,\n    [SpotBidStatusEnum.open]: colorCodingPillLabelTheme.attention,\n    [SpotBidStatusEnum.accepted]: colorCodingPillLabelTheme.normal,\n    [SpotBidStatusEnum.rejected]: colorCodingPillLabelTheme.normal,\n    [SpotBidStatusEnum.expired]: colorCodingPillLabelTheme.attention,\n    [SpotBidStatusEnum.won]: colorCodingPillLabelTheme.success,\n    [SpotBidStatusEnum.lost]: colorCodingPillLabelTheme.warning,\n    [SpotBidStatusEnum.missed]: colorCodingPillLabelTheme.warning,\n    [SpotBidStatusEnum.canceled]: colorCodingPillLabelTheme.normal,\n};\n\nconst SpotBidStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, className, isSymmetrical } = props;\n\n    const { partnerId } = usePartnerContext();\n\n    const themeMap =\n        partnerId === DEFAULT_CARRIER_COMPANY_ID ? CARRIER_PILL_THEME_BY_STATUS : BROKER_PILL_THEME_BY_STATUS;\n\n    const { t } = useTranslation();\n    if (!status) {\n        return null;\n    }\n\n    const theme = themeMap[status] || PillLabelThemeEnum.charcoal;\n\n    return (\n        <>\n            <PillLabel\n                isNoWrap\n                theme={theme}\n                testSelector=\"spot-bid-status\"\n                className={className}\n                isSymmetrical={isSymmetrical}\n            >\n                {t(SPOT_BID_STATUS_T_MAP[status])}\n            </PillLabel>\n        </>\n    );\n});\n\nexport default SpotBidStatusPill;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './AssetTypeTabs.scss';\nimport { useTranslation } from 'react-i18next';\nimport { SelfCostPredictionT } from 'broker-admin/store/broker-order-assigment/models';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport ButtonGroup from 'design-system/components/ButtonGroup/ButtonGroup';\nimport { AssetTypeTabsEnum } from './constants';\nimport { TourTypeTabsEnum } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/TourTypeTabs/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    selfCostPrediction?: SelfCostPredictionT | null;\n    selectedTourTypeTab: TourTypeTabsEnum;\n    selectedAssetType: AssetTypeTabsEnum | null;\n    onSelectAssetType: (tab: AssetTypeTabsEnum | null) => void;\n};\n\nconst I18N_MAP: Record<AssetTypeTabsEnum, string> = {\n    [AssetTypeTabsEnum.train]: 'assignment.asset-type-tabs.train',\n    [AssetTypeTabsEnum.truck]: 'assignment.asset-type-tabs.truck',\n    [AssetTypeTabsEnum.trailer]: 'assignment.asset-type-tabs.trailer',\n};\n\nconst AssetTypeTabs: React.FC<PropsT> = React.memo((props) => {\n    const { className, selectedTourTypeTab, selectedAssetType, onSelectAssetType, selfCostPrediction } = props;\n\n    const { t } = useTranslation();\n\n    const availableAssetTypeTabs = React.useMemo((): Array<AssetTypeTabsEnum> => {\n        const tabs: Array<AssetTypeTabsEnum> = [];\n\n        if (\n            selectedTourTypeTab === TourTypeTabsEnum.current &&\n            selfCostPrediction?.calculatedSumCost &&\n            selfCostPrediction?.calculatedTruckCost &&\n            selfCostPrediction?.calculatedTrailerCost\n        ) {\n            tabs.push(AssetTypeTabsEnum.train);\n        }\n\n        const isNextTourAssetsLink =\n            selfCostPrediction?.truckNextTransportationOrderInfo?.id &&\n            selfCostPrediction?.trailerNextTransportationOrderInfo?.id &&\n            selfCostPrediction?.truckNextTransportationOrderInfo?.id ===\n                selfCostPrediction?.trailerNextTransportationOrderInfo?.id;\n        if (selectedTourTypeTab === TourTypeTabsEnum.next && isNextTourAssetsLink) {\n            tabs.push(AssetTypeTabsEnum.train);\n        }\n\n        if (\n            selectedTourTypeTab === TourTypeTabsEnum.next &&\n            !isNextTourAssetsLink &&\n            selfCostPrediction?.truckNextTourNewCostDetails\n        ) {\n            tabs.push(AssetTypeTabsEnum.truck);\n        }\n\n        if (\n            selectedTourTypeTab === TourTypeTabsEnum.next &&\n            !isNextTourAssetsLink &&\n            selfCostPrediction?.trailerNextTourNewCostDetails\n        ) {\n            tabs.push(AssetTypeTabsEnum.trailer);\n        }\n\n        if (selectedTourTypeTab === TourTypeTabsEnum.current && selfCostPrediction?.calculatedTruckCost) {\n            tabs.push(AssetTypeTabsEnum.truck);\n        }\n\n        if (selectedTourTypeTab === TourTypeTabsEnum.current && selfCostPrediction?.calculatedTrailerCost) {\n            tabs.push(AssetTypeTabsEnum.trailer);\n        }\n\n        return tabs;\n    }, [selectedTourTypeTab, selfCostPrediction]);\n\n    React.useEffect(() => {\n        if (!selectedAssetType || !availableAssetTypeTabs.includes(selectedAssetType)) {\n            onSelectAssetType(availableAssetTypeTabs[0] || null);\n        }\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [availableAssetTypeTabs, selectedAssetType]);\n\n    return (\n        <ButtonGroup className={cs(cx('wrap'), className)}>\n            {availableAssetTypeTabs.map((type) => {\n                const isSelected = type === selectedAssetType;\n\n                return (\n                    <Button\n                        key={type}\n                        theme={ButtonThemeEnum.transparent}\n                        testSelector={type}\n                        isToggled={isSelected}\n                        onClick={() => {\n                            onSelectAssetType(type);\n                        }}\n                    >\n                        {t(I18N_MAP[type])}\n                    </Button>\n                );\n            })}\n        </ButtonGroup>\n    );\n});\n\nexport default AssetTypeTabs;\n","// extracted by mini-css-extract-plugin\nexport default {\"field\":\"SignInPage__field___hE7Ur\",\"field-label\":\"SignInPage__field-label___OhfHb\",\"submit\":\"SignInPage__submit___BmH6m\",\"footer-links\":\"SignInPage__footer-links___qbleG\",\"footer-links__link\":\"SignInPage__footer-links__link___Wa6gt\",\"notification\":\"SignInPage__notification___b_yFP\",\"opacityAppear\":\"SignInPage__opacityAppear___jdgOl\",\"input\":\"SignInPage__input___UUxGR\",\"fadeIn\":\"SignInPage__fadeIn___iJhj1\",\"blinking\":\"SignInPage__blinking___cgLkt\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\ntype PropsT = {\n    className?: string;\n    onClick: () => void;\n};\n\nconst DeleteWaypointTrigger: React.FC<PropsT> = React.memo((props) => {\n    const { className, onClick } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.centerLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                    {t('common:new-order-form.route-editor.delete-point')}\n                </TooltipContent>\n            }\n        >\n            {() => (\n                <TransparentTrigger\n                    className={className}\n                    spaces=\"s\"\n                    onClick={onClick}\n                    leftIcon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                    reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                />\n            )}\n        </Tooltip>\n    );\n});\n\nexport default DeleteWaypointTrigger;\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"BaseShipperContractDetailsLayout__widget___VJ8ax\",\"widget__inner\":\"BaseShipperContractDetailsLayout__widget__inner___VLzg0\",\"widget-group\":\"BaseShipperContractDetailsLayout__widget-group___sefo2\",\"widget-group__widget\":\"BaseShipperContractDetailsLayout__widget-group__widget___UbkpP\",\"history-table\":\"BaseShipperContractDetailsLayout__history-table___rx93M\",\"history\":\"BaseShipperContractDetailsLayout__history___mEpfA\",\"details\":\"BaseShipperContractDetailsLayout__details___rs8zO\",\"fadeIn\":\"BaseShipperContractDetailsLayout__fadeIn___QKl7v\",\"blinking\":\"BaseShipperContractDetailsLayout__blinking___gzujC\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT, MAX_RADIUS_KM, MIN_VALID_FROM_VALID_TILL_DAYS } from './constants';\nimport {\n    checkDateIsBeforeDay,\n    checkDateIsAfterDay,\n    checkIsPositiveNumberValue,\n    checkMaxValue,\n    checkMinValue,\n    checkNotEmpty,\n    checkRoundValue,\n} from 'common/utils/form-validators';\nimport { checkIsAvailableCountryForShip } from 'common/store/country-settings-dict/utils/check-location';\n\nimport { ShipperContractDetailsT } from 'common/store/shipper-contract-details/models';\nimport { getDayDiff } from 'common/utils/time';\nimport { CountrySettingsByCodeT } from 'common/store/country-settings-dict/models';\n\ntype DataT = {\n    countriesSettingsByCode: CountrySettingsByCodeT;\n    contractDetails: ShipperContractDetailsT | null;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, data: DataT): FormErrorsT => {\n    const { countriesSettingsByCode, contractDetails } = data;\n\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(\n            t,\n            [\n                FieldsEnum.trailerDictId,\n                FieldsEnum.emissionClass,\n\n                FieldsEnum.pickUpLocation,\n                FieldsEnum.pickUpLocationRadius,\n\n                FieldsEnum.dropOffLocation,\n                FieldsEnum.dropOffLocationRadius,\n\n                FieldsEnum.validFrom,\n                FieldsEnum.validTill,\n\n                FieldsEnum.layoverLimit,\n                FieldsEnum.ordersLimit,\n            ],\n            values,\n        ),\n        ...checkIsPositiveNumberValue(\n            t,\n            [\n                FieldsEnum.pickUpLocationRadius,\n                FieldsEnum.dropOffLocationRadius,\n                FieldsEnum.layoverLimit,\n                FieldsEnum.ordersLimit,\n            ],\n            values,\n        ),\n        ...checkMaxValue(t, [FieldsEnum.pickUpLocationRadius, FieldsEnum.dropOffLocationRadius], values, MAX_RADIUS_KM),\n        ...checkMaxValue(t, [FieldsEnum.layoverLimit], values, 48),\n        ...checkMinValue(t, [FieldsEnum.ordersLimit], values, 1),\n        ...checkMaxValue(t, [FieldsEnum.ordersLimit], values, 100000),\n        ...checkRoundValue(t, [FieldsEnum.layoverLimit, FieldsEnum.ordersLimit], values),\n\n        ...checkDateIsBeforeDay(t, [FieldsEnum.validFrom], values, values[FieldsEnum.validTill]),\n        ...checkDateIsAfterDay(t, [FieldsEnum.validFrom, FieldsEnum.validTill], values, contractDetails?.validFrom),\n        ...checkDateIsBeforeDay(t, [FieldsEnum.validFrom, FieldsEnum.validTill], values, contractDetails?.validTill),\n    };\n\n    const validFrom = values[FieldsEnum.validFrom];\n    const validTill = values[FieldsEnum.validTill];\n\n    if (validFrom && validTill && getDayDiff(validFrom, validTill) < MIN_VALID_FROM_VALID_TILL_DAYS) {\n        errors[FieldsEnum.validTill] = t('common:shipper-lane-details.errors.valid-till-inteval-valid-from', {\n            count: MIN_VALID_FROM_VALID_TILL_DAYS,\n        });\n    }\n\n    if (!checkIsAvailableCountryForShip(values[FieldsEnum.dropOffLocation], countriesSettingsByCode)) {\n        errors[FieldsEnum.dropOffLocation] = t('common:new-order-form.errors.unsupported-country');\n    }\n\n    if (!checkIsAvailableCountryForShip(values[FieldsEnum.pickUpLocation], countriesSettingsByCode)) {\n        errors[FieldsEnum.pickUpLocation] = t('common:new-order-form.errors.unsupported-country');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ColoredStatusLabel__wrap___tIDK9\",\"wrap--isInline\":\"ColoredStatusLabel__wrap--isInline____VI5C\",\"wrap--isRightIcon\":\"ColoredStatusLabel__wrap--isRightIcon___psxDM\",\"icon\":\"ColoredStatusLabel__icon___Tu6U0\",\"label\":\"ColoredStatusLabel__label___OyNT6\",\"icon--withVerticalPaddings\":\"ColoredStatusLabel__icon--withVerticalPaddings___TzoWE\",\"fadeIn\":\"ColoredStatusLabel__fadeIn____hB5R\",\"blinking\":\"ColoredStatusLabel__blinking___CREOx\"};","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"TrucksTable__table__header___oGsZh\",\"table__header--checkbox\":\"TrucksTable__table__header--checkbox___DMb91\",\"table__header--emission-class\":\"TrucksTable__table__header--emission-class___iUUcS\",\"table__header--linked\":\"TrucksTable__table__header--linked___Rpg6u\",\"table__header--dedicated\":\"TrucksTable__table__header--dedicated___wRblc\",\"table__column--checkbox\":\"TrucksTable__table__column--checkbox___EOfEo\",\"table__column--any\":\"TrucksTable__table__column--any___mNcXy\",\"table__column--created\":\"TrucksTable__table__column--created___FhRrD\",\"table__column--plate-number\":\"TrucksTable__table__column--plate-number___erfMn\",\"table__column--status\":\"TrucksTable__table__column--status___xOEWX\",\"fadeIn\":\"TrucksTable__fadeIn___GvMZ1\",\"blinking\":\"TrucksTable__blinking___lC1RU\"};","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"DetailsOrPapersTabs__header___kTOs8\",\"fadeIn\":\"DetailsOrPapersTabs__fadeIn___s8_Yp\",\"blinking\":\"DetailsOrPapersTabs__blinking___aarkM\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TruckOptionLabel.scss';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport getUtilizationColor from 'common/utils/get-utilization-color';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { ApiTruckRateModeT, TruckRateModeEnum } from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    model?: string;\n    plateNumber?: string;\n    price?: string;\n    rateMode: ApiTruckRateModeT | null;\n    assetUtilizationPercent: number | null | undefined;\n    isAssetUtilizationLoading: boolean;\n    carrierUtilizationPercent: number | null | undefined;\n    isCarrierUtilizationLoading: boolean;\n    isInvalid?: boolean;\n};\n\nconst rateModeI18nMap: Record<ApiTruckRateModeT, string> = {\n    [TruckRateModeEnum.brutto]: 'assignment.rate-mode.brutto',\n    [TruckRateModeEnum.netto]: 'assignment.rate-mode.netto',\n};\n\nconst TruckOptionLabel: React.FC<PropsT> = React.memo((props) => {\n    const {\n        model,\n        plateNumber,\n        price,\n        rateMode,\n        assetUtilizationPercent,\n        isAssetUtilizationLoading,\n        carrierUtilizationPercent,\n        isCarrierUtilizationLoading,\n        isInvalid,\n    } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div\n            className={cx('option', {\n                'option--is-invalid': !!isInvalid,\n            })}\n        >\n            <div className={cx('asset')}>\n                <div className={cx('asset-column')}>\n                    <div className={cx('model-and-plate-number')}>\n                        {[plateNumber, model].filter(Boolean).join(' / ')}\n                    </div>\n                    <div className={cx('price')}>\n                        {price || ''}\n                        {!!rateMode && <span className={cx('rate-mode')}>({t(rateModeI18nMap[rateMode])})</span>}\n                    </div>\n                </div>\n                <div className={cx('asset-column')}>\n                    <div className={cx('utilization')}>\n                        {isNumber(assetUtilizationPercent) && (\n                            <>\n                                <HollowCircleIcon borderColor={getUtilizationColor(assetUtilizationPercent)} />\n                                <div className={cx('utilization__label')}>\n                                    {t('assignment.asset-utilization', { percent: assetUtilizationPercent })}\n                                </div>\n                            </>\n                        )}\n                        {!isNumber(assetUtilizationPercent) && isAssetUtilizationLoading && (\n                            <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n                        )}\n                    </div>\n                    <div className={cx('utilization')}>\n                        {isNumber(carrierUtilizationPercent) && (\n                            <>\n                                <HollowCircleIcon borderColor={getUtilizationColor(carrierUtilizationPercent)} />\n                                <div className={cx('utilization__label')}>\n                                    {t('assignment.carrier-utilization', { percent: carrierUtilizationPercent })}\n                                </div>\n                            </>\n                        )}\n                        {!isNumber(carrierUtilizationPercent) && isCarrierUtilizationLoading && (\n                            <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n                        )}\n                    </div>\n                </div>\n            </div>\n        </div>\n    );\n});\n\nexport default TruckOptionLabel;\n","import {\n    FETCH_TRACK_REQUEST_BEGIN,\n    FETCH_TRACK_REQUEST_ERROR,\n    FETCH_TRACK_REQUEST_SUCCESS,\n    FetchTrackByOrderActionT,\n    FetchTrackRequestBeginActionT,\n    FetchTrackRequestErrorActionT,\n    FetchTrackRequestSuccessActionT,\n    FETCH_TRACK_BY_ORDER,\n    FetchTrackByTransportOrderActionT,\n    FETCH_TRACK_BY_TRANSPORT_ORDERS,\n} from './types';\nimport { TrackPointT } from 'common/store/asset-track/models';\n\nexport const fetchTracksByOrder = (orderId: OrderIdT): FetchTrackByOrderActionT => ({\n    type: FETCH_TRACK_BY_ORDER,\n    orderId,\n});\n\nexport const fetchTracksByTransportOrders = (\n    transportOrderIds: Array<TransportOrderIdT>,\n): FetchTrackByTransportOrderActionT => ({\n    type: FETCH_TRACK_BY_TRANSPORT_ORDERS,\n    transportOrderIds,\n});\n\nexport const fetchTrackBegin = (hash: HashT): FetchTrackRequestBeginActionT => ({\n    type: FETCH_TRACK_REQUEST_BEGIN,\n    hash,\n});\n\nexport const fetchTrackSuccess = (hash: HashT, points: Array<TrackPointT> | null): FetchTrackRequestSuccessActionT => ({\n    type: FETCH_TRACK_REQUEST_SUCCESS,\n    hash,\n    points,\n});\n\nexport const fetchTrackError = (hash: HashT, error: Error): FetchTrackRequestErrorActionT => ({\n    type: FETCH_TRACK_REQUEST_ERROR,\n    error,\n    hash,\n});\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './PartnerFiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport KeyAccountManagerDropdown from 'broker-admin/components/dropdowns/KeyAccountManagerDropdown/KeyAccountManagerDropdown';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport DispatcherDropdown from 'broker-admin/components/dropdowns/DispatcherDropdown/DispatcherDropdown';\nimport { SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport { PartherFilterSidebarDataT } from 'broker-admin/layouts/SideBars/PartnerFiltersSidebarContent/models';\nimport { useQueryParam } from 'use-query-params';\nimport { createJsonParams } from 'common/utils/query';\nimport { QueryFiltersT, QueryKeysEnum } from 'broker-admin/layouts/PartnersPage/query-models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<PartherFilterSidebarDataT, BrokerSidebarDataT>;\n\nconst PartnerFiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose } = props;\n    const { t } = useTranslation();\n\n    const [queryFilters, setQueryFilters] = useQueryParam<QueryFiltersT>(\n        QueryKeysEnum.partnersFilters,\n        createJsonParams<QueryFiltersT>({}),\n    );\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const newQueryFilters = getQueryFilters(values);\n\n            setQueryFilters({\n                ...queryFilters,\n                ...newQueryFilters,\n            });\n\n            formikHelpers.setTouched({});\n\n            if (onClose) {\n                onClose();\n            }\n        },\n    });\n\n    const isSameValues = React.useMemo(() => isDeepEqual(initialValues, formik.values), [initialValues, formik.values]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout hasBottomShadow>\n                <HeaderSideBarContent title={t('partner.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FormikField\n                    label={t('partner.filters.fields-labels.key-account-manager')}\n                    name={FieldsEnum.keyAccountManagerId}\n                    error={formik.errors[FieldsEnum.keyAccountManagerId]}\n                    meta={formik.getFieldMeta(FieldsEnum.keyAccountManagerId)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <KeyAccountManagerDropdown\n                            selectedValue={formik.values[FieldsEnum.keyAccountManagerId]}\n                            initialLabel={initialValues[FieldsEnum.keyAccountManagerName]}\n                            placeholder={t('partner.filters.fields-placeholder.key-account-manager')}\n                            onSelect={(memberId, memberName) => {\n                                formik.setFieldValue(FieldsEnum.keyAccountManagerId, memberId);\n                                formik.setFieldValue(FieldsEnum.keyAccountManagerName, memberName);\n                            }}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasChanges={props.hasChanges}\n                            onReset={() => {\n                                formik.setFieldValue(FieldsEnum.keyAccountManagerId, null);\n                                formik.setFieldValue(FieldsEnum.keyAccountManagerName, null);\n                            }}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    label={t('partner.filters.fields-labels.dispatcher')}\n                    name={FieldsEnum.dispatcherId}\n                    error={formik.errors[FieldsEnum.dispatcherId]}\n                    meta={formik.getFieldMeta(FieldsEnum.dispatcherId)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DispatcherDropdown\n                            selectedValue={formik.values[FieldsEnum.dispatcherId]}\n                            initialLabel={initialValues[FieldsEnum.dispatcherName]}\n                            placeholder={t('partner.filters.fields-placeholder.dispatcher')}\n                            onSelect={(memberId, memberName) => {\n                                formik.setFieldValue(FieldsEnum.dispatcherId, memberId);\n                                formik.setFieldValue(FieldsEnum.dispatcherName, memberName);\n                            }}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasChanges={props.hasChanges}\n                            onReset={() => {\n                                formik.setFieldValue(FieldsEnum.dispatcherId, null);\n                                formik.setFieldValue(FieldsEnum.dispatcherName, null);\n                            }}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    label={t('partner.filters.fields-labels.country')}\n                    name={FieldsEnum.countryCode}\n                    error={formik.errors[FieldsEnum.countryCode]}\n                    meta={formik.getFieldMeta(FieldsEnum.countryCode)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <CountryDropdown\n                            value={formik.values[FieldsEnum.countryCode]}\n                            onChange={props.onChange}\n                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasChanges={props.hasChanges}\n                            onReset={() => {\n                                props.onChange(null);\n                            }}\n                        />\n                    )}\n                </FormikField>\n            </SideBarLayout>\n            <FooterSideBarLayout isTransparent hasPaddings>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('partner.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default PartnerFiltersSidebarContent;\n","import {\n    SpotRequestsStatsActionT,\n    SpotRequestsStatsStateT,\n    FETCH_SPOT_REQUESTS_STATS_REQUEST_BEGIN,\n    FETCH_SPOT_REQUESTS_STATS_REQUEST_ERROR,\n    FETCH_SPOT_REQUESTS_STATS_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport { SpotRequestStatStatusEnum } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport isNumber from 'lodash/isNumber';\n\nconst initialState: SpotRequestsStatsStateT = {\n    stats: null,\n    fetchRequest: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: SpotRequestsStatsActionT | DestroySessionActionT,\n): SpotRequestsStatsStateT => {\n    switch (action.type) {\n        case FETCH_SPOT_REQUESTS_STATS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n\n        case FETCH_SPOT_REQUESTS_STATS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(error),\n            };\n        }\n\n        case FETCH_SPOT_REQUESTS_STATS_REQUEST_SUCCESS: {\n            const { statistics } = action;\n\n            const stats = (statistics || []).reduce(\n                (acc, statistic) => {\n                    const { status, count } = statistic;\n\n                    if (status && isNumber(count)) {\n                        acc[status as SpotRequestStatStatusEnum] = count;\n                    }\n\n                    return acc;\n                },\n                {\n                    [SpotRequestStatStatusEnum.open]: 0,\n                    [SpotRequestStatStatusEnum.accepted]: 0,\n                    [SpotRequestStatStatusEnum.expireSoon]: 0,\n                    [SpotRequestStatStatusEnum.newBids]: 0,\n                    [SpotRequestStatStatusEnum.assigned]: 0,\n                    [SpotRequestStatStatusEnum.expired]: 0,\n                    [SpotRequestStatStatusEnum.canceled]: 0,\n                    [SpotRequestStatStatusEnum.unknown]: 0,\n                },\n            );\n            return {\n                ...state,\n                stats,\n                fetchRequest: requestStatus.ok,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\nimport { useEffect, useMemo } from 'react';\n\nimport { useDispatch, useSelector } from 'react-redux';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent, {\n    HeaderSidebarActionT,\n} from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport { fetchSpotRequestDetails } from 'broker-admin/store/spot-request-details/actions';\nimport { selectSpotRequestDetails } from 'broker-admin/store/spot-request-details/selectors';\nimport SpotRequestDetails from 'broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/SpotRequestDetails';\nimport SpotRequestStatusPill from 'common/components/status-pill/SpotRequestStatusPill/SpotRequestStatusPill';\nimport EntitySidebarSkeleton from 'common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport MapTrigger, { MapTriggerPropsT } from 'common/components/MapTrigger/MapTrigger';\nimport {\n    ApiSpotRequestStatusT,\n    SpotBidT,\n    SpotRequestStatStatusEnum,\n    SpotRequestStatusEnum,\n} from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport { logWarning } from 'common/utils/logger';\nimport StartSelectBidFooterContent from './footers/StartSelectBidFooterContent/StartSelectBidFooterContent';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport { BidStatusEnum } from 'carrier/utils/api/spot-carrier-tranziit/models';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { useTranslation } from 'react-i18next';\nimport { cancelSpotRequest } from 'broker-admin/store/spot/actions';\nimport { selectSpotUpdateRequestStatus } from 'broker-admin/store/spot/selectors';\n\ntype PropsT = {\n    id: SpotRequestIdT;\n    onClose: (() => void) | null | undefined;\n    onOpenUserDetails: (params: {\n        partnerType: PartnerTypeEnum;\n        partnerId: PartnerIdT;\n        userId: UserIdT | null;\n    }) => void;\n} & MapTriggerPropsT;\n\nconst shouldSelectBidSet = new Set<ApiSpotRequestStatusT>([SpotRequestStatStatusEnum.accepted]);\n\nconst BaseSpotRequestDetailsSidebarContent: React.FC<PropsT> = React.memo((props) => {\n    const { id, onClose, isActiveMapTrigger, toggleMap, onOpenUserDetails } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const [selectedBidId, selectBidId] = React.useState<BidIdT | null>(null);\n\n    React.useEffect(() => {\n        dispatch(fetchSpotRequestDetails(id));\n    }, [id, dispatch]);\n\n    const { details, fetchDetailsRequestStatus, updateRequestStatus } = useSelector(selectSpotRequestDetails(id));\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchSpotRequestDetails(id));\n    }, [id, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        dispatch(fetchSpotRequestDetails(id, { isForceUpdate: true }));\n    }, [id, dispatch]);\n\n    const spotUpdateRequestStatus = useSelector(selectSpotUpdateRequestStatus);\n\n    const handleSelectBid = React.useCallback((bid: SpotBidT) => {\n        if (!bid?.id) {\n            logWarning('empty bid.id!');\n            return;\n        }\n\n        selectBidId(bid.id);\n    }, []);\n\n    const wonBidId = useMemo((): BidIdT | null => {\n        const wonBid = (details?.bids || []).find((bid) => {\n            return bid.status === BidStatusEnum.won;\n        });\n\n        return wonBid?.id || null;\n    }, [details]);\n\n    useEffect(() => {\n        if (wonBidId !== selectedBidId) {\n            selectBidId(wonBidId);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [wonBidId]);\n\n    const isShouldSelectBid = details?.status && shouldSelectBidSet.has(details.status);\n\n    const renderFooterNode = (): React.ReactNode => {\n        if (isShouldSelectBid && selectedBidId) {\n            return (\n                <FooterSideBarLayout hasPaddings>\n                    <StartSelectBidFooterContent\n                        spotRequestId={id}\n                        selectedBidId={selectedBidId}\n                        details={details}\n                        updateRequestStatus={updateRequestStatus}\n                    />\n                </FooterSideBarLayout>\n            );\n        }\n\n        return null;\n    };\n\n    const headerDropdownOptions = React.useMemo((): Array<HeaderSidebarActionT> => {\n        if (details?.status === SpotRequestStatusEnum.open || details?.status === SpotRequestStatusEnum.accepted) {\n            return [\n                {\n                    label: (\n                        <DropdownControlOptionLabel\n                            icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                            label={t('spot-request-details.actions.cancel')}\n                        />\n                    ),\n                    onSelect: () => {\n                        dispatch(cancelSpotRequest(id));\n                    },\n                },\n            ];\n        }\n\n        return [];\n    }, [details, dispatch, id, t]);\n\n    return (\n        <SideBarLayoutContextWrap>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={details?.number || null}\n                    afterTitleNode={<SpotRequestStatusPill isSymmetrical status={details?.status} />}\n                    beforeDropdownNode={<MapTrigger isActiveMapTrigger={isActiveMapTrigger} toggleMap={toggleMap} />}\n                    testSelector=\"spot-request-details\"\n                    onClose={onClose}\n                    dropdownOptions={headerDropdownOptions}\n                />\n                <SideBarHeaderRequestStatus\n                    requestStatus={fetchDetailsRequestStatus}\n                    hasCachedData={Boolean(details)}\n                    isForceShowLoader={spotUpdateRequestStatus.loading || updateRequestStatus.loading}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout testSelector=\"spot-request-details\">\n                <SideBarRequestStatus\n                    requestStatus={fetchDetailsRequestStatus}\n                    hasCachedData={Boolean(details)}\n                    onRetry={handleRefreshOnError}\n                    SkeletonComponent={EntitySidebarSkeleton}\n                >\n                    {details ? (\n                        <SpotRequestDetails\n                            id={id}\n                            selectedBidId={selectedBidId}\n                            isDisabledSelectBid={!isShouldSelectBid}\n                            onSelectBid={handleSelectBid}\n                            onOpenUserDetails={onOpenUserDetails}\n                        />\n                    ) : null}\n                </SideBarRequestStatus>\n            </SideBarLayout>\n            {renderFooterNode()}\n        </SideBarLayoutContextWrap>\n    );\n});\n\nexport default BaseSpotRequestDetailsSidebarContent;\n","import React, { ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DocumentT } from 'common/store/documents/models';\nimport DocumentsTable, {\n    TableColumnModsEnum,\n    TableColumnT,\n    TableRowMetaT,\n    TableRowModsEnum,\n    TableRowThemeEnum,\n} from 'common/components/DocumentsTable/DocumentsTable';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport classNames from 'classnames/bind';\nimport styles from './BaseDocumentsTable.scss';\nimport DocumentTypeCell from 'common/layouts/BaseDocumentsLayout/BaseDocumentsTable/cell-renderers/DocumentTypeCell/DocumentTypeCell';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\nimport ActionsCell from 'common/layouts/BaseDocumentsLayout/BaseDocumentsTable/cell-renderers/ActionsCell/ActionsCell';\nimport { DocumentActionsT } from '../models';\nimport ExpireDateCell from 'common/layouts/BaseDocumentsLayout/BaseDocumentsTable/cell-renderers/ExpireDateCell/ExpireDateCell';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\nimport { DocumentRequiredEnum, DocumentStatusEnum } from 'common/utils/api/models';\nimport DateCell from 'common/components/Table/cell-renderers/DateCell/DateCell';\nimport DocumentStatusPill from 'common/components/status-pill/DocumentStatusPill/DocumentStatusPill';\n\ntype PropsT = {\n    className?: string;\n    tableName: string;\n    rows: Array<DocumentRowT>;\n    onSelectRow?: (row: DocumentRowT) => void;\n    isLoading: boolean;\n    isShowReviewUser: boolean;\n    testSelector?: string;\n    footerNode?: ReactNode;\n    onOpenUserDetails: (userId: UserIdT) => void;\n    documentStatusesAttentionSet?: Set<DocumentStatusEnum | null>;\n} & DocumentActionsT;\n\nexport type DocumentRowT = {\n    dictDocument: DictDocumentT;\n    actualVersion: DocumentT | null;\n    oldVersions: Array<DocumentT> | null;\n};\n\nconst cx = classNames.bind(styles);\n\nconst BaseDocumentsTable: React.FC<PropsT> = React.memo((props) => {\n    const {\n        tableName,\n        rows,\n        isLoading,\n        onOpenUserDetails,\n        testSelector,\n        className,\n        footerNode,\n        onSelectRow,\n        onUploadDocument,\n        onDownloadDocument,\n        onEditDocumentInfo,\n        onRevokeDocument,\n        isShowReviewUser,\n        documentStatusesAttentionSet,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<DocumentRowT, void>> = [\n        {\n            renderHeader: () => <span>{t('common:documents.table.columns.type')}</span>,\n            headerClassName: cx('table__header', 'table__header--type'),\n            render: (row: DocumentRowT) => (\n                <DocumentTypeCell name={row.dictDocument.name} isEmpty={!row?.actualVersion} />\n            ),\n            className: cx('table__column', 'table__column--type'),\n            testSelector: 'type',\n        },\n        {\n            renderHeader: () => <span>{t('common:documents.table.columns.uploaded')}</span>,\n            headerClassName: cx('table__header'),\n            render: (row: DocumentRowT) => {\n                if (!row.actualVersion) {\n                    return null;\n                }\n\n                return (\n                    <EventCell\n                        date={row.actualVersion.createdDate}\n                        userId={row.actualVersion.createdById}\n                        userFullName={row.actualVersion.createdByName}\n                        byBroker={row.actualVersion.createdByBroker}\n                        openUserDetails={onOpenUserDetails}\n                    />\n                );\n            },\n            className: cx('table__column', 'table__column--upload'),\n            testSelector: 'upload',\n        },\n        {\n            renderHeader: () => <span>{t('common:documents.table.columns.reviewed')}</span>,\n            headerClassName: cx('table__header'),\n            render: (row: DocumentRowT) => {\n                if (!row.actualVersion) {\n                    return null;\n                }\n\n                if (isShowReviewUser) {\n                    return (\n                        <EventCell\n                            date={row.actualVersion.reviewedDate}\n                            userId={row.actualVersion.reviewedById}\n                            userFullName={row.actualVersion.reviewedByName}\n                            byBroker\n                            openUserDetails={onOpenUserDetails}\n                        />\n                    );\n                }\n\n                return <DateCell isBigFont isBold date={row.actualVersion?.reviewedDate} />;\n            },\n            className: cx('table__column', 'table__column--review'),\n            testSelector: 'review',\n        },\n        {\n            renderHeader: () => <span>{t('common:documents.table.columns.expire-date')}</span>,\n            headerClassName: cx('table__header'),\n            headerMods: {\n                [TableColumnModsEnum.center]: true,\n            },\n            render: (row: DocumentRowT) => {\n                return <ExpireDateCell row={row} onUploadDocument={onUploadDocument} onSelectRow={onSelectRow} />;\n            },\n            className: cx('table__column', 'table__column--expire-date'),\n            testSelector: 'valid-till',\n        },\n        {\n            renderHeader: () => <span>{t('common:documents.table.columns.status')}</span>,\n            headerClassName: cx('table__header'),\n            render: (row: DocumentRowT) => {\n                const status = row.actualVersion ? row.actualVersion.status : null;\n\n                return (\n                    <DocumentStatusPill\n                        status={status}\n                        isSymmetrical\n                        isRequiredDocument={row?.dictDocument?.required === DocumentRequiredEnum.must}\n                    />\n                );\n            },\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n        {\n            renderHeader: () => null,\n            headerClassName: cx('table__header'),\n            render: (row: DocumentRowT) => {\n                return (\n                    <ActionsCell\n                        row={row}\n                        onUploadDocument={onUploadDocument}\n                        onDownloadDocument={onDownloadDocument}\n                        onEditDocumentInfo={onEditDocumentInfo}\n                        onRevokeDocument={onRevokeDocument}\n                    />\n                );\n            },\n            className: cx('table__column', 'table__column--actions'),\n            testSelector: 'actions',\n        },\n    ];\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, row: DocumentRowT) => {\n        return {\n            [TableRowModsEnum.hasLeftOrangeBorder]: documentStatusesAttentionSet?.has(\n                row.actualVersion?.status || null,\n            ),\n        };\n    };\n\n    const getRowTheme = (meta: TableRowMetaT, row: DocumentRowT): TableRowThemeEnum => {\n        return row?.actualVersion ? TableRowThemeEnum.normal : TableRowThemeEnum.empty;\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<DocumentRowT> tableName={tableName} isLoading={isLoading} rows={rows}>\n                {(rows, isUsedPrevRows) => (\n                    <DocumentsTable<DocumentRowT, void>\n                        testSelector={testSelector}\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        isLoading={isLoading}\n                        getRowMods={getRowMods}\n                        getRowTheme={getRowTheme}\n                        onSelectRow={onSelectRow}\n                        isUsedPrevRows={isUsedPrevRows}\n                        footerNode={footerNode}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default BaseDocumentsTable;\n","import { eventChannel } from 'redux-saga';\nimport { call, take } from 'redux-saga/effects';\n\nexport function createVisibilityChangeChannel() {\n    return eventChannel((emitter) => {\n        document.addEventListener('visibilitychange', () => {\n            emitter(document.hidden);\n        });\n\n        return () => {\n            // nothing\n        };\n    });\n}\n\nfunction* watchDocumentVisibilityChangeSaga(visibilityChangeSaga: any): WrapGeneratorT<void> {\n    const visibilityChangeChannel = yield call(createVisibilityChangeChannel);\n    while (true) {\n        const isHidden = yield take(visibilityChangeChannel);\n        if (isHidden) {\n            yield call(visibilityChangeSaga);\n        }\n    }\n}\n\nexport default watchDocumentVisibilityChangeSaga;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.deadlineTimeWindow] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { FieldsEnum, FormValuesT, ShipmentFieldsEnum } from 'common/layouts/NewOrderPage/CargoDetailsForm/constants';\nimport { ApiTrailerDictTypeT } from 'common/utils/api/models';\nimport { TemperatureRangesValidationResultT } from 'common/layouts/NewOrderPage/CargoDetailsForm/footer-alert-contents/TemperatureRangesCompatibleValidationAlertContent/TemperatureRangesCompatibleValidationAlertContent';\n\ntype ValidateMetaT = {\n    trailerType: ApiTrailerDictTypeT | null | undefined;\n};\n\nexport const checkTemperatureRangesCompatible = (\n    formValues: FormValuesT,\n    meta: ValidateMetaT,\n): TemperatureRangesValidationResultT | null => {\n    if (!meta?.trailerType?.reefer) {\n        return null;\n    }\n\n    const shipments = formValues[FieldsEnum.shipments] || [];\n    const firstShipment = shipments?.[0] || null;\n\n    if (!firstShipment) {\n        return null;\n    }\n\n    let minTemperature = firstShipment[ShipmentFieldsEnum.cargoTemperatureRange][0];\n    let maxTemperature = firstShipment[ShipmentFieldsEnum.cargoTemperatureRange][1];\n\n    shipments.forEach((shipment) => {\n        minTemperature = Math.max(minTemperature, shipment[ShipmentFieldsEnum.cargoTemperatureRange][0]);\n        maxTemperature = Math.min(maxTemperature, shipment[ShipmentFieldsEnum.cargoTemperatureRange][1]);\n    });\n\n    const isCompatible = minTemperature <= maxTemperature;\n    return isCompatible ? null : {};\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"name--empty\":\"ContractName__name--empty___wo8Ik\",\"fadeIn\":\"ContractName__fadeIn___BIOGj\",\"blinking\":\"ContractName__blinking___ZBpQ0\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './FooterSideBarLayout.scss';\nimport SideBarLayoutContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-layout-context';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isAbsolute?: boolean;\n    topNode?: React.ReactNode;\n    hasPaddings?: boolean;\n    hasTopBorder?: boolean;\n    isTransparent?: boolean;\n    hasShadow?: boolean;\n};\n\nconst FooterSideBarLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, isAbsolute, topNode, hasPaddings, hasTopBorder, isTransparent, hasShadow, className } = props;\n\n    const ref = React.useRef<HTMLDivElement | null>(null);\n\n    const context = React.useContext(SideBarLayoutContext);\n\n    const measureContainer = () => {\n        if (!ref.current) {\n            return;\n        }\n\n        const newHeight = ref.current?.clientHeight;\n        context.footerHeight?.setValue(newHeight);\n    };\n\n    React.useEffect(() => {\n        requestAnimationFrame(measureContainer);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [children, topNode, hasPaddings, hasTopBorder]);\n\n    React.useEffect(() => {\n        window.addEventListener('resize', measureContainer);\n\n        return () => {\n            window.removeEventListener('resize', measureContainer);\n            context.footerHeight?.setValue(0);\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    return (\n        <div\n            ref={ref}\n            className={cs(\n                cx('wrap', {\n                    'wrap--hasTopBorder': hasTopBorder,\n                }),\n                className,\n            )}\n            style={{ marginRight: `${context.scrollBarWidth?.value || 0}px` }}\n        >\n            <div\n                className={cx('inner', {\n                    'inner--isAbsolute': isAbsolute,\n                })}\n            >\n                {topNode}\n                {children && (\n                    <div\n                        className={cx('content', {\n                            'content--hasPaddings': hasPaddings,\n                            'content--hasBackground': !isTransparent,\n                            'content--hasShadow': hasShadow,\n                        })}\n                    >\n                        {children}\n                    </div>\n                )}\n            </div>\n        </div>\n    );\n});\n\nexport default FooterSideBarLayout;\n","import { useEffect, useState } from 'react';\nimport isEqual from 'lodash/isEqual';\n\nfunction useEqualPreviousValue<ValueT>(value: ValueT): ValueT {\n    const [savedValue, setSavedValue] = useState<ValueT>(value);\n\n    // Store current value in ref\n    useEffect(() => {\n        if (!isEqual(savedValue, value)) {\n            setSavedValue(value);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [value]);\n\n    return savedValue;\n}\n\nexport { useEqualPreviousValue };\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"SystemSettings__widget___b4FUU\",\"widget__inner\":\"SystemSettings__widget__inner___YTZbX\",\"widget-group\":\"SystemSettings__widget-group___HwkcD\",\"widget-group__widget\":\"SystemSettings__widget-group__widget___gEYhD\",\"actions\":\"SystemSettings__actions___zmTpV\",\"actions__save\":\"SystemSettings__actions__save___iapa8\",\"wrap\":\"SystemSettings__wrap___mAqDA\",\"field--minimal-cost-for-shipment\":\"SystemSettings__field--minimal-cost-for-shipment___WOVZa\",\"field--driver-salary-per-hour\":\"SystemSettings__field--driver-salary-per-hour___JGppj\",\"field--driver-working-day\":\"SystemSettings__field--driver-working-day___WUCZF\",\"field--driver-rest-time\":\"SystemSettings__field--driver-rest-time___wJVo3\",\"field--layover-cost-per-hour\":\"SystemSettings__field--layover-cost-per-hour___tdmFQ\",\"field--truck-consumption\":\"SystemSettings__field--truck-consumption____b5wm\",\"field--reef-consumption\":\"SystemSettings__field--reef-consumption___O5ZO6\",\"field--green-shipment-cost\":\"SystemSettings__field--green-shipment-cost___xx7hG\",\"field--pricing\":\"SystemSettings__field--pricing___UC4BT\",\"field--carrier-assignment\":\"SystemSettings__field--carrier-assignment___NGikw\",\"field--tranziit-service-fee-value\":\"SystemSettings__field--tranziit-service-fee-value___Dzfjw\",\"field--tranziit-service-fee-type\":\"SystemSettings__field--tranziit-service-fee-type___uFFSB\",\"tab\":\"SystemSettings__tab___zWbn6\",\"fadeIn\":\"SystemSettings__fadeIn___wasG8\",\"blinking\":\"SystemSettings__blinking___wwomZ\"};","import React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport find from 'lodash/find';\nimport {\n    useFloating,\n    autoUpdate,\n    offset,\n    flip,\n    shift,\n    useDismiss,\n    useInteractions,\n    FloatingPortal,\n    type Placement,\n} from '@floating-ui/react';\n\nimport styles from './SortDropdown.scss';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport { useTranslation } from 'react-i18next';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\n\nconst cx = classNames.bind(styles);\n\nexport enum SortDropdownOverlayPositionEnum {\n    left = 'left',\n    right = 'right',\n}\n\nexport type SortDropdownOptionT<T extends string> = {\n    label: string;\n    value: PageSortT<T>['value'];\n};\n\nexport type PropsT<T extends string> = {\n    selectedValue: PageSortT<T>;\n    isDisabled?: boolean;\n    options: Array<SortDropdownOptionT<T>>;\n    onSelect: (value: PageSortT<T>) => void;\n    className?: string;\n    triggerClassName?: string;\n    overlayPosition: SortDropdownOverlayPositionEnum;\n    testSelector?: string;\n};\n\nconst TOOLTIP_DELAY = 300;\n\nconst POSITION_TO_PLACEMENT: Record<SortDropdownOverlayPositionEnum, Placement> = {\n    [SortDropdownOverlayPositionEnum.left]: 'bottom-start',\n    [SortDropdownOverlayPositionEnum.right]: 'bottom-end',\n};\n\nconst SortDropdown = <T extends string = string>(props: PropsT<T>) => {\n    const { selectedValue, onSelect, options, isDisabled, className, triggerClassName, overlayPosition, testSelector } =\n        props;\n\n    const [isActive, toggleActive] = React.useState(false);\n    const [isOpen, toggleOpen] = React.useState(false);\n\n    const { t } = useTranslation();\n\n    const handleOpen = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        toggleOpen(true);\n    };\n\n    const handleClose = (): void => {\n        toggleOpen(false);\n    };\n\n    const { refs, floatingStyles, context } = useFloating({\n        open: isOpen,\n        onOpenChange: (open) => {\n            if (!open) {\n                toggleOpen(false);\n            }\n        },\n        placement: POSITION_TO_PLACEMENT[overlayPosition],\n        middleware: [offset(0), flip({ padding: 8 }), shift({ padding: 8 })],\n        strategy: 'fixed',\n        transform: false,\n        whileElementsMounted: autoUpdate,\n    });\n\n    const dismiss = useDismiss(context, {\n        outsidePressEvent: 'mousedown',\n    });\n\n    const { getReferenceProps, getFloatingProps } = useInteractions([dismiss]);\n\n    const selectedOption = find(options, (option) => {\n        return selectedValue.value === option.value;\n    });\n\n    const fullTestSelector = `${testSelector}_sort`;\n\n    return (\n        <div className={cs(cx('input'), className)} ref={refs.setReference} {...getReferenceProps()}>\n            <div\n                className={cs(\n                    cx('trigger', {\n                        'trigger--isClickable': !isDisabled,\n                        'trigger--isPressed': isOpen,\n                        'trigger--isActive': isActive,\n                    }),\n                    triggerClassName,\n                )}\n                onMouseUp={(\n                    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                    event,\n                ) => {\n                    toggleActive(false);\n                }}\n                onMouseLeave={(\n                    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                    event,\n                ) => {\n                    toggleActive(false);\n                }}\n                onMouseDown={(\n                    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                    event,\n                ) => {\n                    toggleActive(true);\n                }}\n                onClick={handleOpen}\n                data-test-selector={`${fullTestSelector}_trigger`}\n            >\n                <div className={cx('trigger__icon')}>\n                    <ClickInterceptorLabel\n                        onClick={() => {\n                            const invertDirection =\n                                selectedValue?.direction === SortDirectionEnum.DESC\n                                    ? SortDirectionEnum.ASC\n                                    : SortDirectionEnum.DESC;\n\n                            onSelect({\n                                value: selectedValue?.value,\n                                direction: invertDirection,\n                            });\n                        }}\n                        onMouseUp={(event) => {\n                            event.stopPropagation();\n                        }}\n                        onMouseDown={(event) => {\n                            event.stopPropagation();\n                        }}\n                    >\n                        <Tooltip\n                            position={\n                                overlayPosition === SortDropdownOverlayPositionEnum.right\n                                    ? TooltipPositionEnum.centerLeft\n                                    : TooltipPositionEnum.centerRight\n                            }\n                            theme={TooltipThemeEnum.black}\n                            delay={TOOLTIP_DELAY}\n                            tooltipNode={\n                                <div className={cx('trigger-tooltip')}>\n                                    {selectedValue?.direction === SortDirectionEnum.ASC\n                                        ? t('common:change-sort.desc')\n                                        : t('common:change-sort.asc')}\n                                </div>\n                            }\n                        >\n                            {() => (\n                                <div\n                                    className={cx('trigger-icon', {\n                                        'trigger-icon--isRevert': selectedValue?.direction === SortDirectionEnum.ASC,\n                                    })}\n                                    data-test-selector={`${fullTestSelector}_direction`}\n                                />\n                            )}\n                        </Tooltip>\n                    </ClickInterceptorLabel>\n                </div>\n                <div className={cx('trigger__label')}>{selectedOption?.label || ''}</div>\n                <div className={cx('trigger__icon')}>\n                    <ArrowsIcon className={cx('icon')} />\n                </div>\n            </div>\n            {isOpen && (\n                <FloatingPortal>\n                    <div\n                        ref={refs.setFloating}\n                        style={floatingStyles}\n                        className={cx('overlay')}\n                        {...getFloatingProps()}\n                    >\n                        {options.map((option, index): React.ReactElement => {\n                            const { label, value } = option || {};\n\n                            const isSelected = selectedValue.value === value;\n\n                            return (\n                                <div\n                                    key={index}\n                                    className={cx('option', {\n                                        'option--isSelected': isSelected,\n                                    })}\n                                    onClick={(): void => {\n                                        if (isDisabled) {\n                                            return;\n                                        }\n\n                                        onSelect({\n                                            value,\n                                            direction: selectedValue.direction,\n                                        });\n\n                                        handleClose();\n                                    }}\n                                    data-test-selector={`${fullTestSelector}_option_${index}`}\n                                >\n                                    <div className={cx('option__label')}>{label}</div>\n                                    {isSelected && (\n                                        <div\n                                            className={cx('option__icon')}\n                                            data-test-selector={`${fullTestSelector}_selected`}\n                                        >\n                                            <DoneIcon\n                                                fillColor={StyleGuideColorsEnum.charcoal}\n                                                size={DEFAULT_ICON_SIZE}\n                                                className={cx('icon')}\n                                            />\n                                        </div>\n                                    )}\n                                </div>\n                            );\n                        })}\n                    </div>\n                </FloatingPortal>\n            )}\n        </div>\n    );\n};\n\nexport default React.memo(SortDropdown) as typeof SortDropdown;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const membersRefreshChannel = new ViewEventChannel<{}>();\n","import { RFQsQuickFilterEnum } from 'common/utils/api/models';\n\nexport enum QueryFiltersKeysEnum {\n    pickupAddress = 'pickupAddress',\n    dropoffAddress = 'dropoffAddress',\n    dictTrailerId = 'dictTrailerId',\n    pickupDateFrom = 'pickupDateFrom',\n    pickupDateTo = 'pickupDateTo',\n    dropOffDateFrom = 'dropOffDateFrom',\n    dropOffDateTo = 'dropOffDateTo',\n    createdDateFrom = 'createdDateFrom',\n    createdDateTo = 'createdDateTo',\n    createdByName = 'createdByName',\n    createdById = 'createdById',\n    source = 'source',\n    extendedSource = 'extendedSource',\n    shipperIds = 'shipperIds',\n    shipperNames = 'shipperNames',\n\n    quickFilter = 'quickFilter',\n\n    searchText = 'searchText',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.dropoffAddress]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupAddress]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dictTrailerId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdById]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.source]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.extendedSource]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.shipperIds]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.shipperNames]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.quickFilter]: RFQsQuickFilterEnum;\n\n    [QueryFiltersKeysEnum.searchText]: QueryParam.StringT;\n}>;\n\nexport enum QueryKeysEnum {\n    rfqsPage = 'rfqs-page',\n    rfqsSort = 'rfqs-sort',\n    rfqsFilters = 'rfqs-filters',\n}\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AssetClusterPin.scss';\nimport TruckIcon, { getTruckIconProps } from 'common/icons/TruckIcon';\nimport TrailerIcon, { getTrailerIconProps } from 'common/icons/TrailerIcon';\nimport AssetLinkIcon, { getAssetLinkIconProps } from 'common/icons/AssetLinkIcon';\nimport { getAssignmentIconPreset } from '../utils/get-assignment-icon-preset';\nimport MapCluster, { MapClusterThemeEnum } from 'common/components/maps/MapCluster/MapCluster';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    lat: number;\n    lng: number;\n\n    trucksCount: number;\n    hasSelectedTruck: boolean;\n    trailersCount: number;\n    hasSelectedTrailer: boolean;\n    linksCount: number;\n    hasSelectedLink: boolean;\n\n    clusterId: number;\n    onClick: (clusterId: number) => void;\n    className?: string;\n\n    canInTime: boolean;\n};\n\nconst getMapClusterTheme = ({\n    canInTime,\n    hasSelectedTrailer,\n    hasSelectedTruck,\n    hasSelectedLink,\n}: {\n    canInTime: boolean;\n    hasSelectedTrailer: boolean;\n    hasSelectedTruck: boolean;\n    hasSelectedLink: boolean;\n}): MapClusterThemeEnum => {\n    if (hasSelectedTrailer || hasSelectedTruck || hasSelectedLink) {\n        return MapClusterThemeEnum.charcoal;\n    }\n\n    if (!canInTime) {\n        return MapClusterThemeEnum.light;\n    }\n\n    return MapClusterThemeEnum.slate;\n};\n\nconst AssetClusterPin: React.FC<PropsT> = React.memo((props) => {\n    const {\n        lat,\n        lng,\n        trucksCount,\n        hasSelectedTruck,\n        trailersCount,\n        hasSelectedTrailer,\n        linksCount,\n        hasSelectedLink,\n        className,\n        clusterId,\n        onClick,\n        canInTime,\n    } = props;\n\n    return (\n        <MapCluster\n            lat={lat}\n            lng={lng}\n            className={className}\n            theme={getMapClusterTheme({\n                canInTime,\n                hasSelectedTrailer,\n                hasSelectedTruck,\n                hasSelectedLink,\n            })}\n            onClick={() => {\n                onClick(clusterId);\n            }}\n        >\n            {() => (\n                <>\n                    {trucksCount !== 0 && (\n                        <div className={cx('row')}>\n                            <TruckIcon\n                                className={cx('icon')}\n                                {...getTruckIconProps(\n                                    getAssignmentIconPreset({\n                                        isSelected: hasSelectedTruck,\n                                        canInTime,\n                                    }),\n                                )}\n                            />\n                            <span\n                                className={cx('text', {\n                                    'text--isNotCanInTime': !canInTime,\n                                    'text--isSelected': hasSelectedTruck,\n                                })}\n                            >\n                                {trucksCount}\n                            </span>\n                        </div>\n                    )}\n                    {trailersCount !== 0 && (\n                        <div className={cx('row')}>\n                            <TrailerIcon\n                                className={cx('icon')}\n                                {...getTrailerIconProps(\n                                    getAssignmentIconPreset({ isSelected: hasSelectedTrailer, canInTime }),\n                                )}\n                            />\n                            <span\n                                className={cx('text', {\n                                    'text--isNotCanInTime': !canInTime,\n                                    'text--isSelected': hasSelectedTrailer,\n                                })}\n                            >\n                                {trailersCount}\n                            </span>\n                        </div>\n                    )}\n                    {linksCount !== 0 && (\n                        <div className={cx('row')}>\n                            <AssetLinkIcon\n                                className={cx('icon')}\n                                {...getAssetLinkIconProps(\n                                    getAssignmentIconPreset({ isSelected: hasSelectedLink, canInTime }),\n                                )}\n                            />\n                            <span\n                                className={cx('text', {\n                                    'text--isNotCanInTime': !canInTime,\n                                    'text--isSelected': hasSelectedLink,\n                                })}\n                            >\n                                {linksCount}\n                            </span>\n                        </div>\n                    )}\n                </>\n            )}\n        </MapCluster>\n    );\n});\n\nexport default AssetClusterPin;\n","import { useDispatch, useSelector } from 'react-redux';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport * as React from 'react';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\n\nconst useCountriesByCode = (): ReturnType<typeof selectCountriesByCode> => {\n    const dispatch = useDispatch();\n\n    const countriesByCode = useSelector(selectCountriesByCode);\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    return countriesByCode;\n};\n\nexport { useCountriesByCode };\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './RFQsTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport StatusCell from './cell-renderers/StatusCell/StatusCell';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport LocationCell from './cell-renderers/LocationCell/LocationCell';\nimport CreatedCell from './cell-renderers/CreatedCell/CreatedCell';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport { RFQT } from 'common/store/rfqs/models';\nimport { DirectionEnum } from 'common/constants';\nimport TrailerTypeCell from './cell-renderers/TrailerTypeCell/TrailerTypeCell';\nimport ExternalNumberCell from 'common/layouts/RFQListPageLayout/RFQsTable/cell-renderers/ExternalNumberCell/ExternalNumberCell';\nimport PricesCell from './cell-renderers/PricesCell/PricesCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    rfqs: Array<RFQT>;\n    className?: string;\n    goToRFQDetails: (event: React.MouseEvent, rfqId: RFQIdT) => void;\n    goToUserDetails: (userId: UserIdT) => void;\n    isLoading: boolean;\n};\n\nconst RFQsTable: React.FC<PropsT> = React.memo((props) => {\n    const { rfqs, className, goToUserDetails, goToRFQDetails, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<RFQT, void>> = [\n        {\n            renderHeader: () => <span>{t('common:rfqs-page.table.columns.origin')}</span>,\n            headerClassName: cx('table__header', 'table__header--origin'),\n            render: (rfq: RFQT) => <LocationCell rfq={rfq} type={DirectionEnum.origin} />,\n            className: cx('table__column', 'table__column--origin'),\n            testSelector: 'origin',\n        },\n        {\n            renderHeader: () => <span>{t('common:rfqs-page.table.columns.destination')}</span>,\n            headerClassName: cx('table__header'),\n            render: (rfq: RFQT) => <LocationCell rfq={rfq} type={DirectionEnum.destination} />,\n            className: cx('table__column', 'table__column--destination'),\n            testSelector: 'destination',\n        },\n        {\n            renderHeader: () => <span>{t('common:rfqs-page.table.columns.created')}</span>,\n            headerClassName: cx('table__header'),\n            render: (rfq: RFQT) => <CreatedCell onOpenUser={goToUserDetails} rfq={rfq} />,\n            className: cx('table__column', 'table__column--create'),\n            testSelector: 'created',\n        },\n        {\n            renderHeader: () => <span>{t('common:rfqs-page.table.columns.external-number')}</span>,\n            headerClassName: cx('table__header', 'table__header--external-number'),\n            render: (rfq: RFQT) => <ExternalNumberCell number={rfq?.externalNumber} />,\n            className: cx('table__column', 'table__column--external-number'),\n            testSelector: 'external-number',\n        },\n\n        {\n            renderHeader: () => <span>{t('common:rfqs-page.table.columns.prices')}</span>,\n            headerClassName: cx('table__header', 'table__header--prices'),\n            render: (rfq: RFQT) => <PricesCell price={rfq.price} targetPrice={rfq.targetPrice} />,\n            className: cx('table__column', 'table__column--prices'),\n            testSelector: 'prices',\n        },\n        {\n            renderHeader: () => <span>{t('common:rfqs-page.table.columns.trailer')}</span>,\n            headerClassName: cx('table__header'),\n            render: (rfq: RFQT) => <TrailerTypeCell rfq={rfq} />,\n            className: cx('table__column'),\n            testSelector: 'trailer',\n        },\n        {\n            renderHeader: () => <span>{t('common:rfqs-page.table.columns.status')}</span>,\n            headerClassName: cx('table__header'),\n            render: (rfq: RFQT) => <StatusCell rfq={rfq} />,\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n    ];\n\n    const handleSelectRow = (event: React.MouseEvent, rfq: RFQT) => {\n        if (!rfq.id) {\n            return;\n        }\n\n        goToRFQDetails(event, rfq.id);\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, rfq: RFQT) => {\n        return {};\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<RFQT> tableName=\"rfqs\" isLoading={isLoading} rows={rfqs}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<RFQT, void>\n                        testSelector=\"rfqs\"\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        onSelectRow={handleSelectRow}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default RFQsTable;\n","import { StateT } from 'broker-admin/store/models';\nimport { DispatchersStateT } from './types';\n\nexport const selectFetchDispatchersRequest = (state: StateT): DispatchersStateT['request'] => state.dispatchers.request;\nexport const selectDispatchersAllIds = (state: StateT): DispatchersStateT['allIds'] => state.dispatchers.allIds || [];\nexport const selectDispatchersById = (state: StateT): DispatchersStateT['byId'] => state.dispatchers.byId || {};\n","import { SignUpParamsT } from 'common/store/auth/models';\nimport { FieldsEnum as UserFieldsEnum, FormValuesT as UserFormDataT } from './UserSignUpForm/constants';\nimport { FieldsEnum as CompanyFieldsEnum, FormValuesT as CompanyFormDataT } from './CompanySignUpForm/constants';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\n\nexport const prepareSignUpParams = (\n    userFormData: UserFormDataT | null,\n    companyFormData: CompanyFormDataT | null,\n): SignUpParamsT | null => {\n    if (!userFormData || !companyFormData) {\n        return null;\n    }\n\n    return {\n        firstName: simpleStringFormatter(userFormData[UserFieldsEnum.firstName]),\n        lastName: simpleStringFormatter(userFormData[UserFieldsEnum.lastName]),\n        email: simpleStringFormatter(userFormData[UserFieldsEnum.email]),\n        password: simpleStringFormatter(userFormData[UserFieldsEnum.password]),\n        phone: userFormData[UserFieldsEnum.phone],\n        legalFormId: companyFormData[CompanyFieldsEnum.legalFormId],\n\n        companyName: simpleStringFormatter(companyFormData[CompanyFieldsEnum.companyName]),\n        city: simpleStringFormatter(companyFormData[CompanyFieldsEnum.city]),\n        countryCode: companyFormData[CompanyFieldsEnum.countryCode] || '',\n        street1: simpleStringFormatter(companyFormData[CompanyFieldsEnum.street1]),\n        zipCode: simpleStringFormatter(companyFormData[CompanyFieldsEnum.zipCode]),\n    };\n};\n","import {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { CarrierContractStatusEnum } from 'common/utils/api/models';\nimport { PermissionsT } from 'common/store/auth/models';\nimport { ContractsActionsT } from '../models';\nimport EditIcon from 'common/icons/EditIcon';\nimport { logWarning } from 'common/utils/logger';\nimport { PartnerContractT } from 'common/store/carrier-contracts/models';\nimport DownloadIcon from 'common/icons/DownloadIcon';\n\nenum ContractActionsEnum {\n    download = 'download',\n    revoke = 'revoke',\n    edit = 'edit',\n}\n\ntype CallbacksT = ContractsActionsT;\n\nexport const useContractsActionOptions = (\n    contract: PartnerContractT | null,\n    permissions: PermissionsT,\n    callbacks: CallbacksT,\n): Array<DropdownControlOptionT | SpecialOptionEnum> => {\n    const { onDownloadContract, onEditContractDetails, onRevokeContract } = callbacks;\n\n    const { canDownloadCarrierContracts, canEditCarrierContracts, canRevokeCarrierContracts } = permissions;\n\n    const { t } = useTranslation();\n\n    const contractId = contract?.id || null;\n\n    const optionsConfigMap: Record<\n        ContractActionsEnum,\n        { icon: React.ReactNode; label: React.ReactNode; onSelect: () => void }\n    > = {\n        [ContractActionsEnum.download]: {\n            icon: <DownloadIcon fillColor={StyleGuideColorsEnum.charcoal} size={DEFAULT_ICON_SIZE} />,\n            label: t('common:carrier-contracts.table.actions.download'),\n            onSelect: () => {\n                if (!contractId) {\n                    logWarning('failed to download contract, empty contractId');\n                    return;\n                }\n\n                onDownloadContract(contractId);\n            },\n        },\n        [ContractActionsEnum.revoke]: {\n            icon: <CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />,\n            label: t('common:carrier-contracts.table.actions.revoke'),\n            onSelect: () => {\n                if (!contract) {\n                    logWarning('failed to revoke contract, empty contract');\n                    return;\n                }\n\n                onRevokeContract({\n                    id: contract.id,\n                    name: contract.name,\n                    truckRateKm: contract.truckRateKm,\n                    tiltRateKm: contract.tiltRateKm,\n                    boxRateKm: contract.boxRateKm,\n                });\n            },\n        },\n        [ContractActionsEnum.edit]: {\n            icon: (\n                <EditIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            ),\n            label: t('common:carrier-contracts.table.actions.edit'),\n            onSelect: () => {\n                if (!contractId) {\n                    logWarning('failed to edit contract, empty contractId');\n                    return;\n                }\n\n                onEditContractDetails(contractId);\n            },\n        },\n    };\n\n    const actions = React.useMemo((): Array<ContractActionsEnum | SpecialOptionEnum> => {\n        const hasAnyVersion = !!contract;\n\n        const actions: Array<ContractActionsEnum | SpecialOptionEnum> = [];\n\n        if (hasAnyVersion && canDownloadCarrierContracts) {\n            actions.push(ContractActionsEnum.download);\n        }\n\n        if (hasAnyVersion && contract?.status === CarrierContractStatusEnum.approved && canEditCarrierContracts) {\n            actions.push(SpecialOptionEnum.separator);\n            actions.push(ContractActionsEnum.edit);\n        }\n\n        if (hasAnyVersion && contract?.status === CarrierContractStatusEnum.approved && canRevokeCarrierContracts) {\n            actions.push(SpecialOptionEnum.separator);\n            actions.push(ContractActionsEnum.revoke);\n        }\n\n        return actions;\n    }, [contract, canDownloadCarrierContracts, canEditCarrierContracts, canRevokeCarrierContracts]);\n\n    const options = actions.map((action) => {\n        if (action === SpecialOptionEnum.separator) {\n            return SpecialOptionEnum.separator;\n        }\n\n        const optionConfig = optionsConfigMap[action];\n\n        return {\n            label: <DropdownControlOptionLabel icon={optionConfig.icon} label={optionConfig.label} />,\n            onSelect: optionConfig.onSelect,\n        };\n    });\n\n    return options;\n};\n","import { ApiScheduleAddressT, SetUnavailableVehicleQueryT } from 'common/utils/api/models';\nimport moment from 'moment';\n\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { AssetTypeEnum } from 'common/constants';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport isNumber from 'lodash/isNumber';\n\nexport const prepareQuery = (formValues: FormValuesT, assetType: AssetTypeEnum): SetUnavailableVehicleQueryT | null => {\n    const dateRange = formValues[FieldsEnum.dateRange];\n\n    if (!dateRange?.from) {\n        return null;\n    }\n\n    const query: SetUnavailableVehicleQueryT = {};\n\n    const apiLocation = prepareLocation(formValues[FieldsEnum.dropoffLocation]);\n\n    const dateFrom = moment(dateRange.from).startOf('day').format();\n    const dateTo = moment(dateRange.to || dateRange.from)\n        .endOf('day')\n        .format();\n\n    const latitude = apiLocation?.latitude || null;\n    const longitude = apiLocation?.longitude || null;\n    if (!isNumber(latitude) || !isNumber(longitude)) {\n        return null;\n    }\n\n    const scheduleAddress: ApiScheduleAddressT = {\n        ...apiLocation,\n        latitude,\n        longitude,\n    };\n\n    if (assetType === AssetTypeEnum.truck) {\n        query.truckDateFrom = dateFrom;\n        query.truckDateTo = dateTo;\n        query.truckOrigin = scheduleAddress || undefined;\n        query.truckDestination = scheduleAddress || undefined;\n    }\n\n    if (assetType === AssetTypeEnum.trailer) {\n        query.trailerDateFrom = dateFrom;\n        query.trailerDateTo = dateTo;\n        query.trailerOrigin = scheduleAddress || undefined;\n        query.trailerDestination = scheduleAddress || undefined;\n    }\n\n    return query;\n};\n","export enum TabEnum {\n    active = 'active',\n    archive = 'archive',\n}\n","import {\n    APPROVE_DOCUMENT_REQUEST,\n    APPROVE_EVIDENCE_OF_TAX_DOCUMENT_REQUEST,\n    ApproveDocumentActionT,\n    ApproveEvidenceOfTaxDocumentActionT,\n    DOWNLOAD_DOCUMENT_REQUEST,\n    DOWNLOAD_DOCUMENT_REQUEST_BEGIN,\n    DOWNLOAD_DOCUMENT_REQUEST_ERROR,\n    DOWNLOAD_DOCUMENT_REQUEST_SUCCESS,\n    DownloadDocumentActionT,\n    DownloadDocumentBeginActionT,\n    DownloadDocumentErrorActionT,\n    DownloadDocumentSuccessActionT,\n    FETCH_DOCUMENTS_REQUEST,\n    FETCH_DOCUMENTS_REQUEST_BEGIN,\n    FETCH_DOCUMENTS_REQUEST_ERROR,\n    FETCH_DOCUMENTS_REQUEST_SUCCESS,\n    FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST,\n    FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN,\n    FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR,\n    FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS,\n    FetchDocumentsActionT,\n    FetchDocumentsBeginActionT,\n    FetchDocumentsErrorActionT,\n    FetchDocumentsSuccessActionT,\n    FetchEvidenceOfTaxDetailsActionT,\n    FetchEvidenceOfTaxDetailsBeginActionT,\n    FetchEvidenceOfTaxDetailsErrorActionT,\n    FetchEvidenceOfTaxDetailsSuccessActionT,\n    REJECT_DOCUMENT_REQUEST,\n    RejectDocumentActionT,\n    RESET,\n    ResetDocumentActionT,\n    REVOKE_DOCUMENT_REQUEST,\n    RevokeDocumentActionT,\n    UPDATE_DOCUMENT_REQUEST,\n    UPDATE_DOCUMENT_REQUEST_BEGIN,\n    UPDATE_DOCUMENT_REQUEST_ERROR,\n    UPDATE_DOCUMENT_REQUEST_SUCCESS,\n    UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST,\n    UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN,\n    UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR,\n    UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS,\n    UpdateDocumentActionT,\n    UpdateDocumentBeginActionT,\n    UpdateDocumentErrorActionT,\n    UpdateDocumentSuccessActionT,\n    UpdateEvidenceOfTaxDetailsActionT,\n    UpdateEvidenceOfTaxDetailsBeginActionT,\n    UpdateEvidenceOfTaxDetailsErrorActionT,\n    UpdateEvidenceOfTaxDetailsSuccessActionT,\n    UPLOAD_DOCUMENT_REQUEST,\n    UPLOAD_DOCUMENT_REQUEST_BEGIN,\n    UPLOAD_DOCUMENT_REQUEST_ERROR,\n    UPLOAD_DOCUMENT_REQUEST_SUCCESS,\n    UploadDocumentActionT,\n    UploadDocumentBeginActionT,\n    UploadDocumentErrorActionT,\n    UploadDocumentSuccessActionT,\n} from './types';\nimport {\n    DocumentDetailsChangesT,\n    DocumentIdsByTypeT,\n    DocumentT,\n    EvidenceOfTaxDetailsChangesT,\n    EvidenceOfTaxDetailsT,\n} from './models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\nexport const fetchDocuments = (companyId: CompanyIdT, options?: FetchOptionsT): FetchDocumentsActionT => ({\n    type: FETCH_DOCUMENTS_REQUEST,\n    companyId,\n    options,\n});\n\nexport const fetchDocumentsBegin = (companyId: CompanyIdT): FetchDocumentsBeginActionT => ({\n    type: FETCH_DOCUMENTS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const fetchDocumentsSuccess = (\n    documentIdsByType: DocumentIdsByTypeT,\n    documentsList: DocumentT[],\n    companyId: CompanyIdT,\n): FetchDocumentsSuccessActionT => ({\n    type: FETCH_DOCUMENTS_REQUEST_SUCCESS,\n    documentIdsByType,\n    documentsList,\n    companyId,\n});\n\nexport const fetchDocumentsError = (error: Error, companyId: CompanyIdT): FetchDocumentsErrorActionT => ({\n    type: FETCH_DOCUMENTS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const uploadDocument = (\n    dictDocumentId: DictDocumentFakeIdT,\n    file: File,\n    companyId: CompanyIdT,\n    partnerType: PartnerTypeEnum,\n): UploadDocumentActionT => ({\n    type: UPLOAD_DOCUMENT_REQUEST,\n    dictDocumentId,\n    file,\n    partnerType,\n    companyId,\n});\n\nexport const uploadDocumentBegin = (\n    companyId: CompanyIdT,\n    dictDocumentId: DictDocumentFakeIdT,\n): UploadDocumentBeginActionT => ({\n    type: UPLOAD_DOCUMENT_REQUEST_BEGIN,\n    companyId,\n    dictDocumentId,\n});\n\nexport const uploadDocumentSuccess = (companyId: CompanyIdT): UploadDocumentSuccessActionT => ({\n    type: UPLOAD_DOCUMENT_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const uploadDocumentError = (error: Error, companyId: CompanyIdT): UploadDocumentErrorActionT => ({\n    type: UPLOAD_DOCUMENT_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const downloadDocument = (documentId: DocumentIdT, companyId: CompanyIdT): DownloadDocumentActionT => ({\n    type: DOWNLOAD_DOCUMENT_REQUEST,\n    documentId,\n    companyId,\n});\n\nexport const downloadDocumentBegin = (companyId: CompanyIdT): DownloadDocumentBeginActionT => ({\n    type: DOWNLOAD_DOCUMENT_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const downloadDocumentSuccess = (companyId: CompanyIdT): DownloadDocumentSuccessActionT => ({\n    type: DOWNLOAD_DOCUMENT_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const downloadDocumentError = (error: Error, companyId: CompanyIdT): DownloadDocumentErrorActionT => ({\n    type: DOWNLOAD_DOCUMENT_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const approveDocument = (\n    documentId: DocumentIdT,\n    validTill: string | null,\n    companyId: CompanyIdT,\n    partnerType: PartnerTypeEnum,\n): ApproveDocumentActionT => ({\n    type: APPROVE_DOCUMENT_REQUEST,\n    documentId,\n    companyId,\n    validTill,\n    partnerType,\n});\n\nexport const approveEvidenceOfTaxDocument = (\n    companyId: CompanyIdT,\n    partnerType: PartnerTypeEnum,\n    documentId: DocumentIdT,\n    validTill: string | null,\n    detailsChanges: EvidenceOfTaxDetailsChangesT,\n): ApproveEvidenceOfTaxDocumentActionT => ({\n    type: APPROVE_EVIDENCE_OF_TAX_DOCUMENT_REQUEST,\n    documentId,\n    companyId,\n    validTill,\n    partnerType,\n    detailsChanges,\n});\n\nexport const rejectDocument = (\n    documentId: DocumentIdT,\n    reason: string,\n    companyId: CompanyIdT,\n    partnerType: PartnerTypeEnum,\n): RejectDocumentActionT => ({\n    type: REJECT_DOCUMENT_REQUEST,\n    documentId,\n    reason,\n    companyId,\n    partnerType,\n});\n\nexport const revokeDocument = (\n    documentId: DocumentIdT,\n    companyId: CompanyIdT,\n    partnerType: PartnerTypeEnum,\n): RevokeDocumentActionT => ({\n    type: REVOKE_DOCUMENT_REQUEST,\n    documentId,\n    companyId,\n    partnerType,\n});\n\nexport const updateEvidenceOfTaxDetails = (\n    companyId: CompanyIdT,\n    documentId: DocumentIdT,\n    detailsChanges: EvidenceOfTaxDetailsChangesT,\n): UpdateEvidenceOfTaxDetailsActionT => ({\n    type: UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST,\n    companyId,\n    documentId,\n    detailsChanges,\n});\n\nexport const updateEvidenceOfTaxDetailsBegin = (companyId: CompanyIdT): UpdateEvidenceOfTaxDetailsBeginActionT => ({\n    type: UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const updateEvidenceOfTaxDetailsSuccess = (companyId: CompanyIdT): UpdateEvidenceOfTaxDetailsSuccessActionT => ({\n    type: UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const updateEvidenceOfTaxDetailsError = (\n    error: Error,\n    companyId: CompanyIdT,\n): UpdateEvidenceOfTaxDetailsErrorActionT => ({\n    type: UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const updateDocument = (\n    documentId: DocumentIdT,\n    companyId: CompanyIdT,\n    detailChanges: DocumentDetailsChangesT,\n): UpdateDocumentActionT => ({\n    type: UPDATE_DOCUMENT_REQUEST,\n    documentId,\n    companyId,\n    detailChanges,\n});\n\nexport const updateDocumentBegin = (companyId: CompanyIdT, documentId: DocumentIdT): UpdateDocumentBeginActionT => ({\n    type: UPDATE_DOCUMENT_REQUEST_BEGIN,\n    companyId,\n    documentId,\n});\n\nexport const updateDocumentSuccess = (companyId: CompanyIdT): UpdateDocumentSuccessActionT => ({\n    type: UPDATE_DOCUMENT_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const updateDocumentError = (error: Error, companyId: CompanyIdT): UpdateDocumentErrorActionT => ({\n    type: UPDATE_DOCUMENT_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const fetchEvidenceOfTaxDetails = (companyId: CompanyIdT): FetchEvidenceOfTaxDetailsActionT => ({\n    type: FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST,\n    companyId,\n});\n\nexport const fetchEvidenceOfTaxDetailsBegin = (companyId: CompanyIdT): FetchEvidenceOfTaxDetailsBeginActionT => ({\n    type: FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const fetchEvidenceOfTaxDetailsSuccess = (\n    companyId: CompanyIdT,\n    evidenceOfTaxDetails: EvidenceOfTaxDetailsT,\n): FetchEvidenceOfTaxDetailsSuccessActionT => ({\n    type: FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS,\n    companyId,\n    evidenceOfTaxDetails,\n});\n\nexport const fetchEvidenceOfTaxDetailsError = (\n    companyId: CompanyIdT,\n    error: Error,\n): FetchEvidenceOfTaxDetailsErrorActionT => ({\n    type: FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const resetDocument = (companyId: CompanyIdT): ResetDocumentActionT => ({\n    type: RESET,\n    companyId,\n});\n","import { ContactPositionsEnum, RolesEnum, UserRoleT } from 'common/utils/api/models';\n\nexport const USER_ROLE_T_MAP: Record<`${UserRoleT}`, string> = {\n    [RolesEnum.serviceUser]: 'common:team-members.roles.COMPANY_ADMIN',\n    [RolesEnum.companyAdmin]: 'common:team-members.roles.COMPANY_ADMIN',\n    [RolesEnum.driver]: 'common:team-members.roles.DRIVER',\n    [RolesEnum.user]: 'common:team-members.roles.USER',\n    [RolesEnum.keyAccountManager]: 'common:team-members.roles.KEY_ACCOUNT_MANAGER',\n    [RolesEnum.dispatcher]: 'common:team-members.roles.DISPATCHER',\n};\n\nexport const USER_POSITIONS_T_MAP: Record<`${ContactPositionsEnum}`, string> = {\n    [ContactPositionsEnum.operator]: 'common:team-members.position.operator',\n    [ContactPositionsEnum.management]: 'common:team-members.position.management',\n    [ContactPositionsEnum.sales]: 'common:team-members.position.sales',\n    [ContactPositionsEnum.owner]: 'common:team-members.position.owner',\n    [ContactPositionsEnum.it]: 'common:team-members.position.it',\n};\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Steps.scss';\nimport times from 'lodash/times';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    minValue: number;\n    stepsCount: number;\n    step: number;\n    shownLabelCount: number;\n    shownStepCount: number;\n    hasStartStep?: boolean;\n    hasEndStep?: boolean;\n    filledPositions: number[];\n    renderLabel: (value: number) => string | number;\n};\n\nconst Steps: React.FC<PropsT> = React.memo((props) => {\n    const { minValue, stepsCount, step, shownLabelCount, shownStepCount, renderLabel } = props;\n\n    return (\n        <>\n            {times(stepsCount + 1).map((_, index) => {\n                const isShowLabel = index % shownLabelCount === 0;\n                const isShowStep = index % shownStepCount === 0;\n\n                // const hasBorder = !((!hasStartStep && index === 0) || (!hasEndStep && index === stepsCount));\n                const position = (100 / stepsCount) * index;\n                // const isFilledPosition = filledPositions[0] <= position && position <= filledPositions[1];\n\n                return (\n                    <div\n                        key={index}\n                        className={cx('step', {\n                            'step--isHideStep': !isShowStep,\n                        })}\n                        data-test-selector={`step_${index}`}\n                        style={{ left: `${position}%` }}\n                    >\n                        {isShowLabel && (\n                            <div\n                                className={cx('step__label', {\n                                    'step__label--isFirst': index === 0,\n                                    'step__label--isLast': index === stepsCount,\n                                })}\n                            >\n                                {renderLabel(minValue + index * step)}\n                            </div>\n                        )}\n                    </div>\n                );\n            })}\n        </>\n    );\n});\n\nexport default Steps;\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './ShipperContractLaneDetails.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport { EMPTY_VALUE_PLACEHOLDER } from 'common/components/ReadOnlyFieldValue/ReadOnlyFieldValue';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport { ShipperContractLaneDetailsT } from 'common/store/shipper-contract-lane-details/models';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\nimport OriginIcon from 'common/icons/OriginIcon';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport DestinationIcon from 'common/icons/DestinationIcon';\nimport { selectTrailersDictById } from 'common/store/trailers-dict/selectors';\nimport isNumber from 'lodash/isNumber';\nimport moment from 'moment';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    data: ShipperContractLaneDetailsT | null;\n};\n\nconst DATE_FORMAT = 'DD.MM.YYYY';\n\nconst ShipperContractLaneDetails: React.FC<PropsT> = (props) => {\n    const { className, data } = props;\n\n    const { t } = useTranslation();\n\n    const trailersDictById = useSelector(selectTrailersDictById) || {};\n    const trailerDictModel = data?.dictTrailerId ? trailersDictById[data?.dictTrailerId] : null;\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <FieldGroup>\n                <ReadOnlyField\n                    className={cx('field', 'field--trailer-type')}\n                    label={t(`common:shipper-lane-details.fields.trailer-type.label`)}\n                    icon={\n                        <TrailerIcon\n                            size={20}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                    value={\n                        trailerDictModel\n                            ? t('common:trailer-subtype-template', {\n                                  length: trailerDictModel.length,\n                                  model: trailerDictModel.model,\n                                  eur1Pallets: trailerDictModel.eur1Pallets,\n                                  eur2Pallets: trailerDictModel.eur2Pallets,\n                              })\n                            : ''\n                    }\n                />\n                <ReadOnlyField\n                    icon={<EmissionIcon strokeColor={StyleGuideColorsEnum.brandDark} />}\n                    className={cx('field', 'field--emission-class')}\n                    label={t('common:shipper-lane-details.fields.emission-type.label')}\n                    value={<EmissionClassLabel isCompact emissionClass={data?.emissionClass} />}\n                />\n            </FieldGroup>\n            <FieldGroup>\n                <ReadOnlyField\n                    icon={<OriginIcon />}\n                    className={cx('field', 'field--location')}\n                    label={t('common:shipper-lane-details.fields.origin.label')}\n                    value={data?.originFullAddress}\n                />\n                <ReadOnlyField\n                    className={cx('field', 'field--radius')}\n                    label={t('common:shipper-lane-details.fields.radius.label')}\n                    value={<UnitTypeCount count={data?.originRadius} type={UnitTypeEnum.kilometersAbbreviation} />}\n                />\n            </FieldGroup>\n            <FieldGroup>\n                <ReadOnlyField\n                    icon={<DestinationIcon />}\n                    className={cx('field', 'field--location')}\n                    label={t('common:shipper-lane-details.fields.destination.label')}\n                    value={data?.destinationFullAddress}\n                />\n                <ReadOnlyField\n                    className={cx('field', 'field--radius')}\n                    label={t('common:shipper-lane-details.fields.radius.label')}\n                    value={<UnitTypeCount count={data?.destinationRadius} type={UnitTypeEnum.kilometersAbbreviation} />}\n                />\n            </FieldGroup>\n            <FieldGroup>\n                <ReadOnlyField\n                    icon={\n                        <CalendarIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.white}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                    className={cx('field', 'field--date')}\n                    label={t('common:shipper-lane-details.fields.valid-from.label')}\n                    value={data?.validFrom ? moment(data.validFrom).format(DATE_FORMAT) : null}\n                />\n                <ReadOnlyField\n                    icon={\n                        <CalendarIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.white}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                    className={cx('field', 'field--date')}\n                    label={t('common:shipper-lane-details.fields.valid-till.label')}\n                    value={data?.validTill ? moment(data.validTill).format(DATE_FORMAT) : null}\n                />\n            </FieldGroup>\n            <FieldGroup>\n                <ReadOnlyField\n                    className={cx('field', 'field--limit')}\n                    label={t('common:shipper-lane-details.fields.layover-limit.label')}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={300}>\n                            {t('common:shipper-lane-details.fields.layover-limit.tooltip')}\n                        </TooltipContent>\n                    }\n                    value={<UnitTypeCount count={data?.maximumLayover} type={UnitTypeEnum.hoursAbbreviation} />}\n                />\n                <ReadOnlyField\n                    className={cx('field', 'field--limit')}\n                    label={t('common:shipper-lane-details.fields.orders-left.label')}\n                    value={\n                        isNumber(data?.ordersLeft) && isNumber(data?.maxNumberOfOrders)\n                            ? `${data?.ordersLeft}/${data?.maxNumberOfOrders}`\n                            : null\n                    }\n                />\n            </FieldGroup>\n            <FieldGroup>\n                <ReadOnlyField\n                    className={cx('field', 'field--external-lane-id')}\n                    label={t('common:shipper-lane-details.fields.external-lane-id.label')}\n                    value={data?.externalLaneId}\n                    placeholder={EMPTY_VALUE_PLACEHOLDER}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('common:shipper-lane-details.fields.external-lane-id.tooltip')}\n                        </TooltipContent>\n                    }\n                />\n                <FieldGroupEmptyItem className={cx('field', 'field--limit')} />\n            </FieldGroup>\n        </div>\n    );\n};\n\nexport default ShipperContractLaneDetails;\n","// extracted by mini-css-extract-plugin\nexport default {\"divider\":\"ContractDetails__divider___awX3N\",\"fadeIn\":\"ContractDetails__fadeIn___WhoiV\",\"blinking\":\"ContractDetails__blinking___Ng6Fn\"};","import { RequestStatusT } from 'common/utils/request-status';\nimport { PaperDataT } from 'common/store/papers/models';\n\nexport const FETCH_PAPERS_REQUEST = 'common/papers/FETCH_PAPERS_REQUEST';\nexport const FETCH_PAPERS_REQUEST_BEGIN = 'common/PAPERS/FETCH_PAPERS_REQUEST_BEGIN';\nexport const FETCH_PAPERS_REQUEST_ERROR = 'common/papers/FETCH_PAPERS_REQUEST_ERROR';\nexport const FETCH_PAPERS_REQUEST_SUCCESS = 'common/papers/FETCH_PAPERS_REQUEST_SUCCESS';\n\nexport const UPLOAD_PAPER_REQUEST = 'common/papers/UPLOAD_PAPER_REQUEST';\nexport const UPLOAD_PAPER_REQUEST_BEGIN = 'common/papers/UPLOAD_PAPER_REQUEST_BEGIN';\nexport const UPLOAD_PAPER_REQUEST_ERROR = 'common/papers/UPLOAD_PAPER_REQUEST_ERROR';\nexport const UPLOAD_PAPER_REQUEST_SUCCESS = 'common/papers/UPLOAD_PAPER_REQUEST_SUCCESS';\n\nexport const DELETE_PAPER_REQUEST = 'common/papers/DELETE_PAPER_REQUEST';\nexport const DELETE_PAPER_REQUEST_BEGIN = 'common/papers/DELETE_PAPER_REQUEST_BEGIN';\nexport const DELETE_PAPER_REQUEST_ERROR = 'common/papers/DELETE_PAPER_REQUEST_ERROR';\nexport const DELETE_PAPER_REQUEST_SUCCESS = 'common/papers/DELETE_PAPER_REQUEST_SUCCESS';\n\nexport const RESET_PAPERS = 'common/papers/RESET_PAPERS';\n\nexport type FetchPapersActionT = {\n    type: typeof FETCH_PAPERS_REQUEST;\n    tourId: TourIdT;\n    isBroker: boolean;\n    options?: FetchOptionsT;\n};\n\nexport type FetchPapersBeginActionT = {\n    type: typeof FETCH_PAPERS_REQUEST_BEGIN;\n    hash: PapersHashT;\n};\n\nexport type FetchPapersSuccessActionT = {\n    type: typeof FETCH_PAPERS_REQUEST_SUCCESS;\n    hash: PapersHashT;\n    list: Array<PaperDataT>;\n};\n\nexport type FetchPapersErrorActionT = {\n    type: typeof FETCH_PAPERS_REQUEST_ERROR;\n    error: Error;\n    hash: PapersHashT;\n};\n\nexport type UploadPaperActionT = {\n    type: typeof UPLOAD_PAPER_REQUEST;\n    tourId: TourIdT;\n    isBroker: boolean;\n    file: File;\n};\n\nexport type UploadPaperBeginActionT = {\n    type: typeof UPLOAD_PAPER_REQUEST_BEGIN;\n    hash: PapersHashT;\n};\n\nexport type UploadPaperSuccessActionT = {\n    type: typeof UPLOAD_PAPER_REQUEST_SUCCESS;\n    hash: PapersHashT;\n};\n\nexport type UploadPaperErrorActionT = {\n    type: typeof UPLOAD_PAPER_REQUEST_ERROR;\n    error: Error;\n    hash: PapersHashT;\n};\n\nexport type DeletePaperActionT = {\n    type: typeof DELETE_PAPER_REQUEST;\n    tourId: TourIdT;\n    isBroker: boolean;\n    paperId: PapersIdT;\n};\n\nexport type DeletePaperBeginActionT = {\n    type: typeof DELETE_PAPER_REQUEST_BEGIN;\n    hash: PapersHashT;\n    paperId: PapersIdT;\n};\n\nexport type DeletePaperSuccessActionT = {\n    type: typeof DELETE_PAPER_REQUEST_SUCCESS;\n    hash: PapersHashT;\n};\n\nexport type DeletePaperErrorActionT = {\n    type: typeof DELETE_PAPER_REQUEST_ERROR;\n    error: Error;\n    hash: PapersHashT;\n};\n\nexport type ResetPapersActionT = {\n    type: typeof RESET_PAPERS;\n};\n\nexport type PapersActionT =\n    | FetchPapersActionT\n    | FetchPapersBeginActionT\n    | FetchPapersSuccessActionT\n    | FetchPapersErrorActionT\n    | DeletePaperActionT\n    | DeletePaperBeginActionT\n    | DeletePaperSuccessActionT\n    | DeletePaperErrorActionT\n    | UploadPaperActionT\n    | UploadPaperBeginActionT\n    | UploadPaperSuccessActionT\n    | UploadPaperErrorActionT\n    | ResetPapersActionT;\n\nexport type HashPapersStateT = {\n    list: Array<PaperDataT>;\n    fetchRequest: RequestStatusT;\n    uploadRequest: RequestStatusT;\n    deleteQuery: {\n        id: PapersIdT;\n    } | null;\n    deleteRequest: RequestStatusT;\n};\n\nexport type PapersStateT = Record<PapersHashT, HashPapersStateT>;\n","import {\n    DELETE_PAPER_REQUEST,\n    DELETE_PAPER_REQUEST_BEGIN,\n    DELETE_PAPER_REQUEST_ERROR,\n    DELETE_PAPER_REQUEST_SUCCESS,\n    DeletePaperActionT,\n    DeletePaperBeginActionT,\n    DeletePaperErrorActionT,\n    DeletePaperSuccessActionT,\n    FETCH_PAPERS_REQUEST,\n    FETCH_PAPERS_REQUEST_BEGIN,\n    FETCH_PAPERS_REQUEST_ERROR,\n    FETCH_PAPERS_REQUEST_SUCCESS,\n    FetchPapersActionT,\n    FetchPapersBeginActionT,\n    FetchPapersErrorActionT,\n    FetchPapersSuccessActionT,\n    RESET_PAPERS,\n    ResetPapersActionT,\n    UPLOAD_PAPER_REQUEST,\n    UPLOAD_PAPER_REQUEST_BEGIN,\n    UPLOAD_PAPER_REQUEST_ERROR,\n    UPLOAD_PAPER_REQUEST_SUCCESS,\n    UploadPaperActionT,\n    UploadPaperBeginActionT,\n    UploadPaperErrorActionT,\n    UploadPaperSuccessActionT,\n} from './types';\nimport { PaperDataT } from 'common/store/papers/models';\n\nexport const fetchPapers = (tourId: TourIdT, isBroker: boolean, options?: FetchOptionsT): FetchPapersActionT => ({\n    type: FETCH_PAPERS_REQUEST,\n    tourId,\n    isBroker,\n    options,\n});\n\nexport const fetchPapersBegin = (hash: PapersHashT): FetchPapersBeginActionT => ({\n    type: FETCH_PAPERS_REQUEST_BEGIN,\n    hash,\n});\n\nexport const fetchPapersSuccess = (hash: PapersHashT, list: Array<PaperDataT>): FetchPapersSuccessActionT => ({\n    type: FETCH_PAPERS_REQUEST_SUCCESS,\n    hash,\n    list,\n});\n\nexport const fetchPapersError = (error: Error, hash: PapersHashT): FetchPapersErrorActionT => ({\n    type: FETCH_PAPERS_REQUEST_ERROR,\n    error,\n    hash,\n});\n\nexport const uploadPaper = (tourId: TourIdT, isBroker: boolean, file: File): UploadPaperActionT => ({\n    type: UPLOAD_PAPER_REQUEST,\n    isBroker,\n    file,\n    tourId,\n});\n\nexport const uploadPaperBegin = (hash: PapersHashT): UploadPaperBeginActionT => ({\n    type: UPLOAD_PAPER_REQUEST_BEGIN,\n    hash,\n});\n\nexport const uploadPaperSuccess = (hash: PapersHashT): UploadPaperSuccessActionT => ({\n    type: UPLOAD_PAPER_REQUEST_SUCCESS,\n    hash,\n});\n\nexport const uploadPaperError = (error: Error, hash: PapersHashT): UploadPaperErrorActionT => ({\n    type: UPLOAD_PAPER_REQUEST_ERROR,\n    error,\n    hash,\n});\n\nexport const deletePaper = (tourId: TourIdT, isBroker: boolean, paperId: PapersIdT): DeletePaperActionT => ({\n    type: DELETE_PAPER_REQUEST,\n    tourId,\n    isBroker,\n    paperId,\n});\n\nexport const deletePaperBegin = (hash: PapersHashT, paperId: PapersIdT): DeletePaperBeginActionT => ({\n    type: DELETE_PAPER_REQUEST_BEGIN,\n    hash,\n    paperId,\n});\n\nexport const deletePaperSuccess = (hash: PapersHashT): DeletePaperSuccessActionT => ({\n    type: DELETE_PAPER_REQUEST_SUCCESS,\n    hash,\n});\n\nexport const deletePaperError = (error: Error, hash: PapersHashT): DeletePaperErrorActionT => ({\n    type: DELETE_PAPER_REQUEST_ERROR,\n    error,\n    hash,\n});\n\nexport const resetPapers = (): ResetPapersActionT => ({\n    type: RESET_PAPERS,\n});\n","import {\n    ApiAdditionalServiceTypeEnum,\n    ApiAdditionalServicesT,\n    ApiBrokerAdditionalServiceT,\n    ApiBrokerAdditionalServiceTypeT,\n    ApiCarrierAdditionalServiceT,\n    ApiCarrierAdditionalServiceTypeT,\n} from 'common/utils/api/models';\n\nexport const checkIsCarrierAdditionalService = (\n    value: NonNullable<ApiAdditionalServicesT['items']>[number] | null | undefined,\n): value is ApiCarrierAdditionalServiceT => {\n    return value?.serviceType === ApiAdditionalServiceTypeEnum.carrier;\n};\n\nexport const checkIsBrokerAdditionalService = (\n    value: NonNullable<ApiAdditionalServicesT['items']>[number] | null | undefined,\n): value is ApiBrokerAdditionalServiceT => {\n    return value?.serviceType === ApiAdditionalServiceTypeEnum.broker;\n};\n\nexport const findAdditionalServiceByType = (\n    additionalServices: ApiAdditionalServicesT | null | undefined,\n    type: ApiCarrierAdditionalServiceTypeT | ApiBrokerAdditionalServiceTypeT,\n) => {\n    return additionalServices?.items?.find((additionalService) => {\n        if (checkIsCarrierAdditionalService(additionalService)) {\n            return additionalService.type === type;\n        }\n\n        if (checkIsBrokerAdditionalService(additionalService)) {\n            return additionalService.type === type;\n        }\n\n        return false;\n    });\n};\n","import isNil from 'lodash/isNil';\n\nexport const M_IN_KM = 1000;\n\nexport const convertToKm = (meters: number | null | undefined): number | null => {\n    if (isNil(meters)) {\n        return null;\n    }\n\n    return Math.round(meters / M_IN_KM);\n};\n","import React from 'react';\nimport times from 'lodash/times';\nimport moment from 'moment';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './YearMonthForm.scss';\nimport { checkIsSameYear, getISOFutureDate, getISOPastDate, getYear } from 'common/utils/time';\n\nconst cx = classNames.bind(styles);\n\nconst MIN_MONTH_INDEX = 0;\nconst MAX_MONTH_INDEX = 11;\n\ntype PropsT = {\n    date: Date;\n    onChange: (month: Date) => void;\n    minDate?: string | null;\n    maxDate?: string | null;\n};\n\nconst YearMonthForm: React.FC<PropsT> = React.memo((props) => {\n    const { date, onChange } = props;\n\n    const minDate = React.useMemo(() => {\n        return props.minDate || getISOPastDate(80, 'year');\n    }, [props.minDate]);\n\n    const maxDate = React.useMemo(() => {\n        return props.maxDate || getISOFutureDate(2, 'year');\n    }, [props.maxDate]);\n\n    const { t } = useTranslation();\n\n    const monthsLabels = React.useMemo(() => {\n        return times(12).map((index) => t(`common:month-name.${index}`));\n    }, [t]);\n\n    const minMonthIndexDayYear = React.useMemo(() => {\n        if (!checkIsSameYear(minDate, date)) {\n            return MIN_MONTH_INDEX;\n        }\n\n        return moment(minDate).month();\n    }, [minDate, date]);\n\n    const maxMonthIndexDayYear = React.useMemo(() => {\n        if (!checkIsSameYear(maxDate, date)) {\n            return MAX_MONTH_INDEX;\n        }\n\n        return moment(maxDate).month();\n    }, [maxDate, date]);\n\n    const years = React.useMemo(() => {\n        const maxYear = getYear(maxDate);\n        const minYear = getYear(minDate);\n\n        const yearList = times(maxYear - minYear + 1)\n            .map(Number)\n            .map((index) => minYear + index);\n\n        return yearList;\n    }, [minDate, maxDate]);\n\n    const handleChange = (event: any): void => {\n        const { year, month } = event.target.form;\n        onChange(new Date(year.value, month.value));\n    };\n\n    return (\n        <form className={cx('wrap')}>\n            <select\n                className={cx('select', 'select--month')}\n                name=\"month\"\n                onChange={handleChange}\n                value={date.getMonth()}\n            >\n                {monthsLabels.map((monthLabel, index) => {\n                    return (\n                        <option\n                            key={index}\n                            value={index}\n                            hidden={index < minMonthIndexDayYear || maxMonthIndexDayYear < index}\n                        >\n                            {monthLabel}\n                        </option>\n                    );\n                })}\n            </select>\n            <select className={cx('select')} name=\"year\" onChange={handleChange} value={date.getFullYear()}>\n                {years.map((year, index) => (\n                    <option key={index} value={year}>\n                        {year}\n                    </option>\n                ))}\n            </select>\n        </form>\n    );\n});\n\nexport default YearMonthForm;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './TimeLeft.scss';\n\nconst cx = classNames.bind(styles);\n\ntype TimeLeftPropsT = {\n    className?: string;\n    isFailed: boolean;\n    failedMessage: React.ReactNode;\n    time: string | null | undefined;\n    timeDescription: React.ReactNode;\n    isWarning?: boolean;\n};\n\nconst TimeLeft: React.FC<TimeLeftPropsT> = (props) => {\n    const { className, isWarning, isFailed, failedMessage, time, timeDescription } = props;\n\n    if (!time) {\n        return null;\n    }\n\n    if (isFailed) {\n        return <div className={cx('failed-message')}>{failedMessage}</div>;\n    }\n\n    return (\n        <div\n            className={cs(\n                cx('status', {\n                    'status--is-warning': isWarning,\n                }),\n                className,\n            )}\n        >\n            <div className={cx('time')}>{time}</div>\n            <div className={cx('message')}>{timeDescription}</div>\n        </div>\n    );\n};\n\nexport default TimeLeft;\n","import { ApiCompanyContactMediaT, ApiUpdateDriverRequestT } from 'common/utils/api/models';\nimport { FieldsEnum, FormValuesT, MEDIA_FIELDS_NAME } from './EditDriverFormContent/constants';\nimport moment from 'moment';\nimport { parsePhoneNumber, parseSimpleNumber } from 'common/utils/input-parsers';\nimport { CompanyDriverDetailsT } from 'common/store/drivers/models';\nimport isNumber from 'lodash/isNumber';\n\nconst prepareApiDriverChanges = (\n    formValues: FormValuesT,\n    driverDetails?: CompanyDriverDetailsT | null,\n): ApiUpdateDriverRequestT | null => {\n    const medias = MEDIA_FIELDS_NAME.reduce<ApiCompanyContactMediaT[]>((acc, fieldName) => {\n        if (formValues[fieldName]) {\n            acc.push({\n                type: fieldName,\n                login: formValues[fieldName] as string,\n            });\n        }\n\n        return acc;\n    }, []);\n\n    const rate = parseSimpleNumber(formValues[FieldsEnum.ratePerKm]);\n    if (!driverDetails?.contact || !isNumber(rate)) {\n        return null;\n    }\n\n    const language = formValues[FieldsEnum.language] || undefined;\n\n    return {\n        ...driverDetails,\n        contact: {\n            ...driverDetails.contact,\n\n            mobilePhone: driverDetails?.hasAuthentication ? driverDetails.contact.mobilePhone : undefined,\n\n            formal: formValues[FieldsEnum.formal],\n            name: formValues[FieldsEnum.firstName],\n            surname: formValues[FieldsEnum.lastName],\n\n            deskPhone: parsePhoneNumber(formValues[FieldsEnum.desktopPhone]) || undefined,\n\n            language,\n\n            birthday: moment(formValues[FieldsEnum.birthday]).format('YYYY-MM-DD'),\n            residence: formValues[FieldsEnum.countryCode] || undefined,\n\n            medias,\n        },\n        homeAddress: formValues[FieldsEnum.address],\n        rate,\n        language,\n    };\n};\n\nexport default prepareApiDriverChanges;\n","import React, { useState } from 'react';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { DocumentDetailsSidebarDataT } from './models';\nimport { DocumentRequiredEnum, DocumentStatusEnum } from 'common/utils/api/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectCompanyDocumentIdsByType,\n    selectCompanyDocumentsById,\n    selectFetchCompanyDocumentsRequest,\n    selectUpdateCompanyDocumentsRequest,\n    selectUpdateEvidenceOfTaxDetailsRequest,\n    selectUploadCompanyDocumentsRequest,\n} from 'common/store/documents/selectors';\nimport {\n    selectDocumentsDictById,\n    selectDocumentsDictByType,\n    selectDocumentsDictRequest,\n} from 'common/store/documents-dict/selectors';\nimport { useDocumentInfo } from 'common/layouts/BaseDocumentsLayout/hooks/use-document-info';\nimport { fetchDocumentsDict } from 'common/store/documents-dict/actions';\nimport {\n    downloadDocument,\n    fetchDocuments,\n    rejectDocument,\n    revokeDocument,\n    uploadDocument,\n} from 'common/store/documents/actions';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { useDocumentsActionOptions } from 'common/layouts/BaseDocumentsLayout/hooks/use-documents-action-options';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport EntitySidebarSkeleton from 'common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton';\nimport isEmpty from 'lodash/isEmpty';\nimport UploadDocumentConfirmation, {\n    ConfirmUploadDocumentModalDataT,\n} from 'common/layouts/BaseDocumentsLayout/dialogs/UploadDocumentConfirmation/UploadDocumentConfirmation';\nimport { pickFile } from 'common/utils/pick-file';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { selectCurrentCompany } from 'common/store/company/selectors';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport DocumentParamsDetails from './DocumentParamsDetails/DocumentParamsDetails';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport UploadFooterContent from './footers/UploadFooterContent/UploadFooterContent';\nimport RevokeDocumentsConfirmation, {\n    ConfirmRevokeDocumentModalDataT,\n} from 'common/layouts/BaseDocumentsLayout/dialogs/RevokeDocumentsConfirmation/RevokeDocumentsConfirmation';\nimport RejectDocumentConfirmation, {\n    ConfirmRejectDocumentModalDataT,\n} from 'common/layouts/BaseDocumentsLayout/dialogs/RejectDocumentConfirmation/RejectDocumentConfirmation';\nimport useRemoteFormActions from 'common/utils/hooks/useRemoteFormActions';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport DocumentParamsDetailsForm from './DocumentParamsDetailsForm/DocumentParamsDetailsForm';\nimport ReviewFooterContent from './footers/ReviewFooterContent/ReviewFooterContent';\nimport SaveFooterContent from './footers/SaveFooterContent/SaveFooterContent';\nimport DocumentDetailsLayout from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentDetailsLayout';\nimport UploadLoader from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/UploadLoader/UploadLoader';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport DocumentStatusPill from 'common/components/status-pill/DocumentStatusPill/DocumentStatusPill';\nimport useAfterSuccessRequest from 'common/utils/hooks/useAfterSuccessRequest';\nimport { logWarning } from 'common/utils/logger';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\n\ntype PropsT = SidebarContentPropsT<DocumentDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst DocumentDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onClose, onGoBack, onOpenNextSidebar, setNeedCloseConfirmation } = props;\n\n    const { initIsEditing, documentType } = data;\n\n    const partnerContext = usePartnerContext();\n\n    const partnerId = data.partnerId || partnerContext.partnerId;\n    const partnerType = data.partnerType || partnerContext.partnerType;\n\n    const [isEditing, setIsEditing] = useState(initIsEditing);\n\n    const remoteFormActions = useRemoteFormActions();\n\n    const currentCompany = useSelector(selectCurrentCompany);\n\n    const uploadRequest = useSelector(selectUploadCompanyDocumentsRequest(partnerId));\n    const updateRequest = useSelector(selectUpdateCompanyDocumentsRequest(partnerId));\n    const updateEvidenceOfTaxDetailsRequest = useSelector(selectUpdateEvidenceOfTaxDetailsRequest(partnerId));\n\n    const documentsDictById = useSelector(selectDocumentsDictById(partnerType));\n    const documentsDictByType = useSelector(selectDocumentsDictByType(partnerType));\n    const dictDocument = documentsDictByType[documentType] || null;\n\n    const documentIdsByType = useSelector(selectCompanyDocumentIdsByType(partnerId));\n\n    const documentsById = useSelector(selectCompanyDocumentsById(partnerId));\n\n    const documentInfo = useDocumentInfo(dictDocument, documentIdsByType, documentsById);\n\n    const fetchDocumentsDictRequest = useSelector(selectDocumentsDictRequest(partnerType));\n    const fetchRequest = useSelector(selectFetchCompanyDocumentsRequest(partnerId));\n\n    const confirmUploadDocumentModalDialog = useModalDialog<ConfirmUploadDocumentModalDataT>();\n    const confirmRevokeDocumentModalDialog = useModalDialog<ConfirmRevokeDocumentModalDataT>();\n    const confirmRejectDocumentModalDialog = useModalDialog<ConfirmRejectDocumentModalDataT>();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (!partnerType || !partnerId) {\n            logWarning('Empty partnerType or partnerId in DocumentDetailsSidebarContent useEffect');\n            return;\n        }\n        dispatch(fetchDocumentsDict(partnerType));\n        dispatch(fetchDocuments(partnerId));\n    }, [partnerType, partnerId, dispatch]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerType || !partnerId) {\n            logWarning('Empty partnerType or partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        dispatch(fetchDocumentsDict(partnerType));\n        dispatch(fetchDocuments(partnerId));\n    }, [partnerType, partnerId, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const partnerPermissions = usePartnerPermissionsContext();\n    const permissions = useSelector(selectPermissions);\n\n    const handleDownloadDocument = (documentId: DocumentIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleDownloadDocument');\n            return;\n        }\n        dispatch(downloadDocument(documentId, partnerId));\n    };\n\n    const handleUploadDocument = (dictDocumentId: DictDocumentFakeIdT) => {\n        const dictDocument = documentsDictById[dictDocumentId];\n\n        const shouldConfirm = dictDocument?.required === DocumentRequiredEnum.must && currentCompany?.documentsVerified;\n        if (shouldConfirm) {\n            confirmUploadDocumentModalDialog.setData({\n                dictDocumentId,\n            });\n        } else {\n            onConfirmUploadDocument({ dictDocumentId });\n        }\n    };\n\n    const handleEditDocumentInfo = () => {\n        setIsEditing(true);\n    };\n\n    const handleRevokeDocument = (dictDocumentId: DictDocumentFakeIdT, id: DocumentIdT) => {\n        if (!partnerType) {\n            logWarning('Empty partnerType in handleRevokeDocument');\n            return;\n        }\n        confirmRevokeDocumentModalDialog.setData({\n            dictDocumentId,\n            id,\n            partnerType,\n        });\n    };\n\n    const handleRejectDocument = (dictDocumentId: DictDocumentFakeIdT, id: DocumentIdT) => {\n        if (!partnerType) {\n            logWarning('Empty partnerType in handleRejectDocument');\n            return;\n        }\n        confirmRejectDocumentModalDialog.setData({\n            id,\n            dictDocumentId,\n            partnerType,\n        });\n    };\n\n    const actualVersion = documentInfo?.actualVersion || null;\n    const headerDropdownOptions = useDocumentsActionOptions({\n        actualDocumentVersion: actualVersion,\n        dictDocument,\n        permissions,\n        partnerPermissions: {\n            ...partnerPermissions,\n            canEditDocuments: isEditing ? false : Boolean(partnerPermissions.canEditDocuments),\n        },\n        callbacks: {\n            onDownloadDocument: handleDownloadDocument,\n            onUploadDocument: handleUploadDocument,\n            onRevokeDocument: handleRevokeDocument,\n            onEditDocumentInfo: handleEditDocumentInfo,\n        },\n    });\n\n    const onConfirmUploadDocument = (data: ConfirmUploadDocumentModalDataT): void => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in onConfirmUploadDocument');\n            return;\n        }\n        pickFile('image/*,application/pdf', (file) => {\n            dispatch(uploadDocument(data.dictDocumentId, file, partnerId, partnerType));\n        });\n    };\n\n    const onConfirmRevokeDocument = (id: DocumentIdT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in onConfirmRevokeDocument');\n            return;\n        }\n        dispatch(revokeDocument(id, partnerId, partnerType));\n    };\n\n    const onConfirmRejectDocument = (documentId: DocumentIdT, reason: string) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in onConfirmRejectDocument');\n            return;\n        }\n        dispatch(rejectDocument(documentId, reason, partnerId, partnerType));\n    };\n\n    useCloseModalDialogAfterRequest(uploadRequest, [confirmUploadDocumentModalDialog]);\n    useCloseModalDialogAfterRequest(updateRequest, [\n        confirmRevokeDocumentModalDialog,\n        confirmRejectDocumentModalDialog,\n    ]);\n\n    useAfterSuccessRequest(updateEvidenceOfTaxDetailsRequest, () => {\n        setIsEditing(false);\n    });\n\n    useAfterSuccessRequest(updateRequest, () => {\n        setIsEditing(false);\n    });\n\n    useAfterSuccessRequest(uploadRequest, () => {\n        setIsEditing(true);\n    });\n\n    const handleOpenUserDetails = (userId: UserIdT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const shouldReview = documentInfo?.actualVersion?.status === DocumentStatusEnum.waitingForApprove;\n\n    const isRequiredDocument = documentInfo?.dictDocument?.required === DocumentRequiredEnum.must;\n\n    const handleRetryFetchDocuments = React.useCallback(() => {\n        if (partnerId) {\n            dispatch(fetchDocuments(partnerId));\n        }\n    }, [partnerId, dispatch]);\n\n    return (\n        <RemoteFormActionsContext.Provider value={remoteFormActions}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    onGoBack={onGoBack}\n                    title={\n                        <DocumentStatusPill\n                            isSymmetrical\n                            status={documentInfo?.actualVersion?.status}\n                            isRequiredDocument={isRequiredDocument}\n                        />\n                    }\n                    onClose={onClose}\n                    dropdownOptions={headerDropdownOptions}\n                />\n                <SideBarHeaderRequestStatus\n                    requestStatus={fetchRequest}\n                    hasCachedData={!isEmpty(documentsById)}\n                    isForceShowLoader={\n                        uploadRequest.loading ||\n                        updateRequest.loading ||\n                        updateEvidenceOfTaxDetailsRequest.loading ||\n                        fetchDocumentsDictRequest.loading\n                    }\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <SideBarRequestStatus\n                    requestStatus={fetchRequest}\n                    hasCachedData={!isEmpty(documentsById)}\n                    onRetry={handleRetryFetchDocuments}\n                    SkeletonComponent={EntitySidebarSkeleton}\n                >\n                    <DocumentDetailsLayout\n                        dictDocument={documentInfo?.dictDocument || null}\n                        onDownloadFile={handleDownloadDocument}\n                        onOpenUserDetails={handleOpenUserDetails}\n                        permissions={permissions}\n                        isUploading={uploadRequest.loading}\n                        actualVersion={documentInfo?.actualVersion || null}\n                        oldVersions={documentInfo?.oldVersions || null}\n                        actualVersionFormNode={\n                            isEditing ? (\n                                <DocumentParamsDetailsForm\n                                    isReview={shouldReview}\n                                    actualVersion={documentInfo?.actualVersion || null}\n                                    dictDocument={documentInfo?.dictDocument || null}\n                                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                                    partnerId={partnerId}\n                                    partnerType={partnerType}\n                                />\n                            ) : (\n                                <DocumentParamsDetails\n                                    partnerId={partnerId}\n                                    dictDocument={documentInfo?.dictDocument || null}\n                                    actualVersion={documentInfo?.actualVersion || null}\n                                />\n                            )\n                        }\n                    />\n                </SideBarRequestStatus>\n            </SideBarLayout>\n            {uploadRequest.loading && <UploadLoader />}\n            {!documentInfo?.actualVersion && !uploadRequest.loading && partnerPermissions.canUploadDocuments && (\n                <FooterSideBarLayout>\n                    <UploadFooterContent\n                        partnerId={partnerId}\n                        onUploadDocument={handleUploadDocument}\n                        dictDocument={documentInfo?.dictDocument || null}\n                    />\n                </FooterSideBarLayout>\n            )}\n            {isEditing && shouldReview && (\n                <FooterSideBarLayout>\n                    <ReviewFooterContent\n                        partnerId={partnerId}\n                        dictDocument={documentInfo?.dictDocument || null}\n                        actualVersion={documentInfo?.actualVersion || null}\n                        onReject={handleRejectDocument}\n                    />\n                </FooterSideBarLayout>\n            )}\n            {isEditing && !shouldReview && (\n                <FooterSideBarLayout>\n                    <SaveFooterContent />\n                </FooterSideBarLayout>\n            )}\n            <UploadDocumentConfirmation\n                data={confirmUploadDocumentModalDialog.data}\n                onCancel={confirmUploadDocumentModalDialog.onCancel}\n                onClose={confirmUploadDocumentModalDialog.onClose}\n                requestStatus={uploadRequest}\n                documentsDictById={documentsDictById}\n                onConfirm={onConfirmUploadDocument}\n            />\n            <RejectDocumentConfirmation\n                name={dictDocument?.name}\n                data={confirmRejectDocumentModalDialog.data}\n                onCancel={confirmRejectDocumentModalDialog.onCancel}\n                onClose={confirmRejectDocumentModalDialog.onClose}\n                onConfirm={onConfirmRejectDocument}\n                requestStatus={updateRequest}\n            />\n            <RevokeDocumentsConfirmation\n                data={confirmRevokeDocumentModalDialog.data}\n                onCancel={confirmRevokeDocumentModalDialog.onCancel}\n                onClose={confirmRevokeDocumentModalDialog.onClose}\n                onConfirm={onConfirmRevokeDocument}\n                requestStatus={updateRequest}\n            />\n        </RemoteFormActionsContext.Provider>\n    );\n};\n\nexport default DocumentDetailsSidebarContent;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TransportOrderDetailsCard.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Card from 'design-system/components/Card/Card';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport CarrierIcon from 'common/icons/CarrierIcon';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport AssetLinkFormatter from 'design-system/components/InfoTable/formatters/AssetLinkFormatter/AssetLinkFormatter';\nimport AssetLabelFormatter from 'design-system/components/InfoTable/formatters/AssetLabelFormatter/AssetLabelFormatter';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { ApiTransportationOrderFullT, PartnerTypeEnum } from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport DriverIcon from 'common/icons/DriverIcon';\nimport TeamDrive2Icon from 'common/icons/TeamDrive2Icon';\nimport DocIcon from 'common/icons/DocIcon';\nimport TransportOrderStatusPill from 'common/components/status-pill/TransportOrderStatusPill/TransportOrderStatusPill';\nimport CarrierCostPriceInfoTable from 'broker-admin/components/info-tables/CarrierCostPriceInfoTable/CarrierCostPriceInfoTable';\nimport SimpleDriverFormatter from 'design-system/components/InfoTable/formatters/SimpleDriverFormatter/SimpleDriverFormatter';\nimport ChangeTransportOrderStatusControl from 'broker-admin/components/status-machine/ChangeTransportOrderStatusControl/ChangeTransportOrderStatusControl';\n\nexport type PropsT = {\n    transportOrderNumber: string;\n    transportOrderDetails: ApiTransportationOrderFullT | null | undefined;\n    keyboardShortcut?: string;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TransportOrderDetailsCard: React.FC<PropsT> = React.memo((props) => {\n    const { transportOrderNumber, transportOrderDetails, keyboardShortcut, className } = props;\n\n    const { t } = useTranslation();\n\n    const carrier = transportOrderDetails?.carrier || null;\n    const truck = transportOrderDetails?.truck || null;\n    const trailer = transportOrderDetails?.trailer || null;\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const handleOpenTrailerDetails = () => {\n        if (!trailer?.id || !carrier?.id) {\n            logWarning('failed to open trailer details, empty trailer');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.trailerDetails,\n                trailerId: trailer.id,\n                partnerId: carrier.id,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const handleOpenTruckDetails = () => {\n        if (!truck?.id || !carrier?.id) {\n            logWarning('failed to open trailer details, empty truck');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.truckDetails,\n                truckId: truck.id,\n                partnerId: carrier.id,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const mainDriver = transportOrderDetails?.drivers?.[0] || null;\n\n    const teamDrivers = useMemo(() => {\n        const shouldShowTeamDrivers = !!transportOrderDetails?.teamDrive;\n        if (!shouldShowTeamDrivers) {\n            return [];\n        }\n\n        const drivers = transportOrderDetails?.drivers?.slice(1) || [];\n        return drivers?.length ? drivers : [null];\n    }, [transportOrderDetails]);\n\n    const moveDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <TruckIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('broker-order-details.transport-order-details.columns.truck'),\n            value: truck ? (\n                <AssetLinkFormatter assetId={truck?.id} onOpenAssetDetails={handleOpenTruckDetails}>\n                    <AssetLabelFormatter model={truck?.dictTruckInfo?.model} plateNumber={truck?.plateNumber} />\n                </AssetLinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.truck-not-assigned'),\n            isBoldValue: true,\n        },\n        {\n            icon: (\n                <TrailerIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('broker-order-details.transport-order-details.columns.trailer'),\n            value: trailer ? (\n                <AssetLinkFormatter assetId={trailer?.id} onOpenAssetDetails={handleOpenTrailerDetails}>\n                    <AssetLabelFormatter model={trailer?.dictTrailerInfo?.model} plateNumber={trailer?.plateNumber} />\n                </AssetLinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.trailer-not-assigned'),\n            isBoldValue: true,\n        },\n        {\n            icon: <DriverIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.transport-order-details.columns.driver'),\n            value: mainDriver ? <SimpleDriverFormatter driver={mainDriver} /> : null,\n            emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n            isBoldValue: true,\n        },\n        ...teamDrivers.map((driver) => ({\n            icon: <TeamDrive2Icon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.transport-order-details.columns.team-driver'),\n            value: driver ? <SimpleDriverFormatter driver={driver} /> : null,\n            emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n            isBoldValue: true,\n        })),\n        {\n            icon: <DocIcon strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.transport-order-details.columns.tour'),\n            value: transportOrderDetails?.tourNumber,\n            emptyValue: t('common:info-table.placeholders.assets-not-assigned'),\n            isBoldValue: true,\n        },\n    ];\n\n    const carrierDetails: Array<InfoTableRowT> = [\n        {\n            icon: <CarrierIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.transport-order-details.columns.carrier'),\n            value: carrier?.id ? (\n                <Link\n                    to={urlFactory.partnerDetails(PartnerTypeEnum.carrier, carrier.id)}\n                    className={cx('link')}\n                    theme={LinkThemeEnum.boldBrandDark}\n                >\n                    {carrier?.name}\n                </Link>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n            isBoldValue: true,\n        },\n    ];\n\n    return (\n        <>\n            <Card\n                titleNode={t('broker-order-details.transport-order-details.title', {\n                    number: transportOrderNumber,\n                })}\n                rightNode={\n                    <>\n                        <TransportOrderStatusPill isSymmetrical status={transportOrderDetails?.status} />\n                        <ChangeTransportOrderStatusControl\n                            cancelByBrokerUnavailableReason={transportOrderDetails?.cancelByBrokerUnavailableReason}\n                            transportOrderId={transportOrderDetails?.id || null}\n                        />\n                    </>\n                }\n                className={className}\n                hasHeaderBottomBorder\n                keyboardShortcut={keyboardShortcut}\n            >\n                <div className={cx('content')}>\n                    <InfoTable shouldRenderIcons rows={carrierDetails} className={cx('table', 'table--carrier')} />\n                    <InfoTable shouldRenderIcons rows={moveDetails} className={cx('table', 'table--move')} />\n                    <CarrierCostPriceInfoTable\n                        className={cx('table', 'table--carrier-cost')}\n                        totalPrice={transportOrderDetails?.carrierCost?.totalCost}\n                        totalPriceLabel={t('broker-order-details.transport-order-details.carrier-cost')}\n                        lineHaulCost={transportOrderDetails?.carrierCost?.lineHaul}\n                        tollCost={transportOrderDetails?.carrierCost?.toll?.totalCost}\n                        tollByRoadType={transportOrderDetails?.carrierCost?.toll?.byRoadType}\n                        co2={transportOrderDetails?.carrierCost?.co2}\n                        layoverCost={transportOrderDetails?.carrierCost?.layover?.totalCost}\n                        layoverSeconds={transportOrderDetails?.carrierCost?.layover?.totalSeconds}\n                        layoverPaidHours={transportOrderDetails?.carrierCost?.layover?.paidHours}\n                        fuelDetails={transportOrderDetails?.carrierCost?.fuel}\n                        teamDriveCost={transportOrderDetails?.carrierCost?.teamDriveCost}\n                        travelHours={transportOrderDetails?.carrierCost?.teamDriveHours}\n                        additionalServiceItems={transportOrderDetails?.carrierCost?.additionalServices?.items}\n                        deadheadLineHaulCost={transportOrderDetails?.carrierCost?.deadhead?.lineHaul}\n                        payloadLineHaulCost={transportOrderDetails?.carrierCost?.payload?.lineHaul}\n                        appliedRules={transportOrderDetails?.carrierCost?.appliedRules}\n                    />\n                </div>\n            </Card>\n        </>\n    );\n});\n\nexport default TransportOrderDetailsCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"DatePicker__input___edS4Z\",\"trigger\":\"DatePicker__trigger___vT9MD\",\"fadeIn\":\"DatePicker__fadeIn___Kea0O\",\"blinking\":\"DatePicker__blinking___uHHuJ\"};","import { SharableStateT } from '../models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { VehicleScheduleStateT } from './types';\nimport { initialVehicleState } from './reducer';\nimport { VehicleScheduleT } from 'common/store/vehicle-schedules/models';\nimport { getVehicleScheduleHash } from './utils/hash';\n\nconst selectVehicleState = (\n    state: SharableStateT,\n    vehicleId: VehicleIdT | null,\n    aroundDate?: ISODateTimeT | null,\n): VehicleScheduleStateT => {\n    if (vehicleId === null) {\n        return initialVehicleState;\n    }\n\n    const hash = getVehicleScheduleHash(vehicleId, aroundDate);\n\n    return state.vehicleSchedules.byHash[hash] || initialVehicleState;\n};\n\nexport const selectVehicleSchedule =\n    (vehicleId: VehicleIdT | null, aroundDate?: ISODateTimeT | null) =>\n    (state: SharableStateT): VehicleScheduleT => {\n        const vehicleState = selectVehicleState(state, vehicleId, aroundDate);\n\n        return vehicleState.schedule;\n    };\n\nexport const selectFetchScheduleRequest =\n    (vehicleId: VehicleIdT | null, aroundDate?: ISODateTimeT | null) =>\n    (state: SharableStateT): RequestStatusT => {\n        const vehicleState = selectVehicleState(state, vehicleId, aroundDate);\n\n        return vehicleState.fetchRequestStatus;\n    };\n\nexport const selectSetUnavailableVehicleRequestStatus = (state: SharableStateT): RequestStatusT => {\n    return state.vehicleSchedules.setUnavailableRequest;\n};\n\nexport const selectCancelUnavailableVehicleRequestStatus = (state: SharableStateT): RequestStatusT => {\n    return state.vehicleSchedules.cancelUnavailableRequest;\n};\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './DocumentsTable.scss';\nimport TableSkeleton from 'common/components/Table/TableSkeleton/TableSkeleton';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport LineLoader from 'common/components/LineLoader/LineLoader';\nimport { isNonNil } from 'common/utils';\nimport { ReactNode, useRef } from 'react';\n\nconst cx = classNames.bind(styles);\n\nconst CLICK_SHIFT_LIMIT = 10;\n\nexport type TableRowMetaT = {\n    isSelected: boolean;\n    isHovered: boolean;\n};\n\nexport enum TableColumnModsEnum {\n    center = 'center',\n}\n\nexport type TableColumnT<RowT, ColumnsExtraDataT> = {\n    // headers\n    renderHeader: (columnsExtraData?: ColumnsExtraDataT) => React.ReactElement | null;\n    headerClassName?: string;\n\n    headerMods?: Partial<Record<TableColumnModsEnum, boolean>>;\n\n    // cells\n    render: (row: RowT, meta: TableRowMetaT, rowIndex: number) => React.ReactElement | null;\n    className?: string;\n\n    testSelector?: string;\n};\n\nexport enum TableRowModsEnum {\n    hasLeftGreenBorder = 'hasLeftGreenBorder',\n    hasLeftOrangeBorder = 'hasLeftOrangeBorder',\n    hasLeftRedBorder = 'hasLeftRedBorder',\n    hasLeftGreyBorder = 'hasLeftGreyBorder',\n}\n\nexport enum TableRowThemeEnum {\n    empty = 'empty',\n    normal = 'normal',\n}\n\nexport type PropsT<RowT, ColumnsExtraDataT> = {\n    className?: string;\n    columns: Array<TableColumnT<RowT, ColumnsExtraDataT> | null>;\n    columnsExtraData?: ColumnsExtraDataT;\n    selectedRowsSet?: Set<RowT>;\n    rows: Array<RowT>;\n    getRowMods?: (meta: TableRowMetaT, row: RowT) => Partial<Record<TableRowModsEnum, boolean>>;\n    getRowTheme?: (meta: TableRowMetaT, row: RowT) => TableRowThemeEnum;\n    onSelectRow?: (row: RowT) => void;\n    isLoading: boolean;\n    testSelector?: string;\n    isUsedPrevRows: boolean;\n    footerNode?: ReactNode;\n    headerNode?: ReactNode;\n};\n\nconst DEFAULT_MODS = {\n    hasLeftGreenBorder: false,\n    hasLeftOrangeBorder: false,\n    hasLeftRedBorder: false,\n    hasLeftGreyBorder: false,\n    isHighlighted: false,\n    isSelected: false,\n};\n\nconst DocumentsTable = <RowT, ColumnsExtraDataT>(props: PropsT<RowT, ColumnsExtraDataT>) => {\n    const {\n        columns,\n        rows,\n        className,\n        onSelectRow,\n        selectedRowsSet,\n        getRowMods,\n        getRowTheme,\n        columnsExtraData,\n        isLoading,\n        testSelector,\n        isUsedPrevRows,\n        headerNode,\n        footerNode,\n    } = props;\n\n    const mouseDownPositionRef = useRef<number>(0);\n\n    const [hoveredRow, onHoverRow] = React.useState<RowT | null>(null);\n\n    const filteredColumns = React.useMemo(() => {\n        return columns.filter(isNonNil);\n    }, [columns]);\n\n    const fullTestSelector = `${testSelector}_table`;\n\n    const isShowTable = !!rows.length || !!headerNode || !!footerNode;\n    const isShowTableLoader = isLoading && !isShowTable;\n    const isShowLineLoader = isLoading && isShowTable && !isUsedPrevRows;\n    const isShowOverlayLoader = isUsedPrevRows;\n\n    return (\n        <div className={cs(cx('table'), className)}>\n            {isShowTable && (\n                <table data-test-selector={fullTestSelector}>\n                    <thead>\n                        <tr>\n                            {filteredColumns.map((column, columnIndex) => (\n                                <th\n                                    key={columnIndex}\n                                    className={cs(\n                                        cx('header', {\n                                            'header--mod-center': !!column.headerMods?.center,\n                                        }),\n                                        column.headerClassName,\n                                    )}\n                                    data-test-selector={`${fullTestSelector}_header_${column.testSelector}`}\n                                >\n                                    {columnIndex === 0 && (\n                                        <div className={cx('line-loader-container')}>\n                                            <LineLoader isShow={isShowLineLoader} />\n                                        </div>\n                                    )}\n                                    {column.renderHeader(columnsExtraData)}\n                                </th>\n                            ))}\n                        </tr>\n                    </thead>\n                    <tbody>\n                        {!!headerNode && (\n                            <tr>\n                                <td colSpan={filteredColumns.length}>{headerNode}</td>\n                            </tr>\n                        )}\n                        {rows.map((row, rowIndex) => {\n                            const meta: TableRowMetaT = {\n                                isSelected: !!selectedRowsSet?.has(row),\n                                isHovered: hoveredRow === row,\n                            };\n\n                            const rowMods = getRowMods ? getRowMods(meta, row) : DEFAULT_MODS;\n                            const rowTheme = getRowTheme ? getRowTheme(meta, row) : TableRowThemeEnum.normal;\n\n                            return (\n                                <tr\n                                    key={rowIndex}\n                                    className={cx('row', {\n                                        [`row--theme-${rowTheme}`]: !!rowTheme,\n                                        'row--mod-isSelected': meta.isSelected,\n                                        'row--mod-isHovered': meta.isHovered,\n                                        'row--hasLeftGreenBorder': rowMods.hasLeftGreenBorder,\n                                        'row--hasLeftRedBorder': rowMods.hasLeftRedBorder,\n                                        'row--hasLeftGreyBorder': rowMods.hasLeftGreyBorder,\n                                        'row--hasLeftOrangeBorder': rowMods.hasLeftOrangeBorder,\n                                    })}\n                                    onClick={(event): void => {\n                                        const isClick =\n                                            Math.abs(mouseDownPositionRef.current - event.clientX) < CLICK_SHIFT_LIMIT;\n                                        if (!isClick) {\n                                            return;\n                                        }\n\n                                        if (onSelectRow) {\n                                            onSelectRow(row);\n                                        }\n                                    }}\n                                    onMouseDown={(event) => {\n                                        mouseDownPositionRef.current = event.clientX;\n                                    }}\n                                    onMouseMove={() => {\n                                        if (row !== hoveredRow) {\n                                            onHoverRow(row);\n                                        }\n                                    }}\n                                    data-test-selector={`${fullTestSelector}_row_${rowIndex}`}\n                                >\n                                    {filteredColumns.map((column, columnIndex) => (\n                                        <td\n                                            key={columnIndex}\n                                            className={column.className}\n                                            data-test-selector={`${fullTestSelector}_cell_${column.testSelector}`}\n                                        >\n                                            {column.render(row, meta, rowIndex)}\n                                        </td>\n                                    ))}\n                                </tr>\n                            );\n                        })}\n                    </tbody>\n                </table>\n            )}\n            {isShowTableLoader && <TableSkeleton />}\n            {isShowOverlayLoader && <LoaderOverlay />}\n            {footerNode}\n        </div>\n    );\n};\n\nexport default React.memo(DocumentsTable) as typeof DocumentsTable;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './AssetSchedulePin.scss';\nimport { AssetTypeEnum } from 'common/constants';\nimport TrailerIcon, { getTrailerIconProps } from 'common/icons/TrailerIcon';\nimport TruckIcon, { getTruckIconProps } from 'common/icons/TruckIcon';\nimport MapTooltip from 'common/components/maps/MapTooltip/MapTooltip';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    lat: number;\n    lng: number;\n    className?: string;\n\n    assetType: AssetTypeEnum;\n    isSelected: boolean;\n    number: number;\n};\n\nconst AssetSchedulePin: React.FC<PropsT> = React.memo((props) => {\n    const {\n        lat,\n        lng,\n        className,\n\n        assetType,\n        isSelected,\n        number,\n    } = props;\n\n    return (\n        <MapTooltip\n            contentClassName={cs(cx('asset-tooltip'), className)}\n            lat={lat}\n            lng={lng}\n            theme={isSelected ? MapPinThemeEnum.charcoal : MapPinThemeEnum.gray}\n        >\n            {() => (\n                <div className={cx('row')}>\n                    <div className={cx('icon')}>\n                        {assetType === AssetTypeEnum.truck && <TruckIcon {...getTruckIconProps('assignment-events')} />}\n                        {assetType === AssetTypeEnum.trailer && (\n                            <TrailerIcon {...getTrailerIconProps('assignment-events')} />\n                        )}\n                    </div>\n                    <div className={cx('number')}>{number}</div>\n                </div>\n            )}\n        </MapTooltip>\n    );\n});\n\nexport default AssetSchedulePin;\n","import { SharableStateT } from 'common/store/models';\n\nimport { HashPapersStateT } from './types';\nimport { initialHashPapersState } from './reducer';\nimport { getPapersHash } from 'common/store/papers/utils';\n\nconst selectHashPapersState = (tourId: TourIdT | null, state: SharableStateT): HashPapersStateT => {\n    if (!tourId) {\n        return initialHashPapersState;\n    }\n\n    const hash = getPapersHash(tourId);\n    return state.papers[hash] || initialHashPapersState;\n};\n\nexport const selectFetchPapersRequest =\n    (tourId: TourIdT | null) =>\n    (state: SharableStateT): HashPapersStateT['fetchRequest'] =>\n        selectHashPapersState(tourId, state).fetchRequest;\n\nexport const selectParersList =\n    (tourId: TourIdT | null) =>\n    (state: SharableStateT): HashPapersStateT['list'] =>\n        selectHashPapersState(tourId, state).list;\n\nexport const selectDeletePaperRequest =\n    (tourId: TourIdT | null) =>\n    (state: SharableStateT): HashPapersStateT['deleteRequest'] =>\n        selectHashPapersState(tourId, state).deleteRequest;\n\nexport const selectDeletePaperQuery =\n    (tourId: TourIdT | null) =>\n    (state: SharableStateT): HashPapersStateT['deleteQuery'] =>\n        selectHashPapersState(tourId, state).deleteQuery;\n\nexport const selectUploadPaperRequest =\n    (tourId: TourIdT | null) =>\n    (state: SharableStateT): HashPapersStateT['uploadRequest'] =>\n        selectHashPapersState(tourId, state).uploadRequest;\n","// extracted by mini-css-extract-plugin\nexport default {\"time-interval\":\"FerryOnboardPointPicker__time-interval___iH4XH\",\"fadeIn\":\"FerryOnboardPointPicker__fadeIn___QA0LX\",\"blinking\":\"FerryOnboardPointPicker__blinking___MXBmM\"};","// extracted by mini-css-extract-plugin\nexport default {\"created-date\":\"ContactCell__created-date___epbV3\",\"phone\":\"ContactCell__phone___aR46F\",\"tooltip\":\"ContactCell__tooltip___gqsMW\",\"tooltip__avatar\":\"ContactCell__tooltip__avatar___xrgVk\",\"tooltip__full-name\":\"ContactCell__tooltip__full-name___GAQlO\",\"tooltip__role\":\"ContactCell__tooltip__role___q1vBa\",\"fadeIn\":\"ContactCell__fadeIn___qnCBo\",\"blinking\":\"ContactCell__blinking___QQbei\"};","import moment from 'moment';\nimport { FieldsEnum, FormValuesT } from './EditDriverFormContent/constants';\nimport { ApiContactFormalEnum, CountryCodeT } from 'common/utils/api/models';\nimport { PHONE_NUMBER_PREFIX, SocialMediaEnum } from 'common/constants';\nimport { CompanyDriverDetailsT } from 'common/store/drivers/models';\nimport isNumber from 'lodash/isNumber';\n\nconst getInitialValues = (driverDetails?: CompanyDriverDetailsT | null): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.id]: driverDetails?.id || null,\n        [FieldsEnum.formal]: driverDetails?.contact?.formal as ApiContactFormalEnum,\n        [FieldsEnum.firstName]: driverDetails?.contact?.name || '',\n        [FieldsEnum.lastName]: driverDetails?.contact?.surname || '',\n\n        [FieldsEnum.desktopPhone]: driverDetails?.contact?.deskPhone || PHONE_NUMBER_PREFIX,\n\n        [FieldsEnum.address]: driverDetails?.homeAddress || '',\n\n        [FieldsEnum.birthday]: null,\n        [FieldsEnum.countryCode]: (driverDetails?.contact?.residence as CountryCodeT) || null,\n        [FieldsEnum.language]: driverDetails?.contact?.language || null,\n\n        [FieldsEnum.ratePerKm]: isNumber(driverDetails?.rate) ? String(driverDetails?.rate) : '',\n    };\n\n    driverDetails?.contact?.medias?.forEach((media) => {\n        const { login, type } = media;\n\n        values[type as SocialMediaEnum] = login;\n    });\n\n    if (driverDetails?.contact?.birthday) {\n        values[FieldsEnum.birthday] = moment(driverDetails.contact.birthday, 'YYYY-MM-DD').toDate();\n    }\n\n    return values;\n};\n\nexport default getInitialValues;\n","import {\n    FETCH_RATES_PAGE_REQUEST,\n    FETCH_RATES_PAGE_REQUEST_BEGIN,\n    FETCH_RATES_PAGE_REQUEST_ERROR,\n    FETCH_RATES_PAGE_REQUEST_SUCCESS,\n    FetchRatesPageActionT,\n    FetchRatesPageBeginActionT,\n    FetchRatesPageErrorActionT,\n    FetchRatesPageSuccessActionT,\n    RESET_RATES,\n    ResetRatesActionT,\n    UPDATE_RATES_REQUEST,\n    UPDATE_RATES_REQUEST_BEGIN,\n    UPDATE_RATES_REQUEST_ERROR,\n    UPDATE_RATES_REQUEST_SUCCESS,\n    UpdateRatesActionT,\n    UpdateRatesBeginActionT,\n    UpdateRatesErrorActionT,\n    UpdateRatesSuccessActionT,\n    UPLOAD_CSV_FILE_REQUEST,\n    UPLOAD_CSV_FILE_REQUEST_BEGIN,\n    UPLOAD_CSV_FILE_REQUEST_FAIL,\n    UPLOAD_CSV_FILE_REQUEST_SUCCESS,\n    UploadCsvFileActionT,\n    UploadCsvFileBeginActionT,\n    UploadCsvFileFailActionT,\n    UploadCsvFileSuccessActionT,\n} from './types';\nimport { FetchRatesPageQueryT, RateT } from './models';\nimport { UpdateRateStrategyEnum } from 'common/utils/api/models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchRatesPage = (\n    pageNumber: PageNumberT,\n    query: FetchRatesPageQueryT,\n    options?: FetchOptionsT,\n): FetchRatesPageActionT => ({\n    type: FETCH_RATES_PAGE_REQUEST,\n    pageNumber,\n    query,\n    options,\n});\n\nexport const fetchRatesPageBegin = (\n    query: FetchRatesPageQueryT,\n    pageNumber: PageNumberT,\n): FetchRatesPageBeginActionT => ({\n    type: FETCH_RATES_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n});\n\nexport const fetchRatesPageSuccess = (\n    query: FetchRatesPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<RateT> | null,\n): FetchRatesPageSuccessActionT => ({\n    type: FETCH_RATES_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n});\n\nexport const fetchRatesPageError = (\n    query: FetchRatesPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n): FetchRatesPageErrorActionT => ({\n    type: FETCH_RATES_PAGE_REQUEST_ERROR,\n    error,\n    pageNumber,\n    query,\n});\n\nexport const updateRates = (\n    ids: Array<RateT['id']>,\n    value: number,\n    strategy: UpdateRateStrategyEnum,\n): UpdateRatesActionT => ({\n    type: UPDATE_RATES_REQUEST,\n    ids,\n    value,\n    strategy,\n});\n\nexport const updateRatesBegin = (): UpdateRatesBeginActionT => ({\n    type: UPDATE_RATES_REQUEST_BEGIN,\n});\n\nexport const updateRatesSuccess = (): UpdateRatesSuccessActionT => ({\n    type: UPDATE_RATES_REQUEST_SUCCESS,\n});\n\nexport const updateRatesError = (error: Error): UpdateRatesErrorActionT => ({\n    type: UPDATE_RATES_REQUEST_ERROR,\n    error,\n});\n\nexport const resetRates = (mutationListOptions: MutationListOptionsT): ResetRatesActionT => ({\n    type: RESET_RATES,\n    mutationListOptions,\n});\n\nexport const uploadCSVFile = (file: File): UploadCsvFileActionT => ({\n    type: UPLOAD_CSV_FILE_REQUEST,\n    file,\n});\n\nexport const uploadCSVFileBegin = (): UploadCsvFileBeginActionT => ({\n    type: UPLOAD_CSV_FILE_REQUEST_BEGIN,\n});\n\nexport const uploadCSVFileSuccess = (): UploadCsvFileSuccessActionT => ({\n    type: UPLOAD_CSV_FILE_REQUEST_SUCCESS,\n});\n\nexport const uploadCSVFailError = (error: Error): UploadCsvFileFailActionT => ({\n    type: UPLOAD_CSV_FILE_REQUEST_FAIL,\n    error,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"RFQListPageLayout__fadeIn___uIkKg\",\"blinking\":\"RFQListPageLayout__blinking___kAeXC\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst LinkDropOffIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <path\n                fill={strokeColor}\n                fillRule=\"evenodd\"\n                d=\"M14.75 6.25c2.07 0 3.75 1.68 3.75 3.75 0 2.07-1.68 3.75-3.75 3.75h-3v-1.425h3A2.327 2.327 0 0017.075 10a2.327 2.327 0 00-2.325-2.325h-3V6.25zm-.75 3v1.5h-3.001v-1.5H14zm-11.448 3.5h1.192V9c0-.412.338-.75.75-.75h3c.413 0 .75.338.75.75v3.75h1.193c.667 0 1.005.81.532 1.283l-3.442 3.442a.747.747 0 01-1.058 0l-3.442-3.443c-.473-.472-.143-1.282.525-1.282zm4.942-6.056a.752.752 0 00.75-.739V4a.752.752 0 00-.75-.75h-3a.752.752 0 00-.75.75v1.944c0 .413.338.75.75.75h3z\"\n            />\n        </svg>\n    );\n};\n\nLinkDropOffIcon.displayName = 'LinkDropOffIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.brandAccent,\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getLinkDropOffIconProps = (\n    preset:\n        | 'default'\n        | 'assignment-normal'\n        | 'assignment-error'\n        | 'assignment-selected'\n        | 'assignment-input-normal'\n        | 'assignment-input-selected',\n): PropsT => {\n    switch (preset) {\n        case 'assignment-normal': {\n            return {\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n        case 'assignment-error': {\n            return {\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-input-normal': {\n            return {\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n        case 'assignment-input-selected': {\n            return {\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'default':\n        default: {\n            return {\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n    }\n};\n\nexport { storyProps };\nexport default LinkDropOffIcon;\n","import keyBy from 'lodash/keyBy';\nimport {\n    LEGAL_FORMS_DICT_REQUEST_BEGIN,\n    LEGAL_FORMS_DICT_REQUEST_ERROR,\n    LEGAL_FORMS_DICT_REQUEST_SUCCESS,\n    LegalFormsDictActionT,\n    LegalFormsDictStateT,\n    CountryLegalFormsDictStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\n\nexport const initialCountryLegalFormsState: CountryLegalFormsDictStateT = {\n    allIds: [],\n    byId: {},\n    request: requestStatus.initial,\n};\n\nconst initialState: LegalFormsDictStateT = {};\n\nexport default (state = initialState, action: LegalFormsDictActionT): LegalFormsDictStateT => {\n    switch (action.type) {\n        case LEGAL_FORMS_DICT_REQUEST_BEGIN: {\n            const { countryCode } = action;\n\n            const countryLegalFormsState = state[countryCode] || initialCountryLegalFormsState;\n\n            return {\n                ...state,\n                [countryCode]: {\n                    ...countryLegalFormsState,\n                    request: requestStatus.loading,\n                },\n            };\n        }\n\n        case LEGAL_FORMS_DICT_REQUEST_SUCCESS: {\n            const { countryCode, legalFormsList } = action;\n\n            const countryLegalFormsState = state[countryCode] || initialCountryLegalFormsState;\n\n            const allIds = legalFormsList.map((legalForm) => legalForm.id);\n            const byId = keyBy(legalFormsList, 'id');\n\n            return {\n                ...state,\n                [countryCode]: {\n                    ...countryLegalFormsState,\n                    allIds,\n                    byId,\n                    request: requestStatus.ok,\n                },\n            };\n        }\n\n        case LEGAL_FORMS_DICT_REQUEST_ERROR: {\n            const { countryCode, error } = action;\n\n            const countryLegalFormsState = state[countryCode] || initialCountryLegalFormsState;\n\n            return {\n                ...state,\n                [countryCode]: {\n                    ...countryLegalFormsState,\n                    request: requestStatus.setError(error),\n                },\n            };\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import { useState, useCallback, useLayoutEffect } from 'react';\n\ntype DimensionT = {\n    width: number;\n    height: number;\n    top: number;\n    left: number;\n    x: number;\n    y: number;\n    right: number;\n    bottom: number;\n} | null;\n\ntype UseDimensionsHookT = {\n    ref: (node: HTMLElement | null) => void;\n    dimensions: DimensionT;\n    node: HTMLElement | null;\n};\n\ntype UseDimensionsArgsT = {\n    liveMeasure?: boolean;\n};\n\nconst getDimensionObject = (node: HTMLElement): DimensionT => {\n    const rect = node.getBoundingClientRect();\n\n    return {\n        width: rect.width,\n        height: rect.height,\n        top: 'x' in rect ? rect.x : (rect as DOMRect).top,\n        left: 'y' in rect ? rect.y : (rect as DOMRect).left,\n        x: 'x' in rect ? rect.x : (rect as DOMRect).left,\n        y: 'y' in rect ? rect.y : (rect as DOMRect).top,\n        right: rect.right,\n        bottom: rect.bottom,\n    };\n};\n\nconst useDimensions = (args?: UseDimensionsArgsT): UseDimensionsHookT => {\n    const [dimensions, setDimensions] = useState<DimensionT>(null);\n    const [node, setNode] = useState<HTMLElement | null>(null);\n\n    const ref = useCallback((node): void => {\n        setNode(node);\n    }, []);\n\n    useLayoutEffect(() => {\n        if (node) {\n            const measure = () => {\n                window.requestAnimationFrame(() => {\n                    setDimensions(getDimensionObject(node));\n                });\n            };\n\n            measure();\n\n            if (args?.liveMeasure) {\n                window.addEventListener('resize', measure);\n                window.addEventListener('scroll', measure);\n\n                return () => {\n                    window.removeEventListener('resize', measure);\n                    window.removeEventListener('scroll', measure);\n                };\n            }\n            return () => {\n                // nothing\n            };\n        }\n        return () => {\n            // nothing\n        };\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [node]);\n\n    return {\n        ref,\n        dimensions,\n        node,\n    };\n};\n\nexport default useDimensions;\n","// extracted by mini-css-extract-plugin\nexport default {\"model\":\"TrailerCell__model___pf8Gs\",\"not-assigned\":\"TrailerCell__not-assigned___ZnqcG\",\"fadeIn\":\"TrailerCell__fadeIn___ODjBg\",\"blinking\":\"TrailerCell__blinking___ADhs1\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    number: number;\n};\n\nconst NumberIcon: React.FC<PropsT> = (props) => {\n    const { className, fillColor, number } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <circle cx=\"10\" cy=\"10\" r=\"10\" fill={fillColor} />\n                <text fill=\"#FFF\" fontFamily=\"Roboto-Black, Roboto\" fontSize=\"14\" fontWeight=\"800\">\n                    <tspan x=\"5.946\" y=\"15\">\n                        {number}\n                    </tspan>\n                </text>\n            </g>\n        </svg>\n    );\n};\n\nNumberIcon.displayName = 'NumberIcon';\n\nconst storyProps: PropsT = {\n    number: 1,\n    fillColor: StyleGuideColorsEnum.slate,\n};\n\nexport { storyProps };\nexport default NumberIcon;\n\nexport const NumberIconProps = {\n    getAssignmentControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): Omit<PropsT, 'number'> => {\n        if (hasError) {\n            return {\n                fillColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                fillColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                fillColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                fillColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.charcoal : StyleGuideColorsEnum.light,\n        };\n    },\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\n\nconst validateForm = (values: FormValuesT, t: (key: string) => string): Partial<FormValuesT> => {\n    const errors: Partial<FormValuesT> = {\n        ...checkNotEmpty(t, [FieldsEnum.name, FieldsEnum.timeZone], values),\n    };\n\n    return errors;\n};\n\nexport default validateForm;\n","import { DictCarrierAdditionalServiceGroupT } from './models';\n\nexport function normalizeAdditionalServicesResponse(\n    response: DictCarrierAdditionalServiceGroupT[] | null,\n): DictCarrierAdditionalServiceGroupT[] | null {\n    if (!response) {\n        return null;\n    }\n\n    return response\n        .map((group) => ({\n            ...group,\n            services: [...group.services].sort((serviceA, serviceB) => {\n                return serviceA.service.localeCompare(serviceB.service);\n            }),\n        }))\n        .sort((groupA, groupB) => {\n            const categoryCompare = groupA.category.localeCompare(groupB.category);\n            if (categoryCompare !== 0) {\n                return categoryCompare;\n            }\n\n            const aTrailerType = groupA.trailerType || '';\n            const bTrailerType = groupB.trailerType || '';\n            return aTrailerType.localeCompare(bTrailerType);\n        });\n}\n","import { put, select, take, takeEvery } from 'redux-saga/effects';\nimport {\n    AssignActionT,\n    ASSIGNMENT_REQUEST,\n    CHANGE_USER_SELECTION,\n    ChangeUserSelectionActionT,\n    FETCH_ASSET_SCHEDULE,\n    FETCH_ASSIGN_DETAILS_REQUEST,\n    FETCH_AVAILABLE_CARRIERS_REQUEST,\n    FETCH_AVAILABLE_VEHICLES_REQUEST,\n    FetchAssetScheduleActionT,\n    FetchAssignDetailsActionT,\n    FetchAvailableCarriersActionT,\n    FetchAvailableVehiclesActionT,\n    FIND_TRAILER_REQUEST,\n    FIND_TRUCK_REQUEST,\n    FindTrailerActionT,\n    FindTruckActionT,\n    INIT,\n    INIT_USER_SELECTION,\n    InitUserSelectionActionT,\n    PREDICT_SELF_COST_REQUEST,\n    PredictSelfCostActionT,\n    REFRESH_TRAILER_REQUEST,\n    REFRESH_TRUCK_REQUEST,\n    RefreshTrailerActionT,\n    RefreshTruckActionT,\n    RESET,\n} from './types';\nimport {\n    assignBegin,\n    assignError,\n    assignSuccess,\n    changeUserSelection,\n    fetchAssetSchedule,\n    fetchAssetScheduleBegin,\n    fetchAssetScheduleError,\n    fetchAssetScheduleSuccess,\n    fetchAssignDetailsBegin,\n    fetchAssignDetailsError,\n    fetchAssignDetailsSuccess,\n    fetchAvailableCarriers,\n    fetchAvailableCarriersBegin,\n    fetchAvailableCarriersError,\n    fetchAvailableCarriersSuccess,\n    fetchAvailableVehicles,\n    fetchAvailableVehiclesBegin,\n    fetchAvailableVehiclesError,\n    fetchAvailableVehiclesSuccess,\n    findTrailer,\n    findTrailerBegin,\n    findTrailerError,\n    findTrailerSuccess,\n    findTruck,\n    findTruckBegin,\n    findTruckError,\n    findTruckSuccess,\n    predictSelfCost,\n    predictSelfCostBegin,\n    predictSelfCostError,\n    predictSelfCostSuccess,\n    refreshTrailer,\n    refreshTruck,\n    setAssetSchedule,\n    setEventLoadRoute,\n} from './actions';\nimport {\n    selectAssignmentRequestStatus,\n    selectAvailableCarriersRequest,\n    selectAvailableVehiclesQuery,\n    selectScheduleAssetById,\n    selectSelfCostPrediction,\n    selectSelfCostPredictionQuery,\n    selectTrailerAssignmentInfoById,\n    selectTrailerSuggestQuery,\n    selectTruckAssignmentInfoById,\n    selectTruckSuggestQuery,\n    selectUserSelection,\n} from './selectors';\nimport { MS_IN_SEC } from 'common/utils/time';\nimport { logWarning } from 'common/utils/logger';\nimport { selectBrokerOrderDetails } from 'broker-admin/store/broker-order-details/selectors';\nimport { fetchBrokerOrderDetails } from 'broker-admin/store/broker-order-details/slice';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { getCurrentScheduleEvent } from 'broker-admin/store/broker-order-assigment/utils';\nimport { ApiCountriesT, VehicleScheduleEventTypeEnum } from 'common/utils/api/models';\nimport { brokerOrdersRefreshChannel } from 'broker-admin/store/broker-orders/channels';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { M_IN_KM } from 'common/utils/distance';\nimport { PointToDropT, SelfCostPredictionT, UserSelectionT } from 'broker-admin/store/broker-order-assigment/models';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport { isNonNil } from 'common/utils';\nimport uniq from 'lodash/uniq';\nimport { ALL_CARRIERS_ID } from 'common/constants';\nimport {\n    selectCountrySettingsByCountryCode,\n    selectCountrySettingsDictRequest,\n} from 'common/store/country-settings-dict/selectors';\nimport { COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS } from 'common/store/country-settings-dict/types';\nimport { checkIsAvailableCountryForDropAsset } from 'common/store/country-settings-dict/utils/check-location';\nimport keyBy from 'lodash/keyBy';\n\nconst LIMIT_SUGGEST_RESULT = 50;\n\nfunction* checkIsAvailableDropAssetPoints(\n    pointToDropTruck: PointToDropT | null,\n    pointToDropTrailer: PointToDropT | null,\n): WrapGeneratorT<boolean> {\n    const countriesSettingsRequest: ReturnType<typeof selectCountrySettingsDictRequest> = yield select(\n        selectCountrySettingsDictRequest,\n    );\n    if (!countriesSettingsRequest?.ok) {\n        yield take([COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS]);\n    }\n\n    const countriesSettingsByCode: ReturnType<typeof selectCountrySettingsByCountryCode> = yield select(\n        selectCountrySettingsByCountryCode,\n    );\n    const isAvailablePointToDropTrailer = pointToDropTrailer\n        ? checkIsAvailableCountryForDropAsset(\n              {\n                  ...pointToDropTrailer,\n                  utcOffsetMinutes: null,\n              },\n              countriesSettingsByCode,\n          )\n        : true;\n\n    const isAvailablePointToDropTruck = pointToDropTruck\n        ? checkIsAvailableCountryForDropAsset(\n              {\n                  ...pointToDropTruck,\n                  utcOffsetMinutes: null,\n              },\n              countriesSettingsByCode,\n          )\n        : true;\n\n    return isAvailablePointToDropTrailer && isAvailablePointToDropTruck;\n}\n\nfunction* initUserSelectionSaga(action: InitUserSelectionActionT): WrapGeneratorT<void> {\n    const { brokerOrderId, tourId, changes } = action;\n\n    if (\n        brokerOrderId &&\n        tourId &&\n        (changes.truckId || changes.trailerId) &&\n        ('truckId' in changes ||\n            'trailerId' in changes ||\n            'excludedCountries' in changes ||\n            'isIgnoreCertificates' in changes ||\n            'isIgnoreEmissionStandard' in changes ||\n            'pointToDropTruck' in changes ||\n            'pointToDropTrailer' in changes)\n    ) {\n        yield put(\n            predictSelfCost({\n                brokerOrderId,\n                tourId,\n                truckId: changes.truckId || null,\n                trailerId: changes.trailerId || null,\n                excludedCountries: changes.excludedCountries || [],\n                isIgnoreCertificates: !!changes.isIgnoreCertificates,\n                isIgnoreEmissionStandard: !!changes.isIgnoreEmissionStandard,\n                pointToDropTruck: changes.pointToDropTruck || null,\n                pointToDropTrailer: changes.pointToDropTrailer || null,\n            }),\n        );\n    }\n}\n\nfunction* changeUserSelectionSaga(action: ChangeUserSelectionActionT): WrapGeneratorT<void> {\n    const { changes, tourId, brokerOrderId } = action;\n\n    if (!brokerOrderId) {\n        logWarning('Empty brokerOrderId');\n        return;\n    }\n\n    if (!tourId) {\n        logWarning('Empty tourId');\n        return;\n    }\n\n    const prevUserSelection: ReturnType<typeof selectUserSelection> = yield select(selectUserSelection);\n    const userSelection: UserSelectionT = {\n        ...prevUserSelection,\n        ...changes,\n    };\n\n    if (\n        userSelection.radiusKm &&\n        ('radiusKm' in changes ||\n            'truckId' in changes ||\n            'trailerId' in changes ||\n            'carrierId' in changes ||\n            'isIgnoreCertificates' in changes ||\n            'isIgnoreEmissionStandard' in changes ||\n            'pointToDropTrailer' in changes ||\n            'pointToDropTruck' in changes)\n    ) {\n        yield put(\n            fetchAvailableVehicles({\n                brokerOrderId,\n                tourId,\n                radiusKm: userSelection.radiusKm,\n                carrierId: userSelection.carrierId,\n                truckId: userSelection.truckId,\n                trailerId: userSelection.trailerId,\n                isIgnoreCertificates: userSelection.isIgnoreCertificates,\n                isIgnoreEmissionStandard: userSelection.isIgnoreEmissionStandard,\n                pointToDropTruck: userSelection.pointToDropTruck,\n                pointToDropTrailer: userSelection.pointToDropTrailer,\n            }),\n        );\n    }\n\n    const selfCostReserve: ReturnType<typeof selectSelfCostPrediction> = yield select(selectSelfCostPrediction);\n    const isExpiredReserve = selfCostReserve?.expireTime ? selfCostReserve?.expireTime < Date.now() : false;\n    if (\n        'truckId' in changes ||\n        'trailerId' in changes ||\n        'excludedCountries' in changes ||\n        'isIgnoreCertificates' in changes ||\n        'isIgnoreEmissionStandard' in changes ||\n        'pointToDropTruck' in changes ||\n        'pointToDropTrailer' in changes ||\n        isExpiredReserve\n    ) {\n        yield put(\n            predictSelfCost({\n                brokerOrderId,\n                tourId,\n                truckId: userSelection.truckId,\n                trailerId: userSelection.trailerId,\n                excludedCountries: userSelection.excludedCountries,\n                isIgnoreCertificates: userSelection.isIgnoreCertificates,\n                isIgnoreEmissionStandard: userSelection.isIgnoreEmissionStandard,\n                pointToDropTruck: userSelection.pointToDropTruck,\n                pointToDropTrailer: userSelection.pointToDropTrailer,\n            }),\n        );\n    }\n\n    if (\n        userSelection.truckId &&\n        ('isIgnoreCertificates' in changes ||\n            'isIgnoreEmissionStandard' in changes ||\n            'pointToDropTruck' in changes ||\n            'pointToDropTrailer' in changes)\n    ) {\n        const truckAssignmentInfoById: ReturnType<typeof selectTruckAssignmentInfoById> = yield select(\n            selectTruckAssignmentInfoById,\n        );\n        const truckAssignmentInfo = truckAssignmentInfoById[userSelection.truckId as TruckIdT];\n        if (truckAssignmentInfo) {\n            yield put(\n                refreshTruck({\n                    plateNumber: truckAssignmentInfo.plateNumber || '',\n                    brokerOrderId,\n                    tourId,\n                    trailerId: userSelection.trailerId,\n                    isIgnoreCertificates: userSelection.isIgnoreCertificates,\n                    isIgnoreEmissionStandard: userSelection.isIgnoreEmissionStandard,\n                    pointToDropTruck: userSelection.pointToDropTruck,\n                    pointToDropTrailer: userSelection.pointToDropTrailer,\n                }),\n            );\n        }\n    }\n\n    if (\n        userSelection.trailerId &&\n        ('isIgnoreCertificates' in changes ||\n            'isIgnoreEmissionStandard' in changes ||\n            'pointToDropTruck' in changes ||\n            'pointToDropTrailer' in changes)\n    ) {\n        const trailerAssignmentInfoById: ReturnType<typeof selectTrailerAssignmentInfoById> = yield select(\n            selectTrailerAssignmentInfoById,\n        );\n        const trailerAssignmentInfo = trailerAssignmentInfoById[userSelection.trailerId as TrailerIdT];\n        if (trailerAssignmentInfo) {\n            yield put(\n                refreshTrailer({\n                    brokerOrderId,\n                    tourId,\n                    truckId: userSelection.truckId,\n                    plateNumber: trailerAssignmentInfo.plateNumber || '',\n                    isIgnoreCertificates: userSelection.isIgnoreCertificates,\n                    isIgnoreEmissionStandard: userSelection.isIgnoreEmissionStandard,\n                    pointToDropTruck: userSelection.pointToDropTruck,\n                    pointToDropTrailer: userSelection.pointToDropTrailer,\n                }),\n            );\n        }\n    }\n\n    if (userSelection.truckId && 'truckId' in changes) {\n        yield put(fetchAssetSchedule(userSelection.truckId, brokerOrderId, tourId));\n    }\n\n    if (userSelection.trailerId && 'trailerId' in changes) {\n        yield put(fetchAssetSchedule(userSelection.trailerId, brokerOrderId, tourId));\n    }\n}\n\nfunction* fetchAssignDetailsSaga(action: FetchAssignDetailsActionT): WrapGeneratorT<void> {\n    const { tourId, brokerOrderId } = action;\n\n    yield put(fetchAssignDetailsBegin());\n\n    const [error, details]: ReturnApiT<typeof brokerTranziitApi.fetchTourAssignDetails> =\n        yield brokerTranziitApi.fetchTourAssignDetails(tourId);\n\n    if (error) {\n        yield put(fetchAssignDetailsError(error));\n        return;\n    }\n\n    yield put(fetchAssignDetailsSuccess(details));\n\n    // refresh if need\n    const userSelection: ReturnType<typeof selectUserSelection> = yield select(selectUserSelection);\n    yield put(changeUserSelection(brokerOrderId, tourId, userSelection));\n}\n\nfunction* fetchAvailableVehiclesSaga(action: FetchAvailableVehiclesActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    const prevQuery: ReturnType<typeof selectAvailableVehiclesQuery> = yield select(selectAvailableVehiclesQuery);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    if (isSameQuery) {\n        return;\n    }\n\n    const isAvailablePointToDrop = yield checkIsAvailableDropAssetPoints(\n        query.pointToDropTrailer,\n        query.pointToDropTruck,\n    );\n    if (!isAvailablePointToDrop) {\n        logWarning('not available country for drop asset');\n        return;\n    }\n\n    yield put(fetchAvailableVehiclesBegin(query));\n\n    const radiusM = query.radiusKm * M_IN_KM;\n\n    const carrierIds: Array<CompanyIdT> = [];\n    if (query.carrierId && query.carrierId !== ALL_CARRIERS_ID) {\n        carrierIds.push(query.carrierId);\n    }\n\n    const selectedAssets: Array<AssetIdT> = [];\n    if (query.truckId) {\n        selectedAssets.push(query.truckId);\n    }\n    if (query.trailerId) {\n        selectedAssets.push(query.trailerId);\n    }\n\n    const [error, vehicles]: ReturnApiT<typeof brokerTranziitApi.searchAssetsForAssigment> =\n        yield brokerTranziitApi.searchAssetsForAssigment(query.tourId, radiusM, {\n            ignoreEmissionStandard: query.isIgnoreEmissionStandard || undefined,\n            ignoreCertificates: query.isIgnoreCertificates || undefined,\n            pointToDropTruck: query.pointToDropTruck?.point\n                ? {\n                      longitude: query.pointToDropTruck.point.lng,\n                      latitude: query.pointToDropTruck.point.lat,\n                  }\n                : undefined,\n            pointToDropTrailer: query.pointToDropTrailer?.point\n                ? {\n                      longitude: query.pointToDropTrailer.point.lng,\n                      latitude: query.pointToDropTrailer.point.lat,\n                  }\n                : undefined,\n            carrierIds: uniq(carrierIds),\n            selectedAssets: selectedAssets?.length ? selectedAssets : undefined,\n        });\n\n    if (error) {\n        yield put(fetchAvailableVehiclesError(query, error));\n        return;\n    }\n\n    // randomizer for debug\n    // vehicles.forEach((vehicle) => {\n    //     vehicle.latitude += Math.random() * 3;\n    //     vehicle.longitude += Math.random() * 3;\n    // });\n\n    /*\n    // links for debug\n    const firstTruck = vehicles?.find((vehicle) => vehicle.truck);\n    const firstTrailer = vehicles?.find((vehicle) => vehicle.trailer);\n    if (firstTruck && firstTrailer) {\n        // @ts-ignore\n        firstTruck.trailer = firstTrailer.trailer;\n        // @ts-ignore\n        firstTrailer.trailer.latitude += 0.1;\n        // @ts-ignore\n        firstTrailer.trailer.longitude += 0.1;\n        // @ts-ignore\n        firstTruck.trailer.carrierId = firstTruck.truck.carrierId;\n        console.info('Added syntetic link!!!');\n    }\n     */\n\n    yield put(fetchAvailableVehiclesSuccess(query, vehicles || []));\n}\n\nfunction* fetchAvailableCarriersSaga(action: FetchAvailableCarriersActionT): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectAvailableCarriersRequest> = yield select(\n        selectAvailableCarriersRequest,\n    );\n\n    const isNeedRequest = checkNeedRequest(requestStatus, action.options);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchAvailableCarriersBegin());\n\n    const [error, carriers]: ReturnApiT<typeof brokerTranziitApi.fetchAvailableCarriers> =\n        yield brokerTranziitApi.fetchAvailableCarriers();\n\n    if (error) {\n        yield put(fetchAvailableCarriersError(error));\n        return;\n    }\n\n    yield put(fetchAvailableCarriersSuccess(carriers?.content || []));\n}\n\nfunction* refreshTruckSaga(action: RefreshTruckActionT): WrapGeneratorT<void> {\n    yield put(findTruck(action.query));\n}\n\nfunction* findTruckSaga(action: FindTruckActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    const prevQuery: ReturnType<typeof selectTruckSuggestQuery> = yield select(selectTruckSuggestQuery);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    if (isSameQuery) {\n        return;\n    }\n\n    const isAvailablePointToDrop = yield checkIsAvailableDropAssetPoints(\n        query.pointToDropTrailer,\n        query.pointToDropTruck,\n    );\n    if (!isAvailablePointToDrop) {\n        logWarning('not available country for drop asset');\n        return;\n    }\n\n    yield put(findTruckBegin(query));\n\n    const [error, apiTrucksSuggestItems]: ReturnApiT<typeof brokerTranziitApi.findTrucksByPlateNumber> =\n        yield brokerTranziitApi.findTrucksByPlateNumber(\n            query.tourId,\n            {\n                trailerId: query.trailerId || undefined,\n                plateNumber: query.plateNumber || undefined,\n            },\n            {\n                ignoreEmissionStandard: query.isIgnoreEmissionStandard || undefined,\n                ignoreCertificates: query.isIgnoreCertificates || undefined,\n                pointToDropTruck: query.pointToDropTruck?.point\n                    ? {\n                          longitude: query.pointToDropTruck.point.lng,\n                          latitude: query.pointToDropTruck.point.lat,\n                      }\n                    : undefined,\n                pointToDropTrailer: query.pointToDropTrailer?.point\n                    ? {\n                          longitude: query.pointToDropTrailer.point.lng,\n                          latitude: query.pointToDropTrailer.point.lat,\n                      }\n                    : undefined,\n            },\n        );\n\n    if (error) {\n        yield put(findTruckError(query, error));\n        return;\n    }\n\n    const limitedTrucksSuggestItems = (apiTrucksSuggestItems || []).slice(0, LIMIT_SUGGEST_RESULT);\n\n    yield put(findTruckSuccess(query, limitedTrucksSuggestItems));\n}\n\nfunction* refreshTrailerSaga(action: RefreshTrailerActionT): WrapGeneratorT<void> {\n    yield put(findTrailer(action.query));\n}\n\nfunction* findTrailerSaga(action: FindTrailerActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    const prevQuery: ReturnType<typeof selectTrailerSuggestQuery> = yield select(selectTrailerSuggestQuery);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    if (isSameQuery) {\n        return;\n    }\n\n    const isAvailablePointToDrop = yield checkIsAvailableDropAssetPoints(\n        query.pointToDropTrailer,\n        query.pointToDropTruck,\n    );\n    if (!isAvailablePointToDrop) {\n        logWarning('not available country for drop asset');\n        return;\n    }\n\n    yield put(findTrailerBegin(query));\n\n    const [error, apiTrailersSuggestItems]: ReturnApiT<typeof brokerTranziitApi.findTrailersByPlateNumber> =\n        yield brokerTranziitApi.findTrailersByPlateNumber(\n            query.tourId,\n            {\n                truckId: query.truckId || undefined,\n                plateNumber: query.plateNumber || undefined,\n            },\n            {\n                ignoreEmissionStandard: query.isIgnoreEmissionStandard || undefined,\n                ignoreCertificates: query.isIgnoreCertificates || undefined,\n                pointToDropTruck: query.pointToDropTruck?.point\n                    ? {\n                          longitude: query.pointToDropTruck.point.lng,\n                          latitude: query.pointToDropTruck.point.lat,\n                      }\n                    : undefined,\n                pointToDropTrailer: query.pointToDropTrailer?.point\n                    ? {\n                          longitude: query.pointToDropTrailer.point.lng,\n                          latitude: query.pointToDropTrailer.point.lat,\n                      }\n                    : undefined,\n            },\n        );\n\n    if (error) {\n        yield put(findTrailerError(query, error));\n        return;\n    }\n\n    const limitedTrailersSuggestItems = (apiTrailersSuggestItems || []).slice(0, LIMIT_SUGGEST_RESULT);\n\n    yield put(findTrailerSuccess(query, limitedTrailersSuggestItems));\n}\n\nfunction* predictSelfCostSaga(action: PredictSelfCostActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    const selfCostReserve: ReturnType<typeof selectSelfCostPrediction> = yield select(selectSelfCostPrediction);\n    const isExpiredReserve = selfCostReserve?.expireTime ? selfCostReserve?.expireTime < Date.now() : false;\n\n    const prevQuery: ReturnType<typeof selectSelfCostPredictionQuery> = yield select(selectSelfCostPredictionQuery);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    if (isSameQuery && !isExpiredReserve) {\n        return;\n    }\n\n    yield put(predictSelfCostBegin(query));\n\n    const isAvailablePointToDrop = yield checkIsAvailableDropAssetPoints(\n        query.pointToDropTrailer,\n        query.pointToDropTruck,\n    );\n\n    const isInvalidQuery = (query.truckId === null && query.trailerId === null) || !isAvailablePointToDrop;\n    if (isInvalidQuery) {\n        yield put(predictSelfCostSuccess(query, null));\n        return;\n    }\n\n    const [error, result]: ReturnApiT<typeof brokerTranziitApi.calculateTourCostsForAssets> =\n        yield brokerTranziitApi.calculateTourCostsForAssets(\n            query.tourId,\n            {\n                truckId: query.truckId || undefined,\n                trailerId: query.trailerId || undefined,\n                prohibitedCountries: query.excludedCountries,\n                withPolyLines: true,\n            },\n            {\n                ignoreEmissionStandard: query.isIgnoreEmissionStandard || undefined,\n                ignoreCertificates: query.isIgnoreCertificates || undefined,\n                pointToDropTrailer: query.pointToDropTrailer?.point\n                    ? {\n                          longitude: query.pointToDropTrailer.point.lng,\n                          latitude: query.pointToDropTrailer.point.lat,\n                          country: query.pointToDropTrailer.addressComponents?.countryCode as ApiCountriesT,\n                          zipCode: query.pointToDropTrailer.addressComponents?.zipCode || undefined,\n                          city: query.pointToDropTrailer.addressComponents?.city || undefined,\n                          street1: query.pointToDropTrailer.addressComponents?.street1 || undefined,\n                          street2: query.pointToDropTrailer.addressComponents?.street2 || undefined,\n                      }\n                    : undefined,\n                pointToDropTruck: query.pointToDropTruck?.point\n                    ? {\n                          longitude: query.pointToDropTruck.point.lng,\n                          latitude: query.pointToDropTruck.point.lat,\n                          country: query.pointToDropTruck.addressComponents?.countryCode as ApiCountriesT,\n                          zipCode: query.pointToDropTruck.addressComponents?.zipCode || undefined,\n                          city: query.pointToDropTruck.addressComponents?.city || undefined,\n                          street1: query.pointToDropTruck.addressComponents?.street1 || undefined,\n                          street2: query.pointToDropTruck.addressComponents?.street2 || undefined,\n                      }\n                    : undefined,\n            },\n        );\n\n    if (error) {\n        yield put(predictSelfCostError(query, error));\n        return;\n    }\n\n    const preparedResult: SelfCostPredictionT = {\n        ...result,\n        expireTime: (result?.secondsToExpire || 0) * MS_IN_SEC + Date.now(),\n    };\n\n    yield put(predictSelfCostSuccess(query, preparedResult));\n}\n\nfunction* assignSaga(action: AssignActionT): WrapGeneratorT<void> {\n    const { brokerOrderId, tourId, assignmentContextId } = action;\n\n    const requestStatus: ReturnType<typeof selectAssignmentRequestStatus> = yield select(selectAssignmentRequestStatus);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(assignBegin());\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.assignOrder> = yield brokerTranziitApi.assignOrder(\n        tourId,\n        assignmentContextId,\n    );\n    if (error) {\n        yield put(assignError(error));\n    } else {\n        yield put(assignSuccess());\n    }\n\n    yield put(fetchBrokerOrderDetails({ id: brokerOrderId, options: { isForceUpdate: true } }));\n    brokerOrdersRefreshChannel.emit({});\n    stateMachineRefreshChannel.emit({});\n}\n\nfunction* fetchAssetScheduleSaga(action: FetchAssetScheduleActionT): WrapGeneratorT<void> {\n    const { assetId, tourId, brokerOrderId } = action;\n\n    const brokerOrderDetails: ReReturnT<typeof selectBrokerOrderDetails> = yield select(\n        selectBrokerOrderDetails(brokerOrderId),\n    );\n    if (!brokerOrderDetails) {\n        logWarning('empty brokerOrderDetails');\n        return;\n    }\n\n    const toursById = keyBy(brokerOrderDetails?.tours, 'id');\n    const tourDetails = toursById[tourId] || null;\n    const firstWaypoint = tourDetails?.waypoints?.[0] || null;\n    const targetDate = firstWaypoint?.correctedDateTimeFrom || firstWaypoint?.originalDateTimeFrom || null;\n    if (!targetDate) {\n        logWarning('empty targetDate');\n        return;\n    }\n\n    const scheduleAssetById = yield select(selectScheduleAssetById);\n    const alreadyHasAssetSchedule = !!scheduleAssetById[assetId];\n    if (alreadyHasAssetSchedule) {\n        return;\n    }\n\n    yield put(fetchAssetScheduleBegin(assetId));\n\n    const scheduleResponse: ReturnApiT<typeof brokerTranziitApi.fetchVehicleScheduleAroundDate> =\n        yield brokerTranziitApi.fetchVehicleScheduleAroundDate(assetId, targetDate);\n\n    const [error, data] = scheduleResponse;\n    if (error) {\n        yield put(fetchAssetScheduleError(assetId, error));\n        return;\n    }\n\n    const schedule = data || [];\n\n    const currentScheduleEvent = getCurrentScheduleEvent(assetId, schedule);\n    const currentScheduleEventId = currentScheduleEvent?.id || null;\n\n    yield put(setAssetSchedule(assetId, schedule, currentScheduleEventId));\n\n    for (const scheduleEvent of schedule) {\n        if (scheduleEvent?.eventType !== VehicleScheduleEventTypeEnum.shipment) {\n            // eslint-disable-next-line no-continue\n            continue;\n        }\n\n        const schedulePolylines: Array<GooglePolylineT> = [];\n\n        const rfqRoutePolylineIds = [\n            scheduleEvent?.dropTrailerPolylineId,\n            scheduleEvent?.dropTruckPolylineId,\n            scheduleEvent?.payloadPolylineId,\n            scheduleEvent?.trailerToPickUpPolylineId,\n            scheduleEvent?.truckToTrailerPolylineId,\n        ].filter(isNonNil);\n\n        for (const rfqRoutePolylineId of rfqRoutePolylineIds) {\n            let fetchRouteGeometryPlainResponse: ReturnApiT<typeof commonTranziitApi.fetchRouteGeometryGoogle> | null;\n\n            if (rfqRoutePolylineId) {\n                fetchRouteGeometryPlainResponse = yield commonTranziitApi.fetchRouteGeometryGoogle(rfqRoutePolylineId);\n            } else {\n                yield put(\n                    fetchAssetScheduleError(\n                        assetId,\n                        new Error(`empty polylineId for fetchRouteGeometryPlain ${JSON.stringify(rfqRoutePolylineId)}`),\n                    ),\n                );\n                fetchRouteGeometryPlainResponse = null;\n            }\n            if (fetchRouteGeometryPlainResponse?.[0]) {\n                yield put(fetchAssetScheduleError(assetId, fetchRouteGeometryPlainResponse[0]));\n            }\n\n            const polyline = fetchRouteGeometryPlainResponse?.[1];\n            if (polyline) {\n                schedulePolylines.push(...polyline);\n            }\n        }\n\n        const scheduleEventId = scheduleEvent?.id || '';\n        if (!scheduleEventId) {\n            logWarning('Empty scheduleEventId');\n        }\n\n        yield put(setEventLoadRoute(assetId, scheduleEventId, schedulePolylines));\n    }\n\n    yield put(fetchAssetScheduleSuccess(assetId));\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function,no-empty-function\nfunction* resetSaga(): WrapGeneratorT<void> {}\n\nfunction* initAssignmentSaga(): WrapGeneratorT<void> {\n    yield put(fetchAvailableCarriers());\n}\n\nfunction* brokerOrderAssigmentSaga(): WrapGeneratorT<void> {\n    yield takeEvery(CHANGE_USER_SELECTION, changeUserSelectionSaga);\n    yield takeEvery(INIT_USER_SELECTION, initUserSelectionSaga);\n    yield takeEvery(FETCH_ASSIGN_DETAILS_REQUEST, fetchAssignDetailsSaga);\n    yield takeEvery(FETCH_AVAILABLE_VEHICLES_REQUEST, fetchAvailableVehiclesSaga);\n    yield takeEvery(FETCH_AVAILABLE_CARRIERS_REQUEST, fetchAvailableCarriersSaga);\n    yield takeEvery(FIND_TRUCK_REQUEST, findTruckSaga);\n    yield takeEvery(REFRESH_TRUCK_REQUEST, refreshTruckSaga);\n    yield takeEvery(FIND_TRAILER_REQUEST, findTrailerSaga);\n    yield takeEvery(REFRESH_TRAILER_REQUEST, refreshTrailerSaga);\n    yield takeEvery(PREDICT_SELF_COST_REQUEST, predictSelfCostSaga);\n    yield takeEvery(ASSIGNMENT_REQUEST, assignSaga);\n    yield takeEvery(FETCH_ASSET_SCHEDULE, fetchAssetScheduleSaga);\n    yield takeEvery(INIT, initAssignmentSaga);\n    yield takeEvery(RESET, resetSaga);\n}\n\nexport default brokerOrderAssigmentSaga;\n","// extracted by mini-css-extract-plugin\nexport default {};","import copy from 'copy-to-clipboard';\nimport { logError } from 'common/utils/logger';\n\nexport const copyToClipboard = (text: string) => {\n    try {\n        copy(text);\n    } catch (error) {\n        logError('Failed to update clipboard', error);\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"status\":\"ShipperContractLaneDetailsSidebarContent__status___xVR9L\",\"fadeIn\":\"ShipperContractLaneDetailsSidebarContent__fadeIn____YrRP\",\"blinking\":\"ShipperContractLaneDetailsSidebarContent__blinking___t0bMX\"};","import {\n    FETCH_PARTNERS_STATS_REQUEST_BEGIN,\n    FETCH_PARTNERS_STATS_REQUEST_ERROR,\n    FETCH_PARTNERS_STATS_REQUEST_SUCCESS,\n    PartnersStatsActionT,\n    PartnersStatsStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: PartnersStatsStateT = {\n    fetchRequest: requestStatus.initial,\n    stats: null,\n};\n\nexport default (state = initialState, action: PartnersStatsActionT | DestroySessionActionT): PartnersStatsStateT => {\n    switch (action.type) {\n        case FETCH_PARTNERS_STATS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n\n        case FETCH_PARTNERS_STATS_REQUEST_SUCCESS: {\n            const { stats } = action;\n\n            return {\n                ...state,\n                stats,\n                fetchRequest: requestStatus.ok,\n            };\n        }\n\n        case FETCH_PARTNERS_STATS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                stats: null,\n                fetchRequest: requestStatus.setError(error),\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\nimport { Trans } from 'react-i18next';\nimport CityName from '../entities/CityName/CityName';\nimport SubjectLink from '../entities/SubjectLink/SubjectLink';\nimport classNames from 'classnames/bind';\nimport styles from './OrderEditedCard.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    orderNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst OrderEditedCard: React.FC<PropsT> = React.memo((props) => {\n    const { orderNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"common:notifications.order-edited\"\n                components={{\n                    orderNumber: <SubjectLink number={orderNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default OrderEditedCard;\n","import { PageSortT } from 'common/utils/query';\n\nconst SEPARATOR = ',';\n\nexport const formatPageQuerySort = <T extends string>(pageSort: PageSortT<T> | null): QuerySortT => {\n    if (!pageSort) {\n        return '';\n    }\n\n    return [pageSort.value, pageSort.direction].join(SEPARATOR);\n};\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    addMemberBegin,\n    addMemberError,\n    addMemberSuccess,\n    deleteMemberBegin,\n    deleteMemberError,\n    deleteMemberSuccess,\n    fetchContactDetails,\n    fetchContactDetailsBegin,\n    fetchContactDetailsError,\n    fetchContactDetailsSuccess,\n    fetchContactsBegin,\n    fetchContactsError,\n    fetchContactsSuccess,\n    updateMemberBegin,\n    updateMemberError,\n    updateMemberSuccess,\n} from './actions';\n\nimport {\n    ADD_CONTACT_REQUEST,\n    AddContactActionT,\n    CANCEL_INVITE,\n    CancelUserActionT,\n    CHANGE_USER_ROLE,\n    ChangeUserRoleActionT,\n    DELETE_CONTACT,\n    DELETE_USER,\n    DeleteContactActionT,\n    DeleteUserActionT,\n    FETCH_CONTACT_DETAILS_BY_USER_ID,\n    FETCH_CONTACT_DETAILS_REQUEST,\n    FETCH_CONTACTS_REQUEST,\n    FetchContactDetailsActionT,\n    FetchContactDetailsByUserIdActionT,\n    FetchContactsActionT,\n    INVITE_USER_REQUEST,\n    InviteUserActionT,\n    MAKE_MAIN_CONTACT,\n    MakeMainContactActionT,\n    RESTORE_USER,\n    UPDATE_CONTACT,\n    UpdateContactActionT,\n} from './types';\nimport { selectContactById, selectContactIdByUserId, selectFetchContactsRequest } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport { ApiCompanyContactRequestT } from 'common/utils/api/models';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { CompanyContactT } from 'common/store/members/models';\nimport { prepareCompanyContactDetails } from 'common/store/members/utils';\nimport { membersRefreshChannel } from './channels';\nimport { partnerDetailsRefreshChannel } from 'broker-admin/store/partner/details/channels';\nimport { CompanyTypeEnum } from 'common/constants';\n\nfunction* fetchContactsSaga(action: FetchContactsActionT): WrapGeneratorT<void> {\n    const { companyId, options } = action;\n\n    const requestStatus: ReReturnT<typeof selectFetchContactsRequest> = yield select(\n        selectFetchContactsRequest(companyId),\n    );\n    if (!checkNeedRequest(requestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchContactsBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof commonTranziitApi.fetchCompanyContacts | typeof brokerTranziitApi.fetchCompanyContacts\n    >;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield commonTranziitApi.fetchCompanyContacts();\n    } else {\n        response = yield brokerTranziitApi.fetchCompanyContacts(companyId);\n    }\n    const [error, companyContacts] = response;\n\n    if (error) {\n        yield put(fetchContactsError(error, companyId));\n    } else {\n        yield put(fetchContactsSuccess(companyContacts || [], companyId));\n    }\n}\n\nfunction* inviteUserSaga(action: InviteUserActionT): WrapGeneratorT<void> {\n    const { newUser, companyId } = action;\n\n    yield put(addMemberBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof commonTranziitApi.addUserToCurrentCompany | typeof brokerTranziitApi.addUserToPartner\n    >;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield commonTranziitApi.addUserToCurrentCompany(newUser);\n    } else {\n        response = yield brokerTranziitApi.addUserToPartner(newUser, companyId);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(addMemberError(error, companyId));\n    } else {\n        yield put(addMemberSuccess(companyId));\n\n        membersRefreshChannel.emit({});\n        partnerDetailsRefreshChannel.emit({});\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.emailInvited,\n                    data: {\n                        email: newUser.email,\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* addContactSaga(action: AddContactActionT): WrapGeneratorT<void> {\n    const { newContact, companyId } = action;\n\n    yield put(addMemberBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof commonTranziitApi.addContactToCurrentCompany | typeof brokerTranziitApi.addContactToPartner\n    >;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield commonTranziitApi.addContactToCurrentCompany(newContact);\n    } else {\n        response = yield brokerTranziitApi.addContactToPartner({ companyId, ...newContact });\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(addMemberError(error, companyId));\n    } else {\n        yield put(addMemberSuccess(companyId));\n\n        membersRefreshChannel.emit({});\n        partnerDetailsRefreshChannel.emit({});\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.contactAdded,\n                    data: {\n                        fullName: `${newContact.name || ''} ${newContact.surname || ''}`,\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* getContactById(companyId: CompanyIdT, contactId: ContactIdT): WrapGeneratorT<CompanyContactT | null> {\n    const contactById: ReReturnT<typeof selectContactById> = yield select(selectContactById(companyId));\n\n    return contactById[contactId] || null;\n}\n\nfunction* getContactByUserId(companyId: CompanyIdT, userId: UserIdT): WrapGeneratorT<CompanyContactT | null> {\n    const contactIdByUserId: ReReturnT<typeof selectContactIdByUserId> = yield select(selectContactIdByUserId);\n    const contactById: ReReturnT<typeof selectContactById> = yield select(selectContactById(companyId));\n\n    const contactId = contactIdByUserId?.[userId];\n    return contactById?.[contactId] || null;\n}\n\nfunction* deleteContactSaga(action: DeleteContactActionT): WrapGeneratorT<void> {\n    const { companyId, contactId } = action;\n\n    yield put(deleteMemberBegin(companyId));\n\n    let result: ReturnApiT<typeof commonTranziitApi.deleteContact | typeof brokerTranziitApi.deleteContact> | null =\n        null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield commonTranziitApi.deleteContact(contactId);\n    } else {\n        result = yield brokerTranziitApi.deleteContact(contactId);\n    }\n    if (!result) {\n        return;\n    }\n\n    const [error] = result;\n\n    if (error) {\n        yield put(deleteMemberError(error, companyId));\n    } else {\n        yield put(deleteMemberSuccess(companyId));\n\n        membersRefreshChannel.emit({});\n        partnerDetailsRefreshChannel.emit({});\n\n        const contact = yield* getContactById(companyId, contactId);\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.contactDeleted,\n                    data: {\n                        fullName: contact?.fullName || '',\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* deleteUserSaga(action: DeleteUserActionT): WrapGeneratorT<void> {\n    const { companyId, userId } = action;\n\n    yield put(deleteMemberBegin(companyId));\n\n    let result: ReturnApiT<typeof commonTranziitApi.deleteUser | typeof brokerTranziitApi.deleteUser> | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield commonTranziitApi.deleteUser(userId);\n    } else {\n        result = yield brokerTranziitApi.deleteUser(userId);\n    }\n    if (!result) {\n        return;\n    }\n\n    const [error] = result;\n\n    if (error) {\n        yield put(deleteMemberError(error, companyId));\n    } else {\n        yield put(deleteMemberSuccess(companyId));\n\n        membersRefreshChannel.emit({});\n        partnerDetailsRefreshChannel.emit({});\n\n        const contact = yield* getContactByUserId(companyId, userId);\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.userDeactivated,\n                    data: {\n                        fullName: contact?.fullName || '',\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* cancelUserInviteSaga(action: CancelUserActionT): WrapGeneratorT<void> {\n    const { companyId, userId } = action;\n\n    yield put(updateMemberBegin(companyId));\n\n    let result: ReturnApiT<\n        typeof commonTranziitApi.cancelUserInvite | typeof brokerTranziitApi.cancelUserInvite\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield commonTranziitApi.cancelUserInvite(userId);\n    } else {\n        result = yield brokerTranziitApi.cancelUserInvite(userId);\n    }\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n\n    if (error) {\n        yield put(updateMemberError(error, companyId));\n    } else {\n        yield put(updateMemberSuccess(companyId));\n\n        membersRefreshChannel.emit({});\n        partnerDetailsRefreshChannel.emit({});\n\n        const contact = yield* getContactByUserId(companyId, userId);\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.inviteCanceled,\n                    data: {\n                        email: contact?.email || '',\n                    },\n                }),\n            ),\n        );\n    }\n}\nfunction* restoreUserSaga(action: CancelUserActionT): WrapGeneratorT<void> {\n    const { companyId, userId } = action;\n\n    yield put(updateMemberBegin(companyId));\n\n    let result: ReturnApiT<typeof commonTranziitApi.restoreUser | typeof brokerTranziitApi.restoreUser> | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield commonTranziitApi.restoreUser(userId);\n    } else {\n        result = yield brokerTranziitApi.restoreUser(userId);\n    }\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n\n    if (error) {\n        yield put(updateMemberError(error, companyId));\n    } else {\n        yield put(updateMemberSuccess(companyId));\n\n        membersRefreshChannel.emit({});\n        partnerDetailsRefreshChannel.emit({});\n\n        const contact = yield* getContactByUserId(companyId, userId);\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.userRestored,\n                    data: {\n                        fullName: contact?.fullName || '',\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* changeUserRoleSaga(action: ChangeUserRoleActionT): WrapGeneratorT<void> {\n    const { companyId, userId, roles } = action;\n\n    yield put(updateMemberBegin(companyId));\n\n    let result: ReturnApiT<typeof commonTranziitApi.assignUserRole | typeof brokerTranziitApi.assignUserRole> | null =\n        null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield commonTranziitApi.assignUserRole(userId, roles);\n    } else {\n        result = yield brokerTranziitApi.assignUserRole(userId, roles);\n    }\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n\n    if (error) {\n        yield put(updateMemberError(error, companyId));\n    } else {\n        yield put(updateMemberSuccess(companyId));\n\n        membersRefreshChannel.emit({});\n        partnerDetailsRefreshChannel.emit({});\n\n        const contact = yield* getContactByUserId(companyId, userId);\n\n        if (contact?.id) {\n            yield put(fetchContactDetails(contact.id));\n        }\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.userRolesChanged,\n                    data: {\n                        fullName: contact?.fullName || '',\n                        roles,\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* updateContactSaga(action: UpdateContactActionT): WrapGeneratorT<void> {\n    const { companyId, contactId, contactChanges } = action;\n\n    yield put(updateMemberBegin(companyId));\n\n    let result: ReturnApiT<typeof commonTranziitApi.updateContact | typeof brokerTranziitApi.updateContact> | null =\n        null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield commonTranziitApi.updateContact(contactId, contactChanges);\n    } else {\n        result = yield brokerTranziitApi.updateContact(contactId, contactChanges);\n    }\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n\n    if (error) {\n        yield put(updateMemberError(error, companyId));\n    } else {\n        yield put(updateMemberSuccess(companyId));\n\n        membersRefreshChannel.emit({});\n        partnerDetailsRefreshChannel.emit({});\n\n        yield put(fetchContactDetails(contactId));\n\n        const contact = yield* getContactById(companyId, contactId);\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.contactEdited,\n                    data: {\n                        fullName: contact?.fullName || '',\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* makeMainContactSaga(action: MakeMainContactActionT): WrapGeneratorT<void> {\n    const { companyId, contactId } = action;\n\n    yield put(updateMemberBegin(companyId));\n\n    let detailsResponse: ReturnApiT<\n        typeof commonTranziitApi.fetchContactDetails | typeof brokerTranziitApi.fetchContactDetails\n    >;\n    if (checkIsDefaultCompanyId(companyId)) {\n        detailsResponse = yield commonTranziitApi.fetchContactDetails(contactId);\n    } else {\n        detailsResponse = yield brokerTranziitApi.fetchContactDetails(contactId);\n    }\n    const [detailsError, details] = detailsResponse;\n\n    if (detailsError) {\n        yield put(updateMemberError(detailsError, companyId));\n        return;\n    }\n\n    if (!details) {\n        yield put(updateMemberError(new Error('empty details'), companyId));\n        return;\n    }\n\n    const contactDetailsChanges: ApiCompanyContactRequestT = {\n        ...details,\n        main: true,\n    };\n\n    let updateResponse: ReturnApiT<typeof commonTranziitApi.updateContact | typeof brokerTranziitApi.updateContact>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        updateResponse = yield commonTranziitApi.updateContact(contactId, contactDetailsChanges);\n    } else {\n        updateResponse = yield brokerTranziitApi.updateContact(contactId, contactDetailsChanges);\n    }\n    const [updateError] = updateResponse;\n\n    if (updateError) {\n        yield put(updateMemberError(updateError, companyId));\n        return;\n    }\n\n    yield put(updateMemberSuccess(companyId));\n\n    membersRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n\n    yield put(fetchContactDetails(contactId));\n\n    const contact = yield* getContactById(companyId, contactId);\n    yield put(\n        addAlert(\n            new CommonAnyAlert({\n                type: CommonAlertTypeEnum.mainContactChanged,\n                data: {\n                    fullName: contact?.fullName || '',\n                },\n            }),\n        ),\n    );\n}\n\nfunction getFetchContactDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* fetchContactDetailsSaga(action: FetchContactDetailsActionT): WrapGeneratorT<void> {\n        const { contactId } = action;\n\n        yield put(fetchContactDetailsBegin());\n\n        let response: ReturnApiT<\n            typeof commonTranziitApi.fetchContactDetails | typeof brokerTranziitApi.fetchContactDetails\n        >;\n        if (companyType !== CompanyTypeEnum.broker) {\n            response = yield commonTranziitApi.fetchContactDetails(contactId);\n        } else {\n            response = yield brokerTranziitApi.fetchContactDetails(contactId);\n        }\n        const [error, details] = response;\n\n        if (error) {\n            yield put(fetchContactDetailsError(error));\n        } else {\n            const preparedDetails = prepareCompanyContactDetails(details);\n            yield put(fetchContactDetailsSuccess(contactId, preparedDetails));\n        }\n    };\n}\n\nfunction getFetchContactDetailsByUserIdSaga(companyType: CompanyTypeEnum) {\n    return function* fetchContactDetailsByUserIdSaga(action: FetchContactDetailsByUserIdActionT): WrapGeneratorT<void> {\n        const { userId } = action;\n\n        yield put(fetchContactDetailsBegin());\n\n        let response: ReturnApiT<\n            typeof commonTranziitApi.fetchContactDetailsByUserId | typeof brokerTranziitApi.fetchContactDetailsByUserId\n        >;\n        if (companyType !== CompanyTypeEnum.broker) {\n            response = yield commonTranziitApi.fetchContactDetailsByUserId(userId);\n        } else {\n            response = yield brokerTranziitApi.fetchContactDetailsByUserId(userId);\n        }\n        const [error, details] = response;\n\n        if (error) {\n            yield put(fetchContactDetailsError(error));\n            return;\n        }\n\n        if (details?.id) {\n            const preparedDetails = prepareCompanyContactDetails(details);\n            yield put(fetchContactDetailsSuccess(details.id, preparedDetails));\n        }\n    };\n}\n\nfunction* companyMembersSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_CONTACTS_REQUEST, fetchContactsSaga);\n    yield takeEvery(INVITE_USER_REQUEST, inviteUserSaga);\n    yield takeEvery(ADD_CONTACT_REQUEST, addContactSaga);\n    yield takeEvery(DELETE_CONTACT, deleteContactSaga);\n    yield takeEvery(DELETE_USER, deleteUserSaga);\n    yield takeEvery(CANCEL_INVITE, cancelUserInviteSaga);\n    yield takeEvery(RESTORE_USER, restoreUserSaga);\n    yield takeEvery(CHANGE_USER_ROLE, changeUserRoleSaga);\n    yield takeEvery(MAKE_MAIN_CONTACT, makeMainContactSaga);\n    yield takeEvery(UPDATE_CONTACT, updateContactSaga);\n    yield takeEvery(FETCH_CONTACT_DETAILS_REQUEST, getFetchContactDetailsSaga(companyType));\n    yield takeEvery(FETCH_CONTACT_DETAILS_BY_USER_ID, getFetchContactDetailsByUserIdSaga(companyType));\n}\n\nexport default companyMembersSaga;\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TransportOrderRouteMap.scss';\n\nimport GoogleMapReact from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport last from 'lodash/last';\nimport { AssetTypeEnum } from 'common/constants';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport MapLoader from 'common/components/maps/MapLoader/MapLoader';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectRoutingGeometryState } from 'common/store/routing-geometry/selectors';\nimport { fetchTracksByTransportOrders } from 'common/store/asset-track/actions';\nimport {\n    getAssetsTrackHashByTransportOrderId,\n    getAssetTrackHashByTransportOrderId,\n} from 'common/store/asset-track/utils';\nimport { selectAssetTrackPoints, selectAssetTrackRequest } from 'common/store/asset-track/selectors';\nimport { isNonNil } from 'common/utils';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport { StopTypeEnum } from 'common/utils/api/models';\nimport AssetDropOffLocationPin from 'common/components/maps/pins/AssetDropOffLocationPin/AssetDropOffLocationPin';\nimport AssetPickUpLocationPin from 'common/components/maps/pins/AssetPickUpLocationPin/AssetPickUpLocationPin';\nimport Supercluster from 'supercluster';\nimport { PointGeoJsonPropertiesT } from './models';\nimport isNumber from 'lodash/isNumber';\nimport WaypointNumberPin from 'common/components/maps/pins/WaypointNumberPin/WaypointNumberPin';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport PointStackClusterPin from './PointStackClusterPin/PointStackClusterPin';\nimport LastAssetTrackPointPin from 'common/components/maps/pins/LastAssetTrackPointPin/LastAssetTrackPointPin';\nimport MapBound, { BoundPointT } from 'common/components/maps/MapBound/MapBound';\nimport FerryLocationPin from 'common/components/maps/pins/FerryLocationPin/FerryLocationPin';\n\nconst FEATURES_LIMIT = 99999;\nconst DEFAULT_OFFSET = 0;\n\nconst SUPERCLUSTER_SETTINGS: Supercluster.Options<PointGeoJsonPropertiesT, any> = {\n    radius: 100,\n    maxZoom: 22,\n};\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isLoading?: boolean;\n    transportOrderId: TransportOrderIdT;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n};\n\nconst TransportOrderRouteMap: React.FC<PropsT> = React.memo((props) => {\n    const { transportOrderId, transportOrderDetails } = props;\n\n    const dispatch = useDispatch();\n\n    const polylineIds = useMemo(() => {\n        return [\n            transportOrderDetails?.dropTrailerPolylineId,\n            transportOrderDetails?.dropTruckPolylineId,\n            transportOrderDetails?.polylineId,\n            transportOrderDetails?.trailerToPickUpPolylineId,\n            transportOrderDetails?.truckToTrailerPolylineId,\n        ].filter(isNonNil);\n    }, [\n        transportOrderDetails?.dropTrailerPolylineId,\n        transportOrderDetails?.dropTruckPolylineId,\n        transportOrderDetails?.polylineId,\n        transportOrderDetails?.trailerToPickUpPolylineId,\n        transportOrderDetails?.truckToTrailerPolylineId,\n    ]);\n\n    useRouteGeometry(polylineIds);\n\n    const dropTrailerGeometryState = useSelector(\n        selectRoutingGeometryState(transportOrderDetails?.dropTrailerPolylineId),\n    );\n    const dropTruckGeometryState = useSelector(selectRoutingGeometryState(transportOrderDetails?.dropTruckPolylineId));\n    const payloadGeometryState = useSelector(selectRoutingGeometryState(transportOrderDetails?.polylineId));\n    const trailerToPickUpGeometryState = useSelector(\n        selectRoutingGeometryState(transportOrderDetails?.trailerToPickUpPolylineId),\n    );\n    const truckToTrailerGeometryState = useSelector(\n        selectRoutingGeometryState(transportOrderDetails?.truckToTrailerPolylineId),\n    );\n\n    const isLoadingGeometry =\n        dropTrailerGeometryState?.requestStatus?.loading ||\n        dropTruckGeometryState?.requestStatus?.loading ||\n        payloadGeometryState?.requestStatus?.loading ||\n        trailerToPickUpGeometryState?.requestStatus?.loading ||\n        truckToTrailerGeometryState?.requestStatus?.loading;\n\n    React.useEffect(() => {\n        if (transportOrderId) {\n            dispatch(fetchTracksByTransportOrders([transportOrderId]));\n        }\n    }, [transportOrderId, dispatch]);\n\n    const firstTourTrailerId = transportOrderDetails?.trailer?.id;\n    const firstTourTruckId = transportOrderDetails?.truck?.id;\n\n    const assetsTracksHash = getAssetsTrackHashByTransportOrderId(transportOrderId);\n    const assetsTracksRequest = useSelector(selectAssetTrackRequest(assetsTracksHash));\n\n    const trailerHash = getAssetTrackHashByTransportOrderId(transportOrderId, firstTourTrailerId);\n    const trailerTrack = useSelector(selectAssetTrackPoints(trailerHash));\n    const trailerTrackRequest = useSelector(selectAssetTrackRequest(trailerHash));\n\n    const truckHash = getAssetTrackHashByTransportOrderId(transportOrderId, firstTourTruckId);\n    const truckTrack = useSelector(selectAssetTrackPoints(truckHash));\n    const truckTrackRequest = useSelector(selectAssetTrackRequest(truckHash));\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const [api, setApi] = React.useState<TODO>(null);\n    const [config, setConfig] = React.useState<TODO>(null);\n\n    const apiIsLoaded: OnGoogleApiLoadedT = (api) => {\n        setApi(api);\n\n        const { map, maps } = api;\n\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const boundMapPoints = React.useMemo((): Array<BoundPointT> => {\n        return (\n            transportOrderDetails?.waypoints?.map((waypoint): BoundPointT => {\n                return [waypoint?.address?.latitude, waypoint?.address?.longitude];\n            }) || []\n        );\n    }, [transportOrderDetails]);\n\n    const lastTruckTrackPoint = last(truckTrack);\n    const lastTrailerTrackPoint = last(trailerTrack);\n\n    const allGeoJSONs = React.useMemo(() => {\n        const geoJSONs: Array<Supercluster.PointFeature<PointGeoJsonPropertiesT>> = [];\n\n        transportOrderDetails?.waypoints?.forEach((waypoint) => {\n            const longitude = waypoint?.address?.longitude;\n            const latitude = waypoint?.address?.latitude;\n            if (isNumber(latitude) && isNumber(longitude)) {\n                const geoJson: Supercluster.PointFeature<PointGeoJsonPropertiesT> = {\n                    type: 'Feature',\n                    geometry: {\n                        type: 'Point',\n                        coordinates: [longitude, latitude],\n                    },\n                    properties: {\n                        type: 'waypoint-point',\n                        waypoint,\n                    },\n                };\n\n                geoJSONs.push(geoJson);\n            }\n        });\n\n        if (lastTrailerTrackPoint) {\n            geoJSONs.push({\n                type: 'Feature',\n                geometry: {\n                    type: 'Point',\n                    coordinates: [lastTrailerTrackPoint.lng, lastTrailerTrackPoint.lat],\n                },\n                properties: {\n                    type: 'trailer-last-point',\n                    point: lastTrailerTrackPoint,\n                },\n            });\n        }\n\n        if (lastTruckTrackPoint) {\n            geoJSONs.push({\n                type: 'Feature',\n                geometry: {\n                    type: 'Point',\n                    coordinates: [lastTruckTrackPoint.lng, lastTruckTrackPoint.lat],\n                },\n                properties: {\n                    type: 'truck-last-point',\n                    point: lastTruckTrackPoint,\n                },\n            });\n        }\n\n        return geoJSONs;\n    }, [transportOrderDetails?.waypoints, lastTruckTrackPoint, lastTrailerTrackPoint]);\n\n    const allGeoJSONsClusterator = React.useMemo(() => {\n        const clusterator = new Supercluster<PointGeoJsonPropertiesT>(SUPERCLUSTER_SETTINGS);\n        clusterator.load(allGeoJSONs || []);\n        return clusterator;\n    }, [allGeoJSONs]);\n\n    const handleChange = () => {\n        if (api) {\n            const { zoom } = api.map;\n\n            const bound = api.map.getBounds();\n\n            const northEast = bound.getNorthEast();\n            const southWest = bound.getSouthWest();\n\n            setConfig({\n                zoom,\n                bounds: [southWest.lng(), southWest.lat(), northEast.lng(), northEast.lat()],\n            });\n        }\n    };\n\n    const allGeoJSONsClusters = React.useMemo(() => {\n        if (config) {\n            const clusters = allGeoJSONsClusterator.getClusters(config.bounds, config.zoom);\n            return clusters;\n        }\n\n        return [];\n    }, [config, allGeoJSONsClusterator]);\n\n    const renderSinglePointFeature = (properties: PointGeoJsonPropertiesT) => {\n        switch (properties.type) {\n            case 'trailer-last-point': {\n                return (\n                    <LastAssetTrackPointPin\n                        key=\"trailer-last-point\"\n                        iconType={AssetTypeEnum.trailer}\n                        lat={properties.point.lat}\n                        lng={properties.point.lng}\n                        timestamp={properties.point.timestamp}\n                    />\n                );\n            }\n            case 'truck-last-point': {\n                return (\n                    <LastAssetTrackPointPin\n                        key=\"truck-last-point\"\n                        iconType={AssetTypeEnum.truck}\n                        lat={properties.point.lat}\n                        lng={properties.point.lng}\n                        timestamp={properties.point.timestamp}\n                    />\n                );\n            }\n            case 'waypoint-point': {\n                const { waypoint } = properties;\n\n                const isVisitedWaypoint = !!waypoint.driverLeftTimeStamp;\n\n                const commonProps = {\n                    theme: isVisitedWaypoint ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                    key: `waypoint-${waypoint.id}-${waypoint.index}-${waypoint.id}`,\n                    className: cx('location'),\n                    lng: waypoint?.address?.longitude,\n                    lat: waypoint?.address?.latitude,\n                } as const;\n\n                switch (waypoint.type) {\n                    case StopTypeEnum.pickupTrailer: {\n                        return <AssetPickUpLocationPin assetType={AssetTypeEnum.trailer} {...commonProps} />;\n                    }\n                    case StopTypeEnum.pickupTruck: {\n                        return <AssetPickUpLocationPin assetType={AssetTypeEnum.truck} {...commonProps} />;\n                    }\n                    case StopTypeEnum.pickupRoadTrain: {\n                        return <AssetPickUpLocationPin assetType={null} {...commonProps} />;\n                    }\n                    case StopTypeEnum.dropTrailer: {\n                        return <AssetDropOffLocationPin assetType={AssetTypeEnum.trailer} {...commonProps} />;\n                    }\n                    case StopTypeEnum.dropTruck: {\n                        return <AssetDropOffLocationPin assetType={AssetTypeEnum.truck} {...commonProps} />;\n                    }\n                    case StopTypeEnum.dropRoadTrain: {\n                        return <AssetDropOffLocationPin assetType={null} {...commonProps} />;\n                    }\n                    case StopTypeEnum.ferryOnboard:\n                    case StopTypeEnum.ferryDisembark: {\n                        return <FerryLocationPin {...commonProps} />;\n                    }\n                    case StopTypeEnum.driveThrough: {\n                        return <WaypointNumberPin {...commonProps}>{(waypoint.index || 0) + 1}</WaypointNumberPin>;\n                    }\n                    case StopTypeEnum.dropAndHook:\n                    case StopTypeEnum.pickupDeliveryShipment:\n                    default: {\n                        return <WaypointNumberPin {...commonProps}>{(waypoint.index || 0) + 1}</WaypointNumberPin>;\n                    }\n                }\n            }\n            default: {\n                return null;\n            }\n        }\n    };\n\n    const handleClusterClick = React.useCallback(\n        (clusterId: number) => {\n            const { map, maps } = api;\n\n            const clusterFeatures = allGeoJSONsClusterator.getLeaves(clusterId, FEATURES_LIMIT, DEFAULT_OFFSET);\n\n            const bounds = new maps.LatLngBounds();\n\n            clusterFeatures.forEach((feature: Supercluster.PointFeature<{}>) => {\n                const point = new maps.LatLng(feature.geometry.coordinates[1], feature.geometry.coordinates[0]);\n\n                bounds.extend(point);\n            });\n\n            map.fitBounds(bounds);\n        },\n        [api, allGeoJSONsClusterator],\n    );\n\n    const isLoading =\n        props.isLoading ||\n        isLoadingGeometry ||\n        assetsTracksRequest?.loading ||\n        truckTrackRequest?.loading ||\n        trailerTrackRequest?.loading;\n\n    return (\n        <>\n            {isLoading && <MapLoader />}\n            <GoogleMapReact\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                options={MAP_OPTIONS}\n                onGoogleApiLoaded={apiIsLoaded}\n                onDragEnd={handleChange}\n                onZoomAnimationEnd={handleChange}\n                yesIWantToUseGoogleMapApiInternals\n            >\n                {allGeoJSONsClusters.map((cluster) => {\n                    if ('cluster' in cluster.properties) {\n                        const pointsFeatures = allGeoJSONsClusterator.getLeaves(\n                            cluster.properties.cluster_id,\n                            FEATURES_LIMIT,\n                            DEFAULT_OFFSET,\n                        );\n\n                        const clusterProperties = pointsFeatures.map((pointFeatures) => {\n                            return pointFeatures.properties;\n                        });\n\n                        return (\n                            <PointStackClusterPin\n                                key={`cluster-${cluster.properties.cluster_id}`}\n                                clusterId={cluster.properties.cluster_id}\n                                lng={cluster.geometry.coordinates[0]}\n                                lat={cluster.geometry.coordinates[1]}\n                                clusterProperties={clusterProperties}\n                                onClusterClick={handleClusterClick}\n                                withoutArrow={config.zoom < 20}\n                            />\n                        );\n                    }\n\n                    return renderSinglePointFeature(cluster.properties as PointGeoJsonPropertiesT);\n                })}\n            </GoogleMapReact>\n            {dropTrailerGeometryState && (\n                <MapRoute\n                    key=\"dropTrailerGeometryState\"\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={dropTrailerGeometryState.data}\n                    theme={MapRouteThemeEnum.trackFuture}\n                    zIndex={1}\n                />\n            )}\n            {dropTruckGeometryState && (\n                <MapRoute\n                    key=\"dropTruckGeometryState\"\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={dropTruckGeometryState.data}\n                    theme={MapRouteThemeEnum.trackFuture}\n                    zIndex={1}\n                />\n            )}\n            {payloadGeometryState && (\n                <MapRoute\n                    key=\"payloadGeometryState\"\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={payloadGeometryState.data}\n                    theme={MapRouteThemeEnum.trackFuture}\n                    zIndex={1}\n                />\n            )}\n            {trailerToPickUpGeometryState && (\n                <MapRoute\n                    key=\"trailerToPickUpGeometryState\"\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={trailerToPickUpGeometryState.data}\n                    theme={MapRouteThemeEnum.trackFuture}\n                    zIndex={1}\n                />\n            )}\n            {truckToTrailerGeometryState && (\n                <MapRoute\n                    key=\"truckToTrailerGeometryState\"\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={truckToTrailerGeometryState.data}\n                    theme={MapRouteThemeEnum.trackFuture}\n                    zIndex={1}\n                />\n            )}\n            <MapRoute\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                route={trailerTrack}\n                theme={MapRouteThemeEnum.trackPast}\n                zIndex={2}\n            />\n            <MapRoute\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                route={truckTrack}\n                theme={MapRouteThemeEnum.trackPast}\n                zIndex={2}\n            />\n            <MapBound\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                allMapPoints={boundMapPoints}\n            />\n        </>\n    );\n});\n\nexport default TransportOrderRouteMap;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './PhoneNumberIcon.scss';\nimport { parsePhoneNumber } from 'react-phone-number-input';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    phoneNumber?: string;\n};\n\nconst PhoneNumberIcon: React.FC<PropsT> = (props) => {\n    const { phoneNumber } = props;\n\n    const [countryCode, setCountryCode] = React.useState<string | null>(null);\n\n    React.useEffect(() => {\n        const parsedPhoneNumber = parsePhoneNumber(phoneNumber || '');\n\n        if (countryCode !== parsedPhoneNumber?.country) {\n            setCountryCode(parsedPhoneNumber?.country || null);\n        }\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [phoneNumber]);\n\n    if (!countryCode) {\n        return <div className={cx('empty-flag')} />;\n    }\n\n    return <FlagIcon countryCode={countryCode} />;\n};\n\nexport default PhoneNumberIcon;\n","import { put, takeEvery } from 'redux-saga/effects';\nimport {\n    partnerSuggestRequest,\n    partnerSuggestRequestBegin,\n    partnerSuggestRequestError,\n    partnerSuggestRequestSuccess,\n} from './slice';\nimport { PartnerSuggestRequestActionT } from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getPartnerSuggestSaga(companyType: CompanyTypeEnum) {\n    return function* (action: PartnerSuggestRequestActionT): WrapGeneratorT<void> {\n        const { partnerId } = action.payload;\n\n        yield put(\n            partnerSuggestRequestBegin({\n                partnerId,\n            }),\n        );\n\n        const [error, data]: ReturnApiT<typeof brokerTranziitApi.fetchPartnerDetails> =\n            yield brokerTranziitApi.fetchPartnerDetails(partnerId);\n\n        if (error) {\n            yield put(partnerSuggestRequestError({ error, partnerId }));\n            return;\n        }\n\n        yield put(\n            partnerSuggestRequestSuccess({\n                partnerId,\n                data,\n            }),\n        );\n    };\n}\n\nfunction* partnerSuggestSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(partnerSuggestRequest.type, getPartnerSuggestSaga(companyType));\n}\n\nexport { partnerSuggestSaga };\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CreateUpdateCell.scss';\nimport { clearDateTimezone, formatDate } from 'common/utils/time';\nimport { RuleT } from 'broker-admin/store/price-settings/rules/models';\n\ntype PropsT = {\n    rule: RuleT;\n};\n\nconst DATE_FORMAT = 'DD MMM, YYYY';\n\nconst cx = classNames.bind(styles);\n\nconst CreateUpdateCell: React.FC<PropsT> = React.memo((props) => {\n    const { rule } = props;\n\n    return (\n        <div>\n            <div className={cx('date')}>{formatDate(DATE_FORMAT, clearDateTimezone(rule?.createdDate))}</div>\n            <div className={cx('date')}>{formatDate(DATE_FORMAT, clearDateTimezone(rule?.updatedDate))}</div>\n        </div>\n    );\n});\n\nexport default CreateUpdateCell;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n};\n\nconst EcoIcon: React.FC<PropsT> = (props) => {\n    const { size, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill=\"#8ABA2E\"\n                    d=\"M5.537 7.037a5.251 5.251 0 00-.014 7.41c1.102-2.55 3.067-4.68 5.52-5.947A11.96 11.96 0 007 15.49c1.95.922 4.35.585 5.963-1.027C15.572 11.853 16 4 16 4s-7.853.428-10.463 3.037z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nEcoIcon.displayName = 'EcoIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default EcoIcon;\n","export type RequestStatusT = {\n    initial: boolean;\n    loading: boolean;\n    error: Error | null;\n    ok: boolean;\n    time: number;\n};\n\ntype RequestStatusStateT = {\n    initial: RequestStatusT;\n    loading: RequestStatusT;\n    ok: RequestStatusT;\n    setError: (error: Error) => RequestStatusT;\n};\n\nconst getDefaultState = (): RequestStatusT => ({\n    initial: false,\n    loading: false,\n    error: null,\n    ok: false,\n    time: process.env.TEST ? 11111 : Date.now(),\n});\n\nconst requestStatus: RequestStatusStateT = {\n    get initial() {\n        return {\n            ...getDefaultState(),\n            time: 0,\n            initial: true,\n        };\n    },\n    get loading() {\n        return {\n            ...getDefaultState(),\n            loading: true,\n        };\n    },\n    get ok() {\n        return {\n            ...getDefaultState(),\n            ok: true,\n        };\n    },\n    setError: (error: Error) => ({\n        ...getDefaultState(),\n        error,\n    }),\n};\n\nexport default requestStatus;\n","import { StyleGuideColorsEnum } from 'common/constants';\nimport * as React from 'react';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst InfoIcon: React.FC<PropsT> = (props) => {\n    const { className, fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" className={className}>\n            <path\n                fill={fillColor}\n                fillRule=\"evenodd\"\n                d=\"M8.38 14.006c-.213 0-.385-.201-.385-.448s.172-.448.385-.448L9 13v-3l-.62-.116c-.213 0-.385-.201-.385-.448s.172-.448.385-.448h2.514c.077 0 .102-.032.113-.058-.003.015-.007.029-.007.07v4l.619.11c.213 0 .386.201.386.448s-.173.448-.386.448H8.38zM9 6h.98c.007 0 .013-.004.02-.004.007 0 .013.004.02.004H11v.94c.001.022.012.04.012.061 0 .022-.011.04-.012.061V8h-.967c-.012.001-.022.007-.033.007-.012 0-.022-.006-.033-.007H9v-.939c-.002-.021-.013-.038-.013-.06 0-.021.011-.039.013-.06V6zm-7 4a8 8 0 1016 0 8 8 0 00-16 0z\"\n            />\n        </svg>\n    );\n};\n\nInfoIcon.displayName = 'InfoIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default InfoIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './PapersMessagePlaceholder.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    children: React.ReactNode;\n};\n\nconst PapersMessagePlaceholder: React.FC<PropsT> = React.memo((props) => {\n    const { className, children } = props;\n\n    return <div className={cs(cx('placeholder'), className)}>{children}</div>;\n});\n\nexport { PapersMessagePlaceholder };\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './CompletedPartnerShipperContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst CompletedPartnerShipperContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-completed\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default CompletedPartnerShipperContractCard;\n","import * as React from 'react';\nimport { useState } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractLaneCreationConfirmForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport { CurrencyEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { CreationLaneConfirmDataT } from './models';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport EditIcon from 'common/icons/EditIcon';\nimport { simpleNumberFormatter } from 'common/utils/form-formatters';\nimport Money from 'common/components/Money/Money';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport ControlLoaderLabel from 'common/components/ControlLoaderLabel/ControlLoaderLabel';\nimport { useSelector } from 'react-redux';\nimport {\n    selectAveragePriceOffer,\n    selectCalculateCostRequest,\n    selectCreationRequest,\n} from 'common/store/shipper-contract-lane-creation/selectors';\nimport AveragePriceOfferDetails from './AveragePriceOfferDetails/AveragePriceOfferDetails';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    onConfirm: (data: CreationLaneConfirmDataT) => void;\n    onCancel: () => void;\n};\n\nexport const DEFAULT_INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.totalPrice]: '',\n};\n\nconst ShipperContractLaneCreationConfirmForm: React.FC<PropsT> = React.memo((props) => {\n    const { onConfirm, onCancel, className } = props;\n\n    const { t } = useTranslation();\n\n    const [prevTotalPrice, setPrevTotalPrice] = useState<string | null>(null);\n\n    const creationRequest = useSelector(selectCreationRequest);\n    const calculateCostRequest = useSelector(selectCalculateCostRequest);\n\n    const averagePriceOffer = useSelector(selectAveragePriceOffer);\n\n    const isShowLoader = calculateCostRequest.loading;\n    const initTotalPrice = averagePriceOffer?.totalPrice;\n\n    const validate = React.useCallback(\n        (values: FormValuesT) => {\n            return validateForm(t, values);\n        },\n        [t],\n    );\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...DEFAULT_INITIAL_VALUES,\n            [FieldsEnum.totalPrice]: simpleNumberFormatter(initTotalPrice) || '',\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [initTotalPrice]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        initialTouched: {\n            [FieldsEnum.totalPrice]: true,\n        },\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            onConfirm({\n                totalPrice: parseSimpleNumber(values[FieldsEnum.totalPrice]) || 0,\n            });\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const isLoading = calculateCostRequest.loading;\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={className}>\n            <div className={cx('head')}>\n                {isShowLoader ? (\n                    <div className={cx('total-price-skeleton')} />\n                ) : (\n                    <>\n                        {prevTotalPrice ? (\n                            <>\n                                <FormikField\n                                    className={cx('field', 'field--total-price')}\n                                    name={FieldsEnum.totalPrice}\n                                    error={formik.errors[FieldsEnum.totalPrice]}\n                                    meta={formik.getFieldMeta(FieldsEnum.totalPrice)}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                    withoutLabel\n                                >\n                                    {(props) => (\n                                        <NumberInput\n                                            name={FieldsEnum.totalPrice}\n                                            value={formik.values[FieldsEnum.totalPrice]}\n                                            step={1}\n                                            unitType={UnitTypeEnum.euroAbbreviation}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning}\n                                        />\n                                    )}\n                                </FormikField>\n                                <div className={cx('mini-actions')}>\n                                    <TransparentTrigger\n                                        onClick={() => {\n                                            formik.setFieldValue(FieldsEnum.totalPrice, prevTotalPrice);\n                                            setPrevTotalPrice(null);\n                                        }}\n                                        leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                                    />\n                                    <TransparentTrigger\n                                        onClick={() => {\n                                            if (formik.errors[FieldsEnum.totalPrice]) {\n                                                return;\n                                            }\n\n                                            setPrevTotalPrice(null);\n                                        }}\n                                        leftIcon={\n                                            <DoneIcon\n                                                size={DEFAULT_ICON_SIZE}\n                                                fillColor={StyleGuideColorsEnum.brandAccent}\n                                            />\n                                        }\n                                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                                    />\n                                </div>\n                            </>\n                        ) : (\n                            <>\n                                <div className={cx('total-price')}>\n                                    <Money\n                                        amount={parseSimpleNumber(formik.values[FieldsEnum.totalPrice])}\n                                        currency={CurrencyEnum.EUR}\n                                    />\n                                </div>\n                                <div className={cx('mini-actions')}>\n                                    <TransparentTrigger\n                                        onClick={() => {\n                                            setPrevTotalPrice(formik.values[FieldsEnum.totalPrice]);\n                                        }}\n                                        leftIcon={\n                                            <EditIcon\n                                                size={DEFAULT_ICON_SIZE}\n                                                fillColor={StyleGuideColorsEnum.brandAccent}\n                                                strokeColor={StyleGuideColorsEnum.brandDark}\n                                            />\n                                        }\n                                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                                    />\n                                </div>\n                            </>\n                        )}\n                    </>\n                )}\n            </div>\n            <div className={cx('body')}>\n                <div className={cx('receipt')}>\n                    <AveragePriceOfferDetails priceOffer={averagePriceOffer} />\n                </div>\n                {isLoading && (\n                    <div className={cx('loader__container')}>\n                        <div className={cx('loader__paranja')} />\n                        <div className={cx('loader')}>\n                            <ControlLoaderLabel isInvert>{t('shipper-lane-creation.calculating')}</ControlLoaderLabel>\n                        </div>\n                    </div>\n                )}\n            </div>\n\n            <div className={cx('actions')}>\n                <Button\n                    className={cx('action')}\n                    theme={ButtonThemeEnum.secondary}\n                    type=\"button\"\n                    onClick={onCancel}\n                    testSelector=\"cancel\"\n                >\n                    {t('shipper-lane-creation.actions.cancel')}\n                </Button>\n                <Button\n                    isDisabled={calculateCostRequest.loading || creationRequest.loading}\n                    className={cx('action')}\n                    theme={ButtonThemeEnum.primary}\n                    type=\"submit\"\n                    isLoading={creationRequest.loading}\n                    testSelector=\"add\"\n                >\n                    {t('shipper-lane-creation.actions.add')}\n                </Button>\n            </div>\n        </form>\n    );\n});\n\nexport default ShipperContractLaneCreationConfirmForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"id\":\"IdCell__id___Imm4R\",\"fadeIn\":\"IdCell__fadeIn___xRXM6\",\"blinking\":\"IdCell__blinking___rl3oJ\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SideBarLoader.scss';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isRelative?: boolean;\n    message?: React.ReactNode;\n};\n\nconst SideBarLoader: React.FC<PropsT> = React.memo((props) => {\n    const { isRelative, message } = props;\n\n    return (\n        <div\n            className={cx('loader', {\n                'loader--isRelative': isRelative,\n                'loader--isAbsolute': !isRelative,\n            })}\n        >\n            <ControlLoaderWithShadow fillColor={StyleGuideColorsEnum.light} />\n            {message && <div className={cx('message')}>{message}</div>}\n        </div>\n    );\n});\n\nexport default SideBarLoader;\n","import * as React from 'react';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport PriceRuleStatusLabel from 'broker-admin/components/status/PriceRuleStatusLabel/PriceRuleStatusLabel';\nimport isBoolean from 'lodash/isBoolean';\n\ntype PropsT = {\n    className?: string;\n    isActive: boolean | null | undefined;\n};\n\nconst PriceRuleStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { isActive, ...restProps } = props;\n\n    let pillTheme: PillLabelThemeEnum = colorCodingPillLabelTheme.normal;\n    if (isBoolean(isActive) && isActive) {\n        pillTheme = colorCodingPillLabelTheme.success;\n    }\n    if (isBoolean(isActive) && !isActive) {\n        pillTheme = colorCodingPillLabelTheme.normal;\n    }\n\n    return (\n        <PillLabel isNoWrap isSymmetrical {...restProps} theme={pillTheme}>\n            <PriceRuleStatusLabel isActive={isActive} />\n        </PillLabel>\n    );\n});\n\nexport default PriceRuleStatusPill;\n","import * as React from 'react';\nimport { ApiFuelOptionTypeT, FuelOptionTypeEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    fuelOption: ApiFuelOptionTypeT | null | undefined;\n};\n\nexport const FUEL_OPTION_TYPE_I18N_MAP: Record<ApiFuelOptionTypeT, string> = {\n    [FuelOptionTypeEnum.hvo]: 'common:fuel-option.HVO',\n    [FuelOptionTypeEnum.diesel]: 'common:fuel-option.DIESEL',\n};\n\nconst FuelOptionTypeLabel: React.FC<PropsT> = React.memo((props) => {\n    const { fuelOption } = props;\n\n    const { t } = useTranslation();\n\n    if (!fuelOption) {\n        return null;\n    }\n\n    return <span>{t(FUEL_OPTION_TYPE_I18N_MAP[fuelOption])}</span>;\n});\n\nexport default FuelOptionTypeLabel;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ContactCell.scss';\nimport { PartnerT } from 'broker-admin/store/partners/models';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport Avatar from 'common/components/Avatar/Avatar';\nimport { useTranslation } from 'react-i18next';\nimport Link, { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TableCellLink from 'common/components/Table/cell-renderers/TableCellLink/TableCellLink';\n\ntype PropsT = {\n    partner: PartnerT;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst partnerTypeMap: Record<PartnerT['profileType'][number], PartnerTypeEnum> = {\n    SHIPPER: PartnerTypeEnum.shipper,\n    CARRIER: PartnerTypeEnum.carrier,\n    BROKER: PartnerTypeEnum.broker,\n};\n\nconst positionMap: Record<NonNullable<PartnerT['contactPosition']>, string> = {\n    it: 'common:team-members.position.it',\n    management: 'common:team-members.position.management',\n    operator: 'common:team-members.position.operator',\n    owner: 'common:team-members.position.owner',\n    sales: 'common:team-members.position.sales',\n};\n\nconst ContactCell: React.FC<PropsT> = React.memo((props) => {\n    const { partner, className } = props;\n\n    const { t } = useTranslation();\n\n    const { contactEmail, contactId, contactName, contactPhone, contactPosition, contactSurname, id, profileType } =\n        partner;\n\n    const contactFullName = `${contactName} ${contactSurname}`;\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const openUserDetails = () => {\n        if (!contactId) {\n            logWarning(`Failed to open user details, empty contactId`);\n            return;\n        }\n\n        const partnerType = partnerTypeMap[profileType[0]];\n        if (!partnerType) {\n            logWarning(`Failed to open user details, empty partnerType`);\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId: id,\n            partnerType,\n            contactId,\n        });\n    };\n\n    return (\n        <div className={cs(cx('created-date'), className)}>\n            {contactId && (\n                <Tooltip\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={240}>\n                            <div className={cx('tooltip')}>\n                                <div className={cx('tooltip__avatar')}>\n                                    <Avatar className={cx('avatar')} hash={contactFullName} />\n                                </div>\n                                <div className={cx('tooltip__info')}>\n                                    <div className={cx('tooltip__full-name')}>{contactFullName}</div>\n                                    {contactPosition && (\n                                        <div className={cx('tooltip__role')}>{t(positionMap[contactPosition])}</div>\n                                    )}\n                                    {!!contactEmail && (\n                                        <Link\n                                            to={`mailto:${contactEmail}`}\n                                            theme={LinkThemeEnum.boldBrandAccent}\n                                            size={LinkSizeEnum.medium}\n                                            isExternal\n                                        >\n                                            {contactEmail}\n                                        </Link>\n                                    )}\n                                </div>\n                            </div>\n                        </TooltipContent>\n                    }\n                    position={TooltipPositionEnum.centerLeft}\n                    theme={TooltipThemeEnum.black}\n                >\n                    {() => (\n                        <TableCellLink\n                            onClick={openUserDetails}\n                            className={cx('full-name')}\n                            theme={LinkThemeEnum.boldBrandDark}\n                            size={LinkSizeEnum.medium}\n                        >\n                            {contactFullName}\n                        </TableCellLink>\n                    )}\n                </Tooltip>\n            )}\n            <div className={cx('phone')}>{contactPhone}</div>\n        </div>\n    );\n});\n\nexport default ContactCell;\n","import { CountryCodeT, ApiBrokerCompanyChangesT } from 'common/utils/api/models';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\n\nconst prepareApiPartnerDetails = (formValues: FormValuesT): ApiBrokerCompanyChangesT => {\n    const changes: ApiBrokerCompanyChangesT = {\n        name: simpleStringFormatter(formValues[FieldsEnum.name]),\n        legalFormId: formValues[FieldsEnum.legalFormId] || undefined,\n        teams: formValues[FieldsEnum.teamIds] || [],\n\n        legalAddress: {\n            country: (formValues[FieldsEnum.legalAddressCountryCode] as CountryCodeT) || undefined,\n            zipCode: simpleStringFormatter(formValues[FieldsEnum.legalAddressZipCode]),\n            city: simpleStringFormatter(formValues[FieldsEnum.legalAddressCity]),\n            street1: simpleStringFormatter(formValues[FieldsEnum.legalAddressStreet1]),\n            street2: simpleStringFormatter(formValues[FieldsEnum.legalAddressStreet2]),\n        },\n\n        postalAddress: {\n            country: (formValues[FieldsEnum.postalAddressCountryCode] as CountryCodeT) || undefined,\n            zipCode: simpleStringFormatter(formValues[FieldsEnum.postalAddressZipCode]),\n            city: simpleStringFormatter(formValues[FieldsEnum.postalAddressCity]),\n            street1: simpleStringFormatter(formValues[FieldsEnum.postalAddressStreet1]),\n            street2: simpleStringFormatter(formValues[FieldsEnum.postalAddressStreet2]),\n        },\n\n        billingAddress: {\n            country: (formValues[FieldsEnum.billingAddressCountryCode] as CountryCodeT) || undefined,\n            zipCode: simpleStringFormatter(formValues[FieldsEnum.billingAddressZipCode]),\n            city: simpleStringFormatter(formValues[FieldsEnum.billingAddressCity]),\n            street1: simpleStringFormatter(formValues[FieldsEnum.billingAddressStreet1]),\n            street2: simpleStringFormatter(formValues[FieldsEnum.billingAddressStreet2]),\n        },\n\n        billingEmail: formValues[FieldsEnum.billingEmail],\n    };\n\n    return changes;\n};\n\nexport default prepareApiPartnerDetails;\n","// extracted by mini-css-extract-plugin\nexport default {\"money\":\"Money__money___JOTQ1\",\"fadeIn\":\"Money__fadeIn___VlGxi\",\"blinking\":\"Money__blinking___dDhO2\"};","import * as React from 'react';\nimport { ShipmentStatusEnum, ApiShipmentStatusT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status?: ApiShipmentStatusT | null | undefined;\n};\n\nexport const LOAD_STATUS_T_MAP: Record<ApiShipmentStatusT, string> = {\n    [ShipmentStatusEnum.awaitingLoading]: 'common:load-status.AWAITING_LOADING',\n    [ShipmentStatusEnum.loading]: 'common:load-status.LOADING',\n    [ShipmentStatusEnum.inTransit]: 'common:load-status.IN_TRANSIT',\n    [ShipmentStatusEnum.unloading]: 'common:load-status.UNLOADING',\n    [ShipmentStatusEnum.delivered]: 'common:load-status.DELIVERED',\n    [ShipmentStatusEnum.canceled]: 'common:load-status.CANCELED',\n};\n\nconst LoadStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(LOAD_STATUS_T_MAP[status]);\n});\n\nexport default LoadStatus;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from 'common/layouts/TrucksPageLayout/query-models';\nimport { parseDateFromQuery } from 'common/utils/query';\n\nconst getInitialValues = (queryFilters: QueryFiltersT): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.model]: queryFilters?.[QueryFiltersKeysEnum.model] || [],\n        [FieldsEnum.plateNumber]: queryFilters?.[QueryFiltersKeysEnum.plateNumber] || '',\n        [FieldsEnum.country]: queryFilters?.[QueryFiltersKeysEnum.country] || [],\n        [FieldsEnum.emissionClass]: queryFilters?.[QueryFiltersKeysEnum.emissionClass] || [],\n        [FieldsEnum.contractId]: queryFilters?.[QueryFiltersKeysEnum.contractId] || [],\n        [FieldsEnum.contractName]: queryFilters?.[QueryFiltersKeysEnum.contractName] || [],\n        [FieldsEnum.status]: queryFilters?.[QueryFiltersKeysEnum.status] || [],\n        [FieldsEnum.createDates]: null,\n        [FieldsEnum.lastTelematicUpdateDates]: null,\n        [FieldsEnum.lastModifyDates]: null,\n        [FieldsEnum.createdByUserId]: queryFilters?.[QueryFiltersKeysEnum.createdByUserId] || [],\n        [FieldsEnum.createdByUserName]: queryFilters?.[QueryFiltersKeysEnum.createdByUserName] || [],\n        [FieldsEnum.lastModifyByUserId]: queryFilters?.[QueryFiltersKeysEnum.lastModifyByUserId] || [],\n        [FieldsEnum.lastModifyByUserName]: queryFilters?.[QueryFiltersKeysEnum.lastModifyByUserName] || [],\n    };\n\n    if (queryFilters[QueryFiltersKeysEnum.createdDateFrom]) {\n        values[FieldsEnum.createDates] = {\n            from: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.createdDateFrom]),\n            to: null,\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.createdDateTo]) {\n        values[FieldsEnum.createDates] = {\n            from: values[FieldsEnum.createDates]?.from,\n            to: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.createdDateTo]),\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom]) {\n        values[FieldsEnum.lastTelematicUpdateDates] = {\n            from: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom]),\n            to: null,\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo]) {\n        values[FieldsEnum.lastTelematicUpdateDates] = {\n            from: values[FieldsEnum.lastTelematicUpdateDates]?.from,\n            to: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo]),\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom]) {\n        values[FieldsEnum.lastModifyDates] = {\n            from: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom]),\n            to: null,\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.lastModifyDateTo]) {\n        values[FieldsEnum.lastModifyDates] = {\n            from: values[FieldsEnum.lastModifyDates]?.from,\n            to: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.lastModifyDateTo]),\n        };\n    }\n\n    return values;\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"TruckTriggerLabel__option___JZrXs\",\"model-and-plate-number\":\"TruckTriggerLabel__model-and-plate-number___nmMM2\",\"model-and-plate-number--isDisabled\":\"TruckTriggerLabel__model-and-plate-number--isDisabled____HTTC\",\"trigger-rate-mode\":\"TruckTriggerLabel__trigger-rate-mode___Uv1GZ\",\"spacer\":\"TruckTriggerLabel__spacer___ky2ek\",\"price\":\"TruckTriggerLabel__price___ulnhx\",\"price--isDisabled\":\"TruckTriggerLabel__price--isDisabled___d9bxo\",\"reset\":\"TruckTriggerLabel__reset___SwWxr\",\"details\":\"TruckTriggerLabel__details___UCc9H\",\"fadeIn\":\"TruckTriggerLabel__fadeIn___tfkSf\",\"blinking\":\"TruckTriggerLabel__blinking___cjKPk\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst SnowflakeIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, ...restProps } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" {...restProps}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M18.333 9.167h-3.475l2.7-2.7-1.175-1.184L12.5 9.167h-1.667V7.5l3.884-3.883-1.184-1.175-2.7 2.7V1.667H9.167v3.475l-2.7-2.7-1.184 1.175L9.167 7.5v1.667H7.5L3.617 5.283 2.442 6.467l2.7 2.7H1.667v1.666h3.475l-2.7 2.7 1.175 1.184L7.5 10.833h1.667V12.5l-3.884 3.883 1.184 1.175 2.7-2.7v3.475h1.666v-3.475l2.7 2.7 1.184-1.175-3.884-3.883v-1.667H12.5l3.883 3.884 1.175-1.184-2.7-2.7h3.475z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nSnowflakeIcon.displayName = 'SnowflakeIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default SnowflakeIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './SpotRequestDetailsTabs.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { SpotRequestDetailsT } from 'broker-admin/store/spot-request-details/models';\nimport { formatDiff, getTimeLeft, MS_IN_HOUR, parseDiff } from 'common/utils/time';\nimport { SpotDetailsTabEnum } from 'broker-admin/components/BaseSpotRequestDetailsSidebarContent/SpotRequestDetails/models';\nimport ButtonGroup from 'design-system/components/ButtonGroup/ButtonGroup';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport isNumber from 'lodash/isNumber';\nimport { BidsQuickFilterEnum } from '../Bids/constants';\nimport { useBidQuickFilterCounts } from '../Bids/hooks/use-bids-filter';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n\n    isShowStatus: boolean;\n\n    details: SpotRequestDetailsT | null;\n\n    selectedTab: SpotDetailsTabEnum | null;\n    onSelectTab: (selectedTab: SpotDetailsTabEnum | null) => void;\n};\n\nconst ASSIGNMENT_WARNING = 24 * MS_IN_HOUR;\n\nconst SpotRequestDetailsTabs: React.FC<PropsT> = React.memo((props) => {\n    const { className, details, onSelectTab, isShowStatus, selectedTab } = props;\n\n    const { t } = useTranslation();\n\n    const bids = React.useMemo(() => details?.bids || [], [details]);\n\n    const bidCounts = React.useMemo(() => {\n        return useBidQuickFilterCounts(bids);\n    }, [bids]);\n\n    const bidCount = bidCounts[BidsQuickFilterEnum.accepted];\n\n    const deadline = details?.expiresAt;\n    const timeLeft = getTimeLeft(deadline);\n    const diff = timeLeft !== null ? timeLeft : null;\n\n    const parsedDiff = isNumber(diff) ? parseDiff(diff) : null;\n\n    const formattedDiff = parsedDiff ? formatDiff(t, parsedDiff) : null;\n\n    if (!details) {\n        return null;\n    }\n\n    const renderDiffStatus = (diff: number | null) => {\n        if (diff === null || !isShowStatus) {\n            return null;\n        }\n\n        if (diff < 0) {\n            return null;\n        }\n\n        return (\n            <div\n                className={cx('status', {\n                    'status--is-warning': isNumber(diff) && diff <= ASSIGNMENT_WARNING,\n                })}\n            >\n                <div className={cx('time')}>{formattedDiff}</div>\n                <div className={cx('message')}>{t('spot-request-details.start-select-bid.to-assign')}</div>\n            </div>\n        );\n    };\n    return (\n        <div className={cs(cx('container'), className)}>\n            <ButtonGroup className={cx('button-group')}>\n                <Button\n                    key={SpotDetailsTabEnum.details}\n                    theme={ButtonThemeEnum.transparent}\n                    onClick={() => {\n                        onSelectTab(SpotDetailsTabEnum.details);\n                    }}\n                    isToggled={selectedTab === SpotDetailsTabEnum.details}\n                >\n                    {t('spot-request-details.details-tabs.details')}\n                </Button>\n                <Button\n                    key={SpotDetailsTabEnum.bids}\n                    theme={ButtonThemeEnum.transparent}\n                    onClick={() => {\n                        onSelectTab(SpotDetailsTabEnum.bids);\n                    }}\n                    isToggled={selectedTab === SpotDetailsTabEnum.bids}\n                    leftIcon={\n                        bidCount ? (\n                            <PillLabel isSymmetrical theme={PillLabelThemeEnum.orange} isRounded>\n                                <span className={cx('count')}>{bidCount}</span>\n                            </PillLabel>\n                        ) : null\n                    }\n                >\n                    {t('spot-request-details.details-tabs.bids')}\n                </Button>\n            </ButtonGroup>\n            {renderDiffStatus(diff)}\n        </div>\n    );\n});\n\nexport default SpotRequestDetailsTabs;\n","import React from 'react';\nimport { useQueryParam } from 'use-query-params';\nimport { JSONArrayParam } from 'common/utils/query';\nimport {\n    CommonSidebarContentPropsT,\n    CommonSidebarMetaT,\n    GetSidebarCloseConfirmationT,\n    RenderSidebarContentT,\n    SidebarDataWithMetaT,\n    SideBarPositionEnum,\n    SidebarQueryKeysEnum,\n} from './models';\nimport { commonGetSidebarCloseConfirmation, renderCommonSidebarContent } from './utils';\nimport SideBarParanja from './SideBarParanja/SideBarParanja';\nimport SideBar from './SideBar/SideBar';\nimport isNumber from 'lodash/isNumber';\nimport { pushSidebarsArray } from 'common/layouts/SideBars/hooks';\nimport last from 'lodash/last';\nimport { SideBarSizeEnum } from 'common/layouts/SideBars/SideBarLayout/SideBarLayout';\n\ntype PropsT<T> = {\n    renderSidebarContent?: PipedPropsT<T>['renderSidebarContent'];\n    getSidebarCloseConfirmation?: PipedPropsT<T>['getSidebarCloseConfirmation'];\n    paranjaShowLevel?: number;\n};\n\ntype PipedPropsT<T> = {\n    renderSidebarContent: RenderSidebarContentT<T>;\n    getSidebarCloseConfirmation: GetSidebarCloseConfirmationT<T>;\n};\n\nconst pipeProps = <T,>(props: PropsT<T>): PipedPropsT<T> => {\n    return {\n        renderSidebarContent: (...args) => {\n            const result = props?.renderSidebarContent?.(...args);\n            if (result) {\n                return result;\n            }\n\n            // @ts-ignore\n            return renderCommonSidebarContent(...args);\n        },\n        getSidebarCloseConfirmation: (...args) => {\n            const result = props?.getSidebarCloseConfirmation?.(...args);\n            if (result) {\n                return result;\n            }\n\n            // @ts-ignore\n            return commonGetSidebarCloseConfirmation(...args);\n        },\n    };\n};\n\nconst SideBars = <T,>(props: PropsT<T>): React.ReactElement | null => {\n    const { renderSidebarContent, getSidebarCloseConfirmation, paranjaShowLevel } = props;\n\n    const [leftSidebarsData, setLeftSidebarsData] = useQueryParam<Array<SidebarDataWithMetaT<T>>>(\n        SidebarQueryKeysEnum.leftSidebar,\n        JSONArrayParam,\n    );\n\n    const [rightSidebarsData, setRightSidebarsData] = useQueryParam<Array<SidebarDataWithMetaT<T>>>(\n        SidebarQueryKeysEnum.rightSidebar,\n        JSONArrayParam,\n    );\n\n    const commonLeftSidebarProps = React.useMemo((): CommonSidebarContentPropsT<T> => {\n        const hasBackAction = leftSidebarsData.length >= 2 || last(leftSidebarsData)?.isForceShowBackAction;\n\n        return {\n            onOpenNextSidebar: (data: T, meta?: CommonSidebarMetaT) => {\n                setLeftSidebarsData(\n                    pushSidebarsArray(leftSidebarsData, {\n                        ...data,\n                        ...meta,\n                    }),\n                );\n            },\n            onClose: () => {\n                setLeftSidebarsData([]);\n            },\n            onGoBack: hasBackAction\n                ? () => {\n                      setLeftSidebarsData(leftSidebarsData.slice(0, -1));\n                  }\n                : null,\n            position: SideBarPositionEnum.left,\n        };\n    }, [leftSidebarsData, setLeftSidebarsData]);\n\n    const commonRightSidebarProps = React.useMemo((): CommonSidebarContentPropsT<T> => {\n        const hasBackAction = rightSidebarsData.length >= 2 || last(rightSidebarsData)?.isForceShowBackAction;\n\n        return {\n            onOpenNextSidebar: (data: T, meta?: CommonSidebarMetaT) => {\n                setRightSidebarsData(\n                    pushSidebarsArray(rightSidebarsData, {\n                        ...data,\n                        ...meta,\n                    }),\n                );\n            },\n            onClose: () => {\n                setRightSidebarsData([]);\n            },\n            onGoBack: hasBackAction\n                ? () => {\n                      setRightSidebarsData(rightSidebarsData.slice(0, -1));\n                  }\n                : null,\n            position: SideBarPositionEnum.right,\n        };\n    }, [rightSidebarsData, setRightSidebarsData]);\n\n    const isShowParanja = isNumber(paranjaShowLevel)\n        ? leftSidebarsData?.length > paranjaShowLevel || rightSidebarsData?.length > paranjaShowLevel\n        : false;\n\n    const commonSidebarProps = React.useMemo(() => {\n        return pipeProps({\n            renderSidebarContent,\n            getSidebarCloseConfirmation,\n        });\n    }, [renderSidebarContent, getSidebarCloseConfirmation]);\n\n    const leftSidebarData = last(leftSidebarsData) || null;\n    const rightSidebarData = last(rightSidebarsData) || null;\n\n    return (\n        <>\n            {isShowParanja && <SideBarParanja />}\n            {leftSidebarData && (\n                <SideBar\n                    key=\"left\"\n                    data={leftSidebarData}\n                    size={leftSidebarData.isNarrowSidebar ? SideBarSizeEnum.narrow : SideBarSizeEnum.regular}\n                    {...commonSidebarProps}\n                    {...commonLeftSidebarProps}\n                />\n            )}\n            {rightSidebarData && (\n                <SideBar\n                    key=\"right\"\n                    data={rightSidebarData}\n                    size={rightSidebarData.isNarrowSidebar ? SideBarSizeEnum.narrow : SideBarSizeEnum.regular}\n                    {...commonSidebarProps}\n                    {...commonRightSidebarProps}\n                />\n            )}\n        </>\n    );\n};\n\nexport default React.memo(SideBars) as typeof SideBars;\n","import * as React from 'react';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport { useTranslation } from 'react-i18next';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport RFQListPageLayout from 'common/layouts/RFQListPageLayout/RFQListPageLayout';\n\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { logWarning } from 'common/utils/logger';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useHistoryPush } from 'common/utils/hooks/useHistoryPush';\nimport { urlFactory } from 'broker-admin/utils/urls';\n\ntype PropsT = {};\n\nconst BrokerRFQsListPage: React.FC<PropsT> = React.memo(() => {\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const { historyPush } = useHistoryPush();\n\n    const { t } = useTranslation();\n\n    const handleOpenRFQDetails = (event: React.MouseEvent, rfqId: RFQIdT | null) => {\n        if (!rfqId) {\n            logWarning('Empty rfqId on handleOpenRFQDetails');\n            return;\n        }\n\n        const url = urlFactory.brokerRFQDetails(rfqId);\n        historyPush(event, url);\n    };\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const handleOpenUserDetails = (userId: UserIdT | null) => {\n        if (!userId || !partnerType || !partnerId) {\n            logWarning('failed to open contact details in rfq, empty userId or partnerType or partnerId');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    return (\n        <ScrollableContent>\n            <PageTitle title={t('page-titles.broker-rfqs')} />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent title={t('broker-rfqs-table.title')} rightNode={<NotificationsBarTrigger />} />\n                </TopBar>\n            </ContentMargins>\n            <RFQListPageLayout onOpenRFQDetails={handleOpenRFQDetails} onOpenUserDetails={handleOpenUserDetails} />\n            <SideBars />\n        </ScrollableContent>\n    );\n});\n\nexport default BrokerRFQsListPage;\n","import { TrailerTypeEnum } from '../constants';\n\nconst parseTrailerModel = (trailerMode: string | null | undefined): [string | null, string | null] => {\n    if (!trailerMode) {\n        return [null, null];\n    }\n\n    const [firstPart, secondPart] = trailerMode.split(', ') || [];\n\n    const availableTrailerTypes = Object.values(TrailerTypeEnum) as Array<string>;\n    if (firstPart && availableTrailerTypes.includes(firstPart)) {\n        return [secondPart || null, firstPart];\n    }\n\n    return [trailerMode, null];\n};\n\nexport default parseTrailerModel;\n","// extracted by mini-css-extract-plugin\nexport default {\"zone-title\":\"TimeWindowZoneText__zone-title___kQY6w\",\"content\":\"TimeWindowZoneText__content___iiVtt\",\"content__left-icon\":\"TimeWindowZoneText__content__left-icon___xg07w\",\"content__content\":\"TimeWindowZoneText__content__content___G_QFX\",\"text\":\"TimeWindowZoneText__text___aKM4u\",\"fadeIn\":\"TimeWindowZoneText__fadeIn___KDtKB\",\"blinking\":\"TimeWindowZoneText__blinking___AOIGd\"};","import * as React from 'react';\nimport { useSelector } from 'react-redux';\nimport PartnerPermissionContext from 'common/contexts/partner-permission-context';\nimport { selectPermissions } from 'common/store/auth/selectors';\n\ntype PropsT = {\n    children?: React.ReactNode;\n};\n\nconst PartnerPermissionsContextProvider: React.FC<PropsT> = React.memo((props) => {\n    const { children } = props;\n\n    const permissions = useSelector(selectPermissions);\n\n    return <PartnerPermissionContext.Provider value={permissions}>{children}</PartnerPermissionContext.Provider>;\n});\n\nexport default PartnerPermissionsContextProvider;\n","import { formatPageQuerySort } from 'common/utils/page-sort';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { DepreactedPagingTokensT, FetchInvoicesPageQueryT } from 'broker-admin/store/invoices/models';\nimport { InvoicesQuickFilterEnum } from 'broker-admin/layouts/InvoicesListPage/constants';\nimport { InvoiceStatusEnum } from 'common/utils/api/models';\nimport { PageSortT } from 'common/utils/query';\nimport { BrokerInvoicesSortEnum } from 'broker-admin/utils/api/broker-tranziit/models';\n\nconst getQueryFromQuickFilters = (quickFilter: InvoicesQuickFilterEnum | null | undefined): FetchInvoicesPageQueryT => {\n    switch (quickFilter) {\n        case InvoicesQuickFilterEnum.open: {\n            return {\n                status: InvoiceStatusEnum.open,\n            };\n        }\n        case InvoicesQuickFilterEnum.void: {\n            return {\n                status: InvoiceStatusEnum.void,\n            };\n        }\n        case InvoicesQuickFilterEnum.paid: {\n            return {\n                status: InvoiceStatusEnum.paid,\n            };\n        }\n        case InvoicesQuickFilterEnum.uncollectible: {\n            return {\n                status: InvoiceStatusEnum.uncollectible,\n            };\n        }\n        default: {\n            return {};\n        }\n    }\n};\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<BrokerInvoicesSortEnum> | null,\n    deprecatedPagingToken: DepreactedPagingTokensT,\n): FetchInvoicesPageQueryT => {\n    return {\n        invoiceNumber: queryFilters[QueryFiltersKeysEnum.searchText] || undefined,\n\n        // TODO use tabs\n        ...getQueryFromQuickFilters(queryFilters[QueryFiltersKeysEnum.quickFilter]),\n\n        startingAfter: deprecatedPagingToken?.startingAfter || undefined,\n        endingBefore: deprecatedPagingToken?.endingBefore || undefined,\n\n        sort: formatPageQuerySort(sort),\n    };\n};\n\nexport { prepareFetchPageQuery };\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { SystemSettingsChangesT, SystemSettingsT } from './models';\n\nexport const FETCH_SYSTEM_SETTINGS_REQUEST =\n    'broker-admin/price-settings/system-settings/FETCH_SYSTEM_SETTINGS_REQUEST';\nexport const FETCH_SYSTEM_SETTINGS_REQUEST_BEGIN =\n    'broker-admin/price-settings/system-settings/FETCH_SYSTEM_SETTINGS_REQUEST_BEGIN';\nexport const FETCH_SYSTEM_SETTINGS_REQUEST_ERROR =\n    'broker-admin/price-settings/system-settings/FETCH_SYSTEM_SETTINGS_REQUEST_ERROR';\nexport const FETCH_SYSTEM_SETTINGS_REQUEST_SUCCESS =\n    'broker-admin/price-settings/system-settings/FETCH_SYSTEM_SETTINGS_REQUEST_SUCCESS';\n\nexport const UPDATE_SYSTEM_SETTINGS_REQUEST =\n    'broker-admin/price-settings/system-settings/UPDATE_SYSTEM_SETTINGS_REQUEST';\nexport const UPDATE_SYSTEM_SETTINGS_REQUEST_BEGIN =\n    'broker-admin/price-settings/system-settings/UPDATE_SYSTEM_SETTINGS_REQUEST_BEGIN';\nexport const UPDATE_SYSTEM_SETTINGS_REQUEST_ERROR =\n    'broker-admin/price-settings/system-settings/UPDATE_SYSTEM_SETTINGS_REQUEST_ERROR';\nexport const UPDATE_SYSTEM_SETTINGS_REQUEST_SUCCESS =\n    'broker-admin/price-settings/system-settings/UPDATE_SYSTEM_SETTINGS_REQUEST_SUCCESS';\n\nexport type SystemSettingsStateT = {\n    data: SystemSettingsT | null;\n    fetchRequest: RequestStatusT;\n    updateRequest: RequestStatusT;\n};\n\nexport type FetchSystemSettingsActionT = {\n    type: typeof FETCH_SYSTEM_SETTINGS_REQUEST;\n    options?: FetchOptionsT;\n};\n\nexport type FetchSystemSettingsBeginActionT = {\n    type: typeof FETCH_SYSTEM_SETTINGS_REQUEST_BEGIN;\n};\n\nexport type FetchSystemSettingsSuccessActionT = {\n    type: typeof FETCH_SYSTEM_SETTINGS_REQUEST_SUCCESS;\n    data: SystemSettingsT | null;\n};\n\nexport type FetchSystemSettingsErrorActionT = {\n    type: typeof FETCH_SYSTEM_SETTINGS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type UpdateSystemSettingsActionT = {\n    type: typeof UPDATE_SYSTEM_SETTINGS_REQUEST;\n    settingsChanges: SystemSettingsChangesT;\n};\n\nexport type UpdateSystemSettingsBeginActionT = {\n    type: typeof UPDATE_SYSTEM_SETTINGS_REQUEST_BEGIN;\n};\n\nexport type UpdateSystemSettingsSuccessActionT = {\n    type: typeof UPDATE_SYSTEM_SETTINGS_REQUEST_SUCCESS;\n};\n\nexport type UpdateSystemSettingsErrorActionT = {\n    type: typeof UPDATE_SYSTEM_SETTINGS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type SystemSettingsActionTypesT =\n    | FetchSystemSettingsActionT\n    | FetchSystemSettingsBeginActionT\n    | FetchSystemSettingsSuccessActionT\n    | FetchSystemSettingsErrorActionT\n    | UpdateSystemSettingsActionT\n    | UpdateSystemSettingsBeginActionT\n    | UpdateSystemSettingsSuccessActionT\n    | UpdateSystemSettingsErrorActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"field\":\"FormikField__field___oCHER\",\"notes--checkbox\":\"FormikField__notes--checkbox___EaCAs\",\"fadeIn\":\"FormikField__fadeIn___zlJHF\",\"blinking\":\"FormikField__blinking___NHLjq\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor?: StyleGuideColorsEnum;\n    size: number;\n    className?: string;\n};\n\nconst CheckIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, size, ...restProps } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" {...restProps}>\n            <path\n                d=\"m8.652 12.894-2.546-2.563a.362.362 0 0 1 0-.513l.515-.512a.365.365 0 0 1 .514 0L8.909 11.1l3.956-3.994a.365.365 0 0 1 .514 0l.514.513a.36.36 0 0 1 0 .512l-4.727 4.763a.365.365 0 0 1-.514 0\"\n                fill={fillColor}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nCheckIcon.displayName = 'CheckIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\nexport default CheckIcon;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport { useSelector } from 'react-redux';\nimport { selectAddMemberRequest, selectCompanyContacts } from 'common/store/members/selectors';\nimport BigPlusUsers from 'common/icons/BigPlusUsers';\nimport InviteUserForm from 'common/layouts/Members/InviteUserForm/InviteUserForm';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { InviteUserRequestT } from 'common/store/members/models';\n\nexport type InviteUserModalDataT = {\n    email: string;\n    partnerId: CompanyIdT;\n    partnerType: PartnerTypeEnum;\n};\n\nexport type InviteUserModalPropsT = {\n    data: InviteUserModalDataT | null;\n    onClose: () => void;\n    onCancel: () => void;\n    onInviteUser: (newUser: InviteUserRequestT) => void;\n};\n\nconst InviteUserModal: React.FC<InviteUserModalPropsT> = React.memo((props) => {\n    const { data, onClose, onInviteUser } = props;\n\n    const { t } = useTranslation();\n\n    const partnerId = data?.partnerId || null;\n    const partnerType = data?.partnerType || null;\n\n    const contacts = useSelector(selectCompanyContacts(partnerId));\n    const addMemberRequestStatus = useSelector(selectAddMemberRequest(partnerId));\n\n    if (!partnerId || !contacts || !data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    icon={<BigPlusUsers />}\n                    title={t('common:team-members.invite-form.title')}\n                >\n                    <InviteUserForm\n                        contacts={contacts}\n                        initialEmail={data.email}\n                        onInviteUser={onInviteUser}\n                        addMemberRequestStatus={addMemberRequestStatus}\n                        allowSelectTeam={partnerType === PartnerTypeEnum.broker}\n                    />\n                </ModalDialog>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default InviteUserModal;\n","import React, { useCallback } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport styles from './ActiveContractDropdown.scss';\nimport { useTranslation } from 'react-i18next';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport {\n    AdditionalOptionFilterT,\n    useAsyncFilterOptions,\n} from 'design-system/components/dropdowns/DropdownSearchInput/hooks/use-async-filter-options';\nimport { AsyncRequestFactoryT } from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport { ApiPartnerContractT } from 'common/utils/api/models';\nimport ContractName from 'common/components/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = CarrierContractIdT | null;\n\ntype PropsT = {\n    className?: string;\n    placeholder?: string;\n    value: ValueT;\n    hasNoneOption?: boolean;\n    isDisabled: boolean;\n    onChange: (value: ValueT) => void;\n    hasChanges?: boolean;\n    companyId: CompanyIdT | null;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    excludedContractIds?: Array<CarrierContractIdT>;\n    overlayPosition?: DropdownOverlayPositionEnum;\n};\n\ntype NoneOptionT = {\n    id: null;\n    name: string;\n};\n\nexport type OptionT = ApiPartnerContractT | NoneOptionT;\n\nconst ActiveContractDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        value,\n        placeholder,\n        onChange,\n        hasNoneOption,\n        isDisabled,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasError,\n        hasWarning,\n        companyId,\n        excludedContractIds,\n        overlayPosition,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback(async () => {\n        let options: Array<OptionT> = [];\n\n        if (!companyId) {\n            return [null, null];\n        }\n\n        const isPartner = !checkIsDefaultCompanyId(companyId);\n        if (isPartner) {\n            const brokerResponse = await brokerTranziitApi.fetchCarrierApprovedContracts(companyId);\n            const [brokerError, brokerResult] = brokerResponse;\n            if (brokerError) {\n                return [brokerError, null];\n            }\n            if (brokerResult) {\n                options = brokerResult;\n            }\n        } else {\n            const carrierResponse = await carrierTranziitApi.fetchCarrierApprovedContracts();\n            const [carrierError, carrierResult] = carrierResponse;\n            if (carrierError) {\n                return [carrierError, null];\n            }\n            if (carrierResult) {\n                options = carrierResult;\n            }\n        }\n\n        if (hasNoneOption) {\n            options.unshift({\n                name: t('common:dedicated.none'),\n                id: null,\n            });\n        }\n        return [null, options];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [t, companyId, excludedContractIds, hasNoneOption]);\n\n    const additionalOptionFilter: AdditionalOptionFilterT<OptionT> = useCallback(\n        (option) => {\n            return !!option.id && !excludedContractIds?.includes(option.id);\n        },\n        [excludedContractIds],\n    );\n\n    const getOptionText = useCallback((option: OptionT) => option.name || '', []);\n\n    const asyncFilterOptionsRequest = useAsyncFilterOptions<OptionT>({\n        requestFactory,\n        getOptionText,\n        additionalOptionFilter,\n        settings: {},\n    });\n\n    const renderOption = (option: OptionT | null | undefined, placeholder?: string): React.ReactElement | null => {\n        if (!option && hasNoneOption) {\n            return t('common:dedicated.none');\n        }\n\n        if (!option) {\n            return <div>{placeholder || null}</div>;\n        }\n\n        return (\n            <div className={cx('option')} key={option.id}>\n                <ContractName name={option.name} />\n            </div>\n        );\n    };\n\n    const handleSelect = (value: ValueT): void => {\n        onChange(value);\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id || null;\n\n    const handleFocus = useCallback(() => {\n        if (onFocus) {\n            onFocus();\n        }\n\n        asyncFilterOptionsRequest.onRefresh();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onFocus, asyncFilterOptionsRequest.onRefresh]);\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            placeholder={placeholder}\n            options={asyncFilterOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            onReset={() => {\n                handleSelect(null);\n            }}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncFilterOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            isLoading={asyncFilterOptionsRequest.requestStatus.loading}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default ActiveContractDropdown;\n","import { put, select } from 'redux-saga/effects';\nimport { fetchTrailersDictBegin, fetchTrailersDictError, fetchTrailersDictSuccess } from './actions';\nimport { TRAILERS_DICT_REQUEST } from './types';\nimport { selectTrailersDict } from './selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { semaphoreSaga } from 'common/utils/semaphore-saga';\n\nfunction* fetchTrailersDictSaga(): WrapGeneratorT<void> {\n    const currentTrailersDict: ReturnType<typeof selectTrailersDict> = yield select(selectTrailersDict);\n    if (currentTrailersDict) {\n        return;\n    }\n\n    yield put(fetchTrailersDictBegin());\n\n    const [error, trailersDict]: ReturnApiT<typeof commonTranziitApi.getTrailersDict> =\n        yield commonTranziitApi.getTrailersDict();\n    if (error) {\n        yield put(fetchTrailersDictError(error));\n    } else {\n        yield put(fetchTrailersDictSuccess(trailersDict || {}));\n    }\n}\n\nfunction* trailersSaga(): WrapGeneratorT<void> {\n    yield semaphoreSaga(TRAILERS_DICT_REQUEST, fetchTrailersDictSaga);\n}\n\nexport default trailersSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"app\":\"App__app___zuSLr\",\"fadeIn\":\"App__fadeIn___flZPQ\",\"blinking\":\"App__blinking___Nsvlq\"};","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"PriceSettingsRulePreviewLayout__header___MqYUV\",\"inner\":\"PriceSettingsRulePreviewLayout__inner___qI24o\",\"form\":\"PriceSettingsRulePreviewLayout__form___Dup3N\",\"button--preview\":\"PriceSettingsRulePreviewLayout__button--preview___tYVr6\",\"field--date\":\"PriceSettingsRulePreviewLayout__field--date___srIuj\",\"field--type\":\"PriceSettingsRulePreviewLayout__field--type___JrmbA\",\"field--trailer\":\"PriceSettingsRulePreviewLayout__field--trailer___qDoC6\",\"field--partner\":\"PriceSettingsRulePreviewLayout__field--partner___v6Wg9\",\"field--country\":\"PriceSettingsRulePreviewLayout__field--country___JABeH\",\"field--action\":\"PriceSettingsRulePreviewLayout__field--action___SV44R\",\"preview\":\"PriceSettingsRulePreviewLayout__preview___oPD16\",\"loader\":\"PriceSettingsRulePreviewLayout__loader___NF2Og\",\"fadeIn\":\"PriceSettingsRulePreviewLayout__fadeIn___JH6oH\",\"blinking\":\"PriceSettingsRulePreviewLayout__blinking___xPqee\"};","export enum FieldsEnum {\n    timeSlotToBoardFerry = 'TIME_SLOT_TO_BOARD_FERRY',\n    timeSlotDisembarkFerry = 'TIME_SLOT_DISEMBARK_FERRY',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.timeSlotToBoardFerry]: string;\n    [FieldsEnum.timeSlotDisembarkFerry]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"DataSourceDropdown__fadeIn___HqLCy\",\"blinking\":\"DataSourceDropdown__blinking___Xwdqp\"};","import * as React from 'react';\nimport isEqual from 'lodash/isEqual';\nimport LinkDropOffIcon, { getLinkDropOffIconProps } from 'common/icons/LinkDropOffIcon';\nimport TruckDropOffIcon, { getTruckDropOffIconProps } from 'common/icons/TruckDropOffIcon';\nimport TrailerDropOffIcon, { getTrailerDropOffIconProps } from 'common/icons/TrailerDropOffIcon';\nimport { InitDropPointT } from './models';\nimport NumberIcon, { NumberIconProps } from 'common/icons/NumberIcon';\nimport { IconMetaT } from 'common/components/GeoSuggest/GeoSuggest';\n\nexport const renderTruckDropOffIcon =\n    (\n        preset: 'assignment-input-normal' | 'assignment-input-selected',\n        initDropPoint: InitDropPointT | null,\n        truckDropOffLocation: LocationT | null,\n        trailerDropOffLocation: LocationT | null,\n    ) =>\n    (iconMeta: IconMetaT) => {\n        if (initDropPoint && isEqual(initDropPoint?.location?.point, truckDropOffLocation?.point)) {\n            return (\n                <NumberIcon\n                    number={(initDropPoint?.index || 0) + 1}\n                    {...NumberIconProps.getAssignmentControlProps(iconMeta)}\n                />\n            );\n        }\n\n        if (\n            !isEqual(initDropPoint?.location?.point, truckDropOffLocation?.point) &&\n            !isEqual(initDropPoint?.location?.point, trailerDropOffLocation?.point) &&\n            isEqual(trailerDropOffLocation?.point, truckDropOffLocation?.point)\n        ) {\n            return <LinkDropOffIcon {...getLinkDropOffIconProps(preset)} />;\n        }\n\n        return <TruckDropOffIcon {...getTruckDropOffIconProps(preset)} />;\n    };\n\nexport const renderTrailerDropOffIcon =\n    (\n        preset: 'assignment-input-normal' | 'assignment-input-selected',\n        initDropPoint: InitDropPointT | null,\n        truckDropOffLocation: LocationT | null,\n        trailerDropOffLocation: LocationT | null,\n    ) =>\n    (iconMeta: IconMetaT) => {\n        if (initDropPoint && isEqual(initDropPoint?.location?.point, trailerDropOffLocation?.point)) {\n            return (\n                <NumberIcon\n                    number={(initDropPoint?.index || 0) + 1}\n                    {...NumberIconProps.getAssignmentControlProps(iconMeta)}\n                />\n            );\n        }\n\n        if (\n            !isEqual(initDropPoint?.location?.point, truckDropOffLocation?.point) &&\n            !isEqual(initDropPoint?.location?.point, trailerDropOffLocation?.point) &&\n            isEqual(trailerDropOffLocation?.point, truckDropOffLocation?.point)\n        ) {\n            return <LinkDropOffIcon {...getLinkDropOffIconProps(preset)} />;\n        }\n\n        return <TrailerDropOffIcon {...getTrailerDropOffIconProps(preset)} />;\n    };\n","// extracted by mini-css-extract-plugin\nexport default {\"submit\":\"ChangePasswordPage__submit___g7TD8\",\"footer-links\":\"ChangePasswordPage__footer-links___kKTxt\",\"footer-links__link\":\"ChangePasswordPage__footer-links__link___Ozp3e\",\"input\":\"ChangePasswordPage__input___GoGEh\",\"fadeIn\":\"ChangePasswordPage__fadeIn___vrc7f\",\"blinking\":\"ChangePasswordPage__blinking___SYQQS\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"AccessDeniedPage__fadeIn___xc5DK\",\"blinking\":\"AccessDeniedPage__blinking___FLlq_\"};","import { SharableStateT } from 'common/store/models';\nimport { ErrorsStateT } from './types';\nimport { ErrorActionT } from 'common/store/errors/models';\n\nexport const selectErrorLogs = (state: SharableStateT): ErrorsStateT['logs'] => state.errors.logs;\n\nexport const selectNewErrorLogs = (state: SharableStateT): ErrorActionT[] => {\n    return state.errors.logs.filter((log) => log.isNew);\n};\n\nexport const selectIsShowErrorModal = (state: SharableStateT): ErrorsStateT['isShowErrorModal'] =>\n    state.errors.isShowErrorModal;\n","import { ApiLocationT, CountryCodeT } from 'common/utils/api/models';\n\nconst prepareLocation = (location: LocationT | null): ApiLocationT | null => {\n    if (!location) {\n        return null;\n    }\n\n    return {\n        country: (location.addressComponents?.countryCode || '') as CountryCodeT,\n        street1: location.addressComponents?.street1 || '',\n        street2: location.addressComponents?.street2 || '',\n        zipCode: location.addressComponents?.zipCode || '',\n        city: location.addressComponents?.city || '',\n        longitude: location.point?.lng,\n        latitude: location.point?.lat,\n    };\n};\n\nexport { prepareLocation };\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ImportCsv.scss';\nimport { useTranslation } from 'react-i18next';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport Loader from 'common/components/Loader/Loader';\nimport Button from 'common/components/Button/Button';\nimport { selectUploadCSVFileRequest } from 'broker-admin/store/price-settings/rates/selectors';\nimport { useSelector } from 'react-redux';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { ApiRequestError } from 'common/utils/api/errors/api-request-error';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n};\n\nconst ImportCsv: React.FC<PropsT> = (props) => {\n    const { onClose } = props;\n\n    const { t } = useTranslation();\n\n    const requestStatus = useSelector(selectUploadCSVFileRequest);\n\n    let content = null;\n\n    if (requestStatus.loading) {\n        content = (\n            <>\n                <div className={cx('status')}>{t('price-settings.rate-matrix.import-csv.status.checking-file')}</div>\n                <div className={cx('status-icon')}>\n                    <Loader size={20} className={cx('loader')} />\n                </div>\n            </>\n        );\n    }\n\n    if (requestStatus.ok) {\n        content = (\n            <>\n                <div className={cx('status')}>{t('price-settings.rate-matrix.import-csv.status.success')}</div>\n                <div className={cx('status-icon')}>\n                    <DoneIcon fillColor={StyleGuideColorsEnum.brandAccent} size={20} />\n                </div>\n                <div className={cx('description')} />\n                <Button\n                    className={cx('action')}\n                    onClick={() => {\n                        onClose();\n                    }}\n                >\n                    {t('price-settings.rate-matrix.import-csv.action.ok')}\n                </Button>\n            </>\n        );\n    }\n\n    if (requestStatus.error) {\n        let errorDescription = requestStatus?.error?.message;\n        if (requestStatus.error instanceof ApiRequestError) {\n            errorDescription = requestStatus?.error?.response?.message;\n        }\n\n        content = (\n            <>\n                <div className={cx('status')}>{t('price-settings.rate-matrix.import-csv.status.wrong')}</div>\n                <div className={cx('status-icon')}>\n                    <CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />\n                </div>\n                <div className={cx('description')}>{errorDescription}</div>\n                <Button\n                    className={cx('action')}\n                    onClick={() => {\n                        onClose();\n                    }}\n                >\n                    {t('price-settings.rate-matrix.import-csv.action.ok')}\n                </Button>\n            </>\n        );\n    }\n\n    return (\n        <div className={cx('wrap')}>\n            <div className={cx('icon')} />\n            <div className={cx('content')}>{content}</div>\n        </div>\n    );\n};\n\nexport default ImportCsv;\n","import { useContext } from 'react';\nimport PartnerContext, { PartnerContextT } from 'common/contexts/partner-context';\n\nconst usePartnerContext = (): PartnerContextT => {\n    return useContext(PartnerContext);\n};\n\nexport default usePartnerContext;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ExpiredPartnerShipperLaneContractCard__inner___zDIYn\",\"fadeIn\":\"ExpiredPartnerShipperLaneContractCard__fadeIn___bXl7r\",\"blinking\":\"ExpiredPartnerShipperLaneContractCard__blinking____RCAL\"};","// extracted by mini-css-extract-plugin\nexport default {\"dnd-wrap\":\"DnDIconWrap__dnd-wrap___eu68w\",\"icon\":\"DnDIconWrap__icon___Qoy6_\",\"icon--is-hide\":\"DnDIconWrap__icon--is-hide___tMmvs\",\"fadeIn\":\"DnDIconWrap__fadeIn___mbJqi\",\"blinking\":\"DnDIconWrap__blinking___ND688\"};","import { FieldsEnum, FormValuesT } from './constants';\nimport moment from 'moment';\nimport { EvidenceOfTaxDetailsChangesT } from 'common/store/documents/models';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport { FAKE_NO_LIMIT_VALID_TILL_YEAR } from 'common/constants';\n\nconst VALID_TILL_FORMAT = 'YYYY-MM-DD';\n\nconst prepareApproveData = (values: FormValuesT): EvidenceOfTaxDetailsChangesT | null => {\n    const approveData: EvidenceOfTaxDetailsChangesT = {\n        taxId: simpleStringFormatter(values[FieldsEnum.taxId]),\n        iban: simpleStringFormatter(values[FieldsEnum.iban]),\n        bic: simpleStringFormatter(values[FieldsEnum.bic]),\n        validTill: moment().add(FAKE_NO_LIMIT_VALID_TILL_YEAR, 'year').format(VALID_TILL_FORMAT),\n    };\n\n    if (!approveData.taxId || !approveData.iban || !approveData.bic) {\n        return null;\n    }\n\n    const rawVatNumber = simpleStringFormatter(values[FieldsEnum.vatNumber]);\n    if (rawVatNumber) {\n        approveData.vat = rawVatNumber;\n    }\n\n    return approveData;\n};\n\nexport default prepareApproveData;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    opacity?: number;\n};\n\nconst StartIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, opacity, className, size } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path fill={fillColor} opacity={opacity || 1} d=\"M6.667 4.167v11.666L15.833 10z\" />\n            </g>\n        </svg>\n    );\n};\n\nStartIcon.displayName = 'StartIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.tomatoRed,\n    opacity: 1,\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default StartIcon;\n","import { SpotRequestsStatsT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { ApiSpotRequestsStatsT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\n\nexport const FETCH_SPOT_REQUESTS_STATS_REQUEST = 'broker/spot-requests-stats/FETCH_SPOT_REQUESTS_STATS_REQUEST';\nexport const FETCH_SPOT_REQUESTS_STATS_REQUEST_BEGIN =\n    'broker/spot-requests-stats/FETCH_SPOT_REQUESTS_STATS_REQUEST_BEGIN';\nexport const FETCH_SPOT_REQUESTS_STATS_REQUEST_ERROR =\n    'broker/spot-requests-stats/FETCH_SPOT_REQUESTS_STATS_REQUEST_ERROR';\nexport const FETCH_SPOT_REQUESTS_STATS_REQUEST_SUCCESS =\n    'broker/spot-requests-stats/FETCH_SPOT_REQUESTS_STATS_REQUEST_SUCCESS';\n\nexport type SpotRequestsStatsStateT = {\n    stats: SpotRequestsStatsT | null;\n    fetchRequest: RequestStatusT;\n};\n\nexport type FetchSpotRequestsStatsActionT = {\n    type: typeof FETCH_SPOT_REQUESTS_STATS_REQUEST;\n    options?: FetchOptionsT;\n};\n\nexport type FetchSpotRequestsStatsBeginActionT = {\n    type: typeof FETCH_SPOT_REQUESTS_STATS_REQUEST_BEGIN;\n};\n\nexport type FetchSpotRequestsStatsSuccessActionT = {\n    type: typeof FETCH_SPOT_REQUESTS_STATS_REQUEST_SUCCESS;\n    statistics: ApiSpotRequestsStatsT | null;\n};\n\nexport type FetchSpotRequestsStatsErrorActionT = {\n    type: typeof FETCH_SPOT_REQUESTS_STATS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type SpotRequestsStatsActionT =\n    | FetchSpotRequestsStatsActionT\n    | FetchSpotRequestsStatsBeginActionT\n    | FetchSpotRequestsStatsSuccessActionT\n    | FetchSpotRequestsStatsErrorActionT;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipmentDetailsCard.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport Card from 'design-system/components/Card/Card';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { formatTimeInterval } from 'common/utils/time';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport ShipmentStatusPill from 'common/components/status-pill/ShipmentStatusPill/ShipmentStatusPill';\nimport CargoUnitIcon from 'common/icons/CargoUnitIcon';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { getLoadUnitType } from 'common/utils/units';\nimport WeightIcon from 'common/icons/WeightIcon';\nimport SnowflakeIcon from 'common/icons/SnowflakeIcon';\nimport TemperatureModeFormatter from 'design-system/components/InfoTable/formatters/TemperatureModeFormatter/TemperatureModeFormatter';\nimport CommentIcon from 'common/icons/CommentIcon';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport { ApiShipmentAttachedPaperTypeT, PartnerTypeEnum } from 'common/utils/api/models';\nimport { hideLoaderStatusSet } from 'broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/constants';\nimport ShipmentWarningPill from 'common/components/status-pill/ShipmentWarningPill/ShipmentWarningPill';\nimport { getShipmentAnchor } from 'common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/ShipmentDetailsCard/utils';\nimport ChangeShipmentStatusSidebarFooter from './ChangeShipmentStatusSidebarFooter/ChangeShipmentStatusSidebarFooter';\nimport DetailsOrPapersTabs from 'common/components/entity-details/DetailsOrPapersTabs/DetailsOrPapersTabs';\nimport { ShipmentPapersTabContent } from 'common/components/entity-details/ShipmentPapersTabContent/ShipmentPapersTabContent';\nimport { ShipmentPaperAttachPapersDropdownControl } from 'common/components/papers/ShipmentPaperAttachPapersDropdownControl/ShipmentPaperAttachPapersDropdownControl';\nimport { logWarning } from 'common/utils/logger';\nimport { useSelector } from 'react-redux';\nimport { selectShipmentChangesById } from 'common/store/papers-edit/selectors';\nimport { useRenderPapersTabCount } from 'common/components/papers/hooks/use-render-papers-tab-count';\nimport HighlightedEntityContext from 'common/components/status-machine/contexts/HighlightedEntityContext';\n\nexport type PropsT = {\n    shipmentNumber: number;\n    isReeferTrailer: boolean;\n    shipment: TransportOrderDetailsT['shipments'][number] | null;\n    pickUpWaypoint: TransportOrderDetailsT['waypoints'][number] | null;\n    dropOffWaypoint: TransportOrderDetailsT['waypoints'][number] | null;\n    keyboardShortcut?: string;\n    className?: string;\n    isReadOnly: boolean;\n    tourId: TourIdT | null;\n    onAttachTourPapers: (tourId: TourIdT) => void;\n    shouldConfirmForCancelLastShipment: boolean;\n    onAttachShipmentPaper?: (\n        shipmentId: ShipmentIdT,\n        paperType: ApiShipmentAttachedPaperTypeT,\n        comment?: string,\n    ) => void;\n    getShipmentPaperThumbnailUrl: (shipmentId: ShipmentIdT | null, paperId: PaperIdT | null) => string | null;\n    onOpenGalleryShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onDownloadShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onDeleteShipmentPaper?: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onOpenUserDetails: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n    onOpenDriverDetails?: (params: { driverId: DriverIdT; partnerId: PartnerIdT }) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ShipmentDetailsCard: React.FC<PropsT> = React.memo((props) => {\n    const {\n        shipmentNumber,\n        shipment,\n        pickUpWaypoint,\n        dropOffWaypoint,\n        isReeferTrailer,\n        keyboardShortcut,\n        className,\n        isReadOnly,\n        tourId,\n        onAttachTourPapers,\n        shouldConfirmForCancelLastShipment,\n        onAttachShipmentPaper,\n        getShipmentPaperThumbnailUrl,\n        onOpenGalleryShipmentPaper,\n        onDownloadShipmentPaper,\n        onDeleteShipmentPaper,\n        onOpenUserDetails,\n        onOpenDriverDetails,\n    } = props;\n\n    const { t } = useTranslation();\n    const { highlightedEntityId } = React.useContext(HighlightedEntityContext);\n\n    const shipmentId = shipment?.id || null;\n    const shipmentChanges = useSelector(selectShipmentChangesById(shipmentId));\n\n    const handleAttachNew = React.useCallback(\n        (paperType: ApiShipmentAttachedPaperTypeT) => {\n            if (!shipmentId) {\n                logWarning('failed to attach paper, empty shipmentId');\n                return;\n            }\n\n            if (!onAttachShipmentPaper) {\n                logWarning('failed to attach paper, onAttachShipmentPaper is not provided');\n                return;\n            }\n\n            onAttachShipmentPaper(shipmentId, paperType);\n        },\n        [shipmentId, onAttachShipmentPaper],\n    );\n\n    const idDetails: Array<InfoTableRowT> = [\n        {\n            icon: null,\n            name: t('common:transport-order-details.shipment-details.columns.shipment-id'),\n            value: shipment?.number,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n    ];\n\n    const poDetails: Array<InfoTableRowT> = [\n        {\n            icon: null,\n            name: t('common:transport-order-details.shipment-details.columns.po-number'),\n            value: shipment?.purchaseOrderNumber,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'po-number',\n        },\n    ];\n\n    const originPointDetails: Array<InfoTableRowT> = [\n        {\n            icon: <NumberIcon number={(pickUpWaypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n            name: t('common:transport-order-details.shipment-details.columns.pickup'),\n            value: <LocationLabel format=\"s1_s2_zip_city_country\" location={pickUpWaypoint?.address} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            rows: [\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.time-slot'),\n                    value: formatTimeInterval(pickUpWaypoint?.dateTimeFrom, pickUpWaypoint?.dateTimeTo),\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.company-name'),\n                    value: pickUpWaypoint?.contact?.companyName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-company-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.contact-name'),\n                    value: pickUpWaypoint?.contact?.fullName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.contact-phone'),\n                    value: pickUpWaypoint?.contact?.phone,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.contact-email'),\n                    value: pickUpWaypoint?.contact?.email,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.comments'),\n                    value: pickUpWaypoint?.contact?.comment,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                },\n            ],\n        },\n    ];\n\n    const destinationPointDetails: Array<InfoTableRowT> = [\n        {\n            icon: <NumberIcon number={(dropOffWaypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n            name: t('common:transport-order-details.shipment-details.columns.delivery'),\n            value: <LocationLabel format=\"s1_s2_zip_city_country\" location={dropOffWaypoint?.address} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            rows: [\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.time-slot'),\n                    value: formatTimeInterval(dropOffWaypoint?.dateTimeFrom, dropOffWaypoint?.dateTimeTo),\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.company-name'),\n                    value: dropOffWaypoint?.contact?.companyName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-company-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.contact-name'),\n                    value: dropOffWaypoint?.contact?.fullName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.contact-phone'),\n                    value: dropOffWaypoint?.contact?.phone,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.contact-email'),\n                    value: dropOffWaypoint?.contact?.email,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.shipment-details.columns.comments'),\n                    value: dropOffWaypoint?.contact?.comment,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                },\n            ],\n        },\n    ];\n\n    const shipmentDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <CargoUnitIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.light}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                />\n            ),\n            name: t('common:transport-order-details.shipment-details.columns.units'),\n            value: <UnitTypeCount type={getLoadUnitType(shipment?.unitsType)} count={shipment?.maxNumberOfUnits} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n        {\n            icon: <WeightIcon fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:transport-order-details.shipment-details.columns.weight'),\n            value: <UnitTypeCount count={shipment?.weight} type={UnitTypeEnum.kilogramsAbbreviation} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n        isReeferTrailer\n            ? {\n                  icon: <SnowflakeIcon fillColor={StyleGuideColorsEnum.gray} />,\n                  name: t('common:transport-order-details.shipment-details.columns.temperature-range'),\n                  value: (\n                      <TemperatureModeFormatter\n                          lowestTemperature={shipment?.lowestTemperature}\n                          highestTemperature={shipment?.highestTemperature}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n              }\n            : null,\n        {\n            icon: <CommentIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:transport-order-details.shipment-details.columns.description'),\n            value: shipment?.description,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n    ];\n\n    const papersBadge = useRenderPapersTabCount({\n        optimisticPapers: shipmentChanges?.optimisticPapers,\n        entityPapers: shipment?.attachedPapers,\n    });\n\n    return (\n        <>\n            <Card\n                titleNode={t('common:transport-order-details.shipment-details.title', {\n                    number: shipmentNumber + 1,\n                })}\n                rightNode={\n                    <>\n                        <ShipmentWarningPill isSymmetrical warning={shipment?.warning} />\n                        <ShipmentStatusPill isSymmetrical status={shipment?.status} />\n                    </>\n                }\n                className={className}\n                keyboardShortcut={keyboardShortcut}\n                hasHeaderBottomBorder\n                anchor={getShipmentAnchor(shipment?.id || null)}\n                isHighlighted={highlightedEntityId === shipment?.id}\n                footerNode={\n                    !isReadOnly ? (\n                        <ChangeShipmentStatusSidebarFooter\n                            isShowLoading={!!shipment && !hideLoaderStatusSet.has(shipment?.status)}\n                            tourId={tourId}\n                            shipment={shipment || null}\n                            onAttachTourPapers={onAttachTourPapers}\n                            shouldConfirmForCancelLastShipment={shouldConfirmForCancelLastShipment}\n                        />\n                    ) : null\n                }\n            >\n                <div>\n                    <DetailsOrPapersTabs\n                        papersBadge={papersBadge}\n                        papersTabRightNode={\n                            isReadOnly ? null : (\n                                <ShipmentPaperAttachPapersDropdownControl onAttachNew={handleAttachNew} />\n                            )\n                        }\n                    >\n                        <div className={cx('content')}>\n                            <InfoTable shouldRenderIcons rows={idDetails} className={cx('table', 'table--id')} />\n                            <InfoTable shouldRenderIcons rows={poDetails} className={cx('table', 'table--po')} />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={originPointDetails}\n                                className={cx('table', 'table--point')}\n                            />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={destinationPointDetails}\n                                className={cx('table', 'table--point')}\n                            />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={shipmentDetails}\n                                className={cx('table', 'table--shipment')}\n                            />\n                        </div>\n                        <ShipmentPapersTabContent\n                            attachedPapers={shipment?.attachedPapers || null}\n                            shipmentId={shipmentId}\n                            attachPapersUnavailableReason={shipment?.attachPapersUnavailableReason || null}\n                            onOpenUserDetails={onOpenUserDetails}\n                            onOpenDriverDetails={onOpenDriverDetails}\n                            getShipmentPaperThumbnailUrl={getShipmentPaperThumbnailUrl}\n                            onOpenGalleryShipmentPaper={onOpenGalleryShipmentPaper}\n                            onDownloadShipmentPaper={onDownloadShipmentPaper}\n                            onDeleteShipmentPaper={isReadOnly ? undefined : onDeleteShipmentPaper}\n                            onAttachShipmentPaper={isReadOnly ? undefined : onAttachShipmentPaper}\n                        />\n                    </DetailsOrPapersTabs>\n                </div>\n            </Card>\n        </>\n    );\n});\n\nexport default ShipmentDetailsCard;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ModalDialog.scss';\nimport { ButtonPropsT } from 'common/components/Button/Button';\nimport ModalDialogActions from 'common/components/Modal/ModalDialogActions/ModalDialogActions';\n\nconst cx = classNames.bind(styles);\n\nexport type ModalDialogActionT = ButtonPropsT & { children: React.ReactNode };\n\nexport type ModalDialogPropsT = {\n    width: number;\n    testSelector?: string;\n    actions?: ModalDialogActionT[];\n    icon: React.ReactNode;\n    title: React.ReactNode;\n    message?: React.ReactNode;\n    body?: React.ReactNode;\n    className?: string;\n};\n\nexport const DEFAULT_MODAL_DIALOG_WIDTH = 340;\n\nconst ModalDialog: React.FC<ModalDialogPropsT> = (props) => {\n    const { testSelector, width, body, actions, icon, title, message, children, className } = props;\n\n    const fullTestSelector = `${testSelector}_modal-dialog`;\n\n    return (\n        <div\n            className={cs(\n                cx('wrap', {\n                    'wrap--hasTopPadding': !!actions?.length,\n                }),\n                className,\n            )}\n            data-test-selector={fullTestSelector}\n            style={{\n                width: `${width}px`,\n            }}\n        >\n            <div className={cx('content')}>\n                <div className={cx('icon')}>{icon}</div>\n                <div className={cx('title')}>{title}</div>\n                {!!message && <div className={cx('message')}>{message}</div>}\n                {body}\n            </div>\n            <ModalDialogActions actions={actions} />\n            {children}\n        </div>\n    );\n};\n\nexport default ModalDialog;\n","// extracted by mini-css-extract-plugin\nexport default {\"value\":\"EmissionUnitValue__value___UeR4U\",\"fadeIn\":\"EmissionUnitValue__fadeIn___Ww0yw\",\"blinking\":\"EmissionUnitValue__blinking___V5YRt\"};","import { AnyNotificationT } from 'common/store/notifications/models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const filterNewNotifications = ({\n    notifications,\n    prevLastUnReadNotification,\n    prevUnReadNotificationsRequest,\n}: {\n    notifications: AnyNotificationT[];\n    prevLastUnReadNotification: AnyNotificationT | null;\n    prevUnReadNotificationsRequest: RequestStatusT;\n}): AnyNotificationT[] => {\n    if (!prevUnReadNotificationsRequest.ok) {\n        return [];\n    }\n\n    // if there is no unread and the request is successful, then all notifications are new.\n    if (!prevLastUnReadNotification) {\n        return notifications;\n    }\n\n    return notifications.filter((notification) => {\n        return notification.timestamp > prevLastUnReadNotification.timestamp;\n    });\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"content--with-top-padding\":\"ListPageHeaderLayout__content--with-top-padding___FrSxO\",\"tools\":\"ListPageHeaderLayout__tools___fVYII\",\"left-tools\":\"ListPageHeaderLayout__left-tools___ICtjJ\",\"right-tools\":\"ListPageHeaderLayout__right-tools___byKsy\",\"filter-tags\":\"ListPageHeaderLayout__filter-tags___Eqvsj\",\"fadeIn\":\"ListPageHeaderLayout__fadeIn___dO2ua\",\"blinking\":\"ListPageHeaderLayout__blinking___KjUSW\"};","type AuthIdTokenT = string;\n\nabstract class BaseSecurityAuthApi {\n    abstract getAuthToken(): Promise<string | null>;\n\n    abstract getAuthHeaders(): Promise<Record<string, string> | null>;\n}\n\nexport { BaseSecurityAuthApi, AuthIdTokenT };\n","import { StateT } from 'broker-admin/store/models';\nimport { BrokerTeamEditByIdStateT } from './slice';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\n\nconst initialTeamEditState: BrokerTeamEditByIdStateT = {\n    updateRequest: requestStatus.initial,\n    deleteRequest: requestStatus.initial,\n};\n\nexport const selectBrokerTeamEditCreateRequestStatus = (state: StateT): RequestStatusT =>\n    state.brokerTeamEdit.createRequest;\n\nexport const selectBrokerTeamEditCreatedTeam = (state: StateT): { id: TeamIdT } | null =>\n    state.brokerTeamEdit.createdTeam;\n\nexport const selectBrokerTeamEditById =\n    (id: TeamIdT | null | undefined) =>\n    (state: StateT): BrokerTeamEditByIdStateT =>\n        state.brokerTeamEdit.byId[id as TeamIdT] || initialTeamEditState;\n\nexport const selectBrokerTeamEditUpdateRequestStatus =\n    (id?: TeamIdT | null | undefined) =>\n    (state: StateT): RequestStatusT =>\n        state.brokerTeamEdit.byId[id as TeamIdT]?.updateRequest || initialTeamEditState.updateRequest;\n\nexport const selectBrokerTeamEditDeleteRequestStatus =\n    (id?: TeamIdT | null | undefined) =>\n    (state: StateT): RequestStatusT =>\n        state.brokerTeamEdit.byId[id as TeamIdT]?.deleteRequest || initialTeamEditState.deleteRequest;\n","import { StatisticSourceEnum } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const DEFAULT_DATA_SOURCE = StatisticSourceEnum.import;\n\nexport enum AggregateEnum {\n    rejectedShipperRate = 'rejected-shipper-rate',\n    acceptedShipperRate = 'accepted-shipper-rate',\n    estimatedCarrierRate = 'estimated-carrier-rate',\n    realCarrierRate = 'real-carrier-rate',\n    margin = 'margin',\n}\n","import { StateT } from 'broker-admin/store/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { SystemSettingsT } from './models';\n\nexport const selectSystemSettings = (state: StateT): SystemSettingsT | null => state.priceSettings.systemSettings.data;\n\nexport const selectSystemSettingsFetchRequest = (state: StateT): RequestStatusT =>\n    state.priceSettings.systemSettings.fetchRequest;\n\nexport const selectSystemSettingsUpdateRequest = (state: StateT): RequestStatusT =>\n    state.priceSettings.systemSettings.updateRequest;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ConfirmEmailPage__content___PuarU\",\"error\":\"ConfirmEmailPage__error___spvYD\",\"fadeIn\":\"ConfirmEmailPage__fadeIn___cheLM\",\"blinking\":\"ConfirmEmailPage__blinking___GXtAL\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { BrokerTourStatsT } from './models';\n\nexport type BrokerTourStatsStateT = {\n    stats: BrokerTourStatsT | null;\n    fetchRequest: RequestStatusT;\n};\n\nconst initialState: BrokerTourStatsStateT = {\n    stats: null,\n    fetchRequest: requestStatus.initial,\n};\n\nexport const brokerTourStatsSlice = createSlice({\n    name: 'brokerTourStats',\n    initialState,\n    reducers: {\n        fetchBrokerTourStats: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n        ) => {\n            // nothing - handled by saga\n        },\n        fetchBrokerTourStatsBegin: (state) => {\n            state.fetchRequest = requestStatus.loading;\n        },\n        fetchBrokerTourStatsSuccess: (\n            state,\n            action: PayloadAction<{\n                statistics: BrokerTourStatsT | null;\n            }>,\n        ) => {\n            const { statistics } = action.payload;\n            state.stats = statistics;\n            state.fetchRequest = requestStatus.ok;\n        },\n        fetchBrokerTourStatsError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n            state.fetchRequest = requestStatus.setError(error);\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchBrokerTourStats,\n    fetchBrokerTourStatsBegin,\n    fetchBrokerTourStatsSuccess,\n    fetchBrokerTourStatsError,\n} = brokerTourStatsSlice.actions;\n\nexport default brokerTourStatsSlice.reducer;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './SpotRequestRoute.scss';\nimport { useSelector } from 'react-redux';\nimport { selectSpotRequestDetails } from 'broker-admin/store/spot-request-details/selectors';\nimport { selectRoutingGeometryState } from 'common/store/routing-geometry/selectors';\nimport { isNonNil } from 'common/utils';\nimport { useMemo } from 'react';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport MultiPointOrderRouteMap, {\n    MultiPointOrderRouteMapPropsT,\n} from 'common/components/MultiPointOrderRouteMap/MultiPointOrderRouteMap';\n\nimport { ApiStopTypeT, StopTypeEnum } from 'common/utils/api/models';\nimport { MapPointT } from 'common/components/MultiPointOrderRouteMap/models';\nimport isNumber from 'lodash/isNumber';\n\nconst spotRequestTypeMap: Record<ApiStopTypeT, MapPointT['type']> = {\n    [StopTypeEnum.pickupTrailer]: 'PICKUP_TRAILER',\n    [StopTypeEnum.pickupTruck]: 'PICKUP_TRUCK',\n    [StopTypeEnum.pickupRoadTrain]: 'PICKUP_ROAD_TRAIN',\n    [StopTypeEnum.pickupDeliveryShipment]: 'SHIPMENT',\n    [StopTypeEnum.driveThrough]: 'DRIVE_THROUGH',\n    [StopTypeEnum.dropAndHook]: 'DROP_AND_HOOK',\n    [StopTypeEnum.dropTrailer]: 'DROP_TRAILER',\n    [StopTypeEnum.dropTruck]: 'DROP_TRUCK',\n    [StopTypeEnum.dropRoadTrain]: 'DROP_ROAD_TRAIN',\n    [StopTypeEnum.ferryOnboard]: 'FERRY_ONBOARD',\n    [StopTypeEnum.ferryDisembark]: 'FERRY_DISEMBARK',\n};\n\ntype PropsT = {\n    id: SpotRequestIdT;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst SpotRequestRoute: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    const { details } = useSelector(selectSpotRequestDetails(id));\n\n    const polylineIds = useMemo(() => {\n        return [details?.polylineId].filter(isNonNil);\n    }, [details?.polylineId]);\n\n    useRouteGeometry(polylineIds);\n\n    const routingGeometryState = useSelector(selectRoutingGeometryState(details?.polylineId));\n\n    const mapPoints = useMemo((): MultiPointOrderRouteMapPropsT['points'] => {\n        return (\n            details?.stops\n                ?.map((stop): MapPointT | null => {\n                    if (!isNumber(stop?.address?.latitude) || !isNumber(stop?.address?.longitude)) {\n                        return null;\n                    }\n\n                    return {\n                        latitude: stop?.address?.latitude,\n                        longitude: stop?.address?.longitude,\n                        index: stop.index || 0,\n                        type: spotRequestTypeMap[stop.type],\n                    };\n                })\n                .filter(isNonNil) || []\n        );\n    }, [details]);\n\n    return (\n        <MultiPointOrderRouteMap\n            key={details?.id}\n            points={mapPoints}\n            route={routingGeometryState.data}\n            routeRequest={routingGeometryState.requestStatus}\n        />\n    );\n});\n\nexport default SpotRequestRoute;\n","const ECLIPSE = '...';\nconst TAIL_LENGTH = 15;\n\nexport const reduceFileNameIfNeed = (fileName: string, limit: number): string => {\n    if (fileName.length < limit - ECLIPSE.length) {\n        return fileName;\n    }\n\n    return [fileName.slice(0, limit - ECLIPSE.length - TAIL_LENGTH), ECLIPSE, fileName.slice(-1 * TAIL_LENGTH)].join(\n        '',\n    );\n};\n\nexport const checkIsPDFFile = (fileName: string | null | undefined): boolean => {\n    if (!fileName) {\n        return false;\n    }\n\n    return /\\.pdf$/.test(fileName);\n};\n","import * as React from 'react';\nimport { memo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { selectCountriesByCode, selectCountriesDictRequest } from 'common/store/countries-dict/selectors';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nexport type PropsT = {\n    className?: string;\n    countryCode: CountryCodeT | null | undefined;\n};\n\nconst AsyncDictCountryNameLabel: React.FC<PropsT> = memo((props) => {\n    const { className, countryCode } = props;\n\n    const dispatch = useDispatch();\n\n    const countryByCode = useSelector(selectCountriesByCode);\n    const requestStatus = useSelector(selectCountriesDictRequest);\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const country = countryByCode[countryCode as CountryCodeT] || null;\n\n    if (requestStatus.loading) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.gray} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    return <span className={className}>{country?.userLangDisplayName}</span>;\n});\n\nexport default AsyncDictCountryNameLabel;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {};\n\nconst LoaderTitle: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    return <div>{t('common:loading')}</div>;\n});\n\nexport default LoaderTitle;\n","export {\n    downloadTenderXLSFile,\n    downloadTenderXLSFileBegin,\n    downloadTenderXLSFileSuccess,\n    downloadTenderXLSFileError,\n    importTenderXLSFile,\n    importTenderXLSFileBegin,\n    importTenderXLSFileSuccess,\n    importTenderXLSFileError,\n    fetchTenderStatus,\n    fetchTenderStatusBegin,\n    fetchTenderStatusSuccess,\n    fetchTenderStatusError,\n    deleteTender,\n    deleteTenderBegin,\n    deleteTenderSuccess,\n    deleteTenderError,\n} from './slice';\n","import React, { useEffect } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EditDriverSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { FormikContext, useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from './EditDriverFormContent/constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport prepareApiDriverChanges from './prepare-api-driver-changes';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { logWarning } from 'common/utils/logger';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport values from 'lodash/values';\nimport EditDriverFormContent from './EditDriverFormContent/EditDriverFormContent';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport {\n    activateDriver,\n    archiveDriver,\n    cancelDriverInvite,\n    fetchDriverDetails,\n    updateDriver,\n} from 'common/store/drivers/actions';\nimport { CommonSidebarDataT, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { EditDriverDetailsSidebarDataT } from 'common/layouts/SideBars/contents/EditDriverSidebarContent/models';\nimport { useDriverActionOptions } from 'common/layouts/SideBars/contents/DriverDetailsSidebarContent/hooks/use-driver-action-options';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectDriverDetailsById,\n    selectFetchDriverDetailsRequest,\n    selectUpdateDriverRequest,\n} from 'common/store/drivers/selectors';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport ArchiveDriverConfirmation, {\n    ArchiveDriverConfirmationDataT,\n} from 'common/layouts/DriversPageLayout/dialogs/ArchiveDriverConfirmation/ArchiveDriverConfirmation';\nimport ActivateDriverConfirmation, {\n    ActivateDriverConfirmationDataT,\n} from 'common/layouts/DriversPageLayout/dialogs/ActivateDriverConfirmation/ActivateDriverConfirmation';\nimport CancelDriverInviteModal, {\n    CancelDriverInviteConfirmationDataT,\n} from 'common/layouts/DriversPageLayout/dialogs/CancelDriverInviteModal/CancelDriverInviteModal';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport noop from 'lodash/noop';\nimport DriverSidebarHeader from 'common/layouts/SideBars/contents/DriverDetailsSidebarContent/DriverSidebarHeader/DriverSidebarHeader';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\nimport DriverStatusPill from 'common/components/status-pill/DriverStatusPill/DriverStatusPill';\nimport FormUnsavedValuesColoredStatus from 'common/components/status-colored/FormUnsavedValuesColoredStatus/FormUnsavedValuesColoredStatus';\n\nconst cx = classNames.bind(styles);\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype PropsT = SidebarContentPropsT<EditDriverDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst EditDriverSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onClose, onGoBack, setNeedCloseConfirmation } = props;\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    const fetchDriverDetailsRequestStatus = useSelector(selectFetchDriverDetailsRequest(data.partnerId));\n\n    const driverDetailsById = useSelector(selectDriverDetailsById(data.partnerId));\n    const driverDetails = driverDetailsById[data.driverId as DriverIdT];\n    React.useEffect(() => {\n        dispatch(fetchDriverDetails(data.driverId, data.partnerId, { isForceUpdate: false }));\n    }, [data, dispatch]);\n\n    const updateDriversRequestStatus = useSelector(selectUpdateDriverRequest(data.partnerId));\n\n    useCloseSidebarAfterRequest(updateDriversRequestStatus, onGoBack || onClose);\n\n    const archiveDriverConfirmation = useModalDialog<ArchiveDriverConfirmationDataT>();\n    const activateDriverConfirmation = useModalDialog<ActivateDriverConfirmationDataT>();\n    const cancelDriverInviteConfirmation = useModalDialog<CancelDriverInviteConfirmationDataT>();\n\n    useCloseModalDialogAfterRequest(updateDriversRequestStatus, [\n        archiveDriverConfirmation,\n        activateDriverConfirmation,\n        cancelDriverInviteConfirmation,\n    ]);\n\n    const headerDropdownOptions = useDriverActionOptions(driverDetails, data.partnerId, {\n        onCancelInvite: cancelDriverInviteConfirmation.setData,\n        onArchiveDriver: archiveDriverConfirmation.setData,\n        onActivateDriver: activateDriverConfirmation.setData,\n    });\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(driverDetails);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [driverDetails]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            if (!data.driverId) {\n                logWarning('empty driverId!');\n                return;\n            }\n\n            const driverChanges = prepareApiDriverChanges(values, driverDetails);\n            if (!driverChanges) {\n                logWarning('empty driverChanges!');\n                return;\n            }\n\n            dispatch(updateDriver(data.driverId, driverChanges, data.partnerId));\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n    useEffect(() => {\n        setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    const handleConfirmArchive = (data: ArchiveDriverConfirmationDataT): void => {\n        dispatch(archiveDriver(data.driverId, data.companyId));\n    };\n\n    const handleConfirmActivate = (data: ActivateDriverConfirmationDataT): void => {\n        dispatch(activateDriver(data.driverId, data.companyId));\n    };\n\n    const handleConfirmCancelDriverInvite = (data: CancelDriverInviteConfirmationDataT): void => {\n        dispatch(cancelDriverInvite(data.driverUserId, data.companyId));\n    };\n\n    const isLoading = fetchDriverDetailsRequestStatus.loading || updateDriversRequestStatus.loading;\n\n    return (\n        <FormikContext.Provider value={formik}>\n            <form onSubmit={formik.handleSubmit} className={cx('form')}>\n                {isLoading && <LoaderOverlay />}\n                <HeaderSideBarLayout>\n                    <HeaderSideBarContent\n                        onGoBack={onGoBack}\n                        title={driverDetails ? <DriverSidebarHeader driverDetails={driverDetails} /> : null}\n                        afterTitleNode={\n                            driverDetails ? (\n                                <DriverStatusPill isSymmetrical status={driverDetails.status || null} />\n                            ) : null\n                        }\n                        dropdownOptions={headerDropdownOptions}\n                        rightNode={<>{hasAnyFieldValueChanges && <FormUnsavedValuesColoredStatus />}</>}\n                        onClose={onClose}\n                    />\n                </HeaderSideBarLayout>\n                <SideBarLayout>\n                    <EditDriverFormContent\n                        driverDetails={driverDetails}\n                        allowShowChanges\n                        isHideMobilePhoneField={!driverDetails?.hasAuthentication}\n                    />\n                </SideBarLayout>\n                <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                <FooterSideBarLayout hasPaddings>\n                    <div className={cx('actions')}>\n                        <Button\n                            className={cx('actions__action', 'actions__action--cancel')}\n                            theme={ButtonThemeEnum.secondary}\n                            onClick={onGoBack ? () => onGoBack({ needCloseConfirmation: false }) : noop}\n                        >\n                            {t('common:form-actions.cancel')}\n                        </Button>\n                        <Button\n                            className={cx('actions__action', 'actions__action--update')}\n                            theme={ButtonThemeEnum.primary}\n                            type=\"submit\"\n                        >\n                            {t('common:driver-details.update-contact')}\n                        </Button>\n                    </div>\n                </FooterSideBarLayout>\n            </form>\n            <ArchiveDriverConfirmation\n                data={archiveDriverConfirmation.data}\n                onConfirm={handleConfirmArchive}\n                onCancel={archiveDriverConfirmation.onCancel}\n                onClose={archiveDriverConfirmation.onClose}\n                requestStatus={updateDriversRequestStatus}\n            />\n            <ActivateDriverConfirmation\n                data={activateDriverConfirmation.data}\n                onConfirm={handleConfirmActivate}\n                onCancel={activateDriverConfirmation.onCancel}\n                onClose={activateDriverConfirmation.onClose}\n                requestStatus={updateDriversRequestStatus}\n            />\n            <CancelDriverInviteModal\n                data={cancelDriverInviteConfirmation.data}\n                onConfirm={handleConfirmCancelDriverInvite}\n                onCancel={cancelDriverInviteConfirmation.onCancel}\n                onClose={cancelDriverInviteConfirmation.onClose}\n                requestStatus={updateDriversRequestStatus}\n            />\n        </FormikContext.Provider>\n    );\n};\n\nexport default EditDriverSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"FiltersTrigger__fadeIn___vXoJJ\",\"blinking\":\"FiltersTrigger__blinking___EfB2S\"};","// extracted by mini-css-extract-plugin\nexport default {\"loader\":\"ControlLoaderLabel__loader___Cys4g\",\"loader--is-invert\":\"ControlLoaderLabel__loader--is-invert___BmVAy\",\"loader__text\":\"ControlLoaderLabel__loader__text___CWOQv\",\"loader__text--is-invert\":\"ControlLoaderLabel__loader__text--is-invert___UhqBz\",\"fadeIn\":\"ControlLoaderLabel__fadeIn___a0AjA\",\"blinking\":\"ControlLoaderLabel__blinking___Ig33N\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\n\nexport type PropsT = {\n    className?: string;\n    children?: React.ReactNode;\n};\n\nconst DelayingWarningAlert: React.FC<PropsT> = React.memo(({ className, children }) => {\n    return (\n        <Alert\n            icon={\n                <TimeWindowIcon strokeColor={StyleGuideColorsEnum.white} fillColor={StyleGuideColorsEnum.transparent} />\n            }\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.orange}\n            className={className}\n        >\n            {children}\n        </Alert>\n    );\n});\n\nexport default DelayingWarningAlert;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"BrokerOrderListPage__fadeIn___ZorDt\",\"blinking\":\"BrokerOrderListPage__blinking___7IaUl\"};","import {\n    FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_BEGIN,\n    FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_ERROR,\n    FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_SUCCESS,\n    GroupedNotificationCountsActionT,\n    GroupedNotificationCountsStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: GroupedNotificationCountsStateT = {\n    fetchRequest: requestStatus.initial,\n    counts: null,\n};\n\nexport default (\n    state = initialState,\n    action: GroupedNotificationCountsActionT | DestroySessionActionT,\n): GroupedNotificationCountsStateT => {\n    switch (action.type) {\n        case FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n\n        case FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_SUCCESS: {\n            const { counts } = action;\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.ok,\n                counts,\n            };\n        }\n\n        case FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(error),\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { ContractDetailsChangesT } from 'common/store/carrier-contracts/models';\n\nexport type ConfirmApproveContractModalDataT = {\n    contractId: CarrierContractIdT;\n    contractChanges: ContractDetailsChangesT;\n};\n\ntype PropsT = {\n    data: ConfirmApproveContractModalDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: ConfirmApproveContractModalDataT) => void;\n    isLoading: boolean;\n    name: string | undefined;\n};\n\nconst TEST_SELECTOR = 'approve-contract-confirmation';\n\nconst ApproveContractConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { name, data, onClose, onConfirm, isLoading } = props;\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: isLoading,\n                            onClick: () => {\n                                onClose();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.approve'),\n                            theme: ButtonThemeEnum.primary,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading,\n                            isDisabled: isLoading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.brandAccent} />}\n                    title={t('common:carrier-contracts.approve-confirmation.title')}\n                    message={t('common:carrier-contracts.approve-confirmation.description', {\n                        contractName: name,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ApproveContractConfirmation;\n","import * as React from 'react';\nimport { ApiShipmentStatusT, ShipmentStatusEnum } from 'common/utils/api/models';\nimport ColoredStatusLabel, {\n    PropsT as ColoredStatusLabelPropsT,\n} from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport LoadStatus from 'common/components/status/LoadStatus/LoadStatus';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiShipmentStatusT | null | undefined;\n};\n\nexport const LOAD_STATUS_COLOR_MAP: Record<ApiShipmentStatusT, StyleGuideColorsEnum> = {\n    [ShipmentStatusEnum.awaitingLoading]: StyleGuideColorsEnum.light,\n    [ShipmentStatusEnum.loading]: StyleGuideColorsEnum.light,\n    [ShipmentStatusEnum.inTransit]: StyleGuideColorsEnum.light,\n    [ShipmentStatusEnum.unloading]: StyleGuideColorsEnum.light,\n    [ShipmentStatusEnum.delivered]: StyleGuideColorsEnum.mediumGreen,\n    [ShipmentStatusEnum.canceled]: StyleGuideColorsEnum.light,\n};\n\nconst ShipmentColoredStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    if (!status) {\n        return null;\n    }\n\n    const color = LOAD_STATUS_COLOR_MAP[status];\n\n    return <ColoredStatusLabel {...restProps} label={<LoadStatus status={status} />} color={color} />;\n});\n\nexport default ShipmentColoredStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"LegalFormDropdown__fadeIn___zZjKE\",\"blinking\":\"LegalFormDropdown__blinking___MKeBs\"};","import { FetchStatisticsQueryT } from 'broker-admin/store/statistics/models';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { StatisticGranularityEnum, StatisticSourceEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { getDateFromDate } from 'common/utils/time';\nimport { DEFAULT_DATA_SOURCE } from 'broker-admin/layouts/StatisticsPage/constants';\nimport { CountryCodeUnionT } from 'common/utils/api/models';\n\nconst prepareFetchQuery = (\n    queryFilters: QueryFiltersT,\n    selectedGranularity: StatisticGranularityEnum,\n    dates: DateRangeT | null,\n): FetchStatisticsQueryT | null => {\n    if (!dates?.from || !dates?.to) {\n        return null;\n    }\n\n    const shippedId = queryFilters[QueryFiltersKeysEnum.shipperId];\n    const carrierId = queryFilters[QueryFiltersKeysEnum.carrierId];\n\n    return {\n        granularity: selectedGranularity,\n        source: (queryFilters[QueryFiltersKeysEnum.dataSource] as StatisticSourceEnum) || DEFAULT_DATA_SOURCE,\n        toDate: getDateFromDate(dates.to),\n        fromDate: getDateFromDate(dates.from),\n        destinationCountry: (queryFilters[QueryFiltersKeysEnum.toCountryCode] as CountryCodeUnionT) || undefined,\n        destinationZipCode: queryFilters[QueryFiltersKeysEnum.toZipCode] || undefined,\n        originCountry: (queryFilters[QueryFiltersKeysEnum.fromCountryCode] as CountryCodeUnionT) || undefined,\n        originZipCode: queryFilters[QueryFiltersKeysEnum.fromZipCode] || undefined,\n        shippedIds: shippedId ? [shippedId] : undefined,\n        carrierIds: carrierId ? [carrierId] : undefined,\n    };\n};\n\nexport { prepareFetchQuery };\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"TransparentButton__button___vVLZx\",\"button--isClickable\":\"TransparentButton__button--isClickable___CZr_n\",\"inner\":\"TransparentButton__inner___FyWf7\",\"fadeIn\":\"TransparentButton__fadeIn___BbLcZ\",\"blinking\":\"TransparentButton__blinking___hoNCy\"};","import * as React from 'react';\n\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    onCancel: () => void;\n};\n\nconst CancelServiceMaintanceTooltipContent: React.FC<PropsT> = React.memo((props) => {\n    const { onCancel, className } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Button\n            leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n            className={className}\n            theme={ButtonThemeEnum.transparentLightAlpha}\n            testSelector=\"cancel-service-maintance\"\n            onClick={onCancel}\n        >\n            {t('common:vehicle-schedule.event-tooltip.service-maintenance.trigger')}\n        </Button>\n    );\n});\n\nexport default CancelServiceMaintanceTooltipContent;\n","import { CountryCodeT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    companyName = 'companyName',\n    countryCode = 'countryCode',\n    zipCode = 'zipCode',\n    city = 'city',\n    street1 = 'street1',\n    legalFormId = 'legalFormId',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.companyName]: string;\n    [FieldsEnum.countryCode]: CountryCodeT | null;\n    [FieldsEnum.zipCode]: string;\n    [FieldsEnum.city]: string;\n    [FieldsEnum.street1]: string;\n    [FieldsEnum.legalFormId]: LegalFormIdT | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"SaveFooterContent__content___p9k1i\",\"action\":\"SaveFooterContent__action___w2nJ1\",\"fadeIn\":\"SaveFooterContent__fadeIn___HQuTw\",\"blinking\":\"SaveFooterContent__blinking___AvEuJ\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './DriverAssignOptionLabel.scss';\nimport Avatar, { AvatarSizeEnum } from 'common/components/Avatar/Avatar';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    driver: {\n        label: string;\n    };\n};\n\nconst DriverAssignOptionLabel: React.FC<PropsT> = React.memo((props) => {\n    const { driver } = props;\n\n    return (\n        <div className={cx('option')}>\n            <div className={cx('column')}>\n                <Avatar className={cx('avatar')} hash={driver.label || ''} size={AvatarSizeEnum.small} />\n            </div>\n            <div className={cx('column')}>{driver.label}</div>\n        </div>\n    );\n});\n\nexport default DriverAssignOptionLabel;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty, checkRangeNotIncludeDisabledDates } from 'common/utils/form-validators';\nimport isNumber from 'lodash/isNumber';\nimport { CountrySettingsByCodeT } from 'common/store/country-settings-dict/models';\nimport { checkIsAvailableCountryForServiceMaintananceAsset } from 'common/store/country-settings-dict/utils/check-location';\n\nconst REQUIRED_FIELDS = [FieldsEnum.dateRange, FieldsEnum.dropoffLocation] as const;\n\ntype MetaT = {\n    disabledDates: string[];\n    countriesSettingsByCode: CountrySettingsByCodeT;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, meta: MetaT): FormErrorsT => {\n    const { disabledDates, countriesSettingsByCode } = meta;\n\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkRangeNotIncludeDisabledDates(t, [FieldsEnum.dateRange], values, disabledDates),\n    };\n\n    if (\n        values[FieldsEnum.dropoffLocation] &&\n        (!isNumber(values[FieldsEnum.dropoffLocation]?.point?.lng) ||\n            !isNumber(values[FieldsEnum.dropoffLocation]?.point?.lat))\n    ) {\n        errors[FieldsEnum.dropoffLocation] = t('common:assets.set-unavailable.errors.wrong-location');\n    }\n\n    const dropoffLocation = values[FieldsEnum.dropoffLocation];\n    if (!checkIsAvailableCountryForServiceMaintananceAsset(dropoffLocation, countriesSettingsByCode)) {\n        errors[FieldsEnum.dropoffLocation] = t('common:assets.set-unavailable.errors.unsupported-country');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"contract-name\":\"PartnerName__contract-name___OTaMI\",\"fadeIn\":\"PartnerName__fadeIn___M9XtE\",\"blinking\":\"PartnerName__blinking___OohYZ\"};","import React from 'react';\n\nimport { ArrayHelpers, FieldArray, FormikProps, useFormikContext } from 'formik';\nimport get from 'lodash/get';\n\nexport type ChildrenPropsT<FormValuesT, FieldValueT> = OverwriteT<\n    ArrayHelpers,\n    {\n        push: (obj: FieldValueT) => void;\n        insert: (index: number, value: FieldValueT) => void;\n        replace: (index: number, value: FieldValueT) => void;\n        unshift: (value: FieldValueT) => number;\n    }\n> & {\n    form: FormikProps<FormValuesT>;\n};\n\nexport type PropsT<TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>> = {\n    name: TFieldPath;\n    children: (\n        values: FieldPathValue<TFieldValues, TFieldPath>,\n        props: ChildrenPropsT<TFieldValues, FieldPathValue<TFieldValues, TFieldPath>[number]>,\n    ) => React.ReactElement | null;\n};\n\nconst FormikFieldArray = <TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>>(\n    props: PropsT<TFieldValues, TFieldPath>,\n) => {\n    const { name, children } = props;\n\n    const formik = useFormikContext<TFieldValues>();\n    const values = get(formik.values, name);\n\n    return <FieldArray name={name} render={(props) => children(values, props)} />;\n};\n\nexport default React.memo(FormikFieldArray) as typeof FormikFieldArray;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkBirthday, checkDate, checkEmail, checkNotEmpty, checkPhoneNumber } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.firstName, FieldsEnum.lastName, FieldsEnum.position, FieldsEnum.language] as const;\nconst BIRTHDAY_FIELDS = [FieldsEnum.birthday] as const;\nconst DATE_FIELDS = [FieldsEnum.birthday] as const;\nconst EMAIL_FIELDS = [FieldsEnum.email] as const;\nconst PHONE_FIELDS = [FieldsEnum.desktopPhone, FieldsEnum.mobilePhone] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkBirthday(t, BIRTHDAY_FIELDS, values),\n        ...checkDate(t, DATE_FIELDS, values),\n        ...checkEmail(t, EMAIL_FIELDS, values),\n        ...checkPhoneNumber(t, PHONE_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { AuthErrorTypeEnum, checkIsAuthApiError } from 'common/utils/api/auth/errors/auth-api-error';\n\nconst asyncValidate = (requestStatus: RequestStatusT): AsyncFormErrorsT => {\n    if (!checkIsAuthApiError(requestStatus.error)) {\n        return {};\n    }\n\n    if (\n        requestStatus.error?.type === AuthErrorTypeEnum.expiredActionCode ||\n        requestStatus.error?.type === AuthErrorTypeEnum.invalidActionCode ||\n        requestStatus.error?.type === AuthErrorTypeEnum.userNotFound ||\n        requestStatus.error?.type === AuthErrorTypeEnum.userDisabled ||\n        requestStatus.error?.type === AuthErrorTypeEnum.weakPassword ||\n        requestStatus.error?.type === AuthErrorTypeEnum.failUpdatePassword ||\n        requestStatus.error?.type === AuthErrorTypeEnum.failReauthenticateWithCredential\n    ) {\n        return {\n            [FieldsEnum.password]: requestStatus.error.type,\n        };\n    }\n\n    return {};\n};\n\nexport default asyncValidate;\n","import { PartnersStateT } from './types';\nimport { StateT } from '../models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const selectPartnersPages = (state: StateT): PartnersStateT['pages'] => state.partners.pages;\n\nexport const selectPartnersQuery = (state: StateT): PartnersStateT['query'] => state.partners.query;\n\nexport const selectPartnersTotal = (state: StateT): PartnersStateT['total'] => state.partners.total;\n\nexport const selectPartnersByIds = (state: StateT): PartnersStateT['byId'] => state.partners.byId;\n\nexport const selectPartnerCreationRequest = (state: StateT): RequestStatusT => state.partners.createPartnerRequest;\n","export enum FieldsEnum {\n    urgentOrderProcessingDelay = 'URGENT_ORDER_PROCESSING_DELAY',\n    regularOrderProcessingDelay = 'REGULAR_ORDER_PROCESSING_DELAY',\n    minWindowSize = 'MIN_WINDOW_SIZE',\n    maxWindowSize = 'MAX_WINDOW_SIZE',\n    brokerWorkingHours = 'brokerWorkingHours',\n    orderCreationSeconds = 'ORDER_CREATION_SECONDS',\n    quantumMinutes = 'QUANTUM_MINUTES',\n    mapPrecisionDelta = 'MAP_PRECISION_DELTA',\n    hvoEmissionPercent = 'HVO_EMISSION_PERCENT',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.urgentOrderProcessingDelay]: string;\n    [FieldsEnum.regularOrderProcessingDelay]: string;\n    [FieldsEnum.minWindowSize]: string;\n    [FieldsEnum.maxWindowSize]: string;\n    [FieldsEnum.brokerWorkingHours]: [number, number];\n    [FieldsEnum.orderCreationSeconds]: string;\n    [FieldsEnum.quantumMinutes]: string;\n    [FieldsEnum.mapPrecisionDelta]: string;\n    [FieldsEnum.hvoEmissionPercent]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { useDictDocumentById } from 'common/layouts/BaseDocumentsLayout/hooks/use-dict-document';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\nexport type ConfirmRevokeDocumentModalDataT = {\n    id: DocumentIdT;\n    partnerType: PartnerTypeEnum;\n    dictDocumentId: DictDocumentFakeIdT;\n};\n\ntype PropsT = {\n    data: ConfirmRevokeDocumentModalDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (id: ConfirmRevokeDocumentModalDataT['id']) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'revoke-document-confirmation';\n\nconst RevokeDocumentsConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onClose, onConfirm, requestStatus } = props;\n    const { t } = useTranslation();\n\n    const dictDocument = useDictDocumentById(data?.partnerType, data?.dictDocumentId);\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_keep`,\n                            isDisabled: requestStatus.loading,\n                            onClick: () => {\n                                onClose();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.revoke'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: requestStatus.loading,\n                            isDisabled: requestStatus.loading,\n                            onClick: () => {\n                                onConfirm(data.id);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:documents.revoke-confirmation.title')}\n                    message={t('common:documents.revoke-confirmation.description', {\n                        document: dictDocument?.name,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default RevokeDocumentsConfirmation;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TrailerFiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { createJsonParams } from 'common/utils/query';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { CommonSidebarDataT, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { TrailerFiltersSidebarDataT } from './models';\nimport { useQueryParam } from 'use-query-params';\nimport { QueryFiltersT, QueryKeysEnum } from 'common/layouts/TrailersPageLayout/query-models';\nimport { CarrierContractStatusEnum, TrailerStatusEnum } from 'common/utils/api/models';\nimport TrailerStatusMultipleDropdown from 'common/components/dropdowns/TrailerStatusMultipleDropdown/TrailerStatusMultipleDropdown';\nimport CountryMultipleDropdown from 'common/components/dropdowns/CountryMultipleDropdown/CountryMultipleDropdown';\nimport DictTrailerMultipleDropdown from 'common/components/dropdowns/DictTrailerMultipleDropdown/DictTrailerMultipleDropdown';\nimport UserMultipleDropdown from 'common/components/dropdowns/UserMultipleDropdown/UserMultipleDropdown';\nimport ContractMultipleDropdown from 'common/components/dropdowns/ContractMultipleDropdown/ContractMultipleDropdown';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<TrailerFiltersSidebarDataT, CommonSidebarDataT>;\n\nconst TRAILER_EXCLUDE_STATUSES: Array<TrailerStatusEnum> = [TrailerStatusEnum.archived];\n\nconst EXCLUDED_STATUSES_SET = new Set([\n    CarrierContractStatusEnum.waitingForApprove,\n    CarrierContractStatusEnum.rejected,\n]);\n\nconst TrailerFiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose } = props;\n    const { t } = useTranslation();\n\n    const { partnerId } = usePartnerContext();\n\n    const [queryFilters, setQueryFilters] = useQueryParam<QueryFiltersT>(\n        QueryKeysEnum.trailersFilters,\n        createJsonParams<QueryFiltersT>({}),\n    );\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const queryFilters = getQueryFilters(values);\n            setQueryFilters(queryFilters);\n\n            formikHelpers.setTouched({});\n\n            if (onClose) {\n                onClose();\n            }\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values);\n    }, [initialValues, formik.values]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('common:trailers-page.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--type')}\n                        name={FieldsEnum.dictTrailerTypeId}\n                        error={formik.errors[FieldsEnum.dictTrailerTypeId]}\n                        meta={formik.getFieldMeta(FieldsEnum.dictTrailerTypeId)}\n                        label={t('common:trailers-page.filters.fields.trailer-type.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DictTrailerMultipleDropdown\n                                values={formik.values[FieldsEnum.dictTrailerTypeId]}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                                isShortLabel\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--status')}\n                        name={FieldsEnum.status}\n                        error={formik.errors[FieldsEnum.status]}\n                        meta={formik.getFieldMeta(FieldsEnum.status)}\n                        label={t('common:trailers-page.filters.fields.status.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <TrailerStatusMultipleDropdown\n                                excludeStatuses={TRAILER_EXCLUDE_STATUSES}\n                                value={formik.values[FieldsEnum.status]}\n                                onChange={props.onChange}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--plate-number')}\n                        name={FieldsEnum.plateNumber}\n                        label={t('common:trailers-page.filters.fields.plate-number.label')}\n                        error={formik.errors[FieldsEnum.plateNumber]}\n                        meta={formik.getFieldMeta(FieldsEnum.plateNumber)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.plateNumber}\n                                value={formik.values[FieldsEnum.plateNumber]}\n                                placeholder={t('common:trailers-page.filters.fields.plate-number.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field--country')}\n                        name={FieldsEnum.country}\n                        error={formik.errors[FieldsEnum.country]}\n                        meta={formik.getFieldMeta(FieldsEnum.country)}\n                        label={t('common:trailers-page.filters.fields.country.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryMultipleDropdown\n                                values={formik.values[FieldsEnum.country]}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--date')}\n                        name={FieldsEnum.lastTelematicUpdateDates}\n                        error={formik.errors[FieldsEnum.lastTelematicUpdateDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.lastTelematicUpdateDates)}\n                        label={t('common:trailers-page.filters.fields.telematic-update-dates.label')}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {t('common:trailers-page.filters.fields.telematic-update-dates.tooltip')}\n                            </TooltipContent>\n                        }\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.lastTelematicUpdateDates]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--contract')}\n                        name={FieldsEnum.contractId}\n                        error={formik.errors[FieldsEnum.contractId]}\n                        meta={formik.getFieldMeta(FieldsEnum.contractId)}\n                        label={t('common:trailers-page.filters.fields.contract.label')}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {t('common:trailers-page.filters.fields.contract.tooltip')}\n                            </TooltipContent>\n                        }\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <ContractMultipleDropdown\n                                hasNoneOption\n                                values={formik.values[FieldsEnum.contractId]}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                onChange={(values, labels) => {\n                                    props.onChange(values);\n                                    formik.setFieldValue(FieldsEnum.contractName, labels);\n                                }}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                companyId={partnerId}\n                                hasClearControl\n                                excludedStatusesSet={EXCLUDED_STATUSES_SET}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--date')}\n                        name={FieldsEnum.createDates}\n                        error={formik.errors[FieldsEnum.createDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.createDates)}\n                        label={t('common:trailers-page.filters.fields.creation-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.createDates]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--user')}\n                        name={FieldsEnum.createdByUserId}\n                        error={formik.errors[FieldsEnum.createdByUserId]}\n                        meta={formik.getFieldMeta(FieldsEnum.createdByUserId)}\n                        label={t('common:trailers-page.filters.fields.creation-user.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <UserMultipleDropdown\n                                companyId={partnerId}\n                                initialValues={formik.values[FieldsEnum.createdByUserId]}\n                                initialLabels={formik.values[FieldsEnum.createdByUserName]}\n                                values={formik.values[FieldsEnum.createdByUserId]}\n                                onSelect={(userId, userName) => {\n                                    props.onChange(userId);\n                                    formik.setFieldValue(FieldsEnum.createdByUserName, userName);\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                                isShowAllBrokerUsersOption\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--date')}\n                        name={FieldsEnum.lastModifyDates}\n                        error={formik.errors[FieldsEnum.lastModifyDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.lastModifyDates)}\n                        label={t('common:trailers-page.filters.fields.last-modify-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.lastModifyDates]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--user')}\n                        name={FieldsEnum.lastModifyByUserId}\n                        error={formik.errors[FieldsEnum.lastModifyByUserId]}\n                        meta={formik.getFieldMeta(FieldsEnum.lastModifyByUserId)}\n                        label={t('common:trailers-page.filters.fields.last-modify-user.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <UserMultipleDropdown\n                                companyId={partnerId}\n                                initialValues={formik.values[FieldsEnum.lastModifyByUserId]}\n                                initialLabels={formik.values[FieldsEnum.lastModifyByUserName]}\n                                values={formik.values[FieldsEnum.lastModifyByUserId]}\n                                onSelect={(userId, userName) => {\n                                    props.onChange(userId);\n                                    formik.setFieldValue(FieldsEnum.lastModifyByUserName, userName);\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                                isShowAllBrokerUsersOption\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n            </SideBarLayout>\n            <FooterSideBarLayout hasPaddings>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('common:trailers-page.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default TrailerFiltersSidebarContent;\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { useTranslation } from 'react-i18next';\nimport { clientConfig } from 'common/utils/client-config';\n\ntype PropsT = {\n    fullName: ReactNode;\n    userId: UserIdT | null | undefined;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser: boolean) => void;\n    byBroker?: boolean;\n};\n\nconst UserLinkFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { fullName, userId, onOpenUserDetails, byBroker } = props;\n\n    const { t } = useTranslation();\n\n    if (byBroker && !clientConfig.isBrokerProject) {\n        return <div>{t('common:broker-name')}</div>;\n    }\n\n    if (!userId) {\n        return null;\n    }\n\n    return (\n        <Link\n            onClick={() => {\n                onOpenUserDetails(userId, !!byBroker);\n            }}\n            theme={LinkThemeEnum.boldBrandDark}\n        >\n            {fullName}\n        </Link>\n    );\n});\n\nexport default UserLinkFormatter;\n","export enum FieldsEnum {\n    driverId = 'driverId',\n    teamDriverId = 'teamDriverId',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.driverId]: DriverIdT | null;\n    [FieldsEnum.teamDriverId]: DriverIdT | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\nimport { ApiRFQStatusT, RFQStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiRFQStatusT | null | undefined;\n};\n\nexport const RFQ_STATUS_T_MAP: Record<ApiRFQStatusT, string> = {\n    [RFQStatusEnum.open]: 'common:rfq-status.OPEN',\n    [RFQStatusEnum.expireSoon]: 'common:rfq-status.EXPIRE_SOON',\n    [RFQStatusEnum.expired]: 'common:rfq-status.EXPIRED',\n    [RFQStatusEnum.completed]: 'common:rfq-status.COMPLETED',\n    [RFQStatusEnum.closed]: 'common:rfq-status.CLOSED',\n};\n\nconst RFQStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(RFQ_STATUS_T_MAP[status]);\n});\n\nexport default RFQStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"WarningIndicatorCell__fadeIn___Ixygv\",\"blinking\":\"WarningIndicatorCell__blinking___fKoj8\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RFQStats.scss';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport moment from 'moment/moment';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchRFQStats, resetRFQStats } from 'broker-admin/store/partner/rfq-stats/actions';\nimport { selectCompanyDocumentsGroup, selectRFQStatsRequest } from 'broker-admin/store/partner/rfq-stats/selectors';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { logWarning } from 'common/utils/logger';\n\ntype PropsT = {};\n\nconst cx = classNames.bind(styles);\n\nconst DATE_FORMAT = 'YYYY-MM-DD';\n\nconst TODAY = moment().format();\n\nconst RFQStats: React.FC<PropsT> = React.memo(() => {\n    const dispatch = useDispatch();\n\n    const { partnerId } = usePartnerContext();\n\n    const requestStatus = useSelector(selectRFQStatsRequest);\n\n    const partnerRFQStats = useSelector(selectCompanyDocumentsGroup(partnerId));\n\n    const [dates, setDates] = React.useState<DateRangeT | null>(() => {\n        const { query } = partnerRFQStats;\n\n        const queryFrom = query?.fromDate;\n        const queryTo = query?.toDate;\n        if (queryFrom && queryTo) {\n            const parsedFrom = moment(queryFrom, DATE_FORMAT);\n            const parsedTo = moment(queryTo, DATE_FORMAT);\n\n            if (parsedFrom.isValid() && parsedTo.isValid() && parsedTo.isAfter(parsedFrom)) {\n                return {\n                    from: parsedFrom.toDate(),\n                    to: moment(queryTo, DATE_FORMAT).toDate(),\n                };\n            }\n        }\n\n        const defaultDateTo = moment().toDate();\n        const defaultDateFrom = moment().subtract(1, 'month').toDate();\n\n        return {\n            from: defaultDateFrom,\n            to: defaultDateTo,\n        };\n    });\n\n    React.useEffect(() => {\n        return () => {\n            dispatch(resetRFQStats());\n        };\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        if (!dates) {\n            return;\n        }\n\n        if (!partnerId) {\n            logWarning('Empty partnerId or dates in RFQStats useEffect');\n            return;\n        }\n\n        const { from, to } = dates;\n        if (!from || !to || !partnerId) {\n            return;\n        }\n\n        dispatch(\n            fetchRFQStats({\n                companyId: partnerId,\n                fromDate: moment(from).format(DATE_FORMAT),\n                toDate: moment(to).format(DATE_FORMAT),\n            }),\n        );\n    }, [dispatch, partnerId, dates]);\n\n    return (\n        <form\n            className={cx('form')}\n            onSubmit={(event) => {\n                // enter interceptor\n                event.stopPropagation();\n                event.preventDefault();\n            }}\n        >\n            <DatePicker\n                isRange\n                className={cx('dates')}\n                inputClassName={cx('input-dates')}\n                value={dates}\n                maxDate={TODAY}\n                hasYearMonthForm\n                onChange={setDates}\n                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n            />\n            <PillLabel className={cx('pill')} isRounded isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                {requestStatus?.loading ? (\n                    <ControlLoaderIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />\n                ) : (\n                    <span className={cx('count')}>{partnerRFQStats.stats?.count}</span>\n                )}\n            </PillLabel>\n        </form>\n    );\n});\n\nexport default RFQStats;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './DocumentMessage.scss';\n\ntype PropsT = {\n    icon?: React.ReactNode;\n    title?: React.ReactNode;\n    description?: React.ReactNode;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DocumentMessage: React.FC<PropsT> = React.memo((props) => {\n    const { icon, title, description } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <div className={cx('icon')}>{icon}</div>\n            <div className={cx('title')}>{title}</div>\n            <div className={cx('description')}>{description}</div>\n        </div>\n    );\n});\n\nexport default DocumentMessage;\n","import * as React from 'react';\nimport { NotificationToastRendererT } from 'common/components/toasts/NotificationToastsManager/models';\nimport {\n    NotificationLinkFactoryT,\n    NotificationRendererT,\n} from 'common/components/notifications/NotificationsBarContent/models';\nimport StatusChangedCard from 'common/components/notification-cards/StatusChangedCard/StatusChangedCard';\nimport { NotificationActionEnum, NotificationEmotionEnum } from 'common/store/notifications/models';\nimport OrderColoredStatus from 'common/components/status-colored/OrderColoredStatus/OrderColoredStatus';\nimport {\n    ApiNotificationAlertLevelT,\n    PartnerTypeEnum,\n    ShipmentStatusEnum,\n    SubjectTypeEnum,\n} from 'common/utils/api/models';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport TransportOrderColoredStatus from 'common/components/status-colored/TransportOrderColoredStatus/TransportOrderColoredStatus';\nimport ShipmentColoredStatus from 'common/components/status-colored/ShipmentColoredStatus/ShipmentColoredStatus';\nimport {\n    EMOTION_LOAD_STATUS_MAP,\n    EMOTION_ORDER_STATUS_MAP,\n    EMOTION_TOUR_STATUS_MAP,\n    EMOTION_TRANSPORTATION_STATUS_MAP,\n} from 'common/components/toasts/utils';\nimport TourColoredStatus from 'common/components/status-colored/TourColoredStatus/TourColoredStatus';\nimport { AlertToastRendererT } from 'common/components/toasts/AlertToastsManager/models';\nimport { AnyAlert } from 'common/store/alerts/models';\nimport { BrokerAlertTypeEnum, BrokerAnyAlert } from './models';\nimport { AlertThemeEnum } from 'common/components/Alert/Alert';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport SpotRequestStatusCard from 'common/components/notification-cards/SpotRequestStatusCard/SpotRequestStatusCard';\nimport SpotBidStatusCard from 'common/components/notification-cards/SpotBidStatusCard/SpotBidStatusCard';\nimport ExpiredPartnerDocumentCard from 'broker-admin/components/notification-cards/ExpiredPartnerDocumentCard/ExpiredPartnerDocumentCard';\nimport ExpireSoonPartnerDocumentCard from 'broker-admin/components/notification-cards/ExpireSoonPartnerDocumentCard/ExpireSoonPartnerDocumentCard';\nimport UpdatedPartnerDocumentCard from 'broker-admin/components/notification-cards/UpdatedPartnerDocumentCard/UpdatedPartnerDocumentCard';\nimport RevokedPartnerDocumentCard from 'broker-admin/components/notification-cards/RevokedPartnerDocumentCard/RevokedPartnerDocumentCard';\nimport RevokedPartnerShipperContractCard from 'broker-admin/components/notification-cards/RevokedPartnerShipperContractCard/RevokedPartnerShipperContractCard';\nimport ExpiredPartnerShipperContractCard from 'broker-admin/components/notification-cards/ExpiredPartnerShipperContractCard/ExpiredPartnerShipperContractCard';\nimport ExpireSoonPartnerShipperContractCard from 'broker-admin/components/notification-cards/ExpireSoonPartnerShipperContractCard/ExpireSoonPartnerShipperContractCard';\nimport UpdatedPartnerCarrierContractCard from 'broker-admin/components/notification-cards/UpdatedPartnerCarrierContractCard/UpdatedPartnerCarrierContractCard';\nimport RevokedPartnerCarrierContractCard from 'broker-admin/components/notification-cards/RevokedPartnerCarrierContractCard/RevokedPartnerCarrierContractCard';\nimport ExpiredPartnerCarrierContractCard from 'broker-admin/components/notification-cards/ExpiredPartnerCarrierContractCard/ExpiredPartnerCarrierContractCard';\nimport ExpireSoonPartnerCarrierContractCard from 'broker-admin/components/notification-cards/ExpireSoonPartnerCarrierContractCard/ExpireSoonPartnerCarrierContractCard';\nimport UpdatedPartnerShipperContractCard from 'broker-admin/components/notification-cards/UpdatedPartnerShipperContractCard/UpdatedPartnerShipperContractCard';\nimport RunningOutOfTimeAssignAssetsCard from 'common/components/notification-cards/RunningOutOfTimeAssignAssetsCard/RunningOutOfTimeAssignAssetsCard';\nimport RunOutOfTimeAssignAssetsCard from 'common/components/notification-cards/RunOutOfTimeAssignAssetsCard/RunOutOfTimeAssignAssetsCard';\nimport RunningOutOfTimeAssignDriversCard from 'common/components/notification-cards/RunningOutOfTimeAssignDriversCard/RunningOutOfTimeAssignDriversCard';\nimport RunOutOfTimeAssignDriversCard from 'common/components/notification-cards/RunOutOfTimeAssignDriversCard/RunOutOfTimeAssignDriversCard';\nimport CompletedPartnerDocumentCard from 'broker-admin/components/notification-cards/CompletedPartnerDocumentCard/CompletedPartnerDocumentCard';\nimport CompletedPartnerShipperContractCard from 'broker-admin/components/notification-cards/CompletedPartnerShipperContractCard/CompletedPartnerShipperContractCard';\nimport CompletedPartnerCarrierContractCard from '../notification-cards/CompletedPartnerCarrierContractCard/CompletedPartnerCarrierContractCard';\nimport UpdatedPartnerShipperLaneContractCard from '../notification-cards/UpdatedPartnerShipperLaneContractCard/UpdatedPartnerShipperLaneContractCard';\nimport RevokedPartnerShipperLaneContractCard from '../notification-cards/RevokedPartnerShipperLaneContractCard/RevokedPartnerShipperLaneContractCard';\nimport ExpiredPartnerShipperLaneContractCard from '../notification-cards/ExpiredPartnerShipperLaneContractCard/ExpiredPartnerShipperLaneContractCard';\nimport CompletedPartnerShipperLaneContractCard from '../notification-cards/CompletedPartnerShipperLaneContractCard/CompletedPartnerShipperLaneContractCard';\nimport ExpireSoonPartnerShipperLaneContractCard from '../notification-cards/ExpireSoonPartnerShipperLaneContractCard/ExpireSoonPartnerShipperLaneContractCard';\nimport TransportationOrderMileagAndPaymentChangedCard from 'broker-admin/components/notification-cards/TransportationOrderMileagAndPaymentChangedCard/TransportationOrderMileagAndPaymentChangedCard';\nimport RunningOutOfTimeAssignCarrierCard from 'broker-admin/components/notification-cards/RunningOutOfTimeAssignCarrierCard/RunningOutOfTimeAssignCarrierCard';\nimport RunOutOfTimeAssignCarrierCard from '../notification-cards/RunOutOfTimeAssignCarrierCard/RunOutOfTimeAssignCarrierCard';\nimport TourDelayingCard from 'broker-admin/components/notification-cards/TourDelayingCard/TourDelayingCard';\nimport ShipmentMissedCard from 'common/components/notification-cards/ShipmentMissedCard/ShipmentMissedCard';\nimport ShipmentNoShowCard from 'common/components/notification-cards/ShipmentNoShowCard/ShipmentNoShowCard';\nimport ShipmentCanceledCard from 'common/components/notification-cards/ShipmentCanceledCard/ShipmentCanceledCard';\nimport InvitedToTeamCard from 'broker-admin/components/notification-cards/InvitedToTeamCard/InvitedToTeamCard';\nimport RemovedFromTeamCard from 'broker-admin/components/notification-cards/RemovedFromTeamCard/RemovedFromTeamCard';\nimport OrderEditedCard from 'common/components/notification-cards/OrderEditedCard/OrderEditedCard';\nimport TransportationOrderDeclinedCard from 'broker-admin/components/notification-cards/TransportationOrderDeclinedCard/TransportationOrderDeclinedCard';\nimport AddressVerificationCard from 'broker-admin/components/notification-cards/AddressVerificationCard/AddressVerificationCard';\nimport BusinessPartnerProfileUpdatedCard from 'broker-admin/components/notification-cards/BusinessPartnerProfileUpdatedCard/BusinessPartnerProfileUpdatedCard';\nimport { notificationEmotionMapByAlertLevel } from 'common/store/notifications/constants';\nimport {\n    renderAttentionCaseNotificationToastIcon,\n    renderAttentionPadNotificationToastIcon,\n    renderDefaultNotificationToastIcon,\n    renderExpiredNotificationToastIcon,\n    renderLoadStatusNotificationToastIcon,\n    renderNewNotificationToastIcon,\n    renderOrderStatusNotificationToastIcon,\n    renderTourStatusNotificationToastIcon,\n    renderTransportationStatusNotificationToastIcon,\n} from 'common/components/toasts/icons';\nimport { logWarning } from 'common/utils/logger';\n\nconst getAlertLevelOrFallback = <T extends { alertLevel?: ApiNotificationAlertLevelT }>(\n    notification: T,\n    fallback: NotificationEmotionEnum,\n): NotificationEmotionEnum => {\n    if (!notification.alertLevel) {\n        return fallback;\n    }\n\n    return notificationEmotionMapByAlertLevel[notification.alertLevel];\n};\n\nexport const renderNotificationToast: NotificationToastRendererT = (notification) => {\n    switch (notification.action) {\n        case NotificationActionEnum.SHIPMENT_MISSED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <ShipmentMissedCard\n                        orderNumber={data.orderNumber}\n                        shipmentNumber={data.shipmentNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.SHIPMENT_NO_SHOW: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <ShipmentNoShowCard\n                        orderNumber={data.orderNumber}\n                        shipmentNumber={data.shipmentNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.SHIPMENT_CANCELED: {\n            const { data } = notification;\n\n            return {\n                icon:\n                    renderDefaultNotificationToastIcon(notification.alertLevel) ||\n                    renderLoadStatusNotificationToastIcon(ShipmentStatusEnum.canceled),\n                text: (\n                    <ShipmentCanceledCard\n                        orderNumber={data.orderNumber}\n                        shipmentNumber={data.shipmentNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.SHIPMENT_STATUS_CHANGED: {\n            const { data } = notification;\n\n            return {\n                icon:\n                    renderDefaultNotificationToastIcon(notification.alertLevel) ||\n                    renderLoadStatusNotificationToastIcon(data.status),\n                text: (\n                    <StatusChangedCard\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                        actionType={SubjectTypeEnum.shipment}\n                        actionStatus={<ShipmentColoredStatus status={data.status} />}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.ORDER_STATUS_CHANGED: {\n            const { data } = notification;\n\n            return {\n                icon:\n                    renderDefaultNotificationToastIcon(notification.alertLevel) ||\n                    renderOrderStatusNotificationToastIcon(data.status),\n                text: (\n                    <StatusChangedCard\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                        actionType={SubjectTypeEnum.order}\n                        actionStatus={<OrderColoredStatus status={data.status} />}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.ORDER_EDITED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <OrderEditedCard\n                        orderNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TOUR_STATUS_CHANGED: {\n            const { data } = notification;\n\n            return {\n                icon:\n                    renderDefaultNotificationToastIcon(notification.alertLevel) ||\n                    renderTourStatusNotificationToastIcon(data.status),\n                text: (\n                    <StatusChangedCard\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                        actionType={SubjectTypeEnum.tour}\n                        actionStatus={<TourColoredStatus status={data.status} />}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS: {\n            const { data } = notification;\n            const isRunOut = Boolean(data.runOutOfTimeToAssignAssets);\n            const isRunningOut = Boolean(data.runningOutOfTimeToAssignAssets);\n\n            if (!isRunOut && !isRunningOut) {\n                logWarning(`Empty run out of time flags for notification`, { notification });\n            }\n\n            const Card = isRunOut ? RunOutOfTimeAssignAssetsCard : RunningOutOfTimeAssignAssetsCard;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <Card\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER: {\n            const { data } = notification;\n            const isRunOut = Boolean(data.runOutOfTimeToAssignDriver);\n            const isRunningOut = Boolean(data.runningOutOfTimeToAssignDriver);\n\n            if (!isRunOut && !isRunningOut) {\n                logWarning(`Empty run out of time flags for notification`, { notification });\n            }\n\n            const Card = isRunOut ? RunOutOfTimeAssignDriversCard : RunningOutOfTimeAssignDriversCard;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <Card\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TRANSPORTATION_ORDER_STATUS_CHANGED: {\n            const { data } = notification;\n\n            if (data.declined) {\n                return {\n                    icon: renderDefaultNotificationToastIcon(notification.alertLevel),\n                    text: (\n                        <TransportationOrderDeclinedCard\n                            transportationOrderNumber={data.transportationOrderNumber || ''}\n                            orderNumber={data.orderNumber || ''}\n                            cityFrom={data.cityFrom}\n                            cityTo={data.cityTo}\n                            carrierName={data.carrierName || ''}\n                        />\n                    ),\n                };\n            }\n\n            return {\n                icon:\n                    renderDefaultNotificationToastIcon(notification.alertLevel) ||\n                    renderTransportationStatusNotificationToastIcon(data.status),\n                text: (\n                    <StatusChangedCard\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                        actionType={SubjectTypeEnum.transportationOrder}\n                        actionStatus={<TransportOrderColoredStatus status={data.status} />}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <TransportationOrderMileagAndPaymentChangedCard\n                        number={data.orderNumber || ''}\n                        cityA={data.cityFrom}\n                        cityB={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <RunningOutOfTimeAssignCarrierCard\n                        subjectNumber={data.orderNumber || ''}\n                        originCity={data.cityFrom || ''}\n                        destinationCity={data.cityTo || ''}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <RunOutOfTimeAssignCarrierCard\n                        subjectNumber={data.orderNumber || ''}\n                        originCity={data.cityFrom || ''}\n                        destinationCity={data.cityTo || ''}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TOUR_DELAYING: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'WARNING'),\n                text: (\n                    <TourDelayingCard\n                        orderNumber={data.orderNumber || ''}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SPOT_PLACED: {\n            const { data } = notification;\n\n            return {\n                icon: renderNewNotificationToastIcon(notification.alertLevel),\n                text: (\n                    <SpotRequestStatusCard\n                        type=\"new\"\n                        fromLocation={data.cityFrom}\n                        toLocation={data.cityTo}\n                        spotRequestNumber={data.spotNumber}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SPOT_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: (\n                    <SpotRequestStatusCard\n                        type=\"expired\"\n                        fromLocation={data.cityFrom}\n                        toLocation={data.cityTo}\n                        spotRequestNumber={data.spotNumber}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SPOT_BID_ACCEPTED:\n        case NotificationActionEnum.SPOT_BID_PLACED: {\n            const { data } = notification;\n\n            return {\n                icon: renderNewNotificationToastIcon(notification.alertLevel),\n                text: (\n                    <SpotBidStatusCard\n                        type=\"new\"\n                        fromLocation={data.cityFrom}\n                        toLocation={data.cityTo}\n                        spotRequestNumber={data.spotNumber}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SPOT_BID_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: (\n                    <SpotBidStatusCard\n                        type=\"expired\"\n                        fromLocation={data.cityFrom}\n                        toLocation={data.cityTo}\n                        spotRequestNumber={data.spotNumber}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.DOCUMENT_UPDATED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'POSITIVE'),\n                text: (\n                    <UpdatedPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.DOCUMENT_REVOKED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <RevokedPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.DOCUMENT_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: (\n                    <ExpiredPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_COMPLETED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: (\n                    <CompletedPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.DOCUMENT_EXPIRATION_SOON: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: (\n                    <ExpireSoonPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SHIPPER_CONTRACT_UPDATED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'POSITIVE'),\n                text: <UpdatedPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_REVOKED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: <RevokedPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: <ExpiredPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_COMPLETED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: <CompletedPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_EXPIRATION_SOON: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: <ExpireSoonPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPDATED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'POSITIVE'),\n                text: <UpdatedPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_REVOKED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: <RevokedPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: <ExpiredPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_COMPLETED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: <CompletedPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRATION_SOON: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: <ExpireSoonPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n\n        case NotificationActionEnum.CARRIER_CONTRACT_UPDATED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'POSITIVE'),\n                text: <UpdatedPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_REVOKED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: <RevokedPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: <ExpiredPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_EXPIRATION_SOON: {\n            const { data } = notification;\n\n            return {\n                icon: renderExpiredNotificationToastIcon(notification.alertLevel),\n                text: <ExpireSoonPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_COMPLETED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: <CompletedPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.TEAM_REMOVED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: <RemovedFromTeamCard teamName={data.teamName || ''} />,\n            };\n        }\n        case NotificationActionEnum.TEAM_USER_ADDED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel),\n                text: <InvitedToTeamCard teamName={data.teamName || ''} />,\n            };\n        }\n        case NotificationActionEnum.TEAM_USER_REMOVED: {\n            const { data } = notification;\n\n            return {\n                icon: renderDefaultNotificationToastIcon(notification?.alertLevel || 'ATTENTION'),\n                text: <RemovedFromTeamCard teamName={data.teamName || ''} />,\n            };\n        }\n        case NotificationActionEnum.BUSINESS_PARTNER_ADDRESS_VERIFICATION: {\n            const { data } = notification;\n\n            return {\n                icon: renderAttentionPadNotificationToastIcon(notification.alertLevel),\n                text: <AddressVerificationCard addressType={data.addressType} verified={data.verified ?? false} />,\n            };\n        }\n        case NotificationActionEnum.BROKER_BUSINESS_PARTNER_UPDATED: {\n            const { data } = notification;\n\n            return {\n                icon: renderAttentionCaseNotificationToastIcon(notification.alertLevel),\n                text: (\n                    <BusinessPartnerProfileUpdatedCard\n                        companyName={data.companyName}\n                        updatedFields={data.updatedFields}\n                        requiredToCheckProfile={data.requiredToCheckProfile}\n                    />\n                ),\n            };\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const renderNotification: NotificationRendererT = (notification) => {\n    switch (notification.action) {\n        case NotificationActionEnum.SHIPMENT_MISSED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: (\n                    <ShipmentMissedCard\n                        orderNumber={data.orderNumber}\n                        shipmentNumber={data.shipmentNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.SHIPMENT_NO_SHOW: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: (\n                    <ShipmentNoShowCard\n                        orderNumber={data.orderNumber}\n                        shipmentNumber={data.shipmentNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.SHIPMENT_CANCELED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, EMOTION_LOAD_STATUS_MAP[ShipmentStatusEnum.canceled]),\n                text: (\n                    <ShipmentCanceledCard\n                        orderNumber={data.orderNumber}\n                        shipmentNumber={data.shipmentNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.SHIPMENT_STATUS_CHANGED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(\n                    notification,\n                    data.status ? EMOTION_LOAD_STATUS_MAP[data.status] : NotificationEmotionEnum.neutral,\n                ),\n                text: (\n                    <StatusChangedCard\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                        actionType={SubjectTypeEnum.shipment}\n                        actionStatus={<ShipmentColoredStatus status={data.status} />}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.ORDER_STATUS_CHANGED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(\n                    notification,\n                    data.status ? EMOTION_ORDER_STATUS_MAP[data.status] : NotificationEmotionEnum.neutral,\n                ),\n                text: (\n                    <StatusChangedCard\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                        actionType={SubjectTypeEnum.order}\n                        actionStatus={<OrderColoredStatus status={data.status} />}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.ORDER_EDITED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: (\n                    <OrderEditedCard\n                        orderNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TOUR_STATUS_CHANGED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(\n                    notification,\n                    data.status ? EMOTION_TOUR_STATUS_MAP[data.status] : NotificationEmotionEnum.neutral,\n                ),\n                text: (\n                    <StatusChangedCard\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                        actionType={SubjectTypeEnum.tour}\n                        actionStatus={<TourColoredStatus status={data.status} />}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS: {\n            const { data } = notification;\n            const isRunOut = Boolean(data.runOutOfTimeToAssignAssets);\n            const isRunningOut = Boolean(data.runningOutOfTimeToAssignAssets);\n\n            if (!isRunOut && !isRunningOut) {\n                logWarning(`Empty run out of time flags for notification`, { notification });\n            }\n\n            const Card = isRunOut ? RunOutOfTimeAssignAssetsCard : RunningOutOfTimeAssignAssetsCard;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.neutral),\n                text: (\n                    <Card\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER: {\n            const { data } = notification;\n            const isRunOut = Boolean(data.runOutOfTimeToAssignDriver);\n            const isRunningOut = Boolean(data.runningOutOfTimeToAssignDriver);\n\n            if (!isRunOut && !isRunningOut) {\n                logWarning(`Empty run out of time flags for notification`, { notification });\n            }\n\n            const Card = isRunOut ? RunOutOfTimeAssignDriversCard : RunningOutOfTimeAssignDriversCard;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.neutral),\n                text: (\n                    <Card\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: (\n                    <RunningOutOfTimeAssignCarrierCard\n                        subjectNumber={data.orderNumber || ''}\n                        originCity={data.cityFrom || ''}\n                        destinationCity={data.cityTo || ''}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: (\n                    <RunOutOfTimeAssignCarrierCard\n                        subjectNumber={data.orderNumber || ''}\n                        originCity={data.cityFrom || ''}\n                        destinationCity={data.cityTo || ''}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TOUR_DELAYING: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: (\n                    <TourDelayingCard\n                        orderNumber={data.orderNumber || ''}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TRANSPORTATION_ORDER_STATUS_CHANGED: {\n            const { data } = notification;\n\n            if (data.declined) {\n                return {\n                    emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                    text: (\n                        <TransportationOrderDeclinedCard\n                            transportationOrderNumber={data.transportationOrderNumber || ''}\n                            orderNumber={data.orderNumber || ''}\n                            cityFrom={data.cityFrom}\n                            cityTo={data.cityTo}\n                            carrierName={data.carrierName || ''}\n                        />\n                    ),\n                };\n            }\n\n            const emotionStatus = data.status\n                ? EMOTION_TRANSPORTATION_STATUS_MAP[data.status]\n                : NotificationEmotionEnum.neutral;\n            return {\n                emotion: getAlertLevelOrFallback(notification, emotionStatus),\n                text: (\n                    <StatusChangedCard\n                        subjectType={SubjectTypeEnum.order}\n                        subjectNumber={data.orderNumber}\n                        originCity={data.cityFrom}\n                        destinationCity={data.cityTo}\n                        actionType={SubjectTypeEnum.transportationOrder}\n                        actionStatus={<TransportOrderColoredStatus status={data.status} />}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: (\n                    <TransportationOrderMileagAndPaymentChangedCard\n                        number={data.orderNumber || ''}\n                        cityA={data.cityFrom}\n                        cityB={data.cityTo}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SPOT_PLACED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.neutral),\n                text: (\n                    <SpotRequestStatusCard\n                        type=\"new\"\n                        fromLocation={data.cityFrom}\n                        toLocation={data.cityTo}\n                        spotRequestNumber={data.spotNumber}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SPOT_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: (\n                    <SpotRequestStatusCard\n                        type=\"expired\"\n                        fromLocation={data.cityFrom}\n                        toLocation={data.cityTo}\n                        spotRequestNumber={data.spotNumber}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SPOT_BID_ACCEPTED:\n        case NotificationActionEnum.SPOT_BID_PLACED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.neutral),\n                text: (\n                    <SpotBidStatusCard\n                        type=\"new\"\n                        fromLocation={data.cityFrom}\n                        toLocation={data.cityTo}\n                        spotRequestNumber={data.spotNumber}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SPOT_BID_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: (\n                    <SpotBidStatusCard\n                        type=\"expired\"\n                        fromLocation={data.cityFrom}\n                        toLocation={data.cityTo}\n                        spotRequestNumber={data.spotNumber}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.DOCUMENT_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: (\n                    <ExpiredPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_UPDATED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.positive),\n                text: (\n                    <UpdatedPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_REVOKED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: (\n                    <RevokedPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_COMPLETED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: (\n                    <CompletedPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_EXPIRATION_SOON: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: (\n                    <ExpireSoonPartnerDocumentCard\n                        partnerName={data.companyName || ''}\n                        partnerType={data.companyType || null}\n                        documentType={data.documentType}\n                    />\n                ),\n            };\n        }\n\n        case NotificationActionEnum.SHIPPER_CONTRACT_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <ExpiredPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_UPDATED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.positive),\n                text: <UpdatedPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_REVOKED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <RevokedPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_EXPIRATION_SOON: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <ExpireSoonPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_COMPLETED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: <CompletedPartnerShipperContractCard contractName={data.contractName || ''} />,\n            };\n        }\n\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <ExpiredPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPDATED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.positive),\n                text: <UpdatedPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_REVOKED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <RevokedPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRATION_SOON: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <ExpireSoonPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_COMPLETED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: <CompletedPartnerShipperLaneContractCard id={data.tztLaneId || ''} />,\n            };\n        }\n\n        case NotificationActionEnum.CARRIER_CONTRACT_EXPIRED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <ExpiredPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_UPDATED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.positive),\n                text: <UpdatedPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_REVOKED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <RevokedPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_EXPIRATION_SOON: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.negative),\n                text: <ExpireSoonPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_COMPLETED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: <CompletedPartnerCarrierContractCard contractName={data.contractName || ''} />,\n            };\n        }\n        case NotificationActionEnum.TEAM_REMOVED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: <RemovedFromTeamCard teamName={data.teamName || ''} />,\n            };\n        }\n        case NotificationActionEnum.TEAM_USER_ADDED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.neutral),\n                text: <InvitedToTeamCard teamName={data.teamName || ''} />,\n            };\n        }\n        case NotificationActionEnum.TEAM_USER_REMOVED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: <RemovedFromTeamCard teamName={data.teamName || ''} />,\n            };\n        }\n        case NotificationActionEnum.BUSINESS_PARTNER_ADDRESS_VERIFICATION: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: <AddressVerificationCard addressType={data.addressType} verified={data.verified ?? false} />,\n            };\n        }\n        case NotificationActionEnum.BROKER_BUSINESS_PARTNER_UPDATED: {\n            const { data } = notification;\n\n            return {\n                emotion: getAlertLevelOrFallback(notification, NotificationEmotionEnum.attention),\n                text: (\n                    <BusinessPartnerProfileUpdatedCard\n                        companyName={data.companyName}\n                        updatedFields={data.updatedFields}\n                        requiredToCheckProfile={data.requiredToCheckProfile}\n                    />\n                ),\n            };\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const getNotificationLink: NotificationLinkFactoryT = (notification) => {\n    switch (notification.action) {\n        case NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS:\n        case NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER:\n        case NotificationActionEnum.TOUR_STATUS_CHANGED:\n        case NotificationActionEnum.SHIPMENT_MISSED:\n        case NotificationActionEnum.SHIPMENT_NO_SHOW:\n        case NotificationActionEnum.SHIPMENT_CANCELED:\n        case NotificationActionEnum.SHIPMENT_STATUS_CHANGED: {\n            if (!notification.data.orderId) {\n                logWarning(`Empty orderId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.brokerOrderDetails(notification.data.orderId);\n        }\n\n        case NotificationActionEnum.ORDER_STATUS_CHANGED:\n        case NotificationActionEnum.TRANSPORTATION_ORDER_STATUS_CHANGED: {\n            if (!notification.data.orderId) {\n                logWarning(`Empty orderId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.brokerOrderDetails(notification.data.orderId);\n        }\n        case NotificationActionEnum.ORDER_EDITED: {\n            if (!notification.data?.orderId) {\n                logWarning(`Empty orderId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.brokerOrderDetails(notification.data.orderId);\n        }\n        case NotificationActionEnum.TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED: {\n            if (!notification.data.orderId) {\n                logWarning(`Empty orderId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.brokerOrderDetails(notification.data.orderId);\n        }\n\n        case NotificationActionEnum.SPOT_PLACED:\n        case NotificationActionEnum.SPOT_EXPIRED:\n        case NotificationActionEnum.SPOT_BID_PLACED:\n        case NotificationActionEnum.SPOT_BID_ACCEPTED:\n        case NotificationActionEnum.SPOT_BID_EXPIRED: {\n            if (!notification.data.spotId) {\n                logWarning(`Empty spotId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.spotRequestDetails(notification.data.spotId);\n        }\n        case NotificationActionEnum.DOCUMENT_UPLOAD:\n        case NotificationActionEnum.DOCUMENT_EXPIRED:\n        case NotificationActionEnum.DOCUMENT_REVOKED:\n        case NotificationActionEnum.DOCUMENT_UPDATED:\n        case NotificationActionEnum.DOCUMENT_COMPLETED:\n        case NotificationActionEnum.DOCUMENT_EXPIRATION_SOON: {\n            const { documentType, companyType, companyId } = notification.data;\n\n            if (!companyId) {\n                logWarning(`Empty companyId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.partnerDocumentDetails(companyId, companyType as PartnerTypeEnum, documentType);\n        }\n\n        case NotificationActionEnum.SHIPPER_CONTRACT_EXPIRED:\n        case NotificationActionEnum.SHIPPER_CONTRACT_REVOKED:\n        case NotificationActionEnum.SHIPPER_CONTRACT_UPDATED:\n        case NotificationActionEnum.SHIPPER_CONTRACT_COMPLETED:\n        case NotificationActionEnum.SHIPPER_CONTRACT_EXPIRATION_SOON: {\n            const { companyType, companyId } = notification.data;\n\n            if (!companyId) {\n                logWarning(`Empty companyId for notification`, { notification });\n                return null;\n            }\n\n            if (!notification.data.contractId) {\n                logWarning(`Empty contractId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.partnerShipperContactDetails({\n                partnerId: companyId,\n                partnerType: companyType as PartnerTypeEnum,\n                shipperContractId: notification.data.contractId,\n            });\n        }\n\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPLOAD:\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRED:\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_REVOKED:\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPDATED:\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_COMPLETED:\n        case NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRATION_SOON: {\n            const { companyType, companyId, contractId, laneId } = notification.data;\n\n            if (!companyId) {\n                logWarning(`Empty companyId for notification`, { notification });\n                return null;\n            }\n\n            if (!contractId) {\n                logWarning(`Empty contractId for notification`, { notification });\n                return null;\n            }\n\n            if (!laneId) {\n                logWarning(`Empty laneId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.partnerShipperContractLane({\n                partnerId: companyId,\n                partnerType: companyType as PartnerTypeEnum,\n                contractId,\n                laneId,\n            });\n        }\n        case NotificationActionEnum.TEAM_REMOVED: {\n            return null;\n        }\n        case NotificationActionEnum.TEAM_USER_ADDED:\n        case NotificationActionEnum.TEAM_USER_REMOVED: {\n            const { teamId } = notification.data;\n\n            if (!teamId) {\n                logWarning(`Empty teamId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.brokerUsersTeam(teamId);\n        }\n        case NotificationActionEnum.CARRIER_CONTRACT_EXPIRED:\n        case NotificationActionEnum.CARRIER_CONTRACT_REVOKED:\n        case NotificationActionEnum.CARRIER_CONTRACT_UPDATED:\n        case NotificationActionEnum.CARRIER_CONTRACT_COMPLETED:\n        case NotificationActionEnum.CARRIER_CONTRACT_EXPIRATION_SOON: {\n            const { companyType, companyId, contractId } = notification.data;\n\n            if (!companyId) {\n                logWarning(`Empty companyId for notification`, { notification });\n                return null;\n            }\n\n            if (!contractId) {\n                logWarning(`Empty contractId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.partnerCarrierContactDetails(companyId, companyType as PartnerTypeEnum, contractId);\n        }\n\n        case NotificationActionEnum.TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER:\n        case NotificationActionEnum.TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER: {\n            if (!notification.data.orderId) {\n                logWarning(`Empty orderId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.brokerOrderDetails(notification.data.orderId);\n        }\n\n        case NotificationActionEnum.TOUR_DELAYING: {\n            if (!notification.data.orderId) {\n                logWarning(`Empty orderId for notification`, { notification });\n                return null;\n            }\n\n            return urlFactory.brokerOrderDetails(notification.data.orderId);\n        }\n\n        case NotificationActionEnum.BUSINESS_PARTNER_ADDRESS_VERIFICATION: {\n            const { companyId, companyType } = notification.data;\n\n            if (!companyType) {\n                return urlFactory.partners();\n            }\n\n            // Determine partner type based on address type\n            // For simplicity, we use shipper, but this can be improved if partner type information is available in the data\n            // Currently using shipper as default, as it's the most common case\n            return urlFactory.partnerDetails(companyType, companyId);\n        }\n\n        case NotificationActionEnum.BROKER_BUSINESS_PARTNER_UPDATED: {\n            const { companyId, companyType } = notification.data;\n\n            if (!companyId) {\n                logWarning(`Empty companyId for notification`, { notification });\n                return null;\n            }\n\n            if (!companyType) {\n                return urlFactory.partners();\n            }\n\n            // Determine partner type\n            // For simplicity, we use shipper, but this can be improved if partner type information is available in the data\n            return urlFactory.partnerDetails(companyType, companyId);\n        }\n\n        default: {\n            return null;\n        }\n    }\n};\n\nconst checkIsBrokerAnyAlert = (anyAlert: AnyAlert | null | undefined): anyAlert is BrokerAnyAlert => {\n    return anyAlert instanceof BrokerAnyAlert;\n};\n\nexport const renderAlertToast: AlertToastRendererT = (t, anyAlert) => {\n    if (!checkIsBrokerAnyAlert(anyAlert)) {\n        return null;\n    }\n\n    switch (anyAlert.payload.type) {\n        case BrokerAlertTypeEnum.spotRequestCancelled: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.tomatoRed,\n                icon: <DoneIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('alerts.spot-request-cancelled'),\n            };\n        }\n        case BrokerAlertTypeEnum.transportOrderAssigned: {\n            return {\n                id: anyAlert.id,\n                theme: AlertThemeEnum.brandAccent,\n                icon: <DoneIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />,\n                text: t('alerts.transport-order-assigned'),\n            };\n        }\n        default: {\n            return null;\n        }\n    }\n\n    // TODO\n    return null;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PriceSettingsRules__fadeIn___MBEDk\",\"blinking\":\"PriceSettingsRules__blinking___jjFqJ\"};","import { v4 as uuidv4 } from 'uuid';\n\nexport type AnyAlertPayloadT<T = string, D = any> = {\n    type: T;\n    data: D;\n};\n\nexport class AnyAlert<P = AnyAlertPayloadT> {\n    id: AlertIdT;\n\n    payload: P;\n\n    constructor(payload: P) {\n        this.id = uuidv4();\n        this.payload = payload;\n    }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"PriceRuleOperationMultipleDropdown__overlay___js8gq\",\"fadeIn\":\"PriceRuleOperationMultipleDropdown__fadeIn___cbZbe\",\"blinking\":\"PriceRuleOperationMultipleDropdown__blinking___ojUx2\"};","import * as React from 'react';\nimport DropdownControlOptionLabel, {\n    DropdownControlOptionLabelPropsT,\n} from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\ntype PropsT = DropdownControlOptionLabelPropsT & {\n    tooltipPosition?: TooltipPositionEnum;\n    tooltipContent: React.ReactNode;\n};\n\nconst DropdownControlOptionLabelWithTooltip: React.FC<PropsT> = (props) => {\n    const { tooltipContent, tooltipPosition, ...restProps } = props;\n\n    return (\n        <Tooltip\n            position={tooltipPosition || TooltipPositionEnum.centerLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                tooltipContent ? (\n                    <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                        {tooltipContent}\n                    </TooltipContent>\n                ) : null\n            }\n        >\n            {() => <DropdownControlOptionLabel {...restProps} />}\n        </Tooltip>\n    );\n};\n\nexport default DropdownControlOptionLabelWithTooltip;\n","import { AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\n\nexport enum FieldsEnum {\n    email = 'email',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.email]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n\nexport type AsyncFormErrorsT = Partial<{\n    [FieldsEnum.email]: AuthErrorTypeEnum.userNotFound | AuthErrorTypeEnum.unknown;\n}>;\n","import * as React from 'react';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst SignOutIcon: React.FC<PropsT> = (props) => {\n    return (\n        <svg width={20} height={20} viewBox=\"0 0 20 20\" {...props}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill=\"#3E3F42\" d=\"M16 9.25H6.872l4.193-4.192L10 4l-6 6 6 6 1.057-1.057-4.185-4.193H16z\" />\n            </g>\n        </svg>\n    );\n};\n\nexport default SignOutIcon;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport TruckDetailsForm from './TruckDetailsForm/TruckDetailsForm';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAddTruckRequestStatus,\n    selectTrucksDetailsByIds,\n    selectUpdateTruckRequestStatus,\n} from 'common/store/trucks/selectors';\nimport { addTruckRequest, updateTruck } from 'common/store/trucks/actions';\nimport { FormValuesT as DetailsFormValuesT } from './TruckDetailsForm/constants';\nimport { prepareCreateApiTruck, prepareUpdateApiTruck } from './prepare-api-truck';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport TruckStatusPill from 'common/components/status-pill/TruckStatusPill/TruckStatusPill';\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    truckId: TruckIdT | null;\n    onGoBack?: () => void;\n    onClose?: () => void;\n    onCancel: () => void;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst EditTruckSidebarContent: React.FC<PropsT> = (props) => {\n    const {\n        partnerId,\n        onGoBack,\n        onClose,\n        truckId,\n        onCancel,\n        setNeedCloseConfirmation,\n        onOpenTruckDetails,\n        onOpenTrailerDetails,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const updateRequestStatus = useSelector(selectUpdateTruckRequestStatus(partnerId));\n    const addRequestStatus = useSelector(selectAddTruckRequestStatus(partnerId));\n    const detailsById = useSelector(selectTrucksDetailsByIds(partnerId));\n\n    const isNewTruck = !truckId;\n\n    const handleSubmit = (detailsFormValues: DetailsFormValuesT) => {\n        if (isNewTruck) {\n            const truckRequest = prepareCreateApiTruck(detailsFormValues);\n            if (!truckRequest) {\n                return;\n            }\n            dispatch(addTruckRequest(truckRequest, partnerId));\n        } else if (truckId) {\n            const truckRequest = prepareUpdateApiTruck(detailsFormValues);\n            if (!truckRequest) {\n                return;\n            }\n            dispatch(updateTruck(truckId, truckRequest, partnerId));\n        }\n    };\n\n    const truckDetails = detailsById[truckId as string];\n\n    const title = isNewTruck\n        ? t('common:trucks-page.add-truck.title')\n        : t('common:trucks-page.edit-truck.title', {\n              plateNumber: truckDetails?.plateNumber || '',\n          });\n\n    return (\n        <>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={title}\n                    afterTitleNode={<TruckStatusPill isSymmetrical status={truckDetails?.status || null} />}\n                    onClose={onClose}\n                    onGoBack={onGoBack}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <TruckDetailsForm\n                    partnerId={partnerId}\n                    isLoading={updateRequestStatus.loading || addRequestStatus.loading}\n                    isNewTruck={isNewTruck}\n                    truckDetails={truckDetails}\n                    onSubmit={handleSubmit}\n                    onCancel={onCancel}\n                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                    onOpenTruckDetails={onOpenTruckDetails}\n                    onOpenTrailerDetails={onOpenTrailerDetails}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            </SideBarLayout>\n        </>\n    );\n};\n\nexport default EditTruckSidebarContent;\n","import React from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAllTrailersTypes,\n    selectTrailersDict,\n    selectTrailersDictRequest,\n} from 'common/store/trailers-dict/selectors';\n\nimport classNames from 'classnames/bind';\nimport styles from './TrailerTypeMultipleDropdown.scss';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport DropdownTreeInput from 'design-system/components/dropdowns/DropdownTreeInput/DropdownTreeInput';\nimport { TreeNodeT } from 'design-system/components/CheckboxTree/CheckboxTree';\nimport { useTranslation } from 'react-i18next';\nimport { TrailerTypeEnum } from 'common/constants';\nimport TrailerIcon, { TrailerIconProps } from 'common/icons/TrailerIcon';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = TrailerDictIdT;\n\nexport type PropsT = {\n    className?: string;\n    values: Array<ValueT>;\n    onSelect: (values: Array<ValueT>) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasChanges?: boolean;\n};\n\nconst TRAILER_TYPE_T_MAP: Record<TrailerTypeEnum, string> = {\n    [TrailerTypeEnum.tilt]: 'common:trailer-type-switcher.tilt',\n    [TrailerTypeEnum.box]: 'common:trailer-type-switcher.box',\n};\n\nconst TrailerTypeMultipleDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        hasClearControl,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestStatus = useSelector(selectTrailersDictRequest);\n    const trailersDict = useSelector(selectTrailersDict);\n    const trailersTypes = useSelector(selectAllTrailersTypes);\n\n    const options = React.useMemo((): Array<TreeNodeT<ValueT>> => {\n        return [\n            {\n                label: t('common:trailer-type-switcher.all'),\n                children: trailersTypes.map((trailerType): TreeNodeT<ValueT> => {\n                    return {\n                        label: t(TRAILER_TYPE_T_MAP[trailerType]),\n                        children: (trailersDict?.[trailerType] || []).map((trailer): TreeNodeT<ValueT> => {\n                            return {\n                                label: t('common:trailer-subtype-template', {\n                                    length: trailer.length,\n                                    model: trailer.model,\n                                    eur1Pallets: trailer.eur1Pallets,\n                                    eur2Pallets: trailer.eur2Pallets,\n                                }),\n                                value: String(trailer.id),\n                                children: [],\n                            };\n                        }),\n                    };\n                }),\n            },\n        ];\n    }, [t, trailersTypes, trailersDict]);\n\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    return (\n        <DropdownTreeInput<ValueT>\n            className={className}\n            options={options}\n            renderLeftIcon={(iconMeta) => <TrailerIcon {...TrailerIconProps.getControlProps(iconMeta)} />}\n            selectedValues={values}\n            placeholder={placeholder}\n            isDisabled={isDisabled}\n            onSelect={onSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            overlayPosition={overlayPosition}\n            hasClearControl={values?.length ? hasClearControl : false}\n            isLoading={requestStatus.loading}\n        />\n    );\n};\n\nexport default TrailerTypeMultipleDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"name\":\"NameCell__name___gVxPQ\",\"status\":\"NameCell__status___XZAMa\",\"fadeIn\":\"NameCell__fadeIn___gggC8\",\"blinking\":\"NameCell__blinking___z9ac7\"};","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport isNumber from 'lodash/isNumber';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './EmissionUnitValue.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    co2: number | null | undefined;\n};\n\nconst EmissionUnitValue: React.FC<PropsT> = (props) => {\n    const { className, co2 } = props;\n\n    const { t } = useTranslation();\n\n    if (!isNumber(co2)) {\n        return null;\n    }\n\n    const roundedCO2 = Math.round(co2);\n\n    return (\n        <span className={cs(cx('value'), className)}>\n            {roundedCO2}{' '}\n            {t('common:unit-count.emission-co2', {\n                postProcess: 'interval',\n                count: roundedCO2,\n            })}\n        </span>\n    );\n};\n\nexport default EmissionUnitValue;\n","import * as React from 'react';\nimport { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\nimport TableCellLink from 'common/components/Table/cell-renderers/TableCellLink/TableCellLink';\n\ntype PropsT = {\n    onOpenUserDetails: (userId: UserIdT | null) => void;\n    userFullName: string | null | undefined;\n    userId: UserIdT | null | undefined;\n};\n\nconst EventAuthorCell: React.FC<PropsT> = React.memo((props) => {\n    const { userId, userFullName, onOpenUserDetails } = props;\n\n    return (\n        <TableCellLink\n            theme={LinkThemeEnum.boldBrandDark}\n            size={LinkSizeEnum.medium}\n            onClick={() => {\n                if (!userId) {\n                    return;\n                }\n\n                onOpenUserDetails(userId);\n            }}\n        >\n            {userFullName}\n        </TableCellLink>\n    );\n});\n\nexport default EventAuthorCell;\n","import { StateT } from 'broker-admin/store/models';\nimport { BrokerOrderAssigmentStateT } from './types';\nimport keyBy from 'lodash/keyBy';\nimport { createSelector } from 'reselect';\nimport { CarrierT } from 'broker-admin/store/broker-order-assigment/models';\n\nexport const selectAvailableVehiclesQuery = (state: StateT): BrokerOrderAssigmentStateT['availableVehicles']['query'] =>\n    state.brokerOrderAssigment.availableVehicles.query;\n\nexport const selectUserSelection = (state: StateT): BrokerOrderAssigmentStateT['userSelection'] =>\n    state.brokerOrderAssigment.userSelection;\n\nexport const selectAvailableVehiclesRequest = (\n    state: StateT,\n): BrokerOrderAssigmentStateT['availableVehicles']['requestStatus'] =>\n    state.brokerOrderAssigment.availableVehicles.requestStatus;\n\nexport const selectFetchAssignDetailsRequest = (\n    state: StateT,\n): BrokerOrderAssigmentStateT['fetchAssignDetailsStatus'] => state.brokerOrderAssigment.fetchAssignDetailsStatus;\n\nexport const selectAvailableVehicles = (state: StateT): BrokerOrderAssigmentStateT['availableVehicles']['list'] =>\n    state.brokerOrderAssigment.availableVehicles.list;\n\nexport const selectVehicleLinks = (state: StateT): BrokerOrderAssigmentStateT['links'] =>\n    state.brokerOrderAssigment.links;\n\nexport const selectAvailableCarriersRequest = (\n    state: StateT,\n): BrokerOrderAssigmentStateT['availableCarriers']['requestStatus'] =>\n    state.brokerOrderAssigment.availableCarriers.requestStatus;\n\nexport const selectAvailableCarriers = (state: StateT): BrokerOrderAssigmentStateT['availableCarriers']['carriers'] =>\n    state.brokerOrderAssigment.availableCarriers.carriers;\n\nexport const selectAvailableCarriersById = createSelector(\n    selectAvailableCarriers,\n    (availableCarriers): Record<CarrierT['id'], CarrierT> => {\n        return keyBy(availableCarriers, 'id');\n    },\n);\n\nexport const selectTruckSuggestQuery = (state: StateT): BrokerOrderAssigmentStateT['truckSuggest']['query'] =>\n    state.brokerOrderAssigment.truckSuggest.query;\n\nexport const selectTruckSuggestRequestStatus = (\n    state: StateT,\n): BrokerOrderAssigmentStateT['truckSuggest']['requestStatus'] => state.brokerOrderAssigment.truckSuggest.requestStatus;\n\nexport const selectTruckSuggestIds = (state: StateT): BrokerOrderAssigmentStateT['truckSuggest']['ids'] =>\n    state.brokerOrderAssigment.truckSuggest.ids;\n\nexport const selectTruckAssignmentInfoById = (state: StateT): BrokerOrderAssigmentStateT['truckById'] =>\n    state.brokerOrderAssigment.truckById;\n\nexport const selectTrailerSuggestQuery = (state: StateT): BrokerOrderAssigmentStateT['trailerSuggest']['query'] =>\n    state.brokerOrderAssigment.trailerSuggest.query;\n\nexport const selectTrailerSuggestRequestStatus = (\n    state: StateT,\n): BrokerOrderAssigmentStateT['trailerSuggest']['requestStatus'] =>\n    state.brokerOrderAssigment.trailerSuggest.requestStatus;\n\nexport const selectTrailerSuggestIds = (state: StateT): BrokerOrderAssigmentStateT['trailerSuggest']['ids'] =>\n    state.brokerOrderAssigment.trailerSuggest.ids;\n\nexport const selectTrailerAssignmentInfoById = (state: StateT): BrokerOrderAssigmentStateT['trailerById'] =>\n    state.brokerOrderAssigment.trailerById;\n\nexport const selectSelfCostPredictionQuery = (\n    state: StateT,\n): BrokerOrderAssigmentStateT['selfCostPrediction']['query'] => state.brokerOrderAssigment.selfCostPrediction.query;\n\nexport const selectSelfCostPrediction = (state: StateT): BrokerOrderAssigmentStateT['selfCostPrediction']['result'] =>\n    state.brokerOrderAssigment.selfCostPrediction.result;\n\nexport const selectSelfCostPredictionRequestStatus = (\n    state: StateT,\n): BrokerOrderAssigmentStateT['selfCostPrediction']['requestStatus'] =>\n    state.brokerOrderAssigment.selfCostPrediction.requestStatus;\n\nexport const selectAssignmentRequestStatus = (state: StateT): BrokerOrderAssigmentStateT['assigmentStatus'] =>\n    state.brokerOrderAssigment.assigmentStatus;\n\nexport const selectCurrentPositionById = (state: StateT): BrokerOrderAssigmentStateT['currentPositionAssetById'] =>\n    state.brokerOrderAssigment.currentPositionAssetById;\n\nexport const selectScheduleAssetById = (state: StateT): BrokerOrderAssigmentStateT['scheduleAssetById'] =>\n    state.brokerOrderAssigment.scheduleAssetById;\n\nexport const selectShowSelectedAssetSchedules = (\n    state: StateT,\n): BrokerOrderAssigmentStateT['isShowSelectedAssetSchedules'] =>\n    state.brokerOrderAssigment.isShowSelectedAssetSchedules;\n\nexport const selectSelectedScheduleEventId = (state: StateT): BrokerOrderAssigmentStateT['selectedScheduleEventId'] =>\n    state.brokerOrderAssigment.selectedScheduleEventId;\n","import * as React from 'react';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport { useTranslation } from 'react-i18next';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport PriceSettingsEditRuleLayout from 'broker-admin/layouts/PriceSettingsEditRuleLayout/PriceSettingsEditRuleLayout';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { PreviewCurrentRuleT } from 'broker-admin/store/price-settings/rules/models';\nimport PriceSettingsRulePreviewLayout from 'broker-admin/layouts/PriceSettingsRulePreviewLayout/PriceSettingsRulePreviewLayout';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport classNames from 'classnames/bind';\nimport styles from './PriceSettingsRuleCreationPage.scss';\nimport { SettingsRoutesEnum } from 'broker-admin/constants';\nimport { useSelector } from 'react-redux';\nimport { selectCreateRuleRequest } from 'broker-admin/store/price-settings/rules/selectors';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PriceSettingsRuleCreationPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const handleClose = () => {\n        goBackIfHasRePath(() => {\n            history.push(urlFactory.settingsRules());\n        });\n    };\n\n    const createRuleRequest = useSelector(selectCreateRuleRequest);\n    useOnlyChangesEffect(() => {\n        if (createRuleRequest.ok) {\n            history.push({\n                pathname: SettingsRoutesEnum.rules,\n            });\n        }\n    }, [createRuleRequest.ok]);\n\n    const [previewCurrentRule, setPreviewCurrentRule] = React.useState<PreviewCurrentRuleT | null>(null);\n\n    return (\n        <>\n            <PageTitle title={t('page-titles.settings-rule-creation')} />\n            <HorizontalColumnsLayout\n                leftColumnTitle={t('price-settings.rules.tabs.form')}\n                leftColumnNode={\n                    <SideBarLayoutContextWrap>\n                        <PriceSettingsEditRuleLayout\n                            onChangePreviewCurrentRule={setPreviewCurrentRule}\n                            editableRuleId={null}\n                            onCancel={handleClose}\n                            onClose={handleClose}\n                        />\n                    </SideBarLayoutContextWrap>\n                }\n                rightColumnTitle={t('price-settings.rules.tabs.test')}\n                rightColumnNode={\n                    <SideBarLayoutContextWrap>\n                        <div className={cx('preview')}>\n                            <PriceSettingsRulePreviewLayout ruleId={null} previewCurrentRule={previewCurrentRule} />\n                        </div>\n                    </SideBarLayoutContextWrap>\n                }\n            />\n        </>\n    );\n});\n\nexport default PriceSettingsRuleCreationPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"submit\":\"SetUnavailableForm__submit___ZD0xz\",\"field--date-range\":\"SetUnavailableForm__field--date-range___xnuSS\",\"alert\":\"SetUnavailableForm__alert___uYffo\",\"form\":\"SetUnavailableForm__form____YPEl\",\"fadeIn\":\"SetUnavailableForm__fadeIn___qrEB_\",\"blinking\":\"SetUnavailableForm__blinking___efrzQ\"};","import { TourPapersUrlFactoryI } from 'common/components/papers/image-url-factories';\n\nexport const carrierTourPapersUrlFactory: TourPapersUrlFactoryI = {\n    getThumbnailUrl: (tourId: TourIdT | null, documentId: DocumentIdT | null): string | null => {\n        if (!tourId || !documentId) {\n            return null;\n        }\n\n        return `/api/v1/common/attached-papers/${documentId}/get-thumbnail`;\n    },\n\n    getContentUrl: (tourId: TourIdT | null, documentId: DocumentIdT | null): string | null => {\n        if (!tourId || !documentId) {\n            return null;\n        }\n\n        return `/api/v1/common/attached-papers/${documentId}/get-content`;\n    },\n};\n","import { put, select } from 'redux-saga/effects';\nimport { fetchTrucksDictBegin, fetchTrucksDictError, fetchTrucksDictSuccess } from './actions';\nimport { TRUCKS_DICT_REQUEST } from './types';\nimport { selectTrucksDict, selectTrucksDictRequest } from './selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { semaphoreSaga } from 'common/utils/semaphore-saga';\nimport { sortTrucksDict } from './utils';\n\nfunction* fetchTrucksDictSaga(): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectTrucksDictRequest> = yield select(selectTrucksDictRequest);\n    if (!checkNeedRequest(requestStatus)) {\n        return;\n    }\n\n    const currentTrucksDict: ReturnType<typeof selectTrucksDict> = yield select(selectTrucksDict);\n    if (currentTrucksDict) {\n        return;\n    }\n\n    yield put(fetchTrucksDictBegin());\n\n    const [error, apiTrucksDict]: ReturnApiT<typeof commonTranziitApi.getTrucksDict> =\n        yield commonTranziitApi.getTrucksDict();\n    if (error) {\n        yield put(fetchTrucksDictError(error));\n    }\n\n    const trucksDict = sortTrucksDict(apiTrucksDict || []);\n    yield put(fetchTrucksDictSuccess(trucksDict));\n}\n\nfunction* trucksSaga(): WrapGeneratorT<void> {\n    yield semaphoreSaga(TRUCKS_DICT_REQUEST, fetchTrucksDictSaga);\n}\n\nexport default trucksSaga;\n","import { TranziitApiRequestErrorSubTypeEnum } from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nexport enum FieldsEnum {\n    taxId = 'taxId',\n    vatNumber = 'vatNumber',\n    iban = 'iban',\n    bic = 'bic',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.taxId]: string;\n    [FieldsEnum.vatNumber]: string;\n    [FieldsEnum.iban]: string;\n    [FieldsEnum.bic]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n\nexport type AsyncFormErrorsT = Partial<{\n    [FieldsEnum.vatNumber]: TranziitApiRequestErrorSubTypeEnum.evidenceOfTaxDetails_WrongVat;\n}>;\n","import { ApiBrokerTransportOrderDetailsT, ApiCarrierTransportOrderDetailsT } from 'common/utils/api/models';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\n\nexport const checkIsCarrierTransportOrderDetails = (\n    details: TransportOrderDetailsT | null,\n): details is ApiCarrierTransportOrderDetailsT => {\n    return !!details;\n};\n\nexport const checkIsBrokerTransportOrderDetails = (\n    details: TransportOrderDetailsT | null,\n): details is ApiBrokerTransportOrderDetailsT => {\n    return !!details;\n};\n","import {\n    FETCH_SETTINGS,\n    FETCH_SETTINGS_BEGIN,\n    FETCH_SETTINGS_ERROR,\n    FETCH_SETTINGS_SUCCESS,\n    FetchSettingsActionT,\n    FetchSettingsBeginActionT,\n    FetchSettingsErrorActionT,\n    FetchSettingsSuccessActionT,\n} from './types';\nimport { SettingsT } from './models';\n\nexport const fetchSettings = (options?: FetchOptionsT): FetchSettingsActionT => ({\n    type: FETCH_SETTINGS,\n    options,\n});\n\nexport const fetchSettingsBegin = (): FetchSettingsBeginActionT => ({\n    type: FETCH_SETTINGS_BEGIN,\n});\n\nexport const fetchSettingsSuccess = (settings: SettingsT): FetchSettingsSuccessActionT => ({\n    type: FETCH_SETTINGS_SUCCESS,\n    settings,\n});\n\nexport const fetchSettingsError = (error: Error): FetchSettingsErrorActionT => ({\n    type: FETCH_SETTINGS_ERROR,\n    error,\n});\n","import React, { useEffect } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './AddDriverSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { FormikContext, useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from '../EditDriverSidebarContent/EditDriverFormContent/constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport prepareApiAddDriver from './prepare-api-driver-changes';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { logWarning } from 'common/utils/logger';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport values from 'lodash/values';\nimport EditDriverFormContent from '../EditDriverSidebarContent/EditDriverFormContent/EditDriverFormContent';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { addDriver } from 'common/store/drivers/actions';\nimport { CommonSidebarDataT, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { AddDriverSidebarDataT } from 'common/layouts/SideBars/contents/AddDriverSidebarContent/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectAddDriverRequest } from 'common/store/drivers/selectors';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\n\nconst cx = classNames.bind(styles);\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype PropsT = SidebarContentPropsT<AddDriverSidebarDataT, CommonSidebarDataT>;\n\nconst AddDriverSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onClose, onGoBack, setNeedCloseConfirmation } = props;\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    const addDriverRequestStatus = useSelector(selectAddDriverRequest(data.partnerId));\n\n    useCloseSidebarAfterRequest(addDriverRequestStatus, onGoBack || onClose);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues();\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const newDriver = prepareApiAddDriver(values);\n            if (!newDriver) {\n                logWarning('empty newDriver!');\n                return;\n            }\n\n            dispatch(addDriver(newDriver, data.partnerId));\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n    useEffect(() => {\n        setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    const isLoading = addDriverRequestStatus.loading;\n\n    return (\n        <FormikContext.Provider value={formik}>\n            <form onSubmit={formik.handleSubmit} className={cx('form')}>\n                {isLoading && <LoaderOverlay />}\n                <HeaderSideBarLayout>\n                    <HeaderSideBarContent\n                        onGoBack={onGoBack}\n                        title={t('common:drivers-page.add-driver.title')}\n                        onClose={onClose}\n                    />\n                </HeaderSideBarLayout>\n                <SideBarLayout>\n                    <EditDriverFormContent driverDetails={null} isHideMobilePhoneField />\n                </SideBarLayout>\n                <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                <FooterSideBarLayout hasPaddings>\n                    <div className={cx('actions')}>\n                        <Button\n                            className={cx('actions__action', 'actions__action--cancel')}\n                            theme={ButtonThemeEnum.secondary}\n                            onClick={() => {\n                                if (onGoBack) {\n                                    onGoBack({ needCloseConfirmation: false });\n                                } else {\n                                    onClose?.();\n                                }\n                            }}\n                        >\n                            {t('common:form-actions.cancel')}\n                        </Button>\n                        <Button\n                            className={cx('actions__action', 'actions__action--add')}\n                            theme={ButtonThemeEnum.primary}\n                            type=\"submit\"\n                        >\n                            {t('common:drivers-page.add-driver.submit')}\n                        </Button>\n                    </div>\n                </FooterSideBarLayout>\n            </form>\n        </FormikContext.Provider>\n    );\n};\n\nexport default AddDriverSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"table--carrier\":\"TransportOrderDetailsCard__table--carrier____xDBQ\",\"table--move\":\"TransportOrderDetailsCard__table--move___po6Uy\",\"table\":\"TransportOrderDetailsCard__table___CSp6b\",\"fadeIn\":\"TransportOrderDetailsCard__fadeIn___lDts8\",\"blinking\":\"TransportOrderDetailsCard__blinking___XFHCy\"};","import React from 'react';\nimport { SyncSetUnavailableFormMapStateContextValueT } from '../hooks/usySyncMapState';\n\nconst SyncSetUnavailableFormMapStateContext = React.createContext<SyncSetUnavailableFormMapStateContextValueT>({\n    hasDropAssetPointError: false,\n    setHasDropAssetPointError: () => {\n        // nothing\n    },\n});\n\nexport { SyncSetUnavailableFormMapStateContext };\n","// extracted by mini-css-extract-plugin\nexport default {\"actions\":\"DriversPageLayout__actions___SBwI5\",\"actions-overlay\":\"DriversPageLayout__actions-overlay___Rl_oA\",\"tabs\":\"DriversPageLayout__tabs___pNJNC\",\"fadeIn\":\"DriversPageLayout__fadeIn___HlpHR\",\"blinking\":\"DriversPageLayout__blinking___xJH4v\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './FiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport Input from 'common/components/Input/Input';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport CarriersSuggest from 'broker-admin/components/dropdowns/CarriersSuggest/CarriersSuggest';\nimport { useCarrierSuggestOptions } from 'broker-admin/components/dropdowns/CarriersSuggest/hooks/use-carrier-suggest-options';\nimport TourTypeMultipleDropdown from 'broker-admin/components/dropdowns/TourTypeMultipleDropdown/TourTypeMultipleDropdown';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport PinIcon, { PinIconProps } from 'common/icons/PinIcon';\nimport SelectedFilters from '../SelectedFilters/SelectedFilters';\nimport { mergeQueryFilters } from 'common/utils/query';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst FiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose, setQueryFilters, queryFilters } = props;\n    const { t } = useTranslation();\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const initialCarrierOptions = useCarrierSuggestOptions(\n        initialValues[FieldsEnum.carrierIds]?.length ? initialValues[FieldsEnum.carrierIds] : null,\n    );\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const newQueryFilters = getQueryFilters(values);\n            const mergedQueryFilters = mergeQueryFilters(initialQueryFilters, newQueryFilters);\n\n            setQueryFilters(mergedQueryFilters);\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('broker-tours.list.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FormikField\n                    className={cx('field', 'field--carriers')}\n                    name={FieldsEnum.carrierIds}\n                    error={formik.errors[FieldsEnum.carrierIds]}\n                    meta={formik.getFieldMeta(FieldsEnum.carrierIds)}\n                    label={t('broker-tours.list.filters.fields.carrier.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <CarriersSuggest\n                            values={formik.values[FieldsEnum.carrierIds] || []}\n                            initialOptions={initialCarrierOptions.initOptions}\n                            initialRequestStatus={initialCarrierOptions.initRequestStatus}\n                            onSelect={(carrierIds, carrierOptions) => {\n                                formik.setFieldValue(FieldsEnum.carrierIds, carrierIds);\n\n                                const carrierNames =\n                                    carrierOptions?.map((option) => {\n                                        return option.name || '';\n                                    }) || [];\n                                formik.setFieldValue(FieldsEnum.carrierNames, carrierNames);\n                            }}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                            placeholder={t('broker-tours.list.filters.fields.carrier.placeholder')}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n\n                <FormikField\n                    className={cx('field', 'field--address')}\n                    name={FieldsEnum.originAddress}\n                    error={formik.errors[FieldsEnum.originAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.originAddress)}\n                    label={t('broker-tours.list.filters.fields.origin-address.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.originAddress}\n                            value={formik.values[FieldsEnum.originAddress] || ''}\n                            placeholder={t('broker-tours.list.filters.fields.origin-address.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n\n                <FormikField\n                    className={cx('field', 'field--address')}\n                    name={FieldsEnum.destinationAddress}\n                    error={formik.errors[FieldsEnum.destinationAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.destinationAddress)}\n                    label={t('broker-tours.list.filters.fields.destination-address.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.destinationAddress}\n                            value={formik.values[FieldsEnum.destinationAddress] || ''}\n                            placeholder={t('broker-tours.list.filters.fields.destination-address.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.originDates}\n                        error={formik.errors[FieldsEnum.originDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.originDates)}\n                        label={t('broker-tours.list.filters.fields.origin-date.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.originDates]}\n                                placeholder={t('broker-tours.list.filters.fields.origin-date.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.destinationDates}\n                        error={formik.errors[FieldsEnum.destinationDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.destinationDates)}\n                        label={t('broker-tours.list.filters.fields.destination-date.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.destinationDates]}\n                                placeholder={t('broker-tours.list.filters.fields.destination-date.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.creationDates}\n                        error={formik.errors[FieldsEnum.creationDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.creationDates)}\n                        label={t('broker-tours.list.filters.fields.date-created.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.creationDates]}\n                                placeholder={t('broker-tours.list.filters.fields.date-created.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--tour-types')}\n                        name={FieldsEnum.tourTypes}\n                        error={formik.errors[FieldsEnum.tourTypes]}\n                        meta={formik.getFieldMeta(FieldsEnum.tourTypes)}\n                        label={t('broker-tours.list.filters.fields.tour-type.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <TourTypeMultipleDropdown\n                                values={formik.values[FieldsEnum.tourTypes]}\n                                placeholder={t('broker-tours.list.filters.fields.tour-type.placeholder')}\n                                onSelect={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--plate-number')}\n                        name={FieldsEnum.plateNumber}\n                        error={formik.errors[FieldsEnum.plateNumber]}\n                        meta={formik.getFieldMeta(FieldsEnum.plateNumber)}\n                        label={t('broker-tours.list.filters.fields.plate-number.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.plateNumber}\n                                value={formik.values[FieldsEnum.plateNumber] || ''}\n                                placeholder={t('broker-tours.list.filters.fields.plate-number.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FieldGroupEmptyItem className={cx('field', 'field--placeholder')} />\n                </FieldGroup>\n            </SideBarLayout>\n            <FooterSideBarLayout hasPaddings>\n                <div className={cx('selected-filters')}>\n                    <SelectedFilters queryFilters={initialQueryFilters} setQueryFilters={setInitialQueryFilters} />\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('broker-tours.list.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default FiltersSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"DateLinkTrigger__fadeIn___cxzzN\",\"blinking\":\"DateLinkTrigger__blinking___Ehp9Y\"};","import { CountryCodeT } from 'common/store/countries-dict/models';\nimport { ApiPriceRuleTypeT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    date = 'date',\n\n    ruleType = 'rule-type',\n    dictTrailerId = 'dict-trailer-id',\n\n    shipperId = 'shipper-id',\n    carrierId = 'carrier-id',\n\n    countryFrom = 'country-from',\n    countryTo = 'country-to',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.date]: Date | null;\n\n    [FieldsEnum.ruleType]: ApiPriceRuleTypeT | null;\n    [FieldsEnum.dictTrailerId]: TrailerDictIdT | null;\n\n    [FieldsEnum.shipperId]: ShipperIdT | null;\n    [FieldsEnum.carrierId]: CarrierIdT | null;\n\n    [FieldsEnum.countryFrom]: CountryCodeT | null;\n    [FieldsEnum.countryTo]: CountryCodeT | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"WaypointNumberPinContent__content___cJ_Hc\",\"content--withPaddings\":\"WaypointNumberPinContent__content--withPaddings___h9GtH\",\"fadeIn\":\"WaypointNumberPinContent__fadeIn___HVxXd\",\"blinking\":\"WaypointNumberPinContent__blinking___uatt9\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"Radio__wrap___XNy43\",\"radio\":\"Radio__radio___NtqAt\",\"radio--isClickable\":\"Radio__radio--isClickable___gocMW\",\"radio--isHover\":\"Radio__radio--isHover___VH8Nf\",\"radio--isSelected\":\"Radio__radio--isSelected___mxyKZ\",\"radio--isDisabled\":\"Radio__radio--isDisabled___Lk1VL\",\"label\":\"Radio__label___XSIkg\",\"label--isClickable\":\"Radio__label--isClickable___FjG4B\",\"label--isDisabled\":\"Radio__label--isDisabled___ypCBB\",\"label--hasRightIcon\":\"Radio__label--hasRightIcon___eK1y8\",\"fadeIn\":\"Radio__fadeIn___he7VH\",\"blinking\":\"Radio__blinking___KeV4O\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const vehicleSchedulesRefreshChannel = new ViewEventChannel<{\n    vehicleId: VehicleIdT;\n}>();\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"QuickFiltersButtonGroups__wrap___jIdEh\",\"container\":\"QuickFiltersButtonGroups__container___Y5A7C\",\"container--isMeasuring\":\"QuickFiltersButtonGroups__container--isMeasuring___JG5CS\",\"option\":\"QuickFiltersButtonGroups__option___YNbzf\",\"toggle\":\"QuickFiltersButtonGroups__toggle___oS2B2\",\"trigger\":\"QuickFiltersButtonGroups__trigger___oai2D\",\"notification\":\"QuickFiltersButtonGroups__notification___ESAA7\",\"option-button--isSelected\":\"QuickFiltersButtonGroups__option-button--isSelected___jGjQv\",\"fadeIn\":\"QuickFiltersButtonGroups__fadeIn___svMNG\",\"blinking\":\"QuickFiltersButtonGroups__blinking___EbvSw\"};","import {\n    UserActionT,\n    UserStateT,\n    FETCH_USER_REQUEST_BEGIN,\n    FETCH_USER_REQUEST_ERROR,\n    FETCH_USER_REQUEST_SUCCESS,\n    PATCH_USER_REQUEST_BEGIN,\n    PATCH_USER_REQUEST_SUCCESS,\n    PATCH_USER_REQUEST_ERROR,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { prepareUser } from './utils';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: UserStateT = {\n    currentUserRequest: requestStatus.initial,\n    currentUser: null,\n    patchUserRequest: requestStatus.initial,\n};\n\nexport default (state = initialState, action: UserActionT | DestroySessionActionT): UserStateT => {\n    switch (action.type) {\n        case FETCH_USER_REQUEST_BEGIN: {\n            return {\n                ...state,\n                currentUserRequest: requestStatus.loading,\n            };\n        }\n        case FETCH_USER_REQUEST_SUCCESS: {\n            const { currentUser } = action;\n\n            return {\n                ...state,\n                currentUser: prepareUser(currentUser),\n                currentUserRequest: requestStatus.ok,\n            };\n        }\n        case FETCH_USER_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                currentUserRequest: requestStatus.setError(error),\n            };\n        }\n        case PATCH_USER_REQUEST_BEGIN: {\n            return {\n                ...state,\n                patchUserRequest: requestStatus.loading,\n            };\n        }\n        case PATCH_USER_REQUEST_SUCCESS: {\n            const { currentUser, currentUserUpdate } = action;\n\n            return {\n                ...state,\n                currentUser: prepareUser({\n                    ...currentUser,\n                    ...currentUserUpdate,\n                }),\n                patchUserRequest: requestStatus.ok,\n            };\n        }\n        case PATCH_USER_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                patchUserRequest: requestStatus.setError(error),\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { BrokerRFQRoutesEnum } from 'broker-admin/constants';\nimport BrokerRFQDetailsPage from './BrokerRFQDetailsPage/BrokerRFQDetailsPage';\nimport BrokerRFQsListPage from './BrokerRFQsListPage/BrokerRFQsListPage';\n\ntype PropsT = {};\n\nconst BrokerRFQsPage: React.FC<PropsT> = React.memo(() => {\n    return (\n        <Switch>\n            <Route path={BrokerRFQRoutesEnum.details}>\n                <BrokerRFQDetailsPage />\n            </Route>\n            <Route path=\"*\">\n                <BrokerRFQsListPage />\n            </Route>\n        </Switch>\n    );\n});\n\nexport default BrokerRFQsPage;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport LeftMenuLayoutBase from 'common/layouts/LeftMenuLayout/LeftMenuLayout';\nimport { MenuLinkT } from 'common/layouts/LeftMenuLayout/Navigation/Navigation';\nimport { BrokerUsersRoutesEnum, OMSRoutesEnum, routesEnum, SettingsRoutesEnum } from 'broker-admin/constants';\nimport SettingsIcon from 'common/icons/SettingsIcon';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { useSelector } from 'react-redux';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport {\n    BusinessPartnerMenuIcon,\n    DatabaseMenuIcon,\n    PlusMenuIcon,\n    TeamsMenuIcon,\n} from 'common/layouts/LeftMenuLayout/menu-icons';\nimport ChartIcon from 'common/icons/ChartIcon';\nimport RadarIcon from 'common/icons/RadarIcon';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport InvoiceIcon, { getInvoiceIconProps } from 'common/icons/InvoiceIcon';\nimport FeaturesContext from 'common/contexts/features';\nimport { ServerFeatureEnum } from 'common/utils/hooks/useFeaturesContextValue';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport RFQIcon from 'common/icons/RFQIcon';\n\nconst badges = {};\n\ntype PropsT = {};\n\nconst LeftMenuLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children } = props;\n    const { t } = useTranslation();\n    const permissions = useSelector(selectPermissions);\n\n    const featuresContext = React.useContext(FeaturesContext);\n\n    const menuLinks: Array<MenuLinkT | null> = [\n        permissions.canCreateOrder\n            ? {\n                  renderIcon: (isActive) => <PlusMenuIcon isActive={isActive} />,\n                  text: t('menu.new-order'),\n                  to: OMSRoutesEnum.newOrder,\n                  matchPathname: OMSRoutesEnum.newOrder,\n                  testSelector: 'new-order',\n              }\n            : null,\n        {\n            renderIcon: (isActive) => <DatabaseMenuIcon isActive={isActive} />,\n            text: t('menu.broker-orders'),\n            to: routesEnum.brokerOrders,\n            matchPathname: routesEnum.brokerOrders,\n            testSelector: 'broker-orders',\n        },\n        permissions?.canViewBrokerTours\n            ? {\n                  renderIcon: (isActive) => (\n                      <RouteIcon fillColor={isActive ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.slate} />\n                  ),\n                  text: t('menu.broker-tours'),\n                  to: routesEnum.brokerTours,\n                  matchPathname: routesEnum.brokerTours,\n                  testSelector: 'broker-tours',\n              }\n            : null,\n        permissions?.canViewBrokerRFQs && featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.brokerRfq)\n            ? {\n                  renderIcon: (isActive) => (\n                      <RFQIcon\n                          fillColor={isActive ? StyleGuideColorsEnum.brandAccent : StyleGuideColorsEnum.light}\n                          strokeColor={isActive ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.slate}\n                          size={DEFAULT_ICON_SIZE}\n                      />\n                  ),\n                  text: t('menu.broker-rfqs'),\n                  to: routesEnum.brokerRFQs,\n                  matchPathname: routesEnum.brokerRFQs,\n                  testSelector: 'broker-rfqs',\n              }\n            : null,\n        permissions?.canViewInvoices && featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.invoices)\n            ? {\n                  renderIcon: (isActive) => <InvoiceIcon {...getInvoiceIconProps(isActive ? 'selected' : 'default')} />,\n                  text: t('menu.invoices'),\n                  to: routesEnum.invoices,\n                  matchPathname: routesEnum.invoices,\n                  testSelector: 'invoices',\n              }\n            : null,\n        {\n            renderIcon: (isActive) => <BusinessPartnerMenuIcon isActive={isActive} />,\n            text: t('menu.partners'),\n            to: routesEnum.partners,\n            matchPathname: routesEnum.partners,\n            testSelector: 'partners',\n        },\n        featuresContext?.checkActiveServerFeature?.(ServerFeatureEnum.spot) && permissions?.canViewSpot\n            ? {\n                  renderIcon: (isActive) => (\n                      <RadarIcon\n                          size={DEFAULT_ICON_SIZE}\n                          strokeColor={isActive ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.slate}\n                      />\n                  ),\n                  text: t('menu.spot'),\n                  to: routesEnum.spotRequests,\n                  matchPathname: routesEnum.spotRequests,\n                  testSelector: 'spot',\n              }\n            : null,\n        permissions?.canViewBrokerUsers\n            ? {\n                  renderIcon: (isActive) => <TeamsMenuIcon isActive={isActive} />,\n                  text: t('menu.users'),\n                  to: BrokerUsersRoutesEnum.brokerTeams,\n                  matchPathname: routesEnum.brokerUsers,\n                  testSelector: 'teams',\n              }\n            : null,\n        permissions.canViewPriceSettings\n            ? {\n                  renderIcon: (isActive) => (\n                      <SettingsIcon\n                          fillOpacity={isActive ? 0.3 : 1}\n                          fillColor={isActive ? StyleGuideColorsEnum.brandAccent : StyleGuideColorsEnum.light}\n                          strokeColor={isActive ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.slate}\n                      />\n                  ),\n                  text: t('menu.settings'),\n                  to: SettingsRoutesEnum.rateMatrix,\n                  matchPathname: routesEnum.settings,\n                  testSelector: 'settings',\n              }\n            : null,\n        permissions.canViewFullStatistic\n            ? {\n                  renderIcon: (isActive) => (\n                      <ChartIcon\n                          fillOpacity={isActive ? 0.3 : 1}\n                          fillColor={isActive ? StyleGuideColorsEnum.brandAccent : StyleGuideColorsEnum.light}\n                          strokeColor={isActive ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.slate}\n                      />\n                  ),\n                  text: t('menu.statistics'),\n                  to: routesEnum.statistics,\n                  matchPathname: routesEnum.statistics,\n                  testSelector: 'statistics',\n              }\n            : null,\n    ];\n\n    return (\n        <LeftMenuLayoutBase\n            menuLinks={menuLinks}\n            accountLink={routesEnum.account}\n            logoLink={routesEnum.home}\n            badges={badges}\n            isAllowHelpButton\n        >\n            {children}\n        </LeftMenuLayoutBase>\n    );\n});\n\nexport default LeftMenuLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"flag\":\"FlagCell__flag___ImNNg\",\"fadeIn\":\"FlagCell__fadeIn___EKbPT\",\"blinking\":\"FlagCell__blinking___AzaYH\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './NotificationToastsManager.scss';\nimport NotificationToastContent from '../NotificationToastContent/NotificationToastContent';\nimport { useDispatch } from 'react-redux';\nimport { markAsRead } from 'common/store/notifications/actions';\nimport { NotificationToastRendererT } from 'common/components/toasts/NotificationToastsManager/models';\nimport { getUnknownNotificationToast, renderCommonNotificationToast } from './utils';\nimport { AnyNotificationT, NotificationToastViewT } from 'common/store/notifications/models';\nimport { logWarning } from 'common/utils/logger';\nimport { NotificationLinkFactoryT } from 'common/components/notifications/NotificationsBarContent/models';\nimport history from 'common/utils/history';\nimport Toast from 'common/components/toasts/Toast/Toast';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { newNotificationsChannel } from 'common/store/notifications/channels';\nimport uniqBy from 'lodash/uniqBy';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    renderNotificationToast: NotificationToastRendererT;\n    getNotificationLink: NotificationLinkFactoryT;\n};\n\nconst UNREAD_NOTIFICATIONS_LIMIT = 6;\n\nconst NotificationToastsManager = React.memo((props: PropsT) => {\n    const { className, renderNotificationToast, getNotificationLink } = props;\n\n    const dispatch = useDispatch();\n\n    const [newNotifications, setNewNotifications] = React.useState<AnyNotificationT[]>([]);\n\n    useChannelSubscribe(newNotificationsChannel, (event) => {\n        setNewNotifications((prevNotifications) => {\n            return uniqBy(\n                [...(prevNotifications || []), ...(event.newNotifications || []).slice(0, UNREAD_NOTIFICATIONS_LIMIT)],\n                (notification) => notification.id,\n            );\n        });\n    });\n\n    const handleMarkAsOld = React.useCallback(\n        (notification: AnyNotificationT) => {\n            const { id } = notification;\n            if (!id) {\n                logWarning('empty notification id');\n                return;\n            }\n\n            setNewNotifications((prevNotifications) => {\n                return prevNotifications.filter((notification) => {\n                    return notification.id !== id;\n                });\n            });\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [dispatch],\n    );\n\n    const handleMarkAsRead = React.useCallback(\n        (notification: AnyNotificationT) => {\n            const { id, readAlready } = notification;\n            if (!id) {\n                logWarning('empty notification id');\n                return;\n            }\n\n            setNewNotifications((prevNotifications) => {\n                return prevNotifications.filter((notification) => {\n                    return notification.id !== id;\n                });\n            });\n\n            if (!readAlready) {\n                dispatch(markAsRead([id]));\n            }\n        },\n        [dispatch],\n    );\n\n    return (\n        <div\n            className={className}\n            onClick={(event) => {\n                event.stopPropagation();\n                event.preventDefault();\n            }}\n        >\n            {newNotifications.map((notification, notificationIndex): React.ReactNode => {\n                const notificationToastView: NotificationToastViewT =\n                    renderCommonNotificationToast(notification) ||\n                    renderNotificationToast(notification) ||\n                    getUnknownNotificationToast(notification);\n\n                const key = notification.id || notificationIndex;\n\n                return (\n                    <Toast\n                        key={key}\n                        className={cx('notification')}\n                        onClose={() => {\n                            handleMarkAsOld(notification);\n                        }}\n                    >\n                        {(onClose) => {\n                            const link: ReturnType<NotificationLinkFactoryT> =\n                                getNotificationLink(notification) || null;\n\n                            return (\n                                <NotificationToastContent\n                                    key={key}\n                                    {...notificationToastView}\n                                    onClick={\n                                        link\n                                            ? () => {\n                                                  handleMarkAsRead(notification);\n\n                                                  if (link) {\n                                                      history.push(link);\n                                                  }\n                                              }\n                                            : null\n                                    }\n                                    onClose={onClose}\n                                />\n                            );\n                        }}\n                    </Toast>\n                );\n            })}\n        </div>\n    );\n});\n\nexport default NotificationToastsManager;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { SEC_IN_HOUR, SEC_IN_MIN } from 'common/utils/time';\nimport { convertToKm, M_IN_KM } from 'common/utils/distance';\nimport { TFunction } from 'i18next';\nimport { useTranslation } from 'react-i18next';\nimport { formatThousandNumber } from 'common/utils/formatters';\nimport classNames from 'classnames/bind';\nimport styles from './MapFooterEstimate.scss';\nimport MapFooter from 'common/components/maps/MapFooter/MapFooter';\nimport cs from 'classnames';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    distanceM: number | undefined;\n    travelTimeSec: number | undefined;\n    isLoading: boolean;\n};\n\nconst formatDistance = (t: TFunction, distanceM: number | undefined): React.ReactNode => {\n    if (distanceM === undefined) {\n        return null;\n    }\n\n    if (distanceM <= M_IN_KM) {\n        return t('common:short-meters', {\n            value: formatThousandNumber(Math.round(distanceM)),\n        });\n    }\n\n    return t('common:short-kilometers', {\n        value: formatThousandNumber(convertToKm(distanceM)),\n    });\n};\n\nconst formatDurationSec = (t: TFunction, durationSec: number | undefined): React.ReactNode => {\n    if (durationSec === undefined) {\n        return null;\n    }\n\n    if (durationSec < SEC_IN_HOUR) {\n        const roundedDuration = Math.round(durationSec / SEC_IN_MIN);\n        return `${roundedDuration} ${t('common:minutes', {\n            postProcess: 'interval',\n            count: roundedDuration,\n        })}`;\n    }\n\n    const roundedDuration = Math.round(durationSec / SEC_IN_HOUR);\n    return `${roundedDuration} ${t('common:hours', {\n        postProcess: 'interval',\n        count: Math.round(durationSec / SEC_IN_HOUR),\n    })}`;\n};\n\nconst MapFooterEstimate: React.FC<PropsT> = React.memo((props) => {\n    const { className, isLoading, distanceM, travelTimeSec } = props;\n\n    const { t } = useTranslation();\n\n    const hasMetrics = isNumber(distanceM) && isNumber(travelTimeSec);\n    if (!hasMetrics && !isLoading) {\n        return null;\n    }\n\n    return (\n        <MapFooter>\n            <div className={cs(cx('estimate'), className)}>\n                {isLoading && (\n                    <div className={cx('loader')}>\n                        <ControlLoaderIcon\n                            className={cx('loader-icon')}\n                            fillColor={StyleGuideColorsEnum.charcoal}\n                            size={DEFAULT_ICON_SIZE}\n                        />\n                        <span className={cx('loader-text')}>{t('common:maps.loading')}</span>\n                    </div>\n                )}\n                {hasMetrics && !isLoading && (\n                    <span>\n                        {formatDistance(t, distanceM)}\n                        {' / ~'}\n                        {formatDurationSec(t, travelTimeSec)}\n                    </span>\n                )}\n            </div>\n        </MapFooter>\n    );\n});\n\nexport default MapFooterEstimate;\n","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"TimeIntervalDurationPillLabel__text___XIfgc\",\"fadeIn\":\"TimeIntervalDurationPillLabel__fadeIn___rDgdn\",\"blinking\":\"TimeIntervalDurationPillLabel__blinking___gydoH\"};","import { PageSortT, SortDirectionEnum } from 'common/utils/query';\nimport { FetchBrokerTeamsPageQueryT } from 'broker-admin/store/broker-teams/models';\nimport { BrokerUsersTeamsSortEnum, QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\n\nconst formatSort = (sort: PageSortT<BrokerUsersTeamsSortEnum> | null): FetchBrokerTeamsPageQueryT['sorting'] | null => {\n    switch (sort?.value) {\n        case BrokerUsersTeamsSortEnum.name: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'NAME_ASC';\n            }\n            return 'NAME_DESC';\n        }\n        case BrokerUsersTeamsSortEnum.createdDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'CREATED_DATE_ASC';\n            }\n            return 'CREATED_DATE_DESC';\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<BrokerUsersTeamsSortEnum>,\n): FetchBrokerTeamsPageQueryT => {\n    return {\n        textSearch: queryFilters[QueryFiltersKeysEnum.searchText] || undefined,\n        companyIds: queryFilters[QueryFiltersKeysEnum.partnerIds] || undefined,\n        userIds: queryFilters[QueryFiltersKeysEnum.userIds] || undefined,\n        sorting: formatSort(sort) || undefined,\n    };\n};\n","import { ApiTourEditNewStopT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { RoutePointTypeEnum } from 'broker-admin/store/order-edit/models';\n\nexport const convertRoutePointType = (type: RoutePointTypeEnum | null): ApiTourEditNewStopT['type'] | null => {\n    if (type === RoutePointTypeEnum.driveThrough) {\n        return 'DRIVE_THROUGH';\n    }\n\n    if (type === RoutePointTypeEnum.dropAndHook) {\n        return 'DROP_AND_HOOK';\n    }\n\n    return null;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"PriceSettingsRuleFiltersSidebarContent__form___hB3Uu\",\"apply\":\"PriceSettingsRuleFiltersSidebarContent__apply___yy7ha\",\"field--name\":\"PriceSettingsRuleFiltersSidebarContent__field--name___kfM_q\",\"field--type\":\"PriceSettingsRuleFiltersSidebarContent__field--type___AhAvK\",\"field--countries\":\"PriceSettingsRuleFiltersSidebarContent__field--countries___cNZ7K\",\"field--price-component\":\"PriceSettingsRuleFiltersSidebarContent__field--price-component___QTXlm\",\"field--price-operation\":\"PriceSettingsRuleFiltersSidebarContent__field--price-operation___AErLt\",\"field--user\":\"PriceSettingsRuleFiltersSidebarContent__field--user___KxcbU\",\"field--dates\":\"PriceSettingsRuleFiltersSidebarContent__field--dates___XL4RZ\",\"field--trailer-types\":\"PriceSettingsRuleFiltersSidebarContent__field--trailer-types___Ex8wn\",\"field--partners\":\"PriceSettingsRuleFiltersSidebarContent__field--partners___uSBib\",\"controls\":\"PriceSettingsRuleFiltersSidebarContent__controls____IIzn\",\"fadeIn\":\"PriceSettingsRuleFiltersSidebarContent__fadeIn____c80P\",\"blinking\":\"PriceSettingsRuleFiltersSidebarContent__blinking___yJotz\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"UserSelectList__inner___OwBsl\",\"checkbox\":\"UserSelectList__checkbox___BG0DU\",\"checkbox-label\":\"UserSelectList__checkbox-label___MBBJl\",\"row\":\"UserSelectList__row___hle2K\",\"row--half-opacity\":\"UserSelectList__row--half-opacity___fVnze\",\"row__avatar\":\"UserSelectList__row__avatar___zjuVi\",\"row__text\":\"UserSelectList__row__text___e8rPw\",\"row__pills\":\"UserSelectList__row__pills___ptDuI\",\"pending-users-switcher\":\"UserSelectList__pending-users-switcher___AxkYh\",\"fadeIn\":\"UserSelectList__fadeIn___toZG2\",\"blinking\":\"UserSelectList__blinking___fmKZu\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FetchBrokerOrdersPageActionT } from './types';\nimport {\n    fetchBrokerOrdersPage,\n    fetchBrokerOrdersPageBegin,\n    fetchBrokerOrdersPageError,\n    fetchBrokerOrdersPageSuccess,\n    resetBrokerOrders,\n} from './slice';\nimport { selectBrokerOrdersPages, selectBrokerOrdersQuery } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { brokerOrdersPaginationChannel } from 'broker-admin/store/broker-orders/channels';\n\nfunction* fetchBrokerOrdersSaga(action: FetchBrokerOrdersPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options } = action.payload;\n\n    const prevQuery: ReturnType<typeof selectBrokerOrdersQuery> = yield select(selectBrokerOrdersQuery);\n    const pages: ReturnType<typeof selectBrokerOrdersPages> = yield select(selectBrokerOrdersPages);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetBrokerOrders({ mutationListOptions: { savingPageNumber: pageNumber } }));\n    }\n\n    yield put(fetchBrokerOrdersPageBegin({ query, pageNumber }));\n\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.fetchBrokerOrdersPage> =\n        yield brokerTranziitApi.fetchBrokerOrdersPage({\n            ...query,\n            page: pageNumber,\n        });\n\n    if (error) {\n        yield put(fetchBrokerOrdersPageError({ query, pageNumber, error }));\n        return;\n    }\n\n    yield put(fetchBrokerOrdersPageSuccess({ query, pageNumber, pageResponse: response }));\n\n    checkShouldEmitChangePage(pageNumber, response, brokerOrdersPaginationChannel);\n}\n\nfunction* brokerOrdersSaga(): WrapGeneratorT<void> {\n    yield takeEvery(fetchBrokerOrdersPage.type, fetchBrokerOrdersSaga);\n}\n\nexport default brokerOrdersSaga;\n","import {\n    OrderStatusEnum,\n    RFQStatusEnum,\n    ShipmentStatusEnum,\n    TourStatusEnum,\n    TransportOrderStatusEnum,\n} from 'common/utils/api/models';\nimport { NotificationEmotionEnum } from 'common/store/notifications/models';\n\nexport const EMOTION_LOAD_STATUS_MAP: Record<ShipmentStatusEnum, NotificationEmotionEnum> = {\n    [ShipmentStatusEnum.awaitingLoading]: NotificationEmotionEnum.neutral,\n    [ShipmentStatusEnum.loading]: NotificationEmotionEnum.neutral,\n    [ShipmentStatusEnum.inTransit]: NotificationEmotionEnum.neutral,\n    [ShipmentStatusEnum.unloading]: NotificationEmotionEnum.neutral,\n    [ShipmentStatusEnum.delivered]: NotificationEmotionEnum.positive,\n    [ShipmentStatusEnum.canceled]: NotificationEmotionEnum.neutral,\n};\n\nexport const EMOTION_ORDER_STATUS_MAP: Record<OrderStatusEnum, NotificationEmotionEnum> = {\n    [OrderStatusEnum.placed]: NotificationEmotionEnum.neutral,\n    [OrderStatusEnum.inProgress]: NotificationEmotionEnum.neutral,\n    [OrderStatusEnum.canceled]: NotificationEmotionEnum.neutral,\n    [OrderStatusEnum.delivered]: NotificationEmotionEnum.neutral,\n    [OrderStatusEnum.done]: NotificationEmotionEnum.positive,\n};\n\nexport const EMOTION_TOUR_STATUS_MAP: Record<TourStatusEnum, NotificationEmotionEnum> = {\n    [TourStatusEnum.carrierUnassigned]: NotificationEmotionEnum.negative,\n    [TourStatusEnum.carrierAssigned]: NotificationEmotionEnum.neutral,\n    [TourStatusEnum.inTransit]: NotificationEmotionEnum.neutral,\n    [TourStatusEnum.finished]: NotificationEmotionEnum.positive,\n    [TourStatusEnum.canceled]: NotificationEmotionEnum.neutral,\n};\n\nexport const EMOTION_TRANSPORTATION_STATUS_MAP: Record<TransportOrderStatusEnum, NotificationEmotionEnum> = {\n    [TransportOrderStatusEnum.assetsUnassigned]: NotificationEmotionEnum.negative,\n    [TransportOrderStatusEnum.driverUnassigned]: NotificationEmotionEnum.negative,\n    [TransportOrderStatusEnum.assigned]: NotificationEmotionEnum.neutral,\n    [TransportOrderStatusEnum.inTransit]: NotificationEmotionEnum.neutral,\n    [TransportOrderStatusEnum.done]: NotificationEmotionEnum.positive,\n    [TransportOrderStatusEnum.canceled]: NotificationEmotionEnum.neutral,\n    [TransportOrderStatusEnum.declined]: NotificationEmotionEnum.neutral,\n    [TransportOrderStatusEnum.unknown]: NotificationEmotionEnum.neutral,\n};\n\nexport const EMOTION_ORDER_DRAFT_STATUS_MAP: Record<RFQStatusEnum, NotificationEmotionEnum> = {\n    [RFQStatusEnum.open]: NotificationEmotionEnum.neutral,\n    [RFQStatusEnum.expireSoon]: NotificationEmotionEnum.attention,\n    [RFQStatusEnum.expired]: NotificationEmotionEnum.negative,\n    [RFQStatusEnum.completed]: NotificationEmotionEnum.positive,\n    [RFQStatusEnum.closed]: NotificationEmotionEnum.neutral,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"alerts\":\"AlertGroup__alerts___hbgSM\",\"fadeIn\":\"AlertGroup__fadeIn___uvBr7\",\"blinking\":\"AlertGroup__blinking___xBCEE\"};","import { ApiEditOrderContextT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { getContextRoutePointHash } from 'broker-admin/store/order-edit/utils/get-context-route-point-hash';\nimport { ContextRoutePointHashT } from 'broker-admin/store/order-edit/models';\n\nexport const getDeletedStopHashes = (\n    prevContext: ApiEditOrderContextT | null,\n    contextAfterModify: ApiEditOrderContextT | null,\n): Array<ContextRoutePointHashT> => {\n    const prevStopsHashes =\n        prevContext?.tours\n            ?.flatMap((tour) => {\n                return tour?.stops || [];\n            })\n            .map((stop) => getContextRoutePointHash(stop)) || [];\n\n    const contextStopsHashes =\n        contextAfterModify?.tours\n            ?.flatMap((tour) => {\n                return tour?.stops || [];\n            })\n            .map((stop) => getContextRoutePointHash(stop)) || [];\n\n    return prevStopsHashes.filter((hash) => !contextStopsHashes.includes(hash));\n};\n","import * as React from 'react';\nimport { BrokerTeamShortT } from 'broker-admin/store/broker-teams/models';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = {\n    brokerTeamShort: BrokerTeamShortT;\n};\n\nconst PartnersCountCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTeamShort } = props;\n\n    const partnersCount = brokerTeamShort?.numberOfCompanies || 0;\n\n    return (\n        <PillLabel isSymmetrical theme={partnersCount ? PillLabelThemeEnum.charcoal : PillLabelThemeEnum.grey}>\n            {partnersCount}\n        </PillLabel>\n    );\n});\n\nexport default PartnersCountCell;\n","import React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { PartnerTypeEnum, RolesEnum, UserRoleT } from 'common/utils/api/models';\n\nimport { useTranslation } from 'react-i18next';\nimport { USER_ROLE_T_MAP } from 'common/utils/users';\nimport { ALL_ROLES_BY_PARTNER_TYPE } from 'common/store/auth/constants';\nimport DropdownMultipleInput from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { CheckboxPropsT, CheckboxThemeEnum } from 'design-system/components/Checkbox/Checkbox';\n\ntype ValueT = UserRoleT;\n\ntype RoleOptionT = {\n    label: string;\n    value: ValueT;\n    isDisabled?: boolean;\n    theme?: CheckboxThemeEnum;\n};\n\ntype PropsT = {\n    value: Array<ValueT>;\n    initialValue?: Array<ValueT>;\n    placeholder?: string;\n    isDisabled?: boolean;\n    onChange: (value: Array<ValueT>) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    availableRoles: Array<RolesEnum>;\n    overlayPosition?: DropdownOverlayPositionEnum;\n};\n\nexport const getAvailableRolesByPartnerType = (partnerType: PartnerTypeEnum): Array<RolesEnum> => {\n    return ALL_ROLES_BY_PARTNER_TYPE[partnerType];\n};\n\nconst adminRolesSet = new Set<UserRoleT>([RolesEnum.companyAdmin]);\n\nconst UserRolesDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        placeholder,\n        value,\n        initialValue,\n        availableRoles,\n        overlayPosition,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const renderOption = React.useCallback((option: RoleOptionT | null | undefined): React.ReactNode => {\n        return option?.label;\n    }, []);\n\n    const getOptionValue = React.useCallback((option: RoleOptionT) => option?.value, []);\n\n    const isSelectedAnyAdminRole = React.useMemo(() => {\n        return value.some((item) => adminRolesSet.has(item));\n    }, [value]);\n\n    const initialValueSet = React.useMemo(() => {\n        if (!initialValue) {\n            return null;\n        }\n\n        return new Set(initialValue);\n    }, [initialValue]);\n\n    const valueSet = React.useMemo(() => {\n        return new Set(value || []);\n    }, [value]);\n\n    const getCheckboxProps = React.useCallback(\n        (option: RoleOptionT) => {\n            const checkboxProps: Partial<CheckboxPropsT> = {};\n\n            if (initialValueSet) {\n                const hasChanges =\n                    (initialValueSet.has(option.value) && !valueSet.has(option.value)) ||\n                    (!initialValueSet.has(option.value) && valueSet.has(option.value));\n\n                checkboxProps.theme = hasChanges ? CheckboxThemeEnum.orange : CheckboxThemeEnum.green;\n            }\n\n            if (isSelectedAnyAdminRole && !adminRolesSet.has(option.value)) {\n                checkboxProps.isDisabled = true;\n            }\n\n            return checkboxProps;\n        },\n        [isSelectedAnyAdminRole, initialValueSet, valueSet],\n    );\n\n    const options = React.useMemo((): Array<RoleOptionT | SpecialOptionEnum> => {\n        const otherAvailableRoles = availableRoles.filter((role) => !adminRolesSet.has(role));\n\n        const otherRolesOptions = otherAvailableRoles.map((role) => {\n            return {\n                label: t(USER_ROLE_T_MAP[role]),\n                value: role,\n            };\n        });\n\n        const adminAvailableRoles = availableRoles.filter((role) => adminRolesSet.has(role));\n\n        const adminRolesOptions = adminAvailableRoles.map((role) => {\n            return {\n                label: t(USER_ROLE_T_MAP[role]),\n                value: role,\n            };\n        });\n\n        return [\n            ...otherRolesOptions,\n            ...(adminRolesOptions?.length ? [SpecialOptionEnum.separator, ...adminRolesOptions] : []),\n        ];\n    }, [availableRoles, t]);\n\n    const handleSelect = React.useCallback(\n        (value: Array<ValueT>): void => {\n            const hasAdminRole = value.some((item) => {\n                return adminRolesSet.has(item);\n            });\n\n            let newValue = value;\n            if (hasAdminRole) {\n                newValue = value.filter((item) => {\n                    return adminRolesSet.has(item);\n                });\n            }\n\n            onChange(newValue);\n        },\n        [onChange],\n    );\n\n    return (\n        <DropdownMultipleInput<RoleOptionT, RoleOptionT['value']>\n            selectedValues={value}\n            placeholder={placeholder}\n            options={options}\n            isDisabled={isDisabled}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onSelect={handleSelect}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            hasChanges={hasChanges}\n            isNoWrapTrigger\n            getCheckboxProps={getCheckboxProps}\n            renderTriggerContent={(selectedOptions, placeholder) => {\n                if (!selectedOptions?.length) {\n                    return placeholder;\n                }\n\n                return selectedOptions?.map((option) => option.label).join(', ');\n            }}\n        />\n    );\n});\n\nexport default UserRolesDropdown;\n","import { BaseSecurityAuthApi } from './base-security-auth-api';\nimport { AuthApiError } from 'common/utils/api/auth/errors/auth-api-error';\nimport { AuthUserClaimRoleT } from 'common/utils/api/models';\n\ntype AuthUserClaimsT = {\n    roles: Array<AuthUserClaimRoleT>;\n};\n\ntype PasswordT = string;\ntype EmailAddressT = string;\n\ntype AuthUserT = {\n    email: EmailAddressT | null;\n    displayName: string | null;\n    isAnonymous: boolean;\n};\n\ntype AuthAccountUrlsT = {\n    changeCreds: string;\n};\n\ntype AuthStateChangedCallbackT = (user: AuthUserT | null) => void;\n\ntype AuthUnsubscribeCallbackT = () => void;\n\nabstract class BaseAuthService extends BaseSecurityAuthApi {\n    abstract checkAllowedAnonymouslyUserCreation: () => boolean;\n\n    abstract doSignOut: () => Promise<[AuthApiError | null, null]>;\n\n    abstract signInWithEmailAndPassword: (\n        email: EmailAddressT,\n        password: PasswordT,\n    ) => Promise<[AuthApiError | null, AuthUserT | null]>;\n\n    abstract getAuthUserClaims: () => Promise<[AuthApiError | null, AuthUserClaimsT | null]>;\n\n    abstract getAccountUrls: () => Promise<[AuthApiError | null, AuthAccountUrlsT | null]>;\n\n    abstract verificationEmail: (code: string) => Promise<[AuthApiError | null, null]>;\n\n    abstract onAuthStateChanged: (resolver: AuthStateChangedCallbackT) => AuthUnsubscribeCallbackT;\n\n    abstract createAnonymouslyUser: () => Promise<[AuthApiError | null, AuthUserT | null]>;\n\n    abstract updatePassword: (code: string, password: PasswordT) => Promise<[AuthApiError | null, null]>;\n\n    abstract reauthenticateWithCredential: (\n        email: EmailAddressT,\n        password: PasswordT,\n    ) => Promise<[AuthApiError | null, AuthUserT | null]>;\n\n    abstract changePassword: (newPassword: PasswordT) => Promise<[AuthApiError | null, null]>;\n\n    abstract updateProfile: (displayName: string, photoURL?: string) => Promise<[AuthApiError | null, null]>;\n\n    abstract checkIsContinueSignInRedirect: () => boolean;\n\n    abstract destroySession: () => void;\n\n    abstract createSignInUrl: (continueReturnUrl?: string) =>\n        | {\n              pathname: string;\n              search: string;\n          }\n        | string;\n\n    abstract createSignInUrlAfterChangePassword: () =>\n        | {\n              pathname: string;\n              search: string;\n          }\n        | string;\n\n    abstract createSignUpUrl: () => string;\n\n    abstract createForgotPasswordUrl: () => string;\n\n    abstract createChangePasswordUrl: () => string;\n\n    abstract createAccountUrl: () => string;\n\n    abstract forceRefreshToken: () => Promise<[AuthApiError | null, boolean | null]>;\n}\n\nexport {\n    AuthStateChangedCallbackT,\n    BaseAuthService,\n    EmailAddressT,\n    PasswordT,\n    AuthUserT,\n    AuthUserClaimsT,\n    AuthAccountUrlsT,\n    AuthUnsubscribeCallbackT,\n};\n","import qs from 'qs';\n\nconst stringifyQuery = (query: Record<string, any>) => {\n    return qs.stringify(query, { indices: false, addQueryPrefix: true });\n};\n\nexport { stringifyQuery };\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './QuickFiltersButtonGroups.scss';\n\nimport isEmpty from 'lodash/isEmpty';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n    NotificationPropsT,\n} from '../../notifications/NotificationLabel/NotificationLabel';\nimport groupBy from 'lodash/groupBy';\nimport isEqual from 'lodash/isEqual';\nimport Button, { ButtonThemeEnum } from '../../Button/Button';\n\nconst cx = classNames.bind(styles);\n\nexport type QuickFiltersOptionT<ValueT> = {\n    id: ValueT | undefined;\n    showPriority: number;\n    hidePriority: number;\n    label: string;\n    notificationProps?: NotificationPropsT | null;\n    testSelector: string;\n};\n\nexport type PropsT<ValueT> = {\n    className?: string;\n    selectedId: ValueT | undefined;\n    onSelect: (id: ValueT | undefined) => void;\n    options: Array<QuickFiltersOptionT<ValueT>>;\n    revertSeparatorIndexes?: number[];\n    moreStatusesLabel: string;\n    testSelector?: string;\n};\n\nconst sortByShowPriorityAsc = <ValueT extends string>(\n    optionA: QuickFiltersOptionT<ValueT>,\n    optionB: QuickFiltersOptionT<ValueT>,\n): number => {\n    return optionA.showPriority - optionB.showPriority;\n};\n\ntype OptionWidthByIdT = Record<string, number>;\n\nconst getFullWidth = <ValueT extends string>(\n    options: Array<QuickFiltersOptionT<ValueT>>,\n    optionWidthById: OptionWidthByIdT,\n): number => {\n    return options.reduce((summaryWidth, option) => {\n        return summaryWidth + (optionWidthById[option.id as string] || 0);\n    }, 0);\n};\n\nconst reduceTriggerNotificationProps = <ValueT extends string>(\n    options: Array<QuickFiltersOptionT<ValueT>>,\n): null | NotificationPropsT => {\n    const notificationGroups = groupBy(options, 'notificationProps.theme');\n\n    const reduceNotificationGroup = (options: Array<QuickFiltersOptionT<ValueT>>) => {\n        return options.reduce((summary, option) => {\n            return summary + (option?.notificationProps?.count || 0);\n        }, 0);\n    };\n\n    if (notificationGroups[NotificationLabelThemeEnum.red]) {\n        return {\n            count: reduceNotificationGroup(notificationGroups[NotificationLabelThemeEnum.red]),\n            theme: NotificationLabelThemeEnum.red,\n            isShowPlusSign: true,\n        };\n    }\n\n    if (notificationGroups[NotificationLabelThemeEnum.orange]) {\n        return {\n            count: reduceNotificationGroup(notificationGroups[NotificationLabelThemeEnum.orange]),\n            theme: NotificationLabelThemeEnum.orange,\n            isShowPlusSign: true,\n        };\n    }\n\n    if (notificationGroups[NotificationLabelThemeEnum.green]) {\n        return {\n            count: reduceNotificationGroup(notificationGroups[NotificationLabelThemeEnum.green]),\n            theme: NotificationLabelThemeEnum.green,\n        };\n    }\n\n    return null;\n};\n\nconst PROXIMITY = 10;\n\nconst QuickFiltersButtonGroups = <ValueT extends string>(props: PropsT<ValueT>): React.ReactElement | null => {\n    const { selectedId, onSelect, options, className, moreStatusesLabel, testSelector, revertSeparatorIndexes } = props;\n\n    const [optionWidthById, setOptionWidthById] = React.useState<OptionWidthByIdT>({});\n\n    const [containerWidth, setContainerWidth] = React.useState<number | null>(null);\n\n    const [containerNode, setContainerNode] = React.useState<HTMLDivElement | null>(null);\n    const containerRef = React.useCallback((containerNode) => {\n        if (containerNode !== null) {\n            setContainerNode(containerNode);\n            setContainerWidth(containerNode.offsetWidth);\n        }\n    }, []);\n\n    React.useEffect(() => {\n        if (!containerNode || !containerNode.firstChild) {\n            return;\n        }\n\n        // @ts-ignore Property 'children' does not exist on type 'ChildNode'.\n        const { children } = containerNode.firstChild;\n        if (!children) {\n            return;\n        }\n\n        const widthById: Record<string, number> = {};\n\n        for (let index = 0; index < children.length; index += 1) {\n            const child = children[index];\n            const id = child?.getAttribute('data-id') || 'undefined';\n            widthById[id] = (child?.offsetWidth || 0) + 0.5; // fix subpixel problem\n        }\n\n        const newOptionWidthById = {\n            ...optionWidthById,\n            ...widthById,\n        };\n\n        if (!isEqual(newOptionWidthById, optionWidthById)) {\n            setOptionWidthById(newOptionWidthById);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [containerNode, options, moreStatusesLabel]);\n\n    React.useLayoutEffect(() => {\n        const measureContainer = () => {\n            if (!containerNode) {\n                return;\n            }\n\n            setContainerWidth(containerNode.offsetWidth);\n        };\n\n        window.addEventListener('resize', measureContainer);\n\n        return () => {\n            window.removeEventListener('resize', measureContainer);\n        };\n    }, [containerNode]);\n\n    const moreRef = React.createRef<HTMLDivElement>();\n    const [moreWidth, setMoreWidth] = React.useState<number | null>(null);\n    React.useEffect(() => {\n        setMoreWidth(moreRef.current?.offsetWidth || 0);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [moreRef.current]);\n\n    const sortedOptionsByHidePriority = options.sort((optionA, optionB) => {\n        return optionA.hidePriority - optionB.hidePriority;\n    });\n\n    const isMeasuring = isEmpty(optionWidthById) || containerWidth === null;\n\n    let optionsWidthLimit = isMeasuring || containerWidth === null ? Infinity : containerWidth - PROXIMITY;\n\n    const optionsForShow = [...sortedOptionsByHidePriority];\n    const optionsForHide = [];\n\n    let optionsWidth = getFullWidth(optionsForShow, optionWidthById);\n\n    if (optionsWidth > optionsWidthLimit && moreWidth !== null) {\n        optionsWidthLimit -= moreWidth;\n    }\n\n    while (optionsWidth > optionsWidthLimit) {\n        const option = optionsForShow.pop();\n        if (option) {\n            optionsForHide.push(option);\n            const optionWidth = optionWidthById[option?.id as string];\n            optionsWidth -= optionWidth;\n        }\n    }\n\n    const sortedOptionsForShow = isMeasuring ? options : optionsForShow.sort(sortByShowPriorityAsc);\n\n    const optionsForMeasure: Array<QuickFiltersOptionT<ValueT>> = [\n        {\n            // @ts-ignore\n            id: '',\n            showPriority: 0,\n            hidePriority: 0,\n            label: '',\n        },\n    ];\n\n    const rawDropdownOptions = isMeasuring ? optionsForMeasure : optionsForHide.sort(sortByShowPriorityAsc);\n\n    const dropdownOptions = rawDropdownOptions.map((option, optionIndex) => ({\n        label: (\n            <DropdownControlOptionLabel\n                key={optionIndex}\n                isSelected={selectedId === option.id}\n                label={\n                    <>\n                        {option.notificationProps && (\n                            <NotificationLabel className={cx('notification')} {...option.notificationProps} />\n                        )}\n                        {option.label}\n                    </>\n                }\n            />\n        ),\n        onSelect: () => {\n            onSelect(option.id);\n        },\n    }));\n\n    const triggerNotificationProps = reduceTriggerNotificationProps(rawDropdownOptions);\n\n    React.useEffect(() => {\n        setMoreWidth(moreRef.current?.offsetWidth || 0);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [`${triggerNotificationProps?.count}-${triggerNotificationProps?.theme}`, moreRef.current]);\n\n    const dropdownOptionsWithSeparators = React.useMemo(() => {\n        const { length } = dropdownOptions;\n        const options: Array<DropdownControlOptionT | SpecialOptionEnum> = [...dropdownOptions];\n\n        (revertSeparatorIndexes || []).forEach((separatorIndex) => {\n            if (separatorIndex >= length) {\n                return;\n            }\n\n            const originalIndex = length - separatorIndex;\n            const originalOptions = dropdownOptions[originalIndex];\n            const index = options.findIndex((option) => option === originalOptions);\n\n            options.splice(index, 0, SpecialOptionEnum.separator);\n        });\n\n        return options;\n    }, [dropdownOptions, revertSeparatorIndexes]);\n\n    return (\n        <div className={cs(cx('wrap'), className)} ref={containerRef}>\n            <div className={cx('container', { 'container--isMeasuring': isMeasuring })}>\n                {sortedOptionsForShow.map((option, optionIndex) => {\n                    const isSelected = selectedId === option.id;\n\n                    return (\n                        <div className={cx('option')} key={optionIndex} data-id={String(option.id)}>\n                            <Button\n                                horizontalSpaces=\"s\"\n                                className={cx('option-button', { 'option-button--isSelected': isSelected })}\n                                theme={ButtonThemeEnum.transparent}\n                                testSelector={`${testSelector}_${option.testSelector}`}\n                                isToggled={isSelected}\n                                onClick={() => {\n                                    onSelect(option.id);\n                                }}\n                                leftIcon={\n                                    option.notificationProps?.count ? (\n                                        <NotificationLabel {...option.notificationProps} />\n                                    ) : null\n                                }\n                            >\n                                {option.label}\n                            </Button>\n                        </div>\n                    );\n                })}\n                <div className={cx('toggle')} ref={moreRef} data-id=\"more-statuses\">\n                    <DropdownControl\n                        options={dropdownOptionsWithSeparators}\n                        testSelector={`${testSelector}_more-statuses`}\n                        renderTrigger={(isActive, onClick) => (\n                            <Button\n                                horizontalSpaces=\"s\"\n                                onClick={onClick}\n                                isPressed={isActive}\n                                testSelector={`${testSelector}_more-statuses`}\n                                leftIcon={\n                                    triggerNotificationProps ? (\n                                        <NotificationLabel {...triggerNotificationProps} />\n                                    ) : null\n                                }\n                                rightIcon={<ArrowsIcon />}\n                                theme={ButtonThemeEnum.transparent}\n                            >\n                                {moreStatusesLabel}\n                            </Button>\n                        )}\n                        overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                    />\n                </div>\n            </div>\n        </div>\n    );\n};\n\nexport default React.memo(QuickFiltersButtonGroups) as typeof QuickFiltersButtonGroups;\n","// extracted by mini-css-extract-plugin\nexport default {\"trigger\":\"TableActions__trigger___oV0MP\",\"trigger__label\":\"TableActions__trigger__label___TdQQv\",\"fadeIn\":\"TableActions__fadeIn___YMscs\",\"blinking\":\"TableActions__blinking___z8ZEy\"};","import React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './SideBar.scss';\nimport {\n    CloseCallbackOptionsT,\n    CommonSidebarContentPropsT,\n    GetSidebarCloseConfirmationT,\n    RenderSidebarContentT,\n    SidebarContentPropsT,\n    SideBarPositionEnum,\n} from 'common/layouts/SideBars/models';\nimport OutsideClickHandler from 'design-system/components/OutsideClickHandler/OutsideClickHandler';\nimport { isInsideFloatingUiPortal } from 'common/utils/floating-ui';\nimport SideBarCloseConfirmation from 'common/layouts/SideBars/SideBarCloseConfirmation/SideBarCloseConfirmation';\nimport { KeyEnum } from 'common/constants';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport SideBarLayout, { SideBarSizeEnum } from 'common/layouts/SideBars/SideBarLayout/SideBarLayout';\nimport SideBarLayoutContextWrap from '../../LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT<T> = CommonSidebarContentPropsT<T> & {\n    data: T;\n    size: SideBarSizeEnum;\n    renderSidebarContent: RenderSidebarContentT<T>;\n    getSidebarCloseConfirmation: GetSidebarCloseConfirmationT<T>;\n};\n\nenum CloseActionEnum {\n    close = 'close',\n    goBack = 'go-back',\n}\n\ntype CloseSideBarConfirmationT = {\n    type: CloseActionEnum;\n};\n\nconst SideBar = <T,>(props: PropsT<T>): React.ReactElement | null => {\n    const {\n        data,\n        size,\n        position,\n        onClose,\n        onGoBack,\n        onOpenNextSidebar,\n        renderSidebarContent,\n        getSidebarCloseConfirmation,\n    } = props;\n\n    const closeSideBarConfirmation = useModalDialog<CloseSideBarConfirmationT>();\n\n    const handleConfirm = React.useCallback(() => {\n        switch (closeSideBarConfirmation.data?.type) {\n            case CloseActionEnum.close: {\n                if (onClose) {\n                    onClose();\n                }\n                break;\n            }\n            case CloseActionEnum.goBack: {\n                if (onGoBack) {\n                    onGoBack();\n                }\n                break;\n            }\n            default: {\n                // TODO\n            }\n        }\n\n        closeSideBarConfirmation.setData(null);\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onClose, onGoBack, closeSideBarConfirmation.data, closeSideBarConfirmation.setData]);\n\n    const [needCloseConfirmation, setNeedCloseConfirmation] = React.useState<boolean>(false);\n\n    React.useEffect(() => {\n        if (needCloseConfirmation) {\n            setNeedCloseConfirmation(false);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [data]);\n\n    const handleClose = React.useCallback(\n        (options?: CloseCallbackOptionsT) => {\n            const isShowConfirmation = options ? options.needCloseConfirmation : needCloseConfirmation;\n            if (isShowConfirmation) {\n                closeSideBarConfirmation.setData({ type: CloseActionEnum.close });\n            } else if (onClose) {\n                onClose();\n            }\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [closeSideBarConfirmation.setData, needCloseConfirmation, onClose],\n    );\n\n    const handleGoBack = React.useCallback(\n        (options?: CloseCallbackOptionsT) => {\n            const isShowConfirmation = options ? options.needCloseConfirmation : needCloseConfirmation;\n            if (isShowConfirmation) {\n                closeSideBarConfirmation.setData({ type: CloseActionEnum.goBack });\n            } else if (onGoBack) {\n                onGoBack();\n            }\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [closeSideBarConfirmation.setData, needCloseConfirmation, onGoBack],\n    );\n\n    const handleCloseRef = React.useRef<typeof handleClose>(handleClose);\n    handleCloseRef.current = handleClose;\n\n    React.useEffect(() => {\n        const handleKeyDown = (event: KeyboardEvent): void => {\n            if (event.key === KeyEnum.escape) {\n                handleCloseRef.current();\n            }\n        };\n\n        document.addEventListener('keydown', handleKeyDown);\n\n        return () => {\n            document.removeEventListener('keydown', handleKeyDown);\n        };\n    }, []);\n\n    const handleOutsideClick = React.useCallback(\n        (event: any) => {\n            if (position === SideBarPositionEnum.left) {\n                const navigationNode = document.querySelector('div[data-dismiss=\"navigation\"]');\n                if (navigationNode?.contains(event.target)) {\n                    return;\n                }\n\n                const alertToastsManagerNode = document.querySelector('div[data-dismiss=\"alert-toasts-manager\"]');\n                if (alertToastsManagerNode?.contains(event.target)) {\n                    return;\n                }\n            }\n\n            const modalNode = document.querySelector('div[data-dismiss=\"modal\"]');\n            if (modalNode?.contains(event.target)) {\n                return;\n            }\n\n            if (isInsideFloatingUiPortal(event.target)) {\n                return;\n            }\n\n            handleClose();\n        },\n        [position, handleClose],\n    );\n\n    const commonSidebarContentProps: SidebarContentPropsT<T, T> = {\n        onOpenNextSidebar,\n        data,\n        onClose: handleClose,\n        onGoBack: onGoBack ? handleGoBack : null,\n        position,\n        setNeedCloseConfirmation,\n    };\n\n    return (\n        <>\n            <SideBarLayout position={position} size={size}>\n                <OutsideClickHandler onOutsideClick={handleOutsideClick} className={cx('wrapper')}>\n                    <SideBarLayoutContextWrap>\n                        {renderSidebarContent(commonSidebarContentProps)}\n                    </SideBarLayoutContextWrap>\n                </OutsideClickHandler>\n            </SideBarLayout>\n            <SideBarCloseConfirmation\n                isShow={closeSideBarConfirmation.isShow}\n                onCancel={closeSideBarConfirmation.onCancel}\n                onClose={closeSideBarConfirmation.onClose}\n                onConfirm={handleConfirm}\n                data={data}\n                getSidebarCloseConfirmation={getSidebarCloseConfirmation}\n            />\n        </>\n    );\n};\n\nexport default React.memo(SideBar) as typeof SideBar;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RuleTypeMultipleControl.scss';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useTranslation } from 'react-i18next';\nimport DropdownControlTriggerLabel from 'design-system/components/dropdowns/option/DropdownControlTriggerLabel/DropdownControlTriggerLabel';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport { ApiPriceRuleTypeRequestT, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport PriceRuleTypeLabel from 'broker-admin/components/PriceRuleTypeLabel/PriceRuleTypeLabel';\nimport uniq from 'lodash/uniq';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiPriceRuleTypeRequestT;\n\ntype PropsT = {\n    selectedValues: Array<ValueT>;\n    onSelect: (type: Array<ValueT>) => void;\n    className?: string;\n};\n\nconst RuleTypeMultipleControl: React.FC<PropsT> = (props) => {\n    const { selectedValues, onSelect, className } = props;\n\n    const { t } = useTranslation();\n\n    const handleSelectOption = React.useCallback(\n        (value: ApiPriceRuleTypeRequestT | null) => {\n            if (!value) {\n                onSelect([]);\n                return;\n            }\n\n            const hasAlready = selectedValues.includes(value);\n            if (hasAlready) {\n                onSelect(selectedValues.filter((item) => item !== value));\n            } else {\n                onSelect(uniq([...selectedValues, value]));\n            }\n        },\n        [selectedValues, onSelect],\n    );\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum> = React.useMemo(\n        () => [\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={!selectedValues?.length}\n                        label={t('price-settings.rules.filters.fields.type.all')}\n                    />\n                ),\n                onSelect: () => handleSelectOption(null),\n            },\n            SpecialOptionEnum.separator,\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={selectedValues.includes(PriceRuleTypeEnum.basic)}\n                        label={<PriceRuleTypeLabel ruleType={PriceRuleTypeEnum.basic} />}\n                    />\n                ),\n                onSelect: () => handleSelectOption(PriceRuleTypeEnum.basic),\n            },\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={selectedValues.includes(PriceRuleTypeEnum.shipper)}\n                        label={<PriceRuleTypeLabel ruleType={PriceRuleTypeEnum.shipper} />}\n                    />\n                ),\n                onSelect: () => handleSelectOption(PriceRuleTypeEnum.shipper),\n            },\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={selectedValues.includes(PriceRuleTypeEnum.carrier)}\n                        label={<PriceRuleTypeLabel ruleType={PriceRuleTypeEnum.carrier} />}\n                    />\n                ),\n                onSelect: () => handleSelectOption(PriceRuleTypeEnum.carrier),\n            },\n        ],\n        [t, selectedValues, handleSelectOption],\n    );\n\n    const triggerNode = React.useMemo(() => {\n        if (!selectedValues?.length) {\n            return <DropdownControlTriggerLabel label={t('price-settings.rules.filters.fields.type.all')} />;\n        }\n\n        return (\n            <DropdownControlTriggerLabel\n                label={\n                    <>\n                        {selectedValues.map((ruleType, ruleTypeIndex) => (\n                            <>\n                                <PriceRuleTypeLabel key={ruleType} ruleType={ruleType} />\n                                {ruleTypeIndex !== selectedValues.length - 1 ? ', ' : ''}\n                            </>\n                        ))}\n                    </>\n                }\n            />\n        );\n    }, [t, selectedValues]);\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    label={triggerNode}\n                    isPressed={isActive}\n                    onClick={onClick}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                    rightIcon={<ArrowsIcon />}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default RuleTypeMultipleControl;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const companyRefreshChannel = new ViewEventChannel<{}>();\n","import React from 'react';\nimport PhoneNumberDropdownInput, {\n    PropsT as PhoneNumberDropdownInputPropsT,\n} from './PhoneNumberDropdownInput/PhoneNumberDropdownInput';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport { selectCountriesDict } from 'common/store/countries-dict/selectors';\n\ntype PropsT = Omit<PhoneNumberDropdownInputPropsT, 'allCountries'>;\n\nconst PhoneNumberInput: React.FC<PropsT> = React.memo((props) => {\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const allCountries = useSelector(selectCountriesDict);\n\n    return <PhoneNumberDropdownInput {...props} allCountries={allCountries} />;\n});\n\nexport default PhoneNumberInput;\n","import { OverloadingTrailerValidationResultT } from '../footer-alert-contents/OverloadingTrailerValidationAlertContent/OverloadingTrailerValidationAlertContent';\nimport { UnitTypeEnum } from 'common/constants';\nimport { FormValuesT, RoutePointT, ShipmentFieldsEnum } from 'common/layouts/NewOrderPage/CargoDetailsForm/constants';\nimport { ApiTrailerDictTypeT, OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\nimport { FieldsEnum } from '../constants';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNumber from 'lodash/isNumber';\nimport findIndex from 'lodash/findIndex';\n\ntype MetaT = {\n    trailerType: ApiTrailerDictTypeT | null;\n    routePoints: Array<RoutePointT>;\n};\n\ntype StatsT = {\n    [UnitTypeEnum.eur1Pallets]: number;\n    [UnitTypeEnum.eur2Pallets]: number;\n    [UnitTypeEnum.eur6Pallets]: number;\n    [UnitTypeEnum.kilogramsAbbreviation]: number;\n};\n\nexport const validateOverloadingTrailer = (\n    formValues: FormValuesT,\n    meta: MetaT,\n): OverloadingTrailerValidationResultT | null => {\n    const { routePoints, trailerType } = meta;\n\n    if (!trailerType) {\n        return null;\n    }\n\n    const statsByPointId = routePoints.reduce<Record<RoutePointIdT, StatsT>>((acc, routePoint) => {\n        acc[routePoint.id] = {\n            [UnitTypeEnum.eur1Pallets]: 0,\n            [UnitTypeEnum.eur2Pallets]: 0,\n            [UnitTypeEnum.eur6Pallets]: 0,\n            [UnitTypeEnum.kilogramsAbbreviation]: 0,\n        };\n\n        return acc;\n    }, {});\n\n    const shipmentsFormValues = formValues[FieldsEnum.shipments] || [];\n    shipmentsFormValues.forEach((shipmentValues) => {\n        const pickupPointId = shipmentValues[ShipmentFieldsEnum.pickUpPointId];\n        const dropOffPointId = shipmentValues[ShipmentFieldsEnum.dropOffPointId];\n\n        const cargoUnitType = shipmentValues[ShipmentFieldsEnum.cargoUnitType];\n        const cargoUnitsCount = parseSimpleNumber(shipmentValues[ShipmentFieldsEnum.cargoUnitsCount]) || 0;\n        if (cargoUnitType === UnitTypeEnum.eur1Pallets) {\n            if (pickupPointId && statsByPointId[pickupPointId]) {\n                statsByPointId[pickupPointId][UnitTypeEnum.eur1Pallets] += cargoUnitsCount;\n            }\n\n            if (dropOffPointId && statsByPointId[dropOffPointId]) {\n                statsByPointId[dropOffPointId][UnitTypeEnum.eur1Pallets] -= cargoUnitsCount;\n            }\n        }\n\n        if (cargoUnitType === UnitTypeEnum.eur2Pallets) {\n            if (pickupPointId && statsByPointId[pickupPointId]) {\n                statsByPointId[pickupPointId][UnitTypeEnum.eur2Pallets] += cargoUnitsCount;\n            }\n\n            if (dropOffPointId && statsByPointId[dropOffPointId]) {\n                statsByPointId[dropOffPointId][UnitTypeEnum.eur2Pallets] -= cargoUnitsCount;\n            }\n        }\n\n        if (cargoUnitType === UnitTypeEnum.eur6Pallets) {\n            if (pickupPointId && statsByPointId[pickupPointId]) {\n                statsByPointId[pickupPointId][UnitTypeEnum.eur6Pallets] += cargoUnitsCount;\n            }\n\n            if (dropOffPointId && statsByPointId[dropOffPointId]) {\n                statsByPointId[dropOffPointId][UnitTypeEnum.eur6Pallets] -= cargoUnitsCount;\n            }\n        }\n\n        const cargoWeight = parseSimpleNumber(shipmentValues[ShipmentFieldsEnum.cargoWeight]) || 0;\n        if (pickupPointId && statsByPointId[pickupPointId]) {\n            statsByPointId[pickupPointId][UnitTypeEnum.kilogramsAbbreviation] += cargoWeight;\n        }\n\n        if (dropOffPointId && statsByPointId[dropOffPointId]) {\n            statsByPointId[dropOffPointId][UnitTypeEnum.kilogramsAbbreviation] -= cargoWeight;\n        }\n    });\n\n    let result: OverloadingTrailerValidationResultT | null = null;\n    const summaryStats: StatsT = {\n        [UnitTypeEnum.eur1Pallets]: 0,\n        [UnitTypeEnum.eur2Pallets]: 0,\n        [UnitTypeEnum.eur6Pallets]: 0,\n        [UnitTypeEnum.kilogramsAbbreviation]: 0,\n    };\n\n    routePoints?.forEach((routePoint, index) => {\n        if (!statsByPointId[routePoint.id] || result) {\n            return;\n        }\n\n        summaryStats[UnitTypeEnum.eur1Pallets] += statsByPointId[routePoint.id][UnitTypeEnum.eur1Pallets];\n        summaryStats[UnitTypeEnum.eur2Pallets] += statsByPointId[routePoint.id][UnitTypeEnum.eur2Pallets];\n        summaryStats[UnitTypeEnum.eur6Pallets] += statsByPointId[routePoint.id][UnitTypeEnum.eur6Pallets];\n        summaryStats[UnitTypeEnum.kilogramsAbbreviation] +=\n            statsByPointId[routePoint.id][UnitTypeEnum.kilogramsAbbreviation];\n\n        if (isNumber(trailerType.eur1Pallets) && summaryStats[UnitTypeEnum.eur1Pallets] > trailerType.eur1Pallets) {\n            result = {\n                unitType: UnitTypeEnum.eur1Pallets,\n                pointAIndex: index,\n                pointBIndex: findIndex(\n                    routePoints,\n                    (routePoint) => {\n                        return routePoint.type === OrderCreationReservePointTypeEnum.shipment;\n                    },\n                    index + 1,\n                ),\n            };\n        }\n\n        if (isNumber(trailerType.eur2Pallets) && summaryStats[UnitTypeEnum.eur2Pallets] > trailerType.eur2Pallets) {\n            result = {\n                unitType: UnitTypeEnum.eur2Pallets,\n                pointAIndex: index,\n                pointBIndex: findIndex(\n                    routePoints,\n                    (routePoint) => {\n                        return routePoint.type === OrderCreationReservePointTypeEnum.shipment;\n                    },\n                    index + 1,\n                ),\n            };\n        }\n\n        if (isNumber(trailerType.eur6Pallets) && summaryStats[UnitTypeEnum.eur6Pallets] > trailerType.eur6Pallets) {\n            result = {\n                unitType: UnitTypeEnum.eur6Pallets,\n                pointAIndex: index,\n                pointBIndex: findIndex(\n                    routePoints,\n                    (routePoint) => {\n                        return routePoint.type === OrderCreationReservePointTypeEnum.shipment;\n                    },\n                    index + 1,\n                ),\n            };\n        }\n\n        if (isNumber(trailerType.weight) && summaryStats[UnitTypeEnum.kilogramsAbbreviation] > trailerType.weight) {\n            result = {\n                unitType: UnitTypeEnum.kilogramsAbbreviation,\n                pointAIndex: index,\n                pointBIndex: findIndex(\n                    routePoints,\n                    (routePoint) => {\n                        return routePoint.type === OrderCreationReservePointTypeEnum.shipment;\n                    },\n                    index + 1,\n                ),\n            };\n        }\n    });\n\n    return result;\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerDetailsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport { PartnerDetailsT } from 'broker-admin/store/partner/details/models';\nimport { selectUpdatePartnerDetailsRequest } from 'broker-admin/store/partner/details/selectors';\nimport { updatePartnerDetails } from 'broker-admin/store/partner/details/actions';\nimport prepareApiPartnerDetails from './prepare-partner-details';\nimport { AddressTypeEnum, PartnerTypeEnum } from 'common/utils/api/models';\nimport LegalFormDropdown from 'common/components/dropdowns/LegalFormDropdown/LegalFormDropdown';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport Widget from 'common/components/Widget/Widget';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport BasicWidgetHeaderActions from '../BasicWidgetHeaderActions/BasicWidgetHeaderActions';\nimport AddressWidgetHeaderActions from '../AddressWidgetHeaderActions/AddressWidgetHeaderActions';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport { VerifyPartnerAdressConfirmationDataT } from '../dialogs/VerifyPartnerAdressConfirmation/models';\nimport { UnlockPartnerConfirmationDataT } from '../dialogs/UnlockPartnerConfirmation/models';\nimport { LockPartnerConfirmationDataT } from '../dialogs/LockPartnerConfirmation/models';\nimport { UnVerifyPartnerAdressConfirmationDataT } from '../dialogs/UnVerifyPartnerAdressConfirmation/models';\nimport RFQStats from 'broker-admin/layouts/PartnerPage/PartnerDetailsPage/RFQStats/RFQStats';\nimport { useCheckCountryCorrectLegacyForm } from 'common/components/dropdowns/LegalFormDropdown/hooks';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { logWarning } from 'common/utils/logger';\nimport CreatePartnerInfo from 'common/layouts/BaseProfileLayout/ProfileBasicInformation/CreatePartnerInfo/CreatePartnerInfo';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { checkIsAllowedLock, getBlockLockingReason } from 'broker-admin/store/partner/details/utils/lock';\nimport { checkIsFilledPartnerAddress } from 'broker-admin/store/partner/details/utils/addresses';\nimport BrokerTeamsSuggest from 'common/components/dropdowns/BrokerTeamsSuggest/BrokerTeamsSuggest';\nimport isEqual from 'lodash/isEqual';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerDetails: PartnerDetailsT | null;\n    onVerifyPartner: (data: VerifyPartnerAdressConfirmationDataT | null) => void;\n    onUnverifyPartner: (data: UnVerifyPartnerAdressConfirmationDataT | null) => void;\n    onLockPartner: (data: LockPartnerConfirmationDataT | null) => void;\n    onUnlockPartner: (data: UnlockPartnerConfirmationDataT | null) => void;\n};\n\nconst legalAddressFields = [\n    FieldsEnum.legalAddressCountryCode,\n    FieldsEnum.legalAddressZipCode,\n    FieldsEnum.legalAddressCity,\n    FieldsEnum.legalAddressStreet1,\n    FieldsEnum.legalAddressStreet2,\n];\nconst useWatchLegalAddressChanges = createUseWatchAnyFieldValueChanges(legalAddressFields);\n\nconst postalAddressFields = [\n    FieldsEnum.postalAddressCountryCode,\n    FieldsEnum.postalAddressZipCode,\n    FieldsEnum.postalAddressCity,\n    FieldsEnum.postalAddressStreet1,\n    FieldsEnum.postalAddressStreet2,\n];\nconst useWatchPostalAddressChanges = createUseWatchAnyFieldValueChanges(postalAddressFields);\n\nconst billingAddressFields = [\n    FieldsEnum.billingAddressCountryCode,\n    FieldsEnum.billingAddressZipCode,\n    FieldsEnum.billingAddressCity,\n    FieldsEnum.billingAddressStreet1,\n    FieldsEnum.billingAddressStreet2,\n];\nconst useWatchBillingAddressChanges = createUseWatchAnyFieldValueChanges(billingAddressFields);\n\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(Object.values(FieldsEnum));\n\nconst PartnerDetailsForm: React.FC<PropsT> = React.memo((props) => {\n    const { partnerDetails, onVerifyPartner, onUnverifyPartner, onLockPartner, onUnlockPartner } = props;\n\n    const isInitialized = Boolean(partnerDetails);\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const permissions = useSelector(selectPermissions);\n\n    const updateRequest = useSelector(selectUpdatePartnerDetailsRequest);\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const countryByCode = useSelector(selectCountriesByCode);\n\n    const shouldShowBillingInfo = partnerType === PartnerTypeEnum.shipper;\n    const shouldShowTeams = partnerType === PartnerTypeEnum.shipper || partnerType === PartnerTypeEnum.carrier;\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, { shouldShowBillingInfo });\n    }, [t, shouldShowBillingInfo]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(partnerDetails);\n        const errors = validateForm(t, values, { shouldShowBillingInfo });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [partnerDetails, shouldShowBillingInfo]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const partnerDetailsChanges = prepareApiPartnerDetails(values);\n            if (!partnerDetails?.id) {\n                return;\n            }\n            if (!partnerType) {\n                logWarning('Empty partnerType in PartnerDetailsForm onSubmit');\n                return;\n            }\n\n            dispatch(updatePartnerDetails(partnerDetails.id, partnerType, partnerDetailsChanges));\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const handleSelectLegalForm = (legalFormId: number | null | undefined): void => {\n        formik.setFieldValue(FieldsEnum.legalFormId, legalFormId);\n    };\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n                touchAllFields: () => {\n                    const allFields = Object.keys(FieldsEnum) as Array<FieldsEnum>;\n\n                    const touched = allFields.reduce<Partial<Record<FieldsEnum, boolean>>>((acc, field) => {\n                        acc[field] = true;\n                        return acc;\n                    }, {});\n\n                    formik.setTouched({\n                        ...formik.touched,\n                        ...touched,\n                    });\n                },\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErrors = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErrors,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [remoteFormActionsContext.setRemoteFormState, hasFormAnyErrors, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading: updateRequest.loading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [remoteFormActionsContext.setRemoteFormRequest, updateRequest.loading]);\n\n    const hasLegalAddressChanges = useWatchLegalAddressChanges(initialValues, formik.values);\n    const legalAddressCountry = countryByCode[formik.values[FieldsEnum.legalAddressCountryCode] as CountryCodeT];\n    const legalFullAddress = [\n        legalAddressCountry?.userLangDisplayName || '',\n        formik.values[FieldsEnum.legalAddressZipCode],\n        formik.values[FieldsEnum.legalAddressCity],\n        formik.values[FieldsEnum.legalAddressStreet1],\n        formik.values[FieldsEnum.legalAddressStreet2],\n    ]\n        .join(' ')\n        .trim();\n\n    const hasPostalAddressChanges = useWatchPostalAddressChanges(initialValues, formik.values);\n    const postalAddressCountryCode = countryByCode[formik.values[FieldsEnum.postalAddressCountryCode] as CountryCodeT];\n    const postalFullAddress = [\n        postalAddressCountryCode?.userLangDisplayName || '',\n        formik.values[FieldsEnum.postalAddressZipCode],\n        formik.values[FieldsEnum.postalAddressCity],\n        formik.values[FieldsEnum.postalAddressStreet1],\n        formik.values[FieldsEnum.postalAddressStreet2],\n    ]\n        .join(' ')\n        .trim();\n\n    const hasBillingAddressChanges = useWatchBillingAddressChanges(initialValues, formik.values);\n    const billingAddressCountryCode =\n        countryByCode[formik.values[FieldsEnum.billingAddressCountryCode] as CountryCodeT];\n    const billingFullAddress = [\n        billingAddressCountryCode?.userLangDisplayName || '',\n        formik.values[FieldsEnum.billingAddressZipCode],\n        formik.values[FieldsEnum.billingAddressCity],\n        formik.values[FieldsEnum.billingAddressStreet1],\n        formik.values[FieldsEnum.billingAddressStreet2],\n    ]\n        .join(' ')\n        .trim();\n\n    const hasLegalAddress = checkIsFilledPartnerAddress(partnerDetails?.legalAddress);\n    const isNeedApproveLegalAddress = hasLegalAddress && !partnerDetails?.addressVerified;\n\n    const hasPostalAddress = checkIsFilledPartnerAddress(partnerDetails?.postalAddress);\n    const isNeedApprovePostalAddress = hasPostalAddress && !partnerDetails?.postalAddressVerified;\n\n    const hasBillingAddress = checkIsFilledPartnerAddress(partnerDetails?.billingAddress);\n    const isNeedApproveBillingAddress = hasBillingAddress && !partnerDetails?.billingAddressVerified;\n\n    const selectedAddressLegalCountry = formik.values[FieldsEnum.legalAddressCountryCode];\n    const selectedLegalFormId = formik.values[FieldsEnum.legalFormId];\n    useCheckCountryCorrectLegacyForm(\n        {\n            selectedLegalFormId,\n            selectedCountry: selectedAddressLegalCountry,\n        },\n        () => {\n            formik.setTouched({ [FieldsEnum.legalFormId]: false }, false);\n            formik.setFieldValue(FieldsEnum.legalFormId, null);\n        },\n    );\n\n    const handleCopyBillingAddress = () => {\n        formik.setValues((values) => {\n            return {\n                ...values,\n                [FieldsEnum.billingAddressCountryCode]: values[FieldsEnum.legalAddressCountryCode],\n                [FieldsEnum.billingAddressZipCode]: values[FieldsEnum.legalAddressZipCode],\n                [FieldsEnum.billingAddressCity]: values[FieldsEnum.legalAddressCity],\n                [FieldsEnum.billingAddressStreet1]: values[FieldsEnum.legalAddressStreet1],\n                [FieldsEnum.billingAddressStreet2]: values[FieldsEnum.legalAddressStreet2],\n            };\n        });\n\n        formik.setTouched({\n            ...formik.touched,\n            [FieldsEnum.billingAddressCountryCode]: true,\n            [FieldsEnum.billingAddressZipCode]: true,\n            [FieldsEnum.billingAddressCity]: true,\n            [FieldsEnum.billingAddressStreet1]: true,\n            [FieldsEnum.billingAddressStreet2]: true,\n        });\n    };\n\n    const handleCopyPostalAddress = () => {\n        formik.setValues((values) => {\n            return {\n                ...values,\n                [FieldsEnum.postalAddressCountryCode]: values[FieldsEnum.legalAddressCountryCode],\n                [FieldsEnum.postalAddressZipCode]: values[FieldsEnum.legalAddressZipCode],\n                [FieldsEnum.postalAddressCity]: values[FieldsEnum.legalAddressCity],\n                [FieldsEnum.postalAddressStreet1]: values[FieldsEnum.legalAddressStreet1],\n                [FieldsEnum.postalAddressStreet2]: values[FieldsEnum.legalAddressStreet2],\n            };\n        });\n\n        formik.setTouched({\n            ...formik.touched,\n            [FieldsEnum.postalAddressCountryCode]: true,\n            [FieldsEnum.postalAddressZipCode]: true,\n            [FieldsEnum.postalAddressCity]: true,\n            [FieldsEnum.postalAddressStreet1]: true,\n            [FieldsEnum.postalAddressStreet2]: true,\n        });\n    };\n\n    const getTeamsWarning = () => {\n        if (!formik.values[FieldsEnum.teamIds]?.length) {\n            return ' '; // show warning without text\n        }\n\n        const isShowNoDispatcherWarning =\n            partnerDetails?.noAssignedDispatchers &&\n            isEqual(initialValues[FieldsEnum.teamIds], formik.values[FieldsEnum.teamIds]);\n        if (isShowNoDispatcherWarning) {\n            return t('partner.details-tab.warnings.no-dispatcher');\n        }\n\n        return null;\n    };\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <ContentMargins className={cx('wrap')}>\n                <Widget\n                    className={cx('widget')}\n                    title={t('partner.details-tab.segments.basic')}\n                    afterTitleNode={\n                        <CreatePartnerInfo\n                            partnerId={partnerId}\n                            partnerType={partnerType}\n                            createdByBroker={false}\n                            createdDate={partnerDetails?.createdDate || null}\n                            userId={partnerDetails?.createdById || null}\n                            userName={partnerDetails?.createdByName || null}\n                        />\n                    }\n                    rightNode={\n                        <BasicWidgetHeaderActions\n                            isShowUnlock={checkIsAllowedLock(partnerType)}\n                            blockUnlockingReason={getBlockLockingReason(partnerType, partnerDetails)}\n                            isShowLock={checkIsAllowedLock(partnerType)}\n                            blockLockingReason={getBlockLockingReason(partnerType, partnerDetails)}\n                            onLock={onLockPartner}\n                            onUnLock={onUnlockPartner}\n                            partnerDetails={partnerDetails}\n                        />\n                    }\n                >\n                    <div className={cx('widget__inner')}>\n                        <FieldGroup>\n                            <FormikField\n                                className={cx('field', 'field--name')}\n                                name={FieldsEnum.name}\n                                error={formik.errors[FieldsEnum.name]}\n                                meta={formik.getFieldMeta(FieldsEnum.name)}\n                                label={t('partner.details-tab.fields.name.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.name}\n                                        value={formik.values[FieldsEnum.name]}\n                                        hasChanges={props.hasChanges}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                className={cx('field', 'field--legal-form')}\n                                name={FieldsEnum.legalFormId}\n                                error={formik.errors[FieldsEnum.legalFormId]}\n                                meta={formik.getFieldMeta(FieldsEnum.legalFormId)}\n                                label={t('partner.details-tab.fields.legal-form.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <LegalFormDropdown\n                                        countryCode={formik.values[FieldsEnum.legalAddressCountryCode]}\n                                        value={formik.values[FieldsEnum.legalFormId]}\n                                        onChange={handleSelectLegalForm}\n                                        isDisabled={!formik.values[FieldsEnum.legalAddressCountryCode]}\n                                        overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasChanges={props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                            {shouldShowTeams ? (\n                                <FormikField\n                                    className={cx('field', 'field--teams')}\n                                    name={FieldsEnum.teamIds}\n                                    error={formik.errors[FieldsEnum.teamIds]}\n                                    meta={formik.getFieldMeta(FieldsEnum.teamIds)}\n                                    label={t('partner.details-tab.fields.teams.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                    isForceShowWarning={isInitialized}\n                                    warning={getTeamsWarning()}\n                                    tooltipNode={\n                                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                            {t('partner.details-tab.fields.teams.tooltip')}\n                                        </TooltipContent>\n                                    }\n                                >\n                                    {(props) => (\n                                        <BrokerTeamsSuggest\n                                            initialOptions={partnerDetails?.teams}\n                                            values={formik.values[FieldsEnum.teamIds]}\n                                            onSelect={props.onChange}\n                                            hasWarning={props.hasWarning}\n                                            hasError={props.hasError}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasChanges={props.hasChanges}\n                                            allowedQueryMinLength={0}\n                                            placeholder={t('partner.details-tab.fields.teams.placeholder')}\n                                            isDisabled={!isInitialized}\n                                        />\n                                    )}\n                                </FormikField>\n                            ) : (\n                                <FieldGroupEmptyItem className={cx('field', 'field--basic-segment-placeholder')} />\n                            )}\n                            <FieldGroupEmptyItem className={cx('field', 'field--basic-segment-placeholder')} />\n                        </FieldGroup>\n                    </div>\n                </Widget>\n                {partnerType === PartnerTypeEnum.shipper && (\n                    <Widget\n                        className={cx('widget')}\n                        title={t('partner.details-tab.segments.rfq-stats')}\n                        titleTooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                                {t('partner.details-tab.rfq-stats-tooltip')}\n                            </TooltipContent>\n                        }\n                        afterTitleNode={<RFQStats />}\n                    />\n                )}\n                <div className={cx('widget-group')}>\n                    <Widget\n                        className={cx('widget', 'widget-group__widget')}\n                        title={t('partner.details-tab.segments.legal-address')}\n                        rightNode={\n                            <AddressWidgetHeaderActions\n                                isShowStatus={hasLegalAddress}\n                                isAllowShowVerifyAction={\n                                    hasLegalAddress && permissions.canVerifyPartner && !hasLegalAddressChanges\n                                }\n                                addressType={AddressTypeEnum.legal}\n                                fullAddress={legalFullAddress}\n                                needApproved={isNeedApproveLegalAddress}\n                                companyId={partnerDetails?.id}\n                                onVerify={onVerifyPartner}\n                                onUnVerify={onUnverifyPartner}\n                            />\n                        }\n                    >\n                        <div className={cx('widget__inner')}>\n                            <FieldGroup spaces={1}>\n                                <FormikField\n                                    className={cx('field', 'field--country')}\n                                    name={FieldsEnum.legalAddressCountryCode}\n                                    error={formik.errors[FieldsEnum.legalAddressCountryCode]}\n                                    meta={formik.getFieldMeta(FieldsEnum.legalAddressCountryCode)}\n                                    label={t('partner.details-tab.fields.country.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <CountryDropdown\n                                            hasWarning={isNeedApproveLegalAddress}\n                                            hasError={props.hasError}\n                                            value={formik.values[FieldsEnum.legalAddressCountryCode]}\n                                            onChange={(countryCode) => {\n                                                props.onChange(countryCode);\n                                            }}\n                                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                                <FormikField\n                                    className={cx('field', 'field--zip')}\n                                    name={FieldsEnum.legalAddressZipCode}\n                                    error={formik.errors[FieldsEnum.legalAddressZipCode]}\n                                    meta={formik.getFieldMeta(FieldsEnum.legalAddressZipCode)}\n                                    label={t('partner.details-tab.fields.zip.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.legalAddressZipCode}\n                                            value={formik.values[FieldsEnum.legalAddressZipCode]}\n                                            placeholder={t('partner.details-tab.fields.zip.placeholder')}\n                                            onChange={props.onChange}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning || isNeedApproveLegalAddress}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                                <FormikField\n                                    className={cx('field', 'field--city')}\n                                    name={FieldsEnum.legalAddressCity}\n                                    error={formik.errors[FieldsEnum.legalAddressCity]}\n                                    meta={formik.getFieldMeta(FieldsEnum.legalAddressCity)}\n                                    label={t('partner.details-tab.fields.city.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.legalAddressCity}\n                                            value={formik.values[FieldsEnum.legalAddressCity]}\n                                            placeholder={t('partner.details-tab.fields.city.placeholder')}\n                                            onChange={props.onChange}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning || isNeedApproveLegalAddress}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                            </FieldGroup>\n                            <FormikField\n                                name={FieldsEnum.legalAddressStreet1}\n                                error={formik.errors[FieldsEnum.legalAddressStreet1]}\n                                meta={formik.getFieldMeta(FieldsEnum.legalAddressStreet1)}\n                                label={t('partner.details-tab.fields.street1.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.legalAddressStreet1}\n                                        value={formik.values[FieldsEnum.legalAddressStreet1]}\n                                        placeholder={t('partner.details-tab.fields.street1.placeholder')}\n                                        onChange={props.onChange}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning || isNeedApproveLegalAddress}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasChanges={props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                name={FieldsEnum.legalAddressStreet2}\n                                error={formik.errors[FieldsEnum.legalAddressStreet2]}\n                                meta={formik.getFieldMeta(FieldsEnum.legalAddressStreet2)}\n                                label={t('partner.details-tab.fields.street2.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.legalAddressStreet2}\n                                        value={formik.values[FieldsEnum.legalAddressStreet2]}\n                                        placeholder={t('partner.details-tab.fields.street2.placeholder')}\n                                        onChange={props.onChange}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning || isNeedApproveLegalAddress}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasChanges={props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        </div>\n                    </Widget>\n                    <Widget\n                        className={cx('widget', 'widget-group__widget')}\n                        title={t('partner.details-tab.segments.postal-address')}\n                        rightNode={\n                            <AddressWidgetHeaderActions\n                                isShowStatus={hasPostalAddress}\n                                isAllowShowVerifyAction={\n                                    hasPostalAddress && permissions.canVerifyPartner && !hasPostalAddressChanges\n                                }\n                                addressType={AddressTypeEnum.postal}\n                                fullAddress={postalFullAddress}\n                                onCopy={handleCopyPostalAddress}\n                                needApproved={isNeedApprovePostalAddress}\n                                companyId={partnerDetails?.id}\n                                onVerify={onVerifyPartner}\n                                onUnVerify={onUnverifyPartner}\n                            />\n                        }\n                    >\n                        <div className={cx('widget__inner')}>\n                            <FieldGroup spaces={1}>\n                                <FormikField\n                                    className={cx('field', 'field--country')}\n                                    name={FieldsEnum.postalAddressCountryCode}\n                                    error={formik.errors[FieldsEnum.postalAddressCountryCode]}\n                                    label={t('partner.details-tab.fields.country.label')}\n                                    meta={formik.getFieldMeta(FieldsEnum.postalAddressCountryCode)}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <CountryDropdown\n                                            hasWarning={isNeedApprovePostalAddress}\n                                            hasError={props.hasError}\n                                            value={formik.values[FieldsEnum.postalAddressCountryCode]}\n                                            onChange={(countryCode) => {\n                                                props.onChange(countryCode);\n                                            }}\n                                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                                <FormikField\n                                    className={cx('field', 'field--zip')}\n                                    name={FieldsEnum.postalAddressZipCode}\n                                    error={formik.errors[FieldsEnum.postalAddressZipCode]}\n                                    meta={formik.getFieldMeta(FieldsEnum.postalAddressZipCode)}\n                                    label={t('partner.details-tab.fields.zip.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.postalAddressZipCode}\n                                            value={formik.values[FieldsEnum.postalAddressZipCode]}\n                                            placeholder={t('partner.details-tab.fields.zip.placeholder')}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning || isNeedApprovePostalAddress}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                                <FormikField\n                                    className={cx('field', 'field--city')}\n                                    name={FieldsEnum.postalAddressCity}\n                                    error={formik.errors[FieldsEnum.postalAddressCity]}\n                                    meta={formik.getFieldMeta(FieldsEnum.postalAddressCity)}\n                                    label={t('partner.details-tab.fields.city.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.postalAddressCity}\n                                            value={formik.values[FieldsEnum.postalAddressCity]}\n                                            placeholder={t('partner.details-tab.fields.city.placeholder')}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning || isNeedApprovePostalAddress}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                            </FieldGroup>\n                            <FormikField\n                                name={FieldsEnum.postalAddressStreet1}\n                                error={formik.errors[FieldsEnum.postalAddressStreet1]}\n                                meta={formik.getFieldMeta(FieldsEnum.postalAddressStreet1)}\n                                label={t('partner.details-tab.fields.street1.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.postalAddressStreet1}\n                                        value={formik.values[FieldsEnum.postalAddressStreet1]}\n                                        placeholder={t('partner.details-tab.fields.street1.placeholder')}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning || isNeedApprovePostalAddress}\n                                        hasChanges={props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                name={FieldsEnum.postalAddressStreet2}\n                                error={formik.errors[FieldsEnum.postalAddressStreet2]}\n                                meta={formik.getFieldMeta(FieldsEnum.postalAddressStreet2)}\n                                label={t('partner.details-tab.fields.street2.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.postalAddressStreet2}\n                                        value={formik.values[FieldsEnum.postalAddressStreet2]}\n                                        placeholder={t('partner.details-tab.fields.street2.placeholder')}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning || isNeedApprovePostalAddress}\n                                        hasChanges={props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        </div>\n                    </Widget>\n                    {shouldShowBillingInfo && (\n                        <Widget\n                            className={cx('widget', 'widget-group__widget')}\n                            title={t('partner.details-tab.segments.billing-address')}\n                            rightNode={\n                                <AddressWidgetHeaderActions\n                                    isShowStatus={hasBillingAddress}\n                                    isAllowShowVerifyAction={\n                                        hasBillingAddress && permissions.canVerifyPartner && !hasBillingAddressChanges\n                                    }\n                                    addressType={AddressTypeEnum.billing}\n                                    fullAddress={billingFullAddress}\n                                    needApproved={isNeedApproveBillingAddress}\n                                    onCopy={handleCopyBillingAddress}\n                                    companyId={partnerDetails?.id}\n                                    onVerify={onVerifyPartner}\n                                    onUnVerify={onUnverifyPartner}\n                                />\n                            }\n                        >\n                            <div className={cx('widget__inner')}>\n                                <FieldGroup spaces={1}>\n                                    <FormikField\n                                        className={cx('field', 'field--country')}\n                                        name={FieldsEnum.billingAddressCountryCode}\n                                        error={formik.errors[FieldsEnum.billingAddressCountryCode]}\n                                        label={t('partner.details-tab.fields.country.label')}\n                                        meta={formik.getFieldMeta(FieldsEnum.billingAddressCountryCode)}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <CountryDropdown\n                                                hasWarning={isNeedApproveBillingAddress}\n                                                hasError={props.hasError}\n                                                value={formik.values[FieldsEnum.billingAddressCountryCode]}\n                                                onChange={(countryCode) => {\n                                                    props.onChange(countryCode);\n                                                }}\n                                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                hasChanges={props.hasChanges}\n                                            />\n                                        )}\n                                    </FormikField>\n                                    <FormikField\n                                        className={cx('field', 'field--zip')}\n                                        name={FieldsEnum.billingAddressZipCode}\n                                        error={formik.errors[FieldsEnum.billingAddressZipCode]}\n                                        meta={formik.getFieldMeta(FieldsEnum.billingAddressZipCode)}\n                                        label={t('partner.details-tab.fields.zip.label')}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <Input\n                                                name={FieldsEnum.billingAddressZipCode}\n                                                value={formik.values[FieldsEnum.billingAddressZipCode]}\n                                                placeholder={t('partner.details-tab.fields.zip.placeholder')}\n                                                onChange={props.onChange}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                hasError={props.hasError}\n                                                hasWarning={props.hasWarning || isNeedApproveBillingAddress}\n                                                hasChanges={props.hasChanges}\n                                            />\n                                        )}\n                                    </FormikField>\n                                    <FormikField\n                                        className={cx('field', 'field--city')}\n                                        name={FieldsEnum.billingAddressCity}\n                                        error={formik.errors[FieldsEnum.billingAddressCity]}\n                                        meta={formik.getFieldMeta(FieldsEnum.billingAddressCity)}\n                                        label={t('partner.details-tab.fields.city.label')}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <Input\n                                                name={FieldsEnum.billingAddressCity}\n                                                value={formik.values[FieldsEnum.billingAddressCity]}\n                                                placeholder={t('partner.details-tab.fields.city.placeholder')}\n                                                onChange={props.onChange}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                hasError={props.hasError}\n                                                hasWarning={props.hasWarning || isNeedApproveBillingAddress}\n                                                hasChanges={props.hasChanges}\n                                            />\n                                        )}\n                                    </FormikField>\n                                </FieldGroup>\n                                <FormikField\n                                    name={FieldsEnum.billingAddressStreet1}\n                                    error={formik.errors[FieldsEnum.billingAddressStreet1]}\n                                    meta={formik.getFieldMeta(FieldsEnum.billingAddressStreet1)}\n                                    label={t('partner.details-tab.fields.street1.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.billingAddressStreet1}\n                                            value={formik.values[FieldsEnum.billingAddressStreet1]}\n                                            placeholder={t('partner.details-tab.fields.street1.placeholder')}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning || isNeedApproveBillingAddress}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                                <FormikField\n                                    name={FieldsEnum.billingAddressStreet2}\n                                    error={formik.errors[FieldsEnum.billingAddressStreet2]}\n                                    meta={formik.getFieldMeta(FieldsEnum.billingAddressStreet2)}\n                                    label={t('partner.details-tab.fields.street2.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.billingAddressStreet2}\n                                            value={formik.values[FieldsEnum.billingAddressStreet2]}\n                                            placeholder={t('partner.details-tab.fields.street2.placeholder')}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning || isNeedApproveBillingAddress}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                                <FormikField\n                                    name={FieldsEnum.billingEmail}\n                                    error={formik.errors[FieldsEnum.billingEmail]}\n                                    meta={formik.getFieldMeta(FieldsEnum.billingEmail)}\n                                    label={t('partner.details-tab.fields.billing-email.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.billingEmail}\n                                            value={formik.values[FieldsEnum.billingEmail]}\n                                            placeholder=\"\"\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning || isNeedApproveBillingAddress}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                            </div>\n                        </Widget>\n                    )}\n                </div>\n            </ContentMargins>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <HiddenSubmitButtonForKeyboardEnter />\n        </form>\n    );\n});\n\nexport default PartnerDetailsForm;\n","import * as React from 'react';\nimport { useFormik } from 'formik';\nimport AuthLayout from 'common/layouts/AuthLayout/AuthLayout';\n\nimport styles from './ChangePasswordPage.scss';\nimport classNames from 'classnames/bind';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { Redirect } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { updatePassword } from 'common/store/auth/actions';\nimport { selectUpdatePasswordRequestStatus } from 'common/store/auth/selectors';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport validateForm from './validate-form';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport asyncValidate from './async-validations';\nimport useAsyncFormErrorMessage from 'common/utils/hooks/useAsyncFormErrorMessage';\nimport { AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport RedirectSignedUser from 'common/components/RedirectSignedUser/RedirectSignedUser';\nimport { authApi } from 'common/utils/api/auth/factory';\n\nconst cx = classNames.bind(styles);\n\nconst INITIAL_VALUES: FormValuesT = { [FieldsEnum.password]: '' };\n\ntype PropsT = {};\n\ntype QueryT = {\n    oobCode: string;\n};\n\nconst ChangePasswordPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const query = useQuery<QueryT>();\n    const requestStatus = useSelector(selectUpdatePasswordRequestStatus);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const initialErrors = React.useMemo(() => {\n        return validateForm(t, INITIAL_VALUES);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [t, INITIAL_VALUES]);\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues: INITIAL_VALUES,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            if (!query.oobCode) {\n                return;\n            }\n\n            const password = simpleStringFormatter(values[FieldsEnum.password]);\n            dispatch(updatePassword(query.oobCode, password));\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(requestStatus);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [requestStatus.error]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    const asyncPasswordError = asyncFormErrors[FieldsEnum.password];\n\n    let passwordAsyncError = useAsyncFormErrorMessage(asyncPasswordError);\n    if (asyncPasswordError === AuthErrorTypeEnum.expiredActionCode) {\n        passwordAsyncError = t('common:change-password.errors.expired-link');\n    }\n    if (asyncPasswordError === AuthErrorTypeEnum.invalidActionCode) {\n        passwordAsyncError = t('common:change-password.errors.invalid-link');\n    }\n\n    if (requestStatus.ok) {\n        return <Redirect to={authApi.createSignInUrlAfterChangePassword()} />;\n    }\n\n    return (\n        <>\n            <RedirectSignedUser />\n            <AuthLayout title={t('common:change-password.title')} testSelector=\"change-password-page\">\n                <PageTitle title={t('common:page-titles.change-password')} />\n                <form onSubmit={formik.handleSubmit}>\n                    <div className={cx('fields')}>\n                        <div className={cx('input')}>\n                            <FormikField\n                                name={FieldsEnum.password}\n                                error={formik.errors[FieldsEnum.password]}\n                                meta={formik.getFieldMeta(FieldsEnum.password)}\n                                label={t('common:change-password.fields.password.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                                asyncError={passwordAsyncError}\n                                resetAsyncError={resetAsyncFormErrors}\n                            >\n                                {(props) => (\n                                    <Input\n                                        type=\"password\"\n                                        name={FieldsEnum.password}\n                                        value={formik.values[FieldsEnum.password]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                    />\n                                )}\n                            </FormikField>\n                        </div>\n                    </div>\n                    <Button\n                        isLoading={requestStatus.loading}\n                        theme={ButtonThemeEnum.primary}\n                        type=\"submit\"\n                        className={cx('submit')}\n                    >\n                        {t('common:change-password.submit')}\n                    </Button>\n                </form>\n            </AuthLayout>\n        </>\n    );\n});\n\nexport default ChangePasswordPage;\n","import * as React from 'react';\nimport UiContext from 'common/contexts/ui-context';\nimport { useSelector } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\n\nimport { selectCurrentUser } from 'common/store/user/selectors';\nimport { selectCurrentCompany } from 'common/store/company/selectors';\n\nimport Navigation, { BadgeT, MenuLinkT } from './Navigation/Navigation';\n\nimport ContentRootContext from 'common/layouts/LeftMenuLayout/contexts/content-root-context';\n\nimport classNames from 'classnames/bind';\nimport styles from './LeftMenuLayout.scss';\nimport { selectProfileType } from 'common/store/auth/selectors';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    menuLinks: Array<MenuLinkT | null>;\n    badges: Record<string, BadgeT[]>;\n    accountLink: string;\n    logoLink: string;\n    isAllowHelpButton?: boolean;\n};\n\nconst NavigationWrap: React.FC<PropsT> = React.memo((props) => {\n    const { menuLinks, badges, logoLink, accountLink, isAllowHelpButton } = props;\n\n    const uiContext = React.useContext(UiContext);\n\n    const location = useLocation();\n    const user = useSelector(selectCurrentUser);\n    const company = useSelector(selectCurrentCompany);\n    const profileType = useSelector(selectProfileType);\n\n    React.useEffect(() => {\n        if (uiContext.menu) {\n            uiContext.menu.handleClose();\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [location.pathname]);\n\n    return (\n        <Navigation\n            isShowCompanyLogo={profileType === AuthProfileTypeEnum.broker}\n            className={cx('menu', {\n                'menu--isOpen': uiContext.menu?.isVisible,\n            })}\n            userName={user?.fullName || ''}\n            userEmail={user?.email || ''}\n            companyName={company?.name || ''}\n            companyId={company?.id || null}\n            badges={badges}\n            menuLinks={menuLinks}\n            accountLink={accountLink}\n            logoLink={logoLink}\n            isAllowHelpButton={isAllowHelpButton}\n        />\n    );\n});\n\nconst LeftMenuLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, ...rest } = props;\n\n    const [node, setRootNode] = React.useState<HTMLDivElement | null>(null);\n\n    const uiContext = React.useContext(UiContext);\n\n    return (\n        <div className={cx('wrap')}>\n            <NavigationWrap {...rest} />\n            <div\n                className={cx('content', 'menu', {\n                    'menu--isOpen': uiContext.menu?.isVisible,\n                })}\n            >\n                <ContentRootContext.Provider value={node}>\n                    <div className={cx('inner')} ref={(node) => setRootNode(node)}>\n                        {children}\n                    </div>\n                </ContentRootContext.Provider>\n            </div>\n        </div>\n    );\n});\n\nexport default LeftMenuLayout;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type CancelingBrokerOrderConfirmationDataT = {\n    brokerOrderId: BrokerOrderIdT;\n};\n\ntype PropsT = {\n    data: CancelingBrokerOrderConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: CancelingBrokerOrderConfirmationDataT) => void;\n    requestStatus: RequestStatusT | null;\n};\n\nconst TEST_SELECTOR = 'cancel-broker-order-confirmation';\n\nconst CancelBrokerOrderConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, requestStatus, onCancel, onClose, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus?.loading,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: requestStatus?.loading,\n                            isDisabled: requestStatus?.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('broker-order-details.dialogs.cancel-broker-order.title')}\n                    message={t('broker-order-details.dialogs.cancel-broker-order.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelBrokerOrderConfirmation;\n","import { FetchRulePageQueryT } from 'broker-admin/store/price-settings/rules/models';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/query-models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\nimport { RulesSortEnum } from 'common/utils/api/models';\nimport { PriceSettingsRuleStateEnum } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/constants';\n\nconst formatSort = (sort: PageSortT<RulesSortEnum> | null): FetchRulePageQueryT['sort'] | undefined => {\n    switch (sort?.value) {\n        case RulesSortEnum.name: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'NAME_ASC';\n            }\n            return 'NAME_DESC';\n        }\n        case RulesSortEnum.updateDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'UPDATE_DATE_ASC';\n            }\n            return 'UPDATE_DATE_DESC';\n        }\n        case RulesSortEnum.createdDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'CREATED_DATE_ASC';\n            }\n            return 'CREATED_DATE_DESC';\n        }\n        case RulesSortEnum.validFrom: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'VALID_FROM_ASC';\n            }\n            return 'VALID_FROM_DESC';\n        }\n        case RulesSortEnum.validTill: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'VALID_TILL_ASC';\n            }\n            return 'VALID_TILL_DESC';\n        }\n        default: {\n            return undefined;\n        }\n    }\n};\n\nconst getActiveQuery = (rulesState: QueryFiltersT[QueryFiltersKeysEnum.rulesState]) => {\n    if (rulesState === PriceSettingsRuleStateEnum.activated) {\n        return true;\n    }\n\n    if (rulesState === PriceSettingsRuleStateEnum.deactivated) {\n        return false;\n    }\n\n    return undefined;\n};\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<RulesSortEnum> | null,\n): FetchRulePageQueryT => {\n    const rulesPartnerIds = queryFilters[QueryFiltersKeysEnum.rulesPartnerIds];\n    const trailerTypeIds = queryFilters[QueryFiltersKeysEnum.rulesTrailerTypeIds];\n\n    return {\n        name: queryFilters[QueryFiltersKeysEnum.rulesName] || undefined,\n        ruleType: queryFilters[QueryFiltersKeysEnum.rulesTypes] || undefined,\n\n        companyId: rulesPartnerIds || undefined,\n        trailerTypeIds: trailerTypeIds ? trailerTypeIds.map((trailerTypeId) => +trailerTypeId) : undefined,\n\n        countriesFrom: queryFilters[QueryFiltersKeysEnum.rulesFromCountryCodes],\n        countriesTo: queryFilters[QueryFiltersKeysEnum.rulesToCountryCodes],\n\n        validFromFrom: queryFilters[QueryFiltersKeysEnum.validFromFrom] || undefined,\n        validFromTo: queryFilters[QueryFiltersKeysEnum.validFromTo] || undefined,\n\n        validTillFrom: queryFilters[QueryFiltersKeysEnum.validTillFrom] || undefined,\n        validTillTo: queryFilters[QueryFiltersKeysEnum.validTillTo] || undefined,\n\n        target: queryFilters[QueryFiltersKeysEnum.rulesImpactPriceComponent] || undefined,\n        operator: queryFilters[QueryFiltersKeysEnum.rulesImpactPriceOperation] || undefined,\n\n        addedBy: queryFilters[QueryFiltersKeysEnum.createdByUserId] || undefined,\n        createdDateFrom: queryFilters[QueryFiltersKeysEnum.createdDateFrom] || undefined,\n        createdDateTo: queryFilters[QueryFiltersKeysEnum.createdDateTo] || undefined,\n\n        modifiedBy: queryFilters[QueryFiltersKeysEnum.lastModifyByUserId] || undefined,\n        updatedFrom: queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom] || undefined,\n        updatedTo: queryFilters[QueryFiltersKeysEnum.lastModifyDateTo] || undefined,\n\n        textSearch: queryFilters[QueryFiltersKeysEnum.rulesSearchText] || undefined,\n\n        active: getActiveQuery(queryFilters[QueryFiltersKeysEnum.rulesState]),\n        sort: formatSort(sort),\n    };\n};\n\nexport { prepareFetchPageQuery };\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport scrollIntoView from 'scroll-into-view';\nimport { MS_IN_SEC } from 'common/utils/time';\n\ntype PropsT = {\n    submitCount: number;\n    asyncErrors: Record<string, any>;\n};\n\nconst FOCUS_TIME = MS_IN_SEC / 3;\n\nconst ScrollToFirstAsyncError: React.FC<PropsT> = React.memo((props) => {\n    const { submitCount, asyncErrors } = props;\n\n    const ref = React.createRef<HTMLDivElement>();\n    const prevSubmitCountRef = React.useRef<number>(submitCount);\n    const prevAsyncErrorsRef = React.useRef<Record<string, any> | undefined>(asyncErrors);\n\n    useEffect(() => {\n        if (submitCount === 0) {\n            prevSubmitCountRef.current = submitCount;\n            prevAsyncErrorsRef.current = asyncErrors;\n            return;\n        }\n\n        const hasAsyncErrors = !isEmpty(asyncErrors);\n        const hadAsyncErrors = !isEmpty(prevAsyncErrorsRef.current);\n        const asyncErrorsAppeared = hasAsyncErrors && !hadAsyncErrors;\n\n        prevSubmitCountRef.current = submitCount;\n        prevAsyncErrorsRef.current = asyncErrors;\n\n        if (!asyncErrorsAppeared) {\n            return;\n        }\n\n        if (!ref.current) {\n            return;\n        }\n\n        const formNode = ref.current.closest('form');\n        if (!formNode) {\n            return;\n        }\n\n        const fieldErrorNodes = formNode.querySelectorAll('[data-error-message]');\n        const firstErrorFieldNode = fieldErrorNodes?.[0];\n        if (!firstErrorFieldNode) {\n            return;\n        }\n\n        scrollIntoView(firstErrorFieldNode as HTMLElement, {\n            time: FOCUS_TIME,\n            align: {\n                top: 0.25,\n            },\n        });\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [submitCount, asyncErrors]);\n\n    return <div ref={ref} hidden />;\n});\n\nexport default ScrollToFirstAsyncError;\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './ReadOnlyField.scss';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport { UnitTypeEnum } from 'common/constants';\nimport { ReadOnlyFieldValue } from 'common/components/ReadOnlyFieldValue/ReadOnlyFieldValue';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    label?: React.ReactNode;\n    subLabel?: React.ReactNode;\n    labelRightNode?: React.ReactNode;\n    value: React.ReactNode;\n    unitType?: UnitTypeEnum;\n    icon?: React.ReactNode;\n    placeholder?: React.ReactNode;\n    tooltipNode?: React.ReactNode;\n    tooltipPosition?: TooltipPositionEnum;\n    rightNode?: React.ReactNode;\n    withInputLayout?: boolean;\n    withoutErrorMessage?: boolean;\n};\n\nconst SHOW_TOOLTIP_DELAY_MS = 300;\n\nconst ReadOnlyField: React.FC<PropsT> = React.memo((props) => {\n    const {\n        withInputLayout,\n        withoutErrorMessage,\n        label,\n        subLabel,\n        labelRightNode,\n        value,\n        unitType,\n        icon,\n        placeholder,\n        tooltipNode,\n        tooltipPosition,\n        rightNode,\n        className,\n    } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('wrap', {\n                    'wrap--withoutErrorMessage': !!withoutErrorMessage,\n                }),\n                className,\n            )}\n        >\n            {label && (\n                <div className={cx('field-label')}>\n                    <div className={cx('row', 'row--left')}>\n                        <span className={cx('text')}>{label}</span>\n                        {subLabel}\n                        {tooltipNode && (\n                            <Tooltip\n                                className={cx('tooltip')}\n                                position={tooltipPosition || TooltipPositionEnum.topCenter}\n                                theme={TooltipThemeEnum.black}\n                                tooltipNode={tooltipNode}\n                                delay={SHOW_TOOLTIP_DELAY_MS}\n                            >\n                                {(isShow) => <TooltipIconTrigger className={cx('tooltip__icon')} isShow={isShow} />}\n                            </Tooltip>\n                        )}\n                    </div>\n                    {labelRightNode && <div className={cx('row', 'row--right')}>{labelRightNode}</div>}\n                </div>\n            )}\n            <ReadOnlyFieldValue\n                withInputLayout={withInputLayout}\n                value={value}\n                unitType={unitType}\n                icon={icon}\n                placeholder={placeholder}\n                rightNode={rightNode}\n            />\n        </div>\n    );\n});\n\nexport default ReadOnlyField;\n","// extracted by mini-css-extract-plugin\nexport default {\"row\":\"AssetClusterPin__row____ZWDY\",\"icon\":\"AssetClusterPin__icon___ZwaU1\",\"text\":\"AssetClusterPin__text___eO3NC\",\"text--isNotCanInTime\":\"AssetClusterPin__text--isNotCanInTime___UImzR\",\"text--isSelected\":\"AssetClusterPin__text--isSelected___ipk66\",\"fadeIn\":\"AssetClusterPin__fadeIn___XNEvg\",\"blinking\":\"AssetClusterPin__blinking___H5ANf\"};","// extracted by mini-css-extract-plugin\nexport default {\"table--id\":\"ShipmentDetailsCard__table--id___ipQcY\",\"table--po\":\"ShipmentDetailsCard__table--po___ccKGB\",\"table--point\":\"ShipmentDetailsCard__table--point___WghUT\",\"table--shipment\":\"ShipmentDetailsCard__table--shipment___zk9K9\",\"table\":\"ShipmentDetailsCard__table___HQAQH\",\"fadeIn\":\"ShipmentDetailsCard__fadeIn___hCTSQ\",\"blinking\":\"ShipmentDetailsCard__blinking___pUYfK\"};","import * as React from 'react';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiShipperContractLaneStatusT, ShipperContractLaneStatusEnum } from 'common/utils/api/models';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport { useSelector } from 'react-redux';\nimport { selectProfileType } from 'common/store/auth/selectors';\nimport ShipperContractLaneStatus from 'common/components/status/ShipperContractLaneStatus/ShipperContractLaneStatus';\n\ntype PropsT = {\n    status?: ApiShipperContractLaneStatusT | null;\n    isSymmetrical?: boolean;\n    className?: string;\n};\n\ntype ContractLaneStatusColorMapT = Record<ApiShipperContractLaneStatusT, PillLabelThemeEnum>;\n\nconst THEME_MAP: Record<AuthProfileTypeEnum, ContractLaneStatusColorMapT> = {\n    [AuthProfileTypeEnum.shipper]: {\n        [ShipperContractLaneStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.completed]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.active]: colorCodingPillLabelTheme.success,\n    },\n    [AuthProfileTypeEnum.carrier]: {\n        [ShipperContractLaneStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.completed]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.active]: colorCodingPillLabelTheme.success,\n    },\n    [AuthProfileTypeEnum.broker]: {\n        [ShipperContractLaneStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.completed]: colorCodingPillLabelTheme.normal,\n        [ShipperContractLaneStatusEnum.active]: colorCodingPillLabelTheme.success,\n    },\n};\n\nconst DEFAULT_THEME = colorCodingPillLabelTheme.normal;\n\nconst ShipperContractLaneStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, className, isSymmetrical } = props;\n\n    const profileTypeEnum = useSelector(selectProfileType);\n\n    if (!status) {\n        return null;\n    }\n\n    const theme = status ? THEME_MAP[profileTypeEnum]?.[status] : DEFAULT_THEME;\n\n    return (\n        <>\n            <PillLabel\n                isNoWrap\n                theme={theme}\n                testSelector=\"shipper-contact-lane-status\"\n                className={className}\n                isSymmetrical={isSymmetrical}\n            >\n                <ShipperContractLaneStatus status={status} />\n            </PillLabel>\n        </>\n    );\n});\n\nexport default ShipperContractLaneStatusPill;\n","import * as React from 'react';\n\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\n\nimport classNames from 'classnames/bind';\nimport styles from './CreateCompanyForm.scss';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { getZipCodePlaceholder } from 'common/utils/postal-codes';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport LegalFormDropdown from 'common/components/dropdowns/LegalFormDropdown/LegalFormDropdown';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useCheckCountryCorrectLegacyForm } from 'common/components/dropdowns/LegalFormDropdown/hooks';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { ApiCountriesT, ApiRegistrationCompanyRequestDraftT } from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.companyName]: '',\n    [FieldsEnum.countryCode]: null,\n    [FieldsEnum.zipCode]: '',\n    [FieldsEnum.city]: '',\n    [FieldsEnum.street]: '',\n    [FieldsEnum.legalFormId]: null,\n    [FieldsEnum.acceptTerms]: false,\n};\n\ntype PropsT = {\n    requestStatus?: RequestStatusT;\n    onSubmit: (registrationCompanyRequestDraft: ApiRegistrationCompanyRequestDraftT) => void;\n};\n\nconst CreateCompanyForm: React.FC<PropsT> = React.memo((props) => {\n    const { onSubmit, requestStatus } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const initialErrors = React.useMemo(() => {\n        return validateForm(t, INITIAL_VALUES);\n    }, [t]);\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues: INITIAL_VALUES,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const dictLegalFormId = values[FieldsEnum.legalFormId];\n            const countryCode = values[FieldsEnum.countryCode] as ApiCountriesT;\n            if (!isNumber(dictLegalFormId) || !countryCode) {\n                return;\n            }\n\n            onSubmit({\n                dictLegalFormId,\n                companyName: values[FieldsEnum.companyName],\n                countryCode,\n                street: values[FieldsEnum.street],\n                zipCode: values[FieldsEnum.zipCode],\n                city: values[FieldsEnum.city],\n            });\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const parseRequestError = (error: Error | null | undefined): string | null => {\n        if (!error) {\n            return null;\n        }\n\n        // if (\n        //     checkIsTranziitApiRequestError(error) &&\n        //     error.subType === TranziitApiRequestErrorSubTypeEnum.emailAlreadyExist\n        // ) {\n        //     return t('common:auth-errors.email-already-exist');\n        // }\n\n        return error?.message || null;\n    };\n\n    const selectedLegalFormId = formik.values[FieldsEnum.legalFormId];\n    const selectedCountry = formik.values[FieldsEnum.countryCode];\n\n    useCheckCountryCorrectLegacyForm(\n        {\n            selectedLegalFormId,\n            selectedCountry,\n        },\n        () => {\n            formik.setTouched({ [FieldsEnum.legalFormId]: false }, false);\n            formik.setFieldValue(FieldsEnum.legalFormId, null);\n        },\n    );\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('fields')}>\n                <FormikField\n                    name={FieldsEnum.companyName}\n                    error={formik.errors[FieldsEnum.companyName]}\n                    meta={formik.getFieldMeta(FieldsEnum.companyName)}\n                    label={t('common:self-create-company.fields.companyName.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.companyName}\n                            value={formik.values[FieldsEnum.companyName]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.countryCode}\n                    error={formik.errors[FieldsEnum.countryCode]}\n                    label={t('common:self-create-company.fields.countryCode.label')}\n                    meta={formik.getFieldMeta(FieldsEnum.countryCode)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <CountryDropdown\n                            value={formik.values[FieldsEnum.countryCode]}\n                            onChange={(countryCode) => {\n                                props.onChange(countryCode);\n                            }}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup spaces={1}>\n                    <FormikField\n                        className={cx('field--zip')}\n                        name={FieldsEnum.zipCode}\n                        error={formik.errors[FieldsEnum.zipCode]}\n                        meta={formik.getFieldMeta(FieldsEnum.zipCode)}\n                        label={t('common:self-create-company.fields.zipCode.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.zipCode}\n                                value={formik.values[FieldsEnum.zipCode]}\n                                placeholder={getZipCodePlaceholder(formik.values[FieldsEnum.countryCode])}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field--city')}\n                        name={FieldsEnum.city}\n                        error={formik.errors[FieldsEnum.city]}\n                        meta={formik.getFieldMeta(FieldsEnum.city)}\n                        label={t('common:self-create-company.fields.city.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.city}\n                                value={formik.values[FieldsEnum.city]}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FormikField\n                    name={FieldsEnum.street}\n                    error={formik.errors[FieldsEnum.street]}\n                    meta={formik.getFieldMeta(FieldsEnum.street)}\n                    label={t('common:self-create-company.fields.street.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.street}\n                            value={formik.values[FieldsEnum.street]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.legalFormId}\n                    error={formik.errors[FieldsEnum.legalFormId]}\n                    meta={formik.getFieldMeta(FieldsEnum.legalFormId)}\n                    label={t('common:self-create-company.fields.legal-form.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <LegalFormDropdown\n                            countryCode={formik.values[FieldsEnum.countryCode]}\n                            value={formik.values[FieldsEnum.legalFormId]}\n                            onChange={props.onChange}\n                            placeholder={t('common:self-create-company.fields.legal-form.placeholder')}\n                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('checkbox')}\n                    name={FieldsEnum.acceptTerms}\n                    error={formik.errors[FieldsEnum.acceptTerms]}\n                    meta={formik.getFieldMeta(FieldsEnum.acceptTerms)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    isCheckbox\n                >\n                    {(props) => (\n                        <Checkbox\n                            checked={formik.values[FieldsEnum.acceptTerms]}\n                            onChange={props.onChange}\n                            label={\n                                <span className={cx('terms')}>\n                                    {t('common:sign-up.user-form.terms.read')}{' '}\n                                    <Link\n                                        isExternal\n                                        theme={LinkThemeEnum.boldCharcoal}\n                                        to={t('common:sign-up.user-form.terms.link')}\n                                        target=\"_blank\"\n                                    >\n                                        {t('common:sign-up.user-form.terms.link-text')}\n                                    </Link>\n                                </span>\n                            }\n                        />\n                    )}\n                </FormikField>\n            </div>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <Button\n                isLoading={requestStatus?.loading}\n                theme={ButtonThemeEnum.primary}\n                isDisabled={!formik.values[FieldsEnum.acceptTerms]}\n                type=\"submit\"\n                className={cx('submit')}\n            >\n                {t('common:self-create-company.actions.submit')}\n            </Button>\n            <div className={cx('error')}>{parseRequestError(requestStatus?.error)}</div>\n        </form>\n    );\n});\n\nexport default CreateCompanyForm;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { LockPartnerConfirmationDataT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    data: LockPartnerConfirmationDataT | null;\n    requestStatus: RequestStatusT;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (data: LockPartnerConfirmationDataT | null) => void;\n};\n\nconst TEST_SELECTOR = 'lock-partner-confirmation';\n\nconst LockPartnerConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, requestStatus, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.lock'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('partner.details-tab.dialogs.lock-partner.title')}\n                    message={t('partner.details-tab.dialogs.lock-partner.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default LockPartnerConfirmation;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractLaneCreationForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { FieldsEnum, FormValuesT, MAX_RADIUS_KM, MIN_VALID_FROM_VALID_TILL_DAYS } from './constants';\nimport { UnitTypeEnum } from 'common/constants';\nimport { useDispatch, useSelector } from 'react-redux';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport OriginIcon from 'common/icons/OriginIcon';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport DestinationIcon from 'common/icons/DestinationIcon';\nimport validateForm from './validate-form';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { DEFAULT_POINT_ZOOM } from 'common/store/constants';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport isEqual from 'lodash/isEqual';\nimport EmissionClassDropdown from 'common/components/dropdowns/EmissionClassDropdown/EmissionClassDropdown';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport DatePicker, {\n    DatePickerOverlayPositionEnum,\n    datePicketRangePresets,\n} from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport Input from 'common/components/Input/Input';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport {\n    selectShipperLaneDestination,\n    selectShipperLaneOrigin,\n} from 'common/store/shipper-contract-lane-creation/selectors';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport {\n    setDestinationLocation,\n    setDestinationLocationRadius,\n    setMapSettings,\n    setOriginLocation,\n    setOriginLocationRadius,\n} from 'common/store/shipper-contract-lane-creation/slice';\nimport getBoundingBox, { createGeoPoint } from 'common/utils/get-bounding-box';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport {\n    CalculateCostRequestQueryT,\n    CreateRequestQueryDraftT,\n} from 'common/store/shipper-contract-lane-creation/models';\nimport { useMemo } from 'react';\nimport moment from 'moment/moment';\nimport { prepareApiCalculateCostRequestQuery, prepareApiCreateRequestQueryDraft } from './prepare-api-requests';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { fetchShipperContractDetails } from 'common/store/shipper-contract-details/slice';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { selectShipperContractDetailsState } from 'common/store/shipper-contract-details/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport { useEqualPreviousValue } from 'common/utils/hooks/useEqualPreviousValue';\nimport { getDateFromISO, getMaxISODate, getMinISODate } from 'common/utils/time';\nimport { selectCountrySettingsByCountryCode } from 'common/store/country-settings-dict/selectors';\nimport { fetchCountrySettingsDict } from 'common/store/country-settings-dict/actions';\nimport { SyncShipperContractLaneCreationFormMapStateContext } from 'broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/contexts/sync-map-state';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractId: ShipperContractIdT | null;\n    onSubmit: (data: CalculateCostRequestQueryT, createQueryDraft: CreateRequestQueryDraftT) => void;\n};\n\nexport const DEFAULT_INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.trailerDictId]: null,\n    [FieldsEnum.emissionClass]: null,\n\n    [FieldsEnum.pickUpLocation]: null,\n    [FieldsEnum.pickUpLocationRadius]: '',\n\n    [FieldsEnum.dropOffLocation]: null,\n    [FieldsEnum.dropOffLocationRadius]: '',\n\n    [FieldsEnum.validFrom]: null,\n    [FieldsEnum.validTill]: null,\n\n    [FieldsEnum.layoverLimit]: '',\n    [FieldsEnum.ordersLimit]: '',\n\n    [FieldsEnum.externalLaneId]: '',\n\n    [FieldsEnum.includeServiceFee]: false,\n    [FieldsEnum.includeTeamDrive]: false,\n    [FieldsEnum.useApplyRules]: false,\n};\n\nconst ShipperContractLaneCreationForm: React.FC<PropsT> = React.memo((props) => {\n    const { contractId, onSubmit } = props;\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const { partnerId } = usePartnerContext();\n\n    const countriesSettingsByCode = useSelector(selectCountrySettingsByCountryCode);\n    React.useEffect(() => {\n        dispatch(fetchCountrySettingsDict());\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const contractDetailsState = useSelector(selectShipperContractDetailsState(contractId as ShipperContractIdT));\n    React.useEffect(() => {\n        if (!contractId) {\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in ShipperContractLaneCreationForm useEffect');\n            return;\n        }\n\n        dispatch(\n            fetchShipperContractDetails({\n                partnerId,\n                shipperContractId: contractId,\n            }),\n        );\n    }, [dispatch, partnerId, contractId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!contractId) {\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n\n        dispatch(\n            fetchShipperContractDetails({\n                partnerId,\n                shipperContractId: contractId,\n            }),\n        );\n    }, [dispatch, partnerId, contractId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const protectedContractDetails = useEqualPreviousValue(contractDetailsState?.data || null);\n    const validate = React.useCallback(\n        (values: FormValuesT) => {\n            return validateForm(t, values, {\n                countriesSettingsByCode,\n                contractDetails: protectedContractDetails,\n            });\n        },\n        [t, countriesSettingsByCode, protectedContractDetails],\n    );\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const contractValidFrom = protectedContractDetails?.validFrom\n            ? new Date(protectedContractDetails.validFrom)\n            : null;\n        const now = new Date();\n\n        const values = {\n            ...DEFAULT_INITIAL_VALUES,\n            [FieldsEnum.validFrom]: contractValidFrom && now < contractValidFrom ? contractValidFrom : now,\n        };\n\n        const errors = validateForm(t, values, {\n            countriesSettingsByCode,\n            contractDetails: protectedContractDetails || null,\n        });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [countriesSettingsByCode, protectedContractDetails]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const query = prepareApiCalculateCostRequestQuery(values);\n            if (!query) {\n                return;\n            }\n\n            const createQueryDraft = prepareApiCreateRequestQueryDraft(values);\n            if (!createQueryDraft) {\n                return;\n            }\n\n            onSubmit(query, createQueryDraft);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const { setHasDropOffLocationError, setHasPickUpLocationError } = React.useContext(\n        SyncShipperContractLaneCreationFormMapStateContext,\n    );\n    React.useEffect(() => {\n        setHasDropOffLocationError(!!formik.errors?.[FieldsEnum.dropOffLocation]);\n        setHasPickUpLocationError(!!formik.errors?.[FieldsEnum.pickUpLocation]);\n    }, [formik.errors, setHasDropOffLocationError, setHasPickUpLocationError]);\n\n    const handleRadiusSetValue = (field: string, value: string): void => {\n        formik.setFieldValue(field, value);\n\n        const parsedValue = parseSimpleNumber(value);\n        const limitedValue = parsedValue ? Math.min(parsedValue, MAX_RADIUS_KM) : 0;\n\n        if (field === FieldsEnum.dropOffLocationRadius) {\n            dispatch(\n                setDestinationLocationRadius({\n                    radiusKm: limitedValue,\n                }),\n            );\n        }\n\n        if (field === FieldsEnum.pickUpLocationRadius) {\n            dispatch(\n                setOriginLocationRadius({\n                    radiusKm: limitedValue,\n                }),\n            );\n        }\n    };\n\n    const handleGeoSuggestSetValue = (field: string, value: LocationT | null): void => {\n        formik.setFieldValue(field, value);\n\n        const points: Array<GeoPointT | null> = [];\n\n        points.push(createGeoPoint(value?.point?.lat, value?.point?.lng));\n\n        if (field === FieldsEnum.dropOffLocation) {\n            dispatch(setDestinationLocation({ location: value }));\n\n            points.push(\n                createGeoPoint(\n                    formik.values[FieldsEnum.pickUpLocation]?.point?.lat,\n                    formik.values[FieldsEnum.pickUpLocation]?.point?.lng,\n                ),\n            );\n        }\n\n        if (field === FieldsEnum.pickUpLocation) {\n            dispatch(setOriginLocation({ location: value }));\n\n            points.push(\n                createGeoPoint(\n                    formik.values[FieldsEnum.dropOffLocation]?.point?.lat,\n                    formik.values[FieldsEnum.dropOffLocation]?.point?.lng,\n                ),\n            );\n        }\n\n        const boundingBox = getBoundingBox(points);\n        dispatch(\n            setMapSettings({\n                settings: {\n                    center: null,\n                    zoom: points?.length === 1 ? DEFAULT_POINT_ZOOM : null,\n                    boundingBox,\n                },\n            }),\n        );\n    };\n\n    // sync destiation location, redux => form\n    const destinationLocation = useSelector(selectShipperLaneDestination);\n    React.useEffect(() => {\n        const isSame = isEqual(destinationLocation?.location, formik.values[FieldsEnum.dropOffLocation]);\n        if (isSame) {\n            return;\n        }\n\n        if (destinationLocation?.location) {\n            formik.setFieldValue(FieldsEnum.dropOffLocation, destinationLocation.location);\n            formik.setFieldTouched(FieldsEnum.dropOffLocation);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [destinationLocation]);\n\n    // sync origin location, redux => form\n    const originLocation = useSelector(selectShipperLaneOrigin);\n    React.useEffect(() => {\n        const isSame = isEqual(originLocation?.location, formik.values[FieldsEnum.pickUpLocation]);\n        if (isSame) {\n            return;\n        }\n\n        if (originLocation?.location) {\n            formik.setFieldValue(FieldsEnum.pickUpLocation, originLocation.location);\n            formik.setFieldTouched(FieldsEnum.pickUpLocation);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [originLocation]);\n\n    const validFrom = formik.values[FieldsEnum.validFrom];\n    const minValidTillDate = useMemo((): string | undefined => {\n        return (\n            getMaxISODate(\n                moment().add(1, 'day').format(),\n                moment(validFrom).add(MIN_VALID_FROM_VALID_TILL_DAYS, 'day').format(),\n                protectedContractDetails?.validFrom,\n            ) || datePicketRangePresets.anyFutureDate.minDate\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [validFrom, protectedContractDetails]);\n    const maxValidTillDate = useMemo((): string | undefined => {\n        return getMinISODate(protectedContractDetails?.validTill) || datePicketRangePresets.anyFutureDate.maxDate;\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [validFrom, protectedContractDetails]);\n    const isDisabledValidTillDate = useMemo(() => {\n        if (!maxValidTillDate) {\n            return false;\n        }\n\n        return (\n            maxValidTillDate < moment().add(1, 'day').format() ||\n            (!!minValidTillDate &&\n                !!maxValidTillDate &&\n                getDateFromISO(minValidTillDate) > getDateFromISO(maxValidTillDate))\n        );\n    }, [minValidTillDate, maxValidTillDate]);\n\n    const validTill = formik.values[FieldsEnum.validTill];\n    const minValidFromDate = useMemo((): string | undefined => {\n        return (\n            getMaxISODate(moment().format(), protectedContractDetails?.validFrom) ||\n            datePicketRangePresets.anyFutureDate.minDate\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [validTill, protectedContractDetails]);\n    const maxValidFromDate = useMemo((): string | undefined => {\n        return (\n            getMinISODate(\n                validTill ? moment(validTill).format() : undefined,\n                protectedContractDetails?.validTill\n                    ? moment(protectedContractDetails?.validTill)\n                          .subtract(MIN_VALID_FROM_VALID_TILL_DAYS, 'days')\n                          .format()\n                    : undefined,\n            ) || datePicketRangePresets.anyFutureDate.maxDate\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [validTill, protectedContractDetails]);\n    const isDisabledValidFromDate = useMemo(() => {\n        if (!maxValidFromDate) {\n            return false;\n        }\n\n        return (\n            maxValidFromDate < moment().format() ||\n            (!!minValidFromDate &&\n                !!maxValidFromDate &&\n                getDateFromISO(minValidFromDate) > getDateFromISO(maxValidFromDate))\n        );\n    }, [maxValidFromDate, minValidFromDate]);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--trailer-type')}\n                    name={FieldsEnum.trailerDictId}\n                    error={formik.errors[FieldsEnum.trailerDictId]}\n                    meta={formik.getFieldMeta(FieldsEnum.trailerDictId)}\n                    label={t(`common:shipper-lane-details.fields.trailer-type.label`)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DictTrailerDropdown\n                            placeholder={t(`common:shipper-lane-details.fields.trailer-type.placeholder`)}\n                            value={formik.values[FieldsEnum.trailerDictId]}\n                            onChange={props.onChange}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            onFocus={props.onFocus}\n                            onBlur={props.onBlur}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--emission-class')}\n                    name={FieldsEnum.emissionClass}\n                    error={formik.errors[FieldsEnum.emissionClass]}\n                    meta={formik.getFieldMeta(FieldsEnum.emissionClass)}\n                    label={t('common:shipper-lane-details.fields.emission-type.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <EmissionClassDropdown\n                            value={formik.values[FieldsEnum.emissionClass]}\n                            onChange={props.onChange}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            placeholder={t('common:shipper-lane-details.fields.emission-type.placeholder')}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--location')}\n                    name={FieldsEnum.pickUpLocation}\n                    error={formik.errors[FieldsEnum.pickUpLocation]}\n                    meta={formik.getFieldMeta(FieldsEnum.pickUpLocation)}\n                    label={t('common:shipper-lane-details.fields.origin.label')}\n                    setFieldValue={handleGeoSuggestSetValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <GeoSuggest\n                            name={FieldsEnum.pickUpLocation}\n                            value={formik.values[FieldsEnum.pickUpLocation]}\n                            placeholder={t('common:shipper-lane-details.fields.origin.placeholder')}\n                            renderLeftIcon={() => <OriginIcon />}\n                            onChange={props.onChange}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            onFocus={props.onFocus}\n                            onBlur={props.onBlur}\n                            testSelector=\"pickup-location\"\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--radius')}\n                    name={FieldsEnum.pickUpLocationRadius}\n                    error={formik.errors[FieldsEnum.pickUpLocationRadius]}\n                    meta={formik.getFieldMeta(FieldsEnum.pickUpLocationRadius)}\n                    label={t('common:shipper-lane-details.fields.radius.label')}\n                    setFieldValue={handleRadiusSetValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <NumberInput\n                            name={FieldsEnum.pickUpLocationRadius}\n                            unitType={UnitTypeEnum.kilometersAbbreviation}\n                            value={formik.values[FieldsEnum.pickUpLocationRadius]}\n                            step={1}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--location')}\n                    name={FieldsEnum.dropOffLocation}\n                    error={formik.errors[FieldsEnum.dropOffLocation]}\n                    meta={formik.getFieldMeta(FieldsEnum.dropOffLocation)}\n                    label={t('common:shipper-lane-details.fields.destination.label')}\n                    setFieldValue={handleGeoSuggestSetValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <GeoSuggest\n                            name={FieldsEnum.dropOffLocation}\n                            value={formik.values[FieldsEnum.dropOffLocation]}\n                            placeholder={t('common:shipper-lane-details.fields.destination.placeholder')}\n                            renderLeftIcon={() => <DestinationIcon />}\n                            onChange={props.onChange}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            onFocus={props.onFocus}\n                            onBlur={props.onBlur}\n                            testSelector=\"dropoff-location\"\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--radius')}\n                    name={FieldsEnum.dropOffLocationRadius}\n                    error={formik.errors[FieldsEnum.dropOffLocationRadius]}\n                    meta={formik.getFieldMeta(FieldsEnum.dropOffLocationRadius)}\n                    label={t('common:shipper-lane-details.fields.radius.label')}\n                    setFieldValue={handleRadiusSetValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <NumberInput\n                            name={FieldsEnum.dropOffLocationRadius}\n                            unitType={UnitTypeEnum.kilometersAbbreviation}\n                            value={formik.values[FieldsEnum.dropOffLocationRadius]}\n                            step={1}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--date')}\n                    name={FieldsEnum.validFrom}\n                    error={formik.errors[FieldsEnum.validFrom]}\n                    meta={formik.getFieldMeta(FieldsEnum.validFrom)}\n                    label={t('common:shipper-lane-details.fields.valid-from.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DatePicker\n                            value={formik.values[FieldsEnum.validFrom]}\n                            placeholder={t('common:shipper-lane-details.fields.valid-from.placeholder')}\n                            onChange={props.onChange}\n                            overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasYearMonthForm\n                            minDate={minValidFromDate}\n                            maxDate={maxValidFromDate}\n                            isDisabled={isDisabledValidFromDate}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--date')}\n                    name={FieldsEnum.validTill}\n                    error={formik.errors[FieldsEnum.validTill]}\n                    meta={formik.getFieldMeta(FieldsEnum.validTill)}\n                    label={t('common:shipper-lane-details.fields.valid-till.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DatePicker\n                            value={formik.values[FieldsEnum.validTill]}\n                            placeholder={t('common:shipper-lane-details.fields.valid-till.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasYearMonthForm\n                            minDate={minValidTillDate}\n                            maxDate={maxValidTillDate}\n                            overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                            isDisabled={isDisabledValidTillDate}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--limit')}\n                    name={FieldsEnum.layoverLimit}\n                    error={formik.errors[FieldsEnum.layoverLimit]}\n                    meta={formik.getFieldMeta(FieldsEnum.layoverLimit)}\n                    label={t('common:shipper-lane-details.fields.layover-limit.label')}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={300}>\n                            {t('common:shipper-lane-details.fields.layover-limit.tooltip')}\n                        </TooltipContent>\n                    }\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <NumberInput\n                            name={FieldsEnum.layoverLimit}\n                            unitType={UnitTypeEnum.hoursAbbreviation}\n                            value={formik.values[FieldsEnum.layoverLimit]}\n                            step={1}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--limit')}\n                    name={FieldsEnum.ordersLimit}\n                    error={formik.errors[FieldsEnum.ordersLimit]}\n                    meta={formik.getFieldMeta(FieldsEnum.ordersLimit)}\n                    label={t('common:shipper-lane-details.fields.orders-limit.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <NumberInput\n                            name={FieldsEnum.ordersLimit}\n                            value={formik.values[FieldsEnum.ordersLimit]}\n                            step={1}\n                            placeholder={t('common:shipper-lane-details.fields.orders-limit.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--external-lane-id')}\n                    name={FieldsEnum.externalLaneId}\n                    error={formik.errors[FieldsEnum.externalLaneId]}\n                    meta={formik.getFieldMeta(FieldsEnum.externalLaneId)}\n                    label={t('common:shipper-lane-details.fields.external-lane-id.label')}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('common:shipper-lane-details.fields.external-lane-id.tooltip')}\n                        </TooltipContent>\n                    }\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.externalLaneId}\n                            value={formik.values[FieldsEnum.externalLaneId]}\n                            placeholder={t('common:shipper-lane-details.fields.external-lane-id.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FieldGroupEmptyItem className={cx('field', 'field--limit')} />\n            </FieldGroup>\n            <FormikField\n                className={cx('checkbox')}\n                name={FieldsEnum.includeServiceFee}\n                error={formik.errors[FieldsEnum.includeServiceFee]}\n                meta={formik.getFieldMeta(FieldsEnum.includeServiceFee)}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                isCheckbox\n                withoutLabel\n            >\n                {(props) => (\n                    <Checkbox\n                        checked={formik.values[FieldsEnum.includeServiceFee]}\n                        onChange={props.onChange}\n                        label={t('common:shipper-lane-details.fields.include-service-fee.label')}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('checkbox')}\n                name={FieldsEnum.includeTeamDrive}\n                error={formik.errors[FieldsEnum.includeTeamDrive]}\n                meta={formik.getFieldMeta(FieldsEnum.includeTeamDrive)}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                isCheckbox\n                withoutLabel\n            >\n                {(props) => (\n                    <Checkbox\n                        checked={formik.values[FieldsEnum.includeTeamDrive]}\n                        onChange={props.onChange}\n                        label={t('common:shipper-lane-details.fields.include-team-drive.label')}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('checkbox')}\n                name={FieldsEnum.useApplyRules}\n                error={formik.errors[FieldsEnum.useApplyRules]}\n                meta={formik.getFieldMeta(FieldsEnum.useApplyRules)}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                isCheckbox\n                withoutLabel\n            >\n                {(props) => (\n                    <Checkbox\n                        checked={formik.values[FieldsEnum.useApplyRules]}\n                        onChange={props.onChange}\n                        label={t('common:shipper-lane-details.fields.use-apply-rules.label')}\n                    />\n                )}\n            </FormikField>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <FooterSideBarLayout isAbsolute hasPaddings>\n                <Button\n                    className={cx('calculate')}\n                    theme={ButtonThemeEnum.primary}\n                    type=\"submit\"\n                    testSelector=\"next-step\"\n                >\n                    {t('shipper-lane-creation.actions.calculate')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n});\n\nexport default ShipperContractLaneCreationForm;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { FindCarriersQueryT, PartnerT } from './models';\n\nexport const FIND_CARRIERS_REQUEST = 'common/carrier-suggest/FIND_CARRIERS_REQUEST';\nexport const FIND_CARRIERS_REQUEST_BEGIN = 'common/carrier-suggest/FIND_CARRIERS_REQUEST_BEGIN';\nexport const FIND_CARRIERS_REQUEST_ERROR = 'common/carrier-suggest/FIND_CARRIERS_REQUEST_ERROR';\nexport const FIND_CARRIERS_REQUEST_SUCCESS = 'common/carrier-suggest/FIND_CARRIERS_REQUEST_SUCCESS';\n\nexport const RESET = 'common/carrier-suggest/RESET';\n\nexport type CarrierSuggestStateT = {\n    query: FindCarriersQueryT | null;\n    requestStatus: RequestStatusT;\n    ids: Array<PartnerT['id']>;\n    byId: Record<PartnerT['id'], PartnerT>;\n};\n\nexport type FindCarriersActionT = {\n    type: typeof FIND_CARRIERS_REQUEST;\n    query: FindCarriersQueryT;\n};\n\nexport type FindCarriersBeginActionT = {\n    type: typeof FIND_CARRIERS_REQUEST_BEGIN;\n    query: FindCarriersQueryT;\n};\n\nexport type FindCarriersSuccessActionT = {\n    type: typeof FIND_CARRIERS_REQUEST_SUCCESS;\n    partners: PartnerT[];\n};\n\nexport type FindCarriersErrorActionT = {\n    type: typeof FIND_CARRIERS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type ResetActionT = {\n    type: typeof RESET;\n};\n\nexport type CarrierSuggestActionT =\n    | FindCarriersActionT\n    | FindCarriersBeginActionT\n    | FindCarriersSuccessActionT\n    | FindCarriersErrorActionT\n    | ResetActionT;\n","import {\n    TRUCKS_DICT_REQUEST_BEGIN,\n    TRUCKS_DICT_REQUEST_ERROR,\n    TRUCKS_DICT_REQUEST_SUCCESS,\n    TrucksDictActionT,\n    TrucksDictStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport keyBy from 'lodash/keyBy';\n\nconst initialState: TrucksDictStateT = {\n    trucksDict: null,\n    trucksDictRequest: requestStatus.initial,\n};\n\nexport default (state = initialState, action: TrucksDictActionT): TrucksDictStateT => {\n    switch (action.type) {\n        case TRUCKS_DICT_REQUEST_BEGIN: {\n            return {\n                ...state,\n                trucksDictRequest: requestStatus.loading,\n            };\n        }\n\n        case TRUCKS_DICT_REQUEST_SUCCESS: {\n            const { trucksDict } = action;\n\n            const trucksById = keyBy(trucksDict, 'id');\n\n            return {\n                ...state,\n                trucksDict: trucksById,\n                trucksDictRequest: requestStatus.ok,\n            };\n        }\n\n        case TRUCKS_DICT_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                trucksDictRequest: requestStatus.setError(error),\n            };\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import {\n    AssetTrackActionT,\n    AssetTrackItemStateT,\n    AssetTrackStateT,\n    FETCH_TRACK_REQUEST_BEGIN,\n    FETCH_TRACK_REQUEST_ERROR,\n    FETCH_TRACK_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialAssetTrackState: AssetTrackItemStateT = {\n    points: [],\n    requestStatus: requestStatus.initial,\n};\n\nconst initialState: AssetTrackStateT = {};\n\nexport default (state = initialState, action: AssetTrackActionT | DestroySessionActionT): AssetTrackStateT => {\n    switch (action.type) {\n        case FETCH_TRACK_REQUEST_BEGIN: {\n            const { hash } = action;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...initialAssetTrackState,\n                    ...state[hash],\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_TRACK_REQUEST_ERROR: {\n            const { hash, error } = action;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...initialAssetTrackState,\n                    ...state[hash],\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_TRACK_REQUEST_SUCCESS: {\n            const { hash, points } = action;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...initialAssetTrackState,\n                    ...state[hash],\n                    requestStatus: requestStatus.ok,\n                    points: points || [],\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Zone.scss';\nimport { RangeSelectorZoneThemeEnum } from '../constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    isSelected?: boolean;\n    isHovered?: boolean;\n    hasLeftBorder?: boolean;\n    hasRightBorder?: boolean;\n    isDisabled?: boolean;\n    left: number;\n    width: number;\n    theme?: RangeSelectorZoneThemeEnum | null;\n    testSelector?: string;\n    children?: React.ReactNode;\n};\n\nconst Zone: React.FC<PropsT> = React.memo((props) => {\n    const { isSelected, isHovered, hasLeftBorder, hasRightBorder, theme, isDisabled, left, width, children } = props;\n\n    return (\n        <div\n            className={cx('zone', {\n                'zone--isDisabled': isDisabled,\n                'zone--isSelected': isSelected,\n                'zone--isHovered': isHovered,\n                'zone--hasLeftBorder': hasLeftBorder,\n                'zone--hasRightBorder': hasRightBorder,\n                [`zone--theme-${theme}`]: !!theme,\n            })}\n            style={{\n                left: `${left}%`,\n                width: `${width}%`,\n            }}\n            data-test-selector=\"range-selector-zone\"\n        >\n            {children}\n        </div>\n    );\n});\n\nexport default Zone;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DropdownTreeInput.scss';\nimport { DropdownOverlayPositionEnum } from '../constants';\nimport DropdownBaseLayout from '../base/DropdownBaseLayout/DropdownBaseLayout';\nimport DropdownBaseButtonTrigger from '../base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport cs from 'classnames';\nimport CheckboxTree, { getAllSubValues, TreeNodeT } from 'design-system/components/CheckboxTree/CheckboxTree';\nimport FilterPill, { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\n\nconst cx = classNames.bind(styles);\n\nexport type IconMetaT = {\n    isEmpty: boolean;\n    isFocus: boolean;\n    isPressed: boolean;\n    isDisabled: boolean;\n    hasError: boolean;\n    hasWarning: boolean;\n    hasSuccess: boolean;\n    hasChanges: boolean;\n    hasValue: boolean;\n};\n\nexport type PropsT<ValueT> = {\n    selectedValues: Array<ValueT>;\n    placeholder?: string;\n    isDisabled?: boolean;\n    isInline?: boolean;\n    hasWarning?: boolean;\n    hasError?: boolean;\n    options: Array<TreeNodeT<ValueT>>;\n    onSelect: (values: Array<ValueT>) => void;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    className?: string;\n    hasChanges?: boolean;\n    triggerClassName?: string;\n    overlayClassName?: string;\n    testSelector?: string;\n    hasClearControl?: boolean;\n    isLoading?: boolean;\n    renderLeftIcon?: (iconMeta: IconMetaT) => React.ReactNode;\n};\n\nconst DropdownTreeInput = <ValueT,>(props: PropsT<ValueT>): React.ReactElement => {\n    const {\n        selectedValues,\n        placeholder,\n        onSelect,\n        options,\n        isDisabled,\n        isInline,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        className,\n        hasChanges,\n        triggerClassName,\n        overlayClassName,\n        onFocus,\n        onBlur,\n        testSelector,\n        hasClearControl,\n        isLoading,\n        renderLeftIcon,\n    } = props;\n\n    const [isOpen, toggleOpen] = React.useState(false);\n\n    const handleOpen = (): void => {\n        if (isDisabled) {\n            return;\n        }\n        if (onFocus) {\n            onFocus();\n        }\n        toggleOpen(true);\n    };\n\n    const handleClose = (): void => {\n        if (onBlur) {\n            onBlur();\n        }\n        toggleOpen(false);\n    };\n\n    const handleOuterEvent = (): void => {\n        if (onBlur) {\n            onBlur();\n        }\n        handleClose();\n    };\n\n    const renderTrigger = (options: Array<TreeNodeT<ValueT>>, placeholder: string | undefined): React.ReactNode => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        return (\n            <>\n                {options.map((option, optionIndex) => {\n                    return (\n                        <FilterPill\n                            className={cx('tag')}\n                            key={optionIndex}\n                            isCompact\n                            label={option.label}\n                            withCloser\n                            theme={FilterPillThemeEnum.charcoal}\n                            onClick={() => {\n                                const optionSubValues = getAllSubValues([option]);\n                                const optionSubValuesSet = new Set(optionSubValues);\n                                const newValues = selectedValues.filter((value) => {\n                                    return !optionSubValuesSet.has(value);\n                                });\n                                onSelect(newValues);\n                            }}\n                        />\n                    );\n                })}\n            </>\n        );\n    };\n\n    const selectedOptions = React.useMemo((): Array<TreeNodeT<ValueT>> => {\n        const result: Array<TreeNodeT<ValueT>> = [];\n\n        const valuesSet = new Set(selectedValues);\n\n        const findSelectedOption = (treeNode: TreeNodeT<ValueT>): void => {\n            const subValues = getAllSubValues([treeNode]);\n            if (!subValues?.length) {\n                return;\n            }\n\n            const isExactValue = subValues.every((subValue) => valuesSet.has(subValue));\n            if (isExactValue) {\n                result.push(treeNode);\n                subValues.forEach((subValue) => valuesSet.delete(subValue));\n                return;\n            }\n\n            const isPartlyValue = subValues.some((subValue) => valuesSet.has(subValue));\n            if (isPartlyValue) {\n                treeNode.children.forEach((subTreeNode) => findSelectedOption(subTreeNode));\n            }\n        };\n\n        options.forEach(findSelectedOption);\n\n        return result;\n    }, [options, selectedValues]);\n\n    const handleReset = React.useCallback(() => {\n        onSelect([]);\n    }, [onSelect]);\n\n    const hasValues = !!selectedOptions.length;\n\n    return (\n        <DropdownBaseLayout\n            isInline={isInline}\n            isOpen={isOpen}\n            className={className}\n            onClose={handleOuterEvent}\n            triggerNode={\n                <DropdownBaseButtonTrigger\n                    isEmpty={!hasValues}\n                    isPressed={isOpen}\n                    isDisabled={isDisabled}\n                    hasChanges={hasChanges}\n                    hasWarning={hasWarning}\n                    hasError={hasError}\n                    className={cs(cx('trigger'), triggerClassName)}\n                    testSelector={testSelector}\n                    onClick={handleOpen}\n                    renderLeftIcon={\n                        renderLeftIcon\n                            ? (iconMeta) =>\n                                  renderLeftIcon({\n                                      ...iconMeta,\n                                      hasValue: hasValues,\n                                  })\n                            : undefined\n                    }\n                    isShowClearControl={hasClearControl}\n                    onReset={hasClearControl ? handleReset : undefined}\n                    renderRightIcon={() =>\n                        isLoading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n                    }\n                >\n                    {renderTrigger(selectedOptions, placeholder)}\n                </DropdownBaseButtonTrigger>\n            }\n            overlayPosition={overlayPosition}\n            overlayClassName={cs(cx('overlay'), overlayClassName)}\n            overlayNode={\n                <>\n                    {options.map((option, index): React.ReactElement => {\n                        return (\n                            <div key={index} className={cx('option')}>\n                                <CheckboxTree\n                                    trees={[option]}\n                                    values={selectedValues}\n                                    onChange={onSelect}\n                                    isFullWidth\n                                />\n                            </div>\n                        );\n                    })}\n                </>\n            }\n        />\n    );\n};\n\nexport default DropdownTreeInput;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ChartTooltip.scss';\n\nimport { DataItemT, TooltipOffsetT } from '../models';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport { CurrencyEnum, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport Money from 'common/components/Money/Money';\nimport { Trans, useTranslation } from 'react-i18next';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport isNumber from 'lodash/isNumber';\nimport { GraphSettingsT } from 'broker-admin/layouts/StatisticsPage/models';\nimport { AggregateEnum } from 'broker-admin/layouts/StatisticsPage/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    data: DataItemT | null;\n    offset: TooltipOffsetT | null;\n    settings: GraphSettingsT;\n};\n\nconst ChartTooltip: React.FC<PropsT> = React.memo((props) => {\n    const { data, offset, settings } = props;\n\n    const { t } = useTranslation();\n\n    if (!offset) {\n        return null;\n    }\n\n    const deadheadValue = data?.tooltipData?.deadhead;\n    const deadhead = isNumber(deadheadValue) ? +deadheadValue.toFixed(2) : null;\n\n    const marginValue = data?.tooltipData?.margin;\n    const margin = isNumber(marginValue) ? +marginValue.toFixed(2) : null;\n\n    const notNumberMessage: React.ReactElement = t('common:not-number');\n\n    return (\n        <div\n            className={cx('wrap')}\n            style={{\n                top: `${offset?.top || 0}px`,\n                left: `${offset?.left || 0}px`,\n            }}\n        >\n            <div className={cx('content')}>\n                <div className={cx('row')}>\n                    <HollowCircleIcon borderColor={StyleGuideColorsEnum.tomatoRed} className={cx('row__icon')} />\n                    <div className={cx('row__text')}>\n                        <Trans\n                            i18nKey=\"statistics.chart.tooltip.rejected\"\n                            components={{\n                                value: settings.available[AggregateEnum.rejectedShipperRate] ? (\n                                    <Money\n                                        amount={data?.tooltipData?.rejectedShipperRate}\n                                        currency={CurrencyEnum.EUR}\n                                    />\n                                ) : (\n                                    notNumberMessage\n                                ),\n                            }}\n                        />\n                    </div>\n                </div>\n                <div className={cx('row')}>\n                    <HollowCircleIcon borderColor={StyleGuideColorsEnum.brandAccent} className={cx('row__icon')} />\n                    <div className={cx('row__text')}>\n                        <Trans\n                            i18nKey=\"statistics.chart.tooltip.accepted\"\n                            components={{\n                                value: settings.available[AggregateEnum.acceptedShipperRate] ? (\n                                    <Money\n                                        amount={data?.tooltipData?.acceptedShipperRate}\n                                        currency={CurrencyEnum.EUR}\n                                    />\n                                ) : (\n                                    notNumberMessage\n                                ),\n                            }}\n                        />\n                    </div>\n                </div>\n                <div className={cx('row')}>\n                    <HollowCircleIcon borderColor={StyleGuideColorsEnum.gray} className={cx('row__icon')} />\n                    <div className={cx('row__text')}>\n                        <Trans\n                            i18nKey=\"statistics.chart.tooltip.estimated\"\n                            components={{\n                                value: settings.available[AggregateEnum.estimatedCarrierRate] ? (\n                                    <Money\n                                        amount={data?.tooltipData?.estimatedCarrierRate}\n                                        currency={CurrencyEnum.EUR}\n                                    />\n                                ) : (\n                                    notNumberMessage\n                                ),\n                            }}\n                        />\n                    </div>\n                </div>\n                <div className={cx('row')}>\n                    <HollowCircleIcon borderColor={StyleGuideColorsEnum.orange} className={cx('row__icon')} />\n                    <div className={cx('row__text')}>\n                        <Trans\n                            i18nKey=\"statistics.chart.tooltip.real\"\n                            components={{\n                                value: settings.available[AggregateEnum.realCarrierRate] ? (\n                                    <Money amount={data?.tooltipData?.realCarrierRate} currency={CurrencyEnum.EUR} />\n                                ) : (\n                                    notNumberMessage\n                                ),\n                            }}\n                        />\n                    </div>\n                </div>\n                <div className={cx('row')}>\n                    <HollowCircleIcon borderColor={StyleGuideColorsEnum.light} className={cx('row__icon')} />\n                    <div className={cx('row__text')}>\n                        <Trans\n                            i18nKey=\"statistics.chart.tooltip.margin\"\n                            components={{\n                                value: settings.available[AggregateEnum.margin] ? (\n                                    <UnitTypeCount count={margin} type={UnitTypeEnum.percentsAbbreviation} />\n                                ) : (\n                                    notNumberMessage\n                                ),\n                            }}\n                        />\n                    </div>\n                </div>\n                <div className={cx('row')}>\n                    <HollowCircleIcon borderColor={StyleGuideColorsEnum.light} className={cx('row__icon')} />\n                    <div className={cx('row__text')}>\n                        <Trans\n                            i18nKey=\"statistics.chart.tooltip.deadhead\"\n                            components={{\n                                value: <UnitTypeCount count={deadhead} type={UnitTypeEnum.percentsAbbreviation} />,\n                            }}\n                        />\n                    </div>\n                </div>\n                <div className={cx('row')}>\n                    <HollowCircleIcon borderColor={StyleGuideColorsEnum.light} className={cx('row__icon')} />\n                    <div className={cx('row__text')}>\n                        <Trans\n                            i18nKey=\"statistics.chart.tooltip.avg-distance\"\n                            components={{\n                                value: (\n                                    <UnitTypeCount\n                                        count={data?.tooltipData?.avgDistance}\n                                        type={UnitTypeEnum.kilometersAbbreviation}\n                                    />\n                                ),\n                            }}\n                        />\n                    </div>\n                </div>\n            </div>\n        </div>\n    );\n});\n\nexport default ChartTooltip;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\nimport classNames from 'classnames/bind';\nimport styles from './ExcludedCountries.scss';\nimport ExcludedCountry from './ExcludedCountry/ExcludedCountry';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nimport isEmpty from 'lodash/isEmpty';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    countryCodes: Array<CountryCodeT>;\n    titleNode?: React.ReactNode;\n    tooltipNode?: React.ReactNode;\n};\n\nconst ExcludedCountries: React.FC<PropsT> = React.memo((props) => {\n    const { countryCodes, titleNode, tooltipNode, className } = props;\n\n    const countryByCode = useSelector(selectCountriesByCode);\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    if (isEmpty(countryCodes)) {\n        return null;\n    }\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <Tooltip\n                className={cx('tooltip')}\n                position={TooltipPositionEnum.centerRight}\n                theme={TooltipThemeEnum.black}\n                tooltipNode={\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={300}>\n                        {tooltipNode}\n                    </TooltipContent>\n                }\n            >\n                {(isShow) => <TooltipIconTrigger className={cx('tooltip__icon')} isShow={isShow} />}\n            </Tooltip>\n            <div className={cx('title')}>{titleNode}</div>\n            {countryCodes.map((countryCode: CountryCodeT, index: number) => {\n                const country = countryByCode[countryCode];\n\n                return (\n                    <ExcludedCountry\n                        key={index}\n                        countryCode={countryCode}\n                        countryLabel={country?.userLangDisplayName}\n                        className={cx('country')}\n                    />\n                );\n            })}\n        </div>\n    );\n});\n\nexport default ExcludedCountries;\n","import { ApiCompanyContactMediaT, ApiCompanyContactRequestT } from 'common/utils/api/models';\nimport { FormValuesT, FieldsEnum, MEDIA_FIELDS_NAME } from './constants';\nimport moment from 'moment';\nimport { parsePhoneNumber } from 'common/utils/input-parsers';\n\nconst prepareApiContact = (formValues: FormValuesT): ApiCompanyContactRequestT => {\n    const medias = MEDIA_FIELDS_NAME.reduce<ApiCompanyContactMediaT[]>((acc, fieldName) => {\n        const value = formValues[fieldName];\n        if (value) {\n            acc.push({\n                type: fieldName,\n                login: value,\n            });\n        }\n\n        return acc;\n    }, []);\n\n    return {\n        formal: formValues[FieldsEnum.formal],\n        name: formValues[FieldsEnum.firstName],\n        surname: formValues[FieldsEnum.lastName],\n\n        position: formValues[FieldsEnum.position],\n\n        main: formValues[FieldsEnum.isDefault],\n        deskPhone: parsePhoneNumber(formValues[FieldsEnum.desktopPhone]),\n        mobilePhone: parsePhoneNumber(formValues[FieldsEnum.mobilePhone]),\n        fax: formValues[FieldsEnum.faxNumber],\n        email: formValues[FieldsEnum.email],\n\n        website: formValues[FieldsEnum.webpageLink],\n\n        birthday: moment(formValues[FieldsEnum.birthday]).format('YYYY-MM-DD'), // `${}T00:00:00.000000+00:00`,\n        language: formValues[FieldsEnum.language] || undefined,\n        residence: formValues[FieldsEnum.countryCode] || undefined,\n\n        medias,\n        roles: [],\n    };\n};\n\nexport default prepareApiContact;\n","import * as React from 'react';\nimport { ApiShipperContractStatusT } from 'common/utils/api/models';\nimport ShipperContractLaneOrderCounterPill from 'common/components/pills/ShipperContractLaneOrderCounterPill/ShipperContractLaneOrderCounterPill';\n\ntype PropsT = {\n    ordersLeft: number | null | undefined;\n    maxNumberOfOrders: number | null | undefined;\n    status: ApiShipperContractStatusT | null | undefined;\n};\n\nconst OrdersCountCell: React.FC<PropsT> = React.memo((props) => {\n    const { ordersLeft, maxNumberOfOrders, status } = props;\n\n    return (\n        <ShipperContractLaneOrderCounterPill\n            ordersLeft={ordersLeft}\n            maxNumberOfOrders={maxNumberOfOrders}\n            status={status}\n            isSymmetrical\n        />\n    );\n});\n\nexport default OrdersCountCell;\n","import * as React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { RevokeContractActionEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype ValueT = RevokeContractActionEnum | null;\n\nexport type ActionOptionT = {\n    label: React.ReactNode;\n    value: ValueT;\n};\n\ntype PropsT = {\n    className?: string;\n    value: ValueT;\n    onSelect: (value: ValueT) => void;\n    onBlur?: () => void;\n    onFocus?: () => void;\n};\n\nconst RevokeContractActionDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { className, value, onSelect, onBlur, onFocus } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<ActionOptionT> => {\n        return [\n            {\n                value: RevokeContractActionEnum.setNewContract,\n                label: t('common:carrier-contracts.revoke-confirmation.actions.set-new-contract'),\n            },\n            {\n                value: RevokeContractActionEnum.keepOldRate,\n                label: t('common:carrier-contracts.revoke-confirmation.actions.keep-old-rate'),\n            },\n            {\n                value: RevokeContractActionEnum.setNewRate,\n                label: t('common:carrier-contracts.revoke-confirmation.actions.set-new-rate'),\n            },\n        ];\n    }, [t]);\n\n    return (\n        <DropdownInput<ActionOptionT, ActionOptionT['value']>\n            className={className}\n            selectedValue={value}\n            options={options}\n            onSelect={onSelect}\n            renderOption={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return <DropdownControlOptionLabel withoutPaddings label={option.label} />;\n            }}\n            renderTriggerContent={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return <DropdownControlOptionLabel withoutPaddings label={option.label} />;\n            }}\n            getOptionValue={(option) => option?.value}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            onBlur={onBlur}\n            onFocus={onFocus}\n        />\n    );\n});\n\nexport default RevokeContractActionDropdown;\n","import React from 'react';\nimport { DeadheadRouteStopTypeEnum } from 'broker-admin/store/deadhead-creation/models';\nimport noop from 'lodash/noop';\nimport { BoundPointT } from 'common/components/maps/MapBound/MapBound';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nexport type MapRoutePointT = {\n    id: RoutePointIdT;\n    type: DeadheadRouteStopTypeEnum;\n    number: number;\n    location: LocationT | null;\n    isDraggable: boolean;\n    hasError: boolean;\n};\n\nexport type OnMapClickCallbackT = (location: LocationT | null) => void;\nexport type OnDragEndDnDCallbackT = (id: RoutePointIdT, location: LocationT | null) => void;\nexport type OnSetMapBoundingBoxCallbackT = (boundPoints: Array<BoundPointT> | null) => void;\nexport type OnChangeExcludedCountriesCallbackT = (excludedCountries: Array<CountryCodeT>) => void;\n\nexport type SyncAssignmentFormMapStateContextValueT = {\n    onSetMapBoundingBox: { callback: OnSetMapBoundingBoxCallbackT } | null;\n    setOnSetMapBoundingBox: (params: { callback: OnSetMapBoundingBoxCallbackT }) => void;\n\n    mapRoutePoints: Array<MapRoutePointT>;\n    setMapRoutePoints: (routePoints: Array<MapRoutePointT>) => void;\n\n    onMapClickCallback: { callback: OnMapClickCallbackT } | null;\n    setOnMapClickCallback: (params: { callback: OnMapClickCallbackT }) => void;\n\n    onDragEndDnDCallback: { callback: OnDragEndDnDCallbackT } | null;\n    setOnDragEndDnDCallback: (params: { callback: OnDragEndDnDCallbackT }) => void;\n\n    excludedCountries: Array<CountryCodeT>;\n    setExcludedCountries: (excludedCountries: Array<CountryCodeT>) => void;\n\n    onChangeExcludedCountriesCallback: { callback: OnChangeExcludedCountriesCallbackT } | null;\n    setOnChangeExcludedCountriesCallback: (params: { callback: OnChangeExcludedCountriesCallbackT }) => void;\n};\n\nconst SyncRouteEditFormMapStateContext = React.createContext<SyncAssignmentFormMapStateContextValueT>({\n    onSetMapBoundingBox: null,\n    setOnSetMapBoundingBox: noop,\n\n    mapRoutePoints: [],\n    setMapRoutePoints: noop,\n\n    onMapClickCallback: null,\n    setOnMapClickCallback: noop,\n\n    onDragEndDnDCallback: null,\n    setOnDragEndDnDCallback: noop,\n\n    excludedCountries: [],\n    setExcludedCountries: noop,\n\n    onChangeExcludedCountriesCallback: null,\n    setOnChangeExcludedCountriesCallback: noop,\n});\n\nexport { SyncRouteEditFormMapStateContext };\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"CompletedPartnerCarrierContractCard__inner___HfGn3\",\"fadeIn\":\"CompletedPartnerCarrierContractCard__fadeIn___QSzV8\",\"blinking\":\"CompletedPartnerCarrierContractCard__blinking___PssfE\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ExcludedCountries__wrap___fHaN5\",\"tooltip\":\"ExcludedCountries__tooltip___dANAG\",\"title\":\"ExcludedCountries__title____Q_5i\",\"country\":\"ExcludedCountries__country___hnOtV\",\"fadeIn\":\"ExcludedCountries__fadeIn___XINF1\",\"blinking\":\"ExcludedCountries__blinking___KcQ7j\"};","import { SharableStateT } from 'common/store/models';\nimport { initialAssetTrackState } from './reducer';\nimport { AssetTrackItemStateT, AssetTrackStateT } from './types';\n\nexport const selectAssetTrackRequest =\n    (hash?: HashT) =>\n    (state: SharableStateT): AssetTrackItemStateT['requestStatus'] => {\n        if (!hash) {\n            return initialAssetTrackState.requestStatus;\n        }\n\n        return state.assetTrack[hash]?.requestStatus || initialAssetTrackState.requestStatus;\n    };\n\nexport const selectAssetTrackPoints =\n    (hash?: HashT) =>\n    (state: SharableStateT): AssetTrackItemStateT['points'] => {\n        if (!hash) {\n            return initialAssetTrackState.points;\n        }\n\n        return state.assetTrack[hash]?.points || initialAssetTrackState.points;\n    };\n\nexport const selectAssetTrackSliceState = (state: SharableStateT): AssetTrackStateT => {\n    return state.assetTrack;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"CompletedPartnerShipperContractCard__inner___GyYTC\",\"fadeIn\":\"CompletedPartnerShipperContractCard__fadeIn___fXRWG\",\"blinking\":\"CompletedPartnerShipperContractCard__blinking___FS0EB\"};","import {\n    AuthActionT,\n    AuthStateT,\n    EMAIL_VERIFICATION_REQUEST_BEGIN,\n    RESET_PASSWORD_REQUEST_BEGIN,\n    RESET_PASSWORD_REQUEST_ERROR,\n    RESET_PASSWORD_REQUEST_SUCCESS,\n    SET_USER,\n    RESET_USER,\n    SIGN_IN_REQUEST_BEGIN,\n    SIGN_IN_REQUEST_ERROR,\n    SIGN_IN_REQUEST_SUCCESS,\n    SIGN_OUT_REQUEST_BEGIN,\n    SIGN_OUT_REQUEST_ERROR,\n    SIGN_OUT_REQUEST_SUCCESS,\n    SIGN_UP_REQUEST_BEGIN,\n    SIGN_UP_REQUEST_ERROR,\n    SIGN_UP_REQUEST_SUCCESS,\n    UPDATE_PASSWORD_REQUEST_BEGIN,\n    UPDATE_PASSWORD_REQUEST_ERROR,\n    UPDATE_PASSWORD_REQUEST_SUCCESS,\n    EMAIL_VERIFICATION_REQUEST_SUCCESS,\n    EMAIL_VERIFICATION_REQUEST_ERROR,\n    DESTROY_SESSION,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\n\nconst getInitialState = (profileType: AuthProfileTypeEnum): AuthStateT => ({\n    user: null,\n    userClaims: null,\n    signInRequest: requestStatus.initial,\n    resetPasswordRequest: requestStatus.initial,\n    updatePasswordRequest: requestStatus.initial,\n    signUpRequest: requestStatus.initial,\n    signOutRequest: requestStatus.initial,\n    emailVerificationRequest: requestStatus.initial,\n    profileType,\n});\n\nexport default (profileType: AuthProfileTypeEnum) =>\n    (state = getInitialState(profileType), action: AuthActionT): AuthStateT => {\n        switch (action.type) {\n            case SIGN_IN_REQUEST_BEGIN: {\n                return {\n                    ...state,\n                    signInRequest: requestStatus.loading,\n                };\n            }\n            case SIGN_IN_REQUEST_SUCCESS: {\n                const { user, userClaims } = action;\n                return {\n                    ...state,\n                    user,\n                    userClaims,\n                    signInRequest: requestStatus.ok,\n                };\n            }\n            case SIGN_IN_REQUEST_ERROR: {\n                const { error } = action;\n\n                return {\n                    ...state,\n                    signInRequest: requestStatus.setError(error),\n                };\n            }\n            case SET_USER: {\n                const { user, userClaims } = action;\n\n                return {\n                    ...state,\n                    user,\n                    userClaims,\n                };\n            }\n            case RESET_USER: {\n                return {\n                    ...state,\n                    user: null,\n                };\n            }\n            case RESET_PASSWORD_REQUEST_BEGIN: {\n                return {\n                    ...state,\n                    resetPasswordRequest: requestStatus.loading,\n                };\n            }\n            case RESET_PASSWORD_REQUEST_SUCCESS: {\n                return {\n                    ...state,\n                    resetPasswordRequest: requestStatus.ok,\n                };\n            }\n            case RESET_PASSWORD_REQUEST_ERROR: {\n                const { error } = action;\n\n                return {\n                    ...state,\n                    resetPasswordRequest: requestStatus.setError(error),\n                };\n            }\n            case UPDATE_PASSWORD_REQUEST_BEGIN: {\n                return {\n                    ...state,\n                    updatePasswordRequest: requestStatus.loading,\n                };\n            }\n            case UPDATE_PASSWORD_REQUEST_SUCCESS: {\n                return {\n                    ...state,\n                    updatePasswordRequest: requestStatus.ok,\n                };\n            }\n            case UPDATE_PASSWORD_REQUEST_ERROR: {\n                const { error } = action;\n\n                return {\n                    ...state,\n                    updatePasswordRequest: requestStatus.setError(error),\n                };\n            }\n            case SIGN_UP_REQUEST_BEGIN: {\n                return {\n                    ...state,\n                    signUpRequest: requestStatus.loading,\n                };\n            }\n            case SIGN_UP_REQUEST_SUCCESS: {\n                return {\n                    ...state,\n                    signUpRequest: requestStatus.ok,\n                };\n            }\n            case SIGN_UP_REQUEST_ERROR: {\n                const { error } = action;\n\n                return {\n                    ...state,\n                    signUpRequest: requestStatus.setError(error),\n                };\n            }\n            case SIGN_OUT_REQUEST_BEGIN: {\n                return {\n                    ...state,\n                    signOutRequest: requestStatus.loading,\n                };\n            }\n            case SIGN_OUT_REQUEST_SUCCESS: {\n                return {\n                    ...state,\n                    signOutRequest: requestStatus.ok,\n                };\n            }\n            case SIGN_OUT_REQUEST_ERROR: {\n                const { error } = action;\n\n                return {\n                    ...state,\n                    signOutRequest: requestStatus.setError(error),\n                };\n            }\n            case EMAIL_VERIFICATION_REQUEST_BEGIN: {\n                return {\n                    ...state,\n                    emailVerificationRequest: requestStatus.loading,\n                };\n            }\n            case EMAIL_VERIFICATION_REQUEST_SUCCESS: {\n                return {\n                    ...state,\n                    emailVerificationRequest: requestStatus.ok,\n                };\n            }\n            case EMAIL_VERIFICATION_REQUEST_ERROR: {\n                const { error } = action;\n\n                return {\n                    ...state,\n                    emailVerificationRequest: requestStatus.setError(error),\n                };\n            }\n\n            case DESTROY_SESSION: {\n                return {\n                    ...getInitialState(profileType),\n                    signOutRequest: state.signOutRequest,\n                    user: state.user,\n                    userClaims: state.userClaims,\n                };\n            }\n\n            default:\n                return state;\n        }\n    };\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './SelectedOfferHeader.scss';\nimport SideBarLayoutContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-layout-context';\nimport Money from 'common/components/Money/Money';\nimport { CurrencyEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    amount: number;\n    currency: CurrencyEnum;\n    hasChangedLineHaul: boolean;\n    onClickAmount: () => void;\n};\n\nconst SelectedOfferHeader: React.FC<PropsT> = React.memo((props) => {\n    const { onClickAmount, amount, currency, hasChangedLineHaul } = props;\n    const context = React.useContext(SideBarLayoutContext);\n\n    const scrollTopValue = context?.scrollTop?.value || 0;\n    if (scrollTopValue < 500) {\n        return null;\n    }\n\n    return (\n        <div className={cx('content')}>\n            <span\n                className={cx('total', {\n                    'total--changed': hasChangedLineHaul,\n                })}\n                onClick={onClickAmount}\n            >\n                <Money amount={amount} currency={currency} />\n            </span>\n        </div>\n    );\n});\n\nexport default SelectedOfferHeader;\n","import React from 'react';\nimport UiContext from 'common/contexts/ui-context';\nimport NavBurger from 'common/components/NavBurger/NavBurger';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TopBar.scss';\nimport ContentLimiter from '../ContentLimiter/ContentLimiter';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isSticky?: boolean;\n    isWhite?: boolean;\n    scrollBarWidth?: number;\n};\n\nconst TopBar: React.FC<PropsT> = (props) => {\n    const { children, isSticky, isWhite, scrollBarWidth, className } = props;\n\n    const uiContext = React.useContext(UiContext);\n\n    const contentNode = (\n        <>\n            <div className={cx('menu-trigger')} onClick={uiContext.menu?.handleToggle}>\n                <NavBurger isOpen={!!uiContext.menu?.isVisible} />\n            </div>\n            {children}\n        </>\n    );\n\n    return (\n        <div\n            className={cs(\n                cx('top-bar', {\n                    'top-bar--isSticky': isSticky,\n                }),\n                className,\n            )}\n            style={{\n                left: `${0}px`,\n                right: `${scrollBarWidth || 0}px`,\n            }}\n        >\n            {isSticky ? (\n                <ContentLimiter>\n                    <div\n                        className={cs(\n                            cx('inner', {\n                                'inner--isWhite': isWhite,\n                                'inner--isSticky': isSticky,\n                            }),\n                        )}\n                    >\n                        {contentNode}\n                    </div>\n                </ContentLimiter>\n            ) : (\n                <div className={cx('inner')}>{contentNode}</div>\n            )}\n        </div>\n    );\n};\n\nexport default TopBar;\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { useTranslation } from 'react-i18next';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('invoices.list.filters.pills.search', {\n                        value: queryFilters[QueryFiltersKeysEnum.searchText],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.searchText],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import * as React from 'react';\n\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { useTranslation } from 'react-i18next';\nimport { ApiBrokerTourTypeT, ApiBrokerTourEnum } from 'broker-admin/utils/api/broker-tranziit/models';\n\ntype PropsT = {\n    type?: ApiBrokerTourTypeT | null | undefined;\n    isSymmetrical?: boolean;\n    className?: string;\n};\n\nconst PILL_THEME_BY_TOUR_TYPE: Record<ApiBrokerTourTypeT, PillLabelThemeEnum> = {\n    [ApiBrokerTourEnum.deadhead]: PillLabelThemeEnum.tumbleweed,\n    [ApiBrokerTourEnum.shipment]: PillLabelThemeEnum.lightSlateGray,\n};\n\nexport const BROKER_TOUR_TYPE_T_MAP: Record<ApiBrokerTourTypeT, string> = {\n    [ApiBrokerTourEnum.deadhead]: 'broker-tour-type.DEADHEAD',\n    [ApiBrokerTourEnum.shipment]: 'broker-tour-type.SHIPMENT',\n};\n\nconst BrokerTourTypePill: React.FC<PropsT> = React.memo((props) => {\n    const { type, isSymmetrical, className } = props;\n\n    const { t } = useTranslation();\n\n    if (!type) {\n        return null;\n    }\n\n    const theme = PILL_THEME_BY_TOUR_TYPE[type] ?? PillLabelThemeEnum.slate;\n\n    return (\n        <PillLabel\n            isNoWrap\n            isSymmetrical={isSymmetrical}\n            className={className}\n            theme={theme}\n            testSelector=\"broker-tour-type\"\n        >\n            {t(BROKER_TOUR_TYPE_T_MAP[type])}\n        </PillLabel>\n    );\n});\n\nexport default BrokerTourTypePill;\n","// eslint-disable-next-line no-restricted-exports\nexport { default } from './slice';\n","import * as React from 'react';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\n\ntype PropsT = {\n    className?: string;\n    options: Array<DropdownControlOptionT | SpecialOptionEnum>;\n};\n\nconst ControlsCell: React.FC<PropsT> = React.memo((props) => {\n    const { className, options } = props;\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    leftIcon={<MoreIcon />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n        />\n    );\n});\n\nexport default ControlsCell;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EditShipperContractDetailsForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT, MIN_VALID_FROM_VALID_TILL_DAYS } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { useSelector } from 'react-redux';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport FilePickerInput from 'design-system/components/FilePickerInput/FilePickerInput';\nimport DatePicker, {\n    DatePickerOverlayPositionEnum,\n    datePicketRangePresets,\n} from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { ShipperContractDetailsT, UpdateShipperContractChangesT } from 'common/store/shipper-contract-details/models';\nimport { logWarning } from 'common/utils/logger';\nimport { selectUpdateShipperContractRequest } from 'common/store/shipper-contract-details/selectors';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport moment from 'moment';\nimport { EMPTY_VALUE_PLACEHOLDER } from 'common/components/ReadOnlyFieldValue/ReadOnlyFieldValue';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\nimport { DownloadDataT } from './models';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport isNumber from 'lodash/isNumber';\nimport { getMaxISODate } from 'common/utils/time';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DownloadIcon from 'common/icons/DownloadIcon';\n\nconst cx = classNames.bind(styles);\n\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(Object.values(FieldsEnum));\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    shipperContractId: ShipperContractIdT;\n    shipperContractDetails: ShipperContractDetailsT | null;\n    onDownloadShipperContract: (data: DownloadDataT) => void;\n    onUpdateShipperContract: (data: {\n        partnerId: PartnerIdT;\n        shipperContractId: ShipperContractIdT;\n        detailsChanges: UpdateShipperContractChangesT;\n        file: File | null;\n    }) => void;\n};\n\nconst VALID_TILL_FORMAT = 'YYYY-MM-DD';\n\nconst EditShipperContractDetailsForm: React.FC<PropsT> = (props) => {\n    const { partnerId, shipperContractId, shipperContractDetails, onDownloadShipperContract, onUpdateShipperContract } =\n        props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(partnerId, shipperContractDetails);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [partnerId, shipperContractDetails]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const file = values[FieldsEnum.file];\n            if (!file) {\n                logWarning('failed to upload shipper contract, empty file');\n                return;\n            }\n\n            const detailsChanges: UpdateShipperContractChangesT = {\n                name: simpleStringFormatter(values[FieldsEnum.name]),\n                number: simpleStringFormatter(values[FieldsEnum.number]),\n                validFrom: moment(values[FieldsEnum.activateDate]).format(VALID_TILL_FORMAT),\n                validTill: moment(values[FieldsEnum.validTillDate]).format(VALID_TILL_FORMAT),\n            };\n\n            onUpdateShipperContract({\n                partnerId,\n                shipperContractId,\n                detailsChanges,\n                file: file instanceof File ? file : null,\n            });\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const uploadRequestStatus = useSelector(selectUpdateShipperContractRequest);\n    const isLoading = uploadRequestStatus?.loading;\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErros = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErros,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErros, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const activateDate = formik.values[FieldsEnum.activateDate];\n    const minValidTillDate = React.useMemo(() => {\n        if (!activateDate) {\n            return datePicketRangePresets.documentValidTill.minDate;\n        }\n\n        return (\n            getMaxISODate(\n                moment(activateDate).add(MIN_VALID_FROM_VALID_TILL_DAYS, 'day').format(),\n                shipperContractDetails?.validTill,\n            ) || datePicketRangePresets.documentValidTill.minDate\n        );\n    }, [activateDate, shipperContractDetails?.validTill]);\n\n    const validTillDate = formik.values[FieldsEnum.validTillDate];\n    const maxActivateDate = React.useMemo(() => {\n        if (!validTillDate) {\n            return datePicketRangePresets.documentValidTill.maxDate;\n        }\n\n        return moment(validTillDate).subtract(1, 'day').format();\n    }, [validTillDate]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--name')}\n                    name={FieldsEnum.name}\n                    error={formik.errors[FieldsEnum.name]}\n                    meta={formik.getFieldMeta(FieldsEnum.name)}\n                    label={t('common:shipper-contract-details.editing-form.fields.name.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.name}\n                            value={formik.values[FieldsEnum.name]}\n                            placeholder={t('common:shipper-contract-details.editing-form.fields.name.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasChanges={props.hasChanges}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--number')}\n                    name={FieldsEnum.number}\n                    error={formik.errors[FieldsEnum.number]}\n                    meta={formik.getFieldMeta(FieldsEnum.number)}\n                    label={t('common:shipper-contract-details.editing-form.fields.number.label')}\n                    tooltipNode={\n                        <TooltipContent isCenter theme={TooltipContentThemeEnum.black} width={150}>\n                            {t('common:shipper-contract-details.editing-form.fields.number.tooltip')}\n                        </TooltipContent>\n                    }\n                    tooltipPosition={TooltipPositionEnum.centerLeft}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.number}\n                            value={formik.values[FieldsEnum.number]}\n                            placeholder={t('common:shipper-contract-details.editing-form.fields.number.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasChanges={props.hasChanges}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--activate-date')}\n                    name={FieldsEnum.activateDate}\n                    error={formik.errors[FieldsEnum.activateDate]}\n                    meta={formik.getFieldMeta(FieldsEnum.activateDate)}\n                    label={t('common:shipper-contract-details.editing-form.fields.activate-date.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DatePicker\n                            value={formik.values[FieldsEnum.activateDate]}\n                            placeholder={t(\n                                'common:shipper-contract-details.editing-form.fields.activate-date.placeholder',\n                            )}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            minDate={datePicketRangePresets.documentValidTill.minDate}\n                            maxDate={maxActivateDate}\n                            hasError={props.hasError}\n                            hasChanges={props.hasChanges}\n                            hasWarning={props.hasWarning}\n                            overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                            hasYearMonthForm\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--valid-till')}\n                    name={FieldsEnum.validTillDate}\n                    error={formik.errors[FieldsEnum.validTillDate]}\n                    meta={formik.getFieldMeta(FieldsEnum.validTillDate)}\n                    label={t('common:shipper-contract-details.editing-form.fields.valid-till-date.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DatePicker\n                            value={formik.values[FieldsEnum.validTillDate]}\n                            placeholder={t(\n                                'common:shipper-contract-details.editing-form.fields.valid-till-date.placeholder',\n                            )}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            minDate={minValidTillDate}\n                            maxDate={datePicketRangePresets.documentValidTill.maxDate}\n                            hasError={props.hasError}\n                            hasChanges={props.hasChanges}\n                            hasWarning={props.hasWarning}\n                            overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                            hasYearMonthForm\n                        />\n                    )}\n                </FormikField>\n                <ReadOnlyField\n                    className={cx('field', 'field--orders-left')}\n                    label={t('common:shipper-contract-details.editing-form.fields.orders-left.label')}\n                    value={\n                        isNumber(shipperContractDetails?.ordersLeft) &&\n                        isNumber(shipperContractDetails?.maxNumberOfOrders)\n                            ? `${shipperContractDetails?.ordersLeft}/${shipperContractDetails?.maxNumberOfOrders}`\n                            : null\n                    }\n                    placeholder={EMPTY_VALUE_PLACEHOLDER}\n                />\n            </FieldGroup>\n            <FormikField\n                className={cx('field', 'field--file')}\n                name={FieldsEnum.file}\n                error={formik.errors[FieldsEnum.file]}\n                meta={formik.getFieldMeta(FieldsEnum.file)}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                withoutLabel\n            >\n                {(props) => (\n                    <FilePickerInput\n                        accept=\"image/*,application/pdf\"\n                        name={FieldsEnum.file}\n                        value={formik.values[FieldsEnum.file]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        hasChanges={props.hasChanges}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        onDownload={onDownloadShipperContract}\n                        hasUploadNewControl\n                        renderLeftIcon={({ isEmpty }) => (\n                            <DownloadIcon\n                                fillColor={isEmpty ? StyleGuideColorsEnum.charcoal : StyleGuideColorsEnum.brandDark}\n                                size={DEFAULT_ICON_SIZE}\n                            />\n                        )}\n                    />\n                )}\n            </FormikField>\n            <HiddenSubmitButtonForKeyboardEnter />\n        </form>\n    );\n};\n\nexport default EditShipperContractDetailsForm;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport moment from 'moment';\nimport { DocumentVersionT } from 'common/store/documents/models';\n\nconst getInitialValues = (\n    actualVersion: DocumentVersionT | null,\n    { isShowExpirationDate }: { isShowExpirationDate: boolean },\n): FormValuesT => {\n    return {\n        [FieldsEnum.expiration]:\n            isShowExpirationDate && actualVersion?.validTill ? moment(actualVersion.validTill).toDate() : null,\n    };\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"SortDropdown__input___o8l7h\",\"trigger\":\"SortDropdown__trigger___j0zrX\",\"trigger--withoutBorderRadius\":\"SortDropdown__trigger--withoutBorderRadius___W59nP\",\"trigger--isClickable\":\"SortDropdown__trigger--isClickable___wT7Z4\",\"trigger--isPressed\":\"SortDropdown__trigger--isPressed___Yi2f8\",\"trigger--isActive\":\"SortDropdown__trigger--isActive___Wcx9I\",\"trigger__icon\":\"SortDropdown__trigger__icon___qrIV1\",\"trigger__label\":\"SortDropdown__trigger__label___g6sr0\",\"trigger-icon\":\"SortDropdown__trigger-icon___f5Izf\",\"trigger-icon--isRevert\":\"SortDropdown__trigger-icon--isRevert___DHhlC\",\"overlay\":\"SortDropdown__overlay___hAkPk\",\"fadeIn\":\"SortDropdown__fadeIn___qbtd0\",\"option\":\"SortDropdown__option___xIgb5\",\"option--isSelected\":\"SortDropdown__option--isSelected___wkGK6\",\"option__label\":\"SortDropdown__option__label___FDqo0\",\"option__icon\":\"SortDropdown__option__icon___j4M9V\",\"trigger-tooltip\":\"SortDropdown__trigger-tooltip___jk8T7\",\"icon\":\"SortDropdown__icon___Lzsw6\",\"blinking\":\"SortDropdown__blinking___oSvzX\"};","import { CountrySettingsByCodeT, CountrySettingsT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const COUNTRY_SETTINGS_DICT_REQUEST = 'common/country-settings-dict/COUNTRY_SETTINGS_DICT_REQUEST';\nexport const COUNTRY_SETTINGS_DICT_REQUEST_BEGIN = 'common/country-settings-dict/COUNTRY_SETTINGS_DICT_REQUEST_BEGIN';\nexport const COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS =\n    'common/country-settings-dict/COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS';\nexport const COUNTRY_SETTINGS_DICT_REQUEST_ERROR = 'common/country-settings-dict/COUNTRY_SETTINGS_DICT_REQUEST_ERROR';\n\nexport type FetchCountrySettingsDictActionT = {\n    type: typeof COUNTRY_SETTINGS_DICT_REQUEST;\n};\n\nexport type FetchCountrySettingsDictBeginActionT = {\n    type: typeof COUNTRY_SETTINGS_DICT_REQUEST_BEGIN;\n};\n\nexport type FetchCountrySettingsDictSuccessActionT = {\n    type: typeof COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS;\n    list: Array<CountrySettingsT>;\n};\n\nexport type FetchCountrySettingsDictErrorActionT = {\n    type: typeof COUNTRY_SETTINGS_DICT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type CountrySettingsDictActionT =\n    | FetchCountrySettingsDictActionT\n    | FetchCountrySettingsDictBeginActionT\n    | FetchCountrySettingsDictSuccessActionT\n    | FetchCountrySettingsDictErrorActionT;\n\nexport type CountrySettingsDictStateT = {\n    byCountryCode: CountrySettingsByCodeT;\n    request: RequestStatusT;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"TruckActionHistory__table___K7pnb\",\"fadeIn\":\"TruckActionHistory__fadeIn___eNNFV\",\"blinking\":\"TruckActionHistory__blinking___UqAG3\"};","import * as React from 'react';\nimport PillLabel, { PillLabelPropsT, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiEmissionClassT, EmissionClassEnum } from 'common/constants';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\n\ntype PropsT = Omit<PillLabelPropsT, 'theme'> & {\n    emissionClass: ApiEmissionClassT | null | undefined;\n};\n\nexport const PILL_THEME_BY_DRIVER_STATUS: Record<ApiEmissionClassT, PillLabelThemeEnum> = {\n    [EmissionClassEnum.euro5]: PillLabelThemeEnum.slate,\n    [EmissionClassEnum.euro6]: PillLabelThemeEnum.brandDark,\n};\n\nconst EmissionClassPill: React.FC<PropsT> = React.memo((props) => {\n    const { emissionClass, ...restProps } = props;\n\n    if (!emissionClass) {\n        return null;\n    }\n\n    return (\n        <PillLabel isSymmetrical isNoWrap {...restProps} theme={PILL_THEME_BY_DRIVER_STATUS[emissionClass]}>\n            <EmissionClassLabel emissionClass={emissionClass} />\n        </PillLabel>\n    );\n});\n\nexport default EmissionClassPill;\n","import { TFunction } from 'i18next';\n\nimport * as formCommonValidators from './form-common-validators';\nimport moment from 'moment';\n\nexport const checkNotZero = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, string | null | undefined>>,\n): ReturnType<typeof formCommonValidators.checkNotZero> => {\n    return formCommonValidators.checkNotZero(fields, values, () => {\n        return t('common:form-errors.required');\n    });\n};\n\nexport const checkNotEmpty = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, object | number | string | null | undefined>>,\n    label?: string,\n): ReturnType<typeof formCommonValidators.checkNotEmpty> => {\n    return formCommonValidators.checkNotEmpty(fields, values, () => {\n        return label || t('common:form-errors.required');\n    });\n};\n\nexport const checkFullRange = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, DateRangeT | null | undefined>>,\n): ReturnType<typeof formCommonValidators.checkFullRange> => {\n    return formCommonValidators.checkFullRange(fields, values, () => {\n        return t('common:form-errors.not-full-range');\n    });\n};\n\nexport const checkDateIsAfterDay = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, Date | null | undefined>>,\n    limit: string | number | Date | null | undefined,\n): ReturnType<typeof formCommonValidators.checkFullRange> => {\n    return formCommonValidators.checkDateIsAfterDay(fields, values, limit, () => {\n        return t('common:form-errors.date-is-after', {\n            date: moment(limit).format('DD MMM YYYY'),\n        });\n    });\n};\n\nexport const checkDateIsBeforeDay = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, Date | null | undefined>>,\n    limit: string | number | Date | null | undefined,\n): ReturnType<typeof formCommonValidators.checkFullRange> => {\n    return formCommonValidators.checkDateIsBeforeDay(fields, values, limit, () => {\n        return t('common:form-errors.date-is-before', {\n            date: moment(limit).format('DD MMM YYYY'),\n        });\n    });\n};\n\nexport const checkRangeNotIncludeDisabledDates = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, DateRangeT | null | undefined>>,\n    disabledDates: string[],\n): ReturnType<typeof formCommonValidators.checkRangeNotIncludeDisabledDates> => {\n    return formCommonValidators.checkRangeNotIncludeDisabledDates(fields, values, disabledDates, () => {\n        return t('common:form-errors.range-has-disabled-date');\n    });\n};\n\nexport const checkNotEmptyString = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, string | null | undefined>>,\n): ReturnType<typeof formCommonValidators.checkNotEmptyString> => {\n    return formCommonValidators.checkNotEmptyString(fields, values, () => {\n        return t('common:form-errors.required');\n    });\n};\n\nexport const checkMinLength = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    minLength: number,\n): ReturnType<typeof formCommonValidators.checkMinLength> => {\n    return formCommonValidators.checkMinLength(fields, values, minLength, () => {\n        return t('common:form-errors.too-short');\n    });\n};\n\nexport const checkMaxLength = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    maxLength: number,\n): ReturnType<typeof formCommonValidators.checkMaxLength> => {\n    return formCommonValidators.checkMaxLength(fields, values, maxLength, () => {\n        return t('common:form-errors.too-long');\n    });\n};\n\nexport const checkMinValue = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    minValue: number,\n): ReturnType<typeof formCommonValidators.checkMinValue> => {\n    return formCommonValidators.checkMinValue(fields, values, minValue, ({ value }) => {\n        return t('common:form-errors.too-small-number', {\n            value,\n        });\n    });\n};\n\nexport const checkIsPositiveNumberValue = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n): ReturnType<typeof formCommonValidators.checkStrictMinValue> => {\n    return formCommonValidators.checkStrictMinValue(fields, values, 0, ({ value }) => {\n        return t('common:form-errors.not-positive-number', {\n            value,\n        });\n    });\n};\n\nexport const checkIsPositiveNumberOrZeroValue = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n): ReturnType<typeof formCommonValidators.checkStrictMinValue> => {\n    return formCommonValidators.checkMinValue(fields, values, 0, ({ value }) => {\n        return t('common:form-errors.not-positive-number-or-zero', {\n            value,\n        });\n    });\n};\n\nexport const checkMaxValue = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    maxValue: number,\n): ReturnType<typeof formCommonValidators.checkMaxValue> => {\n    return formCommonValidators.checkMaxValue(fields, values, maxValue, ({ value }) => {\n        return t('common:form-errors.too-large-number', {\n            value,\n        });\n    });\n};\n\nexport const checkStrictMaxValue = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    maxValue: number,\n): ReturnType<typeof formCommonValidators.checkStrictMaxValue> => {\n    return formCommonValidators.checkStrictMaxValue(fields, values, maxValue, ({ value }) => {\n        return t('common:form-errors.too-large-number', {\n            value,\n        });\n    });\n};\n\nexport const checkRoundValue = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n): ReturnType<typeof formCommonValidators.checkRoundValue> => {\n    return formCommonValidators.checkRoundValue(fields, values, () => {\n        return t('common:form-errors.not-rounded-number');\n    });\n};\n\nexport const checkEmail = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, object | number | string | null | undefined>>,\n): ReturnType<typeof formCommonValidators.checkEmail> => {\n    return formCommonValidators.checkEmail(fields, values, () => {\n        return t('common:form-errors.invalid-email');\n    });\n};\n\nexport const checkDate = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, Date | null | undefined>,\n): ReturnType<typeof formCommonValidators.checkDate> => {\n    return formCommonValidators.checkDate(fields, values, () => {\n        return t('common:form-errors.invalid-date');\n    });\n};\n\nexport const checkBirthday = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, Date | null | undefined>,\n): ReturnType<typeof formCommonValidators.checkBirthday> => {\n    return formCommonValidators.checkBirthday(fields, values, () => {\n        return t('common:form-errors.invalid-birthday');\n    });\n};\n\nexport const checkPhoneNumber = <KeyT extends string>(\n    t: TFunction,\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n): ReturnType<typeof formCommonValidators.checkPhoneNumber> => {\n    return formCommonValidators.checkPhoneNumber(fields, values, () => {\n        return t('common:form-errors.invalid-phone');\n    });\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from 'common/layouts/TrailersPageLayout/query-models';\nimport { parseDateFromQuery } from 'common/utils/query';\n\nconst getInitialValues = (queryFilters: QueryFiltersT): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.dictTrailerTypeId]: queryFilters?.[QueryFiltersKeysEnum.dictTrailerTypeId] || [],\n        [FieldsEnum.plateNumber]: queryFilters?.[QueryFiltersKeysEnum.plateNumber] || '',\n        [FieldsEnum.status]: queryFilters?.[QueryFiltersKeysEnum.status] || [],\n        [FieldsEnum.country]: queryFilters?.[QueryFiltersKeysEnum.country] || [],\n        [FieldsEnum.createDates]: null,\n        [FieldsEnum.createdByUserId]: queryFilters?.[QueryFiltersKeysEnum.createdByUserId] || [],\n        [FieldsEnum.createdByUserName]: queryFilters?.[QueryFiltersKeysEnum.createdByUserName] || [],\n        [FieldsEnum.lastModifyDates]: null,\n        [FieldsEnum.lastModifyByUserId]: queryFilters?.[QueryFiltersKeysEnum.lastModifyByUserId] || [],\n        [FieldsEnum.lastModifyByUserName]: queryFilters?.[QueryFiltersKeysEnum.lastModifyByUserName] || [],\n        [FieldsEnum.lastTelematicUpdateDates]: null,\n        [FieldsEnum.contractId]: queryFilters?.[QueryFiltersKeysEnum.contractId] || [],\n        [FieldsEnum.contractName]: queryFilters?.[QueryFiltersKeysEnum.contractName] || [],\n    };\n\n    if (queryFilters[QueryFiltersKeysEnum.createdDateFrom]) {\n        values[FieldsEnum.createDates] = {\n            from: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.createdDateFrom]),\n            to: null,\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.createdDateTo]) {\n        values[FieldsEnum.createDates] = {\n            from: values[FieldsEnum.createDates]?.from,\n            to: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.createdDateTo]),\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom]) {\n        values[FieldsEnum.lastTelematicUpdateDates] = {\n            from: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom]),\n            to: null,\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo]) {\n        values[FieldsEnum.lastTelematicUpdateDates] = {\n            from: values[FieldsEnum.lastTelematicUpdateDates]?.from,\n            to: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo]),\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom]) {\n        values[FieldsEnum.lastModifyDates] = {\n            from: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom]),\n            to: null,\n        };\n    }\n\n    if (queryFilters[QueryFiltersKeysEnum.lastModifyDateTo]) {\n        values[FieldsEnum.lastModifyDates] = {\n            from: values[FieldsEnum.lastModifyDates]?.from,\n            to: parseDateFromQuery(queryFilters[QueryFiltersKeysEnum.lastModifyDateTo]),\n        };\n    }\n\n    return values;\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport SkeletonFormatter from 'design-system/components/InfoTable/formatters/SkeletonFormatter/SkeletonFormatter';\nimport { fetchSpotRequestDetails } from 'broker-admin/store/spot-request-details/actions';\nimport { selectSpotRequestDetails } from 'broker-admin/store/spot-request-details/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\n\ntype PropsT = {\n    spotRequestId: SpotRequestIdT | null;\n    onOpenSpotRequestDetails: (spotRequestId: SpotRequestIdT | null) => void;\n};\n\nconst AsyncSpotRequestDetailsLinkFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { spotRequestId, onOpenSpotRequestDetails } = props;\n\n    const dispatch = useDispatch();\n\n    const { fetchDetailsRequestStatus, details } = useSelector(selectSpotRequestDetails(spotRequestId));\n\n    useEffect(() => {\n        if (!spotRequestId) {\n            return;\n        }\n\n        dispatch(fetchSpotRequestDetails(spotRequestId));\n    }, [spotRequestId, dispatch]);\n\n    if (fetchDetailsRequestStatus.loading || !details) {\n        return <SkeletonFormatter />;\n    }\n\n    return (\n        <Link\n            onClick={() => {\n                const spotRequestId = details?.id;\n                if (!spotRequestId) {\n                    logWarning('Empty spotRequestId');\n                    return;\n                }\n\n                onOpenSpotRequestDetails(spotRequestId);\n            }}\n            theme={LinkThemeEnum.boldBrandDark}\n        >\n            {details?.number}\n        </Link>\n    );\n});\n\nexport default AsyncSpotRequestDetailsLinkFormatter;\n","export type AssignmentVehiclesSuggestItemT = Api2.Definitions.AssetWithAvailableHooks;\n\nexport type LinksT = {\n    byTruckId: Record<TruckIdT, TrailerIdT>;\n    byTrailerId: Record<TrailerIdT, TruckIdT>;\n};\n\nexport type BrokerAssetsSearchRequestInvalidReasonT = Api2.Definitions.BrokerAssetsSearchRequestInvalidReason;\n\nexport type AssetAssignmentInfoT = OverwriteT<Api2.Definitions.Asset, { id: TruckIdT | TrailerIdT }> &\n    Omit<Api2.Definitions.AssetWithAvailableHooks, 'truck' | 'trailer'>;\n\nexport const getAssignmentVehicleLinks = (vehicles: AssignmentVehiclesSuggestItemT[]): LinksT => {\n    return vehicles.reduce<LinksT>(\n        (acc, vehicle) => {\n            const truckId = vehicle?.truck?.id;\n            const trailerId = vehicle?.trailer?.id;\n            if (!truckId || !trailerId) {\n                return acc;\n            }\n\n            return {\n                byTruckId: {\n                    ...acc.byTruckId,\n                    [truckId]: trailerId,\n                },\n                byTrailerId: {\n                    ...acc.byTrailerId,\n                    [trailerId]: truckId,\n                },\n            };\n        },\n        {\n            byTruckId: {},\n            byTrailerId: {},\n        },\n    );\n};\n\nexport const getTrailerById = (\n    vehicles: AssignmentVehiclesSuggestItemT[],\n    prevTrailerById: Record<TrailerIdT, AssetAssignmentInfoT>,\n): Record<TrailerIdT, AssetAssignmentInfoT> => {\n    return vehicles.reduce<Record<TrailerIdT, AssetAssignmentInfoT>>((acc, vehicle) => {\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        const { trailer, truck, ...meta } = vehicle;\n\n        const trailerId = trailer?.id;\n        if (!trailerId) {\n            return acc;\n        }\n\n        return {\n            ...acc,\n            [trailerId]: {\n                assetsToHook: prevTrailerById[trailerId]?.assetsToHook,\n                ...meta,\n                ...trailer,\n                id: trailerId,\n            },\n        };\n    }, {});\n};\n\nexport const getTruckById = (\n    vehicles: AssignmentVehiclesSuggestItemT[],\n    prevTruckById: Record<TruckIdT, AssetAssignmentInfoT>,\n): Record<TruckIdT, AssetAssignmentInfoT> => {\n    return vehicles.reduce<Record<TruckIdT, AssetAssignmentInfoT>>((acc, vehicle) => {\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        const { trailer, truck, ...meta } = vehicle;\n\n        const truckId = truck?.id;\n        if (!truckId) {\n            return acc;\n        }\n\n        return {\n            ...acc,\n            [truckId]: {\n                assetsToHook: prevTruckById[truckId]?.assetsToHook,\n                ...meta,\n                ...truck,\n                id: truckId,\n            },\n        };\n    }, {});\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"field--from-country-code\":\"StatisticFiltersSidebarContent__field--from-country-code___G3sSR\",\"field--to-country-code\":\"StatisticFiltersSidebarContent__field--to-country-code___6q3ix\",\"field--from-zip-code\":\"StatisticFiltersSidebarContent__field--from-zip-code___c4ejb\",\"field--to-zip-code\":\"StatisticFiltersSidebarContent__field--to-zip-code___mBNNK\",\"field--shipper\":\"StatisticFiltersSidebarContent__field--shipper___f94Vv\",\"field--carrier\":\"StatisticFiltersSidebarContent__field--carrier___RVyyD\",\"form\":\"StatisticFiltersSidebarContent__form___DfO_e\",\"selected-filters\":\"StatisticFiltersSidebarContent__selected-filters___xPGBk\",\"fadeIn\":\"StatisticFiltersSidebarContent__fadeIn___dbTRI\",\"blinking\":\"StatisticFiltersSidebarContent__blinking___ZAeH2\"};","import React, { useMemo } from 'react';\n\nexport type MapSettingsT = {\n    zoom: number | null;\n    center: GeoPointT | null;\n    boundingBox: BoundingBoxT | null;\n};\n\nexport type SyncMapSettingsCallbackT = (mapSettings: MapSettingsT) => void;\n\nexport type SyncShipmentDetailsFormMapStateContextValueT = {\n    isMapInitialized: boolean;\n    setIsMapInitialized: (isMapInitialized: boolean) => void;\n    editingRoutePointIndex: number | null;\n    setEditingRoutePointIndex: (editingRoutePointIndex: number | null) => void;\n    syncMapSettings: SyncMapSettingsCallbackT | null;\n    setSyncMapSettings: (syncMapSettings: SyncMapSettingsCallbackT | null) => void;\n    editingRoutePointErrorsIndexes: Array<number>;\n    setHasEditingRoutePointErrorIndexes: (editingRoutePointErrorsIndexes: Array<number>) => void;\n    hasEditingRoutePointError: boolean;\n    initialBoundingBox: BoundingBoxT | null;\n    setInitialBoundingBox: (initialBoundingBox: BoundingBoxT | null) => void;\n};\n\nexport const useSyncShipmentDetailsFormMapState = (): SyncShipmentDetailsFormMapStateContextValueT => {\n    const [isMapInitialized, setIsMapInitialized] = React.useState<boolean>(false);\n    const [initialBoundingBox, setInitialBoundingBox] = React.useState<BoundingBoxT | null>(null);\n    const [editingRoutePointErrorsIndexes, setHasEditingRoutePointErrorIndexes] = React.useState<Array<number>>([]);\n    const [editingRoutePointIndex, setEditingRoutePointIndex] = React.useState<number | null>(null);\n    const syncMapSettingsCallbackRef = React.useRef<SyncMapSettingsCallbackT | null>(null);\n\n    return useMemo(() => {\n        return {\n            isMapInitialized,\n            setIsMapInitialized,\n            initialBoundingBox,\n            setInitialBoundingBox,\n            editingRoutePointIndex,\n            setEditingRoutePointIndex,\n            editingRoutePointErrorsIndexes,\n            setHasEditingRoutePointErrorIndexes,\n            syncMapSettings: syncMapSettingsCallbackRef.current,\n            setSyncMapSettings: (callback) => {\n                syncMapSettingsCallbackRef.current = callback;\n            },\n            hasEditingRoutePointError:\n                editingRoutePointIndex !== null && editingRoutePointErrorsIndexes.includes(editingRoutePointIndex),\n        };\n    }, [\n        isMapInitialized,\n        setIsMapInitialized,\n        initialBoundingBox,\n        setInitialBoundingBox,\n        editingRoutePointIndex,\n        setEditingRoutePointIndex,\n        editingRoutePointErrorsIndexes,\n        setHasEditingRoutePointErrorIndexes,\n    ]);\n};\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    fillOpacity?: number;\n    strokeColor: StyleGuideColorsEnum;\n    strokeOpacity?: number;\n};\n\nconst CaseIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, fillOpacity, strokeColor, strokeOpacity, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    fillOpacity={strokeOpacity || 1}\n                    d=\"M16 6.25h-3v-1.5l-1.5-1.5h-3L7 4.75v1.5H4c-.825 0-1.5.675-1.5 1.5v3.75c0 .563.3 1.035.75 1.297v2.453c0 .832.667 1.5 1.5 1.5h10.5c.832 0 1.5-.668 1.5-1.5v-2.46a1.51 1.51 0 00.75-1.29V7.75c0-.825-.675-1.5-1.5-1.5zM7.75 13v.75h4.5V13h3v2.25H4.75V13h3zm3.75-8.25v1.5h-3v-1.5h3zm-.75 6v1.5h-1.5v-1.5h1.5zm5.25-3v3.75h-3.75V9.25h-4.5v2.25H4V7.75h12z\"\n                />\n                <path\n                    fillOpacity={fillOpacity || 1}\n                    fill={fillColor}\n                    d=\"M12.25 13.75h-4.5V13h-3v2.25h10.5V13h-3v.75zM4 11.5h3.75V9.25h4.5v2.25H16V7.75H4v3.75z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nCaseIcon.displayName = 'CaseIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport const CaseIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.brandAccent5 : StyleGuideColorsEnum.light,\n            strokeColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.gray,\n        };\n    },\n};\n\nexport { storyProps };\nexport default CaseIcon;\n","import * as React from 'react';\n\ntype PropsT = {};\n\nconst HelpIcon: React.FC<PropsT> = (props) => {\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" {...props}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path\n                    fill=\"#6B6C6F\"\n                    d=\"M10 3c3.783 0 6.857 3.138 6.857 7 .629 0 1.143.525 1.143 1.167V13.5c0 .642-.514 1.167-1.143 1.167v1.166c0 .642-.514 1.167-1.143 1.167H8.857v-1.167h6.857V10c0-3.22-2.56-5.833-5.714-5.833-3.154 0-5.714 2.613-5.714 5.833v4.667H3.143C2.514 14.667 2 14.142 2 13.5v-2.333C2 10.525 2.514 10 3.143 10c0-3.862 3.074-7 6.857-7zm-2.857 7c.473 0 .857.392.857.875a.866.866 0 01-.857.875.866.866 0 01-.857-.875c0-.483.383-.875.857-.875zm5.714 0c.474 0 .857.392.857.875a.866.866 0 01-.857.875.866.866 0 01-.857-.875c0-.483.384-.875.857-.875zM10 5.333c2.114 0 3.874 1.47 4.389 3.465-2.823.234-4.458-1.691-5.063-3.033-.389 2.03-1.92 3.628-3.886 4.095.126-3.932 3.783-4.527 4.56-4.527z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nHelpIcon.displayName = 'HelpIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default HelpIcon;\n","import { MS_IN_SEC } from 'common/utils/time';\n\nexport const PAPERS_TTL = 5 * MS_IN_SEC;\n\nexport const DEFAULT_DICT_DOCUMENT_ID = '1';\n","import { BrokerOrderDetailsT } from '../models';\n\nexport const findTourById = (\n    brokerOrderDetails: BrokerOrderDetailsT | null | undefined,\n    tourId: TourIdT | null | undefined,\n): BrokerOrderDetailsT['tours'][number] | null => {\n    return brokerOrderDetails?.tours?.find((tour) => tour?.id === tourId) || null;\n};\n","import * as React from 'react';\nimport { ApiCarrierContractStatusT, CarrierContractStatusEnum } from 'common/utils/api/models';\nimport { PropsT as ColoredStatusLabelPropsT } from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport { useSelector } from 'react-redux';\nimport { selectProfileType } from 'common/store/auth/selectors';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport CarrierContractStatus from 'common/components/status/CarrierContractStatus/CarrierContractStatus';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiCarrierContractStatusT | null | undefined;\n    isSymmetrical?: boolean;\n};\n\ntype ContractStatusColorMapT = Record<CarrierContractStatusEnum, PillLabelThemeEnum>;\n\nconst statusColorMap: Record<AuthProfileTypeEnum, ContractStatusColorMapT> = {\n    [AuthProfileTypeEnum.shipper]: {\n        [CarrierContractStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.normal,\n        [CarrierContractStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [CarrierContractStatusEnum.rejected]: colorCodingPillLabelTheme.normal,\n        [CarrierContractStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [CarrierContractStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n    },\n    [AuthProfileTypeEnum.carrier]: {\n        [CarrierContractStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.normal,\n        [CarrierContractStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [CarrierContractStatusEnum.rejected]: colorCodingPillLabelTheme.normal,\n        [CarrierContractStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [CarrierContractStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n    },\n    [AuthProfileTypeEnum.broker]: {\n        [CarrierContractStatusEnum.waitingForApprove]: colorCodingPillLabelTheme.attention,\n        [CarrierContractStatusEnum.approved]: colorCodingPillLabelTheme.positive,\n        [CarrierContractStatusEnum.rejected]: colorCodingPillLabelTheme.normal,\n        [CarrierContractStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [CarrierContractStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n    },\n};\n\nconst CarrierContractStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    const profileTypeEnum = useSelector(selectProfileType);\n\n    let theme: PillLabelThemeEnum;\n\n    // not upload\n    if (!status) {\n        theme = PillLabelThemeEnum.slate;\n    } else {\n        theme = statusColorMap[profileTypeEnum]?.[status];\n    }\n\n    return (\n        <PillLabel isNoWrap {...restProps} theme={theme}>\n            <CarrierContractStatus status={status} />\n        </PillLabel>\n    );\n});\n\nexport default CarrierContractStatusPill;\n","// extracted by mini-css-extract-plugin\nexport default {\"paranja\":\"SideBarParanja__paranja___VoWzf\",\"fadeIn\":\"SideBarParanja__fadeIn___oV_Ls\",\"blinking\":\"SideBarParanja__blinking___RRcO2\"};","import { getDistanceMask, getMoneyMask } from 'common/utils/input-masks';\nimport { UnitTypeEnum } from 'common/constants';\n\nexport const getMaskByType = (unitType: UnitTypeEnum | null) => {\n    switch (unitType) {\n        case UnitTypeEnum.euroAbbreviation:\n            return getMoneyMask();\n        case UnitTypeEnum.kilometersAbbreviation:\n            return getDistanceMask();\n        default:\n            return null;\n    }\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { AddressTypeEnum } from 'common/utils/api/models';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { VerifyPartnerAdressConfirmationDataT } from './models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\ntype PropsT = {\n    data: VerifyPartnerAdressConfirmationDataT | null;\n    onConfirm: (data: VerifyPartnerAdressConfirmationDataT | null) => void;\n    onCancel: () => void;\n    onClose: () => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'verify-partner-address-confirmation';\n\nconst I18N_LABELS_MAP: Record<AddressTypeEnum, { title: string; message: string }> = {\n    [AddressTypeEnum.postal]: {\n        title: 'partner.details-tab.dialogs.verify-postal-address.title',\n        message: 'partner.details-tab.dialogs.verify-postal-address.description',\n    },\n    [AddressTypeEnum.legal]: {\n        title: 'partner.details-tab.dialogs.verify-legal-address.title',\n        message: 'partner.details-tab.dialogs.verify-legal-address.description',\n    },\n    [AddressTypeEnum.billing]: {\n        title: 'partner.details-tab.dialogs.verify-billing-address.title',\n        message: 'partner.details-tab.dialogs.verify-billing-address.description',\n    },\n};\n\nconst VerifyPartnerAdressConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onConfirm, onCancel, onClose, requestStatus } = props;\n\n    const { t } = useTranslation();\n\n    const i18nLabelsMap = I18N_LABELS_MAP[data?.addressType as AddressTypeEnum];\n\n    if (!data) {\n        return null;\n    }\n\n    const labels = {\n        title: t(i18nLabelsMap.title),\n        message: t(i18nLabelsMap.message),\n    };\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: onCancel,\n                            isDisabled: requestStatus.loading,\n                        },\n                        {\n                            children: t('common:error-modal.actions.verify'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    {...labels}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default VerifyPartnerAdressConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"FooterSideBarLayout__wrap___K2THf\",\"wrap--hasTopBorder\":\"FooterSideBarLayout__wrap--hasTopBorder___NiF2h\",\"inner--isAbsolute\":\"FooterSideBarLayout__inner--isAbsolute___AjfTj\",\"content--hasPaddings\":\"FooterSideBarLayout__content--hasPaddings___NEBir\",\"content--hasBackground\":\"FooterSideBarLayout__content--hasBackground___Z4Ya3\",\"content--hasShadow\":\"FooterSideBarLayout__content--hasShadow___HUnWI\",\"fadeIn\":\"FooterSideBarLayout__fadeIn___BQK7j\",\"blinking\":\"FooterSideBarLayout__blinking___HnpWG\"};","import React, { RefObject } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Trigger.scss';\nimport { RangeSelectorZoneThemeEnum } from '../constants';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    isLeft?: boolean;\n    isRight?: boolean;\n    isDisabled?: boolean;\n    isInteractive?: boolean;\n    theme: RangeSelectorZoneThemeEnum;\n    divRef: RefObject<HTMLDivElement>;\n};\n\nconst COLOR_SCHEMAS = {\n    [RangeSelectorZoneThemeEnum.orange]: {\n        strokeColor: StyleGuideColorsEnum.orange,\n    },\n    [RangeSelectorZoneThemeEnum.green]: {\n        strokeColor: StyleGuideColorsEnum.brandAccent,\n    },\n    [RangeSelectorZoneThemeEnum.darkGreen]: {\n        strokeColor: StyleGuideColorsEnum.brandDark,\n    },\n    [RangeSelectorZoneThemeEnum.light]: {\n        strokeColor: StyleGuideColorsEnum.light,\n    },\n    [RangeSelectorZoneThemeEnum.charcoal]: {\n        strokeColor: StyleGuideColorsEnum.charcoal,\n    },\n};\n\nconst HOVERED_COLOR_SCHEMAS = {\n    [RangeSelectorZoneThemeEnum.orange]: {\n        strokeColor: '#ae6100',\n    },\n    [RangeSelectorZoneThemeEnum.green]: {\n        strokeColor: '#578200',\n    },\n    [RangeSelectorZoneThemeEnum.darkGreen]: {\n        strokeColor: '#578200',\n    },\n    [RangeSelectorZoneThemeEnum.light]: {\n        strokeColor: StyleGuideColorsEnum.light,\n    },\n    [RangeSelectorZoneThemeEnum.charcoal]: {\n        strokeColor: StyleGuideColorsEnum.light,\n    },\n};\n\nconst Trigger: React.FC<PropsT> = React.memo((props) => {\n    const { isLeft, isRight, isDisabled, isInteractive, theme, divRef } = props;\n\n    const [isHovered, setHovered] = React.useState(false);\n\n    const testSelector = React.useMemo(() => {\n        if (isLeft) {\n            return 'left-trigger';\n        }\n        if (isRight) {\n            return 'right-trigger';\n        }\n\n        return 'trigger';\n    }, [isLeft, isRight]);\n\n    const handleTriggerMouseLeave = (): void => {\n        if (isHovered) {\n            setHovered(false);\n        }\n    };\n\n    const handleTriggerMouseEnter = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        if (!isHovered) {\n            setHovered(true);\n        }\n    };\n\n    const colorSchemas = isHovered ? HOVERED_COLOR_SCHEMAS[theme] : COLOR_SCHEMAS[theme];\n\n    return (\n        <div\n            className={cx('trigger', {\n                'trigger--isLeft': isLeft,\n                'trigger--isRight': isRight,\n                'trigger--isDisabled': isDisabled,\n                'trigger--isInteractive': isInteractive,\n            })}\n            ref={isInteractive ? divRef : null}\n            data-test-selector={testSelector}\n            onMouseEnter={handleTriggerMouseEnter}\n            onMouseLeave={handleTriggerMouseLeave}\n        >\n            <div\n                className={cx('line')}\n                style={{\n                    backgroundColor: colorSchemas.strokeColor,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default Trigger;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\n\nimport { selectTrailersDictById, selectTrailersDictRequest } from 'common/store/trailers-dict/selectors';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\n\ntype PropsT = {\n    isShortLabel?: boolean;\n    trailerDictId?: TrailerDictIdT | null;\n};\n\nconst TrailerDictIdFilterPill: React.FC<PropsT> = React.memo((props) => {\n    const { isShortLabel, trailerDictId } = props;\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const dictTrailerById = useSelector(selectTrailersDictById);\n    const fetchRequest = useSelector(selectTrailersDictRequest);\n\n    if (!trailerDictId) {\n        return null;\n    }\n\n    if (fetchRequest.loading) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    const dictTrailer = dictTrailerById[trailerDictId as string];\n    if (!dictTrailer) {\n        return null;\n    }\n\n    return (\n        <span>\n            {isShortLabel\n                ? dictTrailer.model || ''\n                : t('common:trailer-subtype-template', {\n                      length: dictTrailer.length,\n                      model: dictTrailer.model,\n                      eur1Pallets: dictTrailer.eur1Pallets,\n                      eur2Pallets: dictTrailer.eur2Pallets,\n                  })}\n        </span>\n    );\n});\n\nexport default TrailerDictIdFilterPill;\n","import isEmpty from 'lodash/isEmpty';\nimport { isNonNil } from 'common/utils';\nimport pickBy from 'lodash/pickBy';\nimport pick from 'lodash/pick';\n\nexport const checkQueryFiltersKeys = <T extends Record<string, any>>(\n    sourceQueryFilters: T,\n    primaryQueryKeys: Array<keyof T>,\n    secondaryQueryKeys: Array<keyof T>,\n) => {\n    const clearedQueryFilters = pickBy(sourceQueryFilters, isNonNil);\n    const hasAnyFilters = !isEmpty(clearedQueryFilters);\n\n    const primaryQueryFilters = pick(clearedQueryFilters, primaryQueryKeys || []);\n    const hasPrimaryQueryFilters = !isEmpty(primaryQueryFilters);\n\n    const secondaryQueryFilters = pick(clearedQueryFilters, secondaryQueryKeys || []);\n    const hasSecondaryQueryFilters = !isEmpty(secondaryQueryFilters);\n\n    return {\n        hasAnyFilters,\n        hasPrimaryQueryFilters,\n        hasSecondaryQueryFilters,\n    };\n};\n","export enum QueryKeysEnum {\n    driversPage = 'drivers-page',\n    driversSort = 'drivers-sort',\n    driversFilters = 'drivers-filters',\n    driversTab = 'drivers-tab',\n}\n\nexport enum QueryFiltersKeysEnum {\n    searchText = 'searchText',\n    name = 'name',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.searchText]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.name]: QueryParam.StringT;\n}>;\n","import { FieldsEnum, FormValuesT } from './constants';\n\nexport type FormDataT = {\n    reason: string;\n};\n\nconst prepareData = (formValues: FormValuesT): FormDataT => {\n    return {\n        reason: formValues[FieldsEnum.reason],\n    };\n};\n\nexport { prepareData };\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchAdditionalServices,\n    fetchAdditionalServicesBegin,\n    fetchAdditionalServicesError,\n    fetchAdditionalServicesSuccess,\n} from './slice';\nimport { selectAdditionalServicesDictStatus } from 'common/store/additional-services-dict/selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { normalizeAdditionalServicesResponse } from './utils';\n\nfunction* fetchAdditionalServicesSaga(): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectAdditionalServicesDictStatus> = yield select(\n        selectAdditionalServicesDictStatus,\n    );\n\n    if (requestStatus.ok) {\n        return;\n    }\n\n    yield put(fetchAdditionalServicesBegin());\n\n    const [error, data]: ReturnApiT<typeof commonTranziitApi.fetchAdditionalServices> =\n        yield commonTranziitApi.fetchAdditionalServices();\n\n    if (error) {\n        yield put(fetchAdditionalServicesError({ error }));\n        return;\n    }\n\n    const normalizedData = normalizeAdditionalServicesResponse(data);\n    yield put(fetchAdditionalServicesSuccess({ additionalServiceGroups: normalizedData }));\n}\n\nfunction* additionalServicesDictSaga(): WrapGeneratorT<void> {\n    yield takeEvery([fetchAdditionalServices.type], fetchAdditionalServicesSaga);\n}\n\nexport default additionalServicesDictSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"block\":\"ShipmentDetailsForm__block___mMUD8\",\"block__title\":\"ShipmentDetailsForm__block__title___Do_49\",\"block--isTimeWindow\":\"ShipmentDetailsForm__block--isTimeWindow___VlnSu\",\"block--isRoute\":\"ShipmentDetailsForm__block--isRoute___ctgG3\",\"block--isLane\":\"ShipmentDetailsForm__block--isLane___LDA3y\",\"block--dates\":\"ShipmentDetailsForm__block--dates___S6W3T\",\"address\":\"ShipmentDetailsForm__address___swyvH\",\"checkbox-label\":\"ShipmentDetailsForm__checkbox-label___O5v7N\",\"field--date\":\"ShipmentDetailsForm__field--date___CQdqV\",\"field--trailer-type\":\"ShipmentDetailsForm__field--trailer-type___UfLY0\",\"field--is-green-truck\":\"ShipmentDetailsForm__field--is-green-truck___EkgJ3\",\"field--trailer-mode\":\"ShipmentDetailsForm__field--trailer-mode___kGRYJ\",\"button-loader--isHide\":\"ShipmentDetailsForm__button-loader--isHide___nm886\",\"broker-time-window\":\"ShipmentDetailsForm__broker-time-window___c6K52\",\"help-panel\":\"ShipmentDetailsForm__help-panel___ng_FS\",\"help__title\":\"ShipmentDetailsForm__help__title___Aqr3T\",\"help__content\":\"ShipmentDetailsForm__help__content___ug6EC\",\"help__content--isLast\":\"ShipmentDetailsForm__help__content--isLast___qARQg\",\"local-date-time-tooltip\":\"ShipmentDetailsForm__local-date-time-tooltip___tR6KK\",\"wrap\":\"ShipmentDetailsForm__wrap___LnfMo\",\"route-points-divider\":\"ShipmentDetailsForm__route-points-divider___pBB78\",\"lane-control-placeholder\":\"ShipmentDetailsForm__lane-control-placeholder___zL2CU\",\"fadeIn\":\"ShipmentDetailsForm__fadeIn___MHVYJ\",\"blinking\":\"ShipmentDetailsForm__blinking___m2SeT\"};","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DispatcherDropdown.scss';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport UserDropdownOptionLabel from 'common/components/dropdowns/options/UserDropdownOptionLabel/UserDropdownOptionLabel';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport { fetchDispatchers } from 'broker-admin/store/dispatchers/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectDispatchersAllIds,\n    selectDispatchersById,\n    selectFetchDispatchersRequest,\n} from 'broker-admin/store/dispatchers/selectors';\nimport { ManagerT } from 'broker-admin/store/managers/models';\nimport isNil from 'lodash/isNil';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport { prepareSearchQuery } from 'common/utils/search';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = UserIdT | null;\n\ntype PropsT = {\n    selectedValue: ValueT;\n    initialLabel: string | null;\n    placeholder: string;\n    isDisabled?: boolean;\n    onSelect: (value: ValueT, label: string) => void;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    onReset?: () => void;\n    excludeUserIds?: Array<UserIdT>;\n};\n\ntype OptionT = ValueT;\n\nconst getLabel = (user?: ManagerT) => {\n    if (!user) {\n        return '';\n    }\n    return `${user.name} ${user.surname}`;\n};\n\nconst DispatcherDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        selectedValue,\n        initialLabel,\n        placeholder,\n        isDisabled,\n        onSelect,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        hasChanges,\n        onBlur,\n        onFocus,\n        onReset,\n        excludeUserIds,\n    } = props;\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchDispatchers());\n    }, [dispatch]);\n\n    const fetchRequest = useSelector(selectFetchDispatchersRequest);\n    const allIds = useSelector(selectDispatchersAllIds);\n    const byId = useSelector(selectDispatchersById);\n\n    const renderOption = (id?: ValueT, placeholder?: string): React.ReactNode => {\n        if (isNil(id)) {\n            return <UserDropdownOptionLabel label={placeholder || ''} isPlaceholder />;\n        }\n\n        const user = byId[id];\n        if (!user) {\n            if (!initialLabel) {\n                return null;\n            }\n\n            return <UserDropdownOptionLabel label={initialLabel} />;\n        }\n\n        return <UserDropdownOptionLabel label={getLabel(user)} />;\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option;\n\n    const handleSelect = (value: ValueT) => {\n        const user = byId[value as string];\n        const label = getLabel(user);\n\n        onSelect(value, label);\n    };\n\n    const [query, setQuery] = React.useState<string>('');\n\n    const filteredOptions = React.useMemo(() => {\n        const preparedQuery = prepareSearchQuery(query);\n\n        const excludeUserIdsSet = new Set<UserIdT>(excludeUserIds || []);\n\n        return allIds.filter((id: UserIdT) => {\n            if (excludeUserIdsSet.has(id)) {\n                return false;\n            }\n\n            const user = byId[id];\n\n            const label = getLabel(user);\n            const preparedLabel = prepareSearchQuery(label);\n\n            return preparedLabel.includes(preparedQuery);\n        });\n    }, [allIds, byId, query, excludeUserIds]);\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={selectedValue}\n            placeholder={placeholder}\n            options={filteredOptions}\n            isDisabled={fetchRequest.loading || isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={setQuery}\n            renderRightIcon={() =>\n                fetchRequest.loading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n            }\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            onReset={onReset}\n        />\n    );\n});\n\nexport default DispatcherDropdown;\n","import {\n    AssignActionT,\n    AssignBeginActionT,\n    AssignErrorActionT,\n    ASSIGN,\n    ASSIGNMENT_REQUEST_BEGIN,\n    ASSIGNMENT_REQUEST_ERROR,\n    ASSIGNMENT_REQUEST_SUCCESS,\n    AssignSuccessActionT,\n    CHANGE_USER_SELECTION,\n    ChangeUserSelectionActionT,\n    FIND_TRAILER_REQUEST,\n    FIND_TRAILER_REQUEST_BEGIN,\n    FIND_TRAILER_REQUEST_ERROR,\n    FIND_TRAILER_REQUEST_SUCCESS,\n    FIND_TRUCK_REQUEST,\n    FIND_TRUCK_REQUEST_BEGIN,\n    FIND_TRUCK_REQUEST_ERROR,\n    FIND_TRUCK_REQUEST_SUCCESS,\n    FindTrailerActionT,\n    FindTrailerBeginActionT,\n    FindTrailerErrorActionT,\n    FindTrailerSuccessActionT,\n    FindTruckActionT,\n    FindTruckBeginActionT,\n    FindTruckErrorActionT,\n    FindTruckSuccessActionT,\n    UnAssignActionT,\n    UNASSIGN,\n} from './types';\n\nimport { FindTrailerQueryT, FindTruckQueryT, UserSelectionT } from './models';\nimport { AssignmentVehiclesSuggestItemT } from './assignment';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nexport const changeUserSelection = (\n    transportOrderId: TransportOrderIdT | null,\n    changes: Partial<UserSelectionT>,\n): ChangeUserSelectionActionT => ({\n    type: CHANGE_USER_SELECTION,\n    transportOrderId,\n    changes,\n});\n\nexport const findTrailer = (query: FindTrailerQueryT): FindTrailerActionT => ({\n    type: FIND_TRAILER_REQUEST,\n    query,\n});\n\nexport const findTrailerBegin = (query: FindTrailerQueryT): FindTrailerBeginActionT => ({\n    type: FIND_TRAILER_REQUEST_BEGIN,\n    query,\n});\n\nexport const findTrailerSuccess = (\n    query: FindTrailerQueryT,\n    trailersSuggestItems: AssignmentVehiclesSuggestItemT[],\n): FindTrailerSuccessActionT => ({\n    type: FIND_TRAILER_REQUEST_SUCCESS,\n    trailersSuggestItems,\n    query,\n});\n\nexport const findTrailerError = (query: FindTrailerQueryT, error: Error): FindTrailerErrorActionT => ({\n    type: FIND_TRAILER_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const findTruck = (query: FindTruckQueryT): FindTruckActionT => ({\n    type: FIND_TRUCK_REQUEST,\n    query,\n});\n\nexport const findTruckBegin = (query: FindTruckQueryT): FindTruckBeginActionT => ({\n    type: FIND_TRUCK_REQUEST_BEGIN,\n    query,\n});\n\nexport const findTruckSuccess = (\n    query: FindTruckQueryT,\n    trucksSuggestItems: AssignmentVehiclesSuggestItemT[],\n): FindTruckSuccessActionT => ({\n    type: FIND_TRUCK_REQUEST_SUCCESS,\n    trucksSuggestItems,\n    query,\n});\n\nexport const findTruckError = (query: FindTruckQueryT, error: Error): FindTruckErrorActionT => ({\n    type: FIND_TRUCK_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const assign = (\n    transportOrderId: TransportOrderIdT,\n    truckId: TruckIdT,\n    trailerId: TrailerIdT,\n    prohibitedCountries?: Array<CountryCodeT>,\n): AssignActionT => ({\n    type: ASSIGN,\n    trailerId,\n    truckId,\n    transportOrderId,\n    prohibitedCountries,\n});\n\nexport const unassign = (transportOrderId: TransportOrderIdT): UnAssignActionT => ({\n    type: UNASSIGN,\n    transportOrderId,\n});\n\nexport const assignBegin = (): AssignBeginActionT => ({\n    type: ASSIGNMENT_REQUEST_BEGIN,\n});\n\nexport const assignSuccess = (): AssignSuccessActionT => ({\n    type: ASSIGNMENT_REQUEST_SUCCESS,\n});\n\nexport const assignError = (error: Error): AssignErrorActionT => ({\n    type: ASSIGNMENT_REQUEST_ERROR,\n    error,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"status\":\"BasicWidgetHeaderActions__status___tUwsZ\",\"fadeIn\":\"BasicWidgetHeaderActions__fadeIn___Oi2ty\",\"blinking\":\"BasicWidgetHeaderActions__blinking___JZX10\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { BrokerTourShortT, FetchBrokerToursPageQueryT } from './models';\n\nexport type BrokerTourStateT = PaginationStateT<BrokerTourShortT, FetchBrokerToursPageQueryT>;\n\nconst initialState: BrokerTourStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n};\n\nexport const brokerToursSlice = createSlice({\n    name: 'brokerTours',\n    initialState,\n    reducers: {\n        fetchBrokerToursPage: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                pageNumber: PageNumberT;\n                query: FetchBrokerToursPageQueryT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchBrokerToursPageBegin: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerToursPageQueryT;\n                pageNumber: PageNumberT;\n            }>,\n        ) => {\n            const { pageNumber, query } = action.payload;\n\n            Object.assign(state, pageBeginReducer(state, pageNumber, query));\n        },\n        fetchBrokerToursPageSuccess: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerToursPageQueryT;\n                pageNumber: PageNumberT;\n                pageResponse: PageResponseT<BrokerTourShortT> | null;\n            }>,\n        ) => {\n            const { query, pageNumber, pageResponse } = action.payload;\n\n            Object.assign(state, pageSuccessReducer(state, pageNumber, query, pageResponse));\n        },\n        fetchBrokerToursPageError: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerToursPageQueryT;\n                pageNumber: PageNumberT;\n                error: Error;\n            }>,\n        ) => {\n            const { query, error, pageNumber } = action.payload;\n\n            Object.assign(state, pageErrorReducer(state, pageNumber, query, error));\n        },\n        resetBrokerTours: (\n            state,\n            action: PayloadAction<{\n                mutationListOptions: MutationListOptionsT;\n            }>,\n        ) => {\n            const { mutationListOptions } = action.payload;\n\n            Object.assign(state, initialState, resetPagesCacheReducer(initialState, state, mutationListOptions));\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchBrokerToursPage,\n    fetchBrokerToursPageBegin,\n    fetchBrokerToursPageSuccess,\n    fetchBrokerToursPageError,\n    resetBrokerTours,\n} = brokerToursSlice.actions;\n\nexport default brokerToursSlice.reducer;\n","import * as React from 'react';\nimport history, { createExternalRelativePath } from 'common/utils/history';\nimport { useLocation } from 'react-router-dom';\n\ntype NextLocationT = Parameters<typeof history.push>[0] | string;\n\nexport const useHistoryPush = () => {\n    const location = useLocation();\n\n    const historyPush = React.useCallback(\n        (event: React.MouseEvent, nextLocation: NextLocationT) => {\n            if (event.ctrlKey || event.metaKey) {\n                const pathname =\n                    typeof nextLocation === 'string' ? nextLocation : nextLocation.pathname || location.pathname;\n                const search = typeof nextLocation === 'string' ? '' : nextLocation.search || '';\n\n                window.open(createExternalRelativePath(`${pathname}${search}`), '_blank');\n                return;\n            }\n\n            history.push(nextLocation);\n        },\n        [location],\n    );\n\n    return {\n        historyPush,\n    };\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { QueryFiltersT, QueryFiltersKeysEnum } from 'broker-admin/layouts/PartnersPage/query-models';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nconst getInitialValues = (queryFilters: QueryFiltersT): FormValuesT => {\n    return {\n        [FieldsEnum.keyAccountManagerId]: queryFilters[QueryFiltersKeysEnum.keyAccountManagerId] || null,\n        [FieldsEnum.keyAccountManagerName]: queryFilters[QueryFiltersKeysEnum.keyAccountManagerName] || null,\n        [FieldsEnum.dispatcherId]: queryFilters[QueryFiltersKeysEnum.dispatcherId] || null,\n        [FieldsEnum.dispatcherName]: queryFilters[QueryFiltersKeysEnum.dispatcherName] || null,\n        [FieldsEnum.countryCode]: (queryFilters[QueryFiltersKeysEnum.countryCode] as CountryCodeT) || null,\n    };\n};\n\nexport default getInitialValues;\n","import React from 'react';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames/bind';\n\nimport styles from './SideBarLayout.scss';\nimport ContentRootContext from 'common/layouts/LeftMenuLayout/contexts/content-root-context';\n\nconst cx = classNames.bind(styles);\n\nexport enum SideBarPositionEnum {\n    left = 'left',\n    right = 'right',\n}\n\nexport enum SideBarSizeEnum {\n    regular = 'regular',\n    narrow = 'narrow',\n}\n\ntype PropsT = {\n    size?: SideBarSizeEnum;\n    position?: SideBarPositionEnum;\n};\n\nconst SideBarLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, size = SideBarSizeEnum.regular } = props;\n\n    const position = props.position || SideBarPositionEnum.left;\n\n    const contentRootNode = React.useContext(ContentRootContext);\n    if (!contentRootNode) {\n        return null;\n    }\n\n    return createPortal(\n        <div\n            className={cx('side-bar', {\n                'side-bar--isShow': true,\n                [`side-bar--size-${size}`]: true,\n                [`side-bar--position-${position}`]: true,\n            })}\n        >\n            <div className={cx('content')}>{children}</div>\n        </div>,\n        contentRootNode,\n    );\n});\n\nexport default SideBarLayout;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './StatusFooterContent.scss';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport ManagementControl from 'common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/ManagementControl/ManagementControl';\nimport { useTimeMark } from 'common/utils/hooks/useTimeMark';\nimport { TransportOrderStatusEnum } from 'common/utils/api/models';\nimport { checkIsCarrierTransportOrderDetails } from 'common/store/transport-order-details/type-guards';\nimport TimeLeft from 'common/layouts/TimeLeft/TimeLeft';\nimport isNumber from 'lodash/isNumber';\nimport { useTranslation } from 'react-i18next';\nimport AdditionalManagementControl from 'common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/AdditionalManagementControl/AdditionalManagementControl';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport ChangeTourStatusControls from 'common/layouts/TransportOrderDetailsPageLayout/footers/StatusFooterContent/ChangeTourStatusControls/ChangeTourStatusControls';\nimport { ApiStopTypeT, ApiTourWaypointActionTypeT } from 'common/store/consistent-state-machine/models';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { useMemo } from 'react';\n\nconst cx = classNames.bind(styles);\n\ntype AssignAssetsUnavailableReasonT = Api2.Definitions.AssignAssetsUnavailableReason;\ntype CarrierAssignAssetsUnavailableReasonT = Api2.Definitions.CarrierAssignAssetsUnavailableReason;\ntype AssignDriverUnavailableReasonT = Api2.Definitions.AssignDriverUnavailableReason;\n\nconst assignAssetsUnavailableReasonI18nMap: Record<\n    AssignAssetsUnavailableReasonT | CarrierAssignAssetsUnavailableReasonT,\n    string\n> = {\n    KAM_CANT_ASSIGN_ASSETS: 'common:transport-order-details.assign-assets-unavailable-reason.KAM_CANT_ASSIGN_ASSETS',\n    TOUR_ON_SPOT: 'common:transport-order-details.assign-assets-unavailable-reason.TOUR_ON_SPOT',\n    UNAVAILABLE_STATUS: 'common:transport-order-details.assign-assets-unavailable-reason.UNAVAILABLE_STATUS',\n    RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER:\n        'common:transport-order-details.assign-assets-unavailable-reason.RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER',\n    TO_IS_NOT_ON_SPOT: 'common:transport-order-details.assign-assets-unavailable-reason.TO_IS_NOT_ON_SPOT',\n    TO_BELONGS_TO_ANOTHER_CARRIER:\n        'common:transport-order-details.assign-assets-unavailable-reason.TO_BELONGS_TO_ANOTHER_CARRIER',\n    TO_IS_RUN_OUT_OF_TIME_TO_ASSIGN_ASSETS:\n        'common:transport-order-details.assign-assets-unavailable-reason.TO_IS_RUN_OUT_OF_TIME_TO_ASSIGN_ASSETS',\n};\n\nconst assignDriverUnavailableReasonI18nMap: Record<AssignDriverUnavailableReasonT, string> = {\n    TO_HAS_TRAILER_TYPE: 'common:transport-order-details.assign-driver-unavailable-reason.TO_HAS_TRAILER_TYPE',\n    TO_IS_RUN_OUT_OF_TIME_TO_ASSIGN_DRIVER:\n        'common:transport-order-details.assign-driver-unavailable-reason.TO_IS_RUN_OUT_OF_TIME_TO_ASSIGN_DRIVER',\n    UNAVAILABLE_STATUS: 'common:transport-order-details.assign-driver-unavailable-reason.UNAVAILABLE_STATUS',\n};\n\ntype PropsT = {\n    className?: string;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    onUnassignedAssets: () => void;\n    unassignAssetsUnavailableTooltipContent?: React.ReactNode | null;\n    onStartAssignAssets: () => void;\n    isAvailableToUnassignDriver: boolean;\n    onUnassignedDrivers: () => void;\n    onStartAssignDrivers: () => void;\n    onManageShipment: (shipmentId: ShipmentIdT) => void;\n    unassignDriverTooltipContent?: React.ReactNode | null;\n};\n\nconst deadlineGuideI18nMap: Record<ApiStopTypeT, Record<ApiTourWaypointActionTypeT, string>> = {\n    PICKUP_TRAILER: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_TRUCK: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_ROAD_TRAIN: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_DELIVERY_SHIPMENT: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_DELIVERY_SHIPMENT.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_DELIVERY_SHIPMENT.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_DELIVERY_SHIPMENT.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_DELIVERY_SHIPMENT.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    DRIVE_THROUGH: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DRIVE_THROUGH.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DRIVE_THROUGH.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DRIVE_THROUGH.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DRIVE_THROUGH.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    DROP_AND_HOOK: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    DROP_TRAILER: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DROP_TRAILER.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_TRAILER.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_TRAILER.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DROP_TRAILER.FINISH_TOUR',\n        TRAILER_DROPPED: 'common:change-tour-status.deadline-guide.DROP_TRAILER.TRAILER_DROPPED',\n        TRAILER_HOOKED: '',\n    },\n    DROP_TRUCK: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DROP_TRUCK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_TRUCK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_TRUCK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DROP_TRUCK.FINISH_TOUR',\n        TRAILER_DROPPED: 'common:change-tour-status.deadline-guide.DROP_TRUCK.TRAILER_DROPPED',\n        TRAILER_HOOKED: '',\n    },\n    DROP_ROAD_TRAIN: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.FINISH_TOUR',\n        TRAILER_DROPPED: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.TRAILER_DROPPED',\n        TRAILER_HOOKED: '',\n    },\n    FERRY_DISEMBARK: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.FERRY_DISEMBARK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.FERRY_DISEMBARK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.FERRY_DISEMBARK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.FERRY_DISEMBARK.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    FERRY_ONBOARD: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.FERRY_ONBOARD.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.FERRY_ONBOARD.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.FERRY_ONBOARD.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.FERRY_ONBOARD.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n};\n\nconst StatusFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const {\n        transportOrderDetails,\n        onUnassignedAssets,\n        unassignAssetsUnavailableTooltipContent,\n        onStartAssignAssets,\n        isAvailableToUnassignDriver,\n        onUnassignedDrivers,\n        onStartAssignDrivers,\n        onManageShipment,\n        unassignDriverTooltipContent,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const assignAssetsUnavailableReason = useMemo(() => {\n        if (!transportOrderDetails) {\n            return null;\n        }\n        if (!checkIsCarrierTransportOrderDetails(transportOrderDetails)) {\n            return null;\n        }\n\n        return transportOrderDetails.assignAssetsUnavailableReason || null;\n    }, [transportOrderDetails]);\n\n    const assignAssetsTooltipContent = useMemo(() => {\n        if (!assignAssetsUnavailableReason) {\n            return null;\n        }\n\n        return (\n            <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                {t(assignAssetsUnavailableReasonI18nMap[assignAssetsUnavailableReason])}\n            </TooltipContent>\n        );\n    }, [assignAssetsUnavailableReason, t]);\n\n    const assignDriverUnavailableReason = useMemo(() => {\n        if (!transportOrderDetails) {\n            return null;\n        }\n        if (!checkIsCarrierTransportOrderDetails(transportOrderDetails)) {\n            return null;\n        }\n\n        return transportOrderDetails.assignDriverUnavailableReason || null;\n    }, [transportOrderDetails]);\n\n    const assignDriverTooltipContent = useMemo(() => {\n        if (!assignDriverUnavailableReason) {\n            return null;\n        }\n\n        return (\n            <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                {t(assignDriverUnavailableReasonI18nMap[assignDriverUnavailableReason])}\n            </TooltipContent>\n        );\n    }, [assignDriverUnavailableReason, t]);\n\n    const isAllowAssignAssets =\n        !!transportOrderDetails &&\n        checkIsCarrierTransportOrderDetails(transportOrderDetails) &&\n        !assignAssetsUnavailableReason;\n\n    const isAllowAssignDrivers =\n        !!transportOrderDetails &&\n        checkIsCarrierTransportOrderDetails(transportOrderDetails) &&\n        !assignDriverUnavailableReason;\n\n    const currentWaypointId = transportOrderDetails?.availableSteps?.current?.waypointId || null;\n    const currentWaypoint = transportOrderDetails?.waypoints?.find((waypoint) => {\n        return waypoint?.id === currentWaypointId;\n    });\n    const currentFirstDoAction =\n        transportOrderDetails?.availableSteps?.current?.actions?.find((action) => {\n            return !action?.done;\n        }) || null;\n\n    const deadline =\n        (currentFirstDoAction?.type === 'ARRIVED_AT_WAYPOINT'\n            ? currentWaypoint?.dateTimeFrom\n            : currentWaypoint?.dateTimeTo) || null;\n    const deadlineLabel =\n        currentWaypoint && currentFirstDoAction\n            ? t(deadlineGuideI18nMap?.[currentWaypoint.type]?.[currentFirstDoAction.type], {\n                  number: (currentWaypoint.index || 0) + 1,\n              })\n            : null;\n\n    const { diff, formattedDiff } = useTimeMark({\n        timeMark: deadline,\n    });\n\n    const isFailed = isNumber(diff) && diff <= 0;\n    const isWarning = !!(\n        transportOrderDetails &&\n        checkIsCarrierTransportOrderDetails(transportOrderDetails) &&\n        (transportOrderDetails?.runningOutOfTimeToAssignAsset || transportOrderDetails?.runningOutOfTimeToAssignDriver)\n    );\n\n    const isAssetsUnassigned = transportOrderDetails?.status === TransportOrderStatusEnum.assetsUnassigned;\n    if (isAssetsUnassigned) {\n        return (\n            <div className={cx('actions')}>\n                <TimeLeft\n                    className={cx('time-left')}\n                    isWarning={isWarning}\n                    isFailed={isFailed}\n                    failedMessage={t('common:transport-order-details.footer.tour-already-started')}\n                    time={formattedDiff}\n                    timeDescription={t('common:transport-order-details.footer.to-assign-assets')}\n                />\n\n                <div className={cx('action', 'action--assign')}>\n                    {checkIsCarrierTransportOrderDetails(transportOrderDetails) && (\n                        <Tooltip\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={assignAssetsTooltipContent}\n                        >\n                            {() => (\n                                <Button\n                                    isFullWidth\n                                    isCenterContent\n                                    theme={ButtonThemeEnum.primary}\n                                    onClick={onStartAssignAssets}\n                                    isDisabled={!!assignAssetsUnavailableReason}\n                                >\n                                    {t('common:transport-order-details.actions.assign-assets')}\n                                </Button>\n                            )}\n                        </Tooltip>\n                    )}\n                </div>\n\n                <AdditionalManagementControl\n                    transportOrderDetails={transportOrderDetails}\n                    isShowAssignDrivers\n                    isAllowAssignDrivers={isAllowAssignDrivers}\n                    onStartAssignDrivers={onStartAssignDrivers}\n                    isAllowToUnassignDriver={isAvailableToUnassignDriver}\n                    onUnassignedDrivers={onUnassignedDrivers}\n                    unassignDriverTooltipContent={unassignDriverTooltipContent}\n                />\n            </div>\n        );\n    }\n\n    const isDriverUnassigned = transportOrderDetails?.status === TransportOrderStatusEnum.driverUnassigned;\n    if (isDriverUnassigned) {\n        return (\n            <div className={cx('actions')}>\n                <TimeLeft\n                    className={cx('time-left')}\n                    isWarning={isWarning}\n                    isFailed={isFailed}\n                    failedMessage={t('common:transport-order-details.footer.tour-already-started')}\n                    time={formattedDiff}\n                    timeDescription={t('common:transport-order-details.footer.to-assign-driver', {\n                        postProcess: 'interval',\n                        count: transportOrderDetails?.drivers?.length || 0,\n                    })}\n                />\n                <ManagementControl\n                    transportOrderDetails={transportOrderDetails}\n                    isShowAssignAssets={isAllowAssignAssets}\n                    isAllowAssignAssets={isAllowAssignAssets}\n                    onUnassignedAssets={onUnassignedAssets}\n                    unassignAssetsUnavailableTooltipContent={unassignAssetsUnavailableTooltipContent}\n                    onStartAssignAssets={onStartAssignAssets}\n                    isShowAssignDrivers={false}\n                    isAllowAssignDrivers={false}\n                    onUnassignedDrivers={onUnassignedDrivers}\n                    onStartAssignDrivers={onStartAssignDrivers}\n                    overlayPosition={DropdownOverlayPositionEnum.topRight}\n                    overlayTooltipPosition={TooltipPositionEnum.centerLeft}\n                    unassignDriverTooltipContent={unassignDriverTooltipContent}\n                />\n                <div className={cx('action', 'action--assign')}>\n                    {checkIsCarrierTransportOrderDetails(transportOrderDetails) && (\n                        <Tooltip\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={assignDriverTooltipContent}\n                        >\n                            {() => (\n                                <Button\n                                    isFullWidth\n                                    isCenterContent\n                                    theme={ButtonThemeEnum.primary}\n                                    onClick={onStartAssignDrivers}\n                                    isDisabled={!!assignDriverUnavailableReason}\n                                >\n                                    {t('common:transport-order-details.actions.assign-drivers', {\n                                        postProcess: 'interval',\n                                        count: transportOrderDetails?.drivers?.length || 0,\n                                    })}\n                                </Button>\n                            )}\n                        </Tooltip>\n                    )}\n                </div>\n            </div>\n        );\n    }\n\n    return (\n        <div className={cx('actions')}>\n            <TimeLeft\n                className={cx('time-left')}\n                isFailed={isFailed}\n                isWarning={isWarning}\n                failedMessage={\n                    currentFirstDoAction\n                        ? t('common:transport-order-details.footer.out-of-time', {\n                              toAction: deadlineLabel,\n                          })\n                        : t('common:transport-order-details.footer.tour-already-started')\n                }\n                time={formattedDiff}\n                timeDescription={\n                    currentFirstDoAction ? deadlineLabel : t('common:transport-order-details.footer.to-start-tour')\n                }\n            />\n            <div className={cx('spacer')} />\n            <ManagementControl\n                transportOrderDetails={transportOrderDetails}\n                isShowAssignAssets\n                isAllowAssignAssets={isAllowAssignAssets}\n                onUnassignedAssets={onUnassignedAssets}\n                unassignAssetsUnavailableTooltipContent={unassignAssetsUnavailableTooltipContent}\n                onStartAssignAssets={onStartAssignAssets}\n                isShowAssignDrivers\n                isAllowAssignDrivers={isAllowAssignDrivers}\n                onUnassignedDrivers={onUnassignedDrivers}\n                onStartAssignDrivers={onStartAssignDrivers}\n                overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                overlayTooltipPosition={TooltipPositionEnum.centerRight}\n                unassignDriverTooltipContent={unassignDriverTooltipContent}\n            />\n            <ChangeTourStatusControls\n                transportOrderDetails={transportOrderDetails}\n                onManageShipment={onManageShipment}\n            />\n        </div>\n    );\n});\n\nexport default StatusFooterContent;\n","import { ApiBrokerShipperContractDetailsT } from 'common/utils/api/models';\nimport { ShipperContractDetailsT } from 'common/store/shipper-contract-details/models';\n\nexport const checkIsApiBrokerShipperContractDetails = (\n    details: ShipperContractDetailsT | null,\n): details is ApiBrokerShipperContractDetailsT => {\n    return !!details;\n};\n","import { TranziitApiRequestErrorSubTypeEnum } from './tranziit-api-errors';\nimport { ErrorParserT } from '../../errors/models';\nimport { ResponseDataMapT } from 'common/utils/api/tranziit/errors/error-response';\n\nconst parseErrors: Record<TranziitApiRequestErrorSubTypeEnum, ErrorParserT> = {\n    [TranziitApiRequestErrorSubTypeEnum.accessDeniedToApi]: (error) => {\n        return error?.response?.code === 'ACCESS_DENIED_TO_API';\n    },\n    [TranziitApiRequestErrorSubTypeEnum.accessDeniedToEntity]: (error) => {\n        return error?.response?.code === 'ACCESS_DENIED_TO_ENTITY';\n    },\n    [TranziitApiRequestErrorSubTypeEnum.couldNotUnLockCompany]: (error) => {\n        return /unlock company/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.canNotDowngradeLastAdminInTeam]: (error) => {\n        return /Can not change role for last company admin/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.notFoundCompany]: (error) => {\n        if (/\\/company$/.test(error?.requestConfig.path || '') && error?.httpStatusCode === 404) {\n            return true;\n        }\n\n        return false;\n    },\n    [TranziitApiRequestErrorSubTypeEnum.alreadyAssignedDrivers]: (error) => {\n        if (\n            /\\/assign-drivers-to-tour/.test(error?.requestConfig.path || '') &&\n            /^Tour with id (.*?) already has maximum drivers/.test(error.response?.message || '')\n        ) {\n            return true;\n        }\n\n        return false;\n    },\n    [TranziitApiRequestErrorSubTypeEnum.notFoundUser]: (error) => {\n        if (/\\/(contact|restore)/.test(error?.requestConfig.path || '')) {\n            return false;\n        }\n\n        return /^User not found/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.canNotDeleteHimself]: (error) => {\n        return /User (.*?) delete himself/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.phoneAlreadyExist]: (error) => {\n        return error?.response?.code === 'PHONE_ALREADY_EXIST';\n    },\n    [TranziitApiRequestErrorSubTypeEnum.emailAlreadyExist]: (error) => {\n        return /^Email (.*?) already exists$/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.notAuthorizedUser]: (error) => {\n        // check 401\n        return /^Email (.*?) already exists$/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.successorHasNotActiveStatus]: (error) => {\n        return /^New user (.*?) is not in Active status$/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreationExpiredRFQ]: (error) => {\n        return /^No order (.*?) in status DRAFT$/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_ExpiredPriceOffer]: (error) => {\n        return (\n            /^Price offer (.*?) has expired$/.test(error.response?.message || '') && error?.response?.code === 'EXPIRED'\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_AlreadyCompletedRFQ]: (error) => {\n        return (\n            /^Unable to complete RFQ (.*?) from COMPLETED$/.test(error.response?.message || '') &&\n            error?.response?.code === 'WRONG_STATUS'\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.firebaseTooManyResendInviteRequests]: (error) => {\n        return (\n            (/user\\/invite/.test(error?.requestConfig.path || '') ||\n                /registration\\/user\\/invite/.test(error?.requestConfig.path || '')) &&\n            error?.response?.code === 'FIREBASE_TOO_MANY_ATTEMPTS_TRY_LATER'\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.expiredContextPreviewReserve]: (error) => {\n        return (\n            /preview/.test(error?.requestConfig.path || '') &&\n            /^Context has expired or never exists/.test(error.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.failedArchiveInTransitDriver]: (error) => {\n        return (\n            /archive/.test(error?.requestConfig.path || '') &&\n            /deactivate driver who is in transit now or has future tours assigned/.test(error.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.assignmentSelfCostPrediction]: (error) => {\n        return (\n            /calculate-tour-costs-for-assets/.test(error?.requestConfig.path || '') &&\n            error?.httpStatusCode === 400 &&\n            !!error?.response?.reason\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.noRouteFound]: (error) => {\n        return /^No route found for the given vehicle(.*?)$/.test(error.response?.message || '');\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_CapacityExcess]: (error) => {\n        return (\n            /api\\/v2\\/rfqs\\/(.*?)\\/status\\/completed$/.test(error?.requestConfig.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            error?.httpStatusCode === 400 &&\n            (\n                error?.response as ResponseDataMapT[TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_CapacityExcess]\n            )?.faultCode === 'CAPACITY_EXCESS'\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_Overweight]: (error) => {\n        return (\n            /api\\/v2\\/rfqs\\/(.*?)\\/status\\/completed$/.test(error?.requestConfig.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            error?.httpStatusCode === 400 &&\n            (\n                error?.response as ResponseDataMapT[TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_Overweight]\n            )?.faultCode === 'OVERWEIGHT'\n        );\n    },\n\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_ProhibitedCountry]: (error) => {\n        return (\n            /api\\/v2\\/order-reserves$/.test(error?.requestConfig.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            (\n                error?.response as ResponseDataMapT[TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_ProhibitedCountry]\n            )?.code === 'OTHER' &&\n            /is prohibited/.test(\n                (\n                    error?.response as ResponseDataMapT[TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_ProhibitedCountry]\n                )?.message || '',\n            )\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteNotFound]: (error) => {\n        return (\n            /api\\/v2\\/order-reserves$/.test(error?.requestConfig.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            (\n                error?.response as ResponseDataMapT[TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteNotFound]\n            )?.code === 'ROUTE_NOT_FOUND'\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteWaypointNotLinkable]: (error) => {\n        return (\n            /api\\/v2\\/order-reserves$/.test(error?.requestConfig.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            (\n                error?.response as ResponseDataMapT[TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteWaypointNotLinkable]\n            )?.code === 'WAYPOINT_NOT_LINKABLE'\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_ShipperNotAllowedToHaveNewOrders]: (error) => {\n        return (\n            /api\\/v2\\/order-reserves$/.test(error?.requestConfig.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            error?.httpStatusCode === 400 &&\n            error?.response?.code === 'OTHER' &&\n            /The Shipper .+ is not allowed to have new orders/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_ShipperNotAvailable]: (error) => {\n        return (\n            /api\\/v2\\/order-reserves$/.test(error?.requestConfig.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            error?.httpStatusCode === 400 &&\n            error?.response?.code === 'OTHER' &&\n            /User is not assigned with Shipper .+/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.brokerOrderEdit_ExpirationContext]: (error) => {\n        return (\n            /order-edit/.test(error?.requestConfig?.path || '') &&\n            /OrderEditContext with id .+ not found/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.brokerDeadheadCreation_ExpirationContext]: (error) => {\n        // TODO check is actual\n        return (\n            /tours\\/deadhead/.test(error?.requestConfig?.path || '') &&\n            /Context with id .+ not found/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.evidenceOfTaxDetails_WrongVat]: (error) => {\n        return (\n            /approve-evidence-of-tax/.test(error?.requestConfig?.path || '') &&\n            error?.response?.code === 'FIELDS_VALIDATION' &&\n            /Field vat/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.deadheadCreation_InvalidVehicle]: (error) => {\n        return (\n            /choose-arrival-date-time/.test(error?.requestConfig?.path || '') &&\n            error?.response?.code === 'OTHER' &&\n            /Vehicle .+ unavailable/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.manualRateRuleCreation_InvalidZipsFrom]: (error) => {\n        return (\n            /\\/v2\\/manual-rate-rule\\/create$/.test(error?.requestConfig?.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            error?.httpStatusCode === 400 &&\n            error?.response?.code === 'OTHER' &&\n            /^zipsFrom contains invalid zips/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.manualRateRuleUpdate_InvalidZipsFrom]: (error) => {\n        return (\n            /\\/v2\\/manual-rate-rule\\/\\d+\\/update$/.test(error?.requestConfig?.path || '') &&\n            error?.requestConfig?.method === 'PUT' &&\n            error?.httpStatusCode === 400 &&\n            error?.response?.code === 'OTHER' &&\n            /^zipsFrom contains invalid zips/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.manualRateRuleCreation_InvalidZipsTo]: (error) => {\n        return (\n            /\\/v2\\/manual-rate-rule\\/create$/.test(error?.requestConfig?.path || '') &&\n            error?.requestConfig?.method === 'POST' &&\n            error?.httpStatusCode === 400 &&\n            error?.response?.code === 'OTHER' &&\n            /^zipsTo contains invalid zips/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.manualRateRuleUpdate_InvalidZipsTo]: (error) => {\n        return (\n            /\\/v2\\/manual-rate-rule\\/\\d+\\/update$/.test(error?.requestConfig?.path || '') &&\n            error?.requestConfig?.method === 'PUT' &&\n            error?.httpStatusCode === 400 &&\n            error?.response?.code === 'OTHER' &&\n            /^zipsTo contains invalid zips/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.tenderJobNotFound]: (error) => {\n        return (\n            /\\/v1\\/broker\\/simple-tender$/.test(error?.requestConfig?.path || '') &&\n            error?.requestConfig?.method === 'GET' &&\n            error?.httpStatusCode === 404 &&\n            /^No tender job found for user/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.tenderJobNotInProcessingState]: (error) => {\n        return (\n            /\\/v1\\/broker\\/simple-tender$/.test(error?.requestConfig?.path || '') &&\n            error?.requestConfig?.method === 'DELETE' &&\n            error?.httpStatusCode === 400 &&\n            error?.response?.code === 'OTHER' &&\n            /^Tender job for user .+ is not in processing state$/.test(error?.response?.message || '')\n        );\n    },\n    [TranziitApiRequestErrorSubTypeEnum.documents_unsupportedFileType]: (error) => {\n        return /document/.test(error?.requestConfig?.path || '') && error?.response?.code === 'UNSUPPORTED_FILE_TYPE';\n    },\n    [TranziitApiRequestErrorSubTypeEnum.attachedPapers_unsupportedFileType]: (error) => {\n        return (\n            /attached-papers/.test(error?.requestConfig?.path || '') &&\n            error?.response?.code === 'UNSUPPORTED_FILE_TYPE'\n        );\n    },\n} as const;\n\nexport default parseErrors;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TruckTriggerLabel.scss';\nimport { CurrencyEnum, StyleGuideColorsEnum } from 'common/constants';\nimport Money from 'common/components/Money/Money';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport DetailsIcon from 'common/icons/DetailsIcon';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport isNumber from 'lodash/isNumber';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { useTranslation } from 'react-i18next';\nimport { ApiTruckRateModeT, TruckRateModeEnum } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    model?: string;\n    plateNumber?: string;\n    ratePerKm: number | null | undefined;\n    rateMode: ApiTruckRateModeT | null | undefined;\n    isDisabled: boolean;\n    resetTooltipNode?: React.ReactNode;\n    onReset: () => void;\n    onOpenDetails: () => void;\n};\n\nconst rateModeI18nMap: Record<ApiTruckRateModeT, string> = {\n    [TruckRateModeEnum.brutto]: 'assignment.rate-mode.brutto',\n    [TruckRateModeEnum.netto]: 'assignment.rate-mode.netto',\n};\n\nconst TruckTriggerLabel: React.FC<PropsT> = React.memo((props) => {\n    const { model, plateNumber, ratePerKm, rateMode, isDisabled, onReset, onOpenDetails, resetTooltipNode } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div className={cx('option')}>\n            <div\n                className={cx('model-and-plate-number', {\n                    'model-and-plate-number--isDisabled': isDisabled,\n                })}\n            >\n                {[plateNumber, model].filter(Boolean).join(' / ')}\n            </div>\n            <div className={cx('spacer')} />\n            {isNumber(ratePerKm) && (\n                <div\n                    className={cx('price', {\n                        'price--isDisabled': isDisabled,\n                    })}\n                >\n                    <Money amount={ratePerKm} currency={CurrencyEnum.EUR} />\n                    {!!rateMode && <span className={cx('trigger-rate-mode')}>({t(rateModeI18nMap[rateMode])})</span>}\n                </div>\n            )}\n            <ClickInterceptorLabel className={cx('reset')}>\n                <Tooltip\n                    className={cx('tooltip')}\n                    position={TooltipPositionEnum.centerLeft}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        resetTooltipNode ? (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {resetTooltipNode}\n                            </TooltipContent>\n                        ) : null\n                    }\n                >\n                    {() => (\n                        <TransparentTrigger\n                            spaces=\"xxs\"\n                            onClick={onReset}\n                            leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.gray} />}\n                            reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                        />\n                    )}\n                </Tooltip>\n            </ClickInterceptorLabel>\n            <ClickInterceptorLabel className={cx('details')}>\n                <Tooltip\n                    className={cx('tooltip')}\n                    position={TooltipPositionEnum.centerLeft}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('common:tooltips.open-details')}\n                        </TooltipContent>\n                    }\n                >\n                    {() => (\n                        <TransparentTrigger\n                            spaces=\"xxs\"\n                            onClick={onOpenDetails}\n                            leftIcon={<DetailsIcon strokeColor={StyleGuideColorsEnum.gray} />}\n                            reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                        />\n                    )}\n                </Tooltip>\n            </ClickInterceptorLabel>\n        </div>\n    );\n});\n\nexport default TruckTriggerLabel;\n","import { AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\n\nexport enum FieldsEnum {\n    password = 'password',\n}\n\nexport type AsyncFormErrorsT = Partial<{\n    [FieldsEnum.password]:\n        | AuthErrorTypeEnum.failUpdatePassword\n        | AuthErrorTypeEnum.failReauthenticateWithCredential\n        | AuthErrorTypeEnum.expiredActionCode\n        | AuthErrorTypeEnum.invalidActionCode\n        | AuthErrorTypeEnum.weakPassword\n        | AuthErrorTypeEnum.userNotFound\n        | AuthErrorTypeEnum.userDisabled;\n}>;\n\nexport type FormValuesT = {\n    [FieldsEnum.password]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"CompletedPartnerShipperLaneContractCard__inner___kLzuI\",\"fadeIn\":\"CompletedPartnerShipperLaneContractCard__fadeIn___v4UZS\",\"blinking\":\"CompletedPartnerShipperLaneContractCard__blinking___IbNVQ\"};","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"PriceSettingsEditRuleLayout__form___MOSa8\",\"button--add\":\"PriceSettingsEditRuleLayout__button--add___ZeKj0\",\"button--cancel\":\"PriceSettingsEditRuleLayout__button--cancel___Fa9gH\",\"button--save\":\"PriceSettingsEditRuleLayout__button--save___MkrSS\",\"buttons\":\"PriceSettingsEditRuleLayout__buttons___F2g3R\",\"field--name\":\"PriceSettingsEditRuleLayout__field--name___a7tNc\",\"field--type\":\"PriceSettingsEditRuleLayout__field--type___AwXFz\",\"field--group\":\"PriceSettingsEditRuleLayout__field--group___HCYge\",\"field--countries\":\"PriceSettingsEditRuleLayout__field--countries___Yd9vL\",\"field--zips\":\"PriceSettingsEditRuleLayout__field--zips___v_nr3\",\"field--valid-date\":\"PriceSettingsEditRuleLayout__field--valid-date___hTff1\",\"field--price-component\":\"PriceSettingsEditRuleLayout__field--price-component___fKI99\",\"field--repeat-strategy\":\"PriceSettingsEditRuleLayout__field--repeat-strategy____HrlB\",\"field--repeat-type\":\"PriceSettingsEditRuleLayout__field--repeat-type___ok7Jc\",\"field--impact-strategy\":\"PriceSettingsEditRuleLayout__field--impact-strategy___fCJsl\",\"combined-field--days\":\"PriceSettingsEditRuleLayout__combined-field--days___Yzaf0\",\"combined-field--dates\":\"PriceSettingsEditRuleLayout__combined-field--dates___jSrc4\",\"combined-field--repeat-type\":\"PriceSettingsEditRuleLayout__combined-field--repeat-type___ys1nU\",\"combined-field--impact-value\":\"PriceSettingsEditRuleLayout__combined-field--impact-value___uRoqb\",\"combined-field--impact-strategy\":\"PriceSettingsEditRuleLayout__combined-field--impact-strategy___hkSzO\",\"field-group--rule\":\"PriceSettingsEditRuleLayout__field-group--rule___C6_cU\",\"field-group--schedule\":\"PriceSettingsEditRuleLayout__field-group--schedule___tE6IM\",\"status\":\"PriceSettingsEditRuleLayout__status___UFmM1\",\"fadeIn\":\"PriceSettingsEditRuleLayout__fadeIn___Zh_mr\",\"blinking\":\"PriceSettingsEditRuleLayout__blinking___ZpV_f\"};","// extracted by mini-css-extract-plugin\nexport default {\"zone-mark\":\"ZoneMark__zone-mark___KVOUU\",\"zone-mark--isActive\":\"ZoneMark__zone-mark--isActive___dLl0v\",\"zone-mark--hasLeftBorder\":\"ZoneMark__zone-mark--hasLeftBorder___zQ5w2\",\"zone-mark--theme-green\":\"ZoneMark__zone-mark--theme-green___Pt9Pm\",\"zone-mark--theme-orange\":\"ZoneMark__zone-mark--theme-orange___IDAPC\",\"zone-mark--theme-dark-green\":\"ZoneMark__zone-mark--theme-dark-green___GUcAs\",\"zone-mark--theme-light\":\"ZoneMark__zone-mark--theme-light___iFN12\",\"fadeIn\":\"ZoneMark__fadeIn___dfI4L\",\"blinking\":\"ZoneMark__blinking___iHVfm\"};","import {\n    EMAIL_VERIFICATION_REQUEST_ERROR,\n    RESET_PASSWORD_REQUEST_ERROR,\n    SIGN_IN_REQUEST_ERROR,\n    SIGN_UP_REQUEST_ERROR,\n    UPDATE_PASSWORD_REQUEST_ERROR,\n} from 'common/store/auth/types';\nimport { AuthErrorTypeEnum, checkIsAuthApiError } from 'common/utils/api/auth/errors/auth-api-error';\nimport { AnyAction } from 'redux';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport {\n    ApiRequestErrorTypeEnum,\n    checkIsApiRequestError,\n    checkIsUnauthorizedError,\n} from 'common/utils/api/errors/api-request-error';\nimport { CHECK_GPS_STATUS_REQUEST_ERROR } from 'common/store/gps-tracking-status/types';\n\nexport const checkError = (actionType: string): boolean => {\n    return /(_ERROR|Error)$/.test(actionType);\n};\n\nconst IGNORE_ACTION_TYPES_SET = new Set([\n    SIGN_IN_REQUEST_ERROR,\n    RESET_PASSWORD_REQUEST_ERROR,\n    SIGN_UP_REQUEST_ERROR,\n    EMAIL_VERIFICATION_REQUEST_ERROR,\n    UPDATE_PASSWORD_REQUEST_ERROR,\n    CHECK_GPS_STATUS_REQUEST_ERROR,\n]);\n\nconst IGNORE_API_ERRORS_TYPES_SET = new Set([\n    AuthErrorTypeEnum.failReauthenticateWithCredential,\n    AuthErrorTypeEnum.failUpdatePassword,\n    AuthErrorTypeEnum.wrongPassword,\n    AuthErrorTypeEnum.wrongRole,\n]);\n\nconst IGNORE_API_ERRORS_SUB_TYPES_SET = new Set([\n    TranziitApiRequestErrorSubTypeEnum.notFoundCompany,\n    TranziitApiRequestErrorSubTypeEnum.notFoundUser,\n    TranziitApiRequestErrorSubTypeEnum.emailAlreadyExist,\n    TranziitApiRequestErrorSubTypeEnum.notAuthorizedUser,\n    TranziitApiRequestErrorSubTypeEnum.phoneAlreadyExist,\n    TranziitApiRequestErrorSubTypeEnum.expiredContextPreviewReserve,\n    TranziitApiRequestErrorSubTypeEnum.assignmentSelfCostPrediction,\n    TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_CapacityExcess,\n    TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_Overweight,\n    TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteNotFound,\n    TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteWaypointNotLinkable,\n    TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_ProhibitedCountry,\n    TranziitApiRequestErrorSubTypeEnum.orderCreation_ShipperNotAllowedToHaveNewOrders,\n    TranziitApiRequestErrorSubTypeEnum.orderCreation_ShipperNotAvailable,\n    TranziitApiRequestErrorSubTypeEnum.brokerOrderEdit_ExpirationContext,\n    TranziitApiRequestErrorSubTypeEnum.evidenceOfTaxDetails_WrongVat,\n    TranziitApiRequestErrorSubTypeEnum.deadheadCreation_InvalidVehicle,\n    TranziitApiRequestErrorSubTypeEnum.manualRateRuleCreation_InvalidZipsFrom,\n    TranziitApiRequestErrorSubTypeEnum.manualRateRuleUpdate_InvalidZipsFrom,\n    TranziitApiRequestErrorSubTypeEnum.manualRateRuleCreation_InvalidZipsTo,\n    TranziitApiRequestErrorSubTypeEnum.manualRateRuleUpdate_InvalidZipsTo,\n    TranziitApiRequestErrorSubTypeEnum.tenderJobNotFound,\n    TranziitApiRequestErrorSubTypeEnum.tenderJobNotInProcessingState,\n\n    // error if the user has not yet registered and will be redirected to the continued registration page\n    // and an error will be displayed on the view where the requested entity is being rendered\n    TranziitApiRequestErrorSubTypeEnum.accessDeniedToEntity,\n    TranziitApiRequestErrorSubTypeEnum.accessDeniedToApi,\n]);\n\nexport const extractErrorFromAction = (action: AnyAction): Error | null => {\n    return action?.error || action?.payload?.error || null;\n};\n\nexport const checkIgnoreError = (action: AnyAction): boolean => {\n    const actionError = extractErrorFromAction(action);\n\n    if (\n        (checkIsAuthApiError(actionError) && actionError?.type === AuthErrorTypeEnum.networkRequestFailed) ||\n        (checkIsApiRequestError(actionError) && actionError?.type === ApiRequestErrorTypeEnum.networkError)\n    ) {\n        return true;\n    }\n\n    if (checkIsApiRequestError(actionError) && actionError?.type === ApiRequestErrorTypeEnum.timeoutError) {\n        return false;\n    }\n\n    if (checkIsAuthApiError(actionError) && actionError?.type === AuthErrorTypeEnum.wrongRole) {\n        return true;\n    }\n\n    return (\n        IGNORE_ACTION_TYPES_SET.has(action.type) ||\n        checkIsUnauthorizedError(actionError) ||\n        (checkIsAuthApiError(actionError) && IGNORE_API_ERRORS_TYPES_SET.has(actionError?.type)) ||\n        (checkIsTranziitApiRequestError(actionError) && IGNORE_API_ERRORS_SUB_TYPES_SET.has(actionError?.subType))\n    );\n};\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './FiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport Input from 'common/components/Input/Input';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport PinIcon, { PinIconProps } from 'common/icons/PinIcon';\nimport SelectedFilters from '../SelectedFilters/SelectedFilters';\nimport { clearEmptyValues } from 'common/utils/query';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport BrokerAdminUserSuggest from 'common/components/suggests/BrokerAdminUserSuggest/BrokerAdminUserSuggest';\nimport { selectPermissions } from 'common/store/auth/selectors';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst FiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose, setQueryFilters, queryFilters } = props;\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const permissions = useSelector(selectPermissions);\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const queryFilters = getQueryFilters(values);\n\n            clearEmptyValues(queryFilters);\n\n            setQueryFilters({\n                ...initialQueryFilters,\n                ...(queryFilters[QueryFiltersKeysEnum.address]\n                    ? {\n                          [QueryFiltersKeysEnum.text]: undefined,\n                      }\n                    : {}),\n                ...queryFilters,\n            });\n\n            formikHelpers.setTouched({});\n\n            if (onClose) {\n                onClose();\n            }\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('common:shipper-contract-lanes.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FormikField\n                    className={cx('field', 'field--trailer-type')}\n                    name={FieldsEnum.dictTrailerId}\n                    error={formik.errors[FieldsEnum.dictTrailerId]}\n                    meta={formik.getFieldMeta(FieldsEnum.dictTrailerId)}\n                    label={t('common:shipper-contract-lanes.filters.fields.trailer-type.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DictTrailerDropdown\n                            placeholder={t('common:shipper-contract-lanes.filters.fields.trailer-type.placeholder')}\n                            value={formik.values[FieldsEnum.dictTrailerId]}\n                            onChange={props.onChange}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--address')}\n                    name={FieldsEnum.address}\n                    error={formik.errors[FieldsEnum.address]}\n                    meta={formik.getFieldMeta(FieldsEnum.address)}\n                    label={t('common:shipper-contract-lanes.filters.fields.address.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipPosition={TooltipPositionEnum.topLeft}\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.address}\n                            value={formik.values[FieldsEnum.address] || ''}\n                            placeholder={t('common:shipper-contract-lanes.filters.fields.address.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.validFromDates}\n                        error={formik.errors[FieldsEnum.validFromDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.validFromDates)}\n                        label={t('common:shipper-contract-lanes.filters.fields.valid-from-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.validFromDates]}\n                                placeholder={t(\n                                    'common:shipper-contract-lanes.filters.fields.valid-from-dates.placeholder',\n                                )}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                                hasYearMonthForm\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.validTillDates}\n                        error={formik.errors[FieldsEnum.validTillDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.validTillDates)}\n                        label={t('common:shipper-contract-lanes.filters.fields.valid-till-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.validTillDates]}\n                                placeholder={t(\n                                    'common:shipper-contract-lanes.filters.fields.valid-till-dates.placeholder',\n                                )}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                hasClearControl\n                                hasYearMonthForm\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.createdDates}\n                        error={formik.errors[FieldsEnum.createdDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.createdDates)}\n                        label={t('common:shipper-contract-lanes.filters.fields.added-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.createdDates]}\n                                placeholder={t('common:shipper-contract-lanes.filters.fields.added-dates.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                                hasYearMonthForm\n                            />\n                        )}\n                    </FormikField>\n                    {permissions.canUseBrokerAdminSuggest ? (\n                        <FormikField\n                            className={cx('field', 'field--user')}\n                            name={FieldsEnum.createdById}\n                            error={formik.errors[FieldsEnum.createdById]}\n                            meta={formik.getFieldMeta(FieldsEnum.createdById)}\n                            label={t('common:shipper-contract-lanes.filters.fields.added-by.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <BrokerAdminUserSuggest\n                                    initialValue={formik.values[FieldsEnum.createdById]}\n                                    initialLabel={formik.values[FieldsEnum.createdByName]}\n                                    value={formik.values[FieldsEnum.createdById]}\n                                    placeholder={t('common:shipper-contract-lanes.filters.fields.added-by.placeholder')}\n                                    onSelect={(userId, userName) => {\n                                        props.onChange(userId);\n                                        formik.setFieldValue(FieldsEnum.createdByName, userName);\n                                    }}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasClearControl\n                                />\n                            )}\n                        </FormikField>\n                    ) : (\n                        <FieldGroupEmptyItem className={cx('field', 'field--user')} />\n                    )}\n                </FieldGroup>\n            </SideBarLayout>\n            <FooterSideBarLayout hasPaddings>\n                <div className={cx('selected-filters')}>\n                    <SelectedFilters queryFilters={initialQueryFilters} setQueryFilters={setInitialQueryFilters} />\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('common:shipper-contract-lanes.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default FiltersSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"ReactDayPicker\":\"Calendar__ReactDayPicker___u4hnN\",\"ReactDayPicker__wrapper\":\"Calendar__ReactDayPicker__wrapper___y_bBG\",\"ReactDayPicker__NavButton\":\"Calendar__ReactDayPicker__NavButton___PRNyx\",\"ReactDayPicker__NavButton--prev\":\"Calendar__ReactDayPicker__NavButton--prev___CRJDH\",\"ReactDayPicker__NavButton--next\":\"Calendar__ReactDayPicker__NavButton--next___tmPGR\",\"ReactDayPicker__NavButton--interactionDisabled\":\"Calendar__ReactDayPicker__NavButton--interactionDisabled___OEOwM\",\"ReactDayPicker__Months\":\"Calendar__ReactDayPicker__Months___AQ2eD\",\"ReactDayPicker__Month\":\"Calendar__ReactDayPicker__Month___J3DTY\",\"ReactDayPicker__Caption\":\"Calendar__ReactDayPicker__Caption___NSV9c\",\"ReactDayPicker__Weekdays\":\"Calendar__ReactDayPicker__Weekdays___IvnL_\",\"ReactDayPicker__WeekdaysRow\":\"Calendar__ReactDayPicker__WeekdaysRow___JuDh1\",\"ReactDayPicker__Weekday\":\"Calendar__ReactDayPicker__Weekday___upHv2\",\"ReactDayPicker__Body\":\"Calendar__ReactDayPicker__Body___Plfyt\",\"ReactDayPicker__Week\":\"Calendar__ReactDayPicker__Week___qyCML\",\"ReactDayPicker__Day\":\"Calendar__ReactDayPicker__Day___xUDQl\",\"ReactDayPicker__Day--today\":\"Calendar__ReactDayPicker__Day--today___PFF5x\",\"ReactDayPicker__Day--disabled\":\"Calendar__ReactDayPicker__Day--disabled___kTvo1\",\"ReactDayPicker__Day--selected\":\"Calendar__ReactDayPicker__Day--selected___RQOMW\",\"DayPicker__Day--outside\":\"Calendar__DayPicker__Day--outside___YYMdp\",\"startAndEnd\":\"Calendar__startAndEnd___W5jHY\",\"start\":\"Calendar__start___cLMCP\",\"end\":\"Calendar__end___sycoU\",\"ReactDayPicker__WeekNumber\":\"Calendar__ReactDayPicker__WeekNumber___MgIcU\",\"ReactDayPicker__Footer\":\"Calendar__ReactDayPicker__Footer___Ehd3g\",\"fadeIn\":\"Calendar__fadeIn___wIk3R\",\"blinking\":\"Calendar__blinking___JF3vS\"};","// extracted by mini-css-extract-plugin\nexport default {\"not-assigned\":\"CarrierCell__not-assigned___LW2OZ\",\"not-assigned--small\":\"CarrierCell__not-assigned--small___XoWwM\",\"not-assigned--medium\":\"CarrierCell__not-assigned--medium___WNiuX\",\"fadeIn\":\"CarrierCell__fadeIn___IrBX0\",\"blinking\":\"CarrierCell__blinking___SHCYK\"};","import React from 'react';\n\ntype RemoteFormRequestT = {\n    isLoading?: boolean;\n};\n\ntype RemoteFormStateT = {\n    hasChanges?: boolean;\n    hasErrors?: boolean;\n};\n\ntype RemoteFormCallbacksT = {\n    submit?: () => void;\n    reset?: () => void;\n    touchAllFields?: () => void;\n};\n\nexport type RemoteFormActionsT = {\n    remoteFormState?: RemoteFormStateT;\n    setRemoteFormState?: (remoteFormState: RemoteFormStateT) => void;\n    remoteFormCallbacks?: RemoteFormCallbacksT;\n    setRemoteFormCallbacks?: (remoteFormCallbacks: RemoteFormCallbacksT) => void;\n    remoteFormRequest?: RemoteFormRequestT;\n    setRemoteFormRequest?: (remoteFormRequest: RemoteFormRequestT) => void;\n};\n\nconst useRemoteFormActions = (): RemoteFormActionsT => {\n    const [remoteFormState, setRemoteFormState] = React.useState<RemoteFormStateT>({});\n    const [remoteFormCallbacks, setRemoteFormCallbacks] = React.useState<RemoteFormCallbacksT>({});\n    const [remoteFormRequest, setRemoteFormRequest] = React.useState<RemoteFormRequestT>({});\n\n    return {\n        remoteFormState,\n        setRemoteFormState,\n        remoteFormCallbacks,\n        setRemoteFormCallbacks,\n        remoteFormRequest,\n        setRemoteFormRequest,\n    };\n};\n\nexport default useRemoteFormActions;\n","import { GPSTrackingStatusStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { GPStatusEnum } from 'common/store/gps-tracking-status/constants';\n\nexport const selectGPSCheckQuery = (state: SharableStateT): GPSTrackingStatusStateT['query'] =>\n    state.gpsTrackingStatus.query;\n\nexport const selectGPSCheckStatus = (state: SharableStateT): GPSTrackingStatusStateT['requestStatus'] =>\n    state.gpsTrackingStatus.requestStatus;\n\nexport const selectGPSCheckData = (state: SharableStateT): GPSTrackingStatusStateT['data'] =>\n    state.gpsTrackingStatus.data;\n\nexport const selectGPSIsChecking = (state: SharableStateT): boolean => {\n    const { requestStatus } = state.gpsTrackingStatus;\n\n    return requestStatus.loading;\n};\n\nexport const selectGPSStatus = (state: SharableStateT): GPStatusEnum | null => {\n    const { requestStatus, data } = state.gpsTrackingStatus;\n\n    if (requestStatus.ok && data?.hasGps) {\n        return GPStatusEnum.enabled;\n    }\n\n    if (requestStatus.error || (data && !data.hasGps)) {\n        return GPStatusEnum.unable;\n    }\n\n    return null;\n};\n","import { v4 as uuidv4 } from 'uuid';\nimport { FieldsEnum, RoutePointFieldsEnum, RoutePointFormValuesT } from './constants';\nimport { ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { ContextRoutePointHashT, RoutePointTypeEnum } from 'broker-admin/store/order-edit/models';\nimport { ApiStopTypeT } from 'common/utils/api/models';\n\nexport const generatePointFakeId = (): string => {\n    return `fake-id-${uuidv4()}`;\n};\n\nexport const getRoutePointFieldName = <T extends RoutePointFieldsEnum>(\n    pointIndex: number,\n    routePointField: T,\n): `${FieldsEnum.route}.${number}.${T}` => {\n    return `${FieldsEnum.route}.${pointIndex}.${routePointField}`;\n};\n\nexport const checkIsAvailableRoutePoint = (routePointValues: RoutePointFormValuesT) => {\n    return !!routePointValues[RoutePointFieldsEnum.location];\n};\n\nexport const getRoutePointTimeWindowHash = (\n    start: ISODateTimeT | null | undefined,\n    end: ISODateTimeT | null | undefined,\n) => {\n    return `${start}-${end}`;\n};\n\nexport const checkIsAllowToUpdateAddress = (tourUpdateStop: ApiTourUpdateStopDataT | null | undefined) => {\n    return tourUpdateStop ? !!tourUpdateStop.allowToUpdateAddress : true;\n};\n\nexport const checkIsAllowToDelete = (tourUpdateStop: ApiTourUpdateStopDataT | null | undefined) => {\n    return tourUpdateStop ? !!tourUpdateStop.allowToDelete : true;\n};\n\nexport const checkIsAllowToUpdateTimeSlots = (tourUpdateStop: ApiTourUpdateStopDataT | null | undefined) => {\n    return tourUpdateStop ? !!tourUpdateStop.allowToUpdateTimeSlots : false;\n};\n\nconst typeMap: Record<RoutePointTypeEnum, ApiStopTypeT> = {\n    [RoutePointTypeEnum.unknown]: 'PICKUP_DELIVERY_SHIPMENT', // ??\n    [RoutePointTypeEnum.pickupOrDelivery]: 'PICKUP_DELIVERY_SHIPMENT',\n    [RoutePointTypeEnum.driveThrough]: 'DRIVE_THROUGH',\n    [RoutePointTypeEnum.dropAndHook]: 'DROP_AND_HOOK',\n    [RoutePointTypeEnum.ferryOnboard]: 'FERRY_ONBOARD',\n    [RoutePointTypeEnum.ferryDisembark]: 'FERRY_DISEMBARK',\n};\n\nexport const getRoutePointHashFromValues = (\n    type: RoutePointFormValuesT['type'],\n    location: RoutePointFormValuesT['location'],\n) => {\n    return `#/${typeMap[type]}/${location?.point?.lat}/${location?.point?.lng}`;\n};\n\nexport const getBeforeContextRoutePointHashes = (\n    routeValues: RoutePointFormValuesT[],\n    index: number,\n): ContextRoutePointHashT[] => {\n    return routeValues.slice(0, index).map((values) => {\n        return getRoutePointHashFromValues(\n            values?.[RoutePointFieldsEnum.type],\n            values?.[RoutePointFieldsEnum.location],\n        );\n    });\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"NotificationsBarContent__inner___Whqy9\",\"loader\":\"NotificationsBarContent__loader___aDETs\",\"message\":\"NotificationsBarContent__message___QHu3y\",\"message-wrap\":\"NotificationsBarContent__message-wrap___s0QS5\",\"notifications\":\"NotificationsBarContent__notifications___xpKwp\",\"fadeIn\":\"NotificationsBarContent__fadeIn___IF377\",\"blinking\":\"NotificationsBarContent__blinking___WlK3E\"};","// extracted by mini-css-extract-plugin\nexport default {\"action\":\"CancelSpotRequestFooter__action___epUmw\",\"fadeIn\":\"CancelSpotRequestFooter__fadeIn___C_0Uy\",\"blinking\":\"CancelSpotRequestFooter__blinking___GyCmj\"};","import history from 'common/utils/history';\nimport { useLocation } from 'react-router-dom';\n\nexport const useStateSafeHistory = () => {\n    const location = useLocation<{}>();\n\n    const replace = (nextLocation: Partial<Location>) => {\n        history.replace({\n            ...location,\n            ...nextLocation,\n        });\n    };\n\n    const push = (nextLocation: Partial<Location>) => {\n        history.push({\n            ...location,\n            ...nextLocation,\n        });\n    };\n\n    return {\n        stateSafeHistory: {\n            replace,\n            push,\n        },\n    };\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {};\n\nconst OriginIcon: React.FC<PropsT> = () => {\n    return (\n        <svg width={20} height={20} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <circle cx={10} cy={10} r={10} fill={StyleGuideColorsEnum.dodgerBlue} />\n                <path\n                    fill=\"#FFF\"\n                    fillRule=\"nonzero\"\n                    d=\"M7.775 15l.574-1.86h3.288l.581 1.86h2.577l-3.677-9.953H8.862L5.212 15h2.563zm3.288-3.712h-2.14L9.99 7.836l1.073 3.452z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nOriginIcon.displayName = 'OriginIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default OriginIcon;\n","import { useCallback, useEffect, useRef } from 'react';\n\nconst useDebouncedEffect = (effect: () => void, delay: number, deps: Array<any>) => {\n    const didMount = useRef(false);\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    const callback = useCallback(effect, deps);\n\n    useEffect(() => {\n        // trigger only change\n        if (!didMount.current) {\n            didMount.current = true;\n            return () => {\n                // nothing\n            };\n        }\n\n        const handler = setTimeout(() => {\n            callback();\n        }, delay);\n\n        return () => {\n            clearTimeout(handler);\n        };\n    }, [callback, delay]);\n};\n\nexport default useDebouncedEffect;\n","import * as React from 'react';\n\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport { useTranslation } from 'react-i18next';\n\nexport type PropsT = {\n    className?: string;\n    reason: string;\n};\n\nconst ArchiveReasonAlert: React.FC<PropsT> = React.memo((props) => {\n    const { className, reason } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Alert\n            className={className}\n            icon={<InfoIcon fillColor={StyleGuideColorsEnum.white} />}\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.gray}\n        >\n            {t('common:alerts.archive-reason', {\n                reason,\n            })}\n        </Alert>\n    );\n});\n\nexport default ArchiveReasonAlert;\n","import {\n    RFQDetailsActionT,\n    RFQDetailsByIdStateT,\n    RFQDetailsStateT,\n    FETCH_RFQ_DETAILS_REQUEST_BEGIN,\n    FETCH_RFQ_DETAILS_REQUEST_ERROR,\n    FETCH_RFQ_DETAILS_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport isEqual from 'lodash/isEqual';\n\nconst initialState: RFQDetailsByIdStateT = {};\n\nexport const initialRFQDetailsState: RFQDetailsStateT = {\n    details: null,\n    defaultOffer: null,\n    requestStatus: requestStatus.initial,\n};\n\nexport default (state = initialState, action: RFQDetailsActionT | DestroySessionActionT): RFQDetailsByIdStateT => {\n    switch (action.type) {\n        case FETCH_RFQ_DETAILS_REQUEST_BEGIN: {\n            const { id } = action;\n\n            const rfqDetailsState = state[id] || initialRFQDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...rfqDetailsState,\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_RFQ_DETAILS_REQUEST_ERROR: {\n            const { error, id } = action;\n\n            const rfqDetailsState = state[id] || initialRFQDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...rfqDetailsState,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_RFQ_DETAILS_REQUEST_SUCCESS: {\n            const { details, defaultOffer, id } = action;\n\n            const rfqDetailsState = state[id] || initialRFQDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...rfqDetailsState,\n                    requestStatus: requestStatus.ok,\n                    details: isEqual(details, rfqDetailsState.details) ? rfqDetailsState.details : details,\n                    defaultOffer,\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import { AnyAlert, AnyAlertPayloadT } from 'common/store/alerts/models';\n\nexport enum BrokerAlertTypeEnum {\n    unknown = 'unknown',\n    transportOrderAssigned = 'transport-order-assigned',\n    spotRequestCancelled = 'spot-request-cancelled',\n}\n\nexport type BrokerAnyAlertPayloadT =\n    | AnyAlertPayloadT<\n          BrokerAlertTypeEnum.unknown,\n          {\n              // TODO\n          }\n      >\n    | AnyAlertPayloadT<BrokerAlertTypeEnum.spotRequestCancelled, {}>\n    | AnyAlertPayloadT<BrokerAlertTypeEnum.transportOrderAssigned, {}>;\n\nexport class BrokerAnyAlert extends AnyAlert<BrokerAnyAlertPayloadT> {}\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TransportOrderDetailsCard.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Card from 'design-system/components/Card/Card';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport CarrierIcon from 'common/icons/CarrierIcon';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport AssetLinkFormatter from 'design-system/components/InfoTable/formatters/AssetLinkFormatter/AssetLinkFormatter';\nimport AssetLabelFormatter from 'design-system/components/InfoTable/formatters/AssetLabelFormatter/AssetLabelFormatter';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { ApiTransportationOrderFullT, PartnerTypeEnum } from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport DriverIcon from 'common/icons/DriverIcon';\nimport TeamDrive2Icon from 'common/icons/TeamDrive2Icon';\nimport DocIcon from 'common/icons/DocIcon';\nimport TransportOrderStatusPill from 'common/components/status-pill/TransportOrderStatusPill/TransportOrderStatusPill';\nimport CarrierCostPriceInfoTable from 'broker-admin/components/info-tables/CarrierCostPriceInfoTable/CarrierCostPriceInfoTable';\nimport SimpleDriverFormatter from 'design-system/components/InfoTable/formatters/SimpleDriverFormatter/SimpleDriverFormatter';\nimport ChangeTransportOrderStatusControl from 'broker-admin/components/status-machine/ChangeTransportOrderStatusControl/ChangeTransportOrderStatusControl';\nimport LinkFormatter from 'design-system/components/InfoTable/formatters/LinkFormatter/LinkFormatter';\n\nexport type PropsT = {\n    transportOrderNumber: string;\n    transportOrderDetails: ApiTransportationOrderFullT | null | undefined;\n    keyboardShortcut?: string;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TransportOrderDetailsCard: React.FC<PropsT> = React.memo((props) => {\n    const { transportOrderNumber, transportOrderDetails, keyboardShortcut, className } = props;\n\n    const { t } = useTranslation();\n\n    const carrier = transportOrderDetails?.carrier || null;\n    const truck = transportOrderDetails?.truck || null;\n    const trailer = transportOrderDetails?.trailer || null;\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const handleOpenTrailerDetails = () => {\n        if (!trailer?.id || !carrier?.id) {\n            logWarning('failed to open trailer details, empty trailer');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.trailerDetails,\n                trailerId: trailer.id,\n                partnerId: carrier.id,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const handleOpenTruckDetails = () => {\n        if (!truck?.id || !carrier?.id) {\n            logWarning('failed to open trailer details, empty truck');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.truckDetails,\n                truckId: truck.id,\n                partnerId: carrier.id,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const mainDriver = transportOrderDetails?.drivers?.[0] || null;\n\n    const teamDrivers = useMemo(() => {\n        const shouldShowTeamDrivers = !!transportOrderDetails?.teamDrive;\n        if (!shouldShowTeamDrivers) {\n            return [];\n        }\n\n        const drivers = transportOrderDetails?.drivers?.slice(1) || [];\n        return drivers?.length ? drivers : [null];\n    }, [transportOrderDetails]);\n\n    const moveDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <TruckIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('broker-order-details.transport-order-details.columns.truck'),\n            value: truck ? (\n                <AssetLinkFormatter assetId={truck?.id} onOpenAssetDetails={handleOpenTruckDetails}>\n                    <AssetLabelFormatter model={truck?.dictTruckInfo?.model} plateNumber={truck?.plateNumber} />\n                </AssetLinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.truck-not-assigned'),\n            isBoldValue: true,\n        },\n        {\n            icon: (\n                <TrailerIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('broker-order-details.transport-order-details.columns.trailer'),\n            value: trailer ? (\n                <AssetLinkFormatter assetId={trailer?.id} onOpenAssetDetails={handleOpenTrailerDetails}>\n                    <AssetLabelFormatter model={trailer?.dictTrailerInfo?.model} plateNumber={trailer?.plateNumber} />\n                </AssetLinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.trailer-not-assigned'),\n            isBoldValue: true,\n        },\n        {\n            icon: <DriverIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.transport-order-details.columns.driver'),\n            value: mainDriver ? <SimpleDriverFormatter driver={mainDriver} /> : null,\n            emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n            isBoldValue: true,\n        },\n        ...teamDrivers.map((driver) => ({\n            icon: <TeamDrive2Icon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.transport-order-details.columns.team-driver'),\n            value: driver ? <SimpleDriverFormatter driver={driver} /> : null,\n            emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n            isBoldValue: true,\n        })),\n        {\n            icon: <DocIcon strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.transport-order-details.columns.tour'),\n            value: transportOrderDetails?.tourId ? (\n                <LinkFormatter to={urlFactory.brokerTourDetails(transportOrderDetails.tourId)}>\n                    {transportOrderDetails?.tourNumber}\n                </LinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.assets-not-assigned'),\n            isBoldValue: true,\n        },\n    ];\n\n    const carrierDetails: Array<InfoTableRowT> = [\n        {\n            icon: <CarrierIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.transport-order-details.columns.carrier'),\n            value: carrier?.id ? (\n                <Link\n                    to={urlFactory.partnerDetails(PartnerTypeEnum.carrier, carrier.id)}\n                    className={cx('link')}\n                    theme={LinkThemeEnum.boldBrandDark}\n                >\n                    {carrier?.name}\n                </Link>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n            isBoldValue: true,\n        },\n    ];\n\n    return (\n        <>\n            <Card\n                titleNode={t('broker-order-details.transport-order-details.title', {\n                    number: transportOrderNumber,\n                })}\n                rightNode={\n                    <>\n                        <TransportOrderStatusPill isSymmetrical status={transportOrderDetails?.status} />\n                        <ChangeTransportOrderStatusControl\n                            cancelByBrokerUnavailableReason={transportOrderDetails?.cancelByBrokerUnavailableReason}\n                            transportOrderId={transportOrderDetails?.id || null}\n                        />\n                    </>\n                }\n                className={className}\n                hasHeaderBottomBorder\n                keyboardShortcut={keyboardShortcut}\n            >\n                <div className={cx('content')}>\n                    <InfoTable shouldRenderIcons rows={carrierDetails} className={cx('table', 'table--carrier')} />\n                    <InfoTable shouldRenderIcons rows={moveDetails} className={cx('table', 'table--move')} />\n                    <CarrierCostPriceInfoTable\n                        className={cx('table', 'table--carrier-cost')}\n                        totalPrice={transportOrderDetails?.carrierCost?.totalCost}\n                        totalPriceLabel={t('broker-order-details.transport-order-details.carrier-cost')}\n                        lineHaulCost={transportOrderDetails?.carrierCost?.lineHaul}\n                        tollCost={transportOrderDetails?.carrierCost?.toll?.totalCost}\n                        tollByRoadType={transportOrderDetails?.carrierCost?.toll?.byRoadType}\n                        co2={transportOrderDetails?.carrierCost?.co2}\n                        layoverCost={transportOrderDetails?.carrierCost?.layover?.totalCost}\n                        layoverSeconds={transportOrderDetails?.carrierCost?.layover?.totalSeconds}\n                        layoverPaidHours={transportOrderDetails?.carrierCost?.layover?.paidHours}\n                        fuelDetails={transportOrderDetails?.carrierCost?.fuel}\n                        teamDriveCost={transportOrderDetails?.carrierCost?.teamDriveCost}\n                        travelHours={transportOrderDetails?.carrierCost?.teamDriveHours}\n                        additionalServiceItems={transportOrderDetails?.carrierCost?.additionalServices?.items}\n                        deadheadLineHaulCost={transportOrderDetails?.carrierCost?.deadhead?.lineHaul}\n                        payloadLineHaulCost={transportOrderDetails?.carrierCost?.payload?.lineHaul}\n                        appliedRules={transportOrderDetails?.carrierCost?.appliedRules}\n                    />\n                </div>\n            </Card>\n        </>\n    );\n});\n\nexport default TransportOrderDetailsCard;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { SharableDocumentsStateT } from 'common/store/models';\n\nimport { CompanyDocumentsStateT } from './types';\nimport { initialCompanyDocumentsState } from './reducer';\nimport { EvidenceOfTaxDetailsT } from 'common/store/documents/models';\n\nconst selectDocumentsState = (companyId: CompanyIdT | null, state: SharableDocumentsStateT): CompanyDocumentsStateT => {\n    if (!companyId) {\n        return initialCompanyDocumentsState;\n    }\n\n    return state.documents[companyId] || initialCompanyDocumentsState;\n};\n\nexport const selectCompanyDocumentIdsByType =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): CompanyDocumentsStateT['idsByType'] =>\n        selectDocumentsState(companyId, state).idsByType || ({} as CompanyDocumentsStateT['idsByType']);\n\nexport const selectCompanyDocumentsById =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): CompanyDocumentsStateT['byId'] =>\n        selectDocumentsState(companyId, state).byId || {};\n\nexport const selectFetchCompanyDocumentsRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): RequestStatusT =>\n        selectDocumentsState(companyId, state).fetchDocumentsRequest;\n\nexport const selectUploadCompanyDocumentsRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): RequestStatusT =>\n        selectDocumentsState(companyId, state).uploadRequest;\n\nexport const selectUploadingDictDocumentId =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): DictDocumentFakeIdT | null =>\n        selectDocumentsState(companyId, state).uploadingDictDocumentId;\n\nexport const selectUpdateCompanyDocumentsRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): RequestStatusT =>\n        selectDocumentsState(companyId, state).updateRequest;\n\nexport const selectUpdatingDocumentId =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): DictDocumentFakeIdT | null =>\n        selectDocumentsState(companyId, state).updatingDocumentId;\n\nexport const selectFetchEvidenceOfTaxDetailsRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): RequestStatusT =>\n        selectDocumentsState(companyId, state).fetchEvidenceOfTaxDetailsRequest;\n\nexport const selectFetchEvidenceOfTaxDetails =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): EvidenceOfTaxDetailsT | null =>\n        selectDocumentsState(companyId, state).evidenceOfTaxDetails;\n\nexport const selectUpdateEvidenceOfTaxDetailsRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableDocumentsStateT): RequestStatusT =>\n        selectDocumentsState(companyId, state).updateEvidenceOfTaxDetailsRequest;\n","import { ErrorActionT } from './models';\n\nexport const CLOSE_ERROR_MODAL = 'common/errors/CLOSE_ERROR_MODAL';\nexport const OPEN_ERROR_MODAL = 'common/errors/OPEN_ERROR_MODAL';\nexport const RESET_LOGS = 'common/errors/RESET_LOGS';\n\nexport type ErrorsStateT = {\n    logs: Array<ErrorActionT>;\n    isShowErrorModal: boolean;\n};\n\nexport type CloseErrorModalActionT = {\n    type: typeof CLOSE_ERROR_MODAL;\n};\n\nexport type OpenErrorModalActionT = {\n    type: typeof OPEN_ERROR_MODAL;\n};\n\nexport type ResetErrorLogsActionT = {\n    type: typeof RESET_LOGS;\n};\n\nexport type ErrorsActionT = CloseErrorModalActionT | OpenErrorModalActionT | ResetErrorLogsActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"table--id\":\"ShipmentDetailsCard__table--id___YsG1a\",\"table--po\":\"ShipmentDetailsCard__table--po___IGvGm\",\"table--point\":\"ShipmentDetailsCard__table--point___mqwNx\",\"table--shipment\":\"ShipmentDetailsCard__table--shipment___DpZvv\",\"table\":\"ShipmentDetailsCard__table___S0dbm\",\"fadeIn\":\"ShipmentDetailsCard__fadeIn___yNTcX\",\"blinking\":\"ShipmentDetailsCard__blinking___YpieH\"};","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './MapStackClusterPin.scss';\nimport MapPin, { MapPinThemeEnum, MapPointPropsT } from 'common/components/maps/MapPin/MapPin';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    lat?: number | undefined;\n    lng?: number | undefined;\n    className?: string;\n    pointProps: Array<Partial<MapPointPropsT>>;\n    clusterId: number;\n    onClusterClick: (clusterId: number) => void;\n    withoutArrow?: boolean;\n};\n\nconst VERTICAL_SHIFT_PX = 10;\nconst BASE_HEIGHT_PX = 45;\n\nconst MapStackClusterPin: React.FC<PropsT> = React.memo((props) => {\n    const { className, pointProps, clusterId, onClusterClick, withoutArrow } = props;\n\n    if (!pointProps || !pointProps?.length) {\n        return null;\n    }\n\n    return (\n        <div\n            className={cs(cx('wrap'), className)}\n            style={{\n                top: -1 * (BASE_HEIGHT_PX / 2 + (withoutArrow ? 0 : VERTICAL_SHIFT_PX * (pointProps?.length || 0))),\n            }}\n            onClick={() => {\n                onClusterClick(clusterId);\n            }}\n        >\n            {pointProps.map(({ className, style, ...restProps }, index) => {\n                const verticalIndex = pointProps.length - 1 - index;\n\n                return (\n                    <MapPin\n                        hasPaddings\n                        hasBorder\n                        key={index}\n                        className={cs(cx('pin'), className)}\n                        withoutArrow={withoutArrow || verticalIndex !== 0}\n                        style={{\n                            ...style,\n                            top: -1 * VERTICAL_SHIFT_PX * verticalIndex,\n                        }}\n                        theme={MapPinThemeEnum.charcoal}\n                        {...restProps}\n                    />\n                );\n            })}\n        </div>\n    );\n});\n\nexport default MapStackClusterPin;\n","import requestStatus from 'common/utils/request-status';\nimport {\n    ASSIGNMENT_REQUEST_BEGIN,\n    ASSIGNMENT_REQUEST_ERROR,\n    ASSIGNMENT_REQUEST_SUCCESS,\n    CHANGE_USER_SELECTION,\n    FIND_TRAILER_REQUEST_BEGIN,\n    FIND_TRAILER_REQUEST_ERROR,\n    FIND_TRAILER_REQUEST_SUCCESS,\n    FIND_TRUCK_REQUEST_BEGIN,\n    FIND_TRUCK_REQUEST_ERROR,\n    FIND_TRUCK_REQUEST_SUCCESS,\n    SpotAssetsAssignmentActionT,\n    SpotAssetsAssignmentStateT,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport { getAssignmentVehicleLinks, getTrailerById, getTruckById } from './assignment';\n\nconst initialUserSelectionValues: SpotAssetsAssignmentStateT['userSelection'] = {\n    truckId: null,\n    trailerId: null,\n};\n\nconst initialState: SpotAssetsAssignmentStateT = {\n    userSelection: initialUserSelectionValues,\n    trailerById: {},\n    truckById: {},\n    truckSuggest: {\n        query: null,\n        requestStatus: requestStatus.initial,\n        ids: [],\n    },\n    trailerSuggest: {\n        query: null,\n        requestStatus: requestStatus.initial,\n        ids: [],\n    },\n    links: {\n        byTruckId: {},\n        byTrailerId: {},\n    },\n    assigmentStatus: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: SpotAssetsAssignmentActionT | DestroySessionActionT,\n): SpotAssetsAssignmentStateT => {\n    switch (action.type) {\n        case CHANGE_USER_SELECTION: {\n            const { changes } = action;\n            const { userSelection: prevUserSelection } = state;\n\n            const newUserSelection = {\n                ...prevUserSelection,\n                ...changes,\n            };\n\n            const isPrevSelectedLink =\n                state.links.byTruckId[prevUserSelection.truckId as string] &&\n                state.links.byTrailerId[prevUserSelection.trailerId as string];\n            if (isPrevSelectedLink && 'trailerId' in changes && !('truckId' in changes)) {\n                newUserSelection.truckId = null;\n            }\n\n            if (isPrevSelectedLink && !('trailerId' in changes) && 'truckId' in changes) {\n                newUserSelection.trailerId = null;\n            }\n\n            return {\n                ...state,\n                userSelection: newUserSelection,\n            };\n        }\n\n        case FIND_TRAILER_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                trailerSuggest: {\n                    ...state.trailerSuggest,\n                    query,\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FIND_TRAILER_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(state.trailerSuggest.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                trailerSuggest: {\n                    ...state.trailerSuggest,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FIND_TRAILER_REQUEST_SUCCESS: {\n            const { trailersSuggestItems, query } = action;\n\n            if (!checkIsSameQuery(state.trailerSuggest.query, query)) {\n                return state;\n            }\n\n            const ids = trailersSuggestItems.reduce((result, trailersSuggestItem) => {\n                const trailerId = trailersSuggestItem.trailer?.id;\n                if (trailerId) {\n                    result.push(trailerId);\n                }\n\n                return result;\n            }, [] as TrailerIdT[]);\n\n            const trailerById = getTrailerById(trailersSuggestItems);\n            const truckById = getTruckById(trailersSuggestItems);\n            const links = getAssignmentVehicleLinks(trailersSuggestItems);\n\n            return {\n                ...state,\n                links: {\n                    byTruckId: {\n                        ...state.links.byTruckId,\n                        ...links.byTruckId,\n                    },\n                    byTrailerId: {\n                        ...state.links.byTrailerId,\n                        ...links.byTrailerId,\n                    },\n                },\n                trailerById: {\n                    ...state.trailerById,\n                    ...trailerById,\n                },\n                truckById: {\n                    ...state.truckById,\n                    ...truckById,\n                },\n                trailerSuggest: {\n                    ...state.trailerSuggest,\n                    requestStatus: requestStatus.ok,\n                    ids,\n                },\n            };\n        }\n\n        case FIND_TRUCK_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                truckSuggest: {\n                    ...state.truckSuggest,\n                    query,\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FIND_TRUCK_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(state.truckSuggest.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                truckSuggest: {\n                    ...state.truckSuggest,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FIND_TRUCK_REQUEST_SUCCESS: {\n            const { trucksSuggestItems, query } = action;\n\n            if (!checkIsSameQuery(state.truckSuggest.query, query)) {\n                return state;\n            }\n\n            const ids = trucksSuggestItems.reduce((result, trucksSuggestItem) => {\n                const truckId = trucksSuggestItem.truck?.id;\n                if (truckId) {\n                    result.push(truckId);\n                }\n\n                return result;\n            }, [] as TruckIdT[]);\n\n            const trailerById = getTrailerById(trucksSuggestItems);\n            const truckById = getTruckById(trucksSuggestItems);\n            const links = getAssignmentVehicleLinks(trucksSuggestItems);\n\n            return {\n                ...state,\n                links: {\n                    byTruckId: {\n                        ...state.links.byTruckId,\n                        ...links.byTruckId,\n                    },\n                    byTrailerId: {\n                        ...state.links.byTrailerId,\n                        ...links.byTrailerId,\n                    },\n                },\n                trailerById: {\n                    ...state.trailerById,\n                    ...trailerById,\n                },\n                truckById: {\n                    ...state.truckById,\n                    ...truckById,\n                },\n                truckSuggest: {\n                    ...state.truckSuggest,\n                    requestStatus: requestStatus.ok,\n                    ids,\n                },\n            };\n        }\n\n        case ASSIGNMENT_REQUEST_BEGIN: {\n            return {\n                ...state,\n                assigmentStatus: requestStatus.loading,\n            };\n        }\n\n        case ASSIGNMENT_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                assigmentStatus: requestStatus.ok,\n            };\n        }\n\n        case ASSIGNMENT_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                assigmentStatus: requestStatus.setError(error),\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","export enum FieldsEnum {\n    reason = 'reason',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.reason]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { DoneStatisticT, FetchStatisticsQueryT, RejectStatisticT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const FETCH_STATISTICS_REQUEST = 'broker-admin/statistics/FETCH_STATISTICS_REQUEST';\nexport const FETCH_STATISTICS_REQUEST_BEGIN = 'broker-admin/statistics/FETCH_STATISTICS_REQUEST_BEGIN';\nexport const FETCH_DONE_STATISTICS_REQUEST_BEGIN = 'broker-admin/statistics/FETCH_DONE_STATISTICS_REQUEST_BEGIN';\nexport const FETCH_DONE_STATISTICS_REQUEST_ERROR = 'broker-admin/statistics/FETCH_DONE_STATISTICS_REQUEST_ERROR';\nexport const FETCH_DONE_STATISTICS_REQUEST_SUCCESS = 'broker-admin/statistics/FETCH_DONE_STATISTICS_REQUEST_SUCCESS';\nexport const FETCH_REJECT_STATISTICS_REQUEST_BEGIN = 'broker-admin/statistics/FETCH_REJECT_STATISTICS_REQUEST_BEGIN';\nexport const FETCH_REJECT_STATISTICS_REQUEST_ERROR = 'broker-admin/statistics/FETCH_REJECT_STATISTICS_REQUEST_ERROR';\nexport const FETCH_REJECT_STATISTICS_REQUEST_SUCCESS =\n    'broker-admin/statistics/FETCH_REJECT_STATISTICS_REQUEST_SUCCESS';\n\nexport type StatisticsStateT = {\n    fetchQuery: FetchStatisticsQueryT | null;\n    rejectData: RejectStatisticT | null;\n    rejectRequestStatus: RequestStatusT;\n    doneData: DoneStatisticT | null;\n    doneRequestStatus: RequestStatusT;\n};\n\nexport type FetchStatisticsRequestActionT = {\n    type: typeof FETCH_STATISTICS_REQUEST;\n    query: FetchStatisticsQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchStatisticsRequestBeginActionT = {\n    type: typeof FETCH_STATISTICS_REQUEST_BEGIN;\n    query: FetchStatisticsQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchDoneStatisticsRequestBeginActionT = {\n    type: typeof FETCH_DONE_STATISTICS_REQUEST_BEGIN;\n    query: FetchStatisticsQueryT;\n};\n\nexport type FetchDoneStatisticsRequestErrorActionT = {\n    type: typeof FETCH_DONE_STATISTICS_REQUEST_ERROR;\n    query: FetchStatisticsQueryT;\n    error: Error;\n};\n\nexport type FetchDoneStatisticsRequestSuccessActionT = {\n    type: typeof FETCH_DONE_STATISTICS_REQUEST_SUCCESS;\n    query: FetchStatisticsQueryT;\n    statistic: DoneStatisticT | null;\n};\n\nexport type FetchRejectStatisticsRequestBeginActionT = {\n    type: typeof FETCH_REJECT_STATISTICS_REQUEST_BEGIN;\n    query: FetchStatisticsQueryT;\n};\n\nexport type FetchRejectStatisticsRequestErrorActionT = {\n    type: typeof FETCH_REJECT_STATISTICS_REQUEST_ERROR;\n    query: FetchStatisticsQueryT;\n    error: Error;\n};\n\nexport type FetchRejectStatisticsRequestSuccessActionT = {\n    type: typeof FETCH_REJECT_STATISTICS_REQUEST_SUCCESS;\n    query: FetchStatisticsQueryT;\n    statistic: RejectStatisticT | null;\n};\n\nexport type StatisticsActionT =\n    | FetchStatisticsRequestActionT\n    | FetchStatisticsRequestBeginActionT\n    | FetchDoneStatisticsRequestBeginActionT\n    | FetchDoneStatisticsRequestErrorActionT\n    | FetchDoneStatisticsRequestSuccessActionT\n    | FetchRejectStatisticsRequestBeginActionT\n    | FetchRejectStatisticsRequestErrorActionT\n    | FetchRejectStatisticsRequestSuccessActionT;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './StatusCell.scss';\nimport { ApiTruckT } from 'common/store/trucks/models';\nimport TruckStatusPill from 'common/components/status-pill/TruckStatusPill/TruckStatusPill';\n\ntype PropsT = {\n    truck: ApiTruckT;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst StatusCell: React.FC<PropsT> = React.memo((props) => {\n    const { truck, className } = props;\n\n    return (\n        <div className={cx('status')}>\n            <TruckStatusPill isSymmetrical className={className} status={truck?.status} />\n        </div>\n    );\n});\n\nexport default StatusCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"textarea\":\"RevokeShipperContractConfirmation__textarea___p9d6p\",\"fadeIn\":\"RevokeShipperContractConfirmation__fadeIn___rjDkg\",\"blinking\":\"RevokeShipperContractConfirmation__blinking___whnga\"};","import { SharableStateT } from '../models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { TrailersDictT } from './models';\nimport { TrailerTypeEnum } from '../../constants';\nimport flatten from 'lodash/flatten';\nimport keyBy from 'lodash/keyBy';\nimport { ApiTrailerDictTypeT } from 'common/utils/api/models';\nimport { createSelector } from 'reselect';\n\nexport const selectTrailersDict = (state: SharableStateT): TrailersDictT | null => state.trailersDict.trailersDict;\n\nexport const selectTrailersDictRequest = (state: SharableStateT): RequestStatusT =>\n    state.trailersDict.trailersDictRequest;\n\nexport const selectAllTrailersTypes = createSelector(selectTrailersDict, (trailersDict): Array<TrailerTypeEnum> => {\n    return Object.keys(trailersDict || {}) as Array<TrailerTypeEnum>;\n});\n\nexport const selectTrailersDictList = createSelector(selectTrailersDict, (trailersDict): Array<ApiTrailerDictTypeT> => {\n    return flatten(Object.values(trailersDict || {}));\n});\n\nexport const selectTrailerDictTypeIds = createSelector(\n    selectTrailersDictList,\n    (trailersDictList): Array<TrailerDictIdT> => {\n        return trailersDictList.map((trailerType) => String(trailerType?.id));\n    },\n);\n\nexport const selectTrailersDictById = createSelector(\n    selectTrailersDictList,\n    (trailersDictList): Record<string, ApiTrailerDictTypeT> => {\n        return keyBy(trailersDictList, 'id');\n    },\n);\n","import { FieldsEnum, FormValuesT } from './constants';\n\nexport type FormDataT = {\n    reason: string;\n};\n\nconst prepareData = (formValues: FormValuesT): FormDataT => {\n    return {\n        reason: formValues[FieldsEnum.reason] || '',\n    };\n};\n\nexport { prepareData };\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxLength, checkMinLength, checkNotEmpty, checkPhoneNumber } from 'common/utils/form-validators';\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, [FieldsEnum.firstName, FieldsEnum.lastName], values),\n        ...checkMinLength(t, [FieldsEnum.firstName, FieldsEnum.lastName], values, 2),\n        ...checkMaxLength(t, [FieldsEnum.firstName, FieldsEnum.lastName], values, 255),\n        ...checkPhoneNumber(t, [FieldsEnum.phoneNumber], values),\n    };\n\n    if (!values[FieldsEnum.currentPassword] && !!values[FieldsEnum.newPassword]) {\n        errors = {\n            ...errors,\n            [FieldsEnum.currentPassword]: t('common:form-errors.required'),\n        };\n    }\n\n    if (values[FieldsEnum.currentPassword]) {\n        errors = {\n            ...errors,\n            ...checkMinLength(t, [FieldsEnum.currentPassword], values, 6),\n            ...checkMaxLength(t, [FieldsEnum.currentPassword], values, 255),\n        };\n    }\n\n    if (values[FieldsEnum.newPassword]) {\n        errors = {\n            ...errors,\n            ...checkMinLength(t, [FieldsEnum.newPassword], values, 6),\n            ...checkMaxLength(t, [FieldsEnum.newPassword], values, 255),\n        };\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { getDateFromDate } from 'common/utils/time';\nimport { PreviewCurrentRuleT, RulePreviewRequestT } from 'broker-admin/store/price-settings/rules/models';\nimport { PriceRuleTypeEnum } from 'common/utils/api/models';\n\nconst prepareApiRulePreview = (\n    ruleId: RuleIdT | null,\n    previewCurrentRule: PreviewCurrentRuleT | null,\n    formValues: FormValuesT,\n): RulePreviewRequestT | null => {\n    const ruleType = formValues[FieldsEnum.ruleType];\n    const countryFrom = formValues[FieldsEnum.countryFrom];\n    const countryTo = formValues[FieldsEnum.countryTo];\n    const dictTrailerId = formValues[FieldsEnum.dictTrailerId];\n    if (!ruleType || !countryFrom || !countryTo || !dictTrailerId) {\n        return null;\n    }\n\n    const date = formValues[FieldsEnum.date];\n    const formattedDate = date ? `${getDateFromDate(date)}T12:00:00.000Z` : null;\n    if (!formattedDate) {\n        return null;\n    }\n\n    if (ruleType === PriceRuleTypeEnum.custom) {\n        return null;\n    }\n\n    let companyId: RulePreviewRequestT['companyId'];\n    if (ruleType === PriceRuleTypeEnum.carrier) {\n        companyId = formValues[FieldsEnum.carrierId] || undefined;\n    }\n    if (ruleType === PriceRuleTypeEnum.shipper) {\n        companyId = formValues[FieldsEnum.shipperId] || undefined;\n    }\n\n    return {\n        companyId,\n        countryFrom,\n        countryTo,\n        pickUpDate: formattedDate,\n        ruleType,\n        trailerTypeId: +dictTrailerId,\n        currentRule: previewCurrentRule\n            ? {\n                  id: ruleId ? +ruleId : undefined,\n                  ...previewCurrentRule,\n              }\n            : undefined,\n    };\n};\n\nexport default prepareApiRulePreview;\n","import {\n    DOCUMENTS_DICT_REQUEST_BEGIN,\n    DOCUMENTS_DICT_REQUEST_ERROR,\n    DOCUMENTS_DICT_REQUEST_SUCCESS,\n    DocumentsDictActionT,\n    DocumentsDictStateT,\n    PartnerTypeDocumentsStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { isNonNil } from 'common/utils';\nimport keyBy from 'lodash/keyBy';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialPartnerTypeDocumentsState: PartnerTypeDocumentsStateT = {\n    ids: [],\n    byId: {},\n    byType: {},\n    fetchRequest: requestStatus.initial,\n};\n\nconst initialState: DocumentsDictStateT = {};\n\nexport default (state = initialState, action: DocumentsDictActionT | DestroySessionActionT): DocumentsDictStateT => {\n    switch (action.type) {\n        case DOCUMENTS_DICT_REQUEST_BEGIN: {\n            const { partnerType } = action;\n\n            const currentPartnerTypeState = state[partnerType] || initialPartnerTypeDocumentsState;\n\n            return {\n                ...state,\n                [partnerType]: {\n                    ...currentPartnerTypeState,\n                    fetchRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case DOCUMENTS_DICT_REQUEST_SUCCESS: {\n            const { partnerType, documentsList } = action;\n\n            const currentPartnerTypeState = state[partnerType] || initialPartnerTypeDocumentsState;\n\n            const ids = documentsList.map((document) => document?.id).filter(isNonNil);\n            const byId = keyBy(documentsList, 'id');\n            const byType = keyBy(documentsList, 'type');\n\n            return {\n                ...state,\n                [partnerType]: {\n                    ...currentPartnerTypeState,\n                    ids,\n                    byId,\n                    byType,\n                    fetchRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DOCUMENTS_DICT_REQUEST_ERROR: {\n            const { error, partnerType } = action;\n\n            const currentPartnerTypeState = state[partnerType] || initialPartnerTypeDocumentsState;\n\n            return {\n                ...state,\n                [partnerType]: {\n                    ...currentPartnerTypeState,\n                    fetchRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import { useSelector } from 'react-redux';\nimport { selectLegalFormsDictById } from 'common/store/legal-forms-dict/selectors';\nimport * as React from 'react';\nimport isNumber from 'lodash/isNumber';\nimport isEmpty from 'lodash/isEmpty';\nimport { CountryCodeT } from 'common/utils/api/models';\n\ntype SelectedValuesT = {\n    selectedLegalFormId: LegalFormIdT | null;\n    selectedCountry: CountryCodeT | null;\n};\n\ntype ResetCallbackT = () => void;\n\nconst useCheckCountryCorrectLegacyForm = (values: SelectedValuesT, resetCallback: ResetCallbackT) => {\n    const { selectedCountry, selectedLegalFormId } = values;\n\n    const legacyFormById = useSelector(selectLegalFormsDictById(selectedCountry));\n    React.useEffect(() => {\n        if (!isNumber(selectedLegalFormId)) {\n            return;\n        }\n\n        if (isEmpty(legacyFormById)) {\n            return;\n        }\n\n        const hasLegacyForm = legacyFormById[selectedLegalFormId];\n        if (!hasLegacyForm) {\n            resetCallback();\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [legacyFormById]);\n};\n\nexport { useCheckCountryCorrectLegacyForm };\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractLaneCreationMap.scss';\nimport GoogleMapReact, { ClickEventValue } from 'google-map-react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport DestinationPinIcon from 'common/icons/DestinationPinIcon';\nimport OriginPinIcon from 'common/icons/OriginPinIcon';\nimport GoogleMapContext, { GoogleMapContextT } from 'common/contexts/google-map-context';\nimport Estimate from './Estimate/Estimate';\nimport { logWarning } from 'common/utils/logger';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport { GoogleMapsGeocoderApi } from 'common/utils/google-maps-api/google-maps-geocoder-api';\nimport { GoogleMapsPlacesApi } from 'common/utils/google-maps-api/google-maps-places-api';\nimport { getGeoCodingLocation } from 'common/utils/google-places';\nimport MapFooter from 'common/components/maps/MapFooter/MapFooter';\nimport {\n    selectAveragePriceOffer,\n    selectFetchRouteRequest,\n    selectMapSettings,\n    selectPolylines,\n    selectShipperLaneDestination,\n    selectShipperLaneOrigin,\n} from 'common/store/shipper-contract-lane-creation/selectors';\nimport { setDestinationLocation, setOriginLocation } from 'common/store/shipper-contract-lane-creation/slice';\nimport MapArea, { MapAreaThemeEnum } from 'common/components/maps/MapArea/MapArea';\nimport { M_IN_KM } from 'common/utils/distance';\nimport { useTranslation } from 'react-i18next';\nimport MapLoader from 'common/components/maps/MapLoader/MapLoader';\nimport MapZoom from 'common/components/maps/MapZoom/MapZoom';\nimport MapCenter from 'common/components/maps/MapCenter/MapCenter';\nimport MapBound from 'common/components/maps/MapBound/MapBound';\nimport { SyncShipperContractLaneCreationFormMapStateContext } from '../contexts/sync-map-state';\n\nconst cx = classNames.bind(styles);\n\nconst MAP_PIN_KEYS = {\n    origin: 'origin',\n    destination: 'destination',\n};\n\ntype PropsT = {\n    isDisabledDraggable?: boolean;\n    isAllowShowLoaders?: boolean;\n};\n\nconst geocodeByPoint = async (\n    googleMapContext: GoogleMapContextT | null,\n    point: GeoPointT,\n): Promise<LocationT | null> => {\n    const geocoderApi = new GoogleMapsGeocoderApi(googleMapContext?.googleMaps?.maps);\n    const geocodeResult = await geocoderApi.geocode(point);\n    if (!geocodeResult?.place_id) {\n        return null;\n    }\n\n    const placesApi = new GoogleMapsPlacesApi(googleMapContext?.googleMaps?.map, googleMapContext?.googleMaps?.maps);\n    const result = await placesApi.getPlaceDetails(geocodeResult?.place_id);\n    if (!result) {\n        return null;\n    }\n\n    const location = getGeoCodingLocation(result);\n    return location || null;\n};\n\nconst ShipperContractLaneCreationMap: React.FC<PropsT> = React.memo((props) => {\n    const { isDisabledDraggable, isAllowShowLoaders } = props;\n\n    const mapSettings = useSelector(selectMapSettings);\n    const dispatch = useDispatch();\n\n    const syncFormMapStateContext = React.useContext(SyncShipperContractLaneCreationFormMapStateContext);\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const { t } = useTranslation();\n\n    const fetchRouteRequest = useSelector(selectFetchRouteRequest);\n    const averagePriceOffer = useSelector(selectAveragePriceOffer);\n    const isShowEstimate = !!averagePriceOffer;\n\n    const polylines = useSelector(selectPolylines);\n\n    const draggablePinRef = React.useRef<string | null>(null);\n    const [activeLocation, setActiveLocation] = React.useState<LocationT | null>(null);\n\n    const destination = useSelector(selectShipperLaneDestination);\n    const origin = useSelector(selectShipperLaneOrigin);\n\n    const [draggable, setDraggable] = React.useState(true);\n\n    const handleDragMove = (childKey: string, childProps: any, mouse: GeoPointT) => {\n        if (isDisabledDraggable) {\n            return;\n        }\n\n        if (draggable) {\n            setDraggable(false);\n        }\n\n        draggablePinRef.current = childKey;\n        setActiveLocation({\n            point: {\n                lat: mouse.lat,\n                lng: mouse.lng,\n            },\n            address: null,\n            addressComponents: null,\n            utcOffsetMinutes: null,\n        });\n    };\n\n    const dispatchChangeOriginLocation = (location: LocationT | null) => {\n        dispatch(setOriginLocation({ location }));\n    };\n\n    const dispatchChangeDestinationLocation = (location: LocationT | null) => {\n        dispatch(setDestinationLocation({ location }));\n    };\n\n    const handleDragEnd = async (childKey: string, childProps: any, mouse: GeoPointT) => {\n        if (!draggablePinRef.current) {\n            return;\n        }\n\n        setDraggable(true);\n\n        const location = await geocodeByPoint(googleMapContext, mouse);\n        if (!location) {\n            setActiveLocation({\n                point: {\n                    lat: mouse.lat,\n                    lng: mouse.lng,\n                },\n                address: null,\n                addressComponents: null,\n                utcOffsetMinutes: null,\n            });\n\n            logWarning('empty location, failed geocodeByPoint', mouse);\n            return;\n        }\n\n        if (draggablePinRef.current === MAP_PIN_KEYS.destination) {\n            dispatchChangeDestinationLocation(location);\n        }\n\n        if (draggablePinRef.current === MAP_PIN_KEYS.origin) {\n            dispatchChangeOriginLocation(location);\n        }\n    };\n\n    const handleMapClick = async (event: ClickEventValue) => {\n        if (isDisabledDraggable) {\n            return;\n        }\n\n        if (origin.location && destination?.location) {\n            return;\n        }\n\n        const location = await geocodeByPoint(googleMapContext, event);\n        if (!origin.location) {\n            dispatchChangeOriginLocation(location);\n        } else {\n            dispatchChangeDestinationLocation(location);\n        }\n    };\n\n    const apiIsLoaded: OnGoogleApiLoadedT = (api) => {\n        const { map, maps } = api;\n\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const destinationLatLngProps = useMemo(() => {\n        let latLngProps: GeoPointT | null = null;\n\n        if (draggablePinRef.current === MAP_PIN_KEYS.destination) {\n            if (!activeLocation?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: activeLocation.point.lat,\n                lng: activeLocation.point.lng,\n            };\n        } else {\n            if (!destination?.location?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: destination.location.point.lat,\n                lng: destination.location.point.lng,\n            };\n        }\n\n        return latLngProps;\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [draggablePinRef.current, activeLocation, destination]);\n\n    const originLatLngProps = useMemo(() => {\n        let latLngProps: GeoPointT | null = null;\n\n        if (draggablePinRef.current === MAP_PIN_KEYS.origin) {\n            if (!activeLocation?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: activeLocation.point.lat,\n                lng: activeLocation.point.lng,\n            };\n        } else {\n            if (!origin?.location?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: origin.location.point.lat,\n                lng: origin.location.point.lng,\n            };\n        }\n\n        return latLngProps;\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [draggablePinRef.current, activeLocation, origin]);\n\n    return (\n        <div className={cx('map')}>\n            <GoogleMapReact\n                draggable={draggable}\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                onClick={handleMapClick}\n                options={MAP_OPTIONS}\n                onChildMouseDown={handleDragMove}\n                onChildMouseUp={handleDragEnd}\n                onChildMouseMove={handleDragMove}\n                onGoogleApiLoaded={apiIsLoaded}\n            >\n                {destinationLatLngProps && (\n                    <DestinationPinIcon\n                        key={MAP_PIN_KEYS.destination}\n                        className={cx('marker')}\n                        {...destinationLatLngProps}\n                        isWrong={syncFormMapStateContext.hasDropOffLocationError}\n                    />\n                )}\n\n                {originLatLngProps && (\n                    <OriginPinIcon\n                        key={MAP_PIN_KEYS.origin}\n                        className={cx('marker')}\n                        {...originLatLngProps}\n                        isWrong={syncFormMapStateContext.hasPickUpLocationError}\n                    />\n                )}\n            </GoogleMapReact>\n            <MapZoom\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                zoom={mapSettings?.zoom}\n            />\n            <MapCenter\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                center={mapSettings?.center}\n            />\n            <MapBound\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                boundingBox={mapSettings?.boundingBox}\n            />\n            {isAllowShowLoaders && fetchRouteRequest.loading && <MapLoader>{t('common:maps.loading')}</MapLoader>}\n            {polylines && (\n                <MapRoute\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext.googleMaps?.libraries?.geometry}\n                    theme={MapRouteThemeEnum.laneCreation}\n                    polylines={polylines}\n                />\n            )}\n            {!!destination?.radiusKm && destinationLatLngProps && (\n                <MapArea\n                    key={`${MAP_PIN_KEYS.destination}-area`}\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    theme={MapAreaThemeEnum.destinationArea}\n                    centerLat={destinationLatLngProps.lat}\n                    centerLon={destinationLatLngProps.lng}\n                    radiusM={destination.radiusKm * M_IN_KM}\n                />\n            )}\n            {!!origin?.radiusKm && originLatLngProps && (\n                <MapArea\n                    key={`${MAP_PIN_KEYS.origin}-area`}\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    theme={MapAreaThemeEnum.originArea}\n                    centerLat={originLatLngProps.lat}\n                    centerLon={originLatLngProps.lng}\n                    radiusM={origin.radiusKm * M_IN_KM}\n                />\n            )}\n            {isShowEstimate && (\n                <MapFooter>\n                    <Estimate className={cx('estimate')} />\n                </MapFooter>\n            )}\n        </div>\n    );\n});\n\nexport default ShipperContractLaneCreationMap;\n","// extracted by mini-css-extract-plugin\nexport default {\"target\":\"PriceRuleTargetLabel__target___L1Tvr\",\"fadeIn\":\"PriceRuleTargetLabel__fadeIn___H8rCb\",\"blinking\":\"PriceRuleTargetLabel__blinking___hr8vh\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TransportOrderStatusPill.scss';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { TransportOrderStatusEnum, ApiTransportOrderStatusT } from 'common/utils/api/models';\nimport TransportOrderStatus from 'common/components/status/TransportOrderStatus/TransportOrderStatus';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    status?: ApiTransportOrderStatusT;\n    isArchived?: boolean;\n    isSpot?: boolean;\n    isSymmetrical?: boolean;\n};\n\nconst PILL_THEME_BY_STATUS: Record<ApiTransportOrderStatusT, PillLabelThemeEnum> = {\n    [TransportOrderStatusEnum.assetsUnassigned]: colorCodingPillLabelTheme.attention,\n    [TransportOrderStatusEnum.driverUnassigned]: colorCodingPillLabelTheme.attention,\n    [TransportOrderStatusEnum.assigned]: colorCodingPillLabelTheme.normal,\n    [TransportOrderStatusEnum.inTransit]: colorCodingPillLabelTheme.normal,\n    [TransportOrderStatusEnum.done]: colorCodingPillLabelTheme.success,\n    [TransportOrderStatusEnum.canceled]: colorCodingPillLabelTheme.attention,\n    [TransportOrderStatusEnum.declined]: colorCodingPillLabelTheme.normal,\n    [TransportOrderStatusEnum.unknown]: colorCodingPillLabelTheme.notImportant,\n};\n\nconst TransportOrderStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, isArchived, isSpot, isSymmetrical } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return (\n        <>\n            {isSpot && (\n                <PillLabel\n                    isNoWrap\n                    isSymmetrical={isSymmetrical}\n                    className={cx('pill', 'pill--is-spot')}\n                    theme={PillLabelThemeEnum.grey}\n                >\n                    {t('common:transport-order-spot')}{' '}\n                </PillLabel>\n            )}\n            <PillLabel isNoWrap isSymmetrical={isSymmetrical} theme={PILL_THEME_BY_STATUS[status]}>\n                <TransportOrderStatus status={status} />\n            </PillLabel>\n            {isArchived && (\n                <PillLabel\n                    isNoWrap\n                    isSymmetrical={isSymmetrical}\n                    className={cx('pill', 'pill--is-archive')}\n                    theme={PillLabelThemeEnum.grey}\n                >\n                    {t('common:transport-order-archived')}{' '}\n                </PillLabel>\n            )}\n        </>\n    );\n});\n\nexport default TransportOrderStatusPill;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport { isNonNil } from 'common/utils';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport { ApiDistancePartT } from 'broker-admin/store/broker-order-assigment/models';\nimport isNumber from 'lodash/isNumber';\nimport { convertToKm } from 'common/utils/distance';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport AsyncCountryFormatter from 'design-system/components/InfoTable/formatters/AsyncCountryFormatter/AsyncCountryFormatter';\n\ntype PropsT = {\n    className?: string;\n    totalDistance: number | null;\n    deadheadDistance: ApiDistancePartT | null;\n    payloadDistance: ApiDistancePartT | null;\n    // TODO check need delete?\n    isNotActual?: boolean;\n};\n\nconst MileageInfoTable: React.FC<PropsT> = React.memo((props) => {\n    const { className, totalDistance, deadheadDistance, payloadDistance } = props;\n\n    const { t } = useTranslation();\n\n    const getDistancePartRows = (distancePart: ApiDistancePartT | null | undefined): Array<InfoTableRowT | null> => {\n        if (!distancePart) {\n            return [];\n        }\n\n        return (\n            distancePart?.byCountry?.map(({ country: countryCode, distance }) => {\n                return {\n                    icon: <FlagIcon countryCode={countryCode} />,\n                    name: !countryCode ? (\n                        t('common:tolls.unspecified')\n                    ) : (\n                        <AsyncCountryFormatter countryCode={countryCode} />\n                    ),\n                    isBoldValue: true,\n                    value: <UnitTypeCount type={UnitTypeEnum.kilometersAbbreviation} count={convertToKm(distance)} />,\n                };\n            }) || []\n        );\n    };\n\n    const rows: Array<InfoTableRowT | null> = [\n        isNumber(totalDistance)\n            ? {\n                  icon: <RouteIcon fillColor={StyleGuideColorsEnum.gray} />,\n                  isInitOpenRows: true,\n                  name: t('assignment.receipt.total-mileage'),\n                  value: (\n                      <UnitTypeCount type={UnitTypeEnum.kilometersAbbreviation} count={convertToKm(totalDistance)} />\n                  ),\n                  isBoldValue: true,\n                  rows: [\n                      isNumber(payloadDistance?.totalDistance)\n                          ? {\n                                icon: null,\n\n                                name: t('assignment.receipt.payload-mileage'),\n                                value: (\n                                    <UnitTypeCount\n                                        type={UnitTypeEnum.kilometersAbbreviation}\n                                        count={convertToKm(payloadDistance?.totalDistance)}\n                                    />\n                                ),\n                                isBoldValue: true,\n                                rows: getDistancePartRows(payloadDistance),\n                            }\n                          : null,\n                      isNumber(deadheadDistance?.totalDistance)\n                          ? {\n                                icon: null,\n                                name: t('assignment.receipt.deadhead-mileage'),\n                                value: (\n                                    <UnitTypeCount\n                                        type={UnitTypeEnum.kilometersAbbreviation}\n                                        count={convertToKm(deadheadDistance?.totalDistance)}\n                                    />\n                                ),\n                                isBoldValue: true,\n                                rows: getDistancePartRows(deadheadDistance),\n                            }\n                          : null,\n                  ],\n              }\n            : null,\n    ].filter(isNonNil);\n\n    return <InfoTable className={className} shouldRenderIcons rows={rows} />;\n});\n\nexport default MileageInfoTable;\n","import { FormValuesT } from '../constants';\nimport { createSyncFormValuesContext } from 'common/contexts/sync-form-values';\n\nexport const SyncShipmentDetailsFormValuesContext = createSyncFormValuesContext<FormValuesT>();\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"PartnerDocumentsPage__wrap___mBYxc\",\"document-table-wrap\":\"PartnerDocumentsPage__document-table-wrap___QhBFY\",\"fadeIn\":\"PartnerDocumentsPage__fadeIn___Rg06i\",\"blinking\":\"PartnerDocumentsPage__blinking___hqIdd\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TrailersTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT, TableRowModsEnum } from 'common/components/Table/Table';\nimport { ApiTrailerT } from 'common/store/trailers/models';\nimport StatusCell from './cell-renderers/StatusCell/StatusCell';\nimport TypeCell from './cell-renderers/TypeCell/TypeCell';\nimport PlateNumberCell from 'common/components/Table/cell-renderers/PlateNumberCell/PlateNumberCell';\nimport CheckboxCell from 'common/components/Table/cell-renderers/CheckboxCell/CheckboxCell';\nimport CheckboxHeader from 'common/components/Table/header-renderers/CheckboxHeader/CheckboxHeader';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport FlagCell from 'common/components/Table/cell-renderers/FlagCell/FlagCell';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\nimport { TabEnum } from '../constants';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport TelematicUpdateDateCell from 'common/components/Table/cell-renderers/TelematicUpdateDateCell/TelematicUpdateDateCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    trailers: Array<ApiTrailerT>;\n    className?: string;\n    selectedTrailersSet: Set<ApiTrailerT>;\n    onSelectTrailers: (selectedTrailerIds: Set<ApiTrailerT>) => void;\n    onSelectRow: (event: React.MouseEvent, trailer: ApiTrailerT) => void;\n    isLoading: boolean;\n    allowedCheckboxes: boolean;\n    onOpenUserDetails: (userId: UserIdT | null) => void;\n    activeTab: TabEnum;\n};\n\nconst TrailersTable: React.FC<PropsT> = React.memo((props) => {\n    const {\n        onOpenUserDetails,\n        trailers,\n        allowedCheckboxes,\n        className,\n        selectedTrailersSet,\n        onSelectTrailers,\n        isLoading,\n        onSelectRow,\n        activeTab,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<ApiTrailerT, void> | null> = [\n        allowedCheckboxes\n            ? {\n                  renderHeader: () => (\n                      <CheckboxHeader<ApiTrailerT>\n                          selectedRowsSet={selectedTrailersSet}\n                          rows={trailers}\n                          onChange={onSelectTrailers}\n                      />\n                  ),\n                  headerClassName: cx('table__header', 'table__header--checkbox'),\n                  render: (trailer: ApiTrailerT) => (\n                      <CheckboxCell<ApiTrailerT>\n                          row={trailer}\n                          selectedRowsSet={selectedTrailersSet}\n                          onChange={onSelectTrailers}\n                      />\n                  ),\n                  className: cx('table__column--checkbox'),\n              }\n            : null,\n        {\n            renderHeader: () => t('common:trailers-page.table.columns.plate-number'),\n            headerClassName: cx('table__header'),\n            render: (trailer: ApiTrailerT) => <PlateNumberCell plateNumber={trailer?.plateNumber} />,\n            className: cx('table__column', 'table__column--plate-number'),\n        },\n        {\n            renderHeader: () => t('common:trailers-page.table.columns.type'),\n            headerClassName: cx('table__header', 'table__header--type'),\n            render: (trailer: ApiTrailerT) => <TypeCell trailer={trailer} />,\n            className: cx('table__column', 'table__column--type'),\n        },\n        {\n            renderHeader: () => t('common:trailers-page.table.columns.added-date'),\n            headerClassName: cx('table__header'),\n            render: (trailer: ApiTrailerT) => (\n                <EventCell\n                    openUserDetails={onOpenUserDetails}\n                    userFullName={trailer.createdBy?.fullName}\n                    userId={trailer.createdBy?.id}\n                    byBroker={trailer.addedByBroker}\n                    date={trailer.createdDate}\n                />\n            ),\n            className: cx('table__column', 'table__column--created'),\n        },\n    ];\n\n    if (activeTab === TabEnum.active) {\n        columns.push({\n            renderHeader: () => t('common:trailers-page.table.columns.linked'),\n            headerClassName: cx('table__header', 'table__header--linked'),\n            render: (trailer: ApiTrailerT) => <FlagCell isShowFlag={!!trailer.linked} />,\n            className: cx('table__column', 'table__column--any'),\n        });\n\n        columns.push({\n            renderHeader: () => t('common:trailers-page.table.columns.dedicated'),\n            headerClassName: cx('table__header', 'table__header--dedicated'),\n            render: (trailer: ApiTrailerT) => <FlagCell isShowFlag={!!trailer.dedicated} />,\n            className: cx('table__column', 'table__column--any'),\n        });\n\n        columns.push({\n            renderHeader: () => (\n                <span>\n                    {t('common:trailers-page.table.columns.GPS')}\n                    <Tooltip\n                        position={TooltipPositionEnum.topCenter}\n                        theme={TooltipThemeEnum.black}\n                        isInline\n                        tooltipNode={\n                            <TooltipContent isCenter theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {t('common:trailers-page.table.tooltips.GPS')}\n                            </TooltipContent>\n                        }\n                    >\n                        {(isShow) => <TooltipIconTrigger isShow={isShow} />}\n                    </Tooltip>\n                </span>\n            ),\n            headerClassName: cx('table__header', 'table__header--gps'),\n            render: (trailer: ApiTrailerT) => (\n                <TelematicUpdateDateCell\n                    placeholder={t('common:trailers-page.GPS.empty-update-date')}\n                    telematicUpdatedDate={trailer.telematicUpdatedDate}\n                />\n            ),\n            className: cx('table__column', 'table__column--any'),\n        });\n\n        columns.push({\n            renderHeader: () => t('common:trailers-page.table.columns.status'),\n            headerClassName: cx('table__header'),\n            render: (trailer: ApiTrailerT) => <StatusCell trailer={trailer} />,\n            className: cx('table__column', 'table__column--status'),\n        });\n    }\n\n    if (activeTab === TabEnum.archive) {\n        columns.push({\n            renderHeader: () => t('common:trailers-page.table.columns.archived'),\n            headerClassName: cx('table__header'),\n            render: (trailer: ApiTrailerT) => (\n                <EventCell\n                    openUserDetails={onOpenUserDetails}\n                    userFullName={trailer.archivedBy?.fullName}\n                    userId={trailer.archivedBy?.id}\n                    byBroker={trailer.archivedByBroker}\n                    date={trailer.archivedDate}\n                />\n            ),\n            className: cx('table__column', 'table__column--any'),\n        });\n    }\n\n    const getRowMods = (meta: TableRowMetaT) => {\n        return {\n            [TableRowModsEnum.isSelected]: meta.isSelected,\n        };\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<ApiTrailerT> tableName=\"trailers\" isLoading={isLoading} rows={trailers}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<ApiTrailerT, void>\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        selectedRowsSet={selectedTrailersSet}\n                        getRowMods={getRowMods}\n                        isLoading={isLoading}\n                        onSelectRow={onSelectRow}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default TrailersTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"type\":\"PriceRuleTypeLabel__type___SHgu3\",\"fadeIn\":\"PriceRuleTypeLabel__fadeIn___K61RH\",\"blinking\":\"PriceRuleTypeLabel__blinking___XXcRI\"};","import * as React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './PickupPointPicker.scss';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { formatTimeInterval } from 'common/utils/time';\nimport { useFormikContext } from 'formik';\nimport { FieldsEnum, RouteFormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport { DeadheadContextRangeT, DeadheadRouteStopTypeEnum } from 'broker-admin/store/deadhead-creation/models';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport TruckPickUpIcon from 'common/icons/TruckPickUpIcon';\nimport LinkPickUpIcon from 'common/icons/LinkPickUpIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\n\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\ntype AssetLinkPropsT = {\n    linkedAsset: DeadheadContextRangeT['linkedAsset'];\n    onOpenTrailerDetails: (partnerId: PartnerIdT, trailerId: TrailerIdT) => void;\n    theme?: LinkThemeEnum;\n};\n\nconst AssetLink = (props: AssetLinkPropsT) => {\n    const { linkedAsset, onOpenTrailerDetails, theme } = props;\n\n    return (\n        <Link\n            theme={theme || LinkThemeEnum.boldBrandDark}\n            onClick={() => {\n                if (linkedAsset?.carrierId && linkedAsset?.id) {\n                    onOpenTrailerDetails(linkedAsset.carrierId, linkedAsset.id);\n                }\n            }}\n        >\n            {linkedAsset?.plateNumber || '-'}\n        </Link>\n    );\n};\n\nconst SHOW_TOOLTIP_DELAY_MS = 300;\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    currentRange: DeadheadContextRangeT | null;\n    onOpenTrailerDetails: (partnerId: PartnerIdT, trailerId: TrailerIdT) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst PickupPointPicker: React.FC<PropsT> = React.memo((props) => {\n    const { routePointIndex, currentRange, onOpenTrailerDetails } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<RouteFormValuesT>();\n\n    const typeFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.type}` as const;\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n\n    const type = getFieldFormValue(formik.values, typeFieldName);\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const timeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n\n    const linkedAsset = currentRange?.linkedAsset || null;\n\n    let iconNode: React.ReactNode = null;\n    if (location && type === DeadheadRouteStopTypeEnum.pickupTruck) {\n        iconNode = (\n            <TruckPickUpIcon\n                size={DEFAULT_ICON_SIZE}\n                fillColor={StyleGuideColorsEnum.brandAccent}\n                strokeColor={StyleGuideColorsEnum.brandDark}\n            />\n        );\n    }\n    if (!location && type === DeadheadRouteStopTypeEnum.pickupTruck) {\n        iconNode = (\n            <TruckPickUpIcon\n                size={DEFAULT_ICON_SIZE}\n                strokeColor={StyleGuideColorsEnum.gray}\n                fillColor={StyleGuideColorsEnum.light}\n            />\n        );\n    }\n    if (location && type === DeadheadRouteStopTypeEnum.pickupRoadTrain) {\n        iconNode = <LinkPickUpIcon strokeColor={StyleGuideColorsEnum.brandDark} />;\n    }\n    if (!location && type === DeadheadRouteStopTypeEnum.pickupRoadTrain) {\n        iconNode = <LinkPickUpIcon strokeColor={StyleGuideColorsEnum.gray} />;\n    }\n\n    return (\n        <ReadOnlyField\n            icon={iconNode}\n            label={t('deadhead-creation.route-form.fields.pickup-point.label')}\n            placeholder={t('deadhead-creation.route-form.fields.pickup-point.placeholder')}\n            subLabel={\n                <PillLabel className={cx('time-interval')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                    {formatTimeInterval(timeWindow?.start, timeWindow?.end)}\n                </PillLabel>\n            }\n            labelRightNode={\n                linkedAsset ? (\n                    <div className={cx('linked-asset')}>\n                        <Trans\n                            i18nKey=\"deadhead-creation.route-form.fields.pickup-point.linked-asset\"\n                            components={{\n                                plateNumber: (\n                                    <AssetLink\n                                        linkedAsset={linkedAsset}\n                                        onOpenTrailerDetails={onOpenTrailerDetails}\n                                        theme={LinkThemeEnum.boldCharcoal}\n                                    />\n                                ),\n                            }}\n                        />\n                        <Tooltip\n                            position={TooltipPositionEnum.centerLeft}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={\n                                <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                                    {t('deadhead-creation.route-form.fields.pickup-point.linked-asset-placeholder')}\n                                </TooltipContent>\n                            }\n                            delay={SHOW_TOOLTIP_DELAY_MS}\n                        >\n                            {(isShow) => <TooltipIconTrigger isShow={isShow} />}\n                        </Tooltip>\n                    </div>\n                ) : null\n            }\n            value={location?.address}\n        />\n    );\n});\n\nexport default PickupPointPicker;\n","import { TimeZonesStateT } from './slice';\nimport { SharableStateT } from '../models';\n\nexport const selectTimeZonesRequest = (state: SharableStateT): TimeZonesStateT['fetchRequest'] =>\n    state.timeZones.fetchRequest;\n\nexport const selectTimeZones = (state: SharableStateT): TimeZonesStateT['timeZones'] => state.timeZones.timeZones;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst PartnersIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, fillOpacity, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 18 18\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M.9.9h16.2v16.2H.9z\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity={fillOpacity || 1}\n                    d=\"M6.347 11.7c.061-.155.088-.263.614-.466A5.583 5.583 0 019 10.856c.695 0 1.384.122 2.038.378.52.203.547.31.615.466H6.347zM9 6.3c.371 0 .675.304.675.675A.677.677 0 019 7.65a.677.677 0 01-.675-.675c0-.371.304-.675.675-.675\"\n                    opacity=\"0.3\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M3.6 9.675c.742 0 1.35-.607 1.35-1.35 0-.742-.607-1.35-1.35-1.35-.743 0-1.35.607-1.35 1.35 0 .743.607 1.35 1.35 1.35zm.763.742c-.25-.04-.5-.067-.763-.067-.668 0-1.303.142-1.877.392A1.355 1.355 0 00.9 11.99v1.06h3.038v-1.087c0-.56.155-1.087.425-1.546zM14.4 9.676c.742 0 1.35-.607 1.35-1.35 0-.742-.607-1.35-1.35-1.35-.742 0-1.35.607-1.35 1.35 0 .743.607 1.35 1.35 1.35zm2.7 2.315c0-.546-.324-1.033-.823-1.248a4.692 4.692 0 00-1.877-.392c-.263 0-.513.027-.763.068.27.458.425.985.425 1.545v1.087H17.1v-1.06zm-5.238-1.876c-.79-.351-1.762-.608-2.862-.608s-2.072.264-2.862.608a2.017 2.017 0 00-1.188 1.85v1.086h8.1v-1.087a2.02 2.02 0 00-1.188-1.85zM6.347 11.7c.061-.155.088-.263.614-.466A5.583 5.583 0 019 10.856c.695 0 1.384.122 2.039.378.52.203.546.31.614.466H6.347zM9 6.3c.371 0 .675.304.675.675A.677.677 0 019 7.65a.677.677 0 01-.675-.675c0-.371.304-.675.675-.675m0-1.35c-1.12 0-2.025.905-2.025 2.025C6.975 8.095 7.879 9 9 9c1.12 0 2.025-.904 2.025-2.025 0-1.12-.905-2.025-2.025-2.025z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nPartnersIcon.displayName = 'PartnersIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default PartnersIcon;\n\nexport const PartnersIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.brandAccent5 : StyleGuideColorsEnum.light,\n            strokeColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.gray,\n        };\n    },\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"DropdownControlTriggerLabel__option___q7pTt\",\"option__icon\":\"DropdownControlTriggerLabel__option__icon___bPNPu\",\"option__label\":\"DropdownControlTriggerLabel__option__label___zIQnC\",\"fadeIn\":\"DropdownControlTriggerLabel__fadeIn___sbl1E\",\"blinking\":\"DropdownControlTriggerLabel__blinking___xYKIM\"};","import React from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport classNames from 'classnames/bind';\nimport styles from './PriceComponentTypeCustomMultipleDropdown.scss';\nimport { useTranslation } from 'react-i18next';\nimport { ApiPriceComponentTypeT, PriceComponentTypeEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UNIT } from 'common/constants';\nimport FuelIcon from 'common/icons/FuelIcon';\nimport TollIcon from 'common/icons/TollIcon';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = {\n    nestLevel: number;\n    value: ApiPriceComponentTypeT;\n    icon?: React.ReactNode;\n    label: React.ReactNode;\n};\n\ntype ValueT = OptionT['value'] | null;\n\nexport type PropsT = {\n    className?: string;\n    value: ValueT;\n    onSelect: (value: ValueT) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder?: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasChanges?: boolean;\n    availableValues?: Array<ValueT>;\n};\n\nconst TYPE_I18N_MAP: Record<ApiPriceComponentTypeT, string> = {\n    [PriceComponentTypeEnum.lineHaul]: 'price-settings.rules.form.fields.impact-price-components.options.line-haul',\n    [PriceComponentTypeEnum.fuel]: 'price-settings.rules.form.fields.impact-price-components.options.fuel',\n    [PriceComponentTypeEnum.roadTaxes]: 'price-settings.rules.form.fields.impact-price-components.options.road-taxes',\n    [PriceComponentTypeEnum.roadTaxesGeneral]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-general',\n    [PriceComponentTypeEnum.roadTaxesCity]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-city',\n    [PriceComponentTypeEnum.roadTaxesBridge]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-bridge',\n    [PriceComponentTypeEnum.roadTaxesTunnel]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-tunnel',\n    [PriceComponentTypeEnum.roadTaxesFerry]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-ferry',\n    [PriceComponentTypeEnum.roadTaxesMountainPass]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-mountain-pass',\n    [PriceComponentTypeEnum.serviceFee]: 'price-settings.rules.form.fields.impact-price-components.options.service-fee',\n};\n\nconst LEVEL_PADDING = 4 * UNIT;\n\nconst PriceComponentTypeCustomMultipleDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        availableValues,\n        onBlur,\n        onFocus,\n        hasChanges,\n        hasClearControl,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<OptionT> => {\n        return [\n            {\n                icon: <RouteIcon fillColor={StyleGuideColorsEnum.slate} />,\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.lineHaul]),\n                value: PriceComponentTypeEnum.lineHaul,\n                nestLevel: 0,\n            },\n            {\n                icon: <FuelIcon strokeColor={StyleGuideColorsEnum.slate} fillColor={StyleGuideColorsEnum.light} />,\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.fuel]),\n                value: PriceComponentTypeEnum.fuel,\n                nestLevel: 0,\n            },\n            {\n                icon: (\n                    <TollIcon\n                        strokeColor={StyleGuideColorsEnum.slate}\n                        fillColor={StyleGuideColorsEnum.light}\n                        size={DEFAULT_ICON_SIZE}\n                    />\n                ),\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxes]),\n                value: PriceComponentTypeEnum.roadTaxes,\n                nestLevel: 0,\n            },\n            {\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesGeneral]),\n                value: PriceComponentTypeEnum.roadTaxesGeneral,\n                nestLevel: 1,\n            },\n            {\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesCity]),\n                value: PriceComponentTypeEnum.roadTaxesCity,\n                nestLevel: 1,\n            },\n            {\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesBridge]),\n                value: PriceComponentTypeEnum.roadTaxesBridge,\n                nestLevel: 1,\n            },\n            {\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesTunnel]),\n                value: PriceComponentTypeEnum.roadTaxesTunnel,\n                nestLevel: 1,\n            },\n            {\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesFerry]),\n                value: PriceComponentTypeEnum.roadTaxesFerry,\n                nestLevel: 1,\n            },\n            {\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesMountainPass]),\n                value: PriceComponentTypeEnum.roadTaxesMountainPass,\n                nestLevel: 1,\n            },\n            {\n                label: t(TYPE_I18N_MAP[PriceComponentTypeEnum.serviceFee]),\n                value: PriceComponentTypeEnum.serviceFee,\n                nestLevel: 0,\n            },\n        ].filter((option) => {\n            if (!availableValues) {\n                return true;\n            }\n\n            return availableValues.includes(option.value);\n        });\n    }, [t, availableValues]);\n\n    const renderTriggerContent = (option?: OptionT, placeholder?: string) => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return option?.label;\n    };\n\n    const renderOption = (option?: OptionT) => {\n        const isSelected = option?.value === value;\n\n        return (\n            <div\n                key={option?.value}\n                className={cx('option')}\n                style={{ paddingLeft: `${(option?.nestLevel || 0) * LEVEL_PADDING}px` }}\n            >\n                <Checkbox\n                    checked={isSelected}\n                    className={cx('option__checkbox')}\n                    label={null}\n                    onChange={() => {\n                        onSelect(value);\n                    }}\n                />\n                {!!option?.icon && (\n                    <div\n                        className={cx('option__icon')}\n                        onClick={() => {\n                            onSelect(value);\n                        }}\n                    >\n                        {option?.icon}\n                    </div>\n                )}\n                <div\n                    className={cx('option__label')}\n                    onClick={() => {\n                        onSelect(value);\n                    }}\n                >\n                    {option?.label || ''}\n                </div>\n            </div>\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.value;\n\n    return (\n        <DropdownInput<OptionT, ValueT>\n            className={className}\n            options={options}\n            selectedValue={value}\n            isNotHighlightSelectedOption\n            getOptionValue={getOptionValue}\n            placeholder={placeholder}\n            isDisabled={isDisabled}\n            onSelect={onSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderOption={renderOption}\n            renderTriggerContent={renderTriggerContent}\n            overlayPosition={overlayPosition}\n            overlayClassName={cx('overlay')}\n            hasClearControl={value ? hasClearControl : false}\n        />\n    );\n};\n\nexport default PriceComponentTypeCustomMultipleDropdown;\n","import React from 'react';\n\nexport type AssetServiceLocationContextT = {\n    location: LocationT | null;\n    setLocation: (location: LocationT | null) => void;\n};\n\nconst AssetServiceLocationContext = React.createContext<AssetServiceLocationContextT>({\n    location: null,\n    setLocation: () => {\n        // nothing\n    },\n});\n\nexport default AssetServiceLocationContext;\n","import {\n    ASSIGN_BID_TO_SPOT_REQUEST,\n    AssignBidToSpotRequestActionT,\n    FETCH_SPOT_REQUEST_DETAILS_REQUEST,\n    FETCH_SPOT_REQUEST_DETAILS_REQUEST_BEGIN,\n    FETCH_SPOT_REQUEST_DETAILS_REQUEST_ERROR,\n    FETCH_SPOT_REQUEST_DETAILS_REQUEST_SUCCESS,\n    FetchSpotRequestDetailsRequestActionT,\n    FetchSpotRequestDetailsRequestBeginActionT,\n    FetchSpotRequestDetailsRequestErrorActionT,\n    FetchSpotRequestDetailsRequestSuccessActionT,\n    UPDATE_SPOT_REQUEST_REQUEST_BEGIN,\n    UPDATE_SPOT_REQUEST_REQUEST_ERROR,\n    UPDATE_SPOT_REQUEST_REQUEST_SUCCESS,\n    UpdateSpotRequestRequestBeginActionT,\n    UpdateSpotRequestRequestErrorActionT,\n    UpdateSpotRequestRequestSuccessActionT,\n} from './types';\nimport { SpotRequestDetailsT } from './models';\n\nexport const fetchSpotRequestDetails = (\n    id: SpotRequestIdT,\n    options?: FetchOptionsT,\n): FetchSpotRequestDetailsRequestActionT => ({\n    type: FETCH_SPOT_REQUEST_DETAILS_REQUEST,\n    id,\n    options,\n});\n\nexport const fetchSpotRequestDetailsBegin = (id: SpotRequestIdT): FetchSpotRequestDetailsRequestBeginActionT => ({\n    type: FETCH_SPOT_REQUEST_DETAILS_REQUEST_BEGIN,\n    id,\n});\n\nexport const fetchSpotRequestDetailsSuccess = (\n    id: SpotRequestIdT,\n    details: SpotRequestDetailsT | null,\n): FetchSpotRequestDetailsRequestSuccessActionT => ({\n    type: FETCH_SPOT_REQUEST_DETAILS_REQUEST_SUCCESS,\n    details,\n    id,\n});\n\nexport const fetchSpotRequestDetailsError = (\n    id: SpotRequestIdT,\n    error: Error,\n): FetchSpotRequestDetailsRequestErrorActionT => ({\n    type: FETCH_SPOT_REQUEST_DETAILS_REQUEST_ERROR,\n    error,\n    id,\n});\n\nexport const assignBidToSpotRequest = (id: SpotRequestIdT, bidId: BidIdT): AssignBidToSpotRequestActionT => ({\n    type: ASSIGN_BID_TO_SPOT_REQUEST,\n    id,\n    bidId,\n});\n\nexport const updateSpotRequestRequestBegin = (id: SpotRequestIdT): UpdateSpotRequestRequestBeginActionT => ({\n    type: UPDATE_SPOT_REQUEST_REQUEST_BEGIN,\n    id,\n});\n\nexport const updateSpotRequestRequestSuccess = (id: SpotRequestIdT): UpdateSpotRequestRequestSuccessActionT => ({\n    type: UPDATE_SPOT_REQUEST_REQUEST_SUCCESS,\n    id,\n});\n\nexport const updateSpotRequestRequestError = (\n    id: SpotRequestIdT,\n    error: Error,\n): UpdateSpotRequestRequestErrorActionT => ({\n    type: UPDATE_SPOT_REQUEST_REQUEST_ERROR,\n    error,\n    id,\n});\n","import { EmissionClassEnum } from 'common/constants';\n\nexport const MAX_RADIUS_KM = 300;\nexport const MIN_VALID_FROM_VALID_TILL_DAYS = 7;\n\nexport enum FieldsEnum {\n    trailerDictId = 'trailerDictId',\n    emissionClass = 'emissionClass',\n\n    pickUpLocation = 'pickUpLocation',\n    pickUpLocationRadius = 'pickUpLocationRadius',\n\n    dropOffLocation = 'dropOffLocation',\n    dropOffLocationRadius = 'dropOffLocationRadius',\n\n    validFrom = 'validFrom',\n    validTill = 'validTill',\n\n    layoverLimit = 'layoverLimit',\n    ordersLimit = 'ordersLimit',\n\n    externalLaneId = 'externalLaneId',\n\n    includeServiceFee = 'includeServiceFee',\n    includeTeamDrive = 'includeTeamDrive',\n    useApplyRules = 'useApplyRules',\n}\n\nexport type FormTouchedT = Partial<Record<FieldsEnum, boolean>>;\n\nexport type FormValuesT = {\n    [FieldsEnum.trailerDictId]: TrailerDictIdT | null;\n    [FieldsEnum.emissionClass]: EmissionClassEnum | null;\n\n    [FieldsEnum.pickUpLocation]: LocationT | null;\n    [FieldsEnum.pickUpLocationRadius]: string;\n\n    [FieldsEnum.dropOffLocation]: LocationT | null;\n    [FieldsEnum.dropOffLocationRadius]: string;\n\n    [FieldsEnum.validFrom]: Date | null;\n    [FieldsEnum.validTill]: Date | null;\n\n    [FieldsEnum.layoverLimit]: string;\n    [FieldsEnum.ordersLimit]: string;\n\n    [FieldsEnum.externalLaneId]: string;\n\n    [FieldsEnum.includeServiceFee]: boolean;\n    [FieldsEnum.includeTeamDrive]: boolean;\n    [FieldsEnum.useApplyRules]: boolean;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { put, select } from 'redux-saga/effects';\nimport {\n    fetchCountrySettingsDictBegin,\n    fetchCountrySettingsDictError,\n    fetchCountrySettingsDictSuccess,\n} from './actions';\nimport { COUNTRY_SETTINGS_DICT_REQUEST } from './types';\nimport { selectCountrySettingsDictRequest } from './selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { semaphoreSaga } from 'common/utils/semaphore-saga';\n\nfunction* fetchCountrySettingsDictSaga(): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectCountrySettingsDictRequest> = yield select(\n        selectCountrySettingsDictRequest,\n    );\n    if (requestStatus.ok || requestStatus.loading) {\n        return;\n    }\n\n    yield put(fetchCountrySettingsDictBegin());\n\n    const [error, list]: ReturnApiT<typeof commonTranziitApi.getCountrySettingsDict> =\n        yield commonTranziitApi.getCountrySettingsDict();\n\n    if (error) {\n        yield put(fetchCountrySettingsDictError(error));\n    }\n\n    if (list) {\n        yield put(fetchCountrySettingsDictSuccess(list));\n    }\n}\n\nexport function* countrySettingsDictSaga(): WrapGeneratorT<void> {\n    yield semaphoreSaga(COUNTRY_SETTINGS_DICT_REQUEST, fetchCountrySettingsDictSaga);\n}\n","import {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DEFAULT_ICON_SIZE, documentsWithoutExpirySet, StyleGuideColorsEnum } from 'common/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { DocumentStatusEnum } from 'common/utils/api/models';\nimport { PermissionsT } from 'common/store/auth/models';\nimport { DocumentActionsT } from '../models';\nimport { DocumentT } from 'common/store/documents/models';\nimport UploadFileIcon from 'common/icons/UploadFileIcon';\nimport EditIcon from 'common/icons/EditIcon';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\nimport { logWarning } from 'common/utils/logger';\nimport DownloadIcon from 'common/icons/DownloadIcon';\nimport { PartnerPermissionsT } from 'common/contexts/partner-permission-context';\n\nenum DocumentActionsEnum {\n    download = 'download',\n    upload = 'upload',\n    revoke = 'revoke',\n    edit = 'edit',\n}\n\ntype CallbacksT = DocumentActionsT;\n\nexport const useDocumentsActionOptions = ({\n    actualDocumentVersion,\n    dictDocument,\n    permissions,\n    partnerPermissions,\n    callbacks,\n}: {\n    actualDocumentVersion: DocumentT | null;\n    dictDocument: DictDocumentT | null;\n    permissions: PermissionsT;\n    partnerPermissions: Partial<PartnerPermissionsT>;\n    callbacks: CallbacksT;\n}): Array<DropdownControlOptionT | SpecialOptionEnum> => {\n    const { onDownloadDocument, onUploadDocument, onRevokeDocument, onEditDocumentInfo } = callbacks;\n    const { canDownloadDocuments } = permissions;\n    const { canUploadDocuments, canRevokeDocuments, canEditDocuments } = partnerPermissions;\n\n    const { t } = useTranslation();\n\n    const optionsConfigMap: Record<\n        DocumentActionsEnum,\n        { icon: React.ReactNode; label: React.ReactNode; onSelect: () => void }\n    > = {\n        [DocumentActionsEnum.download]: {\n            icon: <DownloadIcon fillColor={StyleGuideColorsEnum.charcoal} size={DEFAULT_ICON_SIZE} />,\n            label: t('common:documents.table.actions.download'),\n            onSelect: () => {\n                if (actualDocumentVersion) {\n                    onDownloadDocument(actualDocumentVersion.id);\n                } else {\n                    logWarning('failed to download document');\n                }\n            },\n        },\n        [DocumentActionsEnum.upload]: {\n            icon: <UploadFileIcon fillColor={StyleGuideColorsEnum.charcoal} />,\n            label:\n                actualDocumentVersion?.status === null\n                    ? t('common:documents.table.actions.upload')\n                    : t('common:documents.table.actions.upload-new'),\n            onSelect: () => {\n                if (actualDocumentVersion?.dictDocumentId) {\n                    onUploadDocument(actualDocumentVersion.dictDocumentId);\n                } else {\n                    logWarning('failed to upload document');\n                }\n            },\n        },\n        [DocumentActionsEnum.revoke]: {\n            icon: <CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />,\n            label: t('common:documents.table.actions.revoke'),\n            onSelect: () => {\n                if (dictDocument && actualDocumentVersion) {\n                    onRevokeDocument(dictDocument.id, actualDocumentVersion.id);\n                } else {\n                    logWarning('failed to revoke document');\n                }\n            },\n        },\n        [DocumentActionsEnum.edit]: {\n            icon: (\n                <EditIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            ),\n            label: t('common:documents.table.actions.edit'),\n            onSelect: () => {\n                if (dictDocument) {\n                    onEditDocumentInfo(dictDocument.type);\n                } else {\n                    logWarning('failed to edit document');\n                }\n            },\n        },\n    };\n\n    const actions = React.useMemo((): Array<DocumentActionsEnum | SpecialOptionEnum> => {\n        const hasAnyVersion = !!actualDocumentVersion;\n\n        const actions: Array<DocumentActionsEnum | SpecialOptionEnum> = [];\n\n        if (hasAnyVersion && canDownloadDocuments) {\n            actions.push(DocumentActionsEnum.download);\n        }\n\n        if (hasAnyVersion && canUploadDocuments) {\n            actions.push(DocumentActionsEnum.upload);\n        }\n\n        if (actualDocumentVersion?.status === DocumentStatusEnum.approved && hasAnyVersion && canEditDocuments) {\n            actions.push(SpecialOptionEnum.separator);\n\n            const isAllowEdit =\n                !!actualDocumentVersion?.documentType &&\n                !documentsWithoutExpirySet.has(actualDocumentVersion.documentType);\n            if (isAllowEdit) {\n                actions.push(DocumentActionsEnum.edit);\n            }\n        }\n\n        if (actualDocumentVersion?.status === DocumentStatusEnum.approved && hasAnyVersion && canRevokeDocuments) {\n            actions.push(SpecialOptionEnum.separator);\n            actions.push(DocumentActionsEnum.revoke);\n        }\n\n        return actions;\n    }, [actualDocumentVersion, canDownloadDocuments, canUploadDocuments, canRevokeDocuments, canEditDocuments]);\n\n    const options = actions.map((action) => {\n        if (action === SpecialOptionEnum.separator) {\n            return SpecialOptionEnum.separator;\n        }\n\n        const optionConfig = optionsConfigMap[action];\n\n        return {\n            label: <DropdownControlOptionLabel icon={optionConfig.icon} label={optionConfig.label} />,\n            onSelect: optionConfig.onSelect,\n        };\n    });\n\n    return options;\n};\n","import * as React from 'react';\n\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\n\nimport classNames from 'classnames/bind';\nimport styles from './CompanySignUpForm.scss';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { getZipCodePlaceholder } from 'common/utils/postal-codes';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport LegalFormDropdown from 'common/components/dropdowns/LegalFormDropdown/LegalFormDropdown';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useCheckCountryCorrectLegacyForm } from 'common/components/dropdowns/LegalFormDropdown/hooks';\n\nconst cx = classNames.bind(styles);\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.companyName]: '',\n    [FieldsEnum.countryCode]: null,\n    [FieldsEnum.zipCode]: '',\n    [FieldsEnum.city]: '',\n    [FieldsEnum.street1]: '',\n    [FieldsEnum.legalFormId]: null,\n};\n\ntype CompanySignUpFormPropsT = {\n    loading?: boolean;\n    onSubmit: (formValues: FormValuesT) => void;\n    error: Error | null;\n};\n\nconst CompanySignUpForm: React.FC<CompanySignUpFormPropsT> = React.memo((props) => {\n    const { loading, onSubmit, error } = props;\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const initialErrors = React.useMemo(() => {\n        return validateForm(t, INITIAL_VALUES);\n    }, [t]);\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues: INITIAL_VALUES,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            onSubmit(values);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const parseRequestError = (error: Error | null): string | null => {\n        if (!error) {\n            return null;\n        }\n\n        if (\n            checkIsTranziitApiRequestError(error) &&\n            error.subType === TranziitApiRequestErrorSubTypeEnum.emailAlreadyExist\n        ) {\n            return t('common:auth-errors.email-already-exist');\n        }\n\n        return error?.message || null;\n    };\n\n    const selectedLegalFormId = formik.values[FieldsEnum.legalFormId];\n    const selectedCountry = formik.values[FieldsEnum.countryCode];\n\n    useCheckCountryCorrectLegacyForm(\n        {\n            selectedLegalFormId,\n            selectedCountry,\n        },\n        () => {\n            formik.setTouched({ [FieldsEnum.legalFormId]: false }, false);\n            formik.setFieldValue(FieldsEnum.legalFormId, null);\n        },\n    );\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('fields')}>\n                <FormikField\n                    name={FieldsEnum.companyName}\n                    error={formik.errors[FieldsEnum.companyName]}\n                    meta={formik.getFieldMeta(FieldsEnum.companyName)}\n                    label={t('common:sign-up.fields.companyName.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.companyName}\n                            value={formik.values[FieldsEnum.companyName]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.countryCode}\n                    error={formik.errors[FieldsEnum.countryCode]}\n                    label={t('common:sign-up.fields.countryCode.label')}\n                    meta={formik.getFieldMeta(FieldsEnum.countryCode)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <CountryDropdown\n                            value={formik.values[FieldsEnum.countryCode]}\n                            onChange={(countryCode) => {\n                                props.onChange(countryCode);\n                            }}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup spaces={1}>\n                    <FormikField\n                        className={cx('field--zip')}\n                        name={FieldsEnum.zipCode}\n                        error={formik.errors[FieldsEnum.zipCode]}\n                        meta={formik.getFieldMeta(FieldsEnum.zipCode)}\n                        label={t('common:sign-up.fields.zipCode.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.zipCode}\n                                value={formik.values[FieldsEnum.zipCode]}\n                                placeholder={getZipCodePlaceholder(formik.values[FieldsEnum.countryCode])}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field--city')}\n                        name={FieldsEnum.city}\n                        error={formik.errors[FieldsEnum.city]}\n                        meta={formik.getFieldMeta(FieldsEnum.city)}\n                        label={t('common:sign-up.fields.city.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.city}\n                                value={formik.values[FieldsEnum.city]}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FormikField\n                    name={FieldsEnum.street1}\n                    error={formik.errors[FieldsEnum.street1]}\n                    meta={formik.getFieldMeta(FieldsEnum.street1)}\n                    label={t('common:sign-up.fields.street1.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.street1}\n                            value={formik.values[FieldsEnum.street1]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.legalFormId}\n                    error={formik.errors[FieldsEnum.legalFormId]}\n                    meta={formik.getFieldMeta(FieldsEnum.legalFormId)}\n                    label={t('common:sign-up.fields.legal-form.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <LegalFormDropdown\n                            countryCode={formik.values[FieldsEnum.countryCode]}\n                            value={formik.values[FieldsEnum.legalFormId]}\n                            onChange={props.onChange}\n                            placeholder={t('common:sign-up.fields.legal-form.placeholder')}\n                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                        />\n                    )}\n                </FormikField>\n            </div>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <Button isLoading={loading} theme={ButtonThemeEnum.primary} type=\"submit\" className={cx('submit')}>\n                {t('common:sign-up.company-form.submit')}\n            </Button>\n            <div className={cx('error')}>{parseRequestError(error)}</div>\n        </form>\n    );\n});\n\nexport default CompanySignUpForm;\n","import DatabaseIcon from 'common/icons/DatabaseIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport * as React from 'react';\nimport PartnersIcon from 'common/icons/PartnersIcon';\nimport PadIcon from 'common/icons/PadIcon';\nimport CaseIcon from 'common/icons/CaseIcon';\nimport PlusIcon from 'common/icons/PlusIcon';\n\ntype MenuIconPropsT = {\n    isActive: boolean;\n};\n\nconst DEFAULT_ICON_PRESET = {\n    active: {\n        fillOpacity: 0.3,\n        fill: StyleGuideColorsEnum.brandAccent,\n        stroke: StyleGuideColorsEnum.brandDark,\n    },\n    default: {\n        fillOpacity: 1,\n        fill: StyleGuideColorsEnum.light,\n        stroke: StyleGuideColorsEnum.slate,\n    },\n};\n\nexport const DatabaseMenuIcon: React.FC<MenuIconPropsT> = (props) => {\n    const { isActive } = props;\n\n    return (\n        <DatabaseIcon\n            fillOpacity={isActive ? DEFAULT_ICON_PRESET.active.fillOpacity : DEFAULT_ICON_PRESET.default.fillOpacity}\n            fillColor={isActive ? DEFAULT_ICON_PRESET.active.fill : DEFAULT_ICON_PRESET.default.fill}\n            strokeColor={isActive ? DEFAULT_ICON_PRESET.active.stroke : DEFAULT_ICON_PRESET.default.stroke}\n        />\n    );\n};\n\nexport const PlusMenuIcon: React.FC<MenuIconPropsT> = (props) => {\n    const { isActive } = props;\n\n    return (\n        <PlusIcon\n            size={DEFAULT_ICON_SIZE}\n            strokeColor={isActive ? DEFAULT_ICON_PRESET.active.stroke : DEFAULT_ICON_PRESET.default.stroke}\n        />\n    );\n};\n\nexport const TeamsMenuIcon: React.FC<MenuIconPropsT> = (props) => {\n    const { isActive } = props;\n\n    return (\n        <PartnersIcon\n            fillOpacity={isActive ? DEFAULT_ICON_PRESET.active.fillOpacity : DEFAULT_ICON_PRESET.default.fillOpacity}\n            fillColor={isActive ? DEFAULT_ICON_PRESET.active.fill : DEFAULT_ICON_PRESET.default.fill}\n            strokeColor={isActive ? DEFAULT_ICON_PRESET.active.stroke : DEFAULT_ICON_PRESET.default.stroke}\n        />\n    );\n};\n\nexport const BusinessPartnerMenuIcon: React.FC<MenuIconPropsT> = (props) => {\n    const { isActive } = props;\n\n    return (\n        <CaseIcon\n            size={DEFAULT_ICON_SIZE}\n            fillOpacity={isActive ? DEFAULT_ICON_PRESET.active.fillOpacity : DEFAULT_ICON_PRESET.default.fillOpacity}\n            fillColor={isActive ? DEFAULT_ICON_PRESET.active.fill : DEFAULT_ICON_PRESET.default.fill}\n            strokeColor={isActive ? DEFAULT_ICON_PRESET.active.stroke : DEFAULT_ICON_PRESET.default.stroke}\n        />\n    );\n};\n\nexport const ProfileMenuIcon: React.FC<MenuIconPropsT> = (props) => {\n    const { isActive } = props;\n\n    return (\n        <PadIcon\n            fillOpacity={isActive ? DEFAULT_ICON_PRESET.active.fillOpacity : DEFAULT_ICON_PRESET.default.fillOpacity}\n            fillColor={isActive ? DEFAULT_ICON_PRESET.active.fill : DEFAULT_ICON_PRESET.default.fill}\n            strokeColor={isActive ? DEFAULT_ICON_PRESET.active.stroke : DEFAULT_ICON_PRESET.default.stroke}\n        />\n    );\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CollapsedOfferDetails.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport Money from 'common/components/Money/Money';\nimport { convertSecToHours } from 'common/utils/time';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport { CurrencyEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport BigRadioIcon from 'common/icons/BigRadioIcon';\nimport BigCheckIcon from 'common/icons/BigCheckIcon';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport EmissionUnitValue from 'common/components/EmissionUnitValue/EmissionUnitValue';\nimport isNumber from 'lodash/isNumber';\nimport EmissionClassPill from 'common/components/status-pill/EmissionClassPill/EmissionClassPill';\nimport FuelOptionTypePill from 'common/components/status-pill/FuelOptionTypePill/FuelOptionTypePill';\nimport OfferAttribute, {\n    OfferAttributeIconTypeEnum,\n} from 'common/layouts/NewOrderPage/OfferDetails/CollapsedOfferDetails/OfferAttribute/OfferAttribute';\nimport EditIcon from 'common/icons/EditIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    offer: PriceOfferT;\n    totalOfferPrice: number;\n    onSelect: () => void;\n    onOpenDetails: () => void;\n    isSelectable?: boolean;\n    isSelected?: boolean;\n    isDisabled?: boolean;\n    isOpenDetails?: boolean;\n    isChangedTotalPrice?: boolean;\n    isAllowEditTotalPrice?: boolean;\n    onStartEditTotalPrice?: () => void;\n};\n\nconst CollapsedOfferDetails: React.FC<PropsT> = React.memo((props) => {\n    const {\n        totalOfferPrice,\n        onSelect,\n        onOpenDetails,\n        isSelectable,\n        isSelected,\n        isDisabled,\n        isOpenDetails,\n        offer,\n        isChangedTotalPrice,\n        isAllowEditTotalPrice,\n        onStartEditTotalPrice,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const teamDriveTooltipLabel = t('common:new-order-details.team-drive');\n    const urgentShipmentTooltipLabel = t('common:new-order-details.urgent-shipment');\n\n    const layoverHours = convertSecToHours(offer.layoverSeconds);\n\n    const layoverTooltipLabel = layoverHours\n        ? t('common:new-order-details.layover', {\n              hours: `${layoverHours} ${t('common:hours', {\n                  postProcess: 'interval',\n                  count: layoverHours,\n              })}`,\n          })\n        : null;\n\n    const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n        if (event?.target instanceof HTMLElement) {\n            const isPriceDetailsClick = event?.target?.dataset?.clickDetect;\n            if (isPriceDetailsClick && isSelectable) {\n                return;\n            }\n\n            if (isSelectable && !isSelected && !isDisabled) {\n                onSelect();\n            } else {\n                onOpenDetails();\n            }\n        }\n    };\n\n    const handleTriggerClick = () => {\n        onOpenDetails();\n    };\n\n    const ratePerKm = totalOfferPrice / offer.distanceKm;\n\n    return (\n        <div\n            className={cx('details', {\n                'details--isSelectable': isSelectable,\n            })}\n            onClick={handleClick}\n            data-test-selector=\"collapsed-price-offer\"\n        >\n            {isSelectable ? (\n                <BigRadioIcon className={cx('icon')} isSelected={isSelected} isDisabled={isDisabled} />\n            ) : (\n                <BigCheckIcon className={cx('icon')} isDisabled={isDisabled} />\n            )}\n            <div className={cx('price')}>\n                {offer?.price && (\n                    <div\n                        className={cx('price__total', {\n                            'price__total--changed': isChangedTotalPrice,\n                        })}\n                    >\n                        <Money amount={totalOfferPrice} currency={CurrencyEnum.EUR} />\n                    </div>\n                )}\n                <div className={cx('price__description')}>\n                    <UnitTypeCount\n                        types={[UnitTypeEnum.euroAbbreviation, UnitTypeEnum.kilometersAbbreviation]}\n                        count={ratePerKm}\n                    />\n                </div>\n            </div>\n            <div className={cx('price-details-trigger')}>\n                <Tooltip\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                            {t(isOpenDetails ? 'common:tooltips.hide-details' : 'common:tooltips.show-details')}\n                        </TooltipContent>\n                    }\n                >\n                    {() => (\n                        <TransparentTrigger\n                            spaces=\"xs\"\n                            onClick={handleTriggerClick}\n                            leftIcon={\n                                <ExpandIcon fillColor={StyleGuideColorsEnum.brandAccent} isInvert={isOpenDetails} />\n                            }\n                            reflectionTheme={ReflectionThemeEnum.light}\n                        />\n                    )}\n                </Tooltip>\n            </div>\n            {isAllowEditTotalPrice && (\n                <div className={cx('edit')}>\n                    <Tooltip\n                        position={TooltipPositionEnum.topCenter}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={\n                            <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                {t('common:new-order-details.tooltips.edit')}\n                            </TooltipContent>\n                        }\n                    >\n                        {() => (\n                            <TransparentTrigger\n                                spaces=\"xs\"\n                                onClick={(event) => {\n                                    event.stopPropagation();\n\n                                    if (onStartEditTotalPrice) {\n                                        onStartEditTotalPrice();\n                                    }\n                                }}\n                                leftIcon={\n                                    <EditIcon\n                                        size={DEFAULT_ICON_SIZE}\n                                        fillColor={StyleGuideColorsEnum.light}\n                                        strokeColor={StyleGuideColorsEnum.charcoal}\n                                    />\n                                }\n                                reflectionTheme={ReflectionThemeEnum.light}\n                            />\n                        )}\n                    </Tooltip>\n                </div>\n            )}\n            <div className={cx('other-details')}>\n                <div className={cx('other-details__row', 'other-details__row--first')}>\n                    <div className={cx('emission-labels')}>\n                        {offer?.isGreenTruck && (\n                            <OfferAttribute\n                                className={cx('attribute')}\n                                iconType={OfferAttributeIconTypeEnum.eco}\n                                tooltipLabel={t('common:new-order-details.tooltips.green')}\n                            />\n                        )}\n                        <Tooltip\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={\n                                <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                    {t('common:new-order-details.tooltips.emission-class')}\n                                </TooltipContent>\n                            }\n                        >\n                            {() =>\n                                offer?.emissionClass ? <EmissionClassPill emissionClass={offer.emissionClass} /> : null\n                            }\n                        </Tooltip>\n                        <FuelOptionTypePill fuelOption={offer?.fuelOptionType} />\n                    </div>\n                </div>\n                <div className={cx('other-details__row', 'other-details__row--secondary')}>\n                    <div className={cx('attributes')}>\n                        {offer?.isUrgentShipment && (\n                            <OfferAttribute\n                                className={cx('attribute')}\n                                iconType={OfferAttributeIconTypeEnum.urgent}\n                                tooltipLabel={urgentShipmentTooltipLabel}\n                            />\n                        )}\n                        {offer?.hasLayover && (\n                            <OfferAttribute\n                                className={cx('attribute')}\n                                iconType={OfferAttributeIconTypeEnum.layover}\n                                tooltipLabel={layoverTooltipLabel}\n                            />\n                        )}\n                        {offer?.isTeamDrive && (\n                            <OfferAttribute\n                                className={cx('attribute')}\n                                iconType={OfferAttributeIconTypeEnum.teamDrive}\n                                tooltipLabel={teamDriveTooltipLabel}\n                            />\n                        )}\n                        {isNumber(offer?.co2) ? (\n                            <Tooltip\n                                position={TooltipPositionEnum.topCenter}\n                                theme={TooltipThemeEnum.black}\n                                tooltipNode={\n                                    <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                        {t('common:new-order-details.tooltips.emission-value')}\n                                    </TooltipContent>\n                                }\n                                isInline\n                            >\n                                {() => (\n                                    <>\n                                        <EmissionIcon\n                                            strokeColor={StyleGuideColorsEnum.charcoal}\n                                            className={cx('emission__icon')}\n                                        />\n                                        <EmissionUnitValue className={cx('emission__value')} co2={offer?.co2} />\n                                    </>\n                                )}\n                            </Tooltip>\n                        ) : null}\n                    </div>\n                </div>\n            </div>\n        </div>\n    );\n});\n\nexport default CollapsedOfferDetails;\n","import { buffers } from 'redux-saga';\nimport { actionChannel, cancel, delay, fork, put, select, take, takeEvery, takeLatest } from 'redux-saga/effects';\nimport { generatePath } from 'react-router';\nimport { diff } from 'deep-object-diff';\nimport isNil from 'lodash/isNil';\nimport {\n    CHANGE_RESERVE_QUERY,\n    ChangeReserveQueryActionT,\n    CREATE_ORDER_REQUEST,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR,\n    CREATE_RFQ_REQUEST,\n    CREATE_RFQ_REQUEST_ERROR,\n    CreateOrderActionT,\n    CreatePriceOfferWithLaneRequestActionT,\n    CreateRFQActionT,\n    ENSURE_CREATED_RFQ,\n    EnsureCreatedRFQActionT,\n    FETCH_ROUTE,\n    FETCH_TASK_OFFER,\n    FetchRouteActionT,\n    PREVIEW_RESERVE_ERROR,\n    PreviewReserveErrorActionT,\n    SELECT_OFFER,\n    SelectOfferActionT,\n} from './types';\nimport {\n    changeReserveQuery,\n    clearOffersTasks,\n    correctPreviewReserveQuery,\n    correctReserveQuery,\n    createOrderBegin,\n    createOrderError,\n    createOrderSuccess,\n    createPriceOfferWithLaneRequestBegin,\n    createPriceOfferWithLaneRequestError,\n    createPriceOfferWithLaneRequestSuccess,\n    createReserveBegin,\n    createReserveError,\n    createReserveSuccess,\n    createRFQBegin,\n    createRFQError,\n    createRFQSuccess,\n    fetchOffers,\n    fetchOffersError,\n    fetchRoute,\n    fetchRouteError,\n    fetchRouteSuccess,\n    markOffersExpired,\n    previewReserveBegin,\n    previewReserveError,\n    previewReserveSuccess,\n    resetCreateReserveWithQuery,\n    resetOrderCreation,\n    setAllowCreateRFQ,\n    setCreateReserveQuery,\n    setExpectedOffersCount,\n    setPreviewReserveQuery,\n} from './actions';\nimport history from 'common/utils/history';\nimport { CommonRoutesEnum, CompanyTypeEnum, OMSRoutesEnum, QueryKeysEnum } from 'common/constants';\nimport {\n    selectCreateRFQRequest,\n    selectOffersTasks,\n    selectPolylines,\n    selectPriceOffers,\n    selectPriceOffersList,\n    selectReserve,\n    selectReservePreview,\n    selectReservePreviewQuery,\n    selectReservePreviewRequest,\n    selectReserveQuery,\n    selectReserveRequest,\n    selectRFQ,\n} from './selectors';\nimport preparePriceOffer from './utils/prepare-price-offer';\nimport prepareRFQ from './utils/prepare-rfq';\nimport ValuesStorage from 'common/utils/form-values-storage';\nimport { CARGO_DETAILS_FORM_NAME } from 'common/layouts/NewOrderPage/CargoDetailsForm/constants';\nimport { SHIPMENT_DETAIL_FORM_NAME } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/constants';\nimport { logDebug, logWarning } from 'common/utils/logger';\n\nimport { formatQuery, parseQuery } from 'common/utils/query';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport {\n    CreateReserveQueryT,\n    ReservePreviewQueryT,\n    ReserveQueryModifyEventT,\n    ReserveT,\n    ReserveTimeWindowT,\n} from './models';\nimport { checkIsPastDate, getDateFromISO, MS_IN_SEC } from 'common/utils/time';\nimport { byAlphabetASC } from 'common/utils/sort';\nimport { getApiReverseQuery, getReverseQueryChanges, mergeReverseQueryChanges } from './utils/create-reverse-query';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport {\n    correctionPreviewReverseQueryAfterReserve,\n    getApiPreviewReverseQuery,\n    getPreviewReverseQueryChanges,\n    mergePreviewReverseQuery,\n    setReversePreviewDefaultQuery,\n} from './utils/preview-reverse-query';\nimport prepareReservePreview from 'common/store/order-creation/utils/prepare-reserve-preview';\nimport isEmpty from 'lodash/isEmpty';\nimport preparePreview from 'common/store/order-creation/utils/prepare-reserve';\nimport uniq from 'lodash/uniq';\nimport { getDefaultAdditionalServices } from 'common/store/order-creation/utils/get-default-additional-services';\nimport { ordersRefreshChannel } from 'common/store/orders/channels';\nimport { reserveQueryModifyChannel } from 'common/store/order-creation/channels';\nimport { getPreviewReserveQueryCorrection } from 'common/store/order-creation/utils/get-preview-reserve-query-correction';\nimport { getReserveQueryCorrection } from 'common/store/order-creation/utils/get-reserve-query-correction';\nimport { getQueryModifyEventAfterReserve } from 'common/store/order-creation/utils/get-query-modify-event-after-reserve';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { urlFactory as brokerUrlFactory } from 'broker-admin/utils/urls';\nimport { urlFactory as shipperUrlFactory } from 'shipper/utils/urls';\nimport { urlFactory as commonUrlFactory } from 'common/utils/urls';\nimport { createFakeIdFromPoint } from 'common/store/order-creation/utils/create-fake-id-from-point';\nimport { editablePointTypeSet } from 'common/store/order-creation/constants';\nimport { selectCountrySettingsByCountryCode } from 'common/store/country-settings-dict/selectors';\nimport { COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS } from 'common/store/country-settings-dict/types';\n\n// eslint-disable-next-line require-yield\nfunction* redirectToStartNewOrderSaga() {\n    history.push({\n        pathname: generatePath(OMSRoutesEnum.newOrder),\n        search: history.location.search,\n    });\n}\n\nlet delayedSyncFetchTaskOffers: TODO = null;\n\nfunction* unSubscribeTaskOffersSaga() {\n    if (delayedSyncFetchTaskOffers) {\n        yield cancel(delayedSyncFetchTaskOffers);\n        delayedSyncFetchTaskOffers = null;\n    }\n}\n\nconst SUBSCRIPTION_INTERVAL = 2 * MS_IN_SEC;\nconst ATTEMPTS_LIMIT = 5;\n\nfunction* delayedSyncFetchTaskOffersSaga({\n    rfqId,\n    expectedOffersCount,\n}: {\n    rfqId: RFQIdT;\n    isBroker: boolean;\n    expectedOffersCount: number | null;\n}) {\n    if (!expectedOffersCount) {\n        return;\n    }\n\n    let attempt = 0;\n    let isComplete = false;\n\n    while (attempt <= ATTEMPTS_LIMIT && !isComplete) {\n        if (attempt) {\n            yield delay(attempt * SUBSCRIPTION_INTERVAL);\n        }\n\n        const responsePriceOffers: ReturnApiT<typeof commonTranziitApi.getPriceOffers> =\n            yield commonTranziitApi.getPriceOffers(rfqId);\n        const [apiPriceOffersError, apiPriceOffers] = responsePriceOffers;\n\n        if (apiPriceOffersError) {\n            yield put(fetchOffersError(apiPriceOffersError));\n        }\n\n        if (!apiPriceOffers) {\n            const error = new Error('empty apiPriceOffers!');\n            yield put(fetchOffersError(error));\n        }\n\n        const priceOffers = (apiPriceOffers || []).map(preparePriceOffer);\n        yield put(fetchOffers(priceOffers));\n\n        isComplete = priceOffers?.length >= expectedOffersCount;\n        attempt += 1;\n    }\n}\n\nfunction getCreateRFQSaga(companyType: CompanyTypeEnum) {\n    return function* createRFQSaga(action: CreateRFQActionT): WrapGeneratorT<void> {\n        const isBroker = companyType === CompanyTypeEnum.broker;\n\n        const { actualOrderRequest, reserve } = action;\n\n        yield unSubscribeTaskOffersSaga();\n        yield put(clearOffersTasks());\n\n        yield put(createRFQBegin());\n\n        const reserveId = reserve?.reserveId;\n\n        const apiCreateRFQResponse: ReturnApiT<typeof commonTranziitApi.createMultipointOrderQuotation> =\n            yield commonTranziitApi.createMultipointOrderQuotation(reserveId, actualOrderRequest);\n\n        if (!apiCreateRFQResponse) {\n            return;\n        }\n\n        const [apiCreateRFQError, apiCreateRFQResult] = apiCreateRFQResponse;\n        if (apiCreateRFQError) {\n            yield put(createRFQError(apiCreateRFQError));\n            return;\n        }\n        if (!apiCreateRFQResult) {\n            logWarning('empty apiCreateRFQResult');\n            return;\n        }\n\n        const rfqId = apiCreateRFQResult?.rfqId;\n        const defaultAdditionalServices = getDefaultAdditionalServices();\n\n        const baseQuery = {\n            [QueryKeysEnum.orderCreationAdditionalServices]: defaultAdditionalServices,\n            [QueryKeysEnum.orderCreationDropOffDate]: getDateFromISO(apiCreateRFQResult?.selectedDropOffDate),\n            [QueryKeysEnum.orderCreationPickUpDate]: getDateFromISO(apiCreateRFQResult?.selectedPickupDate),\n            [QueryKeysEnum.orderCreationPickUpDatesRange]: (apiCreateRFQResult.pickupDates || [])\n                .map((date) => {\n                    return getDateFromISO(date);\n                })\n                .sort(byAlphabetASC),\n            [QueryKeysEnum.orderCreationDropOffDatesRange]: (apiCreateRFQResult?.dropOffDates || [])\n                .map((date) => {\n                    return getDateFromISO(date);\n                })\n                .sort(byAlphabetASC),\n        };\n\n        history.push({\n            pathname: generatePath(OMSRoutesEnum.newOrderOffers, {\n                rfqId,\n            }),\n            search: formatQuery(baseQuery),\n        });\n\n        const expectedOffersCount = apiCreateRFQResult?.expectedOffersCount || null;\n        yield put(setExpectedOffersCount(expectedOffersCount));\n\n        if (rfqId) {\n            delayedSyncFetchTaskOffers = yield fork(delayedSyncFetchTaskOffersSaga, {\n                isBroker,\n                rfqId,\n                expectedOffersCount,\n            });\n        }\n\n        const apiRFQDetailsResponse: ReturnApiT<typeof commonTranziitApi.getRFQDetails> =\n            yield commonTranziitApi.getRFQDetails(rfqId);\n        const [apiRFQDetailsError, apiRFQDetailsData] = apiRFQDetailsResponse;\n\n        if (apiRFQDetailsError) {\n            yield put(createRFQError(apiRFQDetailsError));\n            return;\n        }\n\n        if (!apiRFQDetailsData) {\n            const error = new Error('empty apiRFQData');\n            yield put(createRFQError(error));\n            return;\n        }\n\n        const preparedRFQ = prepareRFQ(apiRFQDetailsData);\n\n        yield put(createRFQSuccess(preparedRFQ));\n\n        if (apiRFQDetailsData?.polylineId) {\n            yield put(fetchRoute(apiRFQDetailsData.polylineId));\n        }\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getCreatePriceOfferWithLaneSaga(companyType: CompanyTypeEnum) {\n    return function* createPriceOfferWithLaneSaga(\n        action: CreatePriceOfferWithLaneRequestActionT,\n    ): WrapGeneratorT<void> {\n        const { actualOrderRequest, reserve, laneId } = action;\n\n        yield put(createPriceOfferWithLaneRequestBegin());\n\n        const reserveId = reserve?.reserveId;\n\n        const result: ReturnApiT<typeof commonTranziitApi.createMultipointOrderQuotation> =\n            yield commonTranziitApi.createMultipointOrderQuotation(reserveId, actualOrderRequest, laneId);\n\n        if (!result) {\n            return;\n        }\n\n        const [apiCreateLaneOrderPriceOfferError, apiCreateLaneOrderPriceOfferResult] = result;\n\n        if (apiCreateLaneOrderPriceOfferError) {\n            yield put(createPriceOfferWithLaneRequestError(apiCreateLaneOrderPriceOfferError));\n            return;\n        }\n        if (!apiCreateLaneOrderPriceOfferResult) {\n            logWarning('empty apiCreateLaneOrderPriceOfferResult');\n            return;\n        }\n\n        const apiLanePriceOffers: ReturnApiT<typeof commonTranziitApi.getPriceOffers> =\n            yield commonTranziitApi.getPriceOffers(apiCreateLaneOrderPriceOfferResult?.rfqId);\n        const [apiLanePriceOffersError, apiLanePriceOffersResult] = apiLanePriceOffers;\n        if (apiLanePriceOffersError) {\n            yield put(createPriceOfferWithLaneRequestError(apiLanePriceOffersError));\n            return;\n        }\n\n        const apiLanePriceOffer = apiLanePriceOffersResult?.[0] || null;\n        if (!apiLanePriceOffer) {\n            logWarning('empty lanePriceOffer');\n            return;\n        }\n\n        const rfqId = apiLanePriceOffer?.rfqId || null;\n        if (!rfqId) {\n            logWarning('empty rfqId');\n            return;\n        }\n\n        const offerId = apiLanePriceOffer.id || null;\n        if (!offerId) {\n            logWarning('empty offerId');\n            return;\n        }\n\n        history.push({\n            pathname: generatePath(OMSRoutesEnum.newOrderDetailsWithLane, {\n                rfqId,\n                offerId,\n                laneId,\n            }),\n            search: formatQuery({\n                [QueryKeysEnum.orderCreationAdditionalServices]: [],\n            }),\n        });\n\n        const apiRFQDetailsResponse: ReturnApiT<typeof commonTranziitApi.getRFQDetails> =\n            yield commonTranziitApi.getRFQDetails(rfqId);\n        const [apiRFQDetailsError, apiRFQDetailsData] = apiRFQDetailsResponse;\n        if (apiRFQDetailsError) {\n            yield put(createPriceOfferWithLaneRequestError(apiRFQDetailsError));\n            return;\n        }\n\n        if (!apiRFQDetailsData) {\n            const error = new Error('empty apiRFQData');\n            yield put(createPriceOfferWithLaneRequestError(error));\n            return;\n        }\n\n        if (apiRFQDetailsData.polylineId) {\n            yield put(fetchRoute(apiRFQDetailsData.polylineId));\n        }\n\n        const preparedRFQ = prepareRFQ(apiRFQDetailsData);\n        const lanePriceOffer = preparePriceOffer(apiLanePriceOffer);\n\n        yield put(createPriceOfferWithLaneRequestSuccess(preparedRFQ, lanePriceOffer));\n    };\n}\n\nfunction* handlePreviewReserveErrorSaga(action: PreviewReserveErrorActionT): WrapGeneratorT<void> {\n    if (\n        checkIsTranziitApiRequestError(action.error) &&\n        action.error.subType === TranziitApiRequestErrorSubTypeEnum.expiredContextPreviewReserve\n    ) {\n        // try re-reserve\n        yield put(changeReserveQuery({}));\n    }\n}\n\nfunction* fetchTaskOfferSaga(): WrapGeneratorT<void> {\n    const offersTasks: ReturnType<typeof selectOffersTasks> = yield select(selectOffersTasks);\n    if (!isNil(offersTasks.total) && offersTasks.count === offersTasks.total) {\n        yield unSubscribeTaskOffersSaga();\n    }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getEnsureCreatedRFQSaga(companyType: CompanyTypeEnum) {\n    return function* ensureCreatedRFQSaga(action: EnsureCreatedRFQActionT): WrapGeneratorT<void> {\n        const { rfqId } = action;\n        if (!rfqId) {\n            yield redirectToStartNewOrderSaga();\n            logWarning('empty rfqId');\n            return;\n        }\n\n        const createRFQStatus: ReturnType<typeof selectCreateRFQRequest> = yield select(selectCreateRFQRequest);\n        if (createRFQStatus.loading) {\n            return;\n        }\n\n        const currentRFQ: ReturnType<typeof selectRFQ> = yield select(selectRFQ);\n        const currentRoute: ReturnType<typeof selectPolylines> = yield select(selectPolylines);\n        const currentPriceOffers: ReturnType<typeof selectPriceOffers> = yield select(selectPriceOffers);\n        if (currentRFQ && currentRoute && currentPriceOffers) {\n            logWarning('some empty');\n            return;\n        }\n\n        yield put(createRFQBegin());\n\n        const response: ReturnApiT<typeof commonTranziitApi.getRFQDetails> = yield commonTranziitApi.getRFQDetails(\n            rfqId,\n        );\n        const [apiRFQError, apiRFQData] = response;\n\n        if (apiRFQError) {\n            yield put(createRFQError(apiRFQError));\n            return;\n        }\n\n        if (!apiRFQData) {\n            const error = new Error('empty apiRFQData');\n            yield put(createRFQError(error));\n            return;\n        }\n\n        const responsePriceOffers: ReturnApiT<typeof commonTranziitApi.getPriceOffers> =\n            yield commonTranziitApi.getPriceOffers(rfqId);\n        const [apiPriceOffersError, apiPriceOffers] = responsePriceOffers;\n\n        if (apiPriceOffersError) {\n            yield put(createRFQError(apiPriceOffersError));\n            return;\n        }\n\n        if (!apiPriceOffers) {\n            const error = new Error('empty apiPriceOffers!');\n            yield put(createRFQError(error));\n            return;\n        }\n\n        const priceOffers = (apiPriceOffers || []).map(preparePriceOffer);\n\n        const preparedRFQ = prepareRFQ(apiRFQData);\n\n        if (preparedRFQ?.polylineId) {\n            yield put(fetchRoute(preparedRFQ.polylineId));\n        }\n\n        yield put(createRFQSuccess(preparedRFQ));\n        yield put(fetchOffers(priceOffers));\n\n        const query = parseQuery(history.location.search);\n        if (query?.[QueryKeysEnum.orderCreationComplete]) {\n            const pickupDatesRange = uniq(priceOffers.map((priceOffer) => priceOffer.pickUpDate)).sort();\n            const dropOffDateRange = uniq(priceOffers.map((priceOffer) => priceOffer.dropOffDate)).sort();\n\n            const defaultAdditionalServices = getDefaultAdditionalServices();\n\n            const firstRFQPoint = preparedRFQ?.points?.[0];\n            const lastRFQPoint = preparedRFQ?.points ? preparedRFQ.points[preparedRFQ.points.length - 1] : null;\n\n            history.push({\n                search: formatQuery({\n                    ...query,\n                    [QueryKeysEnum.orderCreationAdditionalServices]: defaultAdditionalServices,\n                    [QueryKeysEnum.orderCreationPickUpDate]: firstRFQPoint?.fromDate,\n                    [QueryKeysEnum.orderCreationDropOffDate]: lastRFQPoint?.toDate,\n                    [QueryKeysEnum.orderCreationPickUpDatesRange]: pickupDatesRange,\n                    [QueryKeysEnum.orderCreationDropOffDatesRange]: dropOffDateRange,\n                }),\n            });\n        }\n    };\n}\n\nfunction getCreatedOrderSaga(isBroker: boolean) {\n    return function* createdOrderSaga(action: CreateOrderActionT): WrapGeneratorT<void> {\n        const { createOrderRequest, isCreateNextOrder, rfqId } = action;\n        yield put(createOrderBegin());\n\n        const responseCreateOrder: ReturnApiT<typeof commonTranziitApi.completeRFQ> =\n            yield commonTranziitApi.completeRFQ(rfqId, createOrderRequest);\n        const [error, data] = responseCreateOrder;\n        if (error) {\n            yield put(createOrderError(error));\n\n            if (\n                checkIsTranziitApiRequestError(error) &&\n                (error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreationExpiredRFQ ||\n                    error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreation_ExpiredPriceOffer ||\n                    error?.subType === TranziitApiRequestErrorSubTypeEnum.orderCreation_AlreadyCompletedRFQ)\n            ) {\n                history.push(OMSRoutesEnum.newOrder);\n            }\n        } else {\n            yield put(createOrderSuccess());\n\n            ordersRefreshChannel.emit({});\n\n            yield put(resetOrderCreation());\n\n            const cargoDetailsStorage = new ValuesStorage(CARGO_DETAILS_FORM_NAME);\n            cargoDetailsStorage.reset();\n\n            const shipmentDetailsStorage = new ValuesStorage(SHIPMENT_DETAIL_FORM_NAME);\n            shipmentDetailsStorage.reset();\n\n            if (isCreateNextOrder) {\n                history.push(commonUrlFactory.orderCreation());\n            } else if (!isBroker && data && 'orderId' in data) {\n                history.push(shipperUrlFactory.orderDetails(data.orderId));\n            } else if (isBroker && data && 'orderId' in data) {\n                history.push(brokerUrlFactory.brokerOrderDetails(data.orderId));\n            } else {\n                history.push({\n                    pathname: CommonRoutesEnum.home,\n                });\n            }\n        }\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getFetchRouteSaga(isBroker: boolean) {\n    return function* fetchRouteSaga(action: FetchRouteActionT): WrapGeneratorT<void> {\n        const { polylineId } = action;\n        if (!polylineId) {\n            logWarning('failed fetch route, empty polylineId');\n            return;\n        }\n\n        const [apiRouteError, apiRoute]: ReturnApiT<typeof commonTranziitApi.fetchRouteGeometryGoogle> =\n            yield commonTranziitApi.fetchRouteGeometryGoogle(polylineId);\n\n        if (apiRouteError) {\n            yield put(fetchRouteError(apiRouteError));\n            return;\n        }\n\n        if (!apiRoute) {\n            const error = new Error('empty apiRoute');\n            yield put(fetchRouteError(error));\n            return;\n        }\n\n        const polylines = apiRoute || [];\n\n        yield put(fetchRouteSuccess(polylines));\n    };\n}\n\n// eslint-disable-next-line require-yield\nfunction* selectOfferSaga(action: SelectOfferActionT): WrapGeneratorT<void> {\n    const { offer, rfqId } = action;\n\n    const pathname = generatePath(OMSRoutesEnum.newOrderDetails, {\n        rfqId,\n        offerId: offer.id,\n    });\n\n    history.push(pathname + history.location.search);\n}\n\nfunction* createReserveSaga(\n    isBroker: boolean,\n    createReserveQuery: CreateReserveQueryT | null,\n): WrapGeneratorT<ReserveQueryModifyEventT> {\n    let event: ReserveQueryModifyEventT = {};\n\n    let countrySettingsByCountryCode: ReturnType<typeof selectCountrySettingsByCountryCode> = yield select(\n        selectCountrySettingsByCountryCode,\n    );\n    if (isEmpty(countrySettingsByCountryCode)) {\n        yield take([COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS]);\n        countrySettingsByCountryCode = yield select(selectCountrySettingsByCountryCode);\n    }\n\n    const apiCreateReserveQuery = getApiReverseQuery(isBroker, createReserveQuery);\n\n    const isValidAddresses = createReserveQuery?.addresses?.every((address) => {\n        if (address?.type && !editablePointTypeSet.has(address.type)) {\n            return true;\n        }\n\n        const countryCode = address?.address?.country;\n        if (\n            countryCode &&\n            (!countrySettingsByCountryCode[countryCode]?.ship ||\n                createReserveQuery?.prohibitedCountries.includes(countryCode))\n        ) {\n            return false;\n        }\n\n        return true;\n    });\n\n    if (!isValidAddresses || !apiCreateReserveQuery) {\n        yield put(resetCreateReserveWithQuery(createReserveQuery));\n        return event;\n    }\n\n    yield put(createReserveBegin(createReserveQuery));\n\n    /* start debug logs */\n    logDebug(`New reserve [request]: ${JSON.stringify(apiCreateReserveQuery, null, 4)}`);\n    /* end debug logs */\n\n    let responseCreateReserve: ReturnApiT<typeof commonTranziitApi.createMultipointOrderReservation>;\n\n    const { shipperId, ...restApiCreateReserveQuery } = apiCreateReserveQuery;\n    if (isBroker) {\n        responseCreateReserve = yield commonTranziitApi.createMultipointOrderReservation(\n            restApiCreateReserveQuery,\n            shipperId || undefined,\n        );\n    } else {\n        responseCreateReserve = yield commonTranziitApi.createMultipointOrderReservation(restApiCreateReserveQuery);\n    }\n\n    /* start debug logs */\n    logDebug(`New reserve [response]: ${JSON.stringify(responseCreateReserve, null, 4)}`);\n    /* end debug logs */\n\n    const [error, reserve] = responseCreateReserve;\n    if (error) {\n        yield put(createReserveError(error, createReserveQuery));\n    }\n\n    if (reserve) {\n        const preparedReserve = preparePreview(reserve);\n        yield put(createReserveSuccess(preparedReserve, createReserveQuery));\n\n        event = {\n            correctedPoints: preparedReserve?.points,\n        };\n    }\n\n    const notes = reserve?.notes || [];\n    for (const note of notes) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.orderContextNote,\n                    data: {\n                        note,\n                    },\n                }),\n            ),\n        );\n    }\n\n    return event;\n}\n\nfunction* previewReserveSaga(\n    isBroker: boolean,\n    reservePreviewQuery: ReservePreviewQueryT | null,\n    reserve: ReserveT | null,\n): WrapGeneratorT<ReserveQueryModifyEventT> {\n    let event: ReserveQueryModifyEventT = {};\n\n    const apiReservePreviewQuery = getApiPreviewReverseQuery(reservePreviewQuery, reserve);\n    const reserveId = reservePreviewQuery?.reserveId;\n\n    if (!reservePreviewQuery || !apiReservePreviewQuery || !reserveId) {\n        return event;\n    }\n\n    yield put(previewReserveBegin(reservePreviewQuery));\n\n    /* start debug logs */\n    logDebug(`New reserve preview [request]: ${JSON.stringify({ reserveId, apiReservePreviewQuery }, null, 4)}`);\n    /* end debug logs */\n\n    const responsePreviewReserve: ReturnApiT<typeof commonTranziitApi.previewReserve> =\n        yield commonTranziitApi.previewReserve(\n            reserveId,\n            apiReservePreviewQuery,\n            reservePreviewQuery?.laneId || undefined,\n        );\n\n    /* start debug logs */\n    logDebug(`New reserve preview [response]: ${JSON.stringify(responsePreviewReserve, null, 4)}`);\n    /* end debug logs */\n\n    const [error, apiPreview] = responsePreviewReserve;\n    if (error) {\n        yield put(previewReserveError(error, reservePreviewQuery));\n    }\n    if (apiPreview) {\n        const preview = prepareReservePreview(apiPreview, reserve);\n        yield put(previewReserveSuccess(preview, reservePreviewQuery));\n\n        const addressAliasByPointId =\n            reserve?.points?.reduce<Record<RoutePointAddressAliasT, RoutePointIdT | null>>((acc, point) => {\n                acc[point.id] = point.addressAlias || createFakeIdFromPoint(point) || null;\n\n                return acc;\n            }, {}) || {};\n\n        event = {\n            correctedTimeWindowsByPointId: preview?.timeWindows?.reduce<\n                Record<RoutePointIdT, ReserveTimeWindowT | null>\n            >((acc, timeWindow) => {\n                if (timeWindow?.id) {\n                    const addressAlias = addressAliasByPointId[timeWindow.id];\n                    if (addressAlias) {\n                        acc[addressAlias] = timeWindow.correctedTimeWindow || null;\n                    }\n                }\n\n                return acc;\n            }, {}),\n            correctedBrokerWindowByPointId: preview?.timeWindows?.reduce<Record<RoutePointIdT, boolean | null>>(\n                (acc, timeWindow) => {\n                    if (timeWindow?.id) {\n                        const addressAlias = addressAliasByPointId[timeWindow.id];\n                        if (addressAlias) {\n                            acc[addressAlias] = timeWindow.correctedBrokerWindow || null;\n                        }\n                    }\n\n                    return acc;\n                },\n                {},\n            ),\n        };\n    }\n\n    return event;\n}\n\nfunction* changeReserveQuerySaga(\n    companyType: CompanyTypeEnum,\n    action: ChangeReserveQueryActionT,\n): WrapGeneratorT<ReserveQueryModifyEventT> {\n    let queryModifyEvent: ReserveQueryModifyEventT = {};\n\n    const isBroker = companyType === CompanyTypeEnum.broker;\n\n    let reserve: ReturnType<typeof selectReserve> = yield select(selectReserve);\n\n    const prevReserveQuery: ReturnType<typeof selectReserveQuery> = yield select(selectReserveQuery);\n    const prevReserveRequest: ReturnType<typeof selectReserveRequest> = yield select(selectReserveRequest);\n\n    const reverseQueryChanges = getReverseQueryChanges(action.changes, prevReserveQuery, reserve);\n    const currentReserveQuery = mergeReverseQueryChanges(prevReserveQuery, reverseQueryChanges);\n\n    const isSameReserveRequest = checkIsSameQuery(prevReserveQuery, currentReserveQuery);\n\n    const isExpiredReserve = reserve?.expireTime ? reserve?.expireTime < Date.now() : false;\n\n    const isInitReserveRequest = prevReserveRequest.initial && !reserve;\n\n    if (!isSameReserveRequest || isExpiredReserve || isInitReserveRequest) {\n        logDebug('diff reserve request', diff(prevReserveQuery || {}, currentReserveQuery || {}), {\n            prevReserveQuery,\n            currentReserveQuery,\n        });\n\n        yield put(setCreateReserveQuery(currentReserveQuery));\n\n        const reserveQueryModifyEvent = yield* createReserveSaga(isBroker, currentReserveQuery);\n\n        queryModifyEvent = {\n            ...queryModifyEvent,\n            ...reserveQueryModifyEvent,\n        };\n    }\n\n    reserve = yield select(selectReserve);\n\n    const reserveQueryCorrection = getReserveQueryCorrection(currentReserveQuery, reserve);\n    if (reserveQueryCorrection) {\n        yield put(correctReserveQuery(reserveQueryCorrection));\n    }\n\n    const prevReservePreviewQuery: ReturnType<typeof selectReservePreviewQuery> = yield select(\n        selectReservePreviewQuery,\n    );\n    const previewReverseQueryChanges = getPreviewReverseQueryChanges(action.changes, prevReservePreviewQuery, reserve);\n    let currentReservePreviewQuery = mergePreviewReverseQuery(prevReservePreviewQuery, previewReverseQueryChanges);\n    currentReservePreviewQuery = setReversePreviewDefaultQuery(currentReservePreviewQuery, reserve);\n\n    currentReservePreviewQuery = correctionPreviewReverseQueryAfterReserve(currentReservePreviewQuery, reserve);\n    const queryModifyEventAfterReserve = getQueryModifyEventAfterReserve(prevReservePreviewQuery, reserve);\n    queryModifyEvent = {\n        ...queryModifyEvent,\n        ...queryModifyEventAfterReserve,\n    };\n\n    const reservePreview: ReturnType<typeof selectReservePreview> = yield select(selectReservePreview);\n    const reservePreviewRequest: ReturnType<typeof selectReservePreviewRequest> = yield select(\n        selectReservePreviewRequest,\n    );\n    const isInitReservePreview = reservePreviewRequest.initial && !reservePreview;\n    const isSamePreviewRequest = checkIsSameQuery(prevReservePreviewQuery, currentReservePreviewQuery);\n    if (!isSamePreviewRequest || isInitReservePreview) {\n        logDebug('diff preview request', diff(prevReservePreviewQuery || {}, currentReservePreviewQuery || {}), {\n            prevReservePreviewQuery,\n            currentReservePreviewQuery,\n        });\n        yield put(setPreviewReserveQuery(currentReservePreviewQuery));\n\n        const previewReserveQueryModify = yield* previewReserveSaga(isBroker, currentReservePreviewQuery, reserve);\n\n        queryModifyEvent = {\n            ...queryModifyEvent,\n            ...previewReserveQueryModify,\n        };\n    }\n\n    const previewResults: ReturnType<typeof selectReservePreview> = yield select(selectReservePreview);\n    const previewReserveQueryCorrection = getPreviewReserveQueryCorrection(\n        currentReservePreviewQuery,\n        previewResults,\n        reserve,\n    );\n    if (previewReserveQueryCorrection) {\n        yield put(correctPreviewReserveQuery(previewReserveQueryCorrection));\n    }\n\n    return queryModifyEvent;\n}\n\n/**\n * @deprecated use simple buffer\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction createMergeActionsBuffer() {\n    let changes: ChangeReserveQueryActionT | null = null;\n\n    return {\n        isEmpty: (): boolean => {\n            return isEmpty(changes);\n        },\n        put: (action: ChangeReserveQueryActionT): void => {\n            if (!changes) {\n                changes = action;\n                return;\n            }\n\n            changes = {\n                ...changes,\n                changes: {\n                    ...changes?.changes,\n                    ...action?.changes,\n                },\n            };\n        },\n        take: (): ChangeReserveQueryActionT | undefined => {\n            const oldChanges = changes;\n\n            changes = null;\n\n            return oldChanges || undefined;\n        },\n        flush: (): ChangeReserveQueryActionT[] => {\n            const oldChanges = changes;\n\n            changes = null;\n\n            return oldChanges ? [oldChanges] : [];\n        },\n    };\n}\n\nclass QueryModifyEventsQueue {\n    private summaryEvent: ReserveQueryModifyEventT = {};\n\n    addEvent = (event: ReserveQueryModifyEventT) => {\n        this.summaryEvent = {\n            ...this.summaryEvent,\n            ...event,\n        };\n    };\n\n    flush = (): ReserveQueryModifyEventT => {\n        const prevSummaryEvent = this.summaryEvent;\n\n        this.summaryEvent = {};\n\n        return prevSummaryEvent;\n    };\n}\n\n// eslint-disable-next-line require-yield\nfunction* emitQueryModifyIfNeed(event: ReserveQueryModifyEventT): WrapGeneratorT<void> {\n    if (event && !isEmpty(event)) {\n        reserveQueryModifyChannel.emit(event);\n    }\n}\n\nfunction* watchSyncChangeReserveQuerySaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    const buffer = buffers.fixed<ChangeReserveQueryActionT>(100);\n    const channel = yield actionChannel(CHANGE_RESERVE_QUERY, buffer);\n    const queryModifyEventsQueue = new QueryModifyEventsQueue();\n\n    while (true) {\n        const action: ChangeReserveQueryActionT = yield take(channel);\n\n        yield put(setAllowCreateRFQ(false));\n\n        const queryModifyEvent = yield* changeReserveQuerySaga(companyType, action);\n        queryModifyEventsQueue.addEvent(queryModifyEvent);\n\n        if (buffer.isEmpty()) {\n            yield put(setAllowCreateRFQ(true));\n            yield emitQueryModifyIfNeed(queryModifyEventsQueue.flush());\n        }\n    }\n}\n\nfunction* watchPriceOffersExpirationSaga(): WrapGeneratorT<void> {\n    const REFRESH_INTERVAL = 30 * MS_IN_SEC;\n\n    while (true) {\n        yield delay(REFRESH_INTERVAL);\n\n        const priceOffers: ReturnType<typeof selectPriceOffersList> = yield select(selectPriceOffersList);\n\n        const expriredOfferIds = priceOffers\n            .filter((offer) => checkIsPastDate(offer.expirationMs))\n            .map((offer) => offer.id);\n\n        yield put(markOffersExpired(expriredOfferIds));\n    }\n}\n\nfunction* orderCreationSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    const isBroker = companyType === CompanyTypeEnum.broker;\n\n    yield takeEvery(CREATE_RFQ_REQUEST, getCreateRFQSaga(companyType));\n    yield takeEvery(CREATE_PRICE_OFFER_WITH_LANE_REQUEST, getCreatePriceOfferWithLaneSaga(companyType));\n    yield takeEvery(ENSURE_CREATED_RFQ, getEnsureCreatedRFQSaga(companyType));\n    yield takeEvery(CREATE_ORDER_REQUEST, getCreatedOrderSaga(isBroker));\n    yield takeEvery(FETCH_ROUTE, getFetchRouteSaga(isBroker));\n    yield takeEvery(SELECT_OFFER, selectOfferSaga);\n    yield takeEvery(FETCH_TASK_OFFER, fetchTaskOfferSaga);\n    yield takeEvery(PREVIEW_RESERVE_ERROR, handlePreviewReserveErrorSaga);\n    yield takeLatest(\n        [CREATE_RFQ_REQUEST_ERROR, CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR],\n        redirectToStartNewOrderSaga,\n    );\n\n    yield fork(watchSyncChangeReserveQuerySaga, companyType);\n    yield fork(watchPriceOffersExpirationSaga);\n}\n\nexport default orderCreationSaga;\n","import * as React from 'react';\nimport { memo } from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ControlLoaderLabel.scss';\nimport cs from 'classnames';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\nexport type PropsT = {\n    className?: string;\n    isInvert?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ControlLoaderLabel: React.FC<PropsT> = memo((props) => {\n    const { className, children, isInvert } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('loader', {\n                    'loader--is-invert': isInvert,\n                }),\n                className,\n            )}\n        >\n            <ControlLoaderIcon\n                opacity={1}\n                fillColor={isInvert ? StyleGuideColorsEnum.light : StyleGuideColorsEnum.slate}\n                size={DEFAULT_ICON_SIZE}\n            />\n            <span\n                className={cx('loader__text', {\n                    'loader__text--is-invert': isInvert,\n                })}\n            >\n                {children}\n            </span>\n        </div>\n    );\n});\n\nexport default ControlLoaderLabel;\n","import { SpotRequestsStatsStateT } from './types';\nimport { StateT } from '../models';\n\nexport const selectSpotRequestsStatsRequest = (state: StateT): SpotRequestsStatsStateT['fetchRequest'] =>\n    state.spotRequestsStats.fetchRequest;\n\nexport const selectSpotRequestsStats = (state: StateT): SpotRequestsStatsStateT['stats'] =>\n    state.spotRequestsStats.stats;\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerOrderDetails.scss';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport RouteLocationsOverview from 'common/components/entity-details/RouteLocationsOverview/RouteLocationsOverview';\nimport { PartnerTypeEnum, ShipmentWarningEnum, TransportOrderStatusEnum } from 'common/utils/api/models';\nimport { finallyStatusSet } from 'broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/constants';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { urlFactory } from '../../../../utils/urls';\nimport ExcludedCountries from 'common/components/entity-details/ExcludedCountries/ExcludedCountries';\n\nimport ShipperIcon from 'common/icons/ShipperIcon';\nimport { convertToKm } from 'common/utils/distance';\nimport DeprecateTourPapersCard from 'common/components/DeprecateTourPapersCard/DeprecateTourPapersCard';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport InvoiceBinaryStatusPill from 'common/components/status-pill/InvoiceBinaryStatusPill/InvoiceBinaryStatusPill';\nimport ShipperPriceOfferInfoTable from 'common/components/info-tables/ShipperPriceOfferInfoTable/ShipperPriceOfferInfoTable';\nimport CarrierCostPriceInfoTable from 'broker-admin/components/info-tables/CarrierCostPriceInfoTable/CarrierCostPriceInfoTable';\nimport { useMoneyDiff } from 'common/utils/hooks/useMoneyDiff';\nimport Invoice2Icon from 'common/icons/Invoice2Icon';\nimport PaperIcon from 'common/icons/PaperIcon';\nimport LinkFormatter from 'design-system/components/InfoTable/formatters/LinkFormatter/LinkFormatter';\nimport ShipperContractStatusPill from 'common/components/status-pill/ShipperContractStatusPill/ShipperContractStatusPill';\nimport ShipperContractLaneStatusPill from 'common/components/status-pill/ShipperContractLaneStatusPill/ShipperContractLaneStatusPill';\nimport ShipperContractLaneOrderCounterPill from 'common/components/pills/ShipperContractLaneOrderCounterPill/ShipperContractLaneOrderCounterPill';\nimport ButtonTabs, { ButtonTabCountThemeEnum, ButtonTabT } from 'common/components/tabs/ButtonTabs/ButtonTabs';\nimport { useTabs } from 'common/components/tabs/hooks';\nimport TourDetailsCard from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TourDetailsCard/TourDetailsCard';\nimport ShipmentDetailsCard from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/ShipmentDetailsCard/ShipmentDetailsCard';\nimport TransportOrderDetailsCard from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TransportOrderDetailsCard/TransportOrderDetailsCard';\nimport AsyncTrailerTypeFormatter from 'design-system/components/InfoTable/formatters/AsyncTrailerTypeFormatter/AsyncTrailerTypeFormatter';\nimport keyBy from 'lodash/keyBy';\nimport EmissionClassFormatter from 'design-system/components/InfoTable/formatters/EmissionClassFormatter/EmissionClassFormatter';\nimport { useBrokerOrderPayloadWaypoints } from 'broker-admin/utils/hooks/useBrokerOrderPayloadWaypoints';\nimport { findTourActualTransportOrders } from 'broker-admin/store/broker-order-details/utils/find-actual-transport-order';\n\nimport { formatISOTime, formatISOTimeWithoutTimezone } from 'common/utils/time';\nimport isNumber from 'lodash/isNumber';\nimport max from 'lodash/max';\nimport min from 'lodash/min';\nimport { useDistanceByCountryRows } from 'common/components/entity-details/hooks/distanceByCountry';\nimport { isNonNil } from 'common/utils';\nimport scrollIntoView from 'scroll-into-view';\nimport { getShipmentAnchor } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/ShipmentDetailsCard/utils';\nimport { useAttachTourPapers } from 'common/components/papers/hooks/use-attach-tour-papers';\nimport EntityWarningAlert from 'common/components/entity-details/alerts/EntityWarningAlert';\nimport EntityCriticalWarningAlert from 'common/components/entity-details/alerts/EntityCriticalWarningAlert';\nimport { AlertGroup } from 'common/layouts/AlertGroup/AlertGroup';\nimport EntityEtaAlert from 'common/components/entity-details/alerts/EntityEtaAlert';\nimport ViolationTemperatureAlert from 'common/components/entity-details/alerts/ViolationTemperatureAlert';\nimport DelayingWarningAlert from 'common/components/entity-details/alerts/DelayingWarningAlert';\nimport { checkTemperatureViolation } from 'common/components/entity-details/utils/check-temperature-violation';\nimport { useDistanceRowsFactory } from 'common/components/entity-details/hooks/distance-rows-factory';\nimport { useShipperOrderDetailsRowsFactory } from 'common/components/entity-details/hooks/shipper-order-details-rows-factory';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport { deprecatedUseAttachTourPapers } from 'common/components/papers/hooks/deprecated-use-attach-tour-papers';\nimport { brokerTourPapersUrlFactory } from 'broker-admin/utils/tour-papers-url-factory';\nimport ImageGalleryModal from 'common/components/papers/modals/ImageGalleryModal/ImageGalleryModal';\nimport DeletePaperConfirmation from 'common/components/papers/dialogs/DeletePaperConfirmation/DeletePaperConfirmation';\nimport { useAttachShipmentPapers } from 'common/components/papers/hooks/use-attach-shipment-papers';\nimport { brokerShipmentPapersUrlFactory } from 'broker-admin/utils/shipment-papers-url-factory';\nimport HighlightedEntityContext from 'common/components/status-machine/contexts/HighlightedEntityContext';\n\ntype PropsT = {\n    isDisableAnyActions: boolean;\n    brokerOrderDetails: BrokerOrderDetailsT | null | undefined;\n    onOpenUserDetails: (params: {\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n        userId: UserIdT | null;\n    }) => void;\n    onStartAssignment: (tourId: TourIdT) => void;\n    onStartSendToSpot: (tourId: TourIdT) => void;\n    onStartEditTimeWindows: (tourId: TourIdT) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nenum TabEnum {\n    tours = 'tours',\n    shipments = 'shipments',\n    transportOrders = 'transport-orders',\n}\n\nconst TODO = 'TODO';\n\nconst BrokerOrderDetails: React.FC<PropsT> = React.memo((props) => {\n    const {\n        brokerOrderDetails,\n        isDisableAnyActions,\n        onOpenUserDetails,\n        onStartEditTimeWindows,\n        onStartAssignment,\n        onStartSendToSpot,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isNewPapersAttachmentActive = featuresContext?.checkActiveClientFeature?.(\n        ClientFeatureEnum.newPapersAttachment,\n    );\n\n    const { onAttachTourPapers: deprecatedOnAttachTourPapers } = deprecatedUseAttachTourPapers({ isBroker: true });\n\n    const {\n        onAttachTourPaper,\n        onDeleteTourPaper,\n        onConfirmDeleteTourPaper,\n        deleteTourPaperRequestStatus,\n        onDownloadTourPaper,\n        onOpenGalleryTourPaper,\n        getTourPaperThumbnailUrl,\n        deleteTourPaperConfirmationDialog,\n        tourPaperGalleryModal,\n    } = useAttachTourPapers(brokerTourPapersUrlFactory);\n\n    const {\n        onAttachShipmentPaper,\n        onDeleteShipmentPaper,\n        onConfirmDeleteShipmentPaper,\n        deleteShipmentPaperRequestStatus,\n        onDownloadShipmentPaper,\n        onOpenGalleryShipmentPaper,\n        getShipmentPaperThumbnailUrl,\n        deleteShipmentPaperConfirmationDialog,\n        shipmentPaperGalleryModal,\n    } = useAttachShipmentPapers(brokerShipmentPapersUrlFactory);\n\n    const tours = useMemo(() => {\n        return brokerOrderDetails?.tours || [];\n    }, [brokerOrderDetails]);\n\n    const { activeTabType, setActiveTabType } = useTabs<TabEnum>(TabEnum.tours);\n\n    const { setHighlightedEntityId: setHighlightedShipmentId } = React.useContext(HighlightedEntityContext);\n\n    const ref = React.useRef<HTMLDivElement>(null);\n\n    const firstNeedTakeOfParersTourId = React.useMemo(() => {\n        const targetTour = brokerOrderDetails?.tours?.find((tour) => {\n            return tour?.availableSteps?.current?.shipments?.some((shipments) => {\n                return shipments?.actions?.some((shipmentAction) => {\n                    return shipmentAction?.type === 'TAKE_SHOTS_OF_PAPERS';\n                });\n            });\n        });\n        if (targetTour?.id) {\n            return targetTour.id;\n        }\n\n        return brokerOrderDetails?.tours?.[0]?.id || null;\n    }, [brokerOrderDetails]);\n\n    const onManageShipment = (shipmentId: ShipmentIdT) => {\n        setActiveTabType(TabEnum.shipments);\n        setTimeout(() => {\n            const anchor = getShipmentAnchor(shipmentId);\n            const targetNode = ref?.current?.querySelector(`[data-anchor=\"${anchor}\"]`);\n            if (!targetNode) {\n                return;\n            }\n\n            setHighlightedShipmentId(shipmentId);\n\n            scrollIntoView(targetNode as HTMLElement, {\n                align: {\n                    top: 0.2,\n                },\n            });\n        }, 1000);\n    };\n\n    const allWaypoints = useMemo(() => {\n        return tours?.flatMap((tour) => tour?.waypoints).filter(isNonNil);\n    }, [tours]);\n\n    const waypointById = useMemo(() => {\n        return keyBy(allWaypoints, 'id');\n    }, [allWaypoints]);\n\n    const carrierTransportOrders = useMemo(() => {\n        return brokerOrderDetails?.tours\n            .map((tour) => {\n                const { carrierTransportOrder } = findTourActualTransportOrders(\n                    brokerOrderDetails?.transportationOrders,\n                    tour?.id,\n                );\n\n                return carrierTransportOrder;\n            })\n            .filter(isNonNil);\n    }, [brokerOrderDetails]);\n\n    const priceOffer = brokerOrderDetails?.priceOffer || null;\n\n    const distanceByCountryRows = useDistanceByCountryRows(priceOffer?.distances?.byCountry);\n\n    const distanceRowsFactory = useDistanceRowsFactory();\n\n    const mileageDetails: Array<InfoTableRowT | null> = [\n        {\n            ...distanceRowsFactory.totalDistance(convertToKm(priceOffer?.distances?.totalDistance)),\n            rows: distanceByCountryRows,\n        },\n    ];\n\n    const shipperOrderDetailsRowsFactory = useShipperOrderDetailsRowsFactory();\n\n    const moveDetails: Array<InfoTableRowT> = [\n        {\n            ...shipperOrderDetailsRowsFactory.trailerType(),\n            value: <AsyncTrailerTypeFormatter trailerDictId={brokerOrderDetails?.trailerInfo?.id} />,\n        },\n        {\n            ...shipperOrderDetailsRowsFactory.emissionClass(),\n            value: <EmissionClassFormatter emissionClass={brokerOrderDetails?.emissionClass} />,\n        },\n    ];\n\n    const carrierTotalCostDiff = useMoneyDiff(\n        brokerOrderDetails?.fullCarrierCost?.totalCost,\n        brokerOrderDetails?.priceOffer?.totalPrice,\n    );\n\n    const createdBy = brokerOrderDetails?.createdBy || null;\n    const shipper = brokerOrderDetails?.shipper || null;\n\n    const creationDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: <ShipperIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-entity-details.columns.shipper'),\n            value: brokerOrderDetails?.shipper ? (\n                <LinkFormatter to={urlFactory.partnerDetails(PartnerTypeEnum.shipper, brokerOrderDetails.shipper.id)}>\n                    {brokerOrderDetails.shipper.name}\n                </LinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'shipper',\n            rows: [\n                {\n                    icon: null,\n                    name: t('broker-entity-details.columns.order-created-on'),\n                    value: <DateFormatter date={brokerOrderDetails?.createdDate} format=\"DD MMM YYYY, HH:mm\" />,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'order-created-on',\n                },\n                {\n                    icon: null,\n                    name: t('broker-entity-details.columns.order-created-by'),\n                    value:\n                        createdBy && shipper ? (\n                            <LinkFormatter\n                                onClick={() => {\n                                    onOpenUserDetails({\n                                        partnerType: PartnerTypeEnum.shipper,\n                                        partnerId: shipper.id,\n                                        userId: createdBy.id,\n                                    });\n                                }}\n                            >\n                                {createdBy?.fullName}\n                            </LinkFormatter>\n                        ) : null,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'order-created-by',\n                },\n                featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.invoices)\n                    ? {\n                          icon: (\n                              <Invoice2Icon\n                                  size={DEFAULT_ICON_SIZE}\n                                  strokeColor={StyleGuideColorsEnum.gray}\n                                  fillColor={StyleGuideColorsEnum.light}\n                              />\n                          ),\n                          name: t('broker-entity-details.columns.invoice'),\n                          value: brokerOrderDetails?.invoiceNumber,\n                          emptyValue: t('common:info-table.placeholders.not-specified'),\n                          isBoldValue: true,\n                          rightNode: <InvoiceBinaryStatusPill isSymmetrical isPaid={!!brokerOrderDetails?.paid} />,\n                          testSelector: 'invoice',\n                      }\n                    : null,\n                brokerOrderDetails?.shipperContract\n                    ? {\n                          icon: (\n                              <PaperIcon\n                                  size={DEFAULT_ICON_SIZE}\n                                  strokeColor={StyleGuideColorsEnum.gray}\n                                  fillColor={StyleGuideColorsEnum.light}\n                              />\n                          ),\n                          name: t('broker-entity-details.columns.shipper-contract'),\n                          value:\n                              brokerOrderDetails?.shipper && brokerOrderDetails?.shipperContract ? (\n                                  <LinkFormatter\n                                      to={urlFactory.partnerShipperContactDetails({\n                                          partnerId: brokerOrderDetails.shipper.id,\n                                          partnerType: PartnerTypeEnum.shipper,\n                                          shipperContractId: brokerOrderDetails.shipperContract.id,\n                                      })}\n                                  >\n                                      {brokerOrderDetails?.shipperContract?.name}\n                                  </LinkFormatter>\n                              ) : null,\n                          emptyValue: t('common:info-table.placeholders.not-specified'),\n                          rightNode: brokerOrderDetails?.shipperContract ? (\n                              <ShipperContractStatusPill\n                                  isSymmetrical\n                                  status={brokerOrderDetails?.shipperContract?.status}\n                              />\n                          ) : null,\n                          isBoldValue: true,\n                          testSelector: 'shipper-contract',\n                      }\n                    : null,\n                brokerOrderDetails?.shipperContractLane\n                    ? {\n                          icon: (\n                              <PaperIcon\n                                  size={DEFAULT_ICON_SIZE}\n                                  strokeColor={StyleGuideColorsEnum.gray}\n                                  fillColor={StyleGuideColorsEnum.light}\n                              />\n                          ),\n                          name: t('broker-entity-details.columns.shipper-contract-lane'),\n                          value:\n                              brokerOrderDetails?.shipper &&\n                              brokerOrderDetails?.shipperContract &&\n                              brokerOrderDetails?.shipperContractLane ? (\n                                  <LinkFormatter\n                                      to={urlFactory.partnerShipperContractLane({\n                                          partnerId: brokerOrderDetails.shipper.id,\n                                          partnerType: PartnerTypeEnum.shipper,\n                                          contractId: brokerOrderDetails.shipperContract.id,\n                                          laneId: brokerOrderDetails.shipperContractLane.id,\n                                      })}\n                                  >\n                                      {brokerOrderDetails?.shipperContractLane?.tztLaneId}\n                                  </LinkFormatter>\n                              ) : null,\n                          rightNode: (\n                              <>\n                                  <ShipperContractLaneOrderCounterPill\n                                      ordersLeft={brokerOrderDetails?.shipperContractLane?.ordersLeft}\n                                      maxNumberOfOrders={brokerOrderDetails?.shipperContractLane?.maxNumberOfOrders}\n                                      status={brokerOrderDetails?.shipperContract?.status}\n                                      isSymmetrical\n                                  />\n                                  <ShipperContractLaneStatusPill\n                                      isSymmetrical\n                                      status={brokerOrderDetails?.shipperContractLane?.status}\n                                  />\n                              </>\n                          ),\n                          emptyValue: t('common:info-table.placeholders.not-specified'),\n                          isBoldValue: true,\n                          testSelector: 'shipper-contract-lane',\n                      }\n                    : null,\n            ],\n        },\n    ];\n\n    const tabs = useMemo((): Array<ButtonTabT<TabEnum> | null> => {\n        const transportOrderCount = brokerOrderDetails?.transportationOrders?.length || 0;\n\n        const tourCount = brokerOrderDetails?.tours?.length || 0;\n\n        const shipmentCount = brokerOrderDetails?.shipments?.length || 0;\n\n        return [\n            tourCount\n                ? {\n                      type: TabEnum.tours,\n                      label: t('broker-order-details.tab-titles.tours'),\n                      counter: {\n                          value: tourCount,\n                          theme: ButtonTabCountThemeEnum.warning,\n                      },\n                  }\n                : null,\n            shipmentCount\n                ? {\n                      type: TabEnum.shipments,\n                      label: t('broker-order-details.tab-titles.shipments'),\n                      counter: {\n                          value: shipmentCount,\n                          theme: ButtonTabCountThemeEnum.normal,\n                      },\n                  }\n                : null,\n            transportOrderCount\n                ? {\n                      type: TabEnum.transportOrders,\n                      label: t('broker-order-details.tab-titles.transport-orders'),\n                      counter: {\n                          value: transportOrderCount,\n                          theme: ButtonTabCountThemeEnum.normal,\n                      },\n                  }\n                : null,\n        ];\n    }, [t, brokerOrderDetails]);\n\n    const { originWaypoint, destinationWaypoint } = useBrokerOrderPayloadWaypoints(allWaypoints);\n\n    const allShipments = useMemo(() => {\n        return brokerOrderDetails?.shipments || [];\n    }, [brokerOrderDetails]);\n\n    const requiredTemperatureMin = useMemo(() => {\n        return max(\n            allShipments.map((shipment) => {\n                return shipment?.lowestTemperature;\n            }),\n        );\n    }, [allShipments]);\n\n    const requiredTemperatureMax = useMemo(() => {\n        return min(\n            allShipments.map((shipment) => {\n                return shipment?.highestTemperature;\n            }),\n        );\n    }, [allShipments]);\n\n    const hasNotShowShipments = useMemo(() => {\n        return allShipments.some((shipment) => {\n            return shipment?.warning === ShipmentWarningEnum.noShow;\n        });\n    }, [allShipments]);\n\n    const hasMissedShipments = useMemo(() => {\n        return allShipments.some((shipment) => {\n            return shipment?.warning === ShipmentWarningEnum.missed;\n        });\n    }, [allShipments]);\n\n    const isLastNotFinallyShipment = useMemo(() => {\n        return (\n            allShipments?.filter((shipment) => {\n                return !finallyStatusSet.has(shipment.status);\n            })?.length === 1\n        );\n    }, [allShipments]);\n\n    const reeferTemperatureMin = brokerOrderDetails?.trailerTemperature?.reeferTemperatureMin;\n    const reeferTemperatureMax = brokerOrderDetails?.trailerTemperature?.reeferTemperatureMax;\n    const hasTemperatureViolation = checkTemperatureViolation({\n        reeferTemperatureMin,\n        reeferTemperatureMax,\n        requiredTemperatureMin,\n        requiredTemperatureMax,\n    });\n\n    if (!brokerOrderDetails) {\n        return null;\n    }\n\n    return (\n        <div ref={ref}>\n            <RouteLocationsOverview\n                className={cx('route')}\n                origin={originWaypoint?.address}\n                pickupDockingHoursFrom={originWaypoint?.correctedDateTimeFrom || originWaypoint?.originalDateTimeFrom}\n                pickupDockingHoursTo={originWaypoint?.correctedDateTimeTo || originWaypoint?.originalDateTimeTo}\n                destination={destinationWaypoint?.address}\n                dropOffDockingHoursFrom={\n                    destinationWaypoint?.correctedDateTimeFrom || destinationWaypoint?.originalDateTimeFrom\n                }\n                dropOffDockingHoursTo={\n                    destinationWaypoint?.correctedDateTimeTo || destinationWaypoint?.originalDateTimeTo\n                }\n            />\n            <ExcludedCountries\n                className={cx('excluded-countries')}\n                titleNode={t('broker-order-details.excluded-countries.title')}\n                countryCodes={brokerOrderDetails?.prohibitedCountries || []}\n                tooltipNode={t('broker-order-details.excluded-countries.tooltip')}\n            />\n            {!TODO && (\n                <ExcludedCountries\n                    className={cx('excluded-countries')}\n                    titleNode={t('broker-order-details.broker-excluded-countries.title')}\n                    countryCodes={brokerOrderDetails?.prohibitedCountries || []}\n                    tooltipNode={t('broker-order-details.broker-excluded-countries.tooltip')}\n                />\n            )}\n            <AlertGroup className={cx('alerts')}>\n                {tours.map((tour) => (\n                    <>\n                        {tour?.runningOutOfTimeToAssignAsset && (\n                            <EntityWarningAlert key={`runningOutOfTimeToAssignAsset-${tour?.id}`}>\n                                {t('broker-entity-details.alerts.running-out-of-time-assign-assets')}\n                            </EntityWarningAlert>\n                        )}\n                        {tour?.runOutOfTimeToAssignAsset && (\n                            <EntityCriticalWarningAlert key={`runOutOfTimeToAssignAsset-${tour?.id}`}>\n                                {t('broker-entity-details.alerts.run-out-of-time-assign-assets')}\n                            </EntityCriticalWarningAlert>\n                        )}\n                        {tour?.runningOutOfTimeToAssignDriver && (\n                            <EntityWarningAlert key={`runningOutOfTimeToAssignDriver-${tour?.id}`}>\n                                {t('broker-entity-details.alerts.running-out-of-time-assign-driver')}\n                            </EntityWarningAlert>\n                        )}\n                        {tour?.runOutOfTimeToAssignDriver && (\n                            <EntityCriticalWarningAlert key={`runOutOfTimeToAssignDriver-${tour?.id}`}>\n                                {t('broker-entity-details.alerts.run-out-of-time-assign-driver')}\n                            </EntityCriticalWarningAlert>\n                        )}\n                        {tour?.runningOutOfTimeToAssignCarrier && (\n                            <EntityWarningAlert key={`runningOutOfTimeToAssignCarrier-${tour?.id}`}>\n                                {t('broker-entity-details.alerts.running-out-of-time-assign-carrier')}\n                            </EntityWarningAlert>\n                        )}\n                        {tour?.runOutOfTimeToAssignCarrier && (\n                            <EntityCriticalWarningAlert key={`runOutOfTimeToAssignCarrier-${tour?.id}`}>\n                                {t('broker-entity-details.alerts.run-out-of-time-assign-carrier')}\n                            </EntityCriticalWarningAlert>\n                        )}\n                        {tour?.delaying && (\n                            <DelayingWarningAlert key={`delaying-${tour?.id}`}>\n                                {t('broker-entity-details.alerts.delaying', {\n                                    time: brokerOrderDetails?.eta ? formatISOTime(brokerOrderDetails?.eta) : '',\n                                })}\n                            </DelayingWarningAlert>\n                        )}\n                    </>\n                ))}\n                {hasTemperatureViolation && (\n                    <ViolationTemperatureAlert key=\"violation-temperature\">\n                        {t('broker-entity-details.alerts.violation-temperature-mode', {\n                            currentMin: reeferTemperatureMin,\n                            currentMax: reeferTemperatureMax,\n                            requiredMin: requiredTemperatureMin,\n                            requiredMax: requiredTemperatureMax,\n                        })}\n                    </ViolationTemperatureAlert>\n                )}\n                {carrierTransportOrders?.map((carrierTransportOrder) => {\n                    return (\n                        <>\n                            {carrierTransportOrder?.status === TransportOrderStatusEnum.declined && (\n                                <EntityWarningAlert key={`declined-transport-order-${carrierTransportOrder.id}`}>\n                                    {t('broker-entity-details.alerts.carrier-declined-transport-order')}\n                                </EntityWarningAlert>\n                            )}\n                            {isNumber(reeferTemperatureMin) && isNumber(reeferTemperatureMax) && (\n                                <EntityEtaAlert key={`current-temperature-${carrierTransportOrder?.id}`}>\n                                    {t('broker-entity-details.alerts.current-temperature', {\n                                        min: reeferTemperatureMin,\n                                        max: reeferTemperatureMax,\n                                    })}\n                                </EntityEtaAlert>\n                            )}\n                        </>\n                    );\n                })}\n                {hasMissedShipments && (\n                    <EntityCriticalWarningAlert key=\"missed-shipments\">\n                        {t('broker-entity-details.alerts.missed-shipments')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {hasNotShowShipments && (\n                    <EntityCriticalWarningAlert key=\"no-show-shipments\">\n                        {t('broker-entity-details.alerts.no-show-shipments')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {brokerOrderDetails?.eta && (\n                    <EntityEtaAlert\n                        key=\"eta\"\n                        tooltipContent={\n                            brokerOrderDetails?.truckCoordinatesUpdatedAt\n                                ? t('broker-entity-details.alerts.sync-time', {\n                                      time: formatISOTimeWithoutTimezone(brokerOrderDetails?.truckCoordinatesUpdatedAt),\n                                  })\n                                : null\n                        }\n                    >\n                        {t('broker-entity-details.alerts.eta', { time: formatISOTime(brokerOrderDetails?.eta) })}\n                    </EntityEtaAlert>\n                )}\n            </AlertGroup>\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table', 'table--creation-details')}\n                rows={creationDetails}\n                testSelector=\"creation-details\"\n            />\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table', 'table--mileage')}\n                rows={mileageDetails}\n                testSelector=\"mileage-details\"\n            />\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table', 'table--move-details')}\n                rows={moveDetails}\n                testSelector=\"move-details\"\n            />\n            <ShipperPriceOfferInfoTable\n                className={cx('table', 'table--shipper-price')}\n                totalPriceLabel={t('broker-entity-details.columns.shipper-price')}\n                totalPriceTooltip={t('broker-entity-details.column-placeholders.shipper-price')}\n                hasContract={!!brokerOrderDetails?.shipperContract}\n                totalPrice={brokerOrderDetails?.priceOffer?.totalPrice}\n                lineHaulCost={brokerOrderDetails?.priceOffer?.lineHaul}\n                teamDriveCost={brokerOrderDetails?.priceOffer?.teamDriveCost}\n                travelHours={brokerOrderDetails?.priceOffer?.teamDriveHours}\n                co2={brokerOrderDetails?.priceOffer?.co2}\n                tollCost={brokerOrderDetails?.priceOffer?.toll?.totalCost}\n                tollByRoadType={brokerOrderDetails?.priceOffer?.toll?.byRoadType}\n                tranziitServiceFee={brokerOrderDetails?.priceOffer?.serviceFee}\n                layoverCost={brokerOrderDetails?.priceOffer?.layover?.totalCost}\n                layoverSeconds={brokerOrderDetails?.priceOffer?.layover?.totalSeconds}\n                layoverPaidHours={brokerOrderDetails?.priceOffer?.layover?.paidHours}\n                fuelDetails={brokerOrderDetails?.priceOffer?.fuel}\n                additionalServiceItems={brokerOrderDetails?.priceOffer?.additionalServices?.items}\n                appliedRules={brokerOrderDetails?.priceOffer?.appliedRules}\n                shouldAlwaysRenderExpandTrigger\n            />\n            <div className={cx('separator')} />\n            <CarrierCostPriceInfoTable\n                className={cx('table')}\n                totalPrice={brokerOrderDetails?.carrierEstimatedCost?.totalCost}\n                totalPriceLabel={t('broker-entity-details.columns.carrier-estimated-cost')}\n                totalPriceTooltip={t('broker-entity-details.column-placeholders.carrier-estimated-cost')}\n                lineHaulCost={brokerOrderDetails?.carrierEstimatedCost?.lineHaul}\n                tollCost={brokerOrderDetails?.carrierEstimatedCost?.toll?.totalCost}\n                tollByRoadType={brokerOrderDetails?.carrierEstimatedCost?.toll?.byRoadType}\n                co2={brokerOrderDetails?.carrierEstimatedCost?.co2}\n                layoverCost={brokerOrderDetails?.carrierEstimatedCost?.layover?.totalCost}\n                layoverSeconds={brokerOrderDetails?.carrierEstimatedCost?.layover?.totalSeconds}\n                layoverPaidHours={brokerOrderDetails?.carrierEstimatedCost?.layover?.paidHours}\n                fuelDetails={brokerOrderDetails?.carrierEstimatedCost?.fuel}\n                teamDriveCost={brokerOrderDetails?.carrierEstimatedCost?.teamDriveCost}\n                travelHours={brokerOrderDetails?.carrierEstimatedCost?.teamDriveHours}\n                additionalServiceItems={brokerOrderDetails?.carrierEstimatedCost?.additionalServices?.items}\n                appliedRules={brokerOrderDetails?.carrierEstimatedCost?.appliedRules}\n                testSelector=\"estimated-carrier-cost\"\n                shouldAlwaysRenderExpandTrigger\n            />\n            <div className={cx('separator')} />\n            <CarrierCostPriceInfoTable\n                className={cx('table', 'table--carrier-cost')}\n                totalPrice={brokerOrderDetails?.fullCarrierCost?.totalCost}\n                totalPriceDiff={carrierTotalCostDiff}\n                totalPriceIsInvertedPriceDiff\n                totalPriceLabel={t('broker-entity-details.columns.carrier-cost')}\n                lineHaulCost={brokerOrderDetails?.fullCarrierCost?.lineHaul}\n                tollCost={brokerOrderDetails?.fullCarrierCost?.toll?.totalCost}\n                tollByRoadType={brokerOrderDetails?.fullCarrierCost?.toll?.byRoadType}\n                co2={brokerOrderDetails?.fullCarrierCost?.co2}\n                layoverCost={brokerOrderDetails?.fullCarrierCost?.layover?.totalCost}\n                layoverSeconds={brokerOrderDetails?.fullCarrierCost?.layover?.totalSeconds}\n                layoverPaidHours={brokerOrderDetails?.fullCarrierCost?.layover?.paidHours}\n                fuelDetails={brokerOrderDetails?.fullCarrierCost?.fuel}\n                teamDriveCost={brokerOrderDetails?.fullCarrierCost?.teamDriveCost}\n                travelHours={brokerOrderDetails?.fullCarrierCost?.teamDriveHours}\n                additionalServiceItems={brokerOrderDetails?.fullCarrierCost?.additionalServices?.items}\n                deadheadLineHaulCost={brokerOrderDetails?.fullCarrierCost?.deadhead?.lineHaul}\n                payloadLineHaulCost={brokerOrderDetails?.fullCarrierCost?.payload?.lineHaul}\n                appliedRules={brokerOrderDetails?.fullCarrierCost?.appliedRules}\n                testSelector=\"carrier-cost\"\n                shouldAlwaysRenderExpandTrigger\n            />\n            <ButtonTabs\n                className={cx('tabs')}\n                activeTabType={activeTabType}\n                setActiveTabType={setActiveTabType}\n                tabs={tabs}\n            />\n            {activeTabType === TabEnum.tours && (\n                <>\n                    {brokerOrderDetails?.tours?.map((tour, tourIndex) => {\n                        return (\n                            <TourDetailsCard\n                                key={`tourIndex-${tourIndex}`}\n                                tour={tour}\n                                tourNumber={tourIndex + 1}\n                                className={cx('entry-card')}\n                                isDisableAnyActions={isDisableAnyActions}\n                                onStartAssignment={onStartAssignment}\n                                onStartSendToSpot={onStartSendToSpot}\n                                onStartEditTimeWindows={onStartEditTimeWindows}\n                                keyboardShortcut={String(tourIndex + 1)}\n                                onManageShipment={onManageShipment}\n                                transportationOrders={brokerOrderDetails?.transportationOrders || null}\n                                onAttachTourPaper={onAttachTourPaper}\n                                getTourPaperThumbnailUrl={getTourPaperThumbnailUrl}\n                                onOpenGalleryTourPaper={onOpenGalleryTourPaper}\n                                onDownloadTourPaper={onDownloadTourPaper}\n                                onDeleteTourPaper={onDeleteTourPaper}\n                                onOpenUserDetails={onOpenUserDetails}\n                            />\n                        );\n                    })}\n                </>\n            )}\n            {activeTabType === TabEnum.transportOrders && (\n                <>\n                    {brokerOrderDetails?.transportationOrders?.map((transportationOrder, transportationOrderIndex) => {\n                        return (\n                            <TransportOrderDetailsCard\n                                key={`transportationOrderIndex-${transportationOrderIndex}`}\n                                transportOrderDetails={transportationOrder}\n                                transportOrderNumber={transportationOrder.number}\n                                className={cx('entry-card')}\n                                keyboardShortcut={String(transportationOrderIndex + 1)}\n                            />\n                        );\n                    })}\n                </>\n            )}\n            {activeTabType === TabEnum.shipments && (\n                <>\n                    {brokerOrderDetails?.shipments?.map((shipment, shipmentIndex) => {\n                        return (\n                            <ShipmentDetailsCard\n                                key={shipmentIndex}\n                                brokerOrderDetails={brokerOrderDetails}\n                                shipment={shipment}\n                                waypointById={waypointById}\n                                shipmentNumber={shipmentIndex + 1}\n                                className={cx('entry-card')}\n                                keyboardShortcut={String(shipmentIndex + 1)}\n                                onAttachTourPapers={deprecatedOnAttachTourPapers}\n                                onAttachShipmentPaper={onAttachShipmentPaper}\n                                getShipmentPaperThumbnailUrl={getShipmentPaperThumbnailUrl}\n                                onOpenGalleryShipmentPaper={onOpenGalleryShipmentPaper}\n                                onDownloadShipmentPaper={onDownloadShipmentPaper}\n                                onDeleteShipmentPaper={onDeleteShipmentPaper}\n                                onOpenUserDetails={onOpenUserDetails}\n                                shouldConfirmForCancelLastShipment={isLastNotFinallyShipment}\n                            />\n                        );\n                    })}\n                </>\n            )}\n            {!isNewPapersAttachmentActive && (\n                <DeprecateTourPapersCard\n                    className={cx('papers-card')}\n                    tourId={firstNeedTakeOfParersTourId}\n                    onAttachTourPapers={deprecatedOnAttachTourPapers}\n                    isBroker\n                    title={t('common:entity-details.papers')}\n                />\n            )}\n            <ImageGalleryModal data={tourPaperGalleryModal.data} onClose={tourPaperGalleryModal.onClose} />\n            <DeletePaperConfirmation\n                data={deleteTourPaperConfirmationDialog.data}\n                onConfirm={onConfirmDeleteTourPaper}\n                onCancel={deleteTourPaperConfirmationDialog.onCancel}\n                onClose={deleteTourPaperConfirmationDialog.onClose}\n                requestStatus={deleteTourPaperRequestStatus}\n            />\n            <ImageGalleryModal data={shipmentPaperGalleryModal.data} onClose={shipmentPaperGalleryModal.onClose} />\n            <DeletePaperConfirmation\n                data={deleteShipmentPaperConfirmationDialog.data}\n                onConfirm={onConfirmDeleteShipmentPaper}\n                onCancel={deleteShipmentPaperConfirmationDialog.onCancel}\n                onClose={deleteShipmentPaperConfirmationDialog.onClose}\n                requestStatus={deleteShipmentPaperRequestStatus}\n            />\n        </div>\n    );\n});\n\nexport default BrokerOrderDetails;\n","import * as React from 'react';\n\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\n\nimport classNames from 'classnames/bind';\nimport styles from './SystemSettings.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport { DEFAULT_ICON_SIZE, QueryKeysEnum, StyleGuideColorsEnum } from 'common/constants';\nimport {\n    selectSystemSettings,\n    selectSystemSettingsFetchRequest,\n    selectSystemSettingsUpdateRequest,\n} from 'broker-admin/store/price-settings/system-settings/selectors';\nimport { fetchSystemSettings, updateSystemSettings } from 'broker-admin/store/price-settings/system-settings/actions';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport LeftCardLayout from 'common/layouts/LeftCardLayout/LeftCardLayout';\nimport WalletIcon, { getWalletIconProps } from 'common/icons/WalletIcon';\nimport CargoUnitIcon, { getCargoUnitIconProps } from 'common/icons/CargoUnitIcon';\nimport TimeWindowIcon, { getTimeWindowIconProps } from 'common/icons/TimeWindowIcon';\nimport GeoAreaIcon, { getGeoAreaIconProps } from 'common/icons/GeoAreaIcon';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport history from 'common/utils/history';\nimport { formatQuery } from 'common/utils/query';\nimport values from 'lodash/values';\nimport PricingSettingsForm from './PricingSettingsForm/PricingSettingsForm';\nimport NewOrderParametersSettingsForm from './NewOrderParametersSettingsForm/NewOrderParametersSettingsForm';\nimport AlertsSettingsForm from './AlertsSettingsForm/AlertsSettingsForm';\nimport AssignmentSettingsForm from './AssignmentSettingsForm/AssignmentSettingsForm';\nimport { SystemSettingsChangesT } from 'broker-admin/store/price-settings/system-settings/models';\nimport RadarIcon from 'common/icons/RadarIcon';\nimport SpotSettingsForm from 'broker-admin/layouts/SettingsPage/SystemSettings/SpotSettingsForm/SpotSettingsForm';\nimport FerrySettingsForm from 'broker-admin/layouts/SettingsPage/SystemSettings/FerrySettingsForm/FerrySettingsForm';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport RoutingSettingsForm from 'broker-admin/layouts/SettingsPage/SystemSettings/RoutingSettingsForm/RoutingSettingsForm';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nenum TabTypeEnum {\n    pricing = 'pricing',\n    newOrderParameters = 'new-order-parameters',\n    alerts = 'alerts',\n    assignment = 'assignment',\n    spot = 'spot',\n    ferry = 'ferry',\n    routing = 'routing',\n}\n\ntype TabConfigT = {\n    type: TabTypeEnum;\n    icon: React.ReactElement;\n};\n\ntype QueryT = {\n    [QueryKeysEnum.systemSettingsTab]: string;\n};\n\nconst DEFAULT_TAB_TYPE = TabTypeEnum.pricing;\n\nconst parseQueryTabType = (queryTabType: string | undefined): TabTypeEnum => {\n    if (!queryTabType) {\n        return DEFAULT_TAB_TYPE;\n    }\n\n    const availableTabs: string[] = values(TabTypeEnum);\n    if (availableTabs.includes(queryTabType)) {\n        return queryTabType as TabTypeEnum;\n    }\n\n    return DEFAULT_TAB_TYPE;\n};\n\nconst TAB_MAP_T: Record<TabTypeEnum, string> = {\n    [TabTypeEnum.pricing]: 'system-settings.tabs.pricing',\n    [TabTypeEnum.newOrderParameters]: 'system-settings.tabs.new-order-parameters',\n    [TabTypeEnum.alerts]: 'system-settings.tabs.alerts',\n    [TabTypeEnum.assignment]: 'system-settings.tabs.assignment',\n    [TabTypeEnum.spot]: 'system-settings.tabs.spot',\n    [TabTypeEnum.ferry]: 'system-settings.tabs.ferry',\n    [TabTypeEnum.routing]: 'system-settings.tabs.routing',\n};\n\nconst SystemSettings: React.FC<PropsT> = React.memo(() => {\n    const systemSettings = useSelector(selectSystemSettings);\n\n    const updateRequest = useSelector(selectSystemSettingsUpdateRequest);\n    const fetchRequest = useSelector(selectSystemSettingsFetchRequest);\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchSystemSettings());\n    }, [dispatch]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchSystemSettings());\n    }, [dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const query = useQuery<QueryT>();\n\n    const handleTabClick = (tabType: TabTypeEnum) => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.systemSettingsTab]: tabType,\n            }),\n        });\n    };\n\n    const handleUpdateSettings = (systemSettingsChanges: SystemSettingsChangesT): void => {\n        dispatch(updateSystemSettings(systemSettingsChanges));\n    };\n\n    const selectedTabType = parseQueryTabType(query[QueryKeysEnum.systemSettingsTab]);\n\n    const tabsConfig: TabConfigT[] = [\n        {\n            type: TabTypeEnum.pricing,\n            icon: (\n                <WalletIcon {...getWalletIconProps(selectedTabType === TabTypeEnum.pricing ? 'selected' : 'default')} />\n            ),\n        },\n        {\n            type: TabTypeEnum.newOrderParameters,\n            icon: (\n                <CargoUnitIcon\n                    {...getCargoUnitIconProps(\n                        selectedTabType === TabTypeEnum.newOrderParameters ? 'selected' : 'default',\n                    )}\n                    size={DEFAULT_ICON_SIZE}\n                />\n            ),\n        },\n        {\n            type: TabTypeEnum.alerts,\n            icon: (\n                <TimeWindowIcon\n                    {...getTimeWindowIconProps(selectedTabType === TabTypeEnum.alerts ? 'selected' : 'default')}\n                />\n            ),\n        },\n        {\n            type: TabTypeEnum.assignment,\n            icon: (\n                <GeoAreaIcon\n                    {...getGeoAreaIconProps(selectedTabType === TabTypeEnum.assignment ? 'selected' : 'default')}\n                />\n            ),\n        },\n        {\n            type: TabTypeEnum.spot,\n            icon: (\n                <RadarIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={\n                        selectedTabType === TabTypeEnum.spot\n                            ? StyleGuideColorsEnum.brandDark\n                            : StyleGuideColorsEnum.slate\n                    }\n                />\n            ),\n        },\n        {\n            type: TabTypeEnum.ferry,\n            icon: (\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={\n                        selectedTabType === TabTypeEnum.ferry\n                            ? StyleGuideColorsEnum.brandDark\n                            : StyleGuideColorsEnum.slate\n                    }\n                    fillColor={\n                        selectedTabType === TabTypeEnum.ferry\n                            ? StyleGuideColorsEnum.brandAccent\n                            : StyleGuideColorsEnum.light\n                    }\n                />\n            ),\n        },\n        {\n            type: TabTypeEnum.routing,\n            icon: (\n                <RouteIcon\n                    fillColor={\n                        selectedTabType === TabTypeEnum.routing\n                            ? StyleGuideColorsEnum.brandDark\n                            : StyleGuideColorsEnum.slate\n                    }\n                />\n            ),\n        },\n    ];\n\n    const isLoading = fetchRequest.loading || updateRequest.loading;\n\n    const commonFormProps = {\n        isLoading,\n        systemSettings,\n        onUpdate: handleUpdateSettings,\n    };\n    return (\n        <ContentMargins className={cx('wrap')}>\n            {isLoading && <LoaderOverlay />}\n            <LeftCardLayout\n                testSelector=\"system-settings\"\n                cardNode={\n                    <div>\n                        {tabsConfig.map((tabsConfig) => (\n                            <Button\n                                key={tabsConfig.type}\n                                className={cx('tab')}\n                                theme={ButtonThemeEnum.transparent}\n                                isToggled={tabsConfig.type === selectedTabType}\n                                leftIcon={tabsConfig.icon}\n                                onClick={() => handleTabClick(tabsConfig.type)}\n                            >\n                                {t(TAB_MAP_T[tabsConfig.type])}\n                            </Button>\n                        ))}\n                    </div>\n                }\n            >\n                {selectedTabType === TabTypeEnum.pricing && (\n                    <PricingSettingsForm {...commonFormProps} title={t(TAB_MAP_T[TabTypeEnum.pricing])} />\n                )}\n                {selectedTabType === TabTypeEnum.newOrderParameters && (\n                    <NewOrderParametersSettingsForm\n                        {...commonFormProps}\n                        title={t(TAB_MAP_T[TabTypeEnum.newOrderParameters])}\n                    />\n                )}\n                {selectedTabType === TabTypeEnum.alerts && (\n                    <AlertsSettingsForm {...commonFormProps} title={t(TAB_MAP_T[TabTypeEnum.alerts])} />\n                )}\n                {selectedTabType === TabTypeEnum.assignment && (\n                    <AssignmentSettingsForm {...commonFormProps} title={t(TAB_MAP_T[TabTypeEnum.assignment])} />\n                )}\n                {selectedTabType === TabTypeEnum.spot && (\n                    <SpotSettingsForm {...commonFormProps} title={t(TAB_MAP_T[TabTypeEnum.spot])} />\n                )}\n                {selectedTabType === TabTypeEnum.ferry && (\n                    <FerrySettingsForm {...commonFormProps} title={t(TAB_MAP_T[TabTypeEnum.ferry])} />\n                )}\n                {selectedTabType === TabTypeEnum.routing && (\n                    <RoutingSettingsForm {...commonFormProps} title={t(TAB_MAP_T[TabTypeEnum.routing])} />\n                )}\n            </LeftCardLayout>\n        </ContentMargins>\n    );\n});\n\nexport default SystemSettings;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\nexport type DeletePaperConfirmationDataT = {\n    tourId: TourIdT;\n    paperId: PapersIdT;\n};\n\ntype PropsT = {\n    data: DeletePaperConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: DeletePaperConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'delete-paper-confirmation';\n\nconst DeletePaperConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.remove'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:order-details.delete-paper-confirmation.title')}\n                    message={t('common:order-details.delete-paper-confirmation.message')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default DeletePaperConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"AssignmentSettingsForm__widget___OB9Ur\",\"widget__inner\":\"AssignmentSettingsForm__widget__inner___zpU9P\",\"field\":\"AssignmentSettingsForm__field___lAKOQ\",\"field-group\":\"AssignmentSettingsForm__field-group___KJ5zF\",\"fadeIn\":\"AssignmentSettingsForm__fadeIn___a6Ptx\",\"blinking\":\"AssignmentSettingsForm__blinking___fb1Fj\"};","import * as React from 'react';\n\nconst usePollingCallback = ({\n    callback,\n    intervalMs,\n    isEnabled,\n}: {\n    callback: () => void;\n    intervalMs: number;\n    isEnabled: boolean;\n}) => {\n    const intervalIdRef = React.useRef<NodeJS.Timeout | null>(null);\n\n    React.useEffect(() => {\n        if (!isEnabled) {\n            if (intervalIdRef.current) {\n                clearInterval(intervalIdRef.current);\n                intervalIdRef.current = null;\n            }\n            return () => {\n                // nothing\n            };\n        }\n\n        intervalIdRef.current = setInterval(() => {\n            callback();\n        }, intervalMs);\n\n        return () => {\n            if (intervalIdRef.current) {\n                clearInterval(intervalIdRef.current);\n                intervalIdRef.current = null;\n            }\n        };\n    }, [callback, intervalMs, isEnabled]);\n};\n\nexport default usePollingCallback;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"SendingToSpotForm__form___ZGPrO\",\"field--time-picker\":\"SendingToSpotForm__field--time-picker___nI4_W\",\"actions\":\"SendingToSpotForm__actions___qwjgz\",\"action\":\"SendingToSpotForm__action___hGnqa\",\"action--cancel\":\"SendingToSpotForm__action--cancel___T_Jdc\",\"action--send\":\"SendingToSpotForm__action--send___ZJEAh\",\"time-window-pill-label\":\"SendingToSpotForm__time-window-pill-label___xN6LU\",\"fadeIn\":\"SendingToSpotForm__fadeIn___lqkfQ\",\"blinking\":\"SendingToSpotForm__blinking___HMmfO\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_CARRIER_CONTRACT_DETAILS_REQUEST, FetchCarrierContractDetailsActionT } from './types';\nimport { selectCarrierContractStateById } from './selectors';\nimport {\n    fetchCarrierContractDetailsBegin,\n    fetchCarrierContractDetailsError,\n    fetchCarrierContractDetailsSuccess,\n} from './actions';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport checkNeedRequest from 'common/utils/check-need-request';\n\nfunction* fetchCarrierContractDetailsSaga(action: FetchCarrierContractDetailsActionT): WrapGeneratorT<void> {\n    const { partnerId, contractId, options } = action;\n\n    const carrierContractState: ReReturnT<typeof selectCarrierContractStateById> = yield select(\n        selectCarrierContractStateById(contractId),\n    );\n    if (!checkNeedRequest(carrierContractState.fetchRequest, options)) {\n        return;\n    }\n\n    yield put(fetchCarrierContractDetailsBegin(partnerId));\n\n    let result: ReturnApiT<\n        typeof carrierTranziitApi.fetchCarrierContractDetails | typeof brokerTranziitApi.fetchCarrierContractDetails\n    >;\n\n    if (checkIsDefaultCompanyId(partnerId)) {\n        result = yield carrierTranziitApi.fetchCarrierContractDetails(contractId);\n    } else {\n        result = yield brokerTranziitApi.fetchCarrierContractDetails(partnerId, contractId);\n    }\n\n    const [error, contractDetails] = result;\n\n    if (error) {\n        yield put(fetchCarrierContractDetailsError(contractId, error));\n        return;\n    }\n\n    yield put(fetchCarrierContractDetailsSuccess(contractId, contractDetails || null));\n}\n\nfunction* carrierContractDetailsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_CARRIER_CONTRACT_DETAILS_REQUEST, fetchCarrierContractDetailsSaga);\n}\n\nexport default carrierContractDetailsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"time-window\":\"TimeWindow__time-window___SIbTr\",\"time-window--charcoal\":\"TimeWindow__time-window--charcoal___Fw12W\",\"time-window--pewter-blue\":\"TimeWindow__time-window--pewter-blue___Oob5N\",\"time-window--light-slate-gray\":\"TimeWindow__time-window--light-slate-gray___BWCAs\",\"time-window--tumbleweed\":\"TimeWindow__time-window--tumbleweed___kGFA9\",\"time-window--light\":\"TimeWindow__time-window--light___s0N6w\",\"time-window--brand-accent\":\"TimeWindow__time-window--brand-accent___iaYmJ\",\"time-window--tomato-red-70\":\"TimeWindow__time-window--tomato-red-70___ta9co\",\"time-window--attention\":\"TimeWindow__time-window--attention___mExmB\",\"time-window--isTransparent\":\"TimeWindow__time-window--isTransparent___NcNTZ\",\"time-window__label-wrap\":\"TimeWindow__time-window__label-wrap___tMoRs\",\"time-window__label\":\"TimeWindow__time-window__label___GYbFq\",\"time-window__label--charcoal\":\"TimeWindow__time-window__label--charcoal___cBceg\",\"time-window__label--light\":\"TimeWindow__time-window__label--light___Pu03B\",\"tooltip\":\"TimeWindow__tooltip___kshGk\",\"tooltip__inner\":\"TimeWindow__tooltip__inner___GCcrx\",\"tooltip__inner--theme-white\":\"TimeWindow__tooltip__inner--theme-white___mqP2k\",\"tooltip__inner--theme-black\":\"TimeWindow__tooltip__inner--theme-black___W8EaG\",\"fadeIn\":\"TimeWindow__fadeIn___R7kkJ\",\"blinking\":\"TimeWindow__blinking___xdr9o\"};","import isNil from 'lodash/isNil';\nimport React from 'react';\n\nexport type SideBarHeaderHeightContextT = {\n    value: number | null;\n    setValue: (value: number) => void;\n};\n\nconst DEFAULT_HEADER_HEIGHT = 70; // most popular case\n\nconst useSideBarHeaderHeight = (): SideBarHeaderHeightContextT => {\n    const [value, setValue] = React.useState<number | null>(null);\n\n    return {\n        value: isNil(value) ? DEFAULT_HEADER_HEIGHT : value || 0,\n        setValue,\n    };\n};\n\nexport default useSideBarHeaderHeight;\n","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"DeprecatedCountyFlagLabel__wrap___XhZ2m\",\"icon\":\"DeprecatedCountyFlagLabel__icon___icGCK\",\"count\":\"DeprecatedCountyFlagLabel__count___kKLog\",\"label\":\"DeprecatedCountyFlagLabel__label___FPB_v\",\"label--isThin\":\"DeprecatedCountyFlagLabel__label--isThin___V31Uf\",\"flag-icon\":\"DeprecatedCountyFlagLabel__flag-icon___v_dmN\",\"fadeIn\":\"DeprecatedCountyFlagLabel__fadeIn___PA_3f\",\"blinking\":\"DeprecatedCountyFlagLabel__blinking___wRAT4\"};","// extracted by mini-css-extract-plugin\nexport default {\"notification\":\"NotificationLabel__notification___syYXi\",\"notification--theme-slate\":\"NotificationLabel__notification--theme-slate___aHKs7\",\"notification--theme-charcoal\":\"NotificationLabel__notification--theme-charcoal___sHgu9\",\"notification--theme-orange\":\"NotificationLabel__notification--theme-orange___g1XT5\",\"notification--theme-green\":\"NotificationLabel__notification--theme-green___TPyZ7\",\"notification--theme-red\":\"NotificationLabel__notification--theme-red___B_n29\",\"fadeIn\":\"NotificationLabel__fadeIn___eSKZx\",\"blinking\":\"NotificationLabel__blinking___tfQg3\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FetchRoutePlainGeometryActionT, FetchRoutesPlainGeometryActionT } from './types';\nimport { selectRoutingGeometryState } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { CompanyTypeEnum } from 'common/constants';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport {\n    fetchRouteGeometryBegin,\n    fetchRouteGeometryError,\n    fetchRouteGeometrySuccess,\n    fetchRoutePlainGeometry,\n    fetchRoutesPlainGeometry,\n} from './slice';\nimport { ROUTING_GEOMETRY_TTL } from 'common/store/routing-geometry/constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getFetchRoutesGeometrySaga(companyType: CompanyTypeEnum) {\n    return function* fetchRoutesGeometrySaga(action: FetchRoutesPlainGeometryActionT): WrapGeneratorT<void> {\n        const { polylineIds, options } = action.payload;\n\n        for (const polylineId of polylineIds) {\n            if (polylineId) {\n                yield put(\n                    fetchRoutePlainGeometry({\n                        polylineId,\n                        options,\n                    }),\n                );\n            }\n        }\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getFetchRouteGeometrySaga(companyType: CompanyTypeEnum) {\n    return function* fetchRouteGeometrySaga(action: FetchRoutePlainGeometryActionT): WrapGeneratorT<void> {\n        const { polylineId, options } = action.payload;\n\n        const { requestStatus }: ReReturnT<typeof selectRoutingGeometryState> = yield select(\n            selectRoutingGeometryState(polylineId),\n        );\n        if (!checkNeedRequest(requestStatus, options, ROUTING_GEOMETRY_TTL)) {\n            return;\n        }\n\n        yield put(fetchRouteGeometryBegin({ polylineId }));\n\n        const [error, data]: ReturnApiT<typeof commonTranziitApi.fetchRouteGeometryGoogle> =\n            yield commonTranziitApi.fetchRouteGeometryGoogle(polylineId);\n\n        if (error) {\n            yield put(fetchRouteGeometryError({ polylineId, error }));\n        } else {\n            const polylines = data || [];\n\n            yield put(fetchRouteGeometrySuccess({ polylineId, data: polylines }));\n        }\n    };\n}\n\nfunction* routingGeometrySaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(fetchRoutesPlainGeometry.type, getFetchRoutesGeometrySaga(companyType));\n    yield takeEvery(fetchRoutePlainGeometry.type, getFetchRouteGeometrySaga(companyType));\n}\n\nexport { routingGeometrySaga };\n","import * as React from 'react';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport { useTranslation } from 'react-i18next';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport classNames from 'classnames/bind';\nimport styles from './ChangeRateOrContractWarning.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    className?: string;\n};\n\nconst ChangeRateOrContractWarning: React.FC<PropsT> = React.memo((props) => {\n    const { className, onClose } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Alert\n            className={className}\n            icon={<InfoIcon fillColor={StyleGuideColorsEnum.white} />}\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.orange}\n            onClose={onClose}\n        >\n            <div className={cx('inner')}>{t('common:trucks-page.warnings.change-rate-or-contract')}</div>\n        </Alert>\n    );\n});\n\nexport default ChangeRateOrContractWarning;\n","import React from 'react';\nimport { SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport { PriceSettingsEditRuleSidebarDataT } from './models';\nimport PriceSettingsEditRuleLayout from 'broker-admin/layouts/PriceSettingsEditRuleLayout/PriceSettingsEditRuleLayout';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\nimport { useSelector } from 'react-redux';\nimport { selectCreateRuleRequest } from 'broker-admin/store/price-settings/rules/selectors';\n\ntype PropsT = SidebarContentPropsT<PriceSettingsEditRuleSidebarDataT, BrokerSidebarDataT>;\n\nconst PriceSettingsEditRuleSidebarContent: React.FC<PropsT> = (props) => {\n    const { onGoBack, onClose, setNeedCloseConfirmation, data } = props;\n\n    const createRuleRequest = useSelector(selectCreateRuleRequest);\n\n    useCloseSidebarAfterRequest(createRuleRequest, onGoBack || onClose);\n\n    const handleCancel = () => {\n        if (onGoBack) {\n            onGoBack({ needCloseConfirmation: false });\n        }\n    };\n\n    const editableRuleId = 'editableRuleId' in data ? data.editableRuleId : null;\n\n    return (\n        <PriceSettingsEditRuleLayout\n            editableRuleId={editableRuleId}\n            onClose={onClose}\n            onCancel={handleCancel}\n            setNeedCloseConfirmation={setNeedCloseConfirmation}\n        />\n    );\n};\n\nexport default PriceSettingsEditRuleSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"DatePickerOverlay__overlay___O6ffA\",\"fadeIn\":\"DatePickerOverlay__fadeIn___ZJwqz\",\"blinking\":\"DatePickerOverlay__blinking___iq2rV\"};","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './SuggestInput.scss';\nimport Input, { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from '../constants';\nimport DropdownBaseLayout from '../base/DropdownBaseLayout/DropdownBaseLayout';\nimport isEqual from 'lodash/isEqual';\nimport debounce from 'lodash/debounce';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT<OptionT, OptionValueT> = {\n    selectedValue: OptionValueT | null;\n    initialInputValue?: string;\n    options: Array<OptionT>;\n    onSelect: (value: OptionValueT | null) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    renderOption: (option: OptionT) => React.ReactNode;\n    formatOption: (option: OptionT) => string;\n    getOptionValue: (option: OptionT) => OptionValueT | null;\n    onChangeQuery: (query: string) => void;\n    renderLeftIcon: InputPropsT['renderLeftIcon'];\n    rightInputText?: (option: OptionT | null) => React.ReactNode;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    hasSuccess?: InputPropsT['hasSuccess'];\n    placeholder?: InputPropsT['placeholder'];\n    onBlur?: InputPropsT['onBlur'];\n    onFocus?: InputPropsT['onFocus'];\n    onKeyUp?: InputPropsT['onKeyUp'];\n    isDisabled?: InputPropsT['isDisabled'];\n    isFocused?: InputPropsT['isFocused'];\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasOptionsSeparator?: boolean;\n    isLoading?: boolean;\n    hasChanges?: boolean;\n    overlayClassName?: string;\n    className?: string;\n    isInline?: boolean;\n};\n\nconst COLD_TIME = 300;\n\nconst SuggestInput = <OptionT, OptionValueT>(props: PropsT<OptionT, OptionValueT>) => {\n    const {\n        renderLeftIcon,\n        rightInputText,\n        selectedValue,\n        isInline,\n        initialInputValue,\n        className,\n        overlayClassName,\n        placeholder,\n        onSelect,\n        options,\n        renderOption,\n        getOptionValue,\n        hasWarning,\n        hasError,\n        hasSuccess,\n        hasOptionsSeparator,\n        hasClearControl,\n        onChangeQuery,\n        overlayPosition,\n        formatOption,\n        onBlur,\n        onFocus,\n        onKeyUp,\n        isFocused,\n        isDisabled,\n        isLoading,\n        hasChanges,\n    } = props;\n\n    const [selectedOption, setSelectedOption] = React.useState<OptionT | null>(null);\n    const [inputValue, setInputValue] = React.useState<string>(initialInputValue || '');\n    const [isOpen, toggleOpen] = React.useState<boolean>(false);\n\n    React.useEffect(() => {\n        if (isDisabled && isOpen) {\n            toggleOpen(false);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isDisabled]);\n\n    const handleClose = (): void => {\n        toggleOpen(false);\n    };\n\n    const handleChangeQuery = React.useMemo(() => {\n        return debounce((inputValue: string): void => {\n            onChangeQuery(inputValue);\n        }, COLD_TIME);\n    }, [onChangeQuery]);\n\n    const handleInputChange = (value: string) => {\n        setInputValue(value);\n        handleChangeQuery(value);\n\n        if (!value) {\n            onSelect(null);\n        }\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        toggleOpen(true);\n\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    React.useEffect(() => {\n        const optionsValue = options.map((option) => getOptionValue(option));\n        const selectedOptionIndex = optionsValue.indexOf(selectedValue);\n        const nextSelectedOption = selectedOptionIndex !== -1 ? options[selectedOptionIndex] : null;\n        const isSameSelectedOption = isEqual(selectedOption, nextSelectedOption);\n        if (!isSameSelectedOption) {\n            setSelectedOption(nextSelectedOption);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [selectedValue]);\n\n    React.useEffect(() => {\n        const optionInputValue = selectedOption ? formatOption(selectedOption) : '';\n        setInputValue(optionInputValue);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [selectedOption]);\n\n    const handleBlur = () => {\n        if (!inputValue) {\n            onSelect(null);\n        }\n\n        if (!options.length) {\n            onSelect(null);\n        }\n\n        if (inputValue && selectedOption) {\n            const optionInputValue = formatOption(selectedOption);\n            setInputValue(optionInputValue);\n        }\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handleOuterEvent = (): void => {\n        if (isOpen) {\n            handleClose();\n            handleBlur();\n        }\n    };\n\n    const inputRightTextNode = rightInputText ? rightInputText(selectedOption) : null;\n\n    return (\n        <DropdownBaseLayout\n            isInline={isInline}\n            isOpen={isOpen}\n            className={className}\n            onClose={handleOuterEvent}\n            triggerNode={\n                <Input\n                    renderLeftIcon={\n                        renderLeftIcon\n                            ? (iconMeta) =>\n                                  renderLeftIcon({\n                                      ...iconMeta,\n                                      hasValue: !!selectedOption,\n                                  })\n                            : undefined\n                    }\n                    name=\"suggest-input\"\n                    value={inputValue}\n                    hasChanges={hasChanges}\n                    placeholder={placeholder}\n                    onChange={handleInputChange}\n                    rightNode={inputRightTextNode}\n                    hasWarning={hasWarning}\n                    hasError={hasError}\n                    hasSuccess={hasSuccess}\n                    onFocus={handleFocus}\n                    isLoading={isLoading}\n                    onKeyUp={onKeyUp}\n                    isFocused={isFocused}\n                    isDisabled={isDisabled}\n                    hasClearControl={hasClearControl}\n                />\n            }\n            overlayPosition={overlayPosition}\n            overlayClassName={cs(cx('overlay'), overlayClassName)}\n            overlayNode={\n                <div className={cx('options')}>\n                    {options.map((option, index): React.ReactElement => {\n                        const value = getOptionValue(option);\n\n                        const isSelected = selectedValue === value;\n\n                        return (\n                            <div\n                                key={index}\n                                className={cx('option', {\n                                    'option--isSelected': isSelected,\n                                    'option--hasSeparator': hasOptionsSeparator,\n                                })}\n                                onClick={(): void => {\n                                    onSelect(value);\n                                    toggleOpen(false);\n                                    handleClose();\n                                    if (onBlur) {\n                                        onBlur();\n                                    }\n                                }}\n                            >\n                                {renderOption(option)}\n                            </div>\n                        );\n                    })}\n                </div>\n            }\n        />\n    );\n};\n\nexport default React.memo(SuggestInput) as typeof SuggestInput;\n","export type TimelineTicksParamsT = {\n    minMs: number;\n    maxMs: number;\n    stepMs: number;\n    utcOffsetMs: number;\n};\n\nexport function getTicksTimestamps({ minMs, maxMs, stepMs, utcOffsetMs }: TimelineTicksParamsT): number[] {\n    const ticksMs: number[] = [];\n\n    const shiftedMin = minMs + utcOffsetMs;\n    let t = Math.floor(shiftedMin / stepMs) * stepMs - utcOffsetMs;\n\n    while (t <= maxMs) {\n        ticksMs.push(t);\n        t += stepMs;\n    }\n\n    return ticksMs;\n}\n\nexport function getHalfTicksTimestamps({ minMs, maxMs, stepMs, utcOffsetMs }: TimelineTicksParamsT): number[] {\n    const ticksMs: number[] = [];\n\n    const shiftedMin = minMs + utcOffsetMs;\n    let t = Math.floor(shiftedMin / stepMs) * stepMs + stepMs / 2 - utcOffsetMs;\n\n    while (t <= maxMs) {\n        ticksMs.push(t);\n        t += stepMs;\n    }\n\n    return ticksMs;\n}\n","import React from 'react';\n\nimport { CompanyContactT } from 'common/store/members/models';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { useSelector } from 'react-redux';\nimport { selectContactById, selectUpdateMemberRequest } from 'common/store/members/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nexport type RestoreUserConfirmationDataT = {\n    partnerId: CompanyIdT;\n    contactId: CompanyContactT['id'];\n};\n\nexport type RestoreUserConfirmationPropsT = {\n    data: RestoreUserConfirmationDataT | null;\n    onClose: () => void;\n    onConfirm: (userId: UserIdT, partnerId: PartnerIdT) => void;\n};\n\nconst TEST_SELECTOR = 'restore-user-confirmation';\n\nconst RestoreUserConfirmation: React.FC<RestoreUserConfirmationPropsT> = React.memo((props) => {\n    const { data, onClose, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    const contactById = useSelector(selectContactById(data?.partnerId || null));\n    const updateMemberRequestStatus = useSelector(selectUpdateMemberRequest(data?.partnerId || null));\n\n    if (!data || !data?.partnerId || !data?.contactId) {\n        return null;\n    }\n\n    const contact = contactById[data.contactId];\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: updateMemberRequestStatus.loading,\n                            onClick: () => {\n                                onClose();\n                            },\n                        },\n                        {\n                            children: t('common:team-members.dialogs.restore-user.restore'),\n                            theme: ButtonThemeEnum.primary,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: updateMemberRequestStatus.loading,\n                            onClick: () => {\n                                if (contact?.userId) {\n                                    onConfirm(contact.userId, data.partnerId);\n                                } else {\n                                    logWarning('empty user id');\n                                }\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.brandAccent} />}\n                    title={t('common:team-members.dialogs.restore-user.title', {\n                        fullName: contact?.fullName,\n                    })}\n                    message={t('common:team-members.dialogs.restore-user.description', {\n                        fullName: contact?.fullName,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default RestoreUserConfirmation;\n","import {\n    ADD_DRIVER_REQUEST_BEGIN,\n    ADD_DRIVER_REQUEST_ERROR,\n    ADD_DRIVER_REQUEST_SUCCESS,\n    CompanyDriversStateT,\n    DELETE_DRIVER_REQUEST_BEGIN,\n    DELETE_DRIVER_REQUEST_ERROR,\n    DELETE_DRIVER_REQUEST_SUCCESS,\n    DriversActionT,\n    DriversStateT,\n    FETCH_DRIVER_DETAILS_REQUEST_BEGIN,\n    FETCH_DRIVER_DETAILS_REQUEST_ERROR,\n    FETCH_DRIVER_DETAILS_REQUEST_SUCCESS,\n    FETCH_DRIVERS_PAGE_REQUEST_BEGIN,\n    FETCH_DRIVERS_PAGE_REQUEST_ERROR,\n    FETCH_DRIVERS_PAGE_REQUEST_SUCCESS,\n    INVITE_DRIVER_REQUEST_BEGIN,\n    INVITE_DRIVER_REQUEST_ERROR,\n    INVITE_DRIVER_REQUEST_SUCCESS,\n    RESET_DRIVERS,\n    UPDATE_DRIVER_REQUEST_BEGIN,\n    UPDATE_DRIVER_REQUEST_ERROR,\n    UPDATE_DRIVER_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCompanyDriversState: CompanyDriversStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n    inviteRequest: requestStatus.initial,\n    addRequest: requestStatus.initial,\n    deleteRequest: requestStatus.initial,\n    updateRequest: requestStatus.initial,\n    fetchDetailsRequest: requestStatus.initial,\n    detailsById: {},\n};\n\nconst initialState: DriversStateT = {};\n\nexport default (state = initialState, action: DriversActionT | DestroySessionActionT): DriversStateT => {\n    switch (action.type) {\n        case FETCH_DRIVERS_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageBeginReducer(companyState, pageNumber, query),\n                },\n            };\n        }\n\n        case FETCH_DRIVERS_PAGE_REQUEST_SUCCESS: {\n            const { query, pageResponse, pageNumber, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageSuccessReducer(companyState, pageNumber, query, pageResponse),\n                },\n            };\n        }\n        case FETCH_DRIVERS_PAGE_REQUEST_ERROR: {\n            const { error, query, pageNumber, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageErrorReducer(companyState, pageNumber, query, error),\n                },\n            };\n        }\n\n        case INVITE_DRIVER_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    inviteRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case INVITE_DRIVER_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    inviteRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case INVITE_DRIVER_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    inviteRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case ADD_DRIVER_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case ADD_DRIVER_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case ADD_DRIVER_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DELETE_DRIVER_REQUEST_BEGIN: {\n            const { companyId } = action;\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case DELETE_DRIVER_REQUEST_SUCCESS: {\n            const { companyId } = action;\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DELETE_DRIVER_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPDATE_DRIVER_REQUEST_BEGIN: {\n            const { companyId } = action;\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case UPDATE_DRIVER_REQUEST_SUCCESS: {\n            const { companyId } = action;\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case UPDATE_DRIVER_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_DRIVER_DETAILS_REQUEST_BEGIN: {\n            const { companyId } = action;\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchDetailsRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_DRIVER_DETAILS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchDetailsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_DRIVER_DETAILS_REQUEST_SUCCESS: {\n            const { companyId, driverId, details } = action;\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    detailsById: {\n                        ...companyState.detailsById,\n                        [driverId]: details,\n                    },\n                    fetchDetailsRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        case RESET_DRIVERS: {\n            const { companyId, mutationListOptions } = action;\n            const companyState = state[companyId] || initialCompanyDriversState;\n\n            return {\n                ...initialState,\n                [companyId]: {\n                    ...initialCompanyDriversState,\n                    ...resetPagesCacheReducer(initialCompanyDriversState, companyState, mutationListOptions),\n                },\n            };\n\n            return {\n                ...state,\n                [companyId]: null,\n            };\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"textarea\":\"RejectContractConfirmation__textarea___wbTVj\",\"fadeIn\":\"RejectContractConfirmation__fadeIn___kzG7F\",\"blinking\":\"RejectContractConfirmation__blinking___Cs6c0\"};","import mapValues from 'lodash/mapValues';\nimport isArray from 'lodash/isArray';\nimport { ALL_AUTH_PROFILE_TYPES, AuthProfileTypeEnum } from 'common/store/auth/constants';\n\nconst getPermissions = <RolesT, PermissionKeysT extends string>(\n    userRolesSet: Set<RolesT>,\n    config: Record<PermissionKeysT, Array<RolesT | RolesT[]>>,\n    profileType: AuthProfileTypeEnum,\n    profileTypeRestrictConfig: Partial<Record<PermissionKeysT, AuthProfileTypeEnum[]>>,\n): Record<PermissionKeysT, boolean> => {\n    return mapValues(config, (necessaryRoles, key) => {\n        const profileTypeRestriction: AuthProfileTypeEnum[] =\n            profileTypeRestrictConfig[key as PermissionKeysT] || ALL_AUTH_PROFILE_TYPES;\n\n        return (\n            necessaryRoles.some((rule): boolean => {\n                if (isArray(rule)) {\n                    return rule.every((role): boolean => {\n                        return userRolesSet.has(role);\n                    });\n                }\n\n                const role = rule;\n                return userRolesSet.has(role);\n            }) && profileTypeRestriction.includes(profileType)\n        );\n    });\n};\n\nexport { getPermissions };\n","import { QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { OrderTypeEnum } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/OrderTypeDropdown/OrderTypeDropdown';\nimport { TransportOrderTypeEnum } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/FiltersSidebarContent/TransportOrderTypeDropdown/TransportOrderTypeDropdown';\n\nconst getInitialValues = (\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    queryFilters: QueryFiltersT,\n): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.dropOffAddress]: null,\n        [FieldsEnum.originAddress]: null,\n\n        [FieldsEnum.dispatcherId]: null,\n        [FieldsEnum.dispatcherName]: null,\n\n        [FieldsEnum.keyAccountManagerId]: null,\n        [FieldsEnum.keyAccountManagerName]: null,\n\n        [FieldsEnum.shipperId]: null,\n        [FieldsEnum.shipperName]: null,\n\n        [FieldsEnum.carrierId]: null,\n        [FieldsEnum.carrierName]: null,\n\n        [FieldsEnum.dictTrailerId]: null,\n\n        [FieldsEnum.ordersType]: OrderTypeEnum.all,\n        [FieldsEnum.transportOrdersType]: TransportOrderTypeEnum.all,\n\n        [FieldsEnum.createDates]: null,\n        [FieldsEnum.pickupDates]: null,\n        [FieldsEnum.dropoffDates]: null,\n\n        [FieldsEnum.hasUnpaidOrders]: false,\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","import { SharableStateT } from '../models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const selectCountrySettingsDictRequest = (state: SharableStateT): RequestStatusT =>\n    state.countrySettingsDict.request;\nexport const selectCountrySettingsByCountryCode = (state: SharableStateT) => state.countrySettingsDict.byCountryCode;\n","// extracted by mini-css-extract-plugin\nexport default {\"input-wrap\":\"EditOfferTotalPriceLayout__input-wrap___pO5VY\",\"input\":\"EditOfferTotalPriceLayout__input___yRZJx\",\"details\":\"EditOfferTotalPriceLayout__details___aTP5j\",\"controls\":\"EditOfferTotalPriceLayout__controls___cZXbA\",\"fadeIn\":\"EditOfferTotalPriceLayout__fadeIn___qE1l7\",\"blinking\":\"EditOfferTotalPriceLayout__blinking___CVaRf\"};","import { FieldsEnum, FormValuesT } from './constants';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from 'common/layouts/DriversPageLayout/query-models';\n\nconst getInitialValues = (queryFilters: QueryFiltersT): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.name]: queryFilters[QueryFiltersKeysEnum.name] || '',\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport {\n    ConsistentStateMachineDescriptorT,\n    ApiStopTypeT,\n    ApiTourWaypointActionTypeT,\n    ApiTourWaypointEventRestrictionT,\n} from 'common/store/consistent-state-machine/models';\nimport { useConsistentStateMachine } from 'common/utils/hooks/useConsistentStateMachine';\nimport TimeLeftForStart from 'common/layouts/sidebar-footers/TimeLeftForStart/TimeLeftForStart';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport {\n    toursWaypointsArrived,\n    toursWaypointsLeft,\n    toursWaypointsUndoArrived,\n    toursWaypointsUndoLeft,\n} from 'common/store/consistent-state-machine/slice';\nimport { logWarning } from 'common/utils/logger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport RestoreIcon from 'common/icons/RestoreIcon';\nimport { isNonNil } from 'common/utils';\nimport classNames from 'classnames/bind';\n\nimport styles from './ChangeTourStatusFooter.scss';\nimport { ApiBrokerCommonTourDetailsT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isShowLoading: boolean;\n    tourId: TourIdT | null;\n    tour: ApiBrokerCommonTourDetailsT | null;\n    onManageShipment: (shipmentId: ShipmentIdT) => void;\n};\n\nconst tourActionI18nMap: Record<ApiStopTypeT, Record<ApiTourWaypointActionTypeT, string>> = {\n    PICKUP_TRAILER: {\n        START_TOUR: 'common:change-tour-status.actions.PICKUP_TRAILER.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.PICKUP_TRAILER.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.PICKUP_TRAILER.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.PICKUP_TRAILER.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.actions.PICKUP_TRAILER.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_TRUCK: {\n        START_TOUR: 'common:change-tour-status.actions.PICKUP_TRUCK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.PICKUP_TRUCK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.PICKUP_TRUCK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.PICKUP_TRUCK.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.actions.PICKUP_TRUCK.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_ROAD_TRAIN: {\n        START_TOUR: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_DELIVERY_SHIPMENT: {\n        START_TOUR: 'common:change-tour-status.actions.PICKUP_DELIVERY_SHIPMENT.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.PICKUP_DELIVERY_SHIPMENT.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.PICKUP_DELIVERY_SHIPMENT.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.PICKUP_DELIVERY_SHIPMENT.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    DRIVE_THROUGH: {\n        START_TOUR: 'common:change-tour-status.actions.DRIVE_THROUGH.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DRIVE_THROUGH.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DRIVE_THROUGH.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DRIVE_THROUGH.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    DROP_AND_HOOK: {\n        START_TOUR: 'common:change-tour-status.actions.DROP_AND_HOOK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DROP_AND_HOOK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DROP_AND_HOOK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DROP_AND_HOOK.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.actions.DROP_AND_HOOK.TRAILER_HOOKED',\n        TRAILER_DROPPED: 'common:change-tour-status.actions.DROP_AND_HOOK.TRAILER_DROPPED',\n    },\n    DROP_TRAILER: {\n        START_TOUR: 'common:change-tour-status.actions.DROP_TRAILER.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DROP_TRAILER.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DROP_TRAILER.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DROP_TRAILER.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: 'common:change-tour-status.actions.DROP_TRAILER.TRAILER_DROPPED',\n    },\n    DROP_TRUCK: {\n        START_TOUR: 'common:change-tour-status.actions.DROP_TRUCK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DROP_TRUCK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DROP_TRUCK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DROP_TRUCK.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: 'common:change-tour-status.actions.DROP_TRUCK.TRAILER_DROPPED',\n    },\n    DROP_ROAD_TRAIN: {\n        START_TOUR: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.TRAILER_DROPPED',\n    },\n    FERRY_ONBOARD: {\n        START_TOUR: 'common:change-tour-status.actions.FERRY_ONBOARD.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.FERRY_ONBOARD.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.FERRY_ONBOARD.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.FERRY_ONBOARD.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    FERRY_DISEMBARK: {\n        START_TOUR: 'common:change-tour-status.actions.FERRY_DISEMBARK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.FERRY_DISEMBARK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.FERRY_DISEMBARK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.FERRY_DISEMBARK.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n};\n\nconst deadlineGuideI18nMap: Record<ApiStopTypeT, Record<ApiTourWaypointActionTypeT, string>> = {\n    PICKUP_TRAILER: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.deadline-guide.PICKUP_TRAILER.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_TRUCK: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.deadline-guide.PICKUP_TRUCK.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_ROAD_TRAIN: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.deadline-guide.PICKUP_ROAD_TRAIN.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_DELIVERY_SHIPMENT: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_DELIVERY_SHIPMENT.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_DELIVERY_SHIPMENT.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.PICKUP_DELIVERY_SHIPMENT.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.PICKUP_DELIVERY_SHIPMENT.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    DRIVE_THROUGH: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DRIVE_THROUGH.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DRIVE_THROUGH.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DRIVE_THROUGH.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DRIVE_THROUGH.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    DROP_AND_HOOK: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.TRAILER_HOOKED',\n        TRAILER_DROPPED: 'common:change-tour-status.deadline-guide.DROP_AND_HOOK.TRAILER_DROPPED',\n    },\n    DROP_TRAILER: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DROP_TRAILER.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_TRAILER.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_TRAILER.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DROP_TRAILER.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: 'common:change-tour-status.deadline-guide.DROP_TRAILER.TRAILER_DROPPED',\n    },\n    DROP_TRUCK: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DROP_TRUCK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_TRUCK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_TRUCK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DROP_TRUCK.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: 'common:change-tour-status.deadline-guide.DROP_TRUCK.TRAILER_DROPPED',\n    },\n    DROP_ROAD_TRAIN: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: 'common:change-tour-status.deadline-guide.DROP_ROAD_TRAIN.TRAILER_DROPPED',\n    },\n    FERRY_DISEMBARK: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.FERRY_DISEMBARK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.FERRY_DISEMBARK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.FERRY_DISEMBARK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.FERRY_DISEMBARK.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n    FERRY_ONBOARD: {\n        START_TOUR: 'common:change-tour-status.deadline-guide.FERRY_ONBOARD.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.deadline-guide.FERRY_ONBOARD.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.deadline-guide.FERRY_ONBOARD.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.deadline-guide.FERRY_ONBOARD.FINISH_TOUR',\n        TRAILER_HOOKED: '',\n        TRAILER_DROPPED: '',\n    },\n};\n\nconst tourWaypointEventRestrictionI18nMap: Record<ApiTourWaypointEventRestrictionT, string> = {\n    NOT_FULLY_ASSIGN: 'common:change-tour-status.restrictions.NOT_FULLY_ASSIGN',\n    NOT_RESOLVE_SHIPMENT: 'common:change-tour-status.restrictions.NOT_RESOLVE_SHIPMENT',\n    TRAILER_STILL_USE_PREVIOUS_TOUR: 'common:change-tour-status.restrictions.TRAILER_STILL_USE_PREVIOUS_TOUR',\n};\n\nconst ChangeTourStatusFooter: React.FC<PropsT> = React.memo((props) => {\n    const { className, tourId, tour, isShowLoading, onManageShipment } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const descriptor = useMemo((): ConsistentStateMachineDescriptorT | null => {\n        if (!tourId) {\n            return null;\n        }\n\n        return {\n            tourId,\n        };\n    }, [tourId]);\n\n    const { updateRequest } = useConsistentStateMachine(descriptor);\n\n    const availableSteps = tour?.availableSteps || null;\n\n    const currentWaypointId = availableSteps?.current?.waypointId || null;\n    const currentWaypoint = tour?.waypoints?.find((waypoint) => waypoint.id === currentWaypointId) || null;\n    const currentFirstDoAction =\n        availableSteps?.current?.actions?.find((action) => {\n            return !action?.done;\n        }) || null;\n\n    const currentFirstDoRestriction = availableSteps?.current?.restriction || null;\n\n    const currentNeedManageShipmentEvent =\n        availableSteps?.current?.shipments?.find((event) => {\n            return event?.actions?.some((action) => {\n                return !action?.done;\n            });\n        }) || null;\n\n    const previousWaypointId = availableSteps?.previous?.waypointId || null;\n    const previousWaypoint = tour?.waypoints?.find((waypoint) => waypoint.id === previousWaypointId) || null;\n    const previousFirstDoAction =\n        availableSteps?.previous?.actions?.find((action) => {\n            return action?.done;\n        }) || null;\n\n    const previousFirstDoRestriction = availableSteps?.previous?.restriction || null;\n\n    const deadline =\n        (currentFirstDoAction?.type === 'ARRIVED_AT_WAYPOINT'\n            ? currentWaypoint?.correctedDateTimeFrom || currentWaypoint?.originalDateTimeFrom\n            : currentWaypoint?.correctedDateTimeTo || currentWaypoint?.originalDateTimeTo) || null;\n\n    const options: Array<DropdownControlOptionT | null | undefined> = [\n        previousWaypoint && previousFirstDoAction\n            ? {\n                  label: (\n                      <Tooltip\n                          position={TooltipPositionEnum.topCenter}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={\n                              previousFirstDoRestriction ? (\n                                  <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                      {t(tourWaypointEventRestrictionI18nMap[previousFirstDoRestriction])}\n                                  </TooltipContent>\n                              ) : null\n                          }\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  isDisabled={!!previousFirstDoRestriction}\n                                  label={\n                                      previousFirstDoRestriction\n                                          ? t('common:change-tour-status.unable-undo', {\n                                                action: t(\n                                                    tourActionI18nMap?.[previousWaypoint.type]?.[\n                                                        previousFirstDoAction.type\n                                                    ],\n                                                    {\n                                                        number: (previousWaypoint.index || 0) + 1,\n                                                    },\n                                                ),\n                                            })\n                                          : t('common:change-tour-status.undo', {\n                                                action: t(\n                                                    tourActionI18nMap?.[previousWaypoint.type]?.[\n                                                        previousFirstDoAction.type\n                                                    ],\n                                                    {\n                                                        number: (previousWaypoint.index || 0) + 1,\n                                                    },\n                                                ),\n                                            })\n                                  }\n                                  icon={<RestoreIcon strokeColor={StyleGuideColorsEnum.tomatoRed} />}\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  isDisabled: !!previousFirstDoRestriction,\n                  onSelect: () => {\n                      if (!tourId || !previousWaypointId || !descriptor) {\n                          logWarning('Empty tour id or waypoint id or descriptor');\n                          return;\n                      }\n\n                      if (previousFirstDoAction?.type === 'ARRIVED_AT_WAYPOINT') {\n                          dispatch(\n                              toursWaypointsUndoArrived({\n                                  tourId,\n                                  waypointId: previousWaypointId,\n                                  descriptor,\n                              }),\n                          );\n                      }\n\n                      if (\n                          previousFirstDoAction?.type === 'LEAVE_WAYPOINT' ||\n                          previousFirstDoAction?.type === 'START_TOUR' ||\n                          previousFirstDoAction?.type === 'FINISH_TOUR' ||\n                          previousFirstDoAction?.type === 'TRAILER_DROPPED' ||\n                          previousFirstDoAction?.type === 'TRAILER_HOOKED'\n                      ) {\n                          dispatch(\n                              toursWaypointsUndoLeft({\n                                  tourId,\n                                  waypointId: previousWaypointId,\n                                  descriptor,\n                              }),\n                          );\n                      }\n                  },\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const handleDoManagementShipmentEvent = () => {\n        const shipmentId = currentNeedManageShipmentEvent?.shipmentId || null;\n        if (!shipmentId) {\n            logWarning('Empty shipmentId');\n            return;\n        }\n\n        onManageShipment(shipmentId);\n    };\n\n    const handleDoCurrentFirstDoAction = () => {\n        if (!tourId || !currentWaypointId || !descriptor) {\n            logWarning('Empty tour id or waypoint id or descriptor');\n            return;\n        }\n\n        if (currentFirstDoAction?.type === 'ARRIVED_AT_WAYPOINT') {\n            dispatch(\n                toursWaypointsArrived({\n                    tourId,\n                    waypointId: currentWaypointId,\n                    descriptor,\n                }),\n            );\n        }\n\n        if (\n            currentFirstDoAction?.type === 'LEAVE_WAYPOINT' ||\n            currentFirstDoAction?.type === 'START_TOUR' ||\n            currentFirstDoAction?.type === 'FINISH_TOUR' ||\n            currentFirstDoAction?.type === 'TRAILER_DROPPED' ||\n            currentFirstDoAction?.type === 'TRAILER_HOOKED'\n        ) {\n            dispatch(\n                toursWaypointsLeft({\n                    tourId,\n                    waypointId: currentWaypointId,\n                    descriptor,\n                }),\n            );\n        }\n    };\n\n    const isLoading = updateRequest?.loading;\n\n    const deadlineLabel =\n        currentWaypoint && currentFirstDoAction\n            ? t(deadlineGuideI18nMap?.[currentWaypoint.type]?.[currentFirstDoAction.type], {\n                  number: (currentWaypoint.index || 0) + 1,\n              })\n            : null;\n\n    const alreadyStartedLabel = t('common:change-tour-status.out-of-time', {\n        toAction: deadlineLabel,\n    });\n\n    if (!isShowLoading) {\n        return null;\n    }\n\n    const isShowActionButton = Boolean(currentFirstDoAction || currentNeedManageShipmentEvent);\n\n    if (!isShowActionButton && !options?.length) {\n        return null;\n    }\n\n    return (\n        <TimeLeftForStart\n            deadline={deadline}\n            alreadyStartedLabel={alreadyStartedLabel}\n            deadlineLabel={deadlineLabel}\n            renderActions={(isDisabled) => {\n                return (\n                    <>\n                        {isShowActionButton && (\n                            <Tooltip\n                                position={TooltipPositionEnum.topCenter}\n                                theme={TooltipThemeEnum.black}\n                                className={cx('tooltip')}\n                                tooltipNode={\n                                    currentFirstDoRestriction ? (\n                                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                            {t(tourWaypointEventRestrictionI18nMap[currentFirstDoRestriction])}\n                                        </TooltipContent>\n                                    ) : null\n                                }\n                            >\n                                {() => {\n                                    if (currentNeedManageShipmentEvent) {\n                                        return (\n                                            <Button\n                                                className={cx('action', 'action--next')}\n                                                theme={ButtonThemeEnum.secondaryPositive}\n                                                onClick={handleDoManagementShipmentEvent}\n                                                isDisabled={isDisabled}\n                                                isLoading={isLoading}\n                                            >\n                                                {t('common:change-tour-status.manage-shipment')}\n                                            </Button>\n                                        );\n                                    }\n\n                                    if (currentFirstDoAction) {\n                                        return (\n                                            <Button\n                                                className={cx('action', 'action--next')}\n                                                theme={ButtonThemeEnum.secondaryPositive}\n                                                onClick={handleDoCurrentFirstDoAction}\n                                                isDisabled={!!currentFirstDoRestriction || isDisabled}\n                                                isLoading={isLoading}\n                                            >\n                                                {currentWaypoint\n                                                    ? t(\n                                                          tourActionI18nMap?.[currentWaypoint.type]?.[\n                                                              currentFirstDoAction.type\n                                                          ],\n                                                          {\n                                                              number: (currentWaypoint.index || 0) + 1,\n                                                          },\n                                                      )\n                                                    : null}\n                                            </Button>\n                                        );\n                                    }\n\n                                    return null;\n                                }}\n                            </Tooltip>\n                        )}\n                        <DropdownControl\n                            className={className}\n                            options={options}\n                            isDisabled={isLoading}\n                            isShowTriggerForEmptyOptions={isLoading}\n                            renderTrigger={(isActive, onClick) => (\n                                <TransparentTrigger\n                                    isPressed={isActive}\n                                    onClick={onClick}\n                                    leftIcon={<MoreIcon />}\n                                    reflectionTheme={ReflectionThemeEnum.light}\n                                />\n                            )}\n                            overlayPosition={DropdownOverlayPositionEnum.topRight}\n                        />\n                    </>\n                );\n            }}\n        />\n    );\n});\n\nexport default ChangeTourStatusFooter;\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ContractDetailsForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport Input from 'common/components/Input/Input';\nimport getInitialValues from './get-initial-values';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport { UnitTypeEnum } from 'common/constants';\nimport isEmpty from 'lodash/isEmpty';\nimport { useDispatch, useSelector } from 'react-redux';\nimport prepareChanges from './prepare-changes';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport { logWarning } from 'common/utils/logger';\nimport DatePicker, {\n    DatePickerOverlayPositionEnum,\n    datePicketRangePresets,\n} from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport values from 'lodash/values';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { PartnerContractDetailsT } from 'common/store/carrier-contract-details/models';\nimport { approveCarrierContract, updateCarrierContract } from 'common/store/carrier-contracts/actions';\nimport { selectUpdateCarrierContractRequest } from 'common/store/carrier-contracts/selectors';\nimport SideBarLoader from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLoader/SideBarLoader';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\nimport ApproveContractConfirmation, {\n    ConfirmApproveContractModalDataT,\n} from 'common/layouts/BaseCarrierContractsLayout/dialogs/ApproveContractConfirmation/ApproveContractConfirmation';\nimport { selectCarrierContractStateById } from 'common/store/carrier-contract-details/selectors';\nimport TruckRateModeDropdown from 'common/components/dropdowns/TruckRateModeDropdown/TruckRateModeDropdown';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport Divider from 'design-system/components/Divider/Divider';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isReview: boolean;\n    contractDetails: PartnerContractDetailsT | null;\n    setNeedCloseConfirmation: (needCloseConfirmation: boolean) => void;\n    partnerId: PartnerIdT | null;\n};\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst ContractDetailsForm: React.FC<PropsT> = (props) => {\n    const { isReview, contractDetails, setNeedCloseConfirmation, partnerId } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const confirmApproveContractModalDialog = useModalDialog<ConfirmApproveContractModalDataT>();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(contractDetails);\n        const errors = validateForm(t, values);\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [contractDetails]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const contractId = contractDetails?.id || null;\n            if (!contractId) {\n                logWarning('empty contractId');\n                return;\n            }\n\n            const contractChanges = prepareChanges(contractId, values);\n            if (!contractChanges) {\n                logWarning('empty contractChanges');\n                return;\n            }\n\n            if (isReview) {\n                confirmApproveContractModalDialog.setData({\n                    contractId,\n                    contractChanges,\n                });\n            } else {\n                if (!partnerId) {\n                    logWarning('Empty partnerId in ContractDetailsForm onSubmit');\n                    return;\n                }\n                dispatch(\n                    updateCarrierContract({\n                        partnerId,\n                        contractId,\n                        contractChanges,\n                    }),\n                );\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErrors = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErrors,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErrors, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        return () => {\n            setNeedCloseConfirmation(false);\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    React.useEffect(() => {\n        if (hasAnyFieldValueChanges) {\n            setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    const updateCarrierContractRequest = useSelector(selectUpdateCarrierContractRequest(partnerId));\n\n    const isLoading = updateCarrierContractRequest.loading;\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const handleConfirmApproveContract = (data: ConfirmApproveContractModalDataT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmApproveContract');\n            return;\n        }\n        dispatch(\n            approveCarrierContract({\n                partnerId,\n                contractId: data.contractId,\n                contractChanges: data.contractChanges,\n            }),\n        );\n    };\n\n    const { fetchRequest: fetchContractDetailsRequest } = useSelector(\n        selectCarrierContractStateById(contractDetails?.id),\n    );\n\n    if (isEmpty(contractDetails) && fetchContractDetailsRequest.loading) {\n        return <SideBarLoader isRelative />;\n    }\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('wrap')}>\n            <FormikField\n                className={cx('field', 'field--date')}\n                name={FieldsEnum.expiration}\n                error={formik.errors[FieldsEnum.expiration]}\n                meta={formik.getFieldMeta(FieldsEnum.expiration)}\n                label={t('common:carrier-contracts.details.fields.expiration.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <DatePicker\n                        {...datePicketRangePresets.documentValidTill}\n                        hasYearMonthForm\n                        value={formik.values[FieldsEnum.expiration]}\n                        placeholder={t('common:carrier-contracts.details.fields.expiration.placeholder')}\n                        onChange={props.onChange}\n                        hasWarning={props.hasWarning}\n                        hasError={props.hasError}\n                        overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                        hasClearControl\n                    />\n                )}\n            </FormikField>\n            <Divider className={cx('divider')} />\n            <FormikField\n                className={cx('field', 'field--name')}\n                name={FieldsEnum.name}\n                error={formik.errors[FieldsEnum.name]}\n                meta={formik.getFieldMeta(FieldsEnum.name)}\n                label={t('common:carrier-contracts.details.fields.name.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <Input\n                        name={FieldsEnum.name}\n                        value={formik.values[FieldsEnum.name]}\n                        placeholder={t('common:carrier-contracts.details.fields.name.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field', 'field--number')}\n                name={FieldsEnum.number}\n                error={formik.errors[FieldsEnum.number]}\n                meta={formik.getFieldMeta(FieldsEnum.number)}\n                label={t('common:carrier-contracts.details.fields.number.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <Input\n                        name={FieldsEnum.number}\n                        value={formik.values[FieldsEnum.number]}\n                        placeholder={t('common:carrier-contracts.details.fields.number.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field', 'field--rate-mode')}\n                name={FieldsEnum.truckRateMode}\n                error={formik.errors[FieldsEnum.truckRateMode]}\n                meta={formik.getFieldMeta(FieldsEnum.truckRateMode)}\n                label={t('common:carrier-contracts.details.fields.truck-rate-mode.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                tooltipNode={\n                    <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                        {t('common:carrier-contracts.details.fields.truck-rate-mode.tooltip')}\n                    </TooltipContent>\n                }\n                tooltipPosition={TooltipPositionEnum.centerRight}\n            >\n                {(props) => (\n                    <TruckRateModeDropdown\n                        value={formik.values[FieldsEnum.truckRateMode]}\n                        onChange={props.onChange}\n                        hasWarning={props.hasWarning}\n                        hasError={props.hasError}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field', 'field--rate')}\n                name={FieldsEnum.truckRate}\n                error={formik.errors[FieldsEnum.truckRate]}\n                meta={formik.getFieldMeta(FieldsEnum.truckRate)}\n                label={t('common:carrier-contracts.details.fields.truck-rate.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <NumberInput\n                        name={FieldsEnum.truckRate}\n                        unitType={UnitTypeEnum.euroAbbreviation}\n                        value={formik.values[FieldsEnum.truckRate]}\n                        placeholder={t('common:carrier-contracts.details.fields.truck-rate.placeholder')}\n                        step={1}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field', 'field--rate')}\n                name={FieldsEnum.tiltRate}\n                error={formik.errors[FieldsEnum.tiltRate]}\n                meta={formik.getFieldMeta(FieldsEnum.tiltRate)}\n                label={t('common:carrier-contracts.details.fields.tilt-rate.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <NumberInput\n                        name={FieldsEnum.tiltRate}\n                        unitType={UnitTypeEnum.euroAbbreviation}\n                        value={formik.values[FieldsEnum.tiltRate]}\n                        placeholder={t('common:carrier-contracts.details.fields.tilt-rate.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        step={1}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field', 'field--rate')}\n                name={FieldsEnum.boxRate}\n                error={formik.errors[FieldsEnum.boxRate]}\n                meta={formik.getFieldMeta(FieldsEnum.boxRate)}\n                label={t('common:carrier-contracts.details.fields.box-rate.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <NumberInput\n                        name={FieldsEnum.boxRate}\n                        unitType={UnitTypeEnum.euroAbbreviation}\n                        value={formik.values[FieldsEnum.boxRate]}\n                        placeholder={t('common:carrier-contracts.details.fields.box-rate.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        step={1}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field', 'field--truck-expected-mileage')}\n                name={FieldsEnum.truckExpectedMileage}\n                error={formik.errors[FieldsEnum.truckExpectedMileage]}\n                meta={formik.getFieldMeta(FieldsEnum.truckExpectedMileage)}\n                label={t('common:carrier-contracts.details.fields.truck-expected-mileage.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <NumberInput\n                        name={FieldsEnum.truckExpectedMileage}\n                        unitType={UnitTypeEnum.kilometersAbbreviation}\n                        value={formik.values[FieldsEnum.truckExpectedMileage]}\n                        placeholder={t('common:carrier-contracts.details.fields.truck-expected-mileage.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        step={1}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field', 'field--box-expected-mileage')}\n                name={FieldsEnum.boxExpectedMileage}\n                error={formik.errors[FieldsEnum.boxExpectedMileage]}\n                meta={formik.getFieldMeta(FieldsEnum.boxExpectedMileage)}\n                label={t('common:carrier-contracts.details.fields.box-expected-mileage.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <NumberInput\n                        name={FieldsEnum.boxExpectedMileage}\n                        unitType={UnitTypeEnum.kilometersAbbreviation}\n                        value={formik.values[FieldsEnum.boxExpectedMileage]}\n                        placeholder={t('common:carrier-contracts.details.fields.box-expected-mileage.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        step={1}\n                    />\n                )}\n            </FormikField>\n            <FormikField\n                className={cx('field', 'field--tilt-expected-mileage')}\n                name={FieldsEnum.tiltExpectedMileage}\n                error={formik.errors[FieldsEnum.tiltExpectedMileage]}\n                meta={formik.getFieldMeta(FieldsEnum.tiltExpectedMileage)}\n                label={t('common:carrier-contracts.details.fields.tilt-expected-mileage.label')}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n            >\n                {(props) => (\n                    <NumberInput\n                        name={FieldsEnum.tiltExpectedMileage}\n                        unitType={UnitTypeEnum.kilometersAbbreviation}\n                        value={formik.values[FieldsEnum.tiltExpectedMileage]}\n                        placeholder={t('common:carrier-contracts.details.fields.tilt-expected-mileage.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        step={1}\n                    />\n                )}\n            </FormikField>\n            <HiddenSubmitButtonForKeyboardEnter />\n            <ApproveContractConfirmation\n                name={formik.values[FieldsEnum.name]}\n                data={confirmApproveContractModalDialog.data}\n                onCancel={confirmApproveContractModalDialog.onCancel}\n                onClose={confirmApproveContractModalDialog.onClose}\n                onConfirm={handleConfirmApproveContract}\n                isLoading={isLoading}\n            />\n        </form>\n    );\n};\n\nexport default ContractDetailsForm;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type DeclineOrderConfirmationDataT = {};\n\ntype PropsT = {\n    requestStatus: RequestStatusT | null;\n    data: DeclineOrderConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: DeclineOrderConfirmationDataT) => void;\n};\n\nconst TEST_SELECTOR = 'decline-order-confirmation';\n\nconst DeclineOrderConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { requestStatus, data, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus?.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.decline'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isDisabled: requestStatus?.loading,\n                            isLoading: requestStatus?.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('common:transport-order-details.decline-confirm.title')}\n                    message={t('common:transport-order-details.decline-confirm.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default DeclineOrderConfirmation;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst getInitialValues = (systemSettings: SystemSettingsT | null | undefined): FormValuesT => {\n    return {\n        [FieldsEnum.spotRequestLimit]: systemSettings?.SPOT_REQUEST_LIMIT || '',\n        [FieldsEnum.expiresSoonAlert]: systemSettings?.EXPIRES_SOON || '',\n    };\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"PreviewMessage__inner___hVahN\",\"icon\":\"PreviewMessage__icon___ZOUUG\",\"title\":\"PreviewMessage__title___nzkWM\",\"description\":\"PreviewMessage__description___DRYZ2\",\"fadeIn\":\"PreviewMessage__fadeIn___PybFE\",\"blinking\":\"PreviewMessage__blinking___O9_Lc\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { RoutingGeometrySliceT, RoutingGeometryStateT } from './types';\nimport requestStatus from 'common/utils/request-status';\n\nexport const initialRoutingGeometryState: RoutingGeometrySliceT = {\n    data: [],\n    requestStatus: requestStatus.initial,\n};\n\nconst initialState: RoutingGeometryStateT = {};\n\nexport const routingGeometrySlice = createSlice({\n    name: 'routingGeometry',\n    initialState,\n    reducers: {\n        fetchRoutesPlainGeometry: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                polylineIds: Array<PolylineIdT | null>;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchRoutePlainGeometry: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                polylineId: PolylineIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchRouteGeometryBegin: (\n            state,\n            action: PayloadAction<{\n                polylineId: PolylineIdT;\n            }>,\n        ) => {\n            const { polylineId } = action.payload;\n            const routingGeometryState = state[polylineId] || initialRoutingGeometryState;\n\n            state[polylineId] = {\n                ...routingGeometryState,\n                requestStatus: requestStatus.loading,\n            };\n        },\n        fetchRouteGeometrySuccess: (\n            state,\n            action: PayloadAction<{\n                polylineId: PolylineIdT;\n                data: Array<GooglePolylineT>;\n            }>,\n        ) => {\n            const { polylineId, data } = action.payload;\n            const routingGeometryState = state[polylineId] || initialRoutingGeometryState;\n\n            state[polylineId] = {\n                ...routingGeometryState,\n                requestStatus: requestStatus.ok,\n                data,\n            };\n        },\n        fetchRouteGeometryError: (\n            state,\n            action: PayloadAction<{\n                polylineId: PolylineIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { polylineId, error } = action.payload;\n            const routingGeometryState = state[polylineId] || initialRoutingGeometryState;\n\n            state[polylineId] = {\n                ...routingGeometryState,\n                requestStatus: requestStatus.setError(error),\n            };\n        },\n        resetRouteGeometry: (\n            state,\n            action: PayloadAction<{\n                polylineIds: Array<PolylineIdT | null>;\n            }>,\n        ) => {\n            const { polylineIds } = action.payload;\n\n            polylineIds.forEach((polylineId) => {\n                if (polylineId) {\n                    delete state[polylineId];\n                }\n            });\n        },\n    },\n});\n\nexport const {\n    fetchRoutesPlainGeometry,\n    fetchRoutePlainGeometry,\n    fetchRouteGeometryBegin,\n    fetchRouteGeometrySuccess,\n    fetchRouteGeometryError,\n    resetRouteGeometry,\n} = routingGeometrySlice.actions;\n\nexport default routingGeometrySlice.reducer;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ControlsCell.scss';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport CloseIcon from 'common/icons/CloseIcon';\n\nexport type ActionsPropsT = {\n    onActiveRule: (ruleId: RuleIdT) => void;\n    onDeactiveRule: (ruleId: RuleIdT) => void;\n    onDeleteRule: (ruleId: RuleIdT) => void;\n};\n\ntype PropsT = {\n    className?: string;\n    id: RuleIdT | null | undefined;\n    isActive: boolean;\n} & ActionsPropsT;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst ControlsCell: React.FC<PropsT> = React.memo((props) => {\n    const { className, onActiveRule, onDeactiveRule, onDeleteRule, id, isActive } = props;\n\n    const { t } = useTranslation();\n\n    const activateOption: DropdownControlOptionT = {\n        label: (\n            <DropdownControlOptionLabel\n                icon={<DoneIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />}\n                label={t('price-settings.rules.actions.activate')}\n            />\n        ),\n        testSelector: 'activate',\n        onSelect: () => {\n            if (!id) {\n                return;\n            }\n            onActiveRule(id);\n        },\n    };\n\n    const deactivateOption: DropdownControlOptionT = {\n        label: (\n            <DropdownControlOptionLabel\n                icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                label={t('price-settings.rules.actions.deactivate')}\n            />\n        ),\n        testSelector: 'deactivate',\n        onSelect: () => {\n            if (!id) {\n                return;\n            }\n            onDeactiveRule(id);\n        },\n    };\n\n    const deleteOption: DropdownControlOptionT = {\n        label: (\n            <DropdownControlOptionLabel\n                icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                label={t('price-settings.rules.actions.delete')}\n            />\n        ),\n        testSelector: 'delete',\n        onSelect: () => {\n            if (!id) {\n                return;\n            }\n            onDeleteRule(id);\n        },\n    };\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum> = [];\n\n    if (isActive) {\n        options.push(deactivateOption);\n        options.push(SpecialOptionEnum.separator);\n    } else {\n        options.push(activateOption);\n        options.push(SpecialOptionEnum.separator);\n    }\n\n    options.push(deleteOption);\n\n    const fullTestSelector = 'rule-row-controls';\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    leftIcon={<MoreIcon />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                    testSelector={`${fullTestSelector}-trigger`}\n                />\n            )}\n            testSelector={fullTestSelector}\n            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n        />\n    );\n});\n\nexport default ControlsCell;\n","import Decimal from 'decimal.js-light';\n\nexport const safeArithmeticOperations = {\n    plus: (a: number, b: number): number => {\n        const bigA = new Decimal(a);\n\n        return bigA.plus(b).toNumber();\n    },\n    minus: (a: number, b: number): number => {\n        const bigA = new Decimal(a);\n\n        return bigA.minus(b).toNumber();\n    },\n};\n","const getScrollbarWidth = (element: HTMLHeadingElement | null | undefined): number => {\n    if (!element) {\n        return 0;\n    }\n\n    return element.offsetWidth - element.clientWidth;\n};\n\nexport default getScrollbarWidth;\n","import { BidsQuickFilterEnum } from '../constants';\nimport { SpotBidT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport { ApiBidStatusT, BidStatusEnum } from 'carrier/utils/api/spot-carrier-tranziit/models';\n\ntype BidFilterT = (bid: SpotBidT | null | undefined) => boolean;\n\nconst inactiveBidStatusesSet = new Set<ApiBidStatusT>([\n    BidStatusEnum.rejected,\n    BidStatusEnum.expired,\n    BidStatusEnum.canceled,\n]);\n\nconst acceptedBidStatusesSet = new Set<ApiBidStatusT>([BidStatusEnum.accepted, BidStatusEnum.won, BidStatusEnum.lost]);\n\nconst filters: Record<BidsQuickFilterEnum, BidFilterT> = {\n    [BidsQuickFilterEnum.accepted]: (bid) => {\n        return !!bid?.status && acceptedBidStatusesSet.has(bid.status);\n    },\n    [BidsQuickFilterEnum.match]: (bid) => {\n        return !!bid?.match;\n    },\n    [BidsQuickFilterEnum.inactive]: (bid) => {\n        return !!bid?.status && inactiveBidStatusesSet.has(bid.status);\n    },\n};\n\nexport const useBidsFilter = (\n    quickFilter: BidsQuickFilterEnum | null,\n    bids: Array<SpotBidT | null | undefined>,\n): Array<SpotBidT | null | undefined> => {\n    if (!quickFilter) {\n        return bids;\n    }\n\n    return bids.filter(filters[quickFilter]);\n};\n\nexport const useBidQuickFilterCounts = (\n    bids: Array<SpotBidT | null | undefined>,\n): Record<BidsQuickFilterEnum, number> => {\n    const counts: Record<BidsQuickFilterEnum, number> = {\n        [BidsQuickFilterEnum.inactive]: 0,\n        [BidsQuickFilterEnum.match]: 0,\n        [BidsQuickFilterEnum.accepted]: 0,\n    };\n\n    const allQuickFilters: Array<BidsQuickFilterEnum> = [\n        BidsQuickFilterEnum.accepted,\n        BidsQuickFilterEnum.match,\n        BidsQuickFilterEnum.inactive,\n    ];\n\n    bids.forEach((bid) => {\n        allQuickFilters.forEach((quickFilter) => {\n            const isMatch = filters[quickFilter](bid);\n            if (isMatch) {\n                counts[quickFilter] += 1;\n            }\n        });\n    });\n\n    return counts;\n};\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { ApiContactFormalEnum, ApiContactFormalT } from 'common/utils/api/models';\n\nimport styles from './UserFormalDropdown.scss';\nimport { useTranslation } from 'react-i18next';\n\ntype FormalOptionT = {\n    label: string;\n    value: ApiContactFormalT;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiContactFormalT | null;\n\ntype PropsT = {\n    placeholder?: string;\n    value: ValueT;\n    isDisabled?: boolean;\n    onChange: (value: ValueT) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n};\n\nexport const FORMAL_T_MAP: Record<ApiContactFormalT, string> = {\n    [ApiContactFormalEnum.mr]: 'common:formal.mr',\n    [ApiContactFormalEnum.mrs]: 'common:formal.ms',\n    [ApiContactFormalEnum.dr]: 'common:formal.dr',\n    [ApiContactFormalEnum.mag]: 'common:formal.mag',\n    [ApiContactFormalEnum.prof]: 'common:formal.prof',\n};\n\nconst AVAILABLE_FORMALS = [\n    ApiContactFormalEnum.mr,\n    ApiContactFormalEnum.mrs,\n    ApiContactFormalEnum.dr,\n    ApiContactFormalEnum.mag,\n    ApiContactFormalEnum.prof,\n];\n\nconst UserFormalDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { value, placeholder, onChange, isDisabled, hasWarning, hasError, hasChanges, onBlur, onFocus } = props;\n\n    const { t } = useTranslation();\n\n    const options: Array<FormalOptionT> = AVAILABLE_FORMALS.map((formal) => ({\n        label: t(FORMAL_T_MAP[formal]),\n        value: formal,\n    }));\n\n    const renderOption = (option: FormalOptionT | null | undefined): React.ReactElement | null => {\n        if (!option) {\n            return null;\n        }\n\n        return <span>{option?.label}</span>;\n    };\n\n    const handleSelect = (value: ValueT): void => {\n        onChange(value);\n    };\n\n    const getOptionValue = (option: FormalOptionT) => option?.value;\n\n    return (\n        <DropdownInput<FormalOptionT, ValueT>\n            selectedValue={value}\n            placeholder={placeholder}\n            options={options}\n            onSelect={handleSelect}\n            isDisabled={isDisabled}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n        />\n    );\n});\n\nexport default UserFormalDropdown;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { CompanyChangesT, CompanyT } from './models';\n\nexport const FETCH_COMPANY_REQUEST = 'common/company/FETCH_COMPANY_REQUEST';\nexport const FETCH_COMPANY_REQUEST_BEGIN = 'common/company/FETCH_COMPANY_REQUEST_BEGIN';\nexport const FETCH_COMPANY_REQUEST_ERROR = 'common/company/FETCH_COMPANY_REQUEST_ERROR';\nexport const FETCH_COMPANY_REQUEST_SUCCESS = 'common/company/FETCH_COMPANY_REQUEST_SUCCESS';\n\nexport const UPDATE_COMPANY_REQUEST = 'common/company/UPDATE_COMPANY_REQUEST';\nexport const UPDATE_COMPANY_REQUEST_BEGIN = 'common/company/UPDATE_COMPANY_REQUEST_BEGIN';\nexport const UPDATE_COMPANY_REQUEST_ERROR = 'common/company/UPDATE_COMPANY_REQUEST_ERROR';\nexport const UPDATE_COMPANY_REQUEST_SUCCESS = 'common/company/UPDATE_COMPANY_REQUEST_SUCCESS';\n\nexport type CompanyStateT = {\n    currentCompanyRequest: RequestStatusT;\n    updateCompanyRequest: RequestStatusT;\n    currentCompany: CompanyT | null;\n};\n\nexport type FetchCompanyActionT = {\n    type: typeof FETCH_COMPANY_REQUEST;\n    options?: FetchOptionsT;\n};\n\nexport type FetchCompanyBeginActionT = {\n    type: typeof FETCH_COMPANY_REQUEST_BEGIN;\n};\n\nexport type FetchCompanySuccessActionT = {\n    type: typeof FETCH_COMPANY_REQUEST_SUCCESS;\n    currentCompany: CompanyT | null;\n};\n\nexport type FetchCompanyErrorActionT = {\n    type: typeof FETCH_COMPANY_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type UpdateCompanyActionT = {\n    type: typeof UPDATE_COMPANY_REQUEST;\n    companyChanges: CompanyChangesT;\n    company: CompanyT;\n};\n\nexport type UpdateCompanyBeginActionT = {\n    type: typeof UPDATE_COMPANY_REQUEST_BEGIN;\n};\n\nexport type UpdateCompanySuccessActionT = {\n    type: typeof UPDATE_COMPANY_REQUEST_SUCCESS;\n    currentCompany: CompanyT | null;\n};\n\nexport type UpdateCompanyErrorActionT = {\n    type: typeof UPDATE_COMPANY_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type CompanyActionT =\n    | FetchCompanyActionT\n    | FetchCompanyBeginActionT\n    | FetchCompanySuccessActionT\n    | FetchCompanyErrorActionT\n    | UpdateCompanyActionT\n    | UpdateCompanyBeginActionT\n    | UpdateCompanySuccessActionT\n    | UpdateCompanyErrorActionT;\n","import {\n    FETCH_RFQS_STATS_REQUEST,\n    FETCH_RFQS_STATS_REQUEST_BEGIN,\n    FETCH_RFQS_STATS_REQUEST_ERROR,\n    FETCH_RFQS_STATS_REQUEST_SUCCESS,\n    FetchRFQsStatsActionT,\n    FetchRFQsStatsBeginActionT,\n    FetchRFQsStatsErrorActionT,\n    FetchRFQsStatsSuccessActionT,\n} from './types';\nimport { RFQsStatsT } from './models';\n\nexport const fetchRFQsStats = (companyId: CompanyIdT, options?: FetchOptionsT): FetchRFQsStatsActionT => ({\n    type: FETCH_RFQS_STATS_REQUEST,\n    companyId,\n    options,\n});\n\nexport const fetchRFQsStatsBegin = (): FetchRFQsStatsBeginActionT => ({\n    type: FETCH_RFQS_STATS_REQUEST_BEGIN,\n});\n\nexport const fetchRFQsStatsSuccess = (statistics: RFQsStatsT | null): FetchRFQsStatsSuccessActionT => ({\n    type: FETCH_RFQS_STATS_REQUEST_SUCCESS,\n    statistics,\n});\n\nexport const fetchRFQsStatsError = (error: Error): FetchRFQsStatsErrorActionT => ({\n    type: FETCH_RFQS_STATS_REQUEST_ERROR,\n    error,\n});\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EditTimeWindowsForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { FieldsEnum, FormValuesT, WaypointsFieldEnum } from './constants';\nimport validateForm from './validate-form';\nimport { FormikContext, useFormik } from 'formik';\nimport TimeWindowPicker from 'common/components/forms/TimeWindowPicker/TimeWindowPicker';\nimport TimeIntervalDurationPillLabel from 'common/layouts/NewOrderPage/ShipmentDetailsForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel';\nimport moment from 'moment';\nimport { clearDateTimezone } from 'common/utils/time';\nimport { RangeSelectorZoneThemeEnum } from 'common/components/RangeSelector/constants';\nimport { updateDockingHours } from 'broker-admin/store/broker-order-edit/actions';\nimport { selectUpdateBrokerOrderRequest } from 'broker-admin/store/broker-order-edit/selectors';\nimport { prepareQuery } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/EditTimeWindowsForm/prepare-query';\nimport { logWarning } from 'common/utils/logger';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { ALL_DAY_RANGE, StyleGuideColorsEnum } from 'common/constants';\nimport { RangeSelectorRangeT } from 'common/components/RangeSelector/RangeSelector';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport isEmpty from 'lodash/isEmpty';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerOrderId: BrokerOrderIdT | null;\n    brokerOrderDetails: BrokerOrderDetailsT;\n    tourId: TourIdT | null;\n    onCancel: () => void;\n};\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.waypoints]: [],\n};\n\n// TODO move to utils\nconst formatTimeInterval = (\n    fromDate: string | null | undefined,\n    toDate: string | null | undefined,\n): [number, number] => {\n    let [timeIntervalFrom, timeIntervalTo] = ALL_DAY_RANGE;\n\n    const targetDateFrom = moment(clearDateTimezone(fromDate));\n    timeIntervalFrom = targetDateFrom.valueOf() - targetDateFrom.clone().startOf('day').valueOf();\n\n    const targetDateTo = moment(clearDateTimezone(toDate));\n\n    if (!targetDateFrom.isSame(targetDateTo, 'day')) {\n        return [timeIntervalFrom, ALL_DAY_RANGE[1]];\n    }\n\n    timeIntervalTo = targetDateTo.valueOf() - targetDateTo.clone().startOf('day').valueOf();\n\n    return [timeIntervalFrom, timeIntervalTo];\n};\n\nconst EditTimeWindowsForm: React.FC<PropsT> = (props) => {\n    const { onCancel, brokerOrderId, brokerOrderDetails, tourId } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const requestStatus = useSelector(selectUpdateBrokerOrderRequest);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const needAppointmentWaypoints = useMemo(() => {\n        const tour = findTourById(brokerOrderDetails, tourId);\n        const waypoints = tour?.waypoints || [];\n\n        return waypoints.filter((payloadWaypoint) => {\n            return payloadWaypoint?.appointmentByBroker;\n        });\n    }, [brokerOrderDetails, tourId]);\n\n    const timeIntervals = React.useMemo(() => {\n        return needAppointmentWaypoints.map((waypoint) => {\n            return formatTimeInterval(\n                waypoint.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                waypoint.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n            );\n        });\n    }, [needAppointmentWaypoints]);\n\n    const ranges = React.useMemo(() => {\n        return timeIntervals.map((timeInterval): Array<RangeSelectorRangeT> => {\n            return [\n                {\n                    id: 'available-range',\n                    values: timeInterval,\n                    theme: RangeSelectorZoneThemeEnum.green,\n                    label: '',\n                },\n            ];\n        });\n    }, [timeIntervals]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...INITIAL_VALUES,\n            [FieldsEnum.waypoints]: timeIntervals.map((timeInterval) => {\n                return {\n                    [WaypointsFieldEnum.timeWindow]: timeInterval,\n                };\n            }),\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [timeIntervals]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const query = prepareQuery(values, brokerOrderDetails, {\n                needAppointmentWaypoints,\n            });\n            if (!query || !brokerOrderId || !tourId) {\n                logWarning('empty query or brokerOrderId or tourId');\n                return;\n            }\n\n            // TODO need resolve TZT-7576, need tourId\n            dispatch(updateDockingHours(brokerOrderId, query));\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasFormAnyErrors = React.useMemo(() => {\n        const waypointsErrors = formik.errors[FieldsEnum.waypoints] || [];\n\n        if (typeof waypointsErrors === 'string') {\n            return true;\n        }\n\n        return waypointsErrors.some((waypointErrors) => {\n            return !isEmpty(waypointErrors);\n        });\n    }, [formik.errors]);\n\n    const waypointsFormValues = formik.values[FieldsEnum.waypoints];\n\n    return (\n        <FormikContext.Provider value={formik}>\n            <div className={cx('wrap')}>\n                <div className={cx('title')}>{t('broker-order-details.edit-time-windows.title')}</div>\n                <form onSubmit={formik.handleSubmit}>\n                    <div className={cx('form')}>\n                        {waypointsFormValues.map((waypointFormValues, index) => {\n                            const fieldName =\n                                `${FieldsEnum.waypoints}.${index}.${WaypointsFieldEnum.timeWindow}` as const;\n                            const needAppointmentWaypoint = needAppointmentWaypoints[index];\n                            const timeInterval = timeIntervals[index];\n                            const range = ranges[index];\n\n                            const waypointNumber = (needAppointmentWaypoint.index || 0) + 1;\n\n                            return (\n                                <FormikConnectContextField<FormValuesT, typeof fieldName>\n                                    className={cx('time-picker')}\n                                    name={fieldName}\n                                    withoutLabel\n                                    key={`waypoint-${index}`}\n                                >\n                                    {(props, extendsProps) => (\n                                        <TimeWindowPicker\n                                            range={ALL_DAY_RANGE}\n                                            availableValues={timeInterval}\n                                            ranges={range}\n                                            name={extendsProps.name}\n                                            hasStartStep\n                                            hasEndStep\n                                            icon={\n                                                <NumberIcon\n                                                    className={cx('time-picker__icon')}\n                                                    number={waypointNumber}\n                                                    fillColor={StyleGuideColorsEnum.gray}\n                                                />\n                                            }\n                                            values={extendsProps.value}\n                                            setFieldValue={(_, value) => {\n                                                props.onChange(value);\n                                            }}\n                                            label={t(\n                                                'broker-order-details.edit-time-windows.fields.waypoint-time-window.label',\n                                                {\n                                                    number: waypointNumber,\n                                                },\n                                            )}\n                                            duration={\n                                                <TimeIntervalDurationPillLabel\n                                                    isDayRelative\n                                                    timeWindow={extendsProps.value}\n                                                />\n                                            }\n                                        />\n                                    )}\n                                </FormikConnectContextField>\n                            );\n                        })}\n                    </div>\n                    <div className={cx('actions')}>\n                        <Button\n                            theme={ButtonThemeEnum.secondary}\n                            className={cx('action', 'action--cancel')}\n                            onClick={onCancel}\n                        >\n                            {t('broker-order-details.edit-time-windows.actions.cancel')}\n                        </Button>\n                        <Button\n                            theme={ButtonThemeEnum.primary}\n                            isDisabled={hasFormAnyErrors || requestStatus.loading}\n                            className={cx('action', 'action--set')}\n                            isLoading={requestStatus.loading}\n                            type=\"submit\"\n                        >\n                            {t('broker-order-details.edit-time-windows.actions.set')}\n                        </Button>\n                    </div>\n                </form>\n            </div>\n        </FormikContext.Provider>\n    );\n};\n\nexport default EditTimeWindowsForm;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    baseColor: StyleGuideColorsEnum;\n};\n\nconst BigQuestionIcon: React.FC<PropsT> = (props) => {\n    const { baseColor, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"130\" viewBox=\"0 0 200 130\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    fill={baseColor}\n                    fillOpacity=\"0.05\"\n                    d=\"M176 20a7 7 0 010 14h-40a7 7 0 010 14h22a7 7 0 010 14h-10.174c-4.874 0-8.826 3.134-8.826 7 0 2.577 2 4.91 6 7a7 7 0 010 14H62a7 7 0 010-14H23a7 7 0 010-14h40a7 7 0 000-14H38a7 7 0 010-14h40a7 7 0 010-14h98zm0 28a7 7 0 110 14 7 7 0 010-14z\"\n                />\n                <path\n                    fill=\"#FFF\"\n                    stroke={baseColor}\n                    strokeLinecap=\"round\"\n                    strokeWidth=\"2.5\"\n                    d=\"M138.577 93.075a54.587 54.587 0 01-7.933 5.299l.165 14.083a2 2 0 01-3.22 1.609l-12.663-9.743A66.553 66.553 0 01100 106c-30.376 0-55-20.147-55-45s24.624-45 55-45 55 20.147 55 45c0 6.879-1.886 13.397-5.259 19.227a42.703 42.703 0 01-2.015 3.154m-2.533 3.273a47.462 47.462 0 01-2.906 3.122\"\n                />\n                <path\n                    fill={baseColor}\n                    fillRule=\"nonzero\"\n                    d=\"M98.142 72.135c0-2.149.239-3.94.717-5.376.479-1.436 1.524-3.096 3.135-4.98 1.611-1.885 2.661-3.248 3.15-4.088.488-.84.864-1.728 1.127-2.666.264-.937.396-2.03.396-3.28 0-2.442-.537-4.351-1.611-5.728-1.075-1.377-2.54-2.066-4.395-2.066-1.875 0-3.408.67-4.6 2.007-1.19 1.338-1.806 3.13-1.845 5.376h-3.223c.04-3.203.962-5.767 2.769-7.69 1.806-1.924 4.106-2.886 6.9-2.886 2.89 0 5.155.991 6.796 2.973 1.64 1.983 2.46 4.644 2.46 7.984 0 2.07-.404 4.009-1.215 5.815-.81 1.807-2.358 3.99-4.643 6.548-1.797 1.856-2.696 4.541-2.696 8.057h-3.222zm-.352 9.785c0-.684.186-1.255.557-1.714.37-.459.898-.688 1.582-.688.683 0 1.216.23 1.596.688.381.459.572 1.03.572 1.714 0 .664-.19 1.216-.572 1.655-.38.44-.913.66-1.596.66-.684 0-1.211-.22-1.582-.66-.371-.44-.557-.991-.557-1.655z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigQuestionIcon.displayName = 'BigQuestionIcon';\n\nconst storyProps: PropsT = {\n    baseColor: StyleGuideColorsEnum.tomatoRed,\n};\n\nexport { storyProps };\nexport default BigQuestionIcon;\n","import { ApiBrokerTeamDetailsT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const normalizeTeamDetails = (teamDetails: ApiBrokerTeamDetailsT | null): ApiBrokerTeamDetailsT | null => {\n    if (!teamDetails) {\n        return null;\n    }\n\n    const companies = [...(teamDetails.companies || [])];\n    companies.sort((companyA, companyB) => {\n        return companyA.id.localeCompare(companyB.id);\n    });\n\n    const users = [...(teamDetails.users || [])];\n    users.sort((userA, userB) => {\n        return userA.id.localeCompare(userB.id);\n    });\n\n    return {\n        ...teamDetails,\n        // the backend can change the order without update\n        companies,\n        // the backend can change the order without update\n        users,\n    };\n};\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    size?: number;\n    className?: string;\n};\n\nconst FilledCircleIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, className } = props;\n\n    const size = props.size || DEFAULT_ICON_SIZE;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 10 10\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <circle fill={fillColor} cx=\"5\" cy=\"5\" r=\"2\" fillRule=\"evenodd\" />\n        </svg>\n    );\n};\n\nFilledCircleIcon.displayName = 'FilledCircleIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.charcoal,\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default FilledCircleIcon;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {};\n\nconst ReplacedLocationsAlertContent: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    return <span>{t('common:new-order-form.warnings-alert.invalid-route')}</span>;\n});\n\nexport default ReplacedLocationsAlertContent;\n","import { DictDocumentT } from 'common/store/documents-dict/models';\nimport { DocumentIdsByTypeT, DocumentT } from 'common/store/documents/models';\nimport { DocumentRowT } from 'common/layouts/BaseDocumentsLayout/BaseDocumentsTable/BaseDocumentsTable';\nimport forEach from 'lodash/forEach';\nimport * as React from 'react';\nimport { useSelector } from 'react-redux';\nimport { selectDocumentsDict } from 'common/store/documents-dict/selectors';\nimport {\n    selectCompanyDocumentIdsByType,\n    selectCompanyDocumentsById,\n    selectFetchCompanyDocumentsRequest,\n} from 'common/store/documents/selectors';\nimport { DocumentRequiredEnum, PartnerTypeEnum } from 'common/utils/api/models';\nimport { useDocumentInfo } from './use-document-info';\nimport { isNonNil } from 'common/utils';\n\nconst useDocumentRows = (\n    dictDocuments: Array<DictDocumentT>,\n    documentIdsByType: DocumentIdsByTypeT | null,\n    documentsById: Record<DocumentIdT, DocumentT> | null,\n): Array<DocumentRowT> => {\n    return dictDocuments\n        .map((dictDocument) => {\n            return useDocumentInfo(dictDocument, documentIdsByType, documentsById);\n        })\n        .filter(isNonNil);\n};\n\nconst useDocumentsRows = (partnerId: PartnerIdT | null, partnerType: PartnerTypeEnum | null) => {\n    const documentsDict = useSelector(selectDocumentsDict(partnerType));\n\n    const documentIdsByType = useSelector(selectCompanyDocumentIdsByType(partnerId));\n    const documentsById = useSelector(selectCompanyDocumentsById(partnerId));\n    const fetchDocumentsRequest = useSelector(selectFetchCompanyDocumentsRequest(partnerId));\n\n    return React.useMemo(() => {\n        if (!partnerId || !partnerType) {\n            return {\n                requiredDocumentRows: [],\n                optionalDocumentRows: [],\n            };\n        }\n\n        if (!fetchDocumentsRequest.ok && !fetchDocumentsRequest.error) {\n            return {\n                requiredDocumentRows: [],\n                optionalDocumentRows: [],\n            };\n        }\n\n        const requiredDictDocuments: Array<DictDocumentT> = [];\n        const optionalDictDocuments: Array<DictDocumentT> = [];\n\n        forEach(documentsDict, (item) => {\n            if (item?.required === DocumentRequiredEnum.must) {\n                requiredDictDocuments.push(item);\n            }\n\n            if (item?.required === DocumentRequiredEnum.optional) {\n                optionalDictDocuments.push(item);\n            }\n        });\n\n        const requiredDocumentRows = useDocumentRows(requiredDictDocuments, documentIdsByType, documentsById);\n        const optionalDocumentRows = useDocumentRows(optionalDictDocuments, documentIdsByType, documentsById);\n\n        return {\n            requiredDocumentRows,\n            optionalDocumentRows,\n        };\n    }, [documentsDict, documentIdsByType, documentsById, fetchDocumentsRequest, partnerId, partnerType]);\n};\n\nexport { useDocumentsRows };\n","import { StateT } from '../../../shipper/store/models';\nimport { BestOffersT, PriceOfferT, RFQDetailsT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { OrderCreationStateT } from './types';\nimport { byPriceAsc } from './utils/sort-offers';\nimport { isNonNil } from 'common/utils';\nimport mapValues from 'lodash/mapValues';\nimport { createSelector } from 'reselect';\n\nexport const selectCreateRFQRequest = (state: StateT): RequestStatusT => state.orderCreation.createRFQRequest;\nexport const selectCreatePriceOfferWithLaneRequest = (state: StateT): RequestStatusT =>\n    state.orderCreation.createPriceOfferWithLaneRequest;\n\nexport const selectRFQ = (state: StateT): RFQDetailsT | null => state.orderCreation.rfq;\n\nexport const selectLanePriceOffer = (state: StateT): OrderCreationStateT['lanePriceOffer'] =>\n    state.orderCreation.lanePriceOffer;\n\nexport const selectPolylines = (state: StateT): Array<GooglePolylineT> | null => state.orderCreation.polylines;\n\nexport const selectPriceOffers = (state: StateT): OrderCreationStateT['priceOffers'] => state.orderCreation.priceOffers;\n\nexport const selectPriceOffersList = createSelector(selectPriceOffers, (priceOffers): Array<PriceOfferT> => {\n    return (priceOffers?.list || []).map((id) => priceOffers?.byId[id]).filter(isNonNil);\n});\n\nexport const selectPriceOffersByHash = createSelector(\n    selectPriceOffers,\n    (priceOffers): Record<string, Array<PriceOfferT>> => {\n        return mapValues(priceOffers?.byHash, (ids: PriceOfferIdT[]) => {\n            return ids.map((id) => priceOffers?.byId[id]).filter(isNonNil);\n        });\n    },\n);\n\nexport const selectPriceOffersById = (state: StateT): Record<string, PriceOfferT> =>\n    state.orderCreation.priceOffers?.byId || {};\n\nexport const selectCreateOrderRequest = (state: StateT): RequestStatusT => state.orderCreation.createOrderRequest;\n\nexport const selectOffersTasks = (state: StateT): OrderCreationStateT['offersTasks'] => state.orderCreation.offersTasks;\n\nexport const selectIsPartialLoadingOffers = (state: StateT): boolean => {\n    const { total, count } = state.orderCreation.offersTasks;\n\n    return total !== null && total !== count;\n};\n\nexport const selectReserve = (state: StateT): OrderCreationStateT['reserve'] => {\n    return state.orderCreation.reserve;\n};\n\nexport const selectReserveQuery = (state: StateT): OrderCreationStateT['reserveQuery'] => {\n    return state.orderCreation.reserveQuery;\n};\n\nexport const selectReserveRequest = (state: StateT): OrderCreationStateT['reserveRequest'] => {\n    return state.orderCreation.reserveRequest;\n};\n\nexport const selectReservePreview = (state: StateT): OrderCreationStateT['previewReserve'] => {\n    return state.orderCreation.previewReserve;\n};\n\nexport const selectReservePreviewQuery = (state: StateT): OrderCreationStateT['previewReserveQuery'] => {\n    return state.orderCreation.previewReserveQuery;\n};\n\nexport const selectIsAllowCreateRFQ = (state: StateT): OrderCreationStateT['isAllowCreateRFQ'] => {\n    return state.orderCreation.isAllowCreateRFQ;\n};\n\nexport const selectReservePreviewRequest = (state: StateT): OrderCreationStateT['previewReserveRequest'] => {\n    return state.orderCreation.previewReserveRequest;\n};\n\nexport const selectBestOffers = createSelector(selectPriceOffersList, (priceOffers): BestOffersT | null => {\n    if (!priceOffers) {\n        return null;\n    }\n\n    const bestOffers: BestOffersT = {\n        bestPrice: null,\n        urgent: null,\n    };\n\n    const bestPriceOffer = priceOffers.filter((offer) => offer.isBestPrice).sort(byPriceAsc)[0];\n    if (bestPriceOffer) {\n        bestOffers.bestPrice = bestPriceOffer;\n    }\n\n    const bestUrgentOffer = priceOffers.filter((offer) => offer.isUrgentShipment).sort(byPriceAsc)[0];\n    if (bestUrgentOffer) {\n        bestOffers.urgent = bestUrgentOffer;\n    }\n\n    return bestOffers;\n});\n","export const CURRENT_ASSIGNMENT_EVENT_ID = 'CURRENT_ASSIGNMENT_EVENT_ID';\n\nexport const LONG_DEADHEAD_PERCENT = 30;\n","import { MS_IN_DAY, MS_IN_HOUR, MS_IN_MIN } from 'common/utils/time';\n\nconst stepCandidates = [\n    MS_IN_DAY,\n    12 * MS_IN_HOUR,\n    6 * MS_IN_HOUR,\n    2 * MS_IN_HOUR,\n    MS_IN_HOUR,\n    30 * MS_IN_MIN,\n    10 * MS_IN_MIN,\n];\n\ntype ChooseDelimeterStepParamsT = {\n    viewMs: number;\n    targetTicks: number;\n};\n\nexport function chooseDelimeterMultipleMs({ viewMs, targetTicks }: ChooseDelimeterStepParamsT): number {\n    const minTicks = targetTicks * 0.5;\n    const maxTicks = targetTicks * 1.5;\n    let bestStepMs = stepCandidates[0];\n    let bestDelta = Infinity;\n    let hasInRange = false;\n\n    for (const stepMs of stepCandidates) {\n        const numTicks = Math.floor(viewMs / stepMs) + 1;\n        const delta = Math.abs(numTicks - targetTicks);\n\n        if (numTicks >= minTicks && numTicks <= maxTicks) {\n            if (!hasInRange || delta < bestDelta) {\n                bestStepMs = stepMs;\n                bestDelta = delta;\n                hasInRange = true;\n            }\n        } else if (!hasInRange && delta < bestDelta) {\n            bestStepMs = stepMs;\n            bestDelta = delta;\n        }\n    }\n\n    return bestStepMs;\n}\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst RightArrowIcon: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M19 1H1v18h18z\" />\n                <path fill={fillColor} d=\"M4 9.25h9.128L8.935 5.058 10 4l6 6-6 6-1.057-1.057 4.185-4.193H4z\" />\n            </g>\n        </svg>\n    );\n};\n\nRightArrowIcon.displayName = 'RightArrowIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default RightArrowIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"DocumentMessage__inner___IWPBb\",\"icon\":\"DocumentMessage__icon___cWZsT\",\"title\":\"DocumentMessage__title___r8chO\",\"description\":\"DocumentMessage__description___NO_2Q\",\"fadeIn\":\"DocumentMessage__fadeIn___hmtQb\",\"blinking\":\"DocumentMessage__blinking___perKz\"};","import React, { useCallback } from 'react';\nimport RangeSelector, { RangeSelectorMarkT, RangeSelectorRangeT } from 'common/components/RangeSelector/RangeSelector';\nimport { getTimeRelativeStartDay, MS_IN_DAY, MS_IN_HOUR } from 'common/utils/time';\n\ntype PropsT = {\n    className?: string;\n    isDisabled?: boolean;\n    isLocked?: boolean;\n    isAllowOnlyDragRange?: boolean;\n    isLockedLeftRangeControl?: boolean;\n    isLockedRightRangeControl?: boolean;\n    values: TimeWindowT | null;\n    onChange: (values: TimeWindowT) => void;\n    range: TimeWindowT;\n    step?: number;\n    minRangeWidth?: number;\n    maxRangeWidth?: number;\n    availableValues: TimeWindowT;\n    ranges: RangeSelectorRangeT[];\n    marks?: Array<RangeSelectorMarkT>;\n    hasStartStep?: boolean;\n    hasEndStep?: boolean;\n    renderZoneTextNode?: (currentRanges: RangeSelectorRangeT[] | null) => React.ReactNode;\n};\n\nconst TimeWindowPicker: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        values,\n        isDisabled,\n        isLocked,\n        isAllowOnlyDragRange,\n        isLockedLeftRangeControl,\n        isLockedRightRangeControl,\n        range,\n        minRangeWidth,\n        maxRangeWidth,\n        availableValues,\n        ranges,\n        onChange,\n        hasStartStep,\n        hasEndStep,\n        renderZoneTextNode,\n        marks,\n    } = props;\n\n    const handleSelect = useCallback(\n        (selectedValue: TimeWindowT) => {\n            if (isLocked) {\n                return;\n            }\n\n            onChange(selectedValue);\n        },\n        [isLocked, onChange],\n    );\n\n    const step = props.step || MS_IN_HOUR / 2;\n\n    const shownStepCount = MS_IN_DAY / (step * 24);\n    const shownLabelCount = shownStepCount * 3;\n\n    const labelsConfig = React.useMemo(() => {\n        return {\n            shownStepCount,\n            shownLabelCount,\n            hasStartStep,\n            hasEndStep,\n        };\n    }, [shownStepCount, shownLabelCount, hasStartStep, hasEndStep]);\n\n    return (\n        <RangeSelector\n            className={className}\n            isDisabled={isDisabled}\n            valuesRange={range}\n            availableValues={availableValues || range}\n            ranges={ranges || []}\n            values={values}\n            valueStep={step}\n            isLocked={isLocked}\n            isLockedLeftRangeControl={isLockedLeftRangeControl}\n            isLockedRightRangeControl={isLockedRightRangeControl}\n            isAllowOnlyDragRange={isAllowOnlyDragRange}\n            minValuesRangeWidth={minRangeWidth}\n            maxValuesRangeWidth={maxRangeWidth}\n            labelsConfig={labelsConfig}\n            marks={marks}\n            renderZoneTextNode={renderZoneTextNode}\n            renderLabel={(value: number) => {\n                const relativeTime = getTimeRelativeStartDay(value);\n                if (value && relativeTime === '00:00') {\n                    return '23:59';\n                }\n\n                return relativeTime;\n            }}\n            onSelect={handleSelect}\n        />\n    );\n});\n\nexport default TimeWindowPicker;\n","import { ApiGoogleAddressComponentT } from './api/geo-api-models';\nimport isNil from 'lodash/isNil';\n\nenum GoogleAddressComponentsTypeEnum {\n    country = 'country',\n    route = 'route',\n    streetNumber = 'street_number',\n    postalCode = 'postal_code',\n    locality = 'locality',\n    political = 'political',\n    postalTown = 'postal_town',\n    administrativeAreaLevel1 = 'administrative_area_level_1',\n    administrativeAreaLevel2 = 'administrative_area_level_2',\n    administrativeAreaLevel3 = 'administrative_area_level_3',\n    administrativeAreaLevel4 = 'administrative_area_level_4',\n    administrativeAreaLevel5 = 'administrative_area_level_5',\n}\n\nexport const prepareAddressComponents = (\n    addressComponents: google.maps.GeocoderAddressComponent[],\n): AddressComponentsT => {\n    const componentsMap = addressComponents.reduce<Record<string, ApiGoogleAddressComponentT>>((acc, component) => {\n        component.types.forEach((type) => {\n            // eslint-disable-next-line no-param-reassign\n            acc[type] = component;\n        });\n\n        return acc;\n    }, {});\n\n    /* eslint-disable camelcase */\n    return {\n        countryCode:\n            componentsMap[GoogleAddressComponentsTypeEnum.country]?.short_name ||\n            componentsMap[GoogleAddressComponentsTypeEnum.political]?.short_name ||\n            null,\n        street1:\n            [\n                componentsMap[GoogleAddressComponentsTypeEnum.route]?.long_name,\n                componentsMap[GoogleAddressComponentsTypeEnum.streetNumber]?.long_name,\n            ]\n                .filter(Boolean)\n                .join(' ') || '',\n        street2: '',\n        zipCode: componentsMap[GoogleAddressComponentsTypeEnum.postalCode]?.long_name || null,\n        city:\n            componentsMap[GoogleAddressComponentsTypeEnum.locality]?.long_name ||\n            componentsMap[GoogleAddressComponentsTypeEnum.postalTown]?.long_name ||\n            componentsMap[GoogleAddressComponentsTypeEnum.administrativeAreaLevel1]?.long_name ||\n            componentsMap[GoogleAddressComponentsTypeEnum.administrativeAreaLevel2]?.long_name ||\n            componentsMap[GoogleAddressComponentsTypeEnum.administrativeAreaLevel3]?.long_name ||\n            componentsMap[GoogleAddressComponentsTypeEnum.administrativeAreaLevel4]?.long_name ||\n            componentsMap[GoogleAddressComponentsTypeEnum.administrativeAreaLevel5]?.long_name ||\n            null,\n    };\n    /* eslint-enable camelcase */\n};\n\nexport const formatAddressComponents = (\n    addressComponents: AddressComponentsT | null | undefined,\n    separator = ' ',\n): string => {\n    if (!addressComponents) {\n        return '';\n    }\n\n    return [\n        addressComponents.street1,\n        addressComponents.street2,\n        addressComponents.zipCode,\n        addressComponents.city,\n        addressComponents.countryCode,\n    ]\n        .filter(Boolean)\n        .join(separator);\n};\n\nexport const getGeoCodingLocation = (result: google.maps.places.PlaceResult): LocationT | null => {\n    if (isNil(result.utc_offset_minutes)) {\n        return null;\n    }\n\n    if (!result.geometry) {\n        return null;\n    }\n\n    if (!result.address_components) {\n        return null;\n    }\n\n    return {\n        point: {\n            lat: result.geometry.location.lat(),\n            lng: result.geometry.location.lng(),\n        },\n        address: result.formatted_address || null,\n        utcOffsetMinutes: result.utc_offset_minutes,\n        addressComponents: prepareAddressComponents(result.address_components),\n    };\n};\n","import React, { useCallback, useMemo } from 'react';\nimport styles from './DriverSuggestInput.scss';\nimport classNames from 'classnames/bind';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport {\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport DriverAssignOptionLabel from './DriverAssignOptionLabel/DriverAssignOptionLabel';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport { ApiShortDriverT } from 'common/utils/api/models';\nimport keyBy from 'lodash/keyBy';\nimport DriverIcon, { DriverIconProps } from 'common/icons/DriverIcon';\nimport Avatar, { AvatarSizeEnum } from 'common/components/Avatar/Avatar';\nimport { getDriverLabel } from 'common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriverSuggestInput/utils';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = DriverIdT;\n\ntype OptionT = {\n    label: string;\n    id: ApiShortDriverT['id'];\n};\n\nexport type PropsT = {\n    transportOrderId: TransportOrderIdT | null;\n    initialValue?: ValueT;\n    initialLabel?: string;\n    onSelect: (value: ValueT | null, name?: string | null) => void;\n    value: ValueT | null;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    inputPlaceholder: InputPropsT['placeholder'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n};\n\nconst DriverSuggestInput: React.FC<PropsT> = (props) => {\n    const {\n        transportOrderId,\n        initialValue,\n        initialLabel,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        inputPlaceholder,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n    } = props;\n\n    const initialOption = useMemo((): OptionT | null => {\n        if (!initialValue) {\n            return null;\n        }\n\n        return {\n            label: initialLabel || 'Unknown user',\n            id: initialValue,\n        };\n    }, [initialLabel, initialValue]);\n\n    const [lastSelectedOption, setLastSelectedOption] = React.useState<OptionT | null>();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback(\n        async (query) => {\n            if (!transportOrderId) {\n                return [null, null];\n            }\n\n            const [error, response] = await carrierTranziitApi.getAvailableDrivers(transportOrderId, query || '');\n            if (error) {\n                return [error, null];\n            }\n\n            const availableDrivers = (response || []).filter((driver) => {\n                return value !== driver.id;\n            });\n\n            const options = availableDrivers.map((driver): OptionT => {\n                return {\n                    label: getDriverLabel(driver) || '',\n                    id: driver.id,\n                };\n            });\n\n            return [null, options];\n        },\n        [transportOrderId, value],\n    );\n\n    const getOptionText = (option: OptionT): string => {\n        return option.label || '';\n    };\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions: null,\n        requestFactory,\n        settings: {},\n    });\n\n    const handleFocus = useCallback(() => {\n        if (onFocus) {\n            onFocus();\n        }\n    }, [onFocus]);\n\n    const renderOption = (option: OptionT) => {\n        return <DriverAssignOptionLabel driver={option} />;\n    };\n\n    const renderTrigger = (option: OptionT | undefined, placeholder?: string) => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return option.label;\n    };\n\n    const options = React.useMemo(() => {\n        const hasInitialOption =\n            initialOption?.id &&\n            asyncOptionsRequest.options?.some((option) => {\n                return option?.id === initialOption?.id;\n            });\n\n        const result = [...asyncOptionsRequest.options];\n\n        if (!hasInitialOption && initialOption) {\n            result.push(initialOption);\n        }\n\n        return result;\n    }, [asyncOptionsRequest.options, initialOption]);\n\n    const optionByUserId = React.useMemo(() => {\n        return {\n            ...keyBy(options, 'id'),\n            ...(initialOption\n                ? {\n                      [initialOption.id]: initialOption,\n                  }\n                : {}),\n            ...(lastSelectedOption\n                ? {\n                      [lastSelectedOption.id]: lastSelectedOption,\n                  }\n                : {}),\n        };\n    }, [options, lastSelectedOption, initialOption]);\n\n    const selectedOption = optionByUserId[value as string] || null;\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT | null>\n            selectedValue={value}\n            options={options}\n            onSelect={(value) => {\n                const option = value ? optionByUserId[value] : null;\n                const label = option ? getOptionText(option) : '';\n\n                if (option) {\n                    onSelect(value, label);\n                } else {\n                    onSelect(null, null);\n                }\n\n                setLastSelectedOption(option);\n            }}\n            renderTrigger={renderTrigger}\n            renderOption={renderOption}\n            getOptionValue={(option) => option?.id}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            renderLeftIcon={(iconMeta) => {\n                if (selectedOption) {\n                    return <Avatar hash={selectedOption?.label || ''} size={AvatarSizeEnum.small} />;\n                }\n\n                return <DriverIcon {...DriverIconProps.getControlProps(iconMeta)} />;\n            }}\n            renderRightIcon={() =>\n                asyncOptionsRequest.requestStatus.loading ? (\n                    <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} />\n                ) : null\n            }\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            isDisabled={isDisabled}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            inputPlaceholder={inputPlaceholder}\n            placeholder={placeholder}\n            optionClassName={cx('option')}\n            onReset={() => {\n                onSelect(null, null);\n            }}\n        />\n    );\n};\n\nexport default DriverSuggestInput;\n","import React from 'react';\n\ntype LibrariesT = {\n    geometry: GeometryLibraryT | null;\n};\n\nexport type GoogleMapsContextT = {\n    map: MapT | null;\n    maps: MapsT | null;\n    libraries: LibrariesT;\n    set: (maps: MapsT, map: MapT, libraryNames: Array<keyof LibrariesT>) => void;\n};\n\nconst useGoogleMaps = (): GoogleMapsContextT => {\n    const [map, setMap] = React.useState<MapT | null>(null);\n    const [maps, setMaps] = React.useState<MapsT | null>(null);\n    const [libraries, setLibraries] = React.useState<LibrariesT>({\n        geometry: null,\n    });\n\n    return {\n        map,\n        maps,\n        libraries,\n        set: async <T extends keyof LibrariesT>(maps: MapsT, map: MapT, libraryNames: Array<T>): Promise<void> => {\n            setMaps(maps);\n            setMap(map);\n\n            for (const libraryName of libraryNames) {\n                // @ts-expect-error wrong types\n                const library: LibrariesT[T] = await maps?.importLibrary(libraryName);\n\n                setLibraries((libraries) => {\n                    return {\n                        ...libraries,\n                        [libraryName]: library,\n                    };\n                });\n            }\n        },\n    };\n};\n\nexport default useGoogleMaps;\n","import { ApiRuleDraftT, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport { diffImpactStrategySet, FieldsEnum, FormValuesT, RepeatTypeEnum } from './constants';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { getDateFromDate, MS_IN_DAY } from 'common/utils/time';\nimport { WEEK_DAYS_ORDER, ZIP_CODES_SEPARATOR } from 'common/constants';\nimport isNil from 'lodash/isNil';\nimport { RepeatStrategyTypeEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport isNaN from 'lodash/isNaN';\n\nconst prepareApiRule = (formValues: FormValuesT): ApiRuleDraftT | null => {\n    let repeatDays: Array<number> = [];\n\n    const selectedRepeatType = formValues[FieldsEnum.repeatType];\n    let selectedRepeatMode = formValues[FieldsEnum.repeatStrategy] || RepeatStrategyTypeEnum.none;\n\n    if (selectedRepeatType === RepeatTypeEnum.weekdays) {\n        repeatDays = formValues[FieldsEnum.days].map((day) => WEEK_DAYS_ORDER.indexOf(day) + 1);\n        selectedRepeatMode = RepeatStrategyTypeEnum.weekly;\n    }\n\n    if (selectedRepeatType === RepeatTypeEnum.dates) {\n        const dates = formValues[FieldsEnum.dates];\n\n        if (dates?.from && !dates?.to) {\n            repeatDays.push(+dates.from);\n        }\n\n        if (!dates?.from && dates?.to) {\n            repeatDays.push(+dates.to);\n        }\n\n        if (dates?.from && dates?.to) {\n            const daysCount = (+dates.to - +dates.from) / MS_IN_DAY;\n\n            // eslint-disable-next-line no-plusplus\n            for (let i = 0; i <= daysCount; i++) {\n                repeatDays.push(+dates.from + MS_IN_DAY * i);\n            }\n        }\n    }\n    if (!repeatDays?.length) {\n        return null;\n    }\n\n    const validTill = formValues[FieldsEnum.validTill];\n    const formattedValidTill = validTill ? `${getDateFromDate(validTill)}T23:59:59.000Z` : null;\n\n    const validFrom = formValues[FieldsEnum.validFrom];\n    if (!validFrom) {\n        return null;\n    }\n\n    const impactStrategy = formValues[FieldsEnum.impactStrategy];\n    const isDiffImpactStrategy = diffImpactStrategySet.has(impactStrategy);\n    const parsedImpactValue = parseSimpleNumber(\n        isDiffImpactStrategy ? formValues[FieldsEnum.impactDiffValue] : formValues[FieldsEnum.impactValue],\n    );\n    if (isNil(parsedImpactValue) || isNaN(parsedImpactValue)) {\n        return null;\n    }\n\n    const type = formValues[FieldsEnum.type];\n\n    let companyIds: Array<CarrierIdT | ShipperIdT> = [];\n\n    const shipperIds = formValues[FieldsEnum.shipperIds];\n    if (type === PriceRuleTypeEnum.shipper) {\n        companyIds = shipperIds;\n    }\n\n    const carrierIds = formValues[FieldsEnum.carrierIds];\n    if (type === PriceRuleTypeEnum.carrier) {\n        companyIds = carrierIds;\n    }\n\n    const countriesFrom = formValues[FieldsEnum.fromCountryCodes];\n    if (!countriesFrom?.length) {\n        return null;\n    }\n\n    const countriesTo = formValues[FieldsEnum.toCountryCodes];\n    if (!countriesTo?.length) {\n        return null;\n    }\n\n    if (!type || type === PriceRuleTypeEnum.custom) {\n        return null;\n    }\n\n    const impactPriceComponent = formValues[FieldsEnum.impactPriceComponent];\n    if (!impactPriceComponent) {\n        return null;\n    }\n\n    return {\n        name: formValues[FieldsEnum.name],\n\n        ruleType: type,\n\n        countriesFrom,\n        zipsFrom: formValues[FieldsEnum.fromCountryZipCodes].split(ZIP_CODES_SEPARATOR).filter(Boolean),\n        countriesTo,\n        zipsTo: formValues[FieldsEnum.toCountryZipCodes].split(ZIP_CODES_SEPARATOR).filter(Boolean),\n\n        repeatDays,\n        repeatMode: selectedRepeatMode,\n\n        validFrom: `${getDateFromDate(validFrom)}T00:00:00.000Z`,\n        validTill: formattedValidTill || undefined,\n\n        value: parsedImpactValue,\n        target: impactPriceComponent,\n        operator: impactStrategy,\n\n        trailerTypeIds: formValues[FieldsEnum.trailerTypeIds].map((trailerTypeId) => +trailerTypeId),\n\n        companyIds,\n    };\n};\n\nexport default prepareApiRule;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"DriverAssignOptionLabel__option___uaOk_\",\"avatar\":\"DriverAssignOptionLabel__avatar___RA89C\",\"name\":\"DriverAssignOptionLabel__name___QcKjo\",\"fadeIn\":\"DriverAssignOptionLabel__fadeIn___rwt3u\",\"blinking\":\"DriverAssignOptionLabel__blinking___mHME2\"};","// extracted by mini-css-extract-plugin\nexport default {\"alerts\":\"TruckDetailsForm__alerts___kQARp\",\"field--emission-standard\":\"TruckDetailsForm__field--emission-standard___LhlHP\",\"field--vin\":\"TruckDetailsForm__field--vin___Ccmwt\",\"field--country-code\":\"TruckDetailsForm__field--country-code___vkiF1\",\"field--plate-number\":\"TruckDetailsForm__field--plate-number___Y8htS\",\"field--placeholder\":\"TruckDetailsForm__field--placeholder____rKPJ\",\"field--cabin-color\":\"TruckDetailsForm__field--cabin-color___aJaC1\",\"field--contract\":\"TruckDetailsForm__field--contract___UEe7x\",\"field--rate\":\"TruckDetailsForm__field--rate___hfQ0X\",\"field--fuel-consumption\":\"TruckDetailsForm__field--fuel-consumption___FblXN\",\"field--oil-percent\":\"TruckDetailsForm__field--oil-percent___mpbeE\",\"fields\":\"TruckDetailsForm__fields___DpvrV\",\"actions\":\"TruckDetailsForm__actions___gptHW\",\"actions__action\":\"TruckDetailsForm__actions__action___Dckh_\",\"actions__action--cancel\":\"TruckDetailsForm__actions__action--cancel___s2r7D\",\"actions__action--delete\":\"TruckDetailsForm__actions__action--delete___TsMUO\",\"footer-warning\":\"TruckDetailsForm__footer-warning___C_Swx\",\"fadeIn\":\"TruckDetailsForm__fadeIn___sNXfs\",\"blinking\":\"TruckDetailsForm__blinking___I4T3e\"};","import { SharableStateT } from '../models';\nimport {\n    initialShipperContractDetailsItemState,\n    ShipperContractDetailsItemStateT,\n    ShipperContractDetailsStateT,\n} from './slice';\n\nexport const selectShipperContractDetailsState = (shipperContractId: ShipperContractIdT) => {\n    return (state: SharableStateT): ShipperContractDetailsItemStateT => {\n        return state.shipperContractDetails.detailsById[shipperContractId] || initialShipperContractDetailsItemState;\n    };\n};\n\nexport const selectUpdateShipperContractRequest = (\n    state: SharableStateT,\n): ShipperContractDetailsStateT['updateRequest'] => {\n    return state.shipperContractDetails.updateRequest;\n};\n\nexport const selectDownloadShipperContractRequest = (\n    state: SharableStateT,\n): ShipperContractDetailsStateT['downloadRequest'] => {\n    return state.shipperContractDetails.downloadRequest;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"type\":\"TypeCell__type___j4ItS\",\"sub-type\":\"TypeCell__sub-type___H5ZDY\",\"fadeIn\":\"TypeCell__fadeIn___lG_vt\",\"blinking\":\"TypeCell__blinking___XYfHb\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './WaypointNumberPin.scss';\nimport MapPin, { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport WaypointNumberPinContent from 'common/components/maps/pins/content/WaypointNumberPinContent/WaypointNumberPinContent';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    lat: number | undefined;\n    lng: number | undefined;\n    theme?: MapPinThemeEnum;\n    children?: React.ReactNode;\n};\n\nconst WaypointNumberPin: React.FC<PropsT> = React.memo((props) => {\n    const { className, lat, lng, theme, children } = props;\n\n    return (\n        <MapPin className={cs(cx('content'), className)} lat={lat} lng={lng} theme={theme || MapPinThemeEnum.charcoal}>\n            <WaypointNumberPinContent>{children}</WaypointNumberPinContent>\n        </MapPin>\n    );\n});\n\nexport default WaypointNumberPin;\n","import * as React from 'react';\nimport { ApiTourStatusT, TourStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status?: ApiTourStatusT | null | undefined;\n};\n\nexport const TOUR_STATUS_T_MAP: Record<ApiTourStatusT, string> = {\n    [TourStatusEnum.carrierUnassigned]: 'common:tour-status.CARRIER_UNASSIGNED',\n    [TourStatusEnum.carrierAssigned]: 'common:tour-status.CARRIER_ASSIGNED',\n    [TourStatusEnum.inTransit]: 'common:tour-status.IN_TRANSIT',\n    [TourStatusEnum.finished]: 'common:tour-status.FINISHED',\n    [TourStatusEnum.canceled]: 'common:tour-status.CANCELED',\n};\n\nconst TourStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(TOUR_STATUS_T_MAP[status]);\n});\n\nexport default TourStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"TrailerTypeMultipleDropdown__fadeIn___iqifZ\",\"blinking\":\"TrailerTypeMultipleDropdown__blinking___sondY\"};","import classNames from 'classnames/bind';\nimport styles from './MapLoader.scss';\nimport * as React from 'react';\nimport cs from 'classnames';\nimport ControlLoaderLabel from 'common/components/ControlLoaderLabel/ControlLoaderLabel';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst MapLoader: React.FC<PropsT> = React.memo((props) => {\n    const { className, children } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div className={cs(cx('map-loader__container'), className)}>\n            <ControlLoaderLabel isInvert>{children || t('common:maps.loading')}</ControlLoaderLabel>\n        </div>\n    );\n});\n\nexport default MapLoader;\n","// extracted by mini-css-extract-plugin\nexport default {\"zone\":\"Zone__zone___JcWDa\",\"zone--isSelected\":\"Zone__zone--isSelected___tzdPv\",\"zone--theme-green\":\"Zone__zone--theme-green___y3p1c\",\"zone--isHovered\":\"Zone__zone--isHovered___uw2wF\",\"zone--theme-orange\":\"Zone__zone--theme-orange___MBEwy\",\"zone--theme-dark-green\":\"Zone__zone--theme-dark-green___Bnlqd\",\"zone--theme-light\":\"Zone__zone--theme-light___t_SM7\",\"zone--theme-charcoal\":\"Zone__zone--theme-charcoal___jPDNt\",\"zone--isDisabled\":\"Zone__zone--isDisabled___P9eAf\",\"zone--hasLeftBorder\":\"Zone__zone--hasLeftBorder___JAYQ2\",\"zone--hasRightBorder\":\"Zone__zone--hasRightBorder___OfSMH\",\"fadeIn\":\"Zone__fadeIn___C2iQ1\",\"blinking\":\"Zone__blinking___ywKtD\"};","import React, { useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SpotAssetsAssignmentForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport AssetOptionLabel from './AssetOptionLabel/AssetOptionLabel';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport { useFormik } from 'formik';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport {\n    selectTrailerAssignmentInfoById,\n    selectTrailerSuggestIds,\n    selectTrailerSuggestRequestStatus,\n    selectTruckAssignmentInfoById,\n    selectTruckSuggestIds,\n    selectTruckSuggestRequestStatus,\n    selectVehicleLinks,\n} from 'common/store/spot-assets-assigment/selectors';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { findTrailer, findTruck } from 'common/store/spot-assets-assigment/actions';\nimport { logWarning } from 'common/utils/logger';\nimport TrailerIcon, { TrailerIconProps } from 'common/icons/TrailerIcon';\nimport TruckIcon, { TruckIconProps } from 'common/icons/TruckIcon';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\n\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport mapValues from 'lodash/mapValues';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    transportOrderId: TransportOrderIdT;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    onCancel: () => void;\n    assignmentRequestStatus: RequestStatusT;\n    onAssignAssets: (params: { transportOrderId: TransportOrderIdT; truckId: AssetIdT; trailerId: AssetIdT }) => void;\n    onClearAssets: (params: { transportOrderId: TransportOrderIdT }) => void;\n};\n\ntype AssetOptionT = {\n    id: AssetIdT;\n    plateNumber: string;\n    model?: string;\n};\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.truckId]: null,\n    [FieldsEnum.trailerId]: null,\n};\n\nconst SpotAssetsAssignmentForm: React.FC<PropsT> = (props) => {\n    const {\n        onCancel,\n        transportOrderId,\n        transportOrderDetails,\n        onClearAssets,\n        onAssignAssets,\n        assignmentRequestStatus,\n    } = props;\n\n    const { partnerId } = usePartnerContext();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const trailer = transportOrderDetails?.trailer || null;\n    const trailerId = trailer?.id || null;\n\n    const truck = transportOrderDetails?.truck || null;\n    const truckId = truck?.id;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...INITIAL_VALUES,\n            [FieldsEnum.truckId]: truckId || null,\n            [FieldsEnum.trailerId]: trailerId || null,\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [trailerId, truckId]);\n\n    const hasInitialAssets = trailerId && trailerId;\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const trailerId = values[FieldsEnum.trailerId];\n            const truckId = values[FieldsEnum.truckId];\n            if (!trailerId || !truckId || !transportOrderId) {\n                logWarning('failed to assign assets, empty any parameter');\n                return;\n            }\n\n            onAssignAssets({\n                transportOrderId,\n                truckId,\n                trailerId,\n            });\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const links = useSelector(selectVehicleLinks);\n\n    const truckSuggestRequestStatus = useSelector(selectTruckSuggestRequestStatus);\n    const truckSuggestIds = useSelector(selectTruckSuggestIds);\n    const truckInfoById = useSelector(selectTruckAssignmentInfoById);\n    const trucksOptions = useMemo(() => {\n        const result: AssetOptionT[] = [];\n\n        if (truck && !truckSuggestIds.includes(truck.id)) {\n            result.push({\n                id: truck?.id,\n                plateNumber: truck?.plateNumber || '',\n                model: truck?.dictTruckInfo?.model,\n            });\n        }\n\n        truckSuggestIds.forEach((id) => {\n            const info = truckInfoById[id] || null;\n\n            result.push({\n                id,\n                plateNumber: info?.plateNumber || '',\n                model: info?.model,\n            });\n        });\n\n        return result;\n    }, [truckInfoById, truckSuggestIds, truck]);\n\n    // TODO check need?\n    React.useEffect(() => {\n        if (!transportOrderId) {\n            return;\n        }\n\n        dispatch(\n            findTrailer({\n                transportOrderId,\n                plateNumber: '',\n            }),\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const trailerSuggestRequestStatus = useSelector(selectTrailerSuggestRequestStatus);\n    const trailerSuggestIds = useSelector(selectTrailerSuggestIds);\n    const trailerInfoById = useSelector(selectTrailerAssignmentInfoById);\n    const trailersOptions: AssetOptionT[] = useMemo(() => {\n        const result: AssetOptionT[] = [];\n\n        if (trailer && !trailerSuggestIds.includes(trailer.id)) {\n            result.push({\n                id: trailer?.id,\n                plateNumber: trailer?.plateNumber || '',\n                model: trailer?.dictTrailerInfo?.model,\n            });\n        }\n\n        trailerSuggestIds.forEach((id) => {\n            const info = trailerInfoById[id] || null;\n\n            result.push({\n                id,\n                plateNumber: info?.plateNumber || '',\n                model: info?.model,\n            });\n        });\n\n        return result;\n    }, [trailerInfoById, trailerSuggestIds, trailer]);\n\n    const getOptionValue = (option: AssetOptionT) => option.id;\n\n    const renderOption = (option: AssetOptionT) => {\n        return <AssetOptionLabel plateNumber={option.plateNumber} model={option.model} />;\n    };\n\n    const handleChangeTruck = (_: string, truckId: AssetOptionT['id'] | null) => {\n        const formValueChanges: Partial<FormValuesT> = {\n            [FieldsEnum.truckId]: truckId,\n        };\n\n        const linkedTrailerId = truckId ? links.byTruckId[truckId] : null;\n        if (linkedTrailerId) {\n            formValueChanges[FieldsEnum.trailerId] = linkedTrailerId;\n        }\n\n        formik.setValues((prevValues) => {\n            return {\n                ...prevValues,\n                ...formValueChanges,\n            };\n        });\n\n        // Set meta => touched true\n        setTimeout(() => {\n            formik.setTouched(mapValues(formValueChanges, () => true));\n        }, 0);\n    };\n\n    const handleChangeTrailer = (_: string, trailerId: AssetOptionT['id'] | null) => {\n        const formValueChanges: Partial<FormValuesT> = {\n            [FieldsEnum.trailerId]: trailerId,\n        };\n\n        const linkedTruckId = trailerId ? links.byTrailerId[trailerId] : null;\n        if (linkedTruckId) {\n            formValueChanges[FieldsEnum.truckId] = linkedTruckId;\n        }\n\n        formik.setValues((prevValues) => {\n            return {\n                ...prevValues,\n                ...formValueChanges,\n            };\n        });\n\n        // Set meta => touched true\n        setTimeout(() => {\n            formik.setTouched(mapValues(formValueChanges, () => true));\n        }, 0);\n    };\n\n    const handleClearAssets = () => {\n        if (!transportOrderId) {\n            return;\n        }\n\n        onClearAssets({\n            transportOrderId,\n        });\n    };\n\n    const renderTruckTrigger = (option: AssetOptionT | undefined, placeholder?: React.ReactNode) => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <AssetOptionLabel\n                plateNumber={option.plateNumber}\n                model={option.model}\n                onOpenDetails={() => {\n                    if (!partnerId) {\n                        logWarning('Empty partnerId in renderTruckTrigger');\n                        return;\n                    }\n\n                    if (!option?.id) {\n                        logWarning('Empty option?.id in renderTruckTrigger');\n                        return;\n                    }\n\n                    openLeftSidebar(\n                        {\n                            type: CommonSidebarsTypeEnum.truckDetails,\n                            truckId: option.id,\n                            partnerId,\n                            isReadOnly: true,\n                            isDisableShowOnMap: true,\n                        },\n                        {\n                            isForceShowBackAction: true,\n                        },\n                    );\n                }}\n            />\n        );\n    };\n\n    const renderTrailerTrigger = (option: AssetOptionT | undefined, placeholder?: React.ReactNode) => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <AssetOptionLabel\n                plateNumber={option.plateNumber}\n                model={option.model}\n                onOpenDetails={() => {\n                    if (!partnerId) {\n                        logWarning('Empty partnerId in renderTrailerTrigger');\n                        return;\n                    }\n\n                    if (!option?.id) {\n                        logWarning('Empty option?.id in renderTrailerTrigger');\n                        return;\n                    }\n\n                    openLeftSidebar(\n                        {\n                            type: CommonSidebarsTypeEnum.trailerDetails,\n                            trailerId: option?.id,\n                            partnerId,\n                            isReadOnly: true,\n                            isDisableShowOnMap: true,\n                        },\n                        {\n                            isForceShowBackAction: true,\n                        },\n                    );\n                }}\n            />\n        );\n    };\n\n    return (\n        <div className={cx('wrap')}>\n            <form onSubmit={formik.handleSubmit}>\n                <div className={cx('head')}>\n                    <div className={cx('head__title')}>{t('common:spot-asset-transport-order-assignment.title')}</div>\n                </div>\n                <div className={cx('form')}>\n                    <FormikField\n                        className={cx('field')}\n                        name={FieldsEnum.truckId}\n                        error={formik.errors[FieldsEnum.truckId]}\n                        meta={formik.getFieldMeta(FieldsEnum.truckId)}\n                        label={t('common:spot-asset-transport-order-assignment.fields.truck.label')}\n                        setFieldValue={handleChangeTruck}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DropdownSearchInput<AssetOptionT, AssetOptionT['id'] | null>\n                                selectedValue={formik.values[FieldsEnum.truckId]}\n                                options={trucksOptions}\n                                onSelect={props.onChange}\n                                renderTrigger={renderTruckTrigger}\n                                renderOption={renderOption}\n                                isLoading={truckSuggestRequestStatus.loading}\n                                getOptionValue={getOptionValue}\n                                onChangeQuery={(text) => {\n                                    dispatch(\n                                        findTruck({\n                                            transportOrderId,\n                                            plateNumber: text.trim(),\n                                        }),\n                                    );\n                                }}\n                                renderLeftIcon={(iconMeta) => (\n                                    <TruckIcon {...TruckIconProps.getControlProps(iconMeta)} />\n                                )}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                inputPlaceholder={t(\n                                    'common:spot-asset-transport-order-assignment.fields.truck.input-placeholder',\n                                )}\n                                placeholder={t('common:spot-asset-transport-order-assignment.fields.truck.placeholder')}\n                                optionClassName={cx('truck-option')}\n                                onReset={() => {\n                                    props.onChange(null);\n                                }}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field')}\n                        name={FieldsEnum.trailerId}\n                        error={formik.errors[FieldsEnum.trailerId]}\n                        meta={formik.getFieldMeta(FieldsEnum.trailerId)}\n                        label={t('common:spot-asset-transport-order-assignment.fields.trailer.label')}\n                        setFieldValue={handleChangeTrailer}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DropdownSearchInput<AssetOptionT, AssetOptionT['id'] | null>\n                                selectedValue={formik.values[FieldsEnum.trailerId]}\n                                options={trailersOptions}\n                                onSelect={props.onChange}\n                                renderTrigger={renderTrailerTrigger}\n                                renderOption={renderOption}\n                                isLoading={trailerSuggestRequestStatus.loading}\n                                getOptionValue={getOptionValue}\n                                onChangeQuery={(text) => {\n                                    dispatch(\n                                        findTrailer({\n                                            transportOrderId,\n                                            plateNumber: text.trim(),\n                                        }),\n                                    );\n                                }}\n                                renderLeftIcon={(iconMeta) => (\n                                    <TrailerIcon {...TrailerIconProps.getControlProps(iconMeta)} />\n                                )}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                inputPlaceholder={t(\n                                    'common:spot-asset-transport-order-assignment.fields.trailer.input-placeholder',\n                                )}\n                                placeholder={t(\n                                    'common:spot-asset-transport-order-assignment.fields.trailer.placeholder',\n                                )}\n                                optionClassName={cx('trailer-option')}\n                                onReset={() => {\n                                    props.onChange(null);\n                                }}\n                            />\n                        )}\n                    </FormikField>\n                </div>\n                {hasInitialAssets ? (\n                    <div className={cx('actions')}>\n                        <Button\n                            theme={ButtonThemeEnum.secondaryDanger}\n                            className={cx('action', 'action--clear-assets')}\n                            onClick={handleClearAssets}\n                            isLoading={assignmentRequestStatus.loading}\n                            isDisabled={assignmentRequestStatus.loading}\n                        >\n                            {t('common:spot-asset-transport-order-assignment.action.clear-assets')}\n                        </Button>\n                        <div className={cx('sub-actions')}>\n                            <Button\n                                theme={ButtonThemeEnum.secondary}\n                                className={cx('action', 'action--reassign-cancel')}\n                                onClick={onCancel}\n                            >\n                                {t('common:spot-asset-transport-order-assignment.action.cancel')}\n                            </Button>\n                            <Button\n                                theme={ButtonThemeEnum.primary}\n                                className={cx('action', 'action--reassign')}\n                                isLoading={assignmentRequestStatus.loading}\n                                isDisabled={assignmentRequestStatus.loading}\n                                type=\"submit\"\n                            >\n                                {t('common:spot-asset-transport-order-assignment.action.reassign')}\n                            </Button>\n                        </div>\n                    </div>\n                ) : (\n                    <div className={cx('actions')}>\n                        <Button\n                            theme={ButtonThemeEnum.secondary}\n                            className={cx('action', 'action--assign-cancel')}\n                            onClick={onCancel}\n                        >\n                            {t('common:spot-asset-transport-order-assignment.action.cancel')}\n                        </Button>\n                        <Button\n                            theme={ButtonThemeEnum.primary}\n                            className={cx('action', 'action--assign')}\n                            isLoading={assignmentRequestStatus.loading}\n                            type=\"submit\"\n                        >\n                            {t('common:spot-asset-transport-order-assignment.action.assign')}\n                        </Button>\n                    </div>\n                )}\n                <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            </form>\n        </div>\n    );\n};\n\nexport default SpotAssetsAssignmentForm;\n","import { ApiAddDriverRequestT, ApiCompanyContactMediaT } from 'common/utils/api/models';\nimport {\n    FieldsEnum,\n    FormValuesT,\n    MEDIA_FIELDS_NAME,\n} from '../EditDriverSidebarContent/EditDriverFormContent/constants';\nimport moment from 'moment';\nimport { parsePhoneNumber, parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNumber from 'lodash/isNumber';\n\nconst prepareApiAddDriver = (formValues: FormValuesT): ApiAddDriverRequestT | null => {\n    const medias = MEDIA_FIELDS_NAME.reduce<ApiCompanyContactMediaT[]>((acc, fieldName) => {\n        if (formValues[fieldName]) {\n            acc.push({\n                type: fieldName,\n                login: formValues[fieldName] as string,\n            });\n        }\n\n        return acc;\n    }, []);\n\n    const rate = parseSimpleNumber(formValues[FieldsEnum.ratePerKm]);\n    if (!isNumber(rate)) {\n        return null;\n    }\n\n    const language = formValues[FieldsEnum.language] || undefined;\n\n    return {\n        contact: {\n            formal: formValues[FieldsEnum.formal],\n            name: formValues[FieldsEnum.firstName],\n            surname: formValues[FieldsEnum.lastName],\n\n            deskPhone: parsePhoneNumber(formValues[FieldsEnum.desktopPhone]) || undefined,\n\n            language,\n\n            birthday: formValues[FieldsEnum.birthday]\n                ? moment(formValues[FieldsEnum.birthday]).format('YYYY-MM-DD')\n                : undefined,\n            residence: formValues[FieldsEnum.countryCode] || undefined,\n\n            medias,\n        },\n        homeAddress: formValues[FieldsEnum.address] || undefined,\n        rate,\n    };\n};\n\nexport default prepareApiAddDriver;\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport scrollIntoView from 'scroll-into-view';\nimport { MS_IN_SEC } from 'common/utils/time';\n\ntype PropsT = {\n    submitCount: number;\n    errors: Record<string, any>;\n};\n\nconst FOCUS_TIME = MS_IN_SEC / 3;\n\nconst ScrollToFirstError: React.FC<PropsT> = React.memo((props) => {\n    const { submitCount, errors } = props;\n\n    const ref = React.createRef<HTMLDivElement>();\n\n    useEffect(() => {\n        const hasErrors = !isEmpty(errors);\n        if (!hasErrors) {\n            return;\n        }\n\n        if (!ref.current) {\n            return;\n        }\n\n        const formNode = ref.current.closest('form');\n        if (!formNode) {\n            return;\n        }\n\n        const fieldErrorNodes = formNode.querySelectorAll('[data-error-message]');\n        const firstErrorFieldNode = fieldErrorNodes?.[0];\n        if (!firstErrorFieldNode) {\n            return;\n        }\n\n        scrollIntoView(firstErrorFieldNode as HTMLElement, {\n            time: FOCUS_TIME,\n            align: {\n                top: 0.25,\n            },\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [submitCount]);\n\n    return <div ref={ref} hidden />;\n});\n\nexport default ScrollToFirstError;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './CheckboxHeader.scss';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\n\ntype PropsT<TableRowT> = {\n    rows: Array<TableRowT>;\n    selectedRowsSet: Set<TableRowT>;\n    onChange: (selectedRowsSet: Set<TableRowT>) => void;\n    className?: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst CheckboxHeader = <TableRowT extends {}>(props: PropsT<TableRowT>) => {\n    const { rows, selectedRowsSet, onChange, className } = props;\n\n    const [isShowSelectedAll, setShowSelectedAll] = React.useState<boolean>(false);\n\n    React.useEffect(() => {\n        setShowSelectedAll(false);\n    }, [rows]);\n\n    return (\n        <Checkbox\n            checked={isShowSelectedAll}\n            onChange={() => {\n                const isSelectedAll = rows.length === selectedRowsSet.size;\n                if (isSelectedAll) {\n                    setShowSelectedAll(false);\n                    onChange(new Set());\n                } else {\n                    setShowSelectedAll(true);\n                    onChange(new Set(rows));\n                }\n            }}\n            className={className}\n            label={null}\n        />\n    );\n};\n\nexport default React.memo(CheckboxHeader) as typeof CheckboxHeader;\n","// extracted by mini-css-extract-plugin\nexport default {\"action\":\"ExpireDateCell__action___v812H\",\"date\":\"ExpireDateCell__date___aGQYb\",\"fadeIn\":\"ExpireDateCell__fadeIn___Nklud\",\"blinking\":\"ExpireDateCell__blinking___InNAZ\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"PaperLayout__wrap___ljxap\",\"thumbnail\":\"PaperLayout__thumbnail___uSzUv\",\"thumbnail__img\":\"PaperLayout__thumbnail__img____4FNx\",\"thumbnail--clickable\":\"PaperLayout__thumbnail--clickable___go3f_\",\"controls\":\"PaperLayout__controls___oLXBc\",\"uploaded-by-label\":\"PaperLayout__uploaded-by-label___vJ4QN\",\"loader\":\"PaperLayout__loader___K6qSk\",\"loader__container\":\"PaperLayout__loader__container___vBgNc\",\"loader__container--is-paranja\":\"PaperLayout__loader__container--is-paranja___wWoGe\",\"details\":\"PaperLayout__details___O9t8T\",\"details__file-name\":\"PaperLayout__details__file-name___CWJNS\",\"details__date\":\"PaperLayout__details__date___n7ufx\",\"details__user-link\":\"PaperLayout__details__user-link___K70ya\",\"details__user-text\":\"PaperLayout__details__user-text___NkhIt\",\"fadeIn\":\"PaperLayout__fadeIn___zD4H0\",\"blinking\":\"PaperLayout__blinking___IC9tm\"};","// extracted by mini-css-extract-plugin\nexport default {\"status\":\"RFQStatusPill__status___TfdIr\",\"fadeIn\":\"RFQStatusPill__fadeIn___gCD13\",\"blinking\":\"RFQStatusPill__blinking___XGspP\"};","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './SearchControl.scss';\nimport Input from 'common/components/Input/Input';\nimport SearchIcon, { SearchIconProps } from 'common/icons/SearchIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    searchText: string | null | undefined;\n    placeholder: string;\n    onChangeSearchText: (searchText: string) => void;\n    className?: string;\n};\n\nlet timeoutId: NodeJS.Timeout | null = null;\n\nconst COLD_TIME = 500;\n\nconst SearchControl: React.FC<PropsT> = React.memo((props) => {\n    const { searchText, placeholder, onChangeSearchText } = props;\n\n    const [isFocused, setFocused] = React.useState<boolean>(false);\n    const [isShow, setShow] = React.useState<boolean>(!!searchText);\n    const [text, setText] = React.useState<string>(searchText || '');\n\n    React.useEffect(() => {\n        if (searchText !== simpleStringFormatter(text)) {\n            setText(searchText || '');\n\n            if (!searchText && !isFocused) {\n                setShow(false);\n            }\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [searchText]);\n\n    const handleChangeText = (text: string): void => {\n        setText(text);\n\n        if (timeoutId) {\n            clearTimeout(timeoutId);\n        }\n\n        timeoutId = setTimeout(() => {\n            onChangeSearchText(simpleStringFormatter(text));\n        }, COLD_TIME);\n\n        // if clear button\n        if (!isFocused) {\n            setShow(false);\n        }\n    };\n\n    const handleFocus = (): void => {\n        setFocused(true);\n    };\n\n    const handleBlur = (): void => {\n        setFocused(false);\n\n        const isEmpty = !text;\n        if (isEmpty) {\n            setShow(false);\n        }\n    };\n\n    if (!isShow) {\n        return (\n            <TransparentTrigger\n                onClick={() => {\n                    setShow(true);\n                }}\n                leftIcon={<SearchIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                reflectionTheme={ReflectionThemeEnum.light}\n            />\n        );\n    }\n\n    return (\n        <Input\n            autoFocus\n            name=\"search-text\"\n            className={cx('search')}\n            renderLeftIcon={(iconMeta) => <SearchIcon {...SearchIconProps.getControlProps(iconMeta)} />}\n            placeholder={placeholder}\n            value={text}\n            onChange={handleChangeText}\n            hasClearControl\n            onFocus={handleFocus}\n            onBlur={handleBlur}\n        />\n    );\n});\n\nexport default SearchControl;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"TransportationOrderMileagAndPaymentChangedCard__inner___a73Fe\",\"fadeIn\":\"TransportationOrderMileagAndPaymentChangedCard__fadeIn___N1bOc\",\"blinking\":\"TransportationOrderMileagAndPaymentChangedCard__blinking___wUFX8\"};","import { ApiReserveT, ReserveT, ReserveTimeWindowT } from '../models';\nimport { MS_IN_SEC } from 'common/utils/time';\n\nconst preparePreview = (apiReserve: ApiReserveT): ReserveT => {\n    const { points: apiPoints, ...restApiReserve } = apiReserve;\n\n    const expireTime = apiReserve.secondsToExpire * MS_IN_SEC + Date.now();\n\n    return {\n        ...restApiReserve,\n        expireTime,\n        points: apiPoints.map((apiPoint): ReserveT['points'][number] => {\n            const { defaultFrom, defaultTo, ...restApiPoint } = apiPoint;\n\n            const defaultTimeWindow: ReserveTimeWindowT = {\n                start: defaultFrom,\n                end: defaultTo,\n            };\n\n            return {\n                ...restApiPoint,\n                defaultTimeWindow,\n            };\n        }),\n    };\n};\n\nexport default preparePreview;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ReviewFooterContent.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport { logWarning } from 'common/utils/logger';\nimport { useSelector } from 'react-redux';\nimport { selectUpdateCompanyDocumentsRequest } from 'common/store/documents/selectors';\nimport { DocumentVersionT } from 'common/store/documents/models';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    dictDocument: DictDocumentT | null;\n    actualVersion: DocumentVersionT | null;\n    onReject: (dictDocumentId: DictDocumentFakeIdT, id: DocumentIdT) => void;\n    partnerId: PartnerIdT | null;\n};\n\nconst ReviewFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { actualVersion, onReject, dictDocument, partnerId } = props;\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    const updateRequest = useSelector(selectUpdateCompanyDocumentsRequest(partnerId));\n\n    const { t } = useTranslation();\n\n    return (\n        <div className={cx('content')}>\n            <div className={cx('actions')}>\n                <Button\n                    theme={ButtonThemeEnum.danger}\n                    className={cx('action', 'action--reject')}\n                    onClick={() => {\n                        if (!actualVersion?.id) {\n                            logWarning('failed to reject, empty actualVersion?.id');\n                            return;\n                        }\n\n                        if (!dictDocument?.id) {\n                            logWarning('failed to reject, empty dictDocument?.id');\n                            return;\n                        }\n\n                        onReject(dictDocument.id, actualVersion.id);\n                    }}\n                    isDisabled={updateRequest.loading}\n                >\n                    {t('common:document.actions.reject')}\n                </Button>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    className={cx('action', 'action--approve')}\n                    onClick={remoteFormActionsContext?.remoteFormCallbacks?.submit}\n                    isLoading={updateRequest.loading}\n                    isDisabled={updateRequest.loading}\n                >\n                    {t('common:document.actions.approve')}\n                </Button>\n            </div>\n        </div>\n    );\n});\n\nexport default ReviewFooterContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"map-tooltip\":\"MapPin__map-tooltip___wFL3n\",\"map-tooltip--hasPaddings\":\"MapPin__map-tooltip--hasPaddings___P9EEQ\",\"map-tooltip--hasBorder\":\"MapPin__map-tooltip--hasBorder___Yy4FA\",\"map-tooltip--hasArrow\":\"MapPin__map-tooltip--hasArrow___B9_yx\",\"map-tooltip--theme-light\":\"MapPin__map-tooltip--theme-light___PVuyT\",\"map-tooltip--theme-gray\":\"MapPin__map-tooltip--theme-gray___w5336\",\"map-tooltip--theme-brand-dark\":\"MapPin__map-tooltip--theme-brand-dark___P2gUz\",\"map-tooltip--theme-slate\":\"MapPin__map-tooltip--theme-slate___bPH5i\",\"map-tooltip--theme-tomato-red\":\"MapPin__map-tooltip--theme-tomato-red___soDdr\",\"map-tooltip--theme-blaze-orange\":\"MapPin__map-tooltip--theme-blaze-orange___JmtLw\",\"fadeIn\":\"MapPin__fadeIn___yNFES\",\"blinking\":\"MapPin__blinking___oheIF\"};","import { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\nimport { StopTypeEnum } from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\nimport { formatLocation } from 'common/utils/formatters';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { InitDropPointT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/models';\n\nexport const createInitWaypointTruckDropPoint = (\n    brokerOrderDetails: BrokerOrderDetailsT | null,\n    tourId: TourIdT | null,\n): InitDropPointT | null => {\n    const tour = findTourById(brokerOrderDetails, tourId);\n    const waypoints = tour?.waypoints || [];\n\n    const lastDropWaypoint =\n        waypoints?.find((waypoint) => {\n            return waypoint.type === StopTypeEnum.dropTruck || waypoint.type === StopTypeEnum.dropRoadTrain;\n        }) || null;\n\n    const waypoint = lastDropWaypoint || null;\n    if (!waypoint) {\n        return null;\n    }\n\n    const waypointAddress = waypoint?.address || null;\n    if (!waypointAddress) {\n        return null;\n    }\n\n    if (!isNumber(waypointAddress?.latitude) || !isNumber(waypointAddress?.longitude)) {\n        return null;\n    }\n\n    return {\n        location: {\n            address: formatLocation(waypointAddress),\n            utcOffsetMinutes: null,\n            addressComponents: {\n                countryCode: waypointAddress.country,\n                street1: waypointAddress?.street1,\n                street2: waypointAddress?.street2,\n                zipCode: waypointAddress?.zipCode,\n                city: waypointAddress?.city,\n            },\n            point: {\n                lat: waypointAddress.latitude || 0,\n                lng: waypointAddress.longitude || 0,\n            },\n        },\n        index: isNumber(waypoint?.index) ? waypoint.index : null,\n    };\n};\n","import { DictCarrierAdditionalServiceGroupT } from './models';\n\nexport function normalizeAdditionalServicesResponse(\n    response: DictCarrierAdditionalServiceGroupT[] | null,\n): DictCarrierAdditionalServiceGroupT[] | null {\n    if (!response) {\n        return null;\n    }\n\n    return response\n        .map((group) => ({\n            ...group,\n            services: [...group.services].sort((serviceA, serviceB) => {\n                return serviceA.service.localeCompare(serviceB.service);\n            }),\n        }))\n        .sort((groupA, groupB) => {\n            const categoryCompare = groupA.category.localeCompare(groupB.category);\n            if (categoryCompare !== 0) {\n                return categoryCompare;\n            }\n\n            const aTrailerType = groupA.trailerType || '';\n            const bTrailerType = groupB.trailerType || '';\n            return aTrailerType.localeCompare(bTrailerType);\n        });\n}\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { DispatcherT } from './models';\n\nexport const FETCH_DISPATCHERS_REQUEST = 'broker-admin/dispatchers/FETCH_DISPATCHERS_REQUEST';\nexport const FETCH_DISPATCHERS_REQUEST_BEGIN = 'broker-admin/dispatchers/FETCH_DISPATCHERS_REQUEST_BEGIN';\nexport const FETCH_DISPATCHERS_REQUEST_ERROR = 'broker-admin/dispatchers/FETCH_DISPATCHERS_REQUEST_ERROR';\nexport const FETCH_DISPATCHERS_REQUEST_SUCCESS = 'broker-admin/dispatchers/FETCH_DISPATCHERS_REQUEST_SUCCESS';\n\ntype DispatcherIdT = string;\n\nexport type DispatchersStateT = {\n    request: RequestStatusT;\n    byId: Record<DispatcherIdT, DispatcherT>;\n    allIds: Array<DispatcherIdT>;\n};\n\nexport type FetchDispatchersActionT = {\n    type: typeof FETCH_DISPATCHERS_REQUEST;\n};\n\nexport type FetchDispatchersBeginActionT = {\n    type: typeof FETCH_DISPATCHERS_REQUEST_BEGIN;\n};\n\nexport type FetchDispatchersSuccessActionT = {\n    type: typeof FETCH_DISPATCHERS_REQUEST_SUCCESS;\n    dispatchers: DispatcherT[];\n};\n\nexport type FetchDispatchersErrorActionT = {\n    type: typeof FETCH_DISPATCHERS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type DispatchersActionT =\n    | FetchDispatchersActionT\n    | FetchDispatchersBeginActionT\n    | FetchDispatchersSuccessActionT\n    | FetchDispatchersErrorActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"SideBar__wrapper___LM3dZ\",\"fadeIn\":\"SideBar__fadeIn___XIAyc\",\"blinking\":\"SideBar__blinking___Rf91Z\"};","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.name,\n    FieldsEnum.partnerType,\n    FieldsEnum.street1,\n    FieldsEnum.countryCode,\n    FieldsEnum.zipCode,\n    FieldsEnum.city,\n];\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    if (values[FieldsEnum.legalFormId] === null) {\n        errors[FieldsEnum.legalFormId] = t('common:form-errors.required');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"QuickActions__wrap___bwpgL\",\"action\":\"QuickActions__action___Phomw\",\"button\":\"QuickActions__button___yDVic\",\"fadeIn\":\"QuickActions__fadeIn___KDwYp\",\"blinking\":\"QuickActions__blinking___IQePY\"};","import { TFunction } from 'i18next';\n\nimport {\n    FieldsEnum,\n    FormErrorsT,\n    FormValuesT,\n    PointContactsFieldsEnum,\n    RoutePointT,\n    ShipmentFieldsEnum,\n} from './constants';\nimport { ApiTrailerDictTypeT, OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\nimport { checkEmail, checkMinValue, checkNotEmpty, checkNotZero, checkPhoneNumber } from 'common/utils/form-validators';\nimport { checkIsEmptyPhoneNumber } from 'common/utils/phone-number';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { UnitTypeEnum } from 'common/constants';\nimport keys from 'lodash/keys';\nimport set from 'lodash/set';\n\nconst SHIPMENT_REQUIRED_FIELDS = [\n    ShipmentFieldsEnum.cargoUnitType,\n    ShipmentFieldsEnum.cargoUnitsCount,\n    ShipmentFieldsEnum.cargoWeight,\n    ShipmentFieldsEnum.pickUpPointId,\n    ShipmentFieldsEnum.dropOffPointId,\n] as const;\n\nconst SHIPMENT_NOT_ZERO_FIELDS = [ShipmentFieldsEnum.cargoUnitsCount] as const;\n\nconst POINT_CONTACTS_EMAILS_FIELDS = [PointContactsFieldsEnum.email] as const;\n\nconst POINT_CONTACTS_PHONE_FIELDS = [PointContactsFieldsEnum.phoneNumber] as const;\n\ntype ValidateMetaT = {\n    routePoints: Array<RoutePointT>;\n    trailerType: ApiTrailerDictTypeT | null | undefined;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, meta: ValidateMetaT): FormErrorsT => {\n    const { routePoints, trailerType } = meta;\n\n    const errors: FormErrorsT = {};\n\n    const shipmentsFormValues = values[FieldsEnum.shipments];\n    shipmentsFormValues.forEach((shipmentFormValues, index) => {\n        const shipmentFormErrors: NonNullable<FormErrorsT[FieldsEnum.shipments]>[number] = {\n            ...checkNotEmpty(t, SHIPMENT_REQUIRED_FIELDS, shipmentFormValues),\n            ...checkNotZero(t, SHIPMENT_NOT_ZERO_FIELDS, shipmentFormValues),\n            ...checkMinValue(\n                t,\n                [ShipmentFieldsEnum.cargoUnitsCount, ShipmentFieldsEnum.cargoWeight],\n                shipmentFormValues,\n                0,\n            ),\n        };\n\n        const parsedCargoWeight = parseSimpleNumber(shipmentFormValues[ShipmentFieldsEnum.cargoWeight]);\n        if (parsedCargoWeight && trailerType?.weight && parsedCargoWeight > trailerType.weight) {\n            shipmentFormErrors[ShipmentFieldsEnum.cargoWeight] = t('common:new-order-form.errors.cargo-is-too-huge');\n        }\n\n        const parsedUnitsCount = parseSimpleNumber(shipmentFormValues[ShipmentFieldsEnum.cargoUnitsCount]);\n        const cargoUnitType = shipmentFormValues[ShipmentFieldsEnum.cargoUnitType];\n\n        const isMoreUnitLimits =\n            (cargoUnitType === UnitTypeEnum.eur1Pallets &&\n                trailerType?.eur1Pallets &&\n                parsedUnitsCount &&\n                parsedUnitsCount > trailerType.eur1Pallets) ||\n            (cargoUnitType === UnitTypeEnum.eur2Pallets &&\n                trailerType?.eur2Pallets &&\n                parsedUnitsCount &&\n                parsedUnitsCount > trailerType.eur2Pallets) ||\n            (cargoUnitType === UnitTypeEnum.eur6Pallets &&\n                trailerType?.eur6Pallets &&\n                parsedUnitsCount &&\n                parsedUnitsCount > trailerType.eur6Pallets);\n\n        if (isMoreUnitLimits) {\n            shipmentFormErrors[ShipmentFieldsEnum.cargoUnitsCount] = t(\n                'common:new-order-form.errors.cargo-is-too-huge',\n            );\n        }\n\n        keys(shipmentFormErrors).forEach((fieldName) => {\n            set(\n                errors,\n                `${FieldsEnum.shipments}.${index}.${fieldName}`,\n                shipmentFormErrors[fieldName as ShipmentFieldsEnum],\n            );\n        });\n    });\n\n    const contactsFormValues = values[FieldsEnum.contacts];\n    contactsFormValues.forEach((contactFormValues, index) => {\n        const point = routePoints[index];\n        if (point?.type !== OrderCreationReservePointTypeEnum.shipment) {\n            return;\n        }\n\n        const contactFormErrors: NonNullable<FormErrorsT[FieldsEnum.contacts]>[number] = {\n            ...checkEmail(t, POINT_CONTACTS_EMAILS_FIELDS, contactFormValues),\n            ...checkPhoneNumber(t, POINT_CONTACTS_PHONE_FIELDS, contactFormValues),\n        };\n\n        const unDetailedAddressError = t('common:new-order-form.errors.undetailed-address');\n        const isUnDetailedAddress = !point?.address?.street1;\n        if (isUnDetailedAddress && !contactFormValues[PointContactsFieldsEnum.fullName]) {\n            contactFormErrors[PointContactsFieldsEnum.fullName] = unDetailedAddressError;\n        }\n\n        if (isUnDetailedAddress && checkIsEmptyPhoneNumber(contactFormValues[PointContactsFieldsEnum.phoneNumber])) {\n            contactFormErrors[PointContactsFieldsEnum.phoneNumber] = unDetailedAddressError;\n        }\n\n        keys(contactFormErrors).forEach((fieldName) => {\n            set(\n                errors,\n                `${FieldsEnum.contacts}.${index}.${fieldName}`,\n                contactFormErrors[fieldName as PointContactsFieldsEnum],\n            );\n        });\n    });\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"section__title\":\"EditDriverFormContent__section__title___ZELQb\",\"section__block\":\"EditDriverFormContent__section__block___UfTPX\",\"field--formal\":\"EditDriverFormContent__field--formal___DBdkz\",\"field--first-name\":\"EditDriverFormContent__field--first-name___tVWoe\",\"field--last-name\":\"EditDriverFormContent__field--last-name___VjTQ5\",\"field--desktop-phone\":\"EditDriverFormContent__field--desktop-phone___rD7A6\",\"field--mobile-phone\":\"EditDriverFormContent__field--mobile-phone___jY4Ro\",\"field--fax-number\":\"EditDriverFormContent__field--fax-number___Ulx1H\",\"field--email\":\"EditDriverFormContent__field--email___GU9Cz\",\"field--birthday\":\"EditDriverFormContent__field--birthday___qc3o9\",\"field--country\":\"EditDriverFormContent__field--country___VooZt\",\"field--language\":\"EditDriverFormContent__field--language___YLwj8\",\"field--rate\":\"EditDriverFormContent__field--rate____xPRk\",\"media\":\"EditDriverFormContent__media____iWkN\",\"media__input\":\"EditDriverFormContent__media__input___yUrpL\",\"media__icon\":\"EditDriverFormContent__media__icon___KT8Uu\",\"fadeIn\":\"EditDriverFormContent__fadeIn___mXFmb\",\"blinking\":\"EditDriverFormContent__blinking___uDSqG\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"InvitedToTeamCard__inner___b7UrF\",\"fadeIn\":\"InvitedToTeamCard__fadeIn___NfQx5\",\"blinking\":\"InvitedToTeamCard__blinking___XFJ5j\"};","import {\n    FETCH_RFQS_STATS_REQUEST_BEGIN,\n    FETCH_RFQS_STATS_REQUEST_ERROR,\n    FETCH_RFQS_STATS_REQUEST_SUCCESS,\n    RFQsStatsActionT,\n    RFQsStatsStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: RFQsStatsStateT = {\n    stats: null,\n    fetchRequest: requestStatus.initial,\n};\n\nexport default (state = initialState, action: RFQsStatsActionT | DestroySessionActionT): RFQsStatsStateT => {\n    switch (action.type) {\n        case FETCH_RFQS_STATS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n\n        case FETCH_RFQS_STATS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(error),\n            };\n        }\n\n        case FETCH_RFQS_STATS_REQUEST_SUCCESS: {\n            const { statistics } = action;\n            return {\n                ...state,\n                stats: statistics,\n                fetchRequest: requestStatus.ok,\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\nimport { BrokerSidebarDataT } from './models';\nimport { BrokerSidebarsTypeEnum } from './constants';\nimport { GetSidebarCloseConfirmationT, RenderSidebarContentT } from 'common/layouts/SideBars/models';\nimport SpotRequestDetailsSidebarContent from 'broker-admin/layouts/SideBars/SpotRequestDetailsSidebarContent/SpotRequestDetailsSidebarContent';\nimport SpotRequestsFiltersSidebarContent from 'broker-admin/layouts/SideBars/SpotRequestsFiltersSidebarContent/SpotRequestsFiltersSidebarContent';\nimport PartnerFiltersSidebarContent from 'broker-admin/layouts/SideBars/PartnerFiltersSidebarContent/PartnerFiltersSidebarContent';\nimport CreatePartnerSidebarContent from 'broker-admin/layouts/SideBars/CreatePartnerSidebarContent/CreatePartnerSidebarContent';\nimport PriceSettingsRuleFiltersSidebarContent from 'broker-admin/layouts/SideBars/PriceSettingsRuleFiltersSidebarContent/PriceSettingsRuleFiltersSidebarContent';\nimport PriceSettingsEditRuleSidebarContent from 'broker-admin/layouts/SideBars/PriceSettingsEditRuleSidebarContent/PriceSettingsEditRuleSidebarContent';\nimport StatisticFiltersSidebarContent from 'broker-admin/layouts/SideBars/StatisticFiltersSidebarContent/StatisticFiltersSidebarContent';\nimport UploadShipperContractSidebarContent from 'broker-admin/layouts/SideBars/UploadShipperContractSidebarContent/UploadShipperContractSidebarContent';\nimport EditableShipperContractLaneDetailsSidebarContent from 'broker-admin/layouts/SideBars/EditableShipperContractLaneDetailsSidebarContent/EditableShipperContractLaneDetailsSidebarContent';\nimport EditBrokerTeamSidebarContent from 'broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/EditBrokerTeamSidebarContent';\n\nexport const renderSidebarContent: RenderSidebarContentT<BrokerSidebarDataT> = (props) => {\n    const { data, ...restProps } = props;\n\n    switch (data.type) {\n        case BrokerSidebarsTypeEnum.spotRequestDetails: {\n            return <SpotRequestDetailsSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.spotRequestsFilter: {\n            return <SpotRequestsFiltersSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.partnerFilter: {\n            return <PartnerFiltersSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.createPartner: {\n            return <CreatePartnerSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.priceSettingsRuleFilter: {\n            return <PriceSettingsRuleFiltersSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.editPriceSettingsRuleSidebar: {\n            return <PriceSettingsEditRuleSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.statisticsFilter: {\n            return <StatisticFiltersSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.uploadShipperContract: {\n            return <UploadShipperContractSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.shipperContractLaneDetails: {\n            return <EditableShipperContractLaneDetailsSidebarContent data={data} {...restProps} />;\n        }\n\n        case BrokerSidebarsTypeEnum.editBrokerTeamDetails: {\n            return <EditBrokerTeamSidebarContent data={data} {...restProps} />;\n        }\n\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const getSidebarCloseConfirmation: GetSidebarCloseConfirmationT<BrokerSidebarDataT> = (\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    t,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    data,\n) => {\n    return null;\n};\n","export enum FieldsEnum {\n    transportationOrderHasNoDriverAlertTime = 'transportationOrderHasNoDriverAlertTime',\n    assignDriverLimitAlert = 'assignDriverLimitAlert',\n    allowedGAPToBeDelayed = 'ALLOWED_GAP_TO_BE_DELAYED',\n    deleteNotificationsOlderDays = 'DELETE_NOTIFICATIONS_OLDER_DAYS',\n    docExpiresSoonAlert = 'DOC_EXPIRES_SOON_ALERT',\n    assignAssetLimitAlert = 'assignAssetLimitAlert',\n    transportationOrderHasNoAssetsAlertTime = 'transportationOrderHasNoAssetsAlertTime',\n    radiusAroundWaypointM = 'RADIUS_AROUND_WAYPOINT_METERS',\n    timeLimitToCancelOrderHours = 'TIME_LIMIT_TO_CANCEL_ORDER_HOURS',\n    timeLimitToCancelTransportationOrderHours = 'TIME_LIMIT_TO_CANCEL_TRANSPORTATION_ORDER_HOURS',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.transportationOrderHasNoDriverAlertTime]: string;\n    [FieldsEnum.assignDriverLimitAlert]: string;\n    [FieldsEnum.allowedGAPToBeDelayed]: string;\n    [FieldsEnum.deleteNotificationsOlderDays]: string;\n    [FieldsEnum.docExpiresSoonAlert]: string;\n    [FieldsEnum.assignAssetLimitAlert]: string;\n    [FieldsEnum.transportationOrderHasNoAssetsAlertTime]: string;\n    [FieldsEnum.radiusAroundWaypointM]: string;\n    [FieldsEnum.timeLimitToCancelOrderHours]: string;\n    [FieldsEnum.timeLimitToCancelTransportationOrderHours]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerDetailsLayout.scss';\nimport { useTranslation } from 'react-i18next';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport { PartnerDetailsT } from 'broker-admin/store/partner/details/models';\nimport { AddressTypeEnum, PartnerTypeEnum } from 'common/utils/api/models';\nimport Widget from 'common/components/Widget/Widget';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport BasicWidgetHeaderActions from '../BasicWidgetHeaderActions/BasicWidgetHeaderActions';\nimport AddressWidgetHeaderActions from '../AddressWidgetHeaderActions/AddressWidgetHeaderActions';\nimport RFQStats from 'broker-admin/layouts/PartnerPage/PartnerDetailsPage/RFQStats/RFQStats';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport CreatePartnerInfo from 'common/layouts/BaseProfileLayout/ProfileBasicInformation/CreatePartnerInfo/CreatePartnerInfo';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport { useLegalFormDict } from 'common/utils/hooks/useLegalFormDict';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useCountriesByCode } from 'common/utils/hooks/useCountriesByCode';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { checkIsAllowedLock, getBlockLockingReason } from 'broker-admin/store/partner/details/utils/lock';\nimport { checkIsFilledPartnerAddress } from 'broker-admin/store/partner/details/utils/addresses';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerDetails: PartnerDetailsT | null;\n};\n\nconst PartnerDetailsLayout: React.FC<PropsT> = React.memo((props) => {\n    const { partnerDetails } = props;\n\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const { t } = useTranslation();\n\n    const countryByCode = useCountriesByCode();\n\n    const shouldShowBillingInfo = partnerType === PartnerTypeEnum.shipper;\n\n    const legalAddressCountry = countryByCode[partnerDetails?.legalAddress?.country as CountryCodeT];\n    const legalFullAddress = [\n        legalAddressCountry?.userLangDisplayName || '',\n        partnerDetails?.legalAddress?.zipCode,\n        partnerDetails?.legalAddress?.city,\n        partnerDetails?.legalAddress?.street1,\n        partnerDetails?.legalAddress?.street2,\n    ]\n        .join(' ')\n        .trim();\n\n    const { legalFormsRequestStatus, legalFormsById } = useLegalFormDict(partnerDetails?.legalAddress?.country || null);\n\n    const postalAddressCountry = countryByCode[partnerDetails?.postalAddress?.country as CountryCodeT];\n    const postalFullAddress = [\n        postalAddressCountry?.userLangDisplayName || '',\n        partnerDetails?.postalAddress?.zipCode,\n        partnerDetails?.postalAddress?.city,\n        partnerDetails?.postalAddress?.street1,\n        partnerDetails?.postalAddress?.street2,\n    ]\n        .join(' ')\n        .trim();\n\n    const billingAddressCountry = countryByCode[partnerDetails?.billingAddress?.country as CountryCodeT];\n    const billingFullAddress = [\n        billingAddressCountry?.userLangDisplayName || '',\n        partnerDetails?.billingAddress?.zipCode,\n        partnerDetails?.billingAddress?.city,\n        partnerDetails?.billingAddress?.street1,\n        partnerDetails?.billingAddress?.street2,\n    ]\n        .join(' ')\n        .trim();\n\n    const hasLegalAddress = checkIsFilledPartnerAddress(partnerDetails?.legalAddress);\n    const isNeedApproveLegalAddress = hasLegalAddress && !partnerDetails?.addressVerified;\n\n    const hasPostalAddress = checkIsFilledPartnerAddress(partnerDetails?.postalAddress);\n    const isNeedApprovePostalAddress = hasPostalAddress && !partnerDetails?.postalAddressVerified;\n\n    const hasBillingAddress = checkIsFilledPartnerAddress(partnerDetails?.billingAddress);\n    const isNeedApproveBillingAddress = hasBillingAddress && !partnerDetails?.billingAddressVerified;\n\n    return (\n        <ContentMargins className={cx('wrap')}>\n            <Widget\n                className={cx('widget')}\n                title={t('partner.details-tab.segments.basic')}\n                afterTitleNode={\n                    <CreatePartnerInfo\n                        partnerId={partnerId}\n                        partnerType={partnerType}\n                        createdByBroker={false}\n                        createdDate={partnerDetails?.createdDate || null}\n                        userId={partnerDetails?.createdById || null}\n                        userName={partnerDetails?.createdByName || null}\n                    />\n                }\n                rightNode={\n                    <BasicWidgetHeaderActions\n                        blockUnlockingReason={getBlockLockingReason(partnerType, partnerDetails)}\n                        isShowUnlock={checkIsAllowedLock(partnerType)}\n                        blockLockingReason={getBlockLockingReason(partnerType, partnerDetails)}\n                        isShowLock={checkIsAllowedLock(partnerType)}\n                        partnerDetails={partnerDetails}\n                    />\n                }\n            >\n                <div className={cx('widget__inner')}>\n                    <FieldGroup>\n                        <ReadOnlyField\n                            className={cx('field', 'field--name')}\n                            label={t('partner.details-tab.fields.name.label')}\n                            value={partnerDetails?.name || ''}\n                        />\n                        <ReadOnlyField\n                            className={cx('field', 'field--legal-form')}\n                            label={t('partner.details-tab.fields.legal-form.label')}\n                            value={legalFormsById[partnerDetails?.legalFormId || '']?.name}\n                            icon={\n                                legalFormsRequestStatus?.loading ? (\n                                    <ControlLoaderIcon\n                                        fillColor={StyleGuideColorsEnum.brandAccent}\n                                        size={DEFAULT_ICON_SIZE}\n                                    />\n                                ) : null\n                            }\n                        />\n                        <ReadOnlyField\n                            className={cx('field', 'field--teams')}\n                            label={t('partner.details-tab.fields.teams.label')}\n                            tooltipNode={\n                                <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                                    {t('partner.details-tab.fields.teams.tooltip')}\n                                </TooltipContent>\n                            }\n                            value={\n                                partnerDetails?.teams\n                                    ?.map((team) => {\n                                        return team?.name || '';\n                                    })\n                                    .join(', ') || ''\n                            }\n                        />\n                        <FieldGroupEmptyItem className={cx('field', 'field--placeholder')} />\n                    </FieldGroup>\n                </div>\n            </Widget>\n            {partnerType === PartnerTypeEnum.shipper && (\n                <Widget\n                    className={cx('widget')}\n                    title={t('partner.details-tab.segments.rfq-stats')}\n                    titleTooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                            {t('partner.details-tab.rfq-stats-tooltip')}\n                        </TooltipContent>\n                    }\n                    afterTitleNode={<RFQStats />}\n                />\n            )}\n            <div className={cx('widget-group')}>\n                <Widget\n                    className={cx('widget', 'widget-group__widget')}\n                    title={t('partner.details-tab.segments.legal-address')}\n                    rightNode={\n                        <AddressWidgetHeaderActions\n                            isShowStatus={hasLegalAddress}\n                            addressType={AddressTypeEnum.legal}\n                            fullAddress={legalFullAddress}\n                            needApproved={isNeedApproveLegalAddress}\n                            companyId={partnerDetails?.id}\n                        />\n                    }\n                >\n                    <div className={cx('widget__inner')}>\n                        <FieldGroup spaces={1}>\n                            <ReadOnlyField\n                                className={cx('field', 'field--country')}\n                                label=\" \"\n                                value={legalAddressCountry?.userLangDisplayName || ''}\n                                icon={<FlagIcon countryCode={legalAddressCountry?.code} />}\n                            />\n                            <ReadOnlyField\n                                className={cx('field', 'field--zip')}\n                                label={t('partner.details-tab.fields.zip.label')}\n                                value={partnerDetails?.legalAddress?.zipCode || ''}\n                            />\n                            <ReadOnlyField\n                                className={cx('field', 'field--city')}\n                                label={t('partner.details-tab.fields.city.label')}\n                                value={partnerDetails?.legalAddress?.city || ''}\n                            />\n                        </FieldGroup>\n                        <ReadOnlyField\n                            label={t('partner.details-tab.fields.street1.label')}\n                            value={partnerDetails?.legalAddress?.street1 || ''}\n                        />\n                        <ReadOnlyField\n                            label={t('partner.details-tab.fields.street2.label')}\n                            value={partnerDetails?.legalAddress?.street2 || ''}\n                        />\n                    </div>\n                </Widget>\n                <Widget\n                    className={cx('widget', 'widget-group__widget')}\n                    title={t('partner.details-tab.segments.postal-address')}\n                    rightNode={\n                        <AddressWidgetHeaderActions\n                            isShowStatus={hasPostalAddress}\n                            addressType={AddressTypeEnum.postal}\n                            fullAddress={postalFullAddress}\n                            needApproved={isNeedApprovePostalAddress}\n                            companyId={partnerDetails?.id}\n                        />\n                    }\n                >\n                    <div className={cx('widget__inner')}>\n                        <FieldGroup spaces={1}>\n                            <ReadOnlyField\n                                className={cx('field', 'field--country')}\n                                label=\" \"\n                                value={postalAddressCountry?.userLangDisplayName || ''}\n                                icon={<FlagIcon countryCode={postalAddressCountry?.code} />}\n                            />\n                            <ReadOnlyField\n                                className={cx('field', 'field--zip')}\n                                label={t('partner.details-tab.fields.zip.label')}\n                                value={partnerDetails?.postalAddress?.zipCode || ''}\n                            />\n                            <ReadOnlyField\n                                className={cx('field', 'field--city')}\n                                label={t('partner.details-tab.fields.city.label')}\n                                value={partnerDetails?.postalAddress?.city || ''}\n                            />\n                        </FieldGroup>\n                        <ReadOnlyField\n                            label={t('partner.details-tab.fields.street1.label')}\n                            value={partnerDetails?.postalAddress?.street1 || ''}\n                        />\n                        <ReadOnlyField\n                            label={t('partner.details-tab.fields.street2.label')}\n                            value={partnerDetails?.postalAddress?.street2 || ''}\n                        />\n                    </div>\n                </Widget>\n                {shouldShowBillingInfo && (\n                    <Widget\n                        className={cx('widget', 'widget-group__widget')}\n                        title={t('partner.details-tab.segments.billing-address')}\n                        rightNode={\n                            <AddressWidgetHeaderActions\n                                isShowStatus={hasBillingAddress}\n                                addressType={AddressTypeEnum.billing}\n                                fullAddress={billingFullAddress}\n                                needApproved={isNeedApproveBillingAddress}\n                                companyId={partnerDetails?.id}\n                            />\n                        }\n                    >\n                        <div className={cx('widget__inner')}>\n                            <FieldGroup spaces={1}>\n                                <ReadOnlyField\n                                    className={cx('field', 'field--country')}\n                                    label=\" \"\n                                    value={billingAddressCountry?.userLangDisplayName || ''}\n                                    icon={<FlagIcon countryCode={billingAddressCountry?.code} />}\n                                />\n                                <ReadOnlyField\n                                    className={cx('field', 'field--zip')}\n                                    label={t('partner.details-tab.fields.zip.label')}\n                                    value={partnerDetails?.billingAddress?.zipCode || ''}\n                                />\n                                <ReadOnlyField\n                                    className={cx('field', 'field--city')}\n                                    label={t('partner.details-tab.fields.city.label')}\n                                    value={partnerDetails?.billingAddress?.city || ''}\n                                />\n                            </FieldGroup>\n                            <ReadOnlyField\n                                label={t('partner.details-tab.fields.street1.label')}\n                                value={partnerDetails?.billingAddress?.street1 || ''}\n                            />\n                            <ReadOnlyField\n                                label={t('partner.details-tab.fields.street2.label')}\n                                value={partnerDetails?.billingAddress?.street2 || ''}\n                            />\n\n                            <ReadOnlyField\n                                label={t('partner.details-tab.fields.billing-email.label')}\n                                value={partnerDetails?.billingEmail || ''}\n                            />\n                        </div>\n                    </Widget>\n                )}\n            </div>\n        </ContentMargins>\n    );\n});\n\nexport default PartnerDetailsLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"offer\":\"CargoDetailsForm__offer___tWlBJ\",\"block\":\"CargoDetailsForm__block___SkUoF\",\"block__title\":\"CargoDetailsForm__block__title___i4GlL\",\"block__content\":\"CargoDetailsForm__block__content___YSt8y\",\"actions\":\"CargoDetailsForm__actions___apyul\",\"actions__action--place-and-next-new-order\":\"CargoDetailsForm__actions__action--place-and-next-new-order___Y2_pB\",\"actions__action--place\":\"CargoDetailsForm__actions__action--place___kL0Fr\",\"inner\":\"CargoDetailsForm__inner___zTMTh\",\"shipments-card\":\"CargoDetailsForm__shipments-card___TrYwr\",\"contacts-card\":\"CargoDetailsForm__contacts-card___JK_M8\",\"contacts-card-title\":\"CargoDetailsForm__contacts-card-title___VMGU_\",\"fadeIn\":\"CargoDetailsForm__fadeIn___Da7gp\",\"blinking\":\"CargoDetailsForm__blinking___wm_f9\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RevokedPartnerShipperLaneContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ShipperContractLaneId from 'broker-admin/components/notification-cards/entities/ShipperContractLaneId/ShipperContractLaneId';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    id: string;\n};\n\nconst RevokedPartnerShipperLaneContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-lane-revoked\"\n                components={{\n                    id: <ShipperContractLaneId id={id} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RevokedPartnerShipperLaneContractCard;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RoutingSettingsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport prepareApiSystemSettings from './prepare-system-settings';\nimport withWidgetChangesDetector from 'common/components/SaveChangesNotification/withWidgetChangesDetector';\nimport Widget from 'common/components/Widget/Widget';\nimport values from 'lodash/values';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { SystemSettingsFormCommonPropsT } from 'broker-admin/layouts/SettingsPage/SystemSettings/models';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\nimport Switcher from 'common/components/Switcher/Switcher';\n\nconst cx = classNames.bind(styles);\n\nconst FIELD_LABEL_T_MAP = {\n    [FieldsEnum.autoExcludeNonEUCountries]: 'price-settings.routing-form.fields.auto-exclude-non-eu-countries.label',\n};\n\ntype PropsT = SystemSettingsFormCommonPropsT;\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst RoutingSettingsForm: React.FC<PropsT> = (props) => {\n    const { systemSettings, title, onUpdate, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(systemSettings);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [systemSettings]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const apiSystemSettings = prepareApiSystemSettings(values);\n            onUpdate(apiSystemSettings);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErrors = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErrors,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErrors, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const WidgetChangesDetector = withWidgetChangesDetector(formik.values, initialValues);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <Widget className={cx('widget')} title={title} rightNode={<WidgetChangesDetector fields={ALL_FIELDS} />}>\n                <div className={cx('widget__inner')}>\n                    <FieldGroup>\n                        <FormikField\n                            withoutLabel\n                            className={cx('checkbox')}\n                            name={FieldsEnum.autoExcludeNonEUCountries}\n                            error={formik.errors[FieldsEnum.autoExcludeNonEUCountries]}\n                            meta={formik.getFieldMeta(FieldsEnum.autoExcludeNonEUCountries)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            isCheckbox\n                        >\n                            {(props) => (\n                                <Switcher\n                                    checked={formik.values[FieldsEnum.autoExcludeNonEUCountries]}\n                                    onToggle={props.onChange}\n                                    label={t(FIELD_LABEL_T_MAP[FieldsEnum.autoExcludeNonEUCountries])}\n                                />\n                            )}\n                        </FormikField>\n                        <FieldGroupEmptyItem className={cx('field')} />\n                    </FieldGroup>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <HiddenSubmitButtonForKeyboardEnter />\n                </div>\n            </Widget>\n        </form>\n    );\n};\n\nexport default React.memo(RoutingSettingsForm) as typeof RoutingSettingsForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"TimelineSidebar__wrap___JxJgA\",\"inner\":\"TimelineSidebar__inner___zVLXJ\",\"header\":\"TimelineSidebar__header___cyxPP\",\"icons\":\"TimelineSidebar__icons___EkQzh\",\"icons__inner\":\"TimelineSidebar__icons__inner___pKVzT\",\"icons__item\":\"TimelineSidebar__icons__item___OJUhJ\",\"zoom\":\"TimelineSidebar__zoom___pGUra\",\"zoom-trigger\":\"TimelineSidebar__zoom-trigger___MU_5h\",\"zoom-trigger--isClickable\":\"TimelineSidebar__zoom-trigger--isClickable___cTmtq\",\"zoom-trigger--plus\":\"TimelineSidebar__zoom-trigger--plus___p2JZ9\",\"zoom-trigger--minus\":\"TimelineSidebar__zoom-trigger--minus___nzT9P\",\"fadeIn\":\"TimelineSidebar__fadeIn___X_s6w\",\"blinking\":\"TimelineSidebar__blinking___QEDs3\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RevokedPartnerCarrierContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst RevokedPartnerCarrierContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-carrier-contract-revoked\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RevokedPartnerCarrierContractCard;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './BrokerToursTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport { BrokerTourShortT } from 'broker-admin/store/broker-tours/models';\nimport IdCell from 'common/components/Table/cell-renderers/IdCell/IdCell';\nimport OriginCell from './cell-renderers/OriginCell/OriginCell';\nimport DestinationCell from './cell-renderers/DestinationCell/DestinationCell';\nimport CarrierCell from './cell-renderers/CarrierCell/CarrierCell';\nimport CreatedCell from './cell-renderers/CreatedCell/CreatedCell';\nimport TypeCell from './cell-renderers/TypeCell/TypeCell';\nimport StatusCell from './cell-renderers/StatusCell/StatusCell';\nimport WarningIndicatorCell from 'common/components/Table/cell-renderers/WarningIndicatorCell/WarningIndicatorCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerTours: Array<BrokerTourShortT>;\n    className: string;\n    goToBrokerTourDetails?: (event: React.MouseEvent, brokerTourId: TourIdT) => void;\n    isLoading: boolean;\n};\n\nconst BrokerToursTable: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTours, className, goToBrokerTourDetails, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<BrokerTourShortT, void>> = [\n        {\n            renderHeader: () => <span>{t('broker-tours.list.table.columns.id')}</span>,\n            headerClassName: cx('table__header', 'table__header--id'),\n            render: (brokerTourShort) => <IdCell id={brokerTourShort?.tourNumber} />,\n            className: cx('table__column', 'table__column--id'),\n            testSelector: 'id',\n        },\n        {\n            renderHeader: () => <span>{t('broker-tours.list.table.columns.origin')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerTourShort) => <OriginCell brokerTourShort={brokerTourShort} />,\n            className: cx('table__column', 'table__column--origin'),\n            testSelector: 'origin',\n        },\n        {\n            renderHeader: () => <span>{t('broker-tours.list.table.columns.destination')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerTourShort) => <DestinationCell brokerTourShort={brokerTourShort} />,\n            className: cx('table__column', 'table__column--destination'),\n            testSelector: 'destination',\n        },\n        {\n            renderHeader: () => <span>{t('broker-tours.list.table.columns.carrier')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerTourShort) => <CarrierCell brokerTourShort={brokerTourShort} />,\n            className: cx('table__column', 'table__column--carrier'),\n            testSelector: 'carrier',\n        },\n        {\n            renderHeader: () => <span>{t('broker-tours.list.table.columns.created')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerTourShort) => <CreatedCell brokerTourShort={brokerTourShort} />,\n            className: cx('table__column', 'table__column--created'),\n            testSelector: 'created',\n        },\n        {\n            renderHeader: () => <span>{t('broker-tours.list.table.columns.type')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerTourShort) => <TypeCell brokerTourShort={brokerTourShort} />,\n            className: cx('table__column', 'table__column--type'),\n            testSelector: 'type',\n        },\n        {\n            renderHeader: () => null,\n            headerClassName: cx('table__header'),\n            render: (brokerTourShort) => (\n                <WarningIndicatorCell\n                    isShow={!!brokerTourShort.hasWarning}\n                    tooltipText={t('broker-tours.list.table.has-warnings')}\n                />\n            ),\n            className: cx('table__column', 'table__column--has-warnings'),\n            testSelector: 'has-warnings',\n        },\n        {\n            renderHeader: () => <span>{t('broker-tours.list.table.columns.status')}</span>,\n            headerClassName: cx('table__header', 'table__header--status'),\n            render: (brokerTourShort) => <StatusCell brokerTourShort={brokerTourShort} />,\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n    ];\n\n    const handleSelectRow = (event: React.MouseEvent, brokerTourShort: BrokerTourShortT) => {\n        if (!brokerTourShort.id || !goToBrokerTourDetails) {\n            return;\n        }\n\n        goToBrokerTourDetails(event, brokerTourShort.id);\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, brokerTourShort: BrokerTourShortT) => {\n        return {};\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<BrokerTourShortT> tableName=\"broker-tours\" isLoading={isLoading} rows={brokerTours}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<BrokerTourShortT, void>\n                        testSelector=\"broker-tours\"\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        onSelectRow={handleSelectRow}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default BrokerToursTable;\n","import { RatesStateT } from './types';\nimport { StateT } from 'broker-admin/store/models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const selectRatesPages = (state: StateT): RatesStateT['pages'] => state.priceSettings.rates.pages;\n\nexport const selectRatesQuery = (state: StateT): RatesStateT['query'] => state.priceSettings.rates.query;\n\nexport const selectRatesTotal = (state: StateT): RatesStateT['total'] => state.priceSettings.rates.total;\n\nexport const selectRatesByIds = (state: StateT): RatesStateT['byId'] => state.priceSettings.rates.byId;\n\nexport const selectUpdateRatesRequest = (state: StateT): RequestStatusT => state.priceSettings.rates.updateRequest;\n\nexport const selectUploadCSVFileRequest = (state: StateT): RequestStatusT => state.priceSettings.rates.uploadCSVRequest;\n","import commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\n\nconst downloadImage = async (imageUrl: string): Promise<void> => {\n    const headers = await commonTranziitApi.getAuthHeaders();\n\n    const response = await fetch(imageUrl, {\n        method: 'GET',\n        headers: headers || {},\n    });\n\n    if (!response.ok) {\n        throw new Error(`HTTP error! status: ${response.status}`);\n    }\n\n    const contentDisposition = response.headers.get('Content-Disposition');\n    let filename = 'photo.jpg';\n\n    if (contentDisposition) {\n        const filenameMatch = contentDisposition.match(/filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/);\n        if (filenameMatch && filenameMatch[1]) {\n            filename = filenameMatch[1].replace(/['\"]/g, '');\n        }\n    }\n\n    const blob = await response.blob();\n    const url = window.URL.createObjectURL(blob);\n    const link = document.createElement('a');\n    link.href = url;\n    link.download = filename;\n    document.body.appendChild(link);\n    link.click();\n    document.body.removeChild(link);\n    window.URL.revokeObjectURL(url);\n};\n\nexport { downloadImage };\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    fillOpacity?: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst TimeWindowIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, fillOpacity, strokeColor, ...restProps } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" {...restProps}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M10 3.325a6.665 6.665 0 00-6.667 6.667c0 3.683 2.984 6.666 6.667 6.666s6.667-2.983 6.667-6.666A6.665 6.665 0 0010 3.325zm3.542 10.2a5.01 5.01 0 01-7.075 0L10 9.992v-5c1.283 0 2.558.491 3.533 1.466a4.992 4.992 0 01.009 7.067z\"\n                    opacity={isNumber(fillOpacity) ? fillOpacity : '0.3'}\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M13.533 6.458A4.978 4.978 0 0010 4.992v5l-3.533 3.533a5.01 5.01 0 007.075 0 4.992 4.992 0 00-.009-7.067zM10 1.658c-4.6 0-8.333 3.734-8.333 8.334S5.4 18.325 10 18.325s8.333-3.733 8.333-8.333S14.6 1.658 10 1.658zm0 15a6.665 6.665 0 01-6.667-6.666c0-3.684 2.984-6.667 6.667-6.667s6.667 2.983 6.667 6.667A6.665 6.665 0 0110 16.658z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTimeWindowIcon.displayName = 'TimeWindowIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default TimeWindowIcon;\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getTimeWindowIconProps = (preset: 'default' | 'selected'): Pick<PropsT, 'fillColor' | 'strokeColor'> => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        default: {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n    }\n};\n","import { CountryCodeT } from 'common/store/countries-dict/models';\nimport { DaysEnum } from 'common/constants';\nimport {\n    ApiRepeatStrategyTypeTypeT,\n    ApiPriceComponentTypeT,\n    ApiRuleImpactStrategyTypeT,\n    RuleImpactStrategyEnum,\n    PriceComponentTypeEnum,\n} from 'broker-admin/utils/api/broker-tranziit/models';\nimport { ApiPriceRuleTypeT, PriceRuleTypeEnum } from 'common/utils/api/models';\n\nexport enum RepeatTypeEnum {\n    weekdays = 'WEEKDAYS',\n    dates = 'DATES',\n}\n\nexport enum FieldsEnum {\n    id = 'id',\n\n    name = 'name',\n    type = 'type',\n\n    shipperIds = 'shipper-ids',\n    carrierIds = 'carrier-ids',\n\n    trailerTypeIds = 'trailer-type-ids',\n\n    fromCountryCodes = 'from-country-codes',\n    fromCountryZipCodes = 'from-country-zip-codes',\n\n    toCountryCodes = 'to-country-codes',\n    toCountryZipCodes = 'to-country-zip-codes',\n\n    dates = 'dates',\n    days = 'days',\n    repeatType = 'repeat-type',\n    repeatStrategy = 'repeat-strategy',\n\n    validFrom = 'valid-from',\n    validTill = 'valid-till',\n\n    impactPriceComponent = 'impact-price-component',\n    impactValue = 'impact-value',\n    impactDiffValue = 'impact-diff-value',\n    impactStrategy = 'impact-strategy',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.id]: number | null;\n    [FieldsEnum.name]: string;\n\n    [FieldsEnum.type]: ApiPriceRuleTypeT | null;\n\n    [FieldsEnum.shipperIds]: Array<ShipperIdT>;\n    [FieldsEnum.carrierIds]: Array<CarrierIdT>;\n\n    [FieldsEnum.trailerTypeIds]: Array<TrailerDictIdT>;\n\n    [FieldsEnum.fromCountryCodes]: Array<CountryCodeT>;\n    [FieldsEnum.fromCountryZipCodes]: string;\n\n    [FieldsEnum.toCountryCodes]: Array<CountryCodeT>;\n    [FieldsEnum.toCountryZipCodes]: string;\n\n    [FieldsEnum.dates]: DateRangeT | null;\n    [FieldsEnum.days]: Array<DaysEnum>;\n    [FieldsEnum.repeatType]: RepeatTypeEnum;\n    [FieldsEnum.repeatStrategy]: ApiRepeatStrategyTypeTypeT;\n\n    [FieldsEnum.validFrom]: Date | null;\n    [FieldsEnum.validTill]: Date | null;\n\n    [FieldsEnum.impactPriceComponent]: ApiPriceComponentTypeT | null;\n    [FieldsEnum.impactValue]: string;\n    [FieldsEnum.impactDiffValue]: string;\n    [FieldsEnum.impactStrategy]: ApiRuleImpactStrategyTypeT;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n\nexport type AsyncFormErrorsT = Partial<Record<FieldsEnum, string>>;\n\nexport const diffImpactStrategySet = new Set<ApiRuleImpactStrategyTypeT>([RuleImpactStrategyEnum.percent]);\n\nexport const defaultAvailablePriceComponents: Array<ApiPriceComponentTypeT> = [\n    PriceComponentTypeEnum.lineHaul,\n    PriceComponentTypeEnum.fuel,\n    PriceComponentTypeEnum.roadTaxes,\n    PriceComponentTypeEnum.roadTaxesGeneral,\n    PriceComponentTypeEnum.roadTaxesCity,\n    PriceComponentTypeEnum.roadTaxesBridge,\n    PriceComponentTypeEnum.roadTaxesTunnel,\n    PriceComponentTypeEnum.roadTaxesFerry,\n    PriceComponentTypeEnum.roadTaxesMountainPass,\n    PriceComponentTypeEnum.serviceFee,\n];\n\nexport const availablePriceComponentByType: Record<ApiPriceRuleTypeT, Array<ApiPriceComponentTypeT>> = {\n    [PriceRuleTypeEnum.basic]: [\n        PriceComponentTypeEnum.lineHaul,\n        PriceComponentTypeEnum.fuel,\n        PriceComponentTypeEnum.roadTaxes,\n        PriceComponentTypeEnum.roadTaxesGeneral,\n        PriceComponentTypeEnum.roadTaxesCity,\n        PriceComponentTypeEnum.roadTaxesBridge,\n        PriceComponentTypeEnum.roadTaxesTunnel,\n        PriceComponentTypeEnum.roadTaxesFerry,\n        PriceComponentTypeEnum.roadTaxesMountainPass,\n    ],\n    [PriceRuleTypeEnum.shipper]: [\n        PriceComponentTypeEnum.lineHaul,\n        PriceComponentTypeEnum.fuel,\n        PriceComponentTypeEnum.roadTaxes,\n        PriceComponentTypeEnum.roadTaxesGeneral,\n        PriceComponentTypeEnum.roadTaxesCity,\n        PriceComponentTypeEnum.roadTaxesBridge,\n        PriceComponentTypeEnum.roadTaxesTunnel,\n        PriceComponentTypeEnum.roadTaxesFerry,\n        PriceComponentTypeEnum.roadTaxesMountainPass,\n        PriceComponentTypeEnum.serviceFee,\n    ],\n    [PriceRuleTypeEnum.carrier]: [\n        PriceComponentTypeEnum.lineHaul,\n        PriceComponentTypeEnum.fuel,\n        PriceComponentTypeEnum.roadTaxes,\n        PriceComponentTypeEnum.roadTaxesGeneral,\n        PriceComponentTypeEnum.roadTaxesCity,\n        PriceComponentTypeEnum.roadTaxesBridge,\n        PriceComponentTypeEnum.roadTaxesTunnel,\n        PriceComponentTypeEnum.roadTaxesFerry,\n        PriceComponentTypeEnum.roadTaxesMountainPass,\n    ],\n    [PriceRuleTypeEnum.custom]: [],\n};\n\nexport const getAvailablePriceComponent = (selectedType: ApiPriceRuleTypeT | null | undefined) => {\n    if (!selectedType) {\n        return defaultAvailablePriceComponents;\n    }\n\n    return availablePriceComponentByType[selectedType] || defaultAvailablePriceComponents;\n};\n\nexport const defaultAvailableStrategies: Array<ApiRuleImpactStrategyTypeT> = [\n    RuleImpactStrategyEnum.percent,\n    RuleImpactStrategyEnum.value,\n];\n\nexport const commonAvailableStrategiesByPriceComponentType: Record<\n    ApiPriceComponentTypeT,\n    Array<ApiRuleImpactStrategyTypeT>\n> = {\n    [PriceComponentTypeEnum.lineHaul]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.fuel]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.roadTaxes]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.roadTaxesGeneral]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.roadTaxesCity]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.roadTaxesBridge]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.roadTaxesTunnel]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.roadTaxesFerry]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.roadTaxesMountainPass]: [RuleImpactStrategyEnum.percent],\n    [PriceComponentTypeEnum.serviceFee]: [RuleImpactStrategyEnum.percent, RuleImpactStrategyEnum.value],\n};\n\nexport const availableStrategies: Record<ApiPriceRuleTypeT, typeof commonAvailableStrategiesByPriceComponentType> = {\n    [PriceRuleTypeEnum.basic]: commonAvailableStrategiesByPriceComponentType,\n    [PriceRuleTypeEnum.carrier]: commonAvailableStrategiesByPriceComponentType,\n    [PriceRuleTypeEnum.shipper]: {\n        ...commonAvailableStrategiesByPriceComponentType,\n        [PriceComponentTypeEnum.lineHaul]: [RuleImpactStrategyEnum.percent, RuleImpactStrategyEnum.value],\n    },\n    [PriceRuleTypeEnum.custom]: commonAvailableStrategiesByPriceComponentType,\n};\n\nexport const getAvailableStrategies = (\n    ruleType: ApiPriceRuleTypeT | null | undefined,\n    selectedPriceComponent: ApiPriceComponentTypeT | null | undefined,\n) => {\n    if (!ruleType || !selectedPriceComponent) {\n        return defaultAvailableStrategies;\n    }\n\n    return availableStrategies?.[ruleType]?.[selectedPriceComponent] || defaultAvailableStrategies;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"divider\":\"DividerTrigger__divider___fjPOe\",\"divider--isClickable\":\"DividerTrigger__divider--isClickable___x61vQ\",\"divider__icon\":\"DividerTrigger__divider__icon___CWD1V\",\"divider--isToggled\":\"DividerTrigger__divider--isToggled___XuNZ0\",\"divider__line\":\"DividerTrigger__divider__line___IAyM4\",\"fadeIn\":\"DividerTrigger__fadeIn___SaTU9\",\"blinking\":\"DividerTrigger__blinking___kXF0U\"};","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CURRENCY_SYMBOLS, UnitTypeEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n} & (\n    | {\n          type: UnitTypeEnum | null | undefined;\n      }\n    | {\n          types: Array<UnitTypeEnum>;\n      }\n);\n\ntype CurrencyUnitTypesT = UnitTypeEnum.euroAbbreviation | UnitTypeEnum.euro4SignificantDigitsAbbreviation;\nconst CURRENCY_TYPE_MAP: Record<CurrencyUnitTypesT, string> = {\n    [UnitTypeEnum.euroAbbreviation]: CURRENCY_SYMBOLS.EUR,\n    [UnitTypeEnum.euro4SignificantDigitsAbbreviation]: CURRENCY_SYMBOLS.EUR,\n};\n\ntype SimpleUnitTypesT = UnitTypeEnum.percentsAbbreviation;\nconst SIMPLE_UNIT_MAP: Record<SimpleUnitTypesT, string> = {\n    [UnitTypeEnum.percentsAbbreviation]: '%',\n};\n\ntype OtherUnitTypesT = Exclude<UnitTypeEnum, CurrencyUnitTypesT | SimpleUnitTypesT>;\nconst UNIT_TYPE_T_MAP: Record<OtherUnitTypesT, string> = {\n    [UnitTypeEnum.eur1Pallets]: 'common:unit-type.eur-1-pallets',\n    [UnitTypeEnum.eur2Pallets]: 'common:unit-type.eur-2-pallets',\n    [UnitTypeEnum.eur6Pallets]: 'common:unit-type.eur-6-pallets',\n    [UnitTypeEnum.other]: 'common:unit-type.other',\n    [UnitTypeEnum.kilogramsAbbreviation]: 'common:unit-type.kilograms-abbreviation',\n    [UnitTypeEnum.oneHundredKilometersAbbreviation]: 'common:unit-type.100-kilometers-abbreviation',\n    [UnitTypeEnum.metersAbbreviation]: 'common:unit-type.meters-abbreviation',\n    [UnitTypeEnum.kilometersAbbreviation]: 'common:unit-type.kilometers-abbreviation',\n    [UnitTypeEnum.litersAbbreviation]: 'common:unit-type.liters-abbreviation',\n    [UnitTypeEnum.days]: 'common:unit-type.days',\n    [UnitTypeEnum.hoursAbbreviation]: 'common:unit-type.hours-abbreviation',\n    [UnitTypeEnum.hours]: 'common:unit-type.hours',\n    [UnitTypeEnum.minutesAbbreviation]: 'common:unit-type.minutes-abbreviation',\n    [UnitTypeEnum.milliSecondsAbbreviation]: 'common:unit-type.milli-seconds-abbreviation',\n    [UnitTypeEnum.shipments]: 'common:unit-type.shipments',\n    [UnitTypeEnum.secondsAbbreviation]: 'common:unit-type.seconds-abbreviation',\n    [UnitTypeEnum.kilometersPerHourAbbreviation]: 'common:unit-type.kilometers-per-hour-abbreviation',\n};\n\nconst UnitType: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const { t } = useTranslation();\n\n    if ('types' in props) {\n        const { types: subTypes } = props;\n\n        const formattedSubTypes = subTypes.map((subType) => {\n            if (CURRENCY_TYPE_MAP[subType as CurrencyUnitTypesT]) {\n                return CURRENCY_TYPE_MAP[subType as CurrencyUnitTypesT];\n            }\n\n            if (SIMPLE_UNIT_MAP[subType as SimpleUnitTypesT]) {\n                return SIMPLE_UNIT_MAP[subType as SimpleUnitTypesT];\n            }\n\n            return t(UNIT_TYPE_T_MAP[subType as OtherUnitTypesT]);\n        });\n\n        return <span className={className}>{formattedSubTypes.join('/')}</span>;\n    }\n\n    const { type } = props;\n    if (!type) {\n        return null;\n    }\n\n    const label =\n        CURRENCY_TYPE_MAP[type as CurrencyUnitTypesT] ||\n        SIMPLE_UNIT_MAP[type as SimpleUnitTypesT] ||\n        t(UNIT_TYPE_T_MAP[type as OtherUnitTypesT]);\n\n    return <span className={className}>{label}</span>;\n});\n\nexport default UnitType;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst UserSettingsIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, size } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <g fill={fillColor}>\n                    <path\n                        fill=\"none\"\n                        d=\"M8.5 8.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm0 4.5a4.8 4.8 0 01.06-.742c-.023-.008-.037-.008-.06-.008a8.167 8.167 0 00-4.192 1.155c-.188.105-.308.345-.308.607v.488h4.718A5.181 5.181 0 018.5 13z\"\n                    />\n                    <path d=\"M14.5 9.25l.225 1.117c.3.113.57.27.81.473l1.088-.367.75 1.312-.856.75c.023.158.046.307.046.473 0 .165-.023.315-.046.472l.856.75-.75 1.297-1.088-.367c-.24.203-.51.36-.81.473L14.5 16.75H13l-.225-1.133c-.3-.112-.57-.27-.81-.472l-1.088.367-.75-1.297.855-.75c-.022-.158-.044-.307-.044-.473 0-.165.022-.315.044-.472l-.854-.75.75-1.297 1.087.367c.24-.203.51-.36.81-.473L13 9.25h1.5zm-6 1.5c.172 0 .338.008.503.023-.218.457-.368.96-.443 1.485-.023-.008-.037-.008-.06-.008a8.167 8.167 0 00-4.192 1.155c-.188.113-.308.353-.308.607v.488h4.718c.165.54.412 1.05.727 1.5H2.5v-1.988c0-.772.382-1.507 1.042-1.897A9.657 9.657 0 018.5 10.75zm5.25.75c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5zM8.5 4a3 3 0 110 6 3 3 0 110-6zm0 1.5C7.675 5.5 7 6.175 7 7s.675 1.5 1.5 1.5S10 7.825 10 7s-.675-1.5-1.5-1.5z\" />\n                </g>\n            </g>\n        </svg>\n    );\n};\n\nUserSettingsIcon.displayName = 'UserSettingsIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.orange,\n    size: 20,\n};\n\nexport { storyProps };\nexport default UserSettingsIcon;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { FetchShipperContractsPageQueryT, ShipperContractT } from 'common/store/shipper-contracts/models';\n\nexport type PartnerShipperContractStateT = PaginationStateT<ShipperContractT, FetchShipperContractsPageQueryT>;\n\nexport const initialPartnerShipperContractsState: PartnerShipperContractStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n};\n\nexport type ShipperContractsStateT = Record<PartnerIdT, PartnerShipperContractStateT>;\n\nconst initialState: ShipperContractsStateT = {};\n\nexport const shipperContractsSlice = createSlice({\n    name: 'shipperContracts',\n    initialState,\n    reducers: {\n        fetchShipperContractsPage: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                pageNumber: PageNumberT;\n                query: FetchShipperContractsPageQueryT;\n                partnerId: PartnerIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchShipperContractsPageBegin: (\n            state,\n            action: PayloadAction<{\n                query: FetchShipperContractsPageQueryT;\n                pageNumber: PageNumberT;\n                partnerId: PartnerIdT;\n            }>,\n        ) => {\n            const { partnerId, pageNumber, query } = action.payload;\n            const partnerState = state[partnerId] || initialPartnerShipperContractsState;\n\n            state[partnerId] = {\n                ...partnerState,\n                ...pageBeginReducer(partnerState, pageNumber, query),\n            };\n        },\n        fetchShipperContractsPageSuccess: (\n            state,\n            action: PayloadAction<{\n                query: FetchShipperContractsPageQueryT;\n                pageNumber: PageNumberT;\n                response: PageResponseT<ShipperContractT> | null;\n                partnerId: PartnerIdT;\n            }>,\n        ) => {\n            const { partnerId, pageNumber, query, response } = action.payload;\n            const partnerState = state[partnerId] || initialPartnerShipperContractsState;\n\n            state[partnerId] = {\n                ...partnerState,\n                ...pageSuccessReducer(partnerState, pageNumber, query, response),\n            };\n        },\n        fetchShipperContractsPageError: (\n            state,\n            action: PayloadAction<{\n                query: FetchShipperContractsPageQueryT;\n                pageNumber: PageNumberT;\n                error: Error;\n                partnerId: PartnerIdT;\n            }>,\n        ) => {\n            const { partnerId, pageNumber, query, error } = action.payload;\n            const partnerState = state[partnerId] || initialPartnerShipperContractsState;\n\n            state[partnerId] = {\n                ...partnerState,\n                ...pageErrorReducer(partnerState, pageNumber, query, error),\n            };\n        },\n        resetShipperContracts: (\n            state,\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                mutationListOptions: MutationListOptionsT;\n            }>,\n        ) => {\n            const { partnerId, mutationListOptions } = action.payload;\n            const partnerState = state[partnerId] || initialPartnerShipperContractsState;\n\n            state[partnerId] = {\n                ...partnerState,\n                ...resetPagesCacheReducer(initialPartnerShipperContractsState, partnerState, mutationListOptions),\n            };\n        },\n    },\n});\n\nexport const {\n    fetchShipperContractsPage,\n    fetchShipperContractsPageBegin,\n    fetchShipperContractsPageSuccess,\n    fetchShipperContractsPageError,\n    resetShipperContracts,\n} = shipperContractsSlice.actions;\n\nexport default shipperContractsSlice.reducer;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './DateCell.scss';\n\nimport isNil from 'lodash/isNil';\nimport { formatDate } from 'common/utils/time';\n\ntype PropsT = {\n    date: string | null | undefined;\n    className?: string;\n    dateFormat?: string;\n    isBold?: boolean;\n    isBigFont?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DEFAULT_DATE_FORMAT = 'DD MMM YYYY';\n\nconst DateCell: React.FC<PropsT> = React.memo((props) => {\n    const { date, isBold, dateFormat, isBigFont, className } = props;\n\n    if (isNil(date)) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('date', { 'date--isBold': isBold, 'date--isBigFont': isBigFont }), className)}>\n            {formatDate(dateFormat || DEFAULT_DATE_FORMAT, date)}\n        </div>\n    );\n});\n\nexport default DateCell;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Checkbox.scss';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\nexport enum CheckboxThemeEnum {\n    orange = 'orange',\n    green = 'green',\n}\n\nexport type CheckboxPropsT = {\n    className?: string;\n    checked: boolean;\n    indeterminated?: boolean;\n    onChange?: (checked: boolean, event: React.MouseEvent<HTMLDivElement>) => void;\n    isFullWidth?: boolean;\n    isDisabled?: boolean;\n    isReadOnly?: boolean;\n    theme?: CheckboxThemeEnum | null;\n    label?: React.ReactNode;\n    labelClassName?: string;\n    rightIcon?: React.ReactNode;\n    testSelector?: string;\n};\n\nconst Checkbox: React.FC<CheckboxPropsT> = React.memo((props) => {\n    const {\n        className,\n        theme,\n        checked,\n        indeterminated,\n        onChange,\n        isDisabled,\n        isReadOnly,\n        label,\n        labelClassName,\n        rightIcon,\n        isFullWidth,\n        testSelector,\n    } = props;\n\n    const [isHover, setHover] = React.useState<boolean>(false);\n\n    const handleChange = (event: React.MouseEvent<HTMLDivElement>) => {\n        if (isDisabled || isReadOnly) {\n            return;\n        }\n\n        if (onChange) {\n            onChange(!checked, event);\n        }\n    };\n\n    const handleMouseMove = () => {\n        if (isHover) {\n            return;\n        }\n\n        setHover(true);\n    };\n\n    const handleMouseLeave = () => {\n        setHover(false);\n    };\n\n    const fullTestSelector = `${testSelector}_checkbox`;\n\n    return (\n        <div\n            className={cs(\n                cx('checkbox', {\n                    'checkbox--isFullWidth': isFullWidth,\n                }),\n                className,\n            )}\n        >\n            <div\n                className={cx('box', {\n                    'box--isHover': isHover,\n                    'box--isClickable': !isDisabled && !isReadOnly,\n                    'box--isChecked': checked,\n                    'box--isIndeterminated': indeterminated,\n                    'box--isDisabled': isDisabled || isReadOnly,\n                    [`box--theme-${theme}`]: true,\n                })}\n                onMouseMove={handleMouseMove}\n                onMouseLeave={handleMouseLeave}\n                onClick={handleChange}\n                data-test-selector={`${fullTestSelector}_box`}\n            />\n            {!!label && (\n                <div\n                    className={cs(\n                        cx('label', {\n                            'label--isFullWidth': isFullWidth,\n                            'label--isClickable': !isDisabled && !isReadOnly,\n                            'label--isDisabled': isDisabled,\n                            'label--hasRightIcon': !!rightIcon,\n                        }),\n                        labelClassName,\n                    )}\n                    onMouseMove={handleMouseMove}\n                    onMouseLeave={handleMouseLeave}\n                    onClick={handleChange}\n                    data-test-selector={`${fullTestSelector}_label`}\n                >\n                    {label}\n                </div>\n            )}\n            {rightIcon}\n        </div>\n    );\n});\n\nexport default Checkbox;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ExpireSoonPartnerCarrierContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    contractName: string;\n};\n\nconst ExpireSoonPartnerCarrierContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-carrier-contract-expire-soon\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ExpireSoonPartnerCarrierContractCard;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './OrderStatusPill.scss';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiOrderStatusT, OrderStatusEnum } from 'common/utils/api/models';\nimport { ORDER_STATUS_T_MAP } from 'common/components/status/OrderStatus/OrderStatus';\n\ntype PropsT = {\n    status?: ApiOrderStatusT | null;\n    isArchived?: boolean;\n    isSymmetrical?: boolean;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst PILL_THEME_BY_STATUS: Record<ApiOrderStatusT, PillLabelThemeEnum> = {\n    [OrderStatusEnum.placed]: colorCodingPillLabelTheme.normal,\n    [OrderStatusEnum.inProgress]: colorCodingPillLabelTheme.normal,\n    [OrderStatusEnum.delivered]: colorCodingPillLabelTheme.positive,\n    [OrderStatusEnum.canceled]: colorCodingPillLabelTheme.normal,\n    [OrderStatusEnum.done]: colorCodingPillLabelTheme.positive,\n};\n\nconst OrderStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, isArchived, isSymmetrical } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    const theme = PILL_THEME_BY_STATUS[status] || PillLabelThemeEnum.charcoal;\n\n    return (\n        <>\n            <PillLabel isNoWrap theme={theme} testSelector=\"order-status\" isSymmetrical={isSymmetrical}>\n                {t(ORDER_STATUS_T_MAP[status])}\n            </PillLabel>\n            {isArchived && (\n                <PillLabel isNoWrap theme={theme} testSelector=\"order-archived\" isSymmetrical={isSymmetrical}>\n                    {t('common:order-archived')}\n                </PillLabel>\n            )}\n        </>\n    );\n});\n\nexport default OrderStatusPill;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport { useDispatch, useSelector } from 'react-redux';\nimport moment from 'moment';\n\nimport styles from './SendingToSpotFooterContent.scss';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport SendingToSpotForm from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/SendingToSpotForm';\nimport { fetchSettings } from 'common/store/settings/actions';\nimport { selectSpotRequestLimitMs } from 'broker-admin/store/settings/selectors';\nimport { roundTimestamp, MS_IN_HOUR } from 'common/utils/time';\nimport { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\nimport { sendToSpotByTour } from 'broker-admin/store/spot/actions';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    brokerOrderDetails: BrokerOrderDetailsT | null | undefined;\n    tourId: TourIdT | null;\n    onCancel: () => void;\n};\n\nconst SendingToSpotFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderDetails, tourId, onCancel } = props;\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchSettings());\n    }, [dispatch]);\n\n    const spotRequestLimitMs = useSelector(selectSpotRequestLimitMs);\n\n    const startValidTillTimeWindow = React.useMemo(() => {\n        return roundTimestamp(Date.now(), MS_IN_HOUR);\n    }, []);\n\n    const allowedRangeValidTill = React.useMemo((): TimeWindowT | null => {\n        if (!brokerOrderDetails) {\n            return null;\n        }\n\n        const tour = findTourById(brokerOrderDetails, tourId);\n        const firstWaypoint = tour?.waypoints?.[0] || null;\n        const pickupDockingHoursFrom =\n            firstWaypoint?.correctedDateTimeFrom || firstWaypoint?.originalDateTimeFrom || null;\n        const pickupDockingHoursFromTimestamp = moment(pickupDockingHoursFrom).valueOf();\n\n        return [startValidTillTimeWindow, pickupDockingHoursFromTimestamp - spotRequestLimitMs];\n    }, [tourId, startValidTillTimeWindow, brokerOrderDetails, spotRequestLimitMs]);\n\n    const handleSubmit = React.useCallback(\n        (deadline: string, comment: string) => {\n            if (!tourId) {\n                logWarning('failed to send to spot, empty tourId');\n                return;\n            }\n\n            dispatch(sendToSpotByTour(tourId, deadline, comment));\n        },\n        [dispatch, tourId],\n    );\n\n    if (!brokerOrderDetails) {\n        return null;\n    }\n\n    return (\n        <div className={cx('content')}>\n            <SendingToSpotForm\n                allowedRangeValidTill={allowedRangeValidTill}\n                onCancel={onCancel}\n                onSubmit={handleSubmit}\n            />\n        </div>\n    );\n});\n\nexport default SendingToSpotFooterContent;\n","import { FormikHelpers, FormikState } from 'formik';\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { reserveQueryModifyChannel } from 'common/store/order-creation/channels';\nimport { reserveSyncPointsModifyChannel } from './use-sync-points-channels';\nimport { useCallback } from 'react';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport isEmpty from 'lodash/isEmpty';\nimport isNumber from 'lodash/isNumber';\nimport { checkIsSameTimezone } from '../utils';\nimport isBoolean from 'lodash/isBoolean';\nimport keyBy from 'lodash/keyBy';\nimport { convertISODateToTimezone } from 'common/utils/time';\n\ntype FormikT = FormikState<FormValuesT> & FormikHelpers<FormValuesT>;\n\nexport const useSyncReserveChannels = (formik: FormikT) => {\n    // correction after reserve\n    const reserveQueryModifyChannelHandler = useCallback(\n        (event: InferChannelEventT<typeof reserveQueryModifyChannel>) => {\n            const formValuesChanges: Partial<FormValuesT> = {};\n\n            const routeFormValues = formik.values[FieldsEnum.route];\n            const newRouteFormValues: typeof routeFormValues = [];\n\n            const correctedPointsByFakeId = keyBy(event?.correctedPoints, (point) => {\n                return point.addressAlias || '';\n            });\n\n            routeFormValues.forEach((prevRouteFormValue) => {\n                const newRouteFormValue: typeof prevRouteFormValue = {\n                    ...prevRouteFormValue,\n                };\n\n                const fakeId = prevRouteFormValue?.fakeId || null;\n                if (!fakeId) {\n                    return;\n                }\n\n                const eventCorrectedPoint = correctedPointsByFakeId?.[fakeId] || null;\n\n                if (eventCorrectedPoint?.replacedCoordinate) {\n                    const prevLocation = prevRouteFormValue[RoutePointFieldsEnum.location];\n                    const utcOffsetMinutes = prevLocation?.utcOffsetMinutes;\n\n                    newRouteFormValue[RoutePointFieldsEnum.location] = {\n                        ...prevLocation,\n                        address: prevLocation?.address || null,\n                        addressComponents: prevLocation?.addressComponents || null,\n                        utcOffsetMinutes: isNumber(utcOffsetMinutes) ? utcOffsetMinutes : null,\n                        point: eventCorrectedPoint?.replacedCoordinate\n                            ? {\n                                  lng: eventCorrectedPoint.replacedCoordinate.longitude,\n                                  lat: eventCorrectedPoint.replacedCoordinate.latitude,\n                              }\n                            : null,\n                    };\n                }\n\n                const prevTimeWindow = prevRouteFormValue[RoutePointFieldsEnum.timeWindow];\n                if (eventCorrectedPoint?.defaultTimeWindow && !prevTimeWindow) {\n                    newRouteFormValue[RoutePointFieldsEnum.timeWindow] = eventCorrectedPoint.defaultTimeWindow;\n                }\n\n                // start: convert timezone start\n                if (\n                    eventCorrectedPoint?.defaultTimeWindow?.start &&\n                    newRouteFormValue[RoutePointFieldsEnum.timeWindow]?.start &&\n                    !checkIsSameTimezone(\n                        eventCorrectedPoint?.defaultTimeWindow?.start,\n                        newRouteFormValue[RoutePointFieldsEnum.timeWindow]?.start,\n                    )\n                ) {\n                    const convertedStart = convertISODateToTimezone(\n                        newRouteFormValue[RoutePointFieldsEnum.timeWindow]?.start,\n                        eventCorrectedPoint?.defaultTimeWindow?.start,\n                    );\n\n                    if (convertedStart) {\n                        newRouteFormValue[RoutePointFieldsEnum.timeWindow].start = convertedStart;\n                    }\n                }\n                // end: convert timezone start\n\n                // start: convert timezone end\n                if (\n                    eventCorrectedPoint?.defaultTimeWindow?.end &&\n                    newRouteFormValue[RoutePointFieldsEnum.timeWindow]?.end &&\n                    !checkIsSameTimezone(\n                        eventCorrectedPoint?.defaultTimeWindow?.end,\n                        newRouteFormValue[RoutePointFieldsEnum.timeWindow]?.end,\n                    )\n                ) {\n                    const convertedEnd = convertISODateToTimezone(\n                        newRouteFormValue[RoutePointFieldsEnum.timeWindow]?.end,\n                        eventCorrectedPoint?.defaultTimeWindow?.end,\n                    );\n\n                    if (convertedEnd) {\n                        newRouteFormValue[RoutePointFieldsEnum.timeWindow].end = convertedEnd;\n                    }\n                }\n                // end: convert timezone end\n\n                const correctedTimeWindow = event?.correctedTimeWindowsByPointId?.[fakeId] || null;\n                if (correctedTimeWindow) {\n                    newRouteFormValue[RoutePointFieldsEnum.timeWindow] = correctedTimeWindow;\n                }\n\n                const correctedBrokerWindow = event?.correctedBrokerWindowByPointId?.[fakeId];\n                if (isBoolean(correctedBrokerWindow)) {\n                    newRouteFormValue[RoutePointFieldsEnum.isBrokerTimeWindow] = correctedBrokerWindow;\n                }\n\n                newRouteFormValues.push(newRouteFormValue);\n            });\n\n            formValuesChanges[FieldsEnum.route] = newRouteFormValues;\n\n            if ('correctedLaneId' in event) {\n                formValuesChanges[FieldsEnum.laneId] = event.correctedLaneId || null;\n            }\n\n            if (!isEmpty(formValuesChanges)) {\n                formik.setValues((prevValues) => ({\n                    ...prevValues,\n                    ...formValuesChanges,\n                }));\n            }\n\n            const hasPointsCorrection = Boolean(event.correctedPoints?.length);\n            if (hasPointsCorrection && event.correctedPoints) {\n                reserveSyncPointsModifyChannel.emit({\n                    routeFormValues: newRouteFormValues,\n                    correctedPoints: event.correctedPoints,\n                    correctedBrokerWindowByPointId: event.correctedBrokerWindowByPointId,\n                    correctedTimeWindowsByPointId: event.correctedTimeWindowsByPointId,\n                });\n            }\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [formik.values, formik.setValues],\n    );\n\n    useChannelSubscribe(reserveQueryModifyChannel, reserveQueryModifyChannelHandler);\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TransportOrderListPageLayout.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport TransportOrdersTable from './TransportOrdersTable/TransportOrdersTable';\nimport { useTranslation } from 'react-i18next';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport omit from 'lodash/omit';\nimport { TransportOrderQuickFilterEnum, TransportOrderSortEnum } from 'common/utils/api/models';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport { TransportOrderT } from 'common/store/transport-orders/models';\nimport FiltersSidebarContent from './FiltersSidebarContent/FiltersSidebarContent';\nimport SideBar from 'common/layouts/LeftMenuLayout/SideBar/SideBar';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport { QuickFiltersOptionT } from 'common/components/Table/QuickFilters/QuickFilters';\nimport {\n    selectTransportOrdersByIds,\n    selectTransportOrdersPages,\n    selectTransportOrdersTotal,\n} from 'common/store/transport-orders/selectors';\nimport { fetchTransportOrdersPage } from 'common/store/transport-orders/actions';\nimport { isNonNil } from 'common/utils';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { fetchTrucksDict } from 'common/store/trucks-dict/actions';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ListPageHeaderTabsLayout from 'common/layouts/ListPage/ListPageHeaderTabsLayout/ListPageHeaderTabsLayout';\nimport { fetchGroupedNotificationCounts } from 'common/store/grouped-notification-counts/actions';\nimport SelectedFilters from 'common/layouts/TransportOrderListPageLayout/SelectedFilters/SelectedFilters';\nimport VerificationAlert from 'common/components/VerificationAlert/VerificationAlert';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport {\n    transportOrdersPaginationChannel,\n    transportOrdersRefreshChannel,\n} from 'common/store/transport-orders/channels';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { useQueryParams } from 'use-query-params';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport noop from 'lodash/noop';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport QuickFiltersButtonGroups from 'common/components/Table/QuickFiltersButtonGroups/QuickFiltersButtonGroups';\nimport TransportOrderTypeDropdown from 'common/layouts/TransportOrderListPageLayout/TransportOrderTypeDropdown/TransportOrderTypeDropdown';\nimport WarningsFilter from 'common/layouts/TransportOrderListPageLayout/WarningsFilter/WarningsFilter';\nimport { TransportOrderStatsT } from 'common/store/transport-orders-stats/models';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    stat: TransportOrderStatsT | null;\n    onOpenTransportOrderDetails: (event: React.MouseEvent, transportOrderId: TransportOrderIdT | null) => void;\n    orderQuickFilterOptions: Array<QuickFiltersOptionT<TransportOrderQuickFilterEnum>> | null;\n    orderQuickFilterOptionSeparators: number[];\n    hasProfileVerificationProblem?: boolean;\n    goToProfile?: () => void;\n};\n\nconst TransportOrderListPageLayout: React.FC<PropsT> = React.memo((props) => {\n    const {\n        stat,\n        onOpenTransportOrderDetails,\n        orderQuickFilterOptions,\n        orderQuickFilterOptionSeparators,\n        hasProfileVerificationProblem,\n        goToProfile,\n    } = props;\n\n    const { partnerId } = usePartnerContext();\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const total = useSelector(selectTransportOrdersTotal(partnerId));\n    const ordersPages = useSelector(selectTransportOrdersPages(partnerId));\n    const orderById = useSelector(selectTransportOrdersByIds(partnerId));\n\n    const [isShowFilters, triggerFilters] = React.useState<boolean>(false);\n    const showFilters = (): void => {\n        triggerFilters(true);\n    };\n    const hideFilters = (): void => {\n        triggerFilters(false);\n    };\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.transportOrdersFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.transportOrdersPage]: createPageNumberParam(),\n        [QueryKeysEnum.transportOrdersSort]: createSortParams<TransportOrderSortEnum>({\n            direction: SortDirectionEnum.DESC,\n            value: TransportOrderSortEnum.receiveDate,\n        }),\n    });\n\n    const pageNumber = query[QueryKeysEnum.transportOrdersPage];\n    const selectedSort = query[QueryKeysEnum.transportOrdersSort];\n    const queryFilters = query[QueryKeysEnum.transportOrdersFilters];\n\n    const page = ordersPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchTransportOrdersPage(pageNumber, query, partnerId, { isForceUpdate: false }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n    }, [pageNumber, selectedSort, queryFilters, partnerId, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in TransportOrderListPageLayout useEffect');\n            return (): void => {};\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchTransportOrdersPage(pageNumber, query, partnerId));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [pageNumber, selectedSort, queryFilters, partnerId, dispatch]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchTransportOrdersPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n    }, [queryFilters, selectedSort, pageNumber, partnerId, dispatch]);\n    useChannelSubscribe(transportOrdersRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchTransportOrdersPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n    }, [queryFilters, selectedSort, pageNumber, partnerId, dispatch]);\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n        dispatch(fetchTrucksDict());\n    }, [dispatch]);\n\n    const orders = React.useMemo(() => {\n        return (ids || []).map((id): TransportOrderT => orderById[id as string]).filter(isNonNil);\n    }, [ids, orderById]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.transportOrdersPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof transportOrdersPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n\n    useChannelSubscribe(transportOrdersPaginationChannel, setPageHandler);\n\n    const sortOptions: Array<SortDropdownOptionT<TransportOrderSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('common:transport-orders-page.table.sorts.triggers.receivedDate'),\n                value: TransportOrderSortEnum.receiveDate,\n            },\n            {\n                label: t('common:transport-orders-page.table.sorts.triggers.pickupDate'),\n                value: TransportOrderSortEnum.pickupDate,\n            },\n            {\n                label: t('common:transport-orders-page.table.sorts.triggers.dropOffDate'),\n                value: TransportOrderSortEnum.dropOffDate,\n            },\n            {\n                label: t('common:transport-orders-page.table.sorts.triggers.price'),\n                value: TransportOrderSortEnum.price,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<TransportOrderSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.transportOrdersPage]: 0,\n            [QueryKeysEnum.transportOrdersSort]: sort,\n        });\n    };\n\n    const handleSetStatusFilter = (quickFilterId: TransportOrderQuickFilterEnum | undefined) => {\n        const prevQueryFilters = query[QueryKeysEnum.transportOrdersFilters] || {};\n\n        const queryFilters: QueryFiltersT = {\n            ...prevQueryFilters,\n            [QueryFiltersKeysEnum.quickFilter]: quickFilterId,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.transportOrdersPage]: 0,\n            [QueryKeysEnum.transportOrdersFilters]: queryFilters,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        const queryFilters = {\n            ...selectedQueryFilters,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.transportOrdersPage]: 0,\n            [QueryKeysEnum.transportOrdersFilters]: queryFilters,\n        });\n\n        hideFilters();\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.transportOrdersFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.transportOrdersPage]: 0,\n            [QueryKeysEnum.transportOrdersFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.searchText]: searchText || undefined,\n        });\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(orders, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        if (hasProfileVerificationProblem) {\n            return (\n                <TableMessage\n                    testSelector=\"verification-problem\"\n                    iconType={TableMessageIconsEnum.warning}\n                    title={t('common:transport-orders-page.table.messages.verification-problem.title')}\n                    description={t('common:transport-orders-page.table.messages.verification-problem.description')}\n                    isShowAction\n                    actionTitle={t('common:transport-orders-page.table.messages.verification-problem.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={goToProfile || noop}\n                />\n            );\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters(\n            [queryFilters[QueryFiltersKeysEnum.quickFilter]],\n            [omit(queryFilters, [QueryFiltersKeysEnum.quickFilter])],\n        );\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('common:transport-orders-page.table.messages.not-found.title')}\n                    description={t('common:transport-orders-page.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('common:transport-orders-page.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('common:transport-orders-page.table.messages.not-found-only-primary-filters.title')}\n                    description=\"\"\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('common:transport-orders-page.table.messages.empty.title')}\n                testSelector=\"empty\"\n                isShowAction={false}\n            />\n        );\n    };\n\n    return (\n        <>\n            <ContentMargins>\n                <ListPageLayout>\n                    {orderQuickFilterOptions && (\n                        <ListPageHeaderTabsLayout>\n                            <QuickFiltersButtonGroups\n                                options={orderQuickFilterOptions}\n                                revertSeparatorIndexes={orderQuickFilterOptionSeparators}\n                                selectedId={queryFilters[QueryFiltersKeysEnum.quickFilter]}\n                                onSelect={handleSetStatusFilter}\n                                moreStatusesLabel={t('common:transport-orders-page.status-filter.more-statuses')}\n                            />\n                        </ListPageHeaderTabsLayout>\n                    )}\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                <FiltersTrigger\n                                    title={t('common:transport-orders-page.filters.trigger')}\n                                    isActive={isShowFilters}\n                                    onClick={showFilters}\n                                />\n                                <TransportOrderTypeDropdown\n                                    isSelectedDedicated={!!queryFilters[QueryFiltersKeysEnum.dedicated]}\n                                    isSelectedSpot={!!queryFilters[QueryFiltersKeysEnum.spot]}\n                                    onSelect={({ isSelectedSpot, isSelectedDedicated }) => {\n                                        updateQueryFilters({\n                                            [QueryFiltersKeysEnum.spot]: isSelectedSpot || undefined,\n                                            [QueryFiltersKeysEnum.dedicated]: isSelectedDedicated || undefined,\n                                        });\n                                    }}\n                                />\n                                <WarningsFilter\n                                    stat={stat}\n                                    queryFilters={queryFilters}\n                                    onQueryFiltersChange={updateQueryFilters}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                                <SearchControl\n                                    placeholder={t('common:transport-orders-page.filters.placeholders.search')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                    />\n                    {hasProfileVerificationProblem && (\n                        <VerificationAlert\n                            className={cx('verification-alert')}\n                            actionText={t('inline-alerts.verification-company-problem.action')}\n                            message={t('inline-alerts.verification-company-problem.message')}\n                            onClickAction={goToProfile}\n                        />\n                    )}\n                    {renderTableMessage()}\n                    <TransportOrdersTable\n                        orders={orders}\n                        goToTransportOrderDetails={onOpenTransportOrderDetails}\n                        isLoading={requestStatus?.loading}\n                    />\n                </ListPageLayout>\n            </ContentMargins>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n            <SideBar isShow={isShowFilters} onClose={hideFilters}>\n                {(onClose) => (\n                    <FiltersSidebarContent\n                        onClose={onClose}\n                        queryFilters={queryFilters}\n                        setQueryFilters={handleSetQueryFilters}\n                    />\n                )}\n            </SideBar>\n        </>\n    );\n});\n\nexport default TransportOrderListPageLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"position\":\"ContactSidebarHeader__position___LrtG1\",\"fadeIn\":\"ContactSidebarHeader__fadeIn___eu_Uj\",\"blinking\":\"ContactSidebarHeader__blinking___MOyCx\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './Widget.scss';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    title: React.ReactNode;\n    afterTitleNode?: React.ReactNode;\n    titleTooltipNode?: React.ReactNode;\n    rightNode?: React.ReactNode;\n    className?: string;\n};\n\nconst Widget: React.FC<PropsT> = React.memo((props) => {\n    const { title, afterTitleNode, titleTooltipNode, rightNode, className, children } = props;\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <div className={cx('header')}>\n                <div className={cx('left-node')}>\n                    <div className={cx('title')}>{title}</div>\n                    {titleTooltipNode && (\n                        <Tooltip\n                            className={cx('tooltip')}\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={titleTooltipNode}\n                        >\n                            {(isShow) => <TooltipIconTrigger isShow={isShow} />}\n                        </Tooltip>\n                    )}\n                    {afterTitleNode}\n                </div>\n                <div className={cx('right-node')}>{rightNode}</div>\n            </div>\n            <div className={cx('content')}>{children}</div>\n        </div>\n    );\n});\n\nexport default Widget;\n","import { combineReducers } from 'redux';\n\nimport ratesReducer from './rates/reducer';\nimport rulesReducer from './rules/reducer';\nimport systemSettingsReducer from './system-settings/reducer';\nimport additionalServicesReducer from './additional-services/reducer';\n\nimport { RatesStateT } from './rates/types';\nimport { RulesStateT } from './rules/types';\nimport { SystemSettingsStateT } from './system-settings/types';\nimport { AdditionalServicesStateT } from './additional-services/types';\n\nexport default combineReducers({\n    rates: ratesReducer,\n    rules: rulesReducer,\n    systemSettings: systemSettingsReducer,\n    additionalServices: additionalServicesReducer,\n});\n\nexport type PriceSettingsStateT = {\n    rates: RatesStateT;\n    rules: RulesStateT;\n    systemSettings: SystemSettingsStateT;\n    additionalServices: AdditionalServicesStateT;\n};\n","import * as React from 'react';\nimport { checkHasAnyErrors } from 'common/utils/form-helpers';\n\ntype FormFieldT = string;\ntype FormErrorT = string | string[];\n\nexport const useWatchFormAnyErrors = (errorsMap: Record<FormFieldT, FormErrorT>): boolean => {\n    const hasErrors = React.useMemo(() => {\n        return checkHasAnyErrors(errorsMap);\n    }, [errorsMap]);\n\n    return hasErrors;\n};\n","import * as React from 'react';\nimport { useSyncPointsChannels } from '../hooks/use-sync-points-channels';\nimport { RoutePointFormValuesT } from '../constants';\n\ntype PropsT = {\n    formikArrayHelpers: {\n        insert: (index: number, value: RoutePointFormValuesT) => void;\n        remove: (index: number) => void;\n        move: (from: number, to: number) => void;\n    };\n};\n\nconst SyncPointsWatcher: React.FC<PropsT> = React.memo((props) => {\n    useSyncPointsChannels(props.formikArrayHelpers);\n\n    return null;\n});\n\nexport default SyncPointsWatcher;\n","import { VehicleIdT, VehicleScheduleHashT, VehicleScheduleT } from './models';\n\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { CancelUnavailableVehicleQueryT, SetUnavailableVehicleQueryT } from 'common/utils/api/models';\n\nexport const FETCH_VEHICLE_SCHEDULE_REQUEST = 'common/vehicle-schedules/FETCH_VEHICLE_SCHEDULE_REQUEST';\nexport const FETCH_VEHICLE_SCHEDULE_REQUEST_BEGIN = 'common/vehicle-schedules/FETCH_VEHICLE_SCHEDULE_REQUEST_BEGIN';\nexport const FETCH_VEHICLE_SCHEDULE_REQUEST_SUCCESS = 'common/vehicle-schedules/FETCH_VEHICLE_SCHEDULE_REQUEST_SUCCESS';\nexport const FETCH_VEHICLE_SCHEDULE_REQUEST_ERROR = 'common/vehicle-schedules/FETCH_VEHICLE_SCHEDULE_REQUEST_ERROR';\nexport const SET_UNAVAILABLE_VEHICLE_REQUEST = 'common/vehicle-schedules/SET_UNAVAILABLE_VEHICLE_REQUEST';\nexport const SET_UNAVAILABLE_VEHICLE_REQUEST_BEGIN = 'common/vehicle-schedules/SET_UNAVAILABLE_VEHICLE_REQUEST_BEGIN';\nexport const SET_UNAVAILABLE_VEHICLE_REQUEST_ERROR = 'common/vehicle-schedules/SET_UNAVAILABLE_VEHICLE_REQUEST_ERROR';\nexport const SET_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS =\n    'common/vehicle-schedules/SET_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS';\nexport const CANCEL_UNAVAILABLE_VEHICLE_REQUEST = 'common/vehicle-schedules/CANCEL_UNAVAILABLE_VEHICLE_REQUEST';\nexport const CANCEL_UNAVAILABLE_VEHICLE_REQUEST_BEGIN =\n    'common/vehicle-schedules/CANCEL_UNAVAILABLE_VEHICLE_REQUEST_BEGIN';\nexport const CANCEL_UNAVAILABLE_VEHICLE_REQUEST_ERROR =\n    'common/vehicle-schedules/CANCEL_UNAVAILABLE_VEHICLE_REQUEST_ERROR';\nexport const CANCEL_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS =\n    'common/vehicle-schedules/CANCEL_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS';\n\nexport type SetUnavailableVehicleRequestActionT = {\n    type: typeof SET_UNAVAILABLE_VEHICLE_REQUEST;\n    query: SetUnavailableVehicleQueryT;\n    companyId: CompanyIdT;\n};\n\nexport type SetUnavailableVehicleRequestBeginActionT = {\n    type: typeof SET_UNAVAILABLE_VEHICLE_REQUEST_BEGIN;\n};\n\nexport type SetUnavailableVehicleRequestErrorActionT = {\n    type: typeof SET_UNAVAILABLE_VEHICLE_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type SetUnavailableVehicleRequestSuccessActionT = {\n    type: typeof SET_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS;\n};\n\nexport type CancelUnavailableVehicleRequestActionT = {\n    type: typeof CANCEL_UNAVAILABLE_VEHICLE_REQUEST;\n    query: CancelUnavailableVehicleQueryT;\n    companyId: CompanyIdT;\n};\n\nexport type CancelUnavailableVehicleRequestBeginActionT = {\n    type: typeof CANCEL_UNAVAILABLE_VEHICLE_REQUEST_BEGIN;\n};\n\nexport type CancelUnavailableVehicleRequestErrorActionT = {\n    type: typeof CANCEL_UNAVAILABLE_VEHICLE_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type CancelUnavailableVehicleRequestSuccessActionT = {\n    type: typeof CANCEL_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS;\n};\n\nexport type FetchVehicleScheduleActionT = {\n    type: typeof FETCH_VEHICLE_SCHEDULE_REQUEST;\n    vehicleId: VehicleIdT;\n    aroundDate?: ISODateTimeT | null;\n    options?: FetchOptionsT;\n};\n\nexport type FetchVehicleScheduleBeginActionT = {\n    type: typeof FETCH_VEHICLE_SCHEDULE_REQUEST_BEGIN;\n    hash: VehicleScheduleHashT;\n};\n\nexport type FetchVehicleScheduleSuccessActionT = {\n    type: typeof FETCH_VEHICLE_SCHEDULE_REQUEST_SUCCESS;\n    hash: VehicleScheduleHashT;\n    schedule: VehicleScheduleT;\n};\n\nexport type FetchVehicleScheduleErrorActionT = {\n    type: typeof FETCH_VEHICLE_SCHEDULE_REQUEST_ERROR;\n    error: Error;\n    hash: VehicleScheduleHashT;\n};\n\nexport type VehicleSchedulesActionT =\n    | SetUnavailableVehicleRequestActionT\n    | SetUnavailableVehicleRequestBeginActionT\n    | SetUnavailableVehicleRequestErrorActionT\n    | SetUnavailableVehicleRequestSuccessActionT\n    | CancelUnavailableVehicleRequestActionT\n    | CancelUnavailableVehicleRequestBeginActionT\n    | CancelUnavailableVehicleRequestErrorActionT\n    | CancelUnavailableVehicleRequestSuccessActionT\n    | FetchVehicleScheduleActionT\n    | FetchVehicleScheduleBeginActionT\n    | FetchVehicleScheduleSuccessActionT\n    | FetchVehicleScheduleErrorActionT;\n\nexport type VehicleScheduleStateT = {\n    schedule: VehicleScheduleT;\n    fetchRequestStatus: RequestStatusT;\n};\n\nexport type VehicleSchedulesStateT = {\n    setUnavailableRequest: RequestStatusT;\n    cancelUnavailableRequest: RequestStatusT;\n    byHash: Record<VehicleScheduleHashT, VehicleScheduleStateT>;\n};\n","import { PartnerTypeEnum, RolesEnum } from 'common/utils/api/models';\n\nexport const ALL_ROLES_BY_PARTNER_TYPE: Record<PartnerTypeEnum, RolesEnum[]> = {\n    [PartnerTypeEnum.carrier]: [RolesEnum.user, RolesEnum.companyAdmin],\n    [PartnerTypeEnum.shipper]: [RolesEnum.user, RolesEnum.companyAdmin],\n    [PartnerTypeEnum.broker]: [RolesEnum.companyAdmin, RolesEnum.keyAccountManager, RolesEnum.dispatcher],\n    // DEPRECATED ROLES: RolesEnum.customService\n};\n\nexport enum AuthProfileTypeEnum {\n    shipper = 'shipper',\n    carrier = 'carrier',\n    broker = 'broker',\n}\n\nexport const ALL_AUTH_PROFILE_TYPES = Object.values(AuthProfileTypeEnum);\n","// extracted by mini-css-extract-plugin\nexport default {\"field-value\":\"ReadOnlyFieldValue__field-value___ImI3P\",\"field-value--withInputLayout\":\"ReadOnlyFieldValue__field-value--withInputLayout___rUAcu\",\"field-value__icon\":\"ReadOnlyFieldValue__field-value__icon___icA4H\",\"field-value__label\":\"ReadOnlyFieldValue__field-value__label___yKuYG\",\"field-value__label--hasValue\":\"ReadOnlyFieldValue__field-value__label--hasValue___aoRlK\",\"field-value__right-node\":\"ReadOnlyFieldValue__field-value__right-node___GemYv\",\"unit\":\"ReadOnlyFieldValue__unit___tEIYe\",\"fadeIn\":\"ReadOnlyFieldValue__fadeIn___Q37yR\",\"blinking\":\"ReadOnlyFieldValue__blinking___b7Ubu\"};","import React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { ApiTruckDictTypeT } from 'common/utils/api/models';\n\nimport styles from './TruckModelDropdown.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectTrucksDict, selectTrucksDictRequest } from 'common/store/trucks-dict/selectors';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport { fetchTrucksDict } from 'common/store/trucks-dict/actions';\nimport { getTruckDictTypeLabel } from 'common/store/trucks-dict/utils';\nimport TruckIcon, { TruckIconProps } from 'common/icons/TruckIcon';\n\nexport enum TruckIconTypesEnum {\n    default = 'default',\n}\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiTruckDictTypeT | null | undefined;\n\ntype PropsT = {\n    placeholder?: string;\n    value: ValueT;\n    isDisabled?: boolean;\n    onChange: (value: ValueT) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n};\n\nexport type OptionT = {\n    value: ValueT;\n    label: string;\n    iconType: TruckIconTypesEnum | null;\n};\n\nconst TruckModelDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        value,\n        placeholder,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasClearControl,\n    } = props;\n\n    const trucksDict = useSelector(selectTrucksDict);\n    const trucksDictList = Object.values(trucksDict || {});\n    const fetchRequest = useSelector(selectTrucksDictRequest);\n\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchTrucksDict());\n    }, [dispatch]);\n\n    const trucksOptions = React.useMemo(\n        () =>\n            trucksDictList.map((truck) => {\n                return {\n                    value: truck.id,\n                    iconType: null,\n                    label: getTruckDictTypeLabel(truck),\n                };\n            }),\n        [trucksDictList],\n    );\n\n    const renderOption = (option: OptionT | null | undefined): React.ReactElement | null => {\n        if (!option) {\n            return null;\n        }\n\n        return (\n            <div className={cx('option')} key={option.label}>\n                {option.label}\n            </div>\n        );\n    };\n\n    const handleSelect = (value: ValueT): void => {\n        onChange(value);\n    };\n\n    const handleReset = (): void => {\n        onChange(null);\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.value;\n\n    return (\n        <DropdownInput\n            selectedValue={value}\n            placeholder={placeholder}\n            options={trucksOptions}\n            onSelect={handleSelect}\n            isDisabled={isDisabled || fetchRequest.loading}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            hasClearControl={hasClearControl}\n            renderLeftIcon={(iconMeta) => <TruckIcon {...TruckIconProps.getControlProps(iconMeta)} />}\n            renderRightIcon={() =>\n                fetchRequest.loading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n            }\n            onReset={handleReset}\n        />\n    );\n});\n\nexport default TruckModelDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"LinkButton__button___bffxu\",\"button--isClickable\":\"LinkButton__button--isClickable___qnxja\",\"button--isDisabled\":\"LinkButton__button--isDisabled___C4IMx\",\"button--height-regular\":\"LinkButton__button--height-regular___d6zdh\",\"button--height-narrow\":\"LinkButton__button--height-narrow___cTyDY\",\"icon\":\"LinkButton__icon___GrzzA\",\"icon--isLeft\":\"LinkButton__icon--isLeft___AzCp7\",\"icon--isRight\":\"LinkButton__icon--isRight___LvQa_\",\"icon--isHidden\":\"LinkButton__icon--isHidden___Z4Ixj\",\"text\":\"LinkButton__text___SGA5_\",\"text--theme-brand-dark\":\"LinkButton__text--theme-brand-dark___XonmY\",\"text--isHidden\":\"LinkButton__text--isHidden___ivSz_\",\"border\":\"LinkButton__border___or6U9\",\"border--theme-brand-dark\":\"LinkButton__border--theme-brand-dark___JHtD4\",\"border--height-regular\":\"LinkButton__border--height-regular___FQF8y\",\"border--height-narrow\":\"LinkButton__border--height-narrow___k3Y1b\",\"inner\":\"LinkButton__inner___jZmya\",\"fadeIn\":\"LinkButton__fadeIn___NwkAk\",\"blinking\":\"LinkButton__blinking___r8KSI\"};","// extracted by mini-css-extract-plugin\nexport default {\"field-group\":\"FieldGroup__field-group___W3AQV\",\"field-group--spaces-3\":\"FieldGroup__field-group--spaces-3___KlSUU\",\"field-group--spaces-2\":\"FieldGroup__field-group--spaces-2___sb762\",\"field-group--spaces-1\":\"FieldGroup__field-group--spaces-1___tywPl\",\"field-group--is-full-width\":\"FieldGroup__field-group--is-full-width___nTUci\",\"fadeIn\":\"FieldGroup__fadeIn___qTetc\",\"blinking\":\"FieldGroup__blinking___P7G09\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './BrokerOrderTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport CreateCell from './cell-renderers/CreateCell/CreateCell';\nimport { CompanyTypeEnum } from 'common/constants';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport { BrokerOrderShortT } from 'broker-admin/store/broker-orders/models';\nimport TrailerCell from './cell-renderers/TrailerCell/TrailerCell';\nimport CostCell from 'common/components/Table/cell-renderers/CostCell/CostCell';\nimport DropOffCell from './cell-renderers/DropOffCell/DropOffCell';\nimport PickUpCell from './cell-renderers/PickUpCell/PickUpCell';\nimport IdCell from 'common/components/Table/cell-renderers/IdCell/IdCell';\nimport BrokerOrderStatusPill from 'common/components/status-pill/BrokerOrderStatusPill/BrokerOrderStatusPill';\nimport WarningIndicatorCell from 'common/components/Table/cell-renderers/WarningIndicatorCell/WarningIndicatorCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerOrders: Array<BrokerOrderShortT>;\n    className: string;\n    goToBrokerOrderDetails: (event: React.MouseEvent, brokerOrderId: BrokerOrderIdT) => void;\n    goToPartnerDetails: (companyId: CarrierIdT, companyType: CompanyTypeEnum) => void;\n    goToTrailerDetails: (companyId: CarrierIdT, trailerId: TrailerIdT) => void;\n    isLoading: boolean;\n};\n\nconst BrokerOrderTable: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrders, className, goToBrokerOrderDetails, goToPartnerDetails, goToTrailerDetails, isLoading } =\n        props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<BrokerOrderShortT, void>> = [\n        {\n            renderHeader: () => <span>{t('broker-orders.list.table.columns.id')}</span>,\n            headerClassName: cx('table__header', 'table__header--id'),\n            render: (brokerOrderShort) => <IdCell id={brokerOrderShort?.number} />,\n            className: cx('table__column', 'table__column--id'),\n            testSelector: 'id',\n        },\n        {\n            renderHeader: () => <span>{t('broker-orders.list.table.columns.pick-up')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerOrderShort) => <PickUpCell brokerOrderShort={brokerOrderShort} />,\n            className: cx('table__column', 'table__column--pickup'),\n            testSelector: 'pickup',\n        },\n        {\n            renderHeader: () => <span>{t('broker-orders.list.table.columns.drop-off')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerOrderShort) => <DropOffCell brokerOrderShort={brokerOrderShort} />,\n            className: cx('table__column', 'table__column--dropoff'),\n            testSelector: 'dropoff',\n        },\n        {\n            renderHeader: () => <span>{t('broker-orders.list.table.columns.created')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerOrderShort) => (\n                <CreateCell brokerOrderShort={brokerOrderShort} onOpenPartnerDetails={goToPartnerDetails} />\n            ),\n            className: cx('table__column', 'table__column--created'),\n            testSelector: 'created',\n        },\n        {\n            renderHeader: () => <span>{t('broker-orders.list.table.columns.cost')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerOrderShort) => {\n                return <CostCell cost={brokerOrderShort.shipperPrice} />;\n            },\n            className: cx('table__column'),\n            testSelector: 'cost',\n        },\n        {\n            renderHeader: () => <span>{t('broker-orders.list.table.columns.trailer')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerOrderShort) => (\n                <TrailerCell brokerOrderShort={brokerOrderShort} onOpenTrailerDetails={goToTrailerDetails} />\n            ),\n            className: cx('table__column', 'table__column--trailer'),\n            testSelector: 'trailer',\n        },\n        {\n            renderHeader: () => null,\n            headerClassName: cx('table__header'),\n            render: (brokerOrderShort) => (\n                <WarningIndicatorCell\n                    isShow={!!brokerOrderShort.hasWarnings}\n                    tooltipText={t('broker-orders.list.table.has-warnings')}\n                />\n            ),\n            className: cx('table__column', 'table__column--has-warnings'),\n            testSelector: 'has-warnings',\n        },\n        {\n            renderHeader: () => <span>{t('broker-orders.list.table.columns.status')}</span>,\n            headerClassName: cx('table__header'),\n            render: (brokerOrderShort) => (\n                <BrokerOrderStatusPill isSymmetrical status={brokerOrderShort.calculatedStatus} />\n            ),\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n    ];\n\n    const handleSelectRow = (event: React.MouseEvent, brokerOrderShort: BrokerOrderShortT) => {\n        if (!brokerOrderShort.id) {\n            return;\n        }\n\n        goToBrokerOrderDetails(event, brokerOrderShort.id);\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, brokerOrderShort: BrokerOrderShortT) => {\n        return {};\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<BrokerOrderShortT> tableName=\"broker-orders\" isLoading={isLoading} rows={brokerOrders}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<BrokerOrderShortT, void>\n                        testSelector=\"broker-orders\"\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        onSelectRow={handleSelectRow}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default BrokerOrderTable;\n","export enum FieldsEnum {\n    expiration = 'expiration',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.expiration]: Date | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"TrailerDetailsPage__fadeIn___ph4hm\",\"blinking\":\"TrailerDetailsPage__blinking___buLh_\"};","import { AdditionalServicesStateT } from './types';\nimport { StateT } from 'broker-admin/store/models';\n\nexport const selectAdditionalServices = (state: StateT): AdditionalServicesStateT['list'] =>\n    state.priceSettings.additionalServices.list;\n\nexport const selectUpdateAdditionalServiceRequest = (state: StateT): AdditionalServicesStateT['updateRequest'] =>\n    state.priceSettings.additionalServices.updateRequest;\n\nexport const selectFetchAdditionalServicesRequest = (state: StateT): AdditionalServicesStateT['fetchRequest'] =>\n    state.priceSettings.additionalServices.fetchRequest;\n","// extracted by mini-css-extract-plugin\nexport default {\"loader--isAbsolute\":\"SideBarLoader__loader--isAbsolute___tqFK7\",\"loader--isRelative\":\"SideBarLoader__loader--isRelative____pnyC\",\"message\":\"SideBarLoader__message___rtpIw\",\"fadeIn\":\"SideBarLoader__fadeIn___ZJN7x\",\"blinking\":\"SideBarLoader__blinking___qGY2s\"};","import React from 'react';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { EmissionClassEnum } from 'common/constants';\nimport EmissionIcon, { EmissionIconProps } from 'common/icons/EmissionIcon';\nimport { EMISSION_CLASS_I18N_MAP } from 'common/components/EmissionClassLabel/EmissionClassLabel';\nimport DropdownMultipleInput, {\n    RenderTriggerPropsT,\n} from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport { useTranslation } from 'react-i18next';\nimport DropdownBaseButtonTrigger from 'design-system/components/dropdowns/base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\n\ntype ValueT = EmissionClassEnum | null;\n\ntype PropsT = {\n    placeholder?: string;\n    values: Array<ValueT>;\n    onChange: (values: Array<ValueT>) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n};\n\ntype EmissionStandardOptionT = {\n    label: string;\n    value: ValueT;\n};\n\nconst ALL_EMISSION_STANDARDS: EmissionClassEnum[] = [EmissionClassEnum.euro5, EmissionClassEnum.euro6];\n\nconst EmissionClassMultipleDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { values, placeholder, onChange, hasWarning, hasError, hasChanges, onBlur, onFocus, hasClearControl } = props;\n\n    const { t } = useTranslation();\n\n    const options: Array<EmissionStandardOptionT> = React.useMemo(\n        () =>\n            ALL_EMISSION_STANDARDS.map((value) => ({\n                label: t(EMISSION_CLASS_I18N_MAP[value]),\n                value,\n            })),\n        [t],\n    );\n\n    const renderOption = (option: EmissionStandardOptionT | null | undefined): React.ReactElement | null => {\n        if (!option) {\n            return null;\n        }\n\n        return <div key={option.label}>{option.label}</div>;\n    };\n\n    const renderTrigger = (\n        props: RenderTriggerPropsT,\n        options: Array<EmissionStandardOptionT>,\n        placeholder: string | undefined,\n    ): React.ReactNode => {\n        if (!options?.length) {\n            return (\n                <DropdownBaseButtonTrigger\n                    {...props}\n                    isShowClearControl={false}\n                    renderLeftIcon={(iconMeta) => {\n                        return <EmissionIcon {...EmissionIconProps.getControlProps(iconMeta)} />;\n                    }}\n                >\n                    {placeholder || ''}\n                </DropdownBaseButtonTrigger>\n            );\n        }\n\n        if (options.length === 1) {\n            const firstOption = options?.[0];\n\n            return (\n                <DropdownBaseButtonTrigger\n                    {...props}\n                    renderLeftIcon={(iconMeta) => {\n                        return <EmissionIcon {...EmissionIconProps.getControlProps(iconMeta)} />;\n                    }}\n                >\n                    {firstOption?.label}\n                </DropdownBaseButtonTrigger>\n            );\n        }\n\n        return (\n            <DropdownBaseButtonTrigger\n                {...props}\n                renderLeftIcon={(iconMeta) => {\n                    return <EmissionIcon {...EmissionIconProps.getControlProps(iconMeta)} />;\n                }}\n            >\n                <DropdownMultipleInputCountLabel count={options?.length} />\n            </DropdownBaseButtonTrigger>\n        );\n    };\n\n    const handleReset = () => {\n        onChange([]);\n    };\n\n    return (\n        <DropdownMultipleInput<EmissionStandardOptionT, EmissionClassEnum | null>\n            selectedValues={values}\n            placeholder={placeholder}\n            options={options}\n            onSelect={onChange}\n            renderOption={renderOption}\n            renderTrigger={renderTrigger}\n            getOptionValue={(option: EmissionStandardOptionT) => {\n                return option.value;\n            }}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n});\n\nexport default EmissionClassMultipleDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"DictTrailerDropdown__option___B1d_Y\",\"option__icon\":\"DictTrailerDropdown__option__icon___kCLcR\",\"fadeIn\":\"DictTrailerDropdown__fadeIn___cdc5_\",\"blinking\":\"DictTrailerDropdown__blinking___w9L8i\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ContractNameCell.scss';\nimport ContractName from 'common/components/ContractName/ContractName';\n\ntype PropsT = {\n    name: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ContractNameCell: React.FC<PropsT> = React.memo((props) => {\n    const { name } = props;\n\n    return (\n        <div className={cx('name')}>\n            <ContractName name={name} />\n        </div>\n    );\n});\n\nexport default ContractNameCell;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './PartnersTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport LocationCell from './cell-renderers/LocationCell/LocationCell';\nimport TypeCell from './cell-renderers/TypeCell/TypeCell';\nimport Table, { TableColumnT, TableRowMetaT, TableRowModsEnum } from 'common/components/Table/Table';\nimport { PartnerT } from 'broker-admin/store/partners/models';\nimport ControlsCell from './cell-renderers/ControlsCell/ControlsCell';\nimport NameCell from './cell-renderers/NameCell/NameCell';\nimport ContactCell from './cell-renderers/ContactCell/ContactCell';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport { checkAllVerified } from './utils';\nimport { isNonNil } from 'common/utils';\nimport TeamsCell from './cell-renderers/TeamsCell/TeamsCell';\nimport WarningsCell from './cell-renderers/WarningsCell/WarningsCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partners: Array<PartnerT>;\n    className?: string;\n    goToPartnerDetails: (event: React.MouseEvent, partnerType: PartnerTypeEnum, partnerId: PartnerIdT) => void;\n    isLoading: boolean;\n    canDeletePartner: boolean;\n};\n\nconst PartnersTable: React.FC<PropsT> = React.memo((props) => {\n    const { partners, className, goToPartnerDetails, isLoading, canDeletePartner } = props;\n\n    const { t } = useTranslation();\n\n    const handleDelete = () => {\n        // TODO\n    };\n\n    const columns: Array<TableColumnT<PartnerT, void>> = [\n        {\n            renderHeader: () => <span>{t('partners-table.columns.name')}</span>,\n            headerClassName: cx('table__header', 'table__header--name'),\n            render: (partner: PartnerT) => <NameCell partner={partner} />,\n            className: cx('table__column', 'table__column--name'),\n        },\n        {\n            renderHeader: () => <span>{t('partners-table.columns.location')}</span>,\n            headerClassName: cx('table__header'),\n            render: (partner: PartnerT) => <LocationCell partner={partner} />,\n            className: cx('table__column', 'table__column--any'),\n        },\n        {\n            renderHeader: () => <span>{t('partners-table.columns.contact')}</span>,\n            headerClassName: cx('table__header'),\n            render: (partner: PartnerT) => <ContactCell partner={partner} />,\n            className: cx('table__column', 'table__column--сontact'),\n        },\n        {\n            renderHeader: () => <span>{t('partners-table.columns.teams')}</span>,\n            headerClassName: cx('table__header', 'table__header--teams'),\n            render: (partner: PartnerT) => <TeamsCell partner={partner} />,\n            className: cx('table__column', 'table__column--teams'),\n        },\n        {\n            renderHeader: () => <span>{t('partners-table.columns.type')}</span>,\n            headerClassName: cx('table__header', 'table__header--type'),\n            render: (partner: PartnerT) => <TypeCell partner={partner} />,\n            className: cx('table__column', 'table__column--type'),\n        },\n        {\n            renderHeader: () => null,\n            headerClassName: cx('table__header', 'table__header--warnings'),\n            render: (partner: PartnerT) => <WarningsCell partner={partner} />,\n            className: cx(\n                'table__column',\n                canDeletePartner ? 'table__column--warnings' : 'table__column--last-warnings',\n            ),\n        },\n        canDeletePartner\n            ? {\n                  renderHeader: () => null,\n                  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                  render: (partner: PartnerT) => (\n                      <>\n                          <ControlsCell onDelete={handleDelete} canDeletePartner={canDeletePartner} />\n                      </>\n                  ),\n                  className: cx('table__column', 'table__column--controls'),\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const handleSelectRow = (event: React.MouseEvent, partner: PartnerT) => {\n        goToPartnerDetails(event, partner.profileType[0] as PartnerTypeEnum, partner.id);\n    };\n\n    const getRowMods = (meta: TableRowMetaT, partner: PartnerT) => {\n        const isAllVerified = checkAllVerified(partner);\n        return {\n            [TableRowModsEnum.hasLeftGreenBorder]: false,\n            [TableRowModsEnum.hasLeftRedBorder]: false,\n            [TableRowModsEnum.hasLeftGreyBorder]: !isAllVerified,\n            [TableRowModsEnum.isSelected]: false,\n            [TableRowModsEnum.isHighlighted]: !isAllVerified,\n        };\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<PartnerT> tableName=\"partners\" isLoading={isLoading} rows={partners}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<PartnerT, void>\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        onSelectRow={handleSelectRow}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default PartnersTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"icon\":\"TooltipIconTrigger__icon___eRCY4\",\"fadeIn\":\"TooltipIconTrigger__fadeIn___L9ncV\",\"blinking\":\"TooltipIconTrigger__blinking___bo_my\"};","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RouteMap.scss';\nimport { useSelector } from 'react-redux';\nimport { selectPolylines, selectPriceOffersById, selectRFQ } from 'common/store/order-creation/selectors';\nimport MultiPointOrderRouteMap, {\n    MultiPointOrderRouteMapPropsT,\n} from 'common/components/MultiPointOrderRouteMap/MultiPointOrderRouteMap';\nimport MapFooterEstimate from 'common/layouts/NewOrderPage/MapFooterEstimate/MapFooterEstimate';\nimport { M_IN_KM } from 'common/utils/distance';\nimport { QueryKeysEnum } from 'common/constants';\nimport useQuery from 'common/utils/hooks/useQuery';\n\nconst cx = classNames.bind(styles);\n\ntype QueryT = {\n    [QueryKeysEnum.orderCreationPriceOfferId]: string;\n};\n\ntype PropsT = {};\n\nconst RouteMap: React.FC<PropsT> = React.memo(() => {\n    const polylines = useSelector(selectPolylines);\n\n    const query = useQuery<QueryT>();\n\n    const priceOffersById = useSelector(selectPriceOffersById);\n    const selectedOfferId = query[QueryKeysEnum.orderCreationPriceOfferId];\n    const selectedOffer = priceOffersById[selectedOfferId || ''] || null;\n\n    const rfq = useSelector(selectRFQ);\n\n    const mapPoints = useMemo((): MultiPointOrderRouteMapPropsT['points'] => {\n        if (rfq) {\n            return rfq.points.map((point, index) => {\n                return {\n                    longitude: point.address?.longitude,\n                    latitude: point.address?.latitude,\n                    type: point.type,\n                    index,\n                };\n            });\n        }\n\n        return null;\n    }, [rfq]);\n\n    const isLoading = !polylines?.length || !rfq;\n\n    return (\n        <div className={cx('map')}>\n            <MultiPointOrderRouteMap isLoading={isLoading} points={mapPoints} route={polylines}>\n                <MapFooterEstimate\n                    isLoading={isLoading}\n                    distanceM={selectedOffer?.distanceKm ? selectedOffer.distanceKm * M_IN_KM : undefined}\n                    travelTimeSec={selectedOffer?.travelSeconds}\n                />\n            </MultiPointOrderRouteMap>\n        </div>\n    );\n});\n\nexport default RouteMap;\n","import * as React from 'react';\nimport { memo } from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './RateSourceOption.scss';\nimport cs from 'classnames';\nimport { Trans } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\nconst ContractName = ({\n    className,\n    label,\n    labelFallback,\n}: {\n    label?: React.ReactNode;\n    labelFallback?: React.ReactNode;\n    className?: string;\n}) => {\n    return (\n        <span\n            className={cs(\n                cx('contract-name', {\n                    'contract-name--is-fallback': !label,\n                }),\n                className,\n            )}\n        >\n            {label || labelFallback || '-'}\n        </span>\n    );\n};\n\ntype PropsT = {\n    isContract: boolean;\n    isCurrentContract: boolean;\n    label?: React.ReactNode;\n    labelFallback?: React.ReactNode;\n};\n\nconst RateSourceOption: React.FC<PropsT> = memo((props) => {\n    const { isContract, isCurrentContract, label, labelFallback } = props;\n\n    if (isContract) {\n        return (\n            <Trans\n                i18nKey={\n                    isCurrentContract\n                        ? 'common:assets.activation.fields.source.current-contract-option-template'\n                        : 'common:assets.activation.fields.source.contract-option-template'\n                }\n                components={{\n                    contractName: <ContractName label={label} labelFallback={labelFallback} />,\n                }}\n            />\n        );\n    }\n\n    return <span>{label || labelFallback || null}</span>;\n});\n\nexport default RateSourceOption;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './WarningTextFormatter.scss';\n\ntype PropsT = {\n    isActive: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst WarningTextFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { isActive, children } = props;\n\n    return <span className={isActive ? cx('warning') : ''}>{children}</span>;\n});\n\nexport default WarningTextFormatter;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst LinearScaleIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M15.625 8.125c-.773 0-1.425.465-1.717 1.125h-2.19A1.876 1.876 0 0010 8.125c-.773 0-1.425.465-1.718 1.125h-2.19a1.876 1.876 0 00-1.717-1.125 1.876 1.876 0 000 3.75c.772 0 1.425-.465 1.718-1.125h2.19c.292.66.944 1.125 1.717 1.125.773 0 1.425-.465 1.717-1.125h2.19c.293.66.945 1.125 1.718 1.125a1.876 1.876 0 000-3.75z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nLinearScaleIcon.displayName = 'LinearScaleIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default LinearScaleIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"group--isGroup\":\"CheckboxTree__group--isGroup___tlLUB\",\"checkbox\":\"CheckboxTree__checkbox___ovv0K\",\"fadeIn\":\"CheckboxTree__fadeIn___zqs_A\",\"blinking\":\"CheckboxTree__blinking___g7x3p\"};","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"UserFormalDropdown__option___OKwLV\",\"fadeIn\":\"UserFormalDropdown__fadeIn___kmpws\",\"blinking\":\"UserFormalDropdown__blinking___s0kzE\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport moment from 'moment';\nimport { useTranslation } from 'react-i18next';\n\nimport styles from './PaperLayout.scss';\nimport ImageLoader from 'common/components/papers/ImageLoader/ImageLoader';\nimport Link, { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport ArrowDownIcon from 'common/icons/ArrowDownIcon';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport { DEFAULT_CARRIER_COMPANY_ID, StyleGuideColorsEnum } from 'common/constants';\nimport isString from 'lodash/isString';\nimport UploadedByLabel from './UploadedByLabel/UploadedByLabel';\nimport { ApiDeleteUnavailableReasonT, ApiPaperCreatedByRoleT, PartnerTypeEnum } from 'common/utils/api/models';\nimport { PaperPlaceholder } from 'common/components/papers/PaperLayout/PaperPlaceholder/PaperPlaceholder';\nimport { checkIsPDFFile } from 'common/utils/file-name';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isOptimistic?: boolean;\n    paperId: PaperIdT;\n    imageSrc?: string | null;\n    imageAlt?: string | null;\n    originalFileName?: string | null;\n    date?: string | null;\n    userName?: string | null;\n    userId?: UserIdT | null;\n    onOpenUserDetails?: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n    onOpenDriverDetails?: (params: { driverId: DriverIdT; partnerId: PartnerIdT }) => void;\n    createdByRole?: ApiPaperCreatedByRoleT | null;\n    onClick?: (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT) => void;\n    onDownload?: (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT) => void;\n    isDeleting?: boolean;\n    onDelete?: (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT) => void;\n    deleteUnavailableReason?: ApiDeleteUnavailableReasonT | null;\n    isUploading?: boolean;\n    isHideUserInfo?: boolean;\n    className?: string;\n};\n\nconst deleteUnavailableReasonI18nMap: Record<ApiDeleteUnavailableReasonT, string> = {\n    NO_ACCESS: 'common:papers-card.delete-unavailable-reason.NO_ACCESS',\n    LAST_DELIVERY_NOTE: 'common:papers-card.delete-unavailable-reason.LAST_DELIVERY_NOTE',\n    LAST_SIGNED_DELIVERY_NOTE: 'common:papers-card.delete-unavailable-reason.LAST_SIGNED_DELIVERY_NOTE',\n    TO_IS_CANCELED: 'common:papers-card.delete-unavailable-reason.TO_IS_CANCELED',\n    TO_IS_DONE: 'common:papers-card.delete-unavailable-reason.TO_ID_DONE',\n    SHIPMENT_IS_CANCELED: 'common:papers-card.delete-unavailable-reason.SHIPMENT_IS_CANCELED',\n    SHIPMENT_IS_DONE: 'common:papers-card.delete-unavailable-reason.SHIPMENT_IS_DONE',\n};\n\nconst PaperLayout: React.FC<PropsT> = React.memo((props) => {\n    const {\n        paperId,\n        imageSrc,\n        imageAlt,\n        originalFileName,\n        date,\n        userName,\n        userId,\n        onOpenUserDetails,\n        onOpenDriverDetails,\n        isDeleting,\n        onDelete,\n        deleteUnavailableReason,\n        onDownload,\n        createdByRole,\n        isUploading,\n        onClick,\n        className,\n        isHideUserInfo,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const formattedDate = React.useMemo(() => {\n        if (!date) {\n            return null;\n        }\n        return moment(date).format('DD.MM.YYYY, HH:mm');\n    }, [date]);\n\n    const handleOpenUserDetails = React.useCallback(() => {\n        if (!userId) {\n            return;\n        }\n\n        if (createdByRole === 'BROKER' && onOpenUserDetails) {\n            onOpenUserDetails({\n                userId,\n            });\n        } else if (createdByRole === 'SHIPPER' && onOpenUserDetails) {\n            onOpenUserDetails({\n                userId,\n            });\n        } else if (createdByRole === 'CARRIER' && onOpenUserDetails) {\n            onOpenUserDetails({\n                userId,\n            });\n        } else if (createdByRole === 'DRIVER' && onOpenDriverDetails) {\n            onOpenDriverDetails({\n                driverId: userId,\n                // The driver details section is currently available only for the carrier, so we use the default carrier company id.\n                // userId in the broker portal should be empty because the broker does not have access to driver details.\n                partnerId: DEFAULT_CARRIER_COMPANY_ID,\n            });\n        }\n    }, [userId, createdByRole, onOpenUserDetails, onOpenDriverDetails]);\n\n    const handleDelete = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>) => {\n            event.stopPropagation();\n            if (onDelete && paperId) {\n                onDelete(event, paperId);\n            }\n        },\n        [onDelete, paperId],\n    );\n\n    const handleDownload = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>) => {\n            event.stopPropagation();\n            if (onDownload && paperId) {\n                onDownload(event, paperId);\n            }\n        },\n        [onDownload, paperId],\n    );\n\n    const handleClick = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>) => {\n            if (onClick && paperId) {\n                onClick(event, paperId);\n            }\n        },\n        [onClick, paperId],\n    );\n\n    const isShowUserInfo =\n        !isHideUserInfo &&\n        ((createdByRole === 'BROKER' && onOpenUserDetails) ||\n            (createdByRole === 'SHIPPER' && onOpenUserDetails) ||\n            (createdByRole === 'CARRIER' && onOpenUserDetails) ||\n            (createdByRole === 'DRIVER' && onOpenDriverDetails));\n\n    const renderPaperThumbnail = () => {\n        const isPdfPaper = checkIsPDFFile(originalFileName);\n        if (isPdfPaper) {\n            return <PaperPlaceholder className={cx('thumbnail__img')} />;\n        }\n\n        if (imageSrc) {\n            return <ImageLoader src={imageSrc} alt={imageAlt || null} className={cx('thumbnail__img')} />;\n        }\n\n        return null;\n    };\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <div className={cs(cx('thumbnail'), { [cx('thumbnail--clickable')]: !!onClick })} onClick={handleClick}>\n                {renderPaperThumbnail()}\n                <UploadedByLabel createdByRole={createdByRole} className={cx('uploaded-by-label')} />\n                <div className={cx('controls')}>\n                    {!isDeleting && onDownload && (\n                        <Tooltip\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={\n                                <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                    {t('common:tooltips.download')}\n                                </TooltipContent>\n                            }\n                        >\n                            {() => (\n                                <TransparentTrigger\n                                    onClick={handleDownload}\n                                    reflectionTheme={ReflectionThemeEnum.light}\n                                    leftIcon={<ArrowDownIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                                    testSelector=\"download-paper\"\n                                    spaces=\"xs\"\n                                    isPressed\n                                />\n                            )}\n                        </Tooltip>\n                    )}\n                    {!isDeleting && onDelete && (\n                        <Tooltip\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={\n                                <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                    {deleteUnavailableReason\n                                        ? t(deleteUnavailableReasonI18nMap[deleteUnavailableReason])\n                                        : t('common:tooltips.remove')}\n                                </TooltipContent>\n                            }\n                        >\n                            {() => (\n                                <TransparentTrigger\n                                    onClick={handleDelete}\n                                    reflectionTheme={ReflectionThemeEnum.light}\n                                    leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                                    testSelector=\"delete-paper\"\n                                    spaces=\"xs\"\n                                    isPressed\n                                    isDisabled={Boolean(deleteUnavailableReason)}\n                                />\n                            )}\n                        </Tooltip>\n                    )}\n                </div>\n                {(isDeleting || isUploading) && (\n                    <div className={cx('loader__container', 'loader__container--is-paranja')}>\n                        <ControlLoaderWithShadow className={cx('loader')} fillColor={StyleGuideColorsEnum.light} />\n                    </div>\n                )}\n            </div>\n            <div className={cx('details')}>\n                <div className={cx('details__file-name')} title={originalFileName || undefined}>\n                    {originalFileName}\n                </div>\n                {isString(formattedDate) && <div className={cx('details__date')}>{formattedDate}</div>}\n                {isShowUserInfo && isString(userName) && (\n                    <>\n                        {userId && onOpenUserDetails ? (\n                            <Link\n                                onClick={handleOpenUserDetails}\n                                theme={LinkThemeEnum.boldBrandDark}\n                                size={LinkSizeEnum.preExtraSmall}\n                                className={cx('details__user-link')}\n                            >\n                                {userName}\n                            </Link>\n                        ) : (\n                            <span className={cx('details__user-text')}>{userName}</span>\n                        )}\n                    </>\n                )}\n            </div>\n        </div>\n    );\n});\n\nexport default PaperLayout;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\nexport type RevokeShipperLaneConfirmationDataT = {\n    partnerId: PartnerIdT;\n    shipperContractId: ShipperContractIdT;\n    laneId: ShipperContractLaneIdT;\n    laneNumber: string;\n};\n\ntype PropsT = {\n    data: RevokeShipperLaneConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: RevokeShipperLaneConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'revoke-shipper-lane-confirmation';\n\nconst RevokeShipperLaneConfirmationModal: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.revoke'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:shipper-lane-details.dialogs.revoke.title', {\n                        number: data.laneNumber,\n                    })}\n                    message={t('common:shipper-lane-details.dialogs.revoke.message')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default RevokeShipperLaneConfirmationModal;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './DropdownControlTriggerLabel.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    label: React.ReactNode;\n    icon?: React.ReactNode;\n};\n\nconst DropdownControlTriggerLabel: React.FC<PropsT> = (props) => {\n    const { label, icon } = props;\n\n    return (\n        <div className={cx('option')}>\n            {icon && <div className={cx('option__icon')}>{icon}</div>}\n            <div className={cx('option__label')}>{label}</div>\n        </div>\n    );\n};\n\nexport default DropdownControlTriggerLabel;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport {\n    DEFAULT_TIME_WINDOW_PICKER_SETTINGS,\n    FieldsEnum,\n    FormValuesT,\n    RangeIdSetEnum,\n    RoutePointFieldsEnum,\n} from '../constants';\nimport { ReservePreviewT, ReserveT } from 'common/store/order-creation/models';\nimport {\n    convertReserveTimeWindowToRelativeTimeWindow,\n    createReserveTimeWindow,\n    setDateForReserveTimeWindow,\n    setTimeWindowForReserveTimeWindow,\n    suggestLastTimeWindowOfDay,\n} from 'common/layouts/NewOrderPage/ShipmentDetailsForm/utils';\nimport { useSelector } from 'react-redux';\nimport { ALL_DAY_RANGE, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport {\n    OnChangeRoutePointReserveT,\n    TimeWindowPickerSettingsT,\n} from 'common/layouts/NewOrderPage/ShipmentDetailsForm/models';\nimport { RangeSelectorMarkT, RangeSelectorRangeT } from 'common/components/RangeSelector/RangeSelector';\nimport { isNonNil } from 'common/utils';\nimport { clearDateTimezone, getMaxISODate, MS_IN_MIN } from 'common/utils/time';\nimport { RangeSelectorZoneThemeEnum } from 'common/components/RangeSelector/constants';\nimport {\n    selectMaxWindowSizeMs,\n    selectMinWindowSizeMs,\n    selectTimeWindowQuantumMs,\n} from 'common/store/settings/selectors';\nimport { useTranslation } from 'react-i18next';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport noop from 'lodash/noop';\nimport TimeIntervalDurationPillLabel from 'common/layouts/NewOrderPage/ShipmentDetailsForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel';\nimport QuickTimeWindowLink from 'common/layouts/NewOrderPage/ShipmentDetailsForm/QuickTimeWindowLink/QuickTimeWindowLink';\nimport Switcher, { SwitcherThemeEnum } from 'common/components/Switcher/Switcher';\nimport { useFormikContext } from 'formik';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './PickupOrDeliveryRoutePointPicker.scss';\nimport TimeWindowPicker from 'common/components/range-selectors/TimeWindowPicker/TimeWindowPicker';\nimport DeleteWaypointTrigger from 'common/layouts/NewOrderPage/ShipmentDetailsForm/DeleteWaypointTrigger/DeleteWaypointTrigger';\nimport WaypointNumberIcon from 'common/layouts/NewOrderPage/ShipmentDetailsForm/WaypointNumberIcon/WaypointNumberIcon';\nimport { SyncShipmentDetailsFormMapStateContext } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-map-state';\nimport LinkDatePicker, {\n    DatePickerOverlayPositionEnum,\n} from 'design-system/components/date-pickers/LinkDatePicker/LinkDatePicker';\nimport { CalendarDateValueT } from 'design-system/components/Calendar/Calendar';\nimport moment from 'moment';\nimport { useSelectedLane } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-selected-lane';\nimport isEqual from 'lodash/isEqual';\nimport CalendarAltIcon from 'common/icons/CalendarAltIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport TimeIntervalLimitPillLabel from 'common/layouts/NewOrderPage/ShipmentDetailsForm/TimeIntervalLimitPillLabel/TimeIntervalLimitPillLabel';\nimport TimeWindowZoneText from './TimeWindowZoneText/TimeWindowZoneText';\nimport TeamDriveIcon, { TeamDriveIconProps } from 'common/icons/TeamDriveIcon';\nimport UrgentIcon, { UrgentIconProps } from 'common/icons/UrgentIcon';\nimport HourglassIcon, { HourglassIconProps } from 'common/icons/HourglassIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    label: React.ReactNode;\n    routePointIndex: number;\n    previewReserve: ReservePreviewT | null;\n    reserve: ReserveT | null;\n    onRemove: (index: number) => void;\n    isAllowRemove: boolean;\n    onManualSelectLocation: (location: LocationT | null, routePointIndex: number) => void;\n    onChangeRoutePointReserve: OnChangeRoutePointReserveT;\n    onResetRoutePointLocation: () => void;\n    isDisabledPreviewReserve?: boolean;\n    isShowSuggestLoading?: boolean;\n    hasSelectedAnyTeamDrive?: boolean;\n};\n\nconst surchargeRangeTypeSet = new Set<string>([\n    RangeIdSetEnum.urgentPickUp,\n    RangeIdSetEnum.teamDriveDropOff,\n    RangeIdSetEnum.layoverDropOff,\n    RangeIdSetEnum.broker,\n]);\n\nconst PickupOrDeliveryRoutePointPicker: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        previewReserve,\n        onRemove,\n        reserve,\n        isAllowRemove,\n        label,\n        onManualSelectLocation,\n        onChangeRoutePointReserve,\n        isDisabledPreviewReserve,\n        isShowSuggestLoading,\n        hasSelectedAnyTeamDrive,\n        onResetRoutePointLocation,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const currentPointTimeWindow = previewReserve?.timeWindows?.[routePointIndex] || null;\n\n    const syncShipmentDetailsFormMapStateContext = React.useContext(SyncShipmentDetailsFormMapStateContext);\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const fakeIdFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.fakeId}` as const;\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n    const isBrokerTimeWindowFieldName =\n        `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.isBrokerTimeWindow}` as const;\n    const selectedIsBrokerTimeWindow = getFieldFormValue(formik.values, isBrokerTimeWindowFieldName);\n    const selectedTimeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n    const fakeId = getFieldFormValue(formik.values, fakeIdFieldName);\n\n    const timeWindowQuantumMs = useSelector(selectTimeWindowQuantumMs);\n\n    const minWindowSizeMs = useSelector(selectMinWindowSizeMs);\n    const maxWindowSizeMs = useSelector(selectMaxWindowSizeMs);\n\n    const minRangeTimeWindow = minWindowSizeMs - MS_IN_MIN;\n    const maxRangeTimeWindow = maxWindowSizeMs + MS_IN_MIN;\n\n    const teamDriveMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <TeamDriveIcon {...TeamDriveIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const urgentPickUpMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <UrgentIcon {...UrgentIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const layoverMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <HourglassIcon {...HourglassIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const teamDriveDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.teamDriveDropOff,\n            label: t('common:time-windows-types.team-drive'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const regularDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.regularDropOff,\n            theme: null,\n        }),\n        [],\n    );\n\n    const brokerAppointmentDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.broker,\n            theme: RangeSelectorZoneThemeEnum.orange,\n            label: t('common:time-windows-types.broker-appointment'),\n        }),\n        [t],\n    );\n\n    const urgentPickUpRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.urgentPickUp,\n            label: t('common:time-windows-types.urgent'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const regularPickUpRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.regularPickUp,\n            theme: null,\n        }),\n        [],\n    );\n\n    const layoverDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.layoverDropOff,\n            label: t('common:time-windows-types.layover'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const brokerAppointmentPickUpRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.broker,\n            theme: RangeSelectorZoneThemeEnum.orange,\n            label: t('common:time-windows-types.broker-appointment'),\n        }),\n        [t],\n    );\n\n    const renderZoneTextNode = React.useCallback((currentRanges: RangeSelectorRangeT[] | null) => {\n        const surchargeCurrentRanges = currentRanges?.filter((range) => {\n            return range && surchargeRangeTypeSet.has(range.id);\n        });\n\n        if (!surchargeCurrentRanges?.length) {\n            return null;\n        }\n\n        return <TimeWindowZoneText currentRanges={surchargeCurrentRanges} />;\n    }, []);\n\n    const settings = React.useMemo<TimeWindowPickerSettingsT>(() => {\n        const isFirstTimeWindow = routePointIndex === 0;\n\n        if (!previewReserve || !selectedTimeWindow) {\n            return DEFAULT_TIME_WINDOW_PICKER_SETTINGS;\n        }\n\n        const baseDate = selectedTimeWindow.start;\n\n        const availableValuesStart =\n            currentPointTimeWindow?.urgentTimeWindow?.start || currentPointTimeWindow?.regularTimeWindow?.start;\n        if (!availableValuesStart) {\n            return DEFAULT_TIME_WINDOW_PICKER_SETTINGS;\n        }\n\n        const availableValuesEnd =\n            currentPointTimeWindow?.layoverTimeWindow?.end || currentPointTimeWindow?.regularTimeWindow?.end || null;\n\n        const availableValues = suggestLastTimeWindowOfDay(\n            {\n                start: availableValuesStart,\n                end: availableValuesEnd,\n            },\n            baseDate,\n        );\n\n        const urgentTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(currentPointTimeWindow?.urgentTimeWindow || null, baseDate),\n        );\n\n        const regularTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(currentPointTimeWindow?.regularTimeWindow || null, baseDate),\n        );\n\n        const layoverTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(currentPointTimeWindow?.layoverTimeWindow || null, baseDate),\n        );\n\n        const brokerAppointmentTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(currentPointTimeWindow?.brokerAppointmentTimeWindow || null, baseDate),\n        );\n\n        const marks: Array<RangeSelectorMarkT> = [];\n\n        if (layoverTimeWindow) {\n            marks.push({\n                ...layoverMark,\n                value: layoverTimeWindow[0],\n            });\n        }\n\n        const timeWindowRanges: RangeSelectorRangeT[] = [\n            urgentTimeWindow\n                ? {\n                      ...(isFirstTimeWindow ? urgentPickUpRange : teamDriveDropOffRange),\n                      values: urgentTimeWindow,\n                      marks: [\n                          {\n                              ...(isFirstTimeWindow ? urgentPickUpMark : teamDriveMark),\n                              value: urgentTimeWindow[0],\n                          },\n                      ],\n                  }\n                : null,\n            regularTimeWindow\n                ? {\n                      ...(isFirstTimeWindow ? regularPickUpRange : regularDropOffRange),\n                      values: regularTimeWindow,\n                  }\n                : null,\n            layoverTimeWindow\n                ? {\n                      ...layoverDropOffRange,\n                      values: layoverTimeWindow,\n                      isHidden: true,\n                      marks: [\n                          {\n                              ...layoverMark,\n                              value: layoverTimeWindow[0],\n                          },\n                      ],\n                  }\n                : null,\n        ].filter(isNonNil);\n\n        const brokerTimeWindowRanges: RangeSelectorRangeT[] = [\n            brokerAppointmentTimeWindow\n                ? {\n                      values: brokerAppointmentTimeWindow,\n                      ...(isFirstTimeWindow ? brokerAppointmentPickUpRange : brokerAppointmentDropOffRange),\n                  }\n                : null,\n        ].filter(isNonNil);\n\n        const brokerAvailableValuesStart =\n            routePointIndex !== 0 && hasSelectedAnyTeamDrive\n                ? currentPointTimeWindow?.urgentTimeWindow?.start ?? currentPointTimeWindow?.regularTimeWindow?.start\n                : currentPointTimeWindow?.regularTimeWindow?.start;\n        const brokerAvailableValuesEnd = currentPointTimeWindow?.regularTimeWindow?.end || null;\n\n        const brokerAvailableValues = brokerAvailableValuesStart\n            ? suggestLastTimeWindowOfDay(\n                  {\n                      start: brokerAvailableValuesStart,\n                      end: brokerAvailableValuesEnd,\n                  },\n                  baseDate,\n              )\n            : null;\n\n        const settings: TimeWindowPickerSettingsT = {\n            availableValues: convertReserveTimeWindowToRelativeTimeWindow(availableValues) || ALL_DAY_RANGE,\n            brokerAvailableValues: convertReserveTimeWindowToRelativeTimeWindow(brokerAvailableValues) || ALL_DAY_RANGE,\n            brokerTimeWindowRanges,\n            timeWindowRanges,\n            marks,\n        };\n\n        return settings;\n    }, [\n        currentPointTimeWindow,\n        layoverDropOffRange,\n        layoverMark,\n        teamDriveMark,\n        urgentPickUpMark,\n        previewReserve,\n        selectedTimeWindow,\n        routePointIndex,\n        teamDriveDropOffRange,\n        regularDropOffRange,\n        brokerAppointmentDropOffRange,\n        urgentPickUpRange,\n        regularPickUpRange,\n        brokerAppointmentPickUpRange,\n        hasSelectedAnyTeamDrive,\n    ]);\n\n    const relativeTimeWindow = useMemo((): TimeWindowT | null => {\n        return convertReserveTimeWindowToRelativeTimeWindow(selectedTimeWindow);\n    }, [selectedTimeWindow]);\n\n    const handleChangeTimeWindow = (value: TimeWindowT) => {\n        const newTimeWindow = setTimeWindowForReserveTimeWindow(value, selectedTimeWindow);\n\n        formik.setFieldValue(timeWindowFieldName, newTimeWindow);\n\n        onChangeRoutePointReserve(fakeId, {\n            [RoutePointFieldsEnum.timeWindow]: newTimeWindow,\n        });\n    };\n\n    const handlePickTargetTime = (start: ISODateTimeT | null | undefined) => {\n        if (!start) {\n            return;\n        }\n\n        const newTimeWindow = createReserveTimeWindow(start, minWindowSizeMs);\n\n        formik.setFieldValue(timeWindowFieldName, newTimeWindow);\n\n        onChangeRoutePointReserve(fakeId, {\n            [RoutePointFieldsEnum.timeWindow]: newTimeWindow,\n        });\n    };\n\n    const hasViolation = reserve?.points?.[routePointIndex]?.violated;\n\n    const selectedDate = React.useMemo(() => {\n        if (!selectedTimeWindow) {\n            return null;\n        }\n\n        return moment(clearDateTimezone(selectedTimeWindow.start)).toDate();\n    }, [selectedTimeWindow]);\n\n    const selectedLaneId = formik.values[FieldsEnum.laneId];\n    const selectedLane = useSelectedLane(selectedLaneId);\n\n    const allowedTimeWindowStart = useMemo(() => {\n        if (selectedIsBrokerTimeWindow) {\n            return currentPointTimeWindow?.brokerAppointmentTimeWindow?.start || null;\n        }\n\n        return currentPointTimeWindow?.urgentTimeWindow?.start || currentPointTimeWindow?.regularTimeWindow?.start;\n    }, [selectedIsBrokerTimeWindow, currentPointTimeWindow]);\n\n    const minDate = getMaxISODate(selectedLane?.validFrom, allowedTimeWindowStart);\n    const maxDate =\n        (currentPointTimeWindow?.layoverTimeWindow\n            ? currentPointTimeWindow?.layoverTimeWindow?.end\n            : currentPointTimeWindow?.regularTimeWindow?.end) || undefined;\n\n    const handleChangeDate = (date: CalendarDateValueT): void => {\n        if (!date) {\n            formik.setFieldValue(timeWindowFieldName, null);\n            return;\n        }\n\n        let newTimeWindow = setDateForReserveTimeWindow(date, selectedTimeWindow);\n\n        if (newTimeWindow && currentPointTimeWindow && selectedIsBrokerTimeWindow) {\n            newTimeWindow = suggestLastTimeWindowOfDay(\n                currentPointTimeWindow.regularTimeWindow\n                    ? {\n                          start: currentPointTimeWindow.regularTimeWindow.start,\n                          end:\n                              currentPointTimeWindow.layoverTimeWindow?.end ||\n                              currentPointTimeWindow.regularTimeWindow.end,\n                      }\n                    : null,\n                newTimeWindow.start,\n            );\n        }\n\n        const isSameValue = isEqual(newTimeWindow, selectedTimeWindow);\n        if (isSameValue) {\n            return;\n        }\n\n        formik.setFieldValue(timeWindowFieldName, newTimeWindow);\n\n        onChangeRoutePointReserve(fakeId, {\n            [RoutePointFieldsEnum.timeWindow]: newTimeWindow,\n        });\n    };\n\n    const isDisabledTimeSlots = !settings.brokerTimeWindowRanges?.length;\n\n    return (\n        <>\n            <div className={cs(cx('time-picker'), className)}>\n                <FormikConnectContextField<FormValuesT, typeof locationFieldName>\n                    name={locationFieldName}\n                    label={label}\n                    fieldLabelClassName={cx('field', 'field--location')}\n                    subLabel={\n                        <>\n                            <TimeIntervalDurationPillLabel\n                                className={cx('time-interval', {\n                                    'time-interval--isHalfOpacity': isDisabledPreviewReserve,\n                                })}\n                                i18nKey={selectedIsBrokerTimeWindow ? 'common:new-order-form.time-interval' : null}\n                                isDayRelative\n                                timeWindow={relativeTimeWindow}\n                            />\n                            <TimeIntervalLimitPillLabel\n                                className={cx('time-interval', {\n                                    'time-interval--isHalfOpacity': isDisabledPreviewReserve,\n                                })}\n                                timeWindow={relativeTimeWindow}\n                            />\n                        </>\n                    }\n                    warning={hasViolation ? t('common:new-order-form.warnings.check-route-points') : null}\n                    labelRightNode={\n                        <div className={cx('right-node')}>\n                            <QuickTimeWindowLink\n                                isDisabled={isDisabledPreviewReserve}\n                                values={selectedIsBrokerTimeWindow ? null : relativeTimeWindow}\n                                routePointIndex={routePointIndex}\n                                ranges={settings?.timeWindowRanges || []}\n                                reservePreview={previewReserve}\n                                onClick={handlePickTargetTime}\n                            />\n                            {selectedDate && (\n                                <LinkDatePicker\n                                    leftIcon={\n                                        <CalendarAltIcon\n                                            size={DEFAULT_ICON_SIZE}\n                                            strokeColor={StyleGuideColorsEnum.brandDark}\n                                        />\n                                    }\n                                    isDisabled={isDisabledPreviewReserve}\n                                    minDate={minDate || undefined}\n                                    maxDate={maxDate}\n                                    value={selectedDate}\n                                    onChange={handleChangeDate}\n                                    overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                />\n                            )}\n                        </div>\n                    }\n                >\n                    {(props, extendsProps) => (\n                        <div className={cx('wrap')} data-fake-id={fakeId}>\n                            <GeoSuggest\n                                className={cx('geo-suggest')}\n                                hasTriangle\n                                name={extendsProps.name}\n                                value={extendsProps.value}\n                                placeholder={t('common:new-order-form.fields.pickup-delivery-point.placeholder')}\n                                renderLeftIcon={({ hasValue, hasError, hasWarning, isDisabled }) => (\n                                    <WaypointNumberIcon\n                                        routePointIndex={routePointIndex}\n                                        hasValue={hasValue}\n                                        hasError={hasError}\n                                        hasWarning={hasWarning}\n                                        isDisabled={isDisabled}\n                                        isPickupOrDeliveryRoutePointPicker\n                                    />\n                                )}\n                                onChange={(value) => {\n                                    props.onChange(value);\n\n                                    onManualSelectLocation(value, routePointIndex);\n\n                                    onChangeRoutePointReserve(fakeId, {\n                                        [RoutePointFieldsEnum.location]: value,\n                                    });\n\n                                    if (value === null) {\n                                        onResetRoutePointLocation();\n                                    }\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onFocus={() => {\n                                    props.onFocus();\n\n                                    if (syncShipmentDetailsFormMapStateContext?.setEditingRoutePointIndex) {\n                                        syncShipmentDetailsFormMapStateContext.setEditingRoutePointIndex(\n                                            routePointIndex,\n                                        );\n                                    }\n                                }}\n                                onBlur={() => {\n                                    props.onBlur();\n\n                                    if (syncShipmentDetailsFormMapStateContext?.setEditingRoutePointIndex) {\n                                        syncShipmentDetailsFormMapStateContext.setEditingRoutePointIndex(null);\n                                    }\n                                }}\n                                testSelector={`pickup-or-delivery-location-${routePointIndex}`}\n                                showClearControl={!!extendsProps.value}\n                                isLoading={isShowSuggestLoading}\n                                isRedTriangle={\n                                    syncShipmentDetailsFormMapStateContext?.editingRoutePointIndex ===\n                                        routePointIndex &&\n                                    syncShipmentDetailsFormMapStateContext?.hasEditingRoutePointError\n                                }\n                                triangleClassName={cx('triangle', {\n                                    'triangle--has-remove-control': isAllowRemove,\n                                })}\n                            />\n                            {isAllowRemove && (\n                                <DeleteWaypointTrigger\n                                    onClick={() => {\n                                        onRemove(routePointIndex);\n                                    }}\n                                />\n                            )}\n                        </div>\n                    )}\n                </FormikConnectContextField>\n                <TimeWindowPicker\n                    className={className}\n                    range={ALL_DAY_RANGE}\n                    isDisabled={isDisabledPreviewReserve}\n                    isLocked={selectedIsBrokerTimeWindow}\n                    availableValues={\n                        selectedIsBrokerTimeWindow ? settings?.brokerAvailableValues : settings?.availableValues\n                    }\n                    ranges={\n                        (selectedIsBrokerTimeWindow ? settings?.brokerTimeWindowRanges : settings?.timeWindowRanges) ||\n                        []\n                    }\n                    marks={selectedIsBrokerTimeWindow ? [] : settings?.marks}\n                    values={relativeTimeWindow}\n                    step={timeWindowQuantumMs}\n                    minRangeWidth={selectedIsBrokerTimeWindow ? undefined : minRangeTimeWindow}\n                    maxRangeWidth={selectedIsBrokerTimeWindow ? undefined : maxRangeTimeWindow}\n                    renderZoneTextNode={renderZoneTextNode}\n                    onChange={selectedIsBrokerTimeWindow ? noop : handleChangeTimeWindow}\n                />\n                <FormikConnectContextField<FormValuesT, typeof isBrokerTimeWindowFieldName>\n                    name={isBrokerTimeWindowFieldName}\n                    withoutLabel\n                >\n                    {(props, extendsProps) => (\n                        <Switcher\n                            isDisabled={isDisabledTimeSlots || isDisabledPreviewReserve || !selectedTimeWindow}\n                            checked={extendsProps.value}\n                            theme={SwitcherThemeEnum.danger}\n                            label={t('common:new-order-form.fields.is-broker-time-window.label')}\n                            rightIcon={\n                                <Tooltip\n                                    position={TooltipPositionEnum.topCenter}\n                                    theme={TooltipThemeEnum.black}\n                                    tooltipNode={\n                                        <TooltipContent theme={TooltipContentThemeEnum.black} width={160}>\n                                            {t('common:new-order-form.fields.is-broker-time-window.tooltip-note')}\n                                        </TooltipContent>\n                                    }\n                                >\n                                    {(isShow) => <TooltipIconTrigger isShow={isShow} />}\n                                </Tooltip>\n                            }\n                            onToggle={() => {\n                                const newValue = !extendsProps.value;\n\n                                props.onChange(newValue);\n\n                                onChangeRoutePointReserve(fakeId, {\n                                    [RoutePointFieldsEnum.isBrokerTimeWindow]: newValue,\n                                });\n                            }}\n                        />\n                    )}\n                </FormikConnectContextField>\n            </div>\n        </>\n    );\n});\n\nexport default PickupOrDeliveryRoutePointPicker;\n","export enum FieldsEnum {\n    firstName = 'firstName',\n    lastName = 'lastName',\n    email = 'email',\n    phone = 'phone',\n    password = 'password',\n    acceptTerms = 'acceptTerms',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.firstName]: string;\n    [FieldsEnum.lastName]: string;\n    [FieldsEnum.email]: string;\n    [FieldsEnum.phone]: string;\n    [FieldsEnum.password]: string;\n    [FieldsEnum.acceptTerms]: boolean;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './NameCell.scss';\nimport { PartnerT } from 'broker-admin/store/partners/models';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport { checkAllVerified } from 'broker-admin/layouts/PartnersPage/PartnersTable/utils';\n\ntype PropsT = {\n    partner: PartnerT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst NameCell: React.FC<PropsT> = React.memo((props) => {\n    const { partner } = props;\n\n    const isAllVerified = checkAllVerified(partner);\n\n    return (\n        <div className={cx('cell')}>\n            {!isAllVerified && (\n                <div className={cx('notification')}>\n                    <NotificationLabel isShowWarning theme={NotificationLabelThemeEnum.charcoal} />\n                </div>\n            )}\n            <div>\n                <div className={cx('name')}>{partner.name}</div>\n                <div className={cx('id')}>{partner.number}</div>\n            </div>\n        </div>\n    );\n});\n\nexport default NameCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerDetailsPage__fadeIn___AQ_Wq\",\"blinking\":\"PartnerDetailsPage__blinking___xtX_Y\"};","import React from 'react';\nimport { UseAsyncFormErrorsT } from 'common/utils/hooks/useAsyncFormErrors';\n\nconst FormAsyncErrorsContext = React.createContext<UseAsyncFormErrorsT | null>(null);\n\nexport default FormAsyncErrorsContext;\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { UserChangesT, UserT } from './models';\nimport { ApiUserT, ApiUserUpdateT } from 'common/utils/api/models';\nimport { AuthUserT } from 'common/utils/api/auth/base-auth-service';\n\nexport const FETCH_USER_REQUEST = 'common/user/FETCH_USER_REQUEST';\nexport const FETCH_USER_REQUEST_BEGIN = 'common/user/FETCH_USER_REQUEST_BEGIN';\nexport const FETCH_USER_REQUEST_ERROR = 'common/user/FETCH_USER_REQUEST_ERROR';\nexport const FETCH_USER_REQUEST_SUCCESS = 'common/user/FETCH_USER_REQUEST_SUCCESS';\n\nexport const PATCH_USER_REQUEST = 'common/user/PATCH_USER_REQUEST';\nexport const PATCH_USER_REQUEST_BEGIN = 'common/user/PATCH_USER_REQUEST_BEGIN';\nexport const PATCH_USER_REQUEST_ERROR = 'common/user/PATCH_USER_REQUEST_ERROR';\nexport const PATCH_USER_REQUEST_SUCCESS = 'common/user/PATCH_USER_REQUEST_SUCCESS';\n\nexport type UserStateT = {\n    currentUserRequest: RequestStatusT;\n    currentUser: UserT | null;\n    patchUserRequest: RequestStatusT;\n};\n\nexport type FetchUserActionT = {\n    type: typeof FETCH_USER_REQUEST;\n};\n\nexport type FetchUserBeginActionT = {\n    type: typeof FETCH_USER_REQUEST_BEGIN;\n};\n\nexport type FetchUserSuccessActionT = {\n    type: typeof FETCH_USER_REQUEST_SUCCESS;\n    currentUser: ApiUserT;\n};\n\nexport type FetchUserErrorActionT = {\n    type: typeof FETCH_USER_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type PatchUserActionT = {\n    type: typeof PATCH_USER_REQUEST;\n    user: UserT | null;\n    authUser: AuthUserT | null;\n    changes: UserChangesT;\n};\n\nexport type PatchUserBeginActionT = {\n    type: typeof PATCH_USER_REQUEST_BEGIN;\n};\n\nexport type PatchUserSuccessActionT = {\n    type: typeof PATCH_USER_REQUEST_SUCCESS;\n    currentUser: ApiUserT;\n    currentUserUpdate: ApiUserUpdateT;\n};\n\nexport type PatchUserErrorActionT = {\n    type: typeof PATCH_USER_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type UserActionT =\n    | FetchUserActionT\n    | FetchUserBeginActionT\n    | FetchUserSuccessActionT\n    | FetchUserErrorActionT\n    | PatchUserActionT\n    | PatchUserBeginActionT\n    | PatchUserSuccessActionT\n    | PatchUserErrorActionT;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ContractDetails.scss';\nimport { useTranslation } from 'react-i18next';\nimport Divider from 'design-system/components/Divider/Divider';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport { formatDate } from 'common/utils/time';\nimport SideBarLoader from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLoader/SideBarLoader';\nimport { useSelector } from 'react-redux';\nimport { selectCarrierContractStateById } from 'common/store/carrier-contract-details/selectors';\nimport isEmpty from 'lodash/isEmpty';\nimport { PartnerContractT } from 'common/store/carrier-contracts/models';\nimport { truckRateModeI18nMap } from 'common/components/dropdowns/TruckRateModeDropdown/TruckRateModeDropdown';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contract: PartnerContractT | null;\n};\n\nconst ContractDetails: React.FC<PropsT> = (props) => {\n    const { contract } = props;\n\n    const { t } = useTranslation();\n\n    const { data: contractDetails, fetchRequest: fetchContractDetailsRequest } = useSelector(\n        selectCarrierContractStateById(contract?.id),\n    );\n\n    if (fetchContractDetailsRequest.loading && isEmpty(contractDetails)) {\n        return <SideBarLoader isRelative />;\n    }\n\n    if (isEmpty(contractDetails)) {\n        return null;\n    }\n\n    return (\n        <>\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.expiration.label')}\n                value={formatDate('DD.MM.YYYY', contract?.validTill)}\n                placeholder={t('common:fields.placeholder.empty')}\n                icon={\n                    <CalendarIcon\n                        size={DEFAULT_ICON_SIZE}\n                        fillColor={StyleGuideColorsEnum.brandAccent}\n                        strokeColor={StyleGuideColorsEnum.brandDark}\n                    />\n                }\n            />\n            <Divider className={cx('divider')} />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.name.label')}\n                value={contractDetails?.name}\n                placeholder={t('common:fields.placeholder.empty')}\n            />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.number.label')}\n                value={contractDetails?.number}\n                placeholder={t('common:fields.placeholder.empty')}\n            />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.truck-rate-mode.label')}\n                value={contractDetails?.truckRateMode ? t(truckRateModeI18nMap[contractDetails.truckRateMode]) : null}\n                placeholder={t('common:fields.placeholder.empty')}\n            />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.truck-rate.label')}\n                value={contractDetails?.truckRateKm}\n                placeholder={t('common:fields.placeholder.empty')}\n                unitType={UnitTypeEnum.euroAbbreviation}\n            />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.tilt-rate.label')}\n                value={contractDetails?.tiltRateKm}\n                placeholder={t('common:fields.placeholder.empty')}\n                unitType={UnitTypeEnum.euroAbbreviation}\n            />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.box-rate.label')}\n                value={contractDetails?.boxRateKm}\n                placeholder={t('common:fields.placeholder.empty')}\n                unitType={UnitTypeEnum.euroAbbreviation}\n            />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.truck-expected-mileage.label')}\n                value={contractDetails?.truckExpectedKm}\n                placeholder={t('common:fields.placeholder.empty')}\n                unitType={UnitTypeEnum.kilometersAbbreviation}\n            />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.box-expected-mileage.label')}\n                value={contractDetails?.boxExpectedKm}\n                placeholder={t('common:fields.placeholder.empty')}\n                unitType={UnitTypeEnum.kilometersAbbreviation}\n            />\n            <ReadOnlyField\n                label={t('common:carrier-contracts.details.fields.tilt-expected-mileage.label')}\n                value={contractDetails?.tiltExpectedKm}\n                placeholder={t('common:fields.placeholder.empty')}\n                unitType={UnitTypeEnum.kilometersAbbreviation}\n            />\n        </>\n    );\n};\n\nexport default ContractDetails;\n","import { AssetAssignmentInfoT } from 'common/utils/assignment';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nimport {\n    ApiAssignmentDetailsT,\n    AssignmentVehiclesSuggestItemT,\n    AssignmentVehiclesT,\n    AvailableVehiclesQueryT,\n    CarrierT,\n    FindTrailerQueryT,\n    FindTruckQueryT,\n    LinksT,\n    ScheduleEventIdT,\n    ScheduleEventT,\n    SelfCostPredictionQueryT,\n    SelfCostPredictionT,\n    UserSelectionT,\n} from './models';\n\nexport const INIT_USER_SELECTION = 'broker-admin/broker-order-assigment/INIT_USER_SELECTION';\nexport const CHANGE_USER_SELECTION = 'broker-admin/broker-order-assigment/CHANGE_USER_SELECTION';\n\nexport const FETCH_ASSIGN_DETAILS_REQUEST = 'broker-admin/broker-order-assigment/FETCH_ASSIGN_DETAILS_REQUEST';\nexport const FETCH_ASSIGN_DETAILS_REQUEST_BEGIN =\n    'broker-admin/broker-order-assigment/FETCH_ASSIGN_DETAILS_REQUEST_BEGIN';\nexport const FETCH_ASSIGN_DETAILS_REQUEST_ERROR =\n    'broker-admin/broker-order-assigment/FETCH_ASSIGN_DETAILS_REQUEST_ERROR';\nexport const FETCH_ASSIGN_DETAILS_REQUEST_SUCCESS =\n    'broker-admin/broker-order-assigment/FETCH_ASSIGN_DETAILS_REQUEST_SUCCESS';\n\nexport const FETCH_AVAILABLE_VEHICLES_REQUEST = 'broker-admin/broker-order-assigment/FETCH_AVAILABLE_VEHICLES_REQUEST';\nexport const FETCH_AVAILABLE_VEHICLES_REQUEST_BEGIN =\n    'broker-admin/broker-order-assigment/FETCH_AVAILABLE_VEHICLES_REQUEST_BEGIN';\nexport const FETCH_AVAILABLE_VEHICLES_REQUEST_ERROR =\n    'broker-admin/broker-order-assigment/FETCH_AVAILABLE_VEHICLES_REQUEST_ERROR';\nexport const FETCH_AVAILABLE_VEHICLES_REQUEST_SUCCESS =\n    'broker-admin/broker-order-assigment/FETCH_AVAILABLE_VEHICLES_REQUEST_SUCCESS';\n\nexport const FETCH_AVAILABLE_CARRIERS_REQUEST = 'broker-admin/broker-order-assigment/FETCH_AVAILABLE_CARRIERS_REQUEST';\nexport const FETCH_AVAILABLE_CARRIERS_REQUEST_BEGIN =\n    'broker-admin/broker-order-assigment/FETCH_AVAILABLE_CARRIERS_REQUEST_BEGIN';\nexport const FETCH_AVAILABLE_CARRIERS_REQUEST_ERROR =\n    'broker-admin/broker-order-assigment/FETCH_AVAILABLE_CARRIERS_REQUEST_ERROR';\nexport const FETCH_AVAILABLE_CARRIERS_REQUEST_SUCCESS =\n    'broker-admin/broker-order-assigment/FETCH_AVAILABLE_CARRIERS_REQUEST_SUCCESS';\n\nexport const SET_INIT_ASSETS_INFO = 'broker-admin/broker-order-assigment/SET_INIT_ASSETS_INFO';\n\nexport const REFRESH_TRAILER_REQUEST = 'broker-admin/broker-order-assigment/REFRESH_TRAILER_REQUEST';\nexport const FIND_TRAILER_REQUEST = 'broker-admin/broker-order-assigment/FIND_TRAILER_REQUEST';\nexport const FIND_TRAILER_REQUEST_BEGIN = 'broker-admin/broker-order-assigment/FIND_TRAILER_REQUEST_BEGIN';\nexport const FIND_TRAILER_REQUEST_ERROR = 'broker-admin/broker-order-assigment/FIND_TRAILER_REQUEST_ERROR';\nexport const FIND_TRAILER_REQUEST_SUCCESS = 'broker-admin/broker-order-assigment/FIND_TRAILER_REQUEST_SUCCESS';\n\nexport const REFRESH_TRUCK_REQUEST = 'broker-admin/broker-order-assigment/REFRESH_TRUCK_REQUEST';\nexport const FIND_TRUCK_REQUEST = 'broker-admin/broker-order-assigment/FIND_TRUCK_REQUEST';\nexport const FIND_TRUCK_REQUEST_BEGIN = 'broker-admin/broker-order-assigment/FIND_TRUCK_REQUEST_BEGIN';\nexport const FIND_TRUCK_REQUEST_ERROR = 'broker-admin/broker-order-assigment/FIND_TRUCK_REQUEST_ERROR';\nexport const FIND_TRUCK_REQUEST_SUCCESS = 'broker-admin/broker-order-assigment/FIND_TRUCK_REQUEST_SUCCESS';\n\nexport const PREDICT_SELF_COST_REQUEST = 'broker-admin/broker-order-assigment/PREDICT_SELF_COST_REQUEST';\nexport const PREDICT_SELF_COST_REQUEST_BEGIN = 'broker-admin/broker-order-assigment/PREDICT_SELF_COST_REQUEST_BEGIN';\nexport const PREDICT_SELF_COST_REQUEST_ERROR = 'broker-admin/broker-order-assigment/PREDICT_SELF_COST_REQUEST_ERROR';\nexport const PREDICT_SELF_COST_REQUEST_SUCCESS =\n    'broker-admin/broker-order-assigment/PREDICT_SELF_COST_REQUEST_SUCCESS';\n\nexport const ASSIGNMENT_REQUEST = 'broker-admin/broker-order-assigment/ASSIGNMENT_REQUEST';\nexport const ASSIGNMENT_REQUEST_BEGIN = 'broker-admin/broker-order-assigment/ASSIGNMENT_REQUEST_BEGIN';\nexport const ASSIGNMENT_REQUEST_ERROR = 'broker-admin/broker-order-assigment/ASSIGNMENT_REQUEST_ERROR';\nexport const ASSIGNMENT_REQUEST_SUCCESS = 'broker-admin/broker-order-assigment/ASSIGNMENT_REQUEST_SUCCESS';\n\nexport const FETCH_ASSET_SCHEDULE = 'broker-admin/broker-order-assigment/FETCH_ASSET_SCHEDULE';\nexport const FETCH_ASSET_SCHEDULE_BEGIN = 'broker-admin/broker-order-assigment/FETCH_ASSET_SCHEDULE_BEGIN';\nexport const FETCH_ASSET_SCHEDULE_ERROR = 'broker-admin/broker-order-assigment/FETCH_ASSET_SCHEDULE_ERROR';\nexport const FETCH_ASSET_SCHEDULE_SUCCESS = 'broker-admin/broker-order-assigment/FETCH_ASSET_SCHEDULE_SUCCESS';\nexport const SET_ASSET_SCHEDULE = 'broker-admin/broker-order-assigment/SET_ASSET_SCHEDULE';\nexport const SET_EVENT_LOAD_ROUTE = 'broker-admin/broker-order-assigment/SET_EVENT_LOAD_ROUTE';\n\nexport const SET_SHOW_SELECTED_ASSET_SCHEDULES =\n    'broker-admin/broker-order-assigment/SET_SHOW_SELECTED_ASSET_SCHEDULES';\nexport const SET_SELECTED_SCHEDULE_EVENT_ID = 'broker-admin/broker-order-assigment/SET_SELECTED_SCHEDULE_EVENT_ID';\n\nexport const INIT = 'broker-admin/broker-order-assigment/INIT';\nexport const RESET = 'broker-admin/broker-order-assigment/RESET';\n\nexport type ScheduleAssetT = {\n    requestStatus: RequestStatusT;\n    events: Array<ScheduleEventT>;\n    routeById: Record<ScheduleEventIdT, Array<GooglePolylineT>>;\n    currentEventId: ScheduleEventIdT | null;\n};\n\nexport type BrokerOrderAssigmentStateT = {\n    userSelection: UserSelectionT;\n    trailerById: Record<TrailerIdT, AssetAssignmentInfoT>;\n    truckById: Record<TruckIdT, AssetAssignmentInfoT>;\n    truckSuggest: {\n        query: FindTruckQueryT | null;\n        requestStatus: RequestStatusT;\n        ids: Array<TruckIdT>;\n    };\n    trailerSuggest: {\n        query: FindTrailerQueryT | null;\n        requestStatus: RequestStatusT;\n        ids: Array<TrailerIdT>;\n    };\n    availableVehicles: {\n        query: AvailableVehiclesQueryT | null;\n        requestStatus: RequestStatusT;\n        list: Array<{\n            trailerId: TrailerIdT | null;\n            truckId: TruckIdT | null;\n        }>;\n    };\n    currentPositionAssetById: Record<TrailerIdT | TruckIdT, GeoPointT>;\n    scheduleAssetById: Record<TrailerIdT | TruckIdT, ScheduleAssetT>;\n    links: LinksT;\n    selfCostPrediction: {\n        query: SelfCostPredictionQueryT | null;\n        requestStatus: RequestStatusT;\n        result: SelfCostPredictionT | null;\n    };\n    availableCarriers: {\n        requestStatus: RequestStatusT;\n        carriers: Array<CarrierT>;\n    };\n    assigmentStatus: RequestStatusT;\n    isShowSelectedAssetSchedules: boolean;\n    selectedScheduleEventId: ScheduleEventIdT | null;\n    fetchAssignDetailsStatus: RequestStatusT;\n};\n\nexport type InitUserSelectionActionT = {\n    type: typeof INIT_USER_SELECTION;\n    changes: Partial<UserSelectionT>;\n    brokerOrderId: BrokerOrderIdT | null;\n    tourId: TourIdT | null;\n};\n\nexport type ChangeUserSelectionActionT = {\n    type: typeof CHANGE_USER_SELECTION;\n    changes: Partial<UserSelectionT>;\n    tourId: TourIdT | null;\n    brokerOrderId: BrokerOrderIdT | null;\n};\n\nexport type FetchAvailableVehiclesActionT = {\n    type: typeof FETCH_AVAILABLE_VEHICLES_REQUEST;\n    query: AvailableVehiclesQueryT;\n};\n\nexport type FetchAvailableVehiclesBeginActionT = {\n    type: typeof FETCH_AVAILABLE_VEHICLES_REQUEST_BEGIN;\n    query: AvailableVehiclesQueryT;\n};\n\nexport type FetchAvailableVehiclesSuccessActionT = {\n    type: typeof FETCH_AVAILABLE_VEHICLES_REQUEST_SUCCESS;\n    vehicles: AssignmentVehiclesT[];\n    query: AvailableVehiclesQueryT;\n};\n\nexport type FetchAvailableVehiclesErrorActionT = {\n    type: typeof FETCH_AVAILABLE_VEHICLES_REQUEST_ERROR;\n    error: Error;\n    query: AvailableVehiclesQueryT;\n};\n\nexport type FetchAssignDetailsActionT = {\n    type: typeof FETCH_ASSIGN_DETAILS_REQUEST;\n    brokerOrderId: BrokerOrderIdT;\n    tourId: TourIdT;\n};\n\nexport type FetchAssignDetailsBeginActionT = {\n    type: typeof FETCH_ASSIGN_DETAILS_REQUEST_BEGIN;\n};\n\nexport type FetchAssignDetailsSuccessActionT = {\n    type: typeof FETCH_ASSIGN_DETAILS_REQUEST_SUCCESS;\n    details: ApiAssignmentDetailsT | null;\n};\n\nexport type FetchAssignDetailsErrorActionT = {\n    type: typeof FETCH_ASSIGN_DETAILS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type FetchAvailableCarriersActionT = {\n    type: typeof FETCH_AVAILABLE_CARRIERS_REQUEST;\n    options?: FetchOptionsT;\n};\n\nexport type FetchAvailableCarriersBeginActionT = {\n    type: typeof FETCH_AVAILABLE_CARRIERS_REQUEST_BEGIN;\n};\n\nexport type FetchAvailableCarriersSuccessActionT = {\n    type: typeof FETCH_AVAILABLE_CARRIERS_REQUEST_SUCCESS;\n    carriers: CarrierT[];\n};\n\nexport type FetchAvailableCarriersErrorActionT = {\n    type: typeof FETCH_AVAILABLE_CARRIERS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type SetInitAssetsInfoActionT = {\n    type: typeof SET_INIT_ASSETS_INFO;\n    truck: AssignmentVehiclesSuggestItemT | null;\n    trailer: AssignmentVehiclesSuggestItemT | null;\n};\n\nexport type RefreshTrailerActionT = {\n    type: typeof REFRESH_TRAILER_REQUEST;\n    query: FindTrailerQueryT;\n};\n\nexport type FindTrailerActionT = {\n    type: typeof FIND_TRAILER_REQUEST;\n    query: FindTrailerQueryT;\n};\n\nexport type FindTrailerBeginActionT = {\n    type: typeof FIND_TRAILER_REQUEST_BEGIN;\n    query: FindTrailerQueryT;\n};\n\nexport type FindTrailerSuccessActionT = {\n    type: typeof FIND_TRAILER_REQUEST_SUCCESS;\n    trailersSuggestItems: AssignmentVehiclesSuggestItemT[];\n    query: FindTrailerQueryT;\n};\n\nexport type FindTrailerErrorActionT = {\n    type: typeof FIND_TRAILER_REQUEST_ERROR;\n    error: Error;\n    query: FindTrailerQueryT;\n};\n\nexport type RefreshTruckActionT = {\n    type: typeof REFRESH_TRUCK_REQUEST;\n    query: FindTruckQueryT;\n};\n\nexport type FindTruckActionT = {\n    type: typeof FIND_TRUCK_REQUEST;\n    query: FindTruckQueryT;\n};\n\nexport type FindTruckBeginActionT = {\n    type: typeof FIND_TRUCK_REQUEST_BEGIN;\n    query: FindTruckQueryT;\n};\n\nexport type FindTruckSuccessActionT = {\n    type: typeof FIND_TRUCK_REQUEST_SUCCESS;\n    trucksSuggestItems: AssignmentVehiclesSuggestItemT[];\n    query: FindTruckQueryT;\n};\n\nexport type FindTruckErrorActionT = {\n    type: typeof FIND_TRUCK_REQUEST_ERROR;\n    error: Error;\n    query: FindTruckQueryT;\n};\n\nexport type PredictSelfCostActionT = {\n    type: typeof PREDICT_SELF_COST_REQUEST;\n    query: SelfCostPredictionQueryT;\n};\n\nexport type PredictSelfCostBeginActionT = {\n    type: typeof PREDICT_SELF_COST_REQUEST_BEGIN;\n    query: SelfCostPredictionQueryT;\n};\n\nexport type PredictSelfCostSuccessActionT = {\n    type: typeof PREDICT_SELF_COST_REQUEST_SUCCESS;\n    selfCostPrediction: SelfCostPredictionT | null;\n    query: SelfCostPredictionQueryT;\n};\n\nexport type PredictSelfCostErrorActionT = {\n    type: typeof PREDICT_SELF_COST_REQUEST_ERROR;\n    error: Error;\n    query: SelfCostPredictionQueryT;\n};\n\nexport type AssignActionT = {\n    type: typeof ASSIGNMENT_REQUEST;\n    brokerOrderId: BrokerOrderIdT;\n    tourId: TourIdT;\n    assignmentContextId: AssignmentContextIdT;\n};\n\nexport type AssignBeginActionT = {\n    type: typeof ASSIGNMENT_REQUEST_BEGIN;\n};\n\nexport type AssignSuccessActionT = {\n    type: typeof ASSIGNMENT_REQUEST_SUCCESS;\n};\n\nexport type AssignErrorActionT = {\n    type: typeof ASSIGNMENT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type FetchAssetScheduleActionT = {\n    type: typeof FETCH_ASSET_SCHEDULE;\n    assetId: AssetIdT;\n    brokerOrderId: BrokerOrderIdT;\n    tourId: TourIdT;\n};\n\nexport type FetchAssetScheduleBeginActionT = {\n    type: typeof FETCH_ASSET_SCHEDULE_BEGIN;\n    assetId: AssetIdT;\n};\n\nexport type FetchAssetScheduleErrorActionT = {\n    type: typeof FETCH_ASSET_SCHEDULE_ERROR;\n    assetId: AssetIdT;\n    error: Error;\n};\n\nexport type FetchAssetScheduleSuccessActionT = {\n    type: typeof FETCH_ASSET_SCHEDULE_SUCCESS;\n    assetId: AssetIdT;\n};\n\nexport type SetAssetScheduleActionT = {\n    type: typeof SET_ASSET_SCHEDULE;\n    assetId: AssetIdT;\n    events: Array<ScheduleEventT>;\n    currentEventId: ScheduleEventIdT | null;\n};\n\nexport type SetEventLoadRouteActionT = {\n    type: typeof SET_EVENT_LOAD_ROUTE;\n    assetId: AssetIdT;\n    scheduleEventId: ScheduleEventIdT;\n    polylines: Array<GooglePolylineT>;\n};\n\nexport type SetShowSelectedAssetScheduleActionT = {\n    type: typeof SET_SHOW_SELECTED_ASSET_SCHEDULES;\n    isShowSelectedAssetSchedules: boolean;\n};\n\nexport type SetSelectedScheduleEventIdActionT = {\n    type: typeof SET_SELECTED_SCHEDULE_EVENT_ID;\n    selectedScheduleEventId: ScheduleEventIdT | null;\n};\n\nexport type ResetActionT = {\n    type: typeof RESET;\n};\n\nexport type InitActionT = {\n    type: typeof INIT;\n};\n\nexport type BrokerOrderAssigmentActionT =\n    | InitActionT\n    | InitUserSelectionActionT\n    | ChangeUserSelectionActionT\n    | FetchAvailableVehiclesActionT\n    | FetchAvailableVehiclesBeginActionT\n    | FetchAvailableVehiclesSuccessActionT\n    | FetchAvailableVehiclesErrorActionT\n    | FetchAvailableCarriersActionT\n    | FetchAvailableCarriersBeginActionT\n    | FetchAvailableCarriersSuccessActionT\n    | FetchAvailableCarriersErrorActionT\n    | FetchAssignDetailsActionT\n    | FetchAssignDetailsBeginActionT\n    | FetchAssignDetailsSuccessActionT\n    | FetchAssignDetailsErrorActionT\n    | RefreshTrailerActionT\n    | SetInitAssetsInfoActionT\n    | FindTrailerActionT\n    | FindTrailerBeginActionT\n    | FindTrailerSuccessActionT\n    | FindTrailerErrorActionT\n    | RefreshTruckActionT\n    | FindTruckActionT\n    | FindTruckBeginActionT\n    | FindTruckSuccessActionT\n    | FindTruckErrorActionT\n    | PredictSelfCostActionT\n    | PredictSelfCostBeginActionT\n    | PredictSelfCostSuccessActionT\n    | PredictSelfCostErrorActionT\n    | AssignActionT\n    | AssignBeginActionT\n    | AssignSuccessActionT\n    | AssignErrorActionT\n    | FetchAssetScheduleActionT\n    | FetchAssetScheduleBeginActionT\n    | FetchAssetScheduleErrorActionT\n    | FetchAssetScheduleSuccessActionT\n    | SetAssetScheduleActionT\n    | SetEventLoadRouteActionT\n    | SetShowSelectedAssetScheduleActionT\n    | SetSelectedScheduleEventIdActionT\n    | ResetActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"DictTrailerMultipleDropdown__fadeIn___CY2lf\",\"blinking\":\"DictTrailerMultipleDropdown__blinking___MfI_C\"};","import { FieldsEnum, FormValuesT } from './constants';\nimport {\n    BooleanSettingValueEnum,\n    SystemSettingsChangesT,\n} from 'broker-admin/store/price-settings/system-settings/models';\n\nconst prepareApiSystemSettings = (formValues: FormValuesT): SystemSettingsChangesT => {\n    return {\n        MINIMAL_COST_FOR_SHIPMENT: formValues[FieldsEnum.minimalShipmentCost],\n        DRIVER_SALARY_PER_HOUR: formValues[FieldsEnum.driverSalaryPerHour],\n        MINIMAL_COST_FOR_TRUCK: formValues[FieldsEnum.minimalCostForTruck],\n        MINIMAL_COST_FOR_TRAILER: formValues[FieldsEnum.minimalCostForTrailer],\n        COST_PER_ONE_HOUR_LAYOVER: formValues[FieldsEnum.layoverCostPerHour],\n        COST_PER_ONE_DAY_LAYOVER: formValues[FieldsEnum.layoverCostPerDay],\n        LAYOVER_FREE_HOURS: formValues[FieldsEnum.layoverFreeHours],\n        URGENT_OVERPRICE: formValues[FieldsEnum.urgentOverPrice],\n        OVERPRICE_FOR_EVERY_ADDITIONAL_STOP: formValues[FieldsEnum.overPriceForEveryAdditionalStop],\n        TIME_SLOT_APPOINTMENT_COST: formValues[FieldsEnum.timeSlotAppointmentCost],\n        COST_PER_GREEN_SHIPMENT: formValues[FieldsEnum.costPerGreenShipment],\n        TRANZIIT_SERVICE_FEE_FIXED_MODE: formValues[FieldsEnum.tranziitServiceFeeFixedMode],\n        TRANZIIT_SERVICE_FEE_PERCENT: formValues[FieldsEnum.tranziitServiceFeePercent],\n        TRANZIIT_SERVICE_FEE_FIXED: formValues[FieldsEnum.tranziitServiceFeeFixed],\n        PRICING_STRATEGY: formValues[FieldsEnum.pricingStrategy],\n        TRUCK_CONSUMPTION: formValues[FieldsEnum.truckConsumption],\n        REEFER_CONSUMPTION: formValues[FieldsEnum.reeferConsumption],\n        RATE_MATRIX_SPREAD: formValues[FieldsEnum.rateMatrixSpread],\n        HVO_PRICE_PERCENT: formValues[FieldsEnum.hvoPricePercent],\n        USE_PERIODIC_RULES: formValues[FieldsEnum.usePeriodicRulesForWeekdays]\n            ? BooleanSettingValueEnum.true\n            : BooleanSettingValueEnum.false,\n        YEAR_PERIODIC_AUTO_RULES: formValues[FieldsEnum.usePeriodicRulesForMonths]\n            ? BooleanSettingValueEnum.true\n            : BooleanSettingValueEnum.false,\n    };\n};\n\nexport default prepareApiSystemSettings;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { ApiLocationT, CountryCodeT } from 'common/utils/api/models';\nimport {\n    DeadheadContactT,\n    DeadheadInitContextResponseT,\n    DeadheadPreviewContextResponseT,\n    DeadheadApplyContextResponseT,\n    RawDeadheadInitContextQueryT,\n    RawDeadheadPreviewQueryT,\n    ContextRouteStopFakeIdT,\n} from './models';\n\nexport type DeadheadCreationStateT = {\n    contextQuery: RawDeadheadInitContextQueryT | null;\n    contextResponse: DeadheadInitContextResponseT | null;\n    contextRequest: RequestStatusT;\n\n    previewQuery: RawDeadheadPreviewQueryT | null;\n    previewResponse: DeadheadPreviewContextResponseT | null;\n    previewRequest: RequestStatusT;\n\n    isApplyingContextChanges: boolean;\n\n    applyContextRequest: RequestStatusT;\n};\n\nexport const initialDeadheadCreationState: DeadheadCreationStateT = {\n    contextQuery: null,\n    contextResponse: null,\n    contextRequest: requestStatus.initial,\n\n    previewQuery: null,\n    previewResponse: null,\n    previewRequest: requestStatus.initial,\n\n    isApplyingContextChanges: false,\n\n    applyContextRequest: requestStatus.initial,\n};\n\nexport const deadheadCreationSlice = createSlice({\n    name: 'deadheadCreation',\n    initialState: initialDeadheadCreationState,\n    reducers: {\n        changeDeadheadContext: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<DeadheadChangeEventT>,\n        ) => {\n            // handled in saga\n        },\n        setContextQuery: (state, action: PayloadAction<{ query: RawDeadheadInitContextQueryT | null }>) => {\n            state.contextQuery = action.payload.query;\n        },\n        initContextRequestBegin: (state) => {\n            state.contextRequest = requestStatus.loading;\n        },\n        initContextRequestSuccess: (\n            state,\n            action: PayloadAction<{ response: DeadheadInitContextResponseT | null }>,\n        ) => {\n            state.contextResponse = action.payload.response;\n            state.contextRequest = requestStatus.ok;\n        },\n        initContextRequestError: (state, action: PayloadAction<{ error: Error }>) => {\n            state.contextRequest = requestStatus.setError(action.payload.error);\n        },\n        resetContext: (state) => {\n            state.contextRequest = requestStatus.initial;\n            state.contextResponse = null;\n        },\n        resetPreviewContext: (state) => {\n            state.previewRequest = requestStatus.initial;\n            state.previewResponse = null;\n        },\n        resetPreviewContextQuery: (state) => {\n            state.previewQuery = initialDeadheadCreationState.previewQuery;\n        },\n        setPreviewQuery: (state, action: PayloadAction<{ query: RawDeadheadPreviewQueryT | null }>) => {\n            state.previewQuery = action.payload.query;\n        },\n        previewContextRequestBegin: (state) => {\n            state.previewRequest = requestStatus.loading;\n        },\n        previewContextRequestSuccess: (\n            state,\n            action: PayloadAction<{ response: DeadheadPreviewContextResponseT | null }>,\n        ) => {\n            state.previewResponse = action.payload.response;\n            state.previewRequest = requestStatus.ok;\n        },\n        previewContextRequestError: (state, action: PayloadAction<{ error: Error }>) => {\n            state.previewRequest = requestStatus.setError(action.payload.error);\n        },\n        applyContextRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                doNotIncludeCostsInTransportOrder: boolean;\n                contacts: Array<DeadheadContactT>;\n            }>,\n        ) => {\n            // nothing, saga will handle\n        },\n        applyContextRequestBegin: (state) => {\n            state.applyContextRequest = requestStatus.loading;\n        },\n        applyContextRequestSuccess: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{ response: DeadheadApplyContextResponseT | null }>,\n        ) => {\n            state.applyContextRequest = requestStatus.ok;\n        },\n        applyContextRequestError: (state, action: PayloadAction<{ error: Error }>) => {\n            state.applyContextRequest = requestStatus.setError(action.payload.error);\n        },\n\n        setIsApplyingContextChanges: (state, action: PayloadAction<boolean>) => {\n            state.isApplyingContextChanges = action.payload;\n        },\n\n        resetDeadheadCreation: () => {\n            return { ...initialDeadheadCreationState };\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return { ...initialDeadheadCreationState };\n        });\n    },\n});\n\nexport type DeadheadChangeEventT =\n    | {\n          type: 'check-context-expiration';\n      }\n    | {\n          type: 'init';\n          initRoute: Array<{\n              contextRouteStopFakeId: ContextRouteStopFakeIdT;\n              address: ApiLocationT | null;\n          }>;\n      }\n    | {\n          type: 'set-truck-id';\n          truckId: TruckIdT | null;\n          resetRoute?: Array<{\n              contextRouteStopFakeId: ContextRouteStopFakeIdT;\n              address: ApiLocationT | null;\n          }>;\n      }\n    | {\n          type: 'change-stop-location';\n          contextRouteStopFakeId: ContextRouteStopFakeIdT;\n          address: ApiLocationT | null;\n      }\n    | {\n          type: 'insert-route-point';\n          beforeContextRouteStopFakeIds: Array<ContextRouteStopFakeIdT>;\n          contextRouteStopFakeId: ContextRouteStopFakeIdT;\n          address: ApiLocationT | null;\n      }\n    | {\n          type: 'delete-route-point';\n          contextRouteStopFakeId: ContextRouteStopFakeIdT;\n      }\n    | {\n          type: 'set-arrival-date-time';\n          arrivalDateTime: ISODateTimeT;\n      }\n    | {\n          type: 'set-excluded-countries';\n          excludedCountries: Array<CountryCodeT>;\n      };\n\nexport const {\n    changeDeadheadContext,\n    setContextQuery,\n    initContextRequestBegin,\n    initContextRequestSuccess,\n    initContextRequestError,\n    resetContext,\n    resetPreviewContext,\n    resetPreviewContextQuery,\n    setPreviewQuery,\n    previewContextRequestBegin,\n    previewContextRequestSuccess,\n    previewContextRequestError,\n    applyContextRequest,\n    applyContextRequestBegin,\n    applyContextRequestSuccess,\n    applyContextRequestError,\n    setIsApplyingContextChanges,\n    resetDeadheadCreation,\n} = deadheadCreationSlice.actions;\n\nexport default deadheadCreationSlice.reducer;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LoaderOverlay.scss';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size?: number;\n    isTransparent?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst LoaderOverlay: React.FC<PropsT> = React.memo((props) => {\n    const { size, isTransparent } = props;\n\n    return (\n        <div className={cx('loader-overlay')} data-test-selector=\"overlay\">\n            {isTransparent ? null : <div className={cx('overlay')} />}\n            <div className={cx('inner')}>\n                <ControlLoaderWithShadow fillColor={StyleGuideColorsEnum.gray} size={size} />\n            </div>\n        </div>\n    );\n});\n\nexport default LoaderOverlay;\n","import { useMemo } from 'react';\nimport { ApiStopTypeT, StopTypeEnum } from 'common/utils/api/models';\nimport { BrokerOrderWaypointT } from 'broker-admin/store/broker-order-details/models';\n\nconst useBrokerOrderPayloadWaypoints = (brokerOrderWaypoints: Array<BrokerOrderWaypointT> | null | undefined) => {\n    return useMemo(() => {\n        if (!brokerOrderWaypoints) {\n            return {\n                firstPayloadWaypoint: null,\n                lastPayloadWaypoint: null,\n            };\n        }\n\n        const originWaypoint = brokerOrderWaypoints?.find((waypoint) => {\n            return waypoint?.origin;\n        });\n\n        const destinationWaypoint = brokerOrderWaypoints?.find((waypoint) => {\n            return waypoint?.destination;\n        });\n\n        const payloadWaypointStopTypeSet = new Set<ApiStopTypeT>([\n            StopTypeEnum.pickupDeliveryShipment,\n            StopTypeEnum.driveThrough,\n            StopTypeEnum.dropAndHook,\n        ]);\n\n        const payloadWaypoints = brokerOrderWaypoints?.filter((waypoint) => {\n            return payloadWaypointStopTypeSet.has(waypoint.type);\n        });\n\n        const firstPayloadWaypoint = payloadWaypoints[0] || null;\n        const lastPayloadWaypoint = payloadWaypoints[payloadWaypoints.length - 1] || null;\n\n        return {\n            originWaypoint: originWaypoint || firstPayloadWaypoint,\n            destinationWaypoint: destinationWaypoint || lastPayloadWaypoint,\n        };\n    }, [brokerOrderWaypoints]);\n};\n\nexport { useBrokerOrderPayloadWaypoints };\n","import {\n    FETCH_DONE_STATISTICS_REQUEST_BEGIN,\n    FETCH_DONE_STATISTICS_REQUEST_ERROR,\n    FETCH_DONE_STATISTICS_REQUEST_SUCCESS,\n    FETCH_STATISTICS_REQUEST,\n    FetchDoneStatisticsRequestBeginActionT,\n    FetchDoneStatisticsRequestErrorActionT,\n    FetchDoneStatisticsRequestSuccessActionT,\n    FetchStatisticsRequestActionT,\n    FetchRejectStatisticsRequestSuccessActionT,\n    FetchRejectStatisticsRequestErrorActionT,\n    FetchRejectStatisticsRequestBeginActionT,\n    FETCH_REJECT_STATISTICS_REQUEST_BEGIN,\n    FETCH_REJECT_STATISTICS_REQUEST_SUCCESS,\n    FETCH_REJECT_STATISTICS_REQUEST_ERROR,\n    FetchStatisticsRequestBeginActionT,\n    FETCH_STATISTICS_REQUEST_BEGIN,\n} from './types';\nimport { DoneStatisticT, FetchStatisticsQueryT, RejectStatisticT } from './models';\n\nexport const fetchStatistics = (\n    query: FetchStatisticsQueryT,\n    options?: FetchOptionsT,\n): FetchStatisticsRequestActionT => ({\n    type: FETCH_STATISTICS_REQUEST,\n    query,\n    options,\n});\n\nexport const fetchStatisticsBegin = (\n    query: FetchStatisticsQueryT,\n    options?: FetchOptionsT,\n): FetchStatisticsRequestBeginActionT => ({\n    type: FETCH_STATISTICS_REQUEST_BEGIN,\n    query,\n    options,\n});\n\nexport const fetchDoneStatisticsBegin = (query: FetchStatisticsQueryT): FetchDoneStatisticsRequestBeginActionT => ({\n    type: FETCH_DONE_STATISTICS_REQUEST_BEGIN,\n    query,\n});\n\nexport const fetchDoneStatisticsSuccess = (\n    query: FetchStatisticsQueryT,\n    statistic: DoneStatisticT | null,\n): FetchDoneStatisticsRequestSuccessActionT => ({\n    type: FETCH_DONE_STATISTICS_REQUEST_SUCCESS,\n    query,\n    statistic,\n});\n\nexport const fetchDoneStatisticsError = (\n    query: FetchStatisticsQueryT,\n    error: Error,\n): FetchDoneStatisticsRequestErrorActionT => ({\n    type: FETCH_DONE_STATISTICS_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const fetchRejectStatisticsBegin = (query: FetchStatisticsQueryT): FetchRejectStatisticsRequestBeginActionT => ({\n    type: FETCH_REJECT_STATISTICS_REQUEST_BEGIN,\n    query,\n});\n\nexport const fetchRejectStatisticsSuccess = (\n    query: FetchStatisticsQueryT,\n    statistic: RejectStatisticT | null,\n): FetchRejectStatisticsRequestSuccessActionT => ({\n    type: FETCH_REJECT_STATISTICS_REQUEST_SUCCESS,\n    query,\n    statistic,\n});\n\nexport const fetchRejectStatisticsError = (\n    query: FetchStatisticsQueryT,\n    error: Error,\n): FetchRejectStatisticsRequestErrorActionT => ({\n    type: FETCH_REJECT_STATISTICS_REQUEST_ERROR,\n    error,\n    query,\n});\n","import * as React from 'react';\n\nimport cs from 'classnames';\n\nimport classNames from 'classnames/bind';\nimport styles from './PriceDetailsHeader.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    title: React.ReactNode;\n    rightNode?: React.ReactNode;\n    className?: string;\n};\n\nconst PriceDetailsHeader: React.FC<PropsT> = React.memo((props) => {\n    const { title, rightNode, className } = props;\n\n    return (\n        <div className={cs(cx('row'), className)}>\n            <div\n                className={cx('row__column', {\n                    'row__column--title': true,\n                })}\n            >\n                <span className={cx('title')}>{title}</span>\n            </div>\n            {rightNode && (\n                <div\n                    className={cx('row__column', {\n                        'row__column--right-node': true,\n                    })}\n                >\n                    {rightNode}\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default PriceDetailsHeader;\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport UpArrowIcon from 'common/icons/UpArrowIcon';\nimport DownArrowIcon from 'common/icons/DownArrowIcon';\n\nimport MaskedInput from 'react-text-mask';\n\nimport styles from './NumberInput.scss';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport UnitType from 'common/components/units/UnitType/UnitType';\nimport { simpleNumberFormatter } from 'common/utils/form-formatters';\nimport { safeArithmeticOperations } from 'common/utils/safe-arithmetic';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = string;\n\nexport type IconMetaT = {\n    isDisabled: boolean;\n    hasError: boolean;\n    hasWarning: boolean;\n    hasChanges: boolean;\n};\n\nexport type PropsT = {\n    name: string;\n    value: ValueT;\n    unitType?: UnitTypeEnum;\n    step?: number;\n    renderLeftIcon?: (meta: IconMetaT) => React.ReactNode;\n    placeholder?: string;\n    onChange: (value: ValueT) => void;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    isDisabled?: boolean;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChanges?: boolean;\n    mask?: MaskT;\n    className?: string;\n    inputClassName?: string;\n};\n\nconst getControlColor = (isEmpty: boolean, isFocused: boolean): StyleGuideColorsEnum => {\n    if (isFocused) {\n        return StyleGuideColorsEnum.brandDark;\n    }\n\n    return StyleGuideColorsEnum.gray;\n};\n\nconst CONTROL_SIZE = 19;\n\nconst NumberInput: React.FC<PropsT> = (props) => {\n    const {\n        value,\n        name,\n        hasChanges,\n        unitType,\n        step,\n        placeholder,\n        onChange,\n        onBlur,\n        onFocus,\n        renderLeftIcon,\n        isDisabled,\n        hasError,\n        hasWarning,\n        mask,\n        className,\n        inputClassName,\n    } = props;\n\n    const [isFocused, setFocused] = React.useState<boolean>(false);\n    const handleChange = (event: React.FormEvent<HTMLInputElement>): void => {\n        onChange(event.currentTarget.value);\n    };\n\n    const [isHovered, setHovered] = React.useState<boolean>(false);\n    const handleMouseMove = (): void => {\n        if (!isHovered) {\n            setHovered(true);\n        }\n    };\n\n    const handleMouseLeave = (): void => {\n        setHovered(false);\n    };\n\n    const handleBlur = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        setFocused(false);\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handleFocus = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        setFocused(true);\n\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const isEmpty = !value;\n    const controlsColor = getControlColor(isEmpty, isFocused);\n\n    const valueStep = step || 1;\n    const handleIncrement = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        const parsedValue = parseSimpleNumber(value) || 0;\n        const nextValue = safeArithmeticOperations.plus(parsedValue, valueStep);\n        const stringNextValue = simpleNumberFormatter(nextValue);\n        if (onBlur) {\n            onBlur();\n        }\n        onChange(stringNextValue);\n    };\n\n    const handleDecrement = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        const parsedValue = parseSimpleNumber(value) || 0;\n        const nextValue = safeArithmeticOperations.minus(parsedValue, valueStep);\n        const stringNextValue = simpleNumberFormatter(nextValue);\n        if (onBlur) {\n            onBlur();\n        }\n        onChange(stringNextValue);\n    };\n\n    const inputProps: React.InputHTMLAttributes<HTMLInputElement> = {\n        onChange: handleChange,\n        onBlur: handleBlur,\n        onFocus: handleFocus,\n        name,\n        type: mask ? 'text' : 'number',\n        step: 'any',\n        value: value || '',\n        className: cx('input-inner', {\n            'input-inner--isEmpty': isEmpty,\n            'input-inner--isDisabled': isDisabled,\n        }),\n        placeholder,\n        disabled: isDisabled,\n    };\n\n    const isHideValueControl = !step;\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <div className={cx('content')}>\n                <div\n                    className={cx('input-wrap', {\n                        'input-wrap--withValueControl': !isHideValueControl,\n                    })}\n                >\n                    <div\n                        className={cx(\n                            'input',\n                            {\n                                'input--hasWarning': hasWarning,\n                                'input--isChanged': hasChanges,\n                                'input--hasError': hasError,\n                                'input--isEmpty': isEmpty,\n                                'input--hasIcon': !!renderLeftIcon,\n                                'input--isFocused': isFocused,\n                                'input--isHovered': isHovered,\n                                'input--isDisabled': isDisabled,\n                            },\n                            inputClassName,\n                        )}\n                        onMouseMove={handleMouseMove}\n                        onMouseLeave={handleMouseLeave}\n                    >\n                        {renderLeftIcon && (\n                            <div className={cx('icon')}>\n                                {renderLeftIcon({\n                                    isDisabled: !!isDisabled,\n                                    hasError: !!hasError,\n                                    hasWarning: !!hasWarning,\n                                    hasChanges: !!hasChanges,\n                                })}\n                            </div>\n                        )}\n                        {mask ? <MaskedInput mask={mask} {...inputProps} /> : <input {...inputProps} />}\n                        <div\n                            className={cx('units', {\n                                'units--isEmpty': isEmpty,\n                                'units--isDisabled': isDisabled,\n                                'units--isHideValueControl': isHideValueControl,\n                            })}\n                        >\n                            {unitType && <UnitType type={unitType} />}\n                        </div>\n                    </div>\n                </div>\n                {!isHideValueControl && (\n                    <div className={cx('controls')}>\n                        <div\n                            className={cx('controls__control', {\n                                'controls__control--increment': true,\n                                'controls__control--hasWarning': hasWarning,\n                                'controls__control--hasError': hasError,\n                                'controls__control--isEmpty': isEmpty,\n                                'controls__control--isFocused': isFocused,\n                                'controls__control--isHovered': isHovered,\n                                'controls__control--isDisabled': isDisabled,\n                            })}\n                            onClick={handleIncrement}\n                        >\n                            <UpArrowIcon fillColor={controlsColor} width={CONTROL_SIZE} height={CONTROL_SIZE} />\n                        </div>\n                        <div\n                            className={cx('controls__control', {\n                                'controls__control--decrement': true,\n                                'controls__control--hasWarning': hasWarning,\n                                'controls__control--hasError': hasError,\n                                'controls__control--isEmpty': isEmpty,\n                                'controls__control--isFocused': isFocused,\n                                'controls__control--isHovered': isHovered,\n                                'controls__control--isDisabled': isDisabled,\n                            })}\n                            onClick={handleDecrement}\n                        >\n                            <DownArrowIcon fillColor={controlsColor} width={CONTROL_SIZE} height={CONTROL_SIZE} />\n                        </div>\n                    </div>\n                )}\n            </div>\n        </div>\n    );\n};\n\nexport default NumberInput;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './AttentionTextFormatter.scss';\n\ntype PropsT = {\n    isActive: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst AttentionTextFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { isActive, children } = props;\n\n    return <span className={isActive ? cx('warning') : ''}>{children}</span>;\n});\n\nexport default AttentionTextFormatter;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './SpotSettingsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport prepareApiSystemSettings from './prepare-system-settings';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport withWidgetChangesDetector from 'common/components/SaveChangesNotification/withWidgetChangesDetector';\nimport { UnitTypeEnum } from 'common/constants';\nimport Widget from 'common/components/Widget/Widget';\nimport values from 'lodash/values';\nimport { getMaskByType } from '../utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { SystemSettingsFormCommonPropsT } from 'broker-admin/layouts/SettingsPage/SystemSettings/models';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\n\nconst cx = classNames.bind(styles);\n\nconst UNIT_TYPE_MAP = {\n    [FieldsEnum.spotRequestLimit]: UnitTypeEnum.hoursAbbreviation,\n    [FieldsEnum.expiresSoonAlert]: UnitTypeEnum.hoursAbbreviation,\n};\n\nconst STEP_MAP = {\n    [FieldsEnum.spotRequestLimit]: 1,\n    [FieldsEnum.expiresSoonAlert]: 1,\n};\n\nconst FIELD_LABEL_T_MAP = {\n    [FieldsEnum.spotRequestLimit]: 'price-settings.spot-form.fields.spot-request-limit.label',\n    [FieldsEnum.expiresSoonAlert]: 'price-settings.spot-form.fields.expires-soon-alert.label',\n};\n\nconst FIELD_DESCRIPTION_T_MAP = {\n    [FieldsEnum.spotRequestLimit]: 'price-settings.spot-form.fields.spot-request-limit.description',\n    [FieldsEnum.expiresSoonAlert]: 'price-settings.spot-form.fields.expires-soon-alert.description',\n};\n\ntype PropsT = SystemSettingsFormCommonPropsT;\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype NumberFieldsT = FieldsEnum.spotRequestLimit | FieldsEnum.expiresSoonAlert;\n\nconst SpotSettingsForm: React.FC<PropsT> = (props) => {\n    const { systemSettings, title, onUpdate, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(systemSettings);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [systemSettings]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const apiSystemSettings = prepareApiSystemSettings(values);\n            onUpdate(apiSystemSettings);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErros = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErros,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErros, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const WidgetChangesDetector = withWidgetChangesDetector(formik.values, initialValues);\n\n    const renderNumberField = (name: NumberFieldsT): React.ReactNode => {\n        return (\n            <FormikField\n                className={cx('field')}\n                name={name}\n                error={formik.errors[name]}\n                meta={formik.getFieldMeta(name)}\n                label={t(FIELD_LABEL_T_MAP[name])}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                tooltipNode={\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t(FIELD_DESCRIPTION_T_MAP[name])}\n                    </TooltipContent>\n                }\n            >\n                {(props) => (\n                    <NumberInput\n                        name={name}\n                        unitType={UNIT_TYPE_MAP[name]}\n                        mask={getMaskByType(UNIT_TYPE_MAP[name])}\n                        step={STEP_MAP[name]}\n                        value={formik.values[name]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        hasChanges={props.hasChanges}\n                    />\n                )}\n            </FormikField>\n        );\n    };\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <Widget className={cx('widget')} title={title} rightNode={<WidgetChangesDetector fields={ALL_FIELDS} />}>\n                <div className={cx('widget__inner')}>\n                    <FieldGroup>\n                        {renderNumberField(FieldsEnum.spotRequestLimit)}\n                        {renderNumberField(FieldsEnum.expiresSoonAlert)}\n                        {/* <FieldGroupEmptyItem className={cx('field')} /> */}\n                    </FieldGroup>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <HiddenSubmitButtonForKeyboardEnter />\n                </div>\n            </Widget>\n        </form>\n    );\n};\n\nexport default React.memo(SpotSettingsForm) as typeof SpotSettingsForm;\n","import { ShipmentPapersUrlFactoryI } from 'common/components/papers/image-url-factories';\n\nexport const brokerShipmentPapersUrlFactory: ShipmentPapersUrlFactoryI = {\n    getThumbnailUrl: (shipmentId: ShipmentIdT | null, documentId: DocumentIdT | null): string | null => {\n        if (!shipmentId || !documentId) {\n            return null;\n        }\n\n        return `/api/v1/common/attached-papers/${documentId}/get-thumbnail`;\n    },\n\n    getContentUrl: (shipmentId: ShipmentIdT | null, documentId: DocumentIdT | null): string | null => {\n        if (!shipmentId || !documentId) {\n            return null;\n        }\n\n        return `/api/v1/common/attached-papers/${documentId}/get-content`;\n    },\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"QuickFilters__wrap___Dp0sP\",\"container\":\"QuickFilters__container___HwkNG\",\"container--isMeasuring\":\"QuickFilters__container--isMeasuring___fCYi7\",\"option\":\"QuickFilters__option___VFJcQ\",\"toggle\":\"QuickFilters__toggle___tCUh4\",\"trigger\":\"QuickFilters__trigger___MMUcv\",\"notification\":\"QuickFilters__notification___BemKs\",\"fadeIn\":\"QuickFilters__fadeIn___dX4dN\",\"blinking\":\"QuickFilters__blinking___bZ9od\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerTourDeadheadCreationPage.scss';\n\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\n\nimport { SyncRouteEditFormMapStateContext } from './contexts/sync-map-state';\nimport { usySyncMapStateContextValue } from './hooks/usySyncMapStateContextValue';\nimport RouteEditMap from './RouteEditMap/RouteEditMap';\nimport {\n    selectDeadheadApplyRequest,\n    selectDeadheadPreviewResponse,\n} from 'broker-admin/store/deadhead-creation/selectors';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Steps from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/Steps/Steps';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport RouteDetailsForm from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteDetailsForm/RouteDetailsForm';\nimport RouteForm from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/RouteForm';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport { BooleanParam, StringParam, useQueryParams } from 'use-query-params';\nimport {\n    NEW_DEADHEAD_TOUR_EVENT_ID,\n    QueryKeysEnum,\n} from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contants';\nimport { RouteFormValuesT } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/constants';\nimport {\n    applyContextRequest,\n    changeDeadheadContext,\n    resetDeadheadCreation,\n} from 'broker-admin/store/deadhead-creation/slice';\nimport { RouteDetailsFormValuesT } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteDetailsForm/constants';\nimport { prepareContacts } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/utils/prepare-contacts';\nimport { useTranslation } from 'react-i18next';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport AssetScheduleSidebar from 'common/components/AssetScheduleSidebar/AssetScheduleSidebar';\nimport { selectFetchScheduleRequest, selectVehicleSchedule } from 'common/store/vehicle-schedules/selectors';\nimport { SyncAssetScheduleContext } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contexts/sync-asset-schedule';\nimport { usySyncAssetScheduleContextValue } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/hooks/usySyncAssetScheduleContextValue';\nimport noop from 'lodash/noop';\nimport { fetchVehicleSchedule } from 'common/store/vehicle-schedules/actions';\nimport { VehicleScheduleEventT } from 'common/store/vehicle-schedules/models';\nimport first from 'lodash/first';\nimport last from 'lodash/last';\nimport { useScheduleTimeWindowFactory } from 'common/utils/hooks/use-schedule-time-window-factory';\nimport { parseDateStringWithoutTimezone } from 'common/utils/time';\nimport { TimeWindowT } from 'common/components/Timeline/models';\nimport isNumber from 'lodash/isNumber';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { vehicleSchedulesRefreshChannel } from 'common/store/vehicle-schedules/channels';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst BrokerTourDeadheadCreationPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const [isShowExpirationContextAlert, setIsShowExpirationContextAlert] = React.useState<boolean>(false);\n\n    const applyRequestStatus = useSelector(selectDeadheadApplyRequest);\n\n    const applyContextRequestError = applyRequestStatus?.error || null;\n    React.useLayoutEffect(() => {\n        const error = applyContextRequestError || null;\n        if (\n            error &&\n            checkIsTranziitApiRequestError(error) &&\n            error?.subType === TranziitApiRequestErrorSubTypeEnum.brokerDeadheadCreation_ExpirationContext\n        ) {\n            setIsShowExpirationContextAlert(true);\n        }\n    }, [applyContextRequestError]);\n\n    const handleCloseExpirationContextAlert = React.useCallback(() => {\n        setIsShowExpirationContextAlert(false);\n    }, []);\n\n    const handleExpireContext = React.useCallback(() => {\n        setIsShowExpirationContextAlert(true);\n\n        dispatch(\n            changeDeadheadContext({\n                type: 'check-context-expiration',\n            }),\n        );\n    }, [dispatch]);\n\n    const mapStateContextValue = usySyncMapStateContextValue();\n    const assetScheduleContextValue = usySyncAssetScheduleContextValue();\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.doNotIncludeCostsInTransportOrder]: BooleanParam,\n        [QueryKeysEnum.contextId]: StringParam,\n    });\n\n    const doNotIncludeCostsInTransportOrder = !!query?.doNotIncludeCostsInTransportOrder;\n    const setDoNotIncludeCostsInTransportOrder = (doNotIncludeCostsInTransportOrder: boolean) => {\n        changeQuery({\n            [QueryKeysEnum.doNotIncludeCostsInTransportOrder]: doNotIncludeCostsInTransportOrder,\n        });\n    };\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const deadheadPreviewResponse = useSelector(selectDeadheadPreviewResponse);\n\n    const [activeStepIndex, setActiveStepIndex] = React.useState<number>(0);\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const handleClose = () => {\n        goBackIfHasRePath(() => {\n            history.push(urlFactory.brokerTours());\n        });\n    };\n\n    const initialFormValuesRef = React.useRef<RouteFormValuesT | null>(null);\n\n    const handleSubmitRouteForm = (contextId: ContextIdT, routeFormValues: RouteFormValuesT) => {\n        changeQuery({\n            [QueryKeysEnum.contextId]: contextId,\n        });\n\n        initialFormValuesRef.current = routeFormValues;\n\n        setActiveStepIndex((activeStepIndex) => activeStepIndex + 1);\n    };\n\n    const handleSubmitRouteDetailsForm = (routeDetailsFormValues: RouteDetailsFormValuesT) => {\n        dispatch(\n            applyContextRequest({\n                doNotIncludeCostsInTransportOrder,\n                contacts: prepareContacts(routeDetailsFormValues.contacts),\n            }),\n        );\n    };\n\n    React.useEffect(() => {\n        return () => {\n            dispatch(resetDeadheadCreation());\n        };\n    }, [dispatch]);\n\n    const scheduleTimeWindowFactory = useScheduleTimeWindowFactory();\n    const newDeadheadTimeWindows = React.useMemo((): Array<TimeWindowT<VehicleScheduleEventT | null>> => {\n        if (!deadheadPreviewResponse) {\n            return [];\n        }\n\n        const firstStop = first(deadheadPreviewResponse?.stops) || null;\n        const lastStop = last(deadheadPreviewResponse?.stops) || null;\n\n        const truckDateFrom = firstStop?.correctedDateTimeFrom || firstStop?.originalDateTimeFrom || null;\n        const truckDateTo = lastStop?.correctedDateTimeTo || lastStop?.originalDateTimeTo || null;\n\n        const start = parseDateStringWithoutTimezone(truckDateFrom);\n        const end = parseDateStringWithoutTimezone(truckDateTo);\n        if (!isNumber(start) || !isNumber(end)) {\n            return [];\n        }\n\n        return [\n            {\n                id: NEW_DEADHEAD_TOUR_EVENT_ID,\n                data: null,\n                start,\n                end,\n                isTransparent: false,\n                ...scheduleTimeWindowFactory.accentTO({ entityNumber: '-' }),\n                label: t('deadhead-creation.schedule.new-deadhead-time-window.label'),\n            },\n        ];\n    }, [deadheadPreviewResponse, scheduleTimeWindowFactory, t]);\n\n    const selectedTruckId = assetScheduleContextValue?.truckId || null;\n    const fetchScheduleRequestStatus = useSelector(selectFetchScheduleRequest(selectedTruckId));\n    const schedule = useSelector(selectVehicleSchedule(selectedTruckId));\n\n    React.useEffect(() => {\n        if (selectedTruckId) {\n            dispatch(fetchVehicleSchedule({ vehicleId: selectedTruckId }));\n        }\n    }, [dispatch, selectedTruckId]);\n\n    const refreshVehicleSchedulesHandler = React.useCallback(\n        (event: InferChannelEventT<typeof vehicleSchedulesRefreshChannel>) => {\n            const { vehicleId } = event;\n\n            if (vehicleId === selectedTruckId) {\n                dispatch(fetchVehicleSchedule({ vehicleId: selectedTruckId }, { isForceUpdate: true }));\n            }\n        },\n        [dispatch, selectedTruckId],\n    );\n    useChannelSubscribe(vehicleSchedulesRefreshChannel, refreshVehicleSchedulesHandler);\n\n    return (\n        <SyncRouteEditFormMapStateContext.Provider value={mapStateContextValue}>\n            <SyncAssetScheduleContext.Provider value={assetScheduleContextValue}>\n                <GoogleMapContext.Provider value={googleMapsContextValue}>\n                    <PageTitle title={t('page-titles.deadhead-creation')} />\n                    <HorizontalColumnsLayout\n                        testSelector=\"broker-tour-deadhead-creation\"\n                        className={cx('wrap')}\n                        leftColumnTitle={t('deadhead-creation.main-tabs.details')}\n                        leftColumnNode={\n                            <SideBarLayoutContextWrap>\n                                <HeaderSideBarLayout>\n                                    <HeaderSideBarContent title={t('deadhead-creation.title')} onClose={handleClose} />\n                                </HeaderSideBarLayout>\n                                <SideBarLayout>\n                                    <Steps activeStepIndex={activeStepIndex} setActiveStepIndex={setActiveStepIndex} />\n                                    {activeStepIndex === 0 && (\n                                        <RouteForm\n                                            initialFormValues={initialFormValuesRef.current}\n                                            onSubmit={handleSubmitRouteForm}\n                                            doNotIncludeCostsInTransportOrder={doNotIncludeCostsInTransportOrder}\n                                            setDoNotIncludeCostsInTransportOrder={setDoNotIncludeCostsInTransportOrder}\n                                            isShowExpirationContextAlert={isShowExpirationContextAlert}\n                                            onCloseExpirationContextAlert={handleCloseExpirationContextAlert}\n                                            onExpireContext={handleExpireContext}\n                                        />\n                                    )}\n                                    {activeStepIndex === 1 && (\n                                        <RouteDetailsForm\n                                            onSubmit={handleSubmitRouteDetailsForm}\n                                            onExpireContext={handleExpireContext}\n                                        />\n                                    )}\n                                </SideBarLayout>\n                            </SideBarLayoutContextWrap>\n                        }\n                        rightColumnTitle={t('deadhead-creation.main-tabs.map')}\n                        rightColumnNode={\n                            <div className={cx('right-column-wrap')}>\n                                <div className={cx('schedule')}>\n                                    <AssetScheduleSidebar\n                                        type=\"truck\"\n                                        isLoading={fetchScheduleRequestStatus.loading}\n                                        onEventClick={noop}\n                                        schedule={schedule}\n                                        additionalTimeWindows={newDeadheadTimeWindows}\n                                    />\n                                </div>\n                                <div className={cx('map')}>\n                                    <RouteEditMap\n                                        key=\"deadhead-create-map\"\n                                        deadheadPreviewResponse={deadheadPreviewResponse}\n                                        isShowExcludeCountriesControl={activeStepIndex === 0}\n                                    />\n                                </div>\n                            </div>\n                        }\n                    />\n                </GoogleMapContext.Provider>\n            </SyncAssetScheduleContext.Provider>\n            <SideBars />\n        </SyncRouteEditFormMapStateContext.Provider>\n    );\n});\n\nexport default BrokerTourDeadheadCreationPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"DocumentSummary__title___fw2Dz\",\"download\":\"DocumentSummary__download___x_6Yi\",\"info\":\"DocumentSummary__info___amiK6\",\"fadeIn\":\"DocumentSummary__fadeIn___MxdOO\",\"blinking\":\"DocumentSummary__blinking___AhV5S\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipmentDetailsCard.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport Card from 'design-system/components/Card/Card';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\n\nimport { formatTimeInterval } from 'common/utils/time';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport CargoUnitIcon from 'common/icons/CargoUnitIcon';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { getLoadUnitType } from 'common/utils/units';\nimport WeightIcon from 'common/icons/WeightIcon';\nimport SnowflakeIcon from 'common/icons/SnowflakeIcon';\nimport TemperatureModeFormatter from 'design-system/components/InfoTable/formatters/TemperatureModeFormatter/TemperatureModeFormatter';\nimport CommentIcon from 'common/icons/CommentIcon';\n\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport { ApiBrokerSpotShipmentT, ApiSpotStopT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\n\nconst ADDRESS_SEPARATOR = ', ';\n\nexport type PropsT = {\n    isReeferTrailer: boolean;\n    shipmentNumber: number;\n    shipment: ApiBrokerSpotShipmentT | null;\n    pickUpStop: ApiSpotStopT | null;\n    dropOffStop: ApiSpotStopT | null;\n    keyboardShortcut?: string;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ShipmentDetailsCard: React.FC<PropsT> = React.memo((props) => {\n    const { isReeferTrailer, shipmentNumber, shipment, pickUpStop, dropOffStop, keyboardShortcut, className } = props;\n\n    const { t } = useTranslation();\n\n    const pickUpDetails: Array<InfoTableRowT> = [\n        {\n            icon: <NumberIcon number={(pickUpStop?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n            name: t('spot-request-details.shipment-details.by-type.pickup'),\n            value: (\n                <LocationLabel\n                    format=\"s1_s2_zip_city_country\"\n                    location={pickUpStop?.address}\n                    separator={ADDRESS_SEPARATOR}\n                />\n            ),\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'origin',\n            rows: [\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.time-slots'),\n                    value: formatTimeInterval(pickUpStop?.timeSlotFrom, pickUpStop?.timeSlotTo),\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'date-time',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.company-name'),\n                    value: pickUpStop?.contact?.companyName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-company-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.contact-name'),\n                    value: pickUpStop?.contact?.fullName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.contact-phone'),\n                    value: pickUpStop?.contact?.phone,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-phone',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.contact-email'),\n                    value: pickUpStop?.contact?.email,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-email',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.reference-number'),\n                    value: shipment?.pickupReferenceNumber,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'loading-reference',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.comment'),\n                    value: pickUpStop?.contact?.comment,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-comment',\n                },\n            ],\n        },\n    ];\n\n    const dropOffDetails: Array<InfoTableRowT> = [\n        {\n            icon: <NumberIcon number={(dropOffStop?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n            name: t('spot-request-details.shipment-details.by-type.delivery'),\n            value: (\n                <LocationLabel\n                    format=\"s1_s2_zip_city_country\"\n                    location={dropOffStop?.address}\n                    separator={ADDRESS_SEPARATOR}\n                />\n            ),\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'origin',\n            rows: [\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.time-slots'),\n                    value: formatTimeInterval(dropOffStop?.timeSlotFrom, dropOffStop?.timeSlotTo),\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'date-time',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.company-name'),\n                    value: dropOffStop?.contact?.companyName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-company-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.contact-name'),\n                    value: dropOffStop?.contact?.fullName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.contact-phone'),\n                    value: dropOffStop?.contact?.phone,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-phone',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.contact-email'),\n                    value: dropOffStop?.contact?.email,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-email',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.reference-number'),\n                    value: shipment?.dropOffReferenceNumber,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'loading-reference',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('spot-request-details.shipment-details.columns.comment'),\n                    value: dropOffStop?.contact?.comment,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-comment',\n                },\n            ],\n        },\n    ];\n\n    const loadDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <CargoUnitIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.light}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                />\n            ),\n            name: t('spot-request-details.shipment-details.columns.units'),\n            value: <UnitTypeCount type={getLoadUnitType(shipment?.unitsType)} count={shipment?.maxNumberOfUnits} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'load-units',\n        },\n        {\n            icon: <WeightIcon fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('spot-request-details.shipment-details.columns.cargo-weight'),\n            value: <UnitTypeCount count={shipment?.weight} type={UnitTypeEnum.kilogramsAbbreviation} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'cargo-weight',\n        },\n        isReeferTrailer\n            ? {\n                  icon: <SnowflakeIcon fillColor={StyleGuideColorsEnum.gray} />,\n                  name: t('spot-request-details.shipment-details.columns.temperature'),\n                  value: (\n                      <TemperatureModeFormatter\n                          lowestTemperature={shipment?.lowestTemperature}\n                          highestTemperature={shipment?.highestTemperature}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'temperature',\n              }\n            : null,\n        {\n            icon: <CommentIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('spot-request-details.shipment-details.columns.description'),\n            value: shipment?.description,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'description',\n        },\n    ];\n\n    return (\n        <>\n            <Card\n                titleNode={t('spot-request-details.shipment-details.title', {\n                    number: shipmentNumber,\n                })}\n                afterTitleNode={\n                    <CargoUnitIcon\n                        size={DEFAULT_ICON_SIZE}\n                        fillColor={StyleGuideColorsEnum.light}\n                        strokeColor={StyleGuideColorsEnum.slate}\n                    />\n                }\n                className={className}\n                hasHeaderBottomBorder\n                keyboardShortcut={keyboardShortcut}\n            >\n                <div className={cx('content')}>\n                    <InfoTable shouldRenderIcons rows={pickUpDetails} className={cx('table', 'table--point')} />\n                    <InfoTable shouldRenderIcons rows={dropOffDetails} className={cx('table', 'table--point')} />\n                    <InfoTable\n                        shouldRenderIcons\n                        className={cx('table', 'table--load')}\n                        rows={loadDetails}\n                        testSelector=\"load-details\"\n                    />\n                </div>\n            </Card>\n        </>\n    );\n});\n\nexport default ShipmentDetailsCard;\n","import { FormikHelpers, FormikState } from 'formik';\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { useEffect, useRef } from 'react';\n\ntype FormikT = FormikState<FormValuesT> & FormikHelpers<FormValuesT>;\n\nexport const useEditRouteWatcher = (formik: FormikT) => {\n    const prevFirstEmptyLocationRoutePointIndex = useRef<number | null>(null);\n\n    const routeValue = formik.values[FieldsEnum.route];\n\n    useEffect(() => {\n        const firstEmptyLocationRoutePointIndex = routeValue?.findIndex((routePointValue) => {\n            return !routePointValue[RoutePointFieldsEnum.location];\n        });\n\n        if (prevFirstEmptyLocationRoutePointIndex.current !== firstEmptyLocationRoutePointIndex) {\n            if (firstEmptyLocationRoutePointIndex !== -1 && firstEmptyLocationRoutePointIndex !== null) {\n                const newRouteValue = routeValue.map((routePointValue, index) => {\n                    const isShouldResetTimeWindow = index >= firstEmptyLocationRoutePointIndex;\n                    if (routePointValue[RoutePointFieldsEnum.timeWindow] && isShouldResetTimeWindow) {\n                        return {\n                            ...routePointValue,\n                            [RoutePointFieldsEnum.timeWindow]: null,\n                            [RoutePointFieldsEnum.isBrokerTimeWindow]: false,\n                        };\n                    }\n\n                    return routePointValue;\n                });\n\n                formik.setFieldValue(FieldsEnum.route, newRouteValue);\n            }\n\n            prevFirstEmptyLocationRoutePointIndex.current = firstEmptyLocationRoutePointIndex;\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [routeValue]);\n};\n","import { FieldsEnum, requiredContactsStopTypeSet, RouteDetailsFormValuesT } from './constants';\nimport { DeadheadRouteStopT } from 'broker-admin/store/deadhead-creation/models';\n\nexport const prepareValues = (\n    values: RouteDetailsFormValuesT,\n    stops: Array<DeadheadRouteStopT>,\n): RouteDetailsFormValuesT => {\n    const contacts = values[FieldsEnum.contacts] || [];\n\n    return {\n        ...values,\n        contacts: contacts.filter((_, index) => {\n            const stop = stops[index] || null;\n\n            const isRequiredContacts = stop?.type ? requiredContactsStopTypeSet.has(stop.type) : false;\n\n            return isRequiredContacts;\n        }),\n    };\n};\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport DropdownControl, {\n    checkIsNotEmptyOptions,\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport { updateEntityStatus } from 'common/store/state-machine/slice';\nimport { ApiShipmentEventTypeT, ApiShipmentStatusT, ShipmentStatusEnum } from 'common/utils/api/models';\nimport {\n    AvailableSubjectStatusesResponseT,\n    StateMachineEntityDescriptorT,\n    TypedAvailableSubjectStatusesResponseT,\n} from 'common/store/state-machine/models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport CancelLastShipmentConfirmation, {\n    CancelLastShipmentConfirmationDataT,\n} from 'common/layouts/dialogs/CancelLastShipmentConfirmation/CancelLastShipmentConfirmation';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\n\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { useStateMachine } from 'common/utils/hooks/useStateMachine';\nimport classNames from 'classnames/bind';\n\nimport styles from './ChangeShipmentStatusSidebarFooter.scss';\nimport TimeLeftForStart from 'common/layouts/sidebar-footers/TimeLeftForStart/TimeLeftForStart';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport { logWarning } from 'common/utils/logger';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport RestoreIcon from 'common/icons/RestoreIcon';\nimport { isNonNil } from 'common/utils';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport { LOAD_STATUS_T_MAP } from 'common/components/status-pill/ShipmentStatusPill/ShipmentStatusPill';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isShowLoading: boolean;\n    tourId: TourIdT | null;\n    shipment: TransportOrderDetailsT['shipments'][number] | null;\n    onAttachTourPapers: (tourId: TourIdT) => void;\n    shouldConfirmForCancelLastShipment: boolean;\n};\n\nconst blockedI18nMap: Record<NonNullable<AvailableSubjectStatusesResponseT['description']>, string> = {\n    HAS_LOADING_UNLOADING_SHIPMENT: 'change-shipment-status.blocked.HAS_LOADING_UNLOADING_SHIPMENT',\n    NOT_FULLY_ASSIGN: 'change-shipment-status.blocked.NOT_FULLY_ASSIGN',\n    ALL_SHIPMENTS_NOT_DELIVERED: 'change-shipment-status.blocked.ALL_SHIPMENTS_NOT_DELIVERED',\n    DRIVER_NOT_ARRIVED_AT_STOP: 'change-shipment-status.blocked.DRIVER_NOT_ARRIVED_AT_STOP',\n    ATTACH_DOCUMENT: 'change-shipment-status.blocked.ATTACH_DOCUMENT',\n};\n\nconst deadlineGuideI18nMap: Record<ApiShipmentEventTypeT, string> = {\n    LOADING: 'change-shipment-status.deadline-guide.LOADING',\n    UNLOADING: 'change-shipment-status.deadline-guide.UNLOADING',\n};\n\nconst shipmentActionI18nMap: Record<ApiShipmentStatusT, string> = {\n    LOADING: 'change-shipment-status.actions.LOADING',\n    AWAITING_LOADING: 'change-shipment-status.actions.AWAITING_LOADING',\n    IN_TRANSIT: 'change-shipment-status.actions.IN_TRANSIT',\n    UNLOADING: 'change-shipment-status.actions.UNLOADING',\n    DELIVERED: 'change-shipment-status.actions.DELIVERED',\n    CANCELED: 'change-shipment-status.actions.CANCELED',\n};\n\nconst ChangeShipmentStatusSidebarFooter: React.FC<PropsT> = React.memo((props) => {\n    const { className, isShowLoading, tourId, shipment, onAttachTourPapers, shouldConfirmForCancelLastShipment } =\n        props;\n\n    const cancelLastShipmentConfirmation = useModalDialog<CancelLastShipmentConfirmationDataT>();\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const shipmentId = shipment?.id || null;\n\n    const descriptor = useMemo((): StateMachineEntityDescriptorT | null => {\n        if (!shipmentId) {\n            return null;\n        }\n\n        return {\n            entityType: 'SHIPMENT',\n            entityId: shipmentId,\n        };\n    }, [shipmentId]);\n\n    const availableStatuses = (shipment?.availableStatuses ||\n        null) as TypedAvailableSubjectStatusesResponseT<ApiShipmentStatusT> | null;\n\n    const { updateRequest } = useStateMachine<ApiShipmentStatusT>(descriptor);\n\n    const firstForwardAvailableStatus = React.useMemo(() => {\n        return (\n            availableStatuses?.forward?.find((status) => {\n                return status !== ShipmentStatusEnum.canceled;\n            }) || null\n        );\n    }, [availableStatuses]);\n\n    const forwardDescription = availableStatuses?.description || null;\n\n    const backwardDescription = availableStatuses?.backwardDescription || null;\n\n    const firstBackwardAvailableStatus =\n        (availableStatuses?.backward?.find((status) => {\n            return status !== ShipmentStatusEnum.canceled;\n        }) as ApiShipmentStatusT) || null;\n\n    useCloseModalDialogAfterRequest(updateRequest, [cancelLastShipmentConfirmation]);\n\n    const isShowCancelAction = shipment?.canBeCanceled;\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum | null | undefined> = [\n        firstBackwardAvailableStatus\n            ? {\n                  label: (\n                      <Tooltip\n                          position={TooltipPositionEnum.topCenter}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={\n                              backwardDescription ? (\n                                  <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                      {t(blockedI18nMap[backwardDescription])}\n                                  </TooltipContent>\n                              ) : null\n                          }\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  isDisabled={!!backwardDescription}\n                                  label={\n                                      backwardDescription\n                                          ? t('change-shipment-status.unable-undo', {\n                                                action: t(LOAD_STATUS_T_MAP[firstBackwardAvailableStatus]),\n                                            })\n                                          : t('change-shipment-status.undo', {\n                                                action: t(LOAD_STATUS_T_MAP[firstBackwardAvailableStatus]),\n                                            })\n                                  }\n                                  icon={<RestoreIcon strokeColor={StyleGuideColorsEnum.tomatoRed} />}\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  isDisabled: !!backwardDescription,\n                  onSelect: () => {\n                      if (!descriptor) {\n                          logWarning('Empty tour id or waypoint id or descriptor');\n                          return;\n                      }\n\n                      if (firstBackwardAvailableStatus && shipmentId) {\n                          dispatch(\n                              updateEntityStatus({\n                                  update: {\n                                      status: firstBackwardAvailableStatus,\n                                      entityType: 'SHIPMENT',\n                                      entityId: shipmentId,\n                                  },\n                                  descriptor,\n                              }),\n                          );\n                      }\n                  },\n              }\n            : null,\n        isShowCancelAction ? SpecialOptionEnum.separator : null,\n        isShowCancelAction\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          label={t('change-shipment-status.cancel')}\n                          icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                      />\n                  ),\n                  onSelect: () => {\n                      if (!shipmentId || !descriptor) {\n                          return;\n                      }\n\n                      const data = {\n                          update: {\n                              status: ShipmentStatusEnum.canceled,\n                              entityType: 'SHIPMENT',\n                              entityId: shipmentId,\n                          },\n                          descriptor,\n                      } as const;\n\n                      if (shouldConfirmForCancelLastShipment) {\n                          cancelLastShipmentConfirmation.setData(data);\n                      } else {\n                          dispatch(updateEntityStatus(data));\n                      }\n                  },\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const isLoading = updateRequest?.loading;\n\n    const handleConfirmCancelLastShipment = (data: CancelLastShipmentConfirmationDataT) => {\n        dispatch(updateEntityStatus(data));\n    };\n\n    const handleDoCurrentFirstDoAction = () => {\n        if (firstForwardAvailableStatus && shipmentId && descriptor) {\n            dispatch(\n                updateEntityStatus({\n                    update: {\n                        entityType: 'SHIPMENT',\n                        entityId: shipmentId,\n                        status: firstForwardAvailableStatus,\n                    },\n                    descriptor,\n                }),\n            );\n            return;\n        }\n\n        logWarning('Empty action');\n    };\n\n    const renderCurrentShipmentAction = ({ isDisabled }: { isDisabled: boolean }) => {\n        if (forwardDescription === 'ATTACH_DOCUMENT' && tourId) {\n            return (\n                <Button\n                    className={cx('action', 'action--next')}\n                    theme={ButtonThemeEnum.secondaryPositive}\n                    onClick={() => {\n                        onAttachTourPapers(tourId);\n                    }}\n                    isDisabled={isDisabled}\n                    isLoading={isLoading}\n                >\n                    {t('change-shipment-status.attach-papers')}\n                </Button>\n            );\n        }\n\n        if (forwardDescription) {\n            return (\n                <Alert\n                    icon={<InfoIcon fillColor={StyleGuideColorsEnum.light} />}\n                    size={AlertSizeEnum.small}\n                    theme={AlertThemeEnum.gray}\n                    className={cx('alert')}\n                >\n                    {t(blockedI18nMap[forwardDescription])}\n                </Alert>\n            );\n        }\n\n        if (firstForwardAvailableStatus) {\n            return (\n                <Button\n                    className={cx('action', 'action--next')}\n                    theme={ButtonThemeEnum.secondaryPositive}\n                    onClick={handleDoCurrentFirstDoAction}\n                    isDisabled={isDisabled}\n                    isLoading={isLoading}\n                >\n                    {t(shipmentActionI18nMap[firstForwardAvailableStatus])}\n                </Button>\n            );\n        }\n\n        return null;\n    };\n\n    const deadline = shipment?.eventDateTime?.timeStamp;\n\n    const deadlineLabel = shipment?.eventDateTime?.type ? t(deadlineGuideI18nMap[shipment?.eventDateTime?.type]) : null;\n\n    const alreadyStartedLabel = t('change-shipment-status.out-of-time', {\n        toAction: deadlineLabel,\n    });\n\n    if (!isShowLoading) {\n        return null;\n    }\n\n    return (\n        <>\n            <TimeLeftForStart\n                deadline={deadline}\n                alreadyStartedLabel={alreadyStartedLabel}\n                deadlineLabel={deadlineLabel}\n                renderActions={(isDisabled) => {\n                    return [\n                        renderCurrentShipmentAction({ isDisabled }),\n                        checkIsNotEmptyOptions(options) && (\n                            <DropdownControl\n                                key=\"actions\"\n                                className={className}\n                                options={options}\n                                isDisabled={isLoading}\n                                isShowTriggerForEmptyOptions={isLoading}\n                                renderTrigger={(isActive, onClick) => (\n                                    <TransparentTrigger\n                                        isPressed={isActive}\n                                        onClick={onClick}\n                                        leftIcon={<MoreIcon />}\n                                        reflectionTheme={ReflectionThemeEnum.light}\n                                    />\n                                )}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                            />\n                        ),\n                    ];\n                }}\n            />\n            <ClickInterceptorLabel>\n                <CancelLastShipmentConfirmation\n                    requestStatus={updateRequest}\n                    data={cancelLastShipmentConfirmation.data}\n                    onClose={cancelLastShipmentConfirmation.onClose}\n                    onCancel={cancelLastShipmentConfirmation.onCancel}\n                    onConfirm={handleConfirmCancelLastShipment}\n                />\n            </ClickInterceptorLabel>\n        </>\n    );\n});\n\nexport default ChangeShipmentStatusSidebarFooter;\n","import * as React from 'react';\nimport { useState } from 'react';\n\nimport AuthLayout from 'common/layouts/AuthLayout/AuthLayout';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport classNames from 'classnames/bind';\nimport styles from './SelfCreateCompanyPage.scss';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport CreateCompanyForm from 'common/layouts/SelfCreateCompanyPage/CreateCompanyForm/CreateCompanyForm';\nimport { ApiRegistrationCompanyRequestDraftT, PartnerTypeEnum } from 'common/utils/api/models';\nimport { createCompanyRequest } from 'common/store/create-company/slice';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport { selectCreateCompanyRequest, selectCreatedCompanyIsLocked } from 'common/store/create-company/selectors';\nimport { QueryKeysEnum } from 'common/constants';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport AuthLayoutMessage, { AuthMessageIconsEnum } from 'common/layouts/AuthLayout/AuthLayoutMessage/AuthLayoutMessage';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\nimport { selectCountriesDictRequest } from 'common/store/countries-dict/selectors';\nimport history from 'common/utils/history';\nimport { parseAuthReturnUrl } from 'common/utils/auth-return-url';\nimport { selectUser } from 'common/store/auth/selectors';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype QueryT = {\n    [QueryKeysEnum.returnUrl]: string;\n};\n\ntype PropsT = {};\n\nconst SelfCreateCompanyPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const { partnerType } = usePartnerContext();\n\n    const query = useQuery<QueryT>();\n\n    const returnUrl = query[QueryKeysEnum.returnUrl] || null;\n\n    const [isShowLockedMessage, setIsShowLockedMessage] = useState(false);\n\n    const user = useSelector(selectUser);\n\n    const countriesDictRequest = useSelector(selectCountriesDictRequest);\n    const requestStatus = useSelector(selectCreateCompanyRequest);\n    const isLocked = useSelector(selectCreatedCompanyIsLocked);\n\n    useOnlyChangesEffect(() => {\n        if (isLocked) {\n            setIsShowLockedMessage(isLocked);\n        }\n    }, [isLocked]);\n\n    useOnlyChangesEffect(() => {\n        if (countriesDictRequest.error) {\n            history.push(parseAuthReturnUrl(returnUrl));\n        }\n    }, [countriesDictRequest.error]);\n\n    useOnlyChangesEffect(() => {\n        if (user) {\n            history.push(parseAuthReturnUrl(returnUrl));\n        }\n    }, [user]);\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const handleSubmit = (registrationCompanyRequestDraft: ApiRegistrationCompanyRequestDraftT): void => {\n        dispatch(createCompanyRequest({ registrationCompanyRequestDraft, returnUrl }));\n    };\n\n    if (isShowLockedMessage) {\n        return (\n            <AuthLayout testSelector=\"created-company-is-locked\">\n                <AuthLayoutMessage\n                    iconType={AuthMessageIconsEnum.success}\n                    title={t('common:sign-up.success-message.title')}\n                    description={t('common:sign-up.success-message.description')}\n                    testSelector=\"success\"\n                />\n            </AuthLayout>\n        );\n    }\n\n    const isBroker = partnerType === PartnerTypeEnum.broker;\n    if (isBroker) {\n        return (\n            <AuthLayout testSelector=\"continue-sign-up-page\">\n                <AuthLayoutMessage\n                    iconType={AuthMessageIconsEnum.warning}\n                    title={t('common:self-create-company.messages.blocked-for-broker')}\n                    testSelector=\"broker-create-company-forbidden\"\n                />\n            </AuthLayout>\n        );\n    }\n\n    return (\n        <>\n            <AuthLayout title={t('common:continue-sign-up.title')} testSelector=\"continue-sign-up-page\">\n                <PageTitle title={t('common:page-titles.continue-sign-up')} />\n                <CreateCompanyForm onSubmit={handleSubmit} requestStatus={requestStatus} />\n            </AuthLayout>\n        </>\n    );\n});\n\nexport default SelfCreateCompanyPage;\n","import * as React from 'react';\nimport { ApiBrokerOrderStatusT, BrokerOrderStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiBrokerOrderStatusT | null | undefined;\n};\n\nexport const BROKER_ORDER_STATUS_T_MAP: Record<ApiBrokerOrderStatusT, string> = {\n    [BrokerOrderStatusEnum.newOrder]: 'common:broker-order-status.NEW_ORDER',\n    [BrokerOrderStatusEnum.carrierUnassigned]: 'common:broker-order-status.CARRIER_UNASSIGNED',\n    [BrokerOrderStatusEnum.carrierAssigned]: 'common:broker-order-status.CARRIER_ASSIGNED',\n    [BrokerOrderStatusEnum.inTransit]: 'common:broker-order-status.IN_TRANSIT',\n    [BrokerOrderStatusEnum.canceled]: 'common:broker-order-status.CANCELED',\n    [BrokerOrderStatusEnum.delivered]: 'common:broker-order-status.DELIVERED',\n    [BrokerOrderStatusEnum.unknown]: 'common:broker-order-status.UNKNOWN',\n};\n\nconst BrokerOrderStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(BROKER_ORDER_STATUS_T_MAP[status]);\n});\n\nexport default BrokerOrderStatus;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './Table.scss';\nimport TableSkeleton from 'common/components/Table/TableSkeleton/TableSkeleton';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport LineLoader from 'common/components/LineLoader/LineLoader';\nimport { isNonNil } from 'common/utils';\nimport { useRef } from 'react';\n\nconst cx = classNames.bind(styles);\n\nexport type TableRowMetaT = {\n    isSelected: boolean;\n    isHovered: boolean;\n};\n\nexport type TableColumnT<RowT, ColumnsExtraDataT> = {\n    // headers\n    renderHeader: (columnsExtraData?: ColumnsExtraDataT) => React.ReactElement | null;\n    headerClassName?: string;\n\n    // cells\n    render: (row: RowT, meta: TableRowMetaT, rowIndex: number) => React.ReactElement | null;\n    className?: string;\n\n    testSelector?: string;\n};\n\nexport enum TableRowModsEnum {\n    hasLeftGreenBorder = 'hasLeftGreenBorder',\n    hasLeftOrangeBorder = 'hasLeftOrangeBorder',\n    hasLeftRedBorder = 'hasLeftRedBorder',\n    hasLeftGreyBorder = 'hasLeftGreyBorder',\n    isHighlighted = 'isHighlighted',\n    isSelected = 'isSelected',\n}\n\ntype PropsT<RowT, ColumnsExtraDataT> = {\n    className?: string;\n    columns: Array<TableColumnT<RowT, ColumnsExtraDataT> | null>;\n    columnsExtraData?: ColumnsExtraDataT;\n    selectedRowsSet?: Set<RowT>;\n    rows: Array<RowT>;\n    getRowMods?: (meta: TableRowMetaT, row: RowT) => Partial<Record<TableRowModsEnum, boolean>>;\n    onSelectRow?: (event: React.MouseEvent, row: RowT) => void;\n    isLoading: boolean;\n    testSelector?: string;\n    isUsedPrevRows: boolean;\n};\n\nconst DEFAULT_MODS = {\n    hasLeftGreenBorder: false,\n    hasLeftOrangeBorder: false,\n    hasLeftRedBorder: false,\n    hasLeftGreyBorder: false,\n    isHighlighted: false,\n    isSelected: false,\n};\n\nconst CLICK_SHIFT_LIMIT = 10;\n\nconst Table = <RowT, ColumnsExtraDataT>(props: PropsT<RowT, ColumnsExtraDataT>) => {\n    const {\n        columns,\n        rows,\n        className,\n        onSelectRow,\n        selectedRowsSet,\n        getRowMods,\n        columnsExtraData,\n        isLoading,\n        testSelector,\n        isUsedPrevRows,\n    } = props;\n\n    const mouseDownPositionRef = useRef<number>(0);\n\n    const [hoveredRow, onHoverRow] = React.useState<RowT | null>(null);\n\n    const filteredColumns = React.useMemo(() => {\n        return columns.filter(isNonNil);\n    }, [columns]);\n\n    const fullTestSelector = `${testSelector}_table`;\n\n    const isShowTable = !!rows.length;\n    const isShowTableLoader = isLoading && !isShowTable;\n    const isShowLineLoader = isLoading && isShowTable && !isUsedPrevRows;\n    const isShowOverlayLoader = isUsedPrevRows;\n\n    if (!isLoading && !isShowTable) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('table'), className)}>\n            {isShowTable && (\n                <table data-test-selector={fullTestSelector}>\n                    <thead>\n                        <tr>\n                            {filteredColumns.map((column, columnIndex) => (\n                                <th\n                                    key={columnIndex}\n                                    className={column.headerClassName}\n                                    data-test-selector={`${fullTestSelector}_header_${column.testSelector}`}\n                                >\n                                    {column.renderHeader(columnsExtraData)}\n                                </th>\n                            ))}\n                        </tr>\n                        <tr>\n                            <td colSpan={filteredColumns.length}>\n                                <LineLoader isShow={isShowLineLoader} />\n                            </td>\n                        </tr>\n                    </thead>\n                    <tbody>\n                        {rows.map((row, rowIndex) => {\n                            const meta: TableRowMetaT = {\n                                isSelected: !!selectedRowsSet?.has(row),\n                                isHovered: hoveredRow === row,\n                            };\n\n                            const rowMods = getRowMods ? getRowMods(meta, row) : DEFAULT_MODS;\n\n                            return (\n                                <tr\n                                    key={rowIndex}\n                                    className={cx('row', {\n                                        'row--isSelectable': !!onSelectRow,\n                                        'row--hasLeftGreenBorder': rowMods.hasLeftGreenBorder,\n                                        'row--hasLeftRedBorder': rowMods.hasLeftRedBorder,\n                                        'row--hasLeftGreyBorder': rowMods.hasLeftGreyBorder,\n                                        'row--hasLeftOrangeBorder': rowMods.hasLeftOrangeBorder,\n                                        'row--isHighlighted': rowMods.isHighlighted,\n                                        'row--isSelected': rowMods.isSelected,\n                                    })}\n                                    onClick={(event): void => {\n                                        const isClick =\n                                            Math.abs(mouseDownPositionRef.current - event.clientX) < CLICK_SHIFT_LIMIT;\n                                        if (!isClick) {\n                                            return;\n                                        }\n\n                                        if (onSelectRow) {\n                                            onSelectRow(event, row);\n                                        }\n                                    }}\n                                    onMouseDown={(event) => {\n                                        mouseDownPositionRef.current = event.clientX;\n                                    }}\n                                    onMouseMove={() => {\n                                        if (row !== hoveredRow) {\n                                            onHoverRow(row);\n                                        }\n                                    }}\n                                    data-test-selector={`${fullTestSelector}_row_${rowIndex}`}\n                                >\n                                    {filteredColumns.map((column, columnIndex) => (\n                                        <td\n                                            key={columnIndex}\n                                            className={column.className}\n                                            data-test-selector={`${fullTestSelector}_cell_${column.testSelector}`}\n                                        >\n                                            {column.render(row, meta, rowIndex)}\n                                        </td>\n                                    ))}\n                                </tr>\n                            );\n                        })}\n                    </tbody>\n                </table>\n            )}\n            {isShowTableLoader && <TableSkeleton />}\n            {isShowOverlayLoader && <LoaderOverlay />}\n        </div>\n    );\n};\n\nexport default React.memo(Table) as typeof Table;\n","import classNames from 'classnames/bind';\nimport styles from './MapTooltip.scss';\nimport cs from 'classnames';\nimport * as React from 'react';\nimport isNil from 'lodash/isNil';\nimport MapPin, { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    lat: number | undefined;\n    lng: number | undefined;\n    className?: string;\n    contentClassName?: string;\n    hasPaddings?: boolean;\n    theme?: MapPinThemeEnum;\n    children: () => React.ReactElement;\n    onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n    isHover?: boolean;\n    onHover?: (isHover: boolean) => void;\n    footerNode?: React.ReactNode;\n    mapLayers?: {\n        regular: number;\n        hovered: number;\n    };\n};\n\nconst MapTooltip: React.FC<PropsT> = React.memo((props) => {\n    const { isHover, onHover, hasPaddings, lat, lng, theme, footerNode, className, mapLayers } = props;\n\n    if (isNil(lat) || isNil(lng)) {\n        return null;\n    }\n\n    return (\n        <div\n            data-map-layer={isHover ? mapLayers?.hovered : mapLayers?.regular}\n            className={cs(cx('map-tooltip-wrap'), className)}\n            onMouseMove={() => {\n                if (!isHover && onHover) {\n                    onHover(true);\n                }\n            }}\n            onMouseLeave={() => {\n                if (isHover && onHover) {\n                    onHover(false);\n                }\n            }}\n            onClick={props.onClick}\n        >\n            <MapPin className={props.contentClassName} hasPaddings={hasPaddings} theme={theme}>\n                {props.children()}\n            </MapPin>\n            {!!footerNode && <div className={cx('footer-wrap')}>{footerNode}</div>}\n        </div>\n    );\n});\n\nexport default MapTooltip;\n","import { FetchInvoicesPageQueryT, BrokerInvoiceT, DepreactedPagingStateT } from './models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_INVOICES_PAGE_REQUEST = 'broker-admin/invoices/FETCH_INVOICES_PAGE_REQUEST';\nexport const FETCH_INVOICES_PAGE_REQUEST_BEGIN = 'broker-admin/invoices/FETCH_INVOICES_PAGE_REQUEST_BEGIN';\nexport const FETCH_INVOICES_PAGE_REQUEST_ERROR = 'broker-admin/invoices/FETCH_INVOICES_PAGE_REQUEST_ERROR';\nexport const FETCH_INVOICES_PAGE_REQUEST_SUCCESS = 'broker-admin/invoices/FETCH_INVOICES_PAGE_REQUEST_SUCCESS';\nexport const RESET_INVOICES = 'broker-admin/invoices/RESET_INVOICES';\n\nexport type InvoicesStateT = PaginationStateT<BrokerInvoiceT, FetchInvoicesPageQueryT> & {\n    pagingState: DepreactedPagingStateT | null;\n};\n\nexport type FetchInvoicesPageActionT = {\n    type: typeof FETCH_INVOICES_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchInvoicesPageQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchInvoicesPageBeginActionT = {\n    type: typeof FETCH_INVOICES_PAGE_REQUEST_BEGIN;\n    query: FetchInvoicesPageQueryT;\n    pageNumber: PageNumberT;\n};\n\nexport type FetchInvoicesPageSuccessActionT = {\n    type: typeof FETCH_INVOICES_PAGE_REQUEST_SUCCESS;\n    query: FetchInvoicesPageQueryT;\n    pageResponse: PageResponseT<BrokerInvoiceT> | null;\n    pageNumber: PageNumberT;\n    pagingState: DepreactedPagingStateT | null;\n};\n\nexport type FetchInvoicesPageErrorActionT = {\n    type: typeof FETCH_INVOICES_PAGE_REQUEST_ERROR;\n    query: FetchInvoicesPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n};\n\nexport type ResetInvoicesActionT = {\n    type: typeof RESET_INVOICES;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type InvoicesActionT =\n    | FetchInvoicesPageActionT\n    | FetchInvoicesPageBeginActionT\n    | FetchInvoicesPageSuccessActionT\n    | FetchInvoicesPageErrorActionT\n    | ResetInvoicesActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"WarningFilterOptionsDropdown__overlay___zjzBF\"};","import React from 'react';\n\ntype PropsT = {\n    className?: string;\n    isDisabled?: boolean;\n    onOutsideClick: (event: MouseEvent) => void;\n    shouldHandleOutsidePress?: (event: MouseEvent) => boolean;\n};\n\nclass OutsideClickHandler extends React.PureComponent<PropsT> {\n    wrapperRef: React.RefObject<HTMLDivElement>;\n\n    constructor(props: any) {\n        super(props);\n\n        this.wrapperRef = React.createRef();\n    }\n\n    componentDidMount() {\n        document.addEventListener('mousedown', this.handleClickOutside);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener('mousedown', this.handleClickOutside);\n    }\n\n    handleClickOutside = (event: any) => {\n        const wrapperNode = this.wrapperRef?.current;\n        if (!wrapperNode) {\n            return;\n        }\n\n        if (!wrapperNode.contains(event.target)) {\n            if (this.props.isDisabled) {\n                return;\n            }\n\n            const { shouldHandleOutsidePress } = this.props;\n            if (shouldHandleOutsidePress && !shouldHandleOutsidePress(event)) {\n                return;\n            }\n\n            if (this.props.onOutsideClick) {\n                this.props.onOutsideClick(event);\n            }\n        }\n    };\n\n    render() {\n        const { className } = this.props;\n\n        return (\n            <div className={className} ref={this.wrapperRef}>\n                {this.props.children}\n            </div>\n        );\n    }\n}\n\nexport default OutsideClickHandler;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst CommentIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M16 13.877V4H4v9h11.123l.877.877zM14.5 11.5h-9V10h9v1.5zm0-2.25h-9v-1.5h9v1.5zm0-2.25h-9V5.5h9V7z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M4 14.5h10.5l3 3L17.492 4c0-.825-.667-1.5-1.492-1.5H4c-.825 0-1.5.675-1.5 1.5v9c0 .825.675 1.5 1.5 1.5zM4 4h12v9.877L15.123 13H4V4zm1.5 6h9v1.5h-9V10zm0-2.25h9v1.5h-9v-1.5zm0-2.25h9V7h-9V5.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nCommentIcon.displayName = 'CommentIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.light,\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default CommentIcon;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const trailersRefreshChannel = new ViewEventChannel<{}>();\n\nexport const trailerDetailsRefreshChannel = new ViewEventChannel<{}>();\n\nexport const trailersPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import * as React from 'react';\nimport { ErrorInfo } from 'react';\nimport { generateTraceId, logErrorWithTraceId } from 'common/utils/logger';\n\ntype PropsT = {};\n\ntype StateT = {\n    error: Error | null;\n    errorInfo: ErrorInfo | null;\n    traceId: TraceIdT | null;\n};\n\nclass ErrorBoundary extends React.Component<PropsT, StateT> {\n    constructor(props: PropsT) {\n        super(props);\n        this.state = { error: null, errorInfo: null, traceId: null };\n    }\n\n    static getDerivedStateFromError() {\n        return {\n            error: new Error('syntetic getDerivedStateFromError'),\n            errorInfo: null,\n            traceId: null,\n        };\n    }\n\n    componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n        const traceId = generateTraceId();\n\n        logErrorWithTraceId('ErrorBoundary componentDidCatch', traceId, error, errorInfo);\n\n        this.setState({\n            error,\n            errorInfo,\n            traceId,\n        });\n    }\n\n    render(): React.ReactNode {\n        const { children } = this.props;\n        const { error, errorInfo, traceId } = this.state;\n\n        if (error) {\n            return (\n                <div style={{ padding: 40 }}>\n                    <div>\n                        <h1>Something went wrong...</h1>\n                    </div>\n                    <br />\n                    <div>\n                        <div>\n                            <b>Trace ID:</b> {traceId}\n                        </div>\n                        <br />\n                        <div>\n                            <b>Error message:</b> {error.message}\n                        </div>\n                        <div>\n                            <b>Error info:</b> {errorInfo?.componentStack}\n                        </div>\n                    </div>\n                </div>\n            );\n        }\n\n        return children;\n    }\n}\n\nexport default ErrorBoundary;\n","export enum FieldsEnum {\n    truckId = 'truckId',\n    trailerId = 'trailerId',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.truckId]: TruckIdT | null;\n    [FieldsEnum.trailerId]: TrailerIdT | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { FetchSpotRequestsPageQueryT, SpotRequestT } from './models';\n\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_SPOT_REQUESTS_PAGE_REQUEST = 'broker-admin/spot-requests/FETCH_SPOT_REQUESTS_PAGE_REQUEST';\nexport const FETCH_SPOT_REQUESTS_PAGE_REQUEST_BEGIN =\n    'broker-admin/spot-requests/FETCH_SPOT_REQUESTS_PAGE_REQUEST_BEGIN';\nexport const FETCH_SPOT_REQUESTS_PAGE_REQUEST_ERROR =\n    'broker-admin/spot-requests/FETCH_SPOT_REQUESTS_PAGE_REQUEST_ERROR';\nexport const FETCH_SPOT_REQUESTS_PAGE_REQUEST_SUCCESS =\n    'broker-admin/spot-requests/FETCH_SPOT_REQUESTS_PAGE_REQUEST_SUCCESS';\n\nexport const RESET_SPOT_REQUESTS = 'broker-admin/spot-requests/RESET_SPOT_REQUESTS';\n\nexport type SpotRequestsStateT = PaginationStateT<SpotRequestT, FetchSpotRequestsPageQueryT>;\n\nexport type FetchSpotRequestsPageActionT = {\n    type: typeof FETCH_SPOT_REQUESTS_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchSpotRequestsPageQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchSpotRequestsPageBeginActionT = {\n    type: typeof FETCH_SPOT_REQUESTS_PAGE_REQUEST_BEGIN;\n    pageNumber: PageNumberT;\n    query: FetchSpotRequestsPageQueryT;\n};\n\nexport type FetchSpotRequestsPageSuccessActionT = {\n    type: typeof FETCH_SPOT_REQUESTS_PAGE_REQUEST_SUCCESS;\n    pageNumber: PageNumberT;\n    pageResponse: PageResponseT<SpotRequestT> | null;\n    query: FetchSpotRequestsPageQueryT;\n};\n\nexport type FetchSpotRequestsPageErrorActionT = {\n    type: typeof FETCH_SPOT_REQUESTS_PAGE_REQUEST_ERROR;\n    query: FetchSpotRequestsPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n};\n\nexport type ResetSpotRequestsActionT = {\n    type: typeof RESET_SPOT_REQUESTS;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type SpotRequestsActionT =\n    | FetchSpotRequestsPageActionT\n    | FetchSpotRequestsPageBeginActionT\n    | FetchSpotRequestsPageSuccessActionT\n    | FetchSpotRequestsPageErrorActionT\n    | ResetSpotRequestsActionT;\n","import * as React from 'react';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiRuleOperatorT, ApiRuleTargetT, ApiRuleValueT } from 'common/utils/api/models';\nimport PriceRuleTargetLabel from 'broker-admin/components/PriceRuleTargetLabel/PriceRuleTargetLabel';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    ruleTarget: ApiRuleTargetT | null | undefined;\n    ruleOperator: ApiRuleOperatorT | null | undefined;\n    ruleValue: ApiRuleValueT | null | undefined;\n};\n\nconst PriceRuleTargetPill: React.FC<PropsT> = React.memo((props) => {\n    const { ruleTarget, ruleOperator, ruleValue } = props;\n\n    let theme = PillLabelThemeEnum.slate;\n    if (ruleOperator === 'PERCENTS') {\n        theme = isNumber(ruleValue) && ruleValue > 0 ? PillLabelThemeEnum.orange : PillLabelThemeEnum.brandAccent;\n    }\n\n    return (\n        <PillLabel theme={theme} testSelector=\"rule-target-pill\" isSymmetrical>\n            <PriceRuleTargetLabel ruleTarget={ruleTarget} ruleOperator={ruleOperator} ruleValue={ruleValue} />\n        </PillLabel>\n    );\n});\n\nexport default PriceRuleTargetPill;\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './NotificationsBarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport NotificationLayout from 'common/components/notifications/NotificationsBarContent/NotificationLayout/NotificationLayout';\nimport { AnyNotificationT, NotificationViewT } from 'common/store/notifications/models';\nimport { NotificationLinkFactoryT, NotificationRendererT } from './models';\nimport {\n    fetchNotificationsPage,\n    fetchUnreadNotifications,\n    markAsRead,\n    resetNotificationPages,\n} from 'common/store/notifications/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectCurrentPageNumber,\n    selectMarkAsReadRequest,\n    selectNotificationsById,\n    selectNotificationsPages,\n    selectNotificationsTotal,\n} from 'common/store/notifications/selectors';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useIsScrollable } from './useIsScrollable';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport flatten from 'lodash/flatten';\nimport { isNonNil } from 'common/utils';\nimport SideBarMessage, {\n    SideBarMessageEnum,\n} from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarMessage/SideBarMessage';\nimport { renderCommonNotification, renderUnknownNotification } from './utils';\nimport history from 'common/utils/history';\nimport { logWarning } from 'common/utils/logger';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport SideBarLayoutContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-layout-context';\nimport getScrollbarWidth from 'common/utils/get-scroll-bar-width';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport FeaturesContext from 'common/contexts/features';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    renderNotification: NotificationRendererT | null;\n    getNotificationLink: NotificationLinkFactoryT | null;\n};\n\ntype NotificationDataT = [AnyNotificationT, NotificationViewT];\n\nconst NotificationsBarContent: React.FC<PropsT> = React.memo((props) => {\n    const { renderNotification, getNotificationLink } = props;\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isAllowShowId = !!featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.showNotificationId);\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchNotificationsPage(0, {}, { isForceUpdate: true }));\n        dispatch(fetchUnreadNotifications());\n\n        return () => {\n            dispatch(resetNotificationPages());\n        };\n    }, [dispatch]);\n\n    const pages = useSelector(selectNotificationsPages);\n    const markAsReadRequest = useSelector(selectMarkAsReadRequest);\n\n    const notificationsById = useSelector(selectNotificationsById);\n\n    const currentPageNumber = useSelector(selectCurrentPageNumber);\n    const currentPage = pages[currentPageNumber];\n\n    const total = useSelector(selectNotificationsTotal);\n    const hasNextPage = total?.pageCount ? total.pageCount - 1 > currentPageNumber : false;\n\n    const isLoading =\n        (!currentPage?.requestStatus?.ok && !currentPage?.requestStatus?.error) || markAsReadRequest.loading;\n\n    const fetchNextPage = async () => {\n        if (!hasNextPage) {\n            return;\n        }\n\n        dispatch(fetchNotificationsPage(currentPageNumber + 1, {}, { isForceUpdate: true }));\n    };\n\n    const [isScrollable, ref, node] = useIsScrollable([pages]);\n\n    useEffect(() => {\n        if (!node || isLoading) return;\n\n        if (!isScrollable) {\n            fetchNextPage();\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading, isScrollable, node, currentPage]);\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const pageNotificationIds = pages.map((page, pageIndex) => {\n        return page.ids;\n    });\n\n    const allNotificationsIds = flatten(pageNotificationIds).filter(isNonNil);\n\n    const isEmpty = total?.pageCount === 0 && total?.elementCount === 0;\n\n    const context = React.useContext(SideBarLayoutContext);\n\n    React.useEffect(() => {\n        const scrollBarWidth = getScrollbarWidth(node);\n\n        if (context.scrollBarWidth) {\n            context.scrollBarWidth.setValue(scrollBarWidth);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [node, allNotificationsIds]);\n\n    const notificationData: Array<NotificationDataT> = React.useMemo(() => {\n        return allNotificationsIds\n            .map((id) => {\n                const notification = notificationsById[id];\n                if (!notification) {\n                    return null;\n                }\n\n                const notificationView: NotificationViewT =\n                    renderCommonNotification(notification) ||\n                    renderNotification?.(notification) ||\n                    renderUnknownNotification(notification);\n\n                const data: NotificationDataT = [notification, notificationView];\n\n                return data;\n            })\n            .filter(isNonNil);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [allNotificationsIds, notificationsById]);\n\n    return (\n        <div id=\"scrollableDiv\" className={cx('inner')} ref={ref}>\n            {isEmpty && (\n                <div className={cx('message-wrap')}>\n                    <SideBarMessage\n                        iconType={SideBarMessageEnum.empty}\n                        title={t('common:notification-side-bar.empty-message.title')}\n                    />\n                </div>\n            )}\n            <InfiniteScroll\n                dataLength={allNotificationsIds.length}\n                next={() => {\n                    fetchNextPage();\n                }}\n                className={cx('notifications')}\n                hasMore={hasNextPage}\n                loader={null}\n                scrollableTarget=\"scrollableDiv\"\n            >\n                {notificationData.map(([notification, notificationView]) => {\n                    return (\n                        <NotificationLayout\n                            key={notification.id}\n                            id={isAllowShowId ? notification.id : null}\n                            {...notificationView}\n                            emotion={notification.readAlready ? null : notificationView.emotion}\n                            source={notification}\n                            onClick={() => {\n                                const link: ReturnType<NotificationLinkFactoryT> =\n                                    getNotificationLink?.(notification) || null;\n                                if (link) {\n                                    history.push(link);\n                                }\n\n                                if (notification.readAlready) {\n                                    return;\n                                }\n\n                                if (notification.id) {\n                                    dispatch(markAsRead([notification.id]));\n                                } else {\n                                    logWarning('empty notification id');\n                                }\n                            }}\n                        />\n                    );\n                })}\n            </InfiniteScroll>\n            {isLoading && (\n                <div className={cx('loader')}>\n                    <ControlLoaderWithShadow fillColor={StyleGuideColorsEnum.light} />\n                </div>\n            )}\n            {!hasNextPage && currentPageNumber > 0 && currentPage?.requestStatus?.ok && (\n                <SideBarMessage\n                    className={cx('message')}\n                    iconType={SideBarMessageEnum.done}\n                    title={t('common:notification-side-bar.done-message.title')}\n                    description={t('common:notification-side-bar.done-message.description')}\n                />\n            )}\n        </div>\n    );\n});\n\nexport default NotificationsBarContent;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './TabTourDetails.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport CarrierIcon from 'common/icons/CarrierIcon';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport AssetLinkFormatter from 'design-system/components/InfoTable/formatters/AssetLinkFormatter/AssetLinkFormatter';\nimport AssetLabelFormatter from 'design-system/components/InfoTable/formatters/AssetLabelFormatter/AssetLabelFormatter';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport {\n    ApiBrokerOrderWaypointT,\n    ApiStopTypeT,\n    ApiTransportationOrderFullT,\n    PartnerTypeEnum,\n    StopTypeEnum,\n} from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport DriverIcon from 'common/icons/DriverIcon';\nimport TeamDrive2Icon from 'common/icons/TeamDrive2Icon';\nimport RadarIcon from 'common/icons/RadarIcon';\nimport WarningTextFormatter from 'design-system/components/InfoTable/formatters/WarningTextFormatter/WarningTextFormatter';\nimport { checkIsInDateRange, formatDate, formatTimeInterval } from 'common/utils/time';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport LocationLabel, { LocationLabelAddressFormatT } from 'common/components/LocationLabel/LocationLabel';\nimport SimpleDriverFormatter from 'design-system/components/InfoTable/formatters/SimpleDriverFormatter/SimpleDriverFormatter';\nimport AsyncSpotRequestDetailsLinkFormatter from 'broker-admin/components/InfoTable/formatters/AsyncSpotRequestDetailsLinkFormatter/AsyncSpotRequestDetailsLinkFormatter';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport AsyncSpotRequestDetailsStatusFormatter from 'broker-admin/components/InfoTable/formatters/AsyncSpotRequestDetailsStatusFormatter/AsyncSpotRequestDetailsStatusFormatter';\nimport DriverWrongCheckPointPill from 'common/components/pills/DriverWrongCheckPointPill/DriverWrongCheckPointPill';\nimport TrailerPickUpIcon from 'common/icons/TrailerPickUpIcon';\nimport LinkDropOffIcon from 'common/icons/LinkDropOffIcon';\nimport TruckPickUpIcon from 'common/icons/TruckPickUpIcon';\nimport TruckDropOffIcon from 'common/icons/TruckDropOffIcon';\nimport TrailerDropOffIcon from 'common/icons/TrailerDropOffIcon';\nimport { TFunction } from 'i18next';\nimport LinkPickUpIcon from 'common/icons/LinkPickUpIcon';\nimport { findTourActualTransportOrders } from 'broker-admin/store/broker-order-details/utils/find-actual-transport-order';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport AttentionTextFormatter from 'design-system/components/InfoTable/formatters/AttentionTextFormatter/AttentionTextFormatter';\nimport { checkBrokerAppointmentStatus } from 'common/utils/broker-appointment';\nimport BoatIcon from 'common/icons/BoatIcon';\n\nexport type PropsT = {\n    tour: BrokerOrderDetailsT['tours'][number] | null | undefined;\n    transportationOrders: Array<ApiTransportationOrderFullT> | null | undefined;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst detailedWaypointStopTypeSet = new Set<ApiStopTypeT>([StopTypeEnum.pickupDeliveryShipment]);\n\nconst renderWaypointName = (t: TFunction, waypoint: ApiBrokerOrderWaypointT | null | undefined) => {\n    if (!waypoint) {\n        return null;\n    }\n\n    switch (waypoint.type) {\n        case StopTypeEnum.pickupTrailer: {\n            return t('common:waypoint-details.by-type.hook-trailer');\n        }\n        case StopTypeEnum.pickupTruck: {\n            return t('common:waypoint-details.by-type.initial-truck');\n        }\n        case StopTypeEnum.pickupRoadTrain: {\n            return t('common:waypoint-details.by-type.initial-truck-and-trailer');\n        }\n        case StopTypeEnum.dropTrailer: {\n            return t('common:waypoint-details.by-type.drop-trailer');\n        }\n        case StopTypeEnum.dropTruck: {\n            return t('common:waypoint-details.by-type.drop-truck');\n        }\n        case StopTypeEnum.dropRoadTrain: {\n            return t('common:waypoint-details.by-type.drop-truck-and-trailer');\n        }\n        case StopTypeEnum.ferryOnboard: {\n            return t('common:waypoint-details.columns.ferry-onboard');\n        }\n        case StopTypeEnum.ferryDisembark: {\n            return t('common:waypoint-details.columns.ferry-disembark');\n        }\n        case StopTypeEnum.driveThrough: {\n            return t('common:waypoint-details.by-type.drive-through', {\n                number: (waypoint?.index || 0) + 1,\n            });\n        }\n        case StopTypeEnum.dropAndHook:\n        case StopTypeEnum.pickupDeliveryShipment:\n        default: {\n            return t('common:waypoint-details.by-type.pickup-delivery', {\n                number: (waypoint?.index || 0) + 1,\n            });\n        }\n    }\n};\n\nconst renderWaypointStopIcon = (waypoint: ApiBrokerOrderWaypointT | null | undefined) => {\n    if (!waypoint) {\n        return null;\n    }\n\n    switch (waypoint.type) {\n        case StopTypeEnum.pickupTrailer: {\n            return (\n                <TrailerPickUpIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.pickupTruck: {\n            return (\n                <TruckPickUpIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.pickupRoadTrain: {\n            return <LinkPickUpIcon strokeColor={StyleGuideColorsEnum.gray} />;\n        }\n        case StopTypeEnum.dropTrailer: {\n            return (\n                <TrailerDropOffIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.dropTruck: {\n            return (\n                <TruckDropOffIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.dropRoadTrain: {\n            return <LinkDropOffIcon strokeColor={StyleGuideColorsEnum.gray} />;\n        }\n        case StopTypeEnum.ferryOnboard:\n        case StopTypeEnum.ferryDisembark: {\n            return (\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.driveThrough: {\n            return <NumberIcon number={(waypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.gray} />;\n        }\n        case StopTypeEnum.dropAndHook: {\n            return <NumberIcon number={(waypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.gray} />;\n        }\n        case StopTypeEnum.pickupDeliveryShipment:\n        default: {\n            return <NumberIcon number={(waypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />;\n        }\n    }\n};\n\nconst renderWaypointLocationAddressFormat = (\n    waypoint: ApiBrokerOrderWaypointT | null | undefined,\n): LocationLabelAddressFormatT => {\n    if (!waypoint) {\n        return 's1_s2_zip_city_country';\n    }\n\n    switch (waypoint.type) {\n        case StopTypeEnum.pickupTrailer:\n        case StopTypeEnum.pickupTruck:\n        case StopTypeEnum.pickupRoadTrain: {\n            return 'pickup_asset_s1_s2_zip_city_country';\n        }\n        case StopTypeEnum.dropTrailer:\n        case StopTypeEnum.dropTruck:\n        case StopTypeEnum.dropRoadTrain: {\n            return 'dropoff_asset_s1_s2_zip_city_country';\n        }\n        default: {\n            return 's1_s2_zip_city_country';\n        }\n    }\n};\n\nconst TabTourDetails: React.FC<PropsT> = React.memo((props) => {\n    const { tour, transportationOrders, className } = props;\n\n    const { t } = useTranslation();\n\n    const tourId = tour?.id || null;\n\n    const { truckTransportOrder, trailerTransportOrder, carrierTransportOrder } = findTourActualTransportOrders(\n        transportationOrders,\n        tourId,\n    );\n\n    const truck = truckTransportOrder?.truck || null;\n    const trailer = trailerTransportOrder?.trailer || null;\n    const carrier = carrierTransportOrder?.carrier || null;\n    const waypoints = tour?.waypoints || [];\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const handleOpenTrailerDetails = () => {\n        if (!trailer?.id || !carrier?.id) {\n            logWarning('failed to open trailer details, empty firstTrailer');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.trailerDetails,\n                trailerId: trailer.id,\n                partnerId: carrier.id,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const handleOpenSpotRequestDetails = (spotRequestId: SpotRequestIdT | null) => {\n        if (!spotRequestId) {\n            logWarning('failed to open spot details, empty spotRequestId');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: BrokerSidebarsTypeEnum.spotRequestDetails,\n                id: spotRequestId,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const handleOpenTruckDetails = () => {\n        if (!truck?.id || !carrier?.id) {\n            logWarning('failed to open trailer details, empty firstTruck');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.truckDetails,\n                truckId: truck.id,\n                partnerId: carrier.id,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const spotDetails: Array<InfoTableRowT | null> = [\n        tour?.spotId\n            ? {\n                  icon: <RadarIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.slate} />,\n                  name: t('broker-order-details.tour-details.columns.spot-request'),\n                  value: (\n                      <AsyncSpotRequestDetailsLinkFormatter\n                          spotRequestId={tour?.spotId || null}\n                          onOpenSpotRequestDetails={handleOpenSpotRequestDetails}\n                      />\n                  ),\n                  rightNode: <AsyncSpotRequestDetailsStatusFormatter spotRequestId={tour?.spotId || null} />,\n                  emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n                  isBoldValue: true,\n              }\n            : null,\n    ];\n\n    const brokerWindowAppointmentWarning = (\n        <Tooltip\n            position={TooltipPositionEnum.topLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                    {t('broker-orders.details.broke-window-appointment-warning')}\n                </TooltipContent>\n            }\n        >\n            {(isShow, childrenClassName) => (\n                <TimeWindowIcon\n                    className={childrenClassName}\n                    fillColor={StyleGuideColorsEnum.transparent}\n                    strokeColor={StyleGuideColorsEnum.orange}\n                />\n            )}\n        </Tooltip>\n    );\n\n    const getWaypointDetailRows = (waypoint: ApiBrokerOrderWaypointT): Array<InfoTableRowT | null> => {\n        const driverRows: Array<InfoTableRowT> = [\n            {\n                icon: null,\n                name: t('common:waypoint-details.columns.driver-arriver-at'),\n                value: waypoint?.driverArrivedTimeStamp ? (\n                    <WarningTextFormatter\n                        isActive={checkIsInDateRange(\n                            waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                            waypoint?.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n                            waypoint?.driverArrivedTimeStamp,\n                        )}\n                    >\n                        {formatDate('DD MMM YYYY, HH:mm', waypoint?.driverArrivedTimeStamp)}\n                    </WarningTextFormatter>\n                ) : null,\n                emptyValue: t('common:info-table.placeholders.driver-not-arrived'),\n                isBoldValue: true,\n                testSelector: 'contact-company-name',\n                hasBottomBorder: true,\n                rightNode: waypoint?.driverArrivedFalse ? <DriverWrongCheckPointPill /> : null,\n            },\n            {\n                icon: null,\n                name: t('common:waypoint-details.columns.driver-left-at'),\n                value: waypoint?.driverLeftTimeStamp ? (\n                    <WarningTextFormatter\n                        isActive={checkIsInDateRange(\n                            waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                            waypoint?.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n                            waypoint?.driverLeftTimeStamp,\n                        )}\n                    >\n                        {formatDate('DD MMM YYYY, HH:mm', waypoint?.driverLeftTimeStamp)}\n                    </WarningTextFormatter>\n                ) : null,\n                emptyValue: waypoint?.driverArrivedTimeStamp\n                    ? t('common:info-table.placeholders.driver-not-leave')\n                    : t('common:info-table.placeholders.driver-not-arrived'),\n                isBoldValue: true,\n                testSelector: 'contact-company-name',\n                rightNode: waypoint?.driverLeftFalse ? <DriverWrongCheckPointPill /> : null,\n            },\n        ];\n\n        const isDetailedWaypoint = detailedWaypointStopTypeSet.has(waypoint?.type);\n        if (!isDetailedWaypoint) {\n            return [\n                {\n                    icon: renderWaypointStopIcon(waypoint),\n                    name: renderWaypointName(t, waypoint),\n                    value: (\n                        <LocationLabel\n                            format={renderWaypointLocationAddressFormat(waypoint)}\n                            location={waypoint?.address}\n                        />\n                    ),\n                    emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n                    isBoldValue: true,\n                    rows: [\n                        {\n                            icon: null,\n                            name: t('common:waypoint-details.columns.time-slot'),\n                            value: formatTimeInterval(\n                                waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                                waypoint?.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n                            ),\n                            emptyValue: t('common:info-table.placeholders.not-specified'),\n                            isBoldValue: true,\n                            hasBottomBorder: true,\n                        },\n                        ...driverRows,\n                    ],\n                },\n            ];\n        }\n\n        const brokerAppointmentStatus = checkBrokerAppointmentStatus({\n            shouldBrokerWindowAppointment: waypoint?.appointmentByBroker,\n            originalDateTimeFrom: waypoint?.originalDateTimeFrom,\n            originalDateTimeTo: waypoint?.originalDateTimeTo,\n            correctedDateTimeFrom: waypoint?.correctedDateTimeFrom,\n            correctedDateTimeTo: waypoint?.correctedDateTimeTo,\n        });\n\n        return [\n            {\n                icon: renderWaypointStopIcon(waypoint),\n                name: renderWaypointName(t, waypoint),\n                value: (\n                    <LocationLabel\n                        format={renderWaypointLocationAddressFormat(waypoint)}\n                        location={waypoint?.address}\n                    />\n                ),\n                emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n                isBoldValue: true,\n                rows: [\n                    ...(brokerAppointmentStatus.shouldShowCorrectedDateTime\n                        ? [\n                              {\n                                  icon: null,\n                                  name: t('common:waypoint-details.columns.original-time-slot'),\n                                  value: formatTimeInterval(\n                                      waypoint?.originalDateTimeFrom,\n                                      waypoint?.originalDateTimeTo,\n                                  ),\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  hasBottomBorder: true,\n                              },\n                              {\n                                  icon: brokerAppointmentStatus.shouldBrokerWindowAppointment\n                                      ? brokerWindowAppointmentWarning\n                                      : null,\n                                  name: (\n                                      <AttentionTextFormatter\n                                          isActive={brokerAppointmentStatus.shouldBrokerWindowAppointment}\n                                      >\n                                          {t('common:waypoint-details.columns.corrected-time-slot')}\n                                      </AttentionTextFormatter>\n                                  ),\n                                  value: (\n                                      <AttentionTextFormatter\n                                          isActive={brokerAppointmentStatus.shouldBrokerWindowAppointment}\n                                      >\n                                          {formatTimeInterval(\n                                              waypoint?.correctedDateTimeFrom,\n                                              waypoint?.correctedDateTimeTo,\n                                          )}\n                                      </AttentionTextFormatter>\n                                  ),\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  hasBottomBorder: true,\n                              },\n                          ]\n                        : [\n                              {\n                                  icon: brokerAppointmentStatus.shouldBrokerWindowAppointment\n                                      ? brokerWindowAppointmentWarning\n                                      : null,\n                                  name: (\n                                      <AttentionTextFormatter\n                                          isActive={brokerAppointmentStatus.shouldBrokerWindowAppointment}\n                                      >\n                                          {t('common:waypoint-details.columns.time-slot')}\n                                      </AttentionTextFormatter>\n                                  ),\n                                  value: (\n                                      <AttentionTextFormatter\n                                          isActive={brokerAppointmentStatus.shouldBrokerWindowAppointment}\n                                      >\n                                          {formatTimeInterval(\n                                              waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                                              waypoint?.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n                                          )}\n                                      </AttentionTextFormatter>\n                                  ),\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  hasBottomBorder: true,\n                              },\n                          ]),\n                    ...driverRows,\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.company-name'),\n                        value: waypoint?.contact?.companyName,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        testSelector: 'contact-company-name',\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.contact-name'),\n                        value: waypoint?.contact?.fullName,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.contact-phone'),\n                        value: waypoint?.contact?.phone,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.contact-email'),\n                        value: waypoint?.contact?.email,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.comments'),\n                        value: waypoint?.contact?.comment,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                    },\n                ],\n            },\n        ];\n    };\n\n    const teamDrivers = useMemo(() => {\n        const shouldShowTeamDrivers = !!tour?.teamDrive;\n        if (!shouldShowTeamDrivers) {\n            return [];\n        }\n\n        const drivers = carrierTransportOrder?.drivers?.slice(1) || [];\n        return drivers?.length ? drivers : [null];\n    }, [tour, carrierTransportOrder]);\n\n    const carrierDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: <CarrierIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.tour-details.columns.carrier'),\n            value: carrier?.id ? (\n                <Link\n                    to={urlFactory.partnerDetails(PartnerTypeEnum.carrier, carrier.id)}\n                    className={cx('link')}\n                    theme={LinkThemeEnum.boldBrandDark}\n                >\n                    {carrier?.name}\n                </Link>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n            isBoldValue: true,\n            rows: [\n                {\n                    icon: (\n                        <TruckIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.gray}\n                            fillColor={StyleGuideColorsEnum.light}\n                        />\n                    ),\n                    name: t('broker-order-details.tour-details.columns.truck'),\n                    value: truck ? (\n                        <AssetLinkFormatter assetId={truck?.id} onOpenAssetDetails={handleOpenTruckDetails}>\n                            <AssetLabelFormatter model={truck?.dictTruckInfo?.model} plateNumber={truck?.plateNumber} />\n                        </AssetLinkFormatter>\n                    ) : null,\n                    emptyValue: t('common:info-table.placeholders.truck-not-assigned'),\n                    isBoldValue: true,\n                },\n                {\n                    icon: (\n                        <TrailerIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.gray}\n                            fillColor={StyleGuideColorsEnum.light}\n                        />\n                    ),\n                    name: t('broker-order-details.tour-details.columns.trailer'),\n                    value: trailer ? (\n                        <AssetLinkFormatter assetId={trailer?.id} onOpenAssetDetails={handleOpenTrailerDetails}>\n                            <AssetLabelFormatter\n                                model={trailer?.dictTrailerInfo?.model}\n                                plateNumber={trailer?.plateNumber}\n                            />\n                        </AssetLinkFormatter>\n                    ) : null,\n                    emptyValue: t('common:info-table.placeholders.trailer-not-assigned'),\n                    isBoldValue: true,\n                },\n                {\n                    icon: <DriverIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.gray} />,\n                    name: t('broker-order-details.tour-details.columns.driver'),\n                    value: carrierTransportOrder?.drivers?.[0] ? (\n                        <SimpleDriverFormatter driver={carrierTransportOrder?.drivers?.[0]} />\n                    ) : null,\n                    emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n                    isBoldValue: true,\n                },\n                ...teamDrivers.map((driver) => {\n                    return {\n                        icon: <TeamDrive2Icon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n                        name: t('broker-order-details.tour-details.columns.team-driver'),\n                        value: driver ? <SimpleDriverFormatter driver={driver} /> : null,\n                        emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n                        isBoldValue: true,\n                    };\n                }),\n            ],\n        },\n    ];\n\n    return (\n        <div className={cs(cx('content'), className)}>\n            <InfoTable shouldRenderIcons rows={carrierDetails} className={cx('table', 'table--carrier')} />\n            <InfoTable shouldRenderIcons rows={spotDetails} className={cx('table', 'table--spot')} />\n            {waypoints.map((waypoint, index) => {\n                return (\n                    <InfoTable\n                        key={`${index}-${waypoint.id}`}\n                        shouldRenderIcons\n                        rows={getWaypointDetailRows(waypoint)}\n                        className={cx('table', 'table--waypoint')}\n                    />\n                );\n            })}\n        </div>\n    );\n});\n\nexport default TabTourDetails;\n","// extracted by mini-css-extract-plugin\nexport default {\"status\":\"EditShipperContractLaneSidebarContent__status___Q3oNh\",\"fadeIn\":\"EditShipperContractLaneSidebarContent__fadeIn___DaMb3\",\"blinking\":\"EditShipperContractLaneSidebarContent__blinking___oTBvb\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    DELETE_PAPER_REQUEST,\n    DeletePaperActionT,\n    FETCH_PAPERS_REQUEST,\n    FetchPapersActionT,\n    UPLOAD_PAPER_REQUEST,\n    UploadPaperActionT,\n} from './types';\nimport {\n    deletePaperBegin,\n    deletePaperError,\n    deletePaperSuccess,\n    fetchPapers,\n    fetchPapersBegin,\n    fetchPapersError,\n    fetchPapersSuccess,\n    uploadPaperBegin,\n    uploadPaperError,\n    uploadPaperSuccess,\n} from './actions';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { getPapersHash } from 'common/store/papers/utils';\nimport { DEFAULT_DICT_DOCUMENT_ID, PAPERS_TTL } from 'common/store/papers/constants';\nimport {\n    selectDeletePaperRequest,\n    selectFetchPapersRequest,\n    selectUploadPaperRequest,\n} from 'common/store/papers/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { updatePapersRefreshChannel } from 'common/store/papers/channels';\n\nfunction* fetchPapersSaga(action: FetchPapersActionT): WrapGeneratorT<void> {\n    const { isBroker, tourId, options } = action;\n\n    const requestStatus: ReReturnT<typeof selectFetchPapersRequest> = yield select(selectFetchPapersRequest(tourId));\n\n    const isNeedRequest = checkNeedRequest(requestStatus, options, PAPERS_TTL);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    const hash = getPapersHash(tourId);\n\n    yield put(fetchPapersBegin(hash));\n\n    let response: ReturnApiT<typeof commonTranziitApi.fetchPapers | typeof brokerTranziitApi.fetchPartnerPapers>;\n    if (isBroker) {\n        response = yield brokerTranziitApi.fetchPartnerPapers(tourId);\n    } else {\n        response = yield commonTranziitApi.fetchPapers(tourId);\n    }\n\n    const [error, result] = response;\n\n    if (error) {\n        yield put(fetchPapersError(error, hash));\n        return;\n    }\n\n    yield put(fetchPapersSuccess(hash, result || []));\n}\n\nfunction* refreshPapersSaga(tourId: TourIdT, isBroker: boolean): WrapGeneratorT<void> {\n    yield put(\n        fetchPapers(tourId, isBroker, {\n            isForceUpdate: true,\n        }),\n    );\n}\n\nfunction* uploadPaperSaga(action: UploadPaperActionT): WrapGeneratorT<void> {\n    const { isBroker, tourId, file } = action;\n\n    const requestStatus: ReReturnT<typeof selectUploadPaperRequest> = yield select(selectUploadPaperRequest(tourId));\n    if (requestStatus.loading) {\n        logWarning('already uploading paper, please wait!');\n        return;\n    }\n\n    const hash = getPapersHash(tourId);\n\n    yield put(uploadPaperBegin(hash));\n\n    let response: ReturnApiT<typeof commonTranziitApi.uploadPaper | typeof brokerTranziitApi.uploadPartnerPaper>;\n    if (isBroker) {\n        response = yield brokerTranziitApi.uploadPartnerPaper(tourId, DEFAULT_DICT_DOCUMENT_ID, file);\n    } else {\n        response = yield commonTranziitApi.uploadPaper(tourId, DEFAULT_DICT_DOCUMENT_ID, file);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(uploadPaperError(error, hash));\n        return;\n    }\n\n    yield refreshPapersSaga(tourId, isBroker);\n\n    yield put(uploadPaperSuccess(hash));\n\n    yield put(\n        addAlert(\n            new CommonAnyAlert({\n                type: CommonAlertTypeEnum.paperAdded,\n                data: {},\n            }),\n        ),\n    );\n\n    updatePapersRefreshChannel.emit({});\n}\n\nfunction* deletePaperSaga(action: DeletePaperActionT): WrapGeneratorT<void> {\n    const { isBroker, tourId, paperId } = action;\n\n    const requestStatus: ReReturnT<typeof selectDeletePaperRequest> = yield select(selectDeletePaperRequest(tourId));\n    if (requestStatus.loading) {\n        logWarning('already deleting paper, please wait!');\n        return;\n    }\n\n    const hash = getPapersHash(tourId);\n\n    yield put(deletePaperBegin(hash, paperId));\n\n    let response: ReturnApiT<typeof commonTranziitApi.deletePaper | typeof brokerTranziitApi.deletePartnerPaper>;\n    if (isBroker) {\n        response = yield brokerTranziitApi.deletePartnerPaper(tourId, paperId);\n    } else {\n        response = yield commonTranziitApi.deletePaper(tourId, paperId);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(deletePaperError(error, hash));\n        return;\n    }\n\n    yield refreshPapersSaga(tourId, isBroker);\n\n    yield put(deletePaperSuccess(hash));\n\n    yield put(\n        addAlert(\n            new CommonAnyAlert({\n                type: CommonAlertTypeEnum.paperDeleted,\n                data: {},\n            }),\n        ),\n    );\n\n    updatePapersRefreshChannel.emit({});\n}\n\nfunction* papersSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_PAPERS_REQUEST, fetchPapersSaga);\n    yield takeEvery(UPLOAD_PAPER_REQUEST, uploadPaperSaga);\n    yield takeEvery(DELETE_PAPER_REQUEST, deletePaperSaga);\n}\n\nexport default papersSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"PartnerSelectList__inner___eNNTv\",\"checkbox\":\"PartnerSelectList__checkbox___RJAYG\",\"checkbox-label\":\"PartnerSelectList__checkbox-label___vct18\",\"row\":\"PartnerSelectList__row___Fj1yh\",\"row--half-opacity\":\"PartnerSelectList__row--half-opacity___Cq4iP\",\"row__avatar\":\"PartnerSelectList__row__avatar___lvAFI\",\"row__text\":\"PartnerSelectList__row__text___nSH0m\",\"row__pills\":\"PartnerSelectList__row__pills___FRasI\",\"fadeIn\":\"PartnerSelectList__fadeIn___nMKnG\",\"blinking\":\"PartnerSelectList__blinking___qDRns\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TypeCell.scss';\nimport { PartnerT } from 'broker-admin/store/partners/models';\nimport PartnerTypePill from 'common/components/pills/PartnerTypePill/PartnerTypePill';\n\ntype PropsT = {\n    partner: PartnerT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TypeCell: React.FC<PropsT> = React.memo((props) => {\n    const { partner } = props;\n\n    const { profileType = [] } = partner;\n\n    return (\n        <div className={cx('type')}>\n            {profileType.map((profileType) => (\n                <PartnerTypePill key={profileType} type={profileType} />\n            ))}\n        </div>\n    );\n});\n\nexport default TypeCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"TabGroupWithDivider__tabs___mu6NU\",\"tabs--size-normal\":\"TabGroupWithDivider__tabs--size-normal___T_GDD\",\"tabs--size-small\":\"TabGroupWithDivider__tabs--size-small___E4hht\",\"fadeIn\":\"TabGroupWithDivider__fadeIn___VSjIF\",\"blinking\":\"TabGroupWithDivider__blinking___phwan\"};","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"FiltersSidebarContent__form___Knny6\",\"field--order-type\":\"FiltersSidebarContent__field--order-type___YMzCL\",\"field--dates\":\"FiltersSidebarContent__field--dates___ALgFQ\",\"field--trailer-type\":\"FiltersSidebarContent__field--trailer-type___g2vFt\",\"field--plate-number\":\"FiltersSidebarContent__field--plate-number___yuMj9\",\"field--driver\":\"FiltersSidebarContent__field--driver___SrB4S\",\"field--price\":\"FiltersSidebarContent__field--price___wc7_K\",\"field--min-price\":\"FiltersSidebarContent__field--min-price___KlYUK\",\"field--max-price\":\"FiltersSidebarContent__field--max-price___FFnLp\",\"time-picker\":\"FiltersSidebarContent__time-picker___gu2ob\",\"selected-filters\":\"FiltersSidebarContent__selected-filters___yWovP\",\"fadeIn\":\"FiltersSidebarContent__fadeIn___KVuBi\",\"blinking\":\"FiltersSidebarContent__blinking___w6GLe\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst UpdateUserIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M8.53 12.25l.03.008A4.8 4.8 0 008.5 13c0 .525.075 1.027.218 1.5H4v-.488c0-.262.12-.502.308-.607A8.167 8.167 0 018.5 12.25c.023 0 .037 0 .06.008zM8.5 5.5a1.5 1.5 0 110 3 1.5 1.5 0 010-3z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M14.5 9.25l.225 1.117c.3.113.57.27.81.473l1.088-.367.75 1.312-.856.75c.023.158.046.307.046.473 0 .165-.023.315-.046.472l.856.75-.75 1.297-1.088-.367c-.24.203-.51.36-.81.473L14.5 16.75H13l-.225-1.133c-.3-.112-.57-.27-.81-.472l-1.088.367-.75-1.297.855-.75c-.022-.158-.044-.307-.044-.473 0-.165.022-.315.044-.472l-.854-.75.75-1.297 1.087.367c.24-.203.51-.36.81-.473L13 9.25h1.5zm-6 1.5c.172 0 .338.008.503.023-.218.457-.368.96-.443 1.485-.023-.008-.037-.008-.06-.008a8.167 8.167 0 00-4.192 1.155c-.188.113-.308.353-.308.607v.488h4.718c.165.54.412 1.05.727 1.5H2.5v-1.988c0-.772.382-1.507 1.042-1.897A9.657 9.657 0 018.5 10.75zm5.25.75c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5zM8.5 4a3 3 0 110 6 3 3 0 110-6zm0 1.5C7.675 5.5 7 6.175 7 7s.675 1.5 1.5 1.5S10 7.825 10 7s-.675-1.5-1.5-1.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nUpdateUserIcon.displayName = 'UpdateUserIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default UpdateUserIcon;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonPropsT } from 'common/components/Button/Button';\nimport { MS_IN_SEC } from 'common/utils/time';\nimport { copyToClipboard } from 'common/utils/clipboard';\n\nexport type PropsT = Omit<ButtonPropsT, 'children' | 'onClick'> & {\n    textForClipboard: string;\n    timeoutMs?: number;\n};\n\nconst defaultTimeoutMs = 2 * MS_IN_SEC;\n\nconst CopyTextButton: React.FC<PropsT> = React.memo((props) => {\n    const { textForClipboard, timeoutMs, ...restProps } = props;\n\n    const copyTimeoutIdRef = React.useRef<NodeJS.Timeout | null>(null);\n\n    const [isCopied, setIsCopied] = React.useState<boolean>(false);\n\n    const { t } = useTranslation();\n\n    return (\n        <Button\n            {...restProps}\n            onClick={() => {\n                if (copyTimeoutIdRef.current) {\n                    clearTimeout(copyTimeoutIdRef.current);\n                    copyTimeoutIdRef.current = null;\n                }\n\n                copyTimeoutIdRef.current = setTimeout(() => {\n                    setIsCopied(false);\n                }, timeoutMs || defaultTimeoutMs);\n\n                setIsCopied(true);\n\n                copyToClipboard(textForClipboard);\n            }}\n        >\n            {isCopied ? t('common:actions.copied') : t('common:actions.copy')}\n        </Button>\n    );\n});\n\nexport default CopyTextButton;\n","import { FieldsEnum, FormValuesT } from './constants';\n\nexport type FormDataT = {\n    reason: string;\n};\n\nconst prepareData = (formValues: FormValuesT): FormDataT => {\n    return {\n        reason: formValues[FieldsEnum.reason],\n    };\n};\n\nexport { prepareData };\n","import {\n    CLOSE_RFQ,\n    CHANGE_RFQ_REQUEST_BEGIN,\n    CHANGE_RFQ_REQUEST_ERROR,\n    CHANGE_RFQ_REQUEST_SUCCESS,\n    CloseRFQActionT,\n    ChangeRFQBeginActionT,\n    ChangeRFQErrorActionT,\n    ChangeRFQSuccessActionT,\n} from './types';\n\nexport const closeRFQ = (id: RFQIdT): CloseRFQActionT => ({\n    type: CLOSE_RFQ,\n    id,\n});\n\nexport const changeRFQBegin = (id: RFQIdT): ChangeRFQBeginActionT => ({\n    type: CHANGE_RFQ_REQUEST_BEGIN,\n    id,\n});\n\nexport const changeRFQSuccess = (id: RFQIdT): ChangeRFQSuccessActionT => ({\n    type: CHANGE_RFQ_REQUEST_SUCCESS,\n    id,\n});\n\nexport const changeRFQError = (id: RFQIdT, error: Error): ChangeRFQErrorActionT => ({\n    type: CHANGE_RFQ_REQUEST_ERROR,\n    error,\n    id,\n});\n","import { FieldsEnum, FormValuesT, RoutePointFieldsEnum, RoutePointFormValuesT } from './constants';\nimport { ApiActualOrderRequestT, OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\nimport { ReserveQueryChangesT, ReserveQueryRoutePointChangesT, ReserveT } from 'common/store/order-creation/models';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport { AvailableChangesT } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/models';\n\nconst prepareApiActualOrderRequest = (values: FormValuesT, reserve: ReserveT): ApiActualOrderRequestT | null => {\n    const timeWindows: ApiActualOrderRequestT['timeWindows'] = [];\n\n    reserve.points.forEach((point, index) => {\n        const routePointFormValue = values[FieldsEnum.route]?.[index];\n\n        const timeWindow = routePointFormValue?.[RoutePointFieldsEnum.timeWindow];\n        if (timeWindow && point.type === OrderCreationReservePointTypeEnum.shipment) {\n            timeWindows.push({\n                id: point.id,\n                brokerWindow: routePointFormValue?.[RoutePointFieldsEnum.isBrokerTimeWindow],\n                from: timeWindow.start,\n                to: timeWindow.end,\n            });\n        }\n    });\n\n    return {\n        timeWindows,\n    };\n};\n\nconst prepareApiReserveRoutePointChanges = (\n    changes: Partial<RoutePointFormValuesT>,\n): ReserveQueryRoutePointChangesT => {\n    const apiRoutePointChanges: ReserveQueryRoutePointChangesT = {};\n\n    if (RoutePointFieldsEnum.isBrokerTimeWindow in changes) {\n        apiRoutePointChanges.isBrokerTimeWindow = changes[RoutePointFieldsEnum.isBrokerTimeWindow];\n    }\n\n    if (RoutePointFieldsEnum.timeWindow in changes) {\n        const timeWindow = changes[RoutePointFieldsEnum.timeWindow];\n\n        apiRoutePointChanges.timeWindowFrom = timeWindow?.start || null;\n        apiRoutePointChanges.timeWindowTo = timeWindow?.end || null;\n    }\n\n    if (RoutePointFieldsEnum.type in changes) {\n        apiRoutePointChanges.type = changes[RoutePointFieldsEnum.type];\n    }\n\n    if (RoutePointFieldsEnum.location in changes) {\n        apiRoutePointChanges.address = prepareLocation(changes[RoutePointFieldsEnum.location] || null);\n    }\n\n    if (RoutePointFieldsEnum.fakeId in changes) {\n        apiRoutePointChanges.addressAlias = changes[RoutePointFieldsEnum.fakeId];\n    }\n\n    return apiRoutePointChanges;\n};\n\nconst prepareApiReserveChangesAddRoutePoint = (\n    beforeFakeId: string,\n    routePointValues: Partial<RoutePointFormValuesT>,\n): ReserveQueryChangesT => {\n    return {\n        addRoutePoint: {\n            beforeAddressAlias: beforeFakeId,\n            changes: prepareApiReserveRoutePointChanges(routePointValues),\n        },\n    };\n};\n\nconst prepareApiReserveChangesDeleteRoutePoint = (fakeId: string): ReserveQueryChangesT => {\n    return {\n        deleteRoutePoint: {\n            addressAlias: fakeId,\n        },\n    };\n};\n\nconst prepareApiReserveChangesChangeRoutePoint = (\n    fakeId: string,\n    routePointValues: Partial<RoutePointFormValuesT>,\n): ReserveQueryChangesT => {\n    return {\n        routePointChange: {\n            addressAlias: fakeId,\n            changes: prepareApiReserveRoutePointChanges(routePointValues),\n        },\n    };\n};\n\nconst prepareApiReserveChanges = (changes: AvailableChangesT): ReserveQueryChangesT => {\n    let apiChanges: ReserveQueryChangesT = {};\n\n    if (FieldsEnum.shipper in changes) {\n        apiChanges = {\n            ...apiChanges,\n            shipper: changes[FieldsEnum.shipper],\n        };\n    }\n\n    if (FieldsEnum.trailerDictId in changes) {\n        apiChanges = {\n            ...apiChanges,\n            trailerDictId: changes[FieldsEnum.trailerDictId],\n        };\n    }\n\n    if (FieldsEnum.laneId in changes) {\n        apiChanges = {\n            ...apiChanges,\n            laneId: changes[FieldsEnum.laneId],\n        };\n    }\n\n    if (FieldsEnum.excludedCountries in changes) {\n        apiChanges = {\n            ...apiChanges,\n            excludedCountries: changes[FieldsEnum.excludedCountries],\n        };\n    }\n\n    if (FieldsEnum.route in changes) {\n        apiChanges = {\n            ...apiChanges,\n            // usage for only initialization!\n            fullRouteChange: changes[FieldsEnum.route]?.map((routePointChanges) => {\n                return prepareApiReserveRoutePointChanges(routePointChanges);\n            }),\n        };\n    }\n\n    return apiChanges;\n};\n\nexport {\n    prepareApiActualOrderRequest,\n    prepareApiReserveChanges,\n    prepareApiReserveChangesAddRoutePoint,\n    prepareApiReserveChangesDeleteRoutePoint,\n    prepareApiReserveChangesChangeRoutePoint,\n};\n","import React, { MouseEvent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DropdownMultipleInput.scss';\nimport Checkbox, { CheckboxPropsT } from 'design-system/components/Checkbox/Checkbox';\nimport { isNonNil } from 'common/utils';\nimport { DropdownOverlayPositionEnum } from '../constants';\nimport DropdownBaseLayout from '../base/DropdownBaseLayout/DropdownBaseLayout';\nimport DropdownBaseButtonTrigger from '../base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport cs from 'classnames';\nimport {\n    checkIsSpecialOption,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\nexport type RenderTriggerPropsT = {\n    isEmpty: boolean;\n    isPressed: boolean;\n    isDisabled: boolean;\n    hasChanges: boolean;\n    hasWarning: boolean;\n    hasError: boolean;\n    onClick: () => void;\n    onReset?: (event: MouseEvent<HTMLElement>) => void;\n    isShowClearControl: boolean;\n};\n\nexport type PropsT<OptionT, ValueT> = {\n    selectedValues: Array<ValueT>;\n    placeholder?: string;\n    isDisabled?: boolean;\n    isLoading?: boolean;\n    isInline?: boolean;\n    hasWarning?: boolean;\n    hasError?: boolean;\n    options: Array<OptionT | SpecialOptionEnum>;\n    onSelect: (values: Array<ValueT>) => void;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    renderTrigger?: (\n        props: RenderTriggerPropsT,\n        options: Array<OptionT>,\n        placeholder: string | undefined,\n    ) => React.ReactNode;\n    renderTriggerContent?: (options: Array<OptionT>, placeholder: string | undefined) => React.ReactNode;\n    renderOption: (option: OptionT) => React.ReactNode;\n    getOptionValue: (option: OptionT) => ValueT;\n    getCheckboxProps?: (option: OptionT, inex: number) => Partial<CheckboxPropsT>;\n    className?: string;\n    hasChanges?: boolean;\n    triggerClassName?: string;\n    overlayClassName?: string;\n    testSelector?: string;\n    onReset?: (event: MouseEvent<HTMLElement>) => void;\n    isNoWrapTrigger?: boolean;\n};\n\nconst DropdownMultipleInput = <OptionT, ValueT>(props: PropsT<OptionT, ValueT>): React.ReactElement => {\n    const {\n        selectedValues,\n        onSelect,\n        options,\n        renderTrigger,\n        renderTriggerContent,\n        renderOption,\n        getOptionValue,\n        isDisabled,\n        isLoading,\n        isInline,\n        hasWarning,\n        hasError,\n        isNoWrapTrigger,\n        overlayPosition,\n        className,\n        hasChanges,\n        triggerClassName,\n        overlayClassName,\n        onFocus,\n        onBlur,\n        testSelector,\n        onReset,\n        getCheckboxProps,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const placeholder = props.placeholder || t('common:common-components.any-select-input.placeholder');\n\n    const [isOpen, toggleOpen] = React.useState(false);\n\n    const handleOpen = (): void => {\n        if (isDisabled) {\n            return;\n        }\n        if (onFocus) {\n            onFocus();\n        }\n        toggleOpen(!isOpen);\n    };\n\n    const handleClose = (): void => {\n        if (onBlur) {\n            onBlur();\n        }\n        toggleOpen(false);\n    };\n\n    const handleOuterEvent = (): void => {\n        if (onBlur) {\n            onBlur();\n        }\n        handleClose();\n    };\n\n    const optionByValue = new Map<ValueT, OptionT>();\n    options.forEach((option) => {\n        if (checkIsSpecialOption(option)) {\n            return;\n        }\n\n        const value = getOptionValue(option);\n\n        optionByValue.set(value, option);\n    });\n\n    const selectedValuesSet = new Set<ValueT>(selectedValues);\n    const selectedOptions: Array<OptionT> = selectedValues.map((value) => optionByValue.get(value)).filter(isNonNil);\n\n    const handleChange = (value: ValueT): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        const newSelectedValuesSet = new Set(selectedValuesSet);\n        const isAlreadySelected = newSelectedValuesSet.has(value);\n        if (isAlreadySelected) {\n            newSelectedValuesSet.delete(value);\n        } else {\n            newSelectedValuesSet.add(value);\n        }\n        onSelect([...newSelectedValuesSet]);\n    };\n\n    const hasValue = !!selectedValues?.length;\n\n    return (\n        <DropdownBaseLayout\n            isInline={isInline}\n            isOpen={isOpen}\n            className={className}\n            onClose={handleOuterEvent}\n            triggerNode={\n                renderTrigger ? (\n                    renderTrigger(\n                        {\n                            isEmpty: !selectedOptions.length,\n                            isPressed: isOpen,\n                            isDisabled: !!isDisabled,\n                            hasChanges: !!hasChanges,\n                            hasWarning: !!hasWarning,\n                            hasError: !!hasError,\n                            onClick: handleOpen,\n                            isShowClearControl: !!onReset && hasValue,\n                            onReset,\n                        },\n                        selectedOptions,\n                        placeholder,\n                    )\n                ) : (\n                    <DropdownBaseButtonTrigger\n                        isEmpty={!selectedOptions.length}\n                        isPressed={isOpen}\n                        isDisabled={isDisabled}\n                        hasChanges={hasChanges}\n                        hasWarning={hasWarning}\n                        hasError={hasError}\n                        isNoWrap={isNoWrapTrigger}\n                        renderRightIcon={() =>\n                            isLoading ? (\n                                <ControlLoaderIcon\n                                    fillColor={StyleGuideColorsEnum.brandAccent}\n                                    size={DEFAULT_ICON_SIZE}\n                                />\n                            ) : null\n                        }\n                        className={triggerClassName}\n                        testSelector={testSelector}\n                        onClick={handleOpen}\n                        isShowClearControl={!!onReset && hasValue}\n                        onReset={onReset}\n                    >\n                        {renderTriggerContent?.(selectedOptions, placeholder)}\n                    </DropdownBaseButtonTrigger>\n                )\n            }\n            overlayPosition={overlayPosition}\n            overlayClassName={cs(cx('overlay'), overlayClassName)}\n            overlayNode={\n                <>\n                    {options.map((option, index): React.ReactElement => {\n                        if (checkIsSpecialOption(option)) {\n                            return <div key={index} className={cx('separator')} />;\n                        }\n\n                        const value = getOptionValue(option);\n\n                        const isSelected = selectedValuesSet.has(value);\n\n                        return (\n                            <div key={index} className={cx('option')}>\n                                <Checkbox\n                                    isFullWidth\n                                    checked={isSelected}\n                                    className={cx('option__checkbox')}\n                                    testSelector={`${testSelector}_option_${index}`}\n                                    {...getCheckboxProps?.(option, index)}\n                                    label={<div className={cx('option__label')}>{renderOption(option)}</div>}\n                                    onChange={() => {\n                                        handleChange(value);\n                                    }}\n                                />\n                            </div>\n                        );\n                    })}\n                </>\n            }\n        />\n    );\n};\n\nexport default DropdownMultipleInput;\n","import * as React from 'react';\nimport { TransportOrderStatusEnum, ApiTransportOrderStatusT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiTransportOrderStatusT | null | undefined;\n};\n\nexport const TRANSPORT_ORDER_STATUS_T_MAP: Record<ApiTransportOrderStatusT, string> = {\n    [TransportOrderStatusEnum.assetsUnassigned]: 'transport-order-status.ASSETS_UNASSIGNED',\n    [TransportOrderStatusEnum.driverUnassigned]: 'transport-order-status.DRIVER_UNASSIGNED',\n    [TransportOrderStatusEnum.assigned]: 'transport-order-status.ASSIGNED',\n    [TransportOrderStatusEnum.inTransit]: 'transport-order-status.IN_TRANSIT',\n    [TransportOrderStatusEnum.done]: 'transport-order-status.DONE',\n    [TransportOrderStatusEnum.canceled]: 'transport-order-status.CANCELED',\n    [TransportOrderStatusEnum.declined]: 'transport-order-status.DECLINED',\n    [TransportOrderStatusEnum.unknown]: 'transport-order-status.UNKNOWN',\n};\n\nconst TransportOrderStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(TRANSPORT_ORDER_STATUS_T_MAP[status]);\n});\n\nexport default TransportOrderStatus;\n","import * as React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { useTranslation } from 'react-i18next';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\n\nexport enum TransportOrderTypeEnum {\n    all = 'all',\n    spot = 'spot',\n    contracted = 'contracted',\n}\n\ntype OptionT = {\n    id: TransportOrderTypeEnum;\n    label: React.ReactNode;\n};\n\nexport type PropsT = {\n    className?: string;\n    value: TransportOrderTypeEnum;\n    onSelect: (value: TransportOrderTypeEnum) => void;\n    testSelector?: string;\n};\n\nconst i18nTMap: Record<TransportOrderTypeEnum, string> = {\n    [TransportOrderTypeEnum.spot]: 'broker-orders.list.filters.transport-order-type-filter.spot',\n    [TransportOrderTypeEnum.contracted]: 'broker-orders.list.filters.transport-order-type-filter.contracted',\n    [TransportOrderTypeEnum.all]: 'broker-orders.list.filters.transport-order-type-filter.all',\n};\n\nconst TransportOrderTypeDropdown = (props: PropsT) => {\n    const { className, value, onSelect, testSelector } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<OptionT> => {\n        return [\n            {\n                id: TransportOrderTypeEnum.spot,\n                label: t(i18nTMap[TransportOrderTypeEnum.spot]),\n            },\n            {\n                id: TransportOrderTypeEnum.contracted,\n                label: t(i18nTMap[TransportOrderTypeEnum.contracted]),\n            },\n        ];\n    }, [t]);\n\n    return (\n        <DropdownInput<OptionT, TransportOrderTypeEnum>\n            className={className}\n            selectedValue={value}\n            options={options}\n            onSelect={onSelect}\n            testSelector={testSelector}\n            renderOption={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return <DropdownControlOptionLabel withoutPaddings label={option.label} />;\n            }}\n            renderTriggerContent={(selectedOption, placeholder) => {\n                if (!selectedOption) {\n                    return placeholder;\n                }\n\n                return t(i18nTMap[selectedOption.id]);\n            }}\n            placeholder={t(i18nTMap[TransportOrderTypeEnum.all])}\n            hasClearControl\n            onReset={() => {\n                onSelect(TransportOrderTypeEnum.all);\n            }}\n            getOptionValue={(option) => option?.id}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default TransportOrderTypeDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"route-point-pin\":\"MultiPointOrderRouteMap__route-point-pin____ovnS\",\"fadeIn\":\"MultiPointOrderRouteMap__fadeIn___JgHwG\",\"blinking\":\"MultiPointOrderRouteMap__blinking___TH9oO\"};","import * as React from 'react';\nimport { BrokerOrderShortT } from 'broker-admin/store/broker-orders/models';\nimport { formatTimeInterval } from 'common/utils/time';\nimport LocationCell from 'common/components/Table/cell-renderers/LocationCell/LocationCell';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport { CountryCodeT } from 'common/utils/api/models';\n\ntype PropsT = {\n    brokerOrderShort: BrokerOrderShortT;\n};\n\nconst PickUpCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderShort } = props;\n\n    const timeWindow = formatTimeInterval(brokerOrderShort.pickUpDateFrom, brokerOrderShort.pickUpDateTo);\n\n    return (\n        <LocationCell\n            address={\n                <LocationLabel\n                    location={{\n                        zipCode: brokerOrderShort.zipCodeFrom,\n                        city: brokerOrderShort.cityFrom,\n                        country: brokerOrderShort.countryCodeFrom as CountryCodeT,\n                    }}\n                    format=\"zip_city_country\"\n                    allowShowCountryCode\n                />\n            }\n            time={timeWindow}\n        />\n    );\n});\n\nexport default PickUpCell;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { selectOrderCreationMs } from 'common/store/settings/selectors';\nimport { useSelector } from 'react-redux';\nimport { getMinutes } from 'common/utils/time';\n\ntype PropsT = {};\n\nconst ExpirationRFQAlertContent: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const orderCreationMs = useSelector(selectOrderCreationMs);\n\n    let formattedMinutes;\n    if (orderCreationMs) {\n        const minutes = getMinutes(orderCreationMs);\n\n        formattedMinutes = minutes\n            ? `${minutes} ${t('common:minutes', {\n                  postProcess: 'interval',\n                  count: minutes,\n              })}`\n            : null;\n    }\n\n    return (\n        <span>\n            {t('common:new-order-details.validate-messages.rfq-expiration', {\n                contextLifetime: formattedMinutes,\n            })}\n        </span>\n    );\n});\n\nexport default ExpirationRFQAlertContent;\n","import { BrokerOrderStateT } from './slice';\nimport { StateT } from '../models';\n\nexport const selectBrokerOrdersPages = (state: StateT): BrokerOrderStateT['pages'] => state.brokerOrders.pages;\n\nexport const selectBrokerOrdersQuery = (state: StateT): BrokerOrderStateT['query'] => state.brokerOrders.query;\n\nexport const selectBrokerOrdersTotal = (state: StateT): BrokerOrderStateT['total'] => state.brokerOrders.total;\n\nexport const selectBrokerOrdersByIds = (state: StateT): BrokerOrderStateT['byId'] => state.brokerOrders.byId;\n","import React from 'react';\nimport { SyncFormValuesT } from 'common/utils/hooks/useSyncFormValues';\n\nconst createSyncFormValuesContext = <V extends FieldValues>() => {\n    return React.createContext<SyncFormValuesT<V>>({\n        formValues: null,\n        syncFormValues: () => {\n            // nothing\n        },\n        setFieldValueCallback: null,\n        syncSetFieldValueCallback: () => {\n            // nothing\n        },\n    });\n};\n\nexport { createSyncFormValuesContext };\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"SetUnavailableFooterContent__content___sMlC0\",\"close-button\":\"SetUnavailableFooterContent__close-button___T7oG4\",\"fadeIn\":\"SetUnavailableFooterContent__fadeIn___uUun0\",\"blinking\":\"SetUnavailableFooterContent__blinking___vr5Qe\"};","import { AnyAlert, AnyAlertPayloadT } from 'common/store/alerts/models';\nimport React from 'react';\nimport { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport { TFunction } from 'i18next';\nimport { ApiOrderContextNoteT, UserRoleT } from 'common/utils/api/models';\n\nexport type AlertToastViewT = {\n    id: AlertIdT;\n    theme: AlertThemeEnum;\n    icon: React.ReactNode | null;\n    text: React.ReactNode | null;\n    size?: AlertSizeEnum;\n    footer?: React.ReactNode | null;\n    customTTLMs?: number;\n};\n\nexport type AlertToastRendererT<A = AnyAlert<AnyAlertPayloadT>> = (t: TFunction, alert: A) => AlertToastViewT | null;\n\nexport enum CommonAlertTypeEnum {\n    networkError = 'network-error',\n\n    userRestored = 'user-restored',\n    inviteCanceled = 'invite-canceled',\n    contactAdded = 'contact-added',\n    emailInvited = 'email-invited',\n    userRolesChanged = 'user-roles-changed',\n    userDeactivated = 'user-deactivated',\n    contactDeleted = 'contact-deleted',\n    mainContactChanged = 'main-contact-changed',\n    contactEdited = 'contact-edited',\n    userEdited = 'user-edited',\n\n    contractUploaded = 'contract-uploaded',\n\n    documentUploaded = 'document-uploaded',\n    documentApproved = 'document-approved',\n    documentRejected = 'document-rejected',\n    documentRevoked = 'document-revoked',\n\n    orderContextNote = 'order-context-note',\n\n    trailerAdded = 'trailer-added',\n    trailerSuccessfullyActivated = 'trailer-successfully-activated',\n    trailersSuccessfullyActivated = 'trailers-successfully-activated',\n    trailerFailedActivate = 'trailer-failed-activate',\n    trailersFailedActivate = 'trailers-failed-activate',\n    trailerSuccessfullyArchived = 'trailer-successfully-archived',\n    trailersSuccessfullyArchived = 'trailers-successfully-archived',\n    trailerFailedArchived = 'trailer-failed-archived',\n    trailersFailedArchived = 'trailers-failed-archived',\n    trailerFailedArchivedHasFutureAssignment = 'trailer-failed-archived-has-future-assignment',\n    trailerSuccessfullyUpdatedContract = 'trailer-updated-contract-activated',\n    trailersSuccessfullyUpdatedContract = 'trailers-updated-contract-activated',\n    trailerFailedUpdateContract = 'trailer-update-contract-activate',\n    trailersFailedUpdateContract = 'trailers-update-contract-activate',\n    trailerSuccessfullyUpdatedRate = 'trailer-updated-rate-activated',\n    trailersSuccessfullyUpdatedRate = 'trailers-updated-rate-activated',\n    trailerFailedUpdateRate = 'trailer-update-rate-activate',\n    trailersFailedUpdateRate = 'trailers-update-rate-activate',\n    trailerSuccessfullyEdited = 'trailer-successfully-edited',\n    trailerSuccessfullySetUnavailable = 'trailer-successfully-set-unavailable',\n    trailerSuccessfullyXLSImport = 'trailer-successfully-XLS-import',\n\n    truckAdded = 'truck-added',\n    truckSuccessfullyActivated = 'truck-successfully-activated',\n    trucksSuccessfullyActivated = 'trucks-successfully-activated',\n    truckFailedActivate = 'truck-failed-activate',\n    trucksFailedActivate = 'trucks-failed-activate',\n    truckSuccessfullyArchived = 'truck-successfully-archived',\n    trucksSuccessfullyArchived = 'trucks-successfully-archived',\n    trucksFailedArchived = 'trucks-failed-archived',\n    truckFailedArchived = 'truck-failed-archived',\n    truckFailedArchivedHasFutureAssignment = 'truck-failed-archived-has-future-assignment',\n    truckSuccessfullyUpdatedContract = 'truck-updated-contract-activated',\n    trucksSuccessfullyUpdatedContract = 'trucks-updated-contract-activated',\n    truckFailedUpdateContract = 'truck-update-contract-activate',\n    trucksFailedUpdateContract = 'trucks-update-contract-activate',\n    truckSuccessfullyUpdatedRate = 'truck-updated-rate-activated',\n    trucksSuccessfullyUpdatedRate = 'trucks-updated-rate-activated',\n    truckFailedUpdateRate = 'truck-update-rate-activate',\n    trucksFailedUpdateRate = 'trucks-update-rate-activate',\n    truckSuccessfullyEdited = 'truck-successfully-edited',\n    truckSuccessfullySetUnavailable = 'truck-successfully-set-unavailable',\n    truckSuccessfullyXLSImport = 'truck-successfully-XLS-import',\n\n    paperAdded = 'paper-added',\n    paperDeleted = 'paper-deleted',\n    paperDownloadFailed = 'paper-download-failed',\n\n    driverAssigned = 'driver-assigned',\n    driverUnassigned = 'driver-unassigned',\n\n    rfqSuccessfulClosed = 'rfq-successful-closed',\n\n    spotAssetsAssigned = 'spot-assets-assigned',\n    spotAssetsUnassigned = 'spot-assets-unassigned',\n\n    carrierSpotLanesUpdateSuccess = 'carrier-spot-lanes-update-success',\n    carrierSpotLanesDeleteSuccess = 'carrier-spot-lanes-delete-success',\n\n    shipperContractUploaded = 'shipper-contract-uploaded',\n    shipperContractRevoked = 'shipper-contract-revoked',\n    shipperContractUpdated = 'shipper-contract-updated',\n\n    shipperContractLaneAdded = 'shipper-contract-lane-added',\n    shipperContractLaneRevoked = 'shipper-contract-lane-revoked',\n    shipperContractLaneUpdated = 'shipper-contract-lane-updated',\n}\n\ntype CommonAnyAlertPayloadT =\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.userRestored,\n          {\n              fullName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.inviteCanceled,\n          {\n              email: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.contactAdded,\n          {\n              fullName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.emailInvited,\n          {\n              email: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.userRolesChanged,\n          {\n              fullName: string;\n              roles: UserRoleT[];\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.userDeactivated,\n          {\n              fullName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.contactDeleted,\n          {\n              fullName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.mainContactChanged,\n          {\n              fullName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.contactEdited,\n          {\n              fullName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.userEdited,\n          {\n              fullName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerAdded,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerSuccessfullyActivated,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailersSuccessfullyActivated,\n          {\n              count: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerSuccessfullyEdited,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerSuccessfullySetUnavailable,\n          {\n              plateNumber: string;\n              fromDate: string;\n              toDate: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerSuccessfullyArchived,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailersSuccessfullyArchived,\n          {\n              count: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailersFailedActivate,\n          {\n              successfulCount: number;\n              allCount: number;\n              plateNumbers: Array<string>;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerFailedActivate,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailersFailedArchived,\n          {\n              successfulCount: number;\n              allCount: number;\n              plateNumbers: Array<string>;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerFailedArchived,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<CommonAlertTypeEnum.trailerFailedArchivedHasFutureAssignment, {}>\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerSuccessfullyUpdatedContract,\n          {\n              plateNumber: string;\n              contractName: string | null;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailersSuccessfullyUpdatedContract,\n          {\n              count: number;\n              contractName: string | null;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerFailedUpdateContract,\n          {\n              contractName: string | null;\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailersFailedUpdateContract,\n          {\n              successfulCount: number;\n              allCount: number;\n              contractName: string | null;\n              plateNumbers: Array<string>;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerSuccessfullyUpdatedRate,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailersSuccessfullyUpdatedRate,\n          {\n              count: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailerFailedUpdateRate,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trailersFailedUpdateRate,\n          {\n              successfulCount: number;\n              allCount: number;\n              plateNumbers: Array<string>;\n          }\n      >\n    | AnyAlertPayloadT<CommonAlertTypeEnum.trailerSuccessfullyXLSImport, {}>\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckAdded,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckSuccessfullyActivated,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trucksSuccessfullyActivated,\n          {\n              count: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckSuccessfullyEdited,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckSuccessfullySetUnavailable,\n          {\n              plateNumber: string;\n              fromDate: string;\n              toDate: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckSuccessfullyArchived,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trucksSuccessfullyArchived,\n          {\n              count: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trucksFailedActivate,\n          {\n              successfulCount: number;\n              allCount: number;\n              plateNumbers: Array<string>;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckFailedActivate,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trucksFailedArchived,\n          {\n              successfulCount: number;\n              allCount: number;\n              plateNumbers: Array<string>;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckFailedArchived,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<CommonAlertTypeEnum.truckFailedArchivedHasFutureAssignment, {}>\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckSuccessfullyUpdatedContract,\n          {\n              plateNumber: string;\n              contractName: string | null;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trucksSuccessfullyUpdatedContract,\n          {\n              count: number;\n              contractName: string | null;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckFailedUpdateContract,\n          {\n              contractName: string | null;\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trucksFailedUpdateContract,\n          {\n              successfulCount: number;\n              allCount: number;\n              contractName: string | null;\n              plateNumbers: Array<string>;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckSuccessfullyUpdatedRate,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trucksSuccessfullyUpdatedRate,\n          {\n              count: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.truckFailedUpdateRate,\n          {\n              plateNumber: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.trucksFailedUpdateRate,\n          {\n              successfulCount: number;\n              allCount: number;\n              plateNumbers: Array<string>;\n          }\n      >\n    | AnyAlertPayloadT<CommonAlertTypeEnum.truckSuccessfullyXLSImport, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.paperAdded, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.paperDeleted, {}>\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.paperDownloadFailed,\n          {\n              errorMessage: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.driverAssigned,\n          {\n              driversCount: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.driverUnassigned,\n          {\n              driversCount: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.documentUploaded,\n          {\n              dictDocumentName: string;\n          }\n      >\n    | AnyAlertPayloadT<CommonAlertTypeEnum.contractUploaded, {}>\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.documentApproved,\n          {\n              dictDocumentName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.documentRejected,\n          {\n              dictDocumentName: string;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.documentRevoked,\n          {\n              dictDocumentName: string;\n          }\n      >\n    | AnyAlertPayloadT<CommonAlertTypeEnum.spotAssetsAssigned, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.spotAssetsUnassigned, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.rfqSuccessfulClosed, {}>\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.carrierSpotLanesDeleteSuccess,\n          {\n              count: number;\n          }\n      >\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.carrierSpotLanesUpdateSuccess,\n          {\n              count: number;\n          }\n      >\n    | AnyAlertPayloadT<CommonAlertTypeEnum.shipperContractUploaded, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.shipperContractUpdated, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.shipperContractRevoked, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.shipperContractLaneAdded, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.shipperContractLaneUpdated, {}>\n    | AnyAlertPayloadT<CommonAlertTypeEnum.shipperContractLaneRevoked, {}>\n    | AnyAlertPayloadT<\n          CommonAlertTypeEnum.orderContextNote,\n          {\n              note: ApiOrderContextNoteT;\n          }\n      >\n    | AnyAlertPayloadT<CommonAlertTypeEnum.networkError, {}>;\n\nexport class CommonAnyAlert extends AnyAlert<CommonAnyAlertPayloadT> {}\n","import * as React from 'react';\nimport type { DocumentRowT } from 'common/layouts/BaseDocumentsLayout/BaseDocumentsTable/BaseDocumentsTable';\nimport DateCell from 'common/components/Table/cell-renderers/DateCell/DateCell';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './ExpireDateCell.scss';\nimport { DocumentStatusEnum } from 'common/utils/api/models';\nimport { useSelector } from 'react-redux';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport { DEFAULT_ICON_SIZE, documentsWithoutExpirySet, StyleGuideColorsEnum } from 'common/constants';\nimport {\n    selectUploadingDictDocumentId,\n    selectUploadCompanyDocumentsRequest,\n    selectUpdatingDocumentId,\n    selectUpdateCompanyDocumentsRequest,\n} from 'common/store/documents/selectors';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    row: DocumentRowT;\n    className?: string;\n    onUploadDocument: (id: DocumentIdT) => void;\n    onSelectRow?: (row: DocumentRowT) => void;\n};\n\nconst ExpireDateCell: React.FC<PropsT> = React.memo((props) => {\n    const { row, onUploadDocument, onSelectRow } = props;\n\n    const { t } = useTranslation();\n\n    const { partnerId } = usePartnerContext();\n\n    const uploadingDictDocumentId = useSelector(selectUploadingDictDocumentId(partnerId));\n    const uploadRequest = useSelector(selectUploadCompanyDocumentsRequest(partnerId));\n\n    const updatingDocumentId = useSelector(selectUpdatingDocumentId(partnerId));\n    const updateRequest = useSelector(selectUpdateCompanyDocumentsRequest(partnerId));\n\n    const partnerPermissions = usePartnerPermissionsContext();\n\n    if (\n        (row.dictDocument.id === uploadingDictDocumentId && uploadRequest.loading) ||\n        (row.actualVersion?.id === updatingDocumentId && updateRequest.loading)\n    ) {\n        return <ControlLoaderWithShadow fillColor={StyleGuideColorsEnum.light} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    if (partnerPermissions.canUploadDocuments && !row.actualVersion) {\n        return (\n            <ClickInterceptorLabel>\n                <Button\n                    className={cx('action')}\n                    theme={ButtonThemeEnum.secondary}\n                    onClick={() => {\n                        if (onUploadDocument) {\n                            onUploadDocument(row.dictDocument.id);\n                        }\n                    }}\n                >\n                    {t('common:documents.table.actions.upload')}\n                </Button>\n            </ClickInterceptorLabel>\n        );\n    }\n\n    if (\n        partnerPermissions.canUploadDocuments &&\n        (row.actualVersion?.status === DocumentStatusEnum.rejected ||\n            row.actualVersion?.status === DocumentStatusEnum.revoked)\n    ) {\n        return (\n            <ClickInterceptorLabel>\n                <Button\n                    className={cx('action')}\n                    theme={ButtonThemeEnum.secondary}\n                    onClick={() => {\n                        if (onUploadDocument) {\n                            onUploadDocument(row.dictDocument.id);\n                        }\n                    }}\n                >\n                    {t('common:documents.table.actions.upload-new')}\n                </Button>\n            </ClickInterceptorLabel>\n        );\n    }\n\n    if (partnerPermissions.canReviewDocuments && row.actualVersion?.status === DocumentStatusEnum.waitingForApprove) {\n        return (\n            <ClickInterceptorLabel>\n                <Button\n                    className={cx('action')}\n                    theme={ButtonThemeEnum.secondary}\n                    onClick={() => {\n                        if (onSelectRow) {\n                            onSelectRow(row);\n                        }\n                    }}\n                >\n                    {t('common:documents.table.actions.review')}\n                </Button>\n            </ClickInterceptorLabel>\n        );\n    }\n\n    if (documentsWithoutExpirySet.has(row.dictDocument.type)) {\n        return <div className={cx('without-expiry')}>{t('common:documents.table.without-expiry')}</div>;\n    }\n\n    return <DateCell className={cx('date')} date={row.actualVersion?.validTill} />;\n});\n\nexport default ExpireDateCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"checkbox\":\"ContinueSignUpForm__checkbox___KF_9f\",\"checkbox__error\":\"ContinueSignUpForm__checkbox__error___Vh3v5\",\"terms\":\"ContinueSignUpForm__terms___DGF4L\",\"submit\":\"ContinueSignUpForm__submit___Heu2m\",\"footer-links\":\"ContinueSignUpForm__footer-links___GWMyI\",\"footer-links__link\":\"ContinueSignUpForm__footer-links__link___bh_PX\",\"fadeIn\":\"ContinueSignUpForm__fadeIn___h9QGe\",\"blinking\":\"ContinueSignUpForm__blinking___evb_v\"};","import { ApiBrokerTourTypeT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport enum FieldsEnum {\n    carrierIds = 'carrierIds',\n    carrierNames = 'carrierNames',\n    originAddress = 'originAddress',\n    destinationAddress = 'destinationAddress',\n    originDates = 'originDates',\n    destinationDates = 'destinationDates',\n    creationDates = 'creationDates',\n    tourTypes = 'tourTypes',\n    plateNumber = 'plateNumber',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.carrierIds]: Array<CarrierIdT>;\n    [FieldsEnum.carrierNames]: Array<string>;\n    [FieldsEnum.originAddress]: string;\n    [FieldsEnum.destinationAddress]: string;\n    [FieldsEnum.originDates]: DateRangeT | null;\n    [FieldsEnum.destinationDates]: DateRangeT | null;\n    [FieldsEnum.creationDates]: DateRangeT | null;\n    [FieldsEnum.tourTypes]: Array<ApiBrokerTourTypeT>;\n    [FieldsEnum.plateNumber]: string;\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './BidMessage.scss';\n\ntype PropsT = {\n    icon?: React.ReactNode;\n    title?: React.ReactNode;\n    description?: React.ReactNode;\n};\n\nconst cx = classNames.bind(styles);\n\nconst BidMessage: React.FC<PropsT> = React.memo((props) => {\n    const { icon, title, description } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <div className={cx('icon')}>{icon}</div>\n            <div className={cx('title')}>{title}</div>\n            <div className={cx('description')}>{description}</div>\n        </div>\n    );\n});\n\nexport default BidMessage;\n","const getDatesHash = (pickUpDate: string | null | undefined, dropOffDate: string | null | undefined): string =>\n    `${pickUpDate || ''}-${dropOffDate || ''}`;\n\nexport default getDatesHash;\n","import {\n    FETCH_ADDITIONAL_SERVICES_REQUEST,\n    FETCH_ADDITIONAL_SERVICES_REQUEST_BEGIN,\n    FETCH_ADDITIONAL_SERVICES_REQUEST_ERROR,\n    FETCH_ADDITIONAL_SERVICES_REQUEST_SUCCESS,\n    FetchAdditionalServicesActionT,\n    FetchAdditionalServicesBeginActionT,\n    FetchAdditionalServicesErrorActionT,\n    FetchAdditionalServicesSuccessActionT,\n    UPDATE_ADDITIONAL_SERVICE_REQUEST,\n    UPDATE_ADDITIONAL_SERVICE_REQUEST_BEGIN,\n    UPDATE_ADDITIONAL_SERVICE_REQUEST_ERROR,\n    UPDATE_ADDITIONAL_SERVICE_REQUEST_SUCCESS,\n    UpdateAdditionalServiceActionT,\n    UpdateAdditionalServiceBeginActionT,\n    UpdateAdditionalServiceErrorActionT,\n    UpdateAdditionalServiceSuccessActionT,\n} from './types';\nimport { DictCarrierAdditionalServiceGroupT } from './models';\nimport { ApiCarrierAdditionalServiceChangesT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const fetchAdditionalServices = (options: FetchOptionsT): FetchAdditionalServicesActionT => ({\n    type: FETCH_ADDITIONAL_SERVICES_REQUEST,\n    options,\n});\n\nexport const fetchAdditionalServicesBegin = (): FetchAdditionalServicesBeginActionT => ({\n    type: FETCH_ADDITIONAL_SERVICES_REQUEST_BEGIN,\n});\n\nexport const fetchAdditionalServicesSuccess = (\n    list: DictCarrierAdditionalServiceGroupT[] | null,\n): FetchAdditionalServicesSuccessActionT => ({\n    type: FETCH_ADDITIONAL_SERVICES_REQUEST_SUCCESS,\n    list,\n});\n\nexport const fetchAdditionalServicesError = (error: Error): FetchAdditionalServicesErrorActionT => ({\n    type: FETCH_ADDITIONAL_SERVICES_REQUEST_ERROR,\n    error,\n});\n\nexport const updateAdditionalService = (\n    changes: ApiCarrierAdditionalServiceChangesT[],\n): UpdateAdditionalServiceActionT => ({\n    type: UPDATE_ADDITIONAL_SERVICE_REQUEST,\n    changes,\n});\n\nexport const updateAdditionalServiceBegin = (): UpdateAdditionalServiceBeginActionT => ({\n    type: UPDATE_ADDITIONAL_SERVICE_REQUEST_BEGIN,\n});\n\nexport const updateAdditionalServiceSuccess = (\n    changes: ApiCarrierAdditionalServiceChangesT[],\n): UpdateAdditionalServiceSuccessActionT => ({\n    type: UPDATE_ADDITIONAL_SERVICE_REQUEST_SUCCESS,\n    changes,\n});\n\nexport const updateAdditionalServiceError = (error: Error): UpdateAdditionalServiceErrorActionT => ({\n    type: UPDATE_ADDITIONAL_SERVICE_REQUEST_ERROR,\n    error,\n});\n","export const getDriverLabel = (\n    params: {\n        name?: string;\n        surname?: string;\n    } | null,\n): string => {\n    return [params?.name, params?.surname].filter(Boolean).join(' ');\n};\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FetchBrokerToursPageActionT } from './types';\nimport { BrokerTourShortT } from './models';\nimport {\n    fetchBrokerToursPage,\n    fetchBrokerToursPageBegin,\n    fetchBrokerToursPageError,\n    fetchBrokerToursPageSuccess,\n    resetBrokerTours,\n} from './slice';\nimport { selectBrokerToursPages, selectBrokerToursQuery } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { brokerToursPaginationChannel } from 'broker-admin/store/broker-tours/channels';\n\nfunction* fetchBrokerToursSaga(action: FetchBrokerToursPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options } = action.payload;\n\n    const prevQuery: ReturnType<typeof selectBrokerToursQuery> = yield select(selectBrokerToursQuery);\n    const pages: ReturnType<typeof selectBrokerToursPages> = yield select(selectBrokerToursPages);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetBrokerTours({ mutationListOptions: { savingPageNumber: pageNumber } }));\n    }\n\n    yield put(fetchBrokerToursPageBegin({ query, pageNumber }));\n\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.getBrokerToursFilter> =\n        yield brokerTranziitApi.getBrokerToursFilter({\n            ...query,\n            page: pageNumber,\n        });\n\n    if (error) {\n        yield put(fetchBrokerToursPageError({ query, pageNumber, error }));\n        return;\n    }\n\n    const pageResponse = response\n        ? {\n              content: response.content?.map(\n                  (item): BrokerTourShortT => ({\n                      ...item,\n                      // WTF?!?! tourId is optional\n                      id: item.tourId || '-',\n                  }),\n              ),\n              totalElements: response.totalElements,\n              totalPages: response.totalPages,\n              page: pageNumber,\n          }\n        : null;\n\n    yield put(fetchBrokerToursPageSuccess({ query, pageNumber, pageResponse }));\n\n    checkShouldEmitChangePage(pageNumber, response, brokerToursPaginationChannel);\n}\n\nfunction* brokerToursSaga(): WrapGeneratorT<void> {\n    yield takeEvery(fetchBrokerToursPage.type, fetchBrokerToursSaga);\n}\n\nexport default brokerToursSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"SpotRequestDetailsTabs__container___Yv2EU\",\"action--start\":\"SpotRequestDetailsTabs__action--start___PEsYD\",\"button-group\":\"SpotRequestDetailsTabs__button-group___K2_O4\",\"count\":\"SpotRequestDetailsTabs__count___Pv1qE\",\"status\":\"SpotRequestDetailsTabs__status___YWDsr\",\"status--is-warning\":\"SpotRequestDetailsTabs__status--is-warning___YYcSb\",\"time\":\"SpotRequestDetailsTabs__time___SfWjj\",\"message\":\"SpotRequestDetailsTabs__message___aW4nt\",\"fadeIn\":\"SpotRequestDetailsTabs__fadeIn___LMVql\",\"blinking\":\"SpotRequestDetailsTabs__blinking___TrYyu\"};","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerOrderDetailsPage.scss';\n\nimport { useParams } from 'react-router-dom';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport { BrokerOrdersRoutesEnum, routesEnum } from 'broker-admin/constants';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport {\n    selectBrokerOrderDetails,\n    selectBrokerOrderDetailsRequestStatus,\n} from 'broker-admin/store/broker-order-details/selectors';\nimport { fetchBrokerOrderDetails } from 'broker-admin/store/broker-order-details/slice';\nimport BrokerOrderDetails from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/BrokerOrderDetails';\nimport {\n    ApiBrokerOrderStatusT,\n    ApiRouteEditBlockReasonT,\n    BrokerOrderStatusEnum,\n    PartnerTypeEnum,\n} from 'common/utils/api/models';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport { formatQuery } from 'common/utils/query';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport ParanjaSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/ParanjaSideBarLayout/ParanjaSideBarLayout';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport TabGroupWithDivider from 'common/components/tabs/TabGroupWithDivider/TabGroupWithDivider';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum } from 'common/components/tabs/TabLabel/constants';\nimport EditTimeWindowsFooterContent from './footers/EditTimeWindowsFooterContent/EditTimeWindowsFooterContent';\nimport { selectUpdateBrokerOrderRequest } from 'broker-admin/store/broker-order-edit/selectors';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport CancelBrokerOrderConfirmation, {\n    CancelingBrokerOrderConfirmationDataT,\n} from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/dialogs/CancelBrokerOrderConfirmation/CancelBrokerOrderConfirmation';\nimport BrokerOrderStatusPill from 'common/components/status-pill/BrokerOrderStatusPill/BrokerOrderStatusPill';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport EntitySidebarSkeleton from 'common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport SendingToSpotFooterContent from './footers/SendingToSpotFooterContent/SendingToSpotFooterContent';\nimport { selectSpotUpdateRequestStatus } from 'broker-admin/store/spot/selectors';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\n\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { logWarning } from 'common/utils/logger';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport BrokerOrderRouteMap from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderRouteMap/BrokerOrderRouteMap';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport { StateMachineEntityDescriptorT } from 'common/store/state-machine/models';\nimport { updateEntityStatus } from 'common/store/state-machine/slice';\nimport { useStateMachine } from 'common/utils/hooks/useStateMachine';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport { QueryKeysEnum, QueryT } from './query-models';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport { consistentStateMachineRefreshChannel } from 'common/store/consistent-state-machine/channels';\nimport { updatePapersRefreshChannel } from 'common/store/papers/channels';\nimport { papersEditRefreshChannel } from 'common/store/papers-edit/channels';\nimport DropdownControlOptionLabelWithTooltip from 'design-system/components/dropdowns/option/DropdownControlOptionLabelWithTooltip/DropdownControlOptionLabelWithTooltip';\nimport { updateSpotRefreshChannel } from 'broker-admin/store/spot/channels';\nimport { HighlightedEntityContextProvider } from 'common/components/status-machine/contexts/HighlightedEntityContext';\n\nconst cx = classNames.bind(styles);\n\nconst editBlockReasonI18nMap: Record<ApiRouteEditBlockReasonT, string> = {\n    KAM_IS_NOT_ALLOWED_TO_EDIT_ORDER: 'broker-order-route-edit.edit-block-reason.KAM_IS_NOT_ALLOWED_TO_EDIT_ORDER',\n    AT_LEAST_ONE_TOUR_NOT_IN_STATUS_CARRIER_UNASSIGNED:\n        'broker-order-route-edit.edit-block-reason.AT_LEAST_ONE_TOUR_NOT_IN_STATUS_CARRIER_UNASSIGNED',\n    AT_LEAST_ONE_TOUR_HAS_ACTIVE_TRANSPORTATION_ORDER:\n        'broker-order-route-edit.edit-block-reason.AT_LEAST_ONE_TOUR_HAS_ACTIVE_TRANSPORTATION_ORDER',\n    AT_LEAST_ONE_TOUR_IS_ON_SPOT: 'broker-order-route-edit.edit-block-reason.AT_LEAST_ONE_TOUR_IS_ON_SPOT',\n    ORDER_IS_LOCKED_FOR_EDITING_BY_ANOTHER_USER:\n        'broker-order-route-edit.edit-block-reason.ORDER_IS_LOCKED_FOR_EDITING_BY_ANOTHER_USER',\n    NEED_TO_FINISH_BROKER_APPOINTMENT_FIRST:\n        'broker-order-route-edit.edit-block-reason.NEED_TO_FINISH_BROKER_APPOINTMENT_FIRST',\n};\n\ntype PropsT = {};\n\nconst BrokerOrderDetailsPageContent: React.FC<PropsT> = React.memo(() => {\n    const query = useQuery<QueryT>();\n\n    const params = useParams<ExtractRouterRouteParamsT<BrokerOrdersRoutesEnum.brokerOrderDetails>>();\n    const { brokerOrderId } = params;\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const { t } = useTranslation();\n\n    const brokerOrderDetails = useSelector(selectBrokerOrderDetails(brokerOrderId));\n    const brokerOrderDetailsRequestStatus = useSelector(selectBrokerOrderDetailsRequestStatus(brokerOrderId));\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchBrokerOrderDetails({ id: brokerOrderId }));\n    }, [dispatch, brokerOrderId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchBrokerOrderDetails({ id: brokerOrderId, options: { isForceUpdate: false } }));\n    }, [dispatch, brokerOrderId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        dispatch(fetchBrokerOrderDetails({ id: brokerOrderId, options: { isForceUpdate: true } }));\n    }, [dispatch, brokerOrderId]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        dispatch(fetchBrokerOrderDetails({ id: brokerOrderId, options: { isForceUpdate: true } }));\n    }, [dispatch, brokerOrderId]);\n    useChannelSubscribe(stateMachineRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(updateSpotRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(consistentStateMachineRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(updatePapersRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(papersEditRefreshChannel, refreshPageHandler);\n\n    const closeOrderDetails = () => {\n        goBackIfHasRePath(() => {\n            history.push(routesEnum.brokerOrders + history.location.search);\n        });\n    };\n\n    const sendingToSpotTourId = query[QueryKeysEnum.sendingToSpotTourId] || null;\n    const isActiveSendingToSpot = !!sendingToSpotTourId;\n    const editingTimeWindowTourId = query[QueryKeysEnum.editingTimeWindowTourId] || null;\n    const isActiveTimeWindowEdit = !!editingTimeWindowTourId;\n\n    const handleStartEditTimeWindows = (tourId: TourIdT) => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.editingTimeWindowTourId]: tourId,\n            }),\n        });\n    };\n    const handleStartAssignment = (tourId: TourIdT) => {\n        if (!brokerOrderId) {\n            logWarning('Empty brokerOrderId');\n            return;\n        }\n\n        history.push(urlFactory.brokerOrderDetailsAssignments(brokerOrderId, tourId));\n    };\n\n    const handleStartSendToSpot = (tourId: TourIdT) => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.sendingToSpotTourId]: tourId,\n            }),\n        });\n    };\n\n    const handleCloseSendingToSpot = () => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.sendingToSpotTourId]: undefined,\n            }),\n        });\n    };\n\n    const closeEditTimeWindows = () => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.editingTimeWindowTourId]: undefined, // remove\n            }),\n        });\n    };\n\n    const editTimeWindowsRequestStatus = useSelector(selectUpdateBrokerOrderRequest);\n    React.useEffect(() => {\n        if (editTimeWindowsRequestStatus.ok) {\n            closeEditTimeWindows();\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [editTimeWindowsRequestStatus.ok]);\n\n    const spotRequestStatus = useSelector(selectSpotUpdateRequestStatus);\n    React.useEffect(() => {\n        if (spotRequestStatus.ok) {\n            handleCloseSendingToSpot();\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [spotRequestStatus.ok]);\n\n    const [activeIndexTab, setActiveIndexTab] = React.useState<number>(0);\n\n    const tabs = [\n        {\n            label: t('broker-order-details.tabs.map'),\n            node: <BrokerOrderRouteMap key={brokerOrderId} brokerOrderDetails={brokerOrderDetails} />,\n        },\n        // {\n        //     label: t('broker-order-details.tabs.activity'),\n        //     node: <div>activity</div>,\n        // },\n    ];\n\n    const renderFooterNode = (): React.ReactNode => {\n        if (isActiveTimeWindowEdit) {\n            return (\n                <FooterSideBarLayout isTransparent hasShadow>\n                    <EditTimeWindowsFooterContent\n                        brokerOrderId={brokerOrderId}\n                        brokerOrderDetails={brokerOrderDetails}\n                        tourId={editingTimeWindowTourId}\n                        onCancel={closeEditTimeWindows}\n                    />\n                </FooterSideBarLayout>\n            );\n        }\n\n        if (isActiveSendingToSpot) {\n            return (\n                <>\n                    <ParanjaSideBarLayout />\n                    <FooterSideBarLayout isTransparent hasShadow>\n                        <SendingToSpotFooterContent\n                            brokerOrderDetails={brokerOrderDetails}\n                            tourId={sendingToSpotTourId}\n                            onCancel={handleCloseSendingToSpot}\n                        />\n                    </FooterSideBarLayout>\n                </>\n            );\n        }\n\n        return null;\n    };\n\n    const descriptor = useMemo((): StateMachineEntityDescriptorT | null => {\n        if (!brokerOrderDetails?.id) {\n            return null;\n        }\n\n        return {\n            entityType: 'ORDER',\n            entityId: brokerOrderDetails.id,\n        };\n    }, [brokerOrderDetails]);\n\n    const { updateRequest, availableSubjectStatuses } = useStateMachine<ApiBrokerOrderStatusT>(descriptor);\n\n    const cancelingBrokerOrderConfirmation = useModalDialog<CancelingBrokerOrderConfirmationDataT>();\n    const handleCancelBrokerOrder = React.useCallback(\n        (data: CancelingBrokerOrderConfirmationDataT) => {\n            if (!descriptor) {\n                return;\n            }\n\n            dispatch(\n                updateEntityStatus({\n                    descriptor,\n                    update: {\n                        entityType: 'ORDER',\n                        entityId: data.brokerOrderId,\n                        status: BrokerOrderStatusEnum.canceled,\n                    },\n                }),\n            );\n        },\n        [descriptor, dispatch],\n    );\n\n    useCloseModalDialogAfterRequest(updateRequest, [cancelingBrokerOrderConfirmation]);\n\n    const isAvailableCanceled =\n        availableSubjectStatuses?.backward?.includes(BrokerOrderStatusEnum.canceled) ||\n        availableSubjectStatuses?.forward?.includes(BrokerOrderStatusEnum.canceled);\n\n    const editBlockReason = brokerOrderDetails?.editBlockReason || null;\n    const isDisabledRouteEditing = !brokerOrderDetails?.allowToEdit || !!editBlockReason;\n\n    const headerDropdownOptions = React.useMemo(() => {\n        return [\n            {\n                label: (\n                    <DropdownControlOptionLabelWithTooltip\n                        tooltipContent={editBlockReason ? t(editBlockReasonI18nMap[editBlockReason]) : null}\n                        icon={<RouteIcon fillColor={StyleGuideColorsEnum.slate} />}\n                        isDisabled={isDisabledRouteEditing}\n                        label={t('broker-order-details.header-actions.edit-route')}\n                    />\n                ),\n                isDisabled: isDisabledRouteEditing,\n                onSelect: (): void => {\n                    history.push(urlFactory.brokerOrderRouteEdit(brokerOrderId));\n                },\n            },\n            isAvailableCanceled ? SpecialOptionEnum.separator : null,\n            isAvailableCanceled\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                              label={t('broker-order-details.header-actions.cancel')}\n                          />\n                      ),\n                      onSelect: (): void => {\n                          cancelingBrokerOrderConfirmation.setData({\n                              brokerOrderId,\n                          });\n                      },\n                  }\n                : null,\n        ];\n    }, [\n        isAvailableCanceled,\n        brokerOrderId,\n        isDisabledRouteEditing,\n        editBlockReason,\n        cancelingBrokerOrderConfirmation,\n        t,\n    ]);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n    const handleOpenUserDetails = (params: {\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n        userId: UserIdT | null;\n    }) => {\n        const { partnerId, partnerType, userId } = params;\n        if (!userId) {\n            logWarning('failed to open user details in broker order details, empty user id');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.contact,\n                partnerId,\n                partnerType,\n                userId,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    return (\n        <>\n            <GoogleMapContext.Provider value={googleMapsContextValue}>\n                <PageTitle\n                    title={t('page-titles.broker-order-details', {\n                        number: brokerOrderDetails?.number || '',\n                    })}\n                />\n                <HorizontalColumnsLayout\n                    testSelector=\"broker-order-details\"\n                    className={cx('wrap')}\n                    leftColumnTitle={t('broker-order-details.main-tabs.details')}\n                    leftColumnNode={\n                        <SideBarLayoutContextWrap>\n                            <HeaderSideBarLayout>\n                                <HeaderSideBarContent\n                                    title={\n                                        brokerOrderDetails\n                                            ? t('broker-order-details.title', {\n                                                  number: brokerOrderDetails?.number || '',\n                                              })\n                                            : null\n                                    }\n                                    afterTitleNode={\n                                        <BrokerOrderStatusPill\n                                            isSymmetrical\n                                            status={brokerOrderDetails?.status}\n                                            isArchived={brokerOrderDetails?.archived}\n                                        />\n                                    }\n                                    onClose={closeOrderDetails}\n                                    dropdownOptions={headerDropdownOptions}\n                                />\n                                <SideBarHeaderRequestStatus\n                                    requestStatus={brokerOrderDetailsRequestStatus}\n                                    hasCachedData={Boolean(brokerOrderDetails)}\n                                    isForceShowLoader={\n                                        updateRequest.loading ||\n                                        spotRequestStatus.loading ||\n                                        editTimeWindowsRequestStatus.loading\n                                    }\n                                />\n                            </HeaderSideBarLayout>\n                            <SideBarLayout>\n                                <SideBarRequestStatus\n                                    requestStatus={brokerOrderDetailsRequestStatus}\n                                    hasCachedData={Boolean(brokerOrderDetails)}\n                                    onRetry={handleRefreshOnError}\n                                    SkeletonComponent={EntitySidebarSkeleton}\n                                >\n                                    {brokerOrderDetails ? (\n                                        <BrokerOrderDetails\n                                            isDisableAnyActions={brokerOrderDetailsRequestStatus.loading}\n                                            onOpenUserDetails={handleOpenUserDetails}\n                                            onStartAssignment={handleStartAssignment}\n                                            onStartSendToSpot={handleStartSendToSpot}\n                                            onStartEditTimeWindows={handleStartEditTimeWindows}\n                                            brokerOrderDetails={brokerOrderDetails}\n                                        />\n                                    ) : null}\n                                </SideBarRequestStatus>\n                            </SideBarLayout>\n                            {renderFooterNode()}\n                        </SideBarLayoutContextWrap>\n                    }\n                    rightColumnTitle={t('broker-order-details.main-tabs.info')}\n                    rightColumnNode={\n                        <div className={cx('tabs-wrap')}>\n                            <TabGroupWithDivider>\n                                {tabs.map((tab, tabIndex) => (\n                                    <TabLabel\n                                        key={tabIndex}\n                                        theme={TabsThemesEnum.light}\n                                        onClick={() => {\n                                            setActiveIndexTab(tabIndex);\n                                        }}\n                                        isActive={tabIndex === activeIndexTab}\n                                    >\n                                        {tab.label}\n                                    </TabLabel>\n                                ))}\n                            </TabGroupWithDivider>\n                            <div className={cx('tab')}>{tabs[activeIndexTab].node}</div>\n                        </div>\n                    }\n                />\n            </GoogleMapContext.Provider>\n            <CancelBrokerOrderConfirmation\n                requestStatus={updateRequest}\n                data={cancelingBrokerOrderConfirmation.data}\n                onConfirm={handleCancelBrokerOrder}\n                onCancel={cancelingBrokerOrderConfirmation.onCancel}\n                onClose={cancelingBrokerOrderConfirmation.onClose}\n            />\n            <SideBars />\n        </>\n    );\n});\n\nconst BrokerOrderDetailsPage: React.FC<PropsT> = React.memo((props) => {\n    return (\n        <HighlightedEntityContextProvider>\n            <BrokerOrderDetailsPageContent {...props} />\n        </HighlightedEntityContextProvider>\n    );\n});\n\nexport default BrokerOrderDetailsPage;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TimelineSidebar.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport moment from 'moment';\nimport Timeline from 'common/components/Timeline/Timeline';\nimport { FlagT, TimelineLevelT, TimeWindowT } from 'common/components/Timeline/models';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport { VehicleScheduleEventT } from 'common/store/vehicle-schedules/models';\nimport scrollIntoView from 'scroll-into-view';\nimport { useTranslation } from 'react-i18next';\nimport TimelineAutoSizer from '../TimelineAutoSizer/TimelineAutoSizer';\nimport { DATA_TIMELINE_ITEM_SELECTOR, LEFT_PADDING } from 'common/components/Timeline/constants';\nimport isNumber from 'lodash/isNumber';\nimport PlusSignIcon from 'common/icons/PlusSignIcon';\nimport MinusSignIcon from 'common/icons/MinusSignIcon';\nimport { DEFAULT_VIEW_MS, MAX_VIEW_MS, MIN_VIEW_MS, TARGET_TICKS_VIEW_COUNT, ZOOM_STEP_MS } from './constants';\nimport { MS_IN_DAY } from 'common/utils/time';\nimport { chooseDelimeterMultipleMs } from './utils';\n\nconst cx = classNames.bind(styles);\n\ntype TimelineSidebarLevelT<T> = TimelineLevelT<T> & {\n    icon?: React.ReactNode;\n};\n\ntype PropsT<T> = {\n    className?: string;\n    onClose?: () => void;\n    utcOffset?: number | null;\n    selectedTimeWindowId: string | null;\n    onTimeWindowClick?: (eventId: string) => void;\n    onTimeWindowBlur?: (eventId: string) => void;\n    onTimeWindowFocus?: (eventId: string) => void;\n    isLoading?: boolean;\n    levels: Array<TimelineSidebarLevelT<T>>;\n    flags?: Array<FlagT<T>>;\n};\n\nconst TimelineSidebar = <T = VehicleScheduleEventT,>(props: PropsT<T>) => {\n    const {\n        className,\n        onClose,\n        selectedTimeWindowId,\n        onTimeWindowClick,\n        onTimeWindowBlur,\n        onTimeWindowFocus,\n        isLoading,\n        levels,\n        utcOffset,\n        flags,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const innerRef = React.useRef<HTMLDivElement>(null);\n\n    const allTimeWindows = React.useMemo(() => {\n        return levels.reduce<Array<TimeWindowT<T>>>((result, level) => {\n            return [...result, ...level.timeWindows];\n        }, []);\n    }, [levels]);\n\n    const defaultStart = React.useMemo(() => {\n        return Date.now() - DEFAULT_VIEW_MS / 2;\n    }, []);\n\n    const start = React.useMemo(() => {\n        return Math.min(defaultStart, ...allTimeWindows.map((timeWindow) => timeWindow.start));\n    }, [allTimeWindows, defaultStart]);\n\n    const finish = React.useMemo(() => {\n        const result = allTimeWindows.map((timeWindow) => timeWindow.end);\n        if (start) {\n            result.push(start + DEFAULT_VIEW_MS);\n        }\n\n        return Math.max(...result);\n    }, [allTimeWindows, start]);\n\n    const scrollToTimeWindow = React.useCallback((timeWindowId: string) => {\n        setTimeout(() => {\n            const node = innerRef.current?.querySelector(`[${DATA_TIMELINE_ITEM_SELECTOR}=\"${timeWindowId}\"]`);\n            if (!node || !(node instanceof HTMLElement)) {\n                return;\n            }\n            scrollIntoView(node, {\n                time: 0,\n                align: {\n                    top: 0,\n                },\n            });\n        }, 0);\n    }, []);\n\n    const handleTimeWindowClick = React.useCallback(\n        (timeWindow: TimeWindowT<T>) => {\n            if (onTimeWindowClick) {\n                onTimeWindowClick(timeWindow.id);\n            }\n\n            setViewMs(Math.max(timeWindow.end - timeWindow.start, MIN_VIEW_MS));\n\n            scrollToTimeWindow(timeWindow.id);\n        },\n        [onTimeWindowClick, scrollToTimeWindow],\n    );\n\n    React.useEffect(() => {\n        if (selectedTimeWindowId) {\n            scrollToTimeWindow(selectedTimeWindowId);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [selectedTimeWindowId]);\n\n    const handleTimeWindowBlur = React.useCallback(\n        (timeWindow: TimeWindowT<T>) => {\n            if (onTimeWindowBlur) {\n                onTimeWindowBlur(timeWindow.id);\n            }\n        },\n        [onTimeWindowBlur],\n    );\n\n    const handleTimeWindowFocus = React.useCallback(\n        (timeWindow: TimeWindowT<T>) => {\n            if (onTimeWindowFocus) {\n                onTimeWindowFocus(timeWindow.id);\n            }\n        },\n        [onTimeWindowFocus],\n    );\n\n    const hasIcons = React.useMemo(() => {\n        return levels?.some((level) => !!level.icon);\n    }, [levels]);\n\n    const [viewMs, setViewMs] = React.useState<number>(DEFAULT_VIEW_MS);\n\n    const handlePlusZoom = React.useCallback(() => {\n        setViewMs((prevViewMs) => Math.max(prevViewMs - ZOOM_STEP_MS, MIN_VIEW_MS));\n    }, []);\n\n    const handleMinusZoom = React.useCallback(() => {\n        setViewMs((prevViewMs) => Math.min(prevViewMs + ZOOM_STEP_MS, MAX_VIEW_MS));\n    }, []);\n\n    const delimeterMultipleMs = React.useMemo(() => {\n        return chooseDelimeterMultipleMs({\n            viewMs,\n            targetTicks: TARGET_TICKS_VIEW_COUNT,\n        });\n    }, [viewMs]);\n\n    const formatter = React.useCallback(\n        (timestamp: number, utcOffset: number | null): string => {\n            const momentObj = moment(timestamp);\n\n            if (isNumber(utcOffset)) {\n                momentObj.utcOffset(utcOffset);\n            }\n\n            const isDateOnly = delimeterMultipleMs >= MS_IN_DAY;\n            return momentObj.format(isDateOnly ? 'ddd, D MMM' : 'ddd, D MMM HH:mm');\n        },\n        [delimeterMultipleMs],\n    );\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            {isLoading && <LoaderOverlay />}\n            <div className={cx('header')}>\n                {onClose && (\n                    <TransparentTrigger\n                        onClick={onClose}\n                        leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.white} />}\n                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                    />\n                )}\n            </div>\n            {hasIcons && (\n                <div\n                    className={cx('icons')}\n                    style={{\n                        paddingLeft: `${LEFT_PADDING}px`,\n                    }}\n                >\n                    <div className={cx('icons__inner')}>\n                        {levels.map((level, levelIndex) => {\n                            return (\n                                <div key={levelIndex} className={cx('icons__item')}>\n                                    {level.icon}\n                                </div>\n                            );\n                        })}\n                    </div>\n                </div>\n            )}\n            <div className={cx('inner')} ref={innerRef}>\n                <TimelineAutoSizer>\n                    {(height) => (\n                        <>\n                            {isNumber(start) && isNumber(finish) && (\n                                <Timeline<T>\n                                    start={start}\n                                    finish={finish}\n                                    viewMs={viewMs}\n                                    viewHeight={height}\n                                    delimeterMultipleMs={delimeterMultipleMs}\n                                    utcOffset={utcOffset}\n                                    formatter={formatter}\n                                    timeWindowLevels={levels}\n                                    onTimeWindowClick={handleTimeWindowClick}\n                                    onTimeWindowBlur={handleTimeWindowBlur}\n                                    onTimeWindowFocus={handleTimeWindowFocus}\n                                    nowLabel={t('common:now')}\n                                    flags={flags}\n                                />\n                            )}\n                            <div className={cx('zoom')}>\n                                <div\n                                    className={cx('zoom-trigger', 'zoom-trigger--plus', {\n                                        'zoom-trigger--isClickable': viewMs > MIN_VIEW_MS,\n                                    })}\n                                    onClick={handlePlusZoom}\n                                >\n                                    <PlusSignIcon\n                                        size={DEFAULT_ICON_SIZE}\n                                        strokeColor={StyleGuideColorsEnum.charcoal}\n                                    />\n                                </div>\n                                <div\n                                    className={cx('zoom-trigger', 'zoom-trigger--minus', {\n                                        'zoom-trigger--isClickable': viewMs < MAX_VIEW_MS,\n                                    })}\n                                    onClick={handleMinusZoom}\n                                >\n                                    <MinusSignIcon\n                                        size={DEFAULT_ICON_SIZE}\n                                        strokeColor={StyleGuideColorsEnum.charcoal}\n                                    />\n                                </div>\n                            </div>\n                        </>\n                    )}\n                </TimelineAutoSizer>\n            </div>\n        </div>\n    );\n};\n\nexport default React.memo(TimelineSidebar) as typeof TimelineSidebar;\n","type ParamsT = {\n    shouldBrokerWindowAppointment: boolean | null | undefined;\n    originalDateTimeFrom: string | null | undefined;\n    originalDateTimeTo: string | null | undefined;\n    correctedDateTimeFrom: string | null | undefined;\n    correctedDateTimeTo: string | null | undefined;\n};\n\nexport const checkBrokerAppointmentStatus = (params: ParamsT) => {\n    const {\n        shouldBrokerWindowAppointment,\n        originalDateTimeFrom,\n        originalDateTimeTo,\n        correctedDateTimeTo,\n        correctedDateTimeFrom,\n    } = params;\n\n    const isCorrectedDateTime =\n        originalDateTimeFrom !== correctedDateTimeFrom || originalDateTimeTo !== correctedDateTimeTo;\n\n    return {\n        shouldBrokerWindowAppointment: !!shouldBrokerWindowAppointment,\n        shouldShowCorrectedDateTime: isCorrectedDateTime,\n    };\n};\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { CurrencyEnum } from 'common/constants';\nimport { Trans, useTranslation } from 'react-i18next';\nimport TrailerDictIdFilterPill from 'common/components/filter-pills/TrailerDictIdFilterPill/TrailerDictIdFilterPill';\nimport Money from 'common/components/Money/Money';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { formatDateRangeFilterValue, pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\nimport { QueryFiltersT, QueryFiltersKeysEnum } from '../query-models';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\n// @ts-expect-error\nconst empty: React.ReactElement = null;\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const orderType = queryFilters[QueryFiltersKeysEnum.orderType];\n\n                    return t('common:transport-orders-page.filters.pills.order-type', {\n                        value: t(`common:transport-orders-page.filters.transport-order-type.${orderType}`),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.orderType],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:transport-orders-page.filters.pills.search', {\n                        value: queryFilters[QueryFiltersKeysEnum.searchText],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.searchText],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:transport-orders-page.filters.pills.plate-number', {\n                        value: queryFilters[QueryFiltersKeysEnum.plateNumber],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.plateNumber],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:transport-orders-page.filters.pills.origin-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.originAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.originAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:transport-orders-page.filters.pills.destination-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.destinationAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.destinationAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, isCompact) => {\n                    return pillIconRendererMap.avatar(queryFilters[QueryFiltersKeysEnum.driverName], isCompact);\n                },\n                render: (queryFilters) => {\n                    return t('common:transport-orders-page.filters.pills.driver', {\n                        value: queryFilters[QueryFiltersKeysEnum.driverName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.driverId, QueryFiltersKeysEnum.driverName],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const selectedTrailerId = queryFilters[QueryFiltersKeysEnum.dictTrailerId];\n\n                    return (\n                        <Trans\n                            i18nKey=\"common:transport-orders-page.filters.pills.trailer\"\n                            components={{\n                                value: <TrailerDictIdFilterPill trailerDictId={selectedTrailerId} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.dictTrailerId],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    const minPrice = queryFilters[QueryFiltersKeysEnum.minPrice];\n\n                    return (\n                        <Trans\n                            i18nKey=\"common:transport-orders-page.filters.pills.min-price\"\n                            components={{\n                                value: minPrice ? <Money amount={+minPrice} currency={CurrencyEnum.EUR} /> : empty,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.minPrice],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    const maxPrice = queryFilters[QueryFiltersKeysEnum.maxPrice];\n\n                    return (\n                        <Trans\n                            i18nKey=\"common:transport-orders-page.filters.pills.max-price\"\n                            components={{\n                                value: maxPrice ? <Money amount={+maxPrice} currency={CurrencyEnum.EUR} /> : empty,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.maxPrice],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    const pickupDateFrom = queryFilters[QueryFiltersKeysEnum.pickupDateFrom];\n                    const pickupDateTo = queryFilters[QueryFiltersKeysEnum.pickupDateTo];\n\n                    return t('common:transport-orders-page.filters.pills.pickup', {\n                        value: formatDateRangeFilterValue(pickupDateFrom, pickupDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.pickupDateFrom, QueryFiltersKeysEnum.pickupDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    const dropOffDateFrom = queryFilters[QueryFiltersKeysEnum.dropOffDateFrom];\n                    const dropOffDateTo = queryFilters[QueryFiltersKeysEnum.dropOffDateTo];\n\n                    return t('common:transport-orders-page.filters.pills.drop-off', {\n                        value: formatDateRangeFilterValue(dropOffDateFrom, dropOffDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dropOffDateFrom, QueryFiltersKeysEnum.dropOffDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    const createdDateFrom = queryFilters[QueryFiltersKeysEnum.receiveDatesFrom];\n                    const createdDateTo = queryFilters[QueryFiltersKeysEnum.receiveDatesTo];\n\n                    return t('common:transport-orders-page.filters.pills.received', {\n                        value: formatDateRangeFilterValue(createdDateFrom, createdDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.receiveDatesFrom, QueryFiltersKeysEnum.receiveDatesTo],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('common:transport-orders-page.filters.pills.spot');\n                },\n                clearKeys: [QueryFiltersKeysEnum.spot],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('common:transport-orders-page.filters.pills.dedicated');\n                },\n                clearKeys: [QueryFiltersKeysEnum.dedicated],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('common:transport-orders-page.warning-filters.running-out-of-time-to-assign-driver');\n                },\n                clearKeys: [QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('common:transport-orders-page.warning-filters.ran-out-of-time-to-assign-driver');\n                },\n                clearKeys: [QueryFiltersKeysEnum.ranOutOfTimeToAssignDriver],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('common:transport-orders-page.warning-filters.running-out-of-time-to-assign-assets');\n                },\n                clearKeys: [QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('common:transport-orders-page.warning-filters.ran-out-of-time-to-assign-assets');\n                },\n                clearKeys: [QueryFiltersKeysEnum.ranOutOfTimeToAssignAssets],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('common:transport-orders-page.warning-filters.expired');\n                },\n                clearKeys: [QueryFiltersKeysEnum.expired],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('common:transport-orders-page.warning-filters.shipment-missed');\n                },\n                clearKeys: [QueryFiltersKeysEnum.missed],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('common:transport-orders-page.warning-filters.tour-delaying');\n                },\n                clearKeys: [QueryFiltersKeysEnum.delaying],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"TimePillLabel__text___QrGDV\",\"fadeIn\":\"TimePillLabel__fadeIn___LAhbp\",\"blinking\":\"TimePillLabel__blinking___OV8Ro\"};","import * as React from 'react';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiEmissionClassT } from 'common/constants';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\n\ntype PropsT = {\n    className?: string;\n    emissionClass: ApiEmissionClassT | null | undefined;\n};\n\nconst EmissionClassCell: React.FC<PropsT> = React.memo((props) => {\n    const { emissionClass, className } = props;\n\n    return (\n        <PillLabel className={className} theme={PillLabelThemeEnum.slate} isSymmetrical>\n            <EmissionClassLabel isCompact emissionClass={emissionClass} />\n        </PillLabel>\n    );\n});\n\nexport default EmissionClassCell;\n","import * as React from 'react';\nimport { useSelector } from 'react-redux';\nimport PartnerPermissionContext from 'common/contexts/partner-permission-context';\nimport { selectPartnerPermissions } from 'broker-admin/store/partner/details/selectors';\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    children?: React.ReactNode;\n};\n\nconst PartnerPermissionsContextProvider: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId, children } = props;\n\n    const partnerPermissions = useSelector(selectPartnerPermissions(partnerId));\n\n    return <PartnerPermissionContext.Provider value={partnerPermissions}>{children}</PartnerPermissionContext.Provider>;\n});\n\nexport default PartnerPermissionsContextProvider;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ActionOverlay__wrap___P_sOA\",\"overlay\":\"ActionOverlay__overlay___5UYza\",\"fadeIn\":\"ActionOverlay__fadeIn___mIyPf\",\"blinking\":\"ActionOverlay__blinking___qUzlo\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerTrucksPage__fadeIn___wQkVN\",\"blinking\":\"PartnerTrucksPage__blinking___ElLJC\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst ExtraPointIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor, ...restProps } = props;\n\n    return (\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" {...restProps}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    d=\"M14.875 8.65c0 1.928-1.575 4.342-4.62 7.133l-.255.225-.255-.233c-3.045-2.783-4.62-5.197-4.62-7.125 0-2.88 2.115-5.025 4.875-5.025s4.875 2.138 4.875 5.025z\"\n                    fill={fillColor}\n                />\n                <path\n                    d=\"M10.75 5.5v2.25H13v1.5h-2.25v2.25h-1.5V9.25H7v-1.5h2.25V5.5h1.5zm3.75 3.15C14.5 5.927 12.512 4 10 4 7.487 4 5.5 5.928 5.5 8.65c0 1.755 1.463 4.08 4.5 6.855 3.037-2.775 4.5-5.1 4.5-6.855zM10 2.5c3.15 0 6 2.415 6 6.15 0 2.49-2.002 5.438-6 8.85-3.997-3.412-6-6.36-6-8.85C4 4.915 6.85 2.5 10 2.5z\"\n                    fill={strokeColor}\n                />\n            </g>\n        </svg>\n    );\n};\n\nExtraPointIcon.displayName = 'ExtraPointIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default ExtraPointIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TelematicUpdateDateCell.scss';\n\nimport isNil from 'lodash/isNil';\nimport HumanReadableFullDateCell from '../HumanReadableFullDateCell/HumanReadableFullDateCell';\n\ntype PropsT = {\n    telematicUpdatedDate: string | null | undefined;\n    placeholder: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TelematicUpdateDateCell: React.FC<PropsT> = React.memo((props) => {\n    const { telematicUpdatedDate, placeholder } = props;\n\n    if (isNil(telematicUpdatedDate)) {\n        return <div className={cx('placeholder')}>{placeholder}</div>;\n    }\n\n    return <HumanReadableFullDateCell isBold date={telematicUpdatedDate} />;\n});\n\nexport default TelematicUpdateDateCell;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './WarningIndicatorCell.scss';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport WarningIcon from 'common/icons/WarningIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\ntype PropsT = {\n    isShow: boolean;\n    tooltipText?: React.ReactNode | null;\n};\n\nconst cx = classNames.bind(styles);\n\nconst WarningIndicatorCell: React.FC<PropsT> = React.memo((props) => {\n    const { tooltipText, isShow } = props;\n    if (!tooltipText || !isShow) {\n        return null;\n    }\n\n    return (\n        <Tooltip\n            className={cx('tooltip')}\n            position={TooltipPositionEnum.topCenter}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                    {tooltipText}\n                </TooltipContent>\n            }\n        >\n            {() => <WarningIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n        </Tooltip>\n    );\n});\n\nexport default WarningIndicatorCell;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT, RoutePointFieldsEnum } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\nimport { checkIsAvailableCountryForShip } from 'common/store/country-settings-dict/utils/check-location';\n\nimport { CountrySettingsByCodeT } from 'common/store/country-settings-dict/models';\nimport { OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\nimport { editablePointTypeSet } from 'common/store/order-creation/constants';\n\nconst verifyLocation = (t: TFunction, location: LocationT | undefined | null): string | null => {\n    if (!location) {\n        return null;\n    }\n\n    if (Number.isNaN(location.utcOffsetMinutes)) {\n        return t('common:new-order-form.errors.wrong-utc-offset');\n    }\n\n    if (\n        !location.addressComponents?.zipCode &&\n        !location.addressComponents?.city &&\n        !location.addressComponents?.countryCode &&\n        !location.addressComponents?.street1 &&\n        !location.addressComponents?.street2\n    ) {\n        return t('common:new-order-form.errors.unsupported-area');\n    }\n\n    if (!location.addressComponents?.countryCode) {\n        return t('common:new-order-form.errors.need-address-details.country-code');\n    }\n\n    if (!location.addressComponents?.city) {\n        return t('common:new-order-form.errors.need-address-details.locality');\n    }\n\n    return null;\n};\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.trailerDictId,\n    // FieldsEnum.clientDropOffTimeWindow,\n    // FieldsEnum.clientPickUpTimeWindow,\n] as const;\n\nconst BROKER_REQUIRED_FIELDS = [...REQUIRED_FIELDS, FieldsEnum.shipper] as const;\n\nconst convertCountryCode = (dictCountryCode: string) => dictCountryCode.toUpperCase();\n\ntype DataT = {\n    isBroker: boolean;\n    countriesSettingsByCode: CountrySettingsByCodeT;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, data: DataT): FormErrorsT => {\n    const { isBroker, countriesSettingsByCode } = data;\n\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, isBroker ? BROKER_REQUIRED_FIELDS : REQUIRED_FIELDS, values),\n    };\n\n    const excludedCountries = values[FieldsEnum.excludedCountries] || [];\n    const excludedCountriesSet = new Set(excludedCountries.map(convertCountryCode));\n\n    const routeFormValue = values[FieldsEnum.route];\n    routeFormValue.forEach((routePointFormValue, routePointIndex) => {\n        if (routePointFormValue.type && !editablePointTypeSet.has(routePointFormValue.type)) {\n            return;\n        }\n\n        const isFirstRoutePointIndex = routePointIndex === 0;\n        const isLastRoutePointIndex = routePointIndex === routeFormValue.length - 1;\n\n        const addRoutePointError = (fieldName: RoutePointFieldsEnum, message: string) => {\n            if (!errors[FieldsEnum.route]) {\n                errors[FieldsEnum.route] = [];\n            }\n\n            if (!errors[FieldsEnum.route][routePointIndex]) {\n                errors[FieldsEnum.route][routePointIndex] = {};\n            }\n\n            errors[FieldsEnum.route][routePointIndex][fieldName] = message;\n        };\n\n        const routePointLocation = routeFormValue[routePointIndex][RoutePointFieldsEnum.location];\n        if (!routePointLocation) {\n            addRoutePointError(RoutePointFieldsEnum.location, t('common:new-order-form.errors.required-select-item'));\n        }\n\n        const routePointLocationError = verifyLocation(t, routePointLocation);\n        if (routePointLocation && routePointLocationError) {\n            addRoutePointError(RoutePointFieldsEnum.location, routePointLocationError);\n        }\n\n        if (!checkIsAvailableCountryForShip(routePointLocation, countriesSettingsByCode)) {\n            addRoutePointError(RoutePointFieldsEnum.location, t('common:new-order-form.errors.unsupported-country'));\n        }\n\n        if (excludedCountriesSet.has(routePointLocation?.addressComponents?.countryCode || '')) {\n            let excludeLocationErrorMessage;\n\n            if (routePointFormValue?.[RoutePointFieldsEnum.type] === OrderCreationReservePointTypeEnum.driveThrough) {\n                excludeLocationErrorMessage = t('common:new-order-form.errors.excluded-drive-thru-country');\n            }\n\n            if (routePointFormValue?.[RoutePointFieldsEnum.type] === OrderCreationReservePointTypeEnum.shipment) {\n                if (isFirstRoutePointIndex) {\n                    excludeLocationErrorMessage = t('common:new-order-form.errors.excluded-origin-country');\n                } else if (isLastRoutePointIndex) {\n                    excludeLocationErrorMessage = t('common:new-order-form.errors.excluded-destination-country');\n                } else {\n                    excludeLocationErrorMessage = t('common:new-order-form.errors.excluded-pickup-delivery-country');\n                }\n            }\n\n            if (excludeLocationErrorMessage) {\n                addRoutePointError(RoutePointFieldsEnum.location, excludeLocationErrorMessage);\n            }\n        }\n    });\n\n    const shipper = values[FieldsEnum.shipper];\n    if (isBroker && shipper !== null) {\n        if (!shipper?.addressVerified) {\n            errors[FieldsEnum.shipper] = t('common:new-order-form.errors.shipper-has-not-verified-address');\n        }\n\n        if (!shipper?.documentsVerified) {\n            errors[FieldsEnum.shipper] = t('common:new-order-form.errors.shipper-has-not-verified-documents');\n        }\n\n        if (shipper?.locked) {\n            errors[FieldsEnum.shipper] = t('common:new-order-form.errors.shipper-is-locked');\n        }\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import { FieldsEnum, RoutePointFieldsEnum, RoutePointFormValuesT } from './constants';\n\nexport const getRoutePointFieldName = <T extends RoutePointFieldsEnum>(\n    pointIndex: number,\n    routePointField: T,\n): `${FieldsEnum.route}.${number}.${T}` => {\n    return `${FieldsEnum.route}.${pointIndex}.${routePointField}`;\n};\n\nexport const checkIsAvailableRoutePoint = (routePointValues: RoutePointFormValuesT) => {\n    return !!routePointValues[RoutePointFieldsEnum.location];\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"name\":\"ContractNameCell__name___UFZoj\",\"fadeIn\":\"ContractNameCell__fadeIn___NxZKK\",\"blinking\":\"ContractNameCell__blinking___FWqXw\"};","import { disableCompaniesDataSourceSet, FieldsEnum, FormValuesT } from './constants';\nimport { QueryFiltersT, QueryFiltersKeysEnum } from 'broker-admin/layouts/StatisticsPage/query-models';\nimport { DEFAULT_DATA_SOURCE } from 'broker-admin/layouts/StatisticsPage/constants';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const dataSource = values[FieldsEnum.dataSource] || undefined;\n\n    let companiesQueryFilters: QueryFiltersT = {\n        [QueryFiltersKeysEnum.shipperId]: values[FieldsEnum.shipperId] || undefined,\n        [QueryFiltersKeysEnum.shipperName]: values[FieldsEnum.shipperName] || undefined,\n        [QueryFiltersKeysEnum.carrierId]: values[FieldsEnum.carrierId] || undefined,\n        [QueryFiltersKeysEnum.carrierName]: values[FieldsEnum.carrierName] || undefined,\n    };\n\n    if (disableCompaniesDataSourceSet.has(dataSource)) {\n        companiesQueryFilters = {};\n    }\n\n    const queryFilters: QueryFiltersT = {\n        [QueryFiltersKeysEnum.dataSource]: dataSource === DEFAULT_DATA_SOURCE ? undefined : dataSource,\n        [QueryFiltersKeysEnum.fromCountryCode]: values[FieldsEnum.fromCountryCode] || undefined,\n        [QueryFiltersKeysEnum.fromZipCode]: values[FieldsEnum.fromZipCode] || undefined,\n        [QueryFiltersKeysEnum.toCountryCode]: values[FieldsEnum.toCountryCode] || undefined,\n        [QueryFiltersKeysEnum.toZipCode]: values[FieldsEnum.toZipCode] || undefined,\n        ...companiesQueryFilters,\n    };\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","import * as React from 'react';\n\ntype PropsT = {\n    model: string | null | undefined;\n    plateNumber: string | null | undefined;\n};\n\nconst AssetLabelFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { model, plateNumber } = props;\n\n    return <span>{[plateNumber, model].filter(Boolean).join(' / ')}</span>;\n});\n\nexport default AssetLabelFormatter;\n","import isArray from 'lodash/isArray';\n\n// eslint-disable-next-line import/no-unresolved\nimport { FormikValues } from 'formik/dist/types';\nimport get from 'lodash/get';\n\nconst MAX_PERCENT = 100;\nconst MIN_PERCENT = 0;\n\nconst getterFormFillPercent = (progressSteps: Array<string | string[]>) => (values: FormikValues) => {\n    const percentStep = (MAX_PERCENT - MIN_PERCENT) / progressSteps.length;\n\n    const percent = progressSteps.reduce<number>((progress, progressStep) => {\n        let isFill: boolean;\n        if (isArray(progressStep)) {\n            isFill = progressStep.some((field) => !!get(values, field));\n        } else {\n            isFill = get(values, progressStep);\n        }\n\n        return progress + (isFill ? percentStep : 0);\n    }, 0);\n\n    return percent;\n};\n\nexport default getterFormFillPercent;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './SideBarMessage.scss';\nimport BigDoneIcon from 'common/icons/BigDoneIcon';\nimport BigEmptyIcon from 'common/icons/BigEmptyIcon';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\nimport Button, { ButtonPropsT } from 'common/components/Button/Button';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport { TraceIdLabel } from 'common/components/TraceIdLabel/TraceIdLabel';\n\nconst cx = classNames.bind(styles);\n\nexport enum SideBarMessageEnum {\n    done = 'done',\n    empty = 'empty',\n    warning = 'warning',\n}\n\nexport type SideBarMessagePropsT = {\n    title: React.ReactNode;\n    description?: string;\n    traceId?: TraceIdT | null;\n    iconType: SideBarMessageEnum;\n    className?: string;\n    actionsProps?: Array<ButtonPropsT | null>;\n};\n\nconst SideBarMessage: React.FC<SideBarMessagePropsT> = React.memo((props) => {\n    const { className, title, description, traceId, iconType, actionsProps } = props;\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isShowTraceId = featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.showTraceId);\n\n    return (\n        <div className={cs(cx('message'), className)}>\n            <div className={cx('icon')}>\n                {iconType === SideBarMessageEnum.done && <BigDoneIcon />}\n                {iconType === SideBarMessageEnum.empty && <BigEmptyIcon />}\n                {iconType === SideBarMessageEnum.warning && <BigWarningIcon />}\n            </div>\n            <div className={cx('title')}>{title}</div>\n            {!!description && <div className={cx('description')}>{description}</div>}\n            {isShowTraceId && traceId && (\n                <div className={cx('trace-id')}>\n                    <TraceIdLabel traceId={traceId} />\n                </div>\n            )}\n            {Boolean(actionsProps?.length) && (\n                <div className={cx('actions')}>\n                    {actionsProps?.map((actionProps, index) => (\n                        <Button key={index} type=\"button\" {...actionProps} />\n                    ))}\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default SideBarMessage;\n","// extracted by mini-css-extract-plugin\nexport default {\"additional-services-group__block\":\"AdditionalServicesGroup__additional-services-group__block___vDNtE\",\"additional-services-group__trigger\":\"AdditionalServicesGroup__additional-services-group__trigger___h0pxr\",\"additional-services-group__head\":\"AdditionalServicesGroup__additional-services-group__head___ASg8a\",\"additional-services-group__expand-icon\":\"AdditionalServicesGroup__additional-services-group__expand-icon___hPy0k\",\"additional-services-group__title\":\"AdditionalServicesGroup__additional-services-group__title___HvHSG\",\"additional-services-group__count\":\"AdditionalServicesGroup__additional-services-group__count___Hcz9t\",\"additional-service\":\"AdditionalServicesGroup__additional-service___P74DL\",\"additional-service__label\":\"AdditionalServicesGroup__additional-service__label___fF7sb\",\"additional-service__cost\":\"AdditionalServicesGroup__additional-service__cost___kKifq\",\"additional-service__cost--isActive\":\"AdditionalServicesGroup__additional-service__cost--isActive___tXhmN\",\"fadeIn\":\"AdditionalServicesGroup__fadeIn___Pw7X5\",\"blinking\":\"AdditionalServicesGroup__blinking___zEgcj\"};","import { FormValuesT, FieldsEnum } from './constants';\nimport { QueryFiltersT } from 'broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/query-models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst getInitialValues = (queryFilters: QueryFiltersT): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.createdByUserId]: null,\n        [FieldsEnum.createdByUserName]: null,\n        [FieldsEnum.createdByShipperId]: null,\n        [FieldsEnum.createdByShipperName]: null,\n        [FieldsEnum.dictTrailerTypeId]: null,\n        [FieldsEnum.createDates]: null,\n        [FieldsEnum.pickupAddress]: null,\n        [FieldsEnum.pickupDates]: null,\n        [FieldsEnum.dropoffAddress]: null,\n        [FieldsEnum.dropoffDates]: null,\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './InviteUserForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { AsyncFormErrorsT, FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { ApiInviteUserRoleT, RolesEnum, UserRoleT, UserStatusEnum } from 'common/utils/api/models';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport Input from 'common/components/Input/Input';\nimport { CompanyContactT, InviteUserRequestT } from 'common/store/members/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport asyncValidate from './async-validations';\nimport { TranziitApiRequestErrorSubTypeEnum } from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport UserRolesDropdown, {\n    getAvailableRolesByPartnerType,\n} from 'common/components/dropdowns/UserRolesDropdown/UserRolesDropdown';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { logWarning } from 'common/utils/logger';\n\nimport BrokerTeamsSuggest from 'common/components/dropdowns/BrokerTeamsSuggest/BrokerTeamsSuggest';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contacts: CompanyContactT[];\n    addMemberRequestStatus: RequestStatusT;\n    onInviteUser: (newUser: InviteUserRequestT) => void;\n    initialEmail: string | null | undefined;\n    allowSelectTeam: boolean;\n};\n\nexport const INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.email]: '',\n    [FieldsEnum.roles]: [],\n    [FieldsEnum.teamIds]: [],\n};\n\nconst INITIAL_TOUCHED: Record<FieldsEnum, boolean> = {\n    [FieldsEnum.roles]: true,\n    [FieldsEnum.email]: false,\n    [FieldsEnum.teamIds]: false,\n};\n\nconst AVAILABLE_PERMISSIONS_ROLES_SET: Record<string, Set<UserRoleT>> = {\n    addUsers: new Set([RolesEnum.companyAdmin]),\n};\n\nconst InviteUserForm: React.FC<PropsT> = (props) => {\n    const { contacts, onInviteUser, initialEmail, addMemberRequestStatus, allowSelectTeam } = props;\n\n    const { partnerType } = usePartnerContext();\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const availableRoles = React.useMemo((): Array<RolesEnum> => {\n        if (!partnerType) {\n            logWarning('Empty partnerType in InviteUserForm availableRoles');\n            return [];\n        }\n        return getAvailableRolesByPartnerType(partnerType);\n    }, [partnerType]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...INITIAL_VALUES,\n        };\n\n        if (initialEmail) {\n            values[FieldsEnum.email] = initialEmail;\n        }\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [initialEmail]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        initialTouched: INITIAL_TOUCHED,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const teamIds = values[FieldsEnum.teamIds];\n\n            const roles = values[FieldsEnum.roles];\n            if (!roles?.length) {\n                return;\n            }\n\n            onInviteUser({\n                email: values[FieldsEnum.email],\n                roles: roles as ApiInviteUserRoleT[],\n                teamsIds: teamIds,\n            });\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const selectedRoles = formik.values[FieldsEnum.roles];\n    const warnings = React.useMemo(() => {\n        const hasUserCanAddUser = contacts.find((contact) => {\n            return (\n                contact.userStatus !== UserStatusEnum.archived &&\n                contact.roles.some((roleInfo) => {\n                    return roleInfo.role && AVAILABLE_PERMISSIONS_ROLES_SET.addUsers.has(roleInfo.role);\n                })\n            );\n        });\n\n        const hasAvailableAddUsersRole = selectedRoles.some((role) => {\n            return AVAILABLE_PERMISSIONS_ROLES_SET.addUsers.has(role);\n        });\n\n        if (selectedRoles && !hasAvailableAddUsersRole && !hasUserCanAddUser) {\n            return {\n                [FieldsEnum.roles]: t('common:team-members.warnings.wrong-role-for-add-users', {\n                    role: t(`common:team-members.roles.${selectedRoles}`),\n                }),\n            };\n        }\n\n        return {\n            [FieldsEnum.roles]: null,\n        };\n    }, [contacts, selectedRoles, t]);\n\n    const renderEmailError = (asyncError: AsyncFormErrorsT[FieldsEnum.email]): string | null => {\n        if (asyncError === TranziitApiRequestErrorSubTypeEnum.emailAlreadyExist) {\n            const sameEmailContact = contacts.find((contact) => {\n                return contact.email === formik.values[FieldsEnum.email];\n            });\n\n            if (sameEmailContact?.userStatus === UserStatusEnum.pending) {\n                return t('common:team-members.invite-form.errors.email-already-exist-pending');\n            }\n\n            if (sameEmailContact?.userStatus === UserStatusEnum.archived) {\n                return t('common:team-members.invite-form.errors.email-already-exist-archived');\n            }\n\n            return t('common:team-members.invite-form.errors.email-already-exist');\n        }\n\n        return asyncError || null;\n    };\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(addMemberRequestStatus);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [addMemberRequestStatus.error]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('form')}>\n                <FormikField\n                    name={FieldsEnum.email}\n                    error={formik.errors[FieldsEnum.email]}\n                    meta={formik.getFieldMeta(FieldsEnum.email)}\n                    asyncError={renderEmailError(asyncFormErrors[FieldsEnum.email])}\n                    resetAsyncError={resetAsyncFormErrors}\n                    label={t('common:team-members.invite-form.fields.email.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.email}\n                            value={formik.values[FieldsEnum.email]}\n                            placeholder=\"\"\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.roles}\n                    error={formik.errors[FieldsEnum.roles]}\n                    meta={formik.getFieldMeta(FieldsEnum.roles)}\n                    warning={warnings[FieldsEnum.roles]}\n                    label={t('common:team-members.invite-form.fields.position.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <UserRolesDropdown\n                            value={formik.values[FieldsEnum.roles]}\n                            onChange={props.onChange}\n                            placeholder={t('common:team-members.invite-form.fields.position.placeholder')}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            availableRoles={availableRoles}\n                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                        />\n                    )}\n                </FormikField>\n                {allowSelectTeam && (\n                    <FormikField\n                        name={FieldsEnum.teamIds}\n                        error={formik.errors[FieldsEnum.teamIds]}\n                        meta={formik.getFieldMeta(FieldsEnum.teamIds)}\n                        label={t('common:team-members.invite-form.fields.teams.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <BrokerTeamsSuggest\n                                values={formik.values[FieldsEnum.teamIds]}\n                                onSelect={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                allowedQueryMinLength={0}\n                                overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                placeholder={t('common:team-members.invite-form.fields.teams.placeholder')}\n                            />\n                        )}\n                    </FormikField>\n                )}\n            </div>\n            <Button\n                theme={ButtonThemeEnum.primary}\n                isLoading={addMemberRequestStatus.loading}\n                isFullWidth\n                isCenterContent\n                type=\"submit\"\n            >\n                {t('common:team-members.submit.ready')}\n            </Button>\n        </form>\n    );\n};\n\nexport default InviteUserForm;\n","import { ApiDocumentT, DocumentStatusEnum, DocumentTypeEnum } from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\nimport { DocumentT } from '../models';\n\nconst prepareDocument = (apiDocument: ApiDocumentT): DocumentT | null => {\n    const { id, status } = apiDocument;\n\n    if (!id) {\n        logWarning('document without id!');\n        return null;\n    }\n\n    if (!status) {\n        logWarning('document without status!');\n    }\n\n    return {\n        ...apiDocument,\n        id,\n        dictDocumentId: String(apiDocument.dictDocumentId),\n        documentType: apiDocument.documentType as DocumentTypeEnum,\n        status: status as DocumentStatusEnum,\n    };\n};\n\nexport default prepareDocument;\n","export enum FieldsEnum {\n    dictTrailerId = 'dictTrailerId',\n\n    address = 'address',\n\n    validFromDates = 'validFromDates',\n    validTillDates = 'validTillDates',\n\n    createdDates = 'createdDates',\n\n    createdById = 'createdById',\n    createdByName = 'createdByName',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.dictTrailerId]: string | null;\n\n    [FieldsEnum.address]: string | null;\n\n    [FieldsEnum.validTillDates]: DateRangeT | null;\n    [FieldsEnum.validFromDates]: DateRangeT | null;\n\n    [FieldsEnum.createdDates]: DateRangeT | null;\n\n    [FieldsEnum.createdById]: string | null;\n    [FieldsEnum.createdByName]: string | null;\n};\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './HumanReadableFullDateCell.scss';\n\nimport isNil from 'lodash/isNil';\nimport { formatHumanReadableFullDate } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    date: string | null | undefined;\n    className?: string;\n    isBold?: boolean;\n    isBigFont?: boolean;\n    isAllowNever?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst HumanReadableFullDateCell: React.FC<PropsT> = React.memo((props) => {\n    const { date, isBold, isBigFont, className, isAllowNever } = props;\n\n    const { t } = useTranslation();\n\n    if (isNil(date)) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('date', { 'date--isBold': isBold, 'date--isBigFont': isBigFont }), className)}>\n            {formatHumanReadableFullDate(t, date, { isAllowNever })}\n        </div>\n    );\n});\n\nexport default HumanReadableFullDateCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"submit\":\"CompanySignUpForm__submit___uOcP0\",\"field--zip\":\"CompanySignUpForm__field--zip___Kp8iQ\",\"field--city\":\"CompanySignUpForm__field--city___S1oki\",\"error\":\"CompanySignUpForm__error___G5FCs\",\"fadeIn\":\"CompanySignUpForm__fadeIn___Z1xVW\",\"blinking\":\"CompanySignUpForm__blinking___Y7woI\"};","import { generatePath } from 'react-router';\n\nimport { OMSRoutesEnum, ProfileRoutesEnum, ProfileDocumentsRoutesEnum, CommonRoutesEnum } from 'common/constants';\nimport { RFQRoutesEnum } from 'shipper/constants';\nimport { ApiDocumentTypeT } from 'common/utils/api/models';\nimport qs from 'qs';\nimport { CommonSidebarsTypeEnum, SidebarQueryKeysEnum } from 'common/layouts/SideBars/models';\nimport { JSONArrayParam } from 'common/utils/query';\nimport { DocumentDetailsSidebarDataT } from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/models';\nimport { getRePath } from 'common/utils/urls';\n\nexport const urlFactory = {\n    orderList: () => {\n        return CommonRoutesEnum.orders;\n    },\n    orderDetails: (orderId: OrderIdT) => {\n        return {\n            pathname: generatePath(OMSRoutesEnum.orderDetails, {\n                orderId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    rfqDetails: (rfqId: RFQIdT) => {\n        return {\n            pathname: generatePath(RFQRoutesEnum.details, {\n                rfqId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    rfqList: () => {\n        return RFQRoutesEnum.list;\n    },\n    profileBasic: () => {\n        return ProfileRoutesEnum.basic;\n    },\n    profileDocuments: () => {\n        return ProfileRoutesEnum.documents;\n    },\n    optionalDocuments: () => {\n        return ProfileDocumentsRoutesEnum.optionalDocuments;\n    },\n    shipperContracts: () => {\n        return ProfileDocumentsRoutesEnum.shipperContracts;\n    },\n    documentDetails: (documentType: ApiDocumentTypeT) => {\n        return `${ProfileDocumentsRoutesEnum.requiredDocuments}?${qs.stringify({\n            [SidebarQueryKeysEnum.leftSidebar]: JSONArrayParam.encode<DocumentDetailsSidebarDataT>([\n                {\n                    type: CommonSidebarsTypeEnum.document,\n                    documentType,\n                    initIsEditing: false,\n                },\n            ]),\n        })}`;\n    },\n};\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { BrokerTeamShortT, FetchBrokerTeamsPageQueryT } from './models';\n\nexport type BrokerTeamStateT = PaginationStateT<BrokerTeamShortT, FetchBrokerTeamsPageQueryT>;\n\nconst initialState: BrokerTeamStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n};\n\nexport const brokerTeamsSlice = createSlice({\n    name: 'brokerTeams',\n    initialState,\n    reducers: {\n        fetchBrokerTeamsPage: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                pageNumber: PageNumberT;\n                query: FetchBrokerTeamsPageQueryT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchBrokerTeamsPageBegin: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerTeamsPageQueryT;\n                pageNumber: PageNumberT;\n            }>,\n        ) => {\n            const { pageNumber, query } = action.payload;\n\n            Object.assign(state, pageBeginReducer(state, pageNumber, query));\n        },\n        fetchBrokerTeamsPageSuccess: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerTeamsPageQueryT;\n                pageNumber: PageNumberT;\n                pageResponse: PageResponseT<BrokerTeamShortT> | null;\n            }>,\n        ) => {\n            const { query, pageNumber, pageResponse } = action.payload;\n\n            Object.assign(state, pageSuccessReducer(state, pageNumber, query, pageResponse));\n        },\n        fetchBrokerTeamsPageError: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerTeamsPageQueryT;\n                pageNumber: PageNumberT;\n                error: Error;\n            }>,\n        ) => {\n            const { query, error, pageNumber } = action.payload;\n\n            Object.assign(state, pageErrorReducer(state, pageNumber, query, error));\n        },\n        resetBrokerTeams: (\n            state,\n            action: PayloadAction<{\n                mutationListOptions: MutationListOptionsT;\n            }>,\n        ) => {\n            const { mutationListOptions } = action.payload;\n\n            Object.assign(state, initialState, resetPagesCacheReducer(initialState, state, mutationListOptions));\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchBrokerTeamsPage,\n    fetchBrokerTeamsPageBegin,\n    fetchBrokerTeamsPageSuccess,\n    fetchBrokerTeamsPageError,\n    resetBrokerTeams,\n} = brokerTeamsSlice.actions;\n\nexport default brokerTeamsSlice.reducer;\n","import { BrokerOrdersQuickFilterEnum } from 'common/utils/api/models';\n\nexport enum QueryFiltersKeysEnum {\n    originAddress = 'originAddress',\n    dropoffAddress = 'dropoffAddress',\n\n    pickupDateFrom = 'pickupDateFrom',\n    pickupDateTo = 'pickupDateTo',\n    dropOffDateFrom = 'dropOffDateFrom',\n    dropOffDateTo = 'dropOffDateTo',\n\n    createdDateFrom = 'createdDateFrom',\n    createdDateTo = 'createdDateTo',\n\n    hasUnpaidOrders = 'hasUnpaidOrders',\n\n    dictTrailerId = 'dictTrailerId',\n\n    shipperId = 'shipperId',\n    shipperName = 'shipperName',\n    carrierId = 'carrierId',\n    carrierName = 'carrierName',\n\n    spotTransportOrder = 'spotTransportOrder',\n    contractedTransportOrder = 'contractedTransportOrder',\n\n    spotOrder = 'spotOrder',\n    contractedOrder = 'contractedOrder',\n\n    dispatcherId = 'dispatcherId',\n    dispatcherName = 'dispatcherName',\n\n    keyAccountManagerId = 'keyAccountManagerId',\n    keyAccountManagerName = 'keyAccountManagerName',\n\n    quickFilter = 'quickFilter',\n\n    searchText = 'searchText',\n\n    runningOutOfTimeToAssignCarrier = 'running-out-of-time-to-assign-carrier',\n    runOutOfTimeToAssignCarrier = 'run-out-of-time-to-assign-carrier',\n    runningOutOfTimeToAssignAssets = 'running-out-of-time-to-assign-assets',\n    runOutOfTimeToAssignAssets = 'run-out-of-time-to-assign-assets',\n    runningOutOfTimeToAssignDriver = 'running-out-of-time-to-assign-driver',\n    runOutOfTimeToAssignDriver = 'run-out-of-time-to-assign-driver',\n    tourDelaying = 'tour-delaying',\n    noShow = 'no-show',\n    shipmentMissed = 'shipment-missed',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.dropoffAddress]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.originAddress]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dispatcherId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dispatcherName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.keyAccountManagerId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.keyAccountManagerName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.shipperId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.shipperName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.carrierId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.carrierName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dictTrailerId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.hasUnpaidOrders]: QueryParam.BooleanT;\n\n    [QueryFiltersKeysEnum.spotTransportOrder]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.contractedTransportOrder]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.spotOrder]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.contractedOrder]: QueryParam.BooleanT;\n\n    [QueryFiltersKeysEnum.searchText]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.quickFilter]: BrokerOrdersQuickFilterEnum;\n\n    [QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runOutOfTimeToAssignAssets]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runOutOfTimeToAssignDriver]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.tourDelaying]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.noShow]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.shipmentMissed]: QueryParam.BooleanT;\n}>;\n\nexport enum QueryKeysEnum {\n    brokerOrdersPage = 'broker-orders-page',\n    brokerOrdersSort = 'broker-orders-sort',\n    brokerOrdersFilters = 'broker-orders-filters',\n}\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './InvoicesTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport DateCell from 'common/components/Table/cell-renderers/DateCell/DateCell';\nimport { BrokerInvoiceT } from 'broker-admin/store/invoices/models';\nimport IdCell from 'common/components/Table/cell-renderers/IdCell/IdCell';\nimport ActionsCell from './cell-renderers/ActionsCell/ActionsCell';\nimport CustomerCell from './cell-renderers/CustomerCell/CustomerCell';\nimport CostCell from 'common/components/Table/cell-renderers/CostCell/CostCell';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { LinkToT } from 'common/components/Link/Link';\nimport InvoiceStatusPill from 'common/components/status-pill/InvoiceStatusPill/InvoiceStatusPill';\n\nconst cx = classNames.bind(styles);\n\nconst DUE_DATE_FORMAT = 'DD MMM YYYY';\nconst CREATED_DATE_FORMAT = 'DD MMM YYYY, HH:mm';\n\ntype PropsT = {\n    invoices: Array<BrokerInvoiceT>;\n    className: string;\n    isLoading: boolean;\n    getPartnerLink: (partnerType: PartnerTypeEnum, partnerId: CompanyIdT) => LinkToT;\n};\n\nconst InvoicesTable: React.FC<PropsT> = React.memo((props) => {\n    const { invoices, className, getPartnerLink, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<BrokerInvoiceT, void>> = [\n        {\n            renderHeader: () => <span>{t('invoices.list.table.columns.number')}</span>,\n            headerClassName: cx('table__header', 'table__header--number'),\n            render: (invoice: BrokerInvoiceT) => <IdCell id={invoice?.invoiceNumber} />,\n            className: cx('table__column', 'table__column--number'),\n            testSelector: 'number',\n        },\n        {\n            renderHeader: () => <span>{t('invoices.list.table.columns.customer')}</span>,\n            headerClassName: cx('table__header', 'table__header--customer'),\n            render: (invoice: BrokerInvoiceT) => <CustomerCell invoice={invoice} getPartnerLink={getPartnerLink} />,\n            className: cx('table__column', 'table__column--customer'),\n            testSelector: 'customer',\n        },\n        {\n            renderHeader: () => <span>{t('invoices.list.table.columns.amount')}</span>,\n            headerClassName: cx('table__header'),\n            render: (invoice: BrokerInvoiceT) => <CostCell cost={invoice?.amount} />,\n            className: cx('table__column', 'table__column--amount'),\n            testSelector: 'amount',\n        },\n        {\n            renderHeader: () => <span>{t('invoices.list.table.columns.created')}</span>,\n            headerClassName: cx('table__header'),\n            render: (invoice: BrokerInvoiceT) => (\n                <DateCell date={invoice?.createDate} dateFormat={CREATED_DATE_FORMAT} isBigFont isBold />\n            ),\n            className: cx('table__column', 'table__column--created'),\n            testSelector: 'created',\n        },\n        {\n            renderHeader: () => <span>{t('invoices.list.table.columns.due')}</span>,\n            headerClassName: cx('table__header'),\n            render: (invoice: BrokerInvoiceT) => (\n                <DateCell date={invoice?.dueDate} dateFormat={DUE_DATE_FORMAT} isBigFont isBold />\n            ),\n            className: cx('table__column', 'table__column--due'),\n            testSelector: 'due',\n        },\n        {\n            renderHeader: () => <span>{t('invoices.list.table.columns.status')}</span>,\n            headerClassName: cx('table__header'),\n            render: (invoice: BrokerInvoiceT) => <InvoiceStatusPill isSymmetrical status={invoice?.status} />,\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n        {\n            renderHeader: () => <span>{t('invoices.list.table.columns.actions')}</span>,\n            headerClassName: cx('table__header', 'table__header--actions'),\n            render: (invoice: BrokerInvoiceT) => <ActionsCell invoice={invoice} />,\n            className: cx('table__column', 'table__column--actions'),\n            testSelector: 'actions',\n        },\n    ];\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, invoice: BrokerInvoiceT) => {\n        return {};\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<BrokerInvoiceT> tableName=\"invoices\" isLoading={isLoading} rows={invoices}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<BrokerInvoiceT, void>\n                        testSelector=\"invoices\"\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default InvoicesTable;\n","import * as React from 'react';\n\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport AttachIcon from 'common/icons/AttachIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    onClick: (event: React.MouseEvent<HTMLElement>) => void;\n    isDisabled?: boolean;\n    tooltipMessage?: React.ReactNode;\n};\n\nconst CompactAttachPaperTrigger: React.FC<PropsT> = React.memo((props) => {\n    const { onClick, isDisabled, tooltipMessage } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.topCenter}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                tooltipMessage ? (\n                    <TooltipContent isCenter width={200} theme={TooltipContentThemeEnum.black}>\n                        {tooltipMessage}\n                    </TooltipContent>\n                ) : (\n                    <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                        {t('common:tooltips.attach-paper')}\n                    </TooltipContent>\n                )\n            }\n        >\n            {() => (\n                <TransparentTrigger\n                    onClick={onClick}\n                    isDisabled={isDisabled}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                    leftIcon={<AttachIcon strokeColor={StyleGuideColorsEnum.charcoal} />}\n                    testSelector=\"attach\"\n                    spaces=\"xs\"\n                />\n            )}\n        </Tooltip>\n    );\n});\n\nexport { CompactAttachPaperTrigger };\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const partnerDetailsRefreshChannel = new ViewEventChannel<{}>();\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ContinueRFQ.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { urlFactory } from 'common/utils/urls';\nimport history from 'common/utils/history';\nimport { RFQPriceOfferT } from 'common/store/rfq-details/models';\nimport { getDateFromISO } from 'common/utils/time';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    id: RFQIdT;\n    defaultPriceOffer: RFQPriceOfferT | null;\n};\n\nconst ContinueRFQ: React.FC<PropsT> = React.memo((props) => {\n    const { id, defaultPriceOffer } = props;\n    const { t } = useTranslation();\n\n    const goToCompleteRFQ = () => {\n        const points = defaultPriceOffer?.points || [];\n        const pickUpDate = points[0]?.from || null;\n        const dropOffDate = points[points.length - 1]?.from || null;\n\n        const url = urlFactory.completeRFQ({\n            id,\n            offerId: defaultPriceOffer?.id || null,\n            pickupDate: getDateFromISO(pickUpDate),\n            dropoffDate: getDateFromISO(dropOffDate),\n        });\n        history.push(url);\n    };\n\n    return (\n        <Button\n            theme={ButtonThemeEnum.primary}\n            className={cx('action')}\n            onClick={goToCompleteRFQ}\n            testSelector=\"continue\"\n        >\n            {t('common:rfq-details.actions.complete')}\n        </Button>\n    );\n});\n\nexport default ContinueRFQ;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"SpotRequestsFiltersSidebarContent__form___nhVGm\",\"field--user\":\"SpotRequestsFiltersSidebarContent__field--user___ciH8m\",\"field--dates\":\"SpotRequestsFiltersSidebarContent__field--dates___g7Kuv\",\"selected-filters\":\"SpotRequestsFiltersSidebarContent__selected-filters___eQJ0y\",\"fadeIn\":\"SpotRequestsFiltersSidebarContent__fadeIn___wUcMI\",\"blinking\":\"SpotRequestsFiltersSidebarContent__blinking___MW0MA\"};","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\nexport type CancelDriverInviteConfirmationDataT = {\n    companyId: CompanyIdT;\n    driverUserId: DriverIdT;\n    driverPhoneNumber: string | undefined;\n};\n\ntype PropsT = {\n    data: CancelDriverInviteConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: CancelDriverInviteConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'cancel-driver-invite';\n\nconst CancelDriverInviteModal: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:drivers-page.cancel-invite-confirmation.title', {\n                        phoneNumber: data.driverPhoneNumber,\n                    })}\n                    message={t('common:drivers-page.cancel-invite-confirmation.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelDriverInviteModal;\n","import { CarriersUtilizationStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { CarrierUtilizationT } from './models';\nimport { getHash } from './utils';\n\nexport const selectFetchRequestStatus = (state: SharableStateT): CarriersUtilizationStateT['fetchRequest'] =>\n    state.carriersUtilization.fetchRequest;\n\nexport const selectCarrierUtilization =\n    (id: CarrierIdT, date: string) =>\n    (state: SharableStateT): CarrierUtilizationT | null => {\n        const hash = getHash(id, date);\n\n        return state.carriersUtilization.byHash[hash] || null;\n    };\n\nexport const selectCarriersUtilizationByHash = (state: SharableStateT): CarriersUtilizationStateT['byHash'] => {\n    return state.carriersUtilization.byHash || {};\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport { useDispatch, useSelector } from 'react-redux';\nimport moment from 'moment';\n\nimport styles from './SendingToSpotFooterContent.scss';\nimport { BrokerTourDetailsT } from 'broker-admin/store/broker-tour-details/models';\nimport SendingToSpotForm from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/SendingToSpotForm/SendingToSpotForm';\nimport { fetchSettings } from 'common/store/settings/actions';\nimport { selectSpotRequestLimitMs } from 'broker-admin/store/settings/selectors';\nimport { roundTimestamp, MS_IN_HOUR } from 'common/utils/time';\nimport { sendToSpotByTour } from 'broker-admin/store/spot/actions';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    brokerTourDetails: BrokerTourDetailsT | null | undefined;\n    tourId: TourIdT | null;\n    onCancel: () => void;\n};\n\nconst SendingToSpotFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTourDetails, tourId, onCancel } = props;\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchSettings());\n    }, [dispatch]);\n\n    const spotRequestLimitMs = useSelector(selectSpotRequestLimitMs);\n\n    const startValidTillTimeWindow = React.useMemo(() => {\n        return roundTimestamp(Date.now(), MS_IN_HOUR);\n    }, []);\n\n    const allowedRangeValidTill = React.useMemo((): TimeWindowT | null => {\n        if (!brokerTourDetails) {\n            return null;\n        }\n\n        const firstWaypoint = brokerTourDetails?.waypoints?.[0] || null;\n        const pickupDockingHoursFrom =\n            firstWaypoint?.correctedDateTimeFrom || firstWaypoint?.originalDateTimeFrom || null;\n        const pickupDockingHoursFromTimestamp = moment(pickupDockingHoursFrom).valueOf();\n\n        return [startValidTillTimeWindow, pickupDockingHoursFromTimestamp - spotRequestLimitMs];\n    }, [startValidTillTimeWindow, brokerTourDetails, spotRequestLimitMs]);\n\n    const handleSubmit = React.useCallback(\n        (deadline: string, comment: string) => {\n            if (!tourId) {\n                logWarning('failed to send to spot, empty tourId');\n                return;\n            }\n\n            dispatch(sendToSpotByTour(tourId, deadline, comment));\n        },\n        [dispatch, tourId],\n    );\n\n    if (!brokerTourDetails) {\n        return null;\n    }\n\n    return (\n        <div className={cx('content')}>\n            <SendingToSpotForm\n                allowedRangeValidTill={allowedRangeValidTill}\n                onCancel={onCancel}\n                onSubmit={handleSubmit}\n            />\n        </div>\n    );\n});\n\nexport default SendingToSpotFooterContent;\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { DriverT, SearchDriverQueryT } from './models';\n\nexport const FETCH_DRIVERS_REQUEST = 'common/driver-search/FETCH_DRIVERS_REQUEST';\nexport const FETCH_DRIVERS_REQUEST_BEGIN = 'common/driver-search/FETCH_DRIVERS_REQUEST_BEGIN';\nexport const FETCH_DRIVERS_REQUEST_ERROR = 'common/driver-search/FETCH_DRIVERS_REQUEST_ERROR';\nexport const FETCH_DRIVERS_REQUEST_SUCCESS = 'common/driver-search/FETCH_DRIVERS_REQUEST_SUCCESS';\n\nexport type DriverSearchStateT = {\n    request: RequestStatusT;\n    query: SearchDriverQueryT;\n    allIds: Array<DriverIdT>;\n    byId: Record<DriverIdT, DriverT>;\n};\n\nexport type FetchDriversActionT = {\n    type: typeof FETCH_DRIVERS_REQUEST;\n    query: SearchDriverQueryT;\n};\n\nexport type FetchDriversBeginActionT = {\n    type: typeof FETCH_DRIVERS_REQUEST_BEGIN;\n    query: SearchDriverQueryT;\n};\n\nexport type FetchDriversSuccessActionT = {\n    type: typeof FETCH_DRIVERS_REQUEST_SUCCESS;\n    drivers: DriverT[];\n    query: SearchDriverQueryT;\n};\n\nexport type FetchDriversErrorActionT = {\n    type: typeof FETCH_DRIVERS_REQUEST_ERROR;\n    error: Error;\n    query: SearchDriverQueryT;\n};\n\nexport type DriverSearchActionT =\n    | FetchDriversActionT\n    | FetchDriversBeginActionT\n    | FetchDriversSuccessActionT\n    | FetchDriversErrorActionT;\n","export class NotImplementedError extends Error {\n    constructor() {\n        super('not implemented error');\n    }\n}\n","import React from 'react';\nimport { LocationDescriptor } from 'history';\n\nexport type CommonUrlFactoryContextT = {\n    trailerDetails: (partnerId: PartnerIdT, trailerId: TrailerIdT) => LocationDescriptor<HistoryStateT>;\n    truckDetails: (partnerId: PartnerIdT, truckId: TruckIdT) => LocationDescriptor<HistoryStateT>;\n};\n\nconst CommonUrlFactoryContext = React.createContext<CommonUrlFactoryContextT>({\n    // NB: the values will always be defined because context is used in the App root!\n    trailerDetails: () => {\n        return {};\n    },\n    truckDetails: () => {\n        return {};\n    },\n});\n\nexport default CommonUrlFactoryContext;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BrokerOrderListPage.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectBrokerOrdersByIds,\n    selectBrokerOrdersPages,\n    selectBrokerOrdersTotal,\n} from 'broker-admin/store/broker-orders/selectors';\nimport { CompanyTypeEnum } from 'common/constants';\nimport { QueryFiltersKeysEnum, QueryKeysEnum, QueryFiltersT } from './query-models';\nimport BrokerOrderTable from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/BrokerOrderTable/BrokerOrderTable';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport history from 'common/utils/history';\nimport omit from 'lodash/omit';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport { BrokerOrdersQuickFilterEnum, BrokerOrdersSortEnum } from 'common/utils/api/models';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport { fetchBrokerOrdersPage } from 'broker-admin/store/broker-orders/slice';\nimport { BrokerOrderShortT } from 'broker-admin/store/broker-orders/models';\nimport FiltersSidebarContent from './FiltersSidebarContent/FiltersSidebarContent';\nimport SideBar from 'common/layouts/LeftMenuLayout/SideBar/SideBar';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport { QuickFiltersOptionT } from 'common/components/Table/QuickFilters/QuickFilters';\nimport { colorCodingNotificationLabelTheme } from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { selectBrokerOrderStats } from 'broker-admin/store/broker-order-stats/selectors';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { prepareFetchPageQuery } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderListPage/prepare-fetch-page-query';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ListPageHeaderTabsLayout from 'common/layouts/ListPage/ListPageHeaderTabsLayout/ListPageHeaderTabsLayout';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport { selectGroupedNotificationCounts } from 'common/store/grouped-notification-counts/selectors';\nimport { fetchGroupedNotificationCounts } from 'common/store/grouped-notification-counts/actions';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport { useHistoryPush } from 'common/utils/hooks/useHistoryPush';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { brokerOrdersPaginationChannel, brokerOrdersRefreshChannel } from 'broker-admin/store/broker-orders/channels';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { useQueryParams } from 'use-query-params';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport QuickFiltersButtonGroups from 'common/components/Table/QuickFiltersButtonGroups/QuickFiltersButtonGroups';\nimport WarningsFilter from './WarningsFilter/WarningsFilter';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst BrokerOrderListPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const { historyPush } = useHistoryPush();\n    const total = useSelector(selectBrokerOrdersTotal);\n    const brokerOrdersPages = useSelector(selectBrokerOrdersPages);\n    const brokerOrderById = useSelector(selectBrokerOrdersByIds);\n\n    const brokerOrderStat = useSelector(selectBrokerOrderStats);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const unReadNotificationsGroupedCounts = useSelector(selectGroupedNotificationCounts);\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const [isShowFilters, triggerFilters] = React.useState<boolean>(false);\n    const showFilters = (): void => {\n        triggerFilters(true);\n    };\n    const hideFilters = (): void => {\n        triggerFilters(false);\n    };\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.brokerOrdersFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.brokerOrdersPage]: createPageNumberParam(),\n        [QueryKeysEnum.brokerOrdersSort]: createSortParams<BrokerOrdersSortEnum>({\n            value: BrokerOrdersSortEnum.createdDate,\n            direction: SortDirectionEnum.DESC,\n        }),\n    });\n\n    const pageNumber = query[QueryKeysEnum.brokerOrdersPage];\n    const selectedSort = query[QueryKeysEnum.brokerOrdersSort];\n    const queryFilters = query[QueryKeysEnum.brokerOrdersFilters];\n\n    const page = brokerOrdersPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerOrdersPage({ pageNumber, query, options: { isForceUpdate: false } }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n    }, [pageNumber, selectedSort, queryFilters, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerOrdersPage({ pageNumber, query, options: { isForceUpdate: true } }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n    }, [pageNumber, selectedSort, queryFilters, dispatch]);\n    useChannelSubscribe(brokerOrdersRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerOrdersPage({ pageNumber, query, options: { isForceUpdate: true } }));\n    }, [pageNumber, selectedSort, queryFilters, dispatch]);\n\n    React.useEffect(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerOrdersPage({ pageNumber, query }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [page, pageNumber, selectedSort, queryFilters, dispatch]);\n\n    const brokerOrders = React.useMemo(() => {\n        return (ids || []).map((id): BrokerOrderShortT => brokerOrderById[id]);\n    }, [ids, brokerOrderById]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.brokerOrdersPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof brokerOrdersPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(brokerOrdersPaginationChannel, setPageHandler);\n\n    const goToBrokerOrderDetails = (event: React.MouseEvent, brokerOrderId: BrokerOrderIdT) => {\n        const url = urlFactory.brokerOrderDetails(brokerOrderId);\n        historyPush(event, url);\n    };\n\n    const goToPartnerDetails = (companyId: PartnerIdT, companyType: CompanyTypeEnum) => {\n        const url = urlFactory.partnerDetails(companyType, companyId);\n        history.push(url);\n    };\n\n    const goToTrailerDetails = (companyId: CarrierIdT, trailerId: TrailerIdT) => {\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            partnerId: companyId,\n            trailerId,\n        });\n    };\n\n    const brokerOrderQuickFilterOptions: Array<QuickFiltersOptionT<BrokerOrdersQuickFilterEnum>> = [\n        {\n            id: undefined,\n            showPriority: 0,\n            hidePriority: 0,\n            label: t('broker-orders.list.status-filter.all-broker-orders'),\n            testSelector: 'all',\n        },\n        {\n            id: BrokerOrdersQuickFilterEnum.new,\n            showPriority: 1,\n            hidePriority: 1,\n            label: t('broker-orders.list.status-filter.new'),\n            testSelector: BrokerOrdersQuickFilterEnum.new,\n            notificationProps: {\n                count: brokerOrderStat?.newOrders,\n                theme: colorCodingNotificationLabelTheme.attention,\n            },\n        },\n        {\n            id: BrokerOrdersQuickFilterEnum.carrierUnassigned,\n            showPriority: 2,\n            hidePriority: 2,\n            label: t('broker-orders.list.status-filter.carrier-unassigned'),\n            testSelector: BrokerOrdersQuickFilterEnum.carrierUnassigned,\n            notificationProps: {\n                count: brokerOrderStat?.carrierUnassign,\n                theme: colorCodingNotificationLabelTheme.attention,\n            },\n        },\n        {\n            id: BrokerOrdersQuickFilterEnum.carrierAssigned,\n            showPriority: 3,\n            hidePriority: 3,\n            label: t('broker-orders.list.status-filter.carrier-assigned'),\n            testSelector: BrokerOrdersQuickFilterEnum.carrierAssigned,\n            notificationProps: {\n                count: brokerOrderStat?.assigned,\n                theme: colorCodingNotificationLabelTheme.normal,\n            },\n        },\n        {\n            id: BrokerOrdersQuickFilterEnum.inTransit,\n            showPriority: 4,\n            hidePriority: 4,\n            label: t('broker-orders.list.status-filter.in-transit'),\n            testSelector: BrokerOrdersQuickFilterEnum.inTransit,\n            notificationProps: {\n                count: brokerOrderStat?.inTransit,\n                theme: colorCodingNotificationLabelTheme.normal,\n            },\n        },\n        {\n            id: BrokerOrdersQuickFilterEnum.canceled,\n            showPriority: 5,\n            hidePriority: 5,\n            label: t('broker-orders.list.status-filter.canceled'),\n            testSelector: BrokerOrdersQuickFilterEnum.canceled,\n            notificationProps: {\n                count: unReadNotificationsGroupedCounts?.DISPATCH_STATUS_CHANGED?.CANCELED,\n                theme: colorCodingNotificationLabelTheme.normal,\n                isShowPlusSign: true,\n            },\n        },\n        {\n            id: BrokerOrdersQuickFilterEnum.delivered,\n            showPriority: 6,\n            hidePriority: 6,\n            label: t('broker-orders.list.status-filter.delivered'),\n            testSelector: BrokerOrdersQuickFilterEnum.delivered,\n            notificationProps: {\n                count: unReadNotificationsGroupedCounts?.DISPATCH_STATUS_CHANGED?.DELIVERED,\n                theme: colorCodingNotificationLabelTheme.success,\n                isShowPlusSign: true,\n            },\n        },\n    ];\n\n    const sortOptions: Array<SortDropdownOptionT<BrokerOrdersSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('broker-orders.list.table.sorts.triggers.pickupDate'),\n                value: BrokerOrdersSortEnum.pickupDate,\n            },\n            {\n                label: t('broker-orders.list.table.sorts.triggers.dropOffDate'),\n                value: BrokerOrdersSortEnum.dropOffDate,\n            },\n            {\n                label: t('broker-orders.list.table.sorts.triggers.createdDate'),\n                value: BrokerOrdersSortEnum.createdDate,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<BrokerOrdersSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.brokerOrdersPage]: 0,\n            [QueryKeysEnum.brokerOrdersSort]: sort,\n        });\n    };\n\n    const handleSetStatusFilter = (quickFilterId: BrokerOrdersQuickFilterEnum | undefined) => {\n        const prevQueryFilters = query[QueryKeysEnum.brokerOrdersFilters] || {};\n\n        const queryFilters: QueryFiltersT = {\n            ...prevQueryFilters,\n            [QueryFiltersKeysEnum.quickFilter]: quickFilterId,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerOrdersPage]: 0,\n            [QueryKeysEnum.brokerOrdersFilters]: queryFilters,\n        });\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.brokerOrdersFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerOrdersPage]: 0,\n            [QueryKeysEnum.brokerOrdersFilters]: queryFilters,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.brokerOrdersFilters] || {};\n\n        const queryFilters = {\n            [QueryFiltersKeysEnum.quickFilter]: prevQueryFilters[QueryFiltersKeysEnum.quickFilter],\n            ...selectedQueryFilters,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerOrdersPage]: 0,\n            [QueryKeysEnum.brokerOrdersFilters]: queryFilters,\n        });\n\n        hideFilters();\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.searchText]: searchText || undefined,\n        });\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(brokerOrders, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters(\n            [queryFilters[QueryFiltersKeysEnum.quickFilter]],\n            [omit(queryFilters, [QueryFiltersKeysEnum.quickFilter])],\n        );\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('broker-orders.list.table.messages.not-found.title')}\n                    description={t('broker-orders.list.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('broker-orders.list.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('broker-orders.list.table.messages.empty-quick-filters.title')}\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('broker-orders.list.table.messages.empty.title')}\n                testSelector=\"empty\"\n                isShowAction={false}\n            />\n        );\n    };\n\n    return (\n        <ScrollableContent>\n            <PageTitle title={t('page-titles.broker-orders')} />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent title={t('broker-orders.list.title')} rightNode={<NotificationsBarTrigger />} />\n                </TopBar>\n                <ListPageLayout>\n                    <ListPageHeaderTabsLayout>\n                        <QuickFiltersButtonGroups\n                            options={brokerOrderQuickFilterOptions}\n                            selectedId={queryFilters[QueryFiltersKeysEnum.quickFilter]}\n                            onSelect={handleSetStatusFilter}\n                            moreStatusesLabel={t('broker-orders.list.status-filter.more-statuses')}\n                        />\n                    </ListPageHeaderTabsLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                <FiltersTrigger\n                                    title={t('broker-orders.list.filters.trigger')}\n                                    isActive={isShowFilters}\n                                    onClick={showFilters}\n                                />\n                                <WarningsFilter\n                                    stat={brokerOrderStat}\n                                    queryFilters={queryFilters}\n                                    onQueryFiltersChange={updateQueryFilters}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                                <SearchControl\n                                    placeholder={t('broker-orders.list.search-placeholder')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                    />\n                    {renderTableMessage()}\n                    <BrokerOrderTable\n                        brokerOrders={brokerOrders}\n                        className={cx('table')}\n                        goToBrokerOrderDetails={goToBrokerOrderDetails}\n                        goToPartnerDetails={goToPartnerDetails}\n                        goToTrailerDetails={goToTrailerDetails}\n                        isLoading={requestStatus?.loading}\n                    />\n                </ListPageLayout>\n                <StickyFooter>\n                    <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n                </StickyFooter>\n                <SideBar isShow={isShowFilters} onClose={hideFilters}>\n                    {(onClose) => (\n                        <FiltersSidebarContent\n                            onClose={onClose}\n                            queryFilters={queryFilters}\n                            setQueryFilters={handleSetQueryFilters}\n                        />\n                    )}\n                </SideBar>\n            </ContentMargins>\n            <SideBars />\n        </ScrollableContent>\n    );\n});\n\nexport default BrokerOrderListPage;\n","import { ApiOrderCreationReservePointTypeT, OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\n\nexport const WAIT_RFQ_ID = 'wait-rfq-id';\n\nexport const editablePointTypeSet = new Set<ApiOrderCreationReservePointTypeT>([\n    OrderCreationReservePointTypeEnum.shipment,\n    OrderCreationReservePointTypeEnum.driveThrough,\n]);\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AdditionalServices.scss';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { ApiDictCarrierAdditionalServiceTypeT, ApiTrailerDictTypeT } from 'common/utils/api/models';\nimport { useSelector } from 'react-redux';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport AdditionalServicesGroup from 'common/layouts/NewOrderPage/OffersForm/AdditionalServicesGroup/AdditionalServicesGroup';\nimport {\n    selectAdditionalServicesDictStatus,\n    selectAdditionalServicesGroupsByTrailerType,\n} from 'common/store/additional-services-dict/selectors';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    selectedServiceTypes: ApiDictCarrierAdditionalServiceTypeT[];\n    setSelectedServices: (selectedServiceEnums: ApiDictCarrierAdditionalServiceTypeT[]) => void;\n    selectedOffer?: PriceOfferT;\n    setAdditionalServicesTopRef: (node: HTMLDivElement | null) => void;\n    dictTrailerInfo: ApiTrailerDictTypeT | null;\n};\n\nconst AdditionalServices: React.FC<PropsT> = React.memo((props) => {\n    const { selectedServiceTypes, setSelectedServices, selectedOffer, setAdditionalServicesTopRef, dictTrailerInfo } =\n        props;\n\n    const selectedServiceTypeSet = new Set(selectedServiceTypes || []);\n\n    const trailerType = dictTrailerInfo?.trailerType || null;\n    const additionalServiceGroups = useSelector(selectAdditionalServicesGroupsByTrailerType(trailerType));\n\n    const additionalServicesRequestStatus = useSelector(selectAdditionalServicesDictStatus);\n\n    const removeServices = (selectedServiceType: ApiDictCarrierAdditionalServiceTypeT): void => {\n        setSelectedServices(selectedServiceTypes.filter((serviceEnum) => serviceEnum !== selectedServiceType));\n    };\n\n    const addServices = (selectedServiceType: ApiDictCarrierAdditionalServiceTypeT): void => {\n        setSelectedServices([...selectedServiceTypes, selectedServiceType]);\n    };\n\n    const isLoading = additionalServicesRequestStatus.loading || !selectedOffer || !trailerType;\n\n    return (\n        <div className={cx('additional-services')}>\n            {isLoading && (\n                <div className={cx('loader')}>\n                    <ControlLoaderWithShadow fillColor={StyleGuideColorsEnum.light} />\n                </div>\n            )}\n            {additionalServicesRequestStatus.error && (\n                <div>{JSON.stringify(additionalServicesRequestStatus.error)}</div>\n            )}\n            <div ref={setAdditionalServicesTopRef} />\n            {additionalServicesRequestStatus.ok &&\n                additionalServiceGroups?.map((additionalServiceGroup) => {\n                    return (\n                        <AdditionalServicesGroup\n                            key={additionalServiceGroup.category}\n                            group={additionalServiceGroup}\n                            dictTrailerInfo={dictTrailerInfo}\n                            selectedServiceTypeSet={selectedServiceTypeSet}\n                            onAddServices={addServices}\n                            onRemoveServices={removeServices}\n                        />\n                    );\n                })}\n        </div>\n    );\n});\n\nexport default AdditionalServices;\n","import { call, race, take } from 'redux-saga/effects';\nimport { createVisibilityChangeChannel } from 'common/utils/watch-document-visibility-change-saga';\nimport { createIntervalChannel } from 'common/utils/interval-saga';\n\nfunction* watchDocumentVisibilityChangeOrIntervalSaga(jobSaga: any, intervalMs: number): WrapGeneratorT<void> {\n    const visibilityChangeChannel = yield call(createVisibilityChangeChannel);\n    const intervalChannel = yield call(createIntervalChannel, intervalMs);\n\n    let lastCallTime = 0;\n    let lastIsHidden = false;\n    while (true) {\n        const summaryEvent = yield race({\n            visibility: take(visibilityChangeChannel),\n            interval: take(intervalChannel),\n        });\n\n        if (typeof summaryEvent.visibility === 'boolean') {\n            lastIsHidden = summaryEvent.visibility;\n        }\n\n        const now = Date.now();\n        const diffMs = now - lastCallTime;\n\n        if (diffMs > intervalMs && !lastIsHidden) {\n            yield call(jobSaga);\n            lastCallTime = now;\n        }\n    }\n}\n\nexport default watchDocumentVisibilityChangeOrIntervalSaga;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './InvitedToTeamCard.scss';\nimport { Trans } from 'react-i18next';\nimport TeamName from 'broker-admin/components/notification-cards/entities/TeamName/TeamName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    teamName: string;\n};\n\nconst InvitedToTeamCard: React.FC<PropsT> = React.memo((props) => {\n    const { teamName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.team-invited\"\n                components={{\n                    teamName: <TeamName name={teamName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default InvitedToTeamCard;\n","import { ContextRouteStopFakeIdT, DeadheadPreviewContextResponseT } from '../models';\n\nexport const getAddedStopFakeIds = (\n    previewContext: DeadheadPreviewContextResponseT | null,\n    previewContextAfterModify: DeadheadPreviewContextResponseT | null,\n): Array<ContextRouteStopFakeIdT> => {\n    const prevStopsIds = previewContext?.stops?.slice(1)?.map((stop) => stop.fakeId) || [];\n\n    const stopsIdsAfterModify = previewContextAfterModify?.stops?.slice(1)?.map((stop) => stop.fakeId) || [];\n\n    return stopsIdsAfterModify.filter((id) => !prevStopsIds.includes(id));\n};\n","import requestStatus from 'common/utils/request-status';\n\nimport {\n    CarrierContractsActionT,\n    CarrierContractsStateT,\n    CarrierContractStateT,\n    DOWNLOAD_CARRIER_CONTRACT_REQUEST_BEGIN,\n    DOWNLOAD_CARRIER_CONTRACT_REQUEST_ERROR,\n    DOWNLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS,\n    FETCH_CARRIER_CONTRACTS_REQUEST_BEGIN,\n    FETCH_CARRIER_CONTRACTS_REQUEST_ERROR,\n    FETCH_CARRIER_CONTRACTS_REQUEST_SUCCESS,\n    UPDATE_CARRIER_CONTRACT_REQUEST_BEGIN,\n    UPDATE_CARRIER_CONTRACT_REQUEST_ERROR,\n    UPDATE_CARRIER_CONTRACT_REQUEST_SUCCESS,\n    UPLOAD_CARRIER_CONTRACT_REQUEST_BEGIN,\n    UPLOAD_CARRIER_CONTRACT_REQUEST_ERROR,\n    UPLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCarrierContractState: CarrierContractStateT = {\n    contracts: [],\n    fetchContractsRequest: requestStatus.initial,\n    updateContractRequest: requestStatus.initial,\n    uploadContractRequest: requestStatus.initial,\n    downloadContractRequest: requestStatus.initial,\n    updatingContractId: null,\n};\n\nconst initialState: CarrierContractsStateT = {};\n\nexport default (\n    state = initialState,\n    action: CarrierContractsActionT | DestroySessionActionT,\n): CarrierContractsStateT => {\n    switch (action.type) {\n        case FETCH_CARRIER_CONTRACTS_REQUEST_BEGIN: {\n            const { partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    fetchContractsRequest: requestStatus.loading,\n                },\n            };\n        }\n        case FETCH_CARRIER_CONTRACTS_REQUEST_SUCCESS: {\n            const { partnerId, partnerContracts } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    contracts: partnerContracts,\n                    fetchContractsRequest: requestStatus.ok,\n                },\n            };\n        }\n        case FETCH_CARRIER_CONTRACTS_REQUEST_ERROR: {\n            const { error, partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    fetchContractsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n        case UPDATE_CARRIER_CONTRACT_REQUEST_BEGIN: {\n            const { partnerId, updatingContractId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    updatingContractId,\n                    updateContractRequest: requestStatus.loading,\n                },\n            };\n        }\n        case UPDATE_CARRIER_CONTRACT_REQUEST_SUCCESS: {\n            const { partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    updateContractRequest: requestStatus.ok,\n                },\n            };\n        }\n        case UPDATE_CARRIER_CONTRACT_REQUEST_ERROR: {\n            const { error, partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    updateContractRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPLOAD_CARRIER_CONTRACT_REQUEST_BEGIN: {\n            const { partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    uploadContractRequest: requestStatus.loading,\n                },\n            };\n        }\n        case UPLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS: {\n            const { partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    uploadContractRequest: requestStatus.ok,\n                },\n            };\n        }\n        case UPLOAD_CARRIER_CONTRACT_REQUEST_ERROR: {\n            const { error, partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    uploadContractRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DOWNLOAD_CARRIER_CONTRACT_REQUEST_BEGIN: {\n            const { partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    downloadContractRequest: requestStatus.loading,\n                },\n            };\n        }\n        case DOWNLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS: {\n            const { partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    downloadContractRequest: requestStatus.ok,\n                },\n            };\n        }\n        case DOWNLOAD_CARRIER_CONTRACT_REQUEST_ERROR: {\n            const { error, partnerId } = action;\n\n            const carrierContractState = state[partnerId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [partnerId]: {\n                    ...carrierContractState,\n                    downloadContractRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst PadIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, fillOpacity, strokeColor, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} viewBox=\"0 0 18 18\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    fillOpacity={fillOpacity || 1}\n                    fill={fillColor}\n                    d=\"M3.75 3.75v10.5h10.5V3.75H3.75zm6.75 9H5.25v-1.5h5.25v1.5zm2.25-3h-7.5v-1.5h7.5v1.5zm0-3h-7.5v-1.5h7.5v1.5z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M5.25 11.25h5.25v1.5H5.25v-1.5zm0-3h7.5v1.5h-7.5v-1.5zm0-3h7.5v1.5h-7.5v-1.5zm9-3h-3.135A2.258 2.258 0 009 .75c-.975 0-1.8.63-2.115 1.5H3.75c-.105 0-.203.007-.3.03a1.509 1.509 0 00-1.08.893 1.47 1.47 0 00-.12.577v10.5c0 .203.045.405.12.585a1.5 1.5 0 001.08.892c.097.015.195.023.3.023h10.5c.825 0 1.5-.675 1.5-1.5V3.75c0-.825-.675-1.5-1.5-1.5zM9 2.062c.307 0 .563.256.563.563A.567.567 0 019 3.188a.568.568 0 01-.563-.563c0-.308.256-.563.563-.563zm5.25 12.188H3.75V3.75h10.5v10.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nPadIcon.displayName = 'PadIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default PadIcon;\n","import * as React from 'react';\n\nimport noop from 'lodash/noop';\nimport TransparentTrigger, { ReflectionThemeEnum } from '../TransparentTrigger/TransparentTrigger';\nimport LeftArrowIcon from 'common/icons/LeftArrowIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nexport type PropsT = {\n    className?: string;\n    onClick: () => void;\n    isDisabled: boolean;\n};\n\nconst BackButton: React.FC<PropsT> = (props) => {\n    const { className, onClick, isDisabled } = props;\n\n    return (\n        <TransparentTrigger\n            className={className}\n            isDisabled={isDisabled}\n            onClick={isDisabled ? noop : onClick}\n            reflectionTheme={ReflectionThemeEnum.light}\n            leftIcon={\n                <LeftArrowIcon fillColor={isDisabled ? StyleGuideColorsEnum.light : StyleGuideColorsEnum.charcoal} />\n            }\n        />\n    );\n};\n\nexport default BackButton;\n","export const getShipmentAnchor = (shipmentId: ShipmentIdT | null) => {\n    return `shipment-${shipmentId}`;\n};\n","import BaseTranziitApi, { throwNotImplementedError, TranziitApiResultT } from './base-tranziit-api';\nimport toNumber from 'lodash/toNumber';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport { DocumentTypeEnum, FixPageableCommonQueryT } from 'common/utils/api/models';\nimport { MS_IN_MIN } from 'common/utils/time';\n\nclass CommonTranziitApi extends BaseTranziitApi {\n    private static instance: CommonTranziitApi;\n\n    private constructor() {\n        super(authApi, {\n            basepath: '',\n            timeout: MS_IN_MIN,\n        });\n    }\n\n    public static getInstance(): CommonTranziitApi {\n        if (!CommonTranziitApi.instance) {\n            CommonTranziitApi.instance = new CommonTranziitApi();\n        }\n\n        return CommonTranziitApi.instance;\n    }\n\n    getCountries = async (): Promise<TranziitApiResultT<Api2Paths.ApiV1Countries.Get.Responses.$200>> => {\n        return this.doFetchWithRetry<Api2Paths.ApiV1Countries.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/countries`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getCountrySettingsDict = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2CountriesInternal.Get.Responses.$200>\n    > => {\n        return this.doFetchWithRetry<Api2Paths.ApiV2CountriesInternal.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/countries/internal`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    createUser = async (newUser: TODO): Promise<TODO> => {\n        return throwNotImplementedError();\n    };\n\n    fetchCurrentUser = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1User.Get.Responses.$200>> => {\n        return this.doFetchWithRetry<ApiPaths.ApiV1User.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/user',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    patchUser = async (\n        userChanges: ApiPaths.ApiV1User.Put.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1User.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1User.Put.Responses.$200>({\n            data: userChanges,\n            method: 'PUT',\n            path: '/api/v1/user',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCurrentCompany = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1Company.Get.Responses.$200>> => {\n        return this.doFetchWithRetry<ApiPaths.ApiV1Company.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/company',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    patchCompany = async (\n        companyChanges: ApiPaths.ApiV1CompanyV2.Put.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1CompanyV2.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1CompanyV2.Put.Responses.$200>({\n            data: companyChanges,\n            method: 'PUT',\n            path: '/api/v1/company/v2',\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    getTrailersDict = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1Dicttrailers.Get.Responses.$200>> => {\n        return this.doFetchWithRetry<ApiPaths.ApiV1Dicttrailers.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/dicttrailers',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTransportOrdersStatistics = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2CarrierTransportationOrdersStatistic.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2CarrierTransportationOrdersStatistic.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/carrier/transportation-orders/statistic`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchOrdersStatistics = async (): Promise<TranziitApiResultT<Api2Paths.ApiV2OrderStatistic.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2OrderStatistic.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v2/order/statistic',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchAdditionalServices = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2DictCarrierAddservicesByType.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2DictCarrierAddservicesByType.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/dict-carrier-addservices/by-type`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getTrucksDict = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1Dicttrucks.Get.Responses.$200>> => {\n        return this.doFetchWithRetry<ApiPaths.ApiV1Dicttrucks.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/dicttrucks`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCarriersUtilization = async (\n        carrierIds: ApiPaths.ApiV1UtilizationGetForCarriers.Get.Parameters.CarrierIds,\n        date: ApiPaths.ApiV1UtilizationGetForCarriers.Get.Parameters.Period,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1UtilizationGetForCarriers.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1UtilizationGetForCarriers.Get.QueryParameters = {\n            carrierIds,\n            period: date,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1UtilizationGetForCarriers.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/utilization/getForCarriers',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    forgotPassword = async (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        email: TODO,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        origin: string,\n    ): Promise<TODO> => {\n        return throwNotImplementedError();\n    };\n\n    addUserToCurrentCompany = async (\n        data: Api2Paths.ApiV2RegistrationInvite.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2RegistrationInvite.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2RegistrationInvite.Post.Responses.$200>({\n            method: 'POST',\n            path: `/api/v2/registration/invite`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    addContactToCurrentCompany = async (\n        newContact: ApiPaths.ApiV1Contact.Post.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Contact.Post.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1Contact.Post.Responses.$200>({\n            method: 'POST',\n            path: `/api/v1/contact`,\n            data: newContact,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchDocumentsDict = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1Dictdocuments.Get.Responses.$200>> => {\n        return this.doFetchWithRetry<ApiPaths.ApiV1Dictdocuments.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/dictdocuments`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCountryLegalForms = async (\n        countryCode: ApiPaths.ApiV1Dictlegalforms.Get.Parameters.CountryCode,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Dictlegalforms.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1Dictlegalforms.Get.QueryParameters = {\n            countryCode,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1Dictlegalforms.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/dictlegalforms`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchNotificationsPage = async (\n        query: FixPageableCommonQueryT,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1Notifications.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1Notifications.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/notifications`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchUnReadNotifications = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1NotificationsUnread.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1NotificationsUnread.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/notifications/unread',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchUnreadGroupedNotificationCounts = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1NotificationsUnreadCountByActionByStatus.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1NotificationsUnreadCountByActionByStatus.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/notifications/unread/count-by-action-by-status',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    markAsRead = async (\n        ids: Api2Paths.ApiV1NotificationsMarkAsRead.Put.Parameters.Ids,\n        isAll?: boolean,\n    ): Promise<\n        TranziitApiResultT<\n            | Api2Paths.ApiV1NotificationsMarkAsRead.Put.Responses.$200\n            | Api2Paths.ApiV1NotificationsMarkAsReadAll.Put.Responses.$200\n        >\n    > => {\n        const path = isAll ? '/api/v1/notifications/mark-as-read/all' : '/api/v1/notifications/mark-as-read';\n        const query: Api2Paths.ApiV1NotificationsMarkAsRead.Put.QueryParameters | {} = isAll ? {} : { ids };\n\n        return this.doFetch<\n            | Api2Paths.ApiV1NotificationsMarkAsRead.Put.Responses.$200\n            | Api2Paths.ApiV1NotificationsMarkAsReadAll.Put.Responses.$200\n        >({\n            method: 'PUT',\n            path,\n            query,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    sendTestNotification = async (data: object): Promise<TranziitApiResultT<null>> => {\n        return this.doFetch<null>({\n            method: 'POST',\n            path: `/api/v1/test/notification`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchDocuments = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1DocumentsV2.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1DocumentsV2.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/documents/v2`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchDocument = async (\n        documentId: ApiPaths.ApiV1Document$DocumentIdGetFile.Get.Parameters.DocumentId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Document$DocumentIdGetFile.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1Document$DocumentIdGetFile.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/document/${documentId}/getFile`,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    uploadDocument = async (\n        documentType: DocumentTypeEnum,\n        file: File,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1DocumentV2.Post.Responses.$200>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        const query: ApiPaths.ApiV1DocumentV2.Post.QueryParameters = {\n            documentType,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1DocumentV2.Post.Responses.$200>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            method: 'POST',\n            path: `/api/v1/document/v2`,\n            query,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    deleteUser = async (\n        userId: ApiPaths.ApiV1User$Id.Delete.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1User$Id.Delete.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1User$Id.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/api/v1/user/${userId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    cancelUserInvite = async (\n        userId: ApiPaths.ApiV1User$UserIdCancelInvite.Delete.Parameters.UserId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1User$UserIdCancelInvite.Delete.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1User$UserIdCancelInvite.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/api/v1/user/${userId}/cancel-invite`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    restoreUser = async (\n        userId: ApiPaths.ApiV1User$IdRestore.Put.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1User$IdRestore.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1User$IdRestore.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v1/user/${userId}/restore`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchCompanyContacts = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1CompanyContacts.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1CompanyContacts.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/company/contacts',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    findCompanyUsersByName = async (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        query: string,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1CompanyContacts.Get.Responses.$200>> => {\n        // TODO wait backend, there is no such endpoint\n        return this.doFetch<ApiPaths.ApiV1CompanyContacts.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/company/contacts',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deleteContact = async (\n        contactId: ApiPaths.ApiV1Contact$Id.Delete.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Contact$Id.Delete.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1Contact$Id.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/api/v1/contact/${contactId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    updateContact = async (\n        contactId: ApiPaths.ApiV1Contact$ContactId.Put.Parameters.ContactId,\n        contactChanges: ApiPaths.ApiV1Contact$ContactId.Put.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Contact$ContactId.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1Contact$ContactId.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v1/contact/${contactId}`,\n            data: contactChanges,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    assignUserRole = async (\n        userId: ApiPaths.ApiV2User$IdAssignRoles.Put.Parameters.Id,\n        roles: ApiPaths.ApiV2User$IdAssignRoles.Put.Parameters.Roles,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV2User$IdAssignRoles.Put.Responses.$200>> => {\n        const query: ApiPaths.ApiV2User$IdAssignRoles.Put.QueryParameters = {\n            roles,\n        };\n\n        return this.doFetch<ApiPaths.ApiV2User$IdAssignRoles.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v2/user/${userId}/assignRoles`,\n            expectedResponseContentType: 'unknown',\n            query,\n        });\n    };\n\n    fetchContactDetails = async (\n        contactId: ApiPaths.ApiV1Contact$Id.Get.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Contact$Id.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1Contact$Id.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/contact/${contactId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchContactDetailsByUserId = async (\n        userId: ApiPaths.ApiV1User$IdContact.Put.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1User$IdContact.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1User$IdContact.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v1/user/${userId}/contact`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchSettings = async (): Promise<TranziitApiResultT<Api2Paths.ApiV2Settings.Get.Responses.$200>> => {\n        const query: Api2Paths.ApiV2Settings.Get.QueryParameters = {\n            groups: ['NEW_ORDER', 'ASSIGNMENT', 'SPOT'],\n        };\n\n        return this.doFetch<Api2Paths.ApiV2Settings.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/settings`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    uploadPaper = async (\n        tourId: ApiPaths.ApiV1CarrierTour$TourIdDocuments.Post.PathParameters['tourId'],\n        dictDocumentId: DictDocumentFakeIdT,\n        file: File,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1CarrierTour$TourIdDocuments.Post.Responses.$200>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        const query: ApiPaths.ApiV1CarrierTour$TourIdDocuments.Post.QueryParameters = {\n            dictCarrierDocumentId: toNumber(dictDocumentId),\n        };\n\n        return this.doFetch<ApiPaths.ApiV1CarrierTour$TourIdDocuments.Post.Responses.$200>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            method: 'POST',\n            path: `/api/v1/carrier/tour/${tourId}/documents`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deletePaper = async (\n        tourId: ApiPaths.ApiV1CarrierTour$TourIdDocuments$DocumentId.Delete.PathParameters['tourId'],\n        documentId: ApiPaths.ApiV1CarrierTour$TourIdDocuments$DocumentId.Delete.PathParameters['documentId'],\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1CarrierTour$TourIdDocuments$DocumentId.Delete.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1CarrierTour$TourIdDocuments$DocumentId.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/api/v1/carrier/tour/${tourId}/documents/${documentId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchRouteGeometryGoogle = async (\n        id: Api2Paths.RoutingApiV1Geometry$IdGoogle.Get.PathParameters['id'],\n    ): Promise<TranziitApiResultT<Api2Paths.RoutingApiV1Geometry$IdGoogle.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.RoutingApiV1Geometry$IdGoogle.Get.Responses.$200>({\n            method: 'GET',\n            path: `/routing/api/v1/geometry/${id}/google`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPapers = async (\n        tourId: ApiPaths.ApiV1CarrierTour$TourIdDocuments.Get.PathParameters['tourId'],\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1CarrierTour$TourIdDocuments.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1CarrierTour$TourIdDocuments.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/carrier/tour/${tourId}/documents`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchImage = async (src: string): Promise<TranziitApiResultT<string[]>> => {\n        return this.doFetch<string[]>({\n            method: 'GET',\n            path: src,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    fetchStateMachineEntityStatus = async (\n        subjectType: Api2Paths.ApiV2Statemachine$SubjectIdStatus.Parameters.SubjectType,\n        subjectId: Api2Paths.ApiV2Statemachine$SubjectIdStatus.Parameters.SubjectId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Statemachine$SubjectIdStatus.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Statemachine$SubjectIdStatus.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/statemachine/${subjectId}/status`,\n            expectedResponseContentType: 'json',\n            query: {\n                subjectType,\n            },\n        });\n    };\n\n    updateStateMachineEntityStatus = async (\n        subjectType: Api2Paths.ApiV2Statemachine$SubjectIdStatus.Parameters.SubjectType,\n        subjectId: Api2Paths.ApiV2Statemachine$SubjectIdStatus.Parameters.SubjectId,\n        data: Api2.Definitions.UpdateSubjectStatusRequest,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Statemachine$SubjectIdStatus.Put.Responses.$204>> => {\n        return this.doFetch<Api2Paths.ApiV2Statemachine$SubjectIdStatus.Put.Responses.$204>({\n            method: 'PUT',\n            path: `/api/v2/statemachine/${subjectId}/status`,\n            expectedResponseContentType: 'unknown',\n            query: {\n                subjectType,\n            },\n            data,\n        });\n    };\n\n    fetchStateMachineToursAvailableSteps = async (\n        tourId: Api2Paths.ApiV2StatemachineTours$TourIdAvailableSteps.Get.Parameters.TourId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2StatemachineTours$TourIdAvailableSteps.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2StatemachineTours$TourIdAvailableSteps.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/statemachine/tours/${tourId}/available-steps`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    stateMachineToursWaypointsArrived = async (\n        tourId: Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdArrived.Put.Parameters.TourId,\n        waypointId: Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdArrived.Put.Parameters.WaypointId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdArrived.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdArrived.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v2/statemachine/tours/${tourId}/waypoints/${waypointId}/arrived`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    stateMachineToursWaypointsLeft = async (\n        tourId: Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdLeft.Put.Parameters.TourId,\n        waypointId: Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdLeft.Put.Parameters.WaypointId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdLeft.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdLeft.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v2/statemachine/tours/${tourId}/waypoints/${waypointId}/left`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    stateMachineToursWaypointsUndoArrived = async (\n        tourId: Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdUndoArrived.Put.Parameters.TourId,\n        waypointId: Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdUndoArrived.Put.Parameters.WaypointId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdUndoArrived.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdUndoArrived.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v2/statemachine/tours/${tourId}/waypoints/${waypointId}/undoArrived`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    stateMachineToursWaypointsUndoLeft = async (\n        tourId: Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdUndoLeft.Put.Parameters.TourId,\n        waypointId: Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdUndoLeft.Put.Parameters.WaypointId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdUndoLeft.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2StatemachineTours$TourIdWaypoints$WaypointIdUndoLeft.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v2/statemachine/tours/${tourId}/waypoints/${waypointId}/undoLeft`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    createCompany = async (\n        data: Api2Paths.ApiV1RegistrationSignUp.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1RegistrationSignUp.Post.Responses.$201>> => {\n        return this.doFetch<Api2Paths.ApiV1RegistrationSignUp.Post.Responses.$201>({\n            method: 'POST',\n            path: `/api/v1/registration/sign-up`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    completeUserRegistration = async (\n        data: Api2Paths.ApiV2RegistrationCompleteUserRegistration.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2RegistrationCompleteUserRegistration.Post.Responses.$201>> => {\n        return this.doFetch<Api2Paths.ApiV2RegistrationCompleteUserRegistration.Post.Responses.$201>({\n            method: 'POST',\n            path: `/api/v2/registration/complete-user-registration`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    createMultipointOrderReservation = async (\n        data: Api2Paths.ApiV2OrderReserves.Post.RequestBody,\n        shipperId?: Api2Paths.ApiV2OrderReserves.Post.Parameters.ShipperId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2OrderReserves.Post.Responses.$200>> => {\n        const query: Api2Paths.ApiV2OrderReserves.Post.QueryParameters = {\n            shipperId,\n        };\n        return this.doFetch<Api2Paths.ApiV2OrderReserves.Post.Responses.$200>({\n            method: 'POST',\n            path: `/api/v2/order-reserves`,\n            expectedResponseContentType: 'json',\n            data,\n            query,\n        });\n    };\n\n    previewReserve = async (\n        reserveId: Api2Paths.ApiV2OrderReserves$ReserveIdPreview.Put.Parameters.ReserveId,\n        data: Api2Paths.ApiV2OrderReserves$ReserveIdPreview.Put.RequestBody,\n        laneId?: Api2Paths.ApiV2OrderReserves$ReserveIdPreview.Put.Parameters.LaneId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2OrderReserves$ReserveIdPreview.Put.Responses.$200>> => {\n        const query: Api2Paths.ApiV2OrderReserves$ReserveIdPreview.Put.QueryParameters = {\n            laneId,\n        };\n\n        return this.doFetch<Api2Paths.ApiV2OrderReserves$ReserveIdPreview.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/api/v2/order-reserves/${reserveId}/preview`,\n            expectedResponseContentType: 'json',\n            data,\n            query,\n        });\n    };\n\n    fetchOrderReservesShippers = async (\n        query: Api2Paths.ApiV2OrderReservesShippers.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2OrderReservesShippers.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2OrderReservesShippers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/order-reserves/shippers`,\n            expectedResponseContentType: 'json',\n            query,\n        });\n    };\n\n    createMultipointOrderQuotation = async (\n        reserveId: Api2Paths.ApiV2OrderReserves$ReserveIdRequestQuotationsSync.Post.Parameters.ReserveId,\n        data: Api2Paths.ApiV2OrderReserves$ReserveIdRequestQuotationsSync.Post.RequestBody,\n        laneId?: Api2Paths.ApiV2OrderReserves$ReserveIdRequestQuotationsSync.Post.Parameters.LaneId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2OrderReserves$ReserveIdRequestQuotationsSync.Post.Responses.$200>> => {\n        const query: Api2Paths.ApiV2OrderReserves$ReserveIdRequestQuotationsSync.Post.QueryParameters = {\n            laneId,\n        };\n\n        return this.doFetch<Api2Paths.ApiV2OrderReserves$ReserveIdRequestQuotationsSync.Post.Responses.$200>({\n            method: 'POST',\n            path: `/api/v2/order-reserves/${reserveId}/request-quotations-sync`,\n            expectedResponseContentType: 'json',\n            data,\n            query,\n        });\n    };\n\n    getRFQDetails = async (\n        rfqId: Api2Paths.ApiV2Rfqs$RfqId.Get.Parameters.RfqId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Rfqs$RfqId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs$RfqId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/rfqs/${rfqId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getPriceOffers = async (\n        rfqId: Api2Paths.ApiV2Rfqs$RfqIdOffers.Get.Parameters.RfqId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Rfqs$RfqIdOffers.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs$RfqIdOffers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v2/rfqs/${rfqId}/offers`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    completeRFQ = async (\n        rfqId: Api2Paths.ApiV2Rfqs$RfqIdStatusCompleted.Post.Parameters.RfqId,\n        data: Api2Paths.ApiV2Rfqs$RfqIdStatusCompleted.Post.RequestBody,\n    ): Promise<\n        TranziitApiResultT<\n            Api2Paths.ApiV2Rfqs$RfqIdStatusCompleted.Post.Responses.$200,\n            Api2Paths.ApiV2Rfqs$RfqIdStatusCompleted.Post.Responses.$400\n        >\n    > => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs$RfqIdStatusCompleted.Post.Responses.$200>({\n            method: 'POST',\n            path: `/api/v2/rfqs/${rfqId}/status/completed`,\n            expectedResponseContentType: 'json',\n            data,\n        });\n    };\n\n    getTimeZones = async (): Promise<TranziitApiResultT<Api2Paths.ApiV1TimeZones.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1TimeZones.Get.Responses.$200>({\n            method: 'GET',\n            path: '/api/v1/time-zones',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    validateAssetTeleport = (\n        assetId: Api2Paths.ApiV1BrokerAssetsTeleportValidate$AssetId.Get.PathParameters['assetId'],\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerAssetsTeleportValidate$AssetId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerAssetsTeleportValidate$AssetId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/api/v1/broker/assets/teleport/validate/${assetId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    executeAssetTeleport = (\n        assetId: Api2Paths.ApiV1BrokerAssetsTeleportExecute$AssetId.Post.PathParameters['assetId'],\n        teleportLinkedAsset?: Api2Paths.ApiV1BrokerAssetsTeleportExecute$AssetId.Post.Parameters.TeleportLinkedAsset,\n    ) => {\n        const query: Api2Paths.ApiV1BrokerAssetsTeleportExecute$AssetId.Post.QueryParameters = {\n            teleportLinkedAsset,\n        };\n\n        return this.doFetch<Api2Paths.ApiV1BrokerAssetsTeleportExecute$AssetId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/api/v1/broker/assets/teleport/execute/${assetId}`,\n            expectedResponseContentType: 'json',\n            query,\n        });\n    };\n\n    closeRFQ = async (\n        rfqId: Api2Paths.ApiV2Rfqs$RfqIdStatusClosed.Put.Parameters.RfqId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Rfqs$RfqIdStatusClosed.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs$RfqIdStatusClosed.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/rfqs/${rfqId}/status/closed`,\n            expectedResponseContentType: 'json',\n        });\n    };\n}\n\nconst commonTranziitApi = CommonTranziitApi.getInstance();\n\nexport default commonTranziitApi;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"SpotRequestDetailsPage__fadeIn___HIY9y\",\"blinking\":\"SpotRequestDetailsPage__blinking___rjSBp\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TrailerCell.scss';\nimport { useTranslation } from 'react-i18next';\nimport { BrokerOrderShortT } from 'broker-admin/store/broker-orders/models';\nimport TableCellLink from 'common/components/Table/cell-renderers/TableCellLink/TableCellLink';\nimport { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\n\ntype PropsT = {\n    brokerOrderShort: BrokerOrderShortT;\n    onOpenTrailerDetails: (companyId: CarrierIdT, trailerId: TrailerIdT) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TrailerCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderShort, onOpenTrailerDetails } = props;\n\n    const { t } = useTranslation();\n\n    const { trailerModel, trailerId, trailerPlateNumber } = brokerOrderShort;\n\n    return (\n        <div>\n            {trailerModel && <div className={cx('model')}>{trailerModel}</div>}\n            {trailerId ? (\n                <TableCellLink\n                    className={cx('trailer-link')}\n                    onClick={() => {\n                        if (!brokerOrderShort.trailerCarrierId || !brokerOrderShort.trailerId) {\n                            return;\n                        }\n\n                        onOpenTrailerDetails(brokerOrderShort.trailerCarrierId, brokerOrderShort.trailerId);\n                    }}\n                    size={LinkSizeEnum.medium}\n                    theme={LinkThemeEnum.boldBrandDark}\n                >\n                    {trailerPlateNumber}\n                </TableCellLink>\n            ) : (\n                <div className={cx('not-assigned')}>{t('broker-orders.list.table.not-assigned')}</div>\n            )}\n        </div>\n    );\n});\n\nexport default TrailerCell;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './CompanyLogo.scss';\n\nexport enum CompanyLogoSizeEnum {\n    small = 'small',\n    medium = 'medium',\n    large = 'large',\n    extraLarge = 'extra-large',\n}\n\ntype PropsT = {\n    className?: string;\n    size?: CompanyLogoSizeEnum;\n};\n\nconst cx = classNames.bind(styles);\n\nconst CompanyLogo: React.FC<PropsT> = React.memo((props) => {\n    const { className, size = CompanyLogoSizeEnum.small } = props;\n\n    return <div className={cs(cx('company-logo', `company-logo--size-${size}`), className)} />;\n});\n\nexport default CompanyLogo;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type UnassignDriversConfirmationDataT = {};\n\ntype PropsT = {\n    data: UnassignDriversConfirmationDataT | null;\n    onConfirm: (data: UnassignDriversConfirmationDataT) => void;\n    onCancel: () => void;\n    onClose: () => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'unassign-drivers-confirmation';\n\nconst UnassignDriversConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onConfirm, onCancel, onClose, requestStatus } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.clear'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('common:transport-order-details.dialogs.unassign-drivers.title')}\n                    message={t('common:transport-order-details.dialogs.unassign-drivers.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default UnassignDriversConfirmation;\n","import * as React from 'react';\nimport WarningIcon from 'common/icons/WarningIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\n\nexport type PropsT = {\n    className?: string;\n    children?: React.ReactNode;\n    qa?: string;\n};\n\nconst EntityCriticalWarningAlert: React.FC<PropsT> = React.memo(({ className, children }) => {\n    return (\n        <Alert\n            className={className}\n            icon={<WarningIcon fillColor={StyleGuideColorsEnum.white} />}\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.tomatoRed}\n        >\n            {children}\n        </Alert>\n    );\n});\n\nexport default EntityCriticalWarningAlert;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst UnLockIcon: React.FC<PropsT> = (props) => {\n    const { size, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M10 10.75c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5zM14.5 7h-.75V5.5c0-2.07-1.68-3.75-3.75-3.75a3.747 3.747 0 00-3.63 2.813.747.747 0 00.54.915.75.75 0 00.915-.54A2.247 2.247 0 0110 3.25a2.257 2.257 0 012.25 2.25V7H5.5C4.675 7 4 7.675 4 8.5V16c0 .825.675 1.5 1.5 1.5h9c.825 0 1.5-.675 1.5-1.5V8.5c0-.825-.675-1.5-1.5-1.5zm0 8.25c0 .412-.338.75-.75.75h-7.5a.752.752 0 01-.75-.75v-6c0-.412.338-.75.75-.75h7.5c.412 0 .75.338.75.75v6z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nUnLockIcon.displayName = 'UnLockIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.charcoal,\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default UnLockIcon;\n","import { put, takeEvery, select } from 'redux-saga/effects';\nimport {\n    downloadTenderXLSFile,\n    downloadTenderXLSFileBegin,\n    downloadTenderXLSFileSuccess,\n    downloadTenderXLSFileError,\n    importTenderXLSFile,\n    importTenderXLSFileBegin,\n    importTenderXLSFileSuccess,\n    importTenderXLSFileError,\n    fetchTenderStatus,\n    fetchTenderStatusBegin,\n    fetchTenderStatusSuccess,\n    fetchTenderStatusError,\n    deleteTender,\n    deleteTenderBegin,\n    deleteTenderSuccess,\n    deleteTenderError,\n} from './slice';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport downloadFile from 'common/utils/download-file';\nimport { selectTendersFetchStatusRequestStatus, selectTendersLastStatus } from './selectors';\n\nfunction* downloadTenderXLSFileSaga(): WrapGeneratorT<void> {\n    yield put(downloadTenderXLSFileBegin());\n\n    const lastStatus: ReturnType<typeof selectTendersLastStatus> = yield select(selectTendersLastStatus);\n\n    const [error, data]: ReturnApiT<typeof brokerTranziitApi.downloadTenderXLSFile> =\n        yield brokerTranziitApi.downloadTenderXLSFile();\n\n    if (error) {\n        yield put(downloadTenderXLSFileError({ error }));\n        return;\n    }\n\n    if (data) {\n        let fileName: string;\n        if (lastStatus?.timestamp) {\n            fileName = `tender-${lastStatus.timestamp}.xlsx`;\n        } else if (lastStatus?.fileName) {\n            fileName = `${lastStatus.fileName.replace(/\\.[^/.]+$/, '')}-result.xlsx`;\n        } else {\n            fileName = `tender-${Date.now()}.xlsx`;\n        }\n\n        downloadFile({\n            name: fileName,\n            data,\n            type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n        });\n    }\n\n    yield put(downloadTenderXLSFileSuccess());\n}\n\nfunction* importTenderXLSFileSaga(action: ReturnType<typeof importTenderXLSFile>): WrapGeneratorT<void> {\n    const { file } = action.payload;\n\n    yield put(importTenderXLSFileBegin());\n\n    const [error, status]: ReturnApiT<typeof brokerTranziitApi.importTenderXLSFile> =\n        yield brokerTranziitApi.importTenderXLSFile(file);\n\n    if (error) {\n        yield put(importTenderXLSFileError({ error }));\n        return;\n    }\n\n    if (status) {\n        yield put(importTenderXLSFileSuccess({ status }));\n    }\n}\n\nfunction* fetchTenderStatusSaga(): WrapGeneratorT<void> {\n    const fetchStatusRequestStatus: ReturnType<typeof selectTendersFetchStatusRequestStatus> = yield select(\n        selectTendersFetchStatusRequestStatus,\n    );\n    if (fetchStatusRequestStatus.loading) {\n        return;\n    }\n\n    yield put(fetchTenderStatusBegin());\n\n    const [error, status]: ReturnApiT<typeof brokerTranziitApi.getTenderStatus> =\n        yield brokerTranziitApi.getTenderStatus();\n\n    if (error) {\n        yield put(fetchTenderStatusError({ error }));\n        return;\n    }\n\n    yield put(fetchTenderStatusSuccess({ status }));\n}\n\nfunction* deleteTenderSaga(): WrapGeneratorT<void> {\n    yield put(deleteTenderBegin());\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.deleteTender> = yield brokerTranziitApi.deleteTender();\n\n    if (error) {\n        yield put(deleteTenderError({ error }));\n        return;\n    }\n\n    yield put(deleteTenderSuccess());\n}\n\nfunction* tendersSaga(): WrapGeneratorT<void> {\n    yield takeEvery(downloadTenderXLSFile.type, downloadTenderXLSFileSaga);\n    yield takeEvery(importTenderXLSFile.type, importTenderXLSFileSaga);\n    yield takeEvery(fetchTenderStatus.type, fetchTenderStatusSaga);\n    yield takeEvery(deleteTender.type, deleteTenderSaga);\n}\n\nexport default tendersSaga;\n","import { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nconst asyncValidate = (requestError: RequestStatusT): AsyncFormErrorsT => {\n    if (!requestError.error) {\n        return {};\n    }\n\n    if (\n        checkIsTranziitApiRequestError(requestError.error) &&\n        requestError?.error?.subType === TranziitApiRequestErrorSubTypeEnum.notFoundUser\n    ) {\n        return {\n            [FieldsEnum.email]: AuthErrorTypeEnum.userNotFound,\n        };\n    }\n\n    if (requestError?.error) {\n        return {\n            [FieldsEnum.email]: AuthErrorTypeEnum.unknown,\n        };\n    }\n\n    return {};\n};\n\nexport default asyncValidate;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CustomZoneTextWrap.scss';\nimport { RangeSelectorRangeT } from '../models';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    values: number[] | null;\n    currentRanges: RangeSelectorRangeT[] | null;\n    renderZoneTextNode: (currentRanges: RangeSelectorRangeT[] | null, values: number[] | null) => React.ReactNode;\n};\n\nconst CustomZoneTextWrap: React.FC<PropsT> = React.memo((props) => {\n    const { values, currentRanges, renderZoneTextNode } = props;\n\n    return (\n        <div className={cx('zone-title')} data-test-selector=\"custom-range-selector-zone-text\">\n            {renderZoneTextNode(currentRanges, values)}\n        </div>\n    );\n});\n\nexport default CustomZoneTextWrap;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TruckIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, fillOpacity, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path fill={fillColor} fillOpacity={fillOpacity || 1} d=\"M5 5h10v8l1 1v2H4v-2l1-1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M17.237 12.937c0-.597-.506-1.08-1.13-1.08h-.295V1.723a.267.267 0 00-.126-.225l-.717-.453c-.188-.118-.438.01-.438.225v3.255l-.213-.551c-.288-.741-1.027-1.233-1.853-1.233H7.531c-.832 0-1.574.498-1.858 1.245l-.204.539V1.27c0-.215-.25-.343-.438-.225l-.717.453a.268.268 0 00-.127.225v10.134h-.295c-.623 0-1.129.483-1.129 1.08v2.775h-.48a.276.276 0 00-.283.27v1.493c0 .149.126.27.282.27H3.5v.715c0 .298.253.54.565.54H5.56a.553.553 0 00.565-.54v-.715h7.75v.715c0 .298.253.54.565.54h1.495a.553.553 0 00.565-.54v-.715h1.218a.276.276 0 00.282-.27v-1.493a.276.276 0 00-.282-.27h-.481v-2.775zM5.843 6.029h8.314v2.66H5.843v-2.66zm-.194 8.928h-.964a.522.522 0 01-.533-.51v-.013c0-.282.238-.51.533-.51h.964c.295 0 .534.228.534.51v.013c0 .281-.239.51-.534.51zm6.27.15H8.08a.552.552 0 01-.564-.54v-3.42c0-.299.252-.54.564-.54h3.838c.312 0 .564.241.564.54v3.42c0 .299-.252.54-.564.54zm3.396-.15h-.964a.523.523 0 01-.534-.51v-.013c0-.282.239-.51.534-.51h.964c.294 0 .533.228.533.51v.013c0 .281-.239.51-.533.51z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTruckIcon.displayName = 'TruckIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport const TruckIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        isPressed,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        isPressed?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor:\n                hasValue || isFocused || isPressed\n                    ? StyleGuideColorsEnum.brandAccent\n                    : StyleGuideColorsEnum.transparent,\n            strokeColor:\n                hasValue || isFocused || isPressed ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.light,\n        };\n    },\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getTruckIconProps = (\n    preset:\n        | 'default'\n        | 'assignment-events'\n        | 'assignment-normal'\n        | 'assignment-selected'\n        | 'assignment-not-in-time-normal'\n        | 'assignment-not-in-time-selected',\n): PropsT => {\n    switch (preset) {\n        case 'assignment-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-events': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.brandAccent,\n            };\n        }\n        case 'assignment-not-in-time-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n        case 'assignment-not-in-time-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'default':\n        default: {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n    }\n};\n\nexport { storyProps };\nexport default TruckIcon;\n","import { diffImpactStrategySet, FieldsEnum, FormValuesT, RepeatTypeEnum } from './constants';\nimport { RuleDetailsT } from 'broker-admin/store/price-settings/rules/models';\nimport { WEEK_DAYS_ORDER, ZIP_CODES_SEPARATOR } from 'common/constants';\nimport { clearDateTimezone } from 'common/utils/time';\nimport {\n    RuleImpactStrategyEnum,\n    RepeatStrategyTypeEnum,\n    PriceComponentTypeEnum,\n} from 'broker-admin/utils/api/broker-tranziit/models';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport { PriceRuleTypeEnum } from 'common/utils/api/models';\n\nconst prepareZipCodes = (zipCodes?: string[]): string => {\n    return (zipCodes || []).join(ZIP_CODES_SEPARATOR);\n};\n\nconst prepareCodes = (codes: string[]): CountryCodeT[] => {\n    return codes.map((code) => code.toUpperCase() as CountryCodeT);\n};\n\nconst prepareValidDate = (validDate?: string): Date | null => {\n    const clearedDate = clearDateTimezone(validDate);\n    return clearedDate ? new Date(clearedDate) : null;\n};\n\nexport const DEFAULT_IMPACT_VALUE = '';\nexport const DEFAULT_IMPACT_DIFF_VALUE = '+';\n\nconst getInitialValues = (\n    editableRuleDetails: RuleDetailsT | null,\n    allTrailerDictTypeIds: Array<TrailerDictIdT>,\n): FormValuesT => {\n    const isNewRule = !editableRuleDetails;\n    const loadedTrailerDict = !!allTrailerDictTypeIds?.length;\n\n    const ruleTrailerTypeIds = (editableRuleDetails?.trailerTypeIds || []).map((value) => String(value));\n\n    const impactStrategy = editableRuleDetails?.operator || RuleImpactStrategyEnum.percent;\n    const isDiffImpactStrategy = diffImpactStrategySet.has(impactStrategy);\n\n    const values: FormValuesT = {\n        [FieldsEnum.id]: editableRuleDetails?.id || null,\n\n        [FieldsEnum.name]: editableRuleDetails?.name || '',\n        [FieldsEnum.type]: editableRuleDetails?.ruleType || null,\n\n        [FieldsEnum.fromCountryCodes]: prepareCodes(editableRuleDetails?.countriesFrom || []),\n        [FieldsEnum.fromCountryZipCodes]: prepareZipCodes(editableRuleDetails?.zipsFrom),\n\n        [FieldsEnum.toCountryCodes]: prepareCodes(editableRuleDetails?.countriesTo || []),\n        [FieldsEnum.toCountryZipCodes]: prepareZipCodes(editableRuleDetails?.zipsTo),\n\n        [FieldsEnum.dates]: {\n            from: null,\n            to: null,\n        },\n        [FieldsEnum.days]: [],\n        [FieldsEnum.repeatType]: RepeatTypeEnum.dates,\n        [FieldsEnum.repeatStrategy]: RepeatStrategyTypeEnum.none,\n\n        [FieldsEnum.validFrom]: new Date(),\n        [FieldsEnum.validTill]: null,\n\n        [FieldsEnum.impactPriceComponent]: editableRuleDetails?.target || PriceComponentTypeEnum.lineHaul,\n        [FieldsEnum.impactValue]: DEFAULT_IMPACT_VALUE,\n        [FieldsEnum.impactDiffValue]: DEFAULT_IMPACT_DIFF_VALUE,\n\n        [FieldsEnum.impactStrategy]: impactStrategy,\n\n        [FieldsEnum.shipperIds]:\n            editableRuleDetails?.ruleType === PriceRuleTypeEnum.shipper ? editableRuleDetails?.companyIds || [] : [],\n        [FieldsEnum.carrierIds]:\n            editableRuleDetails?.ruleType === PriceRuleTypeEnum.carrier ? editableRuleDetails?.companyIds || [] : [],\n\n        [FieldsEnum.trailerTypeIds]: isNewRule && loadedTrailerDict ? allTrailerDictTypeIds : ruleTrailerTypeIds,\n    };\n\n    if (editableRuleDetails?.validFrom) {\n        values[FieldsEnum.validFrom] = prepareValidDate(editableRuleDetails.validFrom);\n    }\n\n    if (editableRuleDetails?.validTill) {\n        values[FieldsEnum.validTill] = prepareValidDate(editableRuleDetails.validTill);\n    }\n\n    if (editableRuleDetails?.value) {\n        if (isDiffImpactStrategy) {\n            const valueSign = editableRuleDetails.value > 0 ? '+' : '-';\n            values[FieldsEnum.impactDiffValue] = `${valueSign}${Math.abs(editableRuleDetails.value)}`;\n        } else {\n            values[FieldsEnum.impactValue] = `${editableRuleDetails.value}`;\n        }\n    }\n\n    if (!editableRuleDetails) {\n        return values;\n    }\n\n    values[FieldsEnum.repeatStrategy] =\n        editableRuleDetails.repeatMode === RepeatStrategyTypeEnum.weekly\n            ? RepeatStrategyTypeEnum.none\n            : editableRuleDetails.repeatMode || RepeatStrategyTypeEnum.none;\n\n    const repeatDays = editableRuleDetails.repeatDays || [];\n    const isDaysRange = repeatDays.every((value) => value < 10);\n    if (isDaysRange) {\n        values[FieldsEnum.repeatType] = RepeatTypeEnum.weekdays;\n        values[FieldsEnum.days] = repeatDays.map((dayNumber) => WEEK_DAYS_ORDER[dayNumber - 1]);\n    }\n\n    const isDatesRange = repeatDays.every((value) => value > 10);\n    if (isDatesRange) {\n        values[FieldsEnum.repeatType] = RepeatTypeEnum.dates;\n        const minValue = repeatDays[0];\n        const startDate = new Date(minValue);\n\n        const maxValue = repeatDays[repeatDays.length - 1];\n        const endDate = new Date(maxValue);\n\n        if (minValue && !maxValue) {\n            values[FieldsEnum.dates] = {\n                from: startDate,\n                to: null,\n            };\n        }\n\n        if (!minValue && maxValue) {\n            values[FieldsEnum.dates] = {\n                from: endDate,\n                to: null,\n            };\n        }\n\n        if (minValue && maxValue) {\n            values[FieldsEnum.dates] = {\n                from: startDate,\n                to: endDate,\n            };\n        }\n    }\n\n    return values;\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport DropdownControl, {\n    DropdownControlPropsT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { MS_IN_SEC } from 'common/utils/time';\nimport { DividerTrigger } from 'design-system/components/DividerWithDropdownControl/DividerTrigger/DividerTrigger';\n\nexport type DividerWithDropdownControlPropsT = Omit<DropdownControlPropsT, 'renderTrigger'> & {\n    className?: string;\n    triggerClassName?: string;\n    tooltipNode: React.ReactNode;\n};\n\nconst DividerWithDropdownControl: React.FC<DividerWithDropdownControlPropsT> = React.memo((props) => {\n    const { className, triggerClassName, tooltipNode, ...restProps } = props;\n\n    const renderTrigger: DropdownControlPropsT['renderTrigger'] = (isActive, onClick) => {\n        return (\n            <Tooltip\n                position={TooltipPositionEnum.topCenter}\n                theme={TooltipThemeEnum.black}\n                delay={MS_IN_SEC}\n                className={className}\n                tooltipNode={\n                    <TooltipContent isNoWrap isCenter theme={TooltipContentThemeEnum.black}>\n                        {tooltipNode}\n                    </TooltipContent>\n                }\n            >\n                {(isShow, childrenClassName) => (\n                    <DividerTrigger\n                        className={cs(childrenClassName, triggerClassName)}\n                        isActive={isActive}\n                        onClick={onClick}\n                    />\n                )}\n            </Tooltip>\n        );\n    };\n\n    return <DropdownControl {...restProps} renderTrigger={renderTrigger} />;\n});\n\nexport { DividerWithDropdownControl };\n","import { ScheduleEventT } from './models';\nimport { parseDateString } from 'common/utils/time';\nimport { ApiLocationT } from 'common/utils/api/models';\nimport { ApiCoordinateT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport isNumber from 'lodash/isNumber';\n\nexport const getCurrentScheduleEvent = (assetId: AssetIdT, schedule: ScheduleEventT[]): ScheduleEventT | null => {\n    const now = Date.now();\n\n    const currentEvents = schedule.filter((event) => {\n        const dateFrom = event.truckId === assetId ? event.truckDateFrom : event.trailerDateFrom;\n        const start = parseDateString(dateFrom);\n\n        const dateTo = event.truckId === assetId ? event.truckDateTo : event.trailerDateTo;\n        const end = parseDateString(dateTo);\n\n        return !!start && !!end && start < now && now < end;\n    });\n\n    return currentEvents[0] || null;\n};\n\nexport const convertToCoordinate = (location: ApiLocationT | null): ApiCoordinateT | null => {\n    if (!location) {\n        return null;\n    }\n\n    const { latitude, longitude } = location;\n    if (isNumber(latitude) && isNumber(longitude)) {\n        return {\n            latitude,\n            longitude,\n        };\n    }\n\n    return null;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"SaveFooterContent__content___S2ISk\",\"action\":\"SaveFooterContent__action___IGOWj\",\"fadeIn\":\"SaveFooterContent__fadeIn___EBv8a\",\"blinking\":\"SaveFooterContent__blinking___pA60l\"};","import isNumber from 'lodash/isNumber';\n\nexport type PlaceResultT = OverwriteT<\n    google.maps.places.PlaceResult,\n    {\n        address_components: NonNullable<google.maps.places.PlaceResult['address_components']>;\n        geometry: NonNullable<google.maps.places.PlaceResult['geometry']>;\n        utc_offset_minutes: NonNullable<google.maps.places.PlaceResult['utc_offset_minutes']>;\n    }\n>;\n\nconst checkIsValidPlacesResult = (\n    placesResult: google.maps.places.PlaceResult | null | undefined,\n): placesResult is PlaceResultT => {\n    return !!placesResult?.address_components && !!placesResult?.geometry && isNumber(placesResult?.utc_offset_minutes);\n};\n\nclass GoogleMapsPlacesApi {\n    private map: MapT | null;\n\n    private maps: MapsT | null;\n\n    constructor(map: MapT | null | undefined, maps: MapsT | null | undefined) {\n        this.map = map || null;\n        this.maps = maps || null;\n    }\n\n    getPlaceDetails = async (placeId: string | null): Promise<PlaceResultT | null> => {\n        const { maps, map } = this;\n\n        if (!maps || !map || !placeId) {\n            return Promise.resolve(null);\n        }\n\n        return new Promise((resolve) => {\n            const placesService = new maps.places.PlacesService(map);\n            placesService.getDetails(\n                {\n                    placeId,\n                    fields: ['ALL'],\n                },\n                (result: google.maps.places.PlaceResult, status: google.maps.places.PlacesServiceStatus): void => {\n                    if (status !== 'OK') {\n                        resolve(null);\n                        return;\n                    }\n\n                    const isValidResult = checkIsValidPlacesResult(result);\n                    if (!isValidResult) {\n                        resolve(null);\n                        return;\n                    }\n\n                    resolve(result || null);\n                },\n            );\n        });\n    };\n}\n\nexport { GoogleMapsPlacesApi };\n","import {\n    FetchTrailersDictActionT,\n    FetchTrailersDictBeginActionT,\n    FetchTrailersDictErrorActionT,\n    FetchTrailersDictSuccessActionT,\n    TRAILERS_DICT_REQUEST,\n    TRAILERS_DICT_REQUEST_BEGIN,\n    TRAILERS_DICT_REQUEST_ERROR,\n    TRAILERS_DICT_REQUEST_SUCCESS,\n} from './types';\nimport { TrailersDictT } from './models';\n\nexport const fetchTrailersDict = (): FetchTrailersDictActionT => ({\n    type: TRAILERS_DICT_REQUEST,\n});\n\nexport const fetchTrailersDictBegin = (): FetchTrailersDictBeginActionT => ({\n    type: TRAILERS_DICT_REQUEST_BEGIN,\n});\n\nexport const fetchTrailersDictSuccess = (trailersDict: TrailersDictT): FetchTrailersDictSuccessActionT => ({\n    type: TRAILERS_DICT_REQUEST_SUCCESS,\n    trailersDict,\n});\n\nexport const fetchTrailersDictError = (error: Error): FetchTrailersDictErrorActionT => ({\n    type: TRAILERS_DICT_REQUEST_ERROR,\n    error,\n});\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { AddressTypeEnum } from 'common/utils/api/models';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { UnVerifyPartnerAdressConfirmationDataT } from './models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\ntype PropsT = {\n    data: UnVerifyPartnerAdressConfirmationDataT | null;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (data: UnVerifyPartnerAdressConfirmationDataT | null) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'unverify-partner-address-confirmation';\n\nconst I18N_LABELS_MAP: Record<AddressTypeEnum, { title: string; message: string }> = {\n    [AddressTypeEnum.postal]: {\n        title: 'partner.details-tab.dialogs.unverify-postal-address.title',\n        message: 'partner.details-tab.dialogs.unverify-postal-address.description',\n    },\n    [AddressTypeEnum.legal]: {\n        title: 'partner.details-tab.dialogs.unverify-legal-address.title',\n        message: 'partner.details-tab.dialogs.unverify-legal-address.description',\n    },\n    [AddressTypeEnum.billing]: {\n        title: 'partner.details-tab.dialogs.unverify-billing-address.title',\n        message: 'partner.details-tab.dialogs.unverify-billing-address.description',\n    },\n};\n\nconst UnVerifyPartnerAdressConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onClose, onCancel, onConfirm, requestStatus } = props;\n\n    const { t } = useTranslation();\n\n    const i18nLabelsMap = I18N_LABELS_MAP[data?.addressType as AddressTypeEnum];\n\n    if (!data) {\n        return null;\n    }\n\n    const labels = {\n        title: t(i18nLabelsMap.title),\n        message: t(i18nLabelsMap.message),\n    };\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: onCancel,\n                            isDisabled: requestStatus.loading,\n                        },\n                        {\n                            children: t('common:error-modal.actions.unverify'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    {...labels}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default UnVerifyPartnerAdressConfirmation;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const brokerTeamsRefreshChannel = new ViewEventChannel<{}>();\n\nexport const brokerTeamsPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import * as React from 'react';\nimport { Trans } from 'react-i18next';\nimport CityName from '../entities/CityName/CityName';\nimport Identifier from 'common/components/notification-cards/entities/Identifier/Identifier';\nimport classNames from 'classnames/bind';\nimport styles from './ShipmentCanceledCard.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    shipmentNumber: React.ReactNode;\n    orderNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst ShipmentCanceledCard: React.FC<PropsT> = React.memo((props) => {\n    const { shipmentNumber, orderNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"common:notifications.shipment-canceled\"\n                components={{\n                    shipmentNumber: <Identifier id={shipmentNumber} />,\n                    orderNumber: <Identifier id={orderNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ShipmentCanceledCard;\n","import { logWarning } from 'common/utils/logger';\n\nconst pickFile = (accept: string, onPick: (file: File) => void) => {\n    const fileInput = document.createElement('input');\n    fileInput.type = 'file';\n    fileInput.accept = accept;\n    fileInput.click();\n    fileInput.onchange = () => {\n        const file = fileInput.files?.[0];\n        if (!file) {\n            logWarning('empty file!');\n            return;\n        }\n\n        onPick(file);\n    };\n};\n\nexport { pickFile };\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { BrokerTourDetailsT } from './models';\nimport isEqual from 'lodash/isEqual';\n\nexport type BrokerTourDetailsStateT = {\n    details: BrokerTourDetailsT | null;\n    requestStatus: RequestStatusT;\n};\n\nexport type BrokerTourDetailsByIdStateT = Record<BrokerTourIdT, BrokerTourDetailsStateT>;\n\nexport const initialBrokerTourDetailsState: BrokerTourDetailsStateT = {\n    details: null,\n    requestStatus: requestStatus.initial,\n};\n\nconst initialState: BrokerTourDetailsByIdStateT = {};\n\nexport const brokerTourDetailsSlice = createSlice({\n    name: 'brokerTourDetails',\n    initialState,\n    reducers: {\n        fetchBrokerTourDetails: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                id: BrokerTourIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        fetchBrokerTourDetailsBegin: (\n            state,\n            action: PayloadAction<{\n                id: BrokerTourIdT;\n            }>,\n        ) => {\n            const { id } = action.payload;\n            const brokerTourDetailsState = state[id] || initialBrokerTourDetailsState;\n\n            state[id] = {\n                ...brokerTourDetailsState,\n                requestStatus: requestStatus.loading,\n            };\n        },\n        fetchBrokerTourDetailsSuccess: (\n            state,\n            action: PayloadAction<{\n                id: BrokerTourIdT;\n                details: BrokerTourDetailsT | null;\n            }>,\n        ) => {\n            const { details, id } = action.payload;\n            const brokerTourDetailsState = state[id] || initialBrokerTourDetailsState;\n\n            state[id] = {\n                ...brokerTourDetailsState,\n                requestStatus: requestStatus.ok,\n                details: isEqual(details, brokerTourDetailsState.details) ? brokerTourDetailsState.details : details,\n            };\n        },\n        fetchBrokerTourDetailsError: (\n            state,\n            action: PayloadAction<{\n                id: BrokerTourIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { error, id } = action.payload;\n            const brokerTourDetailsState = state[id] || initialBrokerTourDetailsState;\n\n            state[id] = {\n                ...brokerTourDetailsState,\n                requestStatus: requestStatus.setError(error),\n            };\n        },\n        resetBrokerTourDetails: () => {\n            return {};\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchBrokerTourDetails,\n    fetchBrokerTourDetailsBegin,\n    fetchBrokerTourDetailsSuccess,\n    fetchBrokerTourDetailsError,\n    resetBrokerTourDetails,\n} = brokerTourDetailsSlice.actions;\n\nexport default brokerTourDetailsSlice.reducer;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ControlLoaderWithShadow__wrap___cJBPd\",\"fadeIn\":\"ControlLoaderWithShadow__fadeIn___YQXCQ\",\"blinking\":\"ControlLoaderWithShadow__blinking___Dwafa\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport {\n    ShipperContractDetailsT,\n    UpdateShipperContractChangesT,\n    UploadShipperContractDetailsT,\n} from 'common/store/shipper-contract-details/models';\n\nexport type ShipperContractDetailsItemStateT = {\n    fetchRequest: RequestStatusT;\n    data: ShipperContractDetailsT | null;\n};\n\nexport const initialShipperContractDetailsItemState: ShipperContractDetailsItemStateT = {\n    fetchRequest: requestStatus.initial,\n    data: null,\n};\n\nexport type ShipperContractDetailsStateT = {\n    updateRequest: RequestStatusT;\n    detailsById: Record<ShipperContractIdT, ShipperContractDetailsItemStateT>;\n    downloadRequest: RequestStatusT;\n};\n\nconst initialState: ShipperContractDetailsStateT = {\n    updateRequest: requestStatus.initial,\n    detailsById: {},\n    downloadRequest: requestStatus.initial,\n};\n\nexport const shipperContractDetailsSlice = createSlice({\n    name: 'shipperContractDetails',\n    initialState,\n    reducers: {\n        fetchShipperContractDetails: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                shipperContractId: ShipperContractIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchShipperContractDetailsBegin: (\n            state,\n            action: PayloadAction<{\n                shipperContractId: ShipperContractIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            const { shipperContractId } = action.payload;\n            const detailsItem = state.detailsById[shipperContractId] || initialShipperContractDetailsItemState;\n\n            state.detailsById[shipperContractId] = {\n                ...detailsItem,\n                fetchRequest: requestStatus.loading,\n            };\n        },\n        fetchShipperContractDetailsSuccess: (\n            state,\n            action: PayloadAction<{\n                shipperContractId: ShipperContractIdT;\n                data: ShipperContractDetailsT | null;\n            }>,\n        ) => {\n            const { shipperContractId, data } = action.payload;\n            const detailsItem = state.detailsById[shipperContractId] || initialShipperContractDetailsItemState;\n\n            state.detailsById[shipperContractId] = {\n                ...detailsItem,\n                fetchRequest: requestStatus.ok,\n                data,\n            };\n        },\n        fetchShipperContractDetailsError: (\n            state,\n            action: PayloadAction<{\n                shipperContractId: ShipperContractIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { shipperContractId, error } = action.payload;\n            const detailsItem = state.detailsById[shipperContractId] || initialShipperContractDetailsItemState;\n\n            state.detailsById[shipperContractId] = {\n                ...detailsItem,\n                fetchRequest: requestStatus.setError(error),\n            };\n        },\n        uploadShipperContract: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                file: File;\n                details: UploadShipperContractDetailsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        revokeShipperContract: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                shipperContractId: ShipperContractIdT;\n                reason: string;\n            }>,\n        ) => {\n            // nothing\n        },\n        updateShipperContract: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                shipperContractId: ShipperContractIdT;\n                detailsChanges: UpdateShipperContractChangesT;\n                file: File | null;\n            }>,\n        ) => {\n            // nothing\n        },\n        updateShipperContractDetailsBegin: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.updateRequest = requestStatus.loading;\n        },\n        updateShipperContractDetailsSuccess: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.updateRequest = requestStatus.ok;\n        },\n        updateShipperContractDetailsError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n            state.updateRequest = requestStatus.setError(error);\n        },\n        downloadShipperContract: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                shipperContractId: ShipperContractIdT;\n                fileName: string | null;\n            }>,\n        ) => {\n            // nothing\n        },\n        downloadShipperContractDetailsBegin: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.downloadRequest = requestStatus.loading;\n        },\n        downloadShipperContractDetailsSuccess: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.downloadRequest = requestStatus.ok;\n        },\n        downloadShipperContractDetailsError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n\n            state.downloadRequest = requestStatus.setError(error);\n        },\n    },\n});\n\nexport const {\n    fetchShipperContractDetails,\n    fetchShipperContractDetailsBegin,\n    fetchShipperContractDetailsSuccess,\n    fetchShipperContractDetailsError,\n    revokeShipperContract,\n    uploadShipperContract,\n    updateShipperContract,\n    updateShipperContractDetailsBegin,\n    updateShipperContractDetailsError,\n    updateShipperContractDetailsSuccess,\n    downloadShipperContract,\n    downloadShipperContractDetailsBegin,\n    downloadShipperContractDetailsSuccess,\n    downloadShipperContractDetailsError,\n} = shipperContractDetailsSlice.actions;\n\nexport default shipperContractDetailsSlice.reducer;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ExpireSoonPartnerDocumentCard.scss';\nimport { Trans } from 'react-i18next';\nimport { ApiDocumentTypeT, ApiPartnerTypeT } from 'common/utils/api/models';\nimport AsyncDictDocumentNameLabel from 'common/components/AsyncDictDocumentNameLabel/AsyncDictDocumentNameLabel';\nimport PartnerName from 'broker-admin/components/notification-cards/entities/PartnerName/PartnerName';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    partnerName: string;\n    partnerType: ApiPartnerTypeT | null;\n    documentType: ApiDocumentTypeT;\n};\n\nconst ExpireSoonPartnerDocumentCard: React.FC<PropsT> = React.memo((props) => {\n    const { partnerName, partnerType, documentType } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-document-expire-soon\"\n                components={{\n                    partnerName: <PartnerName partnerName={partnerName} />,\n                    documentName: (\n                        <AsyncDictDocumentNameLabel\n                            className={cx('document-name')}\n                            partnerType={partnerType}\n                            documentType={documentType}\n                        />\n                    ),\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ExpireSoonPartnerDocumentCard;\n","import * as React from 'react';\n\nimport { pickFile } from 'common/utils/pick-file';\nimport { logWarning } from 'common/utils/logger';\nimport { uploadPaper } from 'common/store/papers/actions';\nimport { useDispatch } from 'react-redux';\n\nexport const deprecatedUseAttachTourPapers = ({ isBroker }: { isBroker: boolean }) => {\n    const dispatch = useDispatch();\n\n    return React.useMemo(() => {\n        return {\n            onAttachTourPapers: (tourId: TourIdT) => {\n                pickFile('image/*', (file) => {\n                    if (!tourId) {\n                        logWarning('failed upload paper, empty tourId');\n                        return;\n                    }\n\n                    dispatch(uploadPaper(tourId, isBroker, file));\n                });\n            },\n        };\n    }, [dispatch, isBroker]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"RouteEditForm__form___vJz58\",\"alert\":\"RouteEditForm__alert___ouX2b\",\"footer-content\":\"RouteEditForm__footer-content___LoNmG\",\"actions\":\"RouteEditForm__actions___seuda\",\"action--cancel\":\"RouteEditForm__action--cancel___rQx_s\",\"action--assign\":\"RouteEditForm__action--assign___yPpYu\",\"submit-confirmation\":\"RouteEditForm__submit-confirmation___lekkS\",\"old-prices\":\"RouteEditForm__old-prices___cqFvs\",\"new-prices\":\"RouteEditForm__new-prices___kgp6d\",\"context-expiration-alert\":\"RouteEditForm__context-expiration-alert___BmsrV\",\"change-shipper-time-windows-alert\":\"RouteEditForm__change-shipper-time-windows-alert___y1Edh\",\"route-point-fields\":\"RouteEditForm__route-point-fields___zaWlx\",\"route-points-divider\":\"RouteEditForm__route-points-divider___TuY3A\",\"fadeIn\":\"RouteEditForm__fadeIn___PmPdI\",\"blinking\":\"RouteEditForm__blinking___TtYvl\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"PickupOrDeliveryRoutePointPicker__wrap___FlG34\",\"field--location\":\"PickupOrDeliveryRoutePointPicker__field--location___Ot886\",\"geo-suggest\":\"PickupOrDeliveryRoutePointPicker__geo-suggest___pgUoZ\",\"time-picker\":\"PickupOrDeliveryRoutePointPicker__time-picker___sISzc\",\"right-node\":\"PickupOrDeliveryRoutePointPicker__right-node____eWA8\",\"time-interval\":\"PickupOrDeliveryRoutePointPicker__time-interval___VAetn\",\"time-interval--isHalfOpacity\":\"PickupOrDeliveryRoutePointPicker__time-interval--isHalfOpacity___ZwH0Y\",\"original-zone-tooltip-content\":\"PickupOrDeliveryRoutePointPicker__original-zone-tooltip-content___ulZi6\",\"fadeIn\":\"PickupOrDeliveryRoutePointPicker__fadeIn___azU5_\",\"blinking\":\"PickupOrDeliveryRoutePointPicker__blinking___Vb9fh\"};","import * as React from 'react';\nimport { useCallback } from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './PartnerSelectList.scss';\nimport { useTranslation } from 'react-i18next';\nimport Checkbox, { CheckboxThemeEnum } from 'design-system/components/Checkbox/Checkbox';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { ApiBrokerTeamCompanyT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport uniqBy from 'lodash/uniqBy';\nimport differenceBy from 'lodash/differenceBy';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport PartnerTypePill from 'common/components/pills/PartnerTypePill/PartnerTypePill';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport AsyncSearchScrollableList from 'design-system/components/AsyncSearchScrollableList/AsyncSearchScrollableList';\nimport { ListMessagePropsT } from 'design-system/components/AsyncSearchScrollableList/ListMessage/ListMessage';\n\nconst cx = classNames.bind(styles);\n\ntype ListOptionT = ApiBrokerTeamCompanyT;\n\ntype PropsT = {\n    className?: string;\n    initialSelectedPartners?: Array<ListOptionT>;\n    selectedPartners: Array<ListOptionT>;\n    onChangePartners: (options: Array<ListOptionT>) => void;\n    highlightedPartnerIdsSet?: Set<PartnerIdT>;\n    isReadOnly?: boolean;\n};\n\nconst PartnerSelectList: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        initialSelectedPartners,\n        selectedPartners,\n        onChangePartners,\n        highlightedPartnerIdsSet,\n        isReadOnly,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [searchText, setSearchText] = React.useState('');\n\n    const selectedPartnerIdsSet = React.useMemo(() => {\n        return new Set<PartnerIdT>(selectedPartners.map((item) => item.id));\n    }, [selectedPartners]);\n\n    const requestFactory: AsyncRequestFactoryT<ListOptionT> = useCallback((query) => {\n        return brokerTranziitApi\n            .findPartnersByName(query, ['SHIPPER', 'CARRIER'])\n            .then((response): AsyncRequestFactoryResultT<ListOptionT> => {\n                const [error, result] = response;\n                if (error) {\n                    return [error, null];\n                }\n\n                const items: Array<ListOptionT> =\n                    result?.content?.reduce<Array<ListOptionT>>((acc, item) => {\n                        if (item.countryCode && item.name && item.profileType) {\n                            acc.push({\n                                id: item.id,\n                                country: item.countryCode,\n                                name: item.name,\n                                role: item.profileType[0],\n                            });\n                        }\n\n                        return acc;\n                    }, []) || [];\n\n                return [null, items];\n            });\n    }, []);\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<ListOptionT>({\n        initialOptions: initialSelectedPartners,\n        requestFactory,\n        settings: {\n            allowedQueryMinLength: 0,\n        },\n    });\n\n    const { options, optionsQuery, requestStatus, onChangeQuery } = asyncOptionsRequest;\n\n    const onAddOption = React.useCallback(\n        (option: ListOptionT) => {\n            const newValue: Array<ListOptionT> = uniqBy([...selectedPartners, option], 'id');\n            onChangePartners(newValue);\n        },\n        [selectedPartners, onChangePartners],\n    );\n\n    const onDeleteOption = React.useCallback(\n        (option: ListOptionT) => {\n            const newValue: Array<ListOptionT> = differenceBy(selectedPartners, [option], 'id');\n            onChangePartners(newValue);\n        },\n        [selectedPartners, onChangePartners],\n    );\n\n    const meta = React.useMemo(() => {\n        return {\n            selectedPartnerIdsSet,\n            onAddOption,\n            onDeleteOption,\n            highlightedPartnerIdsSet,\n        };\n    }, [selectedPartnerIdsSet, onAddOption, onDeleteOption, highlightedPartnerIdsSet]);\n\n    const emptyMessage = React.useMemo((): ListMessagePropsT => {\n        return {\n            title: t('edit-broker-team.form.fields.partners.empty-message.title'),\n            description: t('edit-broker-team.form.fields.partners.empty-message.description'),\n        };\n    }, [t]);\n\n    const getOptionKey = React.useCallback((option: ListOptionT) => {\n        return option.id;\n    }, []);\n\n    return (\n        <AsyncSearchScrollableList\n            className={cs(cx('inner'), className)}\n            minHeightPx={300}\n            inputValue={searchText}\n            onChangeInputValue={(searchText) => {\n                setSearchText(searchText);\n                onChangeQuery(searchText);\n            }}\n            inputPlaceholder={t('edit-broker-team.form.fields.users.search-placeholder')}\n            options={options}\n            optionsQuery={optionsQuery}\n            initialOptions={initialSelectedPartners}\n            getOptionKey={getOptionKey}\n            meta={meta}\n            requestStatus={requestStatus}\n            emptyMessage={emptyMessage}\n            renderOption={(\n                option,\n                index,\n                { selectedPartnerIdsSet, highlightedPartnerIdsSet, onDeleteOption, onAddOption },\n            ) => {\n                return (\n                    <Checkbox\n                        key={option.id}\n                        className={cx('checkbox')}\n                        checked={selectedPartnerIdsSet.has(option.id)}\n                        labelClassName={cx('checkbox-label')}\n                        label={\n                            <div\n                                className={cx('row', {\n                                    'row--half-opacity': false,\n                                })}\n                            >\n                                <div className={cx('row__avatar')}>\n                                    <FlagIcon countryCode={option.country} />\n                                </div>\n                                <div className={cx('row__text')}>\n                                    <ClickInterceptorLabel>\n                                        <Link\n                                            target=\"_blank\"\n                                            to={urlFactory.partnerDetails(option.role, option.id)}\n                                            theme={LinkThemeEnum.boldBrandDark}\n                                        >\n                                            {option.name}\n                                        </Link>\n                                    </ClickInterceptorLabel>\n                                </div>\n                                <div className={cx('row__pills')}>\n                                    <PartnerTypePill type={option.role} />\n                                </div>\n                            </div>\n                        }\n                        theme={\n                            highlightedPartnerIdsSet?.has(option.id)\n                                ? CheckboxThemeEnum.orange\n                                : CheckboxThemeEnum.green\n                        }\n                        isFullWidth\n                        onChange={(checked) => {\n                            if (checked) {\n                                onAddOption(option);\n                            } else {\n                                onDeleteOption(option);\n                            }\n                        }}\n                        isReadOnly={isReadOnly}\n                    />\n                );\n            }}\n        />\n    );\n});\n\nexport default PartnerSelectList;\n","// extracted by mini-css-extract-plugin\nexport default {\"id\":\"IdCell__id___bBXKh\",\"fadeIn\":\"IdCell__fadeIn___dFZ6l\",\"blinking\":\"IdCell__blinking___obZMS\"};","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"CarriersSuggest__option___jAdPQ\",\"fadeIn\":\"CarriersSuggest__fadeIn___nawTg\",\"blinking\":\"CarriersSuggest__blinking___XhvcP\"};","import { ApiShipperContractBrokerT } from 'common/utils/api/models';\nimport { ShipperContractT } from 'common/store/shipper-contracts/models';\n\nexport const checkIsApiBrokerShipperContract = (\n    details: ShipperContractT | null,\n): details is ApiShipperContractBrokerT => {\n    return !!details;\n};\n","import {\n    AsyncRequestFactoryT,\n    useAsyncInitOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-init-options-request';\nimport { useCallback } from 'react';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\nimport {\n    BrokerUserSuggestOptionT,\n    BrokerUserSuggestValueT,\n} from 'broker-admin/components/dropdowns/BrokerUserSuggest/BrokerUserSuggest';\nimport keyBy from 'lodash/keyBy';\n\nexport const useInitBrokerUsersSuggestOptions = (\n    companyId: CompanyIdT | null,\n    userIds: Array<BrokerUserSuggestValueT> | null,\n) => {\n    const initRequestFactory: AsyncRequestFactoryT<BrokerUserSuggestOptionT> = useCallback(async () => {\n        if (!userIds?.length || !companyId) {\n            return [null, null];\n        }\n\n        const results = await brokerTranziitApi.findPartnerUsersByName(companyId, {});\n\n        const [, data] = results;\n        const userById = keyBy(data, 'id');\n\n        const resultOptions =\n            userIds?.reduce<Array<BrokerUserSuggestOptionT>>((acc, userId) => {\n                if (!userId) {\n                    return acc;\n                }\n\n                const user = userById[userId];\n                if (!user) {\n                    return acc;\n                }\n\n                // convert entity\n                acc.push({\n                    id: user.id,\n                    fullName: user.fullName,\n                });\n\n                return acc;\n            }, []) || [];\n\n        const result: TranziitApiResultT<Array<BrokerUserSuggestOptionT>> = [null, resultOptions];\n\n        return result;\n    }, [companyId, userIds]);\n\n    const { initOptions, initRequestStatus, onUpdateInitOptions } =\n        useAsyncInitOptionsRequest<BrokerUserSuggestOptionT>({\n            initRequestFactory,\n        });\n\n    return {\n        initOptions,\n        initRequestStatus,\n        onUpdateInitOptions,\n    };\n};\n","import React, { useCallback } from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport ShipperIcon, { ShipperIconProps } from 'common/icons/ShipperIcon';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { ApiOrderCreationShipperInfoT } from 'common/utils/api/models';\n\ntype OptionT = ApiOrderCreationShipperInfoT;\ntype ValueT = OptionT['id'] | null;\n\nexport type PropsT = {\n    className?: string;\n    initialOptions: Array<OptionT>;\n    onSelect: (value: ValueT, option: OptionT | null) => void;\n    value: ValueT;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n};\n\nconst OrderReservesShipperSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialOptions,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n    } = props;\n\n    const handleReset = () => {\n        onSelect(null, null);\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                icon={option.country ? <FlagIcon countryCode={option.country} /> : null}\n                label={option.name || ''}\n                description={option.number || ''}\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback((query) => {\n        return commonTranziitApi\n            .fetchOrderReservesShippers({\n                name: query,\n            })\n            .then((response): AsyncRequestFactoryResultT<OptionT> => {\n                const [error, result] = response;\n                if (error) {\n                    return [error, null];\n                }\n\n                return [null, result?.content || []];\n            });\n    }, []);\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions,\n        requestFactory,\n        settings: {},\n    });\n\n    const handleSelect = (value: ValueT) => {\n        const option = asyncOptionsRequest.options.find((option) => {\n            return getOptionValue(option) === value;\n        });\n\n        onSelect(value || null, option || null);\n    };\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            placeholder={placeholder}\n            options={asyncOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            isLoading={asyncOptionsRequest.requestStatus.loading}\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            renderLeftIcon={(iconMeta) => <ShipperIcon {...ShipperIconProps.getControlProps(iconMeta)} />}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default OrderReservesShipperSuggest;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LegalFormDropdown.scss';\nimport { useTranslation } from 'react-i18next';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { LegalFormT } from 'common/store/legal-forms-dict/models';\nimport {\n    selectLegalFormsDictAllIds,\n    selectLegalFormsDictById,\n    selectLegalFormsDictRequest,\n} from 'common/store/legal-forms-dict/selectors';\nimport { fetchLegalFormsDict } from 'common/store/legal-forms-dict/actions';\nimport usePrevious from 'common/utils/hooks/usePrevious';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport { CountryCodeT } from 'common/utils/api/models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype LegalFormIdT = LegalFormT['id'] | null;\ntype ValueT = LegalFormIdT | null;\ntype OptionT = LegalFormIdT | null;\n\ntype PropsT = {\n    countryCode: CountryCodeT | undefined | null;\n    onChange: (legalFormId: LegalFormIdT | null) => void;\n    value?: LegalFormIdT;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    isDisabled?: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    placeholder?: string;\n};\n\nconst LegalFormDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        onChange,\n        value,\n        countryCode,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        isDisabled,\n        hasChanges,\n        onBlur,\n        onFocus,\n        placeholder,\n    } = props;\n\n    const prevCountryCode = usePrevious<PropsT['countryCode']>(countryCode);\n\n    const { t } = useTranslation();\n\n    const allIds = useSelector(selectLegalFormsDictAllIds(countryCode || null));\n    const byId = useSelector(selectLegalFormsDictById(countryCode || null));\n    const fetchRequest = useSelector(selectLegalFormsDictRequest(countryCode || null));\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (countryCode) {\n            dispatch(fetchLegalFormsDict(countryCode));\n        }\n    }, [dispatch, prevCountryCode, countryCode]);\n\n    const renderOption = (id: ValueT): React.ReactElement | null => {\n        if (!id) {\n            return null;\n        }\n\n        const legalForm = byId[id];\n\n        return <span>{legalForm?.name || id || ''}</span>;\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option;\n\n    const handleOptionClick = (id: ValueT) => {\n        onChange(id);\n    };\n\n    return (\n        <DropdownInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            testSelector=\"legal-form\"\n            placeholder={placeholder || t('common:legal-form-selector.placeholder')}\n            options={allIds}\n            onSelect={handleOptionClick}\n            isDisabled={fetchRequest.loading || isDisabled}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            renderRightIcon={() =>\n                fetchRequest.loading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n            }\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n        />\n    );\n});\n\nexport default LegalFormDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ChartTooltip__wrap___qjgvx\",\"content\":\"ChartTooltip__content___Ool1m\",\"row\":\"ChartTooltip__row___xwX2D\",\"row__icon\":\"ChartTooltip__row__icon___Dv6hN\",\"row__text\":\"ChartTooltip__row__text___fkHZj\",\"fadeIn\":\"ChartTooltip__fadeIn___zVQAD\",\"blinking\":\"ChartTooltip__blinking___CZ5fm\"};","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './CheckboxOptionsList.scss';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport { useTranslation } from 'react-i18next';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport CloseIcon from 'common/icons/CloseIcon';\n\nconst cx = classNames.bind(styles);\n\nexport type CheckboxOptionsListPropsT<OptionT, ValueT> = {\n    selectedValues: Array<ValueT>;\n    isLoading?: boolean;\n    isDisabled?: boolean;\n    hasWarning?: boolean;\n    hasError?: boolean;\n    options: Array<OptionT>;\n    onSelect: (values: Array<ValueT>) => void;\n    renderOption: (option: OptionT) => React.ReactElement;\n    getOptionTestSelector: (option: OptionT) => string;\n    getOptionValue: (option: OptionT) => ValueT;\n    className?: string;\n    isShowSelectAllTrigger?: boolean;\n    isShowDeselectAllTrigger?: boolean;\n};\n\nconst CheckboxOptionsList = <OptionT, ValueT>(\n    props: CheckboxOptionsListPropsT<OptionT, ValueT>,\n): React.ReactElement => {\n    const {\n        selectedValues,\n        onSelect,\n        options,\n        renderOption,\n        getOptionValue,\n        getOptionTestSelector,\n        isLoading,\n        isDisabled,\n        hasWarning,\n        hasError,\n        className,\n        isShowSelectAllTrigger,\n        isShowDeselectAllTrigger,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const optionByValue = new Map<ValueT, OptionT>();\n    options.forEach((option) => {\n        const value = getOptionValue(option);\n\n        optionByValue.set(value, option);\n    });\n\n    const selectedValuesSet = new Set<ValueT>(selectedValues);\n\n    const handleChange = (value: ValueT): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        const newSelectedValuesSet = new Set(selectedValuesSet);\n        const isAlreadySelected = newSelectedValuesSet.has(value);\n        if (isAlreadySelected) {\n            newSelectedValuesSet.delete(value);\n        } else {\n            newSelectedValuesSet.add(value);\n        }\n        onSelect([...newSelectedValuesSet]);\n    };\n\n    const handleSelectAll = (): void => {\n        const values = options.map(getOptionValue);\n\n        const isSelectAll = values.length !== selectedValues?.length;\n        if (isSelectAll) {\n            onSelect(values);\n        } else {\n            onSelect([]);\n        }\n    };\n\n    const handleDeselectAll = (): void => {\n        const isNoSelect = !selectedValues?.length;\n        if (isNoSelect) {\n            const allValues = options.map(getOptionValue);\n            onSelect(allValues);\n        } else {\n            onSelect([]);\n        }\n    };\n\n    return (\n        <>\n            {(isShowSelectAllTrigger || isShowDeselectAllTrigger) && (\n                <div className={cx('links')}>\n                    {isShowSelectAllTrigger && (\n                        <div className={cx('link')} onClick={handleSelectAll}>\n                            <DoneIcon\n                                className={cx('link__icon')}\n                                size={14}\n                                fillColor={StyleGuideColorsEnum.brandDark}\n                            />\n                            <span className={cx('link__text')}>{t('common:select-all')}</span>\n                        </div>\n                    )}\n                    {isShowDeselectAllTrigger && (\n                        <div className={cx('link')} onClick={handleDeselectAll}>\n                            <CloseIcon\n                                className={cx('link__icon')}\n                                size={14}\n                                fillColor={StyleGuideColorsEnum.brandDark}\n                            />\n                            <span className={cx('link__text')}>{t('common:deselect-all')}</span>\n                        </div>\n                    )}\n                </div>\n            )}\n            <div\n                className={cs(\n                    cx('list', {\n                        'list--hasWarning': hasWarning,\n                        'list--hasError': hasError,\n                    }),\n                    className,\n                )}\n            >\n                {options.map((option, index): React.ReactElement => {\n                    const value = getOptionValue(option);\n\n                    const isSelected = selectedValuesSet.has(value);\n\n                    return (\n                        <div key={index} className={cx('option')}>\n                            <Checkbox\n                                isFullWidth\n                                checked={isSelected}\n                                className={cx('option__checkbox')}\n                                testSelector={getOptionTestSelector ? getOptionTestSelector(option) : ''}\n                                label={\n                                    <div\n                                        className={cx('option__label')}\n                                        onClick={() => {\n                                            handleChange(value);\n                                        }}\n                                    >\n                                        {renderOption(option)}\n                                    </div>\n                                }\n                                onChange={() => {\n                                    handleChange(value);\n                                }}\n                            />\n                        </div>\n                    );\n                })}\n                {isLoading && (\n                    <div className={cx('loader__container')}>\n                        <ControlLoaderWithShadow className={cx('loader')} fillColor={StyleGuideColorsEnum.light} />\n                    </div>\n                )}\n            </div>\n        </>\n    );\n};\n\nexport default React.memo(CheckboxOptionsList) as typeof CheckboxOptionsList;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './FerryDisembarkPointPicker.scss';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { formatTimeInterval } from 'common/utils/time';\nimport { useFormikContext } from 'formik';\nimport { FieldsEnum, RouteFormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { getFieldFormValue } from 'common/utils/form-values';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FerryDisembarkPointPicker: React.FC<PropsT> = React.memo((props) => {\n    const { routePointIndex } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<RouteFormValuesT>();\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const timeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n\n    return (\n        <ReadOnlyField\n            icon={\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            }\n            label={t('broker-order-route-edit.fields.ferry-disembark.label')}\n            subLabel={\n                <PillLabel className={cx('time-interval')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                    {formatTimeInterval(timeWindow?.start, timeWindow?.end)}\n                </PillLabel>\n            }\n            value={location?.address}\n        />\n    );\n});\n\nexport default FerryDisembarkPointPicker;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ExpiredPartnerDocumentCard__inner___dNP7K\",\"document-name\":\"ExpiredPartnerDocumentCard__document-name___A3E8u\",\"fadeIn\":\"ExpiredPartnerDocumentCard__fadeIn___Ow3Cx\",\"blinking\":\"ExpiredPartnerDocumentCard__blinking___ze8n3\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\nimport { DeadheadCreationContextQueryModifyChannelEventT } from './models';\n\nexport const deadheadCreationQueryModifyChannel =\n    new ViewEventChannel<DeadheadCreationContextQueryModifyChannelEventT>();\n","// extracted by mini-css-extract-plugin\nexport default {\"alert\":\"BaseShipperContractLanesLayout__alert___qCdsW\",\"fadeIn\":\"BaseShipperContractLanesLayout__fadeIn___DAm37\",\"blinking\":\"BaseShipperContractLanesLayout__blinking___r1Koh\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './SpotAssetsAssignmentFooterContent.scss';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport SpotAssetsAssignmentForm from '../../SpotAssetsAssignmentForm/SpotAssetsAssignmentForm';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    transportOrderId: TransportOrderIdT;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    onCancel: () => void;\n    assignmentRequestStatus: RequestStatusT;\n    onAssignAssets: (params: { transportOrderId: TransportOrderIdT; truckId: AssetIdT; trailerId: AssetIdT }) => void;\n    onClearAssets: (params: { transportOrderId: TransportOrderIdT }) => void;\n};\n\nconst SpotAssetsAssignmentFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const {\n        onCancel,\n        transportOrderId,\n        transportOrderDetails,\n        className,\n        assignmentRequestStatus,\n        onAssignAssets,\n        onClearAssets,\n    } = props;\n\n    if (!transportOrderDetails || !transportOrderDetails?.spotInfo?.id) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('content'), className)}>\n            <SpotAssetsAssignmentForm\n                transportOrderId={transportOrderId}\n                transportOrderDetails={transportOrderDetails}\n                onCancel={onCancel}\n                assignmentRequestStatus={assignmentRequestStatus}\n                onAssignAssets={onAssignAssets}\n                onClearAssets={onClearAssets}\n            />\n        </div>\n    );\n});\n\nexport default SpotAssetsAssignmentFooterContent;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { ApiRevokePartnerContractInfoT, RevokeContractActionEnum } from 'common/utils/api/models';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\n\nconst prepareRevokeInfo = (formValues: FormValuesT): ApiRevokePartnerContractInfoT | null => {\n    const revokeInfo: ApiRevokePartnerContractInfoT = {\n        action: formValues[FieldsEnum.action],\n    };\n\n    switch (formValues[FieldsEnum.action]) {\n        case RevokeContractActionEnum.setNewContract: {\n            revokeInfo.newContractId = formValues[FieldsEnum.nextContractId] || undefined;\n            break;\n        }\n        case RevokeContractActionEnum.setNewRate: {\n            revokeInfo.boxRateKm = parseSimpleNumber(formValues[FieldsEnum.boxesRatePerKm]);\n            revokeInfo.tiltRateKm = parseSimpleNumber(formValues[FieldsEnum.tiltsRatePerKm]);\n            revokeInfo.truckRateKm = parseSimpleNumber(formValues[FieldsEnum.trucksRatePerKm]);\n            break;\n        }\n        case RevokeContractActionEnum.keepOldRate:\n        default: {\n            // nothing\n            break;\n        }\n    }\n\n    return revokeInfo;\n};\n\nexport { prepareRevokeInfo };\n","import React from 'react';\nimport { MenuVisibilityT } from 'common/utils/hooks/useMenuVisibility';\n\ntype UiContextT = {\n    menu: MenuVisibilityT | null;\n};\n\nconst UiContext = React.createContext<UiContextT>({ menu: null });\n\nexport default UiContext;\n","import React, { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LaneDropdownInput.scss';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport { ApiContractLaneT } from 'common/utils/api/models';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport keyBy from 'lodash/keyBy';\nimport { useTranslation } from 'react-i18next';\nimport LaneDropdownInputOptionLabel from 'common/layouts/NewOrderPage/ShipmentDetailsForm/LaneDropdownInput/LaneDropdownInputOptionLabel/LaneDropdownInputOptionLabel';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiContractLaneT['tztLaneId'] | null;\ntype OptionT = ApiContractLaneT;\n\ntype PropsT = {\n    options?: Array<OptionT>;\n    isLoading?: boolean;\n\n    selectedValue: ValueT;\n    placeholder: string;\n    isDisabled?: boolean;\n    onSelect: (value: ValueT, label: string) => void;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    onReset?: () => void;\n};\n\nconst EMPTY_OPTIONS: Array<OptionT> = [];\n\nconst LaneDropdownInput: React.FC<PropsT> = React.memo((props) => {\n    const {\n        isLoading,\n\n        selectedValue,\n        placeholder,\n        isDisabled,\n        onSelect,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        hasChanges,\n        onBlur,\n        onFocus,\n        onReset,\n    } = props;\n\n    const options = props.options || EMPTY_OPTIONS;\n\n    const { t } = useTranslation();\n\n    const getOptionLabel = (option: OptionT | null | undefined): string => {\n        if (!option) {\n            return '';\n        }\n\n        return t('common:new-order-form.lane-option-template', {\n            contractName: option.contractName || '',\n            tztLaneId: option.tztLaneId || '',\n            externalLaneId: option.externalLaneId || '',\n        });\n    };\n\n    const optionsById = useMemo(() => {\n        return keyBy(options, 'id');\n    }, [options]);\n\n    const renderTrigger = (option?: OptionT, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return getOptionLabel(option);\n    };\n\n    const renderOption = (option?: OptionT, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return <LaneDropdownInputOptionLabel lane={option} />;\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    const handleSelect = (value: ValueT) => {\n        const selectedOption = optionsById[value as string];\n        const selectedOptionLabel = getOptionLabel(selectedOption);\n        onSelect(value, selectedOptionLabel);\n    };\n\n    return (\n        <DropdownInput<OptionT, ValueT>\n            className={className}\n            selectedValue={selectedValue}\n            placeholder={placeholder}\n            options={options}\n            isDisabled={isLoading || isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            renderRightIcon={() =>\n                isLoading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n            }\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasClearControl={!!onReset}\n            onReset={onReset}\n        />\n    );\n});\n\nexport default LaneDropdownInput;\n","/* eslint-disable max-len */\nimport React from 'react';\nimport { useLocation, Link as RRDLink, LinkProps as RRDLinkProps } from 'react-router-dom';\nimport { matchPath } from 'react-router';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport { useTranslation } from 'react-i18next';\n\nimport Logo from './Logo/Logo';\nimport Avatar, { AvatarSizeEnum } from 'common/components/Avatar/Avatar';\n\nimport styles from './Navigation.scss';\nimport UiContext from 'common/contexts/ui-context';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport useWindowSize from 'common/utils/hooks/useWindowSize';\nimport { getCurrentYear } from 'common/utils/time';\nimport HelpIcon from 'common/icons/HelpIcon';\nimport CompanyLogo, { CompanyLogoSizeEnum } from 'common/components/CompanyLogo/CompanyLogo';\n\nconst cx = classNames.bind(styles);\n\nconst BREAKING_POINT_WIDTH = 1470 * window.devicePixelRatio; // px\nconst TOOLTIP_DELAY = 500;\n\ntype LinkPropsT = RRDLinkProps<unknown> & {\n    testSelector?: string;\n};\n\nconst Link: React.FC<LinkPropsT> = React.memo((props) => {\n    const { testSelector, ...rest } = props;\n\n    return <RRDLink {...rest} data-test-selector={`${testSelector}_link`} />;\n});\n\ntype MenuAvatarPropsT = {\n    className?: string;\n    accountLink: string;\n    isExpanded: boolean;\n    userEmail: string;\n    userName: string;\n    companyName: string | null;\n    location: ReturnType<typeof useLocation>;\n};\n\nconst MenuAvatar: React.FC<MenuAvatarPropsT> = React.memo((props) => {\n    const { className, accountLink, isExpanded, userEmail, userName, companyName, location } = props;\n\n    const [isHovered, setHover] = React.useState<boolean>(false);\n    const handleFocus = () => {\n        if (isHovered) {\n            return;\n        }\n\n        setHover(true);\n    };\n    const handleBlur = () => {\n        if (!isHovered) {\n            return;\n        }\n\n        setHover(false);\n    };\n    const hasAccountLinkMatch = matchPath(location?.pathname, {\n        path: accountLink,\n        exact: false,\n        strict: false,\n    })?.url;\n\n    const avatarNode = (\n        <Avatar\n            className={cx('menu-avatar__icon', {\n                'menu-avatar__icon--isHovered': isHovered,\n                'menu-avatar__icon--hasLinkMatch': hasAccountLinkMatch,\n            })}\n            hash={userEmail}\n            size={AvatarSizeEnum.large}\n        />\n    );\n\n    return (\n        <Link\n            className={cs(\n                cx('menu-avatar', {\n                    'menu-avatar--isExpanded': isExpanded,\n                }),\n                className,\n            )}\n            to={accountLink}\n            testSelector=\"avatar-menu\"\n            onMouseMove={handleFocus}\n            onMouseLeave={handleBlur}\n        >\n            {isExpanded ? (\n                <>\n                    {avatarNode}\n                    <div className={cx('menu-avatar__inner')}>\n                        <div className={cx('menu-avatar__user')}>{userName}</div>\n                        {!!companyName && <div className={cx('menu-avatar__company')}>{companyName}</div>}\n                    </div>\n                </>\n            ) : (\n                <Tooltip\n                    position={TooltipPositionEnum.centerRight}\n                    theme={TooltipThemeEnum.black}\n                    delay={TOOLTIP_DELAY}\n                    tooltipNode={\n                        <div className={cx('tooltip', 'tooltip--isAvatar')}>\n                            <div className={cx('menu-avatar__inner')}>\n                                <div\n                                    className={cx(\n                                        'menu-avatar__user',\n                                        'menu-avatar__user--isInTooltip',\n                                        'tooltip__text',\n                                    )}\n                                >\n                                    {userName}\n                                </div>\n                                {!!companyName && (\n                                    <div className={cx('menu-avatar__company', 'tooltip__text')}>{companyName}</div>\n                                )}\n                            </div>\n                        </div>\n                    }\n                >\n                    {() => avatarNode}\n                </Tooltip>\n            )}\n        </Link>\n    );\n});\n\ntype MenuCompanyLogoPropsT = {\n    className?: string;\n    profileLink: string;\n    isExpanded: boolean;\n    companyName: string;\n    location: ReturnType<typeof useLocation>;\n};\n\nconst MenuCompanyLogo: React.FC<MenuCompanyLogoPropsT> = React.memo((props) => {\n    const { className, profileLink, isExpanded, companyName, location } = props;\n\n    const [isHovered, setHover] = React.useState<boolean>(false);\n    const handleFocus = () => {\n        if (isHovered) {\n            return;\n        }\n\n        setHover(true);\n    };\n    const handleBlur = () => {\n        if (!isHovered) {\n            return;\n        }\n\n        setHover(false);\n    };\n\n    const hasCompanyLinkMatch = matchPath(location?.pathname, {\n        path: profileLink,\n        exact: false,\n        strict: false,\n    })?.url;\n\n    const companyLogoNode = (\n        <CompanyLogo\n            className={cx('menu-company__icon', {\n                'menu-company__icon--isHovered': isHovered,\n                'menu-company__icon--hasLinkMatch': hasCompanyLinkMatch,\n            })}\n            size={CompanyLogoSizeEnum.large}\n        />\n    );\n\n    return (\n        <Link\n            className={cs(\n                cx('menu-company', {\n                    'menu-company--isExpanded': isExpanded,\n                }),\n                className,\n            )}\n            to={profileLink}\n            testSelector=\"company-menu\"\n            onMouseMove={handleFocus}\n            onMouseLeave={handleBlur}\n        >\n            {isExpanded ? (\n                <>\n                    {companyLogoNode}\n                    <div className={cx('menu-company__inner')}>\n                        <div className={cx('menu-company__company')}>{companyName}</div>\n                    </div>\n                </>\n            ) : (\n                <Tooltip\n                    position={TooltipPositionEnum.centerRight}\n                    theme={TooltipThemeEnum.black}\n                    delay={TOOLTIP_DELAY}\n                    tooltipNode={\n                        <div className={cx('tooltip', 'tooltip--isAvatar')}>\n                            <div className={cx('menu-company__inner')}>\n                                <div className={cx('menu-company__company', 'tooltip__text')}>{companyName}</div>\n                            </div>\n                        </div>\n                    }\n                >\n                    {() => companyLogoNode}\n                </Tooltip>\n            )}\n        </Link>\n    );\n});\n\nexport type MenuLinkT = {\n    renderIcon: (isActive: boolean) => React.ReactElement;\n    text: string;\n    to: string;\n    matchPathname: string | null;\n    excludeMatchPathname?: string | null;\n    exact?: boolean;\n    strict?: boolean;\n    testSelector: string;\n};\n\nexport enum BadgeTypeEnum {\n    info = 'info',\n}\n\nexport type BadgeT = {\n    type: BadgeTypeEnum;\n    text: string | number | null;\n};\n\ntype PropsT = {\n    className?: string;\n    userName: string;\n    userEmail: string;\n    companyId: string | null;\n    companyName: string;\n    menuLinks: Array<MenuLinkT | null>;\n    badges: Record<string, BadgeT[]>;\n    logoLink: string;\n    accountLink: string;\n    isAllowHelpButton?: boolean;\n    isShowCompanyLogo?: boolean;\n};\n\nconst Navigation: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        logoLink,\n        userName,\n        userEmail,\n        companyId,\n        companyName,\n        menuLinks,\n        accountLink,\n        badges,\n        isAllowHelpButton,\n        isShowCompanyLogo,\n    } = props;\n    const { t } = useTranslation();\n\n    const uiContext = React.useContext(UiContext);\n    const size = useWindowSize();\n\n    const [isExpanded, setExpanded] = React.useState<boolean>(() => {\n        return size.width > BREAKING_POINT_WIDTH;\n    });\n\n    React.useEffect(() => {\n        const shouldExpand = size.width > BREAKING_POINT_WIDTH;\n        setExpanded(shouldExpand);\n    }, [size.width]);\n\n    const isActiveCompactMenu = !!uiContext.menu?.isVisible;\n    React.useEffect(() => {\n        if (isActiveCompactMenu) {\n            setExpanded(true);\n        }\n    }, [isActiveCompactMenu]);\n\n    const location = useLocation();\n\n    const helpIcon = <HelpIcon />;\n    const helpContent = t('common:help');\n    const handleHelp = (): void => {\n        if (window.openZendeskWidget) {\n            window.openZendeskWidget();\n        }\n    };\n\n    let helpNode: React.ReactNode = null;\n    if (isAllowHelpButton) {\n        helpNode = isExpanded ? (\n            <span className={cx('menu-item', 'menu-item--isClickable')} onClick={handleHelp} data-test-selector=\"help\">\n                <div className={cx('menu-item__icon')}>{helpIcon}</div>\n                <div className={cx('menu-item__text')}>{helpContent}</div>\n            </span>\n        ) : (\n            <div className={cx('light-menu-item__wrap')}>\n                <Tooltip\n                    position={TooltipPositionEnum.centerRight}\n                    theme={TooltipThemeEnum.black}\n                    delay={TOOLTIP_DELAY}\n                    tooltipNode={<div className={cx('tooltip', 'tooltip--isMenuItem')}>{helpContent}</div>}\n                >\n                    {() => (\n                        <span\n                            className={cx('light-menu-item', 'light-menu-item--isClickable')}\n                            data-test-selector=\"help\"\n                            onClick={handleHelp}\n                        >\n                            {helpIcon}\n                        </span>\n                    )}\n                </Tooltip>\n            </div>\n        );\n    }\n\n    return (\n        <div\n            data-dismiss=\"navigation\"\n            className={cs(\n                cx('navigation', {\n                    'navigation--isExpanded': isExpanded,\n                }),\n                className,\n            )}\n        >\n            <div className={cx('inner')}>\n                <div className={cx('logo')}>\n                    <Link className={cx('logo__link')} to={logoLink} testSelector=\"logo\">\n                        <Logo isSmall={!isExpanded} />\n                    </Link>\n                </div>\n                <div\n                    className={cx('profile', {\n                        'profile--isExpanded': isExpanded,\n                    })}\n                >\n                    <MenuAvatar\n                        className={cx('profile-item')}\n                        accountLink={accountLink}\n                        isExpanded={isExpanded}\n                        userEmail={userEmail}\n                        userName={userName}\n                        companyName={isShowCompanyLogo ? null : companyName}\n                        location={location}\n                    />\n                    {isShowCompanyLogo && companyId && (\n                        <MenuCompanyLogo\n                            className={cx('profile-item')}\n                            // TODO remove temp experiment\n                            profileLink={`/partners/broker/${companyId}/partner/details`}\n                            isExpanded={isExpanded}\n                            companyName={companyName}\n                            location={location}\n                        />\n                    )}\n                </div>\n                <div className={cx('menu')}>\n                    {menuLinks.map((menuLink) => {\n                        if (!menuLink) {\n                            return null;\n                        }\n\n                        const {\n                            matchPathname,\n                            excludeMatchPathname,\n                            to,\n                            renderIcon,\n                            text,\n                            exact,\n                            strict,\n                            testSelector,\n                        } = menuLink;\n\n                        let isActive = false;\n                        if (matchPathname) {\n                            isActive = !!matchPath(location?.pathname, {\n                                path: matchPathname,\n                                exact,\n                                strict,\n                            });\n                        }\n                        if (isActive && excludeMatchPathname) {\n                            isActive = !matchPath(location?.pathname, {\n                                path: excludeMatchPathname,\n                                exact: false,\n                                strict: false,\n                            });\n                        }\n\n                        const fullTestSelector = `menu_${testSelector}`;\n\n                        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                        const badgesNode = (badges[to] || []).map((badge) => {\n                            const { type, text: badgeText } = badge;\n\n                            return (\n                                <span\n                                    key={type}\n                                    className={cx('count', {\n                                        [`count--${type}`]: true,\n                                    })}\n                                >\n                                    {badgeText}\n                                </span>\n                            );\n                        });\n\n                        if (!isExpanded) {\n                            return (\n                                <div className={cx('light-menu-item__wrap')} key={to}>\n                                    <Tooltip\n                                        position={TooltipPositionEnum.centerRight}\n                                        theme={TooltipThemeEnum.black}\n                                        delay={TOOLTIP_DELAY}\n                                        tooltipNode={<div className={cx('tooltip', 'tooltip--isMenuItem')}>{text}</div>}\n                                    >\n                                        {() => (\n                                            <Link\n                                                to={to}\n                                                className={cx('light-menu-item', {\n                                                    'light-menu-item--isActive': isActive,\n                                                })}\n                                                testSelector={fullTestSelector}\n                                            >\n                                                {renderIcon(isActive)}\n                                            </Link>\n                                        )}\n                                    </Tooltip>\n                                </div>\n                            );\n                        }\n\n                        return (\n                            <Link\n                                key={to}\n                                className={cx('menu-item', {\n                                    'menu-item--isActive': isActive,\n                                })}\n                                to={to}\n                                testSelector={fullTestSelector}\n                            >\n                                <div className={cx('menu-item__icon')}>{renderIcon(isActive)}</div>\n                                <div\n                                    className={cx('menu-item__text', {\n                                        'menu-item__text--isActive': isActive,\n                                    })}\n                                >\n                                    {text}\n                                </div>\n                            </Link>\n                        );\n                    })}\n                </div>\n                {helpNode}\n                {isExpanded && (\n                    <div className={cx('about')}>\n                        <div className={cx('about__inner')}>\n                            <div className={cx('about__copyright')}>\n                                {t('common:about.copyright', {\n                                    year: getCurrentYear(),\n                                })}\n                            </div>\n                            <div className={cx('about__disclaimer')}>{t('common:about.disclaimer')}</div>\n                        </div>\n                    </div>\n                )}\n            </div>\n        </div>\n    );\n});\n\nexport default Navigation;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"DeprecateTourPapersCard__content___FW5OE\",\"content__thumbnail\":\"DeprecateTourPapersCard__content__thumbnail___iFgjP\",\"placeholder\":\"DeprecateTourPapersCard__placeholder___JdNaZ\",\"thumbnail\":\"DeprecateTourPapersCard__thumbnail___Ugl4Z\",\"thumbnail__img\":\"DeprecateTourPapersCard__thumbnail__img___OnZcf\",\"thumbnail__control\":\"DeprecateTourPapersCard__thumbnail__control___hWay7\",\"loader\":\"DeprecateTourPapersCard__loader___me2aO\",\"loader__container\":\"DeprecateTourPapersCard__loader__container___jcjWZ\",\"loader__container--is-paranja\":\"DeprecateTourPapersCard__loader__container--is-paranja___hOpko\",\"fadeIn\":\"DeprecateTourPapersCard__fadeIn___uPFma\",\"blinking\":\"DeprecateTourPapersCard__blinking___FMJx3\"};","export type ApiSpotInboxRequestT = Api2.Definitions.CarrierSpotInboxDto;\nexport type ApiSpotLoadBoardRequestT = Api2.Definitions.CarrierSpotLoadBoardDto;\n\nexport type ApiBidStatusT = Api2.Definitions.BidStatus;\nexport enum BidStatusEnum {\n    new = 'NEW',\n    open = 'OPEN',\n    accepted = 'ACCEPTED',\n    rejected = 'REJECTED',\n    expired = 'EXPIRED',\n    won = 'WON',\n    lost = 'LOST',\n    missed = 'MISSED',\n    canceled = 'CANCELED',\n}\n\nexport type ApiInboxRequestsStatsT = Array<Api2.Definitions.BidStatusesDto>;\n\nexport enum SpotRequestsSortEnum {\n    expirationTime = 'deadline',\n    placedTime = 'createdDate',\n    originTime = 'originTimeSlotFrom',\n    destinationTime = 'destinationTimeSlotFrom',\n}\n\nexport type ApiSpotRequestDetailsT = Api2.Definitions.CarrierSpotFullDetails;\n\nexport type ApiSpotStopT = Api2.Definitions.SpotStop;\n\nexport type ApiSpotCarrierLaneT = SpotApi.Definitions.CarrierLaneDto;\nexport type ApiSpotCarrierLanesRequestT = SpotApiPaths.SpotApiV1CarrierLane.Get.QueryParameters;\nexport type ApiSpotCarrierLanesChangesT = Array<SpotApi.Definitions.CreateOrUpdateLaneDto>;\nexport type ApiSpotCarrierLanesTrailerVariantT = SpotApi.Definitions.CreateOrUpdateLaneDto['trailerType'];\n","import React from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport classNames from 'classnames/bind';\nimport styles from './PriceRuleOperationMultipleDropdown.scss';\nimport { useTranslation } from 'react-i18next';\nimport {\n    ApiPriceSettingsRuleOperationT,\n    PriceSettingsRuleOperationEnum,\n} from 'broker-admin/utils/api/broker-tranziit/models';\nimport DropdownMultipleInput from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\nimport { PRICE_RULE_OPERATION_I18N_MAP } from 'broker-admin/components/filter-pills/PriceRuleOperationFilterPill/PriceRuleOperationFilterPill';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = {\n    value: ApiPriceSettingsRuleOperationT;\n    label: React.ReactNode;\n};\n\ntype ValueT = OptionT['value'];\n\nexport type PropsT = {\n    className?: string;\n    values: Array<ValueT>;\n    onSelect: (values: Array<ValueT>) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder?: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n};\n\nconst PriceRuleOperationMultipleDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<OptionT> => {\n        return [\n            {\n                label: t(PRICE_RULE_OPERATION_I18N_MAP[PriceSettingsRuleOperationEnum.surcharge]),\n                value: PriceSettingsRuleOperationEnum.surcharge,\n            },\n            {\n                label: t(PRICE_RULE_OPERATION_I18N_MAP[PriceSettingsRuleOperationEnum.discount]),\n                value: PriceSettingsRuleOperationEnum.discount,\n            },\n            {\n                label: t(PRICE_RULE_OPERATION_I18N_MAP[PriceSettingsRuleOperationEnum.value]),\n                value: PriceSettingsRuleOperationEnum.value,\n            },\n        ];\n    }, [t]);\n\n    const renderTriggerContent = (options: Array<OptionT>, placeholder: string | undefined) => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options.length === 1) {\n            const option = options[0];\n            return option?.label || null;\n        }\n\n        return <DropdownMultipleInputCountLabel count={options?.length} />;\n    };\n\n    const renderOption = (option: OptionT | null | undefined): React.ReactNode => {\n        if (!option) {\n            return null;\n        }\n\n        return option?.label || '';\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.value;\n\n    return (\n        <DropdownMultipleInput<OptionT, ValueT>\n            className={className}\n            options={options}\n            selectedValues={values}\n            getOptionValue={getOptionValue}\n            placeholder={placeholder}\n            isDisabled={isDisabled}\n            onSelect={onSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderOption={renderOption}\n            renderTriggerContent={renderTriggerContent}\n            overlayPosition={overlayPosition}\n            overlayClassName={cx('overlay')}\n        />\n    );\n};\n\nexport default PriceRuleOperationMultipleDropdown;\n","import * as React from 'react';\nimport { BrokerInvoiceT } from 'broker-admin/store/invoices/models';\nimport { LinkSizeEnum, LinkThemeEnum, LinkToT } from 'common/components/Link/Link';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport TableCellLink from 'common/components/Table/cell-renderers/TableCellLink/TableCellLink';\n\ntype PropsT = {\n    invoice: BrokerInvoiceT | null;\n    getPartnerLink: (partnerType: PartnerTypeEnum, partnerId: CompanyIdT) => LinkToT;\n};\n\nconst CustomerCell: React.FC<PropsT> = React.memo((props) => {\n    const { getPartnerLink, invoice } = props;\n\n    if (!invoice?.customerId) {\n        return null;\n    }\n\n    return (\n        <TableCellLink\n            to={getPartnerLink(PartnerTypeEnum.shipper, invoice.customerId)}\n            theme={LinkThemeEnum.boldBrandDark}\n            size={LinkSizeEnum.medium}\n        >\n            {invoice.customerName || '-'}\n        </TableCellLink>\n    );\n});\n\nexport default CustomerCell;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport {\n    AvailableSubjectStatusesResponseT,\n    StateMachineEntityDescriptorT,\n    StateMachineEntityHashT,\n    StateMachineUpdateT,\n    TypedAvailableSubjectStatusesResponseT,\n} from 'common/store/state-machine/models';\n\nexport type StateMachineItemStateT<T = string> = {\n    fetchRequest: RequestStatusT;\n    availableSubjectStatuses: TypedAvailableSubjectStatusesResponseT<T> | null;\n    updateRequest: RequestStatusT;\n};\n\nexport const initialStateMachineItemState: StateMachineItemStateT = {\n    fetchRequest: requestStatus.initial,\n    availableSubjectStatuses: null,\n    updateRequest: requestStatus.initial,\n};\n\nexport type StateMachineStateT = Record<StateMachineEntityHashT, StateMachineItemStateT>;\n\nconst initialState: StateMachineStateT = {};\n\nexport const stateMachineSlice = createSlice({\n    name: 'state-machine',\n    initialState,\n    reducers: {\n        fetchStateMachineSteps: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                descriptor: StateMachineEntityDescriptorT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchStateMachineStepsBegin: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n            }>,\n        ) => {\n            const { hash } = action.payload;\n\n            const itemState = state[hash] || initialStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                fetchRequest: requestStatus.loading,\n            };\n        },\n        fetchStateMachineStepsSuccess: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n                data: AvailableSubjectStatusesResponseT | null;\n            }>,\n        ) => {\n            const { hash, data } = action.payload;\n\n            const itemState = state[hash] || initialStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                fetchRequest: requestStatus.ok,\n                availableSubjectStatuses: data,\n            };\n        },\n        fetchStateMachineStepsError: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n                error: Error;\n            }>,\n        ) => {\n            const { hash, error } = action.payload;\n\n            const itemState = state[hash] || initialStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                fetchRequest: requestStatus.setError(error),\n            };\n        },\n        updateEntityStatus: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                update: StateMachineUpdateT;\n                descriptor: StateMachineEntityDescriptorT;\n            }>,\n        ) => {\n            // nothing\n        },\n        updateEntityStatusBegin: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n            }>,\n        ) => {\n            const { hash } = action.payload;\n\n            const itemState = state[hash] || initialStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                updateRequest: requestStatus.loading,\n            };\n        },\n        updateEntityStatusSuccess: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n            }>,\n        ) => {\n            const { hash } = action.payload;\n\n            const itemState = state[hash] || initialStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                updateRequest: requestStatus.ok,\n            };\n        },\n        updateEntityStatusError: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n                error: Error;\n            }>,\n        ) => {\n            const { hash, error } = action.payload;\n\n            const itemState = state[hash] || initialStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                updateRequest: requestStatus.setError(error),\n            };\n        },\n    },\n});\n\nexport const {\n    fetchStateMachineSteps,\n    fetchStateMachineStepsBegin,\n    fetchStateMachineStepsSuccess,\n    fetchStateMachineStepsError,\n    updateEntityStatus,\n    updateEntityStatusBegin,\n    updateEntityStatusSuccess,\n    updateEntityStatusError,\n} = stateMachineSlice.actions;\n\nexport default stateMachineSlice.reducer;\n","import { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { checkIsAuthApiError } from 'common/utils/api/auth/errors/auth-api-error';\n\nconst asyncValidate = (requestStatus: RequestStatusT): AsyncFormErrorsT => {\n    const asyncErrors: AsyncFormErrorsT = {};\n\n    if (checkIsAuthApiError(requestStatus.error)) {\n        asyncErrors[FieldsEnum.password] = requestStatus.error.type;\n    }\n\n    return asyncErrors;\n};\n\nexport default asyncValidate;\n","// extracted by mini-css-extract-plugin\nexport default {\"number\":\"ExternalNumberCell__number___wNFpQ\",\"fadeIn\":\"ExternalNumberCell__fadeIn___bt4O2\",\"blinking\":\"ExternalNumberCell__blinking___xf9Ys\"};","export type QueryT = {\n    [QueryKeysEnum.fromBrokerTour]?: boolean;\n};\n\nexport enum QueryKeysEnum {\n    fromBrokerTour = 'from-broker-tour',\n}\n","import { useCallback, useLayoutEffect, useState } from 'react';\n\nexport const useIsScrollable = (dependencies: any[]): any => {\n    const [node, setNode] = useState<HTMLDivElement>();\n    const ref = useCallback((node: HTMLDivElement) => {\n        setNode(node);\n    }, []);\n\n    const [isScrollable, setIsScrollable] = useState<boolean>(false);\n\n    useLayoutEffect(() => {\n        if (!node) return;\n\n        setIsScrollable(node.scrollHeight > node.clientHeight);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [...dependencies, node]);\n\n    useLayoutEffect(() => {\n        if (!node) {\n            return (): void => {\n                // nothing\n            };\n        }\n\n        const handleWindowResize = () => {\n            setIsScrollable(node.scrollHeight > node.clientHeight);\n        };\n\n        window.addEventListener('resize', handleWindowResize);\n\n        return (): void => {\n            window.removeEventListener('resize', handleWindowResize);\n        };\n    }, [node]);\n\n    return [isScrollable, ref, node] as const;\n};\n","import { useEffect, useRef } from 'react';\n\ntype HandlerT = () => void;\n\nconst useDocumentVisibilityChange = (handler: HandlerT) => {\n    const visibilitychangeHandler = useRef<HandlerT>();\n\n    useEffect(() => {\n        visibilitychangeHandler.current = handler;\n    }, [handler]);\n\n    useEffect(() => {\n        const onVisibilityChange = (): void => {\n            if (document.visibilityState === 'visible') {\n                if (visibilitychangeHandler.current) {\n                    visibilitychangeHandler.current();\n                }\n            }\n        };\n\n        document.addEventListener('visibilitychange', onVisibilityChange);\n\n        return (): void => {\n            document.removeEventListener('visibilitychange', onVisibilityChange);\n        };\n    }, []);\n};\n\nexport default useDocumentVisibilityChange;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\n\ntype DialogT = {\n    isShow: boolean;\n    onClose: () => void;\n};\n\ntype OptionsT = {\n    shouldCloseOnError?: boolean;\n};\n\nconst useCloseModalDialogAfterRequest = (\n    requestStatus: RequestStatusT,\n    dialogs: Array<DialogT>,\n    options?: OptionsT,\n) => {\n    useOnlyChangesEffect(() => {\n        const isShow = dialogs.some((dialog) => dialog.isShow);\n        if (!isShow) {\n            return;\n        }\n\n        if (requestStatus.error && options?.shouldCloseOnError) {\n            dialogs.forEach((dialog) => {\n                dialog.onClose();\n            });\n        }\n\n        if (requestStatus.ok) {\n            dialogs.forEach((dialog) => {\n                dialog.onClose();\n            });\n        }\n    }, [requestStatus]);\n};\n\nexport default useCloseModalDialogAfterRequest;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { getZipCodeExample, hasZipCodeValidation, isValid } from 'common/utils/postal-codes';\nimport { checkMaxLength, checkMinLength, checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.companyName,\n    FieldsEnum.zipCode,\n    FieldsEnum.city,\n    FieldsEnum.street,\n    FieldsEnum.legalFormId,\n] as const;\n\nconst validateForm = (t: TFunction, values: FormValuesT): Partial<Record<FieldsEnum, string>> => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n\n        ...checkMinLength(t, [FieldsEnum.companyName], values, 2),\n        ...checkMaxLength(t, [FieldsEnum.companyName], values, 255),\n    };\n\n    const countryCode = values[FieldsEnum.countryCode];\n    const zipCode = values[FieldsEnum.zipCode];\n    if (hasZipCodeValidation(countryCode) && !isValid(countryCode, zipCode)) {\n        errors[FieldsEnum.zipCode] = t('common:form-errors.zip-code', {\n            example: getZipCodeExample(countryCode),\n        });\n    }\n\n    const isAcceptTerms = values[FieldsEnum.acceptTerms];\n    if (!isAcceptTerms) {\n        errors[FieldsEnum.acceptTerms] = t('common:form-errors.accept-terms');\n    }\n\n    return errors;\n};\n\nexport default validateForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"BrokerTourDetailsPage__wrap___jtRnR\",\"tabs-wrap\":\"BrokerTourDetailsPage__tabs-wrap___V9K1Q\",\"tab\":\"BrokerTourDetailsPage__tab___xX8pe\",\"status\":\"BrokerTourDetailsPage__status___qb5hq\",\"fadeIn\":\"BrokerTourDetailsPage__fadeIn___F9iGl\",\"blinking\":\"BrokerTourDetailsPage__blinking___yoXlm\"};","import { FieldsEnum, FormValuesT } from './constants';\n\nconst getInitialValues = (): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.shipperIds]: [],\n        [FieldsEnum.shipperNames]: [],\n\n        [FieldsEnum.dictTrailerId]: null,\n\n        [FieldsEnum.pickupAddress]: null,\n        [FieldsEnum.dropoffAddress]: null,\n\n        [FieldsEnum.pickupDates]: null,\n        [FieldsEnum.dropoffDates]: null,\n\n        [FieldsEnum.createDates]: null,\n        [FieldsEnum.createdByName]: null,\n        [FieldsEnum.createdById]: null,\n\n        [FieldsEnum.source]: null,\n        [FieldsEnum.extendedSource]: [],\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","import {\n    LEGAL_FORMS_DICT_REQUEST,\n    LEGAL_FORMS_DICT_REQUEST_BEGIN,\n    LEGAL_FORMS_DICT_REQUEST_ERROR,\n    LEGAL_FORMS_DICT_REQUEST_SUCCESS,\n    FetchLegalFormsDictActionT,\n    FetchLegalFormsDictBeginActionT,\n    FetchLegalFormsDictErrorActionT,\n    FetchLegalFormsDictSuccessActionT,\n} from './types';\nimport { LegalFormsListT } from './models';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\nexport const fetchLegalFormsDict = (countryCode: CountryCodeT): FetchLegalFormsDictActionT => ({\n    type: LEGAL_FORMS_DICT_REQUEST,\n    countryCode,\n});\n\nexport const fetchLegalFormsDictBegin = (countryCode: CountryCodeT): FetchLegalFormsDictBeginActionT => ({\n    type: LEGAL_FORMS_DICT_REQUEST_BEGIN,\n    countryCode,\n});\n\nexport const fetchLegalFormsDictSuccess = (\n    countryCode: CountryCodeT,\n    legalFormsList: LegalFormsListT,\n): FetchLegalFormsDictSuccessActionT => ({\n    type: LEGAL_FORMS_DICT_REQUEST_SUCCESS,\n    countryCode,\n    legalFormsList,\n});\n\nexport const fetchLegalFormsDictError = (countryCode: CountryCodeT, error: Error): FetchLegalFormsDictErrorActionT => ({\n    type: LEGAL_FORMS_DICT_REQUEST_ERROR,\n    countryCode,\n    error,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"PriceMatrix__inner___SgOGA\",\"matrix\":\"PriceMatrix__matrix___axeJz\",\"row\":\"PriceMatrix__row___qubhn\",\"row--isHorizontalHeader\":\"PriceMatrix__row--isHorizontalHeader___e8GFG\",\"header\":\"PriceMatrix__header___gVV3o\",\"header--isHorizontal\":\"PriceMatrix__header--isHorizontal___Wr5Ia\",\"header--isVertical\":\"PriceMatrix__header--isVertical___XipmD\",\"column\":\"PriceMatrix__column___e0LZG\",\"column--isHeader\":\"PriceMatrix__column--isHeader___L46in\",\"column--isActive\":\"PriceMatrix__column--isActive___tFCHk\",\"column--isShowTooltip\":\"PriceMatrix__column--isShowTooltip___wvvRI\",\"column--isSelected\":\"PriceMatrix__column--isSelected___THs0E\",\"column--isSelectedCell\":\"PriceMatrix__column--isSelectedCell___NRL2N\",\"tooltip\":\"PriceMatrix__tooltip___bBtAH\",\"tooltip--isTopCenter\":\"PriceMatrix__tooltip--isTopCenter___VzQAk\",\"tooltip--isTopLeft\":\"PriceMatrix__tooltip--isTopLeft___FYSuq\",\"tooltip--isTopRight\":\"PriceMatrix__tooltip--isTopRight___Xa5z3\",\"tooltip__inner\":\"PriceMatrix__tooltip__inner___U35bV\",\"tooltip__text\":\"PriceMatrix__tooltip__text___tAVAZ\",\"offer\":\"PriceMatrix__offer___KT3H0\",\"offer--clickable\":\"PriceMatrix__offer--clickable___D8AEE\",\"offer__icons\":\"PriceMatrix__offer__icons___sZK75\",\"offer__price\":\"PriceMatrix__offer__price___Kxjj8\",\"offer__price--green\":\"PriceMatrix__offer__price--green___YYYSl\",\"offer__price--secondary\":\"PriceMatrix__offer__price--secondary___fS_x1\",\"offer__price--expired\":\"PriceMatrix__offer__price--expired___onn4N\",\"cell\":\"PriceMatrix__cell___esNEG\",\"cell__spacer--2\":\"PriceMatrix__cell__spacer--2___sx5ZX\",\"cell__spacer--3\":\"PriceMatrix__cell__spacer--3___rq6vE\",\"loader\":\"PriceMatrix__loader___UguWc\",\"fadeIn\":\"PriceMatrix__fadeIn___wpQ75\",\"blinking\":\"PriceMatrix__blinking___D8QGM\"};","import { ApiRFQBrokerSourceT, RFQShipperSourceEnum } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    shipperIds = 'shipperIds',\n    shipperNames = 'shipperNames',\n\n    dictTrailerId = 'dictTrailerId',\n\n    pickupAddress = 'pickupAddress',\n    dropoffAddress = 'dropoffAddress',\n\n    pickupDates = 'pickupDates',\n    dropoffDates = 'dropoffDates',\n\n    createDates = 'createDates',\n    createdById = 'createdById',\n    createdByName = 'createdByName',\n\n    source = 'source',\n    extendedSource = 'extendedSource',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.shipperIds]: Array<ShipperIdT>;\n    [FieldsEnum.shipperNames]: Array<string>;\n\n    [FieldsEnum.dictTrailerId]: TrailerDictIdT | null;\n\n    [FieldsEnum.pickupAddress]: string | null;\n    [FieldsEnum.dropoffAddress]: string | null;\n\n    [FieldsEnum.pickupDates]: DateRangeT | null;\n    [FieldsEnum.dropoffDates]: DateRangeT | null;\n\n    [FieldsEnum.createDates]: DateRangeT | null;\n    [FieldsEnum.createdById]: DriverIdT | null;\n    [FieldsEnum.createdByName]: string | null;\n\n    [FieldsEnum.source]: RFQShipperSourceEnum | null;\n    [FieldsEnum.extendedSource]: Array<ApiRFQBrokerSourceT>;\n};\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { ManagerT } from './models';\n\nexport const FETCH_MANAGERS_REQUEST = 'broker-admin/managers/FETCH_MANAGERS_REQUEST';\nexport const FETCH_MANAGERS_REQUEST_BEGIN = 'broker-admin/managers/FETCH_MANAGERS_REQUEST_BEGIN';\nexport const FETCH_MANAGERS_REQUEST_ERROR = 'broker-admin/managers/FETCH_MANAGERS_REQUEST_ERROR';\nexport const FETCH_MANAGERS_REQUEST_SUCCESS = 'broker-admin/managers/FETCH_MANAGERS_REQUEST_SUCCESS';\n\ntype ManagerIdT = string;\n\nexport type ManagersStateT = {\n    request: RequestStatusT;\n    byId: Record<ManagerIdT, ManagerT>;\n    allIds: Array<ManagerIdT>;\n};\n\nexport type FetchManagersActionT = {\n    type: typeof FETCH_MANAGERS_REQUEST;\n};\n\nexport type FetchManagersBeginActionT = {\n    type: typeof FETCH_MANAGERS_REQUEST_BEGIN;\n};\n\nexport type FetchManagersSuccessActionT = {\n    type: typeof FETCH_MANAGERS_REQUEST_SUCCESS;\n    managers: ManagerT[];\n};\n\nexport type FetchManagersErrorActionT = {\n    type: typeof FETCH_MANAGERS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type ManagersActionT =\n    | FetchManagersActionT\n    | FetchManagersBeginActionT\n    | FetchManagersSuccessActionT\n    | FetchManagersErrorActionT;\n","import { FieldsEnum, FormValuesT, WaypointsFieldEnum } from './constants';\nimport { ApiUpdateDockingHoursQueryT } from 'common/utils/api/models';\nimport { BrokerOrderDetailsT, BrokerOrderWaypointT } from 'broker-admin/store/broker-order-details/models';\nimport moment from 'moment/moment';\n\ntype ModsT = {\n    needAppointmentWaypoints: Array<BrokerOrderWaypointT>;\n};\n\nexport const prepareQuery = (\n    formValues: FormValuesT,\n    brokerOrderDetails: BrokerOrderDetailsT,\n    mods: ModsT,\n): ApiUpdateDockingHoursQueryT | null => {\n    const { needAppointmentWaypoints } = mods;\n\n    const query: ApiUpdateDockingHoursQueryT = [];\n\n    const waypointsFormValues = formValues[FieldsEnum.waypoints] || [];\n    waypointsFormValues.forEach((waypointFormValues, index) => {\n        const selectedTimeWindows = waypointFormValues[WaypointsFieldEnum.timeWindow];\n        if (!selectedTimeWindows) {\n            return;\n        }\n\n        const [formHoursFrom, formHoursTo] = selectedTimeWindows;\n\n        const needAppointmentWaypoint = needAppointmentWaypoints[index];\n        const { id, originalDateTimeFrom, correctedDateTimeFrom } = needAppointmentWaypoint;\n\n        const start = moment.parseZone(correctedDateTimeFrom || originalDateTimeFrom).startOf('day');\n\n        query.push({\n            from: moment(start).add(formHoursFrom, 'milliseconds').format(),\n            to: moment(start).add(formHoursTo, 'milliseconds').format(),\n            id,\n        });\n    });\n\n    return query;\n};\n","import { useEffect, useRef } from 'react';\n\nfunction usePrevious<ValueT>(value: ValueT) {\n    const ref = useRef<ValueT | undefined | null>(value);\n\n    // Store current value in ref\n    useEffect(() => {\n        ref.current = value;\n    }, [value]); // Only re-run if value changes\n\n    // Return previous value (happens before update in useEffect above)\n    return ref.current;\n}\n\nexport default usePrevious;\n","import React from 'react';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames/bind';\nimport styles from './StickyFooter.scss';\nimport ContentRootContext from 'common/layouts/LeftMenuLayout/contexts/content-root-context';\nimport ContentLimiter from 'common/layouts/LeftMenuLayout/ContentLimiter/ContentLimiter';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    children: React.ReactNode;\n};\n\nconst StickyFooter: React.FC<PropsT> = React.memo((props) => {\n    const { children } = props;\n\n    const contentRootNode = React.useContext(ContentRootContext);\n    if (!contentRootNode) {\n        return null;\n    }\n\n    return createPortal(\n        <div className={cx('footer')}>\n            <ContentLimiter>\n                <ContentMargins>\n                    <div className={cx('container')}>\n                        <div className={cx('content')}>{children}</div>\n                    </div>\n                </ContentMargins>\n            </ContentLimiter>\n        </div>,\n        contentRootNode,\n    );\n});\n\nexport default StickyFooter;\n","import { LangEnum } from 'common/locales/i18n';\nimport { AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\n\nexport enum FieldsEnum {\n    firstName = 'firstName',\n    lastName = 'lastName',\n    phoneNumber = 'phoneNumber',\n    currentPassword = 'currentPassword',\n    newPassword = 'newPassword',\n    language = 'language',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.firstName]: string;\n    [FieldsEnum.lastName]: string;\n    [FieldsEnum.phoneNumber]: string;\n    [FieldsEnum.currentPassword]: string;\n    [FieldsEnum.newPassword]: string;\n    [FieldsEnum.language]: LangEnum | null;\n};\n\nexport type FormErrorsT = Partial<Record<keyof FormValuesT, string>>;\n\nexport type AsyncFormErrorsT = Partial<{\n    [FieldsEnum.currentPassword]:\n        | AuthErrorTypeEnum.wrongPassword\n        | AuthErrorTypeEnum.failUpdatePassword\n        | AuthErrorTypeEnum.failReauthenticateWithCredential;\n}>;\n","import * as React from 'react';\nimport { fetchRoutesPlainGeometry, resetRouteGeometry } from 'common/store/routing-geometry/slice';\nimport { useDispatch } from 'react-redux';\n\nexport const useRouteGeometry = (polylineIds: Array<PolylineIdT | null>) => {\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(\n            fetchRoutesPlainGeometry({\n                polylineIds,\n            }),\n        );\n\n        return () => {\n            dispatch(\n                resetRouteGeometry({\n                    polylineIds,\n                }),\n            );\n        };\n    }, [dispatch, polylineIds]);\n};\n","import keyBy from 'lodash/keyBy';\nimport requestStatus from 'common/utils/request-status';\nimport { PagedEntityT, PageResponseT, PageStateT, PaginationStateT } from './models';\nimport { checkIsSameQuery } from './utils';\nimport { isNonNil } from 'common/utils';\nimport omit from 'lodash/omit';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nconst getPages = (prevPages: PageStateT[], pageNumber: number): PageStateT[] => {\n    const pages = [];\n\n    const count = Math.max(pageNumber + 1, prevPages.length);\n    // eslint-disable-next-line no-plusplus\n    for (let index = 0; index < count; index++) {\n        if (prevPages[index]) {\n            pages[index] = prevPages[index];\n        } else {\n            pages[index] = {\n                requestStatus: requestStatus.initial,\n                ids: [],\n            };\n        }\n    }\n\n    return pages;\n};\n\nconst followingPageSuccessReducer = <E extends PagedEntityT, Q>(\n    prevPaginationState: PaginationStateT<E, Q>,\n    pageNumber: number,\n    query: Q,\n    pageResponse: PageResponseT<E>,\n): PaginationStateT<E, Q> => {\n    const { content, totalPages, totalElements } = pageResponse;\n\n    const entities = content || [];\n\n    const ids = entities.map((entity) => entity.id).filter(isNonNil);\n\n    const pages = getPages(prevPaginationState.pages, Math.max((totalPages || 0) - 1, 0));\n\n    const byId = keyBy(entities, 'id');\n\n    const newById: typeof prevPaginationState.byId = {};\n    ids.forEach((id) => {\n        if (!isEqual(byId[id], prevPaginationState.byId[id])) {\n            newById[id] = byId[id];\n        }\n    });\n    const hasDetailChanges = !isEmpty(newById);\n\n    const prevIds = prevPaginationState.pages[pageNumber]?.ids;\n    const hasIdsChanges = !isEqual(prevIds, ids);\n\n    pages.splice(pageNumber, 1, {\n        ...prevPaginationState.pages[pageNumber],\n        requestStatus: requestStatus.ok,\n        ids: hasIdsChanges || hasDetailChanges ? ids : prevIds,\n    });\n\n    return {\n        query,\n        total: {\n            pageCount: totalPages || 0,\n            elementCount: totalElements || 0,\n        },\n        pages,\n        byId: hasDetailChanges\n            ? {\n                  ...prevPaginationState.byId,\n                  ...newById,\n              }\n            : prevPaginationState.byId,\n    };\n};\n\nconst pageSuccessReducer = <T extends PagedEntityT, Q>(\n    prevPaginationState: PaginationStateT<T, Q>,\n    pageNumber: number,\n    query: Q,\n    pageResponse: PageResponseT<T> | null,\n): PaginationStateT<T, Q> => {\n    if (!pageResponse) {\n        return prevPaginationState;\n    }\n\n    if (!checkIsSameQuery(query, prevPaginationState.query)) {\n        return prevPaginationState;\n    }\n\n    return followingPageSuccessReducer<T, Q>(prevPaginationState, pageNumber, query, pageResponse);\n};\n\nconst pageErrorReducer = <T extends PagedEntityT, Q>(\n    prevPaginationState: PaginationStateT<T, Q>,\n    pageNumber: number,\n    query: Q,\n    error: Error,\n): PaginationStateT<T, Q> => {\n    if (!checkIsSameQuery(query, prevPaginationState.query)) {\n        return prevPaginationState;\n    }\n\n    const pages = getPages(prevPaginationState.pages, pageNumber);\n\n    pages.splice(pageNumber, 1, {\n        ...pages[pageNumber],\n        requestStatus: requestStatus.setError(error),\n    });\n\n    return {\n        ...prevPaginationState,\n        pages,\n    };\n};\n\nconst pageBeginReducer = <E extends PagedEntityT, Q>(\n    prevPaginationState: PaginationStateT<E, Q>,\n    pageNumber: number,\n    query: Q,\n): PaginationStateT<E, Q> => {\n    const pages = getPages(prevPaginationState.pages, pageNumber);\n\n    pages.splice(pageNumber, 1, {\n        ...pages[pageNumber],\n        requestStatus: requestStatus.loading,\n    });\n\n    return {\n        ...prevPaginationState,\n        query,\n        pages,\n    };\n};\n\nconst resetPagesCacheReducer = <E extends PagedEntityT, Q>(\n    initialPaginationState: PaginationStateT<E, Q>,\n    prevPaginationState: PaginationStateT<E, Q>,\n    mutationListOptions: MutationListOptionsT,\n): PaginationStateT<E, Q> => {\n    const initialPages = [];\n\n    const { savingPageNumber } = mutationListOptions;\n\n    if (typeof savingPageNumber === 'number') {\n        initialPages[savingPageNumber] = prevPaginationState.pages[savingPageNumber];\n    }\n\n    return {\n        ...omit(prevPaginationState, ['total', 'pages', 'byId', 'query']),\n        total: initialPaginationState.total,\n        pages: initialPages,\n        byId: prevPaginationState.byId,\n        query: prevPaginationState.query,\n    };\n};\n\nexport { pageBeginReducer, pageSuccessReducer, pageErrorReducer, resetPagesCacheReducer };\n","import moment from 'moment';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { ApiContactFormalEnum, ContactPositionsEnum, CountryCodeT } from 'common/utils/api/models';\nimport { CompanyContactDetailsT } from 'common/store/members/models';\nimport { PHONE_NUMBER_PREFIX, SocialMediaEnum } from 'common/constants';\n\nconst DEFAULT_VALUES: FormValuesT = {\n    [FieldsEnum.id]: null,\n    [FieldsEnum.formal]: ApiContactFormalEnum.mr,\n    [FieldsEnum.firstName]: '',\n    [FieldsEnum.lastName]: '',\n\n    [FieldsEnum.position]: ContactPositionsEnum.operator,\n    [FieldsEnum.isDefault]: false,\n\n    [FieldsEnum.desktopPhone]: PHONE_NUMBER_PREFIX,\n    [FieldsEnum.mobilePhone]: PHONE_NUMBER_PREFIX,\n    [FieldsEnum.faxNumber]: '',\n    [FieldsEnum.email]: '',\n\n    [FieldsEnum.webpageLink]: '',\n\n    [FieldsEnum.birthday]: null,\n    [FieldsEnum.countryCode]: null,\n    [FieldsEnum.language]: null,\n};\n\nconst getInitialValues = (memberDetails?: CompanyContactDetailsT | null): FormValuesT => {\n    const values = { ...DEFAULT_VALUES };\n\n    if (memberDetails?.id) {\n        values[FieldsEnum.id] = memberDetails.id;\n    }\n\n    if (memberDetails?.formal) {\n        values[FieldsEnum.formal] = memberDetails.formal as ApiContactFormalEnum;\n    }\n\n    if (memberDetails?.name) {\n        values[FieldsEnum.firstName] = memberDetails.name;\n    }\n\n    if (memberDetails?.surname) {\n        values[FieldsEnum.lastName] = memberDetails.surname;\n    }\n\n    if (memberDetails?.position) {\n        values[FieldsEnum.position] = memberDetails.position as ContactPositionsEnum;\n    }\n\n    if (memberDetails?.main) {\n        values[FieldsEnum.isDefault] = memberDetails.main;\n    }\n\n    if (memberDetails?.deskPhone) {\n        values[FieldsEnum.desktopPhone] = memberDetails.deskPhone;\n    }\n\n    if (memberDetails?.mobilePhone) {\n        values[FieldsEnum.mobilePhone] = memberDetails.mobilePhone;\n    }\n\n    if (memberDetails?.fax) {\n        values[FieldsEnum.faxNumber] = memberDetails.fax;\n    }\n\n    if (memberDetails?.email) {\n        values[FieldsEnum.email] = memberDetails.email;\n    }\n\n    memberDetails?.medias.forEach((media) => {\n        const { login, type } = media;\n\n        values[type as SocialMediaEnum] = login;\n    });\n\n    if (memberDetails?.birthday) {\n        values[FieldsEnum.birthday] = moment(memberDetails.birthday, 'YYYY-MM-DD').toDate();\n    }\n\n    if (memberDetails?.residence) {\n        values[FieldsEnum.countryCode] = (memberDetails.residence as CountryCodeT) || null;\n    }\n\n    if (memberDetails?.language) {\n        values[FieldsEnum.language] = memberDetails.language;\n    }\n\n    return values;\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"PriceRuleImpactPill__wrap___MrBfk\",\"type\":\"PriceRuleImpactPill__type___lKpGZ\",\"rule\":\"PriceRuleImpactPill__rule___ECGf5\",\"fadeIn\":\"PriceRuleImpactPill__fadeIn___QFjar\",\"blinking\":\"PriceRuleImpactPill__blinking___AWg5r\"};","export enum RangeSelectorZoneThemeEnum {\n    green = 'green',\n    darkGreen = 'dark-green',\n    orange = 'orange',\n    light = 'light',\n    charcoal = 'charcoal',\n}\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport AuthLayout from '../AuthLayout/AuthLayout';\n\nimport styles from './ConfirmEmailPage.scss';\n\nimport { QueryKeysEnum } from '../../constants';\nimport { selectEmailVerificationRequestStatus } from 'common/store/auth/selectors';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport history from 'common/utils/history';\nimport { emailVerification } from 'common/store/auth/actions';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport { logWarning } from 'common/utils/logger';\nimport RedirectSignedUser from 'common/components/RedirectSignedUser/RedirectSignedUser';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { authApi } from 'common/utils/api/auth/factory';\n\nconst cx = classNames.bind(styles);\n\ntype QueryT = {\n    [QueryKeysEnum.oobCode]: string;\n    continueUrl: string;\n    [QueryKeysEnum.returnUrl]: string;\n};\n\ntype PropsT = {};\n\nconst ConfirmEmailPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const requestStatus = useSelector(selectEmailVerificationRequestStatus);\n    const query = useQuery<QueryT>();\n\n    React.useEffect(() => {\n        const oobCode = query[QueryKeysEnum.oobCode];\n        if (!oobCode) {\n            logWarning('empty oobCode');\n            return;\n        }\n\n        dispatch(emailVerification(oobCode));\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [query, t]);\n\n    if (requestStatus.error) {\n        return (\n            <AuthLayout title={t('common:email-verification.error.title')} testSelector=\"confirm-email-page\">\n                <div className={cx('content')}>{t('common:email-verification.error.text')}</div>\n                <br />\n                <br />\n                <div className={cx('error')}>{requestStatus.error?.message}</div>\n            </AuthLayout>\n        );\n    }\n\n    if (requestStatus.ok) {\n        return (\n            <AuthLayout title={t('common:email-verification.success.title')} testSelector=\"confirm-email-page\">\n                <div className={cx('content')}>\n                    <div>{t('common:email-verification.success.text')}</div>\n                    <br />\n                    <Button\n                        theme={ButtonThemeEnum.primary}\n                        onClick={() => {\n                            const continueLocation = query.continueUrl\n                                ? {\n                                      pathname: query.continueUrl,\n                                  }\n                                : authApi.createSignInUrl();\n\n                            history.push(continueLocation);\n                        }}\n                    >\n                        {t('common:email-verification.success.action')}\n                    </Button>\n                </div>\n            </AuthLayout>\n        );\n    }\n\n    return (\n        <>\n            <RedirectSignedUser />\n            <AuthLayout testSelector=\"confirm-email-page\">\n                <PageTitle title={t('common:page-titles.confirm-email')} />\n                <div className={cx('content')}>{t('common:email-verification.loading')}</div>\n            </AuthLayout>\n        </>\n    );\n});\n\nexport default ConfirmEmailPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"RunningOutOfTimeAssignDriversCard__wrap___krpWb\",\"fadeIn\":\"RunningOutOfTimeAssignDriversCard__fadeIn___mwKco\",\"blinking\":\"RunningOutOfTimeAssignDriversCard__blinking___v2maB\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    ASSIGN,\n    AssignActionT,\n    FIND_TRAILER_REQUEST,\n    FIND_TRUCK_REQUEST,\n    FindTrailerActionT,\n    FindTruckActionT,\n    UNASSIGN,\n    UnAssignActionT,\n} from './types';\nimport {\n    assignBegin,\n    assignError,\n    assignSuccess,\n    findTrailerBegin,\n    findTrailerError,\n    findTrailerSuccess,\n    findTruckBegin,\n    findTruckError,\n    findTruckSuccess,\n} from './actions';\nimport { selectAssignmentRequestStatus, selectTrailerSuggestQuery, selectTruckSuggestQuery } from './selectors';\nimport isEqual from 'lodash/isEqual';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { transportOrdersRefreshChannel } from 'common/store/transport-orders/channels';\nimport { transportOrderRefreshChannel } from 'common/store/transport-order-details/channels';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\n\nfunction* findTruckSaga(action: FindTruckActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    const prevQuery: ReturnType<typeof selectTruckSuggestQuery> = yield select(selectTruckSuggestQuery);\n    const isSameQuery = isEqual(query, prevQuery);\n    if (isSameQuery) {\n        return;\n    }\n\n    yield put(findTruckBegin(query));\n\n    const [error, apiTrucksSuggestItems]: ReturnApiT<typeof carrierTranziitApi.findTrucksForTourByPlateNumber> =\n        yield carrierTranziitApi.findTrucksForTourByPlateNumber(query.transportOrderId, {\n            plateNumber: query.plateNumber,\n        });\n\n    if (error) {\n        yield put(findTruckError(query, error));\n        return;\n    }\n\n    const limitedTrucksSuggestItems = (apiTrucksSuggestItems || []).slice(0, 10);\n\n    yield put(findTruckSuccess(query, limitedTrucksSuggestItems));\n}\n\nfunction* findTrailerSaga(action: FindTrailerActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    const prevQuery: ReturnType<typeof selectTrailerSuggestQuery> = yield select(selectTrailerSuggestQuery);\n    const isSameQuery = isEqual(query, prevQuery);\n    if (isSameQuery) {\n        return;\n    }\n\n    yield put(findTrailerBegin(query));\n\n    const [error, apiTrailersSuggestItems]: ReturnApiT<typeof carrierTranziitApi.findTrailersForTourByPlateNumber> =\n        yield carrierTranziitApi.findTrailersForTourByPlateNumber(query.transportOrderId, {\n            plateNumber: query.plateNumber,\n        });\n\n    if (error) {\n        yield put(findTrailerError(query, error));\n        return;\n    }\n\n    const limitedTrailersSuggestItems = (apiTrailersSuggestItems || []).slice(0, 10);\n\n    yield put(findTrailerSuccess(query, limitedTrailersSuggestItems));\n}\n\nfunction* assignSaga(action: AssignActionT): WrapGeneratorT<void> {\n    const { transportOrderId, truckId, trailerId, prohibitedCountries } = action;\n\n    const requestStatus: ReturnType<typeof selectAssignmentRequestStatus> = yield select(selectAssignmentRequestStatus);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(assignBegin());\n\n    const [error]: ReturnApiT<typeof carrierTranziitApi.assignVehiclesToTransportOrder> =\n        yield carrierTranziitApi.assignVehiclesToTransportOrder(transportOrderId, {\n            truckId,\n            trailerId,\n            prohibitedCountries,\n        });\n    if (error) {\n        yield put(assignError(error));\n    } else {\n        yield put(assignSuccess());\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.spotAssetsAssigned,\n                    data: {},\n                }),\n            ),\n        );\n    }\n\n    transportOrderRefreshChannel.emit({});\n    transportOrdersRefreshChannel.emit({});\n    stateMachineRefreshChannel.emit({});\n}\n\nfunction* unassignSaga(action: UnAssignActionT): WrapGeneratorT<void> {\n    const { transportOrderId } = action;\n\n    const requestStatus: ReturnType<typeof selectAssignmentRequestStatus> = yield select(selectAssignmentRequestStatus);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(assignBegin());\n\n    const [error]: ReturnApiT<typeof carrierTranziitApi.unAssignVehicles> = yield carrierTranziitApi.unAssignVehicles(\n        transportOrderId,\n    );\n    if (error) {\n        yield put(assignError(error));\n    } else {\n        yield put(assignSuccess());\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.spotAssetsUnassigned,\n                    data: {},\n                }),\n            ),\n        );\n    }\n\n    transportOrderRefreshChannel.emit({});\n    transportOrdersRefreshChannel.emit({});\n    stateMachineRefreshChannel.emit({});\n}\n\nfunction* spotAssetsAssigmentSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FIND_TRUCK_REQUEST, findTruckSaga);\n    yield takeEvery(FIND_TRAILER_REQUEST, findTrailerSaga);\n    yield takeEvery(ASSIGN, assignSaga);\n    yield takeEvery(UNASSIGN, unassignSaga);\n}\n\nexport default spotAssetsAssigmentSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"name\":\"NameCell__name___zU6re\",\"group\":\"NameCell__group___jYcTG\",\"fadeIn\":\"NameCell__fadeIn___Q8fwi\",\"blinking\":\"NameCell__blinking___gnJET\"};","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"PartnerDetailsForm__widget___hEGN0\",\"widget__inner\":\"PartnerDetailsForm__widget__inner___NZFUn\",\"widget-group\":\"PartnerDetailsForm__widget-group___CJVne\",\"widget-group__widget\":\"PartnerDetailsForm__widget-group__widget___c2ie5\",\"wrap\":\"PartnerDetailsForm__wrap___W39zm\",\"field__label\":\"PartnerDetailsForm__field__label___J1kmK\",\"field--name\":\"PartnerDetailsForm__field--name___BrL1z\",\"field--teams\":\"PartnerDetailsForm__field--teams___tV3rR\",\"field--legal-form\":\"PartnerDetailsForm__field--legal-form___M4wzA\",\"field--country\":\"PartnerDetailsForm__field--country___CGkOp\",\"field--zip\":\"PartnerDetailsForm__field--zip___QifJc\",\"field--city\":\"PartnerDetailsForm__field--city___VfYiC\",\"field--basic-segment-placeholder\":\"PartnerDetailsForm__field--basic-segment-placeholder___KLsaQ\",\"fadeIn\":\"PartnerDetailsForm__fadeIn___grtAc\",\"blinking\":\"PartnerDetailsForm__blinking___MURu3\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_USER_REQUEST_SUCCESS } from 'common/store/user/types';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { FETCH_SETTINGS, FetchSettingsActionT } from './types';\nimport { fetchSettingsBegin, fetchSettingsError, fetchSettingsSuccess } from './actions';\nimport { selectSettingsStatus } from './selectors';\nimport { SettingsT } from './models';\nimport checkNeedRequest from 'common/utils/check-need-request';\n\nfunction* fetchSettingsSaga(action: FetchSettingsActionT): WrapGeneratorT<void> {\n    const { options } = action;\n\n    const requestStatus: ReturnType<typeof selectSettingsStatus> = yield select(selectSettingsStatus);\n    if (!checkNeedRequest(requestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchSettingsBegin());\n\n    const [error, apiSettings]: ReturnApiT<typeof commonTranziitApi.fetchSettings> =\n        yield commonTranziitApi.fetchSettings();\n\n    if (error) {\n        yield put(fetchSettingsError(error));\n        return;\n    }\n\n    const settings = (apiSettings || []).reduce<SettingsT>((acc, apiSetting) => {\n        if (apiSetting.name) {\n            acc[apiSetting.name] = apiSetting;\n        }\n\n        return acc;\n    }, {});\n\n    yield put(fetchSettingsSuccess(settings));\n}\n\nfunction* settingsSaga(): WrapGeneratorT<void> {\n    yield takeEvery([FETCH_USER_REQUEST_SUCCESS, FETCH_SETTINGS], fetchSettingsSaga);\n}\n\nexport default settingsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"SpotBidStatusPill__fadeIn___nIIV1\",\"blinking\":\"SpotBidStatusPill__blinking___ZuiOn\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ExpiredPartnerCarrierContractCard__inner___NgRyc\",\"fadeIn\":\"ExpiredPartnerCarrierContractCard__fadeIn___zP8UC\",\"blinking\":\"ExpiredPartnerCarrierContractCard__blinking___x5slf\"};","import { CreateReserveQueryT, ReserveT } from 'common/store/order-creation/models';\n\nexport const getReserveQueryCorrection = (\n    reserveQuery: CreateReserveQueryT | null,\n    reserve: ReserveT | null,\n): CreateReserveQueryT | null => {\n    if (!reserve || !reserveQuery) {\n        return null;\n    }\n\n    const hasCorrection = reserve?.points?.some((point) => {\n        return !!point?.replacedCoordinate;\n    });\n    if (!hasCorrection) {\n        return null;\n    }\n\n    const changeQuery: CreateReserveQueryT = {\n        ...reserveQuery,\n    };\n\n    changeQuery.addresses = reserve.points.map((point) => {\n        return {\n            addressAlias: point.addressAlias || null,\n            type: point.type,\n            address: {\n                ...point.address,\n                latitude: point?.replacedCoordinate?.latitude || point?.address?.latitude,\n                longitude: point?.replacedCoordinate?.longitude || point?.address?.longitude,\n            },\n        };\n    });\n\n    return changeQuery;\n};\n","import React, { useCallback } from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { useTranslation } from 'react-i18next';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { ApiPartnerT } from 'common/utils/api/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport DropdownSearchMultipleInput from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport classNames from 'classnames/bind';\nimport styles from './CarriersSuggest.scss';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport CarrierIcon, { CarrierIconProps } from 'common/icons/CarrierIcon';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiPartnerT['id'] | null;\n\nexport type OptionT = {\n    id: ApiPartnerT['id'];\n    name: ApiPartnerT['name'];\n    number: ApiPartnerT['number'];\n    countryCode: ApiPartnerT['countryCode'] | null;\n};\n\nexport type PropsT = {\n    className?: string;\n    initialOptions: Array<OptionT>;\n    initialRequestStatus: RequestStatusT;\n    onSelect: (values: Array<ValueT>, options: Array<OptionT>) => void;\n    values: Array<ValueT>;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n};\n\nconst CarriersSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialOptions,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        initialRequestStatus,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback((query) => {\n        return brokerTranziitApi.findCarriersByName(query).then((response): AsyncRequestFactoryResultT<OptionT> => {\n            const [error, result] = response;\n            if (error) {\n                return [error, null];\n            }\n\n            const items: Array<OptionT> =\n                result?.content?.map((item) => {\n                    return {\n                        id: item.id,\n                        name: item.name,\n                        number: item.number,\n                        countryCode: item.countryCode,\n                    };\n                }) || [];\n\n            return [null, items];\n        });\n    }, []);\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions,\n        requestFactory,\n        settings: {},\n    });\n\n    const handleSelect = (values: Array<ValueT>) => {\n        const valueSet = new Set(values);\n\n        const options = asyncOptionsRequest.options.filter((option) => {\n            const optionValue = getOptionValue(option);\n            return valueSet.has(optionValue);\n        });\n\n        onSelect(values, options);\n    };\n\n    const handleReset = () => {\n        onSelect([], []);\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                className={cx('option')}\n                withoutPaddings\n                icon={option.countryCode ? <FlagIcon countryCode={option.countryCode} /> : null}\n                label={option.name || ''}\n                description={option.number || ''}\n            />\n        );\n    };\n\n    const renderTrigger = (options: Array<OptionT> | undefined, placeholder?: string): React.ReactNode => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options?.length === 1) {\n            const firstOption = options?.[0] || null;\n\n            return (\n                <DropdownControlOptionLabel\n                    withoutPaddings\n                    icon={firstOption?.countryCode ? <FlagIcon countryCode={firstOption.countryCode} /> : null}\n                    label={firstOption?.name || ''}\n                    description={firstOption?.number || ''}\n                />\n            );\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                label={t('common:common-components.carriers-suggest.selected')}\n                description={\n                    <PillLabel isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                        {options?.length || 0}\n                    </PillLabel>\n                }\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values}\n            placeholder={placeholder}\n            options={asyncOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            renderLeftIcon={(iconMeta) => <CarrierIcon {...CarrierIconProps.getControlProps(iconMeta)} />}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition}\n            isLoading={asyncOptionsRequest.requestStatus.loading || initialRequestStatus.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default CarriersSuggest;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst HourglassHalfIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor, size, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <g>\n                    <g>\n                        <g>\n                            <g>\n                                <g>\n                                    <g>\n                                        <path\n                                            d=\"M0 0H18V18H0z\"\n                                            transform=\"translate(-450.000000, -405.000000) translate(80.000000, 0.000000) translate(0.000000, 70.000000) translate(30.000000, 300.000000) translate(340.000000, 35.000000) translate(1.000000, 1.000000)\"\n                                        />\n                                        <g>\n                                            <path\n                                                fill={fillColor}\n                                                d=\"M6.3 10.931v1H.9v-1h5.4zm0-9.031v1.331l-2.7 2.7-2.7-2.7V1.9h5.4z\"\n                                                transform=\"translate(-450.000000, -405.000000) translate(80.000000, 0.000000) translate(0.000000, 70.000000) translate(30.000000, 300.000000) translate(340.000000, 35.000000) translate(1.000000, 1.000000) translate(5.400000, 2.700000)\"\n                                            />\n                                            <path\n                                                fill={strokeColor}\n                                                d=\"M7.2 0H0v3.6l2.7 2.7L0 9v3.6h7.2V9L4.5 6.3l2.7-2.7V0zm-.9 9.369V11.7H.9V9.369l2.7-2.7 2.7 2.7zm0-6.138l-2.7 2.7-2.7-2.7V.9h5.4v2.331z\"\n                                                transform=\"translate(-450.000000, -405.000000) translate(80.000000, 0.000000) translate(0.000000, 70.000000) translate(30.000000, 300.000000) translate(340.000000, 35.000000) translate(1.000000, 1.000000) translate(5.400000, 2.700000)\"\n                                            />\n                                        </g>\n                                    </g>\n                                </g>\n                            </g>\n                        </g>\n                    </g>\n                </g>\n            </g>\n        </svg>\n    );\n};\n\nHourglassHalfIcon.displayName = 'HourglassHalfIcon';\n\nconst storyProps: PropsT = {\n    size: 20,\n    fillColor: StyleGuideColorsEnum.orange,\n    strokeColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\n\nexport default HourglassHalfIcon;\n\nexport const HourglassHalfIconProps = {\n    getCreateOrder: (): PropsT => {\n        return {\n            size: 20,\n            fillColor: StyleGuideColorsEnum.orange,\n            strokeColor: StyleGuideColorsEnum.charcoal,\n        };\n    },\n};\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { checkRequestBegin, checkRequestError, checkRequestSuccess, reset } from './actions';\n\nimport { CHECK_GPS_STATUS_REQUEST, CheckGPSStatusRequestActionT } from './types';\nimport { selectGPSCheckQuery, selectGPSCheckStatus } from 'common/store/gps-tracking-status/selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport { DEFAULT_CARRIER_COMPANY_ID, AssetTypeEnum } from 'common/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport { GPSStatusT } from 'common/store/gps-tracking-status/models';\n\nfunction* checkGPSStatusSaga(action: CheckGPSStatusRequestActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    if (!query) {\n        yield put(reset());\n        return;\n    }\n\n    const prevQuery: ReturnType<typeof selectGPSCheckQuery> = yield select(selectGPSCheckQuery);\n    const isSameRequest = checkIsSameQuery(prevQuery, query);\n    const requestStatus: ReturnType<typeof selectGPSCheckStatus> = yield select(selectGPSCheckStatus);\n    const isNeedRequest = checkNeedRequest(requestStatus);\n\n    if (isSameRequest && !isNeedRequest) {\n        return;\n    }\n\n    if (!query?.plateNumber) {\n        return;\n    }\n\n    yield put(checkRequestBegin(query));\n\n    let error: Error | null = null;\n    let data: GPSStatusT | null = null;\n\n    if (query?.companyId === DEFAULT_CARRIER_COMPANY_ID && query?.assetType === AssetTypeEnum.trailer) {\n        const result: ReturnApiT<typeof carrierTranziitApi.checkTrailerGPSStatus> =\n            yield carrierTranziitApi.checkTrailerGPSStatus(query.plateNumber);\n\n        if (result?.[1]) {\n            data = result?.[1];\n        } else {\n            error = result?.[0] || new Error(`gps status response: ${result?.[1]}`);\n        }\n    }\n\n    if (query?.companyId === DEFAULT_CARRIER_COMPANY_ID && query?.assetType === AssetTypeEnum.truck) {\n        const result: ReturnApiT<typeof carrierTranziitApi.checkTruckGPSStatus> =\n            yield carrierTranziitApi.checkTruckGPSStatus(query.plateNumber);\n\n        if (result?.[1]) {\n            data = result?.[1];\n        } else {\n            error = result?.[0] || new Error(`gps status response: ${result?.[1]}`);\n        }\n    }\n\n    if (query?.companyId !== DEFAULT_CARRIER_COMPANY_ID && query?.assetType === AssetTypeEnum.trailer) {\n        const result: ReturnApiT<typeof brokerTranziitApi.checkPartnerTrailerGPSStatus> =\n            yield brokerTranziitApi.checkPartnerTrailerGPSStatus(query.plateNumber);\n\n        if (result?.[1]) {\n            data = result?.[1];\n        } else {\n            error = result?.[0] || new Error(`gps status response: ${result?.[1]}`);\n        }\n    }\n\n    if (query?.companyId !== DEFAULT_CARRIER_COMPANY_ID && query?.assetType === AssetTypeEnum.truck) {\n        const result: ReturnApiT<typeof brokerTranziitApi.checkPartnerTruckGPSStatus> =\n            yield brokerTranziitApi.checkPartnerTruckGPSStatus(query.plateNumber);\n\n        if (result?.[1]) {\n            data = result?.[1];\n        } else {\n            error = result?.[0] || new Error(`gps status response: ${result?.[1]}`);\n        }\n    }\n\n    if (error) {\n        yield put(checkRequestError(query, error));\n        return;\n    }\n\n    if (data) {\n        yield put(checkRequestSuccess(query, data));\n    }\n}\n\nfunction* gpsTrackingStatusSaga(): WrapGeneratorT<void> {\n    yield takeEvery(CHECK_GPS_STATUS_REQUEST, checkGPSStatusSaga);\n}\n\nexport default gpsTrackingStatusSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"name\":\"NameCell__name___CNM5k\",\"id\":\"NameCell__id___N2mtg\",\"cell\":\"NameCell__cell___UySri\",\"notification\":\"NameCell__notification___xdodl\",\"fadeIn\":\"NameCell__fadeIn___m5vng\",\"blinking\":\"NameCell__blinking___R_z00\"};","import * as React from 'react';\nimport { useEffect } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TrucksPageLayout.scss';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { AssetTypeEnum, DEFAULT_CARRIER_COMPANY_ID, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport {\n    ApiChangeContractVehiclesRequestT,\n    ApiChangeRateVehiclesRequestT,\n    TrucksSortEnum,\n} from 'common/utils/api/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAddTruckRequestStatus,\n    selectTrucksByIds,\n    selectTrucksExportXLSRequest,\n    selectTrucksImportXLSRequest,\n    selectTrucksPages,\n    selectTrucksStats,\n    selectTrucksTotal,\n    selectUpdateTruckRequestStatus,\n} from 'common/store/trucks/selectors';\nimport {\n    activationTrucksRequest,\n    archiveTrucksRequest,\n    assignToContractRequest,\n    changeRateTrucksRequest,\n    exportXLSTrucks,\n    fetchTrucksPage,\n    fetchTrucksStats,\n    importXLSTrucks,\n} from 'common/store/trucks/actions';\nimport { ActivateTrucksRequestT, ApiTruckT } from 'common/store/trucks/models';\nimport TrucksTable from './TrucksTable/TrucksTable';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport TableActions, { TableActionOptionT } from 'common/components/Table/TableActions/TableActions';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { isNonNil } from 'common/utils';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport { fetchCarrierContracts } from 'common/store/carrier-contracts/actions';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport { TabEnum } from './constants';\nimport map from 'lodash/map';\nimport { QueryFiltersT, QueryKeysEnum } from './query-models';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { selectSetUnavailableVehicleRequestStatus } from 'common/store/vehicle-schedules/selectors';\nimport ArchiveAssetConfirmationModal, {\n    ArchiveAssetConfirmationDataT,\n} from 'common/layouts/dialogs/ArchiveAssetConfirmationModal/ArchiveAssetConfirmationModal';\nimport ActivateAssetDialogModal, {\n    ActivateAssetConfirmationDataT,\n} from 'common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetDialogModal';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { trucksPaginationChannel, trucksRefreshChannel } from 'common/store/trucks/channels';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport ActiveFleetCount from './ActiveFleetCount/ActiveFleetCount';\nimport { useQueryParams, withDefault } from 'use-query-params';\nimport { createEnumParam } from 'serialize-query-params/src/params';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useCheckOpenedSidebar, useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport ButtonGroup from 'design-system/components/ButtonGroup/ButtonGroup';\nimport AssetsXLSDropdownControl from 'common/components/controls/AssetsXLSDropdownControl/AssetsXLSDropdownControl';\nimport { useImportXLSAssetsModalDialog } from 'common/layouts/dialogs/ImportXLSAssetsDialogModal/hooks/useImportXLSAssetsModalDialog';\nimport ImportXLSAssetsDialogModal, {\n    ImportXLSAssetsDialogModalDataT,\n} from '../dialogs/ImportXLSAssetsDialogModal/ImportXLSAssetsDialogModal';\nimport ChangeRateOrContractAssetDialogModal, {\n    ChangeRateOrContractAssetDialogModalDataT,\n} from 'common/layouts/dialogs/ChangeRateOrContractAssetDialogModal/ChangeRateOrContractAssetDialogModal';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport PaperIcon from 'common/icons/PaperIcon';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onOpenUserDetails: (userId: UserIdT | null, isBrokerUser?: boolean) => void;\n};\n\nconst getTruckIds = (selectedTrucksSet: Set<ApiTruckT>): Array<string> => {\n    return [...selectedTrucksSet].map((truck) => truck.id).filter(isNonNil);\n};\n\nconst TAB_LABEL_T: Record<TabEnum, string> = {\n    [TabEnum.active]: 'common:trucks-page.tabs.active',\n    [TabEnum.archive]: 'common:trucks-page.tabs.archive',\n};\n\nconst TrucksPageLayout: React.FC<PropsT> = React.memo((props) => {\n    const { onOpenUserDetails } = props;\n\n    const partnerPermissions = usePartnerPermissionsContext();\n\n    const { partnerId } = usePartnerContext();\n\n    const importXLSRequestStatus = useSelector(selectTrucksImportXLSRequest(partnerId));\n\n    const handleImportXLS = (data: ImportXLSAssetsDialogModalDataT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleImportXLS');\n            return;\n        }\n        dispatch(importXLSTrucks(partnerId, data.file));\n    };\n\n    const exportXLSRequestStatus = useSelector(selectTrucksExportXLSRequest(partnerId));\n\n    const handleExportXLS = () => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleExportXLS');\n            return;\n        }\n        dispatch(exportXLSTrucks(partnerId, {}));\n    };\n\n    const handleFilteredExportXLS = () => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleFilteredExportXLS');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(exportXLSTrucks(partnerId, query));\n    };\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in TrucksPageLayout useEffect');\n            return;\n        }\n        dispatch(fetchCarrierContracts(partnerId));\n    }, [dispatch, partnerId]);\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.trucksPage]: createPageNumberParam(),\n        [QueryKeysEnum.trucksSort]: createSortParams<TrucksSortEnum>({\n            value: TrucksSortEnum.createdDate,\n            direction: SortDirectionEnum.DESC,\n        }),\n        [QueryKeysEnum.trucksFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.trucksTab]: withDefault(createEnumParam<TabEnum>(Object.values(TabEnum)), TabEnum.active),\n    });\n\n    const [selectedTrucksSet, setSelectedTrucksSet] = React.useState<Set<ApiTruckT>>(new Set());\n\n    const total = useSelector(selectTrucksTotal(partnerId));\n    const trucksPages = useSelector(selectTrucksPages(partnerId));\n    const truckById = useSelector(selectTrucksByIds(partnerId));\n\n    const isOpenedFilters = useCheckOpenedSidebar(CommonSidebarsTypeEnum.truckFilters);\n    const openFilters = React.useCallback(() => {\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.truckFilters,\n        });\n    }, [openLeftSidebar]);\n\n    const showAddSidebar = (): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in showAddSidebar');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.addTruck,\n            partnerId,\n        });\n    };\n\n    const selectedSort = query[QueryKeysEnum.trucksSort];\n    const pageNumber = query[QueryKeysEnum.trucksPage];\n    const queryFilters = query[QueryKeysEnum.trucksFilters];\n\n    const activeTab = query[QueryKeysEnum.trucksTab] || TabEnum.active;\n    const page = trucksPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in TrucksPageLayout useEffect');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(fetchTrucksPage(pageNumber, query, partnerId));\n\n        dispatch(fetchTrucksStats(partnerId));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, activeTab, partnerId]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(fetchTrucksPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n\n        dispatch(fetchTrucksStats(partnerId, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, queryFilters, selectedSort, activeTab, partnerId]);\n\n    useChannelSubscribe(trucksRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(fetchTrucksPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, queryFilters, selectedSort, activeTab, partnerId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(fetchTrucksPage(pageNumber, query, partnerId, { isForceUpdate: false }));\n\n        dispatch(fetchTrucksStats(partnerId, { isForceUpdate: false }));\n    }, [dispatch, pageNumber, queryFilters, selectedSort, activeTab, partnerId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const trucks = React.useMemo(() => {\n        return (ids || []).map((id): ApiTruckT => truckById[id]);\n    }, [ids, truckById]);\n\n    React.useEffect(() => {\n        setSelectedTrucksSet(new Set());\n    }, [ids]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            setSelectedTrucksSet(new Set());\n\n            changeQuery({\n                [QueryKeysEnum.trucksPage]: pageNumber,\n            });\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [setSelectedTrucksSet, query],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof trucksPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(trucksPaginationChannel, setPageHandler);\n\n    const sortOptions: Array<SortDropdownOptionT<TrucksSortEnum>> = React.useMemo(\n        () =>\n            [\n                {\n                    label: t('common:trucks-page.sorts.triggers.creation-date'),\n                    value: TrucksSortEnum.createdDate,\n                },\n                activeTab === TabEnum.archive\n                    ? {\n                          label: t('common:trucks-page.sorts.triggers.archive-date'),\n                          value: TrucksSortEnum.archiveDate,\n                      }\n                    : null,\n            ].filter(isNonNil),\n        [t, activeTab],\n    );\n\n    const handleSelectSort = (sort: PageSortT<TrucksSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.trucksPage]: 0,\n            [QueryKeysEnum.trucksSort]: sort,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        changeQuery({\n            [QueryKeysEnum.trucksPage]: 0,\n            [QueryKeysEnum.trucksFilters]: selectedQueryFilters,\n        });\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const resetQueryFilters = () => {\n        changeQuery({\n            [QueryKeysEnum.trucksFilters]: undefined,\n        });\n    };\n\n    const addRequestStatus = useSelector(selectAddTruckRequestStatus(partnerId));\n    React.useEffect(() => {\n        if (addRequestStatus.ok) {\n            changeQuery({\n                [QueryKeysEnum.trucksFilters]: undefined,\n                [QueryKeysEnum.trucksPage]: 0,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [addRequestStatus.ok]);\n\n    const archiveAssetConfirmation = useModalDialog<ArchiveAssetConfirmationDataT>();\n    const activateAssetConfirmation = useModalDialog<ActivateAssetConfirmationDataT>();\n    const changeRateOrContractConfirmation = useModalDialog<ChangeRateOrContractAssetDialogModalDataT>();\n\n    const trucksStats = useSelector(selectTrucksStats(partnerId));\n\n    const tableActionOptions: Array<TableActionOptionT | SpecialOptionEnum | null> = [\n        ...(activeTab === TabEnum.active\n            ? [\n                  {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={\n                                  <PaperIcon\n                                      size={DEFAULT_ICON_SIZE}\n                                      strokeColor={StyleGuideColorsEnum.charcoal}\n                                      fillColor={StyleGuideColorsEnum.transparent}\n                                  />\n                              }\n                              label={t('common:trucks-page.actions.change-rate-or-contract')}\n                          />\n                      ),\n                      onSelect: () => {\n                          if (!partnerId) {\n                              logWarning('Empty partnerId in changeRateOrContract onSelect');\n                              return;\n                          }\n                          const ids = getTruckIds(selectedTrucksSet);\n\n                          changeRateOrContractConfirmation.setData({\n                              assets: ids.map((id) => {\n                                  return {\n                                      id,\n                                  };\n                              }),\n                              companyId: partnerId,\n                          });\n                      },\n                  },\n                  SpecialOptionEnum.separator,\n                  {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                              label={t('common:trucks-page.actions.archive')}\n                          />\n                      ),\n                      onSelect: () => {\n                          if (!partnerId) {\n                              logWarning('Empty partnerId in archiveAsset onSelect');\n                              return;\n                          }\n                          const ids = getTruckIds(selectedTrucksSet);\n\n                          archiveAssetConfirmation.setData({\n                              assets: ids.map((id) => {\n                                  return {\n                                      id,\n                                      plateNumber: truckById[id]?.plateNumber || '',\n                                  };\n                              }),\n                              companyId: partnerId,\n                          });\n                      },\n                  },\n              ]\n            : []),\n        activeTab === TabEnum.archive\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          icon={<HollowCircleIcon borderColor={StyleGuideColorsEnum.brandAccent} />}\n                          label={t('common:trucks-page.actions.activate')}\n                      />\n                  ),\n                  onSelect: () => {\n                      if (!partnerId) {\n                          logWarning('Empty partnerId in activateAsset onSelect');\n                          return;\n                      }\n                      const ids = getTruckIds(selectedTrucksSet);\n\n                      activateAssetConfirmation.setData({\n                          assets: ids.map((id) => {\n                              const truck = truckById[id];\n\n                              return {\n                                  id,\n                                  plateNumber: truck?.plateNumber || '',\n                                  ratePerKm: null,\n                                  contractId: null, // archived assets always have no contract\n                              };\n                          }),\n                          companyId: partnerId,\n                      });\n                  },\n              }\n            : null,\n    ];\n\n    const setUnavailableStatus = useSelector(selectSetUnavailableVehicleRequestStatus);\n\n    const updateRequestStatus = useSelector(selectUpdateTruckRequestStatus(partnerId));\n\n    const handleConfirmArchive = (data: ArchiveAssetConfirmationDataT, reason: string): void => {\n        const ids = data.assets.map((asset) => asset.id);\n        dispatch(archiveTrucksRequest(ids, data.companyId, reason));\n    };\n\n    const handleConfirmChangeContract = (\n        changeContractRequest: ApiChangeContractVehiclesRequestT,\n        contractName: string,\n    ) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmChangeContract');\n            return;\n        }\n        dispatch(\n            assignToContractRequest({\n                companyId: partnerId,\n                changeContractRequest,\n                contractName,\n            }),\n        );\n    };\n\n    const handleConfirmChangeRate = (changeRateRequest: ApiChangeRateVehiclesRequestT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmChangeRate');\n            return;\n        }\n        dispatch(\n            changeRateTrucksRequest({\n                companyId: partnerId,\n                changeRateVehiclesRequest: changeRateRequest,\n            }),\n        );\n    };\n\n    const handleConfirmActivate = (\n        _: ActivateAssetConfirmationDataT,\n        activateTrucksRequest: ActivateTrucksRequestT,\n    ): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmActivate');\n            return;\n        }\n        dispatch(activationTrucksRequest(partnerId, activateTrucksRequest));\n    };\n\n    useEffect(() => {\n        setSelectedTrucksSet(new Set());\n    }, [setUnavailableStatus, updateRequestStatus]);\n\n    const handleSelectRow = (event: React.MouseEvent, truck: ApiTruckT) => {\n        if (!truck.id) {\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleSelectRow');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.truckDetails,\n            truckId: truck.id,\n            partnerId,\n        });\n    };\n\n    const isPartner = partnerId !== DEFAULT_CARRIER_COMPANY_ID;\n\n    const handleSelectTab = (tab: TabEnum): void => {\n        changeQuery({\n            [QueryKeysEnum.trucksPage]: 0,\n            [QueryKeysEnum.trucksTab]: tab,\n            [QueryKeysEnum.trucksSort]: undefined,\n        });\n    };\n\n    const tabsNode = (\n        <ButtonGroup\n            className={cx('tabs', {\n                'tabs--isPartner': isPartner,\n            })}\n        >\n            {map(TabEnum, (tab) => (\n                <Button\n                    horizontalSpaces=\"s\"\n                    key={tab}\n                    className={cx('tabs__tab')}\n                    leftIcon={tab === TabEnum.active && !!trucksStats?.actualTotalCount ? <ActiveFleetCount /> : null}\n                    theme={ButtonThemeEnum.transparent}\n                    onClick={() => {\n                        handleSelectTab(tab);\n                    }}\n                    isToggled={tab === activeTab}\n                >\n                    {t(TAB_LABEL_T[tab])}\n                </Button>\n            ))}\n        </ButtonGroup>\n    );\n\n    useCloseModalDialogAfterRequest(updateRequestStatus, [\n        activateAssetConfirmation,\n        archiveAssetConfirmation,\n        changeRateOrContractConfirmation,\n    ]);\n\n    const importXLSAssetsModalDialog = useImportXLSAssetsModalDialog();\n    useCloseModalDialogAfterRequest(importXLSRequestStatus, [importXLSAssetsModalDialog]);\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(trucks, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters(\n            [query[QueryKeysEnum.trucksTab] !== TabEnum.active ? query[QueryKeysEnum.trucksTab] : null],\n            [query[QueryKeysEnum.trucksFilters]],\n        );\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('common:trucks-page.table.messages.not-found.title')}\n                    description={t('common:trucks-page.table.messages.not-found.description')}\n                    isShowAction={!!partnerPermissions?.canEditTrucks}\n                    actionTitle={t('common:trucks-page.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('common:trucks-page.table.messages.empty-quick-filters.title')}\n                    description=\"\"\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('common:trucks-page.table.messages.empty.title')}\n                description={t('common:trucks-page.table.messages.empty.description')}\n                isShowAction\n                actionTitle={t('common:trucks-page.table.messages.empty.action')}\n                onActionClick={showAddSidebar}\n                testSelector=\"empty\"\n            />\n        );\n    };\n\n    return (\n        <>\n            <ContentMargins>\n                {!isPartner && tabsNode}\n                <ListPageLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                {isPartner && tabsNode}\n                                <FiltersTrigger\n                                    title={t('common:trucks-page.filters.title')}\n                                    isActive={isOpenedFilters}\n                                    onClick={openFilters}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                            </>\n                        }\n                        rightToolsNode={\n                            <>\n                                {!!selectedTrucksSet.size && (\n                                    <TableActions\n                                        options={tableActionOptions}\n                                        trigger={t('common:trucks-page.actions-trigger')}\n                                        isDisabled={false}\n                                    />\n                                )}\n                                <AssetsXLSDropdownControl\n                                    isAllowExport\n                                    isAllowImport={!!partnerPermissions.canImportTrucks}\n                                    isLoading={exportXLSRequestStatus.loading}\n                                    onExportFilteredAssets={handleFilteredExportXLS}\n                                    onExportAssets={handleExportXLS}\n                                    onImportAssets={importXLSAssetsModalDialog.onStartImportXLS}\n                                />\n                                {partnerPermissions?.canEditTrucks ? (\n                                    <Button theme={ButtonThemeEnum.primary} type=\"submit\" onClick={showAddSidebar}>\n                                        {t('common:trucks-page.add-truck.trigger')}\n                                    </Button>\n                                ) : null}\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                    />\n                    {renderTableMessage()}\n                    <TrucksTable\n                        trucks={trucks}\n                        onSelectRow={handleSelectRow}\n                        selectedTrucksSet={selectedTrucksSet}\n                        onSelectTrucks={setSelectedTrucksSet}\n                        isLoading={requestStatus?.loading}\n                        canEditTrucks={!!partnerPermissions?.canEditTrucks}\n                        onOpenUserDetails={onOpenUserDetails}\n                        activeTab={activeTab}\n                    />\n                </ListPageLayout>\n            </ContentMargins>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n            <ArchiveAssetConfirmationModal\n                assetType={AssetTypeEnum.truck}\n                data={archiveAssetConfirmation.data}\n                onConfirm={handleConfirmArchive}\n                onCancel={archiveAssetConfirmation.onCancel}\n                onClose={archiveAssetConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n            <ActivateAssetDialogModal\n                companyId={partnerId}\n                assetType={AssetTypeEnum.truck}\n                data={activateAssetConfirmation.data}\n                onConfirm={handleConfirmActivate}\n                onCancel={activateAssetConfirmation.onCancel}\n                onClose={activateAssetConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n            <ImportXLSAssetsDialogModal\n                assetType={AssetTypeEnum.truck}\n                requestStatus={importXLSRequestStatus}\n                data={importXLSAssetsModalDialog.data}\n                onClose={importXLSAssetsModalDialog.onClose}\n                onCancel={importXLSAssetsModalDialog.onCancel}\n                onImportXLS={handleImportXLS}\n            />\n            <ChangeRateOrContractAssetDialogModal\n                companyId={partnerId}\n                assetType={AssetTypeEnum.truck}\n                data={changeRateOrContractConfirmation.data}\n                onChangeContract={handleConfirmChangeContract}\n                onChangeRate={handleConfirmChangeRate}\n                onCancel={changeRateOrContractConfirmation.onCancel}\n                onClose={changeRateOrContractConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n        </>\n    );\n});\n\nexport default TrucksPageLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ExpireSoonPartnerCarrierContractCard__inner___ZEXR2\",\"fadeIn\":\"ExpireSoonPartnerCarrierContractCard__fadeIn___Yl4vu\",\"blinking\":\"ExpireSoonPartnerCarrierContractCard__blinking___PmjO1\"};","import { RequestStatusT } from 'common/utils/request-status';\n\nimport {\n    FetchRulePageQueryT,\n    RuleDetailsT,\n    RuleDraftT,\n    RulePreviewRequestT,\n    RulePreviewResponseT,\n    RuleT,\n} from './models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_RULE_DETAILS_REQUEST = 'broker-admin/price-settings/rules/FETCH_RULE_DETAILS_REQUEST';\nexport const FETCH_RULE_DETAILS_REQUEST_BEGIN = 'broker-admin/price-settings/rules/FETCH_RULE_DETAILS_REQUEST_BEGIN';\nexport const FETCH_RULE_DETAILS_REQUEST_ERROR = 'broker-admin/price-settings/rules/FETCH_RULE_DETAILS_REQUEST_ERROR';\nexport const FETCH_RULE_DETAILS_REQUEST_SUCCESS =\n    'broker-admin/price-settings/rules/FETCH_RULE_DETAILS_REQUEST_SUCCESS';\n\nexport const FETCH_RULES_PAGE_REQUEST = 'broker-admin/price-settings/rules/FETCH_RULES_PAGE_REQUEST';\nexport const FETCH_RULES_PAGE_REQUEST_BEGIN = 'broker-admin/price-settings/rules/FETCH_RULES_PAGE_REQUEST_BEGIN';\nexport const FETCH_RULES_PAGE_REQUEST_ERROR = 'broker-admin/price-settings/rules/FETCH_RULES_PAGE_REQUEST_ERROR';\nexport const FETCH_RULES_PAGE_REQUEST_SUCCESS = 'broker-admin/price-settings/rules/FETCH_RULES_PAGE_REQUEST_SUCCESS';\n\nexport const RESET_RULE_PAGES = 'broker-admin/price-settings/rules/RESET_RULE_PAGES';\n\nexport const ACTIVATE_RULES_REQUEST = 'broker-admin/price-settings/rules/ACTIVATE_RULES_REQUEST';\nexport const DEACTIVATE_RULES_REQUEST = 'broker-admin/price-settings/rules/DEACTIVATE_RULES_REQUEST';\n\nexport const UPDATE_RULE_REQUEST = 'broker-admin/price-settings/rules/UPDATE_RULE_REQUEST';\nexport const UPDATE_RULE_REQUEST_BEGIN = 'broker-admin/price-settings/rules/UPDATE_RULE_REQUEST_BEGIN';\nexport const UPDATE_RULE_REQUEST_ERROR = 'broker-admin/price-settings/rules/UPDATE_RULE_REQUEST_ERROR';\nexport const UPDATE_RULE_REQUEST_SUCCESS = 'broker-admin/price-settings/rules/UPDATE_RULE_REQUEST_SUCCESS';\nexport const UPDATE_RULE_REQUEST_RESET = 'broker-admin/price-settings/rules/UPDATE_RULE_REQUEST_RESET';\n\nexport const CREATE_RULE_REQUEST = 'broker-admin/price-settings/rules/CREATE_RULE_REQUEST';\nexport const CREATE_RULE_REQUEST_BEGIN = 'broker-admin/price-settings/rules/CREATE_RULE_REQUEST_BEGIN';\nexport const CREATE_RULE_REQUEST_ERROR = 'broker-admin/price-settings/rules/CREATE_RULE_REQUEST_ERROR';\nexport const CREATE_RULE_REQUEST_SUCCESS = 'broker-admin/price-settings/rules/CREATE_RULE_REQUEST_SUCCESS';\nexport const CREATE_RULE_REQUEST_RESET = 'broker-admin/price-settings/rules/CREATE_RULE_REQUEST_RESET';\n\nexport const DELETE_RULES_REQUEST = 'broker-admin/price-settings/rules/DELETE_RULES_REQUEST';\nexport const DELETE_RULES_REQUEST_BEGIN = 'broker-admin/price-settings/rules/DELETE_RULES_REQUEST_BEGIN';\nexport const DELETE_RULES_REQUEST_ERROR = 'broker-admin/price-settings/rules/DELETE_RULES_REQUEST_ERROR';\nexport const DELETE_RULES_REQUEST_SUCCESS = 'broker-admin/price-settings/rules/DELETE_RULES_REQUEST_SUCCESS';\n\nexport const PREVIEW_RULE_REQUEST = 'broker-admin/price-settings/rules/PREVIEW_RULE_REQUEST';\nexport const PREVIEW_RULE_REQUEST_BEGIN = 'broker-admin/price-settings/rules/PREVIEW_RULE_REQUEST_BEGIN';\nexport const PREVIEW_RULE_REQUEST_ERROR = 'broker-admin/price-settings/rules/PREVIEW_RULE_REQUEST_ERROR';\nexport const PREVIEW_RULE_REQUEST_SUCCESS = 'broker-admin/price-settings/rules/PREVIEW_RULE_REQUEST_SUCCESS';\nexport const PREVIEW_RULE_REQUEST_RESET = 'broker-admin/price-settings/rules/PREVIEW_RULE_REQUEST_RESET';\n\nexport type RulesStateT = PaginationStateT<RuleT, FetchRulePageQueryT> & {\n    detailsById: Record<string, RuleDetailsT | null>;\n    fetchDetailsRequest: RequestStatusT;\n    updateRequest: RequestStatusT;\n    creationRequest: RequestStatusT;\n    deleteRequest: RequestStatusT;\n    previewRequest: RequestStatusT;\n    preview: RulePreviewResponseT | null;\n};\n\nexport type FetchRuleDetailsActionT = {\n    type: typeof FETCH_RULE_DETAILS_REQUEST;\n    ruleId: RuleIdT;\n};\n\nexport type FetchRuleDetailsBeginActionT = {\n    type: typeof FETCH_RULE_DETAILS_REQUEST_BEGIN;\n    ruleId: RuleIdT;\n};\n\nexport type FetchRuleDetailsSuccessActionT = {\n    type: typeof FETCH_RULE_DETAILS_REQUEST_SUCCESS;\n    ruleId: RuleIdT;\n    ruleDetails: RuleDetailsT | null;\n};\n\nexport type FetchRuleDetailsErrorActionT = {\n    type: typeof FETCH_RULE_DETAILS_REQUEST_ERROR;\n    ruleId: RuleIdT;\n    error: Error;\n};\n\nexport type FetchRulesPageActionT = {\n    type: typeof FETCH_RULES_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchRulePageQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchRulesPageBeginActionT = {\n    type: typeof FETCH_RULES_PAGE_REQUEST_BEGIN;\n    pageNumber: PageNumberT;\n    query: FetchRulePageQueryT;\n};\n\nexport type FetchRulesPageSuccessActionT = {\n    type: typeof FETCH_RULES_PAGE_REQUEST_SUCCESS;\n    pageNumber: PageNumberT;\n    query: FetchRulePageQueryT;\n    pageResponse: PageResponseT<RuleT> | null;\n};\n\nexport type FetchRulesPageErrorActionT = {\n    type: typeof FETCH_RULES_PAGE_REQUEST_ERROR;\n    pageNumber: PageNumberT;\n    error: Error;\n    query: FetchRulePageQueryT;\n};\n\nexport type ResetRulePagesActionT = {\n    type: typeof RESET_RULE_PAGES;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type UpdateRuleActionT = {\n    type: typeof UPDATE_RULE_REQUEST;\n    ruleId: RuleIdT;\n    ruleDraft: RuleDraftT;\n};\n\nexport type UpdateRuleBeginActionT = {\n    type: typeof UPDATE_RULE_REQUEST_BEGIN;\n};\n\nexport type UpdateRuleSuccessActionT = {\n    type: typeof UPDATE_RULE_REQUEST_SUCCESS;\n};\n\nexport type UpdateRuleErrorActionT = {\n    type: typeof UPDATE_RULE_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type UpdateRuleResetActionT = {\n    type: typeof UPDATE_RULE_REQUEST_RESET;\n};\n\nexport type ActivationRulesActionT = {\n    type: typeof ACTIVATE_RULES_REQUEST;\n    ids: Array<RuleIdT>;\n};\n\nexport type DeactivationRulesActionT = {\n    type: typeof DEACTIVATE_RULES_REQUEST;\n    ids: Array<RuleIdT>;\n};\n\nexport type CreateRuleActionT = {\n    type: typeof CREATE_RULE_REQUEST;\n    ruleDraft: RuleDraftT;\n};\n\nexport type CreateRuleBeginActionT = {\n    type: typeof CREATE_RULE_REQUEST_BEGIN;\n};\n\nexport type CreateRuleSuccessActionT = {\n    type: typeof CREATE_RULE_REQUEST_SUCCESS;\n};\n\nexport type CreateRuleErrorActionT = {\n    type: typeof CREATE_RULE_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type CreateRuleResetActionT = {\n    type: typeof CREATE_RULE_REQUEST_RESET;\n};\n\nexport type DeleteRulesActionT = {\n    type: typeof DELETE_RULES_REQUEST;\n    ids: Array<RuleIdT>;\n};\n\nexport type DeleteRulesBeginActionT = {\n    type: typeof DELETE_RULES_REQUEST_BEGIN;\n};\n\nexport type DeleteRulesSuccessActionT = {\n    type: typeof DELETE_RULES_REQUEST_SUCCESS;\n};\n\nexport type DeleteRulesErrorActionT = {\n    type: typeof DELETE_RULES_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type PreviewRuleActionT = {\n    type: typeof PREVIEW_RULE_REQUEST;\n    data: RulePreviewRequestT;\n};\n\nexport type PreviewRuleBeginActionT = {\n    type: typeof PREVIEW_RULE_REQUEST_BEGIN;\n};\n\nexport type PreviewRuleSuccessActionT = {\n    type: typeof PREVIEW_RULE_REQUEST_SUCCESS;\n    data: RulePreviewResponseT | null;\n};\n\nexport type PreviewRuleErrorActionT = {\n    type: typeof PREVIEW_RULE_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type PreviewRuleResetActionT = {\n    type: typeof PREVIEW_RULE_REQUEST_RESET;\n};\n\nexport type RulesActionT =\n    | FetchRulesPageActionT\n    | FetchRulesPageBeginActionT\n    | FetchRulesPageSuccessActionT\n    | FetchRulesPageErrorActionT\n    | UpdateRuleActionT\n    | UpdateRuleBeginActionT\n    | UpdateRuleSuccessActionT\n    | UpdateRuleErrorActionT\n    | UpdateRuleResetActionT\n    | ResetRulePagesActionT\n    | ActivationRulesActionT\n    | DeactivationRulesActionT\n    | CreateRuleActionT\n    | CreateRuleBeginActionT\n    | CreateRuleSuccessActionT\n    | CreateRuleErrorActionT\n    | CreateRuleResetActionT\n    | PreviewRuleActionT\n    | PreviewRuleBeginActionT\n    | PreviewRuleSuccessActionT\n    | PreviewRuleErrorActionT\n    | PreviewRuleResetActionT\n    | DeleteRulesActionT\n    | DeleteRulesBeginActionT\n    | DeleteRulesSuccessActionT\n    | DeleteRulesErrorActionT\n    | FetchRuleDetailsActionT\n    | FetchRuleDetailsBeginActionT\n    | FetchRuleDetailsSuccessActionT\n    | FetchRuleDetailsErrorActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"BidsCountCell__wrap___w9nD6\",\"tooltip-content\":\"BidsCountCell__tooltip-content___ChrUv\",\"tooltip\":\"BidsCountCell__tooltip___gZr2v\",\"fadeIn\":\"BidsCountCell__fadeIn___bWaCZ\",\"blinking\":\"BidsCountCell__blinking___IZRbz\"};","import requestStatus from 'common/utils/request-status';\nimport {\n    ASSIGNMENT_REQUEST_BEGIN,\n    ASSIGNMENT_REQUEST_ERROR,\n    ASSIGNMENT_REQUEST_SUCCESS,\n    DriverAssigmentActionT,\n    DriverAssigmentStateT,\n    RESET,\n    RE_ASSIGNMENT_REQUEST_BEGIN,\n    RE_ASSIGNMENT_REQUEST_SUCCESS,\n    RE_ASSIGNMENT_REQUEST_ERROR,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: DriverAssigmentStateT = {\n    tourId: null,\n    assigmentStatus: requestStatus.initial,\n    reAssigmentStatus: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: DriverAssigmentActionT | DestroySessionActionT,\n): DriverAssigmentStateT => {\n    switch (action.type) {\n        case ASSIGNMENT_REQUEST_BEGIN: {\n            return {\n                ...state,\n                assigmentStatus: requestStatus.loading,\n            };\n        }\n\n        case ASSIGNMENT_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                assigmentStatus: requestStatus.ok,\n            };\n        }\n\n        case ASSIGNMENT_REQUEST_ERROR: {\n            const { error } = action;\n            return {\n                ...state,\n                assigmentStatus: requestStatus.setError(error),\n            };\n        }\n\n        case RE_ASSIGNMENT_REQUEST_BEGIN: {\n            return {\n                ...state,\n                reAssigmentStatus: requestStatus.loading,\n            };\n        }\n\n        case RE_ASSIGNMENT_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                reAssigmentStatus: requestStatus.ok,\n            };\n        }\n\n        case RE_ASSIGNMENT_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                reAssigmentStatus: requestStatus.setError(error),\n            };\n        }\n\n        case DESTROY_SESSION:\n        case RESET: {\n            return {\n                ...initialState,\n            };\n        }\n\n        default:\n            return state;\n    }\n};\n","import {\n    FETCH_RFQ_STATS_REQUEST,\n    FETCH_RFQ_STATS_REQUEST_BEGIN,\n    FETCH_RFQ_STATS_REQUEST_ERROR,\n    FETCH_RFQ_STATS_REQUEST_SUCCESS,\n    FetchRFQStatsActionT,\n    FetchRFQStatsBeginActionT,\n    FetchRFQStatsErrorActionT,\n    FetchRFQStatsSuccessActionT,\n    RESET,\n    ResetRFQStatsActionT,\n} from './types';\nimport { ApiRFQStatsT, RFQStatsQueryT } from './models';\n\nexport const fetchRFQStats = (query: RFQStatsQueryT): FetchRFQStatsActionT => ({\n    type: FETCH_RFQ_STATS_REQUEST,\n    query,\n});\n\nexport const fetchRFQStatsBegin = (query: RFQStatsQueryT): FetchRFQStatsBeginActionT => ({\n    type: FETCH_RFQ_STATS_REQUEST_BEGIN,\n    query,\n});\n\nexport const fetchRFQStatsSuccess = (query: RFQStatsQueryT, stats: ApiRFQStatsT): FetchRFQStatsSuccessActionT => ({\n    type: FETCH_RFQ_STATS_REQUEST_SUCCESS,\n    query,\n    stats,\n});\n\nexport const fetchRFQStatsError = (query: RFQStatsQueryT, error: Error): FetchRFQStatsErrorActionT => ({\n    type: FETCH_RFQ_STATS_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const resetRFQStats = (): ResetRFQStatsActionT => ({\n    type: RESET,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"TableError__inner___RZ0rk\",\"fadeIn\":\"TableError__fadeIn___TSBRK\",\"blinking\":\"TableError__blinking___VVECG\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"NotificationCardInnerLayout__inner___QwfXb\",\"fadeIn\":\"NotificationCardInnerLayout__fadeIn___JFmdB\",\"blinking\":\"NotificationCardInnerLayout__blinking___Pggwj\"};","import {\n    FIND_SHIPPERS_REQUEST_BY_QUERY,\n    FIND_SHIPPERS_REQUEST_BEGIN,\n    FIND_SHIPPERS_REQUEST_ERROR,\n    FIND_SHIPPERS_REQUEST_SUCCESS,\n    FindShippersByQueryActionT,\n    FindShippersBeginActionT,\n    FindShippersErrorActionT,\n    FindShippersSuccessActionT,\n    RESET,\n    ResetActionT,\n    FindShippersByIdActionT,\n    FIND_SHIPPERS_REQUEST_BY_ID,\n} from './types';\n\nimport { FindShippersQueryT, PartnerT } from './models';\n\nexport const findShippersByQuery = (query: FindShippersQueryT): FindShippersByQueryActionT => ({\n    type: FIND_SHIPPERS_REQUEST_BY_QUERY,\n    query,\n});\n\nexport const findShippersById = (partnerId: PartnerIdT, query: FindShippersQueryT): FindShippersByIdActionT => ({\n    type: FIND_SHIPPERS_REQUEST_BY_ID,\n    partnerId,\n    query,\n});\n\nexport const findShippersBegin = (query: FindShippersQueryT): FindShippersBeginActionT => ({\n    type: FIND_SHIPPERS_REQUEST_BEGIN,\n    query,\n});\n\nexport const findShippersSuccess = (partners: PartnerT[]): FindShippersSuccessActionT => ({\n    type: FIND_SHIPPERS_REQUEST_SUCCESS,\n    partners,\n});\n\nexport const findShippersError = (error: Error): FindShippersErrorActionT => ({\n    type: FIND_SHIPPERS_REQUEST_ERROR,\n    error,\n});\n\nexport const reset = (): ResetActionT => ({\n    type: RESET,\n});\n","import { SpotRequestDetailsT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const FETCH_SPOT_REQUEST_DETAILS_REQUEST =\n    'broker-admin/spot-request-details/FETCH_SPOT_REQUEST_DETAILS_REQUEST';\nexport const FETCH_SPOT_REQUEST_DETAILS_REQUEST_BEGIN =\n    'broker-admin/spot-request-details/FETCH_SPOT_REQUEST_DETAILS_REQUEST_BEGIN';\nexport const FETCH_SPOT_REQUEST_DETAILS_REQUEST_ERROR =\n    'broker-admin/spot-request-details/FETCH_SPOT_REQUEST_DETAILS_REQUEST_ERROR';\nexport const FETCH_SPOT_REQUEST_DETAILS_REQUEST_SUCCESS =\n    'broker-admin/spot-request-details/FETCH_SPOT_REQUEST_DETAILS_REQUEST_SUCCESS';\n\nexport const ASSIGN_BID_TO_SPOT_REQUEST = 'broker-admin/spot-request-details/ASSIGN_BID_TO_SPOT_REQUEST';\n\nexport const UPDATE_SPOT_REQUEST_REQUEST_BEGIN = 'broker-admin/spot-request-details/UPDATE_SPOT_REQUEST_REQUEST_BEGIN';\nexport const UPDATE_SPOT_REQUEST_REQUEST_ERROR = 'broker-admin/spot-request-details/UPDATE_SPOT_REQUEST_REQUEST_ERROR';\nexport const UPDATE_SPOT_REQUEST_REQUEST_SUCCESS =\n    'broker-admin/spot-request-details/UPDATE_SPOT_REQUEST_REQUEST_SUCCESS';\n\nexport type SpotRequestDetailsStateT = {\n    details: SpotRequestDetailsT | null;\n    fetchDetailsRequestStatus: RequestStatusT;\n    updateRequestStatus: RequestStatusT;\n};\n\nexport type SpotRequestDetailsByIdStateT = Record<SpotRequestIdT, SpotRequestDetailsStateT>;\n\nexport type FetchSpotRequestDetailsRequestActionT = {\n    type: typeof FETCH_SPOT_REQUEST_DETAILS_REQUEST;\n    id: SpotRequestIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchSpotRequestDetailsRequestBeginActionT = {\n    type: typeof FETCH_SPOT_REQUEST_DETAILS_REQUEST_BEGIN;\n    id: SpotRequestIdT;\n};\n\nexport type FetchSpotRequestDetailsRequestErrorActionT = {\n    type: typeof FETCH_SPOT_REQUEST_DETAILS_REQUEST_ERROR;\n    error: Error;\n    id: SpotRequestIdT;\n};\n\nexport type FetchSpotRequestDetailsRequestSuccessActionT = {\n    type: typeof FETCH_SPOT_REQUEST_DETAILS_REQUEST_SUCCESS;\n    details: SpotRequestDetailsT | null;\n    id: SpotRequestIdT;\n};\n\nexport type AssignBidToSpotRequestActionT = {\n    type: typeof ASSIGN_BID_TO_SPOT_REQUEST;\n    id: SpotRequestIdT;\n    bidId: BidIdT;\n};\n\nexport type UpdateSpotRequestRequestBeginActionT = {\n    type: typeof UPDATE_SPOT_REQUEST_REQUEST_BEGIN;\n    id: SpotRequestIdT;\n};\n\nexport type UpdateSpotRequestRequestErrorActionT = {\n    type: typeof UPDATE_SPOT_REQUEST_REQUEST_ERROR;\n    error: Error;\n    id: SpotRequestIdT;\n};\n\nexport type UpdateSpotRequestRequestSuccessActionT = {\n    type: typeof UPDATE_SPOT_REQUEST_REQUEST_SUCCESS;\n    id: SpotRequestIdT;\n};\n\nexport type SpotRequestDetailsActionT =\n    | FetchSpotRequestDetailsRequestActionT\n    | FetchSpotRequestDetailsRequestBeginActionT\n    | FetchSpotRequestDetailsRequestErrorActionT\n    | FetchSpotRequestDetailsRequestSuccessActionT\n    | UpdateSpotRequestRequestBeginActionT\n    | UpdateSpotRequestRequestErrorActionT\n    | UpdateSpotRequestRequestSuccessActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"zone-title\":\"TimeWindowZoneText__zone-title___WK2dG\",\"content\":\"TimeWindowZoneText__content___WSUGa\",\"content__content\":\"TimeWindowZoneText__content__content___mfJiw\",\"text\":\"TimeWindowZoneText__text___k2zQm\",\"fadeIn\":\"TimeWindowZoneText__fadeIn___RIw51\",\"blinking\":\"TimeWindowZoneText__blinking___sivrK\"};","import React from 'react';\n\nimport { FieldMetaProps } from 'formik';\nimport FieldLabel from 'design-system/components/form-field/FieldLabel/FieldLabel';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport isEqual from 'lodash/isEqual';\nimport isNumber from 'lodash/isNumber';\nimport FieldNotes from 'design-system/components/form-field/FieldNotes/FieldNotes';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './FormikField.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type FormikFieldChildrenPropsT<ValueT> = {\n    hasError: boolean;\n    hasWarning: boolean;\n    hasSuccess: boolean;\n    onChange: (value: ValueT) => void;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasChanges: boolean;\n};\n\nexport type FormikFieldPropsT<ValueT> = {\n    name: string;\n    label?: React.ReactNode;\n    subLabel?: React.ReactNode;\n    labelRightNode?: React.ReactNode;\n    error?: any;\n    warning?: string | null;\n    success?: string | null;\n    asyncError?: React.ReactNode;\n    resetAsyncError?: (name: string) => void;\n    meta: FieldMetaProps<ValueT>;\n    isShowFocusError?: boolean;\n    isAlwaysShowError?: boolean;\n    isForceShowWarning?: boolean;\n    className?: string;\n    fieldLabelClassName?: string;\n    withoutLabel?: boolean;\n    withoutLabelAndNotes?: boolean;\n    submitCount?: number;\n    children: (props: FormikFieldChildrenPropsT<ValueT>) => React.ReactElement | null;\n    setFieldValue: (name: string, value: ValueT) => void;\n    setFieldTouched: (name: string, value: boolean) => void;\n    tooltipNode?: React.ReactNode;\n    tooltipPosition?: TooltipPositionEnum;\n    isCheckbox?: boolean;\n};\n\nconst FormikField = <ValueT,>(props: FormikFieldPropsT<ValueT>) => {\n    const {\n        name,\n        label,\n        subLabel,\n        labelRightNode,\n        error,\n        warning,\n        success,\n        meta,\n        isShowFocusError,\n        isAlwaysShowError,\n        isForceShowWarning,\n        submitCount,\n        asyncError,\n        resetAsyncError,\n        className,\n        fieldLabelClassName,\n        children,\n        setFieldValue,\n        setFieldTouched,\n        withoutLabelAndNotes,\n        withoutLabel,\n        tooltipNode,\n        tooltipPosition,\n        isCheckbox,\n    } = props;\n\n    const [isFocused, setFocused] = React.useState<boolean>(false);\n\n    const isShowFormikError =\n        meta.touched ||\n        (isNumber(submitCount) && submitCount > 0) ||\n        (isShowFocusError && isFocused) ||\n        isAlwaysShowError;\n    const hasError = !!(error && isShowFormikError) || !!asyncError;\n\n    const hasWarning = !!warning && (meta.touched || !!isForceShowWarning);\n\n    const hasSuccess = !!success && !hasWarning && !hasError;\n\n    const hasChanges = !isEqual(meta.value, meta.initialValue) && (meta.touched || isFocused);\n\n    const onChange = React.useCallback(\n        (value: ValueT) => {\n            setFieldValue(name, value);\n\n            if (asyncError && resetAsyncError) {\n                resetAsyncError(name);\n            }\n        },\n        [setFieldValue, name, resetAsyncError, asyncError],\n    );\n\n    const onFocus = React.useCallback(() => {\n        setFocused(true);\n    }, [setFocused]);\n\n    const onBlur = React.useCallback(() => {\n        setFocused(false);\n\n        if (setFieldTouched) {\n            setFieldTouched(name, true);\n        }\n    }, [setFocused, setFieldTouched, name]);\n\n    const childrenProps: FormikFieldChildrenPropsT<ValueT> = React.useMemo(() => {\n        return {\n            hasError,\n            hasWarning,\n            hasSuccess,\n            onChange,\n            onBlur,\n            onFocus,\n            hasChanges,\n        };\n    }, [hasError, hasWarning, hasSuccess, onChange, onBlur, onFocus, hasChanges]);\n\n    if (withoutLabelAndNotes) {\n        return children(childrenProps);\n    }\n\n    return (\n        <div className={cs(cx('field'), className)}>\n            {!withoutLabel ? (\n                <FieldLabel\n                    label={label}\n                    className={fieldLabelClassName}\n                    subLabel={subLabel}\n                    tooltipNode={tooltipNode}\n                    tooltipPosition={tooltipPosition}\n                    rightNode={labelRightNode}\n                />\n            ) : null}\n            {children(childrenProps)}\n            <FieldNotes\n                className={cx('notes', {\n                    'notes--checkbox': isCheckbox,\n                })}\n                hasError={hasError}\n                hasWarning={hasWarning}\n                hasSuccess={hasSuccess}\n                error={asyncError || error}\n                success={success}\n                warning={warning}\n            />\n        </div>\n    );\n};\n\nexport default React.memo(FormikField) as typeof FormikField;\n","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport GoogleMapReact, { ClickEventValue } from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport GoogleMapContext, { GoogleMapContextT } from 'common/contexts/google-map-context';\nimport isNumber from 'lodash/isNumber';\nimport { GoogleMapsGeocoderApi } from 'common/utils/google-maps-api/google-maps-geocoder-api';\nimport { GoogleMapsPlacesApi } from 'common/utils/google-maps-api/google-maps-places-api';\nimport { getGeoCodingLocation } from 'common/utils/google-places';\nimport { isNonNil } from 'common/utils';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport {\n    MapRoutePointT,\n    OnSetMapBoundingBoxCallbackT,\n    SyncRouteEditFormMapStateContext,\n} from '../contexts/sync-map-state';\nimport MapLoader from 'common/components/maps/MapLoader/MapLoader';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport { useSelector } from 'react-redux';\nimport { selectRoutingGeometryStates } from 'common/store/routing-geometry/selectors';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport NumberPinIcon from 'common/icons/NumberPinIcon';\nimport classNames from 'classnames/bind';\nimport {\n    selectDeadheadContextRequest,\n    selectIsApplyingContextChanges,\n} from 'broker-admin/store/deadhead-creation/selectors';\nimport keyBy from 'lodash/keyBy';\nimport FerryLocationPin from 'common/components/maps/pins/FerryLocationPin/FerryLocationPin';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport ExcludeCountries from './ExcludeCountries/ExcludeCountries';\nimport {\n    DeadheadRouteStopTypeEnum,\n    DeadheadPreviewContextResponseT,\n} from 'broker-admin/store/deadhead-creation/models';\n\nimport styles from './RouteEditMap.scss';\n\nconst KEY_SPREADER = '/';\nconst KEY_PREFIX = 'route-point';\n\nconst formatKey = (routePointId: string): string => {\n    return [KEY_PREFIX, routePointId].join(KEY_SPREADER);\n};\n\nconst parseKey = (key: string): string => {\n    const [, routePointId] = key.split(KEY_SPREADER);\n    return routePointId;\n};\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isShowExcludeCountriesControl: boolean;\n    deadheadPreviewResponse: DeadheadPreviewContextResponseT | null;\n};\n\nconst geocodeByPoint = async (\n    googleMapContext: GoogleMapContextT | null,\n    point: GeoPointT,\n): Promise<LocationT | null> => {\n    const geocoderApi = new GoogleMapsGeocoderApi(googleMapContext?.googleMaps?.maps);\n    const geocodeResult = await geocoderApi.geocode(point);\n    if (!geocodeResult?.place_id) {\n        return null;\n    }\n\n    const placesApi = new GoogleMapsPlacesApi(googleMapContext?.googleMaps?.map, googleMapContext?.googleMaps?.maps);\n    const result = await placesApi.getPlaceDetails(geocodeResult?.place_id);\n    if (!result) {\n        return null;\n    }\n\n    const location = getGeoCodingLocation(result);\n\n    return {\n        address: location?.address || `${point?.lat}, ${point?.lng}`,\n        point: location?.point || null,\n        addressComponents: location?.addressComponents || null,\n        utcOffsetMinutes: result.utc_offset_minutes,\n    };\n};\n\nconst tryGeocodeByPoint = async (googleMapContext: GoogleMapContextT | null, point: GeoPointT): Promise<LocationT> => {\n    const geocodedLocation = await geocodeByPoint(googleMapContext, point);\n    if (geocodedLocation) {\n        return geocodedLocation;\n    }\n\n    return {\n        point: {\n            lat: point.lat,\n            lng: point.lng,\n        },\n        address: `${point.lat}, ${point.lng}`,\n        addressComponents: null,\n        utcOffsetMinutes: null,\n    };\n};\n\nconst RouteEditMap: React.FC<PropsT> = React.memo((props) => {\n    const { isShowExcludeCountriesControl, deadheadPreviewResponse } = props;\n\n    const createContextRequest = useSelector(selectDeadheadContextRequest);\n    const isApplyingContextChanges = useSelector(selectIsApplyingContextChanges);\n\n    const isLoading = isApplyingContextChanges || createContextRequest?.loading;\n\n    const syncMapStateContext = useContext(SyncRouteEditFormMapStateContext);\n    const { mapRoutePoints, excludedCountries, setExcludedCountries } = syncMapStateContext;\n\n    const mapRoutePointsById = React.useMemo(() => {\n        return keyBy(mapRoutePoints, 'id');\n    }, [mapRoutePoints]);\n\n    const draggablePinRef = React.useRef<string | null>(null);\n    const [activeLocation, setActiveLocation] = React.useState<LocationT | null>(null);\n    const [draggable, setDraggable] = React.useState(true);\n\n    const handleDragMove = (childKey: string, childProps: any, mouse: GeoPointT) => {\n        const routePointId = parseKey(childKey);\n        const mapRoutePoint = mapRoutePointsById[routePointId] || null;\n        if (!mapRoutePoint?.isDraggable) {\n            return;\n        }\n\n        setDraggable(false);\n\n        draggablePinRef.current = childKey;\n\n        setActiveLocation({\n            point: {\n                lat: mouse.lat,\n                lng: mouse.lng,\n            },\n            address: null,\n            addressComponents: null,\n            utcOffsetMinutes: null,\n        });\n    };\n\n    React.useEffect(() => {\n        setActiveLocation(null);\n        draggablePinRef.current = null;\n    }, [mapRoutePoints]);\n\n    const handleDragEnd = async (childKey: string, childProps: any, mouse: GeoPointT) => {\n        if (draggablePinRef.current !== childKey) {\n            return;\n        }\n\n        setDraggable(true);\n\n        const location = await tryGeocodeByPoint(googleMapContext, mouse);\n\n        const routePointId = parseKey(childKey);\n\n        syncMapStateContext.onDragEndDnDCallback?.callback?.(routePointId, location);\n    };\n\n    const handleMapClick = async (event: ClickEventValue) => {\n        const location = await tryGeocodeByPoint(googleMapContext, event);\n        syncMapStateContext.onMapClickCallback?.callback?.(location);\n    };\n\n    const [api, setApi] = React.useState<TODO>(null);\n\n    const prevBoundingBoxHashRef = React.useRef<string>('');\n    const onSetMapBoundingBoxCallback: OnSetMapBoundingBoxCallbackT = React.useCallback(\n        (boundPoints) => {\n            if (!boundPoints) {\n                return;\n            }\n\n            const boundingBoxHashRef = JSON.stringify(boundPoints);\n            if (prevBoundingBoxHashRef.current === boundingBoxHashRef) {\n                return;\n            }\n\n            prevBoundingBoxHashRef.current = boundingBoxHashRef;\n\n            if (!api) {\n                return;\n            }\n            const { map, maps } = api;\n\n            const bounds = new maps.LatLngBounds();\n\n            boundPoints.forEach((boundPoint) => {\n                const [latitude, longitude] = boundPoint;\n                if (isNumber(latitude) && isNumber(longitude)) {\n                    const latLng = new maps.LatLng(latitude, longitude);\n                    bounds.extend(latLng);\n                }\n            });\n\n            map.fitBounds(bounds);\n        },\n        [api, prevBoundingBoxHashRef],\n    );\n\n    React.useEffect(() => {\n        syncMapStateContext.setOnSetMapBoundingBox({\n            callback: onSetMapBoundingBoxCallback,\n        });\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onSetMapBoundingBoxCallback, syncMapStateContext.setOnSetMapBoundingBox]);\n\n    const polylineIds = useMemo(() => {\n        return [\n            deadheadPreviewResponse?.truckToTrailerPolylineId,\n            deadheadPreviewResponse?.trailerToPickupPolylineId,\n            deadheadPreviewResponse?.payloadPolylineId,\n            deadheadPreviewResponse?.dropTrailerPolylineId,\n            deadheadPreviewResponse?.dropTruckPolylineId,\n        ].filter(isNonNil);\n    }, [deadheadPreviewResponse]);\n\n    const payloadGeometryStates = useSelector(selectRoutingGeometryStates(polylineIds));\n\n    useRouteGeometry(polylineIds);\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const apiIsLoaded = (api: TODO) => {\n        setApi(api);\n\n        const { map, maps } = api;\n\n        // eslint-disable-next-line no-unused-expressions\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const renderRoutePointPin = (mapRoutePoint: MapRoutePointT): React.ReactNode => {\n        const key = formatKey(mapRoutePoint.id);\n\n        let latLngProps = {};\n        if (draggablePinRef.current === key) {\n            if (!activeLocation?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: activeLocation.point.lat,\n                lng: activeLocation.point.lng,\n            };\n        } else {\n            if (!mapRoutePoint?.location?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: mapRoutePoint.location.point?.lat,\n                lng: mapRoutePoint.location.point?.lng,\n            };\n        }\n\n        if (\n            mapRoutePoint.type === DeadheadRouteStopTypeEnum.ferryDisembark ||\n            mapRoutePoint.type === DeadheadRouteStopTypeEnum.ferryOnboard\n        ) {\n            let theme = MapPinThemeEnum.charcoal;\n            if (mapRoutePoint.hasError) {\n                theme = MapPinThemeEnum.tomatoRed;\n            }\n\n            return (\n                <FerryLocationPin\n                    key={key}\n                    className={cx('route-point-pin', 'route-point-pin--ferry')}\n                    {...latLngProps}\n                    theme={theme}\n                />\n            );\n        }\n\n        let fillColor = StyleGuideColorsEnum.charcoal;\n        if (mapRoutePoint.type === DeadheadRouteStopTypeEnum.driveThrough) {\n            fillColor = StyleGuideColorsEnum.gray;\n        }\n\n        if (mapRoutePoint.hasError) {\n            fillColor = StyleGuideColorsEnum.tomatoRed;\n        }\n\n        return (\n            <NumberPinIcon\n                number={mapRoutePoint.number}\n                key={key}\n                className={cx('route-point-pin', 'route-point-pin--number')}\n                fillColor={fillColor}\n                {...latLngProps}\n            />\n        );\n    };\n\n    const fixReRenderRouteKey = `${mapRoutePoints?.length || 0}`;\n\n    return (\n        <>\n            {isLoading && <MapLoader />}\n            <GoogleMapReact\n                key=\"broker-deadhead-creation\"\n                onGoogleApiLoaded={apiIsLoaded}\n                yesIWantToUseGoogleMapApiInternals\n                draggable={draggable}\n                center={undefined}\n                zoom={undefined}\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                onClick={handleMapClick}\n                options={MAP_OPTIONS}\n                onChildMouseDown={handleDragMove}\n                onChildMouseUp={handleDragEnd}\n                onChildMouseMove={handleDragMove}\n            >\n                {mapRoutePoints.map((mapRoutePoint) => {\n                    return renderRoutePointPin(mapRoutePoint);\n                })}\n            </GoogleMapReact>\n            {payloadGeometryStates.map((payloadGeometryState, index) => {\n                return (\n                    <MapRoute\n                        key={`tour-deadhead-route-${index}-${fixReRenderRouteKey}`}\n                        map={api?.map}\n                        maps={api?.maps}\n                        geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                        polylines={payloadGeometryState.data}\n                        theme={MapRouteThemeEnum.tourDeadhead}\n                        zIndex={0}\n                    />\n                );\n            })}\n            {isShowExcludeCountriesControl && (\n                <ExcludeCountries\n                    className={cx('exclude-countries')}\n                    excludedCountries={excludedCountries}\n                    onChangeExcludedCountries={setExcludedCountries}\n                />\n            )}\n        </>\n    );\n});\n\nexport default RouteEditMap;\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ContentMargins.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    children: React.ReactNode;\n    className?: string;\n};\n\nconst ContentMargins: React.FC<PropsT> = React.memo((props) => {\n    const { children, className } = props;\n\n    return <div className={cs(cx('content'), className)}>{children}</div>;\n});\n\nexport default ContentMargins;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"LastAssetTrackPointPin__content___C26CG\",\"last-track-point-updated\":\"LastAssetTrackPointPin__last-track-point-updated___xaZJM\",\"inner--has-paddings\":\"LastAssetTrackPointPin__inner--has-paddings___tFsXN\",\"fadeIn\":\"LastAssetTrackPointPin__fadeIn___ZrarZ\",\"blinking\":\"LastAssetTrackPointPin__blinking___T2_Yo\"};","import {\n    ApiRFQBrokerSourceT,\n    PartnerTypeEnum,\n    RFQShipperSourceEnum,\n    RFQsQuickFilterEnum,\n    RFQsSortEnum,\n    RFQStatusEnum,\n} from 'common/utils/api/models';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport {\n    AnyFetchRFQsPageQueryT,\n    FetchBrokerRFQsPageQueryT,\n    FetchShipperRFQsPageQueryT,\n} from 'common/store/rfqs/models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\n\nconst getQueryFromQuickFilters = (quickFilter?: RFQsQuickFilterEnum): AnyFetchRFQsPageQueryT => {\n    switch (quickFilter) {\n        case RFQsQuickFilterEnum.closed: {\n            return {\n                status: RFQStatusEnum.closed,\n            };\n        }\n        case RFQsQuickFilterEnum.completed: {\n            return {\n                status: RFQStatusEnum.completed,\n            };\n        }\n        case RFQsQuickFilterEnum.preExpire: {\n            return {\n                status: RFQStatusEnum.expireSoon,\n            };\n        }\n        case RFQsQuickFilterEnum.expired: {\n            return {\n                status: RFQStatusEnum.expired,\n            };\n        }\n        case RFQsQuickFilterEnum.open: {\n            return {\n                status: RFQStatusEnum.open,\n            };\n        }\n        default:\n            return {};\n    }\n};\n\nconst formatSort = (sort: PageSortT<RFQsSortEnum> | null): AnyFetchRFQsPageQueryT['sorting'] | null => {\n    switch (sort?.value) {\n        case RFQsSortEnum.creationDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'CREATED_ASC';\n            }\n            return 'CREATED_DESC';\n        }\n        case RFQsSortEnum.deadline: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'DEADLINE_ASC';\n            }\n            return 'DEADLINE_DESC';\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nconst prepareCommonFetchPageQuery = (queryFilters: QueryFiltersT, sort: PageSortT<RFQsSortEnum> | null) => {\n    const dictTrailerId = queryFilters[QueryFiltersKeysEnum.dictTrailerId];\n\n    return {\n        trailerType: typeof dictTrailerId === 'string' ? +dictTrailerId : undefined,\n        origin: queryFilters[QueryFiltersKeysEnum.pickupAddress] || undefined,\n        destination: queryFilters[QueryFiltersKeysEnum.dropoffAddress] || undefined,\n\n        textSearch: queryFilters[QueryFiltersKeysEnum.searchText] || undefined,\n\n        pickupFrom: queryFilters[QueryFiltersKeysEnum.pickupDateFrom] || undefined,\n        pickupTo: queryFilters[QueryFiltersKeysEnum.pickupDateTo] || undefined,\n\n        dropOffFrom: queryFilters[QueryFiltersKeysEnum.dropOffDateFrom] || undefined,\n        dropOffTo: queryFilters[QueryFiltersKeysEnum.dropOffDateTo] || undefined,\n\n        createdFrom: queryFilters[QueryFiltersKeysEnum.createdDateFrom] || undefined,\n        createdTo: queryFilters[QueryFiltersKeysEnum.createdDateTo] || undefined,\n\n        createdBy: queryFilters[QueryFiltersKeysEnum.createdById] || undefined,\n\n        ...getQueryFromQuickFilters(queryFilters[QueryFiltersKeysEnum.quickFilter]),\n\n        ...(sort?.value\n            ? {\n                  sorting: formatSort(sort) || undefined,\n              }\n            : {}),\n    };\n};\n\nconst prepareShipperFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<RFQsSortEnum> | null,\n): FetchShipperRFQsPageQueryT => {\n    const source = queryFilters[QueryFiltersKeysEnum.source];\n\n    return {\n        ...prepareCommonFetchPageQuery(queryFilters, sort),\n        imported: source ? source === RFQShipperSourceEnum.imported : undefined,\n    };\n};\n\nconst prepareBrokerFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<RFQsSortEnum> | null,\n): FetchBrokerRFQsPageQueryT => {\n    return {\n        ...prepareCommonFetchPageQuery(queryFilters, sort),\n        shipperId: queryFilters[QueryFiltersKeysEnum.shipperIds] || undefined,\n        source: (queryFilters[QueryFiltersKeysEnum.extendedSource] as ApiRFQBrokerSourceT[]) || undefined,\n    };\n};\n\nconst prepareFetchPageQuery = (\n    partnerType: PartnerTypeEnum | null,\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<RFQsSortEnum> | null,\n) => {\n    if (partnerType === PartnerTypeEnum.broker) {\n        return prepareBrokerFetchPageQuery(queryFilters, sort);\n    }\n\n    return prepareShipperFetchPageQuery(queryFilters, sort);\n};\n\nexport { prepareFetchPageQuery };\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DriverFiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { CommonSidebarDataT, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { DriverFiltersSidebarDataT } from './models';\nimport { useQueryParam } from 'use-query-params';\nimport { createJsonParams } from 'common/utils/query';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from 'common/layouts/DriversPageLayout/query-models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<DriverFiltersSidebarDataT, CommonSidebarDataT>;\n\nconst DriverFiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose } = props;\n\n    const { t } = useTranslation();\n\n    const [queryFilters, setQueryFilters] = useQueryParam<QueryFiltersT>(\n        QueryKeysEnum.driversFilters,\n        createJsonParams<QueryFiltersT>({}),\n    );\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(queryFilters);\n        return [values, {}];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        initialErrors,\n        onSubmit: (values, formikHelpers): void => {\n            const newQeryFilters = getQueryFilters(values);\n\n            setQueryFilters({\n                [QueryFiltersKeysEnum.searchText]: initialQueryFilters[QueryFiltersKeysEnum.searchText],\n                ...newQeryFilters,\n            });\n\n            formikHelpers.setTouched({});\n\n            if (onClose) {\n                onClose();\n            }\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('common:drivers-page.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <div className={cx('block')}>\n                    <FormikField\n                        name={FieldsEnum.name}\n                        label={t('common:drivers-page.filters.fields.name.label')}\n                        error={formik.errors[FieldsEnum.name]}\n                        meta={formik.getFieldMeta(FieldsEnum.name)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.name}\n                                value={formik.values[FieldsEnum.name]}\n                                placeholder={t('common:drivers-page.filters.fields.name.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </div>\n            </SideBarLayout>\n            <FooterSideBarLayout isTransparent hasPaddings>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('common:drivers-page.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default DriverFiltersSidebarContent;\n","export type ApiRepeatStrategyTypeTypeT = NonNullable<Api2.Definitions.UpdateManualRateRuleDto['repeatMode']>;\nexport enum RepeatStrategyTypeEnum {\n    none = 'NONE',\n    weekly = 'WEEKLY',\n    monthly = 'MONTHLY',\n    yearly = 'YEARLY',\n}\n\nexport type ApiRuleImpactStrategyTypeT = NonNullable<Api2.Definitions.UpdateManualRateRuleDto['operator']>;\nexport enum RuleImpactStrategyEnum {\n    value = 'VALUE',\n    percent = 'PERCENTS',\n}\n\nexport type ApiPriceComponentTypeT = Api2.Definitions.Target;\nexport enum PriceComponentTypeEnum {\n    lineHaul = 'LINE_HAUL',\n    fuel = 'FUEL',\n    roadTaxes = 'ROAD_TAXES',\n    roadTaxesGeneral = 'ROAD_TAXES_GENERAL',\n    roadTaxesCity = 'ROAD_TAXES_CITY',\n    roadTaxesBridge = 'ROAD_TAXES_BRIDGE',\n    roadTaxesTunnel = 'ROAD_TAXES_TUNNEL',\n    roadTaxesFerry = 'ROAD_TAXES_FERRY',\n    roadTaxesMountainPass = 'ROAD_TAXES_MOUNTAIN_PASS',\n    serviceFee = 'SERVICE_FEE',\n}\n\nexport enum PriceSettingsRuleOperationEnum {\n    surcharge = 'SURCHARGE',\n    discount = 'DISCOUNT',\n    value = 'VALUE',\n}\nexport type ApiPriceSettingsRuleOperationT = Api2.Definitions.FilterOperator;\n\nexport enum StatisticGranularityEnum {\n    day = 'DAY',\n    week = 'WEEK',\n    month = 'MONTH',\n}\n\nexport enum StatisticSourceEnum {\n    native = 'NATIVE',\n    import = 'IMPORT',\n}\n\nexport type ApiDoneStatisticT = Api.Definitions.SeriesAndAggregateMarginRateStatisticsDto;\nexport type ApiDoneFiltersStatisticT = ApiPaths.ApiV1BrokerStatisticsRatesDone.Get.QueryParameters;\n\nexport type ApiRejectStatisticT = Api.Definitions.SeriesAndAggregateRateStatisticsDto;\nexport type ApiRejectFiltersStatisticT = ApiPaths.ApiV1BrokerStatisticsRatesReject.Get.QueryParameters;\n\nexport type ApiBrokerInvoiceT = Api.Definitions.BrokerInvoiceDto;\nexport enum BrokerInvoicesSortEnum {\n    createDate = 'create-date',\n}\n\nexport type ApiCoordinateT = Api2.Definitions.Coordinate;\n\nexport type ApiEditOrderContextT = Api2.Definitions.OrderEditContext;\nexport type ApiTourEditNewStopT = Api2.Definitions.TourEditNewStop;\nexport type ApiTourUpdateStopDataT = Api2.Definitions.TourUpdateStopData;\n\nexport type ApiCancelByBrokerUnavailableReasonT = Api2.Definitions.TOCancelByBrokerUnavailableReason;\nexport type ApiAssignAssetsUnavailableReasonT = Api2.Definitions.AssignAssetsUnavailableReason;\nexport type ApiSendToSpotUnavailableReasonT = Api2.Definitions.SendToSpotUnavailableReason;\n\nexport type ApiBrokerTourTypeT = Api2.Definitions.TourType;\n\nexport enum ApiBrokerTourEnum {\n    deadhead = 'DEADHEAD',\n    shipment = 'SHIPMENT',\n}\n\nexport type ApiDeadheadInitContextQueryT = Api2.Definitions.InitContextRequest;\nexport type ApiDeadheadInitContextResponseT = Api2.Definitions.TourDeadheadInitContextResponse;\n\nexport type ApiDeadheadPreviewContextQueryT = Api2.Definitions.ChooseArrivalDateTimeRequest;\nexport type ApiDeadheadPreviewContextResponseT = Api2.Definitions.TourDeadheadChooseOriginResponse;\n\nexport type ApiDeadheadApplyContextQueryT = Api2.Definitions.BrokerApplyDeadheadContextRequest;\nexport type ApiDeadheadApplyContextResponseT = Api2.Definitions.ApplyContextResponse;\n\nexport type ApiContactT = Api2.Definitions.Contact;\n\nexport type ApiTruckAssetT = Api2.Definitions.TruckAsset;\nexport type ApiTruckAssetInvalidReasonT = NonNullable<Api2.Definitions.TruckAsset['invalidReason']>;\n\nexport type ApiFetchBrokerTeamsPageQueryT = Api2Paths.ApiV1BrokerTeamsFilter.Get.QueryParameters;\nexport type ApiBrokerTeamT = Api2.Definitions.FilterTeamDto;\n\nexport type ApiBrokerTeamDetailsT = Api2.Definitions.TeamDto;\n\nexport type ApiBrokerTeamUserT = Api2.Definitions.TeamUser;\nexport type ApiBrokerTeamCompanyT = Api2.Definitions.TeamCompany;\n\nexport type ApiCreateUpdateTeamRequestT = Api2.Definitions.CreateUpdateTeamRequest;\n\nexport type ApiCarrierAdditionalServiceChangesT = Api2.Definitions.DictCarrierAdditionalServiceCostDto;\n\nexport type ApiShipmentAttachedPaperTypeT = Api2.Definitions.ShipmentAttachedPaperType;\nexport type ApiTourAttachedPaperTypeT = Api2.Definitions.TourAttachedPaperType;\nexport type ApiAttachPaperRequestT = Api2.RequestBodies.AttachPaperRequest;\n\nexport type ApiTenderInfoT = Api2.Definitions.SimpleTenderInfo;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ShipperContractLaneCreationConfirmForm__wrap___j8afZ\",\"head\":\"ShipperContractLaneCreationConfirmForm__head___nTRcz\",\"body\":\"ShipperContractLaneCreationConfirmForm__body___hSC4v\",\"receipt\":\"ShipperContractLaneCreationConfirmForm__receipt___kD63L\",\"actions\":\"ShipperContractLaneCreationConfirmForm__actions___jU_mk\",\"action\":\"ShipperContractLaneCreationConfirmForm__action___z9aj2\",\"mini-actions\":\"ShipperContractLaneCreationConfirmForm__mini-actions___y7ECd\",\"total-price-skeleton\":\"ShipperContractLaneCreationConfirmForm__total-price-skeleton____TDHH\",\"total-price\":\"ShipperContractLaneCreationConfirmForm__total-price___uZsPE\",\"loader\":\"ShipperContractLaneCreationConfirmForm__loader___M3Yzl\",\"loader__paranja\":\"ShipperContractLaneCreationConfirmForm__loader__paranja___mfTby\",\"loader__container\":\"ShipperContractLaneCreationConfirmForm__loader__container___nGUGy\",\"fadeIn\":\"ShipperContractLaneCreationConfirmForm__fadeIn___o0pzb\",\"blinking\":\"ShipperContractLaneCreationConfirmForm__blinking___hsUte\"};","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"BrokerUsersTab__tabs___XbrVV\",\"fadeIn\":\"BrokerUsersTab__fadeIn___Vpgxj\",\"blinking\":\"BrokerUsersTab__blinking___GVaOl\"};","// extracted by mini-css-extract-plugin\nexport default {\"date\":\"HumanReadableDateCell__date___AJKZs\",\"date--isBold\":\"HumanReadableDateCell__date--isBold___buOBW\",\"date--isBigFont\":\"HumanReadableDateCell__date--isBigFont___yPc3B\",\"fadeIn\":\"HumanReadableDateCell__fadeIn___vSUNL\",\"blinking\":\"HumanReadableDateCell__blinking___SOpv5\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { DictDocumentByIdT } from 'common/store/documents-dict/models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type ConfirmUploadDocumentModalDataT = {\n    dictDocumentId: DictDocumentFakeIdT;\n};\n\ntype PropsT = {\n    data: ConfirmUploadDocumentModalDataT | null;\n    requestStatus: RequestStatusT;\n    documentsDictById: DictDocumentByIdT;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (data: ConfirmUploadDocumentModalDataT) => void;\n};\n\nconst TEST_SELECTOR = 'upload-document-confirmation';\n\nconst UploadDocumentConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { documentsDictById, requestStatus, data, onConfirm, onClose, onCancel } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    const dictDocument = documentsDictById[data.dictDocumentId];\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.update'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: requestStatus.loading,\n                            isDisabled: requestStatus.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('common:profile-page.document-change-confirmation.title')}\n                    message={t('common:profile-page.document-change-confirmation.description', {\n                        documentName: (dictDocument?.name || '').toLocaleLowerCase(),\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default UploadDocumentConfirmation;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LocationCell.scss';\nimport { PartnerT } from 'broker-admin/store/partners/models';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\n\ntype PropsT = {\n    partner: PartnerT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst LocationCell: React.FC<PropsT> = React.memo((props) => {\n    const { partner } = props;\n\n    const address = [partner.city, partner.zipCode].filter(Boolean).join(', ');\n\n    return (\n        <div>\n            <div className={cx('wrap')}>\n                {!!partner.countryCode && <FlagIcon className={cx('flag')} countryCode={partner.countryCode} />}\n                <span className={cx('country')}>{partner.country}</span>\n            </div>\n            <div className={cx('address')}>{address}</div>\n        </div>\n    );\n});\n\nexport default LocationCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"pill\":\"FilterPill__pill___Z9LCU\",\"pill--has-icon\":\"FilterPill__pill--has-icon___wH210\",\"pill--is-compact\":\"FilterPill__pill--is-compact___eVOVF\",\"pill--is-full-clickable\":\"FilterPill__pill--is-full-clickable___M4zy4\",\"pill--theme-brandDark\":\"FilterPill__pill--theme-brandDark___BQGxe\",\"pill--theme-charcoal\":\"FilterPill__pill--theme-charcoal___wYHT7\",\"pill--theme-brandAccent\":\"FilterPill__pill--theme-brandAccent___ISfZl\",\"pill--theme-blazeOrange\":\"FilterPill__pill--theme-blazeOrange___x6QjO\",\"pill--theme-tomatoRed\":\"FilterPill__pill--theme-tomatoRed___f194v\",\"pill--theme-attention\":\"FilterPill__pill--theme-attention___XDKGK\",\"icon\":\"FilterPill__icon___BcFB1\",\"icon--is-compact\":\"FilterPill__icon--is-compact___htB17\",\"icon-placeholder\":\"FilterPill__icon-placeholder___vcR3g\",\"icon-placeholder--is-compact\":\"FilterPill__icon-placeholder--is-compact___mZtUp\",\"label\":\"FilterPill__label___y5djo\",\"label--is-compact\":\"FilterPill__label--is-compact___IwIeI\",\"closer\":\"FilterPill__closer___WtNO8\",\"closer--is-compact\":\"FilterPill__closer--is-compact___SA7sP\",\"fadeIn\":\"FilterPill__fadeIn___kH19Z\",\"blinking\":\"FilterPill__blinking___NCc2T\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    APPROVE_CARRIER_CONTRACT_REQUEST,\n    ApproveCarrierContractActionT,\n    DOWNLOAD_CARRIER_CONTRACT_REQUEST,\n    DownloadCarrierContractActionT,\n    FETCH_CARRIER_CONTRACTS_REQUEST,\n    FetchCarrierContractsActionT,\n    REJECT_CARRIER_CONTRACT_REQUEST,\n    RejectCarrierContractActionT,\n    REVOKE_CARRIER_CONTRACT_REQUEST,\n    RevokeCarrierContractActionT,\n    UPDATE_CARRIER_CONTRACT_REQUEST,\n    UpdateCarrierContractActionT,\n    UPLOAD_CARRIER_CONTRACT_REQUEST,\n    UploadCarrierContractActionT,\n} from './types';\nimport {\n    downloadCarrierContractBegin,\n    downloadCarrierContractError,\n    downloadCarrierContractSuccess,\n    fetchCarrierContractsBegin,\n    fetchCarrierContractsError,\n    fetchCarrierContractsSuccess,\n    updateCarrierContractBegin,\n    updateCarrierContractError,\n    updateCarrierContractSuccess,\n    uploadCarrierContractBegin,\n    uploadCarrierContractError,\n    uploadCarrierContractSuccess,\n} from './actions';\n\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport { selectFetchCarrierContractsRequest } from 'common/store/carrier-contracts/selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport isNil from 'lodash/isNil';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport downloadFile from 'common/utils/download-file';\nimport { ContractDetailsChangesT } from 'common/store/carrier-contracts/models';\nimport { carrierContractsRefreshChannel } from 'common/store/carrier-contracts/channels';\nimport { carrierContractDetailsRefreshChannel } from 'common/store/carrier-contract-details/channels';\nimport { logWarning } from 'common/utils/logger';\nimport { HEADERS, parseContentDispositionFilename } from 'common/utils/download-headers';\n\nfunction* fetchCarrierContractsSaga(action: FetchCarrierContractsActionT): WrapGeneratorT<void> {\n    const { partnerId, options } = action;\n\n    const requestStatus: ReReturnT<typeof selectFetchCarrierContractsRequest> = yield select(\n        selectFetchCarrierContractsRequest(partnerId),\n    );\n    if (!checkNeedRequest(requestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchCarrierContractsBegin(partnerId));\n\n    let result: ReturnApiT<\n        typeof carrierTranziitApi.fetchCarrierContracts | typeof brokerTranziitApi.fetchCarrierContracts\n    >;\n\n    if (checkIsDefaultCompanyId(partnerId)) {\n        result = yield carrierTranziitApi.fetchCarrierContracts();\n    } else {\n        result = yield brokerTranziitApi.fetchCarrierContracts(partnerId);\n    }\n\n    const [error, partnerContracts] = result;\n\n    if (error) {\n        yield put(fetchCarrierContractsError(partnerId, error));\n        return;\n    }\n\n    yield put(fetchCarrierContractsSuccess(partnerId, partnerContracts || []));\n}\n\nfunction* updateCarrierContractSaga(action: UpdateCarrierContractActionT): WrapGeneratorT<void> {\n    const { partnerId, contractId, contractChanges } = action;\n\n    const [fetchDetailsError, contractDetails]: ReturnApiT<typeof brokerTranziitApi.fetchCarrierContractDetails> =\n        yield brokerTranziitApi.fetchCarrierContractDetails(partnerId, contractId);\n\n    if (fetchDetailsError) {\n        yield put(updateCarrierContractError(partnerId, fetchDetailsError));\n        return;\n    }\n\n    if (!contractDetails) {\n        return;\n    }\n\n    const patchedPartnerContract: ContractDetailsChangesT = {\n        ...contractDetails,\n        ...contractChanges,\n    };\n\n    yield put(updateCarrierContractBegin(partnerId, contractId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updateCarrierContract> =\n        yield brokerTranziitApi.updateCarrierContract(partnerId, contractId, patchedPartnerContract);\n\n    if (error) {\n        yield put(updateCarrierContractError(partnerId, error));\n        return;\n    }\n\n    carrierContractDetailsRefreshChannel.emit({\n        contractId,\n    });\n    carrierContractsRefreshChannel.emit({});\n\n    yield put(updateCarrierContractSuccess(partnerId));\n}\n\nfunction* revokeCarrierContractSaga(action: RevokeCarrierContractActionT): WrapGeneratorT<void> {\n    const { partnerId, contractId, revokeInfo } = action;\n\n    if (isNil(contractId)) {\n        return;\n    }\n\n    yield put(updateCarrierContractBegin(partnerId, contractId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.revokeCarrierContract> =\n        yield brokerTranziitApi.revokeCarrierContract(partnerId, contractId, revokeInfo);\n\n    if (error) {\n        yield put(updateCarrierContractError(partnerId, error));\n        return;\n    }\n\n    carrierContractDetailsRefreshChannel.emit({\n        contractId,\n    });\n    carrierContractsRefreshChannel.emit({});\n\n    yield put(updateCarrierContractSuccess(partnerId));\n}\n\nfunction* rejectCarrierContractSaga(action: RejectCarrierContractActionT): WrapGeneratorT<void> {\n    const { partnerId, contractId, reason } = action;\n\n    yield put(updateCarrierContractBegin(partnerId, contractId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.rejectCarrierContract> =\n        yield brokerTranziitApi.rejectCarrierContract(partnerId, contractId, {\n            reason,\n        });\n\n    if (error) {\n        yield put(updateCarrierContractError(partnerId, error));\n        return;\n    }\n\n    carrierContractDetailsRefreshChannel.emit({\n        contractId,\n    });\n    carrierContractsRefreshChannel.emit({});\n\n    yield put(updateCarrierContractSuccess(partnerId));\n}\n\nfunction* approveCarrierContractSaga(action: ApproveCarrierContractActionT): WrapGeneratorT<void> {\n    const { partnerId, contractId, contractChanges } = action;\n\n    if (isNil(contractId)) {\n        return;\n    }\n\n    yield put(updateCarrierContractBegin(partnerId, contractId));\n\n    const [fetchDetailsError, contractDetails]: ReturnApiT<typeof brokerTranziitApi.fetchCarrierContractDetails> =\n        yield brokerTranziitApi.fetchCarrierContractDetails(partnerId, contractId);\n\n    if (fetchDetailsError) {\n        yield put(updateCarrierContractError(partnerId, fetchDetailsError));\n        return;\n    }\n\n    if (!contractDetails) {\n        return;\n    }\n\n    const patchedPartnerContract: ContractDetailsChangesT = {\n        ...contractDetails,\n        ...contractChanges,\n    };\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.approveCarrierContract> =\n        yield brokerTranziitApi.approveCarrierContract(partnerId, contractId, patchedPartnerContract);\n\n    if (error) {\n        yield put(updateCarrierContractError(partnerId, error));\n        return;\n    }\n\n    carrierContractDetailsRefreshChannel.emit({\n        contractId,\n    });\n    carrierContractsRefreshChannel.emit({});\n\n    yield put(updateCarrierContractSuccess(partnerId));\n}\n\nfunction* uploadCarrierContractSaga(action: UploadCarrierContractActionT): WrapGeneratorT<void> {\n    const { partnerId, file } = action;\n\n    yield put(uploadCarrierContractBegin(partnerId));\n\n    let response: ReturnApiT<\n        typeof carrierTranziitApi.uploadCarrierContract | typeof brokerTranziitApi.uploadCarrierContract\n    >;\n    if (checkIsDefaultCompanyId(partnerId)) {\n        response = yield carrierTranziitApi.uploadCarrierContract(file);\n    } else {\n        response = yield brokerTranziitApi.uploadCarrierContract(file, partnerId);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(uploadCarrierContractError(error, partnerId));\n        return;\n    }\n\n    yield put(uploadCarrierContractSuccess(partnerId));\n\n    carrierContractsRefreshChannel.emit({});\n\n    yield put(\n        addAlert(\n            new CommonAnyAlert({\n                type: CommonAlertTypeEnum.contractUploaded,\n                data: {},\n            }),\n        ),\n    );\n}\n\nfunction* downloadCarrierContractSaga(action: DownloadCarrierContractActionT): WrapGeneratorT<void> {\n    const { partnerId, contractId } = action;\n\n    yield put(downloadCarrierContractBegin(partnerId));\n\n    let response: ReturnApiT<\n        typeof carrierTranziitApi.fetchCarrierContract | typeof brokerTranziitApi.fetchCarrierContract\n    >;\n    if (checkIsDefaultCompanyId(partnerId)) {\n        response = yield carrierTranziitApi.fetchCarrierContract(contractId);\n    } else {\n        response = yield brokerTranziitApi.fetchCarrierContract(partnerId, contractId);\n    }\n    const [error, result, rawResponse] = response;\n\n    if (error) {\n        yield put(downloadCarrierContractError(error, partnerId));\n        return;\n    }\n\n    if (!rawResponse) {\n        logWarning('empty rawResponse for carrier contract download', { partnerId, contractId });\n    }\n\n    const contentDispositionHeader = rawResponse?.headers.get(HEADERS.CONTENT_DISPOSITION);\n    const filename = parseContentDispositionFilename(contentDispositionHeader || '');\n    if (!filename) {\n        logWarning('empty filename for carrier contract download', { partnerId, contractId, contentDispositionHeader });\n    }\n\n    const fileTypeHeader = rawResponse?.headers.get(HEADERS.CONTENT_TYPE);\n    if (!fileTypeHeader) {\n        logWarning('empty file type for carrier contract download', { partnerId, contractId, fileTypeHeader });\n    }\n\n    if (result && filename && fileTypeHeader) {\n        downloadFile({\n            name: filename,\n            data: result,\n            type: fileTypeHeader,\n        });\n    }\n\n    yield put(downloadCarrierContractSuccess(partnerId));\n}\n\nfunction* carrierContractsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_CARRIER_CONTRACTS_REQUEST, fetchCarrierContractsSaga);\n    yield takeEvery(UPDATE_CARRIER_CONTRACT_REQUEST, updateCarrierContractSaga);\n    yield takeEvery(REVOKE_CARRIER_CONTRACT_REQUEST, revokeCarrierContractSaga);\n    yield takeEvery(REJECT_CARRIER_CONTRACT_REQUEST, rejectCarrierContractSaga);\n    yield takeEvery(APPROVE_CARRIER_CONTRACT_REQUEST, approveCarrierContractSaga);\n    yield takeEvery(UPLOAD_CARRIER_CONTRACT_REQUEST, uploadCarrierContractSaga);\n    yield takeEvery(DOWNLOAD_CARRIER_CONTRACT_REQUEST, downloadCarrierContractSaga);\n}\n\nexport default carrierContractsSaga;\n","import {\n    ApiAppliedRuleT,\n    ApiBrokerAdditionalServiceT,\n    ApiCarrierAdditionalServiceT,\n    ApiLocationT,\n    ApiMultiPointPriceOfferT,\n    ApiOrderCreationReservePointTypeT,\n    ApiOrderCreationShipperInfoT,\n    ApiRFQDetailsT,\n} from 'common/utils/api/models';\nimport { CountryCodeT } from '../countries-dict/models';\nimport { ApiEmissionClassT, ApiFuelOptionTypeT } from 'common/constants';\n\nexport type ReserveQueryRoutePointChangesT = Partial<{\n    address: ApiLocationT | null;\n    addressAlias: RoutePointAddressAliasT;\n    type: ApiOrderCreationReservePointTypeT;\n    isBrokerTimeWindow: boolean;\n    timeWindowFrom: string | null;\n    timeWindowTo: string | null;\n}>;\n\nexport type ReserveQueryChangesT = Partial<{\n    fullRouteChange?: Array<ReserveQueryRoutePointChangesT>;\n    routePointChange?: {\n        addressAlias: RoutePointAddressAliasT;\n        changes: ReserveQueryRoutePointChangesT;\n    };\n    addRoutePoint?: {\n        beforeAddressAlias: RoutePointAddressAliasT;\n        changes: ReserveQueryRoutePointChangesT;\n    };\n    deleteRoutePoint?: {\n        addressAlias: RoutePointAddressAliasT;\n    };\n    trailerDictId: TrailerDictIdT | null;\n    excludedCountries: CountryCodeT[];\n    shipper: ApiOrderCreationShipperInfoT | null;\n    laneId: ShipperContractLaneIdT | null;\n}>;\n\nexport enum OrderCreationStepEnum {\n    shipmentDetails = 'shipment-details',\n    price = 'price',\n    cargoDetails = 'cargo-details',\n}\n\nexport type RFQDetailsT = OverwriteT<\n    ApiRFQDetailsT,\n    {\n        expireTime: number | null;\n        points: Array<\n            ApiRFQDetailsT['points'][number] & {\n                fromDate: string | null;\n                toDate: string | null;\n            }\n        >;\n    }\n>;\n\nexport type AppliedRuleT = ApiAppliedRuleT;\n\nexport type PriceOfferT = {\n    id: string;\n    dropOffDockingHoursFrom: string;\n    dropOffDockingHoursTo: string;\n    pickupDockingHoursFrom: string;\n    pickupDockingHoursTo: string;\n    dropOffDate: string | null;\n    pickUpDate: string | null;\n    isUrgentShipment: boolean;\n    isBestPrice?: boolean;\n    isTeamDrive: boolean;\n    isGreenTruck: boolean;\n    hasLayover: boolean;\n    layoverSeconds: number;\n    layoverPaidHours: number;\n    distanceKm: number;\n    co2: number;\n    travelSeconds: number;\n    price?: number;\n    expiration: string | null;\n    expirationMs: number | null;\n    isExpired: boolean;\n    emissionClass: ApiEmissionClassT | null | undefined;\n    brokerInfo: ApiMultiPointPriceOfferT['brokerInfo'];\n    teamDriveHours: number | null | undefined;\n    fuelOptionType: ApiFuelOptionTypeT | null | undefined;\n    priceComponents: Partial<{\n        toll: number | null;\n        fuel: number | null;\n        fuelByCountry: NonNullable<ApiMultiPointPriceOfferT['fuel']>['byCountry'];\n        lineHaul: number | null;\n        additionalServicesItems: Array<ApiCarrierAdditionalServiceT | ApiBrokerAdditionalServiceT> | null;\n        tranziitServiceFee: number | null;\n        layover: number | null;\n        totalRate: number | null;\n        costOfOperation: number | null;\n        teamDriveCost: number | null;\n        tollByRoadType: ApiMultiPointPriceOfferT['toll']['byRoadType'] | null;\n    }>;\n};\n\nexport type ReserveTimeWindowT = {\n    start: ISODateTimeT;\n    end: ISODateTimeT;\n};\n\nexport type ReserveOpenTimeWindowT = {\n    start: ISODateTimeT;\n    end: ISODateTimeT | null;\n};\n\nexport type BestOffersT = {\n    bestPrice: PriceOfferT | null;\n    urgent: PriceOfferT | null;\n};\n\nexport type ApiCreateReserveQueryT = Api2.Definitions.ReserveOrderRequest & { shipperId: ShipperIdT | null };\nexport type CreateReserveQueryT = {\n    shipperId: ShipperIdT | null;\n    addresses: Array<{\n        addressAlias: RoutePointAddressAliasT | null;\n        address: ApiLocationT | null;\n        type: ApiOrderCreationReservePointTypeT | null;\n    }>;\n    trailerDictId: number | null;\n    prohibitedCountries: CountryCodeT[];\n    routeStart?: string; // date-time\n};\nexport type CreateReserveQueryChangesT = Partial<CreateReserveQueryT>;\n\nexport type ApiReserveT = Api2.Definitions.ReservedOrderDto;\nexport type ApiReservePointT = ApiReserveT['points'][number];\n\nexport type ReserveT = Omit<ApiReserveT, 'points'> & {\n    expireTime: number;\n    points: Array<\n        Omit<ApiReservePointT, 'defaultFrom' | 'defaultTo'> & {\n            defaultTimeWindow: ReserveTimeWindowT | null;\n        }\n    >;\n};\n\nexport type ApiReservePreviewQueryT = Api2.Definitions.RfqRequest & {\n    reserveId: ReserveIdT;\n};\n\nexport type ReservePreviewQueryT = {\n    timeWindows: Array<\n        Partial<{\n            id: string;\n            addressAlias: string;\n            isBrokerTimeWindow: boolean;\n            timeWindowFrom: string | null;\n            timeWindowTo: string | null;\n        }>\n    >;\n    reserveId: ReserveIdT | null;\n    laneId: ShipperContractLaneIdT | null;\n};\nexport type ReservePreviewQueryChangesT = Partial<ReservePreviewQueryT>;\n\nexport type ApiReservePreviewT = Api2.Definitions.PriceOfferPreviewDto;\n\nexport type ReservePreviewT = {\n    isTeamDrive: boolean;\n    layoverHours?: number;\n    secondsToExpire: number; // int64\n    travelSeconds?: number;\n    timeWindows: Array<{\n        id: string; // uuid\n        correctedTimeWindow: ReserveTimeWindowT | null;\n        correctedBrokerWindow: boolean | null;\n        urgentTimeWindow: ReserveTimeWindowT | null;\n        regularTimeWindow: ReserveOpenTimeWindowT | null;\n        layoverTimeWindow: ReserveOpenTimeWindowT | null;\n        brokerAppointmentTimeWindow: ReserveOpenTimeWindowT | null;\n    }>;\n};\n\nexport type ReserveQueryModifyEventT = {\n    correctedPoints?: ReserveT['points'];\n    correctedLaneId?: ShipperContractLaneIdT | null;\n\n    correctedTimeWindowsByPointId?: Record<RoutePointIdT, ReserveTimeWindowT | null>;\n    correctedBrokerWindowByPointId?: Record<RoutePointIdT, boolean | null>;\n};\n\nexport type ReserveLockEventT = {\n    isLocked: boolean;\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PlateNumberCell.scss';\n\ntype PropsT = {\n    plateNumber: string | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst PlateNumberCell: React.FC<PropsT> = React.memo((props) => {\n    const { plateNumber } = props;\n\n    return <div className={cx('plate-number')}>{plateNumber}</div>;\n});\n\nexport default PlateNumberCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"RevokedPartnerShipperLaneContractCard__inner___fkNrb\",\"fadeIn\":\"RevokedPartnerShipperLaneContractCard__fadeIn___QLWEL\",\"blinking\":\"RevokedPartnerShipperLaneContractCard__blinking___fti_C\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EditDriverFormContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT, MEDIA_FIELDS_NAME } from './constants';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { uppercaseFirstCharacterFormatter } from 'common/utils/form-formatters';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport LanguageSelector from 'common/components/LanguageSelector/LanguageSelector';\nimport DatePicker, {\n    DatePickerOverlayPositionEnum,\n    datePicketRangePresets,\n} from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { AUTO_COMPLETE_OFF_FIX, SocialMediaEnum, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport PhoneNumberIcon from 'common/components/PhoneNumberIcon/PhoneNumberIcon';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport PhoneNumberInput from 'common/components/PhoneNumberInput/PhoneNumberInput';\nimport UserFormalDropdown from 'common/components/dropdowns/UserFormalDropdown/UserFormalDropdown';\nimport AddOtherMessengerDropdown from 'common/layouts/SideBars/contents/EditContactDetailsSidebarContent/AddOtherMessengerDropdown/AddOtherMessengerDropdown';\nimport { useFormikContext } from 'formik';\nimport { CompanyDriverDetailsT } from 'common/store/drivers/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    driverDetails: CompanyDriverDetailsT | null;\n    isHideMobilePhoneField?: boolean;\n    allowShowChanges?: boolean;\n};\n\nconst EditDriverFormContent: React.FC<PropsT> = (props) => {\n    const { driverDetails, isHideMobilePhoneField, allowShowChanges } = props;\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const { t } = useTranslation();\n\n    const [lastAddedMediaField, setLastAddedMediaField] = React.useState<SocialMediaEnum | null>(null);\n\n    const handleSelectLanguage = (langCode: string | null | undefined): void => {\n        if (!langCode) {\n            return;\n        }\n\n        formik.setFieldValue(FieldsEnum.language, langCode);\n    };\n\n    return (\n        <>\n            <div className={cx('section')}>\n                <div className={cx('section__title')}>{t('common:driver-details.sections.name')}</div>\n                <div className={cx('section__block')}>\n                    <FieldGroup>\n                        <FormikField\n                            className={cx('field--formal')}\n                            name={FieldsEnum.formal}\n                            error={formik.errors[FieldsEnum.formal]}\n                            meta={formik.getFieldMeta(FieldsEnum.formal)}\n                            label={t('common:driver-details.fields.formal.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <UserFormalDropdown\n                                    value={formik.values[FieldsEnum.formal]}\n                                    onChange={props.onChange}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={allowShowChanges && props.hasChanges}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    placeholder={t('common:driver-details.fields.formal.placeholder')}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field--first-name')}\n                            name={FieldsEnum.firstName}\n                            error={formik.errors[FieldsEnum.firstName]}\n                            meta={formik.getFieldMeta(FieldsEnum.firstName)}\n                            label={t('common:driver-details.fields.first-name.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.firstName}\n                                    value={formik.values[FieldsEnum.firstName]}\n                                    formatter={uppercaseFirstCharacterFormatter}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={allowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field--last-name')}\n                            name={FieldsEnum.lastName}\n                            error={formik.errors[FieldsEnum.lastName]}\n                            meta={formik.getFieldMeta(FieldsEnum.lastName)}\n                            label={t('common:driver-details.fields.last-name.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.lastName}\n                                    value={formik.values[FieldsEnum.lastName]}\n                                    formatter={uppercaseFirstCharacterFormatter}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={allowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                </div>\n            </div>\n            <div className={cx('section')}>\n                <div className={cx('section__title')}>{t('common:driver-details.sections.contacts')}</div>\n                <div className={cx('section__block')}>\n                    <FieldGroup>\n                        <FormikField\n                            className={cx('field--desktop-phone')}\n                            name={FieldsEnum.desktopPhone}\n                            error={formik.errors[FieldsEnum.desktopPhone]}\n                            meta={formik.getFieldMeta(FieldsEnum.desktopPhone)}\n                            label={t('common:driver-details.fields.desktop-phone.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <PhoneNumberInput\n                                    name={FieldsEnum.desktopPhone}\n                                    value={formik.values[FieldsEnum.desktopPhone]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={allowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                        {isHideMobilePhoneField ? (\n                            <FieldGroupEmptyItem className={cx('field--mobile-phone')} />\n                        ) : (\n                            <ReadOnlyField\n                                key=\"mobile-phone\"\n                                icon={<PhoneNumberIcon phoneNumber={driverDetails?.contact?.mobilePhone} />}\n                                className={cx('field--mobile-phone')}\n                                label={t('common:driver-details.fields.mobile-phone.label')}\n                                placeholder={t('common:driver-details.fields.mobile-phone.placeholder')}\n                                value={driverDetails?.contact?.mobilePhone || ''}\n                            />\n                        )}\n                    </FieldGroup>\n                    {MEDIA_FIELDS_NAME.map((media) => {\n                        const mediaValue = formik.values[media];\n\n                        if (typeof mediaValue !== 'string') {\n                            return null;\n                        }\n\n                        return (\n                            <FormikField\n                                key={media}\n                                name={media}\n                                error={formik.errors[media]}\n                                meta={formik.getFieldMeta(media)}\n                                label={t(`common:driver-details.fields.${media}.label`)}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <div className={cx('media')}>\n                                        <Input\n                                            name={media}\n                                            className={cx('media__input')}\n                                            value={mediaValue}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning}\n                                            hasChanges={allowShowChanges && props.hasChanges}\n                                            autoFocus={lastAddedMediaField === media}\n                                        />\n                                        <TransparentTrigger\n                                            className={cx('media__icon')}\n                                            onClick={() => {\n                                                formik.setFieldValue(media, undefined);\n                                            }}\n                                            reflectionTheme={ReflectionThemeEnum.light}\n                                            leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                        />\n                                    </div>\n                                )}\n                            </FormikField>\n                        );\n                    })}\n                    <AddOtherMessengerDropdown\n                        formValues={formik.values}\n                        onCreateField={(socialMedia) => {\n                            setLastAddedMediaField(socialMedia);\n                            formik.setFieldValue(socialMedia, '');\n                        }}\n                    />\n                </div>\n            </div>\n            <div className={cx('section')}>\n                <div className={cx('section__title')}>{t('common:driver-details.sections.personals')}</div>\n                <div className={cx('section__block')}>\n                    <FormikField\n                        name={FieldsEnum.address}\n                        error={formik.errors[FieldsEnum.address]}\n                        meta={formik.getFieldMeta(FieldsEnum.address)}\n                        label={t('common:driver-details.fields.address.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.address}\n                                value={formik.values[FieldsEnum.address]}\n                                formatter={uppercaseFirstCharacterFormatter}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasChanges={allowShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                    <FieldGroup>\n                        <FormikField\n                            className={cx('field--birthday')}\n                            name={FieldsEnum.birthday}\n                            error={formik.errors[FieldsEnum.birthday]}\n                            meta={formik.getFieldMeta(FieldsEnum.birthday)}\n                            label={t('common:driver-details.fields.birthday.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DatePicker\n                                    hasYearMonthForm\n                                    {...datePicketRangePresets.birthday}\n                                    name={FieldsEnum.birthday}\n                                    value={formik.values[FieldsEnum.birthday]}\n                                    initialValue={formik.initialValues[FieldsEnum.birthday]}\n                                    placeholder={t('common:driver-details.fields.birthday.placeholder')}\n                                    onChange={props.onChange}\n                                    overlayPosition={DatePickerOverlayPositionEnum.topLeft}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    hasChanges={allowShowChanges && props.hasChanges}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    autoComplete={AUTO_COMPLETE_OFF_FIX}\n                                    hasClearControl\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field--country')}\n                            name={FieldsEnum.countryCode}\n                            error={formik.errors[FieldsEnum.countryCode]}\n                            label={t('common:driver-details.fields.residence.label')}\n                            meta={formik.getFieldMeta(FieldsEnum.countryCode)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <CountryDropdown\n                                    value={formik.values[FieldsEnum.countryCode]}\n                                    onChange={(countryCode) => {\n                                        props.onChange(countryCode);\n                                    }}\n                                    overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={allowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                    <FieldGroup>\n                        <FormikField\n                            className={cx('field--language')}\n                            name={FieldsEnum.language}\n                            error={formik.errors[FieldsEnum.language]}\n                            label={t('common:driver-details.fields.language.label')}\n                            meta={formik.getFieldMeta(FieldsEnum.language)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <LanguageSelector\n                                    value={formik.values[FieldsEnum.language]}\n                                    onChange={handleSelectLanguage}\n                                    overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={allowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field--rate')}\n                            name={FieldsEnum.ratePerKm}\n                            error={formik.errors[FieldsEnum.ratePerKm]}\n                            meta={formik.getFieldMeta(FieldsEnum.ratePerKm)}\n                            label={t('common:driver-details.fields.rate-per-hour.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <NumberInput\n                                    name={FieldsEnum.ratePerKm}\n                                    unitType={UnitTypeEnum.euroAbbreviation}\n                                    placeholder={t('common:driver-details.fields.rate-per-hour.placeholder')}\n                                    value={formik.values[FieldsEnum.ratePerKm]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasChanges={allowShowChanges && props.hasChanges}\n                                    step={1}\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                </div>\n            </div>\n        </>\n    );\n};\n\nexport default EditDriverFormContent;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchStateMachineSteps,\n    fetchStateMachineStepsBegin,\n    fetchStateMachineStepsError,\n    fetchStateMachineStepsSuccess,\n    updateEntityStatus,\n    updateEntityStatusBegin,\n    updateEntityStatusError,\n    updateEntityStatusSuccess,\n} from './slice';\nimport { FetchStateMachineStepsActionT, UpdateEntityStatusActionT } from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { getStateMachineEntityHash } from 'common/store/state-machine/utils';\nimport { selectStateMachineItemState } from 'common/store/state-machine/selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getFetchStateMachineStepsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: FetchStateMachineStepsActionT): WrapGeneratorT<void> {\n        const { descriptor, options } = action.payload;\n\n        const { fetchRequest }: ReReturnT<typeof selectStateMachineItemState> = yield select(\n            selectStateMachineItemState(descriptor),\n        );\n        if (!checkNeedRequest(fetchRequest, options)) {\n            return;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        yield put(fetchStateMachineStepsBegin({ hash }));\n\n        const [error, data]: ReturnApiT<typeof commonTranziitApi.fetchStateMachineEntityStatus> =\n            yield commonTranziitApi.fetchStateMachineEntityStatus(descriptor.entityType, descriptor.entityId);\n\n        if (error) {\n            yield put(fetchStateMachineStepsError({ hash, error }));\n        } else {\n            yield put(fetchStateMachineStepsSuccess({ hash, data }));\n        }\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getUpdateStateMachineStepsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: UpdateEntityStatusActionT): WrapGeneratorT<void> {\n        const { descriptor, update } = action.payload;\n\n        const { updateRequest }: ReReturnT<typeof selectStateMachineItemState> = yield select(\n            selectStateMachineItemState(descriptor),\n        );\n        if (updateRequest.loading) {\n            return;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        yield put(updateEntityStatusBegin({ hash }));\n\n        const result: ReturnApiT<typeof commonTranziitApi.updateStateMachineEntityStatus> =\n            yield commonTranziitApi.updateStateMachineEntityStatus(update.entityType, update.entityId, {\n                status: update.status,\n            });\n\n        const [error] = result;\n\n        if (error) {\n            yield put(updateEntityStatusError({ hash, error }));\n        } else {\n            yield put(updateEntityStatusSuccess({ hash }));\n        }\n\n        stateMachineRefreshChannel.emit({});\n    };\n}\n\nfunction* stateMachineSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(fetchStateMachineSteps.type, getFetchStateMachineStepsSaga(companyType));\n    yield takeEvery(updateEntityStatus.type, getUpdateStateMachineStepsSaga(companyType));\n}\n\nexport { stateMachineSaga };\n","import React from 'react';\nimport { logError } from '../logger';\n\nexport type OnKeyPressCallbackT = (key: string, isPressedMetaKey: boolean) => void;\n\nexport const useKeyboardShortcut = (onKeyPress: OnKeyPressCallbackT) => {\n    const handleKeyPress = React.useCallback(\n        (event: any) => {\n            try {\n                const isPressedMetaKey = (event as KeyboardEvent).altKey || (event as KeyboardEvent).metaKey;\n\n                onKeyPress((event as KeyboardEvent).key, isPressedMetaKey);\n            } catch (error) {\n                logError('useKeyboardShortcut', error);\n            }\n        },\n        [onKeyPress],\n    );\n\n    React.useEffect(() => {\n        document.addEventListener('keydown', handleKeyPress);\n\n        return () => {\n            document.removeEventListener('keydown', handleKeyPress);\n        };\n    }, [handleKeyPress]);\n};\n","import { StateT } from 'broker-admin/store/models';\nimport { SpotRequestDetailsStateT } from './types';\nimport { initialSpotRequestDetailsState } from './reducer';\n\nexport const selectSpotRequestDetails =\n    (id: SpotRequestIdT | null) =>\n    (state: StateT): SpotRequestDetailsStateT =>\n        state.spotRequestDetails[id as string] || initialSpotRequestDetailsState;\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { Trans, useTranslation } from 'react-i18next';\nimport TrailerDictIdFilterPill from 'common/components/filter-pills/TrailerDictIdFilterPill/TrailerDictIdFilterPill';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { formatDateRangeFilterValue, pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('spot-requests.list.filters.pills.search', {\n                        value: queryFilters[QueryFiltersKeysEnum.searchText],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.searchText],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('spot-requests.list.filters.pills.pickup-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.pickupAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.pickupAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('spot-requests.list.filters.pills.drop-off-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.dropOffAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dropOffAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    return t('spot-requests.list.filters.pills.created-by-shipper', {\n                        value: queryFilters[QueryFiltersKeysEnum.createdByShipperName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdByShipperId, QueryFiltersKeysEnum.createdByShipperName],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, isCompact) => {\n                    const name = queryFilters[QueryFiltersKeysEnum.createdByUserName] || '';\n\n                    return pillIconRendererMap.avatar(name, isCompact);\n                },\n                render: (queryFilters) => {\n                    return t('spot-requests.list.filters.pills.created-by', {\n                        value: queryFilters[QueryFiltersKeysEnum.createdByUserName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdByUserId, QueryFiltersKeysEnum.createdByUserName],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const createdDateFrom = queryFilters[QueryFiltersKeysEnum.createdDateFrom];\n                    const createdDateTo = queryFilters[QueryFiltersKeysEnum.createdDateTo];\n\n                    return t('spot-requests.list.filters.pills.created-date', {\n                        value: formatDateRangeFilterValue(createdDateFrom, createdDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdDateFrom, QueryFiltersKeysEnum.createdDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const selectedTrailerTypeId = queryFilters[QueryFiltersKeysEnum.dictTrailerTypeId];\n\n                    return (\n                        <Trans\n                            i18nKey=\"spot-requests.list.filters.pills.trailer\"\n                            components={{\n                                value: <TrailerDictIdFilterPill trailerDictId={selectedTrailerTypeId} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.dictTrailerTypeId],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const pickupDateFrom = queryFilters[QueryFiltersKeysEnum.pickupDateFrom];\n                    const pickupDateTo = queryFilters[QueryFiltersKeysEnum.pickupDateTo];\n\n                    return t('spot-requests.list.filters.pills.pickup', {\n                        value: formatDateRangeFilterValue(pickupDateFrom, pickupDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.pickupDateFrom, QueryFiltersKeysEnum.pickupDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const dropOffDateFrom = queryFilters[QueryFiltersKeysEnum.dropOffDateFrom];\n                    const dropOffDateTo = queryFilters[QueryFiltersKeysEnum.dropOffDateTo];\n\n                    return t('spot-requests.list.filters.pills.drop-off', {\n                        value: formatDateRangeFilterValue(dropOffDateFrom, dropOffDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dropOffDateFrom, QueryFiltersKeysEnum.dropOffDateTo],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"QuickTimeWindowLink__fadeIn___sBDCR\",\"blinking\":\"QuickTimeWindowLink__blinking___XjjGO\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ChangeRoleUserForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { RolesEnum, UserRoleT } from 'common/utils/api/models';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { logWarning } from 'common/utils/logger';\nimport UserRolesDropdown, {\n    getAvailableRolesByPartnerType,\n} from 'common/components/dropdowns/UserRolesDropdown/UserRolesDropdown';\nimport { CommonChangeUserRoleFormPropsT } from 'common/layouts/Members/dialogs/ChangeUserRoleModal/models';\nimport ModalDialogActions from 'common/components/Modal/ModalDialogActions/ModalDialogActions';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { isNonNil } from 'common/utils';\nimport isEqual from 'lodash/isEqual';\n\nconst cx = classNames.bind(styles);\n\nexport type ChangeUserRoleDataT = {\n    userId: UserIdT;\n    roles: UserRoleT[];\n};\n\ntype PropsT = CommonChangeUserRoleFormPropsT & {\n    onChangeUserRole: (data: ChangeUserRoleDataT) => void;\n};\n\nexport const INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.roles]: [],\n};\n\nconst TEST_SELECTOR = 'change-role-user-form';\n\nconst ChangeRoleUserForm: React.FC<PropsT> = (props) => {\n    const { contact, onChangeUserRole, onCancel, updateMemberRequest } = props;\n\n    const { partnerType } = usePartnerContext();\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const availableRoles = React.useMemo((): Array<RolesEnum> => {\n        if (!partnerType) {\n            logWarning('Empty partnerType in ChangeRoleUserForm availableRoles');\n            return [];\n        }\n        return getAvailableRolesByPartnerType(partnerType);\n    }, [partnerType]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const contactRoles = contact.roles.map((item) => item?.role).filter(isNonNil);\n        if (!contactRoles?.length) {\n            logWarning('empty contact.roles!');\n        }\n\n        const values: FormValuesT = {\n            ...INITIAL_VALUES,\n            [FieldsEnum.roles]: contactRoles,\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [contact]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const roles = values[FieldsEnum.roles];\n            if (!roles?.length) {\n                logWarning('empty role');\n                return;\n            }\n\n            if (!contact?.userId) {\n                logWarning('empty contact?.userId');\n                return;\n            }\n\n            onChangeUserRole({ userId: contact.userId, roles });\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('form')}>\n                <FormikField\n                    name={FieldsEnum.roles}\n                    error={formik.errors[FieldsEnum.roles]}\n                    meta={formik.getFieldMeta(FieldsEnum.roles)}\n                    label={t('common:team-members.dialogs.change-user-role.fields.role.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <UserRolesDropdown\n                            value={formik.values[FieldsEnum.roles]}\n                            initialValue={initialValues[FieldsEnum.roles]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            availableRoles={availableRoles}\n                            overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                        />\n                    )}\n                </FormikField>\n            </div>\n            <ModalDialogActions\n                actions={[\n                    {\n                        children: t('common:error-modal.actions.cancel'),\n                        theme: ButtonThemeEnum.secondary,\n                        testSelector: `${TEST_SELECTOR}_cancel`,\n                        onClick: onCancel,\n                        isDisabled: updateMemberRequest.loading,\n                    },\n                    {\n                        children: t('common:error-modal.actions.change'),\n                        theme: ButtonThemeEnum.danger,\n                        testSelector: `${TEST_SELECTOR}_change`,\n                        type: 'submit',\n                        isDisabled: isEqual(formik.values[FieldsEnum.roles], initialValues[FieldsEnum.roles]),\n                        isLoading: updateMemberRequest.loading,\n                    },\n                ]}\n            />\n        </form>\n    );\n};\n\nexport default ChangeRoleUserForm;\n","import * as React from 'react';\nimport { useContext, useMemo, useState } from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './AssignmentMap.scss';\nimport GoogleMapReact, { ClickEventValue } from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport GoogleMapContext, { GoogleMapContextT } from 'common/contexts/google-map-context';\nimport { ApiStopTypeT, StopTypeEnum } from 'common/utils/api/models';\nimport { AssetTypeEnum, StyleGuideColorsEnum } from 'common/constants';\nimport Supercluster from 'supercluster';\nimport AssetPin from './AssetPin/AssetPin';\nimport AssetClusterPin from './AssetClusterPin/AssetClusterPin';\nimport SearchForm from './SearchForm/SearchForm';\nimport {\n    selectAvailableCarriersById,\n    selectAvailableVehicles,\n    selectAvailableVehiclesQuery,\n    selectAvailableVehiclesRequest,\n    selectFetchAssignDetailsRequest,\n    selectScheduleAssetById,\n    selectSelectedScheduleEventId,\n    selectSelfCostPrediction,\n    selectSelfCostPredictionRequestStatus,\n    selectTrailerAssignmentInfoById,\n    selectTruckAssignmentInfoById,\n    selectUserSelection,\n    selectVehicleLinks,\n} from 'broker-admin/store/broker-order-assigment/selectors';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createVehiclesGeoJson } from './utils/geo-json-factory';\nimport { useTranslation } from 'react-i18next';\nimport { selectCarriersUtilizationByHash } from 'common/store/carriers-utilization/selectors';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { changeUserSelection } from 'broker-admin/store/broker-order-assigment/actions';\nimport {\n    PointToDropT,\n    ScheduleEventIdT,\n    ScheduleEventT,\n    UserSelectionT,\n} from 'broker-admin/store/broker-order-assigment/models';\nimport MapArea, { MapAreaThemeEnum } from 'common/components/maps/MapArea/MapArea';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport CurrentAssetPositionPin from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/CurrentAssetPositionPin/CurrentAssetPositionPin';\nimport { CURRENT_ASSIGNMENT_EVENT_ID } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/constants';\nimport AssetSchedulePin from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetSchedulePin/AssetSchedulePin';\nimport isNumber from 'lodash/isNumber';\nimport { M_IN_KM } from 'common/utils/distance';\nimport { GoogleMapsGeocoderApi } from 'common/utils/google-maps-api/google-maps-geocoder-api';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport ControlLoaderLabel from 'common/components/ControlLoaderLabel/ControlLoaderLabel';\nimport { GoogleMapsPlacesApi } from 'common/utils/google-maps-api/google-maps-places-api';\nimport { getGeoCodingLocation } from 'common/utils/google-places';\nimport TimeZoneContext from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/contexts/timezone-context';\nimport { getHash } from 'common/store/carriers-utilization/utils';\nimport { isNonNil } from 'common/utils';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport { selectRoutingGeometryState } from 'common/store/routing-geometry/selectors';\nimport NumberPinIcon from 'common/icons/NumberPinIcon';\nimport AssetDropOffLocationPin from 'common/components/maps/pins/AssetDropOffLocationPin/AssetDropOffLocationPin';\nimport { BoundPointT } from 'common/components/maps/MapBound/MapBound';\nimport { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\n\nimport { createInitPayloadDropPoint } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/createInitPayloadDropPoint';\nimport AssetsSelectionContext from '../contexts/assets-selection-context';\nimport { SyncAssignmentFormMapStateContext } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/contexts/sync-map-state';\nimport { findFirstPickupDeliveryWaypointDate } from 'broker-admin/store/broker-order-assigment/utils/find-first-pickup-delivery-waypoint-date';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\n\nconst cx = classNames.bind(styles);\n\ntype LoaderPropsT = {\n    title: string;\n};\n\nconst Loader: React.FC<LoaderPropsT> = (props) => {\n    const { title } = props;\n\n    return <ControlLoaderLabel isInvert>{title}</ControlLoaderLabel>;\n};\n\ntype PropsT = {\n    brokerOrderId: BrokerOrderIdT;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n    tourId: TourIdT | null;\n};\n\nconst FEATURES_LIMIT = 99999;\nconst DEFAULT_OFFSET = 0;\n\ntype AssetIdsT = {\n    trailerId: TrailerIdT | null;\n    truckId: TruckIdT | null;\n};\n\nconst SUPERCLUSTER_SETTINGS = {\n    radius: 100,\n    maxZoom: 22,\n};\n\ntype RenderMapClusterParamsT = {\n    cluster: TODO;\n    clusterFeatures: Array<Supercluster.PointFeature<TODO>>;\n    selectedTruckId: TruckIdT | null;\n    selectedTrailerId: TrailerIdT | null;\n    firstPickupDeliveryWaypointDate: string | null;\n    onClusterClick: (clusterId: number) => void;\n    onSelectAssets: (truckId: TruckIdT | null | undefined, trailerId: TrailerIdT | null | undefined) => void;\n    onHoverAssets: (truckId: TruckIdT | null | undefined, trailerId: TrailerIdT | null | undefined) => void;\n    canInTime: boolean;\n};\n\nconst geocodeByPoint = async (\n    googleMapContext: GoogleMapContextT | null,\n    point: GeoPointT,\n): Promise<PointToDropT | null> => {\n    const geocoderApi = new GoogleMapsGeocoderApi(googleMapContext?.googleMaps?.maps);\n    const geocodeResult = await geocoderApi.geocode(point);\n    if (!geocodeResult?.place_id) {\n        return null;\n    }\n\n    const placesApi = new GoogleMapsPlacesApi(googleMapContext?.googleMaps?.map, googleMapContext?.googleMaps?.maps);\n    const result = await placesApi.getPlaceDetails(geocodeResult?.place_id);\n    if (!result) {\n        return null;\n    }\n\n    const location = getGeoCodingLocation(result);\n\n    return {\n        address: location?.address || `${point?.lat}, ${point?.lng}`,\n        point: location?.point || null,\n        addressComponents: location?.addressComponents || null,\n    };\n};\n\nconst MAP_PIN_KEY = {\n    pointToDropLink: 'point-to-drop-link',\n    pointToDropTrailer: 'point-to-drop-trailer',\n    pointToDropTruck: 'point-to-drop-truck',\n};\n\nconst AVAILABLE_STOP_SET = new Set<ApiStopTypeT>([\n    StopTypeEnum.pickupDeliveryShipment,\n    StopTypeEnum.driveThrough,\n    StopTypeEnum.dropAndHook,\n]);\n\nconst AssignmentMap: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderId, tourId, brokerOrderDetails } = props;\n\n    const { t } = useTranslation();\n\n    const syncMapStateContext = useContext(SyncAssignmentFormMapStateContext);\n\n    const [hoveredAssets, setHoveredAssets] = useState<AssetIdsT>({\n        trailerId: null,\n        truckId: null,\n    });\n    const hoveredTrailerId = hoveredAssets.trailerId;\n    const hoveredTruckId = hoveredAssets.truckId;\n\n    const isSkipFocusRef = React.useRef<boolean>(false);\n\n    const assetsSelectionContext = useContext(AssetsSelectionContext);\n    const timeZoneContext = useContext(TimeZoneContext);\n    const userSelection = useSelector(selectUserSelection);\n    const selectedTrailerId = userSelection?.trailerId || null;\n    const selectedTruckId = userSelection?.truckId || null;\n    const selectedPointToDropTrailer = userSelection?.pointToDropTrailer || null;\n    const selectedPointToDropTruck = userSelection?.pointToDropTruck || null;\n\n    const isBlockedSelectTrailer = !!assetsSelectionContext?.value?.isBlockedSelectTrailer;\n    const isBlockedSelectTruck = !!assetsSelectionContext?.value?.isBlockedSelectTruck;\n\n    const tour = React.useMemo(() => {\n        return findTourById(brokerOrderDetails, tourId);\n    }, [brokerOrderDetails, tourId]);\n\n    const waypoints = React.useMemo(() => {\n        return tour?.waypoints || [];\n    }, [tour]);\n\n    const dispatch = useDispatch();\n\n    const firstPayloadWaypoint = React.useMemo(() => {\n        if (!waypoints) {\n            return null;\n        }\n\n        return (\n            waypoints.find((waypoint) => {\n                return (\n                    waypoint?.type === StopTypeEnum.pickupDeliveryShipment ||\n                    waypoint?.type === StopTypeEnum.driveThrough ||\n                    waypoint?.type === StopTypeEnum.dropAndHook\n                );\n            }) || null\n        );\n    }, [waypoints]);\n\n    const firstPickupDeliveryWaypointDate = React.useMemo(() => {\n        return findFirstPickupDeliveryWaypointDate(brokerOrderDetails, tourId);\n    }, [brokerOrderDetails, tourId]);\n\n    const handleSelectAssets = (\n        truckId: TruckIdT | null | undefined,\n        trailerId: TrailerIdT | null | undefined,\n    ): void => {\n        isSkipFocusRef.current = true;\n\n        const userSelection: Partial<UserSelectionT> = {};\n        if (truckId) {\n            userSelection.truckId = truckId;\n        }\n        if (trailerId) {\n            userSelection.trailerId = trailerId;\n        }\n        dispatch(changeUserSelection(brokerOrderId, tourId, userSelection));\n    };\n\n    const handleHoverAssets = (\n        truckId: TruckIdT | null | undefined,\n        trailerId: TrailerIdT | null | undefined,\n    ): void => {\n        setHoveredAssets({\n            truckId: truckId || null,\n            trailerId: trailerId || null,\n        });\n    };\n\n    const [api, setApi] = React.useState<TODO>(null);\n    const [config, setConfig] = React.useState<TODO>(null);\n\n    const selectedScheduleEventId = useSelector(selectSelectedScheduleEventId);\n\n    const vehicles = useSelector(selectAvailableVehicles);\n    const carriersById = useSelector(selectAvailableCarriersById);\n\n    const carriersUtilizationByHash = useSelector(selectCarriersUtilizationByHash);\n    const trailerAssignmentInfoById = useSelector(selectTrailerAssignmentInfoById);\n    const truckAssignmentInfoById = useSelector(selectTruckAssignmentInfoById);\n    const scheduleAssetById = useSelector(selectScheduleAssetById);\n\n    const vehicleLinks = useSelector(selectVehicleLinks);\n    const isSelectedLink = vehicleLinks.byTruckId[selectedTruckId as TruckIdT] === selectedTrailerId;\n\n    const query = useSelector(selectAvailableVehiclesQuery);\n    const availableVehiclesRequestStatus = useSelector(selectAvailableVehiclesRequest);\n\n    const selfCostPrediction = useSelector(selectSelfCostPrediction);\n    const selfCostPredictionRequestStatus = useSelector(selectSelfCostPredictionRequestStatus);\n\n    const fetchAssignDetailsRequest = useSelector(selectFetchAssignDetailsRequest);\n\n    const polylineIds = useMemo(() => {\n        return [\n            tour?.polylineId,\n            selfCostPrediction?.trailerToPickupPolylineId,\n            selfCostPrediction?.truckToTrailerPolylineId,\n            selfCostPrediction?.payloadPolylineId,\n            selfCostPrediction?.dropTrailerPolylineId,\n            selfCostPrediction?.dropTruckPolylineId,\n        ].filter(isNonNil);\n    }, [\n        tour?.polylineId,\n        selfCostPrediction?.trailerToPickupPolylineId,\n        selfCostPrediction?.truckToTrailerPolylineId,\n        selfCostPrediction?.payloadPolylineId,\n        selfCostPrediction?.dropTrailerPolylineId,\n        selfCostPrediction?.dropTruckPolylineId,\n    ]);\n\n    useRouteGeometry(polylineIds);\n\n    const payloadGeometryState = useSelector(selectRoutingGeometryState(tour?.polylineId));\n\n    const deadheadRoutingGeometryState = useSelector(\n        selectRoutingGeometryState(selfCostPrediction?.trailerToPickupPolylineId),\n    );\n    const truckToTrailerRoutingGeometryState = useSelector(\n        selectRoutingGeometryState(selfCostPrediction?.truckToTrailerPolylineId),\n    );\n\n    const dropTrailerRoutingGeometryState = useSelector(\n        selectRoutingGeometryState(selfCostPrediction?.dropTrailerPolylineId),\n    );\n\n    const dropTruckRoutingGeometryState = useSelector(\n        selectRoutingGeometryState(selfCostPrediction?.dropTruckPolylineId),\n    );\n\n    const selectedTrailer = selectedTrailerId ? trailerAssignmentInfoById[selectedTrailerId] : null;\n    const selectedTruck = selectedTruckId ? truckAssignmentInfoById[selectedTruckId] : null;\n\n    const defaultBoundPoints = useMemo((): Array<BoundPointT> => {\n        const boundPoints: Array<BoundPointT> = [];\n\n        waypoints?.forEach((payloadWaypoint) => {\n            boundPoints.push([payloadWaypoint?.address?.latitude, payloadWaypoint?.address?.longitude]);\n        });\n\n        const assets = [selectedTruck, selectedTrailer];\n        assets.forEach((asset) => {\n            if (userSelection?.isShowActualPlace && asset?.currentLatitude && asset?.currentLongitude) {\n                boundPoints.push([asset.currentLatitude, asset.currentLongitude]);\n            }\n\n            if (asset?.expectedLatitude && asset?.expectedLongitude) {\n                boundPoints.push([asset.expectedLatitude, asset.expectedLongitude]);\n            }\n        });\n\n        return boundPoints;\n    }, [waypoints, selectedTrailer, selectedTruck, userSelection?.isShowActualPlace]);\n\n    const defaultBoundPointsHash = useMemo(() => {\n        return JSON.stringify(defaultBoundPoints);\n    }, [defaultBoundPoints]);\n\n    React.useEffect(() => {\n        if (!api) {\n            return;\n        }\n\n        if (isSkipFocusRef.current) {\n            isSkipFocusRef.current = false;\n            return;\n        }\n\n        if (!defaultBoundPoints?.length) {\n            return;\n        }\n\n        const { map, maps } = api;\n\n        const bounds = new maps.LatLngBounds();\n\n        defaultBoundPoints.forEach((boundPoints) => {\n            const [latitude, longitude] = boundPoints;\n            if (isNumber(latitude) && isNumber(longitude)) {\n                const latLng = new maps.LatLng(latitude, longitude);\n                bounds.extend(latLng);\n            }\n        });\n\n        map.fitBounds(bounds);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [api, defaultBoundPointsHash]);\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const apiIsLoaded = (api: TODO) => {\n        setApi(api);\n\n        const { map, maps } = api;\n\n        // eslint-disable-next-line no-unused-expressions\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const sourceNotInTimeVehiclesGeoJSONs = React.useMemo(() => {\n        return createVehiclesGeoJson({\n            vehicles,\n            trailerById: trailerAssignmentInfoById,\n            truckById: truckAssignmentInfoById,\n            options: {\n                showSelectedNotCanBeInTime: true,\n                showNotCanBeInTime: userSelection?.isShowUnavailableAssets,\n                showCanBeInTime: false,\n                blockSelectTruck: isBlockedSelectTruck,\n                blockSelectTrailer: isBlockedSelectTrailer,\n            },\n            selectedTrailerId,\n            selectedTruckId,\n            vehicleLinks,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        vehicles,\n        trailerAssignmentInfoById,\n        selectedTrailerId,\n        selectedTruckId,\n        hoveredTrailerId,\n        hoveredTruckId,\n        truckAssignmentInfoById,\n        vehicleLinks,\n        userSelection?.isShowUnavailableAssets,\n        isBlockedSelectTrailer,\n        isBlockedSelectTruck,\n    ]);\n\n    const sourceInTimeVehiclesGeoJSONs = React.useMemo(() => {\n        return createVehiclesGeoJson({\n            vehicles,\n            trailerById: trailerAssignmentInfoById,\n            truckById: truckAssignmentInfoById,\n            options: {\n                showSelectedNotCanBeInTime: false,\n                showNotCanBeInTime: false,\n                showCanBeInTime: true,\n                blockSelectTruck: isBlockedSelectTruck,\n                blockSelectTrailer: isBlockedSelectTrailer,\n            },\n            selectedTrailerId,\n            selectedTruckId,\n            vehicleLinks,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        vehicles,\n        trailerAssignmentInfoById,\n        selectedTrailerId,\n        selectedTruckId,\n        hoveredTrailerId,\n        hoveredTruckId,\n        truckAssignmentInfoById,\n        vehicleLinks,\n        isBlockedSelectTrailer,\n        isBlockedSelectTruck,\n    ]);\n\n    const {\n        inTimeVehiclesGeoJSONs,\n        notInTimeVehiclesGeoJSONs,\n        selectedTruckCurrentPosition,\n        selectedTrailerCurrentPosition,\n    } = React.useMemo(() => {\n        const PROXIMITY = 0.0002;\n        const getPositionHash = (lot: number, lat: number) => {\n            return [lot, lat].map((coordinate) => (coordinate % PROXIMITY) * PROXIMITY).join('|');\n        };\n\n        const positionsHashSet = new Set<string>([]);\n\n        let hash = '';\n\n        let selectedTruckCurrentPosition = null;\n        if (selectedTruck?.currentLongitude && selectedTruck?.currentLatitude) {\n            selectedTruckCurrentPosition = {\n                lng: selectedTruck.currentLongitude,\n                lat: selectedTruck.currentLatitude,\n            };\n\n            hash = getPositionHash(selectedTruckCurrentPosition.lng, selectedTruckCurrentPosition.lat);\n            while (positionsHashSet.has(hash)) {\n                selectedTruckCurrentPosition = {\n                    ...selectedTruckCurrentPosition,\n                    lng: selectedTruckCurrentPosition.lng + PROXIMITY,\n                };\n                hash = getPositionHash(selectedTruckCurrentPosition.lng, selectedTruckCurrentPosition.lat);\n            }\n\n            positionsHashSet.add(hash);\n        }\n\n        let selectedTrailerCurrentPosition = null;\n        if (selectedTrailer?.currentLongitude && selectedTrailer?.currentLatitude) {\n            selectedTrailerCurrentPosition = {\n                lng: selectedTrailer.currentLongitude,\n                lat: selectedTrailer.currentLatitude,\n            };\n\n            hash = getPositionHash(selectedTrailerCurrentPosition.lng, selectedTrailerCurrentPosition.lat);\n            while (positionsHashSet.has(hash)) {\n                selectedTrailerCurrentPosition = {\n                    ...selectedTrailerCurrentPosition,\n                    lng: selectedTrailerCurrentPosition.lng + PROXIMITY,\n                };\n                hash = getPositionHash(selectedTrailerCurrentPosition.lng, selectedTrailerCurrentPosition.lat);\n            }\n\n            positionsHashSet.add(hash);\n        }\n\n        const notInTimeVehiclesGeoJSONs = sourceNotInTimeVehiclesGeoJSONs.map((sourceGeoJSON) => {\n            let geoJSON = { ...sourceGeoJSON };\n\n            hash = getPositionHash(geoJSON.geometry.coordinates[0], geoJSON.geometry.coordinates[1]);\n            while (positionsHashSet.has(hash)) {\n                geoJSON = {\n                    ...geoJSON,\n                    geometry: {\n                        ...geoJSON.geometry,\n                        coordinates: [geoJSON.geometry.coordinates[0] + PROXIMITY, geoJSON.geometry.coordinates[1]],\n                    },\n                };\n                hash = getPositionHash(geoJSON.geometry.coordinates[0], geoJSON.geometry.coordinates[1]);\n            }\n\n            positionsHashSet.add(hash);\n            return geoJSON;\n        });\n\n        const inTimeVehiclesGeoJSONs = sourceInTimeVehiclesGeoJSONs.map((sourceGeoJSON) => {\n            let geoJSON = { ...sourceGeoJSON };\n\n            hash = getPositionHash(geoJSON.geometry.coordinates[0], geoJSON.geometry.coordinates[1]);\n            while (positionsHashSet.has(hash)) {\n                geoJSON = {\n                    ...geoJSON,\n                    geometry: {\n                        ...geoJSON.geometry,\n                        coordinates: [geoJSON.geometry.coordinates[0] + PROXIMITY, geoJSON.geometry.coordinates[1]],\n                    },\n                };\n                hash = getPositionHash(geoJSON.geometry.coordinates[0], geoJSON.geometry.coordinates[1]);\n            }\n\n            positionsHashSet.add(hash);\n            return geoJSON;\n        });\n\n        return {\n            inTimeVehiclesGeoJSONs,\n            notInTimeVehiclesGeoJSONs,\n            selectedTruckCurrentPosition,\n            selectedTrailerCurrentPosition,\n        };\n    }, [sourceNotInTimeVehiclesGeoJSONs, sourceInTimeVehiclesGeoJSONs, selectedTruck, selectedTrailer]);\n\n    const notInTimeClusterator = React.useMemo(() => {\n        const clusterator = new Supercluster(SUPERCLUSTER_SETTINGS);\n        clusterator.load(notInTimeVehiclesGeoJSONs);\n        return clusterator;\n    }, [notInTimeVehiclesGeoJSONs]);\n\n    const notInTimeClusters = React.useMemo(() => {\n        if (config) {\n            const clusters = notInTimeClusterator.getClusters(config.bounds, config.zoom);\n            return clusters;\n        }\n\n        return [];\n    }, [config, notInTimeClusterator]);\n\n    const inTimeClusterator = React.useMemo(() => {\n        const clusterator = new Supercluster(SUPERCLUSTER_SETTINGS);\n        clusterator.load(inTimeVehiclesGeoJSONs);\n        return clusterator;\n    }, [inTimeVehiclesGeoJSONs]);\n\n    const inTimeClusters = React.useMemo(() => {\n        if (config) {\n            const clusters = inTimeClusterator.getClusters(config.bounds, config.zoom);\n            return clusters;\n        }\n\n        return [];\n    }, [config, inTimeClusterator]);\n\n    const handleChange = () => {\n        if (api) {\n            const { zoom } = api.map;\n\n            const bound = api.map.getBounds();\n\n            const northEast = bound.getNorthEast();\n            const southWest = bound.getSouthWest();\n\n            setConfig({\n                zoom,\n                bounds: [southWest.lng(), southWest.lat(), northEast.lng(), northEast.lat()],\n            });\n        }\n    };\n\n    const handleImTimeClusterClick = React.useCallback(\n        (clusterId: number) => {\n            const { map, maps } = api;\n\n            const clusterFeatures = inTimeClusterator.getLeaves(clusterId, FEATURES_LIMIT, DEFAULT_OFFSET);\n\n            const bounds = new maps.LatLngBounds();\n\n            clusterFeatures.forEach((feature: Supercluster.PointFeature<{}>) => {\n                const point = new maps.LatLng(feature.geometry.coordinates[1], feature.geometry.coordinates[0]);\n\n                bounds.extend(point);\n            });\n\n            map.fitBounds(bounds);\n        },\n        [api, inTimeClusterator],\n    );\n\n    const handleNotImTimeClusterClick = React.useCallback(\n        (clusterId: number) => {\n            const { map, maps } = api;\n\n            const clusterFeatures = notInTimeClusterator.getLeaves(clusterId, FEATURES_LIMIT, DEFAULT_OFFSET);\n\n            const bounds = new maps.LatLngBounds();\n\n            clusterFeatures.forEach((feature: Supercluster.PointFeature<{}>) => {\n                const point = new maps.LatLng(feature.geometry.coordinates[1], feature.geometry.coordinates[0]);\n\n                bounds.extend(point);\n            });\n\n            map.fitBounds(bounds);\n        },\n        [api, notInTimeClusterator],\n    );\n\n    const isShowCalcCostPredictionLoader =\n        selfCostPredictionRequestStatus.loading ||\n        deadheadRoutingGeometryState.requestStatus?.loading ||\n        truckToTrailerRoutingGeometryState.requestStatus?.loading ||\n        dropTrailerRoutingGeometryState.requestStatus?.loading ||\n        dropTruckRoutingGeometryState.requestStatus?.loading;\n\n    const isShowFindVehiclesLoader = availableVehiclesRequestStatus.loading;\n\n    const isShowFetchTrailerScheduleLoader = !!scheduleAssetById[selectedTrailerId as string]?.requestStatus?.loading;\n    const isShowFetchTruckScheduleLoader = !!scheduleAssetById[selectedTruckId as string]?.requestStatus?.loading;\n    const isShowFetchAssetScheduleLoader = isShowFetchTrailerScheduleLoader || isShowFetchTruckScheduleLoader;\n    const isShowFetchAssignDetailsLoader = fetchAssignDetailsRequest?.loading;\n\n    const trailerSchedule = scheduleAssetById[selectedTrailerId as TrailerIdT] || null;\n    const truckSchedule = scheduleAssetById[selectedTruckId as TruckIdT] || null;\n\n    const renderMapCluster = (params: RenderMapClusterParamsT): React.ReactNode => {\n        const {\n            cluster,\n            clusterFeatures,\n            selectedTruckId,\n            selectedTrailerId,\n            firstPickupDeliveryWaypointDate,\n            onClusterClick,\n            onSelectAssets,\n            onHoverAssets,\n            canInTime,\n        } = params;\n\n        const isCluster = cluster.properties?.cluster;\n        if (isCluster) {\n            const { cluster_id: clusterId } = cluster.properties || {};\n\n            let trailersCount = 0;\n            let hasSelectedTrailer = false;\n            let truckCount = 0;\n            let hasSelectedTruck = false;\n            let linksCount = 0;\n            let hasSelectedLink = false;\n\n            clusterFeatures.forEach((clusterFeature) => {\n                const { truckId, trailerId } = clusterFeature.properties;\n\n                const isTruck = truckId && !trailerId;\n                if (isTruck) {\n                    truckCount += 1;\n                }\n                const isSelectedTruck = selectedTruckId && truckId === selectedTruckId;\n                if (isTruck && isSelectedTruck) {\n                    hasSelectedTruck = true;\n                }\n\n                const isTrailer = !truckId && trailerId;\n                if (isTrailer) {\n                    trailersCount += 1;\n                }\n                const isSelectedTrailer = selectedTrailerId && trailerId === selectedTrailerId;\n                if (isTrailer && isSelectedTrailer) {\n                    hasSelectedTrailer = true;\n                }\n\n                const isLink = truckId && trailerId;\n                if (isLink) {\n                    linksCount += 1;\n                }\n\n                if (isLink && (isSelectedTruck || isSelectedTrailer)) {\n                    hasSelectedLink = true;\n                }\n            });\n\n            return (\n                <AssetClusterPin\n                    key={clusterId}\n                    clusterId={clusterId}\n                    trucksCount={truckCount}\n                    hasSelectedTruck={hasSelectedTruck}\n                    trailersCount={trailersCount}\n                    hasSelectedTrailer={hasSelectedTrailer}\n                    linksCount={linksCount}\n                    hasSelectedLink={hasSelectedLink}\n                    lng={cluster.geometry.coordinates[0]}\n                    lat={cluster.geometry.coordinates[1]}\n                    onClick={onClusterClick}\n                    canInTime={canInTime}\n                />\n            );\n        }\n\n        const truckId = cluster.properties?.truckId;\n        const trailerId = cluster.properties?.trailerId;\n        const isSelectedTruck = truckId && truckId === selectedTruckId;\n        const isSelectedTrailer = trailerId && trailerId === selectedTrailerId;\n\n        const trailerAssignmentInfo = trailerAssignmentInfoById[trailerId] || null;\n        const truckAssignmentInfo = truckAssignmentInfoById[truckId] || null;\n        const anyAssignmentInfo = truckAssignmentInfo || trailerAssignmentInfo;\n\n        const truckCarrier = carriersById[truckAssignmentInfo?.carrierId as string] || null;\n        const truckHash =\n            truckAssignmentInfo?.carrierId && firstPickupDeliveryWaypointDate\n                ? getHash(truckAssignmentInfo.carrierId, firstPickupDeliveryWaypointDate)\n                : null;\n        const truckCarrierUtilization = truckHash ? carriersUtilizationByHash[truckHash] : null;\n        const truckCarrierUtilizationPercent = truckCarrierUtilization\n            ? truckCarrierUtilization.utilizationPercents\n            : null;\n\n        const trailerCarrier = carriersById[trailerAssignmentInfo?.carrierId as string] || null;\n        const trailerHash =\n            trailerAssignmentInfo?.carrierId && firstPickupDeliveryWaypointDate\n                ? getHash(trailerAssignmentInfo.carrierId, firstPickupDeliveryWaypointDate)\n                : null;\n        const trailerCarrierUtilization = trailerHash ? carriersUtilizationByHash[trailerHash] : null;\n        const trailerCarrierUtilizationPercent = trailerCarrierUtilization\n            ? trailerCarrierUtilization.utilizationPercents\n            : null;\n\n        return (\n            <AssetPin\n                key={cluster.properties?.id}\n                lng={cluster.geometry.coordinates[0]}\n                lat={cluster.geometry.coordinates[1]}\n                utcOffset={timeZoneContext?.value?.utcOffsetMin}\n                arrivalDate={anyAssignmentInfo?.expectedArrivalDate}\n                plateNumber={anyAssignmentInfo?.plateNumber}\n                truckCarrierUtilizationPercent={truckCarrierUtilizationPercent}\n                isLoadingTruckCarrierUtilization={!isNumber(truckCarrierUtilization?.utilizationPercents)}\n                truckCarrier={truckCarrier}\n                truckId={truckId}\n                isLoadingTruckUtilization={false}\n                truckUtilization={truckAssignmentInfo?.utilization}\n                truckRatePerKm={truckAssignmentInfo?.ratePerKm}\n                truckRateMode={truckAssignmentInfo?.rateMode}\n                truckInvalidReason={truckAssignmentInfo?.invalidReason}\n                isSelectedTruck={isSelectedTruck}\n                trailerId={trailerId}\n                isLoadingTrailerUtilization={false}\n                trailerUtilization={trailerAssignmentInfo?.utilization}\n                trailerRatePerKm={trailerAssignmentInfo?.ratePerKm}\n                trailerRateMode={trailerAssignmentInfo?.rateMode}\n                trailerInvalidReason={trailerAssignmentInfo?.invalidReason}\n                trailerCarrierUtilizationPercent={trailerCarrierUtilizationPercent}\n                isLoadingTrailerCarrierUtilization={!isNumber(trailerCarrierUtilization?.utilizationPercents)}\n                trailerCarrier={trailerCarrier}\n                isSelectedTrailer={isSelectedTrailer}\n                onClick={onSelectAssets}\n                onHover={onHoverAssets}\n                canInTime={canInTime}\n                isBlockedSelectTrailer={assetsSelectionContext?.value?.isBlockedSelectTrailer}\n                isBlockedSelectTruck={assetsSelectionContext?.value?.isBlockedSelectTruck}\n            />\n        );\n    };\n\n    const renderCurrentPosition = (): React.ReactNode[] => {\n        const currentAssetPositions: React.ReactNode[] = [];\n\n        if (!userSelection?.isShowActualPlace) {\n            return currentAssetPositions;\n        }\n\n        if (isSelectedLink) {\n            const currentLinkPosition = selectedTruckCurrentPosition;\n            if (currentLinkPosition) {\n                currentAssetPositions.push(\n                    <CurrentAssetPositionPin isLink lat={currentLinkPosition.lat} lng={currentLinkPosition.lng} />,\n                );\n            }\n        } else {\n            const currentTruckPosition = selectedTruckCurrentPosition;\n            if (currentTruckPosition) {\n                currentAssetPositions.push(\n                    <CurrentAssetPositionPin isTruck lat={currentTruckPosition.lat} lng={currentTruckPosition.lng} />,\n                );\n            }\n\n            const currentTrailerPosition = selectedTrailerCurrentPosition;\n            if (currentTrailerPosition) {\n                currentAssetPositions.push(\n                    <CurrentAssetPositionPin\n                        isTrailer\n                        lat={currentTrailerPosition.lat}\n                        lng={currentTrailerPosition.lng}\n                    />,\n                );\n            }\n        }\n\n        return currentAssetPositions;\n    };\n\n    const renderScheduleEvents = (\n        assetType: AssetTypeEnum,\n        scheduleEvents: Array<ScheduleEventT> | null,\n    ): Array<React.ReactNode> => {\n        const result: Array<React.ReactNode> = [];\n\n        if (!userSelection?.isShowAssetSchedule) {\n            return result;\n        }\n\n        scheduleEvents?.forEach((scheduleEvent, scheduleEventIndex) => {\n            const origin = assetType === AssetTypeEnum.truck ? scheduleEvent.truckOrigin : scheduleEvent.trailerOrigin;\n            if (origin && isNumber(origin.latitude) && isNumber(origin.longitude)) {\n                result.push(\n                    <AssetSchedulePin\n                        assetType={assetType}\n                        isSelected={scheduleEvent?.id === selectedScheduleEventId}\n                        lat={origin.latitude}\n                        lng={origin.longitude}\n                        number={2 * scheduleEventIndex + 1}\n                    />,\n                );\n            }\n\n            const destination =\n                assetType === AssetTypeEnum.truck ? scheduleEvent.truckDestination : scheduleEvent.trailerDestination;\n            if (destination && isNumber(destination.latitude) && isNumber(destination.longitude)) {\n                result.push(\n                    <AssetSchedulePin\n                        assetType={assetType}\n                        isSelected={scheduleEvent?.id === selectedScheduleEventId}\n                        lat={destination.latitude}\n                        lng={destination.longitude}\n                        number={2 * scheduleEventIndex + 2}\n                    />,\n                );\n            }\n        });\n\n        return result;\n    };\n\n    const [draggablePin, setDraggablePin] = useState<{\n        point: GeoPointT;\n        childKey: string;\n    } | null>(null);\n\n    const handleDragMove = (childKey: string, childProps: any, mouse: GeoPointT) => {\n        if (\n            childKey !== MAP_PIN_KEY.pointToDropTrailer &&\n            childKey !== MAP_PIN_KEY.pointToDropTruck &&\n            childKey !== MAP_PIN_KEY.pointToDropLink\n        ) {\n            return;\n        }\n\n        setDraggablePin({\n            childKey,\n            point: {\n                lat: mouse.lat,\n                lng: mouse.lng,\n            },\n        });\n    };\n\n    const handleDragEnd = async (childKey: string, childProps: any, mouse: GeoPointT) => {\n        const pointToDrop = await geocodeByPoint(googleMapContext, mouse);\n        if (!pointToDrop) {\n            return;\n        }\n\n        const changes: Partial<UserSelectionT> = {};\n\n        if (childKey === MAP_PIN_KEY.pointToDropTrailer) {\n            changes.pointToDropTrailer = pointToDrop;\n        } else if (childKey === MAP_PIN_KEY.pointToDropTruck) {\n            changes.pointToDropTruck = pointToDrop;\n        } else if (childKey === MAP_PIN_KEY.pointToDropLink) {\n            changes.pointToDropTrailer = pointToDrop;\n            changes.pointToDropTruck = pointToDrop;\n        }\n\n        if (!isEmpty(changes)) {\n            dispatch(changeUserSelection(brokerOrderId, tourId, changes));\n        }\n\n        setDraggablePin(null);\n    };\n\n    const handleMapClick = async (event: ClickEventValue) => {\n        // TODO improve detect click on map, not pin!\n        const isClickOnMap =\n            !event?.event?.target?.className &&\n            event?.event?.target?.style?.['z-index'] &&\n            event?.event?.target?.tagName === 'DIV';\n        if (!isClickOnMap) {\n            return;\n        }\n\n        const pointToDrop = await geocodeByPoint(googleMapContext, event);\n        if (!pointToDrop) {\n            return;\n        }\n\n        syncMapStateContext.onMapClickCallback?.callback?.(pointToDrop);\n    };\n\n    const initPayloadDropPoint = useMemo(() => {\n        return createInitPayloadDropPoint(brokerOrderDetails, tourId);\n    }, [brokerOrderDetails, tourId]);\n\n    const shouldShowDropTrailerPoint = useMemo(() => {\n        return !isEqual(selectedPointToDropTrailer?.point, initPayloadDropPoint?.location?.point);\n    }, [selectedPointToDropTrailer, initPayloadDropPoint]);\n\n    const viewToDropTrailerPoint =\n        draggablePin?.childKey === MAP_PIN_KEY.pointToDropTrailer\n            ? draggablePin?.point\n            : selectedPointToDropTrailer?.point;\n\n    const viewToDropLinkPoint =\n        draggablePin?.childKey === MAP_PIN_KEY.pointToDropLink\n            ? draggablePin?.point\n            : selectedPointToDropTrailer?.point;\n\n    const shouldShowDropTruckPoint = useMemo(() => {\n        return !isEqual(selectedPointToDropTruck?.point, initPayloadDropPoint?.location?.point);\n    }, [selectedPointToDropTruck, initPayloadDropPoint]);\n\n    const viewToDropTruckPoint =\n        draggablePin?.childKey === MAP_PIN_KEY.pointToDropTruck ? draggablePin?.point : selectedPointToDropTruck?.point;\n\n    const isSelectedSameDropOffPoints = useMemo(() => {\n        return isEqual(viewToDropTrailerPoint, viewToDropTruckPoint);\n    }, [viewToDropTrailerPoint, viewToDropTruckPoint]);\n\n    return (\n        <>\n            <GoogleMapReact\n                key=\"assignment\"\n                draggable={!draggablePin}\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                options={MAP_OPTIONS}\n                onGoogleApiLoaded={apiIsLoaded}\n                onDragEnd={handleChange}\n                onZoomAnimationEnd={handleChange}\n                yesIWantToUseGoogleMapApiInternals\n                onChildMouseDown={handleDragMove}\n                onChildMouseUp={handleDragEnd}\n                onChildMouseMove={handleDragMove}\n                onClick={handleMapClick}\n            >\n                {waypoints.map((waypoint, index) => {\n                    if (!waypoint) {\n                        return null;\n                    }\n\n                    if (!AVAILABLE_STOP_SET.has(waypoint.type)) {\n                        return null;\n                    }\n\n                    let fillColor = StyleGuideColorsEnum.charcoal;\n                    if (waypoint.type === StopTypeEnum.driveThrough) {\n                        fillColor = StyleGuideColorsEnum.gray;\n                    }\n\n                    return (\n                        <NumberPinIcon\n                            number={(waypoint.index || 0) + 1}\n                            key={`route-point-${waypoint.index}-${index}`}\n                            className={cx('route-point-pin')}\n                            fillColor={fillColor}\n                            lng={waypoint?.address?.longitude}\n                            lat={waypoint?.address?.latitude}\n                        />\n                    );\n                })}\n                {viewToDropLinkPoint &&\n                    shouldShowDropTruckPoint &&\n                    shouldShowDropTrailerPoint &&\n                    isSelectedSameDropOffPoints && (\n                        <AssetDropOffLocationPin\n                            assetType={null}\n                            key={MAP_PIN_KEY.pointToDropLink}\n                            className={cx('location')}\n                            lat={viewToDropLinkPoint.lat}\n                            lng={viewToDropLinkPoint.lng}\n                            theme={\n                                !!syncMapStateContext?.hasDropTrailerPointError ||\n                                !!syncMapStateContext?.hasDropTruckPointError\n                                    ? MapPinThemeEnum.tomatoRed\n                                    : MapPinThemeEnum.charcoal\n                            }\n                        />\n                    )}\n                {viewToDropTrailerPoint && shouldShowDropTrailerPoint && !isSelectedSameDropOffPoints && (\n                    <AssetDropOffLocationPin\n                        assetType={AssetTypeEnum.trailer}\n                        key={MAP_PIN_KEY.pointToDropTrailer}\n                        className={cx('location')}\n                        lat={viewToDropTrailerPoint.lat}\n                        lng={viewToDropTrailerPoint.lng}\n                        theme={\n                            syncMapStateContext?.hasDropTrailerPointError\n                                ? MapPinThemeEnum.tomatoRed\n                                : MapPinThemeEnum.charcoal\n                        }\n                    />\n                )}\n                {viewToDropTruckPoint && shouldShowDropTruckPoint && !isSelectedSameDropOffPoints && (\n                    <AssetDropOffLocationPin\n                        assetType={AssetTypeEnum.truck}\n                        key={MAP_PIN_KEY.pointToDropTruck}\n                        className={cx('location')}\n                        lat={viewToDropTruckPoint.lat}\n                        lng={viewToDropTruckPoint.lng}\n                        theme={\n                            syncMapStateContext?.hasDropTruckPointError\n                                ? MapPinThemeEnum.tomatoRed\n                                : MapPinThemeEnum.charcoal\n                        }\n                    />\n                )}\n                {...renderCurrentPosition()}\n                {notInTimeClusters.map((cluster) => {\n                    const { cluster_id: clusterId } = cluster.properties || {};\n\n                    const isCluster = cluster.properties?.cluster;\n\n                    const clusterFeatures = isCluster\n                        ? notInTimeClusterator.getLeaves(clusterId, FEATURES_LIMIT, DEFAULT_OFFSET)\n                        : [];\n\n                    return renderMapCluster({\n                        cluster,\n                        clusterFeatures,\n                        selectedTruckId,\n                        selectedTrailerId,\n                        firstPickupDeliveryWaypointDate,\n                        onClusterClick: handleNotImTimeClusterClick,\n                        onSelectAssets: handleSelectAssets,\n                        onHoverAssets: handleHoverAssets,\n                        canInTime: false,\n                    });\n                })}\n                {inTimeClusters.map((cluster) => {\n                    const { cluster_id: clusterId } = cluster.properties || {};\n\n                    const isCluster = cluster.properties?.cluster;\n\n                    const clusterFeatures = isCluster\n                        ? inTimeClusterator.getLeaves(clusterId, FEATURES_LIMIT, DEFAULT_OFFSET)\n                        : [];\n\n                    return renderMapCluster({\n                        cluster,\n                        clusterFeatures,\n                        selectedTruckId,\n                        selectedTrailerId,\n                        firstPickupDeliveryWaypointDate,\n                        onClusterClick: handleImTimeClusterClick,\n                        onSelectAssets: handleSelectAssets,\n                        onHoverAssets: handleHoverAssets,\n                        canInTime: true,\n                    });\n                })}\n                {...renderScheduleEvents(AssetTypeEnum.trailer, trailerSchedule?.events)}\n                {...renderScheduleEvents(AssetTypeEnum.truck, truckSchedule?.events)}\n            </GoogleMapReact>\n            <MapArea\n                map={api?.map}\n                maps={api?.maps}\n                theme={MapAreaThemeEnum.assignmentFindArea}\n                centerLat={firstPayloadWaypoint?.address?.latitude}\n                centerLon={firstPayloadWaypoint?.address?.longitude}\n                radiusM={query?.radiusKm ? query.radiusKm * M_IN_KM : null}\n            />\n            {!!selfCostPrediction?.trailerToPickupPolylineId && (\n                <MapRoute\n                    key=\"deadheadCoordinates\"\n                    map={api?.map}\n                    maps={api?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={deadheadRoutingGeometryState.data}\n                    theme={MapRouteThemeEnum.assignmentAttention}\n                    zIndex={1}\n                />\n            )}\n            {!!selfCostPrediction?.truckToTrailerPolylineId && (\n                <MapRoute\n                    key=\"truckToTrailerCoordinates\"\n                    map={api?.map}\n                    maps={api?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={truckToTrailerRoutingGeometryState.data}\n                    theme={MapRouteThemeEnum.assignmentAttention}\n                    zIndex={2}\n                />\n            )}\n            {!!selfCostPrediction?.dropTrailerPolylineId && (\n                <MapRoute\n                    key=\"dropTrailersCoordinates\"\n                    map={api?.map}\n                    maps={api?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={dropTrailerRoutingGeometryState.data}\n                    theme={MapRouteThemeEnum.assignmentAttention}\n                    zIndex={3}\n                />\n            )}\n            {!!selfCostPrediction?.dropTruckPolylineId && (\n                <MapRoute\n                    key=\"dropTruckCoordinates\"\n                    map={api?.map}\n                    maps={api?.maps}\n                    geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                    polylines={dropTruckRoutingGeometryState.data}\n                    theme={MapRouteThemeEnum.assignmentAttention}\n                    zIndex={4}\n                />\n            )}\n            <MapRoute\n                map={api?.map}\n                maps={api?.maps}\n                geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                polylines={payloadGeometryState.data}\n                key=\"route\"\n                theme={\n                    selectedScheduleEventId === CURRENT_ASSIGNMENT_EVENT_ID\n                        ? MapRouteThemeEnum.assignmentSelected\n                        : MapRouteThemeEnum.assignmentRoute\n                }\n                zIndex={5}\n            />\n            {userSelection?.isShowAssetSchedule &&\n                trailerSchedule?.events?.map((scheduleEvent) => {\n                    const route = trailerSchedule?.routeById[scheduleEvent?.id as ScheduleEventIdT] || [];\n\n                    return (\n                        <MapRoute\n                            key={`trailer-route-${scheduleEvent?.id}`}\n                            map={api?.map}\n                            maps={api?.maps}\n                            geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                            polylines={route}\n                            theme={\n                                selectedScheduleEventId === scheduleEvent?.id\n                                    ? MapRouteThemeEnum.assignmentSelected\n                                    : MapRouteThemeEnum.assignmentRoute\n                            }\n                            zIndex={6}\n                        />\n                    );\n                })}\n            {userSelection?.isShowAssetSchedule &&\n                truckSchedule?.events?.map((scheduleEvent) => {\n                    const route = truckSchedule?.routeById[scheduleEvent?.id as ScheduleEventIdT] || [];\n\n                    return (\n                        <MapRoute\n                            key={`truck-route-${scheduleEvent?.id}`}\n                            map={api?.map}\n                            maps={api?.maps}\n                            geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                            polylines={route}\n                            theme={\n                                selectedScheduleEventId === scheduleEvent?.id\n                                    ? MapRouteThemeEnum.assignmentSelected\n                                    : MapRouteThemeEnum.assignmentRoute\n                            }\n                            zIndex={7}\n                        />\n                    );\n                })}\n            <div className={cx('control')}>\n                <SearchForm brokerOrderId={brokerOrderId} brokerOrderDetails={brokerOrderDetails} tourId={tourId} />\n                {(isShowCalcCostPredictionLoader || isShowFindVehiclesLoader || isShowFetchAssetScheduleLoader) && (\n                    <div className={cx('loader__container')}>\n                        {isShowCalcCostPredictionLoader && (\n                            <div className={cx('loader')}>\n                                <Loader title={t('assignment.wait-deadhead')} />\n                            </div>\n                        )}\n                        {isShowFindVehiclesLoader && (\n                            <div className={cx('loader')}>\n                                <Loader title={t('assignment.wait-available-assets')} />\n                            </div>\n                        )}\n                        {isShowFetchAssetScheduleLoader && (\n                            <div className={cx('loader')}>\n                                <Loader title={t('assignment.wait-asset-schedule')} />\n                            </div>\n                        )}\n                        {isShowFetchAssignDetailsLoader && (\n                            <div className={cx('loader')}>\n                                <Loader title={t('assignment.wait-fetch-assign-details')} />\n                            </div>\n                        )}\n                    </div>\n                )}\n            </div>\n        </>\n    );\n});\n\nexport default AssignmentMap;\n","// extracted by mini-css-extract-plugin\nexport default {\"type\":\"DocumentTypeCell__type___D64eF\",\"type--is-empty\":\"DocumentTypeCell__type--is-empty___XAIA5\",\"fadeIn\":\"DocumentTypeCell__fadeIn____evzw\",\"blinking\":\"DocumentTypeCell__blinking___phKpq\"};","import { CarrierContractStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { initialCarrierContractState } from 'common/store/carrier-contracts/reducer';\nimport { PartnerContractT } from 'common/store/carrier-contracts/models';\nimport keyBy from 'lodash/keyBy';\n\nconst selectCarrierContractState = (state: SharableStateT, partnerId: PartnerIdT | null): CarrierContractStateT => {\n    if (!partnerId) {\n        return initialCarrierContractState;\n    }\n\n    return state.carrierContracts[partnerId] || initialCarrierContractState;\n};\n\nexport const selectFetchCarrierContractsRequest = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): CarrierContractStateT['fetchContractsRequest'] => {\n        return selectCarrierContractState(state, partnerId).fetchContractsRequest;\n    };\n};\n\nexport const selectUpdateCarrierContractRequest = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): CarrierContractStateT['updateContractRequest'] => {\n        return selectCarrierContractState(state, partnerId).updateContractRequest;\n    };\n};\n\nexport const selectUploadCarrierContractRequest = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): CarrierContractStateT['uploadContractRequest'] => {\n        return selectCarrierContractState(state, partnerId).uploadContractRequest;\n    };\n};\n\nexport const selectDownloadCarrierContractRequest = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): CarrierContractStateT['downloadContractRequest'] => {\n        return selectCarrierContractState(state, partnerId).downloadContractRequest;\n    };\n};\n\nexport const selectUpdatingCarrierContractId = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): CarrierContractStateT['updatingContractId'] => {\n        return selectCarrierContractState(state, partnerId).updatingContractId;\n    };\n};\n\nexport const selectCarrierContracts = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): CarrierContractStateT['contracts'] => {\n        return selectCarrierContractState(state, partnerId).contracts;\n    };\n};\n\nexport const selectCarrierMainContract = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): CarrierContractStateT['contracts']['0'] => {\n        return selectCarrierContractState(state, partnerId).contracts[0];\n    };\n};\n\nexport const selectCarrierContractById = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): Record<CarrierContractIdT, PartnerContractT> => {\n        const { contracts } = selectCarrierContractState(state, partnerId);\n\n        return keyBy(contracts, 'id');\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"warning\":\"AttentionTextFormatter__warning___FJJQr\",\"fadeIn\":\"AttentionTextFormatter__fadeIn___EmWiu\",\"blinking\":\"AttentionTextFormatter__blinking___aJN99\"};","// extracted by mini-css-extract-plugin\nexport default {\"subject-link\":\"SubjectLink__subject-link___elujf\",\"fadeIn\":\"SubjectLink__fadeIn___JSQW9\",\"blinking\":\"SubjectLink__blinking___Bjh0v\"};","import * as React from 'react';\nimport { ApiTruckStatusT, TruckStatusEnum } from 'common/utils/api/models';\nimport { PropsT as ColoredStatusLabelPropsT } from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport TruckStatus from 'common/components/status/TruckStatus/TruckStatus';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiTruckStatusT | null | undefined;\n    isSymmetrical?: boolean;\n};\n\nexport const PILL_THEME_BY_TRUCK_STATUS: Record<ApiTruckStatusT, PillLabelThemeEnum> = {\n    [TruckStatusEnum.free]: colorCodingPillLabelTheme.positive,\n    [TruckStatusEnum.inTransit]: colorCodingPillLabelTheme.normal,\n    [TruckStatusEnum.unavailable]: colorCodingPillLabelTheme.attention,\n    [TruckStatusEnum.archived]: colorCodingPillLabelTheme.warning,\n};\n\nconst TruckStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    if (!status) {\n        return null;\n    }\n\n    return (\n        <PillLabel isNoWrap {...restProps} theme={PILL_THEME_BY_TRUCK_STATUS[status]}>\n            <TruckStatus status={status} />\n        </PillLabel>\n    );\n});\n\nexport default TruckStatusPill;\n","import { put, takeEvery } from 'redux-saga/effects';\nimport {\n    createCompanyRequest,\n    createCompanyRequestBegin,\n    createCompanyRequestError,\n    createCompanyRequestSuccess,\n} from './slice';\nimport { CreateCompanyRequestActionT } from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport i18n from 'i18next';\nimport history from 'common/utils/history';\nimport { parseAuthReturnUrl } from 'common/utils/auth-return-url';\nimport { authApi } from 'common/utils/api/auth/factory';\n\nfunction getCreateCompanySaga(companyType: CompanyTypeEnum) {\n    return function* (action: CreateCompanyRequestActionT): WrapGeneratorT<void> {\n        const { registrationCompanyRequestDraft, returnUrl } = action.payload;\n\n        yield put(createCompanyRequestBegin({}));\n\n        const [error] = yield commonTranziitApi.createCompany({\n            ...registrationCompanyRequestDraft,\n            companyType,\n            language: i18n.language,\n        });\n\n        if (error) {\n            yield put(createCompanyRequestError({ error }));\n            return;\n        }\n\n        const [forceRefreshTokenError] = yield authApi.forceRefreshToken();\n\n        yield put(\n            createCompanyRequestSuccess({\n                isLocked: !!forceRefreshTokenError,\n            }),\n        );\n\n        if (!forceRefreshTokenError) {\n            history.push(parseAuthReturnUrl(returnUrl));\n        }\n    };\n}\n\nfunction* createCompanySaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(createCompanyRequest.type, getCreateCompanySaga(companyType));\n}\n\nexport { createCompanySaga };\n","import * as React from 'react';\nimport ControlsCell from 'common/components/Table/cell-renderers/ControlsCell/ControlsCell';\nimport type { DocumentRowT } from 'common/layouts/BaseDocumentsLayout/BaseDocumentsTable/BaseDocumentsTable';\nimport { useDocumentsActionOptions } from 'common/layouts/BaseDocumentsLayout/hooks/use-documents-action-options';\nimport { useSelector } from 'react-redux';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { DocumentActionsT } from '../../../models';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\n\ntype PropsT = {\n    row: DocumentRowT;\n    className?: string;\n} & DocumentActionsT;\n\nconst ActionsCell: React.FC<PropsT> = React.memo((props) => {\n    const { className, row, onDownloadDocument, onUploadDocument, onRevokeDocument, onEditDocumentInfo } = props;\n\n    const permissions = useSelector(selectPermissions);\n    const partnerPermissions = usePartnerPermissionsContext();\n\n    const actualVersion = row?.actualVersion || null;\n    const dictDocument = row?.dictDocument || null;\n\n    const options = useDocumentsActionOptions({\n        actualDocumentVersion: actualVersion,\n        dictDocument,\n        permissions,\n        partnerPermissions,\n        callbacks: {\n            onDownloadDocument,\n            onUploadDocument,\n            onRevokeDocument,\n            onEditDocumentInfo,\n        },\n    });\n\n    return <ControlsCell className={className} options={options} />;\n});\n\nexport default ActionsCell;\n","import { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\nimport { getDateFromISO } from 'common/utils/time';\nimport { StopTypeEnum } from 'common/utils/api/models';\n\nexport const findFirstPickupDeliveryWaypointDate = (\n    brokerOrderDetails: BrokerOrderDetailsT | null,\n    tourId: TourIdT | null,\n): string | null => {\n    const tour = findTourById(brokerOrderDetails, tourId);\n    const waypoints = tour?.waypoints || [];\n\n    const firstPickupDeliveryWaypoint =\n        waypoints.find((waypoint) => {\n            return (\n                waypoint?.type === StopTypeEnum.pickupDeliveryShipment || waypoint?.type === StopTypeEnum.dropAndHook\n            );\n        }) || null;\n\n    const dateTimeFrom =\n        firstPickupDeliveryWaypoint?.correctedDateTimeFrom || firstPickupDeliveryWaypoint?.originalDateTimeFrom || null;\n    if (!dateTimeFrom) {\n        return null;\n    }\n\n    return getDateFromISO(dateTimeFrom);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ReviewFooterContent__content___o61rK\",\"action--reject\":\"ReviewFooterContent__action--reject___gRQfx\",\"action--approve\":\"ReviewFooterContent__action--approve___vcdrD\",\"actions\":\"ReviewFooterContent__actions___oRkGs\",\"fadeIn\":\"ReviewFooterContent__fadeIn___TRUUb\",\"blinking\":\"ReviewFooterContent__blinking___gV217\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkEmail, checkNotEmpty } from 'common/utils/form-validators';\n\nconst ALL_FIELDS = [FieldsEnum.email] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, ALL_FIELDS, values),\n        ...checkEmail(t, ALL_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT, MIN_VALID_FROM_VALID_TILL_DAYS } from './constants';\nimport { checkMaxLength, checkNotEmpty } from 'common/utils/form-validators';\nimport { getDayDiff } from 'common/utils/time';\n\nconst REQUIRED_FIELDS = [FieldsEnum.name, FieldsEnum.activateDate, FieldsEnum.validTillDate, FieldsEnum.file];\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkMaxLength(t, [FieldsEnum.name, FieldsEnum.number], values, 250),\n    };\n\n    const activateDate = values[FieldsEnum.activateDate];\n    const validTillDate = values[FieldsEnum.validTillDate];\n\n    if (activateDate && validTillDate && getDayDiff(activateDate, validTillDate) < MIN_VALID_FROM_VALID_TILL_DAYS) {\n        errors[FieldsEnum.validTillDate] = t('sidebars.upload-shipper-contract.errors.valid-till-inteval-valid-from', {\n            count: MIN_VALID_FROM_VALID_TILL_DAYS,\n        });\n    }\n\n    if (activateDate && validTillDate && activateDate >= validTillDate) {\n        errors[FieldsEnum.validTillDate] = t('sidebars.upload-shipper-contract.errors.valid-till-earlier-valid-from');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AddressWidgetHeaderActions.scss';\nimport ColoredStatusLabel from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControl, {\n    checkIsSpecialOption,\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport { AddressTypeEnum } from 'common/utils/api/models';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport MapIcon from 'common/icons/MapIcon';\nimport { VerifyPartnerAdressConfirmationDataT } from '../dialogs/VerifyPartnerAdressConfirmation/models';\nimport { UnVerifyPartnerAdressConfirmationDataT } from '../dialogs/UnVerifyPartnerAdressConfirmation/models';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport IconTrigger from 'design-system/components/IconTrigger/IconTrigger';\nimport CopyIcon from 'common/icons/CopyIcon';\nimport { useMemo } from 'react';\nimport LockActionOnChangeForm from '../LockActionOnChangeForm/LockActionOnChangeForm';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport LockStatusOnChangeForm from '../LockStatusOnChangeForm/LockStatusOnChangeForm';\nimport { createMapLink } from 'common/utils/links';\n\ntype PropsT = {\n    isShowStatus?: boolean;\n    isAllowShowVerifyAction?: boolean;\n    addressType: AddressTypeEnum;\n    fullAddress: string;\n    needApproved: boolean;\n    companyId: string | undefined;\n    onCopy?: () => void;\n    onVerify?: (data: VerifyPartnerAdressConfirmationDataT | null) => void;\n    onUnVerify?: (data: UnVerifyPartnerAdressConfirmationDataT | null) => void;\n};\n\nconst cx = classNames.bind(styles);\n\ntype ActionT = {\n    icon: React.ReactNode;\n    label: React.ReactNode;\n    onSelect: () => void;\n};\nconst AddressWidgetHeaderActions: React.FC<PropsT> = React.memo((props) => {\n    const {\n        isShowStatus,\n        isAllowShowVerifyAction,\n        needApproved,\n        companyId,\n        addressType,\n        fullAddress,\n        onVerify,\n        onUnVerify,\n        onCopy,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    const onOpenGoogleMaps = React.useCallback((): void => {\n        window.open(createMapLink(fullAddress));\n    }, [fullAddress]);\n\n    const actions = React.useMemo((): Array<ActionT | SpecialOptionEnum> => {\n        const isShowUnVerifyAction = isAllowShowVerifyAction && !needApproved;\n\n        const hasAddress = !!fullAddress?.trim();\n\n        return [\n            ...(hasAddress\n                ? [\n                      {\n                          label: t('partner.actions.open-map'),\n                          icon: (\n                              <MapIcon\n                                  size={DEFAULT_ICON_SIZE}\n                                  fillColor={StyleGuideColorsEnum.brandAccent}\n                                  strokeColor={StyleGuideColorsEnum.brandDark}\n                              />\n                          ),\n                          onSelect: onOpenGoogleMaps,\n                      },\n                  ]\n                : []),\n            ...(isShowUnVerifyAction && onUnVerify\n                ? [\n                      SpecialOptionEnum.separator,\n                      {\n                          icon: <CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />,\n                          label: t('partner.actions.un-verify'),\n                          onSelect: () => {\n                              if (!companyId) {\n                                  return;\n                              }\n\n                              if (remoteFormActionsContext.remoteFormState?.hasErrors) {\n                                  remoteFormActionsContext.remoteFormCallbacks?.touchAllFields?.();\n                                  return;\n                              }\n\n                              const data: VerifyPartnerAdressConfirmationDataT = {\n                                  partnerId: companyId,\n                                  addressType,\n                              };\n\n                              onUnVerify(data);\n                          },\n                      },\n                  ]\n                : []),\n        ];\n    }, [\n        onOpenGoogleMaps,\n        t,\n        needApproved,\n        onUnVerify,\n        isAllowShowVerifyAction,\n        fullAddress,\n        companyId,\n        addressType,\n        remoteFormActionsContext,\n    ]);\n\n    const dropdownOptions = useMemo((): Array<DropdownControlOptionT | SpecialOptionEnum> => {\n        return actions.map((action) => {\n            if (checkIsSpecialOption(action)) {\n                return action;\n            }\n\n            return {\n                label: <DropdownControlOptionLabel label={action.label} icon={action.icon} />,\n                onSelect: action.onSelect,\n            };\n        });\n    }, [actions]);\n\n    const renderSingleAction = (action: ActionT | SpecialOptionEnum | undefined): React.ReactNode => {\n        if (checkIsSpecialOption(action) || !action) {\n            return null;\n        }\n\n        return (\n            <Tooltip\n                position={TooltipPositionEnum.topCenter}\n                theme={TooltipThemeEnum.black}\n                tooltipNode={\n                    <TooltipContent isCenter width={115} theme={TooltipContentThemeEnum.black}>\n                        {action.label}\n                    </TooltipContent>\n                }\n            >\n                {(isShow) => (\n                    <TransparentTrigger\n                        isPressed={isShow}\n                        onClick={action.onSelect}\n                        reflectionTheme={ReflectionThemeEnum.light}\n                        leftIcon={action.icon}\n                    />\n                )}\n            </Tooltip>\n        );\n    };\n\n    return (\n        <>\n            {isShowStatus && (\n                <LockStatusOnChangeForm className={cx('status')}>\n                    <ColoredStatusLabel\n                        label={needApproved ? t('partner.status.not-verified') : t('partner.status.verified')}\n                        color={needApproved ? StyleGuideColorsEnum.orange : StyleGuideColorsEnum.mediumGreen}\n                    />\n                </LockStatusOnChangeForm>\n            )}\n            {needApproved && isAllowShowVerifyAction && onVerify && (\n                <LockActionOnChangeForm>\n                    <TransparentTrigger\n                        onClick={() => {\n                            if (!companyId) {\n                                return;\n                            }\n\n                            if (remoteFormActionsContext.remoteFormState?.hasErrors) {\n                                remoteFormActionsContext.remoteFormCallbacks?.touchAllFields?.();\n                                return;\n                            }\n\n                            const data: VerifyPartnerAdressConfirmationDataT = {\n                                partnerId: companyId,\n                                addressType,\n                            };\n\n                            onVerify(data);\n                        }}\n                        label={t('partner.actions.verify')}\n                        className={cx('timeline-trigger')}\n                        leftIcon={<DoneIcon fillColor={StyleGuideColorsEnum.brandDark} size={DEFAULT_ICON_SIZE} />}\n                        reflectionTheme={ReflectionThemeEnum.light}\n                    />\n                </LockActionOnChangeForm>\n            )}\n            {onCopy && (\n                <Tooltip\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        <TooltipContent isCenter width={115} theme={TooltipContentThemeEnum.black}>\n                            {t('common:profile-page.basic-information.tooltips.copy-from-legal-address')}\n                        </TooltipContent>\n                    }\n                >\n                    {(isShow) => (\n                        <IconTrigger isFocused={isShow} onClick={onCopy}>\n                            {() => <CopyIcon className={cx('copy')} strokeColor={StyleGuideColorsEnum.light} />}\n                        </IconTrigger>\n                    )}\n                </Tooltip>\n            )}\n            <LockActionOnChangeForm>\n                {actions.length === 1 ? (\n                    renderSingleAction(actions[0])\n                ) : (\n                    <DropdownControl\n                        options={dropdownOptions}\n                        renderTrigger={(isActive, onClick) => (\n                            <TransparentTrigger\n                                isPressed={isActive}\n                                onClick={onClick}\n                                reflectionTheme={ReflectionThemeEnum.light}\n                                leftIcon={<MoreIcon />}\n                                testSelector=\"more-actions\"\n                            />\n                        )}\n                        overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                    />\n                )}\n            </LockActionOnChangeForm>\n        </>\n    );\n});\n\nexport default AddressWidgetHeaderActions;\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"LinkDatePicker__input___VW4vD\",\"trigger\":\"LinkDatePicker__trigger___ZCzVz\",\"fadeIn\":\"LinkDatePicker__fadeIn___rV0Md\",\"blinking\":\"LinkDatePicker__blinking___t7Vkn\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size?: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst CarrierIcon: React.FC<PropsT> = (props) => {\n    const { size, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M14.187 5.5L17.4 10l-3.213 4.5h-2.898l3.222-4.5-3.222-4.5h2.898zm-4.5 0L12.9 10l-3.213 4.5H6.789l3.222-4.5-3.222-4.5h2.898zM5 8a2 2 0 110 4 2 2 0 010-4z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nCarrierIcon.displayName = 'CarrierIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default CarrierIcon;\n\nexport const CarrierIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n        isPressed,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        isPressed?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            strokeColor:\n                hasValue || isFocused || isPressed ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.gray,\n        };\n    },\n};\n","import * as React from 'react';\n\nimport isNumber from 'lodash/isNumber';\n\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport { getTotalWithOptimisticPapersCount } from '../utils/getTotalWithOptimisticPapersCount';\n\ntype EntityPaperShapeT = {\n    id?: PaperIdT | null | undefined;\n};\n\ntype OptimisticPaperShapeT = {\n    afterAttachId: PaperIdT | null;\n};\n\ntype ParamsT<T extends EntityPaperShapeT, O extends OptimisticPaperShapeT> = {\n    optimisticPapers: Array<O> | null | undefined;\n    entityPapers: Array<T> | null | undefined;\n};\n\nconst useRenderPapersTabCount = <T extends EntityPaperShapeT, O extends OptimisticPaperShapeT>(\n    params: ParamsT<T, O>,\n) => {\n    const { optimisticPapers, entityPapers } = params;\n\n    const papersCount = React.useMemo(() => {\n        return getTotalWithOptimisticPapersCount({\n            optimisticPapers,\n            entityPapers,\n        });\n    }, [optimisticPapers, entityPapers]);\n\n    if (!isNumber(papersCount) || papersCount <= 0) {\n        return null;\n    }\n\n    return <NotificationLabel count={papersCount} theme={NotificationLabelThemeEnum.slate} />;\n};\n\nexport { useRenderPapersTabCount };\n","// extracted by mini-css-extract-plugin\nexport default {\"error-container\":\"SideBarRequestStatus__error-container___qbYaG\",\"fadeIn\":\"SideBarRequestStatus__fadeIn___qpZLc\",\"blinking\":\"SideBarRequestStatus__blinking___udpDc\"};","// extracted by mini-css-extract-plugin\nexport default {\"section\":\"ContactDetailsSidebarContent__section___X0GM3\",\"section--isLast\":\"ContactDetailsSidebarContent__section--isLast___uh1RW\",\"section__title\":\"ContactDetailsSidebarContent__section__title___cbkV9\",\"section__block\":\"ContactDetailsSidebarContent__section__block___OWtBv\",\"field--formal\":\"ContactDetailsSidebarContent__field--formal___Sxj52\",\"field--first-name\":\"ContactDetailsSidebarContent__field--first-name___diCE6\",\"field--contact\":\"ContactDetailsSidebarContent__field--contact___rhfnE\",\"field--last-name\":\"ContactDetailsSidebarContent__field--last-name___jT6hs\",\"field--link\":\"ContactDetailsSidebarContent__field--link___uIy_M\",\"field--birthday\":\"ContactDetailsSidebarContent__field--birthday___sg7ej\",\"field--country\":\"ContactDetailsSidebarContent__field--country___SN2Lo\",\"field--language\":\"ContactDetailsSidebarContent__field--language___J6fF2\",\"fadeIn\":\"ContactDetailsSidebarContent__fadeIn___GaPUz\",\"blinking\":\"ContactDetailsSidebarContent__blinking___y1D6e\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    fillOpacity?: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst SettingsIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, fillOpacity, strokeColor } = props;\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 18 18\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M.9.9h16.2v16.2H.9z\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity={fillOpacity || 0.3}\n                    d=\"M13.914 6.705l-.473-.817-.857.344-.715.29-.614-.472a3.48 3.48 0 00-.83-.479l-.716-.29-.108-.763-.129-.918h-.944l-.129.911-.108.763-.715.297a3.955 3.955 0 00-.844.493l-.607.459-.71-.284-.856-.35-.473.816.729.567.6.473-.094.762c-.02.203-.034.358-.034.493s.014.29.034.493l.095.762-.601.473-.729.567.473.817.857-.345.715-.29.615.473c.263.202.54.364.83.479l.715.29.108.763.129.918h.938l.128-.911.108-.763.716-.29c.276-.115.553-.277.843-.493l.608-.459.702.284.857.344.473-.817-.73-.567-.6-.473.094-.762A3.62 3.62 0 0012.699 9c0-.142-.013-.29-.034-.493l-.094-.763.6-.472.743-.567zM9 11.7A2.699 2.699 0 016.3 9c0-1.492 1.208-2.7 2.7-2.7 1.492 0 2.7 1.208 2.7 2.7 0 1.492-1.208 2.7-2.7 2.7z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M14.015 9.661c.027-.215.047-.431.047-.661 0-.23-.02-.446-.047-.661l1.425-1.114a.34.34 0 00.08-.432l-1.35-2.336a.335.335 0 00-.296-.168.302.302 0 00-.115.02l-1.681.675a4.953 4.953 0 00-1.14-.662l-.258-1.789a.33.33 0 00-.331-.283h-2.7a.328.328 0 00-.33.283l-.257 1.79c-.412.168-.79.397-1.141.66l-1.68-.674a.376.376 0 00-.122-.02c-.115 0-.23.06-.29.168L2.48 6.793a.333.333 0 00.08.432l1.425 1.114A5.328 5.328 0 003.938 9c0 .223.02.446.047.662L2.56 10.774a.34.34 0 00-.082.432l1.35 2.336a.338.338 0 00.298.168c.04 0 .08-.006.114-.02l1.681-.675c.351.27.729.493 1.14.662l.257 1.788a.33.33 0 00.331.284h2.7c.169 0 .31-.121.33-.284l.257-1.788c.412-.169.79-.399 1.141-.662l1.68.675c.041.014.082.02.122.02.115 0 .23-.06.29-.168l1.35-2.336a.34.34 0 00-.08-.432L14.014 9.66zM12.68 8.507c.027.21.034.351.034.493 0 .142-.014.29-.034.493l-.095.762.601.473.729.567-.473.817-.857-.345-.702-.283-.607.459c-.29.216-.567.378-.844.493l-.716.29-.107.763-.136.911h-.944l-.129-.911-.108-.763-.715-.29a3.838 3.838 0 01-.83-.48l-.615-.472-.715.29-.857.345-.473-.817.729-.567.6-.473-.094-.762c-.02-.21-.034-.365-.034-.5s.014-.29.034-.493l.095-.763-.601-.472-.729-.567.473-.817.857.344.702.284.607-.459c.29-.216.567-.378.844-.493l.716-.29.107-.763.136-.911h.938l.128.911.108.763.716.29c.29.122.56.277.83.48l.614.472.716-.29.857-.345.472.817-.722.574-.6.473.094.762zM9 6.3A2.699 2.699 0 006.3 9c0 1.492 1.208 2.7 2.7 2.7 1.492 0 2.7-1.208 2.7-2.7 0-1.492-1.208-2.7-2.7-2.7zm0 4.05c-.742 0-1.35-.607-1.35-1.35 0-.742.607-1.35 1.35-1.35.742 0 1.35.607 1.35 1.35 0 .742-.607 1.35-1.35 1.35z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nSettingsIcon.displayName = 'SettingsIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default SettingsIcon;\n","import get from 'lodash/get';\n\nexport const getFieldFormValue = <TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>>(\n    values: TFieldValues,\n    fieldValue: TFieldPath,\n): FieldPathValue<TFieldValues, TFieldPath> => {\n    return get(values, fieldValue);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"header__controls\":\"AccountPage__header__controls___Msd4n\",\"form\":\"AccountPage__form___zb_6j\",\"widget\":\"AccountPage__widget___DUVGw\",\"widget__inner\":\"AccountPage__widget__inner___avrzA\",\"control__save\":\"AccountPage__control__save___vmgeQ\",\"field\":\"AccountPage__field___pacDy\",\"field--language-switcher\":\"AccountPage__field--language-switcher___z0z12\",\"account-link\":\"AccountPage__account-link___yh52C\",\"account-link__wrap\":\"AccountPage__account-link__wrap___HUqbA\",\"fadeIn\":\"AccountPage__fadeIn___ig56b\",\"blinking\":\"AccountPage__blinking___Hr75e\"};","import { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { TabEnum } from './constants';\nimport { FetchTrailersPageQueryT } from 'common/store/trailers/models';\nimport { TrailersSortEnum, TrailerStatusEnum } from 'common/utils/api/models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\nimport { ALL_BROKER_USERS_VALUE } from 'common/components/dropdowns/UserMultipleDropdown/constants';\n\nconst formatSort = (sort: PageSortT<TrailersSortEnum> | null): FetchTrailersPageQueryT['sorts'] | undefined => {\n    switch (sort?.value) {\n        case TrailersSortEnum.createdDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'CREATED_DATE_ASC';\n            }\n            return 'CREATED_DATE_DESC';\n        }\n        case TrailersSortEnum.archiveDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'ARCHIVED_DATE_ASC';\n            }\n            return 'ARCHIVED_DATE_DESC';\n        }\n        default: {\n            return undefined;\n        }\n    }\n};\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<TrailersSortEnum> | null,\n    activeTab: TabEnum,\n): FetchTrailersPageQueryT => {\n    const statuses: TrailerStatusEnum[] = [];\n    const status = queryFilters[QueryFiltersKeysEnum.status] as Array<TrailerStatusEnum>;\n    if (status?.length) {\n        statuses.push(...status);\n    }\n\n    const parsedTrailerType = queryFilters?.[QueryFiltersKeysEnum.dictTrailerTypeId]?.map((typeId) => {\n        return parseInt(typeId, 10);\n    });\n\n    const lastModifiedByUsers = queryFilters[QueryFiltersKeysEnum.lastModifyByUserId]?.filter((userId) => {\n        return userId !== ALL_BROKER_USERS_VALUE;\n    });\n\n    const lastModifiedByBroker = !!queryFilters[QueryFiltersKeysEnum.lastModifyByUserId]?.some((userId) => {\n        return userId === ALL_BROKER_USERS_VALUE;\n    });\n\n    const addedByUsers = queryFilters[QueryFiltersKeysEnum.createdByUserId]?.filter((userId) => {\n        return userId !== ALL_BROKER_USERS_VALUE;\n    });\n\n    const addedByBroker = !!queryFilters[QueryFiltersKeysEnum.createdByUserId]?.some((userId) => {\n        return userId === ALL_BROKER_USERS_VALUE;\n    });\n\n    return {\n        statuses,\n        archived: activeTab === TabEnum.archive,\n\n        trailerType: parsedTrailerType?.length ? parsedTrailerType : undefined,\n        plateNumber: queryFilters[QueryFiltersKeysEnum.plateNumber] || undefined,\n\n        countriesOfRegistration: queryFilters?.[QueryFiltersKeysEnum.country] || undefined,\n\n        telematicUpdatedDateFrom: queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom] || undefined,\n        telematicUpdatedDateTo: queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo] || undefined,\n\n        contractIds: queryFilters?.[QueryFiltersKeysEnum.contractId] || undefined,\n\n        addedByBroker: addedByBroker || undefined,\n        addedByUsers: addedByUsers?.length ? addedByUsers : undefined,\n\n        createdDateFrom: queryFilters[QueryFiltersKeysEnum.createdDateFrom] || undefined,\n        createdDateTo: queryFilters[QueryFiltersKeysEnum.createdDateTo] || undefined,\n\n        lastModifiedByBroker: lastModifiedByBroker || undefined,\n        lastModifiedByUsers: lastModifiedByUsers?.length ? lastModifiedByUsers : undefined,\n\n        updatedDateFrom: queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom] || undefined,\n        updatedDateTo: queryFilters[QueryFiltersKeysEnum.lastModifyDateTo] || undefined,\n\n        sorts: formatSort(sort),\n    };\n};\n\nexport { prepareFetchPageQuery };\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport {\n    checkIsPositiveNumberValue,\n    checkMaxValue,\n    checkMinValue,\n    checkStrictMaxValue,\n    checkNotEmpty,\n} from 'common/utils/form-validators';\nimport values from 'lodash/values';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNumber from 'lodash/isNumber';\nimport { SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\nimport { MIN_IN_HOUR } from 'common/utils/time';\n\nconst REQUIRED_FIELDS = values<FieldsEnum>(FieldsEnum);\n\nexport const MIN_MAP_PRECISION_DELTA_METERS = 0;\nexport const MAX_MAP_PRECISION_DELTA_METERS = 500;\n\ntype MetaT = {\n    systemSettings: SystemSettingsT | null | undefined;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, meta: MetaT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n\n        ...checkIsPositiveNumberValue(t, [FieldsEnum.urgentOrderProcessingDelay], values),\n        ...checkStrictMaxValue(t, [FieldsEnum.urgentOrderProcessingDelay], values, 24),\n\n        ...checkMinValue(t, [FieldsEnum.regularOrderProcessingDelay], values, 1),\n        ...checkMaxValue(t, [FieldsEnum.regularOrderProcessingDelay], values, 48),\n\n        ...checkMinValue(t, [FieldsEnum.minWindowSize], values, 30),\n        ...checkMaxValue(t, [FieldsEnum.minWindowSize], values, 120),\n\n        ...checkMaxValue(t, [FieldsEnum.maxWindowSize], values, 480),\n\n        ...checkMinValue(t, [FieldsEnum.orderCreationSeconds], values, 1),\n        ...checkMaxValue(t, [FieldsEnum.orderCreationSeconds], values, 600),\n\n        ...checkMinValue(t, [FieldsEnum.mapPrecisionDelta], values, MIN_MAP_PRECISION_DELTA_METERS),\n        ...checkMaxValue(t, [FieldsEnum.mapPrecisionDelta], values, MAX_MAP_PRECISION_DELTA_METERS),\n\n        ...checkMinValue(t, [FieldsEnum.hvoEmissionPercent], values, 0),\n        ...checkStrictMaxValue(t, [FieldsEnum.hvoEmissionPercent], values, 100),\n    };\n\n    const minWindowSize = parseSimpleNumber(values[FieldsEnum.minWindowSize]);\n    const maxWindowSize = parseSimpleNumber(values[FieldsEnum.maxWindowSize]);\n    if (isNumber(minWindowSize) && isNumber(maxWindowSize) && maxWindowSize <= minWindowSize) {\n        errors[FieldsEnum.maxWindowSize] = t(\n            'price-settings.new-order-parameters-form.errors.less-than-minimum-time-window',\n        );\n    }\n\n    const urgentOrderProcessingDelay = parseSimpleNumber(values[FieldsEnum.urgentOrderProcessingDelay]);\n    const regularOrderProcessingDelay = parseSimpleNumber(values[FieldsEnum.regularOrderProcessingDelay]);\n    if (\n        isNumber(urgentOrderProcessingDelay) &&\n        isNumber(regularOrderProcessingDelay) &&\n        regularOrderProcessingDelay < urgentOrderProcessingDelay\n    ) {\n        errors[FieldsEnum.regularOrderProcessingDelay] = t(\n            'price-settings.new-order-parameters-form.errors.less-than-urgent',\n        );\n    }\n\n    const MIN_DIFF_HOURS = 1;\n    const runOutOfTimeToAssignAssetsLimitMin = parseSimpleNumber(\n        meta?.systemSettings?.RUN_OUT_OF_TIME_TO_ASSIGN_ASSETS_LIMIT,\n    );\n    const runOutOfTimeToAssignAssetsLimitHours = isNumber(runOutOfTimeToAssignAssetsLimitMin)\n        ? runOutOfTimeToAssignAssetsLimitMin / MIN_IN_HOUR\n        : null;\n    if (\n        isNumber(urgentOrderProcessingDelay) &&\n        isNumber(runOutOfTimeToAssignAssetsLimitHours) &&\n        urgentOrderProcessingDelay < runOutOfTimeToAssignAssetsLimitHours + MIN_DIFF_HOURS\n    ) {\n        errors[FieldsEnum.urgentOrderProcessingDelay] = t(\n            'price-settings.new-order-parameters-form.errors.less-than-run-out-of-time-to-assign-assets',\n            {\n                hours: `${MIN_DIFF_HOURS} ${t('common:hours', {\n                    postProcess: 'interval',\n                    count: MIN_DIFF_HOURS,\n                })}`,\n            },\n        );\n    }\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"field--units\":\"ShipmentPicker__field--units___izbn_\",\"field--cargo-weight\":\"ShipmentPicker__field--cargo-weight___jkRXY\",\"field--puck-up-ref-number\":\"ShipmentPicker__field--puck-up-ref-number___Xbh49\",\"field--drop-off-ref-number\":\"ShipmentPicker__field--drop-off-ref-number___tSH3E\",\"combined-field\":\"ShipmentPicker__combined-field___tUp8d\",\"combined-field__full-width\":\"ShipmentPicker__combined-field__full-width___zWdAL\",\"combined-field__input--unit-value\":\"ShipmentPicker__combined-field__input--unit-value___qL86E\",\"combined-field__input--unit-type\":\"ShipmentPicker__combined-field__input--unit-type___V4aCq\",\"fadeIn\":\"ShipmentPicker__fadeIn___FOaBq\",\"blinking\":\"ShipmentPicker__blinking___Xlr_E\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"TypeCell__fadeIn___P23aT\",\"blinking\":\"TypeCell__blinking___RHcep\"};","import React, { MouseEvent, useEffect, useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DropdownSearchMultipleInput.scss';\nimport SearchIcon from 'common/icons/SearchIcon';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { DropdownOverlayPositionEnum } from '../constants';\nimport DropdownBaseLayout from '../base/DropdownBaseLayout/DropdownBaseLayout';\nimport DropdownBaseButtonTrigger from '../base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport cs from 'classnames';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport useDebouncedEffect from 'common/utils/hooks/useDebouncedEffect';\nimport {\n    checkIsSpecialOption,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { useTranslation } from 'react-i18next';\nimport isEmpty from 'lodash/isEmpty';\n\nconst cx = classNames.bind(styles);\n\nexport type IconMetaT = {\n    isDisabled: boolean;\n    isLoading: boolean;\n    hasChanges: boolean;\n    hasWarning: boolean;\n    hasSuccess: boolean;\n    hasError: boolean;\n    hasValue: boolean;\n};\n\nexport type RenderTriggerPropsT = {\n    isEmpty: boolean;\n    isPressed: boolean;\n    isDisabled: boolean;\n    hasChanges: boolean;\n    hasWarning: boolean;\n    hasError: boolean;\n    onClick: () => void;\n    onReset?: (event: MouseEvent<HTMLElement>) => void;\n    isShowClearControl: boolean;\n};\n\nexport type PropsT<OptionT, ValueT> = {\n    className?: string;\n    selectedValues: Array<ValueT>;\n    placeholder?: string;\n    inputPlaceholder?: string;\n    isInline?: boolean;\n    isDisabled?: boolean;\n    isLoading?: boolean;\n    hasWarning?: boolean;\n    hasError?: boolean;\n    hasSuccess?: boolean;\n    hasChanges?: boolean;\n    options: Array<OptionT | SpecialOptionEnum>;\n    onSelect: (values: Array<ValueT>) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    triggerClassName?: string;\n    overlayClassName?: string;\n    renderTrigger?: (\n        props: RenderTriggerPropsT,\n        options: Array<OptionT>,\n        placeholder: string | undefined,\n    ) => React.ReactNode;\n    renderTriggerContent?: (options: Array<OptionT>, placeholder: string | undefined) => React.ReactNode;\n    renderOption: (option: OptionT) => React.ReactNode;\n    getOptionValue: (option: OptionT) => ValueT;\n    onFocus?: () => void;\n    onBlur?: () => void;\n    testSelector?: string;\n    renderLeftIcon?: (meta: IconMetaT) => React.ReactNode;\n    renderRightIcon?: (meta: IconMetaT) => React.ReactNode;\n    renderRightInputIcon?: (meta: IconMetaT) => React.ReactNode;\n    onChangeQuery: (query: string) => void;\n    onReset?: () => void;\n};\n\nconst COLD_TIME_MS = 300;\n\nconst DropdownSearchMultipleInput = <OptionT, ValueT extends string | number | null | undefined>(\n    props: PropsT<OptionT, ValueT>,\n) => {\n    const {\n        className,\n        selectedValues,\n        onSelect,\n        options,\n        isInline,\n        renderOption,\n        getOptionValue,\n        isDisabled,\n        overlayPosition,\n        triggerClassName,\n        overlayClassName,\n        renderTrigger,\n        renderTriggerContent,\n        onFocus,\n        onBlur,\n        testSelector,\n        isLoading,\n        hasWarning,\n        hasError,\n        hasSuccess,\n        hasChanges,\n        onChangeQuery,\n        onReset,\n        renderRightInputIcon,\n        renderLeftIcon,\n        renderRightIcon,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const placeholder = props.placeholder || t('common:common-components.any-select-input.placeholder');\n    const inputPlaceholder = props.inputPlaceholder || t('common:common-components.any-select-input.input-placeholder');\n\n    const [inputValue, setInputValue] = React.useState<string>('');\n\n    useDebouncedEffect(\n        (): void => {\n            onChangeQuery(inputValue);\n        },\n        COLD_TIME_MS,\n        [inputValue],\n    );\n\n    const [isOpen, toggleOpen] = React.useState<boolean>(false);\n\n    useEffect(() => {\n        if (isDisabled) {\n            toggleOpen(false);\n        }\n    }, [isDisabled]);\n\n    const handleOpen = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        toggleOpen(true);\n\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const handleClose = (): void => {\n        toggleOpen(false);\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handleOuterEvent = (): void => {\n        handleClose();\n    };\n\n    const selectedValuesSet = useMemo(() => {\n        return new Set<ValueT>(selectedValues);\n    }, [selectedValues]);\n\n    const inputProps = {\n        onChange: (event: TODO) => setInputValue(event.target.value),\n        value: inputValue || '',\n        type: 'text',\n        className: cx('search-input', {\n            'search-input--isEmpty': !inputValue,\n            'search-input--isFocus': isOpen,\n        }),\n        placeholder: inputPlaceholder,\n        disabled: isDisabled,\n    };\n\n    const [selectedOptionAccumulatorMap, setSelectedOptionAccumulatorMap] = React.useState<Record<string, OptionT>>({});\n\n    React.useEffect(() => {\n        const changes: Record<string, OptionT> = {};\n\n        selectedValues.forEach((value) => {\n            const selectedOption = options?.find((option) => {\n                if (checkIsSpecialOption(option)) {\n                    return false;\n                }\n\n                return value === getOptionValue(option);\n            });\n\n            if (value && selectedOption && !checkIsSpecialOption(selectedOption)) {\n                changes[`${value}`] = selectedOption;\n            }\n        });\n\n        if (!isEmpty(changes)) {\n            setSelectedOptionAccumulatorMap((prevMap) => {\n                return {\n                    ...prevMap,\n                    ...changes,\n                };\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [selectedValues, options]);\n\n    const handleChange = (value: ValueT): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        const newSelectedValuesSet = new Set(selectedValuesSet);\n        const isAlreadySelected = newSelectedValuesSet.has(value);\n        if (isAlreadySelected) {\n            newSelectedValuesSet.delete(value);\n        } else {\n            newSelectedValuesSet.add(value);\n        }\n        onSelect([...newSelectedValuesSet]);\n    };\n\n    const selectedOptions = React.useMemo(() => {\n        return selectedValues.reduce<Array<OptionT>>((acc, selectedValue) => {\n            if (!selectedValue) {\n                return acc;\n            }\n\n            const accumulatedOption = selectedOptionAccumulatorMap[`${selectedValue}`];\n            if (!accumulatedOption) {\n                return acc;\n            }\n\n            acc.push(accumulatedOption);\n            return acc;\n        }, []);\n    }, [selectedValues, selectedOptionAccumulatorMap]);\n\n    const allOptions = React.useMemo(() => {\n        const optionValueSet = new Set<ValueT>([]);\n\n        options.forEach((option) => {\n            if (checkIsSpecialOption(option)) {\n                return;\n            }\n\n            optionValueSet.add(getOptionValue(option));\n        });\n\n        const restSelectedOptions = selectedOptions.filter((option) => {\n            if (checkIsSpecialOption(option)) {\n                return false;\n            }\n\n            return !optionValueSet.has(getOptionValue(option));\n        });\n\n        if (restSelectedOptions?.length) {\n            return [...options, SpecialOptionEnum.separator, ...restSelectedOptions];\n        }\n\n        return [...options];\n    }, [options, selectedOptions, getOptionValue]);\n\n    const hasValue = !!selectedValues?.length;\n\n    return (\n        <DropdownBaseLayout\n            isInline={isInline}\n            isOpen={isOpen}\n            className={className}\n            onClose={handleOuterEvent}\n            triggerNode={\n                renderTrigger ? (\n                    renderTrigger(\n                        {\n                            isEmpty: !selectedOptions.length,\n                            isPressed: isOpen,\n                            isDisabled: !!isDisabled,\n                            hasChanges: !!hasChanges,\n                            hasWarning: !!hasWarning,\n                            hasError: !!hasError,\n                            onClick: handleOpen,\n                            isShowClearControl: !!onReset && hasValue,\n                            onReset,\n                        },\n                        selectedOptions,\n                        placeholder,\n                    )\n                ) : (\n                    <DropdownBaseButtonTrigger\n                        isEmpty={!selectedOptions.length}\n                        isPressed={isOpen}\n                        isDisabled={isDisabled}\n                        renderLeftIcon={\n                            renderLeftIcon\n                                ? (iconMeta) =>\n                                      renderLeftIcon({\n                                          ...iconMeta,\n                                          isLoading: !!isLoading,\n                                          hasValue,\n                                      })\n                                : undefined\n                        }\n                        renderRightIcon={\n                            renderRightIcon\n                                ? (iconMeta) =>\n                                      renderRightIcon({\n                                          ...iconMeta,\n                                          isLoading: !!isLoading,\n                                          hasValue,\n                                      })\n                                : undefined\n                        }\n                        className={triggerClassName}\n                        testSelector={testSelector}\n                        onClick={handleOpen}\n                        hasChanges={hasChanges}\n                        hasWarning={hasWarning}\n                        hasError={hasError}\n                        hasSuccess={hasSuccess}\n                        isShowClearControl={!!onReset && hasValue}\n                        onReset={() => {\n                            if (onReset) {\n                                onReset();\n                            }\n                        }}\n                    >\n                        {renderTriggerContent?.(selectedOptions, placeholder)}\n                    </DropdownBaseButtonTrigger>\n                )\n            }\n            overlayPosition={overlayPosition}\n            overlayClassName={cs(cx('overlay'), overlayClassName)}\n            overlayNode={\n                <>\n                    <div className={cx('search-input-wrap')}>\n                        <input ref={(node) => node?.focus()} {...inputProps} />\n                        {renderRightInputIcon && (\n                            <div className={cx('icon', 'icon--right-icon')}>\n                                {renderRightInputIcon({\n                                    isDisabled: !!isDisabled,\n                                    hasChanges: !!hasChanges,\n                                    hasWarning: !!hasWarning,\n                                    hasSuccess: !!hasSuccess,\n                                    hasError: !!hasError,\n                                    isLoading: !!isLoading,\n                                    hasValue,\n                                })}\n                            </div>\n                        )}\n                        <div className={cx('icon', 'icon--search')}>\n                            {isLoading ? (\n                                <ControlLoaderIcon\n                                    fillColor={StyleGuideColorsEnum.brandDark}\n                                    size={DEFAULT_ICON_SIZE}\n                                />\n                            ) : (\n                                <SearchIcon fillColor={StyleGuideColorsEnum.charcoal} />\n                            )}\n                        </div>\n                    </div>\n                    <div className={cx('options')}>\n                        {allOptions.map((option, index): React.ReactElement | null => {\n                            if (checkIsSpecialOption(option)) {\n                                const isLastOption = index === allOptions.length - 1;\n                                if (isLastOption) {\n                                    return null;\n                                }\n\n                                return <div key={index} className={cx('separator')} />;\n                            }\n\n                            const value = getOptionValue(option);\n\n                            const isSelected = selectedValuesSet.has(value);\n\n                            return (\n                                <div key={index} className={cx('option')}>\n                                    <Checkbox\n                                        checked={isSelected}\n                                        className={cx('option__checkbox')}\n                                        label={null}\n                                        onChange={() => {\n                                            handleChange(value);\n                                        }}\n                                    />\n                                    <div\n                                        className={cx('option__label')}\n                                        onClick={() => {\n                                            handleChange(value);\n                                        }}\n                                    >\n                                        {renderOption(option)}\n                                    </div>\n                                </div>\n                            );\n                        })}\n                    </div>\n                </>\n            }\n        />\n    );\n};\n\nexport default DropdownSearchMultipleInput;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DocumentTypeCell.scss';\n\ntype PropsT = {\n    name: string;\n    isEmpty: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DocumentTypeCell: React.FC<PropsT> = React.memo((props) => {\n    const { name, isEmpty } = props;\n\n    return (\n        <div\n            className={cx('type', {\n                'type--is-empty': isEmpty,\n            })}\n        >\n            {name}\n        </div>\n    );\n});\n\nexport default DocumentTypeCell;\n","import { CLOSE_ERROR_MODAL, ErrorsStateT, OPEN_ERROR_MODAL, RESET_LOGS } from './types';\nimport { checkError, checkIgnoreError } from './utils';\nimport { AnyAction } from 'redux';\nimport { ErrorActionT } from 'common/store/errors/models';\nimport { generateTraceId, logWarningWithTraceId } from 'common/utils/logger';\nimport { extractApiRequestErrorTraceId } from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nconst initialState: ErrorsStateT = {\n    logs: [],\n    isShowErrorModal: false,\n};\n\nconst MAX_LOGS_COUNT = 10;\n\nexport default (state = initialState, action: AnyAction): ErrorsStateT => {\n    if (action.type === OPEN_ERROR_MODAL) {\n        return {\n            ...state,\n            isShowErrorModal: true,\n        };\n    }\n\n    if (action.type === RESET_LOGS) {\n        return {\n            ...state,\n            logs: [],\n            isShowErrorModal: false,\n        };\n    }\n\n    if (action.type === CLOSE_ERROR_MODAL) {\n        return {\n            ...state,\n            logs: state.logs.map((log) => {\n                return {\n                    ...log,\n                    isNew: false,\n                };\n            }),\n            isShowErrorModal: false,\n        };\n    }\n\n    const isError = checkError(action.type);\n    const isIgnoreError = checkIgnoreError(action);\n    if (isError && !isIgnoreError) {\n        const actionError = action.error || action.payload.error;\n\n        let traceId = extractApiRequestErrorTraceId(actionError);\n        if (!traceId) {\n            traceId = generateTraceId();\n        }\n\n        const log: ErrorActionT = {\n            type: action.type,\n            error: actionError,\n            timestamp: Date.now(),\n            traceId,\n            isNew: true,\n        };\n\n        logWarningWithTraceId('Show error modal with log', traceId, log);\n\n        const logs = [log, ...state.logs].slice(0, MAX_LOGS_COUNT);\n\n        return {\n            ...state,\n            logs,\n            isShowErrorModal: true,\n        };\n    }\n\n    return state;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"zone-title\":\"CustomZoneTextWrap__zone-title___OlJ_5\",\"fadeIn\":\"CustomZoneTextWrap__fadeIn___XAEQf\",\"blinking\":\"CustomZoneTextWrap__blinking___y1bQX\"};","import * as React from 'react';\nimport { formatDiff, getTimeLeft, MS_IN_SEC, parseDiff } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\n\ntype ResultT = {\n    diff: number | null;\n    formattedDiff: string | null;\n};\n\nconst useTimeMark = ({ timeMark }: { timeMark: string | null | undefined }): ResultT => {\n    const { t } = useTranslation();\n\n    const [timeLeft, setTimeLeft] = React.useState<number | null>(getTimeLeft(timeMark));\n\n    React.useEffect(() => {\n        const handler = () => {\n            setTimeLeft(getTimeLeft(timeMark));\n        };\n        handler();\n\n        const intervalId = setInterval(handler, MS_IN_SEC);\n\n        return () => {\n            clearInterval(intervalId);\n        };\n    }, [timeMark]);\n\n    return React.useMemo((): ResultT => {\n        const diff = timeLeft !== null ? timeLeft : null;\n        if (diff === null) {\n            return {\n                diff: null,\n                formattedDiff: null,\n            };\n        }\n\n        const parsedDiff = parseDiff(diff);\n        const formattedDiff = formatDiff(t, parsedDiff);\n\n        return {\n            diff,\n            formattedDiff,\n        };\n    }, [t, timeLeft]);\n};\n\nexport { useTimeMark };\n","import React, { useCallback } from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { useTranslation } from 'react-i18next';\nimport ShipperIcon, { ShipperIconProps } from 'common/icons/ShipperIcon';\nimport classNames from 'classnames/bind';\nimport styles from './ShippersSuggest.scss';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { ApiPartnerT } from 'common/utils/api/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport DropdownSearchMultipleInput, {\n    IconMetaT,\n} from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiPartnerT['id'] | null;\n\nexport type OptionT = {\n    id: ApiPartnerT['id'];\n    name: ApiPartnerT['name'];\n    number: ApiPartnerT['number'];\n    countryCode: ApiPartnerT['countryCode'] | null;\n};\n\ntype RenderLeftIconT = (meta: IconMetaT) => React.ReactNode;\n\nconst defaultRenderLeftIcon: RenderLeftIconT = (iconMeta) => (\n    <ShipperIcon {...ShipperIconProps.getControlProps(iconMeta)} />\n);\n\nexport type PropsT = {\n    className?: string;\n    initialOptions?: Array<OptionT>;\n    initialRequestStatus?: RequestStatusT;\n    onSelect: (values: Array<ValueT>, options: Array<OptionT>) => void;\n    values: Array<ValueT>;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    renderLeftIcon?: RenderLeftIconT;\n};\n\nconst ShippersSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialOptions,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        initialRequestStatus,\n        renderLeftIcon,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback((query) => {\n        return brokerTranziitApi.findShippersByName(query).then((response): AsyncRequestFactoryResultT<OptionT> => {\n            const [error, result] = response;\n            if (error) {\n                return [error, null];\n            }\n\n            const items: Array<OptionT> =\n                result?.content?.map((item) => {\n                    return {\n                        id: item.id,\n                        name: item.name,\n                        number: item.number,\n                        countryCode: item.countryCode,\n                    };\n                }) || [];\n\n            return [null, items];\n        });\n    }, []);\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions,\n        requestFactory,\n        settings: {},\n    });\n\n    const handleSelect = (values: Array<ValueT>) => {\n        const valueSet = new Set(values);\n\n        const options = asyncOptionsRequest.options.filter((option) => {\n            const optionValue = getOptionValue(option);\n            return valueSet.has(optionValue);\n        });\n\n        onSelect(values, options);\n    };\n\n    const handleReset = () => {\n        onSelect([], []);\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                className={cx('option')}\n                withoutPaddings\n                icon={option.countryCode ? <FlagIcon countryCode={option.countryCode} /> : null}\n                label={option.name || ''}\n                description={option.number || ''}\n            />\n        );\n    };\n\n    const renderTrigger = (options: Array<OptionT> | undefined, placeholder?: string): React.ReactNode => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options?.length === 1) {\n            const firstOption = options?.[0] || null;\n\n            return (\n                <DropdownControlOptionLabel\n                    withoutPaddings\n                    icon={firstOption?.countryCode ? <FlagIcon countryCode={firstOption.countryCode} /> : null}\n                    label={firstOption?.name || ''}\n                    description={firstOption?.number || ''}\n                />\n            );\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                label={t('common:common-components.shippers-suggest.selected')}\n                description={\n                    <PillLabel isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                        {options?.length || 0}\n                    </PillLabel>\n                }\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values}\n            placeholder={placeholder}\n            options={asyncOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            renderLeftIcon={renderLeftIcon ?? defaultRenderLeftIcon}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition}\n            isLoading={asyncOptionsRequest.requestStatus.loading || initialRequestStatus?.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default ShippersSuggest;\n","import min from 'lodash/fp/min';\nimport max from 'lodash/fp/max';\nimport isNil from 'lodash/isNil';\nimport { isNonNil } from 'common/utils/index';\nimport isNumber from 'lodash/isNumber';\n\nexport type MinBoundingBoxT = [number, number];\n\nexport const createGeoPoint = (\n    latitude: number | null | undefined,\n    longitude: number | null | undefined,\n): GeoPointT | null => {\n    if (isNumber(latitude) && isNumber(longitude)) {\n        return {\n            lat: latitude,\n            lng: longitude,\n        };\n    }\n\n    return null;\n};\n\nconst getBoundingBox = (\n    points: Array<Partial<GeoPointT> | null>,\n    minSize: MinBoundingBoxT = [0.02, 0.02],\n): BoundingBoxT | null => {\n    const lats = points.filter(isNonNil).map((point) => point.lat);\n    const lngs = points.filter(isNonNil).map((point) => point.lng);\n\n    let lat0 = min(lats);\n    let lng0 = min(lngs);\n    let lat1 = max(lats);\n    let lng1 = max(lngs);\n\n    if (isNil(lat0) || isNil(lng0) || isNil(lat1) || isNil(lng1)) {\n        return null;\n    }\n\n    const dlat = lat1 - lat0;\n    const dlng = lng1 - lng0;\n\n    if (dlat < minSize[0]) {\n        const latAdj = (minSize[0] - dlat) / 2;\n        lat0 -= latAdj;\n        lat1 += latAdj;\n    }\n\n    if (dlng < minSize[1]) {\n        const lngAdj = (minSize[1] - dlng) / 2;\n        lng0 -= lngAdj;\n        lng1 += lngAdj;\n    }\n    return [\n        [lat0, lng0],\n        [lat1, lng1],\n    ];\n};\n\nexport default getBoundingBox;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { EditBrokerTeamSidebarDataT } from './models';\nimport { BrokerTeamDetailsT } from 'broker-admin/store/broker-team-details/models';\n\nconst getInitialValues = (\n    sidebarData: EditBrokerTeamSidebarDataT,\n    teamDetails: BrokerTeamDetailsT | null,\n): FormValuesT => {\n    return {\n        [FieldsEnum.name]: teamDetails?.name || '',\n        [FieldsEnum.timeZone]: teamDetails?.timezone || null,\n        [FieldsEnum.users]: teamDetails?.users || [],\n        [FieldsEnum.partners]: teamDetails?.companies || [],\n    };\n};\n\nexport default getInitialValues;\n","export const getShipmentAnchor = (shipmentId: ShipmentIdT | null) => {\n    return `shipment-${shipmentId}`;\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from 'common/layouts/DriversPageLayout/query-models';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {};\n\n    const parsedName = simpleStringFormatter(values[FieldsEnum.name]);\n    if (parsedName) {\n        queryFilters[QueryFiltersKeysEnum.searchText] = undefined;\n        queryFilters[QueryFiltersKeysEnum.name] = parsedName;\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"CompletedPartnerDocumentCard__inner___mThtp\",\"document-name\":\"CompletedPartnerDocumentCard__document-name___DOZOC\",\"fadeIn\":\"CompletedPartnerDocumentCard__fadeIn___SMMOS\",\"blinking\":\"CompletedPartnerDocumentCard__blinking___BJoBl\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"Widget__wrap___pV3Zt\",\"title\":\"Widget__title___SBbEG\",\"header\":\"Widget__header___mmjW6\",\"right-node\":\"Widget__right-node___HT7OT\",\"left-node\":\"Widget__left-node___f2xI7\",\"tooltip\":\"Widget__tooltip___qtYEn\",\"fadeIn\":\"Widget__fadeIn___tgPDM\",\"blinking\":\"Widget__blinking___Nk14H\"};","// extracted by mini-css-extract-plugin\nexport default {\"asset-tooltip\":\"FerryLocationPin__asset-tooltip___HZBmz\",\"fadeIn\":\"FerryLocationPin__fadeIn___E0YUd\",\"blinking\":\"FerryLocationPin__blinking___Zk0Fr\"};","import * as React from 'react';\nimport WarningIcon from 'common/icons/WarningIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\n\nexport type PropsT = {\n    className?: string;\n    children?: React.ReactNode;\n};\n\nconst EntityWarningAlert: React.FC<PropsT> = React.memo(({ className, children }) => {\n    return (\n        <Alert\n            className={className}\n            icon={<WarningIcon fillColor={StyleGuideColorsEnum.white} />}\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.orange}\n        >\n            {children}\n        </Alert>\n    );\n});\n\nexport default EntityWarningAlert;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TransportationOrderMileagAndPaymentChangedCard.scss';\nimport { Trans } from 'react-i18next';\nimport CityName from 'common/components/notification-cards/entities/CityName/CityName';\nimport BrokerOrderNumber from 'broker-admin/components/notification-cards/entities/BrokerOrderNumber/BrokerOrderNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    number: string;\n    cityA: string;\n    cityB: string;\n};\n\nconst TransportationOrderMileagAndPaymentChangedCard: React.FC<PropsT> = React.memo((props) => {\n    const { number, cityA, cityB } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.transportation-order-mileage-and-payment-changed\"\n                components={{\n                    id: <BrokerOrderNumber number={number} />,\n                    cityA: <CityName cityName={cityA} />,\n                    cityB: <CityName cityName={cityB} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default TransportationOrderMileagAndPaymentChangedCard;\n","import React from 'react';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport {\n    ShipperContractLaneDetailsT,\n    UpdateShipperContractLaneChangesT,\n} from 'common/store/shipper-contract-lane-details/models';\nimport TeamDrivePill from 'common/components/status-pill/TeamDrivePill/TeamDrivePill';\nimport ShipperContractLaneEditForm from './ShipperContractLaneEditForm/ShipperContractLaneEditForm';\nimport ShipperContractLaneOtherDetails from '../ShipperContractLaneOtherDetails/ShipperContractLaneOtherDetails';\nimport ShipperContractLaneStatusPill from 'common/components/status-pill/ShipperContractLaneStatusPill/ShipperContractLaneStatusPill';\nimport classNames from 'classnames/bind';\nimport styles from './EditShipperContractLaneSidebarContent.scss';\nimport { useSelector } from 'react-redux';\nimport { selectUpdateShipperContractLaneRequest } from 'common/store/shipper-contract-lane-details/selectors';\nimport { ShipperContractDetailsT } from 'common/store/shipper-contract-details/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    data: ShipperContractLaneDetailsT | null;\n    onGoBack?: () => void;\n    onClose?: () => void;\n    onCancel: () => void;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n\n    onOpenUserDetails?: (userId: UserIdT) => void;\n\n    onChangeOriginRadiusKm?: (radiusKm: number) => void;\n    onChangeDestinationRadiusKm?: (radiusKm: number) => void;\n\n    onEditShipperContractLane: (detailsChanges: UpdateShipperContractLaneChangesT) => void;\n\n    contractDetails: ShipperContractDetailsT | null;\n};\n\nconst EditShipperContractLaneSidebarContent: React.FC<PropsT> = (props) => {\n    const {\n        data,\n        onGoBack,\n        onClose,\n        onCancel,\n        setNeedCloseConfirmation,\n\n        onOpenUserDetails,\n\n        onChangeOriginRadiusKm,\n        onChangeDestinationRadiusKm,\n\n        onEditShipperContractLane,\n\n        contractDetails,\n    } = props;\n\n    const updateRequestStatus = useSelector(selectUpdateShipperContractLaneRequest);\n\n    return (\n        <>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={data?.tztLaneId || ''}\n                    afterTitleNode={\n                        <>\n                            <ShipperContractLaneStatusPill className={cx('status')} status={data?.status} />\n                            {data?.teamDrive && <TeamDrivePill />}\n                        </>\n                    }\n                    onClose={() => {\n                        if (onClose) {\n                            onClose();\n                        }\n                    }}\n                    onGoBack={onGoBack}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <ShipperContractLaneEditForm\n                    data={data}\n                    onCancel={onCancel}\n                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                    onChangeOriginRadiusKm={onChangeOriginRadiusKm}\n                    onChangeDestinationRadiusKm={onChangeDestinationRadiusKm}\n                    onSubmit={onEditShipperContractLane}\n                    updateRequestStatus={updateRequestStatus}\n                    contractDetails={contractDetails}\n                />\n                <ShipperContractLaneOtherDetails data={data} onOpenUserDetails={onOpenUserDetails} />\n            </SideBarLayout>\n        </>\n    );\n};\n\nexport default EditShipperContractLaneSidebarContent;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './ParanjaSideBarLayout.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst ParanjaSideBarLayout: React.FC<PropsT> = React.memo(() => {\n    return <div className={cx('paranja')} />;\n});\n\nexport default ParanjaSideBarLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"content-wrap\":\"SubmitButtonContent__content-wrap___Q2hwb\",\"loader\":\"SubmitButtonContent__loader___bOGGR\",\"fadeIn\":\"SubmitButtonContent__fadeIn___z1rm9\",\"blinking\":\"SubmitButtonContent__blinking___HUI1T\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const brokerToursRefreshChannel = new ViewEventChannel<{}>();\n\nexport const brokerToursPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"FerrySettingsForm__widget___VDU16\",\"widget__inner\":\"FerrySettingsForm__widget__inner___w_V_A\",\"field\":\"FerrySettingsForm__field___xfbHv\",\"fadeIn\":\"FerrySettingsForm__fadeIn___DFcgA\",\"blinking\":\"FerrySettingsForm__blinking___JzE8j\"};","import { authRoutesEnum, CommonRoutesEnum } from 'common/constants';\n\nexport const routesEnum = {\n    home: authRoutesEnum.home,\n    signIn: authRoutesEnum.signIn,\n    signUp: authRoutesEnum.signUp,\n    deprecateSignUp: authRoutesEnum.deprecateSignUp,\n    continueSignUp: authRoutesEnum.continueSignUp,\n    forgotPassword: authRoutesEnum.forgotPassword,\n    changePassword: authRoutesEnum.changePassword,\n    confirmEmail: authRoutesEnum.confirmEmail,\n    selfCreateCompany: authRoutesEnum.selfCreateCompany,\n\n    notFound: CommonRoutesEnum.notFound,\n    account: CommonRoutesEnum.account,\n    accessDenied: CommonRoutesEnum.accessDenied,\n\n    spotRequests: '/spot',\n    brokerTours: '/broker-tours',\n    brokerRFQs: '/broker-rfqs',\n    brokerOrders: '/broker-orders',\n    orders: '/orders',\n    settings: '/settings',\n    statistics: '/statistics',\n    partners: '/partners',\n    invoices: '/invoices',\n    partner: '/partners/:partnerType/:partnerId/partner',\n    assetDetails: '/partners/:partnerType/:partnerId/asset',\n    shipperContractDetails: '/partners/:partnerType/:partnerId/shipper-contracts/:contractId',\n    shipperLaneDetails: '/partners/:partnerType/:partnerId/shipper-contract-lanes/:contractId',\n    brokerUsers: '/users',\n} as const;\n\nexport enum ShipperContractDetailsEnum {\n    details = '/partners/:partnerType/:partnerId/shipper-contracts/:contractId/details',\n    lanes = '/partners/:partnerType/:partnerId/shipper-contracts/:contractId/lanes',\n}\n\nexport enum BrokerUsersRoutesEnum {\n    brokerTeams = '/users/teams',\n}\n\nexport enum BrokerRFQRoutesEnum {\n    list = '/broker-rfqs',\n    details = '/broker-rfqs/:rfqId/details',\n}\n\nexport enum PartnersRoutesEnum {\n    partnerDetails = '/partners/:partnerType/:partnerId/partner/details',\n    partnerDocuments = '/partners/:partnerType/:partnerId/partner/documents',\n    partnerMembers = '/partners/:partnerType/:partnerId/partner/members',\n    partnerInvoices = '/partners/:partnerType/:partnerId/partner/invoices',\n    partnerTrailers = '/partners/:partnerType/:partnerId/partner/trailers',\n    partnerTrucks = '/partners/:partnerType/:partnerId/partner/trucks',\n    partnerDrivers = '/partners/:partnerType/:partnerId/partner/drivers',\n    partnerTransportOrders = '/partners/:partnerType/:partnerId/partner/transport-orders',\n    partnerTransportOrderDetails = '/partners/:partnerType/:partnerId/partner/transport-order/:transportOrderId',\n}\n\nexport enum PartnersDocumentsRoutesEnum {\n    requiredPartnerDocuments = '/partners/:partnerType/:partnerId/partner/documents/required',\n    optionalPartnerDocuments = '/partners/:partnerType/:partnerId/partner/documents/optional',\n    partnerCarrierContracts = '/partners/:partnerType/:partnerId/partner/documents/carrier-contracts',\n    partnerShipperContracts = '/partners/:partnerType/:partnerId/partner/documents/shipper-contracts',\n}\n\nexport enum OMSRoutesEnum {\n    newOrder = '/orders/new',\n}\n\nexport enum ShipperContractLaneRoutesEnum {\n    newLane = '/partners/:partnerType/:partnerId/shipper-contract-lanes/:contractId/new',\n    laneDetails = '/partners/:partnerType/:partnerId/shipper-contract-lanes/:contractId/lane/:laneId',\n}\n\nexport enum SpotRoutesEnum {\n    list = '/spot',\n    spotRequestDetails = '/spot/:spotRequestId',\n}\n\nexport enum BrokerOrdersRoutesEnum {\n    brokerOrderRouteEdit = '/broker-orders/:brokerOrderId/route-edit',\n    brokerOrderAssignment = '/broker-orders/:brokerOrderId/tours/:tourId/assignment',\n    brokerOrderDetails = '/broker-orders/:brokerOrderId',\n}\n\nexport enum BrokerToursRoutesEnum {\n    brokerTourDeadheadCreation = '/broker-tours/deadhead-create',\n    brokerTourDetails = '/broker-tours/:brokerTourId',\n}\n\nexport enum SettingsRuleRoutesEnum {\n    newRule = '/settings/rules/new',\n    ruleDetails = '/settings/rules/:ruleId',\n}\n\nexport enum SettingsRoutesEnum {\n    rateMatrix = '/settings/rate-matrix',\n    rules = '/settings/rules',\n    systemSettings = '/settings/system',\n    additionalServices = '/settings/additional-services',\n    tenderCalculator = '/settings/tender-calculator',\n}\n\nexport enum AssetRoutesEnum {\n    truckDetails = '/partners/:partnerType/:partnerId/asset/truck/:truckId',\n    trailerDetails = '/partners/:partnerType/:partnerId/asset/trailer/:trailerId',\n}\n\nexport default {};\n","import { useContext } from 'react';\nimport NotificationSidebarContext, { NotificationSidebarContextT } from 'common/contexts/notification-sidebar-context';\n\nconst useNotificationSideBarContext = (): NotificationSidebarContextT => {\n    return useContext(NotificationSidebarContext);\n};\n\nexport default useNotificationSideBarContext;\n","import { CompanyContactDetailsT } from 'common/store/members/models';\nimport { ApiCompanyContactDetailsT } from 'common/utils/api/models';\n\nexport const prepareCompanyContactDetails = (\n    contactDetails: ApiCompanyContactDetailsT | null,\n): CompanyContactDetailsT | null => {\n    if (!contactDetails) {\n        return null;\n    }\n\n    return {\n        ...contactDetails,\n        fullName: [contactDetails.name, contactDetails.surname].filter(Boolean).join(' '),\n    };\n};\n","import * as React from 'react';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport isNil from 'lodash/isNil';\n\ntype PropsT = {\n    driverId: DriverIdT | null | undefined;\n    onOpenDriverDetails?: (driverId: DriverIdT) => void;\n};\n\nconst DriverLinkFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { children, driverId, onOpenDriverDetails } = props;\n\n    if (isNil(driverId) || !onOpenDriverDetails) {\n        return <span>{children}</span>;\n    }\n\n    return (\n        <Link onClick={() => onOpenDriverDetails(driverId)} theme={LinkThemeEnum.boldBrandDark}>\n            {children}\n        </Link>\n    );\n});\n\nexport default DriverLinkFormatter;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TransparentButton.scss';\nimport cs from 'classnames';\n\nimport noop from 'lodash/noop';\n\nconst cx = classNames.bind(styles);\n\nexport type ButtonPropsT = {\n    className?: string;\n    type?: 'button' | 'submit' | 'reset';\n    onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n    isDisabled?: boolean;\n    testSelector?: string;\n};\n\nconst TransparentButton: React.FC<ButtonPropsT> = (props) => {\n    const { className, type, onClick, isDisabled, children, testSelector } = props;\n\n    const isClickable = !!onClick && !isDisabled;\n\n    return (\n        <button\n            className={cs(\n                cx('button', {\n                    'button--isClickable': isClickable,\n                }),\n                className,\n            )}\n            type={type || 'button'}\n            disabled={!isClickable}\n            data-test-selector={`${testSelector}_button`}\n            onClick={isClickable ? onClick : noop}\n        >\n            <span className={cx('inner')}>{children}</span>\n        </button>\n    );\n};\n\nexport default TransparentButton;\n","import {\n    CHANGE_RESERVE_QUERY,\n    ChangeReserveQueryActionT,\n    CLEAR_OFFERS_TASKS,\n    ClearOffersTasksActionT,\n    CORRECT_PREVIEW_RESERVE_QUERY,\n    CorrectPreviewReserveQueryActionT,\n    CREATE_ORDER_REQUEST,\n    CREATE_ORDER_REQUEST_BEGIN,\n    CREATE_ORDER_REQUEST_ERROR,\n    CREATE_ORDER_REQUEST_SUCCESS,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST_BEGIN,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST_SUCCESS,\n    CREATE_RESERVE_BEGIN,\n    CREATE_RESERVE_ERROR,\n    CREATE_RESERVE_SUCCESS,\n    CREATE_RFQ_REQUEST,\n    CREATE_RFQ_REQUEST_BEGIN,\n    CREATE_RFQ_REQUEST_ERROR,\n    CREATE_RFQ_REQUEST_SUCCESS,\n    CreateOrderActionT,\n    CreateOrderBeginActionT,\n    CreateOrderErrorActionT,\n    CreateOrderSuccessActionT,\n    CreatePriceOfferWithLaneRequestActionT,\n    CreatePriceOfferWithLaneRequestBeginActionT,\n    CreatePriceOfferWithLaneRequestErrorActionT,\n    CreatePriceOfferWithLaneRequestSuccessActionT,\n    CreateReserveBeginActionT,\n    CreateReserveErrorActionT,\n    CreateReserveSuccessActionT,\n    CreateRFQActionT,\n    CreateRFQBeginActionT,\n    CreateRFQErrorActionT,\n    CreateRFQSuccessActionT,\n    ENSURE_CREATED_RFQ,\n    EnsureCreatedRFQActionT,\n    FETCH_OFFERS,\n    FETCH_OFFERS_ERROR,\n    FETCH_ROUTE,\n    FETCH_ROUTE_ERROR,\n    FETCH_ROUTE_SUCCESS,\n    FETCH_TASK_OFFER,\n    FETCH_TASK_OFFER_ERROR,\n    FetchOffersActionT,\n    FetchOffersErrorActionT,\n    FetchRouteActionT,\n    FetchRouteErrorActionT,\n    FetchRouteSuccessActionT,\n    FetchTaskOfferActionT,\n    FetchTaskOfferErrorActionT,\n    MARK_OFFERS_EXPIRED,\n    MarkOffersExpiredActionT,\n    PREVIEW_RESERVE_BEGIN,\n    PREVIEW_RESERVE_ERROR,\n    PREVIEW_RESERVE_SUCCESS,\n    PreviewReserveBeginActionT,\n    PreviewReserveErrorActionT,\n    PreviewReserveSuccessActionT,\n    RESET,\n    RESET_CREATE_RESERVE_WITH_QUERY,\n    RESET_RESERVE_AND_RESERVE_PREVIEW,\n    ResetActionT,\n    ResetCreateReserveWithQueryActionT,\n    ResetReserveAndReservePreviewT,\n    SELECT_OFFER,\n    SelectOfferActionT,\n    SET_ALLOW_CREATE_RFQ,\n    SET_CREATE_RESERVE_QUERY,\n    SET_EXPECTED_OFFERS_COUNT,\n    SET_PREVIEW_RESERVE_QUERY,\n    SetAllowCreateRFQT,\n    SetCreateReserveQueryActionT,\n    SetExpectedOffersCountT,\n    SetPreviewReserveQueryActionT,\n    CORRECT_RESERVE_QUERY,\n    CorrectReserveQueryActionT,\n} from './types';\nimport {\n    CreateReserveQueryT,\n    PriceOfferT,\n    ReservePreviewQueryT,\n    ReservePreviewT,\n    ReserveQueryChangesT,\n    ReserveT,\n    RFQDetailsT,\n} from './models';\nimport { ApiActualOrderRequestT, ApiCreateOrderRequestT } from 'common/utils/api/models';\n\nexport const changeReserveQuery = (changes: ReserveQueryChangesT): ChangeReserveQueryActionT => ({\n    type: CHANGE_RESERVE_QUERY,\n    changes,\n});\n\nexport const setAllowCreateRFQ = (isAllowCreateRFQ: boolean): SetAllowCreateRFQT => ({\n    type: SET_ALLOW_CREATE_RFQ,\n    isAllowCreateRFQ,\n});\n\nexport const createRFQ = (\n    actualOrderRequest: ApiActualOrderRequestT,\n    reserve: ReserveT,\n    shipperId: ShipperIdT | null,\n): CreateRFQActionT => ({\n    type: CREATE_RFQ_REQUEST,\n    actualOrderRequest,\n    reserve,\n    shipperId,\n});\n\nexport const createPriceOfferWithLaneRequest = (\n    actualOrderRequest: ApiActualOrderRequestT,\n    reserve: ReserveT,\n    shipperId: ShipperIdT | null,\n    laneId: ShipperContractLaneIdT,\n): CreatePriceOfferWithLaneRequestActionT => ({\n    type: CREATE_PRICE_OFFER_WITH_LANE_REQUEST,\n    actualOrderRequest,\n    reserve,\n    shipperId,\n    laneId,\n});\n\nexport const createPriceOfferWithLaneRequestBegin = (): CreatePriceOfferWithLaneRequestBeginActionT => ({\n    type: CREATE_PRICE_OFFER_WITH_LANE_REQUEST_BEGIN,\n});\n\nexport const createPriceOfferWithLaneRequestSuccess = (\n    rfq: RFQDetailsT,\n    lanePriceOffer: PriceOfferT | null,\n): CreatePriceOfferWithLaneRequestSuccessActionT => ({\n    type: CREATE_PRICE_OFFER_WITH_LANE_REQUEST_SUCCESS,\n    rfq,\n    lanePriceOffer,\n});\n\nexport const createPriceOfferWithLaneRequestError = (error: Error): CreatePriceOfferWithLaneRequestErrorActionT => ({\n    type: CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR,\n    error,\n});\n\nexport const createRFQBegin = (): CreateRFQBeginActionT => ({\n    type: CREATE_RFQ_REQUEST_BEGIN,\n});\n\nexport const ensureCreatedRFQ = (rfqId: RFQIdT): EnsureCreatedRFQActionT => ({\n    type: ENSURE_CREATED_RFQ,\n    rfqId,\n});\n\nexport const createRFQSuccess = (rfq: RFQDetailsT): CreateRFQSuccessActionT => ({\n    type: CREATE_RFQ_REQUEST_SUCCESS,\n    rfq,\n});\n\nexport const fetchRoute = (polylineId: PolylineIdT | null): FetchRouteActionT => ({\n    type: FETCH_ROUTE,\n    polylineId,\n});\n\nexport const fetchRouteSuccess = (polylines: Array<GooglePolylineT>): FetchRouteSuccessActionT => ({\n    type: FETCH_ROUTE_SUCCESS,\n    polylines,\n});\n\nexport const fetchRouteError = (error: Error): FetchRouteErrorActionT => ({\n    type: FETCH_ROUTE_ERROR,\n    error,\n});\n\nexport const createRFQError = (error: Error): CreateRFQErrorActionT => ({\n    type: CREATE_RFQ_REQUEST_ERROR,\n    error,\n});\n\nexport const createOrder = (\n    rfqId: RFQIdT,\n    createOrderRequest: ApiCreateOrderRequestT,\n    isCreateNextOrder: boolean,\n): CreateOrderActionT => ({\n    type: CREATE_ORDER_REQUEST,\n    rfqId,\n    createOrderRequest,\n    isCreateNextOrder,\n});\n\nexport const createOrderBegin = (): CreateOrderBeginActionT => ({\n    type: CREATE_ORDER_REQUEST_BEGIN,\n});\n\nexport const createOrderSuccess = (): CreateOrderSuccessActionT => ({\n    type: CREATE_ORDER_REQUEST_SUCCESS,\n});\n\nexport const createOrderError = (error: Error): CreateOrderErrorActionT => ({\n    type: CREATE_ORDER_REQUEST_ERROR,\n    error,\n});\n\nexport const selectOffer = (rfqId: RFQIdT, offer: PriceOfferT): SelectOfferActionT => ({\n    type: SELECT_OFFER,\n    rfqId,\n    offer,\n});\n\nexport const fetchOffersError = (error: Error): FetchOffersErrorActionT => ({\n    type: FETCH_OFFERS_ERROR,\n    error,\n});\n\nexport const setExpectedOffersCount = (expectedOffersCount: number | null): SetExpectedOffersCountT => ({\n    type: SET_EXPECTED_OFFERS_COUNT,\n    expectedOffersCount,\n});\n\nexport const fetchOffers = (priceOffers: Array<PriceOfferT>): FetchOffersActionT => ({\n    type: FETCH_OFFERS,\n    priceOffers,\n});\n\nexport const markOffersExpired = (ids: Array<PriceOfferIdT>): MarkOffersExpiredActionT => ({\n    type: MARK_OFFERS_EXPIRED,\n    ids,\n});\n\nexport const fetchTaskOffer = (offer: PriceOfferT, tasksCount: number): FetchTaskOfferActionT => ({\n    type: FETCH_TASK_OFFER,\n    offer,\n    tasksCount,\n});\n\nexport const fetchTaskOfferError = (error: Error): FetchTaskOfferErrorActionT => ({\n    type: FETCH_TASK_OFFER_ERROR,\n    error,\n});\n\nexport const clearOffersTasks = (): ClearOffersTasksActionT => ({\n    type: CLEAR_OFFERS_TASKS,\n});\n\nexport const resetOrderCreation = (): ResetActionT => ({\n    type: RESET,\n});\n\nexport const setCreateReserveQuery = (query: CreateReserveQueryT | null): SetCreateReserveQueryActionT => ({\n    type: SET_CREATE_RESERVE_QUERY,\n    query,\n});\n\nexport const createReserveBegin = (query: CreateReserveQueryT | null): CreateReserveBeginActionT => ({\n    type: CREATE_RESERVE_BEGIN,\n    query,\n});\n\nexport const createReserveSuccess = (\n    reserve: ReserveT,\n    query: CreateReserveQueryT | null,\n): CreateReserveSuccessActionT => ({\n    type: CREATE_RESERVE_SUCCESS,\n    reserve,\n    query,\n});\n\nexport const createReserveError = (error: Error, query: CreateReserveQueryT | null): CreateReserveErrorActionT => ({\n    type: CREATE_RESERVE_ERROR,\n    error,\n    query,\n});\n\nexport const resetCreateReserveWithQuery = (query: CreateReserveQueryT | null): ResetCreateReserveWithQueryActionT => ({\n    type: RESET_CREATE_RESERVE_WITH_QUERY,\n    query,\n});\n\nexport const previewReserveBegin = (query: ReservePreviewQueryT | null): PreviewReserveBeginActionT => ({\n    type: PREVIEW_RESERVE_BEGIN,\n    query,\n});\n\nexport const setPreviewReserveQuery = (query: ReservePreviewQueryT | null): SetPreviewReserveQueryActionT => ({\n    type: SET_PREVIEW_RESERVE_QUERY,\n    query,\n});\n\nexport const correctPreviewReserveQuery = (query: ReservePreviewQueryT | null): CorrectPreviewReserveQueryActionT => ({\n    type: CORRECT_PREVIEW_RESERVE_QUERY,\n    query,\n});\n\nexport const correctReserveQuery = (query: CreateReserveQueryT | null): CorrectReserveQueryActionT => ({\n    type: CORRECT_RESERVE_QUERY,\n    query,\n});\n\nexport const previewReserveSuccess = (\n    preview: ReservePreviewT,\n    query: ReservePreviewQueryT | null,\n): PreviewReserveSuccessActionT => ({\n    type: PREVIEW_RESERVE_SUCCESS,\n    preview,\n    query,\n});\n\nexport const previewReserveError = (error: Error, query: ReservePreviewQueryT | null): PreviewReserveErrorActionT => ({\n    type: PREVIEW_RESERVE_ERROR,\n    error,\n    query,\n});\n\nexport const resetReserveAndPreviewReserve = (): ResetReserveAndReservePreviewT => ({\n    type: RESET_RESERVE_AND_RESERVE_PREVIEW,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"HorizontalColumnsLayout__content___WXjrb\",\"inner\":\"HorizontalColumnsLayout__inner___ff1Ys\",\"tab-item\":\"HorizontalColumnsLayout__tab-item___SDANr\",\"tab-item--isActive\":\"HorizontalColumnsLayout__tab-item--isActive___r_3_e\",\"tabs\":\"HorizontalColumnsLayout__tabs____4sJz\",\"tabs__container\":\"HorizontalColumnsLayout__tabs__container___jIwGT\",\"tabs__tab\":\"HorizontalColumnsLayout__tabs__tab___AzlgT\",\"tabs__tab--isLeftTab\":\"HorizontalColumnsLayout__tabs__tab--isLeftTab___tDlFI\",\"tabs__tab--isNarrow\":\"HorizontalColumnsLayout__tabs__tab--isNarrow___Wd9Qn\",\"tabs__tab--isRightTab\":\"HorizontalColumnsLayout__tabs__tab--isRightTab___OTQOD\",\"tabs__tab--isActiveRightTab\":\"HorizontalColumnsLayout__tabs__tab--isActiveRightTab___MCJ4A\",\"tab\":\"HorizontalColumnsLayout__tab___qnNKS\",\"fadeIn\":\"HorizontalColumnsLayout__fadeIn___YCdP0\",\"blinking\":\"HorizontalColumnsLayout__blinking___cgMty\"};","import * as React from 'react';\nimport { formatTimeInterval } from 'common/utils/time';\nimport { TransportOrderT } from 'common/store/transport-orders/models';\nimport LocationCellLayout from 'common/components/Table/cell-renderers/LocationCell/LocationCell';\nimport { DirectionEnum } from 'common/constants';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\n\ntype PropsT = {\n    order: TransportOrderT;\n    type: DirectionEnum;\n};\n\nconst LocationCell: React.FC<PropsT> = React.memo((props) => {\n    const { order, type } = props;\n\n    let time = null;\n    let address = null;\n\n    if (type === DirectionEnum.destination) {\n        address = order.destination;\n        time = formatTimeInterval(order.destinationDateFrom, order.destinationDateTo);\n    }\n    if (type === DirectionEnum.origin) {\n        address = order.origin;\n        time = formatTimeInterval(order.originDateFrom, order.originDateTo);\n    }\n\n    return (\n        <LocationCellLayout\n            address={<LocationLabel format=\"zip_city_country\" location={address} allowShowCountryCode />}\n            time={time}\n        />\n    );\n});\n\nexport default LocationCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"TransportOrdersTable__table__header___c2rNM\",\"table__header--id\":\"TransportOrdersTable__table__header--id___oWuSQ\",\"table__header--type\":\"TransportOrdersTable__table__header--type___VspsQ\",\"table__column\":\"TransportOrdersTable__table__column___SYyBW\",\"table__column--id\":\"TransportOrdersTable__table__column--id___WlUDs\",\"table__column--partners\":\"TransportOrdersTable__table__column--partners___cMwTf\",\"table__column--create\":\"TransportOrdersTable__table__column--create___oUT8_\",\"table__column--locations\":\"TransportOrdersTable__table__column--locations___nG52p\",\"table__column--type\":\"TransportOrdersTable__table__column--type___vkKSq\",\"table__column--has-warnings\":\"TransportOrdersTable__table__column--has-warnings___SDFbu\",\"table__column--status\":\"TransportOrdersTable__table__column--status___SCAaa\",\"fadeIn\":\"TransportOrdersTable__fadeIn___WljHq\",\"blinking\":\"TransportOrdersTable__blinking___GfJnK\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ActivateAssetForm.scss';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT, RateSourceEnum, rateSourceSet } from './constants';\nimport validateForm from './validate-form';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport ModalDialogActions from 'common/components/Modal/ModalDialogActions/ModalDialogActions';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport { CurrencyEnum, UnitTypeEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { prepareActivateVehiclesRequest } from './prepare-activate-vehicles-request';\nimport { AssetDataT } from 'common/layouts/dialogs/ActivateAssetDialogModal/models';\nimport Money from 'common/components/Money/Money';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\n\nimport RateSourceOption from 'common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetForm/RateSourceOption/RateSourceOption';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport { logWarning } from 'common/utils/logger';\nimport { ApiActivateVehiclesRequestT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    assets: Array<AssetDataT>;\n    companyId: CompanyIdT;\n    onCancel: () => void;\n    onSubmit: (activateVehiclesRequest: ApiActivateVehiclesRequestT) => void;\n    requestStatus: RequestStatusT;\n};\n\nexport const INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.source]: RateSourceEnum.current,\n    [FieldsEnum.rate]: '',\n};\n\nconst TEST_SELECTOR = 'activate-asset-form';\n\ntype RateSourceOptionT = {\n    text: string;\n    label: React.ReactNode;\n    labelFallback?: React.ReactNode;\n    value: RateSourceEnum | CarrierContractIdT;\n};\n\nconst T_MAP = {\n    oneRatesOptionLabel: 'common:assets.activation.rates.one-current-rate',\n    manyRatesOptionLabel: 'common:assets.activation.rates.many-current-rates',\n    newRateOptionLabel: 'common:assets.activation.rates.new-rate',\n};\n\nconst ActivateAssetForm: React.FC<PropsT> = (props) => {\n    const { onCancel, onSubmit, requestStatus, assets, companyId } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [isLoadingContract, setIsLoadingContract] = React.useState(false);\n    const [contractOptions, setContractOptions] = React.useState<Array<RateSourceOptionT>>([]);\n\n    React.useEffect(() => {\n        (async () => {\n            if (!companyId) {\n                return;\n            }\n\n            setIsLoadingContract(true);\n            const isPartner = !checkIsDefaultCompanyId(companyId);\n            if (isPartner) {\n                const brokerResponse = await brokerTranziitApi.fetchCarrierApprovedContracts(companyId);\n\n                setContractOptions(\n                    brokerResponse?.[1]?.map((apiContract) => {\n                        return {\n                            label: apiContract.name,\n                            labelFallback: apiContract.id,\n                            value: apiContract.id,\n                            text: apiContract.name || apiContract.id,\n                        };\n                    }) || [],\n                );\n            } else {\n                const carrierResponse = await carrierTranziitApi.fetchCarrierApprovedContracts();\n\n                setContractOptions(\n                    carrierResponse?.[1]?.map((apiContract) => {\n                        return {\n                            label: apiContract.name,\n                            labelFallback: apiContract.id,\n                            value: apiContract.id,\n                            text: apiContract.name || apiContract.id,\n                        };\n                    }) || [],\n                );\n            }\n\n            setIsLoadingContract(false);\n        })();\n    }, [companyId]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values: FormValuesT = {\n            ...INITIAL_VALUES,\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [assets]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const activateVehiclesRequest = prepareActivateVehiclesRequest(assets, values);\n            if (activateVehiclesRequest) {\n                onSubmit(activateVehiclesRequest);\n            } else {\n                logWarning('Empty activateVehiclesRequest!');\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const rateSourceOptions = React.useMemo(() => {\n        let currentRatesOptionLabel;\n        if (assets.length === 1) {\n            currentRatesOptionLabel = (\n                <Trans\n                    i18nKey={T_MAP.oneRatesOptionLabel}\n                    components={{\n                        rate: <Money amount={assets[0]?.ratePerKm} currency={CurrencyEnum.EUR} />,\n                    }}\n                />\n            );\n        } else {\n            currentRatesOptionLabel = t(T_MAP.manyRatesOptionLabel);\n        }\n\n        return [\n            {\n                label: currentRatesOptionLabel,\n                text: '*',\n                value: RateSourceEnum.current,\n            },\n            {\n                label: t(T_MAP.newRateOptionLabel),\n                text: '*',\n                value: RateSourceEnum.new,\n            },\n            ...contractOptions,\n        ];\n    }, [assets, contractOptions, t]);\n\n    const selectedSource = formik.values[FieldsEnum.source];\n\n    const [query, setQuery] = React.useState<string>('');\n\n    const renderOption = (option: RateSourceOptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <RateSourceOption\n                isCurrentContract={initialValues[FieldsEnum.source] === option.value}\n                isContract={!!option.value && !rateSourceSet.has(option.value)}\n                label={option.label}\n                labelFallback={option.labelFallback}\n            />\n        );\n    };\n\n    const filteredOptions = React.useMemo(() => {\n        const preparedQuery = query.toLowerCase().trim();\n        if (!preparedQuery) {\n            return rateSourceOptions;\n        }\n\n        return rateSourceOptions.filter((option) => {\n            if (option.text === '*') {\n                return true;\n            }\n\n            return option.text.toLowerCase().includes(preparedQuery);\n        });\n    }, [rateSourceOptions, query]);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('form')}>\n                <FieldGroup spaces={1}>\n                    <FormikField\n                        name={FieldsEnum.source}\n                        className={cx('field', 'field--source')}\n                        label={t('common:assets.activation.fields.source.label')}\n                        error={formik.errors[FieldsEnum.source]}\n                        meta={formik.getFieldMeta(FieldsEnum.source)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DropdownSearchInput<RateSourceOptionT, RateSourceOptionT['value']>\n                                selectedValue={formik.values[FieldsEnum.source]}\n                                options={filteredOptions}\n                                onSelect={props.onChange}\n                                renderOption={renderOption}\n                                renderTrigger={renderOption}\n                                getOptionValue={(option) => option.value}\n                                overlayClassName={cx('overlay')}\n                                overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                onChangeQuery={setQuery}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                isDisabled={isLoadingContract}\n                                isLoading={isLoadingContract}\n                                renderRightIcon={({ isLoading }) => {\n                                    return isLoading ? (\n                                        <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} />\n                                    ) : null;\n                                }}\n                            />\n                        )}\n                    </FormikField>\n                    {selectedSource === RateSourceEnum.new && (\n                        <FormikField\n                            className={cx('field', 'field--rate')}\n                            name={FieldsEnum.rate}\n                            error={formik.errors[FieldsEnum.rate]}\n                            meta={formik.getFieldMeta(FieldsEnum.rate)}\n                            label={t('common:assets.activation.fields.rate.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <NumberInput\n                                    name={FieldsEnum.rate}\n                                    unitType={UnitTypeEnum.euroAbbreviation}\n                                    value={formik.values[FieldsEnum.rate]}\n                                    placeholder={t('common:assets.activation.fields.rate.placeholder')}\n                                    step={1}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                />\n                            )}\n                        </FormikField>\n                    )}\n                </FieldGroup>\n            </div>\n            <ModalDialogActions\n                actions={[\n                    {\n                        children: t('common:error-modal.actions.cancel'),\n                        theme: ButtonThemeEnum.secondary,\n                        isDisabled: requestStatus.loading,\n                        testSelector: `${TEST_SELECTOR}_cancel`,\n                        onClick: () => {\n                            onCancel();\n                        },\n                    },\n                    {\n                        children: t('common:error-modal.actions.activate'),\n                        theme: ButtonThemeEnum.primary,\n                        isDisabled: requestStatus.loading,\n                        isLoading: requestStatus.loading,\n                        testSelector: `${TEST_SELECTOR}_ok`,\n                        type: 'submit',\n                    },\n                ]}\n            />\n        </form>\n    );\n};\n\nexport default ActivateAssetForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"city\":\"CityName__city___bR8_l\",\"fadeIn\":\"CityName__fadeIn___qItOY\",\"blinking\":\"CityName__blinking___IMkS6\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ContactSidebarHeader.scss';\nimport ColoredStatusLabel from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport { CompanyContactDetailsT } from 'common/store/members/models';\nimport { useTranslation } from 'react-i18next';\nimport { UserStatusEnum } from 'common/utils/api/models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { isNonNil } from 'common/utils';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contactDetails: CompanyContactDetailsT | null;\n};\n\nconst colorsMap: Record<UserStatusEnum, StyleGuideColorsEnum> = {\n    [UserStatusEnum.archived]: StyleGuideColorsEnum.tomatoRed,\n    [UserStatusEnum.active]: StyleGuideColorsEnum.mediumGreen,\n    [UserStatusEnum.pending]: StyleGuideColorsEnum.orange,\n};\n\nconst ContactSidebarHeader: React.FC<PropsT> = (props) => {\n    const { contactDetails } = props;\n\n    const { t } = useTranslation();\n\n    const fullName = [contactDetails?.name, contactDetails?.surname].filter(isNonNil).join(' ') || '—';\n\n    if (!contactDetails) {\n        return null;\n    }\n\n    return (\n        <div>\n            <div className={cx('full-name')}>{fullName}</div>\n            {contactDetails?.position && (\n                <ColoredStatusLabel\n                    className={cx('position')}\n                    label={t(`common:team-members.edit-contact.fields.position.labels.${contactDetails?.position}`)}\n                    color={colorsMap[contactDetails?.userStatus as UserStatusEnum] || StyleGuideColorsEnum.light}\n                />\n            )}\n        </div>\n    );\n};\n\nexport default ContactSidebarHeader;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst DeleteUserIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M2 1h18v18H2z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M9.2 8.65c.747 0 1.35-.603 1.35-1.35 0-.747-.603-1.35-1.35-1.35-.747 0-1.35.603-1.35 1.35 0 .747.603 1.35 1.35 1.35zm3.852 4.644A7.64 7.64 0 009.2 12.25a7.64 7.64 0 00-3.852 1.044c-.126.072-.198.225-.198.378v.369h8.1v-.369a.456.456 0 00-.198-.378z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M9.2 10.9a8.86 8.86 0 014.527 1.233c.549.315.873.918.873 1.548V15.4H3.8v-1.719c0-.63.324-1.233.873-1.548A8.86 8.86 0 019.2 10.9zm0 1.35c-1.35 0-2.682.36-3.852 1.053a.444.444 0 00-.198.378v.369h8.1v-.378c0-.153-.072-.306-.198-.378A7.64 7.64 0 009.2 12.25zm0-7.65c1.494 0 2.7 1.206 2.7 2.7 0 1.494-1.206 2.7-2.7 2.7a2.696 2.696 0 01-2.7-2.7c0-1.494 1.206-2.7 2.7-2.7zm9 3.375v1.35h-4.5v-1.35h4.5zm-9-2.025c-.747 0-1.35.603-1.35 1.35 0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35 0-.747-.603-1.35-1.35-1.35z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nDeleteUserIcon.displayName = 'DeleteUserIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default DeleteUserIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"TenderCalculator__widget___LVDNR\",\"widget__inner\":\"TenderCalculator__widget__inner___BXn_z\",\"widget__loader\":\"TenderCalculator__widget__loader___uXyaB\",\"row\":\"TenderCalculator__row___N8HBV\",\"row__column--action\":\"TenderCalculator__row__column--action___IcnK1\",\"row__column--status\":\"TenderCalculator__row__column--status___HPWtb\",\"message-inner\":\"TenderCalculator__message-inner___kGTMc\",\"message-column__text\":\"TenderCalculator__message-column__text___h7IVB\",\"message-column__action\":\"TenderCalculator__message-column__action___rqisO\",\"alert__inner-limited-text\":\"TenderCalculator__alert__inner-limited-text___vX1nF\",\"alert__control\":\"TenderCalculator__alert__control____3UMq\",\"fadeIn\":\"TenderCalculator__fadeIn___fx05V\",\"blinking\":\"TenderCalculator__blinking___nBgY2\"};","import * as React from 'react';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport { selectTrucksStats } from 'common/store/trucks/selectors';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useSelector } from 'react-redux';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst ActiveFleetCount: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const { partnerId } = usePartnerContext();\n\n    const trucksStats = useSelector(selectTrucksStats(partnerId));\n\n    if (!trucksStats || !trucksStats?.actualTotalCount) {\n        return null;\n    }\n    return (\n        <NotificationLabel\n            className={className}\n            count={trucksStats?.actualTotalCount}\n            theme={NotificationLabelThemeEnum.charcoal}\n        />\n    );\n});\n\nexport default ActiveFleetCount;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerTourDetailsPage.scss';\n\nimport { useParams } from 'react-router-dom';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport { BrokerToursRoutesEnum, routesEnum } from 'broker-admin/constants';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport {\n    ApiCanBeCanceledUnavailableReasonT,\n    ApiTourStatusT,\n    PartnerTypeEnum,\n    TourStatusEnum,\n} from 'common/utils/api/models';\nimport TabGroupWithDivider from 'common/components/tabs/TabGroupWithDivider/TabGroupWithDivider';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum } from 'common/components/tabs/TabLabel/constants';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport EntitySidebarSkeleton from 'common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { logWarning } from 'common/utils/logger';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport BrokerTourRouteMap from 'broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourRouteMap/BrokerTourRouteMap';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport { consistentStateMachineRefreshChannel } from 'common/store/consistent-state-machine/channels';\nimport {\n    selectBrokerTourDetails,\n    selectBrokerTourDetailsRequestStatus,\n} from 'broker-admin/store/broker-tour-details/selectors';\nimport { fetchBrokerTourDetails } from 'broker-admin/store/broker-tour-details/actions';\nimport TourStatusPill from 'common/components/status-pill/TourStatusPill/TourStatusPill';\nimport BrokerTourTypePill from 'broker-admin/components/status-pill/BrokerTourTypePill/BrokerTourTypePill';\nimport BrokerTourDetails from 'broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/BrokerTourDetails';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\n\nimport { updateEntityStatus } from 'common/store/state-machine/slice';\nimport CancelBrokerTourConfirmation, {\n    CancelingBrokerTourConfirmationDataT,\n} from 'broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/dialogs/CancelBrokerTourConfirmation/CancelBrokerTourConfirmation';\nimport { useMemo } from 'react';\nimport { StateMachineEntityDescriptorT } from 'common/store/state-machine/models';\nimport { useStateMachine } from 'common/utils/hooks/useStateMachine';\nimport { updatePapersRefreshChannel } from 'common/store/papers/channels';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { papersEditRefreshChannel } from 'common/store/papers-edit/channels';\nimport DropdownControlOptionLabelWithTooltip from 'design-system/components/dropdowns/option/DropdownControlOptionLabelWithTooltip/DropdownControlOptionLabelWithTooltip';\nimport { updateSpotRefreshChannel } from 'broker-admin/store/spot/channels';\nimport HighlightedEntityContext, {\n    HighlightedEntityContextProvider,\n} from 'common/components/status-machine/contexts/HighlightedEntityContext';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport ParanjaSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/ParanjaSideBarLayout/ParanjaSideBarLayout';\nimport SendingToSpotFooterContent from 'broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/footers/SendingToSpotFooterContent/SendingToSpotFooterContent';\nimport StatusFooterContent from 'broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/footers/StatusFooterContent/StatusFooterContent';\nimport { selectSpotUpdateRequestStatus } from 'broker-admin/store/spot/selectors';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { getShipmentAnchor } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/ShipmentDetailsCard/utils';\nimport scrollIntoView from 'scroll-into-view';\nimport { ApiBrokerTourEnum } from 'broker-admin/utils/api/broker-tranziit/models';\n\nconst canceledUnavailableReasonI18n: Record<ApiCanBeCanceledUnavailableReasonT, string> = {\n    ONLY_BROKER_CAN_CANCEL_TOUR: 'broker-tour-details.can-be-canceled-unavailable-reason.ONLY_BROKER_CAN_CANCEL_TOUR',\n    PAYLOAD_TOUR_CANT_BE_CANCELED:\n        'broker-tour-details.can-be-canceled-unavailable-reason.PAYLOAD_TOUR_CANT_BE_CANCELED',\n    NOT_IN_ASSIGNED_STATUS: 'broker-tour-details.can-be-canceled-unavailable-reason.NOT_IN_ASSIGNED_STATUS',\n    HAS_TO_IN_TRANSIT_IN_PROGRESS_OR_DONE:\n        'broker-tour-details.can-be-canceled-unavailable-reason.HAS_TO_IN_TRANSIT_IN_PROGRESS_OR_DONE',\n    ALREADY_CANCELED: 'broker-tour-details.can-be-canceled-unavailable-reason.ALREADY_CANCELED',\n};\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst BrokerTourDetailsPageContent: React.FC<PropsT> = React.memo(() => {\n    const params = useParams<ExtractRouterRouteParamsT<BrokerToursRoutesEnum.brokerTourDetails>>();\n    const { brokerTourId } = params;\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const { t } = useTranslation();\n\n    const brokerTourDetails = useSelector(selectBrokerTourDetails(brokerTourId));\n    const brokerTourDetailsRequestStatus = useSelector(selectBrokerTourDetailsRequestStatus(brokerTourId));\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchBrokerTourDetails({ id: brokerTourId }));\n    }, [dispatch, brokerTourId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchBrokerTourDetails({ id: brokerTourId, options: { isForceUpdate: false } }));\n    }, [dispatch, brokerTourId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        dispatch(fetchBrokerTourDetails({ id: brokerTourId, options: { isForceUpdate: true } }));\n    }, [dispatch, brokerTourId]);\n    useChannelSubscribe(stateMachineRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(updateSpotRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(consistentStateMachineRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(updatePapersRefreshChannel, refreshPageHandler);\n    useChannelSubscribe(papersEditRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        dispatch(fetchBrokerTourDetails({ id: brokerTourId, options: { isForceUpdate: true } }));\n    }, [dispatch, brokerTourId]);\n\n    const closeTourDetails = () => {\n        goBackIfHasRePath(() => {\n            history.push(routesEnum.brokerTours + history.location.search);\n        });\n    };\n\n    const [activeIndexTab, setActiveIndexTab] = React.useState<number>(0);\n\n    const tabs = [\n        {\n            label: t('broker-tour-details.tabs.map'),\n            node: <BrokerTourRouteMap key={brokerTourId} brokerTourDetails={brokerTourDetails} />,\n        },\n        // {\n        //     label: t('broker-tour-details.tabs.activity'),\n        //     node: <div>activity</div>,\n        // },\n    ];\n\n    const [isActiveSendingToSpot, setIsActiveSendingToSpot] = React.useState(false);\n\n    const ref = React.useRef<HTMLDivElement>(null);\n    const { setHighlightedEntityId: setHighlightedShipmentId } = React.useContext(HighlightedEntityContext);\n\n    const spotRequestStatus = useSelector(selectSpotUpdateRequestStatus);\n    React.useEffect(() => {\n        if (spotRequestStatus.ok) {\n            setIsActiveSendingToSpot(false);\n        }\n    }, [spotRequestStatus.ok]);\n\n    const handleStartAssignment = React.useCallback(() => {\n        const brokerOrderId = brokerTourDetails?.order?.id;\n        if (!brokerOrderId || !brokerTourId) {\n            logWarning('failed to start assignment, empty brokerOrderId or brokerTourId');\n            return;\n        }\n\n        history.push(urlFactory.brokerOrderDetailsAssignments(brokerOrderId, brokerTourId, { fromBrokerTour: true }));\n    }, [brokerTourDetails?.order?.id, brokerTourId]);\n\n    const handleStartSendToSpot = React.useCallback(() => {\n        setIsActiveSendingToSpot(true);\n    }, []);\n\n    const handleCloseSendingToSpot = React.useCallback(() => {\n        setIsActiveSendingToSpot(false);\n    }, []);\n\n    const renderFooterNode = (): React.ReactNode => {\n        if (isActiveSendingToSpot) {\n            return (\n                <>\n                    <ParanjaSideBarLayout />\n                    <FooterSideBarLayout isTransparent hasShadow>\n                        <SendingToSpotFooterContent\n                            brokerTourDetails={brokerTourDetails}\n                            tourId={brokerTourId}\n                            onCancel={handleCloseSendingToSpot}\n                        />\n                    </FooterSideBarLayout>\n                </>\n            );\n        }\n\n        const isPayloadTour =\n            Boolean(brokerTourDetails?.order?.id) && brokerTourDetails?.type === ApiBrokerTourEnum.shipment;\n\n        return (\n            <FooterSideBarLayout hasPaddings>\n                <StatusFooterContent\n                    brokerTourDetails={brokerTourDetails}\n                    isAvailableAssignment={isPayloadTour}\n                    onStartAssignment={handleStartAssignment}\n                    onStartSendToSpot={handleStartSendToSpot}\n                    isDisableAnyActions={brokerTourDetailsRequestStatus.loading}\n                    onManageShipment={(shipmentId) => {\n                        const anchor = getShipmentAnchor(shipmentId);\n                        const targetNode = ref?.current?.querySelector(`[data-anchor=\"${anchor}\"]`);\n                        if (!targetNode) {\n                            return;\n                        }\n\n                        setHighlightedShipmentId(shipmentId);\n\n                        scrollIntoView(targetNode as HTMLElement, {\n                            align: {\n                                top: 0.2,\n                            },\n                        });\n                    }}\n                />\n            </FooterSideBarLayout>\n        );\n    };\n\n    const descriptor = useMemo((): StateMachineEntityDescriptorT | null => {\n        if (!brokerTourId) {\n            return null;\n        }\n\n        return {\n            entityType: 'TOUR',\n            entityId: brokerTourId,\n        };\n    }, [brokerTourId]);\n\n    const { updateRequest } = useStateMachine<ApiTourStatusT>(descriptor);\n\n    const cancelingBrokerTourConfirmation = useModalDialog<CancelingBrokerTourConfirmationDataT>();\n    const handleCancelBrokerTour = React.useCallback(\n        (data: CancelingBrokerTourConfirmationDataT) => {\n            if (!descriptor) {\n                return;\n            }\n\n            dispatch(\n                updateEntityStatus({\n                    descriptor,\n                    update: {\n                        entityType: 'TOUR',\n                        entityId: data.brokerTourId,\n                        status: TourStatusEnum.canceled,\n                    },\n                }),\n            );\n        },\n        [descriptor, dispatch],\n    );\n\n    useCloseModalDialogAfterRequest(updateRequest, [cancelingBrokerTourConfirmation]);\n\n    const headerDropdownOptions = React.useMemo(() => {\n        const canBeCanceledUnavailableReason = brokerTourDetails?.canBeCanceledUnavailableReason || null;\n\n        const isDisabledTourCancel = !!canBeCanceledUnavailableReason;\n\n        return [\n            {\n                label: (\n                    <DropdownControlOptionLabelWithTooltip\n                        tooltipContent={\n                            canBeCanceledUnavailableReason\n                                ? t(canceledUnavailableReasonI18n[canBeCanceledUnavailableReason])\n                                : null\n                        }\n                        icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                        isDisabled={isDisabledTourCancel}\n                        label={t('broker-tour-details.header-actions.cancel')}\n                    />\n                ),\n                isDisabled: isDisabledTourCancel,\n                onSelect: (): void => {\n                    cancelingBrokerTourConfirmation.setData({\n                        brokerTourId,\n                    });\n                },\n            },\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [brokerTourDetails, brokerTourId, cancelingBrokerTourConfirmation?.setData, t]);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const handleOpenUserDetails = (params: {\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n        userId: UserIdT | null;\n    }) => {\n        const { partnerId, partnerType, userId } = params;\n        if (!userId) {\n            logWarning('failed to open user details in broker tour details, empty user id');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.contact,\n                partnerId,\n                partnerType,\n                userId,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    return (\n        <>\n            <GoogleMapContext.Provider value={googleMapsContextValue}>\n                <PageTitle\n                    title={t('page-titles.broker-tour-details', {\n                        number: brokerTourDetails?.number || '',\n                    })}\n                />\n                <HorizontalColumnsLayout\n                    testSelector=\"broker-tour-details\"\n                    className={cx('wrap')}\n                    leftColumnTitle={t('broker-tour-details.main-tabs.details')}\n                    leftColumnNode={\n                        <SideBarLayoutContextWrap>\n                            <HeaderSideBarLayout>\n                                <HeaderSideBarContent\n                                    title={\n                                        brokerTourDetails\n                                            ? t('broker-tour-details.title', {\n                                                  number: brokerTourDetails?.number || '',\n                                              })\n                                            : null\n                                    }\n                                    afterTitleNode={\n                                        <>\n                                            <TourStatusPill\n                                                status={brokerTourDetails?.calculatedStatus}\n                                                isSymmetrical\n                                                className={cx('status')}\n                                            />\n                                            <BrokerTourTypePill type={brokerTourDetails?.type} isSymmetrical />\n                                        </>\n                                    }\n                                    onClose={closeTourDetails}\n                                    dropdownOptions={headerDropdownOptions}\n                                />\n                                <SideBarHeaderRequestStatus\n                                    requestStatus={brokerTourDetailsRequestStatus}\n                                    hasCachedData={Boolean(brokerTourDetails)}\n                                    isForceShowLoader={updateRequest.loading}\n                                />\n                            </HeaderSideBarLayout>\n                            <SideBarLayout>\n                                <div ref={ref}>\n                                    <SideBarRequestStatus\n                                        requestStatus={brokerTourDetailsRequestStatus}\n                                        hasCachedData={Boolean(brokerTourDetails)}\n                                        onRetry={handleRefreshOnError}\n                                        SkeletonComponent={EntitySidebarSkeleton}\n                                    >\n                                        {brokerTourDetails ? (\n                                            <BrokerTourDetails\n                                                brokerTourId={brokerTourId}\n                                                brokerTourDetails={brokerTourDetails}\n                                                onOpenUserDetails={handleOpenUserDetails}\n                                            />\n                                        ) : null}\n                                    </SideBarRequestStatus>\n                                </div>\n                            </SideBarLayout>\n                            {renderFooterNode()}\n                        </SideBarLayoutContextWrap>\n                    }\n                    rightColumnTitle={t('broker-tour-details.main-tabs.info')}\n                    rightColumnNode={\n                        <div className={cx('tabs-wrap')}>\n                            <TabGroupWithDivider>\n                                {tabs.map((tab, tabIndex) => (\n                                    <TabLabel\n                                        key={tabIndex}\n                                        theme={TabsThemesEnum.light}\n                                        onClick={() => {\n                                            setActiveIndexTab(tabIndex);\n                                        }}\n                                        isActive={tabIndex === activeIndexTab}\n                                    >\n                                        {tab.label}\n                                    </TabLabel>\n                                ))}\n                            </TabGroupWithDivider>\n                            <div className={cx('tab')}>{tabs[activeIndexTab].node}</div>\n                        </div>\n                    }\n                />\n            </GoogleMapContext.Provider>\n            <CancelBrokerTourConfirmation\n                requestStatus={updateRequest}\n                data={cancelingBrokerTourConfirmation.data}\n                onConfirm={handleCancelBrokerTour}\n                onCancel={cancelingBrokerTourConfirmation.onCancel}\n                onClose={cancelingBrokerTourConfirmation.onClose}\n            />\n            <SideBars />\n        </>\n    );\n});\n\nconst BrokerTourDetailsPage: React.FC<PropsT> = React.memo((props) => {\n    return (\n        <HighlightedEntityContextProvider>\n            <BrokerTourDetailsPageContent {...props} />\n        </HighlightedEntityContextProvider>\n    );\n});\n\nexport default BrokerTourDetailsPage;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst LayoverIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill={fillColor} d=\"M12.7 14.631v1H7.3v-1h5.4zm0-9.031v1.331l-2.7 2.7-2.7-2.7V5.6h5.4z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M13.6 3.7H6.4v3.6L9.1 10l-2.7 2.7v3.6h7.2v-3.6L10.9 10l2.7-2.7V3.7zm-.9 9.369V15.4H7.3v-2.331l2.7-2.7 2.7 2.7zm0-6.138l-2.7 2.7-2.7-2.7V4.6h5.4v2.331z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nLayoverIcon.displayName = 'LayoverIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default LayoverIcon;\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getLayoverIconProps = (preset: 'regular'): Pick<PropsT, 'strokeColor' | 'fillColor'> => {\n    switch (preset) {\n        case 'regular':\n        default: {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n    }\n};\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { PartnerContractDetailsT } from './models';\n\nexport const FETCH_CARRIER_CONTRACT_DETAILS_REQUEST =\n    'common/carrier-contract-details/FETCH_CARRIER_CONTRACT_DETAILS_REQUEST';\nexport const FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_BEGIN =\n    'common/carrier-contract-details/FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_BEGIN';\nexport const FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_ERROR =\n    'common/carrier-contract-details/FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_ERROR';\nexport const FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_SUCCESS =\n    'common/carrier-contract-details/FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_SUCCESS';\n\nexport type CarrierContractStateT = {\n    data: PartnerContractDetailsT | null;\n    fetchRequest: RequestStatusT;\n};\n\nexport type CarrierContractsDetailStateT = Record<CarrierContractIdT, CarrierContractStateT>;\n\nexport type FetchCarrierContractDetailsActionT = {\n    type: typeof FETCH_CARRIER_CONTRACT_DETAILS_REQUEST;\n    contractId: CarrierContractIdT;\n    partnerId: PartnerIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchCarrierContractDetailsBeginActionT = {\n    type: typeof FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_BEGIN;\n    contractId: CarrierContractIdT;\n};\n\nexport type FetchCarrierContractDetailsSuccessActionT = {\n    type: typeof FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_SUCCESS;\n    contractId: CarrierContractIdT;\n    contractDetails: PartnerContractDetailsT | null;\n};\n\nexport type FetchCarrierContractDetailsErrorActionT = {\n    type: typeof FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_ERROR;\n    error: Error;\n    contractId: CarrierContractIdT;\n};\n\nexport type CarrierContractDetailsActionT =\n    | FetchCarrierContractDetailsActionT\n    | FetchCarrierContractDetailsBeginActionT\n    | FetchCarrierContractDetailsSuccessActionT\n    | FetchCarrierContractDetailsErrorActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"notification\":\"NotificationToastsManager__notification___xui_O\",\"fadeIn\":\"NotificationToastsManager__fadeIn___wblog\",\"blinking\":\"NotificationToastsManager__blinking___yNUMt\"};","import { FieldsEnum, FormValuesT } from './constants';\nimport { PartnerDetailsT } from 'broker-admin/store/partner/details/models';\n\nconst getInitialValues = (partnerDetails: PartnerDetailsT | null): FormValuesT => {\n    return {\n        [FieldsEnum.name]: partnerDetails?.name || '',\n        [FieldsEnum.teamIds]: partnerDetails?.teams?.map((team) => team.id) || [],\n        [FieldsEnum.legalFormId]: typeof partnerDetails?.legalFormId === 'number' ? partnerDetails.legalFormId : null,\n\n        [FieldsEnum.legalAddressCountryCode]: partnerDetails?.legalAddress?.country || null,\n        [FieldsEnum.legalAddressZipCode]: partnerDetails?.legalAddress?.zipCode || '',\n        [FieldsEnum.legalAddressCity]: partnerDetails?.legalAddress?.city || '',\n        [FieldsEnum.legalAddressStreet1]: partnerDetails?.legalAddress?.street1 || '',\n        [FieldsEnum.legalAddressStreet2]: partnerDetails?.legalAddress?.street2 || '',\n\n        [FieldsEnum.postalAddressCountryCode]: partnerDetails?.postalAddress?.country || null,\n        [FieldsEnum.postalAddressZipCode]: partnerDetails?.postalAddress?.zipCode || '',\n        [FieldsEnum.postalAddressCity]: partnerDetails?.postalAddress?.city || '',\n        [FieldsEnum.postalAddressStreet1]: partnerDetails?.postalAddress?.street1 || '',\n        [FieldsEnum.postalAddressStreet2]: partnerDetails?.postalAddress?.street2 || '',\n\n        [FieldsEnum.billingAddressCountryCode]: partnerDetails?.billingAddress?.country || null,\n        [FieldsEnum.billingAddressZipCode]: partnerDetails?.billingAddress?.zipCode || '',\n        [FieldsEnum.billingAddressCity]: partnerDetails?.billingAddress?.city || '',\n        [FieldsEnum.billingAddressStreet1]: partnerDetails?.billingAddress?.street1 || '',\n        [FieldsEnum.billingAddressStreet2]: partnerDetails?.billingAddress?.street2 || '',\n        [FieldsEnum.billingEmail]: partnerDetails?.billingEmail || '',\n    };\n};\n\nexport default getInitialValues;\n","import { StatisticSourceEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    dataSource = 'data-source',\n    fromCountryCode = 'from-country-code',\n    fromZipCode = 'from-zip-code',\n    toCountryCode = 'to-country-code',\n    toZipCode = 'to-zip-code',\n    shipperId = 'shipper-id',\n    shipperName = 'shipper-name',\n    carrierId = 'carrier-id',\n    carrierName = 'carrier-name',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.dataSource]: StatisticSourceEnum;\n    [FieldsEnum.fromCountryCode]: CountryCodeT | null;\n    [FieldsEnum.fromZipCode]: string;\n    [FieldsEnum.toCountryCode]: CountryCodeT | null;\n    [FieldsEnum.toZipCode]: string;\n    [FieldsEnum.shipperId]: CompanyIdT | null;\n    [FieldsEnum.shipperName]: string | null;\n    [FieldsEnum.carrierId]: CompanyIdT | null;\n    [FieldsEnum.carrierName]: string | null;\n};\n\nexport const disableCompaniesDataSourceSet = new Set([StatisticSourceEnum.import]);\n","import * as React from 'react';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    map: MapT | null | undefined;\n    maps: MapsT | null | undefined;\n    zoom: number | null | undefined;\n};\n\nconst MapZoom: React.FC<PropsT> = React.memo((props) => {\n    const { map, maps, zoom } = props;\n\n    React.useEffect(() => {\n        if (!maps || !map || !isNumber(zoom)) {\n            return;\n        }\n\n        map.setZoom(zoom);\n    }, [map, maps, zoom]);\n\n    return null;\n});\n\nexport default MapZoom;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CheckboxTree.scss';\nimport cs from 'classnames';\nimport difference from 'lodash/difference';\nimport uniq from 'lodash/uniq';\nimport Checkbox from '../Checkbox/Checkbox';\n\nconst cx = classNames.bind(styles);\n\nexport type TreeNodeT<T> = {\n    label: React.ReactNode;\n    value?: T;\n    children: Array<TreeNodeT<T>>;\n};\n\ntype ExtendedTreeNodeT<T> = TreeNodeT<T> & {\n    allSubValues: Array<T>;\n};\n\nexport type PropsT<T> = {\n    className?: string;\n    trees: Array<TreeNodeT<T>>;\n    values: Array<T>;\n    isFullWidth?: boolean;\n    onChange: (values: Array<T>, event: React.MouseEvent<HTMLDivElement>) => void;\n    isGroup?: boolean;\n};\n\nexport const getAllSubValues = <T,>(treeNodes: Array<TreeNodeT<T>>): Array<T> => {\n    return treeNodes.reduce<Array<T>>((result, treeNode) => {\n        const allSubValues = getAllSubValues(treeNode.children);\n\n        const currentValue: T[] = [];\n        if (treeNode.value !== undefined) {\n            currentValue.push(treeNode.value);\n        }\n\n        return [...result, ...currentValue, ...allSubValues];\n    }, []);\n};\n\nconst addAllSubValuesForTreeNode = <T,>(treeNode: TreeNodeT<T>): ExtendedTreeNodeT<T> => {\n    return {\n        ...treeNode,\n        allSubValues: getAllSubValues<T>([treeNode]),\n        children: treeNode.children.map(addAllSubValuesForTreeNode),\n    };\n};\n\nconst addAllSubValues = <T,>(trees: Array<TreeNodeT<T>>): Array<ExtendedTreeNodeT<T>> => {\n    return trees.map(addAllSubValuesForTreeNode);\n};\n\nconst CheckboxTree = <ValueT,>(props: PropsT<ValueT>): React.ReactElement => {\n    const { trees, values, onChange, isFullWidth, isGroup, className } = props;\n\n    const preparedValues = React.useMemo(() => {\n        return addAllSubValues(trees);\n    }, [trees]);\n\n    return (\n        <div className={cs(cx('wrap'), className)} data-test-selector=\"checkbox-list\">\n            {preparedValues.map((treeNode, treeIndex) => {\n                const valuesSet = new Set(values);\n\n                const isChecked = treeNode.allSubValues.every((subValue) => valuesSet.has(subValue));\n                const isIndeterminated =\n                    !isChecked && treeNode.allSubValues.some((subValue) => valuesSet.has(subValue));\n\n                return (\n                    <div\n                        className={cx('group', {\n                            'group--isGroup': !!isGroup,\n                        })}\n                        key={treeIndex}\n                    >\n                        <Checkbox\n                            className={cx('checkbox')}\n                            checked={isChecked}\n                            indeterminated={isIndeterminated}\n                            label={treeNode.label}\n                            isFullWidth={isFullWidth}\n                            onChange={(checked, event) => {\n                                let newValue = [...values];\n                                if (checked) {\n                                    newValue = uniq([...values, ...treeNode.allSubValues]);\n                                } else {\n                                    newValue = difference(values, treeNode.allSubValues);\n                                }\n                                onChange(newValue, event);\n                            }}\n                        />\n                        <CheckboxTree\n                            isGroup\n                            trees={treeNode.children}\n                            values={values}\n                            onChange={onChange}\n                            isFullWidth={isFullWidth}\n                        />\n                    </div>\n                );\n            })}\n        </div>\n    );\n};\n\nexport default React.memo(CheckboxTree) as typeof CheckboxTree;\n","export const getPapersHash = (tourId: TourIdT): PapersHashT => {\n    return tourId;\n};\n","export enum BidsSortEnum {\n    date = 'date',\n    price = 'price',\n}\n\nexport enum BidsQuickFilterEnum {\n    accepted = 'accepted',\n    match = 'match',\n    inactive = 'inactive',\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    CREATE_PARTNER_REQUEST,\n    CreatePartnerRequestActionT,\n    FETCH_PARTNERS_PAGE_REQUEST,\n    FetchPartnersPageActionT,\n    INVITE_PARTNER_REQUEST,\n    InvitePartnerRequestActionT,\n} from './types';\nimport {\n    createPartnerRequestBegin,\n    createPartnerRequestError,\n    createPartnerRequestSuccess,\n    fetchPartnersPageBegin,\n    fetchPartnersPageError,\n    fetchPartnersPageSuccess,\n    resetPartners,\n} from './actions';\nimport { selectPartnersPages, selectPartnersQuery } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { partnersPaginationChannel, partnersRefreshChannel } from 'broker-admin/store/partners/channels';\n\nfunction* fetchPartnersSaga(action: FetchPartnersPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options } = action;\n\n    const prevQuery: ReturnType<typeof selectPartnersQuery> = yield select(selectPartnersQuery);\n    const pages: ReturnType<typeof selectPartnersPages> = yield select(selectPartnersPages);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetPartners({ savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchPartnersPageBegin(query, pageNumber));\n\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.fetchPartnersPage> =\n        yield brokerTranziitApi.fetchPartnersPage({\n            ...query,\n            page: pageNumber,\n        });\n\n    if (error) {\n        yield put(fetchPartnersPageError(query, pageNumber, error));\n        return;\n    }\n\n    yield put(fetchPartnersPageSuccess(query, pageNumber, response));\n\n    checkShouldEmitChangePage(pageNumber, response, partnersPaginationChannel);\n}\n\nfunction* invitePartnerSaga(action: InvitePartnerRequestActionT): WrapGeneratorT<void> {\n    const { data } = action;\n\n    yield put(createPartnerRequestBegin());\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.invitePartner> = yield brokerTranziitApi.invitePartner(data);\n    if (error) {\n        yield put(createPartnerRequestError(error));\n        return;\n    }\n\n    yield put(createPartnerRequestSuccess());\n\n    partnersRefreshChannel.emit({});\n}\n\nfunction* createPartnerSaga(action: CreatePartnerRequestActionT): WrapGeneratorT<void> {\n    const { data } = action;\n\n    yield put(createPartnerRequestBegin());\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.createPartner> = yield brokerTranziitApi.createPartner(data);\n    if (error) {\n        yield put(createPartnerRequestError(error));\n        return;\n    }\n\n    yield put(createPartnerRequestSuccess());\n\n    partnersRefreshChannel.emit({});\n}\n\nfunction* partnersSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_PARTNERS_PAGE_REQUEST, fetchPartnersSaga);\n    yield takeEvery(INVITE_PARTNER_REQUEST, invitePartnerSaga);\n    yield takeEvery(CREATE_PARTNER_REQUEST, createPartnerSaga);\n}\n\nexport default partnersSaga;\n","import {\n    CarrierUtilizationResetActionT,\n    FETCH_UTILIZATION_REQUEST,\n    FETCH_UTILIZATION_REQUEST_BEGIN,\n    FETCH_UTILIZATION_REQUEST_ERROR,\n    FETCH_UTILIZATION_REQUEST_SUCCESS,\n    FetchCarrierUtilizationActionT,\n    FetchCarrierUtilizationBeginActionT,\n    FetchCarrierUtilizationErrorActionT,\n    FetchCarrierUtilizationSuccessActionT,\n    RESET,\n} from './types';\nimport { CarrierUtilizationT } from './models';\n\nexport const fetchCarrierUtilization = (ids: CarrierIdT[], date: string): FetchCarrierUtilizationActionT => ({\n    type: FETCH_UTILIZATION_REQUEST,\n    ids,\n    date,\n});\n\nexport const fetchCarrierUtilizationBegin = (): FetchCarrierUtilizationBeginActionT => ({\n    type: FETCH_UTILIZATION_REQUEST_BEGIN,\n});\n\nexport const fetchCarrierUtilizationError = (error: Error): FetchCarrierUtilizationErrorActionT => ({\n    type: FETCH_UTILIZATION_REQUEST_ERROR,\n    error,\n});\n\nexport const fetchCarrierUtilizationSuccess = (\n    ids: CarrierIdT[],\n    date: string,\n    utilizations: Array<CarrierUtilizationT>,\n): FetchCarrierUtilizationSuccessActionT => ({\n    type: FETCH_UTILIZATION_REQUEST_SUCCESS,\n    ids,\n    date,\n    utilizations,\n});\n\nexport const resetCarrierUtilization = (): CarrierUtilizationResetActionT => ({\n    type: RESET,\n});\n","import { CountryCodeT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    keyAccountManagerId = 'keyAccountManagerId',\n    keyAccountManagerName = 'keyAccountManagerName',\n    dispatcherId = 'dispatcherId',\n    dispatcherName = 'dispatcherName',\n    countryCode = 'countryCode',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.keyAccountManagerId]: string | null;\n    [FieldsEnum.keyAccountManagerName]: string | null;\n    [FieldsEnum.dispatcherId]: string | null;\n    [FieldsEnum.dispatcherName]: string | null;\n    [FieldsEnum.countryCode]: CountryCodeT | null;\n};\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ListPageHeaderTabsLayout.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n};\n\nconst ListPageHeaderTabsLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, className } = props;\n\n    return <div className={cs(cx('content'), className)}>{children}</div>;\n});\n\nexport default ListPageHeaderTabsLayout;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LocationCell.scss';\n\ntype PropsT = {\n    address: React.ReactNode;\n    time: React.ReactNode;\n    isSmallTimeFont?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst LocationCell: React.FC<PropsT> = React.memo((props) => {\n    const { address, time, isSmallTimeFont } = props;\n\n    return (\n        <div>\n            <div className={cx('address')}>{address}</div>\n            <div className={cx('time', { 'time--isSmallFont': isSmallTimeFont })}>{time}</div>\n        </div>\n    );\n});\n\nexport default LocationCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"StatusCell__fadeIn___qbVYj\",\"blinking\":\"StatusCell__blinking___WkBIT\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_RFQ_DETAILS_REQUEST, FetchRFQDetailsRequestActionT } from './types';\nimport { fetchRFQDetailsBegin, fetchRFQDetailsError, fetchRFQDetailsSuccess } from './actions';\nimport { selectRFQDetailsRequestStatus } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { CompanyTypeEnum } from 'common/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport shipperTranziitApi from 'shipper/utils/api/shipper-tranziit/api';\n\nconst getFetchRFQDetailsSaga = (companyType: CompanyTypeEnum) => {\n    return function* fetchRFQDetailsSaga(action: FetchRFQDetailsRequestActionT): WrapGeneratorT<void> {\n        const { id, options } = action;\n\n        const requestStatus: ReReturnT<typeof selectRFQDetailsRequestStatus> = yield select(\n            selectRFQDetailsRequestStatus(id),\n        );\n        if (!checkNeedRequest(requestStatus, options)) {\n            return;\n        }\n\n        yield put(fetchRFQDetailsBegin(id));\n\n        let detailsResponse: ReturnApiT<\n            typeof brokerTranziitApi.fetchRFQDetails | typeof shipperTranziitApi.fetchRFQDetails\n        >;\n        if (companyType === CompanyTypeEnum.broker) {\n            detailsResponse = yield brokerTranziitApi.fetchRFQDetails(id);\n        } else {\n            detailsResponse = yield shipperTranziitApi.fetchRFQDetails(id);\n        }\n        const [rfqDetailsError, rfqDetailsData] = detailsResponse;\n        if (rfqDetailsError) {\n            yield put(fetchRFQDetailsError(id, rfqDetailsError));\n            return;\n        }\n\n        let defaultOfferResponse: ReturnApiT<\n            typeof brokerTranziitApi.getRFQDefaultOffer | typeof shipperTranziitApi.getRFQDefaultOffer\n        >;\n        if (companyType === CompanyTypeEnum.broker) {\n            defaultOfferResponse = yield brokerTranziitApi.getRFQDefaultOffer(id);\n        } else {\n            defaultOfferResponse = yield shipperTranziitApi.getRFQDefaultOffer(id);\n        }\n        const [defaultOfferError, defaultOfferData] = defaultOfferResponse;\n        if (defaultOfferError) {\n            yield put(fetchRFQDetailsError(id, defaultOfferError));\n            return;\n        }\n\n        yield put(fetchRFQDetailsSuccess(id, rfqDetailsData, defaultOfferData));\n    };\n};\n\nfunction* rfqDetailsSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_RFQ_DETAILS_REQUEST, getFetchRFQDetailsSaga(companyType));\n}\n\nexport default rfqDetailsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"AssetTypeTabs__wrap___HB6BF\",\"fadeIn\":\"AssetTypeTabs__fadeIn___Ou_pw\",\"blinking\":\"AssetTypeTabs__blinking___TdQOh\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './NameCell.scss';\nimport { RuleT } from 'broker-admin/store/price-settings/rules/models';\nimport ColoredPriceRuleStatusLabel from 'broker-admin/components/status/ColoredPriceRuleStatusLabel/ColoredPriceRuleStatusLabel';\n\ntype PropsT = {\n    rule: RuleT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst NameCell: React.FC<PropsT> = React.memo((props) => {\n    const { rule } = props;\n\n    return (\n        <div>\n            <div className={cx('name')}>{rule.name}</div>\n            <div className={cx('status')}>\n                <ColoredPriceRuleStatusLabel isActive={rule?.active} />\n            </div>\n        </div>\n    );\n});\n\nexport default NameCell;\n","import { RequestStatusT } from './request-status';\nimport { MS_IN_SEC } from './time';\nimport isNumber from 'lodash/isNumber';\nimport { checkIsUnauthorizedError } from 'common/utils/api/errors/api-request-error';\n\nconst DEFAULT_REQUEST_TTL = MS_IN_SEC;\nconst DEFAULT_ERROR_TTL = MS_IN_SEC;\n\nexport const checkIsExpiredRequest = (time: number, ttl = DEFAULT_REQUEST_TTL, now = Date.now()): boolean => {\n    return time + ttl < now;\n};\n\nexport const checkIsExpiredError = (time: number, ttl = DEFAULT_ERROR_TTL, now = Date.now()): boolean => {\n    return time + ttl < now;\n};\n\nconst checkNeedRequest = (\n    request: RequestStatusT | null | undefined,\n    options?: FetchOptionsT,\n    requestOkTTL?: number,\n    requestErrorTTL?: number,\n): boolean => {\n    if (!request) {\n        return true;\n    }\n\n    if (options?.isForceUpdate) {\n        return true;\n    }\n\n    const isUnauthorizedError = checkIsUnauthorizedError(request.error);\n    const errorTTL = isNumber(requestErrorTTL) ? requestErrorTTL : DEFAULT_ERROR_TTL;\n    if (request.error && !checkIsExpiredError(request.time, errorTTL) && !isUnauthorizedError) {\n        return false;\n    }\n\n    if (request.loading) {\n        return false;\n    }\n\n    const okTTL = isNumber(requestOkTTL) ? requestOkTTL : DEFAULT_REQUEST_TTL;\n    if (request.ok && !checkIsExpiredRequest(request.time, okTTL)) {\n        return false;\n    }\n\n    return true;\n};\n\nexport default checkNeedRequest;\n","import React from 'react';\nimport { GoogleMapsContextT } from 'common/utils/hooks/useGoogleMaps';\n\nexport type GoogleMapContextT = {\n    googleMaps: GoogleMapsContextT | null;\n};\n\nconst GoogleMapContext = React.createContext<GoogleMapContextT>({ googleMaps: null });\n\nexport default GoogleMapContext;\n","// extracted by mini-css-extract-plugin\nexport default {\"cluster\":\"MapCluster__cluster___or80r\",\"cluster--theme-charcoal\":\"MapCluster__cluster--theme-charcoal___M1t_L\",\"cluster--theme-slate\":\"MapCluster__cluster--theme-slate___NMtsS\",\"cluster--theme-light\":\"MapCluster__cluster--theme-light___WJW6C\",\"cluster--theme-brand-dark\":\"MapCluster__cluster--theme-brand-dark___Okqou\",\"fadeIn\":\"MapCluster__fadeIn___bJXe3\",\"blinking\":\"MapCluster__blinking___vYADa\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './RuleImpact.scss';\nimport { UnitTypeEnum } from 'common/constants';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { ApiRuleImpactStrategyTypeT, RuleImpactStrategyEnum } from 'broker-admin/utils/api/broker-tranziit/models';\n\ntype PropsT = {\n    className?: string;\n    value?: number;\n    impactStrategy?: ApiRuleImpactStrategyTypeT | 'EXACT';\n};\n\nconst cx = classNames.bind(styles);\n\nconst UNIT_BY_IMPACT_STRATEGY: Record<NonNullable<PropsT['impactStrategy']>, UnitTypeEnum> = {\n    [RuleImpactStrategyEnum.percent]: UnitTypeEnum.percentsAbbreviation,\n    [RuleImpactStrategyEnum.value]: UnitTypeEnum.euroAbbreviation,\n    EXACT: UnitTypeEnum.euroAbbreviation, // TODO remove deprecated\n};\n\nconst signedUnitTypesSet = new Set<NonNullable<PropsT['impactStrategy']>>([RuleImpactStrategyEnum.percent]);\n\nconst RuleImpact: React.FC<PropsT> = React.memo((props) => {\n    const { className, value, impactStrategy } = props;\n\n    if (value === undefined || impactStrategy === undefined) {\n        return null;\n    }\n\n    const sign = value > 0 ? '+ ' : '- ';\n    const absValue = Math.abs(value);\n    const isShowSign = signedUnitTypesSet.has(impactStrategy);\n\n    return (\n        <span className={cs(cx('rule'), className)}>\n            {isShowSign ? sign : null}\n            <UnitTypeCount count={absValue} type={UNIT_BY_IMPACT_STRATEGY[impactStrategy]} />\n        </span>\n    );\n});\n\nexport default RuleImpact;\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxValue, checkMinValue, checkNotEmpty, checkStrictMaxValue } from 'common/utils/form-validators';\nimport { PricingTypeEnum } from 'broker-admin/store/price-settings/system-settings/models';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNumber from 'lodash/isNumber';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.minimalShipmentCost,\n    FieldsEnum.driverSalaryPerHour,\n    FieldsEnum.minimalCostForTruck,\n    FieldsEnum.minimalCostForTrailer,\n    FieldsEnum.layoverCostPerHour,\n    FieldsEnum.layoverCostPerDay,\n    FieldsEnum.layoverFreeHours,\n    FieldsEnum.urgentOverPrice,\n    FieldsEnum.overPriceForEveryAdditionalStop,\n    FieldsEnum.timeSlotAppointmentCost,\n    FieldsEnum.costPerGreenShipment,\n    FieldsEnum.tranziitServiceFeeFixedMode,\n    FieldsEnum.tranziitServiceFeePercent,\n    FieldsEnum.tranziitServiceFeeFixed,\n    FieldsEnum.pricingStrategy,\n    FieldsEnum.truckConsumption,\n    FieldsEnum.reeferConsumption,\n    FieldsEnum.rateMatrixSpread,\n] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n\n        ...checkMinValue(t, [FieldsEnum.minimalShipmentCost], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.minimalShipmentCost], values, 2000),\n\n        ...checkMinValue(t, [FieldsEnum.driverSalaryPerHour], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.driverSalaryPerHour], values, 100),\n\n        ...checkMinValue(t, [FieldsEnum.layoverCostPerHour], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.layoverCostPerHour], values, 1000),\n\n        ...checkMinValue(t, [FieldsEnum.minimalCostForTruck, FieldsEnum.minimalCostForTrailer], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.minimalCostForTruck, FieldsEnum.minimalCostForTrailer], values, 2000),\n\n        ...checkMinValue(t, [FieldsEnum.layoverCostPerDay], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.layoverCostPerDay], values, 10000),\n\n        ...checkMinValue(t, [FieldsEnum.layoverFreeHours], values, 1),\n        ...checkMaxValue(t, [FieldsEnum.layoverFreeHours], values, 72),\n\n        ...checkMinValue(t, [FieldsEnum.urgentOverPrice], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.urgentOverPrice], values, 1000),\n\n        ...checkMinValue(t, [FieldsEnum.overPriceForEveryAdditionalStop], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.overPriceForEveryAdditionalStop], values, 1000),\n\n        ...checkMinValue(t, [FieldsEnum.timeSlotAppointmentCost], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.timeSlotAppointmentCost], values, 500),\n\n        ...checkMinValue(t, [FieldsEnum.costPerGreenShipment], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.costPerGreenShipment], values, 500),\n\n        ...checkMinValue(t, [FieldsEnum.tranziitServiceFeeFixed], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.tranziitServiceFeeFixed], values, 200),\n\n        ...checkMinValue(t, [FieldsEnum.tranziitServiceFeePercent], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.tranziitServiceFeePercent], values, 20),\n\n        ...checkMinValue(t, [FieldsEnum.truckConsumption], values, 20),\n        ...checkMaxValue(t, [FieldsEnum.truckConsumption], values, 40),\n\n        ...checkMinValue(t, [FieldsEnum.reeferConsumption], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.reeferConsumption], values, 10),\n\n        ...checkMinValue(t, [FieldsEnum.rateMatrixSpread], values, 0),\n        ...checkStrictMaxValue(t, [FieldsEnum.rateMatrixSpread], values, 100),\n\n        ...checkMinValue(t, [FieldsEnum.hvoPricePercent], values, 0),\n    };\n\n    const isDisabledPeriodicRulesForMonths = values[FieldsEnum.pricingStrategy] !== PricingTypeEnum.rateMatrix;\n    if (isDisabledPeriodicRulesForMonths && values[FieldsEnum.usePeriodicRulesForMonths]) {\n        errors[FieldsEnum.usePeriodicRulesForMonths] = t(\n            'price-settings.pricing-form.errors.auto-rules-for-months-only-for-price-matrix',\n        );\n    }\n\n    const layoverCostPerHour = parseSimpleNumber(values[FieldsEnum.layoverCostPerHour]);\n    const layoverCostPerDay = parseSimpleNumber(values[FieldsEnum.layoverCostPerDay]);\n    if (isNumber(layoverCostPerHour) && isNumber(layoverCostPerDay) && layoverCostPerHour >= layoverCostPerDay) {\n        errors[FieldsEnum.layoverCostPerDay] = t(\n            'price-settings.pricing-form.errors.layover-per-day-less-layover-per-hours',\n        );\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst FileIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, className } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <g fill={fillColor}>\n                    <g>\n                        <g>\n                            <path\n                                d=\"M13.979 2L4 2 2 2 2 18 4 18 4 4 12 4 12 8 16 8 16 18 18 18 18 6z\"\n                                transform=\"translate(-1110 -200) translate(1100 190) translate(10 10)\"\n                            />\n                        </g>\n                    </g>\n                </g>\n            </g>\n        </svg>\n    );\n};\n\nFileIcon.displayName = 'FileIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default FileIcon;\n","import { ContextRouteStopFakeIdT, ContextRouteStopHashT, RawDeadheadInitContextQueryT } from '../models';\nimport { getContextRouteStopAddressHash } from './get-context-route-stop-hash';\n\nexport const collectFakeIdByHashFromInitContextQuery = (\n    query: RawDeadheadInitContextQueryT,\n): Record<ContextRouteStopHashT, ContextRouteStopFakeIdT> => {\n    return (\n        query.stops?.reduce<Record<ContextRouteStopHashT, ContextRouteStopFakeIdT>>((acc, stop) => {\n            if (!stop.fakeId) {\n                return acc;\n            }\n\n            const hash: ContextRouteStopHashT = getContextRouteStopAddressHash({\n                latitude: stop.latitude,\n                longitude: stop.longitude,\n            });\n            acc[hash] = stop.fakeId;\n            return acc;\n        }, {}) || {}\n    );\n};\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ApiSpotBidStatusT, SpotBidStatusEnum } from 'common/utils/api/models';\n\ntype PropsT = {\n    className?: string;\n    status: ApiSpotBidStatusT | null | undefined;\n};\n\nexport const SPOT_BID_STATUS_T_MAP: Record<ApiSpotBidStatusT, string> = {\n    [SpotBidStatusEnum.new]: 'spot-bid-status.NEW',\n    [SpotBidStatusEnum.open]: 'spot-bid-status.OPEN',\n    [SpotBidStatusEnum.accepted]: 'spot-bid-status.ACCEPTED',\n    [SpotBidStatusEnum.rejected]: 'spot-bid-status.REJECTED',\n    [SpotBidStatusEnum.expired]: 'spot-bid-status.EXPIRED',\n    [SpotBidStatusEnum.won]: 'spot-bid-status.WON',\n    [SpotBidStatusEnum.lost]: 'spot-bid-status.LOST',\n    [SpotBidStatusEnum.missed]: 'spot-bid-status.MISSED',\n    [SpotBidStatusEnum.canceled]: 'spot-bid-status.CANCELED',\n};\n\nconst SpotBidStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(SPOT_BID_STATUS_T_MAP[status]);\n});\n\nexport default SpotBidStatus;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipmentPicker.scss';\nimport { FieldsEnum, FormValuesT, RoutePointT, ShipmentFieldsEnum } from '../constants';\nimport { useTranslation } from 'react-i18next';\nimport Input from 'common/components/Input/Input';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport TemperatureRangePicker from 'common/layouts/NewOrderPage/CargoDetailsForm/TemperatureRangePicker/TemperatureRangePicker';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport CargoUnitIcon, { CargoUnitIconProps } from 'common/icons/CargoUnitIcon';\nimport { StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport WeightIcon, { WeightIconProps } from 'common/icons/WeightIcon';\nimport { getWeightMask } from 'common/utils/input-masks';\nimport UnitType from 'common/components/units/UnitType/UnitType';\nimport { ApiTrailerDictTypeT, OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\nimport { useMemo } from 'react';\nimport { formatAddressComponents } from 'common/utils/google-places';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport noop from 'lodash/noop';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport { useFormikContext } from 'formik';\nimport keyBy from 'lodash/keyBy';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    shipmentIndex: number;\n    trailerType: ApiTrailerDictTypeT | null;\n    routePoints: Array<RoutePointT>;\n    closeOverloadingValidationAlertCallback: (() => void) | null;\n    closeNotUsedPointValidationAlertCallback: (() => void) | null;\n    closeTemperatureRangesValidationAlertCallback: (() => void) | null;\n};\n\ntype RoutePointOptionT = {\n    icon: React.ReactNode;\n    label: React.ReactNode;\n    value: RoutePointIdT | null;\n};\n\ntype UnitTypeOptionT = {\n    label: React.ReactNode;\n    value: UnitTypeEnum;\n};\n\nconst AVAILABLE_UNIT_TYPES = [\n    UnitTypeEnum.eur1Pallets,\n    UnitTypeEnum.eur2Pallets,\n    UnitTypeEnum.eur6Pallets,\n    UnitTypeEnum.other,\n] as const;\n\nconst DEFAULT_MIN_VALUE_TEMPERATURE_RANGE = 2;\n\nconst ShipmentPicker: React.FC<PropsT> = React.memo((props) => {\n    const { shipmentIndex, className, trailerType, routePoints } = props;\n\n    const closeOverloadingValidationAlertCallback = props.closeOverloadingValidationAlertCallback || noop;\n\n    const closeNotUsedPointValidationAlertCallback = props.closeNotUsedPointValidationAlertCallback || noop;\n\n    const closeTemperatureRangesValidationAlertCallback = props.closeTemperatureRangesValidationAlertCallback || noop;\n\n    const { t } = useTranslation();\n\n    const isReefer = !!trailerType?.reefer;\n\n    const cargoUnitsCountFieldName =\n        `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.cargoUnitsCount}` as const;\n    const cargoUnitTypeFieldName =\n        `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.cargoUnitType}` as const;\n    const cargoWeightFieldName = `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.cargoWeight}` as const;\n    const cargoTemperatureRangeFieldName =\n        `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.cargoTemperatureRange}` as const;\n    const cargoDescriptionFieldName =\n        `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.cargoDescription}` as const;\n\n    const pickUpReferenceNumberFieldName =\n        `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.pickUpReferenceNumber}` as const;\n    const dropOffReferenceNumberFieldName =\n        `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.dropOffReferenceNumber}` as const;\n    const poNumberFieldName = `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.poNumber}` as const;\n\n    const weightMask = React.useMemo(() => getWeightMask(), []);\n\n    const unitOptions: UnitTypeOptionT[] = React.useMemo(\n        () =>\n            AVAILABLE_UNIT_TYPES.map((type) => {\n                return {\n                    value: type,\n                    label: <UnitType type={type} />,\n                };\n            }),\n        [],\n    );\n\n    const pickUpPointIdFieldName =\n        `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.pickUpPointId}` as const;\n\n    const dropOffPointIdFieldName =\n        `${FieldsEnum.shipments}.${shipmentIndex}.${ShipmentFieldsEnum.dropOffPointId}` as const;\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const selectedPickUpId = getFieldFormValue(formik.values, pickUpPointIdFieldName);\n    const selectedDropOffId = getFieldFormValue(formik.values, dropOffPointIdFieldName);\n\n    const routePointsById = useMemo(() => {\n        return keyBy(routePoints, 'id');\n    }, [routePoints]);\n\n    const selectedPickUpRoutePoint = selectedPickUpId ? routePointsById[selectedPickUpId] : null;\n    const selectedDropOffRoutePoint = selectedDropOffId ? routePointsById[selectedDropOffId] : null;\n\n    const pickUpPointOptions = useMemo((): Array<RoutePointOptionT> => {\n        return routePoints\n            .filter((routePoint, index) => {\n                const isLastIndex = index === routePoints.length - 1;\n                if (isLastIndex) {\n                    return false;\n                }\n\n                const selectedDropOffIndex = selectedDropOffRoutePoint?.index;\n                if (isNumber(routePoint.index) && isNumber(selectedDropOffIndex)) {\n                    const isAllowed = routePoint.index < selectedDropOffIndex;\n                    if (!isAllowed) {\n                        return false;\n                    }\n                }\n\n                return routePoint.type === OrderCreationReservePointTypeEnum.shipment;\n            })\n            .map((routePoint): RoutePointOptionT => {\n                return {\n                    icon: <NumberIcon number={(routePoint.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n                    label: formatAddressComponents(routePoint.address),\n                    value: routePoint.id,\n                };\n            });\n    }, [routePoints, selectedDropOffRoutePoint]);\n\n    const dropOffPointOptions = useMemo((): Array<RoutePointOptionT> => {\n        return routePoints\n            .filter((routePoint, index) => {\n                const isFirstIndex = index === 0;\n                if (isFirstIndex) {\n                    return false;\n                }\n\n                const selectedPickUpIndex = selectedPickUpRoutePoint?.index;\n                if (isNumber(routePoint.index) && isNumber(selectedPickUpIndex)) {\n                    const isAllowed = selectedPickUpIndex < routePoint.index;\n                    if (!isAllowed) {\n                        return false;\n                    }\n                }\n\n                return routePoint.type === OrderCreationReservePointTypeEnum.shipment;\n            })\n            .map((routePoint): RoutePointOptionT => {\n                return {\n                    icon: <NumberIcon number={(routePoint.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n                    label: formatAddressComponents(routePoint.address),\n                    value: routePoint.id,\n                };\n            });\n    }, [routePoints, selectedPickUpRoutePoint]);\n\n    return (\n        <div className={className}>\n            <FieldGroup>\n                <FieldGroup isFullWidth className={cx('field', 'field--units')}>\n                    <FormikConnectContextField<FormValuesT, typeof cargoUnitsCountFieldName>\n                        name={cargoUnitsCountFieldName}\n                        label={t('common:new-order-form.fields.units.label')}\n                    >\n                        {(props, extendsProps) => (\n                            <div className={cx('combined-field')}>\n                                <NumberInput\n                                    className={cx('combined-field__full-width')}\n                                    inputClassName={cx('combined-field__input', {\n                                        'combined-field__input--unit-value': true,\n                                    })}\n                                    placeholder={t('common:new-order-form.fields.units.input.placeholder')}\n                                    name={extendsProps.name}\n                                    value={extendsProps.value}\n                                    onChange={(value) => {\n                                        closeOverloadingValidationAlertCallback();\n                                        props.onChange(value);\n                                    }}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    renderLeftIcon={(iconMeta) => (\n                                        <CargoUnitIcon {...CargoUnitIconProps.getControlProps(iconMeta)} />\n                                    )}\n                                />\n                                <FormikConnectContextField<FormValuesT, typeof cargoUnitTypeFieldName>\n                                    name={cargoUnitTypeFieldName}\n                                    withoutLabelAndNotes\n                                >\n                                    {(props, extendsProps) => (\n                                        <DropdownInput<UnitTypeOptionT, UnitTypeOptionT['value']>\n                                            triggerClassName={cx('combined-field__input', {\n                                                'combined-field__input--unit-type': true,\n                                            })}\n                                            selectedValue={extendsProps.value}\n                                            options={unitOptions}\n                                            onSelect={(value) => {\n                                                closeOverloadingValidationAlertCallback();\n                                                props.onChange(value);\n                                            }}\n                                            renderOption={(option) =>\n                                                option ? (\n                                                    <DropdownControlOptionLabel withoutPaddings label={option.label} />\n                                                ) : null\n                                            }\n                                            getOptionValue={(option) => option.value}\n                                            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                            placeholder={t('common:new-order-form.fields.units.dropdown.placeholder')}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning}\n                                            isInline\n                                        />\n                                    )}\n                                </FormikConnectContextField>\n                            </div>\n                        )}\n                    </FormikConnectContextField>\n                </FieldGroup>\n                <FormikConnectContextField<FormValuesT, typeof cargoWeightFieldName>\n                    name={cargoWeightFieldName}\n                    label={t('common:new-order-form.fields.cargo-weight.label')}\n                    className={cx('field', 'field--cargo-weight')}\n                >\n                    {(props, extendsProps) => (\n                        <NumberInput\n                            name={extendsProps.name}\n                            placeholder={t('common:new-order-form.fields.cargo-weight.placeholder')}\n                            unitType={UnitTypeEnum.kilogramsAbbreviation}\n                            renderLeftIcon={(iconMeta) => <WeightIcon {...WeightIconProps.getControlProps(iconMeta)} />}\n                            value={extendsProps.value}\n                            onChange={(value) => {\n                                closeOverloadingValidationAlertCallback();\n                                props.onChange(value);\n                            }}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            mask={weightMask}\n                            step={1}\n                        />\n                    )}\n                </FormikConnectContextField>\n            </FieldGroup>\n            {isReefer && (\n                <FormikConnectContextField<FormValuesT, typeof cargoTemperatureRangeFieldName>\n                    name={cargoTemperatureRangeFieldName}\n                    withoutLabel\n                    className={cx('field')}\n                >\n                    {(props, extendsProps) => (\n                        <TemperatureRangePicker\n                            className={cx('temperature')}\n                            minValueRange={DEFAULT_MIN_VALUE_TEMPERATURE_RANGE}\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            onChange={(value) => {\n                                closeTemperatureRangesValidationAlertCallback();\n                                props.onChange(value);\n                            }}\n                            label={t('common:new-order-form.fields.temperature-range.label')}\n                        />\n                    )}\n                </FormikConnectContextField>\n            )}\n            <FormikConnectContextField<FormValuesT, typeof pickUpPointIdFieldName>\n                name={pickUpPointIdFieldName}\n                label={t('common:new-order-form.fields.pickup-point.label')}\n                className={cx('field', 'field--pickup-point')}\n            >\n                {(props, extendsProps) => (\n                    <DropdownInput<RoutePointOptionT, RoutePointOptionT['value']>\n                        selectedValue={extendsProps.value}\n                        options={pickUpPointOptions}\n                        onSelect={(value) => {\n                            closeOverloadingValidationAlertCallback();\n                            closeNotUsedPointValidationAlertCallback();\n                            props.onChange(value);\n                        }}\n                        renderOption={(option) =>\n                            option ? (\n                                <DropdownControlOptionLabel withoutPaddings icon={option.icon} label={option.label} />\n                            ) : null\n                        }\n                        getOptionValue={(option) => option.value}\n                        overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                        placeholder={t('common:new-order-form.fields.pickup-point.placeholder')}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikConnectContextField>\n            <FormikConnectContextField<FormValuesT, typeof dropOffPointIdFieldName>\n                name={dropOffPointIdFieldName}\n                label={t('common:new-order-form.fields.dropoff-point.label')}\n                className={cx('field', 'field--dropoff-point')}\n            >\n                {(props, extendsProps) => (\n                    <DropdownInput<RoutePointOptionT, RoutePointOptionT['value']>\n                        selectedValue={extendsProps.value}\n                        options={dropOffPointOptions}\n                        onSelect={(value) => {\n                            closeOverloadingValidationAlertCallback();\n                            closeNotUsedPointValidationAlertCallback();\n                            props.onChange(value);\n                        }}\n                        renderOption={(option) =>\n                            option ? (\n                                <DropdownControlOptionLabel withoutPaddings icon={option.icon} label={option.label} />\n                            ) : null\n                        }\n                        getOptionValue={(option) => option.value}\n                        overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                        placeholder={t('common:new-order-form.fields.dropoff-point.placeholder')}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikConnectContextField>\n            <FormikConnectContextField<FormValuesT, typeof cargoDescriptionFieldName>\n                name={cargoDescriptionFieldName}\n                label={t('common:new-order-form.fields.cargo-description.label')}\n                className={cx('field', 'field--cargo-description')}\n            >\n                {(props, extendsProps) => (\n                    <Input\n                        name={extendsProps.name}\n                        value={extendsProps.value}\n                        placeholder={t('common:new-order-form.fields.cargo-description.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikConnectContextField>\n            <FormikConnectContextField<FormValuesT, typeof poNumberFieldName>\n                name={poNumberFieldName}\n                label={t('common:new-order-form.fields.po-number.label')}\n                className={cx('field', 'field--po-number')}\n            >\n                {(props, extendsProps) => (\n                    <Input\n                        name={extendsProps.name}\n                        value={extendsProps.value}\n                        placeholder={t('common:new-order-form.fields.po-number.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikConnectContextField>\n            <FieldGroup spaces={1}>\n                <FormikConnectContextField<FormValuesT, typeof pickUpReferenceNumberFieldName>\n                    name={pickUpReferenceNumberFieldName}\n                    label={t('common:new-order-form.fields.puck-up-ref-number.label')}\n                    className={cx('field', 'field--puck-up-ref-number')}\n                >\n                    {(props, extendsProps) => (\n                        <Input\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            placeholder={t('common:new-order-form.fields.puck-up-ref-number.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikConnectContextField>\n                <FormikConnectContextField<FormValuesT, typeof dropOffReferenceNumberFieldName>\n                    name={dropOffReferenceNumberFieldName}\n                    label={t('common:new-order-form.fields.drop-off-ref-number.label')}\n                    className={cx('field', 'field--drop-off-ref-number')}\n                >\n                    {(props, extendsProps) => (\n                        <Input\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            placeholder={t('common:new-order-form.fields.drop-off-ref-number.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikConnectContextField>\n            </FieldGroup>\n        </div>\n    );\n});\n\nexport default ShipmentPicker;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ErrorDetails.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport { formatDate } from 'common/utils/time';\n\nimport { ErrorActionT } from 'common/store/errors/models';\nimport { checkIsFetchError } from 'common/utils/api/errors/fetch-error';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    errorLog: ErrorActionT;\n};\n\nconst ErrorDetails: React.FC<PropsT> = React.memo((props) => {\n    const { errorLog } = props;\n    const { t } = useTranslation();\n\n    return (\n        <div className={cx('content')}>\n            <div className={cx('time')}>{formatDate('HH:mm:ss - D MMMM YYYY', errorLog.timestamp)}</div>\n            <div>\n                <b>{t('common:error-modal.details.message')}:</b> {errorLog.error?.message}\n            </div>\n            {checkIsFetchError(errorLog.error) && (\n                <>\n                    <div className={cx('method')}>\n                        <b>{t('common:error-modal.details.method')}</b>: [{errorLog.error?.requestConfig.method}]{' '}\n                        {errorLog.error?.requestConfig.path}\n                    </div>\n                    <div>\n                        <b>{t('common:error-modal.details.request')}</b>:{' '}\n                        {JSON.stringify(errorLog.error?.requestConfig || '', null, 4)}\n                    </div>\n                    <div>\n                        <b>{t('common:error-modal.details.http-status-code')}</b>: {errorLog.error?.httpStatusCode}\n                    </div>\n                    <div className={cx('response')}>\n                        <b>{t('common:error-modal.details.response')}</b>:{' '}\n                        {JSON.stringify(errorLog.error?.response || '', null, 4)}\n                    </div>\n                </>\n            )}\n        </div>\n    );\n});\n\nexport default ErrorDetails;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ShipmentNoShowCard__inner___wbsq1\",\"fadeIn\":\"ShipmentNoShowCard__fadeIn___gD9iT\",\"blinking\":\"ShipmentNoShowCard__blinking___kKNZj\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"TeamDrivePill__fadeIn___t1tDr\",\"blinking\":\"TeamDrivePill__blinking___zm7Sq\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './ProgressBar.scss';\nimport { useSelector } from 'react-redux';\nimport { selectOffersTasks } from 'common/store/order-creation/selectors';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst ProgressBar: React.FC<PropsT> = (props) => {\n    const { className } = props;\n\n    const offersTasks = useSelector(selectOffersTasks);\n\n    const isShow = offersTasks?.total !== null && offersTasks?.count !== offersTasks?.total;\n    const percent = ((offersTasks?.count || 0) / (offersTasks?.total || 0)) * 100;\n    const limitedPercent = Math.min(percent, 100);\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            {isShow && (\n                <>\n                    <div className={cx('line', 'line--isBackground')} />\n                    <div style={{ width: `${limitedPercent}%` }} className={cx('line', 'line--isProgress')} />\n                </>\n            )}\n        </div>\n    );\n};\n\nexport default ProgressBar;\n","import { CompanyTrucksStateT } from './types';\nimport { SharableTrucksStateT, SharableStateT } from '../models';\nimport { initialCompanyTrucksState } from './reducer';\n\nconst EMPTY_QUERY = {};\n\nconst selectCompanyState = (state: SharableTrucksStateT, companyId: CompanyIdT | null): CompanyTrucksStateT => {\n    if (!companyId) {\n        return initialCompanyTrucksState;\n    }\n\n    return state.trucks[companyId] || initialCompanyTrucksState;\n};\n\nexport const selectTrucksPages =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['pages'] =>\n        selectCompanyState(state, companyId).pages;\n\nexport const selectTrucksQuery =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['query'] =>\n        selectCompanyState(state, companyId).query || EMPTY_QUERY;\n\nexport const selectTrucksTotal =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['total'] =>\n        selectCompanyState(state, companyId).total;\n\nexport const selectTrucksByIds =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['byId'] =>\n        selectCompanyState(state, companyId).byId;\n\nexport const selectTrucksDetailsByIds =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['detailsById'] =>\n        selectCompanyState(state, companyId).detailsById;\n\nexport const selectDeleteTrucksRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['deleteRequest'] =>\n        selectCompanyState(state, companyId).deleteRequest;\n\nexport const selectAddTruckRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['addRequest'] =>\n        selectCompanyState(state, companyId).addRequest;\n\nexport const selectFetchTruckDetailsRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['fetchDetailsRequest'] =>\n        selectCompanyState(state, companyId).fetchDetailsRequest;\n\nexport const selectUpdateTruckRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['updateRequest'] =>\n        selectCompanyState(state, companyId).updateRequest;\n\nexport const selectFetchTrucksStatsRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['fetchStatsRequest'] =>\n        selectCompanyState(state, companyId).fetchStatsRequest;\n\nexport const selectTrucksStats =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['stats'] =>\n        selectCompanyState(state, companyId).stats;\n\nexport const selectTrucksExportXLSRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['exportXLSRequest'] =>\n        selectCompanyState(state, companyId).exportXLSRequest;\n\nexport const selectTrucksImportXLSRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrucksStateT['importXLSRequest'] =>\n        selectCompanyState(state, companyId).importXLSRequest;\n","// extracted by mini-css-extract-plugin\nexport default {\"id\":\"ShipperContractLaneId__id___A_StZ\",\"fadeIn\":\"ShipperContractLaneId__fadeIn___vjWTY\",\"blinking\":\"ShipperContractLaneId__blinking___H72ky\"};","import qs from 'qs';\nimport { CompanyTypeEnum } from 'common/constants';\nimport {\n    AssetRoutesEnum,\n    BrokerOrdersRoutesEnum,\n    PartnersDocumentsRoutesEnum,\n    PartnersRoutesEnum,\n    SettingsRoutesEnum,\n    SettingsRuleRoutesEnum,\n    ShipperContractDetailsEnum,\n    ShipperContractLaneRoutesEnum,\n    SpotRoutesEnum,\n    BrokerToursRoutesEnum,\n    routesEnum,\n    BrokerUsersRoutesEnum,\n    BrokerRFQRoutesEnum,\n} from 'broker-admin/constants';\nimport { generatePath } from 'react-router';\nimport { ApiDocumentTypeT, PartnerTypeEnum, ApiPartnerTypeT } from 'common/utils/api/models';\nimport { getRePath } from 'common/utils/urls';\nimport { CommonSidebarsTypeEnum, SidebarQueryKeysEnum } from 'common/layouts/SideBars/models';\nimport { JSONArrayParam } from 'common/utils/query';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport { DocumentDetailsSidebarDataT } from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/models';\nimport { ContractDetailsSidebarDataT } from 'common/layouts/SideBars/contents/ContractDetailsSidebarContent/models';\nimport { formatPartnerTypeParam } from 'broker-admin/utils/urls-params';\nimport {\n    QueryKeysEnum as BrokerOrderAssignmentQueryKeysEnum,\n    QueryT as BrokerOrderAssignmentQueryT,\n} from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/query-models';\n\nexport const urlFactory = {\n    brokerOrderDetails: (brokerOrderId: BrokerOrderIdT) => {\n        return {\n            state: {\n                rePath: getRePath(),\n            },\n            pathname: generatePath(BrokerOrdersRoutesEnum.brokerOrderDetails, {\n                brokerOrderId,\n            }),\n        };\n    },\n    brokerOrderRouteEdit: (brokerOrderId: BrokerOrderIdT) => {\n        return {\n            state: {\n                rePath: getRePath(),\n            },\n            pathname: generatePath(BrokerOrdersRoutesEnum.brokerOrderRouteEdit, {\n                brokerOrderId,\n            }),\n        };\n    },\n    brokerOrderDetailsAssignments: (\n        brokerOrderId: BrokerOrderIdT,\n        tourId: TourIdT,\n        options?: { fromBrokerTour?: boolean },\n    ) => {\n        const query: BrokerOrderAssignmentQueryT = {\n            [BrokerOrderAssignmentQueryKeysEnum.fromBrokerTour]: options?.fromBrokerTour,\n        };\n        return {\n            state: {\n                rePath: getRePath(),\n            },\n            pathname: generatePath(BrokerOrdersRoutesEnum.brokerOrderAssignment, {\n                brokerOrderId,\n                tourId,\n            }),\n            search: qs.stringify(query),\n        };\n    },\n    partnerDetails: (partnerType: ApiPartnerTypeT | `${CompanyTypeEnum}`, partnerId: CompanyIdT) => {\n        return {\n            pathname: generatePath(PartnersRoutesEnum.partnerDetails, {\n                partnerType: formatPartnerTypeParam(partnerType),\n                partnerId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    partners: () => {\n        return {\n            pathname: routesEnum.partners,\n        };\n    },\n    partnerTrucks: (partnerType: PartnerTypeEnum | CompanyTypeEnum, partnerId: CompanyIdT) => {\n        return {\n            pathname: generatePath(PartnersRoutesEnum.partnerTrucks, {\n                partnerType: formatPartnerTypeParam(partnerType),\n                partnerId,\n            }),\n        };\n    },\n    partnerTrailers: (partnerType: PartnerTypeEnum | CompanyTypeEnum, partnerId: CompanyIdT) => {\n        return {\n            pathname: generatePath(PartnersRoutesEnum.partnerTrailers, {\n                partnerType: formatPartnerTypeParam(partnerType),\n                partnerId,\n            }),\n        };\n    },\n    truckDetails: (partnerId: CompanyIdT, truckId: TruckIdT) => {\n        return {\n            pathname: generatePath(AssetRoutesEnum.truckDetails, {\n                partnerType: formatPartnerTypeParam(PartnerTypeEnum.carrier),\n                partnerId,\n                truckId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    trailerDetails: (partnerId: CompanyIdT, trailerId: TrailerIdT) => {\n        return {\n            pathname: generatePath(AssetRoutesEnum.trailerDetails, {\n                partnerType: formatPartnerTypeParam(PartnerTypeEnum.carrier),\n                partnerId,\n                trailerId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    partnerTransportOrderDetails: (\n        partnerType: PartnerTypeEnum | CompanyTypeEnum,\n        partnerId: CompanyIdT,\n        transportOrderId: TransportOrderIdT,\n    ) => {\n        return {\n            pathname: generatePath(PartnersRoutesEnum.partnerTransportOrderDetails, {\n                partnerType: formatPartnerTypeParam(partnerType),\n                partnerId,\n                transportOrderId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    partnerTransportOrders: (partnerType: PartnerTypeEnum | CompanyTypeEnum, partnerId: CompanyIdT) => {\n        return {\n            pathname: generatePath(PartnersRoutesEnum.partnerTransportOrders, {\n                partnerType: formatPartnerTypeParam(partnerType),\n                partnerId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    spotRequestDetails: (spotRequestId: SpotRequestIdT) => {\n        return {\n            pathname: generatePath(SpotRoutesEnum.spotRequestDetails, {\n                spotRequestId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    spotRequestsListWithDetails: (spotRequestId: SpotRequestIdT) => {\n        return `${SpotRoutesEnum.list}?${qs.stringify({\n            [SidebarQueryKeysEnum.leftSidebar]: JSONArrayParam.encode<BrokerSidebarDataT>([\n                {\n                    type: BrokerSidebarsTypeEnum.spotRequestDetails,\n                    id: spotRequestId,\n                },\n            ]),\n        })}`;\n\n        return {\n            pathname: generatePath(SpotRoutesEnum.spotRequestDetails, {\n                spotRequestId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    requiredPartnerDocuments: (partnerId: PartnerIdT, partnerType: PartnerTypeEnum) => {\n        return generatePath(PartnersDocumentsRoutesEnum.requiredPartnerDocuments, {\n            partnerType: formatPartnerTypeParam(partnerType),\n            partnerId,\n        });\n    },\n    optionalPartnerDocuments: (partnerId: PartnerIdT, partnerType: PartnerTypeEnum) => {\n        return generatePath(PartnersDocumentsRoutesEnum.optionalPartnerDocuments, {\n            partnerType: formatPartnerTypeParam(partnerType),\n            partnerId,\n        });\n    },\n    settingsRuleDetails: (ruleId: RuleIdT) => {\n        const pathname = generatePath(SettingsRuleRoutesEnum.ruleDetails, {\n            ruleId,\n        });\n\n        return {\n            pathname,\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    settingsRuleCreation: () => {\n        const pathname = generatePath(SettingsRuleRoutesEnum.newRule);\n\n        return {\n            pathname,\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    settingsRules: () => {\n        return generatePath(SettingsRoutesEnum.rules);\n    },\n    partnerDocumentDetails: (partnerId: PartnerIdT, partnerType: PartnerTypeEnum, documentType: ApiDocumentTypeT) => {\n        const partnerDocuments = generatePath(PartnersDocumentsRoutesEnum.requiredPartnerDocuments, {\n            partnerType: formatPartnerTypeParam(partnerType),\n            partnerId,\n        });\n\n        return `${partnerDocuments}?${qs.stringify({\n            [SidebarQueryKeysEnum.leftSidebar]: JSONArrayParam.encode<DocumentDetailsSidebarDataT>([\n                {\n                    type: CommonSidebarsTypeEnum.document,\n                    documentType,\n                    partnerId,\n                    partnerType,\n                    initIsEditing: false,\n                },\n            ]),\n        })}`;\n    },\n    partnerCarrierContacts: (partnerId: PartnerIdT, partnerType: PartnerTypeEnum) => {\n        return generatePath(PartnersDocumentsRoutesEnum.partnerCarrierContracts, {\n            partnerType: formatPartnerTypeParam(partnerType),\n            partnerId,\n        });\n    },\n    partnerShipperContacts: (partnerId: PartnerIdT, partnerType: PartnerTypeEnum) => {\n        return generatePath(PartnersDocumentsRoutesEnum.partnerShipperContracts, {\n            partnerType: formatPartnerTypeParam(partnerType),\n            partnerId,\n        });\n    },\n    partnerCarrierContactDetails: (\n        partnerId: PartnerIdT,\n        partnerType: PartnerTypeEnum,\n        contractId: CarrierContractIdT,\n    ) => {\n        const partnerContracts = generatePath(PartnersDocumentsRoutesEnum.partnerCarrierContracts, {\n            partnerType: formatPartnerTypeParam(partnerType),\n            partnerId,\n        });\n\n        return `${partnerContracts}?${qs.stringify({\n            [SidebarQueryKeysEnum.leftSidebar]: JSONArrayParam.encode<ContractDetailsSidebarDataT>([\n                {\n                    type: CommonSidebarsTypeEnum.carrierContract,\n                    contractId,\n                    initIsEditing: false,\n                },\n            ]),\n        })}`;\n    },\n    partnerShipperContactDetails: ({\n        partnerId,\n        partnerType,\n        shipperContractId,\n    }: {\n        partnerId: PartnerIdT;\n        partnerType: PartnerTypeEnum;\n        shipperContractId: ShipperContractIdT;\n    }) => {\n        const pathname = generatePath(ShipperContractDetailsEnum.details, {\n            partnerType: formatPartnerTypeParam(partnerType),\n            partnerId,\n            contractId: shipperContractId,\n        });\n\n        return {\n            pathname,\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    partnerShipperContactLanes: ({\n        partnerId,\n        partnerType,\n        contractId,\n    }: {\n        partnerId: PartnerIdT;\n        partnerType: PartnerTypeEnum;\n        contractId: ShipperContractIdT;\n    }) => {\n        const pathname = generatePath(ShipperContractDetailsEnum.lanes, {\n            partnerType: formatPartnerTypeParam(partnerType),\n            partnerId,\n            contractId,\n        });\n\n        return {\n            pathname,\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    newPartnerShipperContractLane: ({\n        partnerId,\n        partnerType,\n        contractId,\n    }: {\n        partnerId: PartnerIdT;\n        partnerType: PartnerTypeEnum;\n        contractId: ShipperContractIdT;\n    }) => {\n        const pathname = generatePath(ShipperContractLaneRoutesEnum.newLane, {\n            partnerId,\n            partnerType: formatPartnerTypeParam(partnerType),\n            contractId,\n        });\n\n        return {\n            pathname,\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    partnerShipperContractLane: ({\n        partnerId,\n        partnerType,\n        contractId,\n        laneId,\n    }: {\n        partnerId: PartnerIdT;\n        partnerType: PartnerTypeEnum;\n        contractId: ShipperContractIdT;\n        laneId: ShipperContractLaneIdT;\n    }) => {\n        const pathname = generatePath(ShipperContractLaneRoutesEnum.laneDetails, {\n            partnerId,\n            partnerType: formatPartnerTypeParam(partnerType),\n            contractId,\n            laneId,\n        });\n\n        return {\n            pathname,\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    brokerTourDeadheadCreation: () => {\n        return generatePath(BrokerToursRoutesEnum.brokerTourDeadheadCreation);\n    },\n    brokerTours: () => {\n        return generatePath(routesEnum.brokerTours);\n    },\n    brokerTourDetails: (brokerTourId: BrokerTourIdT) => {\n        return {\n            pathname: generatePath(BrokerToursRoutesEnum.brokerTourDetails, {\n                brokerTourId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    brokerUsersTeams: () => {\n        return generatePath(BrokerUsersRoutesEnum.brokerTeams);\n    },\n    brokerUsersTeam: (teamId: TeamIdT) => {\n        return `${BrokerUsersRoutesEnum.brokerTeams}?${qs.stringify({\n            [SidebarQueryKeysEnum.leftSidebar]: JSONArrayParam.encode<BrokerSidebarDataT>([\n                {\n                    type: BrokerSidebarsTypeEnum.editBrokerTeamDetails,\n                    teamId,\n                },\n            ]),\n        })}`;\n    },\n    brokerUsers: () => {\n        return generatePath(routesEnum.brokerUsers);\n    },\n    brokerRFQDetails: (rfqId: RFQIdT) => {\n        return {\n            pathname: generatePath(BrokerRFQRoutesEnum.details, {\n                rfqId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    brokerRFQList: () => {\n        return BrokerRFQRoutesEnum.list;\n    },\n};\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from '../EditDriverSidebarContent/EditDriverFormContent/constants';\nimport {\n    checkBirthday,\n    checkNotEmpty,\n    checkDate,\n    checkPhoneNumber,\n    checkNotEmptyString,\n    checkIsPositiveNumberValue,\n} from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.firstName, FieldsEnum.lastName, FieldsEnum.ratePerKm, FieldsEnum.language] as const;\nconst BIRTHDAY_FIELDS = [FieldsEnum.birthday] as const;\nconst DATE_FIELDS = [FieldsEnum.birthday] as const;\nconst PHONE_FIELDS = [FieldsEnum.desktopPhone] as const;\nconst MEDIA_FIELDS = [FieldsEnum.whatsapp, FieldsEnum.viber, FieldsEnum.telegram, FieldsEnum.msTeams] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkBirthday(t, BIRTHDAY_FIELDS, values),\n        ...checkDate(t, DATE_FIELDS, values),\n        ...checkPhoneNumber(t, PHONE_FIELDS, values),\n        ...checkNotEmptyString(t, MEDIA_FIELDS, values),\n        ...checkIsPositiveNumberValue(t, [FieldsEnum.ratePerKm], values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { QueryFiltersT } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/query-models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst getInitialValues = (queryFilters: QueryFiltersT): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.name]: '',\n        [FieldsEnum.types]: [],\n\n        [FieldsEnum.trailerTypeIds]: [],\n\n        [FieldsEnum.partnerIds]: [],\n\n        [FieldsEnum.fromCountryCodes]: [],\n\n        [FieldsEnum.toCountryCodes]: [],\n\n        [FieldsEnum.createDates]: null,\n        [FieldsEnum.createdByUserId]: [],\n        [FieldsEnum.createdByUserName]: [],\n\n        [FieldsEnum.lastModifyDates]: null,\n        [FieldsEnum.lastModifyByUserId]: [],\n        [FieldsEnum.lastModifyByUserName]: [],\n\n        [FieldsEnum.priceComponent]: [],\n        [FieldsEnum.priceOperation]: [],\n\n        [FieldsEnum.validFrom]: null,\n        [FieldsEnum.validTill]: null,\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"NotificationLayout__wrap___m3Zgt\",\"wrap--has-emotion\":\"NotificationLayout__wrap--has-emotion___bdYx_\",\"wrap--emotion-neutral\":\"NotificationLayout__wrap--emotion-neutral___VPgEz\",\"wrap--emotion-positive\":\"NotificationLayout__wrap--emotion-positive___a4zll\",\"wrap--emotion-negative\":\"NotificationLayout__wrap--emotion-negative___vtAkq\",\"wrap--emotion-attention\":\"NotificationLayout__wrap--emotion-attention___NlkEj\",\"wrap--emotion-null\":\"NotificationLayout__wrap--emotion-null___nmQ6u\",\"wrap--is-clickable\":\"NotificationLayout__wrap--is-clickable___oYSOo\",\"time\":\"NotificationLayout__time___FmTim\",\"id\":\"NotificationLayout__id___WRuxd\",\"fadeIn\":\"NotificationLayout__fadeIn___SuQxU\",\"blinking\":\"NotificationLayout__blinking___GW0CI\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type AssignCarrierConfirmationDataT = {\n    spotRequestId: SpotRequestIdT;\n    selectedBidId: BidIdT;\n    carrierName: string;\n};\n\ntype PropsT = {\n    data: AssignCarrierConfirmationDataT | null;\n    onConfirmation: (data: AssignCarrierConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n    onCancel: () => void;\n    onClose: () => void;\n};\n\nconst TEST_SELECTOR = 'assign-carrier-confirmation';\n\nconst AssignCarrierConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onConfirmation, onCancel, onClose, requestStatus } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.assign'),\n                            theme: ButtonThemeEnum.primary,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: requestStatus.loading,\n                            isDisabled: requestStatus.loading,\n                            onClick: () => {\n                                onConfirmation(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.brandAccent} />}\n                    title={t('spot-request-details.dialogs.assign-carrier-confirmation.title', {\n                        carrierName: data?.carrierName,\n                    })}\n                    message={t('spot-request-details.dialogs.assign-carrier-confirmation.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default AssignCarrierConfirmation;\n","import { BROKER_ADDITIONAL_SERVICES_TYPE, StyleGuideColorsEnum } from 'common/constants';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { ApiBrokerAdditionalServiceT, ApiCarrierAdditionalServiceT } from 'common/utils/api/models';\nimport { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport AdditionalServiceFormatter from 'design-system/components/InfoTable/formatters/AdditionalServiceFormatter/AdditionalServiceFormatter';\nimport { checkIsBrokerAdditionalService, checkIsCarrierAdditionalService } from 'common/utils/additional-services';\nimport ExtraPointIcon from 'common/icons/ExtraPointIcon';\nimport { useCommonPriceDetails } from './common';\nimport { isNonNil } from 'common/utils';\n\nexport const useAdditionalServicesList = ({\n    additionalServiceItems,\n    isAllowBrokerServices,\n    isAllowCarrierServices,\n    leadingItems,\n    trailingItems,\n}: {\n    additionalServiceItems: Array<ApiBrokerAdditionalServiceT | ApiCarrierAdditionalServiceT> | null | undefined;\n    isAllowBrokerServices: boolean;\n    isAllowCarrierServices: boolean;\n    leadingItems?: Array<PriceDetailT | null>;\n    trailingItems?: Array<PriceDetailT | null>;\n}) => {\n    const { t } = useTranslation();\n\n    const commonPriceDetails = useCommonPriceDetails();\n\n    return React.useMemo(() => {\n        const items =\n            additionalServiceItems?.reduce<Array<PriceDetailT>>((acc, additionalService) => {\n                if (!isAllowBrokerServices && checkIsBrokerAdditionalService(additionalService)) {\n                    return acc;\n                }\n\n                if (!isAllowCarrierServices && checkIsCarrierAdditionalService(additionalService)) {\n                    return acc;\n                }\n\n                if (additionalService?.type === BROKER_ADDITIONAL_SERVICES_TYPE.URGENT_PICKUP) {\n                    acc.push({\n                        ...commonPriceDetails.urgentOverprice,\n                        price: additionalService.itemCost,\n                        quantity: additionalService.quantity,\n                    });\n                } else if (additionalService?.type === BROKER_ADDITIONAL_SERVICES_TYPE.LOW_EMISSIONS) {\n                    acc.push({\n                        ...commonPriceDetails.greenSurcharge,\n                        price: additionalService.itemCost,\n                        quantity: additionalService.quantity,\n                    });\n                } else if (\n                    additionalService?.type === BROKER_ADDITIONAL_SERVICES_TYPE.TIME_SLOTS_APPOINTMENT_BY_BROKER\n                ) {\n                    acc.push({\n                        iconNode: (\n                            <TimeWindowIcon\n                                strokeColor={StyleGuideColorsEnum.gray}\n                                fillColor={StyleGuideColorsEnum.light}\n                            />\n                        ),\n                        title: t('common:price-details.broker-appointment.title'),\n                        tooltipNode: (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                                {t('common:price-details.broker-appointment.tooltip')}\n                            </TooltipContent>\n                        ),\n                        price: additionalService.itemCost,\n                        quantity: additionalService.quantity,\n                    });\n                } else if (additionalService?.type === BROKER_ADDITIONAL_SERVICES_TYPE.EXTRA_POINTS) {\n                    acc.push({\n                        iconNode: (\n                            <ExtraPointIcon\n                                strokeColor={StyleGuideColorsEnum.gray}\n                                fillColor={StyleGuideColorsEnum.light}\n                            />\n                        ),\n                        title: t('common:price-details.extra-points.title'),\n                        tooltipNode: (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                                {t('common:price-details.extra-points.tooltip')}\n                            </TooltipContent>\n                        ),\n                        price: additionalService.itemCost,\n                        quantity: additionalService.quantity,\n                    });\n                } else {\n                    acc.push({\n                        iconNode: null,\n                        title: <AdditionalServiceFormatter type={additionalService.type} />,\n                        price: additionalService.itemCost,\n                        quantity: additionalService.quantity,\n                    });\n                }\n\n                return acc;\n            }, []) || [];\n\n        const preparedLeadingItems = leadingItems?.filter(isNonNil) || [];\n        if (preparedLeadingItems?.length) {\n            items.unshift(...preparedLeadingItems);\n        }\n\n        const preparedTrailingItems = trailingItems?.filter(isNonNil) || [];\n        if (preparedTrailingItems?.length) {\n            items.push(...preparedTrailingItems);\n        }\n\n        return items;\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [additionalServiceItems, leadingItems, trailingItems, commonPriceDetails]);\n};\n","import { StateT } from '../models';\n\nexport const selectOrderEditCreateContextRequest = (state: StateT) => {\n    return state.orderEdit.createContextRequestStatus;\n};\n\nexport const selectOrderEditDeleteContextRequest = (state: StateT) => {\n    return state.orderEdit.deleteContextRequestStatus;\n};\n\nexport const selectOrderEditApplyContextRequest = (state: StateT) => {\n    return state.orderEdit.applyContextRequestStatus;\n};\n\nexport const selectOrderEditContext = (state: StateT) => {\n    return state.orderEdit.context;\n};\n\nexport const selectOrderEditBrokerOrderDetails = (state: StateT) => {\n    return state.orderEdit.brokerOrderDetails;\n};\n\nexport const selectIsApplyingContextChanges = (state: StateT) => {\n    return state.orderEdit.isApplyingContextChanges;\n};\n\nexport const selectOrderEditFakeSessionId = (state: StateT) => {\n    return state.orderEdit.fakeSessionId;\n};\n\nexport const selectChangeContextError = (state: StateT) => {\n    return state.orderEdit.changeContextError;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"SpotRequestRoute__fadeIn___o5Lds\",\"blinking\":\"SpotRequestRoute__blinking___INPe5\"};","import { PartnerDetailsT } from 'broker-admin/store/partner/details/models';\n\nexport const normalizePartnerDetails = (partnerDetails: PartnerDetailsT | null): PartnerDetailsT | null => {\n    if (!partnerDetails) {\n        return null;\n    }\n\n    const teams = [...partnerDetails.teams];\n\n    teams.sort((teamA, teamB) => {\n        return teamA.id.localeCompare(teamB.id);\n    });\n\n    return {\n        ...partnerDetails,\n        // the backend can change the order without update\n        teams,\n    };\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './FooterSideBarAlertsLayout.scss';\nimport FooterSideBarAlert from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlert/FooterSideBarAlert';\nimport { useContext } from 'react';\nimport SideBarFooterAlertsContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-footer-alerts-context';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst FooterSideBarAlertsLayout: React.FC<PropsT> = React.memo(() => {\n    const sideBarFooterAlertsContext = useContext(SideBarFooterAlertsContext);\n\n    if (!sideBarFooterAlertsContext?.alerts?.length) {\n        return null;\n    }\n\n    return (\n        <>\n            {sideBarFooterAlertsContext?.alerts?.map((alert) => (\n                <FooterSideBarAlert\n                    key={alert.id}\n                    className={cx('alert')}\n                    id={alert.id}\n                    theme={alert.theme}\n                    onCloseAlert={sideBarFooterAlertsContext?.onCloseAlert}\n                >\n                    {alert.content}\n                </FooterSideBarAlert>\n            ))}\n        </>\n    );\n});\n\nexport default FooterSideBarAlertsLayout;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const transportOrdersRefreshChannel = new ViewEventChannel<{}>();\n\nexport const transportOrdersPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import { ApiCarrierTrailerDetailsT, ApiTrailerDetailsT } from 'common/store/trailers/models';\n\nexport const checkIsApiCarrierTrailerDetails = (\n    details: ApiTrailerDetailsT | null,\n): details is ApiCarrierTrailerDetailsT => {\n    return !!details;\n};\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { FieldsEnum, RouteFormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { useSelector } from 'react-redux';\nimport { ALL_DAY_RANGE, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { RangeSelectorMarkT, RangeSelectorRangeT } from 'common/components/RangeSelector/RangeSelector';\nimport {\n    clearDateTimezone,\n    convertISODateToTimezone,\n    getDatesBetweenDates,\n    parseDateStringWithoutTimezone,\n} from 'common/utils/time';\nimport { selectTimeWindowQuantumMs } from 'common/store/settings/selectors';\nimport { useTranslation } from 'react-i18next';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport TimeIntervalDurationPillLabel from '../TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel';\nimport { useFormikContext } from 'formik';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './DropPointPicker.scss';\nimport TimeWindowPicker from 'common/components/range-selectors/TimeWindowPicker/TimeWindowPicker';\nimport LinkDatePicker, {\n    DatePickerOverlayPositionEnum,\n} from 'design-system/components/date-pickers/LinkDatePicker/LinkDatePicker';\nimport { CalendarDateValueT } from 'design-system/components/Calendar/Calendar';\nimport moment from 'moment';\nimport isEqual from 'lodash/isEqual';\nimport CalendarAltIcon from 'common/icons/CalendarAltIcon';\n\nimport TimeIntervalLimitPillLabel from '../TimeIntervalLimitPillLabel/TimeIntervalLimitPillLabel';\nimport TimeWindowZoneText from '../TimeWindowZoneText/TimeWindowZoneText';\nimport {\n    convertReserveTimeWindowToRelativeTimeWindow,\n    setDateForReserveTimeWindow,\n    setTimeWindowForReserveTimeWindow,\n    suggestLastTimeWindowOfDay,\n} from 'common/layouts/NewOrderPage/ShipmentDetailsForm/utils';\nimport { OnChangeRouteStopAddressT, OnChangeRouteStopTimeWindowT } from '../models';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport {\n    DeadheadContextRangeT,\n    DeadheadRouteStopT,\n    DeadheadRouteStopTypeEnum,\n} from 'broker-admin/store/deadhead-creation/models';\nimport TruckDropOffIcon from 'common/icons/TruckDropOffIcon';\nimport LinkDropOffIcon from 'common/icons/LinkDropOffIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    routeStop: DeadheadRouteStopT | null;\n\n    currentRange: DeadheadContextRangeT | null;\n    ranges: Array<DeadheadContextRangeT> | null;\n\n    onManualSelectLocation: (location: LocationT | null, routePointIndex: number) => void;\n    onChangeRoutePointAddress: OnChangeRouteStopAddressT;\n    onChangeRoutePointTimeWindow: OnChangeRouteStopTimeWindowT;\n};\n\nexport enum RangeIdSetEnum {\n    original = 'original',\n    urgentPickUp = 'urgent-pick-up',\n    regularPickUp = 'regular-pick-up',\n    teamDriveDropOff = 'team-drive-drop-off',\n    regularDropOff = 'regular-drop-off',\n    layoverDropOff = 'layover-drop-off',\n}\n\nconst surchargeRangeTypeSet = new Set<string>([\n    RangeIdSetEnum.urgentPickUp,\n    RangeIdSetEnum.teamDriveDropOff,\n    RangeIdSetEnum.layoverDropOff,\n]);\n\nexport type TimeWindowPickerSettingsT = {\n    availableValues: TimeWindowT;\n    timeWindowRanges: RangeSelectorRangeT[];\n    marks?: Array<RangeSelectorMarkT>;\n};\n\nexport const DEFAULT_TIME_WINDOW_PICKER_SETTINGS: TimeWindowPickerSettingsT = {\n    availableValues: ALL_DAY_RANGE,\n    timeWindowRanges: [],\n};\n\nconst DropPointPicker: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        currentRange,\n        ranges,\n        onManualSelectLocation,\n        onChangeRoutePointAddress,\n        onChangeRoutePointTimeWindow,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<RouteFormValuesT>();\n\n    const fakePointIdFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.fakePointId}` as const;\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n    const typeFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.type}` as const;\n\n    const selectedTimeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n    const type = getFieldFormValue(formik.values, typeFieldName);\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const fakePointId = getFieldFormValue(formik.values, fakePointIdFieldName);\n\n    const timeWindowQuantumMs = useSelector(selectTimeWindowQuantumMs);\n\n    const renderZoneTextNode = React.useCallback((currentRanges: RangeSelectorRangeT[] | null) => {\n        const surchargeCurrentRanges = currentRanges?.filter((range) => {\n            return range && surchargeRangeTypeSet.has(range.id);\n        });\n\n        if (!surchargeCurrentRanges?.length) {\n            return null;\n        }\n\n        return <TimeWindowZoneText currentRanges={surchargeCurrentRanges} />;\n    }, []);\n\n    const settings = React.useMemo<TimeWindowPickerSettingsT>(() => {\n        if (!selectedTimeWindow) {\n            return DEFAULT_TIME_WINDOW_PICKER_SETTINGS;\n        }\n\n        const baseDate = selectedTimeWindow.start;\n\n        const availableValuesStart = currentRange?.from || null;\n        if (!availableValuesStart) {\n            return DEFAULT_TIME_WINDOW_PICKER_SETTINGS;\n        }\n\n        const availableValuesEnd = currentRange?.toWithDropTruckTime || null;\n\n        const availableValues = suggestLastTimeWindowOfDay(\n            {\n                start: availableValuesStart,\n                end: availableValuesEnd,\n            },\n            baseDate,\n        );\n\n        const settings: TimeWindowPickerSettingsT = {\n            availableValues: convertReserveTimeWindowToRelativeTimeWindow(availableValues) || ALL_DAY_RANGE,\n            timeWindowRanges: [],\n            marks: [],\n        };\n\n        return settings;\n    }, [currentRange, selectedTimeWindow]);\n\n    const relativeTimeWindow = useMemo((): TimeWindowT | null => {\n        return convertReserveTimeWindowToRelativeTimeWindow(selectedTimeWindow);\n    }, [selectedTimeWindow]);\n\n    const handleChangeTimeWindow = (value: TimeWindowT) => {\n        const newTimeWindow = setTimeWindowForReserveTimeWindow(value, selectedTimeWindow);\n        const start = newTimeWindow?.start || null;\n        const end = newTimeWindow?.end || null;\n        if (!start || !end) {\n            return;\n        }\n\n        const preparedLocation = prepareLocation(location);\n        if (!preparedLocation) {\n            return;\n        }\n\n        formik.setFieldValue(timeWindowFieldName, newTimeWindow);\n\n        onChangeRoutePointTimeWindow(routePointIndex, fakePointId, {\n            timeWindow: {\n                start,\n                end,\n            },\n            address: preparedLocation,\n            routeStopType: type,\n        });\n    };\n\n    const selectedDate = React.useMemo(() => {\n        if (!selectedTimeWindow) {\n            return null;\n        }\n\n        return moment(clearDateTimezone(selectedTimeWindow.start)).toDate();\n    }, [selectedTimeWindow]);\n\n    const allowedDatesStartDate = React.useMemo(() => {\n        const fromDates =\n            ranges\n                ?.filter((range) => {\n                    return range?.from && !range?.toWithDropTruckTime;\n                })\n                .map((range) => {\n                    return range?.from;\n                }) || [];\n\n        fromDates.sort();\n\n        return fromDates?.[0] || null;\n    }, [ranges]);\n\n    const allowedDates = React.useMemo(() => {\n        return (\n            ranges?.flatMap((range) => {\n                if (!range?.from || !range?.toWithDropTruckTime) {\n                    return [];\n                }\n\n                return getDatesBetweenDates([range.from, range.toWithDropTruckTime]);\n            }) || []\n        );\n    }, [ranges]);\n\n    const handleChangeDate = (date: CalendarDateValueT): void => {\n        if (!date) {\n            formik.setFieldValue(timeWindowFieldName, null);\n            return;\n        }\n\n        const selectedRange = ranges?.find((range) => {\n            const parsedRangeFrom = parseDateStringWithoutTimezone(range.from);\n            const parsedRangeTo = parseDateStringWithoutTimezone(range.toWithDropTruckTime);\n\n            const selectedTimestamp = date.valueOf();\n\n            if (parsedRangeFrom && parsedRangeTo) {\n                return selectedTimestamp >= parsedRangeFrom && selectedTimestamp <= parsedRangeTo;\n            }\n\n            if (!parsedRangeTo && parsedRangeFrom) {\n                return selectedTimestamp >= parsedRangeFrom;\n            }\n\n            return false;\n        });\n\n        const timezoneDate = selectedRange?.from;\n\n        const newTimeWindow = setDateForReserveTimeWindow(date, selectedTimeWindow);\n        const isSameValue = isEqual(newTimeWindow, selectedTimeWindow);\n        if (isSameValue) {\n            return;\n        }\n\n        let start = newTimeWindow?.start || null;\n        if (start && timezoneDate) {\n            start = convertISODateToTimezone(start, timezoneDate);\n        }\n\n        let end = newTimeWindow?.end || null;\n        if (end && timezoneDate) {\n            end = convertISODateToTimezone(end, timezoneDate);\n        }\n\n        if (!start || !end) {\n            return;\n        }\n\n        const preparedLocation = prepareLocation(location);\n        if (!preparedLocation) {\n            return;\n        }\n\n        formik.setFieldValue(timeWindowFieldName, {\n            start,\n            end,\n        });\n\n        onChangeRoutePointTimeWindow(routePointIndex, fakePointId, {\n            timeWindow: {\n                start,\n                end,\n            },\n            address: preparedLocation,\n            routeStopType: type,\n        });\n    };\n\n    return (\n        <div className={cs(cx('time-picker'), className)}>\n            <FormikConnectContextField<RouteFormValuesT, typeof locationFieldName>\n                name={locationFieldName}\n                label={t('deadhead-creation.route-form.fields.drop-point.label')}\n                fieldLabelClassName={cx('field', 'field--location')}\n                subLabel={\n                    <>\n                        <TimeIntervalDurationPillLabel\n                            className={cx('time-interval', {\n                                'time-interval--isHalfOpacity': false,\n                            })}\n                            i18nKey={null}\n                            isDayRelative\n                            timeWindow={relativeTimeWindow}\n                        />\n                        <TimeIntervalLimitPillLabel\n                            className={cx('time-interval', {\n                                'time-interval--isHalfOpacity': false,\n                            })}\n                            timeWindow={relativeTimeWindow}\n                        />\n                    </>\n                }\n                labelRightNode={\n                    <div className={cx('right-node')}>\n                        {selectedDate && (\n                            <LinkDatePicker\n                                leftIcon={\n                                    <CalendarAltIcon\n                                        size={DEFAULT_ICON_SIZE}\n                                        strokeColor={StyleGuideColorsEnum.brandDark}\n                                    />\n                                }\n                                allowedDates={allowedDates}\n                                allowedDatesStartDate={allowedDatesStartDate}\n                                value={selectedDate}\n                                onChange={handleChangeDate}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                            />\n                        )}\n                    </div>\n                }\n            >\n                {(props, extendsProps) => (\n                    <div className={cx('wrap')} data-point-id={fakePointId}>\n                        <GeoSuggest\n                            className={cx('geo-suggest')}\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            placeholder={t('deadhead-creation.route-form.fields.drop-point.placeholder')}\n                            renderLeftIcon={({ hasValue, hasError, hasWarning, isDisabled }) => {\n                                if (type === DeadheadRouteStopTypeEnum.dropTruck) {\n                                    let iconProps = {\n                                        strokeColor: StyleGuideColorsEnum.gray,\n                                        fillColor: StyleGuideColorsEnum.light,\n                                    };\n                                    if (hasValue) {\n                                        iconProps = {\n                                            strokeColor: StyleGuideColorsEnum.brandDark,\n                                            fillColor: StyleGuideColorsEnum.brandAccent,\n                                        };\n                                    }\n                                    if (hasError) {\n                                        iconProps = {\n                                            strokeColor: StyleGuideColorsEnum.tomatoRed,\n                                            fillColor: StyleGuideColorsEnum.light,\n                                        };\n                                    }\n                                    if (hasWarning) {\n                                        iconProps = {\n                                            strokeColor: StyleGuideColorsEnum.orange,\n                                            fillColor: StyleGuideColorsEnum.light,\n                                        };\n                                    }\n                                    if (isDisabled) {\n                                        iconProps = {\n                                            strokeColor: StyleGuideColorsEnum.slate,\n                                            fillColor: StyleGuideColorsEnum.light,\n                                        };\n                                    }\n\n                                    return <TruckDropOffIcon size={DEFAULT_ICON_SIZE} {...iconProps} />;\n                                }\n\n                                if (type === DeadheadRouteStopTypeEnum.dropRoadTrain) {\n                                    let iconProps = {\n                                        strokeColor: StyleGuideColorsEnum.gray,\n                                    };\n                                    if (hasValue) {\n                                        iconProps = {\n                                            strokeColor: StyleGuideColorsEnum.brandDark,\n                                        };\n                                    }\n                                    if (hasError) {\n                                        iconProps = {\n                                            strokeColor: StyleGuideColorsEnum.tomatoRed,\n                                        };\n                                    }\n                                    if (hasWarning) {\n                                        iconProps = {\n                                            strokeColor: StyleGuideColorsEnum.orange,\n                                        };\n                                    }\n                                    if (isDisabled) {\n                                        iconProps = {\n                                            strokeColor: StyleGuideColorsEnum.slate,\n                                        };\n                                    }\n                                    return <LinkDropOffIcon {...iconProps} />;\n                                }\n\n                                return null;\n                            }}\n                            onChange={(value) => {\n                                const location = prepareLocation(value);\n\n                                props.onChange(value);\n\n                                onManualSelectLocation(value, routePointIndex);\n\n                                onChangeRoutePointAddress(routePointIndex, fakePointId, {\n                                    routeStopType: type,\n                                    address: location,\n                                });\n                            }}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            onFocus={props.onFocus}\n                            onBlur={props.onBlur}\n                            testSelector={`pickup-or-delivery-location-${routePointIndex}`}\n                            showClearControl={!!extendsProps.value}\n                        />\n                    </div>\n                )}\n            </FormikConnectContextField>\n            <TimeWindowPicker\n                range={ALL_DAY_RANGE}\n                availableValues={settings?.availableValues}\n                ranges={settings?.timeWindowRanges || []}\n                marks={settings?.marks}\n                values={relativeTimeWindow}\n                step={timeWindowQuantumMs}\n                isAllowOnlyDragRange\n                isLockedLeftRangeControl\n                isLockedRightRangeControl\n                renderZoneTextNode={renderZoneTextNode}\n                onChange={handleChangeTimeWindow}\n            />\n        </div>\n    );\n});\n\nexport default DropPointPicker;\n","import {\n    CreateReserveQueryT,\n    PriceOfferT,\n    ReservePreviewQueryT,\n    ReservePreviewT,\n    ReserveQueryChangesT,\n    ReserveT,\n    RFQDetailsT,\n} from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nimport { ApiActualOrderRequestT, ApiCreateOrderRequestT } from 'common/utils/api/models';\n\nexport const CHANGE_RESERVE_QUERY = 'common/order-creation/CHANGE_RESERVE_QUERY';\nexport const SET_ALLOW_CREATE_RFQ = 'common/order-creation/SET_ALLOW_CREATE_RFQ';\n\nexport const CREATE_PRICE_OFFER_WITH_LANE_REQUEST = 'common/order-creation/CREATE_PRICE_OFFER_WITH_LANE_REQUEST';\nexport const CREATE_PRICE_OFFER_WITH_LANE_REQUEST_BEGIN =\n    'common/order-creation/CREATE_PRICE_OFFER_WITH_LANE_REQUEST_BEGIN';\nexport const CREATE_PRICE_OFFER_WITH_LANE_REQUEST_SUCCESS =\n    'common/order-creation/CREATE_PRICE_OFFER_WITH_LANE_REQUEST_SUCCESS';\nexport const CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR =\n    'common/order-creation/CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR';\n\nexport const CREATE_RFQ_REQUEST = 'common/order-creation/CREATE_RFQ_REQUEST';\nexport const CREATE_RFQ_REQUEST_BEGIN = 'common/order-creation/CREATE_RFQ_REQUEST_BEGIN';\nexport const CREATE_RFQ_REQUEST_SUCCESS = 'common/order-creation/CREATE_RFQ_REQUEST_SUCCESS';\nexport const CREATE_RFQ_REQUEST_ERROR = 'common/order-creation/CREATE_RFQ_REQUEST_ERROR';\n\nexport const ENSURE_CREATED_RFQ = 'common/order-creation/ENSURE_CREATED_RFQ';\n\nexport const CREATE_ORDER_REQUEST = 'common/order-creation/CREATE_ORDER_REQUEST';\nexport const CREATE_ORDER_REQUEST_BEGIN = 'common/order-creation/CREATE_ORDER_REQUEST_BEGIN';\nexport const CREATE_ORDER_REQUEST_SUCCESS = 'common/order-creation/CREATE_ORDER_REQUEST_SUCCESS';\nexport const CREATE_ORDER_REQUEST_ERROR = 'common/order-creation/CREATE_ORDER_REQUEST_ERROR';\n\nexport const FETCH_ROUTE = 'common/order-creation/FETCH_ROUTE';\nexport const FETCH_ROUTE_ERROR = 'common/order-creation/FETCH_ROUTE_ERROR';\nexport const FETCH_ROUTE_SUCCESS = 'common/order-creation/FETCH_ROUTE_SUCCESS';\n\nexport const FETCH_OFFERS_ERROR = 'common/order-creation/FETCH_OFFERS_ERROR';\nexport const SELECT_OFFER = 'common/order-creation/SELECT_OFFER';\nexport const FETCH_TASK_OFFER = 'common/order-creation/FETCH_TASK_OFFER';\nexport const FETCH_TASK_OFFER_ERROR = 'common/order-creation/FETCH_TASK_OFFER_ERROR';\nexport const FETCH_OFFERS = 'common/order-creation/FETCH_OFFERS';\nexport const MARK_OFFERS_EXPIRED = 'common/order-creation/MARK_OFFERS_EXPIRED';\nexport const SET_EXPECTED_OFFERS_COUNT = 'common/order-creation/SET_EXPECTED_OFFERS_COUNT';\nexport const CLEAR_OFFERS_TASKS = 'common/order-creation/CLEAR_OFFERS_TASKS';\nexport const RESET = 'common/order-creation/RESET';\n\nexport const SET_CREATE_RESERVE_QUERY = 'common/order-creation/SET_CREATE_RESERVE_QUERY';\nexport const CREATE_RESERVE_BEGIN = 'common/order-creation/CREATE_RESERVE_BEGIN';\nexport const CREATE_RESERVE_SUCCESS = 'common/order-creation/CREATE_RESERVE_SUCCESS';\nexport const CREATE_RESERVE_ERROR = 'common/order-creation/CREATE_RESERVE_ERROR';\nexport const RESET_CREATE_RESERVE_WITH_QUERY = 'common/order-creation/RESET_CREATE_RESERVE_WITH_QUERY';\n\nexport const CORRECT_RESERVE_QUERY = 'common/order-creation/CORRECT_RESERVE_QUERY';\nexport const CORRECT_PREVIEW_RESERVE_QUERY = 'common/order-creation/CORRECT_PREVIEW_RESERVE_QUERY';\nexport const SET_PREVIEW_RESERVE_QUERY = 'common/order-creation/SET_PREVIEW_RESERVE_QUERY';\nexport const PREVIEW_RESERVE_BEGIN = 'common/order-creation/PREVIEW_RESERVE_BEGIN';\nexport const PREVIEW_RESERVE_SUCCESS = 'common/order-creation/PREVIEW_RESERVE_SUCCESS';\nexport const PREVIEW_RESERVE_ERROR = 'common/order-creation/PREVIEW_RESERVE_ERROR';\n\nexport const RESET_RESERVE_AND_RESERVE_PREVIEW = 'common/order-creation/RESET_RESERVE_AND_RESERVE_PREVIEW';\n\nexport type ChangeReserveQueryActionT = {\n    type: typeof CHANGE_RESERVE_QUERY;\n    changes: ReserveQueryChangesT;\n};\n\nexport type SetAllowCreateRFQT = {\n    type: typeof SET_ALLOW_CREATE_RFQ;\n    isAllowCreateRFQ: boolean;\n};\n\nexport type CreatePriceOfferWithLaneRequestActionT = {\n    type: typeof CREATE_PRICE_OFFER_WITH_LANE_REQUEST;\n    actualOrderRequest: ApiActualOrderRequestT;\n    reserve: ReserveT;\n    shipperId: ShipperIdT | null;\n    laneId: ShipperContractLaneIdT;\n};\n\nexport type CreatePriceOfferWithLaneRequestBeginActionT = {\n    type: typeof CREATE_PRICE_OFFER_WITH_LANE_REQUEST_BEGIN;\n};\n\nexport type CreatePriceOfferWithLaneRequestSuccessActionT = {\n    type: typeof CREATE_PRICE_OFFER_WITH_LANE_REQUEST_SUCCESS;\n    rfq: RFQDetailsT;\n    lanePriceOffer: PriceOfferT | null;\n};\n\nexport type CreatePriceOfferWithLaneRequestErrorActionT = {\n    type: typeof CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type CreateRFQActionT = {\n    type: typeof CREATE_RFQ_REQUEST;\n    actualOrderRequest: ApiActualOrderRequestT;\n    reserve: ReserveT;\n    shipperId: ShipperIdT | null;\n};\n\nexport type CreateRFQBeginActionT = {\n    type: typeof CREATE_RFQ_REQUEST_BEGIN;\n};\n\nexport type CreateRFQSuccessActionT = {\n    type: typeof CREATE_RFQ_REQUEST_SUCCESS;\n    rfq: RFQDetailsT;\n};\n\nexport type CreateRFQErrorActionT = {\n    type: typeof CREATE_RFQ_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type FetchRouteActionT = {\n    type: typeof FETCH_ROUTE;\n    polylineId: PolylineIdT | null;\n};\n\nexport type FetchRouteSuccessActionT = {\n    type: typeof FETCH_ROUTE_SUCCESS;\n    polylines: Array<GooglePolylineT>;\n};\n\nexport type FetchRouteErrorActionT = {\n    type: typeof FETCH_ROUTE_ERROR;\n    error: Error;\n};\n\nexport type CreateOrderActionT = {\n    type: typeof CREATE_ORDER_REQUEST;\n    rfqId: RFQIdT;\n    createOrderRequest: ApiCreateOrderRequestT;\n    isCreateNextOrder: boolean;\n};\n\nexport type CreateOrderBeginActionT = {\n    type: typeof CREATE_ORDER_REQUEST_BEGIN;\n};\n\nexport type CreateOrderSuccessActionT = {\n    type: typeof CREATE_ORDER_REQUEST_SUCCESS;\n};\n\nexport type CreateOrderErrorActionT = {\n    type: typeof CREATE_ORDER_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type EnsureCreatedRFQActionT = {\n    type: typeof ENSURE_CREATED_RFQ;\n    rfqId: RFQIdT;\n};\n\nexport type SelectOfferActionT = {\n    type: typeof SELECT_OFFER;\n    offer: PriceOfferT;\n    rfqId: RFQIdT;\n};\n\nexport type FetchTaskOfferActionT = {\n    type: typeof FETCH_TASK_OFFER;\n    offer: PriceOfferT;\n    tasksCount: number;\n};\n\nexport type FetchTaskOfferErrorActionT = {\n    type: typeof FETCH_TASK_OFFER_ERROR;\n    error: Error;\n};\n\nexport type FetchOffersActionT = {\n    type: typeof FETCH_OFFERS;\n    priceOffers: Array<PriceOfferT>;\n};\n\nexport type MarkOffersExpiredActionT = {\n    type: typeof MARK_OFFERS_EXPIRED;\n    ids: Array<PriceOfferIdT>;\n};\n\nexport type SetExpectedOffersCountT = {\n    type: typeof SET_EXPECTED_OFFERS_COUNT;\n    expectedOffersCount: number | null;\n};\n\nexport type ClearOffersTasksActionT = {\n    type: typeof CLEAR_OFFERS_TASKS;\n};\n\nexport type FetchOffersErrorActionT = {\n    type: typeof FETCH_OFFERS_ERROR;\n    error: Error;\n};\n\nexport type ResetActionT = {\n    type: typeof RESET;\n};\n\nexport type SetCreateReserveQueryActionT = {\n    type: typeof SET_CREATE_RESERVE_QUERY;\n    query: CreateReserveQueryT | null;\n};\n\nexport type ResetCreateReserveWithQueryActionT = {\n    type: typeof RESET_CREATE_RESERVE_WITH_QUERY;\n    query: CreateReserveQueryT | null;\n};\n\nexport type CreateReserveBeginActionT = {\n    type: typeof CREATE_RESERVE_BEGIN;\n    query: CreateReserveQueryT | null;\n};\n\nexport type CreateReserveSuccessActionT = {\n    type: typeof CREATE_RESERVE_SUCCESS;\n    reserve: ReserveT;\n    query: CreateReserveQueryT | null;\n};\n\nexport type CreateReserveErrorActionT = {\n    type: typeof CREATE_RESERVE_ERROR;\n    error: Error;\n    query: CreateReserveQueryT | null;\n};\n\nexport type SetPreviewReserveQueryActionT = {\n    type: typeof SET_PREVIEW_RESERVE_QUERY;\n    query: ReservePreviewQueryT | null;\n};\n\nexport type CorrectPreviewReserveQueryActionT = {\n    type: typeof CORRECT_PREVIEW_RESERVE_QUERY;\n    query: ReservePreviewQueryT | null;\n};\n\nexport type CorrectReserveQueryActionT = {\n    type: typeof CORRECT_RESERVE_QUERY;\n    query: CreateReserveQueryT | null;\n};\n\nexport type PreviewReserveBeginActionT = {\n    type: typeof PREVIEW_RESERVE_BEGIN;\n    query: ReservePreviewQueryT | null;\n};\n\nexport type PreviewReserveSuccessActionT = {\n    type: typeof PREVIEW_RESERVE_SUCCESS;\n    preview: ReservePreviewT;\n    query: ReservePreviewQueryT | null;\n};\n\nexport type PreviewReserveErrorActionT = {\n    type: typeof PREVIEW_RESERVE_ERROR;\n    error: Error;\n    query: ReservePreviewQueryT | null;\n};\n\nexport type ResetReserveAndReservePreviewT = {\n    type: typeof RESET_RESERVE_AND_RESERVE_PREVIEW;\n};\n\nexport type OrderCreationActionT =\n    | SetAllowCreateRFQT\n    | CreateRFQActionT\n    | EnsureCreatedRFQActionT\n    | CreatePriceOfferWithLaneRequestActionT\n    | CreatePriceOfferWithLaneRequestBeginActionT\n    | CreatePriceOfferWithLaneRequestSuccessActionT\n    | CreatePriceOfferWithLaneRequestErrorActionT\n    | CreateRFQBeginActionT\n    | CreateRFQSuccessActionT\n    | CreateRFQErrorActionT\n    | CreateOrderActionT\n    | CreateOrderBeginActionT\n    | CreateOrderSuccessActionT\n    | CreateOrderErrorActionT\n    | SelectOfferActionT\n    | SetExpectedOffersCountT\n    | FetchOffersActionT\n    | MarkOffersExpiredActionT\n    | FetchTaskOfferActionT\n    | FetchTaskOfferErrorActionT\n    | ClearOffersTasksActionT\n    | FetchOffersErrorActionT\n    | FetchRouteErrorActionT\n    | FetchRouteSuccessActionT\n    | SetCreateReserveQueryActionT\n    | ResetCreateReserveWithQueryActionT\n    | CreateReserveBeginActionT\n    | CreateReserveSuccessActionT\n    | CreateReserveErrorActionT\n    | SetPreviewReserveQueryActionT\n    | CorrectPreviewReserveQueryActionT\n    | CorrectReserveQueryActionT\n    | PreviewReserveBeginActionT\n    | PreviewReserveSuccessActionT\n    | PreviewReserveErrorActionT\n    | ResetReserveAndReservePreviewT\n    | ResetActionT;\n\nexport type OrderCreationStateT = {\n    previewReserveQuery: ReservePreviewQueryT | null;\n    previewReserveRequest: RequestStatusT;\n    previewReserve: ReservePreviewT | null;\n\n    reserveQuery: CreateReserveQueryT | null;\n    reserveRequest: RequestStatusT;\n    reserve: ReserveT | null;\n\n    isAllowCreateRFQ: boolean;\n\n    polylines: Array<GooglePolylineT> | null;\n    createRFQRequest: RequestStatusT;\n    createPriceOfferWithLaneRequest: RequestStatusT;\n\n    rfq: RFQDetailsT | null;\n    priceOffers: {\n        byHash: Record<string, Array<PriceOfferIdT>>;\n        byId: Record<PriceOfferIdT, PriceOfferT>;\n        list: Array<PriceOfferIdT>;\n    } | null;\n    offersTasks: {\n        count: number;\n        total: number | null;\n    };\n\n    lanePriceOffer: PriceOfferT | null;\n\n    createOrderRequest: RequestStatusT;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"NotificationToastContent__text___jJKaa\",\"content\":\"NotificationToastContent__content___yc1Qa\",\"content--has-icon\":\"NotificationToastContent__content--has-icon___XGhhr\",\"content__left-icon\":\"NotificationToastContent__content__left-icon___nop25\",\"content__content\":\"NotificationToastContent__content__content___z0mOt\",\"content__link-icon\":\"NotificationToastContent__content__link-icon___ahpkq\",\"fadeIn\":\"NotificationToastContent__fadeIn___DXtIp\",\"blinking\":\"NotificationToastContent__blinking___pdKDo\"};","import requestStatus, { type RequestStatusT } from 'common/utils/request-status';\n\nexport type HashT = TruckIdT | TrailerIdT;\n\nexport type AssetItemStateT = {\n    validateTeleportStatus: RequestStatusT;\n    validateTeleport: Api2.Definitions.TeleportAsset | null;\n    executeTeleportStatus: RequestStatusT;\n};\n\nexport type AssetsStateT = Record<HashT, AssetItemStateT>;\n\nexport const initialAssetTeleportItemState: AssetItemStateT = {\n    validateTeleportStatus: requestStatus.initial,\n    validateTeleport: null,\n    executeTeleportStatus: requestStatus.initial,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"stepper\":\"Stepper__stepper___h_Kb6\",\"back-button\":\"Stepper__back-button___a70gX\",\"step\":\"Stepper__step___wrgsW\",\"step--isSelectable\":\"Stepper__step--isSelectable___CrL4z\",\"step__number\":\"Stepper__step__number____cpIX\",\"step__number--isActive\":\"Stepper__step__number--isActive___zw77_\",\"step__number--isPrevStep\":\"Stepper__step__number--isPrevStep___nWw_X\",\"step__label\":\"Stepper__step__label___VnMHu\",\"step__label--isActive\":\"Stepper__step__label--isActive___oe51l\",\"fadeIn\":\"Stepper__fadeIn___jssg9\",\"blinking\":\"Stepper__blinking___m88Nz\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RevokedPartnerShipperContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst UpdatedPartnerShipperContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-revoked\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default UpdatedPartnerShipperContractCard;\n","import { BrokerOrderStatsStateT } from './slice';\nimport { StateT } from '../models';\n\nexport const selectBrokerOrderStatsRequest = (state: StateT): BrokerOrderStatsStateT['fetchRequest'] =>\n    state.brokerOrderStats.fetchRequest;\n\nexport const selectBrokerOrderStats = (state: StateT): BrokerOrderStatsStateT['stats'] => state.brokerOrderStats.stats;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ModelCell.scss';\n\nimport { ApiTruckT } from 'common/store/trucks/models';\n\ntype PropsT = {\n    truck: ApiTruckT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ModelCell: React.FC<PropsT> = React.memo((props) => {\n    const { truck } = props;\n\n    return (\n        <div>\n            <div className={cx('model')}>{truck.manufacturer}</div>\n            <div className={cx('cabin-color')}>{truck.cabinColor}</div>\n        </div>\n    );\n});\n\nexport default ModelCell;\n","import Keycloak, { KeycloakError, KeycloakInstance, KeycloakProfile } from 'keycloak-js';\nimport {\n    AuthAccountUrlsT,\n    AuthStateChangedCallbackT,\n    AuthUnsubscribeCallbackT,\n    AuthUserClaimsT,\n    AuthUserT,\n    BaseAuthService,\n} from './base-auth-service';\nimport { AuthApiError, AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\nimport { AuthIdTokenT } from 'common/utils/api/auth/base-security-auth-api';\nimport { logError, logWarning } from 'common/utils/logger';\nimport { createSelfExternalUrl } from 'common/utils/history';\n\ntype KeycloakConfigT = {\n    url: string;\n    realm: string;\n    clientId: string;\n};\n\nconst INIT_REDIRECT_MODE_QUERY_KEY = 'init-auth-redirect-mode';\n\ntype KeycloakInitRedirectModeT = string | null;\nenum KeycloakInitRedirectModeEnum {\n    signUp = 'sign-up',\n    signIn = 'sign-in',\n}\n\nconst DELAY = 300;\n\nconst TOKEN_KEY = 'kc_token';\nconst REFRESH_TOKEN_KEY = 'kc_refreshToken';\n\nexport class KeycloakAuthService extends BaseAuthService {\n    private keycloak: KeycloakInstance;\n\n    private isInitialized = false;\n\n    private authStateChangedCallback: AuthStateChangedCallbackT | null = null;\n\n    constructor(config: KeycloakConfigT, initRedirectMode: KeycloakInitRedirectModeT) {\n        super();\n\n        this.keycloak = new Keycloak({\n            ...config,\n        });\n        this.keycloak.onAuthError = this.onAuthError;\n        this.keycloak.onAuthSuccess = this.onAuthSuccess;\n        this.keycloak.onReady = this.onReady;\n\n        const token = localStorage.getItem(TOKEN_KEY);\n        const refreshToken = localStorage.getItem(REFRESH_TOKEN_KEY);\n\n        this.keycloak.init({\n            onLoad: !initRedirectMode ? 'check-sso' : undefined,\n            token: token || undefined,\n            refreshToken: refreshToken || undefined,\n            checkLoginIframe: false,\n        });\n\n        if (initRedirectMode === KeycloakInitRedirectModeEnum.signUp) {\n            this.keycloak.register({\n                redirectUri: window.location.href.replace(\n                    INIT_REDIRECT_MODE_QUERY_KEY,\n                    `deleted-${INIT_REDIRECT_MODE_QUERY_KEY}`,\n                ),\n            });\n        }\n\n        if (initRedirectMode === KeycloakInitRedirectModeEnum.signIn) {\n            this.keycloak.login({\n                redirectUri: window.location.href.replace(\n                    INIT_REDIRECT_MODE_QUERY_KEY,\n                    `deleted-${INIT_REDIRECT_MODE_QUERY_KEY}`,\n                ),\n            });\n        }\n    }\n\n    checkAllowedAnonymouslyUserCreation = (): boolean => {\n        return false;\n    };\n\n    private waitInitialization = async (): Promise<void> => {\n        while (!this.isInitialized) {\n            await new Promise((resolve) => {\n                setTimeout(resolve, DELAY);\n            });\n        }\n    };\n\n    getAuthToken = async (): Promise<AuthIdTokenT | null> => {\n        await this.waitInitialization();\n\n        const token = this.keycloak.token || null;\n        if (!token) {\n            return null;\n        }\n\n        if (this.keycloak.isTokenExpired()) {\n            try {\n                await this.keycloak.updateToken(5); // 5 - is default minValidity\n            } catch (error) {\n                logWarning('failed to updateToken', error);\n\n                // return expired token\n            }\n        }\n\n        return token;\n    };\n\n    getAuthHeaders = async (): Promise<Record<string, AuthIdTokenT> | null> => {\n        const token = await this.getAuthToken();\n\n        return {\n            Authorization: `Bearer ${token}`,\n        };\n    };\n\n    doSignOut = async (): Promise<[AuthApiError | null, null]> => {\n        try {\n            await this.keycloak.logout({\n                redirectUri: window.location.href,\n            });\n\n            return [null, null];\n        } catch (error) {\n            // TODO parse\n            return [new AuthApiError(AuthErrorTypeEnum.unknown, error.message), null];\n        }\n    };\n\n    signInWithEmailAndPassword = async (): Promise<[AuthApiError | null, AuthUserT | null]> => {\n        return [new AuthApiError(AuthErrorTypeEnum.unknown, 'not implement'), null];\n    };\n\n    getAuthUserClaims = async (): Promise<[AuthApiError | null, AuthUserClaimsT | null]> => {\n        await this.waitInitialization();\n\n        if (!this.keycloak.tokenParsed?.roles) {\n            return [null, null];\n        }\n\n        const authUserClaims: AuthUserClaimsT = {\n            roles: this.keycloak.tokenParsed?.roles,\n        };\n\n        return [null, authUserClaims];\n    };\n\n    getAccountUrls = async (): Promise<[AuthApiError | null, AuthAccountUrlsT | null]> => {\n        await this.waitInitialization();\n\n        return [\n            null,\n            {\n                changeCreds: `${this.keycloak.tokenParsed?.iss}/protocol/openid-connect/auth?client_id=${this.keycloak.clientId}&redirect_uri=${window.location.href}&response_type=code&scope=openid&kc_action=UPDATE_PASSWORD`,\n            },\n        ];\n    };\n\n    verificationEmail = async (): Promise<[AuthApiError | null, null]> => {\n        return [new AuthApiError(AuthErrorTypeEnum.unknown, 'not implement'), null];\n    };\n\n    private onReady = () => {\n        this.isInitialized = true;\n\n        if (this.keycloak.authenticated) {\n            const userInfo = this.keycloak?.userInfo as KeycloakProfile;\n            this.emitStateChange({\n                email: userInfo?.email || '',\n                displayName: `${userInfo?.lastName || ''} ${userInfo?.firstName || ''}`,\n                isAnonymous: false,\n            });\n        } else {\n            this.emitStateChange(null);\n        }\n    };\n\n    private onAuthError = (errorData: KeycloakError) => {\n        logWarning(`keycloak.onAuthError ${JSON.stringify(errorData)}`);\n        // nothing\n\n        this.emitStateChange(null);\n    };\n\n    private onAuthSuccess = async () => {\n        localStorage.setItem(TOKEN_KEY, this.keycloak.token || '');\n        localStorage.setItem(REFRESH_TOKEN_KEY, this.keycloak.refreshToken || '');\n\n        // TODO check need ???\n        try {\n            const userInfo = (await this.keycloak.loadUserProfile()) as KeycloakProfile;\n            this.emitStateChange({\n                email: userInfo.email || '',\n                displayName: `${userInfo.lastName || ''} ${userInfo.firstName || ''}`,\n                isAnonymous: false,\n            });\n        } catch (error) {\n            // error may be empty, WTF?!?!\n            if (error) {\n                logError('KeycloakAuthService onAuthSuccess error', error);\n            }\n        }\n    };\n\n    destroySession = () => {\n        localStorage.removeItem(TOKEN_KEY);\n        localStorage.removeItem(REFRESH_TOKEN_KEY);\n    };\n\n    private emitStateChange: AuthStateChangedCallbackT = (user) => {\n        if (!this.authStateChangedCallback) {\n            setTimeout(() => {\n                this.emitStateChange(user);\n            }, DELAY);\n        } else {\n            this.authStateChangedCallback(user);\n        }\n    };\n\n    onAuthStateChanged = (authStateChangedCallback: AuthStateChangedCallbackT): AuthUnsubscribeCallbackT => {\n        this.authStateChangedCallback = authStateChangedCallback;\n\n        return () => {\n            this.authStateChangedCallback = null;\n        };\n    };\n\n    createAnonymouslyUser = async (): Promise<[AuthApiError | null, AuthUserT | null]> => {\n        return [null, null];\n    };\n\n    updatePassword = async (): Promise<[AuthApiError | null, null]> => {\n        return [new AuthApiError(AuthErrorTypeEnum.unknown, 'not implement in keycloak'), null];\n    };\n\n    reauthenticateWithCredential = async (): Promise<[AuthApiError | null, AuthUserT | null]> => {\n        return [new AuthApiError(AuthErrorTypeEnum.unknown, 'not implement in keycloak'), null];\n    };\n\n    changePassword = async (): Promise<[AuthApiError | null, null]> => {\n        return [new AuthApiError(AuthErrorTypeEnum.unknown, 'not implement in keycloak'), null];\n    };\n\n    updateProfile = async (): Promise<[AuthApiError | null, null]> => {\n        // nothing\n        return [null, null];\n    };\n\n    checkIsContinueSignInRedirect = () => {\n        return !!window.location.search?.includes('session_state=');\n    };\n\n    createSignInUrl = (returnUrl?: string): string => {\n        return this.keycloak.createLoginUrl({\n            redirectUri: returnUrl ? createSelfExternalUrl(returnUrl) : undefined,\n        });\n    };\n\n    createSignInUrlAfterChangePassword = (): string => {\n        return this.keycloak.createLoginUrl();\n    };\n\n    forceRefreshToken = async (): Promise<[AuthApiError | null, boolean | null]> => {\n        try {\n            await this.waitInitialization();\n\n            // force refresh - Infinity minValidity\n            const refreshed = await this.keycloak.updateToken(Infinity);\n            if (refreshed) {\n                localStorage.setItem(TOKEN_KEY, this.keycloak.token || '');\n                localStorage.setItem(REFRESH_TOKEN_KEY, this.keycloak.refreshToken || '');\n            }\n\n            return [null, refreshed];\n        } catch (error) {\n            // TODO parse\n            return [new AuthApiError(AuthErrorTypeEnum.unknown, error?.message), null];\n        }\n    };\n\n    createAccountUrl = (): string => {\n        return this.keycloak.createAccountUrl({\n            redirectUri: window.location.href,\n        });\n    };\n\n    createSignUpUrl = (): string => {\n        return this.keycloak.createRegisterUrl({\n            redirectUri: window.location.href,\n        });\n    };\n\n    createForgotPasswordUrl = (): string => {\n        throw new Error('not implement in keycloak');\n    };\n\n    createChangePasswordUrl = (): string => {\n        throw new Error('not implement in keycloak');\n    };\n}\n\nexport const tryParseKeycloakConfig = (): KeycloakConfigT => {\n    try {\n        return JSON.parse(window.STRINGIFIED_KEYCLOAK_CONFIG);\n    } catch (error) {\n        logError('KeycloakAuthService Parse keycloak config error!!', error);\n\n        return {} as KeycloakConfigT;\n    }\n};\n\nexport const tryParseInitRedirectMode = (): KeycloakInitRedirectModeT => {\n    const url = new URL(window.location.href);\n\n    return url.searchParams.get(INIT_REDIRECT_MODE_QUERY_KEY);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"StatisticsPage__widget___WmXKM\",\"widget__inner\":\"StatisticsPage__widget__inner___BvVU2\",\"widget__aggregates\":\"StatisticsPage__widget__aggregates___jW0Fx\",\"actions\":\"StatisticsPage__actions___XsdrE\",\"filter-tags\":\"StatisticsPage__filter-tags___g99o1\",\"aggregate\":\"StatisticsPage__aggregate___jC81L\",\"aggregate__checkbox\":\"StatisticsPage__aggregate__checkbox___jJawn\",\"aggregate__price\":\"StatisticsPage__aggregate__price___PSFCl\",\"aggregate__label\":\"StatisticsPage__aggregate__label___MOpwQ\",\"aggregate__text\":\"StatisticsPage__aggregate__text___J0f_A\",\"aggregate__circle\":\"StatisticsPage__aggregate__circle___ubNwt\",\"unit\":\"StatisticsPage__unit___Hvvc0\",\"dates\":\"StatisticsPage__dates___SmOIb\",\"option\":\"StatisticsPage__option___C0aDY\",\"not-number\":\"StatisticsPage__not-number___kHHmL\",\"message\":\"StatisticsPage__message___PszX8\",\"fadeIn\":\"StatisticsPage__fadeIn___nEllC\",\"blinking\":\"StatisticsPage__blinking___prkWs\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TruckActionHistory.scss';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\nimport { isNonNil } from 'common/utils';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    createdDate?: string;\n    createdByName?: string;\n    createdById?: UserIdT;\n    createdByBroker?: boolean;\n\n    modifiedDate?: string;\n    modifiedByName?: string;\n    modifiedById?: UserIdT;\n    modifiedByBroker?: boolean;\n\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst TruckActionHistory: React.FC<PropsT> = (props) => {\n    const {\n        createdDate,\n        createdByName,\n        createdById,\n        createdByBroker,\n        modifiedDate,\n        modifiedByName,\n        modifiedById,\n        modifiedByBroker,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const creationDetailRows: Array<InfoTableRowT> = [\n        createdDate\n            ? {\n                  icon: null,\n                  name: t('common:trucks-page.columns.create-date'),\n                  rightNode: createdDate ? <DateFormatter date={createdDate} format=\"DD MMM YYYY, HH:mm\" /> : null,\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'create-date',\n                  hasBottomBorder: true,\n              }\n            : null,\n        createdDate\n            ? {\n                  icon: null,\n                  name: t('common:trucks-page.columns.created-by'),\n                  rightNode: (\n                      <UserLinkFormatter\n                          fullName={createdByName}\n                          userId={createdById}\n                          byBroker={createdByBroker}\n                          onOpenUserDetails={onOpenUserDetails}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'created-by',\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const modifyDetailRows: Array<InfoTableRowT> = [\n        modifiedDate\n            ? {\n                  icon: null,\n                  name: t('common:trucks-page.columns.last-modify-date'),\n                  rightNode: modifiedDate ? <DateFormatter date={modifiedDate} format=\"DD MMM YYYY, HH:mm\" /> : null,\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'modify-date',\n                  hasBottomBorder: true,\n              }\n            : null,\n        modifiedDate\n            ? {\n                  icon: null,\n                  name: t('common:trucks-page.columns.last-modify-by'),\n                  rightNode: (\n                      <UserLinkFormatter\n                          fullName={modifiedByName}\n                          userId={modifiedById}\n                          byBroker={modifiedByBroker}\n                          onOpenUserDetails={onOpenUserDetails}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'modified-by',\n              }\n            : null,\n    ].filter(isNonNil);\n\n    return (\n        <>\n            <InfoTable className={cx('table')} rows={creationDetailRows} testSelector=\"creation-details\" />\n            <InfoTable className={cx('table')} rows={modifyDetailRows} testSelector=\"modify-details\" />\n        </>\n    );\n};\n\nexport default TruckActionHistory;\n","import { SharableStateT } from '../models';\n\nexport const selectGroupedNotificationCounts = (state: SharableStateT) => {\n    return state.groupedNotificationCounts.counts;\n};\n\nexport const selectGroupedNotificationCountsRequest = (state: SharableStateT) => {\n    return state.groupedNotificationCounts.fetchRequest;\n};\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './StatisticFiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { useDispatch } from 'react-redux';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { disableCompaniesDataSourceSet, FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport ShipperSuggest from 'broker-admin/components/dropdowns/ShipperSuggest/ShipperSuggest';\nimport CarrierDropdown from 'broker-admin/components/dropdowns/CarrierDropdown/CarrierDropdown';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport DataSourceDropdown from 'broker-admin/layouts/StatisticsPage/DataSourceDropdown/DataSourceDropdown';\nimport { StatisticsFilterSidebarDataT } from './models';\nimport { SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport { useQueryParam } from 'use-query-params';\nimport { createJsonParams } from 'common/utils/query';\nimport { QueryFiltersT, QueryKeysEnum } from 'broker-admin/layouts/StatisticsPage/query-models';\nimport SelectedFilters from 'broker-admin/layouts/StatisticsPage/SelectedFilters/SelectedFilters';\nimport { getOnlyQueryFilterChanges } from 'common/utils/query-filters';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<StatisticsFilterSidebarDataT, BrokerSidebarDataT>;\n\nconst StatisticFiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose } = props;\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const [queryFilters, setQueryFilters] = useQueryParam<QueryFiltersT>(\n        QueryKeysEnum.statsFilters,\n        createJsonParams<QueryFiltersT>({}),\n    );\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const queryFilters = getQueryFilters(values);\n\n            const queryFilterChanges = getOnlyQueryFilterChanges(queryFilters, initialQueryFilters);\n\n            setQueryFilters({\n                ...initialQueryFilters,\n                ...queryFilterChanges,\n            });\n\n            formikHelpers.setTouched({});\n\n            if (onClose) {\n                onClose();\n            }\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    const selectedDataSource = formik.values[FieldsEnum.dataSource];\n    const isDisableSelectCompanies = disableCompaniesDataSourceSet.has(selectedDataSource);\n    React.useEffect(() => {\n        if (disableCompaniesDataSourceSet.has(selectedDataSource)) {\n            formik.setValues({\n                ...formik.values,\n                [FieldsEnum.carrierId]: null,\n                [FieldsEnum.carrierName]: null,\n                [FieldsEnum.shipperId]: null,\n                [FieldsEnum.shipperName]: null,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [selectedDataSource]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('statistics.filters.trigger')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FormikField\n                    className={cx('field')}\n                    name={FieldsEnum.dataSource}\n                    error={formik.errors[FieldsEnum.dataSource]}\n                    label={t('statistics.filters.fields.data-source.label')}\n                    meta={formik.getFieldMeta(FieldsEnum.dataSource)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DataSourceDropdown\n                            selectedValue={formik.values[FieldsEnum.dataSource]}\n                            placeholder={t('statistics.filters.fields.data-source.placeholder')}\n                            onSelect={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--from-country-code')}\n                        name={FieldsEnum.fromCountryCode}\n                        error={formik.errors[FieldsEnum.fromCountryCode]}\n                        label={t('statistics.filters.fields.from-country-code.label')}\n                        meta={formik.getFieldMeta(FieldsEnum.fromCountryCode)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryDropdown\n                                placeholder={t('statistics.filters.fields.from-country-code.placeholder')}\n                                value={formik.values[FieldsEnum.fromCountryCode]}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                onReset={() => {\n                                    props.onChange(null);\n                                }}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--to-country-code')}\n                        name={FieldsEnum.toCountryCode}\n                        error={formik.errors[FieldsEnum.toCountryCode]}\n                        label={t('statistics.filters.fields.to-country-code.label')}\n                        meta={formik.getFieldMeta(FieldsEnum.toCountryCode)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryDropdown\n                                placeholder={t('statistics.filters.fields.to-country-code.placeholder')}\n                                value={formik.values[FieldsEnum.toCountryCode]}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                onReset={() => {\n                                    props.onChange(null);\n                                }}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--from-zip-code')}\n                        name={FieldsEnum.fromZipCode}\n                        label={t('statistics.filters.fields.from-zip-code.label')}\n                        error={formik.errors[FieldsEnum.fromZipCode]}\n                        meta={formik.getFieldMeta(FieldsEnum.fromZipCode)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.fromZipCode}\n                                value={formik.values[FieldsEnum.fromZipCode]}\n                                placeholder={t('statistics.filters.fields.from-zip-code.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--to-zip-code')}\n                        name={FieldsEnum.toZipCode}\n                        label={t('statistics.filters.fields.to-zip-code.label')}\n                        error={formik.errors[FieldsEnum.toZipCode]}\n                        meta={formik.getFieldMeta(FieldsEnum.toZipCode)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.toZipCode}\n                                value={formik.values[FieldsEnum.toZipCode]}\n                                placeholder={t('statistics.filters.fields.to-zip-code.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--shipper')}\n                        name={FieldsEnum.shipperId}\n                        error={formik.errors[FieldsEnum.shipperId]}\n                        meta={formik.getFieldMeta(FieldsEnum.shipperId)}\n                        label={t('statistics.filters.fields.shipper.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <ShipperSuggest\n                                value={formik.values[FieldsEnum.shipperId]}\n                                initialValue={initialValues[FieldsEnum.shipperId]}\n                                initialLabel={initialValues[FieldsEnum.shipperName] || ''}\n                                hasClearControl\n                                isDisabled={isDisableSelectCompanies}\n                                onSelect={(shipperId, shipperName) => {\n                                    formik.setFieldValue(FieldsEnum.shipperId, shipperId);\n                                    formik.setFieldValue(FieldsEnum.shipperName, shipperName);\n                                }}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                placeholder={t('statistics.filters.fields.shipper.placeholder')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--carrier')}\n                        name={FieldsEnum.carrierId}\n                        error={formik.errors[FieldsEnum.carrierId]}\n                        meta={formik.getFieldMeta(FieldsEnum.carrierId)}\n                        label={t('statistics.filters.fields.carrier.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CarrierDropdown\n                                value={formik.values[FieldsEnum.carrierId]}\n                                initialValue={initialValues[FieldsEnum.carrierId]}\n                                initialLabel={initialValues[FieldsEnum.carrierName] || ''}\n                                hasClearControl\n                                isDisabled={isDisableSelectCompanies}\n                                onSelect={(carrierId, carrierName) => {\n                                    formik.setFieldValue(FieldsEnum.carrierId, carrierId);\n                                    formik.setFieldValue(FieldsEnum.carrierName, carrierName);\n                                }}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                placeholder={t('statistics.filters.fields.carrier.placeholder')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n            </SideBarLayout>\n            <FooterSideBarLayout hasPaddings>\n                <div className={cx('selected-filters')}>\n                    <SelectedFilters queryFilters={initialQueryFilters} setQueryFilters={setInitialQueryFilters} />\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('statistics.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default StatisticFiltersSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"AssignmentForm__form___yLEd6\",\"receipt\":\"AssignmentForm__receipt___w2atu\",\"actions\":\"AssignmentForm__actions___Gj0g1\",\"action\":\"AssignmentForm__action___C26G2\",\"action--cancel\":\"AssignmentForm__action--cancel___mmCuW\",\"action--assign\":\"AssignmentForm__action--assign____hFkA\",\"tout-type-tabs\":\"AssignmentForm__tout-type-tabs___p1fJG\",\"asset-type-tabs\":\"AssignmentForm__asset-type-tabs___F3RLW\",\"table--utilization\":\"AssignmentForm__table--utilization___RsQoG\",\"self-cost-prediction\":\"AssignmentForm__self-cost-prediction___VF0qh\",\"self-cost-prediction__overlay\":\"AssignmentForm__self-cost-prediction__overlay___zhji4\",\"self-cost-prediction__loader\":\"AssignmentForm__self-cost-prediction__loader___QiCKF\",\"option\":\"AssignmentForm__option___p6yZy\",\"fadeIn\":\"AssignmentForm__fadeIn___IT_F1\",\"blinking\":\"AssignmentForm__blinking___ZjFw9\"};","// extracted by mini-css-extract-plugin\nexport default {\"time-interval\":\"FerryOnboardPointPicker__time-interval___fWyJs\",\"fadeIn\":\"FerryOnboardPointPicker__fadeIn___Qw6FC\",\"blinking\":\"FerryOnboardPointPicker__blinking___Q_PDF\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst UrgentIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill={fillColor} d=\"M6.25 2.5v8.25H8.5v6.75l5.25-9h-3l3-6z\" />\n            </g>\n        </svg>\n    );\n};\n\nUrgentIcon.displayName = 'UrgentIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.squash,\n};\n\nexport { storyProps };\nexport default UrgentIcon;\n\nexport const UrgentIconProps = {\n    getCreateOrder: (): PropsT => {\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor: StyleGuideColorsEnum.orange,\n        };\n    },\n};\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TrailerActionHistory.scss';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\nimport { isNonNil } from 'common/utils';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    createdDate?: string;\n    createdByName?: string;\n    createdById?: UserIdT;\n    createdByBroker?: boolean;\n\n    modifiedDate?: string;\n    modifiedByName?: string;\n    modifiedById?: UserIdT;\n    modifiedByBroker?: boolean;\n\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst TrailerActionHistory: React.FC<PropsT> = (props) => {\n    const {\n        createdDate,\n        createdByName,\n        createdById,\n        createdByBroker,\n        modifiedDate,\n        modifiedByName,\n        modifiedById,\n        modifiedByBroker,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const creationDetailRows: Array<InfoTableRowT> = [\n        createdDate\n            ? {\n                  icon: null,\n                  name: t('common:trailers-page.columns.create-date'),\n                  rightNode: createdDate ? <DateFormatter date={createdDate} format=\"DD MMM YYYY, HH:mm\" /> : null,\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'create-date',\n                  hasBottomBorder: true,\n              }\n            : null,\n        createdDate\n            ? {\n                  icon: null,\n                  name: t('common:trailers-page.columns.created-by'),\n                  rightNode: (\n                      <UserLinkFormatter\n                          fullName={createdByName}\n                          userId={createdById}\n                          byBroker={createdByBroker}\n                          onOpenUserDetails={onOpenUserDetails}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'created-by',\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const modifyDetailRows: Array<InfoTableRowT> = [\n        modifiedDate\n            ? {\n                  icon: null,\n                  name: t('common:trailers-page.columns.last-modify-date'),\n                  rightNode: modifiedDate ? <DateFormatter date={modifiedDate} format=\"DD MMM YYYY, HH:mm\" /> : null,\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'modify-date',\n                  hasBottomBorder: true,\n              }\n            : null,\n        modifiedDate\n            ? {\n                  icon: null,\n                  name: t('common:trailers-page.columns.last-modify-by'),\n                  rightNode: (\n                      <UserLinkFormatter\n                          fullName={modifiedByName}\n                          userId={modifiedById}\n                          byBroker={modifiedByBroker}\n                          onOpenUserDetails={onOpenUserDetails}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'modified-by',\n              }\n            : null,\n    ].filter(isNonNil);\n\n    return (\n        <>\n            <InfoTable className={cx('table')} rows={creationDetailRows} testSelector=\"creation-details\" />\n            <InfoTable className={cx('table')} rows={modifyDetailRows} testSelector=\"modify-details\" />\n        </>\n    );\n};\n\nexport default TrailerActionHistory;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TimeWindowZoneText.scss';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { RangeSelectorRangeT } from 'common/components/RangeSelector/models';\nimport { useTranslation } from 'react-i18next';\nimport StopWarningIcon from 'common/icons/StopWarningIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    currentRanges: RangeSelectorRangeT[];\n};\n\nconst TimeWindowZoneText: React.FC<PropsT> = React.memo((props) => {\n    const { currentRanges } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.topLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black}>\n                    <div className={cx('content')}>\n                        <div className={cx('content__left-icon')}>\n                            <StopWarningIcon opacity={0.7} fillColor={StyleGuideColorsEnum.orange} />\n                        </div>\n                        <div className={cx('content__content')}>\n                            {currentRanges?.map((range, rangeIndex) => {\n                                return (\n                                    <div key={rangeIndex} className={cx('text')}>\n                                        {range.label}\n                                    </div>\n                                );\n                            })}\n                        </div>\n                    </div>\n                </TooltipContent>\n            }\n        >\n            {() => (\n                <span className={cx('zone-title')} data-test-selector=\"zone-text\">\n                    {t('broker-order-route-edit.time-window-ranges.surcharge')}\n                </span>\n            )}\n        </Tooltip>\n    );\n});\n\nexport default TimeWindowZoneText;\n","// extracted by mini-css-extract-plugin\nexport default {\"action--start\":\"StartSelectBidFooterContent__action--start___VTXwR\",\"fadeIn\":\"StartSelectBidFooterContent__fadeIn___WPh4d\",\"blinking\":\"StartSelectBidFooterContent__blinking___DnVUw\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipmentDetailsCard.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport Card from 'design-system/components/Card/Card';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { formatTimeInterval } from 'common/utils/time';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport ShipmentStatusPill from 'common/components/status-pill/ShipmentStatusPill/ShipmentStatusPill';\nimport CargoUnitIcon from 'common/icons/CargoUnitIcon';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { getLoadUnitType } from 'common/utils/units';\nimport WeightIcon from 'common/icons/WeightIcon';\nimport SnowflakeIcon from 'common/icons/SnowflakeIcon';\nimport TemperatureModeFormatter from 'design-system/components/InfoTable/formatters/TemperatureModeFormatter/TemperatureModeFormatter';\nimport CommentIcon from 'common/icons/CommentIcon';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport ChangeShipmentStatusFooter from 'broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/ChangeShipmentStatusFooter';\nimport { hideLoaderStatusSet } from 'broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/constants';\nimport {\n    ApiBrokerTourWaypointT,\n    ApiShipmentDetailsT,\n    ApiShipmentAttachedPaperTypeT,\n    PartnerTypeEnum,\n} from 'common/utils/api/models';\nimport AttentionTextFormatter from 'design-system/components/InfoTable/formatters/AttentionTextFormatter/AttentionTextFormatter';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport { checkBrokerAppointmentStatus } from 'common/utils/broker-appointment';\nimport ShipmentWarningPill from 'common/components/status-pill/ShipmentWarningPill/ShipmentWarningPill';\nimport { getShipmentAnchor } from './utils';\nimport DetailsOrPapersTabs from 'common/components/entity-details/DetailsOrPapersTabs/DetailsOrPapersTabs';\nimport { ShipmentPapersTabContent } from 'common/components/entity-details/ShipmentPapersTabContent/ShipmentPapersTabContent';\nimport { ShipmentPaperAttachPapersDropdownControl } from 'common/components/papers/ShipmentPaperAttachPapersDropdownControl/ShipmentPaperAttachPapersDropdownControl';\nimport { logWarning } from 'common/utils/logger';\nimport { useSelector } from 'react-redux';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { selectShipmentChangesById } from 'common/store/papers-edit/selectors';\nimport { useRenderPapersTabCount } from 'common/components/papers/hooks/use-render-papers-tab-count';\nimport HighlightedEntityContext from 'common/components/status-machine/contexts/HighlightedEntityContext';\n\nexport type PropsT = {\n    shipmentNumber: number;\n    waypointById: Record<WaypointIdT, ApiBrokerTourWaypointT>;\n    shipment: ApiShipmentDetailsT | null | undefined;\n    keyboardShortcut?: string;\n    className?: string;\n    isReeferTrailer?: boolean;\n    tourId: TourIdT | null;\n    onAttachTourPapers: (tourId: TourIdT) => void;\n    shouldConfirmForCancelLastShipment: boolean;\n    onAttachShipmentPaper: (\n        shipmentId: ShipmentIdT,\n        paperType: ApiShipmentAttachedPaperTypeT,\n        comment?: string,\n    ) => void;\n    getShipmentPaperThumbnailUrl: (shipmentId: ShipmentIdT | null, paperId: PaperIdT | null) => string | null;\n    onOpenGalleryShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onDownloadShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onDeleteShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onOpenUserDetails: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ShipmentDetailsCard: React.FC<PropsT> = React.memo((props) => {\n    const {\n        shipmentNumber,\n        isReeferTrailer,\n        waypointById,\n        shipment,\n        className,\n        keyboardShortcut,\n        tourId,\n        onAttachTourPapers,\n        shouldConfirmForCancelLastShipment,\n        onAttachShipmentPaper,\n        getShipmentPaperThumbnailUrl,\n        onOpenGalleryShipmentPaper,\n        onDownloadShipmentPaper,\n        onDeleteShipmentPaper,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n    const { highlightedEntityId } = React.useContext(HighlightedEntityContext);\n\n    const permissions = useSelector(selectPermissions);\n\n    const shipmentId = shipment?.id || null;\n    const shipmentChanges = useSelector(selectShipmentChangesById(shipmentId));\n\n    const handleAttachNew = React.useCallback(\n        (paperType: ApiShipmentAttachedPaperTypeT) => {\n            if (!shipmentId) {\n                logWarning('failed to attach paper, empty shipmentId');\n                return;\n            }\n\n            onAttachShipmentPaper(shipmentId, paperType);\n        },\n        [shipmentId, onAttachShipmentPaper],\n    );\n\n    const idDetails: Array<InfoTableRowT> = [\n        {\n            icon: null,\n            name: t('broker-order-details.shipment-details.columns.tour-number'),\n            value: shipment?.number,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n    ];\n\n    const poDetails: Array<InfoTableRowT> = [\n        {\n            icon: null,\n            name: t('common:order-details.columns.po-number'),\n            value: shipment?.purchaseOrderNumber,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'po-number',\n        },\n    ];\n\n    const brokerWindowAppointmentWarning = (\n        <Tooltip\n            position={TooltipPositionEnum.topLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                    {t('broker-orders.details.broke-window-appointment-warning')}\n                </TooltipContent>\n            }\n        >\n            {(isShow, childrenClassName) => (\n                <TimeWindowIcon\n                    className={childrenClassName}\n                    fillColor={StyleGuideColorsEnum.transparent}\n                    strokeColor={StyleGuideColorsEnum.orange}\n                />\n            )}\n        </Tooltip>\n    );\n\n    const pickupWaypoint = waypointById?.[shipment?.pickupPointId as RoutePointIdT] || null;\n\n    const pickupBrokerAppointmentStatus = checkBrokerAppointmentStatus({\n        shouldBrokerWindowAppointment: pickupWaypoint?.appointmentByBroker,\n        originalDateTimeFrom: pickupWaypoint?.originalDateTimeFrom,\n        originalDateTimeTo: pickupWaypoint?.originalDateTimeTo,\n        correctedDateTimeFrom: pickupWaypoint?.correctedDateTimeFrom,\n        correctedDateTimeTo: pickupWaypoint?.correctedDateTimeTo,\n    });\n\n    const originPointDetails: Array<InfoTableRowT> = [\n        {\n            icon: <NumberIcon number={(pickupWaypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n            name: t('broker-order-details.point-details.by-type.pickup'),\n            value: <LocationLabel format=\"s1_s2_zip_city_country\" location={pickupWaypoint?.address} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            rows: [\n                ...(pickupBrokerAppointmentStatus?.shouldShowCorrectedDateTime\n                    ? [\n                          {\n                              icon: null,\n                              name: t('broker-order-details.point-details.columns.original-time-slot'),\n                              value: formatTimeInterval(\n                                  pickupWaypoint?.originalDateTimeFrom,\n                                  pickupWaypoint?.originalDateTimeTo,\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                          {\n                              icon: pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment\n                                  ? brokerWindowAppointmentWarning\n                                  : null,\n                              name: (\n                                  <AttentionTextFormatter\n                                      isActive={pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {t('broker-order-details.point-details.columns.corrected-time-slot')},\n                                  </AttentionTextFormatter>\n                              ),\n                              value: (\n                                  <AttentionTextFormatter\n                                      isActive={pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {formatTimeInterval(\n                                          pickupWaypoint?.correctedDateTimeFrom,\n                                          pickupWaypoint?.correctedDateTimeTo,\n                                      )}\n                                  </AttentionTextFormatter>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                      ]\n                    : [\n                          {\n                              icon: pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment\n                                  ? brokerWindowAppointmentWarning\n                                  : null,\n                              name: (\n                                  <AttentionTextFormatter\n                                      isActive={pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {t('broker-order-details.point-details.columns.time-slot')},\n                                  </AttentionTextFormatter>\n                              ),\n                              value: (\n                                  <AttentionTextFormatter\n                                      isActive={pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {formatTimeInterval(\n                                          pickupWaypoint?.correctedDateTimeFrom || pickupWaypoint?.originalDateTimeFrom,\n                                          pickupWaypoint?.correctedDateTimeTo || pickupWaypoint?.originalDateTimeTo,\n                                      )}\n                                  </AttentionTextFormatter>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                      ]),\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.company-name'),\n                    value: pickupWaypoint?.contact?.companyName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-company-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-name'),\n                    value: pickupWaypoint?.contact?.fullName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-phone'),\n                    value: pickupWaypoint?.contact?.phone,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-email'),\n                    value: pickupWaypoint?.contact?.email,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.reference-number'),\n                    value: 'TODO',\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.comments'),\n                    value: pickupWaypoint?.contact?.comment,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                },\n            ],\n        },\n    ];\n\n    const dropOffWaypoint = waypointById?.[shipment?.dropOffPointId as RoutePointIdT] || null;\n\n    const dropOffBrokerAppointmentStatus = checkBrokerAppointmentStatus({\n        shouldBrokerWindowAppointment: dropOffWaypoint?.appointmentByBroker,\n        originalDateTimeFrom: dropOffWaypoint?.originalDateTimeFrom,\n        originalDateTimeTo: dropOffWaypoint?.originalDateTimeTo,\n        correctedDateTimeFrom: dropOffWaypoint?.correctedDateTimeFrom,\n        correctedDateTimeTo: dropOffWaypoint?.correctedDateTimeTo,\n    });\n\n    const destinationPointDetails: Array<InfoTableRowT> = [\n        {\n            icon: <NumberIcon number={(dropOffWaypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n            name: t('broker-order-details.point-details.by-type.delivery'),\n            value: <LocationLabel format=\"s1_s2_zip_city_country\" location={dropOffWaypoint?.address} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            rows: [\n                ...(dropOffBrokerAppointmentStatus.shouldShowCorrectedDateTime\n                    ? [\n                          {\n                              icon: null,\n                              name: t('broker-order-details.point-details.columns.original-time-slot'),\n                              value: formatTimeInterval(\n                                  dropOffWaypoint?.originalDateTimeFrom,\n                                  dropOffWaypoint?.originalDateTimeTo,\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                          {\n                              icon: dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment\n                                  ? brokerWindowAppointmentWarning\n                                  : null,\n                              name: (\n                                  <AttentionTextFormatter\n                                      isActive={dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {t('broker-order-details.point-details.columns.corrected-time-slot')}\n                                  </AttentionTextFormatter>\n                              ),\n                              value: (\n                                  <AttentionTextFormatter\n                                      isActive={dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {formatTimeInterval(\n                                          dropOffWaypoint?.correctedDateTimeFrom,\n                                          dropOffWaypoint?.correctedDateTimeTo,\n                                      )}\n                                  </AttentionTextFormatter>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                      ]\n                    : [\n                          {\n                              icon: dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment\n                                  ? brokerWindowAppointmentWarning\n                                  : null,\n                              name: (\n                                  <AttentionTextFormatter\n                                      isActive={dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {t('broker-order-details.point-details.columns.time-slot')}\n                                  </AttentionTextFormatter>\n                              ),\n                              value: (\n                                  <AttentionTextFormatter\n                                      isActive={dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {formatTimeInterval(\n                                          dropOffWaypoint?.correctedDateTimeFrom ||\n                                              dropOffWaypoint?.originalDateTimeFrom,\n                                          dropOffWaypoint?.correctedDateTimeTo || dropOffWaypoint?.originalDateTimeTo,\n                                      )}\n                                  </AttentionTextFormatter>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                      ]),\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.company-name'),\n                    value: dropOffWaypoint?.contact?.companyName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-company-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-name'),\n                    value: dropOffWaypoint?.contact?.fullName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-phone'),\n                    value: dropOffWaypoint?.contact?.phone,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-email'),\n                    value: dropOffWaypoint?.contact?.email,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.reference-number'),\n                    value: 'TODO',\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.comments'),\n                    value: dropOffWaypoint?.contact?.comment,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                },\n            ],\n        },\n    ];\n\n    const shipmentDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <CargoUnitIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.light}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                />\n            ),\n            name: t('common:order-details.columns.load-units'),\n            value: <UnitTypeCount type={getLoadUnitType(shipment?.unitsType)} count={shipment?.maxNumberOfUnits} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n        {\n            icon: <WeightIcon fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:order-details.columns.cargo-weight'),\n            value: <UnitTypeCount count={shipment?.weight} type={UnitTypeEnum.kilogramsAbbreviation} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n        isReeferTrailer\n            ? {\n                  icon: <SnowflakeIcon fillColor={StyleGuideColorsEnum.gray} />,\n                  name: t('common:order-details.columns.temperature'),\n                  value: (\n                      <TemperatureModeFormatter\n                          lowestTemperature={shipment?.lowestTemperature}\n                          highestTemperature={shipment?.highestTemperature}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n              }\n            : null,\n        {\n            icon: <CommentIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:order-details.columns.description'),\n            value: shipment?.description,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n    ];\n\n    const papersBadge = useRenderPapersTabCount({\n        optimisticPapers: shipmentChanges?.optimisticPapers,\n        entityPapers: shipment?.attachedPapers,\n    });\n\n    return (\n        <>\n            <Card\n                keyboardShortcut={keyboardShortcut}\n                titleNode={t('broker-order-details.shipment-details.title', {\n                    number: shipmentNumber,\n                })}\n                rightNode={\n                    <>\n                        <ShipmentWarningPill isSymmetrical warning={shipment?.warning} />\n                        <ShipmentStatusPill isSymmetrical status={shipment?.status} />\n                    </>\n                }\n                className={className}\n                hasHeaderBottomBorder\n                footerNode={\n                    permissions?.canChangeShipmentStatusOnBrokerTour ? (\n                        <ChangeShipmentStatusFooter\n                            isShowLoading={!!shipment && !hideLoaderStatusSet.has(shipment?.status)}\n                            shipmentId={shipment?.id || null}\n                            shipment={shipment}\n                            tourId={tourId}\n                            onAttachTourPapers={onAttachTourPapers}\n                            shouldConfirmForCancelLastShipment={shouldConfirmForCancelLastShipment}\n                        />\n                    ) : null\n                }\n                anchor={getShipmentAnchor(shipment?.id || null)}\n                isHighlighted={highlightedEntityId === shipment?.id}\n            >\n                <div>\n                    <DetailsOrPapersTabs\n                        papersBadge={papersBadge}\n                        papersTabRightNode={<ShipmentPaperAttachPapersDropdownControl onAttachNew={handleAttachNew} />}\n                    >\n                        <div className={cx('content')}>\n                            <InfoTable shouldRenderIcons rows={idDetails} className={cx('table', 'table--id')} />\n                            <InfoTable shouldRenderIcons rows={poDetails} className={cx('table', 'table--po')} />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={originPointDetails}\n                                className={cx('table', 'table--point')}\n                            />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={destinationPointDetails}\n                                className={cx('table', 'table--point')}\n                            />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={shipmentDetails}\n                                className={cx('table', 'table--shipment')}\n                            />\n                        </div>\n                        <ShipmentPapersTabContent\n                            attachedPapers={shipment?.attachedPapers || null}\n                            shipmentId={shipmentId}\n                            onOpenUserDetails={onOpenUserDetails}\n                            getShipmentPaperThumbnailUrl={getShipmentPaperThumbnailUrl}\n                            onOpenGalleryShipmentPaper={onOpenGalleryShipmentPaper}\n                            onDownloadShipmentPaper={onDownloadShipmentPaper}\n                            onDeleteShipmentPaper={onDeleteShipmentPaper}\n                            onAttachShipmentPaper={onAttachShipmentPaper}\n                        />\n                    </DetailsOrPapersTabs>\n                </div>\n            </Card>\n        </>\n    );\n});\n\nexport default ShipmentDetailsCard;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EditTrailerSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport TrailerDetailsForm from './TrailerDetailsForm/TrailerDetailsForm';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAddTrailerRequestStatus,\n    selectTrailersDetailsByIds,\n    selectUpdateTrailersRequestStatus,\n} from 'common/store/trailers/selectors';\nimport { addTrailerRequest, updateTrailer } from 'common/store/trailers/actions';\nimport { FormValuesT as DetailsFormValuesT } from './TrailerDetailsForm/constants';\nimport { prepareApiCreateTrailer, prepareApiModifyTrailer } from './prepare-api-trailer';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { logWarning } from 'common/utils/logger';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    trailerId: TrailerIdT | null;\n    onGoBack?: () => void;\n    onClose?: () => void;\n    onCancel: () => void;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst EditTrailerSidebarContent: React.FC<PropsT> = (props) => {\n    const {\n        onGoBack,\n        partnerId,\n        trailerId,\n        onClose,\n        onCancel,\n        setNeedCloseConfirmation,\n        onOpenTruckDetails,\n        onOpenTrailerDetails,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const updateRequestStatus = useSelector(selectUpdateTrailersRequestStatus(partnerId));\n    const addRequestStatus = useSelector(selectAddTrailerRequestStatus(partnerId));\n\n    const detailsById = useSelector(selectTrailersDetailsByIds(partnerId));\n    const trailerDetails = detailsById[trailerId as string];\n\n    const isNewTrailer = !trailerId;\n\n    const handleSubmit = (detailsFormValues: DetailsFormValuesT) => {\n        if (isNewTrailer) {\n            const request = prepareApiCreateTrailer(detailsFormValues);\n            if (!request) {\n                logWarning('failed to create trailer, empty request');\n                return;\n            }\n\n            dispatch(addTrailerRequest(request, partnerId));\n        } else if (trailerId) {\n            const request = prepareApiModifyTrailer(trailerId, detailsFormValues);\n            dispatch(updateTrailer(trailerId, request, partnerId));\n        }\n    };\n\n    const title = isNewTrailer\n        ? t('common:trailers-page.add-trailer.title')\n        : t('common:trailers-page.edit-trailer.title', {\n              plateNumber: trailerDetails?.plateNumber || '',\n          });\n\n    return (\n        <>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent onGoBack={onGoBack} title={title} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <TrailerDetailsForm\n                    partnerId={partnerId}\n                    isLoading={updateRequestStatus.loading || addRequestStatus.loading}\n                    isNewTrailer={isNewTrailer}\n                    trailerDetails={trailerDetails}\n                    onSubmit={handleSubmit}\n                    onCancel={onCancel}\n                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                    onOpenTruckDetails={onOpenTruckDetails}\n                    onOpenTrailerDetails={onOpenTrailerDetails}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            </SideBarLayout>\n        </>\n    );\n};\n\nexport default EditTrailerSidebarContent;\n","import { SharableStateT } from 'common/store/models';\nimport { DictCarrierAdditionalServiceTrailerTypeT } from 'common/store/additional-services-dict/models';\nimport { ANY_TRAILER_TYPE } from 'common/store/additional-services-dict/constants';\n\nexport const selectAdditionalServicesGroupsByTrailerType =\n    (trailerType: DictCarrierAdditionalServiceTrailerTypeT | null) => (state: SharableStateT) => {\n        if (!trailerType || !state.additionalServicesDict.byTrailerType) {\n            return null;\n        }\n\n        return (\n            state.additionalServicesDict.byTrailerType[trailerType] ||\n            state.additionalServicesDict.byTrailerType[ANY_TRAILER_TYPE] ||\n            null\n        );\n    };\n\nexport const selectAdditionalServicesMap =\n    (trailerType: DictCarrierAdditionalServiceTrailerTypeT | null) => (state: SharableStateT) => {\n        if (!trailerType || !state.additionalServicesDict.mapByTrailerType) {\n            return null;\n        }\n\n        return (\n            state.additionalServicesDict.mapByTrailerType[trailerType] ||\n            state.additionalServicesDict.mapByTrailerType[ANY_TRAILER_TYPE] ||\n            null\n        );\n    };\n\nexport const selectAdditionalServicesDictStatus = (state: SharableStateT) => {\n    return state.additionalServicesDict.fetchRequest;\n};\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { PartnersStatsT } from './models';\n\nexport const FETCH_PARTNERS_STATS_REQUEST = 'broker-admin/partners-stats/FETCH_PARTNERS_STATS_REQUEST';\nexport const FETCH_PARTNERS_STATS_REQUEST_BEGIN = 'broker-admin/partners-stats/FETCH_PARTNERS_STATS_REQUEST_BEGIN';\nexport const FETCH_PARTNERS_STATS_REQUEST_ERROR = 'broker-admin/partners-stats/FETCH_PARTNERS_STATS_REQUEST_ERROR';\nexport const FETCH_PARTNERS_STATS_REQUEST_SUCCESS = 'broker-admin/partners-stats/FETCH_PARTNERS_STATS_REQUEST_SUCCESS';\n\nexport type PartnersStatsStateT = {\n    stats: PartnersStatsT | null;\n    fetchRequest: RequestStatusT;\n};\n\nexport type FetchPartnersStatsActionT = {\n    type: typeof FETCH_PARTNERS_STATS_REQUEST;\n    options?: FetchOptionsT;\n};\n\nexport type FetchPartnersStatsBeginActionT = {\n    type: typeof FETCH_PARTNERS_STATS_REQUEST_BEGIN;\n};\n\nexport type FetchPartnersStatsSuccessActionT = {\n    type: typeof FETCH_PARTNERS_STATS_REQUEST_SUCCESS;\n    stats: PartnersStatsT;\n};\n\nexport type FetchPartnersStatsErrorActionT = {\n    type: typeof FETCH_PARTNERS_STATS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type PartnersStatsActionT =\n    | FetchPartnersStatsActionT\n    | FetchPartnersStatsBeginActionT\n    | FetchPartnersStatsSuccessActionT\n    | FetchPartnersStatsErrorActionT;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './NameCell.scss';\nimport AdditionalServiceLabel from 'common/components/AdditionalServiceLabel/AdditionalServiceLabel';\nimport { ServiceTableRowT } from 'broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/models';\nimport AdditionalServiceGroupLabel from 'broker-admin/components/AdditionalServiceGroupLabel/AdditionalServiceGroupLabel';\n\ntype PropsT = {\n    row: ServiceTableRowT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst NameCell: React.FC<PropsT> = React.memo((props) => {\n    const { row } = props;\n\n    return (\n        <div className={cx('cell')}>\n            <div className={cx('name')}>\n                <AdditionalServiceLabel type={row.service.service} />\n            </div>\n            <div className={cx('group')}>\n                <AdditionalServiceGroupLabel category={row.category} trailerType={row.trailerType || null} />\n            </div>\n        </div>\n    );\n});\n\nexport default NameCell;\n","import isNumber from 'lodash/isNumber';\n\nexport type AssignmentVehiclesSuggestItemT = Api2.Definitions.CarrierAssetForAssignment;\n\nexport type LinksT = {\n    byTruckId: Record<TruckIdT, TrailerIdT>;\n    byTrailerId: Record<TrailerIdT, TruckIdT>;\n};\n\nexport type TrailerAssignmentInfoT = Omit<\n    NonNullable<Api2.Definitions.CarrierAssetForAssignment['trailer']>,\n    'latitude' | 'longitude'\n> & {\n    arrivalDate?: string;\n    currentPoint: {\n        latitude: number;\n        longitude: number;\n    } | null;\n    futurePoint: {\n        latitude: number;\n        longitude: number;\n    } | null;\n};\n\nexport type TruckAssignmentInfoT = Omit<\n    NonNullable<Api2.Definitions.CarrierAssetForAssignment['truck']>,\n    'latitude' | 'longitude'\n> & {\n    arrivalDate?: string;\n    currentPoint: {\n        latitude: number;\n        longitude: number;\n    } | null;\n    futurePoint: {\n        latitude: number;\n        longitude: number;\n    } | null;\n};\n\nexport const getAssignmentVehicleLinks = (vehicles: AssignmentVehiclesSuggestItemT[]): LinksT => {\n    return vehicles.reduce<LinksT>(\n        (acc, vehicle) => {\n            const truckId = vehicle?.truck?.id;\n            const trailerId = vehicle?.trailer?.id;\n            if (!truckId || !trailerId) {\n                return acc;\n            }\n\n            return {\n                byTruckId: {\n                    ...acc.byTruckId,\n                    [truckId]: trailerId,\n                },\n                byTrailerId: {\n                    ...acc.byTrailerId,\n                    [trailerId]: truckId,\n                },\n            };\n        },\n        {\n            byTruckId: {},\n            byTrailerId: {},\n        },\n    );\n};\n\nexport const getTrailerById = (\n    vehicles: AssignmentVehiclesSuggestItemT[],\n): Record<TrailerIdT, TrailerAssignmentInfoT> => {\n    return vehicles.reduce<Record<TrailerIdT, TrailerAssignmentInfoT>>((acc, vehicle) => {\n        const { trailer, expectedLatitude, expectedLongitude, expectedArrivalDate } = vehicle;\n\n        if (!trailer?.id) {\n            return acc;\n        }\n\n        const { currentLatitude, currentLongitude, ...restTrailer } = trailer;\n\n        const futurePoint =\n            isNumber(expectedLatitude) && isNumber(expectedLongitude)\n                ? {\n                      latitude: expectedLatitude,\n                      longitude: expectedLongitude,\n                  }\n                : null;\n\n        const currentPoint =\n            isNumber(currentLatitude) && isNumber(currentLongitude)\n                ? {\n                      latitude: currentLatitude,\n                      longitude: currentLongitude,\n                  }\n                : null;\n\n        return {\n            ...acc,\n            [trailer.id]: {\n                ...restTrailer,\n                arrivalDate: expectedArrivalDate,\n                currentPoint,\n                futurePoint,\n            },\n        };\n    }, {});\n};\n\nexport const getTruckById = (vehicles: AssignmentVehiclesSuggestItemT[]): Record<TruckIdT, TruckAssignmentInfoT> => {\n    return vehicles.reduce<Record<TruckIdT, TruckAssignmentInfoT>>((acc, vehicle) => {\n        const { truck, expectedLatitude, expectedLongitude, expectedArrivalDate } = vehicle;\n\n        if (!truck?.id) {\n            return acc;\n        }\n\n        const { currentLatitude, currentLongitude, ...restTruck } = truck;\n\n        const futurePoint =\n            isNumber(expectedLatitude) && isNumber(expectedLongitude)\n                ? {\n                      latitude: expectedLatitude,\n                      longitude: expectedLongitude,\n                  }\n                : null;\n\n        const currentPoint =\n            isNumber(currentLatitude) && isNumber(currentLongitude)\n                ? {\n                      latitude: currentLatitude,\n                      longitude: currentLongitude,\n                  }\n                : null;\n\n        return {\n            ...acc,\n            [truck.id]: {\n                ...restTruck,\n                arrivalDate: expectedArrivalDate,\n                currentPoint,\n                futurePoint,\n            },\n        };\n    }, {});\n};\n","import { BidsSortEnum } from '../constants';\nimport { SpotBidT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\n\ntype BidsSortT = (bidA: SpotBidT | null | undefined, bidB: SpotBidT | null | undefined) => number;\n\nconst sorters: Record<BidsSortEnum, BidsSortT> = {\n    [BidsSortEnum.date]: (bidA, bidB) => {\n        const bidDateA = bidA?.bidDate || '';\n        const bidDateB = bidB?.bidDate || '';\n\n        if (bidDateA === bidDateB) {\n            return 0;\n        }\n\n        if (bidDateB < bidDateA) {\n            return 1;\n        }\n\n        return -1;\n    },\n    [BidsSortEnum.price]: (bidA, bidB) => {\n        return (bidA?.bidPrice || 0) - (bidB?.bidPrice || 0);\n    },\n};\n\nexport const useBidsSort = (\n    sort: PageSortT<BidsSortEnum>,\n    bids: Array<SpotBidT | null | undefined>,\n): Array<SpotBidT | null | undefined> => {\n    const { value, direction } = sort;\n    if (!value) {\n        return bids;\n    }\n\n    const sorter = (bidA: SpotBidT | null | undefined, bidB: SpotBidT | null | undefined): number => {\n        const sortDirectiont = direction === SortDirectionEnum.ASC ? 1 : -1;\n        const sortResult = sorters[value](bidA, bidB);\n\n        return sortDirectiont * sortResult;\n    };\n\n    return bids.sort(sorter);\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AlertsSettingsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport prepareApiSystemSettings from './prepare-system-settings';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport withWidgetChangesDetector from 'common/components/SaveChangesNotification/withWidgetChangesDetector';\nimport { UnitTypeEnum } from 'common/constants';\nimport Widget from 'common/components/Widget/Widget';\nimport values from 'lodash/values';\nimport { getMaskByType } from '../utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { SystemSettingsFormCommonPropsT } from 'broker-admin/layouts/SettingsPage/SystemSettings/models';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\n\nconst cx = classNames.bind(styles);\n\ntype NumberFieldsT =\n    | FieldsEnum.transportationOrderHasNoDriverAlertTime\n    | FieldsEnum.assignDriverLimitAlert\n    | FieldsEnum.assignAssetLimitAlert\n    | FieldsEnum.transportationOrderHasNoAssetsAlertTime\n    | FieldsEnum.allowedGAPToBeDelayed\n    | FieldsEnum.deleteNotificationsOlderDays\n    | FieldsEnum.docExpiresSoonAlert\n    | FieldsEnum.radiusAroundWaypointM\n    | FieldsEnum.timeLimitToCancelOrderHours\n    | FieldsEnum.timeLimitToCancelTransportationOrderHours;\n\nconst UNIT_TYPE_MAP: Record<NumberFieldsT, UnitTypeEnum> = {\n    [FieldsEnum.transportationOrderHasNoDriverAlertTime]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.assignDriverLimitAlert]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.assignAssetLimitAlert]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.transportationOrderHasNoAssetsAlertTime]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.allowedGAPToBeDelayed]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.deleteNotificationsOlderDays]: UnitTypeEnum.days,\n    [FieldsEnum.docExpiresSoonAlert]: UnitTypeEnum.days,\n    [FieldsEnum.radiusAroundWaypointM]: UnitTypeEnum.metersAbbreviation,\n    [FieldsEnum.timeLimitToCancelOrderHours]: UnitTypeEnum.hoursAbbreviation,\n    [FieldsEnum.timeLimitToCancelTransportationOrderHours]: UnitTypeEnum.hoursAbbreviation,\n};\n\nconst STEP_MAP: Record<NumberFieldsT, number> = {\n    [FieldsEnum.transportationOrderHasNoDriverAlertTime]: 10,\n    [FieldsEnum.assignDriverLimitAlert]: 10,\n    [FieldsEnum.assignAssetLimitAlert]: 10,\n    [FieldsEnum.transportationOrderHasNoAssetsAlertTime]: 10,\n    [FieldsEnum.allowedGAPToBeDelayed]: 10,\n    [FieldsEnum.deleteNotificationsOlderDays]: 1,\n    [FieldsEnum.docExpiresSoonAlert]: 1,\n    [FieldsEnum.radiusAroundWaypointM]: 100,\n    [FieldsEnum.timeLimitToCancelOrderHours]: 1,\n    [FieldsEnum.timeLimitToCancelTransportationOrderHours]: 1,\n};\n\nconst FIELD_LABEL_T_MAP: Record<FieldsEnum, string> = {\n    [FieldsEnum.transportationOrderHasNoDriverAlertTime]: 'price-settings.alerts-form.fields.noDriverAlert.label',\n    [FieldsEnum.assignDriverLimitAlert]: 'price-settings.alerts-form.fields.assignDriverLimitAlert.label',\n    [FieldsEnum.assignAssetLimitAlert]: 'price-settings.alerts-form.fields.assignAssetLimitAlert.label',\n    [FieldsEnum.transportationOrderHasNoAssetsAlertTime]: 'price-settings.alerts-form.fields.noAssetAlert.label',\n    [FieldsEnum.allowedGAPToBeDelayed]: 'price-settings.alerts-form.fields.allowedGAPToBeDelayed.label',\n    [FieldsEnum.deleteNotificationsOlderDays]: 'price-settings.alerts-form.fields.deleteNotificationsOlderDays.label',\n    [FieldsEnum.docExpiresSoonAlert]: 'price-settings.alerts-form.fields.docExpiresSoonAlert.label',\n    [FieldsEnum.radiusAroundWaypointM]: 'price-settings.alerts-form.fields.radiusAroundWaypointM.label',\n    [FieldsEnum.timeLimitToCancelOrderHours]: 'price-settings.alerts-form.fields.timeLimitToCancelOrderHours.label',\n    [FieldsEnum.timeLimitToCancelTransportationOrderHours]:\n        'price-settings.alerts-form.fields.timeLimitToCancelTransportationOrderHours.label',\n};\n\nconst FIELD_DESCRIPTION_T_MAP: Record<FieldsEnum, string> = {\n    [FieldsEnum.transportationOrderHasNoDriverAlertTime]: 'price-settings.alerts-form.fields.noDriverAlert.description',\n    [FieldsEnum.assignDriverLimitAlert]: 'price-settings.alerts-form.fields.assignDriverLimitAlert.description',\n    [FieldsEnum.assignAssetLimitAlert]: 'price-settings.alerts-form.fields.assignAssetLimitAlert.description',\n    [FieldsEnum.transportationOrderHasNoAssetsAlertTime]: 'price-settings.alerts-form.fields.noAssetAlert.description',\n    [FieldsEnum.allowedGAPToBeDelayed]: 'price-settings.alerts-form.fields.allowedGAPToBeDelayed.description',\n    [FieldsEnum.deleteNotificationsOlderDays]:\n        'price-settings.alerts-form.fields.deleteNotificationsOlderDays.description',\n    [FieldsEnum.docExpiresSoonAlert]: 'price-settings.alerts-form.fields.docExpiresSoonAlert.description',\n    [FieldsEnum.radiusAroundWaypointM]: 'price-settings.alerts-form.fields.radiusAroundWaypointM.description',\n    [FieldsEnum.timeLimitToCancelOrderHours]:\n        'price-settings.alerts-form.fields.timeLimitToCancelOrderHours.description',\n    [FieldsEnum.timeLimitToCancelTransportationOrderHours]:\n        'price-settings.alerts-form.fields.timeLimitToCancelTransportationOrderHours.description',\n};\n\ntype PropsT = SystemSettingsFormCommonPropsT;\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst AlertsSettingsForm: React.FC<PropsT> = (props) => {\n    const { systemSettings, isLoading, title, onUpdate } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, { systemSettings });\n    }, [t, systemSettings]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(systemSettings);\n        const errors = validateForm(t, values, { systemSettings });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [systemSettings]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const apiSystemSettings = prepareApiSystemSettings(values);\n            onUpdate(apiSystemSettings);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErros = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErros,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErros, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const WidgetChangesDetector = withWidgetChangesDetector(formik.values, initialValues);\n\n    const renderNumberField = (name: NumberFieldsT): React.ReactNode => {\n        return (\n            <FormikField\n                className={cx('field')}\n                name={name}\n                error={formik.errors[name]}\n                meta={formik.getFieldMeta(name)}\n                label={t(FIELD_LABEL_T_MAP[name])}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                tooltipNode={\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={250}>\n                        {t(FIELD_DESCRIPTION_T_MAP[name])}\n                    </TooltipContent>\n                }\n            >\n                {(props) => (\n                    <NumberInput\n                        name={name}\n                        unitType={UNIT_TYPE_MAP[name]}\n                        mask={getMaskByType(UNIT_TYPE_MAP[name])}\n                        step={STEP_MAP[name]}\n                        value={formik.values[name]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        hasChanges={props.hasChanges}\n                    />\n                )}\n            </FormikField>\n        );\n    };\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <Widget className={cx('widget')} title={title} rightNode={<WidgetChangesDetector fields={ALL_FIELDS} />}>\n                <div className={cx('widget__inner')}>\n                    <FieldGroup>\n                        {renderNumberField(FieldsEnum.transportationOrderHasNoDriverAlertTime)}\n                        {renderNumberField(FieldsEnum.assignDriverLimitAlert)}\n                    </FieldGroup>\n                    <FieldGroup>\n                        {renderNumberField(FieldsEnum.transportationOrderHasNoAssetsAlertTime)}\n                        {renderNumberField(FieldsEnum.assignAssetLimitAlert)}\n                    </FieldGroup>\n                    <FieldGroup>\n                        {renderNumberField(FieldsEnum.allowedGAPToBeDelayed)}\n                        {renderNumberField(FieldsEnum.deleteNotificationsOlderDays)}\n                    </FieldGroup>\n                    <FieldGroup>\n                        {renderNumberField(FieldsEnum.docExpiresSoonAlert)}\n                        {renderNumberField(FieldsEnum.radiusAroundWaypointM)}\n                    </FieldGroup>\n                    <FieldGroup>\n                        {renderNumberField(FieldsEnum.timeLimitToCancelOrderHours)}\n                        {renderNumberField(FieldsEnum.timeLimitToCancelTransportationOrderHours)}\n                    </FieldGroup>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <HiddenSubmitButtonForKeyboardEnter />\n                </div>\n            </Widget>\n        </form>\n    );\n};\n\nexport default React.memo(AlertsSettingsForm) as typeof AlertsSettingsForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ReviewFooterContent__content___yuS8L\",\"action--reject\":\"ReviewFooterContent__action--reject___P4IIA\",\"action--approve\":\"ReviewFooterContent__action--approve___qBgiM\",\"actions\":\"ReviewFooterContent__actions___emvjc\",\"fadeIn\":\"ReviewFooterContent__fadeIn___Reg9V\",\"blinking\":\"ReviewFooterContent__blinking___Z17lY\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkEmail, checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.email, FieldsEnum.partnerType];\n\nconst EMAIL_FIELDS = [FieldsEnum.email];\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkEmail(t, EMAIL_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { put, select } from 'redux-saga/effects';\nimport { fetchLegalFormsDictBegin, fetchLegalFormsDictError, fetchLegalFormsDictSuccess } from './actions';\nimport { FetchLegalFormsDictActionT, LEGAL_FORMS_DICT_REQUEST } from './types';\nimport { selectLegalFormsDictRequest } from './selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { CountryCodeUnionT } from 'common/utils/api/models';\nimport { semaphoreSaga } from 'common/utils/semaphore-saga';\n\nfunction* fetchLegalFormsDictSaga(action: FetchLegalFormsDictActionT): WrapGeneratorT<void> {\n    const { countryCode } = action;\n\n    const currentRequest: ReReturnT<typeof selectLegalFormsDictRequest> = yield select(\n        selectLegalFormsDictRequest(countryCode),\n    );\n\n    if (currentRequest.ok || currentRequest.loading) {\n        return;\n    }\n\n    yield put(fetchLegalFormsDictBegin(countryCode));\n\n    const [error, countriesDict]: ReturnApiT<typeof commonTranziitApi.fetchCountryLegalForms> =\n        yield commonTranziitApi.fetchCountryLegalForms(countryCode as CountryCodeUnionT);\n    if (error) {\n        yield put(fetchLegalFormsDictError(countryCode, error));\n    }\n\n    yield put(fetchLegalFormsDictSuccess(countryCode, countriesDict || []));\n}\n\nfunction* countriesSaga(): WrapGeneratorT<void> {\n    yield semaphoreSaga(LEGAL_FORMS_DICT_REQUEST, fetchLegalFormsDictSaga);\n}\n\nexport default countriesSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerDriversPage__fadeIn___mA4XW\",\"blinking\":\"PartnerDriversPage__blinking___TuaSi\"};","import { SharableStateT } from '../models';\nimport {\n    initialShipperContractLaneDetailsItemState,\n    ShipperContractLaneDetailsItemStateT,\n    ShipperContractLaneDetailsStateT,\n} from './slice';\n\nexport const selectShipperContractLaneDetailsState = (shipperContractLaneId: ShipperContractLaneIdT) => {\n    return (state: SharableStateT): ShipperContractLaneDetailsItemStateT => {\n        return (\n            state.shipperContractLaneDetails.detailsById[shipperContractLaneId] ||\n            initialShipperContractLaneDetailsItemState\n        );\n    };\n};\n\nexport const selectUpdateShipperContractLaneRequest = (\n    state: SharableStateT,\n): ShipperContractLaneDetailsStateT['updateRequest'] => {\n    return state.shipperContractLaneDetails.updateRequest;\n};\n","import * as React from 'react';\n\ntype PropsT = {\n    map: MapT | null | undefined;\n    maps: MapsT | null | undefined;\n    center: GeoPointT | null | undefined;\n};\n\nconst MapCenter: React.FC<PropsT> = React.memo((props) => {\n    const { map, maps, center } = props;\n\n    React.useEffect(() => {\n        if (!maps || !map || !center) {\n            return;\n        }\n\n        const centerLatLng = new maps.LatLng(center.lat, center.lng);\n        map.setCenter(centerLatLng);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [map, maps, center?.lat, center?.lng]);\n\n    return null;\n});\n\nexport default MapCenter;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"TourTypeMultipleDropdown__fadeIn___QRGhB\",\"blinking\":\"TourTypeMultipleDropdown__blinking___P3RVC\"};","import { LocationDescriptor } from 'history';\nimport { authRoutesEnum } from 'common/constants';\nimport { getCurrentRelativePath } from 'common/utils/history';\n\nconst parseAuthReturnUrl = (returnUrl: string | null | undefined): LocationDescriptor<TODO> => {\n    if (!returnUrl) {\n        return {\n            pathname: authRoutesEnum.home,\n        };\n    }\n\n    const [pathname, search] = returnUrl.split('?');\n\n    return {\n        pathname,\n        search: search ? `?${search}` : '',\n    };\n};\n\nconst getAuthReturnUrl = (): string => getCurrentRelativePath(window.location.href);\n\nexport { getAuthReturnUrl, parseAuthReturnUrl };\n","import React from 'react';\n\nimport cs from 'classnames';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './OpenedDatePicker.scss';\n\nimport Calendar, {\n    CalendarDateRangeValuePropsT,\n    CalendarDateValuePropsT,\n} from 'design-system/components/Calendar/Calendar';\nimport DateInputTrigger, {\n    InputDateValuePropsT,\n    InputRangeValuePropsT,\n} from 'design-system/components/date-pickers/internals/DateInputTrigger/DateInputTrigger';\nimport CalendarIcon, { CalendarIconProps } from 'common/icons/CalendarIcon';\nimport useTestSelector from 'common/utils/hooks/useTestSelector';\n\nconst cx = classNames.bind(styles);\n\ntype BasePropsT = {\n    name?: string;\n    placeholder?: string;\n    isDisabled?: boolean;\n    minDate?: string | null;\n    maxDate?: string | null;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasYearMonthForm?: boolean;\n    autoComplete?: string;\n    testSelectorPrefix?: string;\n    hasChanges?: boolean;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    inputClassName?: string;\n    disabledDates?: string[];\n    hasClearControl?: boolean;\n};\n\nexport type OpenedDatePickerPropsT =\n    | (BasePropsT & CalendarDateValuePropsT)\n    | (BasePropsT & CalendarDateRangeValuePropsT);\n\n/* eslint-disable react/destructuring-assignment */\nconst OpenedDatePicker: React.FC<OpenedDatePickerPropsT> = (props) => {\n    const {\n        name,\n        placeholder,\n        onFocus,\n        onBlur,\n        isDisabled,\n        minDate,\n        maxDate,\n        hasError,\n        hasWarning,\n        hasYearMonthForm,\n        hasChanges,\n        autoComplete,\n        testSelectorPrefix,\n        inputClassName,\n        disabledDates,\n        hasClearControl,\n    } = props;\n\n    const handleCalendarRangeChange: CalendarDateRangeValuePropsT['onChange'] = (value, selectedDate) => {\n        if (props.isRange) {\n            props.onChange(value, selectedDate);\n        }\n    };\n\n    const handleCalendarDateChange: CalendarDateValuePropsT['onChange'] = (value, selectedDate) => {\n        if (!props.isRange) {\n            props.onChange(value, selectedDate);\n        }\n    };\n\n    const testSelector = useTestSelector(testSelectorPrefix, 'opened-date-picker');\n\n    let calendarValueProps: CalendarDateValuePropsT | CalendarDateRangeValuePropsT;\n    if (props.isRange) {\n        calendarValueProps = {\n            isRange: true,\n            value: props.value,\n            initialValue: props.initialValue,\n            onChange: handleCalendarRangeChange,\n            focusInitialDate: props.value?.from,\n        };\n    } else {\n        calendarValueProps = {\n            isRange: false,\n            value: props.value,\n            initialValue: props.initialValue,\n            onChange: handleCalendarDateChange,\n            focusInitialDate: props.value,\n        };\n    }\n\n    let inputDateValueProps: InputDateValuePropsT | InputRangeValuePropsT;\n    if (props.isRange) {\n        inputDateValueProps = {\n            isRange: true,\n            value: props.value,\n            onChange: handleCalendarRangeChange,\n        };\n    } else {\n        inputDateValueProps = {\n            isRange: false,\n            value: props.value,\n            onChange: handleCalendarDateChange,\n        };\n    }\n\n    return (\n        <div className={cx('wrap')} data-test-selector={testSelector}>\n            <Calendar\n                className={cx('calendar')}\n                minDate={minDate}\n                maxDate={maxDate}\n                hasYearMonthForm={hasYearMonthForm}\n                disabledDates={disabledDates}\n                {...calendarValueProps}\n            />\n            <DateInputTrigger\n                {...inputDateValueProps}\n                className={cs(cx('input'), inputClassName)}\n                name={name || 'datepicker'}\n                placeholder={placeholder}\n                hasError={hasError}\n                onFocus={onFocus}\n                onBlur={onBlur}\n                minDate={minDate}\n                maxDate={maxDate}\n                hasWarning={hasWarning}\n                isDisabled={isDisabled}\n                hasChanges={hasChanges}\n                autoComplete={autoComplete}\n                hasClearControl={hasClearControl}\n                renderLeftIcon={(iconMeta) => <CalendarIcon {...CalendarIconProps.getControlProps(iconMeta)} />}\n            />\n        </div>\n    );\n};\n\nexport default OpenedDatePicker;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useFormikContext } from 'formik';\n\nimport { FieldsEnum, FormValuesT } from '../constants';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport isEmpty from 'lodash/isEmpty';\n\ntype PropsT = {\n    className?: string;\n    fieldNamesPrefix: FieldsEnum.shipments | FieldsEnum.contacts;\n    index: number;\n};\n\nconst ErrorIndicatorLabel: React.FC<PropsT> = React.memo((props) => {\n    const { className, fieldNamesPrefix, index } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const errors = formik.errors?.[fieldNamesPrefix]?.[index];\n    const hasErrors = !isEmpty(errors);\n\n    return (\n        <PillLabel\n            className={className}\n            theme={hasErrors ? PillLabelThemeEnum.orange : PillLabelThemeEnum.brandAccent}\n            isSymmetrical\n        >\n            {t(\n                hasErrors\n                    ? 'common:new-order-details.error-indicator.unfilled'\n                    : 'common:new-order-details.error-indicator.filled',\n            )}\n        </PillLabel>\n    );\n});\n\nexport default ErrorIndicatorLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"EditTrailerSidebarContent__fadeIn___SXIgV\",\"blinking\":\"EditTrailerSidebarContent__blinking___guOm6\"};","// extracted by mini-css-extract-plugin\nexport default {\"status\":\"ColoredPriceRuleStatusLabel__status___OATAn\",\"status--active\":\"ColoredPriceRuleStatusLabel__status--active___IDlU_\",\"fadeIn\":\"ColoredPriceRuleStatusLabel__fadeIn___CmaT4\",\"blinking\":\"ColoredPriceRuleStatusLabel__blinking___Y2HFN\"};","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxValue, checkMinValue, checkNotEmpty } from 'common/utils/form-validators';\nimport values from 'lodash/values';\n\nconst REQUIRED_FIELDS = values<FieldsEnum>(FieldsEnum);\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkMinValue(t, [FieldsEnum.spotRequestLimit, FieldsEnum.expiresSoonAlert], values, 1),\n        ...checkMaxValue(t, [FieldsEnum.spotRequestLimit, FieldsEnum.expiresSoonAlert], values, 24),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"timeline\":\"Timeline__timeline___Hedj0\",\"now\":\"Timeline__now___XTOnL\",\"now__text\":\"Timeline__now__text___i5xBX\",\"level\":\"Timeline__level___kFrRn\",\"fadeIn\":\"Timeline__fadeIn___Lh02a\",\"blinking\":\"Timeline__blinking___QYIYB\"};","// extracted by mini-css-extract-plugin\nexport default {\"time-interval\":\"FerryDisembarkPointPicker__time-interval___H2dos\",\"fadeIn\":\"FerryDisembarkPointPicker__fadeIn___nHwWJ\",\"blinking\":\"FerryDisembarkPointPicker__blinking___f7KoD\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const shipperContractsRefreshChannel = new ViewEventChannel<{}>();\n\nexport const shipperContractsPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import moment from 'moment/moment';\n\nexport const getDateStringToTimeWindow = (timeWindow: TimeWindowT | null): string | null => {\n    const endTimeWindow = timeWindow?.[1];\n    if (!endTimeWindow) {\n        return null;\n    }\n\n    const isMidnight = moment(endTimeWindow).format('HH:mm') === '00:00';\n    return moment(endTimeWindow - (isMidnight ? 1 : 0)).format('YYYY-MM-DD');\n};\n\nexport const mergeWithRelativeTimeWindow = (\n    absoluteTimeWindow: TimeWindowT | null,\n    relativeTimeWindow: TimeWindowT | null,\n): TimeWindowT | null => {\n    if (!absoluteTimeWindow || !relativeTimeWindow) {\n        return absoluteTimeWindow;\n    }\n\n    const isMidnight = moment(absoluteTimeWindow[1]).format('HH:mm') === '00:00';\n\n    return [\n        absoluteTimeWindow[0],\n        moment(absoluteTimeWindow[1] - (isMidnight ? 1 : 0))\n            .startOf('day')\n            .valueOf() + relativeTimeWindow[1],\n    ];\n};\n","import React from 'react';\nimport { SyncAssignmentFormMapStateContextValueT } from '../hooks/usySyncMapState';\n\nconst SyncAssignmentFormMapStateContext = React.createContext<SyncAssignmentFormMapStateContextValueT>({\n    hasDropTrailerPointError: false,\n    setHasDropTrailerPointError: () => {\n        // nothing\n    },\n    hasDropTruckPointError: false,\n    setHasDropTruckPointError: () => {\n        // nothing\n    },\n    onMapClickCallback: null,\n    setOnMapClickCallback: () => {\n        // nothing\n    },\n});\n\nexport { SyncAssignmentFormMapStateContext };\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkEmail, checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.name,\n    FieldsEnum.legalFormId,\n    FieldsEnum.legalAddressCountryCode,\n    FieldsEnum.legalAddressZipCode,\n    FieldsEnum.legalAddressCity,\n    FieldsEnum.legalAddressStreet1,\n] as const;\n\ntype MetaT = {\n    shouldShowBillingInfo: boolean;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, { shouldShowBillingInfo }: MetaT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkEmail(t, [FieldsEnum.billingEmail], values),\n        ...(shouldShowBillingInfo\n            ? checkNotEmpty(\n                  t,\n                  [\n                      FieldsEnum.billingAddressCountryCode,\n                      FieldsEnum.billingAddressZipCode,\n                      FieldsEnum.billingAddressCity,\n                      FieldsEnum.billingAddressStreet1,\n                      FieldsEnum.billingEmail,\n                  ],\n                  values,\n              )\n            : {}),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { ApiShipmentStatusT, ShipmentStatusEnum } from 'common/utils/api/models';\n\nexport const hideLoaderStatusSet = new Set<ApiShipmentStatusT | null | undefined>([\n    ShipmentStatusEnum.delivered,\n    ShipmentStatusEnum.canceled,\n]);\n\nexport const finallyStatusSet = new Set<ApiShipmentStatusT | null | undefined>([\n    ShipmentStatusEnum.delivered,\n    ShipmentStatusEnum.canceled,\n]);\n","import * as React from 'react';\nimport { ApiMainContactUnavailableReasonT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    reason: ApiMainContactUnavailableReasonT | null;\n};\n\nexport const MAIN_CONTACT_UNAVAILABLE_REASON_MAP_T: Record<ApiMainContactUnavailableReasonT, string> = {\n    NO_ANY_PHONE_NUMBER: 'common:papers-card.main-contact-unavailable-reason.NO_ANY_PHONE_NUMBER',\n};\n\nconst MainContactUnavailableReasonLabel: React.FC<PropsT> = React.memo((props) => {\n    const { reason } = props;\n    const { t } = useTranslation();\n\n    if (!reason) {\n        return null;\n    }\n\n    return <span>{t(MAIN_CONTACT_UNAVAILABLE_REASON_MAP_T[reason])}</span>;\n});\n\nexport default MainContactUnavailableReasonLabel;\n","import * as React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectTrailersByIds,\n    selectTrailersDetailsByIds,\n    selectUpdateTrailersRequestStatus,\n} from 'common/store/trailers/selectors';\nimport EditTrailerSidebarContent from './EditTrailerSidebarContent/EditTrailerSidebarContent';\nimport TrailerDetailsSidebarContent from './TrailerDetailsSidebarContent/TrailerDetailsSidebarContent';\nimport { SetUnavailableVehicleQueryT } from 'common/utils/api/models';\nimport SetUnavailableAssetConfirmationModal, {\n    SetUnavailableAssetConfirmationDataT,\n} from 'common/layouts/dialogs/SetUnavailableAssetConfirmationModal/SetUnavailableAssetConfirmationModal';\nimport { AssetTypeEnum } from 'common/constants';\nimport ArchiveAssetConfirmationModal, {\n    ArchiveAssetConfirmationDataT,\n} from 'common/layouts/dialogs/ArchiveAssetConfirmationModal/ArchiveAssetConfirmationModal';\nimport ActivateAssetDialogModal, {\n    ActivateAssetConfirmationDataT,\n} from 'common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetDialogModal';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { selectSetUnavailableVehicleRequestStatus } from 'common/store/vehicle-schedules/selectors';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { activationTrailersRequest, archiveTrailersRequest } from 'common/store/trailers/actions';\nimport { setUnavailableVehicleRequest } from 'common/store/vehicle-schedules/actions';\nimport { ActivateTrailersRequestT } from 'common/store/trailers/models';\nimport { logWarning } from 'common/utils/logger';\n\ntype PropsT = {\n    trailerId: TrailerIdT;\n    partnerId: PartnerIdT | null;\n    onGoBack?: () => void;\n    onClose?: () => void;\n    isShowMap: boolean;\n    onToggleShowMap: () => void;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n    isReadOnly?: boolean;\n    isDisableShowOnMap?: boolean;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n    onOpenContactDetails: (contractId: CarrierContractIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst CommonEditableTrailerDetailsLayout: React.FC<PropsT> = (props) => {\n    const {\n        isReadOnly,\n        isDisableShowOnMap,\n        onGoBack,\n        trailerId,\n        partnerId,\n        onClose,\n        isShowMap,\n        onToggleShowMap,\n        setNeedCloseConfirmation,\n        onOpenTruckDetails,\n        onOpenTrailerDetails,\n        onOpenContactDetails,\n        onOpenUserDetails,\n    } = props;\n\n    const trailerById = useSelector(selectTrailersByIds(partnerId));\n\n    const [isActiveEditing, setActiveEditing] = React.useState<boolean>(false);\n\n    const trailerDetailsById = useSelector(selectTrailersDetailsByIds(partnerId));\n\n    const updateRequestStatus = useSelector(selectUpdateTrailersRequestStatus(partnerId));\n\n    React.useEffect(() => {\n        if (updateRequestStatus.ok) {\n            setActiveEditing(false);\n        }\n    }, [updateRequestStatus.ok]);\n\n    const dispatch = useDispatch();\n\n    const handleEdit = () => {\n        setActiveEditing(true);\n    };\n\n    const activateAssetConfirmation = useModalDialog<ActivateAssetConfirmationDataT>();\n    const handleActivate = (trailerId: TrailerIdT | null): void => {\n        if (!trailerId || !partnerId) {\n            logWarning('Empty trailerId or partnerId in handleActivate');\n            return;\n        }\n\n        const trailerDetails = trailerDetailsById[trailerId];\n\n        activateAssetConfirmation.setData({\n            companyId: partnerId,\n            assets: [\n                {\n                    id: trailerId,\n                    contractId: trailerDetails?.contractId || null,\n                    plateNumber: trailerDetails?.plateNumber || '',\n                    ratePerKm: trailerDetails?.ratePerKm || null,\n                },\n            ],\n        });\n    };\n\n    const archiveAssetConfirmation = useModalDialog<ArchiveAssetConfirmationDataT>();\n    const handleArchive = (trailerId: TrailerIdT | null): void => {\n        if (!trailerId || !partnerId) {\n            logWarning('Empty trailerId or partnerId in handleArchive');\n            return;\n        }\n\n        const trailer = trailerById[trailerId];\n\n        archiveAssetConfirmation.setData({\n            companyId: partnerId,\n            assets: [\n                {\n                    id: trailerId,\n                    plateNumber: trailer?.plateNumber || '',\n                },\n            ],\n        });\n    };\n\n    useCloseModalDialogAfterRequest(updateRequestStatus, [activateAssetConfirmation, archiveAssetConfirmation]);\n\n    const setUnavailableStatus = useSelector(selectSetUnavailableVehicleRequestStatus);\n\n    const setUnavailableModalConfirmation = useModalDialog<SetUnavailableAssetConfirmationDataT>();\n    const handleSetUnavailable = (trailerId: TrailerIdT, query: SetUnavailableVehicleQueryT): void => {\n        const trailer = trailerById[trailerId];\n\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleSetUnavailable');\n            return;\n        }\n\n        setUnavailableModalConfirmation.setData({\n            companyId: partnerId,\n            query: {\n                ...query,\n                trailerId,\n            },\n            assets: [\n                {\n                    plateNumber: trailer?.plateNumber || '',\n                },\n            ],\n        });\n    };\n\n    useCloseModalDialogAfterRequest(setUnavailableStatus, [setUnavailableModalConfirmation]);\n\n    const handleConfirmActivate = (\n        _: ActivateAssetConfirmationDataT,\n        activateVehicleRequest: ActivateTrailersRequestT,\n    ): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmActivate');\n            return;\n        }\n        dispatch(activationTrailersRequest(partnerId, activateVehicleRequest));\n    };\n\n    const handleConfirmArchive = (data: ArchiveAssetConfirmationDataT, reason: string): void => {\n        const ids = data.assets.map((asset) => asset.id);\n        dispatch(archiveTrailersRequest(ids, data.companyId, reason));\n    };\n\n    const handleSetUnavailableConfirmation = (data: SetUnavailableAssetConfirmationDataT): void => {\n        const { companyId, query } = data;\n\n        dispatch(setUnavailableVehicleRequest(query, companyId));\n    };\n\n    if (!partnerId) {\n        return null;\n    }\n\n    return (\n        <>\n            {isActiveEditing ? (\n                <EditTrailerSidebarContent\n                    onGoBack={onGoBack}\n                    partnerId={partnerId}\n                    trailerId={trailerId}\n                    onClose={onClose}\n                    onCancel={() => {\n                        setActiveEditing(false);\n                    }}\n                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                    onOpenTruckDetails={onOpenTruckDetails}\n                    onOpenTrailerDetails={onOpenTrailerDetails}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            ) : (\n                <TrailerDetailsSidebarContent\n                    onGoBack={onGoBack}\n                    partnerId={partnerId}\n                    trailerId={trailerId}\n                    isShowMap={isShowMap}\n                    onToggleShowMap={onToggleShowMap}\n                    onClose={onClose}\n                    onActivate={handleActivate}\n                    onArchive={handleArchive}\n                    onEdit={handleEdit}\n                    onSetUnavailable={handleSetUnavailable}\n                    isReadOnly={isReadOnly}\n                    isDisableShowOnMap={isDisableShowOnMap}\n                    onOpenTruckDetails={onOpenTruckDetails}\n                    onOpenContactDetails={onOpenContactDetails}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            )}\n            <SetUnavailableAssetConfirmationModal\n                assetType={AssetTypeEnum.trailer}\n                data={setUnavailableModalConfirmation.data}\n                onConfirm={handleSetUnavailableConfirmation}\n                onCancel={setUnavailableModalConfirmation.onCancel}\n                onClose={setUnavailableModalConfirmation.onClose}\n                requestStatus={setUnavailableStatus}\n            />\n            <ArchiveAssetConfirmationModal\n                assetType={AssetTypeEnum.trailer}\n                data={archiveAssetConfirmation.data}\n                onConfirm={handleConfirmArchive}\n                onCancel={archiveAssetConfirmation.onCancel}\n                onClose={archiveAssetConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n            <ActivateAssetDialogModal\n                companyId={partnerId}\n                assetType={AssetTypeEnum.trailer}\n                data={activateAssetConfirmation.data}\n                onConfirm={handleConfirmActivate}\n                onCancel={activateAssetConfirmation.onCancel}\n                onClose={activateAssetConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n        </>\n    );\n};\n\nexport default CommonEditableTrailerDetailsLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ErrorPlaceholder__wrap___r3Fgz\",\"content\":\"ErrorPlaceholder__content___Hct7c\",\"icon\":\"ErrorPlaceholder__icon___ROIvq\",\"title\":\"ErrorPlaceholder__title___pQDui\",\"message\":\"ErrorPlaceholder__message___hzq8r\",\"actions\":\"ErrorPlaceholder__actions___Zq2IB\",\"trace-id\":\"ErrorPlaceholder__trace-id___WzqYC\",\"fadeIn\":\"ErrorPlaceholder__fadeIn___mhVAZ\",\"blinking\":\"ErrorPlaceholder__blinking___QNoWI\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\n\nimport styles from './TrailerTypeSwitcher.scss';\nimport { TrailerTypeEnum } from '../../constants';\nimport Radio from '../Radio/Radio';\nimport { ApiTrailerTypeT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = {\n    title: string;\n    icon: 'tilt' | 'box' | 'reef';\n    testSelector: string;\n};\n\ntype TrailerTypePropsT = {\n    type: TrailerTypeEnum;\n    option: OptionT;\n    selectedType: ApiTrailerTypeT | null;\n    onChange: (type: TrailerTypeEnum) => void;\n};\n\nconst TrailerType: React.FC<TrailerTypePropsT> = (props) => {\n    const { type, option, selectedType, onChange } = props;\n    const [isHover, setHover] = React.useState(false);\n\n    const handleMouseEnter = () => {\n        setHover(true);\n    };\n\n    const handleMouseLeave = () => {\n        setHover(false);\n    };\n\n    const handleClick = () => {\n        onChange(type);\n    };\n\n    const isSelected = selectedType === type;\n\n    return (\n        <div\n            className={cx('option')}\n            onMouseEnter={handleMouseEnter}\n            onMouseLeave={handleMouseLeave}\n            onClick={handleClick}\n        >\n            <div\n                className={cx('option__image', `option__image--${option.icon}`, {\n                    'option__image--isActive': isHover || isSelected,\n                })}\n            />\n            <div className={cx('option__title')}>\n                <Radio<ApiTrailerTypeT | null>\n                    testSelector={option.testSelector}\n                    className={cx('radio')}\n                    selectedValue={selectedType}\n                    value={type}\n                    label={option.title}\n                />\n            </div>\n        </div>\n    );\n};\n\ntype PropsT = {\n    name: string;\n    value: ApiTrailerTypeT | null;\n    availableTypes: Array<TrailerTypeEnum>;\n    setFieldValue: (name: string, value: ApiTrailerTypeT) => void;\n};\n\nconst TrailerTypeSwitcher: React.FC<PropsT> = (props) => {\n    const { name, value, setFieldValue, availableTypes } = props;\n\n    const testSelector = 'trailer-type-switcher';\n\n    const { t } = useTranslation();\n\n    const optionByType: Record<string, OptionT> = {\n        [TrailerTypeEnum.tilt]: {\n            title: t('common:trailer-type-switcher.tilt'),\n            icon: 'tilt',\n            testSelector: `${testSelector}_tilt`,\n        },\n        [TrailerTypeEnum.box]: {\n            title: t('common:trailer-type-switcher.box'),\n            icon: 'box',\n            testSelector: `${testSelector}_box`,\n        },\n    };\n\n    const handleChange = (trailerType: TrailerTypeEnum) => {\n        setFieldValue(name, trailerType);\n    };\n\n    return (\n        <div className={cx('select')} data-test-selector={testSelector}>\n            {availableTypes.map((type) => (\n                <TrailerType\n                    key={type}\n                    type={type}\n                    selectedType={value}\n                    option={optionByType[type]}\n                    onChange={handleChange}\n                />\n            ))}\n        </div>\n    );\n};\n\nexport default TrailerTypeSwitcher;\n","import { CountriesListT, CountryLanguageT, CountryT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const COUNTRIES_DICT_REQUEST = 'common/countries-dict/COUNTRIES_DICT_REQUEST';\nexport const COUNTRIES_DICT_REQUEST_BEGIN = 'common/countries-dict/COUNTRIES_DICT_REQUEST_BEGIN';\nexport const COUNTRIES_DICT_REQUEST_SUCCESS = 'common/countries-dict/COUNTRIES_DICT_REQUEST_SUCCESS';\nexport const COUNTRIES_DICT_REQUEST_ERROR = 'common/countries-dict/COUNTRIES_DICT_REQUEST_ERROR';\n\nexport type FetchCountriesDictActionT = {\n    type: typeof COUNTRIES_DICT_REQUEST;\n};\n\nexport type FetchCountriesDictBeginActionT = {\n    type: typeof COUNTRIES_DICT_REQUEST_BEGIN;\n};\n\nexport type FetchCountriesDictSuccessActionT = {\n    type: typeof COUNTRIES_DICT_REQUEST_SUCCESS;\n    countriesList: CountriesListT;\n};\n\nexport type FetchCountriesDictErrorActionT = {\n    type: typeof COUNTRIES_DICT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type CountriesDictActionT =\n    | FetchCountriesDictActionT\n    | FetchCountriesDictBeginActionT\n    | FetchCountriesDictSuccessActionT\n    | FetchCountriesDictErrorActionT;\n\nexport type CountriesDictStateT = {\n    list: CountriesListT | [];\n    allLangCodes: Array<CountryT['langCode']>;\n    byLangCode: Record<CountryT['langCode'], CountryLanguageT>;\n    allCodes: Array<CountryT['code']>;\n    byCode: Partial<Record<CountryT['code'], CountryT>>;\n    request: RequestStatusT;\n};\n","import { TruckStatusEnum } from 'common/utils/api/models';\nimport { EmissionClassEnum } from 'common/constants';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\nexport enum FieldsEnum {\n    model = 'model',\n    plateNumber = 'plateNumber',\n    country = 'country',\n    emissionClass = 'emissionClass',\n    status = 'status',\n    lastTelematicUpdateDates = 'last-telematic-update-dates',\n    contractId = 'contractId',\n    contractName = 'contractName',\n    createDates = 'create-dates',\n    createdByUserId = 'create-dated-by-user-id',\n    createdByUserName = 'create-dated-by-user-name',\n    lastModifyDates = 'last-modify-dates',\n    lastModifyByUserId = 'last-modify-by-user-id',\n    lastModifyByUserName = 'last-createdByUserIdmodify-by-user-name',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.model]: Array<TruckModelIdT>;\n    [FieldsEnum.plateNumber]: string;\n    [FieldsEnum.country]: Array<CountryCodeT>;\n    [FieldsEnum.emissionClass]: Array<EmissionClassEnum>;\n    [FieldsEnum.status]: Array<TruckStatusEnum>;\n    [FieldsEnum.lastTelematicUpdateDates]: DateRangeT | null;\n    [FieldsEnum.contractId]: Array<CarrierContractIdT>;\n    [FieldsEnum.contractName]: Array<string>;\n    [FieldsEnum.createDates]: DateRangeT | null;\n    [FieldsEnum.createdByUserId]: Array<UserIdT>;\n    [FieldsEnum.createdByUserName]: Array<string>;\n    [FieldsEnum.lastModifyDates]: DateRangeT | null;\n    [FieldsEnum.lastModifyByUserId]: Array<UserIdT>;\n    [FieldsEnum.lastModifyByUserName]: Array<string>;\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n    ApiPriceSettingsRuleOperationT,\n    PriceSettingsRuleOperationEnum,\n} from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const PRICE_RULE_OPERATION_I18N_MAP: Record<ApiPriceSettingsRuleOperationT, string> = {\n    [PriceSettingsRuleOperationEnum.value]: 'common-components.price-rule-operation-select.value',\n    [PriceSettingsRuleOperationEnum.discount]: 'common-components.price-rule-operation-select.discount',\n    [PriceSettingsRuleOperationEnum.surcharge]: 'common-components.price-rule-operation-select.surcharge',\n};\n\ntype PropsT = {\n    operation: ApiPriceSettingsRuleOperationT | null | undefined;\n};\n\nconst PriceRuleOperationFilterPill: React.FC<PropsT> = React.memo((props) => {\n    const { operation } = props;\n\n    const { t } = useTranslation();\n\n    if (!operation) {\n        return null;\n    }\n\n    return <span>{t(PRICE_RULE_OPERATION_I18N_MAP[operation])}</span>;\n});\n\nexport default PriceRuleOperationFilterPill;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './FerrySettingsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport prepareApiSystemSettings from './prepare-system-settings';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport withWidgetChangesDetector from 'common/components/SaveChangesNotification/withWidgetChangesDetector';\nimport { UnitTypeEnum } from 'common/constants';\nimport Widget from 'common/components/Widget/Widget';\nimport values from 'lodash/values';\nimport { getMaskByType } from '../utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { SystemSettingsFormCommonPropsT } from 'broker-admin/layouts/SettingsPage/SystemSettings/models';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\n\nconst cx = classNames.bind(styles);\n\nconst UNIT_TYPE_MAP = {\n    [FieldsEnum.timeSlotToBoardFerry]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.timeSlotDisembarkFerry]: UnitTypeEnum.minutesAbbreviation,\n};\n\nconst STEP_MAP = {\n    [FieldsEnum.timeSlotToBoardFerry]: 10,\n    [FieldsEnum.timeSlotDisembarkFerry]: 10,\n};\n\nconst FIELD_LABEL_T_MAP = {\n    [FieldsEnum.timeSlotToBoardFerry]: 'price-settings.ferry-form.fields.time-slot-to-board-ferry.label',\n    [FieldsEnum.timeSlotDisembarkFerry]: 'price-settings.ferry-form.fields.time-slot-disembark-ferry.label',\n};\n\nconst FIELD_DESCRIPTION_T_MAP = {\n    [FieldsEnum.timeSlotToBoardFerry]: 'price-settings.ferry-form.fields.time-slot-to-board-ferry.description',\n    [FieldsEnum.timeSlotDisembarkFerry]: 'price-settings.ferry-form.fields.time-slot-disembark-ferry.description',\n};\n\ntype PropsT = SystemSettingsFormCommonPropsT;\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype NumberFieldsT = FieldsEnum.timeSlotToBoardFerry | FieldsEnum.timeSlotDisembarkFerry;\n\nconst FerrySettingsForm: React.FC<PropsT> = (props) => {\n    const { systemSettings, title, onUpdate, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(systemSettings);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [systemSettings]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const apiSystemSettings = prepareApiSystemSettings(values);\n            onUpdate(apiSystemSettings);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErros = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErros,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErros, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const WidgetChangesDetector = withWidgetChangesDetector(formik.values, initialValues);\n\n    const renderNumberField = (name: NumberFieldsT): React.ReactNode => {\n        return (\n            <FormikField\n                className={cx('field')}\n                name={name}\n                error={formik.errors[name]}\n                meta={formik.getFieldMeta(name)}\n                label={t(FIELD_LABEL_T_MAP[name])}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                tooltipNode={\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t(FIELD_DESCRIPTION_T_MAP[name])}\n                    </TooltipContent>\n                }\n            >\n                {(props) => (\n                    <NumberInput\n                        name={name}\n                        unitType={UNIT_TYPE_MAP[name]}\n                        mask={getMaskByType(UNIT_TYPE_MAP[name])}\n                        step={STEP_MAP[name]}\n                        value={formik.values[name]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        hasChanges={props.hasChanges}\n                    />\n                )}\n            </FormikField>\n        );\n    };\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <Widget className={cx('widget')} title={title} rightNode={<WidgetChangesDetector fields={ALL_FIELDS} />}>\n                <div className={cx('widget__inner')}>\n                    <FieldGroup>\n                        {renderNumberField(FieldsEnum.timeSlotToBoardFerry)}\n                        {renderNumberField(FieldsEnum.timeSlotDisembarkFerry)}\n                        {/* <FieldGroupEmptyItem className={cx('field')} /> */}\n                    </FieldGroup>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <HiddenSubmitButtonForKeyboardEnter />\n                </div>\n            </Widget>\n        </form>\n    );\n};\n\nexport default React.memo(FerrySettingsForm) as typeof FerrySettingsForm;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LocationsCell.scss';\nimport { CountryCodeT, CountryT } from 'common/store/countries-dict/models';\nimport { ZIP_CODES_SEPARATOR } from 'common/constants';\nimport { isNonNil } from 'common/utils';\nimport CountyFlagsLabel from 'common/components/CountyFlagsLabel/CountyFlagsLabel';\n\ntype PropsT = {\n    countryCodes: Array<CountryCodeT>;\n    zipCodes: Array<string>;\n    countryByCode: Partial<Record<CountryT['code'], CountryT>>;\n};\n\nconst cx = classNames.bind(styles);\n\nconst LocationsCell: React.FC<PropsT> = React.memo((props) => {\n    const { countryCodes, zipCodes, countryByCode } = props;\n\n    const countries = countryCodes.map((countryCode) => countryByCode[countryCode]).filter(isNonNil);\n\n    return (\n        <div>\n            <CountyFlagsLabel countries={countries} />\n            <div className={cx('zip-codes')}>{zipCodes.join(ZIP_CODES_SEPARATOR)}</div>\n        </div>\n    );\n});\n\nexport default LocationsCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"header__controls\":\"PartnerPage__header__controls___Z2p26\",\"controls\":\"PartnerPage__controls___dKynt\",\"fadeIn\":\"PartnerPage__fadeIn___NY58a\",\"blinking\":\"PartnerPage__blinking___oMS5V\"};","import { CompanyTypeEnum } from 'common/constants';\nimport {\n    ApiNotificationT,\n    ApiOrderStatusT,\n    ApiTourStatusT,\n    ApiDocumentTypeT,\n    FixPageableCommonQueryT,\n} from 'common/utils/api/models';\n\nimport * as React from 'react';\n\nexport enum NotificationActionEnum {\n    SHIPMENT_STATUS_CHANGED = 'SHIPMENT_STATUS_CHANGED',\n    SHIPMENT_CANCELED = 'SHIPMENT_CANCELED',\n    SHIPMENT_MISSED = 'SHIPMENT_MISSED',\n    SHIPMENT_NO_SHOW = 'SHIPMENT_NO_SHOW',\n    ORDER_STATUS_CHANGED = 'ORDER_STATUS_CHANGED',\n    ORDER_EDITED = 'ORDER_EDITED',\n    TOUR_STATUS_CHANGED = 'TOUR_STATUS_CHANGED',\n    TRANSPORTATION_ORDER_STATUS_CHANGED = 'TRANSPORTATION_ORDER_STATUS_CHANGED',\n    TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS = 'TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS',\n    TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER = 'TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER',\n    TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED = 'TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED',\n    TRANSPORTATION_ORDER_PLACED = 'TRANSPORTATION_ORDER_PLACED',\n    RFQ_ALERT = 'RFQ_ALERT',\n    SPOT_PLACED = 'SPOT_PLACED',\n    SPOT_CANCELLED = 'SPOT_CANCELLED',\n    SPOT_ASSIGNED = 'SPOT_ASSIGNED',\n    SPOT_EXPIRED = 'SPOT_EXPIRED',\n    SPOT_BID_ACCEPTED = 'SPOT_BID_ACCEPTED',\n    SPOT_BID_EXPIRED = 'SPOT_BID_EXPIRED',\n    SPOT_BID_MISSED = 'SPOT_BID_MISSED',\n    SPOT_BID_PLACED = 'SPOT_BID_PLACED',\n    DOCUMENT_COMPLETED = 'DOCUMENT_COMPLETED',\n    DOCUMENT_EXPIRED = 'DOCUMENT_EXPIRED',\n    DOCUMENT_REVOKED = 'DOCUMENT_REVOKED',\n    DOCUMENT_UPDATED = 'DOCUMENT_UPDATED',\n    DOCUMENT_UPLOAD = 'DOCUMENT_UPLOAD',\n    DOCUMENT_EXPIRATION_SOON = 'DOCUMENT_EXPIRATION_SOON',\n    SHIPPER_CONTRACT_EXPIRED = 'SHIPPER_CONTRACT_EXPIRED',\n    SHIPPER_CONTRACT_REVOKED = 'SHIPPER_CONTRACT_REVOKED',\n    SHIPPER_CONTRACT_UPLOADED = 'SHIPPER_CONTRACT_UPLOADED',\n    SHIPPER_CONTRACT_UPDATED = 'SHIPPER_CONTRACT_UPDATED',\n    SHIPPER_CONTRACT_EXPIRATION_SOON = 'SHIPPER_CONTRACT_EXPIRATION_SOON',\n    SHIPPER_CONTRACT_COMPLETED = 'SHIPPER_CONTRACT_COMPLETED',\n    CARRIER_CONTRACT_EXPIRED = 'CARRIER_CONTRACT_EXPIRED',\n    CARRIER_CONTRACT_REVOKED = 'CARRIER_CONTRACT_REVOKED',\n    CARRIER_CONTRACT_UPDATED = 'CARRIER_CONTRACT_UPDATED',\n    CARRIER_CONTRACT_EXPIRATION_SOON = 'CARRIER_CONTRACT_EXPIRATION_SOON',\n    CARRIER_CONTRACT_COMPLETED = 'CARRIER_CONTRACT_COMPLETED',\n    SHIPPER_CONTRACT_LANE_EXPIRED = 'SHIPPER_CONTRACT_LANE_EXPIRED',\n    SHIPPER_CONTRACT_LANE_REVOKED = 'SHIPPER_CONTRACT_LANE_REVOKED',\n    SHIPPER_CONTRACT_LANE_UPDATED = 'SHIPPER_CONTRACT_LANE_UPDATED',\n    SHIPPER_CONTRACT_LANE_UPLOAD = 'SHIPPER_CONTRACT_LANE_UPLOAD',\n    SHIPPER_CONTRACT_LANE_EXPIRATION_SOON = 'SHIPPER_CONTRACT_LANE_EXPIRATION_SOON',\n    SHIPPER_CONTRACT_LANE_COMPLETED = 'SHIPPER_CONTRACT_LANE_COMPLETED',\n    TOUR_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER = 'TOUR_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER',\n    TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER = 'TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER',\n    TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER = 'TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER',\n    TOUR_DELAYING = 'TOUR_DELAYING',\n    ERROR_WHEN_CREATE_INVOICE = 'ERROR_WHEN_CREATE_INVOICE',\n    ASSET_ADDED = 'ASSET_ADDED',\n    ASSET_UPDATED = 'ASSET_UPDATED',\n    TEAM_USER_ADDED = 'TEAM_USER_ADDED',\n    TEAM_USER_REMOVED = 'TEAM_USER_REMOVED',\n    TEAM_REMOVED = 'TEAM_REMOVED',\n    BUSINESS_PARTNER_ADDRESS_VERIFICATION = 'BUSINESS_PARTNER_ADDRESS_VERIFICATION',\n    BROKER_BUSINESS_PARTNER_UPDATED = 'BROKER_BUSINESS_PARTNER_UPDATED',\n    UNKNOWN_ACTION = 'unknown',\n}\n\nexport type NotificationToastViewT = {\n    icon: React.ReactNode | null;\n    text: React.ReactNode;\n};\n\nexport enum NotificationEmotionEnum {\n    neutral = 'neutral',\n    positive = 'positive',\n    negative = 'negative',\n    attention = 'attention',\n}\n\nexport type NotificationViewT = {\n    emotion: NotificationEmotionEnum | null;\n    text: React.ReactNode;\n};\n\ntype NotificationT<T extends NotificationActionEnum> = OverwriteT<\n    NotificationDescriptorT[T],\n    {\n        action: T;\n        relatedIds: string[];\n    }\n>;\n\nexport type AnyNotificationT =\n    | NotificationT<NotificationActionEnum.SHIPMENT_STATUS_CHANGED>\n    | NotificationT<NotificationActionEnum.SHIPMENT_CANCELED>\n    | NotificationT<NotificationActionEnum.SHIPMENT_MISSED>\n    | NotificationT<NotificationActionEnum.SHIPMENT_NO_SHOW>\n    | NotificationT<NotificationActionEnum.ORDER_STATUS_CHANGED>\n    | NotificationT<NotificationActionEnum.ORDER_EDITED>\n    | NotificationT<NotificationActionEnum.TOUR_STATUS_CHANGED>\n    | NotificationT<NotificationActionEnum.TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER>\n    | NotificationT<NotificationActionEnum.TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER>\n    | NotificationT<NotificationActionEnum.TOUR_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER>\n    | NotificationT<NotificationActionEnum.TOUR_DELAYING>\n    | NotificationT<NotificationActionEnum.TRANSPORTATION_ORDER_STATUS_CHANGED>\n    | NotificationT<NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS>\n    | NotificationT<NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER>\n    | NotificationT<NotificationActionEnum.TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED>\n    | NotificationT<NotificationActionEnum.TRANSPORTATION_ORDER_PLACED>\n    | NotificationT<NotificationActionEnum.RFQ_ALERT>\n    | NotificationT<NotificationActionEnum.SPOT_PLACED>\n    | NotificationT<NotificationActionEnum.SPOT_CANCELLED>\n    | NotificationT<NotificationActionEnum.SPOT_ASSIGNED>\n    | NotificationT<NotificationActionEnum.SPOT_EXPIRED>\n    | NotificationT<NotificationActionEnum.SPOT_BID_ACCEPTED>\n    | NotificationT<NotificationActionEnum.SPOT_BID_EXPIRED>\n    | NotificationT<NotificationActionEnum.SPOT_BID_MISSED>\n    | NotificationT<NotificationActionEnum.SPOT_BID_PLACED>\n    | NotificationT<NotificationActionEnum.DOCUMENT_EXPIRED>\n    | NotificationT<NotificationActionEnum.DOCUMENT_REVOKED>\n    | NotificationT<NotificationActionEnum.DOCUMENT_UPDATED>\n    | NotificationT<NotificationActionEnum.DOCUMENT_UPLOAD>\n    | NotificationT<NotificationActionEnum.DOCUMENT_COMPLETED>\n    | NotificationT<NotificationActionEnum.DOCUMENT_EXPIRATION_SOON>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_EXPIRED>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_REVOKED>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_UPLOADED>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_UPDATED>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_EXPIRATION_SOON>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_COMPLETED>\n    | NotificationT<NotificationActionEnum.CARRIER_CONTRACT_EXPIRED>\n    | NotificationT<NotificationActionEnum.CARRIER_CONTRACT_REVOKED>\n    | NotificationT<NotificationActionEnum.CARRIER_CONTRACT_UPDATED>\n    | NotificationT<NotificationActionEnum.CARRIER_CONTRACT_EXPIRATION_SOON>\n    | NotificationT<NotificationActionEnum.CARRIER_CONTRACT_COMPLETED>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRED>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_LANE_REVOKED>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPDATED>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPLOAD>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRATION_SOON>\n    | NotificationT<NotificationActionEnum.SHIPPER_CONTRACT_LANE_COMPLETED>\n    | NotificationT<NotificationActionEnum.ERROR_WHEN_CREATE_INVOICE>\n    | NotificationT<NotificationActionEnum.ASSET_ADDED>\n    | NotificationT<NotificationActionEnum.ASSET_UPDATED>\n    | NotificationT<NotificationActionEnum.TEAM_USER_ADDED>\n    | NotificationT<NotificationActionEnum.TEAM_USER_REMOVED>\n    | NotificationT<NotificationActionEnum.TEAM_REMOVED>\n    | NotificationT<NotificationActionEnum.BUSINESS_PARTNER_ADDRESS_VERIFICATION>\n    | NotificationT<NotificationActionEnum.BROKER_BUSINESS_PARTNER_UPDATED>\n    | NotificationT<NotificationActionEnum.UNKNOWN_ACTION>;\n\nexport type NotificationConverterOptionsT = {\n    companyType: CompanyTypeEnum;\n};\n\nexport type NotificationConverterT = (\n    apiNotification: ApiNotificationT,\n    options: NotificationConverterOptionsT,\n) => AnyNotificationT;\n\nexport type PatchNotificationDataT<TNotification extends { data: {} }, TPatchData extends {}> = OverwriteT<\n    TNotification,\n    {\n        data: OverwriteT<TNotification['data'], TPatchData>;\n    }\n>;\n\ntype DocumentNotificationDtoT = PatchNotificationDataT<\n    Api2.Definitions.DocumentNotificationDto,\n    {\n        documentType: ApiDocumentTypeT;\n    }\n>;\n\nexport type NotificationDescriptorT = {\n    [NotificationActionEnum.SHIPMENT_STATUS_CHANGED]: Api2.Definitions.ShipmentStatusChangedNotificationDto;\n    [NotificationActionEnum.SHIPMENT_CANCELED]: Api2.Definitions.ShipmentStatusChangedNotificationDto;\n    [NotificationActionEnum.SHIPMENT_MISSED]: Api2.Definitions.ShipmentMissedNotificationDto;\n    [NotificationActionEnum.SHIPMENT_NO_SHOW]: Api2.Definitions.ShipmentNoShowNotificationDto;\n    [NotificationActionEnum.ORDER_STATUS_CHANGED]: PatchNotificationDataT<\n        Api2.Definitions.OrderStatusChangedNotificationDto,\n        {\n            status: ApiOrderStatusT;\n        }\n    >;\n    [NotificationActionEnum.ORDER_EDITED]: Api2.Definitions.OrderEditedNotificationDto;\n    [NotificationActionEnum.TOUR_STATUS_CHANGED]: PatchNotificationDataT<\n        Api2.Definitions.TourStatusChangedNotificationDto,\n        {\n            status: ApiTourStatusT;\n        }\n    >;\n    [NotificationActionEnum.TRANSPORTATION_ORDER_STATUS_CHANGED]: Api2.Definitions.TransportationOrderStatusChangedNotificationDto;\n    [NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS]: Api2.Definitions.TransportationOrderRunOrRunningOutOfTimeToAssignAssets;\n    [NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER]: Api2.Definitions.TransportationOrderRunOrRunningOutOfTimeToAssignDriver;\n    [NotificationActionEnum.TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED]: Api2.Definitions.TransportationOrderMileageAndPaymentChangedNotificationDto;\n    [NotificationActionEnum.TRANSPORTATION_ORDER_PLACED]: Api2.Definitions.TransportationOrderPlacedNotificationDto;\n    [NotificationActionEnum.SPOT_CANCELLED]: Api2.Definitions.SpotNotificationDto;\n    [NotificationActionEnum.SPOT_ASSIGNED]: Api2.Definitions.SpotNotificationDto;\n    [NotificationActionEnum.SPOT_EXPIRED]: Api2.Definitions.SpotNotificationDto;\n    [NotificationActionEnum.SPOT_BID_ACCEPTED]: Api2.Definitions.SpotNotificationDto;\n    [NotificationActionEnum.SPOT_BID_EXPIRED]: Api2.Definitions.SpotNotificationDto;\n    [NotificationActionEnum.SPOT_BID_MISSED]: Api2.Definitions.SpotNotificationDto;\n    [NotificationActionEnum.SPOT_BID_PLACED]: Api2.Definitions.SpotNotificationDto;\n    [NotificationActionEnum.SPOT_PLACED]: Api2.Definitions.SpotNotificationDto;\n    [NotificationActionEnum.RFQ_ALERT]: Api2.Definitions.RFQNotificationDto;\n    [NotificationActionEnum.DOCUMENT_COMPLETED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.DOCUMENT_EXPIRED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.DOCUMENT_EXPIRATION_SOON]: DocumentNotificationDtoT;\n    [NotificationActionEnum.DOCUMENT_REVOKED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.DOCUMENT_UPDATED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.DOCUMENT_UPLOAD]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_EXPIRED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_EXPIRATION_SOON]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_REVOKED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_UPDATED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_UPLOADED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_COMPLETED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.CARRIER_CONTRACT_EXPIRED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.CARRIER_CONTRACT_EXPIRATION_SOON]: DocumentNotificationDtoT;\n    [NotificationActionEnum.CARRIER_CONTRACT_REVOKED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.CARRIER_CONTRACT_UPDATED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.CARRIER_CONTRACT_COMPLETED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPDATED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPLOAD]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_LANE_REVOKED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRATION_SOON]: DocumentNotificationDtoT;\n    [NotificationActionEnum.SHIPPER_CONTRACT_LANE_COMPLETED]: DocumentNotificationDtoT;\n    [NotificationActionEnum.TOUR_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER]: Api2.Definitions.TourRunOrRunningOutOfTimeToAssignCarrier;\n    [NotificationActionEnum.TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER]: Api2.Definitions.TourRunOrRunningOutOfTimeToAssignCarrier;\n    [NotificationActionEnum.TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER]: Api2.Definitions.TourRunOrRunningOutOfTimeToAssignCarrier;\n    [NotificationActionEnum.TOUR_DELAYING]: Api2.Definitions.TourDelayingNotification;\n    [NotificationActionEnum.ERROR_WHEN_CREATE_INVOICE]: Api2.Definitions.InvoiceCreationExceptionNotificationDto;\n    [NotificationActionEnum.ASSET_ADDED]: Api2.Definitions.AssetAddedNotificationDto;\n    [NotificationActionEnum.ASSET_UPDATED]: Api2.Definitions.AssetUpdatedNotificationDto;\n    [NotificationActionEnum.TEAM_USER_ADDED]: Api2.Definitions.TeamUserAddedNotificationDto;\n    [NotificationActionEnum.TEAM_USER_REMOVED]: Api2.Definitions.TeamUserRemovedNotificationDto;\n    [NotificationActionEnum.TEAM_REMOVED]: Api2.Definitions.TeamRemovedNotificationDto;\n    [NotificationActionEnum.BUSINESS_PARTNER_ADDRESS_VERIFICATION]: Api2.Definitions.AddressVerificationNotificationDto;\n    [NotificationActionEnum.BROKER_BUSINESS_PARTNER_UPDATED]: Api2.Definitions.BrokerBusinessPartnerProfileUpdatedNotificationDto;\n    [NotificationActionEnum.UNKNOWN_ACTION]: Api2.Definitions.NotificationDto & { data: any };\n};\n\nexport type FetchNotificationsPageQueryT = FixPageableCommonQueryT;\n","// extracted by mini-css-extract-plugin\nexport default {\"alerts\":\"TrailerDetailsForm__alerts___kf72B\",\"trailer-type\":\"TrailerDetailsForm__trailer-type___pXSzO\",\"field--trailer-type\":\"TrailerDetailsForm__field--trailer-type___kgCOu\",\"field--plate-number\":\"TrailerDetailsForm__field--plate-number___QnWfF\",\"field--vin\":\"TrailerDetailsForm__field--vin___sfUSr\",\"field--contract\":\"TrailerDetailsForm__field--contract___h3GKh\",\"field--rate\":\"TrailerDetailsForm__field--rate___ke4F6\",\"actions\":\"TrailerDetailsForm__actions___eHaEU\",\"actions__action\":\"TrailerDetailsForm__actions__action___FI_pl\",\"actions__action--cancel\":\"TrailerDetailsForm__actions__action--cancel___HnfOE\",\"actions__action--delete\":\"TrailerDetailsForm__actions__action--delete___ZLeS_\",\"fields\":\"TrailerDetailsForm__fields___JoZt_\",\"last-gps-position-alert\":\"TrailerDetailsForm__last-gps-position-alert___rbH8B\",\"gps-tracking-status-alert\":\"TrailerDetailsForm__gps-tracking-status-alert___0jw0F\",\"footer-warning\":\"TrailerDetailsForm__footer-warning___f8H0t\",\"fadeIn\":\"TrailerDetailsForm__fadeIn___wOsAb\",\"blinking\":\"TrailerDetailsForm__blinking___ZoeJZ\"};","import * as React from 'react';\nimport debounce from 'lodash/debounce';\n\nexport type WindowSizeT = {\n    width: number;\n    height: number;\n};\n\nconst COLD_TIME = 300;\n\nconst useWindowSize = (): WindowSizeT => {\n    const [windowSize, setWindowSize] = React.useState<WindowSizeT>({\n        width: window.innerWidth,\n        height: window.innerHeight,\n    });\n\n    React.useEffect(() => {\n        // Handler to call on window resize\n        const handleResize = () => {\n            // Set window width/height to state\n            setWindowSize({\n                width: window.innerWidth,\n                height: window.innerHeight,\n            });\n        };\n\n        // Add event listener\n        window.addEventListener('resize', debounce(handleResize, COLD_TIME));\n\n        // Remove event listener on cleanup\n        return () => window.removeEventListener('resize', debounce(handleResize, COLD_TIME));\n    }, []); // Empty array ensures that effect is only run on mount\n\n    return windowSize;\n};\n\nexport default useWindowSize;\n","import classNames from 'classnames/bind';\nimport styles from './MapCluster.scss';\nimport * as React from 'react';\nimport cs from 'classnames';\nimport isNil from 'lodash/isNil';\n\nconst cx = classNames.bind(styles);\n\nexport enum MapClusterThemeEnum {\n    slate = 'slate',\n    charcoal = 'charcoal',\n    light = 'light',\n    brandDark = 'brand-dark',\n}\n\ntype PropsT = {\n    lat: number | undefined;\n    lng: number | undefined;\n    className?: string;\n    theme?: MapClusterThemeEnum;\n    children: (isHover: boolean) => React.ReactElement;\n    onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n    onHover?: (event: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst MapCluster: React.FC<PropsT> = React.memo((props) => {\n    const { onHover, onClick, lat, lng, theme } = props;\n\n    const [isHover, setHover] = React.useState<boolean>(false);\n\n    if (isNil(lat) || isNil(lng)) {\n        return null;\n    }\n\n    return (\n        <div\n            className={cs(\n                cx('cluster', {\n                    [`cluster--theme-${theme}`]: !!theme,\n                }),\n                props.className,\n            )}\n            onMouseMove={(event) => {\n                if (!isHover && onHover) {\n                    onHover(event);\n                }\n                if (!isHover) {\n                    setHover(true);\n                }\n            }}\n            onMouseLeave={() => {\n                setHover(false);\n            }}\n            onClick={onClick}\n        >\n            {props.children(isHover)}\n        </div>\n    );\n});\n\nexport default MapCluster;\n","import * as React from 'react';\nimport { ApiInvoiceStatusT, InvoiceStatusEnum } from 'common/utils/api/models';\nimport { PropsT as ColoredStatusLabelPropsT } from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport InvoiceStatus from 'common/components/status/InvoiceStatus/InvoiceStatus';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiInvoiceStatusT | null | undefined;\n    isSymmetrical?: boolean;\n};\n\nconst PILL_THEME_BY_INVOICE_STATUS: Record<ApiInvoiceStatusT, PillLabelThemeEnum> = {\n    [InvoiceStatusEnum.draft]: colorCodingPillLabelTheme.normal,\n    [InvoiceStatusEnum.open]: colorCodingPillLabelTheme.normal,\n    [InvoiceStatusEnum.void]: colorCodingPillLabelTheme.attention,\n    [InvoiceStatusEnum.paid]: colorCodingPillLabelTheme.positive,\n    [InvoiceStatusEnum.uncollectible]: colorCodingPillLabelTheme.warning,\n};\n\nconst InvoiceStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, isSymmetrical } = props;\n\n    if (!status) {\n        return null;\n    }\n\n    return (\n        <PillLabel isNoWrap isSymmetrical={isSymmetrical} theme={PILL_THEME_BY_INVOICE_STATUS[status]}>\n            <InvoiceStatus status={status} />\n        </PillLabel>\n    );\n});\n\nexport default InvoiceStatusPill;\n","import { ApiEditOrderContextT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { getContextRoutePointHash } from 'broker-admin/store/order-edit/utils/get-context-route-point-hash';\nimport { ContextRoutePointHashT } from 'broker-admin/store/order-edit/models';\nimport uniq from 'lodash/uniq';\n\nexport const getOrderStopHashes = (contextAfterModify: ApiEditOrderContextT | null): Array<ContextRoutePointHashT> => {\n    const contextStopsHashes =\n        contextAfterModify?.tours\n            ?.flatMap((tour) => {\n                return tour?.stops || [];\n            })\n            .map((stop) => getContextRoutePointHash(stop)) || [];\n\n    return uniq(contextStopsHashes);\n};\n","import { InvoicesQuickFilterEnum } from './constants';\n\nexport enum QueryKeysEnum {\n    invoicesPage = 'invoices-page',\n    invoicesSort = 'invoices-sort',\n    invoicesFilters = 'invoices-filters',\n    invoicesPagingEndingBefore = 'invoices-paging-ending-before',\n    invoicesPagingStartingAfter = 'invoices-paging-starting-after',\n}\n\nexport enum QueryFiltersKeysEnum {\n    quickFilter = 'quick-filter',\n    searchText = 'search-text',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.quickFilter]: InvoicesQuickFilterEnum;\n    [QueryFiltersKeysEnum.searchText]: QueryParam.StringT;\n}>;\n","import React from 'react';\n\nexport type MenuVisibilityT = {\n    isVisible: boolean;\n    handleOpen: () => void;\n    handleClose: () => void;\n    handleToggle: () => void;\n};\n\nconst useMenuVisibility = (): MenuVisibilityT => {\n    const [value, setValue] = React.useState(false);\n\n    const handleOpen = () => {\n        setValue(true);\n    };\n\n    const handleClose = () => {\n        setValue(false);\n    };\n\n    const handleToggle = () => {\n        setValue(!value);\n    };\n\n    return {\n        isVisible: value,\n        handleOpen,\n        handleClose,\n        handleToggle,\n    };\n};\n\nexport default useMenuVisibility;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"EditBrokerTeamSidebarContent__form___Kb8k3\",\"buttons\":\"EditBrokerTeamSidebarContent__buttons___ebBJ1\",\"button--create\":\"EditBrokerTeamSidebarContent__button--create___BaAWx\",\"button--cancel\":\"EditBrokerTeamSidebarContent__button--cancel___p980G\",\"button--save\":\"EditBrokerTeamSidebarContent__button--save___EuDBi\",\"tabs\":\"EditBrokerTeamSidebarContent__tabs___jG5G6\",\"tabs__counter\":\"EditBrokerTeamSidebarContent__tabs__counter___ZOKhD\",\"content\":\"EditBrokerTeamSidebarContent__content___UDcVO\",\"content__full-height-wrap\":\"EditBrokerTeamSidebarContent__content__full-height-wrap___g1kI4\",\"history-table\":\"EditBrokerTeamSidebarContent__history-table___K50aw\",\"fadeIn\":\"EditBrokerTeamSidebarContent__fadeIn___lfm6p\",\"blinking\":\"EditBrokerTeamSidebarContent__blinking___Q8byO\"};","import { disableCompaniesDataSourceSet, FieldsEnum, FormValuesT } from './constants';\nimport { StatisticSourceEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { QueryFiltersT, QueryFiltersKeysEnum } from 'broker-admin/layouts/StatisticsPage/query-models';\nimport { DEFAULT_DATA_SOURCE } from 'broker-admin/layouts/StatisticsPage/constants';\n\nconst getInitialValues = (queryFilters: QueryFiltersT): FormValuesT => {\n    const dataSource = (queryFilters[QueryFiltersKeysEnum.dataSource] as StatisticSourceEnum) || DEFAULT_DATA_SOURCE;\n\n    let companiesValues = {\n        [FieldsEnum.shipperId]: queryFilters[QueryFiltersKeysEnum.shipperId] || null,\n        [FieldsEnum.shipperName]: queryFilters[QueryFiltersKeysEnum.shipperName] || null,\n        [FieldsEnum.carrierId]: queryFilters[QueryFiltersKeysEnum.carrierId] || null,\n        [FieldsEnum.carrierName]: queryFilters[QueryFiltersKeysEnum.carrierName] || null,\n    };\n\n    if (disableCompaniesDataSourceSet.has(dataSource)) {\n        companiesValues = {\n            [FieldsEnum.shipperId]: null,\n            [FieldsEnum.shipperName]: null,\n            [FieldsEnum.carrierId]: null,\n            [FieldsEnum.carrierName]: null,\n        };\n    }\n\n    const values: FormValuesT = {\n        [FieldsEnum.dataSource]: dataSource,\n        [FieldsEnum.fromCountryCode]: queryFilters[QueryFiltersKeysEnum.fromCountryCode] || null,\n        [FieldsEnum.fromZipCode]: queryFilters[QueryFiltersKeysEnum.fromZipCode] || '',\n        [FieldsEnum.toCountryCode]: queryFilters[QueryFiltersKeysEnum.toCountryCode] || null,\n        [FieldsEnum.toZipCode]: queryFilters[QueryFiltersKeysEnum.toZipCode] || '',\n        ...companiesValues,\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport WarningFilterOptionsDropdown, {\n    WarningFilterOptionT,\n} from 'common/components/Table/WarningFilterOptionsDropdown/WarningFilterOptionsDropdown';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { colorCodingNotificationLabelTheme } from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport { BrokerTourStatsT } from 'broker-admin/store/broker-tour-stats/models';\n\ntype PropsT = {\n    className?: string;\n    stat: BrokerTourStatsT | null;\n    queryFilters: QueryFiltersT;\n    onQueryFiltersChange: (queryFiltersChanges: Partial<QueryFiltersT>) => void;\n};\n\nconst warningsQueryFiltersKeys = [\n    QueryFiltersKeysEnum.transportOrderDeclined,\n    QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier,\n    QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier,\n    QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets,\n    QueryFiltersKeysEnum.runOutOfTimeToAssignAssets,\n    QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver,\n    QueryFiltersKeysEnum.runOutOfTimeToAssignDriver,\n    QueryFiltersKeysEnum.noShow,\n    QueryFiltersKeysEnum.shipmentMissed,\n    QueryFiltersKeysEnum.tourDelaying,\n] as const;\n\nconst WarningsFilter: React.FC<PropsT> = React.memo((props) => {\n    const { className, stat, queryFilters, onQueryFiltersChange } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo(\n        (): Array<WarningFilterOptionT<(typeof warningsQueryFiltersKeys)[number]> | SpecialOptionEnum> => [\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.transportOrderDeclined,\n                label: t('broker-tours.list.filters.warning-filters.transport-order-declined'),\n                notificationProps: {\n                    count: stat?.transportationOrderDeclined,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier,\n                label: t('broker-tours.list.filters.warning-filters.running-out-of-time-to-assign-carrier'),\n                notificationProps: {\n                    count: stat?.runningOutOfTimeToAssignCarrier,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier,\n                label: t('broker-tours.list.filters.warning-filters.run-out-of-time-to-assign-carrier'),\n                notificationProps: {\n                    count: stat?.runOutOfTimeToAssignCarrier,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets,\n                label: t('broker-tours.list.filters.warning-filters.running-out-of-time-to-assign-assets'),\n                notificationProps: {\n                    count: stat?.runningOutOfTimeToAssignAssets,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.runOutOfTimeToAssignAssets,\n                label: t('broker-tours.list.filters.warning-filters.run-out-of-time-to-assign-assets'),\n                notificationProps: {\n                    count: stat?.runOutOfTimeToAssignAssets,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver,\n                label: t('broker-tours.list.filters.warning-filters.running-out-of-time-to-assign-driver'),\n                notificationProps: {\n                    count: stat?.runningOutOfTimeToAssignDriver,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.runOutOfTimeToAssignDriver,\n                label: t('broker-tours.list.filters.warning-filters.run-out-of-time-to-assign-driver'),\n                notificationProps: {\n                    count: stat?.runOutOfTimeToAssignDriver,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.noShow,\n                label: t('broker-tours.list.filters.warning-filters.no-show'),\n                notificationProps: {\n                    count: stat?.noShow,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            {\n                id: QueryFiltersKeysEnum.shipmentMissed,\n                label: t('broker-tours.list.filters.warning-filters.shipment-missed'),\n                notificationProps: {\n                    count: stat?.missed,\n                    theme: colorCodingNotificationLabelTheme.warning,\n                },\n            },\n            SpecialOptionEnum.separator,\n            {\n                id: QueryFiltersKeysEnum.tourDelaying,\n                label: t('broker-tours.list.filters.warning-filters.tour-delaying'),\n                notificationProps: {\n                    count: stat?.tourDelaying,\n                    theme: colorCodingNotificationLabelTheme.attention,\n                },\n            },\n        ],\n        [t, stat],\n    );\n\n    const value = React.useMemo(() => {\n        return warningsQueryFiltersKeys.filter((queryFiltersKey) => queryFilters[queryFiltersKey]);\n    }, [queryFilters]);\n\n    const handleSelect = (values: Array<(typeof warningsQueryFiltersKeys)[number]>) => {\n        const queryFiltersChanges = warningsQueryFiltersKeys.reduce<Partial<QueryFiltersT>>((acc, queryFiltersKey) => {\n            acc[queryFiltersKey] = values.includes(queryFiltersKey) ? true : undefined;\n\n            return acc;\n        }, {});\n\n        onQueryFiltersChange(queryFiltersChanges);\n    };\n\n    return (\n        <WarningFilterOptionsDropdown<(typeof warningsQueryFiltersKeys)[number]>\n            className={className}\n            value={value}\n            onSelect={handleSelect}\n            options={options}\n            allLabelKey=\"broker-tours.list.filters.all-warnings\"\n        />\n    );\n});\n\nexport default WarningsFilter;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"CarrierDropdown__fadeIn___GuJwD\",\"blinking\":\"CarrierDropdown__blinking___UZ5AR\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_ORDERS_PAGE_REQUEST, FetchTransportOrdersPageActionT } from './types';\nimport {\n    fetchTransportOrdersPageBegin,\n    fetchTransportOrdersPageError,\n    fetchTransportOrdersPageSuccess,\n    resetTransportOrders,\n} from './actions';\nimport { selectTransportOrdersPages, selectTransportOrdersQuery } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport { transportOrdersPaginationChannel } from 'common/store/transport-orders/channels';\n\nfunction* fetchTransportOrdersSaga(action: FetchTransportOrdersPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query: rawQuery, companyId } = action;\n\n    const query: typeof rawQuery = {\n        ...rawQuery,\n    };\n\n    const prevQuery: ReReturnT<typeof selectTransportOrdersQuery> = yield select(selectTransportOrdersQuery(companyId));\n    const pages: ReReturnT<typeof selectTransportOrdersPages> = yield select(selectTransportOrdersPages(companyId));\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetTransportOrders(companyId, { savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchTransportOrdersPageBegin(query, pageNumber, companyId));\n\n    let result: ReturnApiT<\n        typeof carrierTranziitApi.fetchTransportOrdersPage | typeof brokerTranziitApi.fetchTransportOrdersPage\n    >;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.fetchTransportOrdersPage({\n            ...query,\n            page: pageNumber,\n        });\n    } else {\n        result = yield brokerTranziitApi.fetchTransportOrdersPage(companyId, {\n            ...query,\n            page: pageNumber,\n        });\n    }\n\n    const [error, response] = result;\n\n    if (error) {\n        yield put(fetchTransportOrdersPageError(query, pageNumber, error, companyId));\n        return;\n    }\n\n    yield put(fetchTransportOrdersPageSuccess(query, pageNumber, response, companyId));\n\n    checkShouldEmitChangePage(pageNumber, response, transportOrdersPaginationChannel);\n}\n\nfunction* transportOrdersSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_ORDERS_PAGE_REQUEST, fetchTransportOrdersSaga);\n}\n\nexport default transportOrdersSaga;\n","import * as React from 'react';\nimport { formatDate } from 'common/utils/time';\n\ntype PropsT = {\n    date: Date | number | string | null | undefined;\n    format?: string;\n};\n\nconst DateFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { date, format } = props;\n\n    if (!date) {\n        return null;\n    }\n\n    const label = formatDate(format || 'DD MMM YYYY', date);\n    return <span>{label}</span>;\n});\n\nexport default DateFormatter;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ControlsCell.scss';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    onDelete: () => void;\n    canDeletePartner: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ControlsCell: React.FC<PropsT> = React.memo((props) => {\n    const { className, onDelete, canDeletePartner } = props;\n\n    const { t } = useTranslation();\n\n    const options: Array<DropdownControlOptionT | null | undefined> = [\n        canDeletePartner\n            ? {\n                  label: (\n                      <div className={cx('option')}>\n                          <div className={cx('option__icon', 'option__icon--delete')} />\n                          <div className={cx('option__label')}>{t('partners-table.actions.delete')}</div>\n                      </div>\n                  ),\n                  onSelect: onDelete,\n              }\n            : null,\n    ];\n\n    return (\n        <div className={cx('wrap')}>\n            <div className={cx('controls')}>\n                <DropdownControl\n                    className={className}\n                    options={options}\n                    renderTrigger={(isActive, onClick) => (\n                        <TransparentTrigger\n                            isPressed={isActive}\n                            onClick={onClick}\n                            leftIcon={<MoreIcon />}\n                            reflectionTheme={ReflectionThemeEnum.light}\n                        />\n                    )}\n                    overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                />\n            </div>\n        </div>\n    );\n});\n\nexport default ControlsCell;\n","import * as React from 'react';\nimport { ReserveT } from 'common/store/order-creation/models';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './FerryDisembarkPointPicker.scss';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { formatTimeInterval } from 'common/utils/time';\nimport { FieldsEnum, RoutePointFieldsEnum } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/constants';\nimport { useFormikContext } from 'formik';\nimport { FormValuesT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/constants';\nimport { getFieldFormValue } from 'common/utils/form-values';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    reserve: ReserveT | null;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FerryDisembarkPointPicker: React.FC<PropsT> = React.memo((props) => {\n    const { routePointIndex, reserve } = props;\n\n    const { t } = useTranslation();\n\n    const routePoint = reserve?.points?.[routePointIndex] || null;\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const timeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n\n    const correctedTimeWindow = timeWindow || routePoint?.defaultTimeWindow || null;\n\n    return (\n        <ReadOnlyField\n            icon={\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            }\n            label={t('common:new-order-form.fields.ferry-disembark.label')}\n            subLabel={\n                <PillLabel className={cx('time-interval')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                    {formatTimeInterval(correctedTimeWindow?.start, correctedTimeWindow?.end)}\n                </PillLabel>\n            }\n            value={routePoint?.addressStr || location?.address}\n        />\n    );\n});\n\nexport default FerryDisembarkPointPicker;\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\n\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport { changeReserveQuery } from 'common/store/order-creation/actions';\n\nimport ExcludeCountriesMapWidget from 'common/components/ExcludeCountriesMapWidget/ExcludeCountriesMapWidget';\nimport { SyncShipmentDetailsFormValuesContext } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-form-values';\nimport { FieldsEnum } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/constants';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst ExcludeCountries: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const { t } = useTranslation();\n\n    const syncShipmentDetailsFormValuesContext = React.useContext(SyncShipmentDetailsFormValuesContext);\n    const excludedCountriesFormValue =\n        syncShipmentDetailsFormValuesContext?.formValues?.[FieldsEnum.excludedCountries] || [];\n\n    const dispatch = useDispatch();\n\n    const handleSetExcludedCountries = (excludedCountries: Array<CountryCodeT>): void => {\n        if (syncShipmentDetailsFormValuesContext?.setFieldValueCallback) {\n            syncShipmentDetailsFormValuesContext.setFieldValueCallback(FieldsEnum.excludedCountries, excludedCountries);\n        }\n\n        dispatch(\n            changeReserveQuery({\n                excludedCountries,\n            }),\n        );\n    };\n\n    return (\n        <ExcludeCountriesMapWidget\n            className={className}\n            excludedCountries={excludedCountriesFormValue}\n            setExcludedCountries={handleSetExcludedCountries}\n            triggerLabel={t('common:new-order-form.excluded-countries.trigger')}\n            inputPlaceholder={t('common:new-order-form.excluded-countries.search-input-placeholder')}\n        />\n    );\n});\n\nexport default ExcludeCountries;\n","// extracted by mini-css-extract-plugin\nexport default {\"icon\":\"TrailerType__icon___Twr6O\",\"icon--BOX\":\"TrailerType__icon--BOX___xXFlG\",\"icon--TILT\":\"TrailerType__icon--TILT___iURVl\",\"icon--REEF\":\"TrailerType__icon--REEF___jFLHP\",\"fadeIn\":\"TrailerType__fadeIn___XUo0p\",\"blinking\":\"TrailerType__blinking___WYKBO\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst PinIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    fill={fillColor}\n                    d=\"M14.875 8.65c0 1.928-1.575 4.342-4.62 7.133l-.255.225-.255-.233c-3.045-2.783-4.62-5.197-4.62-7.125 0-2.88 2.115-5.025 4.875-5.025s4.875 2.138 4.875 5.025z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M10 2.5c3.15 0 6 2.415 6 6.15 0 2.49-2.002 5.438-6 8.85-3.997-3.412-6-6.36-6-8.85C4 4.915 6.85 2.5 10 2.5zm4.5 6.15C14.5 5.927 12.512 4 10 4 7.487 4 5.5 5.928 5.5 8.65c0 1.755 1.463 4.08 4.5 6.855 3.037-2.775 4.5-5.1 4.5-6.855zM10 10c-.825 0-1.5-.675-1.5-1.5S9.175 7 10 7s1.5.675 1.5 1.5S10.825 10 10 10z\"\n                />\n                <path d=\"M1 1h18v18H1z\" />\n            </g>\n        </svg>\n    );\n};\n\nPinIcon.displayName = 'PinIcon';\n\nexport const PinIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.brandAccent : StyleGuideColorsEnum.white,\n            strokeColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.light,\n        };\n    },\n};\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default PinIcon;\n","export enum FieldsEnum {\n    createdByShipperId = 'createdByShipperId',\n    createdByShipperName = 'createdByShipperName',\n\n    createdByUserId = 'created-by-user-id',\n    createdByUserName = 'created-by-user-name',\n\n    createDates = 'createDates',\n\n    dictTrailerTypeId = 'dictTrailerTypeId',\n\n    pickupAddress = 'pickupAddress',\n    dropoffAddress = 'dropoffAddress',\n\n    pickupDates = 'pickupDates',\n    dropoffDates = 'dropoffDates',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.createdByShipperId]: string | null;\n    [FieldsEnum.createdByShipperName]: string | null;\n\n    [FieldsEnum.createdByUserId]: string | null;\n    [FieldsEnum.createdByUserName]: string | null;\n\n    [FieldsEnum.createDates]: DateRangeT | null;\n\n    [FieldsEnum.dictTrailerTypeId]: TrailerDictIdT | null;\n\n    [FieldsEnum.pickupAddress]: string | null;\n    [FieldsEnum.dropoffAddress]: string | null;\n\n    [FieldsEnum.pickupDates]: DateRangeT | null;\n    [FieldsEnum.dropoffDates]: DateRangeT | null;\n};\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { ApiUpdateDockingHoursQueryT } from 'common/utils/api/models';\n\nexport const UPDATE_DOCKING_HOURS = 'broker-admin/broker-order-edit/UPDATE_DOCKING_HOURS';\n\nexport const UPDATE_BROKER_ORDERS_REQUEST_BEGIN = 'broker-admin/broker-order-edit/UPDATE_BROKER_ORDERS_REQUEST_BEGIN';\nexport const UPDATE_BROKER_ORDERS_REQUEST_ERROR = 'broker-admin/broker-order-edit/UPDATE_BROKER_ORDERS_REQUEST_ERROR';\nexport const UPDATE_BROKER_ORDERS_REQUEST_SUCCESS =\n    'broker-admin/broker-order-edit/UPDATE_BROKER_ORDERS_REQUEST_SUCCESS';\n\nexport const RESET = 'broker-admin/broker-order-edit/RESET';\n\nexport type BrokerOrderEditStateT = {\n    brokerOrderId: BrokerOrderIdT | null;\n    requestStatus: RequestStatusT;\n};\n\nexport type UpdateDockingHoursActionT = {\n    type: typeof UPDATE_DOCKING_HOURS;\n    brokerOrderId: BrokerOrderIdT;\n    query: ApiUpdateDockingHoursQueryT;\n};\n\nexport type UpdateBrokerOrderRequestBeginActionT = {\n    type: typeof UPDATE_BROKER_ORDERS_REQUEST_BEGIN;\n    brokerOrderId: BrokerOrderIdT;\n};\n\nexport type UpdateBrokerOrderRequestSuccessActionT = {\n    type: typeof UPDATE_BROKER_ORDERS_REQUEST_SUCCESS;\n    brokerOrderId: BrokerOrderIdT;\n};\n\nexport type UpdateBrokerOrderRequestErrorActionT = {\n    type: typeof UPDATE_BROKER_ORDERS_REQUEST_ERROR;\n    error: Error;\n    brokerOrderId: BrokerOrderIdT;\n};\n\nexport type ResetActionT = {\n    type: typeof RESET;\n};\n\nexport type BrokerOrderEditActionT =\n    | UpdateDockingHoursActionT\n    | UpdateBrokerOrderRequestBeginActionT\n    | UpdateBrokerOrderRequestSuccessActionT\n    | UpdateBrokerOrderRequestErrorActionT\n    | ResetActionT;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SaveFooterContent.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport { useSelector } from 'react-redux';\nimport { selectUpdateCarrierContractRequest } from 'common/store/carrier-contracts/selectors';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT | null;\n};\n\nconst SaveFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId } = props;\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    const updateContractRequest = useSelector(selectUpdateCarrierContractRequest(partnerId));\n\n    const { t } = useTranslation();\n\n    const isLoading = updateContractRequest.loading;\n\n    return (\n        <div className={cx('content')}>\n            <Button\n                theme={ButtonThemeEnum.primary}\n                className={cx('action')}\n                onClick={remoteFormActionsContext.remoteFormCallbacks?.submit}\n                isLoading={isLoading}\n                isDisabled={isLoading}\n            >\n                {t('common:carrier-contracts.actions.save')}\n            </Button>\n        </div>\n    );\n});\n\nexport default SaveFooterContent;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { BooleanSettingValueEnum, SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst getInitialValues = (systemSettings: SystemSettingsT | null | undefined): FormValuesT => {\n    return {\n        [FieldsEnum.autoExcludeNonEUCountries]:\n            systemSettings?.AUTO_EXCLUDE_NON_EU_COUNTRIES === BooleanSettingValueEnum.true,\n    };\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"CreatePartnerInfo__wrap___sazqO\",\"text\":\"CreatePartnerInfo__text___DpZal\",\"broker\":\"CreatePartnerInfo__broker___lCWqg\",\"fadeIn\":\"CreatePartnerInfo__fadeIn___yb6r6\",\"blinking\":\"CreatePartnerInfo__blinking___Z_zvX\"};","import React from 'react';\n\nimport moment from 'moment';\n\nimport Input, { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { getDateMask, getDateRangeMask } from 'common/utils/input-masks';\nimport { formatDate } from 'common/utils/time';\n\nexport type InputDateValueT = Date | null;\nexport type InputDateValuePropsT = {\n    isRange?: false;\n    value: InputDateValueT;\n    onChange: (value: InputDateValueT, selectedDate: InputDateValueT) => void;\n};\n\nexport type InputRangeValueT = DateRangeT | null;\nexport type InputRangeValuePropsT = {\n    isRange: true;\n    value: InputRangeValueT;\n    onChange: (value: InputRangeValueT, selectedDate: InputDateValueT) => void;\n};\n\nexport type IconMetaT = {\n    isLoading: boolean;\n    isDisabled: boolean;\n    isFocused: boolean;\n    hasError: boolean;\n    hasWarning: boolean;\n    hasSuccess: boolean;\n    isHighlighted: boolean;\n    hasValue: boolean;\n};\n\ntype BasePropsT = {\n    name?: InputPropsT['name'];\n    placeholder?: InputPropsT['placeholder'];\n    isDisabled?: InputPropsT['isDisabled'];\n    isForcedFocused?: InputPropsT['isFocused'];\n    minDate?: string | null;\n    maxDate?: string | null;\n    hasError?: InputPropsT['hasError'];\n    hasWarning?: InputPropsT['hasWarning'];\n    autoComplete?: InputPropsT['autoComplete'];\n    hasChanges?: InputPropsT['hasChanges'];\n    onKeyUp?: InputPropsT['onKeyUp'];\n    onBlur?: InputPropsT['onBlur'];\n    onFocus?: InputPropsT['onFocus'];\n    className?: string;\n    renderLeftIcon?: (iconMeta: IconMetaT) => React.ReactNode;\n    renderRightIcon?: (iconMeta: IconMetaT) => React.ReactNode;\n    isTransparent?: InputPropsT['isTransparent'];\n    hasClearControl?: InputPropsT['hasClearControl'];\n};\n\nexport type DateInputPropsT = (BasePropsT & InputDateValuePropsT) | (BasePropsT & InputRangeValuePropsT);\n\nconst EMPTY_RANGE: InputRangeValueT = { from: null, to: null };\n\nconst DATE_FORMAT = 'DD.MM.YYYY';\nconst DATES_SEPARATOR = ' - ';\nconst MASK_SYMBOL = '_';\n\nconst formatDateValue = (value: InputDateValueT): string | null => {\n    return formatDate(DATE_FORMAT, value);\n};\n\nconst formatDateRangeValue = (value: InputRangeValueT): string | null => {\n    const startDate = formatDate(DATE_FORMAT, value?.from);\n    const endDate = formatDate(DATE_FORMAT, value?.to);\n\n    if (!startDate && !endDate) {\n        return '';\n    }\n\n    return [startDate || '', startDate ? DATES_SEPARATOR : '', endDate || ''].join('');\n};\n\nconst checkIsEmptyDateValue = (value: InputDateValueT): boolean => {\n    return !value;\n};\n\nconst checkIsEmptyDateRangeValue = (value: InputRangeValueT): boolean => {\n    return !value?.from && !value?.to;\n};\n\n/* eslint-disable react/destructuring-assignment */\nconst DateInputTrigger: React.FC<DateInputPropsT> = (props) => {\n    const {\n        name,\n        placeholder,\n        onFocus,\n        onBlur,\n        onKeyUp,\n        minDate,\n        maxDate,\n        isDisabled,\n        isForcedFocused,\n        hasError,\n        hasWarning,\n        hasChanges,\n        autoComplete,\n        className,\n        renderLeftIcon,\n        renderRightIcon,\n        hasClearControl,\n        isTransparent,\n    } = props;\n\n    const [isFocusedInput, setFocusedInput] = React.useState(false);\n\n    const [inputValue, setInputValue] = React.useState(() => {\n        if (props.isRange) {\n            return formatDateRangeValue(props.value || null);\n        }\n        return formatDateValue(props.value || null);\n    });\n\n    const dateRangeMask = React.useMemo(() => getDateRangeMask(), []);\n    const dateMask = React.useMemo(() => getDateMask(), []);\n\n    React.useEffect(() => {\n        if (!isFocusedInput) {\n            const initInputValue = props.isRange ? formatDateRangeValue(props.value) : formatDateValue(props.value);\n            setInputValue(initInputValue);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [props.value]);\n\n    const handleChangeInputValue = (value: string) => {\n        setInputValue(value);\n\n        if (!value) {\n            if (props.isRange) {\n                props.onChange(EMPTY_RANGE, null);\n            } else {\n                props.onChange(null, null);\n            }\n            return;\n        }\n\n        if (!props.isRange) {\n            const isValid = !value.includes(MASK_SYMBOL);\n            const date = moment(value, DATE_FORMAT);\n            if (\n                isValid &&\n                date.isValid() &&\n                (minDate ? date.isAfter(minDate) : true) &&\n                (maxDate ? date.isBefore(maxDate) : true)\n            ) {\n                props.onChange(date.toDate(), null);\n            }\n        }\n\n        if (props.isRange) {\n            const [startDateString, endDateString] = value.split(DATES_SEPARATOR);\n\n            let fromDateRange: DateRangeT['from'] = null;\n\n            const isValidStartDate = !startDateString.includes(MASK_SYMBOL);\n            const startDate = moment(startDateString, DATE_FORMAT);\n\n            // fix: for others timezones\n            startDate.add(12, 'hours');\n\n            const checkIsInMinMax = (date: moment.Moment): boolean => {\n                return (minDate ? date.isAfter(minDate) : true) && (maxDate ? date.isBefore(maxDate) : true);\n            };\n\n            if (isValidStartDate && startDate.isValid() && checkIsInMinMax(startDate)) {\n                fromDateRange = startDate.toDate();\n            }\n\n            let toDateRange: DateRangeT['to'] = null;\n\n            const isValidEndDate = !endDateString.includes(MASK_SYMBOL);\n            const endDate = moment(endDateString, DATE_FORMAT);\n\n            // fix: for others timezones\n            endDate.add(12, 'hours');\n\n            if (isValidEndDate && endDate.isValid() && checkIsInMinMax(endDate)) {\n                toDateRange = endDate.toDate();\n            }\n\n            let dateRange: DateRangeT = {\n                from: fromDateRange,\n                to: toDateRange,\n            };\n\n            if (fromDateRange && toDateRange && fromDateRange.valueOf() > toDateRange.valueOf()) {\n                dateRange = {\n                    from: toDateRange,\n                    to: fromDateRange,\n                };\n            }\n\n            props.onChange(dateRange, null);\n        }\n    };\n\n    const isEmpty = props.isRange ? checkIsEmptyDateRangeValue(props.value) : checkIsEmptyDateValue(props.value);\n\n    const handleBlur = () => {\n        setFocusedInput(false);\n\n        const initInputValue = props.isRange ? formatDateRangeValue(props.value) : formatDateValue(props.value);\n        setInputValue(initInputValue);\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handleFocus = () => {\n        setFocusedInput(true);\n\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    return (\n        <Input\n            className={className}\n            name={name || 'date-input'}\n            value={inputValue || ''}\n            renderLeftIcon={\n                renderLeftIcon\n                    ? (iconMeta) =>\n                          renderLeftIcon({\n                              ...iconMeta,\n                              isFocused: iconMeta.isFocused || !!isForcedFocused,\n                              hasValue: !isEmpty,\n                          })\n                    : undefined\n            }\n            placeholder={placeholder}\n            onChange={handleChangeInputValue}\n            hasError={hasError}\n            onKeyUp={onKeyUp}\n            onFocus={handleFocus}\n            onBlur={handleBlur}\n            hasWarning={hasWarning}\n            isDisabled={isDisabled}\n            isFocused={isForcedFocused}\n            mask={props.isRange ? dateRangeMask : dateMask}\n            hasChanges={hasChanges}\n            autoComplete={autoComplete}\n            renderRightIcon={\n                renderRightIcon\n                    ? (iconMeta) =>\n                          renderRightIcon({\n                              ...iconMeta,\n                              isFocused: iconMeta.isFocused || !!isForcedFocused,\n                              hasValue: !isEmpty,\n                          })\n                    : undefined\n            }\n            isTransparent={isTransparent}\n            guide\n            hasClearControl={hasClearControl}\n        />\n    );\n};\n\nexport default DateInputTrigger;\n","import * as React from 'react';\nimport { useSyncRouteStopsChannels } from '../hooks/use-sync-route-stops-channels';\nimport { RoutePointFormValuesT } from '../constants';\n\ntype PropsT = {\n    formikArrayHelpers: {\n        insert: (index: number, value: RoutePointFormValuesT) => void;\n        remove: (index: number) => void;\n        move: (from: number, to: number) => void;\n    };\n};\n\nconst SyncPointsWatcher: React.FC<PropsT> = React.memo((props) => {\n    useSyncRouteStopsChannels(props.formikArrayHelpers);\n\n    return null;\n});\n\nexport default SyncPointsWatcher;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './Steps.scss';\nimport { useTranslation } from 'react-i18next';\nimport { generatePath } from 'react-router';\nimport { OrderCreationStepEnum } from 'common/store/order-creation/models';\nimport { matchPath, useLocation } from 'react-router-dom';\nimport { OMSRoutesEnum, QueryKeysEnum } from 'common/constants';\nimport history from 'common/utils/history';\nimport Stepper from 'common/components/Stepper/Stepper';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport { useContext } from 'react';\nimport StepsContext from 'common/layouts/NewOrderPage/contexts/steps-context';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst STEP_PATH_NAMES = {\n    [OrderCreationStepEnum.shipmentDetails]: OMSRoutesEnum.newOrder,\n    [OrderCreationStepEnum.price]: OMSRoutesEnum.newOrderOffers,\n    [OrderCreationStepEnum.cargoDetails]: OMSRoutesEnum.newOrderDetails,\n};\n\ntype QueryT = {\n    [QueryKeysEnum.orderCreationComplete]: string;\n};\n\nconst STEP_T_MAP: Record<OrderCreationStepEnum, string> = {\n    [OrderCreationStepEnum.shipmentDetails]: 'common:new-order-form.steps.route-and-trailer',\n    [OrderCreationStepEnum.price]: 'common:new-order-form.steps.price',\n    [OrderCreationStepEnum.cargoDetails]: 'common:new-order-form.steps.cargo-details',\n};\n\nconst Steps: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const stepsContext = useContext(StepsContext);\n    const { hasSelectedContact } = stepsContext;\n\n    const { pathname, search } = useLocation();\n\n    const query = useQuery<QueryT>();\n\n    let params = {};\n    let activeStepIndex = 0;\n    let stepsSequence: Array<OrderCreationStepEnum> = [];\n    const match1 = matchPath(pathname, { path: OMSRoutesEnum.newOrder });\n    if (match1) {\n        params = { ...params, ...match1.params };\n        activeStepIndex = 0;\n        stepsSequence = hasSelectedContact\n            ? [OrderCreationStepEnum.shipmentDetails, OrderCreationStepEnum.cargoDetails]\n            : [OrderCreationStepEnum.shipmentDetails, OrderCreationStepEnum.price, OrderCreationStepEnum.cargoDetails];\n    }\n\n    const match2 = matchPath(pathname, { path: OMSRoutesEnum.newOrderOffers });\n    if (match2) {\n        params = { ...params, ...match2.params };\n        activeStepIndex = 1;\n        stepsSequence = [\n            OrderCreationStepEnum.shipmentDetails,\n            OrderCreationStepEnum.price,\n            OrderCreationStepEnum.cargoDetails,\n        ];\n    }\n\n    const match3 = matchPath(pathname, { path: OMSRoutesEnum.newOrderDetails });\n    if (match3) {\n        params = { ...params, ...match3.params };\n        activeStepIndex = 2;\n        stepsSequence = [\n            OrderCreationStepEnum.shipmentDetails,\n            OrderCreationStepEnum.price,\n            OrderCreationStepEnum.cargoDetails,\n        ];\n    }\n\n    const match3Lane = matchPath(pathname, { path: OMSRoutesEnum.newOrderDetailsWithLane });\n    if (match3Lane) {\n        params = { ...params, ...match3Lane.params };\n        activeStepIndex = 1;\n        stepsSequence = [OrderCreationStepEnum.shipmentDetails, OrderCreationStepEnum.cargoDetails];\n    }\n\n    const steps = stepsSequence.map((step) => ({\n        label: t(STEP_T_MAP[step]),\n        step,\n        pathnameTemplate: STEP_PATH_NAMES[step],\n    }));\n\n    const goTo = (stepIndex: number): void => {\n        const { pathnameTemplate } = steps[stepIndex];\n        const pathname = generatePath(pathnameTemplate, params);\n\n        history.push({\n            pathname,\n            search,\n        });\n    };\n\n    const isContinue = !!query[QueryKeysEnum.orderCreationComplete];\n\n    return (\n        <Stepper\n            className={cx('steps')}\n            activeStepIndex={activeStepIndex}\n            goTo={goTo}\n            steps={steps}\n            testSelector=\"new-order\"\n            isDisabledBack={isContinue}\n            initShowStepIndex={isContinue ? 1 : 0}\n        />\n    );\n});\n\nexport default Steps;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport isNumber from 'lodash/isNumber';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport ColoredStatusLabel from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\n\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport AssetLabelFormatter from 'design-system/components/InfoTable/formatters/AssetLabelFormatter/AssetLabelFormatter';\nimport TrailerIcon from 'common/icons/TrailerIcon';\n\nconst getUtilizationLabel = (afterValue: number | null | undefined, beforeValue: number | null | undefined) => {\n    if (!isNumber(afterValue)) {\n        return '';\n    }\n\n    if (!isNumber(beforeValue)) {\n        return afterValue;\n    }\n\n    const diff = afterValue - beforeValue;\n    return `${beforeValue}% ${diff < 0 ? '-' : '+'} ${Math.abs(diff)}%`;\n};\n\nconst getAssetUtilizationColor = (percent: number | null | undefined) => {\n    if (isNumber(percent) && percent > 90) {\n        return StyleGuideColorsEnum.brandDark;\n    }\n\n    if (isNumber(percent) && percent > 50) {\n        return StyleGuideColorsEnum.orange;\n    }\n\n    return StyleGuideColorsEnum.tomatoRed;\n};\n\nconst getFleetUtilizationColor = (percent: number | null | undefined) => {\n    if (isNumber(percent) && percent > 90) {\n        return StyleGuideColorsEnum.brandDark;\n    }\n\n    if (isNumber(percent) && percent > 50) {\n        return StyleGuideColorsEnum.orange;\n    }\n\n    return StyleGuideColorsEnum.tomatoRed;\n};\n\nexport const useUtilizationRowsFactory = () => {\n    const { t } = useTranslation();\n\n    return React.useMemo(() => {\n        return {\n            trainCarrier: ({\n                carrierCountryCode,\n                carrierName,\n                utilizationBefore,\n                utilizationAfter,\n            }: {\n                carrierCountryCode: string | null | undefined;\n                carrierName: string;\n                utilizationBefore: number | null | undefined;\n                utilizationAfter: number | null | undefined;\n            }) => ({\n                icon: <FlagIcon countryCode={carrierCountryCode} />,\n                name: t('assignment.utilization-details.train-carrier', {\n                    companyName: carrierName,\n                }),\n                rightNode: isNumber(utilizationBefore) ? (\n                    <ColoredStatusLabel\n                        isWithoutVerticalPaddings\n                        label={t('assignment.utilization-details.fleet-utilization', {\n                            utilization: getUtilizationLabel(utilizationAfter, utilizationBefore),\n                        })}\n                        color={getFleetUtilizationColor(utilizationBefore)}\n                    />\n                ) : null,\n                isBoldValue: true,\n            }),\n            truckCarrier: ({\n                carrierCountryCode,\n                carrierName,\n                utilizationBefore,\n                utilizationAfter,\n            }: {\n                carrierCountryCode: string | null | undefined;\n                carrierName: string;\n                utilizationBefore: number | null | undefined;\n                utilizationAfter: number | null | undefined;\n            }) => ({\n                icon: <FlagIcon countryCode={carrierCountryCode} />,\n                name: t('assignment.utilization-details.truck-carrier', {\n                    companyName: carrierName,\n                }),\n                rightNode: isNumber(utilizationBefore) ? (\n                    <ColoredStatusLabel\n                        isWithoutVerticalPaddings\n                        label={t('assignment.utilization-details.fleet-utilization', {\n                            utilization: getUtilizationLabel(utilizationAfter, utilizationBefore),\n                        })}\n                        color={getFleetUtilizationColor(utilizationBefore)}\n                    />\n                ) : null,\n                isBoldValue: true,\n            }),\n            trailerCarrier: ({\n                carrierCountryCode,\n                carrierName,\n                utilizationBefore,\n                utilizationAfter,\n            }: {\n                carrierCountryCode: string | null | undefined;\n                carrierName: string;\n                utilizationBefore: number | null | undefined;\n                utilizationAfter: number | null | undefined;\n            }) => ({\n                icon: <FlagIcon countryCode={carrierCountryCode} />,\n                name: t('assignment.utilization-details.trailer-carrier', {\n                    companyName: carrierName,\n                }),\n                rightNode: isNumber(utilizationBefore) ? (\n                    <ColoredStatusLabel\n                        isWithoutVerticalPaddings\n                        label={t('assignment.utilization-details.fleet-utilization', {\n                            utilization: getUtilizationLabel(utilizationAfter, utilizationBefore),\n                        })}\n                        color={getFleetUtilizationColor(utilizationBefore)}\n                    />\n                ) : null,\n                isBoldValue: true,\n            }),\n            truck: ({\n                model,\n                plateNumber,\n                utilizationBefore,\n                utilizationAfter,\n            }: {\n                model: string | null | undefined;\n                plateNumber: string | null | undefined;\n                utilizationBefore: number | null | undefined;\n                utilizationAfter: number | null | undefined;\n            }) => ({\n                icon: (\n                    <TruckIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.brandDark}\n                        fillOpacity={0.3}\n                        fillColor={StyleGuideColorsEnum.brandAccent}\n                    />\n                ),\n                name: <AssetLabelFormatter model={model} plateNumber={plateNumber} />,\n                rightNode: isNumber(utilizationBefore) ? (\n                    <ColoredStatusLabel\n                        isWithoutVerticalPaddings\n                        label={t('assignment.utilization-details.asset-utilization', {\n                            utilization: getUtilizationLabel(utilizationAfter, utilizationBefore),\n                        })}\n                        color={getAssetUtilizationColor(utilizationBefore)}\n                    />\n                ) : null,\n                isBoldValue: true,\n            }),\n            trailer: ({\n                model,\n                plateNumber,\n                utilizationBefore,\n                utilizationAfter,\n            }: {\n                model: string | null | undefined;\n                plateNumber: string | null | undefined;\n                utilizationBefore: number | null | undefined;\n                utilizationAfter: number | null | undefined;\n            }) => ({\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.brandDark}\n                        fillOpacity={0.3}\n                        fillColor={StyleGuideColorsEnum.brandAccent}\n                    />\n                ),\n                name: <AssetLabelFormatter model={model} plateNumber={plateNumber} />,\n                rightNode: isNumber(utilizationBefore) ? (\n                    <ColoredStatusLabel\n                        isWithoutVerticalPaddings\n                        label={t('assignment.utilization-details.asset-utilization', {\n                            utilization: getUtilizationLabel(utilizationAfter, utilizationBefore),\n                        })}\n                        color={getAssetUtilizationColor(utilizationBefore)}\n                    />\n                ) : null,\n                isBoldValue: true,\n            }),\n        };\n    }, [t]);\n};\n","export enum TourTypeTabsEnum {\n    deadhead = 'deadhead',\n    nextTour = 'nextTour',\n}\n\nexport enum AssetTypeTabsEnum {\n    train = 'train',\n    truck = 'truck',\n    trailer = 'trailer',\n}\n","import { SharableStateT } from '../models';\nimport { ShipperSuggestStateT } from './types';\nimport { initialShipperSuggestState } from 'common/store/shipper-suggest/reducer';\n\nexport const selectFindShippersQuery = (state: SharableStateT): ShipperSuggestStateT['query'] => {\n    return state?.shipperSuggest?.query || initialShipperSuggestState.query;\n};\nexport const selectFindShippersRequest = (state: SharableStateT): ShipperSuggestStateT['requestStatus'] => {\n    return state?.shipperSuggest?.requestStatus || initialShipperSuggestState.requestStatus;\n};\n\nexport const selectShippersIds = (state: SharableStateT): ShipperSuggestStateT['ids'] => {\n    return state?.shipperSuggest?.ids || initialShipperSuggestState.ids;\n};\n\nexport const selectShippersById = (state: SharableStateT): ShipperSuggestStateT['byId'] => {\n    return state?.shipperSuggest?.byId || initialShipperSuggestState.byId;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"EditTimeWindowsForm__title___MpAgq\",\"actions\":\"EditTimeWindowsForm__actions___QEMhx\",\"time-picker\":\"EditTimeWindowsForm__time-picker___sNDCY\",\"time-picker__icon\":\"EditTimeWindowsForm__time-picker__icon___ZOBTR\",\"action\":\"EditTimeWindowsForm__action___HAfUr\",\"action--cancel\":\"EditTimeWindowsForm__action--cancel___eC8Xx\",\"action--set\":\"EditTimeWindowsForm__action--set___kSH5x\",\"fadeIn\":\"EditTimeWindowsForm__fadeIn___zz_te\",\"blinking\":\"EditTimeWindowsForm__blinking___f7vDF\"};","import React, { useMemo } from 'react';\nimport { PointToDropT } from 'broker-admin/store/broker-order-assigment/models';\n\nexport type OnMapClickCallbackT = (pointToDrop: PointToDropT | null) => void;\n\nexport type SyncAssignmentFormMapStateContextValueT = {\n    onMapClickCallback: { callback: OnMapClickCallbackT } | null;\n    setOnMapClickCallback: (params: { callback: OnMapClickCallbackT }) => void;\n\n    hasDropTrailerPointError: boolean;\n    setHasDropTrailerPointError: (hasDropTrailerPointError: boolean) => void;\n    hasDropTruckPointError: boolean;\n    setHasDropTruckPointError: (hasDropTruckPointError: boolean) => void;\n};\n\nexport const usySyncMapState = (): SyncAssignmentFormMapStateContextValueT => {\n    const [onMapClickCallback, setOnMapClickCallback] = React.useState<{ callback: OnMapClickCallbackT } | null>(null);\n    const [hasDropTrailerPointError, setHasDropTrailerPointError] = React.useState<boolean>(false);\n    const [hasDropTruckPointError, setHasDropTruckPointError] = React.useState<boolean>(false);\n\n    return useMemo(() => {\n        return {\n            onMapClickCallback,\n            setOnMapClickCallback,\n            hasDropTrailerPointError,\n            setHasDropTrailerPointError,\n            hasDropTruckPointError,\n            setHasDropTruckPointError,\n        };\n    }, [onMapClickCallback, hasDropTrailerPointError, hasDropTruckPointError]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"name\":\"ContractNameCell__name___z_PfV\",\"fadeIn\":\"ContractNameCell__fadeIn___O3Z0V\",\"blinking\":\"ContractNameCell__blinking___OgcVV\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './PreviewMessage.scss';\n\ntype PropsT = {\n    icon?: React.ReactNode;\n    title?: React.ReactNode;\n    description?: React.ReactNode;\n};\n\nconst cx = classNames.bind(styles);\n\nconst PreviewMessage: React.FC<PropsT> = React.memo((props) => {\n    const { icon, title, description } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <div className={cx('icon')}>{icon}</div>\n            <div className={cx('title')}>{title}</div>\n            <div className={cx('description')}>{description}</div>\n        </div>\n    );\n});\n\nexport default PreviewMessage;\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\nimport values from 'lodash/values';\n\nconst REQUIRED_FIELDS = values<FieldsEnum>(FieldsEnum);\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './AssetPickUpLocationPin.scss';\nimport { AssetTypeEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport MapPin, { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport TrailerPickUpIcon from 'common/icons/TrailerPickUpIcon';\nimport TruckPickUpIcon from 'common/icons/TruckPickUpIcon';\nimport LinkPickUpIcon from 'common/icons/LinkPickUpIcon';\nimport isNumber from 'lodash/isNumber';\nimport IconWithNumber from 'common/components/IconWithNumber/IconWithNumber';\n\nconst cx = classNames.bind(styles);\n\nconst getIconColorsByTheme = (theme: MapPinThemeEnum) => {\n    if (theme === MapPinThemeEnum.charcoal) {\n        return {\n            fillColor: StyleGuideColorsEnum.transparent,\n            strokeColor: StyleGuideColorsEnum.white,\n        };\n    }\n\n    if (\n        theme === MapPinThemeEnum.blazeOrange ||\n        theme === MapPinThemeEnum.tomatoRed ||\n        theme === MapPinThemeEnum.brandDark\n    ) {\n        return {\n            fillColor: StyleGuideColorsEnum.transparent,\n            strokeColor: StyleGuideColorsEnum.white,\n        };\n    }\n\n    return {\n        fillColor: StyleGuideColorsEnum.transparent,\n        strokeColor: StyleGuideColorsEnum.brandDark,\n    };\n};\n\nconst getLinkIconColorsByTheme = (theme: MapPinThemeEnum) => {\n    if (theme === MapPinThemeEnum.charcoal) {\n        return {\n            strokeColor: StyleGuideColorsEnum.light,\n        };\n    }\n\n    if (\n        theme === MapPinThemeEnum.blazeOrange ||\n        theme === MapPinThemeEnum.tomatoRed ||\n        theme === MapPinThemeEnum.brandDark\n    ) {\n        return {\n            strokeColor: StyleGuideColorsEnum.white,\n        };\n    }\n\n    return {\n        strokeColor: StyleGuideColorsEnum.brandDark,\n    };\n};\n\ntype PropsT = {\n    className?: string;\n    lat: number | undefined;\n    lng: number | undefined;\n    assetType: AssetTypeEnum | null;\n    number?: number | null;\n    theme?: MapPinThemeEnum;\n};\n\nconst AssetPickUpLocationPin: React.FC<PropsT> = React.memo((props) => {\n    const { className, lat, lng, assetType, number } = props;\n\n    const theme = props.theme || MapPinThemeEnum.charcoal;\n\n    let iconNode: React.ReactNode | undefined;\n\n    if (!iconNode && !assetType) {\n        iconNode = <LinkPickUpIcon {...getLinkIconColorsByTheme(theme)} />;\n    }\n\n    if (!iconNode && assetType === AssetTypeEnum.trailer) {\n        iconNode = <TrailerPickUpIcon {...getIconColorsByTheme(theme)} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    if (!iconNode && assetType === AssetTypeEnum.truck) {\n        iconNode = <TruckPickUpIcon {...getIconColorsByTheme(theme)} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    if (!iconNode) {\n        return null;\n    }\n\n    const isShouldRenderNumber = isNumber(number);\n\n    return (\n        <MapPin\n            hasPaddings={!isShouldRenderNumber}\n            className={cs(cx('asset-tooltip'), className)}\n            lat={lat}\n            lng={lng}\n            theme={theme}\n        >\n            {isShouldRenderNumber ? <IconWithNumber number={number}>{iconNode}</IconWithNumber> : iconNode}\n        </MapPin>\n    );\n});\n\nexport default AssetPickUpLocationPin;\n","import * as React from 'react';\n\ntype PropsT = {};\n\nconst FilterIcon: React.FC<PropsT> = (props) => {\n    return (\n        <svg width={20} height={20} viewBox=\"0 0 20 20\" {...props}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill=\"#3E3F42\" d=\"M8.5 14.5h3V13h-3v1.5zm-5.25-9V7h13.5V5.5H3.25zm2.25 5.25h9v-1.5h-9v1.5z\" />\n            </g>\n        </svg>\n    );\n};\n\nFilterIcon.displayName = 'FilterIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default FilterIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './UpdatedPartnerShipperLaneContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ShipperContractLaneId from 'broker-admin/components/notification-cards/entities/ShipperContractLaneId/ShipperContractLaneId';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    id: string;\n};\n\nconst UpdatedPartnerShipperLaneContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-lane-updated\"\n                components={{\n                    id: <ShipperContractLaneId id={id} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default UpdatedPartnerShipperLaneContractCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"BrokerOrderDetailsPage__wrap___Gq8Lu\",\"tabs-wrap\":\"BrokerOrderDetailsPage__tabs-wrap___vJoW8\",\"tab\":\"BrokerOrderDetailsPage__tab___ahtna\",\"fadeIn\":\"BrokerOrderDetailsPage__fadeIn___MBNh3\",\"blinking\":\"BrokerOrderDetailsPage__blinking___BWzMs\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RunOutOfTimeAssignAssetsCard.scss';\nimport { Trans } from 'react-i18next';\nimport NotificationSubjectType from '../entities/NotificationSubjectType/NotificationSubjectType';\nimport { ApiNotificationSubjectTypeT } from 'common/utils/api/models';\nimport CityName from '../entities/CityName/CityName';\nimport SubjectLink from '../entities/SubjectLink/SubjectLink';\n\nconst cx = classNames.bind(styles);\n\nexport type RunOutOfTimeAssignAssetsCardPropsT = {\n    subjectType: ApiNotificationSubjectTypeT | null | undefined;\n    subjectNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst RunOutOfTimeAssignAssetsCard: React.FC<RunOutOfTimeAssignAssetsCardPropsT> = React.memo((props) => {\n    const { subjectType, subjectNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <Trans\n                i18nKey=\"common:notifications.transport-order-run-out-of-time-assign-assets\"\n                components={{\n                    subjectType: <NotificationSubjectType isCapitalized subjectType={subjectType} />,\n                    subjectLink: <SubjectLink number={subjectNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RunOutOfTimeAssignAssetsCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerTrailersPage__fadeIn___MXcAd\",\"blinking\":\"PartnerTrailersPage__blinking___hpB8c\"};","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"HeaderSideBarContent__header___A5Nrp\",\"title\":\"HeaderSideBarContent__title___IzqiX\",\"spacer\":\"HeaderSideBarContent__spacer___RMXOe\",\"after-title-node\":\"HeaderSideBarContent__after-title-node___QUH51\",\"right-node\":\"HeaderSideBarContent__right-node___QcfJR\",\"control--has-right-padding\":\"HeaderSideBarContent__control--has-right-padding___ZBBl7\",\"control--back-button\":\"HeaderSideBarContent__control--back-button___Q5QLO\",\"after-dropdown-node\":\"HeaderSideBarContent__after-dropdown-node___QnXsz\",\"skeleton\":\"HeaderSideBarContent__skeleton___w96dg\",\"fadeIn\":\"HeaderSideBarContent__fadeIn___nyp5_\",\"blinking\":\"HeaderSideBarContent__blinking___oKgg2\"};","// extracted by mini-css-extract-plugin\nexport default {\"map-tooltip-wrap\":\"MapTooltip__map-tooltip-wrap___QzIr8\",\"footer-wrap\":\"MapTooltip__footer-wrap___LDBqY\",\"fadeIn\":\"MapTooltip__fadeIn___QsgDg\",\"blinking\":\"MapTooltip__blinking___v7BtO\"};","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"PriceComponentTypeCustomMultipleDropdown__option___Ki7xZ\",\"overlay\":\"PriceComponentTypeCustomMultipleDropdown__overlay___JxIBD\",\"fadeIn\":\"PriceComponentTypeCustomMultipleDropdown__fadeIn___nDFnR\",\"blinking\":\"PriceComponentTypeCustomMultipleDropdown__blinking___y4lj0\"};","import * as React from 'react';\nimport { useContext, useState } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AssetDetailsMap.scss';\nimport GoogleMapReact from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport { AssetTypeEnum } from 'common/constants';\nimport LastAssetTrackPointPin from 'common/components/maps/pins/LastAssetTrackPointPin/LastAssetTrackPointPin';\nimport { parseDateString } from 'common/utils/time';\nimport AssetServiceLocationContext from 'common/components/AssetSidebarContent/contexts/asset-service-location-context';\nimport GoogleMapContext, { GoogleMapContextT } from 'common/contexts/google-map-context';\nimport { GoogleMapsGeocoderApi } from 'common/utils/google-maps-api/google-maps-geocoder-api';\nimport { GoogleMapsPlacesApi } from 'common/utils/google-maps-api/google-maps-places-api';\nimport { getGeoCodingLocation } from 'common/utils/google-places';\nimport ServicePinIcon from 'common/icons/ServicePinIcon';\nimport MapLoader from 'common/components/maps/MapLoader/MapLoader';\nimport { SyncSetUnavailableFormMapStateContext } from 'common/components/AssetSidebarContent/SetUnavailableForm/contexts/sync-map-state';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    type: AssetTypeEnum;\n    isLoading: boolean;\n    currentPosition: GeoPointT | null;\n    telematicUpdatedDate: string | undefined;\n};\n\nconst MAP_PIN_KEY = {\n    serviceLocationPoint: 'service-location-point',\n};\n\nconst geocodeByPoint = async (\n    googleMapContext: GoogleMapContextT | null,\n    point: GeoPointT,\n): Promise<LocationT | null> => {\n    const geocoderApi = new GoogleMapsGeocoderApi(googleMapContext?.googleMaps?.maps);\n    const geocodeResult = await geocoderApi.geocode(point);\n    if (!geocodeResult?.place_id) {\n        return null;\n    }\n\n    const placesApi = new GoogleMapsPlacesApi(googleMapContext?.googleMaps?.map, googleMapContext?.googleMaps?.maps);\n    const result = await placesApi.getPlaceDetails(geocodeResult?.place_id);\n    if (!result) {\n        return null;\n    }\n\n    const location = getGeoCodingLocation(result);\n    return location || null;\n};\n\nconst AssetDetailsMap: React.FC<PropsT> = React.memo((props) => {\n    const { type, isLoading, currentPosition, telematicUpdatedDate } = props;\n\n    const { hasDropAssetPointError } = useContext(SyncSetUnavailableFormMapStateContext);\n\n    const { location: contextLocations, setLocation: setContextLocation } = useContext(AssetServiceLocationContext);\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const apiIsLoaded = (api: TODO) => {\n        const { map, maps } = api;\n\n        // eslint-disable-next-line no-unused-expressions\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const [draggablePin, setDraggablePin] = useState<{\n        point: GeoPointT;\n        childKey: string;\n    } | null>(null);\n\n    const handleDragMove = (childKey: string, childProps: any, mouse: GeoPointT) => {\n        if (childKey !== MAP_PIN_KEY.serviceLocationPoint) {\n            return;\n        }\n\n        setDraggablePin({\n            childKey,\n            point: {\n                lat: mouse.lat,\n                lng: mouse.lng,\n            },\n        });\n    };\n\n    const handleDragEnd = async (childKey: string, childProps: any, mouse: GeoPointT) => {\n        const pointToDrop = await geocodeByPoint(googleMapContext, mouse);\n        if (!pointToDrop) {\n            return;\n        }\n\n        if (childKey === MAP_PIN_KEY.serviceLocationPoint) {\n            setContextLocation(pointToDrop);\n        }\n\n        setDraggablePin(null);\n    };\n\n    const viewServiceLocationPoint =\n        draggablePin?.childKey === MAP_PIN_KEY.serviceLocationPoint ? draggablePin?.point : contextLocations?.point;\n\n    return (\n        <>\n            {isLoading && <MapLoader />}\n            <GoogleMapReact\n                draggable={!draggablePin}\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                options={MAP_OPTIONS}\n                onGoogleApiLoaded={apiIsLoaded}\n                onChildMouseDown={handleDragMove}\n                onChildMouseUp={handleDragEnd}\n                onChildMouseMove={handleDragMove}\n            >\n                <LastAssetTrackPointPin\n                    key=\"trailer-last-point\"\n                    iconType={type}\n                    lat={currentPosition?.lat}\n                    lng={currentPosition?.lng}\n                    timestamp={parseDateString(telematicUpdatedDate)}\n                />\n                {viewServiceLocationPoint && (\n                    <ServicePinIcon\n                        key={MAP_PIN_KEY.serviceLocationPoint}\n                        className={cx('location')}\n                        lat={viewServiceLocationPoint?.lat}\n                        lng={viewServiceLocationPoint?.lng}\n                        isWrong={hasDropAssetPointError}\n                    />\n                )}\n            </GoogleMapReact>\n        </>\n    );\n});\n\nexport default AssetDetailsMap;\n","import * as React from 'react';\nimport { memo, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectDocumentsDictByType, selectDocumentsDictRequest } from 'common/store/documents-dict/selectors';\nimport { fetchDocumentsDict } from 'common/store/documents-dict/actions';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { ApiDocumentTypeT, ApiPartnerTypeT } from 'common/utils/api/models';\n\nexport type PropsT = {\n    className?: string;\n    documentType?: ApiDocumentTypeT;\n    partnerType: ApiPartnerTypeT | null;\n};\n\nconst AsyncDictDocumentNameLabel: React.FC<PropsT> = memo((props) => {\n    const { className, documentType, partnerType } = props;\n    const dispatch = useDispatch();\n\n    const documentsDictRequest = useSelector(selectDocumentsDictRequest(partnerType));\n    const documentsDictByType = useSelector(selectDocumentsDictByType(partnerType));\n\n    useEffect(() => {\n        dispatch(fetchDocumentsDict(partnerType));\n    }, [dispatch, partnerType]);\n\n    const dictDocument = documentsDictByType[documentType as ApiDocumentTypeT] || null;\n\n    if (documentsDictRequest.loading) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.gray} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    return <span className={className}>{dictDocument?.name || documentType}</span>;\n});\n\nexport default AsyncDictDocumentNameLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"note\":\"FieldNotes__note___a_agm\",\"note--error\":\"FieldNotes__note--error___bTgtz\",\"note--warning\":\"FieldNotes__note--warning___jjCMe\",\"note--success\":\"FieldNotes__note--success___ORhmz\",\"fadeIn\":\"FieldNotes__fadeIn___nZmDX\",\"blinking\":\"FieldNotes__blinking___NlwLi\"};","import postalCodesJs from 'postal-codes-js';\nimport formats from 'postal-codes-js/formats-web';\n\nconst prepareCountryCode = (countryCode?: string | null): string => (countryCode ? countryCode.toUpperCase() : '');\n\nexport const isValid = (countryCode: string | null, postalCode: string | number): boolean => {\n    if (!countryCode) {\n        return false;\n    }\n\n    const result = postalCodesJs.validate(countryCode, postalCode);\n\n    return typeof result !== 'string';\n};\n\nexport const hasZipCodeValidation = (countryCode?: string | null): boolean => {\n    const preparedCountryCode = prepareCountryCode(countryCode);\n\n    return !!formats(`${preparedCountryCode}.json`);\n};\n\nexport const DEFAULT_PLACEHOLDER = '';\n\nexport const getZipCodePlaceholder = (countryCode: string | null): string => {\n    if (!countryCode) {\n        return '';\n    }\n\n    const preparedCountryCode = prepareCountryCode(countryCode);\n\n    const formatConfig = formats(`${preparedCountryCode}.json`);\n\n    const description = formatConfig?.Description;\n    const descriptionPlaceholder = (description || '').split(':')[1];\n    if (descriptionPlaceholder) {\n        return descriptionPlaceholder.trim();\n    }\n\n    const firstValidExample = formatConfig?.TestData?.Valid?.[0];\n    if (firstValidExample) {\n        return firstValidExample;\n    }\n\n    return DEFAULT_PLACEHOLDER;\n};\n\nexport const getZipCodeExample = (countryCode: string | null): string => {\n    const preparedCountryCode = prepareCountryCode(countryCode);\n\n    const formatConfig = formats(`${preparedCountryCode}.json`);\n\n    const firstValidExample = formatConfig?.TestData?.Valid?.[0];\n    if (firstValidExample) {\n        return firstValidExample;\n    }\n\n    return DEFAULT_PLACEHOLDER;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"trigger\":\"PhoneNumberDropdownTrigger__trigger___Gw5Gz\",\"trigger__country\":\"PhoneNumberDropdownTrigger__trigger__country___K84LD\",\"country\":\"PhoneNumberDropdownTrigger__country___KcBDg\",\"country--isClickable\":\"PhoneNumberDropdownTrigger__country--isClickable___faDIW\",\"country--isSelected\":\"PhoneNumberDropdownTrigger__country--isSelected___EzSzX\",\"input\":\"PhoneNumberDropdownTrigger__input___uBJJ5\",\"prefix\":\"PhoneNumberDropdownTrigger__prefix___qZzMb\",\"prefix--isDisabled\":\"PhoneNumberDropdownTrigger__prefix--isDisabled___R9aOS\",\"inner-input\":\"PhoneNumberDropdownTrigger__inner-input___L0IkQ\",\"inner-input--isDisabled\":\"PhoneNumberDropdownTrigger__inner-input--isDisabled___IZPG1\",\"fadeIn\":\"PhoneNumberDropdownTrigger__fadeIn___meuob\",\"blinking\":\"PhoneNumberDropdownTrigger__blinking___hm5Fg\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractLanesLayout.scss';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport history from 'common/utils/history';\nimport BaseShipperContractLanesLayout from 'common/layouts/BaseShipperContractLanesLayout/BaseShipperContractLanesLayout';\nimport { urlFactory } from 'broker-admin/utils/urls';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    partnerType: PartnerTypeEnum;\n    contractId: ShipperContractIdT;\n};\n\nconst ShipperContractLanesLayout: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId, partnerType, contractId } = props;\n\n    const goToLaneCreation = () => {\n        history.push(\n            urlFactory.newPartnerShipperContractLane({\n                partnerType,\n                partnerId,\n                contractId,\n            }),\n        );\n    };\n\n    const goToLaneDetails = (laneId: ShipperContractLaneIdT) => {\n        history.push(\n            urlFactory.partnerShipperContractLane({\n                partnerType,\n                partnerId,\n                contractId,\n                laneId,\n            }),\n        );\n    };\n\n    return (\n        <ContentMargins>\n            <BaseShipperContractLanesLayout\n                partnerId={partnerId}\n                contractId={contractId}\n                onCreateShipperContractLane={goToLaneCreation}\n                onOpenShipperContractLaneDetails={goToLaneDetails}\n            />\n        </ContentMargins>\n    );\n});\n\nexport default ShipperContractLanesLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"map-footer\":\"MapFooter__map-footer___wS56Z\",\"fadeIn\":\"MapFooter__fadeIn___P2Nz4\",\"blinking\":\"MapFooter__blinking___A9vEa\"};","import React from 'react';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { SidebarCloseConfirmationT } from 'common/layouts/SideBars/models';\nimport { useTranslation } from 'react-i18next';\nimport { TFunction } from 'i18next';\n\ntype PropsT<T> = {\n    isShow: boolean;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: () => void;\n    data: T;\n    getSidebarCloseConfirmation: (t: TFunction, data: T) => SidebarCloseConfirmationT | null;\n};\n\nconst SideBarCloseConfirmation = <T,>(props: PropsT<T>): React.ReactElement | null => {\n    const { isShow, onCancel, onClose, onConfirm, data, getSidebarCloseConfirmation } = props;\n\n    const { t } = useTranslation();\n\n    const modalContentProps = React.useMemo(() => {\n        if (!data) {\n            return null;\n        }\n        return getSidebarCloseConfirmation(t, data);\n    }, [t, data, getSidebarCloseConfirmation]);\n\n    if (!modalContentProps) {\n        return null;\n    }\n\n    const TEST_SELECTOR = 'close-sidebar-confirmation';\n\n    const { confirmAction, cancelAction, icon, title, message } = modalContentProps;\n\n    if (!isShow) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    icon={icon}\n                    title={title}\n                    message={message}\n                    actions={[\n                        {\n                            children: cancelAction,\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: confirmAction,\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm();\n                            },\n                        },\n                    ]}\n                />\n            </ModalContent>\n        </Modal>\n    );\n};\n\nexport default React.memo(SideBarCloseConfirmation) as typeof SideBarCloseConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"rule\":\"RuleImpact__rule___RPMqF\",\"fadeIn\":\"RuleImpact__fadeIn___LB4LG\",\"blinking\":\"RuleImpact__blinking___ig65Y\"};","import { UserRoleT } from 'common/utils/api/models';\nimport { TranziitApiRequestErrorSubTypeEnum } from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nexport enum FieldsEnum {\n    email = 'email',\n    roles = 'roles',\n    teamIds = 'teamIds',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.email]: string;\n    [FieldsEnum.roles]: Array<UserRoleT>;\n    [FieldsEnum.teamIds]: Array<TeamIdT>;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n\nexport type AsyncFormErrorsT = Partial<{\n    [FieldsEnum.email]: TranziitApiRequestErrorSubTypeEnum.emailAlreadyExist;\n}>;\n","import keyBy from 'lodash/keyBy';\n\nimport {\n    CLEAR_OFFERS_TASKS,\n    CORRECT_PREVIEW_RESERVE_QUERY,\n    CORRECT_RESERVE_QUERY,\n    CREATE_ORDER_REQUEST_BEGIN,\n    CREATE_ORDER_REQUEST_ERROR,\n    CREATE_ORDER_REQUEST_SUCCESS,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST_BEGIN,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR,\n    CREATE_PRICE_OFFER_WITH_LANE_REQUEST_SUCCESS,\n    CREATE_RESERVE_BEGIN,\n    CREATE_RESERVE_ERROR,\n    CREATE_RESERVE_SUCCESS,\n    CREATE_RFQ_REQUEST_BEGIN,\n    CREATE_RFQ_REQUEST_ERROR,\n    CREATE_RFQ_REQUEST_SUCCESS,\n    FETCH_OFFERS,\n    FETCH_ROUTE_SUCCESS,\n    MARK_OFFERS_EXPIRED,\n    OrderCreationActionT,\n    OrderCreationStateT,\n    PREVIEW_RESERVE_BEGIN,\n    PREVIEW_RESERVE_ERROR,\n    PREVIEW_RESERVE_SUCCESS,\n    RESET,\n    RESET_CREATE_RESERVE_WITH_QUERY,\n    RESET_RESERVE_AND_RESERVE_PREVIEW,\n    SET_ALLOW_CREATE_RFQ,\n    SET_CREATE_RESERVE_QUERY,\n    SET_EXPECTED_OFFERS_COUNT,\n    SET_PREVIEW_RESERVE_QUERY,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport groupOffersByDatesHash from './utils/group-offers-by-dates-hash';\nimport { byPriceAsc } from 'common/store/order-creation/utils/sort-offers';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport uniqBy from 'lodash/uniqBy';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport { isNonNil } from 'common/utils';\n\nconst initialOffersTasks = {\n    count: 0,\n    total: null,\n};\n\nconst initialState: OrderCreationStateT = {\n    reserve: null,\n    reserveRequest: requestStatus.initial,\n    reserveQuery: null,\n\n    previewReserve: null,\n    previewReserveRequest: requestStatus.initial,\n    previewReserveQuery: null,\n\n    isAllowCreateRFQ: true,\n\n    createRFQRequest: requestStatus.initial,\n    createPriceOfferWithLaneRequest: requestStatus.initial,\n    polylines: null,\n    priceOffers: null,\n    rfq: null,\n\n    lanePriceOffer: null,\n\n    createOrderRequest: requestStatus.initial,\n    offersTasks: {\n        ...initialOffersTasks,\n    },\n};\n\nconst markBestPriceOffers = (priceOffers?: Array<PriceOfferT>): void => {\n    if (!priceOffers) {\n        return;\n    }\n\n    const bestOffer = priceOffers.sort(byPriceAsc)[0];\n    priceOffers.forEach((priceOffer) => {\n        // eslint-disable-next-line no-param-reassign\n        priceOffer.isBestPrice = bestOffer?.price === priceOffer?.price;\n    });\n};\n\nexport default (state = initialState, action: OrderCreationActionT | DestroySessionActionT): OrderCreationStateT => {\n    switch (action.type) {\n        case CREATE_PRICE_OFFER_WITH_LANE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                createPriceOfferWithLaneRequest: requestStatus.loading,\n            };\n        }\n\n        case CREATE_PRICE_OFFER_WITH_LANE_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                rfq: action.rfq,\n                lanePriceOffer: action.lanePriceOffer,\n                createPriceOfferWithLaneRequest: requestStatus.ok,\n            };\n        }\n\n        case CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                createPriceOfferWithLaneRequest: requestStatus.setError(error),\n            };\n        }\n\n        case CREATE_RFQ_REQUEST_BEGIN: {\n            return {\n                ...state,\n                createRFQRequest: requestStatus.loading,\n            };\n        }\n\n        case CREATE_RFQ_REQUEST_SUCCESS: {\n            const { rfq } = action;\n\n            return {\n                ...state,\n                rfq,\n                createRFQRequest: requestStatus.ok,\n            };\n        }\n\n        case CREATE_RFQ_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                createRFQRequest: requestStatus.setError(error),\n            };\n        }\n\n        case FETCH_ROUTE_SUCCESS: {\n            const { polylines } = action;\n\n            return {\n                ...state,\n                polylines,\n            };\n        }\n\n        case SET_EXPECTED_OFFERS_COUNT: {\n            const { expectedOffersCount } = action;\n\n            return {\n                ...state,\n                offersTasks: {\n                    ...state.offersTasks,\n                    total: expectedOffersCount,\n                },\n            };\n        }\n\n        case FETCH_OFFERS: {\n            const { priceOffers } = action;\n\n            const currentPriceOffers = (state.priceOffers?.list || [])\n                .map((id) => {\n                    return state.priceOffers?.byId[id];\n                })\n                .filter(isNonNil);\n            const fullListPriceOffers = uniqBy([...currentPriceOffers, ...priceOffers], (offer) => {\n                return offer.id;\n            });\n\n            markBestPriceOffers(fullListPriceOffers);\n\n            const priceOffersByHashDates = groupOffersByDatesHash(fullListPriceOffers);\n\n            const newUniqOffersCount = fullListPriceOffers.length - (state.priceOffers?.list?.length || 0);\n\n            return {\n                ...state,\n                priceOffers: {\n                    byHash: {\n                        ...(state.priceOffers?.byHash || {}),\n                        ...priceOffersByHashDates,\n                    },\n                    byId: {\n                        ...(state.priceOffers?.byId || {}),\n                        ...keyBy(fullListPriceOffers, 'id'),\n                    },\n                    list: fullListPriceOffers.map((offer) => offer.id),\n                },\n                offersTasks: {\n                    ...state.offersTasks,\n                    count: state.offersTasks.count + newUniqOffersCount,\n                },\n            };\n        }\n\n        case MARK_OFFERS_EXPIRED: {\n            const { ids } = action;\n\n            if (!state.priceOffers) {\n                return state;\n            }\n\n            const changesById = ids.reduce((acc, id) => {\n                const priceOffer = state.priceOffers?.byId[id];\n\n                if (priceOffer) {\n                    acc[id] = {\n                        ...priceOffer,\n                        isExpired: true,\n                    };\n                }\n\n                return acc;\n            }, {} as Record<PriceOfferIdT, PriceOfferT>);\n\n            return {\n                ...state,\n                priceOffers: {\n                    ...state.priceOffers,\n                    byId: {\n                        ...state.priceOffers.byId,\n                        ...changesById,\n                    },\n                },\n            };\n        }\n\n        case CREATE_ORDER_REQUEST_BEGIN: {\n            return {\n                ...state,\n                createOrderRequest: requestStatus.loading,\n            };\n        }\n\n        case CREATE_ORDER_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                createOrderRequest: requestStatus.ok,\n            };\n        }\n\n        case CREATE_ORDER_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                createOrderRequest: requestStatus.setError(error),\n            };\n        }\n\n        case CLEAR_OFFERS_TASKS: {\n            return {\n                ...state,\n                priceOffers: initialState.priceOffers,\n                offersTasks: {\n                    ...initialState.offersTasks,\n                },\n            };\n        }\n\n        case SET_CREATE_RESERVE_QUERY: {\n            const { query } = action;\n\n            return {\n                ...state,\n                reserveQuery: query,\n                reserveRequest: requestStatus.initial,\n            };\n        }\n\n        case CREATE_RESERVE_BEGIN: {\n            const { query } = action;\n\n            if (!checkIsSameQuery(query, state.reserveQuery)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                reserveRequest: requestStatus.loading,\n            };\n        }\n\n        case CREATE_RESERVE_SUCCESS: {\n            const { reserve, query } = action;\n\n            if (!checkIsSameQuery(query, state.reserveQuery)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                reserve,\n                reserveRequest: requestStatus.ok,\n            };\n        }\n\n        case CREATE_RESERVE_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(query, state.reserveQuery)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                reserve: null,\n                reserveRequest: requestStatus.setError(error),\n            };\n        }\n\n        case RESET_CREATE_RESERVE_WITH_QUERY: {\n            const { query } = action;\n\n            if (!checkIsSameQuery(query, state.reserveQuery)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                reserve: null,\n                reserveRequest: requestStatus.initial,\n            };\n        }\n\n        case SET_ALLOW_CREATE_RFQ: {\n            const { isAllowCreateRFQ } = action;\n\n            return {\n                ...state,\n                isAllowCreateRFQ,\n            };\n        }\n\n        case SET_PREVIEW_RESERVE_QUERY: {\n            const { query } = action;\n\n            return {\n                ...state,\n                previewReserveQuery: query,\n                previewReserveRequest: requestStatus.initial,\n            };\n        }\n\n        case CORRECT_PREVIEW_RESERVE_QUERY: {\n            const { query } = action;\n\n            return {\n                ...state,\n                previewReserveQuery: query,\n            };\n        }\n\n        case CORRECT_RESERVE_QUERY: {\n            const { query } = action;\n\n            return {\n                ...state,\n                reserveQuery: query,\n            };\n        }\n\n        case PREVIEW_RESERVE_BEGIN: {\n            const { query } = action;\n\n            if (!checkIsSameQuery(query, state.previewReserveQuery)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                previewReserveRequest: requestStatus.loading,\n            };\n        }\n\n        case PREVIEW_RESERVE_SUCCESS: {\n            const { preview, query } = action;\n\n            if (!checkIsSameQuery(query, state.previewReserveQuery)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                previewReserve: preview,\n                previewReserveRequest: requestStatus.ok,\n            };\n        }\n\n        case PREVIEW_RESERVE_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(query, state.previewReserveQuery)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                previewReserve: null,\n                previewReserveRequest: requestStatus.setError(error),\n            };\n        }\n\n        case RESET_RESERVE_AND_RESERVE_PREVIEW: {\n            return {\n                ...state,\n                reserve: null,\n                reserveRequest: requestStatus.initial,\n                previewReserve: null,\n                previewReserveRequest: requestStatus.initial,\n            };\n        }\n\n        case RESET: {\n            return {\n                ...state,\n                ...initialState,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"label--bold\":\"NotificationEntityLabel__label--bold___WezFK\",\"label--underline\":\"NotificationEntityLabel__label--underline___ymGt1\",\"fadeIn\":\"NotificationEntityLabel__fadeIn___kJYsR\",\"blinking\":\"NotificationEntityLabel__blinking___n_2QW\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst BoatIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, strokeColor } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    d=\"M5.867 12.76 7 11.47l1.133 1.29c.255.3.96.99 1.867.99.908 0 1.613-.69 1.867-.99L13 11.47l1.133 1.29c.15.172.45.48.855.705l.84-2.977-1.793-.585L10 8.582 5.965 9.91l-1.8.592.848 2.97c.412-.232.705-.54.854-.712zM9.25 3.25h1.5V4h-1.5v-.75z\"\n                    fill={fillColor}\n                />\n                <path\n                    d=\"M3.962 15.25H4c1.2 0 2.265-.66 3-1.5.735.84 1.8 1.5 3 1.5s2.265-.66 3-1.5c.735.84 1.8 1.5 3 1.5h.038l1.417-5.01a.79.79 0 0 0-.045-.585.747.747 0 0 0-.45-.375L16 8.965V5.5c0-.825-.675-1.5-1.5-1.5h-2.25V1.75h-4.5V4H5.5C4.675 4 4 4.675 4 5.5v3.465l-.967.315a.755.755 0 0 0-.495.96l1.424 5.01zm5.288-12h1.5V4h-1.5v-.75zM5.5 5.5h9v2.977L10 7 5.5 8.477V5.5zm.465 4.402L10 8.582l4.035 1.328 1.793.585-.84 2.978a3.305 3.305 0 0 1-.855-.706L13 11.47l-1.133 1.29c-.255.3-.96.99-1.867.99-.908 0-1.613-.69-1.867-.99L7 11.47l-1.133 1.29c-.15.172-.45.473-.854.697l-.848-2.97 1.8-.585zM7 17.508c.945.48 1.973.727 3 .727s2.055-.24 3-.727a6.526 6.526 0 0 0 3 .742h1.5v-1.5H16c-1.043 0-2.085-.352-3-.99a5.239 5.239 0 0 1-3 .96 5.239 5.239 0 0 1-3-.96c-.915.638-1.957.99-4.5.99v1.5c2.535 0 3.555-.262 4.5-.742z\"\n                    fill={strokeColor}\n                />\n            </g>\n        </svg>\n    );\n};\n\nBoatIcon.displayName = 'BoatIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default BoatIcon;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    baseColor: StyleGuideColorsEnum;\n};\n\nconst BigQuestionReversedIcon: React.FC<PropsT> = (props) => {\n    const { baseColor, ...rest } = props;\n\n    return (\n        <svg width=\"200\" height=\"130\" viewBox=\"0 0 200 130\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h200v130H0z\" />\n                <path\n                    d=\"M103 27a7 7 0 0 1 0 14h64a7 7 0 0 1 0 14h22a7 7 0 0 1 0 14h-19a7 7 0 0 0 0 14h6a7 7 0 0 1 0 14h-52a7.026 7.026 0 0 1-1.5-.161A7.026 7.026 0 0 1 121 97H40a7 7 0 0 1 0-14H7a7 7 0 0 1 0-14h34a7 7 0 0 0 0-14H22a7 7 0 0 1 0-14h34a7 7 0 0 1 0-14h47zm90 56a7 7 0 1 1 0 14 7 7 0 0 1 0-14z\"\n                    fill={baseColor}\n                    opacity=\".1\"\n                />\n                <path\n                    d=\"M138.577 93.075a54.587 54.587 0 0 1-7.933 5.299l.165 14.083a2 2 0 0 1-3.22 1.609l-12.663-9.743A66.553 66.553 0 0 1 100 106c-30.376 0-55-20.147-55-45s24.624-45 55-45 55 20.147 55 45c0 6.879-1.886 13.397-5.259 19.227a42.703 42.703 0 0 1-2.015 3.154m-2.533 3.273a47.462 47.462 0 0 1-2.906 3.122\"\n                    stroke={baseColor}\n                    strokeWidth=\"2.5\"\n                    fill=\"#FFF\"\n                    strokeLinecap=\"round\"\n                />\n                <path\n                    d=\"M98.142 70.135c0-2.149.239-3.94.717-5.376.479-1.436 1.524-3.096 3.135-4.98 1.611-1.885 2.661-3.248 3.15-4.088.488-.84.864-1.728 1.127-2.666.264-.937.396-2.03.396-3.28 0-2.442-.537-4.351-1.611-5.728-1.075-1.377-2.54-2.066-4.395-2.066-1.875 0-3.408.67-4.6 2.007-1.19 1.338-1.806 3.13-1.845 5.376h-3.223c.04-3.203.962-5.767 2.769-7.69 1.806-1.924 4.106-2.886 6.9-2.886 2.89 0 5.155.991 6.796 2.973 1.64 1.983 2.46 4.644 2.46 7.984 0 2.07-.404 4.009-1.215 5.815-.81 1.807-2.358 3.99-4.643 6.548-1.797 1.856-2.696 4.541-2.696 8.057h-3.222zm-.352 9.785c0-.684.186-1.255.557-1.714.37-.459.898-.688 1.582-.688.683 0 1.216.23 1.596.688.381.459.572 1.03.572 1.714 0 .664-.19 1.216-.572 1.655-.38.44-.913.66-1.596.66-.684 0-1.211-.22-1.582-.66-.371-.44-.557-.991-.557-1.655z\"\n                    fill={baseColor}\n                    fillRule=\"nonzero\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigQuestionReversedIcon.displayName = 'BigQuestionReversedIcon';\n\nconst storyProps: PropsT = {\n    baseColor: StyleGuideColorsEnum.tomatoRed,\n};\n\nexport { storyProps };\nexport default BigQuestionReversedIcon;\n","import React from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport classNames from 'classnames/bind';\nimport styles from './PriceComponentTypeMultipleDropdown.scss';\nimport { useTranslation } from 'react-i18next';\nimport { ApiPriceComponentTypeT, PriceComponentTypeEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport FuelIcon from 'common/icons/FuelIcon';\nimport TollIcon from 'common/icons/TollIcon';\nimport DropdownMultipleInput from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = {\n    value: ApiPriceComponentTypeT;\n    icon?: React.ReactNode;\n    label: React.ReactNode;\n};\n\ntype ValueT = OptionT['value'];\n\nexport type PropsT = {\n    className?: string;\n    values: Array<ValueT>;\n    onSelect: (values: Array<ValueT>) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder?: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n};\n\nexport const PRICE_RULE_COMPONENT_TYPE_I18N_MAP: Record<ApiPriceComponentTypeT, string> = {\n    [PriceComponentTypeEnum.lineHaul]: 'price-settings.rules.form.fields.impact-price-components.options.line-haul',\n    [PriceComponentTypeEnum.fuel]: 'price-settings.rules.form.fields.impact-price-components.options.fuel',\n    [PriceComponentTypeEnum.roadTaxes]: 'price-settings.rules.form.fields.impact-price-components.options.road-taxes',\n    [PriceComponentTypeEnum.roadTaxesGeneral]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-general',\n    [PriceComponentTypeEnum.roadTaxesCity]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-city',\n    [PriceComponentTypeEnum.roadTaxesBridge]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-bridge',\n    [PriceComponentTypeEnum.roadTaxesTunnel]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-tunnel',\n    [PriceComponentTypeEnum.roadTaxesFerry]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-ferry',\n    [PriceComponentTypeEnum.roadTaxesMountainPass]:\n        'price-settings.rules.form.fields.impact-price-components.options.road-taxes-mountain-pass',\n    [PriceComponentTypeEnum.serviceFee]: 'price-settings.rules.form.fields.impact-price-components.options.service-fee',\n};\n\nconst PriceComponentTypeMultipleDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<OptionT> => {\n        return [\n            {\n                icon: <RouteIcon fillColor={StyleGuideColorsEnum.slate} />,\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.lineHaul]),\n                value: PriceComponentTypeEnum.lineHaul,\n            },\n            {\n                icon: <FuelIcon strokeColor={StyleGuideColorsEnum.slate} fillColor={StyleGuideColorsEnum.light} />,\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.fuel]),\n                value: PriceComponentTypeEnum.fuel,\n            },\n            {\n                icon: (\n                    <TollIcon\n                        strokeColor={StyleGuideColorsEnum.slate}\n                        fillColor={StyleGuideColorsEnum.light}\n                        size={DEFAULT_ICON_SIZE}\n                    />\n                ),\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxes]),\n                value: PriceComponentTypeEnum.roadTaxes,\n            },\n            {\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesGeneral]),\n                value: PriceComponentTypeEnum.roadTaxesGeneral,\n            },\n            {\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesCity]),\n                value: PriceComponentTypeEnum.roadTaxesCity,\n            },\n            {\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesBridge]),\n                value: PriceComponentTypeEnum.roadTaxesBridge,\n            },\n            {\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesTunnel]),\n                value: PriceComponentTypeEnum.roadTaxesTunnel,\n            },\n            {\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesFerry]),\n                value: PriceComponentTypeEnum.roadTaxesFerry,\n            },\n            {\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.roadTaxesMountainPass]),\n                value: PriceComponentTypeEnum.roadTaxesMountainPass,\n            },\n            {\n                label: t(PRICE_RULE_COMPONENT_TYPE_I18N_MAP[PriceComponentTypeEnum.serviceFee]),\n                value: PriceComponentTypeEnum.serviceFee,\n            },\n        ];\n    }, [t]);\n\n    const renderTriggerContent = (options: Array<OptionT>, placeholder: string | undefined) => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options.length === 1) {\n            const option = options[0];\n            return option?.label || null;\n        }\n\n        return <DropdownMultipleInputCountLabel count={options?.length} />;\n    };\n\n    const renderOption = (option: OptionT | null | undefined): React.ReactNode => {\n        if (!option) {\n            return null;\n        }\n\n        return option?.label || '';\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.value;\n\n    return (\n        <DropdownMultipleInput<OptionT, ValueT>\n            className={className}\n            options={options}\n            selectedValues={values}\n            getOptionValue={getOptionValue}\n            placeholder={placeholder}\n            isDisabled={isDisabled}\n            onSelect={onSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderOption={renderOption}\n            renderTriggerContent={renderTriggerContent}\n            overlayPosition={overlayPosition}\n            overlayClassName={cx('overlay')}\n        />\n    );\n};\n\nexport default PriceComponentTypeMultipleDropdown;\n","import React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TabGroup.scss';\nimport { TabLabelSizeEnum } from 'common/components/tabs/TabLabel/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    size?: TabLabelSizeEnum;\n    children: Array<React.ReactNode>;\n};\n\nconst TabGroup: React.FC<PropsT> = (props) => {\n    const { children, className, size } = props;\n\n    if (children?.length < 2) {\n        return null;\n    }\n\n    return (\n        <div\n            className={cs(\n                cx('tabs', {\n                    [`tabs--size-${size || TabLabelSizeEnum.normal}`]: true,\n                }),\n                className,\n            )}\n        >\n            {children}\n        </div>\n    );\n};\n\nexport default TabGroup;\n","// extracted by mini-css-extract-plugin\nexport default {\"verification-alert\":\"TransportOrderListPageLayout__verification-alert___tiMmx\",\"fadeIn\":\"TransportOrderListPageLayout__fadeIn___txD4I\",\"blinking\":\"TransportOrderListPageLayout__blinking___pGzEf\"};","export const MAX_RADIUS_KM = 300;\nexport const MIN_VALID_FROM_VALID_TILL_DAYS = 7;\n\nexport enum FieldsEnum {\n    pickUpLocationRadius = 'pickUpLocationRadius',\n\n    dropOffLocationRadius = 'dropOffLocationRadius',\n\n    validFrom = 'validFrom',\n    validTill = 'validTill',\n\n    layoverLimit = 'layoverLimit',\n\n    externalLaneId = 'externalLaneId',\n}\n\nexport type FormTouchedT = Partial<Record<FieldsEnum, boolean>>;\n\nexport type FormValuesT = {\n    [FieldsEnum.pickUpLocationRadius]: string;\n\n    [FieldsEnum.dropOffLocationRadius]: string;\n\n    [FieldsEnum.validFrom]: Date | null;\n    [FieldsEnum.validTill]: Date | null;\n\n    [FieldsEnum.layoverLimit]: string;\n\n    [FieldsEnum.externalLaneId]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { authRoutesEnum, CommonRoutesEnum } from 'common/constants';\n\nexport const routesEnum = {\n    home: authRoutesEnum.home,\n    signIn: authRoutesEnum.signIn,\n    signUp: authRoutesEnum.signUp,\n    deprecateSignUp: authRoutesEnum.deprecateSignUp,\n    continueSignUp: authRoutesEnum.continueSignUp,\n    forgotPassword: authRoutesEnum.forgotPassword,\n    changePassword: authRoutesEnum.changePassword,\n    confirmEmail: authRoutesEnum.confirmEmail,\n    selfCreateCompany: authRoutesEnum.selfCreateCompany,\n\n    accessDenied: CommonRoutesEnum.accessDenied,\n    notFound: CommonRoutesEnum.notFound,\n    profile: CommonRoutesEnum.profile,\n    team: CommonRoutesEnum.team,\n    account: CommonRoutesEnum.account,\n\n    rfqs: '/rfqs',\n    archive: '/archive',\n    orders: CommonRoutesEnum.orders,\n    invoices: '/invoices',\n\n    shipperContracts: '/profile/shipper-contracts',\n};\n\nexport enum RFQRoutesEnum {\n    list = '/rfqs',\n    details = '/rfqs/:rfqId/details',\n}\n\nexport default {};\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport {\n    ConsistentStateMachineDescriptorT,\n    ApiStopTypeT,\n    ApiTourWaypointActionTypeT,\n    ApiTourWaypointEventRestrictionT,\n} from 'common/store/consistent-state-machine/models';\nimport { useConsistentStateMachine } from 'common/utils/hooks/useConsistentStateMachine';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport {\n    toursWaypointsArrived,\n    toursWaypointsLeft,\n    toursWaypointsUndoArrived,\n    toursWaypointsUndoLeft,\n} from 'common/store/consistent-state-machine/slice';\nimport { logWarning } from 'common/utils/logger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport RestoreIcon from 'common/icons/RestoreIcon';\nimport { isNonNil } from 'common/utils';\nimport classNames from 'classnames/bind';\n\nimport styles from './ChangeTourStatusControls.scss';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport keyBy from 'lodash/keyBy';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    onManageShipment: (shipmentId: ShipmentIdT) => void;\n};\n\nconst tourActionI18nMap: Record<ApiStopTypeT, Record<ApiTourWaypointActionTypeT, string>> = {\n    PICKUP_TRAILER: {\n        START_TOUR: 'common:change-tour-status.actions.PICKUP_TRAILER.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.PICKUP_TRAILER.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.PICKUP_TRAILER.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.PICKUP_TRAILER.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.actions.PICKUP_TRAILER.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_TRUCK: {\n        START_TOUR: 'common:change-tour-status.actions.PICKUP_TRUCK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.PICKUP_TRUCK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.PICKUP_TRUCK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.PICKUP_TRUCK.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.actions.PICKUP_TRUCK.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_ROAD_TRAIN: {\n        START_TOUR: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.FINISH_TOUR',\n        TRAILER_HOOKED: 'common:change-tour-status.actions.PICKUP_ROAD_TRAIN.TRAILER_HOOKED',\n        TRAILER_DROPPED: '',\n    },\n    PICKUP_DELIVERY_SHIPMENT: {\n        START_TOUR: 'common:change-tour-status.actions.PICKUP_DELIVERY_SHIPMENT.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.PICKUP_DELIVERY_SHIPMENT.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.PICKUP_DELIVERY_SHIPMENT.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.PICKUP_DELIVERY_SHIPMENT.FINISH_TOUR',\n        TRAILER_DROPPED: '',\n        TRAILER_HOOKED: '',\n    },\n    DRIVE_THROUGH: {\n        START_TOUR: 'common:change-tour-status.actions.DRIVE_THROUGH.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DRIVE_THROUGH.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DRIVE_THROUGH.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DRIVE_THROUGH.FINISH_TOUR',\n        TRAILER_DROPPED: '',\n        TRAILER_HOOKED: '',\n    },\n    DROP_AND_HOOK: {\n        START_TOUR: 'common:change-tour-status.actions.DROP_AND_HOOK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DROP_AND_HOOK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DROP_AND_HOOK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DROP_AND_HOOK.FINISH_TOUR',\n        TRAILER_DROPPED: 'common:change-tour-status.actions.DROP_AND_HOOK.TRAILER_DROPPED',\n        TRAILER_HOOKED: 'common:change-tour-status.actions.DROP_AND_HOOK.TRAILER_HOOKED',\n    },\n    DROP_TRAILER: {\n        START_TOUR: 'common:change-tour-status.actions.DROP_TRAILER.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DROP_TRAILER.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DROP_TRAILER.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DROP_TRAILER.FINISH_TOUR',\n        TRAILER_DROPPED: 'common:change-tour-status.actions.DROP_TRAILER.TRAILER_DROPPED',\n        TRAILER_HOOKED: '',\n    },\n    DROP_TRUCK: {\n        START_TOUR: 'common:change-tour-status.actions.DROP_TRUCK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DROP_TRUCK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DROP_TRUCK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DROP_TRUCK.FINISH_TOUR',\n        TRAILER_DROPPED: 'common:change-tour-status.actions.DROP_TRUCK.TRAILER_DROPPED',\n        TRAILER_HOOKED: '',\n    },\n    DROP_ROAD_TRAIN: {\n        START_TOUR: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.FINISH_TOUR',\n        TRAILER_DROPPED: 'common:change-tour-status.actions.DROP_ROAD_TRAIN.TRAILER_DROPPED',\n        TRAILER_HOOKED: '',\n    },\n    FERRY_ONBOARD: {\n        START_TOUR: 'common:change-tour-status.actions.FERRY_ONBOARD.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.FERRY_ONBOARD.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.FERRY_ONBOARD.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.FERRY_ONBOARD.FINISH_TOUR',\n        TRAILER_DROPPED: '',\n        TRAILER_HOOKED: '',\n    },\n    FERRY_DISEMBARK: {\n        START_TOUR: 'common:change-tour-status.actions.FERRY_DISEMBARK.START_TOUR',\n        ARRIVED_AT_WAYPOINT: 'common:change-tour-status.actions.FERRY_DISEMBARK.ARRIVED_AT_WAYPOINT',\n        LEAVE_WAYPOINT: 'common:change-tour-status.actions.FERRY_DISEMBARK.LEAVE_WAYPOINT',\n        FINISH_TOUR: 'common:change-tour-status.actions.FERRY_DISEMBARK.FINISH_TOUR',\n        TRAILER_DROPPED: '',\n        TRAILER_HOOKED: '',\n    },\n};\n\nconst tourWaypointEventRestrictionI18nMap: Record<ApiTourWaypointEventRestrictionT, string> = {\n    NOT_FULLY_ASSIGN: 'common:change-tour-status.restrictions.NOT_FULLY_ASSIGN',\n    NOT_RESOLVE_SHIPMENT: 'common:change-tour-status.restrictions.NOT_RESOLVE_SHIPMENT',\n    TRAILER_STILL_USE_PREVIOUS_TOUR: 'common:change-tour-status.restrictions.TRAILER_STILL_USE_PREVIOUS_TOUR',\n};\n\nconst ChangeTourStatusControls: React.FC<PropsT> = React.memo((props) => {\n    const { transportOrderDetails, onManageShipment } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const tourId = transportOrderDetails?.tourInfo?.id || null;\n\n    const waypointById = React.useMemo(() => {\n        return keyBy(transportOrderDetails?.waypoints, 'id');\n    }, [transportOrderDetails]);\n\n    const descriptor = useMemo((): ConsistentStateMachineDescriptorT | null => {\n        if (!tourId) {\n            return null;\n        }\n\n        return {\n            tourId,\n        };\n    }, [tourId]);\n\n    const { updateRequest } = useConsistentStateMachine(descriptor);\n\n    const availableSteps = transportOrderDetails?.availableSteps || null;\n\n    const currentWaypointId = availableSteps?.current?.waypointId || null;\n    const currentWaypoint = waypointById[currentWaypointId as string] || null;\n    const currentFirstDoAction =\n        availableSteps?.current?.actions?.find((action) => {\n            return !action?.done;\n        }) || null;\n\n    const currentFirstDoRestriction = availableSteps?.current?.restriction || null;\n\n    const currentNeedManageShipmentEvent =\n        availableSteps?.current?.shipments?.find((event) => {\n            return event?.actions?.some((action) => {\n                return !action?.done;\n            });\n        }) || null;\n\n    const previousWaypointId = availableSteps?.previous?.waypointId || null;\n    const previousWaypoint = waypointById[previousWaypointId as string] || null;\n    const previousFirstDoAction =\n        availableSteps?.previous?.actions?.find((action) => {\n            return action?.done;\n        }) || null;\n    const previousFirstDoRestriction = availableSteps?.previous?.restriction || null;\n\n    const options: Array<DropdownControlOptionT | null | undefined> = [\n        previousWaypoint && previousFirstDoAction\n            ? {\n                  label: (\n                      <Tooltip\n                          position={TooltipPositionEnum.topCenter}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={\n                              previousFirstDoRestriction ? (\n                                  <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                      {t(tourWaypointEventRestrictionI18nMap[previousFirstDoRestriction])}\n                                  </TooltipContent>\n                              ) : null\n                          }\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  isDisabled={!!previousFirstDoRestriction}\n                                  label={\n                                      previousFirstDoRestriction\n                                          ? t('common:change-tour-status.unable-undo', {\n                                                action: t(\n                                                    tourActionI18nMap?.[previousWaypoint.type]?.[\n                                                        previousFirstDoAction.type\n                                                    ],\n                                                    {\n                                                        number: (previousWaypoint.index || 0) + 1,\n                                                    },\n                                                ),\n                                            })\n                                          : t('common:change-tour-status.undo', {\n                                                action: t(\n                                                    tourActionI18nMap?.[previousWaypoint.type]?.[\n                                                        previousFirstDoAction.type\n                                                    ],\n                                                    {\n                                                        number: (previousWaypoint.index || 0) + 1,\n                                                    },\n                                                ),\n                                            })\n                                  }\n                                  icon={<RestoreIcon strokeColor={StyleGuideColorsEnum.tomatoRed} />}\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  isDisabled: !!previousFirstDoRestriction,\n                  onSelect: () => {\n                      if (!tourId || !previousWaypointId || !descriptor) {\n                          logWarning('Empty tour id or waypoint id or descriptor');\n                          return;\n                      }\n\n                      if (previousFirstDoAction?.type === 'ARRIVED_AT_WAYPOINT') {\n                          dispatch(\n                              toursWaypointsUndoArrived({\n                                  tourId,\n                                  waypointId: previousWaypointId,\n                                  descriptor,\n                              }),\n                          );\n                      }\n\n                      if (\n                          previousFirstDoAction?.type === 'LEAVE_WAYPOINT' ||\n                          previousFirstDoAction?.type === 'START_TOUR' ||\n                          previousFirstDoAction?.type === 'TRAILER_DROPPED' ||\n                          previousFirstDoAction?.type === 'TRAILER_HOOKED' ||\n                          previousFirstDoAction?.type === 'FINISH_TOUR'\n                      ) {\n                          dispatch(\n                              toursWaypointsUndoLeft({\n                                  tourId,\n                                  waypointId: previousWaypointId,\n                                  descriptor,\n                              }),\n                          );\n                      }\n                  },\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const handleDoManagementShipmentEvent = () => {\n        const shipmentId = currentNeedManageShipmentEvent?.shipmentId || null;\n        if (!shipmentId) {\n            logWarning('Empty shipmentId');\n            return;\n        }\n\n        onManageShipment(shipmentId);\n    };\n\n    const handleDoCurrentFirstDoAction = () => {\n        if (!tourId || !currentWaypointId || !descriptor) {\n            logWarning('Empty tour id or waypoint id or descriptor');\n            return;\n        }\n\n        if (currentFirstDoAction?.type === 'ARRIVED_AT_WAYPOINT') {\n            dispatch(\n                toursWaypointsArrived({\n                    tourId,\n                    waypointId: currentWaypointId,\n                    descriptor,\n                }),\n            );\n        }\n\n        if (\n            currentFirstDoAction?.type === 'LEAVE_WAYPOINT' ||\n            currentFirstDoAction?.type === 'START_TOUR' ||\n            currentFirstDoAction?.type === 'FINISH_TOUR' ||\n            currentFirstDoAction?.type === 'TRAILER_HOOKED' ||\n            currentFirstDoAction?.type === 'TRAILER_DROPPED'\n        ) {\n            dispatch(\n                toursWaypointsLeft({\n                    tourId,\n                    waypointId: currentWaypointId,\n                    descriptor,\n                }),\n            );\n        }\n    };\n\n    const isLoading = updateRequest?.loading;\n\n    const isShowActionButton = Boolean(currentFirstDoAction || currentNeedManageShipmentEvent);\n\n    if (!isShowActionButton && !options?.length) {\n        return null;\n    }\n\n    return (\n        <>\n            {isShowActionButton && (\n                <Tooltip\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    className={cx('tooltip')}\n                    tooltipNode={\n                        currentFirstDoRestriction ? (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {t(tourWaypointEventRestrictionI18nMap[currentFirstDoRestriction])}\n                            </TooltipContent>\n                        ) : null\n                    }\n                >\n                    {() => {\n                        if (currentNeedManageShipmentEvent) {\n                            return (\n                                <Button\n                                    className={cx('action', 'action--next')}\n                                    theme={ButtonThemeEnum.primary}\n                                    onClick={handleDoManagementShipmentEvent}\n                                    isLoading={isLoading}\n                                >\n                                    {t('common:change-tour-status.manage-shipment')}\n                                </Button>\n                            );\n                        }\n\n                        if (currentFirstDoAction) {\n                            return (\n                                <Button\n                                    className={cx('action', 'action--next')}\n                                    theme={ButtonThemeEnum.primary}\n                                    onClick={handleDoCurrentFirstDoAction}\n                                    isDisabled={!!currentFirstDoRestriction}\n                                    isLoading={isLoading}\n                                >\n                                    {currentWaypoint\n                                        ? t(tourActionI18nMap?.[currentWaypoint.type]?.[currentFirstDoAction.type], {\n                                              number: (currentWaypoint.index || 0) + 1,\n                                          })\n                                        : null}\n                                </Button>\n                            );\n                        }\n\n                        return null;\n                    }}\n                </Tooltip>\n            )}\n            <DropdownControl\n                options={options}\n                isDisabled={isLoading}\n                isShowTriggerForEmptyOptions={isLoading}\n                renderTrigger={(isActive, onClick) => (\n                    <TransparentTrigger\n                        isPressed={isActive}\n                        onClick={onClick}\n                        leftIcon={<MoreIcon />}\n                        reflectionTheme={ReflectionThemeEnum.light}\n                    />\n                )}\n                overlayPosition={DropdownOverlayPositionEnum.topRight}\n            />\n        </>\n    );\n});\n\nexport default ChangeTourStatusControls;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"SearchForm__wrap___RC1CB\",\"field\":\"SearchForm__field___uBM_O\",\"field--to\":\"SearchForm__field--to___tFbMV\",\"field--from\":\"SearchForm__field--from___kiiD4\",\"option\":\"SearchForm__option___VMfVm\",\"fadeIn\":\"SearchForm__fadeIn___iIit3\",\"blinking\":\"SearchForm__blinking___tZwbv\"};","import React from 'react';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\n\nimport { ApiPriceRuleTypeT, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport { PRICE_RULE_TYPE_I18N_MAP } from 'broker-admin/components/PriceRuleTypeLabel/PriceRuleTypeLabel';\n\ntype OptionValueT = ApiPriceRuleTypeT | null;\n\ntype PropsT = {\n    placeholder?: string;\n    value: OptionValueT;\n    isDisabled?: boolean;\n    onChange: (value: OptionValueT) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n    overlayPosition?: DropdownOverlayPositionEnum;\n};\n\ntype PriceRuleTypeDropdownOptionT = {\n    value: OptionValueT;\n    label: React.ReactNode;\n};\n\nconst PriceRuleTypeDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        value,\n        placeholder,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasClearControl,\n        overlayPosition,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): PriceRuleTypeDropdownOptionT[] => {\n        return [PriceRuleTypeEnum.basic, PriceRuleTypeEnum.shipper, PriceRuleTypeEnum.carrier].map(\n            (type): PriceRuleTypeDropdownOptionT => {\n                return {\n                    label: t(PRICE_RULE_TYPE_I18N_MAP[type]),\n                    value: type,\n                };\n            },\n        );\n    }, [t]);\n\n    const renderTrigger = (\n        option: PriceRuleTypeDropdownOptionT | null | undefined,\n        placeholder?: string,\n    ): React.ReactNode => {\n        if (!option) {\n            return placeholder || '';\n        }\n\n        return option.label;\n    };\n\n    const renderOption = (option: PriceRuleTypeDropdownOptionT | null | undefined): React.ReactNode => {\n        if (!option) {\n            return null;\n        }\n\n        return option.label;\n    };\n\n    const handleSelect = (value: OptionValueT): void => {\n        onChange(value);\n    };\n\n    const getOptionValue = (option: PriceRuleTypeDropdownOptionT): OptionValueT => option.value;\n\n    return (\n        <DropdownInput<PriceRuleTypeDropdownOptionT, OptionValueT>\n            selectedValue={value}\n            placeholder={placeholder}\n            options={options}\n            onSelect={handleSelect}\n            isDisabled={isDisabled}\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            testSelector=\"price-rule-type\"\n            hasClearControl={hasClearControl}\n            onReset={() => {\n                onChange(null);\n            }}\n        />\n    );\n});\n\nexport default PriceRuleTypeDropdown;\n","export enum InvoicesQuickFilterEnum {\n    open = 'open',\n    void = 'void',\n    paid = 'paid',\n    uncollectible = 'uncollectible',\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"step\":\"Steps__step___Ab94S\",\"step--isHideStep\":\"Steps__step--isHideStep___gZGLz\",\"step__label\":\"Steps__step__label___umIYd\",\"step__label--isFirst\":\"Steps__step__label--isFirst___csfNM\",\"step__label--isLast\":\"Steps__step__label--isLast___b8rCq\",\"fadeIn\":\"Steps__fadeIn___xQ3gm\",\"blinking\":\"Steps__blinking___fNUPb\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerTransportOrderDetails__fadeIn___DBxxZ\",\"blinking\":\"PartnerTransportOrderDetails__blinking___LyZFE\"};","import {\n    AsyncRequestFactoryT,\n    useAsyncInitOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-init-options-request';\nimport { useCallback } from 'react';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { OptionT } from '../PartnersSuggest';\nimport { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\n\nexport const usePartnerSuggestOptions = (initPartnerIds: Array<PartnerIdT> | null) => {\n    const initRequestFactory: AsyncRequestFactoryT<OptionT> = useCallback(async () => {\n        if (!initPartnerIds?.length) {\n            return [null, null];\n        }\n\n        const promises = initPartnerIds.map((initPartnerId) => {\n            return brokerTranziitApi.fetchPartnerDetails(initPartnerId);\n        });\n\n        const results = await Promise.all(promises);\n\n        const resultOptions =\n            results?.reduce<Array<OptionT>>((acc, [, data]) => {\n                if (!data?.id) {\n                    return acc;\n                }\n\n                acc.push({\n                    id: data?.id,\n                    name: data?.name,\n                    number: data?.number,\n                    countryCode: data?.legalAddress?.country || null,\n                });\n\n                return acc;\n            }, []) || [];\n\n        const result: TranziitApiResultT<Array<OptionT>> = [null, resultOptions];\n\n        return result;\n    }, [initPartnerIds]);\n\n    const { initOptions, initRequestStatus } = useAsyncInitOptionsRequest<OptionT>({\n        initRequestFactory,\n    });\n\n    return {\n        initOptions,\n        initRequestStatus,\n    };\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CostCell.scss';\nimport Money from 'common/components/Money/Money';\nimport isNumber from 'lodash/isNumber';\nimport { CurrencyEnum } from 'common/constants';\n\ntype PropsT = {\n    cost: number | null | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst CostCell: React.FC<PropsT> = React.memo((props) => {\n    const { cost } = props;\n\n    return <div className={cx('cost')}>{isNumber(cost) && <Money amount={cost} currency={CurrencyEnum.EUR} />}</div>;\n});\n\nexport default CostCell;\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { useTranslation } from 'react-i18next';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport TruckStatus from 'common/components/status/TruckStatus/TruckStatus';\nimport TruckModelFilterPill from 'common/components/filter-pills/TruckModelFilterPill/TruckModelFilterPill';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\n\nimport { formatDateRangeFilterValue, pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\nimport CountriesFilterPill from 'common/components/filter-pills/CountriesFilterPill/CountriesFilterPill';\nimport { ALL_BROKER_USERS_VALUE } from 'common/components/dropdowns/UserMultipleDropdown/constants';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const selectedTruckModel = queryFilters[QueryFiltersKeysEnum.model]?.[index];\n\n                    return <TruckModelFilterPill truckModel={selectedTruckModel} />;\n                },\n                clearKeys: [QueryFiltersKeysEnum.model],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:trucks-page.filters.pills.plate-number', {\n                        value: queryFilters[QueryFiltersKeysEnum.plateNumber],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.plateNumber],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const emissionClass = queryFilters[QueryFiltersKeysEnum.emissionClass]?.[index];\n\n                    return <EmissionClassLabel emissionClass={emissionClass} />;\n                },\n                clearKeys: [QueryFiltersKeysEnum.emissionClass],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const status = queryFilters[QueryFiltersKeysEnum.status]?.[index];\n\n                    return <TruckStatus status={status} />;\n                },\n                clearKeys: [QueryFiltersKeysEnum.status],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const countryCode = queryFilters[QueryFiltersKeysEnum.country]?.[index];\n\n                    return <CountriesFilterPill countryCodes={countryCode ? [countryCode] : null} />;\n                },\n                clearKeys: [QueryFiltersKeysEnum.country],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const contractName = queryFilters[QueryFiltersKeysEnum.contractName]?.[index];\n                    return <span>{contractName}</span>;\n                },\n                clearKeys: [QueryFiltersKeysEnum.contractId, QueryFiltersKeysEnum.contractName],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const createdDateFrom = queryFilters[QueryFiltersKeysEnum.createdDateFrom];\n                    const createdDateTo = queryFilters[QueryFiltersKeysEnum.createdDateTo];\n\n                    return t('common:trucks-page.filters.pills.added-dates', {\n                        value: formatDateRangeFilterValue(createdDateFrom, createdDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdDateFrom, QueryFiltersKeysEnum.createdDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                isMultiple: true,\n                renderIcon: (queryFilters, index, isCompact) => {\n                    if (queryFilters[QueryFiltersKeysEnum.createdByUserId]?.[index] === ALL_BROKER_USERS_VALUE) {\n                        return pillIconRendererMap.logo();\n                    }\n\n                    return pillIconRendererMap.avatar(\n                        queryFilters[QueryFiltersKeysEnum.createdByUserName]?.[index],\n                        isCompact,\n                    );\n                },\n                render: (queryFilters, index) => {\n                    return t('common:trucks-page.filters.pills.added-by-user', {\n                        value: queryFilters[QueryFiltersKeysEnum.createdByUserName]?.[index],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdByUserName, QueryFiltersKeysEnum.createdByUserId],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                isMultiple: true,\n                renderIcon: (queryFilters, index, isCompact) => {\n                    if (queryFilters[QueryFiltersKeysEnum.lastModifyByUserId]?.[index] === ALL_BROKER_USERS_VALUE) {\n                        return pillIconRendererMap.logo();\n                    }\n\n                    return pillIconRendererMap.avatar(\n                        queryFilters[QueryFiltersKeysEnum.lastModifyByUserName]?.[index],\n                        isCompact,\n                    );\n                },\n                render: (queryFilters, index) => {\n                    return t('common:trucks-page.filters.pills.last-modify-by-user', {\n                        value: queryFilters[QueryFiltersKeysEnum.lastModifyByUserName]?.[index],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.lastModifyByUserName, QueryFiltersKeysEnum.lastModifyByUserId],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const lastModifyDateFrom = queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom];\n                    const lastModifyDateTo = queryFilters[QueryFiltersKeysEnum.lastModifyDateTo];\n\n                    return t('common:trucks-page.filters.pills.last-modify-dates', {\n                        value: formatDateRangeFilterValue(lastModifyDateFrom, lastModifyDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.lastModifyDateFrom, QueryFiltersKeysEnum.lastModifyDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const lastTelematicUpdateDateFrom = queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom];\n                    const lastTelematicUpdateDateTo = queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo];\n\n                    return t('common:trucks-page.filters.pills.last-telematic-update-dates', {\n                        value: formatDateRangeFilterValue(lastTelematicUpdateDateFrom, lastTelematicUpdateDateTo),\n                    });\n                },\n                clearKeys: [\n                    QueryFiltersKeysEnum.lastTelematicUpdateDateFrom,\n                    QueryFiltersKeysEnum.lastTelematicUpdateDateTo,\n                ],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ServicesTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport NameCell from 'broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/cell-renderers/NameCell/NameCell';\nimport EditableCostCell from 'common/components/Table/cell-renderers/EditableCostCell/EditableCostCell';\nimport { ServiceTableRowT } from 'broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    list: Array<ServiceTableRowT>;\n    isDisabled: boolean;\n    isLoading: boolean;\n    className: string;\n    onUpdateService: (row: ServiceTableRowT, value: number) => void;\n};\n\nconst ServicesTable: React.FC<PropsT> = React.memo((props) => {\n    const { list, className, onUpdateService, isDisabled, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<ServiceTableRowT, void>> = [\n        {\n            renderHeader: () => <span>{t('price-settings.additional-services.name-group')}</span>,\n            headerClassName: cx('table__header', 'table__header--name'),\n            render: (row) => <NameCell row={row} />,\n            className: cx('table__column', 'table__column--name'),\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.additional-services.cost')}</span>,\n            headerClassName: cx('table__header', 'table__header--cost'),\n            render: (row, meta) => (\n                <EditableCostCell\n                    key={`${row.category}-${row.service}`}\n                    cost={row.service.itemCost}\n                    isHoveredRow={meta.isHovered}\n                    onUpdate={(cost) => {\n                        onUpdateService(row, cost);\n                    }}\n                />\n            ),\n            className: cx('table__column', 'table__column--cost'),\n        },\n    ];\n\n    const getRowMods = (meta: TableRowMetaT) => ({\n        isSelected: meta.isSelected,\n    });\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<ServiceTableRowT> tableName=\"additional-services\" isLoading={isLoading} rows={list}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<ServiceTableRowT, void>\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n            {isDisabled && <LoaderOverlay />}\n        </div>\n    );\n});\n\nexport default ServicesTable;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './RFQDetails.scss';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport RouteLocationsOverview from 'common/components/entity-details/RouteLocationsOverview/RouteLocationsOverview';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport ExcludedCountries from 'common/components/entity-details/ExcludedCountries/ExcludedCountries';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { RFQDetailsT } from 'common/store/rfq-details/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectTrailersDictById, selectTrailersDictRequest } from 'common/store/trailers-dict/selectors';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { convertToKm } from 'common/utils/distance';\nimport EuroSymbolIcon from 'common/icons/EuroSymbolIcon';\nimport { isNonNil } from 'common/utils';\nimport { formatTimeInterval } from 'common/utils/time';\nimport SimpleTrailerTypeFormatter from 'common/components/InfoTable/formatters/SimpleTrailerTypeFormatter/SimpleTrailerTypeFormatter';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\nimport OrderStatusPill from 'common/components/status-pill/OrderStatusPill/OrderStatusPill';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { urlFactory } from 'shipper/utils/urls';\nimport CaseIcon from 'common/icons/CaseIcon';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport { useCommonPriceDetails } from 'common/components/price-details/hooks/common';\nimport { useAdditionalServicesList } from 'common/components/price-details/hooks/additional-services-list';\nimport FeeIcon from 'common/icons/FeeIcon';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport AccountIcon from 'common/icons/AccountIcon';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport StopWarningIcon from 'common/icons/StopWarningIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport WarningTextFormatter from 'design-system/components/InfoTable/formatters/WarningTextFormatter/WarningTextFormatter';\nimport { checkShouldShowLayover } from 'common/components/price-details/utils';\nimport { useDistanceByCountryRows } from 'common/components/entity-details/hooks/distanceByCountry';\nimport {\n    ApiBrokerAdditionalServiceT,\n    ApiCarrierAdditionalServiceT,\n    OrderCreationReservePointTypeEnum,\n} from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\nimport { TFunction } from 'i18next';\nimport BoatIcon from 'common/icons/BoatIcon';\n\ntype RFQPointT = RFQDetailsT['points'][number];\n\ntype PropsT = {\n    rfqDetails: RFQDetailsT | null;\n    goToUserDetails: (userId: UserIdT | null) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst renderPointIcon = (point: RFQPointT | null | undefined, index: number) => {\n    if (!point) {\n        return null;\n    }\n\n    if (\n        point.type === OrderCreationReservePointTypeEnum.ferryDisembark ||\n        point.type === OrderCreationReservePointTypeEnum.ferryOnboard\n    ) {\n        return (\n            <BoatIcon\n                size={DEFAULT_ICON_SIZE}\n                strokeColor={StyleGuideColorsEnum.gray}\n                fillColor={StyleGuideColorsEnum.light}\n            />\n        );\n    }\n\n    return (\n        <NumberIcon\n            number={(index || 0) + 1}\n            fillColor={\n                point.type === OrderCreationReservePointTypeEnum.shipment\n                    ? StyleGuideColorsEnum.charcoal\n                    : StyleGuideColorsEnum.gray\n            }\n        />\n    );\n};\n\nconst renderPointName = (t: TFunction, point: RFQPointT | null | undefined, index: number) => {\n    if (!point) {\n        return null;\n    }\n\n    if (point.type === OrderCreationReservePointTypeEnum.ferryOnboard) {\n        return t('common:rfq-details.columns.ferry-onboard');\n    }\n\n    if (point.type === OrderCreationReservePointTypeEnum.ferryDisembark) {\n        return t('common:rfq-details.columns.ferry-disembark');\n    }\n\n    return t('common:rfq-details.columns.waypoint-number', {\n        number: index + 1,\n    });\n};\n\nconst RFQDetails: React.FC<PropsT> = React.memo((props) => {\n    const { rfqDetails, goToUserDetails } = props;\n\n    const trailersDictRequest = useSelector(selectTrailersDictRequest);\n    const trailersDictById = useSelector(selectTrailersDictById);\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const trailerDict = trailersDictById[String(rfqDetails?.trailerTypeId)] || null;\n\n    const { t } = useTranslation();\n\n    const distanceByCountryRows = useDistanceByCountryRows(rfqDetails?.priceOffer?.distances?.byCountry);\n\n    const moveDetails: Array<InfoTableRowT> = [\n        {\n            icon: <RouteIcon fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:rfq-details.columns.distance'),\n            value: rfqDetails?.priceOffer?.distances?.totalDistance ? (\n                <UnitTypeCount\n                    count={convertToKm(rfqDetails.priceOffer.distances.totalDistance)}\n                    type={UnitTypeEnum.kilometersAbbreviation}\n                />\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.empty'),\n            isBoldValue: true,\n            hasBottomBorder: false,\n            testSelector: 'distance',\n            rows: distanceByCountryRows,\n        },\n    ];\n\n    const trailerTypeDetails: Array<InfoTableRowT> = [\n        {\n            icon: (\n                <TrailerIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('common:rfq-details.columns.trailer-type'),\n            value: <SimpleTrailerTypeFormatter trailerDictType={trailerDict} />,\n            isLoading: trailersDictRequest.loading,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'trailer-type',\n        },\n    ];\n\n    const commonPriceDetails = useCommonPriceDetails();\n\n    const getPriceDetails = ({\n        priceOffer,\n        label,\n        additionalServiceItems,\n        carrierAdditionalServicesList,\n        brokerAdditionalServicesList,\n    }: {\n        priceOffer: RFQDetailsT['priceOffer'] | RFQDetailsT['completedPrice'];\n        label: string;\n        additionalServiceItems: Array<ApiBrokerAdditionalServiceT | ApiCarrierAdditionalServiceT> | null | undefined;\n        carrierAdditionalServicesList: PriceDetailT[];\n        brokerAdditionalServicesList: PriceDetailT[];\n    }) => {\n        const teamDriveCost = priceOffer?.teamDriveCost;\n        const priceDetails: Array<PriceDetailT | null> = [\n            {\n                iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                title: label,\n                price: priceOffer?.totalPrice,\n                list: [\n                    {\n                        ...commonPriceDetails.lineHaul,\n                        price: priceOffer?.lineHaul,\n                    },\n                    {\n                        ...commonPriceDetails.getRoadTaxesRow(priceOffer?.co2),\n                        price: priceOffer?.toll?.totalCost,\n                        list: commonPriceDetails.getRoadTaxesList(priceOffer?.toll?.byRoadType),\n                    },\n                    {\n                        ...commonPriceDetails.getFuelCostRow(priceOffer?.fuel?.fuelType),\n                        price: priceOffer?.fuel?.totalCost,\n                        list: commonPriceDetails.getFuelCostsByCountryList(priceOffer?.fuel?.byCountry),\n                    },\n                    isNumber(teamDriveCost)\n                        ? {\n                              ...commonPriceDetails.getTeamDrive({\n                                  travelHours: priceOffer?.teamDriveHours,\n                              }),\n                              price: teamDriveCost,\n                          }\n                        : null,\n                    checkShouldShowLayover(priceOffer?.layover?.totalSeconds, priceOffer?.layover?.totalCost)\n                        ? {\n                              ...commonPriceDetails.getLayoverCostRow(\n                                  priceOffer?.layover?.totalSeconds,\n                                  priceOffer?.layover?.paidHours,\n                              ),\n                              price: priceOffer?.layover?.totalCost || 0,\n                          }\n                        : null,\n                    carrierAdditionalServicesList?.length\n                        ? {\n                              ...commonPriceDetails.getCarrierAdditionalServicesRow(additionalServiceItems),\n                              list: [\n                                  {\n                                      list: carrierAdditionalServicesList,\n                                  },\n                              ],\n                          }\n                        : null,\n                    brokerAdditionalServicesList?.length\n                        ? {\n                              ...commonPriceDetails.getBrokerAdditionalServicesRow(additionalServiceItems),\n                              list: [\n                                  {\n                                      list: brokerAdditionalServicesList,\n                                  },\n                              ],\n                          }\n                        : null,\n                    {\n                        iconNode: <FeeIcon strokeColor={StyleGuideColorsEnum.slate} />,\n                        title: t('common:order-details.columns.tranziit-service-fee-cost'),\n                        price: priceOffer?.serviceFee,\n                    },\n                ].filter(isNonNil),\n            },\n        ].filter(isNonNil);\n\n        return priceDetails;\n    };\n\n    const defaultCarrierAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: rfqDetails?.priceOffer?.additionalServices?.items,\n        isAllowBrokerServices: false,\n        isAllowCarrierServices: true,\n    });\n\n    const defaultBrokerAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: rfqDetails?.priceOffer?.additionalServices?.items,\n        isAllowBrokerServices: true,\n        isAllowCarrierServices: false,\n    });\n\n    const defaultPriceDetailsList = rfqDetails?.priceOffer\n        ? getPriceDetails({\n              priceOffer: rfqDetails.priceOffer,\n              label: t('common:rfq-details.columns.default-price'),\n              additionalServiceItems: rfqDetails?.priceOffer?.additionalServices?.items,\n              carrierAdditionalServicesList: defaultCarrierAdditionalServicesList,\n              brokerAdditionalServicesList: defaultBrokerAdditionalServicesList,\n          })\n        : null;\n\n    const targetPriceDetailsList = rfqDetails?.targetPrice\n        ? [\n              {\n                  iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                  title: t('common:rfq-details.columns.target-price'),\n                  price: rfqDetails?.targetPrice,\n              },\n          ]\n        : [];\n\n    const completedCarrierAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: rfqDetails?.completedPrice?.additionalServices?.items,\n        isAllowCarrierServices: true,\n        isAllowBrokerServices: false,\n    });\n\n    const completedBrokerAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: rfqDetails?.completedPrice?.additionalServices?.items,\n        isAllowCarrierServices: false,\n        isAllowBrokerServices: true,\n    });\n\n    const completedPriceDetailsList = rfqDetails?.completedPrice\n        ? getPriceDetails({\n              priceOffer: rfqDetails.completedPrice,\n              label: t('common:rfq-details.columns.selected-price'),\n              additionalServiceItems: rfqDetails?.completedPrice?.additionalServices?.items,\n              carrierAdditionalServicesList: completedCarrierAdditionalServicesList,\n              brokerAdditionalServicesList: completedBrokerAdditionalServicesList,\n          })\n        : null;\n\n    const orderDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <CaseIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('common:rfq-details.columns.order'),\n            value: rfqDetails?.orderId ? (\n                <Link to={urlFactory.orderDetails(rfqDetails.orderId)} theme={LinkThemeEnum.boldBrandDark}>\n                    {rfqDetails.orderNumber}\n                </Link>\n            ) : null,\n            emptyValue: t('common:rfq-details.not-placed-order'),\n            isBoldValue: true,\n            testSelector: 'order',\n            rightNode: rfqDetails?.orderId ? <OrderStatusPill status={rfqDetails.orderStatus} /> : null,\n        },\n        rfqDetails?.externalNumber\n            ? {\n                  icon: null,\n                  name: t('common:rfq-details.columns.external-number'),\n                  value: rfqDetails?.externalNumber,\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'external-number',\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const creationDetails: Array<InfoTableRowT> = [\n        {\n            icon: (\n                <CalendarIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.light}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                />\n            ),\n            name: t('common:rfq-details.columns.create-date'),\n            value: rfqDetails?.createdDate ? (\n                <DateFormatter date={rfqDetails.createdDate} format=\"DD MMM YYYY, HH:mm\" />\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'create-date',\n            hasBottomBorder: true,\n        },\n        {\n            icon: (\n                <AccountIcon\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                    size={DEFAULT_ICON_SIZE}\n                />\n            ),\n            name: t('common:rfq-details.columns.created-by'),\n            value: (\n                <UserLinkFormatter\n                    fullName={rfqDetails?.createdByName}\n                    userId={rfqDetails?.createdById}\n                    byBroker={rfqDetails?.createdByBroker}\n                    onOpenUserDetails={goToUserDetails}\n                />\n            ),\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'created-by',\n        },\n    ].filter(isNonNil);\n\n    const expirationDetails: Array<InfoTableRowT> | null = rfqDetails?.expiration\n        ? [\n              {\n                  icon: (\n                      <CalendarIcon\n                          size={DEFAULT_ICON_SIZE}\n                          fillColor={StyleGuideColorsEnum.light}\n                          strokeColor={StyleGuideColorsEnum.gray}\n                      />\n                  ),\n                  name: t('common:rfq-details.columns.expire-on'),\n                  value: <DateFormatter date={rfqDetails.expiration} format=\"DD MMM YYYY, HH:mm\" />,\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'expiration-date',\n                  hasBottomBorder: false,\n              },\n          ]\n        : null;\n\n    const completedDetails: Array<InfoTableRowT> | null = rfqDetails?.completedDate\n        ? [\n              {\n                  icon: (\n                      <CalendarIcon\n                          size={DEFAULT_ICON_SIZE}\n                          fillColor={StyleGuideColorsEnum.light}\n                          strokeColor={StyleGuideColorsEnum.gray}\n                      />\n                  ),\n                  name: t('common:rfq-details.columns.completed-by'),\n                  value: <DateFormatter date={rfqDetails?.completedDate} format=\"DD MMM YYYY, HH:mm\" />,\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'completed-date',\n                  hasBottomBorder: true,\n              },\n              {\n                  icon: (\n                      <AccountIcon\n                          strokeColor={StyleGuideColorsEnum.gray}\n                          fillColor={StyleGuideColorsEnum.light}\n                          size={DEFAULT_ICON_SIZE}\n                      />\n                  ),\n                  name: t('common:rfq-details.columns.completed-by'),\n                  value: (\n                      <UserLinkFormatter\n                          fullName={rfqDetails?.completedByName}\n                          userId={rfqDetails?.completedById}\n                          onOpenUserDetails={goToUserDetails}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n                  testSelector: 'completed-by',\n              },\n          ]\n        : null;\n\n    const excludedCountries = (rfqDetails?.prohibitedCountries as Array<CountryCodeT>) || [];\n\n    const points = rfqDetails?.points || [];\n    const firstPoint = points[0] || null;\n    const lastPoint = points[points.length - 1] || null;\n\n    if (!rfqDetails) {\n        return null;\n    }\n\n    return (\n        <div className={cx('container')}>\n            <RouteLocationsOverview\n                className={cx('route')}\n                origin={firstPoint?.address}\n                pickupDockingHoursFrom={firstPoint?.from}\n                pickupDockingHoursTo={firstPoint?.to}\n                destination={lastPoint?.address}\n                dropOffDockingHoursFrom={lastPoint?.from}\n                dropOffDockingHoursTo={lastPoint?.to}\n            />\n            <ExcludedCountries\n                className={cx('excluded-countries')}\n                titleNode={t('common:entity-details.excluded-countries.title')}\n                countryCodes={excludedCountries}\n                tooltipNode={t('common:entity-details.excluded-countries.tooltip')}\n            />\n            <InfoTable shouldRenderIcons className={cx('table')} rows={orderDetails} testSelector=\"order-details\" />\n            <InfoTable shouldRenderIcons className={cx('table')} rows={moveDetails} testSelector=\"move-details\" />\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table')}\n                rows={trailerTypeDetails}\n                testSelector=\"trailer-details\"\n            />\n            {points.map((point, index) => {\n                const pointDetails: Array<InfoTableRowT | null> = [\n                    {\n                        icon: renderPointIcon(point, index),\n                        name: renderPointName(t, point, index),\n                        value: <LocationLabel format=\"s1_s2_zip_city_country\" location={point?.address} />,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        rows: [\n                            point?.from || point?.to\n                                ? {\n                                      icon: point?.brokerWindow ? (\n                                          <Tooltip\n                                              position={TooltipPositionEnum.centerRight}\n                                              theme={TooltipThemeEnum.black}\n                                              tooltipNode={\n                                                  <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                                      {t('common:rfq-details.tooltips.broker-appointment')}\n                                                  </TooltipContent>\n                                              }\n                                          >\n                                              {(isShow, childrenClassName) => (\n                                                  <StopWarningIcon\n                                                      className={childrenClassName}\n                                                      fillColor={StyleGuideColorsEnum.tomatoRed}\n                                                  />\n                                              )}\n                                          </Tooltip>\n                                      ) : null,\n                                      name: t('common:rfq-details.columns.time-slot'),\n                                      value: (\n                                          <WarningTextFormatter isActive={!!point?.brokerWindow}>\n                                              {formatTimeInterval(point?.from, point?.to)}\n                                          </WarningTextFormatter>\n                                      ),\n                                      emptyValue: t('common:info-table.placeholders.not-specified'),\n                                      isBoldValue: true,\n                                  }\n                                : null,\n                        ],\n                    },\n                ];\n\n                return (\n                    <InfoTable\n                        key={`route-point-details-${index}`}\n                        shouldRenderIcons\n                        className={cx('table')}\n                        rows={pointDetails}\n                        testSelector={`route-point-details-${index}`}\n                    />\n                );\n            })}\n            {Boolean(targetPriceDetailsList?.length) && (\n                <>\n                    <PriceDetails\n                        className={cx('price-details', {\n                            'price-details--target': true,\n                        })}\n                        list={targetPriceDetailsList}\n                        shouldAlwaysRenderExpandTrigger\n                    />\n                    <div className={cx('separator')} />\n                </>\n            )}\n            {defaultPriceDetailsList && (\n                <PriceDetails\n                    className={cx('price-details', {\n                        'price-details--default': true,\n                    })}\n                    list={defaultPriceDetailsList}\n                />\n            )}\n            {completedPriceDetailsList && (\n                <>\n                    <div className={cx('separator')} />\n                    <PriceDetails\n                        className={cx('price-details', {\n                            'price-details--selected': true,\n                        })}\n                        list={completedPriceDetailsList}\n                    />\n                </>\n            )}\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table')}\n                rows={creationDetails}\n                testSelector=\"creation-details\"\n            />\n            {completedDetails && (\n                <InfoTable\n                    shouldRenderIcons\n                    className={cx('table')}\n                    rows={completedDetails}\n                    testSelector=\"completed-details\"\n                />\n            )}\n            {expirationDetails && (\n                <InfoTable\n                    shouldRenderIcons\n                    className={cx('table')}\n                    rows={expirationDetails}\n                    testSelector=\"expiration-details\"\n                />\n            )}\n        </div>\n    );\n});\n\nexport default RFQDetails;\n","import { ADD_ALERT, AlertsActionT, AlertsStateT, DELETE_ALERT } from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: AlertsStateT = {\n    byId: {},\n    ids: [],\n};\n\nexport default (state = initialState, action: AlertsActionT | DestroySessionActionT): AlertsStateT => {\n    switch (action.type) {\n        case ADD_ALERT: {\n            const { anyAlert } = action;\n\n            const { id } = anyAlert;\n\n            return {\n                ...state,\n                byId: {\n                    ...state.byId,\n                    [id]: anyAlert,\n                },\n                ids: [...state.ids, id],\n            };\n        }\n\n        case DELETE_ALERT: {\n            const { alertId } = action;\n\n            const newById = {\n                ...state.byId,\n            };\n\n            delete newById[alertId];\n\n            const newIds = state.ids.filter((id) => id !== alertId);\n\n            return {\n                ...state,\n                byId: newById,\n                ids: newIds,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"DriverSidebarHeader__fadeIn___A098t\",\"blinking\":\"DriverSidebarHeader__blinking___dbbyi\"};","import * as React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchLegalFormsDict } from 'common/store/legal-forms-dict/actions';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport { selectLegalFormsDictById, selectLegalFormsDictRequest } from 'common/store/legal-forms-dict/selectors';\n\nconst useLegalFormDict = (countryCode: CountryCodeT | null) => {\n    const dispatch = useDispatch();\n\n    const legalFormsRequestStatus = useSelector(selectLegalFormsDictRequest(countryCode));\n    const legalFormsById = useSelector(selectLegalFormsDictById(countryCode));\n\n    React.useEffect(() => {\n        if (countryCode) {\n            dispatch(fetchLegalFormsDict(countryCode));\n        }\n    }, [countryCode, dispatch]);\n\n    return {\n        legalFormsRequestStatus,\n        legalFormsById,\n    };\n};\n\nexport { useLegalFormDict };\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TruckDropOffIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path fill={fillColor} fillOpacity=\"0.3\" d=\"M16 5v8l1 1v2h-6V5h5z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M15.97 1.045l.716.453c.079.05.126.135.126.225v10.134h.296c.623 0 1.129.483 1.129 1.08v2.775h.48c.157 0 .283.121.283.27v1.493c0 .149-.126.27-.282.27H17.5v.715c0 .298-.253.54-.565.54H15.44a.553.553 0 01-.565-.54v-.715L11 17.744V8.688h4.157v-2.66H11V2.74l2.465.001c.771 0 1.467.428 1.79 1.088l.063.145.213.55V1.27c0-.215.25-.343.438-.225zm-3.051 9.561c.312 0 .564.242.564.54v3.421c0 .299-.252.54-.564.54h-1.92v-4.5h1.92zm3.396 4.35h-.964a.522.522 0 01-.534-.51v-.012c0-.282.239-.51.534-.51h.964c.294 0 .533.228.533.51v.013c0 .281-.239.51-.533.51zM2.552 12.75h1.192V9c0-.412.338-.75.75-.75h3c.413 0 .75.338.75.75v3.75h1.193c.667 0 1.005.81.532 1.283l-3.442 3.442a.747.747 0 01-1.058 0l-3.442-3.443c-.473-.472-.143-1.282.525-1.282zm4.942-6.056a.752.752 0 00.75-.739V4a.752.752 0 00-.75-.75h-3a.752.752 0 00-.75.75v1.944c0 .413.338.75.75.75h3z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTruckDropOffIcon.displayName = 'TruckDropOffIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getTruckDropOffIconProps = (\n    preset:\n        | 'default'\n        | 'selected'\n        | 'assignment-events'\n        | 'assignment-error'\n        | 'assignment-normal'\n        | 'assignment-selected'\n        | 'assignment-input-normal'\n        | 'assignment-input-selected',\n): PropsT => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-error': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-input-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n        case 'assignment-events': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-input-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'default':\n        default: {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n    }\n};\n\nexport { storyProps };\nexport default TruckDropOffIcon;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ColoredStatusLabel.scss';\nimport cs from 'classnames';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\n// confluence entity\nexport const colorCodingColoredStatusTheme = {\n    normal: StyleGuideColorsEnum.slate,\n    attention: StyleGuideColorsEnum.orange,\n    warning: StyleGuideColorsEnum.tomatoRed,\n    notImportant: StyleGuideColorsEnum.gray,\n    success: StyleGuideColorsEnum.brandAccent,\n    positive: StyleGuideColorsEnum.brandAccent,\n    focus: StyleGuideColorsEnum.charcoal,\n} as const;\n\nexport type PropsT = {\n    className?: string;\n    label: React.ReactNode;\n    color: StyleGuideColorsEnum;\n    isRightIcon?: boolean;\n    isInline?: boolean;\n    labelClassName?: string;\n    isWithoutVerticalPaddings?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ColoredStatusLabel: React.FC<PropsT> = React.memo((props) => {\n    const { label, isRightIcon, isInline, color, className, labelClassName, isWithoutVerticalPaddings } = props;\n\n    return (\n        <div\n            className={cs(\n                className,\n                cx('wrap', {\n                    'wrap--isRightIcon': isRightIcon,\n                    'wrap--isInline': isInline,\n                }),\n            )}\n        >\n            <div\n                className={cx('icon', {\n                    'icon--withVerticalPaddings': !isWithoutVerticalPaddings,\n                })}\n            >\n                <HollowCircleIcon borderColor={color} />\n            </div>\n            <div className={cs(cx('label', labelClassName))}>{label}</div>\n        </div>\n    );\n});\n\nexport default ColoredStatusLabel;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './SettingsPage.scss';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport history from 'common/utils/history';\nimport { routesEnum, SettingsRoutesEnum } from 'broker-admin/constants';\nimport { Route, Switch, useParams } from 'react-router-dom';\nimport { generatePath } from 'react-router';\nimport NavigationTabs, {\n    NavigationTabConfigT,\n    NavigationTabsPropsT,\n} from 'common/components/tabs/NavigationTabs/NavigationTabs';\nimport RateMatrix from './RateMatrix/RateMatrix';\nimport PriceSettingsRules from './PriceSettingsRules/PriceSettingsRules';\nimport SystemSettings from 'broker-admin/layouts/SettingsPage/SystemSettings/SystemSettings';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport RemoteFormActions from 'common/components/forms/RemoteFormActions/RemoteFormActions';\nimport useRemoteFormActions from 'common/utils/hooks/useRemoteFormActions';\nimport AdditionalServicesSettings from './AdditionalServicesSettings/AdditionalServicesSettings';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport isString from 'lodash/isString';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport TenderCalculator from 'broker-admin/layouts/SettingsPage/TenderCalculator/TenderCalculator';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst SettingsPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const params = useParams<ExtractRouterRouteParamsT<typeof routesEnum.settings>>();\n\n    const handleSelectTab: NavigationTabsPropsT['onSelectTab'] = (to): void => {\n        if (isString(to)) {\n            const pathname = generatePath(to, params);\n\n            history.push({\n                pathname,\n            });\n        } else {\n            history.push({\n                ...to,\n            });\n        }\n    };\n\n    const tabsConfig = React.useMemo(\n        (): NavigationTabConfigT[] => [\n            {\n                to: SettingsRoutesEnum.rateMatrix,\n                pathname: SettingsRoutesEnum.rateMatrix,\n                render: () => <span>{t('price-settings.tabs.rate-matrix')}</span>,\n                testSelector: 'rate-matrix',\n            },\n            {\n                to: SettingsRoutesEnum.rules,\n                pathname: SettingsRoutesEnum.rules,\n                render: () => <span>{t('price-settings.tabs.rules')}</span>,\n                testSelector: 'rules',\n            },\n            {\n                to: SettingsRoutesEnum.systemSettings,\n                pathname: SettingsRoutesEnum.systemSettings,\n                render: () => <span>{t('price-settings.tabs.system-settings')}</span>,\n                testSelector: 'system-settings',\n            },\n            {\n                to: SettingsRoutesEnum.additionalServices,\n                pathname: SettingsRoutesEnum.additionalServices,\n                render: () => <span>{t('price-settings.tabs.additional-services')}</span>,\n                testSelector: 'additional-services',\n            },\n            {\n                to: SettingsRoutesEnum.tenderCalculator,\n                pathname: SettingsRoutesEnum.tenderCalculator,\n                render: () => <span>{t('price-settings.tabs.tender-calculator')}</span>,\n                testSelector: 'tender-calculator',\n            },\n        ],\n        [t],\n    );\n\n    const remoteFormActions = useRemoteFormActions();\n\n    const header = (\n        <>\n            <PageTitle title={t('page-titles.settings')} />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent\n                        title={t('price-settings.title')}\n                        rightNode={\n                            <>\n                                <RemoteFormActions className={cx('header__controls')} />\n                                <NotificationsBarTrigger />\n                            </>\n                        }\n                    />\n                </TopBar>\n                <div className={cx('controls')}>\n                    <NavigationTabs tabsConfig={tabsConfig} onSelectTab={handleSelectTab} />\n                    {/* <div className={cx('actions')}> */}\n                    {/*    <TransparentTrigger */}\n                    {/*        label={t('common:activity')} */}\n                    {/*        onClick={() => { */}\n                    {/*            // TODO */}\n                    {/*        }} */}\n                    {/*        rightIcon={<ArrowsIcon />} */}\n                    {/*    /> */}\n                    {/* </div> */}\n                </div>\n            </ContentMargins>\n        </>\n    );\n\n    return (\n        <RemoteFormActionsContext.Provider value={remoteFormActions}>\n            <ScrollableContent>\n                {header}\n                <Switch>\n                    <Route path={SettingsRoutesEnum.rateMatrix}>\n                        <RateMatrix />\n                    </Route>\n                    <Route path={SettingsRoutesEnum.rules}>\n                        <PriceSettingsRules />\n                    </Route>\n                    <Route path={SettingsRoutesEnum.systemSettings}>\n                        <SystemSettings />\n                    </Route>\n                    <Route path={SettingsRoutesEnum.additionalServices}>\n                        <AdditionalServicesSettings />\n                    </Route>\n                    <Route path={SettingsRoutesEnum.tenderCalculator}>\n                        <TenderCalculator />\n                    </Route>\n                </Switch>\n                <SideBars />\n            </ScrollableContent>\n        </RemoteFormActionsContext.Provider>\n    );\n});\n\nexport default SettingsPage;\n","import {\n    FETCH_DONE_STATISTICS_REQUEST_BEGIN,\n    FETCH_DONE_STATISTICS_REQUEST_ERROR,\n    FETCH_DONE_STATISTICS_REQUEST_SUCCESS,\n    FETCH_REJECT_STATISTICS_REQUEST_BEGIN,\n    FETCH_REJECT_STATISTICS_REQUEST_ERROR,\n    FETCH_REJECT_STATISTICS_REQUEST_SUCCESS,\n    FETCH_STATISTICS_REQUEST_BEGIN,\n    StatisticsActionT,\n    StatisticsStateT,\n} from './types';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: StatisticsStateT = {\n    fetchQuery: null,\n    rejectData: null,\n    rejectRequestStatus: requestStatus.initial,\n    doneData: null,\n    doneRequestStatus: requestStatus.initial,\n};\n\nexport default (state = initialState, action: StatisticsActionT | DestroySessionActionT): StatisticsStateT => {\n    switch (action.type) {\n        case FETCH_STATISTICS_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                fetchQuery: query,\n            };\n        }\n\n        case FETCH_DONE_STATISTICS_REQUEST_BEGIN: {\n            const { query } = action;\n\n            const isSameQuery = checkIsSameQuery(query, state.fetchQuery);\n            if (!isSameQuery) {\n                return state;\n            }\n\n            return {\n                ...state,\n                doneRequestStatus: requestStatus.loading,\n            };\n        }\n\n        case FETCH_DONE_STATISTICS_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            const isSameQuery = checkIsSameQuery(query, state.fetchQuery);\n            if (!isSameQuery) {\n                return state;\n            }\n\n            return {\n                ...state,\n                doneData: null,\n                doneRequestStatus: requestStatus.setError(error),\n            };\n        }\n\n        case FETCH_DONE_STATISTICS_REQUEST_SUCCESS: {\n            const { statistic, query } = action;\n\n            const isSameQuery = checkIsSameQuery(query, state.fetchQuery);\n            if (!isSameQuery) {\n                return state;\n            }\n\n            return {\n                ...state,\n                doneData: statistic,\n                doneRequestStatus: requestStatus.ok,\n            };\n        }\n\n        case FETCH_REJECT_STATISTICS_REQUEST_BEGIN: {\n            const { query } = action;\n\n            const isSameQuery = checkIsSameQuery(query, state.fetchQuery);\n            if (!isSameQuery) {\n                return state;\n            }\n\n            return {\n                ...state,\n                rejectRequestStatus: requestStatus.loading,\n            };\n        }\n\n        case FETCH_REJECT_STATISTICS_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            const isSameQuery = checkIsSameQuery(query, state.fetchQuery);\n            if (!isSameQuery) {\n                return state;\n            }\n\n            return {\n                ...state,\n                rejectData: null,\n                rejectRequestStatus: requestStatus.setError(error),\n            };\n        }\n\n        case FETCH_REJECT_STATISTICS_REQUEST_SUCCESS: {\n            const { statistic, query } = action;\n\n            const isSameQuery = checkIsSameQuery(query, state.fetchQuery);\n            if (!isSameQuery) {\n                return state;\n            }\n\n            return {\n                ...state,\n                rejectData: statistic,\n                rejectRequestStatus: requestStatus.ok,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import * as React from 'react';\nimport { formatTimeInterval } from 'common/utils/time';\nimport LocationCellLayout from 'common/components/Table/cell-renderers/LocationCell/LocationCell';\nimport { DirectionEnum } from 'common/constants';\nimport { RFQT } from 'common/store/rfqs/models';\n\ntype PropsT = {\n    rfq: RFQT;\n    type: DirectionEnum;\n};\n\nconst LocationCell: React.FC<PropsT> = React.memo((props) => {\n    const { rfq, type } = props;\n\n    let time = null;\n    let address = null;\n\n    const points = rfq?.points || [];\n\n    const lastPoint = points[points.length - 1] || null;\n    if (type === DirectionEnum.destination && lastPoint) {\n        address = lastPoint.addressStr;\n        time = formatTimeInterval(lastPoint.from, lastPoint.to);\n    }\n\n    const firstPoint = points[0] || null;\n    if (type === DirectionEnum.origin && firstPoint) {\n        address = firstPoint.addressStr;\n        time = formatTimeInterval(firstPoint.from, firstPoint.to);\n    }\n\n    return <LocationCellLayout address={address} time={time} />;\n});\n\nexport default LocationCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ShipmentMissedCard__inner___eryew\",\"fadeIn\":\"ShipmentMissedCard__fadeIn___n64g3\",\"blinking\":\"ShipmentMissedCard__blinking___IPJNc\"};","import {\n    CHECK_GPS_STATUS_REQUEST,\n    CHECK_GPS_STATUS_REQUEST_BEGIN,\n    CHECK_GPS_STATUS_REQUEST_ERROR,\n    CHECK_GPS_STATUS_REQUEST_SUCCESS,\n    CheckGPSStatusRequestActionT,\n    CheckGPSStatusRequestBeginActionT,\n    CheckGPSStatusRequestErrorActionT,\n    CheckGPSStatusRequestSuccessActionT,\n    GPSTrackingStatusQueryT,\n    RESET,\n    ResetActionT,\n} from './types';\nimport { GPSStatusT } from './models';\n\nexport const checkGPSStatusRequest = (query: GPSTrackingStatusQueryT | null): CheckGPSStatusRequestActionT => ({\n    type: CHECK_GPS_STATUS_REQUEST,\n    query,\n});\n\nexport const checkRequestBegin = (query: GPSTrackingStatusQueryT): CheckGPSStatusRequestBeginActionT => ({\n    type: CHECK_GPS_STATUS_REQUEST_BEGIN,\n    query,\n});\n\nexport const checkRequestSuccess = (\n    query: GPSTrackingStatusQueryT,\n    data: GPSStatusT,\n): CheckGPSStatusRequestSuccessActionT => ({\n    type: CHECK_GPS_STATUS_REQUEST_SUCCESS,\n    query,\n    data,\n});\n\nexport const checkRequestError = (query: GPSTrackingStatusQueryT, error: Error): CheckGPSStatusRequestErrorActionT => ({\n    type: CHECK_GPS_STATUS_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const reset = (): ResetActionT => ({\n    type: RESET,\n});\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ListPageHeaderLayout.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    leftToolsNode?: React.ReactNode;\n    leftToolsClassName?: string;\n    rightToolsNode?: React.ReactNode;\n    rightToolsClassName?: string;\n    filterTagsNode?: React.ReactNode;\n    withTopPadding?: boolean;\n};\n\nconst ListPageHeaderLayout: React.FC<PropsT> = React.memo((props) => {\n    const {\n        withTopPadding,\n        leftToolsNode,\n        leftToolsClassName,\n        rightToolsNode,\n        rightToolsClassName,\n        filterTagsNode,\n        className,\n    } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('content', {\n                    'content--with-top-padding': withTopPadding,\n                }),\n                className,\n            )}\n        >\n            {(leftToolsNode || rightToolsNode) && (\n                <div className={cx('tools')}>\n                    <div className={cs(cx('left-tools'), leftToolsClassName)}>{leftToolsNode}</div>\n                    <div className={cs(cx('right-tools'), rightToolsClassName)}>{rightToolsNode}</div>\n                </div>\n            )}\n            {filterTagsNode && <div className={cx('filter-tags')}>{filterTagsNode}</div>}\n        </div>\n    );\n});\n\nexport default ListPageHeaderLayout;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RevokedPartnerDocumentCard.scss';\nimport { Trans } from 'react-i18next';\nimport { ApiDocumentTypeT, ApiPartnerTypeT } from 'common/utils/api/models';\nimport AsyncDictDocumentNameLabel from 'common/components/AsyncDictDocumentNameLabel/AsyncDictDocumentNameLabel';\nimport PartnerName from 'broker-admin/components/notification-cards/entities/PartnerName/PartnerName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerName: string;\n    partnerType: ApiPartnerTypeT | null;\n    documentType: ApiDocumentTypeT;\n};\n\nconst RevokedPartnerDocumentCard: React.FC<PropsT> = React.memo((props) => {\n    const { partnerName, partnerType, documentType } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-document-revoked\"\n                components={{\n                    partnerName: <PartnerName partnerName={partnerName} />,\n                    documentName: (\n                        <AsyncDictDocumentNameLabel\n                            className={cx('document-name')}\n                            partnerType={partnerType}\n                            documentType={documentType}\n                        />\n                    ),\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RevokedPartnerDocumentCard;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { useSelector } from 'react-redux';\nimport { selectMaxWindowSizeMs, selectMinWindowSizeMs } from 'common/store/settings/selectors';\n\ntype PropsT = {\n    timeWindow: TimeWindowT | null | undefined;\n    className?: string;\n};\n\nconst TimeIntervalLimitPillLabel: React.FC<PropsT> = (props) => {\n    const { timeWindow, className } = props;\n\n    const { t } = useTranslation();\n\n    const minWindowSizeMs = useSelector(selectMinWindowSizeMs);\n    const maxWindowSizeMs = useSelector(selectMaxWindowSizeMs);\n\n    if (!timeWindow) {\n        return null;\n    }\n\n    const diff = timeWindow[1] - timeWindow[0];\n\n    return (\n        <>\n            {false && diff === minWindowSizeMs && (\n                <PillLabel isSymmetrical theme={PillLabelThemeEnum.blazeOrange} className={className}>\n                    {t('common:new-order-form.pills.min-time-slot')}\n                </PillLabel>\n            )}\n            {diff === maxWindowSizeMs && (\n                <PillLabel isSymmetrical theme={PillLabelThemeEnum.blazeOrange} className={className}>\n                    {t('common:new-order-form.pills.max-time-slot')}\n                </PillLabel>\n            )}\n        </>\n    );\n};\n\nexport default TimeIntervalLimitPillLabel;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AlertsDebugForm.scss';\nimport { useDispatch } from 'react-redux';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { AnyAlert } from 'common/store/alerts/models';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst AlertsDebugForm: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const dispatch = useDispatch();\n\n    const defaultAlert = React.useMemo((): string => {\n        return JSON.stringify({}, null, 4);\n    }, []);\n\n    const [type, setType] = React.useState<string>('type');\n    const [text, setText] = React.useState<string>(defaultAlert);\n\n    const featuresContext = React.useContext(FeaturesContext);\n    if (!featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.debugAlertForm)) {\n        return null;\n    }\n\n    return (\n        <div className={className} style={{ marginBottom: '20px' }}>\n            <button\n                onClick={() => {\n                    const data = JSON.parse(text);\n\n                    const alert = new AnyAlert({ type, data });\n\n                    dispatch(addAlert(alert));\n                }}\n            >\n                send test alert\n            </button>\n            <br />\n            <br />\n            <div>\n                <input\n                    value={type}\n                    onChange={(event) => {\n                        setType(event.target.value);\n                    }}\n                />\n                <br />\n                <textarea\n                    style={{\n                        width: '100%',\n                        height: '400px',\n                    }}\n                    value={text}\n                    onChange={(event) => {\n                        setText(event.target.value);\n                    }}\n                />\n            </div>\n        </div>\n    );\n});\n\nexport default AlertsDebugForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"field--trailer-type\":\"ShipperContractLaneDetails__field--trailer-type___AS8JY\",\"field--emission-class\":\"ShipperContractLaneDetails__field--emission-class___n4mnX\",\"field--location\":\"ShipperContractLaneDetails__field--location___utONa\",\"field--radius\":\"ShipperContractLaneDetails__field--radius___rVW6B\",\"field--date\":\"ShipperContractLaneDetails__field--date___BT5Mr\",\"field--limit\":\"ShipperContractLaneDetails__field--limit___pmL1s\",\"field--external-lane-id\":\"ShipperContractLaneDetails__field--external-lane-id___e78gq\",\"fadeIn\":\"ShipperContractLaneDetails__fadeIn___OmujJ\",\"blinking\":\"ShipperContractLaneDetails__blinking___PoMtJ\"};","export enum QueryKeysEnum {\n    brokerUsersTeamsFilters = 'broker-users-teams-filters',\n    brokerUsersTeamsPage = 'broker-users-teams-page',\n    brokerUsersTeamsSort = 'broker-users-teams-sort',\n}\n\nexport enum QueryFiltersKeysEnum {\n    searchText = 'searchText',\n    partnerIds = 'partnerIds',\n    partnerNames = 'partnerNames',\n    userIds = 'userIds',\n    userFullNames = 'userFullNames',\n}\n\nexport type QueryFiltersT = {\n    [QueryFiltersKeysEnum.searchText]?: QueryParam.StringT;\n    [QueryFiltersKeysEnum.partnerIds]?: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.partnerNames]?: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.userIds]?: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.userFullNames]?: QueryParam.ArrayT<string>;\n};\n\nexport enum BrokerUsersTeamsSortEnum {\n    name = 'NAME',\n    createdDate = 'CREATED_DATE',\n}\n","import { FetchError } from './fetch-error';\n\nexport enum ApiRequestErrorTypeEnum {\n    timeoutError = 'timeoutError',\n    networkError = 'networkError',\n    badRequest = 'badRequest',\n}\n\nexport class ApiRequestError<TResponseData = any, TRequestConfig = any> extends FetchError<\n    TResponseData,\n    TRequestConfig\n> {\n    type: ApiRequestErrorTypeEnum;\n\n    constructor(fetchError: FetchError<TResponseData, TRequestConfig>, type: ApiRequestErrorTypeEnum) {\n        super(fetchError);\n\n        this.type = type;\n\n        // fix for instanceof\n        // https://github.com/microsoft/TypeScript/issues/13965\n        // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work\n        Object.setPrototypeOf(this, ApiRequestError.prototype);\n    }\n}\n\nexport const checkIsApiRequestError = (error: Error | null | undefined): error is ApiRequestError => {\n    return error instanceof ApiRequestError;\n};\n\nexport const checkIsUnauthorizedError = (error: Error | null | undefined): error is ApiRequestError => {\n    return error instanceof ApiRequestError && error.httpStatusCode === 401;\n};\n\nexport const checkIsForbiddenError = (error: Error | null | undefined): error is ApiRequestError => {\n    return error instanceof ApiRequestError && error.httpStatusCode === 403;\n};\n\nexport const checkIsBadRequestError = (error: Error | null | undefined): boolean => {\n    if (!checkIsApiRequestError(error)) {\n        return false;\n    }\n\n    return error.type === ApiRequestErrorTypeEnum.badRequest;\n};\n\nexport const checkIsNetworkError = (error: Error | null | undefined): boolean => {\n    if (!checkIsApiRequestError(error)) {\n        return false;\n    }\n\n    return error.type === ApiRequestErrorTypeEnum.networkError;\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ExpiredPartnerCarrierContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst ExpiredPartnerCarrierContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-carrier-contract-expired\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ExpiredPartnerCarrierContractCard;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ChangeRatesForm.scss';\nimport { ChangeCostT } from 'broker-admin/store/price-settings/rates/models';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport Input from 'common/components/Input/Input';\nimport { getMoneyDiffMask, getMoneyMask, getPercentDiffMask } from 'common/utils/input-masks';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { UpdateRateStrategyEnum } from 'common/utils/api/models';\nimport { CURRENCY_SYMBOLS } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    onSubmit: (changeCost: ChangeCostT) => void;\n};\n\ntype OptionT = {\n    label: string;\n    value: UpdateRateStrategyEnum;\n};\n\nconst getMaskByType = (type: UpdateRateStrategyEnum) => {\n    switch (type) {\n        case UpdateRateStrategyEnum.percent:\n            return getPercentDiffMask();\n        case UpdateRateStrategyEnum.diff:\n            return getMoneyDiffMask();\n        case UpdateRateStrategyEnum.exactValue:\n            return getMoneyMask();\n        default:\n            return null;\n    }\n};\n\nconst UNIT_BY_TYPE = {\n    [UpdateRateStrategyEnum.percent]: '%',\n    [UpdateRateStrategyEnum.diff]: '+/-',\n    [UpdateRateStrategyEnum.exactValue]: CURRENCY_SYMBOLS.EUR,\n};\n\nconst ENTER_KEY = 'Enter';\n\nconst DEFAULT_DIFF_VALUE = '+';\nconst DEFAULT_VALUE = '';\n\nconst ChangeRatesForm: React.FC<PropsT> = (props) => {\n    const { className, onSubmit } = props;\n\n    const { t } = useTranslation();\n\n    const [inputValue, setInputValue] = React.useState<string>(DEFAULT_DIFF_VALUE);\n    const [dropdownValue, setDropdownValue] = React.useState<UpdateRateStrategyEnum>(UpdateRateStrategyEnum.percent);\n\n    const options: OptionT[] = [\n        {\n            label: t('price-settings.rate-matrix.change-cost.type.percent'),\n            value: UpdateRateStrategyEnum.percent,\n        },\n        {\n            label: t('price-settings.rate-matrix.change-cost.type.diff'),\n            value: UpdateRateStrategyEnum.diff,\n        },\n        {\n            label: t('price-settings.rate-matrix.change-cost.type.exact'),\n            value: UpdateRateStrategyEnum.exactValue,\n        },\n    ];\n\n    const renderOption = (option: OptionT | undefined | null) => <span>{option?.label}</span>;\n\n    const getOptionValue = (option: OptionT) => option.value;\n\n    const handleSubmit = () => {\n        const parsedValue = parseSimpleNumber(inputValue) || 0;\n\n        const isValid = parsedValue && !Number.isNaN(parsedValue);\n        if (!isValid) {\n            return;\n        }\n\n        const changeCost: ChangeCostT = {\n            value: parsedValue,\n            strategy: dropdownValue,\n        };\n\n        onSubmit(changeCost);\n    };\n\n    const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n        if (event.key === ENTER_KEY) {\n            handleSubmit();\n        }\n    };\n\n    const handleSelect = (value: UpdateRateStrategyEnum) => {\n        setDropdownValue(value);\n\n        if (value === UpdateRateStrategyEnum.exactValue) {\n            setInputValue(DEFAULT_VALUE);\n        }\n\n        if (value === UpdateRateStrategyEnum.diff) {\n            setInputValue(DEFAULT_DIFF_VALUE);\n        }\n\n        if (value === UpdateRateStrategyEnum.percent) {\n            setInputValue(DEFAULT_DIFF_VALUE);\n        }\n    };\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <Input\n                name=\"cost\"\n                className={cx('field', 'field--value')}\n                value={inputValue}\n                mask={getMaskByType(dropdownValue)}\n                rightNode={UNIT_BY_TYPE[dropdownValue]}\n                onChange={setInputValue}\n                onKeyUp={handleKeyUp}\n                guide={false}\n            />\n            <DropdownInput<OptionT, UpdateRateStrategyEnum>\n                className={cx('field', 'field--type')}\n                selectedValue={dropdownValue}\n                options={options}\n                onSelect={handleSelect}\n                renderOption={renderOption}\n                getOptionValue={getOptionValue}\n                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            />\n            <Button theme={ButtonThemeEnum.primary} onClick={handleSubmit}>\n                {t('price-settings.rate-matrix.change-cost.apply')}\n            </Button>\n        </div>\n    );\n};\n\nexport default ChangeRatesForm;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst ShipperIcon: React.FC<PropsT> = (props) => {\n    const { size, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 21\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1.517h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M4 10.517v1.5h12v-1.5H4zm9-3.75L11.943 5.71 10.75 6.895V4.517h-1.5V6.91L8.043 5.725 7 6.767l3 3 3-3zm-9 7.5h12v-1.5H4v1.5zm0 2.25h12v-1.5H4v1.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nShipperIcon.displayName = 'ShipperIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default ShipperIcon;\n\nexport const ShipperIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        isPressed,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        isPressed?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            strokeColor:\n                hasValue || isFocused || isPressed ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.gray,\n        };\n    },\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor?: StyleGuideColorsEnum;\n    strokeColor?: StyleGuideColorsEnum;\n};\n\nconst ContactBadgeIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M10.45 9.1h-.9c-.747 0-1.35-.603-1.35-1.35H4.15v8.1h11.7v-8.1H11.8c0 .747-.603 1.35-1.35 1.35zm-2.7.9a1.125 1.125 0 110 2.25 1.125 1.125 0 010-2.25zM10 14.5H5.5v-.432c0-.45.27-.855.684-1.044A3.963 3.963 0 017.75 12.7c.558 0 1.08.117 1.566.324.414.18.684.585.684 1.044v.432zm4.5-.9h-2.7v-1.35h2.7v1.35zm0-2.25h-2.7V10h2.7v1.35z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M10.45 2.8c.747 0 1.35.603 1.35 1.35V6.4h4.05c.747 0 1.35.603 1.35 1.35v8.1c0 .747-.603 1.35-1.35 1.35H4.15c-.747 0-1.35-.603-1.35-1.35v-8.1c0-.747.603-1.35 1.35-1.35H8.2V4.15c0-.747.603-1.35 1.35-1.35zM8.2 7.75H4.15v8.1h11.7v-8.1H11.8c0 .747-.603 1.35-1.35 1.35h-.9c-.747 0-1.35-.603-1.35-1.35zm-.45 4.95c.558 0 1.08.117 1.566.324.414.18.684.585.684 1.044v.432H5.5v-.432c0-.459.27-.864.684-1.044A3.963 3.963 0 017.75 12.7zm6.75-.45v1.35h-2.7v-1.35h2.7zM7.75 10a1.125 1.125 0 110 2.25 1.125 1.125 0 010-2.25zm6.75 0v1.35h-2.7V10h2.7zm-4.05-5.85h-.9v3.6h.9v-3.6z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nContactBadgeIcon.displayName = 'ContactBadgeIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.light,\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default ContactBadgeIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './LocationCell.scss';\n\ntype PropsT = {\n    address: React.ReactNode;\n};\n\nconst cx = classNames.bind(styles);\n\nconst LocationCell: React.FC<PropsT> = React.memo((props) => {\n    const { address } = props;\n\n    return <div className={cx('location')}>{address}</div>;\n});\n\nexport default LocationCell;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './MultiPointOrderDraftDetails.scss';\n\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport RouteIcon from 'common/icons/RouteIcon';\n\nimport { useTranslation } from 'react-i18next';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { ApiLocationAddressT } from 'mobile-app/src/utils/api/carrier-tranziit/models';\nimport {\n    ApiOrderCreationReservePointTypeT,\n    ApiTrailerDictTypeT,\n    OrderCreationReservePointTypeEnum,\n} from 'common/utils/api/models';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport BoatIcon from 'common/icons/BoatIcon';\n\nconst cx = classNames.bind(styles);\n\nexport type MultiPointOrderDraftDetailsPropsT = {\n    points: Array<{\n        index?: number;\n        type?: ApiOrderCreationReservePointTypeT;\n        address: ApiLocationAddressT | null;\n    } | null> | null;\n    offer: PriceOfferT | null;\n    trailerType: ApiTrailerDictTypeT | null;\n};\n\ntype RowT = {\n    leftColumn: React.ReactNode;\n    leftColumnClassName?: string;\n    rightColumn: React.ReactNode;\n    rightColumnClassName?: string;\n};\n\nconst MultiPointOrderDraftDetails: React.FC<MultiPointOrderDraftDetailsPropsT> = React.memo((props) => {\n    const { offer, trailerType, points } = props;\n\n    const { t } = useTranslation();\n\n    const renderRow = (row: RowT): React.ReactNode => {\n        return (\n            <div className={cx('row')}>\n                <div className={cs(cx('column', 'column--isLeftColumn'), row.leftColumnClassName)}>\n                    {row.leftColumn}\n                </div>\n                <div className={cs(cx('column', 'column--isRightColumn'), row.rightColumnClassName)}>\n                    {row.rightColumn}\n                </div>\n            </div>\n        );\n    };\n\n    const getPlaceholderRow = (width: number, key?: string): RowT => ({\n        leftColumn: <div key={`placeholder-icon-${key}`} className={cx('placeholder', 'placeholder__icon')} />,\n        rightColumn: (\n            <div\n                key={`placeholder-content-${key}`}\n                className={cx('placeholder', 'placeholder__content')}\n                style={{\n                    width: `${width}%`,\n                }}\n            />\n        ),\n    });\n\n    return (\n        <div className={cx('inner')}>\n            {renderRow(\n                offer\n                    ? {\n                          leftColumn: <RouteIcon fillColor={StyleGuideColorsEnum.charcoal} />,\n                          rightColumn: t('common:new-order-details.payload-mileage', {\n                              distance: offer.distanceKm,\n                          }),\n                          rightColumnClassName: cx('column--isWeight'),\n                      }\n                    : getPlaceholderRow(20),\n            )}\n            {renderRow(\n                trailerType\n                    ? {\n                          leftColumn: (\n                              <TrailerIcon\n                                  fillColor={StyleGuideColorsEnum.brandAccent}\n                                  strokeColor={StyleGuideColorsEnum.brandDark}\n                                  size={DEFAULT_ICON_SIZE}\n                              />\n                          ),\n                          rightColumn: t('common:trailer-subtype-template', {\n                              length: trailerType.length,\n                              model: trailerType.model,\n                              eur1Pallets: trailerType.eur1Pallets,\n                              eur2Pallets: trailerType.eur2Pallets,\n                          }),\n                          rightColumnClassName: cx('column--isWeight'),\n                      }\n                    : getPlaceholderRow(45),\n            )}\n            <div className={cx('direction')}>\n                {points?.map((point) => {\n                    if (!point) {\n                        return null;\n                    }\n\n                    let iconNode: React.ReactNode;\n                    if (\n                        point.type === OrderCreationReservePointTypeEnum.ferryDisembark ||\n                        point.type === OrderCreationReservePointTypeEnum.ferryOnboard\n                    ) {\n                        iconNode = (\n                            <BoatIcon\n                                size={DEFAULT_ICON_SIZE}\n                                fillColor={StyleGuideColorsEnum.brandAccent}\n                                strokeColor={StyleGuideColorsEnum.brandDark}\n                            />\n                        );\n                    } else {\n                        let iconFillColor = StyleGuideColorsEnum.gray;\n                        if (point.type === OrderCreationReservePointTypeEnum.shipment) {\n                            iconFillColor = StyleGuideColorsEnum.charcoal;\n                        }\n                        iconNode = <NumberIcon number={(point?.index || 0) + 1} fillColor={iconFillColor} />;\n                    }\n\n                    return renderRow({\n                        leftColumn: iconNode,\n                        rightColumn: (\n                            <LocationLabel format=\"s1_s2_zip_city_country\" location={point.address} separator=\", \" />\n                        ),\n                        rightColumnClassName: cx('column--isDirection'),\n                    });\n                })}\n                {!points?.length && (\n                    <>\n                        {renderRow(getPlaceholderRow(65, '0'))}\n                        {renderRow(getPlaceholderRow(65, '1'))}\n                    </>\n                )}\n            </div>\n        </div>\n    );\n});\n\nexport default MultiPointOrderDraftDetails;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './StartSelectBidFooterContent.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport AssignCarrierConfirmation, {\n    AssignCarrierConfirmationDataT,\n} from '../../dialogs/AssignCarrierConfirmation/AssignCarrierConfirmation';\nimport { useDispatch } from 'react-redux';\nimport { assignBidToSpotRequest } from 'broker-admin/store/spot-request-details/actions';\nimport keyBy from 'lodash/keyBy';\nimport { SpotRequestDetailsT } from 'broker-admin/store/spot-request-details/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    spotRequestId: SpotRequestIdT | null;\n    selectedBidId: BidIdT | null;\n    details: SpotRequestDetailsT | null;\n    updateRequestStatus: RequestStatusT;\n};\n\nconst StartSelectBidFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { details, spotRequestId, selectedBidId, updateRequestStatus } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const bidById = useMemo(() => {\n        return keyBy(details?.bids, 'id');\n    }, [details]);\n\n    const assignCarrierConfirmation = useModalDialog<AssignCarrierConfirmationDataT>();\n    const handleCancelSpotRequest = () => {\n        const selectedBid = bidById[selectedBidId as string];\n        if (!selectedBid || !selectedBidId || !spotRequestId) {\n            return;\n        }\n\n        assignCarrierConfirmation.setData({\n            selectedBidId,\n            spotRequestId,\n            carrierName: selectedBid?.carrier?.name || '-',\n        });\n    };\n\n    useCloseModalDialogAfterRequest(updateRequestStatus, [assignCarrierConfirmation]);\n\n    const handleStartSelectBid = (data: AssignCarrierConfirmationDataT) => {\n        dispatch(assignBidToSpotRequest(data.spotRequestId, data.selectedBidId));\n    };\n\n    if (!details) {\n        return null;\n    }\n\n    return (\n        <>\n            {selectedBidId ? (\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    className={cx('action', 'action--start')}\n                    onClick={handleCancelSpotRequest}\n                    isLoading={updateRequestStatus.loading}\n                >\n                    {t('spot-request-details.start-select-bid.actions.select')}\n                </Button>\n            ) : null}\n            <AssignCarrierConfirmation\n                data={assignCarrierConfirmation.data}\n                onConfirmation={handleStartSelectBid}\n                requestStatus={updateRequestStatus}\n                onCancel={assignCarrierConfirmation.onCancel}\n                onClose={assignCarrierConfirmation.onClose}\n            />\n        </>\n    );\n});\n\nexport default StartSelectBidFooterContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"status--pending\":\"StatusCell__status--pending___KRB_o\",\"fadeIn\":\"StatusCell__fadeIn___CwqLB\",\"blinking\":\"StatusCell__blinking___XNGxh\"};","import {\n    DeadheadInitContextResponseT,\n    DeadheadInitContextQueryT,\n    DeadheadPreviewContextQueryT,\n    RawDeadheadInitContextQueryT,\n    RawDeadheadPreviewQueryT,\n} from '../models';\nimport { DeadheadChangeEventT } from '../slice';\nimport isNumber from 'lodash/isNumber';\nimport cloneDeep from 'lodash/cloneDeep';\n\nexport const validateDeadheadInitContextQuery = (\n    query: RawDeadheadInitContextQueryT | null,\n): query is DeadheadInitContextQueryT => {\n    if (!query) {\n        return false;\n    }\n\n    const excludedCountriesSet = new Set(query.excludedCountries || []);\n\n    return Boolean(\n        query.truckId &&\n            query.stops?.length &&\n            // first stop is always the pickup stop, will be added by the backend so we don't need to validate it\n            query.stops.slice(1).every((stop) => {\n                return stop.latitude && stop.longitude;\n            }) &&\n            query.stops.slice(1).every((stop) => {\n                return stop.country && !excludedCountriesSet.has(stop.country);\n            }),\n    );\n};\n\nexport const modifyDeadheadInitContextQuery = (\n    prevQuery: RawDeadheadInitContextQueryT | null,\n    event: DeadheadChangeEventT,\n): RawDeadheadInitContextQueryT | null => {\n    const newQuery: RawDeadheadInitContextQueryT = cloneDeep(prevQuery || {});\n\n    switch (event.type) {\n        case 'set-truck-id':\n            newQuery.truckId = event.truckId || undefined;\n\n            if (event.resetRoute) {\n                newQuery.stops = event.resetRoute.map((stop) => {\n                    return {\n                        fakeId: stop.contextRouteStopFakeId,\n                        latitude: stop?.address?.latitude,\n                        longitude: stop?.address?.longitude,\n                        city: stop?.address?.city,\n                        country: stop?.address?.country,\n                        street1: stop?.address?.street1,\n                        street2: stop?.address?.street2,\n                        zipCode: stop?.address?.zipCode,\n                    };\n                });\n            }\n            break;\n        case 'set-excluded-countries':\n            newQuery.excludedCountries = event.excludedCountries || undefined;\n            break;\n        case 'init': {\n            newQuery.stops = event.initRoute.map((stop) => {\n                return {\n                    fakeId: stop.contextRouteStopFakeId,\n                    latitude: stop?.address?.latitude,\n                    longitude: stop?.address?.longitude,\n                    city: stop?.address?.city,\n                    country: stop?.address?.country,\n                    street1: stop?.address?.street1,\n                    street2: stop?.address?.street2,\n                    zipCode: stop?.address?.zipCode,\n                };\n            });\n            break;\n        }\n        case 'insert-route-point': {\n            let beforeIndex: number | null = null;\n\n            // Search from the end of the array to the beginning\n            for (let index = event.beforeContextRouteStopFakeIds.length - 1; index >= 0; index -= 1) {\n                const foundIndex = newQuery?.stops?.findIndex((stop) => {\n                    return stop.fakeId === event.beforeContextRouteStopFakeIds[index];\n                });\n                if (isNumber(foundIndex) && foundIndex !== -1) {\n                    beforeIndex = foundIndex;\n                    break;\n                }\n            }\n\n            if (isNumber(beforeIndex) && beforeIndex !== -1 && newQuery.stops) {\n                newQuery.stops.splice(beforeIndex + 1, 0, {\n                    fakeId: event.contextRouteStopFakeId,\n                    latitude: event?.address?.latitude,\n                    longitude: event?.address?.longitude,\n                    city: event?.address?.city,\n                    country: event?.address?.country,\n                    street1: event?.address?.street1,\n                    street2: event?.address?.street2,\n                    zipCode: event?.address?.zipCode,\n                });\n            }\n            break;\n        }\n        case 'change-stop-location': {\n            const targetIndex = newQuery?.stops?.findIndex((stop) => {\n                return stop.fakeId === event.contextRouteStopFakeId;\n            });\n\n            if (isNumber(targetIndex) && targetIndex !== -1 && newQuery.stops) {\n                newQuery.stops[targetIndex] = {\n                    ...newQuery.stops[targetIndex],\n                    latitude: event?.address?.latitude,\n                    longitude: event?.address?.longitude,\n                    city: event?.address?.city,\n                    country: event?.address?.country,\n                    street1: event?.address?.street1,\n                    street2: event?.address?.street2,\n                    zipCode: event?.address?.zipCode,\n                };\n            }\n            break;\n        }\n        case 'delete-route-point': {\n            newQuery.stops =\n                newQuery.stops?.filter((stop) => {\n                    return stop.fakeId !== event.contextRouteStopFakeId;\n                }) || [];\n            break;\n        }\n        default:\n            // nothing to do\n            break;\n    }\n\n    return newQuery;\n};\n\nexport const validateDeadheadPreviewQuery = (\n    query: RawDeadheadPreviewQueryT | null,\n): query is DeadheadPreviewContextQueryT => {\n    if (!query) {\n        return false;\n    }\n\n    return Boolean(query.arrivalDateTime);\n};\n\nexport const modifyDeadheadPreviewQuery = (\n    prevQuery: RawDeadheadPreviewQueryT | null,\n    event: DeadheadChangeEventT,\n    context: DeadheadInitContextResponseT | null,\n): RawDeadheadPreviewQueryT | null => {\n    const newQuery: RawDeadheadPreviewQueryT = cloneDeep(prevQuery || {});\n\n    // TODO delete it later, if everything is working correctly, the dates are adjusted by the backend.\n    // const isValidArrivalDateTime = (() => {\n    //     const { arrivalDateTime } = newQuery;\n    //     if (!arrivalDateTime || !context?.ranges?.length) {\n    //         return false;\n    //     }\n    //\n    //     return context.ranges.some((range) => {\n    //         const { from, to } = range;\n    //\n    //         // If to is not specified, it means the range is open to infinity\n    //         if (!to) {\n    //             return arrivalDateTime >= from;\n    //         }\n    //\n    //         // Check that arrivalDateTime falls within the range [from, to]\n    //         return checkIsInDateRange(from, to, arrivalDateTime);\n    //     });\n    // })();\n    //\n    // const firstRangeArrivalDateTime = context?.ranges?.[0]?.from;\n    // if ((!newQuery.arrivalDateTime || !isValidArrivalDateTime) && firstRangeArrivalDateTime) {\n    //     newQuery.arrivalDateTime = firstRangeArrivalDateTime;\n    // }\n\n    const firstRangeArrivalDateTime = context?.ranges?.[0]?.from;\n    if (!newQuery?.arrivalDateTime && firstRangeArrivalDateTime) {\n        newQuery.arrivalDateTime = firstRangeArrivalDateTime;\n    }\n\n    switch (event.type) {\n        case 'set-arrival-date-time':\n            newQuery.arrivalDateTime = event.arrivalDateTime;\n            break;\n        default:\n            // nothing to do\n            break;\n    }\n\n    return newQuery;\n};\n","import { StateT } from 'broker-admin/store/models';\nimport { ManagersStateT } from './types';\n\nexport const selectFetchManagersRequest = (state: StateT): ManagersStateT['request'] => state.managers.request;\n\nexport const selectManagersAllIds = (state: StateT): ManagersStateT['allIds'] => state.managers.allIds || [];\nexport const selectManagersById = (state: StateT): ManagersStateT['byId'] => state.managers.byId || {};\n","import { NotificationRendererT } from 'common/components/notifications/NotificationsBarContent/models';\nimport { AnyNotificationT, NotificationEmotionEnum, NotificationViewT } from 'common/store/notifications/models';\n\nexport const renderCommonNotification: NotificationRendererT = (\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    notification,\n) => {\n    return null;\n};\n\nexport const renderUnknownNotification = (notification: AnyNotificationT): NotificationViewT => {\n    return {\n        emotion: NotificationEmotionEnum.neutral,\n        text: JSON.stringify(notification) || '',\n    };\n};\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { fetchCarrierUtilizationBegin, fetchCarrierUtilizationError, fetchCarrierUtilizationSuccess } from './actions';\nimport { FETCH_UTILIZATION_REQUEST, FetchCarrierUtilizationActionT } from './types';\nimport { selectCarriersUtilizationByHash, selectFetchRequestStatus } from './selectors';\nimport { getHash } from './utils';\nimport isEmpty from 'lodash/isEmpty';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\n\nfunction* fetchCarriersUtilizationSaga(action: FetchCarrierUtilizationActionT): WrapGeneratorT<void> {\n    const { ids, date } = action;\n\n    const requestStatus: ReturnType<typeof selectFetchRequestStatus> = yield select(selectFetchRequestStatus);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    const carriersUtilizationByHash: ReturnType<typeof selectCarriersUtilizationByHash> = yield select(\n        selectCarriersUtilizationByHash,\n    );\n    const needIds = ids.filter((id) => {\n        const hash = getHash(id, date);\n\n        return !carriersUtilizationByHash[hash];\n    });\n\n    if (isEmpty(needIds)) {\n        return;\n    }\n\n    yield put(fetchCarrierUtilizationBegin());\n\n    const [error, utilizations]: ReturnApiT<typeof commonTranziitApi.fetchCarriersUtilization> =\n        yield commonTranziitApi.fetchCarriersUtilization(needIds, date);\n\n    if (error) {\n        yield put(fetchCarrierUtilizationError(error));\n        return;\n    }\n\n    yield put(fetchCarrierUtilizationSuccess(needIds, date, utilizations || []));\n}\n\nfunction* carrierUtilizationSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_UTILIZATION_REQUEST, fetchCarriersUtilizationSaga);\n}\n\nexport default carrierUtilizationSaga;\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { QueryFiltersT, QueryFiltersKeysEnum } from '../query-models';\nimport { useTranslation } from 'react-i18next';\nimport TrailerDictIdFilterPill from 'common/components/filter-pills/TrailerDictIdFilterPill/TrailerDictIdFilterPill';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { formatDateRangeFilterValue, pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\nimport TrailerStatus from 'common/components/status/TrailerStatus/TrailerStatus';\nimport CountriesFilterPill from 'common/components/filter-pills/CountriesFilterPill/CountriesFilterPill';\nimport { ALL_BROKER_USERS_VALUE } from 'common/components/dropdowns/UserMultipleDropdown/constants';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const selectedTrailerId = queryFilters[QueryFiltersKeysEnum.dictTrailerTypeId]?.[index];\n\n                    return <TrailerDictIdFilterPill isShortLabel trailerDictId={selectedTrailerId} />;\n                },\n                clearKeys: [QueryFiltersKeysEnum.dictTrailerTypeId],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:trailers-page.filters.pills.plate-number', {\n                        value: queryFilters[QueryFiltersKeysEnum.plateNumber],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.plateNumber],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const countryCode = queryFilters[QueryFiltersKeysEnum.country]?.[index];\n\n                    return <CountriesFilterPill countryCodes={countryCode ? [countryCode] : null} />;\n                },\n                clearKeys: [QueryFiltersKeysEnum.country],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const status = queryFilters[QueryFiltersKeysEnum.status]?.[index];\n\n                    return <TrailerStatus status={status} />;\n                },\n                clearKeys: [QueryFiltersKeysEnum.status],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                isMultiple: true,\n                renderIcon: (queryFilters, index, isCompact) => {\n                    if (queryFilters[QueryFiltersKeysEnum.createdByUserId]?.[index] === ALL_BROKER_USERS_VALUE) {\n                        return pillIconRendererMap.logo();\n                    }\n\n                    return pillIconRendererMap.avatar(\n                        queryFilters[QueryFiltersKeysEnum.createdByUserName]?.[index],\n                        isCompact,\n                    );\n                },\n                render: (queryFilters, index) => {\n                    return t('common:trailers-page.filters.pills.added-by-user', {\n                        value: queryFilters[QueryFiltersKeysEnum.createdByUserName]?.[index],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdByUserName, QueryFiltersKeysEnum.createdByUserId],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const createdDateFrom = queryFilters[QueryFiltersKeysEnum.createdDateFrom];\n                    const createdDateTo = queryFilters[QueryFiltersKeysEnum.createdDateTo];\n\n                    return t('common:trailers-page.filters.pills.added-dates', {\n                        value: formatDateRangeFilterValue(createdDateFrom, createdDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdDateFrom, QueryFiltersKeysEnum.createdDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                isMultiple: true,\n                renderIcon: (queryFilters, index, isCompact) => {\n                    if (queryFilters[QueryFiltersKeysEnum.lastModifyByUserId]?.[index] === ALL_BROKER_USERS_VALUE) {\n                        return pillIconRendererMap.logo();\n                    }\n\n                    return pillIconRendererMap.avatar(\n                        queryFilters[QueryFiltersKeysEnum.lastModifyByUserName]?.[index],\n                        isCompact,\n                    );\n                },\n                render: (queryFilters, index) => {\n                    return t('common:trailers-page.filters.pills.last-modify-by-user', {\n                        value: queryFilters[QueryFiltersKeysEnum.lastModifyByUserName]?.[index],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.lastModifyByUserName, QueryFiltersKeysEnum.lastModifyByUserId],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const lastModifyDateFrom = queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom];\n                    const lastModifyDateTo = queryFilters[QueryFiltersKeysEnum.lastModifyDateTo];\n\n                    return t('common:trailers-page.filters.pills.last-modify-dates', {\n                        value: formatDateRangeFilterValue(lastModifyDateFrom, lastModifyDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.lastModifyDateFrom, QueryFiltersKeysEnum.lastModifyDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const contractName = queryFilters[QueryFiltersKeysEnum.contractName]?.[index];\n                    return <span>{contractName}</span>;\n                },\n                clearKeys: [QueryFiltersKeysEnum.contractId, QueryFiltersKeysEnum.contractName],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const lastTelematicUpdateDateFrom = queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom];\n                    const lastTelematicUpdateDateTo = queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo];\n\n                    return t('common:trailers-page.filters.pills.last-telematic-update-dates', {\n                        value: formatDateRangeFilterValue(lastTelematicUpdateDateFrom, lastTelematicUpdateDateTo),\n                    });\n                },\n                clearKeys: [\n                    QueryFiltersKeysEnum.lastTelematicUpdateDateFrom,\n                    QueryFiltersKeysEnum.lastTelematicUpdateDateTo,\n                ],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import { StateT } from 'broker-admin/store/models';\nimport { BrokerTourDetailsStateT, initialBrokerTourDetailsState } from './slice';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const selectBrokerTourDetails =\n    (id: BrokerTourIdT | null | undefined) =>\n    (state: StateT): BrokerTourDetailsStateT['details'] =>\n        state.brokerTourDetails[id as string]?.details || initialBrokerTourDetailsState.details;\n\nexport const selectBrokerTourDetailsRequestStatus =\n    (id?: BrokerTourIdT | null | undefined) =>\n    (state: StateT): RequestStatusT =>\n        state.brokerTourDetails[id as string]?.requestStatus || initialBrokerTourDetailsState.requestStatus;\n","import React, { useCallback } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport styles from './ContractMultipleDropdown.scss';\nimport { useTranslation } from 'react-i18next';\nimport {\n    AdditionalOptionFilterT,\n    useAsyncFilterOptions,\n} from 'design-system/components/dropdowns/DropdownSearchInput/hooks/use-async-filter-options';\nimport { AsyncRequestFactoryT } from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport { ApiCarrierContractStatusT, ApiPartnerContractT } from 'common/utils/api/models';\nimport ContractName from 'common/components/ContractName/ContractName';\nimport DropdownSearchMultipleInput from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport keyBy from 'lodash/keyBy';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = CarrierContractIdT | null;\n\ntype PropsT = {\n    className?: string;\n    placeholder?: string;\n    inputPlaceholder?: string;\n    values: Array<ValueT>;\n    hasNoneOption?: boolean;\n    isDisabled?: boolean;\n    onChange: (values: Array<ValueT>, labels: Array<string>) => void;\n    hasChanges?: boolean;\n    companyId: CompanyIdT | null;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    isOnlyApproved?: boolean;\n    excludedContractIds?: Array<CarrierContractIdT>;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    hasClearControl?: boolean;\n    excludedStatusesSet?: Set<ApiCarrierContractStatusT | undefined>;\n};\n\ntype NoneOptionT = {\n    id: null;\n    name: string;\n};\n\nexport type OptionT = ApiPartnerContractT | NoneOptionT;\n\nconst ContractMultipleDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        values,\n        placeholder,\n        inputPlaceholder,\n        onChange,\n        hasNoneOption,\n        isDisabled,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasError,\n        hasWarning,\n        companyId,\n        excludedContractIds,\n        overlayPosition,\n        hasClearControl,\n        isOnlyApproved,\n        excludedStatusesSet,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback(async () => {\n        let options: Array<OptionT> = [];\n\n        if (!companyId) {\n            logWarning('Empty companyId in requestFactory');\n            return [null, null];\n        }\n\n        const isPartner = !checkIsDefaultCompanyId(companyId);\n        if (isPartner) {\n            if (isOnlyApproved) {\n                const approvedBrokerContractsResponse = await brokerTranziitApi.fetchCarrierApprovedContracts(\n                    companyId,\n                );\n                const [approvedBrokerContractsError, approvedBrokerContractsResult] = approvedBrokerContractsResponse;\n                if (approvedBrokerContractsError) {\n                    return [approvedBrokerContractsError, null];\n                }\n                if (approvedBrokerContractsResult) {\n                    options = approvedBrokerContractsResult;\n                }\n            } else {\n                const brokerContractsResponse = await brokerTranziitApi.fetchCarrierContracts(companyId);\n                const [brokerContractsError, brokerContractsResult] = brokerContractsResponse;\n                if (brokerContractsError) {\n                    return [brokerContractsError, null];\n                }\n                if (brokerContractsResult) {\n                    options = brokerContractsResult;\n                }\n            }\n        } else if (isOnlyApproved) {\n            const approvedCarrierContractsResponse = await carrierTranziitApi.fetchCarrierApprovedContracts();\n            const [approvedCarrierContractsError, approvedCarrierContractsResult] = approvedCarrierContractsResponse;\n            if (approvedCarrierContractsError) {\n                return [approvedCarrierContractsError, null];\n            }\n            if (approvedCarrierContractsResult) {\n                options = approvedCarrierContractsResult;\n            }\n        } else {\n            const carrierContractsResponse = await carrierTranziitApi.fetchCarrierContracts();\n            const [carrierContractsError, carrierContractsResult] = carrierContractsResponse;\n            if (carrierContractsError) {\n                return [carrierContractsError, null];\n            }\n            if (carrierContractsResult) {\n                options = carrierContractsResult;\n            }\n        }\n\n        if (hasNoneOption) {\n            options.unshift({\n                name: t('common:dedicated.none'),\n                id: null,\n            });\n        }\n        return [null, options];\n    }, [companyId, hasNoneOption, isOnlyApproved, t]);\n\n    const additionalOptionFilter: AdditionalOptionFilterT<OptionT> = useCallback(\n        (option) => {\n            return !!option.id && !excludedContractIds?.includes(option.id) && !excludedStatusesSet?.has(option.status);\n        },\n        [excludedContractIds, excludedStatusesSet],\n    );\n\n    const getOptionText = useCallback((option: OptionT) => option.name || option.id || '', []);\n\n    const asyncFilterOptionsRequest = useAsyncFilterOptions<OptionT>({\n        requestFactory,\n        getOptionText,\n        additionalOptionFilter,\n        settings: {},\n    });\n\n    const renderOption = (option: OptionT | null | undefined, placeholder?: string): React.ReactElement | null => {\n        if (!option && hasNoneOption) {\n            return t('common:dedicated.none');\n        }\n\n        if (!option) {\n            return <div>{placeholder || null}</div>;\n        }\n\n        return (\n            <div className={cx('option')} key={option.id}>\n                <ContractName className={cx('contract-name')} name={option.name} nameFallback={option.id} />\n            </div>\n        );\n    };\n\n    const renderTrigger = (options: Array<OptionT>, placeholder: string | undefined) => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options.length === 1) {\n            const firstOption = options?.[0];\n            return <ContractName className={cx('contract-name')} name={firstOption?.name} />;\n        }\n\n        return <DropdownMultipleInputCountLabel count={options?.length} />;\n    };\n\n    const handleSelect = (values: Array<ValueT>): void => {\n        const optionByValue = keyBy(asyncFilterOptionsRequest?.options, 'id');\n\n        const labels = values.map((value) => {\n            const option = optionByValue[value as string] || null;\n            if (!option) {\n                return '';\n            }\n\n            return option?.name || '';\n        });\n\n        onChange(values, labels);\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id || null;\n\n    const handleFocus = useCallback(() => {\n        if (onFocus) {\n            onFocus();\n        }\n\n        asyncFilterOptionsRequest.onRefresh();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onFocus, asyncFilterOptionsRequest.onRefresh]);\n\n    const handleReset = () => {\n        handleSelect([]);\n    };\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values}\n            placeholder={placeholder}\n            inputPlaceholder={inputPlaceholder}\n            options={asyncFilterOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            onReset={hasClearControl ? handleReset : undefined}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncFilterOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            isLoading={asyncFilterOptionsRequest.requestStatus.loading}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default ContractMultipleDropdown;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { CalculateCostRequestQueryT, CreateRequestQueryT } from './models';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport { ApiPriceOfferT, MapSettingsT } from './types';\n\nexport type ShipperContractLaneCreationStateT = {\n    mapSettings: MapSettingsT | null;\n\n    origin: {\n        location: LocationT | null;\n        radiusKm: number | null;\n    };\n    destination: {\n        location: LocationT | null;\n        radiusKm: number | null;\n    };\n\n    polylines: Array<GooglePolylineT> | null;\n    fetchRouteRequest: RequestStatusT;\n\n    calculateCostRequestQuery: CalculateCostRequestQueryT | null;\n    calculateCostRequest: RequestStatusT;\n    averagePriceOffer: ApiPriceOfferT | null;\n\n    creationRequestQuery: CreateRequestQueryT | null;\n    creationRequest: RequestStatusT;\n};\n\nconst initialState: ShipperContractLaneCreationStateT = {\n    mapSettings: null,\n\n    origin: {\n        location: null,\n        radiusKm: null,\n    },\n    destination: {\n        location: null,\n        radiusKm: null,\n    },\n\n    polylines: null,\n    fetchRouteRequest: requestStatus.initial,\n\n    calculateCostRequestQuery: null,\n    calculateCostRequest: requestStatus.initial,\n    averagePriceOffer: null,\n\n    creationRequestQuery: null,\n    creationRequest: requestStatus.initial,\n};\n\nexport const shipperContractLaneCreationSlice = createSlice({\n    name: 'shipperContractLaneCreation',\n    initialState,\n    reducers: {\n        setMapSettings: (\n            state,\n            action: PayloadAction<{\n                settings: MapSettingsT | null;\n            }>,\n        ) => {\n            state.mapSettings = action.payload.settings;\n        },\n        setOriginLocation: (\n            state,\n            action: PayloadAction<{\n                location: LocationT | null;\n            }>,\n        ) => {\n            state.origin.location = action.payload.location;\n            state.polylines = null;\n        },\n        setOriginLocationRadius: (\n            state,\n            action: PayloadAction<{\n                radiusKm: number | null;\n            }>,\n        ) => {\n            state.origin.radiusKm = action.payload.radiusKm;\n        },\n        setDestinationLocation: (\n            state,\n            action: PayloadAction<{\n                location: LocationT | null;\n            }>,\n        ) => {\n            state.destination.location = action.payload.location;\n            state.polylines = null;\n        },\n        setDestinationLocationRadius: (\n            state,\n            action: PayloadAction<{\n                radiusKm: number | null;\n            }>,\n        ) => {\n            state.destination.radiusKm = action.payload.radiusKm;\n        },\n        resetShipperLaneCreation: () => {\n            return initialState;\n        },\n        calculateCostRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                query: CalculateCostRequestQueryT;\n                partnerId: PartnerIdT;\n                contractId: ShipperContractIdT;\n            }>,\n        ) => {\n            // nothing\n        },\n        calculateCostRequestSuccess: (\n            state,\n            action: PayloadAction<{\n                query: CalculateCostRequestQueryT;\n                averagePriceOffer: ApiPriceOfferT | null;\n            }>,\n        ) => {\n            const { query, averagePriceOffer } = action.payload;\n\n            if (!checkIsSameQuery(query, state.calculateCostRequestQuery)) {\n                return;\n            }\n\n            state.calculateCostRequest = requestStatus.ok;\n            state.averagePriceOffer = averagePriceOffer;\n        },\n        calculateCostRequestSetRoute: (\n            state,\n            action: PayloadAction<{\n                query: CalculateCostRequestQueryT;\n                polylines: Array<GooglePolylineT>;\n            }>,\n        ) => {\n            const { query, polylines } = action.payload;\n\n            if (!checkIsSameQuery(query, state.calculateCostRequestQuery)) {\n                return;\n            }\n\n            state.fetchRouteRequest = requestStatus.ok;\n            state.polylines = polylines;\n        },\n        calculateCostRequestFetchRouteError: (\n            state,\n            action: PayloadAction<{\n                query: CalculateCostRequestQueryT;\n                error: Error;\n            }>,\n        ) => {\n            const { query, error } = action.payload;\n\n            if (!checkIsSameQuery(query, state.calculateCostRequestQuery)) {\n                return;\n            }\n\n            state.fetchRouteRequest = requestStatus.setError(error);\n            state.polylines = null;\n        },\n        calculateCostRequestError: (\n            state,\n            action: PayloadAction<{\n                query: CalculateCostRequestQueryT;\n                error: Error;\n            }>,\n        ) => {\n            const { query, error } = action.payload;\n\n            if (!checkIsSameQuery(query, state.calculateCostRequestQuery)) {\n                return;\n            }\n\n            state.calculateCostRequest = requestStatus.setError(error);\n        },\n        calculateCostRequestBegin: (\n            state,\n            action: PayloadAction<{\n                query: CalculateCostRequestQueryT;\n            }>,\n        ) => {\n            state.calculateCostRequestQuery = action.payload.query;\n            state.fetchRouteRequest = requestStatus.loading;\n            state.calculateCostRequest = requestStatus.loading;\n            state.averagePriceOffer = null;\n        },\n        createLaneRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                query: CreateRequestQueryT;\n                partnerId: PartnerIdT;\n                contractId: ShipperContractIdT;\n            }>,\n        ) => {\n            // nothing\n        },\n        createLaneRequestBegin: (\n            state,\n            action: PayloadAction<{\n                query: CreateRequestQueryT;\n            }>,\n        ) => {\n            state.creationRequestQuery = action.payload.query;\n            state.creationRequest = requestStatus.loading;\n        },\n        createLaneRequestSuccess: (\n            state,\n            action: PayloadAction<{\n                query: CreateRequestQueryT;\n            }>,\n        ) => {\n            const { query } = action.payload;\n\n            if (!checkIsSameQuery(query, state.creationRequestQuery)) {\n                return;\n            }\n\n            state.creationRequest = requestStatus.ok;\n        },\n        createLaneRequestError: (\n            state,\n            action: PayloadAction<{\n                query: CreateRequestQueryT;\n                error: Error;\n            }>,\n        ) => {\n            const { query, error } = action.payload;\n\n            if (!checkIsSameQuery(query, state.creationRequestQuery)) {\n                return;\n            }\n\n            state.creationRequest = requestStatus.setError(error);\n        },\n    },\n});\n\nexport const {\n    setMapSettings,\n\n    resetShipperLaneCreation,\n\n    setDestinationLocation,\n    setDestinationLocationRadius,\n\n    setOriginLocation,\n    setOriginLocationRadius,\n\n    calculateCostRequest,\n    calculateCostRequestBegin,\n    calculateCostRequestError,\n    calculateCostRequestSuccess,\n    calculateCostRequestSetRoute,\n    calculateCostRequestFetchRouteError,\n\n    createLaneRequest,\n    createLaneRequestBegin,\n    createLaneRequestError,\n    createLaneRequestSuccess,\n} = shipperContractLaneCreationSlice.actions;\n\nexport default shipperContractLaneCreationSlice.reducer;\n","import * as React from 'react';\nimport { useState } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\ntype PropsT<RowT> = {\n    tableName: string;\n    rows: Array<RowT>;\n    isLoading: boolean;\n    children: (rows: Array<RowT>, isUsedPrevRows: boolean) => React.ReactElement | null;\n};\n\nconst MemoizedTable = <RowT extends {}>(props: PropsT<RowT>) => {\n    const { tableName, rows, isLoading, children } = props;\n\n    const [prevRows, setPrevRows] = useState<RowT[]>(rows);\n    React.useEffect(() => {\n        if (!isLoading) {\n            setPrevRows(rows);\n        }\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    React.useEffect(() => {\n        setPrevRows([]);\n    }, [tableName]);\n\n    const isUsedPrevRows = isLoading && isEmpty(rows) && !isEmpty(prevRows);\n    const tableRows = isUsedPrevRows ? prevRows : rows;\n\n    return children(tableRows, isUsedPrevRows);\n};\n\nexport default React.memo(MemoizedTable) as typeof MemoizedTable;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst UploadFileIcon: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M15.557 6.558l-3.622-3.623a1.498 1.498 0 00-1.058-.435H5.5c-.825 0-1.492.675-1.492 1.5L4 16c0 .825.668 1.5 1.492 1.5H14.5c.825 0 1.5-.675 1.5-1.5V7.622c0-.397-.158-.78-.443-1.064zM12.1 12.25h-1.35v2.25c0 .412-.338.75-.75.75a.752.752 0 01-.75-.75v-2.25H7.907a.371.371 0 01-.262-.637l2.1-2.093a.385.385 0 01.533 0l2.092 2.093c.225.232.06.637-.27.637zm-.6-4.5a.752.752 0 01-.75-.75V3.625l4.125 4.125H11.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nUploadFileIcon.displayName = 'UploadFileIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\nexport default UploadFileIcon;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor?: StyleGuideColorsEnum;\n};\n\nconst GeoAreaIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, ...restProps } = props;\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" {...restProps}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M13.69 14.732l1.065 1.073a7.457 7.457 0 01-3.99 1.658v-1.515a5.96 5.96 0 002.925-1.216zM9.235 2.538v1.514c-2.94.39-5.213 2.91-5.213 5.948 0 3.037 2.273 5.557 5.213 5.947v1.516C5.462 17.065 2.522 13.87 2.522 10s2.94-7.065 6.714-7.463zm8.242 8.212a7.463 7.463 0 01-1.657 3.99l-1.072-1.065a5.958 5.958 0 001.215-2.925zM10 6.25c1.575 0 3 1.207 3 3.075 0 1.245-.998 2.722-3 4.425-2.003-1.703-3-3.18-3-4.425C7 7.457 8.425 6.25 10 6.25zm0 2.145a.803.803 0 100 1.603.803.803 0 000-1.603zm5.82-3.135a7.456 7.456 0 011.657 3.99h-1.514a5.895 5.895 0 00-1.215-2.917zm-5.055-2.722c1.5.15 2.88.75 3.99 1.657L13.69 5.268a5.954 5.954 0 00-2.925-1.215z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nGeoAreaIcon.displayName = 'GeoAreaIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default GeoAreaIcon;\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getGeoAreaIconProps = (preset: 'default' | 'selected'): Pick<PropsT, 'fillColor'> => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                fillColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        default: {\n            return {\n                fillColor: StyleGuideColorsEnum.slate,\n            };\n        }\n    }\n};\n","import { SpotRequestsQuickFilterEnum } from './constants';\n\nexport enum QueryKeysEnum {\n    spotRequestsPage = 'spot-requests-page',\n    spotRequestsSort = 'spot-requests-sort',\n    spotRequestsFilters = 'spot-requests-filters',\n}\n\nexport enum QueryFiltersKeysEnum {\n    quickFilter = 'quick-filter',\n    searchText = 'search-text',\n    createdByShipperId = 'created-by-shipper-id',\n    createdByShipperName = 'created-by-shipper-name',\n    dictTrailerTypeId = 'dict-trailer-type-id',\n    pickupAddress = 'pickup-address',\n    pickupDateFrom = 'pickup-docking-hours-from',\n    pickupDateTo = 'pickup-docking-hours-to',\n    dropOffAddress = 'drop-off-address',\n    dropOffDateFrom = 'drop-off-docking-hours-from',\n    dropOffDateTo = 'drop-off-docking-hours-to',\n    createdDateFrom = 'created-date-from',\n    createdDateTo = 'created-date-to',\n    createdByUserId = 'created-by-user-id',\n    createdByUserName = 'created-by-user-name',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.quickFilter]: SpotRequestsQuickFilterEnum;\n    [QueryFiltersKeysEnum.searchText]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByShipperId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByShipperName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dictTrailerTypeId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupAddress]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffAddress]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByUserId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByUserName]: QueryParam.StringT;\n}>;\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { PapersMessagePlaceholder } from 'common/components/papers/message-placeholders/PapersMessagePlaceholder/PapersMessagePlaceholder';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst PapersEmptyPlaceholder: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <PapersMessagePlaceholder className={className}>{t('common:papers-card.no-photos')}</PapersMessagePlaceholder>\n    );\n});\n\nexport { PapersEmptyPlaceholder };\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst CopyIcon: React.FC<PropsT> = (props) => {\n    const { className, strokeColor } = props;\n\n    return (\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill={strokeColor} d=\"M7 6.25h8.25v10.5H7z\" />\n                <path\n                    d=\"M13 1.75H4c-.825 0-1.5.675-1.5 1.5v10.5H4V3.25h9v-1.5zm2.25 3H7c-.825 0-1.5.675-1.5 1.5v10.5c0 .825.675 1.5 1.5 1.5h8.25c.825 0 1.5-.675 1.5-1.5V6.25c0-.825-.675-1.5-1.5-1.5zm0 12H7V6.25h8.25v10.5z\"\n                    fill=\"#6B6C6F\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nCopyIcon.displayName = 'CopyIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default CopyIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"SideBarLayout__content___BJXyB\",\"content--without-scrollbar\":\"SideBarLayout__content--without-scrollbar___our60\",\"content--is-wide\":\"SideBarLayout__content--is-wide___OX8ho\",\"fadeIn\":\"SideBarLayout__fadeIn___mlAFo\",\"blinking\":\"SideBarLayout__blinking___JG30t\"};","import * as React from 'react';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiShipperContractStatusT, ShipperContractStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    ordersLeft: number | null | undefined;\n    maxNumberOfOrders: number | null | undefined;\n    status: ApiShipperContractStatusT | null | undefined;\n    isSymmetrical?: boolean;\n};\n\nconst THEME_BY_STATUS: Record<ApiShipperContractStatusT, PillLabelThemeEnum> = {\n    [ShipperContractStatusEnum.active]: PillLabelThemeEnum.charcoal,\n    [ShipperContractStatusEnum.expired]: PillLabelThemeEnum.grey,\n    [ShipperContractStatusEnum.revoked]: PillLabelThemeEnum.grey,\n};\n\nconst DEFAULT_THEME = PillLabelThemeEnum.grey;\n\nconst ShipperContractLaneOrderCounterPill: React.FC<PropsT> = React.memo((props) => {\n    const { ordersLeft, maxNumberOfOrders, status, isSymmetrical } = props;\n\n    const { t } = useTranslation();\n\n    const isShowNoLanesLabel = ordersLeft === null && status === ShipperContractStatusEnum.active;\n    if (isShowNoLanesLabel) {\n        return (\n            <PillLabel isSymmetrical={isSymmetrical} theme={PillLabelThemeEnum.grey}>\n                {t('common:shipper-contracts.table.no-lanes')}\n            </PillLabel>\n        );\n    }\n\n    const theme = status ? THEME_BY_STATUS[status] : DEFAULT_THEME;\n\n    if (isNumber(ordersLeft) && isNumber(maxNumberOfOrders)) {\n        return (\n            <PillLabel isSymmetrical={isSymmetrical} theme={theme}>{`${ordersLeft}/${maxNumberOfOrders}`}</PillLabel>\n        );\n    }\n\n    return null;\n});\n\nexport default ShipperContractLaneOrderCounterPill;\n","import * as emailValidator from 'email-validator';\nimport { isEmpty, isLessMinLength, isMoreMaxLength, isZeroNumber } from './validators';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNumber from 'lodash/isNumber';\nimport moment from 'moment';\nimport { checkIsEmptyPhoneNumber, checkIsPossiblePhoneNumber } from 'common/utils/phone-number';\n\ntype FormErrorsT<KeyT extends string> = Partial<Record<KeyT, string>>;\n\nexport const checkNotZero = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, string | null | undefined>>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n\n        if (isZeroNumber(value)) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkNotEmpty = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, object | number | string | null | undefined>>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n\n        if (isEmpty(value)) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkFullRange = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, DateRangeT | null | undefined>>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n\n        if (value && (!value?.from || !value?.to)) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkDateIsAfterDay = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, Date | null | undefined>>,\n    limit: string | number | Date | null | undefined,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    if (!limit) {\n        return errors;\n    }\n\n    fields.forEach((field) => {\n        const value = values[field];\n        if (!value) {\n            return;\n        }\n\n        const valueDate = moment(value);\n        if (valueDate.isValid() && !valueDate.isSameOrAfter(limit, 'day')) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkDateIsBeforeDay = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, Date | null | undefined>>,\n    limit: string | number | Date | null | undefined,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    if (!limit) {\n        return errors;\n    }\n\n    fields.forEach((field) => {\n        const value = values[field];\n        if (!value) {\n            return;\n        }\n\n        const valueDate = moment(value);\n        if (valueDate.isValid() && !valueDate.isSameOrBefore(limit, 'day')) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkRangeNotIncludeDisabledDates = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, DateRangeT | null | undefined>>,\n    disabledDates: string[],\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n\n        const isDisableValue =\n            value?.from &&\n            value?.to &&\n            disabledDates.some((disabledDate) => {\n                return moment(disabledDate).isBetween(value.from, value.to);\n            });\n\n        if (value && isDisableValue) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkNotEmptyString = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, string | null | undefined>>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n\n        if (typeof value === 'string' && !value) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkMinLength = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    minLength: number,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n        if (isLessMinLength(value, minLength)) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkMaxLength = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    maxLength: number,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n        if (isMoreMaxLength(value, maxLength)) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkMinValue = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    minValue: number,\n    getErrorLabel: (params: { value: number }) => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const parsedValue = parseSimpleNumber(values[field]);\n\n        if (isNumber(parsedValue) && parsedValue < minValue) {\n            errors[field] = getErrorLabel({\n                value: minValue,\n            });\n        }\n    });\n\n    return errors;\n};\n\nexport const checkStrictMinValue = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    minValue: number,\n    getErrorLabel: (params: { value: number }) => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const parsedValue = parseSimpleNumber(values[field]);\n\n        if (isNumber(parsedValue) && parsedValue <= minValue) {\n            errors[field] = getErrorLabel({\n                value: minValue,\n            });\n        }\n    });\n\n    return errors;\n};\n\nexport const checkMaxValue = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    maxValue: number,\n    getErrorLabel: (params: { value: number }) => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const parsedValue = parseSimpleNumber(values[field]);\n\n        if (isNumber(parsedValue) && parsedValue > maxValue) {\n            errors[field] = getErrorLabel({\n                value: maxValue,\n            });\n        }\n    });\n\n    return errors;\n};\n\nexport const checkStrictMaxValue = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    maxValue: number,\n    getErrorLabel: (params: { value: number }) => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const parsedValue = parseSimpleNumber(values[field]);\n\n        if (isNumber(parsedValue) && parsedValue >= maxValue) {\n            errors[field] = getErrorLabel({\n                value: maxValue,\n            });\n        }\n    });\n\n    return errors;\n};\n\nexport const checkEmail = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Partial<Record<KeyT, object | number | string | null | undefined>>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n\n        if (value && typeof value === 'string' && !emailValidator.validate(value)) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkDate = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, Date | null | undefined>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n\n        const isValidDate = moment(value).isValid();\n        if (value && !isValidDate) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkBirthday = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, Date | null | undefined>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n\n        const isValidBirthday = !!value && moment(value).valueOf() < Date.now();\n        if (!isValidBirthday) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkPhoneNumber = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const value = values[field];\n        const parsedValue = typeof value === 'string' ? value.trim() : '';\n\n        if (checkIsEmptyPhoneNumber(parsedValue)) {\n            return;\n        }\n\n        if (!checkIsPossiblePhoneNumber(parsedValue)) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n\nexport const checkRoundValue = <KeyT extends string>(\n    fields: readonly KeyT[],\n    values: Record<KeyT, string | null | undefined>,\n    getErrorLabel: () => string,\n): FormErrorsT<KeyT> => {\n    const errors: FormErrorsT<KeyT> = {};\n\n    fields.forEach((field) => {\n        const parsedValue = parseSimpleNumber(values[field]);\n\n        if (isNumber(parsedValue) && parsedValue % 1 !== 0) {\n            errors[field] = getErrorLabel();\n        }\n    });\n\n    return errors;\n};\n","import React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './NavigationTabs.scss';\nimport { LinkProps, matchPath, useLocation } from 'react-router-dom';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum, TabLabelSizeEnum } from 'common/components/tabs/TabLabel/constants';\n\nconst cx = classNames.bind(styles);\n\ntype LinkToObjT = LinkProps<HistoryStateT>['to'];\ntype PathT = string;\n\nexport type NavigationTabConfigT = {\n    to: PathT | LinkToObjT;\n    pathname: PathT;\n    render: () => React.ReactElement;\n    testSelector: string;\n    badge?: React.ReactNode;\n};\n\nexport type NavigationTabsPropsT = {\n    onSelectTab: (to: PathT | LinkToObjT) => void;\n    tabsConfig: Array<NavigationTabConfigT | null>;\n    className?: string;\n};\n\nconst NavigationTabs: React.FC<NavigationTabsPropsT> = (props) => {\n    const { tabsConfig, className, onSelectTab } = props;\n\n    const { pathname } = useLocation();\n\n    return (\n        <div className={cs(cx('tabs'), className)}>\n            {tabsConfig.map((tabConfig, tabIndex) => {\n                if (!tabConfig) {\n                    return null;\n                }\n\n                const isActive = !!matchPath(pathname, { path: tabConfig.pathname, strict: false });\n\n                return (\n                    <TabLabel\n                        key={tabIndex}\n                        isActive={isActive}\n                        isCompact\n                        size={TabLabelSizeEnum.small}\n                        theme={TabsThemesEnum.light}\n                        testSelector={tabConfig.testSelector}\n                        badge={tabConfig.badge}\n                        onClick={() => {\n                            if (isActive) {\n                                return;\n                            }\n\n                            onSelectTab(tabConfig.to);\n                        }}\n                    >\n                        {tabConfig.render()}\n                    </TabLabel>\n                );\n            })}\n        </div>\n    );\n};\n\nexport default NavigationTabs;\n","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"FieldLabel__text___jDXUA\",\"tooltip\":\"FieldLabel__tooltip___A2mvm\",\"tooltip__icon\":\"FieldLabel__tooltip__icon___ipVMI\",\"label\":\"FieldLabel__label___FC9rV\",\"left-node\":\"FieldLabel__left-node___Pwjj7\",\"fadeIn\":\"FieldLabel__fadeIn___bCi6U\",\"blinking\":\"FieldLabel__blinking___HwlxR\"};","import {\n    FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST,\n    FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_BEGIN,\n    FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_ERROR,\n    FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_SUCCESS,\n    FetchGroupedNotificationCountsActionT,\n    FetchGroupedNotificationCountsBeginActionT,\n    FetchGroupedNotificationCountsErrorActionT,\n    FetchGroupedNotificationCountsSuccessActionT,\n} from './types';\nimport { ApiGroupedNotificationCountsT } from 'common/utils/api/models';\n\nexport const fetchGroupedNotificationCounts = (options?: FetchOptionsT): FetchGroupedNotificationCountsActionT => ({\n    type: FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST,\n    options,\n});\n\nexport const fetchGroupedNotificationCountsBegin = (): FetchGroupedNotificationCountsBeginActionT => ({\n    type: FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_BEGIN,\n});\n\nexport const fetchGroupedNotificationCountsSuccess = (\n    counts: ApiGroupedNotificationCountsT | null,\n): FetchGroupedNotificationCountsSuccessActionT => ({\n    type: FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_SUCCESS,\n    counts,\n});\n\nexport const fetchGroupedNotificationCountsError = (error: Error): FetchGroupedNotificationCountsErrorActionT => ({\n    type: FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_ERROR,\n    error,\n});\n","const getAssignmentIconPreset = ({ isSelected, canInTime }: { isSelected: boolean; canInTime: boolean }) => {\n    if (!canInTime) {\n        if (isSelected) {\n            return 'assignment-not-in-time-selected';\n        }\n\n        return 'assignment-not-in-time-normal';\n    }\n\n    if (isSelected) {\n        return 'assignment-selected';\n    }\n\n    return 'assignment-normal';\n};\n\nexport { getAssignmentIconPreset };\n","// extracted by mini-css-extract-plugin\nexport default {\"time-interval\":\"FerryDisembarkPointPicker__time-interval___NXscj\",\"fadeIn\":\"FerryDisembarkPointPicker__fadeIn___cgYOY\",\"blinking\":\"FerryDisembarkPointPicker__blinking___pMLeS\"};","import { PriceOfferT } from 'common/store/order-creation/models';\nimport { moneyOperations } from 'common/utils/money';\nimport { CurrencyEnum } from 'common/constants';\nimport isNumber from 'lodash/isNumber';\n\nexport const getOfferTotalPrice = (offer: PriceOfferT | undefined) => {\n    return offer?.price || 0;\n};\n\nexport const safetyModifyOfferTotalPrice = (\n    totalOfferPrice: number | null | undefined,\n    summaryAdditionalServicesPrice: number | null | undefined,\n    lineHaulDiff: number | null | undefined,\n): number => {\n    if (!totalOfferPrice) {\n        return 0;\n    }\n\n    let totalAmount = totalOfferPrice;\n\n    if (isNumber(summaryAdditionalServicesPrice) && !Number.isNaN(summaryAdditionalServicesPrice)) {\n        totalAmount = moneyOperations.plusWithFormat(totalAmount, summaryAdditionalServicesPrice, CurrencyEnum.EUR);\n    }\n\n    if (isNumber(lineHaulDiff) && !Number.isNaN(lineHaulDiff)) {\n        totalAmount = moneyOperations.plusWithFormat(totalAmount, lineHaulDiff, CurrencyEnum.EUR);\n    }\n\n    return totalAmount;\n};\n","import { call, put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    ACTIVATION_TRAILERS_REQUEST,\n    ActivationTrailersRequestActionT,\n    ADD_TRAILER_REQUEST,\n    AddTrailerRequestActionT,\n    ARCHIVE_TRAILERS_REQUEST,\n    ArchiveTrailersRequestActionT,\n    ASSIGN_TO_CONTRACT_TRAILERS_REQUEST,\n    AssignToContractRequestActionT,\n    DELETE_TRAILERS_REQUEST,\n    DeleteTrailersRequestActionT,\n    EXPORT_XLS_TRAILERS_REQUEST,\n    ExportXLSTrailersActionT,\n    FETCH_TRAILER_DETAILS_REQUEST,\n    FETCH_TRAILERS_PAGE_REQUEST,\n    FETCH_TRAILERS_STATS_REQUEST,\n    FetchTrailerDetailsActionT,\n    FetchTrailersPageActionT,\n    FetchTrailersStatsActionT,\n    IMPORT_XLS_TRAILERS_REQUEST,\n    ImportXLSTrailersActionT,\n    UPDATE_TRAILERS_REQUEST,\n    UpdateTrailerActionT,\n    CHANGE_RATE_TRAILERS_REQUEST,\n    ChangeRateTrailersRequestActionT,\n} from './types';\nimport {\n    addTrailerRequestBegin,\n    addTrailerRequestError,\n    addTrailerRequestSuccess,\n    deleteTrailersRequestBegin,\n    deleteTrailersRequestError,\n    deleteTrailersRequestSuccess,\n    exportXLSTrailersRequestBegin,\n    exportXLSTrailersRequestError,\n    exportXLSTrailersRequestSuccess,\n    fetchTrailerDetails,\n    fetchTrailerDetailsRequestBegin,\n    fetchTrailerDetailsRequestError,\n    fetchTrailerDetailsRequestSuccess,\n    fetchTrailersPageBegin,\n    fetchTrailersPageError,\n    fetchTrailersPageSuccess,\n    fetchTrailersStatsRequestBegin,\n    fetchTrailersStatsRequestError,\n    fetchTrailersStatsRequestSuccess,\n    importXLSTrailersRequestBegin,\n    importXLSTrailersRequestError,\n    importXLSTrailersRequestSuccess,\n    resetTrailers,\n    updateTrailersRequestBegin,\n    updateTrailersRequestError,\n    updateTrailersRequestSuccess,\n} from './actions';\nimport {\n    selectFetchTrailersStatsRequestStatus,\n    selectTrailersByIds,\n    selectTrailersDetailsByIds,\n    selectTrailersPages,\n    selectTrailersQuery,\n} from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport {\n    trailerDetailsRefreshChannel,\n    trailersPaginationChannel,\n    trailersRefreshChannel,\n} from 'common/store/trailers/channels';\nimport { CompanyTrailersStatsT } from 'common/store/trailers/models';\nimport downloadFile from 'common/utils/download-file';\nimport moment from 'moment';\nimport { ApiArchiveVehiclesRequestT } from 'common/utils/api/models';\nimport keys from 'lodash/keys';\n\nfunction* fetchTrailersSaga(action: FetchTrailersPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options, companyId } = action;\n\n    const prevQuery: ReReturnT<typeof selectTrailersQuery> = yield select(selectTrailersQuery(companyId));\n    const pages: ReReturnT<typeof selectTrailersPages> = yield select(selectTrailersPages(companyId));\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetTrailers(companyId, { savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchTrailersPageBegin(query, pageNumber, companyId));\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.fetchTrailersPage | typeof carrierTranziitApi.fetchTrailersPage\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.fetchTrailersPage({\n            ...query,\n            page: pageNumber,\n        });\n    } else {\n        result = yield brokerTranziitApi.fetchTrailersPage(\n            {\n                ...query,\n                page: pageNumber,\n            },\n            companyId,\n        );\n    }\n\n    if (!result) {\n        return;\n    }\n\n    const [error, response] = result;\n    if (error) {\n        yield put(fetchTrailersPageError(query, pageNumber, error, companyId));\n        return;\n    }\n\n    if (!response) {\n        return;\n    }\n\n    yield put(fetchTrailersPageSuccess(query, pageNumber, companyId, response));\n\n    checkShouldEmitChangePage(pageNumber, response, trailersPaginationChannel);\n}\n\nfunction* refreshTrailerDetailsIfNeedSaga(companyId: CompanyIdT, trailerId: TrailerIdT): WrapGeneratorT<void> {\n    const detailsByIds: ReReturnT<typeof selectTrailersDetailsByIds> = yield select(\n        selectTrailersDetailsByIds(companyId),\n    );\n\n    if (detailsByIds[trailerId]) {\n        yield put(fetchTrailerDetails(trailerId, companyId, { isForceUpdate: true }));\n    }\n}\n\nfunction* addTrailerSaga(action: AddTrailerRequestActionT): WrapGeneratorT<void> {\n    const { data, companyId } = action;\n\n    yield put(addTrailerRequestBegin(companyId));\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.fetchTrailersPage | typeof carrierTranziitApi.fetchTrailersPage\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.addTrailer(data);\n    } else {\n        result = yield brokerTranziitApi.addPartnerTrailer(data, companyId);\n    }\n\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n    if (error) {\n        yield put(addTrailerRequestError(error, companyId));\n    } else {\n        yield put(addTrailerRequestSuccess(companyId));\n    }\n\n    if (!error) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerAdded,\n                    data: {\n                        plateNumber: data.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    }\n\n    trailersRefreshChannel.emit({});\n}\n\nfunction* deleteTrailersSaga(action: DeleteTrailersRequestActionT): WrapGeneratorT<void> {\n    const { trailerIds, companyId } = action;\n\n    yield put(deleteTrailersRequestBegin(companyId));\n\n    let error: ReturnApiT<typeof brokerTranziitApi.deleteTrailer | typeof carrierTranziitApi.deleteTrailer>[0] | null =\n        null;\n\n    for (const trailerId of trailerIds) {\n        let result: ReturnApiT<\n            typeof brokerTranziitApi.deleteTrailer | typeof carrierTranziitApi.deleteTrailer\n        > | null = null;\n        if (checkIsDefaultCompanyId(companyId)) {\n            result = yield carrierTranziitApi.deleteTrailer(trailerId);\n        } else {\n            result = yield brokerTranziitApi.deleteTrailer(companyId, trailerId);\n        }\n\n        error = error || result?.[0] || null;\n    }\n\n    if (error) {\n        yield put(deleteTrailersRequestError(error, companyId));\n    } else {\n        yield put(deleteTrailersRequestSuccess(companyId));\n    }\n\n    trailersRefreshChannel.emit({});\n}\n\nfunction* activateTrailersSaga(action: ActivationTrailersRequestActionT): WrapGeneratorT<void> {\n    const { activateTrailersRequest, companyId } = action;\n\n    yield put(updateTrailersRequestBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof brokerTranziitApi.activateTrailers | typeof carrierTranziitApi.activateTrailers\n    > | null = null;\n\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.activateTrailers(activateTrailersRequest);\n    } else {\n        response = yield brokerTranziitApi.activateTrailers(companyId, activateTrailersRequest);\n    }\n\n    const error = response?.[0];\n    const result = response?.[1];\n\n    if (error) {\n        yield put(updateTrailersRequestError(error, companyId));\n    } else {\n        yield put(updateTrailersRequestSuccess(companyId));\n    }\n\n    const trailerIds = activateTrailersRequest?.ids || [];\n    const allCount = trailerIds.length;\n    const invalidAssetsMap = result?.invalidAssets || {};\n    const failedTrailerIds = keys(invalidAssetsMap);\n    const failedCount = failedTrailerIds.length;\n    const successfulCount = allCount - failedCount;\n\n    const byId: ReReturnT<typeof selectTrailersByIds> = yield select(selectTrailersByIds(companyId));\n\n    if (failedCount > 0 && allCount === 1) {\n        const trailer = byId[failedTrailerIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerFailedActivate,\n                    data: {\n                        plateNumber: trailer?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount > 0 && allCount > 1) {\n        const invalidAssetsPlateNumbers = failedTrailerIds.map((trailerId) => {\n            return byId[trailerId]?.plateNumber || '';\n        });\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailersFailedActivate,\n                    data: {\n                        successfulCount,\n                        allCount,\n                        plateNumbers: invalidAssetsPlateNumbers,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount === 1) {\n        const trailer = byId[trailerIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerSuccessfullyActivated,\n                    data: {\n                        plateNumber: trailer?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount > 1) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailersSuccessfullyActivated,\n                    data: {\n                        count: successfulCount,\n                    },\n                }),\n            ),\n        );\n    }\n\n    trailersRefreshChannel.emit({});\n\n    for (const trailerId of trailerIds) {\n        yield call(refreshTrailerDetailsIfNeedSaga, companyId, trailerId);\n    }\n\n    trailerDetailsRefreshChannel.emit({});\n}\n\nfunction* assignToContractSaga(action: AssignToContractRequestActionT): WrapGeneratorT<void> {\n    const { contractName, changeContractRequest, companyId } = action;\n\n    yield put(updateTrailersRequestBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof brokerTranziitApi.assignTrailersToContract | typeof carrierTranziitApi.assignTrailersToContract\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.assignTrailersToContract(changeContractRequest);\n    } else {\n        response = yield brokerTranziitApi.assignTrailersToContract(companyId, changeContractRequest);\n    }\n\n    const error = response?.[0];\n    const result = response?.[1];\n\n    if (error) {\n        yield put(updateTrailersRequestError(error, companyId));\n    } else {\n        yield put(updateTrailersRequestSuccess(companyId));\n    }\n\n    const trailerIds = changeContractRequest?.ids || [];\n    const allCount = trailerIds.length;\n    const invalidAssetsMap = result?.invalidAssets || {};\n    const failedTrailerIds = keys(invalidAssetsMap);\n    const failedCount = failedTrailerIds.length;\n    const successfulCount = allCount - failedCount;\n\n    const byId: ReReturnT<typeof selectTrailersByIds> = yield select(selectTrailersByIds(companyId));\n\n    if (failedCount > 0 && allCount === 1) {\n        const trailer = byId[failedTrailerIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerFailedUpdateContract,\n                    data: {\n                        plateNumber: trailer?.plateNumber || '',\n                        contractName,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount > 0 && allCount > 1) {\n        const invalidAssetsPlateNumbers = failedTrailerIds.map((trailerId) => {\n            return byId[trailerId]?.plateNumber || '';\n        });\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailersFailedUpdateContract,\n                    data: {\n                        allCount,\n                        successfulCount,\n                        plateNumbers: invalidAssetsPlateNumbers,\n                        contractName,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount === 1) {\n        const trailer = byId[trailerIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerSuccessfullyUpdatedContract,\n                    data: {\n                        plateNumber: trailer?.plateNumber || '',\n                        contractName,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount > 1) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailersSuccessfullyUpdatedContract,\n                    data: {\n                        count: successfulCount,\n                        contractName,\n                    },\n                }),\n            ),\n        );\n    }\n\n    trailersRefreshChannel.emit({});\n\n    for (const trailerId of trailerIds) {\n        yield call(refreshTrailerDetailsIfNeedSaga, companyId, trailerId);\n    }\n\n    trailerDetailsRefreshChannel.emit({});\n}\n\nfunction* changeRateTrailersSaga(action: ChangeRateTrailersRequestActionT): WrapGeneratorT<void> {\n    const { changeRateVehiclesRequest, companyId } = action;\n\n    yield put(updateTrailersRequestBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof brokerTranziitApi.changeRateTrailers | typeof carrierTranziitApi.changeRateTrailers\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.changeRateTrailers(changeRateVehiclesRequest);\n    } else {\n        response = yield brokerTranziitApi.changeRateTrailers(companyId, changeRateVehiclesRequest);\n    }\n\n    const error = response?.[0];\n    const result = response?.[1];\n\n    if (error) {\n        yield put(updateTrailersRequestError(error, companyId));\n    } else {\n        yield put(updateTrailersRequestSuccess(companyId));\n    }\n\n    const trailerIds = changeRateVehiclesRequest.ids || [];\n    const allCount = trailerIds.length;\n    const invalidAssetsMap = result?.invalidAssets || {};\n    const failedTrailerIds = keys(invalidAssetsMap);\n    const failedCount = failedTrailerIds.length;\n    const successfulCount = allCount - failedCount;\n\n    const byId: ReReturnT<typeof selectTrailersByIds> = yield select(selectTrailersByIds(companyId));\n\n    if (failedCount > 0 && allCount === 1) {\n        const trailer = byId[failedTrailerIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerFailedUpdateRate,\n                    data: {\n                        plateNumber: trailer?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount > 0 && allCount > 1) {\n        const invalidAssetsPlateNumbers = failedTrailerIds.map((trailerId) => {\n            return byId[trailerId]?.plateNumber || '';\n        });\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailersFailedUpdateRate,\n                    data: {\n                        allCount,\n                        successfulCount,\n                        plateNumbers: invalidAssetsPlateNumbers,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount === 1) {\n        const trailer = byId[trailerIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerSuccessfullyUpdatedRate,\n                    data: {\n                        plateNumber: trailer?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount > 1) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailersSuccessfullyUpdatedRate,\n                    data: {\n                        count: successfulCount,\n                    },\n                }),\n            ),\n        );\n    }\n\n    trailersRefreshChannel.emit({});\n\n    for (const trailerId of trailerIds) {\n        yield call(refreshTrailerDetailsIfNeedSaga, companyId, trailerId);\n    }\n\n    trailerDetailsRefreshChannel.emit({});\n}\n\nfunction* archiveTrailersSaga(action: ArchiveTrailersRequestActionT): WrapGeneratorT<void> {\n    const { trailerIds, companyId, reason } = action;\n\n    yield put(updateTrailersRequestBegin(companyId));\n\n    const data: ApiArchiveVehiclesRequestT = { ids: trailerIds, comment: reason };\n\n    let response: ReturnApiT<\n        typeof brokerTranziitApi.archiveTrailers | typeof carrierTranziitApi.archiveTrailers\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.archiveTrailers(data);\n    } else {\n        response = yield brokerTranziitApi.archiveTrailers(companyId, data);\n    }\n\n    const error = response?.[0];\n    if (error) {\n        yield put(updateTrailersRequestError(error, companyId));\n    } else {\n        yield put(updateTrailersRequestSuccess(companyId));\n    }\n\n    const result = response?.[1];\n\n    const allCount = trailerIds.length;\n    const invalidAssetsMap = result?.invalidAssets || {};\n    const failedTrailerIds = keys(invalidAssetsMap);\n    const failedCount = failedTrailerIds.length;\n    const successfulCount = allCount - failedCount;\n\n    const byId: ReReturnT<typeof selectTrailersByIds> = yield select(selectTrailersByIds(companyId));\n\n    if (failedCount > 0 && allCount === 1) {\n        const failedTrailerId = failedTrailerIds[0];\n        if (invalidAssetsMap[failedTrailerId] === 'HAS_ASSIGNMENTS') {\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.trailerFailedArchivedHasFutureAssignment,\n                        data: {},\n                    }),\n                ),\n            );\n        } else {\n            const trailer = byId[failedTrailerId];\n\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.trailerFailedArchived,\n                        data: {\n                            plateNumber: trailer?.plateNumber || '',\n                        },\n                    }),\n                ),\n            );\n        }\n    } else if (failedCount > 0 && allCount > 1) {\n        const invalidAssetsPlateNumbers = failedTrailerIds.map((trailerId) => {\n            return byId[trailerId]?.plateNumber || '';\n        });\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailersFailedArchived,\n                    data: {\n                        allCount,\n                        successfulCount,\n                        plateNumbers: invalidAssetsPlateNumbers,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount === 1) {\n        const trailer = byId[trailerIds[0]];\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerSuccessfullyArchived,\n                    data: {\n                        plateNumber: trailer?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount > 1) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailersSuccessfullyArchived,\n                    data: {\n                        count: successfulCount,\n                    },\n                }),\n            ),\n        );\n    }\n\n    trailersRefreshChannel.emit({});\n\n    for (const trailerId of trailerIds) {\n        yield call(refreshTrailerDetailsIfNeedSaga, companyId, trailerId);\n    }\n\n    trailerDetailsRefreshChannel.emit({});\n}\n\nfunction* fetchTrailersStatsSaga(action: FetchTrailersStatsActionT): WrapGeneratorT<void> {\n    const { companyId, options } = action;\n\n    const fetchStatsRequestStatus: ReReturnT<typeof selectFetchTrailersStatsRequestStatus> = yield select(\n        selectFetchTrailersStatsRequestStatus(companyId),\n    );\n\n    const isNeedRequest = checkNeedRequest(fetchStatsRequestStatus, options);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchTrailersStatsRequestBegin(companyId));\n\n    let error: Error | null = null;\n    let stats: CompanyTrailersStatsT | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        const result: ReturnApiT<typeof carrierTranziitApi.fetchTrailersActiveFleetCount> =\n            yield carrierTranziitApi.fetchTrailersActiveFleetCount();\n        const [resultError, data] = result;\n        if (resultError) {\n            error = resultError;\n        }\n        if (data) {\n            stats = {\n                actualTotalCount: data,\n            };\n        }\n    } else {\n        const result: ReturnApiT<typeof brokerTranziitApi.fetchTrailersActiveFleetCount> =\n            yield brokerTranziitApi.fetchTrailersActiveFleetCount(companyId);\n        const [resultError, data] = result;\n        if (resultError) {\n            error = resultError;\n        }\n        if (data) {\n            stats = {\n                actualTotalCount: data,\n            };\n        }\n    }\n\n    if (error) {\n        yield put(fetchTrailersStatsRequestError(error, companyId));\n        return;\n    }\n\n    yield put(fetchTrailersStatsRequestSuccess(stats, companyId));\n}\n\nfunction* fetchTrailerDetailsSaga(action: FetchTrailerDetailsActionT): WrapGeneratorT<void> {\n    const { trailerId, companyId, options } = action;\n\n    const detailsById: ReReturnT<typeof selectTrailersDetailsByIds> = yield select(\n        selectTrailersDetailsByIds(companyId),\n    );\n    if (detailsById[trailerId] && !options?.isForceUpdate) {\n        return;\n    }\n\n    yield put(fetchTrailerDetailsRequestBegin(companyId));\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.fetchTrailerDetails | typeof carrierTranziitApi.fetchTrailerDetails\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.fetchTrailerDetails(trailerId);\n    } else {\n        result = yield brokerTranziitApi.fetchTrailerDetails(companyId, trailerId);\n    }\n    if (!result) {\n        return;\n    }\n\n    const [error, details] = result;\n    if (error) {\n        yield put(fetchTrailerDetailsRequestError(error, companyId));\n        return;\n    }\n\n    yield put(fetchTrailerDetailsRequestSuccess(trailerId, details, companyId));\n}\n\nfunction* updateTrailerSaga(action: UpdateTrailerActionT): WrapGeneratorT<void> {\n    const { companyId, trailerId, updateTrailer } = action;\n\n    yield put(updateTrailersRequestBegin(companyId));\n\n    let result: ReturnApiT<typeof brokerTranziitApi.updateTrailer | typeof carrierTranziitApi.updateTrailer> | null =\n        null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.updateTrailer(trailerId, updateTrailer);\n    } else {\n        result = yield brokerTranziitApi.updateTrailer(companyId, trailerId, updateTrailer);\n    }\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n\n    if (error) {\n        yield put(updateTrailersRequestError(error, companyId));\n    } else {\n        yield put(updateTrailersRequestSuccess(companyId));\n    }\n\n    if (!error) {\n        const detailsById: ReReturnT<typeof selectTrailersDetailsByIds> = yield select(\n            selectTrailersDetailsByIds(companyId),\n        );\n        const trailer = detailsById[trailerId];\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerSuccessfullyEdited,\n                    data: {\n                        plateNumber: trailer?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    }\n\n    trailersRefreshChannel.emit({});\n\n    yield put(fetchTrailerDetails(trailerId, companyId, { isForceUpdate: true }));\n}\n\nfunction* importXLSTrailersSaga(action: ImportXLSTrailersActionT): WrapGeneratorT<void> {\n    const { companyId, file } = action;\n\n    yield put(importXLSTrailersRequestBegin(companyId));\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.importPartnerXLSTrucks | typeof carrierTranziitApi.importXLSTrucks\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.importXLSTrailers(file);\n    } else {\n        result = yield brokerTranziitApi.importPartnerXLSTrailers(companyId, file);\n    }\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n\n    if (error) {\n        yield put(importXLSTrailersRequestError(error, companyId));\n    } else {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerSuccessfullyXLSImport,\n                    data: {},\n                }),\n            ),\n        );\n\n        yield put(importXLSTrailersRequestSuccess(companyId));\n    }\n}\n\nfunction* exportXLSTrailersSaga(action: ExportXLSTrailersActionT): WrapGeneratorT<void> {\n    const { companyId, query } = action;\n\n    yield put(exportXLSTrailersRequestBegin(companyId));\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.exportPartnerXLSTrailers | typeof carrierTranziitApi.exportXLSTrailers\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.exportXLSTrailers(query);\n    } else {\n        result = yield brokerTranziitApi.exportPartnerXLSTrailers(companyId, query);\n    }\n    if (!result) {\n        return;\n    }\n    const [error, data] = result;\n\n    if (data) {\n        downloadFile({\n            name: `trailers-export-${moment().format('YYYY-MM-DD_HH:mm')}.xlsx`,\n            data,\n            type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n        });\n    }\n\n    if (error) {\n        yield put(exportXLSTrailersRequestError(error, companyId));\n    } else {\n        yield put(exportXLSTrailersRequestSuccess(companyId));\n    }\n}\n\nfunction* trailersSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_TRAILERS_PAGE_REQUEST, fetchTrailersSaga);\n    yield takeEvery(ADD_TRAILER_REQUEST, addTrailerSaga);\n    yield takeEvery(DELETE_TRAILERS_REQUEST, deleteTrailersSaga);\n    yield takeEvery(ACTIVATION_TRAILERS_REQUEST, activateTrailersSaga);\n    yield takeEvery(ARCHIVE_TRAILERS_REQUEST, archiveTrailersSaga);\n    yield takeEvery(ASSIGN_TO_CONTRACT_TRAILERS_REQUEST, assignToContractSaga);\n    yield takeEvery(CHANGE_RATE_TRAILERS_REQUEST, changeRateTrailersSaga);\n    yield takeEvery(FETCH_TRAILER_DETAILS_REQUEST, fetchTrailerDetailsSaga);\n    yield takeEvery(UPDATE_TRAILERS_REQUEST, updateTrailerSaga);\n    yield takeEvery(FETCH_TRAILERS_STATS_REQUEST, fetchTrailersStatsSaga);\n    yield takeEvery(IMPORT_XLS_TRAILERS_REQUEST, importXLSTrailersSaga);\n    yield takeEvery(EXPORT_XLS_TRAILERS_REQUEST, exportXLSTrailersSaga);\n}\n\nexport default trailersSaga;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport isNil from 'lodash/isNil';\nimport { ApiBrokerAdditionalServiceTypeT, ApiCarrierAdditionalServiceTypeT } from 'common/utils/api/models';\n\nexport type PropsT = {\n    type?: ApiCarrierAdditionalServiceTypeT | ApiBrokerAdditionalServiceTypeT;\n};\n\nconst i18nMap: Record<ApiCarrierAdditionalServiceTypeT | ApiBrokerAdditionalServiceTypeT, string> = {\n    A_WARNING_SIGN_WASTE: 'common:additional-service.by-enum.A_WARNING_SIGN_WASTE',\n    ADR_HAZMAT: 'common:additional-service.by-enum.ADR_HAZMAT',\n    ATP_CERTIFICATE_FRC_CATEGORY: 'common:additional-service.by-enum.ATP_CERTIFICATE_FRC_CATEGORY',\n    CATEGORY_III_CERTIFICATE: 'common:additional-service.by-enum.CATEGORY_III_CERTIFICATE',\n    CUSTOMS_SEAL_PROOF_TIR: 'common:additional-service.by-enum.CUSTOMS_SEAL_PROOF_TIR',\n    DROP_TRAILER_REQUIRED: 'common:additional-service.by-enum.DROP_TRAILER_REQUIRED',\n    DUAL_TEMPERATURE: 'common:additional-service.by-enum.DUAL_TEMPERATURE',\n    FLOWER_TROLLEY_WIDE: 'common:additional-service.by-enum.FLOWER_TROLLEY_WIDE',\n    MEAT_HOOKS: 'common:additional-service.by-enum.MEAT_HOOKS',\n    PALLET_EXCHANGE_CATEGORY_A: 'common:additional-service.by-enum.PALLET_EXCHANGE_CATEGORY_A',\n    PALLET_EXCHANGE_CATEGORY_B_AND_C: 'common:additional-service.by-enum.PALLET_EXCHANGE_CATEGORY_B_AND_C',\n    PARTITION_WALL: 'common:additional-service.by-enum.PARTITION_WALL',\n    TAIL_LIFT: 'common:additional-service.by-enum.TAIL_LIFT',\n    COIL_TRANSPORTS: 'common:additional-service.by-enum.COIL_TRANSPORTS',\n    JOLODA_LOADING_SYSTEM: 'common:additional-service.by-enum.JOLODA_LOADING_SYSTEM',\n    LIGHT_VERSION: 'common:additional-service.by-enum.LIGHT_VERSION',\n    WALKING_FLOOR: 'common:additional-service.by-enum.WALKING_FLOOR',\n    XL_CODE_CERTIFIED: 'common:additional-service.by-enum.XL_CODE_CERTIFIED',\n    ANTI_SLIP_MATS: 'common:additional-service.by-enum.ANTI_SLIP_MATS',\n    CARGO_EDGE_PROTECTORS: 'common:additional-service.by-enum.CARGO_EDGE_PROTECTORS',\n    CARGO_LOAD_LOCKS: 'common:additional-service.by-enum.CARGO_LOAD_LOCKS',\n    CARGO_RATCHET_STRAPS: 'common:additional-service.by-enum.CARGO_RATCHET_STRAPS',\n    CARGO_SHORING_BEAMS: 'common:additional-service.by-enum.CARGO_SHORING_BEAMS',\n    TIME_SLOTS_APPOINTMENT_BY_BROKER: 'common:additional-service.by-enum.TIME_SLOTS_APPOINTMENT_BY_BROKER',\n    GDP_PHARMACEUTICAL: 'common:additional-service.by-enum.GDP_PHARMACEUTICAL',\n    IFS_FOOD: 'common:additional-service.by-enum.IFS_FOOD',\n    ISO_14001: 'common:additional-service.by-enum.ISO_14001',\n    ISO_9001: 'common:additional-service.by-enum.ISO_9001',\n    SQAS_CHEMICAL: 'common:additional-service.by-enum.SQAS_CHEMICAL',\n    WASTE_MANAGEMENT_A_SIGN: 'common:additional-service.by-enum.WASTE_MANAGEMENT_A_SIGN',\n    URGENT_PICKUP: 'common:additional-service.by-enum.URGENT_PICKUP',\n    LOW_EMISSIONS: 'common:additional-service.by-enum.LOW_EMISSIONS',\n    EXTRA_POINTS: 'common:additional-service.by-enum.EXTRA_POINTS',\n};\n\nconst AdditionalServiceLabel: React.FC<PropsT> = React.memo((props) => {\n    const { type } = props;\n\n    const { t } = useTranslation();\n\n    if (isNil(type)) {\n        return null;\n    }\n\n    return <span>{i18nMap[type] ? t(i18nMap[type]) : type}</span>;\n});\n\nexport default AdditionalServiceLabel;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { PartnerContractDetailsT } from 'common/store/carrier-contract-details/models';\nimport moment from 'moment/moment';\nimport { simpleNumberFormatter } from 'common/utils/form-formatters';\nimport { TruckRateModeEnum } from 'common/utils/api/models';\n\nconst DEFAULT_VALUES: FormValuesT = {\n    [FieldsEnum.expiration]: null,\n    [FieldsEnum.number]: '',\n    [FieldsEnum.name]: '',\n    [FieldsEnum.truckRateMode]: TruckRateModeEnum.brutto,\n    [FieldsEnum.truckRate]: '',\n    [FieldsEnum.tiltRate]: '',\n    [FieldsEnum.boxRate]: '',\n    [FieldsEnum.boxExpectedMileage]: '',\n    [FieldsEnum.tiltExpectedMileage]: '',\n    [FieldsEnum.truckExpectedMileage]: '',\n};\n\nconst getInitialValues = (contractDetails: PartnerContractDetailsT | null): FormValuesT => {\n    if (!contractDetails) {\n        return { ...DEFAULT_VALUES };\n    }\n\n    return {\n        [FieldsEnum.expiration]: contractDetails.validTill ? moment(contractDetails.validTill).toDate() : null,\n        [FieldsEnum.number]: contractDetails.number || '',\n        [FieldsEnum.name]: contractDetails.name || '',\n        [FieldsEnum.truckRateMode]: contractDetails.truckRateMode || TruckRateModeEnum.brutto,\n        [FieldsEnum.truckRate]: simpleNumberFormatter(contractDetails.truckRateKm),\n        [FieldsEnum.tiltRate]: simpleNumberFormatter(contractDetails.tiltRateKm),\n        [FieldsEnum.boxRate]: simpleNumberFormatter(contractDetails.boxRateKm),\n        [FieldsEnum.boxExpectedMileage]: simpleNumberFormatter(contractDetails.boxExpectedKm) || '',\n        [FieldsEnum.tiltExpectedMileage]: simpleNumberFormatter(contractDetails.tiltExpectedKm) || '',\n        [FieldsEnum.truckExpectedMileage]: simpleNumberFormatter(contractDetails.truckExpectedKm) || '',\n    };\n};\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"preview\":\"PriceSettingsRuleCreationPage__preview___ildMT\",\"fadeIn\":\"PriceSettingsRuleCreationPage__fadeIn____AEcg\",\"blinking\":\"PriceSettingsRuleCreationPage__blinking___rfJku\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"TruckDetailsPage__fadeIn___Jrkzq\",\"blinking\":\"TruckDetailsPage__blinking___mJ_3y\"};","import { AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\n\nexport enum FieldsEnum {\n    firstName = 'firstName',\n    lastName = 'lastName',\n    phone = 'phone',\n    password = 'password',\n    acceptTerms = 'acceptTerms',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.firstName]: string;\n    [FieldsEnum.lastName]: string;\n    [FieldsEnum.phone]: string;\n    [FieldsEnum.password]: string;\n    [FieldsEnum.acceptTerms]: boolean;\n};\n\nexport type FormErrorsT = Partial<Record<keyof FormValuesT, string>>;\n\nexport type AsyncFormErrorsT = Partial<{\n    [FieldsEnum.password]: AuthErrorTypeEnum;\n}>;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './LaneDropdownInputOptionLabel.scss';\nimport { ApiContractLaneT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport Money from 'common/components/Money/Money';\nimport { CurrencyEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TeamDriveIcon from 'common/icons/TeamDriveIcon';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport isNumber from 'lodash/isNumber';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    lane: ApiContractLaneT | null | undefined;\n};\n\nconst LaneDropdownInputOptionLabel: React.FC<PropsT> = React.memo((props) => {\n    const { lane } = props;\n\n    const { t } = useTranslation();\n\n    if (!lane) {\n        return null;\n    }\n\n    return (\n        <div className={cx('option')}>\n            <div className={cx('label')}>\n                {t('common:new-order-form.lane-option-template', {\n                    contractName: lane.contractName || '',\n                    tztLaneId: lane.tztLaneId || '',\n                    externalLaneId: lane.externalLaneId || '',\n                })}\n            </div>\n            <div className={cx('description')}>\n                {!!lane.teamDrive && (\n                    <div>\n                        <TeamDriveIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                        />\n                    </div>\n                )}\n                {!!lane.emissionClass && (\n                    <PillLabel isSymmetrical theme={PillLabelThemeEnum.grey}>\n                        <EmissionClassLabel emissionClass={lane.emissionClass} />\n                    </PillLabel>\n                )}\n                {isNumber(lane.maxNumberOfOrders) && isNumber(lane.ordersLeft) && (\n                    <PillLabel isSymmetrical isRounded theme={PillLabelThemeEnum.charcoal}>\n                        {`${lane.ordersLeft}/${lane.maxNumberOfOrders}`}\n                    </PillLabel>\n                )}\n                <div className={cx('spacer')} />\n                {isNumber(lane.totalPrice) && (\n                    <div className={cx('price')}>\n                        <Money amount={lane.totalPrice} currency={CurrencyEnum.EUR} />\n                    </div>\n                )}\n            </div>\n        </div>\n    );\n});\n\nexport default LaneDropdownInputOptionLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"Input__input___zqOuV\",\"input--spaces-xs\":\"Input__input--spaces-xs___j_j_4\",\"input--isTransparent\":\"Input__input--isTransparent___jZw2S\",\"input--isHovered\":\"Input__input--isHovered___RovQ5\",\"input--isFocused\":\"Input__input--isFocused___NRnHY\",\"input--isEmpty\":\"Input__input--isEmpty___ZWUfU\",\"input--hasSuccess\":\"Input__input--hasSuccess___P27xn\",\"input--hasWarning\":\"Input__input--hasWarning___qC_us\",\"input--hasChanges\":\"Input__input--hasChanges___gocFJ\",\"input--isHighlighted\":\"Input__input--isHighlighted___AW5g3\",\"input--hasError\":\"Input__input--hasError___OoENP\",\"input--isDisabled\":\"Input__input--isDisabled____mgbz\",\"input--hasLeftIcon\":\"Input__input--hasLeftIcon___UDf_7\",\"input--hasRightNode\":\"Input__input--hasRightNode___W9ks2\",\"inner-input\":\"Input__inner-input___Zm_xo\",\"inner-input--isEmpty\":\"Input__inner-input--isEmpty___IHwFY\",\"inner-input--isDisabled\":\"Input__inner-input--isDisabled___KA9G3\",\"icon\":\"Input__icon___gAEeV\",\"icon--isLeft\":\"Input__icon--isLeft___R5K4t\",\"right-node\":\"Input__right-node___sGcNm\",\"right-node--isEmpty\":\"Input__right-node--isEmpty____poIX\",\"control\":\"Input__control___uvGwQ\",\"control--isClickable\":\"Input__control--isClickable___OSKH8\",\"fadeIn\":\"Input__fadeIn___mQZ1V\",\"blinking\":\"Input__blinking___VNhqk\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ModalDialogActions.scss';\nimport Button, { ButtonPropsT } from 'common/components/Button/Button';\nimport isEmpty from 'lodash/isEmpty';\n\nconst cx = classNames.bind(styles);\n\nexport type ModalDialogActionT = ButtonPropsT & { children: React.ReactNode };\n\nexport type ModalDialogActionsPropsT = {\n    actions?: ModalDialogActionT[];\n    className?: string;\n};\n\nconst ModalDialogActions: React.FC<ModalDialogActionsPropsT> = (props) => {\n    const { actions, className } = props;\n\n    if (!actions || isEmpty(actions)) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('actions'), className)}>\n            {actions.map((action, actionIndex) => (\n                <Button\n                    key={actionIndex}\n                    type=\"button\"\n                    className={cx('actions__action')}\n                    isFullWidth\n                    isCenterContent\n                    {...action}\n                />\n            ))}\n        </div>\n    );\n};\n\nexport default ModalDialogActions;\n","import * as React from 'react';\nimport { TemperatureModeEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport isNil from 'lodash/isNil';\nimport { parseTemperatureMode } from 'common/utils/parse-temperature-mode';\n\ntype PropsT = {\n    className?: string;\n    lowestTemperature?: number;\n    highestTemperature?: number;\n};\n\nexport const TEMPERATURE_MODE_T: Record<TemperatureModeEnum, string> = {\n    [TemperatureModeEnum.deepFrozen]: 'common:new-order-form.fields.temperature-range.presets.deep-frozen',\n    [TemperatureModeEnum.ultraFresh]: 'common:new-order-form.fields.temperature-range.presets.ultra-fresh',\n    [TemperatureModeEnum.dry]: 'common:new-order-form.fields.temperature-range.presets.dry',\n    [TemperatureModeEnum.chilled]: 'common:new-order-form.fields.temperature-range.presets.chilled',\n    [TemperatureModeEnum.ambient]: 'common:new-order-form.fields.temperature-range.presets.ambient',\n};\n\nconst TemperatureRange: React.FC<PropsT> = React.memo((props) => {\n    const { lowestTemperature, highestTemperature } = props;\n\n    const { t } = useTranslation();\n\n    if (isNil(lowestTemperature) || isNil(highestTemperature)) {\n        return null;\n    }\n\n    const temperatureMode = parseTemperatureMode(lowestTemperature, highestTemperature);\n\n    if (!temperatureMode) {\n        return <span>{`${lowestTemperature}...${highestTemperature}°C`}</span>;\n    }\n\n    return (\n        <span>\n            {t(TEMPERATURE_MODE_T[temperatureMode], {\n                minTemperature: lowestTemperature,\n                maxTemperature: highestTemperature,\n            })}\n        </span>\n    );\n});\n\nexport default TemperatureRange;\n","// extracted by mini-css-extract-plugin\nexport default {\"field\":\"SearchForm__field___WRilD\",\"field--radius\":\"SearchForm__field--radius___BKGjK\",\"field--filters\":\"SearchForm__field--filters___yWAhu\",\"field--carrier\":\"SearchForm__field--carrier___GymbI\",\"field--exclude-countries\":\"SearchForm__field--exclude-countries___SNyvO\",\"field--timezone-switcher\":\"SearchForm__field--timezone-switcher___p29bO\",\"field--timeline-trigger\":\"SearchForm__field--timeline-trigger___jnEVL\",\"warning-pill\":\"SearchForm__warning-pill___B56kQ\",\"fadeIn\":\"SearchForm__fadeIn___l_DsN\",\"blinking\":\"SearchForm__blinking___XWxWh\"};","// extracted by mini-css-extract-plugin\nexport default {\"last-track-point-updated\":\"LastAssetWithNumberTrackPointPin__last-track-point-updated___mecaz\",\"inner--has-paddings\":\"LastAssetWithNumberTrackPointPin__inner--has-paddings___zpErE\",\"fadeIn\":\"LastAssetWithNumberTrackPointPin__fadeIn___ZLlH3\",\"blinking\":\"LastAssetWithNumberTrackPointPin__blinking___kCfYp\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './HeaderSideBarLayout.scss';\nimport SideBarLayoutContext from '../contexts/side-bar-layout-context';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    hasBottomBorder?: boolean;\n    hasBottomShadow?: boolean;\n};\n\nconst HeaderSideBarLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, hasBottomBorder, hasBottomShadow, className } = props;\n\n    const ref = React.useRef<HTMLDivElement | null>(null);\n\n    const context = React.useContext(SideBarLayoutContext);\n\n    React.useEffect(() => {\n        const measureContainer = () => {\n            if (!ref.current) {\n                return;\n            }\n\n            context.headerHeight?.setValue(ref.current?.clientHeight);\n        };\n\n        window.addEventListener('resize', measureContainer);\n\n        measureContainer();\n\n        return () => {\n            window.removeEventListener('resize', measureContainer);\n\n            context.headerHeight?.setValue(0);\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [children, hasBottomBorder]);\n\n    return (\n        <div\n            ref={ref}\n            className={cs(\n                cx('wrap', {\n                    'wrap--hasBottomBorder': hasBottomBorder,\n                    'wrap--hasBottomShadow': hasBottomShadow,\n                }),\n                className,\n            )}\n            style={{ marginRight: `${context.scrollBarWidth?.value || 0}px` }}\n        >\n            {children}\n        </div>\n    );\n});\n\nexport default HeaderSideBarLayout;\n","import { QueryFiltersT } from './query-models';\nimport { formatPageQuerySort } from 'common/utils/page-sort';\nimport { QueryFiltersKeysEnum } from 'common/constants';\nimport { FetchPartnersPageQueryT } from 'broker-admin/store/partners/models';\nimport { CountryCodeUnionT, PartnersSortEnum } from 'common/utils/api/models';\nimport { PageSortT } from 'common/utils/query';\nimport isEmpty from 'lodash/isEmpty';\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<PartnersSortEnum> | null,\n): FetchPartnersPageQueryT => {\n    const associatedBrokerUsers: Array<string> = [];\n    if (queryFilters.keyAccountManagerId) {\n        associatedBrokerUsers.push(queryFilters.keyAccountManagerId);\n    }\n    if (queryFilters.dispatcherId) {\n        associatedBrokerUsers.push(queryFilters.dispatcherId);\n    }\n\n    return {\n        includeProfileTypes: queryFilters.partnerType ? [queryFilters.partnerType] : undefined,\n        associatedBrokerUsers: !isEmpty(associatedBrokerUsers) ? associatedBrokerUsers : undefined,\n        country: queryFilters.countryCode as CountryCodeUnionT,\n        name: queryFilters.searchText || undefined,\n        notVerified: !!queryFilters[QueryFiltersKeysEnum.withUpdates],\n        sort: formatPageQuerySort(sort),\n    };\n};\n\nexport { prepareFetchPageQuery };\n","import { ApiTruckDictTypeT, ApiTrucksDictT } from 'common/utils/api/models';\n\nexport const getTruckDictTypeLabel = (truck: ApiTruckDictTypeT | null): string => {\n    return [truck?.model].filter(Boolean).join(', ');\n};\n\nconst EMISSION_CLASS_ORDER: Record<NonNullable<ApiTruckDictTypeT['emissionClass']>, number> = {\n    EURO_5: 0,\n    EURO_6: 1,\n};\n\nexport const sortTrucksDict = (trucksDict: ApiTrucksDictT): ApiTrucksDictT => {\n    return [...trucksDict].sort((aItem, bItem) => {\n        const manufacturerCompare = (aItem.manufacturer ?? '').localeCompare(bItem.manufacturer ?? '');\n        if (manufacturerCompare !== 0) {\n            return manufacturerCompare;\n        }\n\n        const emissionA = aItem.emissionClass ? EMISSION_CLASS_ORDER[aItem.emissionClass] : Number.MAX_SAFE_INTEGER;\n        const emissionB = bItem.emissionClass ? EMISSION_CLASS_ORDER[bItem.emissionClass] : Number.MAX_SAFE_INTEGER;\n\n        return emissionA - emissionB;\n    });\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SpotBidStatusCard.scss';\nimport { Trans } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\nexport type SpotBidStatusCardPropsT = {\n    type: 'new' | 'expired' | 'missed';\n    fromLocation: string | null | undefined;\n    toLocation: string | null | undefined;\n    spotRequestNumber: string | null | undefined;\n};\n\nconst labelMap: Record<SpotBidStatusCardPropsT['type'], string> = {\n    new: 'common:notifications.spot-bid-status.new',\n    missed: 'common:notifications.spot-bid-status.missed',\n    expired: 'common:notifications.spot-bid-status.expired',\n};\n\nconst Accent: React.FC<{ number: React.ReactNode }> = ({ number }) => {\n    return <span className={cx('accent')}>{number}</span>;\n};\n\nconst SpotBidStatusCard: React.FC<SpotBidStatusCardPropsT> = React.memo((props) => {\n    const { type, fromLocation, toLocation, spotRequestNumber } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <Trans\n                i18nKey={labelMap[type]}\n                components={{\n                    fromLocation: <Accent number={fromLocation} />,\n                    toLocation: <Accent number={toLocation} />,\n                    spotRequestNumber: <Accent number={spotRequestNumber} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default SpotBidStatusCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ProgressBar__wrap___KXGTi\",\"line\":\"ProgressBar__line___gA4c1\",\"line--isProgress\":\"ProgressBar__line--isProgress___T2v8g\",\"line--isBackground\":\"ProgressBar__line--isBackground___aGeqp\",\"fadeIn\":\"ProgressBar__fadeIn___tkf6V\",\"blinking\":\"ProgressBar__blinking___hrxN5\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"TourDelayingCard__wrap___izqcG\",\"fadeIn\":\"TourDelayingCard__fadeIn___X5fYz\",\"blinking\":\"TourDelayingCard__blinking___oVOli\"};","import { PriceOfferT } from 'common/store/order-creation/models';\nimport isNumber from 'lodash/isNumber';\n\nexport const getPriceOfferLineHaul = (offer: PriceOfferT | undefined) => {\n    const lineHaul = offer?.priceComponents?.lineHaul;\n\n    return isNumber(lineHaul) ? lineHaul : null;\n};\n\nexport const compareLineHaul = (sourceLineHaul: number | null, customLineHaul: number | null | undefined) => {\n    const lineHaul = isNumber(customLineHaul) ? customLineHaul : sourceLineHaul;\n\n    return {\n        lineHaul,\n        hasChangedLineHaul: sourceLineHaul !== lineHaul,\n        lineHaulDiff: isNumber(sourceLineHaul) && isNumber(lineHaul) ? lineHaul - sourceLineHaul : null,\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"avatar\":\"AvatarCell__avatar___ycNqo\",\"avatar--isHalfOpacity\":\"AvatarCell__avatar--isHalfOpacity___LsnQN\",\"fadeIn\":\"AvatarCell__fadeIn___6PMqi\",\"blinking\":\"AvatarCell__blinking___XovoJ\"};","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DnDIconWrap.scss';\nimport DragIcon from 'common/icons/DragIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    values: number[];\n};\n\nconst PERMISSIBLE_ERROR = 1.5;\n\nconst DnDIconWrap: React.FC<PropsT> = React.memo((props) => {\n    const { values } = props;\n\n    const [isShowIcon, setIsShowIcon] = React.useState<boolean>(true);\n\n    const wrapRef = React.useRef<HTMLDivElement>(null);\n    const iconRef = React.useRef<HTMLDivElement>(null);\n\n    const checkShouldShowIcon = () => {\n        if (!iconRef.current || !wrapRef.current) {\n            return;\n        }\n\n        const iconNodeRect = iconRef.current.getBoundingClientRect();\n        const wrapNodeRect = wrapRef.current.getBoundingClientRect();\n\n        const isShouldShow = wrapNodeRect.width > iconNodeRect.width * PERMISSIBLE_ERROR;\n        if (isShowIcon !== isShouldShow) {\n            setIsShowIcon(isShouldShow);\n        }\n    };\n    React.useEffect((): void => {\n        // wait rerender\n        setTimeout(() => {\n            checkShouldShowIcon();\n        }, 0);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [iconRef.current, wrapRef.current, values]);\n\n    return (\n        <div className={cx('dnd-wrap')} ref={wrapRef}>\n            <div\n                className={cx('icon', {\n                    'icon--is-hide': !isShowIcon,\n                })}\n                ref={iconRef}\n            >\n                <DragIcon fillColor={StyleGuideColorsEnum.white} />\n            </div>\n        </div>\n    );\n});\n\nexport default DnDIconWrap;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"SpotRequestListPage__fadeIn___uKOpG\",\"blinking\":\"SpotRequestListPage__blinking___Tr6Be\"};","import { PartnerT } from 'broker-admin/store/partners/models';\nimport { CompanyTypeEnum } from 'common/constants';\n\nexport const checkAllVerified = (partner: PartnerT) => {\n    if (!partner.addressVerified) {\n        return false;\n    }\n\n    if (!partner.documentsVerified) {\n        return false;\n    }\n\n    if (partner.profileType.includes(CompanyTypeEnum.shipper) && !partner.billingAddressVerified) {\n        return false;\n    }\n\n    return true;\n};\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport {\n    useFloating,\n    autoUpdate,\n    offset,\n    flip,\n    shift,\n    size,\n    useDismiss,\n    useInteractions,\n    FloatingPortal,\n    type Placement,\n} from '@floating-ui/react';\n\nimport styles from './PhoneNumberDropdownInput.scss';\nimport PhoneNumberDropdownTrigger from '../PhoneNumberDropdownTrigger/PhoneNumberDropdownTrigger';\nimport PhoneNumberDropdownOption from '../PhoneNumberDropdownOption/PhoneNumberDropdownOption';\nimport { CountriesListT } from 'common/store/countries-dict/models';\nimport {\n    clearPhoneNumber,\n    getCountryCode,\n    getCountryPhoneNumberStart,\n    parsePhoneNumber,\n} from 'common/utils/phone-number';\n\nconst cx = classNames.bind(styles);\n\nexport enum OverlayPositionEnum {\n    top = 'top',\n    bottom = 'bottom',\n}\n\nexport type PropsT = {\n    name: string;\n    value: string;\n    onChange: (value: string) => void;\n\n    onBlur?: () => void;\n    onFocus?: () => void;\n    isDisabled?: boolean;\n\n    testSelector?: string;\n\n    hasWarning?: boolean;\n    hasError?: boolean;\n    hasChanges?: boolean;\n\n    overlayPosition?: OverlayPositionEnum;\n    overlayClassName?: string;\n\n    allCountries: CountriesListT | null;\n\n    className?: string;\n};\n\nconst convertCountryCode = (dictCountryCode: string) => dictCountryCode.toUpperCase();\n\nconst POSITION_TO_PLACEMENT: Record<OverlayPositionEnum, Placement> = {\n    [OverlayPositionEnum.top]: 'top-start',\n    [OverlayPositionEnum.bottom]: 'bottom-start',\n};\n\nconst PhoneNumberDropdownInput = (props: PropsT): React.ReactElement => {\n    const {\n        name,\n        allCountries,\n        onFocus,\n        onBlur,\n        isDisabled,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        className,\n        overlayClassName,\n        hasChanges,\n        testSelector,\n        value,\n        onChange,\n    } = props;\n\n    const [isFocused, setFocused] = React.useState(false);\n    const [isHovered, setHovered] = React.useState<boolean>(false);\n\n    const handleMouseMove = (): void => {\n        if (!isHovered) {\n            setHovered(true);\n        }\n    };\n\n    const handleMouseLeave = (): void => {\n        setHovered(false);\n    };\n\n    const handleFocus = () => {\n        if (!isFocused) {\n            setFocused(true);\n        }\n\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const handleBlur = () => {\n        setFocused(false);\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const [inputValue, setInputValue] = React.useState<string>((): string => {\n        return clearPhoneNumber(value);\n    });\n    const [countryCode, setCountryCode] = React.useState<string>();\n    const [isOpenCountryList, setOpenCountryList] = React.useState(false);\n\n    const toggleOpenCountryList = (): void => {\n        if (isDisabled) {\n            return;\n        }\n        setOpenCountryList(!isOpenCountryList);\n    };\n\n    const handleChangePhoneNumber = (phoneNumber: string): void => {\n        const clearedPhoneNumber = clearPhoneNumber(phoneNumber);\n        setInputValue(clearedPhoneNumber);\n\n        const parsedPhoneNumber = parsePhoneNumber(phoneNumber);\n        if (value !== parsedPhoneNumber) {\n            onChange(parsedPhoneNumber);\n        }\n    };\n\n    React.useEffect(() => {\n        if (!value) {\n            setCountryCode('');\n            setInputValue('');\n            return;\n        }\n\n        const clearedPhoneNumber = clearPhoneNumber(value);\n        setInputValue(clearedPhoneNumber);\n\n        const parsedCountryCode = getCountryCode(value);\n        setCountryCode(parsedCountryCode || '');\n    }, [value]);\n\n    const fullTestSelector = `${testSelector}_phone-number-input`;\n\n    const { refs, floatingStyles, context } = useFloating({\n        open: isOpenCountryList,\n        onOpenChange: (open) => {\n            if (!open) {\n                setOpenCountryList(false);\n            }\n        },\n        placement: POSITION_TO_PLACEMENT[overlayPosition || OverlayPositionEnum.bottom],\n        middleware: [\n            offset(0),\n            flip({ padding: 8 }),\n            shift({ padding: 8 }),\n            size({\n                padding: 8,\n                apply({ rects, elements }) {\n                    Object.assign(elements.floating.style, {\n                        width: `${rects.reference.width}px`,\n                    });\n                },\n            }),\n        ],\n        strategy: 'fixed',\n        transform: false,\n        whileElementsMounted: autoUpdate,\n    });\n\n    const dismiss = useDismiss(context, {\n        outsidePressEvent: 'mousedown',\n    });\n\n    const { getReferenceProps, getFloatingProps } = useInteractions([dismiss]);\n\n    return (\n        <div className={cs(cx('dropdown'), className)}>\n            <div className={cx('trigger-wrap')}>\n                <div\n                    ref={refs.setReference}\n                    className={cx('trigger', {\n                        'trigger--isFocus': isFocused || isOpenCountryList,\n                        'trigger--isDisabled': isDisabled,\n                        'trigger--hasChanges': hasChanges,\n                        'trigger--hasWarning': hasWarning,\n                        'trigger--hasError': hasError,\n                        'trigger--isHovered': isHovered,\n                    })}\n                    onMouseMove={handleMouseMove}\n                    onMouseLeave={handleMouseLeave}\n                    {...getReferenceProps()}\n                >\n                    <PhoneNumberDropdownTrigger\n                        name={name}\n                        countryCode={countryCode}\n                        onClickCountryCode={toggleOpenCountryList}\n                        phoneNumber={inputValue}\n                        onChangePhoneNumber={handleChangePhoneNumber}\n                        testSelector={fullTestSelector}\n                        onFocus={handleFocus}\n                        onBlur={handleBlur}\n                        isDisabled={isDisabled}\n                    />\n                </div>\n                {isOpenCountryList && (\n                    <FloatingPortal>\n                        <div\n                            ref={refs.setFloating}\n                            style={floatingStyles}\n                            className={cs(cx('overlay'), overlayClassName)}\n                            {...getFloatingProps()}\n                        >\n                            {(allCountries || []).map((country) => {\n                                return (\n                                    <PhoneNumberDropdownOption\n                                        key={country.code}\n                                        testSelector={fullTestSelector}\n                                        countryCode={convertCountryCode(country.code)}\n                                        label={country.userLangDisplayName}\n                                        isSelected={convertCountryCode(country.code) === countryCode}\n                                        onSelect={(selectedCountryCode) => {\n                                            if (selectedCountryCode !== countryCode) {\n                                                const countryPhoneNumberStart =\n                                                    getCountryPhoneNumberStart(selectedCountryCode);\n\n                                                setInputValue(countryPhoneNumberStart);\n                                                setCountryCode(selectedCountryCode);\n                                                onChange(countryPhoneNumberStart);\n                                            }\n\n                                            setOpenCountryList(false);\n                                        }}\n                                    />\n                                );\n                            })}\n                        </div>\n                    </FloatingPortal>\n                )}\n            </div>\n        </div>\n    );\n};\n\nexport default PhoneNumberDropdownInput;\n","export enum BrokerSidebarsTypeEnum {\n    spotRequestDetails = 'spot-request-details',\n    spotRequestsFilter = 'spot-requests-filter',\n    createPartner = 'create-partner',\n    partnerFilter = 'partner-filter',\n    editPriceSettingsRuleSidebar = 'edit-price-settings-rule-sidebar',\n    priceSettingsRuleFilter = 'price-settings-rule-filter',\n    statisticsFilter = 'statistics-filter',\n    uploadShipperContract = 'upload-shipper-contract',\n    shipperContractLaneDetails = 'shipper-contract-lane-details',\n    editBrokerTeamDetails = 'edit-broker-team-details',\n}\n","import { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { AuthErrorTypeEnum, checkIsAuthApiError } from 'common/utils/api/auth/errors/auth-api-error';\n\nconst asyncValidate = (saveRequestStatus: RequestStatusT): AsyncFormErrorsT => {\n    const asyncErrors: AsyncFormErrorsT = {};\n\n    if (!checkIsAuthApiError(saveRequestStatus.error)) {\n        return asyncErrors;\n    }\n\n    if (\n        saveRequestStatus.error?.type === AuthErrorTypeEnum.wrongPassword ||\n        saveRequestStatus.error?.type === AuthErrorTypeEnum.failUpdatePassword ||\n        saveRequestStatus.error?.type === AuthErrorTypeEnum.failReauthenticateWithCredential\n    ) {\n        asyncErrors[FieldsEnum.currentPassword] = saveRequestStatus.error.type;\n    }\n\n    return asyncErrors;\n};\n\nexport default asyncValidate;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"DriveThroughRoutePointPicker__wrap___uU1Ml\",\"geo-suggest\":\"DriveThroughRoutePointPicker__geo-suggest___GOwWB\",\"triangle\":\"DriveThroughRoutePointPicker__triangle___BTTYJ\",\"triangle--has-remove-control\":\"DriveThroughRoutePointPicker__triangle--has-remove-control___eBwZE\",\"fadeIn\":\"DriveThroughRoutePointPicker__fadeIn___iubyg\",\"blinking\":\"DriveThroughRoutePointPicker__blinking___YC6RS\"};","export enum FieldsEnum {\n    reason = 'reason',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.reason]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"model\":\"AssetCell__model___41gL9\",\"not-assigned\":\"AssetCell__not-assigned___DotCG\",\"fadeIn\":\"AssetCell__fadeIn___b5yeL\",\"blinking\":\"AssetCell__blinking___yj1hi\"};","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"DriverFiltersSidebarContent__form___WPPWc\",\"block\":\"DriverFiltersSidebarContent__block___wKIPg\",\"block__title\":\"DriverFiltersSidebarContent__block__title___b97cc\",\"time-picker\":\"DriverFiltersSidebarContent__time-picker___mVz0P\",\"trailer-type\":\"DriverFiltersSidebarContent__trailer-type___uQcHg\",\"fadeIn\":\"DriverFiltersSidebarContent__fadeIn___TUqkE\",\"blinking\":\"DriverFiltersSidebarContent__blinking___fx_JP\"};","import { CountryCodeT } from 'common/utils/api/models';\n\nexport enum QueryFiltersKeysEnum {\n    dataSource = 'data-source',\n    fromCountryCode = 'from-country-code',\n    fromZipCode = 'from-zip-code',\n    toCountryCode = 'to-country-code',\n    toZipCode = 'to-zip-code',\n    shipperId = 'shipper-id',\n    shipperName = 'shipper-name',\n    carrierId = 'carrier-id',\n    carrierName = 'carrier-name',\n}\n\nexport enum QueryKeysEnum {\n    statsFilters = 'stats-filters',\n    statsGranularity = 'stats-granularity',\n    statsFrom = 'stats-from',\n    statsTo = 'stats-to',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.dataSource]: string;\n    [QueryFiltersKeysEnum.fromCountryCode]: CountryCodeT | null;\n    [QueryFiltersKeysEnum.fromZipCode]: string;\n    [QueryFiltersKeysEnum.toCountryCode]: CountryCodeT | null;\n    [QueryFiltersKeysEnum.toZipCode]: string;\n    [QueryFiltersKeysEnum.shipperId]: CompanyIdT | null;\n    [QueryFiltersKeysEnum.shipperName]: CompanyIdT | null;\n    [QueryFiltersKeysEnum.carrierId]: CompanyIdT | null;\n    [QueryFiltersKeysEnum.carrierName]: CompanyIdT | null;\n}>;\n\nexport type QueryT = Partial<{\n    [QueryKeysEnum.statsFilters]: string;\n    [QueryKeysEnum.statsGranularity]: string;\n    [QueryKeysEnum.statsFrom]: string;\n    [QueryKeysEnum.statsTo]: string;\n}>;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './ColoredDiff.scss';\nimport { CSSProperties } from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport isNumber from 'lodash/isNumber';\n\nexport type ColoredDiffPropsT = {\n    className?: string;\n    diff: number | null;\n    isInverted?: boolean;\n    isNotActual?: boolean;\n    customNotNumberColor?: StyleGuideColorsEnum;\n    customPositiveColor?: StyleGuideColorsEnum;\n    customNegativeColor?: StyleGuideColorsEnum;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ColoredDiff: React.FC<ColoredDiffPropsT> = React.memo((props) => {\n    const {\n        className,\n        diff,\n        isInverted,\n        isNotActual,\n        children,\n        customNotNumberColor,\n        customPositiveColor,\n        customNegativeColor,\n    } = props;\n\n    const style: CSSProperties = {};\n\n    if (!isNumber(diff)) {\n        if (customNotNumberColor) {\n            style.color = customNotNumberColor;\n        }\n\n        return (\n            <span className={cs(cx('not-number'), className)} style={style}>\n                {children}\n            </span>\n        );\n    }\n\n    const isPositive = isInverted ? diff < 0 : diff > 0;\n    const isNegative = isInverted ? diff > 0 : diff < 0;\n\n    if (isPositive && customPositiveColor) {\n        style.color = customPositiveColor;\n    }\n\n    if (isNegative && customNegativeColor) {\n        style.color = customNegativeColor;\n    }\n\n    if (isNotActual && customNotNumberColor) {\n        style.color = customNotNumberColor;\n    }\n\n    return (\n        <span\n            className={cs(\n                cx('margin', {\n                    'margin--positive': isPositive,\n                    'margin--negative': isNegative,\n                    'margin--not-actual': isNotActual,\n                }),\n                className,\n            )}\n            style={style}\n        >\n            {children}\n        </span>\n    );\n});\n\nexport default ColoredDiff;\n","import {\n    CREATE_PARTNER_REQUEST,\n    CREATE_PARTNER_REQUEST_BEGIN,\n    CREATE_PARTNER_REQUEST_ERROR,\n    CREATE_PARTNER_REQUEST_SUCCESS,\n    CreatePartnerRequestActionT,\n    CreatePartnerRequestBeginActionT,\n    CreatePartnerRequestErrorActionT,\n    CreatePartnerRequestSuccessActionT,\n    FETCH_PARTNERS_PAGE_REQUEST,\n    FETCH_PARTNERS_PAGE_REQUEST_BEGIN,\n    FETCH_PARTNERS_PAGE_REQUEST_ERROR,\n    FETCH_PARTNERS_PAGE_REQUEST_SUCCESS,\n    FetchPartnersPageActionT,\n    FetchPartnersPageBeginActionT,\n    FetchPartnersPageErrorActionT,\n    FetchPartnersPageSuccessActionT,\n    INVITE_PARTNER_REQUEST,\n    InvitePartnerRequestActionT,\n    RESET_PARTNERS,\n    ResetPartnersActionT,\n} from './types';\nimport { FetchPartnersPageQueryT, PartnerT } from './models';\n\nimport { ApiInvitePartnerRequestT, ApiPartnerCreationRequestT } from 'common/utils/api/models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchPartnersPage = (\n    pageNumber: PageNumberT,\n    query: FetchPartnersPageQueryT,\n    options?: FetchOptionsT,\n): FetchPartnersPageActionT => {\n    return {\n        type: FETCH_PARTNERS_PAGE_REQUEST,\n        query,\n        pageNumber,\n        options,\n    };\n};\n\nexport const fetchPartnersPageBegin = (\n    query: FetchPartnersPageQueryT,\n    pageNumber: PageNumberT,\n): FetchPartnersPageBeginActionT => ({\n    type: FETCH_PARTNERS_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n});\n\nexport const fetchPartnersPageSuccess = (\n    query: FetchPartnersPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<PartnerT> | null,\n): FetchPartnersPageSuccessActionT => ({\n    type: FETCH_PARTNERS_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n});\n\nexport const fetchPartnersPageError = (\n    query: FetchPartnersPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n): FetchPartnersPageErrorActionT => ({\n    type: FETCH_PARTNERS_PAGE_REQUEST_ERROR,\n    query,\n    error,\n    pageNumber,\n});\n\nexport const resetPartners = (mutationListOptions: MutationListOptionsT): ResetPartnersActionT => ({\n    type: RESET_PARTNERS,\n    mutationListOptions,\n});\n\nexport const invitePartnerRequest = (data: ApiInvitePartnerRequestT): InvitePartnerRequestActionT => ({\n    type: INVITE_PARTNER_REQUEST,\n    data,\n});\n\nexport const createPartnerRequest = (data: ApiPartnerCreationRequestT): CreatePartnerRequestActionT => ({\n    type: CREATE_PARTNER_REQUEST,\n    data,\n});\n\nexport const createPartnerRequestBegin = (): CreatePartnerRequestBeginActionT => ({\n    type: CREATE_PARTNER_REQUEST_BEGIN,\n});\n\nexport const createPartnerRequestError = (error: Error): CreatePartnerRequestErrorActionT => ({\n    type: CREATE_PARTNER_REQUEST_ERROR,\n    error,\n});\n\nexport const createPartnerRequestSuccess = (): CreatePartnerRequestSuccessActionT => ({\n    type: CREATE_PARTNER_REQUEST_SUCCESS,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"AssignTriggerLabel__option___a6ddo\",\"model-and-plate-number\":\"AssignTriggerLabel__model-and-plate-number___ExotY\",\"model-and-plate-number--isDisabled\":\"AssignTriggerLabel__model-and-plate-number--isDisabled___cScWr\",\"trigger-rate-mode\":\"AssignTriggerLabel__trigger-rate-mode___zPaLS\",\"spacer\":\"AssignTriggerLabel__spacer___xmFRK\",\"price\":\"AssignTriggerLabel__price___YWvlI\",\"price--isDisabled\":\"AssignTriggerLabel__price--isDisabled___WCMGw\",\"reset\":\"AssignTriggerLabel__reset___Z9iRi\",\"details\":\"AssignTriggerLabel__details____qw4f\",\"fadeIn\":\"AssignTriggerLabel__fadeIn___lWOH6\",\"blinking\":\"AssignTriggerLabel__blinking___uuemO\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ModalDialog__wrap___JEA3F\",\"wrap--hasTopPadding\":\"ModalDialog__wrap--hasTopPadding___BJydS\",\"content\":\"ModalDialog__content___WmI6X\",\"icon\":\"ModalDialog__icon____FHt5\",\"title\":\"ModalDialog__title___AyQmt\",\"message\":\"ModalDialog__message___HZBrI\",\"fadeIn\":\"ModalDialog__fadeIn___gEIZT\",\"blinking\":\"ModalDialog__blinking___elgUF\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './TopBarContent.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    testSelector?: string;\n    leftNode?: React.ReactNode;\n    title?: React.ReactNode;\n    afterTitle?: React.ReactNode;\n    rightNode?: React.ReactNode;\n};\n\nconst TopBarContent: React.FC<PropsT> = React.memo((props) => {\n    const { title, afterTitle, leftNode, rightNode, className, testSelector } = props;\n\n    return (\n        <div className={cs(cx('content'), className)} data-test-selector={`${testSelector}_top-bar-content`}>\n            <div className={cx('left-content')}>\n                {leftNode && <div className={cx('left-node')}>{leftNode}</div>}\n                {title && <div className={cx('title')}>{title}</div>}\n                {afterTitle && <div className={cx('after-title')}>{afterTitle}</div>}\n            </div>\n            {rightNode && <div className={cx('right-node')}>{rightNode}</div>}\n        </div>\n    );\n});\n\nexport default TopBarContent;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './ValidPeriodCell.scss';\nimport { RuleT } from 'broker-admin/store/price-settings/rules/models';\nimport { clearDateTimezone, formatDate } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    rule: RuleT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DATE_FORMAT = 'DD MMM, YYYY';\n\nconst ValidPeriodCell: React.FC<PropsT> = React.memo((props) => {\n    const { rule } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div>\n            <div className={cx('date')}>{formatDate(DATE_FORMAT, clearDateTimezone(rule.validFrom))}</div>\n            <div className={cx('date')}>\n                {rule.validTill\n                    ? formatDate(DATE_FORMAT, clearDateTimezone(rule.validTill))\n                    : t('price-settings.rules.forever')}\n            </div>\n        </div>\n    );\n});\n\nexport default ValidPeriodCell;\n","import React, { useEffect, useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EditContactDetailsSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT, MEDIA_FIELDS_NAME } from './constants';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { ContactPositionsEnum } from 'common/utils/api/models';\nimport { uppercaseFirstCharacterFormatter } from 'common/utils/form-formatters';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport prepareApiContact from './prepare-api-contact';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport LanguageSelector from 'common/components/LanguageSelector/LanguageSelector';\nimport { CompanyContactDetailsT } from 'common/store/members/models';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport DatePicker, {\n    DatePickerOverlayPositionEnum,\n    datePicketRangePresets,\n} from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport { AUTO_COMPLETE_OFF_FIX, SocialMediaEnum, StyleGuideColorsEnum } from 'common/constants';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport PhoneNumberInput from 'common/components/PhoneNumberInput/PhoneNumberInput';\nimport UserFormalDropdown from 'common/components/dropdowns/UserFormalDropdown/UserFormalDropdown';\nimport { logWarning } from 'common/utils/logger';\nimport PositionOption from 'common/layouts/Members/PositionOption/PositionOption';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAddMemberRequest,\n    selectContactDetailsById,\n    selectFetchContactDetailsRequest,\n    selectUpdateMemberRequest,\n} from 'common/store/members/selectors';\nimport AddOtherMessengerDropdown from './AddOtherMessengerDropdown/AddOtherMessengerDropdown';\nimport { addContact, fetchContactDetails, updateContact } from 'common/store/members/actions';\nimport { CommonSidebarDataT, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { EditContactDetailsSidebarDataT } from './models';\nimport noop from 'lodash/noop';\nimport ContactSidebarHeader from 'common/layouts/Members/ContactSidebarHeader/ContactSidebarHeader';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\nimport values from 'lodash/values';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport FormUnsavedValuesColoredStatus from 'common/components/status-colored/FormUnsavedValuesColoredStatus/FormUnsavedValuesColoredStatus';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport MainContactUnavailableReasonLabel from 'common/components/papers/labels/MainContactUnavailableReasonLabel/MainContactUnavailableReasonLabel';\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<EditContactDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst EditContactDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onClose, onGoBack, setNeedCloseConfirmation } = props;\n\n    const { partnerId } = data;\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    const contactDetailsRequestStatus = useSelector(selectFetchContactDetailsRequest);\n    const isLoading = contactDetailsRequestStatus.loading;\n\n    const contactDetailsById = useSelector(selectContactDetailsById);\n\n    const isNewContact = 'isNewContact' in data && data.isNewContact;\n\n    const contactDetails: CompanyContactDetailsT | null = useMemo(() => {\n        if ('contactId' in data) {\n            return contactDetailsById[data.contactId] || null;\n        }\n\n        if (isNewContact) {\n            return null;\n        }\n\n        return null;\n    }, [data, contactDetailsById, isNewContact]);\n\n    const addMemberRequestStatus = useSelector(selectAddMemberRequest(partnerId));\n    const updateMemberRequestStatus = useSelector(selectUpdateMemberRequest(partnerId));\n\n    const updateRequestStatus = useMemo(() => {\n        if ('contactId' in data) {\n            return updateMemberRequestStatus;\n        }\n\n        if (isNewContact) {\n            return addMemberRequestStatus;\n        }\n\n        return null;\n    }, [data, updateMemberRequestStatus, addMemberRequestStatus, isNewContact]);\n\n    useCloseSidebarAfterRequest(updateRequestStatus, onGoBack || onClose);\n\n    React.useEffect(() => {\n        if ('contactId' in data) {\n            dispatch(fetchContactDetails(data.contactId));\n        }\n    }, [data, dispatch]);\n\n    const hasUser = !!contactDetails?.userId;\n    const isAllowEditEmail = isNewContact || !hasUser;\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(contactDetails);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [contactDetails]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const apiContact = prepareApiContact(values);\n\n            if (isNewContact) {\n                dispatch(addContact(apiContact, partnerId));\n            } else if ('contactId' in data) {\n                dispatch(updateContact(data.contactId, apiContact, partnerId));\n            } else {\n                logWarning('failed submit edit contact form, empty contact id or not new contact');\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const handleSelectPosition = (value: ContactPositionsEnum): void => {\n        formik.setFieldValue(FieldsEnum.position, value);\n    };\n\n    const handleSelectLanguage = (langCode: string | undefined | null): void => {\n        if (!langCode) {\n            return;\n        }\n\n        formik.setFieldValue(FieldsEnum.language, langCode);\n    };\n\n    const [lastAddedMediaField, setLastAddedMediaField] = React.useState<SocialMediaEnum | null>(null);\n\n    const renderRadioButton = (position: ContactPositionsEnum) => {\n        return (\n            <PositionOption\n                className={cx('radio')}\n                value={position}\n                selectedValue={formik.values[FieldsEnum.position]}\n                onChange={handleSelectPosition}\n            />\n        );\n    };\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n    useEffect(() => {\n        setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    const isDisabledSubmit = (!isNewContact && !hasAnyFieldValueChanges) || updateRequestStatus?.loading;\n\n    const hasChangeHighlight = !isNewContact && formik.values[FieldsEnum.id] === contactDetails?.id;\n\n    const mainContactUnavailableReason = contactDetails?.mainContactUnavailableReason || null;\n    const isMakeDefaultContactCheckboxDisabled = Boolean(mainContactUnavailableReason);\n\n    const isShowNotSaveStatus = !isNewContact && hasAnyFieldValueChanges && hasChangeHighlight;\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            {isLoading && <LoaderOverlay />}\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    onGoBack={onGoBack ? () => onGoBack({ needCloseConfirmation: false }) : null}\n                    title={\n                        isNewContact ? (\n                            t('common:team-members.edit-contact.title')\n                        ) : (\n                            <ContactSidebarHeader contactDetails={contactDetails} />\n                        )\n                    }\n                    rightNode={isShowNotSaveStatus && <FormUnsavedValuesColoredStatus />}\n                    onClose={onClose ? () => onClose({ needCloseConfirmation: false }) : null}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>{t('common:team-members.edit-contact.sections.name')}</div>\n                    <div className={cx('section__block')}>\n                        <FieldGroup>\n                            <FormikField\n                                className={cx('field--formal')}\n                                name={FieldsEnum.formal}\n                                error={formik.errors[FieldsEnum.formal]}\n                                meta={formik.getFieldMeta(FieldsEnum.formal)}\n                                label={t('common:team-members.edit-contact.fields.formal.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <UserFormalDropdown\n                                        value={formik.values[FieldsEnum.formal]}\n                                        onChange={props.onChange}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        placeholder={t('common:team-members.edit-contact.fields.formal.placeholder')}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                className={cx('field--first-name')}\n                                name={FieldsEnum.firstName}\n                                error={formik.errors[FieldsEnum.firstName]}\n                                meta={formik.getFieldMeta(FieldsEnum.firstName)}\n                                label={t('common:team-members.edit-contact.fields.first-name.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.firstName}\n                                        value={formik.values[FieldsEnum.firstName]}\n                                        formatter={uppercaseFirstCharacterFormatter}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                className={cx('field--last-name')}\n                                name={FieldsEnum.lastName}\n                                error={formik.errors[FieldsEnum.lastName]}\n                                meta={formik.getFieldMeta(FieldsEnum.lastName)}\n                                label={t('common:team-members.edit-contact.fields.last-name.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.lastName}\n                                        value={formik.values[FieldsEnum.lastName]}\n                                        formatter={uppercaseFirstCharacterFormatter}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        </FieldGroup>\n                    </div>\n                </div>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>\n                        {t('common:team-members.edit-contact.sections.position')}\n                    </div>\n                    <div className={cx('section__block')}>\n                        <div className={cx('fields-group')}>\n                            <div className={cx('fields-group__field', 'fields-group__field--two')}>\n                                {renderRadioButton(ContactPositionsEnum.operator)}\n                                {renderRadioButton(ContactPositionsEnum.sales)}\n                                {renderRadioButton(ContactPositionsEnum.it)}\n                            </div>\n                            <div className={cx('fields-group__field', 'fields-group__field--two')}>\n                                {renderRadioButton(ContactPositionsEnum.management)}\n                                {renderRadioButton(ContactPositionsEnum.owner)}\n                                <FormikField\n                                    name={FieldsEnum.isDefault}\n                                    error={formik.errors[FieldsEnum.isDefault]}\n                                    meta={formik.getFieldMeta(FieldsEnum.isDefault)}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                    withoutLabel\n                                >\n                                    {(props) => (\n                                        <Tooltip\n                                            position={TooltipPositionEnum.topCenter}\n                                            theme={TooltipThemeEnum.black}\n                                            tooltipNode={\n                                                isMakeDefaultContactCheckboxDisabled ? (\n                                                    <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                                                        <MainContactUnavailableReasonLabel\n                                                            reason={mainContactUnavailableReason}\n                                                        />\n                                                    </TooltipContent>\n                                                ) : null\n                                            }\n                                        >\n                                            {() => (\n                                                <Checkbox\n                                                    isDisabled={isMakeDefaultContactCheckboxDisabled}\n                                                    label={t('common:team-members.edit-contact.fields.default.label')}\n                                                    checked={!!formik.values[FieldsEnum.isDefault]}\n                                                    onChange={() => {\n                                                        props.onChange(!formik.values[FieldsEnum.isDefault]);\n                                                    }}\n                                                />\n                                            )}\n                                        </Tooltip>\n                                    )}\n                                </FormikField>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>\n                        {t('common:team-members.edit-contact.sections.contacts')}\n                    </div>\n                    <div className={cx('section__block')}>\n                        <FieldGroup>\n                            {isAllowEditEmail ? (\n                                <FormikField\n                                    className={cx('field--email')}\n                                    name={FieldsEnum.email}\n                                    error={formik.errors[FieldsEnum.email]}\n                                    meta={formik.getFieldMeta(FieldsEnum.email)}\n                                    label={t('common:team-members.edit-contact.fields.email.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.email}\n                                            value={formik.values[FieldsEnum.email]}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning}\n                                            hasChanges={hasChangeHighlight && props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                            ) : (\n                                <ReadOnlyField\n                                    className={cx('field--email')}\n                                    label={t('common:team-members.edit-contact.fields.email.label')}\n                                    value={formik.values[FieldsEnum.email]}\n                                />\n                            )}\n                            <FormikField\n                                className={cx('field--mobile-phone')}\n                                name={FieldsEnum.mobilePhone}\n                                error={formik.errors[FieldsEnum.mobilePhone]}\n                                meta={formik.getFieldMeta(FieldsEnum.mobilePhone)}\n                                label={t('common:team-members.edit-contact.fields.mobile-phone.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <PhoneNumberInput\n                                        name={FieldsEnum.mobilePhone}\n                                        value={formik.values[FieldsEnum.mobilePhone]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        </FieldGroup>\n                        <FieldGroup>\n                            <FormikField\n                                className={cx('field--desktop-phone')}\n                                name={FieldsEnum.desktopPhone}\n                                error={formik.errors[FieldsEnum.desktopPhone]}\n                                meta={formik.getFieldMeta(FieldsEnum.desktopPhone)}\n                                label={t('common:team-members.edit-contact.fields.desktop-phone.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <PhoneNumberInput\n                                        name={FieldsEnum.desktopPhone}\n                                        value={formik.values[FieldsEnum.desktopPhone]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                className={cx('field--fax-number')}\n                                name={FieldsEnum.faxNumber}\n                                error={formik.errors[FieldsEnum.faxNumber]}\n                                meta={formik.getFieldMeta(FieldsEnum.faxNumber)}\n                                label={t('common:team-members.edit-contact.fields.fax-number.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.faxNumber}\n                                        value={formik.values[FieldsEnum.faxNumber]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        </FieldGroup>\n                        <FormikField\n                            name={FieldsEnum.webpageLink}\n                            error={formik.errors[FieldsEnum.webpageLink]}\n                            meta={formik.getFieldMeta(FieldsEnum.webpageLink)}\n                            label={t('common:team-members.edit-contact.fields.webpage-link.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.webpageLink}\n                                    value={formik.values[FieldsEnum.webpageLink]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={hasChangeHighlight && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                        {MEDIA_FIELDS_NAME.map((media) => {\n                            const mediaValue = formik.values[media];\n\n                            if (typeof mediaValue !== 'string') {\n                                return null;\n                            }\n\n                            return (\n                                <FormikField\n                                    key={media}\n                                    name={media}\n                                    error={formik.errors[media]}\n                                    meta={formik.getFieldMeta(media)}\n                                    label={t(`common:team-members.edit-contact.fields.${media}.label`)}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <div className={cx('media')}>\n                                            <Input\n                                                name={media}\n                                                className={cx('media__input')}\n                                                value={mediaValue}\n                                                onChange={props.onChange}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                hasError={props.hasError}\n                                                hasWarning={props.hasWarning}\n                                                hasChanges={hasChangeHighlight && props.hasChanges}\n                                                autoFocus={lastAddedMediaField === media}\n                                            />\n                                            <TransparentTrigger\n                                                className={cx('media__icon')}\n                                                onClick={() => {\n                                                    formik.setFieldValue(media, undefined);\n                                                }}\n                                                leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                                reflectionTheme={ReflectionThemeEnum.light}\n                                            />\n                                        </div>\n                                    )}\n                                </FormikField>\n                            );\n                        })}\n                        <AddOtherMessengerDropdown\n                            formValues={formik.values}\n                            onCreateField={(socialMedia) => {\n                                setLastAddedMediaField(socialMedia);\n                                formik.setFieldValue(socialMedia, '');\n                            }}\n                        />\n                    </div>\n                </div>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>\n                        {t('common:team-members.edit-contact.sections.personals')}\n                    </div>\n                    <div className={cx('section__block')}>\n                        <FieldGroup>\n                            <FormikField\n                                className={cx('field--birthday')}\n                                name={FieldsEnum.birthday}\n                                error={formik.errors[FieldsEnum.birthday]}\n                                meta={formik.getFieldMeta(FieldsEnum.birthday)}\n                                label={t('common:team-members.edit-contact.fields.birthday.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <DatePicker\n                                        {...datePicketRangePresets.birthday}\n                                        hasYearMonthForm\n                                        name={FieldsEnum.birthday}\n                                        value={formik.values[FieldsEnum.birthday]}\n                                        initialValue={initialValues[FieldsEnum.birthday]}\n                                        placeholder={t('common:team-members.edit-contact.fields.birthday.placeholder')}\n                                        onChange={props.onChange}\n                                        overlayPosition={DatePickerOverlayPositionEnum.topLeft}\n                                        hasWarning={props.hasWarning}\n                                        hasError={props.hasError}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        autoComplete={AUTO_COMPLETE_OFF_FIX}\n                                        hasClearControl\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                className={cx('field--country')}\n                                name={FieldsEnum.countryCode}\n                                error={formik.errors[FieldsEnum.countryCode]}\n                                label={t('common:team-members.edit-contact.fields.residence.label')}\n                                meta={formik.getFieldMeta(FieldsEnum.countryCode)}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <CountryDropdown\n                                        value={formik.values[FieldsEnum.countryCode]}\n                                        onChange={(countryCode) => {\n                                            props.onChange(countryCode);\n                                        }}\n                                        overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        </FieldGroup>\n                        <FieldGroup>\n                            <FormikField\n                                className={cx('field--language')}\n                                name={FieldsEnum.language}\n                                error={formik.errors[FieldsEnum.language]}\n                                label={t('common:team-members.edit-contact.fields.language.label')}\n                                meta={formik.getFieldMeta(FieldsEnum.language)}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <LanguageSelector\n                                        value={formik.values[FieldsEnum.language]}\n                                        onChange={handleSelectLanguage}\n                                        overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasChanges={hasChangeHighlight && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                            <FieldGroupEmptyItem className={cx('field--language')} />\n                        </FieldGroup>\n                    </div>\n                </div>\n            </SideBarLayout>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <FooterSideBarLayout hasPaddings>\n                <div className={cx('actions')}>\n                    {!isNewContact && (\n                        <Button\n                            theme={ButtonThemeEnum.secondary}\n                            onClick={onGoBack ? () => onGoBack({ needCloseConfirmation: false }) : noop}\n                            className={cx('actions__action', 'actions__action--isDiscard')}\n                        >\n                            {t('common:team-members.edit-contact.discard-changes')}\n                        </Button>\n                    )}\n                    <Button\n                        theme={ButtonThemeEnum.primary}\n                        isDisabled={isDisabledSubmit}\n                        isLoading={updateRequestStatus?.loading}\n                        className={cx('actions__action')}\n                        type=\"submit\"\n                    >\n                        {isNewContact\n                            ? t('common:team-members.edit-contact.add-contact')\n                            : t('common:team-members.edit-contact.update-contact')}\n                    </Button>\n                </div>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default EditContactDetailsSidebarContent;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ControlLoaderWithShadow.scss';\nimport cs from 'classnames';\n\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport isNumber from 'lodash/isNumber';\n\nconst DEFAULT_OPACITY = 0.7;\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    opacity?: number;\n    size?: number;\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst ControlLoaderWithShadow: React.FC<PropsT> = (props) => {\n    const { className, opacity, fillColor, size } = props;\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <ControlLoaderIcon\n                opacity={isNumber(opacity) ? opacity : DEFAULT_OPACITY}\n                fillColor={fillColor}\n                size={size || DEFAULT_ICON_SIZE}\n            />\n        </div>\n    );\n};\n\nexport default ControlLoaderWithShadow;\n","import {\n    AdditionalServicesActionT,\n    AdditionalServicesStateT,\n    FETCH_ADDITIONAL_SERVICES_REQUEST_BEGIN,\n    FETCH_ADDITIONAL_SERVICES_REQUEST_ERROR,\n    FETCH_ADDITIONAL_SERVICES_REQUEST_SUCCESS,\n    UPDATE_ADDITIONAL_SERVICE_REQUEST_BEGIN,\n    UPDATE_ADDITIONAL_SERVICE_REQUEST_ERROR,\n    UPDATE_ADDITIONAL_SERVICE_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: AdditionalServicesStateT = {\n    list: [],\n    updateRequest: requestStatus.initial,\n    fetchRequest: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: AdditionalServicesActionT | DestroySessionActionT,\n): AdditionalServicesStateT => {\n    switch (action.type) {\n        case FETCH_ADDITIONAL_SERVICES_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n\n        case FETCH_ADDITIONAL_SERVICES_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                list: action.list,\n                fetchRequest: requestStatus.ok,\n            };\n        }\n\n        case FETCH_ADDITIONAL_SERVICES_REQUEST_ERROR: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(action.error),\n            };\n        }\n\n        case UPDATE_ADDITIONAL_SERVICE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                updateRequest: requestStatus.loading,\n            };\n        }\n\n        case UPDATE_ADDITIONAL_SERVICE_REQUEST_SUCCESS: {\n            const { changes } = action;\n\n            if (!state.list) {\n                return state;\n            }\n\n            const newList = state.list.map((group) => {\n                const isSuitableGroupChanges = changes?.filter((item) => {\n                    return item.trailerType === group.trailerType || (!item.trailerType && !group.trailerType);\n                });\n                if (!isSuitableGroupChanges) {\n                    return group;\n                }\n\n                return {\n                    ...group,\n                    services: group.services.map((serviceItem) => {\n                        const targetChange =\n                            changes?.find((changesItem) => {\n                                return changesItem.service === serviceItem.service;\n                            }) || null;\n\n                        if (!targetChange) {\n                            return serviceItem;\n                        }\n\n                        return {\n                            ...serviceItem,\n                            itemCost: targetChange.itemCost,\n                        };\n                    }),\n                };\n            });\n\n            return {\n                ...state,\n                list: newList,\n                updateRequest: requestStatus.ok,\n            };\n        }\n\n        case UPDATE_ADDITIONAL_SERVICE_REQUEST_ERROR: {\n            return {\n                ...state,\n                updateRequest: requestStatus.setError(action.error),\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DictTrailerMultipleDropdown.scss';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport { ApiTrailerDictTypeT, ApiTrailerTypeT } from 'common/utils/api/models';\nimport TrailerIcon, { TrailerIconProps } from 'common/icons/TrailerIcon';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectTrailersDict, selectTrailersDictRequest } from 'common/store/trailers-dict/selectors';\nimport { useTranslation } from 'react-i18next';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport flatten from 'lodash/flatten';\nimport DropdownMultipleInput, {\n    RenderTriggerPropsT,\n} from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownBaseButtonTrigger from 'design-system/components/dropdowns/base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\n\nenum TrailerIconTypesEnum {\n    default = 'default',\n}\n\nconst cx = classNames.bind(styles);\n\ntype OptionValueT = TrailerDictIdT | null;\n\ntype PropsT = {\n    selectedTrailerType?: ApiTrailerTypeT | null;\n    placeholder?: string;\n    values: Array<OptionValueT>;\n    isDisabled?: boolean;\n    onChange: (values: Array<OptionValueT>) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    isShortLabel?: boolean;\n};\n\ntype TrailerDropdownOptionT = {\n    value: OptionValueT;\n    label: string;\n    iconType: TrailerIconTypesEnum;\n};\n\nconst DictTrailerMultipleDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        selectedTrailerType,\n        values,\n        placeholder,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasClearControl,\n        overlayPosition,\n        isShortLabel,\n    } = props;\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const trailersDict = useSelector(selectTrailersDict);\n    const fetchRequest = useSelector(selectTrailersDictRequest);\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const rawTrailerOptions = React.useMemo((): ApiTrailerDictTypeT[] => {\n        if (!selectedTrailerType) {\n            return flatten(Object.values(trailersDict || {}));\n        }\n\n        return trailersDict?.[selectedTrailerType as string] || [];\n    }, [trailersDict, selectedTrailerType]);\n\n    const trailerOptions = React.useMemo((): TrailerDropdownOptionT[] => {\n        return rawTrailerOptions.map((trailer) => ({\n            value: String(trailer.id) || null,\n            label: isShortLabel\n                ? trailer.model || ''\n                : t('common:trailer-subtype-template', {\n                      length: trailer.length,\n                      model: trailer.model,\n                      eur1Pallets: trailer.eur1Pallets,\n                      eur2Pallets: trailer.eur2Pallets,\n                  }),\n            iconType: TrailerIconTypesEnum.default,\n        }));\n    }, [rawTrailerOptions, isShortLabel, t]);\n\n    const renderTrigger = (\n        props: RenderTriggerPropsT,\n        options: Array<TrailerDropdownOptionT>,\n        placeholder: string | undefined,\n    ): React.ReactNode => {\n        if (!options?.length) {\n            return (\n                <DropdownBaseButtonTrigger\n                    {...props}\n                    renderLeftIcon={(iconMeta) => {\n                        return <TrailerIcon {...TrailerIconProps.getControlProps(iconMeta)} />;\n                    }}\n                >\n                    {placeholder || ''}\n                </DropdownBaseButtonTrigger>\n            );\n        }\n\n        if (options.length === 1) {\n            const firstOption = options?.[0];\n\n            return (\n                <DropdownBaseButtonTrigger\n                    {...props}\n                    renderLeftIcon={(iconMeta) => {\n                        return <TrailerIcon {...TrailerIconProps.getControlProps(iconMeta)} />;\n                    }}\n                >\n                    {firstOption?.label}\n                </DropdownBaseButtonTrigger>\n            );\n        }\n\n        return (\n            <DropdownBaseButtonTrigger\n                {...props}\n                renderLeftIcon={(iconMeta) => {\n                    return <TrailerIcon {...TrailerIconProps.getControlProps(iconMeta)} />;\n                }}\n            >\n                <DropdownMultipleInputCountLabel count={options.length} />\n            </DropdownBaseButtonTrigger>\n        );\n    };\n\n    const renderOption = (option: TrailerDropdownOptionT | null | undefined): React.ReactElement | null => {\n        if (!option) {\n            return null;\n        }\n\n        return (\n            <div className={cx('option')} key={option.label}>\n                {option.label}\n            </div>\n        );\n    };\n\n    const handleSelect = (values: Array<OptionValueT>): void => {\n        onChange(values);\n    };\n\n    const getOptionValue = (option: TrailerDropdownOptionT): OptionValueT => option.value;\n\n    const handleReset = () => {\n        onChange([]);\n    };\n\n    return (\n        <DropdownMultipleInput<TrailerDropdownOptionT, OptionValueT>\n            selectedValues={values}\n            placeholder={placeholder}\n            options={trailerOptions}\n            onSelect={handleSelect}\n            isDisabled={isDisabled || !trailersDict || fetchRequest.loading}\n            renderOption={renderOption}\n            isLoading={fetchRequest.loading}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderTrigger={renderTrigger}\n            testSelector=\"dict-trailer-ids\"\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n});\n\nexport default DictTrailerMultipleDropdown;\n","import { fork } from 'redux-saga/effects';\n\nimport detailsSaga from './details/sagas';\nimport rfqStatsSaga from './rfq-stats/sagas';\n\nfunction* partnerSaga() {\n    yield fork(rfqStatsSaga);\n    yield fork(detailsSaga);\n}\n\nexport default partnerSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"NavigationTabs__tabs___lBmn7\",\"fadeIn\":\"NavigationTabs__fadeIn___lNKj7\",\"blinking\":\"NavigationTabs__blinking___sEpKN\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst FuelIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill={fillColor} d=\"M5.5 15.25H10V10H5.5z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M10 3.25H5.5c-.825 0-1.5.675-1.5 1.5v12h7.5v-5.625h1.125v3.75a1.876 1.876 0 003.75 0V7.75c0-.518-.21-.99-.547-1.327l.007-.008-2.79-2.79-.795.795 1.582 1.583a1.867 1.867 0 00-1.207 1.747 1.876 1.876 0 002.625 1.717v5.408c0 .412-.338.75-.75.75s-.75-.338-.75-.75V11.5c0-.825-.675-1.5-1.5-1.5h-.75V4.75c0-.825-.675-1.5-1.5-1.5zm0 7.875v4.125H5.5V10H10v1.125zM10 8.5H5.5V4.75H10V8.5zm4.5 0c-.412 0-.75-.338-.75-.75s.338-.75.75-.75.75.338.75.75-.338.75-.75.75z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nFuelIcon.displayName = 'FuelIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default FuelIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"flag\":\"Flag__flag___pVuOb\",\"flag--theme-attention\":\"Flag__flag--theme-attention___i4Kc7\",\"flag__label-wrap\":\"Flag__flag__label-wrap___nltpz\",\"flag__icon\":\"Flag__flag__icon___fXEHq\",\"flag__label\":\"Flag__flag__label___myKUl\",\"flag__label--theme-attention\":\"Flag__flag__label--theme-attention___EwCBP\",\"tooltip\":\"Flag__tooltip___pCacF\",\"tooltip__inner\":\"Flag__tooltip__inner___sfeEV\",\"tooltip__inner--theme-white\":\"Flag__tooltip__inner--theme-white___kKAN_\",\"tooltip__inner--theme-black\":\"Flag__tooltip__inner--theme-black___YADRr\",\"fadeIn\":\"Flag__fadeIn___Xt3h2\",\"blinking\":\"Flag__blinking___NqDj2\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"Alert__inner___Y4KnD\",\"inner--theme-brand-accent\":\"Alert__inner--theme-brand-accent___BqpUz\",\"inner--theme-tomato-red\":\"Alert__inner--theme-tomato-red___QfDub\",\"inner--theme-orange\":\"Alert__inner--theme-orange___PT_W_\",\"inner--theme-gray\":\"Alert__inner--theme-gray___NzDLg\",\"inner--theme-charcoal\":\"Alert__inner--theme-charcoal___rniG6\",\"inner--theme-slate\":\"Alert__inner--theme-slate___IG2cU\",\"inner__size-small\":\"Alert__inner__size-small___B3uCs\",\"inner__size-medium\":\"Alert__inner__size-medium___LiIof\",\"inner__size-medium-large\":\"Alert__inner__size-medium-large___UUJI4\",\"row\":\"Alert__row___BNiNM\",\"row--is-align-items-center\":\"Alert__row--is-align-items-center___O9ais\",\"icon\":\"Alert__icon___VhKHI\",\"text\":\"Alert__text___u_raH\",\"text__size-medium-large\":\"Alert__text__size-medium-large___TkLvU\",\"close\":\"Alert__close___lxfif\",\"action\":\"Alert__action___h2S1D\",\"action-text\":\"Alert__action-text___tdXyM\",\"tooltip\":\"Alert__tooltip___nB8VT\",\"fadeIn\":\"Alert__fadeIn___mL6uq\",\"blinking\":\"Alert__blinking____yzwq\"};","import * as React from 'react';\nimport { useCallback, useMemo } from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './BidDetails.scss';\nimport Money from 'common/components/Money/Money';\nimport { CurrencyEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Link, { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\nimport BigRadioIcon from 'common/icons/BigRadioIcon';\nimport { logWarning } from 'common/utils/logger';\nimport { SpotBidT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { urlFactory as brokerUrlFactory } from 'broker-admin/utils/urls';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport SpotBidStatusPill from 'common/components/status-pill/SpotBidStatusPill/SpotBidStatusPill';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport AccountIcon from 'common/icons/AccountIcon';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport DateIntervalFormatter from 'design-system/components/InfoTable/formatters/DateIntervalFormatter/DateIntervalFormatter';\nimport CommentIcon from 'common/icons/CommentIcon';\nimport CommentFormatter from 'design-system/components/InfoTable/formatters/CommentFormatter/CommentFormatter';\nimport { useTranslation } from 'react-i18next';\nimport ColoredDiff from 'common/components/ColoredDiff/ColoredDiff';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport IconTrigger from 'design-system/components/IconTrigger/IconTrigger';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport scrollIntoView from 'scroll-into-view';\nimport MoneyDiff from 'common/components/MoneyDiff/MoneyDiff';\n\ntype PropsT = {\n    className?: string;\n    isDisabled?: boolean;\n    isSelected?: boolean;\n    bid: SpotBidT | null | undefined;\n    onSelect: (bid: SpotBidT) => void;\n    estimateSpotRequestPrice: number | null;\n    onOpenUserDetails: (params: {\n        partnerType: PartnerTypeEnum;\n        partnerId: PartnerIdT;\n        userId: UserIdT | null;\n    }) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst BidDetails: React.FC<PropsT> = React.memo((props) => {\n    const { className, bid, onSelect, isSelected, isDisabled, estimateSpotRequestPrice, onOpenUserDetails } = props;\n\n    const ref = React.createRef<HTMLDivElement>();\n\n    const [isOpenedDetails, setIsOpenedDetails] = React.useState<boolean>(false);\n\n    const { t } = useTranslation();\n\n    const toggleOpenedDetailsClick = () => {\n        setIsOpenedDetails(!isOpenedDetails);\n\n        const shouldScroll = !isOpenedDetails;\n        if (shouldScroll) {\n            if (!ref.current) {\n                return;\n            }\n\n            scrollIntoView(ref.current, {\n                time: 300,\n            });\n        }\n    };\n\n    const handleSelect = () => {\n        if (isDisabled) {\n            toggleOpenedDetailsClick();\n            return;\n        }\n\n        if (!bid) {\n            logWarning('empty bid!');\n            return;\n        }\n\n        if (isSelected) {\n            toggleOpenedDetailsClick();\n            return;\n        }\n\n        onSelect(bid);\n    };\n\n    const isClickable = !isDisabled;\n\n    const carrierId = bid?.carrier?.id;\n\n    const handleOpenUserDetails = useCallback(\n        (userId: UserIdT) => {\n            if (!carrierId) {\n                logWarning('Empty carrierId on handleOpenUserDetails');\n                return;\n            }\n\n            onOpenUserDetails({\n                userId,\n                partnerType: PartnerTypeEnum.carrier,\n                partnerId: carrierId,\n            });\n        },\n        [carrierId, onOpenUserDetails],\n    );\n\n    const bidDetails: Array<InfoTableRowT | null> = useMemo(\n        () => [\n            {\n                icon: (\n                    <AccountIcon\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                        size={DEFAULT_ICON_SIZE}\n                    />\n                ),\n                name: t('spot-request-details.bids.details.placed-by'),\n                value: (\n                    <UserLinkFormatter\n                        fullName={bid?.createdBy?.fullName}\n                        userId={bid?.createdBy?.id}\n                        onOpenUserDetails={handleOpenUserDetails}\n                    />\n                ),\n                isBoldValue: true,\n                emptyValue: t('common:info-table.placeholders.empty'),\n                testSelector: 'upload-user',\n            },\n            bid?.bidDate || bid?.lifeTime\n                ? {\n                      icon: (\n                          <TimeWindowIcon\n                              strokeColor={StyleGuideColorsEnum.gray}\n                              fillColor={StyleGuideColorsEnum.light}\n                          />\n                      ),\n                      name: t('spot-request-details.bids.details.valid'),\n                      value: (\n                          <DateIntervalFormatter\n                              startDate={bid?.bidDate}\n                              endDate={bid?.lifeTime}\n                              format=\"D MMM YYYY, HH:mm\"\n                          />\n                      ),\n                      isBoldValue: true,\n                      emptyValue: t('common:info-table.placeholders.empty'),\n                      testSelector: 'upload-date',\n                  }\n                : null,\n            bid?.comment\n                ? {\n                      icon: (\n                          <CommentIcon strokeColor={StyleGuideColorsEnum.gray} fillColor={StyleGuideColorsEnum.light} />\n                      ),\n                      name: t('spot-request-details.bids.details.comment'),\n                      value: <CommentFormatter comment={bid.comment} />,\n                      isBoldValue: true,\n                      emptyValue: t('common:info-table.placeholders.empty'),\n                      testSelector: 'upload-date',\n                  }\n                : null,\n        ],\n        [bid, handleOpenUserDetails, t],\n    );\n\n    const diffPercentage = React.useMemo((): number => {\n        if (!estimateSpotRequestPrice || !bid || !bid?.bidPrice) {\n            return 0;\n        }\n\n        return Math.round((bid.bidPrice / estimateSpotRequestPrice - 1) * 100);\n    }, [estimateSpotRequestPrice, bid]);\n\n    if (!bid) {\n        return null;\n    }\n\n    return (\n        <div\n            className={cs(\n                cx('inner', {\n                    'inner--isClickable': isClickable,\n                }),\n                className,\n            )}\n            ref={ref}\n        >\n            <div\n                className={cx('row', 'head', {\n                    'head--isOpened': isOpenedDetails,\n                    'head--isClickable': !isDisabled,\n                })}\n                onClick={handleSelect}\n            >\n                <div className={cx('column__icon')}>\n                    <BigRadioIcon isSelected={isSelected} isDisabled={isDisabled} />\n                </div>\n                <div className={cx('column__main')}>\n                    <div className={cx('main')}>\n                        {bid.bidPrice ? (\n                            <>\n                                <MoneyDiff value={bid.bidPrice} baseValue={estimateSpotRequestPrice}>\n                                    {(diff) => (\n                                        <ColoredDiff isInverted diff={diff}>\n                                            <Money\n                                                className={cx('main__money')}\n                                                amount={bid.bidPrice}\n                                                currency={CurrencyEnum.EUR}\n                                            />\n                                        </ColoredDiff>\n                                    )}\n                                </MoneyDiff>\n                                {!!diffPercentage && (\n                                    <PillLabel\n                                        className={cx('main__diff')}\n                                        theme={\n                                            diffPercentage > 0\n                                                ? PillLabelThemeEnum.tomatoRed\n                                                : PillLabelThemeEnum.brandAccent\n                                        }\n                                        isSymmetrical\n                                    >\n                                        {diffPercentage > 0 ? '+' : ''}\n                                        {diffPercentage}%\n                                    </PillLabel>\n                                )}\n                                <ClickInterceptorLabel>\n                                    <Tooltip\n                                        position={TooltipPositionEnum.topCenter}\n                                        theme={TooltipThemeEnum.black}\n                                        tooltipNode={\n                                            <TooltipContent theme={TooltipContentThemeEnum.black}>\n                                                {t('spot-request-details.bids.expand')}\n                                            </TooltipContent>\n                                        }\n                                    >\n                                        {(isShow) => (\n                                            <IconTrigger isFocused={isShow} onClick={toggleOpenedDetailsClick}>\n                                                {() => (\n                                                    <ExpandIcon\n                                                        fillColor={StyleGuideColorsEnum.brandAccent}\n                                                        isInvert={isOpenedDetails}\n                                                    />\n                                                )}\n                                            </IconTrigger>\n                                        )}\n                                    </Tooltip>\n                                </ClickInterceptorLabel>\n                            </>\n                        ) : (\n                            <div className={cx('main__money')}>{t('spot-request-details.bids.details.no-bid')}</div>\n                        )}\n                    </div>\n                    {carrierId && (\n                        <div className={cx('link')}>\n                            <Link\n                                to={brokerUrlFactory.partnerDetails(PartnerTypeEnum.carrier, carrierId)}\n                                theme={LinkThemeEnum.boldBrandDark}\n                                size={LinkSizeEnum.medium}\n                            >\n                                {bid.carrier?.name}\n                            </Link>\n                        </div>\n                    )}\n                </div>\n                <div className={cx('column__status')}>\n                    {!!bid.match && (\n                        <PillLabel\n                            className={cx('match-pill')}\n                            theme={PillLabelThemeEnum.grey}\n                            testSelector=\"spot-bid-match\"\n                            isSymmetrical\n                        >\n                            {t('spot-request-details.bids.match')}\n                        </PillLabel>\n                    )}\n                    <SpotBidStatusPill isSymmetrical status={bid.status} />\n                </div>\n            </div>\n            {isOpenedDetails && (\n                <div className={cx('body')}>\n                    <InfoTable shouldRenderIcons rows={bidDetails} testSelector=\"bid-details\" />\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default BidDetails;\n","import { ApiAddressPointT, ApiCountriesT, ApiLocationT } from 'common/utils/api/models';\n\nexport const convertToPointLocation = (location: ApiLocationT | null): ApiAddressPointT | null => {\n    if (!location) {\n        return null;\n    }\n\n    const countyCode = location?.country;\n    const latitude = location?.latitude;\n    const longitude = location?.longitude;\n\n    if (!latitude || !longitude || !countyCode) {\n        return null;\n    }\n\n    return {\n        latitude,\n        longitude,\n        country: countyCode as ApiCountriesT,\n        city: location?.city || undefined,\n        street1: location?.street1 || undefined,\n        street2: location?.street2,\n        zipCode: location?.zipCode || undefined,\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"CostsCell__wrap___nnvEy\",\"money\":\"CostsCell__money___CFEPP\",\"fadeIn\":\"CostsCell__fadeIn___oHbkR\",\"blinking\":\"CostsCell__blinking___Xo2WC\"};","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport ShipperContractLaneStatus from 'common/components/status/ShipperContractLaneStatus/ShipperContractLaneStatus';\nimport { formatDateRangeFilterValue, pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\nimport TrailerDictIdFilterPill from 'common/components/filter-pills/TrailerDictIdFilterPill/TrailerDictIdFilterPill';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:shipper-contract-lanes.filters.pills.text', {\n                        value: queryFilters[QueryFiltersKeysEnum.text],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.text],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const selectedTrailerId = queryFilters[QueryFiltersKeysEnum.dictTrailerId];\n\n                    return (\n                        <Trans\n                            i18nKey=\"common:shipper-contract-lanes.filters.pills.trailer-type\"\n                            components={{\n                                value: <TrailerDictIdFilterPill trailerDictId={selectedTrailerId} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.dictTrailerId],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:shipper-contract-lanes.filters.pills.address', {\n                        value: queryFilters[QueryFiltersKeysEnum.address],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.address],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    return (\n                        <Trans\n                            i18nKey=\"common:shipper-contract-lanes.filters.pills.status\"\n                            components={{\n                                value: <ShipperContractLaneStatus status={queryFilters[QueryFiltersKeysEnum.status]} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.status],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, isCompact) => {\n                    const name = queryFilters[QueryFiltersKeysEnum.createdByName] || '';\n\n                    return pillIconRendererMap.avatar(name, isCompact);\n                },\n                render: (queryFilters) => {\n                    return t('common:shipper-contract-lanes.filters.pills.created-by', {\n                        value: queryFilters[QueryFiltersKeysEnum.createdByName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdById, QueryFiltersKeysEnum.createdByName],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const validFromStart = queryFilters[QueryFiltersKeysEnum.validFromStart];\n                    const validFromFinish = queryFilters[QueryFiltersKeysEnum.validFromFinish];\n\n                    return t('common:shipper-contract-lanes.filters.pills.valid-from', {\n                        value: formatDateRangeFilterValue(validFromStart, validFromFinish),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.validFromStart, QueryFiltersKeysEnum.validFromFinish],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const validTillStart = queryFilters[QueryFiltersKeysEnum.validTillStart];\n                    const validTillFinish = queryFilters[QueryFiltersKeysEnum.validTillFinish];\n\n                    return t('common:shipper-contract-lanes.filters.pills.valid-till', {\n                        value: formatDateRangeFilterValue(validTillStart, validTillFinish),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.validTillStart, QueryFiltersKeysEnum.validTillFinish],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const createdDateStart = queryFilters[QueryFiltersKeysEnum.createdDateStart];\n                    const createdDateFinish = queryFilters[QueryFiltersKeysEnum.createdDateFinish];\n\n                    return t('common:shipper-contract-lanes.filters.pills.created-dates', {\n                        value: formatDateRangeFilterValue(createdDateStart, createdDateFinish),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdDateStart, QueryFiltersKeysEnum.createdDateFinish],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","// extracted by mini-css-extract-plugin\nexport default {\"map\":\"RouteEditingMap__map___Eyd8N\",\"map--isEditing\":\"RouteEditingMap__map--isEditing___fRY3F\",\"map--hasRedBorder\":\"RouteEditingMap__map--hasRedBorder___MRLTw\",\"route-point-pin\":\"RouteEditingMap__route-point-pin___Mod79\",\"exclude-countries\":\"RouteEditingMap__exclude-countries___k6uLE\",\"loader\":\"RouteEditingMap__loader___ctJvg\",\"fadeIn\":\"RouteEditingMap__fadeIn___WJaRS\",\"blinking\":\"RouteEditingMap__blinking___FhMiZ\"};","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"FiltersSidebarContent__form___q3_9U\",\"field--shipper\":\"FiltersSidebarContent__field--shipper___qGZ71\",\"field--carrier\":\"FiltersSidebarContent__field--carrier___KFg_p\",\"field--key-account-manager\":\"FiltersSidebarContent__field--key-account-manager___wO5jZ\",\"field--dispatcher\":\"FiltersSidebarContent__field--dispatcher___MOgP7\",\"field--trailer-type\":\"FiltersSidebarContent__field--trailer-type___f48FD\",\"field--order-type\":\"FiltersSidebarContent__field--order-type___PEmzM\",\"field--transport-order-type\":\"FiltersSidebarContent__field--transport-order-type___SrdVr\",\"field--dates\":\"FiltersSidebarContent__field--dates___TrZhG\",\"field--has-unpaid-shipment\":\"FiltersSidebarContent__field--has-unpaid-shipment___IbykK\",\"selected-filters\":\"FiltersSidebarContent__selected-filters___Vp8zl\",\"fadeIn\":\"FiltersSidebarContent__fadeIn___MDyTE\",\"blinking\":\"FiltersSidebarContent__blinking___svb0D\"};","import { ApiContactFormalEnum, ContactPositionsEnum, CountryCodeT } from 'common/utils/api/models';\nimport { SocialMediaEnum } from 'common/constants';\n\nexport enum FieldsEnum {\n    id = 'id',\n\n    formal = 'formal',\n    firstName = 'firstName',\n    lastName = 'lastName',\n\n    position = 'position',\n    isDefault = 'isDefault',\n\n    desktopPhone = 'desktopPhone',\n    mobilePhone = 'mobilePhone',\n    faxNumber = 'faxNumber',\n    email = 'email',\n\n    webpageLink = 'webpageLink',\n\n    whatsapp = 'whatsapp',\n    viber = 'viber',\n    telegram = 'telegram',\n    msTeams = 'msTeams',\n\n    birthday = 'birthday',\n    countryCode = 'countryCode',\n    language = 'language',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.id]: string | null;\n\n    [FieldsEnum.formal]: ApiContactFormalEnum;\n    [FieldsEnum.firstName]: string;\n    [FieldsEnum.lastName]: string;\n\n    [FieldsEnum.position]: ContactPositionsEnum;\n    [FieldsEnum.isDefault]: boolean;\n\n    [FieldsEnum.desktopPhone]: string;\n    [FieldsEnum.mobilePhone]: string;\n    [FieldsEnum.faxNumber]: string;\n    [FieldsEnum.email]: string;\n\n    [FieldsEnum.webpageLink]: string;\n\n    [FieldsEnum.whatsapp]?: string;\n    [FieldsEnum.viber]?: string;\n    [FieldsEnum.telegram]?: string;\n    [FieldsEnum.msTeams]?: string;\n\n    [FieldsEnum.birthday]: Date | null;\n    [FieldsEnum.countryCode]: CountryCodeT | null;\n    [FieldsEnum.language]: string | null;\n};\n\nexport const MEDIA_FIELDS_NAME = [\n    SocialMediaEnum.whatsapp,\n    SocialMediaEnum.viber,\n    SocialMediaEnum.telegram,\n    SocialMediaEnum.msTeams,\n] as const;\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"label\":\"TemperatureRangePicker__label___h0U_j\",\"label__icon\":\"TemperatureRangePicker__label__icon___XtwFp\",\"label__label\":\"TemperatureRangePicker__label__label___SU9Ty\",\"label__value\":\"TemperatureRangePicker__label__value___W3ONc\",\"presets\":\"TemperatureRangePicker__presets___FOO4Y\",\"preset\":\"TemperatureRangePicker__preset___XcPvF\",\"fadeIn\":\"TemperatureRangePicker__fadeIn___lqK58\",\"blinking\":\"TemperatureRangePicker__blinking___L3BUx\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ShipmentCanceledCard__inner___Bc2j7\",\"fadeIn\":\"ShipmentCanceledCard__fadeIn___eyxu8\",\"blinking\":\"ShipmentCanceledCard__blinking___IQy98\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DevelopmentSettings.scss';\nimport { useTranslation } from 'react-i18next';\nimport Switcher from 'common/components/Switcher/Switcher';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\n\ntype ClientFeatureControlPropsT = {\n    feature: ClientFeatureEnum;\n    children: (props: { checked: boolean; toggle: () => void }) => React.ReactElement;\n};\n\nconst ClientFeatureControl: React.FC<ClientFeatureControlPropsT> = (props) => {\n    const { feature, children } = props;\n\n    const featuresContext = React.useContext(FeaturesContext);\n\n    const value = !!featuresContext?.checkActiveClientFeature?.(feature);\n\n    return children({\n        checked: value,\n        toggle: () => {\n            featuresContext?.setClientFeature?.(feature, !value);\n        },\n    });\n};\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst labelI18nMap: Record<ClientFeatureEnum, string> = {\n    [ClientFeatureEnum.errorDetails]: 'common:development.show-detail-errors',\n    [ClientFeatureEnum.i18nLanguageSwitcher]: 'common:development.show-local-switcher',\n    [ClientFeatureEnum.debugAlertForm]: 'common:development.show-debug-alert-form',\n    [ClientFeatureEnum.debugNotificationsForm]: 'common:development.show-debug-notifications-form',\n    [ClientFeatureEnum.partnerDrivers]: 'common:development.show-partner-drivers',\n    [ClientFeatureEnum.partnerInvoices]: 'common:development.show-partner-invoices',\n    [ClientFeatureEnum.assignmentExcludeCountries]: 'common:development.assignment-exclude-countries',\n    [ClientFeatureEnum.newPapersAttachment]: 'common:development.new-papers-attachment',\n    [ClientFeatureEnum.showTraceId]: 'common:development.show-trace-id',\n    [ClientFeatureEnum.invoices]: 'common:development.show-invoices',\n    [ClientFeatureEnum.showNotificationId]: 'common:development.show-notification-id',\n    [ClientFeatureEnum.brokerRfq]: 'common:development.broker-rfq',\n    [ClientFeatureEnum.showStatusFiltersAfterPaid]: 'common:development.show-status-filters-after-paid',\n    [ClientFeatureEnum.cancelServiceMaintenanceAssetScheduleSidebar]:\n        'common:development.cancel-service-maintenance-asset-schedule-sidebar',\n};\n\nconst DevelopmentSettings: React.FC<PropsT> = () => {\n    const { t } = useTranslation();\n\n    const featuresContext = React.useContext(FeaturesContext);\n\n    return (\n        <div className={cx('inner')}>\n            {(Object.values(ClientFeatureEnum) as ClientFeatureEnum[]).map((clientFeature) => {\n                return (\n                    <ClientFeatureControl key={clientFeature} feature={clientFeature}>\n                        {(props) => (\n                            <Switcher\n                                checked={props.checked}\n                                onToggle={props.toggle}\n                                className={cx('control')}\n                                label={t(labelI18nMap[clientFeature])}\n                            />\n                        )}\n                    </ClientFeatureControl>\n                );\n            })}\n            <div>\n                <Button\n                    theme={ButtonThemeEnum.secondary}\n                    onClick={() => {\n                        featuresContext?.clearClientFeatures?.();\n                    }}\n                >\n                    {t('common:development.reset')}\n                </Button>\n            </div>\n        </div>\n    );\n};\n\nexport default DevelopmentSettings;\n","import { TransportOrderDetailsT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const FETCH_TRANSPORT_ORDER_DETAILS_REQUEST =\n    'common/transport-order-details/FETCH_TRANSPORT_ORDER_DETAILS_REQUEST';\nexport const FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_BEGIN =\n    'common/transport-order-details/FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_BEGIN';\nexport const FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_ERROR =\n    'common/transport-order-details/FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_ERROR';\nexport const FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_SUCCESS =\n    'common/transport-order-details/FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_SUCCESS';\n\nexport type TransportOrderDetailsStateT = {\n    details: TransportOrderDetailsT | null;\n    requestStatus: RequestStatusT;\n};\n\nexport type TransportOrderDetailsByIdStateT = Record<TransportOrderIdT, TransportOrderDetailsStateT>;\n\nexport type FetchTransportOrderDetailsRequestActionT = {\n    type: typeof FETCH_TRANSPORT_ORDER_DETAILS_REQUEST;\n    id: TransportOrderIdT;\n    companyId: CompanyIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchTransportOrderDetailsRequestBeginActionT = {\n    type: typeof FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_BEGIN;\n    id: TransportOrderIdT;\n};\n\nexport type FetchTransportOrderDetailsRequestErrorActionT = {\n    type: typeof FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_ERROR;\n    error: Error;\n    id: TransportOrderIdT;\n};\n\nexport type FetchTransportOrderDetailsRequestSuccessActionT = {\n    type: typeof FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_SUCCESS;\n    transportOrderDetails: TransportOrderDetailsT | null;\n    id: TransportOrderIdT;\n};\n\nexport type TransportOrderDetailsActionT =\n    | FetchTransportOrderDetailsRequestActionT\n    | FetchTransportOrderDetailsRequestBeginActionT\n    | FetchTransportOrderDetailsRequestErrorActionT\n    | FetchTransportOrderDetailsRequestSuccessActionT;\n","import * as React from 'react';\nimport { useCallback, useContext, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport classNames from 'classnames/bind';\nimport styles from './ShipmentDetailsForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { FormikContext, useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport {\n    DEFAULT_BOX_TRAILER_ID,\n    DEFAULT_TILT_TRAILER_ID,\n    DEFAULT_TRAILER_TYPE,\n    FieldsEnum,\n    FormTouchedT,\n    FormValuesT,\n    RoutePointFieldsEnum,\n    RoutePointFormValuesT,\n    SHIPMENT_DETAIL_FORM_NAME,\n} from './constants';\nimport { StyleGuideColorsEnum, TrailerTypeEnum } from 'common/constants';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectCreatePriceOfferWithLaneRequest,\n    selectCreateRFQRequest,\n    selectIsAllowCreateRFQ,\n    selectReserve,\n    selectReservePreview,\n    selectReservePreviewRequest,\n    selectReserveRequest,\n} from 'common/store/order-creation/selectors';\nimport TrailerTypeSwitcher from 'common/components/TrailerTypeSwitcher/TrailerTypeSwitcher';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport validateForm from 'common/layouts/NewOrderPage/ShipmentDetailsForm/validate-form';\nimport {\n    changeReserveQuery,\n    createPriceOfferWithLaneRequest,\n    createRFQ,\n    resetReserveAndPreviewReserve,\n} from 'common/store/order-creation/actions';\nimport {\n    prepareApiActualOrderRequest,\n    prepareApiReserveChanges,\n    prepareApiReserveChangesAddRoutePoint,\n    prepareApiReserveChangesChangeRoutePoint,\n    prepareApiReserveChangesDeleteRoutePoint,\n} from './prepare-api-requests';\nimport ValuesStorage from 'common/utils/form-values-storage';\nimport getterFormFillPercent from '../getter-form-fill-percent';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport ReplacedLocationsAlertContent from 'common/layouts/NewOrderPage/ShipmentDetailsForm/footer-alert-contents/ReplacedLocationsAlertContent/ReplacedLocationsAlertContent';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { OnChangeRoutePointReserveT } from './models';\nimport { logWarning } from 'common/utils/logger';\nimport keys from 'lodash/keys';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { MS_IN_MIN, MS_IN_SEC } from 'common/utils/time';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { useSyncReserveChannels } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-sync-reserve-channels';\nimport { useReserveChannelLock } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-reserve-channel-lock';\nimport { useOnlyAvailableLane } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-only-available-lane';\nimport StepsContext from 'common/layouts/NewOrderPage/contexts/steps-context';\nimport OrderCreationPercentContext from 'common/layouts/NewOrderPage/contexts/order-creation-percent-context';\nimport { getRoutePointFieldName } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/utils';\nimport times from 'lodash/times';\nimport { SyncShipmentDetailsFormValuesContext } from './contexts/sync-form-values';\nimport { useTrailersDict } from 'common/utils/hooks/useTrailersDict';\nimport FormikFieldArray from 'common/components/forms/FormikFieldArray/FormikFieldArray';\nimport PickupOrDeliveryRoutePointPicker from './PickupOrDeliveryRoutePointPicker/PickupOrDeliveryRoutePointPicker';\nimport DriveThroughRoutePointPicker from './DriveThroughRoutePointPicker/DriveThroughRoutePointPicker';\nimport { DividerWithDropdownControl } from 'design-system/components/DividerWithDropdownControl/DividerWithDropdownControl';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport { SyncShipmentDetailsFormMapStateContext } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-map-state';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport getBoundingBox from 'common/utils/get-bounding-box';\nimport LaneDropdownInput from './LaneDropdownInput/LaneDropdownInput';\nimport { useSelectedLane } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-selected-lane';\nimport { useEditRouteWatcher } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-edit-route-watcher';\nimport SubmitButtonContent from 'common/layouts/NewOrderPage/ShipmentDetailsForm/SubmitButtonContent/SubmitButtonContent';\nimport FooterSideBarAlertsLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlertsLayout';\nimport SideBarFooterAlertsContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-footer-alerts-context';\nimport { AlertThemeEnum } from 'common/components/Alert/Alert';\nimport asyncValidate from './async-validations';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport FormAsyncErrorsContext from 'common/components/forms/contexts/form-async-errors-context';\nimport {\n    ApiOrderCreationReservePointTypeT,\n    ApiTrailerTypeT,\n    OrderCreationReservePointTypeEnum,\n} from 'common/utils/api/models';\nimport { fetchCountrySettingsDict } from 'common/store/country-settings-dict/actions';\nimport { selectCountrySettingsByCountryCode } from 'common/store/country-settings-dict/selectors';\nimport OrderReservesShipperSuggest from 'common/layouts/NewOrderPage/ShipmentDetailsForm/OrderReservesShipperSuggest/OrderReservesShipperSuggest';\nimport SyncPointsWatcher from './SyncPointsWatcher/SyncPointsWatcher';\nimport findLast from 'lodash/findLast';\nimport FerryOnboardPointPicker from 'common/layouts/NewOrderPage/ShipmentDetailsForm/FerryOnboardPointPicker/FerryOnboardPointPicker';\nimport FerryDisembarkPointPicker from './FerryDisembarkPointPicker/FerryDisembarkPointPicker';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isBroker: boolean;\n};\n\nconst storage = new ValuesStorage(SHIPMENT_DETAIL_FORM_NAME);\n\nconst DEFAULT_TRAILER_DICT_ID: Record<TrailerTypeEnum, TrailerDictIdT | null> = {\n    [TrailerTypeEnum.box]: DEFAULT_BOX_TRAILER_ID,\n    [TrailerTypeEnum.tilt]: DEFAULT_TILT_TRAILER_ID,\n};\n\nexport const getDefaultRoutePointInitialValues = (): RoutePointFormValuesT => ({\n    [RoutePointFieldsEnum.fakeId]: uuidv4(),\n    [RoutePointFieldsEnum.type]: OrderCreationReservePointTypeEnum.shipment,\n    [RoutePointFieldsEnum.location]: null,\n    [RoutePointFieldsEnum.timeWindow]: null,\n    [RoutePointFieldsEnum.isBrokerTimeWindow]: false,\n});\n\nexport const DEFAULT_INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.shipper]: null,\n\n    [FieldsEnum.trailerType]: DEFAULT_TRAILER_TYPE,\n    [FieldsEnum.trailerDictId]: DEFAULT_TRAILER_DICT_ID[DEFAULT_TRAILER_TYPE],\n\n    [FieldsEnum.laneId]: null,\n\n    [FieldsEnum.excludedCountries]: [],\n\n    [FieldsEnum.route]: [\n        // init origin point\n        { ...getDefaultRoutePointInitialValues() },\n        // init destination point\n        { ...getDefaultRoutePointInitialValues() },\n    ],\n};\n\nconst restorableRoutePointTypeSet = new Set<ApiOrderCreationReservePointTypeT>([\n    OrderCreationReservePointTypeEnum.shipment,\n    OrderCreationReservePointTypeEnum.driveThrough,\n]);\n\nconst getInitialValues = (): FormValuesT => {\n    const storageValues: Partial<FormValuesT> = storage.getValues() || {};\n\n    const route = storageValues[FieldsEnum.route] || DEFAULT_INITIAL_VALUES[FieldsEnum.route];\n\n    return {\n        [FieldsEnum.shipper]: storageValues[FieldsEnum.shipper] || DEFAULT_INITIAL_VALUES[FieldsEnum.shipper],\n\n        [FieldsEnum.trailerType]:\n            storageValues[FieldsEnum.trailerType] || DEFAULT_INITIAL_VALUES[FieldsEnum.trailerType],\n        [FieldsEnum.trailerDictId]:\n            storageValues[FieldsEnum.trailerDictId] || DEFAULT_INITIAL_VALUES[FieldsEnum.trailerDictId],\n\n        [FieldsEnum.laneId]: storageValues[FieldsEnum.laneId] || DEFAULT_INITIAL_VALUES[FieldsEnum.laneId],\n\n        [FieldsEnum.excludedCountries]:\n            storageValues[FieldsEnum.excludedCountries] || DEFAULT_INITIAL_VALUES[FieldsEnum.excludedCountries],\n\n        [FieldsEnum.route]: route\n            .filter((routePoint) => {\n                return restorableRoutePointTypeSet.has(routePoint.type);\n            })\n            .map((routePoint) => {\n                const defaultRoutePointInitialValues = getDefaultRoutePointInitialValues();\n\n                return {\n                    ...routePoint,\n                    [RoutePointFieldsEnum.timeWindow]: defaultRoutePointInitialValues[RoutePointFieldsEnum.timeWindow],\n                    [RoutePointFieldsEnum.isBrokerTimeWindow]:\n                        defaultRoutePointInitialValues[RoutePointFieldsEnum.isBrokerTimeWindow],\n                };\n            }),\n    };\n};\n\nconst DEFAULT_TRAILERS_DICT = {\n    [TrailerTypeEnum.tilt]: [],\n    [TrailerTypeEnum.box]: [],\n};\n\nconst ShipmentDetailsForm: React.FC<PropsT> = React.memo((props) => {\n    const { isBroker } = props;\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const orderCreationPercentContext = useContext(OrderCreationPercentContext);\n    const syncShipmentDetailsFormValuesContext = React.useContext(SyncShipmentDetailsFormValuesContext);\n\n    const sideBarFooterAlertsContext = useContext(SideBarFooterAlertsContext);\n\n    const stepsContext = useContext(StepsContext);\n\n    const { trailersDict } = useTrailersDict();\n\n    const createRFQStatus = useSelector(selectCreateRFQRequest);\n    const createPriceOfferWithLaneStatus = useSelector(selectCreatePriceOfferWithLaneRequest);\n\n    const reserve = useSelector(selectReserve);\n    const reserveRequest = useSelector(selectReserveRequest);\n    const reservePreview = useSelector(selectReservePreview);\n    const reservePreviewRequest = useSelector(selectReservePreviewRequest);\n\n    const countriesSettingsByCode = useSelector(selectCountrySettingsByCountryCode);\n\n    const syncShipmentDetailsFormMapStateContext = React.useContext(SyncShipmentDetailsFormMapStateContext);\n\n    const validate = React.useCallback(\n        (values: FormValuesT) => {\n            return validateForm(t, values, {\n                isBroker,\n                countriesSettingsByCode,\n            });\n        },\n        [t, isBroker, countriesSettingsByCode],\n    );\n\n    const [initialValues, initialTouched, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues();\n\n        const allFields = Object.keys(values) as FieldsEnum[];\n\n        const touched = allFields.reduce<FormTouchedT>((acc, key) => {\n            if (key !== 'route') {\n                acc[key] = DEFAULT_INITIAL_VALUES[key] !== values[key];\n            }\n\n            return acc;\n        }, {});\n\n        if (!isEqual(DEFAULT_INITIAL_VALUES?.route, values?.route)) {\n            values?.route.forEach((routePointValue, index) => {\n                const allRoutePointFields = Object.keys(routePointValue) as RoutePointFieldsEnum[];\n\n                if (!touched.route) {\n                    touched.route = [];\n                }\n\n                const defaultRoutePointInitialValues = getDefaultRoutePointInitialValues();\n                touched.route[index] = allRoutePointFields.reduce<NonNullable<FormTouchedT['route']>[number]>(\n                    (acc, key) => {\n                        acc[key] = defaultRoutePointInitialValues[key] !== routePointValue[key];\n\n                        return acc;\n                    },\n                    {},\n                );\n            });\n        }\n\n        const errors = validateForm(t, values, {\n            isBroker,\n            countriesSettingsByCode,\n        });\n\n        return [values, touched, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const initialShipper = initialValues[FieldsEnum.shipper];\n    const initShipperOptions = React.useMemo(() => {\n        return initialShipper ? [initialShipper] : [];\n    }, [initialShipper]);\n\n    React.useEffect(() => {\n        const currentLocations = initialValues[FieldsEnum.route]?.map(\n            (routePointValues) => routePointValues[RoutePointFieldsEnum.location],\n        );\n\n        const points = currentLocations.map((location) => location?.point || null);\n\n        const boundingBox = getBoundingBox(points);\n\n        if (syncShipmentDetailsFormMapStateContext?.setInitialBoundingBox) {\n            syncShipmentDetailsFormMapStateContext.setInitialBoundingBox(boundingBox);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [initialValues, syncShipmentDetailsFormMapStateContext?.isMapInitialized]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        initialTouched,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            if (!reserve) {\n                logWarning('empty reserve');\n                return;\n            }\n\n            const apiActualOrderRequest = prepareApiActualOrderRequest(values, reserve);\n            if (!apiActualOrderRequest) {\n                logWarning('invalid apiActualOrderRequest', { values });\n                return;\n            }\n\n            const shipperId = values[FieldsEnum.shipper]?.id || null;\n\n            const laneId = values[FieldsEnum.laneId];\n            if (laneId) {\n                dispatch(createPriceOfferWithLaneRequest(apiActualOrderRequest, reserve, shipperId, laneId));\n            } else {\n                dispatch(createRFQ(apiActualOrderRequest, reserve, shipperId));\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    React.useEffect(() => {\n        syncShipmentDetailsFormValuesContext.syncFormValues(formik.values);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.values]);\n\n    React.useEffect(() => {\n        syncShipmentDetailsFormValuesContext.syncSetFieldValueCallback((name, value) => {\n            formik.setFieldValue(name, value);\n            formik.setFieldTouched(name);\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.setFieldValue, formik.setFieldTouched]);\n\n    React.useEffect(() => {\n        dispatch(changeReserveQuery(prepareApiReserveChanges({ ...formik.values })));\n        dispatch(fetchCountrySettingsDict());\n        return () => {\n            dispatch(resetReserveAndPreviewReserve());\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    // save values\n    React.useEffect(() => {\n        storage.saveValues(formik.values);\n    }, [formik.values]);\n\n    React.useEffect(() => {\n        const editingRoutePointErrorsIndexes: Array<number> = [];\n\n        formik.values[FieldsEnum.route]?.forEach((_, index) => {\n            const fieldName = getRoutePointFieldName(index, RoutePointFieldsEnum.location);\n\n            const hasError = !!get(formik.errors, fieldName);\n\n            const hasValue = !!get(formik.values, fieldName);\n\n            if (hasValue && hasError) {\n                editingRoutePointErrorsIndexes.push(index);\n            }\n        });\n\n        syncShipmentDetailsFormMapStateContext.setHasEditingRoutePointErrorIndexes(editingRoutePointErrorsIndexes);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.errors, formik.values]);\n\n    React.useEffect(() => {\n        const routeLength = formik.values[FieldsEnum.route]?.length || 0;\n\n        const percent = getterFormFillPercent([\n            FieldsEnum.trailerDictId,\n            ...times(routeLength).flatMap((routeIndex) => {\n                return [\n                    getRoutePointFieldName(routeIndex, RoutePointFieldsEnum.location),\n                    getRoutePointFieldName(routeIndex, RoutePointFieldsEnum.timeWindow),\n                ];\n            }),\n        ])(formik.values);\n\n        orderCreationPercentContext.setPercent(percent);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.values]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(changeReserveQuery({}));\n    }, [dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    useOnlyAvailableLane(formik);\n    useSyncReserveChannels(formik);\n    useEditRouteWatcher(formik);\n\n    const selectedLaneId = formik.values[FieldsEnum.laneId];\n    const hasSelectedLane = !!selectedLaneId;\n\n    const selectedLane = useSelectedLane(selectedLaneId);\n\n    useEffect(() => {\n        stepsContext.setHasSelectedContract(hasSelectedLane);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasSelectedLane]);\n\n    const isLockedByReserve = useReserveChannelLock();\n\n    const availableTrailersTypes = React.useMemo(() => {\n        return keys(trailersDict || DEFAULT_TRAILERS_DICT) as Array<TrailerTypeEnum>;\n    }, [trailersDict]);\n\n    const selectedTrailerType = formik.values[FieldsEnum.trailerType];\n\n    const handleChangeDictTrailerId = React.useCallback(\n        (_: string, trailerDictId: TrailerDictIdT | null): void => {\n            formik.setValues((prevValues) => ({\n                ...prevValues,\n                [FieldsEnum.trailerDictId]: trailerDictId,\n            }));\n\n            dispatch(\n                changeReserveQuery(\n                    prepareApiReserveChanges({\n                        [FieldsEnum.trailerDictId]: trailerDictId,\n                    }),\n                ),\n            );\n        },\n        [dispatch, formik],\n    );\n\n    const handleChangeLaneId = React.useCallback(\n        (_: string, laneId: ShipperContractLaneIdT | null): void => {\n            formik.setValues((prevValues) => ({\n                ...prevValues,\n                [FieldsEnum.laneId]: laneId,\n            }));\n\n            dispatch(\n                changeReserveQuery(\n                    prepareApiReserveChanges({\n                        [FieldsEnum.laneId]: laneId,\n                    }),\n                ),\n            );\n        },\n        [dispatch, formik],\n    );\n\n    // handle change traiiler type\n    const handleChangeTrailerTypeValue = React.useCallback(\n        (field: string, value: ApiTrailerTypeT): void => {\n            const trailerDictId = DEFAULT_TRAILER_DICT_ID[value];\n\n            formik.setValues((prevValues) => ({\n                ...prevValues,\n                [FieldsEnum.trailerType]: value,\n                [FieldsEnum.trailerDictId]: trailerDictId,\n            }));\n\n            dispatch(\n                changeReserveQuery(\n                    prepareApiReserveChanges({\n                        [FieldsEnum.trailerType]: value,\n                        [FieldsEnum.trailerDictId]: trailerDictId,\n                    }),\n                ),\n            );\n        },\n        [dispatch, formik],\n    );\n\n    const handleExpire = useCallback((): void => {\n        dispatch(changeReserveQuery({}));\n    }, [dispatch]);\n\n    const isAllowCreateRFQ = useSelector(selectIsAllowCreateRFQ);\n\n    const [isAllowShowReplacedLocationsAlert, setAllowShowReplacedLocationsAlert] = React.useState<boolean>(true);\n    useEffect(() => {\n        const hasPointsViolation = reserve?.points?.some((point) => point?.violated);\n        if (hasPointsViolation && isAllowShowReplacedLocationsAlert) {\n            sideBarFooterAlertsContext?.showAlert({\n                theme: AlertThemeEnum.tomatoRed,\n                content: <ReplacedLocationsAlertContent />,\n            });\n\n            setAllowShowReplacedLocationsAlert(false);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [reserve]);\n\n    const isDisabledPreviewReserve =\n        isLockedByReserve || reserveRequest.loading || !!reserveRequest.error || reservePreviewRequest.loading;\n\n    const isShowSuggestLoading = reserveRequest.loading || reservePreviewRequest.loading;\n\n    const isSubmitting = createRFQStatus.loading || createPriceOfferWithLaneStatus.loading;\n    const isLoadingReservePreview = reserveRequest.loading || reservePreviewRequest.loading;\n\n    const handleChangeRoutePointReserve: OnChangeRoutePointReserveT = (fakeId, changes) => {\n        dispatch(changeReserveQuery(prepareApiReserveChangesChangeRoutePoint(fakeId, changes)));\n    };\n\n    const handleManualSelectLocation = (location: LocationT | null, routePointIndex: number) => {\n        if (!location) {\n            return;\n        }\n\n        const currentLocations = formik.values[FieldsEnum.route]?.map(\n            (routePointValues) => routePointValues[RoutePointFieldsEnum.location],\n        );\n        currentLocations.splice(routePointIndex, 1, location);\n\n        const points = currentLocations.map((location) => location?.point || null);\n\n        const boundingBox = getBoundingBox(points);\n\n        if (syncShipmentDetailsFormMapStateContext?.syncMapSettings) {\n            syncShipmentDetailsFormMapStateContext.syncMapSettings({\n                center: null,\n                zoom: null,\n                boundingBox,\n            });\n        }\n    };\n\n    const isShowLaneSelectControl = !!reserve?.contractLanes?.length;\n\n    const delayedFocusOnLocationInput = (pointIndex: number, fakeId: string) => {\n        setTimeout(async () => {\n            const locationName = getRoutePointFieldName(pointIndex, RoutePointFieldsEnum.location);\n            const inputNodeSelector = `div[data-fake-id=\"${fakeId}\"] input[name=\"${locationName}\"]`;\n\n            let inputNode = null;\n            while (!inputNode) {\n                inputNode = document.querySelector(inputNodeSelector);\n\n                // @ts-expect-error\n                if (inputNode?.focus) {\n                    // @ts-expect-error\n                    inputNode?.focus();\n                }\n\n                const DELAY = MS_IN_SEC;\n                await new Promise<void>((resolve) => {\n                    setTimeout(() => {\n                        resolve();\n                    }, DELAY);\n                });\n            }\n        }, 0);\n    };\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(t, reserveRequest);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [t, reserveRequest.error]);\n\n    const asyncFormErrorsContext = useAsyncFormErrors(asyncErrors);\n    const { asyncFormErrors, resetAsyncFormErrors } = asyncFormErrorsContext;\n\n    const hasSelectedAnyTeamDrive = formik.values[FieldsEnum.route].some((values, index) => {\n        if (index === 0) {\n            // is urgent pickup\n            return false;\n        }\n\n        const previewTimeWindow = reservePreview?.timeWindows?.[index] || null;\n        return (\n            values.timeWindow?.start &&\n            previewTimeWindow?.regularTimeWindow?.start &&\n            values.timeWindow.start < previewTimeWindow.regularTimeWindow.start\n        );\n    });\n\n    const handleDeleteServicePoints = React.useCallback(\n        (routeValues: RoutePointFormValuesT[], remove: (index: number) => void) => {\n            const indexesToRemove: number[] = [];\n\n            routeValues.forEach((routePointValues, valuesPointIndex) => {\n                const type = routePointValues[RoutePointFieldsEnum.type];\n                if (\n                    type === OrderCreationReservePointTypeEnum.ferryDisembark ||\n                    type === OrderCreationReservePointTypeEnum.ferryOnboard\n                ) {\n                    indexesToRemove.push(valuesPointIndex);\n                }\n            });\n\n            indexesToRemove.sort((indexA, indexB) => indexB - indexA).forEach((index) => remove(index));\n        },\n        [],\n    );\n    return (\n        <FormAsyncErrorsContext.Provider value={asyncFormErrorsContext}>\n            <FormikContext.Provider value={formik}>\n                <form onSubmit={formik.handleSubmit}>\n                    <div className={cx('wrap')} data-test-selector=\"new-order-shipment-details\">\n                        {isBroker && (\n                            <div className={cx('block')}>\n                                <div className={cx('block__title')}>\n                                    {t('common:new-order-form.blocks.shipper.title')}\n                                </div>\n                                <div className={cx('block__content')}>\n                                    <FormikField\n                                        name={FieldsEnum.shipper}\n                                        error={formik.errors[FieldsEnum.shipper]}\n                                        meta={formik.getFieldMeta(FieldsEnum.shipper)}\n                                        asyncError={asyncFormErrors[FieldsEnum.shipper]}\n                                        resetAsyncError={resetAsyncFormErrors}\n                                        label={t('common:new-order-form.fields.shipper.label')}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <OrderReservesShipperSuggest\n                                                value={formik.values[FieldsEnum.shipper]?.id || null}\n                                                initialOptions={initShipperOptions}\n                                                hasClearControl\n                                                onSelect={(_, shipperDetails) => {\n                                                    formik.setValues((prevValues) => ({\n                                                        ...prevValues,\n                                                        [FieldsEnum.shipper]: shipperDetails,\n                                                    }));\n\n                                                    dispatch(\n                                                        changeReserveQuery(\n                                                            prepareApiReserveChanges({\n                                                                [FieldsEnum.shipper]: shipperDetails,\n                                                            }),\n                                                        ),\n                                                    );\n                                                }}\n                                                hasWarning={props.hasWarning}\n                                                hasError={props.hasError}\n                                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                                placeholder={t('common:new-order-form.fields.shipper.placeholder')}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                            />\n                                        )}\n                                    </FormikField>\n                                </div>\n                            </div>\n                        )}\n                        <div className={cx('block')}>\n                            <div className={cx('block__content')}>\n                                <div className={cx('field--trailer-type')}>\n                                    <TrailerTypeSwitcher\n                                        value={formik.values[FieldsEnum.trailerType]}\n                                        name={FieldsEnum.trailerType}\n                                        availableTypes={availableTrailersTypes}\n                                        setFieldValue={handleChangeTrailerTypeValue}\n                                    />\n                                </div>\n                                <div className={cx('field--trailer-mode')}>\n                                    <FormikField\n                                        name={FieldsEnum.trailerDictId}\n                                        error={formik.errors[FieldsEnum.trailerDictId]}\n                                        meta={formik.getFieldMeta(FieldsEnum.trailerDictId)}\n                                        label={t(`common:new-order-form.fields.trailer.${selectedTrailerType}.label`)}\n                                        setFieldValue={handleChangeDictTrailerId}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <DictTrailerDropdown\n                                                placeholder={t(\n                                                    `common:new-order-form.fields.trailer.${selectedTrailerType}.placeholder`,\n                                                )}\n                                                selectedTrailerType={formik.values[FieldsEnum.trailerType]}\n                                                value={formik.values[FieldsEnum.trailerDictId]}\n                                                onChange={props.onChange}\n                                                hasWarning={props.hasWarning}\n                                                hasError={props.hasError}\n                                                onFocus={props.onFocus}\n                                                onBlur={props.onBlur}\n                                            />\n                                        )}\n                                    </FormikField>\n                                </div>\n                            </div>\n                        </div>\n                        <FormikFieldArray<FormValuesT, typeof FieldsEnum.route> name={FieldsEnum.route}>\n                            {(values, formikArrayHelpers) => {\n                                const { remove, insert } = formikArrayHelpers;\n                                return (\n                                    <>\n                                        <SyncPointsWatcher formikArrayHelpers={formikArrayHelpers} />\n                                        {values.map((value, index) => {\n                                            const nextValue = values[index + 1] || null;\n                                            const isFirst = index === 0;\n                                            const isLast = index === values.length - 1;\n\n                                            const isAllowRemove = !isFirst && !isLast;\n                                            const routePointType = value[RoutePointFieldsEnum.type];\n                                            const fakeId = value[RoutePointFieldsEnum.fakeId];\n\n                                            let label = t('common:new-order-form.fields.pickup-delivery-point.label');\n                                            if (isFirst) {\n                                                label = t('common:new-order-form.fields.first-point.label');\n                                            }\n                                            if (isLast) {\n                                                label = t('common:new-order-form.fields.last-point.label');\n                                            }\n\n                                            const isBetweenOneFerryPoints =\n                                                nextValue?.type === OrderCreationReservePointTypeEnum.ferryDisembark &&\n                                                value?.type === OrderCreationReservePointTypeEnum.ferryOnboard;\n\n                                            const isShowAddPointControl = !isLast && !isBetweenOneFerryPoints;\n\n                                            return (\n                                                <>\n                                                    {routePointType ===\n                                                        OrderCreationReservePointTypeEnum.ferryOnboard && (\n                                                        <FerryOnboardPointPicker\n                                                            routePointIndex={index}\n                                                            reserve={reserve}\n                                                        />\n                                                    )}\n                                                    {routePointType ===\n                                                        OrderCreationReservePointTypeEnum.ferryDisembark && (\n                                                        <FerryDisembarkPointPicker\n                                                            routePointIndex={index}\n                                                            reserve={reserve}\n                                                        />\n                                                    )}\n                                                    {routePointType === OrderCreationReservePointTypeEnum.shipment && (\n                                                        <PickupOrDeliveryRoutePointPicker\n                                                            key={`point-${fakeId}`}\n                                                            label={label}\n                                                            routePointIndex={index}\n                                                            reserve={reserve}\n                                                            isShowSuggestLoading={isShowSuggestLoading}\n                                                            isDisabledPreviewReserve={isDisabledPreviewReserve}\n                                                            previewReserve={reservePreview}\n                                                            onChangeRoutePointReserve={handleChangeRoutePointReserve}\n                                                            onResetRoutePointLocation={() => {\n                                                                handleDeleteServicePoints(\n                                                                    formik.values[FieldsEnum.route],\n                                                                    remove,\n                                                                );\n                                                            }}\n                                                            onRemove={(index) => {\n                                                                dispatch(\n                                                                    changeReserveQuery(\n                                                                        prepareApiReserveChangesDeleteRoutePoint(\n                                                                            values[index].fakeId,\n                                                                        ),\n                                                                    ),\n                                                                );\n\n                                                                remove(index);\n                                                            }}\n                                                            isAllowRemove={isAllowRemove}\n                                                            onManualSelectLocation={handleManualSelectLocation}\n                                                            hasSelectedAnyTeamDrive={hasSelectedAnyTeamDrive}\n                                                        />\n                                                    )}\n                                                    {routePointType ===\n                                                        OrderCreationReservePointTypeEnum.driveThrough && (\n                                                        <DriveThroughRoutePointPicker\n                                                            key={`point-${fakeId}`}\n                                                            routePointIndex={index}\n                                                            reserve={reserve}\n                                                            isShowSuggestLoading={isShowSuggestLoading}\n                                                            isDisabledPreviewReserve={isDisabledPreviewReserve}\n                                                            onChangeRoutePointReserve={handleChangeRoutePointReserve}\n                                                            onResetRoutePointLocation={() => {\n                                                                handleDeleteServicePoints(\n                                                                    formik.values[FieldsEnum.route],\n                                                                    remove,\n                                                                );\n                                                            }}\n                                                            onRemove={(index) => {\n                                                                dispatch(\n                                                                    changeReserveQuery(\n                                                                        prepareApiReserveChangesDeleteRoutePoint(\n                                                                            values[index].fakeId,\n                                                                        ),\n                                                                    ),\n                                                                );\n\n                                                                remove(index);\n                                                            }}\n                                                            isAllowRemove={isAllowRemove}\n                                                            onManualSelectLocation={handleManualSelectLocation}\n                                                        />\n                                                    )}\n                                                    {isShowAddPointControl && (\n                                                        <DividerWithDropdownControl\n                                                            key={`divider-with-dropdown-${index}`}\n                                                            className={cx('route-points-divider')}\n                                                            overlayPosition={DropdownOverlayPositionEnum.bottomCenter}\n                                                            tooltipNode={t(\n                                                                'common:new-order-form.route-editor.add-point',\n                                                            )}\n                                                            options={[\n                                                                {\n                                                                    label: (\n                                                                        <DropdownControlOptionLabel\n                                                                            icon={\n                                                                                <HollowCircleIcon\n                                                                                    borderColor={\n                                                                                        StyleGuideColorsEnum.charcoal\n                                                                                    }\n                                                                                />\n                                                                            }\n                                                                            label={t(\n                                                                                'common:new-order-form.route-editor.options.add-pickup-delivery-point',\n                                                                            )}\n                                                                        />\n                                                                    ),\n                                                                    onSelect: () => {\n                                                                        const fakeId = uuidv4();\n\n                                                                        const newRoutePoint: RoutePointFormValuesT = {\n                                                                            [RoutePointFieldsEnum.fakeId]: fakeId,\n                                                                            [RoutePointFieldsEnum.type]:\n                                                                                OrderCreationReservePointTypeEnum.shipment,\n                                                                            [RoutePointFieldsEnum.location]: null,\n                                                                            [RoutePointFieldsEnum.timeWindow]: null,\n                                                                            [RoutePointFieldsEnum.isBrokerTimeWindow]:\n                                                                                false,\n                                                                        };\n\n                                                                        const beforeFakeId = findLast(\n                                                                            values.slice(0, index + 1),\n                                                                            (item) => {\n                                                                                return (\n                                                                                    item.type ===\n                                                                                        OrderCreationReservePointTypeEnum.shipment ||\n                                                                                    item.type ===\n                                                                                        OrderCreationReservePointTypeEnum.driveThrough\n                                                                                );\n                                                                            },\n                                                                        )?.fakeId;\n                                                                        if (!beforeFakeId) {\n                                                                            return;\n                                                                        }\n\n                                                                        insert(index + 1, newRoutePoint);\n\n                                                                        dispatch(\n                                                                            changeReserveQuery(\n                                                                                prepareApiReserveChangesAddRoutePoint(\n                                                                                    beforeFakeId,\n                                                                                    newRoutePoint,\n                                                                                ),\n                                                                            ),\n                                                                        );\n\n                                                                        delayedFocusOnLocationInput(index + 1, fakeId);\n                                                                    },\n                                                                },\n                                                                {\n                                                                    label: (\n                                                                        <DropdownControlOptionLabel\n                                                                            icon={\n                                                                                <HollowCircleIcon\n                                                                                    borderColor={\n                                                                                        StyleGuideColorsEnum.gray\n                                                                                    }\n                                                                                />\n                                                                            }\n                                                                            label={t(\n                                                                                'common:new-order-form.route-editor.options.add-driver-through-point',\n                                                                            )}\n                                                                        />\n                                                                    ),\n                                                                    onSelect: () => {\n                                                                        const fakeId = uuidv4();\n\n                                                                        const newRoutePoint: RoutePointFormValuesT = {\n                                                                            [RoutePointFieldsEnum.fakeId]: fakeId,\n                                                                            [RoutePointFieldsEnum.type]:\n                                                                                OrderCreationReservePointTypeEnum.driveThrough,\n                                                                            [RoutePointFieldsEnum.location]: null,\n                                                                            [RoutePointFieldsEnum.timeWindow]: null,\n                                                                            [RoutePointFieldsEnum.isBrokerTimeWindow]:\n                                                                                false,\n                                                                        };\n\n                                                                        const beforeFakeId = findLast(\n                                                                            values.slice(0, index + 1),\n                                                                            (item) => {\n                                                                                return (\n                                                                                    item.type ===\n                                                                                        OrderCreationReservePointTypeEnum.shipment ||\n                                                                                    item.type ===\n                                                                                        OrderCreationReservePointTypeEnum.driveThrough\n                                                                                );\n                                                                            },\n                                                                        )?.fakeId;\n\n                                                                        if (!beforeFakeId) {\n                                                                            return;\n                                                                        }\n\n                                                                        insert(index + 1, newRoutePoint);\n\n                                                                        dispatch(\n                                                                            changeReserveQuery(\n                                                                                prepareApiReserveChangesAddRoutePoint(\n                                                                                    beforeFakeId,\n                                                                                    newRoutePoint,\n                                                                                ),\n                                                                            ),\n                                                                        );\n\n                                                                        delayedFocusOnLocationInput(index + 1, fakeId);\n                                                                    },\n                                                                },\n                                                            ]}\n                                                        />\n                                                    )}\n                                                </>\n                                            );\n                                        })}\n                                    </>\n                                );\n                            }}\n                        </FormikFieldArray>\n                        {isShowLaneSelectControl && <div className={cx('lane-control-placeholder')} />}\n                    </div>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <FooterSideBarLayout isAbsolute hasPaddings topNode={<FooterSideBarAlertsLayout />}>\n                        {isShowLaneSelectControl && (\n                            <FormikField\n                                name={FieldsEnum.laneId}\n                                error={formik.errors[FieldsEnum.laneId]}\n                                meta={formik.getFieldMeta(FieldsEnum.laneId)}\n                                label={t('common:new-order-form.fields.lane.label')}\n                                setFieldValue={handleChangeLaneId}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <LaneDropdownInput\n                                        selectedValue={formik.values[FieldsEnum.laneId]}\n                                        placeholder={t('common:new-order-form.fields.lane.placeholder')}\n                                        onSelect={props.onChange}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        onFocus={props.onFocus}\n                                        onBlur={props.onBlur}\n                                        isLoading={reserveRequest.loading}\n                                        options={reserve?.contractLanes}\n                                        overlayPosition={DropdownOverlayPositionEnum.topCenter}\n                                        onReset={() => {\n                                            props.onChange(null);\n                                        }}\n                                    />\n                                )}\n                            </FormikField>\n                        )}\n                        <Button.Container>\n                            <Button\n                                isFullWidth\n                                isCenterContent\n                                theme={ButtonThemeEnum.primary}\n                                isDisabled={isSubmitting || isLoadingReservePreview || !isAllowCreateRFQ}\n                                type=\"submit\"\n                                testSelector=\"next-step\"\n                            >\n                                <SubmitButtonContent\n                                    hasReservePreview={!!reserve && !!reservePreview}\n                                    isSubmitting={isSubmitting}\n                                    isLoadingReservePreview={isLoadingReservePreview}\n                                    selectedLane={selectedLane}\n                                />\n                            </Button>\n                            <Button.Timer\n                                showTime={MS_IN_MIN}\n                                expireTime={reserve?.expireTime || null}\n                                tooltipMessage={t('common:new-order-form.reserve-timer.tooltip')}\n                                onExpire={handleExpire}\n                            />\n                        </Button.Container>\n                    </FooterSideBarLayout>\n                </form>\n            </FormikContext.Provider>\n        </FormAsyncErrorsContext.Provider>\n    );\n});\nexport default ShipmentDetailsForm;\n","import { EmissionClassEnum } from 'common/constants';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport { TruckStatusEnum } from 'common/utils/api/models';\n\nexport enum QueryFiltersKeysEnum {\n    model = 'model',\n    plateNumber = 'plateNumber',\n    country = 'country',\n    emissionClass = 'emissionClass',\n    status = 'status',\n\n    contractId = 'contractId',\n    contractName = 'contractName',\n\n    createdDateFrom = 'createdDateFrom',\n    createdDateTo = 'createdDateTo',\n    createdByUserId = 'createdByUserId',\n    createdByUserName = 'createdByUserName',\n\n    lastModifyDateFrom = 'lastModifyDateFrom',\n    lastModifyDateTo = 'lastModifyDateTo',\n    lastModifyByUserId = 'lastModifyByUserId',\n    lastModifyByUserName = 'lastModifyByUserName',\n\n    lastTelematicUpdateDateFrom = 'lastTelematicUpdateDateFrom',\n    lastTelematicUpdateDateTo = 'lastTelematicUpdateDateTo',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.plateNumber]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.model]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.country]: QueryParam.ArrayT<CountryCodeT>;\n    [QueryFiltersKeysEnum.emissionClass]: QueryParam.ArrayT<EmissionClassEnum>;\n    [QueryFiltersKeysEnum.status]: QueryParam.ArrayT<TruckStatusEnum>;\n    [QueryFiltersKeysEnum.contractId]: QueryParam.ArrayT<CarrierContractIdT>;\n    [QueryFiltersKeysEnum.contractName]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.lastModifyDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.lastModifyDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.lastModifyByUserId]: QueryParam.ArrayT<UserIdT>;\n    [QueryFiltersKeysEnum.lastModifyByUserName]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.createdDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByUserId]: QueryParam.ArrayT<UserIdT>;\n    [QueryFiltersKeysEnum.createdByUserName]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.lastTelematicUpdateDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.lastTelematicUpdateDateTo]: QueryParam.StringT;\n}>;\n\nexport enum QueryKeysEnum {\n    trucksPage = 'trucks-page',\n    trucksSort = 'trucks-sort',\n    trucksFilters = 'trucks-filters',\n    trucksTab = 'trucks-tab',\n}\n","import React from 'react';\n\nimport { CompanyContactT } from 'common/store/members/models';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\nimport Modal from 'common/components/Modal/Modal';\nimport { useSelector } from 'react-redux';\nimport { selectContactById, selectUpdateMemberRequest } from 'common/store/members/selectors';\nimport { logWarning } from 'common/utils/logger';\n\nexport type CancelInviteConfirmationDataT = {\n    contactId: CompanyContactT['id'];\n    partnerId: CompanyIdT;\n};\n\nexport type CancelInviteConfirmationPropsT = {\n    data: CancelInviteConfirmationDataT | null;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (partnerId: PartnerIdT, userId: UserIdT) => void;\n};\n\nconst TEST_SELECTOR = 'cancel-user-invite';\n\nconst CancelInviteConfirmation: React.FC<CancelInviteConfirmationPropsT> = React.memo((props) => {\n    const { data, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    const contactById = useSelector(selectContactById(data?.partnerId || null));\n    const updateMemberRequest = useSelector(selectUpdateMemberRequest(data?.partnerId || null));\n\n    if (!data?.partnerId || !data?.contactId) {\n        return null;\n    }\n\n    const contact = contactById[data.contactId];\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:team-members.dialogs.cancel-user-invite.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: updateMemberRequest.loading,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: updateMemberRequest.loading,\n                            onClick: () => {\n                                if (contact?.userId) {\n                                    onConfirm(data.partnerId, contact.userId);\n                                } else {\n                                    logWarning('empty user id');\n                                }\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:team-members.dialogs.cancel-user-invite.title', {\n                        email: contact?.email,\n                    })}\n                    message={t('common:team-members.dialogs.cancel-user-invite.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelInviteConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"NewOrderParametersSettingsForm__widget___Sht6I\",\"widget__inner\":\"NewOrderParametersSettingsForm__widget__inner___GyVWZ\",\"icon\":\"NewOrderParametersSettingsForm__icon____b8Mj\",\"duration\":\"NewOrderParametersSettingsForm__duration___qQUmP\",\"field\":\"NewOrderParametersSettingsForm__field___MwQDC\",\"field--range\":\"NewOrderParametersSettingsForm__field--range___nNHgy\",\"field-group\":\"NewOrderParametersSettingsForm__field-group___IkTaN\",\"fadeIn\":\"NewOrderParametersSettingsForm__fadeIn___qoivw\",\"blinking\":\"NewOrderParametersSettingsForm__blinking___WcvyI\"};","import { ApiLocationT } from 'common/utils/api/models';\nimport { formatLocation } from 'common/utils/formatters';\n\nexport const convertPointToLocation = (address: ApiLocationT | null): LocationT | null => {\n    if (!address) {\n        return null;\n    }\n\n    return {\n        address: formatLocation(address),\n        utcOffsetMinutes: null,\n        addressComponents: {\n            countryCode: address.country,\n            street1: address?.street1,\n            street2: address?.street2,\n            zipCode: address?.zipCode,\n            city: address?.city,\n        },\n        point: {\n            lat: address.latitude || 0,\n            lng: address.longitude || 0,\n        },\n    };\n};\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n    fillColor: StyleGuideColorsEnum;\n    opacity?: number;\n    size: number;\n    className?: string;\n};\n\nconst CargoUnitIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, fillColor, opacity, size, className } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path fillOpacity={opacity || 1} fill={fillColor} d=\"M4.167 15.833h11.666V6.667H4.167z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M17.117 4.358l-1.159-1.4A1.21 1.21 0 0015 2.5H5a1.24 1.24 0 00-.967.458l-1.15 1.4A1.638 1.638 0 002.5 5.417v10.416c0 .917.75 1.667 1.667 1.667h11.666c.917 0 1.667-.75 1.667-1.667V5.417c0-.4-.142-.775-.383-1.059zM5.2 4.167h9.6l.692.833H4.517l.683-.833zm10.633 11.666H4.167V6.667h11.666v9.166z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nCargoUnitIcon.displayName = 'CargoUnitIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default CargoUnitIcon;\n\nexport const CargoUnitIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.brandAccent5 : StyleGuideColorsEnum.light,\n            strokeColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.gray,\n        };\n    },\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getCargoUnitIconProps = (\n    preset:\n        | 'default'\n        | 'selected'\n        | 'schedule-event-regular'\n        | 'schedule-event-regular'\n        | 'schedule-event-past'\n        | 'schedule-event-future'\n        | 'schedule-event-accent',\n): Pick<PropsT, 'fillColor' | 'strokeColor'> => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                fillColor: StyleGuideColorsEnum.brandAccent5,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'schedule-event-future':\n        case 'schedule-event-regular': {\n            return {\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'schedule-event-past': {\n            return {\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.gray,\n            };\n        }\n        case 'schedule-event-accent': {\n            return {\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.charcoal,\n            };\n        }\n        default: {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"HeaderSideBarLayout__wrap___aJp7H\",\"wrap--hasBottomBorder\":\"HeaderSideBarLayout__wrap--hasBottomBorder___MVfM0\",\"wrap--hasBottomShadow\":\"HeaderSideBarLayout__wrap--hasBottomShadow___iLWjX\",\"fadeIn\":\"HeaderSideBarLayout__fadeIn___pI345\",\"blinking\":\"HeaderSideBarLayout__blinking___YbaUs\"};","// extracted by mini-css-extract-plugin\nexport default {\"upload-pseudo-row\":\"BaseCarrierContractsLayout__upload-pseudo-row___jaPR5\",\"upload-text\":\"BaseCarrierContractsLayout__upload-text___tHDY1\",\"navigation-tabs\":\"BaseCarrierContractsLayout__navigation-tabs___apLhv\",\"fadeIn\":\"BaseCarrierContractsLayout__fadeIn___XIK62\",\"blinking\":\"BaseCarrierContractsLayout__blinking___wWspx\"};","import React, { useContext } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RouteForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { MS_IN_HOUR, MS_IN_SEC } from 'common/utils/time';\n\nimport {\n    EXCLUDE_COUNTRIES_COLD_TIME,\n    FieldsEnum,\n    RouteFormValuesT,\n    RoutePointFieldsEnum,\n    RoutePointFormValuesT,\n} from './constants';\nimport validateForm from './validate-form';\nimport { FormikContext, useFormik } from 'formik';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\n\nimport { fetchCountrySettingsDict } from 'common/store/country-settings-dict/actions';\nimport { selectCountrySettingsByCountryCode } from 'common/store/country-settings-dict/selectors';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport Checkbox, { CheckboxThemeEnum } from 'design-system/components/Checkbox/Checkbox';\nimport DropPointPicker from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/DropPointPicker/DropPointPicker';\nimport DriveThroughRoutePointPicker from './DriveThroughRoutePointPicker/DriveThroughRoutePointPicker';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport FormikFieldArray from 'common/components/forms/FormikFieldArray/FormikFieldArray';\nimport { checkIsAvailableRoutePoint, getRoutePointFieldName } from './utils';\nimport { getInitialRoutePointFormValues, getInitialValues } from './get-initial-values';\nimport keyBy from 'lodash/keyBy';\nimport { OnChangeRouteStopAddressT, OnChangeRouteStopTimeWindowT, OnDeleteRouteStopReserveT } from './models';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n    MapRoutePointT,\n    OnChangeExcludedCountriesCallbackT,\n    OnDragEndDnDCallbackT,\n    OnMapClickCallbackT,\n    SyncRouteEditFormMapStateContext,\n} from '../contexts/sync-map-state';\nimport { BoundPointT } from 'common/components/maps/MapBound/MapBound';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport getBoundingBox from 'common/utils/get-bounding-box';\nimport { isNonNil } from 'common/utils';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\n\nimport InfoIcon from 'common/icons/InfoIcon';\nimport get from 'lodash/get';\nimport FerryOnboardPointPicker from './FerryOnboardPointPicker/FerryOnboardPointPicker';\nimport FerryDisembarkPointPicker from './FerryDisembarkPointPicker/FerryDisembarkPointPicker';\nimport SyncPointsWatcher from './SyncPointsWatcher/SyncPointsWatcher';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport TrucksSuggest from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/TrucksSuggest/TrucksSuggest';\nimport { DividerTrigger } from 'design-system/components/DividerWithDropdownControl/DividerTrigger/DividerTrigger';\nimport {\n    ContextRouteStopFakeIdT,\n    DeadheadPreviewContextResponseT,\n    DeadheadRouteStopTimeWindowT,\n    DeadheadRouteStopTypeEnum,\n} from 'broker-admin/store/deadhead-creation/models';\nimport {\n    selectDeadheadContext,\n    selectDeadheadContextRequest,\n    selectDeadheadPreviewRequest,\n    selectDeadheadPreviewResponse,\n    selectIsApplyingContextChanges,\n} from 'broker-admin/store/deadhead-creation/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport { changeDeadheadContext, DeadheadChangeEventT } from 'broker-admin/store/deadhead-creation/slice';\nimport { ApiTruckAssetT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport PickupPointPicker from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/PickupPointPicker/PickupPointPicker';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { deadheadCreationQueryModifyChannel } from 'broker-admin/store/deadhead-creation/channels';\nimport { contextSyncRouteStopsModifyChannel } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/hooks/use-sync-route-stops-channels';\nimport DeadheadCreationReceipt from './DeadheadCreationReceipt/DeadheadCreationReceipt';\nimport BigLaneIcon from 'common/icons/BigLaneIcon';\nimport { SyncAssetScheduleContext } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contexts/sync-asset-schedule';\nimport asyncValidations from './async-validations';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport moment from 'moment';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport debounce from 'lodash/debounce';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport { generatePointFakeId } from 'broker-admin/store/deadhead-creation/utils/generate-point-fake-id';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    initialFormValues: RouteFormValuesT | null;\n    onSubmit: (contextId: ContextIdT, formValues: RouteFormValuesT) => void;\n    doNotIncludeCostsInTransportOrder: boolean;\n    setDoNotIncludeCostsInTransportOrder: (doNotIncludeCostsInTransportOrder: boolean) => void;\n\n    onExpireContext: () => void;\n    isShowExpirationContextAlert: boolean;\n    onCloseExpirationContextAlert: () => void;\n};\n\nconst draggableRouteStopTypeSet = new Set<`${DeadheadRouteStopTypeEnum}`>([\n    DeadheadRouteStopTypeEnum.driveThrough,\n    DeadheadRouteStopTypeEnum.dropRoadTrain,\n    DeadheadRouteStopTypeEnum.dropTruck,\n]);\n\nconst RouteForm: React.FC<PropsT> = (props) => {\n    const {\n        initialFormValues,\n        onSubmit,\n        doNotIncludeCostsInTransportOrder,\n        setDoNotIncludeCostsInTransportOrder,\n        onExpireContext,\n        isShowExpirationContextAlert,\n        onCloseExpirationContextAlert,\n    } = props;\n\n    const syncMapStateContext = useContext(SyncRouteEditFormMapStateContext);\n\n    const context = useSelector(selectDeadheadContext);\n    const contextRequestStatus = useSelector(selectDeadheadContextRequest);\n\n    const contextPreview = useSelector(selectDeadheadPreviewResponse);\n    const contextPreviewRequestStatus = useSelector(selectDeadheadPreviewRequest);\n\n    const isApplyingContextChanges = useSelector(selectIsApplyingContextChanges);\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const countriesSettingsByCode = useSelector(selectCountrySettingsByCountryCode);\n    React.useEffect(() => {\n        dispatch(fetchCountrySettingsDict());\n    }, [dispatch]);\n\n    const { excludedCountries } = syncMapStateContext;\n    const validate = React.useMemo(() => {\n        return (values: RouteFormValuesT) =>\n            validateForm(t, values, {\n                countriesSettingsByCode,\n                excludedCountries,\n            });\n    }, [t, countriesSettingsByCode, excludedCountries]);\n\n    const contextId = contextPreview?.contextId || null;\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = initialFormValues || getInitialValues();\n        const errors = validateForm(t, values, { countriesSettingsByCode, excludedCountries });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    React.useEffect(() => {\n        dispatch(\n            changeDeadheadContext({\n                type: 'init',\n                initRoute: initialValues[FieldsEnum.route].map((routePoint) => {\n                    return {\n                        address: prepareLocation(routePoint[RoutePointFieldsEnum.location]),\n                        contextRouteStopFakeId: routePoint[RoutePointFieldsEnum.fakePointId],\n                    };\n                }),\n            }),\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<RouteFormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            if (!contextId) {\n                logWarning(`Failed to send form, empty contextId`);\n                return;\n            }\n\n            onSubmit(contextId, values);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    useOnlyChangesEffect(() => {\n        formik.validateForm();\n    }, [excludedCountries]);\n\n    const routeValue = formik.values[FieldsEnum.route];\n\n    React.useEffect(() => {\n        const routePoints = routeValue.map((routePointValues, index): MapRoutePointT => {\n            const id = routePointValues[RoutePointFieldsEnum.fakePointId];\n            const type = routePointValues[RoutePointFieldsEnum.type];\n            const location = routePointValues[RoutePointFieldsEnum.location];\n\n            const locationFieldName = `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.location}` as const;\n            const hasError = !!get(formik.errors, locationFieldName);\n\n            return {\n                id,\n                type,\n                number: index + 1,\n                location,\n                isDraggable: draggableRouteStopTypeSet.has(type),\n                hasError,\n            };\n        });\n\n        syncMapStateContext.setMapRoutePoints(routePoints);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [contextPreview, routeValue, formik.errors]);\n\n    React.useEffect(() => {\n        const boundPoints: Array<BoundPointT> = [];\n\n        const initialRoute = initialValues[FieldsEnum.route] || [];\n\n        initialRoute?.forEach((mapRoutePoint) => {\n            boundPoints.push([mapRoutePoint?.location?.point?.lat, mapRoutePoint?.location?.point?.lng]);\n        });\n\n        syncMapStateContext?.onSetMapBoundingBox?.callback?.(boundPoints);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [initialValues, syncMapStateContext?.onSetMapBoundingBox]);\n\n    const { setFieldValue, setFieldTouched, values } = formik;\n\n    const handleChangeExcludedCountriesCallback: OnChangeExcludedCountriesCallbackT = React.useCallback(\n        (excludedCountries) => {\n            dispatch(\n                changeDeadheadContext({\n                    type: 'set-excluded-countries',\n                    excludedCountries,\n                }),\n            );\n        },\n        [dispatch],\n    );\n\n    React.useEffect(() => {\n        syncMapStateContext?.setOnChangeExcludedCountriesCallback({\n            callback: debounce(handleChangeExcludedCountriesCallback, EXCLUDE_COUNTRIES_COLD_TIME),\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [handleChangeExcludedCountriesCallback, syncMapStateContext?.setOnChangeExcludedCountriesCallback]);\n\n    const selectedTruck = formik.values[FieldsEnum.truck] || null;\n    const hasSelectedTruck = Boolean(selectedTruck);\n\n    const onMapClickCallback: OnMapClickCallbackT = React.useCallback(\n        (location) => {\n            if (!hasSelectedTruck) {\n                return;\n            }\n\n            const route = values[FieldsEnum.route] || [];\n\n            const firstEmptyLocationRoutePointIndex = route.findIndex((routePoint) => {\n                return !checkIsAvailableRoutePoint(routePoint) && draggableRouteStopTypeSet.has(routePoint.type);\n            });\n\n            if (firstEmptyLocationRoutePointIndex === -1) {\n                return;\n            }\n\n            const locationFieldName =\n                `${FieldsEnum.route}.${firstEmptyLocationRoutePointIndex}.${RoutePointFieldsEnum.location}` as const;\n            setFieldValue(locationFieldName, location);\n            setFieldTouched(locationFieldName, true);\n\n            const preparedLocation = prepareLocation(location);\n            if (!preparedLocation) {\n                return;\n            }\n\n            const fakePointIdFieldName =\n                `${FieldsEnum.route}.${firstEmptyLocationRoutePointIndex}.${RoutePointFieldsEnum.fakePointId}` as const;\n            const fakePointId = getFieldFormValue(values, fakePointIdFieldName);\n\n            dispatch(\n                changeDeadheadContext({\n                    type: 'change-stop-location',\n                    contextRouteStopFakeId: fakePointId,\n                    address: preparedLocation,\n                }),\n            );\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [dispatch, values, setFieldValue, hasSelectedTruck],\n    );\n\n    React.useEffect(() => {\n        syncMapStateContext?.setOnMapClickCallback({ callback: onMapClickCallback });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onMapClickCallback, syncMapStateContext?.setOnMapClickCallback]);\n\n    const onDragEndDnDCallback: OnDragEndDnDCallbackT = React.useCallback(\n        (id, location) => {\n            const routeValue = values[FieldsEnum.route] || [];\n\n            const index = routeValue?.findIndex((routePointValues) => {\n                return id === routePointValues[RoutePointFieldsEnum.fakePointId];\n            });\n\n            const locationFieldName = `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.location}` as const;\n            setFieldValue(locationFieldName, location);\n            setFieldTouched(locationFieldName, true);\n\n            const preparedLocation = prepareLocation(location);\n            if (!preparedLocation) {\n                return;\n            }\n\n            const fakePointIdFieldName = `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.fakePointId}` as const;\n            const fakePointId = getFieldFormValue(values, fakePointIdFieldName);\n\n            dispatch(\n                changeDeadheadContext({\n                    type: 'change-stop-location',\n                    contextRouteStopFakeId: fakePointId,\n                    address: preparedLocation,\n                }),\n            );\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [dispatch, values, setFieldValue],\n    );\n\n    React.useEffect(() => {\n        syncMapStateContext?.setOnDragEndDnDCallback({ callback: onDragEndDnDCallback });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onDragEndDnDCallback, syncMapStateContext?.setOnDragEndDnDCallback]);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const refreshDeadheadCreationModifyHandler = React.useCallback(\n        (event: InferChannelEventT<typeof deadheadCreationQueryModifyChannel>) => {\n            const formValuesChanges: Partial<RouteFormValuesT> = {};\n\n            const oldRouteFormValues = formik.values[FieldsEnum.route];\n            let newRouteFormValues: typeof oldRouteFormValues = [];\n\n            if (!isEmpty(event?.correctedStops)) {\n                const correctedStopByFakeId = keyBy(event?.correctedStops, (stop) => {\n                    return stop.fakeId;\n                });\n\n                newRouteFormValues = oldRouteFormValues.map((routePointFormValues) => {\n                    const fakePointId = routePointFormValues[RoutePointFieldsEnum.fakePointId] || null;\n                    const correctedStop = correctedStopByFakeId[fakePointId as ContextRouteStopFakeIdT] || null;\n\n                    let correctedTimeWindow: DeadheadRouteStopTimeWindowT | null = null;\n\n                    let correctedDateTimeFrom: string | null = null;\n                    let correctedDateTimeTo: string | null = null;\n\n                    if (routePointFormValues.timeWindow) {\n                        correctedDateTimeFrom = correctedStop?.correctedDateTimeFrom || null;\n                        correctedDateTimeTo = correctedStop?.correctedDateTimeTo || null;\n                    } else {\n                        correctedDateTimeFrom =\n                            correctedStop?.correctedDateTimeFrom || correctedStop?.originalDateTimeFrom || null;\n                        correctedDateTimeTo =\n                            correctedStop?.correctedDateTimeTo || correctedStop?.originalDateTimeTo || null;\n                    }\n\n                    if (correctedDateTimeFrom && correctedDateTimeTo) {\n                        correctedTimeWindow = {\n                            start: correctedDateTimeFrom,\n                            end: correctedDateTimeTo,\n                        };\n                    }\n\n                    if (correctedTimeWindow) {\n                        return {\n                            ...routePointFormValues,\n                            [RoutePointFieldsEnum.timeWindow]: correctedTimeWindow,\n                        };\n                    }\n\n                    return routePointFormValues;\n                });\n\n                // first stop - pickup point\n                const firstStop = event?.correctedStops?.[0] || null;\n                if (firstStop) {\n                    newRouteFormValues[0] = {\n                        ...newRouteFormValues[0],\n                        ...getInitialRoutePointFormValues(firstStop),\n                    };\n                }\n\n                // last stop - drop point\n                const lastStop = event?.correctedStops?.[(event?.correctedStops?.length || 0) - 1] || null;\n                if (event?.correctedStops && event?.correctedStops.length > 1 && lastStop) {\n                    newRouteFormValues[newRouteFormValues.length - 1] = {\n                        ...newRouteFormValues[newRouteFormValues.length - 1],\n                        type: getInitialRoutePointFormValues(lastStop)?.type,\n                    };\n                }\n\n                formValuesChanges[FieldsEnum.route] = newRouteFormValues;\n            }\n\n            if (!isEmpty(formValuesChanges)) {\n                formik.setValues((prevValues) => ({\n                    ...prevValues,\n                    ...formValuesChanges,\n                }));\n            }\n\n            const hasPointsCorrection = Boolean(event.correctedStops?.length);\n            if (hasPointsCorrection && event.correctedStops) {\n                contextSyncRouteStopsModifyChannel.emit({\n                    correctedStops: event?.correctedStops,\n                    routeFormValues: newRouteFormValues,\n                    addedStopFakeIds: event?.addedStopFakeIds,\n                    deletedStopFakeIds: event?.deletedStopFakeIds,\n                    orderStopFakeIds: event?.orderStopFakeIds,\n                });\n            }\n        },\n        [formik],\n    );\n    useChannelSubscribe(deadheadCreationQueryModifyChannel, refreshDeadheadCreationModifyHandler);\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidations(t, formik.values, {\n            contextRequestStatus,\n            contextPreviewRequestStatus,\n        });\n    }, [t, formik.values, contextRequestStatus, contextPreviewRequestStatus]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    const isLoadingSubmit = contextRequestStatus.loading || contextPreviewRequestStatus.loading;\n    const hasAsyncErrors = !isEmpty(asyncErrors);\n    const isDisabledSubmit = isLoadingSubmit || isApplyingContextChanges || hasAsyncErrors;\n\n    const delayedFocusOnLocationInput = (pointIndex: number, id: string) => {\n        setTimeout(async () => {\n            const locationName = getRoutePointFieldName(pointIndex, RoutePointFieldsEnum.location);\n            const inputNodeSelector = `div[data-point-id=\"${id}\"] input[name=\"${locationName}\"]`;\n\n            let inputNode = null;\n            while (!inputNode) {\n                inputNode = document.querySelector(inputNodeSelector);\n\n                // @ts-expect-error\n                if (inputNode?.focus) {\n                    // @ts-expect-error\n                    inputNode?.focus();\n                }\n\n                const DELAY = MS_IN_SEC;\n                await new Promise<void>((resolve) => {\n                    setTimeout(() => {\n                        resolve();\n                    }, DELAY);\n                });\n            }\n        }, 0);\n    };\n\n    const handleManualSelectLocation = (location: LocationT | null, routePointIndex: number) => {\n        if (!location) {\n            return;\n        }\n\n        const route = formik.values[FieldsEnum.route] || [];\n\n        const currentLocations = route.map((routePointValues) => routePointValues[RoutePointFieldsEnum.location]);\n        currentLocations[routePointIndex] = location;\n\n        const points = currentLocations.map((location) => location?.point).filter(isNonNil);\n\n        const boundingBox = getBoundingBox(points);\n        syncMapStateContext?.onSetMapBoundingBox?.callback?.(boundingBox);\n    };\n\n    const handleChangeRoutePointAddress: OnChangeRouteStopAddressT = (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        routePointIndex,\n        contextRouteStopFakeId,\n        changes,\n    ) => {\n        dispatch(\n            changeDeadheadContext({\n                type: 'change-stop-location',\n                contextRouteStopFakeId,\n                address: changes?.address,\n            }),\n        );\n    };\n\n    const handleChangeRoutePointTimeWindow: OnChangeRouteStopTimeWindowT = (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        routePointIndex,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        contextRouteStopFakeId,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        changes,\n    ) => {\n        dispatch(\n            changeDeadheadContext({\n                type: 'set-arrival-date-time',\n                arrivalDateTime: changes.timeWindow?.start,\n            }),\n        );\n    };\n\n    const handleRemoveRoutePointReserve: OnDeleteRouteStopReserveT = (routePointIndex, contextRouteStopFakeId) => {\n        dispatch(\n            changeDeadheadContext({\n                type: 'delete-route-point',\n                contextRouteStopFakeId,\n            }),\n        );\n    };\n\n    const footerTopNode = React.useMemo(() => {\n        if (isShowExpirationContextAlert) {\n            return (\n                <Alert\n                    theme={AlertThemeEnum.orange}\n                    className={cx('context-expiration-alert')}\n                    icon={<InfoIcon fillColor={StyleGuideColorsEnum.white} />}\n                    size={AlertSizeEnum.medium}\n                    onClose={onCloseExpirationContextAlert}\n                >\n                    {t('deadhead-creation.context-expiration.alert')}\n                </Alert>\n            );\n        }\n\n        return null;\n    }, [t, isShowExpirationContextAlert, onCloseExpirationContextAlert]);\n\n    const handleChangeTruck = (_: string, truck: ApiTruckAssetT | null) => {\n        let valueChanges: Partial<RouteFormValuesT> = {\n            [FieldsEnum.truck]: truck,\n        };\n\n        const truckId = (!truck?.invalidReason && truck?.id) || null;\n        let event: DeadheadChangeEventT = {\n            type: 'set-truck-id',\n            truckId,\n        };\n\n        if (truck) {\n            valueChanges = {\n                ...valueChanges,\n            };\n        } else {\n            valueChanges = {\n                ...valueChanges,\n                [FieldsEnum.route]: initialValues[FieldsEnum.route],\n            };\n            event = {\n                ...event,\n                resetRoute: initialValues[FieldsEnum.route].map((routePoint) => {\n                    return {\n                        address: prepareLocation(routePoint[RoutePointFieldsEnum.location]),\n                        contextRouteStopFakeId: routePoint[RoutePointFieldsEnum.fakePointId],\n                    };\n                }),\n            };\n        }\n\n        formik.setValues((values) => ({\n            ...values,\n            ...valueChanges,\n        }));\n\n        dispatch(changeDeadheadContext(event));\n    };\n\n    const arrivalDate = routeValue[routeValue.length - 1]?.timeWindow?.start || null;\n    const currentRange = React.useMemo(() => {\n        if (!arrivalDate) {\n            return null;\n        }\n\n        const parsedArrivalDate = moment.parseZone(arrivalDate).toDate();\n\n        return (\n            context?.ranges?.find((range) => {\n                const parsedFrom = moment.parseZone(range.from).toDate();\n                if (!range?.to && parsedFrom) {\n                    return parsedFrom <= parsedArrivalDate;\n                }\n\n                if (range?.to && parsedFrom) {\n                    const parsedTo = moment.parseZone(range.to).toDate();\n                    return parsedFrom <= parsedArrivalDate && parsedTo >= parsedArrivalDate;\n                }\n\n                return false;\n            }) || null\n        );\n    }, [context, arrivalDate]);\n\n    const handleOpenTrailerDetails = (partnerId: PartnerIdT, trailerId: TrailerIdT) => {\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            partnerId,\n            trailerId,\n        });\n    };\n\n    const stopByFakeId = React.useMemo(() => {\n        return keyBy(contextPreview?.stops, (stop) => stop.fakeId);\n    }, [contextPreview]);\n\n    const [prevContextPreview, setPrevContextPreview] = React.useState<DeadheadPreviewContextResponseT | null>(null);\n    React.useEffect(() => {\n        setPrevContextPreview((prevContextPreview) => {\n            return contextPreview || prevContextPreview;\n        });\n    }, [contextPreview]);\n\n    useOnlyChangesEffect(() => {\n        if (!hasSelectedTruck) {\n            // reset route\n            setPrevContextPreview(null);\n            formik.setFieldValue(FieldsEnum.route, initialValues.route);\n        }\n    }, [hasSelectedTruck]);\n\n    const syncAssetScheduleContext = React.useContext(SyncAssetScheduleContext);\n    React.useEffect(() => {\n        syncAssetScheduleContext.setTruckId(selectedTruck?.id || null);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [syncAssetScheduleContext.setTruckId, selectedTruck]);\n\n    const possibleContextPreview = contextPreview || prevContextPreview || null;\n\n    return (\n        <div className={cx('wrap')}>\n            <FormikContext.Provider value={formik}>\n                <form onSubmit={formik.handleSubmit}>\n                    <div className={cx('form')}>\n                        <FormikField\n                            className={cx('field', 'field--truck')}\n                            name={FieldsEnum.truck}\n                            error={formik.errors[FieldsEnum.truck]}\n                            meta={formik.getFieldMeta(FieldsEnum.truck)}\n                            label={t('assignment.fields.truck.label')}\n                            asyncError={asyncFormErrors[FieldsEnum.truck]}\n                            resetAsyncError={resetAsyncFormErrors}\n                            setFieldValue={handleChangeTruck}\n                            setFieldTouched={formik.setFieldTouched}\n                            isForceShowWarning\n                        >\n                            {(props) => (\n                                <TrucksSuggest\n                                    initialValue={formik.initialValues[FieldsEnum.truck]}\n                                    value={formik.values[FieldsEnum.truck]}\n                                    onSelect={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    placeholder={t('assignment.fields.truck.placeholder')}\n                                />\n                            )}\n                        </FormikField>\n                        {hasSelectedTruck ? (\n                            <>\n                                <FormikFieldArray<RouteFormValuesT, typeof FieldsEnum.route> name={FieldsEnum.route}>\n                                    {(values, formikArrayHelpers) => {\n                                        const { remove, insert } = formikArrayHelpers;\n\n                                        return (\n                                            <>\n                                                <SyncPointsWatcher formikArrayHelpers={formikArrayHelpers} />\n                                                {values.map((value, index) => {\n                                                    const nextValue = values[index + 1] || null;\n\n                                                    const isLast = index === values.length - 1;\n\n                                                    const routePointType = value[RoutePointFieldsEnum.type];\n                                                    const fakePointId = value[RoutePointFieldsEnum.fakePointId];\n\n                                                    const routeStop = stopByFakeId[fakePointId] || null;\n\n                                                    const isBetweenOneFerryPoints =\n                                                        nextValue?.type === DeadheadRouteStopTypeEnum.ferryDisembark &&\n                                                        value?.type === DeadheadRouteStopTypeEnum.ferryOnboard;\n\n                                                    const isShowAddPointControl = !isLast && !isBetweenOneFerryPoints;\n\n                                                    return (\n                                                        <>\n                                                            {(routePointType ===\n                                                                DeadheadRouteStopTypeEnum.pickupTruck ||\n                                                                routePointType ===\n                                                                    DeadheadRouteStopTypeEnum.pickupRoadTrain) && (\n                                                                <PickupPointPicker\n                                                                    key={`point-${fakePointId}`}\n                                                                    className={cx('route-point-fields')}\n                                                                    routePointIndex={index}\n                                                                    currentRange={currentRange}\n                                                                    onOpenTrailerDetails={handleOpenTrailerDetails}\n                                                                />\n                                                            )}\n                                                            {(routePointType === DeadheadRouteStopTypeEnum.dropTruck ||\n                                                                routePointType ===\n                                                                    DeadheadRouteStopTypeEnum.dropRoadTrain) && (\n                                                                <DropPointPicker\n                                                                    key={`point-${fakePointId}`}\n                                                                    className={cx('route-point-fields')}\n                                                                    routePointIndex={index}\n                                                                    routeStop={routeStop}\n                                                                    currentRange={currentRange}\n                                                                    ranges={context?.ranges || null}\n                                                                    onChangeRoutePointAddress={\n                                                                        handleChangeRoutePointAddress\n                                                                    }\n                                                                    onChangeRoutePointTimeWindow={\n                                                                        handleChangeRoutePointTimeWindow\n                                                                    }\n                                                                    onManualSelectLocation={handleManualSelectLocation}\n                                                                />\n                                                            )}\n                                                            {routePointType ===\n                                                                DeadheadRouteStopTypeEnum.driveThrough && (\n                                                                <DriveThroughRoutePointPicker\n                                                                    key={`point-${fakePointId}`}\n                                                                    className={cx('route-point-fields')}\n                                                                    routePointIndex={index}\n                                                                    onChangeRoutePointAddress={\n                                                                        handleChangeRoutePointAddress\n                                                                    }\n                                                                    onManualSelectLocation={handleManualSelectLocation}\n                                                                    onRemove={(\n                                                                        routePointIndex,\n                                                                        contextRoutePointHash,\n                                                                    ) => {\n                                                                        handleRemoveRoutePointReserve(\n                                                                            routePointIndex,\n                                                                            contextRoutePointHash,\n                                                                        );\n                                                                        remove(routePointIndex);\n                                                                    }}\n                                                                />\n                                                            )}\n                                                            {routePointType ===\n                                                                DeadheadRouteStopTypeEnum.ferryOnboard && (\n                                                                <FerryOnboardPointPicker\n                                                                    key={`point-${fakePointId}`}\n                                                                    className={cx('route-point-fields')}\n                                                                    routePointIndex={index}\n                                                                />\n                                                            )}\n                                                            {routePointType ===\n                                                                DeadheadRouteStopTypeEnum.ferryDisembark && (\n                                                                <FerryDisembarkPointPicker\n                                                                    key={`point-${fakePointId}`}\n                                                                    className={cx('route-point-fields')}\n                                                                    routePointIndex={index}\n                                                                />\n                                                            )}\n                                                            {isShowAddPointControl && (\n                                                                <DividerTrigger\n                                                                    key={`divider-with-dropdown-${index}`}\n                                                                    className={cx('route-points-divider')}\n                                                                    onClick={() => {\n                                                                        const fakeId =\n                                                                            generatePointFakeId('manual-added');\n\n                                                                        const newRoutePoint: RoutePointFormValuesT = {\n                                                                            [RoutePointFieldsEnum.fakePointId]: fakeId,\n                                                                            [RoutePointFieldsEnum.type]:\n                                                                                DeadheadRouteStopTypeEnum.driveThrough,\n                                                                            [RoutePointFieldsEnum.location]: null,\n                                                                            [RoutePointFieldsEnum.timeWindow]: null,\n                                                                        };\n\n                                                                        insert(index + 1, newRoutePoint);\n\n                                                                        const beforeFakePointIds = [...values]\n                                                                            .slice(0, index + 1)\n                                                                            .map(\n                                                                                (routePoint) =>\n                                                                                    routePoint[\n                                                                                        RoutePointFieldsEnum.fakePointId\n                                                                                    ],\n                                                                            );\n\n                                                                        dispatch(\n                                                                            changeDeadheadContext({\n                                                                                type: 'insert-route-point',\n                                                                                beforeContextRouteStopFakeIds:\n                                                                                    beforeFakePointIds,\n                                                                                contextRouteStopFakeId: fakeId,\n                                                                                address: null,\n                                                                            }),\n                                                                        );\n\n                                                                        delayedFocusOnLocationInput(index + 1, fakeId);\n                                                                    }}\n                                                                />\n                                                            )}\n                                                        </>\n                                                    );\n                                                })}\n                                            </>\n                                        );\n                                    }}\n                                </FormikFieldArray>\n                                <div className={cx('receipt-wrap')}>\n                                    {!possibleContextPreview &&\n                                        (contextPreviewRequestStatus.loading || contextRequestStatus.loading) && (\n                                            <div className={cx('receipt-wrap__loader')}>\n                                                <ControlLoaderWithShadow fillColor={StyleGuideColorsEnum.light} />\n                                            </div>\n                                        )}\n                                    {possibleContextPreview && (\n                                        <DeadheadCreationReceipt\n                                            className={cx('receipt')}\n                                            contextPreview={possibleContextPreview}\n                                            contextPreviewRequestStatus={contextPreviewRequestStatus}\n                                            contextRequestStatus={contextRequestStatus}\n                                        />\n                                    )}\n                                </div>\n                            </>\n                        ) : (\n                            <div className={cx('route-placeholder')}>\n                                <BigLaneIcon className={cx('route-placeholder__icon')} />\n                                <div className={cx('route-placeholder__text')}>\n                                    {t('deadhead-creation.receipt.placeholder.empty-truck')}\n                                </div>\n                            </div>\n                        )}\n                    </div>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    {Boolean(possibleContextPreview) && (\n                        <FooterSideBarLayout hasPaddings hasShadow topNode={footerTopNode}>\n                            <div className={cx('footer-content')}>\n                                <Checkbox\n                                    className={cx('not-include-costs')}\n                                    theme={CheckboxThemeEnum.orange}\n                                    checked={doNotIncludeCostsInTransportOrder}\n                                    label={t('deadhead-creation.route-form.fields.not-include-costs.label')}\n                                    onChange={setDoNotIncludeCostsInTransportOrder}\n                                />\n                                <div className={cx('actions')}>\n                                    <Button.Container className={cx('action')}>\n                                        <Button\n                                            isFullWidth\n                                            isCenterContent\n                                            theme={ButtonThemeEnum.primary}\n                                            isDisabled={isDisabledSubmit}\n                                            isLoading={isLoadingSubmit}\n                                            type=\"submit\"\n                                        >\n                                            {t('deadhead-creation.route-form.submit')}\n                                        </Button>\n                                        {context?.expireTime && (\n                                            <Button.Timer\n                                                showTime={MS_IN_HOUR}\n                                                expireTime={context?.expireTime || null}\n                                                tooltipPosition={TooltipPositionEnum.topRight}\n                                                tooltipMessage={t('deadhead-creation.context-expiration.tooltip')}\n                                                onExpire={onExpireContext}\n                                            />\n                                        )}\n                                    </Button.Container>\n                                </div>\n                            </div>\n                        </FooterSideBarLayout>\n                    )}\n                </form>\n            </FormikContext.Provider>\n        </div>\n    );\n};\n\nexport default RouteForm;\n","import { SEC_IN_HOUR } from 'common/utils/time';\nimport isNumber from 'lodash/isNumber';\n\nexport const checkShouldShowLayover = (\n    layoverSeconds: number | null | undefined,\n    layoverCost: number | null | undefined,\n): boolean => {\n    return (isNumber(layoverSeconds) && layoverSeconds > SEC_IN_HOUR) || (isNumber(layoverCost) && layoverCost > 0);\n};\n\nexport const costToString = (cost: number | null | undefined) => {\n    return isNumber(cost) ? String(cost) : '';\n};\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { TrackPointT } from 'common/store/asset-track/models';\n\nexport const FETCH_TRACK_BY_ORDER = 'common/asset-track/FETCH_TRACK_BY_ORDER';\nexport const FETCH_TRACK_BY_TRANSPORT_ORDERS = 'common/asset-track/FETCH_TRACK_BY_TRANSPORT_ORDERS';\nexport const FETCH_TRACK_REQUEST_BEGIN = 'common/asset-track/FETCH_TRACK_REQUEST_BEGIN';\nexport const FETCH_TRACK_REQUEST_ERROR = 'common/asset-track/FETCH_TRACK_REQUEST_ERROR';\nexport const FETCH_TRACK_REQUEST_SUCCESS = 'common/asset-track/FETCH_TRACK_REQUEST_SUCCESS';\n\nexport type FetchTrackByOrderActionT = {\n    type: typeof FETCH_TRACK_BY_ORDER;\n    orderId: OrderIdT;\n};\n\nexport type FetchTrackByTransportOrderActionT = {\n    type: typeof FETCH_TRACK_BY_TRANSPORT_ORDERS;\n    transportOrderIds: Array<TransportOrderIdT>;\n};\n\nexport type FetchTrackRequestBeginActionT = {\n    type: typeof FETCH_TRACK_REQUEST_BEGIN;\n    hash: HashT;\n};\n\nexport type FetchTrackRequestErrorActionT = {\n    type: typeof FETCH_TRACK_REQUEST_ERROR;\n    error: Error;\n    hash: HashT;\n};\n\nexport type FetchTrackRequestSuccessActionT = {\n    type: typeof FETCH_TRACK_REQUEST_SUCCESS;\n    points: Array<TrackPointT> | null;\n    hash: HashT;\n};\n\nexport type AssetTrackActionT =\n    | FetchTrackRequestBeginActionT\n    | FetchTrackRequestErrorActionT\n    | FetchTrackRequestSuccessActionT;\n\nexport type AssetTrackItemStateT = {\n    points: Array<TrackPointT>;\n    requestStatus: RequestStatusT;\n};\n\nexport type AssetTrackStateT = Record<HashT, AssetTrackItemStateT>;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TruckDetails.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectTrucksDictById } from 'common/store/trucks-dict/selectors';\nimport { fetchTrucksDict } from 'common/store/trucks-dict/actions';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport { AssetTypeEnum, CurrencyEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { ApiTruckDetailsT } from 'common/store/trucks/models';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport LastGPSPositionAlert from 'common/components/LastGPSPositionAlert/LastGPSPositionAlert';\nimport { fetchCarrierContracts } from 'common/store/carrier-contracts/actions';\nimport {\n    selectCarrierContractById,\n    selectFetchCarrierContractsRequest,\n} from 'common/store/carrier-contracts/selectors';\nimport { getTruckDictTypeLabel } from 'common/store/trucks-dict/utils';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport LinkedTrailerAlert from 'common/layouts/CommonEditableTruckDetailsLayout/LinkedTrailerAlert/LinkedTrailerAlert';\nimport Money from 'common/components/Money/Money';\nimport { CountryCodeT, TruckStatusEnum } from 'common/utils/api/models';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DetailsIcon from 'common/icons/DetailsIcon';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\nimport TruckActionHistory from 'common/layouts/CommonEditableTruckDetailsLayout/TruckActionHistory/TruckActionHistory';\nimport { checkIsApiCarrierTruckDetails } from 'common/store/trucks/type-guards';\nimport ArchiveReasonAlert from 'common/components/ArchiveReasonAlert/ArchiveReasonAlert';\nimport { AlertGroup } from 'common/layouts/AlertGroup/AlertGroup';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    isLoading: boolean;\n    truckDetails: ApiTruckDetailsT | null;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n    onOpenContactDetails: (contractId: CarrierContractIdT) => void;\n};\n\nconst TruckDetails: React.FC<PropsT> = (props) => {\n    const { partnerId, truckDetails, isLoading, onOpenUserDetails, onOpenTrailerDetails, onOpenContactDetails } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const countryByCode = useSelector(selectCountriesByCode);\n    const trucksDictById = useSelector(selectTrucksDictById);\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n        dispatch(fetchTrucksDict());\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        dispatch(fetchCarrierContracts(partnerId));\n    }, [dispatch, partnerId]);\n\n    const fetchContractsRequests = useSelector(selectFetchCarrierContractsRequest(partnerId));\n    const contractById = useSelector(selectCarrierContractById(partnerId));\n    const contract = contractById[truckDetails?.contractId as string] || null;\n\n    const ratePerKm = truckDetails?.contractId ? contract?.truckRateKm : truckDetails?.ratePerKm;\n\n    const truck = trucksDictById?.[truckDetails?.dictTruckInfo?.id as string];\n\n    let contractNode: React.ReactNode = null;\n\n    if (fetchContractsRequests?.loading) {\n        contractNode = <ControlLoaderIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.brandAccent} />;\n    }\n\n    if (!fetchContractsRequests?.loading && truckDetails && truckDetails?.contractId) {\n        contractNode = t('common:dedicated.contract', {\n            number: contract?.name || '',\n        });\n    }\n\n    if (!fetchContractsRequests?.loading && truckDetails && !truckDetails?.contractId) {\n        contractNode = t('common:dedicated.none');\n    }\n\n    let contractRightNode: React.ReactNode = null;\n    if (contract?.id) {\n        contractRightNode = (\n            <TransparentTrigger\n                spaces=\"xs\"\n                onClick={() => {\n                    onOpenContactDetails(contract.id);\n                }}\n                leftIcon={<DetailsIcon strokeColor={StyleGuideColorsEnum.gray} />}\n                reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n            />\n        );\n    }\n\n    return (\n        <div className={cx('wrap')}>\n            <AlertGroup className={cx('alerts')}>\n                {truckDetails?.linkedTrailerId && (\n                    <LinkedTrailerAlert\n                        trailerId={truckDetails?.linkedTrailerId}\n                        plateNumber={truckDetails?.linkedTrailerPlateNumber}\n                        onOpenTrailerDetails={onOpenTrailerDetails}\n                    />\n                )}\n                {truckDetails?.status !== TruckStatusEnum.archived && (\n                    <LastGPSPositionAlert\n                        companyId={partnerId}\n                        assetType={AssetTypeEnum.truck}\n                        plateNumber={truckDetails?.plateNumber || ''}\n                        isDedicated={!!truckDetails?.contractId}\n                    />\n                )}\n                {truckDetails?.status === TruckStatusEnum.archived && !!truckDetails?.archivingReason && (\n                    <ArchiveReasonAlert reason={truckDetails.archivingReason} />\n                )}\n            </AlertGroup>\n            {isLoading && <LoaderOverlay />}\n            <div className={cx('fields')}>\n                <FieldGroup>\n                    <ReadOnlyField\n                        className={cx('field--plate-number')}\n                        label={t('common:trucks-page.add-truck.fields.plate-number.label')}\n                        value={truckDetails?.plateNumber || ''}\n                    />\n                    <FieldGroupEmptyItem className={cx('field', 'field--placeholder')} />\n                </FieldGroup>\n                <FieldGroup>\n                    <ReadOnlyField\n                        className={cx('field--country-code')}\n                        icon={<FlagIcon countryCode={truckDetails?.countryCode} />}\n                        label={t('common:trucks-page.add-truck.fields.country.label')}\n                        value={countryByCode?.[truckDetails?.countryCode as CountryCodeT]?.userLangDisplayName}\n                    />\n                    <ReadOnlyField\n                        className={cx('field--vin')}\n                        label={t('common:trucks-page.add-truck.fields.truck-vin.label')}\n                        value={truckDetails?.vin || ''}\n                    />\n                </FieldGroup>\n                <ReadOnlyField\n                    icon={\n                        <TruckIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                        />\n                    }\n                    label={t('common:trucks-page.add-truck.fields.truck-model.label')}\n                    value={getTruckDictTypeLabel(truck)}\n                />\n                <FieldGroup>\n                    <ReadOnlyField\n                        icon={<EmissionIcon strokeColor={StyleGuideColorsEnum.charcoal} />}\n                        className={cx('field--emission-standard')}\n                        label={t('common:trucks-page.add-truck.fields.emission-standard.label')}\n                        value={<EmissionClassLabel emissionClass={truckDetails?.dictTruckInfo?.emissionClass} />}\n                    />\n                    <ReadOnlyField\n                        className={cx('field--cabin-color')}\n                        label={t('common:trucks-page.add-truck.fields.cabin-color.label')}\n                        value={truckDetails?.cabinColor || ''}\n                    />\n                </FieldGroup>\n                <FieldGroup>\n                    <ReadOnlyField\n                        className={cx('field--contract')}\n                        label={t('common:trucks-page.add-truck.fields.contract.label')}\n                        value={contractNode}\n                        tooltipPosition={TooltipPositionEnum.centerRight}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                                {t('common:trucks-page.add-truck.fields.contract.tooltip')}\n                            </TooltipContent>\n                        }\n                        rightNode={contractRightNode}\n                    />\n                    <ReadOnlyField\n                        className={cx('field--rate')}\n                        label={t('common:trucks-page.add-truck.fields.rate.label')}\n                        value={<Money amount={ratePerKm} currency={CurrencyEnum.EUR} />}\n                    />\n                </FieldGroup>\n            </div>\n            <TruckActionHistory\n                onOpenUserDetails={onOpenUserDetails}\n                createdDate={truckDetails?.createdDate}\n                createdByBroker={checkIsApiCarrierTruckDetails(truckDetails) && truckDetails?.addedByBroker}\n                createdByName={truckDetails?.createdBy?.fullName}\n                createdById={truckDetails?.createdBy?.id}\n                modifiedDate={truckDetails?.lastModifiedDate}\n                modifiedByBroker={checkIsApiCarrierTruckDetails(truckDetails) && truckDetails?.lastModifiedByBroker}\n                modifiedByName={truckDetails?.lastModifiedBy?.fullName}\n                modifiedById={truckDetails?.lastModifiedBy?.id}\n            />\n        </div>\n    );\n};\n\nexport default TruckDetails;\n","import * as React from 'react';\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { useTranslation } from 'react-i18next';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport classNames from 'classnames/bind';\nimport styles from './DriveThroughRoutePointPicker.scss';\nimport DeleteWaypointTrigger from '../DeleteWaypointTrigger/DeleteWaypointTrigger';\nimport WaypointNumberIcon from '../WaypointNumberIcon/WaypointNumberIcon';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport { useFormikContext } from 'formik';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport { OnChangeRoutePointAddressT, OnDeleteRoutePointReserveT } from '../models';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport { ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { getRoutePointHashFromValues } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/utils';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    tourUpdateStop: ApiTourUpdateStopDataT | null;\n    oldTourUpdateStop: ApiTourUpdateStopDataT | null;\n    onRemove: OnDeleteRoutePointReserveT;\n    isAllowRemove: boolean;\n    onManualSelectLocation: (location: LocationT | null, routePointIndex: number) => void;\n    isAllowUpdateAddress: boolean;\n    onChangeRoutePointAddress: OnChangeRoutePointAddressT;\n    isShowSuggestLoading?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DriveThroughRoutePointPicker: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        onRemove,\n        isShowSuggestLoading,\n        isAllowRemove,\n        onManualSelectLocation,\n        onChangeRoutePointAddress,\n        isAllowUpdateAddress,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const fakePointIdFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.fakePointId}` as const;\n    const typeFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.type}` as const;\n    const contextRoutePointIdFieldName =\n        `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.contextRoutePointId}` as const;\n\n    const fakePointId = getFieldFormValue(formik.values, fakePointIdFieldName);\n    const type = getFieldFormValue(formik.values, typeFieldName);\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const contextRoutePointId = getFieldFormValue(formik.values, contextRoutePointIdFieldName);\n\n    const isNewRoutePoint = !contextRoutePointId;\n\n    const contextRoutePointHash = getRoutePointHashFromValues(type, location);\n\n    return (\n        <>\n            <FormikConnectContextField<FormValuesT, typeof locationFieldName>\n                className={className}\n                name={locationFieldName}\n                label={t('broker-order-route-edit.fields.drive-through-point.label')}\n            >\n                {(props, extendsProps) => (\n                    <div className={cx('wrap')} data-point-id={fakePointId}>\n                        {isAllowUpdateAddress ? (\n                            <GeoSuggest\n                                className={cx('geo-suggest')}\n                                name={extendsProps.name}\n                                value={extendsProps.value}\n                                placeholder={t('broker-order-route-edit.fields.drive-through-point.placeholder')}\n                                renderLeftIcon={({ hasValue, hasError, hasWarning, isDisabled }) => (\n                                    <WaypointNumberIcon\n                                        routePointIndex={routePointIndex}\n                                        hasValue={hasValue}\n                                        hasError={hasError}\n                                        hasWarning={hasWarning}\n                                        isDisabled={isDisabled}\n                                        isDriveThroughRoutePointPicker\n                                        isNewRoutePoint={isNewRoutePoint}\n                                    />\n                                )}\n                                onChange={(value) => {\n                                    const location = prepareLocation(value);\n                                    if (!location) {\n                                        return;\n                                    }\n\n                                    props.onChange(value);\n\n                                    onManualSelectLocation(value, routePointIndex);\n\n                                    onChangeRoutePointAddress(routePointIndex, contextRoutePointHash, {\n                                        address: location,\n                                        routePointType: type,\n                                    });\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onFocus={props.onFocus}\n                                onBlur={props.onBlur}\n                                isLoading={isShowSuggestLoading}\n                                testSelector={extendsProps.name}\n                            />\n                        ) : (\n                            <ReadOnlyField\n                                withoutErrorMessage\n                                icon={\n                                    <WaypointNumberIcon\n                                        routePointIndex={routePointIndex}\n                                        isDriveThroughRoutePointPicker\n                                        isNewRoutePoint={isNewRoutePoint}\n                                        hasValue={!!extendsProps.value}\n                                    />\n                                }\n                                value={extendsProps.value?.address || ''}\n                            />\n                        )}\n                        {isAllowRemove && (\n                            <DeleteWaypointTrigger\n                                onClick={() => {\n                                    onRemove(routePointIndex, contextRoutePointHash);\n                                }}\n                            />\n                        )}\n                    </div>\n                )}\n            </FormikConnectContextField>\n        </>\n    );\n});\n\nexport default DriveThroughRoutePointPicker;\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"TrailersTable__table__header___T39wE\",\"table__header--checkbox\":\"TrailersTable__table__header--checkbox___ZepEF\",\"table__header--linked\":\"TrailersTable__table__header--linked___ZWglF\",\"table__header--dedicated\":\"TrailersTable__table__header--dedicated___WkPC1\",\"table__header--type\":\"TrailersTable__table__header--type___pp_DG\",\"table__column--checkbox\":\"TrailersTable__table__column--checkbox___cL4oa\",\"table__column--type\":\"TrailersTable__table__column--type___R7gIk\",\"table__column--any\":\"TrailersTable__table__column--any___Vm18g\",\"table__column--created\":\"TrailersTable__table__column--created___dUDe8\",\"table__column--plate-number\":\"TrailersTable__table__column--plate-number___vfe1j\",\"table__column--status\":\"TrailersTable__table__column--status___yW6xh\",\"fadeIn\":\"TrailersTable__fadeIn___Bmyfl\",\"blinking\":\"TrailersTable__blinking___npvhA\"};","import * as React from 'react';\n\nimport { pickFile } from 'common/utils/pick-file';\nimport { logWarning } from 'common/utils/logger';\nimport { attachPaperToTour, deleteAttachedPaper } from 'common/store/papers-edit/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ApiAttachPaperRequestT, ApiTourAttachedPaperTypeT } from 'common/utils/api/models';\nimport { TourPapersUrlFactoryI } from '../image-url-factories';\nimport { selectDeleteRequestStatus } from 'common/store/papers-edit/selectors';\nimport { downloadImage } from 'common/utils/download-image';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { DeletePaperConfirmationDataT } from 'common/components/papers/dialogs/DeletePaperConfirmation/DeletePaperConfirmation';\nimport { ImageGalleryModalDataT } from '../modals/ImageGalleryModal/ImageGalleryModal';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAnyAlert, CommonAlertTypeEnum } from 'common/components/toasts/AlertToastsManager/models';\n\nexport const useAttachTourPapers = (tourPapersUrlFactory: TourPapersUrlFactoryI) => {\n    const dispatch = useDispatch();\n\n    const [deletingPaperId, setDeletingPaperId] = React.useState<PaperIdT | null>(null);\n    const deleteRequestStatus = useSelector(selectDeleteRequestStatus(deletingPaperId));\n    const deletePaperConfirmationDialog = useModalDialog<DeletePaperConfirmationDataT>();\n    useCloseModalDialogAfterRequest(deleteRequestStatus, [deletePaperConfirmationDialog]);\n\n    const paperGalleryModal = useModalDialog<ImageGalleryModalDataT>();\n\n    return React.useMemo(() => {\n        return {\n            onAttachTourPaper: (tourId: TourIdT, paperType: ApiTourAttachedPaperTypeT, comment?: string) => {\n                pickFile('image/*,application/pdf', (file) => {\n                    if (!tourId) {\n                        logWarning('failed upload paper, empty tourId');\n                        return;\n                    }\n\n                    const formData = new FormData();\n                    formData.append('file', file);\n\n                    dispatch(\n                        attachPaperToTour({\n                            tourId,\n                            query: {\n                                paperType,\n                                comment,\n                            },\n                            data: formData as unknown as ApiAttachPaperRequestT,\n                        }),\n                    );\n                });\n            },\n            onDeleteTourPaper: (tourId: TourIdT, paperId: PaperIdT) => {\n                deletePaperConfirmationDialog.setData({\n                    tourId,\n                    paperId,\n                });\n            },\n            onConfirmDeleteTourPaper: (data: DeletePaperConfirmationDataT) => {\n                const { paperId } = data;\n\n                if (!paperId) {\n                    logWarning('failed delete paper, empty paperId');\n                    return;\n                }\n\n                setDeletingPaperId(paperId);\n                dispatch(deleteAttachedPaper({ paperId }));\n            },\n            onDownloadTourPaper: (tourId: TourIdT, paperId: PaperIdT) => {\n                const contentUrl = tourPapersUrlFactory.getContentUrl(tourId, paperId);\n                if (!contentUrl) {\n                    logWarning('failed download paper, empty contentUrl');\n                    return;\n                }\n\n                downloadImage(contentUrl).catch((error: Error) => {\n                    dispatch(\n                        addAlert(\n                            new CommonAnyAlert({\n                                type: CommonAlertTypeEnum.paperDownloadFailed,\n                                data: {\n                                    errorMessage: error.message,\n                                },\n                            }),\n                        ),\n                    );\n                });\n            },\n            onOpenGalleryTourPaper: (tourId: TourIdT, paperId: PaperIdT) => {\n                const contentUrl = tourPapersUrlFactory.getContentUrl(tourId, paperId);\n                if (!contentUrl) {\n                    logWarning('failed open gallery paper, empty contentUrl');\n                    return;\n                }\n\n                paperGalleryModal.setData({\n                    src: contentUrl,\n                    alt: null,\n                });\n            },\n            getTourPaperThumbnailUrl: tourPapersUrlFactory.getThumbnailUrl,\n            deleteTourPaperConfirmationDialog: deletePaperConfirmationDialog,\n            tourPaperGalleryModal: paperGalleryModal,\n            deleteTourPaperRequestStatus: deleteRequestStatus,\n        };\n    }, [dispatch, tourPapersUrlFactory, deletePaperConfirmationDialog, paperGalleryModal, deleteRequestStatus]);\n};\n","import { StateT } from 'broker-admin/store/models';\nimport { BrokerTeamDetailsStateT, initialBrokerTeamDetailsState } from './slice';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const selectBrokerTeamDetails =\n    (id: TeamIdT | null | undefined) =>\n    (state: StateT): BrokerTeamDetailsStateT['details'] =>\n        state.brokerTeamDetails[id as string]?.details || initialBrokerTeamDetailsState.details;\n\nexport const selectBrokerTeamDetailsRequestStatus =\n    (id?: TeamIdT | null | undefined) =>\n    (state: StateT): RequestStatusT =>\n        state.brokerTeamDetails[id as string]?.requestStatus || initialBrokerTeamDetailsState.requestStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"RulePreviewPill__wrap___rBlPA\",\"type\":\"RulePreviewPill__type___dD_59\",\"rule\":\"RulePreviewPill__rule___ZrkIG\",\"closer\":\"RulePreviewPill__closer___UJYXR\",\"fadeIn\":\"RulePreviewPill__fadeIn___pGBa9\",\"blinking\":\"RulePreviewPill__blinking___FE00T\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"BaseShipperContractLaneDetailsLayout__fadeIn___Irp07\",\"blinking\":\"BaseShipperContractLaneDetailsLayout__blinking___jgCrN\"};","// extracted by mini-css-extract-plugin\nexport default {\"tabs-wrap\":\"DetailsLayout__tabs-wrap___Qj_yK\",\"tab\":\"DetailsLayout__tab___F3JQi\",\"right-column\":\"DetailsLayout__right-column___RO0OD\",\"timeline-trigger-wrap\":\"DetailsLayout__timeline-trigger-wrap___u24ZW\",\"timeline-trigger\":\"DetailsLayout__timeline-trigger___BeieF\",\"timeline\":\"DetailsLayout__timeline___u_Mxl\",\"fadeIn\":\"DetailsLayout__fadeIn____t0cK\",\"blinking\":\"DetailsLayout__blinking___R8em_\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { ALL_CARRIERS_ID, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\nimport { changeUserSelection, setShowSelectedAssetSchedule } from 'broker-admin/store/broker-order-assigment/actions';\n\nimport ExcludeCountries from './ExcludeCountries/ExcludeCountries';\nimport CarrierDropdown, { CarrierOptionT } from './CarrierDropdown/CarrierDropdown';\nimport RadiusDropdown, { RadiusOptionT } from './RadiusDropdown/RadiusDropdown';\nimport AssignmentOptionsDropdown, {\n    AssignmentOptionsValueT,\n} from './AssignmentOptionsDropdown/AssignmentOptionsDropdown';\n\nimport styles from './SearchForm.scss';\nimport { selectAssignmentRadiuses } from 'broker-admin/store/settings/selectors';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport {\n    selectShowSelectedAssetSchedules,\n    selectUserSelection,\n} from 'broker-admin/store/broker-order-assigment/selectors';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport { useTranslation } from 'react-i18next';\nimport { ApiCountriesT } from 'common/utils/api/models';\nimport TimeZoneDropdown from './TimeZoneDropdown/TimeZoneDropdown';\nimport FilterPill, { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport { findFirstPickupDeliveryWaypointDate } from 'broker-admin/store/broker-order-assigment/utils/find-first-pickup-delivery-waypoint-date';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerOrderId: BrokerOrderIdT | null;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n    tourId: TourIdT | null;\n};\n\ntype ExcludedCountriesT = ApiCountriesT[];\n\nconst SearchForm: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderId, brokerOrderDetails, tourId } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const userSelection = useSelector(selectUserSelection);\n\n    const [excludedCountries, setExcludedCountries] = React.useState<ExcludedCountriesT>(\n        userSelection.excludedCountries,\n    );\n\n    React.useEffect(() => {\n        if (userSelection.excludedCountries !== excludedCountries) {\n            setExcludedCountries(userSelection.excludedCountries);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [userSelection.excludedCountries]);\n\n    const handleChangeExcludedCountries = (excludedCountries: ExcludedCountriesT): void => {\n        setExcludedCountries(excludedCountries);\n\n        dispatch(changeUserSelection(brokerOrderId, tourId, { excludedCountries }));\n    };\n\n    const [selectedAssignmentOptions, setAssignmentOptions] = React.useState<AssignmentOptionsValueT>({\n        isShowActualPlace: userSelection.isShowActualPlace,\n        isShowAssetSchedule: userSelection.isShowAssetSchedule,\n        isShowUnavailableAssets: userSelection.isShowUnavailableAssets,\n        isIgnoreEmissionStandard: userSelection.isIgnoreEmissionStandard,\n        isIgnoreCertificates: userSelection.isIgnoreCertificates,\n    });\n\n    React.useEffect(() => {\n        setAssignmentOptions({\n            isShowActualPlace: userSelection.isShowActualPlace,\n            isShowAssetSchedule: userSelection.isShowAssetSchedule,\n            isShowUnavailableAssets: userSelection.isShowUnavailableAssets,\n            isIgnoreEmissionStandard: userSelection.isIgnoreEmissionStandard,\n            isIgnoreCertificates: userSelection.isIgnoreCertificates,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [userSelection.isShowActualPlace, userSelection.isShowAssetSchedule, userSelection.isShowUnavailableAssets]);\n\n    const handleChangeAssignmentOptions = (value: AssignmentOptionsValueT): void => {\n        setAssignmentOptions(value);\n\n        dispatch(\n            changeUserSelection(brokerOrderId, tourId, {\n                isShowActualPlace: value.isShowActualPlace,\n                isShowAssetSchedule: value.isShowAssetSchedule,\n                isShowUnavailableAssets: value.isShowUnavailableAssets,\n                isIgnoreEmissionStandard: value.isIgnoreEmissionStandard,\n                isIgnoreCertificates: value.isIgnoreCertificates,\n            }),\n        );\n    };\n\n    const assignmentRadiuses = useSelector(selectAssignmentRadiuses);\n    const defaultAssignmentRadius = assignmentRadiuses?.[0] || null;\n\n    const [selectedRadius, setRadius] = React.useState<RadiusOptionT['value']>(userSelection.radiusKm || null);\n\n    React.useEffect(() => {\n        if (userSelection.radiusKm !== selectedRadius) {\n            setRadius(userSelection.radiusKm);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [userSelection.radiusKm]);\n\n    const handleChangeRadius = (radius: RadiusOptionT['value']): void => {\n        setRadius(radius);\n\n        dispatch(changeUserSelection(brokerOrderId, tourId, { radiusKm: radius }));\n    };\n\n    React.useEffect(() => {\n        if (selectedRadius === null && defaultAssignmentRadius) {\n            dispatch(changeUserSelection(brokerOrderId, tourId, { radiusKm: defaultAssignmentRadius }));\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [defaultAssignmentRadius]);\n\n    const [selectedCarrierId, setCarrierId] = React.useState<CarrierOptionT['id']>(\n        userSelection.carrierId || ALL_CARRIERS_ID,\n    );\n\n    React.useEffect(() => {\n        const carrierId = userSelection.carrierId || ALL_CARRIERS_ID;\n        if (selectedCarrierId !== carrierId) {\n            setCarrierId(carrierId);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [userSelection.carrierId]);\n\n    const handleSetCarrierId = (carrierId: CarrierOptionT['id']): void => {\n        setCarrierId(carrierId);\n\n        dispatch(changeUserSelection(brokerOrderId, tourId, { carrierId }));\n    };\n\n    const firstPickupDeliveryWaypointDate = React.useMemo(() => {\n        return findFirstPickupDeliveryWaypointDate(brokerOrderDetails, tourId);\n    }, [brokerOrderDetails, tourId]);\n\n    const isShowSelectedAssetSchedules = useSelector(selectShowSelectedAssetSchedules);\n\n    const openSelectedAssetSchedules = () => {\n        dispatch(setShowSelectedAssetSchedule(true));\n    };\n\n    const featuresContext = React.useContext(FeaturesContext);\n\n    return (\n        <>\n            <RadiusDropdown\n                className={cx('field', 'field--radius')}\n                radius={selectedRadius}\n                setRadius={handleChangeRadius}\n            />\n            <AssignmentOptionsDropdown\n                className={cx('field', 'field--filters')}\n                value={selectedAssignmentOptions}\n                onChange={handleChangeAssignmentOptions}\n            />\n            <CarrierDropdown\n                className={cx('field', 'field--carrier')}\n                dateForUtilizationRequest={firstPickupDeliveryWaypointDate}\n                carrierId={selectedCarrierId}\n                setCarrierId={handleSetCarrierId}\n            />\n            {featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.assignmentExcludeCountries) && (\n                <ExcludeCountries\n                    className={cx('field', 'field--exclude-countries')}\n                    excludedCountries={excludedCountries}\n                    setExcludedCountries={handleChangeExcludedCountries}\n                    additionalTagsNode={\n                        selectedAssignmentOptions?.isIgnoreCertificates ||\n                        selectedAssignmentOptions?.isIgnoreEmissionStandard ? (\n                            <div>\n                                {selectedAssignmentOptions?.isIgnoreCertificates && (\n                                    <FilterPill\n                                        className={cx('warning-pill')}\n                                        withCloser\n                                        label={t('assignment.search-form.options.ignore-certificates')}\n                                        testSelector=\"ignore-certificates\"\n                                        theme={FilterPillThemeEnum.attention}\n                                        onClick={() => {\n                                            handleChangeAssignmentOptions({\n                                                ...selectedAssignmentOptions,\n                                                isIgnoreCertificates: false,\n                                            });\n                                        }}\n                                    />\n                                )}\n                                {selectedAssignmentOptions?.isIgnoreEmissionStandard && (\n                                    <FilterPill\n                                        withCloser\n                                        className={cx('warning-pill')}\n                                        label={t('assignment.search-form.options.ignore-emission-standard')}\n                                        testSelector=\"ignore-emission-standard\"\n                                        theme={FilterPillThemeEnum.attention}\n                                        onClick={() => {\n                                            handleChangeAssignmentOptions({\n                                                ...selectedAssignmentOptions,\n                                                isIgnoreEmissionStandard: false,\n                                            });\n                                        }}\n                                    />\n                                )}\n                            </div>\n                        ) : null\n                    }\n                />\n            )}\n            <TimeZoneDropdown\n                className={cx('field', 'field--timezone-switcher')}\n                brokerOrderDetails={brokerOrderDetails}\n                tourId={tourId}\n            />\n            <TransparentTrigger\n                className={cx('field', 'field--timeline-trigger')}\n                onClick={openSelectedAssetSchedules}\n                isPressed={isShowSelectedAssetSchedules}\n                label={t('assignment.search-form.open-selected-asset-schedule')}\n                leftIcon={\n                    <CalendarIcon\n                        size={DEFAULT_ICON_SIZE}\n                        fillColor={StyleGuideColorsEnum.gray}\n                        strokeColor={StyleGuideColorsEnum.charcoal}\n                    />\n                }\n                reflectionTheme={ReflectionThemeEnum.light}\n                rightIcon={<ArrowsIcon />}\n            />\n        </>\n    );\n});\n\nexport default SearchForm;\n","import * as React from 'react';\n\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport PlusSignIcon from 'common/icons/PlusSignIcon';\nimport { StyleGuideColorsEnum, DEFAULT_ICON_SIZE } from 'common/constants';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\ntype PropsT = {\n    isActive?: boolean;\n    onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n    children?: React.ReactNode;\n    hasExpandIcon?: boolean;\n    className?: string;\n    isDisabled?: boolean;\n    tooltipMessage?: React.ReactNode;\n};\n\nconst AttachPapersDropdownControlTrigger: React.FC<PropsT> = React.memo((props) => {\n    const { isActive, onClick, children, className, hasExpandIcon, tooltipMessage, isDisabled } = props;\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.topCenter}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                tooltipMessage ? (\n                    <TooltipContent isCenter width={200} theme={TooltipContentThemeEnum.black}>\n                        {tooltipMessage}\n                    </TooltipContent>\n                ) : null\n            }\n        >\n            {() => (\n                <Button\n                    className={className}\n                    theme={ButtonThemeEnum.transparent}\n                    onClick={onClick}\n                    leftIcon={\n                        <PlusSignIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={isDisabled ? StyleGuideColorsEnum.white : StyleGuideColorsEnum.charcoal}\n                        />\n                    }\n                    rightIcon={hasExpandIcon ? <ExpandIcon fillColor={StyleGuideColorsEnum.charcoal} /> : undefined}\n                    isPressed={isActive}\n                    isDisabled={isDisabled}\n                >\n                    {children}\n                </Button>\n            )}\n        </Tooltip>\n    );\n});\n\nexport { AttachPapersDropdownControlTrigger };\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FetchBrokerTourDetailsRequestActionT } from './types';\nimport {\n    fetchBrokerTourDetails,\n    fetchBrokerTourDetailsBegin,\n    fetchBrokerTourDetailsError,\n    fetchBrokerTourDetailsSuccess,\n} from './slice';\nimport { selectBrokerTourDetailsRequestStatus } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\nfunction* fetchBrokerTourDetailsSaga(action: FetchBrokerTourDetailsRequestActionT): WrapGeneratorT<void> {\n    const { id, options } = action.payload;\n\n    const requestStatus: ReReturnT<typeof selectBrokerTourDetailsRequestStatus> = yield select(\n        selectBrokerTourDetailsRequestStatus(id),\n    );\n    if (!checkNeedRequest(requestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchBrokerTourDetailsBegin({ id }));\n\n    const [error, details]: ReturnApiT<typeof brokerTranziitApi.getBrokerTourDetails> =\n        yield brokerTranziitApi.getBrokerTourDetails(id);\n    if (error) {\n        yield put(fetchBrokerTourDetailsError({ id, error }));\n    } else {\n        yield put(fetchBrokerTourDetailsSuccess({ id, details }));\n    }\n}\n\nfunction* brokerTourDetailsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(fetchBrokerTourDetails.type, fetchBrokerTourDetailsSaga);\n}\n\nexport default brokerTourDetailsSaga;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const transportOrderRefreshChannel = new ViewEventChannel<{}>();\n","import React, { ReactNode } from 'react';\nimport styles from './DocumentDetailsLayout.scss';\nimport classNames from 'classnames/bind';\nimport map from 'lodash/map';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum, TabLabelSizeEnum } from 'common/components/tabs/TabLabel/constants';\nimport { useTranslation } from 'react-i18next';\n\nimport DocumentMessage from './DocumentMessage/DocumentMessage';\nimport BigEmptyIcon from 'common/icons/BigEmptyIcon';\nimport { PermissionsT } from 'common/store/auth/models';\nimport { DocumentVersionT } from 'common/store/documents/models';\nimport DocumentEventsSummary from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentEventsSummary/DocumentEventsSummary';\nimport DocumentSummary from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentSummary/DocumentSummary';\nimport DocumentVersion from './DocumentVersion/DocumentVersion';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\nimport TabGroup from 'common/components/tabs/TabGroup/TabGroup';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    isUploading: boolean;\n    dictDocument: DictDocumentT | null;\n    onDownloadFile: (documentId: DocumentIdT) => void;\n    onOpenUserDetails: (userId: UserIdT) => void;\n    permissions: PermissionsT;\n    actualVersion: DocumentVersionT | null;\n    oldVersions: Array<DocumentVersionT> | null;\n    actualVersionFormNode?: ReactNode;\n};\n\nenum TabEnum {\n    actual = 'actual',\n    history = 'history',\n}\n\nconst TAB_LABEL_T: Record<TabEnum, string> = {\n    [TabEnum.actual]: 'common:document.tabs.actual',\n    [TabEnum.history]: 'common:document.tabs.history',\n};\n\nconst DocumentDetailsLayout: React.FC<PropsT> = (props) => {\n    const {\n        dictDocument,\n        isUploading,\n        permissions,\n        onDownloadFile,\n        onOpenUserDetails,\n        actualVersion,\n        oldVersions,\n        actualVersionFormNode,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [activeTab, setActiveTab] = React.useState<TabEnum>(TabEnum.actual);\n\n    return (\n        <>\n            <DocumentSummary\n                className={cx('document-summary')}\n                title={dictDocument?.name}\n                tooltipContentNode={t('common:document.actions.download')}\n                canDownload={permissions.canDownloadDocuments}\n                id={actualVersion?.id || null}\n                onDownloadFile={onDownloadFile}\n            />\n            <TabGroup className={cx('tabs')} size={TabLabelSizeEnum.small}>\n                {map(TabEnum, (tab, tabIndex) => (\n                    <TabLabel\n                        isCompact\n                        key={tabIndex}\n                        size={TabLabelSizeEnum.small}\n                        theme={TabsThemesEnum.light}\n                        onClick={() => {\n                            setActiveTab(tab);\n                        }}\n                        isActive={tab === activeTab}\n                    >\n                        {t(TAB_LABEL_T[tab])}\n                    </TabLabel>\n                ))}\n            </TabGroup>\n            <div className={cx('tab-content')}>\n                {activeTab === TabEnum.actual && (\n                    <>\n                        {!!actualVersion && (\n                            <>\n                                <DocumentEventsSummary\n                                    className={cx('actual-version-details')}\n                                    version={actualVersion}\n                                    onOpenUserDetails={onOpenUserDetails}\n                                />\n                                {actualVersionFormNode}\n                            </>\n                        )}\n                        {!actualVersion && !isUploading && (\n                            <DocumentMessage\n                                icon={<BigEmptyIcon />}\n                                title={t('common:document.messages.not-uploaded.title')}\n                            />\n                        )}\n                    </>\n                )}\n                {activeTab === TabEnum.history && (\n                    <>\n                        {oldVersions?.length ? (\n                            <>\n                                {oldVersions.map((version, versionIndex) => (\n                                    <DocumentVersion\n                                        key={versionIndex}\n                                        className={cx('version')}\n                                        version={version}\n                                        dictDocument={dictDocument}\n                                        canDownloadDocuments={permissions.canDownloadDocuments}\n                                        onOpenUserDetails={onOpenUserDetails}\n                                        onDownloadFile={onDownloadFile}\n                                    />\n                                ))}\n                            </>\n                        ) : (\n                            <DocumentMessage\n                                icon={<BigEmptyIcon />}\n                                title={t('common:document.messages.empty-history.title')}\n                            />\n                        )}\n                    </>\n                )}\n            </div>\n        </>\n    );\n};\n\nexport default DocumentDetailsLayout;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TableCellLink.scss';\nimport Link, { LinkPropsT } from 'common/components/Link/Link';\nimport { useClickInterceptorProps } from 'common/components/ClickInterceptorLabel/hooks/use-click-interceptor-props';\n\ntype PropsT = LinkPropsT & {\n    wrapClassName?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TableCellLink: React.FC<PropsT> = React.memo((props) => {\n    const clickInterceptorProps = useClickInterceptorProps({\n        onClick: props.onClick || null,\n    });\n\n    return (\n        <div className={props.wrapClassName}>\n            <span className={cx('link')}>\n                {/* in react-router-dom links, both onClick and to do not work, so there is an additional span wrapper for interception */}\n                <span {...clickInterceptorProps}>\n                    <Link {...props} />\n                </span>\n            </span>\n        </div>\n    );\n});\n\nexport default TableCellLink;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty, checkMaxValue, checkIsPositiveNumberOrZeroValue } from 'common/utils/form-validators';\n\nconst CREATION_REQUIRED_FIELDS = [] as const;\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.trailerType,\n    FieldsEnum.trailerDictId,\n    FieldsEnum.countryCode,\n    FieldsEnum.plateNumber,\n    FieldsEnum.vin,\n] as const;\n\nconst RATE_FIELDS = [FieldsEnum.ratePerKm] as const;\n\nconst MAX_RATE = 10;\n\ntype MetaT = {\n    isCreation: boolean;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, meta: MetaT): FormErrorsT => {\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, CREATION_REQUIRED_FIELDS, values),\n    };\n\n    if (meta?.isCreation) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        };\n    }\n\n    if (values[FieldsEnum.contract] === null) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, RATE_FIELDS, values, t('common:trailers-page.add-trailer.errors.required-rate')),\n            ...checkIsPositiveNumberOrZeroValue(t, RATE_FIELDS, values),\n            ...checkMaxValue(t, RATE_FIELDS, values, MAX_RATE),\n        };\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import { ConsistentStateMachineDescriptorT, StateMachineEntityHashT } from './models';\n\nexport const getStateMachineEntityHash = ({ tourId }: ConsistentStateMachineDescriptorT): StateMachineEntityHashT => {\n    return tourId;\n};\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './SaveChangesNotification.scss';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    hasChanges?: boolean;\n    className?: string;\n};\n\nconst SaveChangesNotification: React.FC<PropsT> = (props) => {\n    const { hasChanges, className } = props;\n    const { t } = useTranslation();\n\n    const label = hasChanges\n        ? t('common:save-changes-notification.has-changes')\n        : t('common:save-changes-notification.has-not-changes');\n\n    return (\n        <div className={cs(cx('notification'), className)}>\n            <div className={cx('notification__icon')}>\n                <div\n                    className={cx('circle', {\n                        circle__orange: hasChanges,\n                        circle__green: !hasChanges,\n                    })}\n                />\n            </div>\n            <div className={cx('notification__label')}>{label}</div>\n        </div>\n    );\n};\n\nexport default SaveChangesNotification;\n","import React, { useMemo } from 'react';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\n\nexport type AsyncRequestFactoryResultT<T extends {}> = TranziitApiResultT<Array<T>>;\nexport type AsyncRequestFactoryT<T extends {}> = () => Promise<AsyncRequestFactoryResultT<T>>;\n\nexport type UseAsyncInitOptionsParamsT<T extends {}> = {\n    initRequestFactory: AsyncRequestFactoryT<T>;\n};\n\nexport type UseAsyncInitOptionsResultT<T extends {}> = {\n    initOptions: Array<T>;\n    initRequestStatus: RequestStatusT;\n    onUpdateInitOptions: (initOptions: Array<T>) => void;\n};\n\nexport const useAsyncInitOptionsRequest = <T extends {}>({\n    initRequestFactory,\n}: UseAsyncInitOptionsParamsT<T>): UseAsyncInitOptionsResultT<T> => {\n    const [currentRequestStatus, setCurrentRequestStatus] = React.useState<RequestStatusT>(requestStatus.initial);\n    const [initOptions, setInitOptions] = React.useState<T[]>([]);\n\n    React.useEffect(() => {\n        setCurrentRequestStatus(requestStatus.loading);\n\n        initRequestFactory()\n            .then(([error, options]) => {\n                if (error) {\n                    setInitOptions([]);\n                    setCurrentRequestStatus(requestStatus.setError(error));\n                    return;\n                }\n\n                setInitOptions(options || []);\n                setCurrentRequestStatus(requestStatus.ok);\n            })\n            .catch((error) => {\n                setInitOptions([]);\n                setCurrentRequestStatus(requestStatus.setError(error));\n            });\n    }, [initRequestFactory]);\n\n    return useMemo(() => {\n        return {\n            initOptions,\n            initRequestStatus: currentRequestStatus,\n            onUpdateInitOptions: setInitOptions,\n        };\n    }, [initOptions, currentRequestStatus]);\n};\n","import { ReservePreviewQueryT, ReservePreviewT, ReserveT } from 'common/store/order-creation/models';\nimport keyBy from 'lodash/keyBy';\nimport isBoolean from 'lodash/isBoolean';\n\nexport const getPreviewReserveQueryCorrection = (\n    query: ReservePreviewQueryT | null,\n    previewReserve: ReservePreviewT | null,\n    reserve: ReserveT | null,\n): ReservePreviewQueryT | null => {\n    if (!reserve || !previewReserve || !query) {\n        return null;\n    }\n\n    const hasAnyCorrection = previewReserve.timeWindows?.some((timeWindow) => {\n        return !!timeWindow.correctedTimeWindow || isBoolean(timeWindow.correctedBrokerWindow);\n    });\n    if (!hasAnyCorrection) {\n        return null;\n    }\n\n    const timeWindows: ReservePreviewQueryT['timeWindows'] = [];\n\n    const timeWindowsById = keyBy(previewReserve?.timeWindows, (timeWindow) => timeWindow?.id);\n    const queryTimeWindowsById = keyBy(query?.timeWindows, (timeWindow) => timeWindow?.id || '');\n\n    reserve?.points?.forEach((point) => {\n        const timeWindow = timeWindowsById[point.id];\n        if (!timeWindow) {\n            return;\n        }\n\n        const queryTimeWindow = queryTimeWindowsById[point.id];\n\n        timeWindows.push({\n            id: point.id,\n            isBrokerTimeWindow: isBoolean(timeWindow?.correctedBrokerWindow)\n                ? timeWindow.correctedBrokerWindow\n                : queryTimeWindow?.isBrokerTimeWindow || false,\n            timeWindowFrom: timeWindow?.correctedTimeWindow?.start || queryTimeWindow?.timeWindowFrom,\n            timeWindowTo: timeWindow?.correctedTimeWindow?.end || queryTimeWindow?.timeWindowTo,\n            addressAlias: point.addressAlias,\n        });\n    });\n\n    return {\n        ...query,\n        timeWindows,\n    };\n};\n","import * as React from 'react';\nimport { BrokerTourShortT } from 'broker-admin/store/broker-tours/models';\nimport { formatTimeInterval } from 'common/utils/time';\nimport LocationCell from 'common/components/Table/cell-renderers/LocationCell/LocationCell';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport { CountryCodeT } from 'common/utils/api/models';\n\ntype PropsT = {\n    brokerTourShort: BrokerTourShortT;\n};\n\nconst OriginCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTourShort } = props;\n\n    const timeWindow = formatTimeInterval(brokerTourShort.originFrom, brokerTourShort.originTo);\n\n    return (\n        <LocationCell\n            address={\n                <LocationLabel\n                    location={{\n                        zipCode: brokerTourShort.origin?.zipCode,\n                        city: brokerTourShort.origin?.city,\n                        country: brokerTourShort.origin?.country as CountryCodeT,\n                    }}\n                    format=\"zip_city_country\"\n                    allowShowCountryCode\n                />\n            }\n            time={timeWindow}\n        />\n    );\n});\n\nexport default OriginCell;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AdditionalServicesGroup.scss';\nimport { CurrencyEnum, StyleGuideColorsEnum } from 'common/constants';\nimport {\n    ApiDictCarrierAdditionalServiceGroupT,\n    ApiDictCarrierAdditionalServiceTypeT,\n    ApiTrailerDictTypeT,\n} from 'common/utils/api/models';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport Money from 'common/components/Money/Money';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport { DictCarrierAdditionalServiceT } from 'common/store/additional-services-dict/models';\nimport AdditionalServiceLabel from 'common/components/AdditionalServiceLabel/AdditionalServiceLabel';\nimport isNumber from 'lodash/isNumber';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport AdditionalServiceGroupLabel from 'broker-admin/components/AdditionalServiceGroupLabel/AdditionalServiceGroupLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    group: ApiDictCarrierAdditionalServiceGroupT;\n    dictTrailerInfo: ApiTrailerDictTypeT | null;\n    selectedServiceTypeSet: Set<ApiDictCarrierAdditionalServiceTypeT>;\n    onAddServices: (selectedServiceType: ApiDictCarrierAdditionalServiceTypeT) => void;\n    onRemoveServices: (selectedServiceType: ApiDictCarrierAdditionalServiceTypeT) => void;\n};\n\n// TODO remove, after removed from dictionary\n// @ts-expect-error TODO TZT-7871\nconst hideAdditionalServiceType = new Set<DictCarrierAdditionalServiceT['enum']>(['TIME_SLOTS_APPOINTMENT_BY_BROKER']);\n\nconst AdditionalServicesGroup: React.FC<PropsT> = React.memo((props) => {\n    const { group, dictTrailerInfo, selectedServiceTypeSet, onRemoveServices, onAddServices } = props;\n\n    const { category, services } = group;\n\n    const [isExpanded, setIsExpanded] = React.useState(true);\n    const toggle = (): void => {\n        setIsExpanded(!isExpanded);\n    };\n\n    const testSelector = `additional-services_${category}`;\n\n    const selectedServiceCount = React.useMemo(() => {\n        return services.reduce((acc, item) => {\n            return acc + (selectedServiceTypeSet.has(item.service) ? 1 : 0);\n        }, 0);\n    }, [services, selectedServiceTypeSet]);\n\n    return (\n        <div className={cx('additional-services-group__block')} key={category} data-test-selector={testSelector}>\n            <div className={cx('additional-services-group__head')}>\n                <div className={cx('additional-services-group__trigger')} onClick={toggle}>\n                    <div className={cx('additional-services-group__title')}>\n                        <AdditionalServiceGroupLabel\n                            category={category}\n                            trailerType={dictTrailerInfo?.trailerType || null}\n                        />\n                        {!isExpanded && Boolean(selectedServiceCount) && (\n                            <PillLabel\n                                className={cx('additional-services-group__count')}\n                                theme={PillLabelThemeEnum.slate}\n                                isSymmetrical\n                            >\n                                {selectedServiceCount}\n                            </PillLabel>\n                        )}\n                    </div>\n                    <ExpandIcon\n                        className={cx('additional-services-group__expand-icon')}\n                        fillColor={StyleGuideColorsEnum.brandAccent}\n                        isInvert={isExpanded}\n                    />\n                </div>\n            </div>\n            {isExpanded &&\n                services.map((item) => {\n                    const { service, itemCost } = item;\n\n                    const isChecked = selectedServiceTypeSet.has(service);\n\n                    if (hideAdditionalServiceType.has(service)) {\n                        return null;\n                    }\n\n                    return (\n                        <div key={service} className={cx('additional-service')}>\n                            <Checkbox\n                                className={cx('additional-service__label')}\n                                checked={isChecked}\n                                onChange={() => {\n                                    if (isChecked) {\n                                        onRemoveServices(service);\n                                    } else {\n                                        onAddServices(service);\n                                    }\n                                }}\n                                testSelector={`${testSelector}_${service}`}\n                                label={\n                                    <span className={cx('checkbox-label')}>\n                                        <AdditionalServiceLabel type={service} />\n                                    </span>\n                                }\n                            />\n                            {isNumber(itemCost) && (\n                                <Money\n                                    className={cx('additional-service__cost', {\n                                        'additional-service__cost--isActive': isChecked,\n                                    })}\n                                    amount={itemCost}\n                                    currency={CurrencyEnum.EUR}\n                                />\n                            )}\n                        </div>\n                    );\n                })}\n        </div>\n    );\n});\n\nexport default AdditionalServicesGroup;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ShipperContractDetailsLayout__inner___kb1vG\",\"fadeIn\":\"ShipperContractDetailsLayout__fadeIn___pMF_t\",\"blinking\":\"ShipperContractDetailsLayout__blinking___e6o8S\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"RevokedPartnerCarrierContractCard__inner___QjVi0\",\"fadeIn\":\"RevokedPartnerCarrierContractCard__fadeIn___jLVim\",\"blinking\":\"RevokedPartnerCarrierContractCard__blinking___eUHf8\"};","import * as React from 'react';\nimport { RFQT } from 'common/store/rfqs/models';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\n\ntype PropsT = {\n    rfq: RFQT;\n    onOpenUser: (userId: UserIdT) => void;\n};\n\nconst CreatedCell: React.FC<PropsT> = React.memo((props) => {\n    const { rfq, onOpenUser } = props;\n\n    return (\n        <EventCell\n            userFullName={rfq.createdByName}\n            userId={rfq.createdById}\n            date={rfq.createdDate}\n            byBroker={rfq.createdByBroker}\n            openUserDetails={onOpenUser}\n        />\n    );\n});\n\nexport default CreatedCell;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { TableColumnModsEnum, TableColumnT, TableRowMetaT } from 'common/components/DocumentsTable/DocumentsTable';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport classNames from 'classnames/bind';\nimport styles from './BaseShipperContractLanesTable.scss';\nimport { ShipperContractLanesTableRowT } from './models';\nimport DateCell from 'common/components/Table/cell-renderers/DateCell/DateCell';\nimport OrdersCountCell from './cell-renderers/OrdersCountCell/OrdersCountCell';\nimport FlagCell from 'common/components/Table/cell-renderers/FlagCell/FlagCell';\nimport EmissionClassCell from 'common/components/Table/cell-renderers/EmissionClassCell/EmissionClassCell';\nimport CostCell from 'common/components/Table/cell-renderers/CostCell/CostCell';\nimport LocationCell from './cell-renderers/LocationCell/LocationCell';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TeamDriveIcon from 'common/icons/TeamDriveIcon';\nimport ShipperContractLaneStatusPill from 'common/components/status-pill/ShipperContractLaneStatusPill/ShipperContractLaneStatusPill';\nimport Table from 'common/components/Table/Table';\nimport IdCell from './cell-renderers/IdCell/IdCell';\nimport { CountryCodeT } from 'common/utils/api/models';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\n\ntype PropsT = {\n    className?: string;\n    tableName: string;\n    rows: Array<ShipperContractLanesTableRowT>;\n    onSelectRow?: (event: React.MouseEvent, row: ShipperContractLanesTableRowT) => void;\n    isLoading: boolean;\n    testSelector?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst VALID_DATE_FORMAT = 'DD MMM YYYY';\n\nconst BaseShipperContractLanesTable: React.FC<PropsT> = React.memo((props) => {\n    const { tableName, rows, isLoading, testSelector, className, onSelectRow } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<ShipperContractLanesTableRowT, void>> = [\n        {\n            renderHeader: () => <span>{t('common:shipper-contract-lanes.table.columns.id')}</span>,\n            headerClassName: cx('table__header', 'table__header--id'),\n            render: (row: ShipperContractLanesTableRowT) => <IdCell id={row.tztLaneId} />,\n            className: cx('table__column', 'table__column--id'),\n            testSelector: 'id',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contract-lanes.table.columns.pickup')}</span>,\n            headerClassName: cx('table__header', 'table__header--pickup'),\n            render: (row: ShipperContractLanesTableRowT) => (\n                <LocationCell\n                    address={\n                        <LocationLabel\n                            location={{\n                                zipCode: row.origin?.zipCode,\n                                city: row.origin?.city,\n                                country: row.origin?.countryCode as CountryCodeT,\n                            }}\n                            format=\"zip_city_country\"\n                            allowShowCountryCode\n                        />\n                    }\n                />\n            ),\n            className: cx('table__column', 'table__column--pickup'),\n            testSelector: 'origin',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contract-lanes.table.columns.dropoff')}</span>,\n            headerClassName: cx('table__header', 'table__header--destination'),\n            render: (row: ShipperContractLanesTableRowT) => (\n                <LocationCell\n                    address={\n                        <LocationLabel\n                            location={{\n                                zipCode: row.destination?.zipCode,\n                                city: row.destination?.city,\n                                country: row.destination?.countryCode as CountryCodeT,\n                            }}\n                            format=\"zip_city_country\"\n                            allowShowCountryCode\n                        />\n                    }\n                />\n            ),\n            className: cx('table__column', 'table__column--destination'),\n            testSelector: 'destination',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contract-lanes.table.columns.orders-counter')}</span>,\n            headerClassName: cx('table__header', 'table__header--orders-counter'),\n            headerMods: {\n                [TableColumnModsEnum.center]: true,\n            },\n            render: (row: ShipperContractLanesTableRowT) => (\n                <OrdersCountCell\n                    status={row.status}\n                    ordersLeft={row.ordersLeft}\n                    maxNumberOfOrders={row.maxNumberOfOrders}\n                />\n            ),\n            className: cx('table__column', 'table__column--orders-counter'),\n            testSelector: 'orders-counter',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contract-lanes.table.columns.price')}</span>,\n            headerClassName: cx('table__header', 'table__header--total-price'),\n            render: (row: ShipperContractLanesTableRowT) => {\n                return <CostCell cost={row.totalPrice} />;\n            },\n            className: cx('table__column', 'table__column--total-price'),\n            testSelector: 'total-price',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contract-lanes.table.columns.valid-till')}</span>,\n            headerClassName: cx('table__header', 'table__header--valid-till'),\n            render: (row: ShipperContractLanesTableRowT) => {\n                return <DateCell date={row.validTill} dateFormat={VALID_DATE_FORMAT} isBigFont isBold />;\n            },\n            className: cx('table__column', 'table__column--valid-till'),\n            testSelector: 'valid-till',\n        },\n        {\n            renderHeader: () => <EmissionIcon strokeColor={StyleGuideColorsEnum.charcoal} />,\n            headerClassName: cx('table__header', 'table__header--emission-class'),\n            headerMods: {\n                [TableColumnModsEnum.center]: true,\n            },\n            render: (row: ShipperContractLanesTableRowT) => {\n                return <EmissionClassCell emissionClass={row?.emissionClass} />;\n            },\n            className: cx('table__column', 'table__column--emission-class'),\n            testSelector: 'emission-class',\n        },\n        {\n            renderHeader: () => (\n                <TeamDriveIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            ),\n            headerClassName: cx('table__header', 'table__header--team-drive'),\n            headerMods: {\n                [TableColumnModsEnum.center]: true,\n            },\n            render: (row: ShipperContractLanesTableRowT) => {\n                return <FlagCell isShowFlag={!!row?.teamDrive} />;\n            },\n            className: cx('table__column', 'table__column--team-drive'),\n            testSelector: 'team-drive',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contract-lanes.table.columns.status')}</span>,\n            headerClassName: cx('table__header', 'table__header--status'),\n            render: (row: ShipperContractLanesTableRowT) => {\n                return <ShipperContractLaneStatusPill status={row.status} />;\n            },\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n    ];\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, row: ShipperContractLanesTableRowT) => {\n        return {};\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<ShipperContractLanesTableRowT> tableName={tableName} isLoading={isLoading} rows={rows}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<ShipperContractLanesTableRowT, void>\n                        testSelector={testSelector}\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        isLoading={isLoading}\n                        getRowMods={getRowMods}\n                        onSelectRow={onSelectRow}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default BaseShipperContractLanesTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"StatusCell__fadeIn___kStfH\",\"blinking\":\"StatusCell__blinking___gXTXc\"};","import React from 'react';\n\nimport Avatar, { AvatarSizeEnum } from '../Avatar/Avatar';\nimport { DATE_INTERVAL_SPECIAL_SYMBOLS, formatDateInterval } from 'common/utils/formatters';\nimport { DEFAULT_ICON_SIZE } from 'common/constants';\nimport LogoIcon from 'common/icons/LogoIcon';\n\nexport const pillIconRendererMap = {\n    avatar: (hash: string | null | undefined, isCompact: boolean | undefined): React.ReactNode => {\n        return <Avatar size={isCompact ? AvatarSizeEnum.small : AvatarSizeEnum.medium} hash={hash || ''} />;\n    },\n    logo: (): React.ReactNode => {\n        return <LogoIcon size={DEFAULT_ICON_SIZE} />;\n    },\n};\n\nexport const formatDateRangeFilterValue = (\n    from: string | null | undefined,\n    to: string | null | undefined,\n    format = 'DD MMM YYYY',\n) => {\n    return formatDateInterval(from, to || DATE_INTERVAL_SPECIAL_SYMBOLS.FUTURE, format);\n};\n","import React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport { TrailerStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport DropdownMultipleInput, {\n    RenderTriggerPropsT,\n} from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DropdownBaseButtonTrigger from 'design-system/components/dropdowns/base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport { TRAILER_STATUS_T_MAP } from 'common/components/status/TrailerStatus/TrailerStatus';\nimport TrailerStatusPill from 'common/components/status-pill/TrailerStatusPill/TrailerStatusPill';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\n\ntype OptionValueT = TrailerStatusEnum | null;\n\ntype PropsT = {\n    placeholder?: string;\n    value: Array<OptionValueT>;\n    isDisabled?: boolean;\n    onChange: (value: Array<OptionValueT>) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    excludeStatuses?: Array<TrailerStatusEnum>;\n};\n\ntype TrailerStatusDropdownOptionT = {\n    value: OptionValueT;\n    label: React.ReactNode;\n};\n\nconst TrailerStatusMultipleDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        value,\n        placeholder,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasClearControl,\n        overlayPosition,\n        excludeStatuses,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): TrailerStatusDropdownOptionT[] => {\n        return [\n            TrailerStatusEnum.free,\n            TrailerStatusEnum.inTransit,\n            TrailerStatusEnum.archived,\n            TrailerStatusEnum.unavailable,\n        ]\n            .filter((status) => {\n                if (excludeStatuses) {\n                    return !excludeStatuses.includes(status);\n                }\n\n                return true;\n            })\n            .map((status: TrailerStatusEnum): TrailerStatusDropdownOptionT => {\n                return {\n                    label: t(TRAILER_STATUS_T_MAP[status]),\n                    value: status,\n                };\n            });\n    }, [t, excludeStatuses]);\n\n    const renderTrigger = (\n        props: RenderTriggerPropsT,\n        options: Array<TrailerStatusDropdownOptionT>,\n        placeholder: string | undefined,\n    ): React.ReactNode => {\n        if (!options?.length) {\n            return <DropdownBaseButtonTrigger {...props}>{placeholder || ''}</DropdownBaseButtonTrigger>;\n        }\n\n        if (options.length === 1) {\n            const firstOption = options?.[0];\n\n            return <DropdownBaseButtonTrigger {...props}>{firstOption?.label}</DropdownBaseButtonTrigger>;\n        }\n\n        return (\n            <DropdownBaseButtonTrigger {...props}>\n                <DropdownMultipleInputCountLabel count={options.length} />\n            </DropdownBaseButtonTrigger>\n        );\n    };\n\n    const renderOption = (option: TrailerStatusDropdownOptionT | null | undefined): React.ReactNode => {\n        if (!option) {\n            return null;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                label={<TrailerStatusPill status={option.value} isSymmetrical />}\n            />\n        );\n    };\n\n    const handleSelect = (value: Array<OptionValueT>): void => {\n        onChange(value);\n    };\n\n    const getOptionValue = (option: TrailerStatusDropdownOptionT): OptionValueT => option.value;\n\n    return (\n        <DropdownMultipleInput<TrailerStatusDropdownOptionT, OptionValueT>\n            selectedValues={value}\n            placeholder={placeholder}\n            options={options}\n            onSelect={handleSelect}\n            isDisabled={isDisabled}\n            renderOption={renderOption}\n            renderTrigger={renderTrigger}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            testSelector=\"trailer-statuses\"\n            onReset={\n                hasClearControl\n                    ? () => {\n                          onChange([]);\n                      }\n                    : undefined\n            }\n        />\n    );\n});\n\nexport default TrailerStatusMultipleDropdown;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchShipperContractLanesPage,\n    fetchShipperContractLanesPageBegin,\n    fetchShipperContractLanesPageError,\n    fetchShipperContractLanesPageSuccess,\n    resetShipperContractLanes,\n} from './slice';\nimport { FetchShipperContractLanesActionT } from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport shipperTranziitApi from 'shipper/utils/api/shipper-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport { selectShipperContractLanesPages, selectShipperContractLanesQuery } from './selectors';\nimport { shipperContractLanesPaginationChannel } from './channels';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getFetchCarrierContractLanesSaga(companyType: CompanyTypeEnum) {\n    return function* (action: FetchShipperContractLanesActionT): WrapGeneratorT<void> {\n        const { pageNumber, query: rawQuery, partnerId, contractId } = action.payload;\n\n        const query: typeof rawQuery = {\n            ...rawQuery,\n        };\n\n        const prevQuery: ReReturnT<typeof selectShipperContractLanesQuery> = yield select(\n            selectShipperContractLanesQuery(partnerId, contractId),\n        );\n        const pages: ReReturnT<typeof selectShipperContractLanesPages> = yield select(\n            selectShipperContractLanesPages(partnerId, contractId),\n        );\n        const isSameQuery = checkIsSameQuery(query, prevQuery);\n        const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus);\n        if (isSameQuery && !isNeedRequest) {\n            return;\n        }\n        if (!isSameQuery) {\n            yield put(\n                resetShipperContractLanes({\n                    partnerId,\n                    contractId,\n                    mutationListOptions: { savingPageNumber: pageNumber },\n                }),\n            );\n        }\n\n        yield put(fetchShipperContractLanesPageBegin({ query, pageNumber, partnerId, contractId }));\n\n        let result: ReturnApiT<\n            | typeof shipperTranziitApi.fetchShipperContractLanes\n            | typeof brokerTranziitApi.fetchPartnerShipperContractLanes\n        >;\n        if (checkIsDefaultCompanyId(partnerId)) {\n            result = yield shipperTranziitApi.fetchShipperContractLanes(contractId, {\n                ...query,\n                page: pageNumber,\n            });\n        } else {\n            result = yield brokerTranziitApi.fetchPartnerShipperContractLanes(partnerId, contractId, {\n                ...query,\n                page: pageNumber,\n            });\n        }\n\n        const [error, response] = result;\n\n        if (error) {\n            yield put(fetchShipperContractLanesPageError({ query, pageNumber, error, partnerId, contractId }));\n            return;\n        }\n\n        yield put(fetchShipperContractLanesPageSuccess({ query, pageNumber, response, partnerId, contractId }));\n\n        checkShouldEmitChangePage(pageNumber, response, shipperContractLanesPaginationChannel);\n    };\n}\n\nfunction* shipperContractLanesSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(fetchShipperContractLanesPage.type, getFetchCarrierContractLanesSaga(companyType));\n}\n\nexport { shipperContractLanesSaga };\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst MinusSignIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, size, ...rest } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n            <rect x=\"0\" y=\"0\" width=\"20\" height=\"20\" fill=\"none\" />\n            <polygon points=\"14.25 9.75 3.75 9.75 3.75 8.25 14.25 8.25\" fill={strokeColor} />\n        </svg>\n    );\n};\n\nMinusSignIcon.displayName = 'MinusSignIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default MinusSignIcon;\n","export enum AuthErrorTypeEnum {\n    networkRequestFailed = 'network-request-failed',\n    aborted = 'aborted',\n    userNotFound = 'user-not-found',\n    userDisabled = 'user-disabled',\n    wrongPassword = 'wrong-password',\n    userIsNotAuthorized = 'userIsNotAuthorized',\n    failSendEmailVerification = 'failSendEmailVerification',\n    failSendPasswordResetEmail = 'failSendPasswordResetEmail',\n    failUpdatePassword = 'fail-update-password',\n    failEmailVerification = 'fail-email-verification',\n    failChangePassword = 'fail-change-password',\n    failUpdateProfile = 'fail-update-profile',\n    failReauthenticateWithCredential = 'fail-reauthenticate-with-credential',\n    failSignIn = 'failSignIn',\n    failSignOut = 'failSignOut',\n    failAnonymouslySignIn = 'failAnonymouslySignIn',\n    wrongRole = 'wrong-role',\n    expiredActionCode = 'expired-action-code',\n    invalidActionCode = 'invalid-action-code',\n    weakPassword = 'weak-password',\n    unknown = 'unknown',\n\n    // keycloak\n    tooMutchRequests = 'too-mutch-requests',\n    invalidCreds = 'invalid-creds',\n    invalidSession = 'invalid-session',\n}\n\nexport class AuthApiError extends Error {\n    type: AuthErrorTypeEnum;\n\n    message: string;\n\n    constructor(type: AuthErrorTypeEnum, message: string) {\n        super(type);\n\n        this.type = type;\n        this.message = message;\n\n        // fix for instanceof\n        // https://github.com/microsoft/TypeScript/issues/13965\n        // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work\n        Object.setPrototypeOf(this, AuthApiError.prototype);\n    }\n}\n\nexport const checkIsAuthApiError = (error: AuthApiError | Error | null | undefined): error is AuthApiError => {\n    return error instanceof AuthApiError;\n};\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiRFQBrokerSourceT } from 'common/utils/api/models';\n\ntype PropsT = {\n    source?: ApiRFQBrokerSourceT | null;\n    isSymmetrical?: boolean;\n};\n\nexport const RFQ_SOURCE_T_MAP: Record<ApiRFQBrokerSourceT, string> = {\n    CARLO: 'common:rfq-source.carlo',\n    TENDER: 'common:rfq-source.tender',\n    INTERNAL: 'common:rfq-source.internal',\n    CONTRACT_LANE: '', // TODO remove, deprecated\n};\n\nconst RFQSourcePill: React.FC<PropsT> = React.memo((props) => {\n    const { source, isSymmetrical } = props;\n\n    const { t } = useTranslation();\n\n    const label = source ? t(RFQ_SOURCE_T_MAP[source]) : null;\n    if (!label) {\n        return null;\n    }\n\n    return (\n        <PillLabel isNoWrap isSymmetrical={isSymmetrical} theme={PillLabelThemeEnum.charcoal} testSelector=\"rfq-source\">\n            {label}\n        </PillLabel>\n    );\n});\n\nexport default RFQSourcePill;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    opacity?: number;\n};\n\nconst WarningIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, opacity, className } = props;\n\n    return (\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <path\n                d=\"M10.333 2A8.336 8.336 0 0 0 2 10.333c0 4.6 3.733 8.334 8.333 8.334s8.334-3.734 8.334-8.334S14.933 2 10.333 2zm0 9.167a.836.836 0 0 1-.833-.834V7c0-.458.375-.833.833-.833.459 0 .834.375.834.833v3.333a.836.836 0 0 1-.834.834zm.834 3.333H9.5v-1.667h1.667V14.5z\"\n                fill={fillColor}\n                opacity={opacity || 1}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nWarningIcon.displayName = 'WarningIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.tomatoRed,\n};\n\nexport { storyProps };\nexport default WarningIcon;\n","import { ApiUnitTypeT } from 'common/utils/api/models';\nimport { UnitTypeEnum } from 'common/constants';\n\nexport const getLoadUnitType = (apiUnit: ApiUnitTypeT | null | undefined): UnitTypeEnum | null => {\n    switch (apiUnit) {\n        case 'EURO_PALLET_1': {\n            return UnitTypeEnum.eur1Pallets;\n        }\n        case 'EURO_PALLET_2': {\n            return UnitTypeEnum.eur2Pallets;\n        }\n        case 'EURO_PALLET_6': {\n            return UnitTypeEnum.eur6Pallets;\n        }\n        case 'OTHER': {\n            return UnitTypeEnum.other;\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nexport const getApiLoadUnitType = (unit: UnitTypeEnum | null | undefined): ApiUnitTypeT | null => {\n    switch (unit) {\n        case UnitTypeEnum.eur1Pallets: {\n            return 'EURO_PALLET_1';\n        }\n        case UnitTypeEnum.eur2Pallets: {\n            return 'EURO_PALLET_2';\n        }\n        case UnitTypeEnum.eur6Pallets: {\n            return 'EURO_PALLET_6';\n        }\n        case UnitTypeEnum.other: {\n            return 'OTHER';\n        }\n        default: {\n            return null;\n        }\n    }\n};\n","import {\n    CANCEL_SPOT_REQUEST,\n    CANCEL_SPOT_REQUEST_BY_TOUR,\n    CancelSpotRequestActionT,\n    CancelSpotRequestByTourActionT,\n    SEND_TO_SPOT_BY_TOUR,\n    SendToSpotByTourActionT,\n    UPDATE_REQUEST_BEGIN,\n    UPDATE_REQUEST_ERROR,\n    UPDATE_REQUEST_SUCCESS,\n    UpdateBeginActionT,\n    UpdateErrorActionT,\n    UpdateSuccessActionT,\n} from './types';\n\nexport const sendToSpotByTour = (tourId: TourIdT, deadline: string, comment: string): SendToSpotByTourActionT => ({\n    type: SEND_TO_SPOT_BY_TOUR,\n    tourId,\n    deadline,\n    comment,\n});\n\nexport const cancelSpotRequestByTour = (tourId: TourIdT): CancelSpotRequestByTourActionT => ({\n    type: CANCEL_SPOT_REQUEST_BY_TOUR,\n    tourId,\n});\n\nexport const cancelSpotRequest = (spotRequestId: SpotRequestIdT): CancelSpotRequestActionT => ({\n    type: CANCEL_SPOT_REQUEST,\n    spotRequestId,\n});\n\nexport const updateBegin = (): UpdateBeginActionT => ({\n    type: UPDATE_REQUEST_BEGIN,\n});\n\nexport const updateSuccess = (): UpdateSuccessActionT => ({\n    type: UPDATE_REQUEST_SUCCESS,\n});\n\nexport const updateError = (error: Error): UpdateErrorActionT => ({\n    type: UPDATE_REQUEST_ERROR,\n    error,\n});\n","import { FetchSpotRequestsPageQueryT } from 'broker-admin/store/spot-requests/models';\nimport { SpotRequestsQuickFilterEnum } from 'broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/constants';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { SpotRequestsSortEnum, SpotRequestStatusEnum } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\n\nconst getQueryFromQuickFilters = (\n    quickFilter: SpotRequestsQuickFilterEnum | null | undefined,\n): FetchSpotRequestsPageQueryT => {\n    switch (quickFilter) {\n        case SpotRequestsQuickFilterEnum.open: {\n            return {\n                status: SpotRequestStatusEnum.open,\n            };\n        }\n        case SpotRequestsQuickFilterEnum.accepted: {\n            return {\n                status: SpotRequestStatusEnum.accepted,\n            };\n        }\n        case SpotRequestsQuickFilterEnum.assigned: {\n            return {\n                status: SpotRequestStatusEnum.assigned,\n            };\n        }\n        case SpotRequestsQuickFilterEnum.expired: {\n            return {\n                status: SpotRequestStatusEnum.expired,\n            };\n        }\n        case SpotRequestsQuickFilterEnum.canceled: {\n            return {\n                status: SpotRequestStatusEnum.canceled,\n            };\n        }\n        case SpotRequestsQuickFilterEnum.expireSoon: {\n            return {\n                expireSoon: true,\n            };\n        }\n        case SpotRequestsQuickFilterEnum.newBids: {\n            return {\n                hasUnreadBids: true,\n            };\n        }\n        default: {\n            return {};\n        }\n    }\n};\n\nconst formatSort = (sort: PageSortT<SpotRequestsSortEnum> | null): FetchSpotRequestsPageQueryT['sorting'] | null => {\n    switch (sort?.value) {\n        case SpotRequestsSortEnum.destinationTime: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'DESTINATION_TIME_ASC';\n            }\n            return 'DESTINATION_TIME_DESC';\n        }\n        case SpotRequestsSortEnum.originTime: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'ORIGIN_TIME_ASC';\n            }\n            return 'ORIGIN_TIME_DESC';\n        }\n        case SpotRequestsSortEnum.placedTime: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'PLACED_TIME_ASC';\n            }\n            return 'PLACED_TIME_DESC';\n        }\n        case SpotRequestsSortEnum.expirationTime: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'EXPIRATION_TIME_ASC';\n            }\n            return 'EXPIRATION_TIME_DESC';\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<SpotRequestsSortEnum> | null,\n): FetchSpotRequestsPageQueryT => {\n    const dictTrailerTypeId = queryFilters[QueryFiltersKeysEnum.dictTrailerTypeId];\n\n    return {\n        shipperId: queryFilters[QueryFiltersKeysEnum.createdByShipperId] || undefined,\n\n        createdBy: queryFilters[QueryFiltersKeysEnum.createdByUserId] || undefined,\n\n        createdDateFrom: queryFilters[QueryFiltersKeysEnum.createdDateFrom] || undefined,\n        createdDateTo: queryFilters[QueryFiltersKeysEnum.createdDateTo] || undefined,\n\n        trailerTypeId: dictTrailerTypeId ? +dictTrailerTypeId : undefined,\n\n        textSearch: queryFilters[QueryFiltersKeysEnum.searchText] || undefined,\n        originAddress: queryFilters[QueryFiltersKeysEnum.pickupAddress] || undefined,\n        destinationAddress: queryFilters[QueryFiltersKeysEnum.dropOffAddress] || undefined,\n\n        originDateFrom: queryFilters[QueryFiltersKeysEnum.pickupDateFrom] || undefined,\n        originDateTo: queryFilters[QueryFiltersKeysEnum.pickupDateTo] || undefined,\n\n        destinationDateFrom: queryFilters[QueryFiltersKeysEnum.dropOffDateFrom] || undefined,\n        destinationDateTo: queryFilters[QueryFiltersKeysEnum.dropOffDateTo] || undefined,\n\n        // TODO use tabs\n        ...getQueryFromQuickFilters(queryFilters[QueryFiltersKeysEnum.quickFilter]),\n\n        sorting: formatSort(sort) || undefined,\n    };\n};\n\nexport { prepareFetchPageQuery };\n","import { AssignmentVehiclesSuggestItemT, LinksT, TrailerAssignmentInfoT, TruckAssignmentInfoT } from './assignment';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nimport { FindTrailerQueryT, FindTruckQueryT, UserSelectionT } from './models';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nexport const CHANGE_USER_SELECTION = 'common/spot-assets-assigment/CHANGE_USER_SELECTION';\n\nexport const FIND_TRAILER_REQUEST = 'common/spot-assets-assigment/FIND_TRAILER_REQUEST';\nexport const FIND_TRAILER_REQUEST_BEGIN = 'common/spot-assets-assigment/FIND_TRAILER_REQUEST_BEGIN';\nexport const FIND_TRAILER_REQUEST_ERROR = 'common/spot-assets-assigment/FIND_TRAILER_REQUEST_ERROR';\nexport const FIND_TRAILER_REQUEST_SUCCESS = 'common/spot-assets-assigment/FIND_TRAILER_REQUEST_SUCCESS';\n\nexport const FIND_TRUCK_REQUEST = 'common/spot-assets-assigment/FIND_TRUCK_REQUEST';\nexport const FIND_TRUCK_REQUEST_BEGIN = 'common/spot-assets-assigment/FIND_TRUCK_REQUEST_BEGIN';\nexport const FIND_TRUCK_REQUEST_ERROR = 'common/spot-assets-assigment/FIND_TRUCK_REQUEST_ERROR';\nexport const FIND_TRUCK_REQUEST_SUCCESS = 'common/spot-assets-assigment/FIND_TRUCK_REQUEST_SUCCESS';\n\nexport const ASSIGN = 'common/spot-assets-assigment/ASSIGN';\nexport const UNASSIGN = 'common/spot-assets-assigment/UNASSIGN';\nexport const ASSIGNMENT_REQUEST_BEGIN = 'common/spot-assets-assigment/ASSIGNMENT_REQUEST_BEGIN';\nexport const ASSIGNMENT_REQUEST_ERROR = 'common/spot-assets-assigment/ASSIGNMENT_REQUEST_ERROR';\nexport const ASSIGNMENT_REQUEST_SUCCESS = 'common/spot-assets-assigment/ASSIGNMENT_REQUEST_SUCCESS';\n\nexport type SpotAssetsAssignmentStateT = {\n    userSelection: UserSelectionT;\n    truckById: Record<TruckIdT, TruckAssignmentInfoT>;\n    truckSuggest: {\n        query: FindTruckQueryT | null;\n        requestStatus: RequestStatusT;\n        ids: Array<TruckIdT>;\n    };\n    trailerById: Record<TrailerIdT, TrailerAssignmentInfoT>;\n    trailerSuggest: {\n        query: FindTrailerQueryT | null;\n        requestStatus: RequestStatusT;\n        ids: Array<TrailerIdT>;\n    };\n    links: LinksT;\n    assigmentStatus: RequestStatusT;\n};\n\nexport type ChangeUserSelectionActionT = {\n    type: typeof CHANGE_USER_SELECTION;\n    changes: Partial<UserSelectionT>;\n    transportOrderId: TransportOrderIdT | null;\n};\n\nexport type FindTrailerActionT = {\n    type: typeof FIND_TRAILER_REQUEST;\n    query: FindTrailerQueryT;\n};\n\nexport type FindTrailerBeginActionT = {\n    type: typeof FIND_TRAILER_REQUEST_BEGIN;\n    query: FindTrailerQueryT;\n};\n\nexport type FindTrailerSuccessActionT = {\n    type: typeof FIND_TRAILER_REQUEST_SUCCESS;\n    trailersSuggestItems: AssignmentVehiclesSuggestItemT[];\n    query: FindTrailerQueryT;\n};\n\nexport type FindTrailerErrorActionT = {\n    type: typeof FIND_TRAILER_REQUEST_ERROR;\n    error: Error;\n    query: FindTrailerQueryT;\n};\n\nexport type FindTruckActionT = {\n    type: typeof FIND_TRUCK_REQUEST;\n    query: FindTruckQueryT;\n};\n\nexport type FindTruckBeginActionT = {\n    type: typeof FIND_TRUCK_REQUEST_BEGIN;\n    query: FindTruckQueryT;\n};\n\nexport type FindTruckSuccessActionT = {\n    type: typeof FIND_TRUCK_REQUEST_SUCCESS;\n    trucksSuggestItems: AssignmentVehiclesSuggestItemT[];\n    query: FindTruckQueryT;\n};\n\nexport type FindTruckErrorActionT = {\n    type: typeof FIND_TRUCK_REQUEST_ERROR;\n    error: Error;\n    query: FindTruckQueryT;\n};\n\nexport type AssignActionT = {\n    type: typeof ASSIGN;\n    trailerId: TrailerIdT;\n    truckId: TruckIdT;\n    prohibitedCountries?: Array<CountryCodeT>;\n    transportOrderId: TransportOrderIdT;\n};\n\nexport type UnAssignActionT = {\n    type: typeof UNASSIGN;\n    transportOrderId: TransportOrderIdT;\n};\n\nexport type AssignBeginActionT = {\n    type: typeof ASSIGNMENT_REQUEST_BEGIN;\n};\n\nexport type AssignSuccessActionT = {\n    type: typeof ASSIGNMENT_REQUEST_SUCCESS;\n};\n\nexport type AssignErrorActionT = {\n    type: typeof ASSIGNMENT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type SpotAssetsAssignmentActionT =\n    | ChangeUserSelectionActionT\n    | FindTrailerActionT\n    | FindTrailerBeginActionT\n    | FindTrailerSuccessActionT\n    | FindTrailerErrorActionT\n    | FindTruckActionT\n    | FindTruckBeginActionT\n    | FindTruckSuccessActionT\n    | FindTruckErrorActionT\n    | AssignActionT\n    | UnAssignActionT\n    | AssignBeginActionT\n    | AssignSuccessActionT\n    | AssignErrorActionT;\n","import {\n    DOCUMENTS_DICT_REQUEST,\n    DOCUMENTS_DICT_REQUEST_BEGIN,\n    DOCUMENTS_DICT_REQUEST_ERROR,\n    DOCUMENTS_DICT_REQUEST_SUCCESS,\n    FetchDocumentsDictActionT,\n    FetchDocumentsDictBeginActionT,\n    FetchDocumentsDictErrorActionT,\n    FetchDocumentsDictSuccessActionT,\n} from './types';\nimport { DictDocumentT } from './models';\nimport { ApiPartnerTypeT } from 'common/utils/api/models';\n\nexport const fetchDocumentsDict = (partnerType: ApiPartnerTypeT | null): FetchDocumentsDictActionT => ({\n    type: DOCUMENTS_DICT_REQUEST,\n    partnerType,\n});\n\nexport const fetchDocumentsDictBegin = (partnerType: ApiPartnerTypeT): FetchDocumentsDictBeginActionT => ({\n    type: DOCUMENTS_DICT_REQUEST_BEGIN,\n    partnerType,\n});\n\nexport const fetchDocumentsDictSuccess = (\n    partnerType: ApiPartnerTypeT,\n    documentsList: DictDocumentT[],\n): FetchDocumentsDictSuccessActionT => ({\n    type: DOCUMENTS_DICT_REQUEST_SUCCESS,\n    partnerType,\n    documentsList,\n});\n\nexport const fetchDocumentsDictError = (\n    partnerType: ApiPartnerTypeT,\n    error: Error,\n): FetchDocumentsDictErrorActionT => ({\n    type: DOCUMENTS_DICT_REQUEST_ERROR,\n    partnerType,\n    error,\n});\n","import React, { ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport DocumentsTable, {\n    TableColumnModsEnum,\n    TableColumnT,\n    TableRowMetaT,\n    TableRowModsEnum,\n    TableRowThemeEnum,\n} from 'common/components/DocumentsTable/DocumentsTable';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport classNames from 'classnames/bind';\nimport styles from './BaseCarrierContractsTable.scss';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\nimport { ContractsActionsT } from '../models';\nimport { ApiCarrierContractStatusT } from 'common/utils/api/models';\nimport ActionsCell from './cell-renderers/ActionsCell/ActionsCell';\nimport { ContractRowT } from './models';\nimport ExpireDateCell from './cell-renderers/ExpireDateCell/ExpireDateCell';\nimport ContractNameCell from 'common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/cell-renderers/ContractNameCell/ContractNameCell';\nimport CarrierContractStatusPill from 'common/components/status-pill/CarrierContractStatusPill/CarrierContractStatusPill';\n\ntype PropsT = {\n    className?: string;\n    tableName: string;\n    rows: Array<ContractRowT>;\n    onSelectRow?: (row: ContractRowT) => void;\n    isLoading: boolean;\n    testSelector?: string;\n    headerNode?: ReactNode;\n    footerNode?: ReactNode;\n    onOpenUserDetails: (userId: UserIdT) => void;\n    contactStatusesAttentionSet?: Set<ApiCarrierContractStatusT | null>;\n} & ContractsActionsT;\n\nconst cx = classNames.bind(styles);\n\nconst BaseCarrierContractsTable: React.FC<PropsT> = React.memo((props) => {\n    const {\n        tableName,\n        rows,\n        isLoading,\n        onOpenUserDetails,\n        testSelector,\n        className,\n        headerNode,\n        footerNode,\n        onSelectRow,\n        onDownloadContract,\n        onEditContractDetails,\n        onRevokeContract,\n        contactStatusesAttentionSet,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<ContractRowT, void>> = [\n        {\n            renderHeader: () => <span>{t('common:carrier-contracts.table.columns.name')}</span>,\n            headerClassName: cx('table__header', 'table__header--name'),\n            render: (row: ContractRowT) => <ContractNameCell name={row?.name || ''} />,\n            className: cx('table__column', 'table__column--name'),\n            testSelector: 'name',\n        },\n        {\n            renderHeader: () => <span>{t('common:carrier-contracts.table.columns.uploaded')}</span>,\n            headerClassName: cx('table__header', 'table__header--uploaded'),\n            render: (row: ContractRowT) => {\n                return (\n                    <EventCell\n                        date={row.createdDate}\n                        userId={row.createdById}\n                        userFullName={row.createdByName}\n                        byBroker={row.createdByBroker}\n                        openUserDetails={onOpenUserDetails}\n                    />\n                );\n            },\n            className: cx('table__column', 'table__column--uploaded'),\n            testSelector: 'upload',\n        },\n        {\n            renderHeader: () => <span>{t('common:carrier-contracts.table.columns.reviewed')}</span>,\n            headerClassName: cx('table__header', 'table__header--reviewed'),\n            render: (row: ContractRowT) => {\n                return (\n                    <EventCell\n                        date={row.reviewedDate}\n                        userId={row.reviewedById}\n                        userFullName={row.reviewedByName}\n                        byBroker\n                        openUserDetails={onOpenUserDetails}\n                    />\n                );\n            },\n            className: cx('table__column', 'table__column--reviewed'),\n            testSelector: 'review',\n        },\n        {\n            renderHeader: () => <span>{t('common:carrier-contracts.table.columns.expire-date')}</span>,\n            headerClassName: cx('table__header', 'table__header--expire-date'),\n            headerMods: {\n                [TableColumnModsEnum.center]: true,\n            },\n            render: (row: ContractRowT) => {\n                return <ExpireDateCell row={row} onSelectRow={onSelectRow} />;\n            },\n            className: cx('table__column', 'table__column--expire-date'),\n            testSelector: 'valid-till',\n        },\n        {\n            renderHeader: () => <span>{t('common:carrier-contracts.table.columns.status')}</span>,\n            headerClassName: cx('table__header', 'table__header--status'),\n            render: (row: ContractRowT) => {\n                return <CarrierContractStatusPill isSymmetrical status={row.status || null} />;\n            },\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n        {\n            renderHeader: () => null,\n            headerClassName: cx('table__header', 'table__header--actions'),\n            render: (row: ContractRowT) => {\n                return (\n                    <ActionsCell\n                        row={row}\n                        onEditContractDetails={onEditContractDetails}\n                        onRevokeContract={onRevokeContract}\n                        onDownloadContract={onDownloadContract}\n                    />\n                );\n            },\n            className: cx('table__column', 'table__column--actions'),\n            testSelector: 'actions',\n        },\n    ];\n\n    const getRowMods = (meta: TableRowMetaT, row: ContractRowT) => {\n        return {\n            [TableRowModsEnum.hasLeftOrangeBorder]: row?.status && contactStatusesAttentionSet?.has(row.status),\n        };\n    };\n\n    const getRowTheme = (): TableRowThemeEnum => {\n        return TableRowThemeEnum.normal;\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<ContractRowT> tableName={tableName} isLoading={isLoading} rows={rows}>\n                {(rows, isUsedPrevRows) => (\n                    <DocumentsTable<ContractRowT, void>\n                        testSelector={testSelector}\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        isLoading={isLoading}\n                        getRowMods={getRowMods}\n                        getRowTheme={getRowTheme}\n                        onSelectRow={onSelectRow}\n                        isUsedPrevRows={isUsedPrevRows}\n                        headerNode={headerNode}\n                        footerNode={footerNode}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default BaseCarrierContractsTable;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AssetCell.scss';\nimport { useTranslation } from 'react-i18next';\nimport { SpotRequestT } from 'broker-admin/store/spot-requests/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { LinkSizeEnum, LinkThemeEnum, LinkToT } from 'common/components/Link/Link';\nimport TableCellLink from 'common/components/Table/cell-renderers/TableCellLink/TableCellLink';\n\ntype PropsT = {\n    spotRequest: SpotRequestT;\n    getPartnerLink: (partnerType: PartnerTypeEnum, partnerId: CompanyIdT) => LinkToT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst AssetCell: React.FC<PropsT> = React.memo((props) => {\n    const { spotRequest, getPartnerLink } = props;\n\n    const { t } = useTranslation();\n\n    const trailerTypeModel = spotRequest.trailerTypeModel || null;\n\n    const carrierId = spotRequest.carrierId || null;\n\n    return (\n        <div>\n            {trailerTypeModel && <div className={cx('model')}>{trailerTypeModel}</div>}\n            {carrierId ? (\n                <TableCellLink\n                    to={getPartnerLink(PartnerTypeEnum.carrier, carrierId)}\n                    theme={LinkThemeEnum.boldBrandDark}\n                    size={LinkSizeEnum.medium}\n                >\n                    {spotRequest.carrierName}\n                </TableCellLink>\n            ) : (\n                <div className={cx('not-assigned')}>{t('spot-requests.list.table.not-assigned')}</div>\n            )}\n        </div>\n    );\n});\n\nexport default AssetCell;\n","import * as React from 'react';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM } from 'common/store/constants';\nimport GoogleMapReact from 'google-map-react';\n\ntype PropsT = {};\n\nconst GoogleMapsLoaderWithoutMaps: React.FC<PropsT> = React.memo(() => {\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const apiIsLoaded: OnGoogleApiLoadedT = (api) => {\n        const { map, maps } = api;\n\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    return (\n        <div style={{ height: '1px', width: '1px', visibility: 'hidden' }}>\n            <GoogleMapReact\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                onGoogleApiLoaded={apiIsLoaded}\n            />\n        </div>\n    );\n});\n\nexport { GoogleMapsLoaderWithoutMaps };\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { USER_ROLE_T_MAP } from 'common/utils/users';\nimport { RolesEnum } from 'common/utils/api/models';\n\ntype PropsT = {\n    className?: string;\n    role: string;\n};\n\nconst UNKNOWN_LABEL_COLOR = PillLabelThemeEnum.light;\n\nconst getPillLabelByRole = (role: string): PillLabelThemeEnum => {\n    if (role === RolesEnum.companyAdmin) {\n        return PillLabelThemeEnum.brandDark;\n    }\n\n    if (USER_ROLE_T_MAP[role as RolesEnum]) {\n        return PillLabelThemeEnum.charcoal;\n    }\n\n    return UNKNOWN_LABEL_COLOR;\n};\n\nconst UserRolePill: React.FC<PropsT> = React.memo((props) => {\n    const { role, className } = props;\n\n    const { t } = useTranslation();\n\n    const roleKey = USER_ROLE_T_MAP[role as RolesEnum];\n\n    return (\n        <PillLabel className={className} theme={getPillLabelByRole(role)} isSymmetrical>\n            {roleKey ? t(roleKey) : role}\n        </PillLabel>\n    );\n});\n\nexport default UserRolePill;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\nexport type ArchiveDriverConfirmationDataT = {\n    companyId: CompanyIdT;\n    driverId: DriverIdT;\n    driverName: string | undefined;\n    driverSurname: string | undefined;\n};\n\ntype PropsT = {\n    data: ArchiveDriverConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: ArchiveDriverConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'archive-driver';\n\nconst ArchiveDriverConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    const fullName = [data.driverName, data.driverSurname].filter(Boolean).join(' ');\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.archive'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:drivers-page.archive-confirmation.title', {\n                        fullName,\n                    })}\n                    message={t('common:drivers-page.archive-confirmation.description', {\n                        fullName,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ArchiveDriverConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"PartnerFiltersSidebarContent__form___Wn9Mp\",\"fadeIn\":\"PartnerFiltersSidebarContent__fadeIn___sPteZ\",\"blinking\":\"PartnerFiltersSidebarContent__blinking____9iT9\"};","import React from 'react';\n\nexport type ScrollBarWidthContextT = {\n    value: number;\n    setValue: (value: number) => void;\n};\n\nconst useScrollBarWidth = (): ScrollBarWidthContextT => {\n    const [value, setValue] = React.useState<number>(0);\n\n    return {\n        value,\n        setValue,\n    };\n};\n\nexport default useScrollBarWidth;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    attachPaperToShipment,\n    attachPaperToShipmentBegin,\n    attachPaperToShipmentSuccess,\n    attachPaperToShipmentError,\n    attachPaperToTour,\n    attachPaperToTourBegin,\n    attachPaperToTourSuccess,\n    attachPaperToTourError,\n    deleteAttachedPaper,\n    deleteAttachedPaperBegin,\n    deleteAttachedPaperSuccess,\n    deleteAttachedPaperError,\n} from './actions';\nimport { selectDeleteRequestStatus } from './selectors';\nimport { logWarning } from 'common/utils/logger';\nimport { CompanyTypeEnum } from 'common/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport { ShipmentOptimisticAttachPaperT, TourOptimisticAttachPaperT } from './models';\nimport { v4 as uuidv4 } from 'uuid';\nimport { papersEditRefreshChannel } from './channels';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { parseResponseData } from './utils/parse-response-data';\n\nfunction getAttachPaperToShipmentSaga(companyType: CompanyTypeEnum) {\n    return function* (action: ReturnType<typeof attachPaperToShipment>): WrapGeneratorT<void> {\n        const { shipmentId, query, data } = action.payload;\n\n        if (!shipmentId) {\n            logWarning('empty shipmentId');\n            return;\n        }\n\n        const fakeId = uuidv4();\n        const formData = data as unknown as FormData;\n        const file = formData.get('file') as File | null;\n        const fileName = file?.name || 'unknown';\n        const optimisticPaper: ShipmentOptimisticAttachPaperT = {\n            fakeId,\n            afterAttachId: null,\n            fileName,\n            comment: query.comment,\n            paperType: query.paperType,\n        };\n\n        yield put(attachPaperToShipmentBegin({ shipmentId, optimisticPaper }));\n\n        let result: ReturnApiT<\n            typeof brokerTranziitApi.attachPaperToShipment | typeof carrierTranziitApi.attachPaperToShipment\n        >;\n        if (companyType === CompanyTypeEnum.carrier) {\n            result = yield carrierTranziitApi.attachPaperToShipment(shipmentId, query, data);\n        } else {\n            result = yield brokerTranziitApi.attachPaperToShipment(shipmentId, query, data);\n        }\n\n        const [error, responseData] = result;\n        const afterAttachId = parseResponseData(responseData);\n\n        if (error) {\n            yield put(attachPaperToShipmentError({ shipmentId, fakeId, error }));\n        } else {\n            yield put(attachPaperToShipmentSuccess({ shipmentId, fakeId, afterAttachId }));\n        }\n\n        papersEditRefreshChannel.emit({});\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.paperAdded,\n                    data: {},\n                }),\n            ),\n        );\n    };\n}\n\nfunction getAttachPaperToTourSaga(companyType: CompanyTypeEnum) {\n    return function* (action: ReturnType<typeof attachPaperToTour>): WrapGeneratorT<void> {\n        const { tourId, query, data } = action.payload;\n\n        if (!tourId) {\n            logWarning('empty tourId');\n            return;\n        }\n\n        const fakeId = uuidv4();\n        const formData = data as unknown as FormData;\n        const file = formData.get('file') as File | null;\n        const fileName = file?.name || 'unknown';\n        const optimisticPaper: TourOptimisticAttachPaperT = {\n            fakeId,\n            afterAttachId: null,\n            fileName,\n            comment: query.comment,\n            paperType: query.paperType,\n        };\n\n        yield put(attachPaperToTourBegin({ tourId, optimisticPaper }));\n\n        let result: ReturnApiT<\n            typeof brokerTranziitApi.attachPaperToTour | typeof carrierTranziitApi.attachPaperToTour\n        >;\n        if (companyType === CompanyTypeEnum.carrier) {\n            result = yield carrierTranziitApi.attachPaperToTour(tourId, query, data);\n        } else {\n            result = yield brokerTranziitApi.attachPaperToTour(tourId, query, data);\n        }\n\n        const [error, responseData] = result;\n        const afterAttachId = parseResponseData(responseData);\n\n        if (error) {\n            yield put(attachPaperToTourError({ tourId, fakeId, error }));\n        } else {\n            yield put(attachPaperToTourSuccess({ tourId, fakeId, afterAttachId }));\n        }\n\n        papersEditRefreshChannel.emit({});\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.paperAdded,\n                    data: {},\n                }),\n            ),\n        );\n    };\n}\n\nfunction getDeleteAttachedPaperSaga(companyType: CompanyTypeEnum) {\n    return function* (action: ReturnType<typeof deleteAttachedPaper>): WrapGeneratorT<void> {\n        const { paperId } = action.payload;\n\n        if (!paperId) {\n            logWarning('empty paperId');\n            return;\n        }\n\n        const requestStatus: ReReturnT<typeof selectDeleteRequestStatus> = yield select(\n            selectDeleteRequestStatus(paperId),\n        );\n        if (requestStatus.loading) {\n            return;\n        }\n\n        yield put(deleteAttachedPaperBegin({ paperId }));\n\n        let result: ReturnApiT<\n            typeof brokerTranziitApi.deleteAttachedPaper | typeof carrierTranziitApi.deleteAttachedPaper\n        >;\n        if (companyType === CompanyTypeEnum.carrier) {\n            result = yield carrierTranziitApi.deleteAttachedPaper(paperId);\n        } else {\n            result = yield brokerTranziitApi.deleteAttachedPaper(paperId);\n        }\n\n        const [error] = result;\n\n        if (error) {\n            yield put(deleteAttachedPaperError({ paperId, error }));\n        } else {\n            yield put(deleteAttachedPaperSuccess({ paperId }));\n        }\n\n        papersEditRefreshChannel.emit({});\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.paperDeleted,\n                    data: {},\n                }),\n            ),\n        );\n    };\n}\n\nfunction* papersEditSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(attachPaperToShipment.type, getAttachPaperToShipmentSaga(companyType));\n    yield takeEvery(attachPaperToTour.type, getAttachPaperToTourSaga(companyType));\n    yield takeEvery(deleteAttachedPaper.type, getDeleteAttachedPaperSaga(companyType));\n}\n\nexport { papersEditSaga };\n","import { RulesStateT } from './types';\nimport { StateT } from 'broker-admin/store/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { RuleDetailsT } from './models';\n\nexport const selectRulesPages = (state: StateT): RulesStateT['pages'] => state.priceSettings.rules.pages;\n\nexport const selectRulesQuery = (state: StateT): RulesStateT['query'] => state.priceSettings.rules.query;\n\nexport const selectRulesTotal = (state: StateT): RulesStateT['total'] => state.priceSettings.rules.total;\n\nexport const selectRulesByIds = (state: StateT): RulesStateT['byId'] => state.priceSettings.rules.byId;\n\nexport const selectUpdateRulesRequest = (state: StateT): RequestStatusT => state.priceSettings.rules.updateRequest;\n\nexport const selectCreateRuleRequest = (state: StateT): RequestStatusT => state.priceSettings.rules.creationRequest;\n\nexport const selectDeleteRulesRequest = (state: StateT): RequestStatusT => state.priceSettings.rules.deleteRequest;\n\nexport const selectFetchRuleDetailsRequest = (state: StateT): RequestStatusT =>\n    state.priceSettings.rules.fetchDetailsRequest;\n\nexport const selectPreviewRuleRequest = (state: StateT): RequestStatusT => state.priceSettings.rules.previewRequest;\n\nexport const selectPreviewRule = (state: StateT) => state.priceSettings.rules.preview;\n\nexport const selectRuleDetails =\n    (ruleId: RuleIdT | null) =>\n    (state: StateT): RuleDetailsT | null => {\n        if (ruleId === null) {\n            return null;\n        }\n\n        return state.priceSettings.rules.detailsById[ruleId];\n    };\n","import {\n    FIND_CARRIERS_REQUEST,\n    FIND_CARRIERS_REQUEST_BEGIN,\n    FIND_CARRIERS_REQUEST_ERROR,\n    FIND_CARRIERS_REQUEST_SUCCESS,\n    FindCarriersActionT,\n    FindCarriersBeginActionT,\n    FindCarriersErrorActionT,\n    FindCarriersSuccessActionT,\n    RESET,\n    ResetActionT,\n} from './types';\nimport { FindCarriersQueryT, PartnerT } from './models';\n\nexport const findCarriers = (query: FindCarriersQueryT): FindCarriersActionT => ({\n    type: FIND_CARRIERS_REQUEST,\n    query,\n});\n\nexport const findCarriersBegin = (query: FindCarriersQueryT): FindCarriersBeginActionT => ({\n    type: FIND_CARRIERS_REQUEST_BEGIN,\n    query,\n});\n\nexport const findCarriersSuccess = (partners: PartnerT[]): FindCarriersSuccessActionT => ({\n    type: FIND_CARRIERS_REQUEST_SUCCESS,\n    partners,\n});\n\nexport const findCarriersError = (error: Error): FindCarriersErrorActionT => ({\n    type: FIND_CARRIERS_REQUEST_ERROR,\n    error,\n});\n\nexport const reset = (): ResetActionT => ({\n    type: RESET,\n});\n","import classNames from 'classnames/bind';\nimport styles from './MapPin.scss';\nimport * as React from 'react';\nimport { CSSProperties } from 'react';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\nexport enum MapPinThemeEnum {\n    slate = 'slate',\n    charcoal = 'charcoal',\n    gray = 'gray',\n    light = 'light',\n    brandDark = 'brand-dark',\n    blazeOrange = 'blaze-orange',\n    tomatoRed = 'tomato-red',\n}\n\nexport type MapPointPropsT = {\n    lat?: number | undefined;\n    lng?: number | undefined;\n    className?: string;\n    hasPaddings?: boolean;\n    withoutArrow?: boolean;\n    hasBorder?: boolean;\n    theme?: MapPinThemeEnum;\n    style?: CSSProperties;\n    children?: React.ReactNode;\n};\n\nconst MapPin: React.FC<MapPointPropsT> = React.memo((props) => {\n    const { hasPaddings, withoutArrow, hasBorder, theme, className, style, children } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('map-tooltip', {\n                    'map-tooltip--hasPaddings': hasPaddings,\n                    'map-tooltip--hasArrow': !withoutArrow,\n                    'map-tooltip--hasBorder': hasBorder,\n                    [`map-tooltip--theme-${theme}`]: !!theme,\n                }),\n                className,\n            )}\n            style={style}\n        >\n            {children}\n        </div>\n    );\n});\n\nexport default MapPin;\n","import * as React from 'react';\nimport PillLabel, { PillLabelPropsT, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiFuelOptionTypeT, FuelOptionTypeEnum } from 'common/constants';\nimport FuelOptionTypeLabel from 'common/components/FuelOptionTypeLabel/FuelOptionTypeLabel';\n\ntype PropsT = Omit<PillLabelPropsT, 'theme'> & {\n    fuelOption: ApiFuelOptionTypeT | null | undefined;\n};\n\nexport const PILL_THEME_BY_FUEL_OPTION_TYPE: Record<ApiFuelOptionTypeT, PillLabelThemeEnum> = {\n    [FuelOptionTypeEnum.hvo]: PillLabelThemeEnum.brandAccent,\n    [FuelOptionTypeEnum.diesel]: PillLabelThemeEnum.charcoal,\n};\n\nconst FuelOptionTypePill: React.FC<PropsT> = React.memo((props) => {\n    const { fuelOption, ...restProps } = props;\n\n    if (!fuelOption) {\n        return null;\n    }\n\n    return (\n        <PillLabel isSymmetrical isNoWrap {...restProps} theme={PILL_THEME_BY_FUEL_OPTION_TYPE[fuelOption]}>\n            <FuelOptionTypeLabel fuelOption={fuelOption} />\n        </PillLabel>\n    );\n});\n\nexport default FuelOptionTypePill;\n","import { all, put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_STATISTICS_REQUEST, FetchStatisticsRequestActionT } from './types';\nimport {\n    fetchDoneStatisticsBegin,\n    fetchDoneStatisticsError,\n    fetchDoneStatisticsSuccess,\n    fetchRejectStatisticsBegin,\n    fetchRejectStatisticsError,\n    fetchRejectStatisticsSuccess,\n    fetchStatisticsBegin,\n} from './actions';\nimport { selectStatisticsFetchQuery } from './selectors';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport { FetchStatisticsQueryT } from 'broker-admin/store/statistics/models';\n\nfunction* fetchDoneStatisticsSaga(query: FetchStatisticsQueryT): WrapGeneratorT<void> {\n    yield put(fetchDoneStatisticsBegin(query));\n\n    const [error, statistic]: ReturnApiT<typeof brokerTranziitApi.getDoneStatistics> =\n        yield brokerTranziitApi.getDoneStatistics(query);\n    if (error) {\n        yield put(fetchDoneStatisticsError(query, error));\n    } else {\n        yield put(fetchDoneStatisticsSuccess(query, statistic));\n    }\n}\n\nfunction* fetchRejectStatisticsSaga(query: FetchStatisticsQueryT): WrapGeneratorT<void> {\n    yield put(fetchRejectStatisticsBegin(query));\n\n    const [error, statistic]: ReturnApiT<typeof brokerTranziitApi.getRejectStatistics> =\n        yield brokerTranziitApi.getRejectStatistics(query);\n    if (error) {\n        yield put(fetchRejectStatisticsError(query, error));\n    } else {\n        yield put(fetchRejectStatisticsSuccess(query, statistic));\n    }\n}\n\nfunction* fetchStatisticsSaga(action: FetchStatisticsRequestActionT): WrapGeneratorT<void> {\n    const { query, options } = action;\n\n    if (!query) {\n        return;\n    }\n\n    const prevQuery: ReturnType<typeof selectStatisticsFetchQuery> = yield select(selectStatisticsFetchQuery);\n    const isSameRequest = checkIsSameQuery(prevQuery, query);\n    if (isSameRequest && !options?.isForceUpdate) {\n        return;\n    }\n\n    yield put(fetchStatisticsBegin(query, options));\n\n    yield all([fetchDoneStatisticsSaga(query), fetchRejectStatisticsSaga(query)]);\n}\n\nfunction* statisticsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_STATISTICS_REQUEST, fetchStatisticsSaga);\n}\n\nexport default statisticsSaga;\n","import * as React from 'react';\n\nimport AuthLayout from 'common/layouts/AuthLayout/AuthLayout';\nimport ContinueSignUpForm from './ContinueSignUpForm/ContinueSignUpForm';\n\nimport { QueryKeysEnum } from '../../constants';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectEmailVerificationRequestStatus } from 'common/store/auth/selectors';\nimport { FieldsEnum, FormValuesT } from './ContinueSignUpForm/constants';\n\nimport classNames from 'classnames/bind';\nimport styles from './ContinueSignUpPage.scss';\nimport { continueSignUp } from 'common/store/auth/actions';\n\nimport useQuery from 'common/utils/hooks/useQuery';\nimport { AuthErrorTypeEnum, checkIsAuthApiError } from 'common/utils/api/auth/errors/auth-api-error';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\n\nconst cx = classNames.bind(styles);\n\ntype QueryT = {\n    [QueryKeysEnum.email]: string;\n    [QueryKeysEnum.oobCode]: string;\n    [QueryKeysEnum.returnUrl]: string;\n};\n\ntype PropsT = {};\n\nconst ContinueSignUpPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const query = useQuery<QueryT>();\n\n    const requestStatus = useSelector(selectEmailVerificationRequestStatus);\n\n    const handleSubmit = (formValue: FormValuesT): void => {\n        const oobCode = query[QueryKeysEnum.oobCode] || null;\n        const email = query[QueryKeysEnum.email] || null;\n        const returnUrl = query[QueryKeysEnum.returnUrl] || null;\n\n        dispatch(\n            continueSignUp(\n                formValue[FieldsEnum.firstName],\n                formValue[FieldsEnum.lastName],\n                formValue[FieldsEnum.phone],\n                formValue[FieldsEnum.password],\n                oobCode,\n                email,\n                returnUrl,\n            ),\n        );\n    };\n\n    if (\n        checkIsAuthApiError(requestStatus.error) &&\n        requestStatus.error.type === AuthErrorTypeEnum.failEmailVerification\n    ) {\n        return (\n            <AuthLayout title={t('common:email-verification.error.title')} testSelector=\"confirm-email-page\">\n                <div className={cx('content')}>{t('common:email-verification.error.text')}</div>\n                <br />\n                <br />\n                <div className={cx('error')}>{requestStatus.error?.message}</div>\n            </AuthLayout>\n        );\n    }\n\n    return (\n        <>\n            <AuthLayout title={t('common:continue-sign-up.title')} testSelector=\"continue-sign-up-page\">\n                <PageTitle title={t('common:page-titles.continue-sign-up')} />\n                <ContinueSignUpForm onSubmit={handleSubmit} requestStatus={requestStatus} />\n            </AuthLayout>\n        </>\n    );\n});\n\nexport default ContinueSignUpPage;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './RulesTable.scss';\nimport { useTranslation } from 'react-i18next';\n// import StatusCell from './cell-renderers/StatusCell/StatusCell';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport { RuleT } from 'broker-admin/store/price-settings/rules/models';\nimport CheckboxHeader from 'common/components/Table/header-renderers/CheckboxHeader/CheckboxHeader';\nimport CheckboxCell from 'common/components/Table/cell-renderers/CheckboxCell/CheckboxCell';\nimport { useSelector } from 'react-redux';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\n// import UpdateCell from './cell-renderers/UpdateCell/UpdateCell';\nimport ValidPeriodCell from './cell-renderers/ValidPeriodCell/ValidPeriodCell';\nimport ControlsCell, { ActionsPropsT } from './cell-renderers/ControlsCell/ControlsCell';\nimport NameCell from './cell-renderers/NameCell/NameCell';\nimport LocationsCell from './cell-renderers/LocationsCell/LocationsCell';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\n// import RuleCell from './cell-renderers/RuleCell/RuleCell';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport TypeCell from './cell-renderers/TypeCell/TypeCell';\nimport CreateUpdateCell from './cell-renderers/CreateUpdateCell/CreateUpdateCell';\nimport TargetCell from './cell-renderers/TargetCell/TargetCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    rules: Array<RuleT>;\n    isDisabled: boolean;\n    isLoading: boolean;\n    className?: string;\n    selectedRulesSet: Set<RuleT>;\n    onSelectRules: (selectedRulesSet: Set<RuleT>) => void;\n    onClickRow: (event: React.MouseEvent, rule: RuleT) => void;\n    onOpenUserDetails: (userId: UserIdT | null) => void;\n} & ActionsPropsT;\n\nconst RulesTable: React.FC<PropsT> = React.memo((props) => {\n    const {\n        rules,\n        className,\n        selectedRulesSet,\n        onSelectRules,\n        onActiveRule,\n        onDeactiveRule,\n        onDeleteRule,\n        onClickRow,\n        isDisabled,\n        isLoading,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const countryByCode = useSelector(selectCountriesByCode);\n\n    const columns: Array<TableColumnT<RuleT, void>> = [\n        {\n            renderHeader: () => (\n                <CheckboxHeader<RuleT> selectedRowsSet={selectedRulesSet} rows={rules} onChange={onSelectRules} />\n            ),\n            headerClassName: cx('table__header', 'table__header--checkbox'),\n            render: (rule: RuleT) => (\n                <CheckboxCell<RuleT> row={rule} selectedRowsSet={selectedRulesSet} onChange={onSelectRules} />\n            ),\n            className: cx('table__column', 'table__column--checkbox'),\n            testSelector: 'checkbox',\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rules.table.columns.name')}</span>,\n            headerClassName: cx('table__header', 'table__header--name'),\n            render: (rule: RuleT) => <NameCell rule={rule} />,\n            className: cx('table__column', 'table__column--name'),\n            testSelector: 'name',\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rules.table.columns.from')}</span>,\n            headerClassName: cx('table__header', 'table__header--locations'),\n            render: (rule: RuleT) => (\n                <LocationsCell\n                    countryCodes={(rule.countriesFrom as Array<CountryCodeT>) || []}\n                    countryByCode={countryByCode}\n                    zipCodes={rule.zipsFrom || []}\n                />\n            ),\n            className: cx('table__column', 'table__column--locations'),\n            testSelector: 'from-locations',\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rules.table.columns.to')}</span>,\n            headerClassName: cx('table__header', 'table__header--locations'),\n            render: (rule: RuleT) => (\n                <LocationsCell\n                    countryCodes={(rule.countriesTo as Array<CountryCodeT>) || []}\n                    countryByCode={countryByCode}\n                    zipCodes={rule.zipsTo || []}\n                />\n            ),\n            className: cx('table__column', 'table__column--locations'),\n            testSelector: 'to-locations',\n        },\n        // {\n        //     renderHeader: () => <span>{t('price-settings.rules.table.columns.target')}</span>,\n        //     headerClassName: cx('table__header', 'table__header--rule'),\n        //     render: (rule: RuleT) => <RuleCell rule={rule} />,\n        //     className: cx('table__column', 'table__column--rule'),\n        //     testSelector: 'rule',\n        // },\n        // {\n        //     renderHeader: () => <span>{t('price-settings.rules.table.columns.update')}</span>,\n        //     headerClassName: cx('table__header', 'table__header--update'),\n        //     render: (rule: RuleT) => <UpdateCell rule={rule} onOpenUserDetails={onOpenUserDetails} />,\n        //     className: cx('table__column', 'table__column--update'),\n        //     testSelector: 'update',\n        // },\n        // {\n        //     renderHeader: () => <span>{t('price-settings.rules.table.columns.status')}</span>,\n        //     headerClassName: cx('table__header', 'table__header--status'),\n        //     render: (rule: RuleT) => <StatusCell rule={rule} />,\n        //     className: cx('table__column', 'table__column--status'),\n        //     testSelector: 'status',\n        // },\n        {\n            renderHeader: () => <span>{t('price-settings.rules.table.columns.target')}</span>,\n            headerClassName: cx('table__header', 'table__header--target'),\n            render: (rule: RuleT) => <TargetCell rule={rule} />,\n            className: cx('table__column', 'table__column--target'),\n            testSelector: 'target',\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rules.table.columns.valid')}</span>,\n            headerClassName: cx('table__header', 'table__header--valid-period'),\n            render: (rule: RuleT) => <ValidPeriodCell rule={rule} />,\n            className: cx('table__column', 'table__column--valid-period'),\n            testSelector: 'valid-period',\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rules.table.columns.create-update-dates')}</span>,\n            headerClassName: cx('table__header', 'table__header--create-update-dates'),\n            render: (rule: RuleT) => <CreateUpdateCell rule={rule} />,\n            className: cx('table__column', 'table__column--create-update-dates'),\n            testSelector: 'create-update-dates',\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rules.table.columns.type')}</span>,\n            headerClassName: cx('table__header', 'table__header--type'),\n            render: (rule: RuleT) => <TypeCell rule={rule} />,\n            className: cx('table__column', 'table__column--type'),\n            testSelector: 'type',\n        },\n        {\n            renderHeader: () => null,\n            headerClassName: cx('table__header', 'table__header--controls'),\n            render: (rule: RuleT) => (\n                <ControlsCell\n                    id={String(rule.id)}\n                    isActive={!!rule.active}\n                    onActiveRule={onActiveRule}\n                    onDeactiveRule={onDeactiveRule}\n                    onDeleteRule={onDeleteRule}\n                />\n            ),\n            className: cx('table__column', 'table__column--controls'),\n            testSelector: 'controls',\n        },\n    ];\n\n    const getRowMods = (meta: TableRowMetaT) => ({\n        isSelected: meta.isSelected,\n    });\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<RuleT> tableName=\"rules\" isLoading={isLoading} rows={rules}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<RuleT, void>\n                        className={className}\n                        selectedRowsSet={selectedRulesSet}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        onSelectRow={onClickRow}\n                        isLoading={isLoading}\n                        testSelector=\"rules\"\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n            {isDisabled && <LoaderOverlay />}\n        </div>\n    );\n});\n\nexport default RulesTable;\n","import * as React from 'react';\nimport { useMemo, useState } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BrokerTourRouteMap.scss';\nimport GoogleMapReact from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport { StopTypeEnum } from 'common/utils/api/models';\nimport last from 'lodash/last';\nimport { AssetTypeEnum } from 'common/constants';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport MapBound, { BoundPointT } from 'common/components/maps/MapBound/MapBound';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectRoutingGeometryStates } from 'common/store/routing-geometry/selectors';\nimport RouteSwitchDropdown, { RouteTypeEnum } from 'broker-admin/components/RouteSwitchDropdown/RouteSwitchDropdown';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport { isNonNil } from 'common/utils';\nimport MapLoader from 'common/components/maps/MapLoader/MapLoader';\nimport { getAssetTrackHashByTransportOrderId } from 'common/store/asset-track/utils';\nimport { selectAssetTrackSliceState } from 'common/store/asset-track/selectors';\nimport AssetDropOffLocationPin from 'common/components/maps/pins/AssetDropOffLocationPin/AssetDropOffLocationPin';\nimport AssetPickUpLocationPin from 'common/components/maps/pins/AssetPickUpLocationPin/AssetPickUpLocationPin';\nimport { fetchTracksByTransportOrders } from 'common/store/asset-track/actions';\nimport { findTourActualTransportOrders } from 'broker-admin/store/broker-order-details/utils/find-actual-transport-order';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport Supercluster from 'supercluster';\nimport { PointGeoJsonPropertiesT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderRouteMap/models';\nimport isNumber from 'lodash/isNumber';\nimport PointStackClusterPin from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderRouteMap/PointStackClusterPin/PointStackClusterPin';\nimport WaypointNumberPin from 'common/components/maps/pins/WaypointNumberPin/WaypointNumberPin';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport uniq from 'lodash/uniq';\nimport { TrackPointT } from 'common/store/asset-track/models';\nimport LastAssetWithNumberTrackPointPin from 'common/components/maps/pins/LastAssetWithNumberTrackPointPin/LastAssetWithNumberTrackPointPin';\nimport FerryLocationPin from 'common/components/maps/pins/FerryLocationPin/FerryLocationPin';\nimport { BrokerTourDetailsT } from 'broker-admin/store/broker-tour-details/models';\nimport { ApiBrokerTourEnum, ApiBrokerTourTypeT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerTourDetails: BrokerTourDetailsT | null;\n};\n\nconst FEATURES_LIMIT = 99999;\nconst DEFAULT_OFFSET = 0;\n\nconst SUPERCLUSTER_SETTINGS: Supercluster.Options<PointGeoJsonPropertiesT, any> = {\n    radius: 100,\n    maxZoom: 22,\n};\n\ntype LastTruckTrackPointT = {\n    truckId: TruckIdT;\n    truckNumber: number;\n    lastPoint: TrackPointT;\n};\n\ntype LastTrailerTrackPointT = {\n    trailerId: TrailerIdT;\n    trailerNumber: number;\n    lastPoint: TrackPointT;\n};\n\nconst withEstimateCarrierTypeSet = new Set<ApiBrokerTourTypeT>([ApiBrokerTourEnum.shipment]);\n\nconst BrokerTourRouteMap: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTourDetails } = props;\n\n    const dispatch = useDispatch();\n\n    const tourAssets = useMemo(() => {\n        const tourIndex = 0;\n        const { trailerTransportOrder, truckTransportOrder } = findTourActualTransportOrders(\n            brokerTourDetails?.transportationOrders,\n            brokerTourDetails?.id,\n        );\n\n        const trailerTransportOrderId = trailerTransportOrder?.id || null;\n        const truckTransportOrderId = truckTransportOrder?.id || null;\n\n        return [\n            {\n                trailerId: trailerTransportOrder?.trailer?.id || null,\n                trailerTransportOrderId,\n                trailerNumber: tourIndex + 1,\n                trailer: trailerTransportOrder?.trailer || null,\n\n                truckId: truckTransportOrder?.truck?.id || null,\n                truckTransportOrderId,\n                truckNumber: tourIndex + 1,\n                truck: truckTransportOrder?.truck || null,\n\n                isLinked:\n                    !!trailerTransportOrderId &&\n                    !!truckTransportOrderId &&\n                    trailerTransportOrderId === truckTransportOrderId,\n            },\n        ];\n    }, [brokerTourDetails]);\n\n    const trackTransportOrderIds = useMemo(() => {\n        const transportOrderIds: Array<TransportOrderIdT | null> = [];\n\n        tourAssets.forEach((tourAsset) => {\n            transportOrderIds.push(tourAsset.truckTransportOrderId);\n            transportOrderIds.push(tourAsset.trailerTransportOrderId);\n        });\n\n        return uniq(transportOrderIds).filter(isNonNil);\n    }, [tourAssets]);\n\n    React.useEffect(() => {\n        dispatch(fetchTracksByTransportOrders(trackTransportOrderIds));\n    }, [trackTransportOrderIds, dispatch]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchTracksByTransportOrders(trackTransportOrderIds));\n    }, [trackTransportOrderIds, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const assetTrackSliceState = useSelector(selectAssetTrackSliceState);\n    const tourAssetTracks = useMemo(() => {\n        return tourAssets.map((tourAssets) => {\n            const { truckTransportOrderId, truckId, trailerTransportOrderId, trailerId } = tourAssets;\n\n            const trailerHash = getAssetTrackHashByTransportOrderId(truckTransportOrderId, trailerId);\n            const truckHash = getAssetTrackHashByTransportOrderId(trailerTransportOrderId, truckId);\n\n            return {\n                trailer: assetTrackSliceState[trailerHash] || null,\n                truck: assetTrackSliceState[truckHash] || null,\n            };\n        });\n    }, [tourAssets, assetTrackSliceState]);\n\n    const hasCarrierRoute = React.useMemo(() => {\n        return tourAssets.some((tourAssets) => {\n            return !!tourAssets?.trailerTransportOrderId || !!tourAssets?.truckTransportOrderId;\n        });\n    }, [tourAssets]);\n\n    const availableRouteTypeSet = React.useMemo(() => {\n        const result = new Set<RouteTypeEnum>([]);\n\n        if (brokerTourDetails?.type && withEstimateCarrierTypeSet.has(brokerTourDetails.type)) {\n            result.add(RouteTypeEnum.estimateCarrierRoute);\n        }\n\n        if (\n            (hasCarrierRoute && brokerTourDetails?.type === ApiBrokerTourEnum.shipment) ||\n            brokerTourDetails?.type === ApiBrokerTourEnum.deadhead\n        ) {\n            result.add(RouteTypeEnum.carrierRoute);\n        }\n        return result;\n    }, [brokerTourDetails, hasCarrierRoute]);\n\n    const defaultRouteType = React.useMemo(() => {\n        if (availableRouteTypeSet.has(RouteTypeEnum.carrierRoute)) {\n            return RouteTypeEnum.carrierRoute;\n        }\n        if (availableRouteTypeSet.has(RouteTypeEnum.estimateCarrierRoute)) {\n            return RouteTypeEnum.estimateCarrierRoute;\n        }\n        return null;\n    }, [availableRouteTypeSet]);\n\n    const [selectedRouteType, setSelectedRouteType] = useState<RouteTypeEnum | null>(null);\n    const routeType = selectedRouteType || defaultRouteType;\n\n    React.useEffect(() => {\n        if (selectedRouteType && !availableRouteTypeSet.has(selectedRouteType)) {\n            setSelectedRouteType(null);\n        }\n    }, [selectedRouteType, availableRouteTypeSet]);\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const routePolylineIds = useMemo((): Array<PolylineIdT> => {\n        switch (routeType) {\n            case RouteTypeEnum.carrierRoute: {\n                return [\n                    brokerTourDetails?.polylineId,\n                    brokerTourDetails?.trailerToPickUpPolylineId,\n                    brokerTourDetails?.truckToTrailerPolylineId,\n                    brokerTourDetails?.dropTrailerPolylineId,\n                    brokerTourDetails?.dropTruckPolylineId,\n                ].filter(isNonNil);\n            }\n            case RouteTypeEnum.estimateCarrierRoute: {\n                return [brokerTourDetails?.polylineId].filter(isNonNil);\n            }\n            default: {\n                return [];\n            }\n        }\n    }, [brokerTourDetails, routeType]);\n\n    useRouteGeometry(routePolylineIds);\n\n    const geometryStates = useSelector(selectRoutingGeometryStates(routePolylineIds));\n\n    const isLoadingPolylines = useMemo(() => {\n        return geometryStates.some((geometryState) => {\n            return geometryState?.requestStatus && geometryState?.requestStatus?.loading;\n        });\n    }, [geometryStates]);\n\n    const boundMapPoints = React.useMemo((): Array<BoundPointT> => {\n        return (\n            brokerTourDetails?.waypoints?.map((waypoint): BoundPointT => {\n                return [waypoint?.address?.latitude, waypoint?.address?.longitude];\n            }) || []\n        );\n    }, [brokerTourDetails]);\n\n    const apiIsLoaded: OnGoogleApiLoadedT = (api) => {\n        setApi(api);\n\n        const { map, maps } = api;\n\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const isLoadingSomeTrucks = useMemo(() => {\n        return tourAssetTracks?.some((state) => {\n            return state?.truck?.requestStatus?.loading || state?.trailer?.requestStatus?.loading;\n        });\n    }, [tourAssetTracks]);\n    const isLoading = isLoadingPolylines || isLoadingSomeTrucks;\n\n    const lastTruckTrackPoints = useMemo(() => {\n        return tourAssets.reduce<Array<LastTruckTrackPointT>>((acc, tourAssets, index) => {\n            const { truckId, truckNumber } = tourAssets;\n\n            const tracks = tourAssetTracks[index];\n\n            const lastPoint = last(tracks?.truck?.points);\n            if (truckId && lastPoint) {\n                acc.push({\n                    truckId,\n                    truckNumber,\n                    lastPoint,\n                });\n            }\n\n            return acc;\n        }, []);\n    }, [tourAssetTracks, tourAssets]);\n\n    const lastTrailerTrackPoints = useMemo(() => {\n        return tourAssets.reduce<Array<LastTrailerTrackPointT>>((acc, tourAssets, index) => {\n            const { trailerId, trailerNumber, isLinked } = tourAssets;\n\n            // not show last point of linked trailer\n            if (isLinked) {\n                return acc;\n            }\n\n            const tracks = tourAssetTracks[index];\n\n            const lastPoint = last(tracks?.trailer?.points);\n            if (trailerId && lastPoint) {\n                acc.push({\n                    trailerId,\n                    trailerNumber,\n                    lastPoint,\n                });\n            }\n\n            return acc;\n        }, []);\n    }, [tourAssetTracks, tourAssets]);\n\n    const allGeoJSONs = React.useMemo(() => {\n        const geoJSONs: Array<Supercluster.PointFeature<PointGeoJsonPropertiesT>> = [];\n\n        brokerTourDetails?.waypoints?.forEach((waypoint) => {\n            if (\n                (waypoint.type === StopTypeEnum.pickupTruck ||\n                    waypoint.type === StopTypeEnum.pickupTrailer ||\n                    waypoint.type === StopTypeEnum.pickupRoadTrain ||\n                    waypoint.type === StopTypeEnum.dropTruck ||\n                    waypoint.type === StopTypeEnum.dropTrailer ||\n                    waypoint.type === StopTypeEnum.dropRoadTrain) &&\n                routeType !== RouteTypeEnum.carrierRoute\n            ) {\n                return;\n            }\n\n            const longitude = waypoint?.address?.longitude;\n            const latitude = waypoint?.address?.latitude;\n            if (isNumber(latitude) && isNumber(longitude)) {\n                const geoJson: Supercluster.PointFeature<PointGeoJsonPropertiesT> = {\n                    type: 'Feature',\n                    geometry: {\n                        type: 'Point',\n                        coordinates: [longitude, latitude],\n                    },\n                    properties: {\n                        type: 'waypoint-point',\n                        waypoint,\n                        tourNumber: null,\n                    },\n                };\n\n                geoJSONs.push(geoJson);\n            }\n        });\n\n        lastTruckTrackPoints.forEach((lastTruckTrackPoint) => {\n            const { truckId, lastPoint } = lastTruckTrackPoint;\n\n            geoJSONs.push({\n                type: 'Feature',\n                geometry: {\n                    type: 'Point',\n                    coordinates: [lastPoint.lng, lastPoint.lat],\n                },\n                properties: {\n                    type: 'truck-last-point',\n                    point: lastPoint,\n                    truckId,\n                    truckNumber: null,\n                },\n            });\n        });\n\n        lastTrailerTrackPoints.forEach((lastTrailerTrackPoint) => {\n            const { trailerId, lastPoint } = lastTrailerTrackPoint;\n\n            geoJSONs.push({\n                type: 'Feature',\n                geometry: {\n                    type: 'Point',\n                    coordinates: [lastPoint.lng, lastPoint.lat],\n                },\n                properties: {\n                    type: 'trailer-last-point',\n                    point: lastPoint,\n                    trailerId,\n                    trailerNumber: null,\n                },\n            });\n        });\n\n        return geoJSONs;\n    }, [brokerTourDetails, lastTruckTrackPoints, lastTrailerTrackPoints, routeType]);\n\n    const allGeoJSONsClusterator = React.useMemo(() => {\n        const clusterator = new Supercluster<PointGeoJsonPropertiesT>(SUPERCLUSTER_SETTINGS);\n        clusterator.load(allGeoJSONs || []);\n        return clusterator;\n    }, [allGeoJSONs]);\n\n    const [config, setConfig] = React.useState<TODO>(null);\n\n    const allGeoJSONsClusters = React.useMemo(() => {\n        if (config) {\n            const clusters = allGeoJSONsClusterator.getClusters(config.bounds, config.zoom);\n            return clusters;\n        }\n\n        return [];\n    }, [config, allGeoJSONsClusterator]);\n    const [api, setApi] = React.useState<TODO>(null);\n\n    const handleChange = () => {\n        if (api) {\n            const { zoom } = api.map;\n\n            const bound = api.map.getBounds();\n\n            const northEast = bound.getNorthEast();\n            const southWest = bound.getSouthWest();\n\n            setConfig({\n                zoom,\n                bounds: [southWest.lng(), southWest.lat(), northEast.lng(), northEast.lat()],\n            });\n        }\n    };\n\n    const renderSinglePointFeature = (properties: PointGeoJsonPropertiesT) => {\n        switch (properties.type) {\n            case 'trailer-last-point': {\n                return (\n                    <LastAssetWithNumberTrackPointPin\n                        key={`trailer-last-point-${properties.trailerNumber}`}\n                        iconType={AssetTypeEnum.trailer}\n                        lat={properties.point.lat}\n                        lng={properties.point.lng}\n                        timestamp={properties.point.timestamp}\n                        number={properties.trailerNumber}\n                    />\n                );\n            }\n            case 'truck-last-point': {\n                return (\n                    <LastAssetWithNumberTrackPointPin\n                        key={`truck-last-point-${properties.truckNumber}`}\n                        iconType={AssetTypeEnum.truck}\n                        lat={properties.point.lat}\n                        lng={properties.point.lng}\n                        timestamp={properties.point.timestamp}\n                        number={properties.truckNumber}\n                    />\n                );\n            }\n            case 'waypoint-point': {\n                const { waypoint, tourNumber } = properties;\n\n                switch (waypoint.type) {\n                    case StopTypeEnum.pickupTruck: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetPickUpLocationPin\n                                assetType={AssetTypeEnum.truck}\n                                key={`pickupTruck-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lat={waypoint.address?.latitude}\n                                lng={waypoint.address?.longitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.pickupTrailer: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetPickUpLocationPin\n                                assetType={AssetTypeEnum.trailer}\n                                key={`pickupTrailer-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lat={waypoint.address?.latitude}\n                                lng={waypoint.address?.longitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.pickupRoadTrain: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetPickUpLocationPin\n                                assetType={null}\n                                key={`pickupRoadTrain-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lat={waypoint.address?.latitude}\n                                lng={waypoint.address?.longitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.ferryOnboard:\n                    case StopTypeEnum.ferryDisembark: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <FerryLocationPin\n                                key={`route-point-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.driveThrough:\n                    case StopTypeEnum.dropAndHook:\n                    case StopTypeEnum.pickupDeliveryShipment: {\n                        let theme = MapPinThemeEnum.charcoal;\n                        if (waypoint.type === StopTypeEnum.driveThrough) {\n                            theme = MapPinThemeEnum.gray;\n                        }\n\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n                        if (isVisited) {\n                            theme = MapPinThemeEnum.brandDark;\n                        }\n\n                        return (\n                            <WaypointNumberPin\n                                key={`route-point-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                theme={theme}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                            >\n                                {(waypoint.index || 0) + 1}\n                            </WaypointNumberPin>\n                        );\n                    }\n                    case StopTypeEnum.dropTrailer: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetDropOffLocationPin\n                                assetType={AssetTypeEnum.trailer}\n                                key={`dropTrailer-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.dropTruck: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetDropOffLocationPin\n                                assetType={AssetTypeEnum.truck}\n                                key={`dropTruckStop-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    case StopTypeEnum.dropRoadTrain: {\n                        const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n                        return (\n                            <AssetDropOffLocationPin\n                                assetType={null}\n                                key={`link-dropoff-${waypoint.id}`}\n                                className={cx('route-point-pin')}\n                                lng={waypoint?.address?.longitude}\n                                lat={waypoint?.address?.latitude}\n                                number={tourNumber}\n                                theme={isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal}\n                            />\n                        );\n                    }\n                    default: {\n                        return null;\n                    }\n                }\n            }\n            default: {\n                return null;\n            }\n        }\n    };\n\n    const handleClusterClick = React.useCallback(\n        (clusterId: number) => {\n            const { map, maps } = api;\n\n            const clusterFeatures = allGeoJSONsClusterator.getLeaves(clusterId, FEATURES_LIMIT, DEFAULT_OFFSET);\n\n            const bounds = new maps.LatLngBounds();\n\n            clusterFeatures.forEach((feature: Supercluster.PointFeature<{}>) => {\n                const point = new maps.LatLng(feature.geometry.coordinates[1], feature.geometry.coordinates[0]);\n\n                bounds.extend(point);\n            });\n\n            map.fitBounds(bounds);\n        },\n        [api, allGeoJSONsClusterator],\n    );\n\n    return (\n        <>\n            {isLoading && <MapLoader className={cx('loader')} />}\n            <GoogleMapReact\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                options={MAP_OPTIONS}\n                onGoogleApiLoaded={apiIsLoaded}\n                onDragEnd={handleChange}\n                onZoomAnimationEnd={handleChange}\n                yesIWantToUseGoogleMapApiInternals\n            >\n                {allGeoJSONsClusters.map((cluster) => {\n                    if ('cluster' in cluster.properties) {\n                        const pointsFeatures = allGeoJSONsClusterator.getLeaves(\n                            cluster.properties.cluster_id,\n                            FEATURES_LIMIT,\n                            DEFAULT_OFFSET,\n                        );\n\n                        const clusterProperties = pointsFeatures.map((pointFeatures) => {\n                            return pointFeatures.properties;\n                        });\n\n                        return (\n                            <PointStackClusterPin\n                                key={`cluster-${cluster.properties.cluster_id}`}\n                                clusterId={cluster.properties.cluster_id}\n                                lng={cluster.geometry.coordinates[0]}\n                                lat={cluster.geometry.coordinates[1]}\n                                clusterProperties={clusterProperties}\n                                onClusterClick={handleClusterClick}\n                                withoutArrow={config.zoom < 20}\n                            />\n                        );\n                    }\n\n                    return renderSinglePointFeature(cluster.properties as PointGeoJsonPropertiesT);\n                })}\n            </GoogleMapReact>\n            {geometryStates?.map((geometryState, index) => (\n                <MapRoute\n                    key={`geometry-${index}`}\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext.googleMaps?.libraries?.geometry}\n                    polylines={geometryState.data}\n                    theme={MapRouteThemeEnum.trackFuture}\n                    zIndex={0}\n                />\n            ))}\n            {tourAssetTracks.map((tourAssetTracks, index) => {\n                const assets = tourAssets[index];\n                const { trailer, truck } = tourAssetTracks;\n\n                return (\n                    <>\n                        {!!truck?.points && (\n                            <MapRoute\n                                map={googleMapContext.googleMaps?.map}\n                                maps={googleMapContext.googleMaps?.maps}\n                                route={truck.points}\n                                theme={MapRouteThemeEnum.trackPast}\n                                zIndex={1}\n                            />\n                        )}\n                        {!assets?.isLinked && !!trailer?.points && (\n                            <MapRoute\n                                map={googleMapContext.googleMaps?.map}\n                                maps={googleMapContext.googleMaps?.maps}\n                                route={trailer.points}\n                                theme={MapRouteThemeEnum.trackPast}\n                                zIndex={1}\n                            />\n                        )}\n                    </>\n                );\n            })}\n            <MapBound\n                map={googleMapContext.googleMaps?.map}\n                maps={googleMapContext.googleMaps?.maps}\n                allMapPoints={boundMapPoints}\n            />\n            {!!routePolylineIds?.length && (\n                <RouteSwitchDropdown\n                    className={cx('route-type-switcher')}\n                    value={routeType}\n                    onChange={setSelectedRouteType}\n                    isDisabledEstimateCarrierRoute={!availableRouteTypeSet.has(RouteTypeEnum.estimateCarrierRoute)}\n                    isDisabledShipperRoute={!availableRouteTypeSet.has(RouteTypeEnum.shipperRoute)}\n                    isDisabledCarrierRoute={!availableRouteTypeSet.has(RouteTypeEnum.carrierRoute)}\n                />\n            )}\n        </>\n    );\n});\n\nexport default BrokerTourRouteMap;\n","import { TransportOrderQuickFilterEnum, TransportOrderTypeEnum } from 'common/utils/api/models';\n\nexport enum QueryFiltersKeysEnum {\n    dictTrailerId = 'dictTrailerId',\n    maxPrice = 'maxPrice',\n    minPrice = 'minPrice',\n    orderType = 'orderType',\n    plateNumber = 'plateNumber',\n    destinationAddress = 'destinationAddress',\n    originAddress = 'originAddress',\n    driverId = 'driverId',\n    driverName = 'driverName',\n    receiveDatesFrom = 'receiveDatesFrom',\n    receiveDatesTo = 'receiveDatesTo',\n    pickupDateFrom = 'pickupDateFrom',\n    pickupDateTo = 'pickupDateTo',\n    dropOffDateFrom = 'dropOffDateFrom',\n    dropOffDateTo = 'dropOffDateTo',\n    searchText = 'searchText',\n    quickFilter = 'quickFilter',\n\n    spot = 'spot',\n    dedicated = 'dedicated',\n\n    runningOutOfTimeToAssignDriver = 'running-out-of-time-to-assign-driver',\n    ranOutOfTimeToAssignDriver = 'ran-out-of-time-to-assign-driver',\n    runningOutOfTimeToAssignAssets = 'running-out-of-time-to-assign-assets',\n    ranOutOfTimeToAssignAssets = 'ran-out-of-time-to-assign-assets',\n    expired = 'expired',\n    missed = 'missed',\n    delaying = 'delaying',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.dictTrailerId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.maxPrice]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.minPrice]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.orderType]: TransportOrderTypeEnum;\n    [QueryFiltersKeysEnum.plateNumber]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.destinationAddress]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.originAddress]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.driverId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.driverName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.receiveDatesFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.receiveDatesTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.pickupDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dropOffDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.searchText]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.quickFilter]: TransportOrderQuickFilterEnum;\n    [QueryFiltersKeysEnum.spot]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.dedicated]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.ranOutOfTimeToAssignAssets]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.ranOutOfTimeToAssignDriver]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.delaying]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.expired]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.missed]: QueryParam.BooleanT;\n}>;\n\nexport enum QueryKeysEnum {\n    transportOrdersPage = 'transport-orders-page',\n    transportOrdersSort = 'transport-orders-sort',\n    transportOrdersFilters = 'transport-orders-filters',\n}\n","import * as React from 'react';\nimport { useFormik } from 'formik';\nimport AuthLayout from 'common/layouts/AuthLayout/AuthLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { StyleGuideColorsEnum } from '../../constants';\n\nimport styles from './ForgotPasswordPage.scss';\nimport classNames from 'classnames/bind';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectResetPasswordRequestStatus } from 'common/store/auth/selectors';\nimport { resetPassword } from 'common/store/auth/actions';\nimport validateForm from './validate-form';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport asyncValidate from './async-validations';\nimport useAsyncFormErrorMessage from 'common/utils/hooks/useAsyncFormErrorMessage';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport RedirectSignedUser from 'common/components/RedirectSignedUser/RedirectSignedUser';\nimport { authApi } from 'common/utils/api/auth/factory';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst INITIAL_VALUES: FormValuesT = { [FieldsEnum.email]: '' };\n\nconst ForgotPassword: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const requestStatus = useSelector(selectResetPasswordRequestStatus);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const initialErrors = React.useMemo(() => {\n        return validateForm(t, INITIAL_VALUES);\n    }, [t]);\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues: INITIAL_VALUES,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const email = simpleStringFormatter(values[FieldsEnum.email]);\n            dispatch(resetPassword(email));\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(requestStatus);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [requestStatus.error]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    const emailAsyncError = useAsyncFormErrorMessage(asyncFormErrors[FieldsEnum.email]);\n\n    if (requestStatus.ok) {\n        return (\n            <AuthLayout title={t('common:forgot-password.success')} testSelector=\"forgot-password-page\">\n                <div className={cx('result')}>\n                    <div className={cx('result__done')}>\n                        <DoneIcon fillColor={StyleGuideColorsEnum.white} size={40} />\n                    </div>\n                </div>\n            </AuthLayout>\n        );\n    }\n\n    return (\n        <>\n            <RedirectSignedUser />\n            <AuthLayout title={t('common:forgot-password.title')} testSelector=\"forgot-password-page\">\n                <PageTitle title={t('common:page-titles.forgot-password')} />\n                <form onSubmit={formik.handleSubmit}>\n                    <div className={cx('fields')}>\n                        <div className={cx('input')}>\n                            <FormikField\n                                name={FieldsEnum.email}\n                                error={formik.errors[FieldsEnum.email]}\n                                meta={formik.getFieldMeta(FieldsEnum.email)}\n                                label={t('common:forgot-password.fields.email.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                                asyncError={emailAsyncError}\n                                resetAsyncError={resetAsyncFormErrors}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.email}\n                                        placeholder={t('common:forgot-password.fields.email.placeholder')}\n                                        value={formik.values[FieldsEnum.email]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                    />\n                                )}\n                            </FormikField>\n                        </div>\n                    </div>\n                    <Button\n                        theme={ButtonThemeEnum.primary}\n                        isLoading={requestStatus.loading}\n                        type=\"submit\"\n                        className={cx('submit')}\n                    >\n                        {t('common:forgot-password.submit')}\n                    </Button>\n                    <div className={cx('footer-links')}>\n                        <Link theme={LinkThemeEnum.boldAzul} testSelector=\"sign-in\" to={authApi.createSignInUrl()}>\n                            {t('common:forgot-password.links.sign-in')}\n                        </Link>\n                    </div>\n                </form>\n            </AuthLayout>\n        </>\n    );\n});\n\nexport default ForgotPassword;\n","import {\n    CREATE_RULE_REQUEST_BEGIN,\n    CREATE_RULE_REQUEST_ERROR,\n    CREATE_RULE_REQUEST_RESET,\n    CREATE_RULE_REQUEST_SUCCESS,\n    DELETE_RULES_REQUEST_BEGIN,\n    DELETE_RULES_REQUEST_ERROR,\n    DELETE_RULES_REQUEST_SUCCESS,\n    PREVIEW_RULE_REQUEST_BEGIN,\n    PREVIEW_RULE_REQUEST_ERROR,\n    PREVIEW_RULE_REQUEST_SUCCESS,\n    FETCH_RULE_DETAILS_REQUEST_BEGIN,\n    FETCH_RULE_DETAILS_REQUEST_ERROR,\n    FETCH_RULE_DETAILS_REQUEST_SUCCESS,\n    FETCH_RULES_PAGE_REQUEST_BEGIN,\n    FETCH_RULES_PAGE_REQUEST_ERROR,\n    FETCH_RULES_PAGE_REQUEST_SUCCESS,\n    RESET_RULE_PAGES,\n    RulesActionT,\n    RulesStateT,\n    UPDATE_RULE_REQUEST_BEGIN,\n    UPDATE_RULE_REQUEST_ERROR,\n    UPDATE_RULE_REQUEST_RESET,\n    UPDATE_RULE_REQUEST_SUCCESS,\n    PREVIEW_RULE_REQUEST_RESET,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport isEqual from 'lodash/isEqual';\n\nconst initialState: RulesStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n    detailsById: {},\n    fetchDetailsRequest: requestStatus.initial,\n    updateRequest: requestStatus.initial,\n    creationRequest: requestStatus.initial,\n    deleteRequest: requestStatus.initial,\n    previewRequest: requestStatus.initial,\n    preview: null,\n};\n\nexport default (state = initialState, action: RulesActionT | DestroySessionActionT): RulesStateT => {\n    switch (action.type) {\n        case FETCH_RULES_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query } = action;\n\n            return {\n                ...state,\n                ...pageBeginReducer(state, pageNumber, query),\n            };\n        }\n        case FETCH_RULES_PAGE_REQUEST_SUCCESS: {\n            const { query, pageResponse, pageNumber } = action;\n\n            return {\n                ...state,\n                ...pageSuccessReducer(state, pageNumber, query, pageResponse),\n            };\n        }\n        case FETCH_RULES_PAGE_REQUEST_ERROR: {\n            const { error, pageNumber, query } = action;\n\n            return {\n                ...state,\n                ...pageErrorReducer(state, pageNumber, query, error),\n            };\n        }\n        case UPDATE_RULE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                updateRequest: requestStatus.loading,\n            };\n        }\n        case UPDATE_RULE_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                updateRequest: requestStatus.ok,\n            };\n        }\n        case UPDATE_RULE_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                updateRequest: requestStatus.setError(error),\n            };\n        }\n        case UPDATE_RULE_REQUEST_RESET: {\n            return {\n                ...state,\n                updateRequest: requestStatus.initial,\n            };\n        }\n\n        case RESET_RULE_PAGES: {\n            const { mutationListOptions } = action;\n\n            return {\n                ...initialState,\n                ...resetPagesCacheReducer(initialState, state, mutationListOptions),\n            };\n        }\n\n        case CREATE_RULE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                creationRequest: requestStatus.loading,\n            };\n        }\n        case CREATE_RULE_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                creationRequest: requestStatus.ok,\n            };\n        }\n        case CREATE_RULE_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                creationRequest: requestStatus.setError(error),\n            };\n        }\n        case CREATE_RULE_REQUEST_RESET: {\n            return {\n                ...state,\n                creationRequest: requestStatus.initial,\n            };\n        }\n        case DELETE_RULES_REQUEST_BEGIN: {\n            return {\n                ...state,\n                deleteRequest: requestStatus.loading,\n            };\n        }\n        case DELETE_RULES_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                deleteRequest: requestStatus.ok,\n            };\n        }\n        case DELETE_RULES_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                deleteRequest: requestStatus.setError(error),\n            };\n        }\n        case PREVIEW_RULE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                previewRequest: requestStatus.loading,\n            };\n        }\n        case PREVIEW_RULE_REQUEST_SUCCESS: {\n            const { data } = action;\n            return {\n                ...state,\n                previewRequest: requestStatus.ok,\n                preview: data,\n            };\n        }\n        case PREVIEW_RULE_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                previewRequest: requestStatus.setError(error),\n                preview: null,\n            };\n        }\n        case PREVIEW_RULE_REQUEST_RESET: {\n            return {\n                ...state,\n                previewRequest: requestStatus.initial,\n                preview: null,\n            };\n        }\n        case FETCH_RULE_DETAILS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchDetailsRequest: requestStatus.loading,\n            };\n        }\n        case FETCH_RULE_DETAILS_REQUEST_SUCCESS: {\n            const { ruleId, ruleDetails } = action;\n\n            return {\n                ...state,\n                detailsById: {\n                    ...state.detailsById,\n                    [ruleId]: isEqual(state.detailsById[ruleId], ruleDetails) ? state.detailsById[ruleId] : ruleDetails,\n                },\n                fetchDetailsRequest: requestStatus.ok,\n            };\n        }\n        case FETCH_RULE_DETAILS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                fetchDetailsRequest: requestStatus.setError(error),\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './FiltersTrigger.scss';\nimport FilterIcon from 'common/icons/FilterIcon';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClick: () => void;\n    isActive: boolean;\n    title: string;\n    className?: string;\n    testSelector?: string;\n};\n\nconst FiltersTrigger: React.FC<PropsT> = (props) => {\n    const { onClick, isActive, title, className, testSelector } = props;\n\n    return (\n        <TransparentTrigger\n            testSelector={`${testSelector}_filters`}\n            onClick={onClick}\n            isPressed={isActive}\n            label={title}\n            className={className}\n            leftIcon={<FilterIcon />}\n            rightIcon={<ArrowsIcon />}\n            reflectionTheme={ReflectionThemeEnum.light}\n        />\n    );\n};\n\nexport default FiltersTrigger;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    ASSIGN_BID_TO_SPOT_REQUEST,\n    AssignBidToSpotRequestActionT,\n    FETCH_SPOT_REQUEST_DETAILS_REQUEST,\n    FetchSpotRequestDetailsRequestActionT,\n} from './types';\nimport {\n    fetchSpotRequestDetails,\n    fetchSpotRequestDetailsBegin,\n    fetchSpotRequestDetailsError,\n    fetchSpotRequestDetailsSuccess,\n    updateSpotRequestRequestBegin,\n    updateSpotRequestRequestError,\n    updateSpotRequestRequestSuccess,\n} from './actions';\nimport { selectSpotRequestDetails } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport spotBrokerTranziitApi from 'broker-admin/utils/api/spot-broker-tranziit/api';\nimport { BrokerAlertTypeEnum, BrokerAnyAlert } from 'broker-admin/components/toasts/models';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { spotRequestsRefreshChannel } from 'broker-admin/store/spot-requests/channels';\nimport { spotRequestsStatsRefreshChannel } from 'broker-admin/store/spot-requests-stats/channels';\n\nfunction* assignBidToSpotRequestSaga(action: AssignBidToSpotRequestActionT): WrapGeneratorT<void> {\n    const { id, bidId } = action;\n    yield put(updateSpotRequestRequestBegin(id));\n\n    const [error]: ReturnApiT<typeof spotBrokerTranziitApi.assignBidToSpotRequest> =\n        yield spotBrokerTranziitApi.assignBidToSpotRequest(id, { bidId });\n    if (error) {\n        yield put(updateSpotRequestRequestError(id, error));\n    } else {\n        yield put(updateSpotRequestRequestSuccess(id));\n\n        yield put(\n            addAlert(\n                new BrokerAnyAlert({\n                    type: BrokerAlertTypeEnum.transportOrderAssigned,\n                    data: {},\n                }),\n            ),\n        );\n    }\n\n    yield put(fetchSpotRequestDetails(id, { isForceUpdate: true }));\n\n    spotRequestsRefreshChannel.emit({});\n    spotRequestsStatsRefreshChannel.emit({});\n}\n\nfunction* fetchSpotRequestDetailsSaga(action: FetchSpotRequestDetailsRequestActionT): WrapGeneratorT<void> {\n    const { id, options } = action;\n\n    const { fetchDetailsRequestStatus }: ReReturnT<typeof selectSpotRequestDetails> = yield select(\n        selectSpotRequestDetails(id),\n    );\n    if (!checkNeedRequest(fetchDetailsRequestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchSpotRequestDetailsBegin(id));\n\n    const [error, details]: ReturnApiT<typeof spotBrokerTranziitApi.fetchSpotRequestDetails> =\n        yield spotBrokerTranziitApi.fetchSpotRequestDetails(id);\n    if (error) {\n        yield put(fetchSpotRequestDetailsError(id, error));\n    } else {\n        yield put(fetchSpotRequestDetailsSuccess(id, details));\n    }\n}\n\nfunction* spotRequestDetailsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_SPOT_REQUEST_DETAILS_REQUEST, fetchSpotRequestDetailsSaga);\n    yield takeEvery(ASSIGN_BID_TO_SPOT_REQUEST, assignBidToSpotRequestSaga);\n}\n\nexport default spotRequestDetailsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"BrokerOrderRouteEditPage__wrap___Liqbt\",\"tabs-wrap\":\"BrokerOrderRouteEditPage__tabs-wrap___haInd\",\"tab\":\"BrokerOrderRouteEditPage__tab___xbPeD\",\"fadeIn\":\"BrokerOrderRouteEditPage__fadeIn___sevJz\",\"blinking\":\"BrokerOrderRouteEditPage__blinking___fi5zb\"};","import React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TabGroupWithDivider.scss';\nimport { TabLabelSizeEnum } from 'common/components/tabs/TabLabel/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    size?: TabLabelSizeEnum;\n    children: Array<React.ReactNode>;\n};\n\nconst TabGroupWithDivider: React.FC<PropsT> = (props) => {\n    const { children, className, size } = props;\n\n    if (children?.length < 2) {\n        return null;\n    }\n\n    return (\n        <div\n            className={cs(\n                cx('tabs', {\n                    [`tabs--size-${size || TabLabelSizeEnum.normal}`]: true,\n                }),\n                className,\n            )}\n        >\n            {children}\n        </div>\n    );\n};\n\nexport default TabGroupWithDivider;\n","import React, { useCallback } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { AlertThemeEnum } from 'common/components/Alert/Alert';\n\nexport type SideBarFooterAlertT = {\n    id: SidebarFooterAlertIdT;\n    theme: AlertThemeEnum;\n    content: React.ReactNode;\n};\n\nexport type CloseSideBarFooterAlertCallbackT = () => void;\n\nexport type SideBarFooterAlertsContextValueT = {\n    alerts: Array<SideBarFooterAlertT>;\n    onCloseAlert: (id: SidebarFooterAlertIdT) => void;\n    showAlert: (data: Pick<SideBarFooterAlertT, 'theme' | 'content'>) => CloseSideBarFooterAlertCallbackT;\n};\n\nconst useSideBarFooterAlertsContextValue = (): SideBarFooterAlertsContextValueT => {\n    const [alerts, setAlerts] = React.useState<Array<SideBarFooterAlertT>>([]);\n\n    const onCloseAlert = useCallback(\n        (id: SidebarFooterAlertIdT) => {\n            setAlerts((alerts) => alerts.filter((alert) => alert.id !== id));\n        },\n        [setAlerts],\n    );\n\n    const showAlert = useCallback(\n        ({ theme, content }: Pick<SideBarFooterAlertT, 'theme' | 'content'>): CloseSideBarFooterAlertCallbackT => {\n            const alertId = uuidv4();\n\n            setAlerts((alerts) => [\n                {\n                    id: alertId,\n                    theme,\n                    content,\n                },\n                ...alerts,\n            ]);\n\n            return () => {\n                setAlerts((alerts) => alerts.filter((alert) => alert.id !== alertId));\n            };\n        },\n        [setAlerts],\n    );\n\n    return {\n        alerts,\n        onCloseAlert,\n        showAlert,\n    };\n};\n\nexport default useSideBarFooterAlertsContextValue;\n","// eslint-disable-next-line no-restricted-exports\nexport { default } from './slice';\n","import { DeadheadRouteStopTimeWindowT, DeadheadRouteStopTypeEnum } from 'broker-admin/store/deadhead-creation/models';\nimport { ApiTruckAssetT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { MS_IN_SEC } from 'common/utils/time';\n\nexport enum RoutePointFieldsEnum {\n    fakePointId = 'fakePointId',\n    type = 'type',\n    location = 'location',\n    timeWindow = 'timeWindow',\n}\n\nexport type RoutePointFormValuesT = {\n    fakePointId: RoutePointIdT;\n    type: DeadheadRouteStopTypeEnum;\n    location: LocationT | null;\n    timeWindow: DeadheadRouteStopTimeWindowT | null;\n};\n\nexport type RoutePointErrorsT = Partial<{\n    fakePointId: FormErrorMessageT;\n    type: FormErrorMessageT;\n    location: FormErrorMessageT;\n    timeWindow: FormErrorMessageT;\n}>;\n\nexport enum FieldsEnum {\n    truck = 'truck',\n    route = 'route',\n}\n\nexport type RouteFormValuesT = {\n    truck: ApiTruckAssetT | null;\n    route: Array<RoutePointFormValuesT>;\n};\n\nexport type FormErrorsT = Partial<{\n    [FieldsEnum.truck]: FormErrorMessageT;\n    [FieldsEnum.route]: Array<RoutePointErrorsT>;\n}>;\n\nexport type AsyncFormErrorsT = Partial<Record<FieldsEnum, string>>;\n\nexport const EXCLUDE_COUNTRIES_COLD_TIME = 2 * MS_IN_SEC;\n\nexport const editableRouteStopTypeSet = new Set<`${DeadheadRouteStopTypeEnum}`>([\n    DeadheadRouteStopTypeEnum.driveThrough,\n    DeadheadRouteStopTypeEnum.dropRoadTrain,\n    DeadheadRouteStopTypeEnum.dropTruck,\n]);\n","import { PartnerTypeEnum } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    email = 'email',\n    partnerType = 'partnerType',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.email]: string;\n    [FieldsEnum.partnerType]: PartnerTypeEnum;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { formatPageQuerySort } from 'common/utils/page-sort';\nimport { FetchShipperContractsPageQueryT } from 'common/store/shipper-contracts/models';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { PageSortT } from 'common/utils/query';\nimport { ShipperContractsSortEnum } from 'common/utils/api/models';\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<ShipperContractsSortEnum> | null,\n): FetchShipperContractsPageQueryT => {\n    return {\n        textSearch: queryFilters[QueryFiltersKeysEnum.text] || undefined,\n\n        sort: formatPageQuerySort(sort),\n    };\n};\n\nexport { prepareFetchPageQuery };\n","import { FieldsEnum, RouteFormValuesT, RoutePointFormValuesT } from './constants';\nimport { DeadheadRouteStopT, DeadheadRouteStopTypeEnum } from 'broker-admin/store/deadhead-creation/models';\nimport { convertPointToLocation } from '../utils/convert-point-to-location';\nimport { routePointTypeMap } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/utils/stop-type';\nimport { generatePointFakeId } from 'broker-admin/store/deadhead-creation/utils/generate-point-fake-id';\n\nexport const getInitialRoutePointFormValues = (stop: DeadheadRouteStopT): RoutePointFormValuesT => {\n    const { type, correctedDateTimeFrom, originalDateTimeFrom, correctedDateTimeTo, originalDateTimeTo } = stop;\n\n    const timeWindowFrom = correctedDateTimeFrom || originalDateTimeFrom || null;\n    const timeWindowTo = correctedDateTimeTo || originalDateTimeTo || null;\n\n    return {\n        fakePointId: stop.fakeId,\n        type: type ? routePointTypeMap[type] : DeadheadRouteStopTypeEnum.unknown,\n        location: convertPointToLocation(stop.address || null) || null,\n        timeWindow:\n            timeWindowFrom && timeWindowTo\n                ? {\n                      start: timeWindowFrom,\n                      end: timeWindowTo,\n                  }\n                : null,\n    };\n};\n\nexport const getInitialValues = (): RouteFormValuesT => {\n    const values: RouteFormValuesT = {\n        [FieldsEnum.truck]: null,\n        [FieldsEnum.route]: [\n            {\n                fakePointId: generatePointFakeId('pickup-truck'),\n                type: DeadheadRouteStopTypeEnum.pickupTruck,\n                timeWindow: null,\n                location: null,\n            },\n            {\n                fakePointId: generatePointFakeId('drop-truck'),\n                type: DeadheadRouteStopTypeEnum.dropTruck,\n                timeWindow: null,\n                location: null,\n            },\n        ],\n    };\n\n    return values;\n};\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { ApiRFQStatsT, RFQStatsQueryT, RFQStatsT } from './models';\n\nexport const FETCH_RFQ_STATS_REQUEST = 'broker-admin/partner/rfq-stats/FETCH_RFQ_STATS_REQUEST';\nexport const FETCH_RFQ_STATS_REQUEST_BEGIN = 'broker-admin/partner/rfq-stats/FETCH_RFQ_STATS_REQUEST_BEGIN';\nexport const FETCH_RFQ_STATS_REQUEST_ERROR = 'broker-admin/partner/rfq-stats/FETCH_RFQ_STATS_REQUEST_ERROR';\nexport const FETCH_RFQ_STATS_REQUEST_SUCCESS = 'broker-admin/partner/rfq-stats/FETCH_RFQ_STATS_REQUEST_SUCCESS';\nexport const RESET = 'broker-admin/partner/rfq-stats/RESET';\n\nexport type PartnerRFQStatsStateT = {\n    query: RFQStatsQueryT | null;\n    stats: RFQStatsT | null;\n};\n\nexport type RFQStatsStateT = {\n    fetchRequest: RequestStatusT;\n    byId: Record<PartnerIdT, PartnerRFQStatsStateT>;\n};\n\nexport type FetchRFQStatsActionT = {\n    type: typeof FETCH_RFQ_STATS_REQUEST;\n    query: RFQStatsQueryT;\n};\n\nexport type FetchRFQStatsBeginActionT = {\n    type: typeof FETCH_RFQ_STATS_REQUEST_BEGIN;\n    query: RFQStatsQueryT;\n};\n\nexport type FetchRFQStatsSuccessActionT = {\n    type: typeof FETCH_RFQ_STATS_REQUEST_SUCCESS;\n    query: RFQStatsQueryT;\n    stats: ApiRFQStatsT;\n};\n\nexport type FetchRFQStatsErrorActionT = {\n    type: typeof FETCH_RFQ_STATS_REQUEST_ERROR;\n    query: RFQStatsQueryT;\n    error: Error;\n};\n\nexport type ResetRFQStatsActionT = {\n    type: typeof RESET;\n};\n\nexport type RFQStatsActionT =\n    | FetchRFQStatsActionT\n    | FetchRFQStatsBeginActionT\n    | FetchRFQStatsSuccessActionT\n    | FetchRFQStatsErrorActionT\n    | ResetRFQStatsActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"FiltersSidebarContent__form___afqtA\",\"field--address\":\"FiltersSidebarContent__field--address___fCB_P\",\"field--dates\":\"FiltersSidebarContent__field--dates___N1LR4\",\"field--carriers\":\"FiltersSidebarContent__field--carriers___V1vOy\",\"field--tour-types\":\"FiltersSidebarContent__field--tour-types___AvbPf\",\"field--plate-number\":\"FiltersSidebarContent__field--plate-number___cU6DP\",\"field--placeholder\":\"FiltersSidebarContent__field--placeholder___FpAGF\",\"selected-filters\":\"FiltersSidebarContent__selected-filters___QxyjR\",\"fadeIn\":\"FiltersSidebarContent__fadeIn___j9prR\",\"blinking\":\"FiltersSidebarContent__blinking___KPwWE\"};","export const clientConfig = {\n    isProduction: PRODUCTION,\n    isBrokerProject: IS_BROKER,\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/query-models';\nimport { getDateFromDate, getEndDayFromDateZero, getStartDayFromDateZero } from 'common/utils/time';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {};\n\n    const name = values[FieldsEnum.name];\n    if (name) {\n        queryFilters[QueryFiltersKeysEnum.rulesName] = simpleStringFormatter(name);\n    }\n\n    const partnerIds = values[FieldsEnum.partnerIds];\n    if (partnerIds?.length) {\n        queryFilters[QueryFiltersKeysEnum.rulesPartnerIds] = partnerIds;\n    }\n\n    const type = values[FieldsEnum.types];\n    if (type) {\n        queryFilters[QueryFiltersKeysEnum.rulesTypes] = type;\n    }\n\n    const trailerTypeIds = values[FieldsEnum.trailerTypeIds];\n    if (trailerTypeIds?.length) {\n        queryFilters[QueryFiltersKeysEnum.rulesTrailerTypeIds] = trailerTypeIds;\n    }\n\n    const fromCountryCodes = values[FieldsEnum.fromCountryCodes];\n    if (fromCountryCodes?.length) {\n        queryFilters[QueryFiltersKeysEnum.rulesFromCountryCodes] = fromCountryCodes;\n    }\n\n    const toCountryCodes = values[FieldsEnum.toCountryCodes];\n    if (toCountryCodes?.length) {\n        queryFilters[QueryFiltersKeysEnum.rulesToCountryCodes] = toCountryCodes;\n    }\n\n    const createDates = values[FieldsEnum.createDates];\n    if (createDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.createdDateFrom] = getStartDayFromDateZero(getDateFromDate(createDates.from));\n    }\n    if (createDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.createdDateTo] = getEndDayFromDateZero(getDateFromDate(createDates.to));\n    }\n\n    const lastModifyDates = values[FieldsEnum.lastModifyDates];\n    if (lastModifyDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom] = getStartDayFromDateZero(\n            getDateFromDate(lastModifyDates.from),\n        );\n    }\n    if (lastModifyDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.lastModifyDateTo] = getEndDayFromDateZero(\n            getDateFromDate(lastModifyDates.to),\n        );\n    }\n\n    const validFromDates = values[FieldsEnum.validFrom];\n    if (validFromDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.validFromFrom] = getStartDayFromDateZero(\n            getDateFromDate(validFromDates.from),\n        );\n    }\n    if (validFromDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.validFromTo] = getEndDayFromDateZero(getDateFromDate(validFromDates.to));\n    }\n\n    const validTillDates = values[FieldsEnum.validTill];\n    if (validTillDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.validTillFrom] = getStartDayFromDateZero(\n            getDateFromDate(validTillDates.from),\n        );\n    }\n    if (validTillDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.validTillTo] = getEndDayFromDateZero(getDateFromDate(validTillDates.to));\n    }\n\n    const priceComponent = values[FieldsEnum.priceComponent];\n    if (priceComponent) {\n        queryFilters[QueryFiltersKeysEnum.rulesImpactPriceComponent] = priceComponent;\n    }\n\n    const priceOperation = values[FieldsEnum.priceOperation];\n    if (priceOperation) {\n        queryFilters[QueryFiltersKeysEnum.rulesImpactPriceOperation] = priceOperation;\n    }\n\n    const createdByUserId = values[FieldsEnum.createdByUserId];\n    if (createdByUserId) {\n        queryFilters[QueryFiltersKeysEnum.createdByUserId] = createdByUserId;\n        queryFilters[QueryFiltersKeysEnum.createdByUserName] = values[FieldsEnum.createdByUserName] || undefined;\n    }\n\n    const lastModifyByUserId = values[FieldsEnum.lastModifyByUserId];\n    if (lastModifyByUserId) {\n        queryFilters[QueryFiltersKeysEnum.lastModifyByUserId] = lastModifyByUserId;\n        queryFilters[QueryFiltersKeysEnum.lastModifyByUserName] = values[FieldsEnum.lastModifyByUserName] || undefined;\n    }\n\n    return queryFilters;\n};\n\nexport { getQueryFilters };\n","// extracted by mini-css-extract-plugin\nexport default {\"controls\":\"ShipperContractDetailsPage__controls___Pfsgq\",\"header__controls\":\"ShipperContractDetailsPage__header__controls___pDI0V\",\"fadeIn\":\"ShipperContractDetailsPage__fadeIn___epHK9\",\"blinking\":\"ShipperContractDetailsPage__blinking___e3Jgc\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './HorizontalColumnsLayout.scss';\n\nconst cx = classNames.bind(styles);\n\nenum TabsEnum {\n    left = 'left',\n    right = 'right',\n}\n\ntype PropsT = {\n    className?: string;\n    isNarrow?: boolean;\n    leftColumnTitle: React.ReactNode;\n    leftColumnNode: React.ReactNode;\n    rightColumnTitle: React.ReactNode;\n    rightColumnNode: React.ReactNode;\n    overlayNode?: React.ReactNode;\n    testSelector?: string;\n};\n\nconst HorizontalColumnsLayout: React.FC<PropsT> = React.memo((props) => {\n    const {\n        isNarrow,\n        leftColumnTitle,\n        leftColumnNode,\n        rightColumnTitle,\n        rightColumnNode,\n        overlayNode,\n        className,\n        testSelector,\n    } = props;\n\n    const [activeTab, setTab] = React.useState<TabsEnum>(TabsEnum.left);\n\n    return (\n        <div className={cs(cx('content'), className)} data-test-selector={`${testSelector}_horizontal-columns`}>\n            <div className={cx('inner')}>\n                <div className={cx('tabs')}>\n                    <div\n                        className={cx('tab-item', {\n                            'tab-item--isActive': activeTab === TabsEnum.left,\n                        })}\n                        onClick={() => setTab(TabsEnum.left)}\n                    >\n                        {leftColumnTitle}\n                    </div>\n                    <div\n                        className={cx('tab-item', {\n                            'tab-item--isActive': activeTab === TabsEnum.right,\n                        })}\n                        onClick={() => setTab(TabsEnum.right)}\n                    >\n                        {rightColumnTitle}\n                    </div>\n                </div>\n                <div className={cx('tabs__container')}>\n                    <div\n                        className={cx('tabs__tab', 'tabs__tab--isLeftTab', {\n                            'tabs__tab--isNarrow': isNarrow,\n                        })}\n                    >\n                        <div className={cx('tab')}>{leftColumnNode}</div>\n                    </div>\n                    <div\n                        className={cx('tabs__tab', 'tabs__tab--isRightTab', {\n                            'tabs__tab--isActiveRightTab': activeTab === TabsEnum.right,\n                        })}\n                    >\n                        {rightColumnNode}\n                    </div>\n                    {overlayNode}\n                </div>\n            </div>\n        </div>\n    );\n});\n\nexport default HorizontalColumnsLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"DispatcherDropdown__fadeIn___rjsEe\",\"blinking\":\"DispatcherDropdown__blinking___q1Esw\"};","import { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\nimport { StopTypeEnum } from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\nimport { formatLocation } from 'common/utils/formatters';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { InitDropPointT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/models';\n\nexport const createInitWaypointTrailerDropPoint = (\n    brokerOrderDetails: BrokerOrderDetailsT | null,\n    tourId: TourIdT | null,\n): InitDropPointT | null => {\n    const tour = findTourById(brokerOrderDetails, tourId);\n    const waypoints = tour?.waypoints || [];\n\n    const lastDropWaypoint =\n        waypoints?.find((waypoint) => {\n            return waypoint.type === StopTypeEnum.dropTrailer || waypoint.type === StopTypeEnum.dropRoadTrain;\n        }) || null;\n\n    const waypoint = lastDropWaypoint || null;\n    if (!waypoint) {\n        return null;\n    }\n\n    const waypointAddress = waypoint?.address || null;\n    if (!waypointAddress) {\n        return null;\n    }\n\n    if (!isNumber(waypointAddress?.latitude) || !isNumber(waypointAddress?.longitude)) {\n        return null;\n    }\n\n    return {\n        location: {\n            address: formatLocation(waypointAddress),\n            utcOffsetMinutes: null,\n            addressComponents: {\n                countryCode: waypointAddress.country,\n                street1: waypointAddress?.street1,\n                street2: waypointAddress?.street2,\n                zipCode: waypointAddress?.zipCode,\n                city: waypointAddress?.city,\n            },\n            point: {\n                lat: waypointAddress.latitude || 0,\n                lng: waypointAddress.longitude || 0,\n            },\n        },\n        index: isNumber(waypoint?.index) ? waypoint.index : null,\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"trigger\":\"Trigger__trigger___DHIaW\",\"trigger--isLeft\":\"Trigger__trigger--isLeft___qG6HL\",\"trigger--isRight\":\"Trigger__trigger--isRight___TJOp4\",\"trigger--isDisabled\":\"Trigger__trigger--isDisabled___HHNai\",\"line\":\"Trigger__line___VbGBv\",\"fadeIn\":\"Trigger__fadeIn___DDPHH\",\"blinking\":\"Trigger__blinking___pYgDB\"};","// extracted by mini-css-extract-plugin\nexport default {\"axis\":\"Chart__axis___b0nMV\",\"axis--line\":\"Chart__axis--line___w4ahm\",\"line-chart\":\"Chart__line-chart___OCRLU\",\"line-chart--accepted\":\"Chart__line-chart--accepted___SZij_\",\"line-chart--rejected\":\"Chart__line-chart--rejected___SYONQ\",\"line-chart--estimated\":\"Chart__line-chart--estimated___C6sG5\",\"line-chart--real\":\"Chart__line-chart--real___YM7Qe\",\"bubbles\":\"Chart__bubbles___lsH6d\",\"bubbles--accepted\":\"Chart__bubbles--accepted___SJiTu\",\"bubbles--rejected\":\"Chart__bubbles--rejected___IKmfc\",\"bubbles--estimated\":\"Chart__bubbles--estimated___RcFIu\",\"bubbles--real\":\"Chart__bubbles--real___rLAD2\",\"fadeIn\":\"Chart__fadeIn___TCwnp\",\"blinking\":\"Chart__blinking___xV1vQ\"};","// extracted by mini-css-extract-plugin\nexport default {\"notification-toasts-manger\":\"OverlaysManager__notification-toasts-manger____2HXq\",\"dev-localization-language-switcher\":\"OverlaysManager__dev-localization-language-switcher___sadyy\",\"alerts-manager\":\"OverlaysManager__alerts-manager___zQ0Pc\",\"debug-notifications-form\":\"OverlaysManager__debug-notifications-form___eaUj4\",\"debug-alerts-form\":\"OverlaysManager__debug-alerts-form___IcHzE\",\"fadeIn\":\"OverlaysManager__fadeIn___uwrr5\",\"blinking\":\"OverlaysManager__blinking___F2r9c\"};","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"ServicesTable__table___NZDlG\",\"table__header\":\"ServicesTable__table__header___MXYBx\",\"table__header--name\":\"ServicesTable__table__header--name___EF5I8\",\"table__header--cost\":\"ServicesTable__table__header--cost___QZgjQ\",\"table__column--name\":\"ServicesTable__table__column--name___u2sE1\",\"table__column--cost\":\"ServicesTable__table__column--cost___T5Qeh\",\"fadeIn\":\"ServicesTable__fadeIn___w3IZa\",\"blinking\":\"ServicesTable__blinking___smICM\"};","import * as React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { useTranslation } from 'react-i18next';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\n\nenum TypeEnum {\n    all = 'all',\n    spot = 'spot',\n    dedicated = 'dedicated',\n}\n\nconst i18nTMap: Record<TypeEnum, string> = {\n    [TypeEnum.spot]: 'common:transport-orders-page.filters.quick-transport-order-type.spot',\n    [TypeEnum.dedicated]: 'common:transport-orders-page.filters.quick-transport-order-type.dedicated',\n    [TypeEnum.all]: 'common:transport-orders-page.filters.quick-transport-order-type.all',\n};\n\ntype OptionT = {\n    id: TypeEnum;\n    label: React.ReactNode;\n};\n\nexport type PropsT = {\n    className?: string;\n    isSelectedSpot?: boolean;\n    isSelectedDedicated?: boolean;\n    onSelect: (value: { isSelectedSpot?: boolean; isSelectedDedicated?: boolean }) => void;\n};\n\nconst TransportOrderTypeDropdown = (props: PropsT) => {\n    const { className, isSelectedSpot, isSelectedDedicated, onSelect } = props;\n\n    const { t } = useTranslation();\n\n    const selectedOptionValue = React.useMemo((): TypeEnum => {\n        if (isSelectedSpot) {\n            return TypeEnum.spot;\n        }\n\n        if (isSelectedDedicated) {\n            return TypeEnum.dedicated;\n        }\n\n        return TypeEnum.all;\n    }, [isSelectedSpot, isSelectedDedicated]);\n\n    const options = React.useMemo((): Array<OptionT> => {\n        return [\n            {\n                id: TypeEnum.all,\n                label: t(i18nTMap[TypeEnum.all]),\n            },\n            {\n                id: TypeEnum.spot,\n                label: t(i18nTMap[TypeEnum.spot]),\n            },\n            {\n                id: TypeEnum.dedicated,\n                label: t(i18nTMap[TypeEnum.dedicated]),\n            },\n        ];\n    }, [t]);\n\n    const handleChange = React.useCallback(\n        (values: TypeEnum) => {\n            onSelect({\n                isSelectedSpot: values === TypeEnum.spot,\n                isSelectedDedicated: values === TypeEnum.dedicated,\n            });\n        },\n        [onSelect],\n    );\n\n    return (\n        <DropdownInput<OptionT, TypeEnum>\n            className={className}\n            selectedValue={selectedOptionValue}\n            options={options}\n            onSelect={handleChange}\n            renderOption={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return <DropdownControlOptionLabel withoutPaddings label={option.label} />;\n            }}\n            renderTrigger={(props, selectedOption) => {\n                const label = t(i18nTMap[selectedOption?.id || TypeEnum.all]);\n\n                return (\n                    <TransparentTrigger\n                        testSelector=\"trigger\"\n                        onClick={props.onClick}\n                        isPressed={props.isPressed}\n                        label={label}\n                        rightIcon={<ArrowsIcon />}\n                        reflectionTheme={ReflectionThemeEnum.light}\n                    />\n                );\n            }}\n            getOptionValue={(option) => option?.id}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default TransportOrderTypeDropdown;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    FETCH_TRACK_BY_ORDER,\n    FETCH_TRACK_BY_TRANSPORT_ORDERS,\n    FetchTrackByOrderActionT,\n    FetchTrackByTransportOrderActionT,\n} from './types';\nimport { fetchTrackBegin, fetchTrackError, fetchTrackSuccess } from './actions';\nimport { selectAssetTrackRequest } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { CompanyTypeEnum } from 'common/constants';\nimport {\n    getAssetsTrackHashByOrderId,\n    getAssetsTrackHashByTransportOrderId,\n    getAssetTrackHashByOrderId,\n    getAssetTrackHashByTransportOrderId,\n} from './utils';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport shipperTranziitApi from 'shipper/utils/api/shipper-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { TrackPointT } from 'common/store/asset-track/models';\nimport { parseDateString } from 'common/utils/time';\nimport isNumber from 'lodash/isNumber';\n\nfunction getFetchTrackByOrderSaga(companyType: CompanyTypeEnum) {\n    return function* fetchTrackByTourSaga(action: FetchTrackByOrderActionT): WrapGeneratorT<void> {\n        const { orderId } = action;\n\n        const orderHash = getAssetsTrackHashByOrderId(orderId);\n\n        const requestStatus: ReReturnT<typeof selectAssetTrackRequest> = yield select(\n            selectAssetTrackRequest(orderHash),\n        );\n        if (!checkNeedRequest(requestStatus)) {\n            return;\n        }\n\n        yield put(fetchTrackBegin(orderHash));\n\n        let result: ReturnApiT<\n            | typeof shipperTranziitApi.fetchAssetTracksByOrder\n            | typeof brokerTranziitApi.fetchAssetTracksByTransportOrder\n        > | null = null;\n\n        if (companyType === CompanyTypeEnum.shipper) {\n            result = yield shipperTranziitApi.fetchAssetTracksByOrder(orderId);\n        }\n\n        if (!result) {\n            return;\n        }\n\n        const [error, apiAssetsCoordinates] = result;\n\n        if (apiAssetsCoordinates) {\n            for (const apiAssetCoordinates of apiAssetsCoordinates) {\n                const assetId = apiAssetCoordinates?.assetId || null;\n                if (assetId) {\n                    const hash = getAssetTrackHashByOrderId(orderId, assetId);\n\n                    const tracks = apiAssetCoordinates?.coordinates?.reduce<Array<TrackPointT>>((acc, coordinate) => {\n                        const timestamp = parseDateString(coordinate.receivedDate);\n                        if (!isNumber(timestamp)) {\n                            return acc;\n                        }\n\n                        acc.push({\n                            lat: coordinate.latitude,\n                            lng: coordinate.longitude,\n                            timestamp,\n                        });\n\n                        return acc;\n                    }, []);\n\n                    yield put(fetchTrackSuccess(hash, tracks));\n                }\n            }\n        }\n\n        if (error) {\n            yield put(fetchTrackError(orderHash, error));\n        } else {\n            yield put(fetchTrackSuccess(orderHash, null));\n        }\n    };\n}\n\nfunction getFetchTrackByTransportOrdersSaga(companyType: CompanyTypeEnum) {\n    return function* fetchTrackByTourSaga(action: FetchTrackByTransportOrderActionT): WrapGeneratorT<void> {\n        const { transportOrderIds } = action;\n\n        for (const transportOrderId of transportOrderIds) {\n            const transportOrderHash = getAssetsTrackHashByTransportOrderId(transportOrderId);\n\n            const requestStatus: ReReturnT<typeof selectAssetTrackRequest> = yield select(\n                selectAssetTrackRequest(transportOrderHash),\n            );\n            if (!checkNeedRequest(requestStatus)) {\n                return;\n            }\n\n            yield put(fetchTrackBegin(transportOrderHash));\n\n            let result: ReturnApiT<typeof carrierTranziitApi.fetchAssetTracksByTransportOrder> | null = null;\n\n            if (companyType === CompanyTypeEnum.carrier) {\n                result = yield carrierTranziitApi.fetchAssetTracksByTransportOrder(transportOrderId);\n            }\n\n            if (companyType === CompanyTypeEnum.broker) {\n                result = yield brokerTranziitApi.fetchAssetTracksByTransportOrder(transportOrderId);\n            }\n\n            if (!result) {\n                return;\n            }\n\n            const [error, apiAssetsCoordinates] = result;\n\n            if (apiAssetsCoordinates) {\n                for (const apiAssetCoordinates of apiAssetsCoordinates) {\n                    const assetId = apiAssetCoordinates?.assetId || null;\n                    if (assetId) {\n                        const hash = getAssetTrackHashByTransportOrderId(transportOrderId, assetId);\n\n                        const tracks = apiAssetCoordinates?.coordinates?.reduce<Array<TrackPointT>>(\n                            (acc, coordinate) => {\n                                const timestamp = parseDateString(coordinate.receivedDate);\n                                if (!isNumber(timestamp)) {\n                                    return acc;\n                                }\n\n                                acc.push({\n                                    lat: coordinate.latitude,\n                                    lng: coordinate.longitude,\n                                    timestamp,\n                                });\n\n                                return acc;\n                            },\n                            [],\n                        );\n\n                        yield put(fetchTrackSuccess(hash, tracks));\n                    }\n                }\n            }\n\n            if (error) {\n                yield put(fetchTrackError(transportOrderHash, error));\n            } else {\n                yield put(fetchTrackSuccess(transportOrderHash, null));\n            }\n        }\n    };\n}\n\nfunction* assetTrackSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_TRACK_BY_ORDER, getFetchTrackByOrderSaga(companyType));\n    yield takeEvery(FETCH_TRACK_BY_TRANSPORT_ORDERS, getFetchTrackByTransportOrdersSaga(companyType));\n}\n\nexport default assetTrackSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"divider\":\"ContractDetailsForm__divider___yUMOt\",\"fadeIn\":\"ContractDetailsForm__fadeIn___Dk99w\",\"blinking\":\"ContractDetailsForm__blinking___V8eDj\"};","import * as React from 'react';\n\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, AssetTypeEnum } from 'common/constants';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectGPSIsChecking, selectGPSStatus } from 'common/store/gps-tracking-status/selectors';\nimport { checkGPSStatusRequest, reset } from 'common/store/gps-tracking-status/actions';\nimport { GPStatusEnum } from 'common/store/gps-tracking-status/constants';\n\ntype PropsT = {\n    className?: string;\n    plateNumber: string;\n    assetType: AssetTypeEnum;\n    companyId: CompanyIdT;\n};\n\nconst GPSTrackingStatusAlert: React.FC<PropsT> = React.memo((props) => {\n    const { className, plateNumber, assetType, companyId } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        return () => {\n            dispatch(reset());\n        };\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        dispatch(checkGPSStatusRequest({ companyId, assetType, plateNumber }));\n    }, [dispatch, companyId, assetType, plateNumber]);\n\n    const isChecking = useSelector(selectGPSIsChecking);\n    const gpsStatus = useSelector(selectGPSStatus);\n\n    const infoIconNode = <InfoIcon fillColor={StyleGuideColorsEnum.white} />;\n    const loaderIconNode = <ControlLoaderIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />;\n\n    let theme: AlertThemeEnum | null = null;\n    let text = '';\n\n    if (gpsStatus === GPStatusEnum.unable) {\n        theme = AlertThemeEnum.orange;\n        text = t('common:trucks-page.add-truck.gps-tracking-status.dedicated-unable');\n    }\n\n    if (gpsStatus === GPStatusEnum.enabled) {\n        theme = AlertThemeEnum.brandAccent;\n        text = t('common:trucks-page.add-truck.gps-tracking-status.dedicated-enabled');\n    }\n\n    if (!gpsStatus) {\n        theme = AlertThemeEnum.gray;\n        text = plateNumber\n            ? t('common:trucks-page.add-truck.gps-tracking-status.loading')\n            : t('common:trucks-page.add-truck.gps-tracking-status.empty');\n    }\n\n    return (\n        <Alert\n            className={className}\n            icon={isChecking ? loaderIconNode : infoIconNode}\n            size={AlertSizeEnum.small}\n            theme={theme || AlertThemeEnum.gray}\n        >\n            {text}\n        </Alert>\n    );\n});\n\nexport default GPSTrackingStatusAlert;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EvidenceOfTaxDetails.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport { fetchEvidenceOfTaxDetails } from 'common/store/documents/actions';\nimport {\n    selectFetchEvidenceOfTaxDetails,\n    selectFetchEvidenceOfTaxDetailsRequest,\n} from 'common/store/documents/selectors';\nimport SideBarLoader from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLoader/SideBarLoader';\nimport { DocumentVersionT } from 'common/store/documents/models';\nimport { logWarning } from 'common/utils/logger';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    // eslint-disable-next-line react/no-unused-prop-types\n    actualVersion: DocumentVersionT | null;\n    partnerId: PartnerIdT | null;\n};\n\nconst EvidenceOfTaxDetails: React.FC<PropsT> = (props) => {\n    const { partnerId } = props;\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in EvidenceOfTaxDetails useEffect');\n            return;\n        }\n        dispatch(fetchEvidenceOfTaxDetails(partnerId));\n    }, [partnerId, dispatch]);\n\n    const evidenceOfTaxDetails = useSelector(selectFetchEvidenceOfTaxDetails(partnerId));\n\n    const fetchEvidenceOfTaxDetailsRequest = useSelector(selectFetchEvidenceOfTaxDetailsRequest(partnerId));\n    if (fetchEvidenceOfTaxDetailsRequest.loading && !evidenceOfTaxDetails) {\n        return <SideBarLoader isRelative />;\n    }\n\n    return (\n        <>\n            <ReadOnlyField\n                label={t('common:document.evidence-of-tax-details.tax-id')}\n                value={evidenceOfTaxDetails?.taxId || ''}\n                placeholder={t('common:fields.placeholder.empty')}\n            />\n            <ReadOnlyField\n                label={t('common:document.evidence-of-tax-details.vat-number')}\n                value={evidenceOfTaxDetails?.vat || ''}\n                placeholder={t('common:fields.placeholder.empty')}\n            />\n            <ReadOnlyField\n                label={t('common:document.evidence-of-tax-details.iban')}\n                value={evidenceOfTaxDetails?.iban || ''}\n                placeholder={t('common:fields.placeholder.empty')}\n            />\n            <ReadOnlyField\n                label={t('common:document.evidence-of-tax-details.bic')}\n                value={evidenceOfTaxDetails?.bic || ''}\n                placeholder={t('common:fields.placeholder.empty')}\n            />\n        </>\n    );\n};\n\nexport default EvidenceOfTaxDetails;\n","import app from 'firebase/app';\nimport 'firebase/auth';\n\nimport i18n from 'i18next';\nimport { authRoutesEnum, QueryKeysEnum } from '../../../constants';\nimport { AuthApiError, AuthErrorTypeEnum } from './errors/auth-api-error';\nimport {\n    AuthAccountUrlsT,\n    AuthStateChangedCallbackT,\n    AuthUnsubscribeCallbackT,\n    AuthUserClaimsT,\n    AuthUserT,\n    BaseAuthService,\n} from './base-auth-service';\nimport ActionCodeSettings = firebase.auth.ActionCodeSettings;\nimport { formatQuery } from 'common/utils/query';\nimport { createSelfExternalUrl } from 'common/utils/history';\nimport { logError } from 'common/utils/logger';\n\ntype FirebaseConfigT = {\n    apiKey?: string;\n    authDomain?: string;\n    databaseURL?: string;\n    projectId?: string;\n    storageBucket?: string;\n    messagingSenderId?: string;\n    appId?: string;\n};\n\nenum AuthApiTypeEnum {\n    userDisabled = 'auth/user-disabled',\n    userNotFound = 'auth/user-not-found',\n    wrongPassword = 'auth/wrong-password',\n    networkRequestFailed = 'auth/network-request-failed',\n    expiredActionCode = 'auth/expired-action-code',\n    invalidActionCode = 'auth/invalid-action-code',\n    weakPassword = 'auth/weak-password',\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ninterface AuthStateChangedCallbackI {\n    (user: firebase.User | null): void;\n}\n\nexport class FirebaseAuthService extends BaseAuthService {\n    private auth: firebase.auth.Auth;\n\n    constructor(config: FirebaseConfigT) {\n        super();\n\n        app.initializeApp(config);\n\n        this.auth = app.auth();\n\n        if (window.FIREBASE_TENANT_ID) {\n            this.auth.tenantId = window.FIREBASE_TENANT_ID;\n        }\n    }\n\n    checkAllowedAnonymouslyUserCreation = (): boolean => {\n        return true;\n    };\n\n    private syncLanguage = (): void => {\n        this.auth.languageCode = i18n.language;\n    };\n\n    onAuthStateChanged = (resolver: AuthStateChangedCallbackT): AuthUnsubscribeCallbackT => {\n        return this.auth.onAuthStateChanged(resolver);\n    };\n\n    private parseCommonErrors(error: firebase.auth.Error | null): AuthApiError | null {\n        const errorMapper: Record<string, AuthErrorTypeEnum> = {\n            [AuthApiTypeEnum.networkRequestFailed]: AuthErrorTypeEnum.networkRequestFailed,\n            [AuthApiTypeEnum.expiredActionCode]: AuthErrorTypeEnum.expiredActionCode,\n            [AuthApiTypeEnum.invalidActionCode]: AuthErrorTypeEnum.invalidActionCode,\n            [AuthApiTypeEnum.weakPassword]: AuthErrorTypeEnum.weakPassword,\n            [AuthApiTypeEnum.wrongPassword]: AuthErrorTypeEnum.wrongPassword,\n            [AuthApiTypeEnum.userDisabled]: AuthErrorTypeEnum.userDisabled,\n            [AuthApiTypeEnum.userNotFound]: AuthErrorTypeEnum.userNotFound,\n        };\n\n        const authErrorType = error?.code ? errorMapper[error.code] : null;\n        if (error?.code && authErrorType) {\n            return new AuthApiError(authErrorType, error.message);\n        }\n\n        return null;\n    }\n\n    destroySession = () => {\n        // nothing\n    };\n\n    async getAuthToken(): Promise<string | null> {\n        const { auth } = this;\n\n        if (!auth.currentUser) {\n            return null;\n        }\n\n        const idToken = auth.currentUser.getIdToken();\n\n        return idToken;\n    }\n\n    async getAuthHeaders(): Promise<Record<string, string> | null> {\n        const token = await this.getAuthToken();\n\n        return {\n            Authorization: `Bearer ${token}`,\n        };\n    }\n\n    getAuthUserClaims = async (): Promise<[AuthApiError | null, AuthUserClaimsT | null]> => {\n        const { auth } = this;\n\n        if (!auth.currentUser) {\n            return [null, null];\n        }\n\n        const response = await auth.currentUser.getIdTokenResult();\n\n        const authUserClaims: AuthUserClaimsT = {\n            roles: response.claims.roles,\n        };\n\n        return [null, authUserClaims];\n    };\n\n    createAnonymouslyUser = async (): Promise<[AuthApiError | null, AuthUserT | null]> => {\n        const { auth } = this;\n\n        try {\n            const userCredential = await auth.signInAnonymously();\n\n            return [null, userCredential.user];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failAnonymouslySignIn, error.message);\n\n            return [authError, null];\n        }\n    };\n\n    signInWithEmailAndPassword = async (\n        email: string,\n        password: string,\n    ): Promise<[AuthApiError | null, firebase.User | null]> => {\n        const { auth } = this;\n\n        try {\n            const userCredential = await auth.signInWithEmailAndPassword(email, password);\n\n            return [null, userCredential.user];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failSignIn, error.message);\n            return [authError, null];\n        }\n    };\n\n    doSignOut = async (): Promise<[AuthApiError | null, null]> => {\n        try {\n            await this.auth.signOut();\n            return [null, null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failSignOut, error.message);\n            return [authError, null];\n        }\n    };\n\n    sendVerificationEmail = async (user: firebase.User | null): Promise<[AuthApiError | null, null]> => {\n        const ACTION_CODE_SETTINGS: ActionCodeSettings = {\n            url: createSelfExternalUrl(authRoutesEnum.signIn),\n        };\n\n        if (!user) {\n            const authError = new AuthApiError(AuthErrorTypeEnum.userIsNotAuthorized, 'empty currentUserCredential');\n\n            return [authError, null];\n        }\n\n        try {\n            await user.sendEmailVerification(ACTION_CODE_SETTINGS);\n\n            return [null, null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failSendEmailVerification, error.message);\n\n            return [authError, null];\n        }\n    };\n\n    sendPasswordResetEmail = async (email: string): Promise<[AuthApiError | null, null]> => {\n        this.syncLanguage();\n\n        const { auth } = this;\n        try {\n            await auth.sendPasswordResetEmail(email, {\n                url: window.location.origin,\n            });\n\n            return [null, null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            if (error.code === AuthApiTypeEnum.userNotFound) {\n                const authError = new AuthApiError(AuthErrorTypeEnum.userNotFound, error.message);\n                return [authError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failSendPasswordResetEmail, error.message);\n            return [authError, null];\n        }\n    };\n\n    updatePassword = async (code: string, password: string): Promise<[AuthApiError | null, null]> => {\n        const { auth } = this;\n\n        try {\n            await auth.confirmPasswordReset(code, password);\n\n            return [null, null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failUpdatePassword, error.message);\n\n            return [authError, null];\n        }\n    };\n\n    signUp = async (email: string, password: string): Promise<[AuthApiError | null, firebase.User | null]> => {\n        const { auth } = this;\n\n        try {\n            const credential = app.auth.EmailAuthProvider.credential(email, password);\n            const usercred = await auth.currentUser?.linkWithCredential(credential);\n\n            return [null, usercred?.user || null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failUpdatePassword, error.message);\n\n            return [authError, null];\n        }\n    };\n\n    verificationEmail = async (code: string): Promise<[AuthApiError | null, null]> => {\n        const { auth } = this;\n\n        try {\n            await auth.applyActionCode(code);\n            return [null, null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failEmailVerification, error.message);\n\n            return [authError, null];\n        }\n    };\n\n    reauthenticateWithCredential = async (\n        email: string,\n        password: string,\n    ): Promise<[AuthApiError | null, AuthUserT | null]> => {\n        const { auth } = this;\n        const { currentUser } = auth || {};\n\n        try {\n            const credential = app.auth.EmailAuthProvider.credential(email, password);\n            const userCredential = await currentUser?.reauthenticateWithCredential(credential);\n\n            return [null, userCredential?.user || null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failReauthenticateWithCredential, error.message);\n\n            return [authError, null];\n        }\n    };\n\n    changePassword = async (newPassword: string): Promise<[AuthApiError | null, null]> => {\n        const { auth } = this;\n        const { currentUser } = auth || {};\n\n        try {\n            await currentUser?.updatePassword(newPassword);\n            return [null, null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failChangePassword, error.message);\n\n            return [authError, null];\n        }\n    };\n\n    updateProfile = async (displayName: string, photoURL?: string): Promise<[AuthApiError | null, null]> => {\n        const { auth } = this;\n        const { currentUser } = auth || {};\n\n        try {\n            await currentUser?.updateProfile({\n                displayName,\n                photoURL,\n            });\n            return [null, null];\n        } catch (error) {\n            const parsedCommonError = this.parseCommonErrors(error);\n            if (parsedCommonError) {\n                return [parsedCommonError, null];\n            }\n\n            const authError = new AuthApiError(AuthErrorTypeEnum.failUpdateProfile, error.message);\n\n            return [authError, null];\n        }\n    };\n\n    createSignInUrlAfterChangePassword = (): {\n        pathname: string;\n        search: string;\n    } => {\n        return {\n            pathname: authRoutesEnum.signIn,\n            search: formatQuery({\n                [QueryKeysEnum.successChangePassword]: true,\n            }),\n        };\n    };\n\n    checkIsContinueSignInRedirect = () => {\n        return false;\n    };\n\n    createSignInUrl = (\n        returnUrl?: string,\n    ): {\n        pathname: string;\n        search: string;\n    } => {\n        return {\n            pathname: authRoutesEnum.signIn,\n            search: formatQuery({\n                [QueryKeysEnum.returnUrl]: returnUrl,\n            }),\n        };\n    };\n\n    createSignUpUrl = (): string => {\n        return authRoutesEnum.signUp;\n    };\n\n    createForgotPasswordUrl = (): string => {\n        return authRoutesEnum.forgotPassword;\n    };\n\n    createChangePasswordUrl = (): string => {\n        return authRoutesEnum.changePassword;\n    };\n\n    createAccountUrl = (): string => {\n        throw new Error('not implement in firebase');\n    };\n\n    forceRefreshToken = async (): Promise<[AuthApiError | null, boolean | null]> => {\n        throw new Error('not implement in firebase');\n    };\n\n    getAccountUrls = async (): Promise<[AuthApiError | null, AuthAccountUrlsT | null]> => {\n        return [null, null];\n    };\n}\n\nexport const tryParseFirebaseConfig = (): FirebaseConfigT => {\n    try {\n        return JSON.parse(window.STRINGIFIED_FIREBASE_CONFIG);\n    } catch (error) {\n        logError('Parse firebase config error!!', error);\n\n        return {};\n    }\n};\n","import React from 'react';\n\nexport type StepContextT = {\n    hasSelectedContact: boolean;\n    setHasSelectedContract: (hasSelectedContact: boolean) => void;\n};\n\nconst StepsContext = React.createContext<StepContextT>({\n    hasSelectedContact: false,\n    setHasSelectedContract: () => {\n        // nothing\n    },\n});\n\nexport default StepsContext;\n","import * as React from 'react';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    isPaid: boolean;\n    isSymmetrical?: boolean;\n};\n\nconst InvoiceBinaryStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { className, isPaid, isSymmetrical } = props;\n\n    const { t } = useTranslation();\n\n    let label = t('common:invoice-binary-status.not-paid');\n    let theme: PillLabelThemeEnum = colorCodingPillLabelTheme.attention;\n\n    if (isPaid) {\n        label = t('common:invoice-binary-status.paid');\n        theme = colorCodingPillLabelTheme.positive;\n    }\n\n    return (\n        <PillLabel isNoWrap className={className} theme={theme} isSymmetrical={isSymmetrical}>\n            {label}\n        </PillLabel>\n    );\n});\n\nexport default InvoiceBinaryStatusPill;\n","import * as React from 'react';\n\nimport { Route, Switch } from 'react-router-dom';\n\nimport SpotRequestListPage from 'broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestListPage';\nimport SpotRequestDetailsPage from 'broker-admin/layouts/SpotRequestsPage/SpotRequestDetailsPage/SpotRequestDetailsPage';\nimport { SpotRoutesEnum } from 'broker-admin/constants';\n\ntype PropsT = {};\n\nconst SpotRequestsPage: React.FC<PropsT> = React.memo(() => {\n    return (\n        <Switch>\n            <Route path={SpotRoutesEnum.spotRequestDetails}>\n                <SpotRequestDetailsPage />\n            </Route>\n            <Route path=\"*\">\n                <SpotRequestListPage />\n            </Route>\n        </Switch>\n    );\n});\n\nexport default SpotRequestsPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"top-bar--isSticky\":\"TopBar__top-bar--isSticky___K8VG4\",\"inner\":\"TopBar__inner___cQm0R\",\"inner--isWhite\":\"TopBar__inner--isWhite___geaxP\",\"inner--isSticky\":\"TopBar__inner--isSticky___atRQJ\",\"menu-trigger\":\"TopBar__menu-trigger___NzXjL\",\"fadeIn\":\"TopBar__fadeIn___o8vBF\",\"blinking\":\"TopBar__blinking___wPw8D\"};","import * as React from 'react';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\nimport { useSelector } from 'react-redux';\nimport { AddTruckSidebarDataT } from 'common/layouts/SideBars/contents/AddTruckSidebarContent/models';\nimport { selectAddTruckRequestStatus } from 'common/store/trucks/selectors';\nimport EditTruckSidebarContent from 'common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/EditTruckSidebarContent';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\ntype PropsT = SidebarContentPropsT<AddTruckSidebarDataT, CommonSidebarDataT>;\n\nconst AddTruckSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onGoBack, onClose, setNeedCloseConfirmation, onOpenNextSidebar } = props;\n\n    const addTruckRequestStatus = useSelector(selectAddTruckRequestStatus(data.partnerId));\n    useCloseSidebarAfterRequest(addTruckRequestStatus, onGoBack || onClose);\n\n    if (!onClose) {\n        return null;\n    }\n\n    const handleOpenTruckDetails = (truckId: TruckIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.truckDetails,\n            partnerId: data.partnerId,\n            truckId,\n        });\n    };\n\n    const handleOpenTrailerDetails = (trailerId: TrailerIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            partnerId: data.partnerId,\n            trailerId,\n        });\n    };\n\n    const handleOpenUserDetails = (userId: UserIdT, isBrokerUser?: boolean) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId: data.partnerId,\n            partnerType: isBrokerUser ? PartnerTypeEnum.broker : PartnerTypeEnum.carrier,\n            userId,\n        });\n    };\n\n    return (\n        <EditTruckSidebarContent\n            partnerId={data.partnerId}\n            truckId={null}\n            onClose={onClose}\n            onCancel={onClose}\n            setNeedCloseConfirmation={setNeedCloseConfirmation}\n            onOpenTrailerDetails={handleOpenTrailerDetails}\n            onOpenTruckDetails={handleOpenTruckDetails}\n            onOpenUserDetails={handleOpenUserDetails}\n        />\n    );\n};\n\nexport default AddTruckSidebarContent;\n","import * as React from 'react';\nimport { ApiTransportationOrderTypeT, TransportationOrderTypeEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    transportOrderType?: ApiTransportationOrderTypeT | null;\n};\n\nconst i18nMap: Record<ApiTransportationOrderTypeT, string> = {\n    [TransportationOrderTypeEnum.train]: 'common:asset-type.truck-and-trailer',\n    [TransportationOrderTypeEnum.trailer]: 'common:asset-type.trailer',\n    [TransportationOrderTypeEnum.truck]: 'common:asset-type.truck',\n};\n\nconst TransportOrderTypeFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { transportOrderType } = props;\n\n    const { t } = useTranslation();\n\n    if (!transportOrderType) {\n        return null;\n    }\n\n    return <span>{t(i18nMap[transportOrderType])}</span>;\n});\n\nexport default TransportOrderTypeFormatter;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './PapersGrid.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    children?: React.ReactNode;\n    className?: string;\n};\n\nconst PapersGrid: React.FC<PropsT> = React.memo((props) => {\n    const { children, className } = props;\n\n    return <div className={cs(cx('grid'), className)}>{children}</div>;\n});\n\nexport default PapersGrid;\n","import { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { getDateFromDate, getEndDayFromDateZero, getStartDayFromDateZero } from 'common/utils/time';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {\n        [QueryFiltersKeysEnum.shipperIds]: values[FieldsEnum.shipperIds] || undefined,\n        [QueryFiltersKeysEnum.shipperNames]: values[FieldsEnum.shipperNames] || undefined,\n\n        [QueryFiltersKeysEnum.dictTrailerId]: values[FieldsEnum.dictTrailerId] || undefined,\n\n        [QueryFiltersKeysEnum.pickupAddress]: simpleStringFormatter(values[FieldsEnum.pickupAddress]) || undefined,\n        [QueryFiltersKeysEnum.dropoffAddress]: simpleStringFormatter(values[FieldsEnum.dropoffAddress]) || undefined,\n\n        [QueryFiltersKeysEnum.pickupDateFrom]: undefined,\n        [QueryFiltersKeysEnum.pickupDateTo]: undefined,\n\n        [QueryFiltersKeysEnum.dropOffDateFrom]: undefined,\n        [QueryFiltersKeysEnum.dropOffDateTo]: undefined,\n\n        [QueryFiltersKeysEnum.createdById]: values[FieldsEnum.createdById] || undefined,\n        [QueryFiltersKeysEnum.createdByName]: values[FieldsEnum.createdByName] || undefined,\n\n        [QueryFiltersKeysEnum.createdDateFrom]: undefined,\n        [QueryFiltersKeysEnum.createdDateTo]: undefined,\n\n        [QueryFiltersKeysEnum.source]: values[FieldsEnum.source] || undefined,\n        [QueryFiltersKeysEnum.extendedSource]: values[FieldsEnum.extendedSource] || undefined,\n    };\n\n    const pickupDates = values[FieldsEnum.pickupDates];\n    if (pickupDates?.from) {\n        const date = getDateFromDate(pickupDates.from);\n        queryFilters[QueryFiltersKeysEnum.pickupDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (pickupDates?.to) {\n        const date = getDateFromDate(pickupDates.to);\n        queryFilters[QueryFiltersKeysEnum.pickupDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const dropoffDates = values[FieldsEnum.dropoffDates];\n    if (dropoffDates?.from) {\n        const date = getDateFromDate(dropoffDates.from);\n        queryFilters[QueryFiltersKeysEnum.dropOffDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (dropoffDates?.to) {\n        const date = getDateFromDate(dropoffDates.to);\n        queryFilters[QueryFiltersKeysEnum.dropOffDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const createDates = values[FieldsEnum.createDates];\n    if (createDates?.from) {\n        const date = getDateFromDate(createDates.from);\n        queryFilters[QueryFiltersKeysEnum.createdDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (createDates?.to) {\n        const date = getDateFromDate(createDates.to);\n        queryFilters[QueryFiltersKeysEnum.createdDateTo] = getEndDayFromDateZero(date);\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './StatusCell.scss';\nimport { CompanyDriverT } from 'common/store/drivers/models';\nimport DriverStatusPill from 'common/components/status-pill/DriverStatusPill/DriverStatusPill';\n\ntype PropsT = {\n    driver: CompanyDriverT;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst StatusCell: React.FC<PropsT> = React.memo((props) => {\n    const { driver, className } = props;\n\n    return (\n        <div className={cx('status')}>\n            <DriverStatusPill isSymmetrical className={className} status={driver?.status} />\n        </div>\n    );\n});\n\nexport default StatusCell;\n","export {\n    attachPaperToShipment,\n    attachPaperToShipmentBegin,\n    attachPaperToShipmentSuccess,\n    attachPaperToShipmentError,\n    attachPaperToTour,\n    attachPaperToTourBegin,\n    attachPaperToTourSuccess,\n    attachPaperToTourError,\n    deleteAttachedPaper,\n    deleteAttachedPaperBegin,\n    deleteAttachedPaperSuccess,\n    deleteAttachedPaperError,\n    resetPapersEdit,\n} from './slice';\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './PositionOption.scss';\nimport { ContactPositionsEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport Radio from 'common/components/Radio/Radio';\n\ntype PropsT = {\n    onChange?: (value: ContactPositionsEnum) => void;\n    value: ContactPositionsEnum;\n    selectedValue: ContactPositionsEnum;\n    className?: string;\n    isDisabled?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst PositionOption: React.FC<PropsT> = React.memo((props) => {\n    const { value, selectedValue, onChange, isDisabled, className } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Radio<ContactPositionsEnum>\n            className={cs(cx('radio'), className)}\n            label={\n                <span className={cx('radio__label')}>\n                    {t(`common:team-members.edit-contact.fields.position.labels.${value}`)}\n                </span>\n            }\n            isDisabled={isDisabled}\n            selectedValue={selectedValue}\n            value={value}\n            onChange={onChange}\n        />\n    );\n});\n\nexport default PositionOption;\n","import {\n    FETCH_SYSTEM_SETTINGS_REQUEST_BEGIN,\n    FETCH_SYSTEM_SETTINGS_REQUEST_ERROR,\n    FETCH_SYSTEM_SETTINGS_REQUEST_SUCCESS,\n    SystemSettingsActionTypesT,\n    SystemSettingsStateT,\n    UPDATE_SYSTEM_SETTINGS_REQUEST_BEGIN,\n    UPDATE_SYSTEM_SETTINGS_REQUEST_ERROR,\n    UPDATE_SYSTEM_SETTINGS_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: SystemSettingsStateT = {\n    updateRequest: requestStatus.initial,\n    fetchRequest: requestStatus.initial,\n    data: null,\n};\n\nexport default (\n    state = initialState,\n    action: SystemSettingsActionTypesT | DestroySessionActionT,\n): SystemSettingsStateT => {\n    switch (action.type) {\n        case FETCH_SYSTEM_SETTINGS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n        case FETCH_SYSTEM_SETTINGS_REQUEST_SUCCESS: {\n            const { data } = action;\n\n            return {\n                ...state,\n                data,\n                fetchRequest: requestStatus.ok,\n            };\n        }\n\n        case FETCH_SYSTEM_SETTINGS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(error),\n            };\n        }\n\n        case UPDATE_SYSTEM_SETTINGS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                updateRequest: requestStatus.loading,\n            };\n        }\n        case UPDATE_SYSTEM_SETTINGS_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                updateRequest: requestStatus.ok,\n            };\n        }\n\n        case UPDATE_SYSTEM_SETTINGS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                updateRequest: requestStatus.setError(error),\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n        default:\n            return state;\n    }\n};\n","import { FormikTouched } from 'formik';\nimport { DeadheadRouteStopT } from 'broker-admin/store/deadhead-creation/models';\n\nexport enum PointContactsFieldsEnum {\n    companyName = 'companyName',\n    fullName = 'fullName',\n    email = 'email',\n    phoneNumber = 'phoneNumber',\n    comment = 'comment',\n}\n\nexport const ROUTE_DETAILS_FORM_NAME = 'deadhead-creation/route-details/v.1';\n\nexport enum FieldsEnum {\n    contacts = 'contacts',\n}\n\nexport type PointContactsFormValuesT = {\n    companyName: string;\n    fullName: string;\n    email: string;\n    phoneNumber: string;\n    comment: string;\n};\n\nexport type RouteDetailsFormValuesT = {\n    contacts: Array<PointContactsFormValuesT>;\n};\n\nexport type FormErrorsT = Partial<{\n    contacts: Array<\n        Partial<{\n            companyName: FormErrorMessageT;\n            fullName: FormErrorMessageT;\n            email: FormErrorMessageT;\n            phoneNumber: FormErrorMessageT;\n            comment: FormErrorMessageT;\n        }>\n    >;\n}>;\n\nexport type FormTouchedT = OverwriteT<\n    FormikTouched<RouteDetailsFormValuesT>,\n    {\n        contacts?: Array<FormikTouched<PointContactsFormValuesT>>;\n    }\n>;\n\nexport const requiredContactsStopTypeSet = new Set<DeadheadRouteStopT['type']>([\n    'PICKUP_TRUCK',\n    'PICKUP_ROAD_TRAIN',\n    'DROP_TRUCK',\n    'DROP_ROAD_TRAIN',\n]);\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ReceivedCell__wrap___yitiB\",\"fadeIn\":\"ReceivedCell__fadeIn___eJar6\",\"blinking\":\"ReceivedCell__blinking___WnSwN\"};","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"ContactsTable__table__header___OT432\",\"table__column--avatar\":\"ContactsTable__table__column--avatar___z3OmK\",\"table__column--any\":\"ContactsTable__table__column--any___XpMMX\",\"table__column--controls\":\"ContactsTable__table__column--controls___b76Qn\",\"fadeIn\":\"ContactsTable__fadeIn___SEwYX\",\"blinking\":\"ContactsTable__blinking____wxiY\"};","import React from 'react';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames/bind';\n\nimport styles from './HeaderSideBarPortal.scss';\nimport SidedBarHeaderLayoutContext from '../contexts/side-bar-header-layout-context';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst HeaderSideBarPortal: React.FC<PropsT> = React.memo((props) => {\n    const { children } = props;\n\n    const contentRootRef = React.useContext(SidedBarHeaderLayoutContext);\n    if (!contentRootRef?.current) {\n        return null;\n    }\n\n    return createPortal(children, contentRootRef.current);\n});\n\nexport default HeaderSideBarPortal;\n","import React from 'react';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport { ApiPriceRuleTypeT, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport { PRICE_RULE_TYPE_I18N_MAP } from 'broker-admin/components/PriceRuleTypeLabel/PriceRuleTypeLabel';\nimport PriceRuleTypePill from 'broker-admin/components/pills/PriceRuleTypePill/PriceRuleTypePill';\nimport DropdownMultipleInput, {\n    RenderTriggerPropsT,\n} from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownBaseButtonTrigger from 'design-system/components/dropdowns/base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\n\ntype OptionValueT = ApiPriceRuleTypeT;\n\ntype PropsT = {\n    placeholder?: string;\n    values: Array<OptionValueT>;\n    isDisabled?: boolean;\n    onChange: (values: Array<OptionValueT>) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    overlayPosition?: DropdownOverlayPositionEnum;\n};\n\ntype OptionT = {\n    value: OptionValueT;\n    label: React.ReactNode;\n};\n\nconst PriceRuleTypeMultipleDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        values,\n        placeholder,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n        overlayPosition,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): OptionT[] => {\n        return [PriceRuleTypeEnum.basic, PriceRuleTypeEnum.shipper, PriceRuleTypeEnum.carrier].map((type): OptionT => {\n            return {\n                label: t(PRICE_RULE_TYPE_I18N_MAP[type]),\n                value: type,\n            };\n        });\n    }, [t]);\n\n    const renderTrigger = (\n        props: RenderTriggerPropsT,\n        options: Array<OptionT>,\n        placeholder: string | undefined,\n    ): React.ReactNode => {\n        if (!options?.length) {\n            return <DropdownBaseButtonTrigger {...props}>{placeholder || ''}</DropdownBaseButtonTrigger>;\n        }\n\n        if (options.length === 1) {\n            const firstOption = options?.[0];\n\n            return <DropdownBaseButtonTrigger {...props}>{firstOption?.label}</DropdownBaseButtonTrigger>;\n        }\n\n        return (\n            <DropdownBaseButtonTrigger {...props}>\n                <DropdownMultipleInputCountLabel count={options.length} />\n            </DropdownBaseButtonTrigger>\n        );\n    };\n\n    const renderOption = (option: OptionT | null | undefined): React.ReactNode => {\n        if (!option) {\n            return null;\n        }\n\n        return <PriceRuleTypePill ruleType={option.value} />;\n    };\n\n    const handleSelect = (values: Array<OptionValueT>): void => {\n        onChange(values);\n    };\n\n    const getOptionValue = (option: OptionT): OptionValueT => option.value;\n\n    return (\n        <DropdownMultipleInput<OptionT, OptionValueT>\n            selectedValues={values}\n            placeholder={placeholder}\n            options={options}\n            onSelect={handleSelect}\n            isDisabled={isDisabled}\n            renderOption={renderOption}\n            renderTrigger={renderTrigger}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            testSelector=\"price-rule-type\"\n            onReset={() => {\n                onChange([]);\n            }}\n        />\n    );\n});\n\nexport default PriceRuleTypeMultipleDropdown;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TableError.scss';\nimport ErrorPlaceholder, { ErrorPlaceholderPropsT } from 'common/components/ErrorPlaceholder/ErrorPlaceholder';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\nimport { useTranslation } from 'react-i18next';\nimport {\n    checkIsTranziitApiRequestError,\n    extractApiRequestErrorTraceId,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport {\n    checkIsApiRequestError,\n    checkIsForbiddenError,\n    checkIsNetworkError,\n    checkIsUnauthorizedError,\n} from 'common/utils/api/errors/api-request-error';\n\nconst cx = classNames.bind(styles);\n\nconst checkIsNotFoundError = (error: Error | null | undefined): boolean => {\n    if (!checkIsApiRequestError(error)) {\n        return false;\n    }\n    if (error.httpStatusCode === 404) {\n        return true;\n    }\n    if (checkIsTranziitApiRequestError(error)) {\n        return (\n            error.subType === TranziitApiRequestErrorSubTypeEnum.notFoundUser ||\n            error.subType === TranziitApiRequestErrorSubTypeEnum.notFoundCompany\n        );\n    }\n    return false;\n};\n\ntype PropsT = {\n    className?: string;\n    testSelector?: string;\n    error?: Error;\n    onRetry?: () => void;\n};\n\nconst TableError: React.FC<PropsT> = React.memo((props) => {\n    const { className, testSelector, onRetry, error } = props;\n\n    const { t } = useTranslation();\n\n    const traceId = React.useMemo(() => {\n        return extractApiRequestErrorTraceId(error || null);\n    }, [error]);\n\n    let placeholderProps: ErrorPlaceholderPropsT = {\n        title: t('common:common-errors.something-went-wrong.title'),\n        message: t('common:common-errors.something-went-wrong.description'),\n        traceId,\n    };\n\n    if (error) {\n        if (checkIsNetworkError(error)) {\n            placeholderProps = {\n                ...placeholderProps,\n                title: t('common:common-errors.no-internet.title'),\n                message: t('common:common-errors.no-internet.description'),\n            };\n        } else if (checkIsNotFoundError(error)) {\n            placeholderProps = {\n                ...placeholderProps,\n                title: t('common:common-errors.not-found.title'),\n                message: null,\n            };\n        } else if (checkIsUnauthorizedError(error)) {\n            placeholderProps = {\n                ...placeholderProps,\n                title: t('common:common-errors.not-authorized.title'),\n                message: null,\n            };\n        } else if (\n            checkIsTranziitApiRequestError(error) &&\n            (error.subType === TranziitApiRequestErrorSubTypeEnum.accessDeniedToEntity ||\n                error.subType === TranziitApiRequestErrorSubTypeEnum.accessDeniedToApi)\n        ) {\n            placeholderProps = {\n                ...placeholderProps,\n                title: t('common:common-errors.access-denied.title'),\n                message: null,\n            };\n        } else if (checkIsForbiddenError(error)) {\n            placeholderProps = {\n                ...placeholderProps,\n                title: t('common:common-errors.access-denied.title'),\n                message: null,\n            };\n        }\n    }\n\n    return (\n        <div className={cs(className, cx('inner'))}>\n            <ErrorPlaceholder\n                className={cx('content')}\n                testSelector={testSelector}\n                icon={<BigWarningIcon />}\n                {...placeholderProps}\n                actionsConfig={[\n                    onRetry\n                        ? {\n                              children: t('common:common-errors.something-went-wrong.actions.retry'),\n                              onClick: onRetry,\n                          }\n                        : null,\n                ]}\n            />\n        </div>\n    );\n});\n\nexport default TableError;\n","import { PartnerDetailsStateT } from './types';\nimport { StateT } from 'broker-admin/store/models';\nimport { createSelector } from 'reselect';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { PartnerPermissionsT } from 'common/contexts/partner-permission-context';\n\nexport const selectFetchPartnerDetailsRequest = (state: StateT): PartnerDetailsStateT['fetchRequest'] =>\n    state.partner.details.fetchRequest;\n\nexport const selectUpdatePartnerDetailsRequest = (state: StateT): PartnerDetailsStateT['updateRequest'] =>\n    state.partner.details.updateRequest;\n\nexport const selectLockPartnerDetailsRequest = (state: StateT): PartnerDetailsStateT['updateRequest'] =>\n    state.partner.details.lockRequest;\n\nexport const selectVerifyPartnerDetailsRequest = (state: StateT): PartnerDetailsStateT['updateRequest'] =>\n    state.partner.details.verifyRequest;\n\nexport const selectPartnerDetailsById = (state: StateT): PartnerDetailsStateT['byId'] => state.partner.details.byId;\n\nexport const selectPartnerPermissions = (id: PartnerIdT | null) => {\n    return createSelector(\n        selectPermissions,\n        selectPartnerDetailsById,\n        (permissions, partnerDetailsById): PartnerPermissionsT => {\n            const partnerDetails = partnerDetailsById[id as PartnerIdT] || null;\n\n            const enableAssetEditing = !!partnerDetails?.enableAssetEditing;\n\n            const hasAccessToDocuments = !!partnerDetails?.hasAccessToDocuments;\n\n            return {\n                canImportTrucks: permissions.canImportTrucks && enableAssetEditing,\n                canEditTrucks: permissions.canEditTrucks && enableAssetEditing,\n                canActivateTrucks: permissions.canActivateTrucks && enableAssetEditing,\n                canArchiveTrucks: permissions.canArchiveTrucks && enableAssetEditing,\n                canSetUnavailableTrucks: true,\n\n                canImportTrailers: permissions.canImportTrailers && enableAssetEditing,\n                canEditTrailers: permissions.canEditTrailers && enableAssetEditing,\n                canActivateTrailers: permissions.canActivateTrailers && enableAssetEditing,\n                canArchiveTrailers: permissions.canArchiveTrailers && enableAssetEditing,\n                canSetUnavailableTrailers: true,\n\n                // use only backend permissions\n                canUploadDocuments: hasAccessToDocuments,\n                canVerifyDocuments: hasAccessToDocuments,\n                canRevokeDocuments: hasAccessToDocuments,\n                canEditDocuments: hasAccessToDocuments,\n                canReviewDocuments: hasAccessToDocuments,\n            };\n        },\n    );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"EditDriverSidebarContent__form___ldhwS\",\"fields-group\":\"EditDriverSidebarContent__fields-group___WaENL\",\"fields-group__field\":\"EditDriverSidebarContent__fields-group__field___DtRjl\",\"fields-group__field--three\":\"EditDriverSidebarContent__fields-group__field--three___AaeAa\",\"fields-group__field--two\":\"EditDriverSidebarContent__fields-group__field--two___BC7kJ\",\"actions\":\"EditDriverSidebarContent__actions___zjvAw\",\"actions__action--cancel\":\"EditDriverSidebarContent__actions__action--cancel___olrro\",\"actions__action--update\":\"EditDriverSidebarContent__actions__action--update___DlDBU\",\"fadeIn\":\"EditDriverSidebarContent__fadeIn___cKexn\",\"blinking\":\"EditDriverSidebarContent__blinking___GxKIp\"};","// extracted by mini-css-extract-plugin\nexport default {\"icon\":\"CountryFlagPlaceholderOption__icon___fcZZL\",\"label\":\"CountryFlagPlaceholderOption__label___OGWbv\",\"option\":\"CountryFlagPlaceholderOption__option___ikjad\",\"fadeIn\":\"CountryFlagPlaceholderOption__fadeIn___Q4XZP\",\"blinking\":\"CountryFlagPlaceholderOption__blinking___uyxL0\"};","import * as React from 'react';\n\nimport { DropdownControlOptionT } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { useTranslation } from 'react-i18next';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { useSelector } from 'react-redux';\nimport { selectPermissions } from 'common/store/auth/selectors';\n\nexport type TeamActionsCallbacksT = {\n    onDelete: (teamId: TeamIdT) => void;\n};\n\ntype BaseBrokerTeamT = {\n    id: TeamIdT | null;\n};\n\nexport const useTeamActions = <T extends BaseBrokerTeamT>(\n    brokerTeam: T,\n    callbacks: TeamActionsCallbacksT,\n): Array<DropdownControlOptionT | null> => {\n    const { t } = useTranslation();\n\n    const permissions = useSelector(selectPermissions);\n    const { canDeleteBrokerUsersTeams } = permissions;\n\n    const teamId = brokerTeam.id;\n\n    return React.useMemo(() => {\n        if (!teamId) {\n            return [];\n        }\n\n        return [\n            ...(canDeleteBrokerUsersTeams\n                ? [\n                      {\n                          label: (\n                              <DropdownControlOptionLabel\n                                  icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                  label={t('broker-users.teams.list.actions.delete-team')}\n                              />\n                          ),\n                          onSelect: () => callbacks.onDelete(teamId),\n                      },\n                  ]\n                : []),\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [t, callbacks.onDelete, teamId, canDeleteBrokerUsersTeams]);\n};\n","import {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { UserStatusEnum } from 'common/utils/api/models';\nimport EditIcon from 'common/icons/EditIcon';\nimport { logWarning } from 'common/utils/logger';\nimport DeleteUserIcon from 'common/icons/DeleteUserIcon';\nimport RestoreIcon from 'common/icons/RestoreIcon';\nimport { CompanyDriverDetailsT } from 'common/store/drivers/models';\nimport { useSelector } from 'react-redux';\nimport { selectPermissions } from 'common/store/auth/selectors';\n\ntype CallbacksT = {\n    onEdit?: (driverId: DriverIdT) => void;\n    onCancelInvite: (params: { driverPhoneNumber: string; driverUserId: UserIdT; companyId: PartnerIdT }) => void;\n    onArchiveDriver: (params: {\n        companyId: PartnerIdT;\n        driverId: DriverIdT;\n        driverName: string;\n        driverSurname: string;\n    }) => void;\n    onActivateDriver: (params: {\n        companyId: PartnerIdT;\n        driverId: DriverIdT;\n        driverName: string;\n        driverSurname: string;\n    }) => void;\n};\n\nconst EMPTY_OPTIONS: Array<DropdownControlOptionT> = [];\n\nexport const useDriverActionOptions = (\n    driverDetails: CompanyDriverDetailsT | null,\n    partnerId: PartnerIdT,\n    callbacks: CallbacksT,\n): Array<DropdownControlOptionT | SpecialOptionEnum | null> => {\n    const { t } = useTranslation();\n\n    const permissions = useSelector(selectPermissions);\n    if (!permissions.canEditDrivers) {\n        return EMPTY_OPTIONS;\n    }\n\n    const isShowEditAction = driverDetails?.status === UserStatusEnum.active;\n    const isShowCancelInviteAction = driverDetails?.status === UserStatusEnum.pending;\n    const isShowRestoreAction = driverDetails?.status === UserStatusEnum.archived;\n    const isShowArchiveAction = driverDetails?.status === UserStatusEnum.active;\n\n    const driverId = driverDetails?.id;\n    if (!driverId) {\n        return EMPTY_OPTIONS;\n    }\n\n    const { onEdit } = callbacks;\n\n    return [\n        ...(isShowEditAction && onEdit\n            ? [\n                  {\n                      label: (\n                          <DropdownControlOptionLabel\n                              label={t('common:drivers-page.actions.edit')}\n                              icon={\n                                  <EditIcon\n                                      size={DEFAULT_ICON_SIZE}\n                                      fillColor={StyleGuideColorsEnum.brandAccent}\n                                      strokeColor={StyleGuideColorsEnum.brandDark}\n                                  />\n                              }\n                          />\n                      ),\n                      onSelect: () => {\n                          if (!driverId) {\n                              logWarning('empty selectedDriverId');\n                              return;\n                          }\n\n                          onEdit(driverId);\n                      },\n                  },\n                  SpecialOptionEnum.separator,\n              ]\n            : []),\n        isShowCancelInviteAction\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          label={t('common:drivers-page.actions.cancel-invite')}\n                          icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                      />\n                  ),\n                  onSelect: () => {\n                      if (!driverId) {\n                          logWarning('empty selectedDriverId');\n                          return;\n                      }\n\n                      const driverUserId = driverDetails?.contact?.userId;\n                      if (!driverUserId) {\n                          logWarning('empty driverUserId');\n                          return;\n                      }\n\n                      callbacks.onCancelInvite({\n                          driverPhoneNumber: driverDetails?.contact?.mobilePhone || '',\n                          driverUserId,\n                          companyId: partnerId,\n                      });\n                  },\n              }\n            : null,\n        isShowArchiveAction\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          label={t('common:drivers-page.actions.archive')}\n                          icon={\n                              <DeleteUserIcon\n                                  fillColor={StyleGuideColorsEnum.white}\n                                  strokeColor={StyleGuideColorsEnum.tomatoRed}\n                              />\n                          }\n                      />\n                  ),\n                  onSelect: () => {\n                      callbacks.onArchiveDriver({\n                          companyId: partnerId,\n                          driverId,\n                          driverName: driverDetails?.contact?.name || '',\n                          driverSurname: driverDetails?.contact?.surname || '',\n                      });\n                  },\n              }\n            : null,\n        isShowRestoreAction\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          label={t('common:drivers-page.actions.restore')}\n                          icon={<RestoreIcon strokeColor={StyleGuideColorsEnum.slate} />}\n                      />\n                  ),\n                  onSelect: () => {\n                      callbacks.onActivateDriver({\n                          companyId: partnerId,\n                          driverId,\n                          driverName: driverDetails?.contact?.name || '',\n                          driverSurname: driverDetails?.contact?.surname || '',\n                      });\n                  },\n              }\n            : null,\n    ];\n};\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { Trans, useTranslation } from 'react-i18next';\nimport TrailerDictIdFilterPill from 'common/components/filter-pills/TrailerDictIdFilterPill/TrailerDictIdFilterPill';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { formatDateRangeFilterValue, pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\nimport { ApiRFQBrokerSourceT, RFQShipperSourceEnum } from 'common/utils/api/models';\nimport { RFQ_SOURCE_T_MAP } from 'common/components/pills/RFQSourcePill/RFQSourcePill';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst sourceMapT: Record<RFQShipperSourceEnum, string> = {\n    [RFQShipperSourceEnum.internal]: 'common:rfqs-page.table.filters.source-type.internal',\n    [RFQShipperSourceEnum.imported]: 'common:rfqs-page.table.filters.source-type.imported',\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters, index) => {\n                    return t('common:rfqs-page.table.filters.pills.shipper', {\n                        value: queryFilters[QueryFiltersKeysEnum.shipperNames]?.[index] || '',\n                    });\n                },\n                isMultiple: true,\n                clearKeys: [QueryFiltersKeysEnum.shipperIds, QueryFiltersKeysEnum.shipperNames],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:rfqs-page.table.filters.pills.search', {\n                        value: queryFilters[QueryFiltersKeysEnum.searchText],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.searchText],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const trailerDictId = queryFilters[QueryFiltersKeysEnum.dictTrailerId];\n\n                    return (\n                        <Trans\n                            i18nKey=\"common:rfqs-page.table.filters.pills.trailer-type\"\n                            components={{\n                                value: <TrailerDictIdFilterPill trailerDictId={trailerDictId} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.dictTrailerId],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:rfqs-page.table.filters.pills.pickup-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.pickupAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.pickupAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('common:rfqs-page.table.filters.pills.dropoff-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.dropoffAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dropoffAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    const pickupDateFrom = queryFilters[QueryFiltersKeysEnum.pickupDateFrom];\n                    const pickupDateTo = queryFilters[QueryFiltersKeysEnum.pickupDateTo];\n\n                    return t('common:rfqs-page.table.filters.pills.pickup', {\n                        value: formatDateRangeFilterValue(pickupDateFrom, pickupDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.pickupDateFrom, QueryFiltersKeysEnum.pickupDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    const dropOffDateFrom = queryFilters[QueryFiltersKeysEnum.dropOffDateFrom];\n                    const dropOffDateTo = queryFilters[QueryFiltersKeysEnum.dropOffDateTo];\n\n                    return t('common:rfqs-page.table.filters.pills.drop-off', {\n                        value: formatDateRangeFilterValue(dropOffDateFrom, dropOffDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dropOffDateFrom, QueryFiltersKeysEnum.dropOffDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    const createdDateFrom = queryFilters[QueryFiltersKeysEnum.createdDateFrom];\n                    const createdDateTo = queryFilters[QueryFiltersKeysEnum.createdDateTo];\n\n                    return t('common:rfqs-page.table.filters.pills.created-dates', {\n                        value: formatDateRangeFilterValue(createdDateFrom, createdDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdDateFrom, QueryFiltersKeysEnum.createdDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, isCompact) => {\n                    return pillIconRendererMap.avatar(queryFilters[QueryFiltersKeysEnum.createdByName], isCompact);\n                },\n                render: (queryFilters) => {\n                    return t('common:rfqs-page.table.filters.pills.created-by', {\n                        value: queryFilters[QueryFiltersKeysEnum.createdByName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdById, QueryFiltersKeysEnum.createdByName],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const source = queryFilters[QueryFiltersKeysEnum.source];\n                    return t('common:rfqs-page.table.filters.pills.source', {\n                        value: t(sourceMapT[source as RFQShipperSourceEnum]),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.source],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters, index) => {\n                    const source = queryFilters[QueryFiltersKeysEnum.extendedSource]?.[index];\n                    if (!source) {\n                        return null;\n                    }\n\n                    return t('common:rfqs-page.table.filters.pills.source', {\n                        value: t(RFQ_SOURCE_T_MAP[source as ApiRFQBrokerSourceT]),\n                    });\n                },\n                isMultiple: true,\n                clearKeys: [QueryFiltersKeysEnum.extendedSource],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import { SharableStateT } from '../models';\nimport { CarrierSuggestStateT } from './types';\n\nexport const selectFindCarriersQuery = (state: SharableStateT): CarrierSuggestStateT['query'] =>\n    state.carrierSuggest.query;\n\nexport const selectFindCarriersRequest = (state: SharableStateT): CarrierSuggestStateT['requestStatus'] =>\n    state.carrierSuggest.requestStatus;\n\nexport const selectCarriersIds = (state: SharableStateT): CarrierSuggestStateT['ids'] => state.carrierSuggest.ids;\n\nexport const selectCarriersById = (state: SharableStateT): CarrierSuggestStateT['byId'] => state.carrierSuggest.byId;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './StartAssignmentFooter.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport TimeLeftForStart from 'common/layouts/sidebar-footers/TimeLeftForStart/TimeLeftForStart';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport {\n    ApiAssignAssetsUnavailableReasonT,\n    ApiSendToSpotUnavailableReasonT,\n} from 'broker-admin/utils/api/broker-tranziit/models';\nimport { ApiBrokerCommonTourDetailsT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\nconst assignAssetsUnavailableReasonI18nMap: Record<ApiAssignAssetsUnavailableReasonT, string> = {\n    KAM_CANT_ASSIGN_ASSETS: 'order-details.assign-assets-unavailable-reason.KAM_CANT_ASSIGN_ASSETS',\n    TOUR_ON_SPOT: 'order-details.assign-assets-unavailable-reason.TOUR_ON_SPOT',\n    UNAVAILABLE_STATUS: 'order-details.assign-assets-unavailable-reason.UNAVAILABLE_STATUS',\n    RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER:\n        'order-details.assign-assets-unavailable-reason.RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER',\n};\n\nconst sendToSpotUnavailableReasonI18nMap: Record<ApiSendToSpotUnavailableReasonT, string> = {\n    KAM_CANT_SEND_TO_SPOT: 'order-details.send-to-spot-unavailable-reason.KAM_CANT_SEND_TO_SPOT',\n    TOUR_ALREADY_ON_SPOT: 'order-details.send-to-spot-unavailable-reason.TOUR_ALREADY_ON_SPOT',\n    UNAVAILABLE_STATUS: 'order-details.send-to-spot-unavailable-reason.UNAVAILABLE_STATUS',\n    TOUR_HAS_DROP_AND_HOOK_STOP: 'order-details.send-to-spot-unavailable-reason.TOUR_HAS_DROP_AND_HOOK_STOP',\n    TOUR_HAS_ACTIVE_TRANSPORTATION_ORDER:\n        'order-details.send-to-spot-unavailable-reason.TOUR_HAS_ACTIVE_TRANSPORTATION_ORDER',\n    ORIGIN_IS_BEFORE_NOW: 'order-details.send-to-spot-unavailable-reason.ORIGIN_IS_BEFORE_NOW',\n    DEADLINE_TIME_EXCEEDED: 'order-details.send-to-spot-unavailable-reason.DEADLINE_TIME_EXCEEDED',\n    DEADLINE_BEFORE_NOW: 'order-details.send-to-spot-unavailable-reason.DEADLINE_BEFORE_NOW',\n};\n\ntype PropsT = {\n    className?: string;\n    tour: ApiBrokerCommonTourDetailsT | null;\n    canAssignTour: boolean;\n    assignAssetsUnavailableReason: ApiAssignAssetsUnavailableReasonT | null;\n    onStartAssignment: () => void;\n    sendToSpotUnavailableReason: ApiSendToSpotUnavailableReasonT | null;\n    onStartSendToSpot: () => void;\n    isDisableAnyActions: boolean;\n};\n\nconst StartAssignmentFooter: React.FC<PropsT> = React.memo((props) => {\n    const {\n        tour,\n        canAssignTour,\n        assignAssetsUnavailableReason,\n        onStartAssignment,\n        sendToSpotUnavailableReason,\n        onStartSendToSpot,\n        isDisableAnyActions,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const firstWaypoint = tour?.waypoints?.[0] || null;\n    const deadline = firstWaypoint?.correctedDateTimeFrom || firstWaypoint?.originalDateTimeFrom || null;\n\n    const assignAssetsTooltipContent = React.useMemo(() => {\n        if (assignAssetsUnavailableReason) {\n            return (\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                    {t(assignAssetsUnavailableReasonI18nMap[assignAssetsUnavailableReason])}\n                </TooltipContent>\n            );\n        }\n\n        return null;\n    }, [assignAssetsUnavailableReason, t]);\n\n    const sendToSpotTooltipContent = React.useMemo(() => {\n        if (sendToSpotUnavailableReason) {\n            return (\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                    {t(sendToSpotUnavailableReasonI18nMap[sendToSpotUnavailableReason])}\n                </TooltipContent>\n            );\n        }\n\n        return null;\n    }, [sendToSpotUnavailableReason, t]);\n\n    if (!tour) {\n        return null;\n    }\n\n    return (\n        <TimeLeftForStart\n            deadline={deadline}\n            alreadyStartedLabel={t('assignment.tour-already-started')}\n            deadlineLabel={t('assignment.to-assign')}\n            renderActions={(isDisabled) => (\n                <>\n                    {canAssignTour && (\n                        <Tooltip\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={assignAssetsTooltipContent}\n                        >\n                            {() => (\n                                <Button\n                                    theme={ButtonThemeEnum.secondaryPositive}\n                                    className={cx('action', 'action--assign')}\n                                    onClick={onStartAssignment}\n                                    isDisabled={isDisabled || isDisableAnyActions || !!assignAssetsUnavailableReason}\n                                >\n                                    {t('order-details.actions.start-assignment')}\n                                </Button>\n                            )}\n                        </Tooltip>\n                    )}\n                    {canAssignTour && (\n                        <Tooltip\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={sendToSpotTooltipContent}\n                        >\n                            {() => (\n                                <Button\n                                    theme={ButtonThemeEnum.secondary}\n                                    className={cx('action')}\n                                    onClick={onStartSendToSpot}\n                                    isDisabled={isDisabled || isDisableAnyActions || !!sendToSpotUnavailableReason}\n                                >\n                                    {t('order-details.actions.send-to-spot')}\n                                </Button>\n                            )}\n                        </Tooltip>\n                    )}\n                </>\n            )}\n        />\n    );\n});\n\nexport default StartAssignmentFooter;\n","// extracted by mini-css-extract-plugin\nexport default {};","import { FetchTransportOrdersPageQueryT } from 'common/store/transport-orders/models';\nimport { TransportOrderQuickFilterEnum, TransportOrderSortEnum } from 'common/utils/api/models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\n\nconst getQueryFromQuickFilters = (quickFilter?: TransportOrderQuickFilterEnum): FetchTransportOrdersPageQueryT => {\n    switch (quickFilter) {\n        case TransportOrderQuickFilterEnum.new: {\n            return {\n                statusBar: 'NEW',\n            };\n        }\n        case TransportOrderQuickFilterEnum.noAssets: {\n            return {\n                statusBar: 'ASSETS_UNASSIGNED',\n            };\n        }\n        case TransportOrderQuickFilterEnum.noDriver: {\n            return {\n                statusBar: 'DRIVER_UNASSIGNED',\n            };\n        }\n        case TransportOrderQuickFilterEnum.declined: {\n            return {\n                statusBar: 'DECLINED',\n            };\n        }\n        case TransportOrderQuickFilterEnum.assigned: {\n            return {\n                statusBar: 'ASSIGNED',\n            };\n        }\n        case TransportOrderQuickFilterEnum.inTransit: {\n            return {\n                statusBar: 'IN_TRANSIT',\n            };\n        }\n        case TransportOrderQuickFilterEnum.done: {\n            return {\n                statusBar: 'DONE',\n            };\n        }\n        case TransportOrderQuickFilterEnum.canceled: {\n            return {\n                statusBar: 'CANCELED',\n            };\n        }\n        default:\n            return {};\n    }\n};\n\nconst formatSort = (\n    sort: PageSortT<TransportOrderSortEnum> | null,\n): FetchTransportOrdersPageQueryT['sorting'] | null => {\n    switch (sort?.value) {\n        case TransportOrderSortEnum.dropOffDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'DESTINATION_DATE_ASC';\n            }\n            return 'DESTINATION_DATE_DESC';\n        }\n        case TransportOrderSortEnum.pickupDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'ORIGIN_DATE_ASC';\n            }\n            return 'ORIGIN_DATE_DESC';\n        }\n        case TransportOrderSortEnum.price: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'PRICE_ASC';\n            }\n            return 'PRICE_DESC';\n        }\n        case TransportOrderSortEnum.receiveDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'RECEIVED_DATE_ASC';\n            }\n            return 'RECEIVED_DATE_DESC';\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<TransportOrderSortEnum> | null,\n): FetchTransportOrdersPageQueryT => {\n    const dictTrailerId = queryFilters[QueryFiltersKeysEnum.dictTrailerId];\n    const maxPrice = queryFilters[QueryFiltersKeysEnum.maxPrice];\n    const minPrice = queryFilters[QueryFiltersKeysEnum.minPrice];\n    const driverId = queryFilters[QueryFiltersKeysEnum.driverId];\n\n    let spot: boolean | undefined = queryFilters[QueryFiltersKeysEnum.spot] || undefined;\n    // WTF logic ?!?!?\n    if (queryFilters[QueryFiltersKeysEnum.dedicated]) {\n        spot = false;\n    }\n\n    return {\n        type: queryFilters[QueryFiltersKeysEnum.orderType],\n\n        dictTrailerId: typeof dictTrailerId === 'string' ? +dictTrailerId : undefined,\n        plateNumber: queryFilters[QueryFiltersKeysEnum.plateNumber] || undefined,\n\n        destinationAddress: queryFilters[QueryFiltersKeysEnum.destinationAddress] || undefined,\n        originAddress: queryFilters[QueryFiltersKeysEnum.originAddress] || undefined,\n\n        driverIds: driverId ? [driverId] : undefined,\n\n        upperPrice: typeof maxPrice === 'string' ? parseInt(maxPrice, 10) : undefined,\n        lowerPrice: typeof minPrice === 'string' ? parseInt(minPrice, 10) : undefined,\n\n        receivedDateFrom: queryFilters[QueryFiltersKeysEnum.receiveDatesFrom] || undefined,\n        receivedDateTo: queryFilters[QueryFiltersKeysEnum.receiveDatesTo] || undefined,\n\n        originDateFrom: queryFilters[QueryFiltersKeysEnum.pickupDateFrom] || undefined,\n        originDateTo: queryFilters[QueryFiltersKeysEnum.pickupDateTo] || undefined,\n\n        destinationDateFrom: queryFilters[QueryFiltersKeysEnum.dropOffDateFrom] || undefined,\n        destinationDateTo: queryFilters[QueryFiltersKeysEnum.dropOffDateTo] || undefined,\n\n        textSearch: queryFilters[QueryFiltersKeysEnum.searchText] || undefined,\n\n        spot,\n\n        runningOutOfTimeToAssignAssets: queryFilters[QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets] || undefined,\n        runOutOfTimeToAssignAssets: queryFilters[QueryFiltersKeysEnum.ranOutOfTimeToAssignAssets] || undefined,\n        runningOutOfTimeToAssignDriver: queryFilters[QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver] || undefined,\n        runOutOfTimeToAssignDriver: queryFilters[QueryFiltersKeysEnum.ranOutOfTimeToAssignDriver] || undefined,\n        delaying: queryFilters[QueryFiltersKeysEnum.delaying] || undefined,\n        noShow: queryFilters[QueryFiltersKeysEnum.expired] || undefined,\n        missed: queryFilters[QueryFiltersKeysEnum.missed] || undefined,\n\n        ...getQueryFromQuickFilters(queryFilters[QueryFiltersKeysEnum.quickFilter]),\n\n        sorting: formatSort(sort) || undefined,\n    };\n};\n\nexport { prepareFetchPageQuery };\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"SpotRequestDetails__tabs___rRhAp\",\"route\":\"SpotRequestDetails__route___MI86s\",\"table\":\"SpotRequestDetails__table___p_zdi\",\"shipment-card\":\"SpotRequestDetails__shipment-card___ljqN2\",\"waypoint-card\":\"SpotRequestDetails__waypoint-card___KlA4t\",\"excluded-countries\":\"SpotRequestDetails__excluded-countries___7arqC\",\"separator\":\"SpotRequestDetails__separator___n3KlO\",\"bid\":\"SpotRequestDetails__bid___lSI2v\",\"empty-prices\":\"SpotRequestDetails__empty-prices____BKnf\",\"fadeIn\":\"SpotRequestDetails__fadeIn___bP2ZU\",\"blinking\":\"SpotRequestDetails__blinking___TqnNH\"};","import * as React from 'react';\nimport { MapPinThemeEnum, MapPointPropsT } from 'common/components/maps/MapPin/MapPin';\nimport MapStackClusterPin from 'common/components/maps/MapStackClusterPin/MapStackClusterPin';\nimport { PointGeoJsonPropertiesT } from '../models';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport { ApiShipmentStatusT, OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\nimport WaypointNumberPinContent from 'common/components/maps/pins/content/WaypointNumberPinContent/WaypointNumberPinContent';\nimport { visitedOriginLoadStatusSet } from '../constants';\nimport BoatIcon from 'common/icons/BoatIcon';\n\ntype PropsT = {\n    className?: string;\n    lat?: number | undefined;\n    lng?: number | undefined;\n    loadStatus?: ApiShipmentStatusT;\n    clusterId: number;\n    onClusterClick: (clusterId: number) => void;\n    clusterProperties: Array<PointGeoJsonPropertiesT>;\n    withoutArrow?: boolean;\n};\n\nconst PointStackClusterPin: React.FC<PropsT> = React.memo((props) => {\n    const { className, lat, lng, onClusterClick, clusterId, clusterProperties, withoutArrow, loadStatus } = props;\n\n    const pointProps: Array<Partial<MapPointPropsT>> = [];\n\n    clusterProperties.forEach((pointProperties: PointGeoJsonPropertiesT) => {\n        if (pointProperties.type === 'trailer-last-point') {\n            pointProps.push({\n                theme: MapPinThemeEnum.brandDark,\n                children: (\n                    <TrailerIcon\n                        fillColor={StyleGuideColorsEnum.brandDark}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        size={DEFAULT_ICON_SIZE}\n                    />\n                ),\n            });\n        }\n\n        if (pointProperties.type === 'truck-last-point') {\n            pointProps.push({\n                theme: MapPinThemeEnum.brandDark,\n                children: (\n                    <TruckIcon\n                        fillColor={StyleGuideColorsEnum.brandDark}\n                        strokeColor={StyleGuideColorsEnum.white}\n                        size={DEFAULT_ICON_SIZE}\n                    />\n                ),\n            });\n        }\n\n        if (pointProperties.type === 'point') {\n            const { point, pointNumber } = pointProperties;\n            const isVisited = loadStatus && visitedOriginLoadStatusSet.has(loadStatus);\n\n            if (\n                point.type === OrderCreationReservePointTypeEnum.ferryOnboard ||\n                point.type === OrderCreationReservePointTypeEnum.ferryDisembark\n            ) {\n                let theme = MapPinThemeEnum.charcoal;\n                if (isVisited) {\n                    theme = MapPinThemeEnum.brandDark;\n                }\n\n                pointProps.push({\n                    theme,\n                    children: (\n                        <BoatIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.brandDark}\n                            strokeColor={StyleGuideColorsEnum.white}\n                        />\n                    ),\n                });\n            } else {\n                let theme = MapPinThemeEnum.gray;\n                if (point.type === OrderCreationReservePointTypeEnum.shipment) {\n                    theme = MapPinThemeEnum.charcoal;\n                }\n\n                if (isVisited) {\n                    theme = MapPinThemeEnum.brandDark;\n                }\n\n                pointProps.push({\n                    theme,\n                    hasPaddings: false,\n                    children: (\n                        <WaypointNumberPinContent withPaddings key={`route-point-${pointNumber}`}>\n                            {pointNumber}\n                        </WaypointNumberPinContent>\n                    ),\n                });\n            }\n        }\n    });\n\n    if (!pointProps?.length) {\n        return null;\n    }\n\n    return (\n        <MapStackClusterPin\n            className={className}\n            lat={lat}\n            lng={lng}\n            pointProps={pointProps}\n            clusterId={clusterId}\n            onClusterClick={onClusterClick}\n            withoutArrow={withoutArrow}\n        />\n    );\n});\n\nexport default PointStackClusterPin;\n","// extracted by mini-css-extract-plugin\nexport default {\"field--name\":\"EditShipperContractDetailsForm__field--name___E2eiE\",\"field--number\":\"EditShipperContractDetailsForm__field--number___uJ67n\",\"field--activate-date\":\"EditShipperContractDetailsForm__field--activate-date___glaBl\",\"field--valid-till\":\"EditShipperContractDetailsForm__field--valid-till___cBLtp\",\"field--orders-left\":\"EditShipperContractDetailsForm__field--orders-left___Nm7IU\",\"field--file\":\"EditShipperContractDetailsForm__field--file___xNSUz\",\"fadeIn\":\"EditShipperContractDetailsForm__fadeIn___V3gUf\",\"blinking\":\"EditShipperContractDetailsForm__blinking___AWsRV\"};","// extracted by mini-css-extract-plugin\nexport default {\"link\":\"LocationLabel__link___hpgRk\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RunOutOfTimeAssignCarrierCard.scss';\nimport { Trans } from 'react-i18next';\nimport SubjectLink from 'common/components/notification-cards/entities/SubjectLink/SubjectLink';\nimport CityName from 'common/components/notification-cards/entities/CityName/CityName';\n\nconst cx = classNames.bind(styles);\n\nexport type RunOutOfTimeAssignDriversCardPropsT = {\n    subjectNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst RunOutOfTimeAssignCarrierCard: React.FC<RunOutOfTimeAssignDriversCardPropsT> = React.memo((props) => {\n    const { subjectNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <Trans\n                i18nKey=\"notifications.run-out-of-time-assign-carrier\"\n                components={{\n                    subjectLink: <SubjectLink number={subjectNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RunOutOfTimeAssignCarrierCard;\n","import { fork } from 'redux-saga/effects';\n\nimport ratesSaga from './rates/sagas';\nimport rulesSaga from './rules/sagas';\nimport systemSettingsSaga from './system-settings/sagas';\nimport additionalServicesSaga from './additional-services/sagas';\n\nfunction* priceSettingsSaga() {\n    yield fork(ratesSaga);\n    yield fork(rulesSaga);\n    yield fork(systemSettingsSaga);\n    yield fork(additionalServicesSaga);\n}\n\nexport default priceSettingsSaga;\n","import * as React from 'react';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiShipmentWarningT, ShipmentWarningEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    warning: ApiShipmentWarningT | null | undefined;\n    isSymmetrical?: boolean;\n};\n\nconst PILL_THEME_BY_WARNING: Record<ApiShipmentWarningT, PillLabelThemeEnum> = {\n    [ShipmentWarningEnum.noShow]: PillLabelThemeEnum.tomatoRed,\n    [ShipmentWarningEnum.missed]: PillLabelThemeEnum.tomatoRed,\n};\n\nexport const WARNING_T_MAP: Record<ApiShipmentWarningT, string> = {\n    [ShipmentWarningEnum.noShow]: 'common:shipment-warnings.no-show',\n    [ShipmentWarningEnum.missed]: 'common:shipment-warnings.missed',\n};\n\nconst ShipmentWarningPill: React.FC<PropsT> = React.memo((props) => {\n    const { warning, isSymmetrical } = props;\n\n    const { t } = useTranslation();\n\n    if (!warning) {\n        return null;\n    }\n\n    return (\n        <PillLabel isNoWrap theme={PILL_THEME_BY_WARNING[warning]} isSymmetrical={isSymmetrical}>\n            {t(WARNING_T_MAP[warning])}\n        </PillLabel>\n    );\n});\n\nexport default ShipmentWarningPill;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"TourTypeTabsLayout__wrap___FSpre\",\"columns\":\"TourTypeTabsLayout__columns___bqiAv\",\"tab\":\"TourTypeTabsLayout__tab___a0ocs\",\"tab--isActive\":\"TourTypeTabsLayout__tab--isActive___vA8A6\",\"head\":\"TourTypeTabsLayout__head___K9DsG\",\"row\":\"TourTypeTabsLayout__row___zXw62\",\"diff-wrap\":\"TourTypeTabsLayout__diff-wrap___UoKQK\",\"diff\":\"TourTypeTabsLayout__diff___gyL13\",\"fadeIn\":\"TourTypeTabsLayout__fadeIn___mw2Pt\",\"blinking\":\"TourTypeTabsLayout__blinking___vxZq4\"};","import values from 'lodash/values';\nimport { PRICE_COMPONENT_T_MAP } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/constants';\nimport { PriceComponentTypeEnum, RepeatStrategyTypeEnum } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const checkIsRepeatStrategy = (\n    repeatStrategy: string | null | undefined,\n): repeatStrategy is RepeatStrategyTypeEnum => {\n    return values(RepeatStrategyTypeEnum).includes(repeatStrategy as RepeatStrategyTypeEnum);\n};\n\nexport const checkIsPriceComponent = (\n    priceComponent: string | null | undefined,\n): priceComponent is PriceComponentTypeEnum => {\n    return !!PRICE_COMPONENT_T_MAP[priceComponent as PriceComponentTypeEnum];\n};\n","import {\n    ApiRepeatStrategyTypeTypeT,\n    PriceComponentTypeEnum,\n    RepeatStrategyTypeEnum,\n} from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport type RepeatStrategyTypeT = NonNullable<Api2.Definitions.UpdateManualRateRuleDto['repeatMode']>;\n\nexport const REPEAT_STRATEGY_T_MAP: Record<ApiRepeatStrategyTypeTypeT, string> = {\n    [RepeatStrategyTypeEnum.none]: 'price-settings.rules.repeat-strategy.NONE',\n    [RepeatStrategyTypeEnum.weekly]: 'price-settings.rules.repeat-strategy.WEEKLY',\n    [RepeatStrategyTypeEnum.monthly]: 'price-settings.rules.repeat-strategy.MONTHLY',\n    [RepeatStrategyTypeEnum.yearly]: 'price-settings.rules.repeat-strategy.YEARLY',\n};\n\nexport type PriceComponentTypeT = NonNullable<Api2.Definitions.UpdateManualRateRuleDto['target']>;\n\nexport const PRICE_COMPONENT_T_MAP: Record<PriceComponentTypeEnum, string> = {\n    [PriceComponentTypeEnum.lineHaul]: 'price-settings.rules.price-components.line-haul',\n    [PriceComponentTypeEnum.fuel]: 'price-settings.rules.price-components.fuel',\n    [PriceComponentTypeEnum.roadTaxes]: 'price-settings.rules.price-components.road-taxes',\n    [PriceComponentTypeEnum.roadTaxesGeneral]: 'price-settings.rules.price-components.road-taxes-general',\n    [PriceComponentTypeEnum.roadTaxesCity]: 'price-settings.rules.price-components.road-taxes-city',\n    [PriceComponentTypeEnum.roadTaxesBridge]: 'price-settings.rules.price-components.road-taxes-bridge',\n    [PriceComponentTypeEnum.roadTaxesTunnel]: 'price-settings.rules.price-components.road-taxes-tunnel',\n    [PriceComponentTypeEnum.roadTaxesFerry]: 'price-settings.rules.price-components.road-taxes-ferry',\n    [PriceComponentTypeEnum.roadTaxesMountainPass]: 'price-settings.rules.price-components.road-taxes-mountain-pass',\n    [PriceComponentTypeEnum.serviceFee]: 'price-settings.rules.price-components.service-fee',\n};\n\nexport enum PriceSettingsRuleStateEnum {\n    activated = 'activated',\n    deactivated = 'deactivated',\n}\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './DriversTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\n\nimport { CompanyDriverT } from 'common/store/drivers/models';\n\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\n\nimport AvatarCell from 'common/components/Table/cell-renderers/AvatarCell/AvatarCell';\nimport StatusCell from './cell-renderers/StatusCell/StatusCell';\nimport { isNonNil } from 'common/utils';\nimport FullNameCell from 'common/components/Table/cell-renderers/FullNameCell/FullNameCell';\nimport PhoneCell from 'common/components/Table/cell-renderers/PhoneCell/PhoneCell';\nimport { checkIsDriverPendingStatus } from 'common/store/drivers/utils';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    drivers: Array<CompanyDriverT>;\n    selectedDriverId: DriverIdT | null;\n    className?: string;\n    onSelectRow: (event: React.MouseEvent, driver: CompanyDriverT) => void;\n    isLoading: boolean;\n    isShowStatus: boolean;\n};\n\nconst DriversTable: React.FC<PropsT> = (props) => {\n    const { drivers, selectedDriverId, className, onSelectRow, isLoading, isShowStatus } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<CompanyDriverT, void>> = [\n        {\n            renderHeader: () => null,\n            render: (driver: CompanyDriverT) => {\n                const isPending = checkIsDriverPendingStatus(driver.status);\n                return (\n                    <AvatarCell\n                        fullName={isPending ? t('common:team-members.pending') : driver.name || ''}\n                        isHalfOpacity={isPending}\n                    />\n                );\n            },\n            className: cx('table__column--avatar'),\n        },\n        {\n            renderHeader: () => <span>{t('common:drivers-page.table.columns.name')}</span>,\n            headerClassName: cx('table__header', 'table__header--name'),\n            render: (driver: CompanyDriverT) => {\n                const isPending = checkIsDriverPendingStatus(driver.status);\n                return (\n                    <FullNameCell\n                        name={isPending ? t('common:team-members.pending') : driver.name}\n                        surname={isPending ? driver.surname : ''}\n                        isHalfOpacity={isPending}\n                    />\n                );\n            },\n            className: cx('table__column--any'),\n        },\n        {\n            renderHeader: () => <span>{t('common:drivers-page.table.columns.phone')}</span>,\n            headerClassName: cx('table__header'),\n            render: (driver: CompanyDriverT) => {\n                const isPending = checkIsDriverPendingStatus(driver.status);\n                return <PhoneCell phone={isPending ? driver.mobilePhone || '' : ''} isHalfOpacity={isPending} />;\n            },\n            className: cx('table__column--any'),\n        },\n        isShowStatus\n            ? {\n                  renderHeader: () => null,\n                  render: (driver: CompanyDriverT) => <StatusCell driver={driver || ''} />,\n                  className: cx('table__column--status'),\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const getRowMods = (meta: TableRowMetaT, row: CompanyDriverT) => ({\n        isSelected: row?.id === selectedDriverId,\n    });\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<CompanyDriverT> tableName=\"drivers\" isLoading={isLoading} rows={drivers}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<CompanyDriverT, void>\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        onSelectRow={onSelectRow}\n                        getRowMods={getRowMods}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n};\n\nexport default DriversTable;\n","import { CountryCodeT } from 'common/store/countries-dict/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    name = 'name',\n    partnerType = 'partnerType',\n\n    street1 = 'street1',\n    street2 = 'street2',\n    countryCode = 'countryCode',\n    zipCode = 'zipCode',\n    city = 'city',\n\n    legalFormId = 'legalFormId',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.name]: string;\n    [FieldsEnum.partnerType]: PartnerTypeEnum;\n\n    [FieldsEnum.street1]: string;\n    [FieldsEnum.street2]: string;\n    [FieldsEnum.countryCode]: CountryCodeT | null;\n    [FieldsEnum.zipCode]: string;\n    [FieldsEnum.city]: string;\n\n    [FieldsEnum.legalFormId]: number | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\nimport HorizontalColumnsLayout from '../HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport classNames from 'classnames/bind';\nimport styles from './DetailsLayout.scss';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport TabGroupWithDivider from 'common/components/tabs/TabGroupWithDivider/TabGroupWithDivider';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum } from 'common/components/tabs/TabLabel/constants';\nimport SideBarLayoutContextWrap from '../LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport RightSidebarLayout from 'common/layouts/RightSidebarLayout/RightSidebarLayout';\nimport { BooleanParam, NumberParam, useQueryParams } from 'use-query-params';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\nenum DetailsLayoutQueryKeysEnum {\n    timeline = 'timeline',\n    tab = 'tab',\n}\n\ntype CloseCallbackT = () => void;\n\ntype PropsT = {\n    className?: string;\n    isNarrow?: boolean;\n    sideBarTitle: string;\n    sideBarNode: React.ReactNode;\n    mapTitle: string;\n    mapNode: React.ReactNode;\n    historyTitle: React.ReactNode;\n    historyNode: React.ReactNode;\n    timelineTitle: string;\n    timelineNode: (onClose: CloseCallbackT) => React.ReactNode;\n    overlayNode?: React.ReactNode;\n};\n\nconst DEFAULT_TAB_INDEX = 0;\n\ntype TabConfigT = {\n    label: React.ReactNode;\n    node: React.ReactNode;\n};\n\nconst DetailsLayout: React.FC<PropsT> = React.memo((props) => {\n    const {\n        isNarrow,\n        sideBarTitle,\n        sideBarNode,\n        mapTitle,\n        mapNode,\n        historyTitle,\n        historyNode,\n        timelineTitle,\n        timelineNode,\n        overlayNode,\n        className,\n    } = props;\n\n    const [query, changeQuery] = useQueryParams({\n        [DetailsLayoutQueryKeysEnum.timeline]: BooleanParam,\n        [DetailsLayoutQueryKeysEnum.tab]: NumberParam,\n    });\n    const isShowTimeline = !!query[DetailsLayoutQueryKeysEnum.timeline];\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const closeTimeline: CloseCallbackT = () => {\n        changeQuery({ [DetailsLayoutQueryKeysEnum.timeline]: null }, 'replaceIn');\n    };\n\n    const activeIndexTab = query[DetailsLayoutQueryKeysEnum.tab] || DEFAULT_TAB_INDEX;\n\n    const tabs = React.useMemo(() => {\n        const result: TabConfigT[] = [\n            {\n                label: mapTitle,\n                node: <GoogleMapContext.Provider value={googleMapsContextValue}>{mapNode}</GoogleMapContext.Provider>,\n            },\n        ];\n\n        if (historyNode && historyTitle) {\n            result.push({\n                label: historyTitle,\n                node: historyNode,\n            });\n        }\n\n        return result;\n    }, [mapTitle, mapNode, historyNode, historyTitle, googleMapsContextValue]);\n\n    return (\n        <HorizontalColumnsLayout\n            className={className}\n            isNarrow={isNarrow}\n            leftColumnTitle={sideBarTitle}\n            leftColumnNode={<SideBarLayoutContextWrap>{sideBarNode}</SideBarLayoutContextWrap>}\n            rightColumnTitle={mapTitle}\n            rightColumnNode={\n                <div className={cx('right-column')}>\n                    <div className={cx('tabs-wrap')}>\n                        <TabGroupWithDivider>\n                            {tabs.map((tab, tabIndex) => (\n                                <TabLabel\n                                    key={tabIndex}\n                                    theme={TabsThemesEnum.light}\n                                    onClick={() => {\n                                        changeQuery(\n                                            {\n                                                [DetailsLayoutQueryKeysEnum.tab]:\n                                                    isNumber(tabIndex) && tabIndex !== DEFAULT_TAB_INDEX\n                                                        ? tabIndex\n                                                        : null,\n                                            },\n                                            'replaceIn',\n                                        );\n                                    }}\n                                    isActive={tabIndex === activeIndexTab}\n                                >\n                                    {tab.label}\n                                </TabLabel>\n                            ))}\n                        </TabGroupWithDivider>\n                        <div className={cx('tab')}>{tabs[activeIndexTab].node}</div>\n                    </div>\n                    <div className={cx('timeline-trigger-wrap')}>\n                        <TransparentTrigger\n                            onClick={() => {\n                                changeQuery(\n                                    {\n                                        [DetailsLayoutQueryKeysEnum.timeline]: isShowTimeline ? null : true,\n                                    },\n                                    'replaceIn',\n                                );\n                            }}\n                            isPressed={isShowTimeline}\n                            label={timelineTitle}\n                            className={cx('timeline-trigger')}\n                            leftIcon={\n                                <CalendarIcon\n                                    size={DEFAULT_ICON_SIZE}\n                                    fillColor={StyleGuideColorsEnum.brandAccent}\n                                    strokeColor={StyleGuideColorsEnum.brandDark}\n                                />\n                            }\n                            reflectionTheme={ReflectionThemeEnum.light}\n                            rightIcon={<ArrowsIcon />}\n                        />\n                    </div>\n                    {isShowTimeline && <RightSidebarLayout>{timelineNode(closeTimeline)}</RightSidebarLayout>}\n                </div>\n            }\n            overlayNode={overlayNode}\n        />\n    );\n});\n\nexport default DetailsLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"ChangeRateOrContractWarning__fadeIn___U2lyE\",\"blinking\":\"ChangeRateOrContractWarning__blinking___Tedpv\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './CountryFlagPlaceholderOption.scss';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    label: string;\n};\n\nconst CountryFlagPlaceholderOption: React.FC<PropsT> = (props) => {\n    const { label } = props;\n\n    return (\n        <div className={cx('option')}>\n            <FlagIcon className={cx('icon')} />\n            <div className={cx('label')}>{label}</div>\n        </div>\n    );\n};\n\nexport default CountryFlagPlaceholderOption;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './PhoneNumberDropdownTrigger.scss';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport { PHONE_NUMBER_PREFIX } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    name: string;\n\n    countryCode?: string;\n    onClickCountryCode: () => void;\n    isSelectedCountry?: boolean;\n\n    phoneNumber: string;\n    onChangePhoneNumber: (phoneNumber: string) => void;\n\n    autoFocus?: boolean;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    isDisabled?: boolean;\n    autoComplete?: string;\n\n    testSelector?: string;\n};\n\nconst PhoneNumberDropdownTrigger = React.memo((props: PropsT): React.ReactElement => {\n    const {\n        name,\n\n        countryCode,\n        onClickCountryCode,\n        isSelectedCountry,\n\n        phoneNumber,\n        onChangePhoneNumber,\n\n        autoFocus,\n        onBlur,\n        onFocus,\n        isDisabled,\n        autoComplete,\n\n        testSelector,\n    } = props;\n\n    const fullTestSelector = `${testSelector}__phone-number`;\n\n    const handleChange = (event: React.FormEvent<HTMLInputElement>): void => {\n        const value = event.currentTarget.value || '';\n        onChangePhoneNumber(value);\n    };\n\n    const inputProps: React.InputHTMLAttributes<HTMLInputElement> = {\n        autoFocus: !!autoFocus,\n        value: phoneNumber,\n        onChange: handleChange,\n        onBlur,\n        onFocus,\n        name,\n        type: 'text',\n        className: cx('inner-input', {\n            'inner-input--isDisabled': isDisabled,\n        }),\n        disabled: isDisabled,\n        autoComplete: autoComplete || 'off',\n        // @ts-ignore\n        'data-test-selector': `${fullTestSelector}__input`,\n    };\n\n    return (\n        <div className={cx('trigger')} data-test-selector={`${testSelector}_trigger`}>\n            <div className={cx('trigger__country')}>\n                <div\n                    className={cx('country', {\n                        'country--isSelected': isSelectedCountry,\n                        'country--isClickable': !isDisabled,\n                    })}\n                    onClick={onClickCountryCode}\n                >\n                    <FlagIcon countryCode={countryCode} />\n                    <ArrowsIcon />\n                </div>\n            </div>\n            <div\n                className={cx('prefix', {\n                    'prefix--isDisabled': isDisabled,\n                })}\n            >\n                {PHONE_NUMBER_PREFIX}\n            </div>\n            <div className={cx('input')}>\n                <input {...inputProps} />\n            </div>\n        </div>\n    );\n});\n\nexport default PhoneNumberDropdownTrigger;\n","// extracted by mini-css-extract-plugin\nexport default {\"submit\":\"ForgotPasswordPage__submit___gNgIP\",\"footer-links\":\"ForgotPasswordPage__footer-links___Xo0x9\",\"footer-links__link\":\"ForgotPasswordPage__footer-links__link___Or0C3\",\"result\":\"ForgotPasswordPage__result___Rwy5P\",\"result__done\":\"ForgotPasswordPage__result__done___N0L5W\",\"input\":\"ForgotPasswordPage__input___IaMdD\",\"fadeIn\":\"ForgotPasswordPage__fadeIn___wInvr\",\"blinking\":\"ForgotPasswordPage__blinking___FyqLM\"};","// extracted by mini-css-extract-plugin\nexport default {\"block\":\"RouteDetailsForm__block___m38yJ\",\"actions\":\"RouteDetailsForm__actions___newNk\",\"action\":\"RouteDetailsForm__action___S05sv\",\"inner\":\"RouteDetailsForm__inner___tTtif\",\"contacts-card\":\"RouteDetailsForm__contacts-card___XdqH_\",\"contacts-card-title\":\"RouteDetailsForm__contacts-card-title___FcV_H\",\"fadeIn\":\"RouteDetailsForm__fadeIn___FrA0o\",\"blinking\":\"RouteDetailsForm__blinking___jqyHB\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"RadiusDropdown__fadeIn___v_nGC\",\"blinking\":\"RadiusDropdown__blinking___ccS1b\"};","import * as React from 'react';\nimport { BrokerTourShortT } from 'broker-admin/store/broker-tours/models';\nimport DateTimeCell from 'common/components/Table/cell-renderers/DateTimeCell/DateTimeCell';\n\ntype PropsT = {\n    brokerTourShort: BrokerTourShortT;\n};\n\nconst CreatedCell: React.FC<PropsT> = React.memo(({ brokerTourShort }) => {\n    const { createdDate } = brokerTourShort;\n\n    return <DateTimeCell date={createdDate} isHumanReadableDate />;\n});\n\nexport default CreatedCell;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchShipperContractsPage,\n    fetchShipperContractsPageBegin,\n    fetchShipperContractsPageError,\n    fetchShipperContractsPageSuccess,\n    resetShipperContracts,\n} from './slice';\nimport { FetchShipperContractsActionT } from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport shipperTranziitApi from 'shipper/utils/api/shipper-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport { shipperContractsPaginationChannel } from 'common/store/shipper-contracts/channels';\nimport { selectShipperContractsPages, selectShipperContractsQuery } from 'common/store/shipper-contracts/selectors';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getFetchCarrierContractsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: FetchShipperContractsActionT): WrapGeneratorT<void> {\n        const { pageNumber, query: rawQuery, partnerId } = action.payload;\n\n        const query: typeof rawQuery = {\n            ...rawQuery,\n        };\n\n        const prevQuery: ReReturnT<typeof selectShipperContractsQuery> = yield select(\n            selectShipperContractsQuery(partnerId),\n        );\n        const pages: ReReturnT<typeof selectShipperContractsPages> = yield select(\n            selectShipperContractsPages(partnerId),\n        );\n        const isSameQuery = checkIsSameQuery(query, prevQuery);\n        const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus);\n        if (isSameQuery && !isNeedRequest) {\n            return;\n        }\n        if (!isSameQuery) {\n            yield put(resetShipperContracts({ partnerId, mutationListOptions: { savingPageNumber: pageNumber } }));\n        }\n\n        yield put(fetchShipperContractsPageBegin({ query, pageNumber, partnerId }));\n\n        let result: ReturnApiT<typeof brokerTranziitApi.fetchPartnerShipperContracts>;\n        if (checkIsDefaultCompanyId(partnerId)) {\n            result = yield shipperTranziitApi.fetchPartnerShipperContracts({\n                ...query,\n                page: pageNumber,\n            });\n        } else {\n            result = yield brokerTranziitApi.fetchPartnerShipperContracts(partnerId, {\n                ...query,\n                page: pageNumber,\n            });\n        }\n\n        const [error, response] = result;\n\n        if (error) {\n            yield put(fetchShipperContractsPageError({ query, pageNumber, error, partnerId }));\n            return;\n        }\n\n        yield put(fetchShipperContractsPageSuccess({ query, pageNumber, response, partnerId }));\n\n        checkShouldEmitChangePage(pageNumber, response, shipperContractsPaginationChannel);\n    };\n}\n\nfunction* shipperContractsSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(fetchShipperContractsPage.type, getFetchCarrierContractsSaga(companyType));\n}\n\nexport { shipperContractsSaga };\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PriceMatrix.scss';\n\nimport { useTranslation } from 'react-i18next';\n\nimport moment from 'moment';\nimport Money from 'common/components/Money/Money';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport {\n    CurrencyEnum,\n    DEFAULT_ICON_SIZE,\n    EmissionClassEnum,\n    QueryKeysEnum,\n    StyleGuideColorsEnum,\n} from 'common/constants';\nimport getDatesHash from 'common/store/order-creation/utils/get-dates-hash';\nimport history from 'common/utils/history';\nimport { useSelector } from 'react-redux';\nimport { selectIsPartialLoadingOffers, selectPriceOffersByHash } from 'common/store/order-creation/selectors';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport { formatQuery } from 'common/utils/query';\nimport { byPriceAsc } from 'common/store/order-creation/utils/sort-offers';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport UrgentIcon from 'common/icons/UrgentIcon';\nimport ThumbUpIcon from 'common/icons/ThumbUpIcon';\nimport TeamDriveIcon from 'common/icons/TeamDriveIcon';\nimport { isNonNil } from 'common/utils';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\nimport groupBy from 'lodash/groupBy';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\ntype QueryT = {\n    [QueryKeysEnum.orderCreationPriceOfferId]: string;\n    [QueryKeysEnum.orderCreationDropOffDate]: string;\n    [QueryKeysEnum.orderCreationPickUpDate]: string;\n    [QueryKeysEnum.orderCreationDropOffDatesRange]: Array<string>;\n    [QueryKeysEnum.orderCreationPickUpDatesRange]: Array<string>;\n};\n\nconst EMISSION_CLASS_ORDER = [EmissionClassEnum.euro5, EmissionClassEnum.euro6] as const;\n\nconst PriceMatrix: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const query = useQuery<QueryT>();\n\n    const selectedPickUpDate = query[QueryKeysEnum.orderCreationPickUpDate];\n    const selectedDropOffDate = query[QueryKeysEnum.orderCreationDropOffDate];\n\n    const selectDates = (pickUpDate: string, dropOffDate: string, priceOffer: PriceOfferT): void => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.orderCreationPickUpDate]: pickUpDate,\n                [QueryKeysEnum.orderCreationDropOffDate]: dropOffDate,\n                [QueryKeysEnum.orderCreationPriceOfferId]: priceOffer.id,\n            }),\n        });\n    };\n\n    const [activeDropOffDate, setActiveDropOffDate] = React.useState<string | null>(null);\n    const [activePickUpDate, setActivePickUpDate] = React.useState<string | null>(null);\n\n    const isPartialLoadingOffers = useSelector(selectIsPartialLoadingOffers);\n    const offersByDatesHash = useSelector(selectPriceOffersByHash);\n\n    const pickUpDates = query[QueryKeysEnum.orderCreationPickUpDatesRange] || [];\n    const pickUpDatesHead = pickUpDates.map((pickUpDate) => {\n        const momentDate = moment(pickUpDate);\n        return (\n            <div\n                key={pickUpDate}\n                className={cx('header', 'column', {\n                    'column--isActive': pickUpDate === activePickUpDate,\n                    'column--isSelected': pickUpDate === selectedPickUpDate,\n                    'column--isHeader': true,\n                    'header--isHorizontal': true,\n                })}\n            >\n                <div>{momentDate.format('ddd')}</div>\n                <div>{momentDate.format('D MMM')}</div>\n            </div>\n        );\n    });\n\n    const pickUpDatesHeadRow = (\n        <div className={cx('row', 'row--isHorizontalHeader')}>\n            {pickUpDatesHead}\n            <div\n                className={cx('header', 'column', {\n                    'header--isHorizontal': true,\n                    'header--isVertical': true,\n                })}\n            />\n        </div>\n    );\n\n    const dropOffDates = query[QueryKeysEnum.orderCreationDropOffDatesRange] || [];\n    const dropOffDatesHead = dropOffDates.map((dropOffDate) => {\n        const momentDate = moment(dropOffDate);\n\n        return (\n            <div\n                key={dropOffDate}\n                className={cx('column', 'header', {\n                    'column--isActive': dropOffDate === activeDropOffDate,\n                    'column--isSelected': dropOffDate === selectedDropOffDate,\n                    'column--isHeader': true,\n                    'header--isVertical': true,\n                })}\n            >\n                <div>{momentDate.format('ddd')}</div>\n                <div>{momentDate.format('D MMM')}</div>\n            </div>\n        );\n    });\n\n    const isLoadingOffers = isPartialLoadingOffers;\n\n    const isEmptyDates = !dropOffDates?.length || !pickUpDates?.length;\n\n    return (\n        <div className={cx('inner')}>\n            {isEmptyDates && <LoaderOverlay />}\n            <div\n                className={cx('matrix')}\n                onMouseLeave={() => {\n                    setActiveDropOffDate(null);\n                    setActivePickUpDate(null);\n                }}\n            >\n                {pickUpDatesHeadRow}\n                {dropOffDates.map((dropOffDate, dropOffDateIndex) => {\n                    return (\n                        <div className={cx('row')} key={dropOffDateIndex}>\n                            {pickUpDates.map((pickUpDate, pickUpDateIndex) => {\n                                const datesHash = getDatesHash(pickUpDate, dropOffDate);\n                                const offers = offersByDatesHash[datesHash] || [];\n\n                                const sortedOffers = [...offers].sort(byPriceAsc);\n\n                                const groupedOffer = groupBy(sortedOffers, (offer) => offer?.emissionClass);\n\n                                const cheapestSortedOffers = EMISSION_CLASS_ORDER.map((emissionClass) => {\n                                    return (groupedOffer[emissionClass] || []).sort(byPriceAsc)?.[0];\n                                }).filter(isNonNil);\n                                const firstCheapestOffer = cheapestSortedOffers[0];\n\n                                const isActive =\n                                    (pickUpDate === activePickUpDate &&\n                                        activeDropOffDate &&\n                                        dropOffDate <= activeDropOffDate) ||\n                                    (dropOffDate === activeDropOffDate &&\n                                        activePickUpDate &&\n                                        pickUpDate >= activePickUpDate);\n                                const isActiveCell =\n                                    pickUpDate === activePickUpDate && dropOffDate === activeDropOffDate;\n\n                                const isSelected =\n                                    (pickUpDate === selectedPickUpDate &&\n                                        selectedDropOffDate &&\n                                        dropOffDate <= selectedDropOffDate) ||\n                                    (dropOffDate === selectedDropOffDate &&\n                                        selectedPickUpDate &&\n                                        pickUpDate >= selectedPickUpDate);\n                                const isSelectedCell =\n                                    pickUpDate === selectedPickUpDate && dropOffDate === selectedDropOffDate;\n\n                                const isShowTooltip = !!firstCheapestOffer && isActiveCell;\n                                const isFirstColumnDate = pickUpDateIndex === 0;\n                                const isLastColumnDate = pickUpDateIndex === pickUpDates.length - 1;\n\n                                const isShowLoader =\n                                    isLoadingOffers &&\n                                    !firstCheapestOffer &&\n                                    pickUpDate <= dropOffDate &&\n                                    pickUpDateIndex <= dropOffDateIndex;\n\n                                const isAllOffersExpired = offers?.length && offers.every((offer) => offer?.isExpired);\n\n                                return (\n                                    <div\n                                        key={datesHash}\n                                        className={cx('column', {\n                                            'column--isActive': isActive,\n                                            'column--isActiveCell': isActiveCell,\n                                            'column--isSelected': isSelected,\n                                            'column--isSelectedCell': isSelectedCell,\n                                            'column--isShowTooltip': isShowTooltip,\n                                        })}\n                                        onClick={() => {\n                                            const firstNotExpiredCheapestOffer = offers.find((offer) => {\n                                                return !offer.isExpired;\n                                            });\n\n                                            if (!firstNotExpiredCheapestOffer) {\n                                                return;\n                                            }\n\n                                            selectDates(pickUpDate, dropOffDate, firstNotExpiredCheapestOffer);\n                                        }}\n                                        onMouseEnter={() => {\n                                            setActiveDropOffDate(dropOffDate);\n                                            setActivePickUpDate(pickUpDate);\n                                        }}\n                                    >\n                                        {isShowTooltip && (\n                                            <div\n                                                className={cx('tooltip', {\n                                                    'tooltip--isTopLeft': isFirstColumnDate,\n                                                    'tooltip--isTopCenter': !isFirstColumnDate && !isLastColumnDate,\n                                                    'tooltip--isTopRight': isLastColumnDate,\n                                                })}\n                                            >\n                                                <div className={cx('tooltip__inner')}>\n                                                    {isAllOffersExpired && (\n                                                        <div key=\"expired\" className={cx('tooltip__text')}>\n                                                            {t('common:new-order-offers.price-matrix.tooltip.expired')}\n                                                        </div>\n                                                    )}\n                                                    {cheapestSortedOffers.map((cheapestOffer) => {\n                                                        if (cheapestOffer?.isExpired) {\n                                                            return null;\n                                                        }\n\n                                                        return (\n                                                            <div\n                                                                key={cheapestOffer?.id}\n                                                                className={cx('tooltip__text')}\n                                                            >\n                                                                <EmissionClassLabel\n                                                                    emissionClass={cheapestOffer?.emissionClass}\n                                                                />\n                                                                {' - '}\n                                                                <Money\n                                                                    amount={cheapestOffer.price}\n                                                                    currency={CurrencyEnum.EUR}\n                                                                />\n                                                            </div>\n                                                        );\n                                                    })}\n                                                </div>\n                                            </div>\n                                        )}\n                                        {isShowLoader ? (\n                                            <div className={cx('loader')}>\n                                                <ControlLoaderIcon\n                                                    fillColor={StyleGuideColorsEnum.slate}\n                                                    size={DEFAULT_ICON_SIZE}\n                                                />\n                                            </div>\n                                        ) : (\n                                            <div className={cx('cell')}>\n                                                <div className={cx('cell__spacer', 'cell__spacer--2')} />\n                                                <div className={cx('cell__content')}>\n                                                    <div\n                                                        className={cx('offer', {\n                                                            'offer--clickable': !isAllOffersExpired,\n                                                        })}\n                                                    >\n                                                        {firstCheapestOffer && (\n                                                            <>\n                                                                <div className={cx('offer__icons')}>\n                                                                    {firstCheapestOffer?.isUrgentShipment && (\n                                                                        <UrgentIcon\n                                                                            size={DEFAULT_ICON_SIZE}\n                                                                            fillColor={\n                                                                                firstCheapestOffer?.isExpired\n                                                                                    ? StyleGuideColorsEnum.slate\n                                                                                    : StyleGuideColorsEnum.squash\n                                                                            }\n                                                                        />\n                                                                    )}\n                                                                    {firstCheapestOffer?.isTeamDrive && (\n                                                                        <TeamDriveIcon\n                                                                            size={DEFAULT_ICON_SIZE}\n                                                                            fillColor={\n                                                                                firstCheapestOffer?.isExpired\n                                                                                    ? StyleGuideColorsEnum.slate\n                                                                                    : StyleGuideColorsEnum.white\n                                                                            }\n                                                                            strokeColor={\n                                                                                firstCheapestOffer?.isExpired\n                                                                                    ? StyleGuideColorsEnum.slate\n                                                                                    : StyleGuideColorsEnum.white\n                                                                            }\n                                                                        />\n                                                                    )}\n                                                                    {firstCheapestOffer?.isBestPrice && (\n                                                                        <ThumbUpIcon\n                                                                            size={DEFAULT_ICON_SIZE}\n                                                                            fillOpacity={1}\n                                                                            strokeColor={\n                                                                                firstCheapestOffer?.isExpired\n                                                                                    ? StyleGuideColorsEnum.slate\n                                                                                    : StyleGuideColorsEnum.brandAccent\n                                                                            }\n                                                                            fillColor={\n                                                                                firstCheapestOffer?.isExpired\n                                                                                    ? StyleGuideColorsEnum.slate\n                                                                                    : StyleGuideColorsEnum.brandAccent\n                                                                            }\n                                                                        />\n                                                                    )}\n                                                                </div>\n                                                                {cheapestSortedOffers.map((cheapestOffer, index) => {\n                                                                    return (\n                                                                        <div\n                                                                            key={cheapestOffer?.id}\n                                                                            className={cx('offer__price', {\n                                                                                'offer__price--expired':\n                                                                                    cheapestOffer.isExpired,\n                                                                                'offer__price--green':\n                                                                                    cheapestOffer.isGreenTruck,\n                                                                                'offer__price--secondary': index !== 0,\n                                                                            })}\n                                                                        >\n                                                                            {cheapestOffer && (\n                                                                                <Money\n                                                                                    amount={cheapestOffer.price}\n                                                                                    currency={CurrencyEnum.EUR}\n                                                                                />\n                                                                            )}\n                                                                        </div>\n                                                                    );\n                                                                })}\n                                                            </>\n                                                        )}\n                                                    </div>\n                                                </div>\n                                                <div className={cx('cell__spacer', 'cell__spacer--3')} />\n                                            </div>\n                                        )}\n                                    </div>\n                                );\n                            })}\n                            {dropOffDatesHead[dropOffDateIndex]}\n                        </div>\n                    );\n                })}\n            </div>\n        </div>\n    );\n});\n\nexport default PriceMatrix;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './PhoneNumberDropdownOption.scss';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    countryCode: string;\n    label: string;\n    onSelect: (countryCode: string) => void;\n    isDisabled?: boolean;\n    isSelected?: boolean;\n    testSelector?: string;\n};\n\nconst PhoneNumberDropdownOption = React.memo((props: PropsT): React.ReactElement => {\n    const { countryCode, label, onSelect, isDisabled, isSelected, testSelector } = props;\n\n    return (\n        <div\n            className={cx('option', {\n                'option--isSelected': isSelected,\n                'option--isSelectable': !isDisabled,\n            })}\n            onClick={(): void => {\n                if (isDisabled) {\n                    return;\n                }\n\n                onSelect(countryCode);\n            }}\n            data-test-selector={`${testSelector}_option_${countryCode}`}\n        >\n            <FlagIcon className={cx('option__flag')} countryCode={countryCode} />\n            <div className={cx('option__label')}>{label}</div>\n            {isSelected && (\n                <div className={cx('option__icon')} data-test-selector={`${testSelector}_selected`}>\n                    <DoneIcon\n                        fillColor={StyleGuideColorsEnum.charcoal}\n                        size={DEFAULT_ICON_SIZE}\n                        className={cx('icon')}\n                    />\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default PhoneNumberDropdownOption;\n","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"TimeWindowPillLabel__text___d0fY6\",\"fadeIn\":\"TimeWindowPillLabel__fadeIn___tCFIh\",\"blinking\":\"TimeWindowPillLabel__blinking___OSdcK\"};","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './FerryOnboardPointPicker.scss';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { formatTimeInterval } from 'common/utils/time';\nimport { useFormikContext } from 'formik';\nimport { FieldsEnum, RouteFormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { getFieldFormValue } from 'common/utils/form-values';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FerryOnboardPointPicker: React.FC<PropsT> = React.memo((props) => {\n    const { routePointIndex } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<RouteFormValuesT>();\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const timeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n\n    return (\n        <ReadOnlyField\n            icon={\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            }\n            label={t('broker-order-route-edit.fields.ferry-onboard.label')}\n            subLabel={\n                <PillLabel className={cx('time-interval')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                    {formatTimeInterval(timeWindow?.start, timeWindow?.end)}\n                </PillLabel>\n            }\n            value={location?.address}\n        />\n    );\n});\n\nexport default FerryOnboardPointPicker;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    FIND_SHIPPERS_REQUEST_BY_ID,\n    FIND_SHIPPERS_REQUEST_BY_QUERY,\n    FindShippersByIdActionT,\n    FindShippersByQueryActionT,\n} from './types';\nimport { findShippersBegin, findShippersError, findShippersSuccess } from './actions';\nimport { selectFindShippersQuery, selectShippersById } from './selectors';\nimport isEqual from 'lodash/isEqual';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { PartnerT } from 'common/store/shipper-suggest/models';\n\nfunction* findShippersByQuerySaga(action: FindShippersByQueryActionT): WrapGeneratorT<void> {\n    const { query: rawQuery } = action;\n\n    const query = rawQuery.trim();\n    if (!query) {\n        return;\n    }\n\n    const prevQuery: ReturnType<typeof selectFindShippersQuery> = yield select(selectFindShippersQuery);\n    const isSameQuery = isEqual(query, prevQuery);\n    if (isSameQuery) {\n        return;\n    }\n\n    yield put(findShippersBegin(query));\n\n    const [error, partners]: ReturnApiT<typeof brokerTranziitApi.findShippersByName> =\n        yield brokerTranziitApi.findShippersByName(query);\n\n    if (error) {\n        yield put(findShippersError(error));\n        return;\n    }\n\n    yield put(findShippersSuccess(partners?.content || []));\n}\n\nfunction* findShippersByIdSaga(action: FindShippersByIdActionT): WrapGeneratorT<void> {\n    const { partnerId, query } = action;\n\n    const shippersById: ReturnType<typeof selectShippersById> = yield select(selectShippersById);\n    if (shippersById[partnerId]) {\n        return;\n    }\n\n    yield put(findShippersBegin(query));\n\n    const [error, partnerDetails]: ReturnApiT<typeof brokerTranziitApi.fetchPartnerDetails> =\n        yield brokerTranziitApi.fetchPartnerDetails(partnerId);\n\n    if (error) {\n        yield put(findShippersError(error));\n        return;\n    }\n\n    const partners: PartnerT[] = [];\n\n    if (partnerDetails && partnerDetails?.id) {\n        partners.push({\n            id: partnerDetails?.id,\n            name: partnerDetails?.name,\n            // TODO remove ...as\n            countryCode: partnerDetails?.legalAddress?.country as PartnerT['countryCode'],\n            number: partnerDetails?.number,\n            addressVerified: partnerDetails?.addressVerified,\n            billingAddressVerified: partnerDetails?.billingAddressVerified,\n            documentsVerified: partnerDetails?.documentsVerified,\n        });\n    }\n\n    yield put(findShippersSuccess(partners));\n}\n\nfunction* shipperSuggestSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FIND_SHIPPERS_REQUEST_BY_QUERY, findShippersByQuerySaga);\n    yield takeEvery(FIND_SHIPPERS_REQUEST_BY_ID, findShippersByIdSaga);\n}\n\nexport default shipperSuggestSaga;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DriverSidebarHeader.scss';\nimport { CompanyDriverDetailsT } from 'common/store/drivers/models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    driverDetails: CompanyDriverDetailsT | null;\n};\n\nconst DriverSidebarHeader: React.FC<PropsT> = (props) => {\n    const { driverDetails } = props;\n\n    if (!driverDetails) {\n        return null;\n    }\n\n    let fullName = [driverDetails?.contact?.name, driverDetails?.contact?.surname].filter(Boolean).join(' ');\n    if (!fullName && driverDetails?.contact?.mobilePhone) {\n        fullName = driverDetails?.contact?.mobilePhone;\n    }\n\n    return <span>{fullName}</span>;\n};\n\nexport default DriverSidebarHeader;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './Money.scss';\n\nimport { CURRENCY_SETTINGS, CurrencyEnum, CurrencySettingsT } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    amount: number | null | undefined;\n    currency: CurrencyEnum;\n    isRound?: boolean;\n    className?: string;\n    testSelector?: string;\n};\n\nconst DEFAULT_SEPARATOR = '.';\n\nexport const formatDecimal = (sourceDecimalString: string, thousandSeparator: string): string => {\n    const parts =\n        sourceDecimalString\n            .split('')\n            .reverse()\n            .join('')\n            .match(/.{1,3}/g) || [];\n\n    return parts\n        .join(thousandSeparator || ' ')\n        .split('')\n        .reverse()\n        .join('');\n};\n\nexport const formatMoney = ({\n    currency,\n    amount,\n    isRound,\n    partialCurrencySettings,\n}: {\n    amount: number;\n    currency: CurrencyEnum;\n    isRound?: boolean;\n    partialCurrencySettings?: Partial<CurrencySettingsT>;\n}): string => {\n    const settings = {\n        ...CURRENCY_SETTINGS[currency],\n        ...(partialCurrencySettings || {}),\n    };\n\n    const roundedAmount = amount.toFixed(isRound ? 0 : settings.minimumSignificantDigits);\n    const [decimal, fraction] = roundedAmount.split(DEFAULT_SEPARATOR);\n\n    const formattedDecimal = formatDecimal(decimal, settings.thousandSeparator);\n\n    return [\n        settings.isFirstSymbol ? settings.symbol : '',\n        formattedDecimal,\n        isRound ? '' : settings.decimalSeparator,\n        fraction,\n        !settings.isFirstSymbol ? ` ${settings.symbol}` : '',\n    ].join('');\n};\n\nconst Money: React.FC<PropsT> = React.memo((props) => {\n    const { amount, currency, isRound, className, testSelector } = props;\n\n    if (amount === null || amount === undefined) {\n        return null;\n    }\n\n    const formattedMoney = formatMoney({\n        amount,\n        currency,\n        isRound,\n    });\n\n    return (\n        <span className={cs(className, cx('money'))} data-test-selector={testSelector}>\n            {formattedMoney}\n        </span>\n    );\n});\n\nexport default Money;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ContactsTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\n\nimport { CompanyContactT } from 'common/store/members/models';\n\nimport AvatarCell from 'common/components/Table/cell-renderers/AvatarCell/AvatarCell';\nimport PositionsCell from './cell-renderers/PositionsCell/PositionsCell';\nimport ControlsCell from './cell-renderers/ControlsCell/ControlsCell';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport StatusCell from 'common/layouts/Members/ContactsTable/cell-renderers/StatusCell/StatusCell';\nimport { UserRoleT } from 'common/utils/api/models';\nimport EmailCell from 'common/components/Table/cell-renderers/EmailCell/EmailCell';\nimport PhoneCell from 'common/components/Table/cell-renderers/PhoneCell/PhoneCell';\nimport FullNameCell from 'common/components/Table/cell-renderers/FullNameCell/FullNameCell';\nimport PendingUserCell from 'common/layouts/Members/ContactsTable/cell-renderers/PendingUserCell/PendingUserCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contacts: Array<CompanyContactT>;\n    selectedContactId: ContactIdT | null;\n    className?: string;\n    onDeleteUser: (contact: CompanyContactT) => void;\n    onDeleteContact: (contact: CompanyContactT) => void;\n    onChangeUserRole: (contact: CompanyContactT) => void;\n    onRestoreUser: (contact: CompanyContactT) => void;\n    onCancelInvite: (contact: CompanyContactT) => void;\n    onMakeMainContact: (contact: CompanyContactT) => void;\n    onInviteUser: (email: string) => void;\n    onResendInviteUser: (email: string, roles: UserRoleT[]) => void;\n    onSelectRow: (event: React.MouseEvent, contact: CompanyContactT) => void;\n    isLoading: boolean;\n    canEditTeamMembers: boolean;\n    canInviteUsers: boolean;\n};\n\nconst ContactsTable: React.FC<PropsT> = (props) => {\n    const {\n        contacts,\n        selectedContactId,\n        className,\n        onDeleteUser,\n        onDeleteContact,\n        onChangeUserRole,\n        onRestoreUser,\n        onCancelInvite,\n        onInviteUser,\n        onResendInviteUser,\n        onSelectRow,\n        onMakeMainContact,\n        isLoading,\n        canEditTeamMembers,\n        canInviteUsers,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<CompanyContactT, void>> = [\n        {\n            renderHeader: () => null,\n            render: (contact: CompanyContactT) => (\n                <StatusCell userStatus={contact.userStatus}>\n                    <AvatarCell fullName={contact.fullName || ''} />\n                </StatusCell>\n            ),\n            className: cx('table__column', 'table__column--avatar'),\n        },\n        {\n            renderHeader: () => <span>{t('common:team-members.columns.full-name')}</span>,\n            headerClassName: cx('table__header'),\n            render: (contact: CompanyContactT) => (\n                <StatusCell userStatus={contact.userStatus}>\n                    <PendingUserCell userStatus={contact.userStatus}>\n                        <FullNameCell fullName={contact.fullName || ''} />\n                    </PendingUserCell>\n                </StatusCell>\n            ),\n            className: cx('table__column', 'table__column--any'),\n        },\n        {\n            renderHeader: () => <span>{t('common:team-members.columns.email')}</span>,\n            headerClassName: cx('table__header'),\n            render: (contact: CompanyContactT) => (\n                <StatusCell userStatus={contact.userStatus}>\n                    <EmailCell email={contact.email || ''} />\n                </StatusCell>\n            ),\n            className: cx('table__column', 'table__column--any'),\n        },\n        {\n            renderHeader: () => <span>{t('common:team-members.columns.phone')}</span>,\n            headerClassName: cx('table__header'),\n            render: (contact: CompanyContactT) => (\n                <StatusCell userStatus={contact.userStatus}>\n                    <PhoneCell phone={contact.phone || ''} />\n                </StatusCell>\n            ),\n            className: cx('table__column', 'table__column--any'),\n        },\n        {\n            renderHeader: () => <span>{t('common:team-members.columns.roles')}</span>,\n            headerClassName: cx('table__header'),\n            render: (contact: CompanyContactT) => (\n                <StatusCell userStatus={contact.userStatus}>\n                    <PositionsCell contact={contact} />\n                </StatusCell>\n            ),\n            className: cx('table__column', 'table__column--any'),\n        },\n        {\n            renderHeader: () => null,\n            render: (contact, _, rowIndex) =>\n                canEditTeamMembers ? (\n                    <ControlsCell\n                        contact={contact}\n                        onInviteUser={onInviteUser}\n                        onResendInviteUser={onResendInviteUser}\n                        onDeleteContact={onDeleteContact}\n                        onDeleteUser={onDeleteUser}\n                        onChangeUserRole={onChangeUserRole}\n                        onRestoreUser={onRestoreUser}\n                        onCancelInvite={onCancelInvite}\n                        onMakeMainContact={onMakeMainContact}\n                        isLastRow={rowIndex === contacts.length - 1}\n                        canInviteUsers={canInviteUsers}\n                    />\n                ) : null,\n            className: cx('table__column--controls'),\n        },\n    ];\n\n    const getRowMods = (meta: TableRowMetaT, row: CompanyContactT) => ({\n        isSelected: row?.id === selectedContactId,\n    });\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<CompanyContactT> tableName=\"members\" isLoading={isLoading} rows={contacts}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<CompanyContactT, void>\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        onSelectRow={onSelectRow}\n                        getRowMods={getRowMods}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n};\n\nexport default ContactsTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"FooterSideBarAlert__wrap___BshfK\",\"icon\":\"FooterSideBarAlert__icon___T9dW_\",\"fadeIn\":\"FooterSideBarAlert__fadeIn___DNZqf\",\"blinking\":\"FooterSideBarAlert__blinking___KLhhq\"};","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './Textarea.scss';\nimport useTestSelector from 'common/utils/hooks/useTestSelector';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = string;\n\nexport type PropsT = {\n    className?: string;\n    name: string;\n    value: ValueT;\n    placeholder?: string;\n    onChange: (value: ValueT) => void;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    onKeyUp?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasSuccess?: boolean;\n    autoFocus?: boolean;\n    isDisabled?: boolean;\n    isFocused?: boolean;\n    isTransparent?: boolean;\n    isHighlighted?: boolean;\n    hasChanges?: boolean;\n    autoComplete?: string;\n    testSelectorPrefix?: string;\n};\n\nconst Textarea: React.FC<PropsT> = React.memo((props) => {\n    const {\n        value,\n        name,\n        placeholder,\n        onChange,\n        onBlur,\n        onFocus,\n        onKeyUp,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        autoFocus,\n        isDisabled,\n        isHighlighted,\n        isFocused: isForceFocused,\n        isTransparent,\n        className,\n        hasChanges,\n        autoComplete,\n        testSelectorPrefix,\n    } = props;\n\n    const [isFocused, setFocused] = React.useState<boolean>(false);\n    const [isHovered, setHovered] = React.useState<boolean>(false);\n\n    const handleChange = (event: React.FormEvent<HTMLTextAreaElement>): void => {\n        const sourceValue = event.currentTarget.value || '';\n        onChange(sourceValue);\n    };\n\n    const handleBlur = (): void => {\n        setFocused(false);\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handleFocus = (): void => {\n        setFocused(true);\n\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const handleMouseMove = (): void => {\n        if (!isHovered) {\n            setHovered(true);\n        }\n    };\n\n    const handleMouseLeave = (): void => {\n        setHovered(false);\n    };\n\n    const isEmpty = !value;\n\n    const testSelector = useTestSelector(testSelectorPrefix || name, 'textarea');\n\n    const textareaProps: React.TextareaHTMLAttributes<HTMLTextAreaElement> = {\n        autoFocus: !!autoFocus,\n        onChange: handleChange,\n        onBlur: handleBlur,\n        onFocus: handleFocus,\n        onKeyUp,\n        name,\n        value: value || '',\n        placeholder,\n        disabled: isDisabled,\n        autoComplete: autoComplete || 'off',\n        // @ts-ignore\n        'data-test-selector': testSelector,\n    };\n\n    return (\n        <textarea\n            onMouseMove={handleMouseMove}\n            onMouseLeave={handleMouseLeave}\n            {...textareaProps}\n            className={cs(\n                cx('textarea', {\n                    'textarea--hasWarning': hasWarning,\n                    'textarea--hasSuccess': hasSuccess,\n                    'textarea--hasChanges': hasChanges,\n                    'textarea--isHighlighted': isHighlighted,\n                    'textarea--hasError': hasError,\n                    'textarea--isDisabled': isDisabled,\n                    'textarea--isHovered': isHovered,\n                    'textarea--isTransparent': isTransparent,\n                    'textarea--isFocused': isFocused || isForceFocused,\n                }),\n                cx('inner-textarea', {\n                    'inner-textarea--isEmpty': isEmpty,\n                    'inner-textarea--isDisabled': isDisabled,\n                }),\n                className,\n            )}\n        />\n    );\n});\n\nexport default Textarea;\n","import * as React from 'react';\nimport { ApiShipperContractLaneStatusT, ShipperContractLaneStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiShipperContractLaneStatusT | null | undefined;\n};\n\nexport const SHIPPER_CONTRACT_LANE_STATUS_T_MAP: Record<ApiShipperContractLaneStatusT, string> = {\n    [ShipperContractLaneStatusEnum.revoked]: 'common:shipper-contract-lane-status.REVOKED',\n    [ShipperContractLaneStatusEnum.expired]: 'common:shipper-contract-lane-status.EXPIRED',\n    [ShipperContractLaneStatusEnum.completed]: 'common:shipper-contract-lane-status.COMPLETED',\n    [ShipperContractLaneStatusEnum.active]: 'common:shipper-contract-lane-status.ACTIVE',\n};\n\nconst ShipperContractLaneStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(SHIPPER_CONTRACT_LANE_STATUS_T_MAP[status]);\n});\n\nexport default ShipperContractLaneStatus;\n","import { FieldsEnum, FormValuesT } from './constants';\n\nconst getInitialValues = (): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.date]: null,\n\n        [FieldsEnum.ruleType]: null,\n        [FieldsEnum.dictTrailerId]: null,\n\n        [FieldsEnum.shipperId]: null,\n        [FieldsEnum.carrierId]: null,\n\n        [FieldsEnum.countryFrom]: null,\n        [FieldsEnum.countryTo]: null,\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './UserSignUpForm.scss';\n\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { AUTO_COMPLETE_OFF_FIX } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\n\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport PhoneNumberInput from 'common/components/PhoneNumberInput/PhoneNumberInput';\nimport { authApi } from 'common/utils/api/auth/factory';\n\nconst cx = classNames.bind(styles);\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.firstName]: '',\n    [FieldsEnum.lastName]: '',\n    [FieldsEnum.email]: '',\n    [FieldsEnum.phone]: '',\n    [FieldsEnum.password]: '',\n    [FieldsEnum.acceptTerms]: true,\n};\n\ntype PropsT = {\n    loading?: boolean;\n    onSubmit: (formValues: FormValuesT) => void;\n};\n\nconst UserSignUpForm: React.FC<PropsT> = React.memo((props) => {\n    const { loading, onSubmit } = props;\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const initialErrors = React.useMemo(() => {\n        return validateForm(t, INITIAL_VALUES);\n    }, [t]);\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues: INITIAL_VALUES,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            onSubmit(values);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('fields')}>\n                <FormikField\n                    name={FieldsEnum.firstName}\n                    error={formik.errors[FieldsEnum.firstName]}\n                    meta={formik.getFieldMeta(FieldsEnum.firstName)}\n                    label={t('common:sign-up.fields.firstName.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.firstName}\n                            value={formik.values[FieldsEnum.firstName]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.lastName}\n                    error={formik.errors[FieldsEnum.lastName]}\n                    meta={formik.getFieldMeta(FieldsEnum.lastName)}\n                    label={t('common:sign-up.fields.lastName.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.lastName}\n                            value={formik.values[FieldsEnum.lastName]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.email}\n                    error={formik.errors[FieldsEnum.email]}\n                    meta={formik.getFieldMeta(FieldsEnum.email)}\n                    label={t('common:sign-up.fields.email.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.email}\n                            value={formik.values[FieldsEnum.email]}\n                            placeholder={t('common:sign-up.fields.email.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.phone}\n                    error={formik.errors[FieldsEnum.phone]}\n                    meta={formik.getFieldMeta(FieldsEnum.phone)}\n                    label={t('common:sign-up.fields.phone.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <PhoneNumberInput\n                            name={FieldsEnum.phone}\n                            value={formik.values[FieldsEnum.phone]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.password}\n                    error={formik.errors[FieldsEnum.password]}\n                    meta={formik.getFieldMeta(FieldsEnum.password)}\n                    label={t('common:sign-up.fields.password.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            type=\"password\"\n                            name={FieldsEnum.password}\n                            value={formik.values[FieldsEnum.password]}\n                            placeholder={t('common:sign-up.fields.password.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            autoComplete={AUTO_COMPLETE_OFF_FIX}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('checkbox')}\n                    name={FieldsEnum.acceptTerms}\n                    error={formik.errors[FieldsEnum.acceptTerms]}\n                    meta={formik.getFieldMeta(FieldsEnum.acceptTerms)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    isCheckbox\n                >\n                    {(props) => (\n                        <Checkbox\n                            checked={formik.values[FieldsEnum.acceptTerms]}\n                            onChange={props.onChange}\n                            label={\n                                <span className={cx('terms')}>\n                                    {t('common:sign-up.user-form.terms.read')}{' '}\n                                    <Link\n                                        isExternal\n                                        theme={LinkThemeEnum.boldCharcoal}\n                                        to={t('common:sign-up.user-form.terms.link')}\n                                        target=\"_blank\"\n                                    >\n                                        {t('common:sign-up.user-form.terms.link-text')}\n                                    </Link>\n                                </span>\n                            }\n                        />\n                    )}\n                </FormikField>\n            </div>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <Button isLoading={loading} theme={ButtonThemeEnum.primary} type=\"submit\" className={cx('submit')}>\n                {t('common:sign-up.user-form.submit')}\n            </Button>\n            <div className={cx('footer-links')}>\n                {t('common:sign-up.user-form.footer.have-account')}\n                <span className={cx('footer-links__link')}>\n                    <Link theme={LinkThemeEnum.boldAzul} to={authApi.createSignInUrl()}>\n                        {t('common:sign-up.user-form.footer.sign-in')}\n                    </Link>\n                </span>\n            </div>\n        </form>\n    );\n});\n\nexport default UserSignUpForm;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './InvitePartnerForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { ApiInvitePartnerRequestT, PartnerTypeEnum } from 'common/utils/api/models';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport Input from 'common/components/Input/Input';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    addPartnerRequestStatus: RequestStatusT;\n    onInvitePartner: (invitePartnerRequest: ApiInvitePartnerRequestT) => void;\n};\n\nexport const INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.email]: '',\n    [FieldsEnum.partnerType]: PartnerTypeEnum.shipper,\n};\n\ntype PartnerOptionT = {\n    label: string;\n    value: PartnerTypeEnum;\n};\n\nconst InvitePartnerForm: React.FC<PropsT> = (props) => {\n    const { onInvitePartner, addPartnerRequestStatus } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...INITIAL_VALUES,\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            onInvitePartner({\n                email: values[FieldsEnum.email],\n                partnerType: values[FieldsEnum.partnerType],\n            });\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const renderOption = (option: PartnerOptionT | null | undefined): React.ReactElement => (\n        <span>{option?.label}</span>\n    );\n\n    const getOptionValue = (option: PartnerOptionT) => option?.value;\n\n    const options = React.useMemo(\n        (): Array<PartnerOptionT> => [\n            {\n                label: t('common:company-type.SHIPPER'),\n                value: PartnerTypeEnum.shipper,\n            },\n            {\n                label: t('common:company-type.CARRIER'),\n                value: PartnerTypeEnum.carrier,\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('wrap')}>\n                <div className={cx('image')} />\n                <div className={cx('title')}>{t('partners-table.add-business-partner.invite-form.title')}</div>\n                <div className={cx('form')}>\n                    <FieldGroup spaces={1}>\n                        <FormikField\n                            className={cx('field--email')}\n                            name={FieldsEnum.email}\n                            error={formik.errors[FieldsEnum.email]}\n                            meta={formik.getFieldMeta(FieldsEnum.email)}\n                            label={t('partners-table.add-business-partner.invite-form.fields.email.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.email}\n                                    value={formik.values[FieldsEnum.email]}\n                                    placeholder=\"\"\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field--partner-type')}\n                            name={FieldsEnum.partnerType}\n                            error={formik.errors[FieldsEnum.partnerType]}\n                            meta={formik.getFieldMeta(FieldsEnum.partnerType)}\n                            label={t('partners-table.add-business-partner.invite-form.fields.profile.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DropdownInput<PartnerOptionT, PartnerTypeEnum>\n                                    selectedValue={formik.values[FieldsEnum.partnerType]}\n                                    options={options}\n                                    onSelect={props.onChange}\n                                    renderOption={renderOption}\n                                    getOptionValue={getOptionValue}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isLoading={addPartnerRequestStatus.loading}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('partners-table.add-business-partner.invite-form.submit')}\n                </Button>\n            </div>\n        </form>\n    );\n};\n\nexport default InvitePartnerForm;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TrailerDetails.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport {\n    AssetTypeEnum,\n    CurrencyEnum,\n    DEFAULT_ICON_SIZE,\n    StyleGuideColorsEnum,\n    TrailerTypeEnum,\n} from 'common/constants';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { ApiTrailerDetailsT } from 'common/store/trailers/models';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { selectTrailersDictById } from 'common/store/trailers-dict/selectors';\nimport Money from 'common/components/Money/Money';\nimport LastGPSPositionAlert from 'common/components/LastGPSPositionAlert/LastGPSPositionAlert';\nimport { fetchCarrierContracts } from 'common/store/carrier-contracts/actions';\nimport {\n    selectCarrierContractById,\n    selectFetchCarrierContractsRequest,\n} from 'common/store/carrier-contracts/selectors';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TrailerType from 'common/layouts/CommonEditableTrailerDetailsLayout/TrailerType/TrailerType';\nimport LinkedTruckAlert from 'common/layouts/CommonEditableTrailerDetailsLayout/LinkedTruckAlert/LinkedTruckAlert';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DetailsIcon from 'common/icons/DetailsIcon';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { TrailerStatusEnum } from 'common/utils/api/models';\nimport ArchiveReasonAlert from 'common/components/ArchiveReasonAlert/ArchiveReasonAlert';\nimport { AlertGroup } from 'common/layouts/AlertGroup/AlertGroup';\nimport TrailerActionHistory from '../../TrailerActionHistory/TrailerActionHistory';\nimport { checkIsApiCarrierTrailerDetails } from 'common/store/trailers/type-guards';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    isLoading: boolean;\n    trailerDetails: ApiTrailerDetailsT | null;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n    onOpenContactDetails: (contractId: CarrierContractIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst TrailerDetails: React.FC<PropsT> = (props) => {\n    const { partnerId, trailerDetails, isLoading, onOpenTruckDetails, onOpenContactDetails, onOpenUserDetails } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const countryByCode = useSelector(selectCountriesByCode);\n    const trailersDictById = useSelector(selectTrailersDictById) || {};\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const trailerDictModel = trailerDetails?.dictTrailerInfo?.id\n        ? trailersDictById[trailerDetails?.dictTrailerInfo?.id]\n        : null;\n\n    const trailerTypeLabel = trailerDictModel\n        ? t(`common:trailers-page.add-trailer.fields.trailer.${trailerDictModel?.trailerType}.label`)\n        : '';\n\n    React.useEffect(() => {\n        dispatch(fetchCarrierContracts(partnerId));\n    }, [dispatch, partnerId]);\n\n    const fetchContractsRequests = useSelector(selectFetchCarrierContractsRequest(partnerId));\n    const contractById = useSelector(selectCarrierContractById(partnerId));\n    const contract = contractById[trailerDetails?.contractId as string] || null;\n\n    const contractRatePerKm =\n        trailerDictModel?.trailerType === TrailerTypeEnum.box ? contract?.boxRateKm : contract?.tiltRateKm;\n\n    const ratePerKm = trailerDetails?.contractId ? contractRatePerKm : trailerDetails?.ratePerKm;\n\n    let contractNode: React.ReactNode = null;\n\n    if (fetchContractsRequests?.loading) {\n        contractNode = <ControlLoaderIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.brandAccent} />;\n    }\n\n    if (!fetchContractsRequests?.loading && trailerDetails && trailerDetails?.contractId) {\n        contractNode = trailerDetails?.contractName;\n    }\n\n    if (!fetchContractsRequests?.loading && trailerDetails && !trailerDetails?.contractId) {\n        contractNode = t('common:dedicated.none');\n    }\n\n    let contractRightNode: React.ReactNode = null;\n    if (contract?.id) {\n        contractRightNode = (\n            <TransparentTrigger\n                spaces=\"xs\"\n                onClick={() => {\n                    onOpenContactDetails(contract.id);\n                }}\n                leftIcon={<DetailsIcon strokeColor={StyleGuideColorsEnum.gray} />}\n                reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n            />\n        );\n    }\n\n    return (\n        <div className={cx('wrap')}>\n            <AlertGroup className={cx('alerts')}>\n                {trailerDetails?.linkedTruckId && (\n                    <LinkedTruckAlert\n                        plateNumber={trailerDetails?.linkedTruckPlateNumber}\n                        truckId={trailerDetails.linkedTruckId}\n                        onOpenTruckDetails={onOpenTruckDetails}\n                    />\n                )}\n                {trailerDetails?.status !== TrailerStatusEnum.archived && (\n                    <LastGPSPositionAlert\n                        companyId={partnerId}\n                        assetType={AssetTypeEnum.trailer}\n                        plateNumber={trailerDetails?.plateNumber || ''}\n                        isDedicated={!!trailerDetails?.contractId}\n                    />\n                )}\n                {trailerDetails?.status === TrailerStatusEnum.archived && !!trailerDetails?.archivingReason && (\n                    <ArchiveReasonAlert reason={trailerDetails.archivingReason} />\n                )}\n            </AlertGroup>\n            {isLoading && <LoaderOverlay />}\n            <div className={cx('fields')}>\n                <TrailerType trailerType={trailerDictModel?.trailerType} className={cx('icon')} />\n                <ReadOnlyField\n                    label={trailerTypeLabel}\n                    icon={\n                        <TrailerIcon\n                            size={20}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                    value={\n                        trailerDictModel\n                            ? t('common:trailer-subtype-template', {\n                                  length: trailerDictModel.length,\n                                  model: trailerDictModel.model,\n                                  eur1Pallets: trailerDictModel.eur1Pallets,\n                                  eur2Pallets: trailerDictModel.eur2Pallets,\n                              })\n                            : ''\n                    }\n                />\n                <FieldGroup>\n                    <ReadOnlyField\n                        className={cx('field', 'field--plate-number')}\n                        label={t('common:trailers-page.add-trailer.fields.plate-number.label')}\n                        value={trailerDetails?.plateNumber || ''}\n                    />\n                    <ReadOnlyField\n                        className={cx('field', 'field--vin')}\n                        label={t('common:trailers-page.add-trailer.fields.trailer-vin.label')}\n                        value={trailerDetails?.vin || ''}\n                    />\n                </FieldGroup>\n\n                <ReadOnlyField\n                    className={cx('field', 'field--country')}\n                    icon={<FlagIcon countryCode={trailerDetails?.countryCode} />}\n                    label={t('common:trailers-page.add-trailer.fields.country.label')}\n                    value={\n                        (trailerDetails?.countryCode\n                            ? countryByCode?.[trailerDetails?.countryCode]?.userLangDisplayName\n                            : null) || ''\n                    }\n                />\n                <FieldGroup>\n                    <ReadOnlyField\n                        className={cx('field', 'field--contract')}\n                        label={t('common:trailers-page.add-trailer.fields.contract.label')}\n                        value={contractNode}\n                        tooltipPosition={TooltipPositionEnum.centerRight}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                                {t('common:trailers-page.add-trailer.fields.contract.tooltip')}\n                            </TooltipContent>\n                        }\n                        rightNode={contractRightNode}\n                    />\n                    <ReadOnlyField\n                        className={cx('field', 'field--rate')}\n                        label={t('common:trailers-page.add-trailer.fields.rate.label')}\n                        value={isNumber(ratePerKm) ? <Money amount={ratePerKm} currency={CurrencyEnum.EUR} /> : ''}\n                    />\n                </FieldGroup>\n            </div>\n            <TrailerActionHistory\n                onOpenUserDetails={onOpenUserDetails}\n                createdDate={trailerDetails?.createdDate}\n                createdByBroker={checkIsApiCarrierTrailerDetails(trailerDetails) && trailerDetails?.addedByBroker}\n                createdByName={trailerDetails?.createdBy?.fullName}\n                createdById={trailerDetails?.createdBy?.id}\n                modifiedDate={trailerDetails?.lastModifiedDate}\n                modifiedByBroker={\n                    checkIsApiCarrierTrailerDetails(trailerDetails) && trailerDetails?.lastModifiedByBroker\n                }\n                modifiedByName={trailerDetails?.lastModifiedBy?.fullName}\n                modifiedById={trailerDetails?.lastModifiedBy?.id}\n            />\n        </div>\n    );\n};\n\nexport default TrailerDetails;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './FiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport Input from 'common/components/Input/Input';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport { StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport { getMoneyMask } from 'common/utils/input-masks';\nimport { TransportOrderTypeEnum } from 'common/utils/api/models';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport SelectedFilters from 'common/layouts/TransportOrderListPageLayout/SelectedFilters/SelectedFilters';\nimport PinIcon, { PinIconProps } from 'common/icons/PinIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport DriverSuggest from 'common/components/suggests/DriverSuggest/DriverSuggest';\nimport { mergeQueryFilters } from 'common/utils/query';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { QueryFiltersT } from '../query-models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\ntype TransportOrderTypeOptionT = { label: string; value: TransportOrderTypeEnum | null };\n\nconst AVAILABLE_ORDER_TYPE = [\n    TransportOrderTypeEnum.train,\n    TransportOrderTypeEnum.truck,\n    TransportOrderTypeEnum.trailer,\n];\n\nconst FiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose, setQueryFilters, queryFilters } = props;\n    const { t } = useTranslation();\n\n    const { partnerId } = usePartnerContext();\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const newQueryFilters = getQueryFilters(values);\n            const mergedQueryFilters = mergeQueryFilters(initialQueryFilters, newQueryFilters);\n            setQueryFilters(mergedQueryFilters);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const moneyMask = React.useMemo(() => getMoneyMask(), []);\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    const typeOptions: Array<TransportOrderTypeOptionT> = React.useMemo(\n        () =>\n            AVAILABLE_ORDER_TYPE.map((value) => ({\n                label: t(`common:transport-orders-page.filters.transport-order-type.${value}`),\n                value,\n            })),\n        [t],\n    );\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('common:transport-orders-page.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FormikField\n                    className={cx('field')}\n                    name={FieldsEnum.originAddress}\n                    error={formik.errors[FieldsEnum.originAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.originAddress)}\n                    label={t('common:transport-orders-page.filters.fields.origin-address')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipPosition={TooltipPositionEnum.topLeft}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                            {t('common:transport-orders-page.filters.tooltip.address')}\n                        </TooltipContent>\n                    }\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.originAddress}\n                            value={formik.values[FieldsEnum.originAddress] || ''}\n                            placeholder={t('common:transport-orders-page.filters.placeholders.address')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field')}\n                    name={FieldsEnum.destinationAddress}\n                    error={formik.errors[FieldsEnum.destinationAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.destinationAddress)}\n                    label={t('common:transport-orders-page.filters.fields.destination-address')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipPosition={TooltipPositionEnum.topLeft}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                            {t('common:transport-orders-page.filters.tooltip.address')}\n                        </TooltipContent>\n                    }\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.destinationAddress}\n                            value={formik.values[FieldsEnum.destinationAddress] || ''}\n                            placeholder={t('common:transport-orders-page.filters.placeholders.address')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.pickupDates}\n                        error={formik.errors[FieldsEnum.pickupDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.pickupDates)}\n                        label={t('common:transport-orders-page.filters.fields.pickup-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.pickupDates]}\n                                placeholder={t('common:transport-orders-page.filters.placeholders.pickup-dates')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.topLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.dropoffDates}\n                        error={formik.errors[FieldsEnum.dropoffDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.dropoffDates)}\n                        label={t('common:transport-orders-page.filters.fields.drop-off-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.dropoffDates]}\n                                placeholder={t('common:transport-orders-page.filters.placeholders.drop-off-dates')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.topRight}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.receiveDates}\n                        error={formik.errors[FieldsEnum.receiveDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.receiveDates)}\n                        label={t('common:transport-orders-page.filters.fields.received-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.receiveDates]}\n                                placeholder={t('common:transport-orders-page.filters.placeholders.received-dates')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--order-type')}\n                        name={FieldsEnum.orderType}\n                        error={formik.errors[FieldsEnum.orderType]}\n                        meta={formik.getFieldMeta(FieldsEnum.orderType)}\n                        label={t('common:transport-orders-page.filters.fields.order-type')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DropdownInput<TransportOrderTypeOptionT, TransportOrderTypeOptionT['value']>\n                                selectedValue={formik.values[FieldsEnum.orderType]}\n                                placeholder={t('common:transport-orders-page.filters.placeholders.order-type')}\n                                options={typeOptions}\n                                onSelect={props.onChange}\n                                renderOption={(option: TransportOrderTypeOptionT | null | undefined, placeholder) => {\n                                    if (!option) {\n                                        return <span>{placeholder}</span>;\n                                    }\n\n                                    return <span>{option.label}</span>;\n                                }}\n                                onRightClick={() => {\n                                    props.onChange(null);\n                                }}\n                                renderRightIcon={() =>\n                                    formik.values[FieldsEnum.orderType] ? (\n                                        <CloseIcon fillColor={StyleGuideColorsEnum.gray} />\n                                    ) : null\n                                }\n                                getOptionValue={(option) => option.value}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--trailer-type')}\n                        name={FieldsEnum.dictTrailerId}\n                        error={formik.errors[FieldsEnum.dictTrailerId]}\n                        meta={formik.getFieldMeta(FieldsEnum.dictTrailerId)}\n                        label={t('common:transport-orders-page.filters.fields.trailer-type')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DictTrailerDropdown\n                                placeholder={t('common:transport-orders-page.filters.placeholders.trailer-type')}\n                                value={formik.values[FieldsEnum.dictTrailerId]}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--plate-number')}\n                        name={FieldsEnum.plateNumber}\n                        error={formik.errors[FieldsEnum.plateNumber]}\n                        meta={formik.getFieldMeta(FieldsEnum.plateNumber)}\n                        label={t('common:transport-orders-page.filters.fields.plate-number')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        tooltipPosition={TooltipPositionEnum.topCenter}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                                {t('common:transport-orders-page.filters.tooltip.plate-number')}\n                            </TooltipContent>\n                        }\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.plateNumber}\n                                value={formik.values[FieldsEnum.plateNumber] || ''}\n                                placeholder={t('common:transport-orders-page.filters.placeholders.plate-number')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--driver')}\n                        name={FieldsEnum.driverId}\n                        error={formik.errors[FieldsEnum.driverId]}\n                        meta={formik.getFieldMeta(FieldsEnum.driverId)}\n                        label={t('common:transport-orders-page.filters.fields.driver')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        tooltipPosition={TooltipPositionEnum.topLeft}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n                                {t('common:transport-orders-page.filters.tooltip.driver')}\n                            </TooltipContent>\n                        }\n                    >\n                        {(props) => (\n                            <DriverSuggest\n                                partnerId={partnerId}\n                                value={formik.values[FieldsEnum.driverId]}\n                                initialValue={initialValues[FieldsEnum.driverId]}\n                                initialLabel={initialValues[FieldsEnum.driverName] || ''}\n                                hasClearControl\n                                onSelect={(driverId, driverName) => {\n                                    formik.setFieldValue(FieldsEnum.driverId, driverId);\n                                    formik.setFieldValue(FieldsEnum.driverName, driverName);\n                                }}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                placeholder={t('common:transport-orders-page.filters.placeholders.driver')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                    <div className={cx('field', 'field--price')}>\n                        <FieldGroup isFullWidth>\n                            <FormikField\n                                className={cx('field', 'field--min-price')}\n                                name={FieldsEnum.minPrice}\n                                error={formik.errors[FieldsEnum.minPrice]}\n                                meta={formik.getFieldMeta(FieldsEnum.minPrice)}\n                                label={t('common:transport-orders-page.filters.fields.price')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <NumberInput\n                                        name={FieldsEnum.minPrice}\n                                        unitType={UnitTypeEnum.euroAbbreviation}\n                                        value={formik.values[FieldsEnum.minPrice]}\n                                        placeholder={t('common:transport-orders-page.filters.placeholders.min-price')}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        mask={moneyMask}\n                                        step={1}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                className={cx('field', 'field--max-price')}\n                                name={FieldsEnum.maxPrice}\n                                meta={formik.getFieldMeta(FieldsEnum.maxPrice)}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <NumberInput\n                                        name={FieldsEnum.maxPrice}\n                                        unitType={UnitTypeEnum.euroAbbreviation}\n                                        value={formik.values[FieldsEnum.maxPrice]}\n                                        placeholder={t('common:transport-orders-page.filters.placeholders.max-price')}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        mask={moneyMask}\n                                        step={1}\n                                    />\n                                )}\n                            </FormikField>\n                        </FieldGroup>\n                    </div>\n                </FieldGroup>\n            </SideBarLayout>\n            <FooterSideBarLayout hasPaddings>\n                <div className={cx('selected-filters')}>\n                    <SelectedFilters queryFilters={initialQueryFilters} setQueryFilters={setInitialQueryFilters} />\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('common:transport-orders-page.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default FiltersSidebarContent;\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RouteEditingMap.scss';\nimport GoogleMapReact, { ClickEventValue } from 'google-map-react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectReserve,\n    selectReservePreview,\n    selectReservePreviewRequest,\n    selectReserveRequest,\n} from 'common/store/order-creation/selectors';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport { changeReserveQuery } from 'common/store/order-creation/actions';\nimport GoogleMapContext, { GoogleMapContextT } from 'common/contexts/google-map-context';\nimport MapFooterEstimate from 'common/layouts/NewOrderPage/MapFooterEstimate/MapFooterEstimate';\nimport ExcludeCountries from 'common/layouts/NewOrderPage/RouteEditingMap/ExcludeCountries/ExcludeCountries';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { GoogleMapsGeocoderApi } from 'common/utils/google-maps-api/google-maps-geocoder-api';\nimport { GoogleMapsPlacesApi } from 'common/utils/google-maps-api/google-maps-places-api';\nimport { getGeoCodingLocation } from 'common/utils/google-places';\nimport { selectRoutingGeometryState } from 'common/store/routing-geometry/selectors';\nimport { isNonNil } from 'common/utils';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport { SyncShipmentDetailsFormMapStateContext } from '../ShipmentDetailsForm/contexts/sync-map-state';\nimport { SyncShipmentDetailsFormValuesContext } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-form-values';\nimport { SyncMapSettingsCallbackT } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/usy-sync-map-state';\nimport NumberPinIcon from 'common/icons/NumberPinIcon';\nimport {\n    FieldsEnum,\n    RoutePointFieldsEnum,\n    RoutePointFormValuesT,\n} from 'common/layouts/NewOrderPage/ShipmentDetailsForm/constants';\nimport { getRoutePointFieldName } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/utils';\nimport findIndex from 'lodash/findIndex';\nimport { prepareApiReserveChangesChangeRoutePoint } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/prepare-api-requests';\nimport { ApiOrderCreationReservePointTypeT, OrderCreationReservePointTypeEnum } from 'common/utils/api/models';\nimport FerryLocationPin from 'common/components/maps/pins/FerryLocationPin/FerryLocationPin';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst geocodeByPoint = async (\n    googleMapContext: GoogleMapContextT | null,\n    point: GeoPointT,\n): Promise<LocationT | null> => {\n    const geocoderApi = new GoogleMapsGeocoderApi(googleMapContext?.googleMaps?.maps);\n    const geocodeResult = await geocoderApi.geocode(point);\n    if (!geocodeResult?.place_id) {\n        return null;\n    }\n\n    const placesApi = new GoogleMapsPlacesApi(googleMapContext?.googleMaps?.map, googleMapContext?.googleMaps?.maps);\n    const result = await placesApi.getPlaceDetails(geocodeResult?.place_id);\n    if (!result) {\n        return null;\n    }\n\n    const location = getGeoCodingLocation(result);\n    return location || null;\n};\n\nconst tryGeocodeByPoint = async (googleMapContext: GoogleMapContextT | null, point: GeoPointT): Promise<LocationT> => {\n    const geocodedLocation = await geocodeByPoint(googleMapContext, point);\n    if (geocodedLocation) {\n        return geocodedLocation;\n    }\n\n    return {\n        point: {\n            lat: point.lat,\n            lng: point.lng,\n        },\n        address: `${point.lat}, ${point.lng}`,\n        addressComponents: null,\n        utcOffsetMinutes: null,\n    };\n};\n\nconst KEY_SPREADER = '/';\nconst KEY_PREFIX = 'route-point';\n\nconst formatKey = (routePointIndex: number, pointType: ApiOrderCreationReservePointTypeT, fakeId: string): string => {\n    return [KEY_PREFIX, routePointIndex, pointType, fakeId].join(KEY_SPREADER);\n};\n\nconst parseKey = (\n    key: string,\n): { routePointIndex: number; pointType: ApiOrderCreationReservePointTypeT; fakeId: string } => {\n    const parts = key.split(KEY_SPREADER);\n\n    const routePointIndex = parseInt(parts[parts.length - 3], 10);\n    const pointType = parts[parts.length - 2] as ApiOrderCreationReservePointTypeT;\n    const fakeId = parts[parts.length - 1];\n    return { routePointIndex, pointType, fakeId };\n};\n\nconst draggablePointTypeSet = new Set<ApiOrderCreationReservePointTypeT>([\n    OrderCreationReservePointTypeEnum.shipment,\n    OrderCreationReservePointTypeEnum.driveThrough,\n]);\n\nconst RouteEditingMap: React.FC<PropsT> = React.memo(() => {\n    const dispatch = useDispatch();\n\n    const syncShipmentDetailsFormValuesContext = React.useContext(SyncShipmentDetailsFormValuesContext);\n    const routeFormValue = syncShipmentDetailsFormValuesContext?.formValues?.[FieldsEnum.route];\n\n    const syncShipmentDetailsFormMapStateContext = React.useContext(SyncShipmentDetailsFormMapStateContext);\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const syncMapSettingsCallback = React.useCallback<SyncMapSettingsCallbackT>(\n        (mapSettings) => {\n            if (!googleMapContext.googleMaps) {\n                return;\n            }\n\n            const { map, maps } = googleMapContext.googleMaps;\n            if (!map || !maps) {\n                return;\n            }\n\n            const { boundingBox, zoom, center } = mapSettings;\n\n            if (boundingBox) {\n                const point1 = new maps.LatLng(...boundingBox[0]);\n                const point2 = new maps.LatLng(...boundingBox[1]);\n                const bounds = new maps.LatLngBounds(point1, point2);\n                map.fitBounds(bounds);\n            }\n\n            if (zoom) {\n                map.setZoom(zoom);\n            }\n\n            if (center) {\n                const centerLatLng = new maps.LatLng(center.lat, center.lng);\n                map.setCenter(centerLatLng);\n            }\n        },\n        [googleMapContext.googleMaps],\n    );\n\n    React.useEffect(() => {\n        if (!googleMapContext.googleMaps) {\n            return;\n        }\n\n        const { map, maps } = googleMapContext.googleMaps;\n        if (!map || !maps) {\n            return;\n        }\n\n        syncShipmentDetailsFormMapStateContext?.setIsMapInitialized(true);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [googleMapContext.googleMaps, syncShipmentDetailsFormMapStateContext?.setIsMapInitialized]);\n\n    const reserve = useSelector(selectReserve);\n    const reservePreview = useSelector(selectReservePreview);\n\n    const draggablePinRef = React.useRef<string | null>(null);\n    const [activeLocation, setActiveLocation] = React.useState<LocationT | null>(null);\n    const [draggable, setDraggable] = React.useState(true);\n\n    const isEditing = syncShipmentDetailsFormMapStateContext?.editingRoutePointIndex !== null;\n\n    const hasRedBorder =\n        syncShipmentDetailsFormMapStateContext?.editingRoutePointIndex !== null &&\n        syncShipmentDetailsFormMapStateContext?.hasEditingRoutePointError;\n\n    const handleDragMove = (childKey: string, childProps: any, mouse: GeoPointT) => {\n        const { pointType } = parseKey(childKey);\n\n        if (!draggablePointTypeSet.has(pointType)) {\n            return;\n        }\n\n        setDraggable(false);\n\n        draggablePinRef.current = childKey;\n\n        setActiveLocation({\n            point: {\n                lat: mouse.lat,\n                lng: mouse.lng,\n            },\n            address: null,\n            addressComponents: null,\n            utcOffsetMinutes: null,\n        });\n    };\n\n    React.useEffect(() => {\n        setActiveLocation(null);\n        draggablePinRef.current = null;\n    }, [routeFormValue]);\n\n    const handleDragEnd = async (childKey: string, childProps: any, mouse: GeoPointT) => {\n        if (draggablePinRef.current !== childKey) {\n            return;\n        }\n\n        setDraggable(true);\n\n        const location = await tryGeocodeByPoint(googleMapContext, mouse);\n\n        const { routePointIndex, fakeId } = parseKey(childKey);\n\n        if (syncShipmentDetailsFormValuesContext?.setFieldValueCallback) {\n            syncShipmentDetailsFormValuesContext.setFieldValueCallback(\n                getRoutePointFieldName(routePointIndex, RoutePointFieldsEnum.location),\n                location,\n            );\n        }\n\n        dispatch(\n            changeReserveQuery(\n                prepareApiReserveChangesChangeRoutePoint(fakeId, {\n                    [RoutePointFieldsEnum.location]: location,\n                }),\n            ),\n        );\n    };\n\n    const handleMapClick = async (event: ClickEventValue) => {\n        const location = await tryGeocodeByPoint(googleMapContext, event);\n\n        let editingRoutePointIndex = -1;\n\n        if (syncShipmentDetailsFormMapStateContext?.editingRoutePointIndex !== null) {\n            editingRoutePointIndex = syncShipmentDetailsFormMapStateContext.editingRoutePointIndex;\n        } else {\n            editingRoutePointIndex = findIndex(routeFormValue, (routePointFormValue) => {\n                const location = routePointFormValue[RoutePointFieldsEnum.location];\n\n                return !location;\n            });\n        }\n\n        if (editingRoutePointIndex !== -1) {\n            if (syncShipmentDetailsFormValuesContext?.setFieldValueCallback) {\n                syncShipmentDetailsFormValuesContext.setFieldValueCallback(\n                    getRoutePointFieldName(editingRoutePointIndex, RoutePointFieldsEnum.location),\n                    location,\n                );\n            }\n\n            const fakeId = routeFormValue?.[editingRoutePointIndex]?.fakeId;\n            if (fakeId) {\n                dispatch(\n                    changeReserveQuery(\n                        prepareApiReserveChangesChangeRoutePoint(fakeId, {\n                            [RoutePointFieldsEnum.location]: location,\n                        }),\n                    ),\n                );\n            }\n        }\n    };\n\n    React.useEffect(() => {\n        if (syncShipmentDetailsFormMapStateContext?.setSyncMapSettings) {\n            syncShipmentDetailsFormMapStateContext.setSyncMapSettings(syncMapSettingsCallback);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [syncMapSettingsCallback]);\n\n    React.useEffect(() => {\n        if (syncShipmentDetailsFormMapStateContext?.initialBoundingBox) {\n            syncMapSettingsCallback({\n                center: null,\n                zoom: null,\n                boundingBox: syncShipmentDetailsFormMapStateContext.initialBoundingBox,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [syncShipmentDetailsFormMapStateContext?.initialBoundingBox]);\n\n    const apiIsLoaded: OnGoogleApiLoadedT = (api) => {\n        const { map, maps } = api;\n\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const renderRoutePointPin = (\n        routePointFormValue: RoutePointFormValuesT,\n        routePointIndex: number,\n    ): React.ReactNode => {\n        const fakeId = routePointFormValue[RoutePointFieldsEnum.fakeId];\n        const location = routePointFormValue[RoutePointFieldsEnum.location];\n        const locationType = routePointFormValue[RoutePointFieldsEnum.type];\n\n        const key = formatKey(routePointIndex, locationType, fakeId);\n\n        let latLngProps = {};\n        if (draggablePinRef.current === key) {\n            if (!activeLocation?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: activeLocation.point.lat,\n                lng: activeLocation.point.lng,\n            };\n        } else {\n            if (!location?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: location.point.lat,\n                lng: location.point.lng,\n            };\n        }\n\n        if (\n            locationType === OrderCreationReservePointTypeEnum.ferryDisembark ||\n            locationType === OrderCreationReservePointTypeEnum.ferryOnboard\n        ) {\n            return <FerryLocationPin key={key} className={cx('route-point-pin')} {...latLngProps} />;\n        }\n\n        let fillColor = StyleGuideColorsEnum.charcoal;\n        if (syncShipmentDetailsFormMapStateContext?.editingRoutePointErrorsIndexes.includes(routePointIndex)) {\n            fillColor = StyleGuideColorsEnum.tomatoRed;\n        } else if (syncShipmentDetailsFormMapStateContext?.editingRoutePointIndex === routePointIndex) {\n            fillColor = StyleGuideColorsEnum.brandDark;\n        } else if (locationType === OrderCreationReservePointTypeEnum.shipment) {\n            fillColor = StyleGuideColorsEnum.charcoal;\n        } else if (locationType === OrderCreationReservePointTypeEnum.driveThrough) {\n            fillColor = StyleGuideColorsEnum.gray;\n        }\n\n        return (\n            <NumberPinIcon\n                number={routePointIndex + 1}\n                key={key}\n                className={cx('route-point-pin')}\n                fillColor={fillColor}\n                {...latLngProps}\n            />\n        );\n    };\n\n    const reserveRequest = useSelector(selectReserveRequest);\n    const reservePreviewRequest = useSelector(selectReservePreviewRequest);\n\n    const polylineIds = useMemo(() => {\n        return [reserve?.polylineId].filter(isNonNil);\n    }, [reserve?.polylineId]);\n\n    useRouteGeometry(polylineIds);\n\n    const reserveRouteGeometryState = useSelector(selectRoutingGeometryState(reserve?.polylineId));\n\n    const isMapLoading =\n        reserveRequest.loading || reservePreviewRequest.loading || reserveRouteGeometryState.requestStatus.loading;\n\n    return (\n        <div\n            className={cx('map', {\n                'map--isEditing': isEditing,\n                'map--hasRedBorder': hasRedBorder,\n            })}\n        >\n            <GoogleMapReact\n                draggable={draggable}\n                center={undefined}\n                zoom={undefined}\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                onClick={handleMapClick}\n                options={MAP_OPTIONS}\n                onChildMouseDown={handleDragMove}\n                onChildMouseUp={handleDragEnd}\n                onChildMouseMove={handleDragMove}\n                onGoogleApiLoaded={apiIsLoaded}\n            >\n                {routeFormValue?.map((routePointFormValue, routePointIndex) => {\n                    return renderRoutePointPin(routePointFormValue, routePointIndex);\n                })}\n            </GoogleMapReact>\n            {!reserveRequest.loading && reserve && !reserveRouteGeometryState?.requestStatus?.loading && (\n                <MapRoute\n                    map={googleMapContext.googleMaps?.map}\n                    maps={googleMapContext.googleMaps?.maps}\n                    geometryLibrary={googleMapContext.googleMaps?.libraries?.geometry}\n                    theme={MapRouteThemeEnum.orderCreation}\n                    polylines={reserveRouteGeometryState?.data}\n                />\n            )}\n            {(isMapLoading || reserve) && (\n                <MapFooterEstimate\n                    isLoading={isMapLoading}\n                    distanceM={reserve?.route?.distance}\n                    travelTimeSec={reservePreview?.travelSeconds}\n                />\n            )}\n            <ExcludeCountries className={cx('exclude-countries')} />\n        </div>\n    );\n});\n\nexport default RouteEditingMap;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"ActiveContractDropdown__option___WOUki\",\"fadeIn\":\"ActiveContractDropdown__fadeIn___rbEEu\",\"blinking\":\"ActiveContractDropdown__blinking___Q3q3c\"};","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractLaneEditForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { FieldsEnum, FormValuesT, MAX_RADIUS_KM, MIN_VALID_FROM_VALID_TILL_DAYS } from './constants';\nimport { StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport { useSelector } from 'react-redux';\nimport OriginIcon from 'common/icons/OriginIcon';\nimport DestinationIcon from 'common/icons/DestinationIcon';\nimport validateForm from './validate-form';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport DatePicker, {\n    DatePickerOverlayPositionEnum,\n    datePicketRangePresets,\n} from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport Input from 'common/components/Input/Input';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport moment from 'moment/moment';\nimport { prepareApRequest } from './prepare-api-requests';\nimport {\n    ShipperContractLaneDetailsT,\n    UpdateShipperContractLaneChangesT,\n} from 'common/store/shipper-contract-lane-details/models';\nimport { selectTrailersDictById } from 'common/store/trailers-dict/selectors';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\nimport isNumber from 'lodash/isNumber';\nimport values from 'lodash/values';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { getDateFromISO, getMaxISODate, getMinISODate } from 'common/utils/time';\nimport { useEqualPreviousValue } from 'common/utils/hooks/useEqualPreviousValue';\nimport { ShipperContractDetailsT } from 'common/store/shipper-contract-details/models';\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    data: ShipperContractLaneDetailsT | null;\n    onCancel: () => void;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n\n    onChangeOriginRadiusKm?: (radiusKm: number) => void;\n    onChangeDestinationRadiusKm?: (radiusKm: number) => void;\n\n    onSubmit: (detailsChanges: UpdateShipperContractLaneChangesT) => void;\n\n    updateRequestStatus: RequestStatusT;\n\n    contractDetails: ShipperContractDetailsT | null;\n};\n\nconst ShipperContractLaneEditForm: React.FC<PropsT> = React.memo((props) => {\n    const {\n        data,\n        onCancel,\n        setNeedCloseConfirmation,\n\n        onChangeOriginRadiusKm,\n        onChangeDestinationRadiusKm,\n\n        onSubmit,\n\n        updateRequestStatus,\n\n        contractDetails,\n    } = props;\n\n    const protectedContractDetails = useEqualPreviousValue(contractDetails);\n    const { t } = useTranslation();\n\n    const trailersDictById = useSelector(selectTrailersDictById) || {};\n    const trailerDictModel = data?.dictTrailerId ? trailersDictById[data?.dictTrailerId] : null;\n\n    const validate = React.useCallback(\n        (values: FormValuesT) => {\n            return validateForm(t, values);\n        },\n        [t],\n    );\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values: FormValuesT = {\n            [FieldsEnum.pickUpLocationRadius]: String(data?.originRadius || 0),\n            [FieldsEnum.dropOffLocationRadius]: String(data?.destinationRadius || 0),\n\n            [FieldsEnum.validFrom]: data?.validFrom ? new Date(data.validFrom) : null,\n            [FieldsEnum.validTill]: data?.validTill ? new Date(data.validTill) : null,\n\n            [FieldsEnum.layoverLimit]: String(data?.maximumLayover || 0),\n\n            [FieldsEnum.externalLaneId]: data?.externalLaneId || '',\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [data]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const query = prepareApRequest(values);\n            if (!query) {\n                return;\n            }\n\n            onSubmit(query);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const handleRadiusSetValue = (field: string, value: string): void => {\n        formik.setFieldValue(field, value);\n\n        const parsedValue = parseSimpleNumber(value);\n        const limitedValue = parsedValue ? Math.min(parsedValue, MAX_RADIUS_KM) : 0;\n\n        if (field === FieldsEnum.dropOffLocationRadius && onChangeDestinationRadiusKm) {\n            onChangeDestinationRadiusKm(limitedValue);\n        }\n\n        if (field === FieldsEnum.pickUpLocationRadius && onChangeOriginRadiusKm) {\n            onChangeOriginRadiusKm(limitedValue);\n        }\n    };\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n    React.useEffect(() => {\n        if (hasAnyFieldValueChanges && setNeedCloseConfirmation) {\n            setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    const validFrom = formik.values[FieldsEnum.validFrom];\n    const minValidTillDate = useMemo((): string | undefined => {\n        return (\n            getMaxISODate(\n                moment().add(1, 'day').format(),\n                moment(validFrom).add(MIN_VALID_FROM_VALID_TILL_DAYS, 'day').format(),\n                protectedContractDetails?.validFrom,\n                data?.validTill,\n            ) || datePicketRangePresets.anyFutureDate.minDate\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [validFrom, protectedContractDetails]);\n    const maxValidTillDate = useMemo((): string | undefined => {\n        return getMinISODate(protectedContractDetails?.validTill) || datePicketRangePresets.anyFutureDate.maxDate;\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [protectedContractDetails]);\n    const isDisabledValidTillDate = useMemo(() => {\n        if (!maxValidTillDate) {\n            return false;\n        }\n\n        return (\n            maxValidTillDate < moment().add(1, 'day').format() ||\n            (!!minValidTillDate &&\n                !!maxValidTillDate &&\n                getDateFromISO(minValidTillDate) > getDateFromISO(maxValidTillDate))\n        );\n    }, [minValidTillDate, maxValidTillDate]);\n\n    const validTill = formik.values[FieldsEnum.validTill];\n    const minValidFromDate = useMemo((): string | undefined => {\n        return (\n            getMaxISODate(moment().format(), protectedContractDetails?.validFrom) ||\n            datePicketRangePresets.anyFutureDate.minDate\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [validTill, protectedContractDetails]);\n    const maxValidFromDate = useMemo((): string | undefined => {\n        return (\n            getMinISODate(\n                validTill ? moment(validTill).format() : undefined,\n                protectedContractDetails?.validTill\n                    ? moment(protectedContractDetails.validTill)\n                          .subtract(MIN_VALID_FROM_VALID_TILL_DAYS, 'days')\n                          .format()\n                    : undefined,\n            ) || datePicketRangePresets.anyFutureDate.maxDate\n        );\n    }, [validTill, protectedContractDetails]);\n    const isDisabledValidFromDate = useMemo(() => {\n        if (!maxValidFromDate) {\n            return false;\n        }\n\n        return (\n            maxValidFromDate < moment().format() ||\n            (!!minValidFromDate &&\n                !!maxValidFromDate &&\n                getDateFromISO(minValidFromDate) > getDateFromISO(maxValidFromDate))\n        );\n    }, [maxValidFromDate, minValidFromDate]);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <FieldGroup>\n                <ReadOnlyField\n                    className={cx('field', 'field--trailer-type')}\n                    label={t(`common:shipper-lane-details.fields.trailer-type.label`)}\n                    icon={\n                        <TrailerIcon\n                            size={20}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                    value={\n                        trailerDictModel\n                            ? t('common:trailer-subtype-template', {\n                                  length: trailerDictModel.length,\n                                  model: trailerDictModel.model,\n                                  eur1Pallets: trailerDictModel.eur1Pallets,\n                                  eur2Pallets: trailerDictModel.eur2Pallets,\n                              })\n                            : ''\n                    }\n                />\n                <ReadOnlyField\n                    icon={<EmissionIcon strokeColor={StyleGuideColorsEnum.brandDark} />}\n                    className={cx('field', 'field--emission-class')}\n                    label={t('common:shipper-lane-details.fields.emission-type.label')}\n                    value={<EmissionClassLabel isCompact emissionClass={data?.emissionClass} />}\n                />\n            </FieldGroup>\n            <FieldGroup>\n                <ReadOnlyField\n                    icon={<OriginIcon />}\n                    className={cx('field', 'field--location')}\n                    label={t('common:shipper-lane-details.fields.origin.label')}\n                    value={data?.originFullAddress}\n                />\n                <FormikField\n                    className={cx('field', 'field--radius')}\n                    name={FieldsEnum.pickUpLocationRadius}\n                    error={formik.errors[FieldsEnum.pickUpLocationRadius]}\n                    meta={formik.getFieldMeta(FieldsEnum.pickUpLocationRadius)}\n                    label={t('common:shipper-lane-details.fields.radius.label')}\n                    setFieldValue={handleRadiusSetValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <NumberInput\n                            name={FieldsEnum.pickUpLocationRadius}\n                            unitType={UnitTypeEnum.kilometersAbbreviation}\n                            value={formik.values[FieldsEnum.pickUpLocationRadius]}\n                            step={1}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasChanges={props.hasChanges}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <ReadOnlyField\n                    icon={<DestinationIcon />}\n                    className={cx('field', 'field--location')}\n                    label={t('common:shipper-lane-details.fields.destination.label')}\n                    value={data?.destinationFullAddress}\n                />\n                <FormikField\n                    className={cx('field', 'field--radius')}\n                    name={FieldsEnum.dropOffLocationRadius}\n                    error={formik.errors[FieldsEnum.dropOffLocationRadius]}\n                    meta={formik.getFieldMeta(FieldsEnum.dropOffLocationRadius)}\n                    label={t('common:shipper-lane-details.fields.radius.label')}\n                    setFieldValue={handleRadiusSetValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <NumberInput\n                            name={FieldsEnum.dropOffLocationRadius}\n                            unitType={UnitTypeEnum.kilometersAbbreviation}\n                            value={formik.values[FieldsEnum.dropOffLocationRadius]}\n                            step={1}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasChanges={props.hasChanges}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--date')}\n                    name={FieldsEnum.validFrom}\n                    error={formik.errors[FieldsEnum.validFrom]}\n                    meta={formik.getFieldMeta(FieldsEnum.validFrom)}\n                    label={t('common:shipper-lane-details.fields.valid-from.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DatePicker\n                            value={formik.values[FieldsEnum.validFrom]}\n                            placeholder={t('common:shipper-lane-details.fields.valid-from.placeholder')}\n                            onChange={props.onChange}\n                            overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasYearMonthForm\n                            minDate={minValidFromDate}\n                            maxDate={maxValidFromDate}\n                            isDisabled={isDisabledValidFromDate}\n                            hasChanges={props.hasChanges}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--date')}\n                    name={FieldsEnum.validTill}\n                    error={formik.errors[FieldsEnum.validTill]}\n                    meta={formik.getFieldMeta(FieldsEnum.validTill)}\n                    label={t('common:shipper-lane-details.fields.valid-till.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DatePicker\n                            value={formik.values[FieldsEnum.validTill]}\n                            placeholder={t('common:shipper-lane-details.fields.valid-till.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasYearMonthForm\n                            minDate={minValidTillDate}\n                            maxDate={maxValidTillDate}\n                            isDisabled={isDisabledValidTillDate}\n                            overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                            hasChanges={props.hasChanges}\n                        />\n                    )}\n                </FormikField>\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--limit')}\n                    name={FieldsEnum.layoverLimit}\n                    error={formik.errors[FieldsEnum.layoverLimit]}\n                    meta={formik.getFieldMeta(FieldsEnum.layoverLimit)}\n                    label={t('common:shipper-lane-details.fields.layover-limit.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={300}>\n                            {t('common:shipper-lane-details.fields.layover-limit.tooltip')}\n                        </TooltipContent>\n                    }\n                >\n                    {(props) => (\n                        <NumberInput\n                            name={FieldsEnum.layoverLimit}\n                            unitType={UnitTypeEnum.hoursAbbreviation}\n                            value={formik.values[FieldsEnum.layoverLimit]}\n                            step={1}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasChanges={props.hasChanges}\n                        />\n                    )}\n                </FormikField>\n                <ReadOnlyField\n                    className={cx('field', 'field--limit')}\n                    label={t('common:shipper-lane-details.fields.orders-left.label')}\n                    value={\n                        isNumber(data?.ordersLeft) && isNumber(data?.maxNumberOfOrders)\n                            ? `${data?.ordersLeft}/${data?.maxNumberOfOrders}`\n                            : null\n                    }\n                />\n            </FieldGroup>\n            <FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--external-lane-id')}\n                    name={FieldsEnum.externalLaneId}\n                    error={formik.errors[FieldsEnum.externalLaneId]}\n                    meta={formik.getFieldMeta(FieldsEnum.externalLaneId)}\n                    label={t('common:shipper-lane-details.fields.external-lane-id.label')}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('common:shipper-lane-details.fields.external-lane-id.tooltip')}\n                        </TooltipContent>\n                    }\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.externalLaneId}\n                            value={formik.values[FieldsEnum.externalLaneId]}\n                            placeholder={t('common:shipper-lane-details.fields.external-lane-id.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasChanges={props.hasChanges}\n                        />\n                    )}\n                </FormikField>\n                <FieldGroupEmptyItem className={cx('field', 'field--limit')} />\n            </FieldGroup>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <FooterSideBarLayout isAbsolute hasPaddings>\n                <div className={cx('actions')}>\n                    <Button\n                        className={cx('actions__action')}\n                        theme={ButtonThemeEnum.secondary}\n                        type=\"button\"\n                        testSelector=\"cancel\"\n                        onClick={onCancel}\n                    >\n                        {t('common:shipper-lane-details.actions.cancel')}\n                    </Button>\n                    <Button\n                        className={cx('actions__action')}\n                        theme={ButtonThemeEnum.primary}\n                        type=\"submit\"\n                        isLoading={updateRequestStatus.loading}\n                        testSelector=\"save\"\n                    >\n                        {t('common:shipper-lane-details.actions.save')}\n                    </Button>\n                </div>\n            </FooterSideBarLayout>\n        </form>\n    );\n});\n\nexport default ShipperContractLaneEditForm;\n","import { ADD_ALERT, AddAlertActionT, DELETE_ALERT, DeleteAlertActionT } from 'common/store/alerts/types';\nimport { AnyAlert } from 'common/store/alerts/models';\n\nexport const addAlert = (anyAlert: AnyAlert): AddAlertActionT => ({\n    type: ADD_ALERT,\n    anyAlert,\n});\n\nexport const deleteAlert = (alertId: AlertIdT): DeleteAlertActionT => ({\n    type: DELETE_ALERT,\n    alertId,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"skeleton__box\":\"RouteSidebarSkeleton__skeleton__box___YQxEw\",\"skeleton__box--first\":\"RouteSidebarSkeleton__skeleton__box--first___kURMO\",\"skeleton__box--secondary\":\"RouteSidebarSkeleton__skeleton__box--secondary___GMPb1\",\"fadeIn\":\"RouteSidebarSkeleton__fadeIn___zJTjQ\",\"blinking\":\"RouteSidebarSkeleton__blinking___v4zlW\"};","import * as React from 'react';\nimport { useCallback } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractDetailsPage.scss';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport { routesEnum, ShipperContractDetailsEnum } from 'broker-admin/constants';\nimport { Redirect, Route, Switch, useParams } from 'react-router-dom';\nimport { generatePath } from 'react-router';\nimport NavigationTabs, {\n    NavigationTabConfigT,\n    NavigationTabsPropsT,\n} from 'common/components/tabs/NavigationTabs/NavigationTabs';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport BackButton from 'common/components/BackButton/BackButton';\nimport ShipperContractLanesLayout from 'broker-admin/layouts/ShipperContractDetailsPage/ShipperContractLanesLayout/ShipperContractLanesLayout';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectShipperContractsByIds } from 'common/store/shipper-contracts/selectors';\nimport InlineLoader from 'common/components/InlineLoader/InlineLoader';\nimport { selectShipperContractDetailsState } from 'common/store/shipper-contract-details/selectors';\nimport PartnerContext from 'common/contexts/partner-context';\nimport isString from 'lodash/isString';\nimport ShipperContractDetailsLayout from 'broker-admin/layouts/ShipperContractDetailsPage/ShipperContractDetailsLayout/ShipperContractDetailsLayout';\nimport useRemoteFormActions from 'common/utils/hooks/useRemoteFormActions';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport { fetchShipperContractDetails } from 'common/store/shipper-contract-details/slice';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { carrierContractDetailsRefreshChannel } from 'common/store/carrier-contract-details/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { formatPartnerTypeParam, parsePartnerTypeParam } from 'broker-admin/utils/urls-params';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport PartnerPermissionsContextProvider from 'broker-admin/components/PartnerPermissionsContextProvider/PartnerPermissionsContextProvider';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst ShipperContractDetailsPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const remoteFormActions = useRemoteFormActions();\n\n    const params = useParams<ExtractRouterRouteParamsT<typeof routesEnum.shipperContractDetails>>();\n    const { contractId, partnerId } = params;\n    const partnerType = parsePartnerTypeParam(params.partnerType);\n\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(\n            fetchShipperContractDetails({\n                partnerId,\n                shipperContractId: contractId,\n            }),\n        );\n    }, [dispatch, partnerId, contractId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(\n            fetchShipperContractDetails({\n                partnerId,\n                shipperContractId: contractId,\n            }),\n        );\n    }, [dispatch, partnerId, contractId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshHandler = useCallback(\n        (event: InferChannelEventT<typeof carrierContractDetailsRefreshChannel>) => {\n            if (event.contractId !== contractId) {\n                return;\n            }\n\n            dispatch(\n                fetchShipperContractDetails({\n                    partnerId,\n                    shipperContractId: event.contractId,\n                }),\n            );\n        },\n        [dispatch, partnerId, contractId],\n    );\n    useChannelSubscribe(carrierContractDetailsRefreshChannel, refreshHandler);\n\n    const handleSelectTab: NavigationTabsPropsT['onSelectTab'] = (to): void => {\n        if (isString(to)) {\n            const pathname = generatePath(to, {\n                partnerId,\n                partnerType: formatPartnerTypeParam(partnerType),\n                contractId,\n            });\n\n            history.push({\n                pathname,\n            });\n        } else {\n            history.push({\n                ...to,\n            });\n        }\n    };\n\n    const tabsConfig = React.useMemo(\n        (): NavigationTabConfigT[] => [\n            {\n                to: ShipperContractDetailsEnum.lanes,\n                pathname: generatePath(ShipperContractDetailsEnum.lanes, {\n                    partnerId,\n                    partnerType: formatPartnerTypeParam(partnerType),\n                    contractId,\n                }),\n                render: () => <span>{t('common:shipper-contract-details.tabs.lanes')}</span>,\n                testSelector: 'shipper-contract-lanes',\n            },\n            {\n                to: ShipperContractDetailsEnum.details,\n                pathname: generatePath(ShipperContractDetailsEnum.details, {\n                    partnerId,\n                    partnerType: formatPartnerTypeParam(partnerType),\n                    contractId,\n                }),\n                render: () => <span>{t('common:shipper-contract-details.tabs.details')}</span>,\n                testSelector: 'shipper-contract-details',\n            },\n        ],\n        [t, partnerId, partnerType, contractId],\n    );\n\n    const goToPartnerShipperContracts = () => {\n        goBackIfHasRePath(() => {\n            history.push(urlFactory.partnerShipperContacts(partnerId, partnerType));\n        });\n    };\n\n    const contractsByIds = useSelector(selectShipperContractsByIds(partnerId));\n    const contract = contractsByIds[contractId as ShipperContractIdT];\n\n    const contractDetailsState = useSelector(selectShipperContractDetailsState(contractId));\n\n    const isLoadingContract = !contract && !contractDetailsState.data;\n\n    const contractName = contract?.name || contractDetailsState?.data?.name || '-';\n\n    const header = (\n        <>\n            <PageTitle\n                title={t('page-titles.shipper-contract-details', {\n                    contractName,\n                })}\n            />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent\n                        leftNode={<BackButton onClick={goToPartnerShipperContracts} isDisabled={false} />}\n                        title={isLoadingContract ? <InlineLoader lineHeight={20} /> : contractName}\n                        rightNode={<NotificationsBarTrigger />}\n                    />\n                </TopBar>\n                <div className={cx('controls')}>\n                    <NavigationTabs tabsConfig={tabsConfig} onSelectTab={handleSelectTab} />\n                </div>\n            </ContentMargins>\n        </>\n    );\n\n    const defaultRedirectPath = generatePath(ShipperContractDetailsEnum.lanes, {\n        partnerId,\n        partnerType: formatPartnerTypeParam(partnerType),\n        contractId,\n    });\n\n    const partnerContextValue = React.useMemo(() => {\n        return {\n            partnerType: parsePartnerTypeParam(params.partnerType),\n            partnerId: params.partnerId,\n        };\n    }, [params.partnerId, params.partnerType]);\n\n    return (\n        <RemoteFormActionsContext.Provider value={remoteFormActions}>\n            <PartnerContext.Provider value={partnerContextValue}>\n                <PartnerPermissionsContextProvider partnerId={partnerContextValue.partnerId}>\n                    <ScrollableContent>\n                        {header}\n                        <Switch>\n                            <Route path={ShipperContractDetailsEnum.details}>\n                                <ShipperContractDetailsLayout\n                                    partnerId={partnerId}\n                                    partnerType={partnerType}\n                                    contractId={contractId}\n                                />\n                            </Route>\n                            <Route path={ShipperContractDetailsEnum.lanes}>\n                                <ShipperContractLanesLayout\n                                    partnerId={partnerId}\n                                    partnerType={partnerType}\n                                    contractId={contractId}\n                                />\n                            </Route>\n                            <Route>\n                                <Redirect to={defaultRedirectPath} />\n                            </Route>\n                        </Switch>\n                        <SideBars />\n                    </ScrollableContent>\n                </PartnerPermissionsContextProvider>\n            </PartnerContext.Provider>\n        </RemoteFormActionsContext.Provider>\n    );\n});\n\nexport default ShipperContractDetailsPage;\n","import * as React from 'react';\nimport { MapPinThemeEnum, MapPointPropsT } from 'common/components/maps/MapPin/MapPin';\nimport MapStackClusterPin from 'common/components/maps/MapStackClusterPin/MapStackClusterPin';\nimport { PointGeoJsonPropertiesT } from '../models';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport { StopTypeEnum } from 'common/utils/api/models';\nimport LinkDropOffIcon, { getLinkDropOffIconProps } from 'common/icons/LinkDropOffIcon';\nimport TruckDropOffIcon, { getTruckDropOffIconProps } from 'common/icons/TruckDropOffIcon';\nimport TrailerDropOffIcon, { getTrailerDropOffIconProps } from 'common/icons/TrailerDropOffIcon';\nimport LinkPickUpIcon, { getLinkPickUpIconProps } from 'common/icons/LinkPickUpIcon';\nimport TruckPickUpIcon, { getTruckPickUpIconProps } from 'common/icons/TruckPickUpIcon';\nimport TrailerPickUpIcon, { getTrailerPickUpIconProps } from 'common/icons/TrailerPickUpIcon';\nimport WaypointNumberPinContent from 'common/components/maps/pins/content/WaypointNumberPinContent/WaypointNumberPinContent';\nimport IconWithNumber, { clusterIconWithNumberStyle } from 'common/components/IconWithNumber/IconWithNumber';\nimport isNumber from 'lodash/isNumber';\nimport BoatIcon from 'common/icons/BoatIcon';\n\ntype PropsT = {\n    className?: string;\n    lat?: number | undefined;\n    lng?: number | undefined;\n    clusterId: number;\n    onClusterClick: (clusterId: number) => void;\n    clusterProperties: Array<PointGeoJsonPropertiesT>;\n    withoutArrow?: boolean;\n};\n\nconst PointStackClusterPin: React.FC<PropsT> = React.memo((props) => {\n    const { className, lat, lng, onClusterClick, clusterId, clusterProperties, withoutArrow } = props;\n\n    const pointProps: Array<Partial<MapPointPropsT>> = [];\n\n    clusterProperties.forEach((pointProperties: PointGeoJsonPropertiesT) => {\n        if (pointProperties.type === 'trailer-last-point') {\n            const shouldShowNumber = isNumber(pointProperties.trailerNumber);\n\n            pointProps.push({\n                theme: MapPinThemeEnum.brandDark,\n                children: (\n                    <IconWithNumber isCompact number={pointProperties?.trailerNumber}>\n                        <TrailerIcon\n                            fillColor={StyleGuideColorsEnum.brandDark}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            size={DEFAULT_ICON_SIZE}\n                        />\n                    </IconWithNumber>\n                ),\n                style: shouldShowNumber ? clusterIconWithNumberStyle : {},\n            });\n        }\n\n        if (pointProperties.type === 'truck-last-point') {\n            const shouldShowNumber = isNumber(pointProperties.truckNumber);\n\n            pointProps.push({\n                theme: MapPinThemeEnum.brandDark,\n                children: (\n                    <IconWithNumber isCompact number={pointProperties?.truckNumber}>\n                        <TruckIcon\n                            fillColor={StyleGuideColorsEnum.brandDark}\n                            strokeColor={StyleGuideColorsEnum.white}\n                            size={DEFAULT_ICON_SIZE}\n                        />\n                    </IconWithNumber>\n                ),\n                style: shouldShowNumber ? clusterIconWithNumberStyle : {},\n            });\n        }\n\n        if (pointProperties.type === 'waypoint-point') {\n            const { waypoint, tourNumber } = pointProperties;\n            const shouldShowNumber = isNumber(tourNumber);\n\n            const isVisited = !!waypoint?.driverLeftTimeStamp;\n\n            switch (waypoint.type) {\n                case StopTypeEnum.pickupTruck: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: (\n                            <IconWithNumber isCompact number={tourNumber}>\n                                <TruckPickUpIcon {...getTruckPickUpIconProps('assignment-normal')} />\n                            </IconWithNumber>\n                        ),\n                        style: shouldShowNumber ? clusterIconWithNumberStyle : {},\n                    });\n                    break;\n                }\n                case StopTypeEnum.pickupTrailer: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: (\n                            <IconWithNumber isCompact number={tourNumber}>\n                                <TrailerPickUpIcon {...getTrailerPickUpIconProps('assignment-normal')} />\n                            </IconWithNumber>\n                        ),\n                        style: shouldShowNumber ? clusterIconWithNumberStyle : {},\n                    });\n                    break;\n                }\n                case StopTypeEnum.pickupRoadTrain: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: (\n                            <IconWithNumber isCompact number={tourNumber}>\n                                <LinkPickUpIcon {...getLinkPickUpIconProps('assignment-normal')} />\n                            </IconWithNumber>\n                        ),\n                        style: shouldShowNumber ? clusterIconWithNumberStyle : {},\n                    });\n                    break;\n                }\n                case StopTypeEnum.ferryDisembark:\n                case StopTypeEnum.ferryOnboard: {\n                    const isVisited = !!waypoint?.driverLeftTimeStamp;\n                    let theme = MapPinThemeEnum.charcoal;\n                    if (isVisited) {\n                        theme = MapPinThemeEnum.brandDark;\n                    }\n\n                    pointProps.push({\n                        theme,\n                        children: (\n                            <BoatIcon\n                                size={DEFAULT_ICON_SIZE}\n                                fillColor={StyleGuideColorsEnum.brandDark}\n                                strokeColor={StyleGuideColorsEnum.white}\n                            />\n                        ),\n                    });\n                    break;\n                }\n                case StopTypeEnum.driveThrough:\n                case StopTypeEnum.dropAndHook:\n                case StopTypeEnum.pickupDeliveryShipment: {\n                    let theme = MapPinThemeEnum.charcoal;\n\n                    if (waypoint.type === StopTypeEnum.driveThrough) {\n                        theme = MapPinThemeEnum.gray;\n                    }\n\n                    const isVisited = !!waypoint?.driverLeftTimeStamp;\n                    if (isVisited) {\n                        theme = MapPinThemeEnum.brandDark;\n                    }\n\n                    pointProps.push({\n                        theme,\n                        hasPaddings: false,\n                        children: (\n                            <WaypointNumberPinContent withPaddings key={`route-point-${waypoint.id}`}>\n                                {(waypoint.index || 0) + 1}\n                            </WaypointNumberPinContent>\n                        ),\n                    });\n                    break;\n                }\n                case StopTypeEnum.dropTrailer: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: (\n                            <IconWithNumber isCompact number={tourNumber}>\n                                <TrailerDropOffIcon {...getTrailerDropOffIconProps('assignment-normal')} />\n                            </IconWithNumber>\n                        ),\n                        style: shouldShowNumber ? clusterIconWithNumberStyle : {},\n                    });\n                    break;\n                }\n                case StopTypeEnum.dropTruck: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: (\n                            <IconWithNumber isCompact number={tourNumber}>\n                                <TruckDropOffIcon {...getTruckDropOffIconProps('assignment-normal')} />\n                            </IconWithNumber>\n                        ),\n                        style: shouldShowNumber ? clusterIconWithNumberStyle : {},\n                    });\n                    break;\n                }\n                case StopTypeEnum.dropRoadTrain: {\n                    pointProps.push({\n                        theme: isVisited ? MapPinThemeEnum.brandDark : MapPinThemeEnum.charcoal,\n                        children: (\n                            <IconWithNumber isCompact number={tourNumber}>\n                                <LinkDropOffIcon {...getLinkDropOffIconProps('assignment-normal')} />\n                            </IconWithNumber>\n                        ),\n                        style: shouldShowNumber ? clusterIconWithNumberStyle : {},\n                    });\n                    break;\n                }\n                default: {\n                    break;\n                }\n            }\n        }\n    });\n\n    if (!pointProps?.length) {\n        return null;\n    }\n\n    return (\n        <MapStackClusterPin\n            className={className}\n            lat={lat}\n            lng={lng}\n            pointProps={pointProps}\n            clusterId={clusterId}\n            onClusterClick={onClusterClick}\n            withoutArrow={withoutArrow}\n        />\n    );\n});\n\nexport default PointStackClusterPin;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './AssetOptionLabel.scss';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DetailsIcon from 'common/icons/DetailsIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    model?: string;\n    plateNumber?: string;\n    onOpenDetails?: () => void;\n};\n\nconst AssetOptionLabel: React.FC<PropsT> = React.memo((props) => {\n    const { model, plateNumber, onOpenDetails } = props;\n\n    return (\n        <div className={cx('option')}>\n            <div>\n                {plateNumber && <span className={cx('plate-number')}>{plateNumber}</span>}\n                {' / '}\n                {model && <span className={cx('model')}>{model}</span>}\n            </div>\n            {onOpenDetails && (\n                <ClickInterceptorLabel className={cx('details-trigger')}>\n                    <TransparentTrigger\n                        spaces=\"xs\"\n                        onClick={onOpenDetails}\n                        leftIcon={<DetailsIcon strokeColor={StyleGuideColorsEnum.gray} />}\n                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                    />\n                </ClickInterceptorLabel>\n            )}\n        </div>\n    );\n});\n\nexport default AssetOptionLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"SpotSettingsForm__widget___MReNL\",\"widget__inner\":\"SpotSettingsForm__widget__inner___aNbOa\",\"field\":\"SpotSettingsForm__field___kM2N3\",\"fadeIn\":\"SpotSettingsForm__fadeIn___mku2h\",\"blinking\":\"SpotSettingsForm__blinking___UaIfD\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './FullNameCell.scss';\n\ntype PropsT = {\n    name?: string;\n    surname?: string;\n    fullName?: string;\n    isHalfOpacity?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FullNameCell: React.FC<PropsT> = React.memo((props) => {\n    const { name, surname, fullName, isHalfOpacity } = props;\n\n    const content = [name, surname, fullName].filter(Boolean).join(' ');\n\n    return <div className={cx('content', { 'content--isHalfOpacity': isHalfOpacity })}>{content}</div>;\n});\n\nexport default FullNameCell;\n","export enum FieldsEnum {\n    firstRadiusOfAssignmentFilter = 'FIRST_RADIUS_OF_ASSIGNMENT_FILTER',\n    secondRadiusOfAssignmentFilter = 'SECOND_RADIUS_OF_ASSIGNMENT_FILTER',\n    thirdRadiusOfAssignmentFilter = 'THIRD_RADIUS_OF_ASSIGNMENT_FILTER',\n    timeToPickupTruck = 'TIME_TO_PICKUP_TRUCK',\n    timeToDropTruck = 'TIME_TO_DROP_TRUCK',\n    timeToHookTrailer = 'TIME_TO_HOOK_TRAILER',\n    timeToDropTrailer = 'TIME_TO_DROP_TRAILER',\n    geoMatrixCoefficient = 'GEO_MATRIX_COEFFICIENT',\n    averageTruckSpeed = 'AVERAGE_TRUCK_SPEED',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.firstRadiusOfAssignmentFilter]: string;\n    [FieldsEnum.secondRadiusOfAssignmentFilter]: string;\n    [FieldsEnum.thirdRadiusOfAssignmentFilter]: string;\n    [FieldsEnum.timeToHookTrailer]: string;\n    [FieldsEnum.timeToDropTrailer]: string;\n    [FieldsEnum.timeToPickupTruck]: string;\n    [FieldsEnum.timeToDropTruck]: string;\n    [FieldsEnum.geoMatrixCoefficient]: string;\n    [FieldsEnum.averageTruckSpeed]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"cost\":\"EditableCostCell__cost___CRo1e\",\"price\":\"EditableCostCell__price___hBfZ6\",\"empty\":\"EditableCostCell__empty___McZKu\",\"fadeIn\":\"EditableCostCell__fadeIn___G_Wvp\",\"blinking\":\"EditableCostCell__blinking___zWwFQ\"};","import { TransportOrderDetailsStateT } from './types';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { initialTransportOrderDetailsState } from './reducer';\nimport { SharableStateT } from 'common/store/models';\n\nexport const selectTransportOrderDetails =\n    (id: TransportOrderIdT | null | undefined) =>\n    (state: SharableStateT): TransportOrderDetailsStateT['details'] =>\n        state.transportOrderDetails[id as string]?.details || initialTransportOrderDetailsState.details;\n\nexport const selectTransportOrderDetailsRequestStatus =\n    (id: TransportOrderIdT | null | undefined) =>\n    (state: SharableStateT): RequestStatusT =>\n        state.transportOrderDetails[id as string]?.requestStatus || initialTransportOrderDetailsState.requestStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"DriverSuggestInput__option___yy676\",\"fadeIn\":\"DriverSuggestInput__fadeIn___L8q3K\",\"blinking\":\"DriverSuggestInput__blinking___hqHDP\"};","import * as React from 'react';\nimport { ApiShipmentAttachedPaperTypeT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    type: ApiShipmentAttachedPaperTypeT | null | undefined;\n};\n\nexport const SHIPMENT_PAPER_TYPE_MAP_T: Record<ApiShipmentAttachedPaperTypeT, string> = {\n    DELIVERY_NOTE: 'common:papers-card.type.DELIVERY_NOTE',\n    SIGNED_DELIVERY_NOTE: 'common:papers-card.type.SIGNED_DELIVERY_NOTE',\n    PALLET_CERTIFICATE: 'common:papers-card.type.PALLET_CERTIFICATE',\n    TEMPERATURE_RECORD: 'common:papers-card.type.TEMPERATURE_RECORD',\n    CUSTOMS_DECLARATION: 'common:papers-card.type.CUSTOMS_DECLARATION',\n    T1_T2_DOCUMENT: 'common:papers-card.type.T1_T2_DOCUMENT',\n    CLAIM_DAMAGE: 'common:papers-card.type.CLAIM_DAMAGE',\n    EAD: 'common:papers-card.type.EAD',\n    CERTIFICATE_OF_ORIGIN: 'common:papers-card.type.CERTIFICATE_OF_ORIGIN',\n    COMMERCIAL_INVOICE: 'common:papers-card.type.COMMERCIAL_INVOICE',\n    OTHER: 'common:papers-card.type.OTHER',\n};\n\nconst ShipmentPaperTypeLabel: React.FC<PropsT> = React.memo((props) => {\n    const { type } = props;\n    const { t } = useTranslation();\n\n    if (!type) {\n        return null;\n    }\n\n    return <span>{t(SHIPMENT_PAPER_TYPE_MAP_T[type])}</span>;\n});\n\nexport default ShipmentPaperTypeLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"option--is-invalid\":\"AssignOptionLabel__option--is-invalid___J7kF_\",\"asset\":\"AssignOptionLabel__asset___SN2tO\",\"rate-mode\":\"AssignOptionLabel__rate-mode___zt2u0\",\"model-and-plate-number\":\"AssignOptionLabel__model-and-plate-number___auZcG\",\"price\":\"AssignOptionLabel__price___ZTe3Y\",\"location\":\"AssignOptionLabel__location___NuK1Q\",\"utilization\":\"AssignOptionLabel__utilization___VdnTn\",\"utilization__label\":\"AssignOptionLabel__utilization__label___Fojsp\",\"link\":\"AssignOptionLabel__link___Hlje4\",\"link__inner\":\"AssignOptionLabel__link__inner___EXKgf\",\"link__icon\":\"AssignOptionLabel__link__icon___fcPkv\",\"link__trigger\":\"AssignOptionLabel__link__trigger___jcGzT\",\"link__text\":\"AssignOptionLabel__link__text___MrM_p\",\"fadeIn\":\"AssignOptionLabel__fadeIn___EYT8K\",\"blinking\":\"AssignOptionLabel__blinking___Zu3cz\"};","import React from 'react';\nimport { SideBarFooterAlertsContextValueT } from 'common/utils/hooks/useSideBarFooterAlertsContextValue';\n\nconst SideBarFooterAlertsContext = React.createContext<SideBarFooterAlertsContextValueT | null>(null);\n\nexport default SideBarFooterAlertsContext;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type CancelingBrokerTourConfirmationDataT = {\n    brokerTourId: BrokerTourIdT;\n};\n\ntype PropsT = {\n    data: CancelingBrokerTourConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: CancelingBrokerTourConfirmationDataT) => void;\n    requestStatus: RequestStatusT | null;\n};\n\nconst TEST_SELECTOR = 'cancel-broker-tour-confirmation';\n\nconst CancelBrokerTourConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, requestStatus, onCancel, onClose, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus?.loading,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: requestStatus?.loading,\n                            isDisabled: requestStatus?.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('broker-tour-details.dialogs.cancel-broker-tour.title')}\n                    message={t('broker-tour-details.dialogs.cancel-broker-tour.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelBrokerTourConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ErrorModal__content___cKUaC\",\"actions\":\"ErrorModal__actions___abKuY\",\"method\":\"ErrorModal__method___w7caS\",\"logs\":\"ErrorModal__logs___ZD3Fq\",\"background-error\":\"ErrorModal__background-error___Z98IX\",\"trace-id\":\"ErrorModal__trace-id___E8hgs\",\"fadeIn\":\"ErrorModal__fadeIn___p9QW4\",\"blinking\":\"ErrorModal__blinking___ezRCb\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport {\n    selectCountriesAllCodes,\n    selectCountriesByCode,\n    selectCountriesDictRequest,\n} from 'common/store/countries-dict/selectors';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport DropdownSearchMultipleInput, {\n    IconMetaT,\n} from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport DeprecatedCountyFlagLabel from 'common/components/DeprecatedCountyFlagLabel/DeprecatedCountyFlagLabel';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport FewCountriesIcon from 'common/icons/FewCountriesIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport classNames from 'classnames/bind';\n\nimport styles from './CountryMultipleDropdown.scss';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = CountryCodeT;\ntype OptionT = CountryCodeT;\n\ntype PropsT = {\n    onChange: (values: Array<ValueT>) => void;\n    values: Array<ValueT>;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChanges?: boolean;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    onReset?: () => void;\n    placeholder?: string;\n    inputPlaceholder?: string;\n    testSelector?: string;\n    renderTrigger?: (options: Array<OptionT>, placeholder: string | undefined) => React.ReactNode;\n    renderOption?: (option: OptionT) => React.ReactNode;\n    renderLeftIcon?: (meta: IconMetaT) => React.ReactNode;\n    renderRightIcon?: (meta: IconMetaT) => React.ReactNode;\n    hasClearControl?: boolean;\n};\n\nconst CountryMultipleDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        onChange,\n        values,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        hasChanges,\n        onBlur,\n        onFocus,\n        testSelector,\n        renderTrigger,\n        renderLeftIcon,\n        renderRightIcon,\n        renderOption,\n        hasClearControl,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [query, setQuery] = React.useState<string>('');\n\n    const fetchRequest = useSelector(selectCountriesDictRequest);\n    const allCodes = useSelector(selectCountriesAllCodes);\n    const byCode = useSelector(selectCountriesByCode);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const defaultRenderTrigger = (countryCodes: Array<CountryCodeT>, placeholder: string | undefined) => {\n        if (!countryCodes?.length) {\n            return placeholder;\n        }\n\n        if (countryCodes.length === 1) {\n            const firstCountryCode = countryCodes[0];\n            return byCode[firstCountryCode]?.userLangDisplayName || null;\n        }\n\n        return <DropdownMultipleInputCountLabel count={countryCodes?.length} />;\n    };\n\n    const defaultRenderLeftIcon = () => {\n        if (!values?.length) {\n            return <FlagIcon />;\n        }\n\n        if (values.length === 1) {\n            return <FlagIcon countryCode={values[0]} />;\n        }\n\n        return <FewCountriesIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.brandDark} />;\n    };\n\n    const defaultRenderOption = (countryCode: OptionT) => {\n        return <DeprecatedCountyFlagLabel className={cx('option')} country={byCode[countryCode]} />;\n    };\n\n    const getOptionValue = (option: OptionT): CountryCodeT => option;\n\n    const handleOptionClick = (countryCodes: Array<ValueT>) => {\n        onChange(countryCodes);\n    };\n\n    const filteredCodes = React.useMemo(() => {\n        const clearedQuery = query.toLowerCase().replace(/ /g, '').trim();\n        if (!clearedQuery) {\n            return allCodes;\n        }\n\n        return allCodes.filter((countryCode) => {\n            const country = countryCode ? byCode[countryCode] : null;\n\n            return [country?.userLangDisplayName, country?.language, country?.langCode, country?.code].some((text) =>\n                text?.toLowerCase().replace(/ /g, '').includes(clearedQuery),\n            );\n        });\n    }, [allCodes, query, byCode]);\n\n    const handleReset = () => {\n        onChange([]);\n    };\n\n    const placeholder = props.placeholder || t('common:common-components.countries-selector.placeholder');\n    const inputPlaceholder =\n        props.inputPlaceholder || t('common:common-components.countries-selector.input-placeholder');\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values || null}\n            placeholder={placeholder}\n            inputPlaceholder={inputPlaceholder}\n            options={filteredCodes}\n            onSelect={handleOptionClick}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            hasChanges={hasChanges}\n            renderOption={renderOption || defaultRenderOption}\n            renderRightIcon={renderRightIcon}\n            renderLeftIcon={renderLeftIcon || defaultRenderLeftIcon}\n            renderTriggerContent={renderTrigger || defaultRenderTrigger}\n            getOptionValue={getOptionValue}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            isLoading={fetchRequest.loading}\n            testSelector={`${testSelector}_countries`}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            onReset={hasClearControl ? handleReset : undefined}\n            onChangeQuery={setQuery}\n        />\n    );\n});\n\nexport default CountryMultipleDropdown;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport {\n    FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST,\n    FetchGroupedNotificationCountsActionT,\n} from 'common/store/grouped-notification-counts/types';\nimport {\n    fetchGroupedNotificationCountsBegin,\n    fetchGroupedNotificationCountsError,\n    fetchGroupedNotificationCountsSuccess,\n} from 'common/store/grouped-notification-counts/actions';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectGroupedNotificationCountsRequest } from 'common/store/grouped-notification-counts/selectors';\nimport { UNREAD_GROUPED_NOTIFICATION_COUNTS_TTL } from 'common/store/grouped-notification-counts/constants';\n\nfunction* fetchGroupedNotificationCountsSaga(action: FetchGroupedNotificationCountsActionT): WrapGeneratorT<void> {\n    const { options } = action;\n\n    const requestStatus: ReturnType<typeof selectGroupedNotificationCountsRequest> = yield select(\n        selectGroupedNotificationCountsRequest,\n    );\n    const isNeedRequest = checkNeedRequest(requestStatus, options, UNREAD_GROUPED_NOTIFICATION_COUNTS_TTL);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchGroupedNotificationCountsBegin());\n\n    const [error, response]: ReturnApiT<typeof commonTranziitApi.fetchUnreadGroupedNotificationCounts> =\n        yield commonTranziitApi.fetchUnreadGroupedNotificationCounts();\n\n    if (error) {\n        yield put(fetchGroupedNotificationCountsError(error));\n        return;\n    }\n\n    yield put(fetchGroupedNotificationCountsSuccess(response?.byAction || {}));\n}\n\nfunction* groupedNotificationCountsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST, fetchGroupedNotificationCountsSaga);\n}\n\nexport default groupedNotificationCountsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"preview\":\"PriceSettingsEditRuleDetailsPage__preview___qXQAZ\",\"fadeIn\":\"PriceSettingsEditRuleDetailsPage__fadeIn___m_nHO\",\"blinking\":\"PriceSettingsEditRuleDetailsPage__blinking___Izjf8\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './StatusCell.scss';\nimport { ApiTrailerT } from 'common/store/trailers/models';\nimport TrailerStatusPill from 'common/components/status-pill/TrailerStatusPill/TrailerStatusPill';\n\ntype PropsT = {\n    trailer: ApiTrailerT;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst StatusCell: React.FC<PropsT> = React.memo((props) => {\n    const { trailer, className } = props;\n    return (\n        <div className={cx('status')}>\n            <TrailerStatusPill isSymmetrical className={className} status={trailer?.status} />\n        </div>\n    );\n});\n\nexport default StatusCell;\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './OfferDetails.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport CollapsedOfferDetails from './CollapsedOfferDetails/CollapsedOfferDetails';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport { useSelector } from 'react-redux';\nimport { CurrencyEnum, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport { sumAdditionalServicesPrice } from 'common/layouts/NewOrderPage/additional-services';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport FuelIcon from 'common/icons/FuelIcon';\nimport LayoverIcon, { getLayoverIconProps } from 'common/icons/LayoverIcon';\nimport {\n    ALL_TOLL_TYPES,\n    ApiAdditionalServiceTypeEnum,\n    ApiBrokerAdditionalServiceT,\n    ApiCarrierAdditionalServiceT,\n    ApiCountriesT,\n    ApiDictCarrierAdditionalServiceT,\n    ApiDictCarrierAdditionalServiceTypeT,\n    ApiRuleTargetT,\n    ApiTrailerDictTypeT,\n    CountryCodeT,\n    TollTypeEnum,\n} from 'common/utils/api/models';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { selectAdditionalServicesMap } from 'common/store/additional-services-dict/selectors';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport Money from 'common/components/Money/Money';\nimport PriceDetailsHeader from 'common/layouts/NewOrderPage/OfferDetails/PriceDetailsHeader/PriceDetailsHeader';\nimport { TOLL_MAP_T, TOLL_TOOLTIP_MAP_T } from 'common/components/TollLabel/TollLabel';\nimport isNil from 'lodash/isNil';\nimport keys from 'lodash/keys';\nimport isEmpty from 'lodash/isEmpty';\nimport AsyncCountryFormatter from 'design-system/components/InfoTable/formatters/AsyncCountryFormatter/AsyncCountryFormatter';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\n\nimport { useCommonPriceDetails } from 'common/components/price-details/hooks/common';\nimport { useAdditionalServicesList } from 'common/components/price-details/hooks/additional-services-list';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { checkShouldShowLayover } from 'common/components/price-details/utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport isNumber from 'lodash/isNumber';\nimport { isNonNil } from 'common/utils';\nimport FuelOptionTypeLabel from 'common/components/FuelOptionTypeLabel/FuelOptionTypeLabel';\nimport { PILL_THEME_BY_FUEL_OPTION_TYPE } from 'common/components/status-pill/FuelOptionTypePill/FuelOptionTypePill';\nimport { useEditablePriceDetails } from 'common/components/price-details/hooks/editable-price-details';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { compareLineHaul, getPriceOfferLineHaul } from 'common/layouts/NewOrderPage/utils/custom-line-haul';\nimport { CustomLineHaulMapT, CustomLineHaulT } from 'common/layouts/NewOrderPage/query';\nimport { logWarning } from 'common/utils/logger';\nimport EditOfferTotalPriceLayout from 'common/layouts/NewOrderPage/OfferDetails/EditOfferTotalPriceLayout/EditOfferTotalPriceLayout';\nimport { getOfferTotalPrice, safetyModifyOfferTotalPrice } from 'common/layouts/NewOrderPage/utils/offer-total-price';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    offer?: PriceOfferT;\n    onSelect?: (offer: PriceOfferT) => void;\n    isSelectable?: boolean;\n    isSelected?: boolean;\n    selectedAdditionalServiceEnums: ApiDictCarrierAdditionalServiceTypeT[];\n    scrollToAdditionalServices?: () => void;\n    hasSelectedLane?: boolean;\n    customLineHaulMap: CustomLineHaulMapT | null;\n    onChangeCustomLineHaul: (priceOfferId: PriceOfferIdT, customLineHaul: CustomLineHaulT | null) => void;\n    dictTrailerInfo: ApiTrailerDictTypeT | null;\n};\n\nconst OfferDetails: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        offer,\n        onSelect,\n        isSelectable,\n        isSelected,\n        selectedAdditionalServiceEnums,\n        scrollToAdditionalServices,\n        hasSelectedLane,\n        customLineHaulMap,\n        onChangeCustomLineHaul,\n        dictTrailerInfo,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [isOpenDetails, toggleOpenDetails] = React.useState<boolean>(false);\n\n    const permissions = useSelector(selectPermissions);\n\n    const additionalServiceMap = useSelector(selectAdditionalServicesMap(dictTrailerInfo?.trailerType || null));\n\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    const offerAdditionalServiceItems = offer?.priceComponents?.additionalServicesItems || [];\n\n    const selectedAdditionalServices = React.useMemo(() => {\n        return selectedAdditionalServiceEnums.reduce<ApiDictCarrierAdditionalServiceT[]>((acc, serviceEnum) => {\n            const service = additionalServiceMap?.[serviceEnum];\n            if (service) {\n                acc.push(service);\n            }\n\n            return acc;\n        }, []);\n    }, [selectedAdditionalServiceEnums, additionalServiceMap]);\n\n    const summaryAdditionalServicesPrice = sumAdditionalServicesPrice(\n        selectedAdditionalServiceEnums,\n        additionalServiceMap,\n    );\n\n    const allAdditionalServiceItems = useMemo((): Array<ApiBrokerAdditionalServiceT | ApiCarrierAdditionalServiceT> => {\n        return [\n            ...offerAdditionalServiceItems,\n            ...selectedAdditionalServices\n                .map((additionalService) => {\n                    if (!additionalService) {\n                        return null;\n                    }\n\n                    const { itemCost, service } = additionalService;\n                    const quantity = 1;\n\n                    const carrierService: ApiCarrierAdditionalServiceT = {\n                        serviceType: ApiAdditionalServiceTypeEnum.carrier,\n                        type: service,\n                        itemCost,\n                        quantity,\n                        cost: quantity * itemCost,\n                    };\n\n                    return carrierService;\n                })\n                .filter(isNonNil),\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [offerAdditionalServiceItems, selectedAdditionalServices]);\n\n    const carrierAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: allAdditionalServiceItems,\n        isAllowBrokerServices: false,\n        isAllowCarrierServices: true,\n        trailingItems: [\n            scrollToAdditionalServices\n                ? {\n                      title: (\n                          <Link theme={LinkThemeEnum.boldBrandDark} onClick={scrollToAdditionalServices}>\n                              {t('common:new-order-offers.add-services')}\n                          </Link>\n                      ),\n                  }\n                : null,\n        ],\n    });\n\n    const brokerAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: allAdditionalServiceItems,\n        isAllowBrokerServices: true,\n        isAllowCarrierServices: false,\n        trailingItems: [\n            scrollToAdditionalServices\n                ? {\n                      title: (\n                          <Link theme={LinkThemeEnum.boldBrandDark} onClick={scrollToAdditionalServices}>\n                              {t('common:new-order-offers.add-services')}\n                          </Link>\n                      ),\n                  }\n                : null,\n        ],\n    });\n\n    const commonPriceDetails = useCommonPriceDetails();\n\n    const laneCostOfOperationPrices: Array<PriceDetailT | null> = React.useMemo(() => {\n        if (!offer) {\n            return [];\n        }\n\n        return [\n            {\n                ...commonPriceDetails.lineHaul,\n                price: offer.priceComponents.lineHaul,\n                footerNode: commonPriceDetails.getAppliedRulesFooterNode(\n                    ['LINE_HAUL'],\n                    offer?.brokerInfo?.appliedRules,\n                ),\n            },\n        ];\n    }, [offer, commonPriceDetails]);\n\n    const laneOtherPrices: Array<PriceDetailT> = React.useMemo(() => {\n        if (!offer || !offer?.priceComponents?.tranziitServiceFee) {\n            return [];\n        }\n\n        return [\n            {\n                ...commonPriceDetails.tranziitServiceFee,\n                price: offer.priceComponents.tranziitServiceFee,\n                footerNode: commonPriceDetails.getAppliedRulesFooterNode(\n                    ['SERVICE_FEE'],\n                    offer?.brokerInfo?.appliedRules,\n                ),\n            },\n        ];\n    }, [offer, commonPriceDetails]);\n\n    const sourceLineHaul = getPriceOfferLineHaul(offer);\n\n    const priceOfferId = offer?.id || null;\n    const customLineHaul = customLineHaulMap?.[priceOfferId as PriceOfferIdT];\n    const { lineHaul, hasChangedLineHaul, lineHaulDiff } = compareLineHaul(sourceLineHaul, customLineHaul);\n\n    const sourceTotalOfferPrice = getOfferTotalPrice(offer);\n\n    const handleChangePrice = React.useCallback(\n        (price: number | null) => {\n            if (!priceOfferId) {\n                logWarning('Failed change price, empty priceOfferId');\n                return;\n            }\n\n            let customLineHaul = price;\n            if (isNumber(price) && isNumber(sourceLineHaul)) {\n                const minAllowedCustomLineHaul = -1 * (sourceTotalOfferPrice - sourceLineHaul);\n                customLineHaul = Math.max(minAllowedCustomLineHaul, price);\n            }\n\n            onChangeCustomLineHaul(priceOfferId, customLineHaul);\n        },\n        [onChangeCustomLineHaul, priceOfferId, sourceTotalOfferPrice, sourceLineHaul],\n    );\n\n    const editableLineHaulPriceDetails = useEditablePriceDetails({\n        sourcePrice: sourceLineHaul,\n        price: lineHaul,\n        onChangePrice: handleChangePrice,\n        i18nKeys: {\n            startEditingTooltip: 'common:price-details.line-haul.start-editing-tooltip',\n            restorePriceTooltip: 'common:price-details.line-haul.restore-tooltip',\n        },\n        isAllowEditPrice: permissions.canEditLineHaulOnOrderCreation,\n    });\n\n    const costOfOperationPrices: Array<PriceDetailT | null> = React.useMemo(() => {\n        if (!offer) {\n            return [];\n        }\n\n        return [\n            {\n                ...commonPriceDetails.lineHaul,\n                ...editableLineHaulPriceDetails,\n                footerNode: commonPriceDetails.getAppliedRulesFooterNode(\n                    ['LINE_HAUL'],\n                    offer?.brokerInfo?.appliedRules,\n                    { isNotActual: hasChangedLineHaul },\n                ),\n            },\n            {\n                ...commonPriceDetails.getRoadTaxesRow(offer.co2),\n                price: offer.priceComponents.toll,\n                footerNode: commonPriceDetails.getAppliedRulesFooterNode(\n                    ['ROAD_TAXES'],\n                    offer?.brokerInfo?.appliedRules,\n                ),\n                list: offer.priceComponents.tollByRoadType\n                    ? [\n                          {\n                              list: ALL_TOLL_TYPES.map((tollType) => {\n                                  const toll = offer.priceComponents.tollByRoadType?.[tollType];\n                                  if (!toll) {\n                                      return null;\n                                  }\n\n                                  const { cost, byCountry } = toll;\n                                  if (isNil(cost)) {\n                                      return null;\n                                  }\n\n                                  const tollTooltip = TOLL_TOOLTIP_MAP_T[tollType];\n\n                                  const appliedRuleTargetMap: Record<TollTypeEnum, ApiRuleTargetT | null> = {\n                                      [TollTypeEnum.general]: 'ROAD_TAXES_GENERAL',\n                                      [TollTypeEnum.city]: 'ROAD_TAXES_CITY',\n                                      [TollTypeEnum.bridge]: 'ROAD_TAXES_BRIDGE',\n                                      [TollTypeEnum.tunnel]: 'ROAD_TAXES_TUNNEL',\n                                      [TollTypeEnum.ferry]: 'ROAD_TAXES_FERRY',\n                                      [TollTypeEnum.mountainPass]: 'ROAD_TAXES_MOUNTAIN_PASS',\n                                      [TollTypeEnum.marketCorrection]: null,\n                                      [TollTypeEnum.intermodal]: null,\n                                      [TollTypeEnum.unspecified]: null,\n                                  };\n                                  const appliedRuleTarget = appliedRuleTargetMap[tollType];\n\n                                  return {\n                                      title: t(TOLL_MAP_T[tollType]),\n                                      tooltipNode: tollTooltip ? (\n                                          <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                                              {t(tollTooltip)}\n                                          </TooltipContent>\n                                      ) : null,\n                                      footerNode: appliedRuleTarget\n                                          ? commonPriceDetails.getAppliedRulesFooterNode(\n                                                [appliedRuleTarget],\n                                                offer?.brokerInfo?.appliedRules,\n                                            )\n                                          : null,\n                                      price: cost,\n                                      list: isEmpty(byCountry)\n                                          ? undefined\n                                          : keys(byCountry).map((countryCode) => {\n                                                const cost = byCountry?.[countryCode];\n\n                                                return {\n                                                    iconNode: <FlagIcon countryCode={countryCode} />,\n                                                    title: (\n                                                        <AsyncCountryFormatter\n                                                            countryCode={countryCode as CountryCodeT}\n                                                        />\n                                                    ),\n                                                    price: cost,\n                                                };\n                                            }),\n                                  };\n                              }),\n                          },\n                      ]\n                    : undefined,\n            },\n            {\n                ...commonPriceDetails.getFuelCostRow(offer.fuelOptionType),\n                price: offer.priceComponents.fuel,\n                footerNode: commonPriceDetails.getAppliedRulesFooterNode(['FUEL'], offer?.brokerInfo?.appliedRules),\n                list: commonPriceDetails.getFuelCostsByCountryList(offer.priceComponents.fuelByCountry),\n            },\n            isNumber(offer.priceComponents.teamDriveCost)\n                ? {\n                      ...commonPriceDetails.getTeamDrive({\n                          travelHours: offer?.teamDriveHours,\n                      }),\n                      price: offer.priceComponents.teamDriveCost || 0,\n                  }\n                : null,\n            checkShouldShowLayover(offer.layoverSeconds, offer.priceComponents.layover)\n                ? {\n                      ...commonPriceDetails.getLayoverCostRow(offer.layoverSeconds, offer.layoverPaidHours),\n                      price: offer.priceComponents.layover || 0,\n                  }\n                : null,\n            carrierAdditionalServicesList?.length\n                ? {\n                      ...commonPriceDetails.getCarrierAdditionalServicesRow(allAdditionalServiceItems),\n                      list: [\n                          {\n                              list: carrierAdditionalServicesList,\n                          },\n                      ],\n                  }\n                : null,\n            brokerAdditionalServicesList?.length\n                ? {\n                      ...commonPriceDetails.getBrokerAdditionalServicesRow(allAdditionalServiceItems),\n                      list: [\n                          {\n                              list: brokerAdditionalServicesList,\n                          },\n                      ],\n                  }\n                : null,\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        offer,\n        allAdditionalServiceItems,\n        carrierAdditionalServicesList,\n        brokerAdditionalServicesList,\n        hasSelectedLane,\n        editableLineHaulPriceDetails,\n        hasChangedLineHaul,\n    ]);\n\n    const otherPrices: Array<PriceDetailT> = React.useMemo(() => {\n        if (!offer) {\n            return [];\n        }\n\n        return [\n            {\n                ...commonPriceDetails.tranziitServiceFee,\n                price: offer.priceComponents.tranziitServiceFee,\n            },\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [offer, commonPriceDetails, t]);\n\n    const brokerPrices = React.useMemo((): Array<PriceDetailT> | null => {\n        if (!offer?.brokerInfo) {\n            return null;\n        }\n\n        const fuelByCountry = Object.keys(offer?.brokerInfo?.fuelPricePerLiterByCountry || {}).map((countryCode) => {\n            const cost = offer?.brokerInfo?.fuelPricePerLiterByCountry?.[countryCode] || 0;\n\n            return {\n                cost,\n                country: countryCode as ApiCountriesT,\n            };\n        });\n\n        return [\n            // {\n            //     title: t('common:new-order-offers.offer.price.broker-info.matrix-rate'),\n            //     // @ts-expect-error TODO wait backend\n            //     price: offer.brokerInfo.matrixRate,\n            //     icon: <RouteIcon fillColor={StyleGuideColorsEnum.slate} />,\n            // },\n            {\n                title: t('common:new-order-offers.offer.price.broker-info.estimated-carrier-rate'),\n                price: offer.priceComponents?.totalRate,\n                iconNode: <RouteIcon fillColor={StyleGuideColorsEnum.slate} />,\n            },\n            {\n                title: t('common:new-order-offers.offer.price.broker-info.min-line-haul-cost'),\n                price: offer.brokerInfo.minLineHaul,\n                iconNode: <RouteIcon fillColor={StyleGuideColorsEnum.slate} />,\n                className: cx('broker-info-row', 'broker-info-row--min-line-haul-cost'),\n            },\n            {\n                title: t('common:new-order-offers.offer.price.broker-info.fuel-weighted-average-price'),\n                rightNode: isNumber(offer.brokerInfo.fuelPricePerLiter) ? (\n                    <UnitTypeCount\n                        className={cx('price')}\n                        types={[UnitTypeEnum.euro4SignificantDigitsAbbreviation, UnitTypeEnum.litersAbbreviation]}\n                        count={offer.brokerInfo.fuelPricePerLiter}\n                    />\n                ) : null,\n                ...(offer?.fuelOptionType\n                    ? {\n                          pillLabelNode: <FuelOptionTypeLabel fuelOption={offer.fuelOptionType} />,\n                          pillLabelTheme: PILL_THEME_BY_FUEL_OPTION_TYPE[offer.fuelOptionType],\n                      }\n                    : {}),\n                iconNode: <FuelIcon strokeColor={StyleGuideColorsEnum.slate} fillColor={StyleGuideColorsEnum.light} />,\n                list: commonPriceDetails.getFuelCostsByCountryList(fuelByCountry),\n                className: cx('broker-info-row', 'broker-info-row--fuel-weighted-average-price'),\n            },\n            {\n                title: t('common:new-order-offers.offer.price.broker-info.layover-rate-per-hour'),\n                price: offer.brokerInfo.maxLayoverPerHour,\n                iconNode: <LayoverIcon {...getLayoverIconProps('regular')} />,\n            },\n            {\n                title: t('common:new-order-offers.offer.price.broker-info.layover-rate-per-day'),\n                price: offer.brokerInfo.maxLayoverPerDay,\n                iconNode: <LayoverIcon {...getLayoverIconProps('regular')} />,\n            },\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [offer, commonPriceDetails, t]);\n\n    const handleSelect = (): void => {\n        if (onSelect && offer) {\n            onSelect(offer);\n        }\n    };\n\n    const costOfOperationRate = offer ? (offer?.priceComponents?.costOfOperation || 0) / offer.distanceKm : null;\n\n    const isAllowEditTotalPrice = permissions.canEditLineHaulOnOrderCreation;\n\n    const [isActiveEditingTotalPrice, setIsActiveEditingTotalPrice] = React.useState<boolean>(false);\n\n    const handleStartEditTotalPrice = React.useCallback(() => {\n        setIsActiveEditingTotalPrice(true);\n    }, []);\n\n    const totalOfferPrice = safetyModifyOfferTotalPrice(\n        sourceTotalOfferPrice,\n        summaryAdditionalServicesPrice,\n        lineHaulDiff,\n    );\n\n    const handleChangeTotalPrice = React.useCallback(\n        (price: number | null) => {\n            const diff = isNumber(price) ? price - sourceTotalOfferPrice : null;\n\n            if (!isNumber(sourceLineHaul)) {\n                logWarning('Failed change total offer price, empty sourceLineHaul');\n                return;\n            }\n\n            const customLineHaul = isNumber(diff) ? sourceLineHaul + diff : null;\n\n            if (!priceOfferId) {\n                logWarning('Failed change total offer price, empty priceOfferId');\n                return;\n            }\n            onChangeCustomLineHaul(priceOfferId, customLineHaul);\n\n            setIsActiveEditingTotalPrice(false);\n        },\n        [priceOfferId, sourceLineHaul, onChangeCustomLineHaul, sourceTotalOfferPrice],\n    );\n\n    if (!offer) {\n        return (\n            <div className={cs(cx('inner'), className)}>\n                <div className={cx('placeholder')}>\n                    <div className={cx('placeholder__column', 'placeholder__column--first')}>\n                        <div className={cx('placeholder__box', 'placeholder__box--price')} />\n                        <div className={cx('placeholder__box', 'placeholder__box--rate')} />\n                    </div>\n                    <div className={cx('placeholder__column', 'placeholder__column--second')} />\n                    <div className={cx('placeholder__column', 'placeholder__column--third')}>\n                        <div className={cx('placeholder__box', 'placeholder__box--dates')} />\n                    </div>\n                </div>\n            </div>\n        );\n    }\n\n    return (\n        <div className={cs(cx('inner'), className)}>\n            {isActiveEditingTotalPrice ? (\n                <EditOfferTotalPriceLayout\n                    sourcePrice={sourceTotalOfferPrice}\n                    price={totalOfferPrice}\n                    onChangePrice={handleChangeTotalPrice}\n                />\n            ) : (\n                <CollapsedOfferDetails\n                    totalOfferPrice={totalOfferPrice}\n                    offer={offer}\n                    onSelect={handleSelect}\n                    onOpenDetails={() => toggleOpenDetails(!isOpenDetails)}\n                    isSelectable={isSelectable}\n                    isSelected={isSelected}\n                    isOpenDetails={isOpenDetails}\n                    isDisabled={offer?.isExpired}\n                    isChangedTotalPrice={hasChangedLineHaul}\n                    isAllowEditTotalPrice={isAllowEditTotalPrice}\n                    onStartEditTotalPrice={handleStartEditTotalPrice}\n                />\n            )}\n            {offer && isOpenDetails && (\n                <div className={cx('price-details')}>\n                    <PriceDetailsHeader\n                        className={cx('price-details__header')}\n                        title={t('common:new-order-offers.offer.price.cost-of-operation')}\n                        rightNode={\n                            <span className={cx('rates')}>\n                                <Money currency={CurrencyEnum.EUR} amount={offer?.priceComponents?.costOfOperation} />\n                                {' ('}\n                                <UnitTypeCount\n                                    types={[UnitTypeEnum.euroAbbreviation, UnitTypeEnum.kilometersAbbreviation]}\n                                    count={costOfOperationRate}\n                                />\n                                )\n                            </span>\n                        }\n                    />\n                    {!!hasSelectedLane && (\n                        <>\n                            <div\n                                className={cx('price-details__list', {\n                                    'price-details__list--isLast': !laneOtherPrices?.length,\n                                })}\n                            >\n                                <PriceDetails list={laneCostOfOperationPrices} />\n                            </div>\n                            {!!laneOtherPrices?.length && (\n                                <div className={cx('price-details__list', 'price-details__list--isLast')}>\n                                    <PriceDetails list={laneOtherPrices} />\n                                </div>\n                            )}\n                        </>\n                    )}\n                    {!hasSelectedLane && (\n                        <>\n                            <div className={cx('price-details__list')}>\n                                <PriceDetails list={costOfOperationPrices} />\n                            </div>\n                            <PriceDetailsHeader title={t('common:new-order-offers.offer.price.other-costs')} />\n                            <div\n                                className={cx('price-details__list', {\n                                    'price-details__list--isLast': !brokerPrices,\n                                })}\n                            >\n                                <PriceDetails list={otherPrices} shouldAlwaysRenderExpandTrigger />\n                            </div>\n                            {brokerPrices && (\n                                <>\n                                    <PriceDetailsHeader title={t('common:new-order-offers.offer.price.price-engine')} />\n                                    <div className={cx('price-details__list', 'price-details__list--isLast')}>\n                                        <PriceDetails list={brokerPrices} />\n                                    </div>\n                                </>\n                            )}\n                        </>\n                    )}\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default OfferDetails;\n","// extracted by mini-css-extract-plugin\nexport default {\"dropdown\":\"GeoSuggest__dropdown___FF5er\",\"triangle\":\"GeoSuggest__triangle___VvR1N\",\"triangle--isHide\":\"GeoSuggest__triangle--isHide___eOXff\",\"triangle--isRed\":\"GeoSuggest__triangle--isRed___C27a_\",\"input\":\"GeoSuggest__input___r_579\",\"trigger\":\"GeoSuggest__trigger___ckZtM\",\"trigger-input\":\"GeoSuggest__trigger-input___r3744\",\"trigger-input--hasIcon\":\"GeoSuggest__trigger-input--hasIcon___Pjhq0\",\"trigger-input--hasClearControl\":\"GeoSuggest__trigger-input--hasClearControl___Xohex\",\"trigger-input--isFocused\":\"GeoSuggest__trigger-input--isFocused___T1Jh0\",\"trigger-input--isDisabled\":\"GeoSuggest__trigger-input--isDisabled___HuXlD\",\"trigger-input--isEmpty\":\"GeoSuggest__trigger-input--isEmpty___zrMW3\",\"trigger-input--hasWarning\":\"GeoSuggest__trigger-input--hasWarning___nDKhW\",\"trigger-input--hasError\":\"GeoSuggest__trigger-input--hasError___juwOQ\",\"trigger-input__icon\":\"GeoSuggest__trigger-input__icon___dMWRf\",\"overlay\":\"GeoSuggest__overlay___GNtGQ\",\"fadeIn\":\"GeoSuggest__fadeIn___b07PL\",\"overlay__option\":\"GeoSuggest__overlay__option___chdzu\",\"overlay__option--isSelected\":\"GeoSuggest__overlay__option--isSelected___tsUzK\",\"right-node\":\"GeoSuggest__right-node___mpy1w\",\"blinking\":\"GeoSuggest__blinking___pjCBz\"};","import React from 'react';\nimport styles from './TimePillLabel.scss';\nimport classNames from 'classnames/bind';\nimport { formatDate } from 'common/utils/time';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    dateTime: ISODateTimeT | null | undefined;\n    className?: string;\n};\n\nconst TimePillLabel: React.FC<PropsT> = (props) => {\n    const { dateTime, className } = props;\n\n    return (\n        <PillLabel isSymmetrical theme={PillLabelThemeEnum.charcoal} className={className}>\n            <span className={cx('text')}>{formatDate('DD MMM YYYY, HH:mm', dateTime)}</span>\n        </PillLabel>\n    );\n};\n\nexport default TimePillLabel;\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { FetchPartnersPageQueryT, PartnerT } from './models';\nimport { ApiInvitePartnerRequestT, ApiPartnerCreationRequestT } from 'common/utils/api/models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_PARTNERS_PAGE_REQUEST = 'broker-admin/partners/FETCH_PARTNERS_PAGE_REQUEST';\nexport const FETCH_PARTNERS_PAGE_REQUEST_BEGIN = 'broker-admin/partners/FETCH_PARTNERS_PAGE_REQUEST_BEGIN';\nexport const FETCH_PARTNERS_PAGE_REQUEST_ERROR = 'broker-admin/partners/FETCH_PARTNERS_PAGE_REQUEST_ERROR';\nexport const FETCH_PARTNERS_PAGE_REQUEST_SUCCESS = 'broker-admin/partners/FETCH_PARTNERS_PAGE_REQUEST_SUCCESS';\nexport const RESET_PARTNERS = 'broker-admin/partners/RESET_PARTNERS';\n\nexport const INVITE_PARTNER_REQUEST = 'broker-admin/partners/INVITE_PARTNER_REQUEST';\nexport const CREATE_PARTNER_REQUEST = 'broker-admin/partners/CREATE_PARTNER_REQUEST';\nexport const CREATE_PARTNER_REQUEST_BEGIN = 'broker-admin/partners/CREATE_PARTNER_REQUEST_BEGIN';\nexport const CREATE_PARTNER_REQUEST_ERROR = 'broker-admin/partners/CREATE_PARTNER_REQUEST_ERROR';\nexport const CREATE_PARTNER_REQUEST_SUCCESS = 'broker-admin/partners/CREATE_PARTNER_REQUEST_SUCCESS';\n\nexport type PartnersStateT = PaginationStateT<PartnerT, FetchPartnersPageQueryT> & {\n    createPartnerRequest: RequestStatusT;\n};\n\nexport type FetchPartnersPageActionT = {\n    type: typeof FETCH_PARTNERS_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchPartnersPageQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchPartnersPageBeginActionT = {\n    type: typeof FETCH_PARTNERS_PAGE_REQUEST_BEGIN;\n    pageNumber: PageNumberT;\n    query: FetchPartnersPageQueryT;\n};\n\nexport type FetchPartnersPageSuccessActionT = {\n    type: typeof FETCH_PARTNERS_PAGE_REQUEST_SUCCESS;\n    pageNumber: PageNumberT;\n    query: FetchPartnersPageQueryT;\n    pageResponse: PageResponseT<PartnerT> | null;\n};\n\nexport type FetchPartnersPageErrorActionT = {\n    type: typeof FETCH_PARTNERS_PAGE_REQUEST_ERROR;\n    query: FetchPartnersPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n};\n\nexport type ResetPartnersActionT = {\n    type: typeof RESET_PARTNERS;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type InvitePartnerRequestActionT = {\n    type: typeof INVITE_PARTNER_REQUEST;\n    data: ApiInvitePartnerRequestT;\n};\n\nexport type CreatePartnerRequestActionT = {\n    type: typeof CREATE_PARTNER_REQUEST;\n    data: ApiPartnerCreationRequestT;\n};\n\nexport type CreatePartnerRequestBeginActionT = {\n    type: typeof CREATE_PARTNER_REQUEST_BEGIN;\n};\n\nexport type CreatePartnerRequestErrorActionT = {\n    type: typeof CREATE_PARTNER_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type CreatePartnerRequestSuccessActionT = {\n    type: typeof CREATE_PARTNER_REQUEST_SUCCESS;\n};\n\nexport type PartnersActionT =\n    | FetchPartnersPageActionT\n    | FetchPartnersPageBeginActionT\n    | FetchPartnersPageSuccessActionT\n    | FetchPartnersPageErrorActionT\n    | ResetPartnersActionT\n    | InvitePartnerRequestActionT\n    | CreatePartnerRequestActionT\n    | CreatePartnerRequestBeginActionT\n    | CreatePartnerRequestErrorActionT\n    | CreatePartnerRequestSuccessActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"route\":\"EntitySidebarSkeleton__route___Oy7bn\",\"skeleton__box\":\"EntitySidebarSkeleton__skeleton__box___yYLfv\",\"skeleton__box--first\":\"EntitySidebarSkeleton__skeleton__box--first___isIu7\",\"skeleton__box--secondary\":\"EntitySidebarSkeleton__skeleton__box--secondary___bvJbI\",\"fadeIn\":\"EntitySidebarSkeleton__fadeIn___bNOiM\",\"blinking\":\"EntitySidebarSkeleton__blinking___P8s26\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    opacity?: number;\n};\n\nconst StopIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, opacity, className, size } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path fill={fillColor} opacity={opacity || 1} d=\"M5 5h10v10H5z\" />\n            </g>\n        </svg>\n    );\n};\n\nStopIcon.displayName = 'StopIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.tomatoRed,\n    opacity: 1,\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default StopIcon;\n","import { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\n\nexport const getOrderId = (brokerOrderDetails: BrokerOrderDetailsT | null): OrderIdT | null => {\n    return brokerOrderDetails?.id || null;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"textarea\":\"RejectDocumentConfirmation__textarea___xS0q1\",\"fadeIn\":\"RejectDocumentConfirmation__fadeIn___jVsli\",\"blinking\":\"RejectDocumentConfirmation__blinking___XmX02\"};","// extracted by mini-css-extract-plugin\nexport default {\"table--id\":\"ShipmentDetailsCard__table--id___P4q1O\",\"table--po\":\"ShipmentDetailsCard__table--po___RQBcF\",\"table--point\":\"ShipmentDetailsCard__table--point___ZThva\",\"table--shipment\":\"ShipmentDetailsCard__table--shipment___gfei9\",\"table\":\"ShipmentDetailsCard__table___S3ywv\",\"fadeIn\":\"ShipmentDetailsCard__fadeIn___AceQb\",\"blinking\":\"ShipmentDetailsCard__blinking___Tu8nR\"};","import { BrokerTourStateT } from './slice';\nimport { StateT } from '../models';\n\nexport const selectBrokerToursPages = (state: StateT): BrokerTourStateT['pages'] => state.brokerTours.pages;\n\nexport const selectBrokerToursQuery = (state: StateT): BrokerTourStateT['query'] => state.brokerTours.query;\n\nexport const selectBrokerToursTotal = (state: StateT): BrokerTourStateT['total'] => state.brokerTours.total;\n\nexport const selectBrokerToursByIds = (state: StateT): BrokerTourStateT['byId'] => state.brokerTours.byId;\n","import * as React from 'react';\n\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { ImportXLSAssetsDialogModalDataT } from '../ImportXLSAssetsDialogModal';\nimport { pickFile } from 'common/utils/pick-file';\n\nexport const useImportXLSAssetsModalDialog = () => {\n    const modalDialog = useModalDialog<ImportXLSAssetsDialogModalDataT>();\n\n    return React.useMemo(() => {\n        return {\n            ...modalDialog,\n            onStartImportXLS: () => {\n                pickFile(\n                    '.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel',\n                    (file) => {\n                        modalDialog.setData({\n                            file,\n                        });\n                    },\n                );\n            },\n        };\n    }, [modalDialog]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"BrokerOrderTable__table__header___MFzQA\",\"table__header--id\":\"BrokerOrderTable__table__header--id___MQxSk\",\"table__column\":\"BrokerOrderTable__table__column___WK7zy\",\"table__column--id\":\"BrokerOrderTable__table__column--id___dJBNy\",\"table__column--created\":\"BrokerOrderTable__table__column--created___gYBPj\",\"table__column--status\":\"BrokerOrderTable__table__column--status___hya6M\",\"table__column--dropoff\":\"BrokerOrderTable__table__column--dropoff___we7h8\",\"table__column--pickup\":\"BrokerOrderTable__table__column--pickup___dCQGY\",\"table__column--has-warnings\":\"BrokerOrderTable__table__column--has-warnings___PRi8b\",\"fadeIn\":\"BrokerOrderTable__fadeIn___nKupH\",\"blinking\":\"BrokerOrderTable__blinking___qnhPA\"};","import { SharableStateT } from '../models';\nimport {\n    initialPartnerShipperContractsState,\n    PartnerShipperContractStateT,\n} from 'common/store/shipper-contracts/slice';\n\nconst selectCompanyState = (state: SharableStateT, partnerId: PartnerIdT | null): PartnerShipperContractStateT => {\n    if (!partnerId) {\n        return initialPartnerShipperContractsState;\n    }\n\n    return state.shipperContracts[partnerId] || initialPartnerShipperContractsState;\n};\n\nexport const selectShipperContractsPages = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): PartnerShipperContractStateT['pages'] => {\n        return selectCompanyState(state, partnerId).pages;\n    };\n};\n\nexport const selectShipperContractsQuery = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): PartnerShipperContractStateT['query'] => selectCompanyState(state, partnerId).query;\n};\n\nexport const selectShipperContractsTotal = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): PartnerShipperContractStateT['total'] => selectCompanyState(state, partnerId).total;\n};\n\nexport const selectShipperContractsByIds = (partnerId: PartnerIdT | null) => {\n    return (state: SharableStateT): PartnerShipperContractStateT['byId'] => selectCompanyState(state, partnerId).byId;\n};\n","import * as React from 'react';\nimport { Route, Switch } from 'react-router-dom';\n\nimport { OMSRoutesEnum, routesEnum } from 'broker-admin/constants';\nimport NewOrderPage from 'common/layouts/NewOrderPage/NewOrderPage';\nimport history from 'common/utils/history';\n\ntype PropsT = {};\n\nconst OrdersPage: React.FC<PropsT> = React.memo(() => {\n    return (\n        <Switch>\n            <Route path={OMSRoutesEnum.newOrder}>\n                <NewOrderPage\n                    isBroker\n                    onClose={() => {\n                        history.push({\n                            pathname: routesEnum.home,\n                        });\n                    }}\n                />\n            </Route>\n        </Switch>\n    );\n});\n\nexport default OrdersPage;\n","import * as React from 'react';\nimport { ApiTrailerDictTypeT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    trailerDictType?: Pick<\n        ApiTrailerDictTypeT,\n        'length' | 'model' | 'eur1Pallets' | 'eur2Pallets' | 'eur6Pallets'\n    > | null;\n};\n\nconst SimpleTrailerTypeFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { trailerDictType } = props;\n\n    const { t } = useTranslation();\n\n    if (!trailerDictType) {\n        return null;\n    }\n\n    return (\n        <span>\n            {t('common:trailer-subtype-template', {\n                length: trailerDictType?.length,\n                model: trailerDictType?.model,\n                eur1Pallets: trailerDictType?.eur1Pallets,\n                eur2Pallets: trailerDictType?.eur2Pallets,\n            })}\n        </span>\n    );\n});\n\nexport default SimpleTrailerTypeFormatter;\n","import { FieldsEnum, FormErrorsT, RoutePointFieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport { checkIsTranziitApiErrorResponse } from 'common/utils/api/tranziit/errors/error-response';\nimport set from 'lodash/set';\nimport { TFunction } from 'i18next';\n\nconst asyncValidate = (t: TFunction, requestError: RequestStatusT): FormErrorsT => {\n    const { error } = requestError;\n\n    const asyncErrors: FormErrorsT = {};\n\n    if (!checkIsTranziitApiRequestError(error)) {\n        return asyncErrors;\n    }\n\n    if (\n        checkIsTranziitApiErrorResponse(\n            error,\n            TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteNotFound,\n        )\n    ) {\n        error?.response?.indexes?.forEach((index) => {\n            set(\n                asyncErrors,\n                `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.location}`,\n                t('common:new-order-form.async-errors.route-not-found'),\n            );\n        });\n    }\n\n    if (\n        checkIsTranziitApiErrorResponse(\n            error,\n            TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteWaypointNotLinkable,\n        )\n    ) {\n        error?.response?.indexes?.forEach((index) => {\n            set(\n                asyncErrors,\n                `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.location}`,\n                t('common:new-order-form.async-errors.route-waypoint-not-linkable'),\n            );\n        });\n    }\n\n    if (\n        checkIsTranziitApiErrorResponse(\n            error,\n            TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_ProhibitedCountry,\n        )\n    ) {\n        error?.response?.indexes?.forEach((index) => {\n            set(\n                asyncErrors,\n                `${FieldsEnum.route}.${index}.${RoutePointFieldsEnum.location}`,\n                t('common:new-order-form.errors.unsupported-country'),\n            );\n        });\n    }\n\n    if (\n        checkIsTranziitApiErrorResponse(\n            error,\n            TranziitApiRequestErrorSubTypeEnum.orderCreation_ShipperNotAllowedToHaveNewOrders,\n        )\n    ) {\n        asyncErrors[FieldsEnum.shipper] = t(\n            'common:new-order-form.async-errors.shipper-not-allowed-to-have-new-orders',\n        );\n    }\n\n    if (checkIsTranziitApiErrorResponse(error, TranziitApiRequestErrorSubTypeEnum.orderCreation_ShipperNotAvailable)) {\n        asyncErrors[FieldsEnum.shipper] = t('common:new-order-form.async-errors.shipper-not-available');\n    }\n\n    return asyncErrors;\n};\n\nexport default asyncValidate;\n","// extracted by mini-css-extract-plugin\nexport default {\"action--assign\":\"StartAssignmentFooter__action--assign___oRUVu\",\"fadeIn\":\"StartAssignmentFooter__fadeIn___SjiDQ\",\"blinking\":\"StartAssignmentFooter__blinking___vx9A9\"};","import { BaseAuthService } from './base-auth-service';\nimport { FirebaseAuthService, tryParseFirebaseConfig } from './firebase-auth-service';\nimport { KeycloakAuthService, tryParseKeycloakConfig, tryParseInitRedirectMode } from './keycloak-auth-service';\n\nclass AuthApiFactory {\n    public static createAuthAPI = (): BaseAuthService => {\n        // TODO add condition\n        if (false) {\n            const firebaseConfig = tryParseFirebaseConfig();\n            return new FirebaseAuthService(firebaseConfig);\n        }\n\n        const keycloakConfig = tryParseKeycloakConfig();\n        const initRedirectMode = tryParseInitRedirectMode();\n\n        return new KeycloakAuthService(keycloakConfig, initRedirectMode);\n    };\n}\n\n// singleton\nconst authApi = AuthApiFactory.createAuthAPI();\n\nexport { authApi };\n","import deepEqual from 'deep-equal';\nimport { EntityConverterT, PageResponseT } from './models';\nimport isNumber from 'lodash/isNumber';\nimport { ViewEventChannel } from 'common/utils/view-event-channel';\n\nconst checkIsSameQuery = <Q>(queryA: Q, queryB: Q): boolean => {\n    return deepEqual(queryA || {}, queryB || {});\n};\n\nconst convertPageEntities = <E, F>(\n    pageResponse: PageResponseT<E> | null,\n    converter: EntityConverterT<E, F>,\n): PageResponseT<F> => {\n    return {\n        ...(pageResponse || {}),\n        content: (pageResponse?.content || []).map((entity) => converter(entity)),\n    };\n};\n\ntype AnyPaginationChannelT = ViewEventChannel<{\n    pageNumber: number;\n}>;\n\nconst checkShouldEmitChangePage = <E, F extends AnyPaginationChannelT>(\n    currentPage: number,\n    pageResponse: PageResponseT<E> | null,\n    channel: F,\n) => {\n    if (!pageResponse) {\n        return;\n    }\n\n    const { totalPages } = pageResponse;\n    if (!isNumber(totalPages)) {\n        return;\n    }\n\n    if (totalPages === 0 && currentPage === 0) {\n        // empty state, skip\n        return;\n    }\n\n    if (currentPage >= totalPages) {\n        channel.emit({\n            pageNumber: Math.max(totalPages - 1, 0),\n        });\n    }\n};\n\nexport { checkIsSameQuery, convertPageEntities, checkShouldEmitChangePage };\n","import React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst WeightIcon: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <path\n                fill={fillColor}\n                fillRule=\"evenodd\"\n                d=\"M17.976 16.091L16.52 7.747c-.137-.787-.847-1.362-1.68-1.362h-2.187c.256-.428.403-.925.403-1.454C13.056 3.315 11.686 2 10 2 8.315 2 6.943 3.315 6.943 4.931c0 .529.147 1.026.404 1.454H5.158c-.831 0-1.542.576-1.679 1.363l-1.456 8.345c-.082.473.057.96.38 1.326a1.74 1.74 0 001.3.581h12.595c.501 0 .976-.215 1.3-.58.323-.368.462-.855.378-1.329zM10 3.708c.703 0 1.276.549 1.276 1.223 0 .675-.573 1.224-1.276 1.224-.704 0-1.276-.55-1.276-1.224 0-.675.572-1.223 1.276-1.223z\"\n            />\n        </svg>\n    );\n};\n\nWeightIcon.displayName = 'WeightIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\nexport default WeightIcon;\n\nexport const WeightIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                fillColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                fillColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                fillColor: StyleGuideColorsEnum.brandAccent,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                fillColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.charcoal : StyleGuideColorsEnum.gray,\n        };\n    },\n};\n","import {\n    SpotRequestsActionT,\n    SpotRequestsStateT,\n    FETCH_SPOT_REQUESTS_PAGE_REQUEST_BEGIN,\n    FETCH_SPOT_REQUESTS_PAGE_REQUEST_ERROR,\n    FETCH_SPOT_REQUESTS_PAGE_REQUEST_SUCCESS,\n    RESET_SPOT_REQUESTS,\n} from './types';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: SpotRequestsStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n};\n\nexport default (state = initialState, action: SpotRequestsActionT | DestroySessionActionT): SpotRequestsStateT => {\n    switch (action.type) {\n        case FETCH_SPOT_REQUESTS_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query } = action;\n\n            return {\n                ...state,\n                ...pageBeginReducer(state, pageNumber, query),\n            };\n        }\n        case FETCH_SPOT_REQUESTS_PAGE_REQUEST_SUCCESS: {\n            const { query, pageNumber, pageResponse } = action;\n\n            return {\n                ...state,\n                ...pageSuccessReducer(state, pageNumber, query, pageResponse),\n            };\n        }\n        case FETCH_SPOT_REQUESTS_PAGE_REQUEST_ERROR: {\n            const { query, error, pageNumber } = action;\n\n            return {\n                ...state,\n                ...pageErrorReducer(state, pageNumber, query, error),\n            };\n        }\n\n        case RESET_SPOT_REQUESTS: {\n            const { mutationListOptions } = action;\n\n            return {\n                ...initialState,\n                ...resetPagesCacheReducer(initialState, state, mutationListOptions),\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return {\n                ...initialState,\n            };\n        }\n        default:\n            return state;\n    }\n};\n","import AutocompleteSessionToken = google.maps.places.AutocompleteSessionToken;\n\nconst MIN_QUERY_LENGTH = 3;\n\ntype QueryT = string;\n\nclass GoogleMapsAutocompleteApi {\n    private maps: MapsT | null;\n\n    private sessionToken: AutocompleteSessionToken | null;\n\n    constructor(maps: MapsT | null | undefined) {\n        this.maps = maps || null;\n\n        if (maps) {\n            this.sessionToken = new maps.places.AutocompleteSessionToken();\n        } else {\n            this.sessionToken = null;\n        }\n    }\n\n    getQueryPredictions = async (\n        query: QueryT | null,\n        mapBounds: MapBoundsT,\n    ): Promise<[QueryT | null, google.maps.places.QueryAutocompletePrediction[]]> => {\n        const { maps, sessionToken } = this;\n\n        if (!maps || !sessionToken) {\n            return [query, []];\n        }\n\n        if (!query || query.length < MIN_QUERY_LENGTH) {\n            return [query, []];\n        }\n\n        const bounds = new maps.LatLngBounds(new maps.LatLng(...mapBounds[0]), new maps.LatLng(...mapBounds[1]));\n\n        const request = {\n            input: query,\n            sessionToken,\n            bounds,\n        };\n\n        return new Promise((resolve) => {\n            // @ts-expect-error\n            const autocompleteService = new maps.places.AutocompleteService();\n            autocompleteService.getQueryPredictions(\n                request,\n                (\n                    results: google.maps.places.QueryAutocompletePrediction[],\n                    status: google.maps.places.PlacesServiceStatus,\n                ) => {\n                    if (status !== 'OK') {\n                        return;\n                    }\n\n                    resolve([query, results]);\n                },\n            );\n        });\n    };\n}\n\nexport { GoogleMapsAutocompleteApi };\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const shipperContractLanesRefreshChannel = new ViewEventChannel<{}>();\n\nexport const shipperContractLanesPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import { StyleGuideColorsEnum } from 'common/constants';\n\nexport default (utilizationPercent: number | null): StyleGuideColorsEnum => {\n    if (utilizationPercent === null) {\n        return StyleGuideColorsEnum.tomatoRed;\n    }\n\n    if (utilizationPercent > 80) {\n        return StyleGuideColorsEnum.brandAccent;\n    }\n\n    if (utilizationPercent > 50) {\n        return StyleGuideColorsEnum.orange;\n    }\n\n    return StyleGuideColorsEnum.tomatoRed;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"TimeLeftForStart__content___FRS4M\",\"status-wrap\":\"TimeLeftForStart__status-wrap___nAQmw\",\"actions\":\"TimeLeftForStart__actions___swO5P\",\"fadeIn\":\"TimeLeftForStart__fadeIn___Ege7z\",\"blinking\":\"TimeLeftForStart__blinking___O2KDl\"};","import * as React from 'react';\n\nimport moment from 'moment';\nimport classNames from 'classnames/bind';\n\nimport styles from './NotificationLayout.scss';\nimport { AnyNotificationT, NotificationViewT } from 'common/store/notifications/models';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = NotificationViewT & {\n    source: AnyNotificationT;\n    onClick?: () => void;\n} & {\n    id: NotificationIdT | null;\n};\n\nconst NotificationLayout: React.FC<PropsT> = React.memo((props) => {\n    const { id, emotion, text, source, onClick } = props;\n\n    return (\n        <div\n            className={cx('wrap', {\n                'wrap--has-emotion': !!emotion,\n                [`wrap--emotion-${emotion}`]: true,\n                'wrap--is-clickable': !!onClick,\n            })}\n            onClick={onClick}\n        >\n            {id && (\n                <div\n                    className={cx('id')}\n                    onClick={(event) => {\n                        // selection text for copy\n                        event.stopPropagation();\n                    }}\n                >\n                    ID: {id}\n                </div>\n            )}\n            {text}\n            <div className={cx('time')}>\n                {source.timestamp ? moment(source.timestamp).format('DD MMM YYYY, HH:mm') : null}\n            </div>\n        </div>\n    );\n});\n\nexport default NotificationLayout;\n","import { ApiDictDocumentT, DocumentRequiredEnum, DocumentTypeEnum } from 'common/utils/api/models';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\n\nconst prepareDictDocument = (rawDocument: ApiDictDocumentT): DictDocumentT => {\n    return {\n        // documentType may become non-unique in the future, so it's better to leave the fake id\n        // @ts-expect-error kekw\n        id: String(rawDocument.id) || String(rawDocument.documentType),\n        type: rawDocument.documentType as DocumentTypeEnum,\n        required: rawDocument.required as DocumentRequiredEnum,\n        name: rawDocument.name || '',\n    };\n};\n\nexport default prepareDictDocument;\n","import * as React from 'react';\nimport styles from './TraceIdLabel.scss';\nimport classNames from 'classnames/bind';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    traceId: TraceIdT | null;\n};\n\nconst TraceIdLabel: React.FC<PropsT> = React.memo((props) => {\n    const { traceId } = props;\n\n    if (!traceId) {\n        return null;\n    }\n\n    return (\n        <>\n            <span>Trace ID:</span>\n            <span className={cx('trace-id')}>{traceId}</span>\n        </>\n    );\n});\n\nexport { TraceIdLabel };\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"DocumentsTable__table___pgohl\",\"header\":\"DocumentsTable__header___GYFOP\",\"header--mod-center\":\"DocumentsTable__header--mod-center___AIdvx\",\"row\":\"DocumentsTable__row___uFc_2\",\"row--theme-empty\":\"DocumentsTable__row--theme-empty___GCN5x\",\"row--theme-normal\":\"DocumentsTable__row--theme-normal___ZXMyP\",\"row--hasLeftGreenBorder\":\"DocumentsTable__row--hasLeftGreenBorder___oRaSD\",\"row--hasLeftRedBorder\":\"DocumentsTable__row--hasLeftRedBorder___meQ8B\",\"row--hasLeftGreyBorder\":\"DocumentsTable__row--hasLeftGreyBorder___c8Kae\",\"row--hasLeftOrangeBorder\":\"DocumentsTable__row--hasLeftOrangeBorder___JUs6c\",\"line-loader-container\":\"DocumentsTable__line-loader-container___SefEB\",\"fadeIn\":\"DocumentsTable__fadeIn___yqarC\",\"blinking\":\"DocumentsTable__blinking___UOPpG\"};","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"PartnersTable__table__header___tgWbQ\",\"table__header--name\":\"PartnersTable__table__header--name___wZoWW\",\"table__header--teams\":\"PartnersTable__table__header--teams___lAMrV\",\"table__header--warnings\":\"PartnersTable__table__header--warnings___T39Xh\",\"table__header--type\":\"PartnersTable__table__header--type___NVLTU\",\"table__column--name\":\"PartnersTable__table__column--name___qgx11\",\"table__column--any\":\"PartnersTable__table__column--any___xetLG\",\"table__column--сontact\":\"PartnersTable__table__column--сontact___kCGXX\",\"table__column--type\":\"PartnersTable__table__column--type___MCT6S\",\"table__column--teams\":\"PartnersTable__table__column--teams___m_RhE\",\"table__column--warnings\":\"PartnersTable__table__column--warnings___b7Cud\",\"table__column--last-warnings\":\"PartnersTable__table__column--last-warnings___Wun4n\",\"table__column--controls\":\"PartnersTable__table__column--controls___kKuK7\",\"lock\":\"PartnersTable__lock___asmrk\",\"fadeIn\":\"PartnersTable__fadeIn___i6Rs2\",\"blinking\":\"PartnersTable__blinking___Y5Q__\"};","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { MS_IN_HOUR } from 'common/utils/time';\nimport { convertSecToMin } from 'common/utils/form-value-converters';\n\nconst getInitialValues = (systemSettings: SystemSettingsT | null | undefined): FormValuesT => {\n    const startBrokerWorkingHoursH = parseSimpleNumber(systemSettings?.BROKER_DAY_START_HOURS || '') || 0;\n    const endBrokerWorkingHoursH = parseSimpleNumber(systemSettings?.BROKER_DAY_END_HOURS || '') || 0;\n\n    return {\n        [FieldsEnum.urgentOrderProcessingDelay]: systemSettings?.URGENT_ORDER_PROCESSING_DELAY || '',\n        [FieldsEnum.regularOrderProcessingDelay]: systemSettings?.REGULAR_ORDER_PROCESSING_DELAY || '',\n        [FieldsEnum.minWindowSize]: convertSecToMin(systemSettings?.MIN_WINDOW_SIZE || ''),\n        [FieldsEnum.maxWindowSize]: convertSecToMin(systemSettings?.MAX_WINDOW_SIZE || ''),\n        [FieldsEnum.brokerWorkingHours]: [startBrokerWorkingHoursH * MS_IN_HOUR, endBrokerWorkingHoursH * MS_IN_HOUR],\n        [FieldsEnum.orderCreationSeconds]: systemSettings?.ORDER_CREATION_SECONDS || '',\n        [FieldsEnum.quantumMinutes]: systemSettings?.QUANTUM_MINUTES || '',\n        [FieldsEnum.mapPrecisionDelta]: systemSettings?.MAP_PRECISION_DELTA || '',\n        [FieldsEnum.hvoEmissionPercent]: systemSettings?.HVO_EMISSION_PERCENT || '',\n    };\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\nimport Link, { LinkPropsT, LinkThemeEnum } from 'common/components/Link/Link';\n\ntype PropsT =\n    | {\n          assetId: AssetIdT | null | undefined;\n          onOpenAssetDetails: (assetId: AssetIdT) => void;\n      }\n    | {\n          to: LinkPropsT['to'] | null | undefined;\n      };\n\nconst AssetLinkFormatter: React.FC<PropsT> = React.memo((props) => {\n    if ('to' in props && props.to) {\n        return (\n            <Link to={props.to} theme={LinkThemeEnum.boldBrandDark}>\n                {props.children}\n            </Link>\n        );\n    }\n\n    if ('assetId' in props && props.assetId) {\n        return (\n            <Link\n                onClick={() => {\n                    if (!props.assetId) {\n                        return;\n                    }\n\n                    props.onOpenAssetDetails(props.assetId);\n                }}\n                theme={LinkThemeEnum.boldBrandDark}\n            >\n                {props.children}\n            </Link>\n        );\n    }\n\n    return <span>{props.children}</span>;\n});\n\nexport default AssetLinkFormatter;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"ContractMultipleDropdown__option___ivqQw\",\"contract-name\":\"ContractMultipleDropdown__contract-name___Seh3k\",\"fadeIn\":\"ContractMultipleDropdown__fadeIn___zXYZE\",\"blinking\":\"ContractMultipleDropdown__blinking___QxL3Q\"};","import {\n    COUNTRY_SETTINGS_DICT_REQUEST,\n    COUNTRY_SETTINGS_DICT_REQUEST_BEGIN,\n    COUNTRY_SETTINGS_DICT_REQUEST_ERROR,\n    COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS,\n    FetchCountrySettingsDictActionT,\n    FetchCountrySettingsDictBeginActionT,\n    FetchCountrySettingsDictErrorActionT,\n    FetchCountrySettingsDictSuccessActionT,\n} from './types';\nimport { CountrySettingsT } from './models';\n\nexport const fetchCountrySettingsDict = (): FetchCountrySettingsDictActionT => ({\n    type: COUNTRY_SETTINGS_DICT_REQUEST,\n});\n\nexport const fetchCountrySettingsDictBegin = (): FetchCountrySettingsDictBeginActionT => ({\n    type: COUNTRY_SETTINGS_DICT_REQUEST_BEGIN,\n});\n\nexport const fetchCountrySettingsDictSuccess = (\n    list: Array<CountrySettingsT>,\n): FetchCountrySettingsDictSuccessActionT => ({\n    type: COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS,\n    list,\n});\n\nexport const fetchCountrySettingsDictError = (error: Error): FetchCountrySettingsDictErrorActionT => ({\n    type: COUNTRY_SETTINGS_DICT_REQUEST_ERROR,\n    error,\n});\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CountryDropdown.scss';\nimport { useTranslation } from 'react-i18next';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport {\n    selectCountriesAllCodes,\n    selectCountriesByCode,\n    selectCountriesDictRequest,\n} from 'common/store/countries-dict/selectors';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport CountryFlagPlaceholderOption from 'common/components/dropdowns/options/CountryFlagPlaceholderOption/CountryFlagPlaceholderOption';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport DeprecatedCountyFlagLabel from 'common/components/DeprecatedCountyFlagLabel/DeprecatedCountyFlagLabel';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = CountryCodeT | null;\ntype OptionT = CountryCodeT;\n\ntype PropsT = {\n    onChange: (countryCode: ValueT) => void;\n    value?: ValueT;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChanges?: boolean;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    onReset?: () => void;\n    placeholder?: string;\n    inputPlaceholder?: string;\n    testSelector?: string;\n};\n\nconst CountryDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        onChange,\n        value,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        hasChanges,\n        onBlur,\n        onFocus,\n        onReset,\n        testSelector,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [query, setQuery] = React.useState<string>('');\n\n    const fetchRequest = useSelector(selectCountriesDictRequest);\n    const allCodes = useSelector(selectCountriesAllCodes);\n    const byCode = useSelector(selectCountriesByCode);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const renderOption = (countryCode: CountryCodeT | null | undefined, placeholder?: string): React.ReactElement => {\n        if (!countryCode && placeholder) {\n            return <CountryFlagPlaceholderOption label={placeholder} />;\n        }\n\n        const country = countryCode ? byCode[countryCode] : null;\n\n        return <DeprecatedCountyFlagLabel country={country} />;\n    };\n\n    const getOptionValue = (option: CountryCodeT): CountryCodeT => option;\n\n    const handleOptionClick = (countryCode: CountryCodeT | null) => {\n        onChange(countryCode);\n    };\n\n    const filteredCodes = React.useMemo(() => {\n        const clearedQuery = query.toLowerCase().replace(/ /g, '').trim();\n        if (!clearedQuery) {\n            return allCodes;\n        }\n\n        return allCodes.filter((countryCode) => {\n            const country = countryCode ? byCode[countryCode] : null;\n\n            return [country?.userLangDisplayName, country?.language, country?.langCode, country?.code].some((text) =>\n                text?.toLowerCase().replace(/ /g, '').includes(clearedQuery),\n            );\n        });\n    }, [allCodes, query, byCode]);\n\n    const placeholder = props.placeholder || t('common:common-components.country-selector.placeholder');\n    const inputPlaceholder = props.inputPlaceholder || t('common:common-components.country-selector.input-placeholder');\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT | null>\n            className={className}\n            selectedValue={value || null}\n            placeholder={placeholder}\n            inputPlaceholder={inputPlaceholder}\n            options={filteredCodes}\n            onSelect={handleOptionClick}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            isDisabled={!fetchRequest.ok}\n            isLoading={fetchRequest.loading}\n            testSelector={`${testSelector}_country`}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            onReset={onReset}\n            onChangeQuery={setQuery}\n        />\n    );\n});\n\nexport default CountryDropdown;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RuleStateControl.scss';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useTranslation } from 'react-i18next';\nimport DropdownControlTriggerLabel from 'design-system/components/dropdowns/option/DropdownControlTriggerLabel/DropdownControlTriggerLabel';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport { PriceSettingsRuleStateEnum } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = PriceSettingsRuleStateEnum | null;\n\ntype PropsT = {\n    value: ValueT;\n    onSelect: (type: ValueT) => void;\n    className?: string;\n};\n\nexport const PRICE_RULE_STATE_I18N_MAP: Record<PriceSettingsRuleStateEnum, string> = {\n    [PriceSettingsRuleStateEnum.activated]: 'price-settings.rules.filters.fields.state.activated',\n    [PriceSettingsRuleStateEnum.deactivated]: 'price-settings.rules.filters.fields.state.deactivated',\n};\n\nconst RuleStateControl: React.FC<PropsT> = (props) => {\n    const { value, onSelect, className } = props;\n\n    const { t } = useTranslation();\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum> = React.useMemo(\n        () => [\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={value === null}\n                        label={t('price-settings.rules.filters.fields.state.all')}\n                    />\n                ),\n                onSelect: () => onSelect(null),\n            },\n            SpecialOptionEnum.separator,\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={value === PriceSettingsRuleStateEnum.activated}\n                        label={t(PRICE_RULE_STATE_I18N_MAP[PriceSettingsRuleStateEnum.activated])}\n                    />\n                ),\n                onSelect: () => onSelect(PriceSettingsRuleStateEnum.activated),\n            },\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withSelectedCheck\n                        isSelected={value === PriceSettingsRuleStateEnum.deactivated}\n                        label={t(PRICE_RULE_STATE_I18N_MAP[PriceSettingsRuleStateEnum.deactivated])}\n                    />\n                ),\n                onSelect: () => onSelect(PriceSettingsRuleStateEnum.deactivated),\n            },\n        ],\n        [t, value, onSelect],\n    );\n\n    let triggerNode: React.ReactNode = null;\n    if (value === null) {\n        triggerNode = <DropdownControlTriggerLabel label={t('price-settings.rules.filters.fields.state.all')} />;\n    }\n\n    if (value === PriceSettingsRuleStateEnum.activated) {\n        triggerNode = <DropdownControlTriggerLabel label={t('price-settings.rules.filters.fields.state.activated')} />;\n    }\n\n    if (value === PriceSettingsRuleStateEnum.deactivated) {\n        triggerNode = (\n            <DropdownControlTriggerLabel label={t('price-settings.rules.filters.fields.state.deactivated')} />\n        );\n    }\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    label={triggerNode}\n                    isPressed={isActive}\n                    onClick={onClick}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                    rightIcon={<ArrowsIcon />}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default RuleStateControl;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const carrierContractDetailsRefreshChannel = new ViewEventChannel<{\n    contractId: CarrierContractIdT;\n}>();\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT, RoutePointFieldsEnum } from './constants';\nimport { CountrySettingsByCodeT } from 'common/store/country-settings-dict/models';\nimport { checkIsAvailableCountryForShip } from 'common/store/country-settings-dict/utils/check-location';\n\ntype MetaT = {\n    countriesSettingsByCode: CountrySettingsByCodeT;\n};\n\nconst verifyLocation = (t: TFunction, location: LocationT | undefined | null): string | null => {\n    if (!location) {\n        return null;\n    }\n\n    if (Number.isNaN(location.utcOffsetMinutes)) {\n        return t('broker-order-route-edit.errors.wrong-utc-offset');\n    }\n\n    if (\n        !location.addressComponents?.zipCode &&\n        !location.addressComponents?.city &&\n        !location.addressComponents?.countryCode &&\n        !location.addressComponents?.street1 &&\n        !location.addressComponents?.street2\n    ) {\n        return t('broker-order-route-edit.errors.unsupported-area');\n    }\n\n    if (!location.addressComponents?.countryCode) {\n        return t('broker-order-route-edit.errors.need-address-details.country-code');\n    }\n\n    if (!location.addressComponents?.city) {\n        return t('broker-order-route-edit.errors.need-address-details.locality');\n    }\n\n    return null;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, meta: MetaT): FormErrorsT => {\n    const { countriesSettingsByCode } = meta;\n\n    const errors: FormErrorsT = {};\n\n    const routeFormValue = values[FieldsEnum.route];\n    routeFormValue.forEach((routePointFormValue, routePointIndex) => {\n        const addRoutePointError = (fieldName: RoutePointFieldsEnum, message: string) => {\n            if (!errors[FieldsEnum.route]) {\n                errors[FieldsEnum.route] = [];\n            }\n\n            if (!errors[FieldsEnum.route][routePointIndex]) {\n                errors[FieldsEnum.route][routePointIndex] = {};\n            }\n\n            errors[FieldsEnum.route][routePointIndex][fieldName] = message;\n        };\n\n        const routePointLocation = routeFormValue[routePointIndex][RoutePointFieldsEnum.location];\n        if (!routePointLocation) {\n            addRoutePointError(RoutePointFieldsEnum.location, t('broker-order-route-edit.errors.required-select-item'));\n        }\n\n        const routePointLocationError = verifyLocation(t, routePointLocation);\n        if (routePointLocation && routePointLocationError) {\n            addRoutePointError(RoutePointFieldsEnum.location, routePointLocationError);\n        }\n\n        if (!checkIsAvailableCountryForShip(routePointLocation, countriesSettingsByCode)) {\n            addRoutePointError(RoutePointFieldsEnum.location, t('broker-order-route-edit.errors.unsupported-country'));\n        }\n    });\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\n\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\n\nimport classNames from 'classnames/bind';\nimport styles from './AccountPage.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AccountPreview from './AccountPreview/AccountPreview';\nimport { selectCurrentUser, selectPatchUserRequestStatus } from 'common/store/user/selectors';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport LanguageSwitcher from 'common/components/LanguageSwitcher/LanguageSwitcher';\nimport withWidgetChangesDetector from 'common/components/SaveChangesNotification/withWidgetChangesDetector';\nimport { patchUser } from 'common/store/user/actions';\nimport { selectUser } from 'common/store/auth/selectors';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport validateForm from './validate-form';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport { AUTO_COMPLETE_OFF_FIX, PHONE_NUMBER_PREFIX } from 'common/constants';\nimport { LangEnum } from 'common/locales/i18n';\nimport Widget from 'common/components/Widget/Widget';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport ScrollableContent from '../LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from '../LeftMenuLayout/ContentMargins/ContentMargins';\nimport useContainerScroll from 'common/utils/hooks/useContainerScroll';\nimport getScrollbarWidth from 'common/utils/get-scroll-bar-width';\nimport PhoneNumberInput from 'common/components/PhoneNumberInput/PhoneNumberInput';\nimport { parsePhoneNumber } from 'common/utils/input-parsers';\n\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport asyncValidate from './async-validations';\nimport LeftCardLayout from 'common/layouts/LeftCardLayout/LeftCardLayout';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport useAsyncFormErrorMessage from 'common/utils/hooks/useAsyncFormErrorMessage';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport { AuthAccountUrlsT } from 'common/utils/api/auth/base-auth-service';\nimport { useEffect } from 'react';\nimport Link, { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\nimport DevelopmentSettings from 'common/layouts/AccountPage/DevelopmentSettings/DevelopmentSettings';\nimport { checkIsProduction } from 'common/utils/test-urls';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges([\n    FieldsEnum.firstName,\n    FieldsEnum.lastName,\n    FieldsEnum.phoneNumber,\n    FieldsEnum.language,\n    FieldsEnum.newPassword,\n]);\n\nconst AccountPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const user = useSelector(selectCurrentUser);\n    const saveRequestStatus = useSelector(selectPatchUserRequestStatus);\n    const firebaseUser = useSelector(selectUser);\n    const dispatch = useDispatch();\n\n    const { containerRef, onContainerScroll, scrollTop } = useContainerScroll();\n\n    const scrollBarWidth = React.useMemo(\n        () => getScrollbarWidth(containerRef?.current),\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [containerRef?.current],\n    );\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values: FormValuesT = {\n            [FieldsEnum.firstName]: user?.name || '',\n            [FieldsEnum.lastName]: user?.surname || '',\n            [FieldsEnum.phoneNumber]: user?.phone || PHONE_NUMBER_PREFIX,\n            [FieldsEnum.language]: (user?.language as LangEnum) || null,\n            [FieldsEnum.currentPassword]: '',\n            [FieldsEnum.newPassword]: '',\n        };\n\n        const errors = validate(values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [user]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            dispatch(\n                patchUser(user, firebaseUser, {\n                    firstName: simpleStringFormatter(values[FieldsEnum.firstName]),\n                    lastName: simpleStringFormatter(values[FieldsEnum.lastName]),\n                    phoneNumber: parsePhoneNumber(values[FieldsEnum.phoneNumber]),\n                    language: values[FieldsEnum.language] || null,\n                    currentPassword: simpleStringFormatter(values[FieldsEnum.currentPassword]) || null,\n                    newPassword: simpleStringFormatter(values[FieldsEnum.newPassword]) || null,\n                }),\n            );\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const WidgetChangesDetector = withWidgetChangesDetector(formik.values, initialValues);\n\n    const hasChanges = useWatchAnyFieldValueChanges(formik.values, initialValues) && formik.dirty && user;\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(saveRequestStatus);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [saveRequestStatus?.error]);\n\n    React.useEffect(() => {\n        if (saveRequestStatus?.ok) {\n            formik.setValues((values) => ({\n                ...values,\n                [FieldsEnum.currentPassword]: '',\n                [FieldsEnum.newPassword]: '',\n            }));\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [saveRequestStatus?.ok]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    const currentPasswordAsyncError = useAsyncFormErrorMessage(asyncFormErrors[FieldsEnum.currentPassword]);\n    const currentPasswordError = formik.errors[FieldsEnum.currentPassword];\n\n    const isShowNewPasswordError =\n        !!formik.values[FieldsEnum.currentPassword] && !currentPasswordError && !currentPasswordAsyncError;\n\n    const [accountUrls, setAccountUrls] = React.useState<AuthAccountUrlsT | null>(null);\n\n    useEffect(() => {\n        (async () => {\n            const result = await authApi.getAccountUrls();\n            setAccountUrls(result?.[1] || null);\n        })();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [authApi]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')} autoComplete=\"off\">\n            <PageTitle title={t('common:page-titles.account-settings')} />\n            <ScrollableContent\n                scrollContainerRef={containerRef}\n                onContainerScroll={onContainerScroll}\n                stickyHeaderNode={\n                    <TopBar isSticky isWhite={scrollTop > 10} scrollBarWidth={scrollBarWidth}>\n                        <TopBarContent\n                            title={t('common:account-page.title')}\n                            rightNode={\n                                <>\n                                    {(hasChanges || saveRequestStatus.loading) && (\n                                        <div className={cx('header__controls')}>\n                                            <Button\n                                                theme={ButtonThemeEnum.primary}\n                                                type=\"submit\"\n                                                className={cx('control__save')}\n                                                isLoading={saveRequestStatus.loading}\n                                            >\n                                                {t('common:account-page.buttons.save')}\n                                            </Button>\n                                            <Button\n                                                theme={ButtonThemeEnum.secondary}\n                                                onClick={() => {\n                                                    formik.resetForm({});\n                                                }}\n                                            >\n                                                {t('common:account-page.buttons.cancel')}\n                                            </Button>\n                                        </div>\n                                    )}\n                                    <NotificationsBarTrigger />\n                                </>\n                            }\n                        />\n                    </TopBar>\n                }\n            >\n                <ContentMargins>\n                    {!user && <LoaderOverlay />}\n                    <LeftCardLayout testSelector=\"account-page\" cardNode={<AccountPreview />}>\n                        <Widget\n                            className={cx('widget')}\n                            title={t('common:account-page.sections.base')}\n                            rightNode={\n                                <WidgetChangesDetector\n                                    fields={[FieldsEnum.firstName, FieldsEnum.lastName, FieldsEnum.phoneNumber]}\n                                />\n                            }\n                        >\n                            <div className={cx('widget__inner')}>\n                                <FieldGroup>\n                                    <FormikField\n                                        className={cx('field')}\n                                        name={FieldsEnum.firstName}\n                                        error={formik.errors[FieldsEnum.firstName]}\n                                        meta={formik.getFieldMeta(FieldsEnum.firstName)}\n                                        label={t('common:account-page.field-labels.first-name')}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <Input\n                                                name={FieldsEnum.firstName}\n                                                value={formik.values[FieldsEnum.firstName]}\n                                                onChange={props.onChange}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                hasError={props.hasError}\n                                                hasWarning={props.hasWarning}\n                                                hasChanges={props.hasChanges}\n                                            />\n                                        )}\n                                    </FormikField>\n                                    <FormikField\n                                        className={cx('field')}\n                                        name={FieldsEnum.lastName}\n                                        error={formik.errors[FieldsEnum.lastName]}\n                                        meta={formik.getFieldMeta(FieldsEnum.lastName)}\n                                        label={t('common:account-page.field-labels.last-name')}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <Input\n                                                name={FieldsEnum.lastName}\n                                                value={formik.values[FieldsEnum.lastName]}\n                                                onChange={props.onChange}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                hasError={props.hasError}\n                                                hasWarning={props.hasWarning}\n                                                hasChanges={props.hasChanges}\n                                            />\n                                        )}\n                                    </FormikField>\n                                </FieldGroup>\n                                <FieldGroup>\n                                    <FormikField\n                                        className={cx('field')}\n                                        name={FieldsEnum.phoneNumber}\n                                        error={formik.errors[FieldsEnum.phoneNumber]}\n                                        meta={formik.getFieldMeta(FieldsEnum.phoneNumber)}\n                                        label={t('common:account-page.field-labels.phone-number')}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <PhoneNumberInput\n                                                name={FieldsEnum.phoneNumber}\n                                                value={formik.values[FieldsEnum.phoneNumber]}\n                                                onChange={props.onChange}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                hasError={props.hasError}\n                                                hasWarning={props.hasWarning}\n                                                hasChanges={props.hasChanges}\n                                            />\n                                        )}\n                                    </FormikField>\n                                    <FieldGroupEmptyItem className={cx('field')} />\n                                </FieldGroup>\n                            </div>\n                        </Widget>\n                        <Widget\n                            className={cx('widget')}\n                            title={t('common:account-page.sections.language')}\n                            rightNode={<WidgetChangesDetector fields={[FieldsEnum.language]} />}\n                        >\n                            <div className={cx('widget__inner')}>\n                                <FieldGroup>\n                                    <FormikField\n                                        className={cx('field', 'field--language-switcher')}\n                                        name={FieldsEnum.language}\n                                        error={formik.errors[FieldsEnum.language]}\n                                        meta={formik.getFieldMeta(FieldsEnum.language)}\n                                        label={t('common:account-page.field-labels.language')}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <LanguageSwitcher\n                                                lang={formik.values[FieldsEnum.language]}\n                                                isFullSize\n                                                onChange={props.onChange}\n                                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                hasChanges={props.hasChanges}\n                                            />\n                                        )}\n                                    </FormikField>\n                                    <FieldGroupEmptyItem className={cx('field')} />\n                                </FieldGroup>\n                            </div>\n                        </Widget>\n                        <Widget\n                            className={cx('widget')}\n                            title={t('common:account-page.sections.change-password')}\n                            rightNode={<WidgetChangesDetector fields={[FieldsEnum.newPassword]} />}\n                        >\n                            {accountUrls?.changeCreds ? (\n                                <div className={cx('account-link__wrap')}>\n                                    <Link\n                                        className={cx('account-link')}\n                                        to={accountUrls.changeCreds}\n                                        theme={LinkThemeEnum.boldBrandDark}\n                                        size={LinkSizeEnum.extraSmall}\n                                        isExternal\n                                    >\n                                        {t('common:account-page.account-links.change-password')}\n                                    </Link>\n                                </div>\n                            ) : (\n                                <div className={cx('widget__inner')}>\n                                    <FieldGroup>\n                                        <FormikField\n                                            className={cx('field')}\n                                            name={FieldsEnum.currentPassword}\n                                            asyncError={currentPasswordAsyncError}\n                                            resetAsyncError={resetAsyncFormErrors}\n                                            error={currentPasswordError}\n                                            meta={formik.getFieldMeta(FieldsEnum.currentPassword)}\n                                            label={t('common:account-page.field-labels.current-password')}\n                                            setFieldValue={formik.setFieldValue}\n                                            setFieldTouched={formik.setFieldTouched}\n                                        >\n                                            {(props) => (\n                                                <Input\n                                                    type=\"password\"\n                                                    name={FieldsEnum.currentPassword}\n                                                    value={formik.values[FieldsEnum.currentPassword]}\n                                                    onChange={props.onChange}\n                                                    onBlur={props.onBlur}\n                                                    onFocus={props.onFocus}\n                                                    hasError={props.hasError}\n                                                    hasWarning={props.hasWarning}\n                                                    autoComplete={AUTO_COMPLETE_OFF_FIX}\n                                                />\n                                            )}\n                                        </FormikField>\n                                        <FormikField\n                                            className={cx('field')}\n                                            name={FieldsEnum.newPassword}\n                                            error={\n                                                isShowNewPasswordError ? formik.errors[FieldsEnum.newPassword] : null\n                                            }\n                                            meta={formik.getFieldMeta(FieldsEnum.newPassword)}\n                                            label={t('common:account-page.field-labels.new-password')}\n                                            setFieldValue={formik.setFieldValue}\n                                            setFieldTouched={formik.setFieldTouched}\n                                        >\n                                            {(props) => (\n                                                <Input\n                                                    type=\"password\"\n                                                    name={FieldsEnum.newPassword}\n                                                    value={formik.values[FieldsEnum.newPassword]}\n                                                    onChange={props.onChange}\n                                                    onBlur={props.onBlur}\n                                                    onFocus={props.onFocus}\n                                                    hasError={props.hasError}\n                                                    hasWarning={props.hasWarning}\n                                                    hasChanges={props.hasChanges}\n                                                    autoComplete={AUTO_COMPLETE_OFF_FIX}\n                                                />\n                                            )}\n                                        </FormikField>\n                                    </FieldGroup>\n                                </div>\n                            )}\n                        </Widget>\n                        {!checkIsProduction() && (\n                            <Widget className={cx('widget')} title={t('common:account-page.sections.development')}>\n                                <DevelopmentSettings />\n                            </Widget>\n                        )}\n                    </LeftCardLayout>\n                </ContentMargins>\n            </ScrollableContent>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n        </form>\n    );\n});\n\nexport default AccountPage;\n","import { put, takeEvery } from 'redux-saga/effects';\nimport { FETCH_RFQ_STATS_REQUEST, FetchRFQStatsActionT } from './types';\nimport { fetchRFQStatsBegin, fetchRFQStatsError, fetchRFQStatsSuccess } from './actions';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\nfunction* fetchRFQStatsSaga(action: FetchRFQStatsActionT): WrapGeneratorT<void> {\n    const { query } = action;\n\n    yield put(fetchRFQStatsBegin(query));\n\n    const { companyId, fromDate, toDate } = query;\n\n    const [error, count]: ReturnApiT<typeof brokerTranziitApi.fetchPartnerRFQCount> =\n        yield brokerTranziitApi.fetchPartnerRFQCount(companyId, {\n            fromDate,\n            toDate,\n        });\n\n    if (error) {\n        yield put(fetchRFQStatsError(query, error));\n        return;\n    }\n\n    yield put(\n        fetchRFQStatsSuccess(query, {\n            count: count || 0,\n        }),\n    );\n}\n\nfunction* RFQStatsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_RFQ_STATS_REQUEST, fetchRFQStatsSaga);\n}\n\nexport default RFQStatsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ExpireSoonPartnerDocumentCard__inner___zRVCg\",\"document-name\":\"ExpireSoonPartnerDocumentCard__document-name___K3Dix\",\"fadeIn\":\"ExpireSoonPartnerDocumentCard__fadeIn___ea24Q\",\"blinking\":\"ExpireSoonPartnerDocumentCard__blinking___vPYdY\"};","import requestStatus from 'common/utils/request-status';\nimport {\n    BrokerOrderEditActionT,\n    BrokerOrderEditStateT,\n    RESET,\n    UPDATE_BROKER_ORDERS_REQUEST_BEGIN,\n    UPDATE_BROKER_ORDERS_REQUEST_ERROR,\n    UPDATE_BROKER_ORDERS_REQUEST_SUCCESS,\n    UPDATE_DOCKING_HOURS,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: BrokerOrderEditStateT = {\n    brokerOrderId: null,\n    requestStatus: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: BrokerOrderEditActionT | DestroySessionActionT,\n): BrokerOrderEditStateT => {\n    switch (action.type) {\n        case UPDATE_BROKER_ORDERS_REQUEST_BEGIN: {\n            const { brokerOrderId } = action;\n\n            if (state.brokerOrderId !== brokerOrderId) {\n                return state;\n            }\n\n            return {\n                ...state,\n                requestStatus: requestStatus.loading,\n            };\n        }\n\n        case UPDATE_BROKER_ORDERS_REQUEST_SUCCESS: {\n            const { brokerOrderId } = action;\n\n            if (state.brokerOrderId !== brokerOrderId) {\n                return state;\n            }\n\n            return {\n                ...state,\n                requestStatus: requestStatus.ok,\n            };\n        }\n\n        case UPDATE_BROKER_ORDERS_REQUEST_ERROR: {\n            const { brokerOrderId, error } = action;\n\n            if (state.brokerOrderId !== brokerOrderId) {\n                return state;\n            }\n\n            return {\n                ...state,\n                requestStatus: requestStatus.setError(error),\n            };\n        }\n\n        case UPDATE_DOCKING_HOURS: {\n            const { brokerOrderId } = action;\n\n            return {\n                ...state,\n                brokerOrderId,\n                requestStatus: requestStatus.initial,\n            };\n        }\n\n        case DESTROY_SESSION:\n        case RESET: {\n            return {\n                ...initialState,\n            };\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './TransportOrderDetails.scss';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport RouteLocationsOverview from 'common/components/entity-details/RouteLocationsOverview/RouteLocationsOverview';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport { isNonNil } from 'common/utils';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport ExcludedCountries from 'common/components/entity-details/ExcludedCountries/ExcludedCountries';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport TeamDrivePill from 'common/components/status-pill/TeamDrivePill/TeamDrivePill';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport DriverIcon from 'common/icons/DriverIcon';\nimport EuroSymbolIcon from 'common/icons/EuroSymbolIcon';\nimport { PartnerTypeEnum, ShipmentWarningEnum, ApiTourAttachedPaperTypeT } from 'common/utils/api/models';\nimport { finallyStatusSet } from 'broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/constants';\nimport DeprecateTourPapersCard from 'common/components/DeprecateTourPapersCard/DeprecateTourPapersCard';\nimport AssetLinkFormatter from 'design-system/components/InfoTable/formatters/AssetLinkFormatter/AssetLinkFormatter';\nimport AssetLabelFormatter from 'design-system/components/InfoTable/formatters/AssetLabelFormatter/AssetLabelFormatter';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport isNumber from 'lodash/isNumber';\nimport { useCommonPriceDetails } from 'common/components/price-details/hooks/common';\nimport { useAdditionalServicesList } from 'common/components/price-details/hooks/additional-services-list';\nimport CaseIcon from 'common/icons/CaseIcon';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { convertToKm } from 'common/utils/distance';\nimport SimpleDriverFormatter from 'design-system/components/InfoTable/formatters/SimpleDriverFormatter/SimpleDriverFormatter';\nimport TeamDrive2Icon from 'common/icons/TeamDrive2Icon';\nimport { logWarning } from 'common/utils/logger';\nimport ShipmentDetailsCard from 'common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/ShipmentDetailsCard/ShipmentDetailsCard';\nimport RouteDetailsCard from 'common/layouts/TransportOrderDetailsPageLayout/TransportOrderDetails/RouteDetailsCard/RouteDetailsCard';\nimport AsyncTrailerTypeFormatter from 'design-system/components/InfoTable/formatters/AsyncTrailerTypeFormatter/AsyncTrailerTypeFormatter';\nimport TransportOrderTypeFormatter from 'common/components/InfoTable/formatters/TransportOrderTypeFormatter/TransportOrderTypeFormatter';\nimport EmissionClassFormatter from 'design-system/components/InfoTable/formatters/EmissionClassFormatter/EmissionClassFormatter';\nimport keyBy from 'lodash/keyBy';\nimport DriverLinkFormatter from 'design-system/components/InfoTable/formatters/DriverLinkFormatter/DriverLinkFormatter';\nimport { useTransportOrderPayloadWaypoints } from 'carrier/utils/hooks/useTransportOrderPayloadWaypoints';\nimport { checkShouldShowLayover } from 'common/components/price-details/utils';\nimport { formatISOTime, formatISOTimeWithoutTimezone } from 'common/utils/time';\nimport max from 'lodash/max';\nimport min from 'lodash/min';\nimport { useDistanceByCountryRows } from 'common/components/entity-details/hooks/distanceByCountry';\nimport {\n    checkIsBrokerTransportOrderDetails,\n    checkIsCarrierTransportOrderDetails,\n} from 'common/store/transport-order-details/type-guards';\nimport { deprecatedUseAttachTourPapers } from 'common/components/papers/hooks/deprecated-use-attach-tour-papers';\nimport { AlertGroup } from 'common/layouts/AlertGroup/AlertGroup';\nimport EntityWarningAlert from 'common/components/entity-details/alerts/EntityWarningAlert';\nimport EntityCriticalWarningAlert from 'common/components/entity-details/alerts/EntityCriticalWarningAlert';\nimport DelayingWarningAlert from 'common/components/entity-details/alerts/DelayingWarningAlert';\nimport { checkTemperatureViolation } from 'common/components/entity-details/utils/check-temperature-violation';\nimport ViolationTemperatureAlert from 'common/components/entity-details/alerts/ViolationTemperatureAlert';\nimport CurrentTemperatureAlert from 'common/components/entity-details/alerts/CurrentTemperatureAlert';\nimport EntityEtaAlert from 'common/components/entity-details/alerts/EntityEtaAlert';\nimport { carrierShipmentPapersUrlFactory } from 'carrier/utils/shipment-papers-url-factory';\nimport { useAttachShipmentPapers } from 'common/components/papers/hooks/use-attach-shipment-papers';\nimport ImageGalleryModal from 'common/components/papers/modals/ImageGalleryModal/ImageGalleryModal';\nimport DeletePaperConfirmation from 'common/components/papers/dialogs/DeletePaperConfirmation/DeletePaperConfirmation';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport { carrierTourPapersUrlFactory } from 'carrier/utils/tour-papers-url-factory';\nimport { useAttachTourPapers } from 'common/components/papers/hooks/use-attach-tour-papers';\nimport TourPapersCard from 'common/components/papers/TourPapersCard/TourPapersCard';\n\ntype PropsT = {\n    isBroker: boolean;\n    isReadOnly: boolean;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    goToTrailerDetails: (trailerId: TrailerIdT | null) => void;\n    goToTruckDetails: (truckId: TruckIdT | null) => void;\n    goToDriverDetails?: (driverId: DriverIdT | null) => void;\n    goToSpotRequestDetails: (spotRequestId: SpotRequestIdT | null) => void;\n    onOpenUserDetails: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n    onOpenDriverDetails?: (params: { driverId: DriverIdT; partnerId: PartnerIdT }) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TransportOrderDetails: React.FC<PropsT> = React.memo((props) => {\n    const {\n        isBroker,\n        isReadOnly,\n        transportOrderDetails,\n        goToTrailerDetails,\n        goToTruckDetails,\n        goToDriverDetails,\n        goToSpotRequestDetails,\n        onOpenUserDetails,\n        onOpenDriverDetails,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const { onAttachTourPapers } = deprecatedUseAttachTourPapers({ isBroker });\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isNewPapersAttachmentActive = featuresContext?.checkActiveClientFeature?.(\n        ClientFeatureEnum.newPapersAttachment,\n    );\n\n    const {\n        onAttachShipmentPaper,\n        onDeleteShipmentPaper,\n        onConfirmDeleteShipmentPaper,\n        deleteShipmentPaperRequestStatus,\n        onDownloadShipmentPaper,\n        onOpenGalleryShipmentPaper,\n        getShipmentPaperThumbnailUrl,\n        deleteShipmentPaperConfirmationDialog,\n        shipmentPaperGalleryModal,\n    } = useAttachShipmentPapers(carrierShipmentPapersUrlFactory);\n\n    const {\n        onAttachTourPaper,\n        onDeleteTourPaper,\n        onConfirmDeleteTourPaper,\n        deleteTourPaperRequestStatus,\n        onDownloadTourPaper,\n        onOpenGalleryTourPaper,\n        getTourPaperThumbnailUrl,\n        deleteTourPaperConfirmationDialog,\n        tourPaperGalleryModal,\n    } = useAttachTourPapers(carrierTourPapersUrlFactory);\n\n    const waypointById = keyBy(transportOrderDetails?.waypoints, 'id');\n\n    const { originWaypoint, destinationWaypoint } = useTransportOrderPayloadWaypoints(transportOrderDetails?.waypoints);\n\n    const commonPriceDetails = useCommonPriceDetails();\n\n    const carrierAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: transportOrderDetails?.carrierCost?.additionalServices?.items,\n        isAllowCarrierServices: true,\n        isAllowBrokerServices: false,\n    });\n\n    const brokerAdditionalServicesList = useAdditionalServicesList({\n        additionalServiceItems: transportOrderDetails?.carrierCost?.additionalServices?.items,\n        isAllowCarrierServices: false,\n        isAllowBrokerServices: true,\n    });\n\n    const priceDetailList: Array<PriceDetailT | null> = [\n        {\n            iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.gray} />,\n            title: t('common:transport-order-details.columns.price'),\n            price: transportOrderDetails?.carrierCost?.totalCost,\n            list: [\n                {\n                    ...commonPriceDetails.lineHaul,\n                    price: transportOrderDetails?.carrierCost?.lineHaul,\n                    list: commonPriceDetails.getLineHaulList({\n                        deadheadLineHaulCost: transportOrderDetails?.carrierCost?.deadhead?.lineHaul,\n                        payloadLineHaulCost: transportOrderDetails?.carrierCost?.payload?.lineHaul,\n                    }),\n                    footerNode:\n                        transportOrderDetails && checkIsBrokerTransportOrderDetails(transportOrderDetails)\n                            ? commonPriceDetails.getAppliedRulesFooterNode(\n                                  ['LINE_HAUL'],\n                                  transportOrderDetails?.carrierCost?.appliedRules,\n                              )\n                            : null,\n                },\n                {\n                    ...commonPriceDetails.getRoadTaxesRow(transportOrderDetails?.carrierCost?.co2),\n                    price: transportOrderDetails?.carrierCost?.toll?.totalCost,\n                    list: commonPriceDetails.getRoadTaxesList(\n                        transportOrderDetails?.carrierCost?.toll?.byRoadType,\n                        transportOrderDetails && checkIsBrokerTransportOrderDetails(transportOrderDetails)\n                            ? transportOrderDetails?.carrierCost?.appliedRules\n                            : null,\n                    ),\n                    footerNode:\n                        transportOrderDetails && checkIsBrokerTransportOrderDetails(transportOrderDetails)\n                            ? commonPriceDetails.getAppliedRulesFooterNode(\n                                  ['ROAD_TAXES'],\n                                  transportOrderDetails?.carrierCost?.appliedRules,\n                              )\n                            : null,\n                },\n                {\n                    ...commonPriceDetails.getFuelCostRow(transportOrderDetails?.carrierCost?.fuel?.fuelType),\n                    price: transportOrderDetails?.carrierCost?.fuel?.totalCost,\n                    list: commonPriceDetails.getFuelCostsByCountryList(\n                        transportOrderDetails?.carrierCost?.fuel?.byCountry,\n                    ),\n                    footerNode:\n                        transportOrderDetails && checkIsBrokerTransportOrderDetails(transportOrderDetails)\n                            ? commonPriceDetails.getAppliedRulesFooterNode(\n                                  ['FUEL'],\n                                  transportOrderDetails?.carrierCost?.appliedRules,\n                              )\n                            : null,\n                },\n                isNumber(transportOrderDetails?.carrierCost?.teamDriveCost)\n                    ? {\n                          ...commonPriceDetails.getTeamDrive({\n                              travelHours: transportOrderDetails?.carrierCost?.teamDriveHours,\n                          }),\n                          price: transportOrderDetails?.carrierCost?.teamDriveCost,\n                      }\n                    : null,\n                checkShouldShowLayover(\n                    transportOrderDetails?.carrierCost?.layover?.totalSeconds,\n                    transportOrderDetails?.carrierCost?.layover?.totalCost,\n                )\n                    ? {\n                          ...commonPriceDetails.getLayoverCostRow(\n                              transportOrderDetails?.carrierCost?.layover?.totalSeconds,\n                              transportOrderDetails?.carrierCost?.layover?.paidHours,\n                          ),\n                          price: transportOrderDetails?.carrierCost?.layover?.totalCost || 0,\n                      }\n                    : null,\n                carrierAdditionalServicesList?.length\n                    ? {\n                          ...commonPriceDetails.getCarrierAdditionalServicesRow(\n                              transportOrderDetails?.carrierCost?.additionalServices?.items,\n                          ),\n                          list: [\n                              {\n                                  list: carrierAdditionalServicesList,\n                              },\n                          ],\n                      }\n                    : null,\n                brokerAdditionalServicesList?.length\n                    ? {\n                          ...commonPriceDetails.getBrokerAdditionalServicesRow(\n                              transportOrderDetails?.carrierCost?.additionalServices?.items,\n                          ),\n                          list: [\n                              {\n                                  list: brokerAdditionalServicesList,\n                              },\n                          ],\n                      }\n                    : null,\n            ],\n        },\n    ].filter(isNonNil);\n\n    const excludedCountries = transportOrderDetails?.prohibitedCountries || [];\n\n    const transportOrderRows: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <CaseIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('common:transport-order-details.columns.transport-order-number'),\n            value: transportOrderDetails?.number,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'transport-order',\n            rows: [\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.columns.created-date'),\n                    value: <DateFormatter date={transportOrderDetails?.createdDate} format=\"DD MMM YYYY, HH:mm\" />,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'created-date',\n                },\n                transportOrderDetails?.spotInfo?.id\n                    ? {\n                          icon: null,\n                          name: t('common:transport-order-details.columns.spot-request'),\n                          value: (\n                              <Link\n                                  onClick={() => {\n                                      const spotRequestId = transportOrderDetails?.spotInfo?.id || null;\n                                      if (!spotRequestId) {\n                                          logWarning('Empty spotRequestId');\n                                          return;\n                                      }\n\n                                      goToSpotRequestDetails(spotRequestId);\n                                  }}\n                                  className={cx('link')}\n                                  theme={LinkThemeEnum.boldBrandDark}\n                              >\n                                  {transportOrderDetails?.spotInfo?.number}\n                              </Link>\n                          ),\n                          openedClassName: cx('spot-request-row'),\n                          emptyValue: t('common:info-table.placeholders.not-specified'),\n                          isBoldValue: true,\n                          testSelector: 'spot-request',\n                      }\n                    : null,\n                {\n                    icon: null,\n                    name: t('common:transport-order-details.columns.provide'),\n                    value: <TransportOrderTypeFormatter transportOrderType={transportOrderDetails?.type} />,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    rightNode: transportOrderDetails?.tourInfo?.teamDrive ? <TeamDrivePill /> : null,\n                    testSelector: 'provide',\n                },\n                {\n                    icon: (\n                        <TrailerIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.gray}\n                            fillColor={StyleGuideColorsEnum.light}\n                        />\n                    ),\n                    name: t('common:transport-order-details.columns.trailer-type'),\n                    value: <AsyncTrailerTypeFormatter trailerDictId={transportOrderDetails?.trailerInfo?.id} />,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'trailer-type',\n                },\n                {\n                    icon: <EmissionIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                    name: t('common:transport-order-details.columns.emission-class'),\n                    value: <EmissionClassFormatter emissionClass={transportOrderDetails?.emissionClass} />,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'emissions-class',\n                },\n            ],\n        },\n    ];\n\n    const totalDistance = Math.round(transportOrderDetails?.carrierCost?.distances?.totalDistance || 0);\n\n    const payloadDistance = Math.round(transportOrderDetails?.carrierCost?.payload?.distances?.totalDistance || 0);\n\n    const summaryDeadheadDistance = totalDistance - payloadDistance;\n\n    const distanceByCountryRows = useDistanceByCountryRows(transportOrderDetails?.carrierCost?.distances?.byCountry);\n\n    const mileageDetailsRows: Array<InfoTableRowT | null> = [\n        {\n            icon: <RouteIcon fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:transport-order-details.columns.total-mileage'),\n            value: <UnitTypeCount type={UnitTypeEnum.kilometersAbbreviation} count={convertToKm(totalDistance)} />,\n            emptyValue: t('common:info-table.placeholders.empty'),\n            isBoldValue: true,\n            testSelector: 'total-mileage',\n            rows: [\n                payloadDistance\n                    ? {\n                          icon: null,\n                          name: t('common:transport-order-details.columns.payload-mileage'),\n                          value: (\n                              <UnitTypeCount\n                                  type={UnitTypeEnum.kilometersAbbreviation}\n                                  count={convertToKm(payloadDistance)}\n                              />\n                          ),\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          isBoldValue: true,\n                          testSelector: 'payload-mileage',\n                          rows: distanceByCountryRows,\n                      }\n                    : null,\n                summaryDeadheadDistance\n                    ? {\n                          icon: null,\n                          name: t('common:transport-order-details.columns.deadhead-mileage'),\n                          value: (\n                              <UnitTypeCount\n                                  type={UnitTypeEnum.kilometersAbbreviation}\n                                  count={convertToKm(summaryDeadheadDistance)}\n                              />\n                          ),\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          isBoldValue: true,\n                          testSelector: 'deadhead-mileage',\n                      }\n                    : null,\n            ],\n        },\n    ];\n\n    const mainDriver = transportOrderDetails?.drivers?.[0] || null;\n    const teamDrivers = useMemo(() => {\n        const shouldShowTeamDrivers = !!transportOrderDetails?.tourInfo?.teamDrive;\n        if (!shouldShowTeamDrivers) {\n            return [];\n        }\n\n        const drivers = transportOrderDetails?.drivers?.slice(1) || [];\n        return drivers?.length ? drivers : [null];\n    }, [transportOrderDetails]);\n\n    const assignmentDetailsRows: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <TruckIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('common:transport-order-details.columns.truck'),\n            value: transportOrderDetails?.truck ? (\n                <AssetLinkFormatter assetId={transportOrderDetails?.truck?.id} onOpenAssetDetails={goToTruckDetails}>\n                    <AssetLabelFormatter\n                        model={transportOrderDetails?.truck?.dictTruckInfo?.model}\n                        plateNumber={transportOrderDetails?.truck?.plateNumber}\n                    />\n                </AssetLinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.truck-not-assigned'),\n            isBoldValue: true,\n        },\n        {\n            icon: (\n                <TrailerIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            ),\n            name: t('common:transport-order-details.columns.trailer'),\n            value: transportOrderDetails?.trailer ? (\n                <AssetLinkFormatter\n                    assetId={transportOrderDetails?.trailer?.id}\n                    onOpenAssetDetails={goToTrailerDetails}\n                >\n                    <AssetLabelFormatter\n                        model={transportOrderDetails?.trailer?.dictTrailerInfo?.model}\n                        plateNumber={transportOrderDetails?.trailer?.plateNumber}\n                    />\n                </AssetLinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.trailer-not-assigned'),\n            isBoldValue: true,\n        },\n        {\n            icon: <DriverIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:transport-order-details.columns.driver'),\n            value: mainDriver ? (\n                <DriverLinkFormatter driverId={mainDriver.id} onOpenDriverDetails={goToDriverDetails}>\n                    <SimpleDriverFormatter driver={mainDriver} />\n                </DriverLinkFormatter>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n            isBoldValue: true,\n        },\n        ...teamDrivers.map((driver): InfoTableRowT => {\n            return {\n                icon: <TeamDrive2Icon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('common:transport-order-details.columns.team-driver'),\n                value: driver ? (\n                    <DriverLinkFormatter driverId={driver.id} onOpenDriverDetails={goToDriverDetails}>\n                        <SimpleDriverFormatter driver={driver} />\n                    </DriverLinkFormatter>\n                ) : null,\n                emptyValue: t('common:info-table.placeholders.assets-not-assigned'),\n                isBoldValue: true,\n            };\n        }),\n    ];\n\n    const reeferTemperatureMin = transportOrderDetails?.trailer?.reeferTemperatureMin || null;\n    const reeferTemperatureMax = transportOrderDetails?.trailer?.reeferTemperatureMax || null;\n\n    const requiredTemperatureMin = max(\n        transportOrderDetails?.shipments?.map((shipment) => {\n            return shipment?.lowestTemperature;\n        }),\n    );\n    const requiredTemperatureMax = min(\n        transportOrderDetails?.shipments?.map((shipment) => {\n            return shipment?.highestTemperature;\n        }),\n    );\n\n    if (!transportOrderDetails) {\n        return null;\n    }\n\n    const hasTemperatureViolation = checkTemperatureViolation({\n        reeferTemperatureMin,\n        reeferTemperatureMax,\n        requiredTemperatureMin,\n        requiredTemperatureMax,\n    });\n\n    const hasNotShowShipments = useMemo(() => {\n        return transportOrderDetails?.shipments?.some((shipment) => {\n            return shipment?.warning === ShipmentWarningEnum.noShow;\n        });\n    }, [transportOrderDetails]);\n\n    const hasMissedShipments = useMemo(() => {\n        return transportOrderDetails?.shipments?.some((shipment) => {\n            return shipment?.warning === ShipmentWarningEnum.missed;\n        });\n    }, [transportOrderDetails]);\n\n    const isLastNotFinallyShipment = useMemo(() => {\n        return (\n            transportOrderDetails?.shipments?.filter((shipment) => {\n                return !finallyStatusSet.has(shipment.status);\n            })?.length === 1\n        );\n    }, [transportOrderDetails]);\n\n    const handleAttachTourPaper = React.useCallback(\n        (paperType: ApiTourAttachedPaperTypeT) => {\n            const tourId = transportOrderDetails?.tourInfo?.id || null;\n            if (!tourId) {\n                logWarning('failed to attach paper, empty tourId');\n                return;\n            }\n\n            onAttachTourPaper(tourId, paperType);\n        },\n        [transportOrderDetails?.tourInfo?.id, onAttachTourPaper],\n    );\n\n    return (\n        <div className={cx('container')}>\n            <RouteLocationsOverview\n                className={cx('route')}\n                origin={originWaypoint?.address}\n                pickupDockingHoursFrom={originWaypoint?.dateTimeFrom}\n                pickupDockingHoursTo={originWaypoint?.dateTimeTo}\n                destination={destinationWaypoint?.address}\n                dropOffDockingHoursFrom={destinationWaypoint?.dateTimeFrom}\n                dropOffDockingHoursTo={destinationWaypoint?.dateTimeTo}\n            />\n            <ExcludedCountries\n                className={cx('excluded-countries')}\n                titleNode={t('common:entity-details.excluded-countries.title')}\n                countryCodes={excludedCountries}\n                tooltipNode={t('common:entity-details.excluded-countries.tooltip')}\n            />\n            <AlertGroup className={cx('alerts')}>\n                {transportOrderDetails?.tourInfo?.warnings?.runningOutOfTimeToAssignAsset && (\n                    <EntityWarningAlert key=\"runningOutOfTimeToAssignAsset\">\n                        {t('common:transport-order-details.alerts.running-out-of-time-assign-assets')}\n                    </EntityWarningAlert>\n                )}\n                {transportOrderDetails?.tourInfo?.warnings?.runOutOfTimeToAssignAsset && (\n                    <EntityCriticalWarningAlert key=\"runOutOfTimeToAssignAsset\">\n                        {t('common:transport-order-details.alerts.run-out-of-time-assign-assets')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {transportOrderDetails?.tourInfo?.warnings?.runningOutOfTimeToAssignDriver && (\n                    <EntityWarningAlert key=\"runningOutOfTimeToAssignDriver\">\n                        {t('common:transport-order-details.alerts.running-out-of-time-assign-driver')}\n                    </EntityWarningAlert>\n                )}\n                {transportOrderDetails?.tourInfo?.warnings?.runOutOfTimeToAssignDriver && (\n                    <EntityCriticalWarningAlert key=\"runOutOfTimeToAssignDriver\">\n                        {t('common:transport-order-details.alerts.run-out-of-time-assign-driver')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {hasMissedShipments && (\n                    <EntityCriticalWarningAlert key=\"hasMissedShipments\">\n                        {t('common:transport-order-details.alerts.missed-shipments')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {hasNotShowShipments && (\n                    <EntityCriticalWarningAlert key=\"hasNotShowShipments\">\n                        {t('common:transport-order-details.alerts.no-show-shipments')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {transportOrderDetails?.tourInfo?.warnings?.delaying && (\n                    <DelayingWarningAlert key=\"delaying\">\n                        {t('common:transport-order-details.alerts.delaying', {\n                            time: transportOrderDetails?.eta ? formatISOTime(transportOrderDetails?.eta) : '',\n                        })}\n                    </DelayingWarningAlert>\n                )}\n                {hasTemperatureViolation && (\n                    <ViolationTemperatureAlert key=\"hasTemperatureViolation\">\n                        {t('common:transport-order-details.alerts.violation-temperature-mode', {\n                            currentMin: reeferTemperatureMin,\n                            currentMax: reeferTemperatureMax,\n                            requiredMin: requiredTemperatureMin,\n                            requiredMax: requiredTemperatureMax,\n                        })}\n                    </ViolationTemperatureAlert>\n                )}\n                {isNumber(reeferTemperatureMin) && isNumber(reeferTemperatureMax) && (\n                    <CurrentTemperatureAlert key=\"currentTemperature\">\n                        {t('common:transport-order-details.alerts.current-temperature', {\n                            min: reeferTemperatureMin,\n                            max: reeferTemperatureMax,\n                        })}\n                    </CurrentTemperatureAlert>\n                )}\n                {transportOrderDetails?.eta && (\n                    <EntityEtaAlert\n                        tooltipContent={\n                            transportOrderDetails?.truckCoordinatesUpdatedAt\n                                ? t('common:transport-order-details.alerts.sync-time', {\n                                      time: formatISOTimeWithoutTimezone(\n                                          transportOrderDetails?.truckCoordinatesUpdatedAt,\n                                      ),\n                                  })\n                                : null\n                        }\n                    >\n                        {t('common:transport-order-details.alerts.eta', {\n                            time: formatISOTime(transportOrderDetails?.eta),\n                        })}\n                    </EntityEtaAlert>\n                )}\n            </AlertGroup>\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table')}\n                rows={transportOrderRows}\n                testSelector=\"transport-order\"\n            />\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table')}\n                rows={mileageDetailsRows}\n                testSelector=\"transport-order\"\n            />\n            <PriceDetails className={cx('table')} list={priceDetailList} />\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table')}\n                rows={assignmentDetailsRows}\n                testSelector=\"assignment-details\"\n            />\n            <RouteDetailsCard className={cx('route-card')} transportOrderDetails={transportOrderDetails} />\n            {transportOrderDetails?.shipments?.map((shipment, index) => {\n                return (\n                    <ShipmentDetailsCard\n                        key={index}\n                        isReadOnly={isReadOnly}\n                        className={cx('shipment-card')}\n                        isReeferTrailer={!!transportOrderDetails?.trailerInfo?.reefer}\n                        shipmentNumber={index}\n                        shipment={shipment}\n                        pickUpWaypoint={waypointById[shipment?.pickupPointId] || null}\n                        dropOffWaypoint={waypointById[shipment?.dropOffPointId] || null}\n                        keyboardShortcut={String(index + 1)}\n                        tourId={transportOrderDetails?.tourInfo?.id || null}\n                        onAttachTourPapers={onAttachTourPapers}\n                        shouldConfirmForCancelLastShipment={isLastNotFinallyShipment}\n                        onAttachShipmentPaper={onAttachShipmentPaper}\n                        getShipmentPaperThumbnailUrl={getShipmentPaperThumbnailUrl}\n                        onOpenGalleryShipmentPaper={onOpenGalleryShipmentPaper}\n                        onDownloadShipmentPaper={onDownloadShipmentPaper}\n                        onDeleteShipmentPaper={onDeleteShipmentPaper}\n                        onOpenUserDetails={onOpenUserDetails}\n                        onOpenDriverDetails={onOpenDriverDetails}\n                    />\n                );\n            })}\n            {!isNewPapersAttachmentActive && (\n                <DeprecateTourPapersCard\n                    className={cx('papers-card')}\n                    tourId={transportOrderDetails?.tourInfo?.id || null}\n                    isBroker={isBroker}\n                    title={t('common:entity-details.papers')}\n                    onAttachTourPapers={onAttachTourPapers}\n                />\n            )}\n            {isNewPapersAttachmentActive && (\n                <TourPapersCard\n                    className={cx('papers-card')}\n                    tourId={transportOrderDetails?.tourInfo?.id || null}\n                    attachedPapers={transportOrderDetails?.tourInfo?.attachedPapers || null}\n                    title={t('common:transport-order-details.tour-papers')}\n                    onOpenUserDetails={onOpenUserDetails}\n                    onOpenDriverDetails={onOpenDriverDetails}\n                    getTourPaperThumbnailUrl={getTourPaperThumbnailUrl}\n                    onOpenGalleryTourPaper={onOpenGalleryTourPaper}\n                    onDownloadTourPaper={onDownloadTourPaper}\n                    onDeleteTourPaper={isReadOnly ? undefined : onDeleteTourPaper}\n                    onAttachTourPaper={isReadOnly ? undefined : handleAttachTourPaper}\n                    attachPapersUnavailableReason={\n                        checkIsCarrierTransportOrderDetails(transportOrderDetails)\n                            ? transportOrderDetails?.attachPapersUnavailableReason\n                            : null\n                    }\n                    readAttachedPapersUnavailableReason={\n                        checkIsCarrierTransportOrderDetails(transportOrderDetails)\n                            ? transportOrderDetails?.readAttachedPapersUnavailableReason\n                            : null\n                    }\n                />\n            )}\n            <ImageGalleryModal data={shipmentPaperGalleryModal.data} onClose={shipmentPaperGalleryModal.onClose} />\n            <ImageGalleryModal data={tourPaperGalleryModal.data} onClose={tourPaperGalleryModal.onClose} />\n            <DeletePaperConfirmation\n                requestStatus={deleteShipmentPaperRequestStatus}\n                data={deleteShipmentPaperConfirmationDialog.data}\n                onConfirm={onConfirmDeleteShipmentPaper}\n                onCancel={deleteShipmentPaperConfirmationDialog.onCancel}\n                onClose={deleteShipmentPaperConfirmationDialog.onClose}\n            />\n            <DeletePaperConfirmation\n                requestStatus={deleteTourPaperRequestStatus}\n                data={deleteTourPaperConfirmationDialog.data}\n                onConfirm={onConfirmDeleteTourPaper}\n                onCancel={deleteTourPaperConfirmationDialog.onCancel}\n                onClose={deleteTourPaperConfirmationDialog.onClose}\n            />\n        </div>\n    );\n});\n\nexport default TransportOrderDetails;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst SquareInfoIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, className } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" className={className}>\n            <path\n                fill={fillColor}\n                fillRule=\"evenodd\"\n                d=\"M11 5.007v7a1 1 0 01-2 0v-7a1 1 0 012 0zm0 10a1 1 0 11-2 0 1 1 0 012 0zM18 17a1 1 0 01-1 1H3a1 1 0 01-1-1V3a1 1 0 011-1h14a1 1 0 011 1v14zm0-17H2C.895 0 0 .899 0 2.003v16.004C0 19.112.895 20 2 20h16c1.105 0 2-.892 2-1.997V2.007C20 .902 19 0 18 0z\"\n            />\n        </svg>\n    );\n};\n\nSquareInfoIcon.displayName = 'SquareInfoIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\nexport default SquareInfoIcon;\n","import * as React from 'react';\nimport { TollTypeEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    type: TollTypeEnum | null | undefined;\n};\n\nexport const TOLL_MAP_T: Record<TollTypeEnum, string> = {\n    [TollTypeEnum.general]: 'common:tolls.general',\n    [TollTypeEnum.marketCorrection]: 'common:tolls.market-correction',\n    [TollTypeEnum.intermodal]: 'common:tolls.intermodal',\n    [TollTypeEnum.mountainPass]: 'common:tolls.mountain-pass',\n    [TollTypeEnum.city]: 'common:tolls.city',\n    [TollTypeEnum.bridge]: 'common:tolls.bridge',\n    [TollTypeEnum.tunnel]: 'common:tolls.tunnel',\n    [TollTypeEnum.ferry]: 'common:tolls.ferry',\n    [TollTypeEnum.unspecified]: 'common:tolls.unspecified',\n};\n\nexport const TOLL_TOOLTIP_MAP_T: Partial<Record<TollTypeEnum, string>> = {\n    [TollTypeEnum.general]: 'common:tolls-placeholders.general',\n    [TollTypeEnum.mountainPass]: 'common:tolls-placeholders.mountain-pass',\n    [TollTypeEnum.city]: 'common:tolls-placeholders.city',\n    [TollTypeEnum.bridge]: 'common:tolls-placeholders.bridge',\n    [TollTypeEnum.tunnel]: 'common:tolls-placeholders.tunnel',\n    [TollTypeEnum.ferry]: 'common:tolls-placeholders.ferry',\n};\n\nconst TollLabel: React.FC<PropsT> = React.memo((props) => {\n    const { type } = props;\n    const { t } = useTranslation();\n\n    if (!type) {\n        return null;\n    }\n\n    return <span>{t(TOLL_MAP_T[type as TollTypeEnum])}</span>;\n});\n\nexport default TollLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"time-interval\":\"PickupPointPicker__time-interval___YRJd7\",\"linked-asset\":\"PickupPointPicker__linked-asset___YIXPu\",\"fadeIn\":\"PickupPointPicker__fadeIn___U3RTX\",\"blinking\":\"PickupPointPicker__blinking___Du51K\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './TeamDrivePill.scss';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = {\n    className?: string;\n    isSymmetrical?: boolean;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst TeamDrivePill: React.FC<PropsT> = React.memo((props) => {\n    const { className, isSymmetrical } = props;\n    const { t } = useTranslation();\n\n    return (\n        <PillLabel\n            isNoWrap\n            isSymmetrical={isSymmetrical}\n            theme={PillLabelThemeEnum.charcoal}\n            testSelector=\"team-drive\"\n            className={className}\n        >\n            {t('common:team-drive')}\n        </PillLabel>\n    );\n});\n\nexport default TeamDrivePill;\n","import {\n    FETCH_DISPATCHERS_REQUEST,\n    FETCH_DISPATCHERS_REQUEST_BEGIN,\n    FETCH_DISPATCHERS_REQUEST_ERROR,\n    FETCH_DISPATCHERS_REQUEST_SUCCESS,\n    FetchDispatchersActionT,\n    FetchDispatchersBeginActionT,\n    FetchDispatchersErrorActionT,\n    FetchDispatchersSuccessActionT,\n} from './types';\n\nimport { DispatcherT } from './models';\n\nexport const fetchDispatchers = (): FetchDispatchersActionT => ({\n    type: FETCH_DISPATCHERS_REQUEST,\n});\n\nexport const fetchDispatchersBegin = (): FetchDispatchersBeginActionT => ({\n    type: FETCH_DISPATCHERS_REQUEST_BEGIN,\n});\n\nexport const fetchDispatchersSuccess = (dispatchers: DispatcherT[]): FetchDispatchersSuccessActionT => ({\n    type: FETCH_DISPATCHERS_REQUEST_SUCCESS,\n    dispatchers,\n});\n\nexport const fetchDispatchersError = (error: Error): FetchDispatchersErrorActionT => ({\n    type: FETCH_DISPATCHERS_REQUEST_ERROR,\n    error,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"time-picker\":\"TimeWindowPicker__time-picker___F4D1i\",\"head\":\"TimeWindowPicker__head___syF9l\",\"label\":\"TimeWindowPicker__label___GrpOO\",\"label__icon\":\"TimeWindowPicker__label__icon___i9Q27\",\"label__label\":\"TimeWindowPicker__label__label___R88fG\",\"tooltip\":\"TimeWindowPicker__tooltip___mvhsy\",\"tooltip__inner\":\"TimeWindowPicker__tooltip__inner___OIUhK\",\"tooltip__icon\":\"TimeWindowPicker__tooltip__icon___nNukQ\",\"fadeIn\":\"TimeWindowPicker__fadeIn___b3u_i\",\"blinking\":\"TimeWindowPicker__blinking___W7q1X\"};","import {\n    FetchTrucksDictActionT,\n    FetchTrucksDictBeginActionT,\n    FetchTrucksDictErrorActionT,\n    FetchTrucksDictSuccessActionT,\n    TRUCKS_DICT_REQUEST,\n    TRUCKS_DICT_REQUEST_BEGIN,\n    TRUCKS_DICT_REQUEST_ERROR,\n    TRUCKS_DICT_REQUEST_SUCCESS,\n} from './types';\n\nimport { ApiTrucksDictT } from 'common/utils/api/models';\n\nexport const fetchTrucksDict = (): FetchTrucksDictActionT => ({\n    type: TRUCKS_DICT_REQUEST,\n});\n\nexport const fetchTrucksDictBegin = (): FetchTrucksDictBeginActionT => ({\n    type: TRUCKS_DICT_REQUEST_BEGIN,\n});\n\nexport const fetchTrucksDictSuccess = (trucksDict: ApiTrucksDictT): FetchTrucksDictSuccessActionT => ({\n    type: TRUCKS_DICT_REQUEST_SUCCESS,\n    trucksDict,\n});\n\nexport const fetchTrucksDictError = (error: Error): FetchTrucksDictErrorActionT => ({\n    type: TRUCKS_DICT_REQUEST_ERROR,\n    error,\n});\n","import React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './IconTrigger.scss';\n\nconst cx = classNames.bind(styles);\n\nexport enum IconTriggerThemeEnum {\n    primary = 'primary',\n    secondary = 'secondary',\n    danger = 'danger',\n    transparent = 'transparent',\n}\n\nexport type IconMetaT = {\n    isClickable: boolean;\n    isDisabled: boolean;\n    isToggled: boolean;\n    isFocused: boolean;\n    isPressed: boolean;\n};\n\nexport type PropsT = {\n    className?: string;\n    onClick?: () => void;\n    isDisabled?: boolean;\n    isToggled?: boolean;\n    isFocused?: boolean;\n    isPressed?: boolean;\n    theme?: IconTriggerThemeEnum;\n    children: (meta: IconMetaT) => React.ReactNode;\n};\n\nconst IconTrigger: React.FC<PropsT> = (props) => {\n    const { className, children, onClick, isDisabled, isToggled, isFocused, isPressed, theme } = props;\n\n    const isClickable = !!onClick;\n\n    return (\n        <div\n            className={cs(\n                cx('icon-trigger', {\n                    [`icon-trigger--theme-${theme || IconTriggerThemeEnum.transparent}`]: true,\n                    'icon-trigger--isClickable': isClickable,\n                    'icon-trigger--isDisabled': isDisabled,\n                    'icon-trigger--isToggled': isToggled,\n                    'icon-trigger--isFocused': isFocused,\n                    'icon-trigger--isPressed': isPressed,\n                }),\n                className,\n            )}\n            onClick={onClick}\n            data-test-selector=\"icon-trigger\"\n        >\n            {children({\n                isClickable,\n                isDisabled: !!isDisabled,\n                isToggled: !!isToggled,\n                isFocused: !!isFocused,\n                isPressed: !!isPressed,\n            })}\n        </div>\n    );\n};\n\nexport default IconTrigger;\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { AssignActionT, ASSIGNMENT_REQUEST, RE_ASSIGNMENT_REQUEST, ReAssignActionT } from './types';\nimport { assignBegin, assignError, assignSuccess, reAssignBegin, reAssignError, reAssignSuccess } from './actions';\nimport { selectAssignmentRequestStatus, selectReAssignmentRequestStatus } from './selectors';\nimport { logWarning } from 'common/utils/logger';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { transportOrdersRefreshChannel } from 'common/store/transport-orders/channels';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport { transportOrderRefreshChannel } from 'common/store/transport-order-details/channels';\n\nfunction* assignSaga(action: AssignActionT): WrapGeneratorT<void> {\n    const { driverIds, transportationOrderId } = action;\n\n    const requestStatus: ReturnType<typeof selectAssignmentRequestStatus> = yield select(selectAssignmentRequestStatus);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(assignBegin());\n\n    const [error]: ReturnApiT<typeof carrierTranziitApi.assignDrivers> = yield carrierTranziitApi.assignDrivers(\n        transportationOrderId,\n        {\n            mainDriverId: driverIds[0],\n            teamDriverId: driverIds[1] || undefined,\n        },\n    );\n\n    if (error) {\n        yield put(assignError(error));\n    } else {\n        yield put(assignSuccess());\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.driverAssigned,\n                    data: {\n                        driversCount: driverIds?.length || 0,\n                    },\n                }),\n            ),\n        );\n    }\n\n    transportOrderRefreshChannel.emit({});\n    transportOrdersRefreshChannel.emit({});\n    stateMachineRefreshChannel.emit({});\n}\n\nfunction* reAssignSaga(action: ReAssignActionT): WrapGeneratorT<void> {\n    const { transportationOrderId, driverIds } = action;\n    if (!transportationOrderId || !driverIds.length) {\n        logWarning('empty tourId or driverId');\n        return;\n    }\n\n    const requestStatus: ReturnType<typeof selectReAssignmentRequestStatus> = yield select(\n        selectReAssignmentRequestStatus,\n    );\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(reAssignBegin());\n\n    const [error]: ReturnApiT<typeof carrierTranziitApi.reAssignDrivers> = yield carrierTranziitApi.reAssignDrivers(\n        transportationOrderId,\n    );\n    if (error) {\n        yield put(reAssignError(error));\n    } else {\n        yield put(reAssignSuccess());\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.driverUnassigned,\n                    data: {\n                        driversCount: driverIds?.length || 0,\n                    },\n                }),\n            ),\n        );\n    }\n\n    transportOrderRefreshChannel.emit({});\n    transportOrdersRefreshChannel.emit({});\n    stateMachineRefreshChannel.emit({});\n}\n\nfunction* dispatchAssigmentSaga(): WrapGeneratorT<void> {\n    yield takeEvery(ASSIGNMENT_REQUEST, assignSaga);\n    yield takeEvery(RE_ASSIGNMENT_REQUEST, reAssignSaga);\n}\n\nexport default dispatchAssigmentSaga;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport SideBarMessage, {\n    SideBarMessageEnum,\n    SideBarMessagePropsT,\n} from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarMessage/SideBarMessage';\nimport SideBarLoader from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLoader/SideBarLoader';\nimport {\n    checkIsTranziitApiRequestError,\n    extractApiRequestErrorTraceId,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport {\n    checkIsApiRequestError,\n    checkIsForbiddenError,\n    checkIsNetworkError,\n    checkIsUnauthorizedError,\n} from 'common/utils/api/errors/api-request-error';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { generateTraceId } from 'common/utils/logger';\nimport { useTranslation } from 'react-i18next';\n\nimport styles from './SideBarRequestStatus.scss';\n\nconst cx = classNames.bind(styles);\n\nconst checkIsNotFoundError = (error: Error | null | undefined): boolean => {\n    if (!checkIsApiRequestError(error)) {\n        return false;\n    }\n    if (error.httpStatusCode === 404) {\n        return true;\n    }\n    if (checkIsTranziitApiRequestError(error)) {\n        return (\n            error.subType === TranziitApiRequestErrorSubTypeEnum.notFoundUser ||\n            error.subType === TranziitApiRequestErrorSubTypeEnum.notFoundCompany\n        );\n    }\n    return false;\n};\n\nexport type PropsT = {\n    requestStatus: RequestStatusT;\n    hasCachedData: boolean;\n    children: React.ReactNode;\n    SkeletonComponent?: React.ComponentType<{}>;\n    onRetry?: () => void;\n};\n\nconst SideBarRequestStatus: React.FC<PropsT> = (props) => {\n    const { requestStatus, hasCachedData, children, SkeletonComponent, onRetry } = props;\n    const { t } = useTranslation();\n\n    if (requestStatus.error) {\n        const { error } = requestStatus;\n        let traceId = extractApiRequestErrorTraceId(error);\n        if (!traceId) {\n            traceId = generateTraceId();\n        }\n\n        let messageProps: SideBarMessagePropsT = {\n            iconType: SideBarMessageEnum.warning,\n            title: t('common:common-errors.something-went-wrong.title'),\n            description: t('common:common-errors.something-went-wrong.description'),\n            traceId,\n        };\n\n        if (checkIsNetworkError(error)) {\n            messageProps = {\n                ...messageProps,\n                title: t('common:common-errors.no-internet.title'),\n                description: t('common:common-errors.no-internet.description'),\n            };\n        } else if (checkIsNotFoundError(error)) {\n            messageProps = {\n                ...messageProps,\n                title: t('common:common-errors.not-found.title'),\n            };\n        } else if (checkIsUnauthorizedError(error)) {\n            messageProps = {\n                ...messageProps,\n                title: t('common:common-errors.not-authorized.title'),\n            };\n        } else if (\n            checkIsTranziitApiRequestError(error) &&\n            (error.subType === TranziitApiRequestErrorSubTypeEnum.accessDeniedToEntity ||\n                error.subType === TranziitApiRequestErrorSubTypeEnum.accessDeniedToApi)\n        ) {\n            messageProps = {\n                ...messageProps,\n                title: t('common:common-errors.access-denied.title'),\n            };\n        } else if (checkIsForbiddenError(error)) {\n            messageProps = {\n                ...messageProps,\n                title: t('common:common-errors.access-denied.title'),\n            };\n        }\n\n        return (\n            <SideBarMessage\n                className={cx('error-container')}\n                {...messageProps}\n                actionsProps={[\n                    onRetry\n                        ? {\n                              children: t('common:common-errors.something-went-wrong.actions.retry'),\n                              onClick: onRetry,\n                          }\n                        : null,\n                ]}\n            />\n        );\n    }\n\n    if (!hasCachedData && !requestStatus.ok) {\n        if (SkeletonComponent) {\n            return <SkeletonComponent />;\n        }\n        return <SideBarLoader />;\n    }\n\n    return <>{children}</>;\n};\n\nexport default SideBarRequestStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"notification\":\"SaveChangesNotification__notification___t8iNb\",\"notification__icon\":\"SaveChangesNotification__notification__icon___vvADg\",\"notification__label\":\"SaveChangesNotification__notification__label___i_Mwh\",\"circle\":\"SaveChangesNotification__circle___hs0tL\",\"circle__orange\":\"SaveChangesNotification__circle__orange___iMbQL\",\"circle__green\":\"SaveChangesNotification__circle__green___d5PGf\",\"fadeIn\":\"SaveChangesNotification__fadeIn___cSO46\",\"blinking\":\"SaveChangesNotification__blinking___kIQzC\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT, UpdateWayEnum } from './constants';\nimport {\n    checkNotEmpty,\n    checkMinValue,\n    checkMaxValue,\n    checkIsPositiveNumberOrZeroValue,\n} from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.updateWay] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    if (values[FieldsEnum.updateWay] === UpdateWayEnum.newRate) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.rate], values),\n            ...checkIsPositiveNumberOrZeroValue(t, [FieldsEnum.rate], values),\n            ...checkMinValue(t, [FieldsEnum.rate], values, 0),\n            ...checkMaxValue(t, [FieldsEnum.rate], values, 10),\n        };\n    }\n\n    if (values[FieldsEnum.updateWay] === UpdateWayEnum.assignContract) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.contractId], values),\n        };\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import { FieldsEnum as DetailsFieldsEnum, FormValuesT as DetailsFormValuesT } from './TruckDetailsForm/constants';\nimport { ApiTruckAddRequestT, ApiTruckUpdateRequestT, CountryCodeT } from 'common/utils/api/models';\nimport { parseSimpleNumber, parseStringFormatter } from 'common/utils/input-parsers';\n\nconst prepareUpdateApiTruck = (detailsFormValues: DetailsFormValuesT): ApiTruckUpdateRequestT | null => {\n    const contractId = detailsFormValues[DetailsFieldsEnum.contract];\n\n    return {\n        cabinColor: parseStringFormatter(detailsFormValues[DetailsFieldsEnum.cabinColor]),\n        contractId: contractId || undefined,\n        ratePerKm: contractId === null ? parseSimpleNumber(detailsFormValues[DetailsFieldsEnum.ratePerKm]) : undefined,\n    };\n};\n\nconst prepareCreateApiTruck = (detailsFormValues: DetailsFormValuesT): ApiTruckAddRequestT | null => {\n    const updateApiTruck = prepareUpdateApiTruck(detailsFormValues);\n\n    return {\n        cabinColor: '', // cabin color not required\n        ...updateApiTruck,\n        dictTruckId: detailsFormValues[DetailsFieldsEnum.truckModel] as string,\n        countryOfRegistration: detailsFormValues[DetailsFieldsEnum.countryCode] as CountryCodeT,\n        vin: parseStringFormatter(detailsFormValues[DetailsFieldsEnum.vin]),\n        plateNumber: parseStringFormatter(detailsFormValues[DetailsFieldsEnum.plateNumber]),\n    };\n};\n\nexport { prepareCreateApiTruck, prepareUpdateApiTruck };\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport NumberIcon from 'common/icons/NumberIcon';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    isNewRoutePoint?: boolean;\n    isDriveThroughRoutePointPicker?: boolean;\n    isDropAndHookRoutePointPicker?: boolean;\n    isPickUpDeliveryRoutePointPicker?: boolean;\n    hasValue?: boolean;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    isDisabled?: boolean;\n};\n\nconst WaypointNumberIcon: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        isNewRoutePoint,\n        isDriveThroughRoutePointPicker,\n        isDropAndHookRoutePointPicker,\n        isPickUpDeliveryRoutePointPicker,\n        hasValue,\n        hasError,\n        hasWarning,\n        isDisabled,\n    } = props;\n\n    let fillColor = StyleGuideColorsEnum.light;\n\n    if (isDriveThroughRoutePointPicker && hasValue) {\n        fillColor = StyleGuideColorsEnum.gray;\n    }\n\n    if (isDropAndHookRoutePointPicker && hasValue) {\n        fillColor = StyleGuideColorsEnum.charcoal;\n    }\n\n    if (isPickUpDeliveryRoutePointPicker && hasValue) {\n        fillColor = StyleGuideColorsEnum.charcoal;\n    }\n\n    if (isNewRoutePoint && hasValue) {\n        fillColor = StyleGuideColorsEnum.blazeOrange;\n    }\n\n    if (hasError && hasValue) {\n        fillColor = StyleGuideColorsEnum.tomatoRed;\n    }\n\n    if (hasWarning && hasValue) {\n        fillColor = StyleGuideColorsEnum.orange;\n    }\n\n    if (isDisabled) {\n        fillColor = StyleGuideColorsEnum.slate;\n    }\n\n    return <NumberIcon className={className} number={routePointIndex + 1} fillColor={fillColor} />;\n});\n\nexport default WaypointNumberIcon;\n","import { useMemo, useState } from 'react';\n\nexport type UseTabsResultT<T extends string> = {\n    activeTabType: T;\n    setActiveTabType: (tabType: T) => void;\n};\n\nexport const useTabs = <T extends string>(initialActiveTabType: T): UseTabsResultT<T> => {\n    const [activeTabType, setActiveTabType] = useState<T>(initialActiveTabType);\n\n    return useMemo(() => {\n        return {\n            activeTabType,\n            setActiveTabType,\n        };\n    }, [activeTabType, setActiveTabType]);\n};\n","import * as React from 'react';\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { ReserveT } from 'common/store/order-creation/models';\nimport { useTranslation } from 'react-i18next';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport classNames from 'classnames/bind';\nimport styles from './DriveThroughRoutePointPicker.scss';\nimport DeleteWaypointTrigger from 'common/layouts/NewOrderPage/ShipmentDetailsForm/DeleteWaypointTrigger/DeleteWaypointTrigger';\nimport WaypointNumberIcon from 'common/layouts/NewOrderPage/ShipmentDetailsForm/WaypointNumberIcon/WaypointNumberIcon';\nimport { SyncShipmentDetailsFormMapStateContext } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-map-state';\nimport { OnChangeRoutePointReserveT } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/models';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport { useFormikContext } from 'formik';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    reserve: ReserveT | null;\n    onRemove: (index: number) => void;\n    isAllowRemove: boolean;\n    onManualSelectLocation: (location: LocationT | null, routePointIndex: number) => void;\n    onChangeRoutePointReserve: OnChangeRoutePointReserveT;\n    onResetRoutePointLocation: () => void;\n    isDisabledPreviewReserve?: boolean;\n    isShowSuggestLoading?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DriveThroughRoutePointPicker: React.FC<PropsT> = React.memo((props) => {\n    const {\n        routePointIndex,\n        reserve,\n        onRemove,\n        isShowSuggestLoading,\n        isAllowRemove,\n        onManualSelectLocation,\n        onResetRoutePointLocation,\n        onChangeRoutePointReserve,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const syncShipmentDetailsFormMapStateContext = React.useContext(SyncShipmentDetailsFormMapStateContext);\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const fakeIdFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.fakeId}` as const;\n\n    const fakeId = getFieldFormValue(formik.values, fakeIdFieldName);\n\n    const hasViolation = reserve?.points?.[routePointIndex]?.violated;\n\n    return (\n        <>\n            <FormikConnectContextField<FormValuesT, typeof locationFieldName>\n                name={locationFieldName}\n                label={t('common:new-order-form.fields.drive-through-point.label')}\n                warning={hasViolation ? t('common:new-order-form.warnings.check-route-points') : null}\n            >\n                {(props, extendsProps) => (\n                    <div className={cx('wrap')} data-fake-id={fakeId}>\n                        <GeoSuggest\n                            className={cx('geo-suggest')}\n                            hasTriangle\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            placeholder={t('common:new-order-form.fields.drive-through-point.placeholder')}\n                            renderLeftIcon={({ hasValue, hasError, hasWarning, isDisabled }) => (\n                                <WaypointNumberIcon\n                                    routePointIndex={routePointIndex}\n                                    hasValue={hasValue}\n                                    hasError={hasError}\n                                    hasWarning={hasWarning}\n                                    isDisabled={isDisabled}\n                                    isDriveThroughRoutePointPicker\n                                />\n                            )}\n                            onChange={(value) => {\n                                props.onChange(value);\n\n                                onManualSelectLocation(value, routePointIndex);\n\n                                onChangeRoutePointReserve(fakeId, {\n                                    [RoutePointFieldsEnum.location]: value,\n                                });\n\n                                if (value === null) {\n                                    onResetRoutePointLocation();\n                                }\n                            }}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            onFocus={() => {\n                                props.onFocus();\n\n                                if (syncShipmentDetailsFormMapStateContext?.setEditingRoutePointIndex) {\n                                    syncShipmentDetailsFormMapStateContext.setEditingRoutePointIndex(routePointIndex);\n                                }\n                            }}\n                            onBlur={() => {\n                                props.onBlur();\n\n                                if (syncShipmentDetailsFormMapStateContext?.setEditingRoutePointIndex) {\n                                    syncShipmentDetailsFormMapStateContext.setEditingRoutePointIndex(null);\n                                }\n                            }}\n                            isLoading={isShowSuggestLoading}\n                            testSelector={extendsProps.name}\n                            showClearControl={!!extendsProps.value}\n                            isRedTriangle={\n                                syncShipmentDetailsFormMapStateContext?.editingRoutePointIndex === routePointIndex &&\n                                syncShipmentDetailsFormMapStateContext?.hasEditingRoutePointError\n                            }\n                            triangleClassName={cx('triangle', {\n                                'triangle--has-remove-control': isAllowRemove,\n                            })}\n                        />\n                        {isAllowRemove && (\n                            <DeleteWaypointTrigger\n                                onClick={() => {\n                                    onRemove(routePointIndex);\n                                }}\n                            />\n                        )}\n                    </div>\n                )}\n            </FormikConnectContextField>\n        </>\n    );\n});\n\nexport default DriveThroughRoutePointPicker;\n","// extracted by mini-css-extract-plugin\nexport default {\"plate-number\":\"PlateNumberCell__plate-number___VPGm4\",\"fadeIn\":\"PlateNumberCell__fadeIn___SgqpH\",\"blinking\":\"PlateNumberCell__blinking___pCm0r\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"TableMessage__wrap___P3xyR\",\"container\":\"TableMessage__container___b8UBa\",\"icon\":\"TableMessage__icon___mJ7_g\",\"title\":\"TableMessage__title___pwzuN\",\"description\":\"TableMessage__description___huFPh\",\"action\":\"TableMessage__action___WJf9C\",\"button\":\"TableMessage__button___L2aPb\",\"fadeIn\":\"TableMessage__fadeIn___TGF17\",\"blinking\":\"TableMessage__blinking___uhFH1\"};","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst UserMainPill: React.FC<PropsT> = React.memo((props) => {\n    const { t } = useTranslation();\n\n    return (\n        <PillLabel className={props.className} theme={PillLabelThemeEnum.orange} isSymmetrical>\n            {t('common:team-members.main')}\n        </PillLabel>\n    );\n});\n\nexport default UserMainPill;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './InlineLoader.scss';\n\ntype PropsT = {\n    lineHeight?: number;\n};\n\nconst cx = classNames.bind(styles);\n\nconst RATIO = 4;\n\nconst InlineLoader: React.FC<PropsT> = React.memo((props) => {\n    const { lineHeight = 20 } = props;\n\n    const verticalPadding = lineHeight / 4;\n    const size = lineHeight - verticalPadding;\n    return (\n        <div\n            className={cx('inner')}\n            style={{\n                width: `${size * RATIO}px`,\n                height: `${lineHeight}px`,\n                padding: `${verticalPadding}px 0`,\n            }}\n        >\n            <div className={cx('inline-loader')} />\n        </div>\n    );\n});\n\nexport default InlineLoader;\n","import isNil from 'lodash/isNil';\nimport isString from 'lodash/isString';\nimport moment from 'moment';\nimport { ApiLocationT } from './api/models';\nimport { clearDateTimezone } from 'common/utils/time';\n\nexport const DATE_INTERVAL_SPECIAL_SYMBOLS = {\n    FUTURE: '∞',\n};\n\nconst dateIntervalSpecialSymbolsSet = new Set<string>(Object.values(DATE_INTERVAL_SPECIAL_SYMBOLS));\n\nexport const formatDateInterval = (\n    from: string | null | undefined,\n    to: string | null | undefined,\n    format = 'YYYY-MM-DD HH:mm',\n): string => {\n    return [from, to]\n        .filter(Boolean)\n        .map((time) => {\n            if (time && dateIntervalSpecialSymbolsSet.has(time)) {\n                return time;\n            }\n\n            return moment(clearDateTimezone(time)).format(format);\n        })\n        .join(' - ');\n};\n\nexport const formatLocation = (location: ApiLocationT | null | undefined, separator = ' '): string => {\n    if (!location) {\n        return '';\n    }\n\n    return [location.street1, location.street2, location.zipCode, location.city, location.country]\n        .filter(Boolean)\n        .join(separator);\n};\n\nexport const formatThousandNumber = (value: number | null | undefined): string => {\n    if (isNil(value)) {\n        return '';\n    }\n    return value.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1 ');\n};\n\nexport const formatTemperature = (value: number | string | null | undefined): string => {\n    if (isNil(value)) {\n        return '';\n    }\n\n    if (isString(value)) {\n        return value;\n    }\n\n    let sign = '';\n    if (value > 0) {\n        sign = '+';\n    }\n    if (value < 0) {\n        sign = '-';\n    }\n\n    return `${sign}${Math.abs(value)}`;\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ImageGalleryModal.scss';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport Modal from 'common/components/Modal/Modal';\nimport ImageLoader from '../../ImageLoader/ImageLoader';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\n\nconst cx = classNames.bind(styles);\n\nexport type ImageGalleryModalDataT = {\n    src: string | null;\n    alt: string | null;\n};\n\ntype PropsT = {\n    data: ImageGalleryModalDataT | null;\n    onClose: () => void;\n};\n\nconst ImageGalleryModal: React.FC<PropsT> = React.memo((props) => {\n    const { data, onClose } = props;\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <div className={cx('inner')}>\n                    <ImageLoader className={cx('image')} alt={data.alt} src={data.src} />\n                    <div className={cx('action')}>\n                        <TransparentTrigger\n                            onClick={onClose}\n                            leftIcon={<CloseIcon />}\n                            reflectionTheme={ReflectionThemeEnum.light}\n                        />\n                    </div>\n                </div>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ImageGalleryModal;\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './FieldNotes.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    error?: React.ReactNode;\n    warning?: React.ReactNode;\n    success?: React.ReactNode;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasSuccess?: boolean;\n};\n\nconst FieldNotes: React.FC<PropsT> = React.memo((props) => {\n    const { className, error, warning, success, hasError, hasWarning, hasSuccess } = props;\n\n    const noteNodes: Array<React.ReactNode> = [];\n\n    if (hasError) {\n        noteNodes.push(\n            <div key=\"error\" className={cs(cx('note', 'note--error'), className)} data-error-message={error}>\n                {error}\n            </div>,\n        );\n    }\n\n    if (hasWarning) {\n        noteNodes.push(\n            <div key=\"warning\" className={cs(cx('note', 'note--warning'), className)}>\n                {warning}\n            </div>,\n        );\n    }\n\n    if (hasSuccess) {\n        noteNodes.push(\n            <div key=\"success\" className={cs(cx('note', 'note--success'), className)}>\n                {success}\n            </div>,\n        );\n    }\n\n    const emptyNoteNode = <div key=\"empty\" className={cs(cx('note'), className)} />;\n\n    return <>{noteNodes.length ? noteNodes : emptyNoteNode}</>;\n});\n\nexport default FieldNotes;\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"InvoicesTable__table__header___FZyii\",\"table__header--number\":\"InvoicesTable__table__header--number___rqwsp\",\"table__header--actions\":\"InvoicesTable__table__header--actions___T735b\",\"table__column\":\"InvoicesTable__table__column___bdqpZ\",\"table__column--number\":\"InvoicesTable__table__column--number____XAXb\",\"table__column--customer\":\"InvoicesTable__table__column--customer___wtU5E\",\"table__column--actions\":\"InvoicesTable__table__column--actions___ub5ge\",\"fadeIn\":\"InvoicesTable__fadeIn___IALlD\",\"blinking\":\"InvoicesTable__blinking___ia6eP\"};","import * as React from 'react';\nimport { ApiDeprecatedEmissionClassT, ApiEmissionClassT, EmissionClassEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    isCompact?: boolean;\n    emissionClass: ApiEmissionClassT | null | undefined;\n};\n\nexport const EMISSION_CLASS_MAP: Record<ApiEmissionClassT, string> = {\n    [EmissionClassEnum.euro5]: 'V',\n    [EmissionClassEnum.euro6]: 'VI',\n};\n\nexport const EMISSION_CLASS_I18N_MAP: Record<ApiEmissionClassT, string> = {\n    [EmissionClassEnum.euro5]: 'common:emission-classes.EURO_V',\n    [EmissionClassEnum.euro6]: 'common:emission-classes.EURO_VI',\n};\n\nexport const DEPRECATED_EMISSION_CLASS_I18N_MAP: Record<ApiDeprecatedEmissionClassT, string> = {\n    EURO_5: 'common:emission-classes.EURO_V',\n    EURO_6: 'common:emission-classes.EURO_VI',\n};\n\nconst EmissionClassLabel: React.FC<PropsT> = React.memo((props) => {\n    const { emissionClass, isCompact } = props;\n\n    const { t } = useTranslation();\n\n    if (!emissionClass) {\n        return null;\n    }\n\n    if (isCompact) {\n        return <span>{EMISSION_CLASS_MAP[emissionClass]}</span>;\n    }\n\n    return <span>{t(EMISSION_CLASS_I18N_MAP[emissionClass])}</span>;\n});\n\nexport default EmissionClassLabel;\n","import * as React from 'react';\nimport { useCallback, useMemo } from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport isEmpty from 'lodash/isEmpty';\n\nimport styles from './InfoTable.scss';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { isNonNil } from 'common/utils';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\n\nexport type InfoTableRowT = {\n    icon: React.ReactNode;\n    name: React.ReactNode;\n    hasBottomBorder?: boolean;\n    isBoldName?: boolean;\n    value?: React.ReactNode;\n    isBoldValue?: boolean;\n    emptyValue?: React.ReactNode;\n    testSelector?: string;\n    openedClassName?: string;\n    closedClassName?: string;\n    rightNode?: React.ReactNode;\n    rawRightNode?: React.ReactNode;\n    rightNodeEmptyValue?: React.ReactNode;\n    isBoldRightNode?: boolean;\n    isLoading?: boolean;\n    isInitOpenRows?: boolean;\n    rows?: Array<InfoTableRowT | null>;\n};\n\nexport type InfoTableRowPropsT = {\n    row: InfoTableRowT;\n    className?: string;\n    shouldRenderIcons?: boolean;\n    nestIndex: number;\n    shouldRenderIcon: boolean;\n};\n\nconst InfoTableRow: React.FC<InfoTableRowPropsT> = React.memo((props) => {\n    const { row, shouldRenderIcon, className, nestIndex } = props;\n\n    const filteredSubRows = useMemo(() => {\n        return row?.rows?.filter(isNonNil) || [];\n    }, [row?.rows]);\n\n    const isCollapsable = filteredSubRows.length > 0;\n\n    const [isOpen, setOpen] = React.useState<boolean>(!!row?.isInitOpenRows);\n\n    const toggle = useCallback(() => {\n        setOpen((isOpen) => !isOpen);\n    }, [setOpen]);\n\n    const isEmptyValue = isEmpty(row.value) && isEmpty(row.rightNode);\n\n    const rowFullTestSelector = `table_${row.testSelector}_row`;\n\n    const isFullNameWidth = !row.emptyValue && !row.value;\n\n    return (\n        <>\n            <div\n                className={cs(\n                    cx('grid__row', {\n                        'grid__row--is-opened-first-row': isCollapsable && isOpen,\n                    }),\n                    className,\n                    isOpen ? row.openedClassName : row.closedClassName,\n                )}\n                style={{\n                    paddingLeft: `${30 * nestIndex}px`,\n                }}\n            >\n                {shouldRenderIcon && (\n                    <div\n                        className={cx('grid__cell', 'grid__cell--isIcon')}\n                        data-test-selector={`${rowFullTestSelector}_icon`}\n                    >\n                        {row.icon}\n                    </div>\n                )}\n                <div\n                    className={cx('grid__cell', 'grid__cell--isName', {\n                        'grid__cell--hasBottomBorder': row.hasBottomBorder,\n                        'grid__cell--isBold': row.isBoldName,\n                        'grid__cell--isFixedName': !isFullNameWidth,\n                    })}\n                    data-test-selector={`${rowFullTestSelector}_name`}\n                >\n                    {row.name}\n                </div>\n                {(row.emptyValue || row.value || row.isLoading) && (\n                    <div\n                        className={cx('grid__cell', 'grid__cell--isValue', {\n                            'grid__cell--hasBottomBorder': row.hasBottomBorder,\n                            'grid__cell--isEmpty': isEmptyValue,\n                            'grid__cell--isBold': row.isBoldValue,\n                        })}\n                        data-test-selector={`${rowFullTestSelector}_value`}\n                    >\n                        {row.isLoading ? (\n                            <ControlLoaderIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.brandAccent} />\n                        ) : (\n                            <>{isEmptyValue ? row.emptyValue : row.value}</>\n                        )}\n                    </div>\n                )}\n                {(row.rightNodeEmptyValue || row.rightNode) && (\n                    <div\n                        className={cx('grid__cell', 'grid__cell--isRightNode', {\n                            'grid__cell--isFlexContainer': true,\n                            'grid__cell--hasBottomBorder': row.hasBottomBorder,\n                            'grid__cell--isEmpty': isEmptyValue,\n                            'grid__cell--isBold': row.isBoldRightNode,\n                        })}\n                        data-test-selector={`${rowFullTestSelector}_right-node`}\n                    >\n                        <>{isEmptyValue ? row.rightNodeEmptyValue : row.rightNode}</>\n                    </div>\n                )}\n                {row.rawRightNode}\n                {isCollapsable && (\n                    <div\n                        className={cx('grid__cell', 'grid__cell--isTrigger', {\n                            'grid__cell--hasBottomBorder': row.hasBottomBorder,\n                        })}\n                        data-test-selector={`table_trigger-${row.testSelector}`}\n                    >\n                        <TransparentTrigger\n                            spaces=\"xs\"\n                            onClick={toggle}\n                            leftIcon={<ExpandIcon fillColor={StyleGuideColorsEnum.brandAccent} isInvert={isOpen} />}\n                            reflectionTheme={ReflectionThemeEnum.light}\n                        />\n                    </div>\n                )}\n            </div>\n            {isOpen && isCollapsable && <InfoTableRows rows={filteredSubRows} nestIndex={nestIndex + 1} />}\n        </>\n    );\n});\n\nexport type InfoTableRowsPropsT = {\n    shouldRenderIcons?: boolean;\n    rows: Array<InfoTableRowT | null>;\n    nestIndex: number;\n};\n\nconst InfoTableRows: React.FC<InfoTableRowsPropsT> = React.memo((props) => {\n    const { shouldRenderIcons, nestIndex, rows } = props;\n\n    const filteredRows = useMemo(() => {\n        return rows.filter(isNonNil);\n    }, [rows]);\n\n    const shouldRenderIcon = useMemo(() => {\n        return shouldRenderIcons || filteredRows.some((row) => !!row.icon);\n    }, [filteredRows, shouldRenderIcons]);\n\n    if (isEmpty(filteredRows)) {\n        return null;\n    }\n\n    return (\n        <>\n            {filteredRows.map((row, rowIndex) => {\n                return (\n                    <InfoTableRow key={rowIndex} row={row} nestIndex={nestIndex} shouldRenderIcon={shouldRenderIcon} />\n                );\n            })}\n        </>\n    );\n});\n\nexport type PropsT = {\n    shouldRenderIcons?: boolean;\n    rows: Array<InfoTableRowT | null>;\n    className?: string;\n    testSelector?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst InfoTable: React.FC<PropsT> = React.memo((props) => {\n    const { rows, shouldRenderIcons, className, testSelector } = props;\n\n    const tableFullTestSelector = `${testSelector}_info-table`;\n\n    const filteredRows = useMemo(() => {\n        return rows.filter(isNonNil);\n    }, [rows]);\n\n    if (isEmpty(filteredRows)) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('grid'), className)} data-test-selector={tableFullTestSelector}>\n            <InfoTableRows shouldRenderIcons={shouldRenderIcons} rows={filteredRows} nestIndex={0} />\n        </div>\n    );\n});\n\nexport default InfoTable;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsChangesT } from 'broker-admin/store/price-settings/system-settings/models';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\n\nconst prepareApiSystemSettings = (formValues: FormValuesT): SystemSettingsChangesT => {\n    const firstRadiusOfAssignmentFilter = parseSimpleNumber(formValues[FieldsEnum.firstRadiusOfAssignmentFilter]);\n    const secondRadiusOfAssignmentFilter = parseSimpleNumber(formValues[FieldsEnum.secondRadiusOfAssignmentFilter]);\n    const thirdRadiusOfAssignmentFilter = parseSimpleNumber(formValues[FieldsEnum.thirdRadiusOfAssignmentFilter]);\n    const timeToHookTrailer = parseSimpleNumber(formValues[FieldsEnum.timeToHookTrailer]);\n    const timeToDropTrailer = parseSimpleNumber(formValues[FieldsEnum.timeToDropTrailer]);\n    const timeToPickupTruck = parseSimpleNumber(formValues[FieldsEnum.timeToPickupTruck]);\n    const timeToDropTruck = parseSimpleNumber(formValues[FieldsEnum.timeToDropTruck]);\n    const geoMatrixCoefficient = parseSimpleNumber(formValues[FieldsEnum.geoMatrixCoefficient]);\n    const averageTruckSpeed = parseSimpleNumber(formValues[FieldsEnum.averageTruckSpeed]);\n\n    return {\n        FIRST_RADIUS_OF_ASSIGNMENT_FILTER: firstRadiusOfAssignmentFilter?.toString(),\n        SECOND_RADIUS_OF_ASSIGNMENT_FILTER: secondRadiusOfAssignmentFilter?.toString(),\n        THIRD_RADIUS_OF_ASSIGNMENT_FILTER: thirdRadiusOfAssignmentFilter?.toString(),\n        TIME_TO_HOOK_TRAILER: timeToHookTrailer?.toString(),\n        TIME_TO_DROP_TRAILER: timeToDropTrailer?.toString(),\n        TIME_TO_PICKUP_TRUCK: timeToPickupTruck?.toString(),\n        TIME_TO_DROP_TRUCK: timeToDropTruck?.toString(),\n        GEO_MATRIX_COEFFICIENT: geoMatrixCoefficient?.toString(),\n        AVERAGE_TRUCK_SPEED: averageTruckSpeed?.toString(),\n    };\n};\n\nexport default prepareApiSystemSettings;\n","import { ApiTimeZoneT } from 'common/utils/api/models';\nimport { ApiBrokerTeamCompanyT, ApiBrokerTeamUserT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport enum FieldsEnum {\n    name = 'name',\n    timeZone = 'timeZone',\n    users = 'users',\n    partners = 'partners',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.name]: string;\n    [FieldsEnum.timeZone]: ApiTimeZoneT | null;\n    [FieldsEnum.users]: Array<ApiBrokerTeamUserT>;\n    [FieldsEnum.partners]: Array<ApiBrokerTeamCompanyT>;\n};\n\nexport enum TeamComponentTabEnum {\n    users = 'users',\n    partners = 'partners',\n}\n","import { CompanyTransportOrdersStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { initialCompanyTransportOrdersState } from './reducer';\n\nconst selectCompanyState = (state: SharableStateT, companyId: CompanyIdT | null): CompanyTransportOrdersStateT => {\n    if (!companyId) {\n        return initialCompanyTransportOrdersState;\n    }\n\n    return state.transportOrders[companyId] || initialCompanyTransportOrdersState;\n};\n\nexport const selectTransportOrdersPages = (companyId: CompanyIdT | null) => {\n    return (state: SharableStateT): CompanyTransportOrdersStateT['pages'] => {\n        return selectCompanyState(state, companyId).pages;\n    };\n};\n\nexport const selectTransportOrdersQuery = (companyId: CompanyIdT | null) => {\n    return (state: SharableStateT): CompanyTransportOrdersStateT['query'] => selectCompanyState(state, companyId).query;\n};\n\nexport const selectTransportOrdersTotal = (companyId: CompanyIdT | null) => {\n    return (state: SharableStateT): CompanyTransportOrdersStateT['total'] => selectCompanyState(state, companyId).total;\n};\n\nexport const selectTransportOrdersByIds = (companyId: CompanyIdT | null) => {\n    return (state: SharableStateT): CompanyTransportOrdersStateT['byId'] => selectCompanyState(state, companyId).byId;\n};\n","import * as React from 'react';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst BigTrashIcon: React.FC<PropsT> = (props) => {\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width={200}\n            height={130}\n            viewBox=\"0 0 200 130\"\n            {...props}\n        >\n            <defs>\n                <path id=\"prefix__a\" d=\"M37 32c20.435 0 37-2.686 37-6S57.435 0 37 0 0 22.686 0 26s16.565 6 37 6z\" />\n            </defs>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h200v130H0z\" />\n                <path\n                    fill=\"#D32406\"\n                    d=\"M103 27a7 7 0 110 14h64a7 7 0 110 14h22a7 7 0 110 14h-19a7 7 0 100 14h6a7 7 0 110 14h-52a7.056 7.056 0 01-1.5-.161A7.056 7.056 0 01121 97H40a7 7 0 110-14H7a7 7 0 110-14h34a7 7 0 100-14H22a7 7 0 110-14h34a7 7 0 110-14h47zm90 56a7 7 0 110 14 7 7 0 010-14z\"\n                    opacity={0.1}\n                />\n                <path\n                    stroke=\"#D32406\"\n                    strokeLinecap=\"round\"\n                    strokeLinejoin=\"round\"\n                    strokeWidth={2.5}\n                    d=\"M36 108.5h21.454m-34.326 0H30m136.128 0H169m-30 0h22.428\"\n                />\n                <ellipse\n                    cx={98}\n                    cy={121}\n                    fill=\"#D32406\"\n                    fillOpacity={0.3}\n                    stroke=\"#D32406\"\n                    strokeLinecap=\"round\"\n                    strokeWidth={2.5}\n                    rx={37}\n                    ry={7}\n                />\n                <path\n                    fill=\"#FFF\"\n                    stroke=\"#D32406\"\n                    strokeLinecap=\"round\"\n                    strokeWidth={2.5}\n                    d=\"M61 84.215V44c0-1.657 1.35-3 3.017-3h69.019c1.085 0 1.964.895 1.964 2v73c0 2.21-8 8-37 8s-37-5.79-37-8V97m0-4v-5\"\n                />\n                <g stroke=\"#D32406\" strokeLinecap=\"round\" strokeWidth={2.5} transform=\"translate(61 36)\">\n                    <ellipse cx={37} cy={6} fill=\"#FFF\" rx={37} ry={6} />\n                    <ellipse cx={37} cy={6} fill=\"#D32406\" fillOpacity={0.3} rx={37} ry={6} />\n                </g>\n                <g transform=\"translate(61 13)\">\n                    <mask id=\"prefix__b\" fill=\"#fff\">\n                        <use xlinkHref=\"#prefix__a\" />\n                    </mask>\n                    <g mask=\"url(#prefix__b)\">\n                        <path\n                            fill=\"#FFF\"\n                            stroke=\"#D32406\"\n                            strokeLinecap=\"round\"\n                            strokeWidth={2.5}\n                            d=\"M47.943 16.191l5.43 39.632.489 3.976a2.33 2.33 0 01-2.021 2.602l-34.014 4.176a2.33 2.33 0 01-2.591-2.036L9.969 21.648a1.166 1.166 0 011.01-1.301l.013-.002 2.822-.316m2.282-.256l2.664-.298\"\n                        />\n                        <path\n                            fill=\"#D32406\"\n                            fillOpacity={0.3}\n                            d=\"M46.489 18.673l4.89 35.915.44 3.604c.142 1.16-.668 2.215-1.808 2.356L19.55 64.31c-1.141.14-2.18-.686-2.322-1.847l-4.633-37.951a2 2 0 011.74-2.228l2.94-.363\"\n                        />\n                        <path\n                            fill=\"#FFF\"\n                            stroke=\"#D32406\"\n                            strokeWidth={2.5}\n                            d=\"M49.152 9.25c.73 0 1.43.29 1.946.807h0l6.848 6.858c.515.516.804 1.215.804 1.944h0V53A2.744 2.744 0 0156 55.75h0-31A2.744 2.744 0 0122.25 53h0V12A2.744 2.744 0 0125 9.25h0z\"\n                        />\n                        <path\n                            stroke=\"#D32406\"\n                            strokeLinecap=\"round\"\n                            strokeLinejoin=\"round\"\n                            strokeWidth={2.5}\n                            d=\"M50 10v7.15c0 1.022.737 1.85 1.646 1.85H56\"\n                        />\n                        <path\n                            stroke=\"#D32406\"\n                            strokeLinecap=\"round\"\n                            strokeLinejoin=\"round\"\n                            strokeOpacity={0.3}\n                            strokeWidth={2.5}\n                            d=\"M28 18.288h15.116M28 25.212h25m-25 7.5h25m-25 7.5h25m-25 7.5h15.116\"\n                        />\n                    </g>\n                </g>\n                <g stroke=\"#D32406\" strokeWidth={2.5} transform=\"translate(81 55)\">\n                    <ellipse cx={4} cy={3.5} fill=\"#D32406\" fillOpacity={0.3} rx={4} ry={2.545} />\n                    <path strokeLinecap=\"round\" d=\"M56 7c0 8.837-11.64 16-26 16S4 15.837 4 7\" />\n                </g>\n                <path\n                    stroke=\"#D32406\"\n                    strokeLinecap=\"round\"\n                    strokeLinejoin=\"round\"\n                    strokeWidth={2.5}\n                    d=\"M117 7l-8 9M98.5 4v12M79 7l8 9\"\n                    opacity={0.3}\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigTrashIcon.displayName = 'BigTrashIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default BigTrashIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"empty-flag\":\"PhoneNumberIcon__empty-flag___yHLdk\",\"fadeIn\":\"PhoneNumberIcon__fadeIn____Hc3k\",\"blinking\":\"PhoneNumberIcon__blinking___o_8Aq\"};","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"TimeIntervalDurationPillLabel__text___epSFn\",\"fadeIn\":\"TimeIntervalDurationPillLabel__fadeIn___Wt4Hv\",\"blinking\":\"TimeIntervalDurationPillLabel__blinking___Hba3R\"};","import {\n    FETCH_COMPANY_REQUEST,\n    FETCH_COMPANY_REQUEST_BEGIN,\n    FETCH_COMPANY_REQUEST_ERROR,\n    FETCH_COMPANY_REQUEST_SUCCESS,\n    FetchCompanyActionT,\n    FetchCompanyBeginActionT,\n    FetchCompanyErrorActionT,\n    FetchCompanySuccessActionT,\n    UPDATE_COMPANY_REQUEST,\n    UPDATE_COMPANY_REQUEST_BEGIN,\n    UPDATE_COMPANY_REQUEST_ERROR,\n    UPDATE_COMPANY_REQUEST_SUCCESS,\n    UpdateCompanyActionT,\n    UpdateCompanyBeginActionT,\n    UpdateCompanyErrorActionT,\n    UpdateCompanySuccessActionT,\n} from './types';\nimport { CompanyChangesT, CompanyT } from './models';\n\nexport const fetchCompany = (options?: FetchOptionsT): FetchCompanyActionT => ({\n    type: FETCH_COMPANY_REQUEST,\n    options,\n});\n\nexport const fetchCompanyBegin = (): FetchCompanyBeginActionT => ({\n    type: FETCH_COMPANY_REQUEST_BEGIN,\n});\n\nexport const fetchCompanySuccess = (currentCompany: CompanyT | null): FetchCompanySuccessActionT => ({\n    type: FETCH_COMPANY_REQUEST_SUCCESS,\n    currentCompany,\n});\n\nexport const fetchCompanyError = (error: Error): FetchCompanyErrorActionT => ({\n    type: FETCH_COMPANY_REQUEST_ERROR,\n    error,\n});\n\nexport const updateCompany = (company: CompanyT, companyChanges: CompanyChangesT): UpdateCompanyActionT => ({\n    type: UPDATE_COMPANY_REQUEST,\n    companyChanges,\n    company,\n});\n\nexport const updateCompanyBegin = (): UpdateCompanyBeginActionT => ({\n    type: UPDATE_COMPANY_REQUEST_BEGIN,\n});\n\nexport const updateCompanySuccess = (currentCompany: CompanyT | null): UpdateCompanySuccessActionT => ({\n    type: UPDATE_COMPANY_REQUEST_SUCCESS,\n    currentCompany,\n});\n\nexport const updateCompanyError = (error: Error): UpdateCompanyErrorActionT => ({\n    type: UPDATE_COMPANY_REQUEST_ERROR,\n    error,\n});\n","import * as React from 'react';\nimport {\n    selectTrailersDict,\n    selectTrailersDictById,\n    selectTrailersDictRequest,\n} from 'common/store/trailers-dict/selectors';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\n\nconst useTrailersDict = () => {\n    const dispatch = useDispatch();\n\n    const trailersDictRequest = useSelector(selectTrailersDictRequest);\n    const trailersDict = useSelector(selectTrailersDict);\n    const trailersDictById = useSelector(selectTrailersDictById);\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    return {\n        trailersDict,\n        trailersDictById,\n        trailersDictRequest,\n    };\n};\n\nexport { useTrailersDict };\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerOrderRouteEditPage.scss';\n\nimport { useParams } from 'react-router-dom';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport RouteEditMap from './RouteEditMap/RouteEditMap';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport RouteEditForm from './RouteEditForm/RouteEditForm';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\n\nimport { SyncRouteEditFormMapStateContext } from './contexts/sync-map-state';\nimport { usySyncMapStateContextValue } from './hooks/usySyncMapStateContextValue';\nimport { finishOrderEdit, initOrderEdit } from 'broker-admin/store/order-edit/slice';\nimport {\n    selectOrderEditApplyContextRequest,\n    selectOrderEditContext,\n    selectOrderEditCreateContextRequest,\n    selectOrderEditDeleteContextRequest,\n    selectOrderEditBrokerOrderDetails,\n} from 'broker-admin/store/order-edit/selectors';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\nimport RouteSidebarSkeleton from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteSidebarSkeleton/RouteSidebarSkeleton';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport { BrokerOrdersRoutesEnum } from 'broker-admin/constants';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst BrokerOrderRouteEditPage: React.FC<PropsT> = React.memo(() => {\n    const params = useParams<ExtractRouterRouteParamsT<BrokerOrdersRoutesEnum.brokerOrderRouteEdit>>();\n    const { brokerOrderId } = params;\n\n    const mapStateContextValue = usySyncMapStateContextValue();\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const { t } = useTranslation();\n\n    const deleteContextRequest = useSelector(selectOrderEditDeleteContextRequest);\n    const applyContextRequest = useSelector(selectOrderEditApplyContextRequest);\n    const createContextRequest = useSelector(selectOrderEditCreateContextRequest);\n    const brokerOrderDetails = useSelector(selectOrderEditBrokerOrderDetails);\n    const context = useSelector(selectOrderEditContext);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(initOrderEdit({ brokerOrderId }));\n    }, [brokerOrderId, dispatch]);\n\n    const handleClose = () => {\n        goBackIfHasRePath(() => {\n            if (!brokerOrderId) {\n                logWarning('Empty brokerOrderId');\n                return;\n            }\n\n            history.push(urlFactory.brokerOrderDetails(brokerOrderId));\n        });\n    };\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n\n        return () => {\n            dispatch(finishOrderEdit({ brokerOrderId }));\n        };\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    useOnlyChangesEffect(() => {\n        if (deleteContextRequest.ok) {\n            handleClose();\n        }\n    }, [deleteContextRequest.ok]);\n\n    useOnlyChangesEffect(() => {\n        if (applyContextRequest.ok) {\n            handleClose();\n        }\n    }, [applyContextRequest.ok]);\n\n    const handleRetry = React.useCallback(() => {\n        if (brokerOrderId) {\n            dispatch(initOrderEdit({ brokerOrderId }));\n        }\n    }, [brokerOrderId, dispatch]);\n\n    return (\n        <SyncRouteEditFormMapStateContext.Provider value={mapStateContextValue}>\n            <GoogleMapContext.Provider value={googleMapsContextValue}>\n                <PageTitle\n                    title={t('page-titles.broker-order-route-edit', {\n                        number: brokerOrderDetails?.number || '',\n                    })}\n                />\n                <HorizontalColumnsLayout\n                    testSelector=\"route-edit\"\n                    className={cx('wrap')}\n                    leftColumnTitle={t('broker-order-route-edit.main-tabs.details')}\n                    leftColumnNode={\n                        <SideBarLayoutContextWrap>\n                            <HeaderSideBarLayout>\n                                <HeaderSideBarContent\n                                    title={t('broker-order-route-edit.title', {\n                                        number: brokerOrderDetails?.number || '',\n                                    })}\n                                    onClose={handleClose}\n                                />\n                                <SideBarHeaderRequestStatus\n                                    requestStatus={createContextRequest}\n                                    hasCachedData={Boolean(brokerOrderDetails)}\n                                    isForceShowLoader={applyContextRequest.loading || deleteContextRequest.loading}\n                                />\n                            </HeaderSideBarLayout>\n                            <SideBarLayout>\n                                <SideBarRequestStatus\n                                    requestStatus={createContextRequest}\n                                    hasCachedData={Boolean(brokerOrderDetails)}\n                                    onRetry={handleRetry}\n                                    SkeletonComponent={RouteSidebarSkeleton}\n                                >\n                                    {brokerOrderDetails ? (\n                                        <RouteEditForm\n                                            brokerOrderId={brokerOrderId}\n                                            context={context}\n                                            onCancel={handleClose}\n                                        />\n                                    ) : null}\n                                </SideBarRequestStatus>\n                            </SideBarLayout>\n                        </SideBarLayoutContextWrap>\n                    }\n                    rightColumnTitle={t('broker-order-route-edit.main-tabs.info')}\n                    rightColumnNode={\n                        <div className={cx('tabs-wrap')}>\n                            <div className={cx('tab')}>\n                                <RouteEditMap key={brokerOrderId} context={context} />\n                            </div>\n                        </div>\n                    }\n                />\n            </GoogleMapContext.Provider>\n            <SideBars />\n        </SyncRouteEditFormMapStateContext.Provider>\n    );\n});\n\nexport default BrokerOrderRouteEditPage;\n","import { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\nimport { StopTypeEnum } from 'common/utils/api/models';\n\nexport const getPickupDeliveryWaypoints = (\n    brokerOrderDetails: BrokerOrderDetailsT | null | undefined,\n    tourId: TourIdT | null,\n) => {\n    const actualTour = findTourById(brokerOrderDetails, tourId);\n\n    return (\n        actualTour?.waypoints?.filter((waypoint) => {\n            return (\n                waypoint?.type === StopTypeEnum.pickupDeliveryShipment || waypoint?.type === StopTypeEnum.dropAndHook\n            );\n        }) || []\n    );\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst LinkIcon: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M15.25 15.25H4.75V4.75H10v-1.5H4.75a1.5 1.5 0 00-1.5 1.5v10.5a1.5 1.5 0 001.5 1.5h10.5c.825 0 1.5-.675 1.5-1.5V10h-1.5v5.25zm-3.75-12v1.5h2.693L6.82 12.123l1.058 1.057 7.372-7.372V8.5h1.5V3.25H11.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nLinkIcon.displayName = 'LinkIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default LinkIcon;\n","import {\n    FETCH_RFQS_PAGE_REQUEST,\n    FETCH_RFQS_PAGE_REQUEST_BEGIN,\n    FETCH_RFQS_PAGE_REQUEST_ERROR,\n    FETCH_RFQS_PAGE_REQUEST_SUCCESS,\n    FetchRFQsPageActionT,\n    FetchRFQsPageBeginActionT,\n    FetchRFQsPageErrorActionT,\n    FetchRFQsPageSuccessActionT,\n    RESET_RFQS,\n    ResetRFQsActionT,\n} from './types';\nimport { AnyFetchRFQsPageQueryT, RFQT } from './models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchRFQsPage = (\n    pageNumber: PageNumberT,\n    query: AnyFetchRFQsPageQueryT,\n    companyId: CompanyIdT,\n    options?: FetchOptionsT,\n): FetchRFQsPageActionT => ({\n    type: FETCH_RFQS_PAGE_REQUEST,\n    query,\n    pageNumber,\n    companyId,\n    options,\n});\n\nexport const fetchRFQsPageBegin = (\n    query: AnyFetchRFQsPageQueryT,\n    pageNumber: PageNumberT,\n    companyId: CompanyIdT,\n): FetchRFQsPageBeginActionT => ({\n    type: FETCH_RFQS_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchRFQsPageSuccess = (\n    query: AnyFetchRFQsPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<RFQT> | null,\n    companyId: CompanyIdT,\n): FetchRFQsPageSuccessActionT => ({\n    type: FETCH_RFQS_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchRFQsPageError = (\n    query: AnyFetchRFQsPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n    companyId: CompanyIdT,\n): FetchRFQsPageErrorActionT => ({\n    type: FETCH_RFQS_PAGE_REQUEST_ERROR,\n    query,\n    error,\n    pageNumber,\n    companyId,\n});\n\nexport const resetRFQs = (companyId: CompanyIdT, mutationListOptions: MutationListOptionsT): ResetRFQsActionT => ({\n    type: RESET_RFQS,\n    companyId,\n    mutationListOptions,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"submit\":\"CreateCompanyForm__submit___D7iPl\",\"field--zip\":\"CreateCompanyForm__field--zip___wZwHz\",\"field--city\":\"CreateCompanyForm__field--city___ow2ae\",\"checkbox\":\"CreateCompanyForm__checkbox___mVe5g\",\"terms\":\"CreateCompanyForm__terms___nqf8q\",\"error\":\"CreateCompanyForm__error___h0JUT\",\"fadeIn\":\"CreateCompanyForm__fadeIn___nfH_5\",\"blinking\":\"CreateCompanyForm__blinking___XlDOh\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    fillOpacity?: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst ThumbUpIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, fillOpacity, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" opacity=\"0.87\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity={fillOpacity || '0.3'}\n                    d=\"M11.005 4.495L7.75 7.75v7.5h6.75L16.75 10V8.5h-6.578z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M16.75 7h-4.732l.712-3.428.022-.24c0-.307-.127-.592-.33-.794l-.795-.788-4.935 4.942A1.47 1.47 0 006.25 7.75v7.5c0 .825.675 1.5 1.5 1.5h6.75a1.49 1.49 0 001.38-.915l2.265-5.288c.067-.172.105-.352.105-.547V8.5c0-.825-.675-1.5-1.5-1.5zm0 3l-2.25 5.25H7.75v-7.5l3.255-3.255-.833 4.005h6.578V10zm-15-2.25h3v9h-3v-9z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nThumbUpIcon.displayName = 'ThumbUpIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.light,\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default ThumbUpIcon;\n","import * as React from 'react';\nimport { VehicleScheduleEventT, VehicleScheduleT } from 'common/store/vehicle-schedules/models';\nimport { FlagT, TimeWindowT } from 'common/components/Timeline/models';\nimport { parseDateStringWithoutTimezone } from 'common/utils/time';\nimport { VehicleScheduleEventTypeEnum } from 'common/utils/api/models';\nimport TimelineSidebar from 'common/components/Timeline/TimelineSidebar/TimelineSidebar';\nimport { useScheduleTimeWindowFactory } from 'common/utils/hooks/use-schedule-time-window-factory';\n\nimport { useScheduleFlagsFactory } from 'common/utils/hooks/use-schedule-flags-factory';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport CancelServiceMaintanceTooltipContent from './CancelServiceMaintanceTooltipContent/CancelServiceMaintanceTooltipContent';\nimport EntityLinkTooltipContent from 'common/components/AssetScheduleSidebar/EntityLinkTooltipContent/EntityLinkTooltipContent';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\n\n// TODO make generic\ntype DataT = VehicleScheduleEventT | null;\n\ntype PropsT = {\n    className?: string;\n    isLoading?: boolean;\n    onClose?: () => void;\n    onEventClick: (eventId: string) => void;\n    selectedOrderId?: string;\n    schedule: VehicleScheduleT | null;\n    additionalTimeWindows?: Array<TimeWindowT<DataT>>;\n    additionalFlags?: Array<FlagT<DataT>>;\n    type: 'trailer' | 'truck';\n    onCancelServiceMaintance?: (event: VehicleScheduleEventT) => void;\n    onOpenTransportOrderDetails?: (event: VehicleScheduleEventT) => void;\n};\n\nconst AssetScheduleSidebar: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        isLoading,\n        onClose,\n        onEventClick,\n        selectedOrderId,\n        schedule,\n        additionalTimeWindows,\n        additionalFlags,\n        type,\n        onCancelServiceMaintance,\n        onOpenTransportOrderDetails,\n    } = props;\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isCancelServiceMaintenanceSidebarEnabled =\n        featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.cancelServiceMaintenanceAssetScheduleSidebar) ??\n        false;\n\n    const scheduleTimeWindowFactory = useScheduleTimeWindowFactory();\n\n    const timeWindows = React.useMemo(() => {\n        const now = Date.now();\n\n        return (schedule || []).reduce<Array<TimeWindowT<DataT>>>(\n            (result, scheduleEvent) => {\n                const dateFrom = type === 'trailer' ? scheduleEvent.trailerDateFrom : scheduleEvent.truckDateFrom;\n                const dateTo = type === 'trailer' ? scheduleEvent.trailerDateTo : scheduleEvent.truckDateTo;\n\n                const start = parseDateStringWithoutTimezone(dateFrom);\n                const end = parseDateStringWithoutTimezone(dateTo);\n\n                const entityNumber = scheduleEvent?.transportationOrderNumber || '';\n                const hasWarning = scheduleEvent?.hasWarning;\n\n                if (start && end) {\n                    const commonScheduleEvent = {\n                        id: scheduleEvent.id,\n                        data: scheduleEvent,\n                        start,\n                        end,\n                        isTransparent: false,\n                    } as const;\n\n                    if (scheduleEvent.eventType === VehicleScheduleEventTypeEnum.serviceMaintenance) {\n                        const isPastEvent = start <= now && end <= now;\n\n                        result.push({\n                            ...commonScheduleEvent,\n                            ...scheduleTimeWindowFactory.serviceMaintenance({\n                                isPastEvent,\n                                hasWarning,\n                            }),\n                            tooltipTheme: TooltipThemeEnum.black,\n                            renderTooltip:\n                                isCancelServiceMaintenanceSidebarEnabled && onCancelServiceMaintance\n                                    ? () => (\n                                          <TooltipContent theme={TooltipContentThemeEnum.black}>\n                                              <CancelServiceMaintanceTooltipContent\n                                                  onCancel={() => {\n                                                      onCancelServiceMaintance(scheduleEvent);\n                                                  }}\n                                              />\n                                          </TooltipContent>\n                                      )\n                                    : undefined,\n                        });\n                    }\n\n                    if (scheduleEvent.eventType === VehicleScheduleEventTypeEnum.deadhead) {\n                        const isPastEvent = start <= now && end <= now;\n\n                        result.push({\n                            ...commonScheduleEvent,\n                            ...scheduleTimeWindowFactory.deadheadTO({\n                                isPastEvent,\n                                entityNumber,\n                                hasWarning,\n                            }),\n                            tooltipTheme: TooltipThemeEnum.black,\n                            renderTooltip:\n                                onOpenTransportOrderDetails &&\n                                (() => (\n                                    <TooltipContent theme={TooltipContentThemeEnum.black}>\n                                        <EntityLinkTooltipContent\n                                            entityType=\"TRANSPORT_ORDER\"\n                                            onClick={() => {\n                                                onOpenTransportOrderDetails(scheduleEvent);\n                                            }}\n                                        />\n                                    </TooltipContent>\n                                )),\n                        });\n                    }\n\n                    if (scheduleEvent.eventType === VehicleScheduleEventTypeEnum.shipment) {\n                        const entityNumber = scheduleEvent?.transportationOrderNumber || '';\n\n                        const renderTooltip =\n                            onOpenTransportOrderDetails &&\n                            (() => (\n                                <TooltipContent theme={TooltipContentThemeEnum.black}>\n                                    <EntityLinkTooltipContent\n                                        entityType=\"TRANSPORT_ORDER\"\n                                        onClick={() => {\n                                            onOpenTransportOrderDetails(scheduleEvent);\n                                        }}\n                                    />\n                                </TooltipContent>\n                            ));\n\n                        if (start <= now && end <= now) {\n                            result.push({\n                                ...commonScheduleEvent,\n                                ...scheduleTimeWindowFactory.to({\n                                    isPastEvent: true,\n                                    entityNumber,\n                                    hasWarning,\n                                }),\n                                tooltipTheme: TooltipThemeEnum.black,\n                                renderTooltip,\n                            });\n                        } else if (now <= start && now <= end) {\n                            result.push({\n                                ...commonScheduleEvent,\n                                ...scheduleTimeWindowFactory.to({\n                                    isPastEvent: false,\n                                    entityNumber,\n                                    hasWarning,\n                                }),\n                                tooltipTheme: TooltipThemeEnum.black,\n                                renderTooltip,\n                            });\n                        } else {\n                            result.push({\n                                ...commonScheduleEvent,\n                                ...scheduleTimeWindowFactory.inProgressTO({\n                                    entityNumber,\n                                    hasWarning,\n                                }),\n                                tooltipTheme: TooltipThemeEnum.black,\n                                renderTooltip,\n                            });\n                        }\n                    }\n                }\n\n                return result;\n            },\n            additionalTimeWindows ? [...additionalTimeWindows] : [],\n        );\n    }, [\n        schedule,\n        type,\n        scheduleTimeWindowFactory,\n        additionalTimeWindows,\n        isCancelServiceMaintenanceSidebarEnabled,\n        onCancelServiceMaintance,\n        onOpenTransportOrderDetails,\n    ]);\n\n    const scheduleFlagsFactory = useScheduleFlagsFactory();\n\n    const flags = React.useMemo(() => {\n        return (schedule || []).reduce<Array<FlagT<DataT>>>(\n            (result, scheduleEvent) => {\n                const dateFrom = type === 'trailer' ? scheduleEvent.trailerDateFrom : scheduleEvent.truckDateFrom;\n                const dateTo = type === 'trailer' ? scheduleEvent.trailerDateTo : scheduleEvent.truckDateTo;\n\n                const start = parseDateStringWithoutTimezone(dateFrom);\n                const end = parseDateStringWithoutTimezone(dateTo);\n\n                if (start && end) {\n                    const commonScheduleEvent = {\n                        id: scheduleEvent.id,\n                        data: scheduleEvent,\n                        start,\n                        end,\n                        isTransparent: false,\n                    } as const;\n\n                    if (scheduleEvent.eventType === VehicleScheduleEventTypeEnum.teleport) {\n                        result.push({\n                            ...commonScheduleEvent,\n                            ...scheduleFlagsFactory.teleport(),\n                        });\n                    }\n                }\n\n                return result;\n            },\n            additionalFlags ? [...additionalFlags] : [],\n        );\n    }, [schedule, type, scheduleFlagsFactory, additionalFlags]);\n\n    const levels = React.useMemo(() => {\n        return [\n            {\n                timeWindows,\n            },\n        ];\n    }, [timeWindows]);\n\n    return (\n        <TimelineSidebar\n            className={className}\n            isLoading={isLoading}\n            onClose={onClose}\n            onTimeWindowClick={onEventClick}\n            levels={levels}\n            flags={flags}\n            selectedTimeWindowId={selectedOrderId || null}\n        />\n    );\n});\n\nexport default AssetScheduleSidebar;\n","// extracted by mini-css-extract-plugin\nexport default {\"email\":\"EmailCell__email___ccML_\",\"fadeIn\":\"EmailCell__fadeIn___qLgLd\",\"blinking\":\"EmailCell__blinking___XeMmn\"};","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"CountryMultipleDropdown__option___JheuN\",\"fadeIn\":\"CountryMultipleDropdown__fadeIn___yGJPF\",\"blinking\":\"CountryMultipleDropdown__blinking___Sho8t\"};","import { CompanyTypeEnum } from 'common/constants';\nimport {\n    NotificationActionEnum,\n    NotificationConverterT,\n    NotificationDescriptorT,\n} from 'common/store/notifications/models';\nimport { logWarning } from 'common/utils/logger';\nimport { isNonNil } from 'common/utils';\n\nconst parseNotificationType = <T extends NotificationActionEnum>(\n    notification: any,\n): OverwriteT<NotificationDescriptorT[T], { action: T }> => {\n    return notification;\n};\n\nexport const convertNotification: NotificationConverterT = (apiNotification, options) => {\n    const baseNotification = {} as const;\n\n    switch (apiNotification.action) {\n        case NotificationActionEnum.SHIPMENT_STATUS_CHANGED: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.SHIPMENT_STATUS_CHANGED>(apiNotification);\n\n            if (options.companyType === CompanyTypeEnum.shipper && parsedNotification.data?.status === 'CANCELED') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPMENT_CANCELED,\n                    relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n                };\n            }\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SHIPMENT_MISSED: {\n            return {\n                ...parseNotificationType<NotificationActionEnum.SHIPMENT_MISSED>(apiNotification),\n                ...baseNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SHIPMENT_NO_SHOW: {\n            return {\n                ...parseNotificationType<NotificationActionEnum.SHIPMENT_NO_SHOW>(apiNotification),\n                ...baseNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.ORDER_STATUS_CHANGED: {\n            return {\n                ...parseNotificationType<NotificationActionEnum.ORDER_STATUS_CHANGED>(apiNotification),\n                ...baseNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.ORDER_EDITED: {\n            return {\n                ...parseNotificationType<NotificationActionEnum.ORDER_EDITED>(apiNotification),\n                ...baseNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TOUR_STATUS_CHANGED: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.TOUR_STATUS_CHANGED>(apiNotification);\n\n            const baseTourStatusNotification = {\n                ...baseNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            } as const;\n\n            return {\n                ...baseTourStatusNotification,\n                ...parsedNotification,\n                action: NotificationActionEnum.TOUR_STATUS_CHANGED,\n            };\n        }\n        case NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS>(\n                    apiNotification,\n                );\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER>(\n                    apiNotification,\n                );\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TOUR_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.TOUR_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER>(\n                    apiNotification,\n                );\n\n            if (parsedNotification.data?.runningOutOfTimeToAssignCarrier) {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n                    action: NotificationActionEnum.TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER,\n                };\n            }\n\n            if (parsedNotification.data?.runOutOfTimeToAssignCarrier) {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n                    action: NotificationActionEnum.TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER,\n                };\n            }\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TOUR_DELAYING: {\n            return {\n                ...parseNotificationType<NotificationActionEnum.TOUR_DELAYING>(apiNotification),\n                ...baseNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TRANSPORTATION_ORDER_STATUS_CHANGED: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.TRANSPORTATION_ORDER_STATUS_CHANGED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED>(\n                    apiNotification,\n                );\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TRANSPORTATION_ORDER_PLACED: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.TRANSPORTATION_ORDER_PLACED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.RFQ_ALERT: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.RFQ_ALERT>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SPOT_PLACED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.SPOT_PLACED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SPOT_CANCELLED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.SPOT_CANCELLED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SPOT_ASSIGNED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.SPOT_ASSIGNED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SPOT_EXPIRED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.SPOT_EXPIRED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SPOT_BID_ACCEPTED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.SPOT_BID_ACCEPTED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SPOT_BID_EXPIRED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.SPOT_BID_EXPIRED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SPOT_BID_MISSED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.SPOT_BID_MISSED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.SPOT_BID_PLACED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.SPOT_BID_PLACED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_EXPIRED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.DOCUMENT_EXPIRED>(apiNotification);\n\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT_LANE') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRED,\n                    relatedIds: [],\n                };\n            }\n\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_EXPIRED,\n                    relatedIds: [],\n                };\n            }\n\n            if (apiNotification.subjectType === 'CARRIER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.CARRIER_CONTRACT_EXPIRED,\n                    relatedIds: [],\n                };\n            }\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                action: NotificationActionEnum.DOCUMENT_EXPIRED,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_COMPLETED: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.DOCUMENT_COMPLETED>(apiNotification);\n\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT_LANE') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_LANE_COMPLETED,\n                    relatedIds: [],\n                };\n            }\n\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_COMPLETED,\n                    relatedIds: [],\n                };\n            }\n\n            if (apiNotification.subjectType === 'CARRIER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.CARRIER_CONTRACT_COMPLETED,\n                    relatedIds: [],\n                };\n            }\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                action: NotificationActionEnum.DOCUMENT_COMPLETED,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_EXPIRATION_SOON: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.DOCUMENT_EXPIRATION_SOON>(apiNotification);\n\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT_LANE') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_LANE_EXPIRATION_SOON,\n                    relatedIds: [],\n                };\n            }\n\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_EXPIRATION_SOON,\n                    relatedIds: [],\n                };\n            }\n\n            if (apiNotification.subjectType === 'CARRIER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.CARRIER_CONTRACT_EXPIRATION_SOON,\n                    relatedIds: [],\n                };\n            }\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                action: NotificationActionEnum.DOCUMENT_EXPIRATION_SOON,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_REVOKED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.DOCUMENT_REVOKED>(apiNotification);\n\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT_LANE') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_LANE_REVOKED,\n                    relatedIds: [],\n                };\n            }\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_REVOKED,\n                    relatedIds: [],\n                };\n            }\n            if (apiNotification.subjectType === 'CARRIER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.CARRIER_CONTRACT_REVOKED,\n                    relatedIds: [],\n                };\n            }\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                action: NotificationActionEnum.DOCUMENT_REVOKED,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_UPLOAD: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.DOCUMENT_UPLOAD>(apiNotification);\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_UPLOADED,\n                    relatedIds: [],\n                };\n            }\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT_LANE') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPLOAD,\n                    relatedIds: [],\n                };\n            }\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                action: NotificationActionEnum.DOCUMENT_UPLOAD,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.DOCUMENT_UPDATED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.DOCUMENT_UPDATED>(apiNotification);\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT_LANE') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_LANE_UPDATED,\n                    relatedIds: [],\n                };\n            }\n            if (apiNotification.subjectType === 'SHIPPER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.SHIPPER_CONTRACT_UPDATED,\n                    relatedIds: [],\n                };\n            }\n            if (apiNotification.subjectType === 'CARRIER_CONTRACT') {\n                return {\n                    ...baseNotification,\n                    ...parsedNotification,\n                    action: NotificationActionEnum.CARRIER_CONTRACT_UPDATED,\n                    relatedIds: [],\n                };\n            }\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                action: NotificationActionEnum.DOCUMENT_UPDATED,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.ERROR_WHEN_CREATE_INVOICE: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.ERROR_WHEN_CREATE_INVOICE>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TEAM_USER_ADDED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.TEAM_USER_ADDED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TEAM_USER_REMOVED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.TEAM_USER_REMOVED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.TEAM_REMOVED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.TEAM_REMOVED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n        case NotificationActionEnum.BUSINESS_PARTNER_ADDRESS_VERIFICATION: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.BUSINESS_PARTNER_ADDRESS_VERIFICATION>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.ASSET_ADDED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.ASSET_ADDED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.ASSET_UPDATED: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.ASSET_UPDATED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [],\n            };\n        }\n        case NotificationActionEnum.BROKER_BUSINESS_PARTNER_UPDATED: {\n            const parsedNotification =\n                parseNotificationType<NotificationActionEnum.BROKER_BUSINESS_PARTNER_UPDATED>(apiNotification);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [],\n            };\n        }\n        default: {\n            const parsedNotification = parseNotificationType<NotificationActionEnum.UNKNOWN_ACTION>(apiNotification);\n\n            logWarning(`Not supported notification: ${apiNotification.action}`);\n\n            return {\n                ...baseNotification,\n                ...parsedNotification,\n                relatedIds: [apiNotification.data.orderId].filter(isNonNil),\n            };\n        }\n    }\n};\n","export enum QueryKeysEnum {\n    sendingToSpotTourId = 'sending-to-spot-tour',\n    editingTimeWindowTourId = 'editing-time-window-tour',\n}\n\nexport type QueryT = {\n    [QueryKeysEnum.sendingToSpotTourId]: string;\n    [QueryKeysEnum.editingTimeWindowTourId]: string;\n};\n","import React from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport SuggestInput from 'design-system/components/dropdowns/SuggestInput/SuggestInput';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport {\n    selectSearchDriverById,\n    selectSearchDriverIds,\n    selectSearchDriverRequest,\n} from 'common/store/driver-search/selectors';\nimport { fetchDrivers } from 'common/store/driver-search/actions';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport Avatar from 'common/components/Avatar/Avatar';\nimport { logWarning } from 'common/utils/logger';\n\ntype ValueT = DriverIdT | null;\n\ntype OptionT = {\n    id: ValueT;\n    text: string;\n    label: React.ReactNode;\n};\n\nexport type PropsT = {\n    partnerId: PartnerIdT | null;\n    initialValue: ValueT;\n    initialLabel: string;\n    onSelect: (value: ValueT, name: string) => void;\n    value: ValueT;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    onKeyUp?: InputPropsT['onKeyUp'];\n    isDisabled?: InputPropsT['isDisabled'];\n    isFocused?: InputPropsT['isFocused'];\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasChanges?: boolean;\n};\n\nconst DriverSuggest: React.FC<PropsT> = (props) => {\n    const {\n        partnerId,\n        initialValue,\n        initialLabel,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isFocused,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        onKeyUp,\n        hasChanges,\n        hasClearControl,\n    } = props;\n\n    const [options, setOptions] = React.useState<OptionT[]>([]);\n\n    const dispatch = useDispatch();\n\n    const ids = useSelector(selectSearchDriverIds);\n    const byId = useSelector(selectSearchDriverById);\n    const requestStatus = useSelector(selectSearchDriverRequest);\n\n    React.useEffect(() => {\n        const options = ids\n            .filter((id) => byId[id])\n            .map((id): OptionT => {\n                const driver = byId[id];\n\n                return {\n                    id: driver.id,\n                    text: driver.name || '',\n                    label: (\n                        <DropdownControlOptionLabel\n                            icon={<Avatar hash={driver.name || ''} />}\n                            label={driver.name || ''}\n                        />\n                    ),\n                };\n            });\n\n        setOptions(options);\n    }, [ids, byId]);\n\n    React.useEffect(() => {\n        if (!initialValue) {\n            return;\n        }\n\n        const initialOption: OptionT = {\n            id: initialValue,\n            text: initialLabel,\n            label: <span>{initialLabel}</span>,\n        };\n\n        setOptions([initialOption]);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const handleChangeQuery = React.useCallback(\n        (query: string): void => {\n            if (!query || !partnerId) {\n                logWarning('Empty query or partnerId in handleChangeQuery');\n                return;\n            }\n\n            dispatch(\n                fetchDrivers({\n                    name: query,\n                    partnerId,\n                }),\n            );\n        },\n        [dispatch, partnerId],\n    );\n\n    const handleSelect = (value: ValueT) => {\n        const partner = byId[value as string];\n\n        onSelect(value || null, partner?.name || '');\n    };\n\n    const selectedDriver = byId[value || ''] || null;\n\n    return (\n        <SuggestInput<OptionT, ValueT>\n            selectedValue={value}\n            initialInputValue={initialLabel}\n            hasChanges={hasChanges}\n            options={options}\n            onSelect={handleSelect}\n            renderOption={(option) => option.label}\n            formatOption={(option) => option.text}\n            getOptionValue={(option) => option.id}\n            onChangeQuery={handleChangeQuery}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            renderLeftIcon={() => <Avatar hash={selectedDriver?.name || null} />}\n            overlayPosition={overlayPosition}\n            placeholder={placeholder}\n            isLoading={requestStatus.loading}\n            isFocused={isFocused}\n            isDisabled={isDisabled}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            onKeyUp={onKeyUp}\n            hasClearControl={hasClearControl}\n        />\n    );\n};\n\nexport default DriverSuggest;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './SearchForm.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport { useTranslation } from 'react-i18next';\nimport DeprecatedCountyFlagLabel from 'common/components/DeprecatedCountyFlagLabel/DeprecatedCountyFlagLabel';\nimport CountryFlagPlaceholderOption from 'common/components/dropdowns/options/CountryFlagPlaceholderOption/CountryFlagPlaceholderOption';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport isEqual from 'lodash/isEqual';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport CountryMultipleDropdown from 'common/components/dropdowns/CountryMultipleDropdown/CountryMultipleDropdown';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    initialFromCountryCodes: CountryCodeT[];\n    initialToCountryCodes: CountryCodeT[];\n    onChange: (fromCountryCodes: CountryCodeT[], toCountryCodes: CountryCodeT[]) => void;\n};\n\nconst SearchForm: React.FC<PropsT> = (props) => {\n    const { onChange, initialFromCountryCodes, initialToCountryCodes, className } = props;\n\n    const { t } = useTranslation();\n\n    const [fromCountryCodes, setFromCountryCodes] = React.useState<CountryCodeT[]>(initialFromCountryCodes);\n    const [toCountryCodes, setToCountryCodes] = React.useState<CountryCodeT[]>(initialToCountryCodes);\n\n    React.useEffect(() => {\n        if (!isEqual(initialFromCountryCodes, fromCountryCodes)) {\n            setFromCountryCodes(initialFromCountryCodes);\n        }\n        if (!isEqual(initialToCountryCodes, toCountryCodes)) {\n            setToCountryCodes(initialToCountryCodes);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [initialFromCountryCodes, initialToCountryCodes]);\n\n    React.useEffect(() => {\n        onChange(fromCountryCodes, toCountryCodes);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [fromCountryCodes, toCountryCodes]);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const countryByCode = useSelector(selectCountriesByCode);\n\n    const renderOption = (countryCode: CountryCodeT) => {\n        return <DeprecatedCountyFlagLabel className={cx('option')} country={countryByCode[countryCode]} />;\n    };\n\n    const renderTrigger = (countryCodes: Array<CountryCodeT>) => {\n        if (!countryCodes?.length) {\n            return <CountryFlagPlaceholderOption label={t('common:not-selected')} />;\n        }\n\n        const countries = countryCodes.map((code) => countryByCode[code] || null);\n\n        return <DeprecatedCountyFlagLabel className={cx('option')} countries={countries} />;\n    };\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <CountryMultipleDropdown\n                className={cx('field', {\n                    'field--from': true,\n                })}\n                values={fromCountryCodes}\n                inputPlaceholder={t('price-settings.rate-matrix.fields.from.input-placeholder')}\n                onChange={setFromCountryCodes}\n                renderOption={renderOption}\n                renderLeftIcon={() => null}\n                renderRightIcon={() => null}\n                renderTrigger={renderTrigger}\n                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            />\n            <CountryMultipleDropdown\n                className={cx('field', {\n                    'field--to': true,\n                })}\n                values={toCountryCodes}\n                inputPlaceholder={t('price-settings.rate-matrix.fields.to.input-placeholder')}\n                onChange={setToCountryCodes}\n                renderOption={renderOption}\n                renderLeftIcon={() => null}\n                renderRightIcon={() => null}\n                renderTrigger={renderTrigger}\n                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            />\n        </div>\n    );\n};\n\nexport default SearchForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"footer\":\"StickyFooter__footer___w5X9x\",\"container\":\"StickyFooter__container___A8wLl\",\"content\":\"StickyFooter__content____lfKv\",\"fadeIn\":\"StickyFooter__fadeIn___AM01I\",\"blinking\":\"StickyFooter__blinking___rv6C4\"};","import { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nconst asyncValidate = (requestError: RequestStatusT): AsyncFormErrorsT => {\n    if (!checkIsTranziitApiRequestError(requestError.error)) {\n        return {};\n    }\n\n    if (requestError?.error?.subType === TranziitApiRequestErrorSubTypeEnum.phoneAlreadyExist) {\n        return {\n            [FieldsEnum.phone]: TranziitApiRequestErrorSubTypeEnum.phoneAlreadyExist,\n        };\n    }\n\n    if (requestError?.error?.message) {\n        return {\n            [FieldsEnum.phone]: requestError.error.message,\n        };\n    }\n\n    return {};\n};\n\nexport default asyncValidate;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"BrokerTourDeadheadCreationPage__wrap___XgbyU\",\"right-column-wrap\":\"BrokerTourDeadheadCreationPage__right-column-wrap____EaTa\",\"schedule\":\"BrokerTourDeadheadCreationPage__schedule___OxUOQ\",\"map\":\"BrokerTourDeadheadCreationPage__map___NdEAU\",\"fadeIn\":\"BrokerTourDeadheadCreationPage__fadeIn___P82iz\",\"blinking\":\"BrokerTourDeadheadCreationPage__blinking___lZcsd\"};","import * as React from 'react';\nimport SaveChangesNotification from 'common/components/SaveChangesNotification/SaveChangesNotification';\nimport { checkValuesChanges } from 'common/utils/form-helpers';\n\ntype FormValueT = object | number | string | boolean | null | undefined | Array<number> | Array<string>;\ntype FormValuesT = Record<string, FormValueT>;\n\ntype PropsT<T extends FormValuesT> = {\n    fields: Array<keyof T>;\n    defaultNotification?: React.ReactElement | null;\n    className?: string;\n};\n\nconst withWidgetChangesDetector =\n    <T extends FormValuesT>(initialValues: T, values: T): React.FC<PropsT<T>> =>\n    (props): React.ReactElement | null => {\n        const { fields, defaultNotification, className } = props;\n\n        const hasChanges = checkValuesChanges(fields, initialValues, values);\n        if (hasChanges) {\n            return <SaveChangesNotification className={className} hasChanges />;\n        }\n\n        if (defaultNotification) {\n            return defaultNotification || null;\n        }\n\n        return null;\n    };\n\nexport default withWidgetChangesDetector;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './FormTitle.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport { matchPath, useLocation } from 'react-router-dom';\nimport { OMSRoutesEnum, StyleGuideColorsEnum } from 'common/constants';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { useContext } from 'react';\nimport OrderCreationPercentContext from 'common/layouts/NewOrderPage/contexts/order-creation-percent-context';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n};\n\nconst STEPS_COUNT = 3;\n\nconst FormTitle: React.FC<PropsT> = React.memo((props) => {\n    const { onClose } = props;\n    const { t } = useTranslation();\n\n    const orderCreationPercentContext = useContext(OrderCreationPercentContext);\n    const { percent, setPercent } = orderCreationPercentContext;\n\n    const { pathname } = useLocation();\n\n    React.useEffect(() => {\n        setPercent(0);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [pathname]);\n\n    let isFinalStep = false;\n\n    let basePercent = 0;\n    const step = 100 / STEPS_COUNT;\n    if (matchPath(pathname, { path: OMSRoutesEnum.newOrder })) {\n        basePercent = 0;\n    }\n    if (matchPath(pathname, { path: OMSRoutesEnum.newOrderOffers })) {\n        basePercent = step;\n    }\n    if (matchPath(pathname, { path: OMSRoutesEnum.newOrderDetails })) {\n        basePercent = 2 * step;\n        isFinalStep = true;\n    }\n    if (matchPath(pathname, { path: OMSRoutesEnum.newOrderDetailsWithLane })) {\n        basePercent = 2 * step;\n        isFinalStep = true;\n    }\n\n    const summaryPercent = basePercent + (percent / 100) * step;\n    const roundedPercent = Math.round(summaryPercent);\n\n    const title = isFinalStep\n        ? t('common:new-order-page.titles.new-order')\n        : t('common:new-order-page.titles.new-quotation');\n\n    return (\n        <div className={cx('content')}>\n            <div className={cx('column', 'column--isLeft')}>\n                <div className={cx('title')}>{title}</div>\n            </div>\n            <div className={cx('column', 'column--isRight')}>\n                <div className={cx('close')} onClick={onClose}>\n                    <CloseIcon fillColor={StyleGuideColorsEnum.charcoal} />\n                </div>\n            </div>\n            <div className={cx('progress')}>\n                <div className={cx('progress__title')}>\n                    {t('common:new-order-page.percent', {\n                        percent: roundedPercent,\n                    })}\n                </div>\n                <div className={cx('progress__bar')} style={{ width: `${roundedPercent}%` }} />\n            </div>\n        </div>\n    );\n});\n\nexport default FormTitle;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"FiltersSidebarContent__form___AgPRV\",\"field--trailer-type\":\"FiltersSidebarContent__field--trailer-type___X4dZw\",\"field--address\":\"FiltersSidebarContent__field--address___bj4D9\",\"field--user\":\"FiltersSidebarContent__field--user___FFDha\",\"field--dates\":\"FiltersSidebarContent__field--dates___Xpasb\",\"selected-filters\":\"FiltersSidebarContent__selected-filters___LHBmH\",\"fadeIn\":\"FiltersSidebarContent__fadeIn___QeyMw\",\"blinking\":\"FiltersSidebarContent__blinking___qEakO\"};","import isEmpty from 'lodash/isEmpty';\nimport values from 'lodash/values';\nimport { logWarning } from 'common/utils/logger';\nimport isNumber from 'lodash/isNumber';\n\nexport type CustomLineHaulT = number;\nexport type CustomLineHaulMapT = Record<PriceOfferIdT, CustomLineHaulT | undefined>;\n\n/**\n *  @deprecated use useQueryParams\n * */\nexport const formatQueryCustomLineHaulMap = (data: CustomLineHaulMapT | null) => {\n    if (!data || isEmpty(data) || values(data).every((item) => !isNumber(item))) {\n        return undefined;\n    }\n\n    try {\n        return encodeURIComponent(JSON.stringify(data));\n    } catch (error) {\n        logWarning('Failed to format query custom line haul', error);\n        return undefined;\n    }\n};\n\n/**\n *  @deprecated use useQueryParams\n * */\nexport const parseQueryCustomLineHaulMap = (queryData: string | null | undefined): CustomLineHaulMapT | null => {\n    if (!queryData) {\n        return null;\n    }\n\n    try {\n        return JSON.parse(decodeURIComponent(queryData));\n    } catch (error) {\n        logWarning('Failed to parse query custom line haul', error);\n        return null;\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"select\":\"TrailerTypeSwitcher__select___b_dKf\",\"option\":\"TrailerTypeSwitcher__option___QsFGJ\",\"option__image\":\"TrailerTypeSwitcher__option__image___cjooM\",\"option__image--box\":\"TrailerTypeSwitcher__option__image--box___FMuGs\",\"option__image--tilt\":\"TrailerTypeSwitcher__option__image--tilt___Pek5f\",\"option__image--reef\":\"TrailerTypeSwitcher__option__image--reef___yZGnY\",\"option__image--isActive\":\"TrailerTypeSwitcher__option__image--isActive___k0TJs\",\"option__title\":\"TrailerTypeSwitcher__option__title___e5zJd\",\"radio\":\"TrailerTypeSwitcher__radio___w0q5Y\",\"fadeIn\":\"TrailerTypeSwitcher__fadeIn___EyJCG\",\"blinking\":\"TrailerTypeSwitcher__blinking___lUjlg\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { BrokerOrderDetailsT } from './models';\nimport isEqual from 'lodash/isEqual';\n\nexport type BrokerOrderDetailsStateT = {\n    details: BrokerOrderDetailsT | null;\n    requestStatus: RequestStatusT;\n};\n\nexport type BrokerOrderDetailsByIdStateT = Record<BrokerOrderIdT, BrokerOrderDetailsStateT>;\n\nexport const initialBrokerOrderDetailsState: BrokerOrderDetailsStateT = {\n    details: null,\n    requestStatus: requestStatus.initial,\n};\n\nconst initialState: BrokerOrderDetailsByIdStateT = {};\n\nexport const brokerOrderDetailsSlice = createSlice({\n    name: 'brokerOrderDetails',\n    initialState,\n    reducers: {\n        fetchBrokerOrderDetails: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                id: BrokerOrderIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        fetchBrokerOrderDetailsBegin: (\n            state,\n            action: PayloadAction<{\n                id: BrokerOrderIdT;\n            }>,\n        ) => {\n            const { id } = action.payload;\n            const brokerOrderDetailsState = state[id] || initialBrokerOrderDetailsState;\n\n            state[id] = {\n                ...brokerOrderDetailsState,\n                requestStatus: requestStatus.loading,\n            };\n        },\n        fetchBrokerOrderDetailsSuccess: (\n            state,\n            action: PayloadAction<{\n                id: BrokerOrderIdT;\n                details: BrokerOrderDetailsT | null;\n            }>,\n        ) => {\n            const { details, id } = action.payload;\n            const brokerOrderDetailsState = state[id] || initialBrokerOrderDetailsState;\n\n            state[id] = {\n                ...brokerOrderDetailsState,\n                requestStatus: requestStatus.ok,\n                details: isEqual(details, brokerOrderDetailsState.details) ? brokerOrderDetailsState.details : details,\n            };\n        },\n        fetchBrokerOrderDetailsError: (\n            state,\n            action: PayloadAction<{\n                id: BrokerOrderIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { error, id } = action.payload;\n            const brokerOrderDetailsState = state[id] || initialBrokerOrderDetailsState;\n\n            state[id] = {\n                ...brokerOrderDetailsState,\n                requestStatus: requestStatus.setError(error),\n            };\n        },\n        resetBrokerOrderDetails: () => {\n            return {};\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchBrokerOrderDetails,\n    fetchBrokerOrderDetailsBegin,\n    fetchBrokerOrderDetailsSuccess,\n    fetchBrokerOrderDetailsError,\n    resetBrokerOrderDetails,\n} = brokerOrderDetailsSlice.actions;\n\nexport default brokerOrderDetailsSlice.reducer;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { ApiAttachPapersUnavailableReasonT, ApiTourAttachedPaperTypeT } from 'common/utils/api/models';\nimport { AttachPapersDropdownControlTrigger } from '../AttachPapersDropdownControlTrigger/AttachPapersDropdownControlTrigger';\nimport { useClickInterceptorProps } from 'common/components/ClickInterceptorLabel/hooks/use-click-interceptor-props';\nimport AttachPapersUnavailableReasonLabel from 'common/components/papers/labels/AttachPapersUnavailableReasonLabel/AttachPapersUnavailableReasonLabel';\n\ntype PropsT = {\n    className?: string;\n    onAttachNew: (paperType: ApiTourAttachedPaperTypeT) => void;\n    attachPapersUnavailableReason?: ApiAttachPapersUnavailableReasonT | null;\n};\n\nconst TourPaperAttachPapersDropdownControl: React.FC<PropsT> = React.memo((props) => {\n    const { onAttachNew, attachPapersUnavailableReason } = props;\n    const { t } = useTranslation();\n\n    const handleAttachNew = React.useCallback(() => {\n        onAttachNew?.('OTHER');\n    }, [onAttachNew]);\n\n    const clickInterceptorProps = useClickInterceptorProps({\n        onClick: handleAttachNew || null,\n    });\n\n    return (\n        <AttachPapersDropdownControlTrigger\n            {...clickInterceptorProps}\n            tooltipMessage={\n                attachPapersUnavailableReason ? (\n                    <AttachPapersUnavailableReasonLabel reason={attachPapersUnavailableReason} />\n                ) : null\n            }\n            isDisabled={Boolean(attachPapersUnavailableReason)}\n        >\n            {t('common:papers-card.attach-new')}\n        </AttachPapersDropdownControlTrigger>\n    );\n});\n\nexport { TourPaperAttachPapersDropdownControl };\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerPage.scss';\n\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport BackButton from 'common/components/BackButton/BackButton';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport { PartnersRoutesEnum, routesEnum } from 'broker-admin/constants';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport { Route, Switch, useParams } from 'react-router-dom';\nimport { generatePath } from 'react-router';\nimport PartnerDetailsPage from './PartnerDetailsPage/PartnerDetailsPage';\nimport PartnerDocumentsPage from './PartnerDocumentsPage/PartnerDocumentsPage';\nimport PartnerMembersPage from './PartnerMembersPage/PartnerMembersPage';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { fetchPartnerDetails } from 'broker-admin/store/partner/details/actions';\nimport {\n    selectFetchPartnerDetailsRequest,\n    selectPartnerDetailsById,\n} from 'broker-admin/store/partner/details/selectors';\nimport InlineLoader from 'common/components/InlineLoader/InlineLoader';\nimport NavigationTabs, {\n    NavigationTabConfigT,\n    NavigationTabsPropsT,\n} from 'common/components/tabs/NavigationTabs/NavigationTabs';\nimport PartnerTrucksPage from './PartnerTrucksPage/PartnerTrucksPage';\nimport RemoteFormActions from 'common/components/forms/RemoteFormActions/RemoteFormActions';\nimport useContainerScroll from 'common/utils/hooks/useContainerScroll';\nimport getScrollbarWidth from 'common/utils/get-scroll-bar-width';\nimport PartnerTrailersPage from './PartnerTrailersPage/PartnerTrailersPage';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport PartnerDriversPage from './PartnerDriversPage/PartnerDriversPage';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport PartnerTransportOrders from './PartnerTransportOrders/PartnerTransportOrders';\nimport PartnerTransportOrderDetails from './PartnerTransportOrderDetails/PartnerTransportOrderDetails';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport PartnerContext from 'common/contexts/partner-context';\nimport isString from 'lodash/isString';\nimport useRemoteFormActions from 'common/utils/hooks/useRemoteFormActions';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport { partnerDetailsRefreshChannel } from 'broker-admin/store/partner/details/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport PartnerTypePill from 'common/components/pills/PartnerTypePill/PartnerTypePill';\nimport { parsePartnerTypeParam } from 'broker-admin/utils/urls-params';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport PartnerPermissionsContextProvider from 'broker-admin/components/PartnerPermissionsContextProvider/PartnerPermissionsContextProvider';\nimport { urlFactory } from 'broker-admin/utils/urls';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PartnerPage: React.FC<PropsT> = React.memo(() => {\n    const dispatch = useDispatch();\n    const { t } = useTranslation();\n\n    const permissions = useSelector(selectPermissions);\n    const featuresContext = React.useContext(FeaturesContext);\n\n    const { containerRef, onContainerScroll, scrollTop } = useContainerScroll();\n\n    const remoteFormActions = useRemoteFormActions();\n\n    const params = useParams<ExtractRouterRouteParamsT<typeof routesEnum.partner>>();\n    const { partnerId } = params;\n    const partnerType = parsePartnerTypeParam(params.partnerType);\n\n    React.useEffect(() => {\n        dispatch(fetchPartnerDetails(partnerId));\n    }, [dispatch, partnerId]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        dispatch(fetchPartnerDetails(partnerId));\n    }, [dispatch, partnerId]);\n    useChannelSubscribe(partnerDetailsRefreshChannel, refreshPageHandler);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchPartnerDetails(partnerId));\n    }, [dispatch, partnerId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const fetchRequest = useSelector(selectFetchPartnerDetailsRequest);\n    const partnerDetailsById = useSelector(selectPartnerDetailsById);\n    const partnerDetails = partnerDetailsById[partnerId];\n\n    const goToPartnersPage = (): void => {\n        goBackIfHasRePath(() => {\n            history.push(urlFactory.partners());\n        });\n    };\n\n    const handleSelectTab: NavigationTabsPropsT['onSelectTab'] = (to): void => {\n        if (isString(to)) {\n            const pathname = generatePath(to, params);\n\n            history.push({\n                pathname,\n            });\n        } else {\n            history.push({\n                ...to,\n            });\n        }\n    };\n\n    const openLeftSidebar = useOpenLeftSidebar();\n    const handleOpenUserDetails = (userId: UserIdT | null, isBrokerUser?: boolean) => {\n        if (!userId) {\n            logWarning('failed to open user details in partner details, empty userId');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType: isBrokerUser ? PartnerTypeEnum.broker : partnerType,\n            userId,\n        });\n    };\n\n    const warningBadgeNode = React.useMemo(\n        () => <NotificationLabel isShowWarning theme={NotificationLabelThemeEnum.orange} />,\n        [],\n    );\n\n    const tabsConfig = React.useMemo((): Array<NavigationTabConfigT | null> => {\n        const hasDetailsProblem =\n            partnerDetails &&\n            (!partnerDetails?.addressVerified ||\n                (partnerType === PartnerTypeEnum.shipper && !partnerDetails?.billingAddressVerified));\n        const hasDocumentsProblem = partnerDetails && !partnerDetails?.documentsVerified;\n\n        return [\n            {\n                pathname: PartnersRoutesEnum.partnerDetails,\n                to: PartnersRoutesEnum.partnerDetails,\n                badge: hasDetailsProblem ? warningBadgeNode : null,\n                render: () => t('partner.tabs.details'),\n                testSelector: 'details',\n            },\n            partnerType === PartnerTypeEnum.carrier || partnerType === PartnerTypeEnum.shipper\n                ? {\n                      pathname: PartnersRoutesEnum.partnerDocuments,\n                      to: PartnersRoutesEnum.partnerDocuments,\n                      badge: hasDocumentsProblem ? warningBadgeNode : null,\n                      render: () => t('partner.tabs.documents'),\n                      testSelector: 'documents',\n                  }\n                : null,\n            permissions.canViewTeamMembers\n                ? {\n                      pathname: PartnersRoutesEnum.partnerMembers,\n                      to: PartnersRoutesEnum.partnerMembers,\n                      render: () => <span>{t('partner.tabs.members')}</span>,\n                      testSelector: 'members',\n                  }\n                : null,\n            featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.partnerInvoices)\n                ? {\n                      pathname: PartnersRoutesEnum.partnerInvoices,\n                      to: PartnersRoutesEnum.partnerInvoices,\n                      render: () => <span>{t('partner.tabs.invoices')}</span>,\n                      testSelector: 'invoices',\n                  }\n                : null,\n            partnerType === PartnerTypeEnum.carrier && permissions.canViewTrailers\n                ? {\n                      pathname: PartnersRoutesEnum.partnerTrailers,\n                      to: PartnersRoutesEnum.partnerTrailers,\n                      render: () => <span>{t('partner.tabs.trailers')}</span>,\n                      testSelector: 'trailers',\n                  }\n                : null,\n            partnerType === PartnerTypeEnum.carrier && permissions.canViewTrucks\n                ? {\n                      pathname: PartnersRoutesEnum.partnerTrucks,\n                      to: PartnersRoutesEnum.partnerTrucks,\n                      render: () => <span>{t('partner.tabs.trucks')}</span>,\n                      testSelector: 'trucks',\n                  }\n                : null,\n            partnerType === PartnerTypeEnum.carrier &&\n            permissions.canViewDrivers &&\n            featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.partnerDrivers)\n                ? {\n                      pathname: PartnersRoutesEnum.partnerDrivers,\n                      to: PartnersRoutesEnum.partnerDrivers,\n                      render: () => <span>{t('partner.tabs.drivers')}</span>,\n                      testSelector: 'drivers',\n                  }\n                : null,\n            partnerType === PartnerTypeEnum.carrier\n                ? {\n                      pathname: PartnersRoutesEnum.partnerTransportOrders,\n                      to: PartnersRoutesEnum.partnerTransportOrders,\n                      render: () => <span>{t('partner.tabs.transport-orders')}</span>,\n                      testSelector: 'transport-orders',\n                  }\n                : null,\n        ];\n    }, [partnerDetails, featuresContext, partnerType, permissions, t, warningBadgeNode]);\n\n    const scrollBarWidth = React.useMemo(\n        () => getScrollbarWidth(containerRef?.current),\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [containerRef?.current],\n    );\n\n    const isShowPartnerNameLoader = !partnerDetails && !fetchRequest.ok && !fetchRequest.error;\n\n    const partnerContextValue = React.useMemo(() => {\n        return {\n            partnerType: parsePartnerTypeParam(params.partnerType),\n            partnerId: params.partnerId,\n        };\n    }, [params.partnerId, params.partnerType]);\n\n    return (\n        <RemoteFormActionsContext.Provider value={remoteFormActions}>\n            <PartnerContext.Provider value={partnerContextValue}>\n                <PartnerPermissionsContextProvider partnerId={partnerContextValue.partnerId}>\n                    <PageTitle\n                        title={t('page-titles.partner', {\n                            name: partnerDetails?.name || '',\n                        })}\n                    />\n                    <Switch>\n                        <Route path={PartnersRoutesEnum.partnerTransportOrderDetails}>\n                            <PartnerTransportOrderDetails />\n                        </Route>\n                        <Route path=\"*\">\n                            <ScrollableContent\n                                scrollContainerRef={containerRef}\n                                onContainerScroll={onContainerScroll}\n                                stickyHeaderNode={\n                                    <TopBar isSticky isWhite={scrollTop > 10} scrollBarWidth={scrollBarWidth}>\n                                        <TopBarContent\n                                            leftNode={<BackButton onClick={goToPartnersPage} isDisabled={false} />}\n                                            title={\n                                                isShowPartnerNameLoader ? (\n                                                    <InlineLoader lineHeight={20} />\n                                                ) : (\n                                                    `${partnerDetails?.name || ''}${\n                                                        partnerDetails?.number\n                                                            ? ` (${partnerDetails?.number || ''})`\n                                                            : ''\n                                                    }`\n                                                )\n                                            }\n                                            afterTitle={<PartnerTypePill type={partnerType} />}\n                                            rightNode={\n                                                <>\n                                                    <Switch>\n                                                        <Route path={PartnersRoutesEnum.partnerDetails}>\n                                                            <RemoteFormActions className={cx('header__controls')} />\n                                                        </Route>\n                                                    </Switch>\n                                                    <NotificationsBarTrigger />\n                                                </>\n                                            }\n                                        />\n                                    </TopBar>\n                                }\n                            >\n                                <ContentMargins>\n                                    <div className={cx('controls')}>\n                                        <NavigationTabs tabsConfig={tabsConfig} onSelectTab={handleSelectTab} />\n                                        {/* <div className={cx('actions')}> */}\n                                        {/*    <TransparentTrigger */}\n                                        {/*        label={t('common:actions-trigger')} */}\n                                        {/*        onClick={() => { */}\n                                        {/*            // TODO */}\n                                        {/*        }} */}\n                                        {/*        rightIcon={<ArrowsIcon />} */}\n                                        {/*    /> */}\n                                        {/* </div> */}\n                                    </div>\n                                </ContentMargins>\n                                <Switch>\n                                    <Route path={PartnersRoutesEnum.partnerDetails}>\n                                        <PartnerDetailsPage />\n                                    </Route>\n                                    <Route path={PartnersRoutesEnum.partnerDocuments}>\n                                        <PartnerDocumentsPage />\n                                    </Route>\n                                    <Route path={PartnersRoutesEnum.partnerMembers}>\n                                        <PartnerMembersPage />\n                                    </Route>\n                                    <Route path={PartnersRoutesEnum.partnerInvoices}>invoices</Route>\n                                    <Route path={PartnersRoutesEnum.partnerTrailers}>\n                                        <PartnerTrailersPage onOpenUserDetails={handleOpenUserDetails} />\n                                    </Route>\n                                    <Route path={PartnersRoutesEnum.partnerDrivers}>\n                                        <PartnerDriversPage />\n                                    </Route>\n                                    <Route path={PartnersRoutesEnum.partnerTrucks}>\n                                        <PartnerTrucksPage onOpenUserDetails={handleOpenUserDetails} />\n                                    </Route>\n                                    <Route path={PartnersRoutesEnum.partnerTransportOrders}>\n                                        <PartnerTransportOrders />\n                                    </Route>\n                                </Switch>\n                            </ScrollableContent>\n                        </Route>\n                    </Switch>\n                    <SideBars />\n                </PartnerPermissionsContextProvider>\n            </PartnerContext.Provider>\n        </RemoteFormActionsContext.Provider>\n    );\n});\n\nexport default PartnerPage;\n","import * as React from 'react';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { TruckDetailsSidebarDataT } from './models';\nimport history from 'common/utils/history';\nimport useCommonUrlFactoryContext from 'common/utils/hooks/useCommonUrlFactoryContext';\nimport CommonEditableTruckDetailsLayout from 'common/layouts/CommonEditableTruckDetailsLayout/CommonEditableTruckDetailsLayout';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { logWarning } from 'common/utils/logger';\n\ntype PropsT = SidebarContentPropsT<TruckDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst EditableTruckDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onGoBack, onClose, setNeedCloseConfirmation, onOpenNextSidebar } = props;\n\n    const commonUrlFactory = useCommonUrlFactoryContext();\n\n    const partnerContext = usePartnerContext();\n\n    const partnerId = data.partnerId || partnerContext.partnerId;\n    const partnerType = partnerContext.partnerType || null;\n\n    if (!onClose) {\n        return null;\n    }\n\n    const handleShowMap = () => {\n        history.push(commonUrlFactory.truckDetails(data.partnerId, data.truckId));\n    };\n\n    const handleOpenTruckDetails = (truckId: TruckIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenTruckDetails');\n            return;\n        }\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.truckDetails,\n            partnerId,\n            truckId,\n        });\n    };\n\n    const handleOpenContactDetails = (contractId: CarrierContractIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.carrierContract,\n            contractId,\n            initIsEditing: false,\n            partnerId: data.partnerId,\n        });\n    };\n\n    const handleOpenUserDetails = (userId: UserIdT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const handleOpenTrailerDetails = (trailerId: TrailerIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenTrailerDetails');\n            return;\n        }\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            partnerId,\n            trailerId,\n        });\n    };\n\n    return (\n        <CommonEditableTruckDetailsLayout\n            truckId={data.truckId}\n            partnerId={data.partnerId}\n            isDisableShowOnMap={!!data.isDisableShowOnMap}\n            isReadOnly={!!data.isReadOnly}\n            onClose={onClose}\n            onGoBack={onGoBack || undefined}\n            isShowMap={false}\n            onToggleShowMap={handleShowMap}\n            setNeedCloseConfirmation={setNeedCloseConfirmation}\n            onOpenTrailerDetails={handleOpenTrailerDetails}\n            onOpenTruckDetails={handleOpenTruckDetails}\n            onOpenContactDetails={handleOpenContactDetails}\n            onOpenUserDetails={handleOpenUserDetails}\n        />\n    );\n};\n\nexport default EditableTruckDetailsSidebarContent;\n","import { SharableStateT } from '../models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { TrucksDictT } from './models';\nimport flatten from 'lodash/flatten';\nimport keyBy from 'lodash/keyBy';\nimport { ApiTruckDictTypeT } from 'common/utils/api/models';\n\nexport const selectTrucksDict = (state: SharableStateT): TrucksDictT | null => state.trucksDict.trucksDict;\n\nexport const selectTrucksDictRequest = (state: SharableStateT): RequestStatusT => state.trucksDict.trucksDictRequest;\n\nexport const selectTrucksDictList = (state: SharableStateT): Array<ApiTruckDictTypeT> => {\n    return flatten(Object.values(state?.trucksDict?.trucksDict || {}));\n};\n\nexport const selectTrucksDictById = (state: SharableStateT): Record<string, ApiTruckDictTypeT> => {\n    const list = selectTrucksDictList(state);\n\n    return keyBy(list, 'id');\n};\n","export enum SpotDetailsTabEnum {\n    details = 'details',\n    bids = 'bids',\n}\n","import React, { useCallback } from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './BrokerTeamsSuggest.scss';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport DropdownSearchMultipleInput from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport PartnersIcon, { PartnersIconProps } from 'common/icons/PartnersIcon';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = {\n    id: TeamIdT;\n    name: string;\n};\n\ntype ValueT = OptionT['id'] | null;\n\nexport type PropsT = {\n    className?: string;\n    initialOptions?: Array<OptionT>;\n    initialRequestStatus?: RequestStatusT;\n    onSelect: (values: Array<ValueT>, options: Array<OptionT>) => void;\n    values: Array<ValueT>;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    overlayClassName?: string;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError?: InputPropsT['hasError'];\n    hasWarning?: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur?: InputPropsT['onBlur'];\n    onFocus?: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    allowedQueryMinLength?: number;\n};\n\nconst BrokerTeamsSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialOptions,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        overlayClassName,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        initialRequestStatus,\n        allowedQueryMinLength,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback((query) => {\n        return brokerTranziitApi\n            .getTeamsFilter({\n                textSearch: query,\n                size: 100,\n            })\n            .then((response): AsyncRequestFactoryResultT<OptionT> => {\n                const [error, result] = response;\n                if (error) {\n                    return [error, null];\n                }\n\n                const items: Array<OptionT> =\n                    result?.content?.reduce<Array<OptionT>>((acc, item) => {\n                        if (item.id) {\n                            acc.push({\n                                id: item.id,\n                                name: item.name || '',\n                            });\n                        }\n\n                        return acc;\n                    }, []) || [];\n\n                return [null, items];\n            });\n    }, []);\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions,\n        requestFactory,\n        settings: { allowedQueryMinLength },\n    });\n\n    const handleSelect = (values: Array<ValueT>) => {\n        const valueSet = new Set(values);\n\n        const options = asyncOptionsRequest.options.filter((option) => {\n            const optionValue = getOptionValue(option);\n            return valueSet.has(optionValue);\n        });\n\n        onSelect(values, options);\n    };\n\n    const handleReset = () => {\n        onSelect([], []);\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return <DropdownControlOptionLabel className={cx('option')} withoutPaddings label={option.name || ''} />;\n    };\n\n    const renderTrigger = (options: Array<OptionT> | undefined, placeholder?: string): React.ReactNode => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options?.length === 1) {\n            const firstOption = options?.[0] || null;\n\n            return <DropdownControlOptionLabel withoutPaddings label={firstOption?.name || ''} />;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                label={t('common:common-components.dropdown-multiple-input.multiple-values-selected')}\n                description={\n                    <PillLabel\n                        isSymmetrical\n                        theme={hasChanges ? PillLabelThemeEnum.orange : PillLabelThemeEnum.charcoal}\n                    >\n                        {options?.length || 0}\n                    </PillLabel>\n                }\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values}\n            placeholder={placeholder}\n            options={asyncOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            renderLeftIcon={(iconMeta) => <PartnersIcon {...PartnersIconProps.getControlProps(iconMeta)} />}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            overlayClassName={overlayClassName}\n            isLoading={asyncOptionsRequest.requestStatus.loading || initialRequestStatus?.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default BrokerTeamsSuggest;\n","import isEmpty from 'lodash/isEmpty';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport { CountrySettingsByCodeT } from 'common/store/country-settings-dict/models';\n\nexport const checkIsAvailableCountryForShip = (\n    location: LocationT | null,\n    countriesSettingsByCode: CountrySettingsByCodeT,\n): boolean => {\n    if (isEmpty(countriesSettingsByCode) || !location) {\n        return true;\n    }\n\n    const countryCode = location?.addressComponents?.countryCode;\n    if (!countryCode) {\n        // check only has countryCode\n        return true;\n    }\n\n    return !!countriesSettingsByCode[countryCode.toUpperCase() as CountryCodeT]?.ship;\n};\n\nexport const checkIsAvailableCountryForShipByCode = (\n    countryCode: string | null,\n    countriesSettingsByCode: CountrySettingsByCodeT,\n): boolean => {\n    if (isEmpty(countriesSettingsByCode) || !countryCode) {\n        return true;\n    }\n\n    return !!countriesSettingsByCode[countryCode.toUpperCase() as CountryCodeT]?.ship;\n};\n\nexport const checkIsAvailableCountryForDropAsset = (\n    location: LocationT | null,\n    countriesSettingsByCode: CountrySettingsByCodeT,\n): boolean => {\n    return checkIsAvailableCountryForShip(location, countriesSettingsByCode);\n};\n\nexport const checkIsAvailableCountryForServiceMaintananceAsset = (\n    location: LocationT | null,\n    countriesSettingsByCode: CountrySettingsByCodeT,\n): boolean => {\n    return checkIsAvailableCountryForShip(location, countriesSettingsByCode);\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport RightArrowIcon from 'common/icons/RightArrowIcon';\n\ntype PropsT = {\n    entityType: 'TRANSPORT_ORDER';\n    className?: string;\n    onClick: () => void;\n};\n\nconst entityTypeToLabel: Record<PropsT['entityType'], string> = {\n    TRANSPORT_ORDER: 'common:vehicle-schedule.entity-link.transport-order',\n};\n\nconst EntityLinkTooltipContent: React.FC<PropsT> = React.memo((props) => {\n    const { onClick, className, entityType } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Button\n            className={className}\n            theme={ButtonThemeEnum.transparentLightAlpha}\n            testSelector=\"entity-link\"\n            onClick={onClick}\n            rightIcon={<RightArrowIcon fillColor={StyleGuideColorsEnum.white} />}\n        >\n            {t(entityTypeToLabel[entityType])}\n        </Button>\n    );\n});\n\nexport default EntityLinkTooltipContent;\n","import geoServicesConfig from 'common/utils/api/geo-services-config';\nimport { BootstrapURLKeys, MapOptions } from 'google-map-react';\n\nexport const BOOTSTRAP_URL_KEYS: BootstrapURLKeys = {\n    libraries: ['places'],\n    key: geoServicesConfig.mapsApiKey,\n    language: geoServicesConfig.language,\n};\n\nexport const DEFAULT_POINT_ZOOM = 16;\nexport const DEFAULT_ZOOM = 4;\nexport const DEFAULT_CENTER = {\n    lat: 52.519881,\n    lng: 13.407338,\n};\n\nexport const MAP_OPTIONS: MapOptions = {\n    mapTypeControl: true,\n    mapTypeId: 'roadmap',\n    mapTypeControlOptions: {\n        style: 0,\n        position: 9,\n        mapTypeIds: ['roadmap', 'satellite'],\n    },\n    controlSize: 25,\n    fullscreenControl: false,\n    zoomControlOptions: {\n        position: 6,\n    },\n    styles: [\n        // common\n        {\n            elementType: 'labels.text.fill',\n            stylers: [\n                {\n                    color: '#616161',\n                },\n            ],\n        },\n        {\n            elementType: 'labels.text.stroke',\n            stylers: [\n                {\n                    color: '#f5f5f5',\n                },\n            ],\n        },\n        // administrative\n        {\n            featureType: 'administrative.land_parcel',\n            elementType: 'labels.text.fill',\n            stylers: [\n                {\n                    color: '#bdbdbd',\n                },\n            ],\n        },\n        // poi\n        {\n            featureType: 'poi',\n            elementType: 'geometry',\n            stylers: [\n                {\n                    color: '#eeeeee',\n                },\n            ],\n        },\n        {\n            featureType: 'poi',\n            elementType: 'labels.icon',\n            stylers: [\n                {\n                    color: '#616161',\n                },\n            ],\n        },\n        {\n            featureType: 'poi',\n            elementType: 'labels.text.fill',\n            stylers: [\n                {\n                    color: '#757575',\n                },\n            ],\n        },\n        {\n            featureType: 'poi.government',\n            stylers: [{ visibility: 'off' }],\n        },\n        {\n            featureType: 'poi.park',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        {\n            featureType: 'poi.attraction',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        {\n            featureType: 'poi.medical',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        {\n            featureType: 'poi.park',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        {\n            featureType: 'poi.place_of_worship',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        {\n            featureType: 'poi.school',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        {\n            featureType: 'poi.sports_complex',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        // road\n        {\n            featureType: 'road',\n            elementType: 'labels.icon',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        {\n            featureType: 'road',\n            elementType: 'geometry',\n            stylers: [\n                {\n                    color: '#ffffff',\n                },\n            ],\n        },\n        {\n            featureType: 'road.arterial',\n            elementType: 'labels.text.fill',\n            stylers: [\n                {\n                    color: '#757575',\n                },\n            ],\n        },\n        {\n            featureType: 'road.highway',\n            elementType: 'geometry',\n            stylers: [\n                {\n                    color: '#dadada',\n                },\n            ],\n        },\n        {\n            featureType: 'road.highway',\n            elementType: 'labels.text.fill',\n            stylers: [\n                {\n                    color: '#616161',\n                },\n            ],\n        },\n        {\n            featureType: 'road.local',\n            elementType: 'labels.text.fill',\n            stylers: [\n                {\n                    color: '#9e9e9e',\n                },\n            ],\n        },\n        // transit\n        {\n            featureType: 'transit',\n            stylers: [\n                {\n                    visibility: 'off',\n                },\n            ],\n        },\n        // water\n        {\n            featureType: 'water',\n            elementType: 'geometry',\n            stylers: [\n                {\n                    color: '#c9c9c9',\n                },\n            ],\n        },\n        {\n            featureType: 'water',\n            elementType: 'labels.text.fill',\n            stylers: [\n                {\n                    color: '#9e9e9e',\n                },\n            ],\n        },\n        // landscape\n        {\n            featureType: 'landscape.natural',\n            elementType: 'geometry.fill',\n            stylers: [\n                {\n                    color: '#f5f5f5',\n                },\n            ],\n        },\n    ],\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"HeaderSideBarPortal__fadeIn___SA50i\",\"blinking\":\"HeaderSideBarPortal__blinking___z3Ywz\"};","import React, { useMemo } from 'react';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectCompanyContacts, selectFetchContactsRequest } from 'common/store/members/selectors';\nimport keyBy from 'lodash/keyBy';\nimport { fetchContacts } from 'common/store/members/actions';\nimport { CompanyContactT } from 'common/store/members/models';\nimport { isNonNil } from 'common/utils';\nimport UserDropdownOptionLabel from 'common/components/dropdowns/options/UserDropdownOptionLabel/UserDropdownOptionLabel';\nimport ControlLoaderIcon, { ControlLoaderIconProps } from 'common/icons/ControlLoaderIcon';\nimport { UserStatusEnum } from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\n\ntype ValueT = UserIdT | null;\ntype OptionT = UserIdT;\n\ntype PropsT = {\n    onChange: (userId: UserIdT | null, userName?: string) => void;\n    value: UserIdT | null;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChangeHighlight?: boolean;\n    companyId: CompanyIdT | null;\n    placeholder?: string;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n};\n\nconst UserDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        onChange,\n        value,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        companyId,\n        placeholder,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasClearControl,\n    } = props;\n\n    const fetchRequest = useSelector(selectFetchContactsRequest(companyId));\n    const rawMembers = useSelector(selectCompanyContacts(companyId));\n    const members = React.useMemo(() => rawMembers || [], [rawMembers]);\n\n    const allIds = useMemo(() => {\n        return members\n            .filter((contact) => contact?.userStatus !== UserStatusEnum.pending)\n            .map((contact) => contact?.userId)\n            .filter(isNonNil);\n    }, [members]);\n\n    const memberByUserId = useMemo(() => {\n        return keyBy<CompanyContactT>(members, 'userId');\n    }, [members]);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (!companyId) {\n            logWarning('Empty companyId in UserDropdown useEffect');\n            return;\n        }\n\n        dispatch(fetchContacts(companyId));\n    }, [dispatch, companyId]);\n\n    const renderOption = React.useCallback(\n        (id: ValueT | null | undefined): React.ReactElement | null => {\n            if (!id) {\n                return null;\n            }\n\n            const member = memberByUserId[id];\n\n            return <UserDropdownOptionLabel label={member?.fullName || id || ''} />;\n        },\n        [memberByUserId],\n    );\n\n    const getOptionValue = React.useCallback((option: OptionT): ValueT => option, []);\n\n    const handleReset = React.useCallback(() => {\n        onChange(null);\n    }, [onChange]);\n\n    const handleSelect = React.useCallback(\n        (userId: ValueT) => {\n            const member = memberByUserId[userId as ContactIdT] || null;\n            onChange(member?.userId || null, member?.fullName);\n        },\n        [memberByUserId, onChange],\n    );\n\n    return (\n        <DropdownInput<OptionT, ValueT>\n            testSelector=\"user\"\n            className={className}\n            selectedValue={value}\n            placeholder={placeholder}\n            options={allIds}\n            onSelect={handleSelect}\n            renderRightIcon={() =>\n                fetchRequest.loading ? <ControlLoaderIcon {...ControlLoaderIconProps.getFetchDataProps()} /> : null\n            }\n            hasError={hasError}\n            hasWarning={hasWarning}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            onReset={handleReset}\n            hasClearControl={hasClearControl}\n        />\n    );\n});\n\nexport default UserDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"action--next\":\"ChangeTourStatusFooter__action--next___JXVkg\",\"tooltip\":\"ChangeTourStatusFooter__tooltip___HS8jg\",\"fadeIn\":\"ChangeTourStatusFooter__fadeIn___aar0x\",\"blinking\":\"ChangeTourStatusFooter__blinking___RovJk\"};","import { AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\nimport { useTranslation } from 'react-i18next';\n\nconst T_MAP: Partial<Record<AuthErrorTypeEnum, string>> = {\n    [AuthErrorTypeEnum.wrongPassword]: 'common:auth-errors.wrong-password',\n    [AuthErrorTypeEnum.failReauthenticateWithCredential]: 'common:auth-errors.fail-reauthenticate',\n    [AuthErrorTypeEnum.failUpdatePassword]: 'common:auth-errors.fail-update-password',\n    [AuthErrorTypeEnum.userNotFound]: 'common:auth-errors.user-not-found',\n    [AuthErrorTypeEnum.userDisabled]: 'common:auth-errors.user-disabled',\n    [AuthErrorTypeEnum.expiredActionCode]: 'common:auth-errors.expired-action-code',\n    [AuthErrorTypeEnum.invalidActionCode]: 'common:auth-errors.invalid-action-code',\n    [AuthErrorTypeEnum.weakPassword]: 'common:auth-errors.weak-password',\n    [AuthErrorTypeEnum.wrongRole]: 'common:auth-errors.wrong-role',\n    [AuthErrorTypeEnum.unknown]: 'common:something-went-wrong',\n};\n\nconst DEFAULT_T = 'common:something-went-wrong';\n\ntype ErrorMessageT = string;\n\nfunction useAsyncFormErrorMessage(errorType?: AuthErrorTypeEnum | null): ErrorMessageT | null {\n    const { t } = useTranslation();\n\n    if (!errorType || errorType === AuthErrorTypeEnum.networkRequestFailed) {\n        return null;\n    }\n\n    return t(T_MAP[errorType] || DEFAULT_T);\n}\n\nexport default useAsyncFormErrorMessage;\n","import * as React from 'react';\nimport { useEffect } from 'react';\n\nimport styles from './RevokeContractConfirmation.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport { useFormik } from 'formik';\nimport { logWarning } from 'common/utils/logger';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { prepareRevokeInfo } from './prepare-revoke-data';\nimport ActiveContractDropdown from 'common/components/dropdowns/ActiveContractDropdown/ActiveContractDropdown';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\nimport { getContractName } from 'common/components/ContractName/ContractName';\nimport { CurrencyEnum, UnitTypeEnum } from 'common/constants';\nimport classNames from 'classnames/bind';\nimport { ApiRevokePartnerContractInfoT, RevokeContractActionEnum } from 'common/utils/api/models';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport Money from 'common/components/Money/Money';\nimport RevokeContractActionDropdown from 'common/layouts/BaseCarrierContractsLayout/dialogs/RevokeContractConfirmation/RevokeContractActionDropdown/RevokeContractActionDropdown';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nexport type ConfirmRevokeContractModalDataT = {\n    id: CarrierContractIdT;\n    name?: string;\n    truckRateKm?: number;\n    boxRateKm?: number;\n    tiltRateKm?: number;\n};\n\ntype PropsT = {\n    data: ConfirmRevokeContractModalDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (contractId: CarrierContractIdT, revokeInfo: ApiRevokePartnerContractInfoT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'revoke-contract-confirmation';\n\nconst RevokeContractConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onClose, onConfirm, requestStatus } = props;\n    const { t } = useTranslation();\n\n    const { partnerId } = usePartnerContext();\n\n    const excludedContractIds = React.useMemo(() => {\n        if (!data) {\n            return [];\n        }\n        return [data.id];\n    }, [data]);\n\n    const isShow = !!data;\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values: FormValuesT = {\n            [FieldsEnum.action]: RevokeContractActionEnum.setNewContract,\n            [FieldsEnum.nextContractId]: null,\n            [FieldsEnum.boxesRatePerKm]: '',\n            [FieldsEnum.tiltsRatePerKm]: '',\n            [FieldsEnum.trucksRatePerKm]: '',\n        };\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const revokeInfo = prepareRevokeInfo(values);\n\n            if (!data?.id) {\n                logWarning('failed to revoke contract, empty data?.id');\n                return;\n            }\n\n            if (!revokeInfo) {\n                logWarning('failed to revoke contract, empty revokeInfo');\n                return;\n            }\n\n            onConfirm(data.id, revokeInfo);\n            formikHelpers.setTouched({});\n        },\n    });\n\n    useEffect(() => {\n        formik.resetForm();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isShow]);\n\n    if (!isShow) {\n        return null;\n    }\n\n    const selectedAction = formik.values[FieldsEnum.action];\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <form onSubmit={formik.handleSubmit}>\n                    <ModalDialog\n                        width={DEFAULT_MODAL_DIALOG_WIDTH}\n                        testSelector={TEST_SELECTOR}\n                        actions={[\n                            {\n                                children: t('common:error-modal.actions.keep'),\n                                theme: ButtonThemeEnum.secondary,\n                                testSelector: `${TEST_SELECTOR}_keep`,\n                                isDisabled: requestStatus.loading,\n                                onClick: () => {\n                                    onClose();\n                                },\n                            },\n                            {\n                                children: t('common:error-modal.actions.revoke'),\n                                theme: ButtonThemeEnum.danger,\n                                testSelector: `${TEST_SELECTOR}_ok`,\n                                isLoading: requestStatus.loading,\n                                isDisabled: requestStatus.loading,\n                                type: 'submit',\n                            },\n                        ]}\n                        icon={<BigTrashIcon />}\n                        title={t('common:carrier-contracts.revoke-confirmation.title')}\n                        message={t('common:carrier-contracts.revoke-confirmation.description', {\n                            name: getContractName(data.name, t),\n                        })}\n                        body={\n                            <>\n                                <FormikField\n                                    name={FieldsEnum.action}\n                                    error={formik.errors[FieldsEnum.action]}\n                                    meta={formik.getFieldMeta(FieldsEnum.action)}\n                                    label={t('common:carrier-contracts.revoke-confirmation.fields.action.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <RevokeContractActionDropdown\n                                            value={formik.values[FieldsEnum.action]}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            onSelect={props.onChange}\n                                        />\n                                    )}\n                                </FormikField>\n                                {selectedAction === RevokeContractActionEnum.setNewContract && (\n                                    <FormikField\n                                        name={FieldsEnum.nextContractId}\n                                        error={formik.errors[FieldsEnum.nextContractId]}\n                                        meta={formik.getFieldMeta(FieldsEnum.nextContractId)}\n                                        label={t(\n                                            'common:carrier-contracts.revoke-confirmation.fields.next-contract.label',\n                                        )}\n                                        setFieldValue={formik.setFieldValue}\n                                        setFieldTouched={formik.setFieldTouched}\n                                    >\n                                        {(props) => (\n                                            <ActiveContractDropdown\n                                                excludedContractIds={excludedContractIds}\n                                                value={formik.values[FieldsEnum.nextContractId]}\n                                                isDisabled={false}\n                                                onChange={props.onChange}\n                                                placeholder={t(\n                                                    'common:carrier-contracts.revoke-confirmation.fields.next-contract.placeholder',\n                                                )}\n                                                hasError={props.hasError}\n                                                hasWarning={props.hasWarning}\n                                                onBlur={props.onBlur}\n                                                onFocus={props.onFocus}\n                                                companyId={partnerId}\n                                            />\n                                        )}\n                                    </FormikField>\n                                )}\n                                {selectedAction === RevokeContractActionEnum.setNewRate && (\n                                    <FieldGroup>\n                                        <FormikField\n                                            name={FieldsEnum.trucksRatePerKm}\n                                            error={formik.errors[FieldsEnum.trucksRatePerKm]}\n                                            meta={formik.getFieldMeta(FieldsEnum.trucksRatePerKm)}\n                                            label={t(\n                                                'common:carrier-contracts.revoke-confirmation.fields.truck-rate-per-km.label',\n                                            )}\n                                            setFieldValue={formik.setFieldValue}\n                                            setFieldTouched={formik.setFieldTouched}\n                                        >\n                                            {(props) => (\n                                                <NumberInput\n                                                    name={FieldsEnum.trucksRatePerKm}\n                                                    unitType={UnitTypeEnum.euroAbbreviation}\n                                                    value={formik.values[FieldsEnum.trucksRatePerKm]}\n                                                    placeholder={t(\n                                                        'common:carrier-contracts.revoke-confirmation.fields.truck-rate-per-km.placeholder',\n                                                    )}\n                                                    onChange={props.onChange}\n                                                    onBlur={props.onBlur}\n                                                    onFocus={props.onFocus}\n                                                    hasError={props.hasError}\n                                                    hasWarning={props.hasWarning}\n                                                    step={1}\n                                                />\n                                            )}\n                                        </FormikField>\n                                        <FormikField\n                                            name={FieldsEnum.boxesRatePerKm}\n                                            error={formik.errors[FieldsEnum.boxesRatePerKm]}\n                                            meta={formik.getFieldMeta(FieldsEnum.boxesRatePerKm)}\n                                            label={t(\n                                                'common:carrier-contracts.revoke-confirmation.fields.box-rate-per-km.label',\n                                            )}\n                                            setFieldValue={formik.setFieldValue}\n                                            setFieldTouched={formik.setFieldTouched}\n                                        >\n                                            {(props) => (\n                                                <NumberInput\n                                                    name={FieldsEnum.boxesRatePerKm}\n                                                    unitType={UnitTypeEnum.euroAbbreviation}\n                                                    value={formik.values[FieldsEnum.boxesRatePerKm]}\n                                                    placeholder={t(\n                                                        'common:carrier-contracts.revoke-confirmation.fields.box-rate-per-km.placeholder',\n                                                    )}\n                                                    onChange={props.onChange}\n                                                    onBlur={props.onBlur}\n                                                    onFocus={props.onFocus}\n                                                    hasError={props.hasError}\n                                                    hasWarning={props.hasWarning}\n                                                    step={1}\n                                                />\n                                            )}\n                                        </FormikField>\n                                        <FormikField\n                                            name={FieldsEnum.tiltsRatePerKm}\n                                            error={formik.errors[FieldsEnum.tiltsRatePerKm]}\n                                            meta={formik.getFieldMeta(FieldsEnum.tiltsRatePerKm)}\n                                            label={t(\n                                                'common:carrier-contracts.revoke-confirmation.fields.tilt-rate-per-km.label',\n                                            )}\n                                            setFieldValue={formik.setFieldValue}\n                                            setFieldTouched={formik.setFieldTouched}\n                                        >\n                                            {(props) => (\n                                                <NumberInput\n                                                    name={FieldsEnum.tiltsRatePerKm}\n                                                    unitType={UnitTypeEnum.euroAbbreviation}\n                                                    value={formik.values[FieldsEnum.tiltsRatePerKm]}\n                                                    placeholder={t(\n                                                        'common:carrier-contracts.revoke-confirmation.fields.tilt-rate-per-km.placeholder',\n                                                    )}\n                                                    onChange={props.onChange}\n                                                    onBlur={props.onBlur}\n                                                    onFocus={props.onFocus}\n                                                    hasError={props.hasError}\n                                                    hasWarning={props.hasWarning}\n                                                    step={1}\n                                                />\n                                            )}\n                                        </FormikField>\n                                    </FieldGroup>\n                                )}\n                                {selectedAction === RevokeContractActionEnum.keepOldRate && (\n                                    <FieldGroup>\n                                        <ReadOnlyField\n                                            label={t(\n                                                'common:carrier-contracts.revoke-confirmation.fields.truck-rate-per-km.label',\n                                            )}\n                                            value={\n                                                data?.truckRateKm ? (\n                                                    <Money amount={data.truckRateKm} currency={CurrencyEnum.EUR} />\n                                                ) : (\n                                                    ''\n                                                )\n                                            }\n                                            placeholder={t('common:fields.placeholder.empty')}\n                                        />\n                                        <ReadOnlyField\n                                            label={t(\n                                                'common:carrier-contracts.revoke-confirmation.fields.box-rate-per-km.label',\n                                            )}\n                                            value={\n                                                data?.boxRateKm ? (\n                                                    <Money amount={data.boxRateKm} currency={CurrencyEnum.EUR} />\n                                                ) : (\n                                                    ''\n                                                )\n                                            }\n                                            placeholder={t('common:fields.placeholder.empty')}\n                                        />\n                                        <ReadOnlyField\n                                            label={t(\n                                                'common:carrier-contracts.revoke-confirmation.fields.tilt-rate-per-km.label',\n                                            )}\n                                            value={\n                                                data?.tiltRateKm ? (\n                                                    <Money amount={data.tiltRateKm} currency={CurrencyEnum.EUR} />\n                                                ) : (\n                                                    ''\n                                                )\n                                            }\n                                            placeholder={t('common:fields.placeholder.empty')}\n                                        />\n                                    </FieldGroup>\n                                )}\n                            </>\n                        }\n                    />\n                </form>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default RevokeContractConfirmation;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerDriversPage.scss';\nimport DriversPageLayout from 'common/layouts/DriversPageLayout/DriversPageLayout';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PartnerDriversPage: React.FC<PropsT> = React.memo(() => {\n    return <DriversPageLayout />;\n});\n\nexport default PartnerDriversPage;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './SetUnavailableFooterContent.scss';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport SetUnavailableForm from '../SetUnavailableForm/SetUnavailableForm';\nimport { SetUnavailableVehicleQueryT } from 'common/utils/api/models';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport { useSelector } from 'react-redux';\nimport { selectFetchScheduleRequest } from 'common/store/vehicle-schedules/selectors';\nimport { AssetTypeEnum } from 'common/constants';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport { GoogleMapsLoaderWithoutMaps } from 'common/components/maps/GoogleMapsLoaderWithoutMaps/GoogleMapsLoaderWithoutMaps';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    onClose: () => void;\n    isLoading: boolean;\n    assetId: AssetIdT | null;\n    assetType: AssetTypeEnum;\n    onSetUnavailable: (assetId: AssetIdT, query: SetUnavailableVehicleQueryT) => void;\n};\n\nconst SetUnavailableFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { assetId, assetType, onClose, isLoading, onSetUnavailable, className } = props;\n\n    const requestStatus = useSelector(selectFetchScheduleRequest(assetId));\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    return (\n        <>\n            <GoogleMapContext.Provider value={googleMapsContextValue}>\n                <GoogleMapsLoaderWithoutMaps />\n                {requestStatus.loading && <LoaderOverlay />}\n                <div className={cs(cx('content'), className)}>\n                    <TransparentTrigger\n                        className={cx('close-button')}\n                        onClick={onClose}\n                        leftIcon={<CloseIcon />}\n                        reflectionTheme={ReflectionThemeEnum.light}\n                    />\n                    <SetUnavailableForm\n                        isLoading={isLoading}\n                        assetId={assetId}\n                        assetType={assetType}\n                        onSetUnavailable={onSetUnavailable}\n                    />\n                </div>\n            </GoogleMapContext.Provider>\n        </>\n    );\n});\n\nexport default SetUnavailableFooterContent;\n","import * as React from 'react';\nimport { OrderStatusEnum, ApiOrderStatusT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiOrderStatusT | null | undefined;\n};\n\nexport const ORDER_STATUS_T_MAP: Record<ApiOrderStatusT, string> = {\n    [OrderStatusEnum.placed]: 'common:order-status.PLACED',\n    [OrderStatusEnum.inProgress]: 'common:order-status.IN_PROGRESS',\n    [OrderStatusEnum.delivered]: 'common:order-status.DELIVERED',\n    [OrderStatusEnum.canceled]: 'common:order-status.CANCELED',\n    [OrderStatusEnum.done]: 'common:order-status.DONE',\n};\n\nconst OrderStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(ORDER_STATUS_T_MAP[status]);\n});\n\nexport default OrderStatus;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    // eslint-disable-next-line react/no-unused-prop-types\n    lat?: number;\n    // eslint-disable-next-line react/no-unused-prop-types\n    lng?: number;\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    number: number;\n};\n\nconst NumberPinIcon: React.FC<PropsT> = (props) => {\n    const { className, fillColor, number } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"45\" viewBox=\"0 0 40 45\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    fill={fillColor}\n                    d=\"M25 0c8.284 0 15 6.716 15 15v10c0 8.284-6.716 15-15 15l-5 5-5-5C6.716 40 0 33.284 0 25V15C0 6.716 6.716 0 15 0h10z\"\n                />\n                <text fill=\"#FFF\" fontFamily=\"Roboto-Black, Roboto\" fontSize=\"28\" fontWeight=\"800\" textAnchor=\"middle\">\n                    <tspan x=\"20\" y=\"30\">\n                        {number}\n                    </tspan>\n                </text>\n            </g>\n        </svg>\n    );\n};\n\nNumberPinIcon.displayName = 'NumberPinIcon';\n\nconst storyProps: PropsT = {\n    number: 1,\n    fillColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default NumberPinIcon;\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport {\n    CompanyTrailersStatsT,\n    FetchTrailersPageQueryT,\n    ApiTrailerDetailsT,\n    ApiTrailerT,\n    ActivateTrailersRequestT,\n} from './models';\nimport {\n    ApiChangeContractVehiclesRequestT,\n    ApiChangeRateVehiclesRequestT,\n    ApiTrailerAddRequestT,\n    ApiTrailerUpdateRequestT,\n} from 'common/utils/api/models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_TRAILERS_PAGE_REQUEST = 'common/trailers/FETCH_TRAILERS_PAGE_REQUEST';\nexport const FETCH_TRAILERS_PAGE_REQUEST_BEGIN = 'common/trailers/FETCH_TRAILERS_PAGE_REQUEST_BEGIN';\nexport const FETCH_TRAILERS_PAGE_REQUEST_ERROR = 'common/trailers/FETCH_TRAILERS_PAGE_REQUEST_ERROR';\nexport const FETCH_TRAILERS_PAGE_REQUEST_SUCCESS = 'common/trailers/FETCH_TRAILERS_PAGE_REQUEST_SUCCESS';\n\nexport const RESET_TRAILERS = 'common/trailers/RESET_TRAILERS';\n\nexport const ADD_TRAILER_REQUEST = 'common/trailers/ADD_TRAILER_REQUEST';\nexport const ADD_TRAILER_REQUEST_BEGIN = 'common/trailers/ADD_TRAILER_REQUEST_BEGIN';\nexport const ADD_TRAILER_REQUEST_ERROR = 'common/trailers/ADD_TRAILER_REQUEST_ERROR';\nexport const ADD_TRAILER_REQUEST_SUCCESS = 'common/trailers/ADD_TRAILER_REQUEST_SUCCESS';\n\nexport const DELETE_TRAILERS_REQUEST = 'common/trailers/DELETE_TRAILERS_REQUEST';\nexport const DELETE_TRAILERS_REQUEST_BEGIN = 'common/trailers/DELETE_TRAILERS_REQUEST_BEGIN';\nexport const DELETE_TRAILERS_REQUEST_ERROR = 'common/trailers/DELETE_TRAILERS_REQUEST_ERROR';\nexport const DELETE_TRAILERS_REQUEST_SUCCESS = 'common/trailers/DELETE_TRAILERS_REQUEST_SUCCESS';\n\nexport const ACTIVATION_TRAILERS_REQUEST = 'common/trailers/ACTIVATION_TRAILERS_REQUEST';\nexport const ARCHIVE_TRAILERS_REQUEST = 'common/trailers/ARCHIVE_TRAILERS_REQUEST';\nexport const ASSIGN_TO_CONTRACT_TRAILERS_REQUEST = 'common/trailers/ASSIGN_TO_CONTRACT_TRAILERS_REQUEST';\nexport const CHANGE_RATE_TRAILERS_REQUEST = 'common/trailers/CHANGE_RATE_TRAILERS_REQUEST';\nexport const UPDATE_TRAILERS_REQUEST = 'common/trailers/UPDATE_TRAILERS_REQUEST';\nexport const UPDATE_TRAILERS_REQUEST_BEGIN = 'common/trailers/UPDATE_TRAILERS_REQUEST_BEGIN';\nexport const UPDATE_TRAILERS_REQUEST_ERROR = 'common/trailers/UPDATE_TRAILERS_REQUEST_ERROR';\nexport const UPDATE_TRAILERS_REQUEST_SUCCESS = 'common/trailers/UPDATE_TRAILERS_REQUEST_SUCCESS';\n\nexport const FETCH_TRAILER_DETAILS_REQUEST = 'common/trailers/FETCH_TRAILER_DETAILS_REQUEST';\nexport const FETCH_TRAILER_DETAILS_REQUEST_BEGIN = 'common/trailers/FETCH_TRAILER_DETAILS_REQUEST_BEGIN';\nexport const FETCH_TRAILER_DETAILS_REQUEST_ERROR = 'common/trailers/FETCH_TRAILER_DETAILS_REQUEST_ERROR';\nexport const FETCH_TRAILER_DETAILS_REQUEST_SUCCESS = 'common/trailers/FETCH_TRAILER_DETAILS_REQUEST_SUCCESS';\n\nexport const FETCH_TRAILERS_STATS_REQUEST = 'common/trailers/FETCH_TRAILERS_STATS_REQUEST';\nexport const FETCH_TRAILERS_STATS_REQUEST_BEGIN = 'common/trailers/FETCH_TRAILERS_STATS_REQUEST_BEGIN';\nexport const FETCH_TRAILERS_STATS_REQUEST_ERROR = 'common/trailers/FETCH_TRAILERS_STATS_REQUEST_ERROR';\nexport const FETCH_TRAILERS_STATS_REQUEST_SUCCESS = 'common/trailers/FETCH_TRAILERS_STATS_REQUEST_SUCCESS';\n\nexport const IMPORT_XLS_TRAILERS_REQUEST = 'common/trailers/IMPORT_XLS_TRAILERS_REQUEST';\nexport const IMPORT_XLS_TRAILERS_REQUEST_BEGIN = 'common/trailers/IMPORT_XLS_TRAILERS_REQUEST_BEGIN';\nexport const IMPORT_XLS_TRAILERS_REQUEST_ERROR = 'common/trailers/IMPORT_XLS_TRAILERS_REQUEST_ERROR';\nexport const IMPORT_XLS_TRAILERS_REQUEST_SUCCESS = 'common/trailers/IMPORT_XLS_TRAILERS_REQUEST_SUCCESS';\n\nexport const EXPORT_XLS_TRAILERS_REQUEST = 'common/trailers/EXPORT_XLS_TRAILERS_REQUEST';\nexport const EXPORT_XLS_TRAILERS_REQUEST_BEGIN = 'common/trailers/EXPORT_XLS_TRAILERS_REQUEST_BEGIN';\nexport const EXPORT_XLS_TRAILERS_REQUEST_ERROR = 'common/trailers/EXPORT_XLS_TRAILERS_REQUEST_ERROR';\nexport const EXPORT_XLS_TRAILERS_REQUEST_SUCCESS = 'common/trailers/EXPORT_XLS_TRAILERS_REQUEST_SUCCESS';\n\nexport type CompanyTrailersStateT = PaginationStateT<ApiTrailerT, FetchTrailersPageQueryT> & {\n    addRequest: RequestStatusT;\n    deleteRequest: RequestStatusT;\n    updateRequest: RequestStatusT;\n    detailsById: Record<TrailerIdT, ApiTrailerDetailsT | null>;\n    fetchDetailsRequest: RequestStatusT;\n    stats: CompanyTrailersStatsT | null;\n    fetchStatsRequest: RequestStatusT;\n    importXLSRequest: RequestStatusT;\n    exportXLSRequest: RequestStatusT;\n};\n\nexport type TrailersStateT = Record<CompanyIdT, CompanyTrailersStateT | null>;\n\nexport type FetchTrailersPageActionT = {\n    type: typeof FETCH_TRAILERS_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchTrailersPageQueryT;\n    options?: FetchOptionsT;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrailersPageBeginActionT = {\n    type: typeof FETCH_TRAILERS_PAGE_REQUEST_BEGIN;\n    query: FetchTrailersPageQueryT;\n    pageNumber: PageNumberT;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrailersPageSuccessActionT = {\n    type: typeof FETCH_TRAILERS_PAGE_REQUEST_SUCCESS;\n    query: FetchTrailersPageQueryT;\n    pageNumber: PageNumberT;\n    pageResponse: PageResponseT<ApiTrailerT>;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrailersPageErrorActionT = {\n    type: typeof FETCH_TRAILERS_PAGE_REQUEST_ERROR;\n    query: FetchTrailersPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type ResetTrailersActionT = {\n    type: typeof RESET_TRAILERS;\n    companyId: CompanyIdT;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type AddTrailerRequestActionT = {\n    type: typeof ADD_TRAILER_REQUEST;\n    data: ApiTrailerAddRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type AddTrailerRequestBeginActionT = {\n    type: typeof ADD_TRAILER_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type AddTrailerRequestErrorActionT = {\n    type: typeof ADD_TRAILER_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type AddTrailerRequestSuccessActionT = {\n    type: typeof ADD_TRAILER_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteTrailersRequestActionT = {\n    type: typeof DELETE_TRAILERS_REQUEST;\n    trailerIds: TrailerIdT[];\n    companyId: CompanyIdT;\n};\n\nexport type DeleteTrailersRequestBeginActionT = {\n    type: typeof DELETE_TRAILERS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteTrailersRequestErrorActionT = {\n    type: typeof DELETE_TRAILERS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteTrailersRequestSuccessActionT = {\n    type: typeof DELETE_TRAILERS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type ActivationTrailersRequestActionT = {\n    type: typeof ACTIVATION_TRAILERS_REQUEST;\n    activateTrailersRequest: ActivateTrailersRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type AssignToContractRequestActionT = {\n    type: typeof ASSIGN_TO_CONTRACT_TRAILERS_REQUEST;\n    companyId: CompanyIdT;\n    changeContractRequest: ApiChangeContractVehiclesRequestT;\n    contractName: string | null;\n};\n\nexport type ChangeRateTrailersRequestActionT = {\n    type: typeof CHANGE_RATE_TRAILERS_REQUEST;\n    companyId: CompanyIdT;\n    changeRateVehiclesRequest: ApiChangeRateVehiclesRequestT;\n};\n\nexport type ArchiveTrailersRequestActionT = {\n    type: typeof ARCHIVE_TRAILERS_REQUEST;\n    trailerIds: TrailerIdT[];\n    companyId: CompanyIdT;\n    reason: string;\n};\n\nexport type UpdateTrailerActionT = {\n    type: typeof UPDATE_TRAILERS_REQUEST;\n    companyId: CompanyIdT;\n    trailerId: TrailerIdT;\n    updateTrailer: ApiTrailerUpdateRequestT;\n};\n\nexport type UpdateTrailersRequestBeginActionT = {\n    type: typeof UPDATE_TRAILERS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateTrailersRequestErrorActionT = {\n    type: typeof UPDATE_TRAILERS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateTrailersRequestSuccessActionT = {\n    type: typeof UPDATE_TRAILERS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrailerDetailsActionT = {\n    type: typeof FETCH_TRAILER_DETAILS_REQUEST;\n    companyId: CompanyIdT;\n    trailerId: TrailerIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchTrailerDetailsBeginActionT = {\n    type: typeof FETCH_TRAILER_DETAILS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrailerDetailsErrorActionT = {\n    type: typeof FETCH_TRAILER_DETAILS_REQUEST_ERROR;\n    companyId: CompanyIdT;\n    error: Error;\n};\n\nexport type FetchTrailerDetailsSuccessActionT = {\n    type: typeof FETCH_TRAILER_DETAILS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n    trailerId: TrailerIdT;\n    details: ApiTrailerDetailsT | null;\n};\n\nexport type FetchTrailersStatsActionT = {\n    type: typeof FETCH_TRAILERS_STATS_REQUEST;\n    companyId: CompanyIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchTrailersStatsBeginActionT = {\n    type: typeof FETCH_TRAILERS_STATS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrailersStatsErrorActionT = {\n    type: typeof FETCH_TRAILERS_STATS_REQUEST_ERROR;\n    companyId: CompanyIdT;\n    error: Error;\n};\n\nexport type FetchTrailersStatsSuccessActionT = {\n    type: typeof FETCH_TRAILERS_STATS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n    stats: CompanyTrailersStatsT | null;\n};\n\nexport type ImportXLSTrailersActionT = {\n    type: typeof IMPORT_XLS_TRAILERS_REQUEST;\n    companyId: CompanyIdT;\n    file: File;\n};\n\nexport type ImportXLSTrailersBeginActionT = {\n    type: typeof IMPORT_XLS_TRAILERS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type ImportXLSTrailersErrorActionT = {\n    type: typeof IMPORT_XLS_TRAILERS_REQUEST_ERROR;\n    companyId: CompanyIdT;\n    error: Error;\n};\n\nexport type ImportXLSTrailersSuccessActionT = {\n    type: typeof IMPORT_XLS_TRAILERS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type ExportXLSTrailersActionT = {\n    type: typeof EXPORT_XLS_TRAILERS_REQUEST;\n    companyId: CompanyIdT;\n    query: FetchTrailersPageQueryT;\n};\n\nexport type ExportXLSTrailersBeginActionT = {\n    type: typeof EXPORT_XLS_TRAILERS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type ExportXLSTrailersErrorActionT = {\n    type: typeof EXPORT_XLS_TRAILERS_REQUEST_ERROR;\n    companyId: CompanyIdT;\n    error: Error;\n};\n\nexport type ExportXLSTrailersSuccessActionT = {\n    type: typeof EXPORT_XLS_TRAILERS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type TrailersActionT =\n    | FetchTrailersPageActionT\n    | FetchTrailersPageBeginActionT\n    | FetchTrailersPageSuccessActionT\n    | FetchTrailersPageErrorActionT\n    | ResetTrailersActionT\n    | AddTrailerRequestActionT\n    | AddTrailerRequestBeginActionT\n    | AddTrailerRequestErrorActionT\n    | AddTrailerRequestSuccessActionT\n    | DeleteTrailersRequestActionT\n    | DeleteTrailersRequestBeginActionT\n    | DeleteTrailersRequestErrorActionT\n    | DeleteTrailersRequestSuccessActionT\n    | ActivationTrailersRequestActionT\n    | ChangeRateTrailersRequestActionT\n    | AssignToContractRequestActionT\n    | UpdateTrailerActionT\n    | UpdateTrailersRequestBeginActionT\n    | UpdateTrailersRequestErrorActionT\n    | UpdateTrailersRequestSuccessActionT\n    | FetchTrailersStatsActionT\n    | FetchTrailersStatsBeginActionT\n    | FetchTrailersStatsErrorActionT\n    | FetchTrailersStatsSuccessActionT\n    | ArchiveTrailersRequestActionT\n    | FetchTrailerDetailsActionT\n    | FetchTrailerDetailsBeginActionT\n    | FetchTrailerDetailsErrorActionT\n    | FetchTrailerDetailsSuccessActionT\n    | ImportXLSTrailersActionT\n    | ImportXLSTrailersBeginActionT\n    | ImportXLSTrailersErrorActionT\n    | ImportXLSTrailersSuccessActionT\n    | ExportXLSTrailersActionT\n    | ExportXLSTrailersBeginActionT\n    | ExportXLSTrailersErrorActionT\n    | ExportXLSTrailersSuccessActionT;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TeamName.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    name: string;\n};\n\nconst TeamName: React.FC<PropsT> = React.memo((props) => {\n    const { name } = props;\n\n    return <span className={cx('team-name')}>{name}</span>;\n});\n\nexport default TeamName;\n","// extracted by mini-css-extract-plugin\nexport default {\"loader\":\"Loader__loader___lqxFx\",\"fadeIn\":\"Loader__fadeIn___acEfl\",\"blinking\":\"Loader__blinking___QTXRk\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './IconWithNumber.scss';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isCompact?: boolean;\n    number?: number | null;\n    children?: React.ReactNode;\n};\n\nexport const clusterIconWithNumberStyle = {\n    paddingTop: 3,\n    paddingBottom: 3,\n} as const;\n\nconst IconWithNumber: React.FC<PropsT> = (props) => {\n    const { children, number, isCompact } = props;\n\n    if (!isNumber(number)) {\n        return children as React.ReactElement;\n    }\n\n    return (\n        <div className={cx('row')}>\n            <div className={cx('icon', { 'icon--isCompact': isCompact })}>{children}</div>\n            <div className={cx('number', { 'number--isCompact': isCompact })}>{number}</div>\n        </div>\n    );\n};\n\nexport default IconWithNumber;\n","import { TFunction } from 'i18next';\nimport { AsyncFormErrorsT, FieldsEnum, RouteFormValuesT } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { ApiTruckAssetInvalidReasonT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nconst truckInvalidReasonI18nMap: Record<ApiTruckAssetInvalidReasonT, string> = {\n    NO_ACCESS: 'deadhead-creation.validation.reasons.NO_ACCESS',\n    ASSET_IS_NOT_CONTRACTED: 'deadhead-creation.validation.reasons.ASSET_IS_NOT_CONTRACTED',\n    ASSET_CONTRACT_INACTIVE: 'deadhead-creation.validation.reasons.ASSET_CONTRACT_INACTIVE',\n};\n\ntype MetaT = {\n    contextRequestStatus: RequestStatusT;\n    contextPreviewRequestStatus: RequestStatusT;\n};\n\nconst asyncValidations = (\n    t: TFunction,\n    values: RouteFormValuesT,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    meta: MetaT,\n): AsyncFormErrorsT => {\n    const errors: AsyncFormErrorsT = {};\n\n    const selectedTruck = values[FieldsEnum.truck];\n    if (selectedTruck?.invalidReason) {\n        errors[FieldsEnum.truck] = t(truckInvalidReasonI18nMap[selectedTruck.invalidReason]);\n    }\n\n    return errors;\n};\n\nexport default asyncValidations;\n","import * as React from 'react';\n\nimport { pickFile } from 'common/utils/pick-file';\nimport { logWarning } from 'common/utils/logger';\nimport { attachPaperToShipment, deleteAttachedPaper } from 'common/store/papers-edit/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ApiShipmentAttachedPaperTypeT, ApiAttachPaperRequestT } from 'common/utils/api/models';\nimport { ShipmentPapersUrlFactoryI } from '../image-url-factories';\nimport { selectDeleteRequestStatus } from 'common/store/papers-edit/selectors';\nimport { downloadImage } from 'common/utils/download-image';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { DeletePaperConfirmationDataT } from 'common/components/papers/dialogs/DeletePaperConfirmation/DeletePaperConfirmation';\nimport { ImageGalleryModalDataT } from '../modals/ImageGalleryModal/ImageGalleryModal';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAnyAlert, CommonAlertTypeEnum } from 'common/components/toasts/AlertToastsManager/models';\n\nexport const useAttachShipmentPapers = (shipmentPapersUrlFactory: ShipmentPapersUrlFactoryI) => {\n    const dispatch = useDispatch();\n\n    const [deletingPaperId, setDeletingPaperId] = React.useState<PaperIdT | null>(null);\n    const deleteRequestStatus = useSelector(selectDeleteRequestStatus(deletingPaperId));\n    const deletePaperConfirmationDialog = useModalDialog<DeletePaperConfirmationDataT>();\n    useCloseModalDialogAfterRequest(deleteRequestStatus, [deletePaperConfirmationDialog]);\n\n    const paperGalleryModal = useModalDialog<ImageGalleryModalDataT>();\n\n    return React.useMemo(() => {\n        return {\n            onAttachShipmentPaper: (\n                shipmentId: ShipmentIdT,\n                paperType: ApiShipmentAttachedPaperTypeT,\n                comment?: string,\n            ) => {\n                pickFile('image/*,application/pdf', (file) => {\n                    if (!shipmentId) {\n                        logWarning('failed upload paper, empty shipmentId');\n                        return;\n                    }\n\n                    const formData = new FormData();\n                    formData.append('file', file);\n\n                    dispatch(\n                        attachPaperToShipment({\n                            shipmentId,\n                            query: {\n                                paperType,\n                                comment,\n                            },\n                            data: formData as unknown as ApiAttachPaperRequestT,\n                        }),\n                    );\n                });\n            },\n            onDeleteShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => {\n                deletePaperConfirmationDialog.setData({\n                    tourId: shipmentId as unknown as TourIdT,\n                    paperId,\n                });\n            },\n            onConfirmDeleteShipmentPaper: (data: DeletePaperConfirmationDataT) => {\n                const { paperId } = data;\n\n                if (!paperId) {\n                    logWarning('failed delete paper, empty paperId');\n                    return;\n                }\n\n                setDeletingPaperId(paperId);\n                dispatch(deleteAttachedPaper({ paperId }));\n            },\n            onDownloadShipmentPaper: (shipmentId: ShipmentIdT, documentId: DocumentIdT | undefined) => {\n                if (!shipmentId || !documentId) {\n                    logWarning('failed download paper, empty shipmentId or documentId');\n                    return;\n                }\n\n                const contentUrl = shipmentPapersUrlFactory.getContentUrl(shipmentId, documentId);\n                if (!contentUrl) {\n                    logWarning('failed download paper, empty contentUrl');\n                    return;\n                }\n\n                downloadImage(contentUrl).catch((error: Error) => {\n                    dispatch(\n                        addAlert(\n                            new CommonAnyAlert({\n                                type: CommonAlertTypeEnum.paperDownloadFailed,\n                                data: {\n                                    errorMessage: error.message,\n                                },\n                            }),\n                        ),\n                    );\n                });\n            },\n            onOpenGalleryShipmentPaper: (shipmentId: ShipmentIdT, documentId: DocumentIdT | undefined) => {\n                if (!shipmentId || !documentId) {\n                    logWarning('failed open gallery paper, empty shipmentId or documentId');\n                    return;\n                }\n\n                const contentUrl = shipmentPapersUrlFactory.getContentUrl(shipmentId, documentId);\n                if (!contentUrl) {\n                    logWarning('failed open gallery paper, empty contentUrl');\n                    return;\n                }\n\n                paperGalleryModal.setData({\n                    src: contentUrl,\n                    alt: null,\n                });\n            },\n            getShipmentPaperThumbnailUrl: shipmentPapersUrlFactory.getThumbnailUrl,\n            deleteShipmentPaperConfirmationDialog: deletePaperConfirmationDialog,\n            shipmentPaperGalleryModal: paperGalleryModal,\n            deleteShipmentPaperRequestStatus: deleteRequestStatus,\n        };\n    }, [dispatch, shipmentPapersUrlFactory, deletePaperConfirmationDialog, paperGalleryModal, deleteRequestStatus]);\n};\n","import * as React from 'react';\nimport { useCallback } from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './UserSelectList.scss';\nimport { useTranslation } from 'react-i18next';\nimport Checkbox, { CheckboxThemeEnum } from 'design-system/components/Checkbox/Checkbox';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { ApiBrokerTeamUserT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport uniqBy from 'lodash/uniqBy';\nimport differenceBy from 'lodash/differenceBy';\nimport Avatar, { AvatarSizeEnum } from 'common/components/Avatar/Avatar';\nimport UserMainPill from 'common/components/pills/UserMainPill/UserMainPill';\nimport UserPositionPill from 'common/components/pills/UserPositionPill/UserPositionPill';\nimport UserRolePill from 'common/components/pills/UserRolePill/UserRolePill';\nimport { isNonNil } from 'common/utils';\nimport AsyncSearchScrollableList from 'design-system/components/AsyncSearchScrollableList/AsyncSearchScrollableList';\nimport { ListMessagePropsT } from 'design-system/components/AsyncSearchScrollableList/ListMessage/ListMessage';\nimport { ApiUserStatusT, UserStatusEnum } from 'common/utils/api/models';\nimport Switcher from 'common/components/Switcher/Switcher';\n\nconst cx = classNames.bind(styles);\n\ntype ListOptionT = ApiBrokerTeamUserT & {\n    email?: string; // for pending users\n};\n\ntype PropsT = {\n    className?: string;\n    initialSelectedUsers?: Array<ListOptionT>;\n    companyId: CompanyIdT | null;\n    selectedUsers: Array<ListOptionT>;\n    onChangeUsers: (options: Array<ListOptionT>) => void;\n    highlightedUserIdsSet?: Set<UserIdT>;\n    isReadOnly?: boolean;\n    hideUserStatusSet?: Set<ApiUserStatusT>;\n};\n\nconst pendingStatusSet = new Set<ApiUserStatusT | undefined>([UserStatusEnum.pending]);\n\nconst UserSelectList: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        initialSelectedUsers,\n        companyId,\n        selectedUsers,\n        onChangeUsers,\n        highlightedUserIdsSet,\n        isReadOnly,\n        hideUserStatusSet,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [isShowPendingUsers, setIsShowPendingUsers] = React.useState<boolean>(false);\n\n    const handleToggleShowPendingUsers = React.useCallback(() => {\n        setIsShowPendingUsers((value) => !value);\n    }, []);\n\n    const [searchText, setSearchText] = React.useState('');\n\n    const selectedUserIdsSet = React.useMemo(() => {\n        return new Set<UserIdT>(selectedUsers.map((user) => user.id));\n    }, [selectedUsers]);\n\n    const requestFactory: AsyncRequestFactoryT<ListOptionT> = useCallback(\n        (query) => {\n            if (!companyId) {\n                return Promise.resolve([null, [] as Array<ListOptionT>]);\n            }\n\n            return brokerTranziitApi\n                .findPartnerUsersByName(companyId, {\n                    userName: query || undefined,\n                })\n                .then((response): AsyncRequestFactoryResultT<ListOptionT> => {\n                    const [error, result] = response;\n                    if (error) {\n                        return [error, null];\n                    }\n\n                    const items =\n                        result?.reduce<Array<ListOptionT>>((acc, item) => {\n                            const isHidden = item.userStatus && hideUserStatusSet?.has(item.userStatus);\n                            if (!item.userId || isHidden) {\n                                return acc;\n                            }\n\n                            acc.push({\n                                id: item.userId,\n                                fullName: item.fullName || '',\n                                main: item.main,\n                                position: item.position,\n                                status: item.userStatus,\n                                email: item.email,\n                                roles: item.roles.map((item) => item.role).filter(isNonNil),\n                            });\n\n                            return acc;\n                        }, []) || [];\n\n                    return [null, items];\n                });\n        },\n        [companyId, hideUserStatusSet],\n    );\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<ListOptionT>({\n        initialOptions: initialSelectedUsers,\n        requestFactory,\n        settings: {\n            allowedQueryMinLength: 0,\n        },\n    });\n\n    const { options, optionsQuery, requestStatus, onChangeQuery } = asyncOptionsRequest;\n\n    const hasPendingUsers = React.useMemo(() => {\n        return options.some((option) => pendingStatusSet.has(option.status));\n    }, [options]);\n\n    const shownOptions = React.useMemo((): Array<ListOptionT> => {\n        return options.filter((option) => {\n            if (isShowPendingUsers) {\n                return true;\n            }\n            return !pendingStatusSet.has(option.status);\n        });\n    }, [options, isShowPendingUsers]);\n\n    const onAddOption = React.useCallback(\n        (option: ListOptionT) => {\n            const newValue: Array<ListOptionT> = uniqBy([...selectedUsers, option], 'id');\n            onChangeUsers(newValue);\n        },\n        [selectedUsers, onChangeUsers],\n    );\n\n    const onDeleteOption = React.useCallback(\n        (option: ListOptionT) => {\n            const newValue: Array<ListOptionT> = differenceBy(selectedUsers, [option], 'id');\n            onChangeUsers(newValue);\n        },\n        [selectedUsers, onChangeUsers],\n    );\n\n    const meta = React.useMemo(() => {\n        return {\n            selectedUserIdsSet,\n            onAddOption,\n            onDeleteOption,\n            highlightedUserIdsSet,\n        };\n    }, [selectedUserIdsSet, onAddOption, onDeleteOption, highlightedUserIdsSet]);\n\n    const emptyMessage = React.useMemo((): ListMessagePropsT => {\n        return {\n            title: t('edit-broker-team.form.fields.users.empty-message.title'),\n            description: t('edit-broker-team.form.fields.users.empty-message.description'),\n        };\n    }, [t]);\n\n    const getOptionKey = React.useCallback((option: ListOptionT) => {\n        return option.id;\n    }, []);\n\n    return (\n        <AsyncSearchScrollableList\n            className={cs(cx('inner'), className)}\n            minHeightPx={300}\n            inputValue={searchText}\n            onChangeInputValue={(searchText) => {\n                setSearchText(searchText);\n                onChangeQuery(searchText);\n            }}\n            inputPlaceholder={t('edit-broker-team.form.fields.users.search-placeholder')}\n            optionsQuery={optionsQuery}\n            initialOptions={initialSelectedUsers}\n            options={shownOptions}\n            getOptionKey={getOptionKey}\n            meta={meta}\n            requestStatus={requestStatus}\n            emptyMessage={emptyMessage}\n            listHeaderNode={\n                hasPendingUsers ? (\n                    <div className={cx('pending-users-switcher')}>\n                        <Switcher\n                            checked={isShowPendingUsers}\n                            onToggle={handleToggleShowPendingUsers}\n                            label={t('edit-broker-team.form.fields.users.show-pending-users')}\n                        />\n                    </div>\n                ) : null\n            }\n            renderOption={(\n                option,\n                index,\n                { selectedUserIdsSet, onAddOption, onDeleteOption, highlightedUserIdsSet },\n            ) => {\n                const hasPendingStatus = option?.status === UserStatusEnum.pending;\n\n                const label = option.fullName || option.email || '-';\n\n                return (\n                    <Checkbox\n                        key={option.id}\n                        className={cx('checkbox')}\n                        checked={selectedUserIdsSet.has(option.id)}\n                        labelClassName={cx('checkbox-label')}\n                        label={\n                            <div\n                                className={cx('row', {\n                                    'row--half-opacity': hasPendingStatus,\n                                })}\n                            >\n                                <div className={cx('row__avatar')}>\n                                    <Avatar size={AvatarSizeEnum.medium} hash={label} />\n                                </div>\n                                <div className={cx('row__text')}>\n                                    {hasPendingStatus\n                                        ? t('common:team-members.pending-user', {\n                                              value: label,\n                                          })\n                                        : label}\n                                </div>\n                                <div className={cx('row__pills')}>\n                                    {option.main && <UserMainPill />}\n                                    {option.position && <UserPositionPill position={option.position} />}\n                                    {option.roles?.map((item) => {\n                                        if (!item) {\n                                            return null;\n                                        }\n\n                                        return <UserRolePill key={item} role={item} />;\n                                    })}\n                                </div>\n                            </div>\n                        }\n                        theme={\n                            highlightedUserIdsSet?.has(option.id) ? CheckboxThemeEnum.orange : CheckboxThemeEnum.green\n                        }\n                        isFullWidth\n                        onChange={(checked) => {\n                            if (checked) {\n                                onAddOption(option);\n                            } else {\n                                onDeleteOption(option);\n                            }\n                        }}\n                        isReadOnly={isReadOnly}\n                    />\n                );\n            }}\n        />\n    );\n});\n\nexport default UserSelectList;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { CancelTruckTransportOrderConfirmationDataT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\ntype PropsT = {\n    data: CancelTruckTransportOrderConfirmationDataT | null;\n    requestStatus: RequestStatusT;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (data: CancelTruckTransportOrderConfirmationDataT) => void;\n};\n\nconst TEST_SELECTOR = 'cancel-truck-transport-order-confirmation';\n\nconst CancelTruckTransportOrderConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, requestStatus, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_keep`,\n                            isDisabled: requestStatus.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.danger,\n                            isLoading: requestStatus.loading,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('assignment.cancel-truck-transport-order-confirmation.title')}\n                    message={t('assignment.cancel-truck-transport-order-confirmation.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelTruckTransportOrderConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"RunOutOfTimeAssignAssetsCard__wrap___WsMD0\",\"fadeIn\":\"RunOutOfTimeAssignAssetsCard__fadeIn___P9p71\",\"blinking\":\"RunOutOfTimeAssignAssetsCard__blinking___o6Coi\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ExpireSoonPartnerShipperLaneContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ShipperContractLaneId from 'broker-admin/components/notification-cards/entities/ShipperContractLaneId/ShipperContractLaneId';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    id: string;\n};\n\nconst ExpireSoonPartnerShipperLaneContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-lane-expire-soon\"\n                components={{\n                    id: <ShipperContractLaneId id={id} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ExpireSoonPartnerShipperLaneContractCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"FiltersSidebarContent__form___A24l4\",\"field--created\":\"FiltersSidebarContent__field--created___cSxQz\",\"field--dates\":\"FiltersSidebarContent__field--dates___qmVA6\",\"field--trailer-type\":\"FiltersSidebarContent__field--trailer-type___j4tJ7\",\"field--source\":\"FiltersSidebarContent__field--source___xmUqN\",\"field--empty\":\"FiltersSidebarContent__field--empty___jrol_\",\"selected-filters\":\"FiltersSidebarContent__selected-filters___ZfPt3\",\"fadeIn\":\"FiltersSidebarContent__fadeIn___R0IqO\",\"blinking\":\"FiltersSidebarContent__blinking___xlhOT\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"UpdatedPartnerShipperContractCard__inner___BLe6w\",\"fadeIn\":\"UpdatedPartnerShipperContractCard__fadeIn___moUH4\",\"blinking\":\"UpdatedPartnerShipperContractCard__blinking___Hbhol\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ContractNameCell.scss';\nimport ContractName from 'common/components/ContractName/ContractName';\n\ntype PropsT = {\n    name: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ContractNameCell: React.FC<PropsT> = React.memo((props) => {\n    const { name } = props;\n\n    return (\n        <div className={cx('name')}>\n            <ContractName name={name} />\n        </div>\n    );\n});\n\nexport default ContractNameCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"route-point-pin\":\"RouteEditMap__route-point-pin___nupbf\",\"route-point-pin--number\":\"RouteEditMap__route-point-pin--number___rknyZ\",\"route-point-pin--ferry\":\"RouteEditMap__route-point-pin--ferry___UNlaC\",\"fadeIn\":\"RouteEditMap__fadeIn___p4EOw\",\"blinking\":\"RouteEditMap__blinking___QX_OT\"};","import { SharableMembersStateT } from 'common/store/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { CompanyContactT } from './models';\nimport { initialCompanyMembersState } from './reducer';\nimport { CompanyMembersStateT, ContactDetailsByIdT } from './types';\n\nconst selectCompanyMembersState = (\n    state: SharableMembersStateT,\n    companyId: CompanyIdT | null,\n): CompanyMembersStateT => {\n    return state.members.byCompanyId[companyId as string] || initialCompanyMembersState;\n};\n\nexport const selectCompanyContacts =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableMembersStateT): CompanyContactT[] | null => {\n        const companyMembers = selectCompanyMembersState(state, companyId);\n\n        if (!companyMembers.contactIds) {\n            return null;\n        }\n\n        return companyMembers.contactIds.map((id) => companyMembers.constantById[id]);\n    };\n\nexport const selectContactById =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableMembersStateT): Record<ContactIdT, CompanyContactT> =>\n        selectCompanyMembersState(state, companyId).constantById;\n\nexport const selectFetchContactsRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableMembersStateT): RequestStatusT =>\n        selectCompanyMembersState(state, companyId).fetchContactsRequest;\n\nexport const selectAddMemberRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableMembersStateT): RequestStatusT =>\n        selectCompanyMembersState(state, companyId).addMemberRequest;\n\nexport const selectDeleteMemberRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableMembersStateT): RequestStatusT =>\n        selectCompanyMembersState(state, companyId).deleteMemberRequest;\n\nexport const selectUpdateMemberRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableMembersStateT): RequestStatusT =>\n        selectCompanyMembersState(state, companyId).updateMemberRequest;\n\nexport const selectFetchContactDetailsRequest = (state: SharableMembersStateT): RequestStatusT =>\n    state.members.fetchContactDetailsRequest;\n\nexport const selectContactDetailsById = (state: SharableMembersStateT): ContactDetailsByIdT =>\n    state.members.contactDetailsById;\n\nexport const selectContactIdByUserId = (state: SharableMembersStateT): Record<UserIdT, ContactIdT> =>\n    state.members.contactIdByUserId;\n","export enum FieldsEnum {\n    reason = 'reason',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.reason]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","export const createMapLink = (query: string) => {\n    return `https://www.google.com/maps/search/?api=1&query=${query}`;\n};\n","import React from 'react';\nimport cs from 'classnames';\nimport Burger from '@animated-burgers/burger-squeeze';\n\nimport './override.css';\n\ntype PropsT = {\n    className?: string;\n    isOpen: boolean;\n};\n\nconst NavBurger: React.FC<PropsT> = (props) => {\n    const { className, isOpen } = props;\n\n    return <Burger className={cs(className)} isOpen={isOpen} />;\n};\n\nexport default NavBurger;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AvatarCell.scss';\nimport Avatar, { AvatarSizeEnum } from 'common/components/Avatar/Avatar';\n\ntype PropsT = {\n    fullName: string;\n    isHalfOpacity?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst AvatarCell: React.FC<PropsT> = React.memo((props) => {\n    const { fullName, isHalfOpacity } = props;\n\n    return (\n        <Avatar\n            size={AvatarSizeEnum.medium}\n            hash={fullName || ''}\n            className={cx('avatar', { 'avatar--isHalfOpacity': isHalfOpacity })}\n        />\n    );\n});\n\nexport default AvatarCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"AdditionalServicesSettings__table___o1TN1\",\"fadeIn\":\"AdditionalServicesSettings__fadeIn___HFQ3v\",\"blinking\":\"AdditionalServicesSettings__blinking___ckVF9\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './CarrierCell.scss';\nimport { BrokerTourShortT } from 'broker-admin/store/broker-tours/models';\nimport TableCellLink from 'common/components/Table/cell-renderers/TableCellLink/TableCellLink';\nimport { LinkSizeEnum, LinkThemeEnum, LinkToT } from 'common/components/Link/Link';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerTourShort?: BrokerTourShortT | null;\n};\n\nconst CarrierCell: React.FC<PropsT> = React.memo(({ brokerTourShort }) => {\n    const { t } = useTranslation();\n\n    const truckCarrierId = brokerTourShort?.truckCarrierId || null;\n    const trailerCarrierId = brokerTourShort?.trailerCarrierId || null;\n    const carrierId: CompanyIdT | null = truckCarrierId || trailerCarrierId || null;\n\n    const truckCarrierName = brokerTourShort?.truckCarrierName || null;\n    const trailerCarrierName = brokerTourShort?.trailerCarrierName || null;\n    const carrierName = truckCarrierName || trailerCarrierName || null;\n\n    const truckId = brokerTourShort?.truckId || null;\n    const trailerId = brokerTourShort?.trailerId || null;\n    const truckPlateNumber = brokerTourShort?.truckPlateNumber || null;\n    const trailerPlateNumber = brokerTourShort?.trailerPlateNumber || null;\n\n    const hasTruck = !!truckId || !!truckPlateNumber;\n    const hasTrailer = !!trailerId || !!trailerPlateNumber;\n\n    const assetPlate = (hasTruck ? truckPlateNumber : trailerPlateNumber) || null;\n\n    // Prefer truck as primary asset, fallback to trailer\n    let assetCarrierId: CompanyIdT | null = null;\n    if (hasTruck) {\n        assetCarrierId = truckCarrierId || null;\n    }\n    if (hasTrailer) {\n        assetCarrierId = trailerCarrierId || null;\n    }\n\n    let assetUrl: LinkToT | null = null;\n    if (hasTruck && truckId && assetCarrierId) {\n        assetUrl = urlFactory.truckDetails(assetCarrierId, truckId);\n    }\n    if (hasTrailer && trailerId && assetCarrierId) {\n        assetUrl = urlFactory.trailerDetails(assetCarrierId, trailerId);\n    }\n\n    const hasCarrier = !!carrierId && !!carrierName;\n    const hasAsset = !!assetCarrierId && !!assetPlate;\n\n    if (!hasCarrier && !hasAsset) {\n        return (\n            <div className={cx('not-assigned', 'not-assigned--medium')}>\n                {t('broker-tours.list.table.not-assigned')}\n            </div>\n        );\n    }\n\n    return (\n        <div>\n            {hasCarrier ? (\n                <TableCellLink\n                    to={urlFactory.partnerDetails(PartnerTypeEnum.carrier, carrierId)}\n                    theme={LinkThemeEnum.boldBrandDark}\n                    size={LinkSizeEnum.medium}\n                >\n                    {carrierName}\n                </TableCellLink>\n            ) : (\n                <div className={cx('not-assigned', 'not-assigned--small')}>\n                    {t('broker-tours.list.table.not-assigned')}\n                </div>\n            )}\n            {hasAsset && assetUrl ? (\n                <TableCellLink to={assetUrl} theme={LinkThemeEnum.boldBrandDark} size={LinkSizeEnum.small}>\n                    {assetPlate}\n                </TableCellLink>\n            ) : (\n                <div className={cx('not-assigned', 'not-assigned--small')}>\n                    {t('broker-tours.list.table.not-assigned')}\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default CarrierCell;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PriceMatrixWithMap.scss';\nimport { useSelector } from 'react-redux';\nimport { selectRFQ } from 'common/store/order-creation/selectors';\nimport TabGroupWithDivider from 'common/components/tabs/TabGroupWithDivider/TabGroupWithDivider';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum } from 'common/components/tabs/TabLabel/constants';\nimport PriceMatrix from 'common/layouts/NewOrderPage/PriceMatrix/PriceMatrix';\nimport RouteMap from 'common/layouts/NewOrderPage/RouteMap/RouteMap';\nimport { useTranslation } from 'react-i18next';\nimport { isNonNil } from 'common/utils';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PriceMatrixWithMap: React.FC<PropsT> = React.memo(() => {\n    const rfq = useSelector(selectRFQ);\n\n    const { t } = useTranslation();\n\n    const isImportedOrder = rfq?.isImported;\n\n    const availableTabs = React.useMemo(\n        () =>\n            [\n                isImportedOrder\n                    ? null\n                    : {\n                          label: t('common:new-order-offers.tabs.price-matrix'),\n                          node: <PriceMatrix />,\n                      },\n                {\n                    label: t('common:new-order-offers.tabs.map'),\n                    node: <RouteMap />,\n                },\n            ].filter(isNonNil),\n        [isImportedOrder, t],\n    );\n\n    const [activeIndexTab, setActiveIndexTab] = React.useState<number>(0);\n\n    const hasManyTabs = availableTabs?.length > 1;\n\n    return (\n        <div className={cx('tabs-wrap')}>\n            {hasManyTabs && (\n                <TabGroupWithDivider>\n                    {availableTabs.map((tab, tabIndex) => (\n                        <TabLabel\n                            key={tabIndex}\n                            theme={TabsThemesEnum.dark}\n                            onClick={() => {\n                                setActiveIndexTab(tabIndex);\n                            }}\n                            isActive={tabIndex === activeIndexTab}\n                        >\n                            {tab.label}\n                        </TabLabel>\n                    ))}\n                </TabGroupWithDivider>\n            )}\n            <div className={cx('tab')}>{availableTabs[activeIndexTab].node}</div>\n        </div>\n    );\n});\n\nexport default PriceMatrixWithMap;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './SpotRequestsTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport { SpotRequestT } from 'broker-admin/store/spot-requests/models';\nimport LocationCell from 'common/components/Table/cell-renderers/LocationCell/LocationCell';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\nimport BidsCountCell from './cell-renderers/BidsCountCell/BidsCountCell';\nimport CostsCell from './cell-renderers/CostsCell/CostsCell';\nimport AssetCell from './cell-renderers/AssetCell/AssetCell';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { LinkToT } from 'common/components/Link/Link';\nimport { formatTimeInterval } from 'common/utils/time';\nimport DateCell from 'common/components/Table/cell-renderers/DateCell/DateCell';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport SpotRequestStatusPill from 'common/components/status-pill/SpotRequestStatusPill/SpotRequestStatusPill';\n\nconst cx = classNames.bind(styles);\n\nconst EXPIRATION_DATE_FORMAT = 'DD MMM, HH:mm';\n\ntype PropsT = {\n    spotRequests: Array<SpotRequestT>;\n    className: string;\n    goToSpotRequestDetails: (spotRequestId: SpotRequestIdT) => void;\n    openUserDetails?: (userId: UserIdT) => void;\n    getPartnerLink: (partnerType: PartnerTypeEnum, partnerId: CompanyIdT) => LinkToT;\n    isLoading: boolean;\n};\n\nconst SpotRequestsTable: React.FC<PropsT> = React.memo((props) => {\n    const { spotRequests, className, goToSpotRequestDetails, openUserDetails, getPartnerLink, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<SpotRequestT, void>> = [\n        {\n            renderHeader: () => <span>{t('spot-requests.list.table.columns.origin')}</span>,\n            headerClassName: cx('table__header', 'table__header--origin'),\n            render: (spotRequest: SpotRequestT) => {\n                const firstStop = spotRequest?.stops?.[0] || null;\n\n                return (\n                    <LocationCell\n                        address={\n                            <LocationLabel\n                                format=\"zip_city_country\"\n                                allowShowCountryCode\n                                location={firstStop?.address}\n                            />\n                        }\n                        time={formatTimeInterval(firstStop?.timeSlotFrom, firstStop?.timeSlotTo)}\n                        isSmallTimeFont\n                    />\n                );\n            },\n            className: cx('table__column', 'table__column--origin'),\n            testSelector: 'origin',\n        },\n        {\n            renderHeader: () => <span>{t('spot-requests.list.table.columns.destination')}</span>,\n            headerClassName: cx('table__header'),\n            render: (spotRequest: SpotRequestT) => {\n                const lastStop = spotRequest?.stops?.[(spotRequest?.stops?.length || 0) - 1] || null;\n\n                return (\n                    <LocationCell\n                        address={\n                            <LocationLabel\n                                format=\"zip_city_country\"\n                                allowShowCountryCode\n                                location={lastStop?.address}\n                            />\n                        }\n                        time={formatTimeInterval(lastStop?.timeSlotFrom, lastStop?.timeSlotTo)}\n                        isSmallTimeFont\n                    />\n                );\n            },\n            className: cx('table__column', 'table__column--destination'),\n            testSelector: 'destination',\n        },\n        {\n            renderHeader: () => <span>{t('spot-requests.list.table.columns.placed')}</span>,\n            headerClassName: cx('table__header'),\n            render: (spotRequest: SpotRequestT) => (\n                <EventCell\n                    isHumanReadableDate\n                    userFullName={spotRequest.placedByName}\n                    userId={spotRequest.placedBy}\n                    openUserDetails={openUserDetails}\n                    date={spotRequest.placedDate}\n                    isSmallFont\n                />\n            ),\n            className: cx('table__column', 'table__column--placed'),\n            testSelector: 'placed',\n        },\n        {\n            renderHeader: () => <span>{t('spot-requests.list.table.columns.expiration')}</span>,\n            headerClassName: cx('table__header'),\n            render: (spotRequest: SpotRequestT) => {\n                return <DateCell isBold date={spotRequest.expiration} dateFormat={EXPIRATION_DATE_FORMAT} />;\n            },\n            className: cx('table__column'),\n            testSelector: 'expiration',\n        },\n        {\n            renderHeader: () => <span>{t('spot-requests.list.table.columns.bids')}</span>,\n            headerClassName: cx('table__header'),\n            render: (spotRequest: SpotRequestT) => {\n                return (\n                    <BidsCountCell\n                        numberOfNewBids={spotRequest.numberOfNewBids}\n                        numberOfReadBids={spotRequest.numberOfReadBids}\n                        numberOfSentBids={spotRequest.numberOfSentBids}\n                    />\n                );\n            },\n            className: cx('table__column'),\n            testSelector: 'bids',\n        },\n        {\n            renderHeader: () => <span>{t('spot-requests.list.table.columns.costs')}</span>,\n            headerClassName: cx('table__header', 'table__header--costs'),\n            render: (spotRequest: SpotRequestT) => {\n                return <CostsCell basePrice={spotRequest.estimatePrice} lowestBidsPrice={spotRequest.lowestPrice} />;\n            },\n            className: cx('table__column'),\n            testSelector: 'costs',\n        },\n        {\n            renderHeader: () => <span>{t('spot-requests.list.table.columns.asset')}</span>,\n            headerClassName: cx('table__header'),\n            render: (spotRequest: SpotRequestT) => {\n                return <AssetCell getPartnerLink={getPartnerLink} spotRequest={spotRequest} />;\n            },\n            className: cx('table__column', 'table__column--asset'),\n            testSelector: 'asset',\n        },\n        {\n            renderHeader: () => <span>{t('spot-requests.list.table.columns.status')}</span>,\n            headerClassName: cx('table__header', 'table__header--status'),\n            render: (spotRequest: SpotRequestT) => <SpotRequestStatusPill isSymmetrical status={spotRequest.status} />,\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n    ];\n\n    const handleSelectRow = (event: React.MouseEvent, spotRequest: SpotRequestT) => {\n        if (!spotRequest.id) {\n            return;\n        }\n\n        goToSpotRequestDetails(spotRequest.id);\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, spotRequest: SpotRequestT) => {\n        return {};\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<SpotRequestT> tableName=\"spot-request\" isLoading={isLoading} rows={spotRequests}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<SpotRequestT, void>\n                        testSelector=\"spot-requests\"\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        onSelectRow={handleSelectRow}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default SpotRequestsTable;\n","import * as React from 'react';\nimport StopWarningIcon from 'common/icons/StopWarningIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\n\ntype PropsT = {\n    className?: string;\n    actionText?: string;\n    message: string;\n    onClickAction?: () => void;\n};\n\nconst VerificationAlert: React.FC<PropsT> = React.memo((props) => {\n    const { className, actionText, message, onClickAction } = props;\n\n    const [isClosed, setIsClosed] = React.useState<boolean>(false);\n    if (isClosed) {\n        return null;\n    }\n\n    return (\n        <Alert\n            className={className}\n            icon={<StopWarningIcon fillColor={StyleGuideColorsEnum.white} />}\n            onClose={() => {\n                setIsClosed(true);\n            }}\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.tomatoRed}\n            actionText={actionText}\n            onClickAction={onClickAction}\n            isAlignItemsCenter\n        >\n            {message}\n        </Alert>\n    );\n});\n\nexport default VerificationAlert;\n","import React, { useMemo } from 'react';\nimport styles from './DocumentVersion.scss';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\nimport { DocumentVersionT } from 'common/store/documents/models';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\nimport { DocumentRequiredEnum } from 'common/utils/api/models';\nimport DocumentStatusPill from 'common/components/status-pill/DocumentStatusPill/DocumentStatusPill';\nimport DownloadIcon from 'common/icons/DownloadIcon';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    dictDocument: DictDocumentT | null;\n    version: DocumentVersionT;\n    onDownloadFile: (documentId: DocumentIdT) => void;\n    canDownloadDocuments: boolean;\n    onOpenUserDetails: (userId: UserIdT) => void;\n};\n\nconst DocumentVersion: React.FC<PropsT> = (props) => {\n    const { className, version, dictDocument, onOpenUserDetails, canDownloadDocuments, onDownloadFile } = props;\n\n    const { t } = useTranslation();\n\n    const details: Array<InfoTableRowT> = useMemo(\n        () => [\n            ...(version?.createdDate\n                ? [\n                      {\n                          icon: null,\n                          name: t('common:document.details.uploaded-date'),\n                          rightNode: <DateFormatter date={version?.createdDate} />,\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          isBoldRightNode: true,\n                          testSelector: 'upload-date',\n                      },\n                      {\n                          icon: null,\n                          name: t('common:document.details.uploaded-by'),\n                          rightNode: (\n                              <UserLinkFormatter\n                                  fullName={version?.createdByName}\n                                  userId={version?.createdById}\n                                  byBroker={version?.createdByBroker}\n                                  onOpenUserDetails={onOpenUserDetails}\n                              />\n                          ),\n                          isBoldRightNode: true,\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          testSelector: 'upload-user',\n                      },\n                  ]\n                : []),\n            ...(version?.reviewedDate\n                ? [\n                      {\n                          icon: null,\n                          name: t('common:document.details.reviewed-date'),\n                          rightNode: <DateFormatter date={version?.reviewedDate} />,\n                          isBoldRightNode: true,\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          testSelector: 'review-date',\n                      },\n                      {\n                          icon: null,\n                          name: t('common:document.details.reviewed-by'),\n                          rightNode: (\n                              <UserLinkFormatter\n                                  fullName={version?.reviewedByName}\n                                  userId={version?.reviewedById}\n                                  byBroker\n                                  onOpenUserDetails={onOpenUserDetails}\n                              />\n                          ),\n                          isBoldRightNode: true,\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          testSelector: 'review-user',\n                      },\n                  ]\n                : []),\n            ...(version?.revokedDate\n                ? [\n                      {\n                          icon: null,\n                          name: t('common:document.details.revoke-date'),\n                          rightNode: <DateFormatter date={version?.revokedDate} />,\n                          isBoldRightNode: true,\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          testSelector: 'revoke-date',\n                      },\n                      {\n                          icon: null,\n                          name: t('common:document.details.revoke-by'),\n                          rightNode: (\n                              <UserLinkFormatter\n                                  fullName={version?.revokedByName}\n                                  userId={version?.revokedById}\n                                  byBroker\n                                  onOpenUserDetails={onOpenUserDetails}\n                              />\n                          ),\n                          isBoldRightNode: true,\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          testSelector: 'revoke-user',\n                      },\n                  ]\n                : []),\n            ...(version?.lastEditDate\n                ? [\n                      {\n                          icon: null,\n                          name: t('common:document.details.edit-date'),\n                          rightNode: <DateFormatter date={version?.lastEditDate} />,\n                          isBoldRightNode: true,\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          testSelector: 'edit-date',\n                      },\n                      {\n                          icon: null,\n                          name: t('common:document.details.edit-by'),\n                          rightNode: (\n                              <UserLinkFormatter\n                                  fullName={version?.lastEditByName}\n                                  userId={version?.lastEditById}\n                                  byBroker={version?.lastEditByBroker}\n                                  onOpenUserDetails={onOpenUserDetails}\n                              />\n                          ),\n                          isBoldRightNode: true,\n                          emptyValue: t('common:info-table.placeholders.empty'),\n                          testSelector: 'edit-user',\n                      },\n                  ]\n                : []),\n        ],\n        [version, onOpenUserDetails, t],\n    );\n\n    return (\n        <div className={cs(cx('version'), className)}>\n            <div className={cx('header')}>\n                <div className={cx('header__title')}>{t('common:document.version.title')}</div>\n                <DocumentStatusPill\n                    className={cx('status')}\n                    isSymmetrical\n                    status={version.status}\n                    isRequiredDocument={dictDocument?.required === DocumentRequiredEnum.must}\n                />\n                {canDownloadDocuments && (\n                    <Tooltip\n                        position={TooltipPositionEnum.centerLeft}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={\n                            <TooltipContent isCenter theme={TooltipContentThemeEnum.black} width={80}>\n                                {t('common:document.actions.download')}\n                            </TooltipContent>\n                        }\n                    >\n                        {(isShow) => (\n                            <TransparentTrigger\n                                spaces=\"xs\"\n                                isPressed={isShow}\n                                onClick={() => onDownloadFile(version.id)}\n                                leftIcon={\n                                    <DownloadIcon fillColor={StyleGuideColorsEnum.charcoal} size={DEFAULT_ICON_SIZE} />\n                                }\n                                reflectionTheme={ReflectionThemeEnum.light}\n                            />\n                        )}\n                    </Tooltip>\n                )}\n            </div>\n            <InfoTable className={cx('table')} rows={details} testSelector=\"version-details\" />\n        </div>\n    );\n};\n\nexport default DocumentVersion;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"SendingToSpotFooterContent__content___LURO4\",\"fadeIn\":\"SendingToSpotFooterContent__fadeIn___c_Eh1\",\"blinking\":\"SendingToSpotFooterContent__blinking___juG_P\"};","import { StateMachineEntityDescriptorT, StateMachineEntityHashT } from 'common/store/state-machine/models';\n\nexport const getStateMachineEntityHash = (descriptor: StateMachineEntityDescriptorT): StateMachineEntityHashT => {\n    return `${descriptor.entityType}-${descriptor.entityId}`;\n};\n","import React, { useMemo } from 'react';\nimport { SyncAssetScheduleContextValueT } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contexts/sync-asset-schedule';\n\nexport const usySyncAssetScheduleContextValue = (): SyncAssetScheduleContextValueT => {\n    const [truckId, setTruckId] = React.useState<TruckIdT | null>(null);\n\n    return useMemo(() => {\n        return {\n            truckId,\n            setTruckId,\n        };\n    }, [truckId, setTruckId]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ImportCsv__wrap___EIzN1\",\"content\":\"ImportCsv__content___ejohk\",\"description\":\"ImportCsv__description___QVuMG\",\"icon\":\"ImportCsv__icon____vbMh\",\"status\":\"ImportCsv__status___Gc7vc\",\"status-icon\":\"ImportCsv__status-icon___Mizv8\",\"loader\":\"ImportCsv__loader____HBhr\",\"action\":\"ImportCsv__action___rNA1Y\",\"fadeIn\":\"ImportCsv__fadeIn___OjcPT\",\"blinking\":\"ImportCsv__blinking___Tf2ua\"};","import * as React from 'react';\nimport { PartnerT } from 'broker-admin/store/partners/models';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = {\n    partner: PartnerT;\n};\n\nconst WarningsCell: React.FC<PropsT> = React.memo((props) => {\n    const { partner } = props;\n\n    const { noAssignedDispatchers, assignedTeams, locked } = partner;\n\n    const { t } = useTranslation();\n\n    if (locked) {\n        return (\n            <PillLabel theme={PillLabelThemeEnum.grey} testSelector=\"warning\" isSymmetrical isNoWrap>\n                {t('partners-table.locked-partner')}\n            </PillLabel>\n        );\n    }\n\n    if (noAssignedDispatchers) {\n        return (\n            <PillLabel theme={PillLabelThemeEnum.slate} testSelector=\"warning\" isSymmetrical isNoWrap>\n                {t('partners-table.warnings.no-dispatcher')}\n            </PillLabel>\n        );\n    }\n\n    if (assignedTeams === 0) {\n        return (\n            <PillLabel theme={PillLabelThemeEnum.slate} testSelector=\"warning\" isSymmetrical isNoWrap>\n                {t('partners-table.warnings.no-assigned-teams')}\n            </PillLabel>\n        );\n    }\n\n    return null;\n});\n\nexport default WarningsCell;\n","import {\n    ACTIVATION_TRUCKS_REQUEST,\n    ActivationTrucksRequestActionT,\n    ADD_TRUCK_REQUEST,\n    ADD_TRUCK_REQUEST_BEGIN,\n    ADD_TRUCK_REQUEST_ERROR,\n    ADD_TRUCK_REQUEST_SUCCESS,\n    AddTruckRequestActionT,\n    AddTruckRequestBeginActionT,\n    AddTruckRequestErrorActionT,\n    AddTruckRequestSuccessActionT,\n    ASSIGN_TO_CONTRACT_TRUCKS_REQUEST,\n    ArchiveTrucksRequestActionT,\n    DELETE_TRUCKS_REQUEST,\n    DELETE_TRUCKS_REQUEST_BEGIN,\n    DELETE_TRUCKS_REQUEST_ERROR,\n    DELETE_TRUCKS_REQUEST_SUCCESS,\n    DeleteTrucksRequestActionT,\n    DeleteTrucksRequestBeginActionT,\n    DeleteTrucksRequestErrorActionT,\n    DeleteTrucksRequestSuccessActionT,\n    FETCH_TRUCK_DETAILS_REQUEST,\n    FETCH_TRUCK_DETAILS_REQUEST_BEGIN,\n    FETCH_TRUCK_DETAILS_REQUEST_ERROR,\n    FETCH_TRUCK_DETAILS_REQUEST_SUCCESS,\n    FETCH_TRUCKS_PAGE_REQUEST,\n    FETCH_TRUCKS_PAGE_REQUEST_BEGIN,\n    FETCH_TRUCKS_PAGE_REQUEST_ERROR,\n    FETCH_TRUCKS_PAGE_REQUEST_SUCCESS,\n    FetchTruckDetailsActionT,\n    FetchTruckDetailsBeginActionT,\n    FetchTruckDetailsErrorActionT,\n    FetchTruckDetailsSuccessActionT,\n    FetchTrucksPageActionT,\n    FetchTrucksPageBeginActionT,\n    FetchTrucksPageErrorActionT,\n    FetchTrucksPageSuccessActionT,\n    RESET_TRUCKS,\n    ResetTrucksActionT,\n    UPDATE_TRUCK_REQUEST,\n    UPDATE_TRUCKS_REQUEST_BEGIN,\n    UPDATE_TRUCKS_REQUEST_ERROR,\n    UPDATE_TRUCKS_REQUEST_SUCCESS,\n    UpdateTruckActionT,\n    UpdateTrucksRequestBeginActionT,\n    UpdateTrucksRequestErrorActionT,\n    UpdateTrucksRequestSuccessActionT,\n    ARCHIVE_TRUCKS_REQUEST,\n    FetchTrucksStatsActionT,\n    FETCH_TRUCKS_STATS_REQUEST,\n    FetchTrucksStatsBeginActionT,\n    FETCH_TRUCKS_STATS_REQUEST_BEGIN,\n    FetchTrucksStatsErrorActionT,\n    FETCH_TRUCKS_STATS_REQUEST_ERROR,\n    FetchTrucksStatsSuccessActionT,\n    FETCH_TRUCKS_STATS_REQUEST_SUCCESS,\n    ImportXLSTrucksActionT,\n    IMPORT_XLS_TRUCKS_REQUEST,\n    ImportXLSTrucksBeginActionT,\n    IMPORT_XLS_TRUCKS_REQUEST_BEGIN,\n    IMPORT_XLS_TRUCKS_REQUEST_ERROR,\n    IMPORT_XLS_TRUCKS_REQUEST_SUCCESS,\n    EXPORT_XLS_TRUCKS_REQUEST,\n    EXPORT_XLS_TRUCKS_REQUEST_BEGIN,\n    EXPORT_XLS_TRUCKS_REQUEST_ERROR,\n    EXPORT_XLS_TRUCKS_REQUEST_SUCCESS,\n    ExportXLSTrucksSuccessActionT,\n    ExportXLSTrucksErrorActionT,\n    ExportXLSTrucksBeginActionT,\n    ExportXLSTrucksActionT,\n    ImportXLSTrucksSuccessActionT,\n    ImportXLSTrucksErrorActionT,\n    CHANGE_RATE_TRUCKS_REQUEST,\n    ChangeRateTrucksRequestActionT,\n} from './types';\nimport {\n    CompanyTrucksStatsT,\n    FetchTrucksPageQueryT,\n    ApiTruckDetailsT,\n    ApiTruckT,\n    ActivateTrucksRequestT,\n} from './models';\n\nimport {\n    ApiChangeContractVehiclesRequestT,\n    ApiChangeRateVehiclesRequestT,\n    ApiTruckAddRequestT,\n    ApiTruckUpdateRequestT,\n} from 'common/utils/api/models';\nimport { AssignToContractRequestActionT } from 'common/store/trucks/types';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchTrucksPage = (\n    pageNumber: PageNumberT,\n    query: FetchTrucksPageQueryT,\n    companyId: CompanyIdT,\n    options?: FetchOptionsT,\n): FetchTrucksPageActionT => {\n    return {\n        type: FETCH_TRUCKS_PAGE_REQUEST,\n        query,\n        pageNumber,\n        options,\n        companyId,\n    };\n};\n\nexport const fetchTrucksPageBegin = (\n    query: FetchTrucksPageQueryT,\n    pageNumber: PageNumberT,\n    companyId: CompanyIdT,\n): FetchTrucksPageBeginActionT => ({\n    type: FETCH_TRUCKS_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchTrucksPageSuccess = (\n    query: FetchTrucksPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<ApiTruckT> | null,\n    companyId: CompanyIdT,\n): FetchTrucksPageSuccessActionT => ({\n    type: FETCH_TRUCKS_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchTrucksPageError = (\n    query: FetchTrucksPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n    companyId: CompanyIdT,\n): FetchTrucksPageErrorActionT => ({\n    type: FETCH_TRUCKS_PAGE_REQUEST_ERROR,\n    query,\n    error,\n    pageNumber,\n    companyId,\n});\n\nexport const resetTrucks = (companyId: CompanyIdT, mutationListOptions: MutationListOptionsT): ResetTrucksActionT => ({\n    type: RESET_TRUCKS,\n    companyId,\n    mutationListOptions,\n});\n\nexport const addTruckRequest = (data: ApiTruckAddRequestT, companyId: CompanyIdT): AddTruckRequestActionT => ({\n    type: ADD_TRUCK_REQUEST,\n    data,\n    companyId,\n});\n\nexport const addTruckRequestBegin = (companyId: CompanyIdT): AddTruckRequestBeginActionT => ({\n    type: ADD_TRUCK_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const addTruckRequestError = (error: Error, companyId: CompanyIdT): AddTruckRequestErrorActionT => ({\n    type: ADD_TRUCK_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const addTruckRequestSuccess = (companyId: CompanyIdT): AddTruckRequestSuccessActionT => ({\n    type: ADD_TRUCK_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const deleteTrucksRequest = (truckIds: TruckIdT[], companyId: CompanyIdT): DeleteTrucksRequestActionT => ({\n    type: DELETE_TRUCKS_REQUEST,\n    truckIds,\n    companyId,\n});\n\nexport const deleteTrucksRequestBegin = (companyId: CompanyIdT): DeleteTrucksRequestBeginActionT => ({\n    type: DELETE_TRUCKS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const deleteTrucksRequestError = (error: Error, companyId: CompanyIdT): DeleteTrucksRequestErrorActionT => ({\n    type: DELETE_TRUCKS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const deleteTrucksRequestSuccess = (companyId: CompanyIdT): DeleteTrucksRequestSuccessActionT => ({\n    type: DELETE_TRUCKS_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const activationTrucksRequest = (\n    companyId: CompanyIdT,\n    activateTrucksRequest: ActivateTrucksRequestT,\n): ActivationTrucksRequestActionT => ({\n    type: ACTIVATION_TRUCKS_REQUEST,\n    companyId,\n    activateTrucksRequest,\n});\n\nexport const updateTruck = (\n    truckId: TruckIdT,\n    updateTruck: ApiTruckUpdateRequestT,\n    companyId: CompanyIdT,\n): UpdateTruckActionT => ({\n    type: UPDATE_TRUCK_REQUEST,\n    truckId,\n    updateTruck,\n    companyId,\n});\n\nexport const archiveTrucksRequest = (\n    truckIds: TruckIdT[],\n    companyId: CompanyIdT,\n    reason: string,\n): ArchiveTrucksRequestActionT => ({\n    type: ARCHIVE_TRUCKS_REQUEST,\n    truckIds,\n    companyId,\n    reason,\n});\n\nexport const assignToContractRequest = ({\n    companyId,\n    changeContractRequest,\n    contractName,\n}: {\n    companyId: CompanyIdT;\n    changeContractRequest: ApiChangeContractVehiclesRequestT;\n    contractName: string | null;\n}): AssignToContractRequestActionT => ({\n    type: ASSIGN_TO_CONTRACT_TRUCKS_REQUEST,\n    companyId,\n    changeContractRequest,\n    contractName,\n});\n\nexport const changeRateTrucksRequest = ({\n    changeRateVehiclesRequest,\n    companyId,\n}: {\n    companyId: CompanyIdT;\n    changeRateVehiclesRequest: ApiChangeRateVehiclesRequestT;\n}): ChangeRateTrucksRequestActionT => ({\n    type: CHANGE_RATE_TRUCKS_REQUEST,\n    changeRateVehiclesRequest,\n    companyId,\n});\n\nexport const updateTrucksRequestBegin = (companyId: CompanyIdT): UpdateTrucksRequestBeginActionT => ({\n    type: UPDATE_TRUCKS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const updateTrucksRequestError = (error: Error, companyId: CompanyIdT): UpdateTrucksRequestErrorActionT => ({\n    type: UPDATE_TRUCKS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const updateTrucksRequestSuccess = (companyId: CompanyIdT): UpdateTrucksRequestSuccessActionT => ({\n    type: UPDATE_TRUCKS_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const fetchTruckDetails = (\n    truckId: TruckIdT,\n    companyId: CompanyIdT,\n    options?: FetchOptionsT,\n): FetchTruckDetailsActionT => ({\n    type: FETCH_TRUCK_DETAILS_REQUEST,\n    truckId,\n    companyId,\n    options,\n});\n\nexport const fetchTruckDetailsRequestBegin = (companyId: CompanyIdT): FetchTruckDetailsBeginActionT => ({\n    type: FETCH_TRUCK_DETAILS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const fetchTruckDetailsRequestError = (error: Error, companyId: CompanyIdT): FetchTruckDetailsErrorActionT => ({\n    type: FETCH_TRUCK_DETAILS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const fetchTruckDetailsRequestSuccess = (\n    truckId: TruckIdT,\n    details: ApiTruckDetailsT | null,\n    companyId: CompanyIdT,\n): FetchTruckDetailsSuccessActionT => ({\n    type: FETCH_TRUCK_DETAILS_REQUEST_SUCCESS,\n    truckId,\n    details,\n    companyId,\n});\n\nexport const fetchTrucksStats = (companyId: CompanyIdT, options?: FetchOptionsT): FetchTrucksStatsActionT => ({\n    type: FETCH_TRUCKS_STATS_REQUEST,\n    companyId,\n    options,\n});\n\nexport const fetchTrucksStatsRequestBegin = (companyId: CompanyIdT): FetchTrucksStatsBeginActionT => ({\n    type: FETCH_TRUCKS_STATS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const fetchTrucksStatsRequestError = (error: Error, companyId: CompanyIdT): FetchTrucksStatsErrorActionT => ({\n    type: FETCH_TRUCKS_STATS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const fetchTrucksStatsRequestSuccess = (\n    stats: CompanyTrucksStatsT | null,\n    companyId: CompanyIdT,\n): FetchTrucksStatsSuccessActionT => ({\n    type: FETCH_TRUCKS_STATS_REQUEST_SUCCESS,\n    stats,\n    companyId,\n});\n\nexport const importXLSTrucks = (companyId: CompanyIdT, file: File): ImportXLSTrucksActionT => ({\n    type: IMPORT_XLS_TRUCKS_REQUEST,\n    companyId,\n    file,\n});\n\nexport const importXLSTrucksRequestBegin = (companyId: CompanyIdT): ImportXLSTrucksBeginActionT => ({\n    type: IMPORT_XLS_TRUCKS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const importXLSTrucksRequestError = (error: Error, companyId: CompanyIdT): ImportXLSTrucksErrorActionT => ({\n    type: IMPORT_XLS_TRUCKS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const importXLSTrucksRequestSuccess = (companyId: CompanyIdT): ImportXLSTrucksSuccessActionT => ({\n    type: IMPORT_XLS_TRUCKS_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const exportXLSTrucks = (companyId: CompanyIdT, query: FetchTrucksPageQueryT): ExportXLSTrucksActionT => ({\n    type: EXPORT_XLS_TRUCKS_REQUEST,\n    companyId,\n    query,\n});\n\nexport const exportXLSTrucksRequestBegin = (companyId: CompanyIdT): ExportXLSTrucksBeginActionT => ({\n    type: EXPORT_XLS_TRUCKS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const exportXLSTrucksRequestError = (error: Error, companyId: CompanyIdT): ExportXLSTrucksErrorActionT => ({\n    type: EXPORT_XLS_TRUCKS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const exportXLSTrucksRequestSuccess = (companyId: CompanyIdT): ExportXLSTrucksSuccessActionT => ({\n    type: EXPORT_XLS_TRUCKS_REQUEST_SUCCESS,\n    companyId,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"RevokedPartnerDocumentCard__inner___kUT4L\",\"document-name\":\"RevokedPartnerDocumentCard__document-name___Hz3bf\",\"fadeIn\":\"RevokedPartnerDocumentCard__fadeIn___wPmCh\",\"blinking\":\"RevokedPartnerDocumentCard__blinking___nEUFt\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TruckDetailsSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectFetchTruckDetailsRequestStatus, selectTrucksDetailsByIds } from 'common/store/trucks/selectors';\nimport TruckDetails from './TruckDetails/TruckDetails';\nimport {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport EditIcon from 'common/icons/EditIcon';\nimport { fetchTruckDetails } from 'common/store/trucks/actions';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport ParanjaSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/ParanjaSideBarLayout/ParanjaSideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport SetUnavailableFooterContent from 'common/components/AssetSidebarContent/SetUnavailableFooterContent/SetUnavailableFooterContent';\nimport {\n    ApiTeleportAssetUnavailableReasonT,\n    SetUnavailableVehicleQueryT,\n    TruckStatusEnum,\n} from 'common/utils/api/models';\nimport { selectSetUnavailableVehicleRequestStatus } from 'common/store/vehicle-schedules/selectors';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport { AssetTypeEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport TruckStatusPill from 'common/components/status-pill/TruckStatusPill/TruckStatusPill';\nimport WrenchIcon from 'common/icons/WrenchIcon';\nimport MapTrigger from 'common/components/MapTrigger/MapTrigger';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { truckDetailsRefreshChannel } from 'common/store/trucks/channels';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\nimport {\n    selectExecuteTeleportStatus,\n    selectValidateTeleportData,\n    selectValidateTeleportStatus,\n} from 'common/store/assets/selectors';\nimport { executeAssetTeleport, validateAssetTeleport } from 'common/store/assets/slice';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport TeleportIcon from 'common/icons/TeleportIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nconst unavailableTeleportReasonI18nMap: Record<ApiTeleportAssetUnavailableReasonT, string> = {\n    NO_ACCESS: 'common:trucks-page.teleport-unavailable-reason.NO_ACCESS',\n    ASSET_IS_BUSY: 'common:trucks-page.teleport-unavailable-reason.ASSET_IS_BUSY',\n    NO_GPS_DATA: 'common:trucks-page.teleport-unavailable-reason.NO_GPS_DATA',\n    GPS_DATA_IS_OUTDATED: 'common:trucks-page.teleport-unavailable-reason.GPS_DATA_IS_OUTDATED',\n    NOT_ACTIVE: 'common:trucks-page.teleport-unavailable-reason.NOT_ACTIVE',\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    truckId: TruckIdT | null;\n    onClose?: () => void;\n    onGoBack?: () => void;\n    onEdit: () => void;\n    onSetUnavailable: (truckId: TruckIdT, query: SetUnavailableVehicleQueryT) => void;\n    onArchive: (truckId: TruckIdT | null) => void;\n    onActivate: (truckId: TruckIdT | null) => void;\n    isShowMap?: boolean;\n    onToggleShowMap?: () => void;\n    isReadOnly?: boolean;\n    isDisableShowOnMap?: boolean;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n    onOpenContactDetails: (contractId: CarrierContractIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst TruckDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const {\n        isReadOnly,\n        isDisableShowOnMap,\n        partnerId,\n        onClose,\n        onGoBack,\n        onEdit,\n        truckId,\n        onActivate,\n        onArchive,\n        onSetUnavailable,\n        isShowMap,\n        onToggleShowMap,\n        onOpenTrailerDetails,\n        onOpenContactDetails,\n        onOpenUserDetails,\n    } = props;\n\n    const { canEditTrucks, canActivateTrucks, canSetUnavailableTrucks, canArchiveTrucks } =\n        usePartnerPermissionsContext();\n\n    const { t } = useTranslation();\n\n    const [isShowUnavailableForm, setIsShowUnavailableForm] = React.useState<boolean>(false);\n\n    const fetchDetailsRequestStatus = useSelector(selectFetchTruckDetailsRequestStatus(partnerId));\n    const detailsById = useSelector(selectTrucksDetailsByIds(partnerId));\n\n    const truckDetails = detailsById[truckId as string];\n\n    const dispatch = useDispatch();\n\n    const executeTeleportRequestStatus = useSelector(selectExecuteTeleportStatus(truckId));\n    const isExecutingTeleport = executeTeleportRequestStatus.loading;\n\n    const validateTeleportRequestStatus = useSelector(selectValidateTeleportStatus(truckId));\n    const isValidatingTeleport = validateTeleportRequestStatus.loading;\n\n    const validateTeleportData = useSelector(selectValidateTeleportData(truckId));\n\n    React.useEffect(() => {\n        if (!truckId) {\n            return;\n        }\n\n        dispatch(validateAssetTeleport({ assetId: truckId }));\n    }, [dispatch, truckId]);\n\n    const handleExecuteAssetTeleport = React.useCallback(() => {\n        if (!truckId) {\n            return;\n        }\n\n        dispatch(executeAssetTeleport({ assetId: truckId }));\n    }, [dispatch, truckId]);\n\n    React.useEffect(() => {\n        if (!truckId) {\n            return;\n        }\n\n        dispatch(fetchTruckDetails(truckId, partnerId));\n    }, [dispatch, truckId, partnerId]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!truckId) {\n            return;\n        }\n\n        dispatch(fetchTruckDetails(truckId, partnerId, { isForceUpdate: true }));\n    }, [dispatch, truckId, partnerId]);\n    useChannelSubscribe(truckDetailsRefreshChannel, refreshPageHandler);\n\n    const status = truckDetails?.status;\n    const actionOptions: Array<DropdownControlOptionT | SpecialOptionEnum | null> = React.useMemo(() => {\n        if (isReadOnly) {\n            return [];\n        }\n\n        if (status === TruckStatusEnum.archived && canArchiveTrucks) {\n            return [\n                {\n                    label: (\n                        <DropdownControlOptionLabel\n                            label={t('common:trucks-page.actions.activate')}\n                            icon={<HollowCircleIcon borderColor={StyleGuideColorsEnum.brandAccent} />}\n                        />\n                    ),\n                    onSelect: () => {\n                        onActivate(truckId);\n                    },\n                },\n            ];\n        }\n\n        const unavailableTeleportTooltipContent = validateTeleportData?.unavailableReason ? (\n            <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                {t(unavailableTeleportReasonI18nMap[validateTeleportData.unavailableReason])}\n            </TooltipContent>\n        ) : null;\n\n        const isTeleportShowLoading = isValidatingTeleport || isExecutingTeleport;\n        const isTeleportDisabled = isTeleportShowLoading || Boolean(unavailableTeleportTooltipContent);\n\n        return [\n            ...(canEditTrucks\n                ? [\n                      {\n                          label: (\n                              <DropdownControlOptionLabel\n                                  label={t('common:trucks-page.actions.edit')}\n                                  icon={\n                                      <EditIcon\n                                          size={DEFAULT_ICON_SIZE}\n                                          fillColor={StyleGuideColorsEnum.brandAccent}\n                                          strokeColor={StyleGuideColorsEnum.brandDark}\n                                      />\n                                  }\n                              />\n                          ),\n                          onSelect: () => {\n                              onEdit();\n                          },\n                      },\n                      SpecialOptionEnum.separator,\n                  ]\n                : []),\n            {\n                label: (\n                    <Tooltip\n                        position={TooltipPositionEnum.centerLeft}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={unavailableTeleportTooltipContent}\n                    >\n                        {() => (\n                            <DropdownControlOptionLabel\n                                label={t('common:trucks-page.actions.teleport')}\n                                isDisabled={isTeleportDisabled}\n                                icon={\n                                    isTeleportShowLoading ? (\n                                        <ControlLoaderIcon\n                                            fillColor={StyleGuideColorsEnum.brandAccent}\n                                            size={DEFAULT_ICON_SIZE}\n                                        />\n                                    ) : (\n                                        <TeleportIcon size={DEFAULT_ICON_SIZE} />\n                                    )\n                                }\n                            />\n                        )}\n                    </Tooltip>\n                ),\n                isDisabled: isTeleportDisabled,\n                onSelect: handleExecuteAssetTeleport,\n            },\n            status !== TruckStatusEnum.archived && canSetUnavailableTrucks\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              label={t('common:trucks-page.actions.add-maintenance-event')}\n                              icon={<WrenchIcon fillColor={StyleGuideColorsEnum.orange} />}\n                          />\n                      ),\n                      onSelect: () => {\n                          setIsShowUnavailableForm(true);\n                      },\n                  }\n                : null,\n            ...(canActivateTrucks\n                ? [\n                      SpecialOptionEnum.separator,\n                      {\n                          label: (\n                              <DropdownControlOptionLabel\n                                  label={t('common:trucks-page.actions.archive')}\n                                  icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                              />\n                          ),\n                          onSelect: () => {\n                              onArchive(truckId);\n                          },\n                      },\n                  ]\n                : []),\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        t,\n        onArchive,\n        truckId,\n        onEdit,\n        canEditTrucks,\n        canActivateTrucks,\n        canSetUnavailableTrucks,\n        canArchiveTrucks,\n        isReadOnly,\n        isValidatingTeleport,\n        isExecutingTeleport,\n        handleExecuteAssetTeleport,\n        validateTeleportData,\n    ]);\n\n    const setUnavailableStatus = useSelector(selectSetUnavailableVehicleRequestStatus);\n    React.useEffect(() => {\n        if (setUnavailableStatus.ok) {\n            setIsShowUnavailableForm(false);\n        }\n    }, [setUnavailableStatus.ok]);\n\n    let footerNode: React.ReactNode = null;\n\n    if (isShowUnavailableForm) {\n        footerNode = (\n            <>\n                <ParanjaSideBarLayout />\n                <FooterSideBarLayout isTransparent hasShadow>\n                    <SetUnavailableFooterContent\n                        assetId={truckId}\n                        onClose={() => {\n                            setIsShowUnavailableForm(false);\n                        }}\n                        isLoading={setUnavailableStatus.loading}\n                        onSetUnavailable={onSetUnavailable}\n                        assetType={AssetTypeEnum.truck}\n                    />\n                </FooterSideBarLayout>\n            </>\n        );\n    }\n\n    return (\n        <>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={t('common:trucks-page.edit-truck.title', {\n                        plateNumber: truckDetails?.plateNumber || '',\n                    })}\n                    afterTitleNode={<TruckStatusPill isSymmetrical status={truckDetails?.status || null} />}\n                    dropdownOptions={actionOptions}\n                    onClose={() => {\n                        if (onClose) {\n                            onClose();\n                        }\n                    }}\n                    onGoBack={onGoBack}\n                    afterDropdownNode={\n                        onToggleShowMap && !isDisableShowOnMap ? (\n                            <MapTrigger\n                                toggleMap={() => {\n                                    if (onToggleShowMap) {\n                                        onToggleShowMap();\n                                    }\n                                }}\n                                isActiveMapTrigger={isShowMap}\n                            />\n                        ) : null\n                    }\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <TruckDetails\n                    partnerId={partnerId}\n                    isLoading={fetchDetailsRequestStatus.loading}\n                    truckDetails={truckDetails}\n                    onOpenTrailerDetails={onOpenTrailerDetails}\n                    onOpenContactDetails={onOpenContactDetails}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            </SideBarLayout>\n            {footerNode}\n        </>\n    );\n};\nexport default TruckDetailsSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"CheckboxCell__fadeIn___Il81B\",\"blinking\":\"CheckboxCell__blinking___f9iCy\"};","import * as React from 'react';\nimport { memo } from 'react';\nimport { ApiLocationT } from 'common/utils/api/models';\nimport AsyncDictCountryNameLabel from 'common/components/AsyncDictCountryNameLabel/AsyncDictCountryNameLabel';\nimport reduce from 'lodash/reduce';\nimport { Trans } from 'react-i18next';\nimport { createMapLink } from 'common/utils/links';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport classNames from 'classnames/bind';\nimport styles from './LocationLabel.scss';\nimport omit from 'lodash/omit';\nimport isEmpty from 'lodash/isEmpty';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\nexport type LocationLabelAddressFormatT =\n    | 'pickup_asset_s1_s2_zip_city_country'\n    | 'dropoff_asset_s1_s2_zip_city_country'\n    | 's1_s2_zip_city_country'\n    | 'zip_city_country';\n\nexport type PropsT = {\n    className?: string;\n    format: LocationLabelAddressFormatT;\n    location: ApiLocationT | null | undefined;\n    allowShowCountryCode?: boolean; // wait experiment TZT-6541\n    separator?: React.ReactNode;\n};\n\nconst concatNodes = (nodes: Array<React.ReactNode>, separator: React.ReactNode): React.ReactNode => {\n    const filteredNodes = nodes.filter((value) => !!value);\n\n    return reduce(\n        filteredNodes,\n        (acc: Array<React.ReactNode>, value, index) => {\n            acc.push(\n                <>\n                    {value}\n                    {value && filteredNodes.length - 1 !== index ? separator : null}\n                </>,\n            );\n            return acc;\n        },\n        [],\n    );\n};\n\nconst renderCountry = (allowShowCountryCode: boolean | undefined, location: ApiLocationT | null | undefined) => {\n    if (!location || !location?.country) {\n        return null;\n    }\n\n    if (allowShowCountryCode) {\n        return location?.country;\n    }\n\n    return <AsyncDictCountryNameLabel countryCode={location?.country} />;\n};\n\nconst checkShouldRenderLocationPlaceholder = (location: ApiLocationT | null | undefined) => {\n    const restAddress = omit(location, ['latitude', 'longitude', 'country']);\n    const isEmptyRestAddress = isEmpty(restAddress);\n    return isEmptyRestAddress && isNumber(location?.latitude) && isNumber(location?.longitude);\n};\n\nconst LocationLabel: React.FC<PropsT> = memo((props) => {\n    const { className, location, allowShowCountryCode, format } = props;\n\n    if (!location) {\n        return null;\n    }\n\n    const separator = props.separator || ', ';\n\n    let locationNode: React.ReactNode;\n    if (format === 's1_s2_zip_city_country') {\n        locationNode = concatNodes(\n            [\n                location.street1,\n                location.street2,\n                location.zipCode,\n                location.city,\n                renderCountry(allowShowCountryCode, location),\n            ],\n            separator,\n        );\n    } else if (format === 'zip_city_country') {\n        locationNode = concatNodes(\n            [location.zipCode, location.city, renderCountry(allowShowCountryCode, location)],\n            separator,\n        );\n    } else if (format === 'pickup_asset_s1_s2_zip_city_country') {\n        if (checkShouldRenderLocationPlaceholder(location)) {\n            locationNode = (\n                <>\n                    <Trans i18nKey=\"common:info-table.label.empty-address-for-pickup-assets-0\" />{' '}\n                    <Link\n                        className={cx('link')}\n                        to={createMapLink(`${location.latitude},${location.longitude}`)}\n                        theme={LinkThemeEnum.boldBrandDark}\n                        target=\"_blank\"\n                        isExternal\n                    >\n                        ({location?.latitude}, {location?.longitude})\n                    </Link>{' '}\n                    <Trans i18nKey=\"common:info-table.label.empty-address-for-pickup-assets-1\" />\n                </>\n            );\n        } else {\n            locationNode = concatNodes(\n                [\n                    location.street1,\n                    location.street2,\n                    location.zipCode,\n                    location.city,\n                    renderCountry(allowShowCountryCode, location),\n                ],\n                separator,\n            );\n        }\n    } else if (format === 'dropoff_asset_s1_s2_zip_city_country') {\n        if (checkShouldRenderLocationPlaceholder(location)) {\n            locationNode = (\n                <>\n                    <Trans i18nKey=\"common:info-table.label.empty-address-0\" />{' '}\n                    <Link\n                        className={cx('link')}\n                        to={createMapLink(`${location.latitude},${location.longitude}`)}\n                        theme={LinkThemeEnum.boldBrandDark}\n                        target=\"_blank\"\n                        isExternal\n                    >\n                        ({location?.latitude}, {location?.longitude})\n                    </Link>{' '}\n                    <Trans i18nKey=\"common:info-table.label.empty-address-1\" />\n                </>\n            );\n        } else {\n            locationNode = concatNodes(\n                [\n                    location.street1,\n                    location.street2,\n                    location.zipCode,\n                    location.city,\n                    renderCountry(allowShowCountryCode, location),\n                ],\n                separator,\n            );\n        }\n    }\n\n    return <span className={className}>{locationNode}</span>;\n});\n\nexport default LocationLabel;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\n\nimport SnowflakeIcon from 'common/icons/SnowflakeIcon';\n\nexport type PropsT = {\n    className?: string;\n    children?: React.ReactNode;\n};\n\nconst CurrentTemperatureAlert: React.FC<PropsT> = React.memo(({ className, children }) => {\n    return (\n        <Alert\n            icon={<SnowflakeIcon fillColor={StyleGuideColorsEnum.white} />}\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.gray}\n            className={className}\n        >\n            {children}\n        </Alert>\n    );\n});\n\nexport default CurrentTemperatureAlert;\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport omit from 'lodash/omit';\nimport flatten from 'lodash/flatten';\n\nimport styles from './FilterPills.scss';\nimport { useTranslation } from 'react-i18next';\nimport FilterPill, { FilterPillThemeEnum } from './FilterPill/FilterPill';\nimport isArray from 'lodash/isArray';\nimport cloneDeep from 'lodash/cloneDeep';\nimport times from 'lodash/times';\n\nconst cx = classNames.bind(styles);\n\nexport type FilterPillsConfigT<QueryFiltersT> = Array<\n    {\n        clearKeys: Array<keyof QueryFiltersT>;\n        theme?: FilterPillThemeEnum;\n        isMultiple?: boolean;\n    } & (\n        | {\n              isMultiple?: false;\n              render: (queryFilters: QueryFiltersT) => React.ReactNode;\n              renderIcon?: (queryFilters: QueryFiltersT, isCompact?: boolean) => React.ReactNode;\n              getTheme?: (queryFilters: QueryFiltersT) => FilterPillThemeEnum;\n          }\n        | {\n              isMultiple: true;\n              render: (queryFilters: QueryFiltersT, index: number) => React.ReactNode;\n              renderIcon?: (queryFilters: QueryFiltersT, index: number, isCompact?: boolean) => React.ReactNode;\n              getTheme?: (queryFilters: QueryFiltersT, index: number) => FilterPillThemeEnum;\n          }\n    )\n>;\n\ntype PropsT<QueryFiltersT> = {\n    config: FilterPillsConfigT<QueryFiltersT>;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: Partial<QueryFiltersT>) => void;\n    isCompact?: boolean;\n    isHideClearAll?: boolean;\n    testSelector?: string;\n};\n\ntype PillPropsT = {\n    testSelector: string;\n    label: React.ReactNode;\n    icon: React.ReactNode;\n    clearKeys: Array<string>;\n    theme: FilterPillThemeEnum | null | undefined;\n} & (\n    | {\n          isMultiple: true;\n          clearIndex: number;\n      }\n    | {\n          isMultiple?: false;\n      }\n);\n\nconst FilterPills = <QueryFiltersT extends {}>(props: PropsT<QueryFiltersT>): React.ReactElement => {\n    const { queryFilters, setQueryFilters, config, isHideClearAll, isCompact, testSelector } = props;\n    const { t } = useTranslation();\n\n    const clearFilters = (clearKeys: Array<string>) => {\n        const newQueryFilters = omit(queryFilters, clearKeys);\n\n        setQueryFilters(newQueryFilters);\n    };\n\n    const clearMultipleFilters = (clearKeys: Array<string>, clearIndex: number) => {\n        const newQueryFilters = clearKeys.reduce<typeof queryFilters>((acc, clearKey) => {\n            // @ts-expect-error No index signature with a parameter of type 'string' was found on type '{}'.\n            const value = acc[clearKey] as Array<string> | string | undefined;\n            if (!value) {\n                return acc;\n            }\n\n            if (isArray(value)) {\n                value.splice(clearIndex, 1);\n            } else {\n                // @ts-expect-error No index signature with a parameter of type 'string' was found on type '{}'.\n                delete acc[clearKey];\n            }\n\n            return acc;\n        }, cloneDeep(queryFilters));\n\n        setQueryFilters(newQueryFilters);\n    };\n\n    const pillProps = config.reduce<Array<PillPropsT>>((acc, configItem) => {\n        const hasValues = configItem.clearKeys.some((key) => queryFilters[key] !== undefined);\n        if (!hasValues) {\n            return acc;\n        }\n\n        if (configItem.isMultiple) {\n            const { renderIcon, render, theme, getTheme, clearKeys } = configItem;\n\n            // @ts-expect-error Property 'length' does not exist on type 'NonNullable<QueryFiltersT[keyof QueryFiltersT]>'.\n            const count = queryFilters[clearKeys?.[0]]?.length || 0;\n            times(count).forEach((_, index) => {\n                acc.push({\n                    testSelector: `${testSelector}_${clearKeys.join('-')}_${index}`,\n                    label: render(queryFilters, index),\n                    icon: renderIcon ? renderIcon(queryFilters, index, isCompact) : null,\n                    theme: getTheme?.(queryFilters, index) || theme,\n                    clearKeys: clearKeys as Array<string>,\n                    isMultiple: true,\n                    clearIndex: index,\n                });\n            });\n        } else {\n            const { renderIcon, render, getTheme, theme, clearKeys } = configItem;\n\n            acc.push({\n                testSelector: `${testSelector}_${clearKeys.join('-')}`,\n                label: render(queryFilters),\n                icon: renderIcon ? renderIcon(queryFilters, isCompact) : null,\n                theme: getTheme?.(queryFilters) || theme,\n                clearKeys: clearKeys as Array<string>,\n            });\n        }\n\n        return acc;\n    }, []);\n\n    const allKeys = flatten(config.map((configItem) => configItem.clearKeys)) as string[];\n\n    const clearAllFilters = () => clearFilters(allKeys);\n\n    return (\n        <>\n            {!!pillProps.length && !isHideClearAll && (\n                <FilterPill\n                    className={cx('pill')}\n                    label={t('common:clear-all-filters')}\n                    withCloser={false}\n                    testSelector={`${testSelector}_clear-all`}\n                    theme={FilterPillThemeEnum.charcoal}\n                    onClick={clearAllFilters}\n                    isCompact={isCompact}\n                />\n            )}\n            {pillProps.map((pillProps, pillIndex) => (\n                <FilterPill\n                    key={pillIndex}\n                    className={cx('pill')}\n                    icon={pillProps?.icon}\n                    label={pillProps?.label}\n                    withCloser\n                    testSelector={pillProps?.testSelector}\n                    theme={pillProps?.theme || FilterPillThemeEnum.brandDark}\n                    onClick={() => {\n                        if (pillProps.isMultiple) {\n                            clearMultipleFilters(pillProps.clearKeys, pillProps.clearIndex);\n                        } else {\n                            clearFilters(pillProps.clearKeys);\n                        }\n                    }}\n                    isCompact={isCompact}\n                />\n            ))}\n        </>\n    );\n};\n\nexport default React.memo(FilterPills) as typeof FilterPills;\n","import { SharableStateT } from 'common/store/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { initialCompanyDriversState } from './reducer';\nimport { CompanyDriversStateT, DriverDetailsByIdT } from './types';\n\nconst EMPTY_QUERY = {};\n\nconst selectCompanyDriversState = (state: SharableStateT, companyId: CompanyIdT | null): CompanyDriversStateT => {\n    if (!companyId) {\n        return initialCompanyDriversState;\n    }\n\n    return state.drivers[companyId] || initialCompanyDriversState;\n};\n\nexport const selectDriversPages =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyDriversStateT['pages'] =>\n        selectCompanyDriversState(state, companyId).pages;\n\nexport const selectDriversById =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyDriversStateT['byId'] =>\n        selectCompanyDriversState(state, companyId).byId;\n\nexport const selectDriversQuery =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyDriversStateT['query'] =>\n        selectCompanyDriversState(state, companyId).query || EMPTY_QUERY;\n\nexport const selectDriversTotal =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyDriversStateT['total'] =>\n        selectCompanyDriversState(state, companyId).total;\n\nexport const selectInviteDriverRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): RequestStatusT =>\n        selectCompanyDriversState(state, companyId).inviteRequest;\n\nexport const selectAddDriverRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): RequestStatusT =>\n        selectCompanyDriversState(state, companyId).addRequest;\n\nexport const selectDeleteDriverRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): RequestStatusT =>\n        selectCompanyDriversState(state, companyId).deleteRequest;\n\nexport const selectUpdateDriverRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): RequestStatusT =>\n        selectCompanyDriversState(state, companyId).updateRequest;\n\nexport const selectFetchDriverDetailsRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): RequestStatusT =>\n        selectCompanyDriversState(state, companyId).fetchDetailsRequest;\n\nexport const selectDriverDetailsById =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): DriverDetailsByIdT =>\n        selectCompanyDriversState(state, companyId).detailsById;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"Switcher__wrap___Cx65I\",\"switcher\":\"Switcher__switcher___MjgMQ\",\"switcher--isClickable\":\"Switcher__switcher--isClickable___l5apf\",\"switcher--theme-primary\":\"Switcher__switcher--theme-primary____N8bu\",\"switcher--isChecked\":\"Switcher__switcher--isChecked___yMOGq\",\"switcher--isHover\":\"Switcher__switcher--isHover___lB03h\",\"switcher--theme-danger\":\"Switcher__switcher--theme-danger___oXnGO\",\"switcher--isDisabled\":\"Switcher__switcher--isDisabled___uXa20\",\"label\":\"Switcher__label___a9eYR\",\"label--isClickable\":\"Switcher__label--isClickable___FEMhS\",\"label--hasRightIcon\":\"Switcher__label--hasRightIcon___Fll4Q\",\"label--isDisabled\":\"Switcher__label--isDisabled___WWLlm\",\"fadeIn\":\"Switcher__fadeIn___uWxdC\",\"blinking\":\"Switcher__blinking___Ev6PX\"};","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DataSourceDropdown.scss';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport isNil from 'lodash/isNil';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { useTranslation } from 'react-i18next';\nimport { StatisticSourceEnum } from 'broker-admin/utils/api/broker-tranziit/models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype ValueT = StatisticSourceEnum | null;\n\ntype PropsT = {\n    selectedValue: ValueT;\n    placeholder: string;\n    isDisabled?: boolean;\n    onSelect: (value: ValueT, label: string) => void;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    className?: string;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    onReset?: () => void;\n};\n\ntype OptionT = ValueT;\n\nconst OPTIONS = [StatisticSourceEnum.import, StatisticSourceEnum.native];\n\nexport const DATA_SOURCE_LABELS_T: Record<StatisticSourceEnum, string> = {\n    [StatisticSourceEnum.import]: 'statistics.data-source.imported',\n    [StatisticSourceEnum.native]: 'statistics.data-source.native',\n};\n\nconst DataSourceDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        selectedValue,\n        placeholder,\n        onSelect,\n        overlayPosition,\n        className,\n        hasError,\n        hasWarning,\n        hasChanges,\n        onBlur,\n        onFocus,\n        onReset,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const renderOption = (value?: ValueT, placeholder?: string): React.ReactNode => {\n        if (isNil(value)) {\n            return placeholder;\n        }\n\n        return t(DATA_SOURCE_LABELS_T[value]);\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option;\n\n    const handleSelect = (value: ValueT) => {\n        const label = value ? t(DATA_SOURCE_LABELS_T[value]) : '';\n\n        onSelect(value, label);\n    };\n\n    return (\n        <DropdownInput<OptionT, ValueT>\n            className={className}\n            selectedValue={selectedValue}\n            placeholder={placeholder}\n            options={OPTIONS}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            renderOption={renderOption}\n            renderTriggerContent={renderOption}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasClearControl={!!onReset}\n            onReset={onReset}\n        />\n    );\n});\n\nexport default DataSourceDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"prices\":\"ShipperContractLaneOtherDetails__prices___RSt3Q\",\"fadeIn\":\"ShipperContractLaneOtherDetails__fadeIn___V11Wz\",\"blinking\":\"ShipperContractLaneOtherDetails__blinking___K1d4w\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './RulePreviewPill.scss';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiPriceRuleTypeT, ApiRuleOperatorT, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport RuleImpact from 'common/components/RuleImpact/RuleImpact';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    typeClassName?: string;\n    ruleClassName?: string;\n    ruleType: ApiPriceRuleTypeT | null;\n    ruleId: RuleIdT;\n    ruleName: string;\n    ruleOperator: ApiRuleOperatorT | null;\n    ruleValue: number;\n    ruleTheme: PillLabelThemeEnum;\n    onClick: ((ruleId: RuleIdT) => void) | null;\n};\n\nconst ruleTypeI18nMap: Record<ApiPriceRuleTypeT, string> = {\n    [PriceRuleTypeEnum.basic]: 'common:short-rule-type.labels.basic',\n    [PriceRuleTypeEnum.carrier]: 'common:short-rule-type.labels.carrier',\n    [PriceRuleTypeEnum.shipper]: 'common:short-rule-type.labels.shipper',\n    [PriceRuleTypeEnum.custom]: 'common:short-rule-type.labels.custom',\n};\n\nconst ruleTypeTooltipsI18nMap: Record<ApiPriceRuleTypeT, string | null> = {\n    [PriceRuleTypeEnum.basic]: null,\n    [PriceRuleTypeEnum.carrier]: null,\n    [PriceRuleTypeEnum.shipper]: null,\n    [PriceRuleTypeEnum.custom]: 'common:short-rule-type.tooltip.custom',\n};\n\nconst ruleTypeThemeMap: Record<ApiPriceRuleTypeT, PillLabelThemeEnum> = {\n    [PriceRuleTypeEnum.basic]: PillLabelThemeEnum.lightSlateGray,\n    [PriceRuleTypeEnum.carrier]: PillLabelThemeEnum.tumbleweed,\n    [PriceRuleTypeEnum.shipper]: PillLabelThemeEnum.pewterBlue,\n    [PriceRuleTypeEnum.custom]: PillLabelThemeEnum.tomatoRed70,\n};\n\nconst RulePreviewPill: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        typeClassName,\n        ruleClassName,\n        ruleTheme,\n        ruleName,\n        ruleValue,\n        ruleOperator,\n        ruleType,\n        ruleId,\n        onClick,\n    } = props;\n\n    const { t } = useTranslation();\n\n    if (!ruleType || !ruleOperator) {\n        return null;\n    }\n\n    const tooltipsI18n = ruleTypeTooltipsI18nMap[ruleType];\n\n    return (\n        <Tooltip\n            className={cs(cx('wrap'), className)}\n            position={TooltipPositionEnum.topCenter}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                tooltipsI18n ? (\n                    <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                        {t(tooltipsI18n)}\n                    </TooltipContent>\n                ) : null\n            }\n        >\n            {() => (\n                <>\n                    <PillLabel\n                        theme={ruleTypeThemeMap[ruleType]}\n                        className={cs(cx('type'), typeClassName)}\n                        isSymmetrical\n                    >\n                        {t(ruleTypeI18nMap[ruleType])}\n                    </PillLabel>\n                    <PillLabel theme={ruleTheme} className={cs(cx('rule'), ruleClassName)} isSymmetrical>\n                        {ruleName}: <RuleImpact value={ruleValue} impactStrategy={ruleOperator} />\n                        {onClick && (\n                            <div\n                                className={cx('closer')}\n                                onClick={() => {\n                                    onClick(ruleId);\n                                }}\n                            >\n                                <CloseIcon fillColor=\"currentColor\" />\n                            </div>\n                        )}\n                    </PillLabel>\n                </>\n            )}\n        </Tooltip>\n    );\n};\n\nexport default RulePreviewPill;\n","import React, { useMemo } from 'react';\nimport { MapRoutePointT, SyncAssignmentFormMapStateContextValueT } from '../contexts/sync-map-state';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nexport const usySyncMapStateContextValue = (): SyncAssignmentFormMapStateContextValueT => {\n    const [onSetMapBoundingBox, setOnSetMapBoundingBox] =\n        React.useState<SyncAssignmentFormMapStateContextValueT['onSetMapBoundingBox']>(null);\n    const [onMapClickCallback, setOnMapClickCallback] =\n        React.useState<SyncAssignmentFormMapStateContextValueT['onMapClickCallback']>(null);\n    const [onDragEndDnDCallback, setOnDragEndDnDCallback] =\n        React.useState<SyncAssignmentFormMapStateContextValueT['onDragEndDnDCallback']>(null);\n    const [mapRoutePoints, setMapRoutePoints] = React.useState<Array<MapRoutePointT>>([]);\n\n    const [onChangeExcludedCountriesCallback, setOnChangeExcludedCountriesCallback] =\n        React.useState<SyncAssignmentFormMapStateContextValueT['onChangeExcludedCountriesCallback']>(null);\n    const [excludedCountries, setExcludedCountries] = React.useState<Array<CountryCodeT>>([]);\n\n    return useMemo(() => {\n        return {\n            onSetMapBoundingBox,\n            setOnSetMapBoundingBox,\n\n            mapRoutePoints,\n            setMapRoutePoints,\n\n            onMapClickCallback,\n            setOnMapClickCallback,\n\n            onDragEndDnDCallback,\n            setOnDragEndDnDCallback,\n\n            onChangeExcludedCountriesCallback,\n            setOnChangeExcludedCountriesCallback,\n\n            excludedCountries,\n            setExcludedCountries: (excludedCountries: Array<CountryCodeT>) => {\n                setExcludedCountries(excludedCountries);\n                onChangeExcludedCountriesCallback?.callback(excludedCountries);\n            },\n        };\n    }, [\n        onSetMapBoundingBox,\n        setOnSetMapBoundingBox,\n\n        mapRoutePoints,\n        setMapRoutePoints,\n\n        onMapClickCallback,\n        setOnMapClickCallback,\n\n        onDragEndDnDCallback,\n        setOnDragEndDnDCallback,\n\n        onChangeExcludedCountriesCallback,\n        setOnChangeExcludedCountriesCallback,\n\n        excludedCountries,\n        setExcludedCountries,\n    ]);\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst DeleteIcon: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M5.5 15.25c0 .825.675 1.5 1.5 1.5h6c.825 0 1.5-.675 1.5-1.5v-9h-9v9zM15.25 4h-2.625l-.75-.75h-3.75l-.75.75H4.75v1.5h10.5V4z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nDeleteIcon.displayName = 'DeleteIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\nexport default DeleteIcon;\n","import requestStatus from 'common/utils/request-status';\n\nimport {\n    FETCH_PARTNER_DETAILS_REQUEST_BEGIN,\n    FETCH_PARTNER_DETAILS_REQUEST_ERROR,\n    FETCH_PARTNER_DETAILS_REQUEST_SUCCESS,\n    LOCK_PARTNER_REQUEST_BEGIN,\n    LOCK_PARTNER_REQUEST_ERROR,\n    LOCK_PARTNER_REQUEST_SUCCESS,\n    PartnerDetailsActionT,\n    PartnerDetailsStateT,\n    UPDATE_PARTNER_DETAILS_REQUEST_BEGIN,\n    UPDATE_PARTNER_DETAILS_REQUEST_ERROR,\n    UPDATE_PARTNER_DETAILS_REQUEST_SUCCESS,\n    VERIFY_PARTNER_DETAILS_REQUEST_BEGIN,\n    VERIFY_PARTNER_DETAILS_REQUEST_ERROR,\n    VERIFY_PARTNER_DETAILS_REQUEST_SUCCESS,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport isEqual from 'lodash/isEqual';\n\nconst initialState: PartnerDetailsStateT = {\n    fetchRequest: requestStatus.initial,\n    updateRequest: requestStatus.initial,\n    verifyRequest: requestStatus.initial,\n    lockRequest: requestStatus.initial,\n    byId: {},\n};\n\nexport default (state = initialState, action: PartnerDetailsActionT | DestroySessionActionT): PartnerDetailsStateT => {\n    switch (action.type) {\n        case FETCH_PARTNER_DETAILS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n        case FETCH_PARTNER_DETAILS_REQUEST_SUCCESS: {\n            const { partnerDetails } = action;\n\n            const prevPartnerDetails = state?.byId?.[partnerDetails?.id as string] || null;\n\n            return {\n                ...state,\n                byId: {\n                    ...state.byId,\n                    [partnerDetails?.id as string]: isEqual(prevPartnerDetails, partnerDetails)\n                        ? prevPartnerDetails\n                        : partnerDetails,\n                },\n                fetchRequest: requestStatus.ok,\n            };\n        }\n        case FETCH_PARTNER_DETAILS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(error),\n            };\n        }\n        case UPDATE_PARTNER_DETAILS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                updateRequest: requestStatus.loading,\n            };\n        }\n        case UPDATE_PARTNER_DETAILS_REQUEST_SUCCESS: {\n            const { partnerDetails } = action;\n\n            const prevPartnerDetails = state?.byId?.[partnerDetails?.id as string] || null;\n\n            return {\n                ...state,\n                byId: {\n                    ...state.byId,\n                    [partnerDetails?.id as string]: isEqual(prevPartnerDetails, partnerDetails)\n                        ? prevPartnerDetails\n                        : partnerDetails,\n                },\n                updateRequest: requestStatus.ok,\n            };\n        }\n        case UPDATE_PARTNER_DETAILS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                updateRequest: requestStatus.setError(error),\n            };\n        }\n        case LOCK_PARTNER_REQUEST_BEGIN: {\n            return {\n                ...state,\n                lockRequest: requestStatus.loading,\n            };\n        }\n        case LOCK_PARTNER_REQUEST_ERROR: {\n            const { error } = action;\n            return {\n                ...state,\n                lockRequest: requestStatus.setError(error),\n            };\n        }\n        case LOCK_PARTNER_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                lockRequest: requestStatus.ok,\n            };\n        }\n        case VERIFY_PARTNER_DETAILS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                verifyRequest: requestStatus.loading,\n            };\n        }\n        case VERIFY_PARTNER_DETAILS_REQUEST_ERROR: {\n            const { error } = action;\n            return {\n                ...state,\n                verifyRequest: requestStatus.setError(error),\n            };\n        }\n        case VERIFY_PARTNER_DETAILS_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                verifyRequest: requestStatus.ok,\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import React from 'react';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport debounce from 'lodash/debounce';\nimport { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\nimport isString from 'lodash/isString';\nimport isNumber from 'lodash/isNumber';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\n\ntype BaseOptionT = {};\n\nexport type AsyncRequestFactoryResultT<T extends BaseOptionT> = TranziitApiResultT<Array<T>>;\nexport type AsyncRequestFactoryT<T extends BaseOptionT> = (query: string) => Promise<AsyncRequestFactoryResultT<T>>;\n\nexport type UseAsyncOptionsParamsT<T extends BaseOptionT> = {\n    initialOptions?: Array<T> | null;\n    requestFactory: AsyncRequestFactoryT<T>;\n    settings: {\n        allowedQueryMinLength?: number;\n    };\n};\n\nexport type UseAsyncOptionsResultT<T extends BaseOptionT> = {\n    options: Array<T>;\n    optionsQuery: string | null;\n    requestStatus: RequestStatusT;\n    onChangeQuery: (query?: string | null | undefined) => void;\n};\n\ntype DataT<T extends BaseOptionT> = {\n    status: RequestStatusT;\n    response?: {\n        query: string;\n        options: Array<T>;\n    };\n};\n\nconst COLD_TIME = 300;\n\nconst prepareQuery = (query: string) => query.trim();\n\nexport const useAsyncOptionsRequest = <T extends BaseOptionT>({\n    initialOptions,\n    requestFactory,\n    settings,\n}: UseAsyncOptionsParamsT<T>): UseAsyncOptionsResultT<T> => {\n    const lastSuggestionsQueryRef = React.useRef<string | null>(null);\n\n    const [data, setData] = React.useState<DataT<T>>({\n        status: requestStatus.initial,\n    });\n\n    const allowedQueryMinLength = isNumber(settings.allowedQueryMinLength) ? settings.allowedQueryMinLength : 2;\n\n    const handleChangeQuery = React.useCallback(\n        (rawQuery?: string | null | undefined, options?: FetchOptionsT): void => {\n            if (!isString(rawQuery)) {\n                return;\n            }\n\n            const query = prepareQuery(rawQuery);\n\n            if (!isNumber(allowedQueryMinLength) && !query) {\n                return;\n            }\n\n            if (isNumber(allowedQueryMinLength) && query.length < allowedQueryMinLength) {\n                return;\n            }\n\n            if (lastSuggestionsQueryRef.current === query && !options?.isForceUpdate) {\n                return;\n            }\n\n            lastSuggestionsQueryRef.current = query;\n\n            setData((data) => ({\n                ...data,\n                status: requestStatus.loading,\n            }));\n\n            requestFactory(query)\n                .then(([error, options]) => {\n                    if (lastSuggestionsQueryRef.current !== query) {\n                        // ignore lag requests\n                        return;\n                    }\n\n                    if (error) {\n                        setData((data) => ({\n                            ...data,\n                            status: requestStatus.setError(error),\n                            response: {\n                                query,\n                                options: [],\n                            },\n                        }));\n                        return;\n                    }\n\n                    setData((data) => ({\n                        ...data,\n                        status: requestStatus.ok,\n                        response: {\n                            query,\n                            options: options || [],\n                        },\n                    }));\n                })\n                .catch((error) => {\n                    if (lastSuggestionsQueryRef.current !== query) {\n                        // ignore lag requests\n                        return;\n                    }\n\n                    setData((data) => ({\n                        ...data,\n                        status: requestStatus.setError(error),\n                        response: {\n                            query,\n                            options: [],\n                        },\n                    }));\n                });\n        },\n        [requestFactory, allowedQueryMinLength],\n    );\n\n    React.useEffect(() => {\n        if (allowedQueryMinLength === 0) {\n            handleChangeQuery(lastSuggestionsQueryRef.current || '');\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [allowedQueryMinLength]);\n\n    useOnlyChangesEffect(() => {\n        const lastQuery = lastSuggestionsQueryRef.current;\n\n        const hasLastQuery = lastQuery !== null;\n        if (!hasLastQuery) {\n            return;\n        }\n\n        handleChangeQuery(lastQuery, { isForceUpdate: true });\n    }, [handleChangeQuery]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const lastQuery = lastSuggestionsQueryRef.current;\n\n        const hasLastQuery = lastQuery !== null;\n        if (!hasLastQuery) {\n            return;\n        }\n\n        handleChangeQuery(lastQuery, { isForceUpdate: true });\n    }, [handleChangeQuery]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const response = React.useMemo(() => {\n        if (data.response) {\n            return data.response;\n        }\n\n        return {\n            query: null,\n            options: initialOptions || [],\n        };\n    }, [initialOptions, data.response]);\n\n    return {\n        options: response.options,\n        optionsQuery: response.query,\n        requestStatus: data.status,\n        onChangeQuery: debounce(handleChangeQuery, COLD_TIME),\n    };\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TypeCell.scss';\nimport { useTranslation } from 'react-i18next';\nimport { ApiTrailerT } from 'common/store/trailers/models';\n\ntype PropsT = {\n    trailer: ApiTrailerT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TypeCell: React.FC<PropsT> = React.memo((props) => {\n    const { trailer } = props;\n\n    const { t } = useTranslation();\n\n    const type = trailer ? t(`common:trailer-type.${trailer.dictTrailerInfo.trailerType}`) : null;\n\n    const subtype = trailer\n        ? t('common:trailer-subtype-template', {\n              length: trailer.dictTrailerInfo.length,\n              model: trailer.dictTrailerInfo.model,\n              eur1Pallets: trailer.dictTrailerInfo.eur1Pallets,\n              eur2Pallets: trailer.dictTrailerInfo.eur2Pallets,\n          })\n        : null;\n\n    return (\n        <>\n            <div className={cx('type')}>{type}</div>\n            <div className={cx('sub-type')}>{subtype}</div>\n        </>\n    );\n});\n\nexport default TypeCell;\n","import * as React from 'react';\n\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { DATA_SOURCE_LABELS_T } from 'broker-admin/layouts/StatisticsPage/DataSourceDropdown/DataSourceDropdown';\nimport CountriesFilterPill from 'common/components/filter-pills/CountriesFilterPill/CountriesFilterPill';\nimport { StatisticSourceEnum } from 'broker-admin/utils/api/broker-tranziit/models';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    return t('statistics.filters.pills.data-source', {\n                        value: t(\n                            DATA_SOURCE_LABELS_T[queryFilters[QueryFiltersKeysEnum.dataSource] as StatisticSourceEnum],\n                        ),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dataSource],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const countryCode = queryFilters[QueryFiltersKeysEnum.fromCountryCode];\n                    return (\n                        <Trans\n                            i18nKey=\"statistics.filters.pills.from-country-code\"\n                            components={{\n                                value: <CountriesFilterPill countryCodes={countryCode ? [countryCode] : null} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.fromCountryCode],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('statistics.filters.pills.from-zip-code', {\n                        value: queryFilters[QueryFiltersKeysEnum.fromZipCode],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.fromZipCode],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const countryCode = queryFilters[QueryFiltersKeysEnum.toCountryCode];\n                    return (\n                        <Trans\n                            i18nKey=\"statistics.filters.pills.to-country-code\"\n                            components={{\n                                value: <CountriesFilterPill countryCodes={countryCode ? [countryCode] : null} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.toCountryCode],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('statistics.filters.pills.to-zip-code', {\n                        value: queryFilters[QueryFiltersKeysEnum.toZipCode],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.toZipCode],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    return t('statistics.filters.pills.shipper', {\n                        value: queryFilters[QueryFiltersKeysEnum.shipperName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.shipperName, QueryFiltersKeysEnum.shipperId],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    return t('statistics.filters.pills.carrier', {\n                        value: queryFilters[QueryFiltersKeysEnum.carrierName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.carrierName, QueryFiltersKeysEnum.carrierId],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './AddOtherMessengerDropdown.scss';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport { SocialMediaEnum, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { isNonNil } from 'common/utils';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { MEDIA_FIELDS_NAME } from '../constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    formValues: {\n        [SocialMediaEnum.whatsapp]?: string;\n        [SocialMediaEnum.viber]?: string;\n        [SocialMediaEnum.telegram]?: string;\n        [SocialMediaEnum.msTeams]?: string;\n    };\n    onCreateField: (socialMedia: SocialMediaEnum) => void;\n};\n\nconst AddOtherMessengerDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { formValues, className, onCreateField } = props;\n\n    const { t } = useTranslation();\n\n    const options: DropdownControlOptionT[] = React.useMemo(() => {\n        return MEDIA_FIELDS_NAME.map((media) => {\n            const alreadyHasField = typeof formValues[media] === 'string';\n            if (alreadyHasField) {\n                return null;\n            }\n\n            return {\n                label: <DropdownControlOptionLabel label={t(`common:team-members.edit-contact.messengers.${media}`)} />,\n                onSelect: () => {\n                    onCreateField(media);\n                },\n            };\n        }).filter(isNonNil);\n    }, [formValues, onCreateField, t]);\n\n    return (\n        <DropdownControl\n            className={cs(cx('dropdown'), className)}\n            overlayClassName={cx('overlay')}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    label={t('common:team-members.edit-contact.add-messenger-trigger')}\n                    rightIcon={<ExpandIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n});\n\nexport default AddOtherMessengerDropdown;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { ApiRegistrationCompanyRequestDraftT } from 'common/utils/api/models';\n\nexport type CreateCompanyStateT = {\n    requestStatus: RequestStatusT;\n    isLocked: boolean | null;\n};\n\nconst initialState: CreateCompanyStateT = {\n    requestStatus: requestStatus.initial,\n    isLocked: null,\n};\n\nexport const createCompanySlice = createSlice({\n    name: 'createCompany',\n    initialState,\n    reducers: {\n        setCompanyIsLocked: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                isLocked: boolean | null;\n            }>,\n        ) => {\n            state.isLocked = action.payload.isLocked;\n        },\n        createCompanyRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                registrationCompanyRequestDraft: ApiRegistrationCompanyRequestDraftT;\n                returnUrl: string | null;\n            }>,\n        ) => {\n            state.isLocked = null;\n        },\n        createCompanyRequestBegin: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.requestStatus = requestStatus.loading;\n        },\n        createCompanyRequestSuccess: (\n            state,\n            action: PayloadAction<{\n                isLocked: boolean | null;\n            }>,\n        ) => {\n            state.requestStatus = requestStatus.ok;\n            state.isLocked = action.payload.isLocked;\n        },\n        createCompanyRequestError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n\n            state.requestStatus = requestStatus.setError(error);\n        },\n    },\n});\n\nexport const {\n    setCompanyIsLocked,\n    createCompanyRequest,\n    createCompanyRequestBegin,\n    createCompanyRequestSuccess,\n    createCompanyRequestError,\n} = createCompanySlice.actions;\n\nexport default createCompanySlice.reducer;\n","// extracted by mini-css-extract-plugin\nexport default {\"map-loader__container\":\"MapLoader__map-loader__container___vronU\",\"fadeIn\":\"MapLoader__fadeIn___YvnFC\",\"blinking\":\"MapLoader__blinking___rzn3p\"};","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ApiNotificationSubjectTypeT, SubjectTypeEnum } from 'common/utils/api/models';\nimport styles from './NotificationSubjectType.scss';\nimport classNames from 'classnames/bind';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    subjectType: ApiNotificationSubjectTypeT | null | undefined;\n    isCapitalized?: boolean;\n    isUppercase?: boolean;\n};\n\nexport const SUBJECT_TYPE_T_MAP: Record<ApiNotificationSubjectTypeT, string | null> = {\n    [SubjectTypeEnum.order]: 'common:notifications.subject-type.ORDER',\n    [SubjectTypeEnum.tour]: 'common:notifications.subject-type.TOUR',\n    [SubjectTypeEnum.shipment]: 'common:notifications.subject-type.SHIPMENT',\n    [SubjectTypeEnum.transportationOrder]: 'common:notifications.subject-type.TRANSPORTATION_ORDER',\n    [SubjectTypeEnum.rfq]: 'common:notifications.subject-type.RFQ',\n    [SubjectTypeEnum.document]: null,\n    [SubjectTypeEnum.carrierContract]: null,\n    [SubjectTypeEnum.shipperContract]: null,\n    [SubjectTypeEnum.shipperContractLane]: null,\n    [SubjectTypeEnum.trailer]: null,\n    [SubjectTypeEnum.truck]: null,\n    [SubjectTypeEnum.team]: null,\n    [SubjectTypeEnum.businessPartner]: null,\n};\n\nconst NotificationSubjectType: React.FC<PropsT> = React.memo((props) => {\n    const { subjectType, isCapitalized, isUppercase } = props;\n\n    const { t } = useTranslation();\n\n    if (!subjectType) {\n        return null;\n    }\n\n    const tDocumentSubject = SUBJECT_TYPE_T_MAP[subjectType];\n    const label = tDocumentSubject ? t(tDocumentSubject) : null;\n\n    return (\n        <span\n            className={cx('text', {\n                'text--is-capitalized': isCapitalized,\n                'text--is-uppercase': isUppercase,\n            })}\n        >\n            {label}\n        </span>\n    );\n});\n\nexport default NotificationSubjectType;\n","import { actionChannel, fork, put, select, take, takeEvery } from 'redux-saga/effects';\nimport { buffers } from 'redux-saga';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport history from 'common/utils/history';\nimport { urlFactory as brokerUrlFactory } from 'broker-admin/utils/urls';\nimport {\n    applyContextRequest,\n    applyContextRequestBegin,\n    applyContextRequestError,\n    applyContextRequestSuccess,\n    changeDeadheadContext,\n    initContextRequestBegin,\n    initContextRequestError,\n    initContextRequestSuccess,\n    previewContextRequestBegin,\n    previewContextRequestError,\n    previewContextRequestSuccess,\n    setContextQuery,\n    setIsApplyingContextChanges,\n    resetPreviewContext,\n    resetContext,\n    setPreviewQuery,\n    resetPreviewContextQuery,\n} from './slice';\nimport {\n    ContextRouteStopFakeIdT,\n    ContextRouteStopHashT,\n    DeadheadApplyContextQueryT,\n    DeadheadContextIdT,\n    DeadheadInitContextQueryT,\n    DeadheadInitContextResponseT,\n    DeadheadPreviewContextQueryT,\n    DeadheadPreviewContextResponseT,\n    RawDeadheadInitContextQueryT,\n} from './models';\nimport { ApiDeadheadPreviewContextResponseT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport {\n    selectDeadheadApplyRequest,\n    selectDeadheadContext,\n    selectDeadheadInitContextQuery,\n    selectDeadheadPreviewQuery,\n    selectDeadheadPreviewResponse,\n} from './selectors';\nimport { logWarning } from 'common/utils/logger';\nimport isEqual from 'lodash/isEqual';\nimport {\n    modifyDeadheadInitContextQuery,\n    modifyDeadheadPreviewQuery,\n    validateDeadheadInitContextQuery,\n    validateDeadheadPreviewQuery,\n} from './utils/query-modifiers';\nimport { MS_IN_SEC } from 'common/utils/time';\nimport { deadheadCreationQueryModifyChannel } from './channels';\nimport { getDeletedStopFakeIds } from './utils/get-deleted-stop-fake-ids';\nimport { getAddedStopFakeIds } from './utils/get-added-stop-fake-ids';\nimport { getContextRouteStopAddressHash } from './utils/get-context-route-stop-hash';\nimport { generatePointFakeId } from './utils/generate-point-fake-id';\nimport { collectFakeIdByHashFromInitContextQuery } from './utils/fake-id-by-hash';\nimport { getOrderStopFakeIds } from './utils/get-order-stop-fakse-ids';\nimport pick from 'lodash/pick';\n\nfunction* waitFinishIfNeedDeadheadApply(): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectDeadheadApplyRequest> = yield select(selectDeadheadApplyRequest);\n\n    if (request.loading) {\n        yield take([applyContextRequestError.type, applyContextRequestSuccess.type]);\n    }\n}\n\nfunction* applyDeadheadContextSaga(action: ReturnType<typeof applyContextRequest>): WrapGeneratorT<void> {\n    yield waitFinishIfNeedDeadheadApply();\n\n    const context: ReturnType<typeof selectDeadheadContext> = yield select(selectDeadheadContext);\n    const contextId = context?.contextId || null;\n    if (!contextId) {\n        logWarning('failed to apply deadhead context, contextId is null');\n        return;\n    }\n\n    yield put(applyContextRequestBegin());\n\n    const requestBody: DeadheadApplyContextQueryT = {\n        doNotIncludeCostsInTransportOrder: !!action?.payload?.doNotIncludeCostsInTransportOrder,\n        contacts: action?.payload?.contacts || [],\n    };\n\n    const [error, data]: ReturnApiT<typeof brokerTranziitApi.applyDeadheadContext> =\n        yield brokerTranziitApi.applyDeadheadContext(contextId, requestBody);\n    if (error) {\n        yield put(applyContextRequestError({ error }));\n        return;\n    }\n\n    yield put(applyContextRequestSuccess({ response: data }));\n\n    const tourId = data?.tourId || null;\n    if (tourId) {\n        history.push(brokerUrlFactory.brokerTourDetails(tourId));\n    } else {\n        logWarning('failed to redirect to tour details after apply deadhead context, tourId is null');\n    }\n}\n\nfunction* initDeadheadContextSaga(\n    deadheadInitContextQuery: DeadheadInitContextQueryT,\n): WrapGeneratorT<DeadheadInitContextResponseT | null> {\n    yield put(initContextRequestBegin());\n\n    const query: DeadheadInitContextQueryT = {\n        ...deadheadInitContextQuery,\n        // first stop is always the pickup stop, will be added by the backend so we don't need to validate it\n        stops: deadheadInitContextQuery.stops.slice(1).map((stop) => {\n            return pick(stop, ['city', 'country', 'latitude', 'longitude', 'street1', 'street2', 'zipCode', 'zoneId']);\n        }),\n    };\n\n    const [rawError, rawData]: ReturnApiT<typeof brokerTranziitApi.initDeadheadContext> =\n        yield brokerTranziitApi.initDeadheadContext(query);\n\n    if (rawError) {\n        yield put(initContextRequestError({ error: rawError }));\n        return null;\n    }\n\n    const preparedDate: DeadheadInitContextResponseT | null = rawData\n        ? {\n              ...rawData,\n              expireTime: (rawData?.secondsToExpire || 0) * MS_IN_SEC + Date.now(),\n          }\n        : null;\n\n    yield put(initContextRequestSuccess({ response: preparedDate }));\n    return preparedDate;\n}\n\nfunction* previewDeadheadContextSaga(\n    contextId: DeadheadContextIdT,\n    query: DeadheadPreviewContextQueryT,\n    meta: {\n        pickupStopFakeId: ContextRouteStopFakeIdT | null;\n        fakeIdByHash: Record<ContextRouteStopHashT, ContextRouteStopFakeIdT>;\n    },\n): WrapGeneratorT<ApiDeadheadPreviewContextResponseT | null> {\n    yield put(previewContextRequestBegin());\n\n    const [rawError, rawData]: ReturnApiT<typeof brokerTranziitApi.chooseDeadheadArrivalDateTime> =\n        yield brokerTranziitApi.chooseDeadheadArrivalDateTime(contextId, query);\n\n    if (rawError) {\n        yield put(previewContextRequestError({ error: rawError }));\n        return null;\n    }\n\n    const data: DeadheadPreviewContextResponseT | null = rawData\n        ? {\n              ...rawData,\n              stops: rawData.stops.map((stop, index) => {\n                  let fakeId: ContextRouteStopFakeIdT;\n\n                  // first stop is always the pickup stop\n                  if (index === 0) {\n                      fakeId = meta.pickupStopFakeId || generatePointFakeId('added-by-backend');\n                  } else {\n                      const hash = getContextRouteStopAddressHash({\n                          latitude: stop.address?.latitude,\n                          longitude: stop.address?.longitude,\n                      });\n\n                      fakeId = meta.fakeIdByHash[hash] || generatePointFakeId('added-by-backend');\n                  }\n\n                  return {\n                      ...stop,\n                      fakeId,\n                  };\n              }),\n          }\n        : null;\n\n    yield put(previewContextRequestSuccess({ response: data }));\n    return rawData;\n}\n\nfunction* changeDeadheadQueueWorker(action: ReturnType<typeof changeDeadheadContext>): WrapGeneratorT<void> {\n    const event = action.payload;\n\n    let context: ReturnType<typeof selectDeadheadContext> = yield select(selectDeadheadContext);\n\n    const prevDeadheadInitContextQuery: ReturnType<typeof selectDeadheadInitContextQuery> = yield select(\n        selectDeadheadInitContextQuery,\n    );\n\n    const deadheadInitContextQuery = modifyDeadheadInitContextQuery(prevDeadheadInitContextQuery, event);\n\n    yield put(setContextQuery({ query: deadheadInitContextQuery }));\n\n    if (!validateDeadheadInitContextQuery(deadheadInitContextQuery)) {\n        yield put(resetContext());\n        yield put(resetPreviewContext());\n        yield put(resetPreviewContextQuery());\n        return;\n    }\n\n    // because after the context is recreated - context preview reset\n    const previewContextBeforeModify: ReturnType<typeof selectDeadheadPreviewResponse> = yield select(\n        selectDeadheadPreviewResponse,\n    );\n\n    const isSameDeadheadInitContextQuery = isEqual(prevDeadheadInitContextQuery, deadheadInitContextQuery);\n\n    const isEmptyContext = !context?.contextId;\n\n    const isExpiredContext = context?.expireTime ? context.expireTime < Date.now() : false;\n\n    let isSameContext = true;\n\n    const shouldInitContext = isEmptyContext || !isSameDeadheadInitContextQuery || isExpiredContext;\n    if (shouldInitContext && deadheadInitContextQuery && validateDeadheadInitContextQuery(deadheadInitContextQuery)) {\n        context = yield* initDeadheadContextSaga(deadheadInitContextQuery);\n        yield put(resetPreviewContext());\n        isSameContext = false;\n    }\n\n    const prevDeadheadPreviewQuery: ReturnType<typeof selectDeadheadPreviewQuery> = yield select(\n        selectDeadheadPreviewQuery,\n    );\n\n    const deadheadPreviewQuery = modifyDeadheadPreviewQuery(prevDeadheadPreviewQuery, event, context);\n    yield put(setPreviewQuery({ query: deadheadPreviewQuery }));\n\n    const isSameDeadheadPreviewQuery = isEqual(prevDeadheadPreviewQuery, deadheadPreviewQuery);\n\n    const fakeIdByHash = collectFakeIdByHashFromInitContextQuery(deadheadInitContextQuery);\n\n    const shouldPreviewDeadheadContext = !isSameDeadheadPreviewQuery || !isSameContext;\n    if (\n        context &&\n        shouldPreviewDeadheadContext &&\n        deadheadPreviewQuery &&\n        validateDeadheadPreviewQuery(deadheadPreviewQuery)\n    ) {\n        yield* previewDeadheadContextSaga(context.contextId, deadheadPreviewQuery, {\n            fakeIdByHash,\n            pickupStopFakeId: (deadheadInitContextQuery as RawDeadheadInitContextQueryT)?.stops?.[0]?.fakeId || null,\n        });\n    }\n\n    const previewContextAfterModify: ReturnType<typeof selectDeadheadPreviewResponse> = yield select(\n        selectDeadheadPreviewResponse,\n    );\n\n    deadheadCreationQueryModifyChannel.emit({\n        correctedStops: previewContextAfterModify?.stops,\n        addedStopFakeIds: getAddedStopFakeIds(previewContextBeforeModify, previewContextAfterModify),\n        deletedStopFakeIds: getDeletedStopFakeIds(previewContextBeforeModify, previewContextAfterModify),\n        orderStopFakeIds: getOrderStopFakeIds(previewContextAfterModify),\n    });\n}\n\nfunction* watchDeadheadQueueSaga(): WrapGeneratorT<void> {\n    const buffer = buffers.fixed<ReturnType<typeof changeDeadheadContext>>(100);\n    const channel = yield actionChannel(changeDeadheadContext.type, buffer);\n\n    while (true) {\n        const action: ReturnType<typeof changeDeadheadContext> = yield take(channel);\n\n        yield put(setIsApplyingContextChanges(true));\n\n        yield* changeDeadheadQueueWorker(action);\n\n        if (buffer.isEmpty()) {\n            yield put(setIsApplyingContextChanges(false));\n        }\n    }\n}\n\nexport function* deadheadCreationSaga(): WrapGeneratorT<void> {\n    yield takeEvery(applyContextRequest, applyDeadheadContextSaga);\n    yield fork(watchDeadheadQueueSaga);\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"BaseCarrierContractsTable__table__header___UZqRc\",\"table__header--name\":\"BaseCarrierContractsTable__table__header--name___pV63s\",\"table__header--status\":\"BaseCarrierContractsTable__table__header--status___gH6A4\",\"table__header--expire-date\":\"BaseCarrierContractsTable__table__header--expire-date___k4LVJ\",\"table__column\":\"BaseCarrierContractsTable__table__column___iez6e\",\"table__column--name\":\"BaseCarrierContractsTable__table__column--name___lxDUL\",\"table__column--status\":\"BaseCarrierContractsTable__table__column--status___Vr1ty\",\"table__column--expire-date\":\"BaseCarrierContractsTable__table__column--expire-date___A7JNl\",\"table__column--reviewed\":\"BaseCarrierContractsTable__table__column--reviewed___DZhP0\",\"table__column--uploaded\":\"BaseCarrierContractsTable__table__column--uploaded___Vtyek\",\"table__column--actions\":\"BaseCarrierContractsTable__table__column--actions___lUmE4\",\"fadeIn\":\"BaseCarrierContractsTable__fadeIn___dXjdc\",\"blinking\":\"BaseCarrierContractsTable__blinking___eZXYE\"};","// eslint-disable-next-line no-restricted-exports\nexport { default, initialBrokerOrderDetailsState } from './slice';\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"TruckRateModeDropdown__option___UpAYl\",\"fadeIn\":\"TruckRateModeDropdown__fadeIn___w9hmy\",\"blinking\":\"TruckRateModeDropdown__blinking___Lmsi8\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"LaneDropdownInput__fadeIn___M4HS4\",\"blinking\":\"LaneDropdownInput__blinking___pMqGH\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchBrokerTourStats,\n    fetchBrokerTourStatsBegin,\n    fetchBrokerTourStatsError,\n    fetchBrokerTourStatsSuccess,\n} from './slice';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectBrokerTourStatsRequest } from './selectors';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\nfunction* fetchBrokerTourStatsSaga(): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectBrokerTourStatsRequest> = yield select(selectBrokerTourStatsRequest);\n\n    const isNeedRequest = checkNeedRequest(requestStatus);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchBrokerTourStatsBegin());\n\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.getBrokerToursStatistic> =\n        yield brokerTranziitApi.getBrokerToursStatistic();\n    if (error) {\n        yield put(fetchBrokerTourStatsError({ error }));\n        return;\n    }\n\n    yield put(fetchBrokerTourStatsSuccess({ statistics: response }));\n}\n\nfunction* brokerTourStatsSaga(): WrapGeneratorT<void> {\n    yield takeEvery([fetchBrokerTourStats.type], fetchBrokerTourStatsSaga);\n}\n\nexport default brokerTourStatsSaga;\n","import i18n from 'i18next';\n\nexport type ConfigT = {\n    mapsApiKey: string;\n    language: string;\n};\n\nexport default {\n    mapsApiKey: window.MAPS_API_KEY,\n    language: i18n.language,\n    region: i18n.language,\n};\n","import * as React from 'react';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport { useTranslation } from 'react-i18next';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport classNames from 'classnames/bind';\nimport styles from './ChangeRateOrContractWarning.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    className?: string;\n};\n\nconst ChangeRateOrContractWarning: React.FC<PropsT> = React.memo((props) => {\n    const { className, onClose } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Alert\n            className={className}\n            icon={<InfoIcon fillColor={StyleGuideColorsEnum.white} />}\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.orange}\n            onClose={onClose}\n        >\n            <div className={cx('inner')}>{t('common:trailers-page.warnings.change-rate-or-contract')}</div>\n        </Alert>\n    );\n});\n\nexport default ChangeRateOrContractWarning;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './CompletedPartnerCarrierContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst CompletedPartnerCarrierContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-carrier-contract-completed\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default CompletedPartnerCarrierContractCard;\n","// extracted by mini-css-extract-plugin\nexport default {};","import classNames from 'classnames/bind';\nimport styles from './MapFooter.scss';\nimport * as React from 'react';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst MapFooter: React.FC<PropsT> = React.memo((props) => {\n    const { className, children } = props;\n\n    return <div className={cs(cx('map-footer'), className)}>{children}</div>;\n});\n\nexport default MapFooter;\n","import { DictDocumentByIdT, DictDocumentByTypeT, DictDocumentT } from './models';\nimport { ApiPartnerTypeT } from 'common/utils/api/models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const DOCUMENTS_DICT_REQUEST = 'common/documents-dict/DOCUMENTS_DICT_REQUEST';\nexport const DOCUMENTS_DICT_REQUEST_BEGIN = 'common/documents-dict/DOCUMENTS_DICT_REQUEST_BEGIN';\nexport const DOCUMENTS_DICT_REQUEST_SUCCESS = 'common/documents-dict/DOCUMENTS_DICT_REQUEST_SUCCESS';\nexport const DOCUMENTS_DICT_REQUEST_ERROR = 'common/documents-dict/DOCUMENTS_DICT_REQUEST_ERROR';\n\nexport type FetchDocumentsDictActionT = {\n    type: typeof DOCUMENTS_DICT_REQUEST;\n    partnerType: ApiPartnerTypeT | null;\n};\n\nexport type FetchDocumentsDictBeginActionT = {\n    type: typeof DOCUMENTS_DICT_REQUEST_BEGIN;\n    partnerType: ApiPartnerTypeT;\n};\n\nexport type FetchDocumentsDictSuccessActionT = {\n    type: typeof DOCUMENTS_DICT_REQUEST_SUCCESS;\n    documentsList: DictDocumentT[];\n    partnerType: ApiPartnerTypeT;\n};\n\nexport type FetchDocumentsDictErrorActionT = {\n    type: typeof DOCUMENTS_DICT_REQUEST_ERROR;\n    partnerType: ApiPartnerTypeT;\n    error: Error;\n};\n\nexport type DocumentsDictActionT =\n    | FetchDocumentsDictActionT\n    | FetchDocumentsDictBeginActionT\n    | FetchDocumentsDictSuccessActionT\n    | FetchDocumentsDictErrorActionT;\n\nexport type PartnerTypeDocumentsStateT = {\n    byId: DictDocumentByIdT;\n    byType: DictDocumentByTypeT;\n    ids: DictDocumentFakeIdT[];\n    fetchRequest: RequestStatusT;\n};\n\nexport type DocumentsDictStateT = Partial<Record<ApiPartnerTypeT, PartnerTypeDocumentsStateT>>;\n","import { put, select } from 'redux-saga/effects';\nimport { fetchCountriesDictBegin, fetchCountriesDictError, fetchCountriesDictSuccess } from './actions';\nimport { COUNTRIES_DICT_REQUEST } from './types';\nimport { selectCountriesDictRequest } from './selectors';\nimport { byAlphabetASC, getCountryCompByName } from 'common/utils/sort';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { semaphoreSaga } from 'common/utils/semaphore-saga';\n\nfunction* fetchCountriesDictSaga(): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectCountriesDictRequest> = yield select(selectCountriesDictRequest);\n    if (requestStatus.ok || requestStatus.loading) {\n        return;\n    }\n\n    yield put(fetchCountriesDictBegin());\n\n    const [error, countriesDict]: ReturnApiT<typeof commonTranziitApi.getCountries> =\n        yield commonTranziitApi.getCountries();\n\n    const sortedCountriesDict = (countriesDict || []).sort(getCountryCompByName(byAlphabetASC));\n    if (error) {\n        yield put(fetchCountriesDictError(error));\n    } else {\n        yield put(fetchCountriesDictSuccess(sortedCountriesDict));\n    }\n}\n\nfunction* countriesSaga(): WrapGeneratorT<void> {\n    yield semaphoreSaga(COUNTRIES_DICT_REQUEST, fetchCountriesDictSaga);\n}\n\nexport default countriesSaga;\n","import * as React from 'react';\nimport { ApiShipperContractStatusT, ShipperContractStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiShipperContractStatusT | null | undefined;\n};\n\nexport const SHIPPER_CONTRACT_STATUS_T_MAP: Record<ApiShipperContractStatusT, string> = {\n    [ShipperContractStatusEnum.revoked]: 'common:shipper-contract-status.REVOKED',\n    [ShipperContractStatusEnum.expired]: 'common:shipper-contract-status.EXPIRED',\n    [ShipperContractStatusEnum.active]: 'common:shipper-contract-status.ACTIVE',\n};\n\nconst ShipperContractStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(SHIPPER_CONTRACT_STATUS_T_MAP[status]);\n});\n\nexport default ShipperContractStatus;\n","import * as React from 'react';\n\nimport { Route, Switch } from 'react-router-dom';\n\nimport { BrokerToursRoutesEnum } from 'broker-admin/constants';\n\nimport BrokerToursListPage from './BrokerToursListPage/BrokerToursListPage';\nimport BrokerTourDeadheadCreationPage from './BrokerTourDedheadCreationPage/BrokerTourDeadheadCreationPage';\nimport BrokerTourDetailsPage from './BrokerTourDetailsPage/BrokerTourDetailsPage';\n\ntype PropsT = {};\n\nconst BrokerToursPage: React.FC<PropsT> = React.memo(() => {\n    return (\n        <Switch>\n            <Route path={BrokerToursRoutesEnum.brokerTourDeadheadCreation} exact>\n                <BrokerTourDeadheadCreationPage />\n            </Route>\n            <Route path={BrokerToursRoutesEnum.brokerTourDetails}>\n                <BrokerTourDetailsPage />\n            </Route>\n            <Route path=\"*\">\n                <BrokerToursListPage />\n            </Route>\n        </Switch>\n    );\n});\n\nexport default BrokerToursPage;\n","import requestStatus from 'common/utils/request-status';\n\nimport {\n    FETCH_RFQ_STATS_REQUEST_BEGIN,\n    FETCH_RFQ_STATS_REQUEST_ERROR,\n    FETCH_RFQ_STATS_REQUEST_SUCCESS,\n    PartnerRFQStatsStateT,\n    RESET,\n    RFQStatsActionT,\n    RFQStatsStateT,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\n\nexport const initialPartnerState: PartnerRFQStatsStateT = {\n    query: null,\n    stats: null,\n};\n\nconst initialState: RFQStatsStateT = {\n    fetchRequest: requestStatus.initial,\n    byId: {},\n};\n\nexport default (state = initialState, action: RFQStatsActionT | DestroySessionActionT): RFQStatsStateT => {\n    switch (action.type) {\n        case FETCH_RFQ_STATS_REQUEST_BEGIN: {\n            const { query } = action;\n\n            const partnerState = state.byId[query.companyId] || initialPartnerState;\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n                byId: {\n                    ...state.byId,\n                    [query.companyId]: {\n                        ...partnerState,\n                        query,\n                    },\n                },\n            };\n        }\n        case FETCH_RFQ_STATS_REQUEST_SUCCESS: {\n            const { query, stats } = action;\n\n            const partnerState = state.byId[query.companyId] || initialPartnerState;\n            if (!checkIsSameQuery(partnerState.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.ok,\n                byId: {\n                    ...state.byId,\n                    [query.companyId]: {\n                        ...partnerState,\n                        stats,\n                    },\n                },\n            };\n        }\n\n        case FETCH_RFQ_STATS_REQUEST_ERROR: {\n            const { query, error } = action;\n\n            const partnerState = state.byId[query.companyId] || initialPartnerState;\n            if (!checkIsSameQuery(partnerState.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(error),\n                byId: {\n                    ...state.byId,\n                    [query.companyId]: {\n                        ...partnerState,\n                        stats: null,\n                    },\n                },\n            };\n        }\n\n        case RESET: {\n            return {\n                ...initialState,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\n\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { useLocation } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport AuthLayout from '../AuthLayout/AuthLayout';\n\nimport styles from './SignInPage.scss';\n\nimport { QueryKeysEnum } from '../../constants';\nimport { signIn } from 'common/store/auth/actions';\nimport { selectSignInRequestStatus } from 'common/store/auth/selectors';\nimport Notification from './Notification/Notification';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport validateForm from './validate-form';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { parseQuery } from 'common/utils/query';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport asyncValidate from './async-validations';\nimport useAsyncFormErrorMessage from 'common/utils/hooks/useAsyncFormErrorMessage';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport RedirectSignedUser from 'common/components/RedirectSignedUser/RedirectSignedUser';\nimport { authApi } from 'common/utils/api/auth/factory';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst INITIAL_VALUES = {\n    [FieldsEnum.email]: '',\n    [FieldsEnum.password]: '',\n};\n\ntype QueryT = {\n    [QueryKeysEnum.returnUrl]: string;\n};\n\ntype NotificationT = {\n    title: string;\n    message: string;\n};\n\nconst SignInPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const requestStatus = useSelector(selectSignInRequestStatus);\n    const location = useLocation();\n    const query = useQuery<QueryT>();\n    const [notification, showNotification] = React.useState<NotificationT | null>(null);\n\n    React.useEffect(() => {\n        const searchParams = parseQuery(location.search);\n\n        if (searchParams[QueryKeysEnum.successSignUp]) {\n            showNotification({\n                title: t('common:sign-in.check-inbox-notification.title'),\n                message: t('common:sign-in.check-inbox-notification.message'),\n            });\n        }\n\n        if (searchParams[QueryKeysEnum.successChangePassword]) {\n            showNotification({\n                title: t('common:sign-in.success-change-password.title'),\n                message: t('common:sign-in.success-change-password.message'),\n            });\n        }\n    }, [location, t]);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const initialErrors = React.useMemo(() => {\n        return validateForm(t, INITIAL_VALUES);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [t, INITIAL_VALUES]);\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues: INITIAL_VALUES,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const email = simpleStringFormatter(values[FieldsEnum.email]);\n            const password = simpleStringFormatter(values[FieldsEnum.password]);\n            const returnUrl = query[QueryKeysEnum.returnUrl] || null;\n            dispatch(signIn(email, password, returnUrl));\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(requestStatus);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [requestStatus.error]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    const emailAsyncError = useAsyncFormErrorMessage(asyncFormErrors[FieldsEnum.email]);\n    const passwordAsyncError = useAsyncFormErrorMessage(asyncFormErrors[FieldsEnum.password]);\n\n    return (\n        <>\n            <RedirectSignedUser />\n            <AuthLayout title={t('common:sign-in.title')} testSelector=\"sign-in-page\">\n                <PageTitle title={t('common:page-titles.sign-in')} />\n                {notification && (\n                    <div className={cx('notification')}>\n                        <Notification\n                            title={notification.title}\n                            message={notification.message}\n                            testSelector=\"notification\"\n                        />\n                    </div>\n                )}\n                <form onSubmit={formik.handleSubmit}>\n                    <div className={cx('fields')}>\n                        <div className={cx('input')}>\n                            <FormikField\n                                name={FieldsEnum.email}\n                                error={formik.errors[FieldsEnum.email]}\n                                meta={formik.getFieldMeta(FieldsEnum.email)}\n                                label={t('common:sign-in.fields.email.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                                asyncError={emailAsyncError}\n                                resetAsyncError={resetAsyncFormErrors}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.email}\n                                        placeholder={t('common:sign-in.fields.email.placeholder')}\n                                        value={formik.values[FieldsEnum.email]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                    />\n                                )}\n                            </FormikField>\n                        </div>\n                        <div className={cx('input')}>\n                            <FormikField\n                                name={FieldsEnum.password}\n                                error={formik.errors[FieldsEnum.password]}\n                                meta={formik.getFieldMeta(FieldsEnum.password)}\n                                label={t('common:sign-in.fields.password.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                                asyncError={passwordAsyncError}\n                                resetAsyncError={resetAsyncFormErrors}\n                            >\n                                {(props) => (\n                                    <Input\n                                        type=\"password\"\n                                        name={FieldsEnum.password}\n                                        placeholder={t('common:sign-in.fields.password.placeholder')}\n                                        value={formik.values[FieldsEnum.password]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                    />\n                                )}\n                            </FormikField>\n                        </div>\n                    </div>\n                    <Button\n                        theme={ButtonThemeEnum.primary}\n                        isLoading={requestStatus.loading}\n                        testSelector=\"sign-in\"\n                        type=\"submit\"\n                        className={cx('submit')}\n                    >\n                        {t('common:sign-in.submit')}\n                    </Button>\n                    <div className={cx('footer-links')}>\n                        {t('common:sign-in.links.sign-up')}\n                        <span className={cx('footer-links__link')}>\n                            <Link theme={LinkThemeEnum.boldAzul} testSelector=\"sign-up\" to={authApi.createSignUpUrl()}>\n                                {t('common:sign-in.links.sign-up-link')}\n                            </Link>\n                        </span>\n                    </div>\n                    <div className={cx('footer-links')}>\n                        <Link\n                            theme={LinkThemeEnum.boldAzul}\n                            testSelector=\"forgot-password\"\n                            to={authApi.createForgotPasswordUrl()}\n                        >\n                            {t('common:sign-in.links.forgot-password')}\n                        </Link>\n                    </div>\n                </form>\n            </AuthLayout>\n        </>\n    );\n});\n\nexport default SignInPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"avatar\":\"AccountPreview__avatar___lC6ai\",\"full-name\":\"AccountPreview__full-name___fFgff\",\"email\":\"AccountPreview__email___kopJl\",\"time\":\"AccountPreview__time___vFjjq\",\"sign-out\":\"AccountPreview__sign-out___n91jb\",\"sign-out__icon\":\"AccountPreview__sign-out__icon___hSK3D\",\"link--active\":\"AccountPreview__link--active___DWwu7\",\"icon\":\"AccountPreview__icon___r5A3d\",\"fadeIn\":\"AccountPreview__fadeIn___JM8s8\",\"blinking\":\"AccountPreview__blinking___JNHLW\"};","import { CompanyStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { createSelector } from 'reselect';\nimport { VerificationProblemsT } from 'common/store/company/models';\nimport { checkVerificationProblems } from 'common/store/company/utils/check-verification-problems';\n\nexport const selectCurrentCompanyRequestStatus = (state: SharableStateT): CompanyStateT['currentCompanyRequest'] =>\n    state.company.currentCompanyRequest;\n\nexport const selectCurrentCompany = (state: SharableStateT): CompanyStateT['currentCompany'] | null =>\n    state.company.currentCompany || null;\n\nexport const selectUpdateCompanyRequestStatus = (state: SharableStateT): CompanyStateT['updateCompanyRequest'] =>\n    state.company.updateCompanyRequest;\n\nexport const selectCompanyVerificationProblems = createSelector(\n    selectCurrentCompany,\n    (currentCompany): VerificationProblemsT => {\n        return checkVerificationProblems(currentCompany);\n    },\n);\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"MultiPointOrderDraftDetails__inner___qv5Tx\",\"row\":\"MultiPointOrderDraftDetails__row___FmK9v\",\"column--isLeftColumn\":\"MultiPointOrderDraftDetails__column--isLeftColumn___Z5SBR\",\"column--isRightColumn\":\"MultiPointOrderDraftDetails__column--isRightColumn___hStpB\",\"column--isWeight\":\"MultiPointOrderDraftDetails__column--isWeight___RrEOy\",\"column--isDirection\":\"MultiPointOrderDraftDetails__column--isDirection___sk8os\",\"direction\":\"MultiPointOrderDraftDetails__direction___AZ8KF\",\"placeholder\":\"MultiPointOrderDraftDetails__placeholder___CZx8y\",\"placeholder__icon\":\"MultiPointOrderDraftDetails__placeholder__icon___OU3kK\",\"placeholder__content\":\"MultiPointOrderDraftDetails__placeholder__content___P0LUI\",\"fadeIn\":\"MultiPointOrderDraftDetails__fadeIn___RMocD\",\"blinking\":\"MultiPointOrderDraftDetails__blinking___htSXA\"};","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"EditContactDetailsSidebarContent__form___dFDaL\",\"actions\":\"EditContactDetailsSidebarContent__actions___liwqr\",\"actions__action\":\"EditContactDetailsSidebarContent__actions__action___GOP22\",\"actions__action--isDiscard\":\"EditContactDetailsSidebarContent__actions__action--isDiscard___ZBX7h\",\"section__title\":\"EditContactDetailsSidebarContent__section__title___Gs4is\",\"section__block\":\"EditContactDetailsSidebarContent__section__block___vAFQL\",\"field--formal\":\"EditContactDetailsSidebarContent__field--formal___AsA2z\",\"field--first-name\":\"EditContactDetailsSidebarContent__field--first-name___G9d3W\",\"field--last-name\":\"EditContactDetailsSidebarContent__field--last-name___aMDsJ\",\"field--desktop-phone\":\"EditContactDetailsSidebarContent__field--desktop-phone___IDr3j\",\"field--mobile-phone\":\"EditContactDetailsSidebarContent__field--mobile-phone___kYUNJ\",\"field--fax-number\":\"EditContactDetailsSidebarContent__field--fax-number___h0N88\",\"field--email\":\"EditContactDetailsSidebarContent__field--email___O98HU\",\"field--birthday\":\"EditContactDetailsSidebarContent__field--birthday___epOPp\",\"field--country\":\"EditContactDetailsSidebarContent__field--country____ApTG\",\"field--language\":\"EditContactDetailsSidebarContent__field--language___xaQST\",\"fields-group\":\"EditContactDetailsSidebarContent__fields-group___XXenE\",\"fields-group__field\":\"EditContactDetailsSidebarContent__fields-group__field___zqN1s\",\"fields-group__field--three\":\"EditContactDetailsSidebarContent__fields-group__field--three___tjJ0W\",\"fields-group__field--two\":\"EditContactDetailsSidebarContent__fields-group__field--two___h6M0B\",\"checkbox__label\":\"EditContactDetailsSidebarContent__checkbox__label___gzb0O\",\"radio\":\"EditContactDetailsSidebarContent__radio___JsvB8\",\"media\":\"EditContactDetailsSidebarContent__media___hvUxn\",\"media__input\":\"EditContactDetailsSidebarContent__media__input___fERIl\",\"media__icon\":\"EditContactDetailsSidebarContent__media__icon___o1kiT\",\"fadeIn\":\"EditContactDetailsSidebarContent__fadeIn___DQgJ8\",\"blinking\":\"EditContactDetailsSidebarContent__blinking___v95c8\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"CommonDocumentParamsDetails__fadeIn___BGv3l\",\"blinking\":\"CommonDocumentParamsDetails__blinking___snTjo\"};","import * as React from 'react';\nimport { ApiTourPaperT, PartnerTypeEnum } from 'common/utils/api/models';\nimport PapersGrid from 'common/components/papers/PapersGrid/PapersGrid';\nimport PaperLayout from 'common/components/papers/PaperLayout/PaperLayout';\nimport { logWarning } from 'common/utils/logger';\nimport { selectPapersEditByPaperIdState, selectTourChangesById } from 'common/store/papers-edit/selectors';\nimport { useSelector } from 'react-redux';\nimport { PapersEmptyPlaceholder } from 'common/components/papers/message-placeholders/PapersEmptyPlaceholder/PapersEmptyPlaceholder';\nimport { getVisibleOptimisticPapers } from 'common/components/papers/utils/getVisibleOptimisticPapers';\nimport { checkIsPDFFile } from 'common/utils/file-name';\n\ntype PropsT = {\n    attachedPapers: Array<ApiTourPaperT> | null;\n    tourId: TourIdT | null;\n    onOpenUserDetails?: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n    onOpenDriverDetails?: (params: { driverId: DriverIdT; partnerId: PartnerIdT }) => void;\n    getTourPaperThumbnailUrl: (tourId: TourIdT | null, paperId: PaperIdT | null) => string | null;\n    onOpenGalleryTourPaper: (tourId: TourIdT, paperId: PaperIdT) => void;\n    onDownloadTourPaper: (tourId: TourIdT, paperId: PaperIdT) => void;\n    onDeleteTourPaper?: (tourId: TourIdT, paperId: PaperIdT) => void;\n    isHideUserInfo?: boolean;\n};\n\nconst TourPapersTabContent: React.FC<PropsT> = React.memo((props) => {\n    const {\n        attachedPapers,\n        tourId,\n        getTourPaperThumbnailUrl,\n        onOpenGalleryTourPaper,\n        onDownloadTourPaper,\n        onDeleteTourPaper,\n        onOpenUserDetails,\n        onOpenDriverDetails,\n        isHideUserInfo,\n    } = props;\n\n    const handleOpenGallery = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT | null) => {\n            if (!tourId || !paperId) {\n                logWarning('failed open gallery paper, empty tourId or paperId');\n                return;\n            }\n            onOpenGalleryTourPaper(tourId, paperId);\n        },\n        [tourId, onOpenGalleryTourPaper],\n    );\n\n    const handleDownload = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT | null) => {\n            if (!tourId || !paperId) {\n                logWarning('failed download paper, empty tourId or paperId');\n                return;\n            }\n            onDownloadTourPaper(tourId, paperId);\n        },\n        [tourId, onDownloadTourPaper],\n    );\n\n    const handleDelete = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT | null) => {\n            if (!tourId || !paperId) {\n                logWarning('failed delete paper, empty tourId or paperId');\n                return;\n            }\n            onDeleteTourPaper?.(tourId, paperId);\n        },\n        [tourId, onDeleteTourPaper],\n    );\n\n    const tourChanges = useSelector(selectTourChangesById(tourId));\n    const papersEditStateById = useSelector(selectPapersEditByPaperIdState);\n\n    const visibleOptimisticPapers = React.useMemo(() => {\n        return getVisibleOptimisticPapers({\n            optimisticPapers: tourChanges?.optimisticPapers,\n            entityPapers: attachedPapers,\n        });\n    }, [tourChanges?.optimisticPapers, attachedPapers]);\n\n    if (!attachedPapers?.length && !tourChanges?.optimisticPapers?.length) {\n        return <PapersEmptyPlaceholder />;\n    }\n\n    return (\n        <PapersGrid>\n            {attachedPapers?.map((paper) => {\n                const thumbnailUrl = getTourPaperThumbnailUrl(tourId, paper.id || null);\n                const alt = paper.comment ? `${paper.comment} ${paper.createDate || ''}` : null;\n                if (!paper.id) {\n                    return null;\n                }\n\n                const paperEditState = papersEditStateById[paper.id];\n\n                const isPdfPaper = checkIsPDFFile(paper.fileName);\n\n                return (\n                    <PaperLayout\n                        key={paper.id}\n                        paperId={paper.id}\n                        imageSrc={thumbnailUrl}\n                        imageAlt={alt}\n                        date={paper.createDate || null}\n                        userName={paper.createdByName || null}\n                        userId={paper.createdById || null}\n                        createdByRole={paper.createdByRole || null}\n                        originalFileName={paper.fileName || null}\n                        onClick={isPdfPaper ? handleDownload : handleOpenGallery}\n                        onOpenUserDetails={onOpenUserDetails}\n                        onOpenDriverDetails={onOpenDriverDetails}\n                        onDownload={handleDownload}\n                        onDelete={onDeleteTourPaper && handleDelete}\n                        deleteUnavailableReason={paper?.deleteUnavailableReason || null}\n                        isDeleting={paperEditState?.deleteRequest?.loading}\n                        isHideUserInfo={isHideUserInfo}\n                    />\n                );\n            })}\n            {visibleOptimisticPapers.map((optimisticPaper) => {\n                return (\n                    <PaperLayout\n                        key={optimisticPaper.fakeId}\n                        paperId={optimisticPaper.fakeId}\n                        isUploading\n                        isHideUserInfo={isHideUserInfo}\n                    />\n                );\n            })}\n        </PapersGrid>\n    );\n});\n\nexport { TourPapersTabContent };\n","// extracted by mini-css-extract-plugin\nexport default {\"left-card-layout\":\"LeftCardLayout__left-card-layout___7cjMF\",\"left-card-layout__left\":\"LeftCardLayout__left-card-layout__left___lCcMy\",\"left-card-layout__right\":\"LeftCardLayout__left-card-layout__right___OdAgr\",\"fadeIn\":\"LeftCardLayout__fadeIn___xXdZC\",\"blinking\":\"LeftCardLayout__blinking___LGK6S\"};","import { useCheckOpenedSidebar, useOpenedSidebar, createOpenSidebarHook } from 'common/layouts/SideBars/hooks';\nimport { ShipperSidebarDataT } from 'shipper/layouts/SideBars/models';\nimport { SidebarQueryKeysEnum } from 'common/layouts/SideBars/models';\n\nexport const useOpenLeftSidebar = createOpenSidebarHook<ShipperSidebarDataT>(SidebarQueryKeysEnum.leftSidebar);\n\nexport const useOpenRightSidebar = createOpenSidebarHook<ShipperSidebarDataT>(SidebarQueryKeysEnum.rightSidebar);\n\nexport { useOpenedSidebar, useCheckOpenedSidebar };\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { ApiTenderInfoT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport type TendersStateT = {\n    downloadRequestStatus: RequestStatusT;\n    importRequestStatus: RequestStatusT;\n    fetchStatusRequestStatus: RequestStatusT;\n    deleteRequestStatus: RequestStatusT;\n    lastStatus: ApiTenderInfoT | null;\n};\n\nconst initialState: TendersStateT = {\n    downloadRequestStatus: requestStatus.initial,\n    importRequestStatus: requestStatus.initial,\n    fetchStatusRequestStatus: requestStatus.initial,\n    deleteRequestStatus: requestStatus.initial,\n    lastStatus: null,\n};\n\nexport const tendersSlice = createSlice({\n    name: 'tenders',\n    initialState,\n    reducers: {\n        downloadTenderXLSFile: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            // nothing - handled by saga\n        },\n        downloadTenderXLSFileBegin: (state) => {\n            state.downloadRequestStatus = requestStatus.loading;\n        },\n        downloadTenderXLSFileSuccess: (state) => {\n            state.downloadRequestStatus = requestStatus.ok;\n        },\n        downloadTenderXLSFileError: (state, action: PayloadAction<{ error: Error }>) => {\n            state.downloadRequestStatus = requestStatus.setError(action.payload.error);\n        },\n        importTenderXLSFile: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{ file: File }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        importTenderXLSFileBegin: (state) => {\n            state.importRequestStatus = requestStatus.loading;\n        },\n        importTenderXLSFileSuccess: (state, action: PayloadAction<{ status: ApiTenderInfoT | null }>) => {\n            state.importRequestStatus = requestStatus.ok;\n            state.lastStatus = action.payload.status;\n        },\n        importTenderXLSFileError: (state, action: PayloadAction<{ error: Error }>) => {\n            state.importRequestStatus = requestStatus.setError(action.payload.error);\n        },\n        fetchTenderStatus: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            // nothing - handled by saga\n        },\n        fetchTenderStatusBegin: (state) => {\n            state.fetchStatusRequestStatus = requestStatus.loading;\n        },\n        fetchTenderStatusSuccess: (state, action: PayloadAction<{ status: ApiTenderInfoT | null }>) => {\n            state.fetchStatusRequestStatus = requestStatus.ok;\n            state.lastStatus = action.payload.status;\n        },\n        fetchTenderStatusError: (state, action: PayloadAction<{ error: Error }>) => {\n            state.fetchStatusRequestStatus = requestStatus.setError(action.payload.error);\n        },\n        deleteTender: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            // nothing - handled by saga\n        },\n        deleteTenderBegin: (state) => {\n            state.deleteRequestStatus = requestStatus.loading;\n        },\n        deleteTenderSuccess: (state) => {\n            state.deleteRequestStatus = requestStatus.ok;\n            state.lastStatus = null;\n        },\n        deleteTenderError: (state, action: PayloadAction<{ error: Error }>) => {\n            state.deleteRequestStatus = requestStatus.setError(action.payload.error);\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    downloadTenderXLSFile,\n    downloadTenderXLSFileBegin,\n    downloadTenderXLSFileSuccess,\n    downloadTenderXLSFileError,\n    importTenderXLSFile,\n    importTenderXLSFileBegin,\n    importTenderXLSFileSuccess,\n    importTenderXLSFileError,\n    fetchTenderStatus,\n    fetchTenderStatusBegin,\n    fetchTenderStatusSuccess,\n    fetchTenderStatusError,\n    deleteTender,\n    deleteTenderBegin,\n    deleteTenderSuccess,\n    deleteTenderError,\n} = tendersSlice.actions;\n\nexport default tendersSlice.reducer;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"CommonDocumentParamsDetailsForm__fadeIn___hwgS8\",\"blinking\":\"CommonDocumentParamsDetailsForm__blinking___jU1a7\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst SplitIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, className } = props;\n\n    return (\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    d=\"M16 4h-4.5l1.717 1.718-2.16 2.16 1.066 1.064 2.16-2.16L16 8.5V4zM4 4v4.5l1.718-1.718 3.532 3.525V16h1.5V9.693L6.782 5.718 8.5 4H4z\"\n                    fill={fillColor}\n                />\n            </g>\n        </svg>\n    );\n};\n\nSplitIcon.displayName = 'SplitIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.blazeOrange,\n};\n\nexport { storyProps };\nexport default SplitIcon;\n","import { FieldsEnum, FormValuesT } from './constants';\n\nconst getInitialValues = (): FormValuesT => {\n    return {\n        [FieldsEnum.reason]: '',\n    };\n};\n\nexport default getInitialValues;\n","import { StateT } from 'broker-admin/store/models';\nimport { initialDeadheadCreationState } from './slice';\n\nexport const selectDeadheadCreation = (state: StateT) => state.deadheadCreation || initialDeadheadCreationState;\n\nexport const selectDeadheadInitContextQuery = (state: StateT) =>\n    (state.deadheadCreation || initialDeadheadCreationState).contextQuery;\n\nexport const selectDeadheadContextRequest = (state: StateT) =>\n    (state.deadheadCreation || initialDeadheadCreationState).contextRequest;\n\nexport const selectDeadheadContext = (state: StateT) =>\n    (state.deadheadCreation || initialDeadheadCreationState).contextResponse;\n\nexport const selectDeadheadApplyRequest = (state: StateT) =>\n    (state.deadheadCreation || initialDeadheadCreationState).applyContextRequest;\n\nexport const selectDeadheadPreviewQuery = (state: StateT) =>\n    (state.deadheadCreation || initialDeadheadCreationState).previewQuery;\n\nexport const selectDeadheadPreviewRequest = (state: StateT) =>\n    (state.deadheadCreation || initialDeadheadCreationState).previewRequest;\n\nexport const selectDeadheadPreviewResponse = (state: StateT) =>\n    (state.deadheadCreation || initialDeadheadCreationState).previewResponse;\n\nexport const selectIsApplyingContextChanges = (state: StateT) =>\n    (state.deadheadCreation || initialDeadheadCreationState).isApplyingContextChanges;\n","import * as React from 'react';\nimport { ApiDictCarrierAdditionalServiceGroupT, ApiTrailerDictTypeT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    category: ApiDictCarrierAdditionalServiceGroupT['category'] | null;\n    trailerType: ApiTrailerDictTypeT['trailerType'] | null;\n};\n\nconst AdditionalServiceGroupLabel: React.FC<PropsT> = React.memo((props) => {\n    const { className, category, trailerType } = props;\n\n    const { t } = useTranslation();\n\n    const groupTitle = React.useMemo(() => {\n        if (category === 'ACCESSORIES') {\n            return t('common:additional-service.groups.accessorials');\n        }\n\n        if (category === 'CARRIER_CERTIFICATIONS') {\n            return t('common:additional-service.groups.carrier');\n        }\n\n        if (category === 'TRAILER_SPECIFICATION') {\n            if (trailerType === 'TILT') {\n                return t('common:additional-service.groups.tilt');\n            }\n\n            if (trailerType === 'BOX') {\n                return t('common:additional-service.groups.box');\n            }\n        }\n\n        return null;\n    }, [t, category, trailerType]);\n\n    return <span className={className}>{groupTitle}</span>;\n});\n\nexport default AdditionalServiceGroupLabel;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    // eslint-disable-next-line react/no-unused-prop-types\n    lat?: number;\n    // eslint-disable-next-line react/no-unused-prop-types\n    lng?: number;\n    isWrong?: boolean;\n    className?: string;\n};\n\nconst OriginPinIcon: React.FC<PropsT> = (props) => {\n    const { className, isWrong } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"45\" viewBox=\"0 0 40 45\" className={className}>\n            <defs>\n                <filter\n                    id=\"5sn0ldxkca\"\n                    width=\"390%\"\n                    height=\"357.8%\"\n                    x=\"-145%\"\n                    y=\"-128.9%\"\n                    filterUnits=\"objectBoundingBox\"\n                >\n                    <feOffset in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n                    <feGaussianBlur in=\"shadowOffsetOuter1\" result=\"shadowBlurOuter1\" stdDeviation=\"15\" />\n                    <feColorMatrix\n                        in=\"shadowBlurOuter1\"\n                        result=\"shadowMatrixOuter1\"\n                        values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n                    />\n                    <feMerge>\n                        <feMergeNode in=\"SourceGraphic\" />\n                    </feMerge>\n                </filter>\n            </defs>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <g>\n                    <g>\n                        <g filter=\"url(#5sn0ldxkca)\" transform=\"translate(-979 -124) translate(569) translate(410 124)\">\n                            <path\n                                fill={isWrong ? StyleGuideColorsEnum.tomatoRed : StyleGuideColorsEnum.dodgerBlue}\n                                d=\"M25 0c8.284 0 15 6.716 15 15v10c0 8.284-6.716 15-15 15l-5 5-5-5C6.716 40 0 33.284 0 25V15C0 6.716 6.716 0 15 0h10z\"\n                            />\n                            <path\n                                fill=\"#FFF\"\n                                fillRule=\"nonzero\"\n                                d=\"M16.082 30l1.138-3.736h6.519L24.89 30H30l-7.291-20h-4.472L11 30h5.082zm6.519-7.459h-4.242l2.114-6.937 2.128 6.937z\"\n                            />\n                        </g>\n                    </g>\n                </g>\n            </g>\n        </svg>\n    );\n};\n\nOriginPinIcon.displayName = 'OriginPinIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default OriginPinIcon;\n","import * as React from 'react';\n\nimport LeftMenuLayout from '../LeftMenuLayout/LeftMenuLayout';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { routesEnum, SettingsRuleRoutesEnum } from 'broker-admin/constants';\n\nimport AccountPage from 'common/layouts/AccountPage/AccountPage';\n\nimport PartnersPage from '../PartnersPage/PartnersPage';\nimport PartnerPage from '../PartnerPage/PartnerPage';\nimport SettingsPage from '../SettingsPage/SettingsPage';\nimport AssetDetailsPage from '../AssetDetailsPage/AssetDetailsPage';\nimport BrokerOrdersPage from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrdersPage';\nimport OrdersPage from '../OrdersPage/OrdersPage';\nimport StatisticsPage from '../StatisticsPage/StatisticsPage';\nimport User from 'common/components/User/User';\nimport Company from 'common/components/Company/Company';\nimport RedirectPendingUser from 'common/components/RedirectPendingUser/RedirectPendingUser';\nimport SpotRequestsPage from '../SpotRequestsPage/SpotRequestsPage';\nimport InvoicesListPage from '../InvoicesListPage/InvoicesListPage';\nimport { QueryKeysEnum } from 'common/constants';\nimport { formatQuery } from 'common/utils/query';\nimport ShipperContractDetailsPage from 'broker-admin/layouts/ShipperContractDetailsPage/ShipperContractDetailsPage';\nimport ShipperContractLanePage from 'broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLanePage';\nimport PriceSettingsRulesPage from 'broker-admin/layouts/PriceSettingsRulesPage/PriceSettingsRulesPage';\nimport BrokerToursPage from 'broker-admin/layouts/BrokerToursPage/BrokerToursPage';\nimport BrokerUsersPage from 'broker-admin/layouts/BrokerUsersPage/BrokerUsersPage';\nimport BrokerRFQsPage from 'broker-admin/layouts/BrokerRFQsPage/BrokerRFQsPage';\n\ntype PropsT = {};\n\nconst ClientPage: React.FC<PropsT> = React.memo(() => {\n    return (\n        <>\n            <User />\n            <RedirectPendingUser />\n            <Company />\n            <LeftMenuLayout>\n                <Switch>\n                    <Route exact path={routesEnum.home}>\n                        <Redirect to={routesEnum.brokerOrders} />\n                    </Route>\n                    <Route path={routesEnum.brokerOrders}>\n                        <BrokerOrdersPage />\n                    </Route>\n                    <Route path={routesEnum.orders}>\n                        <OrdersPage />\n                    </Route>\n                    <Route path={routesEnum.spotRequests}>\n                        <SpotRequestsPage />\n                    </Route>\n                    <Route path={routesEnum.invoices}>\n                        <InvoicesListPage />\n                    </Route>\n                    <Route exact path={routesEnum.partners}>\n                        <PartnersPage />\n                    </Route>\n                    <Route path={routesEnum.partner}>\n                        <PartnerPage />\n                    </Route>\n                    <Route path={routesEnum.shipperContractDetails}>\n                        <ShipperContractDetailsPage />\n                    </Route>\n                    <Route path={routesEnum.shipperLaneDetails}>\n                        <ShipperContractLanePage />\n                    </Route>\n                    <Route path={routesEnum.assetDetails}>\n                        <AssetDetailsPage />\n                    </Route>\n                    <Route path={routesEnum.settings}>\n                        <Switch>\n                            <Route path={SettingsRuleRoutesEnum.ruleDetails}>\n                                <PriceSettingsRulesPage />\n                            </Route>\n                            <Route path=\"*\">\n                                <SettingsPage />\n                            </Route>\n                        </Switch>\n                    </Route>\n                    <Route path={routesEnum.statistics}>\n                        <StatisticsPage />\n                    </Route>\n                    <Route path={routesEnum.brokerTours}>\n                        <BrokerToursPage />\n                    </Route>\n                    <Route path={routesEnum.brokerRFQs}>\n                        <BrokerRFQsPage />\n                    </Route>\n                    <Route path={routesEnum.brokerUsers}>\n                        <BrokerUsersPage />\n                    </Route>\n                    <Route path={routesEnum.account}>\n                        <AccountPage />\n                    </Route>\n                    <Route path=\"*\">\n                        <Redirect\n                            to={{\n                                pathname: routesEnum.notFound,\n                                search: formatQuery({\n                                    [QueryKeysEnum.sourceUrl]: window.location.href,\n                                }),\n                            }}\n                        />\n                    </Route>\n                </Switch>\n            </LeftMenuLayout>\n        </>\n    );\n});\n\nexport default ClientPage;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { initialCountryLegalFormsState } from 'common/store/legal-forms-dict/reducer';\n\nimport { SharableStateT } from '../models';\nimport { CountryLegalFormsDictStateT } from './types';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\nconst selectCountryLegalFormState = (\n    countryCode: CountryCodeT | null,\n    state: SharableStateT,\n): CountryLegalFormsDictStateT => {\n    return state.legalFormsDict[countryCode as CountryCodeT] || initialCountryLegalFormsState;\n};\n\nexport const selectLegalFormsDictById =\n    (countryCode: CountryCodeT | null) =>\n    (state: SharableStateT): CountryLegalFormsDictStateT['byId'] => {\n        return selectCountryLegalFormState(countryCode, state).byId;\n    };\n\nexport const selectLegalFormsDictAllIds =\n    (countryCode: CountryCodeT | null) =>\n    (state: SharableStateT): CountryLegalFormsDictStateT['allIds'] => {\n        return selectCountryLegalFormState(countryCode, state).allIds;\n    };\n\nexport const selectLegalFormsDictRequest =\n    (countryCode: CountryCodeT | null) =>\n    (state: SharableStateT): RequestStatusT => {\n        return selectCountryLegalFormState(countryCode, state).request;\n    };\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n};\n\nconst TeleportIcon: React.FC<PropsT> = (props) => {\n    const { size } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path\n                    d=\"M9.285 18.1v-2.978l-.655.655-1.012-1.012L10 12.382l2.382 2.383-1.012 1.012-.655-.655V18.1h-1.43zm-4.05-5.718L4.223 11.37l.655-.655H1.9v-1.43h2.978l-.655-.655 1.012-1.012L7.618 10l-2.383 2.382zm9.53 0L12.382 10l2.383-2.382 1.012 1.012-.655.655H18.1v1.43h-2.978l.655.655-1.012 1.012zM10 11.192c-.33 0-.612-.117-.844-.348A1.149 1.149 0 0 1 8.81 10c0-.33.116-.612.347-.844.232-.231.513-.347.844-.347.33 0 .612.116.844.347.231.232.347.513.347.844 0 .33-.116.612-.347.844a1.149 1.149 0 0 1-.844.347zm0-3.574L7.618 5.235 8.63 4.223l.655.655V1.9h1.43v2.978l.655-.655 1.012 1.012L10 7.618z\"\n                    fill=\"color(display-p3 0.919 0.571 0.001)\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTeleportIcon.displayName = 'TeleportIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default TeleportIcon;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst TeamDrive2Icon: React.FC<PropsT> = (props) => {\n    const { size, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <path\n                fill={strokeColor}\n                fillRule=\"evenodd\"\n                d=\"M11 2.062A8 8 0 1 1 2.062 11h2.022c.423 2.5 2.405 4.47 4.908 4.899-.03-2.046-.908-3.843-2.233-4.9L11 11l-.001-3.001L15.633 8a6.08 6.08 0 0 0-.984-1.758l-.184-.22A5.955 5.955 0 0 0 11 4.084V2.062zM16 10c-2.732 0-4.945 2.633-4.992 5.899C13.836 15.414 16 12.963 16 10zM6.75 2.75v2.5h2.5v1.5h-2.5v2.5h-1.5v-2.5h-2.5v-1.5h2.5v-2.5h1.5z\"\n            />\n        </svg>\n    );\n};\n\nTeamDrive2Icon.displayName = 'TeamDrive2Icon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default TeamDrive2Icon;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"DropAndHookRoutePointPicker__wrap___IUpWH\",\"field--location\":\"DropAndHookRoutePointPicker__field--location___mWgiJ\",\"geo-suggest\":\"DropAndHookRoutePointPicker__geo-suggest___zQgb3\",\"time-picker\":\"DropAndHookRoutePointPicker__time-picker____83zn\",\"right-node\":\"DropAndHookRoutePointPicker__right-node___as_7R\",\"time-interval\":\"DropAndHookRoutePointPicker__time-interval___kHUpw\",\"time-interval--isHalfOpacity\":\"DropAndHookRoutePointPicker__time-interval--isHalfOpacity___BOJE3\",\"fadeIn\":\"DropAndHookRoutePointPicker__fadeIn___wM4xM\",\"blinking\":\"DropAndHookRoutePointPicker__blinking___L8Lcg\"};","import * as React from 'react';\nimport { ApiUserStatusT, UserStatusEnum } from 'common/utils/api/models';\nimport { PropsT as ColoredStatusLabelPropsT } from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport PillLabel, { colorCodingPillLabelTheme } from 'common/components/PillLabel/PillLabel';\nimport UserStatus from 'common/components/status/UserStatus/UserStatus';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiUserStatusT | null;\n    isSymmetrical?: boolean;\n};\n\nconst DriverStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    if (status === UserStatusEnum.archived) {\n        return (\n            <PillLabel isNoWrap {...restProps} theme={colorCodingPillLabelTheme.normal}>\n                <UserStatus status={status} />\n            </PillLabel>\n        );\n    }\n\n    if (status === UserStatusEnum.pending) {\n        return (\n            <PillLabel isNoWrap {...restProps} theme={colorCodingPillLabelTheme.attention}>\n                <UserStatus status={status} />\n            </PillLabel>\n        );\n    }\n\n    return null;\n});\n\nexport default DriverStatusPill;\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"SignUpForm__title___pTxys\",\"content\":\"SignUpForm__content___EwXxa\",\"error\":\"SignUpForm__error___engAQ\",\"fadeIn\":\"SignUpForm__fadeIn___Ikj4L\",\"blinking\":\"SignUpForm__blinking___F6VgC\"};","import React from 'react';\n\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { EmissionClassEnum } from 'common/constants';\nimport EmissionIcon, { EmissionIconProps } from 'common/icons/EmissionIcon';\nimport { EMISSION_CLASS_MAP } from 'common/components/EmissionClassLabel/EmissionClassLabel';\n\ntype ValueT = EmissionClassEnum | null;\n\ntype PropsT = {\n    placeholder?: string;\n    value: ValueT;\n    onChange: (value: ValueT) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n};\n\ntype EmissionStandardOptionT = {\n    label: string;\n    value: ValueT;\n};\n\nconst ALL_EMISSION_STANDARDS: EmissionClassEnum[] = [EmissionClassEnum.euro5, EmissionClassEnum.euro6];\n\nconst EmissionClassDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { value, placeholder, onChange, hasWarning, hasError, hasChanges, onBlur, onFocus, hasClearControl } = props;\n\n    const options: Array<EmissionStandardOptionT> = React.useMemo(\n        () =>\n            ALL_EMISSION_STANDARDS.map((value) => ({\n                label: EMISSION_CLASS_MAP[value],\n                value,\n            })),\n        [],\n    );\n\n    return (\n        <DropdownInput<EmissionStandardOptionT, EmissionClassEnum | null>\n            selectedValue={value}\n            placeholder={placeholder}\n            options={options}\n            onSelect={onChange}\n            renderOption={(option: EmissionStandardOptionT | null | undefined, placeholder) => {\n                if (!option) {\n                    return <span>{placeholder}</span>;\n                }\n\n                return <span>{option.label}</span>;\n            }}\n            getOptionValue={(option: EmissionStandardOptionT) => {\n                return option.value;\n            }}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderLeftIcon={(iconMeta) => <EmissionIcon {...EmissionIconProps.getControlProps(iconMeta)} />}\n            onReset={() => {\n                onChange(null);\n            }}\n            hasClearControl={hasClearControl}\n        />\n    );\n});\n\nexport default EmissionClassDropdown;\n","export const getShipmentAnchor = (shipmentId: ShipmentIdT | null) => {\n    return `shipment-${shipmentId}`;\n};\n","import React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst WrenchIcon: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path\n                    d=\"M10 2.286A7.72 7.72 0 0 0 2.286 10 7.72 7.72 0 0 0 10 17.714 7.72 7.72 0 0 0 17.714 10 7.72 7.72 0 0 0 10 2.286zM12.597 14.5l-2.906-2.906c-1.08.335-2.301.103-3.15-.758a3.113 3.113 0 0 1-.552-3.652L8.084 9.28 9.41 7.956 7.313 5.86a3.113 3.113 0 0 1 4.268 4.076l2.79 2.79-1.774 1.774z\"\n                    fill=\"none\"\n                />\n                <path\n                    d=\"M10 1c4.963 0 9 4.037 9 9s-4.037 9-9 9-9-4.037-9-9 4.037-9 9-9zm0 1.286A7.72 7.72 0 0 0 2.286 10 7.72 7.72 0 0 0 10 17.714 7.72 7.72 0 0 0 17.714 10 7.72 7.72 0 0 0 10 2.286zM7.313 5.86a3.113 3.113 0 0 1 3.651.553c.952.951 1.145 2.366.617 3.523l2.79 2.79-1.774 1.774-2.906-2.906c-1.08.335-2.301.09-3.15-.758a3.113 3.113 0 0 1-.552-3.652L8.084 9.28 9.41 7.956z\"\n                    fill={fillColor}\n                />\n            </g>\n        </svg>\n    );\n};\n\nWrenchIcon.displayName = 'WrenchIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.orange,\n};\n\nexport { storyProps };\n\nexport default WrenchIcon;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Stepper.scss';\nimport cs from 'classnames';\n\nimport noop from 'lodash/noop';\nimport BackButton from 'common/components/BackButton/BackButton';\n\nconst cx = classNames.bind(styles);\n\nexport type StepT = {\n    label: string;\n};\n\ntype PropsT = {\n    className?: string;\n    activeStepIndex: number;\n    goTo: (stepIndex: number) => void;\n    steps: StepT[];\n    testSelector?: string;\n    isDisabledBack?: boolean;\n    initShowStepIndex: number;\n};\n\nconst Stepper: React.FC<PropsT> = (props) => {\n    const { className, activeStepIndex, goTo, steps, initShowStepIndex, testSelector } = props;\n\n    const goBack = () => goTo(activeStepIndex - 1);\n\n    const isDisabledBack = activeStepIndex === 0 || !!props.isDisabledBack;\n\n    if (!steps.length) {\n        return null;\n    }\n\n    const fullTestSelector = `${testSelector}_stepper`;\n\n    return (\n        <div className={cs(cx('stepper'), className)} data-test-selector={fullTestSelector}>\n            <BackButton className={cx('back-button')} onClick={goBack} isDisabled={isDisabledBack} />\n            {steps.map((step, stepIndex) => {\n                if (stepIndex < initShowStepIndex) {\n                    return null;\n                }\n\n                const isPrevStep = stepIndex < activeStepIndex;\n                const isSelectable = isPrevStep;\n                const isActive = stepIndex === activeStepIndex;\n                const number = stepIndex + 1;\n\n                return (\n                    <div\n                        key={stepIndex}\n                        className={cx('step', {\n                            'step--isSelectable': isSelectable,\n                        })}\n                        data-test-selector={`${fullTestSelector}_step_${stepIndex}`}\n                        onClick={isSelectable ? () => goTo(stepIndex) : noop}\n                    >\n                        <div\n                            className={cx('step__number', {\n                                'step__number--isActive': isActive,\n                                'step__number--isPrevStep': isPrevStep,\n                            })}\n                        >\n                            {isPrevStep ? null : number}\n                        </div>\n                        <div className={cx('step__label', { 'step__label--isActive': isActive })}>{step.label}</div>\n                    </div>\n                );\n            })}\n        </div>\n    );\n};\n\nexport default Stepper;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport FuelIcon from 'common/icons/FuelIcon';\n\nexport const useShipperOrderDetailsRowsFactory = () => {\n    const { t } = useTranslation();\n\n    return React.useMemo(() => {\n        return {\n            trailerType: () => ({\n                icon: (\n                    <TrailerIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                    />\n                ),\n                name: t('common:entity-details.columns.trailer-type'),\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                testSelector: 'trailer-type',\n            }),\n            emissionClass: () => ({\n                icon: <EmissionIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('common:entity-details.columns.emission-class'),\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                testSelector: 'emissions-class',\n            }),\n            fuelType: () => ({\n                icon: <FuelIcon strokeColor={StyleGuideColorsEnum.gray} fillColor={StyleGuideColorsEnum.light} />,\n                name: t('common:entity-details.columns.fuel-type'),\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                testSelector: 'fuel-type',\n            }),\n        };\n    }, [t]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"placeholder\":\"TelematicUpdateDateCell__placeholder___svdYy\",\"fadeIn\":\"TelematicUpdateDateCell__fadeIn___ROWiz\",\"blinking\":\"TelematicUpdateDateCell__blinking___EbwB2\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PricingSettingsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport prepareApiSystemSettings from './prepare-system-settings';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { PricingTypeEnum, ServiceFeeTypeEnum } from 'broker-admin/store/price-settings/system-settings/models';\nimport withWidgetChangesDetector from 'common/components/SaveChangesNotification/withWidgetChangesDetector';\nimport { UnitTypeEnum } from 'common/constants';\nimport Widget from 'common/components/Widget/Widget';\nimport values from 'lodash/values';\nimport { getMaskByType } from '../utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { SystemSettingsFormCommonPropsT } from 'broker-admin/layouts/SettingsPage/SystemSettings/models';\nimport times from 'lodash/times';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\n\nconst cx = classNames.bind(styles);\n\ntype ServiceFeeTypeOptionT = {\n    label: string;\n    value: ServiceFeeTypeEnum;\n};\n\ntype PricingTypeOptionT = {\n    label: string;\n    value: PricingTypeEnum;\n};\n\nconst UNIT_TYPE_MAP = {\n    [FieldsEnum.minimalShipmentCost]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.driverSalaryPerHour]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.minimalCostForTruck]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.minimalCostForTrailer]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.layoverCostPerHour]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.layoverCostPerDay]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.layoverFreeHours]: UnitTypeEnum.hoursAbbreviation,\n    [FieldsEnum.urgentOverPrice]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.overPriceForEveryAdditionalStop]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.timeSlotAppointmentCost]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.costPerGreenShipment]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.tranziitServiceFeePercent]: UnitTypeEnum.percentsAbbreviation,\n    [FieldsEnum.tranziitServiceFeeFixed]: UnitTypeEnum.euroAbbreviation,\n    [FieldsEnum.truckConsumption]: UnitTypeEnum.litersAbbreviation,\n    [FieldsEnum.reeferConsumption]: UnitTypeEnum.litersAbbreviation,\n    [FieldsEnum.rateMatrixSpread]: UnitTypeEnum.percentsAbbreviation,\n    [FieldsEnum.hvoPricePercent]: UnitTypeEnum.percentsAbbreviation,\n};\n\nconst STEP_MAP = {\n    [FieldsEnum.minimalShipmentCost]: 10,\n    [FieldsEnum.driverSalaryPerHour]: 1,\n    [FieldsEnum.minimalCostForTruck]: 10,\n    [FieldsEnum.minimalCostForTrailer]: 10,\n    [FieldsEnum.layoverCostPerHour]: 10,\n    [FieldsEnum.layoverCostPerDay]: 10,\n    [FieldsEnum.layoverFreeHours]: 1,\n    [FieldsEnum.urgentOverPrice]: 10,\n    [FieldsEnum.overPriceForEveryAdditionalStop]: 10,\n    [FieldsEnum.timeSlotAppointmentCost]: 10,\n    [FieldsEnum.costPerGreenShipment]: 10,\n    [FieldsEnum.truckConsumption]: 1,\n    [FieldsEnum.reeferConsumption]: 1,\n    [FieldsEnum.rateMatrixSpread]: 1,\n    [FieldsEnum.hvoPricePercent]: 1,\n};\n\nconst FIELD_LABEL_T_MAP = {\n    [FieldsEnum.minimalShipmentCost]: 'price-settings.pricing-form.fields.minimal-cost-for-shipment.label',\n    [FieldsEnum.driverSalaryPerHour]: 'price-settings.pricing-form.fields.team-driver-rate-per-hour.label',\n    [FieldsEnum.layoverCostPerHour]: 'price-settings.pricing-form.fields.layover-cost-per-hour.label',\n    [FieldsEnum.layoverCostPerDay]: 'price-settings.pricing-form.fields.layover-cost-per-day.label',\n    [FieldsEnum.layoverFreeHours]: 'price-settings.pricing-form.fields.layover-free-hours.label',\n    [FieldsEnum.urgentOverPrice]: 'price-settings.pricing-form.fields.urgentOverPrice.label',\n    [FieldsEnum.overPriceForEveryAdditionalStop]:\n        'price-settings.pricing-form.fields.overPriceForEveryAdditionalStop.label',\n    [FieldsEnum.timeSlotAppointmentCost]: 'price-settings.pricing-form.fields.timeSlotAppointmentCost.label',\n    [FieldsEnum.costPerGreenShipment]: 'price-settings.pricing-form.fields.green-shipment-cost.label',\n    [FieldsEnum.tranziitServiceFeeFixedMode]: 'price-settings.pricing-form.fields.tranziit-service-fee.label',\n    [FieldsEnum.pricingStrategy]: 'price-settings.pricing-form.fields.pricing.label',\n    [FieldsEnum.truckConsumption]: 'price-settings.pricing-form.fields.truck-consumption.label',\n    [FieldsEnum.reeferConsumption]: 'price-settings.pricing-form.fields.reef-consumption.label',\n    [FieldsEnum.usePeriodicRulesForWeekdays]:\n        'price-settings.pricing-form.fields.use-periodic-rules-for-weekdays.label',\n    [FieldsEnum.usePeriodicRulesForMonths]: 'price-settings.pricing-form.fields.use-periodic-rules-for-months.label',\n    [FieldsEnum.rateMatrixSpread]: 'price-settings.pricing-form.fields.rate-matrix-spread.label',\n    [FieldsEnum.minimalCostForTruck]: 'price-settings.pricing-form.fields.minimalCostForTruck.label',\n    [FieldsEnum.minimalCostForTrailer]: 'price-settings.pricing-form.fields.minimalCostForTrailer.label',\n    [FieldsEnum.hvoPricePercent]: 'price-settings.pricing-form.fields.hvoPricePercent.label',\n};\n\nconst FIELD_DESCRIPTION_T_MAP = {\n    [FieldsEnum.minimalShipmentCost]: 'price-settings.pricing-form.fields.minimal-cost-for-shipment.description',\n    [FieldsEnum.driverSalaryPerHour]: 'price-settings.pricing-form.fields.team-driver-rate-per-hour.description',\n    [FieldsEnum.layoverCostPerHour]: 'price-settings.pricing-form.fields.layover-cost-per-hour.description',\n    [FieldsEnum.layoverCostPerDay]: 'price-settings.pricing-form.fields.layover-cost-per-day.description',\n    [FieldsEnum.layoverFreeHours]: 'price-settings.pricing-form.fields.layover-free-hours.description',\n    [FieldsEnum.urgentOverPrice]: 'price-settings.pricing-form.fields.urgentOverPrice.description',\n    [FieldsEnum.overPriceForEveryAdditionalStop]:\n        'price-settings.pricing-form.fields.overPriceForEveryAdditionalStop.description',\n    [FieldsEnum.timeSlotAppointmentCost]: 'price-settings.pricing-form.fields.timeSlotAppointmentCost.description',\n    [FieldsEnum.costPerGreenShipment]: 'price-settings.pricing-form.fields.green-shipment-cost.description',\n    [FieldsEnum.pricingStrategy]: 'price-settings.pricing-form.fields.pricing.description',\n    [FieldsEnum.truckConsumption]: 'price-settings.pricing-form.fields.truck-consumption.description',\n    [FieldsEnum.reeferConsumption]: 'price-settings.pricing-form.fields.reef-consumption.description',\n    [FieldsEnum.rateMatrixSpread]: 'price-settings.pricing-form.fields.rate-matrix-spread.description',\n    [FieldsEnum.minimalCostForTruck]: 'price-settings.pricing-form.fields.minimalCostForTruck.description',\n    [FieldsEnum.minimalCostForTrailer]: 'price-settings.pricing-form.fields.minimalCostForTrailer.description',\n    [FieldsEnum.hvoPricePercent]: 'price-settings.pricing-form.fields.hvoPricePercent.description',\n};\n\ntype PropsT = SystemSettingsFormCommonPropsT;\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype NumberFieldsT =\n    | FieldsEnum.minimalShipmentCost\n    | FieldsEnum.driverSalaryPerHour\n    | FieldsEnum.layoverCostPerHour\n    | FieldsEnum.layoverCostPerDay\n    | FieldsEnum.layoverFreeHours\n    | FieldsEnum.truckConsumption\n    | FieldsEnum.reeferConsumption\n    | FieldsEnum.urgentOverPrice\n    | FieldsEnum.costPerGreenShipment\n    | FieldsEnum.rateMatrixSpread\n    | FieldsEnum.minimalCostForTruck\n    | FieldsEnum.minimalCostForTrailer\n    | FieldsEnum.overPriceForEveryAdditionalStop\n    | FieldsEnum.timeSlotAppointmentCost\n    | FieldsEnum.hvoPricePercent;\n\nconst PricingSettingsForm: React.FC<PropsT> = (props) => {\n    const { systemSettings, title, onUpdate, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(systemSettings);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [systemSettings]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const apiSystemSettings = prepareApiSystemSettings(values);\n            onUpdate(apiSystemSettings);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErros = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErros,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErros, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const serviceFeeTypeOptions: ServiceFeeTypeOptionT[] = [\n        {\n            label: t('price-settings.pricing-form.tranziit-service-fee-type.percentage'),\n            value: ServiceFeeTypeEnum.percent,\n        },\n        {\n            label: t('price-settings.pricing-form.tranziit-service-fee-type.fixed'),\n            value: ServiceFeeTypeEnum.fixed,\n        },\n    ];\n\n    const priceTypeOptions: PricingTypeOptionT[] = [\n        {\n            label: t('price-settings.pricing-form.pricing-type.rate-matrix'),\n            value: PricingTypeEnum.rateMatrix,\n        },\n        {\n            label: t('price-settings.pricing-form.pricing-type.ml-based'),\n            value: PricingTypeEnum.mlBased,\n        },\n        {\n            label: t('price-settings.pricing-form.pricing-type.combined'),\n            value: PricingTypeEnum.combined,\n        },\n    ];\n\n    const WidgetChangesDetector = withWidgetChangesDetector(formik.values, initialValues);\n\n    const tranziitServiceFeeType = formik.values[FieldsEnum.tranziitServiceFeeFixedMode] as ServiceFeeTypeEnum;\n\n    const isDisabledPeriodicRulesForMonths = formik.values[FieldsEnum.pricingStrategy] !== PricingTypeEnum.rateMatrix;\n\n    const renderNumberField = (name: NumberFieldsT): React.ReactNode => {\n        return (\n            <FormikField\n                className={cx('field')}\n                name={name}\n                error={formik.errors[name]}\n                meta={formik.getFieldMeta(name)}\n                label={t(FIELD_LABEL_T_MAP[name])}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                tooltipNode={\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t(FIELD_DESCRIPTION_T_MAP[name])}\n                    </TooltipContent>\n                }\n            >\n                {(props) => (\n                    <NumberInput\n                        name={name}\n                        unitType={UNIT_TYPE_MAP[name]}\n                        mask={getMaskByType(UNIT_TYPE_MAP[name])}\n                        step={STEP_MAP[name]}\n                        value={formik.values[name]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        hasChanges={props.hasChanges}\n                    />\n                )}\n            </FormikField>\n        );\n    };\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <Widget className={cx('widget')} title={title} rightNode={<WidgetChangesDetector fields={ALL_FIELDS} />}>\n                <div className={cx('widget__inner')}>\n                    <FieldGroup className={cx('field-group')}>\n                        <FormikField\n                            className={cx('field')}\n                            label={t(FIELD_LABEL_T_MAP[FieldsEnum.pricingStrategy])}\n                            name={FieldsEnum.pricingStrategy}\n                            error={formik.errors[FieldsEnum.pricingStrategy]}\n                            meta={formik.getFieldMeta(FieldsEnum.pricingStrategy)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DropdownInput<PricingTypeOptionT, PricingTypeEnum>\n                                    selectedValue={formik.values[FieldsEnum.pricingStrategy] as PricingTypeEnum}\n                                    options={priceTypeOptions}\n                                    onSelect={(value) => {\n                                        if (value !== PricingTypeEnum.rateMatrix) {\n                                            formik.setFieldValue(FieldsEnum.usePeriodicRulesForMonths, false);\n                                        }\n\n                                        props.onChange(value);\n                                    }}\n                                    renderOption={(option) => (option ? <span>{option.label}</span> : null)}\n                                    getOptionValue={(option) => option.value}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                        <FieldGroup isFullWidth className={cx('field')}>\n                            {tranziitServiceFeeType === ServiceFeeTypeEnum.fixed && (\n                                <FormikField\n                                    name={FieldsEnum.tranziitServiceFeeFixed}\n                                    error={formik.errors[FieldsEnum.tranziitServiceFeeFixed]}\n                                    meta={formik.getFieldMeta(FieldsEnum.tranziitServiceFeeFixed)}\n                                    label={t(FIELD_LABEL_T_MAP[FieldsEnum.tranziitServiceFeeFixedMode])}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <NumberInput\n                                            inputClassName={cx('combined-field--fee-value')}\n                                            name={FieldsEnum.tranziitServiceFeeFixed}\n                                            unitType={UNIT_TYPE_MAP[FieldsEnum.tranziitServiceFeeFixed]}\n                                            mask={getMaskByType(UNIT_TYPE_MAP[FieldsEnum.tranziitServiceFeeFixed])}\n                                            value={formik.values[FieldsEnum.tranziitServiceFeeFixed]}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                            )}\n                            {tranziitServiceFeeType === ServiceFeeTypeEnum.percent && (\n                                <FormikField\n                                    name={FieldsEnum.tranziitServiceFeePercent}\n                                    error={formik.errors[FieldsEnum.tranziitServiceFeePercent]}\n                                    meta={formik.getFieldMeta(FieldsEnum.tranziitServiceFeePercent)}\n                                    label={t(FIELD_LABEL_T_MAP[FieldsEnum.tranziitServiceFeeFixedMode])}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <NumberInput\n                                            inputClassName={cx('combined-field--fee-value')}\n                                            name={FieldsEnum.tranziitServiceFeePercent}\n                                            unitType={UNIT_TYPE_MAP[FieldsEnum.tranziitServiceFeePercent]}\n                                            mask={getMaskByType(UNIT_TYPE_MAP[FieldsEnum.tranziitServiceFeePercent])}\n                                            value={formik.values[FieldsEnum.tranziitServiceFeePercent]}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning}\n                                            hasChanges={props.hasChanges}\n                                        />\n                                    )}\n                                </FormikField>\n                            )}\n                            <FormikField\n                                name={FieldsEnum.tranziitServiceFeeFixedMode}\n                                error={formik.errors[FieldsEnum.tranziitServiceFeeFixedMode]}\n                                meta={formik.getFieldMeta(FieldsEnum.tranziitServiceFeeFixedMode)}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <DropdownInput<ServiceFeeTypeOptionT, ServiceFeeTypeEnum>\n                                        triggerClassName={cx('combined-field--fee-type')}\n                                        selectedValue={tranziitServiceFeeType}\n                                        options={serviceFeeTypeOptions}\n                                        onSelect={props.onChange}\n                                        renderOption={(option) => (option ? <span>{option.label}</span> : null)}\n                                        getOptionValue={(option) => option.value}\n                                        overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasChanges={props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        </FieldGroup>\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.minimalShipmentCost)}\n                        {renderNumberField(FieldsEnum.driverSalaryPerHour)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.minimalCostForTruck)}\n                        {renderNumberField(FieldsEnum.minimalCostForTrailer)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.layoverCostPerHour)}\n                        {renderNumberField(FieldsEnum.layoverCostPerDay)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.layoverFreeHours)}\n                        <FieldGroupEmptyItem className={cx('field')} />\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.truckConsumption)}\n                        {renderNumberField(FieldsEnum.reeferConsumption)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.urgentOverPrice)}\n                        {renderNumberField(FieldsEnum.costPerGreenShipment)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        <FormikField\n                            className={cx('field')}\n                            name={FieldsEnum.rateMatrixSpread}\n                            error={formik.errors[FieldsEnum.rateMatrixSpread]}\n                            meta={formik.getFieldMeta(FieldsEnum.rateMatrixSpread)}\n                            label={t(FIELD_LABEL_T_MAP[FieldsEnum.rateMatrixSpread])}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            tooltipNode={\n                                <TooltipContent theme={TooltipContentThemeEnum.black} width={300}>\n                                    <div className={cx('rate-matrix-spread-description')}>\n                                        <div className={cx('rate-matrix-spread-description__text')}>\n                                            {t(FIELD_DESCRIPTION_T_MAP[FieldsEnum.rateMatrixSpread])}\n                                        </div>\n                                        <table>\n                                            <thead>\n                                                {times(3).map((columnIndex) => (\n                                                    <th key={columnIndex}>\n                                                        {t(\n                                                            `price-settings.pricing-form.fields.rate-matrix-spread.example-table.head.column-${columnIndex}`,\n                                                        )}\n                                                    </th>\n                                                ))}\n                                            </thead>\n                                            <tbody>\n                                                {times(4).map((rowIndex) => (\n                                                    <tr key={rowIndex}>\n                                                        {times(3).map((columnIndex) => (\n                                                            <th key={columnIndex}>\n                                                                {t(\n                                                                    `price-settings.pricing-form.fields.rate-matrix-spread.example-table.row-${rowIndex}.column-${columnIndex}`,\n                                                                )}\n                                                            </th>\n                                                        ))}\n                                                    </tr>\n                                                ))}\n                                            </tbody>\n                                        </table>\n                                    </div>\n                                </TooltipContent>\n                            }\n                        >\n                            {(props) => (\n                                <NumberInput\n                                    name={FieldsEnum.rateMatrixSpread}\n                                    unitType={UNIT_TYPE_MAP[FieldsEnum.rateMatrixSpread]}\n                                    mask={getMaskByType(UNIT_TYPE_MAP[FieldsEnum.rateMatrixSpread])}\n                                    step={STEP_MAP[FieldsEnum.rateMatrixSpread]}\n                                    value={formik.values[FieldsEnum.rateMatrixSpread]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                        {renderNumberField(FieldsEnum.timeSlotAppointmentCost)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.hvoPricePercent)}\n                        <FieldGroupEmptyItem className={cx('field')} />\n                    </FieldGroup>\n                    <FieldGroup className={cx('checkbox-group')}>\n                        <div className={cx('checkbox')}>\n                            <FormikField\n                                withoutLabel\n                                name={FieldsEnum.usePeriodicRulesForWeekdays}\n                                error={formik.errors[FieldsEnum.usePeriodicRulesForWeekdays]}\n                                meta={formik.getFieldMeta(FieldsEnum.usePeriodicRulesForWeekdays)}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                                isCheckbox\n                            >\n                                {(props) => (\n                                    <Checkbox\n                                        checked={formik.values[FieldsEnum.usePeriodicRulesForWeekdays]}\n                                        label={t(FIELD_LABEL_T_MAP[FieldsEnum.usePeriodicRulesForWeekdays])}\n                                        onChange={props.onChange}\n                                    />\n                                )}\n                            </FormikField>\n                        </div>\n                        <FormikField\n                            withoutLabel\n                            className={cx('checkbox')}\n                            name={FieldsEnum.usePeriodicRulesForMonths}\n                            error={formik.errors[FieldsEnum.usePeriodicRulesForMonths]}\n                            meta={formik.getFieldMeta(FieldsEnum.usePeriodicRulesForMonths)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            isCheckbox\n                        >\n                            {(props) => (\n                                <Checkbox\n                                    isDisabled={isDisabledPeriodicRulesForMonths}\n                                    checked={formik.values[FieldsEnum.usePeriodicRulesForMonths]}\n                                    label={t(FIELD_LABEL_T_MAP[FieldsEnum.usePeriodicRulesForMonths])}\n                                    onChange={props.onChange}\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                    <HiddenSubmitButtonForKeyboardEnter />\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                </div>\n            </Widget>\n        </form>\n    );\n};\n\nexport default React.memo(PricingSettingsForm) as typeof PricingSettingsForm;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchVehicleScheduleBegin,\n    fetchVehicleScheduleError,\n    fetchVehicleScheduleSuccess,\n    cancelUnavailableVehicleRequestBegin,\n    cancelUnavailableVehicleRequestError,\n    cancelUnavailableVehicleRequestSuccess,\n    setUnavailableVehicleRequestBegin,\n    setUnavailableVehicleRequestError,\n    setUnavailableVehicleRequestSuccess,\n} from './actions';\nimport {\n    CANCEL_UNAVAILABLE_VEHICLE_REQUEST,\n    FETCH_VEHICLE_SCHEDULE_REQUEST,\n    CancelUnavailableVehicleRequestActionT,\n    FetchVehicleScheduleActionT,\n    SetUnavailableVehicleRequestActionT,\n    SET_UNAVAILABLE_VEHICLE_REQUEST,\n} from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\n\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { selectTrucksDetailsByIds } from 'common/store/trucks/selectors';\nimport { selectTrailersDetailsByIds } from '../trailers/selectors';\nimport { selectFetchScheduleRequest } from 'common/store/vehicle-schedules/selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { VEHICLE_SCHEDULE_TTL } from 'common/store/vehicle-schedules/constants';\nimport { getVehicleScheduleHash } from 'common/store/vehicle-schedules/utils/hash';\nimport { trailerDetailsRefreshChannel, trailersRefreshChannel } from 'common/store/trailers/channels';\nimport { truckDetailsRefreshChannel, trucksRefreshChannel } from 'common/store/trucks/channels';\nimport { vehicleSchedulesRefreshChannel } from './channels';\n\nfunction getFetchVehicleScheduleSaga(companyType: CompanyTypeEnum) {\n    return function* fetchVehicleScheduleSaga(action: FetchVehicleScheduleActionT): WrapGeneratorT<void> {\n        const { vehicleId, options, aroundDate } = action;\n        const hash = getVehicleScheduleHash(vehicleId, aroundDate);\n\n        const fetchScheduleRequest: ReReturnT<typeof selectFetchScheduleRequest> = yield select(\n            selectFetchScheduleRequest(vehicleId, aroundDate),\n        );\n        if (!checkNeedRequest(fetchScheduleRequest, options, VEHICLE_SCHEDULE_TTL)) {\n            return;\n        }\n\n        yield put(fetchVehicleScheduleBegin(hash));\n\n        let result: ReturnApiT<\n            | typeof brokerTranziitApi.fetchVehicleSchedule\n            | typeof brokerTranziitApi.fetchVehicleScheduleAroundDate\n            | typeof carrierTranziitApi.fetchVehicleSchedule\n            | typeof carrierTranziitApi.fetchVehicleScheduleAroundDate\n        >;\n        if (aroundDate) {\n            if (companyType === CompanyTypeEnum.broker) {\n                result = yield brokerTranziitApi.fetchVehicleScheduleAroundDate(vehicleId, aroundDate);\n            } else {\n                result = yield carrierTranziitApi.fetchVehicleScheduleAroundDate(vehicleId, aroundDate);\n            }\n        } else if (companyType === CompanyTypeEnum.broker) {\n            result = yield brokerTranziitApi.fetchVehicleSchedule(vehicleId);\n        } else {\n            result = yield carrierTranziitApi.fetchVehicleSchedule(vehicleId);\n        }\n\n        const [error, schedule] = result;\n\n        if (error) {\n            yield put(fetchVehicleScheduleError(hash, error));\n            return;\n        }\n\n        yield put(fetchVehicleScheduleSuccess(hash, schedule || []));\n    };\n}\n\nfunction* setUnavailableVehiclesSaga(action: SetUnavailableVehicleRequestActionT): WrapGeneratorT<void> {\n    const { query, companyId } = action;\n\n    yield put(setUnavailableVehicleRequestBegin());\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.addVehicleScheduleEvent | typeof carrierTranziitApi.addVehicleScheduleEvent\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.addVehicleScheduleEvent(query);\n    } else {\n        result = yield brokerTranziitApi.addVehicleScheduleEvent(query);\n    }\n\n    const error = result?.[0];\n\n    if (error) {\n        yield put(setUnavailableVehicleRequestError(error));\n    } else {\n        yield put(setUnavailableVehicleRequestSuccess());\n    }\n\n    if (!error && query.truckId) {\n        const detailsByIds: ReReturnT<typeof selectTrucksDetailsByIds> = yield select(\n            selectTrucksDetailsByIds(companyId),\n        );\n        const updateTruck = detailsByIds[query.truckId];\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckSuccessfullySetUnavailable,\n                    data: {\n                        fromDate: query.truckDateFrom || '',\n                        toDate: query.truckDateTo || '',\n                        plateNumber: updateTruck?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    }\n\n    if (query.truckId) {\n        vehicleSchedulesRefreshChannel.emit({ vehicleId: query.truckId });\n    }\n\n    if (!error && query.trailerId) {\n        const detailsByIds: ReReturnT<typeof selectTrailersDetailsByIds> = yield select(\n            selectTrailersDetailsByIds(companyId),\n        );\n        const updateTrailer = detailsByIds[query.trailerId];\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trailerSuccessfullySetUnavailable,\n                    data: {\n                        fromDate: query.trailerDateFrom || '',\n                        toDate: query.trailerDateTo || '',\n                        plateNumber: updateTrailer?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    }\n\n    if (query.trailerId) {\n        vehicleSchedulesRefreshChannel.emit({ vehicleId: query.trailerId });\n    }\n\n    trailersRefreshChannel.emit({});\n    trailerDetailsRefreshChannel.emit({});\n    trucksRefreshChannel.emit({});\n    truckDetailsRefreshChannel.emit({});\n}\n\nfunction* cancelUnavailableVehiclesSaga(action: CancelUnavailableVehicleRequestActionT): WrapGeneratorT<void> {\n    const { query, companyId } = action;\n\n    yield put(cancelUnavailableVehicleRequestBegin());\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.cancelVehicleScheduleEvent | typeof carrierTranziitApi.cancelVehicleScheduleEvent\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.cancelVehicleScheduleEvent(query);\n    } else {\n        result = yield brokerTranziitApi.cancelVehicleScheduleEvent(query);\n    }\n\n    const error = result?.[0];\n\n    if (error) {\n        yield put(cancelUnavailableVehicleRequestError(error));\n    } else {\n        yield put(cancelUnavailableVehicleRequestSuccess());\n    }\n\n    if (query.truckId) {\n        vehicleSchedulesRefreshChannel.emit({ vehicleId: query.truckId });\n    }\n\n    if (query.trailerId) {\n        vehicleSchedulesRefreshChannel.emit({ vehicleId: query.trailerId });\n    }\n\n    trailersRefreshChannel.emit({});\n    trailerDetailsRefreshChannel.emit({});\n    trucksRefreshChannel.emit({});\n    truckDetailsRefreshChannel.emit({});\n}\n\nfunction* vehicleSchedulesSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_VEHICLE_SCHEDULE_REQUEST, getFetchVehicleScheduleSaga(companyType));\n    yield takeEvery(SET_UNAVAILABLE_VEHICLE_REQUEST, setUnavailableVehiclesSaga);\n    yield takeEvery(CANCEL_UNAVAILABLE_VEHICLE_REQUEST, cancelUnavailableVehiclesSaga);\n}\n\nexport default vehicleSchedulesSaga;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EditTimeWindowsFooterContent.scss';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport EditTimeWindowsForm from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/EditTimeWindowsForm/EditTimeWindowsForm';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    brokerOrderId: BrokerOrderIdT | null;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n    tourId: TourIdT | null;\n    onCancel: () => void;\n};\n\nconst EditTimeWindowsFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderId, brokerOrderDetails, tourId, onCancel } = props;\n\n    if (!brokerOrderDetails) {\n        return null;\n    }\n\n    return (\n        <div className={cx('content')}>\n            <EditTimeWindowsForm\n                brokerOrderId={brokerOrderId}\n                brokerOrderDetails={brokerOrderDetails}\n                tourId={tourId}\n                onCancel={onCancel}\n            />\n        </div>\n    );\n});\n\nexport default EditTimeWindowsFooterContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"calendar\":\"TwinDatePicker__calendar___I1fDT\",\"input\":\"TwinDatePicker__input___fCQDU\",\"trigger\":\"TwinDatePicker__trigger___jxzlF\",\"overlay\":\"TwinDatePicker__overlay___VUBnu\",\"fadeIn\":\"TwinDatePicker__fadeIn___stBi3\",\"blinking\":\"TwinDatePicker__blinking___q2mE3\"};","import { QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst getInitialValues = (queryFilters: QueryFiltersT): FormValuesT => {\n    return {\n        [FieldsEnum.carrierIds]: [],\n        [FieldsEnum.carrierNames]: [],\n        [FieldsEnum.originAddress]: '',\n        [FieldsEnum.destinationAddress]: '',\n        [FieldsEnum.originDates]: null,\n        [FieldsEnum.destinationDates]: null,\n        [FieldsEnum.creationDates]: null,\n        [FieldsEnum.tourTypes]: [],\n        [FieldsEnum.plateNumber]: '',\n    };\n};\n\nexport default getInitialValues;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    createTeam,\n    createTeamBegin,\n    createTeamSuccess,\n    createTeamError,\n    updateTeam,\n    updateTeamBegin,\n    updateTeamSuccess,\n    updateTeamError,\n    deleteTeam,\n    deleteTeamBegin,\n    deleteTeamSuccess,\n    deleteTeamError,\n} from './actions';\nimport {\n    selectBrokerTeamEditCreateRequestStatus,\n    selectBrokerTeamEditUpdateRequestStatus,\n    selectBrokerTeamEditDeleteRequestStatus,\n} from './selectors';\nimport { logWarning } from 'common/utils/logger';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { brokerTeamDetailsRefreshChannel } from 'broker-admin/store/broker-team-details/channels';\nimport { brokerTeamsRefreshChannel } from 'broker-admin/store/broker-teams/channels';\n\nfunction* createTeamSaga(action: ReturnType<typeof createTeam>): WrapGeneratorT<void> {\n    const { data } = action.payload;\n\n    const requestStatus: ReturnType<typeof selectBrokerTeamEditCreateRequestStatus> = yield select(\n        selectBrokerTeamEditCreateRequestStatus,\n    );\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(createTeamBegin());\n\n    const [error, result]: ReturnApiT<typeof brokerTranziitApi.createTeam> = yield brokerTranziitApi.createTeam(data);\n\n    if (error) {\n        yield put(createTeamError({ error }));\n    } else if (result) {\n        yield put(createTeamSuccess({ id: result.id }));\n    }\n\n    brokerTeamsRefreshChannel.emit({});\n}\n\nfunction* updateTeamSaga(action: ReturnType<typeof updateTeam>): WrapGeneratorT<void> {\n    const { teamId, data } = action.payload;\n\n    if (!teamId) {\n        logWarning('empty teamId');\n        return;\n    }\n\n    const requestStatus: ReReturnT<typeof selectBrokerTeamEditUpdateRequestStatus> = yield select(\n        selectBrokerTeamEditUpdateRequestStatus(teamId),\n    );\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(updateTeamBegin({ teamId }));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updateTeam> = yield brokerTranziitApi.updateTeam(teamId, data);\n\n    if (error) {\n        yield put(updateTeamError({ teamId, error }));\n    } else {\n        yield put(updateTeamSuccess({ teamId }));\n    }\n\n    brokerTeamDetailsRefreshChannel.emit({ teamId });\n    brokerTeamsRefreshChannel.emit({});\n}\n\nfunction* deleteTeamSaga(action: ReturnType<typeof deleteTeam>): WrapGeneratorT<void> {\n    const { teamId } = action.payload;\n\n    if (!teamId) {\n        logWarning('empty teamId');\n        return;\n    }\n\n    const requestStatus: ReReturnT<typeof selectBrokerTeamEditDeleteRequestStatus> = yield select(\n        selectBrokerTeamEditDeleteRequestStatus(teamId),\n    );\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(deleteTeamBegin({ teamId }));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.deleteTeam> = yield brokerTranziitApi.deleteTeam(teamId);\n\n    if (error) {\n        yield put(deleteTeamError({ teamId, error }));\n    } else {\n        yield put(deleteTeamSuccess({ teamId }));\n    }\n\n    brokerTeamsRefreshChannel.emit({});\n}\n\nfunction* brokerTeamEditSaga(): WrapGeneratorT<void> {\n    yield takeEvery(createTeam.type, createTeamSaga);\n    yield takeEvery(updateTeam.type, updateTeamSaga);\n    yield takeEvery(deleteTeam.type, deleteTeamSaga);\n}\n\nexport default brokerTeamEditSaga;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { FlagThemeEnum } from 'common/components/Timeline/models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport FilledCircleIcon from 'common/icons/FilledCircleIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nexport type ScheduleFlagsFactoryT = ReturnType<typeof useScheduleFlagsFactory>;\n\nexport const useScheduleFlagsFactory = () => {\n    const { t } = useTranslation();\n\n    return React.useMemo(() => {\n        return {\n            teleport: () => {\n                return {\n                    label: t('common:vehicle-schedule.event-type.asset-teleport'),\n                    theme: FlagThemeEnum.attention,\n                    iconNode: <FilledCircleIcon size={10} fillColor={StyleGuideColorsEnum.white} />,\n                    renderTooltip: () => (\n                        <TooltipContent theme={TooltipContentThemeEnum.white} width={150} isCenter>\n                            {t('common:vehicle-schedule.asset-teleport.placeholder')}\n                        </TooltipContent>\n                    ),\n                };\n            },\n        };\n    }, [t]);\n};\n","export const prepareSearchQuery = (query: string): string => query.replace(/\\s/g, '').toLowerCase().trim();\n","import { ALL_DAY_RANGE, TrailerTypeEnum } from 'common/constants';\nimport { ReserveTimeWindowT } from 'common/store/order-creation/models';\nimport { TimeWindowPickerSettingsT } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/models';\nimport {\n    ApiOrderCreationReservePointTypeT,\n    ApiOrderCreationShipperInfoT,\n    ApiTrailerTypeT,\n    CountryCodeT,\n} from 'common/utils/api/models';\nimport { FormikTouched } from 'formik';\n\nexport enum FieldsEnum {\n    shipper = 'shipper',\n\n    trailerType = 'trailerType',\n    trailerDictId = 'trailerDictId',\n\n    laneId = 'laneId',\n\n    route = 'route',\n\n    excludedCountries = 'excludedCountries',\n}\n\nexport enum RoutePointFieldsEnum {\n    fakeId = 'fakeId',\n    type = 'type',\n    location = 'location',\n    timeWindow = 'timeWindow',\n    isBrokerTimeWindow = 'isBrokerTimeWindow',\n}\n\nexport const SHIPMENT_DETAIL_FORM_NAME = 'new-order-form/v1.7';\n\nexport type FormTouchedT = OverwriteT<\n    FormikTouched<FormValuesT>,\n    {\n        route?: Array<FormikTouched<RoutePointFormValuesT>>;\n    }\n>;\n\nexport type RoutePointFormValuesT = {\n    fakeId: string;\n    type: ApiOrderCreationReservePointTypeT;\n    location: LocationT | null;\n    timeWindow: ReserveTimeWindowT | null;\n    isBrokerTimeWindow: boolean;\n};\n\nexport type FormValuesT = {\n    [FieldsEnum.shipper]: ApiOrderCreationShipperInfoT | null;\n\n    [FieldsEnum.trailerType]: ApiTrailerTypeT | null;\n    [FieldsEnum.trailerDictId]: TrailerDictIdT | null;\n\n    [FieldsEnum.laneId]: ShipperContractLaneIdT | null;\n\n    [FieldsEnum.excludedCountries]: Array<CountryCodeT>;\n\n    route: Array<RoutePointFormValuesT>;\n};\n\nexport type RoutePointErrorsT = Partial<{\n    fakeId: FormErrorMessageT;\n    id: FormErrorMessageT;\n    type: FormErrorMessageT;\n    location: FormErrorMessageT;\n    timeWindow: FormErrorMessageT;\n    isBrokerTimeWindow: FormErrorMessageT;\n}>;\n\nexport type FormErrorsT = Partial<{\n    [FieldsEnum.shipper]: FormErrorMessageT;\n    [FieldsEnum.trailerType]: FormErrorMessageT;\n    [FieldsEnum.trailerDictId]: FormErrorMessageT;\n    [FieldsEnum.laneId]: FormErrorMessageT;\n    [FieldsEnum.excludedCountries]: FormErrorMessageT;\n    [FieldsEnum.route]: Array<RoutePointErrorsT>;\n}>;\n\nexport enum RangeIdSetEnum {\n    urgentPickUp = 'urgent-pick-up',\n    regularPickUp = 'regular-pick-up',\n    teamDriveDropOff = 'team-drive-drop-off',\n    regularDropOff = 'regular-drop-off',\n    layoverDropOff = 'layover-drop-off',\n    broker = 'broker',\n}\n\nexport const DEFAULT_TRAILER_TYPE = TrailerTypeEnum.box;\n\nexport const DEFAULT_BOX_TRAILER_ID = '5';\nexport const DEFAULT_TILT_TRAILER_ID = '1';\n\nexport const DEFAULT_TIME_WINDOW_PICKER_SETTINGS: TimeWindowPickerSettingsT = {\n    availableValues: ALL_DAY_RANGE,\n    brokerAvailableValues: ALL_DAY_RANGE,\n    brokerTimeWindowRanges: [],\n    timeWindowRanges: [],\n};\n","import isNumber from 'lodash/isNumber';\n\nexport type ParamsT = {\n    availableValues: number[];\n    minValuesRangeWidth: number | undefined;\n    maxValuesRangeWidth: number | undefined;\n};\n\nexport const checkValuesIsAllowed = (values: number[] | null, params: ParamsT): boolean => {\n    if (!values) {\n        return true;\n    }\n\n    return (\n        isNumber(values[0]) &&\n        isNumber(values[1]) &&\n        (isNumber(params.minValuesRangeWidth) ? values[1] - values[0] >= params.minValuesRangeWidth : true) &&\n        (isNumber(params.maxValuesRangeWidth) ? values[1] - values[0] <= params.maxValuesRangeWidth : true) &&\n        params.availableValues[0] <= values[0] &&\n        values[0] <= params.availableValues[1] &&\n        params.availableValues[0] <= values[1] &&\n        values[1] <= params.availableValues[1] &&\n        values[0] <= values[1]\n    );\n};\n\nexport const getSuggestAllowedValues = (values: number[] | null, params: ParamsT): number[] | null => {\n    if (!values) {\n        return null;\n    }\n\n    if (checkValuesIsAllowed(values, params)) {\n        return values;\n    }\n\n    const startValue = params.availableValues[0];\n    const newValues = [startValue, startValue + (params.minValuesRangeWidth || 0)];\n\n    const leftLimitedValue = Math.max(newValues[0], params.availableValues[0]);\n    const rightLimitedValue = Math.min(newValues[1], params.availableValues[1]);\n\n    return [leftLimitedValue, rightLimitedValue];\n};\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { ChangeContextPayloadT, EditOrderContextT, FakeSessionIdT } from 'broker-admin/store/order-edit/models';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport isNumber from 'lodash/isNumber';\nimport { MS_IN_SEC } from 'common/utils/time';\nimport { ApiEditOrderContextT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport type OrderEditStateT = {\n    createContextRequestStatus: RequestStatusT;\n    fakeSessionId: FakeSessionIdT | null;\n    context: EditOrderContextT | null;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n    deleteContextRequestStatus: RequestStatusT;\n    isApplyingContextChanges: boolean;\n    applyContextRequestStatus: RequestStatusT;\n    changeContextError: Error | null;\n};\n\nconst initialState: OrderEditStateT = {\n    createContextRequestStatus: requestStatus.initial,\n    fakeSessionId: null,\n    context: null,\n    brokerOrderDetails: null,\n    deleteContextRequestStatus: requestStatus.initial,\n    isApplyingContextChanges: false,\n    applyContextRequestStatus: requestStatus.initial,\n    changeContextError: null,\n};\n\nexport const orderEditSlice = createSlice({\n    name: 'orderEdit',\n    initialState,\n    reducers: {\n        resetOrderEdit: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                // nothing\n            }>,\n        ) => {\n            return initialState;\n        },\n        initOrderEdit: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                brokerOrderId: BrokerOrderIdT | null;\n            }>,\n        ) => {\n            // nothing\n        },\n        finishOrderEdit: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                brokerOrderId: BrokerOrderIdT | null;\n            }>,\n        ) => {\n            // nothing\n        },\n        reCreateOrderEditContextRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                brokerOrderId: BrokerOrderIdT | null;\n                fakeSessionId?: FakeSessionIdT | null;\n            }>,\n        ) => {\n            // nothing\n        },\n        refreshOrderEditContextRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                brokerOrderId: BrokerOrderIdT | null;\n            }>,\n        ) => {\n            // nothing\n        },\n        createOrderEditContextRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                brokerOrderId: BrokerOrderIdT | null;\n                fakeSessionId?: FakeSessionIdT | null;\n            }>,\n        ) => {\n            // nothing\n        },\n        createOrderEditContextRequestBegin: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.createContextRequestStatus = requestStatus.loading;\n        },\n        createOrderEditContextRequestSuccess: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                context: ApiEditOrderContextT | null;\n                brokerOrderDetails: BrokerOrderDetailsT | null;\n                fakeSessionId?: FakeSessionIdT | null;\n            }>,\n        ) => {\n            const { context, brokerOrderDetails, fakeSessionId } = action.payload;\n\n            if (fakeSessionId) {\n                state.fakeSessionId = fakeSessionId;\n            }\n\n            state.context = context\n                ? {\n                      ...context,\n                      expireTime: isNumber(context.secondsToExpire)\n                          ? context.secondsToExpire * MS_IN_SEC + Date.now()\n                          : null,\n                  }\n                : null;\n            state.brokerOrderDetails = brokerOrderDetails;\n            state.createContextRequestStatus = requestStatus.ok;\n        },\n        createOrderEditContextRequestError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n\n            state.context = null;\n            state.createContextRequestStatus = requestStatus.setError(error);\n        },\n        deleteOrderEditContextRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            // nothing\n        },\n        deleteOrderEditContextRequestBegin: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.deleteContextRequestStatus = requestStatus.loading;\n        },\n        deleteOrderEditContextRequestSuccess: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.context = null;\n            state.deleteContextRequestStatus = requestStatus.ok;\n        },\n        deleteOrderEditContextRequestError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n\n            state.context = null;\n            state.deleteContextRequestStatus = requestStatus.setError(error);\n        },\n        applyOrderEditContextRequest: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            // nothing\n        },\n        applyOrderEditContextRequestBegin: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.applyContextRequestStatus = requestStatus.loading;\n        },\n        applyOrderEditContextRequestSuccess: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.context = null;\n            state.applyContextRequestStatus = requestStatus.ok;\n        },\n        applyOrderEditContextRequestError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n\n            state.context = null;\n            state.applyContextRequestStatus = requestStatus.setError(error);\n        },\n        changeContextError: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            state.changeContextError = action.payload.error;\n        },\n        changeContext: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<ChangeContextPayloadT>,\n        ) => {\n            // nothing\n        },\n        changeContextSuccess: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                context: ApiEditOrderContextT | null;\n            }>,\n        ) => {\n            const { context } = action.payload;\n            if (!context) {\n                return;\n            }\n\n            state.context = context\n                ? {\n                      ...context,\n                      expireTime: isNumber(context.secondsToExpire)\n                          ? context.secondsToExpire * MS_IN_SEC + Date.now()\n                          : null,\n                  }\n                : null;\n        },\n        setIsApplyingContextChanges: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<boolean>,\n        ) => {\n            state.isApplyingContextChanges = action.payload;\n        },\n    },\n});\n\nexport const {\n    initOrderEdit,\n    finishOrderEdit,\n    resetOrderEdit,\n    refreshOrderEditContextRequest,\n    reCreateOrderEditContextRequest,\n    createOrderEditContextRequest,\n    createOrderEditContextRequestBegin,\n    createOrderEditContextRequestSuccess,\n    createOrderEditContextRequestError,\n    deleteOrderEditContextRequest,\n    deleteOrderEditContextRequestBegin,\n    deleteOrderEditContextRequestSuccess,\n    deleteOrderEditContextRequestError,\n    applyOrderEditContextRequest,\n    applyOrderEditContextRequestBegin,\n    applyOrderEditContextRequestError,\n    applyOrderEditContextRequestSuccess,\n    changeContext,\n    changeContextError,\n    changeContextSuccess,\n    setIsApplyingContextChanges,\n} = orderEditSlice.actions;\n\nexport default orderEditSlice.reducer;\n","import React, { useCallback } from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { useTranslation } from 'react-i18next';\nimport CaseIcon, { CaseIconProps } from 'common/icons/CaseIcon';\nimport classNames from 'classnames/bind';\nimport styles from './PartnersSuggest.scss';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { ApiPartnerT } from 'common/utils/api/models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport DropdownSearchMultipleInput from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = ApiPartnerT['id'] | null;\n\nexport type OptionT = {\n    id: ApiPartnerT['id'];\n    name: ApiPartnerT['name'];\n    number: ApiPartnerT['number'];\n    countryCode: ApiPartnerT['countryCode'] | null;\n};\n\nexport type PropsT = {\n    className?: string;\n    initialOptions: Array<OptionT>;\n    initialRequestStatus: RequestStatusT;\n    onSelect: (values: Array<ValueT>, options: Array<OptionT>) => void;\n    values: Array<ValueT>;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n};\n\nconst PartnersSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialOptions,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        initialRequestStatus,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback((query) => {\n        return brokerTranziitApi.findPartnersByName(query).then((response): AsyncRequestFactoryResultT<OptionT> => {\n            const [error, result] = response;\n            if (error) {\n                return [error, null];\n            }\n\n            const items: Array<OptionT> =\n                result?.content?.map((item) => {\n                    return {\n                        id: item.id,\n                        name: item.name,\n                        number: item.number,\n                        countryCode: item.countryCode,\n                    };\n                }) || [];\n\n            return [null, items];\n        });\n    }, []);\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions,\n        requestFactory,\n        settings: {},\n    });\n\n    const handleSelect = (values: Array<ValueT>) => {\n        const valueSet = new Set(values);\n\n        const options = asyncOptionsRequest.options.filter((option) => {\n            const optionValue = getOptionValue(option);\n            return valueSet.has(optionValue);\n        });\n\n        onSelect(values, options);\n    };\n\n    const handleReset = () => {\n        onSelect([], []);\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                className={cx('option')}\n                icon={option.countryCode ? <FlagIcon countryCode={option.countryCode} /> : null}\n                label={option.name || ''}\n                description={option.number || ''}\n            />\n        );\n    };\n\n    const renderTrigger = (options: Array<OptionT> | undefined, placeholder?: string): React.ReactNode => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options?.length === 1) {\n            const firstOption = options?.[0] || null;\n\n            return (\n                <DropdownControlOptionLabel\n                    withoutPaddings\n                    icon={firstOption?.countryCode ? <FlagIcon countryCode={firstOption.countryCode} /> : null}\n                    label={firstOption?.name || ''}\n                    description={firstOption?.number || ''}\n                />\n            );\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                label={t('common:common-components.partners-suggest.selected')}\n                description={\n                    <PillLabel isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                        {options?.length || 0}\n                    </PillLabel>\n                }\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values}\n            placeholder={placeholder}\n            options={asyncOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            renderLeftIcon={(iconMeta) => <CaseIcon {...CaseIconProps.getControlProps(iconMeta)} />}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition}\n            isLoading={asyncOptionsRequest.requestStatus.loading || initialRequestStatus.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default PartnersSuggest;\n","// extracted by mini-css-extract-plugin\nexport default {\"comment\":\"CommentFormatter__comment___dseV6\",\"fadeIn\":\"CommentFormatter__fadeIn___Q4wEw\",\"blinking\":\"CommentFormatter__blinking___YObjZ\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TruckDetailsForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport TruckModelDropdown from 'common/components/dropdowns/TruckModelDropdown/TruckModelDropdown';\nimport { fetchTrucksDict } from 'common/store/trucks-dict/actions';\nimport { uppercaseFormatter } from 'common/utils/form-formatters';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport Input from 'common/components/Input/Input';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport { AssetTypeEnum, CurrencyEnum, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport ActiveContractDropdown from 'common/components/dropdowns/ActiveContractDropdown/ActiveContractDropdown';\nimport { ApiTruckDetailsT } from 'common/store/trucks/models';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport GPSTrackingStatusAlert from 'common/components/GPSTrackingStatusAlert/GPSTrackingStatusAlert';\nimport { selectGPSIsChecking, selectGPSStatus } from 'common/store/gps-tracking-status/selectors';\nimport { GPStatusEnum } from 'common/store/gps-tracking-status/constants';\nimport { selectCarrierContractById } from 'common/store/carrier-contracts/selectors';\nimport { fetchCarrierContracts } from 'common/store/carrier-contracts/actions';\nimport { usePlateNumberUniqCheck } from 'common/components/AssetSidebarContent/hooks/usePlateNumberUniqCheck';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport ChangeRateOrContractWarning from '../ChangeRateOrContractWarning/ChangeRateOrContractWarning';\nimport useOnceShow from 'common/utils/hooks/useOnceShow';\nimport { selectTrucksDictById } from 'common/store/trucks-dict/selectors';\nimport values from 'lodash/values';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport LinkedTrailerAlert from 'common/layouts/CommonEditableTruckDetailsLayout/LinkedTrailerAlert/LinkedTrailerAlert';\nimport Money from 'common/components/Money/Money';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { DEPRECATED_EMISSION_CLASS_I18N_MAP } from 'common/components/EmissionClassLabel/EmissionClassLabel';\nimport EmissionIcon from 'common/icons/EmissionIcon';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { getTruckDictTypeLabel } from 'common/store/trucks-dict/utils';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport { AlertGroup } from 'common/layouts/AlertGroup/AlertGroup';\nimport LastGPSPositionAlert from 'common/components/LastGPSPositionAlert/LastGPSPositionAlert';\nimport { checkIsApiCarrierTruckDetails } from 'common/store/trucks/type-guards';\nimport TruckActionHistory from 'common/layouts/CommonEditableTruckDetailsLayout/TruckActionHistory/TruckActionHistory';\nimport { CountryCodeT, TruckStatusEnum } from 'common/utils/api/models';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    truckDetails: ApiTruckDetailsT | null;\n    onSubmit: (values: FormValuesT) => void;\n    onCancel: () => void;\n    isNewTruck: boolean;\n    isLoading: boolean;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n};\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.truckModel]: null,\n    [FieldsEnum.cabinColor]: '',\n    [FieldsEnum.countryCode]: null,\n    [FieldsEnum.plateNumber]: '',\n    [FieldsEnum.vin]: '',\n    [FieldsEnum.contract]: null,\n    [FieldsEnum.ratePerKm]: '',\n};\n\nconst TruckDetailsForm: React.FC<PropsT> = (props) => {\n    const {\n        partnerId,\n        onSubmit,\n        truckDetails,\n        isNewTruck,\n        isLoading,\n        onCancel,\n        setNeedCloseConfirmation,\n        onOpenTrailerDetails,\n        onOpenTruckDetails,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchTrucksDict());\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        return () => {\n            if (setNeedCloseConfirmation) {\n                setNeedCloseConfirmation(false);\n            }\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, { isCreation: isNewTruck });\n    }, [t, isNewTruck]);\n\n    React.useEffect(() => {\n        dispatch(fetchCarrierContracts(partnerId));\n    }, [partnerId, dispatch]);\n\n    const countryByCode = useSelector(selectCountriesByCode);\n\n    const contractById = useSelector(selectCarrierContractById(partnerId));\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        let values = {\n            ...INITIAL_VALUES,\n        };\n\n        if (truckDetails) {\n            values = {\n                ...values,\n                [FieldsEnum.truckModel]: truckDetails.dictTruckInfo?.id || null,\n                [FieldsEnum.cabinColor]: truckDetails.cabinColor || '',\n                [FieldsEnum.countryCode]: truckDetails.countryCode || null,\n                [FieldsEnum.plateNumber]: truckDetails.plateNumber || '',\n                [FieldsEnum.vin]: truckDetails.vin || '',\n                [FieldsEnum.contract]: truckDetails.contractId || null,\n                [FieldsEnum.ratePerKm]: String(truckDetails.ratePerKm),\n            };\n        }\n\n        const errors = validateForm(t, values, { isCreation: isNewTruck });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [truckDetails, isNewTruck]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            onSubmit(values);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (hasAnyFieldValueChanges && setNeedCloseConfirmation) {\n            setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        }\n    }, [setNeedCloseConfirmation, hasAnyFieldValueChanges]);\n\n    const isCheckingGPSTracking = useSelector(selectGPSIsChecking);\n    const gpsStatus = useSelector(selectGPSStatus);\n\n    const isAllowContract = gpsStatus === GPStatusEnum.enabled || !gpsStatus;\n    const contractValue = formik.values[FieldsEnum.contract];\n\n    React.useEffect(() => {\n        if (!isAllowContract && contractValue !== null) {\n            formik.setFieldValue(FieldsEnum.contract, null);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isAllowContract, contractValue]);\n\n    const plateNumber = formik.values[FieldsEnum.plateNumber];\n    const truckPlateNumberUniqCheck = usePlateNumberUniqCheck({\n        plateNumber,\n        companyId: partnerId,\n        assetType: AssetTypeEnum.truck,\n    });\n\n    let plateNumberAsyncError: React.ReactNode = null;\n\n    const duplicateTruckId = truckPlateNumberUniqCheck.duplicateId;\n    if (duplicateTruckId) {\n        plateNumberAsyncError = (\n            <Link\n                onClick={() => {\n                    onOpenTruckDetails(duplicateTruckId);\n                }}\n                theme={LinkThemeEnum.boldTomatoRed}\n            >\n                {t('common:trucks-page.add-truck.errors.not-uniq-plate-number', { plateNumber })}\n            </Link>\n        );\n    }\n\n    const hasAsyncErrors = !!plateNumberAsyncError;\n\n    const isSubmitLoading = isLoading || isCheckingGPSTracking;\n\n    const selectedContractId = formik.values[FieldsEnum.contract];\n    const contract = selectedContractId ? contractById[selectedContractId] : null;\n\n    const isAllowShowChanges = !isNewTruck;\n\n    const isAvailableChangeRate = formik.values[FieldsEnum.contract] === null;\n\n    const isRateContract = initialValues[FieldsEnum.ratePerKm] !== formik.values[FieldsEnum.ratePerKm];\n    const isContractChanged = initialValues[FieldsEnum.contract] !== formik.values[FieldsEnum.contract];\n    const isRateOrContractChanged = isRateContract || isContractChanged;\n    const isAvailableRateOrContractWarning = !isNewTruck;\n    const rateOrContractWarning = useOnceShow(isRateOrContractChanged);\n\n    const trucksDictById = useSelector(selectTrucksDictById);\n    const selectedTruckModel = formik.values[FieldsEnum.truckModel];\n    const truckModel = trucksDictById[selectedTruckModel as string];\n\n    const isAvailableChangeContract = isAllowContract || isCheckingGPSTracking;\n\n    const contractTooltipNode = (\n        <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n            {t('common:trucks-page.add-truck.fields.contract.tooltip')}\n        </TooltipContent>\n    );\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <AlertGroup className={cx('alerts')}>\n                {truckDetails?.linkedTrailerId && (\n                    <LinkedTrailerAlert\n                        trailerId={truckDetails?.linkedTrailerId}\n                        plateNumber={truckDetails?.linkedTrailerPlateNumber}\n                        onOpenTrailerDetails={onOpenTrailerDetails}\n                    />\n                )}\n                {duplicateTruckId && (\n                    <Alert\n                        icon={<InfoIcon fillColor={StyleGuideColorsEnum.white} />}\n                        size={AlertSizeEnum.small}\n                        theme={AlertThemeEnum.tomatoRed}\n                    >\n                        {t('common:trucks-page.add-truck.alerts.already-exist')}\n                    </Alert>\n                )}\n                {truckDetails?.status !== TruckStatusEnum.archived && (\n                    <>\n                        {isNewTruck ? (\n                            <GPSTrackingStatusAlert\n                                companyId={partnerId}\n                                assetType={AssetTypeEnum.truck}\n                                plateNumber={formik.values[FieldsEnum.plateNumber]}\n                            />\n                        ) : (\n                            <LastGPSPositionAlert\n                                companyId={partnerId}\n                                assetType={AssetTypeEnum.truck}\n                                plateNumber={truckDetails?.plateNumber || ''}\n                                isDedicated={!!truckDetails?.contractId}\n                            />\n                        )}\n                    </>\n                )}\n            </AlertGroup>\n            <div className={cx('fields')}>\n                <FieldGroup>\n                    {isNewTruck ? (\n                        <FormikField\n                            className={cx('field', 'field--plate-number')}\n                            name={FieldsEnum.plateNumber}\n                            error={formik.errors[FieldsEnum.plateNumber]}\n                            meta={formik.getFieldMeta(FieldsEnum.plateNumber)}\n                            asyncError={plateNumberAsyncError}\n                            label={t('common:trucks-page.add-truck.fields.plate-number.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.plateNumber}\n                                    value={formik.values[FieldsEnum.plateNumber]}\n                                    placeholder={t('common:trucks-page.add-truck.fields.plate-number.placeholder')}\n                                    formatter={uppercaseFormatter}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    isLoading={truckPlateNumberUniqCheck.requestStatus.loading}\n                                    hasChanges={isAllowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    ) : (\n                        <ReadOnlyField\n                            className={cx('field', 'field--plate-number')}\n                            label={t('common:trucks-page.add-truck.fields.plate-number.label')}\n                            value={truckDetails?.plateNumber || ''}\n                        />\n                    )}\n                    <FieldGroupEmptyItem className={cx('field', 'field--placeholder')} />\n                </FieldGroup>\n                <FieldGroup>\n                    {isNewTruck ? (\n                        <FormikField\n                            className={cx('field', 'field--country-code')}\n                            name={FieldsEnum.countryCode}\n                            error={formik.errors[FieldsEnum.countryCode]}\n                            label={t('common:trucks-page.add-truck.fields.country.label')}\n                            meta={formik.getFieldMeta(FieldsEnum.countryCode)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <CountryDropdown\n                                    value={formik.values[FieldsEnum.countryCode]}\n                                    onChange={props.onChange}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={isAllowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    ) : (\n                        <ReadOnlyField\n                            className={cx('field', 'field--country-code')}\n                            icon={<FlagIcon countryCode={truckDetails?.countryCode} />}\n                            label={t('common:trucks-page.add-truck.fields.country.label')}\n                            value={countryByCode?.[truckDetails?.countryCode as CountryCodeT]?.userLangDisplayName}\n                        />\n                    )}\n                    {isNewTruck ? (\n                        <FormikField\n                            className={cx('field', 'field--vin')}\n                            name={FieldsEnum.vin}\n                            error={formik.errors[FieldsEnum.vin]}\n                            meta={formik.getFieldMeta(FieldsEnum.vin)}\n                            label={t('common:trucks-page.add-truck.fields.truck-vin.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.vin}\n                                    value={formik.values[FieldsEnum.vin]}\n                                    placeholder={t('common:trucks-page.add-truck.fields.truck-vin.placeholder')}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={isAllowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    ) : (\n                        <ReadOnlyField\n                            className={cx('field', 'field--vin')}\n                            label={t('common:trucks-page.add-truck.fields.truck-vin.label')}\n                            value={truckDetails?.vin}\n                        />\n                    )}\n                </FieldGroup>\n                {isNewTruck ? (\n                    <FormikField\n                        name={FieldsEnum.truckModel}\n                        error={formik.errors[FieldsEnum.truckModel]}\n                        meta={formik.getFieldMeta(FieldsEnum.truckModel)}\n                        label={t('common:trucks-page.add-truck.fields.truck-model.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <TruckModelDropdown\n                                placeholder={t('common:trucks-page.add-truck.fields.truck-model.placeholder')}\n                                value={formik.values[FieldsEnum.truckModel]}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={isAllowShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                ) : (\n                    <ReadOnlyField\n                        label={t('common:trucks-page.add-truck.fields.truck-model.label')}\n                        value={getTruckDictTypeLabel(truckModel)}\n                    />\n                )}\n                <FieldGroup>\n                    <ReadOnlyField\n                        withInputLayout={isNewTruck}\n                        className={cx('field', 'field--emission-standard')}\n                        icon={<EmissionIcon strokeColor={StyleGuideColorsEnum.gray} />}\n                        label={t('common:trucks-page.add-truck.fields.emission-standard.label')}\n                        placeholder={t('common:trucks-page.add-truck.fields.emission-standard.placeholder')}\n                        value={\n                            truckModel?.emissionClass\n                                ? t(DEPRECATED_EMISSION_CLASS_I18N_MAP[truckModel.emissionClass])\n                                : null\n                        }\n                    />\n                    <FormikField\n                        className={cx('field--cabin-color')}\n                        name={FieldsEnum.cabinColor}\n                        error={formik.errors[FieldsEnum.cabinColor]}\n                        meta={formik.getFieldMeta(FieldsEnum.cabinColor)}\n                        label={t('common:trucks-page.add-truck.fields.cabin-color.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.cabinColor}\n                                value={formik.values[FieldsEnum.cabinColor]}\n                                placeholder={t('common:trucks-page.add-truck.fields.cabin-color.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasChanges={isAllowShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    {isAvailableChangeContract ? (\n                        <FormikField\n                            className={cx('field--contract')}\n                            name={FieldsEnum.contract}\n                            error={formik.errors[FieldsEnum.contract]}\n                            meta={formik.getFieldMeta(FieldsEnum.contract)}\n                            label={t('common:trucks-page.add-truck.fields.contract.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            tooltipPosition={TooltipPositionEnum.centerRight}\n                            tooltipNode={contractTooltipNode}\n                        >\n                            {(props) => (\n                                <ActiveContractDropdown\n                                    hasNoneOption\n                                    value={formik.values[FieldsEnum.contract]}\n                                    isDisabled={false}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    companyId={partnerId}\n                                    hasChanges={isAllowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    ) : (\n                        <ReadOnlyField\n                            withInputLayout\n                            className={cx('field--contract')}\n                            label={t('common:trucks-page.add-truck.fields.contract.label')}\n                            value={t('common:dedicated.none')}\n                            tooltipPosition={TooltipPositionEnum.centerRight}\n                            tooltipNode={contractTooltipNode}\n                        />\n                    )}\n                    {isAvailableChangeRate ? (\n                        <FormikField\n                            className={cx('field--rate')}\n                            name={FieldsEnum.ratePerKm}\n                            error={formik.errors[FieldsEnum.ratePerKm]}\n                            meta={formik.getFieldMeta(FieldsEnum.ratePerKm)}\n                            label={t('common:trucks-page.add-truck.fields.rate.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <NumberInput\n                                    name={FieldsEnum.ratePerKm}\n                                    unitType={UnitTypeEnum.euroAbbreviation}\n                                    placeholder={t('common:trucks-page.add-truck.fields.rate.placeholder')}\n                                    value={formik.values[FieldsEnum.ratePerKm]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasChanges={isAllowShowChanges && props.hasChanges}\n                                    step={1}\n                                />\n                            )}\n                        </FormikField>\n                    ) : (\n                        <ReadOnlyField\n                            withInputLayout\n                            className={cx('field--rate')}\n                            label={t('common:trucks-page.add-truck.fields.rate.label')}\n                            value={\n                                isNumber(contract?.truckRateKm) ? (\n                                    <Money amount={contract?.truckRateKm} currency={CurrencyEnum.EUR} />\n                                ) : null\n                            }\n                        />\n                    )}\n                </FieldGroup>\n            </div>\n            <TruckActionHistory\n                onOpenUserDetails={onOpenUserDetails}\n                createdDate={truckDetails?.createdDate}\n                createdByBroker={checkIsApiCarrierTruckDetails(truckDetails) && truckDetails?.addedByBroker}\n                createdByName={truckDetails?.createdBy?.fullName}\n                createdById={truckDetails?.createdBy?.id}\n                modifiedDate={truckDetails?.lastModifiedDate}\n                modifiedByBroker={checkIsApiCarrierTruckDetails(truckDetails) && truckDetails?.lastModifiedByBroker}\n                modifiedByName={truckDetails?.lastModifiedBy?.fullName}\n                modifiedById={truckDetails?.lastModifiedBy?.id}\n            />\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <FooterSideBarLayout\n                hasPaddings\n                topNode={\n                    <>\n                        {isAvailableRateOrContractWarning && rateOrContractWarning.isShow ? (\n                            <ChangeRateOrContractWarning\n                                className={cx('footer-warning')}\n                                onClose={rateOrContractWarning.close}\n                            />\n                        ) : null}\n                    </>\n                }\n            >\n                {isNewTruck && (\n                    <Button\n                        theme={ButtonThemeEnum.primary}\n                        isLoading={isSubmitLoading}\n                        isFullWidth\n                        isCenterContent\n                        isDisabled={hasAsyncErrors}\n                        type=\"submit\"\n                    >\n                        {t('common:trucks-page.add-truck.submit')}\n                    </Button>\n                )}\n                {!isNewTruck && (\n                    <div className={cx('actions')}>\n                        <Button\n                            theme={ButtonThemeEnum.secondary}\n                            className={cx('actions__action', 'actions__action--cancel')}\n                            onClick={() => {\n                                formik.resetForm();\n                                onCancel();\n                            }}\n                        >\n                            {t('common:trucks-page.actions.discard-changes')}\n                        </Button>\n                        <Button\n                            theme={ButtonThemeEnum.primary}\n                            isLoading={isSubmitLoading}\n                            isDisabled={hasAsyncErrors}\n                            className={cx('actions__action', 'actions__action--delete')}\n                            type=\"submit\"\n                        >\n                            {t('common:trucks-page.actions.save')}\n                        </Button>\n                    </div>\n                )}\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default TruckDetailsForm;\n","import BaseTranziitApi, { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\nimport { OverwritePageRequestT, OverwritePageRequestWithSortT } from 'common/utils/api/models';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport { MS_IN_MIN } from 'common/utils/time';\n\nclass ShipperTranziitApi extends BaseTranziitApi {\n    private static instance: ShipperTranziitApi;\n\n    private constructor() {\n        super(authApi, {\n            basepath: '/api',\n            timeout: MS_IN_MIN,\n        });\n    }\n\n    public static getInstance(): ShipperTranziitApi {\n        if (!ShipperTranziitApi.instance) {\n            ShipperTranziitApi.instance = new ShipperTranziitApi();\n        }\n\n        return ShipperTranziitApi.instance;\n    }\n\n    getRFQDefaultOffer = async (\n        rfqId: Api2Paths.ApiV2Rfqs$RfqIdOffersDefault.Get.Parameters.RfqId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Rfqs$RfqIdOffersDefault.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs$RfqIdOffersDefault.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/rfqs/${rfqId}/offers/default`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchAssetTracksByOrder = async (\n        orderId: Api2Paths.ApiV2ShipperOrders$OrderIdAssetsCoordinates.Get.Parameters.OrderId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ShipperOrders$OrderIdAssetsCoordinates.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ShipperOrders$OrderIdAssetsCoordinates.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/shipper/orders/${orderId}/assets-coordinates`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchOrdersPage = async (\n        filters: OverwritePageRequestT<Api2Paths.ApiV2OrderFilter.Post.RequestBody>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2OrderFilter.Post.Responses.$200>> => {\n        const { page, ...data } = filters;\n\n        const query: OverwritePageRequestT<{}> = {\n            page,\n        };\n\n        return this.doFetch<Api2Paths.ApiV2OrderFilter.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/order/filter`,\n            query,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchShipperInvoicesPage = async (\n        apiFetchOrdersRequest: OverwritePageRequestWithSortT<ApiPaths.ApiV1ShipperStripeInvoices.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1ShipperStripeInvoices.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1ShipperStripeInvoices.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/shipper/stripe/invoices`,\n            query: apiFetchOrdersRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchRFQsPage = async (\n        query: OverwritePageRequestWithSortT<Api2Paths.ApiV2Rfqs.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Rfqs.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v2/rfqs',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchRFQDetails = async (\n        id: Api2Paths.ApiV2Rfqs$RfqId.Get.Parameters.RfqId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Rfqs$RfqId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs$RfqId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/rfqs/${id}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchRFQsStats = async (): Promise<TranziitApiResultT<Api2Paths.ApiV2RfqsCounts.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2RfqsCounts.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v2/rfqs/counts',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchShipperContractDetails = async (\n        shipperContractId: ApiPaths.ApiV1CompanyShipperContracts$ContractId.Get.Parameters.ContractId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1CompanyShipperContracts$ContractId.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1CompanyShipperContracts$ContractId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/shipper-contracts/${shipperContractId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchShipperContractLaneDetails = async (\n        shipperContractId: Api2Paths.ApiV1CompanyShipperContracts$ContractIdLanes$LaneId.Get.Parameters.ContractId,\n        laneId: Api2Paths.ApiV1CompanyShipperContracts$ContractIdLanes$LaneId.Get.Parameters.LaneId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1CompanyShipperContracts$ContractIdLanes$LaneId.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1CompanyShipperContracts$ContractIdLanes$LaneId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/shipper-contracts/${shipperContractId}/lanes/${laneId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnerShipperContracts = async (\n        query: OverwritePageRequestWithSortT<Api2Paths.ApiV1CompanyShipperContracts.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1CompanyShipperContracts.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1CompanyShipperContracts.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/shipper-contracts`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchShipperContract = async (\n        contractId: ApiPaths.ApiV1CompanyShipperContracts$ContractIdSourceFile.Get.Parameters.ContractId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1CompanyShipperContracts$ContractIdSourceFile.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1CompanyShipperContracts$ContractIdSourceFile.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/shipper-contracts/${contractId}/source-file`,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    fetchShipperContractLanes = async (\n        contractId: Api2Paths.ApiV1CompanyShipperContracts$ContractIdLanes.Get.Parameters.ContractId,\n        query: OverwritePageRequestWithSortT<Api2Paths.ApiV1CompanyShipperContracts$ContractIdLanes.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1CompanyShipperContracts$ContractIdLanes.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1CompanyShipperContracts$ContractIdLanes.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/company/shipper-contracts/${contractId}/lanes`,\n            expectedResponseContentType: 'json',\n            query,\n        });\n    };\n\n    getOrderDetails = async (\n        orderId: Api2Paths.ApiV2Order$OrderId.Get.Parameters.OrderId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Order$OrderId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Order$OrderId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/order/${orderId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n}\n\nconst shipperTranziitApi = ShipperTranziitApi.getInstance();\n\nexport default shipperTranziitApi;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { TimeWindowThemeEnum } from 'common/components/Timeline/models';\nimport CargoUnitIcon from 'common/icons/CargoUnitIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport FilledWrenchIcon from 'common/icons/FilledWrenchIcon';\nimport TruckIcon from 'common/icons/TruckIcon';\n\nconst TIMELINE_ICON_SIZE = 16;\n\nexport type ScheduleTimeWindowFactoryT = ReturnType<typeof useScheduleTimeWindowFactory>;\n\nexport const useScheduleTimeWindowFactory = () => {\n    const { t } = useTranslation();\n\n    return React.useMemo(() => {\n        return {\n            accentTO: ({ entityNumber }: { entityNumber: string }) => ({\n                theme: TimeWindowThemeEnum.light,\n                icon: (\n                    <CargoUnitIcon\n                        size={TIMELINE_ICON_SIZE}\n                        opacity={0.4}\n                        fillColor={StyleGuideColorsEnum.transparent}\n                        strokeColor={StyleGuideColorsEnum.charcoal}\n                    />\n                ),\n                label: t('common:vehicle-schedule.event-type.to', {\n                    number: entityNumber || '',\n                }),\n            }),\n            serviceMaintenance: ({ isPastEvent, hasWarning }: { isPastEvent: boolean; hasWarning?: boolean }) => {\n                let theme = TimeWindowThemeEnum.lightSlateGray;\n                let iconFillColor = StyleGuideColorsEnum.transparent;\n                let iconStrokeColor = StyleGuideColorsEnum.charcoal;\n\n                if (isPastEvent) {\n                    theme = TimeWindowThemeEnum.charcoal;\n                    iconFillColor = StyleGuideColorsEnum.white;\n                    iconStrokeColor = StyleGuideColorsEnum.gray;\n                }\n\n                if (hasWarning) {\n                    theme = TimeWindowThemeEnum.tomatoRed70;\n                    iconFillColor = StyleGuideColorsEnum.white;\n                    iconStrokeColor = StyleGuideColorsEnum.gray;\n                }\n\n                return {\n                    theme,\n                    icon: (\n                        <FilledWrenchIcon\n                            size={TIMELINE_ICON_SIZE}\n                            fillOpacity={0.7}\n                            fillColor={iconFillColor}\n                            strokeColor={iconStrokeColor}\n                        />\n                    ),\n                    label: t('common:vehicle-schedule.event-type.service-maintenance'),\n                };\n            },\n            deadheadTO: ({\n                isPastEvent,\n                hasWarning,\n                entityNumber,\n            }: {\n                isPastEvent: boolean;\n                entityNumber: string;\n                hasWarning?: boolean;\n            }) => {\n                let theme = TimeWindowThemeEnum.tumbleweed;\n                let iconFillColor = StyleGuideColorsEnum.transparent;\n                let iconStrokeColor = StyleGuideColorsEnum.charcoal;\n\n                if (isPastEvent) {\n                    theme = TimeWindowThemeEnum.charcoal;\n                    iconFillColor = StyleGuideColorsEnum.white;\n                    iconStrokeColor = StyleGuideColorsEnum.gray;\n                }\n\n                if (hasWarning) {\n                    theme = TimeWindowThemeEnum.tomatoRed70;\n                    iconFillColor = StyleGuideColorsEnum.white;\n                    iconStrokeColor = StyleGuideColorsEnum.gray;\n                }\n\n                return {\n                    theme,\n                    icon: (\n                        <TruckIcon\n                            size={TIMELINE_ICON_SIZE}\n                            fillOpacity={0.4}\n                            fillColor={iconFillColor}\n                            strokeColor={iconStrokeColor}\n                        />\n                    ),\n                    label: t('common:vehicle-schedule.event-type.deadhead-to', {\n                        number: entityNumber || '',\n                    }),\n                };\n            },\n            to: ({\n                isPastEvent,\n                entityNumber,\n                hasWarning,\n            }: {\n                isPastEvent: boolean;\n                entityNumber: string;\n                hasWarning?: boolean;\n            }) => {\n                let theme = TimeWindowThemeEnum.pewterBlue;\n                let iconFillColor = StyleGuideColorsEnum.transparent;\n                let iconStrokeColor = StyleGuideColorsEnum.charcoal;\n\n                if (isPastEvent) {\n                    theme = TimeWindowThemeEnum.charcoal;\n                    iconFillColor = StyleGuideColorsEnum.light;\n                    iconStrokeColor = StyleGuideColorsEnum.gray;\n                }\n\n                if (hasWarning) {\n                    theme = TimeWindowThemeEnum.tomatoRed70;\n                    iconFillColor = StyleGuideColorsEnum.light;\n                    iconStrokeColor = StyleGuideColorsEnum.gray;\n                }\n\n                t('common:vehicle-schedule.event-type.warning-to', {\n                    number: entityNumber || '',\n                });\n\n                return {\n                    theme,\n                    icon: (\n                        <CargoUnitIcon\n                            size={TIMELINE_ICON_SIZE}\n                            opacity={0.4}\n                            fillColor={iconFillColor}\n                            strokeColor={iconStrokeColor}\n                        />\n                    ),\n                    label: t('common:vehicle-schedule.event-type.payload-to', {\n                        number: entityNumber || '',\n                    }),\n                };\n            },\n            inProgressTO: ({ entityNumber, hasWarning }: { entityNumber: string; hasWarning?: boolean }) => {\n                let theme = TimeWindowThemeEnum.brandAccent;\n                let iconFillColor = StyleGuideColorsEnum.transparent;\n                let iconStrokeColor = StyleGuideColorsEnum.charcoal;\n                let label = t('common:vehicle-schedule.event-type.in-progress-to', {\n                    number: entityNumber || '',\n                });\n\n                if (hasWarning) {\n                    theme = TimeWindowThemeEnum.tomatoRed70;\n                    iconFillColor = StyleGuideColorsEnum.white;\n                    iconStrokeColor = StyleGuideColorsEnum.gray;\n                    label = t('common:vehicle-schedule.event-type.warning-in-progress-to', {\n                        number: entityNumber || '',\n                    });\n                }\n\n                return {\n                    theme,\n                    icon: (\n                        <CargoUnitIcon\n                            size={TIMELINE_ICON_SIZE}\n                            opacity={0.4}\n                            fillColor={iconFillColor}\n                            strokeColor={iconStrokeColor}\n                        />\n                    ),\n                    label,\n                };\n            },\n        };\n    }, [t]);\n};\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ExcludedCountry.scss';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    countryCode: CountryCodeT;\n    countryLabel?: string;\n};\n\nconst ExcludedCountry: React.FC<PropsT> = React.memo((props) => {\n    const { countryCode, className, countryLabel } = props;\n\n    return (\n        <div className={className}>\n            <Tooltip\n                tooltipNode={\n                    countryLabel ? (\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {countryLabel}\n                        </TooltipContent>\n                    ) : null\n                }\n                position={TooltipPositionEnum.topCenter}\n                theme={TooltipThemeEnum.black}\n            >\n                {(isShow, childrenClassName) => (\n                    <div\n                        className={cs(\n                            cx('flag-wrap', {\n                                'flag-wrap--is-show': isShow,\n                            }),\n                            childrenClassName,\n                        )}\n                    >\n                        <FlagIcon countryCode={countryCode} className={cx('flag')} />\n                    </div>\n                )}\n            </Tooltip>\n        </div>\n    );\n});\n\nexport default ExcludedCountry;\n","import { useMemo } from 'react';\nimport { ApiStopTypeT, StopTypeEnum } from 'common/utils/api/models';\nimport { BrokerTourWaypointT } from 'broker-admin/store/broker-tour-details/models';\n\nconst useBrokerTourPayloadWaypoints = (brokerTourWaypoints: Array<BrokerTourWaypointT> | null | undefined) => {\n    return useMemo(() => {\n        if (!brokerTourWaypoints) {\n            return {\n                firstPayloadWaypoint: null,\n                lastPayloadWaypoint: null,\n            };\n        }\n\n        const originWaypoint = brokerTourWaypoints?.find((waypoint) => {\n            return waypoint?.origin;\n        });\n\n        const destinationWaypoint = brokerTourWaypoints?.find((waypoint) => {\n            return waypoint?.destination;\n        });\n\n        const payloadWaypointStopTypeSet = new Set<ApiStopTypeT>([\n            StopTypeEnum.pickupDeliveryShipment,\n            StopTypeEnum.driveThrough,\n            StopTypeEnum.dropAndHook,\n        ]);\n\n        const payloadWaypoints = brokerTourWaypoints?.filter((dispatchWaypoint) => {\n            return payloadWaypointStopTypeSet.has(dispatchWaypoint.type);\n        });\n\n        const firstPayloadWaypoint = payloadWaypoints[0] || null;\n        const lastPayloadWaypoint = payloadWaypoints[payloadWaypoints.length - 1] || null;\n\n        return {\n            originWaypoint: originWaypoint || firstPayloadWaypoint,\n            destinationWaypoint: destinationWaypoint || lastPayloadWaypoint,\n        };\n    }, [brokerTourWaypoints]);\n};\n\nexport { useBrokerTourPayloadWaypoints };\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxValue, checkMinValue, checkNotEmpty } from 'common/utils/form-validators';\nimport values from 'lodash/values';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNumber from 'lodash/isNumber';\n\nconst REQUIRED_FIELDS = values<FieldsEnum>(FieldsEnum);\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkMinValue(t, [FieldsEnum.firstRadiusOfAssignmentFilter], values, 10),\n        ...checkMaxValue(t, [FieldsEnum.firstRadiusOfAssignmentFilter], values, 500),\n        ...checkMaxValue(t, [FieldsEnum.secondRadiusOfAssignmentFilter], values, 1000),\n        ...checkMaxValue(t, [FieldsEnum.thirdRadiusOfAssignmentFilter], values, 2000),\n        ...checkMinValue(\n            t,\n            [\n                FieldsEnum.timeToHookTrailer,\n                FieldsEnum.timeToDropTrailer,\n                FieldsEnum.timeToPickupTruck,\n                FieldsEnum.timeToDropTruck,\n            ],\n            values,\n            0,\n        ),\n        ...checkMaxValue(\n            t,\n            [\n                FieldsEnum.timeToHookTrailer,\n                FieldsEnum.timeToDropTrailer,\n                FieldsEnum.timeToPickupTruck,\n                FieldsEnum.timeToDropTruck,\n            ],\n            values,\n            240,\n        ),\n\n        ...checkMinValue(t, [FieldsEnum.geoMatrixCoefficient], values, 1),\n        ...checkMaxValue(t, [FieldsEnum.geoMatrixCoefficient], values, 2),\n        ...checkMinValue(t, [FieldsEnum.averageTruckSpeed], values, 20),\n        ...checkMaxValue(t, [FieldsEnum.averageTruckSpeed], values, 120),\n    };\n\n    const firstRadiusOfAssignmentFilter = parseSimpleNumber(values[FieldsEnum.firstRadiusOfAssignmentFilter]);\n    const secondRadiusOfAssignmentFilter = parseSimpleNumber(values[FieldsEnum.secondRadiusOfAssignmentFilter]);\n    const thirdRadiusOfAssignmentFilter = parseSimpleNumber(values[FieldsEnum.thirdRadiusOfAssignmentFilter]);\n\n    if (\n        isNumber(firstRadiusOfAssignmentFilter) &&\n        isNumber(secondRadiusOfAssignmentFilter) &&\n        secondRadiusOfAssignmentFilter <= firstRadiusOfAssignmentFilter\n    ) {\n        errors[FieldsEnum.secondRadiusOfAssignmentFilter] = t(\n            'price-settings.assignment-form.errors.secondary-less-first',\n        );\n    }\n\n    if (\n        isNumber(firstRadiusOfAssignmentFilter) &&\n        isNumber(thirdRadiusOfAssignmentFilter) &&\n        thirdRadiusOfAssignmentFilter <= firstRadiusOfAssignmentFilter\n    ) {\n        errors[FieldsEnum.thirdRadiusOfAssignmentFilter] = t('price-settings.assignment-form.errors.third-less-first');\n    }\n\n    if (\n        isNumber(secondRadiusOfAssignmentFilter) &&\n        isNumber(thirdRadiusOfAssignmentFilter) &&\n        thirdRadiusOfAssignmentFilter <= secondRadiusOfAssignmentFilter\n    ) {\n        errors[FieldsEnum.thirdRadiusOfAssignmentFilter] = t('price-settings.assignment-form.errors.third-less-second');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import { selectUserSignedUp } from 'common/store/user/selectors';\nimport { call, put, select, take, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchNotificationsError,\n    fetchNotificationsPageBegin,\n    fetchNotificationsPageSuccess,\n    fetchUnreadNotificationsBegin,\n    fetchUnreadNotificationsError,\n    fetchUnreadNotificationsSuccess,\n    markAsReadBegin,\n    markAsReadError,\n    markAsReadSuccess,\n    resetNotificationPages,\n} from 'common/store/notifications/actions';\nimport {\n    FETCH_NOTIFICATIONS_PAGE_REQUEST,\n    FETCH_UNREAD_NOTIFICATIONS_REQUEST,\n    FetchNotificationsPageActionT,\n    MARK_AS_READ_REQUEST,\n    MarkAsReadActionT,\n    SEND_TEST_NOTIFICATION,\n    SendTestNotificationActionT,\n} from 'common/store/notifications/types';\nimport { FETCH_USER_REQUEST_SUCCESS } from 'common/store/user/types';\nimport { ApiNotificationT } from 'common/utils/api/models';\nimport { convertNotification } from './converter';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport {\n    selectLastUnReadNotification,\n    selectNotificationsPages,\n    selectNotificationsQuery,\n    selectUnReadNotificationsRequest,\n} from 'common/store/notifications/selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { checkIsSameQuery, convertPageEntities } from 'common/utils/pagination/utils';\nimport watchDocumentVisibilityChangeOrIntervalSaga from 'common/utils/watch-document-visibility-change-or-interval-saga';\nimport { UNREAD_NOTIFICATIONS_REFRESH_INTERVAL_MS } from 'common/store/notifications/constants';\nimport { newNotificationsChannel } from 'common/store/notifications/channels';\nimport { filterNewNotifications } from 'common/store/notifications/utils/filter-new-notifications';\nimport { logError } from 'common/utils/logger';\nimport { CompanyTypeEnum } from 'common/constants';\n\nfunction* sendTestNotificationSaga(action: SendTestNotificationActionT): WrapGeneratorT<void> {\n    try {\n        yield commonTranziitApi.sendTestNotification(JSON.parse(action.text));\n    } catch (error) {\n        logError('sent test notification error: ', error);\n    }\n}\nfunction createMarkAsReadNotificationsSaga(companyType: CompanyTypeEnum) {\n    return function* markAsReadNotificationsSaga(action: MarkAsReadActionT): WrapGeneratorT<void> {\n        const { ids, isAll } = action;\n\n        yield put(markAsReadBegin());\n        const [error]: ReturnApiT<typeof commonTranziitApi.markAsRead> = yield commonTranziitApi.markAsRead(ids, isAll);\n        if (error) {\n            yield put(markAsReadError(error));\n            return;\n        }\n\n        yield put(markAsReadSuccess(ids));\n\n        // eslint-disable-next-line no-use-before-define\n        yield call(createFetchUnReadNotificationsSaga(companyType));\n    };\n}\n\nfunction createFetchNotificationsPageSaga(companyType: CompanyTypeEnum) {\n    return function* fetchNotificationsPageSaga(action: FetchNotificationsPageActionT): WrapGeneratorT<void> {\n        const {\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            query: rawQuery,\n            pageNumber,\n            options,\n        } = action;\n\n        const query: typeof rawQuery = {};\n\n        const prevQuery: ReturnType<typeof selectNotificationsQuery> = yield select(selectNotificationsQuery);\n        const pages: ReturnType<typeof selectNotificationsPages> = yield select(selectNotificationsPages);\n        const isSameQuery = checkIsSameQuery(query, prevQuery);\n        const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n        if (isSameQuery && !isNeedRequest) {\n            return;\n        }\n        if (!isSameQuery) {\n            yield put(resetNotificationPages());\n        }\n\n        yield put(fetchNotificationsPageBegin(query, pageNumber));\n        const [error, response]: ReturnApiT<typeof commonTranziitApi.fetchNotificationsPage> =\n            yield commonTranziitApi.fetchNotificationsPage({\n                ...query,\n                page: pageNumber,\n            });\n\n        if (error) {\n            yield put(fetchNotificationsError(query, pageNumber, error));\n            return;\n        }\n\n        const newResponse = convertPageEntities(response, (apiNotification) => {\n            return convertNotification(\n                apiNotification as ApiNotificationT, // WTF?!? bad TS types due to the use of the discriminator for field \"data\" from openapi\n                {\n                    companyType,\n                },\n            );\n        });\n\n        yield put(fetchNotificationsPageSuccess(query, pageNumber, newResponse));\n    };\n}\n\nfunction* checkIsReadySaga(): WrapGeneratorT<void> {\n    const userSignedUp: ReturnType<typeof selectUserSignedUp> = yield select(selectUserSignedUp);\n    if (!userSignedUp) {\n        yield take([FETCH_USER_REQUEST_SUCCESS]);\n    }\n}\n\nfunction createFetchUnReadNotificationsSaga(companyType: CompanyTypeEnum) {\n    return function* fetchUnReadNotificationsSaga(): WrapGeneratorT<void> {\n        yield call(checkIsReadySaga);\n\n        const prevLastUnReadNotification: ReturnType<typeof selectLastUnReadNotification> = yield select(\n            selectLastUnReadNotification,\n        );\n        const prevUnReadNotificationsRequest: ReturnType<typeof selectUnReadNotificationsRequest> = yield select(\n            selectUnReadNotificationsRequest,\n        );\n\n        yield put(fetchUnreadNotificationsBegin());\n\n        const [errorApiUnReadNotifications, apiUnReadNotifications]: ReturnApiT<\n            typeof commonTranziitApi.fetchUnReadNotifications\n        > = yield commonTranziitApi.fetchUnReadNotifications();\n\n        if (errorApiUnReadNotifications) {\n            yield put(fetchUnreadNotificationsError(errorApiUnReadNotifications));\n            return;\n        }\n\n        const unreadNotifications = (apiUnReadNotifications || []).map((apiUnReadNotification) => {\n            return convertNotification(\n                apiUnReadNotification as ApiNotificationT, // WTF?!? bad TS types due to the use of the discriminator for field \"data\" from openapi\n                {\n                    companyType,\n                },\n            );\n        });\n\n        yield put(fetchUnreadNotificationsSuccess(unreadNotifications));\n\n        const newNotifications = filterNewNotifications({\n            notifications: unreadNotifications,\n            prevLastUnReadNotification,\n            prevUnReadNotificationsRequest,\n        });\n        if (newNotifications?.length) {\n            newNotificationsChannel.emit({\n                newNotifications,\n            });\n        }\n    };\n}\n\nfunction* notificationsSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(SEND_TEST_NOTIFICATION, sendTestNotificationSaga);\n    yield takeEvery(MARK_AS_READ_REQUEST, createMarkAsReadNotificationsSaga(companyType));\n    yield takeEvery(FETCH_NOTIFICATIONS_PAGE_REQUEST, createFetchNotificationsPageSaga(companyType));\n    yield takeEvery([FETCH_UNREAD_NOTIFICATIONS_REQUEST], createFetchUnReadNotificationsSaga(companyType));\n    yield call(\n        watchDocumentVisibilityChangeOrIntervalSaga,\n        createFetchUnReadNotificationsSaga(companyType),\n        UNREAD_NOTIFICATIONS_REFRESH_INTERVAL_MS,\n    );\n}\n\nexport default notificationsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"route-type-switcher\":\"BrokerOrderRouteMap__route-type-switcher___bS1eq\",\"loader\":\"BrokerOrderRouteMap__loader___AdHR8\",\"route-point-pin\":\"BrokerOrderRouteMap__route-point-pin___Q5Kyc\",\"fadeIn\":\"BrokerOrderRouteMap__fadeIn___AzXR2\",\"blinking\":\"BrokerOrderRouteMap__blinking___PPv2T\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ReadOnlyField__wrap___YPyyO\",\"wrap--withoutErrorMessage\":\"ReadOnlyField__wrap--withoutErrorMessage___zQEHz\",\"text\":\"ReadOnlyField__text___zOULv\",\"field-label\":\"ReadOnlyField__field-label___urTAK\",\"tooltip\":\"ReadOnlyField__tooltip___Obq8s\",\"tooltip__icon\":\"ReadOnlyField__tooltip__icon____05bo\",\"fadeIn\":\"ReadOnlyField__fadeIn___RH8Sc\",\"blinking\":\"ReadOnlyField__blinking___TSljC\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst EuroSymbolIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, ...restProps } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" {...restProps}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M11.8 14.5c-1.467 0-2.754-.711-3.582-1.8H11.8l.9-1.8H7.39a4.921 4.921 0 01-.09-.9c0-.306.036-.612.09-.9h4.41l.9-1.8H8.218c.828-1.089 2.115-1.8 3.582-1.8a4.52 4.52 0 013.186 1.314l1.269-1.269A6.278 6.278 0 0011.8 3.7c-2.511 0-4.671 1.476-5.688 3.6H3.7l-.9 1.8h2.772a5.97 5.97 0 00-.072.9c0 .306.027.603.072.9H3.7l-.9 1.8h3.312a6.299 6.299 0 0010.143 1.755l-1.269-1.269A4.52 4.52 0 0111.8 14.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nEuroSymbolIcon.displayName = 'EuroSymbolIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default EuroSymbolIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"details\":\"CollapsedOfferDetails__details___ZrJ3L\",\"icon\":\"CollapsedOfferDetails__icon___vdxNl\",\"price\":\"CollapsedOfferDetails__price___c3H4D\",\"price__total\":\"CollapsedOfferDetails__price__total___LWiCJ\",\"price__total--changed\":\"CollapsedOfferDetails__price__total--changed___n9rpI\",\"price__description\":\"CollapsedOfferDetails__price__description___KNZ_D\",\"price-details-trigger\":\"CollapsedOfferDetails__price-details-trigger___wnrfD\",\"edit\":\"CollapsedOfferDetails__edit___eEYMW\",\"other-details\":\"CollapsedOfferDetails__other-details___mmD8F\",\"other-details__row--first\":\"CollapsedOfferDetails__other-details__row--first___dQgJK\",\"attribute\":\"CollapsedOfferDetails__attribute___lS2yP\",\"attributes\":\"CollapsedOfferDetails__attributes___HRIMi\",\"emission__icon\":\"CollapsedOfferDetails__emission__icon___oEbFc\",\"emission__value\":\"CollapsedOfferDetails__emission__value___zI1f7\",\"emission-labels\":\"CollapsedOfferDetails__emission-labels___KKsiq\",\"fadeIn\":\"CollapsedOfferDetails__fadeIn___roY58\",\"blinking\":\"CollapsedOfferDetails__blinking___yxsd2\"};","import * as React from 'react';\n\nimport { Route, Switch } from 'react-router-dom';\n\nimport { BrokerOrdersRoutesEnum } from 'broker-admin/constants';\n\nimport BrokerOrderDetailsPage from './BrokerOrderDetailsPage/BrokerOrderDetailsPage';\nimport BrokerOrderListPage from './BrokerOrderListPage/BrokerOrderListPage';\nimport BrokerOrderAssignmentPage from './BrokerOrderAssignmentPage/BrokerOrderAssignmentPage';\nimport BrokerOrderRouteEditPage from './BrokerOrderRouteEditPage/BrokerOrderRouteEditPage';\n\ntype PropsT = {};\n\nconst BrokerOrdersPage: React.FC<PropsT> = React.memo(() => {\n    return (\n        <Switch>\n            <Route path={BrokerOrdersRoutesEnum.brokerOrderAssignment}>\n                <BrokerOrderAssignmentPage />\n            </Route>\n            <Route path={BrokerOrdersRoutesEnum.brokerOrderRouteEdit}>\n                <BrokerOrderRouteEditPage />\n            </Route>\n            <Route path={BrokerOrdersRoutesEnum.brokerOrderDetails}>\n                <BrokerOrderDetailsPage />\n            </Route>\n            <Route path=\"*\">\n                <BrokerOrderListPage />\n            </Route>\n        </Switch>\n    );\n});\n\nexport default BrokerOrdersPage;\n","export class RemoteFile<T> {\n    name: string;\n\n    downloadData: T;\n\n    constructor({ name, downloadData }: { name: string; downloadData: T }) {\n        this.name = name;\n        this.downloadData = downloadData;\n    }\n}\n","import * as React from 'react';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst BigSearchIcon: React.FC<PropsT> = (props) => {\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"130\" viewBox=\"0 0 200 130\" {...props}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M15 20h170v90H15z\" />\n                <path\n                    fill=\"#8ABA2E\"\n                    fillOpacity=\"0.05\"\n                    d=\"M176 20a7 7 0 110 14h-40a7 7 0 110 14h22a7 7 0 110 14h-10.174c-4.874 0-8.826 3.134-8.826 7 0 2.577 2 4.91 6 7a7 7 0 110 14H62a7 7 0 110-14H23a7 7 0 110-14h40a7 7 0 100-14H38a7 7 0 110-14h40a7 7 0 110-14h98zm0 28a7 7 0 110 14 7 7 0 010-14z\"\n                />\n                <g strokeWidth=\"2.5\" transform=\"translate(56 21)\">\n                    <circle cx=\"33.5\" cy=\"33.5\" r=\"33.5\" fill=\"#8ABA2E\" fillOpacity=\"0.3\" stroke=\"#8ABA2E\" />\n                    <path\n                        fill=\"#FFF\"\n                        stroke=\"#8ABA2E\"\n                        strokeLinecap=\"round\"\n                        d=\"M28.132 59.494c1.759.325 3.548.493 5.368.506C48.136 60 60 48.136 60 33.5S48.136 7 33.5 7c-3.76 0-7.336.783-10.576 2.195A26.605 26.605 0 009.896 21.442 26.391 26.391 0 007 33.5a26.403 26.403 0 006.684 17.596\"\n                    />\n                    <path\n                        stroke=\"#8ABA2E\"\n                        strokeLinecap=\"round\"\n                        d=\"M16.797 54.075a26.491 26.491 0 007.204 4.172M34 15c-1.723 0-3.392.23-4.979.659C20.943 17.847 15 25.229 15 34\"\n                    />\n                    <path stroke=\"#8ABA2E\" d=\"M61 60l6 6\" />\n                    <path\n                        fill=\"#8ABA2E\"\n                        fillOpacity=\"0.3\"\n                        stroke=\"#8ABA2E\"\n                        d=\"M69.457 63.61c1.24 0 2.481.474 3.427 1.42h0L83.97 76.116a4.832 4.832 0 011.42 3.427c0 1.24-.474 2.48-1.42 3.427a4.835 4.835 0 01-3.427 1.42 4.833 4.833 0 01-3.427-1.42h0L66.03 71.884a4.832 4.832 0 01-1.42-3.427c0-1.24.474-2.48 1.42-3.427a4.835 4.835 0 013.427-1.42z\"\n                    />\n                    <path stroke=\"#FFF\" strokeLinecap=\"round\" d=\"M71 67l11 11\" />\n                </g>\n                <path\n                    stroke=\"#8ABA2E\"\n                    strokeLinecap=\"round\"\n                    strokeLinejoin=\"round\"\n                    strokeWidth=\"2.5\"\n                    d=\"M149.5 47h-17.176m24.176 0h-2.221m-11.103 7.777H135M48.5 68H31.324M25.5 68h-4.221m31.897 8.777H45\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigSearchIcon.displayName = 'BigSearchIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default BigSearchIcon;\n","import React, { useCallback } from 'react';\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './BrokerUserControl.scss';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport DropdownSearchMultipleInput, {\n    RenderTriggerPropsT,\n} from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiCompanyContactT } from 'common/utils/api/models';\nimport AccountIcon from 'common/icons/AccountIcon';\nimport Avatar, { AvatarSizeEnum } from 'common/components/Avatar/Avatar';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type BrokerUserControlValueT = ValueT;\n\nexport type BrokerUserControlOptionT = OptionT;\n\ntype OptionT = {\n    id: ApiCompanyContactT['id'];\n    fullName: ApiCompanyContactT['fullName'];\n    email?: ApiCompanyContactT['email'];\n};\n\ntype ValueT = OptionT['id'] | null;\n\ntype PropsT = {\n    className?: string;\n    companyId: CompanyIdT | null;\n    initialOptions?: Array<OptionT>;\n    initialRequestStatus?: RequestStatusT;\n    onSelect: (values: Array<ValueT>, options: Array<OptionT>) => void;\n    values: Array<ValueT>;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    overlayClassName?: string;\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasError?: InputPropsT['hasError'];\n    hasWarning?: InputPropsT['hasWarning'];\n    placeholder?: InputPropsT['placeholder'];\n    onBlur?: InputPropsT['onBlur'];\n    onFocus?: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    allowedQueryMinLength?: number;\n};\n\nconst BrokerUserControl: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        companyId,\n        initialOptions,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        hasClearControl,\n        overlayPosition,\n        overlayClassName,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        initialRequestStatus,\n        allowedQueryMinLength,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback(\n        (query) => {\n            if (!companyId) {\n                return Promise.resolve([null, [] as Array<OptionT>]);\n            }\n\n            return brokerTranziitApi\n                .findPartnerUsersByName(companyId, {\n                    userName: query || undefined,\n                })\n                .then((response): AsyncRequestFactoryResultT<OptionT> => {\n                    const [error, result] = response;\n                    if (error) {\n                        return [error, null];\n                    }\n\n                    const items: Array<OptionT> =\n                        result?.map((item) => {\n                            return {\n                                id: item.id,\n                                fullName: item.fullName,\n                            };\n                        }) || [];\n\n                    return [null, items];\n                });\n        },\n        [companyId],\n    );\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions,\n        requestFactory,\n        settings: { allowedQueryMinLength },\n    });\n\n    const handleSelect = (values: Array<ValueT>) => {\n        const valueSet = new Set(values);\n\n        const options = asyncOptionsRequest.options.filter((option) => {\n            const optionValue = getOptionValue(option);\n            return valueSet.has(optionValue);\n        });\n\n        onSelect(values, options);\n    };\n\n    const handleReset = () => {\n        onSelect([], []);\n    };\n\n    const handleFocus: InputPropsT['onFocus'] = () => {\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        const label = option.fullName || option.email || '-';\n\n        return (\n            <DropdownControlOptionLabel\n                className={cx('option')}\n                withoutPaddings\n                icon={label ? <Avatar size={AvatarSizeEnum.small} hash={label} /> : null}\n                label={label || ''}\n            />\n        );\n    };\n\n    const renderTrigger = (\n        props: RenderTriggerPropsT,\n        options: Array<OptionT>,\n        placeholder: string | undefined,\n    ): React.ReactNode => {\n        const count = options?.length || 0;\n\n        let label: React.ReactNode = (\n            <>\n                {t('common-components.broker-user-suggest.multiple-values-selected')}\n                {Boolean(count) && (\n                    <PillLabel className={cx('count')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                        {count}\n                    </PillLabel>\n                )}\n            </>\n        );\n\n        if (props.isEmpty) {\n            label = placeholder;\n        }\n\n        if (options?.length === 1) {\n            const firstOption = options?.[0] || null;\n            label = firstOption?.fullName || '';\n        }\n\n        return (\n            <TransparentTrigger\n                onClick={props.onClick}\n                isPressed={props.isPressed}\n                label={label}\n                leftIcon={\n                    <AccountIcon\n                        size={DEFAULT_ICON_SIZE}\n                        fillColor={StyleGuideColorsEnum.brandAccent}\n                        strokeColor={StyleGuideColorsEnum.charcoal}\n                    />\n                }\n                rightIcon={<ArrowsIcon />}\n                reflectionTheme={ReflectionThemeEnum.light}\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values}\n            placeholder={placeholder}\n            options={asyncOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            renderOption={renderOption}\n            renderTrigger={renderTrigger}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            overlayClassName={overlayClassName}\n            isLoading={asyncOptionsRequest.requestStatus.loading || initialRequestStatus?.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default BrokerUserControl;\n","// extracted by mini-css-extract-plugin\nexport default {\"field--type\":\"TrailerFiltersSidebarContent__field--type___kZrPu\",\"field--user\":\"TrailerFiltersSidebarContent__field--user___TzBrv\",\"field--date\":\"TrailerFiltersSidebarContent__field--date___KvTDy\",\"field--contract\":\"TrailerFiltersSidebarContent__field--contract___uzet9\",\"field--plate-number\":\"TrailerFiltersSidebarContent__field--plate-number___v2hgm\",\"field--country\":\"TrailerFiltersSidebarContent__field--country___q8XE5\",\"field--status\":\"TrailerFiltersSidebarContent__field--status___G371s\",\"form\":\"TrailerFiltersSidebarContent__form___TH4yd\",\"fadeIn\":\"TrailerFiltersSidebarContent__fadeIn___sWdmr\",\"blinking\":\"TrailerFiltersSidebarContent__blinking___s6oIB\"};","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './FieldLabel.scss';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    label?: React.ReactNode;\n    subLabel?: React.ReactNode;\n    tooltipNode?: React.ReactNode;\n    tooltipPosition?: TooltipPositionEnum;\n    rightNode?: React.ReactNode;\n};\n\nconst SHOW_TOOLTIP_DELAY = 300;\n\nconst FieldLabel: React.FC<PropsT> = React.memo((props) => {\n    const { className, label, subLabel, tooltipNode, tooltipPosition, rightNode } = props;\n\n    return (\n        <div className={cs(cx('label'), className)}>\n            <div className={cx('left-node')}>\n                <span className={cx('text')}>{label || ' '}</span>\n                {tooltipNode && (\n                    <Tooltip\n                        className={cx('tooltip')}\n                        position={tooltipPosition || TooltipPositionEnum.topCenter}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={tooltipNode}\n                        delay={SHOW_TOOLTIP_DELAY}\n                    >\n                        {(isShow) => <TooltipIconTrigger className={cx('tooltip__icon')} isShow={isShow} />}\n                    </Tooltip>\n                )}\n                {subLabel}\n            </div>\n            <div className={cx('right-node')}>{rightNode}</div>\n        </div>\n    );\n});\n\nexport default FieldLabel;\n","import * as React from 'react';\nimport { useCallback } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnersPage.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport { ApiInvitePartnerRequestT, PartnersSortEnum, PartnerTypeEnum } from 'common/utils/api/models';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\n\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport {\n    selectPartnerCreationRequest,\n    selectPartnersByIds,\n    selectPartnersPages,\n    selectPartnersTotal,\n} from 'broker-admin/store/partners/selectors';\nimport { PartnerT } from 'broker-admin/store/partners/models';\nimport { fetchPartnersPage, invitePartnerRequest } from 'broker-admin/store/partners/actions';\nimport PartnersTable from './PartnersTable/PartnersTable';\n\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport PartnerTypeControl from 'broker-admin/layouts/PartnersPage/PartnerTypeControl/PartnerTypeControl';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport Switcher from 'common/components/Switcher/Switcher';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport { prepareFetchPageQuery } from 'broker-admin/layouts/PartnersPage/prepare-fetch-page-query';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { useHistoryPush } from 'common/utils/hooks/useHistoryPush';\nimport { partnersPaginationChannel, partnersRefreshChannel } from 'broker-admin/store/partners/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useQueryParams } from 'use-query-params';\nimport { useCheckOpenedSidebar, useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport InvitePartnerDialog, {\n    InvitePartnerModalDataT,\n} from 'broker-admin/layouts/PartnersPage/dialogs/InvitePartnerDialog/InvitePartnerDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PartnersPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const { historyPush } = useHistoryPush();\n    const permissions = useSelector(selectPermissions);\n\n    const total = useSelector(selectPartnersTotal);\n    const partnersPages = useSelector(selectPartnersPages);\n    const partnersById = useSelector(selectPartnersByIds);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const isOpenedFilters = useCheckOpenedSidebar(BrokerSidebarsTypeEnum.partnerFilter);\n    const showFilters = React.useCallback(() => {\n        openLeftSidebar({\n            type: BrokerSidebarsTypeEnum.partnerFilter,\n        });\n    }, [openLeftSidebar]);\n\n    const creationRequestStatus = useSelector(selectPartnerCreationRequest);\n\n    const invitePartnerModalDialog = useModalDialog<InvitePartnerModalDataT>();\n    useCloseModalDialogAfterRequest(creationRequestStatus, [invitePartnerModalDialog]);\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.partnersPage]: createPageNumberParam(),\n        [QueryKeysEnum.partnersSort]: createSortParams<PartnersSortEnum>({\n            value: PartnersSortEnum.name,\n            direction: SortDirectionEnum.DESC,\n        }),\n        [QueryKeysEnum.partnersFilters]: createJsonParams<QueryFiltersT>({}),\n    });\n\n    const selectedSort = query[QueryKeysEnum.partnersSort];\n    const pageNumber = query[QueryKeysEnum.partnersPage];\n    const queryFilters = query[QueryKeysEnum.partnersFilters];\n\n    const page = partnersPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    React.useEffect(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchPartnersPage(pageNumber, query));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchPartnersPage(pageNumber, query, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n    useChannelSubscribe(partnersRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchPartnersPage(pageNumber, query, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchPartnersPage(pageNumber, query, { isForceUpdate: false }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const partners = React.useMemo(() => {\n        return (ids || []).map((id): PartnerT => partnersById[id]);\n    }, [ids, partnersById]);\n\n    const goToPage = useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.partnersPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof partnersPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(partnersPaginationChannel, setPageHandler);\n\n    const goToPartnerDetails = (event: React.MouseEvent, partnerType: PartnerTypeEnum, partnerId: PartnerIdT) => {\n        historyPush(event, urlFactory.partnerDetails(partnerType, partnerId));\n    };\n\n    const sortOptions: Array<SortDropdownOptionT<PartnersSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('partners-table.sorts.triggers.name'),\n                value: PartnersSortEnum.name,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<PartnersSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.partnersPage]: 0,\n            [QueryKeysEnum.partnersSort]: sort,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        const queryFilters = {\n            ...selectedQueryFilters,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.partnersPage]: 0,\n            [QueryKeysEnum.partnersFilters]: queryFilters,\n        });\n    };\n\n    const partnerCreationOptions: Array<DropdownControlOptionT> = [\n        {\n            label: <DropdownControlOptionLabel label={t('partners-table.add-business-partner.create-manually')} />,\n            onSelect: () => {\n                openLeftSidebar({\n                    type: BrokerSidebarsTypeEnum.createPartner,\n                });\n            },\n        },\n        {\n            label: <DropdownControlOptionLabel label={t('partners-table.add-business-partner.invite-email')} />,\n            onSelect: () => {\n                invitePartnerModalDialog.setData({});\n            },\n        },\n    ];\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    const countriesByCode = useSelector(selectCountriesByCode);\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                render: (queryFilters) => {\n                    return t('partner.filters.filters-view.key-account-manager', {\n                        value: queryFilters[QueryFiltersKeysEnum.keyAccountManagerName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.keyAccountManagerId, QueryFiltersKeysEnum.keyAccountManagerName],\n            },\n            {\n                render: (queryFilters) => {\n                    return t('partner.filters.filters-view.dispatcher', {\n                        value: queryFilters[QueryFiltersKeysEnum.dispatcherName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dispatcherId, QueryFiltersKeysEnum.dispatcherName],\n            },\n            {\n                render: (queryFilters) => {\n                    const countryCode = queryFilters[QueryFiltersKeysEnum.countryCode];\n                    const country = countriesByCode[countryCode as CountryCodeT];\n\n                    return t('partner.filters.filters-view.country', {\n                        value: country?.userLangDisplayName || countryCode,\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.countryCode],\n            },\n        ],\n        [t, countriesByCode],\n    );\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.partnersFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.partnersPage]: 0,\n            [QueryKeysEnum.partnersFilters]: queryFilters,\n        });\n    };\n\n    const handleSelectPartnerType = (partnerType: PartnerTypeEnum | null) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.partnerType]: partnerType || undefined,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.searchText]: searchText || undefined,\n        });\n    };\n\n    const toggleWithUpdates = (value: boolean) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.withUpdates]: value,\n        });\n    };\n\n    const resetQueryFilters = () => {\n        changeQuery({\n            [QueryKeysEnum.partnersPage]: 0,\n            [QueryKeysEnum.partnersFilters]: {},\n        });\n    };\n\n    const handlePatrnerInvite = (data: ApiInvitePartnerRequestT) => {\n        dispatch(invitePartnerRequest(data));\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(partners, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters([], [queryFilters]);\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('partners-table.messages.not-found.title')}\n                    description={t('partners-table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('partners-table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => {\n                        resetQueryFilters();\n                    }}\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('partners-table.messages.empty-quick-filters.title')}\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('partners-table.messages.empty.title')}\n                description={t('partners-table.messages.empty.description')}\n                isShowAction={permissions.canAddPartner}\n                actionTitle={t('partners-table.messages.empty.action')}\n                onActionClick={() => {\n                    openLeftSidebar({\n                        type: BrokerSidebarsTypeEnum.createPartner,\n                    });\n                }}\n            />\n        );\n    };\n\n    return (\n        <ScrollableContent>\n            <PageTitle title={t('page-titles.partners')} />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent title={t('partners-table.title')} rightNode={<NotificationsBarTrigger />} />\n                </TopBar>\n                <ListPageLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                <FiltersTrigger\n                                    title={t('partners-table.filters.trigger')}\n                                    isActive={isOpenedFilters}\n                                    onClick={showFilters}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                                <PartnerTypeControl\n                                    selectedType={queryFilters[QueryFiltersKeysEnum.partnerType] || null}\n                                    onSelect={handleSelectPartnerType}\n                                />\n                                <SearchControl\n                                    placeholder={t('partners-table.search-placeholder')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                                <Switcher\n                                    checked={!!queryFilters[QueryFiltersKeysEnum.withUpdates]}\n                                    onToggle={toggleWithUpdates}\n                                    label={t('partners-table.with-updates-only')}\n                                />\n                            </>\n                        }\n                        rightToolsNode={\n                            <>\n                                {permissions.canAddPartner && (\n                                    <DropdownControl\n                                        options={partnerCreationOptions}\n                                        renderTrigger={(isActive, onClick) => (\n                                            <Button\n                                                theme={ButtonThemeEnum.primary}\n                                                onClick={onClick}\n                                                rightIcon={<ExpandIcon fillColor={StyleGuideColorsEnum.white} />}\n                                                isPressed={isActive}\n                                            >\n                                                {t('partners-table.add-business-partner.trigger')}\n                                            </Button>\n                                        )}\n                                        overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                    />\n                                )}\n                            </>\n                        }\n                        filterTagsNode={\n                            <FilterPills<QueryFiltersT>\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                                config={filterPillsConfig}\n                            />\n                        }\n                    />\n                    {renderTableMessage()}\n                    <PartnersTable\n                        isLoading={requestStatus?.loading}\n                        partners={partners}\n                        goToPartnerDetails={goToPartnerDetails}\n                        canDeletePartner={permissions.canDeletePartner}\n                    />\n                </ListPageLayout>\n            </ContentMargins>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n            <InvitePartnerDialog\n                data={invitePartnerModalDialog.data}\n                onClose={invitePartnerModalDialog.onClose}\n                requestStatus={creationRequestStatus}\n                onInvitePartner={handlePatrnerInvite}\n            />\n            <SideBars />\n        </ScrollableContent>\n    );\n});\n\nexport default PartnersPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"warning\":\"WarningTextFormatter__warning___ZzJe5\",\"fadeIn\":\"WarningTextFormatter__fadeIn___PnoN5\",\"blinking\":\"WarningTextFormatter__blinking___P__Kf\"};","import * as React from 'react';\nimport { ApiCarrierContractStatusT, CarrierContractStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiCarrierContractStatusT | null | undefined;\n};\n\nexport const CARRIER_CONTRACT_STATUS_T_MAP: Record<ApiCarrierContractStatusT, string> = {\n    [CarrierContractStatusEnum.waitingForApprove]: 'common:document-status.WAITING_FOR_APPROVE',\n    [CarrierContractStatusEnum.approved]: 'common:document-status.APPROVED',\n    [CarrierContractStatusEnum.rejected]: 'common:document-status.REJECTED',\n    [CarrierContractStatusEnum.revoked]: 'common:document-status.REVOKED',\n    [CarrierContractStatusEnum.expired]: 'common:document-status.EXPIRED',\n};\n\nconst CarrierContractStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return t('common:document-status.not-upload');\n    }\n\n    return t(CARRIER_CONTRACT_STATUS_T_MAP[status]);\n});\n\nexport default CarrierContractStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"team-name\":\"TeamName__team-name___R8C3Y\",\"fadeIn\":\"TeamName__fadeIn___pRN5M\",\"blinking\":\"TeamName__blinking___HxfUs\"};","// extracted by mini-css-extract-plugin\nexport default {\"flag\":\"LocationCell__flag___MKCMZ\",\"country\":\"LocationCell__country___WH01K\",\"address\":\"LocationCell__address___yuyxb\",\"fadeIn\":\"LocationCell__fadeIn___B7yl8\",\"blinking\":\"LocationCell__blinking___rzmeo\"};","import { isNonNil } from 'common/utils';\nimport Supercluster from 'supercluster';\nimport { BrokerOrderAssigmentStateT } from 'broker-admin/store/broker-order-assigment/types';\nimport { LinksT } from 'broker-admin/store/broker-order-assigment/models';\n\nexport type GeoJsonPropertiesT = {\n    id: string;\n    truckId: string | null;\n    trailerId: string | null;\n};\n\ntype GetVehicleGeoJsonParamsT = {\n    truckId: TruckIdT | null;\n    trailerId: TrailerIdT | null;\n    trailerById: BrokerOrderAssigmentStateT['trailerById'];\n    truckById: BrokerOrderAssigmentStateT['truckById'];\n};\n\nconst getVehicleGeoJson = (params: GetVehicleGeoJsonParamsT) => {\n    const { truckId, trailerId, truckById, trailerById } = params;\n\n    const vehicleDetails = trailerById[trailerId as TrailerIdT] || truckById[truckId as TruckIdT];\n    if (!vehicleDetails?.expectedLongitude || !vehicleDetails?.expectedLatitude) {\n        return null;\n    }\n\n    const geoJson: Supercluster.PointFeature<GeoJsonPropertiesT> = {\n        type: 'Feature',\n        geometry: {\n            type: 'Point',\n            coordinates: [vehicleDetails.expectedLongitude, vehicleDetails.expectedLatitude],\n        },\n        properties: {\n            id: `${truckId}_${trailerId}`,\n            truckId: truckId || null,\n            trailerId: trailerId || null,\n        },\n    };\n\n    return geoJson;\n};\n\ntype VehicleT = {\n    trailerId: TrailerIdT | null;\n    truckId: TruckIdT | null;\n};\n\ntype CreateVehiclesGeoJsonParamsT = {\n    vehicles: Array<VehicleT>;\n    trailerById: BrokerOrderAssigmentStateT['trailerById'];\n    truckById: BrokerOrderAssigmentStateT['truckById'];\n    options: {\n        showCanBeInTime: boolean;\n        showNotCanBeInTime: boolean;\n        showSelectedNotCanBeInTime: boolean;\n        blockSelectTruck: boolean;\n        blockSelectTrailer: boolean;\n    };\n    selectedTrailerId: TrailerIdT | null;\n    selectedTruckId: TruckIdT | null;\n    vehicleLinks: LinksT;\n};\n\nexport const createVehiclesGeoJson = (\n    params: CreateVehiclesGeoJsonParamsT,\n): Array<Supercluster.PointFeature<GeoJsonPropertiesT>> => {\n    const { vehicles, truckById, trailerById, options, selectedTrailerId, selectedTruckId, vehicleLinks } = params;\n\n    const availableTrailersToHooks = truckById[selectedTruckId as TruckIdT]?.assetsToHook || null;\n    const availableTrailersToHooksSet = availableTrailersToHooks ? new Set(availableTrailersToHooks) : null;\n    const availableTrucksToHooks = trailerById[selectedTrailerId as TrailerIdT]?.assetsToHook || null;\n    const availableTrucksToHooksSet = availableTrucksToHooks ? new Set(availableTrucksToHooks) : null;\n\n    let outOfAreaSelectedTrailerId = selectedTrailerId;\n    let outOfAreaSelectedTruckId = selectedTruckId;\n\n    const prepareVehicleGeoJson = (vehicle: VehicleT): TODO => {\n        let viewTruckId = null;\n        let viewTrailerId = null;\n\n        const canInTimeTruck =\n            !truckById[vehicle.truckId as TruckIdT]?.invalidReason &&\n            (availableTrucksToHooksSet ? availableTrucksToHooksSet.has(vehicle.truckId as TruckIdT) : true);\n        const isShowTruck =\n            ((options?.showCanBeInTime && canInTimeTruck) ||\n                (options?.showNotCanBeInTime && !canInTimeTruck) ||\n                (options?.showSelectedNotCanBeInTime &&\n                    selectedTruckId &&\n                    selectedTruckId === vehicle.truckId &&\n                    !canInTimeTruck)) &&\n            (!options?.blockSelectTruck || selectedTruckId === vehicle.truckId);\n        if (vehicle.truckId && isShowTruck) {\n            viewTruckId = vehicle.truckId;\n        }\n\n        const canInTimeTrailer =\n            !trailerById[vehicle.trailerId as TrailerIdT]?.invalidReason &&\n            (availableTrailersToHooksSet ? availableTrailersToHooksSet.has(vehicle.trailerId as TrailerIdT) : true);\n        const isShowTrailer =\n            ((options?.showCanBeInTime && canInTimeTrailer) ||\n                (options?.showNotCanBeInTime && !canInTimeTrailer) ||\n                (options?.showSelectedNotCanBeInTime &&\n                    selectedTrailerId &&\n                    selectedTrailerId === vehicle.trailerId &&\n                    !canInTimeTrailer)) &&\n            (!options?.blockSelectTrailer || selectedTrailerId === vehicle.trailerId);\n        if (vehicle.trailerId && isShowTrailer) {\n            viewTrailerId = vehicle.trailerId;\n        }\n\n        if (!viewTruckId && !viewTrailerId) {\n            return null;\n        }\n\n        return getVehicleGeoJson({\n            truckId: vehicle.truckId,\n            trailerId: vehicle.trailerId,\n            trailerById,\n            truckById,\n        });\n    };\n\n    const vehiclesGeoJsons = vehicles.map((vehicle) => {\n        const vehiclesGeoJson = prepareVehicleGeoJson(vehicle);\n\n        if (vehiclesGeoJson && outOfAreaSelectedTrailerId === vehicle.trailerId) {\n            outOfAreaSelectedTrailerId = null;\n        }\n        if (vehiclesGeoJson && outOfAreaSelectedTruckId === vehicle.truckId) {\n            outOfAreaSelectedTruckId = null;\n        }\n\n        return vehiclesGeoJson;\n    });\n\n    const outOfAreaVehicles: Array<VehicleT> = [];\n\n    const outOfAreaSelectedLinkedTruckId = vehicleLinks.byTrailerId[outOfAreaSelectedTrailerId as TrailerIdT] || null;\n    if (outOfAreaSelectedLinkedTruckId) {\n        outOfAreaVehicles.push({\n            trailerId: outOfAreaSelectedTrailerId,\n            truckId: outOfAreaSelectedLinkedTruckId,\n        });\n    } else {\n        if (outOfAreaSelectedTrailerId) {\n            outOfAreaVehicles.push({\n                trailerId: outOfAreaSelectedTrailerId,\n                truckId: null,\n            });\n        }\n\n        if (outOfAreaSelectedTruckId) {\n            outOfAreaVehicles.push({\n                trailerId: null,\n                truckId: outOfAreaSelectedTruckId,\n            });\n        }\n    }\n\n    const outOfAreaVehiclesGeoJsons = outOfAreaVehicles.map(prepareVehicleGeoJson);\n\n    return [...outOfAreaVehiclesGeoJsons, ...vehiclesGeoJsons].filter(isNonNil);\n};\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const partnersRefreshChannel = new ViewEventChannel<{}>();\n\nexport const partnersPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './ColoredPriceRuleStatusLabel.scss';\nimport PriceRuleStatusLabel from 'broker-admin/components/status/PriceRuleStatusLabel/PriceRuleStatusLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isActive: boolean | null | undefined;\n};\n\nconst ColoredPriceRuleStatusLabel: React.FC<PropsT> = React.memo((props) => {\n    const { isActive, className } = props;\n\n    return (\n        <PriceRuleStatusLabel\n            isActive={isActive}\n            className={cs(\n                cx('status', {\n                    'status--active': isActive,\n                }),\n                className,\n            )}\n        />\n    );\n});\n\nexport default ColoredPriceRuleStatusLabel;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './IdCell.scss';\n\ntype PropsT = {\n    id: string | null | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst IdCell: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return <div className={cx('id')}>{id}</div>;\n});\n\nexport default IdCell;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { FieldsEnum, FormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { useSelector } from 'react-redux';\nimport { ALL_DAY_RANGE, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { RangeSelectorMarkT, RangeSelectorRangeT } from 'common/components/RangeSelector/RangeSelector';\nimport { isNonNil } from 'common/utils';\nimport { clearDateTimezone, MS_IN_MIN } from 'common/utils/time';\nimport { RangeSelectorZoneThemeEnum } from 'common/components/RangeSelector/constants';\nimport {\n    selectMaxWindowSizeMs,\n    selectMinWindowSizeMs,\n    selectTimeWindowQuantumMs,\n} from 'common/store/settings/selectors';\nimport { useTranslation } from 'react-i18next';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport TimeIntervalDurationPillLabel from '../TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel';\nimport { useFormikContext } from 'formik';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './DropAndHookRoutePointPicker.scss';\nimport TimeWindowPicker from 'common/components/range-selectors/TimeWindowPicker/TimeWindowPicker';\nimport DeleteWaypointTrigger from '../DeleteWaypointTrigger/DeleteWaypointTrigger';\nimport WaypointNumberIcon from '../WaypointNumberIcon/WaypointNumberIcon';\nimport LinkDatePicker, {\n    DatePickerOverlayPositionEnum,\n} from 'design-system/components/date-pickers/LinkDatePicker/LinkDatePicker';\nimport { CalendarDateValueT } from 'design-system/components/Calendar/Calendar';\nimport moment from 'moment';\nimport isEqual from 'lodash/isEqual';\nimport CalendarAltIcon from 'common/icons/CalendarAltIcon';\n\nimport TimeIntervalLimitPillLabel from '../TimeIntervalLimitPillLabel/TimeIntervalLimitPillLabel';\nimport TimeWindowZoneText from '../TimeWindowZoneText/TimeWindowZoneText';\nimport TeamDriveIcon, { TeamDriveIconProps } from 'common/icons/TeamDriveIcon';\nimport UrgentIcon, { UrgentIconProps } from 'common/icons/UrgentIcon';\nimport HourglassIcon, { HourglassIconProps } from 'common/icons/HourglassIcon';\nimport { ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport {\n    convertReserveTimeWindowToRelativeTimeWindow,\n    setDateForReserveTimeWindow,\n    setTimeWindowForReserveTimeWindow,\n    suggestLastTimeWindowOfDay,\n} from 'common/layouts/NewOrderPage/ShipmentDetailsForm/utils';\nimport { OnChangeRoutePointAddressT, OnChangeRoutePointTimeWindowT, OnDeleteRoutePointReserveT } from '../models';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport {\n    getRoutePointHashFromValues,\n    getRoutePointTimeWindowHash,\n} from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/utils';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    tourUpdateStop: ApiTourUpdateStopDataT | null;\n    oldTourUpdateStop: ApiTourUpdateStopDataT | null;\n    onRemove: OnDeleteRoutePointReserveT;\n    isAllowRemove: boolean;\n\n    isAllowUpdateTimeWindows: boolean;\n    isAllowUpdateAddress: boolean;\n\n    onManualSelectLocation: (location: LocationT | null, routePointIndex: number) => void;\n    onChangeRoutePointAddress: OnChangeRoutePointAddressT;\n    onChangeRoutePointTimeWindow: OnChangeRoutePointTimeWindowT;\n    isDisabledPreviewReserve?: boolean;\n    isShowSuggestLoading?: boolean;\n};\n\nexport enum RangeIdSetEnum {\n    original = 'original',\n    urgentPickUp = 'urgent-pick-up',\n    regularPickUp = 'regular-pick-up',\n    teamDriveDropOff = 'team-drive-drop-off',\n    regularDropOff = 'regular-drop-off',\n    layoverDropOff = 'layover-drop-off',\n}\n\nconst surchargeRangeTypeSet = new Set<string>([\n    RangeIdSetEnum.urgentPickUp,\n    RangeIdSetEnum.teamDriveDropOff,\n    RangeIdSetEnum.layoverDropOff,\n]);\n\nexport type TimeWindowPickerSettingsT = {\n    availableValues: TimeWindowT;\n    timeWindowRanges: RangeSelectorRangeT[];\n    marks?: Array<RangeSelectorMarkT>;\n};\n\nexport const DEFAULT_TIME_WINDOW_PICKER_SETTINGS: TimeWindowPickerSettingsT = {\n    availableValues: ALL_DAY_RANGE,\n    timeWindowRanges: [],\n};\n\nconst DropAndHookRoutePointPicker: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        tourUpdateStop,\n        oldTourUpdateStop,\n        onRemove,\n        isAllowUpdateTimeWindows,\n        isAllowUpdateAddress,\n        isAllowRemove,\n        onManualSelectLocation,\n        onChangeRoutePointAddress,\n        onChangeRoutePointTimeWindow,\n        isDisabledPreviewReserve,\n        isShowSuggestLoading,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const fakePointIdFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.fakePointId}` as const;\n    const contextRoutePointIdName =\n        `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.contextRoutePointId}` as const;\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n    const typeFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.type}` as const;\n\n    const selectedTimeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n    const fakePointId = getFieldFormValue(formik.values, fakePointIdFieldName);\n    const type = getFieldFormValue(formik.values, typeFieldName);\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const contextRoutePointId = getFieldFormValue(formik.values, contextRoutePointIdName);\n\n    const contextRoutePointHash = getRoutePointHashFromValues(type, location);\n\n    const isChangedTimeWindow =\n        !!oldTourUpdateStop &&\n        getRoutePointTimeWindowHash(selectedTimeWindow?.start, selectedTimeWindow?.end) !==\n            getRoutePointTimeWindowHash(oldTourUpdateStop?.originalDateTimeFrom, oldTourUpdateStop?.originalDateTimeTo);\n\n    const timeWindowQuantumMs = useSelector(selectTimeWindowQuantumMs);\n\n    const minWindowSizeMs = useSelector(selectMinWindowSizeMs);\n    const maxWindowSizeMs = useSelector(selectMaxWindowSizeMs);\n\n    const minRangeTimeWindow = minWindowSizeMs - MS_IN_MIN;\n    const maxRangeTimeWindow = maxWindowSizeMs + MS_IN_MIN;\n\n    const teamDriveMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <TeamDriveIcon {...TeamDriveIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const urgentPickUpMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <UrgentIcon {...UrgentIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const originalRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.original,\n            label: t('common:time-windows-types.urgent'),\n            theme: RangeSelectorZoneThemeEnum.charcoal,\n            children: (\n                <Tooltip\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    className={cx('original-zone-tooltip-content')}\n                    tooltipNode={\n                        <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                            {t('broker-order-route-edit.fields.route-point.tooltip.original-time-window')}\n                        </TooltipContent>\n                    }\n                >\n                    {() => <div style={{ height: '100%', width: '100%' }} />}\n                </Tooltip>\n            ),\n        }),\n        [t],\n    );\n\n    const layoverMark = useMemo(\n        () => ({\n            borderTheme: RangeSelectorZoneThemeEnum.orange,\n            icon: <HourglassIcon {...HourglassIconProps.getCreateOrder()} />,\n        }),\n        [],\n    );\n\n    const teamDriveDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.teamDriveDropOff,\n            label: t('common:time-windows-types.team-drive'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const regularDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.regularDropOff,\n            theme: null,\n        }),\n        [],\n    );\n\n    const urgentPickUpRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.urgentPickUp,\n            label: t('common:time-windows-types.urgent'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const regularPickUpRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.regularPickUp,\n            theme: null,\n        }),\n        [],\n    );\n\n    const layoverDropOffRange = useMemo(\n        () => ({\n            id: RangeIdSetEnum.layoverDropOff,\n            label: t('common:time-windows-types.layover'),\n            theme: RangeSelectorZoneThemeEnum.orange,\n        }),\n        [t],\n    );\n\n    const renderZoneTextNode = React.useCallback((currentRanges: RangeSelectorRangeT[] | null) => {\n        const surchargeCurrentRanges = currentRanges?.filter((range) => {\n            return range && surchargeRangeTypeSet.has(range.id);\n        });\n\n        if (!surchargeCurrentRanges?.length) {\n            return null;\n        }\n\n        return <TimeWindowZoneText currentRanges={surchargeCurrentRanges} />;\n    }, []);\n\n    const tourUpdateStopTimeWindows = React.useMemo(() => {\n        if (!tourUpdateStop) {\n            return {\n                urgentTimeWindow: null,\n                regularTimeWindow: null,\n                layoverTimeWindow: null,\n                originalTimeWindow: null,\n            };\n        }\n\n        const { regularFrom, urgentFrom, layoverStart, latestTo, originalDateTimeFrom, originalDateTimeTo } =\n            tourUpdateStop;\n\n        return {\n            originalTimeWindow:\n                originalDateTimeFrom && originalDateTimeTo\n                    ? {\n                          start: originalDateTimeFrom,\n                          end: originalDateTimeTo,\n                      }\n                    : null,\n            urgentTimeWindow:\n                urgentFrom && regularFrom && urgentFrom !== regularFrom\n                    ? {\n                          start: urgentFrom,\n                          end: regularFrom,\n                      }\n                    : null,\n            regularTimeWindow: regularFrom\n                ? {\n                      start: regularFrom,\n                      end: layoverStart ? null : latestTo || null,\n                  }\n                : null,\n            layoverTimeWindow: layoverStart\n                ? {\n                      start: layoverStart,\n                      end: latestTo || null,\n                  }\n                : null,\n        };\n    }, [tourUpdateStop]);\n\n    const settings = React.useMemo<TimeWindowPickerSettingsT>(() => {\n        const isFirstTimeWindow = routePointIndex === 0;\n\n        if (!tourUpdateStop || !selectedTimeWindow) {\n            return DEFAULT_TIME_WINDOW_PICKER_SETTINGS;\n        }\n\n        const baseDate = selectedTimeWindow.start;\n\n        const availableValuesStart =\n            tourUpdateStopTimeWindows?.urgentTimeWindow?.start || tourUpdateStopTimeWindows?.regularTimeWindow?.start;\n        if (!availableValuesStart) {\n            return DEFAULT_TIME_WINDOW_PICKER_SETTINGS;\n        }\n\n        const availableValuesEnd =\n            tourUpdateStopTimeWindows?.layoverTimeWindow?.end ||\n            tourUpdateStopTimeWindows?.regularTimeWindow?.end ||\n            null;\n\n        const availableValues = suggestLastTimeWindowOfDay(\n            {\n                start: availableValuesStart,\n                end: availableValuesEnd,\n            },\n            baseDate,\n        );\n\n        const urgentTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(tourUpdateStopTimeWindows?.urgentTimeWindow || null, baseDate),\n        );\n\n        const regularTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(tourUpdateStopTimeWindows?.regularTimeWindow || null, baseDate),\n        );\n\n        const layoverTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(tourUpdateStopTimeWindows?.layoverTimeWindow || null, baseDate),\n        );\n\n        const originalTimeWindow = convertReserveTimeWindowToRelativeTimeWindow(\n            suggestLastTimeWindowOfDay(tourUpdateStopTimeWindows?.originalTimeWindow || null, baseDate),\n        );\n\n        const marks: Array<RangeSelectorMarkT> = [];\n\n        if (layoverTimeWindow) {\n            marks.push({\n                ...layoverMark,\n                value: layoverTimeWindow[0],\n            });\n        }\n\n        const timeWindowRanges: RangeSelectorRangeT[] = [\n            urgentTimeWindow\n                ? {\n                      ...(isFirstTimeWindow ? urgentPickUpRange : teamDriveDropOffRange),\n                      values: urgentTimeWindow,\n                      marks: [\n                          {\n                              ...(isFirstTimeWindow ? urgentPickUpMark : teamDriveMark),\n                              value: urgentTimeWindow[0],\n                          },\n                      ],\n                  }\n                : null,\n            regularTimeWindow\n                ? {\n                      ...(isFirstTimeWindow ? regularPickUpRange : regularDropOffRange),\n                      values: regularTimeWindow,\n                  }\n                : null,\n            layoverTimeWindow\n                ? {\n                      ...layoverDropOffRange,\n                      values: layoverTimeWindow,\n                      isHidden: true,\n                      marks: [\n                          {\n                              ...layoverMark,\n                              value: layoverTimeWindow[0],\n                          },\n                      ],\n                  }\n                : null,\n            originalTimeWindow\n                ? {\n                      ...originalRange,\n                      values: originalTimeWindow,\n                      isShowOutsideAvailableValues: true,\n                  }\n                : null,\n        ].filter(isNonNil);\n\n        const settings: TimeWindowPickerSettingsT = {\n            availableValues: convertReserveTimeWindowToRelativeTimeWindow(availableValues) || ALL_DAY_RANGE,\n            timeWindowRanges,\n            marks,\n        };\n\n        return settings;\n    }, [\n        tourUpdateStop,\n        tourUpdateStopTimeWindows,\n        selectedTimeWindow,\n        routePointIndex,\n        teamDriveDropOffRange,\n        regularDropOffRange,\n        urgentPickUpRange,\n        regularPickUpRange,\n        layoverDropOffRange,\n        layoverMark,\n        originalRange,\n        teamDriveMark,\n        urgentPickUpMark,\n    ]);\n\n    const relativeTimeWindow = useMemo((): TimeWindowT | null => {\n        return convertReserveTimeWindowToRelativeTimeWindow(selectedTimeWindow);\n    }, [selectedTimeWindow]);\n\n    const handleChangeTimeWindow = (value: TimeWindowT) => {\n        const newTimeWindow = setTimeWindowForReserveTimeWindow(value, selectedTimeWindow);\n\n        const start = newTimeWindow?.start || null;\n        const end = newTimeWindow?.end || null;\n        if (!start || !end) {\n            return;\n        }\n\n        const preparedLocation = prepareLocation(location);\n        if (!preparedLocation) {\n            return;\n        }\n\n        formik.setFieldValue(timeWindowFieldName, newTimeWindow);\n\n        onChangeRoutePointTimeWindow(routePointIndex, contextRoutePointHash, {\n            timeWindow: {\n                start,\n                end,\n            },\n            address: preparedLocation,\n            routePointType: type,\n        });\n    };\n\n    const selectedDate = React.useMemo(() => {\n        if (!selectedTimeWindow) {\n            return null;\n        }\n\n        return moment(clearDateTimezone(selectedTimeWindow.start)).toDate();\n    }, [selectedTimeWindow]);\n\n    const allowedTimeWindowStart = useMemo(() => {\n        return (\n            tourUpdateStopTimeWindows?.urgentTimeWindow?.start || tourUpdateStopTimeWindows?.regularTimeWindow?.start\n        );\n    }, [tourUpdateStopTimeWindows]);\n\n    const minDate = allowedTimeWindowStart;\n    const maxDate =\n        (tourUpdateStopTimeWindows?.layoverTimeWindow\n            ? tourUpdateStopTimeWindows?.layoverTimeWindow?.end\n            : tourUpdateStopTimeWindows?.regularTimeWindow?.end) || undefined;\n\n    const handleChangeDate = (date: CalendarDateValueT): void => {\n        if (!date) {\n            formik.setFieldValue(timeWindowFieldName, null);\n            return;\n        }\n\n        const newTimeWindow = setDateForReserveTimeWindow(date, selectedTimeWindow);\n        const isSameValue = isEqual(newTimeWindow, selectedTimeWindow);\n        if (isSameValue) {\n            return;\n        }\n\n        const start = newTimeWindow?.start || null;\n        const end = newTimeWindow?.end || null;\n        if (!start || !end) {\n            return;\n        }\n\n        const preparedLocation = prepareLocation(location);\n        if (!preparedLocation) {\n            return;\n        }\n\n        formik.setFieldValue(timeWindowFieldName, newTimeWindow);\n\n        onChangeRoutePointTimeWindow(routePointIndex, contextRoutePointHash, {\n            timeWindow: {\n                start,\n                end,\n            },\n            address: preparedLocation,\n            routePointType: type,\n        });\n    };\n\n    const isDisabledUpdateTimeWindows = isDisabledPreviewReserve || !isAllowUpdateTimeWindows;\n\n    const isNewRoutePoint = !contextRoutePointId;\n\n    return (\n        <div className={cs(cx('time-picker'), className)}>\n            <FormikConnectContextField<FormValuesT, typeof locationFieldName>\n                name={locationFieldName}\n                label={t('broker-order-route-edit.fields.drop-and-hook-point.label')}\n                fieldLabelClassName={cx('field', 'field--location')}\n                subLabel={\n                    <>\n                        <TimeIntervalDurationPillLabel\n                            className={cx('time-interval', {\n                                'time-interval--isHalfOpacity': isDisabledUpdateTimeWindows,\n                            })}\n                            i18nKey={null}\n                            isDayRelative\n                            timeWindow={relativeTimeWindow}\n                            isChanged={isChangedTimeWindow}\n                        />\n                        <TimeIntervalLimitPillLabel\n                            className={cx('time-interval', {\n                                'time-interval--isHalfOpacity': isDisabledUpdateTimeWindows,\n                            })}\n                            timeWindow={relativeTimeWindow}\n                        />\n                    </>\n                }\n                labelRightNode={\n                    <div className={cx('right-node')}>\n                        {selectedDate && (\n                            <LinkDatePicker\n                                leftIcon={\n                                    <CalendarAltIcon\n                                        size={DEFAULT_ICON_SIZE}\n                                        strokeColor={StyleGuideColorsEnum.brandDark}\n                                    />\n                                }\n                                isDisabled={isDisabledUpdateTimeWindows}\n                                minDate={minDate || undefined}\n                                maxDate={maxDate}\n                                value={selectedDate}\n                                onChange={handleChangeDate}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                            />\n                        )}\n                    </div>\n                }\n            >\n                {(props, extendsProps) => (\n                    <div className={cx('wrap')} data-point-id={fakePointId}>\n                        {isAllowUpdateAddress ? (\n                            <GeoSuggest\n                                className={cx('geo-suggest')}\n                                name={extendsProps.name}\n                                value={extendsProps.value}\n                                placeholder={t('broker-order-route-edit.fields.drop-and-hook-point.placeholder')}\n                                renderLeftIcon={({ hasValue, hasError, hasWarning, isDisabled }) => (\n                                    <WaypointNumberIcon\n                                        routePointIndex={routePointIndex}\n                                        hasValue={hasValue}\n                                        hasError={hasError}\n                                        hasWarning={hasWarning}\n                                        isDisabled={isDisabled}\n                                        isDropAndHookRoutePointPicker\n                                        isNewRoutePoint={isNewRoutePoint}\n                                    />\n                                )}\n                                onChange={(value) => {\n                                    const location = prepareLocation(value);\n                                    if (!location) {\n                                        return;\n                                    }\n\n                                    props.onChange(value);\n\n                                    onManualSelectLocation(value, routePointIndex);\n\n                                    onChangeRoutePointAddress(routePointIndex, contextRoutePointHash, {\n                                        routePointType: type,\n                                        address: location,\n                                    });\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onFocus={props.onFocus}\n                                onBlur={props.onBlur}\n                                testSelector={`pickup-or-delivery-location-${routePointIndex}`}\n                                showClearControl={!!extendsProps.value}\n                                isLoading={isShowSuggestLoading}\n                            />\n                        ) : (\n                            <ReadOnlyField\n                                withoutErrorMessage\n                                icon={\n                                    <WaypointNumberIcon\n                                        routePointIndex={routePointIndex}\n                                        isDropAndHookRoutePointPicker\n                                        isNewRoutePoint={isNewRoutePoint}\n                                        hasValue={!!extendsProps.value}\n                                    />\n                                }\n                                value={extendsProps.value?.address || ''}\n                            />\n                        )}\n                        {isAllowRemove && (\n                            <DeleteWaypointTrigger\n                                onClick={() => {\n                                    onRemove(routePointIndex, contextRoutePointHash);\n                                }}\n                            />\n                        )}\n                    </div>\n                )}\n            </FormikConnectContextField>\n            <TimeWindowPicker\n                range={ALL_DAY_RANGE}\n                isDisabled={isDisabledUpdateTimeWindows}\n                availableValues={settings?.availableValues}\n                ranges={settings?.timeWindowRanges || []}\n                marks={settings?.marks}\n                values={relativeTimeWindow}\n                step={timeWindowQuantumMs}\n                minRangeWidth={minRangeTimeWindow}\n                maxRangeWidth={maxRangeTimeWindow}\n                renderZoneTextNode={renderZoneTextNode}\n                onChange={handleChangeTimeWindow}\n            />\n        </div>\n    );\n});\n\nexport default DropAndHookRoutePointPicker;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { getZipCodeExample, hasZipCodeValidation, isValid } from 'common/utils/postal-codes';\nimport { checkMaxLength, checkMinLength, checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.companyName,\n    FieldsEnum.zipCode,\n    FieldsEnum.city,\n    FieldsEnum.street1,\n    FieldsEnum.legalFormId,\n] as const;\n\nconst validateForm = (t: TFunction, values: FormValuesT): Partial<Record<FieldsEnum, string>> => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n\n        ...checkMinLength(t, [FieldsEnum.companyName], values, 2),\n        ...checkMaxLength(t, [FieldsEnum.companyName], values, 255),\n    };\n\n    const countryCode = values[FieldsEnum.countryCode];\n    const zipCode = values[FieldsEnum.zipCode];\n    if (hasZipCodeValidation(countryCode) && !isValid(countryCode, zipCode)) {\n        errors[FieldsEnum.zipCode] = t('common:form-errors.zip-code', {\n            example: getZipCodeExample(countryCode),\n        });\n    }\n\n    return errors;\n};\n\nexport default validateForm;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RejectDocumentConfirmation.scss';\nimport { useTranslation } from 'react-i18next';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport Modal from 'common/components/Modal/Modal';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport Textarea from 'common/components/Textarea/Textarea';\nimport { useFormik } from 'formik';\nimport { logWarning } from 'common/utils/logger';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { prepareData } from './prepare-reject-data';\n\nexport type ConfirmRejectDocumentModalDataT = {\n    id: DocumentIdT;\n    partnerType: PartnerTypeEnum;\n    dictDocumentId: DictDocumentFakeIdT;\n};\n\ntype PropsT = {\n    data: ConfirmRejectDocumentModalDataT | null;\n    onConfirm: (id: ConfirmRejectDocumentModalDataT['id'], reason: string) => void;\n    requestStatus: RequestStatusT;\n    onClose: () => void;\n    onCancel: () => void;\n    name: string | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TEST_SELECTOR = 'reject-document-confirmation';\n\nconst RejectDocumentConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { name, data, onConfirm, requestStatus, onClose } = props;\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues();\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const preparedData = prepareData(values);\n\n            if (!data) {\n                logWarning('failed to reject document, empty data');\n                return;\n            }\n\n            onConfirm(data.id, preparedData.reason);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <form onSubmit={formik.handleSubmit}>\n                    <ModalDialog\n                        width={DEFAULT_MODAL_DIALOG_WIDTH}\n                        testSelector={TEST_SELECTOR}\n                        actions={[\n                            {\n                                children: t('common:error-modal.actions.cancel'),\n                                theme: ButtonThemeEnum.secondary,\n                                testSelector: `${TEST_SELECTOR}_cancel`,\n                                isDisabled: requestStatus.loading,\n                                onClick: onClose,\n                            },\n                            {\n                                children: t('common:error-modal.actions.reject'),\n                                theme: ButtonThemeEnum.danger,\n                                testSelector: `${TEST_SELECTOR}_ok`,\n                                isLoading: requestStatus.loading,\n                                isDisabled: requestStatus.loading,\n                                type: 'submit',\n                            },\n                        ]}\n                        icon={<BigTrashIcon />}\n                        title={t('common:documents.reject-confirmation.title')}\n                        message={t('common:documents.reject-confirmation.description', {\n                            document: name,\n                        })}\n                        body={\n                            <>\n                                <FormikField\n                                    name={FieldsEnum.reason}\n                                    error={formik.errors[FieldsEnum.reason]}\n                                    meta={formik.getFieldMeta(FieldsEnum.reason)}\n                                    label={t('common:documents.reject-confirmation.fields.reason.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Textarea\n                                            className={cx('textarea')}\n                                            name={FieldsEnum.reason}\n                                            value={formik.values[FieldsEnum.reason]}\n                                            placeholder={t(\n                                                'common:documents.reject-confirmation.fields.reason.placeholder',\n                                            )}\n                                            onChange={props.onChange}\n                                            hasWarning={props.hasWarning}\n                                            hasError={props.hasError}\n                                        />\n                                    )}\n                                </FormikField>\n                            </>\n                        }\n                    />\n                </form>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default RejectDocumentConfirmation;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './SpotRequestStatusPill.scss';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiSpotRequestStatusT, SpotRequestStatStatusEnum } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport { SPOT_REQUEST_STATUS_T_MAP } from 'common/components/status/SpotRequestStatus/SpotRequestStatus';\n\ntype PropsT = {\n    status?: ApiSpotRequestStatusT | null;\n    isSymmetrical?: boolean;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst PILL_THEME_BY_STATUS: Record<ApiSpotRequestStatusT, PillLabelThemeEnum> = {\n    [SpotRequestStatStatusEnum.open]: colorCodingPillLabelTheme.normal,\n    [SpotRequestStatStatusEnum.expired]: colorCodingPillLabelTheme.warning,\n    [SpotRequestStatStatusEnum.accepted]: colorCodingPillLabelTheme.attention,\n    [SpotRequestStatStatusEnum.assigned]: colorCodingPillLabelTheme.positive,\n    [SpotRequestStatStatusEnum.canceled]: colorCodingPillLabelTheme.normal,\n};\n\nconst SpotRequestStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, isSymmetrical } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    const theme = PILL_THEME_BY_STATUS[status] || PillLabelThemeEnum.charcoal;\n\n    return (\n        <>\n            <PillLabel isNoWrap isSymmetrical={isSymmetrical} theme={theme} testSelector=\"spot-request-status\">\n                {t(SPOT_REQUEST_STATUS_T_MAP[status])}\n            </PillLabel>\n        </>\n    );\n});\n\nexport default SpotRequestStatusPill;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { useSelector } from 'react-redux';\nimport { selectMaxWindowSizeMs, selectMinWindowSizeMs } from 'common/store/settings/selectors';\n\ntype PropsT = {\n    timeWindow: TimeWindowT | null | undefined;\n    className?: string;\n};\n\nconst TimeIntervalLimitPillLabel: React.FC<PropsT> = (props) => {\n    const { timeWindow, className } = props;\n\n    const { t } = useTranslation();\n\n    const minWindowSizeMs = useSelector(selectMinWindowSizeMs);\n    const maxWindowSizeMs = useSelector(selectMaxWindowSizeMs);\n\n    if (!timeWindow) {\n        return null;\n    }\n\n    const diff = timeWindow[1] - timeWindow[0];\n\n    return (\n        <>\n            {false && diff === minWindowSizeMs && (\n                <PillLabel isSymmetrical theme={PillLabelThemeEnum.blazeOrange} className={className}>\n                    {t('broker-order-route-edit.pills.min-time-slot')}\n                </PillLabel>\n            )}\n            {diff === maxWindowSizeMs && (\n                <PillLabel isSymmetrical theme={PillLabelThemeEnum.blazeOrange} className={className}>\n                    {t('broker-order-route-edit.pills.max-time-slot')}\n                </PillLabel>\n            )}\n        </>\n    );\n};\n\nexport default TimeIntervalLimitPillLabel;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './AdditionalManagementControl.scss';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useTranslation } from 'react-i18next';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport TeamDrive2Icon from 'common/icons/TeamDrive2Icon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport EditIcon from 'common/icons/EditIcon';\nimport { isNonNil } from 'common/utils';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    isShowAssignDrivers: boolean;\n    isAllowAssignDrivers: boolean;\n    onStartAssignDrivers: () => void;\n    isAllowToUnassignDriver: boolean;\n    onUnassignedDrivers: () => void;\n    unassignDriverTooltipContent?: React.ReactNode | null;\n};\n\nconst AdditionalManagementControl: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        transportOrderDetails,\n        isShowAssignDrivers,\n        isAllowAssignDrivers,\n        onStartAssignDrivers,\n        isAllowToUnassignDriver,\n        onUnassignedDrivers,\n        unassignDriverTooltipContent,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const hasAssignedDrivers = !!transportOrderDetails?.drivers?.length;\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum | null> = [\n        isAllowAssignDrivers && isShowAssignDrivers && !hasAssignedDrivers\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          icon={<TeamDrive2Icon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.slate} />}\n                          label={\n                              <span className={cx('option')}>\n                                  {t('common:transport-order-details.actions.assign-drivers', {\n                                      postProcess: 'interval',\n                                      count: transportOrderDetails?.drivers?.length || 0,\n                                  })}\n                              </span>\n                          }\n                      />\n                  ),\n                  onSelect: () => {\n                      onStartAssignDrivers();\n                  },\n              }\n            : null,\n        isAllowAssignDrivers && isShowAssignDrivers && hasAssignedDrivers\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          icon={\n                              <EditIcon\n                                  size={DEFAULT_ICON_SIZE}\n                                  fillColor={StyleGuideColorsEnum.brandAccent}\n                                  strokeColor={StyleGuideColorsEnum.brandDark}\n                              />\n                          }\n                          label={\n                              <span className={cx('option')}>\n                                  {t('common:transport-order-details.actions.manage-drivers', {\n                                      postProcess: 'interval',\n                                      count: transportOrderDetails?.drivers?.length || 0,\n                                  })}\n                              </span>\n                          }\n                      />\n                  ),\n                  onSelect: () => {\n                      onStartAssignDrivers();\n                  },\n              }\n            : null,\n        isAllowToUnassignDriver && isShowAssignDrivers && hasAssignedDrivers\n            ? {\n                  label: (\n                      <Tooltip\n                          position={TooltipPositionEnum.centerLeft}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={unassignDriverTooltipContent || null}\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                  label={\n                                      <span className={cx('option')}>\n                                          {t('common:transport-order-details.actions.clear-drivers', {\n                                              postProcess: 'interval',\n                                              count: transportOrderDetails?.drivers?.length || 0,\n                                          })}\n                                      </span>\n                                  }\n                                  isDisabled={!isAllowToUnassignDriver}\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  onSelect: () => {\n                      if (isAllowToUnassignDriver) {\n                          onUnassignedDrivers();\n                      }\n                  },\n              }\n            : null,\n    ].filter(isNonNil);\n\n    if (!options?.length) {\n        return null;\n    }\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    leftIcon={<MoreIcon />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.topRight}\n        />\n    );\n});\n\nexport default AdditionalManagementControl;\n","export {\n    createTeam,\n    createTeamBegin,\n    createTeamSuccess,\n    createTeamError,\n    updateTeam,\n    updateTeamBegin,\n    updateTeamSuccess,\n    updateTeamError,\n    deleteTeam,\n    deleteTeamBegin,\n    deleteTeamSuccess,\n    deleteTeamError,\n    resetBrokerTeamEdit,\n} from './slice';\n","import isNumber from 'lodash/isNumber';\n\nexport const checkTemperatureViolation = ({\n    reeferTemperatureMin,\n    reeferTemperatureMax,\n    requiredTemperatureMin,\n    requiredTemperatureMax,\n}: {\n    reeferTemperatureMin: number | null | undefined;\n    reeferTemperatureMax: number | null | undefined;\n    requiredTemperatureMin: number | null | undefined;\n    requiredTemperatureMax: number | null | undefined;\n}) => {\n    return (\n        (isNumber(reeferTemperatureMin) &&\n            isNumber(requiredTemperatureMin) &&\n            reeferTemperatureMin < requiredTemperatureMin) ||\n        (isNumber(reeferTemperatureMax) &&\n            isNumber(requiredTemperatureMax) &&\n            reeferTemperatureMax > requiredTemperatureMax)\n    );\n};\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const brokerOrdersRefreshChannel = new ViewEventChannel<{}>();\n\nexport const brokerOrdersPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import {\n    AsyncRequestFactoryT,\n    useAsyncInitOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-init-options-request';\nimport { useCallback } from 'react';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { OptionT } from '../ShippersSuggest';\nimport { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\n\nexport const useShipperSuggestOptions = (initShipperIds: Array<ShipperIdT> | null) => {\n    const initRequestFactory: AsyncRequestFactoryT<OptionT> = useCallback(async () => {\n        if (!initShipperIds?.length) {\n            return [null, null];\n        }\n\n        const promises = initShipperIds.map((initShipperId) => {\n            return brokerTranziitApi.fetchPartnerDetails(initShipperId);\n        });\n\n        const results = await Promise.all(promises);\n\n        const resultOptions =\n            results?.reduce<Array<OptionT>>((acc, [, data]) => {\n                if (!data?.id) {\n                    return acc;\n                }\n\n                acc.push({\n                    id: data?.id,\n                    name: data?.name,\n                    number: data?.number,\n                    countryCode: data?.legalAddress?.country || null,\n                });\n\n                return acc;\n            }, []) || [];\n\n        const result: TranziitApiResultT<Array<OptionT>> = [null, resultOptions];\n\n        return result;\n    }, [initShipperIds]);\n\n    const { initOptions, initRequestStatus } = useAsyncInitOptionsRequest<OptionT>({\n        initRequestFactory,\n    });\n\n    return {\n        initOptions,\n        initRequestStatus,\n    };\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AdditionalServicesSettings.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport { useTranslation } from 'react-i18next';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport {\n    fetchAdditionalServices,\n    updateAdditionalService,\n} from 'broker-admin/store/price-settings/additional-services/actions';\nimport {\n    selectAdditionalServices,\n    selectFetchAdditionalServicesRequest,\n    selectUpdateAdditionalServiceRequest,\n} from 'broker-admin/store/price-settings/additional-services/selectors';\nimport ServicesTable from 'broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/ServicesTable';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { ServiceTableRowT } from 'broker-admin/layouts/SettingsPage/AdditionalServicesSettings/ServicesTable/models';\nimport { flatMap } from 'lodash';\nimport { ApiCarrierAdditionalServiceChangesT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst AdditionalServicesSettings: React.FC<PropsT> = () => {\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const serviceGroups = useSelector(selectAdditionalServices);\n\n    const updateAdditionalServiceRequestStatus = useSelector(selectUpdateAdditionalServiceRequest);\n    const fetchAdditionalServiceRequestStatus = useSelector(selectFetchAdditionalServicesRequest);\n\n    React.useEffect(() => {\n        dispatch(\n            fetchAdditionalServices({\n                isForceUpdate: false,\n            }),\n        );\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [dispatch]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(\n            fetchAdditionalServices({\n                isForceUpdate: false,\n            }),\n        );\n    }, [dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const handleUpdateService = (row: ServiceTableRowT, cost: number) => {\n        const changes: ApiCarrierAdditionalServiceChangesT = {\n            itemCost: cost,\n            service: row.service.service,\n            trailerType: row.trailerType,\n        };\n\n        dispatch(updateAdditionalService([changes]));\n    };\n\n    const isLoading = fetchAdditionalServiceRequestStatus.loading || updateAdditionalServiceRequestStatus.loading;\n\n    const list = React.useMemo(() => {\n        return flatMap(serviceGroups, (serviceGroup) => {\n            const { category, trailerType, services } = serviceGroup;\n\n            return services.map((service): ServiceTableRowT => {\n                return {\n                    service,\n                    trailerType,\n                    category,\n                };\n            });\n        });\n    }, [serviceGroups]);\n\n    return (\n        <ContentMargins>\n            {!list?.length && fetchAdditionalServiceRequestStatus?.ok && (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('price-settings.rate-matrix.empty.title')}\n                    description=\"\"\n                    isShowAction={false}\n                />\n            )}\n            {!list?.length && fetchAdditionalServiceRequestStatus?.error && <TableError />}\n            <ServicesTable\n                onUpdateService={handleUpdateService}\n                list={list}\n                isLoading={isLoading}\n                isDisabled={updateAdditionalServiceRequestStatus.loading}\n                className={cx('table')}\n            />\n        </ContentMargins>\n    );\n};\n\nexport default AdditionalServicesSettings;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { getDateFromDate, getEndDayFromDateZero, getStartDayFromDateZero } from 'common/utils/time';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport { QueryFiltersT, QueryFiltersKeysEnum } from '../query-models';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const minPrice = parseSimpleNumber(values[FieldsEnum.minPrice]);\n    const maxPrice = parseSimpleNumber(values[FieldsEnum.maxPrice]);\n\n    const queryFilters: QueryFiltersT = {\n        [QueryFiltersKeysEnum.orderType]: values[FieldsEnum.orderType] || undefined,\n\n        [QueryFiltersKeysEnum.dictTrailerId]: values[FieldsEnum.dictTrailerId] || undefined,\n        [QueryFiltersKeysEnum.plateNumber]: simpleStringFormatter(values[FieldsEnum.plateNumber]) || undefined,\n\n        [QueryFiltersKeysEnum.originAddress]: simpleStringFormatter(values[FieldsEnum.originAddress]) || undefined,\n        [QueryFiltersKeysEnum.destinationAddress]:\n            simpleStringFormatter(values[FieldsEnum.destinationAddress]) || undefined,\n\n        [QueryFiltersKeysEnum.driverId]: values[FieldsEnum.driverId] || undefined,\n        [QueryFiltersKeysEnum.driverName]: values[FieldsEnum.driverName] || undefined,\n        [QueryFiltersKeysEnum.minPrice]: minPrice ? String(minPrice) : undefined,\n        [QueryFiltersKeysEnum.maxPrice]: maxPrice ? String(maxPrice) : undefined,\n\n        [QueryFiltersKeysEnum.pickupDateFrom]: undefined,\n        [QueryFiltersKeysEnum.pickupDateTo]: undefined,\n\n        [QueryFiltersKeysEnum.dropOffDateFrom]: undefined,\n        [QueryFiltersKeysEnum.dropOffDateTo]: undefined,\n\n        [QueryFiltersKeysEnum.receiveDatesFrom]: undefined,\n        [QueryFiltersKeysEnum.receiveDatesTo]: undefined,\n    };\n\n    const pickupDates = values[FieldsEnum.pickupDates];\n    if (pickupDates?.from) {\n        const date = getDateFromDate(pickupDates.from);\n        queryFilters[QueryFiltersKeysEnum.pickupDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (pickupDates?.to) {\n        const date = getDateFromDate(pickupDates.to);\n        queryFilters[QueryFiltersKeysEnum.pickupDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const dropoffDates = values[FieldsEnum.dropoffDates];\n    if (dropoffDates?.from) {\n        const date = getDateFromDate(dropoffDates.from);\n        queryFilters[QueryFiltersKeysEnum.dropOffDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (dropoffDates?.to) {\n        const date = getDateFromDate(dropoffDates.to);\n        queryFilters[QueryFiltersKeysEnum.dropOffDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const receiveDates = values[FieldsEnum.receiveDates];\n    if (receiveDates?.from) {\n        const date = getDateFromDate(receiveDates.from);\n        queryFilters[QueryFiltersKeysEnum.receiveDatesFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (receiveDates?.to) {\n        const date = getDateFromDate(receiveDates.to);\n        queryFilters[QueryFiltersKeysEnum.receiveDatesTo] = getEndDayFromDateZero(date);\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './DropdownControlOptionLabel.scss';\nimport CheckIcon from 'common/icons/CheckIcon';\n\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type DropdownControlOptionLabelPropsT = {\n    label: React.ReactNode;\n    icon?: React.ReactNode;\n    withoutPaddings?: boolean;\n    description?: React.ReactNode;\n    isSelected?: boolean;\n    withSelectedCheck?: boolean;\n    isDisabled?: boolean;\n    isEmpty?: boolean;\n    className?: string;\n};\n\nconst DropdownControlOptionLabel: React.FC<DropdownControlOptionLabelPropsT> = (props) => {\n    const { className, label, icon, description, isSelected, isDisabled, isEmpty, withSelectedCheck, withoutPaddings } =\n        props;\n\n    return (\n        <div\n            className={cs(\n                cx('option', {\n                    'option--isSelected': isSelected,\n                    'option--withoutPaddings': withoutPaddings,\n                }),\n                className,\n            )}\n        >\n            {icon && (\n                <div\n                    className={cx('option__left-icon', {\n                        'option__left-icon--isDisabled': !!isDisabled,\n                    })}\n                >\n                    {icon}\n                </div>\n            )}\n            <div\n                className={cx('option__label', {\n                    'option__label--isDisabled': !!isDisabled,\n                    'option__label--isEmpty': !!isEmpty,\n                })}\n            >\n                {label}\n            </div>\n            {!!description && (\n                <>\n                    <div className={cx('option__spacer')} />\n                    <div className={cx('option__description')}>{description}</div>\n                </>\n            )}\n            {isSelected && withSelectedCheck && (\n                <>\n                    <div className={cx('option__spacer')} />\n                    <div className={cx('option__right-icon')}>\n                        <CheckIcon fillColor={StyleGuideColorsEnum.charcoal} size={DEFAULT_ICON_SIZE} />\n                    </div>\n                </>\n            )}\n        </div>\n    );\n};\n\nexport default DropdownControlOptionLabel;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ContinueSignUpForm.scss';\n\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { AUTO_COMPLETE_OFF_FIX } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\n\nimport { FieldsEnum, FormValuesT } from './constants';\nimport asyncValidate from './async-validations';\nimport validateForm from './validate-form';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport PhoneNumberInput from 'common/components/PhoneNumberInput/PhoneNumberInput';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport useAsyncFormErrorMessage from 'common/utils/hooks/useAsyncFormErrorMessage';\nimport { useSelector } from 'react-redux';\nimport { checkRegisteredUser } from 'common/store/auth/selectors';\nimport { selectCurrentUser } from 'common/store/user/selectors';\nimport { authApi } from 'common/utils/api/auth/factory';\n\nconst cx = classNames.bind(styles);\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.firstName]: '',\n    [FieldsEnum.lastName]: '',\n    [FieldsEnum.phone]: '+',\n    [FieldsEnum.password]: '',\n    [FieldsEnum.acceptTerms]: false,\n};\n\ntype PropsT = {\n    onSubmit: (formValues: FormValuesT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst ContinueSignUpForm: React.FC<PropsT> = React.memo((props) => {\n    const { onSubmit, requestStatus } = props;\n    const { t } = useTranslation();\n\n    const isRegisteredUser = useSelector(checkRegisteredUser);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, isRegisteredUser);\n    }, [t, isRegisteredUser]);\n\n    const user = useSelector(selectCurrentUser);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...INITIAL_VALUES,\n            [FieldsEnum.firstName]: user?.name || '',\n            [FieldsEnum.lastName]: user?.surname || '',\n            [FieldsEnum.phone]: user?.phone || '',\n        };\n\n        const errors = validateForm(t, values, isRegisteredUser);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [user]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            onSubmit(values);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(requestStatus);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [requestStatus?.error]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    const passwordAsyncError = useAsyncFormErrorMessage(asyncFormErrors[FieldsEnum.password]);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('fields')}>\n                <FormikField\n                    name={FieldsEnum.firstName}\n                    error={formik.errors[FieldsEnum.firstName]}\n                    meta={formik.getFieldMeta(FieldsEnum.firstName)}\n                    label={t('common:sign-up.fields.firstName.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    resetAsyncError={resetAsyncFormErrors}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.firstName}\n                            value={formik.values[FieldsEnum.firstName]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.lastName}\n                    error={formik.errors[FieldsEnum.lastName]}\n                    meta={formik.getFieldMeta(FieldsEnum.lastName)}\n                    label={t('common:sign-up.fields.lastName.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    resetAsyncError={resetAsyncFormErrors}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.lastName}\n                            value={formik.values[FieldsEnum.lastName]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    name={FieldsEnum.phone}\n                    error={formik.errors[FieldsEnum.phone]}\n                    meta={formik.getFieldMeta(FieldsEnum.phone)}\n                    label={t('common:sign-up.fields.phone.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    resetAsyncError={resetAsyncFormErrors}\n                >\n                    {(props) => (\n                        <PhoneNumberInput\n                            name={FieldsEnum.phone}\n                            value={formik.values[FieldsEnum.phone]}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n                {!isRegisteredUser && (\n                    <FormikField\n                        name={FieldsEnum.password}\n                        error={formik.errors[FieldsEnum.password]}\n                        meta={formik.getFieldMeta(FieldsEnum.password)}\n                        label={t('common:sign-up.fields.password.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        resetAsyncError={resetAsyncFormErrors}\n                        asyncError={passwordAsyncError}\n                    >\n                        {(props) => (\n                            <Input\n                                type=\"password\"\n                                name={FieldsEnum.password}\n                                value={formik.values[FieldsEnum.password]}\n                                placeholder={t('common:sign-up.fields.password.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                autoComplete={AUTO_COMPLETE_OFF_FIX}\n                            />\n                        )}\n                    </FormikField>\n                )}\n                <FormikField\n                    className={cx('checkbox')}\n                    name={FieldsEnum.acceptTerms}\n                    error={formik.errors[FieldsEnum.acceptTerms]}\n                    meta={formik.getFieldMeta(FieldsEnum.acceptTerms)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    isCheckbox\n                >\n                    {(props) => (\n                        <Checkbox\n                            checked={formik.values[FieldsEnum.acceptTerms]}\n                            onChange={props.onChange}\n                            label={\n                                <span className={cx('terms')}>\n                                    {t('common:sign-up.user-form.terms.read')}{' '}\n                                    <Link\n                                        isExternal\n                                        theme={LinkThemeEnum.boldCharcoal}\n                                        to={t('common:sign-up.user-form.terms.link')}\n                                        target=\"_blank\"\n                                    >\n                                        {t('common:sign-up.user-form.terms.link-text')}\n                                    </Link>\n                                </span>\n                            }\n                        />\n                    )}\n                </FormikField>\n            </div>\n            <Button\n                isLoading={requestStatus.loading}\n                theme={ButtonThemeEnum.primary}\n                isDisabled={!formik.values[FieldsEnum.acceptTerms]}\n                type=\"submit\"\n                className={cx('submit')}\n            >\n                {t('common:sign-up.user-form.submit')}\n            </Button>\n            {!isRegisteredUser && (\n                <div className={cx('footer-links')}>\n                    {t('common:sign-up.user-form.footer.have-account')}\n                    <span className={cx('footer-links__link')}>\n                        <Link theme={LinkThemeEnum.boldAzul} to={authApi.createSignInUrl()}>\n                            {t('common:sign-up.user-form.footer.sign-in')}\n                        </Link>\n                    </span>\n                </div>\n            )}\n        </form>\n    );\n});\n\nexport default ContinueSignUpForm;\n","import * as React from 'react';\nimport SideBarLayoutContext from '../contexts/side-bar-layout-context';\nimport useScrollBarWidth from 'common/utils/hooks/useScrollBarWidth';\nimport useSideBarFooterHeight from 'common/utils/hooks/useSideBarFooterHeight';\nimport useSideBarHeaderHeight from 'common/utils/hooks/useSideBarHeaderHeight';\nimport useScrollTop from 'common/utils/hooks/useScrollTop';\n\ntype PropsT = {};\n\nconst SideBarLayoutContextWrap: React.FC<PropsT> = React.memo((props) => {\n    const scrollBarWidth = useScrollBarWidth();\n    const sideBarFooter = useSideBarFooterHeight();\n    const sideBarHeader = useSideBarHeaderHeight();\n    const scrollTop = useScrollTop();\n\n    const value = React.useMemo(() => {\n        return {\n            scrollBarWidth,\n            footerHeight: sideBarFooter,\n            headerHeight: sideBarHeader,\n            scrollTop,\n        };\n    }, [scrollBarWidth, sideBarFooter, sideBarHeader, scrollTop]);\n\n    return <SideBarLayoutContext.Provider value={value}>{props.children}</SideBarLayoutContext.Provider>;\n});\n\nexport default SideBarLayoutContextWrap;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BaseCarrierContractsLayout.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    ApiCarrierContractStatusT,\n    ApiRevokePartnerContractInfoT,\n    CarrierContractStatusEnum,\n} from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { pickFile } from 'common/utils/pick-file';\n\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport BaseCarrierContractsTable from 'common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/BaseCarrierContractsTable';\nimport RevokeContractConfirmation, {\n    ConfirmRevokeContractModalDataT,\n} from './dialogs/RevokeContractConfirmation/RevokeContractConfirmation';\nimport { ContractRowT } from 'common/layouts/BaseCarrierContractsLayout/BaseCarrierContractsTable/models';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport {\n    downloadCarrierContract,\n    fetchCarrierContracts,\n    revokeCarrierContract,\n    uploadCarrierContract,\n} from 'common/store/carrier-contracts/actions';\nimport {\n    selectCarrierContracts,\n    selectFetchCarrierContractsRequest,\n    selectUpdateCarrierContractRequest,\n    selectUploadCarrierContractRequest,\n} from 'common/store/carrier-contracts/selectors';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { carrierContractsRefreshChannel } from 'common/store/carrier-contracts/channels';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    tableName: string;\n    isLoading: boolean;\n\n    testSelector?: string;\n    contactStatusesAttentionSet?: Set<ApiCarrierContractStatusT | null>;\n\n    navigationTabs: React.ReactNode;\n};\n\nconst BaseCarrierContractsLayout: React.FC<PropsT> = React.memo((props) => {\n    const { tableName, testSelector, navigationTabs, contactStatusesAttentionSet } = props;\n\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const { t } = useTranslation();\n\n    const permissions = useSelector(selectPermissions);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in BaseCarrierContractsLayout useEffect');\n            return;\n        }\n        dispatch(fetchCarrierContracts(partnerId));\n    }, [dispatch, partnerId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        dispatch(fetchCarrierContracts(partnerId));\n    }, [dispatch, partnerId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n        dispatch(fetchCarrierContracts(partnerId, { isForceUpdate: true }));\n    }, [dispatch, partnerId]);\n    useChannelSubscribe(carrierContractsRefreshChannel, refreshPageHandler);\n\n    const carrierContracts = useSelector(selectCarrierContracts(partnerId));\n\n    const confirmRevokeContractModalDialog = useModalDialog<ConfirmRevokeContractModalDataT>();\n\n    const fetchContractsRequest = useSelector(selectFetchCarrierContractsRequest(partnerId));\n    const updateCarrierContractRequest = useSelector(selectUpdateCarrierContractRequest(partnerId));\n\n    const uploadCarrierContractRequest = useSelector(selectUploadCarrierContractRequest(partnerId));\n\n    const isWaitAction = uploadCarrierContractRequest.loading || updateCarrierContractRequest.loading;\n\n    const handleDownloadContract = (carrierContractId: CarrierContractIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleDownloadContract');\n            return;\n        }\n        dispatch(downloadCarrierContract(carrierContractId, partnerId));\n    };\n\n    const handleConfirmRevokeContract = (contractId: CarrierContractIdT, revokeInfo: ApiRevokePartnerContractInfoT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmRevokeContract');\n            return;\n        }\n        dispatch(revokeCarrierContract({ partnerId, contractId, revokeInfo }));\n    };\n\n    const handleUploadContract = (): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleUploadContract');\n            return;\n        }\n        pickFile('image/*,application/pdf', (file) => {\n            dispatch(uploadCarrierContract(partnerId, file));\n        });\n    };\n\n    const handleRevokeContract = (data: ConfirmRevokeContractModalDataT) => {\n        confirmRevokeContractModalDialog.setData(data);\n    };\n\n    const handleEditContractInfo = (contractId: ContactIdT) => {\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.carrierContract,\n            contractId,\n            initIsEditing: true,\n        });\n    };\n\n    useCloseModalDialogAfterRequest(updateCarrierContractRequest, [confirmRevokeContractModalDialog]);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n    const handleOpenUserDetails = (userId: UserIdT | null) => {\n        if (!userId) {\n            logWarning('failed to open user details in dispatch details, empty user id');\n            return;\n        }\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const handleSelectTableRow = (row: ContractRowT) => {\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.carrierContract,\n            contractId: row.id,\n            initIsEditing:\n                permissions.canReviewCarrierContracts && row?.status === CarrierContractStatusEnum.waitingForApprove,\n        });\n    };\n\n    const isLoading = props.isLoading || fetchContractsRequest.loading;\n\n    return (\n        <>\n            <div className={cx('navigation-tabs')}>{navigationTabs}</div>\n            {isWaitAction && <LoaderOverlay />}\n            <BaseCarrierContractsTable\n                tableName={tableName}\n                testSelector={testSelector}\n                isLoading={isLoading}\n                rows={carrierContracts}\n                contactStatusesAttentionSet={contactStatusesAttentionSet}\n                onSelectRow={handleSelectTableRow}\n                onOpenUserDetails={handleOpenUserDetails}\n                onRevokeContract={handleRevokeContract}\n                onEditContractDetails={handleEditContractInfo}\n                onDownloadContract={handleDownloadContract}\n                headerNode={\n                    permissions.canUploadCarrierContracts ? (\n                        <div>\n                            <Button\n                                className={cx('upload-pseudo-row')}\n                                theme={ButtonThemeEnum.secondary}\n                                onClick={handleUploadContract}\n                            >\n                                <span className={cx('upload-text')}>\n                                    {t('common:carrier-contracts.table.actions.upload')}\n                                </span>\n                            </Button>\n                        </div>\n                    ) : null\n                }\n            />\n            <RevokeContractConfirmation\n                data={confirmRevokeContractModalDialog.data}\n                onCancel={confirmRevokeContractModalDialog.onCancel}\n                onClose={confirmRevokeContractModalDialog.onClose}\n                onConfirm={handleConfirmRevokeContract}\n                requestStatus={updateCarrierContractRequest}\n            />\n        </>\n    );\n});\n\nexport default BaseCarrierContractsLayout;\n","import * as React from 'react';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiPriceRuleTypeT, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport PriceRuleTypeLabel from '../../PriceRuleTypeLabel/PriceRuleTypeLabel';\n\ntype PropsT = {\n    ruleType: ApiPriceRuleTypeT | null | undefined;\n};\n\nconst RULE_TYPE_PILL_THEME_MAP: Record<ApiPriceRuleTypeT, PillLabelThemeEnum> = {\n    [PriceRuleTypeEnum.basic]: PillLabelThemeEnum.lightSlateGray,\n    [PriceRuleTypeEnum.carrier]: PillLabelThemeEnum.tumbleweed,\n    [PriceRuleTypeEnum.shipper]: PillLabelThemeEnum.pewterBlue,\n    [PriceRuleTypeEnum.custom]: PillLabelThemeEnum.tomatoRed70,\n};\n\nconst PriceRuleTypePill: React.FC<PropsT> = React.memo((props) => {\n    const { ruleType } = props;\n\n    if (!ruleType) {\n        return null;\n    }\n\n    return (\n        <PillLabel theme={RULE_TYPE_PILL_THEME_MAP[ruleType]} testSelector=\"rule-type-pill\" isSymmetrical>\n            <PriceRuleTypeLabel ruleType={ruleType} />\n        </PillLabel>\n    );\n});\n\nexport default PriceRuleTypePill;\n","// extracted by mini-css-extract-plugin\nexport default {\"avatar\":\"Avatar__avatar___nvxKU\",\"avatar--0\":\"Avatar__avatar--0___mQO2C\",\"avatar--1\":\"Avatar__avatar--1___S7_vB\",\"avatar--2\":\"Avatar__avatar--2___BJ9QX\",\"avatar--3\":\"Avatar__avatar--3___DoG4_\",\"avatar--4\":\"Avatar__avatar--4___AH6_e\",\"avatar--5\":\"Avatar__avatar--5___AodFu\",\"avatar--6\":\"Avatar__avatar--6___zq8Pv\",\"avatar--size-small\":\"Avatar__avatar--size-small___QWnxZ\",\"avatar--size-medium\":\"Avatar__avatar--size-medium___B4iYv\",\"avatar--size-large\":\"Avatar__avatar--size-large___MSBGL\",\"avatar--size-extra-large\":\"Avatar__avatar--size-extra-large___HHAal\",\"fadeIn\":\"Avatar__fadeIn___ERFHv\",\"blinking\":\"Avatar__blinking___NwXdk\"};","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkMaxValue, checkMinValue, checkNotEmpty } from 'common/utils/form-validators';\nimport values from 'lodash/values';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNumber from 'lodash/isNumber';\nimport { SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\nimport { MIN_IN_HOUR } from 'common/utils/time';\n\nconst REQUIRED_FIELDS = values<FieldsEnum>(FieldsEnum);\n\ntype MetaT = {\n    systemSettings: SystemSettingsT | null | undefined;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, meta: MetaT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkMinValue(\n            t,\n            [FieldsEnum.transportationOrderHasNoDriverAlertTime, FieldsEnum.transportationOrderHasNoAssetsAlertTime],\n            values,\n            30,\n        ),\n        ...checkMaxValue(\n            t,\n            [FieldsEnum.transportationOrderHasNoDriverAlertTime, FieldsEnum.transportationOrderHasNoAssetsAlertTime],\n            values,\n            480,\n        ),\n        ...checkMinValue(t, [FieldsEnum.assignDriverLimitAlert], values, 0),\n\n        ...checkMinValue(t, [FieldsEnum.allowedGAPToBeDelayed], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.allowedGAPToBeDelayed], values, 300),\n\n        ...checkMinValue(t, [FieldsEnum.deleteNotificationsOlderDays], values, 3),\n        ...checkMaxValue(t, [FieldsEnum.deleteNotificationsOlderDays], values, 365),\n\n        ...checkMinValue(t, [FieldsEnum.docExpiresSoonAlert], values, 0),\n        ...checkMaxValue(t, [FieldsEnum.docExpiresSoonAlert], values, 30),\n\n        ...checkMinValue(t, [FieldsEnum.radiusAroundWaypointM], values, 100),\n        ...checkMaxValue(t, [FieldsEnum.radiusAroundWaypointM], values, 50000),\n\n        ...checkMinValue(\n            t,\n            [FieldsEnum.timeLimitToCancelOrderHours, FieldsEnum.timeLimitToCancelTransportationOrderHours],\n            values,\n            0,\n        ),\n        ...checkMaxValue(\n            t,\n            [FieldsEnum.timeLimitToCancelOrderHours, FieldsEnum.timeLimitToCancelTransportationOrderHours],\n            values,\n            48,\n        ),\n    };\n\n    const assignDriverLimitAlert = values[FieldsEnum.assignDriverLimitAlert];\n    const noDriverAlert = values[FieldsEnum.transportationOrderHasNoDriverAlertTime];\n    if (assignDriverLimitAlert && noDriverAlert) {\n        const parsedAssignDriverLimitAlert = parseSimpleNumber(assignDriverLimitAlert);\n        const parsedNoDriverAlert = parseSimpleNumber(noDriverAlert);\n\n        if (\n            isNumber(parsedNoDriverAlert) &&\n            isNumber(parsedAssignDriverLimitAlert) &&\n            parsedAssignDriverLimitAlert > parsedNoDriverAlert\n        ) {\n            errors[FieldsEnum.assignDriverLimitAlert] = t(\n                'price-settings.alerts-form.errors.less-than-no-driver-alert',\n            );\n        }\n    }\n\n    const assignAssetLimitAlert = values[FieldsEnum.assignAssetLimitAlert];\n    const parsedAssignAssetLimitAlertMin = parseSimpleNumber(assignAssetLimitAlert);\n\n    const noAssetAlert = values[FieldsEnum.transportationOrderHasNoAssetsAlertTime];\n    if (noAssetAlert) {\n        const parsedNoAssetAlert = parseSimpleNumber(noAssetAlert);\n        if (\n            isNumber(parsedNoAssetAlert) &&\n            isNumber(parsedAssignAssetLimitAlertMin) &&\n            parsedAssignAssetLimitAlertMin > parsedNoAssetAlert\n        ) {\n            errors[FieldsEnum.assignAssetLimitAlert] = t('price-settings.alerts-form.errors.less-than-no-asset-alert');\n        }\n    }\n\n    const urgentOrderProcessingDelay = meta?.systemSettings?.URGENT_ORDER_PROCESSING_DELAY;\n    const urgentOrderProcessingDelayHours = parseSimpleNumber(urgentOrderProcessingDelay);\n    if (urgentOrderProcessingDelayHours) {\n        const urgentOrderProcessingDelayMin = urgentOrderProcessingDelayHours * MIN_IN_HOUR;\n        if (\n            isNumber(urgentOrderProcessingDelayMin) &&\n            isNumber(parsedAssignAssetLimitAlertMin) &&\n            parsedAssignAssetLimitAlertMin > urgentOrderProcessingDelayMin - MIN_IN_HOUR\n        ) {\n            errors[FieldsEnum.assignAssetLimitAlert] = t(\n                'price-settings.errors-template.less-than-other-setting-minus-one-hour',\n                {\n                    settingName: t('price-settings.new-order-parameters-form.fields.urgentOrderProcessingDelay.label'),\n                },\n            );\n        }\n    }\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"TransportOrderDetailsPageLayout__fadeIn___u2zEI\",\"blinking\":\"TransportOrderDetailsPageLayout__blinking___UjZ9W\"};","import * as React from 'react';\nimport { DependencyList } from 'react';\n\nfunction useOnlyChangesEffect(callback: () => void, dependencyList: DependencyList) {\n    const firstUpdate = React.useRef(true);\n\n    React.useEffect(() => {\n        if (firstUpdate.current) {\n            firstUpdate.current = false;\n            return;\n        }\n\n        callback();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, dependencyList);\n}\n\nexport default useOnlyChangesEffect;\n","// extracted by mini-css-extract-plugin\nexport default {\"placeholder\":\"PapersMessagePlaceholder__placeholder___vUKJn\",\"fadeIn\":\"PapersMessagePlaceholder__fadeIn___b6Thc\",\"blinking\":\"PapersMessagePlaceholder__blinking___JkwgS\"};","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"UserMultipleDropdown__option___gljng\",\"fadeIn\":\"UserMultipleDropdown__fadeIn___WmBvf\",\"blinking\":\"UserMultipleDropdown__blinking___t_IUC\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './PriceSettingsEditRuleLayout.scss';\nimport { useTranslation } from 'react-i18next';\nimport scrollIntoView from 'scroll-into-view';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport {\n    diffImpactStrategySet,\n    FieldsEnum,\n    FormValuesT,\n    getAvailablePriceComponent,\n    getAvailableStrategies,\n    RepeatTypeEnum,\n} from './constants';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport validateForm from './validate-form';\nimport getInitialValues, { DEFAULT_IMPACT_DIFF_VALUE, DEFAULT_IMPACT_VALUE } from './get-initial-values';\nimport prepareApiRule from './prepare-api-rule';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport CheckboxOptionsList from 'common/components/CheckboxOptionsList/CheckboxOptionsList';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport DeprecatedCountyFlagLabel from 'common/components/DeprecatedCountyFlagLabel/DeprecatedCountyFlagLabel';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectCountriesAllCodes, selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { getMoneyMask, getPercentDiffMask } from 'common/utils/input-masks';\nimport DropdownMultipleInput from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport ControlsCell from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/cell-renderers/ControlsCell/ControlsCell';\nimport { CURRENCY_SYMBOLS, DaysEnum, WEEK_DAYS_ORDER } from 'common/constants';\nimport { RepeatStrategyOptionT } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/models';\nimport { ApiRuleImpactStrategyTypeT, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport {\n    selectCreateRuleRequest,\n    selectFetchRuleDetailsRequest,\n    selectRuleDetails,\n    selectUpdateRulesRequest,\n} from 'broker-admin/store/price-settings/rules/selectors';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport ScrollToFirstAsyncError from 'common/components/ScrollToFirstAsyncError/ScrollToFirstAsyncError';\nimport { logWarning } from 'common/utils/logger';\nimport { RepeatStrategyTypeEnum, RuleImpactStrategyEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport TrailerTypeMultipleDropdown from 'broker-admin/components/dropdowns/TrailerTypeMultipleDropdown/TrailerTypeMultipleDropdown';\nimport { selectTrailerDictTypeIds } from 'common/store/trailers-dict/selectors';\nimport values from 'lodash/values';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport {\n    activateRules,\n    createRule,\n    deactivateRules,\n    deleteRules,\n    fetchRuleDetails,\n    resetCreateRuleRequest,\n    resetUpdateRuleRequest,\n    updateRules,\n} from 'broker-admin/store/price-settings/rules/actions';\nimport {\n    REPEAT_STRATEGY_T_MAP,\n    RepeatStrategyTypeT,\n} from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/constants';\nimport noop from 'lodash/noop';\nimport PriceRuleTypeDropdown from 'broker-admin/components/dropdowns/PriceRuleTypeDropdown/PriceRuleTypeDropdown';\nimport ShippersSuggest from 'broker-admin/components/dropdowns/ShippersSuggest/ShippersSuggest';\nimport { useShipperSuggestOptions } from 'broker-admin/components/dropdowns/ShippersSuggest/hooks/use-shipper-suggest-options';\nimport CarriersSuggest from 'broker-admin/components/dropdowns/CarriersSuggest/CarriersSuggest';\nimport PriceComponentTypeCustomMultipleDropdown from 'broker-admin/components/dropdowns/PriceComponentTypeCustomMultipleDropdown/PriceComponentTypeCustomMultipleDropdown';\nimport PriceRuleStatusPill from 'broker-admin/components/status-pill/PriceRuleStatusPill/PriceRuleStatusPill';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport isEmpty from 'lodash/isEmpty';\nimport { PreviewCurrentRuleT } from 'broker-admin/store/price-settings/rules/models';\nimport { ruleDetailsRefreshChannel } from 'broker-admin/store/price-settings/rules/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport FormUnsavedValuesColoredStatus from 'common/components/status-colored/FormUnsavedValuesColoredStatus/FormUnsavedValuesColoredStatus';\nimport { getDateFromDate } from 'common/utils/time';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport asyncValidations from './async-validations';\n\nconst cx = classNames.bind(styles);\n\ntype RepeatTypeOptionT = {\n    label: string;\n    value: RepeatTypeEnum;\n};\n\ntype StrategyOptionT = {\n    label: string;\n    value: RuleImpactStrategyEnum;\n};\n\ntype DayOptionT = {\n    label: string;\n    value: DaysEnum;\n};\n\nconst getMaskByType = (type: ApiRuleImpactStrategyTypeT) => {\n    switch (type) {\n        case RuleImpactStrategyEnum.percent:\n            return getPercentDiffMask();\n        case RuleImpactStrategyEnum.value:\n            return getMoneyMask();\n        default:\n            return null;\n    }\n};\n\nconst UNIT_BY_IMPACT_STRATEGY: Record<ApiRuleImpactStrategyTypeT, string> = {\n    [RuleImpactStrategyEnum.percent]: '%',\n    [RuleImpactStrategyEnum.value]: CURRENCY_SYMBOLS.EUR,\n};\n\nconst I18N_IMPACT_STRATEGY_KEY: Record<RuleImpactStrategyEnum, string> = {\n    [RuleImpactStrategyEnum.value]: 'price-settings.rules.impact-strategy.EXACT',\n    [RuleImpactStrategyEnum.percent]: 'price-settings.rules.impact-strategy.PERCENTS',\n};\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype PropsT = {\n    editableRuleId: RuleIdT | null;\n    onCancel?: (() => void) | null;\n    onClose?: (() => void) | null;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n    onChangePreviewCurrentRule?: (previewCurrentRule: PreviewCurrentRuleT | null) => void;\n};\n\nconst I18N_REPEAT_TYPE_MAP: Record<RepeatTypeEnum, string> = {\n    [RepeatTypeEnum.dates]: 'price-settings.rules.repeat-types.DATES',\n    [RepeatTypeEnum.weekdays]: 'price-settings.rules.repeat-types.WEEKDAYS',\n};\n\nconst PriceSettingsEditRuleLayout: React.FC<PropsT> = (props) => {\n    const { onCancel, onClose, setNeedCloseConfirmation, editableRuleId, onChangePreviewCurrentRule } = props;\n\n    const isNewRule = editableRuleId === null;\n\n    const createRuleRequest = useSelector(selectCreateRuleRequest);\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    const ref = React.createRef<HTMLDivElement>();\n\n    React.useEffect(() => {\n        if (!ref.current) {\n            return;\n        }\n\n        scrollIntoView(ref.current, {\n            time: 300,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [editableRuleId]);\n\n    const validate = React.useCallback((values: FormValuesT) => validateForm(t, values), [t]);\n\n    const trailerDictTypeIds = useSelector(selectTrailerDictTypeIds);\n    const fetchRuleDetailsRequest = useSelector(selectFetchRuleDetailsRequest);\n    const updateRulesRequest = useSelector(selectUpdateRulesRequest);\n    const editableRuleDetails = useSelector(selectRuleDetails(editableRuleId || null));\n\n    React.useEffect(() => {\n        if (editableRuleId) {\n            dispatch(resetUpdateRuleRequest());\n            dispatch(resetCreateRuleRequest());\n            dispatch(fetchRuleDetails(editableRuleId));\n        }\n    }, [dispatch, editableRuleId]);\n\n    React.useEffect(() => {\n        return () => {\n            dispatch(resetUpdateRuleRequest());\n            dispatch(resetCreateRuleRequest());\n        };\n    }, [dispatch]);\n\n    const refreshDetailsHandler = React.useCallback(\n        (event: InferChannelEventT<typeof ruleDetailsRefreshChannel>) => {\n            if (editableRuleId && event.ruleIds.includes(editableRuleId)) {\n                dispatch(fetchRuleDetails(editableRuleId));\n            }\n        },\n        [dispatch, editableRuleId],\n    );\n    useChannelSubscribe(ruleDetailsRefreshChannel, refreshDetailsHandler);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(editableRuleDetails, trailerDictTypeIds);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [editableRuleDetails, trailerDictTypeIds]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const ruleDraft = prepareApiRule(values);\n            if (!ruleDraft) {\n                logWarning('empty ruleDraft, not valid values');\n                return;\n            }\n\n            if (editableRuleId) {\n                dispatch(updateRules(editableRuleId, ruleDraft));\n            } else {\n                dispatch(createRule(ruleDraft));\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidations(t, {\n            createRuleRequestStatus: createRuleRequest,\n            updateRulesRequestStatus: updateRulesRequest,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [t, createRuleRequest?.error, updateRulesRequest?.error]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    React.useEffect(() => {\n        if (!onChangePreviewCurrentRule) {\n            return;\n        }\n\n        const previewCurrentRule = prepareApiRule(formik.values);\n        onChangePreviewCurrentRule(previewCurrentRule);\n    }, [onChangePreviewCurrentRule, formik.values]);\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n    React.useEffect(() => {\n        if (!setNeedCloseConfirmation) {\n            return;\n        }\n\n        setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    const isDisabledSubmit = (!isNewRule && !hasAnyFieldValueChanges) || createRuleRequest.loading;\n\n    const allCountryCodes = useSelector(selectCountriesAllCodes);\n    const countryByCode = useSelector(selectCountriesByCode);\n\n    const renderCountryOption = React.useCallback(\n        (countryCode: CountryCodeT) => {\n            return <DeprecatedCountyFlagLabel isThin country={countryByCode[countryCode]} />;\n        },\n        [countryByCode],\n    );\n\n    const getToOptionTestSelector = React.useCallback((countryCode: CountryCodeT) => {\n        return `to_country_option_${countryCode}`;\n    }, []);\n\n    const getFromOptionTestSelector = React.useCallback((countryCode: CountryCodeT) => {\n        return `from_country_option_${countryCode}`;\n    }, []);\n\n    const getCountryOptionValue = React.useCallback((option: CountryCodeT) => option, []);\n\n    const selectedType = formik.values[FieldsEnum.type];\n\n    const selectedImpactPriceComponent = formik.values[FieldsEnum.impactPriceComponent];\n    const strategyImpactOptions = React.useMemo((): StrategyOptionT[] => {\n        const availableStrategies = getAvailableStrategies(selectedType, selectedImpactPriceComponent);\n\n        return [\n            {\n                label: t(I18N_IMPACT_STRATEGY_KEY[RuleImpactStrategyEnum.percent]),\n                value: RuleImpactStrategyEnum.percent,\n            },\n            {\n                label: t(I18N_IMPACT_STRATEGY_KEY[RuleImpactStrategyEnum.value]),\n                value: RuleImpactStrategyEnum.value,\n            },\n        ].filter((option) => {\n            return availableStrategies.includes(option.value);\n        });\n    }, [t, selectedType, selectedImpactPriceComponent]);\n\n    const repeatTypeOptions = React.useMemo((): RepeatTypeOptionT[] => {\n        return [\n            {\n                label: t(I18N_REPEAT_TYPE_MAP[RepeatTypeEnum.weekdays]),\n                value: RepeatTypeEnum.weekdays,\n            },\n            {\n                label: t(I18N_REPEAT_TYPE_MAP[RepeatTypeEnum.dates]),\n                value: RepeatTypeEnum.dates,\n            },\n        ];\n    }, [t]);\n\n    const repeatType = formik.values[FieldsEnum.repeatType];\n\n    const repeatStrategyOptions = React.useMemo((): RepeatStrategyOptionT[] => {\n        const availableRepeatStrategies = [\n            RepeatStrategyTypeEnum.none,\n            RepeatStrategyTypeEnum.monthly,\n            RepeatStrategyTypeEnum.yearly,\n        ];\n\n        return availableRepeatStrategies.map((repeatStrategy) => {\n            return {\n                label: t(REPEAT_STRATEGY_T_MAP[repeatStrategy]),\n                value: repeatStrategy,\n            };\n        });\n    }, [t]);\n\n    const dayOptions: DayOptionT[] = WEEK_DAYS_ORDER.map((day) => ({\n        label: t(`common:week-days.${day}`),\n        value: day,\n    }));\n\n    const handleSelectImpactStrategy = (strategy: ApiRuleImpactStrategyTypeT) => {\n        formik.setFieldValue(FieldsEnum.impactStrategy, strategy);\n    };\n\n    const handleSelectRepeatType = (repeatType: RepeatTypeEnum) => {\n        formik.setValues((prevValues) => {\n            return {\n                ...prevValues,\n                [FieldsEnum.repeatType]: repeatType,\n            };\n        });\n    };\n\n    React.useEffect(() => {\n        const repeatType = formik.values[FieldsEnum.repeatType];\n\n        if (repeatType === RepeatTypeEnum.dates) {\n            formik.setFieldValue(FieldsEnum.days, []);\n        }\n\n        if (repeatType === RepeatTypeEnum.weekdays) {\n            formik.setFieldValue(FieldsEnum.dates, {\n                from: null,\n                to: null,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.values[FieldsEnum.repeatType]]);\n\n    React.useEffect(() => {\n        const batchChanges: Partial<FormValuesT> = {};\n\n        const selectedType = formik.values[FieldsEnum.type];\n        const availablePriceComponents = getAvailablePriceComponent(selectedType);\n        const selectedPriceComponent = formik.values[FieldsEnum.impactPriceComponent];\n        if (selectedPriceComponent && !availablePriceComponents.includes(selectedPriceComponent)) {\n            batchChanges[FieldsEnum.impactPriceComponent] = null;\n        }\n\n        const availableStrategies = getAvailableStrategies(selectedType, selectedPriceComponent);\n        const selectedStrategy = formik.values[FieldsEnum.impactStrategy];\n        if (selectedStrategy && !availableStrategies.includes(selectedStrategy)) {\n            // eslint-disable-next-line prefer-destructuring\n            batchChanges[FieldsEnum.impactStrategy] = availableStrategies[0];\n            batchChanges[FieldsEnum.impactValue] = DEFAULT_IMPACT_VALUE;\n            batchChanges[FieldsEnum.impactDiffValue] = DEFAULT_IMPACT_DIFF_VALUE;\n        }\n\n        if (!isEmpty(batchChanges)) {\n            formik.setValues((prevValues) => {\n                return {\n                    ...prevValues,\n                    ...batchChanges,\n                };\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.values[FieldsEnum.type]]);\n\n    React.useEffect(() => {\n        const batchChanges: Partial<FormValuesT> = {};\n\n        const selectedType = formik.values[FieldsEnum.type];\n        const selectedPriceComponent = formik.values[FieldsEnum.impactPriceComponent];\n        const availableStrategies = getAvailableStrategies(selectedType, selectedPriceComponent);\n        const selectedStrategy = formik.values[FieldsEnum.impactStrategy];\n        if (selectedStrategy && !availableStrategies.includes(selectedStrategy)) {\n            // eslint-disable-next-line prefer-destructuring\n            batchChanges[FieldsEnum.impactStrategy] = availableStrategies[0];\n            batchChanges[FieldsEnum.impactValue] = DEFAULT_IMPACT_VALUE;\n            batchChanges[FieldsEnum.impactDiffValue] = DEFAULT_IMPACT_DIFF_VALUE;\n        }\n\n        if (!isEmpty(batchChanges)) {\n            formik.setValues((prevValues) => {\n                return {\n                    ...prevValues,\n                    ...batchChanges,\n                };\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.values[FieldsEnum.type], formik.values[FieldsEnum.impactPriceComponent]]);\n\n    React.useEffect(() => {\n        const fromCountryCodes = formik.values[FieldsEnum.fromCountryCodes];\n\n        if (fromCountryCodes?.length !== 1) {\n            formik.setFieldValue(FieldsEnum.fromCountryZipCodes, '');\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.values[FieldsEnum.fromCountryCodes]]);\n\n    React.useEffect(() => {\n        const toCountryCodes = formik.values[FieldsEnum.toCountryCodes];\n\n        if (toCountryCodes?.length !== 1) {\n            formik.setFieldValue(FieldsEnum.toCountryZipCodes, '');\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.values[FieldsEnum.toCountryCodes]]);\n\n    const isShowLoader = fetchRuleDetailsRequest.loading || updateRulesRequest.loading;\n\n    const hasChangeHighlight =\n        !isNewRule && formik.values[FieldsEnum.id] === editableRuleDetails?.id && !isShowLoader && formik.dirty;\n\n    const headerTitle = isNewRule ? t('price-settings.rules.form.new-rule') : editableRuleDetails?.name;\n\n    const handleActiveRule = (ruleId: RuleIdT) => {\n        dispatch(activateRules([ruleId]));\n    };\n\n    const handleDeactiveRule = (ruleId: RuleIdT) => {\n        dispatch(deactivateRules([ruleId]));\n    };\n\n    const handleDeleteRule = (ruleId: RuleIdT) => {\n        dispatch(deleteRules([ruleId]));\n\n        if (onClose) {\n            onClose();\n        }\n    };\n\n    const initialShipperIds = formik.initialValues[FieldsEnum.shipperIds];\n    const initialShippersOptions = useShipperSuggestOptions(initialShipperIds);\n\n    const initialCarrierIds = formik.initialValues[FieldsEnum.carrierIds];\n    const initialCarrierOptions = useShipperSuggestOptions(initialCarrierIds);\n\n    const selectedImpactStrategy = formik.values[FieldsEnum.impactStrategy];\n    const isSelectedDiffImpactStrategy = diffImpactStrategySet.has(selectedImpactStrategy);\n\n    const isShowCreateButton = isNewRule;\n    const isShowUpdateButtons = !isNewRule && hasAnyFieldValueChanges;\n\n    const minTodayDate = React.useMemo(() => {\n        const now = new Date();\n        return getDateFromDate(now);\n    }, []);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            {isShowLoader && <LoaderOverlay />}\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={headerTitle}\n                    afterTitleNode={\n                        editableRuleDetails ? <PriceRuleStatusPill isActive={editableRuleDetails?.active} /> : null\n                    }\n                    rightNode={\n                        <>\n                            {!isNewRule && hasAnyFieldValueChanges && hasChangeHighlight && (\n                                <FormUnsavedValuesColoredStatus className={cx('status')} />\n                            )}\n                            {!isNewRule && (\n                                <ControlsCell\n                                    id={editableRuleId}\n                                    isActive={!!editableRuleDetails?.active}\n                                    className={cx('controls')}\n                                    onActiveRule={handleActiveRule}\n                                    onDeactiveRule={handleDeactiveRule}\n                                    onDeleteRule={handleDeleteRule}\n                                />\n                            )}\n                        </>\n                    }\n                    testSelector=\"edit-rule\"\n                    onClose={onClose}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout testSelector=\"edit-rule\">\n                <div ref={ref}>\n                    <FieldGroup>\n                        <FormikField\n                            className={cx('field', 'field--name')}\n                            name={FieldsEnum.name}\n                            error={formik.errors[FieldsEnum.name]}\n                            meta={formik.getFieldMeta(FieldsEnum.name)}\n                            label={t('price-settings.rules.form.fields.name.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.name}\n                                    value={formik.values[FieldsEnum.name]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                    placeholder={t('price-settings.rules.form.fields.name.placeholder')}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field', 'field--type')}\n                            name={FieldsEnum.type}\n                            error={formik.errors[FieldsEnum.type]}\n                            meta={formik.getFieldMeta(FieldsEnum.type)}\n                            label={t('price-settings.rules.form.fields.type.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <PriceRuleTypeDropdown\n                                    value={formik.values[FieldsEnum.type]}\n                                    onChange={props.onChange}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                    {formik.values[FieldsEnum.type] === PriceRuleTypeEnum.shipper && (\n                        <FormikField\n                            name={FieldsEnum.shipperIds}\n                            error={formik.errors[FieldsEnum.shipperIds]}\n                            meta={formik.getFieldMeta(FieldsEnum.shipperIds)}\n                            label={t('price-settings.rules.form.fields.shippers.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <ShippersSuggest\n                                    values={formik.values[FieldsEnum.shipperIds]}\n                                    initialOptions={initialShippersOptions.initOptions}\n                                    initialRequestStatus={initialShippersOptions.initRequestStatus}\n                                    hasClearControl\n                                    onSelect={props.onChange}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    placeholder={t('price-settings.rules.form.fields.shippers.placeholder')}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    )}\n                    {formik.values[FieldsEnum.type] === PriceRuleTypeEnum.carrier && (\n                        <FormikField\n                            name={FieldsEnum.carrierIds}\n                            error={formik.errors[FieldsEnum.carrierIds]}\n                            meta={formik.getFieldMeta(FieldsEnum.carrierIds)}\n                            label={t('price-settings.rules.form.fields.carriers.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <CarriersSuggest\n                                    values={formik.values[FieldsEnum.carrierIds]}\n                                    initialOptions={initialCarrierOptions.initOptions}\n                                    initialRequestStatus={initialCarrierOptions.initRequestStatus}\n                                    hasClearControl\n                                    onSelect={props.onChange}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    placeholder={t('price-settings.rules.form.fields.carriers.placeholder')}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    )}\n                    {formik.values[FieldsEnum.type] === PriceRuleTypeEnum.basic && (\n                        <ReadOnlyField\n                            withInputLayout\n                            label={t('price-settings.rules.form.fields.partners.label')}\n                            placeholder={t('price-settings.rules.form.fields.partners.placeholder')}\n                            value={null}\n                        />\n                    )}\n                    <FormikField\n                        name={FieldsEnum.trailerTypeIds}\n                        error={formik.errors[FieldsEnum.trailerTypeIds]}\n                        meta={formik.getFieldMeta(FieldsEnum.trailerTypeIds)}\n                        label={t('price-settings.rules.form.fields.trailer-types.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <TrailerTypeMultipleDropdown\n                                values={formik.values[FieldsEnum.trailerTypeIds]}\n                                onSelect={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                hasChanges={!isNewRule && props.hasChanges}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                placeholder={t('price-settings.rules.form.fields.trailer-types.placeholder')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                </div>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--countries')}\n                        name={FieldsEnum.fromCountryCodes}\n                        error={formik.errors[FieldsEnum.fromCountryCodes]}\n                        meta={formik.getFieldMeta(FieldsEnum.fromCountryCodes)}\n                        label={t('price-settings.rules.form.fields.from-country-codes.label', {\n                            count: formik.values[FieldsEnum.fromCountryCodes].length,\n                        })}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CheckboxOptionsList<CountryCodeT, CountryCodeT>\n                                isShowSelectAllTrigger\n                                isShowDeselectAllTrigger\n                                selectedValues={formik.values[FieldsEnum.fromCountryCodes]}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                options={allCountryCodes}\n                                onSelect={props.onChange}\n                                renderOption={renderCountryOption}\n                                getOptionTestSelector={getFromOptionTestSelector}\n                                getOptionValue={getCountryOptionValue}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--countries')}\n                        name={FieldsEnum.toCountryCodes}\n                        error={formik.errors[FieldsEnum.toCountryCodes]}\n                        meta={formik.getFieldMeta(FieldsEnum.toCountryCodes)}\n                        label={t('price-settings.rules.form.fields.to-country-codes.label', {\n                            count: formik.values[FieldsEnum.toCountryCodes].length,\n                        })}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CheckboxOptionsList<CountryCodeT, CountryCodeT>\n                                isShowSelectAllTrigger\n                                isShowDeselectAllTrigger\n                                selectedValues={formik.values[FieldsEnum.toCountryCodes]}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                options={allCountryCodes}\n                                onSelect={props.onChange}\n                                renderOption={renderCountryOption}\n                                getOptionTestSelector={getToOptionTestSelector}\n                                getOptionValue={getCountryOptionValue}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--zips')}\n                        name={FieldsEnum.fromCountryZipCodes}\n                        error={formik.errors[FieldsEnum.fromCountryZipCodes]}\n                        meta={formik.getFieldMeta(FieldsEnum.fromCountryZipCodes)}\n                        asyncError={asyncFormErrors[FieldsEnum.fromCountryZipCodes]}\n                        resetAsyncError={resetAsyncFormErrors}\n                        label={t('price-settings.rules.form.fields.zips.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => {\n                            const isDisabled = formik.values[FieldsEnum.fromCountryCodes].length !== 1;\n                            return (\n                                <Input\n                                    name={FieldsEnum.fromCountryZipCodes}\n                                    value={formik.values[FieldsEnum.fromCountryZipCodes]}\n                                    placeholder={t(\n                                        isDisabled\n                                            ? 'price-settings.rules.form.fields.zips.disabled-placeholder'\n                                            : 'price-settings.rules.form.fields.zips.placeholder',\n                                    )}\n                                    isDisabled={isDisabled}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                />\n                            );\n                        }}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--zips')}\n                        name={FieldsEnum.toCountryZipCodes}\n                        error={formik.errors[FieldsEnum.toCountryZipCodes]}\n                        meta={formik.getFieldMeta(FieldsEnum.toCountryZipCodes)}\n                        asyncError={asyncFormErrors[FieldsEnum.toCountryZipCodes]}\n                        resetAsyncError={resetAsyncFormErrors}\n                        label={t('price-settings.rules.form.fields.zips.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => {\n                            const isDisabled = formik.values[FieldsEnum.toCountryCodes].length !== 1;\n                            return (\n                                <Input\n                                    name={FieldsEnum.toCountryZipCodes}\n                                    value={formik.values[FieldsEnum.toCountryZipCodes]}\n                                    placeholder={t(\n                                        isDisabled\n                                            ? 'price-settings.rules.form.fields.zips.disabled-placeholder'\n                                            : 'price-settings.rules.form.fields.zips.placeholder',\n                                    )}\n                                    isDisabled={isDisabled}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                />\n                            );\n                        }}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FieldGroup className={cx('field-group', 'field-group--schedule')} isFullWidth>\n                        {formik.values[FieldsEnum.repeatType] === RepeatTypeEnum.weekdays && (\n                            <FormikField\n                                label={t('price-settings.rules.form.fields.repeat.label')}\n                                name={FieldsEnum.days}\n                                error={formik.errors[FieldsEnum.days]}\n                                meta={formik.getFieldMeta(FieldsEnum.days)}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                                className={cx('field', 'field--days')}\n                            >\n                                {(props) => (\n                                    <DropdownMultipleInput<DayOptionT, DaysEnum>\n                                        selectedValues={formik.values[FieldsEnum.days]}\n                                        options={dayOptions}\n                                        onSelect={props.onChange}\n                                        placeholder={t('price-settings.rules.form.fields.repeat.placeholder')}\n                                        renderTriggerContent={(selectedDays, placeholder) => {\n                                            if (!selectedDays.length) {\n                                                return <span>{placeholder}</span>;\n                                            }\n\n                                            const label = selectedDays\n                                                .map((day) => t(`common:week-short-days.${day.value}`))\n                                                .join(', ');\n\n                                            return <span>{label}</span>;\n                                        }}\n                                        renderOption={(option) => (option ? <span>{option.label}</span> : null)}\n                                        hasWarning={props.hasWarning}\n                                        hasError={props.hasError}\n                                        triggerClassName={cx('combined-field--days')}\n                                        getOptionValue={(option) => option.value}\n                                        overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasChanges={!isNewRule && props.hasChanges}\n                                        testSelector=\"repeat-weekdays\"\n                                    />\n                                )}\n                            </FormikField>\n                        )}\n                        {formik.values[FieldsEnum.repeatType] === RepeatTypeEnum.dates && (\n                            <FormikField\n                                name={FieldsEnum.dates}\n                                error={formik.errors[FieldsEnum.dates]}\n                                meta={formik.getFieldMeta(FieldsEnum.dates)}\n                                label={t('price-settings.rules.form.fields.repeat.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                                className={cx('field', 'field--dates')}\n                            >\n                                {(props) => (\n                                    <DatePicker\n                                        isRange\n                                        initialValue={initialValues[FieldsEnum.dates]}\n                                        value={formik.values[FieldsEnum.dates]}\n                                        placeholder={t('price-settings.rules.form.fields.repeat.placeholder')}\n                                        onChange={props.onChange}\n                                        overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasChanges={!isNewRule && props.hasChanges}\n                                        inputClassName={cx('combined-field--dates')}\n                                        testSelectorPrefix=\"repeat-dates\"\n                                        hasClearControl\n                                    />\n                                )}\n                            </FormikField>\n                        )}\n                        <FormikField\n                            name={FieldsEnum.repeatType}\n                            error={formik.errors[FieldsEnum.repeatType]}\n                            meta={formik.getFieldMeta(FieldsEnum.repeatType)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            className={cx('field', 'field--repeat-type')}\n                        >\n                            {(props) => (\n                                <DropdownInput<RepeatTypeOptionT, RepeatTypeEnum>\n                                    selectedValue={formik.values[FieldsEnum.repeatType]}\n                                    options={repeatTypeOptions}\n                                    onSelect={handleSelectRepeatType}\n                                    renderOption={(option) => (option ? <span>{option.label}</span> : null)}\n                                    triggerClassName={cx('combined-field--repeat-type')}\n                                    getOptionValue={(option) => option.value}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                    testSelector=\"repeat-type\"\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                    {repeatType === RepeatTypeEnum.weekdays ? (\n                        <ReadOnlyField\n                            withInputLayout\n                            className={cx('field', 'field--repeat-strategy')}\n                            label={t('price-settings.rules.form.fields.repeat-strategy.label')}\n                            value={t('price-settings.rules.repeat-strategy.WEEKLY')}\n                        />\n                    ) : (\n                        <FormikField\n                            className={cx('field', 'field--repeat-strategy')}\n                            label={t('price-settings.rules.form.fields.repeat-strategy.label')}\n                            name={FieldsEnum.repeatStrategy}\n                            error={formik.errors[FieldsEnum.repeatStrategy]}\n                            meta={formik.getFieldMeta(FieldsEnum.repeatStrategy)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DropdownInput<RepeatStrategyOptionT, RepeatStrategyTypeT>\n                                    selectedValue={formik.values[FieldsEnum.repeatStrategy]}\n                                    options={repeatStrategyOptions}\n                                    onSelect={props.onChange}\n                                    placeholder={t('price-settings.rules.form.fields.repeat-strategy.placeholder')}\n                                    renderOption={(option) => (option ? <span>{option.label}</span> : null)}\n                                    getOptionValue={(option) => option.value}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                    testSelector=\"repeat-strategy\"\n                                />\n                            )}\n                        </FormikField>\n                    )}\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--valid-date')}\n                        name={FieldsEnum.validFrom}\n                        error={formik.errors[FieldsEnum.validFrom]}\n                        meta={formik.getFieldMeta(FieldsEnum.validFrom)}\n                        label={t('price-settings.rules.form.fields.valid-from.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                value={formik.values[FieldsEnum.validFrom]}\n                                initialValue={initialValues[FieldsEnum.validFrom]}\n                                placeholder={t('price-settings.rules.form.fields.valid-from.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.topLeft}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={!isNewRule && props.hasChanges}\n                                minDate={minTodayDate}\n                                testSelectorPrefix=\"valid-from\"\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--valid-date')}\n                        name={FieldsEnum.validTill}\n                        error={formik.errors[FieldsEnum.validTill]}\n                        meta={formik.getFieldMeta(FieldsEnum.validTill)}\n                        label={t('price-settings.rules.form.fields.valid-till.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                value={formik.values[FieldsEnum.validTill]}\n                                initialValue={initialValues[FieldsEnum.validTill]}\n                                placeholder={t('price-settings.rules.form.fields.valid-till.placeholder')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.topRight}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={!isNewRule && props.hasChanges}\n                                minDate={minTodayDate}\n                                testSelectorPrefix=\"valid-till\"\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--price-component')}\n                        name={FieldsEnum.impactPriceComponent}\n                        error={formik.errors[FieldsEnum.impactPriceComponent]}\n                        meta={formik.getFieldMeta(FieldsEnum.impactPriceComponent)}\n                        label={t('price-settings.rules.form.fields.impact-price-components.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => {\n                            return (\n                                <PriceComponentTypeCustomMultipleDropdown\n                                    value={formik.values[FieldsEnum.impactPriceComponent]}\n                                    onSelect={props.onChange}\n                                    overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                    availableValues={getAvailablePriceComponent(selectedType)}\n                                    placeholder={t(\n                                        'price-settings.rules.form.fields.impact-price-components.placeholder',\n                                    )}\n                                />\n                            );\n                        }}\n                    </FormikField>\n                    <FieldGroup isFullWidth className={cx('field-group', 'field-group--rule')}>\n                        {isSelectedDiffImpactStrategy ? (\n                            <FormikField\n                                name={FieldsEnum.impactDiffValue}\n                                error={formik.errors[FieldsEnum.impactDiffValue]}\n                                meta={formik.getFieldMeta(FieldsEnum.impactDiffValue)}\n                                label={t('price-settings.rules.form.fields.impact-value.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        className={cx('combined-field--impact-value')}\n                                        name={FieldsEnum.impactDiffValue}\n                                        value={formik.values[FieldsEnum.impactDiffValue]}\n                                        onChange={(value) => {\n                                            props.onChange(value);\n                                        }}\n                                        onBlur={props.onBlur}\n                                        mask={getMaskByType(formik.values[FieldsEnum.impactStrategy])}\n                                        rightNode={UNIT_BY_IMPACT_STRATEGY[formik.values[FieldsEnum.impactStrategy]]}\n                                        guide={false}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={!isNewRule && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        ) : (\n                            <FormikField\n                                name={FieldsEnum.impactValue}\n                                error={formik.errors[FieldsEnum.impactValue]}\n                                meta={formik.getFieldMeta(FieldsEnum.impactValue)}\n                                label={t('price-settings.rules.form.fields.impact-value.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        className={cx('combined-field--impact-value')}\n                                        name={FieldsEnum.impactValue}\n                                        value={formik.values[FieldsEnum.impactValue]}\n                                        onChange={(value) => {\n                                            props.onChange(value);\n                                        }}\n                                        onBlur={props.onBlur}\n                                        mask={getMaskByType(formik.values[FieldsEnum.impactStrategy])}\n                                        rightNode={UNIT_BY_IMPACT_STRATEGY[formik.values[FieldsEnum.impactStrategy]]}\n                                        guide={false}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={!isNewRule && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        )}\n                        <FormikField\n                            name={FieldsEnum.impactStrategy}\n                            error={formik.errors[FieldsEnum.impactStrategy]}\n                            meta={formik.getFieldMeta(FieldsEnum.impactStrategy)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            className={cx('field', 'field--impact-strategy')}\n                        >\n                            {(props) => (\n                                <DropdownInput<StrategyOptionT, ApiRuleImpactStrategyTypeT>\n                                    triggerClassName={cx('combined-field--impact-strategy')}\n                                    selectedValue={formik.values[FieldsEnum.impactStrategy]}\n                                    options={strategyImpactOptions}\n                                    onSelect={handleSelectImpactStrategy}\n                                    renderOption={(option) => (option ? <span>{option.label}</span> : null)}\n                                    getOptionValue={(option) => option.value}\n                                    overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={!isNewRule && props.hasChanges}\n                                    testSelector=\"impact\"\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                </FieldGroup>\n            </SideBarLayout>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <ScrollToFirstAsyncError submitCount={formik.submitCount} asyncErrors={asyncFormErrors} />\n            {(isShowCreateButton || isShowUpdateButtons) && (\n                <FooterSideBarLayout hasPaddings>\n                    {isShowCreateButton && (\n                        <Button\n                            isDisabled={isDisabledSubmit}\n                            className={cx('button--add')}\n                            type=\"submit\"\n                            theme={ButtonThemeEnum.primary}\n                            testSelector=\"add\"\n                        >\n                            {t('price-settings.rules.form.add-rule')}\n                        </Button>\n                    )}\n                    {isShowUpdateButtons && (\n                        <div className={cx('buttons')}>\n                            <Button\n                                theme={ButtonThemeEnum.secondary}\n                                className={cx('button--cancel')}\n                                type=\"button\"\n                                onClick={onCancel || noop}\n                                testSelector=\"cancel\"\n                            >\n                                {t('price-settings.rules.form.cancel')}\n                            </Button>\n                            <Button\n                                theme={ButtonThemeEnum.primary}\n                                isDisabled={isDisabledSubmit}\n                                className={cx('button--save')}\n                                type=\"submit\"\n                                testSelector=\"submit\"\n                            >\n                                {t('price-settings.rules.form.save')}\n                            </Button>\n                        </div>\n                    )}\n                </FooterSideBarLayout>\n            )}\n        </form>\n    );\n};\n\nexport default PriceSettingsEditRuleLayout;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './AssetPin.scss';\nimport { CurrencyEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport TrailerIcon, { getTrailerIconProps } from 'common/icons/TrailerIcon';\nimport TruckIcon, { getTruckIconProps } from 'common/icons/TruckIcon';\nimport MapTooltip from 'common/components/maps/MapTooltip/MapTooltip';\nimport { useTranslation } from 'react-i18next';\nimport isNil from 'lodash/isNil';\n\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport getUtilizationColor from 'common/utils/get-utilization-color';\nimport AssetLinkIcon, { getAssetLinkIconProps } from 'common/icons/AssetLinkIcon';\nimport { getAssignmentIconPreset } from '../utils/get-assignment-icon-preset';\nimport { PartnerT } from 'common/store/carrier-suggest/models';\nimport CarrierIcon from 'common/icons/CarrierIcon';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport Money from 'common/components/Money/Money';\nimport isNumber from 'lodash/isNumber';\nimport { formatDateWithTimeZone, formatTimeZone } from 'common/utils/time';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport MapTooltipMenu, { MapTooltipMenuItemT } from 'common/components/maps/MapTooltipMenu/MapTooltipMenu';\nimport { BrokerAssetsSearchRequestInvalidReasonT } from 'common/utils/assignment';\nimport { reasonI18nMap } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/constants';\nimport RateModeStatusPill from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentMap/AssetPin/RateModeStatusPill/RateModeStatusPill';\nimport { ApiTruckRateModeT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    lat: number;\n    lng: number;\n    className?: string;\n    utcOffset?: number | null;\n    arrivalDate?: string | null;\n    plateNumber?: string | null;\n    truckId?: string | null;\n    isLoadingTruckUtilization: boolean;\n    truckUtilization: number | null | undefined;\n    truckRatePerKm?: number;\n    truckRateMode?: ApiTruckRateModeT;\n    truckInvalidReason: BrokerAssetsSearchRequestInvalidReasonT | null | undefined;\n    isLoadingTruckCarrierUtilization: boolean;\n    truckCarrierUtilizationPercent: number | null;\n    truckCarrier: PartnerT | null;\n    isSelectedTruck: boolean;\n    trailerId?: string | null;\n    isLoadingTrailerUtilization: boolean;\n    trailerUtilization: number | null | undefined;\n    trailerRatePerKm?: number;\n    trailerRateMode?: ApiTruckRateModeT;\n    trailerInvalidReason: BrokerAssetsSearchRequestInvalidReasonT | null | undefined;\n    isLoadingTrailerCarrierUtilization: boolean;\n    trailerCarrierUtilizationPercent: number | null;\n    trailerCarrier: PartnerT | null;\n    isSelectedTrailer: boolean;\n    onClick: (truckId: string | null | undefined, trailerId: string | null | undefined) => void;\n    onHover: (truckId: string | null | undefined, trailerId: string | null | undefined) => void;\n    canInTime: boolean;\n    isBlockedSelectTruck?: boolean;\n    isBlockedSelectTrailer?: boolean;\n};\n\ntype UtilizationPropsT = {\n    isLoading: boolean;\n    utilization: number | null | undefined;\n};\n\nconst Utilization: React.FC<UtilizationPropsT> = (props) => {\n    const { isLoading, utilization } = props;\n\n    if (isNil(utilization) && isLoading) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    if (!isNumber(utilization)) {\n        return null;\n    }\n\n    return (\n        <div\n            className={cx('utilization')}\n            style={{\n                color: getUtilizationColor(utilization || 0),\n            }}\n        >\n            {isNumber(utilization) ? `${utilization}%` : ''}\n        </div>\n    );\n};\n\nconst getMapPinTheme = ({ canInTime, isSelected }: { canInTime: boolean; isSelected: boolean }): MapPinThemeEnum => {\n    if (isSelected) {\n        return MapPinThemeEnum.charcoal;\n    }\n\n    if (!canInTime) {\n        return MapPinThemeEnum.light;\n    }\n\n    return MapPinThemeEnum.slate;\n};\n\nconst AssetPin: React.FC<PropsT> = React.memo((props) => {\n    const {\n        lat,\n        lng,\n        className,\n        truckId,\n        trailerId,\n        utcOffset,\n        arrivalDate,\n        plateNumber,\n        onClick,\n        onHover,\n        isLoadingTrailerUtilization,\n        trailerUtilization,\n        trailerRatePerKm,\n        trailerRateMode,\n        trailerInvalidReason,\n        isSelectedTrailer,\n        isLoadingTruckUtilization,\n        truckUtilization,\n        truckRatePerKm,\n        truckRateMode,\n        truckInvalidReason,\n        isSelectedTruck,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        isLoadingTruckCarrierUtilization,\n        truckCarrier,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        truckCarrierUtilizationPercent,\n        isLoadingTrailerCarrierUtilization,\n        trailerCarrier,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        trailerCarrierUtilizationPercent,\n        canInTime,\n        isBlockedSelectTruck,\n        isBlockedSelectTrailer,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [isShowAssetLinkMenu, setIsShowAssetLinkMenu] = React.useState(false);\n\n    const linkAssetItems = React.useMemo((): Array<MapTooltipMenuItemT> => {\n        const isDisabledTruck = isBlockedSelectTruck || !!truckInvalidReason;\n        let truckTooltipContent: React.ReactNode = null;\n        if (truckInvalidReason) {\n            truckTooltipContent = t(reasonI18nMap[truckInvalidReason]);\n        }\n        if (isBlockedSelectTruck) {\n            truckTooltipContent = t('assignment.actions.tooltips.blocked-assign-truck');\n        }\n\n        const isDisabledTrailer = isBlockedSelectTrailer || !!trailerInvalidReason;\n        let trailerTooltipContent: React.ReactNode = null;\n        if (trailerInvalidReason) {\n            trailerTooltipContent = t(reasonI18nMap[trailerInvalidReason]);\n        }\n        if (isBlockedSelectTrailer) {\n            trailerTooltipContent = t('assignment.actions.tooltips.blocked-assign-trailer');\n        }\n\n        const isDisabledTrain = isDisabledTruck || isDisabledTrailer;\n\n        return [\n            {\n                label: t('assignment.actions.assign-full-train'),\n                onSelect: () => {\n                    setIsShowAssetLinkMenu(false);\n                    onClick(truckId, trailerId);\n                },\n                isDisabled: isDisabledTrain,\n                tooltipContent: isDisabledTrain ? t('assignment.actions.tooltips.blocked-assign-full-train') : null,\n                testSelector: 'full-train',\n            },\n            {\n                label: t('assignment.actions.select-truck-only'),\n                onSelect: () => {\n                    setIsShowAssetLinkMenu(false);\n                    onClick(truckId, null);\n                },\n                isDisabled: isDisabledTruck,\n                tooltipContent: isDisabledTruck ? truckTooltipContent : null,\n                testSelector: 'only-truck',\n            },\n            {\n                label: t('assignment.actions.select-trailer-only'),\n                onSelect: () => {\n                    setIsShowAssetLinkMenu(false);\n                    onClick(null, trailerId);\n                },\n                isDisabled: isDisabledTrailer,\n                tooltipContent: isDisabledTrailer ? trailerTooltipContent : null,\n                testSelector: 'only-trailer',\n            },\n        ];\n    }, [\n        t,\n        isBlockedSelectTruck,\n        isBlockedSelectTrailer,\n        onClick,\n        truckId,\n        trailerId,\n        setIsShowAssetLinkMenu,\n        trailerInvalidReason,\n        truckInvalidReason,\n    ]);\n\n    let formattedArrivalDate: React.ReactNode;\n    if (arrivalDate) {\n        formattedArrivalDate = t('assignment.asset-arrival', {\n            date: formatDateWithTimeZone(arrivalDate, utcOffset, 'D MMM'),\n            plateNumber,\n        });\n    } else if (arrivalDate === null) {\n        formattedArrivalDate = t('assignment.asset-current-position', {\n            plateNumber,\n        });\n    }\n\n    const handleOutsideClick = () => {\n        setIsShowAssetLinkMenu(false);\n    };\n\n    const handleClick = () => {\n        const isLink = truckId && trailerId;\n        if (isLink) {\n            setIsShowAssetLinkMenu(true);\n            return;\n        }\n\n        onClick(truckId, trailerId);\n    };\n\n    const [isHover, setHover] = React.useState<boolean>(false);\n    const handleHover = (isHover: boolean) => {\n        setHover(isHover);\n\n        if (!isHover) {\n            setIsShowAssetLinkMenu(false);\n        }\n\n        if (isHover) {\n            onHover(truckId, trailerId);\n        }\n    };\n\n    const truckIconPreset = getAssignmentIconPreset({\n        isSelected: isSelectedTruck,\n        canInTime,\n    });\n\n    const trailerIconPreset = getAssignmentIconPreset({\n        isSelected: isSelectedTrailer,\n        canInTime,\n    });\n\n    const linkIconPreset = getAssignmentIconPreset({\n        isSelected: isSelectedTruck || isSelectedTrailer,\n        canInTime,\n    });\n\n    const isSelected = isSelectedTruck || isSelectedTrailer;\n\n    const mapPinTheme = getMapPinTheme({\n        canInTime,\n        isSelected,\n    });\n\n    const isSelectedTruckAndTrailers = truckId && trailerId;\n    const isNotSameCarriers = truckCarrier?.id && trailerCarrier?.id && truckCarrier?.id !== trailerCarrier?.id;\n    const isSameCarriers = truckCarrier?.id && trailerCarrier?.id && truckCarrier?.id === trailerCarrier?.id;\n\n    const renderCarrierWithUtilization = (\n        carrierName: string,\n        isLoadingCarrierUtilization: boolean,\n        carrierUtilizationPercent: number | null | undefined,\n    ) => {\n        return (\n            <span className={cx('carrier')}>\n                <CarrierIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={\n                        mapPinTheme === MapPinThemeEnum.light ? StyleGuideColorsEnum.slate : StyleGuideColorsEnum.white\n                    }\n                />\n                <span className={cx('carrier__name')}>{carrierName}</span>\n                {isLoadingCarrierUtilization && (\n                    <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n                )}\n                {!isLoadingCarrierUtilization && !isNil(carrierUtilizationPercent) && (\n                    <span\n                        style={{\n                            color: getUtilizationColor(carrierUtilizationPercent),\n                        }}\n                    >\n                        <UnitTypeCount type={UnitTypeEnum.percentsAbbreviation} count={carrierUtilizationPercent} />\n                    </span>\n                )}\n            </span>\n        );\n    };\n\n    return (\n        <MapTooltip\n            hasPaddings\n            mapLayers={{\n                regular: isSelected ? 2 : 1,\n                hovered: 3,\n            }}\n            className={cx('pin', { isSelected })}\n            contentClassName={cs(\n                cx('asset-tooltip', {\n                    'asset-tooltip--isDarkText': mapPinTheme === MapPinThemeEnum.light,\n                }),\n                className,\n            )}\n            lat={lat}\n            lng={lng}\n            onClick={handleClick}\n            isHover={isHover}\n            onHover={handleHover}\n            theme={mapPinTheme}\n            footerNode={\n                isShowAssetLinkMenu && isHover ? (\n                    <MapTooltipMenu\n                        className={cx('footer')}\n                        items={linkAssetItems}\n                        onOutsideClick={handleOutsideClick}\n                    />\n                ) : null\n            }\n        >\n            {() => (\n                <>\n                    {!isHover && (\n                        <>\n                            {truckId && !trailerId && (\n                                <TruckIcon className={cx('icon')} {...getTruckIconProps(truckIconPreset)} />\n                            )}\n                            {!truckId && trailerId && (\n                                <TrailerIcon className={cx('icon')} {...getTrailerIconProps(trailerIconPreset)} />\n                            )}\n                            {truckId && trailerId && (\n                                <AssetLinkIcon className={cx('icon')} {...getAssetLinkIconProps(linkIconPreset)} />\n                            )}\n                        </>\n                    )}\n                    {isHover && (\n                        <>\n                            {!!formattedArrivalDate && (\n                                <>\n                                    <div className={cx('arrival')} title={formatTimeZone(utcOffset)}>\n                                        {formattedArrivalDate}\n                                    </div>\n                                </>\n                            )}\n                            <>\n                                {!isSelectedTruckAndTrailers &&\n                                    !!truckId &&\n                                    renderCarrierWithUtilization(\n                                        truckCarrier?.name || '',\n                                        isLoadingTruckUtilization,\n                                        truckUtilization,\n                                    )}\n                                {!isSelectedTruckAndTrailers &&\n                                    !!trailerId &&\n                                    renderCarrierWithUtilization(\n                                        trailerCarrier?.name || '',\n                                        isLoadingTrailerCarrierUtilization,\n                                        trailerUtilization,\n                                    )}\n                                {isSelectedTruckAndTrailers &&\n                                    isSameCarriers &&\n                                    renderCarrierWithUtilization(\n                                        truckCarrier?.name || '',\n                                        isLoadingTruckUtilization,\n                                        truckUtilization,\n                                    )}\n                                {isSelectedTruckAndTrailers &&\n                                    isNotSameCarriers &&\n                                    renderCarrierWithUtilization(\n                                        t('assignment.utilization.truck-carrier'),\n                                        isLoadingTruckUtilization,\n                                        truckUtilization,\n                                    )}\n                                {isSelectedTruckAndTrailers &&\n                                    isNotSameCarriers &&\n                                    renderCarrierWithUtilization(\n                                        t('assignment.utilization.trailer-carrier'),\n                                        isLoadingTrailerCarrierUtilization,\n                                        trailerUtilization,\n                                    )}\n                            </>\n                            {!!truckId && (\n                                <div className={cx('asset')}>\n                                    <TruckIcon className={cx('icon')} {...getTruckIconProps(truckIconPreset)} />\n                                    <Utilization isLoading={isLoadingTruckUtilization} utilization={truckUtilization} />\n                                    {isNumber(truckRatePerKm) && (\n                                        <Money\n                                            amount={truckRatePerKm}\n                                            currency={CurrencyEnum.EUR}\n                                            className={cx('price')}\n                                        />\n                                    )}\n                                    {truckRateMode && <RateModeStatusPill rateMode={truckRateMode} />}\n                                </div>\n                            )}\n                            {!!trailerId && (\n                                <div className={cx('asset')}>\n                                    <TrailerIcon className={cx('icon')} {...getTrailerIconProps(trailerIconPreset)} />\n                                    <Utilization\n                                        isLoading={isLoadingTrailerUtilization}\n                                        utilization={trailerUtilization}\n                                    />\n                                    {isNumber(trailerRatePerKm) && (\n                                        <Money\n                                            amount={trailerRatePerKm}\n                                            currency={CurrencyEnum.EUR}\n                                            className={cx('price')}\n                                        />\n                                    )}\n                                    {trailerRateMode && <RateModeStatusPill rateMode={trailerRateMode} />}\n                                </div>\n                            )}\n                        </>\n                    )}\n                </>\n            )}\n        </MapTooltip>\n    );\n});\n\nexport default AssetPin;\n","export enum UpdateWayEnum {\n    newRate = 'new-rate',\n    assignContract = 'assign-contract',\n    unassignContract = 'unnasignContract',\n}\n\nexport enum FieldsEnum {\n    updateWay = 'update-way',\n    rate = 'rate',\n    contractId = 'contract-id',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.updateWay]: UpdateWayEnum | null;\n    [FieldsEnum.rate]: string;\n    [FieldsEnum.contractId]: ShipperContractIdT | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { RoutePointFormValuesT } from '../constants';\nimport { InferChannelEventT, ViewEventChannel } from 'common/utils/view-event-channel';\nimport { useCallback } from 'react';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { getInitialRoutePointFormValues } from '../get-initial-values';\nimport { ContextRouteStopFakeIdT, DeadheadRouteStopT } from 'broker-admin/store/deadhead-creation/models';\n\nexport const contextSyncRouteStopsModifyChannel = new ViewEventChannel<{\n    routeFormValues: Array<RoutePointFormValuesT>;\n    correctedStops?: Array<DeadheadRouteStopT>;\n    addedStopFakeIds?: Array<ContextRouteStopFakeIdT>;\n    deletedStopFakeIds?: Array<ContextRouteStopFakeIdT>;\n    orderStopFakeIds?: Array<ContextRouteStopFakeIdT>;\n}>();\n\nexport const useSyncRouteStopsChannels = (formikArrayHelpers: {\n    insert: (index: number, value: RoutePointFormValuesT) => void;\n    remove: (index: number) => void;\n    move: (from: number, to: number) => void;\n}) => {\n    // correction after reserve\n    const syncPointsModifyChannelHandler = useCallback(\n        (event: InferChannelEventT<typeof contextSyncRouteStopsModifyChannel>) => {\n            const { correctedStops, addedStopFakeIds, deletedStopFakeIds, orderStopFakeIds, routeFormValues } = event;\n\n            const addedStopFakeIdsSet = new Set(addedStopFakeIds || []);\n            const deletedStopFakeIdsSet = new Set(deletedStopFakeIds || []);\n\n            const clonedRouteFormValues = cloneDeep(routeFormValues);\n\n            const newAllFakeIds =\n                correctedStops?.map((stop) => {\n                    return stop.fakeId;\n                }) || [];\n            const newAllFakeIdsSet = new Set(newAllFakeIds);\n\n            for (let index = clonedRouteFormValues.length - 1; index >= 0; index -= 1) {\n                const { fakePointId } = clonedRouteFormValues[index];\n                if (!newAllFakeIdsSet.has(fakePointId) && deletedStopFakeIdsSet.has(fakePointId)) {\n                    formikArrayHelpers.remove(index);\n                    clonedRouteFormValues.splice(index, 1);\n                }\n            }\n\n            let formIndexPointer = 0;\n            correctedStops?.forEach((stop) => {\n                const stopFakeId = stop.fakeId;\n\n                const indexInForm = clonedRouteFormValues.findIndex((values) => {\n                    return values.fakePointId === stopFakeId;\n                });\n\n                if (indexInForm === -1 && addedStopFakeIdsSet.has(stopFakeId)) {\n                    formikArrayHelpers.insert(formIndexPointer, getInitialRoutePointFormValues(stop));\n                    clonedRouteFormValues.splice(formIndexPointer, 0, getInitialRoutePointFormValues(stop));\n                }\n\n                formIndexPointer += 1;\n            });\n\n            // Reorder elements based on orderStopFakeIds\n            if (orderStopFakeIds && orderStopFakeIds.length > 0) {\n                // Reorder elements according to orderStopFakeIds\n                // Process from the end to avoid index shifting issues\n                for (let targetIndex = orderStopFakeIds.length - 1; targetIndex >= 0; targetIndex -= 1) {\n                    const targetFakeId = orderStopFakeIds[targetIndex];\n\n                    // Find the current index of the element with this fakeId\n                    const currentIndex = clonedRouteFormValues.findIndex((values) => {\n                        return values.fakePointId === targetFakeId;\n                    });\n\n                    if (currentIndex !== -1 && currentIndex !== targetIndex) {\n                        formikArrayHelpers.move(currentIndex, targetIndex);\n\n                        // Update clonedRouteFormValues for synchronization\n                        const movedValue = clonedRouteFormValues[currentIndex];\n                        clonedRouteFormValues.splice(currentIndex, 1);\n                        clonedRouteFormValues.splice(targetIndex, 0, movedValue);\n                    }\n                }\n            }\n        },\n        [formikArrayHelpers],\n    );\n\n    useChannelSubscribe(contextSyncRouteStopsModifyChannel, syncPointsModifyChannelHandler);\n};\n","import { ApiReservePreviewT, ReservePreviewT, ReserveT } from '../models';\nimport keyBy from 'lodash/keyBy';\nimport isBoolean from 'lodash/isBoolean';\n\nconst prepareReservePreview = (apiReservePreview: ApiReservePreviewT, reserve: ReserveT | null): ReservePreviewT => {\n    const timeWindowsById = keyBy(apiReservePreview.timeWindows, (timeWindow) => timeWindow?.id);\n    const points = reserve?.points || [];\n\n    return {\n        ...apiReservePreview,\n        timeWindows: points.map((point) => {\n            const timeWindow = timeWindowsById[point.id];\n            if (!timeWindow) {\n                return {\n                    id: point.id,\n                    correctedBrokerWindow: null,\n                    correctedTimeWindow: null,\n                    urgentTimeWindow: null,\n                    regularTimeWindow: null,\n                    layoverTimeWindow: null,\n                    brokerAppointmentTimeWindow: null,\n                };\n            }\n\n            const {\n                correctedFrom,\n                correctedTo,\n                correctedBrokerWindow,\n                regularFrom,\n                urgentFrom,\n                layoverStart,\n                latestTo,\n                canDelegateFrom,\n                canDelegateTo,\n            } = timeWindow;\n\n            return {\n                id: timeWindow.id,\n                correctedTimeWindow:\n                    correctedFrom && correctedTo\n                        ? {\n                              start: correctedFrom,\n                              end: correctedTo,\n                          }\n                        : null,\n                correctedBrokerWindow: isBoolean(correctedBrokerWindow) ? correctedBrokerWindow : null,\n                urgentTimeWindow:\n                    urgentFrom && regularFrom && urgentFrom !== regularFrom\n                        ? {\n                              start: urgentFrom,\n                              end: regularFrom,\n                          }\n                        : null,\n                regularTimeWindow: regularFrom\n                    ? {\n                          start: regularFrom,\n                          end: layoverStart ? null : latestTo || null,\n                      }\n                    : null,\n                layoverTimeWindow: layoverStart\n                    ? {\n                          start: layoverStart,\n                          end: latestTo || null,\n                      }\n                    : null,\n                brokerAppointmentTimeWindow: canDelegateFrom\n                    ? {\n                          start: canDelegateFrom,\n                          end: canDelegateTo || null,\n                      }\n                    : null,\n            };\n        }),\n    };\n};\n\nexport default prepareReservePreview;\n","// extracted by mini-css-extract-plugin\nexport default {\"line-loader\":\"HeaderSideBarLoader__line-loader___X_SVn\",\"fadeIn\":\"HeaderSideBarLoader__fadeIn___oT99w\",\"blinking\":\"HeaderSideBarLoader__blinking___G8_pQ\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\n\nconst validate = (t: TFunction, values: FormValuesT, isTeamDrive: boolean): FormErrorsT => {\n    const requiredFields = isTeamDrive ? [FieldsEnum.driverId, FieldsEnum.teamDriverId] : [FieldsEnum.driverId];\n\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, requiredFields, values),\n    };\n\n    const driverId = values[FieldsEnum.driverId];\n    const teamDriverId = values[FieldsEnum.teamDriverId];\n    if (driverId && teamDriverId && driverId === teamDriverId) {\n        errors[FieldsEnum.teamDriverId] = t('common:driver-assignment.errors.same-drivers');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import {\n    ApiCreateReserveQueryT,\n    CreateReserveQueryChangesT,\n    CreateReserveQueryT,\n    ReserveQueryChangesT,\n    ReserveT,\n} from '../models';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport isNil from 'lodash/isNil';\nimport { checkIsSameDay, setISODateMidday } from 'common/utils/time';\nimport isNumber from 'lodash/isNumber';\nimport { convertToPointLocation } from 'common/store/order-creation/utils/prepare-address-point';\nimport times from 'lodash/times';\nimport cloneDeep from 'lodash/cloneDeep';\n\nconst getReverseQueryChanges = (\n    changes: ReserveQueryChangesT,\n    prevReserveQuery: CreateReserveQueryT | null,\n    reserve: ReserveT | null,\n): CreateReserveQueryChangesT => {\n    const queryChanges: CreateReserveQueryChangesT = {};\n\n    if (changes?.fullRouteChange) {\n        const addressQueryChanges: NonNullable<CreateReserveQueryChangesT['addresses']> = [];\n\n        changes.fullRouteChange?.forEach((routePoint, index) => {\n            if ('address' in routePoint || 'type' in routePoint) {\n                addressQueryChanges[index] = {\n                    addressAlias: routePoint.addressAlias || '',\n                    address: routePoint.address || null,\n                    type: routePoint.type || null,\n                };\n            }\n        });\n\n        queryChanges.addresses = addressQueryChanges;\n    }\n\n    if (changes?.routePointChange) {\n        const { addressAlias, changes: data } = changes.routePointChange;\n\n        const newAddresses = cloneDeep(prevReserveQuery?.addresses || []);\n        const targetIndex = newAddresses?.findIndex((address) => address?.addressAlias === addressAlias);\n\n        if (!newAddresses[targetIndex]) {\n            newAddresses[targetIndex] = {\n                addressAlias: data.addressAlias || '',\n                address: data?.address || null,\n                type: data?.type || null,\n            };\n        }\n\n        if ('address' in data) {\n            newAddresses[targetIndex].address = data.address || null;\n        }\n\n        if ('type' in data) {\n            newAddresses[targetIndex].type = data?.type || null;\n        }\n\n        queryChanges.addresses = newAddresses;\n    }\n\n    if (changes?.addRoutePoint) {\n        const { beforeAddressAlias, changes: data } = changes.addRoutePoint;\n\n        const newAddresses = cloneDeep(prevReserveQuery?.addresses || []);\n        const targetIndex = newAddresses?.findIndex((address) => address?.addressAlias === beforeAddressAlias);\n        if (typeof targetIndex === 'number' && targetIndex !== -1) {\n            newAddresses.splice(targetIndex + 1, 0, {\n                addressAlias: data.addressAlias || '',\n                address: data?.address || null,\n                type: data?.type || null,\n            });\n\n            queryChanges.addresses = newAddresses;\n        }\n    }\n\n    if (changes?.deleteRoutePoint) {\n        const { addressAlias } = changes.deleteRoutePoint;\n\n        const newAddresses = cloneDeep(prevReserveQuery?.addresses || []);\n        const targetIndex = newAddresses?.findIndex((address) => address?.addressAlias === addressAlias);\n        if (typeof targetIndex === 'number' && targetIndex !== -1) {\n            newAddresses.splice(targetIndex, 1);\n\n            queryChanges.addresses = newAddresses;\n        }\n    }\n\n    if (!isUndefined(changes?.shipper)) {\n        const isValidShipper =\n            changes?.shipper?.addressVerified && changes?.shipper?.documentsVerified && !changes?.shipper?.locked;\n        const reserveShipperId = isValidShipper ? changes?.shipper?.id : null;\n        queryChanges.shipperId = reserveShipperId || null;\n    }\n\n    const trailerId = Number(changes.trailerDictId);\n    if (!isUndefined(changes.trailerDictId) && isNumber(trailerId)) {\n        queryChanges.trailerDictId = trailerId;\n    }\n\n    if (!isUndefined(changes?.excludedCountries)) {\n        queryChanges.prohibitedCountries = changes.excludedCountries;\n    }\n\n    let firstRoutePoint = changes?.fullRouteChange?.[0] || null;\n\n    if (changes?.routePointChange && queryChanges?.addresses) {\n        const targetIndex = queryChanges?.addresses?.findIndex((address) => {\n            return address?.addressAlias === changes?.routePointChange?.addressAlias;\n        });\n        if (targetIndex === 0) {\n            firstRoutePoint = changes?.routePointChange?.changes || null;\n        }\n    }\n\n    if (firstRoutePoint && !isNil(firstRoutePoint?.timeWindowFrom)) {\n        const defaultPickUpTimeWindowStart = reserve?.points?.[0]?.defaultTimeWindow?.start;\n        const isNotDefaultReservePickUpTime =\n            defaultPickUpTimeWindowStart &&\n            !checkIsSameDay(defaultPickUpTimeWindowStart, firstRoutePoint.timeWindowFrom);\n        if (isNotDefaultReservePickUpTime) {\n            queryChanges.routeStart = setISODateMidday(firstRoutePoint?.timeWindowFrom) || undefined;\n        }\n    }\n\n    return queryChanges;\n};\n\nconst mergeReverseQueryChanges = (\n    prevQuery: CreateReserveQueryT | null,\n    changes: CreateReserveQueryChangesT,\n): CreateReserveQueryT | null => {\n    if (isEmpty(changes)) {\n        return prevQuery;\n    }\n\n    const query: CreateReserveQueryT = {\n        prohibitedCountries: [],\n        shipperId: null,\n        trailerDictId: null,\n        ...prevQuery,\n        ...changes,\n        addresses: changes?.addresses || prevQuery?.addresses || [],\n    };\n\n    return query;\n};\n\nconst getApiReverseQuery = (isBroker: boolean, query: CreateReserveQueryT | null): ApiCreateReserveQueryT | null => {\n    if (!query) {\n        return null;\n    }\n\n    const { addresses, prohibitedCountries, shipperId, routeStart, trailerDictId } = query;\n\n    const hasAllAddresses =\n        addresses?.length >= 2 && times(addresses?.length).every((_, index) => !!addresses[index]?.address);\n    if (isBroker && !shipperId) {\n        return null;\n    }\n\n    if (!isNumber(trailerDictId) || !hasAllAddresses) {\n        return null;\n    }\n\n    return {\n        addresses: addresses.reduce<ApiCreateReserveQueryT['addresses']>((acc, address) => {\n            const pointLocation = convertToPointLocation(address.address);\n\n            if (address.address && address.type && pointLocation) {\n                acc.push({\n                    addressAlias: address.addressAlias || undefined,\n                    address: pointLocation,\n                    type: address.type,\n                });\n            }\n\n            return acc;\n        }, []),\n        prohibitedCountries,\n        shipperId,\n        routeStart,\n        dictTrailerId: trailerDictId,\n    };\n};\n\nexport { getReverseQueryChanges, mergeReverseQueryChanges, getApiReverseQuery };\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    ACTIVATE_RULES_REQUEST,\n    ActivationRulesActionT,\n    CREATE_RULE_REQUEST,\n    CreateRuleActionT,\n    DEACTIVATE_RULES_REQUEST,\n    DeactivationRulesActionT,\n    DELETE_RULES_REQUEST,\n    DeleteRulesActionT,\n    PREVIEW_RULE_REQUEST,\n    PreviewRuleActionT,\n    FETCH_RULE_DETAILS_REQUEST,\n    FETCH_RULES_PAGE_REQUEST,\n    FetchRuleDetailsActionT,\n    FetchRulesPageActionT,\n    UPDATE_RULE_REQUEST,\n    UpdateRuleActionT,\n} from './types';\nimport {\n    createRuleBegin,\n    createRuleError,\n    createRuleSuccess,\n    deleteRulesBegin,\n    deleteRulesError,\n    deleteRulesSuccess,\n    previewRuleBegin,\n    previewRuleError,\n    previewRuleSuccess,\n    fetchRuleDetailsBegin,\n    fetchRuleDetailsError,\n    fetchRuleDetailsSuccess,\n    fetchRulesPageBegin,\n    fetchRulesPageError,\n    fetchRulesPageSuccess,\n    resetRulePages,\n    updateRuleBegin,\n    updateRuleError,\n    updateRuleSuccess,\n} from './actions';\n\nimport isEqual from 'lodash/isEqual';\nimport { selectPreviewRuleRequest, selectRulesPages, selectRulesQuery, selectUpdateRulesRequest } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport {\n    ruleDeactivateChannel,\n    ruleDetailsRefreshChannel,\n    rulesPaginationChannel,\n    rulesRefreshChannel,\n} from 'broker-admin/store/price-settings/rules/channels';\n\nfunction* fetchRulesSaga(action: FetchRulesPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options } = action;\n\n    const prevQuery: ReturnType<typeof selectRulesQuery> = yield select(selectRulesQuery);\n    const pages: ReturnType<typeof selectRulesPages> = yield select(selectRulesPages);\n    const isSameQuery = isEqual(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus);\n    if (isSameQuery && !isNeedRequest && !options?.isForceUpdate) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetRulePages({ savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchRulesPageBegin(query, pageNumber));\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.fetchRulesPage> =\n        yield brokerTranziitApi.fetchRulesPage({\n            ...query,\n            page: pageNumber,\n        });\n\n    if (error) {\n        yield put(fetchRulesPageError(query, pageNumber, error));\n        return;\n    }\n\n    yield put(fetchRulesPageSuccess(query, pageNumber, response));\n\n    checkShouldEmitChangePage(pageNumber, response, rulesPaginationChannel);\n}\n\nfunction* updateRuleSaga(action: UpdateRuleActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectUpdateRulesRequest> = yield select(selectUpdateRulesRequest);\n    if (request.loading) {\n        return;\n    }\n\n    yield put(updateRuleBegin());\n\n    const { ruleId, ruleDraft } = action;\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updateRule> = yield brokerTranziitApi.updateRule(\n        +ruleId,\n        ruleDraft,\n    );\n    if (error) {\n        yield put(updateRuleError(error));\n        return;\n    }\n\n    yield put(updateRuleSuccess());\n\n    ruleDetailsRefreshChannel.emit({\n        ruleIds: [ruleId],\n    });\n\n    rulesRefreshChannel.emit({\n        ruleIds: [ruleId],\n    });\n}\n\nfunction* deactivateRulesSaga(action: DeactivationRulesActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectUpdateRulesRequest> = yield select(selectUpdateRulesRequest);\n    if (request.loading) {\n        return;\n    }\n\n    yield put(updateRuleBegin());\n\n    const { ids } = action;\n\n    let error: ReturnApiT<typeof brokerTranziitApi.deactivateRule>[0] | null = null;\n\n    for (const ruleId of ids) {\n        const result: ReturnApiT<typeof brokerTranziitApi.deactivateRule> = yield brokerTranziitApi.deactivateRule(\n            +ruleId,\n        );\n        [error] = result;\n    }\n\n    if (error) {\n        yield put(updateRuleError(error));\n        return;\n    }\n\n    yield put(updateRuleSuccess());\n\n    ruleDetailsRefreshChannel.emit({\n        ruleIds: ids,\n    });\n    rulesRefreshChannel.emit({\n        ruleIds: ids,\n    });\n    ruleDeactivateChannel.emit({});\n}\n\nfunction* activateRulesSaga(action: ActivationRulesActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectUpdateRulesRequest> = yield select(selectUpdateRulesRequest);\n    if (request.loading) {\n        return;\n    }\n\n    yield put(updateRuleBegin());\n\n    const { ids } = action;\n\n    let error: ReturnApiT<typeof brokerTranziitApi.activateRule>[0] | null = null;\n\n    for (const ruleId of ids) {\n        const result: ReturnApiT<typeof brokerTranziitApi.activateRule> = yield brokerTranziitApi.activateRule(+ruleId);\n        [error] = result;\n    }\n\n    if (error) {\n        yield put(updateRuleError(error));\n        return;\n    }\n\n    yield put(updateRuleSuccess());\n\n    ruleDetailsRefreshChannel.emit({\n        ruleIds: ids,\n    });\n    rulesRefreshChannel.emit({\n        ruleIds: ids,\n    });\n    ruleDeactivateChannel.emit({});\n}\n\nfunction* deleteRulesSaga(action: DeleteRulesActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectUpdateRulesRequest> = yield select(selectUpdateRulesRequest);\n    if (request.loading) {\n        return;\n    }\n\n    yield put(deleteRulesBegin());\n\n    const { ids } = action;\n\n    let error: ReturnApiT<typeof brokerTranziitApi.deleteRule>[0] | null = null;\n\n    for (const ruleId of ids) {\n        const result: ReturnApiT<typeof brokerTranziitApi.deleteRule> = yield brokerTranziitApi.deleteRule(+ruleId);\n        [error] = result;\n    }\n\n    if (error) {\n        yield put(deleteRulesError(error));\n        return;\n    }\n\n    yield put(deleteRulesSuccess());\n\n    rulesRefreshChannel.emit({\n        ruleIds: ids,\n    });\n}\n\nfunction* previewRuleSaga(action: PreviewRuleActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectPreviewRuleRequest> = yield select(selectPreviewRuleRequest);\n    if (request.loading) {\n        return;\n    }\n\n    yield put(previewRuleBegin());\n\n    const [error, result]: ReturnApiT<typeof brokerTranziitApi.rulePreview> = yield brokerTranziitApi.rulePreview(\n        action.data,\n    );\n\n    if (error) {\n        yield put(previewRuleError(error));\n        return;\n    }\n\n    yield put(previewRuleSuccess(result));\n}\n\nfunction* createRuleSaga(action: CreateRuleActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectUpdateRulesRequest> = yield select(selectUpdateRulesRequest);\n    if (request.loading) {\n        return;\n    }\n\n    yield put(createRuleBegin());\n\n    const { ruleDraft } = action;\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.createRule> = yield brokerTranziitApi.createRule(ruleDraft);\n    if (error) {\n        yield put(createRuleError(error));\n        return;\n    }\n\n    yield put(createRuleSuccess());\n\n    rulesRefreshChannel.emit({\n        ruleIds: [],\n    });\n}\n\nfunction* fetchRuleDetailsSaga(action: FetchRuleDetailsActionT): WrapGeneratorT<void> {\n    const { ruleId } = action;\n    yield put(fetchRuleDetailsBegin(ruleId));\n\n    const [error, ruleDetails]: ReturnApiT<typeof brokerTranziitApi.fetchRuleDetails> =\n        yield brokerTranziitApi.fetchRuleDetails(+ruleId);\n    if (error) {\n        yield put(fetchRuleDetailsError(ruleId, error));\n        return;\n    }\n\n    yield put(fetchRuleDetailsSuccess(ruleId, ruleDetails));\n}\n\nfunction* ratesSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_RULES_PAGE_REQUEST, fetchRulesSaga);\n    yield takeEvery(UPDATE_RULE_REQUEST, updateRuleSaga);\n    yield takeEvery(DEACTIVATE_RULES_REQUEST, deactivateRulesSaga);\n    yield takeEvery(ACTIVATE_RULES_REQUEST, activateRulesSaga);\n    yield takeEvery(DELETE_RULES_REQUEST, deleteRulesSaga);\n    yield takeEvery(PREVIEW_RULE_REQUEST, previewRuleSaga);\n    yield takeEvery(CREATE_RULE_REQUEST, createRuleSaga);\n    yield takeEvery(FETCH_RULE_DETAILS_REQUEST, fetchRuleDetailsSaga);\n}\n\nexport default ratesSaga;\n","import * as React from 'react';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiShipperContractStatusT, ShipperContractStatusEnum } from 'common/utils/api/models';\nimport ShipperContractStatus from 'common/components/status/ShipperContractStatus/ShipperContractStatus';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport { useSelector } from 'react-redux';\nimport { selectProfileType } from 'common/store/auth/selectors';\n\ntype PropsT = {\n    status?: ApiShipperContractStatusT | null;\n    isSymmetrical?: boolean;\n    className?: string;\n};\n\ntype ContractStatusColorMapT = Record<ApiShipperContractStatusT, PillLabelThemeEnum>;\n\nconst THEME_MAP: Record<AuthProfileTypeEnum, ContractStatusColorMapT> = {\n    [AuthProfileTypeEnum.shipper]: {\n        [ShipperContractStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [ShipperContractStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [ShipperContractStatusEnum.active]: colorCodingPillLabelTheme.success,\n    },\n    [AuthProfileTypeEnum.carrier]: {\n        [ShipperContractStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [ShipperContractStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [ShipperContractStatusEnum.active]: colorCodingPillLabelTheme.success,\n    },\n    [AuthProfileTypeEnum.broker]: {\n        [ShipperContractStatusEnum.revoked]: colorCodingPillLabelTheme.normal,\n        [ShipperContractStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n        [ShipperContractStatusEnum.active]: colorCodingPillLabelTheme.success,\n    },\n};\n\nconst DEFAULT_THEME = colorCodingPillLabelTheme.normal;\n\nconst ShipperContractStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, className, isSymmetrical } = props;\n\n    const profileTypeEnum = useSelector(selectProfileType);\n\n    if (!status) {\n        return null;\n    }\n\n    const theme = status ? THEME_MAP[profileTypeEnum]?.[status] : DEFAULT_THEME;\n\n    return (\n        <>\n            <PillLabel\n                isNoWrap\n                theme={theme}\n                testSelector=\"shipper-contact-status\"\n                className={className}\n                isSymmetrical={isSymmetrical}\n            >\n                <ShipperContractStatus status={status} />\n            </PillLabel>\n        </>\n    );\n});\n\nexport default ShipperContractStatusPill;\n","import * as React from 'react';\nimport { OrderStatusEnum, ApiOrderStatusT } from 'common/utils/api/models';\nimport ColoredStatusLabel, {\n    PropsT as ColoredStatusLabelPropsT,\n} from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport OrderStatus from 'common/components/status/OrderStatus/OrderStatus';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiOrderStatusT | null | undefined;\n};\n\nexport const ORDER_STATUS_COLOR_MAP: Record<ApiOrderStatusT, StyleGuideColorsEnum> = {\n    [OrderStatusEnum.placed]: StyleGuideColorsEnum.light,\n    [OrderStatusEnum.inProgress]: StyleGuideColorsEnum.light,\n    [OrderStatusEnum.canceled]: StyleGuideColorsEnum.light,\n    [OrderStatusEnum.delivered]: StyleGuideColorsEnum.light,\n    [OrderStatusEnum.done]: StyleGuideColorsEnum.mediumGreen,\n};\n\nconst OrderColoredStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    if (!status) {\n        return null;\n    }\n\n    const color = ORDER_STATUS_COLOR_MAP[status];\n\n    return <ColoredStatusLabel {...restProps} label={<OrderStatus status={status} />} color={color} />;\n});\n\nexport default OrderColoredStatus;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerDetailsPage.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    lockPartner,\n    unlockPartner,\n    unVerifyPartnerDetails,\n    verifyPartnerDetails,\n} from 'broker-admin/store/partner/details/actions';\nimport VerifyPartnerAdressConfirmation from './dialogs/VerifyPartnerAdressConfirmation/VerifyPartnerAdressConfirmation';\nimport { VerifyPartnerAdressConfirmationDataT } from './dialogs/VerifyPartnerAdressConfirmation/models';\nimport UnVerifyPartnerAdressConfirmation from './dialogs/UnVerifyPartnerAdressConfirmation/UnVerifyPartnerAdressConfirmation';\nimport { UnVerifyPartnerAdressConfirmationDataT } from './dialogs/UnVerifyPartnerAdressConfirmation/models';\nimport LockPartnerConfirmation from './dialogs/LockPartnerConfirmation/LockPartnerConfirmation';\nimport { LockPartnerConfirmationDataT } from './dialogs/LockPartnerConfirmation/models';\nimport UnlockPartnerConfirmation from './dialogs/UnlockPartnerConfirmation/UnlockPartnerConfirmation';\nimport { UnlockPartnerConfirmationDataT } from './dialogs/UnlockPartnerConfirmation/models';\nimport PartnerDetailsLayout from './PartnerDetailsLayout/PartnerDetailsLayout';\nimport PartnerDetailsForm from './PartnerDetailsForm/PartnerDetailsForm';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport {\n    selectLockPartnerDetailsRequest,\n    selectPartnerDetailsById,\n    selectUpdatePartnerDetailsRequest,\n    selectVerifyPartnerDetailsRequest,\n} from 'broker-admin/store/partner/details/selectors';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { selectPermissions } from 'common/store/auth/selectors';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PartnerDetailsPage: React.FC<PropsT> = React.memo(() => {\n    const { partnerId } = usePartnerContext();\n\n    const partnerDetailsById = useSelector(selectPartnerDetailsById);\n    const partnerDetails = partnerDetailsById[partnerId as PartnerIdT] || null;\n\n    const verifyPartnerConfirmation = useModalDialog<VerifyPartnerAdressConfirmationDataT>();\n    const unverifyPartnerConfirmation = useModalDialog<UnVerifyPartnerAdressConfirmationDataT>();\n    const lockPartnerConfirmation = useModalDialog<LockPartnerConfirmationDataT>();\n    const unlockPartnerConfirmation = useModalDialog<UnlockPartnerConfirmationDataT>();\n\n    const dispatch = useDispatch();\n\n    const handleVerifyPartner = React.useCallback(\n        (data: VerifyPartnerAdressConfirmationDataT | null): void => {\n            if (!data) {\n                return;\n            }\n\n            const { partnerId, addressType } = data;\n\n            dispatch(verifyPartnerDetails(partnerId, addressType));\n        },\n        [dispatch],\n    );\n\n    const handleUnverifyPartner = React.useCallback(\n        (data: UnVerifyPartnerAdressConfirmationDataT | null): void => {\n            if (!data) {\n                return;\n            }\n\n            const { partnerId, addressType } = data;\n\n            dispatch(unVerifyPartnerDetails(partnerId, addressType));\n        },\n        [dispatch],\n    );\n\n    const handleLockPartner = React.useCallback(\n        (data: LockPartnerConfirmationDataT | null): void => {\n            if (!data) {\n                return;\n            }\n\n            const { partnerId } = data;\n\n            dispatch(lockPartner(partnerId));\n        },\n        [dispatch],\n    );\n\n    const handleUnlockPartner = React.useCallback(\n        (data: UnlockPartnerConfirmationDataT | null): void => {\n            if (!data) {\n                return;\n            }\n\n            const { partnerId } = data;\n\n            dispatch(unlockPartner(partnerId));\n        },\n        [dispatch],\n    );\n\n    const uploadRequest = useSelector(selectUpdatePartnerDetailsRequest);\n    const lockRequest = useSelector(selectLockPartnerDetailsRequest);\n    const verifyRequest = useSelector(selectVerifyPartnerDetailsRequest);\n\n    useCloseModalDialogAfterRequest(verifyRequest, [verifyPartnerConfirmation, unverifyPartnerConfirmation]);\n\n    useCloseModalDialogAfterRequest(lockRequest, [lockPartnerConfirmation, unlockPartnerConfirmation]);\n\n    const isShowLoaderOverlay = uploadRequest.loading || lockRequest.loading || verifyRequest.loading;\n\n    const permissions = useSelector(selectPermissions);\n\n    return (\n        <>\n            {permissions?.canEditPartnerDetails ? (\n                <PartnerDetailsForm\n                    partnerDetails={partnerDetails}\n                    onVerifyPartner={verifyPartnerConfirmation.setData}\n                    onUnverifyPartner={unverifyPartnerConfirmation.setData}\n                    onLockPartner={lockPartnerConfirmation.setData}\n                    onUnlockPartner={unlockPartnerConfirmation.setData}\n                />\n            ) : (\n                <PartnerDetailsLayout partnerDetails={partnerDetails} />\n            )}\n            {isShowLoaderOverlay && <LoaderOverlay />}\n            <VerifyPartnerAdressConfirmation\n                data={verifyPartnerConfirmation.data}\n                onClose={verifyPartnerConfirmation.onClose}\n                onCancel={verifyPartnerConfirmation.onCancel}\n                onConfirm={handleVerifyPartner}\n                requestStatus={verifyRequest}\n            />\n            <UnVerifyPartnerAdressConfirmation\n                data={unverifyPartnerConfirmation.data}\n                onClose={unverifyPartnerConfirmation.onClose}\n                onCancel={unverifyPartnerConfirmation.onCancel}\n                onConfirm={handleUnverifyPartner}\n                requestStatus={verifyRequest}\n            />\n            <LockPartnerConfirmation\n                data={lockPartnerConfirmation.data}\n                onClose={lockPartnerConfirmation.onClose}\n                onCancel={lockPartnerConfirmation.onCancel}\n                onConfirm={handleLockPartner}\n                requestStatus={lockRequest}\n            />\n            <UnlockPartnerConfirmation\n                data={unlockPartnerConfirmation.data}\n                onClose={unlockPartnerConfirmation.onClose}\n                onCancel={unlockPartnerConfirmation.onCancel}\n                onConfirm={handleUnlockPartner}\n                requestStatus={lockRequest}\n            />\n        </>\n    );\n});\n\nexport default PartnerDetailsPage;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const rulesRefreshChannel = new ViewEventChannel<{\n    ruleIds: Array<RuleIdT>;\n}>();\n\nexport const ruleDetailsRefreshChannel = new ViewEventChannel<{\n    ruleIds: Array<RuleIdT>;\n}>();\n\nexport const rulesPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n\nexport const ruleDeactivateChannel = new ViewEventChannel<{}>();\n","import { CountryCodeT } from 'common/store/countries-dict/models';\n\nexport enum FieldsEnum {\n    name = 'name',\n    legalFormId = 'legalFormId',\n    teamIds = 'teamIds',\n\n    legalAddressCountryCode = 'legalAddressCountryCode',\n    legalAddressZipCode = 'legalAddressZipCode',\n    legalAddressCity = 'legalAddressCity',\n    legalAddressStreet1 = 'legalAddressStreet1',\n    legalAddressStreet2 = 'legalAddressStreet2',\n\n    postalAddressCountryCode = 'postalAddressCountryCode',\n    postalAddressZipCode = 'postalAddressZipCode',\n    postalAddressCity = 'postalAddressCity',\n    postalAddressStreet1 = 'postalAddressStreet1',\n    postalAddressStreet2 = 'postalAddressStreet2',\n\n    billingAddressCountryCode = 'billingAddressCountryCode',\n    billingAddressZipCode = 'billingAddressZipCode',\n    billingAddressCity = 'billingAddressCity',\n    billingAddressStreet1 = 'billingAddressStreet1',\n    billingAddressStreet2 = 'billingAddressStreet2',\n    billingEmail = 'billingEmail',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.name]: string;\n    [FieldsEnum.teamIds]: Array<TeamIdT>;\n    [FieldsEnum.legalFormId]: LegalFormIdT | null;\n\n    [FieldsEnum.legalAddressCountryCode]: CountryCodeT | null;\n    [FieldsEnum.legalAddressZipCode]: string;\n    [FieldsEnum.legalAddressCity]: string;\n    [FieldsEnum.legalAddressStreet1]: string;\n    [FieldsEnum.legalAddressStreet2]: string;\n\n    [FieldsEnum.postalAddressCountryCode]: CountryCodeT | null;\n    [FieldsEnum.postalAddressZipCode]: string;\n    [FieldsEnum.postalAddressCity]: string;\n    [FieldsEnum.postalAddressStreet1]: string;\n    [FieldsEnum.postalAddressStreet2]: string;\n\n    [FieldsEnum.billingAddressCountryCode]: CountryCodeT | null;\n    [FieldsEnum.billingAddressZipCode]: string;\n    [FieldsEnum.billingAddressCity]: string;\n    [FieldsEnum.billingAddressStreet1]: string;\n    [FieldsEnum.billingAddressStreet2]: string;\n    [FieldsEnum.billingEmail]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ModalContent.scss';\nimport OutsideClickHandler from 'design-system/components/OutsideClickHandler/OutsideClickHandler';\nimport { KeyEnum } from 'common/constants';\nimport { isInsideFloatingUiPortal } from 'common/utils/floating-ui';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    testSelector?: string;\n};\n\nconst ModalContent: React.FC<PropsT> = (props) => {\n    const { children, onClose, testSelector } = props;\n\n    const onCloseRef = React.useRef(onClose);\n    onCloseRef.current = onClose;\n\n    const shouldHandleOutsidePress = React.useCallback((event: MouseEvent): boolean => {\n        return !isInsideFloatingUiPortal(event.target);\n    }, []);\n\n    React.useEffect(() => {\n        const handleKeyDown = (event: KeyboardEvent): void => {\n            if (event.key === KeyEnum.escape) {\n                onCloseRef.current();\n            }\n        };\n\n        document.addEventListener('keydown', handleKeyDown);\n\n        return () => {\n            document.removeEventListener('keydown', handleKeyDown);\n        };\n    }, []);\n\n    return (\n        <div className={cx('modal')}>\n            <OutsideClickHandler onOutsideClick={onClose} shouldHandleOutsidePress={shouldHandleOutsidePress}>\n                <div className={cx('inner')} data-test-selector={`${testSelector}_modal`}>\n                    {children}\n                </div>\n            </OutsideClickHandler>\n        </div>\n    );\n};\n\nexport default ModalContent;\n","import { StateT } from 'broker-admin/store/models';\nimport { TendersStateT } from './slice';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { ApiTenderInfoT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const selectTendersState = (state: StateT): TendersStateT => state.tenders;\n\nexport const selectTendersDownloadRequestStatus = (state: StateT): RequestStatusT =>\n    state.tenders.downloadRequestStatus;\n\nexport const selectTendersImportRequestStatus = (state: StateT): RequestStatusT => state.tenders.importRequestStatus;\n\nexport const selectTendersFetchStatusRequestStatus = (state: StateT): RequestStatusT =>\n    state.tenders.fetchStatusRequestStatus;\n\nexport const selectTendersDeleteRequestStatus = (state: StateT): RequestStatusT => state.tenders.deleteRequestStatus;\n\nexport const selectTendersLastStatus = (state: StateT): ApiTenderInfoT | null => state.tenders.lastStatus;\n","import * as React from 'react';\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './ContractName.scss';\nimport cs from 'classnames';\nimport { TFunction } from 'i18next';\n\nexport type PropsT = {\n    className?: string;\n    name?: string;\n    nameFallback?: string | null;\n};\n\nconst cx = classNames.bind(styles);\n\nexport const getContractName = (name: string | undefined, t: TFunction): string => {\n    return name || t('common:carrier-contracts.table.empty-name');\n};\n\nconst ContractName: React.FC<PropsT> = memo((props) => {\n    const { className, name, nameFallback } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div\n            className={cs(\n                cx('name', {\n                    'name--empty': !name,\n                }),\n                className,\n            )}\n        >\n            {nameFallback ? name || nameFallback || '' : getContractName(name, t)}\n        </div>\n    );\n});\n\nexport default ContractName;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PendingUserCell.scss';\nimport { ApiUserStatusT, UserStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    userStatus?: ApiUserStatusT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst PendingUserCell: React.FC<PropsT> = React.memo((props) => {\n    const { children, userStatus } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div className={cx('content')}>\n            {userStatus === UserStatusEnum.pending ? t('common:team-members.pending') : children}\n        </div>\n    );\n});\n\nexport default PendingUserCell;\n","import { ApiRequestError, ApiRequestErrorTypeEnum } from '../errors/api-request-error';\nimport { BaseSecurityAuthApi } from '../auth/base-security-auth-api';\nimport parseErrors from './errors/parse-errors';\nimport { TranziitApiRequestError, TranziitApiRequestErrorSubTypeEnum } from './errors/tranziit-api-errors';\nimport doFetch from 'common/utils/api/do-fetch';\nimport { NotImplementedError } from 'common/utils/api/errors/not-implemented-error';\nimport { BaseFetchConfigT, FetchConfigT } from '../do-fetch-models';\nimport isString from 'lodash/isString';\nimport isNumber from 'lodash/isNumber';\n\nconst delay = async (time: number) => {\n    return new Promise((resolve) => {\n        setTimeout(() => {\n            resolve(null);\n        }, time);\n    });\n};\n\nconst CHECK_USER_TOKEN_TIMEOUT = 500;\n\nconst DEFAULT_RETRY_COUNT = 3;\nconst DEFAULT_RETRY_BASE_DELAY_MS = 2000;\nconst DEFAULT_RETRY_DELAY_FACTOR = 2;\nconst DEFAULT_RETRY_DELAY_MAX_MS = 10000;\n\nexport const throwNotImplementedError = (): TranziitApiResultT<null> => {\n    return [new NotImplementedError(), null];\n};\n\nexport type TranziitApiResultT<TSuccessResponseData, TErrorResponseData = any> = [\n    TranziitApiRequestError | ApiRequestError<TErrorResponseData> | NotImplementedError | null,\n    TSuccessResponseData | null,\n    Response?,\n];\n\ntype HTTPHeadersT = Record<string, string>;\n\ntype DoFetchWithRetryOptionsT = {\n    retryCount?: number;\n};\n\nabstract class BaseTranziitApi {\n    private authApi: BaseSecurityAuthApi;\n\n    private baseRequestConfig: BaseFetchConfigT;\n\n    constructor(authApi: BaseSecurityAuthApi, baseRequestConfig: BaseFetchConfigT) {\n        this.authApi = authApi;\n        this.baseRequestConfig = baseRequestConfig;\n    }\n\n    async getHeaders(): Promise<Record<string, string>> {\n        const authHeaders = await this.getAuthHeaders();\n\n        return {\n            'Content-Type': 'application/json',\n            ...authHeaders,\n        };\n    }\n\n    private checkIsValidConfig = (): boolean => {\n        return isString(this.baseRequestConfig.basepath) && isNumber(this.baseRequestConfig.timeout);\n    };\n\n    private waitValidConfig = async (): Promise<void> => {\n        while (!this.checkIsValidConfig()) {\n            await delay(50);\n        }\n    };\n\n    public setBasePath = (basepath: string): void => {\n        this.baseRequestConfig.basepath = basepath;\n    };\n\n    async getAuthHeaders(): Promise<Record<string, string> | null> {\n        let headers: Record<string, string> | null = null;\n\n        // wait token\n        while (!headers) {\n            headers = await this.authApi.getAuthHeaders();\n            if (!headers) {\n                await delay(CHECK_USER_TOKEN_TIMEOUT);\n            }\n        }\n\n        return headers;\n    }\n\n    async getAuthToken(): Promise<string | null> {\n        let token: string | null = null;\n\n        // wait token\n        while (!token) {\n            token = await this.authApi.getAuthToken();\n            if (!token) {\n                await delay(CHECK_USER_TOKEN_TIMEOUT);\n            }\n        }\n\n        return token;\n    }\n\n    async doFetch<D, E = any>(requestConfig: FetchConfigT): Promise<TranziitApiResultT<D>> {\n        let headers: HTTPHeadersT = {};\n        try {\n            await this.waitValidConfig();\n            headers = await this.getHeaders();\n        } catch (error) {\n            return [error, null];\n        }\n        /*\n        console.log(\"[DEBUG] request: \", JSON.stringify({\n            ...this.baseRequestConfig,\n            ...requestConfig,\n            headers: {\n                ...headers,\n                ...requestConfig.headers,\n            },\n        }, null, 4));\n        */\n\n        const [error, result, rawResponse] = await doFetch<D, E>({\n            ...this.baseRequestConfig,\n            ...requestConfig,\n            headers: {\n                ...headers,\n                ...requestConfig.headers,\n            },\n        });\n\n        // console.log(\"[DEBUG] request error: \", error);\n\n        if (error) {\n            if (error.type === ApiRequestErrorTypeEnum.badRequest) {\n                const subTypes = Object.values(TranziitApiRequestErrorSubTypeEnum);\n                for (let i = 0; i < subTypes.length; i += 1) {\n                    const subType = subTypes[i];\n\n                    const parseError = parseErrors[subType];\n                    if (parseError && parseError(error)) {\n                        const apiError = new TranziitApiRequestError(error, subType);\n                        return [apiError, null, rawResponse];\n                    }\n                }\n            }\n\n            return [error, null, rawResponse];\n        }\n\n        return [null, result, rawResponse];\n    }\n\n    private checkIsRetryableError(error: Error | null): boolean {\n        if (!(error instanceof ApiRequestError)) {\n            return false;\n        }\n\n        if (error.type === ApiRequestErrorTypeEnum.networkError) {\n            return true;\n        }\n\n        return error.httpStatusCode >= 500;\n    }\n\n    private getRetryDelayMs(attempt: number, baseDelayMs: number, factor: number, maxDelayMs: number): number {\n        const delayMs = baseDelayMs * factor ** attempt;\n        return Math.min(delayMs, maxDelayMs);\n    }\n\n    async doFetchWithRetry<D, E = any>(\n        requestConfig: FetchConfigT,\n        options: DoFetchWithRetryOptionsT = {},\n    ): Promise<TranziitApiResultT<D>> {\n        const { retryCount = DEFAULT_RETRY_COUNT } = options;\n\n        let result: TranziitApiResultT<D> = [null, null];\n\n        for (let attempt = 0; attempt <= retryCount; attempt += 1) {\n            result = await this.doFetch<D, E>(requestConfig);\n\n            const [error] = result;\n\n            if (!error || !this.checkIsRetryableError(error) || attempt === retryCount) {\n                return result;\n            }\n\n            const retryDelayMs = this.getRetryDelayMs(\n                attempt,\n                DEFAULT_RETRY_BASE_DELAY_MS,\n                DEFAULT_RETRY_DELAY_FACTOR,\n                DEFAULT_RETRY_DELAY_MAX_MS,\n            );\n\n            // console.log(`[DEBUG] retry delay: ${retryDelayMs}ms`);\n\n            await delay(retryDelayMs);\n        }\n\n        return result;\n    }\n}\n\nexport default BaseTranziitApi;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './NotificationToastContent.scss';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport LinkIcon from 'common/icons/LinkIcon';\nimport { NotificationToastViewT } from 'common/store/notifications/models';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    onClick: (() => void) | null;\n    onClose: () => void;\n    testSelector?: string;\n} & NotificationToastViewT;\n\nconst NotificationToastContent: React.FC<PropsT> = React.memo((props) => {\n    const { icon, text, testSelector, onClose, onClick } = props;\n\n    const fullTestSelector = `${testSelector}_notification`;\n\n    return (\n        <div\n            className={cx('content', {\n                'content--has-icon': !!icon,\n            })}\n            data-test-selector={fullTestSelector}\n        >\n            {icon && <div className={cx('content__left-icon')}>{icon}</div>}\n            <div className={cx('content__content')}>\n                <div className={cx('text')} data-test-selector={`${fullTestSelector}-text`}>\n                    {text}\n                </div>\n            </div>\n            {onClick && (\n                <div className={cx('content__link-icon')}>\n                    <TransparentTrigger\n                        testSelector={`${fullTestSelector}-link`}\n                        onClick={(event) => {\n                            event.preventDefault();\n                            event.stopPropagation();\n\n                            onClick();\n                        }}\n                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                        spaces=\"xs\"\n                        leftIcon={<LinkIcon fillColor={StyleGuideColorsEnum.light} />}\n                    />\n                </div>\n            )}\n            <div className={cx('content__close-icon')}>\n                <TransparentTrigger\n                    onClick={(event) => {\n                        event.preventDefault();\n                        event.stopPropagation();\n\n                        onClose();\n                    }}\n                    reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                    spaces=\"xs\"\n                    testSelector={`${fullTestSelector}-close`}\n                    leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.light} opacity={0.3} />}\n                />\n            </div>\n        </div>\n    );\n});\n\nexport default NotificationToastContent;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AlertProgressBar.scss';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isShow: boolean;\n    progress: number; // 0 - 100\n};\n\nexport const AlertProgressBar: React.FC<PropsT> = (props) => {\n    const { className, isShow, progress } = props;\n\n    const limitedPercent = Math.round(Math.max(0, Math.min(progress, 100)));\n\n    return (\n        <div className={cs(cx('progress-bar'), className)}>\n            {isShow && (\n                <>\n                    <div className={cx('line', 'line--isBackground')} />\n                    <div style={{ width: `${limitedPercent}%` }} className={cx('line', 'line--isProgress')} />\n                </>\n            )}\n        </div>\n    );\n};\n","import isEmpty from 'lodash/isEmpty';\n\nexport const checkFilters = (primaryFilters: Array<TODO>, secondaryFilters: Array<TODO>) => {\n    const hasPrimaryQueryFilters = !!primaryFilters.filter((item) => !isEmpty(item))?.length;\n    const hasSecondaryQueryFilters = !!secondaryFilters.filter((item) => !isEmpty(item))?.length;\n\n    return {\n        hasPrimaryQueryFilters,\n        hasSecondaryQueryFilters,\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"asset-tooltip\":\"AssetPin__asset-tooltip___KJ1ah\",\"asset-tooltip--isDarkText\":\"AssetPin__asset-tooltip--isDarkText___TQye5\",\"asset\":\"AssetPin__asset___ch3b_\",\"pin--isSelected\":\"AssetPin__pin--isSelected___l26ep\",\"arrival\":\"AssetPin__arrival___eHCZc\",\"icon\":\"AssetPin__icon___T8Lyb\",\"carrier\":\"AssetPin__carrier___cvUCK\",\"carrier__name\":\"AssetPin__carrier__name___TS3P2\",\"utilization\":\"AssetPin__utilization___tiCEk\",\"price\":\"AssetPin__price___jHv9I\",\"footer\":\"AssetPin__footer___IpmJW\",\"fadeIn\":\"AssetPin__fadeIn___Uzuva\",\"blinking\":\"AssetPin__blinking___M9PzJ\"};","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { LongDeadheadConfirmationDataT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { LONG_DEADHEAD_PERCENT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/constants';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\n\ntype PropsT = {\n    data: LongDeadheadConfirmationDataT | null;\n    requestStatus: RequestStatusT;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (data: LongDeadheadConfirmationDataT) => void;\n};\n\nconst TEST_SELECTOR = 'long-deadhead-confirmation';\n\nconst LongDeadheadConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, requestStatus, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.confirm'),\n                            theme: ButtonThemeEnum.danger,\n                            isLoading: requestStatus.loading,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigWarningIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('assignment.long-deadhead-confirmation.title')}\n                    message={t('assignment.long-deadhead-confirmation.description', {\n                        percent: LONG_DEADHEAD_PERCENT,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default LongDeadheadConfirmation;\n","import React from 'react';\n\nimport { CompanyContactT } from 'common/store/members/models';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\nimport { CommonChangeUserRoleFormPropsT } from 'common/layouts/Members/dialogs/ChangeUserRoleModal/models';\nimport ChangeRoleUserForm, { ChangeUserRoleDataT } from 'common/layouts/Members/ChangeRoleUserForm/ChangeRoleUserForm';\nimport { useSelector } from 'react-redux';\nimport { selectUpdateMemberRequest } from 'common/store/members/selectors';\n\nexport type ChangeUserRoleModalDataT = {\n    contact: {\n        roles: CompanyContactT['roles'];\n        fullName: CompanyContactT['fullName'];\n        userId: CompanyContactT['userId'];\n    } | null;\n    partnerType: PartnerTypeEnum;\n    partnerId: PartnerIdT;\n};\n\nexport type ChangeUserRoleModalPropsT = {\n    data: ChangeUserRoleModalDataT | null;\n    onClose: () => void;\n    onChangeUserRole: (params: { data: ChangeUserRoleModalDataT | null; changes: ChangeUserRoleDataT }) => void;\n};\n\nconst TEST_SELECTOR = 'change-user-role';\n\nconst ChangeUserRoleModal: React.FC<ChangeUserRoleModalPropsT> = React.memo((props) => {\n    const { data, onClose, onChangeUserRole } = props;\n\n    const contact = data?.contact || null;\n    const partnerType = data?.partnerType || null;\n    const partnerId = data?.partnerId || null;\n\n    const updateMemberRequest = useSelector(selectUpdateMemberRequest(partnerId));\n\n    const { t } = useTranslation();\n\n    if (!contact || !partnerType || !partnerId) {\n        return null;\n    }\n\n    const commonFormProps: CommonChangeUserRoleFormPropsT = {\n        contact,\n        onCancel: onClose,\n        updateMemberRequest,\n    };\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    icon={<BigWarningIcon />}\n                    title={t('common:team-members.dialogs.change-user-role.title', {\n                        fullName: contact?.fullName,\n                    })}\n                    message={t('common:team-members.dialogs.change-user-role.description', {\n                        fullName: contact?.fullName,\n                    })}\n                >\n                    <ChangeRoleUserForm\n                        {...commonFormProps}\n                        onChangeUserRole={(changes) => {\n                            onChangeUserRole({ data, changes });\n                        }}\n                    />\n                </ModalDialog>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ChangeUserRoleModal;\n","// extracted by mini-css-extract-plugin\nexport default {\"alert\":\"FooterSideBarAlertsLayout__alert___BPXZT\",\"fadeIn\":\"FooterSideBarAlertsLayout__fadeIn___BjJmo\",\"blinking\":\"FooterSideBarAlertsLayout__blinking___C4xaB\"};","import * as React from 'react';\nimport { ReserveT } from 'common/store/order-creation/models';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport styles from './FerryOnboardPointPicker.scss';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { formatTimeInterval } from 'common/utils/time';\nimport { useFormikContext } from 'formik';\nimport { FormValuesT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderRouteEditPage/RouteEditForm/constants';\nimport { FieldsEnum, RoutePointFieldsEnum } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/constants';\nimport { getFieldFormValue } from 'common/utils/form-values';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    reserve: ReserveT | null;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FerryOnboardPointPicker: React.FC<PropsT> = React.memo((props) => {\n    const { routePointIndex, reserve } = props;\n\n    const { t } = useTranslation();\n\n    const routePoint = reserve?.points?.[routePointIndex] || null;\n\n    const formik = useFormikContext<FormValuesT>();\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n\n    const location = getFieldFormValue(formik.values, locationFieldName);\n    const timeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n\n    const correctedTimeWindow = timeWindow || routePoint?.defaultTimeWindow || null;\n\n    return (\n        <ReadOnlyField\n            icon={\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.brandAccent}\n                    strokeColor={StyleGuideColorsEnum.brandDark}\n                />\n            }\n            label={t('common:new-order-form.fields.ferry-onboard.label')}\n            subLabel={\n                <PillLabel className={cx('time-interval')} isSymmetrical theme={PillLabelThemeEnum.charcoal}>\n                    {formatTimeInterval(correctedTimeWindow?.start, correctedTimeWindow?.end)}\n                </PillLabel>\n            }\n            value={routePoint?.addressStr || location?.address}\n        />\n    );\n});\n\nexport default FerryOnboardPointPicker;\n","import { TFunction } from 'i18next';\n\nimport { editableRouteStopTypeSet, FieldsEnum, FormErrorsT, RouteFormValuesT, RoutePointFieldsEnum } from './constants';\nimport { CountrySettingsByCodeT } from 'common/store/country-settings-dict/models';\nimport { checkIsAvailableCountryForShip } from 'common/store/country-settings-dict/utils/check-location';\nimport { CountryCodeT } from 'common/utils/api/models';\n\nconst convertCountryCode = (dictCountryCode: CountryCodeT) => dictCountryCode.toUpperCase();\n\ntype MetaT = {\n    countriesSettingsByCode: CountrySettingsByCodeT;\n    excludedCountries: Array<CountryCodeT>;\n};\n\nconst verifyLocation = (t: TFunction, location: LocationT | undefined | null): string | null => {\n    if (!location) {\n        return null;\n    }\n\n    if (Number.isNaN(location.utcOffsetMinutes)) {\n        return t('broker-order-route-edit.errors.wrong-utc-offset');\n    }\n\n    if (\n        !location.addressComponents?.zipCode &&\n        !location.addressComponents?.city &&\n        !location.addressComponents?.countryCode &&\n        !location.addressComponents?.street1 &&\n        !location.addressComponents?.street2\n    ) {\n        return t('broker-order-route-edit.errors.unsupported-area');\n    }\n\n    if (!location.addressComponents?.countryCode) {\n        return t('broker-order-route-edit.errors.need-address-details.country-code');\n    }\n\n    if (!location.addressComponents?.city) {\n        return t('broker-order-route-edit.errors.need-address-details.locality');\n    }\n\n    return null;\n};\n\nconst validate = (t: TFunction, values: RouteFormValuesT, meta: MetaT): FormErrorsT => {\n    const { countriesSettingsByCode, excludedCountries } = meta;\n\n    const errors: FormErrorsT = {};\n\n    const excludedCountriesSet = new Set(excludedCountries.map(convertCountryCode));\n\n    const routeFormValue = values[FieldsEnum.route];\n    routeFormValue.forEach((routePointFormValue, routePointIndex) => {\n        // first stop is always the pickup stop, will be added by the backend so we don't need to validate it\n        if (routePointIndex === 0 && !editableRouteStopTypeSet.has(routePointFormValue.type)) {\n            return;\n        }\n\n        const addRoutePointError = (fieldName: RoutePointFieldsEnum, message: string) => {\n            if (!errors[FieldsEnum.route]) {\n                errors[FieldsEnum.route] = [];\n            }\n\n            if (!errors[FieldsEnum.route][routePointIndex]) {\n                errors[FieldsEnum.route][routePointIndex] = {};\n            }\n\n            errors[FieldsEnum.route][routePointIndex][fieldName] = message;\n        };\n\n        const routePointLocation = routeFormValue[routePointIndex][RoutePointFieldsEnum.location];\n        if (!routePointLocation) {\n            addRoutePointError(RoutePointFieldsEnum.location, t('broker-order-route-edit.errors.required-select-item'));\n        }\n\n        const routePointLocationError = verifyLocation(t, routePointLocation);\n        if (routePointLocation && routePointLocationError) {\n            addRoutePointError(RoutePointFieldsEnum.location, routePointLocationError);\n        }\n\n        if (!checkIsAvailableCountryForShip(routePointLocation, countriesSettingsByCode)) {\n            addRoutePointError(RoutePointFieldsEnum.location, t('broker-order-route-edit.errors.unsupported-country'));\n        }\n\n        if (excludedCountriesSet.has(routePointLocation?.addressComponents?.countryCode || '')) {\n            addRoutePointError(RoutePointFieldsEnum.location, t('broker-order-route-edit.errors.excluded-country'));\n        }\n    });\n\n    return errors;\n};\n\nexport default validate;\n","import React, { useEffect } from 'react';\nimport * as d3 from 'd3';\nimport classNames from 'classnames/bind';\n\nimport styles from './Chart.scss';\n\nimport { ChartMarginT, DataItemT, TooltipOffsetT } from '../models';\nimport ChartTooltip from 'broker-admin/layouts/StatisticsPage/StatisticsChart/ChartTooltip/ChartTooltip';\nimport { GraphSettingsT } from 'broker-admin/layouts/StatisticsPage/models';\nimport { AggregateEnum } from 'broker-admin/layouts/StatisticsPage/constants';\n\nconst cx = classNames.bind(styles);\n\ntype HoverStateT = {\n    offset: TooltipOffsetT;\n    index: number;\n} | null;\n\ntype DrawLineChartArgsT = {\n    data: DataItemT[];\n    settings: GraphSettingsT;\n    width: number;\n    height: number;\n    xScale: d3.ScaleLinear<number, number>;\n    yScale: d3.ScaleLinear<number, number>;\n    svgRef: React.RefObject<SVGSVGElement>;\n    onHoverState: (state: HoverStateT) => void;\n    margin: ChartMarginT;\n};\n\nconst drawLineChart = (props: DrawLineChartArgsT) => {\n    const { svgRef, data, settings, xScale, yScale, height, onHoverState, margin } = props;\n\n    const svg = d3.select(svgRef.current).select('g');\n\n    if (\n        settings.show[AggregateEnum.acceptedShipperRate] &&\n        settings.show[AggregateEnum.realCarrierRate] &&\n        settings.available[AggregateEnum.acceptedShipperRate] &&\n        settings.available[AggregateEnum.realCarrierRate]\n    ) {\n        const X = d3.map(data, (d) => d.timestamp);\n        const acceptedY = d3.map(data, (d) => d.acceptedShipperRate);\n        const realY = d3.map(data, (d) => d.realCarrierRate);\n        const I = d3.range(data.length);\n\n        const area = (y0: number, y1: number) =>\n            d3\n                .area()\n                // @ts-expect-error\n                .x((i) => xScale(X[i]))\n                .y0(y0)\n                // @ts-expect-error\n                .y1(y1)(I);\n\n        const diffId = 'accepted-real-diff';\n\n        svg.append('clipPath')\n            .attr('id', `${diffId}-above`)\n            .append('path')\n            .attr(\n                'd',\n                // @ts-expect-error\n                area(0, (i) => yScale(acceptedY[i])),\n            );\n\n        svg.append('clipPath')\n            .attr('id', `${diffId}-below`)\n            .append('path')\n            .attr(\n                'd',\n                // @ts-expect-error\n                area(height, (i) => yScale(acceptedY[i])),\n            );\n\n        svg.append('path')\n            .attr('clip-path', `url('#${diffId}-above')`)\n            .attr('fill', `url(#pattern_above)`)\n            .attr(\n                'd',\n                // @ts-expect-error\n                area(height, (i) => yScale(realY[i])),\n            );\n\n        svg.append('path')\n            .attr('clip-path', `url('#${diffId}-below')`)\n            .attr('fill', `url(#pattern_below)`)\n            .attr(\n                'd',\n                // @ts-expect-error\n                area(0, (i) => yScale(realY[i])),\n            );\n    }\n\n    const handleMouseOver = (event: TODO): void => {\n        const eventIndex = event.target.getAttribute('data-index');\n\n        const rect = event.target.getBBox();\n        if (!rect) {\n            return;\n        }\n\n        onHoverState({\n            index: eventIndex,\n            offset: {\n                left: margin.left + rect.x + rect.width / 2,\n                top: margin.top + rect.y + rect.height / 2,\n            },\n        });\n    };\n\n    const handleMouseOut = (): void => {\n        onHoverState(null);\n    };\n\n    const dotsRadius = 6;\n\n    if (settings.show[AggregateEnum.acceptedShipperRate] && settings.available[AggregateEnum.acceptedShipperRate]) {\n        const acceptedLine = d3\n            .line<DataItemT>()\n            .x((d) => xScale(d.timestamp))\n            .y((d) => yScale(d.acceptedShipperRate))\n            .curve(d3.curveLinear);\n\n        svg.append('path')\n            .datum(data)\n            .attr('d', acceptedLine)\n            .attr('class', cx(['line-chart', 'line-chart--accepted']));\n\n        svg.selectAll('dot')\n            .data(data)\n            .enter()\n            .append('circle')\n            .attr('r', dotsRadius)\n            .attr('class', cx('bubbles', 'bubbles--accepted'))\n            .attr('cx', (d) => {\n                return xScale(d.timestamp);\n            })\n            .attr('cy', (d) => {\n                return yScale(d.acceptedShipperRate);\n            })\n            .attr('data-index', (_, i) => i)\n            .on('mouseover', handleMouseOver)\n            .on('mouseout', handleMouseOut);\n    }\n\n    if (settings.show[AggregateEnum.rejectedShipperRate] && settings.available[AggregateEnum.rejectedShipperRate]) {\n        const rejectedLine = d3\n            .line<DataItemT>()\n            .x((d) => xScale(d.timestamp))\n            .y((d) => yScale(d.rejectedShipperRate))\n            .curve(d3.curveLinear);\n\n        svg.append('path')\n            .datum(data)\n            .attr('d', rejectedLine)\n            .attr('class', cx(['line-chart', 'line-chart--rejected']));\n\n        svg.selectAll('dot')\n            .data(data)\n            .enter()\n            .append('circle')\n            .attr('r', dotsRadius)\n            .attr('class', cx('bubbles', 'bubbles--rejected'))\n            .attr('cx', (d) => {\n                return xScale(d.timestamp);\n            })\n            .attr('cy', (d) => {\n                return yScale(d.rejectedShipperRate);\n            })\n            .attr('data-index', (_, i) => i)\n            .on('mouseover', handleMouseOver)\n            .on('mouseout', handleMouseOut);\n    }\n\n    if (settings.show[AggregateEnum.estimatedCarrierRate] && settings.available[AggregateEnum.estimatedCarrierRate]) {\n        const estimatedLine = d3\n            .line<DataItemT>()\n            .x((d) => xScale(d.timestamp))\n            .y((d) => yScale(d.estimatedCarrierRate))\n            .curve(d3.curveLinear);\n\n        svg.append('path')\n            .datum(data)\n            .attr('d', estimatedLine)\n            .attr('class', cx(['line-chart', 'line-chart--estimated']));\n\n        svg.selectAll('dot')\n            .data(data)\n            .enter()\n            .append('circle')\n            .attr('r', dotsRadius)\n            .attr('class', cx('bubbles', 'bubbles--estimated'))\n            .attr('cx', (d) => {\n                return xScale(d.timestamp);\n            })\n            .attr('cy', (d) => {\n                return yScale(d.estimatedCarrierRate);\n            })\n            .attr('data-index', (_, i) => i)\n            .on('mouseover', handleMouseOver)\n            .on('mouseout', handleMouseOut);\n    }\n\n    if (settings.show[AggregateEnum.realCarrierRate] && settings.available[AggregateEnum.realCarrierRate]) {\n        const realLine = d3\n            .line<DataItemT>()\n            .x((d) => xScale(d.timestamp))\n            .y((d) => yScale(d.realCarrierRate))\n            .curve(d3.curveLinear);\n\n        svg.append('path')\n            .datum(data)\n            .attr('d', realLine)\n            .attr('class', cx(['line-chart', 'line-chart--real']));\n\n        svg.selectAll('dot')\n            .data(data)\n            .enter()\n            .append('circle')\n            .attr('r', dotsRadius)\n            .attr('class', cx('bubbles', 'bubbles--real'))\n            .attr('cx', (d) => {\n                return xScale(d.timestamp);\n            })\n            .attr('cy', (d) => {\n                return yScale(d.realCarrierRate);\n            })\n            .attr('data-index', (_, i) => i)\n            .on('mouseover', handleMouseOver)\n            .on('mouseout', handleMouseOut);\n    }\n};\n\ntype AddDiffPatternDefT = {\n    svgRef: React.RefObject<SVGSVGElement>;\n    name: string;\n    color: string;\n};\n\nconst addDiffPatternDef = (args: AddDiffPatternDefT) => {\n    const { svgRef, name, color } = args;\n    const svgDefs = d3.select(svgRef.current).append('defs');\n\n    svgDefs\n        .append('pattern')\n        .attr('id', name)\n        .attr('patternUnits', 'userSpaceOnUse')\n        .attr('width', '6')\n        .attr('height', '6')\n        .attr('patternTransform', 'rotate(0)')\n        .append('line')\n        .attr('x1', '0')\n        .attr('y', '0')\n        .attr('x2', '0')\n        .attr('y2', '6')\n        .attr('stroke', color)\n        .attr('stroke-width', '10');\n};\n\ntype AddDefsArgsT = {\n    svgRef: React.RefObject<SVGSVGElement>;\n};\n\nconst addDefs = (args: AddDefsArgsT): void => {\n    const { svgRef } = args;\n\n    addDiffPatternDef({\n        svgRef,\n        name: 'pattern_above',\n        color: '#fdd0b2',\n    });\n    addDiffPatternDef({\n        svgRef,\n        name: 'pattern_below',\n        color: '#c1edff',\n    });\n};\n\ntype DrawAxisArgsT = {\n    width: number;\n    height: number;\n    xScale: d3.ScaleLinear<number, number>;\n    xValues: Array<number>;\n    yScale: d3.ScaleLinear<number, number>;\n    svgRef: React.RefObject<SVGSVGElement>;\n    xTickFormatter: (value: number) => string;\n    yTickFormatter: (value: number) => string;\n};\n\nconst drawAxis = (args: DrawAxisArgsT): void => {\n    const { width, height, svgRef, xScale, xValues, yScale, xTickFormatter, yTickFormatter } = args;\n\n    const svg = d3.select(svgRef.current).select('g');\n\n    svg.append('g')\n        .attr('class', cx('axis'))\n        .attr('transform', `translate(0,${height})`)\n        .call(d3.axisBottom<number>(xScale).tickFormat(xTickFormatter).tickValues(xValues))\n        .call((g) => g.select('.domain').remove())\n        .call((g) => g.selectAll('.tick line:first-child').remove());\n\n    svg.append('g')\n        .attr('class', cx('axis'))\n        .call(d3.axisLeft<number>(yScale).tickFormat(yTickFormatter))\n        .call((g) => g.select('.domain').remove())\n        .call((g) =>\n            g\n                .selectAll('.tick line')\n                .clone()\n                .attr('x2', width)\n                .attr('class', cx(['axis', 'axis--line'])),\n        )\n        .call((g) => g.selectAll('.tick line:first-child').remove());\n\n    // TODO right axis\n    // svg.append('g')\n    //     .attr('class', cx('axis'))\n    //     .attr('transform', `translate(${width} ,0)`)\n    //     .call(d3.axisRight(yScale))\n    //     .call((g) => g.select('.domain').remove());\n};\n\ntype PropsT = {\n    margin: ChartMarginT;\n    width: number;\n    height: number;\n    settings: GraphSettingsT;\n    data: DataItemT[];\n    xTickFormatter: (value: number) => string;\n    yTickFormatter: (value: number) => string;\n};\n\nconst Chart: React.FC<PropsT> = React.memo((props) => {\n    const { margin, width, height, data, settings, xTickFormatter, yTickFormatter } = props;\n\n    const [hoverState, setHoverState] = React.useState<HoverStateT>(null);\n\n    const innerWidth = width - margin.left - margin.right;\n    const innerHeight = height - margin.top - margin.bottom;\n\n    const svgRef = React.createRef<SVGSVGElement>();\n\n    const xMinValue = d3.min(data, (d) => d.timestamp) || 0;\n    const xMaxValue = d3.max(data, (d) => d.timestamp) || 0;\n    const xValues = data.map((d) => d.timestamp);\n    const xScale = d3.scaleLinear().range([0, innerWidth]).domain([xMinValue, xMaxValue]);\n\n    const yMinValue =\n        d3.min(data, (d) => {\n            return Math.min(d.rejectedShipperRate, d.acceptedShipperRate, d.estimatedCarrierRate, d.realCarrierRate);\n        }) || 0;\n\n    const yMaxValue =\n        d3.max(data, (d) => {\n            return Math.max(d.rejectedShipperRate, d.acceptedShipperRate, d.estimatedCarrierRate, d.realCarrierRate);\n        }) || 0;\n\n    const yScale = d3.scaleLinear().range([innerHeight, 0]).domain([yMinValue, yMaxValue]);\n\n    const flushChart = () => {\n        d3.select(svgRef.current).selectAll('*').remove();\n    };\n\n    const draw = () => {\n        d3.select(svgRef.current)\n            .attr('width', width)\n            .attr('height', height)\n            .append('g')\n            .attr('transform', `translate(${margin.left},${margin.top})`);\n\n        addDefs({\n            svgRef,\n        });\n\n        drawAxis({\n            width: innerWidth,\n            height: innerHeight,\n            svgRef,\n            xScale,\n            xValues,\n            yScale,\n            xTickFormatter,\n            yTickFormatter,\n        });\n\n        drawLineChart({\n            settings,\n            width: innerWidth,\n            height: innerHeight,\n            svgRef,\n            data,\n            xScale,\n            yScale,\n            onHoverState: setHoverState,\n            margin,\n        });\n    };\n\n    useEffect(() => {\n        flushChart();\n        draw();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [width, height, data, settings]);\n\n    return (\n        <>\n            <svg ref={svgRef} />\n            <ChartTooltip\n                settings={settings}\n                data={data[hoverState?.index as number]}\n                offset={hoverState?.offset || null}\n            />\n        </>\n    );\n});\n\nexport default Chart;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    opacity?: number;\n};\n\nconst StopWarningIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, opacity, className } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fillOpacity={opacity || 1}\n                    fill={fillColor}\n                    d=\"M12.797 3.25H7.202L3.25 7.202v5.595l3.952 3.953h5.595l3.953-3.953V7.202L12.797 3.25zM10 13.975A.973.973 0 019.025 13c0-.54.435-.975.975-.975s.975.435.975.975-.435.975-.975.975zm.75-3.225h-1.5v-4.5h1.5v4.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nStopWarningIcon.displayName = 'StopWarningIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.tomatoRed,\n    opacity: 1,\n};\n\nexport { storyProps };\nexport default StopWarningIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"list--hasVerticalPaddings\":\"PriceDetails__list--hasVerticalPaddings___OA7qP\",\"row\":\"PriceDetails__row___id8jR\",\"row--isClickable\":\"PriceDetails__row--isClickable___nGBJq\",\"column--content\":\"PriceDetails__column--content___wD3Ob\",\"column--trigger\":\"PriceDetails__column--trigger___cx_WG\",\"content\":\"PriceDetails__content___e1mWs\",\"content--isHoverable\":\"PriceDetails__content--isHoverable___wnQsY\",\"content-column--icon\":\"PriceDetails__content-column--icon___YLssB\",\"content-column--left-node\":\"PriceDetails__content-column--left-node___KP3_J\",\"content-column--title\":\"PriceDetails__content-column--title___gmoMT\",\"content-column--price\":\"PriceDetails__content-column--price___L_rfl\",\"content-column--placeholder\":\"PriceDetails__content-column--placeholder___MuiCp\",\"content-column--right-node\":\"PriceDetails__content-column--right-node___P8WxZ\",\"content-column--isLoading\":\"PriceDetails__content-column--isLoading___nTCvy\",\"tooltip\":\"PriceDetails__tooltip___MxzP9\",\"pill\":\"PriceDetails__pill___vGTaj\",\"not-actual-price\":\"PriceDetails__not-actual-price___Yoe4E\",\"footer\":\"PriceDetails__footer___tU8iu\",\"fadeIn\":\"PriceDetails__fadeIn___M0IwZ\",\"blinking\":\"PriceDetails__blinking___AGw2B\"};","import { RFQsStatsStateT } from './types';\nimport { SharableStateT } from '../models';\n\nexport const selectRFQsStatsRequest = (state: SharableStateT): RFQsStatsStateT['fetchRequest'] =>\n    state.rfqsStats.fetchRequest;\n\nexport const selectRFQsStats = (state: SharableStateT): RFQsStatsStateT['stats'] => state.rfqsStats.stats;\n","// extracted by mini-css-extract-plugin\nexport default {\"pill\":\"FilterPills__pill___l6Vmc\",\"fadeIn\":\"FilterPills__fadeIn___GVWRI\",\"blinking\":\"FilterPills__blinking___mBaKm\"};","// extracted by mini-css-extract-plugin\nexport default {\"date\":\"ValidPeriodCell__date___OwMKg\",\"fadeIn\":\"ValidPeriodCell__fadeIn___IHR9B\",\"blinking\":\"ValidPeriodCell__blinking___saYmu\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst FeeIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, ...restProps } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" {...restProps}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1.97h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M6.85 5.57a2.25 2.25 0 10.002 4.503A2.25 2.25 0 006.85 5.57zm0 3.15a.903.903 0 01-.9-.9c0-.494.405-.9.9-.9s.9.406.9.9c0 .496-.405.9-.9.9zm6.3 3.15a2.25 2.25 0 10.002 4.503 2.25 2.25 0 00-.002-4.502zm0 3.15a.903.903 0 01-.9-.9c0-.494.405-.9.9-.9s.9.406.9.9c0 .496-.405.9-.9.9zm-7.596 1.35l-.954-.953 9.846-9.846.954.954-9.846 9.846z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nFeeIcon.displayName = 'FeeIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.slate,\n};\n\nexport { storyProps };\nexport default FeeIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"document-summary\":\"ContractDetailsSidebarContent__document-summary___D4h_3\",\"document-events\":\"ContractDetailsSidebarContent__document-events___yJpQf\",\"fadeIn\":\"ContractDetailsSidebarContent__fadeIn___w8bfu\",\"blinking\":\"ContractDetailsSidebarContent__blinking___Kp1T4\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT, RateSourceEnum } from './constants';\nimport { checkNotEmpty, checkIsPositiveNumberOrZeroValue } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.source] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    if (values[FieldsEnum.source] === RateSourceEnum.new) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.rate], values),\n            ...checkIsPositiveNumberOrZeroValue(t, [FieldsEnum.rate], values),\n        };\n    }\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"status\":\"StatusCell__status___gEhHM\",\"fadeIn\":\"StatusCell__fadeIn___FNkbK\",\"blinking\":\"StatusCell__blinking___vXYO9\"};","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"UploadFooterContent__content___BllXW\",\"action\":\"UploadFooterContent__action___UdL0U\",\"fadeIn\":\"UploadFooterContent__fadeIn___SfRxa\",\"blinking\":\"UploadFooterContent__blinking___KnyO_\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerTransportOrders__fadeIn___TB1Ex\",\"blinking\":\"PartnerTransportOrders__blinking___ObkQ2\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { AssetAssignmentInfoT } from 'common/utils/assignment';\nimport { CountrySettingsByCodeT } from 'common/store/country-settings-dict/models';\nimport { checkIsAvailableCountryForDropAsset } from 'common/store/country-settings-dict/utils/check-location';\n\ntype MetaT = {\n    trailerById: Record<TrailerIdT, AssetAssignmentInfoT>;\n    truckById: Record<TruckIdT, AssetAssignmentInfoT>;\n    countriesSettingsByCode: CountrySettingsByCodeT;\n};\n\nconst validate = (t: TFunction, values: FormValuesT, meta: MetaT): FormErrorsT => {\n    const { trailerById, truckById, countriesSettingsByCode } = meta;\n\n    const errors: FormErrorsT = {};\n\n    const selectedTrailerId = values[FieldsEnum.trailerId];\n    const selectedTrailer = selectedTrailerId ? trailerById[selectedTrailerId] : null;\n\n    const selectedTruckId = values[FieldsEnum.truckId];\n    const selectedTruck = selectedTruckId ? truckById[selectedTruckId] : null;\n\n    if (!selectedTruck && !selectedTrailer) {\n        errors[FieldsEnum.truckId] = t('assignment.validation.required-asset');\n        errors[FieldsEnum.trailerId] = t('assignment.validation.required-asset');\n    }\n\n    const locationToDropTrailer = values[FieldsEnum.locationToDropTrailer];\n    if (!checkIsAvailableCountryForDropAsset(locationToDropTrailer, countriesSettingsByCode)) {\n        errors[FieldsEnum.locationToDropTrailer] = t('assignment.validation.unsupported-country');\n    }\n\n    const locationToDropTruck = values[FieldsEnum.locationToDropTruck];\n    if (!checkIsAvailableCountryForDropAsset(locationToDropTruck, countriesSettingsByCode)) {\n        errors[FieldsEnum.locationToDropTruck] = t('assignment.validation.unsupported-country');\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport DropdownMultipleInput from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport { useTranslation } from 'react-i18next';\nimport TargetIcon from 'common/icons/TargetIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport UnavailableTrailerIcon from 'common/icons/UnavailableTrailerIcon';\nimport TuneIcon from 'common/icons/TuneIcon';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { CheckboxThemeEnum } from 'design-system/components/Checkbox/Checkbox';\n\nexport type AssignmentOptionsValueT = {\n    isShowUnavailableAssets: boolean;\n    isShowActualPlace: boolean;\n    isShowAssetSchedule: boolean;\n    isIgnoreEmissionStandard: boolean;\n    isIgnoreCertificates: boolean;\n};\n\nenum AssignmentOptionEnum {\n    showUnavailableAssets = 'show-unavailable-assets',\n    showActualPlace = 'show-actual-place',\n    showAssetSchedule = 'show-asset-schedule',\n    ignoreEmissionStandard = 'ignore-emission-standard',\n    ignoreCertificates = 'ignore-certificates',\n}\n\ntype AssignmentOptionT = {\n    label: React.ReactNode;\n    value: AssignmentOptionEnum;\n    checkboxTheme?: CheckboxThemeEnum;\n};\n\ntype PropsT = {\n    className?: string;\n    value: AssignmentOptionsValueT;\n    onChange: (options: AssignmentOptionsValueT) => void;\n};\n\nconst AssignmentOptionsDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { className, value, onChange } = props;\n\n    const { t } = useTranslation();\n\n    const selectedOptionValues: Array<AssignmentOptionEnum> = React.useMemo((): Array<AssignmentOptionEnum> => {\n        const values: Array<AssignmentOptionEnum> = [];\n\n        if (value.isShowActualPlace) {\n            values.push(AssignmentOptionEnum.showActualPlace);\n        }\n\n        if (value.isShowAssetSchedule) {\n            values.push(AssignmentOptionEnum.showAssetSchedule);\n        }\n\n        if (value.isShowUnavailableAssets) {\n            values.push(AssignmentOptionEnum.showUnavailableAssets);\n        }\n\n        if (value.isIgnoreCertificates) {\n            values.push(AssignmentOptionEnum.ignoreCertificates);\n        }\n\n        if (value.isIgnoreEmissionStandard) {\n            values.push(AssignmentOptionEnum.ignoreEmissionStandard);\n        }\n\n        return values;\n    }, [value]);\n\n    const handleChange = React.useCallback(\n        (values: Array<AssignmentOptionEnum>) => {\n            const optionsSet = new Set(values);\n\n            onChange({\n                isShowUnavailableAssets: optionsSet.has(AssignmentOptionEnum.showUnavailableAssets),\n                isShowActualPlace: optionsSet.has(AssignmentOptionEnum.showActualPlace),\n                isShowAssetSchedule: optionsSet.has(AssignmentOptionEnum.showAssetSchedule),\n                isIgnoreEmissionStandard: optionsSet.has(AssignmentOptionEnum.ignoreEmissionStandard),\n                isIgnoreCertificates: optionsSet.has(AssignmentOptionEnum.ignoreCertificates),\n            });\n        },\n        [onChange],\n    );\n\n    const options: Array<AssignmentOptionT | SpecialOptionEnum> = React.useMemo(\n        () => [\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={\n                            <TargetIcon\n                                strokeColor={StyleGuideColorsEnum.slate}\n                                fillColor={StyleGuideColorsEnum.light}\n                                size={DEFAULT_ICON_SIZE}\n                            />\n                        }\n                        label={t('assignment.search-form.options.ignore-emission-standard')}\n                    />\n                ),\n                checkboxTheme: CheckboxThemeEnum.orange,\n                value: AssignmentOptionEnum.ignoreEmissionStandard,\n            },\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={\n                            <TargetIcon\n                                strokeColor={StyleGuideColorsEnum.slate}\n                                fillColor={StyleGuideColorsEnum.light}\n                                size={DEFAULT_ICON_SIZE}\n                            />\n                        }\n                        label={t('assignment.search-form.options.ignore-certificates')}\n                    />\n                ),\n                checkboxTheme: CheckboxThemeEnum.orange,\n                value: AssignmentOptionEnum.ignoreCertificates,\n            },\n            SpecialOptionEnum.separator,\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={\n                            <TargetIcon\n                                strokeColor={StyleGuideColorsEnum.slate}\n                                fillColor={StyleGuideColorsEnum.light}\n                                size={DEFAULT_ICON_SIZE}\n                            />\n                        }\n                        label={t('assignment.search-form.options.show-actual-place')}\n                    />\n                ),\n                value: AssignmentOptionEnum.showActualPlace,\n            },\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={<RouteIcon fillColor={StyleGuideColorsEnum.slate} />}\n                        label={t('assignment.search-form.options.show-previous-next-tours')}\n                    />\n                ),\n                value: AssignmentOptionEnum.showAssetSchedule,\n            },\n            {\n                label: (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={\n                            <UnavailableTrailerIcon\n                                size={DEFAULT_ICON_SIZE}\n                                fillColor={StyleGuideColorsEnum.light}\n                                strokeColor={StyleGuideColorsEnum.slate}\n                            />\n                        }\n                        label={t('assignment.search-form.options.show-unavailable-assets')}\n                    />\n                ),\n                value: AssignmentOptionEnum.showUnavailableAssets,\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <DropdownMultipleInput<AssignmentOptionT, AssignmentOptionT['value']>\n            className={className}\n            selectedValues={selectedOptionValues}\n            options={options}\n            onSelect={handleChange}\n            renderOption={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return <DropdownControlOptionLabel withoutPaddings label={option.label} />;\n            }}\n            renderTriggerContent={(selectedFilters) => {\n                let icon = <TuneIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.charcoal} />;\n\n                if (selectedFilters?.length) {\n                    icon = (\n                        <NotificationLabel\n                            isShowPlusSign\n                            count={selectedFilters?.length}\n                            theme={NotificationLabelThemeEnum.charcoal}\n                        />\n                    );\n                }\n\n                return (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={icon}\n                        label={t('assignment.search-form.options.trigger')}\n                    />\n                );\n            }}\n            getOptionValue={(option) => option?.value}\n            getCheckboxProps={(option) => {\n                return {\n                    theme: option?.checkboxTheme || null,\n                };\n            }}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n});\n\nexport default AssignmentOptionsDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs-wrap\":\"PriceMatrixWithMap__tabs-wrap___CYfcP\",\"tab\":\"PriceMatrixWithMap__tab___FNZjF\",\"fadeIn\":\"PriceMatrixWithMap__fadeIn___iYGxK\",\"blinking\":\"PriceMatrixWithMap__blinking____T64y\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst AddAccountDuotineIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, size } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path d=\"M12.25 13c-2.018 0-4.327.96-4.5 1.5h9c-.15-.533-2.475-1.5-4.5-1.5zm0-4.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M12.25 10a3 3 0 100-6 3 3 0 100 6zm0-4.5c.825 0 1.5.675 1.5 1.5s-.675 1.5-1.5 1.5-1.5-.675-1.5-1.5.675-1.5 1.5-1.5zm0 6c-2.002 0-6 1.005-6 3V16h12v-1.5c0-1.995-3.998-3-6-3zm-4.5 3c.165-.54 2.482-1.5 4.5-1.5 2.025 0 4.35.967 4.5 1.5h-9zM5.5 12.25V10h2.25V8.5H5.5V6.25H4V8.5H1.75V10H4v2.25h1.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nAddAccountDuotineIcon.displayName = 'AddAccountDuotineIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.orange,\n    size: 20,\n};\n\nexport { storyProps };\nexport default AddAccountDuotineIcon;\n","export {\n    fetchBrokerTeamsPage,\n    fetchBrokerTeamsPageBegin,\n    fetchBrokerTeamsPageSuccess,\n    fetchBrokerTeamsPageError,\n    resetBrokerTeams,\n} from './slice';\n","import React from 'react';\n\nimport { CompanyContactT } from 'common/store/members/models';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\nimport Modal from 'common/components/Modal/Modal';\nimport { logWarning } from 'common/utils/logger';\nimport { DeactivateUserDataT } from 'common/layouts/Members/dialogs/DeactivateUserModal/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { useSelector } from 'react-redux';\nimport { selectUpdateMemberRequest } from 'common/store/members/selectors';\nimport DeactivateUserForm from 'common/layouts/Members/DeactivateUserForm/DeactivateUserForm';\n\nexport type DeactivateUserModalDataT = {\n    contact: {\n        userId?: CompanyContactT['userId'];\n        roles: CompanyContactT['roles'];\n        fullName: CompanyContactT['fullName'];\n    } | null;\n    partnerType: PartnerTypeEnum;\n    partnerId: PartnerIdT;\n};\n\nexport type DeactivateUserModalPropsT = {\n    data: DeactivateUserModalDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onDeactivateUser: (params: { data: DeactivateUserModalDataT | null; changes: DeactivateUserDataT }) => void;\n};\n\nconst TEST_SELECTOR = 'deactivate-user-modal';\n\nconst DeactivateUserModal: React.FC<DeactivateUserModalPropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, onDeactivateUser } = props;\n\n    const contact = data?.contact || null;\n    const partnerType = data?.partnerType || null;\n    const partnerId = data?.partnerId || null;\n\n    const { t } = useTranslation();\n\n    const updateMemberRequest = useSelector(selectUpdateMemberRequest(partnerId));\n\n    if (!contact || !partnerType || !partnerId) {\n        return null;\n    }\n\n    const FormComponent = DeactivateUserForm;\n\n    return (\n        <Modal>\n            <ModalContent onClose={onCancel}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    icon={<BigTrashIcon />}\n                    title={t('common:team-members.dialogs.deactivate-confirmation.title', {\n                        fullName: contact?.fullName,\n                    })}\n                    message={t('common:team-members.dialogs.deactivate-confirmation.description', {\n                        fullName: contact?.fullName,\n                    })}\n                >\n                    <FormComponent\n                        contact={contact}\n                        updateMemberRequest={updateMemberRequest}\n                        onDeactivateUser={(changes) => {\n                            if (changes) {\n                                onDeactivateUser({ data, changes });\n                            } else {\n                                logWarning('empty user id');\n                            }\n\n                            onClose();\n                        }}\n                        onCancel={onCancel}\n                    />\n                </ModalDialog>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default DeactivateUserModal;\n","// extracted by mini-css-extract-plugin\nexport default {\"option--clear\":\"AdditionalManagementControl__option--clear___Yfei0\",\"fadeIn\":\"AdditionalManagementControl__fadeIn___Kjl11\",\"blinking\":\"AdditionalManagementControl__blinking___UUukk\"};","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { PartnerDetailsT } from './models';\nimport { AddressTypeEnum, ApiBrokerCompanyChangesT, PartnerTypeEnum } from 'common/utils/api/models';\n\nexport const FETCH_PARTNER_DETAILS_REQUEST = 'broker-admin/partner/details/FETCH_PARTNER_DETAILS_REQUEST';\nexport const FETCH_PARTNER_DETAILS_REQUEST_BEGIN = 'broker-admin/partner/details/FETCH_PARTNER_DETAILS_REQUEST_BEGIN';\nexport const FETCH_PARTNER_DETAILS_REQUEST_ERROR = 'broker-admin/partner/details/FETCH_PARTNER_DETAILS_REQUEST_ERROR';\nexport const FETCH_PARTNER_DETAILS_REQUEST_SUCCESS =\n    'broker-admin/partner/details/FETCH_PARTNER_DETAILS_REQUEST_SUCCESS';\n\nexport const UPDATE_PARTNER_DETAILS_REQUEST = 'broker-admin/partner/details/UPDATE_PARTNER_DETAILS_REQUEST';\nexport const UPDATE_PARTNER_DETAILS_REQUEST_BEGIN = 'broker-admin/partner/details/UPDATE_PARTNER_DETAILS_REQUEST_BEGIN';\nexport const UPDATE_PARTNER_DETAILS_REQUEST_ERROR = 'broker-admin/partner/details/UPDATE_PARTNER_DETAILS_REQUEST_ERROR';\nexport const UPDATE_PARTNER_DETAILS_REQUEST_SUCCESS =\n    'broker-admin/partner/details/UPDATE_PARTNER_DETAILS_REQUEST_SUCCESS';\n\nexport const VERIFY_PARTNER_DETAILS_REQUEST = 'broker-admin/partner/details/VERIFY_PARTNER_DETAILS_REQUEST';\nexport const VERIFY_PARTNER_DETAILS_REQUEST_BEGIN = 'broker-admin/partner/details/VERIFY_PARTNER_DETAILS_REQUEST_BEGIN';\nexport const VERIFY_PARTNER_DETAILS_REQUEST_ERROR = 'broker-admin/partner/details/VERIFY_PARTNER_DETAILS_REQUEST_ERROR';\nexport const VERIFY_PARTNER_DETAILS_REQUEST_SUCCESS =\n    'broker-admin/partner/details/VERIFY_PARTNER_DETAILS_REQUEST_SUCCESS';\n\nexport const LOCK_PARTNER_REQUEST = 'broker-admin/partner/details/LOCK_PARTNER_REQUEST';\nexport const LOCK_PARTNER_REQUEST_BEGIN = 'broker-admin/partner/details/LOCK_PARTNER_REQUEST_BEGIN';\nexport const LOCK_PARTNER_REQUEST_ERROR = 'broker-admin/partner/details/LOCK_PARTNER_REQUEST_ERROR';\nexport const LOCK_PARTNER_REQUEST_SUCCESS = 'broker-admin/partner/details/LOCK_PARTNER_REQUEST_SUCCESS';\n\nexport type PartnerDetailsStateT = {\n    fetchRequest: RequestStatusT;\n    updateRequest: RequestStatusT;\n    verifyRequest: RequestStatusT;\n    lockRequest: RequestStatusT;\n    byId: Record<PartnerIdT, PartnerDetailsT | null>;\n};\n\nexport type FetchPartnerDetailsActionT = {\n    type: typeof FETCH_PARTNER_DETAILS_REQUEST;\n    companyId: CompanyIdT;\n};\n\nexport type FetchPartnerDetailsBeginActionT = {\n    type: typeof FETCH_PARTNER_DETAILS_REQUEST_BEGIN;\n};\n\nexport type FetchPartnerDetailsSuccessActionT = {\n    type: typeof FETCH_PARTNER_DETAILS_REQUEST_SUCCESS;\n    partnerDetails: PartnerDetailsT | null;\n};\n\nexport type FetchPartnerDetailsErrorActionT = {\n    type: typeof FETCH_PARTNER_DETAILS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type UpdatePartnerDetailsActionT = {\n    type: typeof UPDATE_PARTNER_DETAILS_REQUEST;\n    partnerDetailsChanges: ApiBrokerCompanyChangesT;\n    partnerType: PartnerTypeEnum;\n    companyId: CompanyIdT;\n};\n\nexport type UpdatePartnerDetailsBeginActionT = {\n    type: typeof UPDATE_PARTNER_DETAILS_REQUEST_BEGIN;\n};\n\nexport type UpdatePartnerDetailsSuccessActionT = {\n    type: typeof UPDATE_PARTNER_DETAILS_REQUEST_SUCCESS;\n    partnerDetails: PartnerDetailsT;\n};\n\nexport type UpdatePartnerDetailsErrorActionT = {\n    type: typeof UPDATE_PARTNER_DETAILS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type VerifyPartnerDetailsActionT = {\n    type: typeof VERIFY_PARTNER_DETAILS_REQUEST;\n    isVerify: boolean;\n    companyId: CompanyIdT;\n    addressType: AddressTypeEnum;\n};\n\nexport type VerifyPartnerDetailsBeginActionT = {\n    type: typeof VERIFY_PARTNER_DETAILS_REQUEST_BEGIN;\n};\n\nexport type VerifyPartnerDetailsSuccessActionT = {\n    type: typeof VERIFY_PARTNER_DETAILS_REQUEST_SUCCESS;\n};\n\nexport type VerifyPartnerDetailsErrorActionT = {\n    type: typeof VERIFY_PARTNER_DETAILS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type LockPartnerActionT = {\n    type: typeof LOCK_PARTNER_REQUEST;\n    isLock: boolean;\n    companyId: CompanyIdT;\n};\n\nexport type LockPartnerBeginActionT = {\n    type: typeof LOCK_PARTNER_REQUEST_BEGIN;\n};\n\nexport type LockPartnerSuccessActionT = {\n    type: typeof LOCK_PARTNER_REQUEST_SUCCESS;\n};\n\nexport type LockPartnerErrorActionT = {\n    type: typeof LOCK_PARTNER_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type PartnerDetailsActionT =\n    | FetchPartnerDetailsActionT\n    | FetchPartnerDetailsBeginActionT\n    | FetchPartnerDetailsSuccessActionT\n    | FetchPartnerDetailsErrorActionT\n    | UpdatePartnerDetailsActionT\n    | UpdatePartnerDetailsBeginActionT\n    | UpdatePartnerDetailsSuccessActionT\n    | UpdatePartnerDetailsErrorActionT\n    | LockPartnerActionT\n    | LockPartnerBeginActionT\n    | LockPartnerSuccessActionT\n    | LockPartnerErrorActionT\n    | VerifyPartnerDetailsActionT\n    | VerifyPartnerDetailsBeginActionT\n    | VerifyPartnerDetailsSuccessActionT\n    | VerifyPartnerDetailsErrorActionT;\n","import * as React from 'react';\nimport { BrokerTeamShortT } from 'broker-admin/store/broker-teams/models';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\ntype PropsT = {\n    brokerTeamShort: BrokerTeamShortT;\n};\n\nconst UsersCountCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTeamShort } = props;\n\n    const usersCount = brokerTeamShort?.numberOfUsers || 0;\n\n    return (\n        <PillLabel isSymmetrical theme={usersCount ? PillLabelThemeEnum.charcoal : PillLabelThemeEnum.grey}>\n            {usersCount}\n        </PillLabel>\n    );\n});\n\nexport default UsersCountCell;\n","import { TourPapersUrlFactoryI } from 'common/components/papers/image-url-factories';\n\nexport const brokerTourPapersUrlFactory: TourPapersUrlFactoryI = {\n    getThumbnailUrl: (tourId: TourIdT | null, documentId: DocumentIdT | null): string | null => {\n        if (!tourId || !documentId) {\n            return null;\n        }\n\n        return `/api/v1/common/attached-papers/${documentId}/get-thumbnail`;\n    },\n\n    getContentUrl: (tourId: TourIdT | null, documentId: DocumentIdT | null): string | null => {\n        if (!tourId || !documentId) {\n            return null;\n        }\n\n        return `/api/v1/common/attached-papers/${documentId}/get-content`;\n    },\n};\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\n\nimport classNames from 'classnames/bind';\nimport styles from './NewOrderPage.scss';\nimport ShipmentDetailsForm from './ShipmentDetailsForm/ShipmentDetailsForm';\nimport RouteEditingMap from './RouteEditingMap/RouteEditingMap';\nimport FormTitle from './FormTitle/FormTitle';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport Steps from 'common/layouts/NewOrderPage/Steps/Steps';\nimport { Route, Switch } from 'react-router-dom';\nimport { OMSRoutesEnum } from 'common/constants';\nimport OffersForm from './OffersForm/OffersForm';\nimport CargoDetailsForm from './CargoDetailsForm/CargoDetailsForm';\nimport RouteMap from 'common/layouts/NewOrderPage/RouteMap/RouteMap';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport { useDispatch } from 'react-redux';\nimport { resetOrderCreation } from 'common/store/order-creation/actions';\nimport SidedBarHeaderLayoutContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-header-layout-context';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport SideBarLayoutContextWrap from '../LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport PriceMatrixWithMap from './PriceMatrixWithMap/PriceMatrixWithMap';\nimport { useStepsContextValue } from 'common/layouts/NewOrderPage/hooks/use-steps-context-value';\nimport { useOrderCreationPercentContextValue } from 'common/layouts/NewOrderPage/hooks/use-order-creation-percent-context-value';\nimport StepsContext from 'common/layouts/NewOrderPage/contexts/steps-context';\nimport OrderCreationPercentContext from 'common/layouts/NewOrderPage/contexts/order-creation-percent-context';\nimport { SyncShipmentDetailsFormMapStateContext } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-map-state';\nimport { useSyncShipmentDetailsFormMapState } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/usy-sync-map-state';\nimport { SyncShipmentDetailsFormValuesContext } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/contexts/sync-form-values';\nimport { useSyncFormValues } from 'common/utils/hooks/useSyncFormValues';\nimport { FormValuesT, SHIPMENT_DETAIL_FORM_NAME } from './ShipmentDetailsForm/constants';\nimport useSideBarFooterAlertsContextValue from 'common/utils/hooks/useSideBarFooterAlertsContextValue';\nimport SideBarFooterAlertsContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-footer-alerts-context';\nimport ValuesStorage from 'common/utils/form-values-storage';\nimport { CARGO_DETAILS_FORM_NAME } from 'common/layouts/NewOrderPage/CargoDetailsForm/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isBroker?: boolean;\n    onClose: () => void;\n};\n\nconst shipmentDetailsFormStorage = new ValuesStorage(SHIPMENT_DETAIL_FORM_NAME);\nconst cargoDetailsFormStorage = new ValuesStorage(CARGO_DETAILS_FORM_NAME);\n\nconst NewOrderPage: React.FC<PropsT> = React.memo((props) => {\n    const { isBroker, onClose } = props;\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const stepsContextValue = useStepsContextValue();\n    const orderCreationPercentContextValue = useOrderCreationPercentContextValue();\n    const syncShipmentDetailsFormValuesContextValue = useSyncFormValues<FormValuesT>();\n    const syncShipmentDetailsFormMapStateContextValue = useSyncShipmentDetailsFormMapState();\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n\n        return () => {\n            dispatch(resetOrderCreation());\n        };\n    }, [dispatch]);\n\n    const containerRef = React.useRef<HTMLHeadingElement>(null);\n\n    const sideBarFooterAlertsContext = useSideBarFooterAlertsContextValue();\n\n    const handleClose = React.useCallback(() => {\n        onClose();\n        shipmentDetailsFormStorage.reset();\n        cargoDetailsFormStorage.reset();\n    }, [onClose]);\n\n    return (\n        <GoogleMapContext.Provider value={googleMapsContextValue}>\n            <SideBarFooterAlertsContext.Provider value={sideBarFooterAlertsContext}>\n                <OrderCreationPercentContext.Provider value={orderCreationPercentContextValue}>\n                    <SyncShipmentDetailsFormValuesContext.Provider value={syncShipmentDetailsFormValuesContextValue}>\n                        <SyncShipmentDetailsFormMapStateContext.Provider\n                            value={syncShipmentDetailsFormMapStateContextValue}\n                        >\n                            <PageTitle title={t('common:page-titles.order-creation')} />\n                            <HorizontalColumnsLayout\n                                leftColumnTitle={t('common:new-order-page.tabs.form')}\n                                leftColumnNode={\n                                    <SideBarLayoutContextWrap>\n                                        <SidedBarHeaderLayoutContext.Provider value={containerRef}>\n                                            <HeaderSideBarLayout className={cx('header')}>\n                                                <FormTitle onClose={handleClose} />\n                                                <div ref={containerRef} />\n                                            </HeaderSideBarLayout>\n                                            <SideBarLayout>\n                                                <>\n                                                    <StepsContext.Provider value={stepsContextValue}>\n                                                        <Steps className={cx('steps')} />\n                                                        <Switch>\n                                                            <Route exact path={OMSRoutesEnum.newOrder}>\n                                                                <ShipmentDetailsForm isBroker={!!isBroker} />\n                                                            </Route>\n                                                            <Route path={OMSRoutesEnum.newOrderDetails}>\n                                                                <CargoDetailsForm />\n                                                            </Route>\n                                                            <Route path={OMSRoutesEnum.newOrderDetailsWithLane}>\n                                                                <CargoDetailsForm />\n                                                            </Route>\n                                                            <Route path={OMSRoutesEnum.newOrderOffers}>\n                                                                <OffersForm />\n                                                            </Route>\n                                                        </Switch>\n                                                    </StepsContext.Provider>\n                                                </>\n                                            </SideBarLayout>\n                                        </SidedBarHeaderLayoutContext.Provider>\n                                    </SideBarLayoutContextWrap>\n                                }\n                                rightColumnTitle={\n                                    <Switch>\n                                        <Route exact path={OMSRoutesEnum.newOrder}>\n                                            {t('common:new-order-page.tabs.map')}\n                                        </Route>\n                                        <Route path={OMSRoutesEnum.newOrderDetails}>\n                                            {t('common:new-order-page.tabs.map')}\n                                        </Route>\n                                        <Route path={OMSRoutesEnum.newOrderDetailsWithLane}>\n                                            {t('common:new-order-page.tabs.map')}\n                                        </Route>\n                                        <Route path={OMSRoutesEnum.newOrderOffers}>\n                                            {t('common:new-order-page.tabs.info')}\n                                        </Route>\n                                    </Switch>\n                                }\n                                rightColumnNode={\n                                    <Switch>\n                                        <Route exact path={OMSRoutesEnum.newOrder}>\n                                            <RouteEditingMap />\n                                        </Route>\n                                        <Route path={OMSRoutesEnum.newOrderDetails}>\n                                            <RouteMap />\n                                        </Route>\n                                        <Route path={OMSRoutesEnum.newOrderDetailsWithLane}>\n                                            <RouteMap />\n                                        </Route>\n                                        <Route path={OMSRoutesEnum.newOrderOffers}>\n                                            <PriceMatrixWithMap />\n                                        </Route>\n                                    </Switch>\n                                }\n                            />\n                        </SyncShipmentDetailsFormMapStateContext.Provider>\n                    </SyncShipmentDetailsFormValuesContext.Provider>\n                </OrderCreationPercentContext.Provider>\n            </SideBarFooterAlertsContext.Provider>\n        </GoogleMapContext.Provider>\n    );\n});\n\nexport default NewOrderPage;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipperContractLaneId.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    id: string;\n};\n\nconst ShipperContractLaneId: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return <span className={cx('id')}>{id}</span>;\n});\n\nexport default ShipperContractLaneId;\n","import * as React from 'react';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { TrailerDetailsSidebarDataT } from './models';\nimport CommonEditableTrailerDetailsLayout from 'common/layouts/CommonEditableTrailerDetailsLayout/CommonEditableTrailerDetailsLayout';\nimport history from 'common/utils/history';\nimport useCommonUrlFactoryContext from 'common/utils/hooks/useCommonUrlFactoryContext';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\ntype PropsT = SidebarContentPropsT<TrailerDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst EditableTrailerDetailsLayout: React.FC<PropsT> = (props) => {\n    const { data, onGoBack, onClose, setNeedCloseConfirmation, onOpenNextSidebar } = props;\n\n    const commonUrlFactory = useCommonUrlFactoryContext();\n\n    const handleShowMap = () => {\n        history.push(commonUrlFactory.trailerDetails(data.partnerId, data.trailerId));\n    };\n\n    const handleOpenTruckDetails = (truckId: TruckIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.truckDetails,\n            partnerId: data.partnerId,\n            truckId,\n        });\n    };\n\n    const handleOpenTrailerDetails = (trailerId: TrailerIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            partnerId: data.partnerId,\n            trailerId,\n        });\n    };\n\n    const handleOpenContactDetails = (contractId: CarrierContractIdT) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.carrierContract,\n            contractId,\n            initIsEditing: false,\n            partnerId: data.partnerId,\n        });\n    };\n\n    const handleOpenUserDetails = (userId: UserIdT, isBrokerUser?: boolean) => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId: data.partnerId,\n            partnerType: isBrokerUser ? PartnerTypeEnum.broker : PartnerTypeEnum.carrier,\n            userId,\n        });\n    };\n\n    if (!onClose) {\n        return null;\n    }\n\n    return (\n        <CommonEditableTrailerDetailsLayout\n            trailerId={data.trailerId}\n            partnerId={data.partnerId}\n            isDisableShowOnMap={data.isDisableShowOnMap}\n            isReadOnly={data.isReadOnly}\n            onClose={onClose}\n            isShowMap={false}\n            onGoBack={onGoBack || undefined}\n            onToggleShowMap={handleShowMap}\n            setNeedCloseConfirmation={setNeedCloseConfirmation}\n            onOpenTruckDetails={handleOpenTruckDetails}\n            onOpenTrailerDetails={handleOpenTrailerDetails}\n            onOpenContactDetails={handleOpenContactDetails}\n            onOpenUserDetails={handleOpenUserDetails}\n        />\n    );\n};\n\nexport default EditableTrailerDetailsLayout;\n","import { FieldsEnum, FormErrorsT, ShipmentFieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport { checkIsTranziitApiErrorResponse } from 'common/utils/api/tranziit/errors/error-response';\nimport set from 'lodash/set';\nimport { TFunction } from 'i18next';\n\nconst asyncValidate = (t: TFunction, requestError: RequestStatusT): FormErrorsT => {\n    const { error } = requestError;\n\n    const asyncErrors: FormErrorsT = {};\n\n    if (!checkIsTranziitApiRequestError(error)) {\n        return asyncErrors;\n    }\n\n    if (\n        checkIsTranziitApiErrorResponse(\n            error,\n            TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_CapacityExcess,\n        )\n    ) {\n        set(\n            asyncErrors,\n            `${FieldsEnum.shipments}.${error?.response?.shipmentIndex}.${ShipmentFieldsEnum.cargoUnitsCount}`,\n            t('common:new-order-form.async-errors.capacity-excess'),\n        );\n    }\n\n    if (\n        checkIsTranziitApiErrorResponse(\n            error,\n            TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_Overweight,\n        )\n    ) {\n        set(\n            asyncErrors,\n            `${FieldsEnum.shipments}.${error?.response?.shipmentIndex}.${ShipmentFieldsEnum.cargoWeight}`,\n            t('common:new-order-form.async-errors.overweight'),\n        );\n    }\n\n    return asyncErrors;\n};\n\nexport default asyncValidate;\n","// extracted by mini-css-extract-plugin\nexport default {\"filters-pills__item\":\"RateMatrix__filters-pills__item___dqiIZ\",\"fadeIn\":\"RateMatrix__fadeIn___IQoXr\",\"blinking\":\"RateMatrix__blinking___O9G6K\"};","export const parseContentDispositionFilename = (headerValue: string): string | null => {\n    const match = headerValue.match(/filename\\*=(?:UTF-8''|utf-8'')(.+?)(?:;|$)/);\n    if (match?.[1]) {\n        return decodeURIComponent(match[1]);\n    }\n\n    const quotedMatch = headerValue.match(/filename=\"(.+?)\"/);\n    if (quotedMatch?.[1]) {\n        return quotedMatch[1];\n    }\n\n    const unquotedMatch = headerValue.match(/filename=([^;\\s]+)/);\n    if (unquotedMatch?.[1]) {\n        return unquotedMatch[1];\n    }\n\n    return null;\n};\n\nexport const HEADERS = {\n    CONTENT_DISPOSITION: 'Content-Disposition',\n    CONTENT_TYPE: 'Content-Type',\n};\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const ordersRefreshChannel = new ViewEventChannel<{}>();\n\nexport const ordersPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport NumberIcon from 'common/icons/NumberIcon';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    isNewRoutePoint?: boolean;\n    isDriveThroughRoutePointPicker?: boolean;\n    isDropAndHookRoutePointPicker?: boolean;\n    isPickUpDeliveryRoutePointPicker?: boolean;\n    hasValue?: boolean;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    isDisabled?: boolean;\n};\n\nconst WaypointNumberIcon: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        isNewRoutePoint,\n        isDriveThroughRoutePointPicker,\n        isDropAndHookRoutePointPicker,\n        isPickUpDeliveryRoutePointPicker,\n        hasValue,\n        hasError,\n        hasWarning,\n        isDisabled,\n    } = props;\n\n    let fillColor = StyleGuideColorsEnum.light;\n\n    if (isDriveThroughRoutePointPicker && hasValue) {\n        fillColor = StyleGuideColorsEnum.gray;\n    }\n\n    if (isDropAndHookRoutePointPicker && hasValue) {\n        fillColor = StyleGuideColorsEnum.charcoal;\n    }\n\n    if (isPickUpDeliveryRoutePointPicker && hasValue) {\n        fillColor = StyleGuideColorsEnum.charcoal;\n    }\n\n    if (isNewRoutePoint && hasValue) {\n        fillColor = StyleGuideColorsEnum.blazeOrange;\n    }\n\n    if (hasError && hasValue) {\n        fillColor = StyleGuideColorsEnum.tomatoRed;\n    }\n\n    if (hasWarning && hasValue) {\n        fillColor = StyleGuideColorsEnum.orange;\n    }\n\n    if (isDisabled) {\n        fillColor = StyleGuideColorsEnum.slate;\n    }\n\n    return <NumberIcon className={className} number={routePointIndex + 1} fillColor={fillColor} />;\n});\n\nexport default WaypointNumberIcon;\n","import { RequestStatusT } from 'common/utils/request-status';\n\nexport const CLOSE_RFQ = 'common/rfqs-changes/CLOSE_RFQ';\nexport const CHANGE_RFQ_REQUEST_BEGIN = 'common/rfqs-changes/CHANGE_RFQ_REQUEST_BEGIN';\nexport const CHANGE_RFQ_REQUEST_ERROR = 'common/rfqs-changes/CHANGE_RFQ_REQUEST_ERROR';\nexport const CHANGE_RFQ_REQUEST_SUCCESS = 'common/rfqs-changes/CHANGE_RFQ_REQUEST_SUCCESS';\n\nexport type RFQsChangesStateT = {\n    id: RFQIdT | null;\n    request: RequestStatusT;\n};\n\nexport type CloseRFQActionT = {\n    type: typeof CLOSE_RFQ;\n    id: RFQIdT;\n};\n\nexport type ChangeRFQBeginActionT = {\n    type: typeof CHANGE_RFQ_REQUEST_BEGIN;\n    id: RFQIdT;\n};\n\nexport type ChangeRFQSuccessActionT = {\n    type: typeof CHANGE_RFQ_REQUEST_SUCCESS;\n    id: RFQIdT;\n};\n\nexport type ChangeRFQErrorActionT = {\n    type: typeof CHANGE_RFQ_REQUEST_ERROR;\n    id: RFQIdT;\n    error: Error;\n};\n\nexport type RFQsChangesActionT =\n    | CloseRFQActionT\n    | ChangeRFQBeginActionT\n    | ChangeRFQSuccessActionT\n    | ChangeRFQErrorActionT;\n","import { QueryKeysEnum } from 'common/constants';\nimport qs from 'qs';\nimport isEmpty from 'lodash/isEmpty';\nimport { logWarning } from './logger';\nimport moment from 'moment';\nimport pickBy from 'lodash/pickBy';\nimport { isNonNil } from 'common/utils/index';\nimport { decodeArray, encodeArray, encodeJson, QueryParamConfig } from 'serialize-query-params';\nimport { decodeJson } from 'use-query-params';\nimport * as Serialize from 'serialize-query-params';\nimport isEqual from 'lodash/isEqual';\n\nconst STRINGIFY_QUERY_KEYS = [\n    QueryKeysEnum.ordersFilters,\n    QueryKeysEnum.orderCreationAdditionalServices,\n    QueryKeysEnum.ratesFromCountryCodesSearch,\n    QueryKeysEnum.ratesToCountryCodesSearch,\n];\n\nexport const parseQuery = (search: string): any => {\n    const query = qs.parse(search.slice(1));\n\n    STRINGIFY_QUERY_KEYS.forEach((queryKey) => {\n        const value = query[queryKey];\n\n        if (value) {\n            try {\n                query[queryKey] = JSON.parse(value as string);\n            } catch (error) {\n                logWarning(`parse query error: ${error}`);\n            }\n        }\n    });\n\n    return query;\n};\n\ntype BaseStringifiedParsedQueryT = Record<string, string[] | number[] | string | number | boolean | null>;\n\nexport const parseStringifiedQuery = <T extends BaseStringifiedParsedQueryT>(\n    queryValue: string | null | undefined,\n): T => {\n    if (!queryValue) {\n        return {} as T;\n    }\n\n    try {\n        return JSON.parse(queryValue);\n    } catch (error) {\n        logWarning(`parse query \"${queryValue}\", error: ${error}`);\n        return {} as T;\n    }\n};\n\nexport const formatStringifiedQuery = (rawQuery: BaseStringifiedParsedQueryT): string | null => {\n    try {\n        return JSON.stringify(rawQuery);\n    } catch (error) {\n        logWarning(`format query \"${rawQuery}\" error: ${error}`);\n        return null;\n    }\n};\n\n// TODO use instead any BaseStringifiedParsedQueryT\nexport const formatQuery = (rawQuery: any): string => {\n    const query = {\n        ...rawQuery,\n    };\n\n    STRINGIFY_QUERY_KEYS.forEach((queryKey) => {\n        const value = query[queryKey];\n        if (!value) {\n            return;\n        }\n\n        if (!isEmpty(value)) {\n            try {\n                query[queryKey] = JSON.stringify(value as string);\n            } catch (error) {\n                logWarning(`format query error: ${error}`);\n            }\n        } else {\n            // delete empty objects and array\n            query[queryKey] = undefined;\n        }\n    });\n\n    return `?${qs.stringify(query, { skipNulls: true })}`;\n};\n\nexport const parseQueryValueWithSeparator = (rawValue: string | null | undefined, separator: string): string[] => {\n    const value = rawValue || '';\n    if (!value || value === separator) {\n        return [];\n    }\n\n    return value.split(separator).filter((value) => Boolean(value));\n};\n\nconst utcOffset = moment().utcOffset();\n\nexport const parseDateFromQuery = (queryDate: string | null | undefined) => {\n    const momentDate = moment(queryDate).utcOffset(utcOffset);\n\n    return new Date(momentDate.format('YYYY-MM-DD'));\n};\n\nexport const parseRelativeTimeFromQuery = (queryDate: string | null | undefined) => {\n    const momentDate = moment(queryDate).utcOffset(utcOffset);\n\n    return momentDate.valueOf() - momentDate.clone().startOf('day').valueOf();\n};\n\n/**\n * @deprecated\n */\nexport const mergeQueryFilters = <T extends {}>(prevQueryFilters: T, newQueryFilters: T): T => {\n    const filteredNewQueryFilters = pickBy(newQueryFilters, isNonNil);\n\n    return {\n        ...prevQueryFilters,\n        ...filteredNewQueryFilters,\n    };\n};\n\n/**\n * @deprecated\n */\nexport const clearEmptyValues = <T extends {}>(obj: T): void => {\n    // @ts-ignore\n    // eslint-disable-next-line no-param-reassign\n    Object.keys(obj).forEach((key) => (obj[key] === undefined ? delete obj[key] : {}));\n};\n\n/*\nFor sidebars\n */\nexport const JSONArrayParam = {\n    encode: <T>(objArray: Array<T> | null) => {\n        if (!objArray) {\n            return encodeArray(objArray);\n        }\n\n        const strArray = objArray\n            .map((obj) => {\n                return encodeJson(obj);\n            })\n            .filter(isNonNil);\n\n        // @ts-expect-error\n        return encodeArray(strArray?.length === 1 ? strArray[0] : strArray);\n    },\n    decode: <T>(arrayStr: string | (string | null)[] | null | undefined): Array<T> => {\n        const decodedArray = decodeArray(arrayStr);\n        if (!decodedArray) {\n            return [];\n        }\n\n        if (typeof decodedArray === 'string') {\n            const objStr = decodeJson(decodedArray);\n            if (!objStr) {\n                return [];\n            }\n\n            return [objStr as T];\n        }\n\n        return decodedArray\n            .map((objStr): T | null => {\n                return decodeJson(objStr);\n            })\n            .filter(isNonNil);\n    },\n    equals: <T>(valueA: T | null | undefined, valueB: T | null | undefined) => {\n        return isEqual(valueA, valueB);\n    },\n};\n\n/*\nFor paging\n */\nexport const createPageNumberParam = (initValue = 0) => {\n    const params: QueryParamConfig<number> = {\n        encode: Serialize.encodeNumber,\n        decode: (value) => {\n            return Serialize.decodeNumber(value) || initValue;\n        },\n    };\n\n    return params;\n};\n\n/*\nFor filters\n */\nexport const createJsonParams = <T>(initValue: T) => {\n    const params: QueryParamConfig<T> = {\n        encode: Serialize.encodeJson,\n        decode: (value) => {\n            return Serialize.decodeJson(value) || initValue;\n        },\n        equals: (valueA: T | null | undefined, valueB: T | null | undefined) => {\n            return isEqual(valueA, valueB);\n        },\n    };\n\n    return params;\n};\n\nexport enum SortDirectionEnum {\n    DESC = 'DESC',\n    ASC = 'ASC',\n}\n\n/*\nFor sorts\n */\nconst PAGE_SORT_SEPARATOR = ',';\n\nexport type PageSortT<T extends string> = {\n    direction: SortDirectionEnum;\n    value: T;\n};\n\nexport const createSortParams = <T extends string>(initData: PageSortT<T>) => {\n    const params: QueryParamConfig<PageSortT<T>> = {\n        encode: (data) => {\n            if (!data) {\n                return undefined;\n            }\n\n            return Serialize.encodeDelimitedArray([data.value, data.direction], PAGE_SORT_SEPARATOR);\n        },\n        decode: (data) => {\n            const decodedData = Serialize.decodeDelimitedArray(data, PAGE_SORT_SEPARATOR) || [];\n            if (!decodedData) {\n                return initData;\n            }\n\n            const [value, direction] = decodedData;\n            return {\n                value: (value as T) || initData.value,\n                direction: (direction as PageSortT<T>['direction']) || initData.direction,\n            };\n        },\n        equals: (valueA: PageSortT<T> | null | undefined, valueB: PageSortT<T> | null | undefined) => {\n            return isEqual(valueA, valueB);\n        },\n    };\n\n    return params;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"search\":\"SearchControl__search___h4bkm\",\"fadeIn\":\"SearchControl__fadeIn___EiJQv\",\"blinking\":\"SearchControl__blinking___Ez00R\"};","import {\n    FETCH_RFQ_DETAILS_REQUEST,\n    FETCH_RFQ_DETAILS_REQUEST_BEGIN,\n    FETCH_RFQ_DETAILS_REQUEST_ERROR,\n    FETCH_RFQ_DETAILS_REQUEST_SUCCESS,\n    FetchRFQDetailsRequestActionT,\n    FetchRFQDetailsRequestBeginActionT,\n    FetchRFQDetailsRequestErrorActionT,\n    FetchRFQDetailsRequestSuccessActionT,\n} from './types';\nimport { RFQDetailsT, RFQPriceOfferT } from './models';\n\nexport const fetchRFQDetails = (id: TransportOrderIdT, options?: FetchOptionsT): FetchRFQDetailsRequestActionT => ({\n    type: FETCH_RFQ_DETAILS_REQUEST,\n    id,\n    options,\n});\n\nexport const fetchRFQDetailsBegin = (id: TransportOrderIdT): FetchRFQDetailsRequestBeginActionT => ({\n    type: FETCH_RFQ_DETAILS_REQUEST_BEGIN,\n    id,\n});\n\nexport const fetchRFQDetailsSuccess = (\n    id: TransportOrderIdT,\n    details: RFQDetailsT | null,\n    defaultOffer: RFQPriceOfferT | null,\n): FetchRFQDetailsRequestSuccessActionT => ({\n    type: FETCH_RFQ_DETAILS_REQUEST_SUCCESS,\n    details,\n    defaultOffer,\n    id,\n});\n\nexport const fetchRFQDetailsError = (id: TransportOrderIdT, error: Error): FetchRFQDetailsRequestErrorActionT => ({\n    type: FETCH_RFQ_DETAILS_REQUEST_ERROR,\n    error,\n    id,\n});\n","import { ApiEditOrderContextT, ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport uniqBy from 'lodash/uniqBy';\nimport { getContextRoutePointHash } from 'broker-admin/store/order-edit/utils/get-context-route-point-hash';\n\nexport const getCorrectedStops = (context: ApiEditOrderContextT | null): Array<ApiTourUpdateStopDataT> => {\n    const stops =\n        context?.tours?.flatMap((tour) => {\n            return tour?.stops || [];\n        }) || [];\n\n    return uniqBy(stops, (stop) => {\n        return getContextRoutePointHash(stop);\n    });\n};\n","import {\n    ADD_TRUCK_REQUEST_BEGIN,\n    ADD_TRUCK_REQUEST_ERROR,\n    ADD_TRUCK_REQUEST_SUCCESS,\n    CompanyTrucksStateT,\n    DELETE_TRUCKS_REQUEST_BEGIN,\n    DELETE_TRUCKS_REQUEST_ERROR,\n    DELETE_TRUCKS_REQUEST_SUCCESS,\n    FETCH_TRUCK_DETAILS_REQUEST_BEGIN,\n    FETCH_TRUCK_DETAILS_REQUEST_ERROR,\n    FETCH_TRUCK_DETAILS_REQUEST_SUCCESS,\n    FETCH_TRUCKS_PAGE_REQUEST_BEGIN,\n    FETCH_TRUCKS_PAGE_REQUEST_ERROR,\n    FETCH_TRUCKS_PAGE_REQUEST_SUCCESS,\n    FETCH_TRUCKS_STATS_REQUEST_BEGIN,\n    FETCH_TRUCKS_STATS_REQUEST_ERROR,\n    FETCH_TRUCKS_STATS_REQUEST_SUCCESS,\n    RESET_TRUCKS,\n    TrucksActionT,\n    TrucksStateT,\n    UPDATE_TRUCKS_REQUEST_BEGIN,\n    UPDATE_TRUCKS_REQUEST_ERROR,\n    UPDATE_TRUCKS_REQUEST_SUCCESS,\n    EXPORT_XLS_TRUCKS_REQUEST_SUCCESS,\n    IMPORT_XLS_TRUCKS_REQUEST_BEGIN,\n    IMPORT_XLS_TRUCKS_REQUEST_ERROR,\n    IMPORT_XLS_TRUCKS_REQUEST_SUCCESS,\n    EXPORT_XLS_TRUCKS_REQUEST_BEGIN,\n    EXPORT_XLS_TRUCKS_REQUEST_ERROR,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCompanyTrucksState: CompanyTrucksStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n    addRequest: requestStatus.initial,\n    deleteRequest: requestStatus.initial,\n    updateRequest: requestStatus.initial,\n    detailsById: {},\n    fetchDetailsRequest: requestStatus.initial,\n    stats: null,\n    fetchStatsRequest: requestStatus.initial,\n    importXLSRequest: requestStatus.initial,\n    exportXLSRequest: requestStatus.initial,\n};\n\nconst initialState: TrucksStateT = {};\n\nexport default (state = initialState, action: TrucksActionT | DestroySessionActionT): TrucksStateT => {\n    switch (action.type) {\n        case FETCH_TRUCKS_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageBeginReducer(companyState, pageNumber, query),\n                },\n            };\n        }\n\n        case FETCH_TRUCKS_PAGE_REQUEST_SUCCESS: {\n            const { query, pageNumber, pageResponse, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                [companyId]: {\n                    ...companyState,\n                    ...pageSuccessReducer(companyState, pageNumber, query, pageResponse),\n                },\n            };\n        }\n        case FETCH_TRUCKS_PAGE_REQUEST_ERROR: {\n            const { query, error, pageNumber, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageErrorReducer(companyState, pageNumber, query, error),\n                },\n            };\n        }\n\n        case ADD_TRUCK_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case ADD_TRUCK_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case ADD_TRUCK_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DELETE_TRUCKS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case DELETE_TRUCKS_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DELETE_TRUCKS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case RESET_TRUCKS: {\n            const { companyId, mutationListOptions } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...initialState,\n                [companyId]: {\n                    ...initialCompanyTrucksState,\n                    ...resetPagesCacheReducer(initialCompanyTrucksState, companyState, mutationListOptions),\n                },\n            };\n        }\n\n        case UPDATE_TRUCKS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case UPDATE_TRUCKS_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPDATE_TRUCKS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case FETCH_TRUCK_DETAILS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchDetailsRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_TRUCK_DETAILS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchDetailsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_TRUCK_DETAILS_REQUEST_SUCCESS: {\n            const { companyId, truckId, details } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchDetailsRequest: requestStatus.ok,\n                    detailsById: {\n                        ...companyState.detailsById,\n                        [truckId]: details,\n                    },\n                },\n            };\n        }\n\n        case FETCH_TRUCKS_STATS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchStatsRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_TRUCKS_STATS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchStatsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_TRUCKS_STATS_REQUEST_SUCCESS: {\n            const { companyId, stats } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchStatsRequest: requestStatus.ok,\n                    stats,\n                },\n            };\n        }\n\n        case IMPORT_XLS_TRUCKS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    importXLSRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case IMPORT_XLS_TRUCKS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    importXLSRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case IMPORT_XLS_TRUCKS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    importXLSRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case EXPORT_XLS_TRUCKS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    exportXLSRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case EXPORT_XLS_TRUCKS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    exportXLSRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case EXPORT_XLS_TRUCKS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrucksState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    exportXLSRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import { RFQsChangesStateT } from './types';\nimport { SharableStateT } from '../models';\n\nexport const selectRFQsChangesRequest = (state: SharableStateT): RFQsChangesStateT['request'] =>\n    state.rfqsChanges.request;\n","// extracted by mini-css-extract-plugin\nexport default {\"pin\":\"MapStackClusterPin__pin___ua93m\",\"wrap\":\"MapStackClusterPin__wrap___rDEu5\",\"fadeIn\":\"MapStackClusterPin__fadeIn___DouYk\",\"blinking\":\"MapStackClusterPin__blinking___NdDtH\"};","import * as React from 'react';\n\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { useTranslation } from 'react-i18next';\n\nexport type ExpandTriggerPropsT = {\n    isOpen: boolean;\n    spaces?: 'xxs' | 'xs' | 's';\n    onClick: (event: React.MouseEvent<HTMLElement>) => void;\n};\n\nconst ExpandTrigger: React.FC<ExpandTriggerPropsT> = (props) => {\n    const { isOpen, spaces = 'xs', onClick } = props;\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.topCenter}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                    {t(isOpen ? 'common:tooltips.collapse' : 'common:tooltips.expand')}\n                </TooltipContent>\n            }\n        >\n            {() => (\n                <TransparentTrigger\n                    spaces={spaces}\n                    onClick={onClick}\n                    leftIcon={<ExpandIcon fillColor={StyleGuideColorsEnum.brandAccent} isInvert={isOpen} />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n        </Tooltip>\n    );\n};\n\nexport default ExpandTrigger;\n","import {\n    ADD_MEMBER_REQUEST_BEGIN,\n    ADD_MEMBER_REQUEST_ERROR,\n    ADD_MEMBER_REQUEST_SUCCESS,\n    CompanyMembersStateT,\n    DELETE_MEMBER_REQUEST_BEGIN,\n    DELETE_MEMBER_REQUEST_ERROR,\n    DELETE_MEMBER_REQUEST_SUCCESS,\n    FETCH_CONTACT_DETAILS_REQUEST_BEGIN,\n    FETCH_CONTACT_DETAILS_REQUEST_ERROR,\n    FETCH_CONTACT_DETAILS_REQUEST_SUCCESS,\n    FETCH_CONTACTS_REQUEST_BEGIN,\n    FETCH_CONTACTS_REQUEST_ERROR,\n    FETCH_CONTACTS_REQUEST_SUCCESS,\n    MembersActionT,\n    MembersStateT,\n    UPDATE_MEMBER_REQUEST_BEGIN,\n    UPDATE_MEMBER_REQUEST_ERROR,\n    UPDATE_MEMBER_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport keyBy from 'lodash/keyBy';\nimport { isNonNil } from 'common/utils';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCompanyMembersState: CompanyMembersStateT = {\n    contactIds: null,\n    constantById: {},\n    fetchContactsRequest: requestStatus.initial,\n    addMemberRequest: requestStatus.initial,\n    deleteMemberRequest: requestStatus.initial,\n    updateMemberRequest: requestStatus.initial,\n};\n\nconst initialState: MembersStateT = {\n    byCompanyId: {},\n    fetchContactDetailsRequest: requestStatus.initial,\n    contactDetailsById: {},\n    contactIdByUserId: {},\n};\n\nexport default (state = initialState, action: MembersActionT | DestroySessionActionT): MembersStateT => {\n    switch (action.type) {\n        case FETCH_CONTACTS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        fetchContactsRequest: requestStatus.loading,\n                    },\n                },\n            };\n        }\n\n        case FETCH_CONTACTS_REQUEST_SUCCESS: {\n            const { companyId, companyContacts } = action;\n\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            const ids = companyContacts.map((contact) => contact?.id).filter(isNonNil);\n            const byId = keyBy(companyContacts, 'id');\n\n            const contactIdByUserId = ids.reduce<Record<UserIdT, ContactIdT>>((acc, id) => {\n                const contact = byId[id];\n\n                const userId = contact?.userId;\n                if (userId) {\n                    return {\n                        ...acc,\n                        [userId]: id,\n                    };\n                }\n\n                return acc;\n            }, {});\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        contactIds: ids,\n                        constantById: {\n                            ...companyState.constantById,\n                            ...byId,\n                        },\n                        fetchContactsRequest: requestStatus.ok,\n                    },\n                },\n                contactIdByUserId: {\n                    ...state.contactIdByUserId,\n                    ...contactIdByUserId,\n                },\n            };\n        }\n\n        case FETCH_CONTACTS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        fetchContactsRequest: requestStatus.setError(error),\n                    },\n                },\n            };\n        }\n\n        case ADD_MEMBER_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        addMemberRequest: requestStatus.loading,\n                    },\n                },\n            };\n        }\n\n        case ADD_MEMBER_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        addMemberRequest: requestStatus.ok,\n                    },\n                },\n            };\n        }\n\n        case ADD_MEMBER_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        addMemberRequest: requestStatus.setError(error),\n                    },\n                },\n            };\n        }\n\n        case DELETE_MEMBER_REQUEST_BEGIN: {\n            const { companyId } = action;\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        deleteMemberRequest: requestStatus.loading,\n                    },\n                },\n            };\n        }\n\n        case DELETE_MEMBER_REQUEST_SUCCESS: {\n            const { companyId } = action;\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        deleteMemberRequest: requestStatus.ok,\n                    },\n                },\n            };\n        }\n\n        case DELETE_MEMBER_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        deleteMemberRequest: requestStatus.setError(error),\n                    },\n                },\n            };\n        }\n\n        case UPDATE_MEMBER_REQUEST_BEGIN: {\n            const { companyId } = action;\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        updateMemberRequest: requestStatus.loading,\n                    },\n                },\n            };\n        }\n\n        case UPDATE_MEMBER_REQUEST_SUCCESS: {\n            const { companyId } = action;\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        updateMemberRequest: requestStatus.ok,\n                    },\n                },\n            };\n        }\n\n        case UPDATE_MEMBER_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state.byCompanyId[companyId] || initialCompanyMembersState;\n\n            return {\n                ...state,\n                byCompanyId: {\n                    ...state.byCompanyId,\n                    [companyId]: {\n                        ...companyState,\n                        updateMemberRequest: requestStatus.setError(error),\n                    },\n                },\n            };\n        }\n\n        case FETCH_CONTACT_DETAILS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchContactDetailsRequest: requestStatus.loading,\n            };\n        }\n\n        case FETCH_CONTACT_DETAILS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                fetchContactDetailsRequest: requestStatus.setError(error),\n            };\n        }\n\n        case FETCH_CONTACT_DETAILS_REQUEST_SUCCESS: {\n            const { contactId, details } = action;\n\n            const userId = details?.userId;\n\n            return {\n                ...state,\n                contactDetailsById: {\n                    ...state.contactDetailsById,\n                    [contactId]: details,\n                },\n                contactIdByUserId: {\n                    ...state.contactIdByUserId,\n                    ...(userId ? { [userId]: contactId } : {}),\n                },\n                fetchContactDetailsRequest: requestStatus.ok,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"TopBarContent__content___QRu1H\",\"left-content\":\"TopBarContent__left-content___EyOSk\",\"right-node\":\"TopBarContent__right-node___Tt09z\",\"left-node\":\"TopBarContent__left-node___DhwSM\",\"title\":\"TopBarContent__title___wTE_l\",\"fadeIn\":\"TopBarContent__fadeIn___IV6q1\",\"blinking\":\"TopBarContent__blinking___I49oC\"};","import { SharableStateT } from 'common/store/models';\nimport { ShipmentChangesByIdStateT, TourChangesByIdStateT, PapersEditByPaperIdStateT } from './slice';\nimport { ShipmentOptimisticAttachPaperT, TourOptimisticAttachPaperT } from './models';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\n\nconst initialShipmentChangesState: ShipmentChangesByIdStateT = {\n    optimisticPapers: [],\n};\n\nconst initialTourChangesState: TourChangesByIdStateT = {\n    optimisticPapers: [],\n};\n\nconst initialPapersEditByPaperIdState: PapersEditByPaperIdStateT = {\n    deleteRequest: requestStatus.initial,\n    uploadRequest: requestStatus.initial,\n};\n\nexport const selectShipmentChangesById =\n    (id?: ShipmentIdT | null | undefined) =>\n    (state: SharableStateT): ShipmentChangesByIdStateT =>\n        state.papersEdit.shipmentChangesById[id as ShipmentIdT] || initialShipmentChangesState;\n\nexport const selectTourChangesById =\n    (id?: TourIdT | null | undefined) =>\n    (state: SharableStateT): TourChangesByIdStateT =>\n        state.papersEdit.tourChangesById[id as TourIdT] || initialTourChangesState;\n\nexport const selectOptimisticPapersByShipmentId =\n    (id?: ShipmentIdT | null | undefined) =>\n    (state: SharableStateT): ShipmentOptimisticAttachPaperT[] =>\n        state.papersEdit.shipmentChangesById[id as ShipmentIdT]?.optimisticPapers || [];\n\nexport const selectOptimisticPapersByTourId =\n    (id?: TourIdT | null | undefined) =>\n    (state: SharableStateT): TourOptimisticAttachPaperT[] =>\n        state.papersEdit.tourChangesById[id as TourIdT]?.optimisticPapers || [];\n\nexport const selectPapersEditByPaperId =\n    (id?: PaperIdT | null | undefined) =>\n    (state: SharableStateT): PapersEditByPaperIdStateT =>\n        state.papersEdit.byId[id as PaperIdT] || initialPapersEditByPaperIdState;\n\nexport const selectUploadRequestStatus =\n    (id?: PaperIdT | null | undefined) =>\n    (state: SharableStateT): RequestStatusT =>\n        state.papersEdit.byId[id as PaperIdT]?.uploadRequest || initialPapersEditByPaperIdState.uploadRequest;\n\nexport const selectDeleteRequestStatus =\n    (id?: PaperIdT | null | undefined) =>\n    (state: SharableStateT): RequestStatusT =>\n        state.papersEdit.byId[id as PaperIdT]?.deleteRequest || initialPapersEditByPaperIdState.deleteRequest;\n\nexport const selectPapersEditByPaperIdState = (state: SharableStateT) => state.papersEdit.byId;\n","// extracted by mini-css-extract-plugin\nexport default {\"phone\":\"PhoneCell__phone___AC13C\",\"phone--isHalfOpacity\":\"PhoneCell__phone--isHalfOpacity___zse5G\",\"fadeIn\":\"PhoneCell__fadeIn___HtZsL\",\"blinking\":\"PhoneCell__blinking___wir0d\"};","import * as React from 'react';\nimport { Route, Switch, useParams } from 'react-router-dom';\nimport { AssetRoutesEnum, routesEnum } from 'broker-admin/constants';\nimport TruckDetailsPage from 'common/layouts/TruckDetailsPage/TruckDetailsPage';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport TrailerDetailsPage from 'common/layouts/TrailerDetailsPage/TrailerDetailsPage';\nimport PartnerContext from 'common/contexts/partner-context';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { parsePartnerTypeParam } from 'broker-admin/utils/urls-params';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport PartnerPermissionsContextProvider from 'broker-admin/components/PartnerPermissionsContextProvider/PartnerPermissionsContextProvider';\nimport { logWarning } from 'common/utils/logger';\n\ntype PropsT = {};\n\nconst AssetDetailsPage: React.FC<PropsT> = React.memo(() => {\n    const params = useParams<ExtractRouterRouteParamsT<typeof routesEnum.assetDetails>>();\n\n    const { partnerId } = params;\n    const partnerType = parsePartnerTypeParam(params.partnerType);\n\n    const partnerContextValue = React.useMemo(() => {\n        return {\n            partnerType: parsePartnerTypeParam(params.partnerType),\n            partnerId: params.partnerId,\n        };\n    }, [params.partnerId, params.partnerType]);\n\n    return (\n        <PartnerContext.Provider value={partnerContextValue}>\n            <PartnerPermissionsContextProvider partnerId={partnerContextValue.partnerId}>\n                <Switch>\n                    <Route path={AssetRoutesEnum.truckDetails}>\n                        <TruckDetailsPage\n                            onClose={() => {\n                                goBackIfHasRePath(\n                                    () => {\n                                        history.push(urlFactory.partnerTrucks(partnerType, partnerId));\n                                    },\n                                    {\n                                        shouldCloseSidebars: true,\n                                    },\n                                );\n                            }}\n                            onCloseMap={() => {\n                                goBackIfHasRePath(() => {\n                                    history.push(urlFactory.partnerTrucks(partnerType, partnerId));\n                                });\n                            }}\n                            onOpenTransportOrderDetails={(event) => {\n                                if (!event.transportationOrderId) {\n                                    logWarning(`Failed open transport order details from schedule`);\n                                    return;\n                                }\n\n                                history.push(\n                                    urlFactory.partnerTransportOrderDetails(\n                                        partnerType,\n                                        partnerId,\n                                        event.transportationOrderId,\n                                    ),\n                                );\n                            }}\n                        />\n                    </Route>\n                    <Route path={AssetRoutesEnum.trailerDetails}>\n                        <TrailerDetailsPage\n                            onClose={() => {\n                                goBackIfHasRePath(\n                                    () => {\n                                        history.push(urlFactory.partnerTrailers(partnerType, partnerId));\n                                    },\n                                    {\n                                        shouldCloseSidebars: true,\n                                    },\n                                );\n                            }}\n                            onCloseMap={() => {\n                                goBackIfHasRePath(() => {\n                                    history.push(urlFactory.partnerTrailers(partnerType, partnerId));\n                                });\n                            }}\n                            onOpenTransportOrderDetails={(event) => {\n                                if (!event.transportationOrderId) {\n                                    logWarning(`Failed open transport order details from schedule`);\n                                    return;\n                                }\n\n                                history.push(\n                                    urlFactory.partnerTransportOrderDetails(\n                                        partnerType,\n                                        partnerId,\n                                        event.transportationOrderId,\n                                    ),\n                                );\n                            }}\n                        />\n                    </Route>\n                </Switch>\n                <SideBars />\n            </PartnerPermissionsContextProvider>\n        </PartnerContext.Provider>\n    );\n});\n\nexport default AssetDetailsPage;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const driversRefreshChannel = new ViewEventChannel<{}>();\n\nexport const driversPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n\nexport const driverDetailsRefreshChannel = new ViewEventChannel<{\n    driverId: DriverIdT;\n    partnerId: PartnerIdT;\n}>();\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"DeactivateUserForm__fadeIn___h6HVB\",\"blinking\":\"DeactivateUserForm__blinking___ShwTp\"};","import * as React from 'react';\nimport AuthLayout from 'common/layouts/AuthLayout/AuthLayout';\nimport SignUpForm from 'common/components/SignUpForm/SignUpForm';\nimport { useTranslation } from 'react-i18next';\nimport RedirectSignedUser from 'common/components/RedirectSignedUser/RedirectSignedUser';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\n\ntype PropsT = {};\n\nconst SignUpPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    return (\n        <>\n            <RedirectSignedUser />\n            <AuthLayout testSelector=\"sign-up-page\">\n                <PageTitle title={t('common:page-titles.sign-up')} />\n                <SignUpForm\n                    titleSignUpUser={t('sign-up.user-form.title')}\n                    titleSignUpCompany={t('sign-up.company-form.title')}\n                />\n            </AuthLayout>\n        </>\n    );\n});\n\nexport default SignUpPage;\n","import * as React from 'react';\n\nimport styles from './QuickTimeWindowLink.scss';\nimport classNames from 'classnames/bind';\nimport find from 'lodash/find';\nimport { RangeIdSetEnum } from '../constants';\nimport { useTranslation } from 'react-i18next';\nimport { ReservePreviewT } from 'common/store/order-creation/models';\nimport isNumber from 'lodash/isNumber';\nimport { RangeSelectorRangeT } from 'common/components/RangeSelector/RangeSelector';\nimport LinkButton, { LinkButtonHeightEnum, LinkButtonThemeEnum } from 'common/components/LinkButton/LinkButton';\n\ntype PropsT = {\n    values: TimeWindowT | null;\n    routePointIndex: number;\n    ranges: RangeSelectorRangeT[];\n    onClick: (date: string | null | undefined) => void;\n    reservePreview: ReservePreviewT | null;\n    isDisabled?: boolean;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst INVERSE_MAP: Record<RangeIdSetEnum, RangeIdSetEnum | null> = {\n    [RangeIdSetEnum.urgentPickUp]: RangeIdSetEnum.regularPickUp,\n    [RangeIdSetEnum.regularPickUp]: RangeIdSetEnum.urgentPickUp,\n    [RangeIdSetEnum.teamDriveDropOff]: RangeIdSetEnum.regularDropOff,\n    [RangeIdSetEnum.layoverDropOff]: RangeIdSetEnum.teamDriveDropOff,\n    [RangeIdSetEnum.regularDropOff]: RangeIdSetEnum.teamDriveDropOff,\n    [RangeIdSetEnum.broker]: null,\n};\n\nconst checkHasInverseRange = (\n    reservePreview: ReservePreviewT | null,\n    routePointIndex: number,\n    inverseRangeId: string | null | undefined,\n): boolean => {\n    if (!inverseRangeId) {\n        return false;\n    }\n\n    if (inverseRangeId === RangeIdSetEnum.urgentPickUp) {\n        return !!reservePreview?.timeWindows?.[routePointIndex]?.urgentTimeWindow?.start;\n    }\n\n    if (inverseRangeId === RangeIdSetEnum.regularPickUp) {\n        return !!reservePreview?.timeWindows?.[routePointIndex]?.regularTimeWindow?.start;\n    }\n\n    if (inverseRangeId === RangeIdSetEnum.teamDriveDropOff) {\n        return !!reservePreview?.timeWindows?.[routePointIndex]?.urgentTimeWindow?.start;\n    }\n\n    if (inverseRangeId === RangeIdSetEnum.regularDropOff) {\n        return !!reservePreview?.timeWindows?.[routePointIndex]?.regularTimeWindow?.start;\n    }\n\n    return false;\n};\n\nconst QuickTimeWindowLink: React.FC<PropsT> = React.memo((props) => {\n    const { values, routePointIndex, ranges, onClick, reservePreview, isDisabled } = props;\n\n    const { t } = useTranslation();\n\n    let inverseRangeId: RangeIdSetEnum | null = null;\n\n    if (values) {\n        const currentRange = find(ranges, (range) => {\n            const [start, end] = range?.values || [];\n            return isNumber(start) && isNumber(end) && start <= values[0] && values[0] < end;\n        });\n\n        inverseRangeId = INVERSE_MAP[currentRange?.id as RangeIdSetEnum];\n    }\n\n    const hasInverseRange = checkHasInverseRange(reservePreview, routePointIndex, inverseRangeId);\n\n    if (!hasInverseRange) {\n        return null;\n    }\n\n    const labels = {\n        [RangeIdSetEnum.urgentPickUp]: t('common:time-windows-links.urgent-pickup'),\n        [RangeIdSetEnum.regularPickUp]: t('common:time-windows-links.regular-pickup'),\n        [RangeIdSetEnum.teamDriveDropOff]: t('common:time-windows-links.team-drive'),\n        [RangeIdSetEnum.regularDropOff]: t('common:time-windows-links.regular-drive'),\n        [RangeIdSetEnum.layoverDropOff]: t('common:time-windows-links.layover-drop-off'),\n        [RangeIdSetEnum.broker]: null,\n    };\n\n    if (!inverseRangeId) {\n        return null;\n    }\n\n    const handleClick = () => {\n        if (inverseRangeId === RangeIdSetEnum.urgentPickUp || inverseRangeId === RangeIdSetEnum.teamDriveDropOff) {\n            onClick(reservePreview?.timeWindows?.[routePointIndex]?.urgentTimeWindow?.start);\n        }\n\n        if (inverseRangeId === RangeIdSetEnum.regularPickUp || inverseRangeId === RangeIdSetEnum.regularDropOff) {\n            onClick(reservePreview?.timeWindows?.[routePointIndex]?.regularTimeWindow?.start);\n        }\n    };\n\n    return (\n        <LinkButton\n            theme={LinkButtonThemeEnum.brandDark}\n            height={LinkButtonHeightEnum.narrow}\n            onClick={() => handleClick()}\n            isDisabled={isDisabled}\n        >\n            {labels[inverseRangeId]}\n        </LinkButton>\n    );\n});\n\nexport default QuickTimeWindowLink;\n","export enum FieldsEnum {\n    spotRequestLimit = 'SPOT_REQUEST_LIMIT',\n    expiresSoonAlert = 'EXPIRES_SOON_ALERT',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.spotRequestLimit]: string;\n    [FieldsEnum.expiresSoonAlert]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnerSuggest__fadeIn___DfeBm\",\"blinking\":\"PartnerSuggest__blinking___mdIOt\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './OverlaysManager.scss';\nimport { NotificationToastRendererT } from 'common/components/toasts/NotificationToastsManager/models';\nimport { NotificationLinkFactoryT } from 'common/components/notifications/NotificationsBarContent/models';\nimport NotificationToastsManager from 'common/components/toasts/NotificationToastsManager/NotificationToastsManager';\nimport NotificationsDebugForm from 'common/components/OverlaysManager/NotificationsDebugForm/NotificationsDebugForm';\nimport AlertToastsManager from '../toasts/AlertToastsManager/AlertToastsManager';\nimport { AlertToastRendererT } from 'common/components/toasts/AlertToastsManager/models';\nimport AlertsDebugForm from './AlertsDebugForm/AlertsDebugForm';\nimport DevLocalizationLanguageSwitcher from './DevLocalizationLanguageSwitcher/DevLocalizationLanguageSwitcher';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    renderAlertToast: AlertToastRendererT;\n    renderNotificationToast: NotificationToastRendererT;\n    getNotificationLink: NotificationLinkFactoryT;\n};\n\nconst OverlaysManager: React.FC<PropsT> = React.memo((props) => {\n    const { renderAlertToast, renderNotificationToast, getNotificationLink } = props;\n\n    return (\n        <>\n            <NotificationToastsManager\n                renderNotificationToast={renderNotificationToast}\n                getNotificationLink={getNotificationLink}\n                className={cx('notification-toasts-manger')}\n            />\n            <DevLocalizationLanguageSwitcher className={cx('dev-localization-language-switcher')} />\n            <NotificationsDebugForm className={cx('debug-notifications-form')} />\n            <AlertToastsManager className={cx('alerts-manager')} renderAlertToast={renderAlertToast} />\n            <AlertsDebugForm className={cx('debug-alerts-form')} />\n        </>\n    );\n});\n\nexport default OverlaysManager;\n","import {\n    ADD_TRAILER_REQUEST_BEGIN,\n    ADD_TRAILER_REQUEST_ERROR,\n    ADD_TRAILER_REQUEST_SUCCESS,\n    CompanyTrailersStateT,\n    DELETE_TRAILERS_REQUEST_BEGIN,\n    DELETE_TRAILERS_REQUEST_ERROR,\n    DELETE_TRAILERS_REQUEST_SUCCESS,\n    FETCH_TRAILER_DETAILS_REQUEST_BEGIN,\n    FETCH_TRAILER_DETAILS_REQUEST_ERROR,\n    FETCH_TRAILER_DETAILS_REQUEST_SUCCESS,\n    FETCH_TRAILERS_PAGE_REQUEST_BEGIN,\n    FETCH_TRAILERS_PAGE_REQUEST_ERROR,\n    FETCH_TRAILERS_PAGE_REQUEST_SUCCESS,\n    FETCH_TRAILERS_STATS_REQUEST_BEGIN,\n    FETCH_TRAILERS_STATS_REQUEST_ERROR,\n    FETCH_TRAILERS_STATS_REQUEST_SUCCESS,\n    IMPORT_XLS_TRAILERS_REQUEST_BEGIN,\n    RESET_TRAILERS,\n    TrailersActionT,\n    TrailersStateT,\n    UPDATE_TRAILERS_REQUEST_BEGIN,\n    UPDATE_TRAILERS_REQUEST_ERROR,\n    UPDATE_TRAILERS_REQUEST_SUCCESS,\n    IMPORT_XLS_TRAILERS_REQUEST_ERROR,\n    IMPORT_XLS_TRAILERS_REQUEST_SUCCESS,\n    EXPORT_XLS_TRAILERS_REQUEST_BEGIN,\n    EXPORT_XLS_TRAILERS_REQUEST_ERROR,\n    EXPORT_XLS_TRAILERS_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCompanyTrailersState: CompanyTrailersStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n    addRequest: requestStatus.initial,\n    deleteRequest: requestStatus.initial,\n    updateRequest: requestStatus.initial,\n    detailsById: {},\n    fetchDetailsRequest: requestStatus.initial,\n    stats: null,\n    fetchStatsRequest: requestStatus.initial,\n    importXLSRequest: requestStatus.initial,\n    exportXLSRequest: requestStatus.initial,\n};\n\nconst initialState: TrailersStateT = {};\n\nexport default (state = initialState, action: TrailersActionT | DestroySessionActionT): TrailersStateT => {\n    switch (action.type) {\n        case FETCH_TRAILERS_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageBeginReducer(companyState, pageNumber, query),\n                },\n            };\n        }\n\n        case RESET_TRAILERS: {\n            const { companyId, mutationListOptions } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...initialState,\n                [companyId]: {\n                    ...companyState,\n                    ...resetPagesCacheReducer(initialCompanyTrailersState, companyState, mutationListOptions),\n                },\n            };\n        }\n\n        case FETCH_TRAILERS_PAGE_REQUEST_SUCCESS: {\n            const { query, pageNumber, pageResponse, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageSuccessReducer(companyState, pageNumber, query, pageResponse),\n                },\n            };\n        }\n        case FETCH_TRAILERS_PAGE_REQUEST_ERROR: {\n            const { query, error, pageNumber, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageErrorReducer(companyState, pageNumber, query, error),\n                },\n            };\n        }\n\n        case ADD_TRAILER_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case ADD_TRAILER_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case ADD_TRAILER_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    addRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DELETE_TRAILERS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case DELETE_TRAILERS_REQUEST_ERROR: {\n            const { error, companyId } = action;\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DELETE_TRAILERS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    deleteRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case UPDATE_TRAILERS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case UPDATE_TRAILERS_REQUEST_ERROR: {\n            const { error, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPDATE_TRAILERS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    updateRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case FETCH_TRAILER_DETAILS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchDetailsRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_TRAILER_DETAILS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchDetailsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_TRAILER_DETAILS_REQUEST_SUCCESS: {\n            const { companyId, trailerId, details } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchDetailsRequest: requestStatus.ok,\n                    detailsById: {\n                        ...companyState.detailsById,\n                        [trailerId]: details,\n                    },\n                },\n            };\n        }\n\n        case FETCH_TRAILERS_STATS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchStatsRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_TRAILERS_STATS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchStatsRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_TRAILERS_STATS_REQUEST_SUCCESS: {\n            const { companyId, stats } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    fetchStatsRequest: requestStatus.ok,\n                    stats,\n                },\n            };\n        }\n\n        case IMPORT_XLS_TRAILERS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    importXLSRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case IMPORT_XLS_TRAILERS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    importXLSRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case IMPORT_XLS_TRAILERS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    importXLSRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case EXPORT_XLS_TRAILERS_REQUEST_BEGIN: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    exportXLSRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case EXPORT_XLS_TRAILERS_REQUEST_ERROR: {\n            const { companyId, error } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    exportXLSRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case EXPORT_XLS_TRAILERS_REQUEST_SUCCESS: {\n            const { companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyTrailersState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    exportXLSRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport mapValues from 'lodash/mapValues';\nimport keyBy from 'lodash/keyBy';\nimport {\n    DictCarrierAdditionalServiceGroupByTrailerTypeT,\n    DictCarrierAdditionalServiceGroupT,\n    DictCarrierAdditionalServiceMapByTrailerTypeT,\n} from './models';\nimport { ANY_TRAILER_TYPE } from 'common/store/additional-services-dict/constants';\n\nexport type AdditionalServicesDictStateT = {\n    byTrailerType: DictCarrierAdditionalServiceGroupByTrailerTypeT | null;\n    mapByTrailerType: DictCarrierAdditionalServiceMapByTrailerTypeT | null;\n    fetchRequest: RequestStatusT;\n};\n\nconst initialState: AdditionalServicesDictStateT = {\n    fetchRequest: requestStatus.initial,\n    byTrailerType: null,\n    mapByTrailerType: null,\n};\n\nexport const additionalServicesDictSlice = createSlice({\n    name: 'additionalServicesDict',\n    initialState,\n    reducers: {\n        fetchAdditionalServices: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n        ) => {\n            // nothing - handled by saga\n        },\n        fetchAdditionalServicesBegin: (state) => {\n            state.fetchRequest = requestStatus.loading;\n        },\n        fetchAdditionalServicesSuccess: (\n            state,\n            action: PayloadAction<{\n                additionalServiceGroups: DictCarrierAdditionalServiceGroupT[] | null;\n            }>,\n        ) => {\n            const { additionalServiceGroups } = action.payload;\n\n            if (additionalServiceGroups) {\n                const commonGroups = additionalServiceGroups?.filter((group) => !group.trailerType);\n\n                const byTrailerType = additionalServiceGroups.reduce<DictCarrierAdditionalServiceGroupByTrailerTypeT>(\n                    (acc, group) => {\n                        const { trailerType } = group;\n                        if (trailerType) {\n                            if (!acc[trailerType]) {\n                                acc[trailerType] = [...commonGroups];\n                            }\n\n                            acc[trailerType].push(group);\n                        }\n\n                        return acc;\n                    },\n                    {\n                        [ANY_TRAILER_TYPE]: [...commonGroups],\n                    },\n                );\n\n                const mapByTrailerType = mapValues(byTrailerType, (groups) => {\n                    const allServices = groups?.flatMap((group) => group.services);\n\n                    return keyBy(allServices, 'service');\n                }) as DictCarrierAdditionalServiceMapByTrailerTypeT;\n\n                state.byTrailerType = byTrailerType;\n                state.mapByTrailerType = mapByTrailerType;\n            } else {\n                state.byTrailerType = null;\n                state.mapByTrailerType = null;\n            }\n\n            state.fetchRequest = requestStatus.ok;\n        },\n        fetchAdditionalServicesError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n            state.fetchRequest = requestStatus.setError(error);\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchAdditionalServices,\n    fetchAdditionalServicesBegin,\n    fetchAdditionalServicesSuccess,\n    fetchAdditionalServicesError,\n} = additionalServicesDictSlice.actions;\n\nexport default additionalServicesDictSlice.reducer;\n","import React, { useCallback } from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport TruckIcon, { TruckIconProps } from 'common/icons/TruckIcon';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport { useTranslation } from 'react-i18next';\nimport {\n    AsyncRequestFactoryResultT,\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport { ApiTruckAssetT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport TruckOptionLabel from './TruckOptionLabel/TruckOptionLabel';\nimport TruckTriggerLabel from './TruckTriggerLabel/TruckTriggerLabel';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { logWarning } from 'common/utils/logger';\n\ntype OptionT = ApiTruckAssetT;\n\ntype ValueT = ApiTruckAssetT | null;\n\nexport type PropsT = {\n    initialValue: ValueT;\n    onSelect: (value: ValueT) => void;\n    value: ValueT;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    hasSuccess?: InputPropsT['hasSuccess'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    onKeyUp?: InputPropsT['onKeyUp'];\n    isDisabled?: InputPropsT['isDisabled'];\n    isFocused?: InputPropsT['isFocused'];\n    hasChanges?: boolean;\n};\n\nconst TrucksSuggest: React.FC<PropsT> = (props) => {\n    const {\n        initialValue,\n        value,\n        onSelect,\n        hasSuccess,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        onBlur,\n        onFocus,\n        hasChanges,\n        placeholder,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT> = useCallback((query) => {\n        return brokerTranziitApi\n            .getDeadheadTrucks({\n                truckPlateNumber: (query || '').trim(),\n            })\n            .then((response): AsyncRequestFactoryResultT<OptionT> => {\n                const [error, result] = response;\n                if (error) {\n                    return [error, null];\n                }\n\n                return [null, result?.content || []];\n            });\n    }, []);\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<OptionT>({\n        initialOptions: initialValue ? [initialValue] : [],\n        requestFactory,\n        settings: {},\n    });\n\n    const renderTruckOption = (option: OptionT) => {\n        const assetId = option.id;\n        if (!assetId) {\n            return null;\n        }\n\n        return (\n            <TruckOptionLabel\n                isInvalid={Boolean(option?.invalidReason)}\n                model={option.model}\n                plateNumber={option.plateNumber}\n                price={t('assignment.rate', { rate: option.ratePerKm })}\n                rateMode={option.rateMode || null}\n                isAssetUtilizationLoading={false}\n                assetUtilizationPercent={option.assetUtilization}\n                carrierUtilizationPercent={option.carrierUtilization}\n                isCarrierUtilizationLoading={false}\n            />\n        );\n    };\n\n    const renderTruckTrigger = (option: OptionT | undefined, placeholder?: React.ReactNode) => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <TruckTriggerLabel\n                model={option?.model}\n                plateNumber={option?.plateNumber}\n                ratePerKm={option?.ratePerKm}\n                rateMode={option?.rateMode}\n                resetTooltipNode={t('assignment.tooltips.clear-truck')}\n                isDisabled={!!isDisabled}\n                onReset={() => {\n                    onSelect(null);\n                }}\n                onOpenDetails={() => {\n                    const truckId = option?.id;\n                    if (!truckId) {\n                        logWarning('Empty truckId');\n                        return;\n                    }\n\n                    if (!option?.carrierId) {\n                        logWarning('Empty option?.carrierId');\n                        return;\n                    }\n\n                    openLeftSidebar(\n                        {\n                            type: CommonSidebarsTypeEnum.truckDetails,\n                            truckId,\n                            partnerId: option?.carrierId,\n                            isReadOnly: true,\n                            isDisableShowOnMap: true,\n                        },\n                        {\n                            isForceShowBackAction: true,\n                        },\n                    );\n                }}\n            />\n        );\n    };\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            selectedValue={value}\n            options={asyncOptionsRequest.options}\n            onSelect={onSelect}\n            renderTrigger={renderTruckTrigger}\n            renderOption={renderTruckOption}\n            getOptionValue={(option) => option}\n            onChangeQuery={asyncOptionsRequest.onChangeQuery}\n            isLoading={asyncOptionsRequest.requestStatus.loading}\n            renderLeftIcon={(iconMeta) => <TruckIcon {...TruckIconProps.getControlProps(iconMeta)} />}\n            hasWarning={hasWarning}\n            hasSuccess={hasSuccess}\n            hasError={hasError}\n            overlayPosition={overlayPosition}\n            isDisabled={isDisabled}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            hasChanges={hasChanges}\n            placeholder={placeholder}\n        />\n    );\n};\n\nexport default TrucksSuggest;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"CarrierWithUtilizationDropdownOption__option___sfZGs\",\"name\":\"CarrierWithUtilizationDropdownOption__name___rPrDl\",\"indicator\":\"CarrierWithUtilizationDropdownOption__indicator___EdVXr\",\"utilization\":\"CarrierWithUtilizationDropdownOption__utilization___QDDKx\",\"spacer\":\"CarrierWithUtilizationDropdownOption__spacer_____EF7\",\"fadeIn\":\"CarrierWithUtilizationDropdownOption__fadeIn___UTMug\",\"blinking\":\"CarrierWithUtilizationDropdownOption__blinking___V4fcS\"};","import * as React from 'react';\nimport { CurrencyEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport { TourTypeTabsEnum } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/TourTypeTabs/constants';\nimport isNumber from 'lodash/isNumber';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { SelfCostPredictionT } from 'broker-admin/store/broker-order-assigment/models';\nimport { getDiffPercent, getValuesDiff } from 'common/utils/percents';\nimport { moneyOperations } from 'common/utils/money';\nimport TourTypeTabsLayout, {\n    TourTypeTabConfigT,\n} from 'broker-admin/components/tour-receipt-details/TourTypeTabsLayout/TourTypeTabsLayout';\n\ntype PropsT = {\n    className?: string;\n    isLoading?: boolean;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n    selfCostPrediction?: SelfCostPredictionT | null;\n    selectedTourTypeTab: TourTypeTabsEnum;\n    onSelectTourTypeTab: (tourTab: TourTypeTabsEnum) => void;\n};\n\nconst summTotalCostIfNeed = (\n    truckTransportOrderId: TransportOrderIdT | undefined,\n    truckCostDetailsTotalCost: number | undefined,\n    trailerTransportOrderId: TransportOrderIdT | undefined,\n    trailerCostDetailsTotalCost: number | undefined,\n) => {\n    if (truckTransportOrderId && trailerTransportOrderId && truckTransportOrderId === trailerTransportOrderId) {\n        return truckCostDetailsTotalCost || 0;\n    }\n\n    return moneyOperations.notStrictPlus(\n        truckCostDetailsTotalCost || 0,\n        trailerCostDetailsTotalCost || 0,\n        CurrencyEnum.EUR,\n    );\n};\n\nconst TourTypeTabs: React.FC<PropsT> = React.memo((props) => {\n    const { className, isLoading, selectedTourTypeTab, onSelectTourTypeTab, brokerOrderDetails, selfCostPrediction } =\n        props;\n\n    const estimateCost = brokerOrderDetails?.priceOffer?.totalPrice;\n    const actualCost = selfCostPrediction?.calculatedSumCost?.totalCost;\n\n    const nextCost = summTotalCostIfNeed(\n        selfCostPrediction?.truckNextTransportationOrderInfo?.id,\n        selfCostPrediction?.truckNextTourOldCostDetails?.totalCost,\n        selfCostPrediction?.trailerNextTransportationOrderInfo?.id,\n        selfCostPrediction?.trailerNextTourOldCostDetails?.totalCost,\n    );\n\n    const actualNextCost = summTotalCostIfNeed(\n        selfCostPrediction?.truckNextTransportationOrderInfo?.id,\n        selfCostPrediction?.truckNextTourNewCostDetails?.totalCost,\n        selfCostPrediction?.trailerNextTransportationOrderInfo?.id,\n        selfCostPrediction?.trailerNextTourNewCostDetails?.totalCost,\n    );\n\n    const costDiff = getValuesDiff(actualNextCost, nextCost);\n    const actualNextPercentDiff = getDiffPercent(costDiff, nextCost);\n\n    const { t } = useTranslation();\n\n    const isShowNextTour = Boolean(nextCost) || Boolean(actualNextCost);\n    React.useEffect(() => {\n        if (!isShowNextTour && selectedTourTypeTab === TourTypeTabsEnum.next) {\n            onSelectTourTypeTab(TourTypeTabsEnum.current);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isShowNextTour]);\n\n    const tabsConfig: Array<TourTypeTabConfigT<TourTypeTabsEnum>> = [\n        {\n            type: TourTypeTabsEnum.current,\n            title: t('assignment.tout-type-tabs.current-tour'),\n            rows: [\n                {\n                    moneyDiffProps: {\n                        value: estimateCost,\n                        baseValue: estimateCost,\n                    },\n                    title: t('assignment.tout-type-tabs.target-tour-cost'),\n                    cost: estimateCost,\n                },\n                {\n                    moneyDiffProps: {\n                        value: actualCost,\n                        baseValue: estimateCost,\n                    },\n                    coloredDiffProps: {\n                        isNotActual: isLoading,\n                    },\n                    title: t('assignment.tout-type-tabs.actual-tour-cost'),\n                    cost: actualCost,\n                },\n            ],\n        },\n    ];\n\n    if (isShowNextTour) {\n        tabsConfig.push({\n            type: TourTypeTabsEnum.next,\n            title: t('assignment.tout-type-tabs.next-tour'),\n            titleTooltip: t('assignment.tout-type-tabs.next-tour-tooltip-note'),\n            rows: [\n                {\n                    moneyDiffProps: {\n                        value: nextCost,\n                        baseValue: nextCost,\n                    },\n                    title: t('assignment.tout-type-tabs.planned-next-tour-cost'),\n                    cost: nextCost || null,\n                },\n                {\n                    moneyDiffProps: {\n                        value: actualNextCost,\n                        baseValue: nextCost,\n                    },\n                    coloredDiffProps: {\n                        isNotActual: isLoading,\n                    },\n                    title: t('assignment.tout-type-tabs.updated-next-tour-cost'),\n                    cost: actualNextCost || null,\n                    percentDiffPill:\n                        isNumber(actualNextPercentDiff) && actualNextPercentDiff\n                            ? {\n                                  isNotActual: isLoading,\n                                  percentDiff: actualNextPercentDiff,\n                              }\n                            : null,\n                },\n            ],\n        });\n    }\n\n    return (\n        <TourTypeTabsLayout\n            selectedType={selectedTourTypeTab}\n            onSelectType={onSelectTourTypeTab}\n            className={className}\n            tabsConfig={tabsConfig}\n        />\n    );\n});\n\nexport default TourTypeTabs;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsChangesT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst prepareApiSystemSettings = (formValues: FormValuesT): SystemSettingsChangesT => {\n    return {\n        TRANSPORTATION_ORDER_HAS_NO_DRIVER_ALERT_TIME: formValues[FieldsEnum.transportationOrderHasNoDriverAlertTime],\n        RUN_OUT_OF_TIME_TO_ASSIGN_DRIVER_LIMIT: formValues[FieldsEnum.assignDriverLimitAlert],\n        ALLOWED_GAP_TO_BE_DELAYED: formValues[FieldsEnum.allowedGAPToBeDelayed],\n        DELETE_NOTIFICATIONS_OLDER_DAYS: formValues[FieldsEnum.deleteNotificationsOlderDays],\n        DOC_EXPIRES_SOON_ALERT: formValues[FieldsEnum.docExpiresSoonAlert],\n        RUN_OUT_OF_TIME_TO_ASSIGN_ASSETS_LIMIT: formValues[FieldsEnum.assignAssetLimitAlert],\n        TRANSPORTATION_ORDER_HAS_NO_ASSETS_ALERT_TIME: formValues[FieldsEnum.transportationOrderHasNoAssetsAlertTime],\n        RADIUS_AROUND_WAYPOINT_METERS: formValues[FieldsEnum.radiusAroundWaypointM],\n        TIME_LIMIT_TO_CANCEL_ORDER_HOURS: formValues[FieldsEnum.timeLimitToCancelOrderHours],\n        TIME_LIMIT_TO_CANCEL_TRANSPORTATION_ORDER_HOURS:\n            formValues[FieldsEnum.timeLimitToCancelTransportationOrderHours],\n    };\n};\n\nexport default prepareApiSystemSettings;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ListPageHeaderTabsLayout__content___cBA3s\",\"fadeIn\":\"ListPageHeaderTabsLayout__fadeIn___j6ePq\",\"blinking\":\"ListPageHeaderTabsLayout__blinking___r96dj\"};","import { RequestStatusT } from 'common/utils/request-status';\nimport { CarrierUtilizationT } from './models';\n\nexport const FETCH_UTILIZATION_REQUEST = 'common/carriers-utilization/FETCH_UTILIZATION_REQUEST';\nexport const FETCH_UTILIZATION_REQUEST_BEGIN = 'common/carriers-utilization/FETCH_UTILIZATION_REQUEST_BEGIN';\nexport const FETCH_UTILIZATION_REQUEST_ERROR = 'common/carriers-utilization/FETCH_UTILIZATION_REQUEST_ERROR';\nexport const FETCH_UTILIZATION_REQUEST_SUCCESS = 'common/carriers-utilization/FETCH_UTILIZATION_REQUEST_SUCCESS';\nexport const RESET = 'common/carriers-utilization/RESET';\n\nexport type CarriersUtilizationStateT = {\n    fetchRequest: RequestStatusT;\n    byHash: Record<string, CarrierUtilizationT | null>;\n};\n\nexport type FetchCarrierUtilizationActionT = {\n    type: typeof FETCH_UTILIZATION_REQUEST;\n    ids: CarrierIdT[];\n    date: string;\n};\n\nexport type FetchCarrierUtilizationBeginActionT = {\n    type: typeof FETCH_UTILIZATION_REQUEST_BEGIN;\n};\n\nexport type FetchCarrierUtilizationSuccessActionT = {\n    type: typeof FETCH_UTILIZATION_REQUEST_SUCCESS;\n    ids: CarrierIdT[];\n    date: string;\n    utilizations: Array<CarrierUtilizationT>;\n};\n\nexport type FetchCarrierUtilizationErrorActionT = {\n    type: typeof FETCH_UTILIZATION_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type CarrierUtilizationResetActionT = {\n    type: typeof RESET;\n};\n\nexport type CarriersUtilizationActionT =\n    | FetchCarrierUtilizationActionT\n    | FetchCarrierUtilizationBeginActionT\n    | FetchCarrierUtilizationSuccessActionT\n    | FetchCarrierUtilizationErrorActionT\n    | CarrierUtilizationResetActionT;\n","// extracted by mini-css-extract-plugin\nexport default {\"table--id\":\"TourDetailsCard__table--id___gFRhS\",\"table--carrier\":\"TourDetailsCard__table--carrier___mMtS0\",\"table--waypoint\":\"TourDetailsCard__table--waypoint___NQJgV\",\"table--spot\":\"TourDetailsCard__table--spot___Ig6fT\",\"table\":\"TourDetailsCard__table___E7Twv\",\"fadeIn\":\"TourDetailsCard__fadeIn___Gm6kv\",\"blinking\":\"TourDetailsCard__blinking___iciz_\"};","import { QueryFiltersT, QueryFiltersKeysEnum } from '../query-models';\nimport { FormValuesT, FieldsEnum } from './constants';\nimport { getDateFromDate, getEndDayFromDateZero, getStartDayFromDateZero } from 'common/utils/time';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {};\n\n    if (values[FieldsEnum.carrierIds]) {\n        queryFilters[QueryFiltersKeysEnum.carrierIds] = values[FieldsEnum.carrierIds] || [];\n    }\n\n    if (values[FieldsEnum.carrierNames]) {\n        queryFilters[QueryFiltersKeysEnum.carrierNames] = values[FieldsEnum.carrierNames] || [];\n    }\n\n    if (values[FieldsEnum.originAddress]) {\n        queryFilters[QueryFiltersKeysEnum.originAddress] = values[FieldsEnum.originAddress];\n    }\n\n    if (values[FieldsEnum.destinationAddress]) {\n        queryFilters[QueryFiltersKeysEnum.destinationAddress] = values[FieldsEnum.destinationAddress];\n    }\n\n    const originDates = values[FieldsEnum.originDates];\n    if (originDates?.from) {\n        const date = getDateFromDate(originDates.from);\n        queryFilters[QueryFiltersKeysEnum.originDateFrom] = getStartDayFromDateZero(date);\n    }\n    if (originDates?.to) {\n        const date = getDateFromDate(originDates.to);\n        queryFilters[QueryFiltersKeysEnum.originDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const destinationDates = values[FieldsEnum.destinationDates];\n    if (destinationDates?.from) {\n        const date = getDateFromDate(destinationDates.from);\n        queryFilters[QueryFiltersKeysEnum.destinationDateFrom] = getStartDayFromDateZero(date);\n    }\n    if (destinationDates?.to) {\n        const date = getDateFromDate(destinationDates.to);\n        queryFilters[QueryFiltersKeysEnum.destinationDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const creationDates = values[FieldsEnum.creationDates];\n    if (creationDates?.from) {\n        const date = getDateFromDate(creationDates.from);\n        queryFilters[QueryFiltersKeysEnum.dateCreatedFrom] = getStartDayFromDateZero(date);\n    }\n    if (creationDates?.to) {\n        const date = getDateFromDate(creationDates.to);\n        queryFilters[QueryFiltersKeysEnum.dateCreatedTo] = getEndDayFromDateZero(date);\n    }\n\n    if (values[FieldsEnum.tourTypes]) {\n        queryFilters[QueryFiltersKeysEnum.tourTypes] = values[FieldsEnum.tourTypes] || [];\n    }\n\n    if (values[FieldsEnum.plateNumber]) {\n        queryFilters[QueryFiltersKeysEnum.plateNumber] = values[FieldsEnum.plateNumber];\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"CountryDropdown__fadeIn___J6c_L\",\"blinking\":\"CountryDropdown__blinking___c730Y\"};","import { ApiEditOrderContextT, ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { ContextRoutePointHashT } from 'broker-admin/store/order-edit/models';\nimport { getContextRoutePointHash } from 'broker-admin/store/order-edit/utils/get-context-route-point-hash';\n\nexport const findContextStopByHash = (\n    context: ApiEditOrderContextT | null,\n    routePointHash: ContextRoutePointHashT,\n): ApiTourUpdateStopDataT | null => {\n    const allStops =\n        context?.tours?.flatMap((tour) => {\n            return tour?.stops || [];\n        }) || [];\n\n    return (\n        allStops.find((stop) => {\n            return getContextRoutePointHash(stop) === routePointHash;\n        }) || null\n    );\n};\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor?: StyleGuideColorsEnum;\n    size: number;\n    className?: string;\n};\n\nconst DoneIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, size, ...restProps } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 40 40\" {...restProps}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M2 2h36v36H2z\" />\n                <path fill={fillColor} d=\"M15.5 26.3L9.2 20l-2.1 2.1 8.4 8.4 18-18-2.1-2.1z\" />\n            </g>\n        </svg>\n    );\n};\n\nDoneIcon.displayName = 'DoneIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default DoneIcon;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BasicWidgetHeaderActions.scss';\nimport { PartnerDetailsT } from 'broker-admin/store/partner/details/models';\nimport ColoredStatusLabel from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport LockIcon from 'common/icons/LockIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport isNil from 'lodash/isNil';\nimport { LockPartnerConfirmationDataT } from '../dialogs/LockPartnerConfirmation/models';\nimport { UnlockPartnerConfirmationDataT } from '../dialogs/UnlockPartnerConfirmation/models';\nimport UnLockIcon from 'common/icons/UnLockIcon';\nimport { isNonNil } from 'common/utils';\n\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport LockActionOnChangeForm from 'broker-admin/layouts/PartnerPage/PartnerDetailsPage/LockActionOnChangeForm/LockActionOnChangeForm';\nimport LockStatusOnChangeForm from 'broker-admin/layouts/PartnerPage/PartnerDetailsPage/LockStatusOnChangeForm/LockStatusOnChangeForm';\nimport { BlockLockingReasonEnum, BlockLockingReasonT } from 'broker-admin/store/partner/details/utils/lock';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\ntype PropsT = {\n    isShowLock?: boolean;\n    blockLockingReason?: BlockLockingReasonT | null;\n    isShowUnlock?: boolean;\n    blockUnlockingReason?: BlockLockingReasonT | null;\n    onLock?: (data: LockPartnerConfirmationDataT | null) => void;\n    onUnLock?: (data: UnlockPartnerConfirmationDataT | null) => void;\n    partnerDetails: PartnerDetailsT | null;\n};\n\nconst blockLockingReasonI18nMap: Record<BlockLockingReasonT, string> = {\n    [BlockLockingReasonEnum.NOT_VERIFIED_LEGAL_ADDRESS]:\n        'partner.details-tab.blocking.reasons.not-verified-legal-address',\n    [BlockLockingReasonEnum.NOT_VERIFIED_BILLING_ADDRESS]:\n        'partner.details-tab.blocking.reasons.not-verified-billing-address',\n};\n\nconst cx = classNames.bind(styles);\n\nconst BasicWidgetHeaderActions: React.FC<PropsT> = React.memo((props) => {\n    const { isShowLock, isShowUnlock, partnerDetails, onUnLock, onLock, blockLockingReason, blockUnlockingReason } =\n        props;\n\n    const { t } = useTranslation();\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    if (!partnerDetails) {\n        return null;\n    }\n\n    const partnerId = partnerDetails?.id;\n    if (isNil(partnerId)) {\n        return null;\n    }\n\n    if (partnerDetails?.locked) {\n        return (\n            <>\n                <LockStatusOnChangeForm className={cx('status')}>\n                    <ColoredStatusLabel\n                        label={t('partner.details-tab.blocking.locked-status')}\n                        color={StyleGuideColorsEnum.orange}\n                    />\n                </LockStatusOnChangeForm>\n                {onUnLock && isShowUnlock && (\n                    <LockActionOnChangeForm>\n                        <Tooltip\n                            position={TooltipPositionEnum.centerLeft}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={\n                                blockUnlockingReason ? (\n                                    <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                        {t(blockLockingReasonI18nMap[blockUnlockingReason])}\n                                    </TooltipContent>\n                                ) : null\n                            }\n                        >\n                            {() => (\n                                <Button\n                                    theme={ButtonThemeEnum.transparent}\n                                    className={cx('verification')}\n                                    isDisabled={!!blockUnlockingReason}\n                                    leftIcon={\n                                        <UnLockIcon\n                                            strokeColor={\n                                                blockUnlockingReason\n                                                    ? StyleGuideColorsEnum.white\n                                                    : StyleGuideColorsEnum.charcoal\n                                            }\n                                            size={DEFAULT_ICON_SIZE}\n                                        />\n                                    }\n                                    onClick={() => {\n                                        if (remoteFormActionsContext.remoteFormState?.hasErrors) {\n                                            remoteFormActionsContext.remoteFormCallbacks?.touchAllFields?.();\n                                            return;\n                                        }\n\n                                        onUnLock?.({ partnerId });\n                                    }}\n                                    testSelector=\"unlock-partner\"\n                                >\n                                    {t('partner.details-tab.blocking.unlock')}\n                                </Button>\n                            )}\n                        </Tooltip>\n                    </LockActionOnChangeForm>\n                )}\n            </>\n        );\n    }\n\n    const options: Array<DropdownControlOptionT> = [\n        onLock && isShowLock\n            ? {\n                  label: (\n                      <Tooltip\n                          position={TooltipPositionEnum.centerLeft}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={\n                              blockLockingReason ? (\n                                  <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                      {t(blockLockingReasonI18nMap[blockLockingReason])}\n                                  </TooltipContent>\n                              ) : null\n                          }\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  label={t('partner.details-tab.blocking.lock')}\n                                  icon={\n                                      <LockIcon fillColor={StyleGuideColorsEnum.tomatoRed} size={DEFAULT_ICON_SIZE} />\n                                  }\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  isDisabled: !!blockLockingReason,\n                  onSelect: () => {\n                      if (remoteFormActionsContext.remoteFormState?.hasErrors) {\n                          remoteFormActionsContext.remoteFormCallbacks?.touchAllFields?.();\n                          return;\n                      }\n\n                      onLock({ partnerId });\n                  },\n              }\n            : null,\n    ].filter(isNonNil);\n\n    return (\n        <LockActionOnChangeForm>\n            <DropdownControl\n                options={options}\n                renderTrigger={(isActive, onClick) => (\n                    <TransparentTrigger\n                        isPressed={isActive}\n                        onClick={onClick}\n                        leftIcon={<MoreIcon />}\n                        reflectionTheme={ReflectionThemeEnum.light}\n                        testSelector=\"lock-partner\"\n                    />\n                )}\n                testSelector=\"lock-partner\"\n                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n            />\n        </LockActionOnChangeForm>\n    );\n});\n\nexport default BasicWidgetHeaderActions;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { GPSStatusT } from 'common/store/gps-tracking-status/models';\nimport { AssetTypeEnum } from 'common/constants';\n\nexport const CHECK_GPS_STATUS_REQUEST = 'common/gps-tracking-status/CHECK_GPS_STATUS_REQUEST';\nexport const CHECK_GPS_STATUS_REQUEST_BEGIN = 'common/gps-tracking-status/CHECK_GPS_STATUS_REQUEST_BEGIN';\nexport const CHECK_GPS_STATUS_REQUEST_ERROR = 'common/gps-tracking-status/CHECK_GPS_STATUS_REQUEST_ERROR';\nexport const CHECK_GPS_STATUS_REQUEST_SUCCESS = 'common/gps-tracking-status/CHECK_GPS_STATUS_REQUEST_SUCCESS';\nexport const RESET = 'common/gps-tracking-status/RESET';\n\nexport type GPSTrackingStatusQueryT = {\n    plateNumber: PlateNumberT;\n    companyId: CompanyIdT;\n    assetType: AssetTypeEnum;\n};\n\nexport type GPSTrackingStatusStateT = {\n    query: GPSTrackingStatusQueryT | null;\n    requestStatus: RequestStatusT;\n    data: GPSStatusT | null;\n};\n\nexport type CheckGPSStatusRequestActionT = {\n    type: typeof CHECK_GPS_STATUS_REQUEST;\n    query: GPSTrackingStatusQueryT | null;\n};\n\nexport type CheckGPSStatusRequestBeginActionT = {\n    type: typeof CHECK_GPS_STATUS_REQUEST_BEGIN;\n    query: GPSTrackingStatusQueryT;\n};\n\nexport type CheckGPSStatusRequestErrorActionT = {\n    type: typeof CHECK_GPS_STATUS_REQUEST_ERROR;\n    error: Error;\n    query: GPSTrackingStatusQueryT;\n};\n\nexport type CheckGPSStatusRequestSuccessActionT = {\n    type: typeof CHECK_GPS_STATUS_REQUEST_SUCCESS;\n    query: GPSTrackingStatusQueryT;\n    data: GPSStatusT;\n};\n\nexport type ResetActionT = {\n    type: typeof RESET;\n};\n\nexport type GPSTrackingStatusActionT =\n    | CheckGPSStatusRequestActionT\n    | CheckGPSStatusRequestBeginActionT\n    | CheckGPSStatusRequestSuccessActionT\n    | CheckGPSStatusRequestErrorActionT\n    | ResetActionT;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ErrorTraceId.scss';\n\nimport { ErrorActionT } from 'common/store/errors/models';\nimport { TraceIdLabel } from 'common/components/TraceIdLabel/TraceIdLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    errorLog: ErrorActionT;\n};\n\nconst ErrorTraceId: React.FC<PropsT> = React.memo((props) => {\n    const { errorLog } = props;\n\n    return (\n        <div className={cx('content')}>\n            <TraceIdLabel traceId={errorLog.traceId} />\n        </div>\n    );\n});\n\nexport default ErrorTraceId;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport { useSelector } from 'react-redux';\nimport classNames from 'classnames/bind';\n\nimport { selectCountriesAllCodes, selectCountriesByCode } from 'common/store/countries-dict/selectors';\n\nimport DropdownSearchMultipleInput from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport DeprecatedCountyFlagLabel from 'common/components/DeprecatedCountyFlagLabel/DeprecatedCountyFlagLabel';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport ExcludedCountry from './ExcludedCountry/ExcludedCountry';\n\nimport styles from './ExcludeCountriesMapWidget.scss';\nimport { CountryCodeT } from 'common/utils/api/models';\nimport { prepareSearchQuery } from 'common/utils/search';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT<T extends CountryCodeT> = {\n    className?: string;\n    excludedCountries: Array<T>;\n    setExcludedCountries: (excludedCountries: Array<T>) => void;\n    triggerLabel: string;\n    inputPlaceholder: string;\n    additionalTagsNode?: React.ReactNode;\n};\n\nconst ExcludeCountriesMapWidget = <T extends CountryCodeT>(props: PropsT<T>) => {\n    const { className, excludedCountries, setExcludedCountries, triggerLabel, inputPlaceholder, additionalTagsNode } =\n        props;\n\n    const [query, setQuery] = React.useState<string>('');\n\n    const countriesAllCodes = useSelector(selectCountriesAllCodes);\n    const countryByCode = useSelector(selectCountriesByCode);\n\n    const renderOption = (countryCode: T) => {\n        return <DeprecatedCountyFlagLabel className={cx('option')} country={countryByCode[countryCode]} />;\n    };\n\n    const getOptionValue = (countryCode: T) => countryCode;\n\n    const renderTrigger = (): React.ReactNode => {\n        return triggerLabel;\n    };\n\n    const removeCountry = (countryCode: T): void => {\n        const newExcludedCountries = excludedCountries.filter(\n            (excludedCountryCode) => excludedCountryCode !== countryCode,\n        );\n\n        setExcludedCountries(newExcludedCountries);\n    };\n\n    const filteredCountriesCodes = React.useMemo(() => {\n        const preparedQuery = prepareSearchQuery(query);\n\n        return countriesAllCodes.filter((countryCode) => {\n            const country = countryByCode[countryCode];\n\n            const label = country?.userLangDisplayName || '';\n            const preparedLabel = prepareSearchQuery(label);\n\n            return preparedLabel.includes(preparedQuery);\n        });\n    }, [countriesAllCodes, query, countryByCode]);\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <DropdownSearchMultipleInput<T, T>\n                className={cx('countries')}\n                overlayClassName={cx('countries-overlay')}\n                selectedValues={excludedCountries}\n                inputPlaceholder={inputPlaceholder}\n                onSelect={setExcludedCountries}\n                options={filteredCountriesCodes as Array<T>}\n                renderOption={renderOption}\n                getOptionValue={getOptionValue}\n                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                renderTriggerContent={renderTrigger}\n                onChangeQuery={setQuery}\n            />\n            {excludedCountries.map((countryCode: T, index: number) => {\n                const country = countryByCode[countryCode];\n\n                return (\n                    <ExcludedCountry\n                        key={index}\n                        countryCode={countryCode}\n                        countryLabel={country?.userLangDisplayName}\n                        className={cx('country')}\n                        onClick={removeCountry}\n                    />\n                );\n            })}\n            {additionalTagsNode}\n        </div>\n    );\n};\n\nexport default React.memo(ExcludeCountriesMapWidget) as typeof ExcludeCountriesMapWidget;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"PartnersPage__fadeIn___Lbkn4\",\"blinking\":\"PartnersPage__blinking___IF81n\"};","// extracted by mini-css-extract-plugin\nexport default {\"pagination\":\"Pagination__pagination___MR_QI\",\"input-wrap\":\"Pagination__input-wrap____gNr3\",\"width-machine\":\"Pagination__width-machine___QRHRN\",\"input\":\"Pagination__input___oFyF2\",\"fadeIn\":\"Pagination__fadeIn___xiYxB\",\"blinking\":\"Pagination__blinking___IEESe\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst AddUserIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} viewBox=\"0 0 20 20\" {...props}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity={0.3}\n                    d=\"M12.25 13c2.025 0 4.35.967 4.5 1.5h-9c.173-.54 2.482-1.5 4.5-1.5zm0-7.5a1.5 1.5 0 11-.001 3.001A1.5 1.5 0 0112.25 5.5z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M12.25 10a3 3 0 100-6 3 3 0 100 6zm0-4.5c.825 0 1.5.675 1.5 1.5s-.675 1.5-1.5 1.5-1.5-.675-1.5-1.5.675-1.5 1.5-1.5zm0 6c-2.002 0-6 1.005-6 3V16h12v-1.5c0-1.995-3.998-3-6-3zm-4.5 3c.165-.54 2.482-1.5 4.5-1.5 2.025 0 4.35.967 4.5 1.5h-9zM5.5 12.25V10h2.25V8.5H5.5V6.25H4V8.5H1.75V10H4v2.25h1.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nAddUserIcon.displayName = 'AddUserIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default AddUserIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"steps\":\"Steps__steps___lpFIo\",\"fadeIn\":\"Steps__fadeIn___lASX2\",\"blinking\":\"Steps__blinking___RpQy7\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"KeyAccountManagerDropdown__fadeIn___NOLQr\",\"blinking\":\"KeyAccountManagerDropdown__blinking___h2Cb9\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport {\n    ApiShipmentAttachedPaperTypeT,\n    ApiTourAttachedPaperTypeT,\n    ApiAttachPaperRequestT,\n} from 'common/utils/api/models';\nimport { ShipmentOptimisticAttachPaperT, TourOptimisticAttachPaperT } from './models';\n\nexport type ShipmentChangesByIdStateT = {\n    optimisticPapers: ShipmentOptimisticAttachPaperT[];\n};\n\nexport type TourChangesByIdStateT = {\n    optimisticPapers: TourOptimisticAttachPaperT[];\n};\n\nexport type PapersEditByPaperIdStateT = {\n    deleteRequest: RequestStatusT;\n    uploadRequest: RequestStatusT;\n};\n\nexport type PapersEditStateT = {\n    shipmentChangesById: Record<ShipmentIdT, ShipmentChangesByIdStateT>;\n    tourChangesById: Record<TourIdT, TourChangesByIdStateT>;\n    byId: Record<PaperIdT, PapersEditByPaperIdStateT>;\n};\n\nconst initialShipmentChangesState: ShipmentChangesByIdStateT = {\n    optimisticPapers: [],\n};\n\nconst initialTourChangesState: TourChangesByIdStateT = {\n    optimisticPapers: [],\n};\n\nconst initialPapersEditByPaperIdState: PapersEditByPaperIdStateT = {\n    deleteRequest: requestStatus.initial,\n    uploadRequest: requestStatus.initial,\n};\n\nconst initialState: PapersEditStateT = {\n    shipmentChangesById: {},\n    tourChangesById: {},\n    byId: {},\n};\n\nexport const papersEditSlice = createSlice({\n    name: 'papersEdit',\n    initialState,\n    reducers: {\n        attachPaperToShipment: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                shipmentId: ShipmentIdT;\n                query: {\n                    paperType: ApiShipmentAttachedPaperTypeT;\n                    comment?: string;\n                };\n                data: ApiAttachPaperRequestT;\n            }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        attachPaperToShipmentBegin: (\n            state,\n            action: PayloadAction<{\n                shipmentId: ShipmentIdT;\n                optimisticPaper: ShipmentOptimisticAttachPaperT;\n            }>,\n        ) => {\n            const { shipmentId, optimisticPaper } = action.payload;\n            const shipmentChangesState = state.shipmentChangesById[shipmentId] || initialShipmentChangesState;\n\n            state.shipmentChangesById[shipmentId] = {\n                optimisticPapers: [...shipmentChangesState.optimisticPapers, optimisticPaper],\n            };\n\n            const paperState = state.byId[optimisticPaper.fakeId] || initialPapersEditByPaperIdState;\n            state.byId[optimisticPaper.fakeId] = {\n                ...paperState,\n                uploadRequest: requestStatus.loading,\n            };\n        },\n        attachPaperToShipmentSuccess: (\n            state,\n            action: PayloadAction<{\n                shipmentId: ShipmentIdT;\n                fakeId: PaperIdT;\n                afterAttachId: PaperIdT | null;\n            }>,\n        ) => {\n            const { shipmentId, fakeId, afterAttachId } = action.payload;\n            const shipmentChangesState = state.shipmentChangesById[shipmentId] || initialShipmentChangesState;\n\n            // remove optimistic papers after previously attach\n            let updatedOptimisticPapers = shipmentChangesState.optimisticPapers.filter((paper) => !paper.afterAttachId);\n\n            if (afterAttachId) {\n                updatedOptimisticPapers = updatedOptimisticPapers.map((paper) => {\n                    if (paper.fakeId === fakeId) {\n                        return { ...paper, afterAttachId };\n                    }\n                    return paper;\n                });\n            }\n\n            state.shipmentChangesById[shipmentId] = {\n                optimisticPapers: updatedOptimisticPapers,\n            };\n\n            delete state.byId[fakeId];\n        },\n        attachPaperToShipmentError: (\n            state,\n            action: PayloadAction<{\n                shipmentId: ShipmentIdT;\n                fakeId: PaperIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { shipmentId, fakeId, error } = action.payload;\n            const shipmentChangesState = state.shipmentChangesById[shipmentId] || initialShipmentChangesState;\n\n            const updatedOptimisticPapers = shipmentChangesState.optimisticPapers.filter(\n                (paper) => paper.fakeId !== fakeId,\n            );\n\n            state.shipmentChangesById[shipmentId] = {\n                optimisticPapers: updatedOptimisticPapers,\n            };\n\n            const paperState = state.byId[fakeId] || initialPapersEditByPaperIdState;\n            state.byId[fakeId] = {\n                ...paperState,\n                uploadRequest: requestStatus.setError(error),\n            };\n        },\n\n        attachPaperToTour: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                tourId: TourIdT;\n                query: {\n                    paperType: ApiTourAttachedPaperTypeT;\n                    comment?: string;\n                };\n                data: ApiAttachPaperRequestT;\n            }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        attachPaperToTourBegin: (\n            state,\n            action: PayloadAction<{\n                tourId: TourIdT;\n                optimisticPaper: TourOptimisticAttachPaperT;\n            }>,\n        ) => {\n            const { tourId, optimisticPaper } = action.payload;\n            const tourChangesState = state.tourChangesById[tourId] || initialTourChangesState;\n\n            state.tourChangesById[tourId] = {\n                optimisticPapers: [...tourChangesState.optimisticPapers, optimisticPaper],\n            };\n\n            const paperState = state.byId[optimisticPaper.fakeId] || initialPapersEditByPaperIdState;\n            state.byId[optimisticPaper.fakeId] = {\n                ...paperState,\n                uploadRequest: requestStatus.loading,\n            };\n        },\n        attachPaperToTourSuccess: (\n            state,\n            action: PayloadAction<{\n                tourId: TourIdT;\n                fakeId: PaperIdT;\n                afterAttachId: PaperIdT | null;\n            }>,\n        ) => {\n            const { tourId, fakeId, afterAttachId } = action.payload;\n            const tourChangesState = state.tourChangesById[tourId] || initialTourChangesState;\n\n            // remove optimistic papers after previously attach\n            let updatedOptimisticPapers = tourChangesState.optimisticPapers.filter((paper) => !paper.afterAttachId);\n\n            if (afterAttachId) {\n                updatedOptimisticPapers = updatedOptimisticPapers.map((paper) => {\n                    if (paper.fakeId === fakeId) {\n                        return { ...paper, afterAttachId };\n                    }\n                    return paper;\n                });\n            }\n\n            state.tourChangesById[tourId] = {\n                optimisticPapers: updatedOptimisticPapers,\n            };\n\n            delete state.byId[fakeId];\n        },\n        attachPaperToTourError: (\n            state,\n            action: PayloadAction<{\n                tourId: TourIdT;\n                fakeId: PaperIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { tourId, fakeId, error } = action.payload;\n            const tourChangesState = state.tourChangesById[tourId] || initialTourChangesState;\n\n            const updatedOptimisticPapers = tourChangesState.optimisticPapers.filter(\n                (paper) => paper.fakeId !== fakeId,\n            );\n\n            state.tourChangesById[tourId] = {\n                optimisticPapers: updatedOptimisticPapers,\n            };\n\n            const paperState = state.byId[fakeId] || initialPapersEditByPaperIdState;\n            state.byId[fakeId] = {\n                ...paperState,\n                uploadRequest: requestStatus.setError(error),\n            };\n        },\n\n        deleteAttachedPaper: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                paperId: string;\n            }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        deleteAttachedPaperBegin: (state, action: PayloadAction<{ paperId: PaperIdT }>) => {\n            const { paperId } = action.payload;\n            const paperState = state.byId[paperId] || initialPapersEditByPaperIdState;\n\n            state.byId[paperId] = {\n                ...paperState,\n                deleteRequest: requestStatus.loading,\n            };\n        },\n        deleteAttachedPaperSuccess: (state, action: PayloadAction<{ paperId: PaperIdT }>) => {\n            const { paperId } = action.payload;\n            const paperState = state.byId[paperId] || initialPapersEditByPaperIdState;\n\n            state.byId[paperId] = {\n                ...paperState,\n                deleteRequest: requestStatus.ok,\n            };\n\n            // remove optimistic papers from shipments by afterAttachId\n            Object.keys(state.shipmentChangesById).forEach((shipmentId) => {\n                const shipmentChangesState = state.shipmentChangesById[shipmentId];\n                if (shipmentChangesState) {\n                    state.shipmentChangesById[shipmentId] = {\n                        optimisticPapers: shipmentChangesState.optimisticPapers.filter(\n                            (paper) => paper.afterAttachId !== paperId,\n                        ),\n                    };\n                }\n            });\n\n            // remove optimistic papers from tours by afterAttachId\n            Object.keys(state.tourChangesById).forEach((tourId) => {\n                const tourChangesState = state.tourChangesById[tourId];\n                if (tourChangesState) {\n                    state.tourChangesById[tourId] = {\n                        optimisticPapers: tourChangesState.optimisticPapers.filter(\n                            (paper) => paper.afterAttachId !== paperId,\n                        ),\n                    };\n                }\n            });\n        },\n        deleteAttachedPaperError: (state, action: PayloadAction<{ paperId: PaperIdT; error: Error }>) => {\n            const { paperId, error } = action.payload;\n            const paperState = state.byId[paperId] || initialPapersEditByPaperIdState;\n\n            state.byId[paperId] = {\n                ...paperState,\n                deleteRequest: requestStatus.setError(error),\n            };\n        },\n\n        resetPapersEdit: () => {\n            return initialState;\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    attachPaperToShipment,\n    attachPaperToShipmentBegin,\n    attachPaperToShipmentSuccess,\n    attachPaperToShipmentError,\n    attachPaperToTour,\n    attachPaperToTourBegin,\n    attachPaperToTourSuccess,\n    attachPaperToTourError,\n    deleteAttachedPaper,\n    deleteAttachedPaperBegin,\n    deleteAttachedPaperSuccess,\n    deleteAttachedPaperError,\n    resetPapersEdit,\n} = papersEditSlice.actions;\n\nexport default papersEditSlice.reducer;\n","import {\n    CarriersUtilizationActionT,\n    CarriersUtilizationStateT,\n    FETCH_UTILIZATION_REQUEST_BEGIN,\n    FETCH_UTILIZATION_REQUEST_ERROR,\n    FETCH_UTILIZATION_REQUEST_SUCCESS,\n    RESET,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { getHash } from './utils';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: CarriersUtilizationStateT = {\n    fetchRequest: requestStatus.initial,\n    byHash: {},\n};\n\nexport default (\n    state = initialState,\n    action: CarriersUtilizationActionT | DestroySessionActionT,\n): CarriersUtilizationStateT => {\n    switch (action.type) {\n        case FETCH_UTILIZATION_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n\n        case FETCH_UTILIZATION_REQUEST_SUCCESS: {\n            const { ids, date, utilizations } = action;\n\n            const byHash = utilizations.reduce<CarriersUtilizationStateT['byHash']>((acc, utilization, index) => {\n                const id = ids[index];\n                const hash = getHash(id, date);\n\n                acc[hash] = utilization;\n\n                return acc;\n            }, {});\n\n            return {\n                ...state,\n                byHash: {\n                    ...state.byHash,\n                    ...byHash,\n                },\n                fetchRequest: requestStatus.ok,\n            };\n        }\n\n        case FETCH_UTILIZATION_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(error),\n            };\n        }\n\n        case DESTROY_SESSION:\n        case RESET: {\n            return {\n                ...initialState,\n            };\n        }\n\n        default:\n            return state;\n    }\n};\n","import React from 'react';\nimport { ScrollBarWidthContextT } from 'common/utils/hooks/useScrollBarWidth';\nimport { ScrollTopContextT } from 'common/utils/hooks/useScrollTop';\nimport { SideBarFooterHeightContextT } from 'common/utils/hooks/useSideBarFooterHeight';\nimport { SideBarHeaderHeightContextT } from 'common/utils/hooks/useSideBarHeaderHeight';\n\nexport type SideBarLayoutContextT = {\n    scrollBarWidth: ScrollBarWidthContextT | null;\n    scrollTop?: ScrollTopContextT | null;\n    headerHeight?: SideBarHeaderHeightContextT | null;\n    footerHeight?: SideBarFooterHeightContextT | null;\n};\n\nconst SideBarLayoutContext = React.createContext<SideBarLayoutContextT>({\n    scrollBarWidth: null,\n    scrollTop: null,\n    headerHeight: null,\n    footerHeight: null,\n});\n\nexport default SideBarLayoutContext;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\nimport { EditOrderQueryModifyChannelEventT } from './models';\n\nexport const orderEditQueryModifyChannel = new ViewEventChannel<EditOrderQueryModifyChannelEventT>();\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from 'common/layouts/TrailersPageLayout/query-models';\nimport { getStartDayFromDateZero, getEndDayFromDateZero, getDateFromDate } from 'common/utils/time';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {\n        [QueryFiltersKeysEnum.dictTrailerTypeId]: values[FieldsEnum.dictTrailerTypeId] || undefined,\n        [QueryFiltersKeysEnum.contractId]: values[FieldsEnum.contractId] || undefined,\n        [QueryFiltersKeysEnum.contractName]: values[FieldsEnum.contractName] || undefined,\n        [QueryFiltersKeysEnum.country]: values[FieldsEnum.country] || undefined,\n        [QueryFiltersKeysEnum.status]: values[FieldsEnum.status] || undefined,\n        [QueryFiltersKeysEnum.createdByUserName]: values[FieldsEnum.createdByUserName] || undefined,\n        [QueryFiltersKeysEnum.createdByUserId]: values[FieldsEnum.createdByUserId] || undefined,\n        [QueryFiltersKeysEnum.lastModifyByUserId]: values[FieldsEnum.lastModifyByUserId] || undefined,\n        [QueryFiltersKeysEnum.lastModifyByUserName]: values[FieldsEnum.lastModifyByUserName] || undefined,\n    };\n\n    if (values[FieldsEnum.plateNumber]) {\n        queryFilters[QueryFiltersKeysEnum.plateNumber] = simpleStringFormatter(values[FieldsEnum.plateNumber]);\n    }\n\n    const createDates = values[FieldsEnum.createDates];\n    if (createDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.createdDateFrom] = getStartDayFromDateZero(getDateFromDate(createDates.from));\n    }\n    if (createDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.createdDateTo] = getEndDayFromDateZero(getDateFromDate(createDates.to));\n    }\n\n    const lastModifyDates = values[FieldsEnum.lastModifyDates];\n    if (lastModifyDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom] = getStartDayFromDateZero(\n            getDateFromDate(lastModifyDates.from),\n        );\n    }\n    if (lastModifyDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.lastModifyDateTo] = getEndDayFromDateZero(\n            getDateFromDate(lastModifyDates.to),\n        );\n    }\n\n    const lastTelematicUpdateDates = values[FieldsEnum.lastTelematicUpdateDates];\n    if (lastTelematicUpdateDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom] = getStartDayFromDateZero(\n            getDateFromDate(lastTelematicUpdateDates.from),\n        );\n    }\n    if (lastTelematicUpdateDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo] = getEndDayFromDateZero(\n            getDateFromDate(lastTelematicUpdateDates.to),\n        );\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './FlagCell.scss';\n\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DoneIcon from 'common/icons/DoneIcon';\n\ntype PropsT = {\n    className?: string;\n    isShowFlag: boolean | null | undefined;\n    fillColor?: StyleGuideColorsEnum;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FlagCell: React.FC<PropsT> = React.memo((props) => {\n    const { isShowFlag, fillColor, className } = props;\n\n    return (\n        <div className={cs(cx('flag'), className)}>\n            {isShowFlag ? (\n                <DoneIcon fillColor={fillColor || StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n            ) : null}\n        </div>\n    );\n});\n\nexport default FlagCell;\n","import * as React from 'react';\nimport { UnitTypeEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\n\nexport type OverloadingTrailerValidationResultT = {\n    unitType: UnitTypeEnum;\n    pointAIndex: number;\n    pointBIndex: number;\n};\n\ntype PropsT = {\n    validationResult: OverloadingTrailerValidationResultT | null;\n};\n\nconst OverloadingTrailerValidationAlertContent: React.FC<PropsT> = React.memo((props) => {\n    const { validationResult } = props;\n\n    const { t } = useTranslation();\n\n    if (!validationResult) {\n        return null;\n    }\n\n    const { pointAIndex, pointBIndex } = validationResult;\n\n    let messageNode: React.ReactNode = null;\n\n    if (\n        validationResult?.unitType === UnitTypeEnum.eur1Pallets ||\n        validationResult?.unitType === UnitTypeEnum.eur2Pallets ||\n        validationResult?.unitType === UnitTypeEnum.eur6Pallets\n    ) {\n        messageNode = t('common:new-order-details.validate-messages.overloading-units', {\n            pointA: pointAIndex + 1,\n            pointB: pointBIndex + 1,\n        });\n    }\n\n    if (validationResult?.unitType === UnitTypeEnum.kilogramsAbbreviation) {\n        messageNode = t('common:new-order-details.validate-messages.overloading-weight', {\n            pointA: pointAIndex + 1,\n            pointB: pointBIndex + 1,\n        });\n    }\n\n    return <span>{messageNode}</span>;\n});\n\nexport default OverloadingTrailerValidationAlertContent;\n","import { SettingsT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const FETCH_SETTINGS = 'common/settings/FETCH_SETTINGS';\nexport const FETCH_SETTINGS_BEGIN = 'common/settings/FETCH_SETTINGS_BEGIN';\nexport const FETCH_SETTINGS_SUCCESS = 'common/settings/FETCH_SETTINGS_SUCCESS';\nexport const FETCH_SETTINGS_ERROR = 'common/settings/FETCH_SETTINGS_ERROR';\n\nexport type FetchSettingsActionT = {\n    type: typeof FETCH_SETTINGS;\n    options?: FetchOptionsT;\n};\n\nexport type FetchSettingsBeginActionT = {\n    type: typeof FETCH_SETTINGS_BEGIN;\n};\n\nexport type FetchSettingsSuccessActionT = {\n    type: typeof FETCH_SETTINGS_SUCCESS;\n    settings: SettingsT;\n};\n\nexport type FetchSettingsErrorActionT = {\n    type: typeof FETCH_SETTINGS_ERROR;\n    error: Error;\n};\n\nexport type SettingsActionT =\n    | FetchSettingsActionT\n    | FetchSettingsBeginActionT\n    | FetchSettingsSuccessActionT\n    | FetchSettingsErrorActionT;\n\nexport type SettingsStateT = {\n    fetchRequest: RequestStatusT;\n    data: SettingsT;\n};\n","import { ContextRouteStopFakeIdT, DeadheadPreviewContextResponseT } from '../models';\n\nexport const getOrderStopFakeIds = (\n    previewContextAfterModify: DeadheadPreviewContextResponseT | null,\n): Array<ContextRouteStopFakeIdT> => {\n    return previewContextAfterModify?.stops?.map((stop) => stop.fakeId) || [];\n};\n","import { UserStatusEnum, ApiUserStatusT } from 'common/utils/api/models';\n\nexport const checkIsDriverPendingStatus = (status: ApiUserStatusT | null): boolean => {\n    if (!status) {\n        return false;\n    }\n\n    return status === UserStatusEnum.pending;\n};\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { SpotRequestStatStatusEnum, ApiSpotRequestStatusT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\n\ntype PropsT = {\n    className?: string;\n    status: ApiSpotRequestStatusT | null | undefined;\n};\n\nexport const SPOT_REQUEST_STATUS_T_MAP: Record<ApiSpotRequestStatusT, string> = {\n    [SpotRequestStatStatusEnum.open]: 'common:spot-request-status.OPEN',\n    [SpotRequestStatStatusEnum.expired]: 'common:spot-request-status.EXPIRED',\n    [SpotRequestStatStatusEnum.accepted]: 'common:spot-request-status.ACCEPTED',\n    [SpotRequestStatStatusEnum.assigned]: 'common:spot-request-status.ASSIGNED',\n    [SpotRequestStatStatusEnum.canceled]: 'common:spot-request-status.CANCELED',\n};\n\nconst SpotRequestStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(SPOT_REQUEST_STATUS_T_MAP[status]);\n});\n\nexport default SpotRequestStatus;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ExpiredPartnerDocumentCard.scss';\nimport { Trans } from 'react-i18next';\nimport { ApiDocumentTypeT, ApiPartnerTypeT } from 'common/utils/api/models';\nimport AsyncDictDocumentNameLabel from 'common/components/AsyncDictDocumentNameLabel/AsyncDictDocumentNameLabel';\nimport PartnerName from 'broker-admin/components/notification-cards/entities/PartnerName/PartnerName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerName: string;\n    partnerType: ApiPartnerTypeT | null;\n    documentType: ApiDocumentTypeT;\n};\n\nconst ExpiredPartnerDocumentCard: React.FC<PropsT> = React.memo((props) => {\n    const { partnerName, partnerType, documentType } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-document-expired\"\n                components={{\n                    partnerName: <PartnerName partnerName={partnerName} />,\n                    documentName: (\n                        <AsyncDictDocumentNameLabel\n                            className={cx('document-name')}\n                            partnerType={partnerType}\n                            documentType={documentType}\n                        />\n                    ),\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ExpiredPartnerDocumentCard;\n","import { CompanyContactDetailsT, CompanyContactT, InviteUserRequestT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nimport { ApiCompanyContactRequestT, ApiNewUserRoleT } from 'common/utils/api/models';\n\nexport const FETCH_CONTACTS_REQUEST = 'common/company-members/FETCH_CONTACTS_REQUEST';\nexport const FETCH_CONTACTS_REQUEST_BEGIN = 'common/company-members/FETCH_CONTACTS_REQUEST_BEGIN';\nexport const FETCH_CONTACTS_REQUEST_SUCCESS = 'common/company-members/FETCH_CONTACTS_REQUEST_SUCCESS';\nexport const FETCH_CONTACTS_REQUEST_ERROR = 'common/company-members/FETCH_CONTACTS_REQUEST_ERROR';\n\nexport const FETCH_CONTACT_DETAILS_BY_USER_ID = 'common/company-members/FETCH_CONTACT_DETAILS_BY_USER_ID';\nexport const FETCH_CONTACT_DETAILS_REQUEST = 'common/company-members/FETCH_CONTACT_DETAILS_REQUEST';\nexport const FETCH_CONTACT_DETAILS_REQUEST_BEGIN = 'common/company-members/FETCH_CONTACT_DETAILS_REQUEST_BEGIN';\nexport const FETCH_CONTACT_DETAILS_REQUEST_SUCCESS = 'common/company-members/FETCH_CONTACT_DETAILS_REQUEST_SUCCESS';\nexport const FETCH_CONTACT_DETAILS_REQUEST_ERROR = 'common/company-members/FETCH_CONTACT_DETAILS_REQUEST_ERROR';\n\nexport const ADD_CONTACT_REQUEST = 'common/company-members/ADD_CONTACT_REQUEST';\nexport const INVITE_USER_REQUEST = 'common/company-members/INVITE_USER_REQUEST';\nexport const ADD_MEMBER_REQUEST_BEGIN = 'common/company-members/ADD_MEMBER_REQUEST_BEGIN';\nexport const ADD_MEMBER_REQUEST_SUCCESS = 'common/company-members/ADD_MEMBER_REQUEST_SUCCESS';\nexport const ADD_MEMBER_REQUEST_ERROR = 'common/company-members/ADD_MEMBER_REQUEST_ERROR';\n\nexport const DELETE_USER = 'common/company-members/DELETE_USER';\nexport const DELETE_CONTACT = 'common/company-members/DELETE_CONTACT';\nexport const DELETE_MEMBER_REQUEST_BEGIN = 'common/company-members/DELETE_MEMBER_REQUEST_BEGIN';\nexport const DELETE_MEMBER_REQUEST_SUCCESS = 'common/company-members/DELETE_MEMBER_REQUEST_SUCCESS';\nexport const DELETE_MEMBER_REQUEST_ERROR = 'common/company-members/DELETE_MEMBER_REQUEST_ERROR';\n\nexport const RESTORE_USER = 'common/company-members/RESTORE_USER';\nexport const CANCEL_INVITE = 'common/company-members/CANCEL_INVITE';\nexport const CHANGE_USER_ROLE = 'common/company-members/CHANGE_USER_ROLE';\nexport const MAKE_MAIN_CONTACT = 'common/company-members/MAKE_MAIN_CONTACT';\nexport const UPDATE_CONTACT = 'common/company-members/UPDATE_CONTACT';\nexport const UPDATE_MEMBER_REQUEST_BEGIN = 'common/company-members/UPDATE_MEMBER_REQUEST_BEGIN';\nexport const UPDATE_MEMBER_REQUEST_SUCCESS = 'common/company-members/UPDATE_MEMBER_REQUEST_SUCCESS';\nexport const UPDATE_MEMBER_REQUEST_ERROR = 'common/company-members/UPDATE_MEMBER_REQUEST_ERROR';\n\nexport type FetchContactsActionT = {\n    type: typeof FETCH_CONTACTS_REQUEST;\n    companyId: CompanyIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchContactsBeginActionT = {\n    type: typeof FETCH_CONTACTS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type FetchContactsSuccessActionT = {\n    type: typeof FETCH_CONTACTS_REQUEST_SUCCESS;\n    companyContacts: CompanyContactT[];\n    companyId: CompanyIdT;\n};\n\nexport type FetchContactsErrorActionT = {\n    type: typeof FETCH_CONTACTS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type AddContactActionT = {\n    type: typeof ADD_CONTACT_REQUEST;\n    newContact: ApiCompanyContactRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type InviteUserActionT = {\n    type: typeof INVITE_USER_REQUEST;\n    newUser: InviteUserRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type AddMemberBeginActionT = {\n    type: typeof ADD_MEMBER_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type AddMemberSuccessActionT = {\n    type: typeof ADD_MEMBER_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type AddMemberErrorActionT = {\n    type: typeof ADD_MEMBER_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteContactActionT = {\n    type: typeof DELETE_CONTACT;\n    contactId: ContactIdT;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteUserActionT = {\n    type: typeof DELETE_USER;\n    userId: UserIdT;\n    companyId: CompanyIdT;\n};\n\nexport type CancelUserActionT = {\n    type: typeof CANCEL_INVITE;\n    userId: UserIdT;\n    companyId: CompanyIdT;\n};\n\nexport type RestoreUserActionT = {\n    type: typeof RESTORE_USER;\n    userId: UserIdT;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteMemberBeginActionT = {\n    type: typeof DELETE_MEMBER_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteMemberSuccessActionT = {\n    type: typeof DELETE_MEMBER_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteMemberErrorActionT = {\n    type: typeof DELETE_MEMBER_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type ChangeUserRoleActionT = {\n    type: typeof CHANGE_USER_ROLE;\n    userId: UserIdT;\n    companyId: CompanyIdT;\n    roles: ApiNewUserRoleT[];\n};\n\nexport type MakeMainContactActionT = {\n    type: typeof MAKE_MAIN_CONTACT;\n    contactId: ContactIdT;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateContactActionT = {\n    type: typeof UPDATE_CONTACT;\n    contactId: ContactIdT;\n    contactChanges: ApiCompanyContactRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateMemberBeginActionT = {\n    type: typeof UPDATE_MEMBER_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateMemberSuccessActionT = {\n    type: typeof UPDATE_MEMBER_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateMemberErrorActionT = {\n    type: typeof UPDATE_MEMBER_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type FetchContactDetailsActionT = {\n    type: typeof FETCH_CONTACT_DETAILS_REQUEST;\n    contactId: ContactIdT;\n};\n\nexport type FetchContactDetailsBeginActionT = {\n    type: typeof FETCH_CONTACT_DETAILS_REQUEST_BEGIN;\n};\n\nexport type FetchContactDetailsSuccessActionT = {\n    type: typeof FETCH_CONTACT_DETAILS_REQUEST_SUCCESS;\n    contactId: ContactIdT;\n    details: CompanyContactDetailsT | null;\n};\n\nexport type FetchContactDetailsErrorActionT = {\n    type: typeof FETCH_CONTACT_DETAILS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type FetchContactDetailsByUserIdActionT = {\n    type: typeof FETCH_CONTACT_DETAILS_BY_USER_ID;\n    userId: UserIdT;\n};\n\nexport type MembersActionT =\n    | FetchContactsActionT\n    | FetchContactsBeginActionT\n    | FetchContactsSuccessActionT\n    | FetchContactsErrorActionT\n    | AddContactActionT\n    | InviteUserActionT\n    | AddMemberBeginActionT\n    | AddMemberSuccessActionT\n    | AddMemberErrorActionT\n    | DeleteContactActionT\n    | DeleteMemberBeginActionT\n    | DeleteMemberSuccessActionT\n    | DeleteMemberErrorActionT\n    | ChangeUserRoleActionT\n    | UpdateContactActionT\n    | UpdateMemberBeginActionT\n    | UpdateMemberSuccessActionT\n    | UpdateMemberErrorActionT\n    | FetchContactDetailsActionT\n    | FetchContactDetailsBeginActionT\n    | FetchContactDetailsSuccessActionT\n    | FetchContactDetailsErrorActionT\n    | FetchContactDetailsByUserIdActionT;\n\nexport type ContactDetailsByIdT = Record<ContactIdT, CompanyContactDetailsT | null>;\n\nexport type CompanyMembersStateT = {\n    contactIds: ContactIdT[] | null;\n    constantById: Record<ContactIdT, CompanyContactT>;\n    fetchContactsRequest: RequestStatusT;\n    addMemberRequest: RequestStatusT;\n    deleteMemberRequest: RequestStatusT;\n    updateMemberRequest: RequestStatusT;\n};\n\nexport type MembersStateT = {\n    byCompanyId: Record<CompanyIdT, CompanyMembersStateT>;\n    fetchContactDetailsRequest: RequestStatusT;\n    contactDetailsById: ContactDetailsByIdT;\n    contactIdByUserId: Record<UserIdT, ContactIdT>;\n};\n","import { SharableStateT } from '../models';\nimport { NotificationsStateT } from 'common/store/notifications/types';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { createSelector } from 'reselect';\nimport { AnyNotificationT } from 'common/store/notifications/models';\n\nexport const selectUnReadNotificationsCount = (state: SharableStateT): number => {\n    return state.notifications.unreadNotifications.ids.length;\n};\n\nexport const selectUnReadNotificationsState = (state: SharableStateT): NotificationsStateT['unreadNotifications'] => {\n    return state.notifications.unreadNotifications;\n};\n\nexport const selectRelatedIdsSet = createSelector(\n    selectUnReadNotificationsState,\n    (unreadNotifications): Set<string> => {\n        const updatedOrderIdsSet = new Set<string>();\n\n        unreadNotifications.ids.forEach((id) => {\n            if (!id) {\n                return;\n            }\n\n            unreadNotifications.byId[id].relatedIds.forEach((id) => {\n                updatedOrderIdsSet.add(id);\n            });\n        });\n\n        return updatedOrderIdsSet;\n    },\n);\n\nexport const selectUnReadNotificationsRequest = (state: SharableStateT): RequestStatusT => {\n    return state.notifications.unreadNotifications.fetchRequest;\n};\n\nexport const selectLastUnReadNotification = createSelector(\n    selectUnReadNotificationsState,\n    (unreadNotifications): AnyNotificationT | null => {\n        const { ids, byId } = unreadNotifications;\n\n        let lastNotification: AnyNotificationT | null = null;\n\n        ids?.forEach((id) => {\n            const notification = byId[id] || null;\n            if (!notification) {\n                return;\n            }\n\n            if (!lastNotification || notification.timestamp > lastNotification.timestamp) {\n                lastNotification = notification;\n            }\n        });\n\n        return lastNotification || null;\n    },\n);\n\nexport const selectCurrentPageNumber = (state: SharableStateT): number => {\n    return state.notifications.currentPageNumber;\n};\n\nexport const selectNotificationsQuery = (state: SharableStateT): NotificationsStateT['query'] => {\n    return state.notifications.query;\n};\n\nexport const selectNotificationsById = (state: SharableStateT): NotificationsStateT['byId'] => {\n    return state.notifications.byId;\n};\n\nexport const selectNotificationsPages = (state: SharableStateT): NotificationsStateT['pages'] => {\n    return state.notifications.pages;\n};\n\nexport const selectNotificationsTotal = (state: SharableStateT): NotificationsStateT['total'] => {\n    return state.notifications.total;\n};\n\nexport const selectMarkAsReadRequest = (state: SharableStateT): NotificationsStateT['markAsReadRequest'] => {\n    return state.notifications.markAsReadRequest;\n};\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT, MIN_VALID_FROM_VALID_TILL_DAYS } from './constants';\nimport { checkMaxLength, checkNotEmpty } from 'common/utils/form-validators';\nimport { getDayDiff } from 'common/utils/time';\n\nconst REQUIRED_FIELDS = [FieldsEnum.name, FieldsEnum.activateDate, FieldsEnum.validTillDate, FieldsEnum.file];\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkMaxLength(t, [FieldsEnum.name, FieldsEnum.number], values, 250),\n    };\n\n    const activateDate = values[FieldsEnum.activateDate];\n    const validTillDate = values[FieldsEnum.validTillDate];\n\n    if (activateDate && validTillDate && getDayDiff(activateDate, validTillDate) < MIN_VALID_FROM_VALID_TILL_DAYS) {\n        errors[FieldsEnum.validTillDate] = t(\n            'common:shipper-contract-details.editing-form.errors.valid-till-inteval-valid-from',\n            {\n                count: MIN_VALID_FROM_VALID_TILL_DAYS,\n            },\n        );\n    }\n\n    if (activateDate && validTillDate && activateDate >= validTillDate) {\n        errors[FieldsEnum.validTillDate] = t(\n            'common:shipper-contract-details.editing-form.errors.valid-till-earlier-valid-from',\n        );\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import { useState } from 'react';\nimport { StepContextT } from '../contexts/steps-context';\n\nexport const useStepsContextValue = (): StepContextT => {\n    const [hasSelectedContact, setHasSelectedContract] = useState<boolean>(false);\n\n    return {\n        hasSelectedContact,\n        setHasSelectedContract,\n    };\n};\n","import { QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\n\nconst getInitialValues = (\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    queryFilters: QueryFiltersT,\n): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.dictTrailerId]: null,\n\n        [FieldsEnum.address]: null,\n\n        [FieldsEnum.validFromDates]: null,\n        [FieldsEnum.validTillDates]: null,\n\n        [FieldsEnum.createdDates]: null,\n\n        [FieldsEnum.createdById]: null,\n        [FieldsEnum.createdByName]: null,\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","import { CompanyTrailersStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { initialCompanyTrailersState } from './reducer';\n\nconst EMPTY_QUERY = {};\n\nconst selectCompanyState = (state: SharableStateT, companyId: CompanyIdT | null): CompanyTrailersStateT => {\n    if (!companyId) {\n        return initialCompanyTrailersState;\n    }\n\n    return state.trailers[companyId] || initialCompanyTrailersState;\n};\n\nexport const selectTrailersPages =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['pages'] =>\n        selectCompanyState(state, companyId).pages;\n\nexport const selectTrailersQuery =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['query'] =>\n        selectCompanyState(state, companyId).query || EMPTY_QUERY;\n\nexport const selectTrailersTotal =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['total'] =>\n        selectCompanyState(state, companyId).total;\n\nexport const selectTrailersByIds =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['byId'] =>\n        selectCompanyState(state, companyId).byId;\n\nexport const selectAddTrailerRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['addRequest'] =>\n        selectCompanyState(state, companyId).addRequest;\n\nexport const selectDeleteTrailersRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['deleteRequest'] =>\n        selectCompanyState(state, companyId).deleteRequest;\n\nexport const selectFetchTrailerDetailsRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['fetchDetailsRequest'] =>\n        selectCompanyState(state, companyId).fetchDetailsRequest;\n\nexport const selectUpdateTrailersRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['updateRequest'] =>\n        selectCompanyState(state, companyId).updateRequest;\n\nexport const selectTrailersDetailsByIds =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['detailsById'] =>\n        selectCompanyState(state, companyId).detailsById;\n\nexport const selectFetchTrailersStatsRequestStatus =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['fetchStatsRequest'] =>\n        selectCompanyState(state, companyId).fetchStatsRequest;\n\nexport const selectTrailersStats =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['stats'] =>\n        selectCompanyState(state, companyId).stats;\n\nexport const selectTrailersExportXLSRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['exportXLSRequest'] =>\n        selectCompanyState(state, companyId).exportXLSRequest;\n\nexport const selectTrailersImportXLSRequest =\n    (companyId: CompanyIdT | null) =>\n    (state: SharableStateT): CompanyTrailersStateT['importXLSRequest'] =>\n        selectCompanyState(state, companyId).importXLSRequest;\n","import { PartnerTypeEnum } from 'common/utils/api/models';\nimport { PartnerDetailsT } from '../models';\n\nexport const checkIsAllowedLock = (partnerType: PartnerTypeEnum | null) => {\n    return partnerType === PartnerTypeEnum.shipper || partnerType === PartnerTypeEnum.carrier;\n};\n\nexport enum BlockLockingReasonEnum {\n    NOT_VERIFIED_LEGAL_ADDRESS = 'NOT_VERIFIED_LEGAL_ADDRESS',\n    NOT_VERIFIED_BILLING_ADDRESS = 'NOT_VERIFIED_BILLING_ADDRESS',\n}\n\nexport type BlockLockingReasonT = `${BlockLockingReasonEnum}`;\n\nexport const getBlockLockingReason = (\n    partnerType: PartnerTypeEnum | null,\n    partnerDetails: PartnerDetailsT | null,\n): BlockLockingReasonT | null => {\n    if (partnerType === PartnerTypeEnum.shipper) {\n        if (!partnerDetails?.legalAddress) {\n            return BlockLockingReasonEnum.NOT_VERIFIED_LEGAL_ADDRESS;\n        }\n\n        if (!partnerDetails?.billingAddress) {\n            return BlockLockingReasonEnum.NOT_VERIFIED_BILLING_ADDRESS;\n        }\n    }\n\n    if (partnerType === PartnerTypeEnum.carrier) {\n        if (!partnerDetails?.legalAddress) {\n            return BlockLockingReasonEnum.NOT_VERIFIED_LEGAL_ADDRESS;\n        }\n    }\n\n    return null;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"StatusChangedCard__wrap___EWMmu\",\"message\":\"StatusChangedCard__message___K7mQ0\",\"description\":\"StatusChangedCard__description___f55jy\",\"status\":\"StatusChangedCard__status___P_S8P\",\"action\":\"StatusChangedCard__action____R7gk\",\"fadeIn\":\"StatusChangedCard__fadeIn___zTMTw\",\"blinking\":\"StatusChangedCard__blinking___STn96\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BrokerToursListPage.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectBrokerToursByIds,\n    selectBrokerToursPages,\n    selectBrokerToursTotal,\n} from 'broker-admin/store/broker-tours/selectors';\nimport {\n    QueryFiltersKeysEnum,\n    QueryKeysEnum,\n    QueryFiltersT,\n    BrokerToursQuickFilterEnum,\n    BrokerToursSortEnum,\n} from './query-models';\nimport BrokerToursTable from './BrokerToursTable/BrokerToursTable';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport omit from 'lodash/omit';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport { fetchBrokerToursPage } from 'broker-admin/store/broker-tours/slice';\nimport { BrokerTourShortT } from 'broker-admin/store/broker-tours/models';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport { QuickFiltersOptionT } from 'common/components/Table/QuickFilters/QuickFilters';\nimport { colorCodingNotificationLabelTheme } from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport { selectBrokerTourStats } from 'broker-admin/store/broker-tour-stats/selectors';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ListPageHeaderTabsLayout from 'common/layouts/ListPage/ListPageHeaderTabsLayout/ListPageHeaderTabsLayout';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport { selectGroupedNotificationCounts } from 'common/store/grouped-notification-counts/selectors';\nimport { fetchGroupedNotificationCounts } from 'common/store/grouped-notification-counts/actions';\nimport { fetchBrokerTourStats } from 'broker-admin/store/broker-tour-stats/slice';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { useQueryParams } from 'use-query-params';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport QuickFiltersButtonGroups from 'common/components/Table/QuickFiltersButtonGroups/QuickFiltersButtonGroups';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport history from 'common/utils/history';\nimport { useHistoryPush } from 'common/utils/hooks/useHistoryPush';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SideBar from 'common/layouts/LeftMenuLayout/SideBar/SideBar';\nimport FiltersSidebarContent from './FiltersSidebarContent/FiltersSidebarContent';\nimport WarningsFilter from './WarningsFilter/WarningsFilter';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst BrokerToursListPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const { historyPush } = useHistoryPush();\n\n    const permissions = useSelector(selectPermissions);\n\n    const total = useSelector(selectBrokerToursTotal);\n    const brokerToursPages = useSelector(selectBrokerToursPages);\n    const brokerTourById = useSelector(selectBrokerToursByIds);\n\n    const brokerTourStat = useSelector(selectBrokerTourStats);\n    const unReadNotificationsGroupedCounts = useSelector(selectGroupedNotificationCounts);\n\n    React.useEffect(() => {\n        dispatch(fetchBrokerTourStats());\n    }, [dispatch]);\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.brokerToursFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.brokerToursPage]: createPageNumberParam(),\n        [QueryKeysEnum.brokerToursSort]: createSortParams<BrokerToursSortEnum>({\n            value: BrokerToursSortEnum.createdDate,\n            direction: SortDirectionEnum.DESC,\n        }),\n    });\n\n    const [isShowFilters, triggerFilters] = React.useState<boolean>(false);\n    const showFilters = (): void => {\n        triggerFilters(true);\n    };\n    const hideFilters = (): void => {\n        triggerFilters(false);\n    };\n\n    const pageNumber = query[QueryKeysEnum.brokerToursPage];\n    const selectedSort = query[QueryKeysEnum.brokerToursSort];\n    const queryFilters = query[QueryKeysEnum.brokerToursFilters];\n\n    const page = brokerToursPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerToursPage({ pageNumber, query, options: { isForceUpdate: false } }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n    }, [pageNumber, selectedSort, queryFilters, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerToursPage({ pageNumber, query, options: { isForceUpdate: true } }));\n    }, [pageNumber, selectedSort, queryFilters, dispatch]);\n\n    React.useEffect(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerToursPage({ pageNumber, query }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [page, pageNumber, selectedSort, queryFilters, dispatch]);\n\n    const brokerTours = React.useMemo(() => {\n        return (ids || []).map((id): BrokerTourShortT => brokerTourById[id]);\n    }, [ids, brokerTourById]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.brokerToursPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const goToBrokerTourDetails = (event: React.MouseEvent, brokerTourId: BrokerTourIdT) => {\n        const url = urlFactory.brokerTourDetails(brokerTourId);\n        historyPush(event, url);\n    };\n\n    const brokerTourQuickFilterOptions: Array<QuickFiltersOptionT<BrokerToursQuickFilterEnum>> = [\n        {\n            id: undefined,\n            showPriority: 0,\n            hidePriority: 0,\n            label: t('broker-tours.list.status-filter.all-tours'),\n            testSelector: 'all',\n        },\n        {\n            id: BrokerToursQuickFilterEnum.carrierUnassigned,\n            showPriority: 1,\n            hidePriority: 1,\n            label: t('broker-tours.list.status-filter.carrier-unassigned'),\n            testSelector: BrokerToursQuickFilterEnum.carrierUnassigned,\n            notificationProps: {\n                count: brokerTourStat?.carrierUnassign,\n                theme: colorCodingNotificationLabelTheme.attention,\n            },\n        },\n        {\n            id: BrokerToursQuickFilterEnum.assetUnassigned,\n            showPriority: 2,\n            hidePriority: 2,\n            label: t('broker-tours.list.status-filter.asset-unassigned'),\n            testSelector: BrokerToursQuickFilterEnum.assetUnassigned,\n            notificationProps: {\n                count: brokerTourStat?.assetsUnassigned,\n                theme: colorCodingNotificationLabelTheme.attention,\n            },\n        },\n        {\n            id: BrokerToursQuickFilterEnum.driverUnassigned,\n            showPriority: 3,\n            hidePriority: 3,\n            label: t('broker-tours.list.status-filter.driver-unassigned'),\n            testSelector: BrokerToursQuickFilterEnum.driverUnassigned,\n            notificationProps: {\n                count: brokerTourStat?.driverUnassigned,\n                theme: colorCodingNotificationLabelTheme.attention,\n            },\n        },\n        {\n            id: BrokerToursQuickFilterEnum.assigned,\n            showPriority: 4,\n            hidePriority: 4,\n            label: t('broker-tours.list.status-filter.assigned'),\n            testSelector: BrokerToursQuickFilterEnum.assigned,\n            notificationProps: {\n                count: brokerTourStat?.assigned,\n                theme: colorCodingNotificationLabelTheme.normal,\n            },\n        },\n        {\n            id: BrokerToursQuickFilterEnum.inTransit,\n            showPriority: 5,\n            hidePriority: 5,\n            label: t('broker-tours.list.status-filter.in-transit'),\n            testSelector: BrokerToursQuickFilterEnum.inTransit,\n            notificationProps: {\n                count: brokerTourStat?.inTransit,\n                theme: colorCodingNotificationLabelTheme.normal,\n            },\n        },\n        {\n            id: BrokerToursQuickFilterEnum.canceled,\n            showPriority: 6,\n            hidePriority: 6,\n            label: t('broker-tours.list.status-filter.canceled'),\n            testSelector: BrokerToursQuickFilterEnum.canceled,\n            notificationProps: {\n                count: unReadNotificationsGroupedCounts?.TOUR_STATUS_CHANGED?.CANCELED,\n                theme: colorCodingNotificationLabelTheme.normal,\n                isShowPlusSign: true,\n            },\n        },\n        {\n            id: BrokerToursQuickFilterEnum.finished,\n            showPriority: 7,\n            hidePriority: 7,\n            label: t('broker-tours.list.status-filter.finished'),\n            testSelector: BrokerToursQuickFilterEnum.finished,\n            notificationProps: {\n                count: unReadNotificationsGroupedCounts?.TOUR_STATUS_CHANGED?.FINISHED,\n                theme: colorCodingNotificationLabelTheme.success,\n                isShowPlusSign: true,\n            },\n        },\n    ];\n\n    const sortOptions: Array<SortDropdownOptionT<BrokerToursSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('broker-tours.list.table.sorts.triggers.origin-date'),\n                value: BrokerToursSortEnum.originDate,\n            },\n            {\n                label: t('broker-tours.list.table.sorts.triggers.destination-date'),\n                value: BrokerToursSortEnum.destinationDate,\n            },\n            {\n                label: t('broker-tours.list.table.sorts.triggers.created-date'),\n                value: BrokerToursSortEnum.createdDate,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<BrokerToursSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.brokerToursPage]: 0,\n            [QueryKeysEnum.brokerToursSort]: sort,\n        });\n    };\n\n    const handleSetStatusFilter = (quickFilterId: BrokerToursQuickFilterEnum | undefined) => {\n        const prevQueryFilters = query[QueryKeysEnum.brokerToursFilters] || {};\n\n        const queryFilters: QueryFiltersT = {\n            ...prevQueryFilters,\n            [QueryFiltersKeysEnum.quickFilter]: quickFilterId,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerToursPage]: 0,\n            [QueryKeysEnum.brokerToursFilters]: queryFilters,\n        });\n\n        hideFilters();\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.brokerToursFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerToursPage]: 0,\n            [QueryKeysEnum.brokerToursFilters]: queryFilters,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.brokerToursFilters] || {};\n\n        const queryFilters = {\n            [QueryFiltersKeysEnum.quickFilter]: prevQueryFilters[QueryFiltersKeysEnum.quickFilter],\n            ...selectedQueryFilters,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerToursPage]: 0,\n            [QueryKeysEnum.brokerToursFilters]: queryFilters,\n        });\n\n        hideFilters();\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.searchText]: searchText || undefined,\n        });\n    };\n\n    const handleAddDeadhead = () => {\n        history.push(urlFactory.brokerTourDeadheadCreation());\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(brokerTours, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters(\n            [queryFilters[QueryFiltersKeysEnum.quickFilter]],\n            [omit(queryFilters, [QueryFiltersKeysEnum.quickFilter])],\n        );\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('broker-tours.list.table.messages.not-found.title')}\n                    description={t('broker-tours.list.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('broker-tours.list.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('broker-tours.list.table.messages.empty-quick-filters.title')}\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('broker-tours.list.table.messages.empty.title')}\n                testSelector=\"empty\"\n                isShowAction={false}\n            />\n        );\n    };\n\n    return (\n        <ScrollableContent>\n            <PageTitle title={t('page-titles.broker-tours')} />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent title={t('broker-tours.list.title')} rightNode={<NotificationsBarTrigger />} />\n                </TopBar>\n                <ListPageLayout>\n                    <ListPageHeaderTabsLayout>\n                        <QuickFiltersButtonGroups\n                            options={brokerTourQuickFilterOptions}\n                            selectedId={queryFilters[QueryFiltersKeysEnum.quickFilter]}\n                            onSelect={handleSetStatusFilter}\n                            moreStatusesLabel={t('broker-tours.list.status-filter.more-statuses')}\n                        />\n                    </ListPageHeaderTabsLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                <FiltersTrigger\n                                    title={t('broker-tours.list.filters.trigger')}\n                                    isActive={isShowFilters}\n                                    onClick={showFilters}\n                                />\n                                <WarningsFilter\n                                    stat={brokerTourStat}\n                                    queryFilters={queryFilters}\n                                    onQueryFiltersChange={updateQueryFilters}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                                <SearchControl\n                                    placeholder={t('broker-tours.list.search-placeholder')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                        rightToolsNode={\n                            permissions.canBrokerToursAddDeadhead ? (\n                                <Button\n                                    theme={ButtonThemeEnum.secondary}\n                                    onClick={handleAddDeadhead}\n                                    testSelector=\"add-deadhead\"\n                                >\n                                    {t('broker-tours.list.actions.add-deadhead')}\n                                </Button>\n                            ) : null\n                        }\n                    />\n                    {renderTableMessage()}\n                    <BrokerToursTable\n                        brokerTours={brokerTours}\n                        className={cx('table')}\n                        goToBrokerTourDetails={goToBrokerTourDetails}\n                        isLoading={requestStatus?.loading}\n                    />\n                </ListPageLayout>\n                <StickyFooter>\n                    <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n                </StickyFooter>\n                <SideBar isShow={isShowFilters} onClose={hideFilters}>\n                    {(onClose) => (\n                        <FiltersSidebarContent\n                            onClose={onClose}\n                            queryFilters={queryFilters}\n                            setQueryFilters={handleSetQueryFilters}\n                        />\n                    )}\n                </SideBar>\n            </ContentMargins>\n        </ScrollableContent>\n    );\n});\n\nexport default BrokerToursListPage;\n","import * as React from 'react';\nimport { ApiReadAttachedPapersUnavailableReasonT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    reason: ApiReadAttachedPapersUnavailableReasonT | null;\n};\n\nexport const READ_ATTACHED_PAPERS_UNAVAILABLE_REASON_MAP_T: Record<ApiReadAttachedPapersUnavailableReasonT, string> = {\n    TYPE_IS_TRAILER: 'common:papers-card.read-attached-papers-unavailable-reason.TYPE_IS_TRAILER',\n    TO_CANCELLED: 'common:papers-card.read-attached-papers-unavailable-reason.TO_CANCELLED',\n};\n\nconst ReadAttachedPapersUnavailableReasonLabel: React.FC<PropsT> = React.memo((props) => {\n    const { reason } = props;\n    const { t } = useTranslation();\n\n    if (!reason) {\n        return null;\n    }\n\n    return <span>{t(READ_ATTACHED_PAPERS_UNAVAILABLE_REASON_MAP_T[reason])}</span>;\n});\n\nexport default ReadAttachedPapersUnavailableReasonLabel;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    FETCH_ADDITIONAL_SERVICES_REQUEST,\n    FetchAdditionalServicesActionT,\n    UPDATE_ADDITIONAL_SERVICE_REQUEST,\n    UpdateAdditionalServiceActionT,\n} from './types';\nimport {\n    fetchAdditionalServicesBegin,\n    fetchAdditionalServicesError,\n    fetchAdditionalServicesSuccess,\n    updateAdditionalServiceBegin,\n    updateAdditionalServiceError,\n    updateAdditionalServiceSuccess,\n} from './actions';\nimport { selectFetchAdditionalServicesRequest, selectUpdateAdditionalServiceRequest } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { normalizeAdditionalServicesResponse } from './utils';\n\nfunction* fetchAdditionalServicesSaga(action: FetchAdditionalServicesActionT): WrapGeneratorT<void> {\n    const { options } = action;\n\n    const requestStatus: ReturnType<typeof selectFetchAdditionalServicesRequest> = yield select(\n        selectFetchAdditionalServicesRequest,\n    );\n    if (!checkNeedRequest(requestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchAdditionalServicesBegin());\n\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.fetchAdditionalServices> =\n        yield brokerTranziitApi.fetchAdditionalServices();\n\n    if (error) {\n        yield put(fetchAdditionalServicesError(error));\n        return;\n    }\n\n    const normalizedResponse = normalizeAdditionalServicesResponse(response);\n    yield put(fetchAdditionalServicesSuccess(normalizedResponse));\n}\n\nfunction* updateAdditionalServiceSaga(action: UpdateAdditionalServiceActionT): WrapGeneratorT<void> {\n    const { changes } = action;\n\n    const requestStatus: ReturnType<typeof selectUpdateAdditionalServiceRequest> = yield select(\n        selectUpdateAdditionalServiceRequest,\n    );\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(updateAdditionalServiceBegin());\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updateAdditionalService> =\n        yield brokerTranziitApi.updateAdditionalService(changes);\n    if (error) {\n        yield put(updateAdditionalServiceError(error));\n        return;\n    }\n\n    yield put(updateAdditionalServiceSuccess(changes));\n}\n\nfunction* additionalServicesSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_ADDITIONAL_SERVICES_REQUEST, fetchAdditionalServicesSaga);\n    yield takeEvery(UPDATE_ADDITIONAL_SERVICE_REQUEST, updateAdditionalServiceSaga);\n}\n\nexport default additionalServicesSaga;\n","import { TFunction } from 'i18next';\nimport { FormErrorsT, FormValuesT } from './constants';\n\nconst validate = (\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    t: TFunction,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    values: FormValuesT,\n): FormErrorsT => {\n    const errors: FormErrorsT = {};\n\n    return errors;\n};\n\nexport default validate;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { CountryCodeUnionT } from 'common/utils/api/models';\nimport isNumber from 'lodash/isNumber';\nimport {\n    ApiEmissionClassT,\n    CalculateCostRequestQueryT,\n    CreateRequestQueryDraftT,\n} from 'common/store/shipper-contract-lane-creation/models';\nimport { getDateFromDate } from 'common/utils/time';\nimport { EmissionClassEnum } from 'common/constants';\nimport { parseSimpleNumber, parseStringFormatter } from 'common/utils/input-parsers';\n\nconst prepareLocation = (\n    value: FormValuesT[FieldsEnum.pickUpLocation] | FormValuesT[FieldsEnum.dropOffLocation],\n): CalculateCostRequestQueryT['origin'] | CalculateCostRequestQueryT['destination'] | null => {\n    if (!value) {\n        return null;\n    }\n\n    const longitude = value.point?.lng;\n    const latitude = value.point?.lat;\n\n    if (!isNumber(longitude) || !isNumber(latitude)) {\n        return null;\n    }\n\n    return {\n        countryCode: (value.addressComponents?.countryCode || '') as CountryCodeUnionT,\n        street1: value.addressComponents?.street1 || '',\n        street2: value.addressComponents?.street2 || '',\n        zipCode: value.addressComponents?.zipCode || '',\n        city: value.addressComponents?.city || '',\n        longitude,\n        latitude,\n    };\n};\n\nexport const EMISSION_STANDART_MAP: Record<EmissionClassEnum, ApiEmissionClassT> = {\n    [EmissionClassEnum.euro5]: 'EURO_V',\n    [EmissionClassEnum.euro6]: 'EURO_VI',\n};\n\nconst prepareApiCalculateCostRequestQuery = (values: FormValuesT): CalculateCostRequestQueryT | null => {\n    const dictTrailerId = values[FieldsEnum.trailerDictId];\n    const emissionClass = values[FieldsEnum.emissionClass];\n    const pickUpLocation = values[FieldsEnum.pickUpLocation];\n    const dropOffLocation = values[FieldsEnum.dropOffLocation];\n    const validFrom = values[FieldsEnum.validFrom];\n    const validTill = values[FieldsEnum.validTill];\n    const origin = prepareLocation(values[FieldsEnum.pickUpLocation]);\n    const destination = prepareLocation(values[FieldsEnum.dropOffLocation]);\n\n    if (\n        !dictTrailerId ||\n        !emissionClass ||\n        !pickUpLocation ||\n        !dropOffLocation ||\n        !validFrom ||\n        !validTill ||\n        !origin ||\n        !destination\n    ) {\n        return null;\n    }\n\n    return {\n        dictTrailerId: +dictTrailerId,\n        emissionClass: EMISSION_STANDART_MAP[emissionClass],\n        origin,\n        destination,\n        validFrom: getDateFromDate(validFrom),\n        validTill: getDateFromDate(validTill),\n        teamDrive: !!values[FieldsEnum.includeTeamDrive],\n        skipCommission: !values[FieldsEnum.includeServiceFee],\n        skipRules: !values[FieldsEnum.useApplyRules],\n    };\n};\n\nconst prepareApiCreateRequestQueryDraft = (values: FormValuesT): CreateRequestQueryDraftT | null => {\n    const dictTrailerId = values[FieldsEnum.trailerDictId];\n    const emissionClass = values[FieldsEnum.emissionClass];\n    const pickUpLocation = values[FieldsEnum.pickUpLocation];\n    const dropOffLocation = values[FieldsEnum.dropOffLocation];\n    const validFrom = values[FieldsEnum.validFrom];\n    const validTill = values[FieldsEnum.validTill];\n    const origin = prepareLocation(values[FieldsEnum.pickUpLocation]);\n    const destination = prepareLocation(values[FieldsEnum.dropOffLocation]);\n    const maxNumberOfOrders = parseSimpleNumber(values[FieldsEnum.ordersLimit]);\n    const originRadius = parseSimpleNumber(values[FieldsEnum.pickUpLocationRadius]);\n    const destinationRadius = parseSimpleNumber(values[FieldsEnum.dropOffLocationRadius]);\n    const maximumLayover = parseSimpleNumber(values[FieldsEnum.layoverLimit]);\n\n    if (\n        !dictTrailerId ||\n        !emissionClass ||\n        !pickUpLocation ||\n        !dropOffLocation ||\n        !validFrom ||\n        !validTill ||\n        !origin ||\n        !destination ||\n        !maxNumberOfOrders\n    ) {\n        return null;\n    }\n\n    return {\n        externalLaneId: parseStringFormatter(values[FieldsEnum.externalLaneId]),\n        dictTrailerId: +dictTrailerId,\n        emissionClass: EMISSION_STANDART_MAP[emissionClass],\n        origin,\n        destination,\n        originRadius: originRadius || 0,\n        destinationRadius: destinationRadius || 0,\n        validFrom: getDateFromDate(validFrom),\n        validTill: getDateFromDate(validTill),\n        maximumLayover: maximumLayover || 0,\n        serviceFee: !!values[FieldsEnum.includeServiceFee],\n        teamDrive: !!values[FieldsEnum.includeTeamDrive],\n        maxNumberOfOrders,\n    };\n};\n\nexport { prepareApiCalculateCostRequestQuery, prepareApiCreateRequestQueryDraft };\n","import * as React from 'react';\nimport { BrokerInvoiceT } from 'broker-admin/store/invoices/models';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport PdfFileIcon from 'common/icons/PdfFileIcon';\n\ntype PropsT = {\n    invoice: BrokerInvoiceT | null;\n};\n\nconst ActionsCell: React.FC<PropsT> = React.memo((props) => {\n    const { invoice } = props;\n\n    if (!invoice) {\n        return null;\n    }\n\n    const { pdfLink } = invoice;\n\n    if (!pdfLink) {\n        return null;\n    }\n\n    return (\n        <TransparentTrigger\n            onClick={() => {\n                window.open(pdfLink, '_blank')?.focus();\n            }}\n            leftIcon={<PdfFileIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n            reflectionTheme={ReflectionThemeEnum.light}\n        />\n    );\n});\n\nexport default ActionsCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"WaypointNumberPin__content___g3WUR\",\"fadeIn\":\"WaypointNumberPin__fadeIn___gRgfY\",\"blinking\":\"WaypointNumberPin__blinking___KO8Ru\"};","import * as React from 'react';\n\ntype PropsT = {\n    isDisabled?: boolean;\n    className?: string;\n};\n\nconst BigCheckIcon: React.FC<PropsT> = (props) => {\n    const { isDisabled, className } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width=\"30\"\n            height=\"30\"\n            viewBox=\"0 0 30 30\"\n            className={className}\n        >\n            <defs>\n                <rect id=\"ysnd058vha\" width=\"30\" height=\"30\" x=\"0\" y=\"0\" rx=\"15\" />\n            </defs>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <use fill={isDisabled ? '#9EA0A5' : '#8ABA2E'} xlinkHref=\"#ysnd058vha\" />\n                <use fill=\"#000\" fillOpacity=\"0.1\" xlinkHref=\"#ysnd058vha\" />\n                <path\n                    fill=\"#FFF\"\n                    d=\"M20.314 12.707l-6.072 6.071a.999.999 0 01-1.414 0l-2.535-2.535a1 1 0 011.414-1.415l1.829 1.83 5.364-5.365a.999.999 0 111.414 1.414\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigCheckIcon.displayName = 'BigCheckIcon';\n\nconst storyProps: PropsT = {\n    isDisabled: false,\n};\n\nexport { storyProps };\nexport default BigCheckIcon;\n","// eslint-disable-next-line no-restricted-exports\nexport { default } from './slice';\n","import React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport {\n    useFloating,\n    autoUpdate,\n    offset,\n    flip,\n    shift,\n    useDismiss,\n    useInteractions,\n    FloatingPortal,\n    type Placement,\n} from '@floating-ui/react';\n\nimport styles from './DatePickerOverlay.scss';\n\nconst cx = classNames.bind(styles);\n\nexport enum DatePickerOverlayPositionEnum {\n    bottomLeft = 'bottom-left',\n    bottomRight = 'bottom-right',\n    topLeft = 'top-left',\n    topRight = 'top-right',\n}\n\nconst POSITION_TO_PLACEMENT: Record<DatePickerOverlayPositionEnum, Placement> = {\n    [DatePickerOverlayPositionEnum.bottomLeft]: 'bottom-start',\n    [DatePickerOverlayPositionEnum.bottomRight]: 'bottom-end',\n    [DatePickerOverlayPositionEnum.topLeft]: 'top-start',\n    [DatePickerOverlayPositionEnum.topRight]: 'top-end',\n};\n\ntype PropsT = {\n    position?: DatePickerOverlayPositionEnum;\n    className?: string;\n    isOpen?: boolean;\n    referenceElement: HTMLElement | null;\n    onClose: () => void;\n};\n\nconst DatePickerOverlay: React.FC<PropsT> = (props) => {\n    const { className, children, referenceElement, onClose } = props;\n\n    const isOpen = !!props.isOpen;\n    const position = props.position || DatePickerOverlayPositionEnum.bottomLeft;\n\n    const { refs, floatingStyles, context } = useFloating({\n        open: isOpen,\n        onOpenChange: (open) => {\n            if (!open) {\n                onClose();\n            }\n        },\n        elements: { reference: referenceElement },\n        placement: POSITION_TO_PLACEMENT[position],\n        middleware: [offset(0), flip({ padding: 8 }), shift({ padding: 8 })],\n        strategy: 'fixed',\n        transform: false,\n        whileElementsMounted: autoUpdate,\n    });\n\n    const dismiss = useDismiss(context, {\n        outsidePressEvent: 'mousedown',\n    });\n\n    const { getFloatingProps } = useInteractions([dismiss]);\n\n    if (!isOpen) {\n        return null;\n    }\n\n    return (\n        <FloatingPortal>\n            <div\n                ref={refs.setFloating}\n                style={floatingStyles}\n                className={cs(cx('overlay'), className)}\n                {...getFloatingProps({\n                    onClick(event: React.MouseEvent<HTMLDivElement>) {\n                        // fix formik submit, button in datepicker has not \"button\" type attribute\n                        // https://github.com/formium/formik/issues/1610#issuecomment-529572094\n                        event.preventDefault();\n                        event.stopPropagation();\n                    },\n                })}\n            >\n                {children}\n            </div>\n        </FloatingPortal>\n    );\n};\n\nexport default DatePickerOverlay;\n","import * as React from 'react';\nimport EditTruckSidebarContent from './EditTruckSidebarContent/EditTruckSidebarContent';\nimport TruckDetailsSidebarContent from './TruckDetailsSidebarContent/TruckDetailsSidebarContent';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectTrucksByIds,\n    selectTrucksDetailsByIds,\n    selectUpdateTruckRequestStatus,\n} from 'common/store/trucks/selectors';\nimport { SetUnavailableVehicleQueryT } from 'common/utils/api/models';\nimport SetUnavailableAssetConfirmationModal, {\n    SetUnavailableAssetConfirmationDataT,\n} from 'common/layouts/dialogs/SetUnavailableAssetConfirmationModal/SetUnavailableAssetConfirmationModal';\nimport { AssetTypeEnum } from 'common/constants';\nimport ArchiveAssetConfirmationModal, {\n    ArchiveAssetConfirmationDataT,\n} from 'common/layouts/dialogs/ArchiveAssetConfirmationModal/ArchiveAssetConfirmationModal';\nimport ActivateAssetDialogModal, {\n    ActivateAssetConfirmationDataT,\n} from 'common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetDialogModal';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { selectSetUnavailableVehicleRequestStatus } from 'common/store/vehicle-schedules/selectors';\nimport { setUnavailableVehicleRequest } from 'common/store/vehicle-schedules/actions';\nimport { activationTrucksRequest, archiveTrucksRequest } from 'common/store/trucks/actions';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { ActivateTrucksRequestT } from 'common/store/trucks/models';\nimport { logWarning } from 'common/utils/logger';\n\ntype PropsT = {\n    truckId: TruckIdT;\n    partnerId: PartnerIdT | null;\n    onGoBack?: () => void;\n    onClose?: () => void;\n    isShowMap: boolean;\n    onToggleShowMap: () => void;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n    isDisableShowOnMap?: boolean;\n    isReadOnly?: boolean;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n    onOpenContactDetails: (contractId: CarrierContractIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst CommonEditableTruckDetailsLayout: React.FC<PropsT> = (props) => {\n    const {\n        isDisableShowOnMap,\n        isReadOnly,\n        truckId,\n        partnerId,\n        onGoBack,\n        onClose,\n        isShowMap,\n        onToggleShowMap,\n        setNeedCloseConfirmation,\n        onOpenTruckDetails,\n        onOpenTrailerDetails,\n        onOpenContactDetails,\n        onOpenUserDetails,\n    } = props;\n\n    const [isActiveEditing, setActiveEditing] = React.useState<boolean>(false);\n\n    const updateRequestStatus = useSelector(selectUpdateTruckRequestStatus(partnerId));\n\n    React.useEffect(() => {\n        if (updateRequestStatus.ok) {\n            setActiveEditing(false);\n        }\n    }, [updateRequestStatus.ok]);\n\n    const dispatch = useDispatch();\n\n    const handleEdit = () => {\n        setActiveEditing(true);\n    };\n\n    const truckDetailsById = useSelector(selectTrucksDetailsByIds(partnerId));\n\n    const activateAssetConfirmation = useModalDialog<ActivateAssetConfirmationDataT>();\n    const handleActivate = (truckId: TruckIdT | null): void => {\n        if (!truckId || !partnerId) {\n            logWarning('Empty truckId or partnerId in handleActivate');\n            return;\n        }\n\n        const truckDetails = truckDetailsById[truckId];\n\n        activateAssetConfirmation.setData({\n            companyId: partnerId,\n            assets: [\n                {\n                    id: truckId,\n                    plateNumber: truckDetails?.plateNumber || '',\n                    ratePerKm: truckDetails?.ratePerKm || null,\n                    contractId: truckDetails?.contractId || null,\n                },\n            ],\n        });\n    };\n\n    const handleConfirmActivate = (\n        _: ActivateAssetConfirmationDataT,\n        activateTrucksRequest: ActivateTrucksRequestT,\n    ): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmActivate');\n            return;\n        }\n\n        dispatch(activationTrucksRequest(partnerId, activateTrucksRequest));\n    };\n\n    const truckById = useSelector(selectTrucksByIds(partnerId));\n\n    const archiveAssetConfirmation = useModalDialog<ArchiveAssetConfirmationDataT>();\n    const handleArchive = (truckId: TruckIdT | null): void => {\n        if (!truckId || !partnerId) {\n            logWarning('Empty truckId or partnerId in handleArchive');\n            return;\n        }\n\n        const truck = truckById[truckId];\n\n        archiveAssetConfirmation.setData({\n            companyId: partnerId,\n            assets: [\n                {\n                    id: truckId,\n                    plateNumber: truck?.plateNumber || '',\n                },\n            ],\n        });\n    };\n\n    const handleConfirmArchive = (data: ArchiveAssetConfirmationDataT, reason: string): void => {\n        const ids = data.assets.map((asset) => asset.id);\n        dispatch(archiveTrucksRequest(ids, data.companyId, reason));\n    };\n\n    const setUnavailableModalConfirmation = useModalDialog<SetUnavailableAssetConfirmationDataT>();\n    const setUnavailableStatus = useSelector(selectSetUnavailableVehicleRequestStatus);\n\n    const handleSetUnavailable = (truckId: TruckIdT, query: SetUnavailableVehicleQueryT): void => {\n        const truck = truckById[truckId];\n\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleSetUnavailable');\n            return;\n        }\n\n        setUnavailableModalConfirmation.setData({\n            companyId: partnerId,\n            query: {\n                ...query,\n                truckId,\n            },\n            assets: [\n                {\n                    plateNumber: truck?.plateNumber || '',\n                },\n            ],\n        });\n    };\n\n    const handleSetUnavailableConfirmation = (data: SetUnavailableAssetConfirmationDataT): void => {\n        const { companyId, query } = data;\n\n        dispatch(setUnavailableVehicleRequest(query, companyId));\n    };\n\n    useCloseModalDialogAfterRequest(setUnavailableStatus, [setUnavailableModalConfirmation]);\n    useCloseModalDialogAfterRequest(updateRequestStatus, [activateAssetConfirmation, archiveAssetConfirmation]);\n\n    if (!partnerId) {\n        return null;\n    }\n\n    return (\n        <>\n            {isActiveEditing ? (\n                <EditTruckSidebarContent\n                    partnerId={partnerId}\n                    truckId={truckId}\n                    onClose={onClose}\n                    onGoBack={onGoBack}\n                    onCancel={() => {\n                        setActiveEditing(false);\n                    }}\n                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                    onOpenTruckDetails={onOpenTruckDetails}\n                    onOpenTrailerDetails={onOpenTrailerDetails}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            ) : (\n                <TruckDetailsSidebarContent\n                    partnerId={partnerId}\n                    truckId={truckId}\n                    isShowMap={isShowMap}\n                    isReadOnly={isReadOnly}\n                    isDisableShowOnMap={isDisableShowOnMap}\n                    onToggleShowMap={onToggleShowMap}\n                    onClose={onClose}\n                    onGoBack={onGoBack}\n                    onActivate={handleActivate}\n                    onArchive={handleArchive}\n                    onEdit={handleEdit}\n                    onSetUnavailable={handleSetUnavailable}\n                    onOpenTrailerDetails={onOpenTrailerDetails}\n                    onOpenContactDetails={onOpenContactDetails}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            )}\n            <SetUnavailableAssetConfirmationModal\n                assetType={AssetTypeEnum.truck}\n                data={setUnavailableModalConfirmation.data}\n                onConfirm={handleSetUnavailableConfirmation}\n                onCancel={setUnavailableModalConfirmation.onCancel}\n                onClose={setUnavailableModalConfirmation.onClose}\n                requestStatus={setUnavailableStatus}\n            />\n            <ArchiveAssetConfirmationModal\n                assetType={AssetTypeEnum.truck}\n                data={archiveAssetConfirmation.data}\n                onConfirm={handleConfirmArchive}\n                onCancel={archiveAssetConfirmation.onCancel}\n                onClose={archiveAssetConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n            <ActivateAssetDialogModal\n                companyId={partnerId}\n                assetType={AssetTypeEnum.truck}\n                data={activateAssetConfirmation.data}\n                onConfirm={handleConfirmActivate}\n                onCancel={activateAssetConfirmation.onCancel}\n                onClose={activateAssetConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n        </>\n    );\n};\n\nexport default CommonEditableTruckDetailsLayout;\n","import { getVisibleOptimisticPapers } from './getVisibleOptimisticPapers';\n\ntype EntityPaperShapeT = {\n    id?: PaperIdT | null | undefined;\n};\n\ntype OptimisticPaperShapeT = {\n    afterAttachId: PaperIdT | null;\n};\n\nexport function getTotalWithOptimisticPapersCount<\n    T extends EntityPaperShapeT,\n    O extends OptimisticPaperShapeT,\n>(params: { optimisticPapers: Array<O> | null | undefined; entityPapers: Array<T> | null | undefined }): number {\n    const { optimisticPapers, entityPapers } = params;\n\n    const visibleOptimisticPapers = getVisibleOptimisticPapers({\n        optimisticPapers,\n        entityPapers,\n    });\n\n    return (entityPapers?.length || 0) + visibleOptimisticPapers.length;\n}\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    width?: number;\n    height?: number;\n};\n\nconst UpArrowIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, width = 20, height = 20 } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width={width}\n            height={height}\n            viewBox=\"0 0 20 20\"\n        >\n            <defs>\n                <path id=\"ixmsz480va\" d=\"M13 11H7l3-3z\" />\n            </defs>\n            <use fill={fillColor} fillRule=\"evenodd\" xlinkHref=\"#ixmsz480va\" />\n        </svg>\n    );\n};\n\nUpArrowIcon.displayName = 'UpArrowIcon';\n\nconst storyProps: PropsT = {\n    width: DEFAULT_ICON_SIZE,\n    height: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default UpArrowIcon;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { ApiShipmentAttachedPaperTypeT } from 'common/utils/api/models';\nimport { AttachPapersDropdownControlTrigger } from '../AttachPapersDropdownControlTrigger/AttachPapersDropdownControlTrigger';\nimport ShipmentPaperTypeLabel from 'common/components/papers/labels/ShipmentPaperTypeLabel/ShipmentPaperTypeLabel';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\n\ntype PropsT = {\n    onAttachNew: (paperType: ApiShipmentAttachedPaperTypeT) => void;\n    className?: string;\n};\n\nconst ShipmentPaperAttachPapersDropdownControl: React.FC<PropsT> = React.memo((props) => {\n    const { onAttachNew, className } = props;\n    const { t } = useTranslation();\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum | null> = React.useMemo(() => {\n        return [\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"DELIVERY_NOTE\" />} />,\n                onSelect: () => onAttachNew('DELIVERY_NOTE'),\n            },\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"SIGNED_DELIVERY_NOTE\" />} />,\n                onSelect: () => onAttachNew('SIGNED_DELIVERY_NOTE'),\n            },\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"PALLET_CERTIFICATE\" />} />,\n                onSelect: () => onAttachNew('PALLET_CERTIFICATE'),\n            },\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"TEMPERATURE_RECORD\" />} />,\n                onSelect: () => onAttachNew('TEMPERATURE_RECORD'),\n            },\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"CLAIM_DAMAGE\" />} />,\n                onSelect: () => onAttachNew('CLAIM_DAMAGE'),\n            },\n            SpecialOptionEnum.separator,\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"CUSTOMS_DECLARATION\" />} />,\n                onSelect: () => onAttachNew('CUSTOMS_DECLARATION'),\n            },\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"T1_T2_DOCUMENT\" />} />,\n                onSelect: () => onAttachNew('T1_T2_DOCUMENT'),\n            },\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"EAD\" />} />,\n                onSelect: () => onAttachNew('EAD'),\n            },\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"CERTIFICATE_OF_ORIGIN\" />} />,\n                onSelect: () => onAttachNew('CERTIFICATE_OF_ORIGIN'),\n            },\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"COMMERCIAL_INVOICE\" />} />,\n                onSelect: () => onAttachNew('COMMERCIAL_INVOICE'),\n            },\n            SpecialOptionEnum.separator,\n            {\n                label: <DropdownControlOptionLabel label={<ShipmentPaperTypeLabel type=\"OTHER\" />} />,\n                onSelect: () => onAttachNew('OTHER'),\n            },\n        ];\n    }, [onAttachNew]);\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <AttachPapersDropdownControlTrigger hasExpandIcon isActive={isActive} onClick={onClick}>\n                    {t('common:papers-card.attach-new')}\n                </AttachPapersDropdownControlTrigger>\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n        />\n    );\n});\n\nexport { ShipmentPaperAttachPapersDropdownControl };\n","// extracted by mini-css-extract-plugin\nexport default {\"trigger-wrap\":\"PhoneNumberDropdownInput__trigger-wrap___O9yrX\",\"trigger\":\"PhoneNumberDropdownInput__trigger___aJBGD\",\"trigger--isHovered\":\"PhoneNumberDropdownInput__trigger--isHovered___Rjcjk\",\"trigger--isFocus\":\"PhoneNumberDropdownInput__trigger--isFocus___Duj0Y\",\"trigger--isDisabled\":\"PhoneNumberDropdownInput__trigger--isDisabled___F_tsr\",\"trigger--hasWarning\":\"PhoneNumberDropdownInput__trigger--hasWarning___bqUob\",\"trigger--hasChanges\":\"PhoneNumberDropdownInput__trigger--hasChanges___snm8Q\",\"trigger--hasError\":\"PhoneNumberDropdownInput__trigger--hasError___Uw6om\",\"overlay\":\"PhoneNumberDropdownInput__overlay___OzOF_\",\"fadeIn\":\"PhoneNumberDropdownInput__fadeIn___Zu_0p\",\"blinking\":\"PhoneNumberDropdownInput__blinking___sC9B8\"};","import {\n    AssignActionT,\n    AssignBeginActionT,\n    AssignErrorActionT,\n    ASSIGNMENT_REQUEST,\n    ASSIGNMENT_REQUEST_BEGIN,\n    ASSIGNMENT_REQUEST_ERROR,\n    ASSIGNMENT_REQUEST_SUCCESS,\n    AssignSuccessActionT,\n    CHANGE_USER_SELECTION,\n    ChangeUserSelectionActionT,\n    FETCH_ASSET_SCHEDULE,\n    FETCH_ASSET_SCHEDULE_BEGIN,\n    FETCH_ASSET_SCHEDULE_ERROR,\n    FETCH_ASSET_SCHEDULE_SUCCESS,\n    FETCH_AVAILABLE_CARRIERS_REQUEST,\n    FETCH_AVAILABLE_CARRIERS_REQUEST_BEGIN,\n    FETCH_AVAILABLE_CARRIERS_REQUEST_ERROR,\n    FETCH_AVAILABLE_CARRIERS_REQUEST_SUCCESS,\n    FETCH_AVAILABLE_VEHICLES_REQUEST,\n    FETCH_AVAILABLE_VEHICLES_REQUEST_BEGIN,\n    FETCH_AVAILABLE_VEHICLES_REQUEST_ERROR,\n    FETCH_AVAILABLE_VEHICLES_REQUEST_SUCCESS,\n    FetchAssetScheduleActionT,\n    FetchAssetScheduleBeginActionT,\n    FetchAssetScheduleErrorActionT,\n    FetchAssetScheduleSuccessActionT,\n    FetchAvailableCarriersActionT,\n    FetchAvailableCarriersBeginActionT,\n    FetchAvailableCarriersErrorActionT,\n    FetchAvailableCarriersSuccessActionT,\n    FetchAvailableVehiclesActionT,\n    FetchAvailableVehiclesBeginActionT,\n    FetchAvailableVehiclesErrorActionT,\n    FetchAvailableVehiclesSuccessActionT,\n    FIND_TRAILER_REQUEST,\n    FIND_TRAILER_REQUEST_BEGIN,\n    FIND_TRAILER_REQUEST_ERROR,\n    FIND_TRAILER_REQUEST_SUCCESS,\n    FIND_TRUCK_REQUEST,\n    FIND_TRUCK_REQUEST_BEGIN,\n    FIND_TRUCK_REQUEST_ERROR,\n    FIND_TRUCK_REQUEST_SUCCESS,\n    FindTrailerActionT,\n    FindTrailerBeginActionT,\n    FindTrailerErrorActionT,\n    FindTrailerSuccessActionT,\n    FindTruckActionT,\n    FindTruckBeginActionT,\n    FindTruckErrorActionT,\n    FindTruckSuccessActionT,\n    INIT,\n    INIT_USER_SELECTION,\n    InitActionT,\n    InitUserSelectionActionT,\n    PREDICT_SELF_COST_REQUEST,\n    PREDICT_SELF_COST_REQUEST_BEGIN,\n    PREDICT_SELF_COST_REQUEST_ERROR,\n    PREDICT_SELF_COST_REQUEST_SUCCESS,\n    PredictSelfCostActionT,\n    PredictSelfCostBeginActionT,\n    PredictSelfCostErrorActionT,\n    PredictSelfCostSuccessActionT,\n    REFRESH_TRAILER_REQUEST,\n    REFRESH_TRUCK_REQUEST,\n    RefreshTrailerActionT,\n    RefreshTruckActionT,\n    RESET,\n    ResetActionT,\n    SET_ASSET_SCHEDULE,\n    SET_INIT_ASSETS_INFO,\n    SET_EVENT_LOAD_ROUTE,\n    SET_SELECTED_SCHEDULE_EVENT_ID,\n    SET_SHOW_SELECTED_ASSET_SCHEDULES,\n    SetAssetScheduleActionT,\n    SetEventLoadRouteActionT,\n    SetSelectedScheduleEventIdActionT,\n    SetShowSelectedAssetScheduleActionT,\n    SetInitAssetsInfoActionT,\n    FETCH_ASSIGN_DETAILS_REQUEST,\n    FETCH_ASSIGN_DETAILS_REQUEST_BEGIN,\n    FETCH_ASSIGN_DETAILS_REQUEST_SUCCESS,\n    FETCH_ASSIGN_DETAILS_REQUEST_ERROR,\n    FetchAssignDetailsActionT,\n    FetchAssignDetailsBeginActionT,\n    FetchAssignDetailsSuccessActionT,\n    FetchAssignDetailsErrorActionT,\n} from './types';\n\nimport {\n    ApiAssignmentDetailsT,\n    AssignmentVehiclesSuggestItemT,\n    AssignmentVehiclesT,\n    AvailableVehiclesQueryT,\n    CarrierT,\n    FindTrailerQueryT,\n    FindTruckQueryT,\n    ScheduleEventIdT,\n    ScheduleEventT,\n    SelfCostPredictionQueryT,\n    SelfCostPredictionT,\n    UserSelectionT,\n} from './models';\n\nexport const initUserSelection = (\n    brokerOrderId: BrokerOrderIdT | null,\n    tourId: TourIdT | null,\n    changes: Partial<UserSelectionT>,\n): InitUserSelectionActionT => ({\n    type: INIT_USER_SELECTION,\n    changes,\n    brokerOrderId,\n    tourId,\n});\n\nexport const changeUserSelection = (\n    brokerOrderId: BrokerOrderIdT | null,\n    tourId: TourIdT | null,\n    changes: Partial<UserSelectionT>,\n): ChangeUserSelectionActionT => ({\n    type: CHANGE_USER_SELECTION,\n    brokerOrderId,\n    tourId,\n    changes,\n});\n\nexport const fetchAvailableVehicles = (query: AvailableVehiclesQueryT): FetchAvailableVehiclesActionT => ({\n    type: FETCH_AVAILABLE_VEHICLES_REQUEST,\n    query,\n});\n\nexport const fetchAvailableVehiclesBegin = (query: AvailableVehiclesQueryT): FetchAvailableVehiclesBeginActionT => ({\n    type: FETCH_AVAILABLE_VEHICLES_REQUEST_BEGIN,\n    query,\n});\n\nexport const fetchAvailableVehiclesSuccess = (\n    query: AvailableVehiclesQueryT,\n    vehicles: AssignmentVehiclesT[],\n): FetchAvailableVehiclesSuccessActionT => ({\n    type: FETCH_AVAILABLE_VEHICLES_REQUEST_SUCCESS,\n    vehicles,\n    query,\n});\n\nexport const fetchAvailableVehiclesError = (\n    query: AvailableVehiclesQueryT,\n    error: Error,\n): FetchAvailableVehiclesErrorActionT => ({\n    type: FETCH_AVAILABLE_VEHICLES_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const fetchAvailableCarriers = (options?: FetchOptionsT): FetchAvailableCarriersActionT => ({\n    type: FETCH_AVAILABLE_CARRIERS_REQUEST,\n    options,\n});\n\nexport const fetchAvailableCarriersBegin = (): FetchAvailableCarriersBeginActionT => ({\n    type: FETCH_AVAILABLE_CARRIERS_REQUEST_BEGIN,\n});\n\nexport const fetchAvailableCarriersSuccess = (carriers: CarrierT[]): FetchAvailableCarriersSuccessActionT => ({\n    type: FETCH_AVAILABLE_CARRIERS_REQUEST_SUCCESS,\n    carriers,\n});\n\nexport const fetchAvailableCarriersError = (error: Error): FetchAvailableCarriersErrorActionT => ({\n    type: FETCH_AVAILABLE_CARRIERS_REQUEST_ERROR,\n    error,\n});\n\nexport const setInitAssetsInfo = (\n    truck: AssignmentVehiclesSuggestItemT | null,\n    trailer: AssignmentVehiclesSuggestItemT | null,\n): SetInitAssetsInfoActionT => ({\n    type: SET_INIT_ASSETS_INFO,\n    truck,\n    trailer,\n});\n\nexport const refreshTrailer = (query: FindTrailerQueryT): RefreshTrailerActionT => ({\n    type: REFRESH_TRAILER_REQUEST,\n    query,\n});\n\nexport const findTrailer = (query: FindTrailerQueryT): FindTrailerActionT => ({\n    type: FIND_TRAILER_REQUEST,\n    query,\n});\n\nexport const findTrailerBegin = (query: FindTrailerQueryT): FindTrailerBeginActionT => ({\n    type: FIND_TRAILER_REQUEST_BEGIN,\n    query,\n});\n\nexport const findTrailerSuccess = (\n    query: FindTrailerQueryT,\n    trailersSuggestItems: AssignmentVehiclesSuggestItemT[],\n): FindTrailerSuccessActionT => ({\n    type: FIND_TRAILER_REQUEST_SUCCESS,\n    trailersSuggestItems,\n    query,\n});\n\nexport const findTrailerError = (query: FindTrailerQueryT, error: Error): FindTrailerErrorActionT => ({\n    type: FIND_TRAILER_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const refreshTruck = (query: FindTruckQueryT): RefreshTruckActionT => ({\n    type: REFRESH_TRUCK_REQUEST,\n    query,\n});\n\nexport const findTruck = (query: FindTruckQueryT): FindTruckActionT => ({\n    type: FIND_TRUCK_REQUEST,\n    query,\n});\n\nexport const findTruckBegin = (query: FindTruckQueryT): FindTruckBeginActionT => ({\n    type: FIND_TRUCK_REQUEST_BEGIN,\n    query,\n});\n\nexport const findTruckSuccess = (\n    query: FindTruckQueryT,\n    trucksSuggestItems: AssignmentVehiclesSuggestItemT[],\n): FindTruckSuccessActionT => ({\n    type: FIND_TRUCK_REQUEST_SUCCESS,\n    trucksSuggestItems,\n    query,\n});\n\nexport const findTruckError = (query: FindTruckQueryT, error: Error): FindTruckErrorActionT => ({\n    type: FIND_TRUCK_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const predictSelfCost = (query: SelfCostPredictionQueryT): PredictSelfCostActionT => ({\n    type: PREDICT_SELF_COST_REQUEST,\n    query,\n});\n\nexport const predictSelfCostBegin = (query: SelfCostPredictionQueryT): PredictSelfCostBeginActionT => ({\n    type: PREDICT_SELF_COST_REQUEST_BEGIN,\n    query,\n});\n\nexport const predictSelfCostSuccess = (\n    query: SelfCostPredictionQueryT,\n    selfCostPrediction: SelfCostPredictionT | null,\n): PredictSelfCostSuccessActionT => ({\n    type: PREDICT_SELF_COST_REQUEST_SUCCESS,\n    selfCostPrediction,\n    query,\n});\n\nexport const predictSelfCostError = (query: SelfCostPredictionQueryT, error: Error): PredictSelfCostErrorActionT => ({\n    type: PREDICT_SELF_COST_REQUEST_ERROR,\n    error,\n    query,\n});\n\nexport const assign = (\n    brokerOrderId: BrokerOrderIdT,\n    tourId: TourIdT,\n    assignmentContextId: AssignmentContextIdT,\n): AssignActionT => ({\n    type: ASSIGNMENT_REQUEST,\n    brokerOrderId,\n    tourId,\n    assignmentContextId,\n});\n\nexport const assignBegin = (): AssignBeginActionT => ({\n    type: ASSIGNMENT_REQUEST_BEGIN,\n});\n\nexport const assignSuccess = (): AssignSuccessActionT => ({\n    type: ASSIGNMENT_REQUEST_SUCCESS,\n});\n\nexport const assignError = (error: Error): AssignErrorActionT => ({\n    type: ASSIGNMENT_REQUEST_ERROR,\n    error,\n});\n\nexport const fetchAssetSchedule = (\n    assetId: AssetIdT,\n    brokerOrderId: BrokerOrderIdT,\n    tourId: TourIdT,\n): FetchAssetScheduleActionT => ({\n    type: FETCH_ASSET_SCHEDULE,\n    assetId,\n    brokerOrderId,\n    tourId,\n});\n\nexport const fetchAssetScheduleBegin = (assetId: AssetIdT): FetchAssetScheduleBeginActionT => ({\n    type: FETCH_ASSET_SCHEDULE_BEGIN,\n    assetId,\n});\n\nexport const fetchAssetScheduleError = (assetId: AssetIdT, error: Error): FetchAssetScheduleErrorActionT => ({\n    type: FETCH_ASSET_SCHEDULE_ERROR,\n    error,\n    assetId,\n});\n\nexport const fetchAssetScheduleSuccess = (assetId: AssetIdT): FetchAssetScheduleSuccessActionT => ({\n    type: FETCH_ASSET_SCHEDULE_SUCCESS,\n    assetId,\n});\n\nexport const fetchAssignDetails = (brokerOrderId: BrokerOrderIdT, tourId: TourIdT): FetchAssignDetailsActionT => ({\n    type: FETCH_ASSIGN_DETAILS_REQUEST,\n    tourId,\n    brokerOrderId,\n});\n\nexport const fetchAssignDetailsBegin = (): FetchAssignDetailsBeginActionT => ({\n    type: FETCH_ASSIGN_DETAILS_REQUEST_BEGIN,\n});\n\nexport const fetchAssignDetailsSuccess = (details: ApiAssignmentDetailsT | null): FetchAssignDetailsSuccessActionT => ({\n    type: FETCH_ASSIGN_DETAILS_REQUEST_SUCCESS,\n    details,\n});\n\nexport const fetchAssignDetailsError = (error: Error): FetchAssignDetailsErrorActionT => ({\n    type: FETCH_ASSIGN_DETAILS_REQUEST_ERROR,\n    error,\n});\n\nexport const setAssetSchedule = (\n    assetId: AssetIdT,\n    events: Array<ScheduleEventT>,\n    currentEventId: ScheduleEventIdT | null,\n): SetAssetScheduleActionT => ({\n    type: SET_ASSET_SCHEDULE,\n    assetId,\n    events,\n    currentEventId,\n});\n\nexport const setEventLoadRoute = (\n    assetId: AssetIdT,\n    scheduleEventId: ScheduleEventIdT,\n    polylines: Array<GooglePolylineT>,\n): SetEventLoadRouteActionT => ({\n    type: SET_EVENT_LOAD_ROUTE,\n    scheduleEventId,\n    polylines,\n    assetId,\n});\n\nexport const setShowSelectedAssetSchedule = (\n    isShowSelectedAssetSchedules: boolean,\n): SetShowSelectedAssetScheduleActionT => ({\n    type: SET_SHOW_SELECTED_ASSET_SCHEDULES,\n    isShowSelectedAssetSchedules,\n});\n\nexport const setSelectedScheduleEventId = (\n    selectedScheduleEventId: ScheduleEventIdT | null,\n): SetSelectedScheduleEventIdActionT => ({\n    type: SET_SELECTED_SCHEDULE_EVENT_ID,\n    selectedScheduleEventId,\n});\n\nexport const initBrokerOrderAssignment = (): InitActionT => ({\n    type: INIT,\n});\n\nexport const resetBrokerOrderAssignment = (): ResetActionT => ({\n    type: RESET,\n});\n","import * as React from 'react';\nimport { useMoneyDiff } from 'common/utils/hooks/useMoneyDiff';\n\nexport type MoneyDiffPropsT = {\n    value: number | null | undefined;\n    baseValue: number | null | undefined;\n    children: (diff: number | null) => React.ReactNode;\n};\n\nconst MoneyDiff: React.FC<MoneyDiffPropsT> = (props) => {\n    const { value, baseValue, children } = props;\n\n    const diff = useMoneyDiff(baseValue, value);\n\n    return <>{children(diff)}</>;\n};\n\nexport default MoneyDiff;\n","import { useMemo } from 'react';\nimport { ApiStopTypeT, ApiTransportationOrderWaypointT, StopTypeEnum } from 'common/utils/api/models';\n\nconst useTransportOrderPayloadWaypoints = (waypoints: Array<ApiTransportationOrderWaypointT> | null | undefined) => {\n    return useMemo(() => {\n        if (!waypoints) {\n            return {\n                firstPayloadWaypoint: null,\n                lastPayloadWaypoint: null,\n            };\n        }\n\n        const originWaypoint = waypoints?.find((waypoint) => {\n            return waypoint?.origin;\n        });\n\n        const destinationWaypoint = waypoints?.find((waypoint) => {\n            return waypoint?.destination;\n        });\n\n        const payloadWaypointStopTypeSet = new Set<ApiStopTypeT>([\n            StopTypeEnum.pickupDeliveryShipment,\n            StopTypeEnum.driveThrough,\n            StopTypeEnum.dropAndHook,\n        ]);\n\n        const payloadWaypoints = waypoints?.filter((waypoint) => {\n            return payloadWaypointStopTypeSet.has(waypoint.type);\n        });\n\n        const firstPayloadWaypoint = payloadWaypoints[0] || null;\n        const lastPayloadWaypoint = payloadWaypoints[payloadWaypoints.length - 1] || null;\n\n        return {\n            originWaypoint: originWaypoint || firstPayloadWaypoint,\n            destinationWaypoint: destinationWaypoint || lastPayloadWaypoint,\n        };\n    }, [waypoints]);\n};\n\nexport { useTransportOrderPayloadWaypoints };\n","import * as React from 'react';\n\nimport { AssetTypeEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport moment from 'moment';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectGPSCheckData, selectGPSIsChecking, selectGPSStatus } from 'common/store/gps-tracking-status/selectors';\nimport { checkGPSStatusRequest, reset } from 'common/store/gps-tracking-status/actions';\nimport { GPStatusEnum } from 'common/store/gps-tracking-status/constants';\nimport { MS_IN_DAY } from 'common/utils/time';\n\nexport type PropsT = {\n    className?: string;\n    plateNumber: string;\n    assetType: AssetTypeEnum;\n    companyId: CompanyIdT;\n    isDedicated: boolean;\n};\n\nconst GPS_EXPIRATION_MS = 7 * MS_IN_DAY;\n\nconst LastGPSPositionAlert: React.FC<PropsT> = React.memo((props) => {\n    const { className, plateNumber, assetType, companyId, isDedicated } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        return () => {\n            dispatch(reset());\n        };\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        dispatch(checkGPSStatusRequest({ companyId, assetType, plateNumber }));\n    }, [dispatch, companyId, assetType, plateNumber]);\n\n    const infoIconNode = <InfoIcon fillColor={StyleGuideColorsEnum.white} />;\n    const loaderIconNode = <ControlLoaderIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />;\n\n    let theme: AlertThemeEnum | null = null;\n    let text: React.ReactNode = null;\n\n    const isChecking = useSelector(selectGPSIsChecking);\n    const gpsStatus = useSelector(selectGPSStatus);\n    const gpsData = useSelector(selectGPSCheckData);\n\n    const renderTime = (time: string | null): [AlertThemeEnum, React.ReactNode] => {\n        if (!time) {\n            return [AlertThemeEnum.orange, t('common:last-gps-position.no-latest-gps-position')];\n        }\n\n        const momentTime = moment(time);\n        const formattedDate = momentTime.format('Do');\n        const formattedMonth = momentTime.format('MMM');\n        const formattedTime = momentTime.format('H:mm');\n\n        const shouldShowOldWarning = momentTime.valueOf() + GPS_EXPIRATION_MS < Date.now();\n\n        if (shouldShowOldWarning) {\n            return [\n                AlertThemeEnum.orange,\n                t('common:last-gps-position.old-latest', {\n                    date: formattedDate,\n                    month: formattedMonth,\n                    time: formattedTime,\n                }),\n            ];\n        }\n\n        if (assetType === AssetTypeEnum.truck) {\n            return [\n                AlertThemeEnum.gray,\n                t('common:last-gps-position.truck.latest', {\n                    date: formattedDate,\n                    month: formattedMonth,\n                    time: formattedTime,\n                }),\n            ];\n        }\n\n        if (assetType === AssetTypeEnum.trailer) {\n            return [\n                AlertThemeEnum.gray,\n                t('common:last-gps-position.trailer.latest', {\n                    date: formattedDate,\n                    month: formattedMonth,\n                    time: formattedTime,\n                }),\n            ];\n        }\n\n        return [AlertThemeEnum.gray, null];\n    };\n\n    if (gpsStatus === GPStatusEnum.unable) {\n        if (isDedicated) {\n            theme = AlertThemeEnum.tomatoRed;\n            text = t('common:last-gps-position.error');\n        } else {\n            theme = AlertThemeEnum.orange;\n            text = t('common:last-gps-position.no-latest-gps-position');\n        }\n    }\n\n    if (gpsStatus === GPStatusEnum.enabled) {\n        const lastUpdateDate = gpsData?.lastUpdateDate || null;\n        [theme, text] = renderTime(lastUpdateDate);\n    }\n\n    if (isChecking && !gpsStatus) {\n        theme = AlertThemeEnum.gray;\n        text = t('common:last-gps-position.loading');\n    }\n\n    return (\n        <Alert\n            className={className}\n            icon={isChecking ? loaderIconNode : infoIconNode}\n            size={AlertSizeEnum.small}\n            theme={theme || AlertThemeEnum.gray}\n        >\n            {text || ''}\n        </Alert>\n    );\n});\n\nexport default LastGPSPositionAlert;\n","import React from 'react';\n\nimport { CompanyContactT } from 'common/store/members/models';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\nimport Modal from 'common/components/Modal/Modal';\nimport { useSelector } from 'react-redux';\nimport { selectContactById, selectUpdateMemberRequest } from 'common/store/members/selectors';\nimport { logWarning } from 'common/utils/logger';\n\nexport type DeleteContactConfirmationDataT = {\n    partnerId: CompanyIdT;\n    contactId: CompanyContactT['id'];\n};\n\nexport type DeleteContactConfirmationPropsT = {\n    data: DeleteContactConfirmationDataT | null;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (partnerId: PartnerIdT, contactId: ContactIdT) => void;\n};\n\nconst TEST_SELECTOR = 'delete-contact-confirmation';\n\nconst DeleteContactConfirmation: React.FC<DeleteContactConfirmationPropsT> = React.memo((props) => {\n    const { data, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    const contactById = useSelector(selectContactById(data?.partnerId || null));\n    const updateMemberRequestStatus = useSelector(selectUpdateMemberRequest(data?.partnerId || null));\n\n    if (!data) {\n        return null;\n    }\n\n    const contact = contactById[data?.contactId as ContactIdT];\n    if (!contact) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: updateMemberRequestStatus.loading,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:team-members.dialogs.delete-contact.delete'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: updateMemberRequestStatus.loading,\n                            onClick: () => {\n                                if (data.contactId) {\n                                    onConfirm(data.partnerId, data.contactId);\n                                } else {\n                                    logWarning('empty deletingContactId');\n                                }\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('common:team-members.dialogs.delete-contact.title', {\n                        fullName: contact?.fullName,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default DeleteContactConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ControlsCell__wrap___CjBks\",\"controls\":\"ControlsCell__controls___jGHhF\",\"option\":\"ControlsCell__option___GWmf6\",\"option__icon\":\"ControlsCell__option__icon___CDp1c\",\"option__icon--delete\":\"ControlsCell__option__icon--delete___WKvOg\",\"option__icon--assign-admin\":\"ControlsCell__option__icon--assign-admin___AUOGL\",\"fadeIn\":\"ControlsCell__fadeIn___Qgjkl\",\"blinking\":\"ControlsCell__blinking___Fi1EC\"};","export enum FieldsEnum {\n    totalPrice = 'totalPrice',\n}\n\nexport type FormTouchedT = Partial<Record<FieldsEnum, boolean>>;\n\nexport type FormValuesT = {\n    [FieldsEnum.totalPrice]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { FieldsEnum, FormValuesT, UpdateWayEnum } from './constants';\nimport { AssetDataT } from '../models';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { ApiChangeContractVehiclesRequestT, ApiChangeRateVehiclesRequestT } from 'common/utils/api/models';\nimport { isNonNil } from 'common/utils';\nimport isNumber from 'lodash/isNumber';\n\nexport const prepareChangeRateRequest = (\n    assets: Array<AssetDataT>,\n    values: FormValuesT,\n): ApiChangeRateVehiclesRequestT | null => {\n    const assetIds = assets.map((asset) => asset?.id).filter(isNonNil) || [];\n\n    const rate = parseSimpleNumber(values[FieldsEnum.rate]);\n    if (!isNumber(rate)) {\n        return null;\n    }\n\n    return {\n        ids: assetIds,\n        rate,\n    };\n};\n\nexport const prepareChangeContractRequest = (\n    assets: Array<AssetDataT>,\n    values: FormValuesT,\n): ApiChangeContractVehiclesRequestT | null => {\n    const assetIds = assets.map((asset) => asset?.id).filter(isNonNil) || [];\n\n    if (values[FieldsEnum.updateWay] === UpdateWayEnum.unassignContract) {\n        return {\n            ids: assetIds,\n        };\n    }\n\n    return {\n        ids: assetIds,\n        contractId: values[FieldsEnum.contractId] || undefined,\n    };\n};\n","import * as React from 'react';\nimport ActionOverlay from 'common/components/ActionOverlay/ActionOverlay';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst LockStatusOnChangeForm: React.FC<PropsT> = React.memo((props) => {\n    const { children, className } = props;\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    const hasFormChanges = !!remoteFormActionsContext?.remoteFormState?.hasChanges;\n\n    return (\n        <ActionOverlay isActive={hasFormChanges} className={className}>\n            {children}\n        </ActionOverlay>\n    );\n});\n\nexport default LockStatusOnChangeForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"TruckFiltersSidebarContent__form___ADMyX\",\"field--plate-number\":\"TruckFiltersSidebarContent__field--plate-number___OxFs7\",\"field--emission-class\":\"TruckFiltersSidebarContent__field--emission-class___ab5Zx\",\"field--status\":\"TruckFiltersSidebarContent__field--status___Zr6Oo\",\"field--country\":\"TruckFiltersSidebarContent__field--country___olAAK\",\"field--contract\":\"TruckFiltersSidebarContent__field--contract___M28uM\",\"field--user\":\"TruckFiltersSidebarContent__field--user___P83UU\",\"field--date\":\"TruckFiltersSidebarContent__field--date___tGaIe\",\"field--link\":\"TruckFiltersSidebarContent__field--link___XM7Nd\",\"fadeIn\":\"TruckFiltersSidebarContent__fadeIn___f_dsr\",\"blinking\":\"TruckFiltersSidebarContent__blinking___Wr58C\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { ShipperContractLaneDetailsT, UpdateShipperContractLaneChangesT } from './models';\n\nexport type ShipperContractLaneDetailsItemStateT = {\n    fetchRequest: RequestStatusT;\n    data: ShipperContractLaneDetailsT | null;\n};\n\nexport const initialShipperContractLaneDetailsItemState: ShipperContractLaneDetailsItemStateT = {\n    fetchRequest: requestStatus.initial,\n    data: null,\n};\n\nexport type ShipperContractLaneDetailsStateT = {\n    updateRequest: RequestStatusT;\n    detailsById: Record<ShipperContractLaneIdT, ShipperContractLaneDetailsItemStateT>;\n};\n\nconst initialState: ShipperContractLaneDetailsStateT = {\n    updateRequest: requestStatus.initial,\n    detailsById: {},\n};\n\nexport const shipperContractLaneDetailsSlice = createSlice({\n    name: 'shipperContractLaneDetails',\n    initialState,\n    reducers: {\n        fetchShipperContractLaneDetails: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                shipperContractId: ShipperContractIdT;\n                laneId: ShipperContractLaneIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchShipperContractLaneDetailsBegin: (\n            state,\n            action: PayloadAction<{\n                shipperContractId: ShipperContractIdT;\n                laneId: ShipperContractLaneIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            const { laneId } = action.payload;\n            const detailsItem = state.detailsById[laneId] || initialShipperContractLaneDetailsItemState;\n\n            state.detailsById[laneId] = {\n                ...detailsItem,\n                fetchRequest: requestStatus.loading,\n            };\n        },\n        fetchShipperContractLaneDetailsSuccess: (\n            state,\n            action: PayloadAction<{\n                shipperContractId: ShipperContractIdT;\n                laneId: ShipperContractLaneIdT;\n                data: ShipperContractLaneDetailsT | null;\n            }>,\n        ) => {\n            const { laneId, data } = action.payload;\n            const detailsItem = state.detailsById[laneId] || initialShipperContractLaneDetailsItemState;\n\n            state.detailsById[laneId] = {\n                ...detailsItem,\n                fetchRequest: requestStatus.ok,\n                data,\n            };\n        },\n        fetchShipperContractLaneDetailsError: (\n            state,\n            action: PayloadAction<{\n                shipperContractId: ShipperContractIdT;\n                laneId: ShipperContractLaneIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { laneId, error } = action.payload;\n            const detailsItem = state.detailsById[laneId] || initialShipperContractLaneDetailsItemState;\n\n            state.detailsById[laneId] = {\n                ...detailsItem,\n                fetchRequest: requestStatus.setError(error),\n            };\n        },\n        revokeShipperContractLane: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                shipperContractId: ShipperContractIdT;\n                laneId: ShipperContractLaneIdT;\n            }>,\n        ) => {\n            // nothing\n        },\n        updateShipperContractLane: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                shipperContractId: ShipperContractIdT;\n                laneId: ShipperContractLaneIdT;\n                detailsChanges: UpdateShipperContractLaneChangesT;\n            }>,\n        ) => {\n            // nothing\n        },\n        updateShipperContractLaneDetailsBegin: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.updateRequest = requestStatus.loading;\n        },\n        updateShipperContractLaneDetailsSuccess: (\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{}>,\n        ) => {\n            state.updateRequest = requestStatus.ok;\n        },\n        updateShipperContractLaneDetailsError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n            state.updateRequest = requestStatus.setError(error);\n        },\n    },\n});\n\nexport const {\n    fetchShipperContractLaneDetails,\n    fetchShipperContractLaneDetailsBegin,\n    fetchShipperContractLaneDetailsSuccess,\n    fetchShipperContractLaneDetailsError,\n    revokeShipperContractLane,\n    updateShipperContractLane,\n    updateShipperContractLaneDetailsBegin,\n    updateShipperContractLaneDetailsError,\n    updateShipperContractLaneDetailsSuccess,\n} = shipperContractLaneDetailsSlice.actions;\n\nexport default shipperContractLaneDetailsSlice.reducer;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"ShipperContractLanesLayout__fadeIn___qASJn\",\"blinking\":\"ShipperContractLanesLayout__blinking___GhlC5\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './InviteDriverForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { AsyncFormErrorsT, FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { ApiInviteDriverRequestT } from 'common/utils/api/models';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport PhoneNumberInput from 'common/components/PhoneNumberInput/PhoneNumberInput';\nimport { PHONE_NUMBER_PREFIX } from 'common/constants';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport asyncValidate from './async-validations';\nimport { TranziitApiRequestErrorSubTypeEnum } from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    requestStatus: RequestStatusT;\n    onInviteUser: (newDriver: ApiInviteDriverRequestT) => void;\n};\n\nexport const INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.phone]: PHONE_NUMBER_PREFIX,\n};\n\nconst InviteDriverForm: React.FC<PropsT> = (props) => {\n    const { onInviteUser, requestStatus } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...INITIAL_VALUES,\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            onInviteUser({\n                phone: values[FieldsEnum.phone],\n            });\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const renderPhoneNumberAsyncError = (asyncError: AsyncFormErrorsT[FieldsEnum.phone]): string | null => {\n        if (asyncError === TranziitApiRequestErrorSubTypeEnum.phoneAlreadyExist) {\n            return t('common:auth-errors.phone-already-exist');\n        }\n\n        return asyncError || null;\n    };\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(requestStatus);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [requestStatus.error]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('wrap')}>\n                <div className={cx('image')} />\n                <div className={cx('title')}>{t('common:drivers-page.invite-modal.title')}</div>\n                <div className={cx('form')}>\n                    <FormikField\n                        name={FieldsEnum.phone}\n                        error={formik.errors[FieldsEnum.phone]}\n                        meta={formik.getFieldMeta(FieldsEnum.phone)}\n                        label={t('common:drivers-page.invite-modal.fields.labels.phone')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        asyncError={renderPhoneNumberAsyncError(asyncFormErrors[FieldsEnum.phone])}\n                        resetAsyncError={resetAsyncFormErrors}\n                    >\n                        {(props) => (\n                            <PhoneNumberInput\n                                name={FieldsEnum.phone}\n                                value={formik.values[FieldsEnum.phone]}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                            />\n                        )}\n                    </FormikField>\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isLoading={requestStatus.loading}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('common:drivers-page.invite-modal.submit')}\n                </Button>\n            </div>\n        </form>\n    );\n};\n\nexport default InviteDriverForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"PickupOrDeliveryRoutePointPicker__wrap___sSA9P\",\"field--location\":\"PickupOrDeliveryRoutePointPicker__field--location___Dk5LS\",\"geo-suggest\":\"PickupOrDeliveryRoutePointPicker__geo-suggest___jJDFg\",\"time-picker\":\"PickupOrDeliveryRoutePointPicker__time-picker___OvBYL\",\"triangle\":\"PickupOrDeliveryRoutePointPicker__triangle___VhHjQ\",\"triangle--has-remove-control\":\"PickupOrDeliveryRoutePointPicker__triangle--has-remove-control___g_jPJ\",\"right-node\":\"PickupOrDeliveryRoutePointPicker__right-node___Twu_r\",\"time-interval\":\"PickupOrDeliveryRoutePointPicker__time-interval___PIxHm\",\"time-interval--isHalfOpacity\":\"PickupOrDeliveryRoutePointPicker__time-interval--isHalfOpacity___lGosY\",\"fadeIn\":\"PickupOrDeliveryRoutePointPicker__fadeIn___WGvwm\",\"blinking\":\"PickupOrDeliveryRoutePointPicker__blinking___jHu8f\"};","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"DriversTable__table__header___T0Nc5\",\"table__column--avatar\":\"DriversTable__table__column--avatar___nmdeL\",\"table__column--any\":\"DriversTable__table__column--any___Sshsg\",\"table__column--status\":\"DriversTable__table__column--status___T30dJ\",\"fadeIn\":\"DriversTable__fadeIn___TFyF2\",\"blinking\":\"DriversTable__blinking___fY77K\"};","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkEmail, checkMaxLength, checkMinLength, checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.email, FieldsEnum.password];\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n        ...checkMinLength(t, [FieldsEnum.password], values, 6),\n        ...checkMaxLength(t, [FieldsEnum.password], values, 255),\n        ...checkEmail(t, [FieldsEnum.email], values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { DeadheadContactT } from 'broker-admin/store/deadhead-creation/models';\nimport { PointContactsFormValuesT } from '../RouteDetailsForm/constants';\n\nexport const prepareContacts = (contacts: Array<PointContactsFormValuesT>): Array<DeadheadContactT> => {\n    return contacts.map(\n        ({ companyName, fullName, email, phoneNumber, comment }): DeadheadContactT => ({\n            companyName,\n            fullName,\n            email,\n            phone: phoneNumber,\n            comment,\n        }),\n    );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"loader-overlay\":\"LoaderOverlay__loader-overlay___Um7SN\",\"overlay\":\"LoaderOverlay__overlay___KvN1t\",\"inner\":\"LoaderOverlay__inner___BqVeC\",\"fadeIn\":\"LoaderOverlay__fadeIn___nwj7m\",\"blinking\":\"LoaderOverlay__blinking___c1Hin\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const spotRequestsStatsRefreshChannel = new ViewEventChannel<{}>();\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"UploadShipperContractSidebarContent__form___U_ipH\",\"field--name\":\"UploadShipperContractSidebarContent__field--name___xyCJ1\",\"field--number\":\"UploadShipperContractSidebarContent__field--number___fRRZm\",\"field--valid-till\":\"UploadShipperContractSidebarContent__field--valid-till___lWkzW\",\"field--activate-date\":\"UploadShipperContractSidebarContent__field--activate-date___LR1cI\",\"field--file\":\"UploadShipperContractSidebarContent__field--file___wY42H\",\"fadeIn\":\"UploadShipperContractSidebarContent__fadeIn___d8MsD\",\"blinking\":\"UploadShipperContractSidebarContent__blinking___LVDHl\"};","export const ANY_TRAILER_TYPE = '__any__';\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PRICE_COMPONENT_T_MAP } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/constants';\nimport { checkIsPriceComponent } from '../../utils';\nimport { ApiPriceComponentTypeT } from 'broker-admin/utils/api/broker-tranziit/models';\n\ntype PropsT = {\n    priceComponent: ApiPriceComponentTypeT | null | undefined;\n};\n\nconst PriceComponentFilterPill: React.FC<PropsT> = React.memo((props) => {\n    const { priceComponent } = props;\n\n    const { t } = useTranslation();\n\n    if (!priceComponent) {\n        return null;\n    }\n\n    if (checkIsPriceComponent(priceComponent)) {\n        return <span>{t(PRICE_COMPONENT_T_MAP[priceComponent])}</span>;\n    }\n\n    return <span>{priceComponent}</span>;\n});\n\nexport default PriceComponentFilterPill;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT, MAX_RADIUS_KM, MIN_VALID_FROM_VALID_TILL_DAYS } from './constants';\nimport {\n    checkIsPositiveNumberValue,\n    checkMaxValue,\n    checkNotEmpty,\n    checkRoundValue,\n} from 'common/utils/form-validators';\nimport { getDayDiff } from 'common/utils/time';\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(\n            t,\n            [\n                FieldsEnum.pickUpLocationRadius,\n\n                FieldsEnum.dropOffLocationRadius,\n\n                FieldsEnum.validFrom,\n                FieldsEnum.validTill,\n\n                FieldsEnum.layoverLimit,\n            ],\n            values,\n        ),\n        ...checkIsPositiveNumberValue(\n            t,\n            [FieldsEnum.pickUpLocationRadius, FieldsEnum.dropOffLocationRadius, FieldsEnum.layoverLimit],\n            values,\n        ),\n        ...checkMaxValue(t, [FieldsEnum.pickUpLocationRadius, FieldsEnum.dropOffLocationRadius], values, MAX_RADIUS_KM),\n        ...checkMaxValue(t, [FieldsEnum.layoverLimit], values, 48),\n        ...checkRoundValue(t, [FieldsEnum.layoverLimit], values),\n    };\n\n    const validFrom = values[FieldsEnum.validFrom];\n    const validTill = values[FieldsEnum.validTill];\n\n    if (validFrom && validTill && getDayDiff(validFrom, validTill) < MIN_VALID_FROM_VALID_TILL_DAYS) {\n        errors[FieldsEnum.validTill] = t('common:shipper-lane-details.errors.valid-till-inteval-valid-from', {\n            count: MIN_VALID_FROM_VALID_TILL_DAYS,\n        });\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import React, { ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport DocumentsTable, {\n    TableColumnModsEnum,\n    TableColumnT,\n    TableRowMetaT,\n    TableRowModsEnum,\n    TableRowThemeEnum,\n} from 'common/components/DocumentsTable/DocumentsTable';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport classNames from 'classnames/bind';\nimport styles from './BaseShipperContractsTable.scss';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\nimport { ApiShipperContractStatusT } from 'common/utils/api/models';\nimport { ShipperContractsTableRowT } from './models';\nimport ContractNameCell from './cell-renderers/ContractNameCell/ContractNameCell';\nimport DateCell from 'common/components/Table/cell-renderers/DateCell/DateCell';\nimport IdCell from './cell-renderers/IdCell/IdCell';\nimport OrdersCountCell from 'common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/cell-renderers/OrdersCountCell/OrdersCountCell';\nimport ShipperContractStatusPill from 'common/components/status-pill/ShipperContractStatusPill/ShipperContractStatusPill';\nimport { checkIsApiBrokerShipperContract } from 'common/store/shipper-contracts/type-guards';\n\ntype PropsT = {\n    className?: string;\n    tableName: string;\n    rows: Array<ShipperContractsTableRowT>;\n    onSelectRow?: (row: ShipperContractsTableRowT) => void;\n    isLoading: boolean;\n    testSelector?: string;\n    headerNode?: ReactNode;\n    footerNode?: ReactNode;\n    onOpenUserDetails: (userId: UserIdT) => void;\n    contactStatusesAttentionSet?: Set<ApiShipperContractStatusT | null>;\n};\n\nconst cx = classNames.bind(styles);\n\nconst VALID_DATE_FORMAT = 'DD MMM YYYY';\n\nconst BaseShipperContractsTable: React.FC<PropsT> = React.memo((props) => {\n    const {\n        tableName,\n        rows,\n        isLoading,\n        onOpenUserDetails,\n        testSelector,\n        className,\n        headerNode,\n        footerNode,\n        onSelectRow,\n        contactStatusesAttentionSet,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<ShipperContractsTableRowT, void>> = [\n        {\n            renderHeader: () => <span>{t('common:shipper-contracts.table.columns.id')}</span>,\n            headerClassName: cx('table__header', 'table__header--id'),\n            render: (row: ShipperContractsTableRowT) => <IdCell id={row.tztContractId} />,\n            className: cx('table__column', 'table__column--id'),\n            testSelector: 'id',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contracts.table.columns.name')}</span>,\n            headerClassName: cx('table__header', 'table__header--name'),\n            render: (row: ShipperContractsTableRowT) => <ContractNameCell name={row.name} />,\n            className: cx('table__column', 'table__column--name'),\n            testSelector: 'name',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contracts.table.columns.orders-counter')}</span>,\n            headerClassName: cx('table__header', 'table__header--orders-counter'),\n            headerMods: {\n                [TableColumnModsEnum.center]: true,\n            },\n            render: (row: ShipperContractsTableRowT) => (\n                <OrdersCountCell\n                    status={row.status}\n                    ordersLeft={row.ordersLeft}\n                    maxNumberOfOrders={row.maxNumberOfOrders}\n                />\n            ),\n            className: cx('table__column', 'table__column--orders-counter'),\n            testSelector: 'orders-counter',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contracts.table.columns.upload')}</span>,\n            headerClassName: cx('table__header', 'table__header--uploaded'),\n            render: (row: ShipperContractsTableRowT) => {\n                if (checkIsApiBrokerShipperContract(row)) {\n                    return (\n                        <EventCell\n                            date={row.createdDate}\n                            userId={row.createdById}\n                            userFullName={row.createdByName}\n                            byBroker\n                            openUserDetails={onOpenUserDetails}\n                        />\n                    );\n                }\n\n                return <DateCell isBold isBigFont date={row.createdDate} />;\n            },\n            className: cx('table__column', 'table__column--uploaded'),\n            testSelector: 'upload',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contracts.table.columns.valid-till')}</span>,\n            headerClassName: cx('table__header', 'table__header--expire-date'),\n            render: (row: ShipperContractsTableRowT) => {\n                return <DateCell date={row.validTill} dateFormat={VALID_DATE_FORMAT} isBigFont isBold />;\n            },\n            className: cx('table__column', 'table__column--expire-date'),\n            testSelector: 'valid-till',\n        },\n        {\n            renderHeader: () => <span>{t('common:shipper-contracts.table.columns.status')}</span>,\n            headerClassName: cx('table__header', 'table__header--status'),\n            render: (row: ShipperContractsTableRowT) => {\n                return <ShipperContractStatusPill status={row.status} isSymmetrical />;\n            },\n            className: cx('table__column', 'table__column--status'),\n            testSelector: 'status',\n        },\n    ];\n\n    const getRowMods = (meta: TableRowMetaT, row: ShipperContractsTableRowT) => {\n        return {\n            [TableRowModsEnum.hasLeftOrangeBorder]: row?.status && contactStatusesAttentionSet?.has(row.status),\n        };\n    };\n\n    const getRowTheme = (): TableRowThemeEnum => {\n        return TableRowThemeEnum.normal;\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<ShipperContractsTableRowT> tableName={tableName} isLoading={isLoading} rows={rows}>\n                {(rows, isUsedPrevRows) => (\n                    <DocumentsTable<ShipperContractsTableRowT, void>\n                        testSelector={testSelector}\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        isLoading={isLoading}\n                        getRowMods={getRowMods}\n                        getRowTheme={getRowTheme}\n                        onSelectRow={onSelectRow}\n                        isUsedPrevRows={isUsedPrevRows}\n                        headerNode={headerNode}\n                        footerNode={footerNode}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default BaseShipperContractsTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"AlertContainer__container___Vopew\",\"fadeIn\":\"AlertContainer__fadeIn___G3bmd\",\"blinking\":\"AlertContainer__blinking___NvT6u\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"RuleTypeMultipleControl__fadeIn___DVH2K\",\"blinking\":\"RuleTypeMultipleControl__blinking___gs5sh\"};","import { SharableStateT } from '../models';\nimport { initialStateMachineItemState, StateMachineItemStateT } from './slice';\nimport { StateMachineEntityDescriptorT } from 'common/store/state-machine/models';\nimport { getStateMachineEntityHash } from 'common/store/state-machine/utils';\n\nexport const selectStateMachineItemState = <T extends string>(descriptor: StateMachineEntityDescriptorT | null) => {\n    return (state: SharableStateT): StateMachineItemStateT<T> => {\n        if (!descriptor) {\n            // @ts-expect-error T is generic\n            return initialStateMachineItemState;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        // @ts-expect-error T is generic\n        return state.stateMachine[hash] || initialStateMachineItemState;\n    };\n};\n","import { RequestStatusT } from 'common/utils/request-status';\n\nexport const ASSIGNMENT_REQUEST = 'common/driver-assigment/ASSIGNMENT_REQUEST';\nexport const ASSIGNMENT_REQUEST_BEGIN = 'common/driver-assigment/ASSIGNMENT_REQUEST_BEGIN';\nexport const ASSIGNMENT_REQUEST_ERROR = 'common/driver-assigment/ASSIGNMENT_REQUEST_ERROR';\nexport const ASSIGNMENT_REQUEST_SUCCESS = 'common/driver-assigment/ASSIGNMENT_REQUEST_SUCCESS';\n\nexport const RE_ASSIGNMENT_REQUEST = 'common/driver-assigment/RE_ASSIGNMENT_REQUEST';\nexport const RE_ASSIGNMENT_REQUEST_BEGIN = 'common/driver-assigment/RE_ASSIGNMENT_REQUEST_BEGIN';\nexport const RE_ASSIGNMENT_REQUEST_ERROR = 'common/driver-assigment/RE_ASSIGNMENT_REQUEST_ERROR';\nexport const RE_ASSIGNMENT_REQUEST_SUCCESS = 'common/driver-assigment/RE_ASSIGNMENT_REQUEST_SUCCESS';\n\nexport const RESET = 'common/driver-assigment/RESET';\n\nexport type DriverAssigmentStateT = {\n    tourId: TourIdT | null;\n    assigmentStatus: RequestStatusT;\n    reAssigmentStatus: RequestStatusT;\n};\n\nexport type AssignActionT = {\n    type: typeof ASSIGNMENT_REQUEST;\n    driverIds: DriverIdT[];\n    transportationOrderId: TransportOrderIdT;\n};\n\nexport type AssignBeginActionT = {\n    type: typeof ASSIGNMENT_REQUEST_BEGIN;\n};\n\nexport type AssignSuccessActionT = {\n    type: typeof ASSIGNMENT_REQUEST_SUCCESS;\n};\n\nexport type AssignErrorActionT = {\n    type: typeof ASSIGNMENT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type ReAssignActionT = {\n    type: typeof RE_ASSIGNMENT_REQUEST;\n    driverIds: DriverIdT[];\n    transportationOrderId: TransportOrderIdT | undefined;\n};\n\nexport type ReAssignBeginActionT = {\n    type: typeof RE_ASSIGNMENT_REQUEST_BEGIN;\n};\n\nexport type ReAssignSuccessActionT = {\n    type: typeof RE_ASSIGNMENT_REQUEST_SUCCESS;\n};\n\nexport type ReAssignErrorActionT = {\n    type: typeof RE_ASSIGNMENT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type ResetActionT = {\n    type: typeof RESET;\n};\n\nexport type DriverAssigmentActionT =\n    | AssignActionT\n    | AssignBeginActionT\n    | AssignSuccessActionT\n    | AssignErrorActionT\n    | ReAssignActionT\n    | ReAssignBeginActionT\n    | ReAssignSuccessActionT\n    | ReAssignErrorActionT\n    | ResetActionT;\n","import { TFunction } from 'i18next';\nimport { FormErrorsT, FormValuesT } from './constants';\n\nconst validate = (\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    t: TFunction,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    values: FormValuesT,\n): FormErrorsT => {\n    const errors: FormErrorsT = {};\n\n    return errors;\n};\n\nexport default validate;\n","import { CompanyDriverDetailsT, CompanyDriverT, FetchCompanyDriversPageQueryT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nimport { ApiAddDriverRequestT, ApiInviteDriverRequestT, ApiUpdateDriverRequestT } from 'common/utils/api/models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_DRIVERS_PAGE_REQUEST = 'common/drivers/FETCH_DRIVERS_PAGE_REQUEST';\nexport const FETCH_DRIVERS_PAGE_REQUEST_BEGIN = 'common/drivers/FETCH_DRIVERS_PAGE_REQUEST_BEGIN';\nexport const FETCH_DRIVERS_PAGE_REQUEST_SUCCESS = 'common/drivers/FETCH_DRIVERS_PAGE_REQUEST_SUCCESS';\nexport const FETCH_DRIVERS_PAGE_REQUEST_ERROR = 'common/drivers/FETCH_DRIVERS_PAGE_REQUEST_ERROR';\nexport const RESET_DRIVERS = 'common/drivers/RESET_DRIVERS';\n\nexport const FETCH_DRIVER_DETAILS_REQUEST = 'common/drivers/FETCH_DRIVER_DETAILS_REQUEST';\nexport const FETCH_DRIVER_DETAILS_REQUEST_BEGIN = 'common/drivers/FETCH_DRIVER_DETAILS_REQUEST_BEGIN';\nexport const FETCH_DRIVER_DETAILS_REQUEST_SUCCESS = 'common/drivers/FETCH_DRIVER_DETAILS_REQUEST_SUCCESS';\nexport const FETCH_DRIVER_DETAILS_REQUEST_ERROR = 'common/drivers/FETCH_DRIVER_DETAILS_REQUEST_ERROR';\n\nexport const INVITE_DRIVER_REQUEST = 'common/drivers/INVITE_DRIVER_REQUEST';\nexport const INVITE_DRIVER_REQUEST_BEGIN = 'common/drivers/INVITE_DRIVER_REQUEST_BEGIN';\nexport const INVITE_DRIVER_REQUEST_SUCCESS = 'common/drivers/INVITE_DRIVER_REQUEST_SUCCESS';\nexport const INVITE_DRIVER_REQUEST_ERROR = 'common/drivers/INVITE_DRIVER_REQUEST_ERROR';\n\nexport const ADD_DRIVER_REQUEST = 'common/drivers/ADD_DRIVER_REQUEST';\nexport const ADD_DRIVER_REQUEST_BEGIN = 'common/drivers/ADD_DRIVER_REQUEST_BEGIN';\nexport const ADD_DRIVER_REQUEST_SUCCESS = 'common/drivers/ADD_DRIVER_REQUEST_SUCCESS';\nexport const ADD_DRIVER_REQUEST_ERROR = 'common/drivers/ADD_DRIVER_REQUEST_ERROR';\n\nexport const DELETE_DRIVER_REQUEST = 'common/drivers/DELETE_DRIVER_REQUEST';\nexport const DELETE_DRIVER_REQUEST_BEGIN = 'common/drivers/DELETE_DRIVER_REQUEST_BEGIN';\nexport const DELETE_DRIVER_REQUEST_SUCCESS = 'common/drivers/DELETE_DRIVER_REQUEST_SUCCESS';\nexport const DELETE_DRIVER_REQUEST_ERROR = 'common/drivers/DELETE_DRIVER_REQUEST_ERROR';\n\nexport const ACTIVATE_DRIVER = 'common/drivers/ACTIVATE_DRIVER';\nexport const ARCHIVE_DRIVER = 'common/drivers/ARCHIVE_DRIVER';\nexport const CANCEL_DRIVER_INVITE = 'common/drivers/CANCEL_DRIVER_INVITE';\n\nexport const UPDATE_DRIVER_REQUEST = 'common/drivers/UPDATE_DRIVER_REQUEST';\nexport const UPDATE_DRIVER_REQUEST_BEGIN = 'common/drivers/UPDATE_DRIVER_REQUEST_BEGIN';\nexport const UPDATE_DRIVER_REQUEST_SUCCESS = 'common/drivers/UPDATE_DRIVER_REQUEST_SUCCESS';\nexport const UPDATE_DRIVER_REQUEST_ERROR = 'common/drivers/UPDATE_DRIVER_REQUEST_ERROR';\n\nexport type FetchDriversPageActionT = {\n    type: typeof FETCH_DRIVERS_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    companyId: CompanyIdT;\n    query: FetchCompanyDriversPageQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchDriversPageBeginActionT = {\n    type: typeof FETCH_DRIVERS_PAGE_REQUEST_BEGIN;\n    pageNumber: PageNumberT;\n    query: FetchCompanyDriversPageQueryT;\n    companyId: CompanyIdT;\n};\n\nexport type FetchDriversPageSuccessActionT = {\n    type: typeof FETCH_DRIVERS_PAGE_REQUEST_SUCCESS;\n    pageNumber: PageNumberT;\n    query: FetchCompanyDriversPageQueryT;\n    pageResponse: PageResponseT<CompanyDriverT> | null;\n    companyId: CompanyIdT;\n};\n\nexport type FetchDriversPageErrorActionT = {\n    type: typeof FETCH_DRIVERS_PAGE_REQUEST_ERROR;\n    pageNumber: PageNumberT;\n    error: Error;\n    query: FetchCompanyDriversPageQueryT;\n    companyId: CompanyIdT;\n};\n\nexport type ResetDriversActionT = {\n    type: typeof RESET_DRIVERS;\n    companyId: CompanyIdT;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type InviteDriverActionT = {\n    type: typeof INVITE_DRIVER_REQUEST;\n    newDriver: ApiInviteDriverRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type InviteDriverBeginActionT = {\n    type: typeof INVITE_DRIVER_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type InviteDriverSuccessActionT = {\n    type: typeof INVITE_DRIVER_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type InviteDriverErrorActionT = {\n    type: typeof INVITE_DRIVER_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type AddDriverActionT = {\n    type: typeof ADD_DRIVER_REQUEST;\n    newDriver: ApiAddDriverRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type AddDriverBeginActionT = {\n    type: typeof ADD_DRIVER_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type AddDriverSuccessActionT = {\n    type: typeof ADD_DRIVER_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type AddDriverErrorActionT = {\n    type: typeof ADD_DRIVER_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteDriverActionT = {\n    type: typeof DELETE_DRIVER_REQUEST;\n    driverId: DriverIdT;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteDriverBeginActionT = {\n    type: typeof DELETE_DRIVER_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteDriverSuccessActionT = {\n    type: typeof DELETE_DRIVER_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteDriverErrorActionT = {\n    type: typeof DELETE_DRIVER_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateDriverActionT = {\n    type: typeof UPDATE_DRIVER_REQUEST;\n    driverId: DriverIdT;\n    driverChanges: ApiUpdateDriverRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type ActivateDriverActionT = {\n    type: typeof ACTIVATE_DRIVER;\n    driverId: DriverIdT;\n    companyId: CompanyIdT;\n};\n\nexport type ArchiveDriverActionT = {\n    type: typeof ARCHIVE_DRIVER;\n    driverId: DriverIdT;\n    companyId: CompanyIdT;\n};\n\nexport type CancelDriverInviteActionT = {\n    type: typeof CANCEL_DRIVER_INVITE;\n    companyId: CompanyIdT;\n    driverUserId: UserIdT;\n};\n\nexport type UpdateDriverBeginActionT = {\n    type: typeof UPDATE_DRIVER_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateDriverSuccessActionT = {\n    type: typeof UPDATE_DRIVER_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateDriverErrorActionT = {\n    type: typeof UPDATE_DRIVER_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type FetchDriverDetailsActionT = {\n    type: typeof FETCH_DRIVER_DETAILS_REQUEST;\n    companyId: CompanyIdT;\n    driverId: DriverIdT;\n    fetchOptions: FetchOptionsT;\n};\n\nexport type FetchDriverDetailsBeginActionT = {\n    type: typeof FETCH_DRIVER_DETAILS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type FetchDriverDetailsSuccessActionT = {\n    type: typeof FETCH_DRIVER_DETAILS_REQUEST_SUCCESS;\n    driverId: DriverIdT;\n    companyId: CompanyIdT;\n    details: CompanyDriverDetailsT | null;\n};\n\nexport type FetchDriverDetailsErrorActionT = {\n    type: typeof FETCH_DRIVER_DETAILS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type DriversActionT =\n    | FetchDriversPageActionT\n    | FetchDriversPageBeginActionT\n    | FetchDriversPageSuccessActionT\n    | FetchDriversPageErrorActionT\n    | InviteDriverActionT\n    | InviteDriverBeginActionT\n    | InviteDriverSuccessActionT\n    | InviteDriverErrorActionT\n    | AddDriverActionT\n    | AddDriverBeginActionT\n    | AddDriverSuccessActionT\n    | AddDriverErrorActionT\n    | DeleteDriverActionT\n    | DeleteDriverBeginActionT\n    | DeleteDriverSuccessActionT\n    | DeleteDriverErrorActionT\n    | ActivateDriverActionT\n    | ArchiveDriverActionT\n    | UpdateDriverActionT\n    | UpdateDriverBeginActionT\n    | UpdateDriverSuccessActionT\n    | UpdateDriverErrorActionT\n    | FetchDriverDetailsActionT\n    | FetchDriverDetailsBeginActionT\n    | FetchDriverDetailsSuccessActionT\n    | FetchDriverDetailsErrorActionT\n    | ResetDriversActionT;\n\nexport type DriverDetailsByIdT = Record<DriverIdT, CompanyDriverDetailsT | null>;\n\nexport type CompanyDriversStateT = PaginationStateT<CompanyDriverT, FetchCompanyDriversPageQueryT> & {\n    inviteRequest: RequestStatusT;\n    addRequest: RequestStatusT;\n    deleteRequest: RequestStatusT;\n    updateRequest: RequestStatusT;\n    fetchDetailsRequest: RequestStatusT;\n    detailsById: DriverDetailsByIdT;\n};\n\nexport type DriversStateT = Record<CompanyIdT, CompanyDriversStateT | null>;\n","import isNil from 'lodash/isNil';\n\nexport const useMoneyDiff = (baseValue: number | null | undefined, value: number | null | undefined): number | null => {\n    return isNil(value) || isNil(baseValue) ? null : value - baseValue;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"Card__wrap___FAqns\",\"wrap--is-highlighted\":\"Card__wrap--is-highlighted___vzboz\",\"shadow-blink\":\"Card__shadow-blink___Ym7oz\",\"title\":\"Card__title___eOfgx\",\"header\":\"Card__header___GTZb1\",\"right-node\":\"Card__right-node___ueGjD\",\"left-node\":\"Card__left-node___iyKzq\",\"content\":\"Card__content___ByoiH\",\"content--has-top-border\":\"Card__content--has-top-border___MBjkg\",\"tooltip\":\"Card__tooltip___YfbL5\",\"fadeIn\":\"Card__fadeIn___hdWg2\",\"blinking\":\"Card__blinking___qQdqo\"};","import { PartnerRFQStatsStateT, RFQStatsStateT } from './types';\nimport { StateT } from 'broker-admin/store/models';\nimport { initialPartnerState } from 'broker-admin/store/partner/rfq-stats/reducer';\n\nexport const selectRFQStatsRequest = (state: StateT): RFQStatsStateT['fetchRequest'] =>\n    state.partner.rfqStats.fetchRequest;\n\nexport const selectCompanyDocumentsGroup =\n    (companyId: CompanyIdT | null) =>\n    (state: StateT): PartnerRFQStatsStateT => {\n        if (!companyId) {\n            return initialPartnerState;\n        }\n        return state.partner.rfqStats.byId[companyId] || initialPartnerState;\n    };\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ExpiredPartnerShipperLaneContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ShipperContractLaneId from 'broker-admin/components/notification-cards/entities/ShipperContractLaneId/ShipperContractLaneId';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    id: string;\n};\n\nconst ExpiredPartnerShipperLaneContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { id } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-lane-expired\"\n                components={{\n                    id: <ShipperContractLaneId id={id} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ExpiredPartnerShipperLaneContractCard;\n","import * as React from 'react';\n\nimport moment from 'moment';\nimport classNames from 'classnames/bind';\nimport styles from './NotificationsDebugForm.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { sendTestNotification } from 'common/store/notifications/actions';\nimport { selectCurrentUser } from 'common/store/user/selectors';\nimport { UserT } from 'common/store/user/models';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst NotificationsDebugForm: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const dispatch = useDispatch();\n\n    const currentUser = useSelector(selectCurrentUser);\n\n    const getNotification = (currentUser: UserT | null): string => {\n        return JSON.stringify(\n            {\n                initiatorId: null,\n                initiatorType: 'COMPANY',\n                receiverId: currentUser?.id,\n                receiverType: 'USER',\n                action: 'LOAD_STATUS_CHANGED',\n                body: 'string',\n                timestamp: moment().format(),\n                level: 'WEB_APP',\n                subjectId: currentUser?.id,\n                subjectNumber: 'string',\n                subjectType: 'ORDER',\n                bestBefore: moment().format(),\n            },\n            null,\n            4,\n        );\n    };\n\n    const [text, setText] = React.useState<string>(getNotification(currentUser));\n\n    React.useEffect(() => {\n        setText(getNotification(currentUser));\n    }, [currentUser]);\n\n    const featuresContext = React.useContext(FeaturesContext);\n    if (!featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.debugNotificationsForm)) {\n        return null;\n    }\n\n    return (\n        <div className={className} style={{ marginBottom: '20px' }}>\n            <button\n                onClick={() => {\n                    dispatch(sendTestNotification(text));\n                }}\n            >\n                send test notification\n            </button>\n            <br />\n            <br />\n            <div>\n                <textarea\n                    style={{\n                        width: '100%',\n                        height: '400px',\n                    }}\n                    value={text}\n                    onChange={(event) => {\n                        setText(event.target.value);\n                    }}\n                />\n            </div>\n        </div>\n    );\n});\n\nexport default NotificationsDebugForm;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst Invoice2Icon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" width={size} height={size}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 1h18v18H0z\" />\n                <path fill={fillColor} d=\"M5 4h10v12l-1 1H4l-1-1v-2h2z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M15.75 2.5v12.75a2.247 2.247 0 0 1-2.25 2.25h-9a2.247 2.247 0 0 1-2.25-2.25V13H4.5V2.5l1.125 1.125L6.75 2.5l1.125 1.125L9 2.5l1.125 1.125L11.25 2.5l1.125 1.125L13.5 2.5l1.125 1.125L15.75 2.5zm-4.5 12h-7.5v.75c0 .412.338.75.75.75h6.75v-1.5zm3-9.75H6V13h6.75v2.25c0 .412.338.75.75.75s.75-.338.75-.75V4.75zm-3 3.75V10h-4.5V8.5h4.5zm2.25 0V10H12V8.5h1.5zm-2.25-2.25v1.5h-4.5v-1.5h4.5zm2.25 0v1.5H12v-1.5h1.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nInvoice2Icon.displayName = 'Invoice2Icon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default Invoice2Icon;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipperContractLaneDetailsSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport ShipperContractLaneDetails from './ShipperContractLaneDetails/ShipperContractLaneDetails';\nimport {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport EditIcon from 'common/icons/EditIcon';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { ShipperContractLaneStatusEnum } from 'common/utils/api/models';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { ShipperContractLaneDetailsT } from 'common/store/shipper-contract-lane-details/models';\nimport ShipperContractLaneOtherDetails from '../ShipperContractLaneOtherDetails/ShipperContractLaneOtherDetails';\nimport TeamDrivePill from 'common/components/status-pill/TeamDrivePill/TeamDrivePill';\nimport ShipperContractLaneStatusPill from 'common/components/status-pill/ShipperContractLaneStatusPill/ShipperContractLaneStatusPill';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    data: ShipperContractLaneDetailsT | null;\n    isReadOnly?: boolean;\n    onClose?: () => void;\n    onGoBack?: () => void;\n    onRevoke: () => void;\n    onEdit: () => void;\n    onOpenUserDetails?: (userId: UserIdT) => void;\n};\n\nconst ShipperContractLaneDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, isReadOnly, onClose, onGoBack, onRevoke, onEdit, onOpenUserDetails } = props;\n\n    const { t } = useTranslation();\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum | null> = React.useMemo(() => {\n        if (isReadOnly) {\n            return [];\n        }\n\n        return [\n            data?.status === ShipperContractLaneStatusEnum.active && onEdit\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              label={t('common:shipper-lane-details.actions.edit')}\n                              icon={\n                                  <EditIcon\n                                      size={DEFAULT_ICON_SIZE}\n                                      fillColor={StyleGuideColorsEnum.brandAccent}\n                                      strokeColor={StyleGuideColorsEnum.brandDark}\n                                  />\n                              }\n                          />\n                      ),\n                      onSelect: () => {\n                          onEdit();\n                      },\n                  }\n                : null,\n            data?.status === ShipperContractLaneStatusEnum.active && onRevoke\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              label={t('common:shipper-lane-details.actions.revoke')}\n                              icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                          />\n                      ),\n                      onSelect: () => {\n                          onRevoke();\n                      },\n                  }\n                : null,\n        ];\n    }, [t, onEdit, onRevoke, data, isReadOnly]);\n\n    return (\n        <>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={data?.tztLaneId || ''}\n                    afterTitleNode={\n                        <>\n                            <ShipperContractLaneStatusPill className={cx('status')} status={data?.status} />\n                            {data?.teamDrive && <TeamDrivePill />}\n                        </>\n                    }\n                    dropdownOptions={options}\n                    onClose={() => {\n                        if (onClose) {\n                            onClose();\n                        }\n                    }}\n                    onGoBack={onGoBack}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <ShipperContractLaneDetails data={data} />\n                <ShipperContractLaneOtherDetails data={data} onOpenUserDetails={onOpenUserDetails} />\n            </SideBarLayout>\n        </>\n    );\n};\nexport default ShipperContractLaneDetailsSidebarContent;\n","import { AsYouType, isPossiblePhoneNumber, CountryCode, getPhoneCode } from 'libphonenumber-js';\nimport { PHONE_NUMBER_PREFIX } from 'common/constants';\n\nconst NOT_NUMBER_REG_EXP = /\\D/g;\n\nexport const clearPhoneNumber = (rawPhoneNumber: string): string => {\n    const asYouType = new AsYouType();\n\n    if (!rawPhoneNumber) {\n        return '';\n    }\n\n    const formattedPhoneNumber = asYouType.input(rawPhoneNumber);\n\n    const clearedPhoneNumber = formattedPhoneNumber.startsWith(PHONE_NUMBER_PREFIX)\n        ? formattedPhoneNumber.replace(PHONE_NUMBER_PREFIX, '')\n        : formattedPhoneNumber;\n\n    return clearedPhoneNumber;\n};\n\nexport const parsePhoneNumber = (rawPhoneNumber: string): string => {\n    const phoneNumber = rawPhoneNumber.replace(NOT_NUMBER_REG_EXP, '');\n    return `${PHONE_NUMBER_PREFIX}${phoneNumber}`;\n};\n\nexport const getCountryCode = (phoneNumber: string): CountryCode | undefined => {\n    const asYouType = new AsYouType();\n    asYouType.input(parsePhoneNumber(phoneNumber));\n    return asYouType.country;\n};\n\nexport const getCountryPhoneNumberStart = (selectedCountryCode: string): string => {\n    const phoneCode = getPhoneCode(selectedCountryCode as CountryCode);\n\n    return `${PHONE_NUMBER_PREFIX}${phoneCode}`;\n};\n\nexport const checkIsPossiblePhoneNumber = (phoneNumber: string): boolean => {\n    return isPossiblePhoneNumber(phoneNumber);\n};\n\nexport const checkIsEmptyPhoneNumber = (phoneNumber: string): boolean => {\n    const parsedPhoneNumber = phoneNumber.trim();\n    return !parsedPhoneNumber || parsedPhoneNumber === PHONE_NUMBER_PREFIX;\n};\n","import * as React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport {\n    selectBrokerTeamsByIds,\n    selectBrokerTeamsPages,\n    selectBrokerTeamsTotal,\n} from 'broker-admin/store/broker-teams/selectors';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport { BrokerUsersTeamsSortEnum, QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport { fetchBrokerTeamsPage } from 'broker-admin/store/broker-teams/actions';\nimport { BrokerTeamShortT } from 'broker-admin/store/broker-teams/models';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport BrokerTeamsTable from './BrokerTeamsTable/BrokerTeamsTable';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useQueryParams } from 'use-query-params';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport classNames from 'classnames/bind';\nimport styles from './BrokerTeamsLayout.scss';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { deleteTeam } from 'broker-admin/store/broker-team-edit/actions';\nimport DeleteTeamConfirmation, {\n    DeleteTeamConfirmationDataT,\n} from './dialogs/DeleteTeamConfirmation/DeleteTeamConfirmation';\nimport { selectBrokerTeamEditDeleteRequestStatus } from 'broker-admin/store/broker-team-edit/selectors';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport { useInitBrokerPartnersSuggestOptions } from 'broker-admin/components/dropdowns/BrokerPartnersSuggest/hooks/use-init-broker-partners-suggest-options';\nimport { isNonNil } from 'common/utils';\nimport { useInitBrokerUsersSuggestOptions } from 'broker-admin/components/dropdowns/BrokerUserSuggest/hooks/use-init-broker-users-suggest-options';\nimport { selectCurrentCompany } from 'common/store/company/selectors';\nimport keyBy from 'lodash/keyBy';\nimport BrokerUserControl, {\n    BrokerUserControlOptionT,\n    BrokerUserControlValueT,\n} from 'broker-admin/components/dropdowns/BrokerUserControl/BrokerUserControl';\nimport BrokerPartnersControl, {\n    BrokerPartnersControlOptionT,\n    BrokerPartnersControlValueT,\n} from 'broker-admin/components/dropdowns/BrokerPartnersControl/BrokerPartnersControl';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { brokerTeamsPaginationChannel, brokerTeamsRefreshChannel } from 'broker-admin/store/broker-teams/channels';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst BrokerTeamsLayout: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const currentCompany = useSelector(selectCurrentCompany);\n    const currentCompanyId = currentCompany?.id || null;\n\n    const permissions = useSelector(selectPermissions);\n\n    const total = useSelector(selectBrokerTeamsTotal);\n    const brokerTeamsPages = useSelector(selectBrokerTeamsPages);\n    const brokerTeamById = useSelector(selectBrokerTeamsByIds);\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.brokerUsersTeamsFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.brokerUsersTeamsPage]: createPageNumberParam(),\n        [QueryKeysEnum.brokerUsersTeamsSort]: createSortParams<BrokerUsersTeamsSortEnum>({\n            value: BrokerUsersTeamsSortEnum.name,\n            direction: SortDirectionEnum.DESC,\n        }),\n    });\n\n    const pageNumber = query[QueryKeysEnum.brokerUsersTeamsPage];\n    const selectedSort = query[QueryKeysEnum.brokerUsersTeamsSort];\n    const queryFilters = query[QueryKeysEnum.brokerUsersTeamsFilters];\n\n    const page = brokerTeamsPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerTeamsPage({ pageNumber, query, options: { isForceUpdate: false } }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    React.useEffect(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerTeamsPage({ pageNumber, query }));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [dispatch, page, pageNumber, selectedSort, queryFilters]);\n\n    const brokerTeams = React.useMemo(() => {\n        return (ids || []).map((id): BrokerTeamShortT => brokerTeamById[id]);\n    }, [ids, brokerTeamById]);\n\n    const [initBrokerPartnersSuggestValues] = React.useState(queryFilters[QueryFiltersKeysEnum.partnerIds] || []);\n\n    const brokerPartnersSuggestValues = React.useMemo(() => {\n        return queryFilters[QueryFiltersKeysEnum.partnerIds] || [];\n    }, [queryFilters]);\n\n    const {\n        initOptions: initBrokerPartnersSuggestOptions,\n        initRequestStatus: initBrokerPartnersSuggestRequestStatus,\n        onUpdateInitOptions: onUpdateInitBrokerPartnersSuggestOptions,\n    } = useInitBrokerPartnersSuggestOptions(initBrokerPartnersSuggestValues);\n\n    const [initBrokerUsersSuggestValues] = React.useState(queryFilters[QueryFiltersKeysEnum.userIds] || []);\n\n    const brokerUsersSuggestValues = React.useMemo(() => {\n        return queryFilters[QueryFiltersKeysEnum.userIds] || [];\n    }, [queryFilters]);\n\n    const {\n        initOptions: initBrokerUsersSuggestOptions,\n        initRequestStatus: initBrokerUsersSuggestRequestStatus,\n        onUpdateInitOptions: onUpdateInitBrokerUsersSuggestOptions,\n    } = useInitBrokerUsersSuggestOptions(currentCompanyId, initBrokerUsersSuggestValues);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.brokerUsersTeamsPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const refreshPageHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerTeamsPage({ pageNumber, query }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n    useChannelSubscribe(brokerTeamsRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchBrokerTeamsPage({ pageNumber, query, options: { isForceUpdate: true } }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof brokerTeamsPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(brokerTeamsPaginationChannel, setPageHandler);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const goToBrokerTeamDetails = (event: React.MouseEvent, teamId: TeamIdT) => {\n        openLeftSidebar({\n            type: BrokerSidebarsTypeEnum.editBrokerTeamDetails,\n            teamId,\n        });\n    };\n\n    const handleOpenUserDetails = (userId: UserIdT | null) => {\n        if (!userId) {\n            logWarning('Empty userId');\n            return;\n        }\n\n        if (!currentCompanyId) {\n            logWarning('Empty currentCompanyId');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId: currentCompanyId,\n            partnerType: PartnerTypeEnum.broker,\n            userId,\n        });\n    };\n\n    const sortOptions: Array<SortDropdownOptionT<BrokerUsersTeamsSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('broker-users.teams.list.sorts.triggers.name'),\n                value: BrokerUsersTeamsSortEnum.name,\n            },\n            {\n                label: t('broker-users.teams.list.sorts.triggers.created-date'),\n                value: BrokerUsersTeamsSortEnum.createdDate,\n            },\n        ],\n        [t],\n    );\n\n    const deleteTeamConfirmation = useModalDialog<DeleteTeamConfirmationDataT>();\n\n    const deleteTeamRequestStatus = useSelector(\n        selectBrokerTeamEditDeleteRequestStatus(deleteTeamConfirmation.data?.id),\n    );\n\n    useCloseModalDialogAfterRequest(deleteTeamRequestStatus, [deleteTeamConfirmation]);\n\n    const handleDeleteTeam = (teamId: TeamIdT) => {\n        deleteTeamConfirmation.setData({\n            id: teamId,\n        });\n    };\n\n    const handleConfirmDeleteTeam = (data: DeleteTeamConfirmationDataT) => {\n        if (!data?.id) {\n            return;\n        }\n\n        dispatch(deleteTeam({ teamId: data.id }));\n    };\n\n    const handleSelectSort = (sort: PageSortT<BrokerUsersTeamsSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.brokerUsersTeamsPage]: 0,\n            [QueryKeysEnum.brokerUsersTeamsSort]: sort,\n        });\n    };\n\n    const handleSelectBrokerPartners = (\n        values: BrokerPartnersControlValueT[],\n        options: BrokerPartnersControlOptionT[],\n    ) => {\n        onUpdateInitBrokerPartnersSuggestOptions(options);\n\n        const prevQueryFilters = query[QueryKeysEnum.brokerUsersTeamsFilters] || {};\n\n        const optionsById = keyBy(options, 'id');\n\n        const partnerIds = values.filter(isNonNil);\n        const partnerNames = partnerIds.map((partnerId) => {\n            const partner = optionsById[partnerId];\n            return partner?.name || '';\n        });\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            [QueryFiltersKeysEnum.partnerIds]: partnerIds,\n            [QueryFiltersKeysEnum.partnerNames]: partnerNames,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerUsersTeamsPage]: 0,\n            [QueryKeysEnum.brokerUsersTeamsFilters]: queryFilters,\n        });\n    };\n\n    const handleSelectBrokerUsers = (values: BrokerUserControlValueT[], options: BrokerUserControlOptionT[]) => {\n        onUpdateInitBrokerUsersSuggestOptions(options);\n\n        const prevQueryFilters = query[QueryKeysEnum.brokerUsersTeamsFilters] || {};\n\n        const optionsById = keyBy(options, 'id');\n\n        const userIds = values.filter(isNonNil);\n        const userFullNames = userIds.map((userId) => {\n            const option = optionsById[userId];\n            return option?.fullName || '';\n        });\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            [QueryFiltersKeysEnum.userIds]: userIds,\n            [QueryFiltersKeysEnum.userFullNames]: userFullNames,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerUsersTeamsPage]: 0,\n            [QueryKeysEnum.brokerUsersTeamsFilters]: queryFilters,\n        });\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.brokerUsersTeamsFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerUsersTeamsPage]: 0,\n            [QueryKeysEnum.brokerUsersTeamsFilters]: queryFilters,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        const queryFilters = {\n            ...selectedQueryFilters,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.brokerUsersTeamsPage]: 0,\n            [QueryKeysEnum.brokerUsersTeamsFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.searchText]: searchText || undefined,\n        });\n    };\n\n    const handleAddTeam = () => {\n        openLeftSidebar({\n            type: BrokerSidebarsTypeEnum.editBrokerTeamDetails,\n            teamId: null,\n        });\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(brokerTeams, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters([], [queryFilters]);\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('broker-users.teams.list.table.messages.not-found.title')}\n                    description={t('broker-users.teams.list.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('broker-users.teams.list.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('broker-users.teams.list.table.messages.empty-quick-filters.title')}\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('broker-users.teams.list.table.messages.empty.title')}\n                testSelector=\"empty\"\n                isShowAction={false}\n            />\n        );\n    };\n\n    return (\n        <>\n            <ListPageLayout>\n                <ListPageHeaderLayout\n                    withTopPadding\n                    leftToolsNode={\n                        <>\n                            <BrokerPartnersControl\n                                values={brokerPartnersSuggestValues}\n                                onSelect={handleSelectBrokerPartners}\n                                initialOptions={initBrokerPartnersSuggestOptions}\n                                initialRequestStatus={initBrokerPartnersSuggestRequestStatus}\n                                placeholder={t('broker-users.teams.filters.all')}\n                                overlayClassName={cx('filter-overlay')}\n                                allowedQueryMinLength={0}\n                            />\n                            <BrokerUserControl\n                                companyId={currentCompanyId}\n                                values={brokerUsersSuggestValues}\n                                onSelect={handleSelectBrokerUsers}\n                                initialOptions={initBrokerUsersSuggestOptions}\n                                initialRequestStatus={initBrokerUsersSuggestRequestStatus}\n                                placeholder={t('broker-users.teams.filters.all')}\n                                overlayClassName={cx('filter-overlay')}\n                                allowedQueryMinLength={0}\n                            />\n                            <SortDropdown\n                                overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                selectedValue={selectedSort}\n                                options={sortOptions}\n                                onSelect={handleSelectSort}\n                            />\n                            <SearchControl\n                                placeholder={t('broker-users.teams.list.search-placeholder')}\n                                searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                onChangeSearchText={handleSearch}\n                            />\n                        </>\n                    }\n                    filterTagsNode={\n                        <SelectedFilters\n                            isCompact\n                            queryFilters={queryFilters}\n                            setQueryFilters={handleSetQueryFilters}\n                        />\n                    }\n                    rightToolsNode={\n                        permissions.canAddBrokerUsersTeams ? (\n                            <Button theme={ButtonThemeEnum.primary} onClick={handleAddTeam} testSelector=\"add-team\">\n                                {t('broker-users.teams.list.actions.add-team')}\n                            </Button>\n                        ) : null\n                    }\n                />\n                {renderTableMessage()}\n                <BrokerTeamsTable\n                    brokerTeams={brokerTeams}\n                    className={cx('table')}\n                    goToBrokerTeamDetails={goToBrokerTeamDetails}\n                    onOpenUserDetails={handleOpenUserDetails}\n                    isLoading={requestStatus?.loading}\n                    onDelete={handleDeleteTeam}\n                />\n            </ListPageLayout>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n            <DeleteTeamConfirmation\n                data={deleteTeamConfirmation.data}\n                onClose={deleteTeamConfirmation.onClose}\n                onCancel={deleteTeamConfirmation.onCancel}\n                requestStatus={deleteTeamRequestStatus}\n                onConfirm={handleConfirmDeleteTeam}\n            />\n        </>\n    );\n});\n\nexport default BrokerTeamsLayout;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    addDriverBegin,\n    addDriverError,\n    addDriverSuccess,\n    deleteDriverBegin,\n    deleteDriverError,\n    deleteDriverSuccess,\n    fetchDriverDetailsBegin,\n    fetchDriverDetailsError,\n    fetchDriverDetailsSuccess,\n    fetchDriversPageBegin,\n    fetchDriversPageError,\n    fetchDriversPageSuccess,\n    inviteDriverBegin,\n    inviteDriverError,\n    inviteDriverSuccess,\n    resetDrivers,\n    updateDriverBegin,\n    updateDriverError,\n    updateDriverSuccess,\n} from './actions';\n\nimport {\n    ACTIVATE_DRIVER,\n    ActivateDriverActionT,\n    ADD_DRIVER_REQUEST,\n    AddDriverActionT,\n    ARCHIVE_DRIVER,\n    ArchiveDriverActionT,\n    CANCEL_DRIVER_INVITE,\n    CancelDriverInviteActionT,\n    DELETE_DRIVER_REQUEST,\n    DeleteDriverActionT,\n    FETCH_DRIVER_DETAILS_REQUEST,\n    FETCH_DRIVERS_PAGE_REQUEST,\n    FetchDriverDetailsActionT,\n    FetchDriversPageActionT,\n    INVITE_DRIVER_REQUEST,\n    InviteDriverActionT,\n    UPDATE_DRIVER_REQUEST,\n    UpdateDriverActionT,\n} from './types';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectDriversPages, selectDriversQuery } from './selectors';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport {\n    driverDetailsRefreshChannel,\n    driversPaginationChannel,\n    driversRefreshChannel,\n} from 'common/store/drivers/channels';\n\nfunction* fetchDriversSaga(action: FetchDriversPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options, companyId } = action;\n\n    const prevQuery: ReReturnT<typeof selectDriversQuery> = yield select(selectDriversQuery(companyId));\n    const pages: ReReturnT<typeof selectDriversPages> = yield select(selectDriversPages(companyId));\n\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n\n    if (!isSameQuery) {\n        yield put(resetDrivers(companyId, { savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchDriversPageBegin(query, pageNumber, companyId));\n\n    let data: ReturnApiT<typeof carrierTranziitApi.fetchDriversPage | typeof brokerTranziitApi.fetchDriversPage>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        data = yield carrierTranziitApi.fetchDriversPage({\n            ...query,\n            page: pageNumber,\n        });\n    } else {\n        data = yield brokerTranziitApi.fetchDriversPage(companyId, {\n            ...query,\n            page: pageNumber,\n        });\n    }\n    const [error, response] = data;\n    if (error) {\n        yield put(fetchDriversPageError(query, pageNumber, error, companyId));\n        return;\n    }\n\n    yield put(fetchDriversPageSuccess(query, pageNumber, response, companyId));\n\n    checkShouldEmitChangePage(pageNumber, response, driversPaginationChannel);\n}\n\nfunction* inviteDriverSaga(action: InviteDriverActionT): WrapGeneratorT<void> {\n    const { newDriver, companyId } = action;\n\n    yield put(inviteDriverBegin(companyId));\n\n    let response: ReturnApiT<typeof carrierTranziitApi.inviteDriver | typeof brokerTranziitApi.invitePartnerDriver>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.inviteDriver(newDriver);\n    } else {\n        response = yield brokerTranziitApi.invitePartnerDriver(companyId, newDriver);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(inviteDriverError(error, companyId));\n    } else {\n        yield put(inviteDriverSuccess(companyId));\n\n        driversRefreshChannel.emit({});\n    }\n}\n\nfunction* addDriverSaga(action: AddDriverActionT): WrapGeneratorT<void> {\n    const { newDriver, companyId } = action;\n\n    yield put(addDriverBegin(companyId));\n\n    const response: ReturnApiT<typeof carrierTranziitApi.addDriver> = yield carrierTranziitApi.addDriver(newDriver);\n    const [error] = response;\n\n    if (error) {\n        yield put(addDriverError(error, companyId));\n    } else {\n        yield put(addDriverSuccess(companyId));\n\n        driversRefreshChannel.emit({});\n    }\n}\n\nfunction* deleteDriverSaga(action: DeleteDriverActionT): WrapGeneratorT<void> {\n    const { companyId, driverId } = action;\n\n    yield put(deleteDriverBegin(companyId));\n\n    let response: ReturnApiT<typeof carrierTranziitApi.deleteDriver | typeof brokerTranziitApi.deletePartnerDriver>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.deleteDriver(driverId);\n    } else {\n        response = yield brokerTranziitApi.deletePartnerDriver(companyId, driverId);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(deleteDriverError(error, companyId));\n    } else {\n        yield put(deleteDriverSuccess(companyId));\n\n        driversRefreshChannel.emit({});\n        driverDetailsRefreshChannel.emit({\n            driverId,\n            partnerId: companyId,\n        });\n    }\n}\n\nfunction* updateDriverSaga(action: UpdateDriverActionT): WrapGeneratorT<void> {\n    const { companyId, driverId, driverChanges } = action;\n\n    yield put(updateDriverBegin(companyId));\n\n    let response: ReturnApiT<typeof carrierTranziitApi.updateDriver | typeof brokerTranziitApi.updatePartnerDriver>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.updateDriver(driverId, driverChanges);\n    } else {\n        response = yield brokerTranziitApi.updatePartnerDriver(driverId, driverChanges);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(updateDriverError(error, companyId));\n    } else {\n        yield put(updateDriverSuccess(companyId));\n\n        driversRefreshChannel.emit({});\n        driverDetailsRefreshChannel.emit({\n            driverId,\n            partnerId: companyId,\n        });\n    }\n}\n\nfunction* fetchDriverDetailsSaga(action: FetchDriverDetailsActionT): WrapGeneratorT<void> {\n    const { companyId, driverId } = action;\n\n    yield put(fetchDriverDetailsBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof carrierTranziitApi.fetchDriverDetails | typeof brokerTranziitApi.fetchPartnerDriverDetails\n    >;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.fetchDriverDetails(driverId);\n    } else {\n        response = yield brokerTranziitApi.fetchPartnerDriverDetails(companyId, driverId);\n    }\n    const [error, details] = response;\n\n    if (error) {\n        yield put(fetchDriverDetailsError(error, companyId));\n    } else {\n        yield put(fetchDriverDetailsSuccess(driverId, details, companyId));\n    }\n}\n\nfunction* activateDriverSaga(action: ActivateDriverActionT): WrapGeneratorT<void> {\n    const { companyId, driverId } = action;\n\n    yield put(updateDriverBegin(companyId));\n\n    let response: ReturnApiT<typeof carrierTranziitApi.activateDriver | typeof brokerTranziitApi.activatePartnerDriver>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.activateDriver(driverId);\n    } else {\n        response = yield brokerTranziitApi.activatePartnerDriver(companyId, driverId);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(updateDriverError(error, companyId));\n    } else {\n        yield put(updateDriverSuccess(companyId));\n\n        driversRefreshChannel.emit({});\n        driverDetailsRefreshChannel.emit({\n            driverId,\n            partnerId: companyId,\n        });\n    }\n}\n\nfunction* cancelDriverInviteSaga(action: CancelDriverInviteActionT): WrapGeneratorT<void> {\n    const { driverUserId, companyId } = action;\n\n    yield put(updateDriverBegin(companyId));\n\n    let response: ReturnApiT<typeof commonTranziitApi.cancelUserInvite | typeof brokerTranziitApi.cancelUserInvite>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield commonTranziitApi.cancelUserInvite(driverUserId);\n    } else {\n        response = yield brokerTranziitApi.cancelUserInvite(driverUserId);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(updateDriverError(error, companyId));\n    } else {\n        yield put(updateDriverSuccess(companyId));\n\n        driversRefreshChannel.emit({});\n    }\n}\n\nfunction* archiveDriverSaga(action: ArchiveDriverActionT): WrapGeneratorT<void> {\n    const { companyId, driverId } = action;\n\n    yield put(updateDriverBegin(companyId));\n\n    let response: ReturnApiT<typeof carrierTranziitApi.archiveDriver | typeof brokerTranziitApi.archivePartnerDriver>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.archiveDriver(driverId);\n    } else {\n        response = yield brokerTranziitApi.archivePartnerDriver(companyId, driverId);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(updateDriverError(error, companyId));\n    } else {\n        yield put(updateDriverSuccess(companyId));\n\n        driversRefreshChannel.emit({});\n        driverDetailsRefreshChannel.emit({\n            driverId,\n            partnerId: companyId,\n        });\n    }\n}\n\nfunction* companyDriversSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_DRIVERS_PAGE_REQUEST, fetchDriversSaga);\n    yield takeEvery(INVITE_DRIVER_REQUEST, inviteDriverSaga);\n    yield takeEvery(ADD_DRIVER_REQUEST, addDriverSaga);\n    yield takeEvery(DELETE_DRIVER_REQUEST, deleteDriverSaga);\n    yield takeEvery(UPDATE_DRIVER_REQUEST, updateDriverSaga);\n    yield takeEvery(ACTIVATE_DRIVER, activateDriverSaga);\n    yield takeEvery(CANCEL_DRIVER_INVITE, cancelDriverInviteSaga);\n    yield takeEvery(ARCHIVE_DRIVER, archiveDriverSaga);\n    yield takeEvery(FETCH_DRIVER_DETAILS_REQUEST, fetchDriverDetailsSaga);\n}\n\nexport default companyDriversSaga;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TimeWindowZoneText.scss';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { RangeSelectorRangeT } from 'common/components/RangeSelector/models';\nimport { useTranslation } from 'react-i18next';\nimport StopWarningIcon from 'common/icons/StopWarningIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    currentRanges: RangeSelectorRangeT[];\n};\n\nconst TimeWindowZoneText: React.FC<PropsT> = React.memo((props) => {\n    const { currentRanges } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.topLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black}>\n                    <div className={cx('content')}>\n                        <div className={cx('content__left-icon')}>\n                            <StopWarningIcon opacity={0.7} fillColor={StyleGuideColorsEnum.orange} />\n                        </div>\n                        <div className={cx('content__content')}>\n                            {currentRanges?.map((range, rangeIndex) => {\n                                return (\n                                    <div key={rangeIndex} className={cx('text')}>\n                                        {range.label}\n                                    </div>\n                                );\n                            })}\n                        </div>\n                    </div>\n                </TooltipContent>\n            }\n        >\n            {() => (\n                <span className={cx('zone-title')} data-test-selector=\"zone-text\">\n                    {t('broker-order-route-edit.time-window-ranges.surcharge')}\n                </span>\n            )}\n        </Tooltip>\n    );\n});\n\nexport default TimeWindowZoneText;\n","import React, { useEffect } from 'react';\nimport classNames from 'classnames/bind';\nimport isEqual from 'lodash/isEqual';\nimport find from 'lodash/find';\n\nimport styles from './DropdownSearchInput.scss';\nimport SearchIcon from 'common/icons/SearchIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { DropdownOverlayPositionEnum, DropdownOverlayWidthEnum } from '../constants';\nimport DropdownBaseLayout from '../base/DropdownBaseLayout/DropdownBaseLayout';\nimport DropdownBaseButtonTrigger from '../base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport cs from 'classnames';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport useDebouncedEffect from 'common/utils/hooks/useDebouncedEffect';\nimport {\n    checkIsSpecialOption,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { useTranslation } from 'react-i18next';\n\nconst cx = classNames.bind(styles);\n\nexport type IconMetaT = {\n    isDisabled: boolean;\n    isLoading: boolean;\n    hasChanges: boolean;\n    hasWarning: boolean;\n    hasSuccess: boolean;\n    hasError: boolean;\n    hasValue: boolean;\n};\n\nexport type PropsT<OptionT, OptionValueT> = {\n    className?: string;\n    selectedValue: OptionValueT;\n    placeholder?: string;\n    inputPlaceholder?: string;\n    testSelector?: string;\n    isInline?: boolean;\n    isDisabled?: boolean;\n    isLoading?: boolean;\n    hasChanges?: boolean;\n    hasWarning?: boolean;\n    hasSuccess?: boolean;\n    hasError?: boolean;\n    renderLeftIcon?: (meta: IconMetaT) => React.ReactNode;\n    renderRightIcon?: (meta: IconMetaT) => React.ReactNode;\n    renderRightInputIcon?: (meta: IconMetaT) => React.ReactNode;\n    options: Array<OptionT | SpecialOptionEnum>;\n    triggerClassName?: string;\n    onSelect: (value: OptionValueT) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    overlayWidth?: DropdownOverlayWidthEnum;\n    renderOption: (\n        option: OptionT,\n        placeholder?: string, // for compatibility with renderTrigger\n        callbacks?: { onCloseOverlay: () => void }, // for custom action in options\n    ) => React.ReactNode;\n    renderTrigger: (option: OptionT | undefined, placeholder?: string) => React.ReactNode;\n    getOptionValue: (option: OptionT) => OptionValueT;\n    onChangeQuery: (query: string) => void;\n    overlayClassName?: string;\n    optionClassName?: string;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    onReset?: () => void;\n};\n\nconst COLD_TIME_MS = 300;\n\nconst FLOATING_INPUT_POSITIONS = new Set([\n    DropdownOverlayPositionEnum.bottomLeft,\n    DropdownOverlayPositionEnum.bottomRight,\n]);\n\nconst DropdownSearchInput = <OptionT, OptionValueT>(props: PropsT<OptionT, OptionValueT>) => {\n    const {\n        className,\n        selectedValue,\n        testSelector,\n        onSelect,\n        options,\n        renderOption,\n        renderTrigger,\n        getOptionValue,\n        onChangeQuery,\n        isInline,\n        isDisabled,\n        isLoading,\n        renderLeftIcon,\n        hasWarning,\n        hasSuccess,\n        hasChanges,\n        hasError,\n        overlayPosition,\n        overlayWidth,\n        renderRightIcon,\n        renderRightInputIcon,\n        triggerClassName,\n        overlayClassName,\n        optionClassName,\n        onBlur,\n        onFocus,\n        onReset,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const placeholder = props.placeholder || t('common:common-components.any-select-input.placeholder');\n    const inputPlaceholder = props.inputPlaceholder || t('common:common-components.any-select-input.input-placeholder');\n\n    const inputRef = React.useRef<HTMLInputElement>();\n    const [inputValue, setInputValue] = React.useState<string>('');\n    const [isOpen, toggleOpen] = React.useState<boolean>(false);\n\n    useEffect(() => {\n        if (isDisabled) {\n            toggleOpen(false);\n        }\n    }, [isDisabled]);\n\n    const handleOpen = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        if (onFocus) {\n            onFocus();\n        }\n\n        // already opened\n        if (isOpen) {\n            inputRef.current?.focus();\n        }\n\n        toggleOpen(true);\n    };\n\n    const handleClose = (): void => {\n        if (onBlur) {\n            onBlur();\n        }\n\n        toggleOpen(false);\n    };\n\n    const handleOuterEvent = (): void => {\n        if (onBlur) {\n            onBlur();\n        }\n\n        handleClose();\n    };\n\n    const selectedOptionRef = React.useRef<OptionT | undefined>();\n    if (selectedValue) {\n        const findedSelectedOption =\n            find(options, (option) => {\n                if (checkIsSpecialOption(option)) {\n                    return false;\n                }\n\n                return isEqual(getOptionValue(option), selectedValue);\n            }) || null;\n        if (findedSelectedOption) {\n            selectedOptionRef.current = findedSelectedOption as OptionT;\n        }\n    } else {\n        selectedOptionRef.current = undefined;\n    }\n\n    const selectedOption = selectedOptionRef.current;\n\n    const inputProps = {\n        onChange: (event: TODO) => setInputValue(event.target.value),\n        value: inputValue || '',\n        type: 'text',\n        className: cx('search-input', {\n            'search-input--isEmpty': !inputValue,\n            'search-input--isFocus': isOpen,\n        }),\n        placeholder: inputPlaceholder,\n        disabled: isDisabled,\n    };\n\n    useDebouncedEffect(\n        (): void => {\n            onChangeQuery(inputValue);\n        },\n        COLD_TIME_MS,\n        [inputValue],\n    );\n\n    const hasValue = !!selectedOption;\n\n    const searchInputNode = (\n        <div className={cx('search-input__wrap')}>\n            <input\n                ref={(node) => {\n                    node?.focus();\n\n                    // @ts-ignore\n                    inputRef.current = node;\n                }}\n                {...inputProps}\n            />\n            {renderRightInputIcon && (\n                <div className={cx('search-input__icon', 'search-input__icon--right-icon')}>\n                    {renderRightInputIcon({\n                        isDisabled: !!isDisabled,\n                        hasChanges: !!hasChanges,\n                        hasWarning: !!hasWarning,\n                        hasSuccess: !!hasSuccess,\n                        hasError: !!hasError,\n                        isLoading: !!isLoading,\n                        hasValue,\n                    })}\n                </div>\n            )}\n            <div className={cx('search-input__icon', 'search-input__icon--search')}>\n                {isLoading ? (\n                    <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandDark} size={DEFAULT_ICON_SIZE} />\n                ) : (\n                    <SearchIcon fillColor={StyleGuideColorsEnum.brandDark} />\n                )}\n            </div>\n        </div>\n    );\n\n    const isFloatingInput = FLOATING_INPUT_POSITIONS.has(overlayPosition) || !overlayPosition;\n\n    return (\n        <DropdownBaseLayout\n            isInline={isInline}\n            isOpen={isOpen}\n            className={className}\n            onClose={handleOuterEvent}\n            triggerNode={\n                <DropdownBaseButtonTrigger\n                    isEmpty={!selectedOption}\n                    isPressed={isOpen}\n                    renderLeftIcon={\n                        renderLeftIcon\n                            ? (iconMeta) =>\n                                  renderLeftIcon({\n                                      ...iconMeta,\n                                      isLoading: !!isLoading,\n                                      hasValue,\n                                  })\n                            : undefined\n                    }\n                    isDisabled={isDisabled}\n                    hasWarning={hasWarning}\n                    hasSuccess={hasSuccess}\n                    hasChanges={hasChanges}\n                    hasError={hasError}\n                    className={triggerClassName}\n                    testSelector={testSelector}\n                    onClick={handleOpen}\n                    renderRightIcon={\n                        renderRightIcon\n                            ? (iconMeta) =>\n                                  renderRightIcon({\n                                      ...iconMeta,\n                                      isLoading: !!isLoading,\n                                      hasValue,\n                                  })\n                            : undefined\n                    }\n                    isShowClearControl={!!onReset && !!selectedOption}\n                    onReset={() => {\n                        if (onReset) {\n                            onReset();\n                        }\n                    }}\n                >\n                    {renderTrigger(selectedOption, placeholder)}\n                </DropdownBaseButtonTrigger>\n            }\n            overlayPosition={overlayPosition}\n            overlayWidth={overlayWidth}\n            overlayClassName={cs(cx('overlay'), overlayClassName)}\n            overlayNode={\n                <>\n                    {isFloatingInput && searchInputNode}\n                    <div className={cx('options')}>\n                        {options.map((option, index): React.ReactElement | null => {\n                            if (checkIsSpecialOption(option)) {\n                                return <div key={index} className={cx('separator')} />;\n                            }\n\n                            const value = getOptionValue(option);\n\n                            const isSelected = selectedValue === value;\n\n                            return (\n                                <div\n                                    key={index}\n                                    className={cs(\n                                        cx('option', {\n                                            'option--isSelected': isSelected,\n                                        }),\n                                        optionClassName,\n                                    )}\n                                    onClick={(): void => {\n                                        if (isDisabled) {\n                                            return;\n                                        }\n\n                                        onSelect(value);\n                                        handleClose();\n                                        setInputValue('');\n                                    }}\n                                >\n                                    {renderOption(option, placeholder, { onCloseOverlay: handleClose })}\n                                </div>\n                            );\n                        })}\n                    </div>\n                    {!isFloatingInput && searchInputNode}\n                </>\n            }\n        />\n    );\n};\n\nexport default DropdownSearchInput;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"DocumentEventsSummary__table___xwQgM\",\"fadeIn\":\"DocumentEventsSummary__fadeIn___e6AFb\",\"blinking\":\"DocumentEventsSummary__blinking___D5W_5\"};","import { TFunction } from 'i18next';\nimport {\n    diffImpactStrategySet,\n    FieldsEnum,\n    FormErrorsT,\n    FormValuesT,\n    getAvailablePriceComponent,\n    getAvailableStrategies,\n    RepeatTypeEnum,\n} from './constants';\nimport { checkDateIsBeforeDay, checkMinValue, checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [\n    FieldsEnum.name,\n    FieldsEnum.type,\n    FieldsEnum.validFrom,\n    FieldsEnum.trailerTypeIds,\n    FieldsEnum.fromCountryCodes,\n    FieldsEnum.toCountryCodes,\n    FieldsEnum.impactPriceComponent,\n];\n\nconst emptyImpactDiffValuesSet = new Set(['+', '-']);\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const impactStrategy = values[FieldsEnum.impactStrategy];\n    const isDiffImpactStrategy = diffImpactStrategySet.has(impactStrategy);\n\n    let errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    if (isDiffImpactStrategy) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.impactDiffValue], values),\n            ...checkMinValue(t, [FieldsEnum.impactDiffValue], values, -100),\n        };\n    } else {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.impactValue], values),\n        };\n    }\n\n    const impactDiffValue = (values[FieldsEnum.impactDiffValue] || '').trim();\n    if (isDiffImpactStrategy && emptyImpactDiffValuesSet.has(impactDiffValue)) {\n        errors[FieldsEnum.impactDiffValue] = t('common:form-errors.required');\n    }\n\n    const selectedPriceComponent = values[FieldsEnum.impactPriceComponent];\n    const selectedType = values[FieldsEnum.type];\n    const availablePriceComponents = getAvailablePriceComponent(selectedType);\n    if (selectedPriceComponent && !availablePriceComponents.includes(selectedPriceComponent)) {\n        errors[FieldsEnum.impactPriceComponent] = t('common:form-errors.invalid-value');\n    }\n\n    const availableStrategies = getAvailableStrategies(selectedType, selectedPriceComponent);\n    const selectedImpactStrategy = values[FieldsEnum.impactStrategy];\n    if (selectedImpactStrategy && !availableStrategies.includes(selectedImpactStrategy)) {\n        errors[FieldsEnum.impactStrategy] = t('common:form-errors.invalid-value');\n    }\n\n    const dates = values[FieldsEnum.dates];\n    if (values[FieldsEnum.repeatType] === RepeatTypeEnum.dates && !dates?.from && !dates?.to) {\n        errors[FieldsEnum.dates] = t('common:form-errors.required');\n    }\n\n    const days = values[FieldsEnum.days];\n    if (values[FieldsEnum.repeatType] === RepeatTypeEnum.weekdays && !days.length) {\n        errors[FieldsEnum.days] = t('common:form-errors.required');\n    }\n\n    errors = {\n        ...errors,\n        ...checkDateIsBeforeDay(t, [FieldsEnum.validFrom], values, values[FieldsEnum.validTill]),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import * as React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport NotificationCardInnerLayout from 'common/components/notification-cards/shared/NotificationCardInnerLayout/NotificationCardInnerLayout';\nimport NotificationEntityLabel from 'common/components/notification-cards/shared/NotificationEntityLabel/NotificationEntityLabel';\nimport PartnerName from 'broker-admin/components/notification-cards/entities/PartnerName/PartnerName';\n\ntype PropsT = {\n    companyName?: string;\n    updatedFields?: Api2.Definitions.UpdatedBusinessPartnerFields[];\n    requiredToCheckProfile?: boolean;\n};\n\nconst FIELD_I18N_MAP: Record<Api2.Definitions.UpdatedBusinessPartnerFields, string> = {\n    NAME: 'notifications.business-partner-profile-updated.fields.name',\n    LEGAL_FORM: 'notifications.business-partner-profile-updated.fields.legal-form',\n    MAIN_CONTACT: 'notifications.business-partner-profile-updated.fields.main-contact',\n    LEGAL_ADDRESS: 'notifications.business-partner-profile-updated.fields.legal-address',\n    POSTAL_ADDRESS: 'notifications.business-partner-profile-updated.fields.postal-address',\n    BILLING_ADDRESS: 'notifications.business-partner-profile-updated.fields.billing-address',\n};\n\nconst ADDRESS_FIELDS: Api2.Definitions.UpdatedBusinessPartnerFields[] = [\n    'LEGAL_ADDRESS',\n    'POSTAL_ADDRESS',\n    'BILLING_ADDRESS',\n];\n\nconst BusinessPartnerProfileUpdatedCard: React.FC<PropsT> = React.memo((props) => {\n    const { companyName, updatedFields = [], requiredToCheckProfile } = props;\n    const { t } = useTranslation();\n\n    const hasAddressFields = updatedFields.some((field) => ADDRESS_FIELDS.includes(field));\n\n    // Show verification text if:\n    // 1. requiredToCheckProfile === true (explicitly indicates verification is needed)\n    // 2. Or there are addresses in updatedFields (addresses require verification)\n    const showVerificationText = requiredToCheckProfile || hasAddressFields;\n\n    // Determine notification text\n    // If updated by BA/BKAM (no companyName), then \"Your profile's ... got updated.\"\n    // Otherwise \"{{bp_name}} ... got updated.\" with possible addition about verification\n    const isSelfUpdate = !companyName;\n    let i18nKey: string;\n    if (isSelfUpdate) {\n        i18nKey = 'notifications.business-partner-profile-updated.self-updated';\n    } else if (showVerificationText) {\n        i18nKey = 'notifications.business-partner-profile-updated.updated-with-verification';\n    } else {\n        i18nKey = 'notifications.business-partner-profile-updated.updated';\n    }\n\n    const fieldLabels = updatedFields.map((field) => t(FIELD_I18N_MAP[field]));\n\n    // Format field list: \"field1, field2 and field3\" or just \"field1\"\n    const formattedFields = React.useMemo(() => {\n        if (fieldLabels.length === 0) {\n            return '';\n        }\n        if (fieldLabels.length === 1) {\n            return fieldLabels[0];\n        }\n        if (fieldLabels.length === 2) {\n            return `${fieldLabels[0]} and ${fieldLabels[1]}`;\n        }\n        const lastField = fieldLabels[fieldLabels.length - 1];\n        const otherFields = fieldLabels.slice(0, -1).join(', ');\n        return `${otherFields}, and ${lastField}`;\n    }, [fieldLabels]);\n\n    return (\n        <NotificationCardInnerLayout>\n            {isSelfUpdate ? (\n                <Trans\n                    i18nKey={i18nKey}\n                    components={{\n                        fields: <NotificationEntityLabel text={formattedFields} isBold />,\n                    }}\n                />\n            ) : (\n                <Trans\n                    i18nKey={i18nKey}\n                    components={{\n                        partnerName: <PartnerName partnerName={companyName || ''} />,\n                        fields: <NotificationEntityLabel text={formattedFields} isBold />,\n                    }}\n                />\n            )}\n        </NotificationCardInnerLayout>\n    );\n});\n\nexport default BusinessPartnerProfileUpdatedCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"pill\":\"PositionsCell__pill___H0Go_\",\"fadeIn\":\"PositionsCell__fadeIn___HHjdm\",\"blinking\":\"PositionsCell__blinking___qlOzV\"};","import * as React from 'react';\nimport SkeletonFormatter from 'design-system/components/InfoTable/formatters/SkeletonFormatter/SkeletonFormatter';\nimport { useSelector } from 'react-redux';\nimport { selectCountriesByCode, selectCountriesDictRequest } from 'common/store/countries-dict/selectors';\nimport { CountryCodeT } from 'common/utils/api/models';\n\ntype PropsT = {\n    countryCode?: CountryCodeT;\n};\n\nconst AsyncCountryFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { countryCode } = props;\n\n    const countriesDictRequest = useSelector(selectCountriesDictRequest);\n    const countriesByCode = useSelector(selectCountriesByCode);\n\n    if (countriesDictRequest.loading) {\n        return <SkeletonFormatter />;\n    }\n\n    const country = countriesByCode[countryCode as CountryCodeT] || null;\n\n    return <span>{country?.userLangDisplayName}</span>;\n});\n\nexport default AsyncCountryFormatter;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"BrokerTeamsLayout__table___W_rmB\",\"filter-overlay\":\"BrokerTeamsLayout__filter-overlay___jRqCu\",\"fadeIn\":\"BrokerTeamsLayout__fadeIn___YaL1P\",\"blinking\":\"BrokerTeamsLayout__blinking___bZVGt\"};","import * as React from 'react';\nimport ControlsCell from 'common/components/Table/cell-renderers/ControlsCell/ControlsCell';\nimport { useSelector } from 'react-redux';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { ContractsActionsT } from '../../../models';\nimport { useContractsActionOptions } from 'common/layouts/BaseCarrierContractsLayout/hooks/use-contracts-action-options';\nimport { ContractRowT } from '../../models';\n\ntype PropsT = {\n    row: ContractRowT;\n    className?: string;\n} & ContractsActionsT;\n\nconst ActionsCell: React.FC<PropsT> = React.memo((props) => {\n    const { className, row, onDownloadContract, onRevokeContract, onEditContractDetails } = props;\n\n    const permissions = useSelector(selectPermissions);\n\n    const options = useContractsActionOptions(row, permissions, {\n        onDownloadContract,\n        onRevokeContract,\n        onEditContractDetails,\n    });\n\n    return <ControlsCell className={className} options={options} />;\n});\n\nexport default ActionsCell;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { BrokerTeamDetailsT } from './models';\nimport isEqual from 'lodash/isEqual';\n\nexport type BrokerTeamDetailsStateT = {\n    details: BrokerTeamDetailsT | null;\n    requestStatus: RequestStatusT;\n};\n\nexport type BrokerTeamDetailsByIdStateT = Record<TeamIdT, BrokerTeamDetailsStateT>;\n\nexport const initialBrokerTeamDetailsState: BrokerTeamDetailsStateT = {\n    details: null,\n    requestStatus: requestStatus.initial,\n};\n\nconst initialState: BrokerTeamDetailsByIdStateT = {};\n\nexport const brokerTeamDetailsSlice = createSlice({\n    name: 'brokerTeamDetails',\n    initialState,\n    reducers: {\n        fetchBrokerTeamDetails: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                id: TeamIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing - handled by saga\n        },\n        fetchBrokerTeamDetailsBegin: (\n            state,\n            action: PayloadAction<{\n                id: TeamIdT;\n            }>,\n        ) => {\n            const { id } = action.payload;\n            const brokerTeamDetailsState = state[id] || initialBrokerTeamDetailsState;\n\n            state[id] = {\n                ...brokerTeamDetailsState,\n                requestStatus: requestStatus.loading,\n            };\n        },\n        fetchBrokerTeamDetailsSuccess: (\n            state,\n            action: PayloadAction<{\n                id: TeamIdT;\n                details: BrokerTeamDetailsT | null;\n            }>,\n        ) => {\n            const { details, id } = action.payload;\n            const brokerTeamDetailsState = state[id] || initialBrokerTeamDetailsState;\n\n            state[id] = {\n                ...brokerTeamDetailsState,\n                requestStatus: requestStatus.ok,\n                details: isEqual(details, brokerTeamDetailsState.details) ? brokerTeamDetailsState.details : details,\n            };\n        },\n        fetchBrokerTeamDetailsError: (\n            state,\n            action: PayloadAction<{\n                id: TeamIdT;\n                error: Error;\n            }>,\n        ) => {\n            const { error, id } = action.payload;\n            const brokerTeamDetailsState = state[id] || initialBrokerTeamDetailsState;\n\n            state[id] = {\n                ...brokerTeamDetailsState,\n                requestStatus: requestStatus.setError(error),\n            };\n        },\n        resetBrokerTeamDetails: () => {\n            return {};\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchBrokerTeamDetails,\n    fetchBrokerTeamDetailsBegin,\n    fetchBrokerTeamDetailsSuccess,\n    fetchBrokerTeamDetailsError,\n    resetBrokerTeamDetails,\n} = brokerTeamDetailsSlice.actions;\n\nexport default brokerTeamDetailsSlice.reducer;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerTransportOrders.scss';\nimport TransportOrderListPageLayout from 'common/layouts/TransportOrderListPageLayout/TransportOrderListPageLayout';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useHistoryPush } from 'common/utils/hooks/useHistoryPush';\nimport { logWarning } from 'common/utils/logger';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst emptyIndexes: number[] = [];\n\nconst PartnerTransportOrders: React.FC<PropsT> = React.memo(() => {\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const { historyPush } = useHistoryPush();\n\n    const handleOpenTransportOrderDetails = (event: React.MouseEvent, transportOrderId: TransportOrderIdT | null) => {\n        if (!transportOrderId) {\n            return;\n        }\n        if (!partnerType || !partnerId) {\n            logWarning('Empty partnerType or partnerId in handleOpenTransportOrderDetails');\n            return;\n        }\n\n        const url = urlFactory.partnerTransportOrderDetails(partnerType, partnerId, transportOrderId);\n        historyPush(event, url);\n    };\n\n    return (\n        <TransportOrderListPageLayout\n            stat={null}\n            onOpenTransportOrderDetails={handleOpenTransportOrderDetails}\n            orderQuickFilterOptionSeparators={emptyIndexes}\n            orderQuickFilterOptions={null}\n            hasProfileVerificationProblem={false}\n        />\n    );\n});\n\nexport default PartnerTransportOrders;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DevLocalizationLanguageSwitcher.scss';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport LanguageSwitcher from 'common/components/LanguageSwitcher/LanguageSwitcher';\nimport { CIMODE, LangEnum } from 'common/constants';\nimport { changeLanguage } from 'common/locales/i18n';\nimport { useTranslation } from 'react-i18next';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst DevLocalizationLanguageSwitcher: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    const { i18n } = useTranslation();\n\n    const [lang, setLang] = React.useState<LangEnum | typeof CIMODE>(i18n.language as LangEnum);\n\n    const featuresContext = React.useContext(FeaturesContext);\n    if (!featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.i18nLanguageSwitcher)) {\n        return null;\n    }\n\n    return (\n        <div className={className}>\n            <LanguageSwitcher\n                lang={lang}\n                isShowCIMCode\n                overlayPosition={DropdownOverlayPositionEnum.topRight}\n                onChange={(language) => {\n                    if (!language) {\n                        return;\n                    }\n\n                    changeLanguage(language);\n                    setLang(language);\n                }}\n            />\n        </div>\n    );\n});\n\nexport default DevLocalizationLanguageSwitcher;\n","import * as React from 'react';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport { useTranslation } from 'react-i18next';\n\nimport { useParams } from 'react-router-dom';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport { SettingsRuleRoutesEnum } from 'broker-admin/constants';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport PriceSettingsEditRuleLayout from 'broker-admin/layouts/PriceSettingsEditRuleLayout/PriceSettingsEditRuleLayout';\nimport PriceSettingsRulePreviewLayout from 'broker-admin/layouts/PriceSettingsRulePreviewLayout/PriceSettingsRulePreviewLayout';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { PreviewCurrentRuleT } from 'broker-admin/store/price-settings/rules/models';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport classNames from 'classnames/bind';\nimport styles from './PriceSettingsEditRuleDetailsPage.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PriceSettingsEditRuleDetailsPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const params = useParams<ExtractRouterRouteParamsT<SettingsRuleRoutesEnum.ruleDetails>>();\n    const { ruleId } = params;\n\n    const handleClose = () => {\n        goBackIfHasRePath(() => {\n            history.push(urlFactory.settingsRules());\n        });\n    };\n\n    const [previewCurrentRule, setPreviewCurrentRule] = React.useState<PreviewCurrentRuleT | null>(null);\n\n    return (\n        <>\n            <PageTitle title={t('common:page-titles.order-creation')} />\n            <HorizontalColumnsLayout\n                leftColumnTitle={t('common:new-order-page.tabs.form')}\n                leftColumnNode={\n                    <SideBarLayoutContextWrap>\n                        <PriceSettingsEditRuleLayout\n                            editableRuleId={ruleId}\n                            onCancel={handleClose}\n                            onClose={handleClose}\n                            onChangePreviewCurrentRule={setPreviewCurrentRule}\n                        />\n                    </SideBarLayoutContextWrap>\n                }\n                rightColumnTitle={t('broker-order-details.main-tabs.info')}\n                rightColumnNode={\n                    <SideBarLayoutContextWrap>\n                        <div className={cx('preview')}>\n                            <PriceSettingsRulePreviewLayout ruleId={ruleId} previewCurrentRule={previewCurrentRule} />\n                        </div>\n                    </SideBarLayoutContextWrap>\n                }\n            />\n        </>\n    );\n});\n\nexport default PriceSettingsEditRuleDetailsPage;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './RatesTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport DateCell from 'common/components/Table/cell-renderers/DateCell/DateCell';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport { RateT } from 'broker-admin/store/price-settings/rates/models';\nimport CheckboxHeader from 'common/components/Table/header-renderers/CheckboxHeader/CheckboxHeader';\nimport CheckboxCell from 'common/components/Table/cell-renderers/CheckboxCell/CheckboxCell';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport EditableCostCell from 'common/components/Table/cell-renderers/EditableCostCell/EditableCostCell';\nimport EventAuthorCell from 'common/components/Table/cell-renderers/EventAuthorCell/EventAuthorCell';\nimport CountryCell from 'common/components/Table/cell-renderers/CountryCell/CountryCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    rates: Array<RateT>;\n    isDisabled: boolean;\n    isLoading: boolean;\n    className?: string;\n    selectedRatesSet: Set<RateT>;\n    onSelectRates: (selectedRatesSet: Set<RateT>) => void;\n    onUpdateRate: (id: RateT['id'], value: number) => void;\n    onOpenUserDetails: (userId: UserIdT | null) => void;\n};\n\nconst RatesTable: React.FC<PropsT> = React.memo((props) => {\n    const {\n        rates,\n        className,\n        selectedRatesSet,\n        onSelectRates,\n        onUpdateRate,\n        onOpenUserDetails,\n        isDisabled,\n        isLoading,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<RateT, void>> = [\n        {\n            renderHeader: () => (\n                <CheckboxHeader<RateT> selectedRowsSet={selectedRatesSet} rows={rates} onChange={onSelectRates} />\n            ),\n            headerClassName: cx('table__header', 'table__header--checkbox'),\n            render: (rate: RateT) => (\n                <CheckboxCell<RateT> row={rate} selectedRowsSet={selectedRatesSet} onChange={onSelectRates} />\n            ),\n            className: cx('table__column', 'table__column--checkbox'),\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rate-matrix.table.columns.from')}</span>,\n            headerClassName: cx('table__header', 'table__header--country'),\n            render: (rate: RateT) => <CountryCell countryCode={rate.countryFrom} />,\n            className: cx('table__column', 'table__column--country'),\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rate-matrix.table.columns.to')}</span>,\n            headerClassName: cx('table__header', 'table__header--country'),\n            render: (rate: RateT) => <CountryCell countryCode={rate.countryTo} />,\n            className: cx('table__column', 'table__column--country'),\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rate-matrix.table.columns.cost')}</span>,\n            headerClassName: cx('table__header', 'table__header--cost'),\n            render: (rate: RateT, meta) => (\n                <EditableCostCell\n                    cost={rate.costKm}\n                    isHoveredRow={meta.isHovered}\n                    onUpdate={(cost) => {\n                        onUpdateRate(rate.id, cost);\n                    }}\n                />\n            ),\n            className: cx('table__column', 'table__column--cost'),\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rate-matrix.table.columns.update-date')}</span>,\n            headerClassName: cx('table__header', 'table__header--date'),\n            render: (rate: RateT) => <DateCell isBigFont isBold className={cx('update-date')} date={rate.updated} />,\n            className: cx('table__column', 'table__column--date'),\n        },\n        {\n            renderHeader: () => <span>{t('price-settings.rate-matrix.table.columns.update-author')}</span>,\n            headerClassName: cx('table__header'),\n            render: (rate: RateT) => (\n                <EventAuthorCell\n                    onOpenUserDetails={onOpenUserDetails}\n                    userFullName={rate.updatedByName}\n                    userId={rate.updatedById}\n                />\n            ),\n            className: cx('table__column', 'table__column--update'),\n        },\n    ];\n\n    const getRowMods = (meta: TableRowMetaT) => ({\n        isSelected: meta.isSelected,\n    });\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<RateT> tableName=\"rates\" isLoading={isLoading} rows={rates}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<RateT, void>\n                        className={className}\n                        selectedRowsSet={selectedRatesSet}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n            {isDisabled && <LoaderOverlay />}\n        </div>\n    );\n});\n\nexport default RatesTable;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TollIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M12.25 5.5a4.504 4.504 0 00-4.5 4.5c0 2.482 2.018 4.5 4.5 4.5s4.5-2.018 4.5-4.5-2.018-4.5-4.5-4.5z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M12.25 4c-3.315 0-6 2.685-6 6s2.685 6 6 6 6-2.685 6-6-2.685-6-6-6zm0 10.5a4.504 4.504 0 01-4.5-4.5c0-2.482 2.018-4.5 4.5-4.5s4.5 2.018 4.5 4.5-2.018 4.5-4.5 4.5zm-9-4.5a4.493 4.493 0 013-4.237V4.194A5.996 5.996 0 001.75 10a5.996 5.996 0 004.5 5.805v-1.567a4.493 4.493 0 01-3-4.238z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTollIcon.displayName = 'TollIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.light,\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default TollIcon;\n","import { FetchConfigT } from 'common/utils/api/do-fetch-models';\n\nexport class FetchError<TResponseData = any, TRequestConfig = any> extends Error {\n    httpStatusCode: number;\n\n    message: string;\n\n    requestConfig: FetchConfigT<TRequestConfig>;\n\n    response: TResponseData;\n\n    constructor({\n        message,\n        httpStatusCode,\n        requestConfig,\n        response,\n    }: {\n        message: string;\n        httpStatusCode: number;\n        requestConfig: FetchConfigT<TRequestConfig>;\n        response: TResponseData;\n    }) {\n        super(message);\n\n        this.message = message;\n        this.httpStatusCode = httpStatusCode;\n\n        if (requestConfig.headers?.Authorization) {\n            this.requestConfig = {\n                ...requestConfig,\n                headers: {\n                    ...requestConfig.headers,\n                    Authorization: '***',\n                },\n            };\n        } else {\n            this.requestConfig = requestConfig;\n        }\n\n        this.response = response;\n\n        // fix for instanceof\n        // https://github.com/microsoft/TypeScript/issues/13965\n        // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work\n        Object.setPrototypeOf(this, FetchError.prototype);\n    }\n}\n\nexport const checkIsFetchError = (error: Error | null | undefined): error is FetchError => {\n    return error instanceof FetchError;\n};\n","import {\n    FETCH_PARTNERS_STATS_REQUEST,\n    FETCH_PARTNERS_STATS_REQUEST_BEGIN,\n    FETCH_PARTNERS_STATS_REQUEST_ERROR,\n    FETCH_PARTNERS_STATS_REQUEST_SUCCESS,\n    FetchPartnersStatsActionT,\n    FetchPartnersStatsBeginActionT,\n    FetchPartnersStatsErrorActionT,\n    FetchPartnersStatsSuccessActionT,\n} from './types';\nimport { PartnersStatsT } from './models';\n\nexport const fetchPartnersStats = (options?: FetchOptionsT): FetchPartnersStatsActionT => ({\n    type: FETCH_PARTNERS_STATS_REQUEST,\n    options,\n});\n\nexport const fetchPartnersStatsBegin = (): FetchPartnersStatsBeginActionT => ({\n    type: FETCH_PARTNERS_STATS_REQUEST_BEGIN,\n});\n\nexport const createPartnerRequestError = (error: Error): FetchPartnersStatsErrorActionT => ({\n    type: FETCH_PARTNERS_STATS_REQUEST_ERROR,\n    error,\n});\n\nexport const fetchPartnersStatsSuccess = (stats: PartnersStatsT): FetchPartnersStatsSuccessActionT => ({\n    type: FETCH_PARTNERS_STATS_REQUEST_SUCCESS,\n    stats,\n});\n","import React from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownMultipleInput from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\nimport { useTranslation } from 'react-i18next';\nimport { ApiRFQBrokerSourceT, RFQBrokerSourceEnum } from 'common/utils/api/models';\n\ntype OptionT = {\n    value: ApiRFQBrokerSourceT;\n    label: React.ReactNode;\n};\n\ntype ValueT = OptionT['value'];\n\ntype PropsT = {\n    className?: string;\n    values: Array<ValueT>;\n    onSelect: (values: Array<ValueT>) => void;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder?: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    hasClearControl?: boolean;\n};\n\nconst RFQ_BROKER_SOURCE_T_MAP: Record<ApiRFQBrokerSourceT, string> = {\n    CARLO: 'common:rfq-source.carlo',\n    TENDER: 'common:rfq-source.tender',\n    INTERNAL: 'common:rfq-source.internal',\n    CONTRACT_LANE: '', // TODO remove, deprecated\n};\n\nconst RFQBrokerSourceMultipleDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        hasClearControl,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<OptionT> => {\n        return [RFQBrokerSourceEnum.carlo, RFQBrokerSourceEnum.tender, RFQBrokerSourceEnum.internal].map((value) => ({\n            label: t(RFQ_BROKER_SOURCE_T_MAP[value]),\n            value,\n        }));\n    }, [t]);\n\n    const renderTriggerContent = (options: Array<OptionT>, placeholder: string | undefined) => {\n        if (!options?.length) {\n            return placeholder;\n        }\n\n        if (options.length === 1) {\n            const option = options[0];\n            return option?.label || null;\n        }\n\n        return <DropdownMultipleInputCountLabel count={options?.length} />;\n    };\n\n    const renderOption = (option: OptionT | null | undefined): React.ReactNode => {\n        if (!option) {\n            return null;\n        }\n\n        return option?.label || '';\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.value;\n\n    const handleReset = () => {\n        onSelect([]);\n    };\n\n    return (\n        <DropdownMultipleInput<OptionT, ValueT>\n            className={className}\n            options={options}\n            selectedValues={values}\n            getOptionValue={getOptionValue}\n            placeholder={placeholder}\n            isDisabled={isDisabled}\n            onSelect={onSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderOption={renderOption}\n            renderTriggerContent={renderTriggerContent}\n            overlayPosition={overlayPosition}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default RFQBrokerSourceMultipleDropdown;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PriceSettingsRules.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport RulesTable from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/RulesTable/RulesTable';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { ApiPriceRuleTypeRequestT, RulesSortEnum } from 'common/utils/api/models';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport {\n    selectCreateRuleRequest,\n    selectDeleteRulesRequest,\n    selectRulesByIds,\n    selectRulesPages,\n    selectRulesTotal,\n    selectUpdateRulesRequest,\n} from 'broker-admin/store/price-settings/rules/selectors';\nimport {\n    activateRules,\n    deactivateRules,\n    deleteRules,\n    fetchRulesPage,\n} from 'broker-admin/store/price-settings/rules/actions';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport TableActions, { TableActionOptionT } from 'common/components/Table/TableActions/TableActions';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { RuleT } from 'broker-admin/store/price-settings/rules/models';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport { prepareFetchPageQuery } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/prepare-fetch-page-query';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport { useCheckOpenedSidebar, useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { rulesPaginationChannel, rulesRefreshChannel } from 'broker-admin/store/price-settings/rules/channels';\nimport { useQueryParams } from 'use-query-params';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport isEmpty from 'lodash/isEmpty';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { useHistoryPush } from 'common/utils/hooks/useHistoryPush';\nimport history from 'common/utils/history';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport RuleStateControl from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/RuleStateControl/RuleStateControl';\nimport { PriceSettingsRuleStateEnum } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/constants';\nimport RuleTypeMultipleControl from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/RuleTypeMultipleControl/RuleTypeMultipleControl';\nimport SelectedFilters from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/SelectedFilters/SelectedFilters';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst PriceSettingsRules: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const { historyPush } = useHistoryPush();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n    const handleOpenUserDetails = (userId: UserIdT | null) => {\n        if (!userId) {\n            logWarning('failed to open user details in price settings rules, empty userId');\n            return;\n        }\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const [selectedRulesSet, setSelectedRulesSet] = React.useState<Set<RuleT>>(new Set());\n\n    const total = useSelector(selectRulesTotal);\n    const rulesPages = useSelector(selectRulesPages);\n    const rulesById = useSelector(selectRulesByIds);\n    const deleteRulesRequest = useSelector(selectDeleteRulesRequest);\n    const createRuleRequest = useSelector(selectCreateRuleRequest);\n    const updateRulesRequest = useSelector(selectUpdateRulesRequest);\n\n    const isOpenedFilters = useCheckOpenedSidebar(BrokerSidebarsTypeEnum.priceSettingsRuleFilter);\n    const openFilters = React.useCallback(() => {\n        openLeftSidebar({\n            type: BrokerSidebarsTypeEnum.priceSettingsRuleFilter,\n        });\n    }, [openLeftSidebar]);\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.rulesPage]: createPageNumberParam(),\n        [QueryKeysEnum.rulesSort]: createSortParams<RulesSortEnum>({\n            value: RulesSortEnum.name,\n            direction: SortDirectionEnum.DESC,\n        }),\n        [QueryKeysEnum.rulesFilters]: createJsonParams<QueryFiltersT>({}),\n    });\n\n    const selectedSort = query[QueryKeysEnum.rulesSort];\n    const pageNumber = query[QueryKeysEnum.rulesPage];\n    const queryFilters = query[QueryKeysEnum.rulesFilters];\n    const page = rulesPages[pageNumber];\n\n    const { ids, requestStatus } = page || {};\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchRulesPage(pageNumber, query));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchRulesPage(pageNumber, query, { isForceUpdate: false }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchRulesPage(pageNumber, query, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n    useChannelSubscribe(rulesRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchRulesPage(pageNumber, query, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n\n    React.useEffect(() => {\n        setSelectedRulesSet(new Set());\n    }, [ids]);\n\n    const rules = React.useMemo(() => {\n        return (ids || []).map((id): RuleT => rulesById[id]);\n    }, [ids, rulesById]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            setSelectedRulesSet(new Set());\n\n            changeQuery({\n                [QueryKeysEnum.rulesPage]: pageNumber,\n            });\n        },\n        [setSelectedRulesSet, changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof rulesPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(rulesPaginationChannel, setPageHandler);\n\n    const sortOptions: Array<SortDropdownOptionT<RulesSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('price-settings.rules.sorts.triggers.name'),\n                value: RulesSortEnum.name,\n            },\n            {\n                label: t('price-settings.rules.sorts.triggers.created-date'),\n                value: RulesSortEnum.createdDate,\n            },\n            {\n                label: t('price-settings.rules.sorts.triggers.update-date'),\n                value: RulesSortEnum.updateDate,\n            },\n            {\n                label: t('price-settings.rules.sorts.triggers.valid-from'),\n                value: RulesSortEnum.validFrom,\n            },\n            {\n                label: t('price-settings.rules.sorts.triggers.valid-till'),\n                value: RulesSortEnum.validTill,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<RulesSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.rulesPage]: 0,\n            [QueryKeysEnum.rulesSort]: sort,\n        });\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.rulesFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.rulesPage]: 0,\n            [QueryKeysEnum.rulesFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.rulesSearchText]: searchText || undefined,\n        });\n    };\n\n    const handleChangeStateFilter = (state: PriceSettingsRuleStateEnum | null) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.rulesState]: state || undefined,\n        });\n    };\n\n    const handleChangeTypeFilter = (types: Array<ApiPriceRuleTypeRequestT>) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.rulesTypes]: types?.length ? types : undefined,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        changeQuery({\n            [QueryKeysEnum.rulesPage]: 0,\n            [QueryKeysEnum.rulesFilters]: selectedQueryFilters,\n        });\n    };\n\n    const resetQueryFilters = () => {\n        changeQuery({\n            [QueryKeysEnum.rulesFilters]: undefined,\n        });\n    };\n\n    const showAddRuleForm = (): void => {\n        const url = urlFactory.settingsRuleCreation();\n        history.push(url);\n    };\n\n    const tableActionOptions: Array<TableActionOptionT | SpecialOptionEnum> = [\n        {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={<DoneIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />}\n                    label={t('price-settings.rules.actions.activate')}\n                />\n            ),\n            onSelect: () => {\n                const ruleIds = [...selectedRulesSet].map((rule) => String(rule.id));\n                dispatch(activateRules(ruleIds));\n            },\n            testSelector: 'activate',\n        },\n        SpecialOptionEnum.separator,\n        {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                    label={t('price-settings.rules.actions.deactivate')}\n                />\n            ),\n            onSelect: () => {\n                const ruleIds = [...selectedRulesSet].map((rule) => String(rule.id));\n                dispatch(deactivateRules(ruleIds));\n            },\n            testSelector: 'deactivate',\n        },\n        SpecialOptionEnum.separator,\n        {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                    label={t('price-settings.rules.actions.delete')}\n                />\n            ),\n            onSelect: () => {\n                const ruleIds = [...selectedRulesSet].map((rule) => String(rule.id));\n                dispatch(deleteRules(ruleIds));\n            },\n            testSelector: 'delete',\n        },\n    ];\n\n    const isDisabled = updateRulesRequest.loading || deleteRulesRequest.loading || createRuleRequest.loading;\n\n    const handleActiveRule = (ruleId: RuleIdT) => {\n        dispatch(activateRules([ruleId]));\n    };\n\n    const handleDeactiveRule = (ruleId: RuleIdT) => {\n        dispatch(deactivateRules([ruleId]));\n    };\n\n    const handleDeleteRule = (ruleId: RuleIdT) => {\n        dispatch(deleteRules([ruleId]));\n    };\n\n    const handleEditRule = (event: React.MouseEvent, rule: RuleT) => {\n        const ruleId = rule.id;\n\n        if (!ruleId) {\n            logWarning(`failed to edit rule, empty rule.id`);\n            return;\n        }\n\n        const url = urlFactory.settingsRuleDetails(String(ruleId));\n        historyPush(event, url);\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(rules, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        if (requestStatus?.ok && !isEmpty(queryFilters)) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('price-settings.rules.table.messages.not-found.title')}\n                    description={t('price-settings.rules.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('price-settings.rules.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={resetQueryFilters}\n                    testSelector=\"not-found\"\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('price-settings.rules.table.messages.empty.title')}\n                description={t('price-settings.rules.table.messages.empty.description')}\n                isShowAction\n                actionTitle={t('price-settings.rules.table.messages.empty.action')}\n                onActionClick={showAddRuleForm}\n                testSelector=\"empty\"\n            />\n        );\n    };\n\n    return (\n        <>\n            <ContentMargins>\n                <ListPageLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                <FiltersTrigger\n                                    testSelector=\"rules\"\n                                    title={t('price-settings.rules.filters.trigger')}\n                                    isActive={isOpenedFilters}\n                                    onClick={openFilters}\n                                />\n                                <SortDropdown\n                                    testSelector=\"rules\"\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                                <RuleTypeMultipleControl\n                                    selectedValues={queryFilters[QueryFiltersKeysEnum.rulesTypes] || []}\n                                    onSelect={handleChangeTypeFilter}\n                                />\n                                <RuleStateControl\n                                    value={queryFilters[QueryFiltersKeysEnum.rulesState] || null}\n                                    onSelect={handleChangeStateFilter}\n                                />\n                                <SearchControl\n                                    placeholder={t('broker-orders.list.search-placeholder')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.rulesSearchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                            </>\n                        }\n                        rightToolsNode={\n                            <>\n                                {!!selectedRulesSet.size && (\n                                    <TableActions\n                                        options={tableActionOptions}\n                                        trigger={t('common:actions-trigger')}\n                                        isDisabled={isDisabled}\n                                        testSelector=\"rule\"\n                                    />\n                                )}\n                                <Button\n                                    theme={ButtonThemeEnum.primary}\n                                    onClick={showAddRuleForm}\n                                    testSelector=\"add-rule\"\n                                >\n                                    {t('price-settings.rules.form.add-trigger')}\n                                </Button>\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                    />\n                    {renderTableMessage()}\n                    <RulesTable\n                        rules={rules}\n                        isDisabled={isDisabled}\n                        isLoading={requestStatus?.loading}\n                        selectedRulesSet={selectedRulesSet}\n                        onSelectRules={setSelectedRulesSet}\n                        onClickRow={handleEditRule}\n                        onActiveRule={handleActiveRule}\n                        onDeactiveRule={handleDeactiveRule}\n                        onDeleteRule={handleDeleteRule}\n                        onOpenUserDetails={handleOpenUserDetails}\n                    />\n                </ListPageLayout>\n            </ContentMargins>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n        </>\n    );\n});\n\nexport default PriceSettingsRules;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TrailerIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, fillOpacity, strokeColor } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path fill={fillColor} fillOpacity={fillOpacity || 1} d=\"M2 3h15v8l-1 1v2h-2l-3-2-3 2H2z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M11.182 13.462c1.45 0 2.625 1.197 2.625 2.671 0 1.474-1.175 2.67-2.625 2.67s-2.627-1.196-2.627-2.67c0-1.475 1.178-2.67 2.627-2.67zm0 1.5c-.636 0-1.153.527-1.153 1.171 0 .647.518 1.173 1.153 1.173.634 0 1.152-.528 1.152-1.173 0-.646-.518-1.17-1.152-1.17zm-3.212.778a3.196 3.196 0 00-.026.784H2v-.784h5.97zm9.478-.279v.783h-2.93a3.041 3.041 0 00-.028-.783h2.958zM18 2v10.235h-.844v3.004h-2.7l-.13-.084c-.442-1.314-1.669-2.265-3.109-2.265-1.572 0-2.888 1.129-3.21 2.628H2L1.999 14H6.5c.642-1.926 2.057-2.925 4.244-2.996L11 11h5V4H1.999L2 2h16zm-1.585 10.234h-.41v1.662h.41v-1.662z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTrailerIcon.displayName = 'TrailerIcon';\n\nexport const TrailerIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        isPressed,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        isPressed?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor:\n                hasValue || isFocused || isPressed\n                    ? StyleGuideColorsEnum.brandAccent\n                    : StyleGuideColorsEnum.transparent,\n            strokeColor:\n                hasValue || isFocused || isPressed ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.light,\n        };\n    },\n};\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default TrailerIcon;\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getTrailerIconProps = (\n    preset:\n        | 'default'\n        | 'selected'\n        | 'assignment-events'\n        | 'assignment-normal'\n        | 'assignment-selected'\n        | 'assignment-not-in-time-normal'\n        | 'assignment-not-in-time-selected',\n): PropsT => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-events': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.white,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.brandAccent,\n            };\n        }\n        case 'assignment-not-in-time-normal': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n        case 'assignment-not-in-time-selected': {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.transparent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        default: {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"BaseDocumentsTable__table__header___zEiNu\",\"table__header--type\":\"BaseDocumentsTable__table__header--type___e9u3g\",\"table__header--expire-date\":\"BaseDocumentsTable__table__header--expire-date___PzLqZ\",\"table__column\":\"BaseDocumentsTable__table__column___oLDBV\",\"table__column--type\":\"BaseDocumentsTable__table__column--type___Ge4NZ\",\"table__column--upload\":\"BaseDocumentsTable__table__column--upload___YkC9z\",\"table__column--review\":\"BaseDocumentsTable__table__column--review___PBYCu\",\"table__column--expire-date\":\"BaseDocumentsTable__table__column--expire-date___fRZfh\",\"table__column--actions\":\"BaseDocumentsTable__table__column--actions___5NmfZ\",\"fadeIn\":\"BaseDocumentsTable__fadeIn___meMmT\",\"blinking\":\"BaseDocumentsTable__blinking____wdS4\"};","import * as React from 'react';\nimport { hot } from 'react-hot-loader';\n\nimport Loadable from 'react-loadable';\nimport { Redirect, Route, Router, Switch } from 'react-router-dom';\nimport { Provider } from 'react-redux';\n\nimport history from 'common/utils/history';\nimport Loader from 'common/components/LoaderTitle/LoaderTitle';\nimport { routesEnum } from 'broker-admin/constants';\n\nimport store from 'broker-admin/store';\n\nimport '@animated-burgers/burger-squeeze/dist/styles.css';\n\nimport classNames from 'classnames/bind';\nimport styles from './App.scss';\nimport ChangePasswordPage from 'common/layouts/ChangePasswordPage/ChangePasswordPage';\nimport ErrorModal from 'common/components/ErrorModal/ErrorModal';\nimport AuthLoader from 'common/layouts/AuthLoader/AuthLoader';\nimport UiContext from 'common/contexts/ui-context';\nimport useMenuVisibility from 'common/utils/hooks/useMenuVisibility';\nimport {\n    getNotificationLink,\n    renderNotificationToast,\n    renderAlertToast,\n    renderNotification,\n} from '../../components/toasts/utils';\nimport OverlaysManager from 'common/components/OverlaysManager/OverlaysManager';\nimport ErrorBoundary from 'common/components/ErrorBoundary/ErrorBoundary';\nimport { QueryParamProvider } from 'use-query-params';\nimport { ReactRouter5Adapter } from 'use-query-params/adapters/react-router-5';\nimport PartnerContext from 'common/contexts/partner-context';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { DEFAULT_BROKER_COMPANY_ID } from 'common/constants';\nimport NotificationSidebarContext from 'common/contexts/notification-sidebar-context';\nimport CommonUrlFactoryContext, { CommonUrlFactoryContextT } from 'common/contexts/common-url-factory-context';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { useFeaturesContextValue } from 'common/utils/hooks/useFeaturesContextValue';\nimport FeaturesContext from 'common/contexts/features';\nimport PartnerPermissionsContextProvider from 'common/components/PartnerPermissionsContextProvider/PartnerPermissionsContextProvider';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst SignInPage = Loadable({\n    loader: () => import(/* webpackChunkName: \"SignInPage\" */ 'common/layouts/SignInPage/SignInPage'),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst SignUpPage = Loadable({\n    loader: () => import(/* webpackChunkName: \"SignUpPage\" */ '../SignUpPage/SignUpPage'),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst ContinueSignUpPage = Loadable({\n    loader: () =>\n        import(/* webpackChunkName: \"ContinueSignUpPage\" */ 'common/layouts/ContinueSignUpPage/ContinueSignUpPage'),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst SelfCreateCompanyPage = Loadable({\n    loader: () =>\n        import(\n            /* webpackChunkName: \"SelfCreateCompanyPage\" */ 'common/layouts/SelfCreateCompanyPage/SelfCreateCompanyPage'\n        ),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst ForgotPasswordPage = Loadable({\n    loader: () =>\n        import(/* webpackChunkName: \"ForgotPasswordPage\" */ 'common/layouts/ForgotPasswordPage/ForgotPasswordPage'),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst ConfirmEmailPage = Loadable({\n    loader: () => import(/* webpackChunkName: \"ConfirmEmailPage\" */ 'common/layouts/ConfirmEmailPage/ConfirmEmailPage'),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst ClientPage = Loadable({\n    loader: () => import(/* webpackChunkName: \"ClientPage\" */ '../ClientPage/ClientPage'),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst NotFoundPage = Loadable({\n    loader: () => import(/* webpackChunkName: \"NotFoundPage\" */ 'common/layouts/NotFoundPage/NotFoundPage'),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst AccessDeniedPage = Loadable({\n    loader: () => import(/* webpackChunkName: \"AccessDeniedPage\" */ 'common/layouts/AccessDeniedPage/AccessDeniedPage'),\n    loading() {\n        return <Loader />;\n    },\n});\n\nconst App: React.FC<PropsT> = () => {\n    const menu = useMenuVisibility();\n\n    const contextValue = React.useMemo(() => {\n        return {\n            menu,\n        };\n    }, [menu]);\n\n    const partnerContextValue = React.useMemo(() => {\n        return {\n            partnerType: PartnerTypeEnum.broker,\n            partnerId: DEFAULT_BROKER_COMPANY_ID,\n        };\n    }, []);\n\n    const notificationBarContextValue = React.useMemo(() => {\n        return {\n            renderNotification,\n            getNotificationLink,\n        };\n    }, []);\n\n    const commonUrlFactoryContextValue = React.useMemo((): CommonUrlFactoryContextT => {\n        return urlFactory;\n    }, []);\n\n    const featureContextValue = useFeaturesContextValue();\n\n    return (\n        <ErrorBoundary>\n            <FeaturesContext.Provider value={featureContextValue}>\n                <UiContext.Provider value={contextValue}>\n                    <NotificationSidebarContext.Provider value={notificationBarContextValue}>\n                        <PartnerContext.Provider value={partnerContextValue}>\n                            <CommonUrlFactoryContext.Provider value={commonUrlFactoryContextValue}>\n                                <Provider store={store}>\n                                    <PartnerPermissionsContextProvider>\n                                        <Router history={history}>\n                                            <QueryParamProvider adapter={ReactRouter5Adapter}>\n                                                <div className={cx('app')}>\n                                                    <AuthLoader>\n                                                        <Switch>\n                                                            <Route path={routesEnum.deprecateSignUp}>\n                                                                <Redirect to={{ pathname: routesEnum.home }} />\n                                                            </Route>\n                                                            <Route path={routesEnum.signIn}>\n                                                                <SignInPage />\n                                                            </Route>\n                                                            <Route path={routesEnum.signUp}>\n                                                                <SignUpPage />\n                                                            </Route>\n                                                            <Route path={routesEnum.continueSignUp}>\n                                                                <ContinueSignUpPage />\n                                                            </Route>\n                                                            <Route path={routesEnum.selfCreateCompany}>\n                                                                <SelfCreateCompanyPage />\n                                                            </Route>\n                                                            <Route path={routesEnum.forgotPassword}>\n                                                                <ForgotPasswordPage />\n                                                            </Route>\n                                                            <Route path={routesEnum.changePassword}>\n                                                                <ChangePasswordPage />\n                                                            </Route>\n                                                            <Route path={routesEnum.confirmEmail}>\n                                                                <ConfirmEmailPage />\n                                                            </Route>\n                                                            <Route path={routesEnum.notFound}>\n                                                                <NotFoundPage />\n                                                            </Route>\n                                                            <Route path={routesEnum.accessDenied}>\n                                                                <AccessDeniedPage />\n                                                            </Route>\n                                                            <Route path=\"*\">\n                                                                <ClientPage />\n                                                            </Route>\n                                                        </Switch>\n                                                    </AuthLoader>\n                                                    <OverlaysManager\n                                                        renderAlertToast={renderAlertToast}\n                                                        renderNotificationToast={renderNotificationToast}\n                                                        getNotificationLink={getNotificationLink}\n                                                    />\n                                                    <ErrorModal />\n                                                </div>\n                                            </QueryParamProvider>\n                                        </Router>\n                                    </PartnerPermissionsContextProvider>\n                                </Provider>\n                            </CommonUrlFactoryContext.Provider>\n                        </PartnerContext.Provider>\n                    </NotificationSidebarContext.Provider>\n                </UiContext.Provider>\n            </FeaturesContext.Provider>\n        </ErrorBoundary>\n    );\n};\n\nexport default hot(module)(App);\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TableSkeleton.scss';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst TableSkeleton: React.FC<PropsT> = React.memo((props) => {\n    const { className } = props;\n\n    return (\n        <div className={className} data-test-selector=\"table-loader\">\n            <div className={cx('skeleton__box', 'skeleton__box--table-head')} />\n            <div className={cx('skeleton__box', 'skeleton__box--table-row')} />\n            <div className={cx('skeleton__box', 'skeleton__box--table-row')} />\n            <div className={cx('skeleton__box', 'skeleton__box--table-row')} />\n            <div className={cx('loader')}>\n                <ControlLoaderWithShadow fillColor={StyleGuideColorsEnum.light} />\n            </div>\n        </div>\n    );\n});\n\nexport default TableSkeleton;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PriceDetails.scss';\nimport cs from 'classnames';\n\nimport Money from 'common/components/Money/Money';\n\nimport isNumber from 'lodash/isNumber';\nimport { CurrencyEnum, StyleGuideColorsEnum } from 'common/constants';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport ColoredDiff from 'common/components/ColoredDiff/ColoredDiff';\nimport ExpandTrigger from 'design-system/components/ExpandTrigger/ExpandTrigger';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\nconst cx = classNames.bind(styles);\n\nexport type PriceDetailT = {\n    className?: string;\n    title?: React.ReactNode;\n    placeholder?: React.ReactNode;\n    quantity?: number | null;\n    price?: number | null;\n    priceDiff?: number | null;\n    notActualPrice?: number | null;\n    customPriceDiffNegativeColor?: StyleGuideColorsEnum;\n    isInvertedPriceDiff?: boolean | null;\n    isLoading?: boolean | null;\n    tooltipNode?: React.ReactNode;\n    pillLabelNode?: React.ReactNode;\n    pillLabelTheme?: PillLabelThemeEnum;\n    shouldRenderIcon?: boolean;\n    iconNode?: React.ReactNode;\n    leftNode?: React.ReactNode;\n    rawLeftNode?: React.ReactNode;\n    rightNode?: React.ReactNode;\n    rawRightNode?: React.ReactNode;\n    customActionNode?: React.ReactNode;\n    footerNode?: React.ReactNode;\n    list?: Array<PriceDetailT | null>;\n    initialOpen?: boolean;\n    shouldRenderExpandTrigger?: boolean;\n    isDisabledHover?: boolean;\n};\n\ntype PriceDetailPropsT = PriceDetailT & {\n    nestLevel: number;\n};\n\nconst SHOW_TOOLTIP_DELAY = 300;\n\nconst STEP_MARGIN_LEFT_PX = 30; // px\n\nconst PriceDetail: React.FC<PriceDetailPropsT> = (props) => {\n    const {\n        className,\n        title,\n        placeholder,\n        quantity,\n        price,\n        priceDiff,\n        customPriceDiffNegativeColor,\n        notActualPrice,\n        pillLabelNode,\n        pillLabelTheme,\n        isInvertedPriceDiff,\n        shouldRenderIcon,\n        iconNode,\n        leftNode,\n        rawLeftNode,\n        rightNode,\n        rawRightNode,\n        footerNode,\n        list,\n        tooltipNode,\n        customActionNode,\n        nestLevel,\n        initialOpen,\n        shouldRenderExpandTrigger,\n        isLoading,\n        isDisabledHover,\n    } = props;\n\n    const isShowRow = !!title;\n\n    const [isOpen, setOpen] = React.useState<boolean>(!!initialOpen || !isShowRow);\n\n    const isClickable = !!list?.length;\n\n    const toggle = (event: React.MouseEvent): void => {\n        setOpen(!isOpen);\n        event.stopPropagation();\n    };\n\n    const moneyNode = isNumber(price) ? <Money amount={price} currency={CurrencyEnum.EUR} /> : null;\n\n    return (\n        <>\n            {isShowRow && (\n                <div\n                    className={cs(\n                        cx('row', {\n                            'row--isClickable': isClickable,\n                        }),\n                        isOpen ? null : className,\n                    )}\n                    onClick={toggle}\n                    style={{\n                        marginLeft: `${nestLevel * STEP_MARGIN_LEFT_PX}px`,\n                    }}\n                >\n                    <div className={cx('column', 'column--content')}>\n                        <div\n                            className={cx('content', {\n                                'content--isHoverable': !isDisabledHover,\n                            })}\n                        >\n                            {shouldRenderIcon && (\n                                <div className={cx('content-column', 'content-column--icon')}>{iconNode}</div>\n                            )}\n                            {!!leftNode && (\n                                <div className={cx('content-column', 'content-column--left-node')}>{leftNode}</div>\n                            )}\n                            {rawLeftNode}\n                            <div\n                                className={cx('content-column', {\n                                    'content-column--title': true,\n                                })}\n                            >\n                                {title}\n                                {!!tooltipNode && (\n                                    <Tooltip\n                                        className={cx('tooltip')}\n                                        position={TooltipPositionEnum.topCenter}\n                                        theme={TooltipThemeEnum.black}\n                                        tooltipNode={tooltipNode}\n                                        delay={SHOW_TOOLTIP_DELAY}\n                                    >\n                                        {(isShow) => <TooltipIconTrigger isShow={isShow} />}\n                                    </Tooltip>\n                                )}\n                                {!!pillLabelNode && (\n                                    <PillLabel\n                                        className={cx('pill')}\n                                        isSymmetrical\n                                        theme={pillLabelTheme || PillLabelThemeEnum.charcoal}\n                                    >\n                                        {pillLabelNode}\n                                    </PillLabel>\n                                )}\n                                {!!footerNode && <div className={cx('footer')}>{footerNode}</div>}\n                            </div>\n                            {moneyNode ? (\n                                <div\n                                    className={cx('content-column', {\n                                        'content-column--price': true,\n                                        'content-column--isLoading': !!isLoading,\n                                    })}\n                                >\n                                    {isNumber(quantity) && quantity > 1 && (\n                                        <span>\n                                            {quantity}\n                                            {' x '}\n                                        </span>\n                                    )}\n                                    {isNumber(notActualPrice) && isNumber(price) && notActualPrice !== price ? (\n                                        <Money\n                                            className={cx('not-actual-price')}\n                                            amount={notActualPrice}\n                                            currency={CurrencyEnum.EUR}\n                                        />\n                                    ) : null}\n                                    {isNumber(priceDiff) ? (\n                                        <ColoredDiff\n                                            diff={-1 * priceDiff}\n                                            isInverted={!!isInvertedPriceDiff}\n                                            customNegativeColor={customPriceDiffNegativeColor}\n                                        >\n                                            {moneyNode}\n                                        </ColoredDiff>\n                                    ) : (\n                                        moneyNode\n                                    )}\n                                </div>\n                            ) : (\n                                <div className={cx('content-column', 'content-column--placeholder')}>\n                                    {placeholder || ''}\n                                </div>\n                            )}\n                            {!!rightNode && (\n                                <div className={cx('content-column', 'content-column--right-node')}>{rightNode}</div>\n                            )}\n                            {rawRightNode}\n                        </div>\n                    </div>\n                    {(shouldRenderExpandTrigger || customActionNode) && (\n                        <div className={cx('column', 'column--trigger')}>\n                            {customActionNode}\n                            {isClickable && (\n                                <ExpandTrigger\n                                    isOpen={isOpen}\n                                    spaces=\"xs\"\n                                    onClick={() => {\n                                        // nothing, use common handler\n                                    }}\n                                />\n                            )}\n                        </div>\n                    )}\n                </div>\n            )}\n            {!!list?.length && isOpen && (\n                <PriceDetails\n                    list={list}\n                    hasVerticalPaddings={isShowRow}\n                    nestLevel={nestLevel + 1}\n                    className={cs(cx('nested-list'), className)}\n                />\n            )}\n        </>\n    );\n};\n\nexport type PriceDetailsPropsT = {\n    className?: string;\n    list: Array<PriceDetailT | null>;\n    shouldAlwaysRenderExpandTrigger?: boolean;\n    nestLevel?: number; // inner field\n    hasVerticalPaddings?: boolean; // inner field\n};\n\nconst PriceDetails: React.FC<PriceDetailsPropsT> = React.memo((props) => {\n    const { list, nestLevel = 0, shouldAlwaysRenderExpandTrigger, hasVerticalPaddings, className } = props;\n\n    const hasIcons = list.some((item) => !!item?.iconNode);\n\n    const shouldRenderExpandTrigger =\n        shouldAlwaysRenderExpandTrigger || !(nestLevel === 0 && list.every((item) => !item?.list?.length));\n\n    return (\n        <div\n            className={cs(\n                cx('list', {\n                    'list--hasVerticalPaddings': hasVerticalPaddings,\n                }),\n                className,\n            )}\n        >\n            {list.map((item, itemIndex) => {\n                if (!item) {\n                    return null;\n                }\n\n                return (\n                    <PriceDetail\n                        key={itemIndex}\n                        shouldRenderIcon={hasIcons}\n                        iconNode={item.iconNode}\n                        className={item.className}\n                        title={item.title}\n                        price={item.price}\n                        priceDiff={item.priceDiff}\n                        quantity={item.quantity}\n                        isInvertedPriceDiff={item.isInvertedPriceDiff}\n                        notActualPrice={item.notActualPrice}\n                        customPriceDiffNegativeColor={item.customPriceDiffNegativeColor}\n                        placeholder={item.placeholder}\n                        leftNode={item.leftNode}\n                        rawLeftNode={item.rawLeftNode}\n                        rightNode={item.rightNode}\n                        rawRightNode={item.rawRightNode}\n                        customActionNode={item.customActionNode}\n                        footerNode={item.footerNode}\n                        tooltipNode={item.tooltipNode}\n                        pillLabelNode={item.pillLabelNode}\n                        pillLabelTheme={item.pillLabelTheme}\n                        isLoading={item.isLoading}\n                        list={item.list}\n                        initialOpen={item.initialOpen}\n                        isDisabledHover={item.isDisabledHover}\n                        nestLevel={nestLevel}\n                        shouldRenderExpandTrigger={shouldRenderExpandTrigger}\n                    />\n                );\n            })}\n        </div>\n    );\n});\n\nexport default PriceDetails;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { ApiAvailableStepsResponseT, ConsistentStateMachineDescriptorT, StateMachineEntityHashT } from './models';\n\nexport type ConsistentStateMachineItemStateT = {\n    fetchRequest: RequestStatusT;\n    data: ApiAvailableStepsResponseT | null;\n    updateRequest: RequestStatusT;\n};\n\nexport const initialConsistentStateMachineItemState: ConsistentStateMachineItemStateT = {\n    fetchRequest: requestStatus.initial,\n    data: null,\n    updateRequest: requestStatus.initial,\n};\n\nexport type ConsistentStateMachineStateT = Record<StateMachineEntityHashT, ConsistentStateMachineItemStateT>;\n\nconst initialState: ConsistentStateMachineStateT = {};\n\nexport const consistentStateMachineSlice = createSlice({\n    name: 'consistent-state-machine',\n    initialState,\n    reducers: {\n        fetchStateMachineSteps: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                descriptor: ConsistentStateMachineDescriptorT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchStateMachineStepsBegin: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n            }>,\n        ) => {\n            const { hash } = action.payload;\n\n            const itemState = state[hash] || initialConsistentStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                fetchRequest: requestStatus.loading,\n            };\n        },\n        fetchStateMachineStepsSuccess: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n                data: ApiAvailableStepsResponseT | null;\n            }>,\n        ) => {\n            const { hash, data } = action.payload;\n\n            const itemState = state[hash] || initialConsistentStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                fetchRequest: requestStatus.ok,\n                data,\n            };\n        },\n        fetchStateMachineStepsError: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n                error: Error;\n            }>,\n        ) => {\n            const { hash, error } = action.payload;\n\n            const itemState = state[hash] || initialConsistentStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                fetchRequest: requestStatus.setError(error),\n            };\n        },\n        toursWaypointsArrived: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                tourId: TourIdT;\n                waypointId: WaypointIdT;\n                descriptor: ConsistentStateMachineDescriptorT;\n            }>,\n        ) => {\n            // nothing\n        },\n        toursWaypointsLeft: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                tourId: TourIdT;\n                waypointId: WaypointIdT;\n                descriptor: ConsistentStateMachineDescriptorT;\n            }>,\n        ) => {\n            // nothing\n        },\n        toursWaypointsUndoArrived: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                tourId: TourIdT;\n                waypointId: WaypointIdT;\n                descriptor: ConsistentStateMachineDescriptorT;\n            }>,\n        ) => {\n            // nothing\n        },\n        toursWaypointsUndoLeft: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                tourId: TourIdT;\n                waypointId: WaypointIdT;\n                descriptor: ConsistentStateMachineDescriptorT;\n            }>,\n        ) => {\n            // nothing\n        },\n        updateEntityStatusBegin: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n            }>,\n        ) => {\n            const { hash } = action.payload;\n\n            const itemState = state[hash] || initialConsistentStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                updateRequest: requestStatus.loading,\n            };\n        },\n        updateEntityStatusSuccess: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n            }>,\n        ) => {\n            const { hash } = action.payload;\n\n            const itemState = state[hash] || initialConsistentStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                updateRequest: requestStatus.ok,\n            };\n        },\n        updateEntityStatusError: (\n            state,\n            action: PayloadAction<{\n                hash: StateMachineEntityHashT;\n                error: Error;\n            }>,\n        ) => {\n            const { hash, error } = action.payload;\n\n            const itemState = state[hash] || initialConsistentStateMachineItemState;\n\n            state[hash] = {\n                ...itemState,\n                updateRequest: requestStatus.setError(error),\n            };\n        },\n    },\n});\n\nexport const {\n    fetchStateMachineSteps,\n    fetchStateMachineStepsBegin,\n    fetchStateMachineStepsSuccess,\n    fetchStateMachineStepsError,\n    toursWaypointsLeft,\n    toursWaypointsArrived,\n    toursWaypointsUndoLeft,\n    toursWaypointsUndoArrived,\n    updateEntityStatusBegin,\n    updateEntityStatusSuccess,\n    updateEntityStatusError,\n} = consistentStateMachineSlice.actions;\n\nexport default consistentStateMachineSlice.reducer;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Radio.scss';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT<ValueT> = {\n    className?: string;\n    value: ValueT;\n    selectedValue: ValueT;\n    onChange?: (value: ValueT, event: React.MouseEvent<HTMLDivElement>) => void;\n    isDisabled?: boolean;\n    label?: React.ReactNode;\n    rightIcon?: React.ReactNode;\n    testSelector?: string;\n};\n\nconst Radio = <ValueT,>(props: PropsT<ValueT>): React.ReactElement => {\n    const { className, value, selectedValue, onChange, isDisabled, label, rightIcon, testSelector } = props;\n\n    const [isHover, setHover] = React.useState<boolean>(false);\n\n    const handleChange = (event: React.MouseEvent<HTMLDivElement>) => {\n        if (isDisabled) {\n            return;\n        }\n\n        if (onChange) {\n            onChange(value, event);\n        }\n    };\n\n    const handleMouseMove = () => {\n        if (isHover) {\n            return;\n        }\n\n        setHover(true);\n    };\n\n    const handleMouseLeave = () => {\n        setHover(false);\n    };\n\n    const isSelected = value === selectedValue;\n\n    const fullTestSelector = `${testSelector}_radio`;\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <div\n                className={cx('radio', {\n                    'radio--isHover': isHover,\n                    'radio--isClickable': !isDisabled,\n                    'radio--isSelected': isSelected,\n                    'radio--isDisabled': isDisabled,\n                })}\n                onMouseMove={handleMouseMove}\n                onMouseLeave={handleMouseLeave}\n                onClick={handleChange}\n                data-test-selector={fullTestSelector}\n            />\n            <div\n                className={cx('label', {\n                    'label--isClickable': !isDisabled,\n                    'label--isDisabled': isDisabled,\n                    'label--hasRightIcon': !!rightIcon,\n                })}\n                onMouseMove={handleMouseMove}\n                onMouseLeave={handleMouseLeave}\n                onClick={handleChange}\n                data-test-selector={`${fullTestSelector}_label`}\n            >\n                {label}\n            </div>\n            {rightIcon}\n        </div>\n    );\n};\n\nexport default React.memo(Radio) as typeof Radio;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".burger .burger-lines,\\n.burger .burger-lines:after,\\n.burger .burger-lines:before { background-color: #3e3f42; }\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./common/components/NavBurger/override.css\"],\"names\":[],\"mappings\":\"AAAA;;+BAE+B,yBAAyB,EAAE\",\"sourcesContent\":[\".burger .burger-lines,\\n.burger .burger-lines:after,\\n.burger .burger-lines:before { background-color: #3e3f42; }\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import { TFunction } from 'i18next';\n\nimport { FormErrorsT, FormValuesT } from './constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {};\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"dropdown\":\"AddOtherMessengerDropdown__dropdown___CBd5P\",\"fadeIn\":\"AddOtherMessengerDropdown__fadeIn___MyBM7\",\"blinking\":\"AddOtherMessengerDropdown__blinking___k7CV_\"};","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport { TimeZonesT } from './models';\n\nexport type TimeZonesStateT = {\n    timeZones: TimeZonesT | null;\n    fetchRequest: RequestStatusT;\n};\n\nconst initialState: TimeZonesStateT = {\n    timeZones: null,\n    fetchRequest: requestStatus.initial,\n};\n\nexport const timeZonesSlice = createSlice({\n    name: 'timeZones',\n    initialState,\n    reducers: {\n        fetchTimeZones: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n        ) => {\n            // nothing - handled by saga\n        },\n        fetchTimeZonesBegin: (state) => {\n            state.fetchRequest = requestStatus.loading;\n        },\n        fetchTimeZonesSuccess: (\n            state,\n            action: PayloadAction<{\n                timeZones: TimeZonesT | null;\n            }>,\n        ) => {\n            const { timeZones } = action.payload;\n            state.timeZones = timeZones;\n            state.fetchRequest = requestStatus.ok;\n        },\n        fetchTimeZonesError: (\n            state,\n            action: PayloadAction<{\n                error: Error;\n            }>,\n        ) => {\n            const { error } = action.payload;\n            state.fetchRequest = requestStatus.setError(error);\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const { fetchTimeZones, fetchTimeZonesBegin, fetchTimeZonesSuccess, fetchTimeZonesError } =\n    timeZonesSlice.actions;\n\nexport default timeZonesSlice.reducer;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ActionOverlay.scss';\nimport cs from 'classnames';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\n\nconst cx = classNames.bind(styles);\n\nexport type ActionOverlayPropsT = {\n    className?: string;\n    isActive: boolean;\n    tooltipPosition?: TooltipPositionEnum;\n    tooltipNode?: React.ReactNode;\n};\n\nconst ActionOverlay: React.FC<ActionOverlayPropsT> = (props) => {\n    const { className, children, tooltipNode, tooltipPosition, isActive } = props;\n\n    return (\n        <Tooltip\n            position={tooltipPosition || TooltipPositionEnum.topCenter}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={isActive ? tooltipNode : null}\n        >\n            {() => (\n                <div className={cs(cx('wrap'), className)}>\n                    {children}\n                    {isActive ? <div className={cx('overlay')} /> : null}\n                </div>\n            )}\n        </Tooltip>\n    );\n};\n\nexport default ActionOverlay;\n","import { FieldsEnum, FormValuesT } from './constants';\n\nexport type FormDataT = {\n    reason: string;\n};\n\nconst prepareData = (formValues: FormValuesT): FormDataT => {\n    return {\n        reason: formValues[FieldsEnum.reason],\n    };\n};\n\nexport { prepareData };\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './StatisticsPage.scss';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport Widget from 'common/components/Widget/Widget';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { createJsonParams } from 'common/utils/query';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport { CurrencyEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Money from 'common/components/Money/Money';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport LinearScaleIcon from 'common/icons/LinearScaleIcon';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport TwinDatePicker from 'design-system/components/date-pickers/TwinDatePicker/TwinDatePicker';\nimport StatisticsChart from 'broker-admin/layouts/StatisticsPage/StatisticsChart/StatisticsChart';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { StatisticGranularityEnum, StatisticSourceEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { prepareFetchQuery } from 'broker-admin/layouts/StatisticsPage/prepare-fetch-query';\nimport { fetchStatistics } from 'broker-admin/store/statistics/actions';\nimport moment from 'moment';\nimport { getDateFromDate } from 'common/utils/time';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport {\n    selectDoneStatistics,\n    selectDoneStatisticsStatus,\n    selectRejectStatistics,\n    selectRejectStatisticsStatus,\n} from 'broker-admin/store/statistics/selectors';\nimport { AggregateEnum, DEFAULT_DATA_SOURCE } from './constants';\nimport { GraphSettingsT } from './models';\nimport isNil from 'lodash/isNil';\nimport InlineLoader from 'common/components/InlineLoader/InlineLoader';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport { StringParam, useQueryParams } from 'use-query-params';\nimport { useCheckOpenedSidebar, useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst DATE_FORMAT = 'YYYY-MM-DD';\n\nconst AGGREGATE_LABEL_T: Record<AggregateEnum, string> = {\n    [AggregateEnum.rejectedShipperRate]: 'statistics.aggregate.rejected-shipper-rate',\n    [AggregateEnum.acceptedShipperRate]: 'statistics.aggregate.accepted-shipper-rate',\n    [AggregateEnum.estimatedCarrierRate]: 'statistics.aggregate.estimated-carrier-rate',\n    [AggregateEnum.realCarrierRate]: 'statistics.aggregate.real-carrier-rate',\n    [AggregateEnum.margin]: 'statistics.aggregate.margin',\n};\n\nconst AGGREGATE_COLOR: Record<AggregateEnum, StyleGuideColorsEnum | null> = {\n    [AggregateEnum.rejectedShipperRate]: StyleGuideColorsEnum.tomatoRed,\n    [AggregateEnum.acceptedShipperRate]: StyleGuideColorsEnum.mediumGreen,\n    [AggregateEnum.estimatedCarrierRate]: StyleGuideColorsEnum.light,\n    [AggregateEnum.realCarrierRate]: StyleGuideColorsEnum.orange,\n    [AggregateEnum.margin]: null,\n};\n\ntype GranularityOptionT = {\n    label: React.ReactNode;\n    value: StatisticGranularityEnum;\n};\n\nconst availablePresetMap: Record<StatisticSourceEnum, GraphSettingsT['available']> = {\n    [StatisticSourceEnum.import]: {\n        [AggregateEnum.rejectedShipperRate]: false,\n        [AggregateEnum.acceptedShipperRate]: false,\n        [AggregateEnum.estimatedCarrierRate]: true,\n        [AggregateEnum.realCarrierRate]: true,\n        [AggregateEnum.margin]: false,\n    },\n    [StatisticSourceEnum.native]: {\n        [AggregateEnum.rejectedShipperRate]: true,\n        [AggregateEnum.acceptedShipperRate]: true,\n        [AggregateEnum.estimatedCarrierRate]: true,\n        [AggregateEnum.realCarrierRate]: true,\n        [AggregateEnum.margin]: true,\n    },\n};\n\nconst StatisticsPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.statsFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.statsGranularity]: StringParam,\n        [QueryKeysEnum.statsFrom]: StringParam,\n        [QueryKeysEnum.statsTo]: StringParam,\n    });\n\n    const queryFilters = query[QueryKeysEnum.statsFilters];\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const isOpenedFilters = useCheckOpenedSidebar(BrokerSidebarsTypeEnum.statisticsFilter);\n    const showFilters = () => {\n        openLeftSidebar({\n            type: BrokerSidebarsTypeEnum.statisticsFilter,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        changeQuery({\n            [QueryKeysEnum.statsFilters]: selectedQueryFilters,\n        });\n    };\n\n    const doneStatistics = useSelector(selectDoneStatistics);\n    const rejectStatistics = useSelector(selectRejectStatistics);\n\n    const aggregateAmounts = React.useMemo((): Record<AggregateEnum, number | null> => {\n        const avgDoneShipperRate = doneStatistics?.aggregate.avgShipperRate;\n        const avgRejectShipperRate = rejectStatistics?.aggregate.avgShipperRate;\n        const avgCarrierRateEstimate = doneStatistics?.aggregate?.avgCarrierRateEstimate;\n        const avgMarginRate = doneStatistics?.aggregate?.avgMarginRate;\n        const avgCarrierRate = doneStatistics?.aggregate?.avgCarrierRate;\n\n        const prepareValue = (value: number | undefined) => (isNil(value) ? null : value);\n\n        return {\n            [AggregateEnum.rejectedShipperRate]: prepareValue(avgRejectShipperRate),\n            [AggregateEnum.acceptedShipperRate]: prepareValue(avgDoneShipperRate),\n            [AggregateEnum.estimatedCarrierRate]: prepareValue(avgCarrierRateEstimate),\n            [AggregateEnum.realCarrierRate]: prepareValue(avgCarrierRate),\n            [AggregateEnum.margin]: prepareValue(avgMarginRate),\n        };\n    }, [doneStatistics, rejectStatistics]);\n\n    const selecedDataSource =\n        (queryFilters?.[QueryFiltersKeysEnum.dataSource] as StatisticSourceEnum) || DEFAULT_DATA_SOURCE;\n\n    const [graphSettings, setGraphSettings] = React.useState<GraphSettingsT>({\n        available: availablePresetMap[selecedDataSource],\n        show: {\n            [AggregateEnum.rejectedShipperRate]: true,\n            [AggregateEnum.acceptedShipperRate]: true,\n            [AggregateEnum.estimatedCarrierRate]: true,\n            [AggregateEnum.realCarrierRate]: true,\n            [AggregateEnum.margin]: true,\n        },\n    });\n\n    React.useEffect(() => {\n        setGraphSettings({\n            ...graphSettings,\n            available: availablePresetMap[selecedDataSource],\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [selecedDataSource]);\n\n    const aggregates = React.useMemo(() => {\n        return [\n            AggregateEnum.rejectedShipperRate,\n            AggregateEnum.acceptedShipperRate,\n            AggregateEnum.estimatedCarrierRate,\n            AggregateEnum.realCarrierRate,\n            AggregateEnum.margin,\n        ].map((type) => ({\n            type,\n            label: t(AGGREGATE_LABEL_T[type]),\n            color: AGGREGATE_COLOR[type],\n            amount: aggregateAmounts[type],\n        }));\n    }, [aggregateAmounts, t]);\n\n    const [selectedGranularity, setGranularity] = React.useState<StatisticGranularityEnum>(\n        (): StatisticGranularityEnum => {\n            const queryStatsGranularity = query[QueryKeysEnum.statsGranularity] as StatisticGranularityEnum;\n            return queryStatsGranularity || StatisticGranularityEnum.week;\n        },\n    );\n    React.useEffect(() => {\n        changeQuery({\n            [QueryKeysEnum.statsGranularity]: selectedGranularity,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [selectedGranularity]);\n\n    const options: GranularityOptionT[] = React.useMemo(\n        () => [\n            {\n                label: t('statistics.unit.month'),\n                value: StatisticGranularityEnum.month,\n            },\n            {\n                label: t('statistics.unit.week'),\n                value: StatisticGranularityEnum.week,\n            },\n            {\n                label: t('statistics.unit.day'),\n                value: StatisticGranularityEnum.day,\n            },\n        ],\n        [t],\n    );\n\n    const renderOption = (option?: GranularityOptionT, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n        return <span className={cx('option')}>{option.label}</span>;\n    };\n\n    const [dates, setDates] = React.useState<DateRangeT | null>(() => {\n        const queryStatisticsFrom = query[QueryKeysEnum.statsFrom];\n        const queryStatisticsTo = query[QueryKeysEnum.statsTo];\n        if (queryStatisticsFrom && queryStatisticsTo) {\n            const parsedStatisticsFrom = moment(queryStatisticsFrom, DATE_FORMAT);\n            const parsedStatisticsTo = moment(queryStatisticsTo, DATE_FORMAT);\n            if (\n                parsedStatisticsFrom.isValid() &&\n                parsedStatisticsTo.isValid() &&\n                parsedStatisticsTo.isAfter(parsedStatisticsFrom)\n            ) {\n                return {\n                    from: parsedStatisticsFrom.toDate(),\n                    to: moment(queryStatisticsTo, DATE_FORMAT).toDate(),\n                };\n            }\n        }\n\n        const defaultDateFrom = moment().toDate();\n        const defaultDateTo = moment().add(1, 'month').toDate();\n\n        return {\n            from: defaultDateFrom,\n            to: defaultDateTo,\n        };\n    });\n\n    React.useEffect(() => {\n        if (!dates?.from || !dates?.to) {\n            return;\n        }\n\n        changeQuery({\n            [QueryKeysEnum.statsTo]: getDateFromDate(dates.to),\n            [QueryKeysEnum.statsFrom]: getDateFromDate(dates.from),\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [dates]);\n\n    React.useEffect(() => {\n        const query = prepareFetchQuery(queryFilters, selectedGranularity, dates);\n        if (!query) {\n            return;\n        }\n\n        dispatch(fetchStatistics(query));\n    }, [queryFilters, selectedGranularity, dates, dispatch]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const query = prepareFetchQuery(queryFilters, selectedGranularity, dates);\n        if (!query) {\n            return;\n        }\n\n        dispatch(fetchStatistics(query, { isForceUpdate: false }));\n    }, [queryFilters, selectedGranularity, dates, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const doneStatisticsStatus = useSelector(selectDoneStatisticsStatus);\n    const rejectStatisticsStatus = useSelector(selectRejectStatisticsStatus);\n\n    const isLoading = doneStatisticsStatus.loading || rejectStatisticsStatus.loading;\n    const isError = doneStatisticsStatus.error || rejectStatisticsStatus.error;\n    const isEmptyData = !isError && !isLoading && !doneStatistics?.series?.length && !rejectStatistics?.series?.length;\n\n    return (\n        <ScrollableContent>\n            <PageTitle title={t('page-titles.statistics')} />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent title={t('statistics.title')} rightNode={<NotificationsBarTrigger />} />\n                </TopBar>\n                <div>\n                    <div className={cx('actions')}>\n                        <FiltersTrigger\n                            title={t('statistics.filters.trigger')}\n                            isActive={isOpenedFilters}\n                            onClick={showFilters}\n                        />\n                    </div>\n                    <div className={cx('filter-tags')}>\n                        <SelectedFilters\n                            isCompact\n                            queryFilters={queryFilters}\n                            setQueryFilters={handleSetQueryFilters}\n                        />\n                    </div>\n                    <Widget\n                        className={cx('widget')}\n                        title={t('statistics.sections.rate-history')}\n                        rightNode={\n                            <>\n                                <DropdownInput<GranularityOptionT, GranularityOptionT['value']>\n                                    className={cx('unit')}\n                                    selectedValue={selectedGranularity}\n                                    options={options}\n                                    onSelect={setGranularity}\n                                    renderLeftIcon={() => (\n                                        <LinearScaleIcon strokeColor={StyleGuideColorsEnum.brandDark} />\n                                    )}\n                                    renderOption={renderOption}\n                                    getOptionValue={(option) => option.value}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                />\n                                <TwinDatePicker\n                                    className={cx('dates')}\n                                    value={dates}\n                                    hasYearMonthForm\n                                    placeholder={t('statistics.empty-dates')}\n                                    onChange={setDates}\n                                    overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                    hasClearControl\n                                    renderLeftIcon={(isEmpty) => (\n                                        <CalendarIcon\n                                            size={DEFAULT_ICON_SIZE}\n                                            fillColor={\n                                                isEmpty ? StyleGuideColorsEnum.white : StyleGuideColorsEnum.brandAccent\n                                            }\n                                            strokeColor={\n                                                isEmpty ? StyleGuideColorsEnum.light : StyleGuideColorsEnum.brandDark\n                                            }\n                                        />\n                                    )}\n                                />\n                            </>\n                        }\n                    >\n                        {isEmptyData && <div className={cx('message')}>{t('common:no-data')}</div>}\n                        {isError && <div className={cx('message')}>{t('common:something-went-wrong')}</div>}\n                        {!isError && (\n                            <div className={cx('widget__inner')}>\n                                <div className={cx('widget__aggregates')}>\n                                    {aggregates.map((aggregate) => {\n                                        const isAvailable = graphSettings.available[aggregate.type];\n                                        const isChecked = graphSettings.show[aggregate.type];\n                                        const hasAmount = !isNil(aggregate.amount);\n\n                                        return (\n                                            <div className={cx('aggregate')} key={aggregate.type}>\n                                                <Checkbox\n                                                    className={cx('aggregate__checkbox')}\n                                                    isDisabled={!isAvailable}\n                                                    checked={isChecked}\n                                                    onChange={() => {\n                                                        setGraphSettings({\n                                                            ...graphSettings,\n                                                            show: {\n                                                                ...graphSettings.show,\n                                                                [aggregate.type]: !isChecked,\n                                                            },\n                                                        });\n                                                    }}\n                                                    label={\n                                                        <div className={cx('aggregate__label')}>\n                                                            {aggregate.color ? (\n                                                                <HollowCircleIcon\n                                                                    borderColor={aggregate.color}\n                                                                    className={cx('aggregate__circle')}\n                                                                />\n                                                            ) : null}\n                                                            <span className={cx('aggregate__text')}>\n                                                                {aggregate.label}\n                                                            </span>\n                                                        </div>\n                                                    }\n                                                />\n                                                <div className={cx('aggregate__price')}>\n                                                    {isAvailable && !hasAmount && <InlineLoader lineHeight={20} />}\n                                                    {isAvailable && hasAmount && (\n                                                        <Money amount={aggregate.amount} currency={CurrencyEnum.EUR} />\n                                                    )}\n                                                    {!isAvailable && (\n                                                        <div className={cx('not-number')}>{t('common:not-number')}</div>\n                                                    )}\n                                                </div>\n                                            </div>\n                                        );\n                                    })}\n                                </div>\n                                <div>\n                                    <StatisticsChart\n                                        settings={graphSettings}\n                                        granularity={selectedGranularity}\n                                        doneStatistics={doneStatistics}\n                                        rejectStatistics={rejectStatistics}\n                                    />\n                                </div>\n                                {isLoading && <LoaderOverlay />}\n                            </div>\n                        )}\n                    </Widget>\n                </div>\n            </ContentMargins>\n            <SideBars />\n        </ScrollableContent>\n    );\n});\n\nexport default StatisticsPage;\n","import {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nexport type ResponseDataMapT = {\n    [TranziitApiRequestErrorSubTypeEnum.accessDeniedToApi]: Api2.Definitions.ServerErrorResponse;\n    [TranziitApiRequestErrorSubTypeEnum.accessDeniedToEntity]: Api2.Definitions.ServerErrorResponse;\n    [TranziitApiRequestErrorSubTypeEnum.notFoundCompany]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.emailAlreadyExist]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.phoneAlreadyExist]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.canNotDowngradeLastAdminInTeam]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.canNotDeleteHimself]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreationExpiredRFQ]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_ExpiredPriceOffer]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_CapacityExcess]: Api2.Definitions.ShipmentValidationResponse;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedCompleteRFQ_Overweight]: Api2.Definitions.ShipmentValidationResponse;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteNotFound]: Api2.Definitions.RouteErrorResponse;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_RouteWaypointNotLinkable]: Api2.Definitions.RouteErrorResponse;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_FailedPreviewRoute_ProhibitedCountry]: Api2.Definitions.RouteErrorResponse;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_ShipperNotAllowedToHaveNewOrders]: Api2.Definitions.CommonErrorResponse;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_ShipperNotAvailable]: Api2.Definitions.CommonErrorResponse;\n    [TranziitApiRequestErrorSubTypeEnum.orderCreation_AlreadyCompletedRFQ]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.noRouteFound]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.successorHasNotActiveStatus]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.couldNotUnLockCompany]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.notAuthorizedUser]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.alreadyAssignedDrivers]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.firebaseTooManyResendInviteRequests]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.expiredContextPreviewReserve]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.failedArchiveInTransitDriver]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.assignmentSelfCostPrediction]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.brokerOrderEdit_ExpirationContext]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.evidenceOfTaxDetails_WrongVat]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.deadheadCreation_InvalidVehicle]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.manualRateRuleCreation_InvalidZipsFrom]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.manualRateRuleUpdate_InvalidZipsFrom]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.manualRateRuleCreation_InvalidZipsTo]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.manualRateRuleUpdate_InvalidZipsTo]: unknown;\n    [TranziitApiRequestErrorSubTypeEnum.documents_unsupportedFileType]: Api2.Definitions.UnsupportedFileTypeErrorDto;\n    [TranziitApiRequestErrorSubTypeEnum.attachedPapers_unsupportedFileType]: Api2.Definitions.UnsupportedFileTypeErrorDto;\n};\n\nexport const checkIsTranziitApiErrorResponse = <TSubType extends keyof ResponseDataMapT>(\n    error: Error | null | undefined,\n    type: TSubType,\n): error is TranziitApiRequestError<ResponseDataMapT[TSubType]> => {\n    if (!checkIsTranziitApiRequestError(error)) {\n        return false;\n    }\n\n    return error.subType === type;\n};\n","import {\n    ACTIVATION_TRAILERS_REQUEST,\n    ActivationTrailersRequestActionT,\n    ADD_TRAILER_REQUEST,\n    ADD_TRAILER_REQUEST_BEGIN,\n    ADD_TRAILER_REQUEST_ERROR,\n    ADD_TRAILER_REQUEST_SUCCESS,\n    AddTrailerRequestActionT,\n    AddTrailerRequestBeginActionT,\n    AddTrailerRequestErrorActionT,\n    AddTrailerRequestSuccessActionT,\n    ARCHIVE_TRAILERS_REQUEST,\n    ArchiveTrailersRequestActionT,\n    ASSIGN_TO_CONTRACT_TRAILERS_REQUEST,\n    AssignToContractRequestActionT,\n    CHANGE_RATE_TRAILERS_REQUEST,\n    DELETE_TRAILERS_REQUEST,\n    DELETE_TRAILERS_REQUEST_BEGIN,\n    DELETE_TRAILERS_REQUEST_ERROR,\n    DELETE_TRAILERS_REQUEST_SUCCESS,\n    DeleteTrailersRequestActionT,\n    DeleteTrailersRequestBeginActionT,\n    DeleteTrailersRequestErrorActionT,\n    DeleteTrailersRequestSuccessActionT,\n    EXPORT_XLS_TRAILERS_REQUEST,\n    EXPORT_XLS_TRAILERS_REQUEST_BEGIN,\n    EXPORT_XLS_TRAILERS_REQUEST_ERROR,\n    EXPORT_XLS_TRAILERS_REQUEST_SUCCESS,\n    ExportXLSTrailersActionT,\n    ExportXLSTrailersBeginActionT,\n    ExportXLSTrailersErrorActionT,\n    ExportXLSTrailersSuccessActionT,\n    FETCH_TRAILER_DETAILS_REQUEST,\n    FETCH_TRAILER_DETAILS_REQUEST_BEGIN,\n    FETCH_TRAILER_DETAILS_REQUEST_ERROR,\n    FETCH_TRAILER_DETAILS_REQUEST_SUCCESS,\n    FETCH_TRAILERS_PAGE_REQUEST,\n    FETCH_TRAILERS_PAGE_REQUEST_BEGIN,\n    FETCH_TRAILERS_PAGE_REQUEST_ERROR,\n    FETCH_TRAILERS_PAGE_REQUEST_SUCCESS,\n    FETCH_TRAILERS_STATS_REQUEST,\n    FETCH_TRAILERS_STATS_REQUEST_BEGIN,\n    FETCH_TRAILERS_STATS_REQUEST_ERROR,\n    FETCH_TRAILERS_STATS_REQUEST_SUCCESS,\n    FetchTrailerDetailsActionT,\n    FetchTrailerDetailsBeginActionT,\n    FetchTrailerDetailsErrorActionT,\n    FetchTrailerDetailsSuccessActionT,\n    FetchTrailersPageActionT,\n    FetchTrailersPageBeginActionT,\n    FetchTrailersPageErrorActionT,\n    FetchTrailersPageSuccessActionT,\n    FetchTrailersStatsActionT,\n    FetchTrailersStatsBeginActionT,\n    FetchTrailersStatsErrorActionT,\n    FetchTrailersStatsSuccessActionT,\n    IMPORT_XLS_TRAILERS_REQUEST,\n    IMPORT_XLS_TRAILERS_REQUEST_BEGIN,\n    IMPORT_XLS_TRAILERS_REQUEST_ERROR,\n    IMPORT_XLS_TRAILERS_REQUEST_SUCCESS,\n    ImportXLSTrailersActionT,\n    ImportXLSTrailersBeginActionT,\n    ImportXLSTrailersErrorActionT,\n    ImportXLSTrailersSuccessActionT,\n    RESET_TRAILERS,\n    ResetTrailersActionT,\n    UPDATE_TRAILERS_REQUEST,\n    UPDATE_TRAILERS_REQUEST_BEGIN,\n    UPDATE_TRAILERS_REQUEST_ERROR,\n    UPDATE_TRAILERS_REQUEST_SUCCESS,\n    UpdateTrailerActionT,\n    UpdateTrailersRequestBeginActionT,\n    UpdateTrailersRequestErrorActionT,\n    UpdateTrailersRequestSuccessActionT,\n    ChangeRateTrailersRequestActionT,\n} from './types';\nimport {\n    ActivateTrailersRequestT,\n    ApiTrailerDetailsT,\n    ApiTrailerT,\n    CompanyTrailersStatsT,\n    FetchTrailersPageQueryT,\n} from './models';\nimport {\n    ApiChangeContractVehiclesRequestT,\n    ApiChangeRateVehiclesRequestT,\n    ApiTrailerAddRequestT,\n    ApiTrailerUpdateRequestT,\n} from 'common/utils/api/models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchTrailersPage = (\n    pageNumber: PageNumberT,\n    query: FetchTrailersPageQueryT,\n    companyId: CompanyIdT,\n    options?: FetchOptionsT,\n): FetchTrailersPageActionT => {\n    return {\n        type: FETCH_TRAILERS_PAGE_REQUEST,\n        query,\n        pageNumber,\n        companyId,\n        options,\n    };\n};\n\nexport const fetchTrailersPageBegin = (\n    query: FetchTrailersPageQueryT,\n    pageNumber: PageNumberT,\n    companyId: CompanyIdT,\n): FetchTrailersPageBeginActionT => ({\n    type: FETCH_TRAILERS_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n    companyId,\n});\n\nexport const fetchTrailersPageSuccess = (\n    query: FetchTrailersPageQueryT,\n    pageNumber: PageNumberT,\n    companyId: CompanyIdT,\n    pageResponse: PageResponseT<ApiTrailerT>,\n): FetchTrailersPageSuccessActionT => ({\n    type: FETCH_TRAILERS_PAGE_REQUEST_SUCCESS,\n    query,\n    pageNumber,\n    companyId,\n    pageResponse,\n});\n\nexport const fetchTrailersPageError = (\n    query: FetchTrailersPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n    companyId: CompanyIdT,\n): FetchTrailersPageErrorActionT => ({\n    type: FETCH_TRAILERS_PAGE_REQUEST_ERROR,\n    query,\n    error,\n    pageNumber,\n    companyId,\n});\n\nexport const resetTrailers = (\n    companyId: CompanyIdT,\n    mutationListOptions: MutationListOptionsT,\n): ResetTrailersActionT => ({\n    type: RESET_TRAILERS,\n    companyId,\n    mutationListOptions,\n});\n\nexport const addTrailerRequest = (data: ApiTrailerAddRequestT, companyId: CompanyIdT): AddTrailerRequestActionT => ({\n    type: ADD_TRAILER_REQUEST,\n    data,\n    companyId,\n});\n\nexport const addTrailerRequestBegin = (companyId: CompanyIdT): AddTrailerRequestBeginActionT => ({\n    type: ADD_TRAILER_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const addTrailerRequestError = (error: Error, companyId: CompanyIdT): AddTrailerRequestErrorActionT => ({\n    type: ADD_TRAILER_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const addTrailerRequestSuccess = (companyId: CompanyIdT): AddTrailerRequestSuccessActionT => ({\n    type: ADD_TRAILER_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const deleteTrailersRequest = (\n    trailerIds: TrailerIdT[],\n    companyId: CompanyIdT,\n): DeleteTrailersRequestActionT => ({\n    type: DELETE_TRAILERS_REQUEST,\n    trailerIds,\n    companyId,\n});\n\nexport const deleteTrailersRequestBegin = (companyId: CompanyIdT): DeleteTrailersRequestBeginActionT => ({\n    type: DELETE_TRAILERS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const deleteTrailersRequestError = (error: Error, companyId: CompanyIdT): DeleteTrailersRequestErrorActionT => ({\n    type: DELETE_TRAILERS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const deleteTrailersRequestSuccess = (companyId: CompanyIdT): DeleteTrailersRequestSuccessActionT => ({\n    type: DELETE_TRAILERS_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const updateTrailer = (\n    trailerId: TrailerIdT,\n    updateTrailer: ApiTrailerUpdateRequestT,\n    companyId: CompanyIdT,\n): UpdateTrailerActionT => ({\n    type: UPDATE_TRAILERS_REQUEST,\n    trailerId,\n    updateTrailer,\n    companyId,\n});\n\nexport const assignToContractRequest = ({\n    contractName,\n    changeContractRequest,\n    companyId,\n}: {\n    contractName: string | null;\n    changeContractRequest: ApiChangeContractVehiclesRequestT;\n    companyId: CompanyIdT;\n}): AssignToContractRequestActionT => ({\n    type: ASSIGN_TO_CONTRACT_TRAILERS_REQUEST,\n    contractName,\n    changeContractRequest,\n    companyId,\n});\n\nexport const changeRateTrailersRequest = ({\n    companyId,\n    changeRateVehiclesRequest,\n}: {\n    companyId: CompanyIdT;\n    changeRateVehiclesRequest: ApiChangeRateVehiclesRequestT;\n}): ChangeRateTrailersRequestActionT => ({\n    type: CHANGE_RATE_TRAILERS_REQUEST,\n    changeRateVehiclesRequest,\n    companyId,\n});\n\nexport const activationTrailersRequest = (\n    companyId: CompanyIdT,\n    activateTrailersRequest: ActivateTrailersRequestT,\n): ActivationTrailersRequestActionT => ({\n    type: ACTIVATION_TRAILERS_REQUEST,\n    activateTrailersRequest,\n    companyId,\n});\n\nexport const archiveTrailersRequest = (\n    trailerIds: TrailerIdT[],\n    companyId: CompanyIdT,\n    reason: string,\n): ArchiveTrailersRequestActionT => ({\n    type: ARCHIVE_TRAILERS_REQUEST,\n    trailerIds,\n    companyId,\n    reason,\n});\n\nexport const updateTrailersRequestBegin = (companyId: CompanyIdT): UpdateTrailersRequestBeginActionT => ({\n    type: UPDATE_TRAILERS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const updateTrailersRequestError = (error: Error, companyId: CompanyIdT): UpdateTrailersRequestErrorActionT => ({\n    type: UPDATE_TRAILERS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const updateTrailersRequestSuccess = (companyId: CompanyIdT): UpdateTrailersRequestSuccessActionT => ({\n    type: UPDATE_TRAILERS_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const fetchTrailerDetails = (\n    trailerId: TrailerIdT,\n    companyId: CompanyIdT,\n    options?: FetchOptionsT,\n): FetchTrailerDetailsActionT => ({\n    type: FETCH_TRAILER_DETAILS_REQUEST,\n    trailerId,\n    companyId,\n    options,\n});\n\nexport const fetchTrailerDetailsRequestBegin = (companyId: CompanyIdT): FetchTrailerDetailsBeginActionT => ({\n    type: FETCH_TRAILER_DETAILS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const fetchTrailerDetailsRequestError = (\n    error: Error,\n    companyId: CompanyIdT,\n): FetchTrailerDetailsErrorActionT => ({\n    type: FETCH_TRAILER_DETAILS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const fetchTrailerDetailsRequestSuccess = (\n    trailerId: TrailerIdT,\n    details: ApiTrailerDetailsT | null,\n    companyId: CompanyIdT,\n): FetchTrailerDetailsSuccessActionT => ({\n    type: FETCH_TRAILER_DETAILS_REQUEST_SUCCESS,\n    trailerId,\n    details,\n    companyId,\n});\n\nexport const fetchTrailersStats = (companyId: CompanyIdT, options?: FetchOptionsT): FetchTrailersStatsActionT => ({\n    type: FETCH_TRAILERS_STATS_REQUEST,\n    companyId,\n    options,\n});\n\nexport const fetchTrailersStatsRequestBegin = (companyId: CompanyIdT): FetchTrailersStatsBeginActionT => ({\n    type: FETCH_TRAILERS_STATS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const fetchTrailersStatsRequestError = (\n    error: Error,\n    companyId: CompanyIdT,\n): FetchTrailersStatsErrorActionT => ({\n    type: FETCH_TRAILERS_STATS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const fetchTrailersStatsRequestSuccess = (\n    stats: CompanyTrailersStatsT | null,\n    companyId: CompanyIdT,\n): FetchTrailersStatsSuccessActionT => ({\n    type: FETCH_TRAILERS_STATS_REQUEST_SUCCESS,\n    stats,\n    companyId,\n});\n\nexport const importXLSTrailers = (companyId: CompanyIdT, file: File): ImportXLSTrailersActionT => ({\n    type: IMPORT_XLS_TRAILERS_REQUEST,\n    companyId,\n    file,\n});\n\nexport const importXLSTrailersRequestBegin = (companyId: CompanyIdT): ImportXLSTrailersBeginActionT => ({\n    type: IMPORT_XLS_TRAILERS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const importXLSTrailersRequestError = (error: Error, companyId: CompanyIdT): ImportXLSTrailersErrorActionT => ({\n    type: IMPORT_XLS_TRAILERS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const importXLSTrailersRequestSuccess = (companyId: CompanyIdT): ImportXLSTrailersSuccessActionT => ({\n    type: IMPORT_XLS_TRAILERS_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const exportXLSTrailers = (companyId: CompanyIdT, query: FetchTrailersPageQueryT): ExportXLSTrailersActionT => ({\n    type: EXPORT_XLS_TRAILERS_REQUEST,\n    companyId,\n    query,\n});\n\nexport const exportXLSTrailersRequestBegin = (companyId: CompanyIdT): ExportXLSTrailersBeginActionT => ({\n    type: EXPORT_XLS_TRAILERS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const exportXLSTrailersRequestError = (error: Error, companyId: CompanyIdT): ExportXLSTrailersErrorActionT => ({\n    type: EXPORT_XLS_TRAILERS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const exportXLSTrailersRequestSuccess = (companyId: CompanyIdT): ExportXLSTrailersSuccessActionT => ({\n    type: EXPORT_XLS_TRAILERS_REQUEST_SUCCESS,\n    companyId,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"table--carrier\":\"TransportOrderDetailsCard__table--carrier___gNkdO\",\"table--move\":\"TransportOrderDetailsCard__table--move___X6ctJ\",\"table\":\"TransportOrderDetailsCard__table___kq1YF\",\"fadeIn\":\"TransportOrderDetailsCard__fadeIn___JhZkd\",\"blinking\":\"TransportOrderDetailsCard__blinking___VpxVO\"};","import React, { useCallback } from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport keyBy from 'lodash/keyBy';\nimport {\n    AsyncRequestFactoryT,\n    useAsyncOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport isNil from 'lodash/isNil';\nimport UserDropdownOptionLabel from 'common/components/dropdowns/options/UserDropdownOptionLabel/UserDropdownOptionLabel';\n\nimport DropdownSearchMultipleInput from 'design-system/components/dropdowns/DropdownSearchMultipleInput/DropdownSearchMultipleInput';\nimport { useTranslation } from 'react-i18next';\nimport {\n    checkIsSpecialOption,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { ALL_BROKER_USERS_VALUE } from 'common/components/dropdowns/UserMultipleDropdown/constants';\nimport classNames from 'classnames/bind';\nimport styles from './UserMultipleDropdown.scss';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\nimport TeamDriveIcon from 'common/icons/TeamDriveIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { prepareSearchQuery } from 'common/utils/search';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype OptionT = {\n    label?: string;\n    value: UserIdT | typeof ALL_BROKER_USERS_VALUE;\n};\n\ntype ValueT = OptionT['value'];\n\nexport type PropsT = {\n    className?: string;\n    companyId: CompanyIdT | null;\n    onSelect: (values: Array<ValueT>, labels?: Array<string>) => void;\n    values: Array<ValueT>;\n    initialValues: Array<ValueT>;\n    initialLabels: Array<string>;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder?: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasChanges?: boolean;\n    hasClearControl?: boolean;\n    isShowAllBrokerUsersOption?: boolean;\n};\n\nconst UserMultipleDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        companyId,\n        values,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        onBlur,\n        onFocus,\n        hasChanges,\n        hasClearControl,\n        initialLabels,\n        initialValues,\n        isShowAllBrokerUsersOption,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const requestFactory: AsyncRequestFactoryT<OptionT | SpecialOptionEnum> = useCallback(\n        (query) => {\n            if (!companyId) {\n                logWarning('Empty companyId in requestFactory');\n                return Promise.resolve([null, null]);\n            }\n\n            let promise: ReturnType<\n                typeof brokerTranziitApi.findPartnerUsersByName | typeof commonTranziitApi.findCompanyUsersByName\n            >;\n\n            const isPartner = !checkIsDefaultCompanyId(companyId);\n            if (isPartner) {\n                promise = brokerTranziitApi.findPartnerUsersByName(companyId, {\n                    userName: query || undefined,\n                });\n            } else {\n                promise = commonTranziitApi.findCompanyUsersByName(query).then((results) => {\n                    const error = results?.[0] || null;\n                    if (error) {\n                        return [error, null];\n                    }\n\n                    const preparedQuery = prepareSearchQuery(query);\n\n                    const users = results?.[1] || [];\n                    const filteredUsers = users.filter((user) => {\n                        const preparedText = prepareSearchQuery(user.fullName || '');\n                        return preparedText.includes(preparedQuery);\n                    });\n\n                    return [null, filteredUsers];\n                });\n            }\n\n            return promise.then((results) => {\n                const users = results?.[1] || [];\n\n                const userOptions = users.reduce<Array<OptionT>>((acc, user) => {\n                    if (user.userId) {\n                        acc.push({\n                            label: user.fullName,\n                            value: user.userId,\n                        });\n                    }\n\n                    return acc;\n                }, []);\n\n                if (isShowAllBrokerUsersOption) {\n                    const userOptionsWithBroker: Array<OptionT | SpecialOptionEnum> = [\n                        {\n                            label: t('common:broker-name'),\n                            value: ALL_BROKER_USERS_VALUE,\n                        },\n                        SpecialOptionEnum.separator,\n                        ...userOptions,\n                    ];\n\n                    return [null, userOptionsWithBroker];\n                }\n\n                return [null, userOptions];\n            });\n        },\n        [t, companyId, isShowAllBrokerUsersOption],\n    );\n\n    const initialOptions = React.useMemo(() => {\n        return initialValues.map((initialValue, index): OptionT => {\n            return {\n                value: initialValue,\n                label: initialLabels[index],\n            };\n        });\n    }, [initialValues, initialLabels]);\n\n    const asyncFilterOptionsRequest = useAsyncOptionsRequest<OptionT | SpecialOptionEnum>({\n        initialOptions,\n        requestFactory,\n        settings: {},\n    });\n\n    const optionByValue = React.useMemo(() => {\n        return keyBy(asyncFilterOptionsRequest.options, 'value');\n    }, [asyncFilterOptionsRequest.options]);\n\n    const renderOption = (option?: OptionT, placeholder?: string): React.ReactNode => {\n        if (isNil(option)) {\n            return <UserDropdownOptionLabel className={cx('option')} label={placeholder || ''} isPlaceholder />;\n        }\n\n        return (\n            <UserDropdownOptionLabel\n                className={cx('option')}\n                isAllBrokerUsers={option?.value === ALL_BROKER_USERS_VALUE}\n                label={option?.label || ''}\n            />\n        );\n    };\n\n    const handleFocus = useCallback(() => {\n        if (onFocus) {\n            onFocus();\n        }\n    }, [onFocus]);\n\n    const renderTrigger = (options: Array<OptionT>, placeholder: string | undefined) => {\n        if (!options?.length) {\n            return <UserDropdownOptionLabel label={placeholder || ''} isPlaceholder />;\n        }\n\n        if (options.length === 1) {\n            const firstOption = options?.[0];\n            return (\n                <UserDropdownOptionLabel\n                    isAllBrokerUsers={firstOption?.value === ALL_BROKER_USERS_VALUE}\n                    label={firstOption?.label || ''}\n                />\n            );\n        }\n\n        return <DropdownMultipleInputCountLabel count={options?.length} />;\n    };\n\n    const renderLeftIcon = () => {\n        if (values?.length < 2) {\n            return null;\n        }\n\n        return (\n            <TeamDriveIcon\n                size={DEFAULT_ICON_SIZE}\n                fillColor={StyleGuideColorsEnum.brandAccent}\n                strokeColor={StyleGuideColorsEnum.brandDark}\n            />\n        );\n    };\n\n    const handleReset = () => {\n        onSelect([]);\n    };\n\n    const placeholder = props.placeholder || t('common:common-components.users-select.placeholder');\n\n    return (\n        <DropdownSearchMultipleInput<OptionT, ValueT>\n            className={className}\n            selectedValues={values}\n            placeholder={placeholder}\n            options={asyncFilterOptionsRequest.options}\n            isDisabled={isDisabled}\n            onSelect={(values) => {\n                const labels = values.map((value) => {\n                    const option = optionByValue[value as string] || null;\n                    if (!option || checkIsSpecialOption(option)) {\n                        return '';\n                    }\n                    return option?.label || '';\n                });\n\n                onSelect(values, labels);\n            }}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={asyncFilterOptionsRequest.onChangeQuery}\n            isLoading={asyncFilterOptionsRequest.requestStatus.loading}\n            renderOption={renderOption}\n            renderTriggerContent={renderTrigger}\n            renderLeftIcon={renderLeftIcon}\n            getOptionValue={(option) => option?.value}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={handleFocus}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            onReset={hasClearControl ? handleReset : undefined}\n            inputPlaceholder={t('common:common-components.dropdown-multiple-input.input-placeholder')}\n        />\n    );\n};\n\nexport default UserMultipleDropdown;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst getInitialValues = (systemSettings: SystemSettingsT | null | undefined): FormValuesT => {\n    return {\n        [FieldsEnum.firstRadiusOfAssignmentFilter]: systemSettings?.FIRST_RADIUS_OF_ASSIGNMENT_FILTER || '',\n        [FieldsEnum.secondRadiusOfAssignmentFilter]: systemSettings?.SECOND_RADIUS_OF_ASSIGNMENT_FILTER || '',\n        [FieldsEnum.thirdRadiusOfAssignmentFilter]: systemSettings?.THIRD_RADIUS_OF_ASSIGNMENT_FILTER || '',\n        [FieldsEnum.timeToDropTrailer]: systemSettings?.TIME_TO_DROP_TRAILER || '',\n        [FieldsEnum.timeToHookTrailer]: systemSettings?.TIME_TO_HOOK_TRAILER || '',\n        [FieldsEnum.timeToPickupTruck]: systemSettings?.TIME_TO_PICKUP_TRUCK || '',\n        [FieldsEnum.timeToDropTruck]: systemSettings?.TIME_TO_DROP_TRUCK || '',\n        [FieldsEnum.geoMatrixCoefficient]: systemSettings?.GEO_MATRIX_COEFFICIENT || '',\n        [FieldsEnum.averageTruckSpeed]: systemSettings?.AVERAGE_TRUCK_SPEED || '',\n    };\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"emission-class\":\"EmissionClassCell__emission-class___O5b2D\",\"fadeIn\":\"EmissionClassCell__fadeIn___aXaFt\",\"blinking\":\"EmissionClassCell__blinking___ZWb_v\"};","import React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TabLabel.scss';\nimport { TabsThemesEnum, TabLabelSizeEnum } from './constants';\n\nconst cx = classNames.bind(styles);\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type PropsT<ValueT> = {\n    className?: string;\n    onClick: () => void;\n    isActive: boolean;\n    isCompact?: boolean;\n    testSelector?: string;\n    theme: TabsThemesEnum;\n    children: React.ReactNode | string;\n    size?: TabLabelSizeEnum;\n    badge?: React.ReactNode;\n};\n\nconst TabLabel = <ValueT,>(props: PropsT<ValueT>): React.ReactElement => {\n    const { className, children, onClick, isActive, isCompact, theme, testSelector, size, badge } = props;\n\n    let content = children;\n\n    if (badge) {\n        content = (\n            <div className={cx('inner')}>\n                <div className={cx('inner__badge')}>{badge}</div>\n                <div className={cx('inner__content')}>{children}</div>\n            </div>\n        );\n    }\n\n    return (\n        <div\n            className={cs(\n                cx('tab', {\n                    'tab--isActive': isActive,\n                    'tab--isCompact': isCompact,\n                    [`tab--size-${size || TabLabelSizeEnum.normal}`]: true,\n                    [`tab--theme-${theme}`]: true,\n                }),\n                className,\n            )}\n            onClick={onClick}\n            data-test-selector={`${testSelector}_tab`}\n        >\n            {content}\n        </div>\n    );\n};\n\nexport default TabLabel;\n","import * as React from 'react';\nimport { CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { SpotRequestDetailsSidebarDataT } from './models';\nimport BaseSpotRequestDetailsSidebarContent from 'broker-admin/components/BaseSpotRequestDetailsSidebarContent/BaseSpotRequestDetailsSidebarContent';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport history from 'common/utils/history';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\n\ntype PropsT = SidebarContentPropsT<SpotRequestDetailsSidebarDataT, BrokerSidebarDataT>;\n\nconst SpotRequestDetailsSidebarContent: React.FC<PropsT> = React.memo((props) => {\n    const { data, onClose, onOpenNextSidebar } = props;\n\n    const handleOpenMap = () => {\n        const url = urlFactory.spotRequestDetails(data.id);\n        history.push(url);\n    };\n\n    const handleOpenUserDetails = (params: {\n        partnerType: PartnerTypeEnum;\n        partnerId: PartnerIdT;\n        userId: UserIdT | null;\n    }) => {\n        const { userId, partnerType, partnerId } = params;\n        if (!userId) {\n            logWarning('failed to open user details in spot request details sidebar, empty userId');\n            return;\n        }\n\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    return (\n        <BaseSpotRequestDetailsSidebarContent\n            id={data.id}\n            onClose={onClose}\n            toggleMap={handleOpenMap}\n            onOpenUserDetails={handleOpenUserDetails}\n        />\n    );\n});\n\nexport default SpotRequestDetailsSidebarContent;\n","import * as React from 'react';\n\nimport cs from 'classnames';\n\nimport classNames from 'classnames/bind';\nimport styles from './Logo.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isSmall?: boolean;\n};\n\nconst Logo: React.FC<PropsT> = React.memo((props) => {\n    const { className, isSmall } = props;\n\n    return <div className={cs(cx('logo', { 'logo--isSmall': isSmall }), className)} />;\n});\n\nexport default Logo;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './PointContactsPicker.scss';\nimport { FieldsEnum, FormValuesT, PointContactsFieldsEnum } from '../constants';\nimport { useTranslation } from 'react-i18next';\nimport Input from 'common/components/Input/Input';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport PhoneNumberInput from 'common/components/PhoneNumberInput/PhoneNumberInput';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    contactIndex: number;\n};\n\nconst PointContactsPicker: React.FC<PropsT> = React.memo((props) => {\n    const { contactIndex, className } = props;\n\n    const { t } = useTranslation();\n\n    const companyNameFieldName =\n        `${FieldsEnum.contacts}.${contactIndex}.${PointContactsFieldsEnum.companyName}` as const;\n    const fullNameFieldName = `${FieldsEnum.contacts}.${contactIndex}.${PointContactsFieldsEnum.fullName}` as const;\n    const emailFieldName = `${FieldsEnum.contacts}.${contactIndex}.${PointContactsFieldsEnum.email}` as const;\n    const phoneNumberFieldName =\n        `${FieldsEnum.contacts}.${contactIndex}.${PointContactsFieldsEnum.phoneNumber}` as const;\n    const commentFieldName = `${FieldsEnum.contacts}.${contactIndex}.${PointContactsFieldsEnum.comment}` as const;\n\n    return (\n        <div className={className}>\n            <FieldGroup spaces={2}>\n                <FormikConnectContextField<FormValuesT, typeof companyNameFieldName>\n                    name={companyNameFieldName}\n                    label={t('common:new-order-details.fields.company-name.label')}\n                    className={cx('field', 'field--company-name')}\n                >\n                    {(props, extendsProps) => (\n                        <Input\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            placeholder={t('common:new-order-details.fields.company-name.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikConnectContextField>\n                <FormikConnectContextField<FormValuesT, typeof fullNameFieldName>\n                    name={fullNameFieldName}\n                    label={t('common:new-order-details.fields.full-name.label')}\n                    className={cx('field', 'field--full-name')}\n                >\n                    {(props, extendsProps) => (\n                        <Input\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            placeholder={t('common:new-order-details.fields.full-name.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikConnectContextField>\n            </FieldGroup>\n            <FieldGroup spaces={2}>\n                <FormikConnectContextField<FormValuesT, typeof phoneNumberFieldName>\n                    name={phoneNumberFieldName}\n                    label={t('common:new-order-details.fields.phone-number.label')}\n                    className={cx('field', 'field--phone-number')}\n                >\n                    {(props, extendsProps) => (\n                        <PhoneNumberInput\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikConnectContextField>\n                <FormikConnectContextField<FormValuesT, typeof emailFieldName>\n                    name={emailFieldName}\n                    label={t('common:new-order-details.fields.email.label')}\n                    className={cx('field', 'field--email')}\n                >\n                    {(props, extendsProps) => (\n                        <Input\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            placeholder={t('common:new-order-details.fields.email.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikConnectContextField>\n            </FieldGroup>\n            <FormikConnectContextField<FormValuesT, typeof commentFieldName>\n                name={commentFieldName}\n                label={t('common:new-order-details.fields.comment.label')}\n                className={cx('field', 'field--comment')}\n            >\n                {(props, extendsProps) => (\n                    <Input\n                        name={extendsProps.name}\n                        value={extendsProps.value}\n                        placeholder={t('common:new-order-details.fields.comment.placeholder')}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                    />\n                )}\n            </FormikConnectContextField>\n        </div>\n    );\n});\n\nexport default PointContactsPicker;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"DropdownTreeInput__option___r6K7T\",\"tag\":\"DropdownTreeInput__tag___UdHwx\",\"fadeIn\":\"DropdownTreeInput__fadeIn___I4vIU\",\"blinking\":\"DropdownTreeInput__blinking___Sf98O\"};","export enum SpotRequestsQuickFilterEnum {\n    open = 'open',\n    accepted = 'accepted',\n    newBids = 'new-bids',\n    assigned = 'assigned',\n    expireSoon = 'expire-soon',\n    expired = 'expired',\n    canceled = 'canceled',\n}\n","export enum RateSourceEnum {\n    current = '__current__',\n    new = '__new__',\n}\n\nexport const rateSourceSet = new Set<string>(Object.values(RateSourceEnum));\n\nexport enum FieldsEnum {\n    source = 'source',\n    rate = 'rate',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.source]: RateSourceEnum | CarrierContractIdT;\n    [FieldsEnum.rate]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","export const checkIsProduction = () => {\n    // eslint-disable-next-line no-restricted-globals\n    return !/\\.test\\./.test(location.hostname) && !/localhost/.test(location.hostname);\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { getDateFromDate } from 'common/utils/time';\nimport { parseSimpleNumber, parseStringFormatter } from 'common/utils/input-parsers';\nimport { UpdateShipperContractLaneChangesT } from 'common/store/shipper-contract-lane-details/models';\n\nconst prepareApRequest = (values: FormValuesT): UpdateShipperContractLaneChangesT | null => {\n    const validFrom = values[FieldsEnum.validFrom];\n    const validTill = values[FieldsEnum.validTill];\n    const originRadius = parseSimpleNumber(values[FieldsEnum.pickUpLocationRadius]);\n    const destinationRadius = parseSimpleNumber(values[FieldsEnum.dropOffLocationRadius]);\n    const maximumLayover = parseSimpleNumber(values[FieldsEnum.layoverLimit]);\n\n    if (!validFrom || !validTill) {\n        return null;\n    }\n\n    return {\n        externalLaneId: parseStringFormatter(values[FieldsEnum.externalLaneId]),\n        originRadius: originRadius || 0,\n        destinationRadius: destinationRadius || 0,\n        validFrom: getDateFromDate(validFrom),\n        validTill: getDateFromDate(validTill),\n        maximumLayover: maximumLayover || 0,\n    };\n};\n\nexport { prepareApRequest };\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ListPageLayout.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n};\n\nconst ListPageLayout: React.FC<PropsT> = React.memo((props) => {\n    const { children, className } = props;\n\n    return <div className={cs(cx('content'), className)}>{children}</div>;\n});\n\nexport default ListPageLayout;\n","import { LegalFormsListT, LegalFormT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\nexport const LEGAL_FORMS_DICT_REQUEST = 'common/legal-forms-dict/LEGAL_FORMS_DICT_REQUEST';\nexport const LEGAL_FORMS_DICT_REQUEST_BEGIN = 'common/legal-forms-dict/LEGAL_FORMS_DICT_REQUEST_BEGIN';\nexport const LEGAL_FORMS_DICT_REQUEST_SUCCESS = 'common/legal-forms-dict/LEGAL_FORMS_DICT_REQUEST_SUCCESS';\nexport const LEGAL_FORMS_DICT_REQUEST_ERROR = 'common/legal-forms-dict/LEGAL_FORMS_DICT_REQUEST_ERROR';\n\nexport type FetchLegalFormsDictActionT = {\n    type: typeof LEGAL_FORMS_DICT_REQUEST;\n    countryCode: CountryCodeT;\n};\n\nexport type FetchLegalFormsDictBeginActionT = {\n    type: typeof LEGAL_FORMS_DICT_REQUEST_BEGIN;\n    countryCode: CountryCodeT;\n};\n\nexport type FetchLegalFormsDictSuccessActionT = {\n    type: typeof LEGAL_FORMS_DICT_REQUEST_SUCCESS;\n    countryCode: CountryCodeT;\n    legalFormsList: LegalFormsListT;\n};\n\nexport type FetchLegalFormsDictErrorActionT = {\n    type: typeof LEGAL_FORMS_DICT_REQUEST_ERROR;\n    countryCode: CountryCodeT;\n    error: Error;\n};\n\nexport type LegalFormsDictActionT =\n    | FetchLegalFormsDictActionT\n    | FetchLegalFormsDictBeginActionT\n    | FetchLegalFormsDictSuccessActionT\n    | FetchLegalFormsDictErrorActionT;\n\nexport type CountryLegalFormsDictStateT = {\n    allIds: Array<LegalFormT['id']>;\n    byId: Record<string, LegalFormT>;\n    request: RequestStatusT;\n};\n\nexport type LegalFormsDictStateT = Partial<Record<CountryCodeT, CountryLegalFormsDictStateT>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"action\":\"ContinueRFQ__action___k9ZV1\",\"fadeIn\":\"ContinueRFQ__fadeIn___gIe0P\",\"blinking\":\"ContinueRFQ__blinking___fm7R8\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ErrorPlaceholder.scss';\nimport cs from 'classnames';\nimport Button, { ButtonPropsT } from 'common/components/Button/Button';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\nimport FeaturesContext from 'common/contexts/features';\nimport { TraceIdLabel } from '../TraceIdLabel/TraceIdLabel';\n\nconst cx = classNames.bind(styles);\n\ntype ErrorPlaceholderActionConfigT = Partial<ButtonPropsT>;\n\nexport type ErrorPlaceholderPropsT = {\n    className?: string;\n    icon?: React.ReactNode;\n    title?: React.ReactNode;\n    message?: React.ReactNode;\n    body?: React.ReactNode;\n    traceId?: TraceIdT | null;\n    testSelector?: string;\n    children?: React.ReactNode;\n    actionsConfig?: Array<ErrorPlaceholderActionConfigT | null>;\n};\n\nconst ErrorPlaceholder: React.FC<ErrorPlaceholderPropsT> = React.memo((props) => {\n    const { testSelector, icon, title, message, body, children, actionsConfig, className, traceId } = props;\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isShowTraceId = featuresContext?.checkActiveClientFeature?.(ClientFeatureEnum.showTraceId);\n\n    return (\n        <div\n            className={cs(cx('wrap'), className)}\n            data-test-selector={testSelector && `${testSelector}-error-placeholder`}\n        >\n            <div className={cx('content')}>\n                <div className={cx('icon')}>{icon}</div>\n                <div className={cx('title')}>{title}</div>\n                {!!message && <div className={cx('message')}>{message}</div>}\n                {body}\n                {isShowTraceId && traceId && (\n                    <div className={cx('trace-id')}>\n                        <TraceIdLabel traceId={traceId} />\n                    </div>\n                )}\n            </div>\n            {Boolean(actionsConfig?.length) && (\n                <div className={cs(cx('actions'), className)}>\n                    {actionsConfig?.map((actionConfig, actionIndex) => {\n                        if (!actionConfig) {\n                            return null;\n                        }\n\n                        return <Button key={actionIndex} type=\"button\" {...actionConfig} />;\n                    })}\n                </div>\n            )}\n            {children}\n        </div>\n    );\n});\n\nexport default ErrorPlaceholder;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"RunningOutOfTimeAssignCarrierCard__wrap___rsotw\",\"fadeIn\":\"RunningOutOfTimeAssignCarrierCard__fadeIn___FJTAv\",\"blinking\":\"RunningOutOfTimeAssignCarrierCard__blinking___zD6Pb\"};","import { SharableStateT } from '../models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { DictDocumentByIdT, DictDocumentByTypeT, DictDocumentT } from './models';\nimport { DocumentRequiredEnum, ApiPartnerTypeT } from 'common/utils/api/models';\nimport { PartnerTypeDocumentsStateT } from 'common/store/documents-dict/types';\nimport { initialPartnerTypeDocumentsState } from './reducer';\n\nconst selectDocumentsState = (\n    partnerType: ApiPartnerTypeT | null,\n    state: SharableStateT,\n): PartnerTypeDocumentsStateT => {\n    if (!partnerType) {\n        return initialPartnerTypeDocumentsState;\n    }\n\n    return state.documentsDict[partnerType] || initialPartnerTypeDocumentsState;\n};\n\nexport const selectDocumentsDict = (partnerType: ApiPartnerTypeT | null) => {\n    return (state: SharableStateT): DictDocumentT[] => {\n        const { ids, byId } = selectDocumentsState(partnerType, state);\n\n        return ids.map((id) => byId[id]);\n    };\n};\n\nexport const selectDocumentsDictById = (partnerType: ApiPartnerTypeT | null) => {\n    return (state: SharableStateT): DictDocumentByIdT => {\n        return selectDocumentsState(partnerType, state).byId;\n    };\n};\n\nexport const selectDocumentsDictByType = (partnerType: ApiPartnerTypeT | null) => {\n    return (state: SharableStateT): DictDocumentByTypeT => {\n        return selectDocumentsState(partnerType, state).byType;\n    };\n};\n\nexport const selectRequiredDocumentIds =\n    (partnerType: ApiPartnerTypeT | null) =>\n    (state: SharableStateT): DictDocumentFakeIdT[] => {\n        if (!partnerType) {\n            return [];\n        }\n\n        const { ids, byId } = selectDocumentsState(partnerType, state);\n\n        return ids.filter((documentId) => {\n            return byId[documentId]?.required === DocumentRequiredEnum.must;\n        });\n    };\n\nexport const selectDocumentsDictRequest = (partnerType: ApiPartnerTypeT | null) => {\n    return (state: SharableStateT): RequestStatusT => {\n        if (!partnerType) {\n            return initialPartnerTypeDocumentsState.fetchRequest;\n        }\n\n        return selectDocumentsState(partnerType, state).fetchRequest;\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"DropdownMultipleInput__option___iORP2\",\"option__checkbox\":\"DropdownMultipleInput__option__checkbox___mOOUp\",\"option__label\":\"DropdownMultipleInput__option__label___c3B9q\",\"separator\":\"DropdownMultipleInput__separator___CXCSZ\",\"fadeIn\":\"DropdownMultipleInput__fadeIn___McwcI\",\"blinking\":\"DropdownMultipleInput__blinking___PSa83\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ExpireSoonPartnerShipperContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    contractName: string;\n};\n\nconst ExpireSoonPartnerShipperContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-expire-soon\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ExpireSoonPartnerShipperContractCard;\n","export const ALL_SHIPPERS_ID = 'all-shippers-id';\n","// extracted by mini-css-extract-plugin\nexport default {\"menu\":\"LeftMenuLayout__menu___ttSAX\",\"menu--isOpen\":\"LeftMenuLayout__menu--isOpen___VaEY0\",\"content\":\"LeftMenuLayout__content___iHt8F\",\"wrap\":\"LeftMenuLayout__wrap___CE7av\",\"inner\":\"LeftMenuLayout__inner___YWVEL\",\"fadeIn\":\"LeftMenuLayout__fadeIn___pHPfd\",\"blinking\":\"LeftMenuLayout__blinking___bz4hb\"};","import { TemperatureModeEnum, temperatureRanges } from 'common/constants';\nimport values from 'lodash/values';\nimport isNil from 'lodash/isNil';\n\nexport const parseTemperatureMode = (\n    lowestTemperature: number | null | undefined,\n    highestTemperature: number | null | undefined,\n): TemperatureModeEnum | null => {\n    if (isNil(lowestTemperature) || isNil(highestTemperature)) {\n        return null;\n    }\n\n    return (\n        values(TemperatureModeEnum).find((temperatureMode) => {\n            const range = temperatureRanges[temperatureMode] || [];\n\n            return (\n                range[0] === lowestTemperature &&\n                lowestTemperature <= highestTemperature &&\n                highestTemperature === range[1]\n            );\n        }) || null\n    );\n};\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport { AssetTypeEnum, StyleGuideColorsEnum } from 'common/constants';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport ActivateAssetForm from './ActivateAssetForm/ActivateAssetForm';\nimport { AssetDataT } from './models';\nimport { ApiActivateVehiclesRequestT } from 'common/utils/api/models';\n\nexport type ActivateAssetConfirmationDataT = {\n    companyId: CompanyIdT;\n    assets: Array<AssetDataT>;\n};\n\ntype PropsT = {\n    companyId: CompanyIdT | null;\n    assetType: AssetTypeEnum;\n    data: ActivateAssetConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: ActivateAssetConfirmationDataT, activateVehiclesRequest: ApiActivateVehiclesRequestT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'activate-assets';\n\nconst T_MAP: Record<\n    AssetTypeEnum,\n    {\n        oneAssetTitle: string;\n        manyAssetsTitle: string;\n        oneAssetMessage: string;\n        manyAssetsMessage: string;\n    }\n> = {\n    [AssetTypeEnum.truck]: {\n        oneAssetTitle: 'common:trucks-page.active-confirmation.one-asset-title',\n        manyAssetsTitle: 'common:trucks-page.active-confirmation.many-assets-title',\n        oneAssetMessage: 'common:trucks-page.active-confirmation.one-asset-message',\n        manyAssetsMessage: 'common:trucks-page.active-confirmation.many-assets-message',\n    },\n    [AssetTypeEnum.trailer]: {\n        oneAssetTitle: 'common:trailers-page.active-confirmation.one-asset-title',\n        manyAssetsTitle: 'common:trailers-page.active-confirmation.many-assets-title',\n        oneAssetMessage: 'common:trailers-page.active-confirmation.one-asset-message',\n        manyAssetsMessage: 'common:trailers-page.active-confirmation.many-assets-message',\n    },\n};\n\nconst ActivateAssetDialogModal: React.FC<PropsT> = React.memo((props) => {\n    const { companyId, data, onClose, onCancel, requestStatus, onConfirm, assetType } = props;\n\n    const { t } = useTranslation();\n\n    if (!data || !companyId) {\n        return null;\n    }\n\n    const { assets } = data;\n\n    const tSet = T_MAP[assetType];\n\n    let message = null;\n    let title = null;\n    if (assets.length === 1) {\n        message = t(tSet.oneAssetMessage, {\n            plateNumber: assets[0]?.plateNumber,\n        });\n        title = t(tSet.oneAssetTitle);\n    } else {\n        message = t(tSet.manyAssetsMessage, {\n            count: assets.length,\n        });\n        title = t(tSet.manyAssetsTitle);\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.brandAccent} />}\n                    title={title}\n                    message={message}\n                >\n                    <ActivateAssetForm\n                        companyId={companyId}\n                        assets={assets}\n                        onCancel={onCancel}\n                        requestStatus={requestStatus}\n                        onSubmit={(activateVehiclesRequest) => {\n                            onConfirm(data, activateVehiclesRequest);\n                        }}\n                    />\n                </ModalDialog>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ActivateAssetDialogModal;\n","import { ApiShipperContractLaneStatusT } from 'common/utils/api/models';\n\nexport enum QueryFiltersKeysEnum {\n    text = 'text',\n    status = 'status',\n\n    dictTrailerId = 'dictTrailerId',\n\n    address = 'address',\n\n    validFromStart = 'validFromStart',\n    validFromFinish = 'validFromFinish',\n\n    validTillStart = 'validTillStart',\n    validTillFinish = 'validTillFinish',\n\n    createdDateStart = 'createdDateStart',\n    createdDateFinish = 'createdDateFinish',\n\n    createdById = 'createdById',\n    createdByName = 'createdByName',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.text]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.status]: ApiShipperContractLaneStatusT;\n\n    [QueryFiltersKeysEnum.dictTrailerId]: QueryParam.StringT;\n\n    [QueryFiltersKeysEnum.address]: QueryParam.StringT;\n\n    [QueryFiltersKeysEnum.validFromStart]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.validFromFinish]: QueryParam.StringT;\n\n    [QueryFiltersKeysEnum.validTillStart]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.validTillFinish]: QueryParam.StringT;\n\n    [QueryFiltersKeysEnum.createdDateStart]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateFinish]: QueryParam.StringT;\n\n    [QueryFiltersKeysEnum.createdById]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByName]: QueryParam.StringT;\n}>;\n\nexport enum QueryKeysEnum {\n    shipperContractLanesPage = 'shipper-contract-lanes-page',\n    shipperContractLanesSort = 'shipper-contracts-sort',\n    shipperContractLanesFilters = 'shipper-contracts-filters',\n}\n","import {\n    FETCH_NOTIFICATIONS_PAGE_REQUEST,\n    FETCH_NOTIFICATIONS_PAGE_REQUEST_BEGIN,\n    FETCH_NOTIFICATIONS_PAGE_REQUEST_ERROR,\n    FETCH_NOTIFICATIONS_PAGE_REQUEST_SUCCESS,\n    FETCH_UNREAD_NOTIFICATIONS_REQUEST,\n    FETCH_UNREAD_NOTIFICATIONS_REQUEST_BEGIN,\n    FETCH_UNREAD_NOTIFICATIONS_REQUEST_ERROR,\n    FETCH_UNREAD_NOTIFICATIONS_REQUEST_SUCCESS,\n    FetchNotificationsErrorActionT,\n    FetchNotificationsPageActionT,\n    FetchNotificationsPageBeginActionT,\n    FetchNotificationsPageSuccessActionT,\n    FetchUnreadNotificationsActionT,\n    FetchUnreadNotificationsBeginActionT,\n    FetchUnreadNotificationsErrorActionT,\n    FetchUnreadNotificationsSuccessActionT,\n    MARK_AS_READ_REQUEST,\n    MARK_AS_READ_REQUEST_BEGIN,\n    MARK_AS_READ_REQUEST_ERROR,\n    MARK_AS_READ_REQUEST_SUCCESS,\n    MarkAsReadActionT,\n    MarkAsReadBeginActionT,\n    MarkAsReadErrorActionT,\n    MarkAsReadSuccessActionT,\n    RESET_NOTIFICATION_PAGES,\n    ResetNotificationPagesT,\n    SEND_TEST_NOTIFICATION,\n    SendTestNotificationActionT,\n} from './types';\n\nimport { AnyNotificationT, FetchNotificationsPageQueryT } from 'common/store/notifications/models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const sendTestNotification = (text: string): SendTestNotificationActionT => ({\n    type: SEND_TEST_NOTIFICATION,\n    text,\n});\n\nexport const fetchNotificationsPage = (\n    pageNumber: PageNumberT,\n    query: FetchNotificationsPageQueryT,\n    options: FetchOptionsT,\n): FetchNotificationsPageActionT => ({\n    type: FETCH_NOTIFICATIONS_PAGE_REQUEST,\n    pageNumber,\n    query,\n    options,\n});\n\nexport const fetchNotificationsPageBegin = (\n    query: FetchNotificationsPageQueryT,\n    pageNumber: PageNumberT,\n): FetchNotificationsPageBeginActionT => ({\n    type: FETCH_NOTIFICATIONS_PAGE_REQUEST_BEGIN,\n    pageNumber,\n    query,\n});\n\nexport const fetchNotificationsPageSuccess = (\n    query: FetchNotificationsPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<AnyNotificationT> | null,\n): FetchNotificationsPageSuccessActionT => ({\n    type: FETCH_NOTIFICATIONS_PAGE_REQUEST_SUCCESS,\n    pageNumber,\n    query,\n    pageResponse,\n});\n\nexport const fetchNotificationsError = (\n    query: FetchNotificationsPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n): FetchNotificationsErrorActionT => ({\n    type: FETCH_NOTIFICATIONS_PAGE_REQUEST_ERROR,\n    query,\n    pageNumber,\n    error,\n});\n\nexport const markAsRead = (ids: NotificationIdT[], isAll?: boolean): MarkAsReadActionT => ({\n    type: MARK_AS_READ_REQUEST,\n    ids,\n    isAll,\n});\n\nexport const markAsReadBegin = (): MarkAsReadBeginActionT => ({\n    type: MARK_AS_READ_REQUEST_BEGIN,\n});\n\nexport const markAsReadSuccess = (ids: NotificationIdT[]): MarkAsReadSuccessActionT => ({\n    type: MARK_AS_READ_REQUEST_SUCCESS,\n    ids,\n});\n\nexport const markAsReadError = (error: Error): MarkAsReadErrorActionT => ({\n    type: MARK_AS_READ_REQUEST_ERROR,\n    error,\n});\n\nexport const fetchUnreadNotifications = (): FetchUnreadNotificationsActionT => ({\n    type: FETCH_UNREAD_NOTIFICATIONS_REQUEST,\n});\n\nexport const fetchUnreadNotificationsBegin = (): FetchUnreadNotificationsBeginActionT => ({\n    type: FETCH_UNREAD_NOTIFICATIONS_REQUEST_BEGIN,\n});\n\nexport const fetchUnreadNotificationsSuccess = (\n    notifications: AnyNotificationT[] | null,\n): FetchUnreadNotificationsSuccessActionT => ({\n    type: FETCH_UNREAD_NOTIFICATIONS_REQUEST_SUCCESS,\n    notifications,\n});\n\nexport const fetchUnreadNotificationsError = (error: Error): FetchUnreadNotificationsErrorActionT => ({\n    type: FETCH_UNREAD_NOTIFICATIONS_REQUEST_ERROR,\n    error,\n});\n\nexport const resetNotificationPages = (): ResetNotificationPagesT => ({\n    type: RESET_NOTIFICATION_PAGES,\n});\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TrucksTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT, TableRowModsEnum } from 'common/components/Table/Table';\nimport { ApiTruckT } from 'common/store/trucks/models';\nimport StatusCell from './cell-renderers/StatusCell/StatusCell';\nimport ModelCell from './cell-renderers/ModelCell/ModelCell';\nimport CheckboxCell from 'common/components/Table/cell-renderers/CheckboxCell/CheckboxCell';\nimport CheckboxHeader from 'common/components/Table/header-renderers/CheckboxHeader/CheckboxHeader';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\nimport PlateNumberCell from 'common/components/Table/cell-renderers/PlateNumberCell/PlateNumberCell';\nimport FlagCell from 'common/components/Table/cell-renderers/FlagCell/FlagCell';\nimport EmissionClassCell from 'common/layouts/TrucksPageLayout/TrucksTable/cell-renderers/EmissionClassCell/EmissionClassCell';\nimport { TabEnum } from 'common/layouts/TrucksPageLayout/constants';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TelematicUpdateDateCell from 'common/components/Table/cell-renderers/TelematicUpdateDateCell/TelematicUpdateDateCell';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    trucks: Array<ApiTruckT>;\n    className?: string;\n    selectedTrucksSet: Set<ApiTruckT>;\n    onSelectTrucks: (selectedTrucksSet: Set<ApiTruckT>) => void;\n    onSelectRow: (event: React.MouseEvent, truck: ApiTruckT) => void;\n    onOpenUserDetails: (userId: UserIdT | null, isBrokerUser?: boolean) => void;\n    isLoading: boolean;\n    canEditTrucks: boolean;\n    activeTab: TabEnum;\n};\n\nconst TrucksTable: React.FC<PropsT> = React.memo((props) => {\n    const {\n        trucks,\n        canEditTrucks,\n        className,\n        selectedTrucksSet,\n        onSelectRow,\n        onSelectTrucks,\n        isLoading,\n        onOpenUserDetails,\n        activeTab,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<ApiTruckT, void> | null> = [\n        canEditTrucks\n            ? {\n                  renderHeader: () => (\n                      <CheckboxHeader<ApiTruckT>\n                          selectedRowsSet={selectedTrucksSet}\n                          rows={trucks}\n                          onChange={onSelectTrucks}\n                      />\n                  ),\n                  headerClassName: cx('table__header', 'table__header--checkbox'),\n                  render: (truck: ApiTruckT) => (\n                      <CheckboxCell<ApiTruckT>\n                          row={truck}\n                          selectedRowsSet={selectedTrucksSet}\n                          onChange={onSelectTrucks}\n                      />\n                  ),\n                  className: cx('table__column--checkbox'),\n              }\n            : null,\n        {\n            renderHeader: () => t('common:trucks-page.table.columns.plate-number'),\n            headerClassName: cx('table__header'),\n            render: (truck: ApiTruckT) => <PlateNumberCell plateNumber={truck?.plateNumber} />,\n            className: cx('table__column', 'table__column--plate-number'),\n        },\n        {\n            renderHeader: () => t('common:trucks-page.table.columns.model'),\n            headerClassName: cx('table__header'),\n            render: (truck: ApiTruckT) => <ModelCell truck={truck} />,\n            className: cx('table__column', 'table__column--any'),\n        },\n        {\n            renderHeader: () => t('common:trucks-page.table.columns.added-date'),\n            headerClassName: cx('table__header'),\n            render: (truck: ApiTruckT) => (\n                <EventCell\n                    userFullName={truck.createdBy?.fullName}\n                    userId={truck.createdBy?.id}\n                    date={truck.createdDate}\n                    byBroker={truck.addedByBroker}\n                    openUserDetails={onOpenUserDetails}\n                />\n            ),\n            className: cx('table__column', 'table__column--created'),\n        },\n        {\n            renderHeader: () => t('common:trucks-page.table.columns.emission-class'),\n            headerClassName: cx('table__header', 'table__header--emission-class'),\n            render: (truck: ApiTruckT) => <EmissionClassCell truck={truck} />,\n            className: cx('table__column', 'table__column--model'),\n        },\n        // linked\n    ];\n\n    if (activeTab === TabEnum.active) {\n        columns.push({\n            renderHeader: () => t('common:trucks-page.table.columns.linked'),\n            headerClassName: cx('table__header', 'table__header--linked'),\n            render: (truck: ApiTruckT) => <FlagCell isShowFlag={!!truck.linked} />,\n            className: cx('table__column', 'table__column--any'),\n        });\n\n        columns.push({\n            renderHeader: () => t('common:trucks-page.table.columns.dedicated'),\n            headerClassName: cx('table__header', 'table__header--dedicated'),\n            render: (truck: ApiTruckT) => <FlagCell isShowFlag={!!truck.dedicated} />,\n            className: cx('table__column', 'table__column--any'),\n        });\n\n        columns.push({\n            renderHeader: () => (\n                <span>\n                    {t('common:trucks-page.table.columns.GPS')}\n                    <Tooltip\n                        position={TooltipPositionEnum.topCenter}\n                        theme={TooltipThemeEnum.black}\n                        isInline\n                        tooltipNode={\n                            <TooltipContent isCenter theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {t('common:trucks-page.table.tooltips.GPS')}\n                            </TooltipContent>\n                        }\n                    >\n                        {(isShow) => <TooltipIconTrigger isShow={isShow} />}\n                    </Tooltip>\n                </span>\n            ),\n            headerClassName: cx('table__header', 'table__header--gps'),\n            render: (truck: ApiTruckT) => (\n                <TelematicUpdateDateCell\n                    placeholder={t('common:trucks-page.GPS.empty-update-date')}\n                    telematicUpdatedDate={truck.telematicUpdatedDate}\n                />\n            ),\n            className: cx('table__column', 'table__column--any'),\n        });\n\n        columns.push({\n            renderHeader: () => t('common:trucks-page.table.columns.status'),\n            headerClassName: cx('table__header'),\n            render: (truck: ApiTruckT) => <StatusCell truck={truck} />,\n            className: cx('table__column', 'table__column--status'),\n        });\n    }\n\n    if (activeTab === TabEnum.archive) {\n        columns.push({\n            renderHeader: () => t('common:trucks-page.table.columns.archived'),\n            headerClassName: cx('table__header'),\n            render: (truck: ApiTruckT) => (\n                <EventCell\n                    userFullName={truck.archivedBy?.fullName}\n                    userId={truck.archivedBy?.id}\n                    byBroker={truck.archivedByBroker}\n                    date={truck.archivedDate}\n                    openUserDetails={onOpenUserDetails}\n                />\n            ),\n            className: cx('table__column', 'table__column--any'),\n        });\n    }\n\n    const getRowMods = (meta: TableRowMetaT) => {\n        return {\n            [TableRowModsEnum.isSelected]: meta.isSelected,\n        };\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<ApiTruckT> tableName=\"trucks\" isLoading={isLoading} rows={trucks}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<ApiTruckT, void>\n                        className={className}\n                        selectedRowsSet={selectedTrucksSet}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        isLoading={isLoading}\n                        onSelectRow={onSelectRow}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default TrucksTable;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport {\n    calculateCostRequest,\n    calculateCostRequestBegin,\n    calculateCostRequestError,\n    calculateCostRequestFetchRouteError,\n    calculateCostRequestSetRoute,\n    calculateCostRequestSuccess,\n    createLaneRequest,\n    createLaneRequestBegin,\n    createLaneRequestError,\n    createLaneRequestSuccess,\n} from './slice';\nimport { CalculateCostRequestActionT, CreateLaneRequestActionT } from './types';\nimport { selectCalculateCostRequest } from './selectors';\nimport history from 'common/utils/history';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\n\nfunction* calculateCostSaga(action: CalculateCostRequestActionT): WrapGeneratorT<void> {\n    const { partnerId, query } = action.payload;\n\n    const requestStatus: ReReturnT<typeof selectCalculateCostRequest> = yield select(selectCalculateCostRequest);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(calculateCostRequestBegin({ query }));\n\n    const { skipRules, skipCommission, ...createShipperContractLaneRFQQuery } = query;\n\n    const [error, data]: ReturnApiT<typeof brokerTranziitApi.createShipperContractLaneRFQ> =\n        yield brokerTranziitApi.createShipperContractLaneRFQ(partnerId, createShipperContractLaneRFQQuery);\n    if (error) {\n        yield put(calculateCostRequestError({ query, error }));\n        return;\n    }\n\n    const rfqId = data?.rfqId || null;\n    if (!rfqId) {\n        yield put(calculateCostRequestError({ query, error: new Error('empty rfqId!') }));\n        return;\n    }\n\n    const [error2, data2]: ReturnApiT<typeof brokerTranziitApi.fetchShipperContractLaneRFQOffersAverage> =\n        yield brokerTranziitApi.fetchShipperContractLaneRFQOffersAverage(rfqId, {\n            skipRules,\n            skipCommission,\n        });\n    if (error2) {\n        yield put(calculateCostRequestError({ query, error: error2 }));\n        return;\n    }\n\n    if (!data2) {\n        yield put(calculateCostRequestError({ query, error: new Error('empty data3!') }));\n        return;\n    }\n\n    const [error3, data3]: ReturnApiT<typeof brokerTranziitApi.fetchRFQDetails> =\n        yield brokerTranziitApi.fetchRFQDetails(rfqId);\n\n    if (error3) {\n        yield put(calculateCostRequestError({ query, error: error3 }));\n        return;\n    }\n\n    const polylineId = data3?.polylineId || null;\n    if (!polylineId) {\n        yield put(calculateCostRequestError({ query, error: new Error('empty polylineId!') }));\n        return;\n    }\n\n    const [error4, data4]: ReturnApiT<typeof commonTranziitApi.fetchRouteGeometryGoogle> =\n        yield commonTranziitApi.fetchRouteGeometryGoogle(polylineId);\n\n    if (data4) {\n        const polylines = data4 || [];\n\n        yield put(calculateCostRequestSetRoute({ query, polylines }));\n    }\n\n    if (error4) {\n        yield put(calculateCostRequestFetchRouteError({ query, error: error4 }));\n    }\n\n    yield put(calculateCostRequestSuccess({ query, averagePriceOffer: data2 }));\n}\n\nfunction* createLaneSaga(action: CreateLaneRequestActionT): WrapGeneratorT<void> {\n    const { partnerId, contractId, query } = action.payload;\n\n    const requestStatus: ReReturnT<typeof selectCalculateCostRequest> = yield select(selectCalculateCostRequest);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(createLaneRequestBegin({ query }));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.createShipperContractLane> =\n        yield brokerTranziitApi.createShipperContractLane(partnerId, contractId, query);\n    if (error) {\n        yield put(createLaneRequestError({ query, error }));\n    }\n\n    yield put(createLaneRequestSuccess({ query }));\n\n    yield put(\n        addAlert(\n            new CommonAnyAlert({\n                type: CommonAlertTypeEnum.shipperContractLaneAdded,\n                data: {},\n            }),\n        ),\n    );\n\n    history.push(\n        urlFactory.partnerShipperContactLanes({\n            partnerId,\n            partnerType: PartnerTypeEnum.shipper,\n            contractId,\n        }),\n    );\n}\n\nfunction* shipperContractLaneCreationSaga(): WrapGeneratorT<void> {\n    yield takeEvery(calculateCostRequest.type, calculateCostSaga);\n    yield takeEvery(createLaneRequest.type, createLaneSaga);\n}\n\nexport { shipperContractLaneCreationSaga };\n","import * as React from 'react';\n\nimport { Redirect } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\n\nimport { QueryKeysEnum } from 'common/constants';\nimport { urlFactory } from 'common/utils/urls';\nimport { checkRegisteredUser } from 'common/store/auth/selectors';\nimport useQuery from 'common/utils/hooks/useQuery';\n\ntype PropsT = {};\n\ntype QueryT = {\n    [QueryKeysEnum.returnUrl]: string;\n};\n\nconst RedirectSignedUser: React.FC<PropsT> = React.memo(() => {\n    const query = useQuery<QueryT>();\n\n    const isRegisteredUser = useSelector(checkRegisteredUser);\n    if (isRegisteredUser) {\n        const returnUrl = query[QueryKeysEnum.returnUrl];\n\n        return <Redirect to={urlFactory.toReturnUrl(returnUrl)} />;\n    }\n\n    return null;\n});\n\nexport default RedirectSignedUser;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './CreatePartnerSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CountryCodeT, PartnerTypeEnum } from 'common/utils/api/models';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport {\n    selectFetchRuleDetailsRequest,\n    selectUpdateRulesRequest,\n} from 'broker-admin/store/price-settings/rules/selectors';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport LegalFormDropdown from 'common/components/dropdowns/LegalFormDropdown/LegalFormDropdown';\nimport isNumber from 'lodash/isNumber';\nimport { useCheckCountryCorrectLegacyForm } from 'common/components/dropdowns/LegalFormDropdown/hooks';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport { PartherCreationSidebarDataT } from 'broker-admin/layouts/SideBars/CreatePartnerSidebarContent/models';\nimport { createPartnerRequest } from 'broker-admin/store/partners/actions';\nimport { selectPartnerCreationRequest } from 'broker-admin/store/partners/selectors';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\n\nconst cx = classNames.bind(styles);\n\ntype PartnerOptionT = {\n    label: string;\n    value: PartnerTypeEnum;\n};\n\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(Object.values(FieldsEnum));\n\ntype PropsT = SidebarContentPropsT<PartherCreationSidebarDataT, BrokerSidebarDataT>;\n\nconst CreatePartnerSidebarContent: React.FC<PropsT> = (props) => {\n    const { onGoBack, onClose, setNeedCloseConfirmation } = props;\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const creationRequestStatus = useSelector(selectPartnerCreationRequest);\n\n    const fetchRuleDetailsRequest = useSelector(selectFetchRuleDetailsRequest);\n    const updateRulesRequest = useSelector(selectUpdateRulesRequest);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues();\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const legalFormId = values[FieldsEnum.legalFormId];\n            if (!isNumber(legalFormId)) {\n                return;\n            }\n\n            dispatch(\n                createPartnerRequest({\n                    name: values[FieldsEnum.name],\n                    address: {\n                        street1: values[FieldsEnum.street1],\n                        street2: values[FieldsEnum.street2],\n                        country: values[FieldsEnum.countryCode] as CountryCodeT,\n                        zipCode: values[FieldsEnum.zipCode],\n                        city: values[FieldsEnum.city],\n                    },\n                    type: values[FieldsEnum.partnerType],\n                    legalFormId,\n                }),\n            );\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n    React.useEffect(() => {\n        if (hasAnyFieldValueChanges) {\n            setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    useCloseSidebarAfterRequest(creationRequestStatus, onGoBack || onClose);\n\n    const isShowLoader = fetchRuleDetailsRequest.loading || updateRulesRequest.loading;\n\n    const options = React.useMemo(\n        (): Array<PartnerOptionT> => [\n            {\n                label: t('common:company-type.SHIPPER'),\n                value: PartnerTypeEnum.shipper,\n            },\n            {\n                label: t('common:company-type.CARRIER'),\n                value: PartnerTypeEnum.carrier,\n            },\n        ],\n        [t],\n    );\n\n    const selectedCountry = formik.values[FieldsEnum.countryCode];\n    const selectedLegalFormId = formik.values[FieldsEnum.legalFormId];\n    useCheckCountryCorrectLegacyForm(\n        {\n            selectedLegalFormId,\n            selectedCountry,\n        },\n        () => {\n            formik.setTouched({ [FieldsEnum.legalFormId]: false }, false);\n            formik.setFieldValue(FieldsEnum.legalFormId, null);\n        },\n    );\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            {isShowLoader && <LoaderOverlay />}\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('partners-table.create-form.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <div className={cx('section')}>\n                    <div className={cx('section__block')}>\n                        <FormikField\n                            className={cx('field--name')}\n                            name={FieldsEnum.name}\n                            error={formik.errors[FieldsEnum.name]}\n                            meta={formik.getFieldMeta(FieldsEnum.name)}\n                            label={t('partners-table.create-form.fields.name.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.name}\n                                    value={formik.values[FieldsEnum.name]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field--type')}\n                            name={FieldsEnum.partnerType}\n                            error={formik.errors[FieldsEnum.partnerType]}\n                            meta={formik.getFieldMeta(FieldsEnum.partnerType)}\n                            label={t('partners-table.create-form.fields.type.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DropdownInput<PartnerOptionT, PartnerTypeEnum>\n                                    selectedValue={formik.values[FieldsEnum.partnerType]}\n                                    options={options}\n                                    onSelect={props.onChange}\n                                    renderOption={(option) => <span>{option?.label}</span>}\n                                    getOptionValue={(option) => option?.value}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field--street1')}\n                            name={FieldsEnum.street1}\n                            error={formik.errors[FieldsEnum.street1]}\n                            meta={formik.getFieldMeta(FieldsEnum.street1)}\n                            label={t('partners-table.create-form.fields.street1.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.street1}\n                                    value={formik.values[FieldsEnum.street1]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field--street1')}\n                            name={FieldsEnum.countryCode}\n                            error={formik.errors[FieldsEnum.countryCode]}\n                            label={t('partners-table.create-form.fields.country.label')}\n                            meta={formik.getFieldMeta(FieldsEnum.countryCode)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <CountryDropdown\n                                    value={formik.values[FieldsEnum.countryCode]}\n                                    onChange={props.onChange}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                />\n                            )}\n                        </FormikField>\n                        <FieldGroup spaces={1}>\n                            <FormikField\n                                className={cx('field--zip')}\n                                name={FieldsEnum.zipCode}\n                                error={formik.errors[FieldsEnum.zipCode]}\n                                meta={formik.getFieldMeta(FieldsEnum.zipCode)}\n                                label={t('partners-table.create-form.fields.zip.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.zipCode}\n                                        value={formik.values[FieldsEnum.zipCode]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                className={cx('field--city')}\n                                name={FieldsEnum.city}\n                                error={formik.errors[FieldsEnum.city]}\n                                meta={formik.getFieldMeta(FieldsEnum.city)}\n                                label={t('partners-table.create-form.fields.city.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.city}\n                                        value={formik.values[FieldsEnum.city]}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                    />\n                                )}\n                            </FormikField>\n                        </FieldGroup>\n                        <FormikField\n                            className={cx('field--legal-form')}\n                            name={FieldsEnum.legalFormId}\n                            error={formik.errors[FieldsEnum.legalFormId]}\n                            meta={formik.getFieldMeta(FieldsEnum.legalFormId)}\n                            label={t('partners-table.create-form.fields.legal-form.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <LegalFormDropdown\n                                    countryCode={formik.values[FieldsEnum.countryCode]}\n                                    value={formik.values[FieldsEnum.legalFormId]}\n                                    onChange={props.onChange}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            name={FieldsEnum.street2}\n                            error={formik.errors[FieldsEnum.street2]}\n                            meta={formik.getFieldMeta(FieldsEnum.street2)}\n                            label={t('partners-table.create-form.fields.street2.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <Input\n                                    name={FieldsEnum.street2}\n                                    value={formik.values[FieldsEnum.street2]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                />\n                            )}\n                        </FormikField>\n                    </div>\n                </div>\n                <FooterSideBarLayout hasPaddings hasTopBorder>\n                    <Button\n                        theme={ButtonThemeEnum.primary}\n                        isLoading={creationRequestStatus.loading}\n                        className={cx('button--add')}\n                        type=\"submit\"\n                    >\n                        {t('partners-table.create-form.submit')}\n                    </Button>\n                </FooterSideBarLayout>\n            </SideBarLayout>\n        </form>\n    );\n};\n\nexport default CreatePartnerSidebarContent;\n","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport classNames from 'classnames/bind';\n\nimport scrollIntoView from 'scroll-into-view';\n\nimport MultiPointOrderDraftDetails, {\n    MultiPointOrderDraftDetailsPropsT,\n} from '../MultiPointOrderDraftDetails/MultiPointOrderDraftDetails';\nimport OfferDetails from '../OfferDetails/OfferDetails';\n\nimport styles from './CargoDetailsForm.scss';\nimport {\n    CARGO_DETAILS_FORM_NAME,\n    FieldsEnum,\n    FormTouchedT,\n    FormValuesT,\n    PointContactsFieldsEnum,\n    PointContactsFormValuesT,\n    RoutePointT,\n    ShipmentFieldsEnum,\n    ShipmentFormValuesT,\n} from './constants';\nimport ValuesStorage from 'common/utils/form-values-storage';\nimport { FormikContext, useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport validateForm from './validate-form';\nimport { useParams } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createOrder, ensureCreatedRFQ } from 'common/store/order-creation/actions';\nimport {\n    selectCreateOrderRequest,\n    selectLanePriceOffer,\n    selectPriceOffersById,\n    selectRFQ,\n} from 'common/store/order-creation/selectors';\nimport { formatAddressComponents } from 'common/utils/google-places';\nimport getterFormFillPercent from 'common/layouts/NewOrderPage/getter-form-fill-percent';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport {\n    DEFAULT_ICON_SIZE,\n    OMSRoutesEnum,\n    PHONE_NUMBER_PREFIX,\n    QueryKeysEnum,\n    StyleGuideColorsEnum,\n    UnitTypeEnum,\n} from 'common/constants';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { fetchAdditionalServices } from 'common/store/additional-services-dict/slice';\nimport { selectTrailersDictById } from 'common/store/trailers-dict/selectors';\nimport isNumber from 'lodash/isNumber';\nimport { MS_IN_MIN } from 'common/utils/time';\n\nimport history from 'common/utils/history';\nimport OrderCreationPercentContext from 'common/layouts/NewOrderPage/contexts/order-creation-percent-context';\nimport { isNonNil } from 'common/utils';\nimport times from 'lodash/times';\nimport ShipmentPicker from 'common/layouts/NewOrderPage/CargoDetailsForm/ShipmentPicker/ShipmentPicker';\nimport FormikFieldArray from 'common/components/forms/FormikFieldArray/FormikFieldArray';\nimport PointContactsPicker from 'common/layouts/NewOrderPage/CargoDetailsForm/PointContactsPicker/PointContactsPicker';\nimport Card from 'design-system/components/Card/Card';\nimport CargoUnitIcon from 'common/icons/CargoUnitIcon';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport ErrorIndicatorLabel from 'common/layouts/NewOrderPage/CargoDetailsForm/ErrorIndicatorLabel/ErrorIndicatorLabel';\nimport PlusSignIcon from 'common/icons/PlusSignIcon';\nimport { getApiLoadUnitType } from 'common/utils/units';\nimport { parsePhoneNumber, parseSimpleNumber, parseStringFormatter } from 'common/utils/input-parsers';\nimport {\n    ApiCreateOrderRequestT,\n    ApiDictCarrierAdditionalServiceTypeT,\n    OrderCreationReservePointTypeEnum,\n} from 'common/utils/api/models';\nimport NotUsedRoutePointValidationAlertContent from 'common/layouts/NewOrderPage/CargoDetailsForm/footer-alert-contents/NotUsedRoutePointValidationAlertContent/NotUsedRoutePointValidationAlertContent';\nimport OverloadingTrailerValidationAlertContent from 'common/layouts/NewOrderPage/CargoDetailsForm/footer-alert-contents/OverloadingTrailerValidationAlertContent/OverloadingTrailerValidationAlertContent';\nimport { validateNotUsedRoutePoint } from 'common/layouts/NewOrderPage/CargoDetailsForm/validations/not-used-route-points';\nimport { validateOverloadingTrailer } from 'common/layouts/NewOrderPage/CargoDetailsForm/validations/overloading-check';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport TemperatureRangesCompatibleValidationAlertContent from './footer-alert-contents/TemperatureRangesCompatibleValidationAlertContent/TemperatureRangesCompatibleValidationAlertContent';\nimport { checkTemperatureRangesCompatible } from 'common/layouts/NewOrderPage/CargoDetailsForm/validations/check-temperature-ranges-compatible';\nimport SideBarFooterAlertsContext from 'common/layouts/LeftMenuLayout/SideBarLayout/contexts/side-bar-footer-alerts-context';\nimport { AlertThemeEnum } from 'common/components/Alert/Alert';\nimport FooterSideBarAlertsLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlertsLayout';\nimport { CloseSideBarFooterAlertCallbackT } from 'common/utils/hooks/useSideBarFooterAlertsContextValue';\nimport ExpirationRFQAlertContent from 'common/layouts/NewOrderPage/CargoDetailsForm/footer-alert-contents/ExpirationRFQAlertContent/ExpirationRFQAlertContent';\nimport asyncValidate from './async-validations';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport FormAsyncErrorsContext from 'common/components/forms/contexts/form-async-errors-context';\nimport { formatQueryCustomLineHaulMap, parseQueryCustomLineHaulMap } from 'common/layouts/NewOrderPage/query';\nimport { formatQuery } from 'common/utils/query';\nimport { selectAdditionalServicesMap } from 'common/store/additional-services-dict/selectors';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst storage = new ValuesStorage(CARGO_DETAILS_FORM_NAME);\n\nconst DEFAULT_POINT_CONTACTS_VALUES: PointContactsFormValuesT = {\n    [PointContactsFieldsEnum.companyName]: '',\n    [PointContactsFieldsEnum.fullName]: '',\n    [PointContactsFieldsEnum.email]: '',\n    [PointContactsFieldsEnum.phoneNumber]: PHONE_NUMBER_PREFIX,\n    [PointContactsFieldsEnum.comment]: '',\n};\n\nconst DEFAULT_SHIPMENT_VALUES: ShipmentFormValuesT = {\n    [ShipmentFieldsEnum.fakeId]: null,\n    [ShipmentFieldsEnum.pickUpPointId]: null,\n    [ShipmentFieldsEnum.dropOffPointId]: null,\n    [ShipmentFieldsEnum.cargoUnitsCount]: '',\n    [ShipmentFieldsEnum.cargoUnitType]: UnitTypeEnum.eur1Pallets,\n    [ShipmentFieldsEnum.cargoWeight]: '',\n    [ShipmentFieldsEnum.cargoTemperatureRange]: [-25, 0],\n    [ShipmentFieldsEnum.cargoDescription]: '',\n    [ShipmentFieldsEnum.poNumber]: '',\n    [ShipmentFieldsEnum.pickUpReferenceNumber]: '',\n    [ShipmentFieldsEnum.dropOffReferenceNumber]: '',\n};\n\nconst getInitialValues = (routePoints: Array<RoutePointT>, isFinallyFetchInitializedData: boolean): FormValuesT => {\n    if (!isFinallyFetchInitializedData) {\n        return {\n            [FieldsEnum.contacts]: [],\n            [FieldsEnum.shipments]: [],\n        };\n    }\n\n    const prevValues: FormValuesT = storage.getValues();\n\n    const isSameContactsSizes = routePoints?.length === prevValues?.[FieldsEnum.contacts]?.length;\n\n    const prevPointIds =\n        prevValues?.[FieldsEnum.shipments]?.flatMap((shipmentValues) => {\n            return [\n                shipmentValues[ShipmentFieldsEnum.pickUpPointId],\n                shipmentValues[ShipmentFieldsEnum.dropOffPointId],\n            ].filter(isNonNil);\n        }) || [];\n    const routePointIds = routePoints?.map((point) => point.id);\n    const hasEveryPointIds = prevPointIds.every((pointId) => {\n        return routePointIds.includes(pointId);\n    });\n\n    const shouldUsePrevValues = isSameContactsSizes && hasEveryPointIds;\n    if (shouldUsePrevValues) {\n        return {\n            [FieldsEnum.contacts]: prevValues[FieldsEnum.contacts] || [],\n            [FieldsEnum.shipments]: prevValues[FieldsEnum.shipments] || [],\n        };\n    }\n\n    const pickupDeliveryPoints = routePoints?.filter((routePoint) => {\n        return routePoint.type === OrderCreationReservePointTypeEnum.shipment;\n    });\n    const autoSelectPickUpPointId = (pickupDeliveryPoints?.length === 2 && pickupDeliveryPoints[0]?.id) || null;\n    const autoSelectDropOffPointId = (pickupDeliveryPoints?.length === 2 && pickupDeliveryPoints[1]?.id) || null;\n    return {\n        [FieldsEnum.contacts]: times(routePoints?.length || 0).map(() => {\n            return {\n                ...DEFAULT_POINT_CONTACTS_VALUES,\n            };\n        }),\n        [FieldsEnum.shipments]: [\n            {\n                ...DEFAULT_SHIPMENT_VALUES,\n                [ShipmentFieldsEnum.pickUpPointId]: autoSelectPickUpPointId || null,\n                [ShipmentFieldsEnum.dropOffPointId]: autoSelectDropOffPointId || null,\n            },\n        ],\n    };\n};\n\ntype QueryT = {\n    [QueryKeysEnum.orderCreationAdditionalServices]: ApiDictCarrierAdditionalServiceTypeT[];\n    [QueryKeysEnum.orderCreationCustomLineHauls]: string;\n};\n\nconst CargoDetailsForm: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const orderCreationPercentContext = useContext(OrderCreationPercentContext);\n    const sideBarFooterAlertsContext = useContext(SideBarFooterAlertsContext);\n\n    const ref = React.createRef<HTMLDivElement>();\n\n    const isCreateNextOrderRef = React.useRef<boolean>(false);\n\n    const rfq = useSelector(selectRFQ);\n    const lanePriceOffer = useSelector(selectLanePriceOffer);\n    const reserveExpireTime = rfq?.expireTime || lanePriceOffer?.expirationMs || null;\n\n    const multiPointOrderDraftDetailPoints = useMemo((): MultiPointOrderDraftDetailsPropsT['points'] => {\n        if (rfq) {\n            return rfq.points.map((point, index) => {\n                return {\n                    address: point.address,\n                    type: point.type,\n                    index,\n                };\n            });\n        }\n\n        return null;\n    }, [rfq]);\n\n    const trailerTypeId = isNumber(rfq?.trailerTypeId) ? String(rfq?.trailerTypeId) : null;\n\n    const trailersDictById = useSelector(selectTrailersDictById);\n    const dictTrailerInfo = trailersDictById[trailerTypeId as TrailerDictIdT] || null;\n\n    const additionalServiceMap = useSelector(selectAdditionalServicesMap(dictTrailerInfo?.trailerType || null));\n\n    const query = useQuery<QueryT>();\n    const selectedAdditionalServiceEnums = query[QueryKeysEnum.orderCreationAdditionalServices] || [];\n    const rawCustomLineHaul = query[QueryKeysEnum.orderCreationCustomLineHauls];\n    const customLineHaulMap = React.useMemo(() => {\n        return parseQueryCustomLineHaulMap(rawCustomLineHaul);\n    }, [rawCustomLineHaul]);\n\n    const handleChangeCustomLineHaul = (priceOfferId: PriceOfferIdT, customLineHaul: number | null) => {\n        history.push({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.orderCreationCustomLineHauls]: formatQueryCustomLineHaulMap({\n                    ...customLineHaulMap,\n                    [priceOfferId]: isNumber(customLineHaul) ? customLineHaul : undefined,\n                }),\n            }),\n        });\n    };\n\n    React.useEffect((): void => {\n        if (!ref.current) {\n            return;\n        }\n\n        scrollIntoView(ref.current, {\n            time: 300,\n        });\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const params = useParams<{ rfqId: string; laneId?: string; offerId: string }>();\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        if (params.rfqId) {\n            dispatch(ensureCreatedRFQ(params.rfqId));\n        }\n\n        dispatch(fetchAdditionalServices());\n        dispatch(fetchTrailersDict());\n    }, [dispatch, params.rfqId]);\n\n    const priceOffersById = useSelector(selectPriceOffersById);\n    const selectedOffer = priceOffersById[params.offerId];\n\n    const offer = lanePriceOffer || selectedOffer || null;\n\n    const routePoints = useMemo((): Array<RoutePointT> => {\n        if (rfq) {\n            return rfq.points\n                .map((point, index) => {\n                    return {\n                        id: point.id,\n                        address: point.address,\n                        type: point.type,\n                        index,\n                    };\n                })\n                .filter(isNonNil);\n        }\n\n        return [];\n    }, [rfq]);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) =>\n            validateForm(t, values, {\n                trailerType: dictTrailerInfo,\n                routePoints,\n            });\n    }, [t, routePoints, dictTrailerInfo]);\n\n    const isFinallyFetchInitializedData = !!routePoints?.length;\n\n    const [initialValues, initialTouched, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(routePoints, isFinallyFetchInitializedData);\n        const errors = validateForm(t, values, {\n            trailerType: dictTrailerInfo,\n            routePoints,\n        });\n\n        const touched: FormTouchedT = {};\n\n        values?.shipments.forEach((shipmentValue, index) => {\n            const shipmentFields = Object.keys(shipmentValue) as ShipmentFieldsEnum[];\n\n            if (!touched.shipments) {\n                touched.shipments = [];\n            }\n\n            touched.shipments[index] = shipmentFields.reduce<NonNullable<FormTouchedT['shipments']>[number]>(\n                (acc, key) => {\n                    acc[key] = DEFAULT_SHIPMENT_VALUES[key] !== shipmentValue[key];\n\n                    return acc;\n                },\n                {},\n            );\n        });\n\n        values?.contacts.forEach((pointContactsValue, index) => {\n            const pointContactsFields = Object.keys(pointContactsValue) as PointContactsFieldsEnum[];\n\n            if (!touched.contacts) {\n                touched.contacts = [];\n            }\n\n            touched.contacts[index] = pointContactsFields.reduce<NonNullable<FormTouchedT['contacts']>[number]>(\n                (acc, key) => {\n                    if (key === PointContactsFieldsEnum.fullName || key === PointContactsFieldsEnum.phoneNumber) {\n                        acc[key] = true;\n                    } else {\n                        acc[key] = DEFAULT_POINT_CONTACTS_VALUES[key] !== pointContactsValue[key];\n                    }\n\n                    return acc;\n                },\n                {},\n            );\n        });\n\n        return [values, touched, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [routePoints, dictTrailerInfo]);\n\n    const [closeOverloadingAlert, setCloseOverloadingAlert] = React.useState<{\n        callback: CloseSideBarFooterAlertCallbackT | null;\n    }>({ callback: null });\n    const [closeNotUsedPointAlert, setCloseNotUsedPointAlert] = React.useState<{\n        callback: CloseSideBarFooterAlertCallbackT | null;\n    }>({ callback: null });\n    const [closeTemperatureRangesCompatibleAlert, setCloseTemperatureRangesCompatibleAlert] = React.useState<{\n        callback: CloseSideBarFooterAlertCallbackT | null;\n    }>({ callback: null });\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        initialTouched,\n        validate,\n        onSubmit: (values): void => {\n            const notUsedRoutePointValidationResult = validateNotUsedRoutePoint(formik.values, {\n                routePoints,\n            });\n            if (notUsedRoutePointValidationResult) {\n                setCloseNotUsedPointAlert({\n                    callback:\n                        sideBarFooterAlertsContext?.showAlert({\n                            theme: AlertThemeEnum.tomatoRed,\n                            content: (\n                                <NotUsedRoutePointValidationAlertContent\n                                    validationResult={notUsedRoutePointValidationResult}\n                                />\n                            ),\n                        }) || null,\n                });\n                return;\n            }\n\n            const overloadingTrailerValidationResult = validateOverloadingTrailer(formik.values, {\n                routePoints,\n                trailerType: dictTrailerInfo,\n            });\n            if (overloadingTrailerValidationResult) {\n                setCloseOverloadingAlert({\n                    callback:\n                        sideBarFooterAlertsContext?.showAlert({\n                            theme: AlertThemeEnum.tomatoRed,\n                            content: (\n                                <OverloadingTrailerValidationAlertContent\n                                    validationResult={overloadingTrailerValidationResult}\n                                />\n                            ),\n                        }) || null,\n                });\n                return;\n            }\n\n            const temperatureRangesCompatibleValidationResult = checkTemperatureRangesCompatible(formik.values, {\n                trailerType: dictTrailerInfo,\n            });\n            if (temperatureRangesCompatibleValidationResult) {\n                setCloseTemperatureRangesCompatibleAlert({\n                    callback:\n                        sideBarFooterAlertsContext?.showAlert({\n                            theme: AlertThemeEnum.tomatoRed,\n                            content: (\n                                <TemperatureRangesCompatibleValidationAlertContent\n                                    validationResult={temperatureRangesCompatibleValidationResult}\n                                />\n                            ),\n                        }) || null,\n                });\n                return;\n            }\n\n            const shipmentsFormValues = values[FieldsEnum.shipments];\n            const contactsFormValues = values[FieldsEnum.contacts];\n            const isCreateNextOrder = isCreateNextOrderRef.current;\n            const isReefer = !!dictTrailerInfo?.reefer;\n\n            const existedSelectedAdditionalServiceEnums = selectedAdditionalServiceEnums.filter((type) => {\n                return Boolean(additionalServiceMap?.[type]);\n            });\n\n            const createOrderRequest: ApiCreateOrderRequestT = {\n                priceOfferId: params.offerId,\n                contacts: contactsFormValues.map((contactFormValues, index) => {\n                    const routePoint = routePoints[index];\n\n                    return {\n                        contact: {\n                            fullName: contactsFormValues?.[index]?.[PointContactsFieldsEnum.fullName].trim(),\n                            companyName: contactsFormValues?.[index]?.[PointContactsFieldsEnum.companyName].trim(),\n                            email: contactsFormValues?.[index]?.[PointContactsFieldsEnum.email].trim() || undefined,\n                            phone:\n                                parsePhoneNumber(contactsFormValues?.[index]?.[PointContactsFieldsEnum.phoneNumber]) ||\n                                undefined,\n                            comment: contactsFormValues?.[index]?.[PointContactsFieldsEnum.comment].trim() || undefined,\n                        },\n                        pointId: routePoint.id,\n                    };\n                }),\n                customLineHaul: isNumber(customLineHaulMap?.[params.offerId])\n                    ? customLineHaulMap[params.offerId]\n                    : undefined,\n                shipments: shipmentsFormValues.map((shipmentFormValues) => {\n                    return {\n                        description: shipmentFormValues?.[ShipmentFieldsEnum.cargoDescription].trim(),\n                        lowestTemperature: isReefer\n                            ? shipmentFormValues?.[ShipmentFieldsEnum.cargoTemperatureRange]?.[0]\n                            : undefined,\n                        highestTemperature: isReefer\n                            ? shipmentFormValues?.[ShipmentFieldsEnum.cargoTemperatureRange]?.[1]\n                            : undefined,\n                        numberOfUnits: parseSimpleNumber(shipmentFormValues?.[ShipmentFieldsEnum.cargoUnitsCount]) || 0,\n                        maxNumberOfUnits: 0, // TODO\n                        unitsType:\n                            getApiLoadUnitType(shipmentFormValues?.[ShipmentFieldsEnum.cargoUnitType]) || 'OTHER',\n                        weight: parseSimpleNumber(shipmentFormValues?.[ShipmentFieldsEnum.cargoWeight]) || 0,\n                        poNumber: parseStringFormatter(shipmentFormValues?.[ShipmentFieldsEnum.poNumber]) || '',\n                        dropOffReference:\n                            parseStringFormatter(shipmentFormValues?.[ShipmentFieldsEnum.dropOffReferenceNumber]) || '',\n                        pickupReference:\n                            parseStringFormatter(shipmentFormValues?.[ShipmentFieldsEnum.pickUpReferenceNumber]) || '',\n                        pickupPointId: shipmentFormValues?.[ShipmentFieldsEnum.pickUpPointId] || '',\n                        dropOffPointId: shipmentFormValues?.[ShipmentFieldsEnum.dropOffPointId] || '',\n                    };\n                }),\n                carrierAdditionalServices: existedSelectedAdditionalServiceEnums,\n            };\n\n            dispatch(createOrder(params.rfqId, createOrderRequest, isCreateNextOrder));\n        },\n    });\n\n    React.useEffect(() => {\n        const shipmentsLength = formik.values[FieldsEnum.shipments]?.length || 0;\n\n        const percent = getterFormFillPercent([\n            ...times(shipmentsLength).flatMap((index) => {\n                return [\n                    `${FieldsEnum.shipments}.${index}.${ShipmentFieldsEnum.pickUpPointId}`,\n                    `${FieldsEnum.shipments}.${index}.${ShipmentFieldsEnum.dropOffPointId}`,\n                ];\n            }),\n        ])(formik.values);\n\n        orderCreationPercentContext.setPercent(percent);\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.values]);\n\n    React.useEffect(() => {\n        if (isFinallyFetchInitializedData) {\n            storage.saveValues(formik.values);\n        }\n    }, [formik.values, isFinallyFetchInitializedData]);\n\n    const createOrderRequestStatus = useSelector(selectCreateOrderRequest);\n\n    const pointContactsFormValues = formik.values[FieldsEnum.contacts];\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidate(t, createOrderRequestStatus);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [t, createOrderRequestStatus.error]);\n\n    const asyncFormErrors = useAsyncFormErrors(asyncErrors);\n\n    return (\n        <FormAsyncErrorsContext.Provider value={asyncFormErrors}>\n            <FormikContext.Provider value={formik}>\n                <form onSubmit={formik.handleSubmit}>\n                    <div className={cx('inner')} data-test-selector=\"new-order-cargo-details\">\n                        <div ref={ref} />\n                        <MultiPointOrderDraftDetails\n                            offer={offer}\n                            trailerType={dictTrailerInfo}\n                            points={multiPointOrderDraftDetailPoints}\n                        />\n                        <OfferDetails\n                            className={cx('offer')}\n                            offer={offer}\n                            selectedAdditionalServiceEnums={selectedAdditionalServiceEnums}\n                            hasSelectedLane={!!params.laneId}\n                            customLineHaulMap={customLineHaulMap}\n                            onChangeCustomLineHaul={handleChangeCustomLineHaul}\n                            dictTrailerInfo={dictTrailerInfo}\n                        />\n                        {!!offer && (\n                            <>\n                                <div className={cx('block')}>\n                                    <div className={cx('block__content')}>\n                                        <FormikFieldArray<FormValuesT, typeof FieldsEnum.shipments>\n                                            name={FieldsEnum.shipments}\n                                        >\n                                            {(values, { push, remove }) => {\n                                                const isAllowRemove = values?.length > 1;\n                                                return (\n                                                    <>\n                                                        {values.map((value, index) => {\n                                                            return (\n                                                                <Card\n                                                                    key={`shipment-card-${\n                                                                        value?.[ShipmentFieldsEnum.fakeId]\n                                                                    }`}\n                                                                    initIsOpen\n                                                                    titleNode={t(\n                                                                        'common:new-order-form.shipment-title',\n                                                                        {\n                                                                            number: index + 1,\n                                                                        },\n                                                                    )}\n                                                                    className={cx('shipments-card')}\n                                                                    afterTitleNode={\n                                                                        <CargoUnitIcon\n                                                                            size={DEFAULT_ICON_SIZE}\n                                                                            strokeColor={StyleGuideColorsEnum.gray}\n                                                                            fillColor={StyleGuideColorsEnum.light}\n                                                                        />\n                                                                    }\n                                                                    rightNode={\n                                                                        <>\n                                                                            <ErrorIndicatorLabel\n                                                                                fieldNamesPrefix={FieldsEnum.shipments}\n                                                                                index={index}\n                                                                            />\n                                                                            {isAllowRemove && (\n                                                                                <Tooltip\n                                                                                    position={\n                                                                                        TooltipPositionEnum.topCenter\n                                                                                    }\n                                                                                    theme={TooltipThemeEnum.black}\n                                                                                    tooltipNode={\n                                                                                        <TooltipContent\n                                                                                            theme={\n                                                                                                TooltipContentThemeEnum.black\n                                                                                            }\n                                                                                            isNoWrap\n                                                                                        >\n                                                                                            {t(\n                                                                                                'common:new-order-form.delete-shipment-tooltip',\n                                                                                            )}\n                                                                                        </TooltipContent>\n                                                                                    }\n                                                                                >\n                                                                                    {() => (\n                                                                                        <TransparentTrigger\n                                                                                            onClick={() => {\n                                                                                                remove(index);\n                                                                                            }}\n                                                                                            reflectionTheme={\n                                                                                                ReflectionThemeEnum.light\n                                                                                            }\n                                                                                            leftIcon={\n                                                                                                <DeleteIcon\n                                                                                                    fillColor={\n                                                                                                        StyleGuideColorsEnum.tomatoRed\n                                                                                                    }\n                                                                                                />\n                                                                                            }\n                                                                                        />\n                                                                                    )}\n                                                                                </Tooltip>\n                                                                            )}\n                                                                        </>\n                                                                    }\n                                                                >\n                                                                    <ShipmentPicker\n                                                                        shipmentIndex={index}\n                                                                        trailerType={dictTrailerInfo}\n                                                                        routePoints={routePoints}\n                                                                        closeNotUsedPointValidationAlertCallback={\n                                                                            closeNotUsedPointAlert?.callback\n                                                                        }\n                                                                        closeOverloadingValidationAlertCallback={\n                                                                            closeOverloadingAlert?.callback\n                                                                        }\n                                                                        closeTemperatureRangesValidationAlertCallback={\n                                                                            closeTemperatureRangesCompatibleAlert?.callback\n                                                                        }\n                                                                    />\n                                                                </Card>\n                                                            );\n                                                        })}\n                                                        <Button\n                                                            theme={ButtonThemeEnum.transparent}\n                                                            type=\"button\"\n                                                            onClick={() => {\n                                                                const pickupDeliveryPoints = routePoints?.filter(\n                                                                    (routePoint) =>\n                                                                        routePoint?.type ===\n                                                                        OrderCreationReservePointTypeEnum.shipment,\n                                                                );\n                                                                const autoSelectPickUpPointId =\n                                                                    (pickupDeliveryPoints?.length === 2 &&\n                                                                        pickupDeliveryPoints?.[0]?.id) ||\n                                                                    null;\n                                                                const autoSelectDropOffPointId =\n                                                                    (pickupDeliveryPoints?.length === 2 &&\n                                                                        pickupDeliveryPoints?.[1]?.id) ||\n                                                                    null;\n\n                                                                push({\n                                                                    ...DEFAULT_SHIPMENT_VALUES,\n                                                                    [ShipmentFieldsEnum.fakeId]: uuidv4(),\n                                                                    [ShipmentFieldsEnum.pickUpPointId]:\n                                                                        autoSelectPickUpPointId,\n                                                                    [ShipmentFieldsEnum.dropOffPointId]:\n                                                                        autoSelectDropOffPointId,\n                                                                });\n                                                            }}\n                                                            leftIcon={\n                                                                <PlusSignIcon\n                                                                    size={DEFAULT_ICON_SIZE}\n                                                                    strokeColor={StyleGuideColorsEnum.charcoal}\n                                                                />\n                                                            }\n                                                        >\n                                                            {t('common:new-order-form.actions.add-shipment')}\n                                                        </Button>\n                                                    </>\n                                                );\n                                            }}\n                                        </FormikFieldArray>\n                                    </div>\n                                </div>\n                                <div className={cx('block')}>\n                                    <div className={cx('block__title')}>\n                                        {t('common:new-order-details.field-group.contact')}\n                                    </div>\n                                    <div className={cx('block__content')}>\n                                        {pointContactsFormValues.map((pointContactFormValues, index) => {\n                                            const routePoint = routePoints[index];\n                                            if (routePoint?.type !== OrderCreationReservePointTypeEnum.shipment) {\n                                                return null;\n                                            }\n\n                                            return (\n                                                <Card\n                                                    key={`point-contacts-card-${index}`}\n                                                    initIsOpen\n                                                    className={cx('contacts-card')}\n                                                    iconNode={\n                                                        <NumberIcon\n                                                            number={(routePoint?.index || 0) + 1}\n                                                            fillColor={StyleGuideColorsEnum.charcoal}\n                                                        />\n                                                    }\n                                                    titleNode={formatAddressComponents(routePoint.address)}\n                                                    titleClassName={cx('contacts-card-title')}\n                                                    rightNode={\n                                                        <ErrorIndicatorLabel\n                                                            fieldNamesPrefix={FieldsEnum.contacts}\n                                                            index={index}\n                                                        />\n                                                    }\n                                                >\n                                                    <PointContactsPicker contactIndex={index} />\n                                                </Card>\n                                            );\n                                        })}\n                                    </div>\n                                </div>\n                            </>\n                        )}\n                        <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                        <FooterSideBarLayout hasPaddings topNode={<FooterSideBarAlertsLayout />}>\n                            <div className={cx('actions')}>\n                                <Button\n                                    theme={ButtonThemeEnum.secondary}\n                                    className={cx('actions__action', 'actions__action--place-and-next-new-order')}\n                                    onClick={() => {\n                                        isCreateNextOrderRef.current = true;\n                                        formik.handleSubmit();\n                                    }}\n                                    type=\"submit\"\n                                    testSelector=\"next-step\"\n                                    isLoading={createOrderRequestStatus.loading}\n                                >\n                                    {t('common:new-order-details.submit.place-and-next-new-order')}\n                                </Button>\n                                <Button.Container className={cx('actions__action', 'actions__action--place')}>\n                                    <Button\n                                        theme={ButtonThemeEnum.primary}\n                                        type=\"submit\"\n                                        testSelector=\"next-step\"\n                                        isLoading={createOrderRequestStatus.loading}\n                                        isCenterContent\n                                        isFullWidth\n                                    >\n                                        {t('common:new-order-details.submit.place')}\n                                    </Button>\n                                    {isNumber(reserveExpireTime) && (\n                                        <Button.Timer\n                                            showTime={10 * MS_IN_MIN}\n                                            expireTime={reserveExpireTime}\n                                            tooltipMessage={t('common:new-order-form.price-offer-expiration.tooltip')}\n                                            onExpire={() => {\n                                                sideBarFooterAlertsContext?.showAlert({\n                                                    theme: AlertThemeEnum.orange,\n                                                    content: <ExpirationRFQAlertContent />,\n                                                });\n\n                                                history.push(OMSRoutesEnum.newOrder);\n                                            }}\n                                        />\n                                    )}\n                                </Button.Container>\n                            </div>\n                        </FooterSideBarLayout>\n                    </div>\n                </form>\n            </FormikContext.Provider>\n        </FormAsyncErrorsContext.Provider>\n    );\n});\n\nexport default CargoDetailsForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"BrokerTeamsSuggest__option___eOeX4\",\"fadeIn\":\"BrokerTeamsSuggest__fadeIn___AaUFj\",\"blinking\":\"BrokerTeamsSuggest__blinking___cPprI\"};","import {\n    FETCH_RATES_PAGE_REQUEST_BEGIN,\n    FETCH_RATES_PAGE_REQUEST_ERROR,\n    FETCH_RATES_PAGE_REQUEST_SUCCESS,\n    RatesActionT,\n    RatesStateT,\n    RESET_RATES,\n    UPDATE_RATES_REQUEST_BEGIN,\n    UPDATE_RATES_REQUEST_ERROR,\n    UPDATE_RATES_REQUEST_SUCCESS,\n    UPLOAD_CSV_FILE_REQUEST_BEGIN,\n    UPLOAD_CSV_FILE_REQUEST_FAIL,\n    UPLOAD_CSV_FILE_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: RatesStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n    updateRequest: requestStatus.initial,\n    uploadCSVRequest: requestStatus.initial,\n};\n\nexport default (state = initialState, action: RatesActionT | DestroySessionActionT): RatesStateT => {\n    switch (action.type) {\n        case FETCH_RATES_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query } = action;\n\n            const newPages = [...state.pages];\n            newPages.splice(pageNumber, 1, {\n                ...state.pages[pageNumber],\n                requestStatus: requestStatus.loading,\n            });\n\n            return {\n                ...state,\n                ...pageBeginReducer(state, pageNumber, query),\n            };\n        }\n        case FETCH_RATES_PAGE_REQUEST_SUCCESS: {\n            const { query, pageNumber, pageResponse } = action;\n\n            return {\n                ...state,\n                ...pageSuccessReducer(state, pageNumber, query, pageResponse),\n            };\n        }\n        case FETCH_RATES_PAGE_REQUEST_ERROR: {\n            const { query, error, pageNumber } = action;\n\n            return {\n                ...state,\n                ...pageErrorReducer(state, pageNumber, query, error),\n            };\n        }\n        case UPLOAD_CSV_FILE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                uploadCSVRequest: requestStatus.loading,\n            };\n        }\n        case UPLOAD_CSV_FILE_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                uploadCSVRequest: requestStatus.ok,\n            };\n        }\n        case UPLOAD_CSV_FILE_REQUEST_FAIL: {\n            const { error } = action;\n\n            return {\n                ...state,\n                uploadCSVRequest: requestStatus.setError(error),\n            };\n        }\n        case UPDATE_RATES_REQUEST_BEGIN: {\n            return {\n                ...state,\n                updateRequest: requestStatus.loading,\n            };\n        }\n        case UPDATE_RATES_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                updateRequest: requestStatus.ok,\n            };\n        }\n        case UPDATE_RATES_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                updateRequest: requestStatus.setError(error),\n            };\n        }\n        case RESET_RATES: {\n            const { mutationListOptions } = action;\n\n            return {\n                ...initialState,\n                ...resetPagesCacheReducer(initialState, state, mutationListOptions),\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"LanguageSelector__fadeIn___aljUo\",\"blinking\":\"LanguageSelector__blinking___Zt3zT\"};","import { SharableStateT } from '../models';\nimport { ConsistentStateMachineItemStateT, initialConsistentStateMachineItemState } from './slice';\nimport { ConsistentStateMachineDescriptorT } from './models';\nimport { getStateMachineEntityHash } from './utils';\n\nexport const selectConsistentStateMachineItemState = (descriptor: ConsistentStateMachineDescriptorT | null) => {\n    return (state: SharableStateT): ConsistentStateMachineItemStateT => {\n        if (!descriptor) {\n            return initialConsistentStateMachineItemState;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        return state.consistentStateMachine[hash] || initialConsistentStateMachineItemState;\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"FilePickerInput__input___wY9zc\",\"input--isEmpty\":\"FilePickerInput__input--isEmpty___OLTqh\",\"input--isClickable\":\"FilePickerInput__input--isClickable___DjMeZ\",\"input--hasWarning\":\"FilePickerInput__input--hasWarning___dGodQ\",\"input--hasChanges\":\"FilePickerInput__input--hasChanges___IxP84\",\"input--hasError\":\"FilePickerInput__input--hasError___RB3p8\",\"input--isDisabled\":\"FilePickerInput__input--isDisabled___oXxnY\",\"input--hasRightNode\":\"FilePickerInput__input--hasRightNode___VQWfv\",\"icon\":\"FilePickerInput__icon___A3lN6\",\"icon--isLeft\":\"FilePickerInput__icon--isLeft___g3EHC\",\"label\":\"FilePickerInput__label___zsJl7\",\"label--isEmpty\":\"FilePickerInput__label--isEmpty___EVNpa\",\"label--isDisabled\":\"FilePickerInput__label--isDisabled___MSYcc\",\"upload-trigger\":\"FilePickerInput__upload-trigger___lZmLE\",\"fadeIn\":\"FilePickerInput__fadeIn___IGCjd\",\"blinking\":\"FilePickerInput__blinking___nWWjJ\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport NumberIcon from 'common/icons/NumberIcon';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    isDriveThroughRoutePointPicker?: boolean;\n    isPickupOrDeliveryRoutePointPicker?: boolean;\n    hasValue?: boolean;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    isDisabled?: boolean;\n};\n\nconst WaypointNumberIcon: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        isDriveThroughRoutePointPicker,\n        isPickupOrDeliveryRoutePointPicker,\n        hasValue,\n        hasError,\n        hasWarning,\n        isDisabled,\n    } = props;\n\n    let fillColor = StyleGuideColorsEnum.light;\n\n    if (isDriveThroughRoutePointPicker && hasValue) {\n        fillColor = StyleGuideColorsEnum.gray;\n    }\n\n    if (isPickupOrDeliveryRoutePointPicker && hasValue) {\n        fillColor = StyleGuideColorsEnum.charcoal;\n    }\n\n    if (hasError && hasValue) {\n        fillColor = StyleGuideColorsEnum.tomatoRed;\n    }\n\n    if (hasWarning && hasValue) {\n        fillColor = StyleGuideColorsEnum.orange;\n    }\n\n    if (isDisabled) {\n        fillColor = StyleGuideColorsEnum.slate;\n    }\n\n    return <NumberIcon className={className} number={routePointIndex + 1} fillColor={fillColor} />;\n});\n\nexport default WaypointNumberIcon;\n","import * as React from 'react';\n\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport classNames from 'classnames/bind';\nimport styles from './ImageLoader.scss';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype StateT = {\n    isLoaded: boolean;\n};\n\ntype PropsT = {\n    src: string | null;\n    alt: string | null;\n    className?: string;\n    style?: React.CSSProperties;\n};\n\nclass ImageLoader extends React.Component<PropsT, StateT> {\n    imageNode: HTMLImageElement | null = null;\n\n    constructor(props: PropsT) {\n        super(props);\n\n        this.state = {\n            isLoaded: false,\n        };\n    }\n\n    componentDidMount() {\n        const { src } = this.props;\n\n        if (src) {\n            this.fetchImage(src);\n        }\n    }\n\n    componentDidUpdate(prevProps: PropsT) {\n        const { src } = this.props;\n\n        if (src && prevProps.src !== src) {\n            this.fetchImage(src);\n        }\n    }\n\n    fetchImage(src: string) {\n        commonTranziitApi\n            .fetchImage(src)\n            .then((response) => {\n                const [error, blob] = response;\n\n                if (!blob || error) {\n                    return;\n                }\n\n                // @ts-expect-error\n                const imageObjectURL = URL.createObjectURL(blob);\n\n                if (this.imageNode) {\n                    this.imageNode.src = imageObjectURL;\n                }\n            })\n            .catch((error) => {\n                logWarning('Failed to fetch image:', error);\n            })\n            .finally(() => {\n                this.setState({\n                    isLoaded: true,\n                });\n            });\n    }\n\n    render() {\n        const { className, alt, style } = this.props;\n        const { isLoaded } = this.state;\n\n        return (\n            <>\n                <img\n                    className={className}\n                    src=\"\"\n                    style={{\n                        ...style,\n                        display: isLoaded ? 'block' : 'none',\n                        opacity: isLoaded ? 1 : 0,\n                    }}\n                    alt={alt || undefined}\n                    ref={(node) => {\n                        if (node) {\n                            this.imageNode = node;\n                        }\n                    }}\n                />\n                {!isLoaded && (\n                    <ControlLoaderIcon\n                        className={cx('placeholder')}\n                        fillColor={StyleGuideColorsEnum.brandAccent}\n                        size={DEFAULT_ICON_SIZE}\n                    />\n                )}\n            </>\n        );\n    }\n}\n\nexport default ImageLoader;\n","// extracted by mini-css-extract-plugin\nexport default {\"side-bar\":\"SideBarLayout__side-bar___ZZKja\",\"side-bar--position-left\":\"SideBarLayout__side-bar--position-left___uKvQX\",\"side-bar--size-regular\":\"SideBarLayout__side-bar--size-regular___wONk8\",\"side-bar--size-narrow\":\"SideBarLayout__side-bar--size-narrow___qQhfK\",\"side-bar--isShow\":\"SideBarLayout__side-bar--isShow___rmxzm\",\"side-bar--position-right\":\"SideBarLayout__side-bar--position-right___UvCEJ\",\"content\":\"SideBarLayout__content___Fg2KU\",\"fadeIn\":\"SideBarLayout__fadeIn___cKwjz\",\"blinking\":\"SideBarLayout__blinking___oEkKk\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './AssignTriggerLabel.scss';\nimport { CurrencyEnum, StyleGuideColorsEnum } from 'common/constants';\nimport Money from 'common/components/Money/Money';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport DetailsIcon from 'common/icons/DetailsIcon';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport isNumber from 'lodash/isNumber';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { useTranslation } from 'react-i18next';\nimport { ApiTruckRateModeT, TruckRateModeEnum } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    model?: string;\n    plateNumber?: string;\n    ratePerKm: number | null | undefined;\n    rateMode: ApiTruckRateModeT | null | undefined;\n    isDisabled: boolean;\n    resetTooltipNode?: React.ReactNode;\n    onReset: () => void;\n    onOpenDetails: () => void;\n};\n\nconst rateModeI18nMap: Record<ApiTruckRateModeT, string> = {\n    [TruckRateModeEnum.brutto]: 'assignment.rate-mode.brutto',\n    [TruckRateModeEnum.netto]: 'assignment.rate-mode.netto',\n};\n\nconst AssignTriggerLabel: React.FC<PropsT> = React.memo((props) => {\n    const { model, plateNumber, ratePerKm, rateMode, isDisabled, onReset, onOpenDetails, resetTooltipNode } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div className={cx('option')}>\n            <div\n                className={cx('model-and-plate-number', {\n                    'model-and-plate-number--isDisabled': isDisabled,\n                })}\n            >\n                {[plateNumber, model].filter(Boolean).join(' / ')}\n            </div>\n            <div className={cx('spacer')} />\n            {isNumber(ratePerKm) && (\n                <div\n                    className={cx('price', {\n                        'price--isDisabled': isDisabled,\n                    })}\n                >\n                    <Money amount={ratePerKm} currency={CurrencyEnum.EUR} />\n                    {!!rateMode && <span className={cx('trigger-rate-mode')}>({t(rateModeI18nMap[rateMode])})</span>}\n                </div>\n            )}\n            <ClickInterceptorLabel className={cx('reset')}>\n                <Tooltip\n                    className={cx('tooltip')}\n                    position={TooltipPositionEnum.centerLeft}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        resetTooltipNode ? (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {resetTooltipNode}\n                            </TooltipContent>\n                        ) : null\n                    }\n                >\n                    {() => (\n                        <TransparentTrigger\n                            spaces=\"xxs\"\n                            onClick={onReset}\n                            leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.gray} />}\n                            reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                        />\n                    )}\n                </Tooltip>\n            </ClickInterceptorLabel>\n            <ClickInterceptorLabel className={cx('details')}>\n                <Tooltip\n                    className={cx('tooltip')}\n                    position={TooltipPositionEnum.centerLeft}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('common:tooltips.open-details')}\n                        </TooltipContent>\n                    }\n                >\n                    {() => (\n                        <TransparentTrigger\n                            spaces=\"xxs\"\n                            onClick={onOpenDetails}\n                            leftIcon={<DetailsIcon strokeColor={StyleGuideColorsEnum.gray} />}\n                            reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                        />\n                    )}\n                </Tooltip>\n            </ClickInterceptorLabel>\n        </div>\n    );\n});\n\nexport default AssignTriggerLabel;\n","import * as React from 'react';\n\nimport styles from './EntitySidebarSkeleton.scss';\nimport classNames from 'classnames/bind';\n\nimport RouteLocationsOverview from 'common/components/entity-details/RouteLocationsOverview/RouteLocationsOverview';\n\nexport type PropsT = {};\n\nconst cx = classNames.bind(styles);\n\nconst EntitySidebarSkeleton: React.FC<PropsT> = React.memo(() => {\n    return (\n        <>\n            <RouteLocationsOverview className={cx('route')} />\n            <div className={cx('skeleton__box', 'skeleton__box--first')} />\n            <div className={cx('skeleton__box', 'skeleton__box--secondary')} />\n        </>\n    );\n});\n\nexport default EntitySidebarSkeleton;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"ActivateAssetForm__form___HKgGm\",\"field--source\":\"ActivateAssetForm__field--source___hMcol\",\"field--rate\":\"ActivateAssetForm__field--rate___ywvbW\",\"fadeIn\":\"ActivateAssetForm__fadeIn___GWXSP\",\"blinking\":\"ActivateAssetForm__blinking___Avt_A\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"TimelineAutoSizer__wrap___Ql2Q0\",\"fadeIn\":\"TimelineAutoSizer__fadeIn___hpRi4\",\"blinking\":\"TimelineAutoSizer__blinking___COGGL\"};","import { FetchTransportOrdersPageQueryT, TransportOrderT } from './models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_ORDERS_PAGE_REQUEST = 'common/transport-orders/FETCH_ORDERS_PAGE_REQUEST';\nexport const FETCH_ORDERS_PAGE_REQUEST_BEGIN = 'common/transport-orders/FETCH_ORDERS_PAGE_REQUEST_BEGIN';\nexport const FETCH_ORDERS_PAGE_REQUEST_ERROR = 'common/transport-orders/FETCH_ORDERS_PAGE_REQUEST_ERROR';\nexport const FETCH_ORDERS_PAGE_REQUEST_SUCCESS = 'common/transport-orders/FETCH_ORDERS_PAGE_REQUEST_SUCCESS';\n\nexport const RESET_ORDERS = 'common/transport-orders/RESET_ORDERS';\n\nexport type TransportOrdersStateT = Record<PartnerIdT, CompanyTransportOrdersStateT>;\n\nexport type CompanyTransportOrdersStateT = PaginationStateT<TransportOrderT, FetchTransportOrdersPageQueryT>;\n\nexport type FetchTransportOrdersPageActionT = {\n    type: typeof FETCH_ORDERS_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchTransportOrdersPageQueryT;\n    companyId: CompanyIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchTransportOrdersPageBeginActionT = {\n    type: typeof FETCH_ORDERS_PAGE_REQUEST_BEGIN;\n    pageNumber: PageNumberT;\n    query: FetchTransportOrdersPageQueryT;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTransportOrdersPageSuccessActionT = {\n    type: typeof FETCH_ORDERS_PAGE_REQUEST_SUCCESS;\n    query: FetchTransportOrdersPageQueryT;\n    pageNumber: PageNumberT;\n    pageResponse: PageResponseT<TransportOrderT> | null;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTransportOrdersPageErrorActionT = {\n    type: typeof FETCH_ORDERS_PAGE_REQUEST_ERROR;\n    query: FetchTransportOrdersPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type ResetTransportOrdersActionT = {\n    type: typeof RESET_ORDERS;\n    companyId: CompanyIdT;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type TransportOrdersActionT =\n    | FetchTransportOrdersPageActionT\n    | FetchTransportOrdersPageBeginActionT\n    | FetchTransportOrdersPageSuccessActionT\n    | FetchTransportOrdersPageErrorActionT\n    | ResetTransportOrdersActionT;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TuneIcon: React.FC<PropsT> = (props) => {\n    const { size, className, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M3.25 4.75h7.5v1.5h-7.5v-1.5zm3 4.5h-3v1.5h3v1.5h1.5v-4.5h-1.5v1.5zm4.5 3h-1.5v4.5h1.5v-1.5h6v-1.5h-6v-1.5zm-7.5 1.5h4.5v1.5h-4.5v-1.5zm6-4.5h7.5v1.5h-7.5v-1.5zm4.5-6h-1.5v4.5h1.5v-1.5h3v-1.5h-3v-1.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTuneIcon.displayName = 'TuneIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default TuneIcon;\n","import { TrailersDictT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const TRAILERS_DICT_REQUEST = 'common/trailers-dict/TRAILERS_DICT_REQUEST';\nexport const TRAILERS_DICT_REQUEST_BEGIN = 'common/trailers-dict/TRAILERS_DICT_REQUEST_BEGIN';\nexport const TRAILERS_DICT_REQUEST_SUCCESS = 'common/trailers-dict/TRAILERS_DICT_REQUEST_SUCCESS';\nexport const TRAILERS_DICT_REQUEST_ERROR = 'common/trailers-dict/TRAILERS_DICT_REQUEST_ERROR';\n\nexport type FetchTrailersDictActionT = {\n    type: typeof TRAILERS_DICT_REQUEST;\n};\n\nexport type FetchTrailersDictBeginActionT = {\n    type: typeof TRAILERS_DICT_REQUEST_BEGIN;\n};\n\nexport type FetchTrailersDictSuccessActionT = {\n    type: typeof TRAILERS_DICT_REQUEST_SUCCESS;\n    trailersDict: TrailersDictT;\n};\n\nexport type FetchTrailersDictErrorActionT = {\n    type: typeof TRAILERS_DICT_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type TrailersDictActionT =\n    | FetchTrailersDictActionT\n    | FetchTrailersDictBeginActionT\n    | FetchTrailersDictSuccessActionT\n    | FetchTrailersDictErrorActionT;\n\nexport type TrailersDictStateT = {\n    trailersDict: TrailersDictT | null;\n    trailersDictRequest: RequestStatusT;\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst getInitialValues = (systemSettings: SystemSettingsT | null | undefined): FormValuesT => {\n    return {\n        [FieldsEnum.transportationOrderHasNoDriverAlertTime]:\n            systemSettings?.TRANSPORTATION_ORDER_HAS_NO_DRIVER_ALERT_TIME || '',\n        [FieldsEnum.assignDriverLimitAlert]: systemSettings?.RUN_OUT_OF_TIME_TO_ASSIGN_DRIVER_LIMIT || '',\n        [FieldsEnum.allowedGAPToBeDelayed]: systemSettings?.ALLOWED_GAP_TO_BE_DELAYED || '',\n        [FieldsEnum.deleteNotificationsOlderDays]: systemSettings?.DELETE_NOTIFICATIONS_OLDER_DAYS || '',\n        [FieldsEnum.docExpiresSoonAlert]: systemSettings?.DOC_EXPIRES_SOON_ALERT || '',\n        [FieldsEnum.assignAssetLimitAlert]: systemSettings?.RUN_OUT_OF_TIME_TO_ASSIGN_ASSETS_LIMIT || '',\n        [FieldsEnum.transportationOrderHasNoAssetsAlertTime]:\n            systemSettings?.TRANSPORTATION_ORDER_HAS_NO_ASSETS_ALERT_TIME || '',\n        [FieldsEnum.radiusAroundWaypointM]: systemSettings?.RADIUS_AROUND_WAYPOINT_METERS || '',\n        [FieldsEnum.timeLimitToCancelOrderHours]: systemSettings?.TIME_LIMIT_TO_CANCEL_ORDER_HOURS || '',\n        [FieldsEnum.timeLimitToCancelTransportationOrderHours]:\n            systemSettings?.TIME_LIMIT_TO_CANCEL_TRANSPORTATION_ORDER_HOURS || '',\n    };\n};\n\nexport default getInitialValues;\n","import * as React from 'react';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ApiTruckRateModeT, TruckRateModeEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    rateMode: ApiTruckRateModeT;\n};\n\nconst RateModeStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { rateMode, ...restProps } = props;\n\n    const { t } = useTranslation();\n\n    let label: React.ReactNode;\n    let pillTheme: PillLabelThemeEnum = colorCodingPillLabelTheme.normal;\n\n    if (rateMode === TruckRateModeEnum.brutto) {\n        pillTheme = PillLabelThemeEnum.light30;\n        label = t('assignment.rate-mode.brutto');\n    }\n\n    if (rateMode === TruckRateModeEnum.netto) {\n        pillTheme = PillLabelThemeEnum.brandAccent30;\n        label = t('assignment.rate-mode.netto');\n    }\n\n    return (\n        <PillLabel isNoWrap isSymmetrical {...restProps} theme={pillTheme}>\n            {label}\n        </PillLabel>\n    );\n});\n\nexport default RateModeStatusPill;\n","export enum FieldsEnum {\n    reason = 'reason',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.reason]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"TrailersPageLayout__tabs___rMOr8\",\"tabs--isPartner\":\"TrailersPageLayout__tabs--isPartner___rDDD7\",\"tabs__tab\":\"TrailersPageLayout__tabs__tab___L1bM_\",\"fadeIn\":\"TrailersPageLayout__fadeIn___wIrRO\",\"blinking\":\"TrailersPageLayout__blinking___zRc0i\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const brokerTeamDetailsRefreshChannel = new ViewEventChannel<{\n    teamId: TeamIdT;\n}>();\n","import { ApiCountriesT, ApiLocationT } from 'common/utils/api/models';\nimport { ApiTourEditNewStopT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const convertToPointLocation = (location: ApiLocationT | null): ApiTourEditNewStopT['address'] | null => {\n    if (!location) {\n        return null;\n    }\n\n    const countyCode = location?.country;\n    const latitude = location?.latitude;\n    const longitude = location?.longitude;\n\n    if (!latitude || !longitude || !countyCode) {\n        return null;\n    }\n\n    return {\n        latitude,\n        longitude,\n        country: countyCode as ApiCountriesT,\n        city: location?.city || undefined,\n        street1: location?.street1 || undefined,\n        street2: location?.street2,\n        zipCode: location?.zipCode || undefined,\n    };\n};\n","import { PartnerTypeEnum } from 'common/utils/api/models';\n\nexport enum QueryKeysEnum {\n    partnersPage = 'partners-page',\n    partnersFilters = 'partners-filters',\n    partnersSort = 'partners-sort',\n}\n\nexport enum QueryFiltersKeysEnum {\n    withUpdates = 'withUpdates',\n    keyAccountManagerId = 'keyAccountManagerId',\n    keyAccountManagerName = 'keyAccountManagerName',\n    dispatcherId = 'dispatcherId',\n    dispatcherName = 'dispatcherName',\n    countryCode = 'countryCode',\n    partnerType = 'partnerType',\n    searchText = 'searchText',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.withUpdates]: QueryParam.BooleanT;\n    [QueryFiltersKeysEnum.keyAccountManagerId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.keyAccountManagerName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dispatcherId]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.dispatcherName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.countryCode]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.partnerType]: PartnerTypeEnum;\n    [QueryFiltersKeysEnum.searchText]: QueryParam.StringT;\n}>;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ExcludeCountriesMapWidget__wrap___lSJbe\",\"countries\":\"ExcludeCountriesMapWidget__countries___hTa6D\",\"country\":\"ExcludeCountriesMapWidget__country___mQqTO\",\"countries-overlay\":\"ExcludeCountriesMapWidget__countries-overlay___pfgyl\",\"option\":\"ExcludeCountriesMapWidget__option___CpsV1\",\"fadeIn\":\"ExcludeCountriesMapWidget__fadeIn___HbzMW\",\"blinking\":\"ExcludeCountriesMapWidget__blinking___Uw6Xk\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './PartnerName.scss';\n\nconst cx = classNames.bind(styles);\n\nconst PartnerName: React.FC<{ partnerName: string }> = ({ partnerName }) => (\n    <span className={cx('partner-name')}>{partnerName}</span>\n);\n\nexport default PartnerName;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst ChartIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, fillColor, fillOpacity, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity={fillOpacity || 1}\n                    d=\"M8.5 4.75h3v10.5h-3V4.75zM4 9.25h3v6H4v-6zm12 6h-3v-4.5h3v4.5z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M13 9.25v-6H7v4.5H2.5v9h15v-7.5H13zm-4.5-4.5h3v10.5h-3V4.75zM4 9.25h3v6H4v-6zm12 6h-3v-4.5h3v4.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nChartIcon.displayName = 'ChartIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.brandDark,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default ChartIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './UpdatedPartnerShipperContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst UpdatedPartnerContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-shipper-contract-updated\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default UpdatedPartnerContractCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"TransportationOrderDeclinedCard__inner___SIF08\",\"transport-order-number\":\"TransportationOrderDeclinedCard__transport-order-number___blQER\",\"dispatch-number\":\"TransportationOrderDeclinedCard__dispatch-number___cw_ig\",\"carrier-name\":\"TransportationOrderDeclinedCard__carrier-name___owuEZ\",\"fadeIn\":\"TransportationOrderDeclinedCard__fadeIn___QKiEs\",\"blinking\":\"TransportationOrderDeclinedCard__blinking___iJDKG\"};","import React from 'react';\nimport {\n    NotificationLinkFactoryT,\n    NotificationRendererT,\n} from 'common/components/notifications/NotificationsBarContent/models';\n\nexport type NotificationSidebarContextT = {\n    renderNotification: NotificationRendererT | null;\n    getNotificationLink: NotificationLinkFactoryT | null;\n};\n\nconst NotificationSidebarContext = React.createContext<NotificationSidebarContextT>({\n    renderNotification: null,\n    getNotificationLink: null,\n});\n\nexport default NotificationSidebarContext;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TourDetailsCard.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Card from 'design-system/components/Card/Card';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport CarrierIcon from 'common/icons/CarrierIcon';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport AssetLinkFormatter from 'design-system/components/InfoTable/formatters/AssetLinkFormatter/AssetLinkFormatter';\nimport AssetLabelFormatter from 'design-system/components/InfoTable/formatters/AssetLabelFormatter/AssetLabelFormatter';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport {\n    ApiBrokerOrderWaypointT,\n    ApiStopTypeT,\n    ApiTransportationOrderFullT,\n    ApiTourAttachedPaperTypeT,\n    PartnerTypeEnum,\n    StopTypeEnum,\n} from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport DriverIcon from 'common/icons/DriverIcon';\nimport TeamDrive2Icon from 'common/icons/TeamDrive2Icon';\nimport DocIcon from 'common/icons/DocIcon';\nimport TeamDrivePill from 'common/components/status-pill/TeamDrivePill/TeamDrivePill';\nimport TourStatusPill from 'common/components/status-pill/TourStatusPill/TourStatusPill';\nimport RadarIcon from 'common/icons/RadarIcon';\nimport WarningTextFormatter from 'design-system/components/InfoTable/formatters/WarningTextFormatter/WarningTextFormatter';\nimport { checkIsInDateRange, formatDate, formatTimeInterval } from 'common/utils/time';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport LocationLabel, { LocationLabelAddressFormatT } from 'common/components/LocationLabel/LocationLabel';\nimport SimpleDriverFormatter from 'design-system/components/InfoTable/formatters/SimpleDriverFormatter/SimpleDriverFormatter';\nimport CancelSpotRequestFooter from 'broker-admin/components/status-machine/footers/ChangeTourStatusFooter/CancelSpotRequestFooter/CancelSpotRequestFooter';\nimport StartAssignmentFooter from 'broker-admin/components/status-machine/footers/ChangeTourStatusFooter/StartAssignmentFooter/StartAssignmentFooter';\nimport StartEditTimeWindowsFooter from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/TourDetailsCard/footers/StartEditTimeWindowsFooter/StartEditTimeWindowsFooter';\nimport AsyncSpotRequestDetailsLinkFormatter from 'broker-admin/components/InfoTable/formatters/AsyncSpotRequestDetailsLinkFormatter/AsyncSpotRequestDetailsLinkFormatter';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport AsyncSpotRequestDetailsStatusFormatter from 'broker-admin/components/InfoTable/formatters/AsyncSpotRequestDetailsStatusFormatter/AsyncSpotRequestDetailsStatusFormatter';\nimport DriverWrongCheckPointPill from 'common/components/pills/DriverWrongCheckPointPill/DriverWrongCheckPointPill';\nimport TrailerPickUpIcon from 'common/icons/TrailerPickUpIcon';\nimport LinkDropOffIcon from 'common/icons/LinkDropOffIcon';\nimport TruckPickUpIcon from 'common/icons/TruckPickUpIcon';\nimport TruckDropOffIcon from 'common/icons/TruckDropOffIcon';\nimport TrailerDropOffIcon from 'common/icons/TrailerDropOffIcon';\nimport { TFunction } from 'i18next';\nimport LinkPickUpIcon from 'common/icons/LinkPickUpIcon';\nimport { findTourActualTransportOrders } from 'broker-admin/store/broker-order-details/utils/find-actual-transport-order';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport AttentionTextFormatter from 'design-system/components/InfoTable/formatters/AttentionTextFormatter/AttentionTextFormatter';\nimport ChangeTourStatusFooter from 'broker-admin/components/status-machine/footers/ChangeTourStatusFooter/ChangeTourStatusFooter/ChangeTourStatusFooter';\nimport { checkBrokerAppointmentStatus } from 'common/utils/broker-appointment';\nimport { useSelector } from 'react-redux';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport BoatIcon from 'common/icons/BoatIcon';\nimport DetailsOrPapersTabs from 'common/components/entity-details/DetailsOrPapersTabs/DetailsOrPapersTabs';\nimport { TourPapersTabContent } from 'common/components/entity-details/TourPapersTabContent/TourPapersTabContent';\nimport { TourPaperAttachPapersDropdownControl } from 'common/components/papers/TourPaperAttachPapersDropdownControl/TourPaperAttachPapersDropdownControl';\nimport { selectTourChangesById } from 'common/store/papers-edit/selectors';\nimport { useRenderPapersTabCount } from 'common/components/papers/hooks/use-render-papers-tab-count';\nimport { hideLoaderStatusSet } from 'broker-admin/components/status-machine/footers/ChangeTourStatusFooter/constants';\n\nexport type PropsT = {\n    tourNumber: number;\n    tour: BrokerOrderDetailsT['tours'][number] | null;\n    transportationOrders: Array<ApiTransportationOrderFullT> | null;\n    className?: string;\n    onStartAssignment: (tourId: TourIdT) => void;\n    onStartSendToSpot: (tourId: TourIdT) => void;\n    onStartEditTimeWindows: (tourId: TourIdT) => void;\n    isDisableAnyActions: boolean;\n    keyboardShortcut?: string;\n    onManageShipment: (shipmentId: ShipmentIdT) => void;\n    onAttachTourPaper: (tourId: TourIdT, paperType: ApiTourAttachedPaperTypeT, comment?: string) => void;\n    getTourPaperThumbnailUrl: (tourId: TourIdT | null, paperId: PaperIdT | null) => string | null;\n    onOpenGalleryTourPaper: (tourId: TourIdT, paperId: PaperIdT) => void;\n    onDownloadTourPaper: (tourId: TourIdT, paperId: PaperIdT) => void;\n    onDeleteTourPaper: (tourId: TourIdT, paperId: PaperIdT) => void;\n    onOpenUserDetails: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst detailedWaypointStopTypeSet = new Set<ApiStopTypeT>([StopTypeEnum.pickupDeliveryShipment]);\n\nconst renderWaypointName = (t: TFunction, waypoint: ApiBrokerOrderWaypointT | null | undefined) => {\n    if (!waypoint) {\n        return null;\n    }\n\n    switch (waypoint.type) {\n        case StopTypeEnum.pickupTrailer: {\n            return t('common:waypoint-details.by-type.hook-trailer');\n        }\n        case StopTypeEnum.pickupTruck: {\n            return t('common:waypoint-details.by-type.initial-truck');\n        }\n        case StopTypeEnum.pickupRoadTrain: {\n            return t('common:waypoint-details.by-type.initial-truck-and-trailer');\n        }\n        case StopTypeEnum.dropTrailer: {\n            return t('common:waypoint-details.by-type.drop-trailer');\n        }\n        case StopTypeEnum.dropTruck: {\n            return t('common:waypoint-details.by-type.drop-truck');\n        }\n        case StopTypeEnum.dropRoadTrain: {\n            return t('common:waypoint-details.by-type.drop-truck-and-trailer');\n        }\n        case StopTypeEnum.ferryOnboard: {\n            return t('common:waypoint-details.columns.ferry-onboard');\n        }\n        case StopTypeEnum.ferryDisembark: {\n            return t('common:waypoint-details.columns.ferry-disembark');\n        }\n        case StopTypeEnum.driveThrough: {\n            return t('common:waypoint-details.by-type.drive-through', {\n                number: (waypoint?.index || 0) + 1,\n            });\n        }\n        case StopTypeEnum.dropAndHook:\n        case StopTypeEnum.pickupDeliveryShipment:\n        default: {\n            return t('common:waypoint-details.by-type.pickup-delivery', {\n                number: (waypoint?.index || 0) + 1,\n            });\n        }\n    }\n};\n\nconst renderWaypointStopIcon = (waypoint: ApiBrokerOrderWaypointT | null | undefined) => {\n    if (!waypoint) {\n        return null;\n    }\n\n    switch (waypoint.type) {\n        case StopTypeEnum.pickupTrailer: {\n            return (\n                <TrailerPickUpIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.pickupTruck: {\n            return (\n                <TruckPickUpIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.pickupRoadTrain: {\n            return <LinkPickUpIcon strokeColor={StyleGuideColorsEnum.gray} />;\n        }\n        case StopTypeEnum.dropTrailer: {\n            return (\n                <TrailerDropOffIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.dropTruck: {\n            return (\n                <TruckDropOffIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.dropRoadTrain: {\n            return <LinkDropOffIcon strokeColor={StyleGuideColorsEnum.gray} />;\n        }\n        case StopTypeEnum.ferryOnboard:\n        case StopTypeEnum.ferryDisembark: {\n            return (\n                <BoatIcon\n                    size={DEFAULT_ICON_SIZE}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                    fillColor={StyleGuideColorsEnum.light}\n                />\n            );\n        }\n        case StopTypeEnum.driveThrough: {\n            return <NumberIcon number={(waypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.gray} />;\n        }\n        case StopTypeEnum.dropAndHook: {\n            return <NumberIcon number={(waypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.gray} />;\n        }\n        case StopTypeEnum.pickupDeliveryShipment:\n        default: {\n            return <NumberIcon number={(waypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />;\n        }\n    }\n};\n\nconst renderWaypointLocationAddressFormat = (\n    waypoint: ApiBrokerOrderWaypointT | null | undefined,\n): LocationLabelAddressFormatT => {\n    if (!waypoint) {\n        return 's1_s2_zip_city_country';\n    }\n\n    switch (waypoint.type) {\n        case StopTypeEnum.pickupTrailer:\n        case StopTypeEnum.pickupTruck:\n        case StopTypeEnum.pickupRoadTrain: {\n            return 'pickup_asset_s1_s2_zip_city_country';\n        }\n        case StopTypeEnum.dropTrailer:\n        case StopTypeEnum.dropTruck:\n        case StopTypeEnum.dropRoadTrain: {\n            return 'dropoff_asset_s1_s2_zip_city_country';\n        }\n        default: {\n            return 's1_s2_zip_city_country';\n        }\n    }\n};\n\nconst TourDetailsCard: React.FC<PropsT> = React.memo((props) => {\n    const {\n        tourNumber,\n        tour,\n        transportationOrders,\n        className,\n        onStartAssignment,\n        onStartEditTimeWindows,\n        onStartSendToSpot,\n        isDisableAnyActions,\n        keyboardShortcut,\n        onManageShipment,\n        onAttachTourPaper,\n        getTourPaperThumbnailUrl,\n        onOpenGalleryTourPaper,\n        onDownloadTourPaper,\n        onDeleteTourPaper,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const permissions = useSelector(selectPermissions);\n\n    const tourId = tour?.id || null;\n    const tourChanges = useSelector(selectTourChangesById(tourId));\n\n    const { truckTransportOrder, trailerTransportOrder, carrierTransportOrder } = findTourActualTransportOrders(\n        transportationOrders,\n        tourId,\n    );\n\n    const truck = truckTransportOrder?.truck || null;\n    const trailer = trailerTransportOrder?.trailer || null;\n    const carrier = carrierTransportOrder?.carrier || null;\n    const waypoints = tour?.waypoints || [];\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const handleOpenTrailerDetails = () => {\n        if (!trailer?.id || !carrier?.id) {\n            logWarning('failed to open trailer details, empty firstTrailer');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.trailerDetails,\n                trailerId: trailer.id,\n                partnerId: carrier.id,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const handleOpenSpotRequestDetails = (spotRequestId: SpotRequestIdT | null) => {\n        if (!spotRequestId) {\n            logWarning('failed to open spot details, empty spotRequestId');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: BrokerSidebarsTypeEnum.spotRequestDetails,\n                id: spotRequestId,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const handleOpenTruckDetails = () => {\n        if (!truck?.id || !carrier?.id) {\n            logWarning('failed to open trailer details, empty firstTruck');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.truckDetails,\n                truckId: truck.id,\n                partnerId: carrier.id,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const idDetailRows: Array<InfoTableRowT> = [\n        {\n            icon: null,\n            name: t('broker-order-details.tour-details.columns.tour-number'),\n            value: tour?.number,\n            emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n            isBoldValue: true,\n        },\n    ];\n\n    const spotDetails: Array<InfoTableRowT | null> = [\n        tour?.spotId\n            ? {\n                  icon: <RadarIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.slate} />,\n                  name: t('broker-order-details.tour-details.columns.spot-request'),\n                  value: (\n                      <AsyncSpotRequestDetailsLinkFormatter\n                          spotRequestId={tour?.spotId || null}\n                          onOpenSpotRequestDetails={handleOpenSpotRequestDetails}\n                      />\n                  ),\n                  rightNode: <AsyncSpotRequestDetailsStatusFormatter spotRequestId={tour?.spotId || null} />,\n                  emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n                  isBoldValue: true,\n              }\n            : null,\n    ];\n\n    const brokerWindowAppointmentWarning = (\n        <Tooltip\n            position={TooltipPositionEnum.topLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                    {t('broker-orders.details.broke-window-appointment-warning')}\n                </TooltipContent>\n            }\n        >\n            {(isShow, childrenClassName) => (\n                <TimeWindowIcon\n                    className={childrenClassName}\n                    fillColor={StyleGuideColorsEnum.transparent}\n                    strokeColor={StyleGuideColorsEnum.orange}\n                />\n            )}\n        </Tooltip>\n    );\n\n    const getWaypointDetailRows = (waypoint: ApiBrokerOrderWaypointT): Array<InfoTableRowT | null> => {\n        const driverRows: Array<InfoTableRowT> = [\n            {\n                icon: null,\n                name: t('common:waypoint-details.columns.driver-arriver-at'),\n                value: waypoint?.driverArrivedTimeStamp ? (\n                    <WarningTextFormatter\n                        isActive={checkIsInDateRange(\n                            waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                            waypoint?.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n                            waypoint?.driverArrivedTimeStamp,\n                        )}\n                    >\n                        {formatDate('DD MMM YYYY, HH:mm', waypoint?.driverArrivedTimeStamp)}\n                    </WarningTextFormatter>\n                ) : null,\n                emptyValue: t('common:info-table.placeholders.driver-not-arrived'),\n                isBoldValue: true,\n                testSelector: 'contact-company-name',\n                hasBottomBorder: true,\n                rightNode: waypoint?.driverArrivedFalse ? <DriverWrongCheckPointPill /> : null,\n            },\n            {\n                icon: null,\n                name: t('common:waypoint-details.columns.driver-left-at'),\n                value: waypoint?.driverLeftTimeStamp ? (\n                    <WarningTextFormatter\n                        isActive={checkIsInDateRange(\n                            waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                            waypoint?.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n                            waypoint?.driverLeftTimeStamp,\n                        )}\n                    >\n                        {formatDate('DD MMM YYYY, HH:mm', waypoint?.driverLeftTimeStamp)}\n                    </WarningTextFormatter>\n                ) : null,\n                emptyValue: waypoint?.driverArrivedTimeStamp\n                    ? t('common:info-table.placeholders.driver-not-leave')\n                    : t('common:info-table.placeholders.driver-not-arrived'),\n                isBoldValue: true,\n                testSelector: 'contact-company-name',\n                rightNode: waypoint?.driverLeftFalse ? <DriverWrongCheckPointPill /> : null,\n            },\n        ];\n\n        const isDetailedWaypoint = detailedWaypointStopTypeSet.has(waypoint?.type);\n        if (!isDetailedWaypoint) {\n            return [\n                {\n                    icon: renderWaypointStopIcon(waypoint),\n                    name: renderWaypointName(t, waypoint),\n                    value: (\n                        <LocationLabel\n                            format={renderWaypointLocationAddressFormat(waypoint)}\n                            location={waypoint?.address}\n                        />\n                    ),\n                    emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n                    isBoldValue: true,\n                    rows: [\n                        {\n                            icon: null,\n                            name: t('common:waypoint-details.columns.time-slot'),\n                            value: formatTimeInterval(\n                                waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                                waypoint?.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n                            ),\n                            emptyValue: t('common:info-table.placeholders.not-specified'),\n                            isBoldValue: true,\n                            hasBottomBorder: true,\n                        },\n                        ...driverRows,\n                    ],\n                },\n            ];\n        }\n\n        const brokerAppointmentStatus = checkBrokerAppointmentStatus({\n            shouldBrokerWindowAppointment: waypoint?.appointmentByBroker,\n            originalDateTimeFrom: waypoint?.originalDateTimeFrom,\n            originalDateTimeTo: waypoint?.originalDateTimeTo,\n            correctedDateTimeFrom: waypoint?.correctedDateTimeFrom,\n            correctedDateTimeTo: waypoint?.correctedDateTimeTo,\n        });\n\n        return [\n            {\n                icon: renderWaypointStopIcon(waypoint),\n                name: renderWaypointName(t, waypoint),\n                value: (\n                    <LocationLabel\n                        format={renderWaypointLocationAddressFormat(waypoint)}\n                        location={waypoint?.address}\n                    />\n                ),\n                emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n                isBoldValue: true,\n                rows: [\n                    ...(brokerAppointmentStatus.shouldShowCorrectedDateTime\n                        ? [\n                              {\n                                  icon: null,\n                                  name: t('common:waypoint-details.columns.original-time-slot'),\n                                  value: formatTimeInterval(\n                                      waypoint?.originalDateTimeFrom,\n                                      waypoint?.originalDateTimeTo,\n                                  ),\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  hasBottomBorder: true,\n                              },\n                              {\n                                  icon: brokerAppointmentStatus.shouldBrokerWindowAppointment\n                                      ? brokerWindowAppointmentWarning\n                                      : null,\n                                  name: (\n                                      <AttentionTextFormatter\n                                          isActive={brokerAppointmentStatus.shouldBrokerWindowAppointment}\n                                      >\n                                          {t('common:waypoint-details.columns.corrected-time-slot')}\n                                      </AttentionTextFormatter>\n                                  ),\n                                  value: (\n                                      <AttentionTextFormatter\n                                          isActive={brokerAppointmentStatus.shouldBrokerWindowAppointment}\n                                      >\n                                          {formatTimeInterval(\n                                              waypoint?.correctedDateTimeFrom,\n                                              waypoint?.correctedDateTimeTo,\n                                          )}\n                                      </AttentionTextFormatter>\n                                  ),\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  hasBottomBorder: true,\n                              },\n                          ]\n                        : [\n                              {\n                                  icon: brokerAppointmentStatus.shouldBrokerWindowAppointment\n                                      ? brokerWindowAppointmentWarning\n                                      : null,\n                                  name: (\n                                      <AttentionTextFormatter\n                                          isActive={brokerAppointmentStatus.shouldBrokerWindowAppointment}\n                                      >\n                                          {t('common:waypoint-details.columns.time-slot')}\n                                      </AttentionTextFormatter>\n                                  ),\n                                  value: (\n                                      <AttentionTextFormatter\n                                          isActive={brokerAppointmentStatus.shouldBrokerWindowAppointment}\n                                      >\n                                          {formatTimeInterval(\n                                              waypoint?.correctedDateTimeFrom || waypoint?.originalDateTimeFrom,\n                                              waypoint?.correctedDateTimeTo || waypoint?.originalDateTimeTo,\n                                          )}\n                                      </AttentionTextFormatter>\n                                  ),\n                                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                                  isBoldValue: true,\n                                  hasBottomBorder: true,\n                              },\n                          ]),\n                    ...driverRows,\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.company-name'),\n                        value: waypoint?.contact?.companyName,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        testSelector: 'contact-company-name',\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.contact-name'),\n                        value: waypoint?.contact?.fullName,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.contact-phone'),\n                        value: waypoint?.contact?.phone,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.contact-email'),\n                        value: waypoint?.contact?.email,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:waypoint-details.columns.comments'),\n                        value: waypoint?.contact?.comment,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                    },\n                ],\n            },\n        ];\n    };\n\n    const teamDrivers = useMemo(() => {\n        const shouldShowTeamDrivers = !!tour?.teamDrive;\n        if (!shouldShowTeamDrivers) {\n            return [];\n        }\n\n        const drivers = carrierTransportOrder?.drivers?.slice(1) || [];\n        return drivers?.length ? drivers : [null];\n    }, [tour, carrierTransportOrder?.drivers]);\n\n    const carrierDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: <CarrierIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('broker-order-details.tour-details.columns.carrier'),\n            value: carrier?.id ? (\n                <Link\n                    to={urlFactory.partnerDetails(PartnerTypeEnum.carrier, carrier.id)}\n                    className={cx('link')}\n                    theme={LinkThemeEnum.boldBrandDark}\n                >\n                    {carrier?.name}\n                </Link>\n            ) : null,\n            emptyValue: t('common:info-table.placeholders.carrier-not-assigned'),\n            isBoldValue: true,\n            rows: [\n                {\n                    icon: (\n                        <TruckIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.gray}\n                            fillColor={StyleGuideColorsEnum.light}\n                        />\n                    ),\n                    name: t('broker-order-details.tour-details.columns.truck'),\n                    value: truck ? (\n                        <AssetLinkFormatter assetId={truck?.id} onOpenAssetDetails={handleOpenTruckDetails}>\n                            <AssetLabelFormatter model={truck?.dictTruckInfo?.model} plateNumber={truck?.plateNumber} />\n                        </AssetLinkFormatter>\n                    ) : null,\n                    emptyValue: t('common:info-table.placeholders.truck-not-assigned'),\n                    isBoldValue: true,\n                },\n                {\n                    icon: (\n                        <TrailerIcon\n                            size={DEFAULT_ICON_SIZE}\n                            strokeColor={StyleGuideColorsEnum.gray}\n                            fillColor={StyleGuideColorsEnum.light}\n                        />\n                    ),\n                    name: t('broker-order-details.tour-details.columns.trailer'),\n                    value: trailer ? (\n                        <AssetLinkFormatter assetId={trailer?.id} onOpenAssetDetails={handleOpenTrailerDetails}>\n                            <AssetLabelFormatter\n                                model={trailer?.dictTrailerInfo?.model}\n                                plateNumber={trailer?.plateNumber}\n                            />\n                        </AssetLinkFormatter>\n                    ) : null,\n                    emptyValue: t('common:info-table.placeholders.trailer-not-assigned'),\n                    isBoldValue: true,\n                },\n                {\n                    icon: <DriverIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.gray} />,\n                    name: t('broker-order-details.tour-details.columns.driver'),\n                    value: carrierTransportOrder?.drivers?.[0] ? (\n                        <SimpleDriverFormatter driver={carrierTransportOrder?.drivers?.[0]} />\n                    ) : null,\n                    emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n                    isBoldValue: true,\n                },\n                ...teamDrivers.map((driver) => {\n                    return {\n                        icon: <TeamDrive2Icon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n                        name: t('broker-order-details.tour-details.columns.team-driver'),\n                        value: driver ? <SimpleDriverFormatter driver={driver} /> : null,\n                        emptyValue: t('common:info-table.placeholders.driver-not-assigned'),\n                        isBoldValue: true,\n                    };\n                }),\n                {\n                    icon: <DocIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                    name: t('broker-order-details.tour-details.columns.transport-order'),\n                    value: carrierTransportOrder?.number,\n                    emptyValue: t('common:info-table.placeholders.not-created'),\n                    isBoldValue: true,\n                },\n            ],\n        },\n    ];\n\n    const getCardFooterNode = (): React.ReactNode => {\n        const waypoints = tour?.waypoints || [];\n\n        const isNeedAppointmentTimeWindow = waypoints?.some((waypoint) => {\n            return waypoint.appointmentByBroker;\n        });\n\n        const assignAssetsUnavailableReason = tour?.assignAssetsUnavailableReason;\n\n        const sendToSpotUnavailableReason = tour?.sendToSpotUnavailableReason;\n\n        const isNeedAssignment =\n            !isNeedAppointmentTimeWindow && (!assignAssetsUnavailableReason || !sendToSpotUnavailableReason);\n\n        const hasSpotRequests = !!tour?.spotId;\n\n        if (isNeedAssignment && hasSpotRequests) {\n            return <CancelSpotRequestFooter tour={tour} isDisableAnyActions={isDisableAnyActions} />;\n        }\n\n        if (isNeedAssignment && !hasSpotRequests) {\n            return (\n                <StartAssignmentFooter\n                    tour={tour}\n                    canAssignTour={permissions.canAssignmentBrokerOrder}\n                    assignAssetsUnavailableReason={assignAssetsUnavailableReason || null}\n                    onStartAssignment={() => {\n                        if (tourId) {\n                            onStartAssignment(tourId);\n                        } else {\n                            logWarning('Empty tour id!');\n                        }\n                    }}\n                    sendToSpotUnavailableReason={sendToSpotUnavailableReason || null}\n                    onStartSendToSpot={() => {\n                        if (tourId) {\n                            onStartSendToSpot(tourId);\n                        } else {\n                            logWarning('Empty tour id!');\n                        }\n                    }}\n                    isDisableAnyActions={isDisableAnyActions}\n                />\n            );\n        }\n\n        if (isNeedAppointmentTimeWindow) {\n            return (\n                <StartEditTimeWindowsFooter\n                    tour={tour}\n                    onStartEditTimeWindows={() => {\n                        if (tourId) {\n                            onStartEditTimeWindows(tourId);\n                        } else {\n                            logWarning('Empty tour id!');\n                        }\n                    }}\n                    isDisableAnyActions={isDisableAnyActions}\n                />\n            );\n        }\n\n        if (permissions.canChangeTourStatusOnBrokerOrder) {\n            return (\n                <ChangeTourStatusFooter\n                    tourId={tourId}\n                    tour={tour}\n                    isShowLoading={!!tour && !hideLoaderStatusSet.has(tour?.calculatedStatus)}\n                    onManageShipment={onManageShipment}\n                />\n            );\n        }\n\n        return null;\n    };\n\n    const handleAttachNew = React.useCallback(\n        (paperType: ApiTourAttachedPaperTypeT) => {\n            if (!tourId) {\n                logWarning('failed to attach paper, empty tourId');\n                return;\n            }\n\n            onAttachTourPaper(tourId, paperType);\n        },\n        [tourId, onAttachTourPaper],\n    );\n\n    const papersBadge = useRenderPapersTabCount({\n        optimisticPapers: tourChanges?.optimisticPapers,\n        entityPapers: tour?.attachedPapers,\n    });\n\n    return (\n        <>\n            <Card\n                titleNode={t('broker-order-details.tour-details.title', {\n                    number: tourNumber,\n                })}\n                rightNode={\n                    <>\n                        {tour?.teamDrive && <TeamDrivePill isSymmetrical />}\n                        <TourStatusPill isSymmetrical status={tour?.calculatedStatus} />\n                    </>\n                }\n                className={className}\n                hasHeaderBottomBorder\n                footerNode={getCardFooterNode()}\n                keyboardShortcut={keyboardShortcut}\n            >\n                <div>\n                    <DetailsOrPapersTabs\n                        papersBadge={papersBadge}\n                        papersTabRightNode={<TourPaperAttachPapersDropdownControl onAttachNew={handleAttachNew} />}\n                    >\n                        <div className={cx('content')}>\n                            <InfoTable shouldRenderIcons rows={idDetailRows} className={cx('table', 'table--id')} />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={carrierDetails}\n                                className={cx('table', 'table--carrier')}\n                            />\n                            <InfoTable shouldRenderIcons rows={spotDetails} className={cx('table', 'table--spot')} />\n                            {waypoints.map((waypoint, index) => {\n                                return (\n                                    <InfoTable\n                                        key={`${index}-${waypoint.id}`}\n                                        shouldRenderIcons\n                                        rows={getWaypointDetailRows(waypoint)}\n                                        className={cx('table', 'table--waypoint')}\n                                    />\n                                );\n                            })}\n                        </div>\n                        <TourPapersTabContent\n                            attachedPapers={tour?.attachedPapers || null}\n                            tourId={tourId}\n                            onOpenUserDetails={onOpenUserDetails}\n                            getTourPaperThumbnailUrl={getTourPaperThumbnailUrl}\n                            onOpenGalleryTourPaper={onOpenGalleryTourPaper}\n                            onDownloadTourPaper={onDownloadTourPaper}\n                            onDeleteTourPaper={onDeleteTourPaper}\n                        />\n                    </DetailsOrPapersTabs>\n                </div>\n            </Card>\n        </>\n    );\n});\n\nexport default TourDetailsCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"logo\":\"Logo__logo___cP71o\",\"logo--isSmall\":\"Logo__logo--isSmall___A6rNW\",\"fadeIn\":\"Logo__fadeIn___rIg_w\",\"blinking\":\"Logo__blinking___c4fHU\"};","import * as React from 'react';\nimport { TrailerStatusEnum, ApiTrailerStatusT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiTrailerStatusT | null | undefined;\n};\n\nexport const TRAILER_STATUS_T_MAP: Record<ApiTrailerStatusT, string> = {\n    [TrailerStatusEnum.free]: 'common:trailer-status.FREE',\n    [TrailerStatusEnum.inTransit]: 'common:trailer-status.IN_TRANSIT',\n    [TrailerStatusEnum.unavailable]: 'common:trailer-status.UNAVAILABLE',\n    [TrailerStatusEnum.archived]: 'common:trailer-status.ARCHIVED',\n};\n\nconst TrailerStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(TRAILER_STATUS_T_MAP[status]);\n});\n\nexport default TrailerStatus;\n","import { ApiLocationT } from 'common/utils/api/models';\n\n// in address can be an object like `{ city: \"\", country: \"\" }`\nexport const checkIsFilledPartnerAddress = (address: ApiLocationT | null | undefined): boolean => {\n    if (!address) {\n        return false;\n    }\n\n    return Object.values(address).some((value) => Boolean(value));\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './RFQStatusPill.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport RFQSourcePill from 'common/components/pills/RFQSourcePill/RFQSourcePill';\nimport { ApiRFQBrokerSourceT, ApiRFQStatusT, RFQStatusEnum } from 'common/utils/api/models';\nimport { RFQ_STATUS_T_MAP } from 'common/components/status/RFQStatus/RFQStatus';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    status?: ApiRFQStatusT | null;\n    isImported?: boolean;\n    isSymmetrical?: boolean;\n    source?: ApiRFQBrokerSourceT | null;\n};\n\nconst PILL_THEME_BY_STATUS: Record<ApiRFQStatusT, PillLabelThemeEnum> = {\n    [RFQStatusEnum.open]: colorCodingPillLabelTheme.normal,\n    [RFQStatusEnum.expireSoon]: colorCodingPillLabelTheme.attention,\n    [RFQStatusEnum.expired]: colorCodingPillLabelTheme.normal,\n    [RFQStatusEnum.completed]: colorCodingPillLabelTheme.normal,\n    [RFQStatusEnum.closed]: colorCodingPillLabelTheme.normal,\n};\n\nconst RFQStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, isSymmetrical, isImported, source } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    const theme = PILL_THEME_BY_STATUS[status] || PillLabelThemeEnum.charcoal;\n\n    return (\n        <>\n            <PillLabel\n                isNoWrap\n                isSymmetrical={isSymmetrical}\n                theme={theme}\n                testSelector=\"rfq-status\"\n                className={cx('status')}\n            >\n                {t(RFQ_STATUS_T_MAP[status])}\n            </PillLabel>\n            {source && <RFQSourcePill source={source} isSymmetrical={isSymmetrical} />}\n            {isImported && (\n                <PillLabel\n                    isNoWrap\n                    isSymmetrical={isSymmetrical}\n                    theme={PillLabelThemeEnum.charcoal}\n                    testSelector=\"rfq-imported\"\n                >\n                    {t('common:rfq-source.imported')}\n                </PillLabel>\n            )}\n        </>\n    );\n});\n\nexport default RFQStatusPill;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { RevokeShipperContractConfirmationDataT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport Textarea from 'common/components/Textarea/Textarea';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport { useFormik } from 'formik';\nimport { prepareData } from './prepare-reject-data';\nimport { logWarning } from 'common/utils/logger';\nimport classNames from 'classnames/bind';\nimport styles from './RevokeShipperContractConfirmation.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    data: RevokeShipperContractConfirmationDataT | null;\n    requestStatus: RequestStatusT;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (reason: string, data: RevokeShipperContractConfirmationDataT | null) => void;\n};\n\nconst TEST_SELECTOR = 'revoke-shipper-contract-confirmation';\n\nconst RevokeShipperContractConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, requestStatus, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues();\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const preparedData = prepareData(values);\n\n            if (!data) {\n                logWarning('failed to reject document, empty data');\n                return;\n            }\n\n            onConfirm(preparedData.reason, data);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <form onSubmit={formik.handleSubmit}>\n                    <ModalDialog\n                        width={DEFAULT_MODAL_DIALOG_WIDTH}\n                        testSelector={TEST_SELECTOR}\n                        actions={[\n                            {\n                                children: t('common:error-modal.actions.keep'),\n                                theme: ButtonThemeEnum.secondary,\n                                testSelector: `${TEST_SELECTOR}_cancel`,\n                                isDisabled: requestStatus.loading,\n                                onClick: onCancel,\n                            },\n                            {\n                                children: t('common:error-modal.actions.revoke'),\n                                theme: ButtonThemeEnum.danger,\n                                isDisabled: requestStatus.loading,\n                                isLoading: requestStatus.loading,\n                                testSelector: `${TEST_SELECTOR}_ok`,\n                                type: 'submit',\n                            },\n                        ]}\n                        icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                        title={t('common:shipper-contract-details.revoke-shipper-contract-confirmation.title', {\n                            name: data.shipperContractName,\n                        })}\n                        message={t('common:shipper-contract-details.revoke-shipper-contract-confirmation.description')}\n                        body={\n                            <>\n                                <FormikField\n                                    name={FieldsEnum.reason}\n                                    error={formik.errors[FieldsEnum.reason]}\n                                    meta={formik.getFieldMeta(FieldsEnum.reason)}\n                                    label={t(\n                                        'common:shipper-contract-details.revoke-shipper-contract-confirmation.fields.reason.label',\n                                    )}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Textarea\n                                            className={cx('textarea')}\n                                            name={FieldsEnum.reason}\n                                            value={formik.values[FieldsEnum.reason]}\n                                            placeholder={t(\n                                                'common:shipper-contract-details.revoke-shipper-contract-confirmation.fields.reason.placeholder',\n                                            )}\n                                            onChange={props.onChange}\n                                            hasWarning={props.hasWarning}\n                                            hasError={props.hasError}\n                                        />\n                                    )}\n                                </FormikField>\n                            </>\n                        }\n                    />\n                </form>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default RevokeShipperContractConfirmation;\n","import * as React from 'react';\nimport styles from './WarningFilterOptionsDropdown.scss';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n    NotificationPropsT,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport DropdownMultipleInput from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport { useTranslation } from 'react-i18next';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport classNames from 'classnames/bind';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\n\nconst cx = classNames.bind(styles);\n\nexport enum SpecialValueEnum {\n    all = 'all',\n}\n\nexport type WarningFilterOptionT<Value> = {\n    id: Value;\n    label: React.ReactNode;\n    notificationProps?: NotificationPropsT | null;\n    testSelector?: string;\n};\n\nexport type PropsT<ValueT> = {\n    className?: string;\n    value: Array<ValueT | SpecialValueEnum> | null | undefined;\n    onSelect: (selectedIds: Array<ValueT>) => void;\n    options: Array<WarningFilterOptionT<ValueT> | SpecialOptionEnum>;\n    testSelector?: string;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    allLabelKey?: string;\n};\n\nconst WarningFilterOptionsDropdown = <Value extends string>(props: PropsT<Value>) => {\n    const { className, value, onSelect, options, testSelector, overlayPosition, allLabelKey } = props;\n\n    const { t } = useTranslation();\n\n    const isAllOptionsSelected = React.useMemo(() => {\n        const valueSet = new Set(value || []);\n\n        return (\n            !!options?.length &&\n            options?.every((option) => {\n                if (option === SpecialOptionEnum.separator) {\n                    return true;\n                }\n\n                return option?.id && valueSet.has(option.id);\n            })\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [value]);\n\n    const selectedOptionValues = React.useMemo((): Array<Value | SpecialValueEnum> => {\n        const result = [...(value || [])];\n\n        if (isAllOptionsSelected) {\n            result.unshift(SpecialValueEnum.all);\n        }\n\n        return result;\n    }, [value, isAllOptionsSelected]);\n\n    const allOption = React.useMemo((): WarningFilterOptionT<SpecialValueEnum> => {\n        const summaryCount = options.reduce<number>((acc, option) => {\n            if (option === SpecialOptionEnum.separator) {\n                return acc;\n            }\n\n            return acc + (option.notificationProps?.count || 0);\n        }, 0);\n\n        return {\n            id: SpecialValueEnum.all,\n            label: t(allLabelKey || 'common:table.warning-filter.all'),\n            notificationProps: summaryCount\n                ? {\n                      count: summaryCount,\n                      theme: NotificationLabelThemeEnum.red,\n                  }\n                : null,\n            testSelector: 'all',\n        };\n    }, [options, t, allLabelKey]);\n\n    const allOptions = React.useMemo((): Array<WarningFilterOptionT<Value | SpecialValueEnum> | SpecialOptionEnum> => {\n        return [allOption, ...options];\n    }, [allOption, options]);\n\n    const handleChange = React.useCallback(\n        (values: Array<Value | SpecialValueEnum>) => {\n            const isSelectedAll = values?.includes(SpecialValueEnum.all);\n            if (isSelectedAll && !isAllOptionsSelected) {\n                const newAllValues = options.reduce<Array<Value>>((acc, option) => {\n                    if (option === SpecialOptionEnum.separator) {\n                        return acc;\n                    }\n\n                    acc.push(option.id);\n\n                    return acc;\n                }, []);\n\n                onSelect(newAllValues);\n                return;\n            }\n\n            if (!isSelectedAll && isAllOptionsSelected) {\n                onSelect([]);\n                return;\n            }\n\n            const newValues = values.reduce<Array<Value>>((acc, value) => {\n                if (value === SpecialValueEnum.all) {\n                    return acc;\n                }\n\n                acc.push(value);\n\n                return acc;\n            }, []);\n            onSelect(newValues);\n        },\n        [onSelect, options, isAllOptionsSelected],\n    );\n\n    const summarySelectedNotificationProps = React.useMemo((): NotificationPropsT | null => {\n        const summaryCount = options.reduce<number>((acc, option) => {\n            if (option === SpecialOptionEnum.separator) {\n                return acc;\n            }\n\n            if (!option?.id) {\n                return acc;\n            }\n\n            return acc + (option.notificationProps?.count || 0);\n        }, 0);\n\n        if (!summaryCount) {\n            return null;\n        }\n\n        return {\n            count: summaryCount,\n            theme: NotificationLabelThemeEnum.red,\n        };\n    }, [options]);\n\n    return (\n        <DropdownMultipleInput<WarningFilterOptionT<Value | SpecialValueEnum>, Value | SpecialValueEnum>\n            className={className}\n            selectedValues={selectedOptionValues}\n            options={allOptions}\n            onSelect={handleChange}\n            renderOption={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={\n                            option.notificationProps?.count ? <NotificationLabel {...option.notificationProps} /> : null\n                        }\n                        label={option.label}\n                    />\n                );\n            }}\n            renderTrigger={(props) => {\n                let icon;\n\n                if (summarySelectedNotificationProps) {\n                    icon = <NotificationLabel {...summarySelectedNotificationProps} />;\n                }\n\n                return (\n                    <TransparentTrigger\n                        testSelector={`${testSelector}_filters`}\n                        onClick={props.onClick}\n                        isPressed={props.isPressed}\n                        label={t('common:table.warning-filter.trigger')}\n                        leftIcon={icon}\n                        rightIcon={<ArrowsIcon />}\n                        reflectionTheme={ReflectionThemeEnum.light}\n                    />\n                );\n            }}\n            overlayClassName={cx('overlay')}\n            getOptionValue={(option) => option?.id}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default WarningFilterOptionsDropdown;\n","import { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { FetchCompanyDriversPageQueryT } from 'common/store/drivers/models';\nimport { TabEnum } from './constants';\nimport { DriversSortEnum, UserStatusEnum } from 'common/utils/api/models';\nimport difference from 'lodash/difference';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\n\nconst allDriverStatuses = Object.values(UserStatusEnum);\n\nconst formatSort = (sort: PageSortT<DriversSortEnum> | null): FetchCompanyDriversPageQueryT['sortBy'] | undefined => {\n    switch (sort?.value) {\n        case DriversSortEnum.name: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'NAME_ASC';\n            }\n            return 'NAME_DESC';\n        }\n        case DriversSortEnum.surname: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'SURNAME_ASC';\n            }\n            return 'SURNAME_DESC';\n        }\n        case DriversSortEnum.createdDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'CREATED_DATE_ASC';\n            }\n            return 'CREATED_DATE_DESC';\n        }\n        default: {\n            return undefined;\n        }\n    }\n};\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    activeTab: TabEnum | null | undefined,\n    sort: PageSortT<DriversSortEnum> | null,\n): FetchCompanyDriversPageQueryT => {\n    let statuses: UserStatusEnum[] = [];\n\n    if (activeTab === TabEnum.active) {\n        statuses = difference(allDriverStatuses, [UserStatusEnum.archived]);\n    } else {\n        statuses = [UserStatusEnum.archived];\n    }\n\n    return {\n        name: queryFilters[QueryFiltersKeysEnum.searchText] || queryFilters[QueryFiltersKeysEnum.name] || undefined,\n        statuses,\n        sortBy: formatSort(sort),\n    };\n};\n\nexport { prepareFetchPageQuery };\n","import { StateT } from 'broker-admin/store/models';\nimport { BrokerOrderDetailsStateT, initialBrokerOrderDetailsState } from './slice';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const selectBrokerOrderDetails =\n    (id: BrokerOrderIdT | null | undefined) =>\n    (state: StateT): BrokerOrderDetailsStateT['details'] =>\n        state.brokerOrderDetails[id as string]?.details || initialBrokerOrderDetailsState.details;\n\nexport const selectBrokerOrderDetailsRequestStatus =\n    (id?: BrokerOrderIdT | null | undefined) =>\n    (state: StateT): RequestStatusT =>\n        state.brokerOrderDetails[id as string]?.requestStatus || initialBrokerOrderDetailsState.requestStatus;\n","import { useContext } from 'react';\nimport CommonUrlFactoryContext, { CommonUrlFactoryContextT } from 'common/contexts/common-url-factory-context';\n\nconst useCommonUrlFactoryContext = (): CommonUrlFactoryContextT => {\n    return useContext(CommonUrlFactoryContext);\n};\n\nexport default useCommonUrlFactoryContext;\n","import React from 'react';\nimport noop from 'lodash/noop';\n\ntype HighlightedEntityContextT = {\n    highlightedEntityId: EntityIdT | null;\n    setHighlightedEntityId: (id: EntityIdT | null) => void;\n};\n\nconst HighlightedEntityContext = React.createContext<HighlightedEntityContextT>({\n    highlightedEntityId: null,\n    setHighlightedEntityId: noop,\n});\n\nconst HighlightedEntityContextProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n    const [highlightedEntityId, setHighlightedEntityId] = React.useState<EntityIdT | null>(null);\n\n    const value = React.useMemo(\n        (): HighlightedEntityContextT => ({\n            highlightedEntityId,\n            setHighlightedEntityId,\n        }),\n        [highlightedEntityId],\n    );\n\n    return <HighlightedEntityContext.Provider value={value}>{children}</HighlightedEntityContext.Provider>;\n};\n\nexport { HighlightedEntityContextProvider };\nexport default HighlightedEntityContext;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './UploadFooterContent.scss';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useSelector } from 'react-redux';\nimport { selectUploadCompanyDocumentsRequest } from 'common/store/documents/selectors';\nimport { useTranslation } from 'react-i18next';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    onUploadDocument: (dictDocumentId: DictDocumentFakeIdT) => void;\n    dictDocument: DictDocumentT | null;\n    partnerId: PartnerIdT | null;\n};\n\nconst UploadFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { dictDocument, onUploadDocument, partnerId } = props;\n\n    const { t } = useTranslation();\n    const uploadRequest = useSelector(selectUploadCompanyDocumentsRequest(partnerId));\n\n    const handleUploadDocument = () => {\n        if (!dictDocument) {\n            logWarning('failed to upload document, empty dictDocument');\n            return;\n        }\n\n        onUploadDocument(dictDocument.id);\n    };\n\n    return (\n        <div className={cx('content')}>\n            <Button\n                theme={ButtonThemeEnum.primary}\n                className={cx('action')}\n                onClick={handleUploadDocument}\n                isLoading={uploadRequest.loading}\n            >\n                {t('common:documents.table.actions.upload')}\n            </Button>\n        </div>\n    );\n});\n\nexport default UploadFooterContent;\n","import React from 'react';\nimport { concatTestSelectors } from 'common/utils/test-selectors';\n\nconst useTestSelector = (...testSelectors: Array<string | null | undefined>): string => {\n    return React.useMemo(() => {\n        return concatTestSelectors(testSelectors);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [...testSelectors]);\n};\n\nexport default useTestSelector;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n    fillColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst UnavailableTrailerIcon: React.FC<PropsT> = (props) => {\n    const { size, className, fillColor, strokeColor } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width={size}\n            height={size}\n            viewBox=\"0 0 20 20\"\n            className={className}\n        >\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    fill={fillColor}\n                    d=\"M17 3v8l-1 1v2h-2l-3-2V8c0-1-1-2-2-2h-.25v-.5c0-.96-.362-1.837-.957-2.501L17 3z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M11.182 13.462c1.45 0 2.625 1.197 2.625 2.671 0 1.474-1.175 2.67-2.625 2.67a2.602 2.602 0 01-1.913-.84c.428-.112.9-.462 1.243-.876.189.138.42.22.67.22.634 0 1.152-.529 1.152-1.174A1.163 1.163 0 0011 14.978v-1.51c.06-.003.122-.006.183-.006zM3 1.75c2.07 0 3.75 1.68 3.75 3.75V7h.75C8.325 7 9 7.675 9 8.5V16c0 .825-.675 1.5-1.5 1.5h-9c-.825 0-1.5-.675-1.5-1.5V8.5c0-.825.675-1.5 1.5-1.5h.75V5.5C-.75 3.43.93 1.75 3 1.75zm14.448 13.711v.783h-2.93a2.969 2.969 0 00-.027-.783h2.957zM18 2v10.235h-.844v3.004h-2.7l-.13-.084c-.442-1.314-1.669-2.265-3.109-2.265-.073 0-.146.002-.218.007V11H16V4H8.494a5.872 5.872 0 00-1.12-2H18zm-1.585 10.234h-.41v1.662h.41v-1.662zM3 10.75c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5zm0-7.575A2.327 2.327 0 00.675 5.5V7h4.65V5.5A2.327 2.327 0 003 3.175z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nUnavailableTrailerIcon.displayName = 'UnavailableTrailerIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.light,\n    strokeColor: StyleGuideColorsEnum.slate,\n};\n\nexport { storyProps };\nexport default UnavailableTrailerIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"checkbox\":\"UserSignUpForm__checkbox___qYs4e\",\"terms\":\"UserSignUpForm__terms___PTAPQ\",\"submit\":\"UserSignUpForm__submit___O6LRC\",\"footer-links\":\"UserSignUpForm__footer-links___d9E_7\",\"footer-links__link\":\"UserSignUpForm__footer-links__link___VqyhT\",\"fadeIn\":\"UserSignUpForm__fadeIn___jDZZz\",\"blinking\":\"UserSignUpForm__blinking___XkxB6\"};","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"MapTooltipMenu__overlay___RmwXd\",\"option\":\"MapTooltipMenu__option___tlwET\",\"option--isSelected\":\"MapTooltipMenu__option--isSelected___c79ff\",\"option--isDisabled\":\"MapTooltipMenu__option--isDisabled___Z4AOh\",\"fadeIn\":\"MapTooltipMenu__fadeIn___sXhMJ\",\"blinking\":\"MapTooltipMenu__blinking___PZmpu\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TenderCalculator.scss';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport Widget from 'common/components/Widget/Widget';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport XLSIcon from 'common/icons/XLSIcon';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport FileIcon from 'common/icons/FileIcon';\nimport StartIcon from 'common/icons/StartIcon';\nimport StopIcon from 'common/icons/StopIcon';\nimport TodoListIcon from 'common/icons/TodoListIcon';\nimport DownloadIcon from 'common/icons/DownloadIcon';\nimport { formatDate, MS_IN_SEC } from 'common/utils/time';\nimport { pickFile } from 'common/utils/pick-file';\nimport useDocumentVisibilityEffect from 'common/utils/hooks/useDocumentVisibilityEffect';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\nimport {\n    downloadTenderXLSFile,\n    importTenderXLSFile,\n    fetchTenderStatus,\n    deleteTender,\n} from 'broker-admin/store/tenders/actions';\nimport {\n    selectTendersLastStatus,\n    selectTendersDownloadRequestStatus,\n    selectTendersImportRequestStatus,\n    selectTendersDeleteRequestStatus,\n    selectTendersFetchStatusRequestStatus,\n} from 'broker-admin/store/tenders/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport usePollingCallback from 'common/utils/hooks/usePollingCallback';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport WarningIcon from 'common/icons/WarningIcon';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst POLLING_INTERVAL_MS = 3 * MS_IN_SEC;\n\nconst TenderCalculator: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const lastStatus = useSelector(selectTendersLastStatus);\n    const fetchLastStatusRequestStatus = useSelector(selectTendersFetchStatusRequestStatus);\n    const downloadRequestStatus = useSelector(selectTendersDownloadRequestStatus);\n    const importRequestStatus = useSelector(selectTendersImportRequestStatus);\n    const deleteRequestStatus = useSelector(selectTendersDeleteRequestStatus);\n\n    const isJobNotFoundError =\n        fetchLastStatusRequestStatus.error &&\n        checkIsTranziitApiRequestError(fetchLastStatusRequestStatus.error) &&\n        fetchLastStatusRequestStatus.error?.subType === TranziitApiRequestErrorSubTypeEnum.tenderJobNotFound;\n\n    // check boolean value for detect processing status\n    const isSuccessCompleteTender = lastStatus && lastStatus.status === 'DONE';\n    const isFailedCompleteTender = lastStatus && lastStatus.status === 'FAILED';\n    // check boolean value for detect processing status\n    const inProgressTender = lastStatus && lastStatus.status === 'PROCESSING';\n\n    const [shouldPollTenderStatus, setShouldPollTenderStatus] = React.useState(false);\n\n    useDocumentVisibilityEffect((isVisible) => {\n        setShouldPollTenderStatus(isVisible);\n    });\n\n    useOnlyChangesEffect(() => {\n        setShouldPollTenderStatus(!isSuccessCompleteTender && !isFailedCompleteTender && !isJobNotFoundError);\n    }, [isSuccessCompleteTender, isFailedCompleteTender, isJobNotFoundError]);\n\n    const handlePollTenderStatus = React.useCallback(() => {\n        dispatch(fetchTenderStatus({}));\n    }, [dispatch]);\n\n    usePollingCallback({\n        callback: handlePollTenderStatus,\n        intervalMs: POLLING_INTERVAL_MS,\n        isEnabled: shouldPollTenderStatus,\n    });\n\n    React.useEffect(() => {\n        dispatch(fetchTenderStatus({}));\n    }, [dispatch]);\n\n    const isAvailableResetPickedXLSFileRef = React.useRef<boolean>(false);\n    const [pickedXLSFile, setPickedXLSFile] = React.useState<File | null>(null);\n\n    React.useEffect(() => {\n        if (!isAvailableResetPickedXLSFileRef.current) {\n            return;\n        }\n\n        isAvailableResetPickedXLSFileRef.current = false;\n        setPickedXLSFile(null);\n    }, [lastStatus?.status]);\n\n    const handlePickXLSFile = React.useCallback(() => {\n        pickFile(\n            '.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel',\n            (file) => {\n                setPickedXLSFile(file);\n            },\n        );\n    }, []);\n\n    const handleClearPickedXLSFile = React.useCallback(() => {\n        setPickedXLSFile(null);\n    }, []);\n\n    const handleDownloadTenderXLSFile = React.useCallback(() => {\n        dispatch(downloadTenderXLSFile({}));\n    }, [dispatch]);\n\n    const handleStartCalculation = React.useCallback(() => {\n        if (!pickedXLSFile) {\n            logWarning('Failed to start calculation: no file picked');\n            return;\n        }\n\n        dispatch(importTenderXLSFile({ file: pickedXLSFile }));\n        isAvailableResetPickedXLSFileRef.current = true;\n    }, [dispatch, pickedXLSFile]);\n\n    const handleStopCalculation = React.useCallback(() => {\n        dispatch(deleteTender({}));\n    }, [dispatch]);\n\n    let actionNode: React.ReactNode;\n    let statusNode: React.ReactNode;\n\n    if (pickedXLSFile) {\n        actionNode = (\n            <Button\n                theme={ButtonThemeEnum.primary}\n                type=\"button\"\n                onClick={handleStartCalculation}\n                leftIcon={<StartIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />}\n                isFullWidth\n                isLoading={importRequestStatus.loading}\n                isDisabled={importRequestStatus.loading}\n            >\n                {t('tender-calculator.actions.start-calculation')}\n            </Button>\n        );\n\n        statusNode = (\n            <Alert\n                icon={<FileIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />}\n                size={AlertSizeEnum.small}\n                theme={AlertThemeEnum.slate}\n                className={cx('alert')}\n                onClose={handleClearPickedXLSFile}\n            >\n                <div className={cx('alert__inner-limited-text')}>{pickedXLSFile.name}</div>\n            </Alert>\n        );\n    } else if (lastStatus && inProgressTender) {\n        actionNode = (\n            <Button\n                theme={ButtonThemeEnum.danger}\n                type=\"button\"\n                onClick={handleStopCalculation}\n                leftIcon={<StopIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />}\n                isFullWidth\n                isLoading={deleteRequestStatus.loading}\n                isDisabled={deleteRequestStatus.loading}\n            >\n                {t('tender-calculator.actions.stop-calculation')}\n            </Button>\n        );\n\n        const calculated = lastStatus?.doneRowsCount || 0;\n        const total = lastStatus?.totalRowsCount || 0;\n        const progress = total > 0 ? Math.round((calculated / total) * 100) : 0;\n\n        statusNode = (\n            <Alert.Container>\n                <Alert\n                    icon={<TodoListIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />}\n                    size={AlertSizeEnum.small}\n                    theme={AlertThemeEnum.slate}\n                    className={cx('alert')}\n                >\n                    {t('tender-calculator.messages.in-progress', { calculated, total })}\n                </Alert>\n                <Alert.ProgressBar isShow progress={progress} />\n            </Alert.Container>\n        );\n    } else if (lastStatus && isSuccessCompleteTender) {\n        actionNode = (\n            <Button\n                theme={ButtonThemeEnum.primary}\n                type=\"button\"\n                onClick={handlePickXLSFile}\n                leftIcon={<XLSIcon fillColor={StyleGuideColorsEnum.white} />}\n                isFullWidth\n            >\n                {t('tender-calculator.actions.upload-new-xls-file')}\n            </Button>\n        );\n\n        statusNode = (\n            <Alert\n                icon={<DownloadIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />}\n                size={AlertSizeEnum.small}\n                theme={AlertThemeEnum.slate}\n                className={cx('alert')}\n                controlsNode={\n                    <div className={cx('alert__controls')}>\n                        <Button\n                            theme={ButtonThemeEnum.transparentLightAlpha}\n                            type=\"button\"\n                            onClick={handleDownloadTenderXLSFile}\n                            verticalSpaces=\"s\"\n                            textSize=\"s\"\n                            isLoading={downloadRequestStatus.loading}\n                            isDisabled={downloadRequestStatus.loading}\n                            className={cx('alert__control')}\n                        >\n                            {t('tender-calculator.actions.download')}\n                        </Button>\n                    </div>\n                }\n            >\n                <div className={cx('alert__inner-limited-text')}>\n                    {t('tender-calculator.messages.success', {\n                        fileName: lastStatus.fileName,\n                        count: lastStatus.doneRowsCount,\n                        date: formatDate('DD MMM YYYY', lastStatus.timestamp),\n                    })}\n                </div>\n            </Alert>\n        );\n    } else if (lastStatus && isFailedCompleteTender) {\n        actionNode = (\n            <Button\n                theme={ButtonThemeEnum.primary}\n                type=\"button\"\n                onClick={handlePickXLSFile}\n                leftIcon={<XLSIcon fillColor={StyleGuideColorsEnum.white} />}\n                isFullWidth\n            >\n                {t('tender-calculator.actions.upload-new-xls-file')}\n            </Button>\n        );\n\n        statusNode = (\n            <Alert\n                icon={<WarningIcon fillColor={StyleGuideColorsEnum.white} />}\n                size={AlertSizeEnum.small}\n                theme={AlertThemeEnum.tomatoRed}\n                className={cx('alert')}\n            >\n                {t('tender-calculator.messages.failed')}\n            </Alert>\n        );\n    } else {\n        actionNode = (\n            <Button\n                theme={ButtonThemeEnum.primary}\n                type=\"button\"\n                onClick={handlePickXLSFile}\n                leftIcon={<XLSIcon fillColor={StyleGuideColorsEnum.white} />}\n                isFullWidth\n            >\n                {t('tender-calculator.actions.upload-xls-file')}\n            </Button>\n        );\n\n        statusNode = (\n            <Alert\n                icon={<InfoIcon fillColor={StyleGuideColorsEnum.light} />}\n                size={AlertSizeEnum.small}\n                theme={AlertThemeEnum.gray}\n                className={cx('alert')}\n            >\n                {t('tender-calculator.messages.guide')}\n            </Alert>\n        );\n    }\n\n    const isShowLoader = !fetchLastStatusRequestStatus?.error && !fetchLastStatusRequestStatus?.ok && !lastStatus;\n\n    return (\n        <ContentMargins className={cx('wrap')}>\n            <Widget className={cx('widget')} title={t('tender-calculator.title')}>\n                <div className={cx('widget__inner')}>\n                    {isShowLoader ? (\n                        <div className={cx('widget__loader')}>\n                            <ControlLoaderIcon fillColor={StyleGuideColorsEnum.light} size={DEFAULT_ICON_SIZE} />\n                        </div>\n                    ) : (\n                        <div className={cx('row')}>\n                            <div className={cx('row__column', 'row__column--action')}>{actionNode}</div>\n                            <div className={cx('row__column', 'row__column--status')}>{statusNode}</div>\n                        </div>\n                    )}\n                </div>\n            </Widget>\n        </ContentMargins>\n    );\n});\n\nexport default TenderCalculator;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    APPROVE_DOCUMENT_REQUEST,\n    APPROVE_EVIDENCE_OF_TAX_DOCUMENT_REQUEST,\n    ApproveDocumentActionT,\n    ApproveEvidenceOfTaxDocumentActionT,\n    DOWNLOAD_DOCUMENT_REQUEST,\n    DownloadDocumentActionT,\n    FETCH_DOCUMENTS_REQUEST,\n    FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST,\n    FetchDocumentsActionT,\n    FetchEvidenceOfTaxDetailsActionT,\n    REJECT_DOCUMENT_REQUEST,\n    RejectDocumentActionT,\n    REVOKE_DOCUMENT_REQUEST,\n    RevokeDocumentActionT,\n    UPDATE_DOCUMENT_REQUEST,\n    UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST,\n    UpdateDocumentActionT,\n    UpdateEvidenceOfTaxDetailsActionT,\n    UPLOAD_DOCUMENT_REQUEST,\n    UploadDocumentActionT,\n} from './types';\nimport {\n    downloadDocumentBegin,\n    downloadDocumentError,\n    downloadDocumentSuccess,\n    fetchDocumentsBegin,\n    fetchDocumentsError,\n    fetchDocumentsSuccess,\n    fetchEvidenceOfTaxDetails,\n    fetchEvidenceOfTaxDetailsBegin,\n    fetchEvidenceOfTaxDetailsError,\n    fetchEvidenceOfTaxDetailsSuccess,\n    updateDocumentBegin,\n    updateDocumentError,\n    updateDocumentSuccess,\n    updateEvidenceOfTaxDetailsBegin,\n    updateEvidenceOfTaxDetailsError,\n    updateEvidenceOfTaxDetailsSuccess,\n    uploadDocumentBegin,\n    uploadDocumentError,\n    uploadDocumentSuccess,\n} from './actions';\n\nimport mapValues from 'lodash/mapValues';\nimport flatten from 'lodash/flatten';\nimport values from 'lodash/values';\nimport prepareDocument from './utils/prepare-document';\nimport { DocumentIdsByTypeT, DocumentIdsT, EvidenceOfTaxDetailsT } from 'common/store/documents/models';\nimport downloadFile from 'common/utils/download-file';\nimport { ApiDocumentT, DocumentStatusEnum } from 'common/utils/api/models';\nimport { checkIsDefaultCompanyId, isNonNil } from 'common/utils';\n\nimport { logWarning } from 'common/utils/logger';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { selectDocumentsDictById } from 'common/store/documents-dict/selectors';\nimport { selectCompanyDocumentsById, selectFetchCompanyDocumentsRequest } from 'common/store/documents/selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { companyRefreshChannel } from 'common/store/company/channels';\nimport { partnerDetailsRefreshChannel } from 'broker-admin/store/partner/details/channels';\nimport { documentsRefreshChannel, partnerDocumentsRefreshChannel } from 'common/store/documents/channels';\nimport { HEADERS, parseContentDispositionFilename } from 'common/utils/download-headers';\n\nconst STATUSES_RANK: Record<DocumentStatusEnum, number> = {\n    [DocumentStatusEnum.waitingForApprove]: 6,\n    [DocumentStatusEnum.approved]: 5,\n    [DocumentStatusEnum.expired]: 4,\n    [DocumentStatusEnum.rejected]: 3,\n    [DocumentStatusEnum.revoked]: 2,\n    [DocumentStatusEnum.archived]: 1,\n};\n\nconst byStatusDesc = (documentA: ApiDocumentT, documentB: ApiDocumentT) => {\n    const aRank = documentA.status ? STATUSES_RANK[documentA.status] : 0;\n    const bRank = documentB.status ? STATUSES_RANK[documentB.status] : 0;\n    return bRank - aRank;\n};\n\nfunction* fetchDocumentsSaga(action: FetchDocumentsActionT): WrapGeneratorT<void> {\n    const { companyId, options } = action;\n\n    const requestStatus: ReReturnT<typeof selectFetchCompanyDocumentsRequest> = yield select(\n        selectFetchCompanyDocumentsRequest(companyId),\n    );\n    if (!checkNeedRequest(requestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchDocumentsBegin(companyId));\n\n    let response: ReturnApiT<typeof commonTranziitApi.fetchDocuments | typeof brokerTranziitApi.fetchDocuments>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield commonTranziitApi.fetchDocuments();\n    } else {\n        response = yield brokerTranziitApi.fetchDocuments(companyId);\n    }\n    const [error, documentsByType] = response;\n\n    if (error) {\n        yield put(fetchDocumentsError(error, companyId));\n        return;\n    }\n\n    const documentIdsByType = mapValues(documentsByType, (documents): DocumentIdsT => {\n        return documents\n            .sort(byStatusDesc)\n            .map((document) => document.id)\n            .filter(isNonNil);\n    }) as DocumentIdsByTypeT;\n\n    const documents = flatten(values(documentsByType));\n    const preparedDocuments = documents.map(prepareDocument).filter(isNonNil);\n\n    yield put(fetchDocumentsSuccess(documentIdsByType, preparedDocuments, companyId));\n}\n\nfunction* uploadDocumentSaga(action: UploadDocumentActionT): WrapGeneratorT<void> {\n    const { partnerType, companyId, dictDocumentId, file } = action;\n\n    const documentsDictById: ReReturnT<typeof selectDocumentsDictById> = yield select(\n        selectDocumentsDictById(partnerType),\n    );\n    const dictDocument = documentsDictById[dictDocumentId as DictDocumentFakeIdT];\n    if (!dictDocument) {\n        logWarning(`failed to upload document, empty dictDocument! id: ${dictDocumentId} partner type: ${partnerType}`);\n        return;\n    }\n\n    yield put(uploadDocumentBegin(companyId, dictDocument.id));\n\n    let response: ReturnApiT<typeof commonTranziitApi.uploadDocument | typeof brokerTranziitApi.uploadDocument>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield commonTranziitApi.uploadDocument(dictDocument.type, file);\n    } else {\n        response = yield brokerTranziitApi.uploadDocument(dictDocument.type, file, companyId);\n    }\n    const [error] = response;\n\n    if (error) {\n        yield put(uploadDocumentError(error, companyId));\n        return;\n    }\n\n    yield put(uploadDocumentSuccess(companyId));\n\n    companyRefreshChannel.emit({});\n    documentsRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n    partnerDocumentsRefreshChannel.emit({});\n\n    yield put(\n        addAlert(\n            new CommonAnyAlert({\n                type: CommonAlertTypeEnum.documentUploaded,\n                data: {\n                    dictDocumentName: dictDocument.name,\n                },\n            }),\n        ),\n    );\n}\n\nfunction* downloadDocumentSaga(action: DownloadDocumentActionT): WrapGeneratorT<void> {\n    const { companyId, documentId } = action;\n\n    yield put(downloadDocumentBegin(companyId));\n\n    let response: ReturnApiT<typeof commonTranziitApi.fetchDocument | typeof brokerTranziitApi.fetchDocument>;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield commonTranziitApi.fetchDocument(documentId);\n    } else {\n        response = yield brokerTranziitApi.fetchDocument(documentId);\n    }\n    const [error, result, rawResponse] = response;\n\n    if (error) {\n        yield put(downloadDocumentError(error, companyId));\n        return;\n    }\n\n    if (!rawResponse) {\n        logWarning('empty rawResponse for document download', { companyId, documentId });\n    }\n\n    const contentDispositionHeader = rawResponse?.headers.get(HEADERS.CONTENT_DISPOSITION);\n    const filename = parseContentDispositionFilename(contentDispositionHeader || '');\n    if (!filename) {\n        logWarning('empty filename for document download', { companyId, documentId, contentDispositionHeader });\n    }\n\n    const fileTypeHeader = rawResponse?.headers.get(HEADERS.CONTENT_TYPE);\n    if (!fileTypeHeader) {\n        logWarning('empty file type for document download', { companyId, documentId, fileTypeHeader });\n    }\n\n    if (result && filename && fileTypeHeader) {\n        downloadFile({\n            name: filename,\n            data: result,\n            type: fileTypeHeader,\n        });\n    }\n\n    yield put(downloadDocumentSuccess(companyId));\n}\n\nfunction* approveEvidenceOfTaxDocumentSaga(action: ApproveEvidenceOfTaxDocumentActionT): WrapGeneratorT<void> {\n    const { detailsChanges, companyId, documentId, validTill, partnerType } = action;\n\n    if (!validTill) {\n        logWarning('empty validTill');\n        return;\n    }\n\n    yield put(updateEvidenceOfTaxDetailsBegin(companyId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.approvePartnerEvidenceOfTax> =\n        yield brokerTranziitApi.approvePartnerEvidenceOfTax(documentId, {\n            validTill,\n            ...detailsChanges,\n        });\n\n    if (error) {\n        yield put(updateEvidenceOfTaxDetailsError(error, companyId));\n        return;\n    }\n\n    yield put(updateEvidenceOfTaxDetailsSuccess(companyId));\n\n    companyRefreshChannel.emit({});\n    documentsRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n    partnerDocumentsRefreshChannel.emit({});\n\n    const documentsDictById: ReReturnT<typeof selectDocumentsDictById> = yield select(\n        selectDocumentsDictById(partnerType),\n    );\n    const documentsById: ReReturnT<typeof selectCompanyDocumentsById> = yield select(\n        selectCompanyDocumentsById(companyId),\n    );\n    const dictDocumentId = documentsById?.[documentId]?.dictDocumentId || null;\n    const dictDocument = documentsDictById[dictDocumentId as DictDocumentFakeIdT];\n    if (dictDocument) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.documentApproved,\n                    data: {\n                        dictDocumentName: dictDocument.name,\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* approveDocumentSaga(action: ApproveDocumentActionT): WrapGeneratorT<void> {\n    const { companyId, documentId, validTill, partnerType } = action;\n\n    if (!validTill) {\n        logWarning('empty validTill');\n        return;\n    }\n\n    yield put(updateDocumentBegin(companyId, documentId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.approvePartnerDocument> =\n        yield brokerTranziitApi.approvePartnerDocument(documentId, validTill);\n\n    if (error) {\n        yield put(updateDocumentError(error, companyId));\n        return;\n    }\n\n    yield put(updateDocumentSuccess(companyId));\n\n    companyRefreshChannel.emit({});\n    documentsRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n    partnerDocumentsRefreshChannel.emit({});\n\n    const documentsDictById: ReReturnT<typeof selectDocumentsDictById> = yield select(\n        selectDocumentsDictById(partnerType),\n    );\n    const documentsById: ReReturnT<typeof selectCompanyDocumentsById> = yield select(\n        selectCompanyDocumentsById(companyId),\n    );\n    const dictDocumentId = documentsById?.[documentId]?.dictDocumentId || null;\n    const dictDocument = documentsDictById[dictDocumentId as DictDocumentFakeIdT];\n    if (dictDocument) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.documentApproved,\n                    data: {\n                        dictDocumentName: dictDocument.name,\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* rejectDocumentSaga(action: RejectDocumentActionT): WrapGeneratorT<void> {\n    const { companyId, documentId, reason, partnerType } = action;\n\n    yield put(updateDocumentBegin(companyId, documentId));\n    const [error]: ReturnApiT<typeof brokerTranziitApi.rejectPartnerDocument> =\n        yield brokerTranziitApi.rejectPartnerDocument(documentId, reason);\n\n    if (error) {\n        yield put(updateDocumentError(error, companyId));\n        return;\n    }\n\n    yield put(updateDocumentSuccess(companyId));\n\n    companyRefreshChannel.emit({});\n    documentsRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n    partnerDocumentsRefreshChannel.emit({});\n\n    const documentsDictById: ReReturnT<typeof selectDocumentsDictById> = yield select(\n        selectDocumentsDictById(partnerType),\n    );\n    const documentsById: ReReturnT<typeof selectCompanyDocumentsById> = yield select(\n        selectCompanyDocumentsById(companyId),\n    );\n    const dictDocumentId = documentsById?.[documentId]?.dictDocumentId || null;\n    const dictDocument = documentsDictById[dictDocumentId as DictDocumentFakeIdT];\n    if (dictDocument) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.documentRejected,\n                    data: {\n                        dictDocumentName: dictDocument.name,\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* revokeDocumentSaga(action: RevokeDocumentActionT): WrapGeneratorT<void> {\n    const { companyId, documentId, partnerType } = action;\n\n    yield put(updateDocumentBegin(companyId, documentId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.revokePartnerDocument> =\n        yield brokerTranziitApi.revokePartnerDocument(documentId);\n    if (error) {\n        yield put(updateDocumentError(error, companyId));\n        return;\n    }\n\n    yield put(updateDocumentSuccess(companyId));\n\n    companyRefreshChannel.emit({});\n    documentsRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n    partnerDocumentsRefreshChannel.emit({});\n\n    const documentsDictById: ReReturnT<typeof selectDocumentsDictById> = yield select(\n        selectDocumentsDictById(partnerType),\n    );\n    const documentsById: ReReturnT<typeof selectCompanyDocumentsById> = yield select(\n        selectCompanyDocumentsById(companyId),\n    );\n    const dictDocumentId = documentsById?.[documentId]?.dictDocumentId || null;\n    const dictDocument = documentsDictById[dictDocumentId as DictDocumentFakeIdT];\n    if (dictDocument) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.documentRevoked,\n                    data: {\n                        dictDocumentName: dictDocument.name,\n                    },\n                }),\n            ),\n        );\n    }\n}\n\nfunction* updateDocumentSaga(action: UpdateDocumentActionT): WrapGeneratorT<void> {\n    const { companyId, documentId, detailChanges } = action;\n\n    yield put(updateDocumentBegin(companyId, documentId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updatePartnerDocument> =\n        yield brokerTranziitApi.updatePartnerDocument(documentId, detailChanges);\n    if (error) {\n        yield put(updateDocumentError(error, companyId));\n        return;\n    }\n\n    yield put(updateDocumentSuccess(companyId));\n\n    companyRefreshChannel.emit({});\n    documentsRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n    partnerDocumentsRefreshChannel.emit({});\n}\n\nfunction* updateEvidenceOfTaxDetailsSaga(action: UpdateEvidenceOfTaxDetailsActionT): WrapGeneratorT<void> {\n    const { documentId, companyId, detailsChanges } = action;\n\n    yield put(updateEvidenceOfTaxDetailsBegin(companyId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updateEvidenceOfTax> =\n        yield brokerTranziitApi.updateEvidenceOfTax(documentId, detailsChanges);\n\n    if (error) {\n        yield put(updateEvidenceOfTaxDetailsError(error, companyId));\n        return;\n    }\n\n    yield put(updateEvidenceOfTaxDetailsSuccess(companyId));\n\n    yield put(fetchEvidenceOfTaxDetails(companyId));\n\n    companyRefreshChannel.emit({});\n    documentsRefreshChannel.emit({});\n    partnerDetailsRefreshChannel.emit({});\n    partnerDocumentsRefreshChannel.emit({});\n}\n\nfunction* fetchEvidenceOfTaxDetailsSaga(action: FetchEvidenceOfTaxDetailsActionT): WrapGeneratorT<void> {\n    const { companyId } = action;\n\n    yield put(fetchEvidenceOfTaxDetailsBegin(companyId));\n\n    let error: Error | null = null;\n    let evidenceOfTaxDetails: EvidenceOfTaxDetailsT | null = null;\n\n    if (checkIsDefaultCompanyId(companyId)) {\n        const response: ReturnApiT<typeof commonTranziitApi.fetchCurrentCompany> =\n            yield commonTranziitApi.fetchCurrentCompany();\n\n        error = response[0] || null;\n        evidenceOfTaxDetails = response[1] || null;\n    } else {\n        const response: ReturnApiT<typeof brokerTranziitApi.fetchPartnerDetails> =\n            yield brokerTranziitApi.fetchPartnerDetails(companyId);\n        error = response[0] || null;\n\n        evidenceOfTaxDetails = response[1] || null;\n    }\n\n    if (error) {\n        yield put(fetchEvidenceOfTaxDetailsError(companyId, error));\n    }\n\n    if (evidenceOfTaxDetails) {\n        yield put(fetchEvidenceOfTaxDetailsSuccess(companyId, evidenceOfTaxDetails));\n    }\n}\n\nfunction* documentsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_DOCUMENTS_REQUEST, fetchDocumentsSaga);\n    yield takeEvery(UPLOAD_DOCUMENT_REQUEST, uploadDocumentSaga);\n    yield takeEvery(DOWNLOAD_DOCUMENT_REQUEST, downloadDocumentSaga);\n    yield takeEvery(APPROVE_DOCUMENT_REQUEST, approveDocumentSaga);\n    yield takeEvery(APPROVE_EVIDENCE_OF_TAX_DOCUMENT_REQUEST, approveEvidenceOfTaxDocumentSaga);\n    yield takeEvery(REJECT_DOCUMENT_REQUEST, rejectDocumentSaga);\n    yield takeEvery(REVOKE_DOCUMENT_REQUEST, revokeDocumentSaga);\n    yield takeEvery(UPDATE_DOCUMENT_REQUEST, updateDocumentSaga);\n    yield takeEvery(FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST, fetchEvidenceOfTaxDetailsSaga);\n    yield takeEvery(UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST, updateEvidenceOfTaxDetailsSaga);\n}\n\nexport default documentsSaga;\n","import React, { useEffect } from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { AssetTypeEnum, StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport { useFormik } from 'formik';\nimport { prepareData } from './prepare-reject-data';\nimport { logWarning } from 'common/utils/logger';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport Input from 'common/components/Input/Input';\nimport BigQuestionReversedIcon from 'common/icons/BigQuestionReversedIcon';\n\nexport type ArchiveAssetConfirmationDataT = {\n    companyId: CompanyIdT;\n    assets: Array<{\n        plateNumber: string;\n        id: AssetIdT;\n    }>;\n};\n\ntype PropsT = {\n    assetType: AssetTypeEnum;\n    data: ArchiveAssetConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: ArchiveAssetConfirmationDataT, reason: string) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'archive-assets';\n\nconst T_MAP: Record<\n    AssetTypeEnum,\n    {\n        oneAssetTitle: string;\n        manyAssetsTitle: string;\n        oneAssetMessage: string;\n        manyAssetsMessage: string;\n        reasonFieldTitle: string;\n        reasonFieldPlaceholder: string;\n    }\n> = {\n    [AssetTypeEnum.truck]: {\n        oneAssetTitle: 'common:trucks-page.archive-confirmation.one-asset-title',\n        manyAssetsTitle: 'common:trucks-page.archive-confirmation.many-assets-title',\n        oneAssetMessage: 'common:trucks-page.archive-confirmation.one-asset-message',\n        manyAssetsMessage: 'common:trucks-page.archive-confirmation.many-assets-message',\n        reasonFieldTitle: 'common:trucks-page.archive-confirmation.fields.reason.label',\n        reasonFieldPlaceholder: 'common:trucks-page.archive-confirmation.fields.reason.placeholder',\n    },\n    [AssetTypeEnum.trailer]: {\n        oneAssetTitle: 'common:trailers-page.archive-confirmation.one-asset-title',\n        manyAssetsTitle: 'common:trailers-page.archive-confirmation.many-assets-title',\n        oneAssetMessage: 'common:trailers-page.archive-confirmation.one-asset-message',\n        manyAssetsMessage: 'common:trailers-page.archive-confirmation.many-assets-message',\n        reasonFieldTitle: 'common:trailers-page.archive-confirmation.fields.reason.label',\n        reasonFieldPlaceholder: 'common:trailers-page.archive-confirmation.fields.reason.placeholder',\n    },\n};\n\nconst ArchiveAssetConfirmationModal: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm, assetType } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues();\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const preparedData = prepareData(values);\n\n            if (!data) {\n                logWarning('failed to reject contract, empty data');\n                return;\n            }\n\n            onConfirm(data, preparedData.reason);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    useEffect(() => {\n        formik.resetForm();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [data]);\n\n    if (!data) {\n        return null;\n    }\n\n    const { assets } = data;\n\n    const tSet = T_MAP[assetType];\n\n    let message = null;\n    let title = null;\n    if (assets.length === 1) {\n        message = t(tSet.oneAssetMessage, {\n            plateNumber: assets?.[0]?.plateNumber || '',\n        });\n        title = t(tSet.oneAssetTitle);\n    } else {\n        message = t(tSet.manyAssetsMessage, {\n            count: assets.length,\n        });\n        title = t(tSet.manyAssetsTitle);\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <form onSubmit={formik.handleSubmit}>\n                    <ModalDialog\n                        width={DEFAULT_MODAL_DIALOG_WIDTH}\n                        testSelector={TEST_SELECTOR}\n                        actions={[\n                            {\n                                children: t('common:error-modal.actions.cancel'),\n                                theme: ButtonThemeEnum.secondary,\n                                isDisabled: requestStatus.loading,\n                                testSelector: `${TEST_SELECTOR}_cancel`,\n                                onClick: () => {\n                                    onCancel();\n                                },\n                            },\n                            {\n                                children: t('common:error-modal.actions.archive'),\n                                theme: ButtonThemeEnum.danger,\n                                isDisabled: requestStatus.loading,\n                                isLoading: requestStatus.loading,\n                                testSelector: `${TEST_SELECTOR}_ok`,\n                                type: 'submit',\n                            },\n                        ]}\n                        icon={<BigQuestionReversedIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                        title={title}\n                        message={message}\n                        body={\n                            <>\n                                <FormikField\n                                    name={FieldsEnum.reason}\n                                    error={formik.errors[FieldsEnum.reason]}\n                                    meta={formik.getFieldMeta(FieldsEnum.reason)}\n                                    label={t(tSet.reasonFieldTitle)}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Input\n                                            name={FieldsEnum.reason}\n                                            value={formik.values[FieldsEnum.reason]}\n                                            placeholder={t(tSet.reasonFieldPlaceholder)}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasWarning={props.hasWarning}\n                                            hasError={props.hasError}\n                                        />\n                                    )}\n                                </FormikField>\n                            </>\n                        }\n                    />\n                </form>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ArchiveAssetConfirmationModal;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Switcher.scss';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\nexport enum SwitcherThemeEnum {\n    primary = 'primary',\n    danger = 'danger',\n}\n\nexport type PropsT = {\n    className?: string;\n    checked: boolean;\n    onToggle?: (value: boolean, event: React.MouseEvent<HTMLDivElement>) => void;\n    isDisabled?: boolean;\n    label?: React.ReactNode;\n    rightIcon?: React.ReactNode;\n    theme?: SwitcherThemeEnum;\n};\n\nconst Switcher: React.FC<PropsT> = React.memo((props) => {\n    const { className, checked, theme, onToggle, isDisabled, label, rightIcon } = props;\n\n    const [isHover, setHover] = React.useState<boolean>(false);\n\n    const handleChange = (event: React.MouseEvent<HTMLDivElement>) => {\n        if (isDisabled) {\n            return;\n        }\n\n        if (onToggle) {\n            onToggle(!checked, event);\n        }\n    };\n\n    const handleMouseMove = () => {\n        if (isHover) {\n            return;\n        }\n\n        setHover(true);\n    };\n\n    const handleMouseLeave = () => {\n        setHover(false);\n    };\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <div\n                className={cx('switcher', {\n                    [`switcher--theme-${theme || SwitcherThemeEnum.primary}`]: true,\n                    'switcher--isHover': isHover,\n                    'switcher--isClickable': !isDisabled,\n                    'switcher--isChecked': checked,\n                    'switcher--isDisabled': isDisabled,\n                })}\n                onMouseMove={handleMouseMove}\n                onMouseLeave={handleMouseLeave}\n                onClick={handleChange}\n            />\n            <div\n                className={cx('label', {\n                    'label--isClickable': !isDisabled,\n                    'label--isDisabled': isDisabled,\n                    'label--hasRightIcon': !!rightIcon,\n                })}\n                onMouseMove={handleMouseMove}\n                onMouseLeave={handleMouseLeave}\n                onClick={handleChange}\n            >\n                {label}\n            </div>\n            {rightIcon}\n        </div>\n    );\n});\n\nexport default Switcher;\n","import * as React from 'react';\n\nimport { useDispatch } from 'react-redux';\n\nimport { fetchUser } from 'common/store/user/actions';\n\ntype PropsT = {};\n\nconst User: React.FC<PropsT> = React.memo(() => {\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchUser());\n    }, [dispatch]);\n\n    return null;\n});\n\nexport default User;\n","// extracted by mini-css-extract-plugin\nexport default {\"divider\":\"Divider__divider___LW1px\",\"fadeIn\":\"Divider__fadeIn___QGwy9\",\"blinking\":\"Divider__blinking___zzcI6\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst MapIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity=\"0.3\"\n                    d=\"M4.75 14.732l2.25-.87V5.089l-2.25.757v8.887zm8.25.18l2.25-.757V5.268L13 6.144v8.768z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M16.375 3.25l-.12.022-4.005 1.553-4.5-1.575-4.23 1.425a.378.378 0 00-.27.36v11.34c0 .21.165.375.375.375l.12-.023 4.005-1.552 4.5 1.575 4.23-1.425a.378.378 0 00.27-.36V3.625a.371.371 0 00-.375-.375zM7 13.863l-2.25.87V5.845L7 5.088v8.774zm4.5 1.035l-3-1.05V5.101l3 1.05v8.745zm3.75-.743l-2.25.758V6.144l2.25-.87v8.88z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nMapIcon.displayName = 'MapIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default MapIcon;\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport { updateEntityStatus } from 'common/store/state-machine/slice';\nimport {\n    ApiShipmentDetailsT,\n    ApiShipmentEventTypeT,\n    ApiShipmentStatusT,\n    ShipmentStatusEnum,\n} from 'common/utils/api/models';\nimport {\n    AvailableSubjectStatusesResponseT,\n    StateMachineEntityDescriptorT,\n    TypedAvailableSubjectStatusesResponseT,\n} from 'common/store/state-machine/models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport CancelLastShipmentConfirmation, {\n    CancelLastShipmentConfirmationDataT,\n} from 'common/layouts/dialogs/CancelLastShipmentConfirmation/CancelLastShipmentConfirmation';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\n\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { useStateMachine } from 'common/utils/hooks/useStateMachine';\nimport classNames from 'classnames/bind';\n\nimport styles from './ChangeShipmentStatusFooter.scss';\nimport TimeLeftForStart from 'common/layouts/sidebar-footers/TimeLeftForStart/TimeLeftForStart';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport InfoIcon from 'common/icons/InfoIcon';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport { logWarning } from 'common/utils/logger';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport RestoreIcon from 'common/icons/RestoreIcon';\nimport { isNonNil } from 'common/utils';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { LOAD_STATUS_T_MAP } from 'common/components/status-pill/ShipmentStatusPill/ShipmentStatusPill';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    isShowLoading: boolean;\n    shipmentId: ShipmentIdT | null;\n    shipment: ApiShipmentDetailsT | null | undefined;\n    onAttachTourPapers: (tourId: TourIdT) => void;\n    tourId: TourIdT | null;\n    shouldConfirmForCancelLastShipment: boolean;\n};\n\nconst blockedI18nMap: Record<NonNullable<AvailableSubjectStatusesResponseT['description']>, string> = {\n    HAS_LOADING_UNLOADING_SHIPMENT: 'change-shipment-status.blocked.HAS_LOADING_UNLOADING_SHIPMENT',\n    NOT_FULLY_ASSIGN: 'change-shipment-status.blocked.NOT_FULLY_ASSIGN',\n    ALL_SHIPMENTS_NOT_DELIVERED: 'change-shipment-status.blocked.ALL_SHIPMENTS_NOT_DELIVERED',\n    DRIVER_NOT_ARRIVED_AT_STOP: 'change-shipment-status.blocked.DRIVER_NOT_ARRIVED_AT_STOP',\n    ATTACH_DOCUMENT: 'change-shipment-status.blocked.ATTACH_DOCUMENT',\n};\n\nconst deadlineGuideI18nMap: Record<ApiShipmentEventTypeT, string> = {\n    LOADING: 'change-shipment-status.deadline-guide.LOADING',\n    UNLOADING: 'change-shipment-status.deadline-guide.UNLOADING',\n};\n\nconst shipmentActionI18nMap: Record<ApiShipmentStatusT, string> = {\n    LOADING: 'change-shipment-status.actions.LOADING',\n    AWAITING_LOADING: 'change-shipment-status.actions.AWAITING_LOADING',\n    IN_TRANSIT: 'change-shipment-status.actions.IN_TRANSIT',\n    UNLOADING: 'change-shipment-status.actions.UNLOADING',\n    DELIVERED: 'change-shipment-status.actions.DELIVERED',\n    CANCELED: 'change-shipment-status.actions.CANCELED',\n};\n\nconst ChangeShipmentStatusFooter: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        isShowLoading,\n        shipment,\n        shipmentId,\n        onAttachTourPapers,\n        tourId,\n        shouldConfirmForCancelLastShipment,\n    } = props;\n\n    const cancelLastShipmentConfirmation = useModalDialog<CancelLastShipmentConfirmationDataT>();\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const descriptor = useMemo((): StateMachineEntityDescriptorT | null => {\n        if (!shipmentId) {\n            return null;\n        }\n\n        return {\n            entityType: 'SHIPMENT',\n            entityId: shipmentId,\n        };\n    }, [shipmentId]);\n\n    const { updateRequest } = useStateMachine<ApiShipmentStatusT>(descriptor);\n\n    useCloseModalDialogAfterRequest(updateRequest, [cancelLastShipmentConfirmation]);\n\n    const availableStatuses = (shipment?.availableStatuses ||\n        null) as TypedAvailableSubjectStatusesResponseT<ApiShipmentStatusT> | null;\n\n    const firstForwardAvailableStatus = React.useMemo(() => {\n        return (\n            availableStatuses?.forward?.find((status) => {\n                return status !== ShipmentStatusEnum.canceled;\n            }) || null\n        );\n    }, [availableStatuses]);\n\n    const forwardDescription = availableStatuses?.description || null;\n\n    const isShowCancelAction = !shipment?.cancelUnavailableReason;\n\n    const firstBackwardAvailableStatus = React.useMemo(() => {\n        return (\n            availableStatuses?.backward?.find((status) => {\n                return status !== ShipmentStatusEnum.canceled;\n            }) || null\n        );\n    }, [availableStatuses]);\n\n    const backwardDescription = availableStatuses?.backwardDescription || null;\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum | null | undefined> = [\n        firstBackwardAvailableStatus\n            ? {\n                  label: (\n                      <Tooltip\n                          position={TooltipPositionEnum.topCenter}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={\n                              backwardDescription ? (\n                                  <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                      {t(blockedI18nMap[backwardDescription])}\n                                  </TooltipContent>\n                              ) : null\n                          }\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  isDisabled={!!backwardDescription}\n                                  label={\n                                      backwardDescription\n                                          ? t('change-shipment-status.unable-undo', {\n                                                action: t(LOAD_STATUS_T_MAP[firstBackwardAvailableStatus]),\n                                            })\n                                          : t('change-shipment-status.undo', {\n                                                action: t(LOAD_STATUS_T_MAP[firstBackwardAvailableStatus]),\n                                            })\n                                  }\n                                  icon={<RestoreIcon strokeColor={StyleGuideColorsEnum.tomatoRed} />}\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  isDisabled: !!backwardDescription,\n                  onSelect: () => {\n                      if (!descriptor) {\n                          logWarning('Empty tour id or waypoint id or descriptor');\n                          return;\n                      }\n\n                      if (firstBackwardAvailableStatus && shipmentId) {\n                          dispatch(\n                              updateEntityStatus({\n                                  update: {\n                                      status: firstBackwardAvailableStatus,\n                                      entityType: 'SHIPMENT',\n                                      entityId: shipmentId,\n                                  },\n                                  descriptor,\n                              }),\n                          );\n                      }\n                  },\n              }\n            : null,\n        isShowCancelAction ? SpecialOptionEnum.separator : null,\n        isShowCancelAction\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          label={t('change-shipment-status.cancel')}\n                          icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                      />\n                  ),\n                  onSelect: () => {\n                      if (!shipmentId || !descriptor) {\n                          return;\n                      }\n\n                      const data = {\n                          update: {\n                              status: ShipmentStatusEnum.canceled,\n                              entityType: 'SHIPMENT',\n                              entityId: shipmentId,\n                          },\n                          descriptor,\n                      } as const;\n\n                      if (shouldConfirmForCancelLastShipment) {\n                          cancelLastShipmentConfirmation.setData(data);\n                      } else {\n                          dispatch(updateEntityStatus(data));\n                      }\n                  },\n              }\n            : null,\n    ].filter(isNonNil);\n\n    const isLoading = updateRequest?.loading;\n\n    const handleConfirmCancelLastShipment = (data: CancelLastShipmentConfirmationDataT) => {\n        dispatch(updateEntityStatus(data));\n    };\n\n    const handleDoCurrentFirstDoAction = () => {\n        if (firstForwardAvailableStatus && shipmentId && descriptor) {\n            dispatch(\n                updateEntityStatus({\n                    update: {\n                        entityType: 'SHIPMENT',\n                        entityId: shipmentId,\n                        status: firstForwardAvailableStatus,\n                    },\n                    descriptor,\n                }),\n            );\n            return;\n        }\n\n        logWarning('Empty action');\n    };\n\n    const renderCurrentShipmentAction = ({ isDisabled }: { isDisabled: boolean }) => {\n        if (forwardDescription === 'ATTACH_DOCUMENT' && tourId) {\n            return (\n                <Button\n                    className={cx('action', 'action--next')}\n                    theme={ButtonThemeEnum.secondaryPositive}\n                    onClick={() => {\n                        onAttachTourPapers(tourId);\n                    }}\n                    isDisabled={isDisabled}\n                    isLoading={isLoading}\n                >\n                    {t('change-shipment-status.attach-papers')}\n                </Button>\n            );\n        }\n\n        if (forwardDescription) {\n            return (\n                <Alert\n                    icon={<InfoIcon fillColor={StyleGuideColorsEnum.light} />}\n                    size={AlertSizeEnum.small}\n                    theme={AlertThemeEnum.gray}\n                    className={cx('alert')}\n                >\n                    {t(blockedI18nMap[forwardDescription])}\n                </Alert>\n            );\n        }\n\n        if (firstForwardAvailableStatus) {\n            return (\n                <Button\n                    className={cx('action', 'action--next')}\n                    theme={ButtonThemeEnum.secondaryPositive}\n                    onClick={handleDoCurrentFirstDoAction}\n                    isDisabled={isDisabled}\n                    isLoading={isLoading}\n                >\n                    {t(shipmentActionI18nMap[firstForwardAvailableStatus])}\n                </Button>\n            );\n        }\n\n        return null;\n    };\n\n    const deadline = shipment?.eventDateTime?.timeStamp;\n    const deadlineLabel = shipment?.eventDateTime?.type ? t(deadlineGuideI18nMap[shipment?.eventDateTime?.type]) : null;\n\n    const alreadyStartedLabel = t('change-shipment-status.out-of-time', {\n        toAction: deadlineLabel,\n    });\n\n    if (!isShowLoading) {\n        return null;\n    }\n\n    return (\n        <>\n            <TimeLeftForStart\n                deadline={deadline}\n                alreadyStartedLabel={alreadyStartedLabel}\n                deadlineLabel={deadlineLabel}\n                renderActions={(isDisabled) => {\n                    return (\n                        <>\n                            {renderCurrentShipmentAction({ isDisabled })}\n                            <DropdownControl\n                                className={className}\n                                options={options}\n                                isDisabled={isLoading}\n                                isShowTriggerForEmptyOptions={isLoading}\n                                renderTrigger={(isActive, onClick) => (\n                                    <TransparentTrigger\n                                        isPressed={isActive}\n                                        onClick={onClick}\n                                        leftIcon={<MoreIcon />}\n                                        reflectionTheme={ReflectionThemeEnum.light}\n                                    />\n                                )}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                            />\n                        </>\n                    );\n                }}\n            />\n            <ClickInterceptorLabel>\n                <CancelLastShipmentConfirmation\n                    requestStatus={updateRequest}\n                    data={cancelLastShipmentConfirmation.data}\n                    onClose={cancelLastShipmentConfirmation.onClose}\n                    onCancel={cancelLastShipmentConfirmation.onCancel}\n                    onConfirm={handleConfirmCancelLastShipment}\n                />\n            </ClickInterceptorLabel>\n        </>\n    );\n});\nexport default ChangeShipmentStatusFooter;\n","import { RequestStatusT } from 'common/utils/request-status';\n\nimport { FetchRatesPageQueryT, RateT } from './models';\nimport { UpdateRateStrategyEnum } from 'common/utils/api/models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_RATES_PAGE_REQUEST = 'broker-admin/price-settings/rates/FETCH_RATES_PAGE_REQUEST';\nexport const FETCH_RATES_PAGE_REQUEST_BEGIN = 'broker-admin/price-settings/rates/FETCH_RATES_PAGE_REQUEST_BEGIN';\nexport const FETCH_RATES_PAGE_REQUEST_ERROR = 'broker-admin/price-settings/rates/FETCH_RATES_PAGE_REQUEST_ERROR';\nexport const FETCH_RATES_PAGE_REQUEST_SUCCESS = 'broker-admin/price-settings/rates/FETCH_RATES_PAGE_REQUEST_SUCCESS';\nexport const RESET_RATES = 'broker-admin/price-settings/rates/RESET_RATES';\nexport const UPDATE_RATES_REQUEST = 'broker-admin/price-settings/rates/UPDATE_RATES_REQUEST';\nexport const UPDATE_RATES_REQUEST_BEGIN = 'broker-admin/price-settings/rates/UPDATE_RATES_REQUEST_BEGIN';\nexport const UPDATE_RATES_REQUEST_ERROR = 'broker-admin/price-settings/rates/UPDATE_RATES_REQUEST_ERROR';\nexport const UPDATE_RATES_REQUEST_SUCCESS = 'broker-admin/price-settings/rates/UPDATE_RATES_REQUEST_SUCCESS';\nexport const UPLOAD_CSV_FILE_REQUEST = 'broker-admin/price-settings/rates/UPLOAD_CSV_FILE_REQUEST';\nexport const UPLOAD_CSV_FILE_REQUEST_BEGIN = 'broker-admin/price-settings/rates/UPLOAD_CSV_FILE_REQUEST_BEGIN';\nexport const UPLOAD_CSV_FILE_REQUEST_FAIL = 'broker-admin/price-settings/rates/UPLOAD_CSV_FILE_REQUEST_FAIL';\nexport const UPLOAD_CSV_FILE_REQUEST_SUCCESS = 'broker-admin/price-settings/rates/UPLOAD_CSV_FILE_REQUEST_SUCCESS';\n\nexport type RatesStateT = PaginationStateT<RateT, FetchRatesPageQueryT> & {\n    updateRequest: RequestStatusT;\n    uploadCSVRequest: RequestStatusT;\n};\n\nexport type FetchRatesPageActionT = {\n    type: typeof FETCH_RATES_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchRatesPageQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchRatesPageBeginActionT = {\n    type: typeof FETCH_RATES_PAGE_REQUEST_BEGIN;\n    query: FetchRatesPageQueryT;\n    pageNumber: PageNumberT;\n};\n\nexport type FetchRatesPageSuccessActionT = {\n    type: typeof FETCH_RATES_PAGE_REQUEST_SUCCESS;\n    pageNumber: PageNumberT;\n    query: FetchRatesPageQueryT;\n    pageResponse: PageResponseT<RateT> | null;\n};\n\nexport type FetchRatesPageErrorActionT = {\n    type: typeof FETCH_RATES_PAGE_REQUEST_ERROR;\n    query: FetchRatesPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n};\n\nexport type ResetRatesActionT = {\n    type: typeof RESET_RATES;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type UpdateRatesActionT = {\n    type: typeof UPDATE_RATES_REQUEST;\n    ids: Array<RateT['id']>;\n    value: number;\n    strategy: UpdateRateStrategyEnum;\n};\n\nexport type UpdateRatesBeginActionT = {\n    type: typeof UPDATE_RATES_REQUEST_BEGIN;\n};\n\nexport type UpdateRatesSuccessActionT = {\n    type: typeof UPDATE_RATES_REQUEST_SUCCESS;\n};\n\nexport type UpdateRatesErrorActionT = {\n    type: typeof UPDATE_RATES_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type UploadCsvFileActionT = {\n    type: typeof UPLOAD_CSV_FILE_REQUEST;\n    file: File;\n};\n\nexport type UploadCsvFileBeginActionT = {\n    type: typeof UPLOAD_CSV_FILE_REQUEST_BEGIN;\n};\n\nexport type UploadCsvFileSuccessActionT = {\n    type: typeof UPLOAD_CSV_FILE_REQUEST_SUCCESS;\n};\n\nexport type UploadCsvFileFailActionT = {\n    type: typeof UPLOAD_CSV_FILE_REQUEST_FAIL;\n    error: Error;\n};\n\nexport type RatesActionT =\n    | FetchRatesPageActionT\n    | FetchRatesPageBeginActionT\n    | FetchRatesPageSuccessActionT\n    | FetchRatesPageErrorActionT\n    | UpdateRatesActionT\n    | UpdateRatesBeginActionT\n    | UpdateRatesSuccessActionT\n    | UpdateRatesErrorActionT\n    | UploadCsvFileActionT\n    | UploadCsvFileBeginActionT\n    | UploadCsvFileSuccessActionT\n    | UploadCsvFileFailActionT\n    | ResetRatesActionT;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './NewOrderParametersSettingsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm, { MAX_MAP_PRECISION_DELTA_METERS, MIN_MAP_PRECISION_DELTA_METERS } from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport prepareApiSystemSettings from './prepare-system-settings';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport withWidgetChangesDetector from 'common/components/SaveChangesNotification/withWidgetChangesDetector';\nimport { StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport Widget from 'common/components/Widget/Widget';\nimport values from 'lodash/values';\nimport { getMaskByType } from '../utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { getTimeRelativeStartDay, MS_IN_HOUR } from 'common/utils/time';\nimport RangeSelector, {\n    RangeSelectorLabelsConfigT,\n    RangeSelectorRangeT,\n} from 'common/components/RangeSelector/RangeSelector';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport TimeIntervalDurationPillLabel from 'common/layouts/NewOrderPage/ShipmentDetailsForm/TimeIntervalDurationPillLabel/TimeIntervalDurationPillLabel';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { SystemSettingsFormCommonPropsT } from 'broker-admin/layouts/SettingsPage/SystemSettings/models';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\n\nconst cx = classNames.bind(styles);\n\nconst UNIT_TYPE_MAP = {\n    [FieldsEnum.urgentOrderProcessingDelay]: UnitTypeEnum.hoursAbbreviation,\n    [FieldsEnum.regularOrderProcessingDelay]: UnitTypeEnum.hoursAbbreviation,\n    [FieldsEnum.minWindowSize]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.maxWindowSize]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.orderCreationSeconds]: UnitTypeEnum.secondsAbbreviation,\n    [FieldsEnum.hvoEmissionPercent]: UnitTypeEnum.percentsAbbreviation,\n};\n\nconst STEP_MAP = {\n    [FieldsEnum.urgentOrderProcessingDelay]: 1,\n    [FieldsEnum.regularOrderProcessingDelay]: 1,\n    [FieldsEnum.minWindowSize]: 30,\n    [FieldsEnum.maxWindowSize]: 30,\n    [FieldsEnum.orderCreationSeconds]: 1,\n    [FieldsEnum.hvoEmissionPercent]: 1,\n};\n\nconst FIELD_LABEL_T_MAP = {\n    [FieldsEnum.urgentOrderProcessingDelay]:\n        'price-settings.new-order-parameters-form.fields.urgentOrderProcessingDelay.label',\n    [FieldsEnum.regularOrderProcessingDelay]:\n        'price-settings.new-order-parameters-form.fields.regularOrderProcessingDelay.label',\n    [FieldsEnum.minWindowSize]: 'price-settings.new-order-parameters-form.fields.minWindowSize.label',\n    [FieldsEnum.maxWindowSize]: 'price-settings.new-order-parameters-form.fields.maxWindowSize.label',\n    [FieldsEnum.brokerWorkingHours]: 'price-settings.new-order-parameters-form.fields.brokerWorkingHours.label',\n    [FieldsEnum.orderCreationSeconds]: 'price-settings.new-order-parameters-form.fields.orderCreationSeconds.label',\n    [FieldsEnum.quantumMinutes]: 'price-settings.new-order-parameters-form.fields.quantumMinutes.label',\n    [FieldsEnum.hvoEmissionPercent]: 'price-settings.new-order-parameters-form.fields.hvoEmissionPercent.label',\n};\n\nconst FIELD_DESCRIPTION_T_MAP = {\n    [FieldsEnum.urgentOrderProcessingDelay]:\n        'price-settings.new-order-parameters-form.fields.urgentOrderProcessingDelay.description',\n    [FieldsEnum.regularOrderProcessingDelay]:\n        'price-settings.new-order-parameters-form.fields.regularOrderProcessingDelay.description',\n    [FieldsEnum.minWindowSize]: 'price-settings.new-order-parameters-form.fields.minWindowSize.description',\n    [FieldsEnum.maxWindowSize]: 'price-settings.new-order-parameters-form.fields.maxWindowSize.description',\n    [FieldsEnum.brokerWorkingHours]: 'price-settings.new-order-parameters-form.fields.brokerWorkingHours.description',\n    [FieldsEnum.orderCreationSeconds]:\n        'price-settings.new-order-parameters-form.fields.orderCreationSeconds.description',\n    [FieldsEnum.quantumMinutes]: 'price-settings.new-order-parameters-form.fields.quantumMinutes.description',\n    [FieldsEnum.hvoEmissionPercent]: 'price-settings.new-order-parameters-form.fields.hvoEmissionPercent.description',\n};\n\ntype PropsT = SystemSettingsFormCommonPropsT;\n\ntype QuantumT = '15' | '30' | '60';\ntype QuantumOptionT = {\n    label: React.ReactNode;\n    value: QuantumT;\n};\n\nconst quantumAvailableValues: QuantumT[] = ['15', '30', '60'];\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype NumberFieldsT =\n    | FieldsEnum.minWindowSize\n    | FieldsEnum.maxWindowSize\n    | FieldsEnum.orderCreationSeconds\n    | FieldsEnum.urgentOrderProcessingDelay\n    | FieldsEnum.hvoEmissionPercent\n    | FieldsEnum.regularOrderProcessingDelay;\n\nconst BROKER_WORKING_HOURS_RANGE: TimeWindowT = [0, 23 * MS_IN_HOUR];\nconst BROKER_WORKING_HOURS_RANGES: Array<RangeSelectorRangeT> = [];\n\nconst labelsConfig: RangeSelectorLabelsConfigT = {\n    shownLabelCount: 6,\n    shownStepCount: 2,\n    hasStartStep: true,\n    hasEndStep: true,\n};\n\nconst NewOrderParametersSettingsForm: React.FC<PropsT> = (props) => {\n    const { systemSettings, isLoading, title, onUpdate } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, { systemSettings });\n    }, [t, systemSettings]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(systemSettings);\n        const errors = validateForm(t, values, { systemSettings });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [systemSettings]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const apiSystemSettings = prepareApiSystemSettings(values);\n            onUpdate(apiSystemSettings);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErros = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErros,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErros, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const WidgetChangesDetector = withWidgetChangesDetector(formik.values, initialValues);\n\n    const renderNumberField = (name: NumberFieldsT): React.ReactNode => {\n        return (\n            <FormikField\n                className={cx('field')}\n                name={name}\n                error={formik.errors[name]}\n                meta={formik.getFieldMeta(name)}\n                label={t(FIELD_LABEL_T_MAP[name])}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                tooltipNode={\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t(FIELD_DESCRIPTION_T_MAP[name])}\n                    </TooltipContent>\n                }\n            >\n                {(props) => (\n                    <NumberInput\n                        name={name}\n                        unitType={UNIT_TYPE_MAP[name]}\n                        mask={getMaskByType(UNIT_TYPE_MAP[name])}\n                        step={STEP_MAP[name]}\n                        value={formik.values[name]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        hasChanges={props.hasChanges}\n                    />\n                )}\n            </FormikField>\n        );\n    };\n\n    const quantumOptions: QuantumOptionT[] = quantumAvailableValues.map((value) => {\n        return {\n            label: <UnitTypeCount count={+value} type={UnitTypeEnum.minutesAbbreviation} />,\n            value,\n        };\n    });\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <Widget className={cx('widget')} title={title} rightNode={<WidgetChangesDetector fields={ALL_FIELDS} />}>\n                <div className={cx('widget__inner')}>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.minWindowSize)}\n                        {renderNumberField(FieldsEnum.maxWindowSize)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.urgentOrderProcessingDelay)}\n                        {renderNumberField(FieldsEnum.regularOrderProcessingDelay)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.orderCreationSeconds)}\n                        <FormikField\n                            className={cx('field')}\n                            label={t(FIELD_LABEL_T_MAP[FieldsEnum.quantumMinutes])}\n                            name={FieldsEnum.quantumMinutes}\n                            error={formik.errors[FieldsEnum.quantumMinutes]}\n                            meta={formik.getFieldMeta(FieldsEnum.quantumMinutes)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            tooltipNode={\n                                <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                                    {t(FIELD_DESCRIPTION_T_MAP[FieldsEnum.quantumMinutes])}\n                                </TooltipContent>\n                            }\n                        >\n                            {(props) => (\n                                <DropdownInput<QuantumOptionT, QuantumT>\n                                    selectedValue={formik.values[FieldsEnum.quantumMinutes] as QuantumT}\n                                    options={quantumOptions}\n                                    onSelect={props.onChange}\n                                    renderOption={(option) => (option ? <span>{option.label}</span> : null)}\n                                    getOptionValue={(option) => option.value}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        <FormikField\n                            className={cx('field')}\n                            name={FieldsEnum.mapPrecisionDelta}\n                            error={formik.errors[FieldsEnum.mapPrecisionDelta]}\n                            meta={formik.getFieldMeta(FieldsEnum.mapPrecisionDelta)}\n                            label={t('price-settings.new-order-parameters-form.fields.mapPrecisionDelta.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            tooltipNode={\n                                <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                                    {t(\n                                        'price-settings.new-order-parameters-form.fields.mapPrecisionDelta.description',\n                                        {\n                                            minValidValue: MIN_MAP_PRECISION_DELTA_METERS.toString(),\n                                            maxValidValue: MAX_MAP_PRECISION_DELTA_METERS.toString(),\n                                        },\n                                    )}\n                                </TooltipContent>\n                            }\n                        >\n                            {(props) => (\n                                <NumberInput\n                                    name={FieldsEnum.mapPrecisionDelta}\n                                    unitType={UnitTypeEnum.metersAbbreviation}\n                                    mask={getMaskByType(UnitTypeEnum.metersAbbreviation)}\n                                    step={50}\n                                    value={formik.values[FieldsEnum.mapPrecisionDelta]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasWarning={props.hasWarning}\n                                    hasChanges={props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                        {renderNumberField(FieldsEnum.hvoEmissionPercent)}\n                    </FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--range')}\n                        name={FieldsEnum.brokerWorkingHours}\n                        error={formik.errors[FieldsEnum.brokerWorkingHours]}\n                        meta={formik.getFieldMeta(FieldsEnum.brokerWorkingHours)}\n                        label={\n                            <>\n                                <TimeWindowIcon\n                                    className={cx('icon')}\n                                    fillColor={StyleGuideColorsEnum.brandAccent}\n                                    strokeColor={StyleGuideColorsEnum.brandDark}\n                                />\n                                {t(FIELD_LABEL_T_MAP[FieldsEnum.brokerWorkingHours])}\n                            </>\n                        }\n                        subLabel={\n                            <TimeIntervalDurationPillLabel\n                                className={cx('duration')}\n                                isDayRelative\n                                timeWindow={formik.values[FieldsEnum.brokerWorkingHours]}\n                            />\n                        }\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                                {t(FIELD_DESCRIPTION_T_MAP[FieldsEnum.brokerWorkingHours])}\n                            </TooltipContent>\n                        }\n                    >\n                        {(props) => (\n                            <RangeSelector\n                                valuesRange={BROKER_WORKING_HOURS_RANGE}\n                                availableValues={BROKER_WORKING_HOURS_RANGE}\n                                ranges={BROKER_WORKING_HOURS_RANGES}\n                                values={formik.values[FieldsEnum.brokerWorkingHours]}\n                                valueStep={MS_IN_HOUR / 2}\n                                labelsConfig={labelsConfig}\n                                renderLabel={(value: number) => {\n                                    const relativeTime = getTimeRelativeStartDay(value);\n                                    if (value && relativeTime === '00:00') {\n                                        return '23:59';\n                                    }\n\n                                    return relativeTime;\n                                }}\n                                onSelect={props.onChange}\n                            />\n                        )}\n                    </FormikField>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <HiddenSubmitButtonForKeyboardEnter />\n                </div>\n            </Widget>\n        </form>\n    );\n};\n\nexport default React.memo(NewOrderParametersSettingsForm) as typeof NewOrderParametersSettingsForm;\n","import React from 'react';\nimport { DocumentTypeEnum } from 'common/utils/api/models';\nimport CommonDocumentParamsDetails from './CommonDocumentParamsDetails/CommonDocumentParamsDetails';\nimport EvidenceOfTaxDetails from './EvidenceOfTaxDetails/EvidenceOfTaxDetails';\nimport { DocumentVersionT } from 'common/store/documents/models';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\n\ntype PropsT = {\n    dictDocument: DictDocumentT | null;\n    actualVersion: DocumentVersionT | null;\n    partnerId: PartnerIdT | null;\n};\n\nconst DocumentParamsDetails: React.FC<PropsT> = (props) => {\n    const { actualVersion, dictDocument, partnerId } = props;\n\n    switch (dictDocument?.type) {\n        case DocumentTypeEnum.evidenceOfTaxVat: {\n            return <EvidenceOfTaxDetails actualVersion={actualVersion} partnerId={partnerId} />;\n        }\n        default: {\n            return <CommonDocumentParamsDetails actualVersion={actualVersion} />;\n        }\n    }\n};\n\nexport default DocumentParamsDetails;\n","import React from 'react';\n\nexport type SideBarFooterHeightContextT = {\n    value: number;\n    setValue: (value: number) => void;\n};\n\nconst useSideBarFooterHeight = (): SideBarFooterHeightContextT => {\n    const [value, setValue] = React.useState<number>(0);\n\n    return {\n        value,\n        setValue,\n    };\n};\n\nexport default useSideBarFooterHeight;\n","import { ContextRouteStopFakeIdT, DeadheadPreviewContextResponseT } from '../models';\n\nexport const getDeletedStopFakeIds = (\n    previewContext: DeadheadPreviewContextResponseT | null,\n    previewContextAfterModify: DeadheadPreviewContextResponseT | null,\n): Array<ContextRouteStopFakeIdT> => {\n    const prevStopsIds = previewContext?.stops?.slice(1)?.map((stop) => stop.fakeId) || [];\n\n    const stopsIdsAfterModify = previewContextAfterModify?.stops?.slice(1)?.map((stop) => stop.fakeId) || [];\n\n    return prevStopsIds.filter((id) => !stopsIdsAfterModify.includes(id));\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"progress-bar\":\"AlertProgressBar__progress-bar___sZuSd\",\"line\":\"AlertProgressBar__line___btoEA\",\"line--isBackground\":\"AlertProgressBar__line--isBackground___BeGvc\",\"line--isProgress\":\"AlertProgressBar__line--isProgress___sOeWa\",\"fadeIn\":\"AlertProgressBar__fadeIn___DOEVG\",\"blinking\":\"AlertProgressBar__blinking___VjU3y\"};","// extracted by mini-css-extract-plugin\nexport default {\"type\":\"TrailerTypeCell__type___GVbHa\",\"fadeIn\":\"TrailerTypeCell__fadeIn___nR6og\",\"blinking\":\"TrailerTypeCell__blinking___CVNWz\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Pagination.scss';\nimport { useTranslation } from 'react-i18next';\nimport isNil from 'lodash/isNil';\nimport noop from 'lodash/noop';\nimport LeftArrowIcon from 'common/icons/LeftArrowIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport RightArrowIcon from 'common/icons/RightArrowIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Input from 'common/components/Input/Input';\n\nexport type PropsT = {\n    current: number | null | undefined;\n    count: number | null | undefined;\n    goToPage: (pageNumber: PageNumberT) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ENTER_KEY = 'Enter';\n\nconst colorsMap = {\n    disabled: StyleGuideColorsEnum.light,\n    active: StyleGuideColorsEnum.charcoal,\n};\n\nconst Pagination: React.FC<PropsT> = React.memo((props) => {\n    const { current, count, goToPage } = props;\n    const { t } = useTranslation();\n\n    const getInputText = (current: PropsT['current'], count: PropsT['count']): string => {\n        return t('common:pagination', {\n            currentPage: (current || 0) + 1,\n            pages: count,\n        });\n    };\n\n    const [inputValue, setInputValue] = React.useState(getInputText(current, count));\n\n    React.useEffect(() => {\n        setInputValue(getInputText(current, count));\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [current, count]);\n\n    const isShowPagination = !!(count && count > 1);\n\n    if (isNil(current) || isNil(count) || !isShowPagination) {\n        return null;\n    }\n\n    const isDisabledPrevPage = current === 0;\n    const isDisabledNextPage = current === count - 1;\n\n    const goToPrevPage = () => {\n        if (isDisabledPrevPage) {\n            return;\n        }\n        goToPage(current - 1);\n    };\n\n    const goToNextPage = () => {\n        if (isDisabledNextPage) {\n            return;\n        }\n\n        goToPage(current + 1);\n    };\n\n    const tryChangePageByInputValue = () => {\n        const separator = t('common:pagination', {\n            currentPage: '',\n            pages: '',\n        }).trim();\n\n        const [rawPage, rawCount] = inputValue.split(separator);\n\n        const parsedPage = +rawPage;\n        const parsedCount = +rawCount;\n        const isValidPage = !Number.isNaN(parsedPage) && parsedPage > 0 && parsedPage <= count;\n        const isSamePage = current === parsedPage - 1;\n        const isSameCount = parsedCount === count;\n\n        if (isValidPage && !isSamePage) {\n            goToPage(parsedPage - 1);\n        }\n\n        if (!isValidPage || (!isSameCount && isSamePage)) {\n            setInputValue(getInputText(current, count));\n        }\n    };\n\n    const handleBlur = (): void => {\n        tryChangePageByInputValue();\n    };\n\n    const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n        if (event.key === ENTER_KEY) {\n            tryChangePageByInputValue();\n        }\n    };\n\n    const testSelector = 'pagination';\n\n    return (\n        <div className={cx('pagination')} data-test-selector={testSelector}>\n            <TransparentTrigger\n                withoutBorderRadius\n                isDisabled={isDisabledPrevPage}\n                onClick={isDisabledPrevPage ? noop : goToPrevPage}\n                testSelector={`${testSelector}_prev-page`}\n                leftIcon={<LeftArrowIcon fillColor={isDisabledPrevPage ? colorsMap.disabled : colorsMap.active} />}\n                reflectionTheme={ReflectionThemeEnum.light}\n            />\n            <span className={cx('input-wrap')}>\n                <span className={cx('width-machine')}>{inputValue}</span>\n                <Input\n                    className={cx('input')}\n                    name=\"page\"\n                    testSelectorPrefix={testSelector}\n                    value={inputValue}\n                    onChange={setInputValue}\n                    onBlur={handleBlur}\n                    onKeyUp={handleKeyUp}\n                />\n            </span>\n            <TransparentTrigger\n                withoutBorderRadius\n                isDisabled={isDisabledNextPage}\n                onClick={isDisabledNextPage ? noop : goToNextPage}\n                testSelector={`${testSelector}_next-page`}\n                leftIcon={<RightArrowIcon fillColor={isDisabledNextPage ? colorsMap.disabled : colorsMap.active} />}\n                reflectionTheme={ReflectionThemeEnum.light}\n            />\n        </div>\n    );\n});\n\nexport default Pagination;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FetchBrokerTeamsPageActionT } from './types';\nimport { BrokerTeamShortT } from './models';\nimport {\n    fetchBrokerTeamsPage,\n    fetchBrokerTeamsPageBegin,\n    fetchBrokerTeamsPageError,\n    fetchBrokerTeamsPageSuccess,\n    resetBrokerTeams,\n} from './slice';\nimport { selectBrokerTeamsPages, selectBrokerTeamsQuery } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { brokerTeamsPaginationChannel } from 'broker-admin/store/broker-teams/channels';\n\nfunction* fetchBrokerTeamsSaga(action: FetchBrokerTeamsPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options } = action.payload;\n\n    const prevQuery: ReturnType<typeof selectBrokerTeamsQuery> = yield select(selectBrokerTeamsQuery);\n    const pages: ReturnType<typeof selectBrokerTeamsPages> = yield select(selectBrokerTeamsPages);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetBrokerTeams({ mutationListOptions: { savingPageNumber: pageNumber } }));\n    }\n\n    yield put(fetchBrokerTeamsPageBegin({ query, pageNumber }));\n\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.getTeamsFilter> =\n        yield brokerTranziitApi.getTeamsFilter({\n            ...query,\n            page: pageNumber,\n        });\n\n    if (error) {\n        yield put(fetchBrokerTeamsPageError({ query, pageNumber, error }));\n        return;\n    }\n\n    const pageResponse = response\n        ? {\n              content: response.content?.map(\n                  (item): BrokerTeamShortT => ({\n                      ...item,\n                      id: item.id || '-',\n                  }),\n              ),\n              totalElements: response.totalElements,\n              totalPages: response.totalPages,\n              page: pageNumber,\n          }\n        : null;\n\n    yield put(fetchBrokerTeamsPageSuccess({ query, pageNumber, pageResponse }));\n\n    checkShouldEmitChangePage(pageNumber, response, brokerTeamsPaginationChannel);\n}\n\nfunction* brokerTeamsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(fetchBrokerTeamsPage.type, fetchBrokerTeamsSaga);\n}\n\nexport default brokerTeamsSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"location\":\"LocationCell__location___rGV9f\",\"fadeIn\":\"LocationCell__fadeIn___aKsjO\",\"blinking\":\"LocationCell__blinking___NOy6_\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BaseDocumentsLayout.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { downloadDocument, revokeDocument, uploadDocument } from 'common/store/documents/actions';\nimport { DocumentRequiredEnum, DocumentStatusEnum, ApiDocumentTypeT } from 'common/utils/api/models';\nimport { selectDocumentsDictById } from 'common/store/documents-dict/selectors';\nimport {\n    selectUpdateCompanyDocumentsRequest,\n    selectUploadCompanyDocumentsRequest,\n} from 'common/store/documents/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport UploadDocumentConfirmation, {\n    ConfirmUploadDocumentModalDataT,\n} from 'common/layouts/BaseDocumentsLayout/dialogs/UploadDocumentConfirmation/UploadDocumentConfirmation';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport BaseDocumentsTable, {\n    DocumentRowT,\n} from 'common/layouts/BaseDocumentsLayout/BaseDocumentsTable/BaseDocumentsTable';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { pickFile } from 'common/utils/pick-file';\nimport RevokeDocumentsConfirmation, {\n    ConfirmRevokeDocumentModalDataT,\n} from 'common/layouts/BaseDocumentsLayout/dialogs/RevokeDocumentsConfirmation/RevokeDocumentsConfirmation';\n\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    isAllDocumentsVerified: boolean;\n\n    isShowReviewUser: boolean;\n\n    tableName: string;\n    isLoading: boolean;\n\n    rows: Array<DocumentRowT>;\n    testSelector?: string;\n    documentStatusesAttentionSet?: Set<DocumentStatusEnum | null>;\n\n    navigationTabs: React.ReactNode;\n};\n\nconst BaseDocumentsLayout: React.FC<PropsT> = React.memo((props) => {\n    const {\n        isAllDocumentsVerified,\n        isLoading,\n        isShowReviewUser,\n        rows,\n        tableName,\n        testSelector,\n        documentStatusesAttentionSet,\n        navigationTabs,\n    } = props;\n\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const partnerPermissions = usePartnerPermissionsContext();\n\n    const dispatch = useDispatch();\n\n    const confirmUploadDocumentModalDialog = useModalDialog<ConfirmUploadDocumentModalDataT>();\n    const confirmRevokeDocumentModalDialog = useModalDialog<ConfirmRevokeDocumentModalDataT>();\n\n    const uploadRequest = useSelector(selectUploadCompanyDocumentsRequest(partnerId));\n    const updateRequest = useSelector(selectUpdateCompanyDocumentsRequest(partnerId));\n\n    const isWaitAction = uploadRequest.loading || updateRequest.loading;\n\n    const documentsDictById = useSelector(selectDocumentsDictById(partnerType));\n\n    const handleDownloadDocument = (documentId: DocumentIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleDownloadDocument');\n            return;\n        }\n        dispatch(downloadDocument(documentId, partnerId));\n    };\n\n    const onConfirmRevokeDocument = (id: DocumentIdT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in onConfirmRevokeDocument');\n            return;\n        }\n        dispatch(revokeDocument(id, partnerId, partnerType));\n    };\n\n    const onConfirmUploadDocument = (data: ConfirmUploadDocumentModalDataT): void => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in onConfirmUploadDocument');\n            return;\n        }\n        pickFile('image/*,application/pdf', (file) => {\n            dispatch(uploadDocument(data.dictDocumentId, file, partnerId, partnerType));\n        });\n    };\n\n    const handleUploadDocument = (dictDocumentId: DictDocumentFakeIdT) => {\n        const dictDocument = documentsDictById[dictDocumentId];\n\n        const shouldConfirm = dictDocument?.required === DocumentRequiredEnum.must && isAllDocumentsVerified;\n        if (shouldConfirm) {\n            confirmUploadDocumentModalDialog.setData({\n                dictDocumentId,\n            });\n        } else {\n            onConfirmUploadDocument({ dictDocumentId });\n        }\n    };\n\n    const handleRevokeDocument = (dictDocumentId: DictDocumentFakeIdT, id: DocumentIdT) => {\n        if (!partnerType) {\n            logWarning('Empty partnerType in handleRevokeDocument');\n            return;\n        }\n        confirmRevokeDocumentModalDialog.setData({\n            id,\n            dictDocumentId,\n            partnerType,\n        });\n    };\n\n    const handleEditDocumentInfo = (documentType: ApiDocumentTypeT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleEditDocumentInfo');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.document,\n            partnerId,\n            partnerType,\n            documentType,\n            initIsEditing: true,\n        });\n    };\n\n    useCloseModalDialogAfterRequest(uploadRequest, [confirmUploadDocumentModalDialog]);\n    useCloseModalDialogAfterRequest(updateRequest, [confirmRevokeDocumentModalDialog]);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n    const handleOpenUserDetails = (userId: UserIdT | null) => {\n        if (!userId) {\n            logWarning('failed to open user details in dispatch details, empty user id');\n            return;\n        }\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const handleSelectTableRow = (row: DocumentRowT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleSelectTableRow');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.document,\n            documentType: row.dictDocument.type,\n            partnerId,\n            partnerType,\n            initIsEditing:\n                Boolean(partnerPermissions.canReviewDocuments) &&\n                row?.actualVersion?.status === DocumentStatusEnum.waitingForApprove,\n        });\n    };\n\n    return (\n        <>\n            <div className={cx('navigation-tabs')}>{navigationTabs}</div>\n            {isWaitAction && <LoaderOverlay />}\n            <BaseDocumentsTable\n                tableName={tableName}\n                testSelector={testSelector}\n                isLoading={isLoading}\n                rows={rows}\n                isShowReviewUser={isShowReviewUser}\n                documentStatusesAttentionSet={documentStatusesAttentionSet}\n                onSelectRow={handleSelectTableRow}\n                onOpenUserDetails={handleOpenUserDetails}\n                onRevokeDocument={handleRevokeDocument}\n                onEditDocumentInfo={handleEditDocumentInfo}\n                onDownloadDocument={handleDownloadDocument}\n                onUploadDocument={handleUploadDocument}\n            />\n            <RevokeDocumentsConfirmation\n                data={confirmRevokeDocumentModalDialog.data}\n                onCancel={confirmRevokeDocumentModalDialog.onCancel}\n                onClose={confirmRevokeDocumentModalDialog.onClose}\n                onConfirm={onConfirmRevokeDocument}\n                requestStatus={updateRequest}\n            />\n            <UploadDocumentConfirmation\n                data={confirmUploadDocumentModalDialog.data}\n                onCancel={confirmUploadDocumentModalDialog.onCancel}\n                onClose={confirmUploadDocumentModalDialog.onClose}\n                requestStatus={uploadRequest}\n                documentsDictById={documentsDictById}\n                onConfirm={onConfirmUploadDocument}\n            />\n        </>\n    );\n});\n\nexport default BaseDocumentsLayout;\n","import { ApiTruckDictTypeT, CountryCodeT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    truckModel = 'truckModel',\n    cabinColor = 'cabinColor',\n    countryCode = 'countryCode',\n    plateNumber = 'plateNumber',\n    vin = 'vin',\n    contract = 'contract',\n    ratePerKm = 'ratePerKm',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.truckModel]: ApiTruckDictTypeT['id'] | null;\n    [FieldsEnum.cabinColor]: string;\n    [FieldsEnum.countryCode]: CountryCodeT | null;\n    [FieldsEnum.plateNumber]: string;\n    [FieldsEnum.vin]: string;\n    [FieldsEnum.contract]: CarrierContractIdT | null;\n    [FieldsEnum.ratePerKm]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ReadOnlyFieldValue.scss';\nimport { UnitTypeEnum } from 'common/constants';\nimport UnitType from 'common/components/units/UnitType/UnitType';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    value: React.ReactNode;\n    unitType?: UnitTypeEnum;\n    icon?: React.ReactNode;\n    placeholder?: React.ReactNode;\n    rightNode?: React.ReactNode;\n    withInputLayout?: boolean;\n};\n\nexport const EMPTY_VALUE_PLACEHOLDER = '—';\n\nconst checkIsEmptyValue = (value: PropsT['value']): boolean => {\n    if (value || value === 0) {\n        return false;\n    }\n\n    return true;\n};\n\nconst ReadOnlyFieldValue: React.FC<PropsT> = React.memo((props) => {\n    const { withInputLayout, value, unitType, icon, rightNode } = props;\n\n    const placeholder = props.placeholder || EMPTY_VALUE_PLACEHOLDER;\n\n    return (\n        <div\n            className={cx('field-value', {\n                'field-value--withInputLayout': !!withInputLayout,\n            })}\n        >\n            {icon && <div className={cx('field-value__icon')}>{icon}</div>}\n            <div\n                className={cx('field-value__label', {\n                    'field-value__label--hasValue': !checkIsEmptyValue(value),\n                })}\n                title={typeof value === 'string' ? value : undefined}\n            >\n                {checkIsEmptyValue(value) ? placeholder : value}\n                {unitType ? <UnitType className={cx('unit')} type={unitType} /> : null}\n            </div>\n            {rightNode && <div className={cx('field-value__right-node')}>{rightNode}</div>}\n        </div>\n    );\n});\n\nexport { ReadOnlyFieldValue };\n","import { useState } from 'react';\nimport { OrderCreationPercentContextT } from '../contexts/order-creation-percent-context';\n\nexport const useOrderCreationPercentContextValue = (): OrderCreationPercentContextT => {\n    const [percent, setPercent] = useState<number>(0);\n\n    return {\n        percent,\n        setPercent,\n    };\n};\n","import isEqual from 'lodash/isEqual';\nimport keys from 'lodash/keys';\n\nexport const getOnlyQueryFilterChanges = <T extends Record<string, any>>(values: T, initValues: T): T => {\n    const queryKeys = keys(values);\n\n    const changedValues: T = {\n        ...values,\n    };\n\n    queryKeys.forEach((queryKey) => {\n        const isSameValue = isEqual(values[queryKey], initValues[queryKey]);\n        if (isSameValue) {\n            delete changedValues[queryKey];\n        }\n    });\n\n    return changedValues;\n};\n","import { PageSortT, SortDirectionEnum } from 'common/utils/query';\nimport { FetchBrokerToursPageQueryT } from 'broker-admin/store/broker-tours/models';\nimport { BrokerToursQuickFilterEnum, BrokerToursSortEnum, QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\n\nconst formatSort = (sort: PageSortT<BrokerToursSortEnum> | null): FetchBrokerToursPageQueryT['sort'] | null => {\n    switch (sort?.value) {\n        case BrokerToursSortEnum.createdDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'CREATED_DATE_ASC';\n            }\n            return 'CREATED_DATE_DESC';\n        }\n        case BrokerToursSortEnum.originDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'ORIGIN_DATE_ASC';\n            }\n            return 'ORIGIN_DATE_DESC';\n        }\n        case BrokerToursSortEnum.destinationDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'DESTINATION_DATE_ASC';\n            }\n            return 'DESTINATION_DATE_DESC';\n        }\n        default: {\n            return null;\n        }\n    }\n};\n\nconst getQueryFromQuickFilters = (quickFilter?: BrokerToursQuickFilterEnum): FetchBrokerToursPageQueryT => {\n    switch (quickFilter) {\n        case BrokerToursQuickFilterEnum.carrierUnassigned: {\n            return {\n                statusBar: 'CARRIER_UNASSIGNED',\n            };\n        }\n        case BrokerToursQuickFilterEnum.assetUnassigned: {\n            return {\n                statusBar: 'ASSETS_UNASSIGNED',\n            };\n        }\n        case BrokerToursQuickFilterEnum.driverUnassigned: {\n            return {\n                statusBar: 'DRIVER_UNASSIGNED',\n            };\n        }\n        case BrokerToursQuickFilterEnum.assigned: {\n            return {\n                statusBar: 'ASSIGNED',\n            };\n        }\n        case BrokerToursQuickFilterEnum.inTransit: {\n            return {\n                statusBar: 'IN_TRANSIT',\n            };\n        }\n        case BrokerToursQuickFilterEnum.canceled: {\n            return {\n                statusBar: 'CANCELED',\n            };\n        }\n        case BrokerToursQuickFilterEnum.finished: {\n            return {\n                statusBar: 'FINISHED',\n            };\n        }\n        default: {\n            return {};\n        }\n    }\n};\n\nexport const prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<BrokerToursSortEnum>,\n): FetchBrokerToursPageQueryT => {\n    const carrierIds = queryFilters[QueryFiltersKeysEnum.carrierIds] || [];\n    const tourTypes = queryFilters[QueryFiltersKeysEnum.tourTypes] || [];\n\n    const plateNumber = queryFilters[QueryFiltersKeysEnum.plateNumber];\n    return {\n        textSearch: queryFilters[QueryFiltersKeysEnum.searchText] || undefined,\n\n        originAddress: queryFilters[QueryFiltersKeysEnum.originAddress] || undefined,\n\n        destinationAddress: queryFilters[QueryFiltersKeysEnum.destinationAddress] || undefined,\n\n        plateNumber: plateNumber ? [plateNumber] : undefined,\n\n        createdDateFrom: queryFilters[QueryFiltersKeysEnum.dateCreatedFrom] || undefined,\n        createdDateTo: queryFilters[QueryFiltersKeysEnum.dateCreatedTo] || undefined,\n\n        originDateFrom: queryFilters[QueryFiltersKeysEnum.originDateFrom] || undefined,\n        originDateTo: queryFilters[QueryFiltersKeysEnum.originDateTo] || undefined,\n\n        destinationDateFrom: queryFilters[QueryFiltersKeysEnum.destinationDateFrom] || undefined,\n        destinationDateTo: queryFilters[QueryFiltersKeysEnum.destinationDateTo] || undefined,\n\n        declined: queryFilters[QueryFiltersKeysEnum.transportOrderDeclined] || undefined,\n        runningOutOfTimeToAssignCarrier:\n            queryFilters[QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier] || undefined,\n        runOutOfTimeToAssignCarrier: queryFilters[QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier] || undefined,\n        runningOutOfTimeToAssignAssets: queryFilters[QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets] || undefined,\n        runOutOfTimeToAssignAssets: queryFilters[QueryFiltersKeysEnum.runOutOfTimeToAssignAssets] || undefined,\n        runningOutOfTimeToAssignDriver: queryFilters[QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver] || undefined,\n        runOutOfTimeToAssignDriver: queryFilters[QueryFiltersKeysEnum.runOutOfTimeToAssignDriver] || undefined,\n        noShow: queryFilters[QueryFiltersKeysEnum.noShow] || undefined,\n        missed: queryFilters[QueryFiltersKeysEnum.shipmentMissed] || undefined,\n        delaying: queryFilters[QueryFiltersKeysEnum.tourDelaying] || undefined,\n\n        truckCarrierId: carrierIds?.length ? carrierIds : undefined,\n\n        type: tourTypes?.length ? tourTypes : undefined,\n\n        ...getQueryFromQuickFilters(queryFilters[QueryFiltersKeysEnum.quickFilter]),\n\n        sort: formatSort(sort) || undefined,\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"PhoneNumberDropdownOption__option___J8GtV\",\"option--isSelectable\":\"PhoneNumberDropdownOption__option--isSelectable___twUbv\",\"option--isSelected\":\"PhoneNumberDropdownOption__option--isSelected___UpfCp\",\"option__flag\":\"PhoneNumberDropdownOption__option__flag___r5558\",\"option__label\":\"PhoneNumberDropdownOption__option__label___lFvt_\",\"option__icon\":\"PhoneNumberDropdownOption__option__icon___pnwCB\",\"fadeIn\":\"PhoneNumberDropdownOption__fadeIn___J3q2U\",\"blinking\":\"PhoneNumberDropdownOption__blinking___lHw3j\"};","import { fetchStateMachineSteps } from 'common/store/consistent-state-machine/slice';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { consistentStateMachineRefreshChannel } from 'common/store/consistent-state-machine/channels';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ConsistentStateMachineDescriptorT } from 'common/store/consistent-state-machine/models';\nimport { selectConsistentStateMachineItemState } from 'common/store/consistent-state-machine/selectors';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\n\nexport const useConsistentStateMachine = (descriptor: ConsistentStateMachineDescriptorT | null) => {\n    const dispatch = useDispatch();\n\n    const isAllowFetch = false;\n\n    useEffect(() => {\n        if (!descriptor || !isAllowFetch) {\n            return;\n        }\n\n        dispatch(\n            fetchStateMachineSteps({\n                descriptor,\n            }),\n        );\n    }, [dispatch, descriptor, isAllowFetch]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!descriptor || !isAllowFetch) {\n            return;\n        }\n\n        dispatch(\n            fetchStateMachineSteps({\n                descriptor,\n                options: {\n                    isForceUpdate: true,\n                },\n            }),\n        );\n    }, [dispatch, descriptor, isAllowFetch]);\n    useChannelSubscribe(consistentStateMachineRefreshChannel, refreshPageHandler);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!descriptor || !isAllowFetch) {\n            return;\n        }\n\n        dispatch(\n            fetchStateMachineSteps({\n                descriptor,\n            }),\n        );\n    }, [dispatch, descriptor, isAllowFetch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    return useSelector(selectConsistentStateMachineItemState(descriptor));\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"DriveThroughRoutePointPicker__wrap___zII1W\",\"geo-suggest\":\"DriveThroughRoutePointPicker__geo-suggest___X1CmI\",\"fadeIn\":\"DriveThroughRoutePointPicker__fadeIn___yxQlp\",\"blinking\":\"DriveThroughRoutePointPicker__blinking___R6oKx\"};","import React, { useMemo } from 'react';\n\nexport type SyncShipperContractLaneCreationFormMapStateContextValueT = {\n    hasPickUpLocationError: boolean;\n    setHasPickUpLocationError: (hasPickUpLocationError: boolean) => void;\n    hasDropOffLocationError: boolean;\n    setHasDropOffLocationError: (hasDropOffLocationError: boolean) => void;\n};\n\nexport const usySyncMapState = (): SyncShipperContractLaneCreationFormMapStateContextValueT => {\n    const [hasPickUpLocationError, setHasPickUpLocationError] = React.useState<boolean>(false);\n    const [hasDropOffLocationError, setHasDropOffLocationError] = React.useState<boolean>(false);\n\n    return useMemo(() => {\n        return {\n            hasPickUpLocationError,\n            setHasPickUpLocationError,\n            hasDropOffLocationError,\n            setHasDropOffLocationError,\n        };\n    }, [hasPickUpLocationError, hasDropOffLocationError]);\n};\n","import { ApiTrailerTypeT, CountryCodeT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    trailerType = 'trailerType',\n    trailerDictId = 'trailerDictId',\n\n    countryCode = 'countryCode',\n    vin = 'vin',\n    plateNumber = 'plateNumber',\n\n    contract = 'contract',\n    ratePerKm = 'ratePerKm',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.trailerType]: ApiTrailerTypeT;\n    [FieldsEnum.trailerDictId]: TrailerDictIdT | null;\n    [FieldsEnum.countryCode]: CountryCodeT | null;\n    [FieldsEnum.plateNumber]: string;\n    [FieldsEnum.vin]: string;\n    [FieldsEnum.contract]: CarrierContractIdT | null;\n    [FieldsEnum.ratePerKm]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"field--company-name\":\"PointContactsPicker__field--company-name___IEJ_c\",\"field--full-name\":\"PointContactsPicker__field--full-name___hAopw\",\"field--email\":\"PointContactsPicker__field--email___ed6ol\",\"field--phone-number\":\"PointContactsPicker__field--phone-number___d1c0i\",\"fadeIn\":\"PointContactsPicker__fadeIn___b5iAf\",\"blinking\":\"PointContactsPicker__blinking___tzN7B\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst DatabaseIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, fillOpacity, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 18 18\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M.9.9h16.2v16.2H.9z\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity={fillOpacity || 1}\n                    d=\"M4.275 6.975h9.45v-2.7h-9.45v2.7zm1.35-2.362a1.011 1.011 0 110 2.025 1.012 1.012 0 110-2.026zm-1.35 9.112h9.45v-2.7h-9.45v2.7zm1.35-2.362a1.011 1.011 0 110 2.024 1.011 1.011 0 110-2.024z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M14.4 9.675H3.6a.677.677 0 00-.675.675v4.05c0 .371.304.675.675.675h10.8a.677.677 0 00.675-.675v-4.05a.677.677 0 00-.675-.675zm-.675 4.05h-9.45v-2.7h9.45v2.7zm-8.1-.338a1.011 1.011 0 100-2.024 1.011 1.011 0 100 2.024zM14.4 2.925H3.6a.677.677 0 00-.675.675v4.05c0 .371.304.675.675.675h10.8a.677.677 0 00.675-.675V3.6a.677.677 0 00-.675-.675zm-.675 4.05h-9.45v-2.7h9.45v2.7zm-8.1-.337a1.012 1.012 0 10.001-2.025 1.012 1.012 0 00-.001 2.025z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nDatabaseIcon.displayName = 'DatabaseIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default DatabaseIcon;\n","import React from 'react';\nimport styles from './TimeIntervalDurationPillLabel.scss';\nimport classNames from 'classnames/bind';\nimport { checkMidnightTime, getDateTime, getHours, getMinutes, getTimeRelativeStartDay } from 'common/utils/time';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { isNonNil } from 'common/utils';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    i18nKey?: string | null;\n    timeWindow: TimeWindowT | null | undefined;\n    className?: string;\n    isDayRelative: boolean;\n};\n\nconst TimeIntervalDurationPillLabel: React.FC<PropsT> = (props) => {\n    const { timeWindow, className, isDayRelative, i18nKey } = props;\n\n    const { t } = useTranslation();\n\n    if (!timeWindow) {\n        return null;\n    }\n\n    const [start, end] = timeWindow;\n    const diff = timeWindow[1] - timeWindow[0];\n\n    const formatter = isDayRelative ? getTimeRelativeStartDay : getDateTime;\n\n    const hours = getHours(diff);\n    const formattedHours = hours\n        ? `${hours} ${t('common:hours', {\n              postProcess: 'interval',\n              count: hours,\n          })}`\n        : null;\n\n    const minutes = getMinutes(diff);\n    const formattedMinutes = minutes\n        ? `${minutes} ${t('common:minutes', {\n              postProcess: 'interval',\n              count: minutes,\n          })}`\n        : null;\n\n    const formattedDiff = [formattedHours, formattedMinutes].filter(isNonNil).join(' ');\n\n    const duration = `${formatter(start)} - ${checkMidnightTime(formatter(end))}`;\n\n    return (\n        <PillLabel isSymmetrical theme={PillLabelThemeEnum.charcoal} className={className}>\n            <span className={cx('text')}>\n                {i18nKey ? (\n                    <Trans\n                        i18nKey={i18nKey}\n                        components={\n                            {\n                                duration,\n                                formattedDiff,\n                            } as TODO\n                        }\n                    />\n                ) : (\n                    `${duration} (${formattedDiff})`\n                )}\n            </span>\n        </PillLabel>\n    );\n};\n\nexport default TimeIntervalDurationPillLabel;\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerTourDetails.scss';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport RouteLocationsOverview from 'common/components/entity-details/RouteLocationsOverview/RouteLocationsOverview';\nimport {\n    ApiTourAttachedPaperTypeT,\n    PartnerTypeEnum,\n    ShipmentWarningEnum,\n    TransportOrderStatusEnum,\n} from 'common/utils/api/models';\nimport { finallyStatusSet } from 'broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/constants';\nimport { urlFactory } from '../../../../utils/urls';\nimport ExcludedCountries from 'common/components/entity-details/ExcludedCountries/ExcludedCountries';\nimport ShipperIcon from 'common/icons/ShipperIcon';\nimport { convertToKm } from 'common/utils/distance';\nimport DeprecateTourPapersCard from 'common/components/DeprecateTourPapersCard/DeprecateTourPapersCard';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport CarrierCostPriceInfoTable from 'broker-admin/components/info-tables/CarrierCostPriceInfoTable/CarrierCostPriceInfoTable';\nimport LinkFormatter from 'design-system/components/InfoTable/formatters/LinkFormatter/LinkFormatter';\n\nimport ButtonTabs, { ButtonTabCountThemeEnum, ButtonTabT } from 'common/components/tabs/ButtonTabs/ButtonTabs';\nimport { useTabs } from 'common/components/tabs/hooks';\nimport TabTourDetails from 'broker-admin/layouts/BrokerToursPage/BrokerTourDetailsPage/BrokerTourDetails/TabTourDetails/TabTourDetails';\nimport ShipmentDetailsCard from './ShipmentDetailsCard/ShipmentDetailsCard';\nimport TransportOrderDetailsCard from './TransportOrderDetailsCard/TransportOrderDetailsCard';\nimport EntityWarningAlert from 'common/components/entity-details/alerts/EntityWarningAlert';\n\nimport keyBy from 'lodash/keyBy';\n\nimport { formatISOTime, formatISOTimeWithoutTimezone } from 'common/utils/time';\nimport isNumber from 'lodash/isNumber';\nimport max from 'lodash/max';\nimport min from 'lodash/min';\nimport { useDistanceByCountryRows } from 'common/components/entity-details/hooks/distanceByCountry';\nimport { useDistanceRowsFactory } from 'common/components/entity-details/hooks/distance-rows-factory';\nimport { isNonNil } from 'common/utils';\nimport { deprecatedUseAttachTourPapers } from 'common/components/papers/hooks/deprecated-use-attach-tour-papers';\nimport { BrokerTourDetailsT } from 'broker-admin/store/broker-tour-details/models';\nimport { useAttachShipmentPapers } from 'common/components/papers/hooks/use-attach-shipment-papers';\nimport { brokerShipmentPapersUrlFactory } from 'broker-admin/utils/shipment-papers-url-factory';\nimport { useAttachTourPapers } from 'common/components/papers/hooks/use-attach-tour-papers';\nimport { brokerTourPapersUrlFactory } from 'broker-admin/utils/tour-papers-url-factory';\nimport TourPapersCard from 'common/components/papers/TourPapersCard/TourPapersCard';\nimport { logWarning } from 'common/utils/logger';\nimport ImageGalleryModal from 'common/components/papers/modals/ImageGalleryModal/ImageGalleryModal';\nimport DeletePaperConfirmation from 'common/components/papers/dialogs/DeletePaperConfirmation/DeletePaperConfirmation';\nimport { useBrokerTourPayloadWaypoints } from 'broker-admin/utils/hooks/useBrokerTourPayloadWaypoints';\nimport { AlertGroup } from 'common/layouts/AlertGroup/AlertGroup';\nimport EntityCriticalWarningAlert from 'common/components/entity-details/alerts/EntityCriticalWarningAlert';\nimport DelayingWarningAlert from 'common/components/entity-details/alerts/DelayingWarningAlert';\nimport CurrentTemperatureAlert from 'common/components/entity-details/alerts/CurrentTemperatureAlert';\nimport { checkTemperatureViolation } from 'common/components/entity-details/utils/check-temperature-violation';\nimport EntityEtaAlert from 'common/components/entity-details/alerts/EntityEtaAlert';\nimport ViolationTemperatureAlert from 'common/components/entity-details/alerts/ViolationTemperatureAlert';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\n\ntype PropsT = {\n    brokerTourId: BrokerTourIdT;\n    brokerTourDetails: BrokerTourDetailsT | null;\n    onOpenUserDetails: (params: {\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n        userId: UserIdT | null;\n    }) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nenum TabEnum {\n    tourDetails = 'tour-details',\n    transportOrders = 'transport-orders',\n    shipments = 'shipments',\n}\n\nconst BrokerTourDetails: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTourId, brokerTourDetails, onOpenUserDetails } = props;\n\n    const { t } = useTranslation();\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isNewPapersAttachmentActive = featuresContext?.checkActiveClientFeature?.(\n        ClientFeatureEnum.newPapersAttachment,\n    );\n\n    const { onAttachTourPapers } = deprecatedUseAttachTourPapers({ isBroker: true });\n\n    const {\n        onAttachTourPaper,\n        onDeleteTourPaper,\n        onConfirmDeleteTourPaper,\n        deleteTourPaperRequestStatus,\n        onDownloadTourPaper,\n        onOpenGalleryTourPaper,\n        getTourPaperThumbnailUrl,\n        deleteTourPaperConfirmationDialog,\n        tourPaperGalleryModal,\n    } = useAttachTourPapers(brokerTourPapersUrlFactory);\n\n    const {\n        onAttachShipmentPaper,\n        onDeleteShipmentPaper,\n        onConfirmDeleteShipmentPaper,\n        deleteShipmentPaperRequestStatus,\n        onDownloadShipmentPaper,\n        onOpenGalleryShipmentPaper,\n        getShipmentPaperThumbnailUrl,\n        deleteShipmentPaperConfirmationDialog,\n        shipmentPaperGalleryModal,\n    } = useAttachShipmentPapers(brokerShipmentPapersUrlFactory);\n\n    const { activeTabType, setActiveTabType } = useTabs<TabEnum>(TabEnum.tourDetails);\n\n    const ref = React.useRef<HTMLDivElement>(null);\n\n    const allWaypoints = useMemo(() => {\n        return brokerTourDetails?.waypoints?.filter(isNonNil) || [];\n    }, [brokerTourDetails]);\n\n    const waypointById = useMemo(() => {\n        return keyBy(allWaypoints, 'id');\n    }, [allWaypoints]);\n\n    const allShipments = useMemo(() => {\n        return brokerTourDetails?.shipments?.filter(isNonNil) || [];\n    }, [brokerTourDetails]);\n\n    const isLastNotFinallyShipment = useMemo(() => {\n        return (\n            allShipments?.filter((shipment) => {\n                return !finallyStatusSet.has(shipment.status);\n            })?.length === 1\n        );\n    }, [allShipments]);\n\n    const carrierTransportOrders = useMemo(() => {\n        return brokerTourDetails?.transportationOrders?.filter(isNonNil) || [];\n    }, [brokerTourDetails]);\n\n    const fullCarrierCost = brokerTourDetails?.fullCarrierCost || null;\n\n    const summaryDistance = fullCarrierCost?.distances?.totalDistance;\n\n    const payloadDistanceByCountryRows = useDistanceByCountryRows(fullCarrierCost?.distances?.byCountry);\n    const summaryPayloadDistance = Math.round(fullCarrierCost?.distances?.totalDistance || 0);\n\n    const deadheadDistanceByCountryRows = useDistanceByCountryRows(fullCarrierCost?.deadhead?.distances?.byCountry);\n    const summaryDeadheadDistance = Math.round(fullCarrierCost?.deadhead?.distances?.totalDistance || 0);\n\n    const distanceRowsFactory = useDistanceRowsFactory();\n\n    const mileageDetails: Array<InfoTableRowT | null> = [\n        {\n            ...distanceRowsFactory.totalDistance(convertToKm(summaryDistance)),\n            rows: [\n                isNumber(summaryPayloadDistance)\n                    ? {\n                          ...distanceRowsFactory.summaryPayloadDistance(convertToKm(summaryPayloadDistance)),\n                          rows: payloadDistanceByCountryRows,\n                      }\n                    : null,\n                isNumber(summaryDeadheadDistance)\n                    ? {\n                          ...distanceRowsFactory.summaryDeadheadDistance(convertToKm(summaryDeadheadDistance)),\n                          rows: deadheadDistanceByCountryRows,\n                      }\n                    : null,\n            ],\n        },\n    ];\n\n    const shipperOrderDetails: Array<InfoTableRowT | null> = React.useMemo(() => {\n        const shipperId = brokerTourDetails?.shipper?.id;\n        const brokerOrderId = brokerTourDetails?.order?.id;\n        const createdBy = brokerTourDetails?.createdBy;\n\n        return [\n            {\n                icon: <ShipperIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('broker-entity-details.columns.shipper'),\n                value: shipperId ? (\n                    <LinkFormatter to={urlFactory.partnerDetails(PartnerTypeEnum.shipper, shipperId)}>\n                        {brokerTourDetails?.shipper?.name}\n                    </LinkFormatter>\n                ) : null,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                testSelector: 'shipper',\n                rows: [\n                    {\n                        icon: null,\n                        name: t('broker-tour-details.columns.order'),\n                        value: brokerOrderId ? (\n                            <LinkFormatter to={urlFactory.brokerOrderDetails(brokerOrderId)}>\n                                {brokerTourDetails?.order?.number}\n                            </LinkFormatter>\n                        ) : null,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        testSelector: 'order',\n                    },\n                    {\n                        icon: null,\n                        name: t('broker-entity-details.columns.order-created-on'),\n                        value: <DateFormatter date={brokerTourDetails?.createdDate} format=\"DD MMM YYYY, HH:mm\" />,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        testSelector: 'order-created-on',\n                    },\n                    {\n                        icon: null,\n                        name: t('broker-entity-details.columns.order-created-by'),\n                        value:\n                            createdBy && shipperId ? (\n                                <LinkFormatter\n                                    onClick={() => {\n                                        onOpenUserDetails({\n                                            partnerType: PartnerTypeEnum.shipper,\n                                            partnerId: shipperId,\n                                            userId: createdBy.id,\n                                        });\n                                    }}\n                                >\n                                    {createdBy?.fullName}\n                                </LinkFormatter>\n                            ) : null,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        testSelector: 'order-created-by',\n                    },\n                ],\n            },\n        ];\n    }, [brokerTourDetails, t, onOpenUserDetails]);\n\n    const tabs = useMemo((): Array<ButtonTabT<TabEnum> | null> => {\n        const transportOrderCount = brokerTourDetails?.transportationOrders?.length || 0;\n\n        const shipmentCount = brokerTourDetails?.shipments?.length || 0;\n\n        return [\n            {\n                type: TabEnum.tourDetails,\n                label: t('broker-tour-details.tab-titles.tour-details'),\n            },\n            shipmentCount\n                ? {\n                      type: TabEnum.shipments,\n                      label: t('broker-tour-details.tab-titles.shipments'),\n                      counter: {\n                          value: shipmentCount,\n                          theme: ButtonTabCountThemeEnum.normal,\n                      },\n                  }\n                : null,\n            transportOrderCount\n                ? {\n                      type: TabEnum.transportOrders,\n                      label: t('broker-tour-details.tab-titles.transport-orders'),\n                      counter: {\n                          value: transportOrderCount,\n                          theme: ButtonTabCountThemeEnum.normal,\n                      },\n                  }\n                : null,\n        ];\n    }, [t, brokerTourDetails]);\n\n    const { originWaypoint, destinationWaypoint } = useBrokerTourPayloadWaypoints(allWaypoints);\n\n    const requiredTemperatureMin = useMemo(() => {\n        return max(\n            allShipments.map((shipment) => {\n                return shipment?.lowestTemperature;\n            }),\n        );\n    }, [allShipments]);\n\n    const requiredTemperatureMax = useMemo(() => {\n        return min(\n            allShipments.map((shipment) => {\n                return shipment?.highestTemperature;\n            }),\n        );\n    }, [allShipments]);\n\n    const hasNotShowShipments = useMemo(() => {\n        return allShipments.some((shipment) => {\n            return shipment?.warning === ShipmentWarningEnum.noShow;\n        });\n    }, [allShipments]);\n\n    const hasMissedShipments = useMemo(() => {\n        return allShipments.some((shipment) => {\n            return shipment?.warning === ShipmentWarningEnum.missed;\n        });\n    }, [allShipments]);\n\n    const handleAttachTourPaper = React.useCallback(\n        (paperType: ApiTourAttachedPaperTypeT) => {\n            if (!brokerTourId) {\n                logWarning('failed to attach paper, empty brokerTourId');\n                return;\n            }\n\n            onAttachTourPaper(brokerTourId, paperType);\n        },\n        [brokerTourId, onAttachTourPaper],\n    );\n\n    const reeferTemperatureMin = brokerTourDetails?.trailerTemperature?.reeferTemperatureMin;\n    const reeferTemperatureMax = brokerTourDetails?.trailerTemperature?.reeferTemperatureMax;\n    const hasTemperatureViolation = checkTemperatureViolation({\n        reeferTemperatureMin,\n        reeferTemperatureMax,\n        requiredTemperatureMin,\n        requiredTemperatureMax,\n    });\n\n    if (!brokerTourDetails) {\n        return null;\n    }\n\n    return (\n        <div ref={ref}>\n            <RouteLocationsOverview\n                className={cx('route')}\n                origin={originWaypoint?.address}\n                pickupDockingHoursFrom={originWaypoint?.correctedDateTimeFrom || originWaypoint?.originalDateTimeFrom}\n                pickupDockingHoursTo={originWaypoint?.correctedDateTimeTo || originWaypoint?.originalDateTimeTo}\n                destination={destinationWaypoint?.address}\n                dropOffDockingHoursFrom={\n                    destinationWaypoint?.correctedDateTimeFrom || destinationWaypoint?.originalDateTimeFrom\n                }\n                dropOffDockingHoursTo={\n                    destinationWaypoint?.correctedDateTimeTo || destinationWaypoint?.originalDateTimeTo\n                }\n            />\n            <ExcludedCountries\n                className={cx('excluded-countries')}\n                titleNode={t('common:entity-details.excluded-countries.title')}\n                countryCodes={brokerTourDetails?.prohibitedCountries || []}\n                tooltipNode={t('common:entity-details.excluded-countries.tooltip')}\n            />\n            <AlertGroup className={cx('alerts')}>\n                {brokerTourDetails?.runningOutOfTimeToAssignAsset && (\n                    <EntityWarningAlert key={`runningOutOfTimeToAssignAsset-${brokerTourDetails?.id}`}>\n                        {t('broker-entity-details.alerts.running-out-of-time-assign-assets')}\n                    </EntityWarningAlert>\n                )}\n                {brokerTourDetails?.runOutOfTimeToAssignAsset && (\n                    <EntityCriticalWarningAlert key={`runOutOfTimeToAssignAsset-${brokerTourDetails?.id}`}>\n                        {t('broker-entity-details.alerts.run-out-of-time-assign-assets')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {brokerTourDetails?.runningOutOfTimeToAssignDriver && (\n                    <EntityWarningAlert key={`runningOutOfTimeToAssignDriver-${brokerTourDetails?.id}`}>\n                        {t('broker-entity-details.alerts.running-out-of-time-assign-driver')}\n                    </EntityWarningAlert>\n                )}\n                {brokerTourDetails?.runOutOfTimeToAssignDriver && (\n                    <EntityCriticalWarningAlert key={`runOutOfTimeToAssignDriver-${brokerTourDetails?.id}`}>\n                        {t('broker-entity-details.alerts.run-out-of-time-assign-driver')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {brokerTourDetails?.runningOutOfTimeToAssignCarrier && (\n                    <EntityWarningAlert key={`runningOutOfTimeToAssignCarrier-${brokerTourDetails?.id}`}>\n                        {t('broker-entity-details.alerts.running-out-of-time-assign-carrier')}\n                    </EntityWarningAlert>\n                )}\n                {brokerTourDetails?.runOutOfTimeToAssignCarrier && (\n                    <EntityCriticalWarningAlert key={`runOutOfTimeToAssignCarrier-${brokerTourDetails?.id}`}>\n                        {t('broker-entity-details.alerts.run-out-of-time-assign-carrier')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {brokerTourDetails?.delaying && (\n                    <DelayingWarningAlert key={`delaying-${brokerTourDetails?.id}`}>\n                        {t('broker-entity-details.alerts.delaying', {\n                            time: brokerTourDetails?.etaToNextWaypoint\n                                ? formatISOTime(brokerTourDetails?.etaToNextWaypoint)\n                                : '',\n                        })}\n                    </DelayingWarningAlert>\n                )}\n                {hasTemperatureViolation && (\n                    <ViolationTemperatureAlert key=\"violation-temperature\">\n                        {t('broker-entity-details.alerts.violation-temperature-mode', {\n                            currentMin: reeferTemperatureMin,\n                            currentMax: reeferTemperatureMax,\n                            requiredMin: requiredTemperatureMin,\n                            requiredMax: requiredTemperatureMax,\n                        })}\n                    </ViolationTemperatureAlert>\n                )}\n                {carrierTransportOrders?.map((carrierTransportOrder) => {\n                    return (\n                        <>\n                            {carrierTransportOrder?.status === TransportOrderStatusEnum.declined && (\n                                <EntityWarningAlert key={`declined-transport-order-${carrierTransportOrder.id}`}>\n                                    {t('broker-entity-details.alerts.carrier-declined-transport-order')}\n                                </EntityWarningAlert>\n                            )}\n                            {isNumber(reeferTemperatureMin) && isNumber(reeferTemperatureMax) && (\n                                <CurrentTemperatureAlert key={`current-temperature-${carrierTransportOrder.id}`}>\n                                    {t('broker-entity-details.alerts.current-temperature', {\n                                        min: reeferTemperatureMin,\n                                        max: reeferTemperatureMax,\n                                    })}\n                                </CurrentTemperatureAlert>\n                            )}\n                        </>\n                    );\n                })}\n                {hasMissedShipments && (\n                    <EntityCriticalWarningAlert key=\"missed-shipments\">\n                        {t('broker-entity-details.alerts.missed-shipments')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {hasNotShowShipments && (\n                    <EntityCriticalWarningAlert key=\"no-show-shipments\">\n                        {t('broker-entity-details.alerts.no-show-shipments')}\n                    </EntityCriticalWarningAlert>\n                )}\n                {brokerTourDetails?.etaToNextWaypoint && (\n                    <EntityEtaAlert\n                        tooltipContent={\n                            brokerTourDetails?.truckCoordinatesUpdatedAt\n                                ? t('broker-entity-details.alerts.sync-time', {\n                                      time: formatISOTimeWithoutTimezone(brokerTourDetails?.truckCoordinatesUpdatedAt),\n                                  })\n                                : null\n                        }\n                    >\n                        {t('broker-entity-details.alerts.eta', {\n                            time: formatISOTime(brokerTourDetails?.etaToNextWaypoint),\n                        })}\n                    </EntityEtaAlert>\n                )}\n            </AlertGroup>\n            {brokerTourDetails?.order && (\n                <InfoTable\n                    shouldRenderIcons\n                    className={cx('table', 'table--shipper-order')}\n                    rows={shipperOrderDetails}\n                    testSelector=\"shipper-order\"\n                />\n            )}\n            <InfoTable\n                shouldRenderIcons\n                className={cx('table', 'table--mileages')}\n                rows={mileageDetails}\n                testSelector=\"mileages\"\n            />\n            <CarrierCostPriceInfoTable\n                className={cx('table')}\n                totalPrice={brokerTourDetails?.estimateCarrierCost?.totalCost}\n                totalPriceLabel={t('broker-entity-details.columns.carrier-estimated-cost')}\n                totalPriceTooltip={t('broker-entity-details.column-placeholders.carrier-estimated-cost')}\n                lineHaulCost={brokerTourDetails?.estimateCarrierCost?.lineHaul}\n                tollCost={brokerTourDetails?.estimateCarrierCost?.toll?.totalCost}\n                tollByRoadType={brokerTourDetails?.estimateCarrierCost?.toll?.byRoadType}\n                co2={brokerTourDetails?.estimateCarrierCost?.co2}\n                layoverCost={brokerTourDetails?.estimateCarrierCost?.layover?.totalCost}\n                layoverSeconds={brokerTourDetails?.estimateCarrierCost?.layover?.totalSeconds}\n                layoverPaidHours={brokerTourDetails?.estimateCarrierCost?.layover?.paidHours}\n                fuelDetails={brokerTourDetails?.estimateCarrierCost?.fuel}\n                teamDriveCost={brokerTourDetails?.estimateCarrierCost?.teamDriveCost}\n                travelHours={brokerTourDetails?.estimateCarrierCost?.teamDriveHours}\n                additionalServiceItems={brokerTourDetails?.estimateCarrierCost?.additionalServices?.items}\n                appliedRules={brokerTourDetails?.estimateCarrierCost?.appliedRules}\n                testSelector=\"estimated-carrier-cost\"\n                shouldAlwaysRenderExpandTrigger\n            />\n            <div className={cx('separator')} />\n            <CarrierCostPriceInfoTable\n                className={cx('table', 'table--carrier-cost')}\n                totalPrice={brokerTourDetails?.fullCarrierCost?.totalCost}\n                totalPriceLabel={t('broker-entity-details.columns.carrier-cost')}\n                lineHaulCost={brokerTourDetails?.fullCarrierCost?.lineHaul}\n                tollCost={brokerTourDetails?.fullCarrierCost?.toll?.totalCost}\n                tollByRoadType={brokerTourDetails?.fullCarrierCost?.toll?.byRoadType}\n                co2={brokerTourDetails?.fullCarrierCost?.co2}\n                layoverCost={brokerTourDetails?.fullCarrierCost?.layover?.totalCost}\n                layoverSeconds={brokerTourDetails?.fullCarrierCost?.layover?.totalSeconds}\n                layoverPaidHours={brokerTourDetails?.fullCarrierCost?.layover?.paidHours}\n                fuelDetails={brokerTourDetails?.fullCarrierCost?.fuel}\n                teamDriveCost={brokerTourDetails?.fullCarrierCost?.teamDriveCost}\n                travelHours={brokerTourDetails?.fullCarrierCost?.teamDriveHours}\n                additionalServiceItems={brokerTourDetails?.fullCarrierCost?.additionalServices?.items}\n                deadheadLineHaulCost={brokerTourDetails?.fullCarrierCost?.deadhead?.lineHaul}\n                payloadLineHaulCost={brokerTourDetails?.fullCarrierCost?.payload?.lineHaul}\n                appliedRules={brokerTourDetails?.fullCarrierCost?.appliedRules}\n                testSelector=\"carrier-cost\"\n                shouldAlwaysRenderExpandTrigger\n            />\n            <ButtonTabs\n                className={cx('tabs')}\n                activeTabType={activeTabType}\n                setActiveTabType={setActiveTabType}\n                tabs={tabs}\n            />\n            {activeTabType === TabEnum.tourDetails && (\n                <TabTourDetails\n                    tour={brokerTourDetails}\n                    transportationOrders={brokerTourDetails?.transportationOrders}\n                    className={cx('entry-card')}\n                />\n            )}\n            {activeTabType === TabEnum.transportOrders && (\n                <>\n                    {brokerTourDetails?.transportationOrders?.map((transportationOrder, transportationOrderIndex) => {\n                        return (\n                            <TransportOrderDetailsCard\n                                key={`transportationOrderIndex-${transportationOrderIndex}`}\n                                transportOrderDetails={transportationOrder}\n                                transportOrderNumber={transportationOrder.number}\n                                className={cx('entry-card')}\n                                keyboardShortcut={String(transportationOrderIndex + 1)}\n                            />\n                        );\n                    })}\n                </>\n            )}\n            {activeTabType === TabEnum.shipments && (\n                <>\n                    {brokerTourDetails?.shipments?.map((shipment, shipmentIndex) => {\n                        return (\n                            <ShipmentDetailsCard\n                                key={shipmentIndex}\n                                shipment={shipment}\n                                waypointById={waypointById}\n                                shipmentNumber={shipmentIndex + 1}\n                                className={cx('entry-card')}\n                                keyboardShortcut={String(shipmentIndex + 1)}\n                                isReeferTrailer={!!brokerTourDetails?.trailerTemperature}\n                                tourId={brokerTourId}\n                                onAttachTourPapers={onAttachTourPapers}\n                                shouldConfirmForCancelLastShipment={isLastNotFinallyShipment}\n                                onAttachShipmentPaper={onAttachShipmentPaper}\n                                getShipmentPaperThumbnailUrl={getShipmentPaperThumbnailUrl}\n                                onOpenGalleryShipmentPaper={onOpenGalleryShipmentPaper}\n                                onDownloadShipmentPaper={onDownloadShipmentPaper}\n                                onDeleteShipmentPaper={onDeleteShipmentPaper}\n                                onOpenUserDetails={onOpenUserDetails}\n                            />\n                        );\n                    })}\n                </>\n            )}\n            {!isNewPapersAttachmentActive && (\n                <DeprecateTourPapersCard\n                    className={cx('papers-card')}\n                    tourId={brokerTourId}\n                    onAttachTourPapers={onAttachTourPapers}\n                    isBroker\n                    title={t('common:entity-details.papers')}\n                />\n            )}\n            {isNewPapersAttachmentActive && (\n                <TourPapersCard\n                    className={cx('papers-card')}\n                    tourId={brokerTourId}\n                    attachedPapers={brokerTourDetails?.attachedPapers || null}\n                    onOpenUserDetails={onOpenUserDetails}\n                    getTourPaperThumbnailUrl={getTourPaperThumbnailUrl}\n                    onOpenGalleryTourPaper={onOpenGalleryTourPaper}\n                    onDownloadTourPaper={onDownloadTourPaper}\n                    onDeleteTourPaper={onDeleteTourPaper}\n                    onAttachTourPaper={handleAttachTourPaper}\n                />\n            )}\n            <ImageGalleryModal data={shipmentPaperGalleryModal.data} onClose={shipmentPaperGalleryModal.onClose} />\n            <ImageGalleryModal data={tourPaperGalleryModal.data} onClose={tourPaperGalleryModal.onClose} />\n            <DeletePaperConfirmation\n                requestStatus={deleteShipmentPaperRequestStatus}\n                data={deleteShipmentPaperConfirmationDialog.data}\n                onConfirm={onConfirmDeleteShipmentPaper}\n                onCancel={deleteShipmentPaperConfirmationDialog.onCancel}\n                onClose={deleteShipmentPaperConfirmationDialog.onClose}\n            />\n            <DeletePaperConfirmation\n                requestStatus={deleteTourPaperRequestStatus}\n                data={deleteTourPaperConfirmationDialog.data}\n                onConfirm={onConfirmDeleteTourPaper}\n                onCancel={deleteTourPaperConfirmationDialog.onCancel}\n                onClose={deleteTourPaperConfirmationDialog.onClose}\n            />\n        </div>\n    );\n});\n\nexport default BrokerTourDetails;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { QueryFiltersT, QueryFiltersKeysEnum } from 'broker-admin/layouts/PartnersPage/query-models';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    return {\n        [QueryFiltersKeysEnum.keyAccountManagerId]: values[FieldsEnum.keyAccountManagerId] || undefined,\n        [QueryFiltersKeysEnum.keyAccountManagerName]: values[FieldsEnum.keyAccountManagerName] || undefined,\n        [QueryFiltersKeysEnum.dispatcherId]: values[FieldsEnum.dispatcherId] || undefined,\n        [QueryFiltersKeysEnum.dispatcherName]: values[FieldsEnum.dispatcherName] || undefined,\n        [QueryFiltersKeysEnum.countryCode]: values[FieldsEnum.countryCode] || undefined,\n    };\n};\n\nexport default getQueryFilters;\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"ShipperContractLaneDetailsPage__fadeIn___d_z2b\",\"blinking\":\"ShipperContractLaneDetailsPage__blinking___FTT0t\"};","import * as React from 'react';\nimport debounce from 'lodash/debounce';\nimport { useMemo } from 'react';\n\nfunction useContainerScroll() {\n    const [scrollTop, setScrollTop] = React.useState<number>(0);\n\n    const containerRef = React.useRef<HTMLDivElement>(null);\n\n    const onContainerScroll = useMemo(() => {\n        return debounce(\n            () => {\n                setScrollTop(containerRef?.current?.scrollTop || 0);\n            },\n            100,\n            { maxWait: 100 },\n        );\n    }, [setScrollTop]);\n\n    return {\n        containerRef,\n        onContainerScroll,\n        scrollTop,\n    };\n}\n\nexport default useContainerScroll;\n","import { CompanyTypeEnum } from '../../constants';\n\nexport type ApiCountryT = Api2.Definitions.CountryDto;\n\nexport type ApiUserT = Api.Definitions.UserInfo;\nexport type ApiUserUpdateT = Api.Definitions.UpdateUserInfoDto;\n\nexport type ApiUserStatusT = Api2.Definitions.UserStatus;\nexport enum UserStatusEnum {\n    active = 'ACTIVE',\n    pending = 'PENDING',\n    archived = 'ARCHIVED',\n}\n\nexport type ApiCompanyT = Api.Definitions.CompanyDto;\nexport type ApiPartnerCompanyT = Api.Definitions.BrokerCompanyDto;\nexport type ApiCompanyChangesT = Api.Definitions.CompanyUpdateDto;\nexport type ApiBrokerCompanyChangesT = Api.Definitions.BrokerCompanyUpdateDto;\nexport type ApiLocationT = Api.Definitions.Address;\n\nexport type ApiActualOrderRequestT = Api2.Definitions.RfqRequest;\n\nexport type ApiAddressPointT = Api2.Definitions.AddressPoint;\n\nexport type ApiOrderWaypointT = Api2.Definitions.OrderWaypointDto;\n\nexport type ApiRFQDetailsT = Api2.Definitions.RFQFullDto;\nexport type ApiOrderDetailsT = Api2.Definitions.OrderFullDto;\n\nexport type ApiBrokerCommonTourDetailsT = Api2.Definitions.BrokerCommonTourFullDto;\n\nexport type ApiDistanceByCountryT = Api2.Definitions.DistanceDetailsDto['byCountry'];\n\nexport type ApiMultiPointPriceOfferT = Api2.Definitions.PriceOfferMultipointDto;\nexport type ApiContractLaneT = Api2.Definitions.ReservedOrderDto['contractLanes'][number];\n\nexport type ApiAppliedRuleT = Api2.Definitions.AppliedRuleDto;\n\nexport type ApiRuleTargetT = Api2.Definitions.ManualRateRuleDto['target'];\nexport type ApiRuleOperatorT = Api2.Definitions.ManualRateRuleDto['operator'];\nexport enum RuleOperatorEnum {\n    percents = 'PERCENTS',\n    value = 'VALUE',\n}\nexport type ApiRuleValueT = Api2.Definitions.ManualRateRuleDto['value'];\n\nexport type ApiPriceRuleTypeRequestT = Api2.Definitions.RuleTypeRequest;\n\nexport type ApiPriceRuleTypeT = Api2.Definitions.RuleType;\nexport enum PriceRuleTypeEnum {\n    basic = 'BASIC',\n    carrier = 'CARRIER',\n    shipper = 'SHIPPER',\n    custom = 'CUSTOM',\n}\n\nexport type ApiCreateOrderRequestT = Api2.Definitions.CompleteRFQDto;\n\nexport type ApiTransportationOrderTypeT = Api2.Definitions.TransportationOrderType;\nexport enum TransportationOrderTypeEnum {\n    trailer = 'TRAILER',\n    truck = 'TRUCK',\n    train = 'TRAIN',\n}\n\nexport type ApiTrailerDictTypeT = Api.Definitions.DictTrailerInfoDto;\nexport type ApiTrailerTypeT = NonNullable<Api.Definitions.DictTrailerInfoDto['trailerType']>;\n\nexport type ApiTrailersDictT = Record<TrailerDictIdT, Array<ApiTrailerDictTypeT>>;\n\nexport type ApiActivateVehiclesRequestT = Api2.Definitions.ActivateVehicleRequest;\nexport type ApiArchiveVehiclesRequestT = Api2.Definitions.ArchivedVehicleRequest;\nexport type ApiChangeContractVehiclesRequestT = Api2.Definitions.ChangeContractRequest;\nexport type ApiChangeRateVehiclesRequestT = Api2.Definitions.ChangeRateRequest;\n\n// patch query, query parameters \"page\" and \"sort\" is missing in backend docs\nexport type OverwritePageRequestWithSortQueryT<T> = OverwriteT<\n    T,\n    {\n        sort?: string;\n    }\n>;\nexport type OverwritePageRequestWithSortT<T> = OverwritePageRequestWithSortQueryT<T> & {\n    page: number;\n};\n\nexport type OverwritePageRequestT<T> = T & {\n    page: number;\n};\n\nexport type FixPageableCommonQueryT = {\n    page?: Api2.Parameters.PageNumber;\n    size?: Api2.Parameters.PageSize;\n};\n\nexport enum ShipperOrdersQuickFilterEnum {\n    placed = 'placed',\n    inProgress = 'in-progress',\n    delivered = 'delivered',\n    done = 'done',\n    withIssues = 'with-issues',\n    cancelled = 'cancelled',\n}\n\nexport type ApiOrderSourceT = Api2.Definitions.OrderSource;\nexport enum ApiOrdersSourceEnum {\n    all = 'ALL',\n    imported = 'IMPORTED',\n    internal = 'INTERNAL',\n}\n\nexport enum BrokerOrdersQuickFilterEnum {\n    new = 'new',\n    carrierUnassigned = 'carrier-unassigned',\n    carrierAssigned = 'carrier-assigned',\n    inTransit = 'in-transit',\n    canceled = 'canceled',\n    delivered = 'delivered',\n}\n\nexport enum OrderSourceEnum {\n    imported = 'imported',\n    internal = 'internal',\n}\nexport type OrderSourceT = `${OrderSourceEnum}`;\n\nexport type ApiOrderStatusT = Api2.Definitions.OrderStatus;\nexport enum OrderStatusEnum {\n    placed = 'PLACED',\n    inProgress = 'IN_PROGRESS',\n    canceled = 'CANCELED',\n    delivered = 'DELIVERED',\n    done = 'DONE',\n}\n\nexport type ApiBrokerOrderStatusT = Api2.Definitions.OrderCalculatedStatus;\nexport enum BrokerOrderStatusEnum {\n    newOrder = 'NEW_ORDER',\n    carrierUnassigned = 'CARRIER_UNASSIGNED',\n    carrierAssigned = 'CARRIER_ASSIGNED',\n    inTransit = 'IN_TRANSIT',\n    delivered = 'DELIVERED',\n    canceled = 'CANCELED',\n    unknown = 'UNKNOWN',\n}\n\nexport type ApiSpotBidStatusT = SpotApi.Definitions.BidDto['status'];\n\nexport enum SpotBidStatusEnum {\n    new = 'NEW',\n    open = 'OPEN',\n    accepted = 'ACCEPTED',\n    rejected = 'REJECTED',\n    expired = 'EXPIRED',\n    won = 'WON',\n    lost = 'LOST',\n    missed = 'MISSED',\n    canceled = 'CANCELED',\n}\n\nexport enum TransportOrderQuickFilterEnum {\n    new = 'new',\n    noAssets = 'no-assets',\n    noDriver = 'no-driver',\n\n    declined = 'declined',\n    assigned = 'assigned',\n    inTransit = 'in-transit',\n    done = 'done',\n    canceled = 'canceled',\n}\n\nexport type ApiTransportOrderStatusT = Api2.Definitions.TransportationOrderInfoStatus;\nexport enum TransportOrderStatusEnum {\n    assetsUnassigned = 'ASSETS_UNASSIGNED',\n    driverUnassigned = 'DRIVER_UNASSIGNED',\n    assigned = 'ASSIGNED',\n    inTransit = 'IN_TRANSIT',\n    declined = 'DECLINED',\n    done = 'DONE',\n    canceled = 'CANCELED',\n    unknown = 'UNKNOWN',\n}\n\nexport type ApiOrderT = Api2.Definitions.OrderShipperFiltrationResult;\n\nexport enum OrderSortEnum {\n    createdDate = `createdDate`,\n    dropOffDateFrom = `loads.destination.stayFrom`,\n    pickupDateFrom = `loads.origin.stayFrom`,\n    cost = `broker-orders.priceOffer.totalPrice`,\n}\n\nexport type ApiShipperContractT = Api2.Definitions.ShipperContractShortDto;\nexport type ApiShipperContractBrokerT = Api.Definitions.ApiShipperContractBrokerShortDto;\nexport type ApiShipperContractLaneBrokerT = Api2.Definitions.ShipperContractLaneShortDto;\n\nexport type ApiTransportOrderT = Api2.Definitions.TransportationOrderListDto;\n\nexport type ApiShipperContractDetailsT = Api.Definitions.ApiShipperContractDto;\nexport type ApiBrokerShipperContractDetailsT = Api.Definitions.ApiShipperContractBrokerDto;\n\nexport type ApiShipperContractLaneDetailsT = Api2.Definitions.ShipperContractLaneBrokerDto;\nexport type ApiBrokerShipperContractLaneDetailsT = Api2.Definitions.ShipperContractLaneBrokerDto;\n\nexport type ApiTransportOrderStatsT = Api2.Definitions.TransportationOrderStatisticDto;\n\nexport type ApiBrokerOrderStatsT = Api2.Definitions.BrokerOrderStatisticDto;\nexport type ApiOrdersStatsT = Api2.Definitions.OrderShipperStatistic;\n\nexport enum TransportOrderSortEnum {\n    dropOffDate = 'destinationDockingHoursFrom',\n    pickupDate = 'originDockingHoursFrom',\n    receiveDate = 'receiveDate',\n    price = 'totalCost',\n}\n\nexport enum TransportOrderTypeEnum {\n    truck = 'TRUCK',\n    trailer = 'TRAILER',\n    train = 'TRAIN',\n}\n\nexport type ApiDictCarrierAdditionalServiceGroupT = Api2.Definitions.DictCarrierAdditionalServiceGroup;\nexport type ApiDictCarrierAdditionalServiceT = Api2.Definitions.DictCarrierAdditionalServiceDto;\nexport type ApiDictCarrierAdditionalServiceTypeT = Api2.Definitions.CarrierAdditionalServiceType;\n\nexport type ApiTrailerStatusT = NonNullable<Api2.Definitions.CarrierTrailerFullInfo['status']>;\n\nexport enum TrailerStatusEnum {\n    free = 'FREE',\n    inTransit = 'IN_TRANSIT',\n    unavailable = 'UNAVAILABLE',\n    archived = 'ARCHIVED',\n}\n\nexport enum TrailersSortEnum {\n    createdDate = 'createdDate',\n    archiveDate = 'archiveData',\n}\n\nexport type ApiTrailerAddRequestT = Api2.Definitions.CreateTrailerRequest;\nexport type ApiTrailerUpdateRequestT = Api2.Definitions.UpdateTrailerRequest;\n\nexport enum TrucksSortEnum {\n    createdDate = 'createdDate',\n    archiveDate = 'archiveData',\n}\n\nexport type ApiTruckStatusT = NonNullable<Api2.Definitions.BrokerTruckFullInfo['status']>;\n\nexport enum TruckStatusEnum {\n    free = 'FREE',\n    inTransit = 'IN_TRANSIT',\n    unavailable = 'UNAVAILABLE',\n    archived = 'ARCHIVED',\n}\n\nexport type ApiTruckAddRequestT = Api2.Definitions.CreateTruckRequest;\nexport type ApiTruckUpdateRequestT = Api2.Definitions.UpdateTruckRequest;\n\nexport type ApiTruckT = Api2.Definitions.TruckShortDto;\n\nexport type ApiTruckDictTypeT = Api.Definitions.DictTruckListDto;\n\nexport type ApiTrucksDictT = Api.Definitions.DictTruckListDto[];\n\nexport enum ContactPositionsEnum {\n    operator = 'operator',\n    management = 'management',\n    sales = 'sales',\n    owner = 'owner',\n    it = 'it',\n}\n\nexport type UserRoleT = NonNullable<Api.Definitions.UserRole['role']>;\n\nexport type ApiNewUserRoleT = Api2.Definitions.NewUserRole;\n\nexport enum RolesEnum {\n    companyAdmin = 'COMPANY_ADMIN',\n    serviceUser = 'SERVICE_USER',\n    driver = 'DRIVER',\n    user = 'USER',\n    keyAccountManager = 'KEY_ACCOUNT_MANAGER',\n    dispatcher = 'DISPATCHER',\n}\n\nexport type AuthUserClaimRoleT = CompanyTypeEnum | RolesEnum;\n\nexport type ApiInviteUserRequestT = Api2.Definitions.InviteUserDto;\nexport type ApiInviteUserRoleT = Api2.Definitions.InviteUserRole;\nexport type ApiPartnerInviteUserRequestT = Api2.Definitions.InviteUserDto;\n\nexport type ApiCompanyContactRequestT = Api.Definitions.ContactDto;\nexport type ApiCompanyContactMediaT = Api.Definitions.ContactMediaDto;\n\nexport type ApiCompanyContactT = Api.Definitions.ContactShortDto;\n\nexport type ApiCompanyContactDetailsT = Api.Definitions.ContactDto;\n\nexport type ApiMainContactUnavailableReasonT = NonNullable<Api.Definitions.ContactDto['mainContactUnavailableReason']>;\n\nexport type ApiCompanyDriverT = Api2.Definitions.DriverListDto;\n\nexport type ApiCompanyDriverDetailsT = Api2.Definitions.DriverDto;\n\nexport type ApiInviteDriverRequestT = { phone: string };\nexport type ApiAddDriverRequestT = Api2Paths.ApiV2CarrierDriversAddDriver.Post.RequestBody;\nexport type ApiUpdateDriverRequestT = Api2.Definitions.DriverUpdateDto;\n\nexport enum DriversSortEnum {\n    name = 'name',\n    surname = 'surname',\n    createdDate = 'created-date',\n}\n\nexport type ApiPartnerTypeT = Api2.Definitions.CompanyType;\nexport enum PartnerTypeEnum {\n    shipper = 'SHIPPER',\n    carrier = 'CARRIER',\n    broker = 'BROKER',\n}\n\nexport type ApiPartnerT = Api.Definitions.CompanyShortDto;\n\nexport enum PartnersSortEnum {\n    name = 'name',\n}\n\nexport type ApiCarrierContractStatusT = Api2.Definitions.CarrierContractStatus;\n\nexport enum CarrierContractStatusEnum {\n    waitingForApprove = 'WAITING_FOR_APPROVE',\n    approved = 'APPROVED',\n    rejected = 'REJECTED',\n    revoked = 'REVOKED',\n    expired = 'EXPIRED',\n}\n\nexport type ApiDocumentStatusT = NonNullable<Api.Definitions.DocumentShortDto['status']>;\n\nexport enum DocumentStatusEnum {\n    waitingForApprove = 'WAITING_FOR_APPROVE',\n    approved = 'APPROVED',\n    rejected = 'REJECTED',\n    archived = 'ARCHIVED',\n    revoked = 'REVOKED',\n    expired = 'EXPIRED',\n}\n\nexport type ApiInvoiceStatusT = NonNullable<Api.Definitions.BrokerInvoiceDto['status']>;\n\nexport enum InvoiceStatusEnum {\n    draft = 'DRAFT',\n    open = 'OPEN',\n    void = 'VOID',\n    paid = 'PAID',\n    uncollectible = 'UNCOLLECTIBLE',\n}\n\nexport type ApiDocumentTypeT = Api.Definitions.DocumentShortDto['documentType'];\n\nexport enum DocumentTypeEnum {\n    certificateOfIncorportion = 'CERTIFICATE_OF_INCORPORATION',\n    evidenceOfTaxVat = 'EVIDENCE_OF_TAX_VAT',\n    transportationAgreement = 'TRANSPORTATION_AGREEMENT',\n    termsAndConditions = 'TERMS_AND_CONDITIONS',\n    creditScoreCheck = 'CREDIT_SCORE_CHECK',\n    GDP = 'GDP',\n    IFS = 'IFS',\n    SQAS = 'SQAS',\n    wasteManagement = 'WASTE_MANAGEMENT',\n    ISO_9001 = 'ISO_9001',\n    ISO_14001 = 'ISO_14001',\n    goodsVehicleOperatorLicenseForNationalTransportation = 'GOODS_VEHICLE_OPERATOR_LICENSE_FOR_NATIONAL_TRANSPORTATION',\n    goodsVehicleOperatorLicenseForInternationalTransportation = 'GOODS_VEHICLE_OPERATOR_LICENSE_FOR_INTERNATIONAL_TRANSPORTATION',\n    cargoInsurancePolicy = 'CARGO_INSURANCE_POLICY',\n}\n\nexport enum DocumentRequiredEnum {\n    must = 'MUST',\n    optional = 'OPTIONAL',\n    notApplicable = 'NOT_APPLICABLE',\n}\n\nexport type ApiDictDocumentT = Api.Definitions.DictDocumentDto;\n\nexport type ApiDocumentT = Api.Definitions.DocumentShortDto;\n\nexport type ApiContactFormalT = NonNullable<Api.Definitions.ContactDto['formal']>;\n\nexport enum ApiContactFormalEnum {\n    mr = 'MR',\n    mrs = 'MRS',\n    dr = 'DR',\n    prof = 'PROF',\n    mag = 'MAG',\n}\n\nexport type ApiDictLegalFormT = Api.Definitions.DictLegalFormDto;\n\nexport type ApiPartnerDetailsT = Api.Definitions.BrokerCompanyDto;\nexport type CountryCodeT = Api2.Definitions.Countries;\nexport type ApiPartnerContractT = Api2.Definitions.CarrierContractShortDto;\nexport type ApiPartnerContractDetailsT = Api2.Definitions.CarrierContractDto;\n\nexport type ApiRevokePartnerContractInfoT = Api2.Definitions.RevokeCarrierContractRequest;\n\nexport enum RevokeContractActionEnum {\n    setNewContract = 'SET_NEW_CONTRACT',\n    keepOldRate = 'KEEP_OLD_RATE',\n    setNewRate = 'SET_NEW_RATE',\n}\n\nexport enum AddressTypeEnum {\n    legal = 'legal',\n    postal = 'postal',\n    billing = 'billing',\n}\n\nexport type ApiEmployeeT = Api.Definitions.UserShortDto;\n\nexport type ApiRateT = Api.Definitions.ManualRateDto;\n\nexport type ApiRatesT = Array<ApiRateT>;\n\nexport enum UpdateRateStrategyEnum {\n    exactValue = 'EXACT_VALUE',\n    diff = 'PLUS',\n    percent = 'PLUS_PERCENTS',\n}\n\nexport enum RulesSortEnum {\n    name = 'name',\n    updateDate = 'update-date',\n    createdDate = 'created-date',\n    validFrom = 'valid-from',\n    validTill = 'valid-till',\n}\n\nexport type ApiRuleDraftT = Api2.Definitions.UpdateManualRateRuleDto;\nexport type ApiRuleDetailsT = Api2.Definitions.ManualRateRuleDto;\nexport type ApiRuleT = Api2.Definitions.ManualRateRuleFilterDto;\n\nexport type ApiRulePreviewRequestT = Api2.Definitions.ManualRatesPreviewRequest;\nexport type ApiRulePreviewResponseT = Api2.Definitions.ManualRatesPreviewResponse;\nexport type ApiPreviewRuleT = Api2.Definitions.PreviewManualRateRuleDto;\n\nexport type ApiSettingNameT = Api2.Definitions.SettingName;\nexport type ApiSystemSettingsT = Partial<Record<ApiSettingNameT, string>>;\nexport type ApiSettingT = Api2.Definitions.SettingInfo;\n\nexport type ApiCountrySettingsT = Api2.Definitions.SupportedCountries;\n\nexport enum BrokerOrdersSortEnum {\n    pickupDate = `pickUpDateFrom`,\n    dropOffDate = `dropOffDateFrom`,\n    createdDate = `createdDate`,\n}\n\nexport type ApiBrokerOrderShortT = Api2.Definitions.OrderListDto;\n\nexport type ApiPartnerCreationRequestT = ApiPaths.ApiV1BrokerCompany.Post.RequestBody;\nexport type ApiInvitePartnerRequestT = {\n    email: string;\n    partnerType: PartnerTypeEnum;\n};\n\nexport type ApiAssignmentVehicleT = Api2.Definitions.AssetWithAvailableHooks;\n\nexport type ApiCarrierUtilizationT = Api.Definitions.CarrierUtilization;\n\nexport type ApiTransportationOrderFullT = Api2.Definitions.TransportationOrderTourFullDto;\nexport type ApiShipmentDetailsT = Api2.Definitions.ShipmentFullInfo;\n\nexport type ApiBrokerTourDetailsT = Api2Paths.ApiV1BrokerTours$TourId.Get.Responses.$200;\nexport type ApiBrokerTourWaypointT = Api2.Definitions.BrokerTourWaypointDto;\nexport type ApiCanBeCanceledUnavailableReasonT = Api2.Definitions.TourCanBeCanceledUnavailableReason;\n\nexport type ApiBrokerOrderWaypointT = Api2.Definitions.BrokerTourWaypointDto;\nexport type ApiBrokerOrderDetailsT = Api2.Definitions.BrokerOrderFullDto;\nexport type ApiRouteEditBlockReasonT = NonNullable<Api2.Definitions.BrokerOrderFullDto['editBlockReason']>;\n\nexport type ApiTransportationOrderWaypointT = Api2.Definitions.TransportationOrderWaypointDto;\nexport type ApiCarrierTransportOrderDetailsT = Api2.Definitions.CarrierTransportationOrderFullDto;\nexport type ApiBrokerTransportOrderDetailsT = Api2.Definitions.BrokerTransportationOrderFullDto;\nexport type ApiTransportOrderDetailsT =\n    | Api2.Definitions.BrokerTransportationOrderFullDto\n    | Api2.Definitions.CarrierTransportationOrderFullDto;\n\nexport type ApiCarrierAdditionalServiceT = Api2.Definitions.AdditionalServiceDto &\n    Api2.Definitions.CarrierAdditionalServiceDto;\nexport type ApiCarrierAdditionalServiceTypeT = Api2.Definitions.CarrierAdditionalServiceType;\n\nexport type ApiBrokerAdditionalServiceT = Api2.Definitions.AdditionalServiceDto &\n    Api2.Definitions.BrokerAdditionalServiceDto;\nexport type ApiBrokerAdditionalServiceTypeT = Api2.Definitions.BrokerAdditionalServiceType;\n\nexport type ApiAdditionalServicesT = Api2.Definitions.AdditionalServices;\n\nexport type ApiStopTypeT = Api2.Definitions.StopType;\nexport enum StopTypeEnum {\n    pickupTrailer = 'PICKUP_TRAILER',\n    pickupTruck = 'PICKUP_TRUCK',\n    pickupRoadTrain = 'PICKUP_ROAD_TRAIN',\n    pickupDeliveryShipment = 'PICKUP_DELIVERY_SHIPMENT',\n    driveThrough = 'DRIVE_THROUGH',\n    dropAndHook = 'DROP_AND_HOOK',\n    dropTrailer = 'DROP_TRAILER',\n    dropTruck = 'DROP_TRUCK',\n    dropRoadTrain = 'DROP_ROAD_TRAIN',\n    ferryOnboard = 'FERRY_ONBOARD',\n    ferryDisembark = 'FERRY_DISEMBARK',\n}\n\nexport type ApiUnitTypeT = Api2.Definitions.UnitsType;\n\nexport type ApiTourStatusT = Api2.Definitions.TourCalculatedStatus;\nexport enum TourStatusEnum {\n    inTransit = 'IN_TRANSIT',\n    finished = 'FINISHED',\n    canceled = 'CANCELED',\n    carrierUnassigned = 'CARRIER_UNASSIGNED',\n    carrierAssigned = 'CARRIER_ASSIGNED',\n}\n\nexport type ApiShipmentStatusT = Api2.Definitions.ShipmentStatus;\nexport enum ShipmentStatusEnum {\n    awaitingLoading = 'AWAITING_LOADING',\n    loading = 'LOADING',\n    inTransit = 'IN_TRANSIT',\n    unloading = 'UNLOADING',\n    delivered = 'DELIVERED',\n    canceled = 'CANCELED',\n}\n\nexport type ApiShortDriverT = Api2.Definitions.DriverListDto;\n\nexport type ApiNotificationT = Api2.Definitions.NotificationDto & {\n    data: any; // see descriptor\n};\n\nexport type ApiNotificationSubjectTypeT = NonNullable<Api2.Definitions.NotificationDto['subjectType']>;\n\nexport enum SubjectTypeEnum {\n    order = 'ORDER',\n    tour = 'TOUR',\n    shipment = 'SHIPMENT',\n    transportationOrder = 'TRANSPORTATION_ORDER',\n    rfq = 'RFQ',\n    document = 'DOCUMENT',\n    carrierContract = 'CARRIER_CONTRACT',\n    shipperContract = 'SHIPPER_CONTRACT',\n    shipperContractLane = 'SHIPPER_CONTRACT_LANE',\n    trailer = 'TRAILER',\n    truck = 'TRUCK',\n    team = 'TEAM',\n    businessPartner = 'BUSINESS_PARTNER',\n}\n\nexport type ApiRuleImpactStrategyTypeT = NonNullable<Api2.Definitions.ManualRateRuleDto['operator']>;\n\nexport type ApiUpdateDockingHoursQueryT = Array<Api2.Definitions.StopWindowDto>;\n\nexport type ApiGroupedNotificationCountsT = NonNullable<\n    Api2Paths.ApiV1NotificationsUnreadCountByActionByStatus.Get.Responses.$200['byAction']\n>;\nexport type GroupedNotificationCountsT = {\n    DISPATCH_STATUS_CHANGED?: {\n        CANCELED?: number;\n        DELIVERED?: number;\n    };\n    TRANSPORTATION_ORDER_STATUS_CHANGED?: {\n        DECLINED?: number;\n        CANCELED?: number;\n        DONE?: number;\n    };\n    ORDER_STATUS_CHANGED?: {\n        DONE?: number;\n        CANCELED?: number;\n    };\n    // TODO check if this is correct\n    TOUR_STATUS_CHANGED?: {\n        CANCELED?: number;\n        FINISHED?: number;\n    };\n};\n\nexport enum TollTypeEnum {\n    general = 'GENERAL',\n    marketCorrection = 'MARKET_CORRECTION',\n    intermodal = 'INTERMODAL',\n    city = 'CITY',\n    bridge = 'BRIDGE',\n    tunnel = 'TUNNEL',\n    ferry = 'FERRY',\n    mountainPass = 'MOUNTAIN_PASS',\n    unspecified = 'UNSPECIFIED',\n}\nexport const ALL_TOLL_TYPES = [\n    TollTypeEnum.general,\n    TollTypeEnum.marketCorrection,\n    TollTypeEnum.intermodal,\n    TollTypeEnum.mountainPass,\n    TollTypeEnum.city,\n    TollTypeEnum.bridge,\n    TollTypeEnum.tunnel,\n    TollTypeEnum.ferry,\n    TollTypeEnum.unspecified,\n] as const;\n\nexport type ApiTollByRoadTypeT = Api2.Definitions.TollByRoadType;\n\nexport type APIFuelDetailsT = Api2.Definitions.FuelDetailsDto;\nexport type APIFuelByCountryT = Api2.Definitions.FuelDetailsDto['byCountry'];\n\nexport type CancelUnavailableVehicleQueryT = {\n    truckId?: string;\n    trailerId?: string;\n    id?: string;\n};\nexport type SetUnavailableVehicleQueryT = Api.Definitions.ApiCreateVehicleSchedule;\nexport type ApiScheduleAddressT = Api.Definitions.ApiScheduleAddressDto;\n\nexport enum VehicleScheduleEventTypeEnum {\n    shipment = 'SHIPMENT',\n    serviceMaintenance = 'SERVICE_MAINTENANCE',\n    deadhead = 'DEADHEAD',\n    teleport = 'TELEPORT',\n}\n\nexport enum RFQShipperSourceEnum {\n    imported = 'imported',\n    internal = 'internal',\n}\n\nexport type ApiRFQBrokerSourceT = Api2.Definitions.RfqSource;\nexport enum RFQBrokerSourceEnum {\n    carlo = 'CARLO',\n    tender = 'TENDER',\n    internal = 'INTERNAL',\n}\n\nexport type ApiRFQStatusT = Api2.Definitions.RFQStatus;\nexport enum RFQStatusEnum {\n    open = 'OPEN',\n    expireSoon = 'EXPIRE_SOON',\n    expired = 'EXPIRED',\n    completed = 'COMPLETED',\n    closed = 'CLOSED',\n}\n\nexport enum RFQsSortEnum {\n    creationDate = 'createdDate',\n    deadline = 'expiration',\n}\n\nexport enum RFQsQuickFilterEnum {\n    open = 'open',\n    preExpire = 'expireSoon',\n    expired = 'expired',\n    completed = 'completed',\n    closed = 'closed',\n}\n\nexport type ApiRFQsStatsT = Api2Paths.ApiV2RfqsCounts.Get.Responses.$200;\n\n// TODO remove\n/**\n *  @deprecated\n *  */\nexport type CountryCodeUnionT = NonNullable<Api.Definitions.DictLegalFormDto['countryCode']>;\n\nexport type ApiSpotCarrierProfileT = SpotApi.Definitions.CarrierProfileDto;\n\nexport type ApiCountriesT = Api2.Definitions.Countries;\n\nexport enum ShipperContractsSortEnum {\n    addedDate = 'createdDate',\n    validTillDate = 'validTill',\n}\n\nexport enum ShipperContractLanesSortEnum {\n    addedDate = 'createdDate',\n    validTillDate = 'validTill',\n}\n\nexport enum ApiAdditionalServiceTypeEnum {\n    broker = 'BROKER',\n    carrier = 'CARRIER',\n}\n\nexport type ApiCompleteRegistrationT = Api2.Definitions.CompleteRegistrationDto;\n\nexport type ApiRegistrationCompanyRequestDraftT = Omit<\n    Api2.Definitions.RegistrationCompanyRequest,\n    'language' | 'companyType'\n>;\n\nexport type ApiShipperContractStatusT = Api.Definitions.ApiShipperContractDto['status'];\n\nexport enum ShipperContractStatusEnum {\n    active = 'ACTIVE',\n    revoked = 'REVOKED',\n    expired = 'EXPIRED',\n}\n\nexport type ApiShipperContractLaneStatusT = Api2.Definitions.ShipperContractLaneStatus;\n\nexport enum ShipperContractLaneStatusEnum {\n    active = 'ACTIVE',\n    completed = 'COMPLETED',\n    revoked = 'REVOKED',\n    expired = 'EXPIRED',\n}\n\nexport type ApiOrderWaypointTypeT = Api2.Definitions.OrderWaypointDto['type'];\nexport enum OrderWaypointTypeEnum {\n    ferryOnboard = 'FERRY_ONBOARD',\n    ferryDisembark = 'FERRY_DISEMBARK',\n    pickupDeliveryWaypoint = 'PICKUP_DELIVERY_WAYPOINT',\n    driveThroughWaypoint = 'DRIVE_THROUGH_WAYPOINT',\n    dropAndHook = 'DROP_AND_HOOK',\n}\n\nexport type ApiShipmentWarningT = NonNullable<Api2.Definitions.TransportationOrderShipmentInfo['warning']>;\nexport enum ShipmentWarningEnum {\n    noShow = 'NO_SHOW',\n    missed = 'MISSED',\n}\n\nexport type ApiOrderCreationShipperInfoT = Api2.Definitions.OrderCreationShipperInfo;\n\nexport type ApiTruckRateModeT = NonNullable<Api2.Definitions.Asset['rateMode']>;\nexport enum TruckRateModeEnum {\n    brutto = 'BRUTTO',\n    netto = 'NETTO',\n}\n\nexport type ApiOrderContextNoteT = Api2.Definitions.Notes;\n\nexport type ApiShipmentEventTypeT = Api2.Definitions.ShipmentEventType;\n\nexport type ApiOrderCreationReservePointTypeT = Api2.Definitions.ReservationPointType;\nexport enum OrderCreationReservePointTypeEnum {\n    shipment = 'SHIPMENT',\n    driveThrough = 'DRIVE_THROUGH',\n    ferryOnboard = 'FERRY_ONBOARD',\n    ferryDisembark = 'FERRY_DISEMBARK',\n}\n\nexport type ApiBrokerTourShortT = Api2.Definitions.BrokerTourListDto;\n\nexport type ApiTimeZoneInfoT = Api2.Definitions.TimeZoneDto;\n\nexport type ApiTimeZoneT = Api2.Definitions.TimeZone;\n\nexport type ApiNotificationAlertLevelT = Api2.Definitions.AlertLevel;\nexport enum NotificationAlertLevelEnum {\n    normal = 'NORMAL',\n    positive = 'POSITIVE',\n    attention = 'ATTENTION',\n    warning = 'WARNING',\n}\n\nexport type ApiShipmentAttachedPaperTypeT = Api2.Definitions.ShipmentAttachedPaperType;\nexport type ApiTourAttachedPaperTypeT = Api2.Definitions.TourAttachedPaperType;\nexport type ApiAttachPaperRequestT = Api2.RequestBodies.AttachPaperRequest;\n\nexport type ApiTourPaperT = Api2.Definitions.TourAttachedPaper;\nexport type ApiShipmentPaperT = Api2.Definitions.ShipmentAttachedPaper;\nexport type ApiPaperCreatedByRoleT = Api2.Definitions.CreatedByRole;\n\nexport type ApiDeleteUnavailableReasonT = Api2.Definitions.DeleteUnavailableReason;\n\nexport type ApiAttachPapersUnavailableReasonT = NonNullable<\n    Api2.Definitions.CarrierTransportationOrderFullDto['attachPapersUnavailableReason']\n>;\n\nexport type ApiReadAttachedPapersUnavailableReasonT = NonNullable<\n    Api2.Definitions.CarrierTransportationOrderFullDto['readAttachedPapersUnavailableReason']\n>;\n\nexport type ApiTeleportAssetUnavailableReasonT = Api2.Definitions.TeleportAssetUnavailableReason;\n","// extracted by mini-css-extract-plugin\nexport default {\"header__controls\":\"SettingsPage__header__controls___dQ5uH\",\"controls\":\"SettingsPage__controls___Wuqtb\",\"fadeIn\":\"SettingsPage__fadeIn___Sww1P\",\"blinking\":\"SettingsPage__blinking___NO6iB\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DeprecateTourPapersCard.scss';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport AttachIcon from 'common/icons/AttachIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport ControlLoaderWithShadow from 'common/components/ControlLoaderWithShadow/ControlLoaderWithShadow';\nimport ImageGalleryModal, {\n    ImageGalleryModalDataT,\n} from 'common/components/papers/modals/ImageGalleryModal/ImageGalleryModal';\nimport { deletePaper, fetchPapers } from 'common/store/papers/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { logWarning } from 'common/utils/logger';\nimport {\n    selectDeletePaperQuery,\n    selectDeletePaperRequest,\n    selectParersList,\n    selectUploadPaperRequest,\n} from 'common/store/papers/selectors';\nimport ImageLoader from 'common/components/papers/ImageLoader/ImageLoader';\nimport keyBy from 'lodash/keyBy';\nimport { PaperDataT } from 'common/store/papers/models';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport DeletePaperConfirmation, {\n    DeletePaperConfirmationDataT,\n} from 'common/components/papers/dialogs/DeletePaperConfirmation/DeletePaperConfirmation';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport Card from 'design-system/components/Card/Card';\nimport PillLabel, { PillLabelThemeEnum } from '../PillLabel/PillLabel';\nimport { useTranslation } from 'react-i18next';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nexport type PropsT = {\n    title: React.ReactNode;\n    tourId: TourIdT | null;\n    isBroker: boolean;\n    className?: string;\n    onAttachTourPapers: (tourId: TourIdT) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst getAlt = (paperData: PaperDataT | null) => (paperData ? `${paperData.comment} ${paperData.createdDate}` : null);\n\nconst urlFactory = {\n    getContentUrl: (isBroker: boolean, tourId: TourIdT | null, documentId: DocumentIdT | undefined): string | null => {\n        if (!tourId || !documentId) {\n            return null;\n        }\n\n        if (isBroker) {\n            return `/api/v1/broker/tour/${tourId}/documents/${documentId}/content`;\n        }\n\n        return `/api/v1/carrier/tour/${tourId}/documents/${documentId}/content`;\n    },\n\n    getThumbnailUrl: (\n        isBroker: boolean,\n        tourId: TourIdT | null,\n        documentId: DocumentIdT | undefined,\n    ): string | null => {\n        if (!tourId || !documentId) {\n            return null;\n        }\n\n        if (isBroker) {\n            return `/api/v1/broker/tour/${tourId}/documents/${documentId}/thumbnail`;\n        }\n\n        return `/api/v1/carrier/tour/${tourId}/documents/${documentId}/thumbnail`;\n    },\n};\n\nconst DeprecateTourPapersCard: React.FC<PropsT> = React.memo((props) => {\n    const { title, tourId, isBroker, className, onAttachTourPapers } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const [paperId, setPaperId] = React.useState<PapersIdT | null>(null);\n\n    const handleOpen = (id: string | null, event: React.MouseEvent<HTMLElement>): void => {\n        event.stopPropagation();\n\n        setPaperId(id);\n    };\n\n    const handleDelete = (paperId: PapersIdT | undefined, event: React.MouseEvent<HTMLElement>): void => {\n        event.stopPropagation();\n\n        if (!paperId) {\n            logWarning('failed delete paper, empty paperId');\n            return;\n        }\n\n        if (!tourId) {\n            logWarning('failed delete paper, empty tourId');\n            return;\n        }\n\n        deletePaperConfirmationDialog.setData({\n            tourId,\n            paperId,\n        });\n    };\n\n    const handleDeletePaperConfirmation = () => {\n        if (!deletePaperConfirmationDialog.data) {\n            return;\n        }\n\n        const { tourId, paperId } = deletePaperConfirmationDialog.data;\n        dispatch(deletePaper(tourId, isBroker, paperId));\n    };\n\n    const handleAttach = (event: React.MouseEvent<HTMLElement>): void => {\n        event.stopPropagation();\n\n        if (!tourId) {\n            logWarning(`failed to attach papers, empty tourId`);\n            return;\n        }\n\n        onAttachTourPapers(tourId);\n    };\n\n    React.useEffect(() => {\n        if (!tourId) {\n            logWarning(`skip fetch tour papers, empty tourId: ${tourId}`);\n            return;\n        }\n\n        dispatch(fetchPapers(tourId, isBroker));\n    }, [dispatch, tourId, isBroker]);\n\n    const list = useSelector(selectParersList(tourId));\n    const uploadRequest = useSelector(selectUploadPaperRequest(tourId));\n    const deleteRequest = useSelector(selectDeletePaperRequest(tourId));\n    const deleteQuery = useSelector(selectDeletePaperQuery(tourId));\n\n    const deletePaperConfirmationDialog = useModalDialog<DeletePaperConfirmationDataT>();\n    useCloseModalDialogAfterRequest(deleteRequest, [deletePaperConfirmationDialog]);\n\n    const byId = React.useMemo(() => {\n        return keyBy(list, 'id');\n    }, [list]);\n\n    const deprecatedDeleteModalData = React.useMemo((): ImageGalleryModalDataT | null => {\n        const modalPaperImage = paperId ? byId[paperId] : null;\n        if (!modalPaperImage) {\n            return null;\n        }\n\n        return {\n            alt: getAlt(modalPaperImage),\n            src: urlFactory.getContentUrl(isBroker, tourId, modalPaperImage?.id),\n        };\n    }, [tourId, paperId, byId, isBroker]);\n\n    return (\n        <>\n            <Card\n                titleNode={title}\n                rightNode={\n                    <>\n                        <PillLabel theme={PillLabelThemeEnum.slate} isSymmetrical>\n                            {list?.length || 0}\n                        </PillLabel>\n                        <Tooltip\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={\n                                <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                    {t('common:tooltips.attach-paper')}\n                                </TooltipContent>\n                            }\n                        >\n                            {() => (\n                                <TransparentTrigger\n                                    onClick={handleAttach}\n                                    reflectionTheme={ReflectionThemeEnum.light}\n                                    leftIcon={<AttachIcon strokeColor={StyleGuideColorsEnum.charcoal} />}\n                                    testSelector=\"attach\"\n                                />\n                            )}\n                        </Tooltip>\n                    </>\n                }\n                className={className}\n                hasHeaderBottomBorder\n            >\n                <div className={cx('content')}>\n                    {list.map((paperData) => {\n                        const isDeleting = deleteQuery?.id === paperData?.id;\n\n                        return (\n                            <div\n                                key={paperData.id}\n                                className={cx('content__thumbnail', 'thumbnail')}\n                                onClick={(event) => {\n                                    handleOpen(paperData.id || null, event);\n                                }}\n                            >\n                                <ImageLoader\n                                    className={cx('thumbnail__img')}\n                                    alt={getAlt(paperData)}\n                                    src={urlFactory.getThumbnailUrl(isBroker, tourId, paperData.id)}\n                                />\n                                {!isDeleting && (\n                                    <Tooltip\n                                        className={cx('thumbnail__control')}\n                                        position={TooltipPositionEnum.topCenter}\n                                        theme={TooltipThemeEnum.black}\n                                        tooltipNode={\n                                            <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                                {t('common:tooltips.remove')}\n                                            </TooltipContent>\n                                        }\n                                    >\n                                        {() => (\n                                            <TransparentTrigger\n                                                onClick={(event) => {\n                                                    handleDelete(paperData.id, event);\n                                                }}\n                                                reflectionTheme={ReflectionThemeEnum.light}\n                                                leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                                                testSelector=\"attach\"\n                                                spaces=\"xs\"\n                                                isPressed\n                                            />\n                                        )}\n                                    </Tooltip>\n                                )}\n                                {isDeleting && (\n                                    <div className={cx('loader__container', 'loader__container--is-paranja')}>\n                                        <ControlLoaderWithShadow\n                                            className={cx('loader')}\n                                            fillColor={StyleGuideColorsEnum.light}\n                                        />\n                                    </div>\n                                )}\n                            </div>\n                        );\n                    })}\n                    {!list?.length && !uploadRequest.loading && (\n                        <div className={cx('placeholder')}>{t('common:papers-card.no-photos')}</div>\n                    )}\n                    {uploadRequest.loading && (\n                        <div key=\"add\" className={cx('content__thumbnail', 'thumbnail')}>\n                            <div className={cx('loader__container')}>\n                                <ControlLoaderWithShadow\n                                    className={cx('loader')}\n                                    fillColor={StyleGuideColorsEnum.light}\n                                />\n                            </div>\n                        </div>\n                    )}\n                </div>\n            </Card>\n            <ImageGalleryModal\n                data={deprecatedDeleteModalData}\n                onClose={() => {\n                    setPaperId(null);\n                }}\n            />\n            <DeletePaperConfirmation\n                data={deletePaperConfirmationDialog.data}\n                onConfirm={handleDeletePaperConfirmation}\n                onCancel={deletePaperConfirmationDialog.onCancel}\n                onClose={deletePaperConfirmationDialog.onClose}\n                requestStatus={deleteRequest}\n            />\n        </>\n    );\n});\nexport default DeprecateTourPapersCard;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport { CloseCallbackOptionsT } from 'common/layouts/SideBars/models';\nimport useAfterSuccessRequest from 'common/utils/hooks/useAfterSuccessRequest';\n\ntype CloseCallbackT = (options?: CloseCallbackOptionsT) => void;\n\nconst useCloseSidebarAfterRequest = (\n    requestStatus: RequestStatusT | null | undefined,\n    closeCallback: CloseCallbackT | null | undefined,\n) => {\n    useAfterSuccessRequest(requestStatus, () => {\n        if (closeCallback) {\n            closeCallback({ needCloseConfirmation: false });\n        }\n    });\n};\n\nexport default useCloseSidebarAfterRequest;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport { useDispatch, useSelector } from 'react-redux';\nimport TrailerDetails from './TrailerDetails/TrailerDetails';\nimport { selectFetchTrailerDetailsRequestStatus, selectTrailersDetailsByIds } from 'common/store/trailers/selectors';\nimport {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { fetchTrailerDetails } from 'common/store/trailers/actions';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport ParanjaSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/ParanjaSideBarLayout/ParanjaSideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport SetUnavailableFooterContent from 'common/components/AssetSidebarContent/SetUnavailableFooterContent/SetUnavailableFooterContent';\nimport { AssetTypeEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport {\n    ApiTeleportAssetUnavailableReasonT,\n    SetUnavailableVehicleQueryT,\n    TrailerStatusEnum,\n} from 'common/utils/api/models';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { selectSetUnavailableVehicleRequestStatus } from 'common/store/vehicle-schedules/selectors';\nimport EditIcon from 'common/icons/EditIcon';\nimport TrailerStatusPill from 'common/components/status-pill/TrailerStatusPill/TrailerStatusPill';\nimport WrenchIcon from 'common/icons/WrenchIcon';\nimport MapTrigger from 'common/components/MapTrigger/MapTrigger';\nimport { trailerDetailsRefreshChannel } from 'common/store/trailers/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\nimport {\n    selectExecuteTeleportStatus,\n    selectValidateTeleportData,\n    selectValidateTeleportStatus,\n} from 'common/store/assets/selectors';\nimport { executeAssetTeleport, validateAssetTeleport } from 'common/store/assets/slice';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport TeleportIcon from 'common/icons/TeleportIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nconst unavailableTeleportReasonI18nMap: Record<ApiTeleportAssetUnavailableReasonT, string> = {\n    NO_ACCESS: 'common:trailers-page.teleport-unavailable-reason.NO_ACCESS',\n    ASSET_IS_BUSY: 'common:trailers-page.teleport-unavailable-reason.ASSET_IS_BUSY',\n    NO_GPS_DATA: 'common:trailers-page.teleport-unavailable-reason.NO_GPS_DATA',\n    GPS_DATA_IS_OUTDATED: 'common:trailers-page.teleport-unavailable-reason.GPS_DATA_IS_OUTDATED',\n    NOT_ACTIVE: 'common:trailers-page.teleport-unavailable-reason.NOT_ACTIVE',\n};\n\ntype PropsT = {\n    trailerId: TrailerIdT | null;\n    partnerId: PartnerIdT;\n    onGoBack?: () => void;\n    onClose?: () => void;\n    onEdit: () => void;\n    onActivate: (trailerId: TrailerIdT | null) => void;\n    onArchive: (trailerId: TrailerIdT | null) => void;\n    onSetUnavailable: (trailerId: TrailerIdT, query: SetUnavailableVehicleQueryT) => void;\n    isShowMap?: boolean;\n    onToggleShowMap?: () => void;\n    isReadOnly?: boolean;\n    isDisableShowOnMap?: boolean;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n    onOpenContactDetails: (contractId: CarrierContractIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst TrailerDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const {\n        isReadOnly,\n        isDisableShowOnMap,\n        onEdit,\n        onGoBack,\n        onClose,\n        isShowMap,\n        onToggleShowMap,\n        trailerId,\n        onActivate,\n        onArchive,\n        onSetUnavailable,\n        partnerId,\n        onOpenTruckDetails,\n        onOpenContactDetails,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const { canArchiveTrailers, canEditTrailers, canActivateTrailers, canSetUnavailableTrailers } =\n        usePartnerPermissionsContext();\n\n    const fetchDetailsRequestStatus = useSelector(selectFetchTrailerDetailsRequestStatus(partnerId));\n    const detailsById = useSelector(selectTrailersDetailsByIds(partnerId));\n\n    const trailerDetails = detailsById[trailerId as string];\n\n    const [isShowUnavailableForm, setIsShowUnavailableForm] = React.useState<boolean>(false);\n\n    const dispatch = useDispatch();\n\n    const executeTeleportRequestStatus = useSelector(selectExecuteTeleportStatus(trailerId));\n    const isExecutingTeleport = executeTeleportRequestStatus.loading;\n\n    const validateTeleportRequestStatus = useSelector(selectValidateTeleportStatus(trailerId));\n    const isValidatingTeleport = validateTeleportRequestStatus.loading;\n\n    const validateTeleportData = useSelector(selectValidateTeleportData(trailerId));\n\n    React.useEffect(() => {\n        if (!trailerId) {\n            return;\n        }\n\n        dispatch(validateAssetTeleport({ assetId: trailerId }));\n    }, [dispatch, trailerId]);\n\n    const handleExecuteAssetTeleport = React.useCallback(() => {\n        if (!trailerId) {\n            return;\n        }\n\n        dispatch(executeAssetTeleport({ assetId: trailerId }));\n    }, [dispatch, trailerId]);\n\n    const status = trailerDetails?.status;\n    const actionOptions: Array<DropdownControlOptionT | SpecialOptionEnum | null> = React.useMemo(() => {\n        if (isReadOnly) {\n            return [];\n        }\n\n        if (status === TrailerStatusEnum.archived && canArchiveTrailers) {\n            return [\n                {\n                    label: (\n                        <DropdownControlOptionLabel\n                            label={t('common:trailers-page.actions.activate')}\n                            icon={<HollowCircleIcon borderColor={StyleGuideColorsEnum.brandAccent} />}\n                        />\n                    ),\n                    onSelect: () => {\n                        onActivate(trailerId);\n                    },\n                },\n            ];\n        }\n\n        const unavailableTeleportTooltipContent = validateTeleportData?.unavailableReason ? (\n            <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                {t(unavailableTeleportReasonI18nMap[validateTeleportData.unavailableReason])}\n            </TooltipContent>\n        ) : null;\n\n        const isTeleportShowLoading = isValidatingTeleport || isExecutingTeleport;\n        const isTeleportDisabled = isTeleportShowLoading || Boolean(unavailableTeleportTooltipContent);\n\n        return [\n            ...(canEditTrailers\n                ? [\n                      {\n                          label: (\n                              <DropdownControlOptionLabel\n                                  label={t('common:trailers-page.actions.edit')}\n                                  icon={\n                                      <EditIcon\n                                          size={DEFAULT_ICON_SIZE}\n                                          fillColor={StyleGuideColorsEnum.brandAccent}\n                                          strokeColor={StyleGuideColorsEnum.brandDark}\n                                      />\n                                  }\n                              />\n                          ),\n                          onSelect: () => {\n                              onEdit();\n                          },\n                      },\n                      SpecialOptionEnum.separator,\n                  ]\n                : []),\n            {\n                label: (\n                    <Tooltip\n                        position={TooltipPositionEnum.centerLeft}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={unavailableTeleportTooltipContent}\n                    >\n                        {() => (\n                            <DropdownControlOptionLabel\n                                label={t('common:trailers-page.actions.teleport')}\n                                isDisabled={isTeleportDisabled}\n                                icon={\n                                    isTeleportShowLoading ? (\n                                        <ControlLoaderIcon\n                                            fillColor={StyleGuideColorsEnum.brandAccent}\n                                            size={DEFAULT_ICON_SIZE}\n                                        />\n                                    ) : (\n                                        <TeleportIcon size={DEFAULT_ICON_SIZE} />\n                                    )\n                                }\n                            />\n                        )}\n                    </Tooltip>\n                ),\n                isDisabled: isTeleportDisabled,\n                onSelect: handleExecuteAssetTeleport,\n            },\n            status !== TrailerStatusEnum.archived && canSetUnavailableTrailers\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              label={t('common:trailers-page.actions.add-maintenance-event')}\n                              icon={<WrenchIcon fillColor={StyleGuideColorsEnum.orange} />}\n                          />\n                      ),\n                      onSelect: () => {\n                          setIsShowUnavailableForm(true);\n                      },\n                  }\n                : null,\n            ...(canActivateTrailers\n                ? [\n                      SpecialOptionEnum.separator,\n                      {\n                          label: (\n                              <DropdownControlOptionLabel\n                                  label={t('common:trailers-page.actions.archive')}\n                                  icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                              />\n                          ),\n                          onSelect: () => {\n                              onArchive(trailerId);\n                          },\n                      },\n                  ]\n                : []),\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        t,\n        onArchive,\n        trailerId,\n        onEdit,\n        onActivate,\n        canEditTrailers,\n        canActivateTrailers,\n        canSetUnavailableTrailers,\n        canArchiveTrailers,\n        isReadOnly,\n        isValidatingTeleport,\n        isExecutingTeleport,\n        handleExecuteAssetTeleport,\n        validateTeleportData,\n    ]);\n\n    React.useEffect(() => {\n        if (!trailerId) {\n            return;\n        }\n\n        dispatch(fetchTrailerDetails(trailerId, partnerId));\n    }, [dispatch, trailerId, partnerId]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!trailerId) {\n            return;\n        }\n\n        dispatch(fetchTrailerDetails(trailerId, partnerId, { isForceUpdate: true }));\n    }, [dispatch, trailerId, partnerId]);\n    useChannelSubscribe(trailerDetailsRefreshChannel, refreshPageHandler);\n\n    const setUnavailableStatus = useSelector(selectSetUnavailableVehicleRequestStatus);\n    React.useEffect(() => {\n        if (setUnavailableStatus.ok) {\n            setIsShowUnavailableForm(false);\n        }\n    }, [setUnavailableStatus.ok]);\n\n    let footerNode: React.ReactNode = null;\n\n    if (isShowUnavailableForm) {\n        footerNode = (\n            <>\n                <ParanjaSideBarLayout />\n                <FooterSideBarLayout isTransparent hasShadow>\n                    <SetUnavailableFooterContent\n                        assetId={trailerId}\n                        onClose={() => {\n                            setIsShowUnavailableForm(false);\n                        }}\n                        isLoading={setUnavailableStatus.loading}\n                        onSetUnavailable={onSetUnavailable}\n                        assetType={AssetTypeEnum.trailer}\n                    />\n                </FooterSideBarLayout>\n            </>\n        );\n    }\n\n    return (\n        <>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={t('common:trailers-page.edit-trailer.title', {\n                        plateNumber: trailerDetails?.plateNumber || '',\n                    })}\n                    afterTitleNode={<TrailerStatusPill isSymmetrical status={trailerDetails?.status || null} />}\n                    dropdownOptions={actionOptions}\n                    onGoBack={onGoBack}\n                    onClose={() => {\n                        if (onClose) {\n                            onClose();\n                        }\n                    }}\n                    afterDropdownNode={\n                        onToggleShowMap && !isDisableShowOnMap ? (\n                            <MapTrigger\n                                toggleMap={() => {\n                                    if (onToggleShowMap) {\n                                        onToggleShowMap();\n                                    }\n                                }}\n                                isActiveMapTrigger={isShowMap}\n                            />\n                        ) : null\n                    }\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <TrailerDetails\n                    onOpenTruckDetails={onOpenTruckDetails}\n                    onOpenContactDetails={onOpenContactDetails}\n                    partnerId={partnerId}\n                    isLoading={fetchDetailsRequestStatus.loading}\n                    trailerDetails={trailerDetails}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            </SideBarLayout>\n            {footerNode}\n        </>\n    );\n};\n\nexport default TrailerDetailsSidebarContent;\n","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { Trans, useTranslation } from 'react-i18next';\nimport TrailerDictIdFilterPill from 'common/components/filter-pills/TrailerDictIdFilterPill/TrailerDictIdFilterPill';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport { formatDateRangeFilterValue, pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, isCompact) => {\n                    return pillIconRendererMap.avatar(\n                        queryFilters[QueryFiltersKeysEnum.keyAccountManagerName],\n                        isCompact,\n                    );\n                },\n                render: (queryFilters) => {\n                    return t('broker-orders.list.filters.pills.key-account-manager', {\n                        value: queryFilters[QueryFiltersKeysEnum.keyAccountManagerName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.keyAccountManagerId, QueryFiltersKeysEnum.keyAccountManagerName],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, isCompact) => {\n                    return pillIconRendererMap.avatar(queryFilters[QueryFiltersKeysEnum.dispatcherName], isCompact);\n                },\n                render: (queryFilters) => {\n                    return t('broker-orders.list.filters.pills.dispatcher', {\n                        value: queryFilters[QueryFiltersKeysEnum.dispatcherName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dispatcherId, QueryFiltersKeysEnum.dispatcherName],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('broker-orders.list.filters.pills.search', {\n                        value: queryFilters[QueryFiltersKeysEnum.searchText],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.searchText],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    return t('broker-orders.list.filters.pills.shipper', {\n                        value: queryFilters[QueryFiltersKeysEnum.shipperName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.shipperId, QueryFiltersKeysEnum.shipperName],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    return t('broker-orders.list.filters.pills.carrier', {\n                        value: queryFilters[QueryFiltersKeysEnum.carrierName],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.carrierId, QueryFiltersKeysEnum.carrierName],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: (queryFilters) => {\n                    const selectedTrailerId = queryFilters[QueryFiltersKeysEnum.dictTrailerId];\n\n                    return (\n                        <Trans\n                            i18nKey=\"broker-orders.list.filters.pills.trailer\"\n                            components={{\n                                value: <TrailerDictIdFilterPill trailerDictId={selectedTrailerId} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.dictTrailerId],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('broker-orders.list.filters.pills.origin-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.originAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.originAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.brandAccent,\n                render: (queryFilters) => {\n                    return t('broker-orders.list.filters.pills.destination-address', {\n                        value: queryFilters[QueryFiltersKeysEnum.dropoffAddress],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dropoffAddress],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-orders.list.filters.pills.has-unpaid-orders');\n                },\n                clearKeys: [QueryFiltersKeysEnum.hasUnpaidOrders],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: () => {\n                    return t('broker-orders.list.filters.pills.spot-transport-orders');\n                },\n                clearKeys: [QueryFiltersKeysEnum.spotTransportOrder],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: () => {\n                    return t('broker-orders.list.filters.pills.contract-transport-orders');\n                },\n                clearKeys: [QueryFiltersKeysEnum.contractedTransportOrder],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: () => {\n                    return t('broker-orders.list.filters.pills.spot-orders');\n                },\n                clearKeys: [QueryFiltersKeysEnum.spotOrder],\n            },\n            {\n                theme: FilterPillThemeEnum.blazeOrange,\n                render: () => {\n                    return t('broker-orders.list.filters.pills.contract-orders');\n                },\n                clearKeys: [QueryFiltersKeysEnum.contractedOrder],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const pickupDateFrom = queryFilters[QueryFiltersKeysEnum.pickupDateFrom];\n                    const pickupDateTo = queryFilters[QueryFiltersKeysEnum.pickupDateTo];\n\n                    return t('broker-orders.list.filters.pills.pickup', {\n                        value: formatDateRangeFilterValue(pickupDateFrom, pickupDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.pickupDateFrom, QueryFiltersKeysEnum.pickupDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const dropOffDateFrom = queryFilters[QueryFiltersKeysEnum.dropOffDateFrom];\n                    const dropOffDateTo = queryFilters[QueryFiltersKeysEnum.dropOffDateTo];\n\n                    return t('broker-orders.list.filters.pills.drop-off', {\n                        value: formatDateRangeFilterValue(dropOffDateFrom, dropOffDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.dropOffDateFrom, QueryFiltersKeysEnum.dropOffDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.charcoal,\n                render: (queryFilters) => {\n                    const createdDateFrom = queryFilters[QueryFiltersKeysEnum.createdDateFrom];\n                    const createdDateTo = queryFilters[QueryFiltersKeysEnum.createdDateTo];\n\n                    return t('broker-orders.list.filters.pills.created', {\n                        value: formatDateRangeFilterValue(createdDateFrom, createdDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdDateFrom, QueryFiltersKeysEnum.createdDateTo],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.running-out-of-time-to-assign-carrier');\n                },\n                clearKeys: [QueryFiltersKeysEnum.runningOutOfTimeToAssignCarrier],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.run-out-of-time-to-assign-carrier');\n                },\n                clearKeys: [QueryFiltersKeysEnum.runOutOfTimeToAssignCarrier],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.running-out-of-time-to-assign-assets');\n                },\n                clearKeys: [QueryFiltersKeysEnum.runningOutOfTimeToAssignAssets],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.run-out-of-time-to-assign-assets');\n                },\n                clearKeys: [QueryFiltersKeysEnum.runOutOfTimeToAssignAssets],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.running-out-of-time-to-assign-driver');\n                },\n                clearKeys: [QueryFiltersKeysEnum.runningOutOfTimeToAssignDriver],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.run-out-of-time-to-assign-driver');\n                },\n                clearKeys: [QueryFiltersKeysEnum.runOutOfTimeToAssignDriver],\n            },\n            {\n                theme: FilterPillThemeEnum.attention,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.tour-delaying');\n                },\n                clearKeys: [QueryFiltersKeysEnum.tourDelaying],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.no-show');\n                },\n                clearKeys: [QueryFiltersKeysEnum.noShow],\n            },\n            {\n                theme: FilterPillThemeEnum.tomatoRed,\n                render: () => {\n                    return t('broker-orders.list.warning-filters.shipment-missed');\n                },\n                clearKeys: [QueryFiltersKeysEnum.shipmentMissed],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import React, { useState } from 'react';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { ContractDetailsSidebarDataT } from './models';\nimport { ApiRevokePartnerContractInfoT, CarrierContractStatusEnum } from 'common/utils/api/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport isEmpty from 'lodash/isEmpty';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport useRemoteFormActions from 'common/utils/hooks/useRemoteFormActions';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport ReviewFooterContent from './footers/ReviewFooterContent/ReviewFooterContent';\nimport SaveFooterContent from './footers/SaveFooterContent/SaveFooterContent';\nimport DocumentSummary from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentSummary/DocumentSummary';\nimport DocumentEventsSummary from '../DocumentDetailsSidebarContent/DocumentDetailsLayout/DocumentEventsSummary/DocumentEventsSummary';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport {\n    selectUpdateCarrierContractRequest,\n    selectUploadCarrierContractRequest,\n} from 'common/store/carrier-contracts/selectors';\nimport { selectCarrierContractStateById } from 'common/store/carrier-contract-details/selectors';\nimport ContractDetailsForm from 'common/layouts/SideBars/contents/ContractDetailsSidebarContent/ContractDetailsForm/ContractDetailsForm';\nimport ContractDetails from './ContractDetails/ContractDetails';\nimport {\n    downloadCarrierContract,\n    rejectCarrierContract,\n    revokeCarrierContract,\n} from 'common/store/carrier-contracts/actions';\nimport { fetchCarrierContractDetails } from 'common/store/carrier-contract-details/actions';\nimport classNames from 'classnames/bind';\nimport styles from './ContractDetailsSidebarContent.scss';\nimport { useContractsActionOptions } from 'common/layouts/BaseCarrierContractsLayout/hooks/use-contracts-action-options';\nimport RevokeContractConfirmation, {\n    ConfirmRevokeContractModalDataT,\n} from 'common/layouts/BaseCarrierContractsLayout/dialogs/RevokeContractConfirmation/RevokeContractConfirmation';\nimport ContractName from 'common/components/ContractName/ContractName';\nimport { useTranslation } from 'react-i18next';\nimport RejectContractConfirmation, {\n    ConfirmRejectContractModalDataT,\n} from 'common/layouts/BaseCarrierContractsLayout/dialogs/RejectContractConfirmation/RejectContractConfirmation';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { carrierContractDetailsRefreshChannel } from 'common/store/carrier-contract-details/channels';\nimport { logWarning } from 'common/utils/logger';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport CarrierContractStatusPill from 'common/components/status-pill/CarrierContractStatusPill/CarrierContractStatusPill';\nimport useAfterSuccessRequest from 'common/utils/hooks/useAfterSuccessRequest';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<ContractDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst ContractDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onClose, onGoBack, onOpenNextSidebar, setNeedCloseConfirmation } = props;\n\n    const { initIsEditing, contractId } = data;\n\n    const { t } = useTranslation();\n\n    const { partnerId: defaultPartnerId, partnerType } = usePartnerContext();\n    const partnerId = data.partnerId ?? defaultPartnerId;\n\n    const [isEditing, setIsEditing] = useState(initIsEditing);\n\n    const remoteFormActions = useRemoteFormActions();\n\n    const uploadRequest = useSelector(selectUploadCarrierContractRequest(partnerId));\n    const updateRequest = useSelector(selectUpdateCarrierContractRequest(partnerId));\n\n    const { data: contractDetails, fetchRequest: fetchContractDetailsRequest } = useSelector(\n        selectCarrierContractStateById(contractId),\n    );\n\n    const confirmRevokeContractModalDialog = useModalDialog<ConfirmRevokeContractModalDataT>();\n    const confirmRejectContractModalDialog = useModalDialog<ConfirmRejectContractModalDataT>();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (contractId) {\n            if (!partnerId) {\n                logWarning('Empty partnerId in ContractDetailsSidebarContent useEffect');\n                return;\n            }\n            dispatch(fetchCarrierContractDetails(partnerId, contractId));\n        }\n    }, [contractId, partnerId, dispatch]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (contractId) {\n            if (!partnerId) {\n                logWarning('Empty partnerId in documentVisibilityChangeHandler');\n                return;\n            }\n            dispatch(fetchCarrierContractDetails(partnerId, contractId));\n        }\n    }, [contractId, partnerId, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(\n        ({ contractId }: InferChannelEventT<typeof carrierContractDetailsRefreshChannel>) => {\n            if (data.contractId === contractId) {\n                if (!partnerId) {\n                    logWarning('Empty partnerId in refreshPageHandler');\n                    return;\n                }\n                dispatch(fetchCarrierContractDetails(partnerId, contractId, { isForceUpdate: true }));\n            }\n        },\n        [partnerId, data, dispatch],\n    );\n    useChannelSubscribe(carrierContractDetailsRefreshChannel, refreshPageHandler);\n\n    const permissions = useSelector(selectPermissions);\n\n    const handleDownloadContract = (contractId: CarrierContractIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleDownloadContract');\n            return;\n        }\n        dispatch(downloadCarrierContract(contractId, partnerId));\n    };\n\n    const handleEditContractInfo = () => {\n        setIsEditing(true);\n    };\n\n    const handleRevokeContract = () => {\n        if (!contractDetails) {\n            logWarning(`failed to revoke contract, failed contractDetails`);\n            return;\n        }\n\n        confirmRevokeContractModalDialog.setData({\n            id: contractDetails.id,\n            name: contractDetails.name,\n            truckRateKm: contractDetails.truckRateKm,\n            tiltRateKm: contractDetails.tiltRateKm,\n            boxRateKm: contractDetails.boxRateKm,\n        });\n    };\n\n    const handleRejectContract = () => {\n        if (!contractDetails) {\n            logWarning(`failed to reject contract, failed contractDetails`);\n            return;\n        }\n\n        confirmRejectContractModalDialog.setData({\n            contractId: contractDetails.id,\n            contractName: contractDetails.name || '',\n        });\n    };\n\n    const headerDropdownOptions = useContractsActionOptions(\n        contractDetails,\n        {\n            ...permissions,\n            canEditCarrierContracts: isEditing ? false : permissions.canEditCarrierContracts,\n        },\n        {\n            onDownloadContract: handleDownloadContract,\n            onEditContractDetails: handleEditContractInfo,\n            onRevokeContract: handleRevokeContract,\n        },\n    );\n\n    const handleConfirmRevokeContract = (contractId: CarrierContractIdT, revokeInfo: ApiRevokePartnerContractInfoT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmRevokeContract');\n            return;\n        }\n        dispatch(revokeCarrierContract({ partnerId, contractId, revokeInfo }));\n    };\n\n    const handleConfirmRejectContract = (data: ConfirmRejectContractModalDataT, reason: string) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmRejectContract');\n            return;\n        }\n        dispatch(rejectCarrierContract({ contractId: data.contractId, reason, partnerId }));\n    };\n\n    useCloseModalDialogAfterRequest(updateRequest, [\n        confirmRevokeContractModalDialog,\n        confirmRejectContractModalDialog,\n    ]);\n\n    useCloseModalDialogAfterRequest(updateRequest, [confirmRevokeContractModalDialog]);\n\n    useAfterSuccessRequest(updateRequest, () => {\n        setIsEditing(false);\n    });\n\n    const handleOpenUserDetails = (userId: UserIdT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const shouldReview = contractDetails?.status === CarrierContractStatusEnum.waitingForApprove;\n\n    const handleRetryFetchContractDetails = React.useCallback(() => {\n        if (partnerId && contractId) {\n            dispatch(fetchCarrierContractDetails(partnerId, contractId));\n        }\n    }, [partnerId, contractId, dispatch]);\n\n    return (\n        <RemoteFormActionsContext.Provider value={remoteFormActions}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    onGoBack={onGoBack}\n                    title={\n                        contractDetails?.status ? (\n                            <CarrierContractStatusPill isSymmetrical status={contractDetails?.status} />\n                        ) : null\n                    }\n                    onClose={onClose}\n                    dropdownOptions={headerDropdownOptions}\n                />\n                <SideBarHeaderRequestStatus\n                    requestStatus={fetchContractDetailsRequest}\n                    hasCachedData={!isEmpty(contractDetails)}\n                    isForceShowLoader={updateRequest.loading || uploadRequest.loading}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <SideBarRequestStatus\n                    requestStatus={fetchContractDetailsRequest}\n                    hasCachedData={!isEmpty(contractDetails)}\n                    onRetry={handleRetryFetchContractDetails}\n                >\n                    <DocumentSummary\n                        className={cx('document-summary')}\n                        title={<ContractName name={contractDetails?.name} />}\n                        tooltipContentNode={t('common:carrier-contracts.actions.download')}\n                        id={contractDetails?.id || null}\n                        onDownloadFile={handleDownloadContract}\n                        canDownload={permissions.canDownloadCarrierContracts}\n                    />\n                    <DocumentEventsSummary\n                        className={cx('document-events')}\n                        version={contractDetails}\n                        onOpenUserDetails={handleOpenUserDetails}\n                    />\n                    {isEditing ? (\n                        <ContractDetailsForm\n                            partnerId={partnerId}\n                            isReview={shouldReview}\n                            contractDetails={contractDetails}\n                            setNeedCloseConfirmation={setNeedCloseConfirmation}\n                        />\n                    ) : (\n                        <ContractDetails contract={contractDetails} />\n                    )}\n                </SideBarRequestStatus>\n            </SideBarLayout>\n            {!!contractDetails && isEditing && shouldReview && (\n                <FooterSideBarLayout>\n                    <ReviewFooterContent partnerId={partnerId} onReject={handleRejectContract} />\n                </FooterSideBarLayout>\n            )}\n            {!!contractDetails && isEditing && !shouldReview && (\n                <FooterSideBarLayout>\n                    <SaveFooterContent partnerId={partnerId} />\n                </FooterSideBarLayout>\n            )}\n            <RejectContractConfirmation\n                data={confirmRejectContractModalDialog.data}\n                onCancel={confirmRejectContractModalDialog.onCancel}\n                onClose={confirmRejectContractModalDialog.onClose}\n                onConfirm={handleConfirmRejectContract}\n                requestStatus={updateRequest}\n            />\n            <RevokeContractConfirmation\n                data={confirmRevokeContractModalDialog.data}\n                onCancel={confirmRevokeContractModalDialog.onCancel}\n                onClose={confirmRevokeContractModalDialog.onClose}\n                onConfirm={handleConfirmRevokeContract}\n                requestStatus={updateRequest}\n            />\n        </RemoteFormActionsContext.Provider>\n    );\n};\n\nexport default ContractDetailsSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"limiter\":\"ContentLimiter__limiter___UvdMs\",\"fadeIn\":\"ContentLimiter__fadeIn___AvK0N\",\"blinking\":\"ContentLimiter__blinking___fv92n\"};","import * as React from 'react';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst BigEmptyIcon: React.FC<PropsT> = (props) => {\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"130\" viewBox=\"0 0 200 130\" {...props}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M15 20h170v90H15z\" />\n                <path\n                    fill=\"#8ABA2E\"\n                    fillOpacity=\"0.05\"\n                    d=\"M176 32a7 7 0 110 14h-40a7 7 0 110 14h22a7 7 0 110 14h-10.174c-4.874 0-8.826 3.134-8.826 7 0 2.577 2 4.91 6 7a7 7 0 110 14H62a7 7 0 110-14H23a7 7 0 110-14h40a7 7 0 100-14H38a7 7 0 110-14h40a7 7 0 110-14h98zm0 28a7 7 0 110 14 7 7 0 010-14z\"\n                />\n                <path\n                    fill=\"#FFF\"\n                    d=\"M87.119 80.307A11.964 11.964 0 0087 82c0 6.627 5.373 12 12 12s12-5.373 12-12c0-.575-.04-1.14-.119-1.693H140V107a3 3 0 01-3 3H61a3 3 0 01-3-3V80.307h29.119z\"\n                />\n                <path\n                    fill=\"#FFF\"\n                    d=\"M112 80c0 7.18-5.82 13-13 13s-13-5.82-13-13c0-.233.006-.464.018-.693H58l9.56-28.268A3.001 3.001 0 0170.402 49h57.196a3 3 0 012.842 2.039L140 79.307h-28.018c.012.23.018.46.018.693z\"\n                />\n                <path\n                    fill=\"#8ABA2E\"\n                    fillOpacity=\"0.3\"\n                    d=\"M110.098 80.955C110.098 86.502 105.129 92 99 92c-6.129 0-11.098-5.498-11.098-11.045 0-.18.006-1.359.016-1.536H67l8.161-19.844C75.513 58.634 76.49 58 77.587 58h42.826c1.098 0 2.074.634 2.426 1.575L131 79.42h-20.918c.01.177.016 1.356.016 1.536z\"\n                />\n                <path\n                    stroke=\"#8ABA2E\"\n                    strokeWidth=\"2.5\"\n                    d=\"M127.598 50.25a1.75 1.75 0 011.657 1.189h0l9.495 28.073V106c0 .483-.196.92-.513 1.237a1.742 1.742 0 01-1.237.513h0-76c-.483 0-.92-.196-1.237-.513A1.742 1.742 0 0159.25 106h0V79.512l9.495-28.073a1.745 1.745 0 011.657-1.189h0z\"\n                />\n                <path\n                    stroke=\"#8ABA2E\"\n                    strokeLinecap=\"round\"\n                    strokeLinejoin=\"round\"\n                    strokeWidth=\"2.5\"\n                    d=\"M64.574 79H67h-2.426zM72 79h12.745c1.876 0 1.876 1.319 1.876 2 0 6.627 5.496 12 12.276 12 6.78 0 12.276-5.373 12.276-12 0-.681 0-2 1.877-2H138\"\n                />\n                <path\n                    stroke=\"#8ABA2E\"\n                    strokeLinecap=\"round\"\n                    strokeLinejoin=\"round\"\n                    strokeOpacity=\"0.3\"\n                    strokeWidth=\"2.5\"\n                    d=\"M98.1 22v16.756M72 26.303l11.1 12.453m41-12.453L113 38.756\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBigEmptyIcon.displayName = 'BigEmptyIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default BigEmptyIcon;\n","import React from 'react';\nimport DayPicker, { DateUtils } from 'react-day-picker';\nimport moment from 'moment';\n\nimport times from 'lodash/times';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './Calendar.scss';\n\nimport { useTranslation } from 'react-i18next';\nimport YearMonthForm from './YearMonthForm/YearMonthForm';\n\n/* eslint-disable import/no-unresolved */\nimport { ClassNames } from 'react-day-picker/types/ClassNames';\nimport {\n    AfterModifier,\n    BeforeAfterModifier,\n    BeforeModifier,\n    FunctionModifier,\n    Modifier,\n    Modifiers,\n} from 'react-day-picker/types/Modifiers';\nimport { checkIsSameDay, clearDateTimezone, getDateFromISO, parseISOString } from 'common/utils/time';\nimport { concatTestSelectors } from 'common/utils/test-selectors';\n\nconst cx = classNames.bind(styles);\n\nconst EMPTY_RANGE = { from: null, to: null };\n\nexport type CalendarDateValueT = Date | null;\nexport type CalendarDateRangeValueT = DateRangeT | null;\n\nexport type CalendarBasePropsT = {\n    minDate?: string | null;\n    maxDate?: string | null;\n    hasYearMonthForm?: boolean;\n    testSelectorPrefix?: string;\n    className?: string;\n    allowedDates?: string[];\n    // react-day-calendar does not check the dates before minDate and after maxDate, in case the allowed dates may be before minDate\n    allowedDatesStartDate?: string | null;\n    disabledDates?: string[];\n};\n\nexport type CalendarDateValuePropsT = {\n    isRange?: false;\n    value: CalendarDateValueT;\n    initialValue?: CalendarDateValueT;\n    focusInitialDate?: CalendarDateValueT;\n    onChange: (value: CalendarDateValueT, selectedDate: CalendarDateValueT) => void;\n};\n\nexport type CalendarDateRangeValuePropsT = {\n    isRange: true;\n    value: CalendarDateRangeValueT;\n    initialValue?: CalendarDateRangeValueT;\n    focusInitialDate?: CalendarDateValueT;\n    onChange: (value: CalendarDateRangeValueT, selectedDate: CalendarDateValueT) => void;\n};\n\nexport type CalendarPropsT =\n    | (CalendarBasePropsT & CalendarDateValuePropsT)\n    | (CalendarBasePropsT & CalendarDateRangeValuePropsT);\n\nconst ISO_DATE_FORMAT = 'YYYY-MM-DD';\n\nconst Calendar: React.FC<CalendarPropsT> = React.memo((props) => {\n    const { hasYearMonthForm, allowedDates, allowedDatesStartDate, disabledDates, testSelectorPrefix, className } =\n        props;\n\n    const minDate = props.minDate ? clearDateTimezone(props.minDate) : null;\n    const maxDate = props.maxDate ? clearDateTimezone(props.maxDate) : null;\n\n    const { t } = useTranslation();\n\n    const limitMinDate = minDate ? parseISOString(minDate) : undefined;\n    const limitMaxDate = maxDate ? parseISOString(maxDate) : undefined;\n\n    const classNames: ClassNames = React.useMemo(\n        () => ({\n            container: cs(cx('ReactDayPicker'), className),\n            wrapper: cx('ReactDayPicker__wrapper'),\n            interactionDisabled: cx('ReactDayPicker__interactionDisabled'),\n            navBar: cx('ReactDayPicker__NavBar'),\n            navButtonPrev: cx('ReactDayPicker__NavButton', 'ReactDayPicker__NavButton--prev'),\n            navButtonNext: cx('ReactDayPicker__NavButton', 'ReactDayPicker__NavButton--next'),\n            navButtonInteractionDisabled: cx('ReactDayPicker__NavButton--interactionDisabled'),\n\n            months: cx('ReactDayPicker__Months'),\n            month: cx('ReactDayPicker__Month'),\n            caption: cx('ReactDayPicker__Caption'),\n            weekdays: cx('ReactDayPicker__Weekdays'),\n            weekdaysRow: cx('ReactDayPicker__WeekdaysRow'),\n            weekday: cx('ReactDayPicker__Weekday'),\n            weekNumber: cx('ReactDayPicker__WeekNumber'),\n            body: cx('ReactDayPicker__Body'),\n            week: cx('ReactDayPicker__Week'),\n            day: cx('ReactDayPicker__Day'),\n            footer: cx('ReactDayPicker__Footer'),\n            todayButton: cx('ReactDayPicker__TodayButton'),\n\n            today: cx('ReactDayPicker__Day--today'),\n            selected: cx('ReactDayPicker__Day--selected'),\n            disabled: cx('ReactDayPicker__Day--disabled'),\n            outside: cx('ReactDayPicker__Day--outside'),\n        }),\n        [className],\n    );\n\n    const disabledObjDates = React.useMemo(() => {\n        if (!disabledDates) {\n            return [];\n        }\n\n        return disabledDates.map((date) => {\n            return new Date(getDateFromISO(date));\n        });\n    }, [disabledDates]);\n\n    const checkIsDisabledDateByAllowed = React.useMemo((): FunctionModifier | null => {\n        if (!allowedDates) {\n            return null;\n        }\n\n        const allowedDatesStartMomentDate = allowedDatesStartDate ? moment.parseZone(allowedDatesStartDate) : null;\n        return (date) => {\n            const isAllowedDate =\n                allowedDates?.some((allowedDate) => {\n                    return checkIsSameDay(date, allowedDate);\n                }) ||\n                (allowedDatesStartMomentDate && allowedDatesStartMomentDate.isSameOrBefore(date, 'day'));\n\n            return !isAllowedDate;\n        };\n    }, [allowedDates, allowedDatesStartDate]);\n\n    const disabledDays = React.useMemo(() => {\n        let limits: BeforeModifier | AfterModifier | BeforeAfterModifier | FunctionModifier | undefined;\n\n        if (limitMaxDate) {\n            limits = {\n                after: limitMaxDate,\n            };\n        }\n\n        if (limitMinDate) {\n            limits = {\n                ...(limits || {}),\n                before: limitMinDate,\n            };\n        }\n\n        return [limits, ...disabledObjDates, checkIsDisabledDateByAllowed || undefined];\n    }, [limitMaxDate, limitMinDate, disabledObjDates, checkIsDisabledDateByAllowed]);\n\n    const selectedDays = React.useMemo((): Modifier | Modifier[] => {\n        return [props.value || EMPTY_RANGE];\n    }, [props.value]);\n\n    const containerProps = React.useMemo((): Record<string, string> => {\n        return {\n            'data-test-selector': concatTestSelectors([testSelectorPrefix, 'calendar']),\n        };\n    }, [testSelectorPrefix]);\n\n    const weekdaysShort = React.useMemo(() => {\n        const arr = times(7).map((index) => t(`common:day-name.${index}`));\n\n        return [arr[arr.length - 1], ...arr.slice(0, -1)];\n    }, [t]);\n\n    const modifiers = React.useMemo((): Partial<Modifiers> => {\n        if (!props.isRange) {\n            return {\n                [cx('startAndEnd')]: props.value || undefined,\n            };\n        }\n\n        // eslint-disable-next-line prefer-destructuring\n        const value = props.value;\n\n        if (\n            (value?.from && !value?.to) ||\n            (!value?.from && value?.to) ||\n            value?.from?.valueOf() === value?.to?.valueOf()\n        ) {\n            return {\n                [cx('startAndEnd')]: value?.from || value?.to || undefined,\n            };\n        }\n\n        return {\n            [cx('start')]: value?.from || undefined,\n            [cx('end')]: value?.to || undefined,\n        };\n    }, [props.isRange, props.value]);\n\n    const getFocusDate = (): Date | undefined => {\n        let focusDate;\n\n        let limitDate: Date | null = new Date();\n\n        const parsedMinDate = parseISOString(minDate);\n        if (parsedMinDate && limitDate <= parsedMinDate) {\n            limitDate = parsedMinDate;\n        }\n\n        const parsedMaxDate = parseISOString(maxDate);\n        if (parsedMaxDate && parsedMaxDate <= limitDate) {\n            limitDate = parsedMaxDate;\n        }\n\n        if (props.isRange) {\n            focusDate = props.focusInitialDate || props.initialValue?.from || limitDate;\n        } else {\n            focusDate = props.focusInitialDate || props.initialValue || limitDate;\n        }\n\n        return focusDate || undefined;\n    };\n\n    const [month, setMonth] = React.useState<Date | undefined>(() => {\n        const focusDate = getFocusDate();\n\n        return focusDate;\n    });\n\n    React.useEffect(() => {\n        const focusDate = getFocusDate();\n\n        setMonth(focusDate);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [props.initialValue, props.focusInitialDate]);\n\n    const handleYearMonthChange = (month: Date) => {\n        setMonth(month);\n    };\n\n    const handleDateChange = (selectedDate: Date): void => {\n        if (\n            limitMinDate &&\n            moment(limitMinDate).format(ISO_DATE_FORMAT) > moment(selectedDate).format(ISO_DATE_FORMAT)\n        ) {\n            return;\n        }\n\n        if (\n            limitMaxDate &&\n            moment(limitMaxDate).format(ISO_DATE_FORMAT) < moment(selectedDate).format(ISO_DATE_FORMAT)\n        ) {\n            return;\n        }\n\n        const allowedDatesStartMomentDate = allowedDatesStartDate ? moment.parseZone(allowedDatesStartDate) : null;\n        const checkIsDisabledDate = (date: Date) => {\n            const isDisabled = disabledObjDates.some((disabledObjDate) => {\n                const momentDisabledDate = moment(disabledObjDate);\n                return momentDisabledDate.isSame(date, 'day');\n            });\n            if (isDisabled) {\n                return true;\n            }\n\n            if (allowedDates || allowedDatesStartMomentDate) {\n                const isAllowedDate =\n                    allowedDates?.some((allowedDate) => {\n                        return checkIsSameDay(date, allowedDate);\n                    }) ||\n                    (allowedDatesStartMomentDate && allowedDatesStartMomentDate.isSameOrBefore(date, 'day'));\n                if (!isAllowedDate) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n\n        if (props.isRange) {\n            const range: CalendarDateRangeValueT = DateUtils.addDayToRange(selectedDate, props.value || EMPTY_RANGE);\n\n            const isDisabled =\n                (range.to && checkIsDisabledDate(range.to)) || (range.from && checkIsDisabledDate(range.from));\n            if (isDisabled) {\n                return;\n            }\n\n            props.onChange(range, selectedDate);\n        } else {\n            const isDisabled = checkIsDisabledDate(selectedDate);\n            if (isDisabled) {\n                return;\n            }\n\n            props.onChange(selectedDate, selectedDate);\n        }\n    };\n\n    return (\n        <DayPicker\n            firstDayOfWeek={1}\n            numberOfMonths={1}\n            modifiers={modifiers}\n            classNames={classNames}\n            disabledDays={disabledDays}\n            month={month}\n            showOutsideDays\n            selectedDays={selectedDays}\n            fromMonth={limitMinDate || undefined}\n            toMonth={limitMaxDate || undefined}\n            onDayClick={handleDateChange}\n            weekdaysShort={weekdaysShort}\n            containerProps={containerProps}\n            captionElement={\n                hasYearMonthForm\n                    ? ({ date }) => (\n                          <YearMonthForm\n                              date={date}\n                              onChange={handleYearMonthChange}\n                              minDate={minDate}\n                              maxDate={maxDate}\n                          />\n                      )\n                    : undefined\n            }\n        />\n    );\n});\n\nexport default Calendar;\n","import { ContextRouteStopHashT } from '../models';\n\nexport const getContextRouteStopAddressHash = ({\n    latitude,\n    longitude,\n}: {\n    latitude?: number;\n    longitude?: number;\n}): ContextRouteStopHashT => {\n    return `#/${latitude}/${longitude}`;\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './SignUpForm.scss';\n\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectSignUpRequestStatus } from 'common/store/auth/selectors';\nimport { FormValuesT as UserFormDataT } from './UserSignUpForm/constants';\nimport UserSignUpForm from './UserSignUpForm/UserSignUpForm';\nimport { FormValuesT as CompanyFormDataT } from './CompanySignUpForm/constants';\nimport CompanySignUpForm from './CompanySignUpForm/CompanySignUpForm';\nimport { signUp } from 'common/store/auth/actions';\nimport { prepareSignUpParams } from './prepare-sign-up-params';\nimport { useTranslation } from 'react-i18next';\nimport AuthLayoutMessage, { AuthMessageIconsEnum } from 'common/layouts/AuthLayout/AuthLayoutMessage/AuthLayoutMessage';\n\nconst cx = classNames.bind(styles);\n\nenum FormStepEnum {\n    user = 'user',\n    company = 'company',\n}\n\ntype PropsT = {\n    titleSignUpUser: string;\n    titleSignUpCompany: string;\n};\n\nconst SignUpForm: React.FC<PropsT> = React.memo((props) => {\n    const { titleSignUpUser, titleSignUpCompany } = props;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const [step, setStep] = React.useState(FormStepEnum.user);\n    const [userFormData, setUserFormData] = React.useState<UserFormDataT | null>(null);\n\n    const signUpRequest = useSelector(selectSignUpRequestStatus);\n\n    if (signUpRequest.ok) {\n        return (\n            <AuthLayoutMessage\n                iconType={AuthMessageIconsEnum.success}\n                title={t('common:sign-up.success-message.title')}\n                description={t('common:sign-up.success-message.description')}\n                testSelector=\"success\"\n            />\n        );\n    }\n\n    return (\n        <>\n            <div className={cx('title')}>\n                {step === FormStepEnum.user && titleSignUpUser}\n                {step === FormStepEnum.company && titleSignUpCompany}\n            </div>\n            {step === FormStepEnum.user && (\n                <UserSignUpForm\n                    loading={signUpRequest.loading}\n                    onSubmit={(userFormData: UserFormDataT): void => {\n                        setUserFormData(userFormData);\n                        setStep(FormStepEnum.company);\n                    }}\n                />\n            )}\n            {step === FormStepEnum.company && (\n                <CompanySignUpForm\n                    loading={signUpRequest.loading}\n                    error={signUpRequest.error}\n                    onSubmit={(companyFormData: CompanyFormDataT): void => {\n                        const params = prepareSignUpParams(userFormData, companyFormData);\n                        if (!params) {\n                            return;\n                        }\n\n                        dispatch(signUp(params));\n                    }}\n                />\n            )}\n        </>\n    );\n});\n\nexport default SignUpForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"PartnerDetailsLayout__widget___sfY5B\",\"widget__inner\":\"PartnerDetailsLayout__widget__inner___SkwZd\",\"widget-group\":\"PartnerDetailsLayout__widget-group___ELDlf\",\"widget-group__widget\":\"PartnerDetailsLayout__widget-group__widget___Shzd5\",\"wrap\":\"PartnerDetailsLayout__wrap___Tp0nz\",\"field__label\":\"PartnerDetailsLayout__field__label___AiuRK\",\"field--name\":\"PartnerDetailsLayout__field--name___nu472\",\"field--legal-form\":\"PartnerDetailsLayout__field--legal-form____Kkxf\",\"field--placeholder\":\"PartnerDetailsLayout__field--placeholder___ryOZB\",\"field--teams\":\"PartnerDetailsLayout__field--teams___IkVQO\",\"field--country\":\"PartnerDetailsLayout__field--country___qUH0B\",\"field--zip\":\"PartnerDetailsLayout__field--zip___WQ8ya\",\"field--city\":\"PartnerDetailsLayout__field--city___bqHJC\",\"fadeIn\":\"PartnerDetailsLayout__fadeIn___DNX_Y\",\"blinking\":\"PartnerDetailsLayout__blinking___Keqfv\"};","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"InviteUserForm__form___FCxqZ\",\"fadeIn\":\"InviteUserForm__fadeIn___vjG2F\",\"blinking\":\"InviteUserForm__blinking___q5ELV\"};","// extracted by mini-css-extract-plugin\nexport default {\"zip-codes\":\"LocationsCell__zip-codes___KiZSH\",\"fadeIn\":\"LocationsCell__fadeIn___kehVo\",\"blinking\":\"LocationsCell__blinking___LkAoC\"};","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"OrderStatusPill__fadeIn___O_qq3\",\"blinking\":\"OrderStatusPill__blinking___NuEfN\"};","import { DictDocumentT } from 'common/store/documents-dict/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { useSelector } from 'react-redux';\nimport { selectDocumentsDictById } from 'common/store/documents-dict/selectors';\n\nconst useDictDocumentById = (\n    partnerType: PartnerTypeEnum | null | undefined,\n    dictDocumentId: DictDocumentFakeIdT | null | undefined,\n): DictDocumentT | null => {\n    const documentsDictById = useSelector(selectDocumentsDictById(partnerType as PartnerTypeEnum));\n\n    return documentsDictById?.[dictDocumentId as DictDocumentFakeIdT] || null;\n};\n\nexport { useDictDocumentById };\n","import {\n    CompanyActionT,\n    CompanyStateT,\n    FETCH_COMPANY_REQUEST_BEGIN,\n    FETCH_COMPANY_REQUEST_ERROR,\n    FETCH_COMPANY_REQUEST_SUCCESS,\n    UPDATE_COMPANY_REQUEST_BEGIN,\n    UPDATE_COMPANY_REQUEST_ERROR,\n    UPDATE_COMPANY_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: CompanyStateT = {\n    currentCompanyRequest: requestStatus.initial,\n    updateCompanyRequest: requestStatus.initial,\n    currentCompany: null,\n};\n\nexport default (state = initialState, action: CompanyActionT | DestroySessionActionT): CompanyStateT => {\n    switch (action.type) {\n        case FETCH_COMPANY_REQUEST_BEGIN: {\n            return {\n                ...state,\n                currentCompanyRequest: requestStatus.loading,\n            };\n        }\n        case FETCH_COMPANY_REQUEST_SUCCESS: {\n            const { currentCompany } = action;\n            return {\n                ...state,\n                currentCompany,\n                currentCompanyRequest: requestStatus.ok,\n            };\n        }\n        case FETCH_COMPANY_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                currentCompanyRequest: requestStatus.setError(error),\n            };\n        }\n        case UPDATE_COMPANY_REQUEST_BEGIN: {\n            return {\n                ...state,\n                updateCompanyRequest: requestStatus.loading,\n            };\n        }\n        case UPDATE_COMPANY_REQUEST_SUCCESS: {\n            const { currentCompany } = action;\n            return {\n                ...state,\n                currentCompany,\n                updateCompanyRequest: requestStatus.ok,\n            };\n        }\n        case UPDATE_COMPANY_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                updateCompanyRequest: requestStatus.setError(error),\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n        default:\n            return state;\n    }\n};\n","import RouteIcon from 'common/icons/RouteIcon';\nimport { CURRENCY_SYMBOLS, DEFAULT_ICON_SIZE, KeyEnum, StyleGuideColorsEnum } from 'common/constants';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport isNumber from 'lodash/isNumber';\n\nimport Input from 'common/components/Input/Input';\nimport { getMoneyMaskAllowNegative } from 'common/utils/input-masks';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { costToString } from 'common/components/price-details/utils';\nimport EditIcon from 'common/icons/EditIcon';\nimport DoneIcon from 'common/icons/DoneIcon';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport RestoreIcon from 'common/icons/RestoreIcon';\nimport { commonPriceDetailsCX } from 'common/components/price-details/hooks/styles';\n\nexport type EditablePriceDetailsI18nKeysT = {\n    startEditingTooltip: string;\n    restorePriceTooltip: string;\n};\n\ntype ParamsT = {\n    sourcePrice: number | null;\n    price: number | null;\n    onChangePrice: (price: number | null) => void;\n    i18nKeys: EditablePriceDetailsI18nKeysT;\n    isAllowEditPrice: boolean;\n};\n\nexport const useEditablePriceDetails = (params: ParamsT) => {\n    const { sourcePrice, price, onChangePrice, i18nKeys, isAllowEditPrice } = params;\n\n    const { t } = useTranslation();\n\n    const moneyMask = React.useMemo(() => getMoneyMaskAllowNegative(), []);\n\n    const [isActiveEditing, setIsActiveEditing] = React.useState<boolean>(false);\n\n    const [inputValue, setInputValue] = React.useState<string>(costToString(price));\n\n    const handleActiveEditing = React.useCallback(() => {\n        setIsActiveEditing(true);\n    }, []);\n\n    const handleCancelEditing = React.useCallback(() => {\n        setInputValue(costToString(price));\n\n        onChangePrice(price);\n\n        setIsActiveEditing(false);\n    }, [onChangePrice, price]);\n\n    const handleRestore = React.useCallback(() => {\n        setInputValue(costToString(sourcePrice));\n\n        onChangePrice(null);\n\n        setIsActiveEditing(false);\n    }, [onChangePrice, sourcePrice]);\n\n    const handleConfirmEditing = React.useCallback(() => {\n        const parsedInputValue = parseSimpleNumber(inputValue) || 0;\n\n        if (!inputValue || parsedInputValue === sourcePrice) {\n            handleRestore();\n        } else if (parsedInputValue !== price) {\n            onChangePrice(parsedInputValue);\n        }\n\n        setIsActiveEditing(false);\n    }, [onChangePrice, price, sourcePrice, inputValue, handleRestore]);\n\n    React.useEffect(() => {\n        setInputValue(costToString(price));\n    }, [price]);\n\n    const isChangedPrice = isNumber(sourcePrice) && isNumber(price) && sourcePrice !== price;\n\n    const handleKeyUp = React.useCallback(\n        (event: React.KeyboardEvent<HTMLInputElement>) => {\n            if (event.key === KeyEnum.enter) {\n                handleConfirmEditing();\n            }\n\n            if (event.key === KeyEnum.escape) {\n                handleCancelEditing();\n            }\n        },\n        [handleConfirmEditing, handleCancelEditing],\n    );\n\n    const handleKeyDownRightNode = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n        if (event.key === KeyEnum.enter || event.key === KeyEnum.escape) {\n            event.preventDefault();\n            event.stopPropagation();\n        }\n    }, []);\n\n    return {\n        iconNode: <RouteIcon fillColor={StyleGuideColorsEnum.gray} />,\n        title: t('common:price-details.line-haul.title'),\n        tooltipNode: (\n            <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                {t('common:price-details.line-haul.tooltip')}\n            </TooltipContent>\n        ),\n        notActualPrice: sourcePrice,\n        price: isActiveEditing ? null : price,\n        priceDiff: !isActiveEditing && isNumber(price) && isNumber(sourcePrice) ? price - sourcePrice : null,\n        rawRightNode: isActiveEditing ? (\n            <div className={commonPriceDetailsCX('right-node-controls')} onKeyDown={handleKeyDownRightNode}>\n                <Input\n                    className={commonPriceDetailsCX('input')}\n                    name=\"custom-value\"\n                    value={inputValue}\n                    spaces=\"xs\"\n                    onChange={setInputValue}\n                    mask={moneyMask}\n                    rightNode={CURRENCY_SYMBOLS.EUR}\n                    onKeyUp={handleKeyUp}\n                    autoFocus\n                />\n                {isChangedPrice && (\n                    <Tooltip\n                        position={TooltipPositionEnum.topCenter}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={\n                            <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                                {t(i18nKeys.restorePriceTooltip)}\n                            </TooltipContent>\n                        }\n                    >\n                        {() => (\n                            <TransparentTrigger\n                                spaces=\"xs\"\n                                onClick={handleRestore}\n                                leftIcon={<RestoreIcon strokeColor={StyleGuideColorsEnum.charcoal} />}\n                                reflectionTheme={ReflectionThemeEnum.light}\n                            />\n                        )}\n                    </Tooltip>\n                )}\n                <TransparentTrigger\n                    spaces=\"xs\"\n                    onClick={handleCancelEditing}\n                    leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n                <TransparentTrigger\n                    spaces=\"xs\"\n                    onClick={handleConfirmEditing}\n                    leftIcon={<DoneIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            </div>\n        ) : null,\n        isDisabledHover: isActiveEditing,\n        customActionNode:\n            !isActiveEditing && isAllowEditPrice ? (\n                <Tooltip\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                            {t(i18nKeys.startEditingTooltip)}\n                        </TooltipContent>\n                    }\n                >\n                    {() => (\n                        <TransparentTrigger\n                            spaces=\"xs\"\n                            onClick={handleActiveEditing}\n                            leftIcon={\n                                <EditIcon\n                                    size={DEFAULT_ICON_SIZE}\n                                    fillColor={StyleGuideColorsEnum.light}\n                                    strokeColor={StyleGuideColorsEnum.charcoal}\n                                />\n                            }\n                            reflectionTheme={ReflectionThemeEnum.light}\n                        />\n                    )}\n                </Tooltip>\n            ) : null,\n    };\n};\n","import { SharableStateT } from '../models';\nimport { initialPartnerShipperContractLanesState, PartnerShipperContractLanesStateT } from './slice';\n\nconst selectCompanyState = (\n    state: SharableStateT,\n    partnerId: PartnerIdT | null,\n    contractId: ShipperContractIdT | null,\n): PartnerShipperContractLanesStateT => {\n    if (!partnerId || !contractId) {\n        return initialPartnerShipperContractLanesState;\n    }\n\n    return state.shipperContractLanes?.[partnerId]?.[contractId] || initialPartnerShipperContractLanesState;\n};\n\nexport const selectShipperContractLanesPages = (\n    partnerId: PartnerIdT | null,\n    contractId: ShipperContractIdT | null,\n) => {\n    return (state: SharableStateT): PartnerShipperContractLanesStateT['pages'] => {\n        return selectCompanyState(state, partnerId, contractId).pages;\n    };\n};\n\nexport const selectShipperContractLanesQuery = (\n    partnerId: PartnerIdT | null,\n    contractId: ShipperContractIdT | null,\n) => {\n    return (state: SharableStateT): PartnerShipperContractLanesStateT['query'] =>\n        selectCompanyState(state, partnerId, contractId).query;\n};\n\nexport const selectShipperContractLanesTotal = (\n    partnerId: PartnerIdT | null,\n    contractId: ShipperContractIdT | null,\n) => {\n    return (state: SharableStateT): PartnerShipperContractLanesStateT['total'] =>\n        selectCompanyState(state, partnerId, contractId).total;\n};\n\nexport const selectShipperContractLanesByIds = (\n    partnerId: PartnerIdT | null,\n    contractId: ShipperContractIdT | null,\n) => {\n    return (state: SharableStateT): PartnerShipperContractLanesStateT['byId'] =>\n        selectCompanyState(state, partnerId, contractId).byId;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"BrokerOrderStatusPill__fadeIn___qiiMY\",\"blinking\":\"BrokerOrderStatusPill__blinking___iZK4q\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"InvitePartnerForm__wrap___Q4N52\",\"title\":\"InvitePartnerForm__title___s1sU1\",\"image\":\"InvitePartnerForm__image___wl3Y0\",\"form\":\"InvitePartnerForm__form___YcHvn\",\"field--email\":\"InvitePartnerForm__field--email___MTLk7\",\"field--partner-type\":\"InvitePartnerForm__field--partner-type___cctaY\",\"fadeIn\":\"InvitePartnerForm__fadeIn___okpFh\",\"blinking\":\"InvitePartnerForm__blinking___CrVWj\"};","export enum QueryFiltersKeysEnum {\n    text = 'text',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.text]: QueryParam.StringT;\n}>;\n\nexport enum QueryKeysEnum {\n    shipperContractsPage = 'shipper-contracts-page',\n    shipperContractsSort = 'shipper-contracts-sort',\n    shipperContractsFilters = 'shipper-contracts-filters',\n}\n","import * as React from 'react';\nimport { ApiRuleOperatorT, ApiRuleTargetT, ApiRuleValueT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport isNumber from 'lodash/isNumber';\n\nimport styles from './PriceRuleTargetLabel.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    ruleTarget: ApiRuleTargetT | null | undefined;\n    ruleOperator: ApiRuleOperatorT | null | undefined;\n    ruleValue: ApiRuleValueT | null | undefined;\n};\n\nconst PriceRuleTargetLabel: React.FC<PropsT> = React.memo((props) => {\n    const { ruleTarget, ruleOperator, ruleValue, className } = props;\n\n    const { t } = useTranslation();\n\n    if (!ruleTarget || !ruleOperator) {\n        return null;\n    }\n\n    const targetI18nKey: ApiRuleTargetT = ruleTarget;\n    let targetPostfixI18nKey: 'value' | 'discount' | 'surcharge' = 'value';\n    if (ruleOperator === 'PERCENTS') {\n        targetPostfixI18nKey = isNumber(ruleValue) && ruleValue > 0 ? 'surcharge' : 'discount';\n    }\n\n    return (\n        <span className={cs(cx('target'), className)}>\n            {t(`price-settings.rules.impact.${targetI18nKey}.${targetPostfixI18nKey}`)}\n        </span>\n    );\n});\n\nexport default PriceRuleTargetLabel;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TourTypeTabsLayout.scss';\nimport Money from 'common/components/Money/Money';\nimport { CurrencyEnum, StyleGuideColorsEnum, UNIT, UnitTypeEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport MoneyDiff, { MoneyDiffPropsT } from 'common/components/MoneyDiff/MoneyDiff';\nimport ColoredDiff, { ColoredDiffPropsT } from 'common/components/ColoredDiff/ColoredDiff';\nimport isNumber from 'lodash/isNumber';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\n\nconst cx = classNames.bind(styles);\n\ntype BaseTourTypeT = string;\n\nexport type TourTypeTabConfigT<T extends BaseTourTypeT> = {\n    type: T;\n    title: React.ReactNode;\n    titleTooltip?: React.ReactNode;\n    rows: Array<{\n        moneyDiffProps: Omit<MoneyDiffPropsT, 'children'>;\n        coloredDiffProps?: Partial<ColoredDiffPropsT>;\n        title: React.ReactNode;\n        cost: number | null | undefined;\n        percentDiffPill?: {\n            percentDiff: number;\n            isNotActual?: boolean;\n        } | null;\n    } | null>;\n};\n\ntype PropsT<T extends BaseTourTypeT> = {\n    className?: string;\n    selectedType: T | null;\n    onSelectType: (type: T) => void;\n    tabsConfig: TourTypeTabConfigT<T>[];\n};\n\nconst TourTypeTabsLayout = <T extends BaseTourTypeT>(props: PropsT<T>) => {\n    const { className, selectedType, onSelectType, tabsConfig } = props;\n\n    const { t } = useTranslation();\n\n    const renderSafetyMoney = (amount: number | null | undefined) => {\n        if (!isNumber(amount)) {\n            return t('common:not-applicable');\n        }\n\n        return <Money amount={amount} currency={CurrencyEnum.EUR} />;\n    };\n\n    const renderPercentDiffPill = <T extends BaseTourTypeT>(\n        percentDiffPill: NonNullable<TourTypeTabConfigT<T>['rows'][number]>['percentDiffPill'],\n    ) => {\n        if (!percentDiffPill) {\n            return null;\n        }\n\n        const percentDiff = percentDiffPill?.percentDiff;\n\n        const isPositiveDiff = isNumber(percentDiff) && percentDiff < 0;\n\n        let diffPercentPillTheme = isPositiveDiff ? PillLabelThemeEnum.brandDark : PillLabelThemeEnum.orange;\n        if (percentDiffPill?.isNotActual) {\n            diffPercentPillTheme = PillLabelThemeEnum.light;\n        }\n\n        return (\n            <div className={cx('diff-wrap')}>\n                <PillLabel isSymmetrical className={cx('diff')} theme={diffPercentPillTheme}>\n                    {isPositiveDiff ? '-' : '+'}\n                    <UnitTypeCount type={UnitTypeEnum.percentsAbbreviation} count={percentDiff} />\n                </PillLabel>\n            </div>\n        );\n    };\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <div className={cx('columns')}>\n                {tabsConfig.map((tabConfig) => {\n                    return (\n                        <div\n                            key={tabConfig.type}\n                            className={cx('tab', {\n                                'tab--isActive': tabConfig.type === selectedType,\n                            })}\n                            onClick={() => {\n                                onSelectType(tabConfig.type);\n                            }}\n                            data-test-selector={tabConfig.type}\n                        >\n                            <div className={cx('head')}>\n                                {tabConfig.title}\n                                {Boolean(tabConfig.titleTooltip) && (\n                                    <Tooltip\n                                        position={TooltipPositionEnum.topCenter}\n                                        theme={TooltipThemeEnum.black}\n                                        isInline\n                                        tooltipNode={\n                                            <TooltipContent width={50 * UNIT} theme={TooltipContentThemeEnum.black}>\n                                                {tabConfig.titleTooltip}\n                                            </TooltipContent>\n                                        }\n                                    >\n                                        {(isShow) => <TooltipIconTrigger isShow={isShow} />}\n                                    </Tooltip>\n                                )}\n                            </div>\n                            {tabConfig.rows.map((row, rowIndex) => {\n                                return row ? (\n                                    <MoneyDiff {...row.moneyDiffProps} key={rowIndex}>\n                                        {(diff) => (\n                                            <ColoredDiff\n                                                isInverted\n                                                diff={diff}\n                                                customNotNumberColor={StyleGuideColorsEnum.light}\n                                                customNegativeColor={StyleGuideColorsEnum.orange}\n                                                {...row.coloredDiffProps}\n                                            >\n                                                <div className={cx('row')}>\n                                                    <div>{row.title}</div>\n                                                    <div>{renderSafetyMoney(row.cost)}</div>\n                                                    {renderPercentDiffPill(row.percentDiffPill)}\n                                                </div>\n                                            </ColoredDiff>\n                                        )}\n                                    </MoneyDiff>\n                                ) : (\n                                    <div className={cx('row')} key={rowIndex} />\n                                );\n                            })}\n                        </div>\n                    );\n                })}\n            </div>\n        </div>\n    );\n};\n\nexport default React.memo(TourTypeTabsLayout) as typeof TourTypeTabsLayout;\n","const getDefaultAdditionalServices = (): number[] => {\n    const services: number[] = [];\n\n    // add additional services by default\n\n    return services;\n};\n\nexport { getDefaultAdditionalServices };\n","// extracted by mini-css-extract-plugin\nexport default {\"table--carrier\":\"TabTourDetails__table--carrier___p0Fg5\",\"table--waypoint\":\"TabTourDetails__table--waypoint___fPKWk\",\"table--spot\":\"TabTourDetails__table--spot___J5f0P\",\"table\":\"TabTourDetails__table___f5pKs\",\"fadeIn\":\"TabTourDetails__fadeIn___LCwtg\",\"blinking\":\"TabTourDetails__blinking___APLgB\"};","import React, { memo } from 'react';\nimport { DocumentTypeEnum, PartnerTypeEnum } from 'common/utils/api/models';\nimport CommonDocumentParamsDetailsForm from './CommonDocumentParamsDetailsForm/CommonDocumentParamsDetailsForm';\nimport EvidenceOfTaxDetailsForm from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/DocumentParamsDetailsForm/EvidenceOfTaxDetailsForm/EvidenceOfTaxDetailsForm';\nimport { DocumentVersionT } from 'common/store/documents/models';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\n\ntype PropsT = {\n    isReview: boolean;\n    actualVersion: DocumentVersionT | null;\n    dictDocument: DictDocumentT | null;\n    setNeedCloseConfirmation: (needCloseConfirmation: boolean) => void;\n    partnerId: PartnerIdT | null;\n    partnerType: PartnerTypeEnum | null;\n};\n\nconst DocumentParamsDetailsForm: React.FC<PropsT> = memo((props) => {\n    const { isReview, actualVersion, dictDocument, setNeedCloseConfirmation, partnerId, partnerType } = props;\n\n    switch (dictDocument?.type) {\n        case DocumentTypeEnum.evidenceOfTaxVat: {\n            return (\n                <EvidenceOfTaxDetailsForm\n                    isReview={isReview}\n                    dictDocument={dictDocument}\n                    actualVersion={actualVersion}\n                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                    partnerId={partnerId}\n                    partnerType={partnerType}\n                />\n            );\n        }\n        default: {\n            return (\n                <CommonDocumentParamsDetailsForm\n                    isReview={isReview}\n                    dictDocument={dictDocument}\n                    actualVersion={actualVersion}\n                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                    partnerId={partnerId}\n                    partnerType={partnerType}\n                />\n            );\n        }\n    }\n});\n\nexport default DocumentParamsDetailsForm;\n","import { SharableStateT } from '../models';\nimport { AlertsStateT } from 'common/store/alerts/types';\n\nconst NEW_ALERTS_LIMIT = 6;\n\nexport const selectNewAlertsIds = (state: SharableStateT): AlertsStateT['ids'] => {\n    return state.alerts.ids.slice(0, NEW_ALERTS_LIMIT);\n};\n\nexport const selectAlertsById = (state: SharableStateT): AlertsStateT['byId'] => {\n    return state.alerts.byId;\n};\n","import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './RangeSelector.scss';\nimport Zone from './Zone/Zone';\nimport ZoneText from './ZoneText/ZoneText';\nimport Steps from './Steps/Steps';\nimport Trigger from './Trigger/Trigger';\nimport { RangeSelectorZoneThemeEnum } from './constants';\nimport DnDIconWrap from './DnDIconWrap/DnDIconWrap';\nimport min from 'lodash/min';\nimport max from 'lodash/max';\nimport isNumber from 'lodash/isNumber';\nimport { checkValuesIsAllowed } from './utils';\nimport CustomZoneTextWrap from 'common/components/RangeSelector/CustomZoneTextWrap/CustomZoneTextWrap';\nimport { RangeSelectorLabelsConfigT, RangeSelectorMarkT, RangeSelectorRangeT } from './models';\nimport ZoneMark from './ZoneMark/ZoneMark';\n\nconst cx = classNames.bind(styles);\n\nexport { RangeSelectorLabelsConfigT, RangeSelectorRangeT, RangeSelectorMarkT };\n\nexport type PropsT = {\n    className?: string;\n    minValuesRangeWidth?: number;\n    maxValuesRangeWidth?: number;\n    valuesRange: number[];\n    valueStep: number;\n    values: number[] | null;\n    availableValues: number[];\n\n    ranges: Array<RangeSelectorRangeT>;\n    isDisabled?: boolean;\n    isLocked?: boolean;\n    isAllowOnlyDragRange?: boolean;\n    isLockedLeftRangeControl?: boolean;\n    isLockedRightRangeControl?: boolean;\n    renderLabel: (value: number) => string | number;\n    onSelect: (selectedRange: [number, number]) => void;\n    labelsConfig: RangeSelectorLabelsConfigT;\n\n    marks?: Array<RangeSelectorMarkT>;\n    renderZoneTextNode?: (currentRanges: RangeSelectorRangeT[] | null, values: number[] | null) => React.ReactNode;\n};\n\nconst checkCursorOnTrigger = (triggerRef: React.RefObject<HTMLDivElement>, event: MouseEvent) => {\n    if (!triggerRef?.current) {\n        return false;\n    }\n\n    const bounds = triggerRef?.current.getBoundingClientRect();\n\n    return (\n        bounds.left <= event.clientX &&\n        event.clientX <= bounds.right &&\n        bounds.top <= event.clientY &&\n        event.clientY <= bounds.bottom\n    );\n};\n\nconst POSITIONS_RANGE: [number, number] = [0, 100];\nconst POSITIONS_RANGE_WIDTH = POSITIONS_RANGE[1] - POSITIONS_RANGE[0];\n\nconst checkIsSamePositions = (positionA: number, positionB: number): boolean => {\n    return positionA.toFixed(2) === positionB.toFixed(2);\n};\n\ntype DraggingLimitPositionsT = {\n    min: number;\n    max: number;\n};\n\nconst isNumberLimit = (limit: number | null | undefined): boolean => !Number.isNaN(limit);\n\nconst RangeSelector: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        valuesRange,\n        valueStep,\n        values,\n        renderLabel,\n        onSelect,\n        isAllowOnlyDragRange,\n        isLockedLeftRangeControl,\n        isLockedRightRangeControl,\n        availableValues,\n        ranges,\n        minValuesRangeWidth,\n        maxValuesRangeWidth,\n        labelsConfig,\n        renderZoneTextNode,\n        marks,\n    } = props;\n\n    const isLocked = props.isLocked || props.isDisabled;\n    const isAllowDragSelectedZone = (!isLockedLeftRangeControl && !isLockedRightRangeControl) || isAllowOnlyDragRange;\n\n    const prevPositionXRef = React.useRef<number>(0);\n\n    const [isHovered, setHovered] = React.useState<boolean>(false);\n\n    const valuesRangeWidth = valuesRange[1] - valuesRange[0];\n    const stepsCount = valuesRangeWidth / valueStep;\n    const positionStepWidth = POSITIONS_RANGE_WIDTH / stepsCount;\n\n    const getPosition = React.useCallback(\n        (value: number): number => {\n            const relativeValue = value - valuesRange[0];\n            return (relativeValue / valuesRangeWidth) * POSITIONS_RANGE_WIDTH;\n        },\n        [valuesRange, valuesRangeWidth],\n    );\n\n    const availablePositions = React.useMemo(() => {\n        return availableValues.map(getPosition);\n    }, [availableValues, getPosition]);\n\n    const rangesPositions = React.useMemo(() => {\n        return ranges.map((range) => range.values.map(getPosition));\n    }, [ranges, getPosition]);\n\n    const marksPositions = React.useMemo(() => {\n        if (!marks) {\n            return [];\n        }\n\n        return marks.map((mark) => getPosition(mark.value));\n    }, [marks, getPosition]);\n\n    const selectionRangeRef = React.useRef<HTMLDivElement>(null);\n\n    const draggingLeftPositionRef = React.useRef<DraggingLimitPositionsT | null>(null);\n    const draggingRightPositionRef = React.useRef<DraggingLimitPositionsT | null>(null);\n\n    // dragging left & right cursor\n    const isDraggingRef = React.useRef<boolean>(false);\n\n    // dragging left cursor\n    const leftTriggerRef = React.useRef<HTMLDivElement>(null);\n    const isDraggingLeftRef = React.useRef<boolean>(false);\n    const initialLeftPosition = React.useMemo<number>(() => {\n        if (typeof values?.[0] === 'number') {\n            return getPosition(Math.max(values[0], availableValues[0]));\n        }\n\n        return availableValues[0];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n    const leftPositionRef = React.useRef<number>(initialLeftPosition);\n\n    // dragging right cursor\n    const rightTriggerRef = React.useRef<HTMLDivElement>(null);\n    const isDraggingRightRef = React.useRef<boolean>(false);\n    const initialRightPosition = React.useMemo<number>(() => {\n        if (typeof values?.[1] === 'number') {\n            return getPosition(Math.max(values[1], availableValues[1]));\n        }\n\n        return availableValues[1];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n    const rightPositionRef = React.useRef<number>(initialRightPosition);\n\n    const [currentRanges, setCurrentRanges] = React.useState<RangeSelectorRangeT[]>([]);\n\n    React.useEffect(() => {\n        const leftPosition = leftPositionRef.current;\n\n        const newCurrentRanges: RangeSelectorRangeT[] = [];\n\n        rangesPositions.forEach((rangePosition, rangePositionIndex) => {\n            const isCurrent = rangePosition[0] <= leftPosition && leftPosition < rangePosition[1];\n            if (isCurrent) {\n                newCurrentRanges.push(ranges[rangePositionIndex]);\n            }\n        });\n\n        setCurrentRanges(newCurrentRanges);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [rangesPositions]);\n\n    const updateLeftPosition = React.useCallback(\n        (newLeftPosition: number) => {\n            const newCurrentRanges: RangeSelectorRangeT[] = [];\n\n            rangesPositions.forEach((rangePosition, rangePositionIndex) => {\n                const isCurrent = rangePosition[0] <= newLeftPosition && newLeftPosition < rangePosition[1];\n                if (isCurrent) {\n                    newCurrentRanges.push(ranges[rangePositionIndex]);\n                }\n            });\n\n            setCurrentRanges(newCurrentRanges);\n\n            if (selectionRangeRef.current) {\n                selectionRangeRef.current.style.left = `${newLeftPosition}%`;\n            }\n            leftPositionRef.current = newLeftPosition;\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [rangesPositions],\n    );\n\n    const updateRightPosition = React.useCallback((newRightPosition: number) => {\n        if (selectionRangeRef.current) {\n            selectionRangeRef.current.style.right = `${POSITIONS_RANGE_WIDTH - newRightPosition}%`;\n        }\n        rightPositionRef.current = newRightPosition;\n    }, []);\n\n    const minRangePositions = minValuesRangeWidth\n        ? (minValuesRangeWidth / valuesRangeWidth) * POSITIONS_RANGE_WIDTH\n        : null;\n\n    const maxRangePositions = maxValuesRangeWidth\n        ? (maxValuesRangeWidth / valuesRangeWidth) * POSITIONS_RANGE_WIDTH\n        : null;\n\n    React.useEffect(() => {\n        if (!values) {\n            return;\n        }\n\n        const [newLeftPosition, newRightPosition] = values.map(getPosition);\n        updateLeftPosition(newLeftPosition);\n        updateRightPosition(newRightPosition);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [values, minRangePositions, maxRangePositions]);\n\n    const containerRef = React.useRef<HTMLDivElement>(null);\n    const [containerSize, setContainerSize] = React.useState<DivSizeT>({\n        width: 0,\n        height: 0,\n    });\n\n    React.useEffect(() => {\n        if (!containerRef.current) {\n            return;\n        }\n\n        setContainerSize({\n            width: containerRef.current.offsetWidth,\n            height: containerRef.current.offsetHeight,\n        });\n    }, []);\n\n    const handleMouseMove = React.useCallback(\n        (event: MouseEvent) => {\n            if (!isDraggingRef.current && !isDraggingLeftRef.current && !isDraggingRightRef.current) {\n                return;\n            }\n\n            if (isLocked) {\n                return;\n            }\n\n            const positionX = event.clientX;\n            const diff = positionX - prevPositionXRef.current;\n            if (Number.isNaN(diff)) {\n                return;\n            }\n\n            prevPositionXRef.current = positionX;\n\n            const leftPosition = leftPositionRef.current;\n            const rightPosition = rightPositionRef.current;\n\n            if (isDraggingRef.current && isAllowOnlyDragRange) {\n                // When isAllowOnlyDragRange is true, the range must preserve its width\n                const rangeWidth = rightPosition - leftPosition;\n                const newLeftPosition = leftPosition + (diff / containerSize.width) * POSITIONS_RANGE_WIDTH;\n                const newRightPosition = newLeftPosition + rangeWidth;\n\n                const isAllowedNewLeftPosition =\n                    (typeof draggingLeftPositionRef.current?.min === 'number'\n                        ? newLeftPosition >= draggingLeftPositionRef.current.min\n                        : true) &&\n                    (typeof draggingLeftPositionRef.current?.max === 'number'\n                        ? newLeftPosition <= draggingLeftPositionRef.current.max\n                        : true);\n\n                const isAllowedNewRightPosition =\n                    (typeof draggingRightPositionRef.current?.min === 'number'\n                        ? newRightPosition >= draggingRightPositionRef.current.min\n                        : true) &&\n                    (typeof draggingRightPositionRef.current?.max === 'number'\n                        ? newRightPosition <= draggingRightPositionRef.current.max\n                        : true);\n\n                // Update both positions only if both are allowed to preserve the width\n                if (isAllowedNewLeftPosition && isAllowedNewRightPosition) {\n                    updateLeftPosition(newLeftPosition);\n                    updateRightPosition(newRightPosition);\n                }\n            } else {\n                if (isDraggingRef.current || isDraggingLeftRef.current) {\n                    const newLeftPosition = leftPosition + (diff / containerSize.width) * POSITIONS_RANGE_WIDTH;\n\n                    const isAllowedNewLeftPosition =\n                        (typeof draggingLeftPositionRef.current?.min === 'number'\n                            ? newLeftPosition >= draggingLeftPositionRef.current.min\n                            : true) &&\n                        (typeof draggingLeftPositionRef.current?.max === 'number'\n                            ? newLeftPosition <= draggingLeftPositionRef.current.max\n                            : true);\n\n                    if (isAllowedNewLeftPosition) {\n                        updateLeftPosition(newLeftPosition);\n                    }\n                }\n\n                if (isDraggingRef.current || isDraggingRightRef.current) {\n                    const newRightPosition = rightPosition + (diff / containerSize.width) * POSITIONS_RANGE_WIDTH;\n\n                    const isAllowedNewRightPosition =\n                        (typeof draggingRightPositionRef.current?.min === 'number'\n                            ? newRightPosition >= draggingRightPositionRef.current.min\n                            : true) &&\n                        (typeof draggingRightPositionRef.current?.max === 'number'\n                            ? newRightPosition <= draggingRightPositionRef.current.max\n                            : true);\n\n                    if (isAllowedNewRightPosition) {\n                        updateRightPosition(newRightPosition);\n                    }\n                }\n            }\n        },\n        [isLocked, containerSize, updateLeftPosition, updateRightPosition, isAllowOnlyDragRange],\n    );\n\n    const handleMouseDown = React.useCallback(\n        (event: MouseEvent) => {\n            if (isLocked) {\n                return;\n            }\n\n            const isLeftTriggerClick = checkCursorOnTrigger(leftTriggerRef, event);\n            const isRightTriggerClick = checkCursorOnTrigger(rightTriggerRef, event);\n            const isRangeClick = checkCursorOnTrigger(selectionRangeRef, event);\n            if (!isLeftTriggerClick && !isRightTriggerClick && !isRangeClick) {\n                return;\n            }\n\n            const leftPosition = leftPositionRef.current;\n            const rightPosition = rightPositionRef.current;\n\n            const positionX = event.clientX;\n            if (isNumber(positionX)) {\n                prevPositionXRef.current = positionX;\n            }\n\n            if (isLeftTriggerClick) {\n                isDraggingLeftRef.current = true;\n\n                draggingLeftPositionRef.current = {\n                    min: max(\n                        [\n                            maxRangePositions ? rightPosition - maxRangePositions : null,\n                            availablePositions[0] || POSITIONS_RANGE[0],\n                        ].filter(isNumberLimit),\n                    ) as number,\n                    max: min(\n                        [\n                            minRangePositions ? rightPosition - minRangePositions : null,\n                            availablePositions[1] || POSITIONS_RANGE[1],\n                        ].filter(isNumberLimit),\n                    ) as number,\n                };\n            }\n\n            if (isRightTriggerClick) {\n                isDraggingRightRef.current = true;\n                draggingRightPositionRef.current = {\n                    min: max(\n                        [\n                            minRangePositions ? leftPosition + minRangePositions : null,\n                            availablePositions[0] || POSITIONS_RANGE[0],\n                        ].filter(isNumberLimit),\n                    ) as number,\n                    max: min(\n                        [\n                            maxRangePositions ? leftPosition + maxRangePositions : null,\n                            availablePositions[1] || POSITIONS_RANGE[1],\n                        ].filter(isNumberLimit),\n                    ) as number,\n                };\n            }\n\n            if (!isLeftTriggerClick && !isRightTriggerClick && isRangeClick && isAllowDragSelectedZone) {\n                isDraggingRef.current = true;\n\n                if (isAllowOnlyDragRange) {\n                    const rangeWidth = rightPosition - leftPosition;\n                    const minAvailablePosition = availablePositions[0] || POSITIONS_RANGE[0];\n                    const maxAvailablePosition = availablePositions[1] || POSITIONS_RANGE[1];\n\n                    // When isAllowOnlyDragRange is true, the range must preserve its width\n                    // Left position is limited so that the right position doesn't exceed maxAvailablePosition\n                    draggingLeftPositionRef.current = {\n                        min: minAvailablePosition,\n                        max: maxAvailablePosition - rangeWidth,\n                    };\n\n                    // Right position is limited so that the left position doesn't exceed minAvailablePosition\n                    draggingRightPositionRef.current = {\n                        min: minAvailablePosition + rangeWidth,\n                        max: maxAvailablePosition,\n                    };\n                } else {\n                    draggingLeftPositionRef.current = {\n                        min: availablePositions[0] || POSITIONS_RANGE[0],\n                        max: (availablePositions[1] || POSITIONS_RANGE[1]) - (minRangePositions || 0),\n                    };\n\n                    draggingRightPositionRef.current = {\n                        min: (availablePositions[0] || POSITIONS_RANGE[0]) + (minRangePositions || 0),\n                        max: availablePositions[1] || POSITIONS_RANGE[1],\n                    };\n                }\n            }\n        },\n        [\n            maxRangePositions,\n            isLocked,\n            isAllowDragSelectedZone,\n            availablePositions,\n            minRangePositions,\n            isAllowOnlyDragRange,\n        ],\n    );\n\n    const onSelectRef = React.useRef<typeof onSelect>(onSelect);\n    onSelectRef.current = onSelect;\n\n    const handleMouseUp = React.useCallback(() => {\n        if (isLocked) {\n            return;\n        }\n\n        if (!isDraggingRightRef.current && !isDraggingLeftRef.current && !isDraggingRef.current) {\n            return;\n        }\n\n        const leftPosition = leftPositionRef.current;\n        const rightPosition = rightPositionRef.current;\n\n        const currentLeftStep = Math.round(leftPosition / positionStepWidth);\n        const newLeftPosition = Math.max(getPosition(availableValues[0]), currentLeftStep * positionStepWidth);\n        if (!checkIsSamePositions(leftPosition, newLeftPosition) && selectionRangeRef.current) {\n            updateLeftPosition(newLeftPosition);\n        }\n\n        const currentRightStep = Math.round(rightPosition / positionStepWidth);\n        const newRightPosition = Math.min(getPosition(availableValues[1]), currentRightStep * positionStepWidth);\n        if (!checkIsSamePositions(rightPosition, newRightPosition) && selectionRangeRef.current) {\n            updateRightPosition(newRightPosition);\n        }\n\n        const [minValue] = valuesRange;\n        const selectedRange: [number, number] = [\n            minValue + currentLeftStep * valueStep,\n            minValue + currentRightStep * valueStep,\n        ];\n\n        if (selectedRange[1] - selectedRange[0] < valueStep) {\n            if (isDraggingLeftRef.current) {\n                selectedRange[0] -= valueStep;\n            } else {\n                selectedRange[1] += valueStep;\n            }\n        }\n\n        const isSameValue = isEqual(selectedRange, values);\n        if (!isSameValue) {\n            onSelectRef.current(selectedRange);\n        }\n\n        isDraggingLeftRef.current = false;\n        isDraggingRightRef.current = false;\n        isDraggingRef.current = false;\n    }, [\n        values,\n        isLocked,\n        positionStepWidth,\n        availableValues,\n        getPosition,\n        valuesRange,\n        valueStep,\n        updateLeftPosition,\n        updateRightPosition,\n    ]);\n\n    const handleMouseLeave = React.useCallback(() => {\n        if (isLocked) {\n            return;\n        }\n\n        handleMouseUp();\n    }, [isLocked, handleMouseUp]);\n\n    const firstCurrentRange = currentRanges?.[0] || null;\n\n    const currentRangeTheme = firstCurrentRange?.theme || RangeSelectorZoneThemeEnum.green;\n\n    const handleTriggerMouseLeave = React.useCallback(() => {\n        if (isLocked) {\n            return;\n        }\n\n        if (isHovered) {\n            setHovered(false);\n        }\n    }, [isLocked, isHovered, setHovered]);\n\n    const handleTriggerMouseEnter = React.useCallback(() => {\n        if (isLocked) {\n            return;\n        }\n\n        if (!isHovered) {\n            setHovered(true);\n        }\n    }, [isLocked, isHovered, setHovered]);\n\n    const leftDisableRange = React.useMemo(() => {\n        return [POSITIONS_RANGE[0], availablePositions[0]];\n    }, [availablePositions]);\n    const isEmptyLeftDisableRange = leftDisableRange[0] === leftDisableRange[1];\n\n    const rightDisableRange = React.useMemo(() => {\n        return [availablePositions[1], POSITIONS_RANGE[1]];\n    }, [availablePositions]);\n    const isEmptyRightDisableRange = rightDisableRange[0] === rightDisableRange[1];\n\n    const filledPositions = React.useMemo(() => {\n        const leftRanges = rangesPositions.map((position) => position[0]);\n        const rightRanges = rangesPositions.map((position) => position[1]);\n\n        if (!isEmptyLeftDisableRange) {\n            leftRanges.push(leftDisableRange[0]);\n            rightRanges.push(leftDisableRange[1]);\n        }\n\n        if (!isEmptyRightDisableRange) {\n            leftRanges.push(rightDisableRange[0]);\n            rightRanges.push(rightDisableRange[1]);\n        }\n\n        return [min(leftRanges) || 0, max(rightRanges) || 0];\n    }, [rangesPositions, leftDisableRange, rightDisableRange, isEmptyLeftDisableRange, isEmptyRightDisableRange]);\n\n    const isAllowedSelectedValues = checkValuesIsAllowed(values, {\n        availableValues,\n        minValuesRangeWidth,\n        maxValuesRangeWidth,\n    });\n\n    React.useEffect(() => {\n        if (!isAllowedSelectedValues) {\n            return () => {\n                // nothing\n            };\n        }\n\n        document.addEventListener('mousemove', handleMouseMove);\n        document.addEventListener('mouseup', handleMouseUp);\n        document.addEventListener('mousedown', handleMouseDown);\n        document.addEventListener('mouseleave', handleMouseLeave);\n\n        return () => {\n            document.removeEventListener('mousemove', handleMouseMove);\n            document.removeEventListener('mouseup', handleMouseUp);\n            document.removeEventListener('mousedown', handleMouseDown);\n            document.removeEventListener('mouseleave', handleMouseLeave);\n        };\n    }, [isAllowedSelectedValues, handleMouseMove, handleMouseUp, handleMouseDown, handleMouseLeave]);\n\n    const isDragging = isDraggingRef.current || isDraggingRightRef.current || isDraggingLeftRef.current;\n    return (\n        <div\n            className={cs(\n                cx('container', {\n                    'container--isDisabled': props.isDisabled,\n                }),\n                className,\n            )}\n            ref={containerRef}\n            data-test-selector=\"range-selector\"\n        >\n            <Zone\n                key=\"all-range\"\n                theme={RangeSelectorZoneThemeEnum.light}\n                left={POSITIONS_RANGE[0]}\n                width={POSITIONS_RANGE_WIDTH}\n                hasLeftBorder\n                hasRightBorder\n            />\n            {!isEmptyLeftDisableRange && (\n                <Zone\n                    isDisabled\n                    hasLeftBorder\n                    left={leftDisableRange[0]}\n                    width={leftDisableRange[1] - leftDisableRange[0]}\n                />\n            )}\n            {!isEmptyRightDisableRange && (\n                <Zone\n                    isDisabled\n                    hasRightBorder\n                    left={rightDisableRange[0]}\n                    width={rightDisableRange[1] - rightDisableRange[0]}\n                />\n            )}\n            {ranges.map((range, rangeIndex) => {\n                const positions = rangesPositions[rangeIndex];\n                const isOutsideAvailableValues =\n                    range.values[1] < availableValues[0] || availableValues[1] < range.values[0];\n                const isHidden = (isOutsideAvailableValues && !range?.isShowOutsideAvailableValues) || range?.isHidden;\n                if (isHidden) {\n                    return null;\n                }\n\n                return (\n                    <>\n                        <Zone\n                            key={`range-${rangeIndex}`}\n                            theme={range.theme}\n                            // eslint-disable-next-line react/no-children-prop\n                            children={range.children}\n                            hasLeftBorder={positions[0] === POSITIONS_RANGE[0]}\n                            hasRightBorder={positions[1] === POSITIONS_RANGE[1]}\n                            left={positions[0]}\n                            width={positions[1] - positions[0]}\n                        />\n                        {range?.marks?.map((mark, markIndex) => {\n                            let left = getPosition(mark.value);\n\n                            if (positions[0] < POSITIONS_RANGE[0]) {\n                                // eslint-disable-next-line prefer-destructuring\n                                left = POSITIONS_RANGE[0];\n                            }\n\n                            const hasLeftBorder = left !== POSITIONS_RANGE[0];\n\n                            const isHiddenMark = availableValues[1] < mark.value;\n                            if (isHiddenMark) {\n                                return null;\n                            }\n\n                            return (\n                                <ZoneMark\n                                    key={`range-${rangeIndex}/mark-${markIndex}`}\n                                    theme={mark.borderTheme || range.theme || null}\n                                    isActive\n                                    hasLeftBorder={hasLeftBorder}\n                                    left={left}\n                                >\n                                    {mark?.icon}\n                                </ZoneMark>\n                            );\n                        })}\n                    </>\n                );\n            })}\n            {marks?.map((mark, markIndex) => {\n                const positions = marksPositions[markIndex];\n                const hasLeftBorder = positions !== POSITIONS_RANGE[0];\n\n                return (\n                    <ZoneMark\n                        key={`mark-${markIndex}`}\n                        theme={mark.borderTheme || null}\n                        hasLeftBorder={hasLeftBorder}\n                        left={positions}\n                    >\n                        {mark?.icon}\n                    </ZoneMark>\n                );\n            })}\n            <Steps\n                minValue={valuesRange[0]}\n                stepsCount={stepsCount}\n                step={valueStep}\n                shownLabelCount={labelsConfig.shownLabelCount}\n                shownStepCount={labelsConfig.shownStepCount}\n                hasStartStep={labelsConfig.hasStartStep}\n                hasEndStep={labelsConfig.hasEndStep}\n                renderLabel={renderLabel}\n                filledPositions={filledPositions}\n            />\n            {values && (\n                <div\n                    className={cx('selection-range', {\n                        'selection-range--isDragable': isAllowDragSelectedZone && !isLocked,\n                        'selection-range--isDragging': isDragging,\n                        'selection-range--isLocked': isLocked,\n                        'selection-range--isOutOffValues': !isAllowedSelectedValues,\n                    })}\n                    onMouseEnter={handleTriggerMouseEnter}\n                    onMouseLeave={handleTriggerMouseLeave}\n                    ref={selectionRangeRef}\n                >\n                    <Zone\n                        isSelected\n                        isHovered={isHovered}\n                        theme={currentRangeTheme}\n                        left={POSITIONS_RANGE[0]}\n                        width={POSITIONS_RANGE_WIDTH}\n                    />\n                    {firstCurrentRange && !renderZoneTextNode && (\n                        <ZoneText\n                            containerRef={containerRef}\n                            selectionRangeRef={selectionRangeRef}\n                            theme={currentRangeTheme}\n                            text={firstCurrentRange.label || ''}\n                            values={values}\n                        />\n                    )}\n                    {isAllowDragSelectedZone && <DnDIconWrap values={values} />}\n                    <Trigger\n                        isLeft\n                        isDisabled={isLocked}\n                        isInteractive={!isLockedLeftRangeControl}\n                        divRef={leftTriggerRef}\n                        theme={currentRangeTheme}\n                    />\n                    <Trigger\n                        isRight\n                        isDisabled={isLocked}\n                        isInteractive={!isLockedRightRangeControl}\n                        divRef={rightTriggerRef}\n                        theme={currentRangeTheme}\n                    />\n                </div>\n            )}\n            {renderZoneTextNode && (\n                <CustomZoneTextWrap\n                    values={values}\n                    currentRanges={currentRanges}\n                    renderZoneTextNode={renderZoneTextNode}\n                />\n            )}\n        </div>\n    );\n});\nexport default RangeSelector;\n","import * as React from 'react';\nimport { createPortal } from 'react-dom';\n\nconst modalRoot = document.getElementById('modal');\n\ntype PropsT = {};\n\nclass Modal extends React.Component<PropsT> {\n    element: HTMLDivElement;\n\n    constructor(props: PropsT) {\n        super(props);\n\n        this.element = document.createElement('div');\n    }\n\n    componentDidMount(): void {\n        if (modalRoot) {\n            modalRoot.appendChild(this.element);\n        }\n    }\n\n    componentWillUnmount(): void {\n        if (modalRoot) {\n            modalRoot.removeChild(this.element);\n        }\n    }\n\n    render(): React.ReactElement {\n        const { children } = this.props;\n\n        return createPortal(children, this.element);\n    }\n}\nexport default Modal;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport type AcceptDeclinedOrderConfirmationDataT = {};\n\ntype PropsT = {\n    requestStatus: RequestStatusT | null;\n    data: AcceptDeclinedOrderConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: AcceptDeclinedOrderConfirmationDataT) => void;\n};\n\nconst TEST_SELECTOR = 'accept-decline-confirmation';\n\nconst AcceptDeclinedOrderConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { requestStatus, data, onCancel, onClose, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus?.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.accept'),\n                            theme: ButtonThemeEnum.primary,\n                            testSelector: `${TEST_SELECTOR}_accept`,\n                            isDisabled: requestStatus?.loading,\n                            isLoading: requestStatus?.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.brandAccent} />}\n                    title={t('common:transport-order-details.dialogs.accept-declined.title')}\n                    message={t('common:transport-order-details.dialogs.accept-declined.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default AcceptDeclinedOrderConfirmation;\n","import { ApiMultiPointPriceOfferT } from 'common/utils/api/models';\nimport { AppliedRuleT, PriceOfferT } from '../models';\nimport { checkIsPastDate, getDateFromISO, parseDateString } from 'common/utils/time';\nimport { convertToKm } from 'common/utils/distance';\nimport map from 'lodash/map';\nimport { isNonNil } from 'common/utils';\nimport { findAdditionalServiceByType } from 'common/utils/additional-services';\nimport { BROKER_ADDITIONAL_SERVICES_TYPE } from 'common/constants';\n\nexport default (apiPriceOffer: ApiMultiPointPriceOfferT): PriceOfferT => {\n    const expirationMs = parseDateString(apiPriceOffer.expiration);\n\n    const firstPoint = apiPriceOffer?.points?.[0];\n    const lastPoint = apiPriceOffer?.points ? apiPriceOffer.points[apiPriceOffer.points.length - 1] : null;\n\n    return {\n        id: apiPriceOffer.id,\n        dropOffDockingHoursFrom: lastPoint?.from || '',\n        dropOffDockingHoursTo: lastPoint?.to || '',\n        pickupDockingHoursFrom: firstPoint?.from || '',\n        pickupDockingHoursTo: firstPoint?.to || '',\n        dropOffDate: getDateFromISO(lastPoint?.from),\n        pickUpDate: getDateFromISO(firstPoint?.from),\n        isGreenTruck: !!findAdditionalServiceByType(\n            apiPriceOffer?.additionalServices,\n            BROKER_ADDITIONAL_SERVICES_TYPE.LOW_EMISSIONS,\n        ),\n        isUrgentShipment: !!findAdditionalServiceByType(\n            apiPriceOffer?.additionalServices,\n            BROKER_ADDITIONAL_SERVICES_TYPE.URGENT_PICKUP,\n        ),\n        isTeamDrive: apiPriceOffer.teamDriveCost !== null,\n        hasLayover: Boolean(apiPriceOffer.layover?.totalSeconds),\n        layoverSeconds: apiPriceOffer.layover?.totalSeconds || 0,\n        layoverPaidHours: apiPriceOffer.layover?.paidHours || 0,\n        distanceKm: convertToKm(apiPriceOffer.distances?.totalDistance) || 0,\n        co2: apiPriceOffer.co2 || 0,\n        emissionClass: apiPriceOffer.emissionClass,\n        travelSeconds: apiPriceOffer.travelSeconds || 0,\n        price: apiPriceOffer.totalPrice,\n        expiration: apiPriceOffer.expiration || null,\n        expirationMs: parseDateString(apiPriceOffer.expiration),\n        isExpired: checkIsPastDate(expirationMs),\n        brokerInfo: apiPriceOffer.brokerInfo\n            ? {\n                  ...apiPriceOffer.brokerInfo,\n                  appliedRules: map(apiPriceOffer.brokerInfo?.appliedRules, (rule): AppliedRuleT | null => {\n                      if (!rule.valueType) {\n                          return null;\n                      }\n\n                      return {\n                          ...rule,\n                      };\n                  }).filter(isNonNil),\n              }\n            : undefined,\n        teamDriveHours: apiPriceOffer.teamDriveHours,\n        fuelOptionType: apiPriceOffer?.fuel?.fuelType,\n        priceComponents: {\n            lineHaul: apiPriceOffer.lineHaul,\n            toll: apiPriceOffer.toll?.totalCost,\n            fuel: apiPriceOffer.fuel?.totalCost,\n            fuelByCountry: apiPriceOffer.fuel?.byCountry,\n            additionalServicesItems: apiPriceOffer.additionalServices?.items,\n            tranziitServiceFee: apiPriceOffer?.serviceFee,\n            layover: apiPriceOffer.layover?.totalCost,\n            teamDriveCost: apiPriceOffer.teamDriveCost,\n            tollByRoadType: apiPriceOffer.toll?.byRoadType,\n            totalRate: apiPriceOffer.totalRate,\n            costOfOperation: apiPriceOffer.costOfOperation,\n        },\n    };\n};\n","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport scrollIntoView from 'scroll-into-view';\n\nimport styles from './RouteDetailsForm.scss';\nimport {\n    FieldsEnum,\n    PointContactsFieldsEnum,\n    PointContactsFormValuesT,\n    requiredContactsStopTypeSet,\n    RouteDetailsFormValuesT,\n} from './constants';\nimport { FormikContext, useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport validateForm from './validate-form';\nimport { useSelector } from 'react-redux';\nimport { formatAddressComponents } from 'common/utils/google-places';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport { PHONE_NUMBER_PREFIX, StyleGuideColorsEnum } from 'common/constants';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { MS_IN_HOUR } from 'common/utils/time';\n\nimport { isNonNil } from 'common/utils';\nimport times from 'lodash/times';\nimport PointContactsPicker from 'common/layouts/NewOrderPage/CargoDetailsForm/PointContactsPicker/PointContactsPicker';\nimport Card from 'design-system/components/Card/Card';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport ErrorIndicatorLabel from 'common/layouts/NewOrderPage/CargoDetailsForm/ErrorIndicatorLabel/ErrorIndicatorLabel';\nimport FooterSideBarAlertsLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarAlertsLayout/FooterSideBarAlertsLayout';\nimport {\n    selectDeadheadApplyRequest,\n    selectDeadheadContext,\n    selectDeadheadPreviewResponse,\n} from 'broker-admin/store/deadhead-creation/selectors';\nimport {\n    MapRoutePointT,\n    SyncRouteEditFormMapStateContext,\n} from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/contexts/sync-map-state';\nimport { DeadheadRouteStopT, DeadheadRouteStopTypeEnum } from 'broker-admin/store/deadhead-creation/models';\nimport { convertPointToLocation } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/utils/convert-point-to-location';\nimport { routePointTypeMap } from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/utils/stop-type';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport { prepareValues } from './prepare-values';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onSubmit: (formValues: RouteDetailsFormValuesT) => void;\n    onExpireContext: () => void;\n};\n\nconst DEFAULT_POINT_CONTACTS_VALUES: PointContactsFormValuesT = {\n    [PointContactsFieldsEnum.companyName]: '',\n    [PointContactsFieldsEnum.fullName]: '',\n    [PointContactsFieldsEnum.email]: '',\n    [PointContactsFieldsEnum.phoneNumber]: PHONE_NUMBER_PREFIX,\n    [PointContactsFieldsEnum.comment]: '',\n};\n\nconst getInitialValues = ({ stops }: { stops: Array<DeadheadRouteStopT> }): RouteDetailsFormValuesT => {\n    return {\n        [FieldsEnum.contacts]: times(stops?.length || 0).map(() => {\n            return {\n                ...DEFAULT_POINT_CONTACTS_VALUES,\n            };\n        }),\n    };\n};\n\nconst RouteDetailsForm: React.FC<PropsT> = React.memo((props) => {\n    const { onSubmit, onExpireContext } = props;\n\n    const { t } = useTranslation();\n\n    const ref = React.createRef<HTMLDivElement>();\n\n    const applyRequestStatus = useSelector(selectDeadheadApplyRequest);\n\n    const context = useSelector(selectDeadheadContext);\n    const contextPreview = useSelector(selectDeadheadPreviewResponse);\n\n    React.useEffect((): void => {\n        if (!ref.current) {\n            return;\n        }\n\n        scrollIntoView(ref.current, {\n            time: 300,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const stops = React.useMemo(() => {\n        return contextPreview?.stops || [];\n    }, [contextPreview]);\n\n    const routePoints = useMemo((): Array<MapRoutePointT> => {\n        return stops\n            .map((stop, index) => {\n                return {\n                    id: `${stop.type}-${index}`,\n                    location: convertPointToLocation(stop.address || null) || null,\n                    type: stop.type ? routePointTypeMap[stop.type] : DeadheadRouteStopTypeEnum.unknown,\n                    number: (stop.index || 0) + 1,\n                    isDraggable: false,\n                    hasError: false,\n                };\n            })\n            .filter(isNonNil);\n    }, [stops]);\n\n    const syncMapStateContext = useContext(SyncRouteEditFormMapStateContext);\n    React.useEffect(() => {\n        syncMapStateContext.setMapRoutePoints(routePoints);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [routePoints]);\n\n    const validate = React.useMemo(() => {\n        return (values: RouteDetailsFormValuesT) =>\n            validateForm(t, values, {\n                stops,\n            });\n    }, [t, stops]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues({ stops });\n        const errors = validateForm(t, values, {\n            stops,\n        });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [stops]);\n\n    const formik = useFormik<RouteDetailsFormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const preparedValues = prepareValues(values, stops);\n            onSubmit(preparedValues);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const pointContactsFormValues = formik.values[FieldsEnum.contacts];\n\n    const timerPlaceholderNode = <div style={{ width: 50 }} />;\n\n    return (\n        <FormikContext.Provider value={formik}>\n            <form onSubmit={formik.handleSubmit}>\n                <div className={cx('inner')} data-test-selector=\"contacts-form\">\n                    <div ref={ref} />\n                    <div>\n                        {pointContactsFormValues.map((_, index) => {\n                            const stop = stops[index];\n                            if (!stop || !requiredContactsStopTypeSet.has(stop.type)) {\n                                return null;\n                            }\n\n                            return (\n                                <Card\n                                    key={`point-contacts-card-${index}`}\n                                    initIsOpen\n                                    className={cx('contacts-card')}\n                                    iconNode={\n                                        <NumberIcon\n                                            number={(stop?.index || 0) + 1}\n                                            fillColor={StyleGuideColorsEnum.charcoal}\n                                        />\n                                    }\n                                    titleNode={formatAddressComponents(stop.address)}\n                                    titleClassName={cx('contacts-card-title')}\n                                    rightNode={\n                                        <ErrorIndicatorLabel fieldNamesPrefix={FieldsEnum.contacts} index={index} />\n                                    }\n                                >\n                                    <PointContactsPicker contactIndex={index} />\n                                </Card>\n                            );\n                        })}\n                    </div>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <FooterSideBarLayout hasPaddings topNode={<FooterSideBarAlertsLayout />}>\n                        <div className={cx('actions')}>\n                            <Button.Container className={cx('action')}>\n                                <Button\n                                    isFullWidth\n                                    isCenterContent\n                                    theme={ButtonThemeEnum.primary}\n                                    type=\"submit\"\n                                    testSelector=\"apply-context\"\n                                    isLoading={applyRequestStatus.loading}\n                                    leftIcon={timerPlaceholderNode}\n                                    rightIcon={!context?.expireTime && timerPlaceholderNode}\n                                >\n                                    {t('deadhead-creation.submit.confirm')}\n                                </Button>\n                                {context?.expireTime && (\n                                    <Button.Timer\n                                        showTime={MS_IN_HOUR}\n                                        expireTime={context?.expireTime || null}\n                                        tooltipPosition={TooltipPositionEnum.topRight}\n                                        tooltipMessage={t('deadhead-creation.context-expiration.tooltip')}\n                                        onExpire={onExpireContext}\n                                    />\n                                )}\n                            </Button.Container>\n                        </div>\n                    </FooterSideBarLayout>\n                </div>\n            </form>\n        </FormikContext.Provider>\n    );\n});\n\nexport default RouteDetailsForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"row--price\":\"ShipperPriceOfferInfoTable__row--price____a5ca\",\"fadeIn\":\"ShipperPriceOfferInfoTable__fadeIn___egx2M\",\"blinking\":\"ShipperPriceOfferInfoTable__blinking___i2ZBg\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CreatePartnerInfo.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { logWarning } from 'common/utils/logger';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport Link, { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\nimport moment from 'moment/moment';\nimport { clientConfig } from 'common/utils/client-config';\n\ntype PropsT = {\n    partnerId: PartnerIdT | null;\n    partnerType: PartnerTypeEnum | null;\n    createdByBroker: boolean;\n    createdDate: string | null;\n    userId: UserIdT | null;\n    userName: string | null;\n};\n\nconst formatHMRDate = (date: string | null | undefined): string => {\n    if (!date) {\n        return '-';\n    }\n\n    return moment(date).format('Do MMM YYYY');\n};\n\nconst cx = classNames.bind(styles);\n\nconst CreatePartnerInfo: React.FC<PropsT> = React.memo((props) => {\n    const { createdDate, createdByBroker, userId, userName, partnerId, partnerType } = props;\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const openUserDetails = () => {\n        if (!userId || !partnerId || !partnerType) {\n            logWarning(`Failed to open user details, empty userId`);\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const { t } = useTranslation();\n\n    if (!createdDate) {\n        return null;\n    }\n\n    const renderUser = () => {\n        if (createdByBroker && !clientConfig.isBrokerProject) {\n            return <div className={cx('broker')}>{t('common:broker-name')}</div>;\n        }\n\n        if (!userId) {\n            return null;\n        }\n\n        return (\n            <ClickInterceptorLabel>\n                <Link onClick={openUserDetails} theme={LinkThemeEnum.boldBrandDark} size={LinkSizeEnum.preExtraSmall}>\n                    {userName}\n                </Link>\n            </ClickInterceptorLabel>\n        );\n    };\n\n    return (\n        <div className={cx('wrap')}>\n            <div className={cx('text')}>\n                {t('common:profile-page.basic-information.create-info.date', {\n                    date: formatHMRDate(createdDate),\n                })}\n            </div>\n            {renderUser()}\n        </div>\n    );\n});\n\nexport default CreatePartnerInfo;\n","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"RoutingSettingsForm__widget___spTRy\",\"widget__inner\":\"RoutingSettingsForm__widget__inner___qPl0N\",\"field\":\"RoutingSettingsForm__field___f4_c8\",\"checkbox\":\"RoutingSettingsForm__checkbox___Wz91N\",\"fadeIn\":\"RoutingSettingsForm__fadeIn___yie4w\",\"blinking\":\"RoutingSettingsForm__blinking___RDFa8\"};","import { VehicleIdT, VehicleScheduleHashT } from '../models';\n\nexport const getVehicleScheduleHash = (\n    vehicleId: VehicleIdT,\n    aroundDate?: ISODateTimeT | null,\n): VehicleScheduleHashT => {\n    if (aroundDate) {\n        return `${vehicleId}/${aroundDate}`;\n    }\n\n    return vehicleId;\n};\n","export enum TabEnum {\n    active = 'active',\n    archive = 'archive',\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"delimiter\":\"Delimeter__delimiter___isIcr\",\"delimiter--step\":\"Delimeter__delimiter--step___RZCe1\",\"delimiter--halfStep\":\"Delimeter__delimiter--halfStep___ObHSo\",\"delimiter--now\":\"Delimeter__delimiter--now___Hs_3n\",\"delimiter__text\":\"Delimeter__delimiter__text___nqbAh\",\"delimiter__text--now\":\"Delimeter__delimiter__text--now___POVXJ\",\"fadeIn\":\"Delimeter__fadeIn___vK1pu\",\"blinking\":\"Delimeter__blinking___yYcFE\"};","// extracted by mini-css-extract-plugin\nexport default {\"option--is-invalid\":\"TruckOptionLabel__option--is-invalid___wCypX\",\"asset\":\"TruckOptionLabel__asset___ucWqq\",\"rate-mode\":\"TruckOptionLabel__rate-mode___FaGFv\",\"model-and-plate-number\":\"TruckOptionLabel__model-and-plate-number___Hx3aS\",\"price\":\"TruckOptionLabel__price___LJwfG\",\"location\":\"TruckOptionLabel__location___zT9q7\",\"utilization\":\"TruckOptionLabel__utilization___XWGmL\",\"utilization__label\":\"TruckOptionLabel__utilization__label___uyBr7\",\"fadeIn\":\"TruckOptionLabel__fadeIn___uj37e\",\"blinking\":\"TruckOptionLabel__blinking___JxRD0\"};","import { NotificationEmotionEnum } from 'common/store/notifications/models';\nimport { ApiNotificationAlertLevelT } from 'common/utils/api/models';\nimport { MS_IN_SEC } from 'common/utils/time';\n\nexport const notificationEmotionMapByAlertLevel: Record<ApiNotificationAlertLevelT, NotificationEmotionEnum> = {\n    NORMAL: NotificationEmotionEnum.neutral,\n    POSITIVE: NotificationEmotionEnum.positive,\n    ATTENTION: NotificationEmotionEnum.attention,\n    WARNING: NotificationEmotionEnum.negative,\n};\n\nexport const UNREAD_NOTIFICATIONS_REFRESH_INTERVAL_MS = 3 * MS_IN_SEC;\n","import { OrderTypeEnum } from './OrderTypeDropdown/OrderTypeDropdown';\nimport { TransportOrderTypeEnum } from './TransportOrderTypeDropdown/TransportOrderTypeDropdown';\n\nexport enum FieldsEnum {\n    originAddress = 'originAddress',\n    dropOffAddress = 'dropOffAddress',\n\n    pickupDates = 'pickupDates',\n    dropoffDates = 'dropoffDates',\n\n    createDates = 'createDates',\n    dictTrailerId = 'dictTrailerId',\n\n    shipperId = 'shipperId',\n    shipperName = 'shipperName',\n\n    carrierId = 'carrierId',\n    carrierName = 'carrierName',\n\n    ordersType = 'ordersType',\n    transportOrdersType = 'transportOrdersType',\n\n    dispatcherId = 'dispatcherId',\n    dispatcherName = 'dispatcherName',\n\n    keyAccountManagerId = 'keyAccountManagerId',\n    keyAccountManagerName = 'keyAccountManagerName',\n\n    hasUnpaidOrders = 'hasUnpaidOrders',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.originAddress]: string | null;\n    [FieldsEnum.dropOffAddress]: string | null;\n\n    [FieldsEnum.pickupDates]: DateRangeT | null;\n    [FieldsEnum.dropoffDates]: DateRangeT | null;\n\n    [FieldsEnum.createDates]: DateRangeT | null;\n    [FieldsEnum.dictTrailerId]: string | null;\n\n    [FieldsEnum.dispatcherId]: string | null;\n    [FieldsEnum.dispatcherName]: string | null;\n\n    [FieldsEnum.keyAccountManagerId]: string | null;\n    [FieldsEnum.keyAccountManagerName]: string | null;\n\n    [FieldsEnum.shipperId]: string | null;\n    [FieldsEnum.shipperName]: string | null;\n\n    [FieldsEnum.carrierId]: string | null;\n    [FieldsEnum.carrierName]: string | null;\n\n    [FieldsEnum.ordersType]: OrderTypeEnum;\n    [FieldsEnum.transportOrdersType]: TransportOrderTypeEnum;\n\n    [FieldsEnum.hasUnpaidOrders]: boolean | null;\n};\n","export const MIN_VALID_FROM_VALID_TILL_DAYS = 7;\n\nexport enum FieldsEnum {\n    name = 'name',\n    number = 'number',\n\n    activateDate = 'activate-date',\n    validTillDate = 'valid-till-date',\n\n    file = 'file',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.name]: string;\n    [FieldsEnum.number]: string;\n\n    [FieldsEnum.activateDate]: Date | null;\n    [FieldsEnum.validTillDate]: Date | null;\n\n    [FieldsEnum.file]: File | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './FerryLocationPin.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport MapPin, { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport BoatIcon from 'common/icons/BoatIcon';\n\nconst cx = classNames.bind(styles);\n\nconst getIconColorsByTheme = (theme: MapPinThemeEnum) => {\n    if (theme === MapPinThemeEnum.charcoal) {\n        return {\n            fillColor: StyleGuideColorsEnum.brandDark,\n            strokeColor: StyleGuideColorsEnum.white,\n        };\n    }\n\n    if (\n        theme === MapPinThemeEnum.blazeOrange ||\n        theme === MapPinThemeEnum.tomatoRed ||\n        theme === MapPinThemeEnum.brandDark\n    ) {\n        return {\n            fillColor: StyleGuideColorsEnum.gray,\n            strokeColor: StyleGuideColorsEnum.white,\n        };\n    }\n\n    return {\n        fillColor: StyleGuideColorsEnum.brandAccent,\n        strokeColor: StyleGuideColorsEnum.brandDark,\n    };\n};\n\ntype PropsT = {\n    className?: string;\n    // eslint-disable-next-line react/no-unused-prop-types\n    lat?: number | undefined;\n    // eslint-disable-next-line react/no-unused-prop-types\n    lng?: number | undefined;\n    theme?: MapPinThemeEnum;\n};\n\nconst FerryLocationPin: React.FC<PropsT> = React.memo((props) => {\n    const { className, lat, lng } = props;\n\n    const theme = props.theme || MapPinThemeEnum.charcoal;\n\n    const iconColors = getIconColorsByTheme(theme);\n\n    return (\n        <MapPin hasPaddings className={cs(cx('asset-tooltip'), className)} lat={lat} lng={lng} theme={theme}>\n            <BoatIcon size={DEFAULT_ICON_SIZE} fillColor={iconColors.fillColor} strokeColor={iconColors.strokeColor} />\n        </MapPin>\n    );\n});\n\nexport default FerryLocationPin;\n","// extracted by mini-css-extract-plugin\nexport default {\"location\":\"AssetDetailsMap__location___BWC5k\",\"last-point\":\"AssetDetailsMap__last-point___yX5sT\",\"fadeIn\":\"AssetDetailsMap__fadeIn___uK404\",\"blinking\":\"AssetDetailsMap__blinking___oZUb_\"};","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"BrokerToursListPage__table___f7pi2\",\"fadeIn\":\"BrokerToursListPage__fadeIn___F_s6i\",\"blinking\":\"BrokerToursListPage__blinking___LZaqW\"};","import {\n    OMSRoutesEnum,\n    ProfileDocumentsRoutesEnum,\n    QueryKeysEnum,\n    ShipperContractRoutesEnum,\n    ShipperContractsRoutesEnum,\n} from 'common/constants';\nimport history from 'common/utils/history';\nimport { parseAuthReturnUrl } from './auth-return-url';\nimport { LocationDescriptor } from 'history';\nimport { generatePath } from 'react-router';\nimport { formatQuery } from 'common/utils/query';\nimport qs from 'qs';\n\nexport const getRePath = () => {\n    const query = qs.parse(history.location.search.slice(1));\n\n    return [\n        history.location.pathname,\n        `${query ? `?` : ''}${qs.stringify(query)}`,\n        history.location.hash ? `#${history.location.hash}` : '',\n    ]\n        .filter(Boolean)\n        .join('');\n};\n\nexport const urlFactory = {\n    completeRFQ: ({\n        id,\n        offerId,\n        dropoffDate,\n        pickupDate,\n    }: {\n        id: string;\n        offerId: string | null;\n        dropoffDate: string | null;\n        pickupDate: string | null;\n    }) => {\n        return {\n            pathname: generatePath(OMSRoutesEnum.newOrderOffers, {\n                rfqId: id,\n            }),\n            search: formatQuery({\n                [QueryKeysEnum.orderCreationComplete]: '1',\n                [QueryKeysEnum.orderCreationPriceOfferId]: offerId,\n                [QueryKeysEnum.orderCreationDropOffDate]: dropoffDate,\n                [QueryKeysEnum.orderCreationPickUpDate]: pickupDate,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    orderCreation: () => {\n        return OMSRoutesEnum.newOrder;\n    },\n    shipperContracts: () => {\n        return ProfileDocumentsRoutesEnum.shipperContracts;\n    },\n    shipperContractDetails: ({ shipperContractId }: { shipperContractId: ShipperContractIdT }) => {\n        return {\n            pathname: generatePath(ShipperContractRoutesEnum.shipperContractDetails, {\n                contractId: shipperContractId,\n            }),\n        };\n    },\n    shipperContractLanes: ({ shipperContractId }: { shipperContractId: ShipperContractIdT }) => {\n        return {\n            pathname: generatePath(ShipperContractRoutesEnum.shipperContractLanes, {\n                contractId: shipperContractId,\n            }),\n        };\n    },\n    shipperContractLaneDetails: ({\n        shipperContractId,\n        shipperContractLaneId,\n    }: {\n        shipperContractId: ShipperContractIdT;\n        shipperContractLaneId: ShipperContractLaneIdT;\n    }) => {\n        return {\n            pathname: generatePath(ShipperContractsRoutesEnum.shipperContractLaneDetails, {\n                contractId: shipperContractId,\n                laneId: shipperContractLaneId,\n            }),\n            state: {\n                rePath: getRePath(),\n            },\n        };\n    },\n    toReturnUrl: (returnUrl: string | undefined): LocationDescriptor => {\n        const parsedReturnUrl = parseAuthReturnUrl(returnUrl);\n\n        return parsedReturnUrl;\n    },\n};\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './Bids.scss';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport { useTranslation } from 'react-i18next';\nimport { BidsQuickFilterEnum, BidsSortEnum } from './constants';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport ButtonGroup from 'design-system/components/ButtonGroup/ButtonGroup';\nimport BidDetails from '../BidDetails/BidDetails';\nimport BidMessage from '../BidMessage/BidMessage';\nimport BigEmptyIcon from 'common/icons/BigEmptyIcon';\nimport { SpotBidT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport { useBidQuickFilterCounts, useBidsFilter } from './hooks/use-bids-filter';\nimport { useBidsSort } from './hooks/use-bids-sort';\nimport { ApiSpotBidStatusT, PartnerTypeEnum, SpotBidStatusEnum } from 'common/utils/api/models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\n\ntype PropsT = {\n    className?: string;\n    bids: Array<SpotBidT | null | undefined>;\n    isDisabledSelectBid?: boolean;\n    selectedBidId: BidIdT | null;\n    onSelectBid: (bid: SpotBidT) => void;\n    estimateSpotRequestPrice: number | null;\n    onOpenUserDetails: (params: {\n        partnerType: PartnerTypeEnum;\n        partnerId: PartnerIdT;\n        userId: UserIdT | null;\n    }) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DEFAULT_SORT: PageSortT<BidsSortEnum> = {\n    value: BidsSortEnum.price,\n    direction: SortDirectionEnum.ASC,\n};\n\nconst QUICK_FILTER_ORDER: Array<BidsQuickFilterEnum> = [\n    BidsQuickFilterEnum.accepted,\n    BidsQuickFilterEnum.match,\n    BidsQuickFilterEnum.inactive,\n];\n\nconst quickFilterLabels: Record<BidsQuickFilterEnum, string> = {\n    [BidsQuickFilterEnum.accepted]: 'spot-request-details.bids.quick-filters.accepted',\n    [BidsQuickFilterEnum.match]: 'spot-request-details.bids.quick-filters.match',\n    [BidsQuickFilterEnum.inactive]: 'spot-request-details.bids.quick-filters.inactive',\n};\n\nconst quickFilterPillTheme: Record<BidsQuickFilterEnum, PillLabelThemeEnum> = {\n    [BidsQuickFilterEnum.accepted]: PillLabelThemeEnum.orange,\n    [BidsQuickFilterEnum.match]: PillLabelThemeEnum.slate,\n    [BidsQuickFilterEnum.inactive]: PillLabelThemeEnum.grey,\n};\n\nconst availableSelectBidStatusSet = new Set<ApiSpotBidStatusT>([SpotBidStatusEnum.accepted]);\n\nconst Bids: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        bids,\n        isDisabledSelectBid,\n        selectedBidId,\n        onSelectBid,\n        estimateSpotRequestPrice,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const [selectedSort, setSort] = React.useState<PageSortT<BidsSortEnum>>(DEFAULT_SORT);\n\n    const [selectedQuickFilter, setQuickFilter] = React.useState<BidsQuickFilterEnum>(BidsQuickFilterEnum.accepted);\n\n    const bidCounts = useMemo(() => {\n        return useBidQuickFilterCounts(bids);\n    }, [bids]);\n\n    const filteredBids = useMemo(() => {\n        return useBidsFilter(selectedQuickFilter, bids);\n    }, [selectedQuickFilter, bids]);\n\n    const sortedBids = useMemo(() => {\n        return useBidsSort(selectedSort, filteredBids);\n    }, [selectedSort, filteredBids]);\n\n    const sortOptions: Array<SortDropdownOptionT<BidsSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('spot-request-details.bids.sorts.date'),\n                value: BidsSortEnum.date,\n            },\n            {\n                label: t('spot-request-details.bids.sorts.price'),\n                value: BidsSortEnum.price,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<BidsSortEnum>) => {\n        setSort(sort);\n    };\n\n    return (\n        <div className={cs(cx('inner'), className)}>\n            <div className={cx('header')}>\n                <div className={cx('header_tabs', 'filters')}>\n                    <ButtonGroup>\n                        {QUICK_FILTER_ORDER.map((quickFilter) => {\n                            return (\n                                <Button\n                                    key={quickFilter}\n                                    className={cx('filters__button')}\n                                    theme={ButtonThemeEnum.transparent}\n                                    onClick={() => {\n                                        setQuickFilter(quickFilter);\n                                    }}\n                                    horizontalSpaces=\"s\"\n                                    isToggled={quickFilter === selectedQuickFilter}\n                                    leftIcon={\n                                        <PillLabel isSymmetrical theme={quickFilterPillTheme[quickFilter]} isRounded>\n                                            <span className={cx('filters__count')}>{bidCounts[quickFilter]}</span>\n                                        </PillLabel>\n                                    }\n                                >\n                                    {t(quickFilterLabels[quickFilter])}\n                                </Button>\n                            );\n                        })}\n                    </ButtonGroup>\n                </div>\n                <SortDropdown\n                    className={cx('header_sort')}\n                    testSelector=\"bids\"\n                    overlayPosition={SortDropdownOverlayPositionEnum.right}\n                    selectedValue={selectedSort}\n                    options={sortOptions}\n                    onSelect={handleSelectSort}\n                />\n            </div>\n            {sortedBids.map((bid) => {\n                const isDisabledBid = !bid?.status || !availableSelectBidStatusSet.has(bid.status);\n\n                return (\n                    <BidDetails\n                        key={bid?.id}\n                        className={cx('bid')}\n                        isDisabled={isDisabledSelectBid || isDisabledBid}\n                        isSelected={selectedBidId === bid?.id}\n                        bid={bid}\n                        onSelect={onSelectBid}\n                        estimateSpotRequestPrice={estimateSpotRequestPrice}\n                        onOpenUserDetails={onOpenUserDetails}\n                    />\n                );\n            })}\n            {!sortedBids.length && selectedQuickFilter === BidsQuickFilterEnum.accepted && (\n                <BidMessage\n                    key={`empty-bids-${BidsQuickFilterEnum.accepted}`}\n                    icon={<BigEmptyIcon />}\n                    title={t('spot-request-details.bids.messages.empty-accepted.title')}\n                    description={t('spot-request-details.bids.messages.empty-accepted.description')}\n                />\n            )}\n            {!sortedBids.length && selectedQuickFilter === BidsQuickFilterEnum.match && (\n                <BidMessage\n                    key={`empty-bids-${BidsQuickFilterEnum.match}`}\n                    icon={<BigEmptyIcon />}\n                    title={t('spot-request-details.bids.messages.empty-match.title')}\n                    description={t('spot-request-details.bids.messages.empty-match.description')}\n                />\n            )}\n            {!sortedBids.length && selectedQuickFilter === BidsQuickFilterEnum.inactive && (\n                <BidMessage\n                    key={`empty-bids-${BidsQuickFilterEnum.inactive}`}\n                    icon={<BigEmptyIcon />}\n                    title={t('spot-request-details.bids.messages.empty-inactive.title')}\n                />\n            )}\n        </div>\n    );\n});\n\nexport default Bids;\n","import * as React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TimelineAutoSizer.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    children: (height: number, width: number) => React.ReactNode;\n};\n\nconst TimelineAutoSizer: React.FC<PropsT> = React.memo((props) => {\n    const { className, children } = props;\n\n    const [containerSize, setContainerSize] = React.useState<DivSizeT | null>(null);\n\n    const [containerNode, setContainerNode] = React.useState<HTMLDivElement | null>(null);\n    const containerRef = React.useCallback((containerNode) => {\n        if (containerNode !== null) {\n            setContainerNode(containerNode);\n            setContainerSize({\n                height: containerNode.offsetHeight,\n                width: containerNode.offsetWidth,\n            });\n        }\n    }, []);\n\n    React.useLayoutEffect(() => {\n        const measureContainer = () => {\n            if (!containerNode) {\n                return;\n            }\n\n            setContainerSize({\n                height: containerNode.offsetHeight,\n                width: containerNode.offsetWidth,\n            });\n        };\n\n        window.addEventListener('resize', measureContainer);\n\n        return () => {\n            window.removeEventListener('resize', measureContainer);\n        };\n    }, [containerNode]);\n\n    return (\n        <div className={cs(cx('wrap'), className)} ref={containerRef}>\n            {containerSize && children(containerSize.height, containerSize.width)}\n        </div>\n    );\n});\n\nexport default TimelineAutoSizer;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './AlertGroup.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n};\n\nconst AlertGroup: React.FC<PropsT> = React.memo((props) => {\n    return <div className={cs(cx('alerts'), props.className)}>{props.children}</div>;\n});\n\nexport { AlertGroup };\n","// extracted by mini-css-extract-plugin\nexport default {\"offer\":\"OffersForm__offer___TIFSM\",\"offers\":\"OffersForm__offers___7yd6X\",\"subtitle\":\"OffersForm__subtitle___Tw2vv\",\"inner\":\"OffersForm__inner___GME7g\",\"quick-actions\":\"OffersForm__quick-actions___qBQD6\",\"progress-bar\":\"OffersForm__progress-bar___qB6nB\",\"actions\":\"OffersForm__actions___oBCaC\",\"actions__action\":\"OffersForm__actions__action___qZoAD\",\"actions__action--additional-services\":\"OffersForm__actions__action--additional-services___eE9IT\",\"fadeIn\":\"OffersForm__fadeIn___SmQvG\",\"blinking\":\"OffersForm__blinking____RC30\"};","// eslint-disable-next-line no-restricted-exports\nexport { default } from './slice';\n","import { FieldsEnum, FormValuesT } from './TrailerDetailsForm/constants';\nimport { ApiTrailerAddRequestT, ApiTrailerUpdateRequestT, CountryCodeT } from 'common/utils/api/models';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { FieldsEnum as DetailsFieldsEnum } from 'common/layouts/CommonEditableTruckDetailsLayout/EditTruckSidebarContent/TruckDetailsForm/constants';\nimport isNumber from 'lodash/isNumber';\n\nconst prepareApiCreateTrailer = (detailsFormValues: FormValuesT): ApiTrailerAddRequestT | null => {\n    const dictTrailerId = detailsFormValues[FieldsEnum.trailerDictId];\n    const parsedDictTrailerId = dictTrailerId ? parseInt(dictTrailerId, 10) : undefined;\n    if (!isNumber(parsedDictTrailerId) || !dictTrailerId) {\n        return null;\n    }\n\n    let pricing: Partial<ApiTrailerAddRequestT> = {};\n    if (detailsFormValues[DetailsFieldsEnum.contract] === null) {\n        pricing = {\n            ratePerKm: parseSimpleNumber(detailsFormValues[FieldsEnum.ratePerKm]),\n        };\n    } else {\n        pricing = {\n            contractId: detailsFormValues[DetailsFieldsEnum.contract] || undefined,\n        };\n    }\n\n    return {\n        dictTrailerId: parsedDictTrailerId,\n        vin: detailsFormValues[FieldsEnum.vin] || '',\n        plateNumber: detailsFormValues[FieldsEnum.plateNumber] || '',\n        countryOfRegistration: (detailsFormValues[FieldsEnum.countryCode] as CountryCodeT) || undefined,\n        ...pricing,\n    };\n};\n\nconst prepareApiModifyTrailer = (trailerId: TrailerIdT, detailsFormValues: FormValuesT): ApiTrailerUpdateRequestT => {\n    let pricing: Partial<ApiTrailerUpdateRequestT> = {};\n    if (detailsFormValues[DetailsFieldsEnum.contract] === null) {\n        pricing = {\n            ratePerKm: parseSimpleNumber(detailsFormValues[FieldsEnum.ratePerKm]),\n        };\n    } else {\n        pricing = {\n            contractId: detailsFormValues[DetailsFieldsEnum.contract] || undefined,\n        };\n    }\n\n    return {\n        ...pricing,\n    };\n};\n\nexport { prepareApiCreateTrailer, prepareApiModifyTrailer };\n","import {\n    QueryFiltersKeysEnum,\n    QueryFiltersT,\n} from 'broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport {\n    getDateFromDate,\n    getEndDayFromDate,\n    getEndDayFromDateZero,\n    getStartDayFromDate,\n    getStartDayFromDateZero,\n} from 'common/utils/time';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {};\n\n    const createdByShipperId = values[FieldsEnum.createdByShipperId];\n    if (createdByShipperId) {\n        queryFilters[QueryFiltersKeysEnum.createdByShipperId] = createdByShipperId;\n        queryFilters[QueryFiltersKeysEnum.createdByShipperName] = values[FieldsEnum.createdByShipperName];\n    }\n\n    const createdByUserId = values[FieldsEnum.createdByUserId];\n    if (createdByUserId) {\n        queryFilters[QueryFiltersKeysEnum.createdByUserId] = createdByUserId;\n        queryFilters[QueryFiltersKeysEnum.createdByUserName] = values[FieldsEnum.createdByUserName];\n    }\n\n    const dictTrailerTypeId = values[FieldsEnum.dictTrailerTypeId];\n    if (dictTrailerTypeId) {\n        queryFilters[QueryFiltersKeysEnum.dictTrailerTypeId] = dictTrailerTypeId;\n    }\n\n    const pickupAddress = values[FieldsEnum.pickupAddress];\n    if (pickupAddress) {\n        queryFilters[QueryFiltersKeysEnum.pickupAddress] = pickupAddress;\n    }\n\n    const dropoffAddress = values[FieldsEnum.dropoffAddress];\n    if (dropoffAddress) {\n        queryFilters[QueryFiltersKeysEnum.dropOffAddress] = dropoffAddress;\n    }\n\n    const pickupDates = values[FieldsEnum.pickupDates];\n    if (pickupDates?.from) {\n        const date = getDateFromDate(pickupDates.from);\n        queryFilters[QueryFiltersKeysEnum.pickupDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (pickupDates?.to) {\n        const date = getDateFromDate(pickupDates.to);\n        queryFilters[QueryFiltersKeysEnum.pickupDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const dropoffDates = values[FieldsEnum.dropoffDates];\n    if (dropoffDates?.from) {\n        const date = getDateFromDate(dropoffDates.from);\n        queryFilters[QueryFiltersKeysEnum.dropOffDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (dropoffDates?.to) {\n        const date = getDateFromDate(dropoffDates.to);\n        queryFilters[QueryFiltersKeysEnum.dropOffDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const createDates = values[FieldsEnum.createDates];\n    if (createDates?.from) {\n        const date = getDateFromDate(createDates.from);\n        queryFilters[QueryFiltersKeysEnum.createdDateFrom] = getStartDayFromDate(date);\n    }\n\n    if (createDates?.to) {\n        const date = getDateFromDate(createDates.to);\n        queryFilters[QueryFiltersKeysEnum.createdDateTo] = getEndDayFromDate(date);\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './EmailCell.scss';\n\ntype PropsT = {\n    email: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst EmailCell: React.FC<PropsT> = React.memo((props) => {\n    const { email } = props;\n\n    return <div className={cx('email')}>{email}</div>;\n});\n\nexport default EmailCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"TimeIntervalDurationPillLabel__text___nlZgi\",\"fadeIn\":\"TimeIntervalDurationPillLabel__fadeIn___YcK_g\",\"blinking\":\"TimeIntervalDurationPillLabel__blinking___u7Enh\"};","import React, { memo, useCallback } from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TimeWindowPicker.scss';\nimport RangeSelector, { RangeSelectorRangeT } from 'common/components/RangeSelector/RangeSelector';\nimport { getTimeRelativeStartDay, MS_IN_DAY, MS_IN_HOUR } from 'common/utils/time';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT<NameT> = {\n    name: NameT;\n    isDisabled?: boolean;\n    isDisableLeftRangeControl?: boolean;\n    isDisableRightRangeControl?: boolean;\n    icon?: React.ReactNode;\n    label: React.ReactNode;\n    values: TimeWindowT | null;\n    className?: string;\n    setFieldValue: (name: NameT, value: TimeWindowT) => void;\n    range: TimeWindowT;\n    step?: number;\n    minRangeWidth?: number;\n    maxRangeWidth?: number;\n    availableValues: TimeWindowT;\n    ranges: RangeSelectorRangeT[];\n    duration?: React.ReactElement;\n    link?: React.ReactElement;\n    hasStartStep?: boolean;\n    hasEndStep?: boolean;\n    tooltipNode?: string;\n};\n\nconst SHOW_TOOLTIP_DELAY = 300;\n\nconst BaseTimeWindowPicker = <NameT extends string>(props: PropsT<NameT>): React.ReactElement | null => {\n    const {\n        label,\n        values,\n        name,\n        icon,\n        setFieldValue,\n        isDisabled,\n        isDisableLeftRangeControl,\n        isDisableRightRangeControl,\n        className,\n        range,\n        duration,\n        minRangeWidth,\n        maxRangeWidth,\n        step: forceStep,\n        link,\n        availableValues,\n        ranges,\n        hasStartStep,\n        hasEndStep,\n        tooltipNode,\n    } = props;\n\n    const handleSelect = useCallback(\n        (selectedValue: TimeWindowT) => {\n            if (isDisabled) {\n                return;\n            }\n\n            setFieldValue(name, selectedValue);\n        },\n        [isDisabled, name, setFieldValue],\n    );\n\n    const step = forceStep || MS_IN_HOUR / 2;\n\n    const shownStepCount = MS_IN_DAY / (step * 24);\n    const shownLabelCount = shownStepCount * 3;\n\n    const labelsConfig = React.useMemo(() => {\n        return {\n            shownStepCount,\n            shownLabelCount,\n            hasStartStep,\n            hasEndStep,\n        };\n    }, [shownStepCount, shownLabelCount, hasStartStep, hasEndStep]);\n\n    return (\n        <div className={cs(cx('time-picker'), className)}>\n            <div className={cx('head')}>\n                <div className={cx('label')}>\n                    {icon || (\n                        <TimeWindowIcon\n                            className={cx('label__icon')}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    )}\n                    <div className={cx('label__label')}>{label}</div>\n                    {tooltipNode && (\n                        <Tooltip\n                            className={cx('tooltip')}\n                            position={TooltipPositionEnum.topCenter}\n                            theme={TooltipThemeEnum.black}\n                            tooltipNode={<div className={cs(cx('tooltip__inner'))}>{tooltipNode}</div>}\n                            delay={SHOW_TOOLTIP_DELAY}\n                        >\n                            {(isShow) => <TooltipIconTrigger className={cx('tooltip__icon')} isShow={isShow} />}\n                        </Tooltip>\n                    )}\n                    {duration}\n                </div>\n                {!!link && <div className={cx('link')}>{link}</div>}\n            </div>\n            <RangeSelector\n                isLocked={isDisabled}\n                valuesRange={range}\n                availableValues={availableValues || range}\n                ranges={ranges || []}\n                values={values}\n                valueStep={step}\n                isLockedLeftRangeControl={isDisableLeftRangeControl}\n                isLockedRightRangeControl={isDisableRightRangeControl}\n                minValuesRangeWidth={minRangeWidth}\n                maxValuesRangeWidth={maxRangeWidth}\n                labelsConfig={labelsConfig}\n                renderLabel={(value: number) => {\n                    const relativeTime = getTimeRelativeStartDay(value);\n                    if (value && relativeTime === '00:00') {\n                        return '23:59';\n                    }\n\n                    return relativeTime;\n                }}\n                onSelect={handleSelect}\n            />\n        </div>\n    );\n};\n\nconst TimeWindowPicker = memo(BaseTimeWindowPicker) as typeof BaseTimeWindowPicker;\n\nexport default TimeWindowPicker;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AssignmentSettingsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup, { FieldGroupEmptyItem } from 'common/components/FieldGroup/FieldGroup';\nimport prepareApiSystemSettings from './prepare-system-settings';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport withWidgetChangesDetector from 'common/components/SaveChangesNotification/withWidgetChangesDetector';\nimport { UnitTypeEnum } from 'common/constants';\nimport Widget from 'common/components/Widget/Widget';\nimport values from 'lodash/values';\nimport { getMaskByType } from '../utils';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { SystemSettingsFormCommonPropsT } from 'broker-admin/layouts/SettingsPage/SystemSettings/models';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\n\nconst cx = classNames.bind(styles);\n\ntype NumberFieldsT =\n    | FieldsEnum.firstRadiusOfAssignmentFilter\n    | FieldsEnum.secondRadiusOfAssignmentFilter\n    | FieldsEnum.thirdRadiusOfAssignmentFilter\n    | FieldsEnum.timeToHookTrailer\n    | FieldsEnum.timeToDropTrailer\n    | FieldsEnum.timeToPickupTruck\n    | FieldsEnum.timeToDropTruck\n    | FieldsEnum.geoMatrixCoefficient\n    | FieldsEnum.averageTruckSpeed;\n\nconst UNIT_TYPE_MAP: Record<NumberFieldsT, UnitTypeEnum | null> = {\n    [FieldsEnum.firstRadiusOfAssignmentFilter]: UnitTypeEnum.kilometersAbbreviation,\n    [FieldsEnum.secondRadiusOfAssignmentFilter]: UnitTypeEnum.kilometersAbbreviation,\n    [FieldsEnum.thirdRadiusOfAssignmentFilter]: UnitTypeEnum.kilometersAbbreviation,\n    [FieldsEnum.timeToHookTrailer]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.timeToDropTrailer]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.timeToPickupTruck]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.timeToDropTruck]: UnitTypeEnum.minutesAbbreviation,\n    [FieldsEnum.geoMatrixCoefficient]: null,\n    [FieldsEnum.averageTruckSpeed]: UnitTypeEnum.kilometersPerHourAbbreviation,\n};\n\nconst STEP_MAP: Record<NumberFieldsT, number> = {\n    [FieldsEnum.firstRadiusOfAssignmentFilter]: 5,\n    [FieldsEnum.secondRadiusOfAssignmentFilter]: 5,\n    [FieldsEnum.thirdRadiusOfAssignmentFilter]: 5,\n    [FieldsEnum.timeToHookTrailer]: 1,\n    [FieldsEnum.timeToDropTrailer]: 1,\n    [FieldsEnum.timeToPickupTruck]: 1,\n    [FieldsEnum.timeToDropTruck]: 1,\n    [FieldsEnum.geoMatrixCoefficient]: 0.1,\n    [FieldsEnum.averageTruckSpeed]: 1,\n};\n\nconst FIELD_LABEL_T_MAP: Record<NumberFieldsT, string> = {\n    [FieldsEnum.firstRadiusOfAssignmentFilter]:\n        'price-settings.assignment-form.fields.firstRadiusOfAssignmentFilter.label',\n    [FieldsEnum.secondRadiusOfAssignmentFilter]:\n        'price-settings.assignment-form.fields.secondRadiusOfAssignmentFilter.label',\n    [FieldsEnum.thirdRadiusOfAssignmentFilter]:\n        'price-settings.assignment-form.fields.thirdRadiusOfAssignmentFilter.label',\n    [FieldsEnum.timeToDropTrailer]: 'price-settings.assignment-form.fields.timeToDropTrailer.label',\n    [FieldsEnum.timeToHookTrailer]: 'price-settings.assignment-form.fields.timeToHookTrailer.label',\n    [FieldsEnum.timeToPickupTruck]: 'price-settings.assignment-form.fields.timeToPickupTruck.label',\n    [FieldsEnum.timeToDropTruck]: 'price-settings.assignment-form.fields.timeToDropTruck.label',\n    [FieldsEnum.geoMatrixCoefficient]: 'price-settings.assignment-form.fields.geoMatrixCoefficient.label',\n    [FieldsEnum.averageTruckSpeed]: 'price-settings.assignment-form.fields.averageTruckSpeed.label',\n};\n\nconst FIELD_DESCRIPTION_T_MAP: Record<NumberFieldsT, string> = {\n    [FieldsEnum.firstRadiusOfAssignmentFilter]:\n        'price-settings.assignment-form.fields.firstRadiusOfAssignmentFilter.description',\n    [FieldsEnum.secondRadiusOfAssignmentFilter]:\n        'price-settings.assignment-form.fields.secondRadiusOfAssignmentFilter.description',\n    [FieldsEnum.thirdRadiusOfAssignmentFilter]:\n        'price-settings.assignment-form.fields.thirdRadiusOfAssignmentFilter.description',\n    [FieldsEnum.timeToDropTrailer]: 'price-settings.assignment-form.fields.timeToDropTrailer.description',\n    [FieldsEnum.timeToHookTrailer]: 'price-settings.assignment-form.fields.timeToHookTrailer.description',\n    [FieldsEnum.timeToPickupTruck]: 'price-settings.assignment-form.fields.timeToPickupTruck.description',\n    [FieldsEnum.timeToDropTruck]: 'price-settings.assignment-form.fields.timeToDropTruck.description',\n    [FieldsEnum.geoMatrixCoefficient]: 'price-settings.assignment-form.fields.geoMatrixCoefficient.description',\n    [FieldsEnum.averageTruckSpeed]: 'price-settings.assignment-form.fields.averageTruckSpeed.description',\n};\n\ntype PropsT = SystemSettingsFormCommonPropsT;\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst AssignmentSettingsForm: React.FC<PropsT> = (props) => {\n    const { systemSettings, title, onUpdate, isLoading } = props;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(systemSettings);\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [systemSettings]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const apiSystemSettings = prepareApiSystemSettings(values);\n            onUpdate(apiSystemSettings);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErros = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErros,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErros, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    const WidgetChangesDetector = withWidgetChangesDetector(formik.values, initialValues);\n\n    const renderNumberField = (name: NumberFieldsT): React.ReactNode => {\n        return (\n            <FormikField\n                className={cx('field')}\n                name={name}\n                error={formik.errors[name]}\n                meta={formik.getFieldMeta(name)}\n                label={t(FIELD_LABEL_T_MAP[name])}\n                setFieldValue={formik.setFieldValue}\n                setFieldTouched={formik.setFieldTouched}\n                tooltipNode={\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t(FIELD_DESCRIPTION_T_MAP[name])}\n                    </TooltipContent>\n                }\n            >\n                {(props) => (\n                    <NumberInput\n                        name={name}\n                        unitType={UNIT_TYPE_MAP[name] || undefined}\n                        mask={getMaskByType(UNIT_TYPE_MAP[name])}\n                        step={STEP_MAP[name]}\n                        value={formik.values[name]}\n                        onChange={props.onChange}\n                        onBlur={props.onBlur}\n                        onFocus={props.onFocus}\n                        hasError={props.hasError}\n                        hasWarning={props.hasWarning}\n                        hasChanges={props.hasChanges}\n                    />\n                )}\n            </FormikField>\n        );\n    };\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <Widget className={cx('widget')} title={title} rightNode={<WidgetChangesDetector fields={ALL_FIELDS} />}>\n                <div className={cx('widget__inner')}>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.firstRadiusOfAssignmentFilter)}\n                        {renderNumberField(FieldsEnum.secondRadiusOfAssignmentFilter)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.thirdRadiusOfAssignmentFilter)}\n                        <FieldGroupEmptyItem className={cx('field')} />\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.timeToPickupTruck)}\n                        {renderNumberField(FieldsEnum.timeToDropTruck)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.timeToHookTrailer)}\n                        {renderNumberField(FieldsEnum.timeToDropTrailer)}\n                    </FieldGroup>\n                    <FieldGroup className={cx('field-group')}>\n                        {renderNumberField(FieldsEnum.geoMatrixCoefficient)}\n                        {renderNumberField(FieldsEnum.averageTruckSpeed)}\n                    </FieldGroup>\n                    <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                    <HiddenSubmitButtonForKeyboardEnter />\n                </div>\n            </Widget>\n        </form>\n    );\n};\n\nexport default React.memo(AssignmentSettingsForm) as typeof AssignmentSettingsForm;\n","import { CarrierContractStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { initialCarrierContractState } from './reducer';\n\nexport const selectCarrierContractStateById = (contractId: CarrierContractIdT | null | undefined) => {\n    return (state: SharableStateT): CarrierContractStateT => {\n        return state.carrierContractDetails[contractId as CarrierContractIdT] || initialCarrierContractState;\n    };\n};\n","import React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst FilledWrenchIcon: React.FC<PropsT> = (props) => {\n    const { size, fillOpacity, fillColor, strokeColor } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    d=\"M8 1.829A6.176 6.176 0 0 0 1.829 8 6.176 6.176 0 0 0 8 14.171 6.176 6.176 0 0 0 14.171 8 6.176 6.176 0 0 0 8 1.829zm2.078 9.771L7.753 9.275c-.864.268-1.841.083-2.52-.606a2.49 2.49 0 0 1-.442-2.922l1.676 1.677 1.06-1.06L5.85 4.689a2.49 2.49 0 0 1 3.415 3.26l2.232 2.233-1.42 1.419z\"\n                    fillOpacity={fillOpacity || 1}\n                    fill={fillColor}\n                />\n                <path\n                    d=\"M8 .8c3.97 0 7.2 3.23 7.2 7.2s-3.23 7.2-7.2 7.2S.8 11.97.8 8 4.03.8 8 .8zm0 1.029A6.176 6.176 0 0 0 1.829 8 6.176 6.176 0 0 0 8 14.171 6.176 6.176 0 0 0 14.171 8 6.176 6.176 0 0 0 8 1.829zM5.85 4.688a2.49 2.49 0 0 1 2.921.442 2.51 2.51 0 0 1 .494 2.819l2.232 2.232-1.42 1.419-2.324-2.325a2.505 2.505 0 0 1-2.52-.606 2.49 2.49 0 0 1-.442-2.922l1.676 1.677 1.06-1.06z\"\n                    fill={strokeColor}\n                />\n            </g>\n        </svg>\n    );\n};\n\nFilledWrenchIcon.displayName = 'FilledWrenchIcon';\n\nconst storyProps: PropsT = {\n    size: 20,\n    fillColor: StyleGuideColorsEnum.slate,\n    strokeColor: StyleGuideColorsEnum.orange,\n};\n\nexport { storyProps };\n\nexport default FilledWrenchIcon;\n","import { ApiReservePointT } from 'common/store/order-creation/models';\n\nexport const createFakeIdFromPoint = (point: Pick<ApiReservePointT, 'id'>) => {\n    return point.id;\n};\n","import {\n    FETCH_NOTIFICATIONS_PAGE_REQUEST_BEGIN,\n    FETCH_NOTIFICATIONS_PAGE_REQUEST_ERROR,\n    FETCH_NOTIFICATIONS_PAGE_REQUEST_SUCCESS,\n    FETCH_UNREAD_NOTIFICATIONS_REQUEST_BEGIN,\n    FETCH_UNREAD_NOTIFICATIONS_REQUEST_ERROR,\n    FETCH_UNREAD_NOTIFICATIONS_REQUEST_SUCCESS,\n    MARK_AS_READ_REQUEST,\n    NotificationsActionT,\n    NotificationsStateT,\n    RESET_NOTIFICATION_PAGES,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { isNonNil } from 'common/utils';\nimport keyBy from 'lodash/keyBy';\nimport flatten from 'lodash/flatten';\nimport { AnyNotificationT } from 'common/store/notifications/models';\nimport { pageBeginReducer, pageErrorReducer, pageSuccessReducer } from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: NotificationsStateT = {\n    unreadNotifications: {\n        ids: [],\n        byId: {},\n        fetchRequest: requestStatus.initial,\n    },\n\n    currentPageNumber: 0,\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n\n    markAsReadRequest: requestStatus.initial,\n};\n\nconst mergeNotificationsById = (\n    oldNotificationsById: Record<NotificationIdT, AnyNotificationT>,\n    newNotificationsById: Record<NotificationIdT, AnyNotificationT>,\n) => {\n    return {\n        ...oldNotificationsById,\n        ...newNotificationsById,\n    };\n};\n\nexport default (state = initialState, action: NotificationsActionT | DestroySessionActionT): NotificationsStateT => {\n    switch (action.type) {\n        case FETCH_NOTIFICATIONS_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query } = action;\n\n            const newPages = [...state.pages];\n            newPages.splice(pageNumber, 1, {\n                ...state.pages[pageNumber],\n                requestStatus: requestStatus.loading,\n            });\n\n            return {\n                ...state,\n                ...pageBeginReducer(state, pageNumber, query),\n                currentPageNumber: Math.max(state.currentPageNumber, pageNumber),\n            };\n        }\n\n        case FETCH_NOTIFICATIONS_PAGE_REQUEST_SUCCESS: {\n            const { query, pageNumber, pageResponse } = action;\n\n            return {\n                ...state,\n                ...pageSuccessReducer(state, pageNumber, query, pageResponse),\n            };\n        }\n\n        case FETCH_NOTIFICATIONS_PAGE_REQUEST_ERROR: {\n            const { query, error, pageNumber } = action;\n\n            return {\n                ...state,\n                ...pageErrorReducer(state, pageNumber, query, error),\n            };\n        }\n\n        case FETCH_UNREAD_NOTIFICATIONS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                unreadNotifications: {\n                    ...state.unreadNotifications,\n                    fetchRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_UNREAD_NOTIFICATIONS_REQUEST_SUCCESS: {\n            const { notifications } = action;\n\n            const byId = notifications ? keyBy(notifications, 'id') : state.unreadNotifications.byId;\n\n            return {\n                ...state,\n                unreadNotifications: {\n                    ...state.unreadNotifications,\n                    ids: (notifications || []).map((notification) => notification.id),\n                    byId: mergeNotificationsById(state.unreadNotifications.byId, byId),\n                    fetchRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case FETCH_UNREAD_NOTIFICATIONS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                unreadNotifications: {\n                    ...state.unreadNotifications,\n                    fetchRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case MARK_AS_READ_REQUEST: {\n            const { ids, isAll } = action;\n\n            const newById = { ...state.byId };\n\n            ids.forEach((id) => {\n                newById[id] = {\n                    ...newById[id],\n                    readAlready: true,\n                };\n            });\n\n            if (isAll) {\n                const pageNotificationIds = state.pages.map((page) => page.ids);\n                const allNotificationsIds = flatten(pageNotificationIds).filter(isNonNil);\n\n                allNotificationsIds.forEach((id) => {\n                    newById[id] = {\n                        ...newById[id],\n                        readAlready: true,\n                    };\n                });\n            }\n\n            return {\n                ...state,\n                byId: newById,\n            };\n        }\n\n        case RESET_NOTIFICATION_PAGES: {\n            return {\n                ...state,\n                pages: [],\n                query: null,\n                total: null,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import { ApiCarrierTruckDetailsT, ApiTruckDetailsT } from 'common/store/trucks/models';\n\nexport const checkIsApiCarrierTruckDetails = (details: ApiTruckDetailsT | null): details is ApiCarrierTruckDetailsT => {\n    return !!details;\n};\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const stateMachineRefreshChannel = new ViewEventChannel<{}>();\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"RatesTable__table___vKETS\",\"table__header\":\"RatesTable__table__header___TYvcz\",\"table__header--checkbox\":\"RatesTable__table__header--checkbox___x1x_A\",\"table__header--country\":\"RatesTable__table__header--country___NLtXu\",\"table__header--cost\":\"RatesTable__table__header--cost___Sy5WM\",\"table__header--date\":\"RatesTable__table__header--date___UROPM\",\"table__column\":\"RatesTable__table__column___KTcQU\",\"table__column--checkbox\":\"RatesTable__table__column--checkbox___gThLT\",\"table__column--country\":\"RatesTable__table__column--country___FkEXL\",\"table__column--cost\":\"RatesTable__table__column--cost___RstBK\",\"table__column--date\":\"RatesTable__table__column--date___fcxSl\",\"table__column--update\":\"RatesTable__table__column--update___uga4M\",\"fadeIn\":\"RatesTable__fadeIn___CG2Xc\",\"blinking\":\"RatesTable__blinking___B9jhR\"};","import React from 'react';\n\ntype SidedBarHeaderLayoutContextT = React.RefObject<HTMLDivElement>;\n\nconst SidedBarHeaderLayoutContext = React.createContext<SidedBarHeaderLayoutContextT | null>(null);\n\nexport default SidedBarHeaderLayoutContext;\n","// extracted by mini-css-extract-plugin\nexport default {\"action--next\":\"ChangeTourStatusControls__action--next___hW9OU\",\"tooltip\":\"ChangeTourStatusControls__tooltip___KaH4z\",\"fadeIn\":\"ChangeTourStatusControls__fadeIn___rNJEo\",\"blinking\":\"ChangeTourStatusControls__blinking___s4GnX\"};","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport { AssetTypeEnum, StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport ChangeRateOrContractAssetForm from './ChangeRateOrContractAssetForm/ChangeRateOrContractAssetForm';\nimport { AssetDataT } from './models';\nimport { ApiChangeContractVehiclesRequestT, ApiChangeRateVehiclesRequestT } from 'common/utils/api/models';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\n\nexport type ChangeRateOrContractAssetDialogModalDataT = {\n    companyId: CompanyIdT;\n    assets: Array<AssetDataT>;\n};\n\ntype PropsT = {\n    companyId: CompanyIdT | null;\n    assetType: AssetTypeEnum;\n    data: ChangeRateOrContractAssetDialogModalDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onChangeRate: (changeRateRequest: ApiChangeRateVehiclesRequestT) => void;\n    onChangeContract: (changeContractRequest: ApiChangeContractVehiclesRequestT, contractName: string) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'change-rate-or-contract-assets';\n\nconst T_MAP: Record<\n    AssetTypeEnum,\n    {\n        title: string;\n        message: string;\n    }\n> = {\n    [AssetTypeEnum.truck]: {\n        title: 'common:trucks-page.change-rate-or-contract-assets-confirmation.title',\n        message: 'common:trucks-page.change-rate-or-contract-assets-confirmation.message',\n    },\n    [AssetTypeEnum.trailer]: {\n        title: 'common:trailers-page.change-rate-or-contract-assets-confirmation.title',\n        message: 'common:trailers-page.change-rate-or-contract-assets-confirmation.message',\n    },\n};\n\nconst ChangeRateOrContractAssetDialogModal: React.FC<PropsT> = React.memo((props) => {\n    const { companyId, data, onClose, onCancel, requestStatus, onChangeRate, onChangeContract, assetType } = props;\n\n    const { t } = useTranslation();\n\n    if (!data || !companyId) {\n        return null;\n    }\n\n    const { assets } = data;\n\n    const tSet = T_MAP[assetType];\n    const message = t(tSet.message);\n    const title = t(tSet.title);\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    icon={<BigWarningIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={title}\n                    message={message}\n                >\n                    <ChangeRateOrContractAssetForm\n                        companyId={companyId}\n                        assets={assets}\n                        onCancel={onCancel}\n                        requestStatus={requestStatus}\n                        onChangeRate={onChangeRate}\n                        onChangeContract={onChangeContract}\n                    />\n                </ModalDialog>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ChangeRateOrContractAssetDialogModal;\n","// extracted by mini-css-extract-plugin\nexport default {\"route\":\"BrokerTourDetails__route___eCaoo\",\"excluded-countries\":\"BrokerTourDetails__excluded-countries___L4_Ou\",\"alert\":\"BrokerTourDetails__alert___rnI9s\",\"table--shipper-order\":\"BrokerTourDetails__table--shipper-order___s0bTO\",\"table--carrier-cost\":\"BrokerTourDetails__table--carrier-cost___NYxlR\",\"table--mileages\":\"BrokerTourDetails__table--mileages___HAIdF\",\"tabs\":\"BrokerTourDetails__tabs___MgiRS\",\"entry-card\":\"BrokerTourDetails__entry-card___IKJq7\",\"papers-card\":\"BrokerTourDetails__papers-card___OKekm\",\"separator\":\"BrokerTourDetails__separator___UKy2M\",\"pill\":\"BrokerTourDetails__pill___TNveI\",\"tooltip__inner\":\"BrokerTourDetails__tooltip__inner___mjV34\",\"info-table-row--origin\":\"BrokerTourDetails__info-table-row--origin___QRUoz\",\"info-table-row--destination\":\"BrokerTourDetails__info-table-row--destination___fhLF8\",\"info-table-row--carrier\":\"BrokerTourDetails__info-table-row--carrier___tz3Kb\",\"info-table-row--price-offer\":\"BrokerTourDetails__info-table-row--price-offer___bRmjs\",\"info-table-row--self-cost\":\"BrokerTourDetails__info-table-row--self-cost___mAL5Q\",\"info-table-row--additinal-services\":\"BrokerTourDetails__info-table-row--additinal-services___x6UMU\",\"info-table-row--shipper\":\"BrokerTourDetails__info-table-row--shipper___TIwov\",\"team-driver\":\"BrokerTourDetails__team-driver___FcMC_\",\"alerts\":\"BrokerTourDetails__alerts___x7lof\",\"fadeIn\":\"BrokerTourDetails__fadeIn___cxBx1\",\"blinking\":\"BrokerTourDetails__blinking___FCHJk\"};","import { TranziitApiRequestErrorSubTypeEnum } from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nexport enum FieldsEnum {\n    phone = 'phone',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.phone]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n\nexport type AsyncFormErrorsT = Partial<{\n    [FieldsEnum.phone]: TranziitApiRequestErrorSubTypeEnum.phoneAlreadyExist | string;\n}>;\n","import * as React from 'react';\n\nimport styles from './FooterSideBarAlert.scss';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport InfoIcon from 'common/icons/InfoIcon';\n\ntype OnCloseAlertCallbackT = (id: SidebarFooterAlertIdT) => void;\n\ntype PropsT = {\n    className?: string;\n    id: SidebarFooterAlertIdT;\n    onCloseAlert: OnCloseAlertCallbackT | null;\n    theme: AlertThemeEnum;\n};\n\nconst cx = classNames.bind(styles);\n\nconst FooterSideBarAlert: React.FC<PropsT> = React.memo((props) => {\n    const { className, id, children, onCloseAlert, theme } = props;\n\n    return (\n        <Alert\n            className={cs(cx('wrap'), className)}\n            icon={<InfoIcon className={cx('icon')} fillColor={StyleGuideColorsEnum.white} />}\n            size={AlertSizeEnum.medium}\n            theme={theme}\n            onClose={() => {\n                if (onCloseAlert) {\n                    onCloseAlert(id);\n                }\n            }}\n        >\n            {children}\n        </Alert>\n    );\n});\n\nexport default FooterSideBarAlert;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FIND_CARRIERS_REQUEST, FindCarriersActionT } from './types';\nimport { findCarriersBegin, findCarriersError, findCarriersSuccess } from './actions';\nimport { selectFindCarriersQuery } from './selectors';\nimport isEqual from 'lodash/isEqual';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\nfunction* findCarriersSaga(action: FindCarriersActionT): WrapGeneratorT<void> {\n    const { query: rawQuery } = action;\n\n    const query = rawQuery.trim();\n    if (!query) {\n        return;\n    }\n\n    const prevQuery: ReturnType<typeof selectFindCarriersQuery> = yield select(selectFindCarriersQuery);\n    const isSameQuery = isEqual(query, prevQuery);\n    if (isSameQuery) {\n        return;\n    }\n\n    yield put(findCarriersBegin(query));\n\n    const [error, partners]: ReturnApiT<typeof brokerTranziitApi.findCarriersByName> =\n        yield brokerTranziitApi.findCarriersByName(query);\n\n    if (error) {\n        yield put(findCarriersError(error));\n        return;\n    }\n\n    yield put(findCarriersSuccess(partners?.content || []));\n}\n\nfunction* carrierSuggestSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FIND_CARRIERS_REQUEST, findCarriersSaga);\n}\n\nexport default carrierSuggestSaga;\n","import { SpotRequestsStateT } from './types';\nimport { StateT } from '../models';\n\nexport const selectSpotRequestsPages = (state: StateT): SpotRequestsStateT['pages'] => state.spotRequests.pages;\n\nexport const selectSpotRequestsQuery = (state: StateT): SpotRequestsStateT['query'] => state.spotRequests.query;\n\nexport const selectSpotRequestsTotal = (state: StateT): SpotRequestsStateT['total'] => state.spotRequests.total;\n\nexport const selectSpotRequestsByIds = (state: StateT): SpotRequestsStateT['byId'] => state.spotRequests.byId;\n","import { FieldsEnum, FormValuesT, RoutePointFormValuesT } from './constants';\nimport { ApiLocationT, ApiStopTypeT } from 'common/utils/api/models';\nimport { EditOrderContextT, RoutePointTypeEnum } from 'broker-admin/store/order-edit/models';\nimport { formatLocation } from 'common/utils/formatters';\nimport { generatePointFakeId } from './utils';\nimport { ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const getInitialRouteFormValues = (stop: ApiTourUpdateStopDataT): RoutePointFormValuesT => {\n    const typeMap: Record<ApiStopTypeT, RoutePointTypeEnum> = {\n        PICKUP_TRAILER: RoutePointTypeEnum.unknown,\n        PICKUP_TRUCK: RoutePointTypeEnum.unknown,\n        PICKUP_ROAD_TRAIN: RoutePointTypeEnum.unknown,\n        PICKUP_DELIVERY_SHIPMENT: RoutePointTypeEnum.pickupOrDelivery,\n        DRIVE_THROUGH: RoutePointTypeEnum.driveThrough,\n        DROP_AND_HOOK: RoutePointTypeEnum.dropAndHook,\n        DROP_TRAILER: RoutePointTypeEnum.unknown,\n        DROP_TRUCK: RoutePointTypeEnum.unknown,\n        DROP_ROAD_TRAIN: RoutePointTypeEnum.unknown,\n        FERRY_ONBOARD: RoutePointTypeEnum.ferryOnboard,\n        FERRY_DISEMBARK: RoutePointTypeEnum.ferryDisembark,\n    };\n\n    const { type, originalDateTimeFrom, originalDateTimeTo, correctedFrom, correctedTo } = stop;\n\n    const timeWindowFrom = correctedFrom || originalDateTimeFrom || null;\n    const timeWindowTo = correctedTo || originalDateTimeTo || null;\n\n    const convertPointToLocation = (address: ApiLocationT | null): LocationT | null => {\n        if (!address) {\n            return null;\n        }\n\n        return {\n            address: formatLocation(address),\n            utcOffsetMinutes: null,\n            addressComponents: {\n                countryCode: address.country,\n                street1: address?.street1,\n                street2: address?.street2,\n                zipCode: address?.zipCode,\n                city: address?.city,\n            },\n            point: {\n                lat: address.latitude || 0,\n                lng: address.longitude || 0,\n            },\n        };\n    };\n\n    return {\n        fakePointId: generatePointFakeId(),\n        contextRoutePointId: stop?.id || null,\n        type: type ? typeMap[type] : RoutePointTypeEnum.unknown,\n        location: convertPointToLocation(stop.address || null) || null,\n        timeWindow:\n            timeWindowFrom && timeWindowTo\n                ? {\n                      start: timeWindowFrom,\n                      end: timeWindowTo,\n                  }\n                : null,\n    };\n};\n\nexport const getInitialValues = (context: EditOrderContextT | null): FormValuesT => {\n    const stops =\n        context?.tours?.flatMap((tour) => {\n            const stops = tour?.stops || [];\n            if (stops[0]?.type === 'DROP_AND_HOOK') {\n                return stops.slice(1);\n            }\n\n            return stops;\n        }) || [];\n\n    const values: FormValuesT = {\n        [FieldsEnum.route]: stops.map(getInitialRouteFormValues) || [],\n    };\n\n    return values;\n};\n","import { saveAs } from 'file-saver';\n\ntype DownloadParamsT = {\n    data: string[] | string;\n    type: string;\n    name: string;\n};\n\nconst downloadFile = ({ data, type, name }: DownloadParamsT): void => {\n    // @ts-ignore string[] is not compatible with BlobPart\n    const blob = new Blob([data], { type });\n\n    saveAs(blob, name);\n};\n\nexport default downloadFile;\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport SkeletonFormatter from 'design-system/components/InfoTable/formatters/SkeletonFormatter/SkeletonFormatter';\nimport { fetchSpotRequestDetails } from 'broker-admin/store/spot-request-details/actions';\nimport { selectSpotRequestDetails } from 'broker-admin/store/spot-request-details/selectors';\nimport SpotRequestStatusPill from 'common/components/status-pill/SpotRequestStatusPill/SpotRequestStatusPill';\n\ntype PropsT = {\n    spotRequestId: SpotRequestIdT | null;\n};\n\nconst AsyncSpotRequestDetailsStatusFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { spotRequestId } = props;\n\n    const dispatch = useDispatch();\n\n    const { fetchDetailsRequestStatus, details } = useSelector(selectSpotRequestDetails(spotRequestId));\n\n    useEffect(() => {\n        if (!spotRequestId) {\n            return;\n        }\n\n        dispatch(fetchSpotRequestDetails(spotRequestId));\n    }, [spotRequestId, dispatch]);\n\n    if (fetchDetailsRequestStatus.loading || !details) {\n        return <SkeletonFormatter />;\n    }\n\n    return <SpotRequestStatusPill isSymmetrical status={details.status} />;\n});\n\nexport default AsyncSpotRequestDetailsStatusFormatter;\n","import { StateT } from '../models';\nimport { PartnersStatsStateT } from './types';\n\nexport const selectPartnersStatsRequest = (state: StateT): PartnersStatsStateT['fetchRequest'] =>\n    state.partnersStats.fetchRequest;\n\nexport const selectPartnersStats = (state: StateT): PartnersStatsStateT['stats'] => state.partnersStats.stats;\n","// extracted by mini-css-extract-plugin\nexport default {\"date-time\":\"DateTimeCell__date-time___ldjzf\",\"date-time__date\":\"DateTimeCell__date-time__date___SCaJw\",\"date-time__time\":\"DateTimeCell__date-time__time___aqzRg\",\"fadeIn\":\"DateTimeCell__fadeIn___kpNgY\",\"blinking\":\"DateTimeCell__blinking___sIDR4\"};","import { SharableStateT } from '../models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const selectCreateCompanyRequest = (state: SharableStateT): RequestStatusT => {\n    return state.createCompany.requestStatus;\n};\n\nexport const selectCreatedCompanyIsLocked = (state: SharableStateT): boolean | null => {\n    return state.createCompany.isLocked;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"TruckModelDropdown__option___C3StB\",\"fadeIn\":\"TruckModelDropdown__fadeIn___xh9_R\",\"blinking\":\"TruckModelDropdown__blinking___OiN04\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './DateTimeCell.scss';\n\nimport isNil from 'lodash/isNil';\nimport { formatDate, formatHumanReadableDate } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    date: string | null | undefined;\n    className?: string;\n    dateFormat?: string;\n    timeFormat?: string;\n    isHumanReadableDate?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DEFAULT_DATE_FORMAT = 'DD MMM YYYY';\nconst DEFAULT_TIME_FORMAT = 'HH:mm';\n\nconst DateTimeCell: React.FC<PropsT> = React.memo((props) => {\n    const { date, className, dateFormat, timeFormat, isHumanReadableDate } = props;\n\n    const { t } = useTranslation();\n\n    if (isNil(date)) {\n        return null;\n    }\n\n    const dateText = isHumanReadableDate\n        ? formatHumanReadableDate(t, date)\n        : formatDate(dateFormat || DEFAULT_DATE_FORMAT, date);\n\n    const timeText = formatDate(timeFormat || DEFAULT_TIME_FORMAT, date);\n\n    return (\n        <div className={cs(cx('date-time'), className)}>\n            <div className={cx('date-time__date')}>{dateText}</div>\n            <div className={cx('date-time__time')}>{timeText}</div>\n        </div>\n    );\n});\n\nexport default DateTimeCell;\n","import React from 'react';\n\nimport { PropsT as InputPropsT } from 'common/components/Input/Input';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { findCarriers } from 'common/store/carrier-suggest/actions';\nimport {\n    selectCarriersById,\n    selectCarriersIds,\n    selectFindCarriersRequest,\n} from 'common/store/carrier-suggest/selectors';\nimport { PartnerT } from 'common/store/carrier-suggest/models';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport CarrierIcon, { CarrierIconProps } from 'common/icons/CarrierIcon';\nimport DropdownSearchInput from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport { CountryCodeT } from 'common/utils/api/models';\n\ntype PartnerIdT = PartnerT['id'];\n\ntype ValueT = PartnerIdT | null;\n\ntype OptionT = {\n    id: ValueT;\n    name: string;\n    number: string;\n    countryCode: CountryCodeT | null;\n};\n\nexport type PropsT = {\n    className?: string;\n    initialValue: ValueT;\n    initialLabel: string;\n    onSelect: (value: ValueT, name: string) => void;\n    value: ValueT;\n    overlayPosition: DropdownOverlayPositionEnum;\n    hasError: InputPropsT['hasError'];\n    hasWarning: InputPropsT['hasWarning'];\n    placeholder: InputPropsT['placeholder'];\n    onBlur: InputPropsT['onBlur'];\n    onFocus: InputPropsT['onFocus'];\n    isDisabled?: InputPropsT['isDisabled'];\n    hasClearControl?: InputPropsT['hasClearControl'];\n    hasChanges?: boolean;\n};\n\nconst CarrierDropdown: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        initialValue,\n        initialLabel,\n        value,\n        onSelect,\n        hasWarning,\n        hasError,\n        overlayPosition,\n        isDisabled,\n        placeholder,\n        onBlur,\n        onFocus,\n        hasChanges,\n        hasClearControl,\n    } = props;\n\n    const [options, setOptions] = React.useState<OptionT[]>([]);\n\n    const dispatch = useDispatch();\n\n    const ids = useSelector(selectCarriersIds);\n    const byId = useSelector(selectCarriersById);\n    const requestStatus = useSelector(selectFindCarriersRequest);\n\n    React.useEffect(() => {\n        const options = ids\n            .filter((id) => byId[id])\n            .map((id): OptionT => {\n                const partner = byId[id];\n\n                return {\n                    id: partner.id || null,\n                    name: partner.name || '',\n                    number: partner.number || '',\n                    countryCode: partner.countryCode || null,\n                };\n            });\n\n        setOptions(options);\n    }, [ids, byId]);\n\n    React.useEffect(() => {\n        if (!initialValue) {\n            return;\n        }\n\n        const initialOption: OptionT = {\n            id: initialValue,\n            name: initialLabel,\n            countryCode: null,\n            number: '',\n        };\n\n        setOptions([initialOption]);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const handleChangeQuery = React.useCallback(\n        (query: string): void => {\n            dispatch(findCarriers(query));\n        },\n        [dispatch],\n    );\n\n    const handleSelect = (value: ValueT) => {\n        const partner = byId[value as string];\n\n        onSelect(value || null, partner?.name || '');\n    };\n\n    const handleReset = () => {\n        onSelect(null, '');\n    };\n\n    const renderOption = (option: OptionT | undefined, placeholder?: string): React.ReactNode => {\n        if (!option) {\n            return placeholder;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                icon={option.countryCode ? <FlagIcon countryCode={option.countryCode} /> : null}\n                label={option.name || ''}\n                description={option.number || ''}\n            />\n        );\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.id;\n\n    return (\n        <DropdownSearchInput<OptionT, ValueT>\n            className={className}\n            selectedValue={value}\n            placeholder={placeholder}\n            options={options}\n            isDisabled={isDisabled}\n            onSelect={handleSelect}\n            hasError={hasError}\n            hasWarning={hasWarning}\n            onChangeQuery={handleChangeQuery}\n            renderOption={renderOption}\n            renderTrigger={renderOption}\n            getOptionValue={getOptionValue}\n            hasChanges={hasChanges}\n            renderLeftIcon={(iconMeta) => <CarrierIcon {...CarrierIconProps.getControlProps(iconMeta)} />}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            overlayPosition={overlayPosition}\n            isLoading={requestStatus.loading}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n};\n\nexport default CarrierDropdown;\n","import React, { useEffect } from 'react';\nimport classNames from 'classnames/bind';\nimport {\n    useFloating,\n    autoUpdate,\n    offset,\n    flip,\n    shift,\n    size,\n    useDismiss,\n    useInteractions,\n    FloatingPortal,\n    type Placement,\n} from '@floating-ui/react';\n\nimport styles from './GeoSuggest.scss';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport { prepareAddressComponents } from 'common/utils/google-places';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { GoogleMapsAutocompleteApi } from 'common/utils/google-maps-api/google-maps-autocomplete-api';\nimport { GoogleMapsPlacesApi } from 'common/utils/google-maps-api/google-maps-places-api';\nimport { GoogleMapsGeocoderApi } from 'common/utils/google-maps-api/google-maps-geocoder-api';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { AUTO_COMPLETE_OFF_FIX, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\nimport cs from 'classnames';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport isEmpty from 'lodash/isEmpty';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = LocationT | null;\n\nexport type IconMetaT = {\n    isLoading: boolean;\n    hasError: boolean;\n    hasWarning: boolean;\n    isDisabled: boolean;\n    hasValue: boolean;\n};\n\ntype PropsT = {\n    className?: string;\n    name: string;\n    placeholder: string;\n    value: ValueT;\n    renderLeftIcon: (meta: IconMetaT) => React.ReactNode;\n    onChange: (value: ValueT) => void;\n    onFocus?: (name: string) => void;\n    onBlur?: (name: string) => void;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    testSelector?: string;\n    showClearControl?: boolean;\n    isRedTriangle?: boolean;\n    overlayPosition?: 'top' | 'bottom';\n    isLoading?: boolean;\n    renderRightNode?: (meta: IconMetaT) => React.ReactNode;\n    triangleClassName?: string;\n    isDisabled?: boolean;\n    hasTriangle?: boolean;\n};\n\ntype PlacesSearchResultT = {\n    address: string;\n    placeId: string;\n};\n\nconst preparePlacesResponse = (item: google.maps.places.QueryAutocompletePrediction): PlacesSearchResultT => {\n    return {\n        address: item.description,\n        placeId: item.place_id,\n    };\n};\n\nconst EUROPE_BOUNDS: MapBoundsT = [\n    [35.746178, -12.780298],\n    [71.566289, 44.937383],\n];\n\ntype QueryT = string;\n\nconst fetch = async (\n    autocomplete: GoogleMapsAutocompleteApi | null,\n    query: QueryT,\n): Promise<[QueryT | null, PlacesSearchResultT[]]> => {\n    if (!autocomplete) {\n        return Promise.resolve([query, []]);\n    }\n\n    const results = await autocomplete.getQueryPredictions(query, EUROPE_BOUNDS);\n\n    return [results[0], results[1].map(preparePlacesResponse)];\n};\n\nconst getSuggestionLabel = (suggestion: PlacesSearchResultT): string => suggestion.address;\n\nconst POSITION_TO_PLACEMENT: Record<string, Placement> = {\n    top: 'top-start',\n    bottom: 'bottom-start',\n};\n\nconst GeoSuggest: React.FC<PropsT> = (props) => {\n    const {\n        className,\n        name,\n        value,\n        placeholder,\n        renderLeftIcon,\n        onFocus,\n        onBlur,\n        onChange,\n        hasError,\n        hasWarning,\n        testSelector,\n        showClearControl,\n        isRedTriangle,\n        overlayPosition,\n        isLoading,\n        renderRightNode,\n        triangleClassName,\n        isDisabled,\n        hasTriangle,\n    } = props;\n\n    const isMouseOverlayFocusRef = React.useRef<boolean>(false);\n\n    const [isOpen, toggleOpen] = React.useState<boolean>(false);\n    useEffect(() => {\n        if (!isOpen) {\n            isMouseOverlayFocusRef.current = false;\n        }\n    }, [isOpen]);\n\n    const [suggestions, setSuggestions] = React.useState<PlacesSearchResultT[]>([]);\n    const lastSuggestionsQueryRef = React.useRef<string>('');\n\n    const [text, setText] = React.useState<string>(value?.address || '');\n    const [isFocused, setFocus] = React.useState<boolean>(false);\n\n    React.useEffect(() => {\n        const newText = value?.address;\n        if (newText !== text) {\n            setText(newText || '');\n            setSuggestions([]);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [value]);\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n    const autocomplete = React.useMemo((): GoogleMapsAutocompleteApi | null => {\n        const autocompleteApi = new GoogleMapsAutocompleteApi(googleMapContext?.googleMaps?.maps);\n\n        return autocompleteApi;\n    }, [googleMapContext.googleMaps?.maps]);\n\n    const handleChange = async (event: React.FormEvent<HTMLInputElement>): Promise<void> => {\n        const eventText = event.currentTarget.value;\n\n        setText(eventText);\n\n        if (!eventText) {\n            onChange(null);\n        }\n\n        lastSuggestionsQueryRef.current = eventText;\n\n        const result = await fetch(autocomplete, eventText);\n        if (!result) {\n            return;\n        }\n\n        const [resultQuery, resultSuggestions] = result;\n        if (lastSuggestionsQueryRef.current !== resultQuery) {\n            return;\n        }\n\n        toggleOpen(true);\n        setSuggestions(resultSuggestions);\n    };\n\n    const handleOptionClick = async (suggestion: PlacesSearchResultT): Promise<void> => {\n        const placesApi = new GoogleMapsPlacesApi(\n            googleMapContext?.googleMaps?.map,\n            googleMapContext?.googleMaps?.maps,\n        );\n\n        const result = await placesApi.getPlaceDetails(suggestion.placeId);\n        if (!result) {\n            return;\n        }\n\n        const addressComponents = prepareAddressComponents(result.address_components);\n\n        const point: GeoPointT = {\n            lat: result.geometry.location.lat(),\n            lng: result.geometry.location.lng(),\n        };\n        const location: LocationT = {\n            point,\n            address: suggestion.address,\n            utcOffsetMinutes: result.utc_offset_minutes,\n            addressComponents,\n        };\n\n        if (!location?.addressComponents?.zipCode) {\n            const geocoderApi = new GoogleMapsGeocoderApi(googleMapContext?.googleMaps?.maps);\n            const geocodeResult = await geocoderApi.geocode(point);\n\n            const geocodeAddressComponents = prepareAddressComponents(geocodeResult?.address_components || []);\n            location.addressComponents = {\n                ...location.addressComponents,\n                zipCode: geocodeAddressComponents?.zipCode || null,\n            };\n        }\n\n        onChange(location);\n\n        const suggestionLabel = getSuggestionLabel(suggestion);\n        setText(suggestionLabel);\n\n        toggleOpen(false);\n\n        if (onBlur) {\n            onBlur(name);\n        }\n    };\n\n    const handleBlur = (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        event: React.FocusEvent<HTMLInputElement>,\n    ): void => {\n        setFocus(false);\n\n        if (!isMouseOverlayFocusRef.current) {\n            if (value) {\n                setText(value.address || '');\n            }\n\n            if (onBlur) {\n                onBlur(name);\n            }\n        }\n    };\n\n    const handleFocus = (): void => {\n        setFocus(true);\n\n        if (onFocus) {\n            onFocus(name);\n        }\n    };\n\n    const handleReset = (): void => {\n        if (isDisabled) {\n            return;\n        }\n\n        onChange(null);\n    };\n\n    const fullTestSelector = `${testSelector}_geo-suggest`;\n\n    const { refs, floatingStyles, context } = useFloating({\n        open: isOpen && !!suggestions.length,\n        onOpenChange: (open) => {\n            if (!open) {\n                toggleOpen(false);\n                if (onBlur) {\n                    onBlur(name);\n                }\n            }\n        },\n        placement: POSITION_TO_PLACEMENT[overlayPosition || 'bottom'],\n        middleware: [\n            offset(0),\n            flip({ padding: 8 }),\n            shift({ padding: 8 }),\n            size({\n                padding: 8,\n                apply({ rects, elements }) {\n                    Object.assign(elements.floating.style, {\n                        width: `${rects.reference.width}px`,\n                    });\n                },\n            }),\n        ],\n        strategy: 'fixed',\n        transform: false,\n        whileElementsMounted: autoUpdate,\n    });\n\n    const dismiss = useDismiss(context, {\n        outsidePressEvent: 'mousedown',\n    });\n\n    const { getReferenceProps, getFloatingProps } = useInteractions([dismiss]);\n\n    return (\n        <div className={cs(cx('dropdown'), className)} data-field-name={name}>\n            <div className={cx('input')}>\n                <div className={cx('trigger')} ref={refs.setReference} {...getReferenceProps()}>\n                    <input\n                        name={name}\n                        onChange={handleChange}\n                        onFocus={handleFocus}\n                        onBlur={handleBlur}\n                        value={text}\n                        disabled={isDisabled}\n                        data-test-selector={`${fullTestSelector}_input`}\n                        className={cx('trigger-input', {\n                            'trigger-input--hasIcon': !!renderLeftIcon,\n                            'trigger-input--hasClearControl': showClearControl,\n                            'trigger-input--isEmpty': !text,\n                            'trigger-input--isDisabled': isDisabled,\n                            'trigger-input--isFocused': isFocused,\n                            'trigger-input--hasError': hasError,\n                            'trigger-input--hasWarning': hasWarning,\n                        })}\n                        placeholder={placeholder}\n                        autoComplete={AUTO_COMPLETE_OFF_FIX}\n                    />\n                    {renderLeftIcon && (\n                        <div className={cx('trigger-input__icon')}>\n                            {renderLeftIcon({\n                                isDisabled: !!isDisabled,\n                                isLoading: !!isLoading,\n                                hasWarning: !!hasWarning,\n                                hasError: !!hasError,\n                                hasValue: !isEmpty(value),\n                            })}\n                        </div>\n                    )}\n                    {(showClearControl || renderRightNode) && (\n                        <div className={cx('right-node')}>\n                            {isLoading && (\n                                <ControlLoaderIcon fillColor={StyleGuideColorsEnum.gray} size={DEFAULT_ICON_SIZE} />\n                            )}\n                            {showClearControl && (\n                                <ClickInterceptorLabel>\n                                    <TransparentTrigger\n                                        spaces=\"xs\"\n                                        isDisabled={isDisabled}\n                                        onClick={handleReset}\n                                        leftIcon={<CloseIcon fillColor={StyleGuideColorsEnum.gray} />}\n                                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                                    />\n                                </ClickInterceptorLabel>\n                            )}\n                            {renderRightNode && (\n                                <ClickInterceptorLabel>\n                                    {renderRightNode({\n                                        isDisabled: !!isDisabled,\n                                        isLoading: !!isLoading,\n                                        hasWarning: !!hasWarning,\n                                        hasError: !!hasError,\n                                        hasValue: !isEmpty(value),\n                                    })}\n                                </ClickInterceptorLabel>\n                            )}\n                        </div>\n                    )}\n                </div>\n                {isOpen && !!suggestions.length && (\n                    <FloatingPortal>\n                        <div\n                            ref={refs.setFloating}\n                            style={floatingStyles}\n                            className={cx('overlay')}\n                            onMouseLeave={() => {\n                                isMouseOverlayFocusRef.current = false;\n                            }}\n                            onMouseEnter={() => {\n                                isMouseOverlayFocusRef.current = true;\n                            }}\n                            {...getFloatingProps()}\n                        >\n                            {suggestions.map((suggestion, index) => {\n                                const isSelected = value?.address === suggestion.address;\n                                const suggestionLabel = getSuggestionLabel(suggestion);\n\n                                return (\n                                    <div\n                                        key={index}\n                                        className={cx('overlay__option', {\n                                            'overlay__option--isSelected': isSelected,\n                                        })}\n                                        data-test-selector={`${fullTestSelector}_option_${index}`}\n                                        onClick={(): void => {\n                                            handleOptionClick(suggestion);\n                                        }}\n                                    >\n                                        {suggestionLabel}\n                                    </div>\n                                );\n                            })}\n                        </div>\n                    </FloatingPortal>\n                )}\n            </div>\n            {hasTriangle && (\n                <div\n                    className={cs(\n                        cx('triangle', {\n                            'triangle--isHide': !isFocused,\n                            'triangle--isRed': isRedTriangle,\n                        }),\n                        triangleClassName,\n                    )}\n                />\n            )}\n        </div>\n    );\n};\n\nexport default GeoSuggest;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './CountyFlagsLabel.scss';\nimport { CountryT } from 'common/store/countries-dict/models';\nimport { useTranslation } from 'react-i18next';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport cs from 'classnames';\nimport { useSelector } from 'react-redux';\nimport { selectCountriesCount, selectCountriesDictRequest } from 'common/store/countries-dict/selectors';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport FewCountriesIcon from 'common/icons/FewCountriesIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    showCountiesLimit?: number;\n    countries?: Array<CountryT | null>;\n    allowRestCountriesPopover?: boolean;\n};\n\nconst CountyFlagsLabel: React.FC<PropsT> = (props) => {\n    const { countries, showCountiesLimit = 3, className, allowRestCountriesPopover } = props;\n\n    const { t } = useTranslation();\n\n    const dictCountriesCount = useSelector(selectCountriesCount);\n    const requestStatus = useSelector(selectCountriesDictRequest);\n\n    if (!countries?.length) {\n        return null;\n    }\n\n    if (requestStatus?.loading || dictCountriesCount === null) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.slate} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    if (countries?.length === 1) {\n        const firstCountry = countries?.[0] || null;\n\n        return (\n            <div className={cx('wrap')} key={firstCountry?.code}>\n                <FlagIcon countryCode={firstCountry?.code} className={cx('icon')} />\n                <div className={cx('label')}>{firstCountry?.userLangDisplayName}</div>\n            </div>\n        );\n    }\n\n    if (countries?.length === dictCountriesCount) {\n        return (\n            <div className={cx('wrap')} key=\"all\">\n                <FewCountriesIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.slate}\n                    className={cx('icon')}\n                />\n                <div className={cx('label')}>{t('common:all-countries')}</div>\n            </div>\n        );\n    }\n\n    const limitedCountries = countries.slice(0, showCountiesLimit);\n    const restLimitedCounties = countries.slice(showCountiesLimit);\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            {limitedCountries.map((country) => {\n                return (\n                    <Tooltip\n                        position={TooltipPositionEnum.topCenter}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black}>\n                                {country?.userLangDisplayName}\n                            </TooltipContent>\n                        }\n                        className={cx('icon')}\n                        key={country?.code}\n                    >\n                        {() => <FlagIcon countryCode={country?.code} />}\n                    </Tooltip>\n                );\n            })}\n            {Boolean(restLimitedCounties?.length) && (\n                <Tooltip\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        allowRestCountriesPopover ? (\n                            <TooltipContent theme={TooltipContentThemeEnum.black}>\n                                {restLimitedCounties.map((country) => (\n                                    <div className={cx('wrap')} key={country?.code}>\n                                        <FlagIcon countryCode={country?.code} className={cx('icon')} />\n                                        <div className={cx('label')}>{country?.userLangDisplayName}</div>\n                                    </div>\n                                ))}\n                            </TooltipContent>\n                        ) : null\n                    }\n                >\n                    {() => <div className={cx('label')}>+{restLimitedCounties?.length}</div>}\n                </Tooltip>\n            )}\n        </div>\n    );\n};\n\nexport default React.memo(CountyFlagsLabel) as typeof CountyFlagsLabel;\n","import {\n    CHANGE_RFQ_REQUEST_BEGIN,\n    CHANGE_RFQ_REQUEST_ERROR,\n    CHANGE_RFQ_REQUEST_SUCCESS,\n    RFQsChangesActionT,\n    RFQsChangesStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: RFQsChangesStateT = {\n    id: null,\n    request: requestStatus.initial,\n};\n\nexport default (state = initialState, action: RFQsChangesActionT | DestroySessionActionT): RFQsChangesStateT => {\n    switch (action.type) {\n        case CHANGE_RFQ_REQUEST_BEGIN: {\n            const { id } = action;\n\n            return {\n                ...state,\n                id,\n                request: requestStatus.loading,\n            };\n        }\n\n        case CHANGE_RFQ_REQUEST_ERROR: {\n            const { id, error } = action;\n\n            if (id !== state.id) {\n                return state;\n            }\n\n            return {\n                ...state,\n                request: requestStatus.setError(error),\n            };\n        }\n\n        case CHANGE_RFQ_REQUEST_SUCCESS: {\n            const { id } = action;\n\n            if (id !== state.id) {\n                return state;\n            }\n\n            return {\n                ...state,\n                request: requestStatus.ok,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { ApiCreateUpdateTeamRequestT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const prepareQuery = (formValues: FormValuesT): ApiCreateUpdateTeamRequestT | null => {\n    const timezone = formValues[FieldsEnum.timeZone];\n    if (!timezone) {\n        return null;\n    }\n\n    return {\n        name: formValues[FieldsEnum.name],\n        timezone,\n        users: formValues[FieldsEnum.users].map((user) => user.id) || [],\n        companies: formValues[FieldsEnum.partners]?.map((partner) => partner.id) || [],\n    };\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst AttachIcon: React.FC<PropsT> = (props) => {\n    const { className, strokeColor, ...restProps } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width={20}\n            height={20}\n            viewBox=\"0 0 26 26\"\n            className={className}\n            {...restProps}\n        >\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M13 .272L25.728 13 13 25.728.272 13z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M7.432 19.099a4.123 4.123 0 005.833 0L19.364 13l-.796-.795-6.098 6.098a3 3 0 11-4.243-4.242l6.63-6.63a1.876 1.876 0 012.65 2.652l-5.568 5.569a.752.752 0 01-1.06 0 .752.752 0 010-1.061l5.038-5.038-.796-.796-5.038 5.038a1.876 1.876 0 002.652 2.652l5.568-5.568a3 3 0 10-4.242-4.243l-6.63 6.63a4.123 4.123 0 000 5.833z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nAttachIcon.displayName = 'AttachIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\nexport default AttachIcon;\n","import { TFunction } from 'i18next';\nimport { AsyncFormErrorsT, FieldsEnum, FormValuesT, reasonI18nMap } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\nimport { ApiSelfCostErrorReasonT } from 'broker-admin/store/broker-order-assigment/models';\nimport { AssetAssignmentInfoT } from 'common/utils/assignment';\n\nconst selfCostInvalidReasonI18nMap: Record<ApiSelfCostErrorReasonT, string> = {\n    CARRIER_DOESNT_HAVE_REQUIRED_CERTIFICATES:\n        'assignment.validation.reasons.CARRIER_DOESNT_HAVE_REQUIRED_CERTIFICATES',\n    INCAPABLE_EMISSION_STANDARD: 'assignment.validation.reasons.INCAPABLE_EMISSION_STANDARD',\n    INCAPABLE_TRAILER_TYPE: 'assignment.validation.reasons.INCAPABLE_TRAILER_TYPE',\n    TRAILER_LINKED_WITH_ANOTHER_TRUCK: 'assignment.validation.reasons.TRAILER_LINKED_WITH_ANOTHER_TRUCK',\n    TRUCK_LINKED_WITH_ANOTHER_TRAILER: 'assignment.validation.reasons.TRUCK_LINKED_WITH_ANOTHER_TRAILER',\n    TRAILER_CANT_BE_ON_TIME_FOR_NEXT_TOUR: 'assignment.validation.reasons.TRAILER_CANT_BE_ON_TIME_FOR_NEXT_TOUR',\n    TRAILER_IS_NOT_CONTRACTED: 'assignment.validation.reasons.TRAILER_IS_NOT_CONTRACTED',\n    TRUCK_CANT_BE_ON_TIME_FOR_NEXT_TOUR: 'assignment.validation.reasons.TRUCK_CANT_BE_ON_TIME_FOR_NEXT_TOUR',\n    TRUCK_IS_NOT_CONTRACTED: 'assignment.validation.reasons.TRUCK_IS_NOT_CONTRACTED',\n    TRUCK_IS_NOT_IN_FREE_STATUS: 'assignment.validation.reasons.TRUCK_IS_NOT_IN_FREE_STATUS',\n    TOUR_ORIGIN_IN_PROHIBITED_COUNTRIES: 'assignment.validation.reasons.TOUR_ORIGIN_IN_PROHIBITED_COUNTRIES',\n    TOUR_DESTINATION_IN_PROHIBITED_COUNTRIES: 'assignment.validation.reasons.TOUR_DESTINATION_IN_PROHIBITED_COUNTRIES',\n    TRAILER_CANT_BE_ON_TIME_FOR_TOUR: 'assignment.validation.reasons.TRAILER_CANT_BE_ON_TIME_FOR_TOUR',\n    TRAILER_IS_NOT_IN_FREE_STATUS: 'assignment.validation.reasons.TRAILER_IS_NOT_IN_FREE_STATUS',\n    TRAILER_HAS_SCHEDULE_ON_TRIP_DATES: 'assignment.validation.reasons.TRAILER_HAS_SCHEDULE_ON_TRIP_DATES',\n    TRUCK_CANT_BE_ON_TIME_FOR_TOUR: 'assignment.validation.reasons.TRUCK_CANT_BE_ON_TIME_FOR_TOUR',\n    TRUCK_HAS_SCHEDULE_ON_TRIP_DATES: 'assignment.validation.reasons.TRUCK_HAS_SCHEDULE_ON_TRIP_DATES',\n    ASSIGNED_ASSET_CONTRACT_IS_INACTIVE: 'assignment.validation.reasons.ASSIGNED_ASSET_CONTRACT_IS_INACTIVE',\n    AT_LEAST_MUST_BE_ONE_ASSET: 'assignment.validation.reasons.AT_LEAST_MUST_BE_ONE_ASSET',\n    TRAILER_ALREADY_ASSIGNED: 'assignment.validation.reasons.TRAILER_ALREADY_ASSIGNED',\n    TRUCK_ALREADY_ASSIGNED: 'assignment.validation.reasons.TRUCK_ALREADY_ASSIGNED',\n    TRAILER_CONTRACTED_INACTIVE: 'assignment.validation.reasons.TRAILER_CONTRACTED_INACTIVE',\n    TRUCK_CONTRACTED_INACTIVE: 'assignment.validation.reasons.TRUCK_CONTRACTED_INACTIVE',\n    COULD_NOT_RESOLVE_ADDRESS: 'assignment.validation.reasons.COULD_NOT_RESOLVE_ADDRESS',\n    DROP_POINT_IS_IN_NOT_AVAILABLE_TO_SHIP_COUNTRY:\n        'assignment.validation.reasons.DROP_POINT_IS_IN_NOT_AVAILABLE_TO_SHIP_COUNTRY',\n    OTHER: 'assignment.validation.reasons.OTHER',\n};\n\ntype MetaT = {\n    trailerById: Record<TrailerIdT, AssetAssignmentInfoT>;\n    truckById: Record<TruckIdT, AssetAssignmentInfoT>;\n    isPrioritySelfCostPredictionStatus: boolean;\n    selfCostPredictionRequestStatus: RequestStatusT;\n    shouldValidateTruck: boolean;\n    shouldValidateTrailer: boolean;\n};\n\nconst asyncValidations = (t: TFunction, values: FormValuesT, meta: MetaT): AsyncFormErrorsT => {\n    const errors: AsyncFormErrorsT = {};\n\n    const {\n        selfCostPredictionRequestStatus,\n        isPrioritySelfCostPredictionStatus,\n        trailerById,\n        truckById,\n        shouldValidateTruck,\n        shouldValidateTrailer,\n    } = meta;\n\n    const selectedTrailerId = values[FieldsEnum.trailerId];\n    const selectedTrailer = selectedTrailerId ? trailerById[selectedTrailerId] : null;\n    if (shouldValidateTrailer && selectedTrailer?.invalidReason && !isPrioritySelfCostPredictionStatus) {\n        errors[FieldsEnum.trailerId] = t(reasonI18nMap[selectedTrailer.invalidReason]);\n    }\n\n    const selectedTruckId = values[FieldsEnum.truckId];\n    const selectedTruck = selectedTruckId ? truckById[selectedTruckId] : null;\n    if (shouldValidateTruck && selectedTruck?.invalidReason && !isPrioritySelfCostPredictionStatus) {\n        errors[FieldsEnum.truckId] = t(reasonI18nMap[selectedTruck.invalidReason]);\n    }\n\n    if (\n        checkIsTranziitApiRequestError(selfCostPredictionRequestStatus.error) &&\n        selfCostPredictionRequestStatus?.error?.subType ===\n            TranziitApiRequestErrorSubTypeEnum.assignmentSelfCostPrediction &&\n        selfCostPredictionRequestStatus?.error?.response?.reason\n    ) {\n        const errorCode = selfCostPredictionRequestStatus.error.response.reason;\n\n        if (!errorCode.includes('TRUCK')) {\n            errors[FieldsEnum.trailerId] = t(selfCostInvalidReasonI18nMap[errorCode as ApiSelfCostErrorReasonT]);\n        }\n\n        if (!errorCode.includes('TRAILER')) {\n            errors[FieldsEnum.truckId] = t(selfCostInvalidReasonI18nMap[errorCode as ApiSelfCostErrorReasonT]);\n        }\n    }\n\n    return errors;\n};\n\nexport default asyncValidations;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AssetFailedActionFooter.scss';\nimport CopyTextButton from 'common/components/CopyTextButton/CopyTextButton';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    plateNumbers: Array<string>;\n};\n\nconst AssetFailedActionFooter: React.FC<PropsT> = (props) => {\n    const { plateNumbers } = props;\n\n    return (\n        <div className={cx('footer')}>\n            <CopyTextButton\n                className={cx('copy-button')}\n                theme={ButtonThemeEnum.danger}\n                textForClipboard={plateNumbers.join(',')}\n            />\n        </div>\n    );\n};\n\nexport default AssetFailedActionFooter;\n","import React from 'react';\n\nimport { TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\n\nexport enum DelimiterThemeEnum {\n    step = 'step',\n    halfStep = 'halfStep',\n    now = 'now',\n}\n\nexport enum TimeWindowThemeEnum {\n    charcoal = 'charcoal',\n    pewterBlue = 'pewter-blue',\n    lightSlateGray = 'light-slate-gray',\n    tumbleweed = 'tumbleweed',\n    light = 'light',\n    brandAccent = 'brand-accent',\n    tomatoRed70 = 'tomato-red-70',\n    attention = 'attention',\n}\n\nexport type TimeWindowT<T> = {\n    id: string;\n    data: T;\n    start: number;\n    end: number;\n    label: string;\n    icon: React.ReactNode;\n    theme: TimeWindowThemeEnum;\n    isTransparent: boolean;\n    tooltipTheme?: TooltipThemeEnum;\n    renderTooltip?: (data: T) => React.ReactNode;\n};\n\nexport type TimelineLevelT<T> = {\n    label?: string;\n    timeWindows: Array<TimeWindowT<T>>;\n};\n\nexport enum FlagThemeEnum {\n    attention = 'attention',\n}\n\nexport type FlagT<T = unknown> = {\n    id: string;\n    data: T;\n    start: number;\n    end: number;\n    label: string;\n    theme: FlagThemeEnum;\n    iconNode?: React.ReactNode;\n    tooltipTheme?: TooltipThemeEnum;\n    renderTooltip?: (data: T) => React.ReactNode;\n};\n","import * as React from 'react';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BaseShipperContractDetailsLayout.scss';\nimport { PartnerTypeEnum, ShipperContractStatusEnum } from 'common/utils/api/models';\nimport Widget from 'common/components/Widget/Widget';\nimport { useTranslation } from 'react-i18next';\nimport ShipperContractStatusPill from 'common/components/status-pill/ShipperContractStatusPill/ShipperContractStatusPill';\nimport RemoteFormActions from 'common/components/forms/RemoteFormActions/RemoteFormActions';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport EditIcon from 'common/icons/EditIcon';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { RevokeShipperContractConfirmationDataT } from './dialogs/RevokeShipperContractConfirmation/models';\nimport RevokeShipperContractConfirmation from './dialogs/RevokeShipperContractConfirmation/RevokeShipperContractConfirmation';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectShipperContractDetailsState,\n    selectUpdateShipperContractRequest,\n} from 'common/store/shipper-contract-details/selectors';\nimport {\n    downloadShipperContract,\n    revokeShipperContract,\n    updateShipperContract,\n} from 'common/store/shipper-contract-details/slice';\nimport { UpdateShipperContractChangesT } from 'common/store/shipper-contract-details/models';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { checkIsApiBrokerShipperContractDetails } from 'common/store/shipper-contract-details/type-guards';\nimport EditShipperContractDetailsForm from './EditShipperContractDetailsForm/EditShipperContractDetailsForm';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport ShipperContractDetails from './ShipperContractDetails/ShipperContractDetails';\nimport { DownloadDataT } from './EditShipperContractDetailsForm/models';\nimport cs from 'classnames';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT | null;\n    partnerType: PartnerTypeEnum | null;\n    contractId: ShipperContractIdT;\n    isAllowEditing: boolean;\n    className?: string;\n};\n\nconst HISTORY_DATE_FORMAT = 'DD MMM YYYY, HH:mm';\n\nconst BaseShipperContractDetailsLayout: React.FC<PropsT> = React.memo((props) => {\n    const { partnerId, partnerType, contractId, isAllowEditing, className } = props;\n\n    const dispatch = useDispatch();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const contractDetailsState = useSelector(selectShipperContractDetailsState(contractId));\n    const updateRequestStatus = useSelector(selectUpdateShipperContractRequest);\n    const contractDetails = contractDetailsState.data;\n    const fetchRequestStatus = contractDetailsState.fetchRequest;\n\n    const isShowLoaderOverlay = !(fetchRequestStatus.ok || fetchRequestStatus.error) || updateRequestStatus.loading;\n\n    const { t } = useTranslation();\n\n    const revokeShipperContractConfirmation = useModalDialog<RevokeShipperContractConfirmationDataT>();\n    useCloseModalDialogAfterRequest(updateRequestStatus, [revokeShipperContractConfirmation]);\n\n    const [isEditing, setIsEditing] = useState<boolean>(false);\n    useEffect(() => {\n        if (updateRequestStatus.ok) {\n            setIsEditing(false);\n        }\n    }, [updateRequestStatus.ok]);\n\n    const options = useMemo((): Array<DropdownControlOptionT | SpecialOptionEnum | null> => {\n        if (!isAllowEditing) {\n            return [];\n        }\n\n        return [\n            contractDetails?.status === ShipperContractStatusEnum.active\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={\n                                  <EditIcon\n                                      size={DEFAULT_ICON_SIZE}\n                                      fillColor={StyleGuideColorsEnum.brandAccent}\n                                      strokeColor={StyleGuideColorsEnum.brandDark}\n                                  />\n                              }\n                              label={t('common:shipper-contract-details.actions.edit')}\n                          />\n                      ),\n                      onSelect: () => {\n                          setIsEditing(true);\n                      },\n                  }\n                : null,\n            contractDetails?.status === ShipperContractStatusEnum.active\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                              label={t('common:shipper-contract-details.actions.revoke')}\n                          />\n                      ),\n                      onSelect: () => {\n                          if (!partnerId) {\n                              logWarning('Empty partnerId in handleRevokeShipperContract');\n                              return;\n                          }\n\n                          revokeShipperContractConfirmation.setData({\n                              partnerId,\n                              shipperContractId: contractId,\n                              shipperContractName: contractDetails?.name || '',\n                          });\n                      },\n                  }\n                : null,\n        ];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [partnerId, contractId, contractDetails, isAllowEditing]);\n\n    const handleDownloadShipperContract = (data: DownloadDataT) => {\n        dispatch(\n            downloadShipperContract({\n                partnerId: data.partnerId,\n                shipperContractId: data.shipperContractId,\n                fileName: contractDetails?.fileName || null,\n            }),\n        );\n    };\n\n    const handleUpdateShipperContract = ({\n        partnerId,\n        shipperContractId,\n        detailsChanges,\n        file,\n    }: {\n        partnerId: PartnerIdT;\n        shipperContractId: ShipperContractIdT;\n        detailsChanges: UpdateShipperContractChangesT;\n        file: File | null;\n    }) => {\n        dispatch(\n            updateShipperContract({\n                partnerId,\n                shipperContractId,\n                detailsChanges,\n                file,\n            }),\n        );\n    };\n\n    const handleRevokeShipperContract = (reason: string, data: RevokeShipperContractConfirmationDataT | null) => {\n        if (!data) {\n            return;\n        }\n\n        dispatch(\n            revokeShipperContract({\n                partnerId: data.partnerId,\n                shipperContractId: data.shipperContractId,\n                reason,\n            }),\n        );\n    };\n\n    const handleOpenUserDetails = (userId: UserIdT): void => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const createDetails: Array<InfoTableRowT | null> = [\n        contractDetails?.createdDate\n            ? {\n                  icon: null,\n                  name: t('common:shipper-contract-details.history.date-added'),\n                  value: <DateFormatter date={contractDetails?.createdDate} format={HISTORY_DATE_FORMAT} />,\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'date-added',\n              }\n            : null,\n        checkIsApiBrokerShipperContractDetails(contractDetails)\n            ? {\n                  icon: null,\n                  name: t('common:shipper-contract-details.history.added-by'),\n                  value: (\n                      <UserLinkFormatter\n                          fullName={contractDetails?.createdByName}\n                          userId={contractDetails?.createdById}\n                          byBroker\n                          onOpenUserDetails={handleOpenUserDetails}\n                      />\n                  ),\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'added-by',\n              }\n            : null,\n    ];\n\n    const modifyDetails: Array<InfoTableRowT | null> = [\n        contractDetails?.lastEditDate\n            ? {\n                  icon: null,\n                  name: t('common:shipper-contract-details.history.date-modified'),\n                  value: <DateFormatter date={contractDetails?.lastEditDate} format={HISTORY_DATE_FORMAT} />,\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'date-modify',\n              }\n            : null,\n        checkIsApiBrokerShipperContractDetails(contractDetails)\n            ? {\n                  icon: null,\n                  name: t('common:shipper-contract-details.history.modified-by'),\n                  value: (\n                      <UserLinkFormatter\n                          fullName={contractDetails?.lastEditByName}\n                          userId={contractDetails?.lastEditById}\n                          byBroker\n                          onOpenUserDetails={handleOpenUserDetails}\n                      />\n                  ),\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'modified-by',\n              }\n            : null,\n    ];\n\n    const revokeDetails: Array<InfoTableRowT | null> = [\n        contractDetails?.revokedDate\n            ? {\n                  icon: null,\n                  name: t('common:shipper-contract-details.history.date-revoked'),\n                  value: <DateFormatter date={contractDetails?.revokedDate} format={HISTORY_DATE_FORMAT} />,\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'date-revoked',\n              }\n            : null,\n        checkIsApiBrokerShipperContractDetails(contractDetails)\n            ? {\n                  icon: null,\n                  name: t('common:shipper-contract-details.history.revoked-by'),\n                  value: (\n                      <UserLinkFormatter\n                          fullName={contractDetails?.revokedByName}\n                          userId={contractDetails?.revokedById}\n                          byBroker\n                          onOpenUserDetails={handleOpenUserDetails}\n                      />\n                  ),\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'revoked-by',\n              }\n            : null,\n    ];\n\n    const expireDetails: Array<InfoTableRowT | null> = [\n        contractDetails?.validTill\n            ? {\n                  icon: null,\n                  name: t('common:shipper-contract-details.history.date-expired'),\n                  value: <DateFormatter date={contractDetails?.validTill} format={HISTORY_DATE_FORMAT} />,\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'date-expired',\n              }\n            : null,\n    ];\n\n    if (!partnerId || !partnerType) {\n        return null;\n    }\n\n    return (\n        <>\n            <div className={cs(cx('widget-group'), className)}>\n                <Widget\n                    className={cx('widget', 'widget-group__widget')}\n                    title={t('common:shipper-contract-details.widgets.basic-information')}\n                    afterTitleNode={<ShipperContractStatusPill status={contractDetails?.status} isSymmetrical />}\n                    rightNode={\n                        <>\n                            {isEditing ? (\n                                <RemoteFormActions\n                                    onClose={() => {\n                                        setIsEditing(false);\n                                    }}\n                                />\n                            ) : (\n                                <DropdownControl\n                                    options={options}\n                                    renderTrigger={(isActive, onClick) => (\n                                        <TransparentTrigger\n                                            isPressed={isActive}\n                                            onClick={onClick}\n                                            leftIcon={<MoreIcon />}\n                                            reflectionTheme={ReflectionThemeEnum.light}\n                                        />\n                                    )}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                />\n                            )}\n                        </>\n                    }\n                >\n                    <div className={cx('details')}>\n                        {isEditing ? (\n                            <EditShipperContractDetailsForm\n                                partnerId={partnerId}\n                                shipperContractId={contractId}\n                                shipperContractDetails={contractDetails}\n                                onDownloadShipperContract={handleDownloadShipperContract}\n                                onUpdateShipperContract={handleUpdateShipperContract}\n                            />\n                        ) : (\n                            <ShipperContractDetails\n                                partnerId={partnerId}\n                                shipperContractId={contractId}\n                                shipperContractDetails={contractDetails}\n                                onDownloadShipperContract={handleDownloadShipperContract}\n                            />\n                        )}\n                    </div>\n                </Widget>\n                <Widget\n                    className={cx('widget', 'widget-group__widget')}\n                    title={t('common:shipper-contract-details.widgets.history')}\n                >\n                    <div className={cx('history')}>\n                        <InfoTable className={cx('history-table')} rows={createDetails} testSelector=\"create-details\" />\n                        <InfoTable className={cx('history-table')} rows={modifyDetails} testSelector=\"modify-details\" />\n                        <InfoTable className={cx('history-table')} rows={revokeDetails} testSelector=\"revoke-details\" />\n                        <InfoTable className={cx('history-table')} rows={expireDetails} testSelector=\"expire-details\" />\n                    </div>\n                </Widget>\n            </div>\n            <RevokeShipperContractConfirmation\n                data={revokeShipperContractConfirmation.data}\n                requestStatus={updateRequestStatus}\n                onClose={revokeShipperContractConfirmation.onClose}\n                onCancel={revokeShipperContractConfirmation.onCancel}\n                onConfirm={handleRevokeShipperContract}\n            />\n            {isShowLoaderOverlay && <LoaderOverlay />}\n        </>\n    );\n});\n\nexport default BaseShipperContractDetailsLayout;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nexport type PropsT = {\n    className?: string;\n    children?: React.ReactNode;\n    tooltipContent?: React.ReactNode;\n};\n\nconst EntityEtaAlert: React.FC<PropsT> = React.memo(({ className, tooltipContent, children }) => {\n    return (\n        <Alert\n            icon={\n                <TimeWindowIcon strokeColor={StyleGuideColorsEnum.white} fillColor={StyleGuideColorsEnum.transparent} />\n            }\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.gray}\n            className={className}\n            tooltipNode={\n                tooltipContent ? (\n                    <TooltipContent width={150} isCenter theme={TooltipContentThemeEnum.black}>\n                        {tooltipContent}\n                    </TooltipContent>\n                ) : null\n            }\n        >\n            {children}\n        </Alert>\n    );\n});\n\nexport default EntityEtaAlert;\n","import { PHONE_NUMBER_PREFIX } from 'common/constants';\n\nexport const parseStringFormatter = (value: string | null | undefined): string => {\n    return (value || '').trim();\n};\n\nexport const parseSimpleNumber = (sourceValue: string | null | undefined): number | undefined => {\n    if (sourceValue === null) {\n        return undefined;\n    }\n\n    if (sourceValue === undefined) {\n        return undefined;\n    }\n\n    if (sourceValue === '') {\n        return undefined;\n    }\n\n    const rawValue = sourceValue.trim().replace(/,/g, '').replace(/ /g, '');\n\n    return +rawValue;\n};\n\nexport const parsePhoneNumber = (sourceValue: string | null | undefined): string => {\n    const rawValue = (sourceValue || '').trim();\n\n    if (!rawValue || rawValue === PHONE_NUMBER_PREFIX) {\n        return '';\n    }\n\n    return rawValue;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"margin--positive\":\"ColoredDiff__margin--positive___Mh1TP\",\"margin--negative\":\"ColoredDiff__margin--negative___auhFh\",\"margin--not-actual\":\"ColoredDiff__margin--not-actual___J0LD4\",\"not-number\":\"ColoredDiff__not-number___RcXRj\",\"fadeIn\":\"ColoredDiff__fadeIn___uoLGW\",\"blinking\":\"ColoredDiff__blinking___AM5Qd\"};","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TimeWindowZoneText.scss';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { RangeSelectorRangeT } from 'common/components/RangeSelector/models';\nimport { useTranslation } from 'react-i18next';\nimport StopWarningIcon from 'common/icons/StopWarningIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    currentRanges: RangeSelectorRangeT[];\n};\n\nconst TimeWindowZoneText: React.FC<PropsT> = React.memo((props) => {\n    const { currentRanges } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.topLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black}>\n                    <div className={cx('content')}>\n                        <StopWarningIcon opacity={0.7} fillColor={StyleGuideColorsEnum.orange} />\n                        <div className={cx('content__content')}>\n                            {currentRanges?.map((range, rangeIndex) => {\n                                return (\n                                    <div key={rangeIndex} className={cx('text')}>\n                                        {range.label}\n                                    </div>\n                                );\n                            })}\n                        </div>\n                    </div>\n                </TooltipContent>\n            }\n        >\n            {() => (\n                <span className={cx('zone-title')} data-test-selector=\"zone-text\">\n                    {t('common:new-order-form.surcharge')}\n                </span>\n            )}\n        </Tooltip>\n    );\n});\n\nexport default TimeWindowZoneText;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const updateSpotRefreshChannel = new ViewEventChannel<{}>();\n","import * as React from 'react';\nimport { useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './TransportOrderDetailsPageLayout.scss';\n\nimport { useParams } from 'react-router-dom';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { goBackIfHasRePath } from 'common/utils/history';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport {\n    selectTransportOrderDetails,\n    selectTransportOrderDetailsRequestStatus,\n} from 'common/store/transport-order-details/selectors';\nimport { fetchTransportOrderDetails } from 'common/store/transport-order-details/actions';\nimport TransportOrderDetails from './TransportOrderDetails/TransportOrderDetails';\nimport TransportOrderStatusPill from 'common/components/status-pill/TransportOrderStatusPill/TransportOrderStatusPill';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport DriversAssignmentFooterContent from './footers/DriversAssignmentFooterContent/DriversAssignmentFooterContent';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport {\n    selectAssignmentRequestStatus as selectDriverAssignmentRequestStatus,\n    selectReAssignmentRequestStatus,\n} from 'common/store/driver-assigment/selectors';\nimport { selectAssignmentRequestStatus as selectSpotAssetsAssignmentRequestStatus } from 'common/store/spot-assets-assigment/selectors';\nimport StatusFooterContent from './footers/StatusFooterContent/StatusFooterContent';\nimport {\n    ApiTransportOrderStatusT,\n    PartnerTypeEnum,\n    TransportOrderStatusEnum,\n    TransportOrderTypeEnum,\n} from 'common/utils/api/models';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport DeclineOrderConfirmation, {\n    DeclineOrderConfirmationDataT,\n} from './dialogs/DeclineOrderConfirmation/DeclineOrderConfirmation';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport SideBarLayoutContextWrap from '../LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport EntitySidebarSkeleton from 'common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport UnassignDriversConfirmation, {\n    UnassignDriversConfirmationDataT,\n} from 'common/layouts/TransportOrderDetailsPageLayout/dialogs/UnassignDriversConfirmation/UnassignDriversConfirmation';\nimport { reAssign } from 'common/store/driver-assigment/actions';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport AcceptDeclinedOrderConfirmation, {\n    AcceptDeclinedOrderConfirmationDataT,\n} from './dialogs/AcceptDeclinedOrderConfirmation/AcceptDeclinedOrderConfirmation';\nimport { BooleanParam, useQueryParams } from 'use-query-params';\nimport SpotAssetsAssignmentFooterContent from 'common/layouts/TransportOrderDetailsPageLayout/footers/SpotAssetsAssignmentFooterContent/SpotAssetsAssignmentFooterContent';\nimport ParanjaSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/ParanjaSideBarLayout/ParanjaSideBarLayout';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { isNonNil } from 'common/utils';\nimport { logWarning } from 'common/utils/logger';\n\nimport { StateMachineEntityDescriptorT } from 'common/store/state-machine/models';\nimport { updateEntityStatus } from 'common/store/state-machine/slice';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport { transportOrderRefreshChannel } from 'common/store/transport-order-details/channels';\nimport TransportOrderRouteMap from './TransportOrderRouteMap/TransportOrderRouteMap';\nimport {\n    checkIsBrokerTransportOrderDetails,\n    checkIsCarrierTransportOrderDetails,\n} from 'common/store/transport-order-details/type-guards';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useStateMachine } from 'common/utils/hooks/useStateMachine';\nimport useAfterSuccessRequest from 'common/utils/hooks/useAfterSuccessRequest';\nimport UnassignAssetsConfirmation, {\n    UnassignAssetsConfirmationDataT,\n} from './dialogs/UnassignAssetsConfirmation/UnassignAssetsConfirmation';\nimport { assign, unassign } from 'common/store/spot-assets-assigment/actions';\nimport { updatePapersRefreshChannel } from 'common/store/papers/channels';\nimport { getShipmentAnchor } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderDetailsPage/BrokerOrderDetails/ShipmentDetailsCard/utils';\nimport scrollIntoView from 'scroll-into-view';\nimport { consistentStateMachineRefreshChannel } from 'common/store/consistent-state-machine/channels';\nimport { papersEditRefreshChannel } from 'common/store/papers-edit/channels';\nimport HighlightedEntityContext, {\n    HighlightedEntityContextProvider,\n} from 'common/components/status-machine/contexts/HighlightedEntityContext';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype DeclineUnavailableReasonT = Api2.Definitions.DeclineUnavailableReason;\ntype TOCancelByBrokerUnavailableReasonT = Api2.Definitions.TOCancelByBrokerUnavailableReason;\ntype UnassignDriverUnavailableReasonT = Api2.Definitions.UnassignDriverUnavailableReason;\ntype CarrierUnassignAssetsUnavailableReasonT = Api2.Definitions.CarrierUnassignAssetsUnavailableReason;\n\nconst declineUnavailableReasonI18nMap: Record<DeclineUnavailableReasonT, string> = {\n    TO_BELONGS_TO_ANOTHER_CARRIER:\n        'common:transport-order-details.decline-unavailable-reason.TO_BELONGS_TO_ANOTHER_CARRIER',\n    UNAVAILABLE_STATUS: 'common:transport-order-details.decline-unavailable-reason.UNAVAILABLE_STATUS',\n    TIME_LIMIT_TO_DECLINE_HAS_PASSED:\n        'common:transport-order-details.decline-unavailable-reason.TIME_LIMIT_TO_DECLINE_HAS_PASSED',\n};\n\ntype DeprecatedT = 'PICKUP_ALREADY_STARTED' | 'TRANSPORTATION_ORDER_IS_ON_SPOT';\n\nconst cancelByBrokerUnavailableReasonI18nMap: Record<TOCancelByBrokerUnavailableReasonT | DeprecatedT, string> = {\n    PICKUP_ALREADY_STARTED: 'common:transport-order-details.cancel-unavailable-reason.PICKUP_ALREADY_STARTED',\n    TRANSPORTATION_IS_NOT_IN_AVAILABLE_STATUS:\n        'common:transport-order-details.cancel-unavailable-reason.TRANSPORTATION_IS_NOT_IN_AVAILABLE_STATUS',\n    TRANSPORTATION_ORDER_IS_ON_SPOT:\n        'common:transport-order-details.cancel-unavailable-reason.TRANSPORTATION_ORDER_IS_ON_SPOT',\n    BROKER_CANT_CANCEL_DEADHEAD_TO:\n        'common:transport-order-details.cancel-unavailable-reason.BROKER_CANT_CANCEL_DEADHEAD_TO',\n};\n\nconst unassignDriverUnavailableReasonI18nMap: Record<UnassignDriverUnavailableReasonT, string> = {\n    UNAVAILABLE_STATUS: 'common:transport-order-details.unassign-driver-unavailable-reason.UNAVAILABLE_STATUS',\n    NO_ASSIGNED_DRIVERS: 'common:transport-order-details.unassign-driver-unavailable-reason.NO_ASSIGNED_DRIVERS',\n};\n\nconst carrierUnassignAssetsUnavailableReasonI18nMap: Record<CarrierUnassignAssetsUnavailableReasonT, string> = {\n    TO_IS_NOT_ON_SPOT: 'common:transport-order-details.carrier-unassign-assets-unavailable-reason.TO_IS_NOT_ON_SPOT',\n    UNAVAILABLE_STATUS: 'common:transport-order-details.carrier-unassign-assets-unavailable-reason.UNAVAILABLE_STATUS',\n    PICKUP_ALREADY_STARTED:\n        'common:transport-order-details.carrier-unassign-assets-unavailable-reason.PICKUP_ALREADY_STARTED',\n};\n\ntype PropsT = {\n    isBroker: boolean;\n    isReadOnly?: boolean;\n    goToBack: () => void;\n    goToTrailerDetails: (trailerId: TrailerIdT | null) => void;\n    goToTruckDetails: (truckId: TruckIdT | null) => void;\n    goToDriverDetails?: (driverId: DriverIdT | null) => void;\n    goToSpotRequestDetails: (spotRequestId: SpotRequestIdT | null) => void;\n    onOpenUserDetails: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n    onOpenDriverDetails?: (params: { driverId: DriverIdT; partnerId: PartnerIdT }) => void;\n};\n\nenum QueryKeysEnum {\n    driversAssignment = 'drivers-assignment',\n    spotAssetsAssignment = 'spot-assets-assignment',\n}\n\nconst TransportOrderDetailsPageLayoutContent: React.FC<PropsT> = React.memo((props) => {\n    const {\n        isBroker,\n        goToBack,\n        goToTrailerDetails,\n        goToTruckDetails,\n        goToDriverDetails,\n        goToSpotRequestDetails,\n        onOpenUserDetails,\n        onOpenDriverDetails,\n    } = props;\n\n    const { partnerId } = usePartnerContext();\n\n    const params = useParams<{ transportOrderId: string }>();\n    const { transportOrderId } = params;\n\n    const ref = React.useRef<HTMLDivElement>(null);\n\n    const { setHighlightedEntityId: setHighlightedShipmentId } = React.useContext(HighlightedEntityContext);\n\n    const googleMaps = useGoogleMaps();\n\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const { t } = useTranslation();\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.driversAssignment]: BooleanParam,\n        [QueryKeysEnum.spotAssetsAssignment]: BooleanParam,\n    });\n\n    const acceptDeclinedOrderConfirmation = useModalDialog<AcceptDeclinedOrderConfirmationDataT>();\n    const declineOrderConfirmation = useModalDialog<DeclineOrderConfirmationDataT>();\n    const unassignDriversConfirmation = useModalDialog<UnassignDriversConfirmationDataT>();\n    const unassignAssetsConfirmation = useModalDialog<UnassignAssetsConfirmationDataT>();\n\n    const permissions = useSelector(selectPermissions);\n\n    const transportOrderDetails = useSelector(selectTransportOrderDetails(transportOrderId));\n    const transportOrderDetailsRequestStatus = useSelector(selectTransportOrderDetailsRequestStatus(transportOrderId));\n\n    const isReadOnly = props.isReadOnly || transportOrderDetails?.type === TransportOrderTypeEnum.trailer;\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in TransportOrderDetailsPageLayout useEffect');\n            return;\n        }\n        dispatch(fetchTransportOrderDetails(partnerId, transportOrderId, { isForceUpdate: false }));\n    }, [dispatch, partnerId, transportOrderId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        dispatch(fetchTransportOrderDetails(partnerId, transportOrderId, { isForceUpdate: false }));\n    }, [dispatch, partnerId, transportOrderId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshTransportPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshTransportPageHandler');\n            return;\n        }\n        dispatch(fetchTransportOrderDetails(partnerId, transportOrderId, { isForceUpdate: true }));\n    }, [dispatch, partnerId, transportOrderId]);\n    useChannelSubscribe(stateMachineRefreshChannel, refreshTransportPageHandler);\n    useChannelSubscribe(consistentStateMachineRefreshChannel, refreshTransportPageHandler);\n    useChannelSubscribe(updatePapersRefreshChannel, refreshTransportPageHandler);\n    useChannelSubscribe(papersEditRefreshChannel, refreshTransportPageHandler);\n    useChannelSubscribe(transportOrderRefreshChannel, refreshTransportPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n        dispatch(fetchTransportOrderDetails(partnerId, transportOrderId, { isForceUpdate: true }));\n    }, [dispatch, partnerId, transportOrderId]);\n\n    const closeOrderDetails = () => {\n        goBackIfHasRePath(() => {\n            goToBack();\n        });\n    };\n\n    const isActiveDriversAssignment = !!query[QueryKeysEnum.driversAssignment];\n    const closeDriversAssignments = () => {\n        changeQuery({\n            [QueryKeysEnum.driversAssignment]: null,\n        });\n    };\n\n    const openDriversAssignments = () => {\n        changeQuery({\n            [QueryKeysEnum.driversAssignment]: true,\n        });\n    };\n\n    const assignmentDriverRequestStatus = useSelector(selectDriverAssignmentRequestStatus);\n    useAfterSuccessRequest(assignmentDriverRequestStatus, () => {\n        closeDriversAssignments();\n    });\n\n    const isActiveSpotAssetsAssignment = !!query[QueryKeysEnum.spotAssetsAssignment];\n    const closeSpotAssetsAssignments = () => {\n        changeQuery({\n            [QueryKeysEnum.spotAssetsAssignment]: null,\n        });\n    };\n\n    const openSpotAssetsAssignments = () => {\n        changeQuery({\n            [QueryKeysEnum.spotAssetsAssignment]: true,\n        });\n    };\n\n    const spotAssetsAssignmentRequestStatus = useSelector(selectSpotAssetsAssignmentRequestStatus);\n    useCloseModalDialogAfterRequest(spotAssetsAssignmentRequestStatus, [unassignAssetsConfirmation]);\n    useAfterSuccessRequest(spotAssetsAssignmentRequestStatus, () => {\n        closeSpotAssetsAssignments();\n    });\n\n    const descriptor = useMemo((): StateMachineEntityDescriptorT | null => {\n        if (!transportOrderId) {\n            return null;\n        }\n\n        return {\n            entityType: 'TRANSPORTATION_ORDER',\n            entityId: transportOrderId,\n        };\n    }, [transportOrderId]);\n\n    const { updateRequest } = useStateMachine<ApiTransportOrderStatusT>(descriptor);\n\n    useCloseModalDialogAfterRequest(updateRequest, [declineOrderConfirmation, acceptDeclinedOrderConfirmation]);\n\n    const unassignDriverUnavailableReason = useMemo(() => {\n        if (checkIsCarrierTransportOrderDetails(transportOrderDetails)) {\n            return transportOrderDetails?.unassignDriverUnavailableReason || null;\n        }\n        return null;\n    }, [transportOrderDetails]);\n\n    const unassignDriverTooltipContent = useMemo(() => {\n        if (!unassignDriverUnavailableReason) {\n            return null;\n        }\n\n        return (\n            <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                {t(\n                    unassignDriverUnavailableReasonI18nMap[\n                        unassignDriverUnavailableReason as UnassignDriverUnavailableReasonT\n                    ],\n                )}\n            </TooltipContent>\n        );\n    }, [unassignDriverUnavailableReason, t]);\n\n    const isAvailableToUnassignDriver = Boolean(\n        checkIsCarrierTransportOrderDetails(transportOrderDetails) && !unassignDriverUnavailableReason,\n    );\n\n    const unassignAssetsUnavailableReason = useMemo(() => {\n        if (checkIsCarrierTransportOrderDetails(transportOrderDetails)) {\n            return transportOrderDetails?.unassignAssetsUnavailableReason || null;\n        }\n        return null;\n    }, [transportOrderDetails]);\n\n    const unassignAssetsUnavailableTooltipContent = useMemo(() => {\n        if (!unassignAssetsUnavailableReason) {\n            return null;\n        }\n\n        return (\n            <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                {t(\n                    carrierUnassignAssetsUnavailableReasonI18nMap[\n                        unassignAssetsUnavailableReason as CarrierUnassignAssetsUnavailableReasonT\n                    ],\n                )}\n            </TooltipContent>\n        );\n    }, [unassignAssetsUnavailableReason, t]);\n\n    const declineUnavailableReason = useMemo(() => {\n        if (checkIsCarrierTransportOrderDetails(transportOrderDetails)) {\n            return transportOrderDetails?.declineUnavailableReason || null;\n        }\n        if (checkIsBrokerTransportOrderDetails(transportOrderDetails)) {\n            return transportOrderDetails?.cancelUnavailableReason || null;\n        }\n        return null;\n    }, [transportOrderDetails]);\n\n    const declineTooltipContent = useMemo(() => {\n        if (!declineUnavailableReason) {\n            return null;\n        }\n\n        if (checkIsCarrierTransportOrderDetails(transportOrderDetails)) {\n            return (\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                    {t(declineUnavailableReasonI18nMap[declineUnavailableReason as DeclineUnavailableReasonT])}\n                </TooltipContent>\n            );\n        }\n\n        if (checkIsBrokerTransportOrderDetails(transportOrderDetails)) {\n            return (\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                    {t(\n                        cancelByBrokerUnavailableReasonI18nMap[\n                            declineUnavailableReason as TOCancelByBrokerUnavailableReasonT\n                        ],\n                    )}\n                </TooltipContent>\n            );\n        }\n\n        return null;\n    }, [declineUnavailableReason, transportOrderDetails, t]);\n\n    const isAvailableDecline = permissions.canDeclineTransportOrders && !declineUnavailableReason;\n\n    const options: Array<DropdownControlOptionT | null> = [\n        permissions.canDeclineTransportOrders\n            ? {\n                  label: (\n                      <Tooltip\n                          position={TooltipPositionEnum.centerLeft}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={declineTooltipContent}\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                  label={t('common:transport-order-details.actions.decline')}\n                                  isDisabled={!!declineUnavailableReason}\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  isDisabled: !!declineUnavailableReason,\n                  onSelect: () => {\n                      if (!isAvailableDecline) {\n                          return;\n                      }\n                      declineOrderConfirmation.setData({});\n                  },\n              }\n            : null,\n    ];\n\n    const handleConfirmDecline = () => {\n        if (!transportOrderId) {\n            logWarning('Empty transportOrderId');\n            return;\n        }\n\n        if (!descriptor) {\n            logWarning('Empty descriptor');\n            return;\n        }\n\n        dispatch(\n            updateEntityStatus({\n                update: {\n                    entityType: 'TRANSPORTATION_ORDER',\n                    entityId: transportOrderId,\n                    status: TransportOrderStatusEnum.canceled,\n                },\n                descriptor,\n            }),\n        );\n    };\n\n    const handleConfirmAcceptDeclined = () => {\n        if (!transportOrderId) {\n            logWarning('Empty transportOrderId');\n            return;\n        }\n\n        if (!descriptor) {\n            logWarning('Empty descriptor');\n            return;\n        }\n\n        dispatch(\n            updateEntityStatus({\n                update: {\n                    entityType: 'TRANSPORTATION_ORDER',\n                    entityId: transportOrderId,\n                    status: TransportOrderStatusEnum.assigned,\n                },\n                descriptor,\n            }),\n        );\n    };\n\n    const reAssignRequest = useSelector(selectReAssignmentRequestStatus);\n    useCloseModalDialogAfterRequest(reAssignRequest, [unassignDriversConfirmation]);\n    useAfterSuccessRequest(reAssignRequest, () => {\n        closeDriversAssignments();\n    });\n    const handleReAssignment = (): void => {\n        const driverIds = (transportOrderDetails?.drivers || []).map((driver) => driver.id).filter(isNonNil);\n\n        dispatch(reAssign(transportOrderId, driverIds));\n    };\n\n    const handleAssignAssets = ({\n        transportOrderId,\n        truckId,\n        trailerId,\n    }: {\n        transportOrderId: TransportOrderIdT;\n        truckId: AssetIdT;\n        trailerId: AssetIdT;\n    }): void => {\n        dispatch(assign(transportOrderId, truckId, trailerId));\n    };\n\n    const handleConfirmUnnassignAssets = ({ transportOrderId }: UnassignAssetsConfirmationDataT): void => {\n        dispatch(unassign(transportOrderId));\n    };\n\n    const handleUnnassignAssets = ({ transportOrderId }: { transportOrderId: TransportOrderIdT }): void => {\n        unassignAssetsConfirmation.setData({\n            transportOrderId,\n        });\n    };\n\n    const renderFooter = () => {\n        if (isReadOnly) {\n            return null;\n        }\n\n        if (isActiveDriversAssignment) {\n            return (\n                <>\n                    <ParanjaSideBarLayout />\n                    <FooterSideBarLayout isTransparent hasShadow>\n                        <DriversAssignmentFooterContent\n                            transportOrderId={transportOrderId}\n                            transportOrderDetails={transportOrderDetails}\n                            onCancel={closeDriversAssignments}\n                            isAvailableToUnassignDriver={isAvailableToUnassignDriver}\n                            unnassignDriversRequestStatus={reAssignRequest}\n                            onUnnasignDrivers={() => {\n                                unassignDriversConfirmation.setData({});\n                            }}\n                        />\n                    </FooterSideBarLayout>\n                </>\n            );\n        }\n\n        if (isActiveSpotAssetsAssignment) {\n            return (\n                <>\n                    <ParanjaSideBarLayout />\n                    <FooterSideBarLayout isTransparent hasShadow>\n                        <SpotAssetsAssignmentFooterContent\n                            transportOrderId={transportOrderId}\n                            transportOrderDetails={transportOrderDetails}\n                            onCancel={closeSpotAssetsAssignments}\n                            assignmentRequestStatus={spotAssetsAssignmentRequestStatus}\n                            onAssignAssets={handleAssignAssets}\n                            onClearAssets={handleUnnassignAssets}\n                        />\n                    </FooterSideBarLayout>\n                </>\n            );\n        }\n\n        return (\n            <FooterSideBarLayout hasPaddings>\n                <StatusFooterContent\n                    transportOrderDetails={transportOrderDetails}\n                    onUnassignedAssets={() => {\n                        handleUnnassignAssets({\n                            transportOrderId,\n                        });\n                    }}\n                    unassignAssetsUnavailableTooltipContent={unassignAssetsUnavailableTooltipContent}\n                    onStartAssignAssets={openSpotAssetsAssignments}\n                    isAvailableToUnassignDriver={isAvailableToUnassignDriver}\n                    onUnassignedDrivers={() => {\n                        unassignDriversConfirmation.setData({});\n                    }}\n                    onStartAssignDrivers={openDriversAssignments}\n                    onManageShipment={(shipmentId) => {\n                        const anchor = getShipmentAnchor(shipmentId);\n                        const targetNode = ref?.current?.querySelector(`[data-anchor=\"${anchor}\"]`);\n                        if (!targetNode) {\n                            return;\n                        }\n\n                        setHighlightedShipmentId(shipmentId);\n\n                        scrollIntoView(targetNode as HTMLElement, {\n                            align: {\n                                top: 0.2,\n                            },\n                        });\n                    }}\n                    unassignDriverTooltipContent={unassignDriverTooltipContent}\n                />\n            </FooterSideBarLayout>\n        );\n    };\n\n    const isSetStateLoading = updateRequest.loading;\n\n    return (\n        <GoogleMapContext.Provider value={googleMapsContextValue}>\n            <HorizontalColumnsLayout\n                testSelector=\"transport-order-details\"\n                leftColumnTitle={t('common:transport-order-details.main-tabs.details')}\n                leftColumnNode={\n                    <SideBarLayoutContextWrap>\n                        {isSetStateLoading && <LoaderOverlay />}\n                        <HeaderSideBarLayout>\n                            <HeaderSideBarContent\n                                title={\n                                    transportOrderDetails\n                                        ? t('common:transport-order-details.title', {\n                                              number: transportOrderDetails.number || '',\n                                          })\n                                        : null\n                                }\n                                onClose={closeOrderDetails}\n                                afterTitleNode={\n                                    <TransportOrderStatusPill\n                                        status={transportOrderDetails?.status}\n                                        isArchived={transportOrderDetails?.archivedByCarrier}\n                                        isSpot={!!transportOrderDetails?.spotInfo?.id}\n                                    />\n                                }\n                                rightNode={\n                                    !isReadOnly ? (\n                                        <DropdownControl\n                                            options={options}\n                                            renderTrigger={(isActive, onClick) => (\n                                                <TransparentTrigger\n                                                    isPressed={isActive}\n                                                    onClick={onClick}\n                                                    leftIcon={<MoreIcon />}\n                                                    reflectionTheme={ReflectionThemeEnum.light}\n                                                />\n                                            )}\n                                            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                        />\n                                    ) : null\n                                }\n                            />\n                            <SideBarHeaderRequestStatus\n                                requestStatus={transportOrderDetailsRequestStatus}\n                                hasCachedData={Boolean(transportOrderDetails)}\n                                isForceShowLoader={updateRequest.loading}\n                            />\n                        </HeaderSideBarLayout>\n                        <SideBarLayout>\n                            <div ref={ref}>\n                                <SideBarRequestStatus\n                                    requestStatus={transportOrderDetailsRequestStatus}\n                                    hasCachedData={Boolean(transportOrderDetails)}\n                                    onRetry={handleRefreshOnError}\n                                    SkeletonComponent={EntitySidebarSkeleton}\n                                >\n                                    {transportOrderDetails ? (\n                                        <TransportOrderDetails\n                                            isBroker={isBroker}\n                                            isReadOnly={isReadOnly}\n                                            transportOrderDetails={transportOrderDetails}\n                                            goToTrailerDetails={goToTrailerDetails}\n                                            goToTruckDetails={goToTruckDetails}\n                                            goToDriverDetails={goToDriverDetails}\n                                            goToSpotRequestDetails={goToSpotRequestDetails}\n                                            onOpenUserDetails={onOpenUserDetails}\n                                            onOpenDriverDetails={onOpenDriverDetails}\n                                        />\n                                    ) : null}\n                                </SideBarRequestStatus>\n                            </div>\n                        </SideBarLayout>\n                        {renderFooter()}\n                    </SideBarLayoutContextWrap>\n                }\n                rightColumnTitle={t('common:transport-order-details.main-tabs.info')}\n                rightColumnNode={\n                    <TransportOrderRouteMap\n                        key={transportOrderId}\n                        transportOrderId={transportOrderId}\n                        transportOrderDetails={transportOrderDetails}\n                    />\n                }\n            />\n            <AcceptDeclinedOrderConfirmation\n                requestStatus={updateRequest}\n                data={acceptDeclinedOrderConfirmation.data}\n                onCancel={acceptDeclinedOrderConfirmation.onCancel}\n                onClose={acceptDeclinedOrderConfirmation.onClose}\n                onConfirm={handleConfirmAcceptDeclined}\n            />\n            <DeclineOrderConfirmation\n                requestStatus={updateRequest}\n                data={declineOrderConfirmation.data}\n                onCancel={declineOrderConfirmation.onCancel}\n                onClose={declineOrderConfirmation.onClose}\n                onConfirm={handleConfirmDecline}\n            />\n            <UnassignDriversConfirmation\n                data={unassignDriversConfirmation.data}\n                onClose={unassignDriversConfirmation.onClose}\n                onCancel={unassignDriversConfirmation.onCancel}\n                requestStatus={reAssignRequest}\n                onConfirm={handleReAssignment}\n            />\n            <UnassignAssetsConfirmation\n                data={unassignAssetsConfirmation.data}\n                onClose={unassignAssetsConfirmation.onClose}\n                onCancel={unassignAssetsConfirmation.onCancel}\n                requestStatus={spotAssetsAssignmentRequestStatus}\n                onConfirm={handleConfirmUnnassignAssets}\n            />\n        </GoogleMapContext.Provider>\n    );\n});\n\nconst TransportOrderDetailsPageLayout: React.FC<PropsT> = React.memo((props) => {\n    return (\n        <HighlightedEntityContextProvider>\n            <TransportOrderDetailsPageLayoutContent {...props} />\n        </HighlightedEntityContextProvider>\n    );\n});\n\nexport default TransportOrderDetailsPageLayout;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './BrokerTeamsTable.scss';\nimport { useTranslation } from 'react-i18next';\nimport Table, { TableColumnT, TableRowMetaT } from 'common/components/Table/Table';\nimport MemoizedTable from 'common/components/Table/MemoizedTable/MemoizedTable';\nimport { BrokerTeamShortT } from 'broker-admin/store/broker-teams/models';\nimport IdCell from 'common/components/Table/cell-renderers/IdCell/IdCell';\nimport EventCell from 'common/components/Table/cell-renderers/EventCell/EventCell';\nimport UsersCountCell from './cell-renderers/UsersCountCell/UsersCountCell';\nimport PartnersCountCell from './cell-renderers/PartnersCountCell/PartnersCountCell';\nimport ControlsCell from './cell-renderers/ControlsCell/ControlsCell';\nimport { TeamActionsCallbacksT } from './hooks/actions';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = TeamActionsCallbacksT & {\n    brokerTeams: Array<BrokerTeamShortT>;\n    className: string;\n    goToBrokerTeamDetails?: (event: React.MouseEvent, brokerTeamId: TeamIdT) => void;\n    onOpenUserDetails: (userId: UserIdT | null) => void;\n    isLoading: boolean;\n};\n\nconst BrokerTeamsTable: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTeams, className, goToBrokerTeamDetails, isLoading, onDelete, onOpenUserDetails } = props;\n\n    const { t } = useTranslation();\n\n    const columns: Array<TableColumnT<BrokerTeamShortT, void>> = [\n        {\n            renderHeader: () => <span>{t('broker-users.teams.list.table.columns.name')}</span>,\n            headerClassName: cx('table__header', 'table__header--name'),\n            render: (brokerTeamShort) => <IdCell id={brokerTeamShort?.name} />,\n            className: cx('table__column', 'table__column--name'),\n            testSelector: 'name',\n        },\n        {\n            renderHeader: () => <span>{t('broker-users.teams.list.table.columns.added')}</span>,\n            headerClassName: cx('table__header', 'table__header--added'),\n            render: (brokerTeamShort) => (\n                <EventCell\n                    userFullName={brokerTeamShort?.createdByName}\n                    userId={brokerTeamShort?.createdById}\n                    date={brokerTeamShort?.createdDate}\n                    openUserDetails={onOpenUserDetails}\n                />\n            ),\n            className: cx('table__column', 'table__column--added'),\n            testSelector: 'added',\n        },\n        {\n            renderHeader: () => <span>{t('broker-users.teams.list.table.columns.modified')}</span>,\n            headerClassName: cx('table__header', 'table__header--modified'),\n            render: (brokerTeamShort) => (\n                <EventCell\n                    userFullName={brokerTeamShort?.modifiedByName}\n                    userId={brokerTeamShort?.modifiedById}\n                    date={brokerTeamShort?.modifiedDate}\n                    openUserDetails={onOpenUserDetails}\n                />\n            ),\n            className: cx('table__column', 'table__column--modified'),\n            testSelector: 'modified',\n        },\n        {\n            renderHeader: () => <span>{t('broker-users.teams.list.table.columns.users-count')}</span>,\n            headerClassName: cx('table__header', 'table__header--users-count'),\n            render: (brokerTeamShort) => <UsersCountCell brokerTeamShort={brokerTeamShort} />,\n            className: cx('table__column', 'table__column--users-count'),\n            testSelector: 'users-count',\n        },\n        {\n            renderHeader: () => <span>{t('broker-users.teams.list.table.columns.partners-count')}</span>,\n            headerClassName: cx('table__header', 'table__header--partners-count'),\n            render: (brokerTeamShort) => <PartnersCountCell brokerTeamShort={brokerTeamShort} />,\n            className: cx('table__column', 'table__column--partners-count'),\n            testSelector: 'partners-count',\n        },\n        {\n            renderHeader: () => null,\n            headerClassName: cx('table__header', 'table__header--controls'),\n            render: (brokerTeamShort) => <ControlsCell brokerTeamShort={brokerTeamShort} onDelete={onDelete} />,\n            className: cx('table__column', 'table__column--controls'),\n            testSelector: 'controls',\n        },\n    ];\n\n    const handleSelectRow = (event: React.MouseEvent, brokerTeamShort: BrokerTeamShortT) => {\n        if (!brokerTeamShort.id || !goToBrokerTeamDetails) {\n            return;\n        }\n\n        goToBrokerTeamDetails(event, brokerTeamShort.id);\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const getRowMods = (meta: TableRowMetaT, brokerTeamShort: BrokerTeamShortT) => {\n        return {};\n    };\n\n    return (\n        <div className={cx('table')}>\n            <MemoizedTable<BrokerTeamShortT> tableName=\"broker-teams\" isLoading={isLoading} rows={brokerTeams}>\n                {(rows, isUsedPrevRows) => (\n                    <Table<BrokerTeamShortT, void>\n                        testSelector=\"broker-teams\"\n                        className={className}\n                        columns={columns}\n                        rows={rows}\n                        getRowMods={getRowMods}\n                        onSelectRow={handleSelectRow}\n                        isLoading={isLoading}\n                        isUsedPrevRows={isUsedPrevRows}\n                    />\n                )}\n            </MemoizedTable>\n        </div>\n    );\n});\n\nexport default BrokerTeamsTable;\n","import requestStatus from 'common/utils/request-status';\nimport {\n    FETCH_DRIVERS_REQUEST_BEGIN,\n    FETCH_DRIVERS_REQUEST_ERROR,\n    FETCH_DRIVERS_REQUEST_SUCCESS,\n    DriverSearchActionT,\n    DriverSearchStateT,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport keyBy from 'lodash/keyBy';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\n\nconst initialState: DriverSearchStateT = {\n    request: requestStatus.initial,\n    query: null,\n    allIds: [],\n    byId: {},\n};\n\nexport default (state = initialState, action: DriverSearchActionT | DestroySessionActionT): DriverSearchStateT => {\n    switch (action.type) {\n        case FETCH_DRIVERS_REQUEST_BEGIN: {\n            const { query } = action;\n            return {\n                ...state,\n                query,\n                request: requestStatus.loading,\n            };\n        }\n        case FETCH_DRIVERS_REQUEST_SUCCESS: {\n            const { drivers, query } = action;\n\n            if (!checkIsSameQuery(state.query, query)) {\n                return state;\n            }\n\n            const allIds = drivers.map((driver) => driver.id);\n            const byId = keyBy(drivers, 'id');\n\n            return {\n                ...state,\n                allIds,\n                byId,\n                request: requestStatus.ok,\n            };\n        }\n        case FETCH_DRIVERS_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(state.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                request: requestStatus.setError(error),\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n        default:\n            return state;\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"location\":\"TransportOrderRouteMap__location___dOQ20\",\"fadeIn\":\"TransportOrderRouteMap__fadeIn___C0bpQ\",\"blinking\":\"TransportOrderRouteMap__blinking___n0OqQ\"};","export const ALL_BROKER_USERS_VALUE = 'broker-users' as const;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TrailerDetailsForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectTrailersDict, selectTrailersDictById } from 'common/store/trailers-dict/selectors';\nimport { AssetTypeEnum, CurrencyEnum, StyleGuideColorsEnum, TrailerTypeEnum, UnitTypeEnum } from 'common/constants';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport TrailerTypeSwitcher from 'common/components/TrailerTypeSwitcher/TrailerTypeSwitcher';\nimport validateForm from './validate-form';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { uppercaseFormatter } from 'common/utils/form-formatters';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport Input from 'common/components/Input/Input';\nimport ActiveContractDropdown from 'common/components/dropdowns/ActiveContractDropdown/ActiveContractDropdown';\nimport NumberInput from 'common/components/NumberInput/NumberInput';\nimport { ApiTrailerDetailsT } from 'common/store/trailers/models';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport GPSTrackingStatusAlert from 'common/components/GPSTrackingStatusAlert/GPSTrackingStatusAlert';\nimport LastGPSPositionAlert from 'common/components/LastGPSPositionAlert/LastGPSPositionAlert';\nimport { GPStatusEnum } from 'common/store/gps-tracking-status/constants';\nimport { selectGPSIsChecking, selectGPSStatus } from 'common/store/gps-tracking-status/selectors';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { selectCarrierContractById } from 'common/store/carrier-contracts/selectors';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { usePlateNumberUniqCheck } from 'common/components/AssetSidebarContent/hooks/usePlateNumberUniqCheck';\nimport useOnceShow from 'common/utils/hooks/useOnceShow';\nimport TrailerType from 'common/layouts/CommonEditableTrailerDetailsLayout/TrailerType/TrailerType';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport values from 'lodash/values';\nimport LinkedTruckAlert from 'common/layouts/CommonEditableTrailerDetailsLayout/LinkedTruckAlert/LinkedTruckAlert';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport { ApiTrailerTypeT, CountryCodeT, TrailerStatusEnum } from 'common/utils/api/models';\nimport { AlertGroup } from 'common/layouts/AlertGroup/AlertGroup';\nimport ChangeRateOrContractWarning from '../ChangeRateOrContractWarning/ChangeRateOrContractWarning';\nimport TrailerActionHistory from '../../TrailerActionHistory/TrailerActionHistory';\nimport { checkIsApiCarrierTrailerDetails } from 'common/store/trailers/type-guards';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { selectCountriesByCode } from 'common/store/countries-dict/selectors';\nimport isNumber from 'lodash/isNumber';\nimport Money from 'common/components/Money/Money';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    onSubmit: (values: FormValuesT) => void;\n    isNewTrailer: boolean;\n    isLoading: boolean;\n    trailerDetails: ApiTrailerDetailsT | null;\n    onCancel: () => void;\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n    onOpenTruckDetails: (truckId: TruckIdT) => void;\n    onOpenTrailerDetails: (trailerId: TrailerIdT) => void;\n    onOpenUserDetails: (userId: UserIdT, isBrokerUser?: boolean) => void;\n};\n\nconst DEFAULT_TRAILERS_DICT = {\n    [TrailerTypeEnum.tilt]: [],\n    [TrailerTypeEnum.box]: [],\n};\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.trailerType]: TrailerTypeEnum.tilt,\n    [FieldsEnum.trailerDictId]: null,\n    [FieldsEnum.countryCode]: null,\n    [FieldsEnum.plateNumber]: '',\n    [FieldsEnum.vin]: '',\n    [FieldsEnum.contract]: null,\n    [FieldsEnum.ratePerKm]: '',\n};\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst TrailerDetailsForm: React.FC<PropsT> = (props) => {\n    const {\n        partnerId,\n        onSubmit,\n        isNewTrailer,\n        trailerDetails,\n        isLoading,\n        onCancel,\n        setNeedCloseConfirmation,\n        onOpenTrailerDetails,\n        onOpenTruckDetails,\n        onOpenUserDetails,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const trailersDictById = useSelector(selectTrailersDictById);\n    const trailersDict = useSelector(selectTrailersDict);\n\n    const countryByCode = useSelector(selectCountriesByCode);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        return () => {\n            if (setNeedCloseConfirmation) {\n                setNeedCloseConfirmation(false);\n            }\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, { isCreation: isNewTrailer });\n    }, [t, isNewTrailer]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        let values = {\n            ...INITIAL_VALUES,\n        };\n\n        if (trailerDetails && trailersDictById) {\n            values = {\n                ...values,\n                [FieldsEnum.trailerType]: trailerDetails.dictTrailerInfo?.trailerType || values[FieldsEnum.trailerType],\n                [FieldsEnum.trailerDictId]: String(trailerDetails.dictTrailerInfo?.id),\n                [FieldsEnum.countryCode]: trailerDetails.countryCode || null,\n                [FieldsEnum.vin]: trailerDetails.vin || '',\n                [FieldsEnum.plateNumber]: trailerDetails.plateNumber || '',\n                [FieldsEnum.contract]: trailerDetails.contractId || null,\n                [FieldsEnum.ratePerKm]: String(trailerDetails.ratePerKm),\n            };\n        }\n\n        const errors = validateForm(t, values, { isCreation: isNewTrailer });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [trailerDetails, trailersDictById, isNewTrailer]);\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            onSubmit(values);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        if (hasAnyFieldValueChanges && setNeedCloseConfirmation) {\n            setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        }\n    }, [setNeedCloseConfirmation, hasAnyFieldValueChanges]);\n\n    const isCheckingGPSTracking = useSelector(selectGPSIsChecking);\n    const gpsStatus = useSelector(selectGPSStatus);\n\n    const isAllowContract = gpsStatus === GPStatusEnum.enabled || !gpsStatus;\n\n    const selectedTrailerType = formik.values[FieldsEnum.trailerType];\n\n    const availableTrailersTypes = React.useMemo(() => {\n        return Object.keys(trailersDict || DEFAULT_TRAILERS_DICT) as Array<TrailerTypeEnum>;\n    }, [trailersDict]);\n\n    const handleChangeTrailerTypeValue = React.useCallback(\n        (field: string, value: ApiTrailerTypeT): void => {\n            formik.setFieldValue(FieldsEnum.trailerType, value);\n            formik.setFieldValue(FieldsEnum.trailerDictId, null);\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [dispatch, formik],\n    );\n\n    const contractById = useSelector(selectCarrierContractById(partnerId));\n    const selectedContractId = formik.values[FieldsEnum.contract];\n    const contract = contractById[selectedContractId as string] || null;\n\n    const contractRatePerKm =\n        formik.values[FieldsEnum.trailerType] === TrailerTypeEnum.box ? contract?.boxRateKm : contract?.tiltRateKm;\n\n    const isAvailableChangeContract = isAllowContract || isCheckingGPSTracking;\n    const isAvailableChangeRate = formik.values[FieldsEnum.contract] === null;\n\n    const contractValue = formik.values[FieldsEnum.contract];\n    React.useEffect(() => {\n        if (!isAllowContract && contractValue !== null) {\n            formik.setFieldValue(FieldsEnum.contract, null);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isAllowContract, contractValue]);\n\n    const trailerDictModel = trailerDetails?.dictTrailerInfo || null;\n\n    const trailerTypeLabel = trailerDictModel\n        ? t(`common:trailers-page.add-trailer.fields.trailer.${trailerDictModel?.trailerType}.label`)\n        : '';\n\n    const plateNumber = formik.values[FieldsEnum.plateNumber];\n    const trailerPlateNumberUniqCheck = usePlateNumberUniqCheck({\n        plateNumber,\n        companyId: partnerId,\n        assetType: AssetTypeEnum.trailer,\n    });\n\n    let plateNumberAsyncError: React.ReactNode = null;\n\n    const duplicateTrailerId = trailerPlateNumberUniqCheck.duplicateId;\n    if (duplicateTrailerId) {\n        plateNumberAsyncError = (\n            <Link\n                onClick={() => {\n                    onOpenTrailerDetails(duplicateTrailerId);\n                }}\n                theme={LinkThemeEnum.boldTomatoRed}\n            >\n                {t('common:trailers-page.add-trailer.errors.not-uniq-plate-number', { plateNumber })}\n            </Link>\n        );\n    }\n\n    const isRateContract = initialValues[FieldsEnum.ratePerKm] !== formik.values[FieldsEnum.ratePerKm];\n    const isContractChanged = initialValues[FieldsEnum.contract] !== formik.values[FieldsEnum.contract];\n    const isRateOrContractChanged = isRateContract || isContractChanged;\n    const isAvailableRateOrContractWarning = !isNewTrailer;\n    const rateOrContractWarning = useOnceShow(isRateOrContractChanged);\n\n    const hasAsyncErrors = !!plateNumberAsyncError;\n\n    const isSubmitLoading = isLoading || isCheckingGPSTracking;\n\n    const isAllowShowChanges = !isNewTrailer;\n\n    const contractTooltipNode = (\n        <TooltipContent theme={TooltipContentThemeEnum.black} width={200}>\n            {t('common:trailers-page.add-trailer.fields.contract.tooltip')}\n        </TooltipContent>\n    );\n\n    const linkedTruckAlertNode = trailerDetails?.linkedTruckId ? (\n        <LinkedTruckAlert\n            plateNumber={trailerDetails?.linkedTruckPlateNumber}\n            truckId={trailerDetails.linkedTruckId}\n            onOpenTruckDetails={onOpenTruckDetails}\n        />\n    ) : null;\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('fields')}>\n                {isNewTrailer ? (\n                    <>\n                        <AlertGroup className={cx('alerts')}>{linkedTruckAlertNode}</AlertGroup>\n                        <div className={cx('field', 'field--trailer-type')}>\n                            <TrailerTypeSwitcher\n                                value={formik.values[FieldsEnum.trailerType]}\n                                name={FieldsEnum.trailerType}\n                                availableTypes={availableTrailersTypes}\n                                setFieldValue={handleChangeTrailerTypeValue}\n                            />\n                        </div>\n                        <FormikField\n                            name={FieldsEnum.trailerDictId}\n                            error={formik.errors[FieldsEnum.trailerDictId]}\n                            meta={formik.getFieldMeta(FieldsEnum.trailerDictId)}\n                            label={t(`common:trailers-page.add-trailer.fields.trailer.${selectedTrailerType}.label`)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DictTrailerDropdown\n                                    placeholder={t(\n                                        `common:trailers-page.add-trailer.fields.trailer.${selectedTrailerType}.placeholder`,\n                                    )}\n                                    selectedTrailerType={formik.values[FieldsEnum.trailerType]}\n                                    value={formik.values[FieldsEnum.trailerDictId]}\n                                    onChange={props.onChange}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasChanges={isAllowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                        {trailerDetails?.status !== TrailerStatusEnum.archived && (\n                            <GPSTrackingStatusAlert\n                                companyId={partnerId}\n                                assetType={AssetTypeEnum.trailer}\n                                plateNumber={formik.values[FieldsEnum.plateNumber]}\n                                className={cx('gps-tracking-status-alert')}\n                            />\n                        )}\n                        <FieldGroup>\n                            <FormikField\n                                className={cx('field', 'field--plate-number')}\n                                name={FieldsEnum.plateNumber}\n                                error={formik.errors[FieldsEnum.plateNumber]}\n                                meta={formik.getFieldMeta(FieldsEnum.plateNumber)}\n                                asyncError={plateNumberAsyncError}\n                                label={t('common:trailers-page.add-trailer.fields.plate-number.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.plateNumber}\n                                        value={formik.values[FieldsEnum.plateNumber]}\n                                        placeholder={t(\n                                            'common:trailers-page.add-trailer.fields.plate-number.placeholder',\n                                        )}\n                                        formatter={uppercaseFormatter}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        isLoading={trailerPlateNumberUniqCheck.requestStatus.loading}\n                                    />\n                                )}\n                            </FormikField>\n                            <FormikField\n                                className={cx('field', 'field--vin')}\n                                name={FieldsEnum.vin}\n                                error={formik.errors[FieldsEnum.vin]}\n                                meta={formik.getFieldMeta(FieldsEnum.vin)}\n                                label={t('common:trailers-page.add-trailer.fields.trailer-vin.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) => (\n                                    <Input\n                                        name={FieldsEnum.vin}\n                                        value={formik.values[FieldsEnum.vin]}\n                                        placeholder={t(\n                                            'common:trailers-page.add-trailer.fields.trailer-vin.placeholder',\n                                        )}\n                                        onChange={props.onChange}\n                                        onBlur={props.onBlur}\n                                        onFocus={props.onFocus}\n                                        hasError={props.hasError}\n                                        hasWarning={props.hasWarning}\n                                        hasChanges={isAllowShowChanges && props.hasChanges}\n                                    />\n                                )}\n                            </FormikField>\n                        </FieldGroup>\n                    </>\n                ) : (\n                    <>\n                        <AlertGroup className={cx('alerts')}>\n                            {linkedTruckAlertNode}\n                            {trailerDetails?.status !== TrailerStatusEnum.archived && (\n                                <LastGPSPositionAlert\n                                    companyId={partnerId}\n                                    assetType={AssetTypeEnum.trailer}\n                                    plateNumber={trailerDetails?.plateNumber || ''}\n                                    className={cx('last-gps-position-alert')}\n                                    isDedicated={!!trailerDetails?.contractId}\n                                />\n                            )}\n                        </AlertGroup>\n                        <TrailerType className={cx('trailer-type')} trailerType={trailerDictModel?.trailerType} />\n                        <ReadOnlyField\n                            label={trailerTypeLabel}\n                            icon={\n                                <TrailerIcon\n                                    size={20}\n                                    fillColor={StyleGuideColorsEnum.brandAccent}\n                                    strokeColor={StyleGuideColorsEnum.brandDark}\n                                />\n                            }\n                            value={\n                                trailerDictModel\n                                    ? t('common:trailer-subtype-template', {\n                                          length: trailerDictModel.length,\n                                          model: trailerDictModel.model,\n                                          eur1Pallets: trailerDictModel.eur1Pallets,\n                                          eur2Pallets: trailerDictModel.eur2Pallets,\n                                      })\n                                    : ''\n                            }\n                        />\n                        <FieldGroup>\n                            <ReadOnlyField\n                                className={cx('field', 'field--plate-number')}\n                                label={t('common:trailers-page.add-trailer.fields.plate-number.label')}\n                                value={trailerDetails?.plateNumber || ''}\n                            />\n                            <ReadOnlyField\n                                className={cx('field', 'field--vin')}\n                                label={t('common:trailers-page.add-trailer.fields.trailer-vin.label')}\n                                value={trailerDetails?.vin}\n                            />\n                        </FieldGroup>\n                    </>\n                )}\n                {isNewTrailer ? (\n                    <FormikField\n                        className={cx('field', 'field--country')}\n                        name={FieldsEnum.countryCode}\n                        error={formik.errors[FieldsEnum.countryCode]}\n                        label={t('common:trailers-page.add-trailer.fields.country.label')}\n                        meta={formik.getFieldMeta(FieldsEnum.countryCode)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryDropdown\n                                value={formik.values[FieldsEnum.countryCode]}\n                                onChange={props.onChange}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={isAllowShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                ) : (\n                    <ReadOnlyField\n                        className={cx('field', 'field--country')}\n                        icon={<FlagIcon countryCode={trailerDetails?.countryCode} />}\n                        label={t('common:trucks-page.add-truck.fields.country.label')}\n                        value={countryByCode?.[trailerDetails?.countryCode as CountryCodeT]?.userLangDisplayName}\n                    />\n                )}\n                <FieldGroup>\n                    {isAvailableChangeContract ? (\n                        <FormikField\n                            className={cx('field', 'field--contract')}\n                            name={FieldsEnum.contract}\n                            error={formik.errors[FieldsEnum.contract]}\n                            meta={formik.getFieldMeta(FieldsEnum.contract)}\n                            label={t('common:trailers-page.add-trailer.fields.contract.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                            tooltipPosition={TooltipPositionEnum.centerRight}\n                            tooltipNode={contractTooltipNode}\n                        >\n                            {(props) => (\n                                <ActiveContractDropdown\n                                    hasNoneOption\n                                    value={formik.values[FieldsEnum.contract]}\n                                    isDisabled={false}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    companyId={partnerId}\n                                    hasChanges={isAllowShowChanges && props.hasChanges}\n                                />\n                            )}\n                        </FormikField>\n                    ) : (\n                        <ReadOnlyField\n                            withInputLayout\n                            className={cx('field', 'field--contract')}\n                            label={t('common:trailers-page.add-trailer.fields.contract.label')}\n                            tooltipPosition={TooltipPositionEnum.centerRight}\n                            tooltipNode={contractTooltipNode}\n                            value={t('common:dedicated.none')}\n                        />\n                    )}\n                    {isAvailableChangeRate ? (\n                        <FormikField\n                            className={cx('field', 'field--rate')}\n                            name={FieldsEnum.ratePerKm}\n                            error={formik.errors[FieldsEnum.ratePerKm]}\n                            meta={formik.getFieldMeta(FieldsEnum.ratePerKm)}\n                            label={t('common:trailers-page.add-trailer.fields.rate.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <NumberInput\n                                    name={FieldsEnum.ratePerKm}\n                                    unitType={UnitTypeEnum.euroAbbreviation}\n                                    placeholder={t('common:trailers-page.add-trailer.fields.rate.placeholder')}\n                                    value={formik.values[FieldsEnum.ratePerKm]}\n                                    onChange={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasError={props.hasError}\n                                    hasChanges={props.hasChanges}\n                                    step={1}\n                                />\n                            )}\n                        </FormikField>\n                    ) : (\n                        <ReadOnlyField\n                            withInputLayout\n                            className={cx('field--rate')}\n                            label={t('common:trucks-page.add-truck.fields.rate.label')}\n                            value={\n                                isNumber(contractRatePerKm) ? (\n                                    <Money amount={contractRatePerKm} currency={CurrencyEnum.EUR} />\n                                ) : null\n                            }\n                        />\n                    )}\n                </FieldGroup>\n            </div>\n            <TrailerActionHistory\n                onOpenUserDetails={onOpenUserDetails}\n                createdDate={trailerDetails?.createdDate}\n                createdByBroker={checkIsApiCarrierTrailerDetails(trailerDetails) && trailerDetails?.addedByBroker}\n                createdByName={trailerDetails?.createdBy?.fullName}\n                createdById={trailerDetails?.createdBy?.id}\n                modifiedDate={trailerDetails?.lastModifiedDate}\n                modifiedByBroker={\n                    checkIsApiCarrierTrailerDetails(trailerDetails) && trailerDetails?.lastModifiedByBroker\n                }\n                modifiedByName={trailerDetails?.lastModifiedBy?.fullName}\n                modifiedById={trailerDetails?.lastModifiedBy?.id}\n            />\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            <FooterSideBarLayout\n                hasPaddings\n                topNode={\n                    <>\n                        {isAvailableRateOrContractWarning && rateOrContractWarning.isShow ? (\n                            <ChangeRateOrContractWarning\n                                className={cx('footer-warning')}\n                                onClose={rateOrContractWarning.close}\n                            />\n                        ) : null}\n                    </>\n                }\n            >\n                {isNewTrailer && (\n                    <Button\n                        theme={ButtonThemeEnum.primary}\n                        isLoading={isSubmitLoading}\n                        isDisabled={hasAsyncErrors}\n                        isFullWidth\n                        isCenterContent\n                        type=\"submit\"\n                    >\n                        {t('common:trailers-page.add-trailer.submit')}\n                    </Button>\n                )}\n                {!isNewTrailer && (\n                    <div className={cx('actions')}>\n                        <Button\n                            theme={ButtonThemeEnum.secondary}\n                            className={cx('actions__action', 'actions__action--cancel')}\n                            onClick={() => {\n                                formik.resetForm();\n                                onCancel();\n                            }}\n                        >\n                            {t('common:trailers-page.actions.discard-changes')}\n                        </Button>\n                        <Button\n                            theme={ButtonThemeEnum.primary}\n                            isLoading={isSubmitLoading}\n                            isDisabled={hasAsyncErrors}\n                            className={cx('actions__action', 'actions__action--delete')}\n                            type=\"submit\"\n                        >\n                            {t('common:trailers-page.actions.save')}\n                        </Button>\n                    </div>\n                )}\n            </FooterSideBarLayout>\n        </form>\n    );\n};\nexport default TrailerDetailsForm;\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TruckFiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Input from 'common/components/Input/Input';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { createJsonParams } from 'common/utils/query';\nimport { CommonSidebarDataT, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { TruckFiltersSidebarDataT } from 'common/layouts/SideBars/contents/TruckFiltersSidebarContent/models';\nimport { useQueryParam } from 'use-query-params';\nimport { QueryFiltersT, QueryKeysEnum } from 'common/layouts/TrucksPageLayout/query-models';\nimport { CarrierContractStatusEnum, TruckStatusEnum } from 'common/utils/api/models';\nimport TruckStatusMultipleDropdown from 'common/components/dropdowns/TruckStatusMultipleDropdown/TruckStatusMultipleDropdown';\nimport TruckModelMultipleDropdown from 'common/components/dropdowns/TruckModelMultipleDropdown/TruckModelMultipleDropdown';\nimport EmissionClassMultipleDropdown from 'common/components/dropdowns/EmissionClassMultipleDropdown/EmissionClassMultipleDropdown';\nimport ContractMultipleDropdown from 'common/components/dropdowns/ContractMultipleDropdown/ContractMultipleDropdown';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport CountryMultipleDropdown from 'common/components/dropdowns/CountryMultipleDropdown/CountryMultipleDropdown';\nimport UserMultipleDropdown from 'common/components/dropdowns/UserMultipleDropdown/UserMultipleDropdown';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<TruckFiltersSidebarDataT, CommonSidebarDataT>;\n\nconst TRUCK_EXCLUDE_STATUSES: Array<TruckStatusEnum> = [TruckStatusEnum.archived];\n\nconst EXCLUDED_STATUSES_SET = new Set([\n    CarrierContractStatusEnum.waitingForApprove,\n    CarrierContractStatusEnum.rejected,\n]);\n\nconst TruckFiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose } = props;\n    const { t } = useTranslation();\n\n    const { partnerId } = usePartnerContext();\n\n    const [queryFilters, setQueryFilters] = useQueryParam<QueryFiltersT>(\n        QueryKeysEnum.trucksFilters,\n        createJsonParams<QueryFiltersT>({}),\n    );\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const queryFilters = getQueryFilters(values);\n\n            setQueryFilters({\n                ...queryFilters,\n            });\n\n            formikHelpers.setTouched({});\n\n            if (onClose) {\n                onClose();\n            }\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values);\n    }, [initialValues, formik.values]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('common:trucks-page.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FormikField\n                    className={cx('field', 'field--truck-model')}\n                    name={FieldsEnum.model}\n                    error={formik.errors[FieldsEnum.model]}\n                    meta={formik.getFieldMeta(FieldsEnum.model)}\n                    label={t('common:trucks-page.filters.fields.truck-model.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <TruckModelMultipleDropdown\n                            values={formik.values[FieldsEnum.model]}\n                            onChange={props.onChange}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--plate-number')}\n                        name={FieldsEnum.plateNumber}\n                        error={formik.errors[FieldsEnum.plateNumber]}\n                        meta={formik.getFieldMeta(FieldsEnum.plateNumber)}\n                        label={t('common:trucks-page.filters.fields.plate-number.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <Input\n                                name={FieldsEnum.plateNumber}\n                                value={formik.values[FieldsEnum.plateNumber]}\n                                placeholder={t('common:trucks-page.filters.fields.plate-number.placeholder')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--country')}\n                        name={FieldsEnum.country}\n                        error={formik.errors[FieldsEnum.country]}\n                        meta={formik.getFieldMeta(FieldsEnum.country)}\n                        label={t('common:trucks-page.filters.fields.country.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryMultipleDropdown\n                                values={formik.values[FieldsEnum.country]}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--emission-class')}\n                        name={FieldsEnum.emissionClass}\n                        error={formik.errors[FieldsEnum.emissionClass]}\n                        meta={formik.getFieldMeta(FieldsEnum.emissionClass)}\n                        label={t('common:trucks-page.filters.fields.emission-class.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <EmissionClassMultipleDropdown\n                                values={formik.values[FieldsEnum.emissionClass]}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--status')}\n                        name={FieldsEnum.status}\n                        error={formik.errors[FieldsEnum.status]}\n                        meta={formik.getFieldMeta(FieldsEnum.status)}\n                        label={t('common:trucks-page.filters.fields.status.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <TruckStatusMultipleDropdown\n                                excludeStatuses={TRUCK_EXCLUDE_STATUSES}\n                                value={formik.values[FieldsEnum.status]}\n                                onChange={props.onChange}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--date')}\n                        name={FieldsEnum.lastTelematicUpdateDates}\n                        error={formik.errors[FieldsEnum.lastTelematicUpdateDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.lastTelematicUpdateDates)}\n                        label={t('common:trucks-page.filters.fields.telematic-update-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {t('common:trucks-page.filters.fields.telematic-update-dates.tooltip')}\n                            </TooltipContent>\n                        }\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.lastTelematicUpdateDates]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--contract')}\n                        name={FieldsEnum.contractId}\n                        error={formik.errors[FieldsEnum.contractId]}\n                        meta={formik.getFieldMeta(FieldsEnum.contractId)}\n                        label={t('common:trucks-page.filters.fields.contract.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        tooltipNode={\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                {t('common:trucks-page.filters.fields.contract.tooltip')}\n                            </TooltipContent>\n                        }\n                    >\n                        {(props) => (\n                            <ContractMultipleDropdown\n                                hasNoneOption\n                                values={formik.values[FieldsEnum.contractId]}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                onChange={(values, labels) => {\n                                    props.onChange(values);\n                                    formik.setFieldValue(FieldsEnum.contractName, labels);\n                                }}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                companyId={partnerId}\n                                hasClearControl\n                                excludedStatusesSet={EXCLUDED_STATUSES_SET}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--date')}\n                        name={FieldsEnum.createDates}\n                        error={formik.errors[FieldsEnum.createDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.createDates)}\n                        label={t('common:trucks-page.filters.fields.creation-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.createDates]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--user')}\n                        name={FieldsEnum.createdByUserId}\n                        error={formik.errors[FieldsEnum.createdByUserId]}\n                        meta={formik.getFieldMeta(FieldsEnum.createdByUserId)}\n                        label={t('common:trucks-page.filters.fields.creation-user.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <UserMultipleDropdown\n                                companyId={partnerId}\n                                initialValues={formik.values[FieldsEnum.createdByUserId]}\n                                initialLabels={formik.values[FieldsEnum.createdByUserName]}\n                                values={formik.values[FieldsEnum.createdByUserId]}\n                                onSelect={(userIds, userNames) => {\n                                    props.onChange(userIds);\n                                    formik.setFieldValue(FieldsEnum.createdByUserName, userNames);\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                                isShowAllBrokerUsersOption\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--date')}\n                        name={FieldsEnum.lastModifyDates}\n                        error={formik.errors[FieldsEnum.lastModifyDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.lastModifyDates)}\n                        label={t('common:trucks-page.filters.fields.last-modify-dates.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.lastModifyDates]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--user')}\n                        name={FieldsEnum.lastModifyByUserId}\n                        error={formik.errors[FieldsEnum.lastModifyByUserId]}\n                        meta={formik.getFieldMeta(FieldsEnum.lastModifyByUserId)}\n                        label={t('common:trucks-page.filters.fields.last-modify-user.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <UserMultipleDropdown\n                                companyId={partnerId}\n                                initialValues={formik.values[FieldsEnum.lastModifyByUserId]}\n                                initialLabels={formik.values[FieldsEnum.lastModifyByUserName]}\n                                values={formik.values[FieldsEnum.lastModifyByUserId]}\n                                onSelect={(userId, userNames) => {\n                                    props.onChange(userId);\n                                    formik.setFieldValue(FieldsEnum.lastModifyByUserName, userNames);\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                                isShowAllBrokerUsersOption\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n            </SideBarLayout>\n            <FooterSideBarLayout isTransparent hasPaddings>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('common:trucks-page.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default TruckFiltersSidebarContent;\n","import React from 'react';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames/bind';\n\nimport styles from './SideBar.scss';\nimport ContentRootContext from 'common/layouts/LeftMenuLayout/contexts/content-root-context';\nimport OutsideClickHandler from 'design-system/components/OutsideClickHandler/OutsideClickHandler';\nimport { isInsideFloatingUiPortal } from 'common/utils/floating-ui';\nimport SideBarLayoutContextWrap from '../SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport { KeyEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport enum SideBarPositionEnum {\n    left = 'left',\n    right = 'right',\n}\n\ntype PropsT = {\n    isShow: boolean;\n    isNarrow?: boolean;\n    onClose: () => void;\n    children: (closeSidebar: () => void) => React.ReactNode;\n    position?: SideBarPositionEnum;\n};\n\nconst SideBar: React.FC<PropsT> = React.memo((props) => {\n    const { children, isShow, isNarrow, onClose } = props;\n\n    const position = props.position || SideBarPositionEnum.left;\n\n    const contentRootNode = React.useContext(ContentRootContext);\n\n    const onCloseRef = React.useRef<typeof onClose>(onClose);\n    onCloseRef.current = onClose;\n\n    React.useEffect(() => {\n        const handleKeyDown = (event: KeyboardEvent): void => {\n            if (event.key === KeyEnum.escape) {\n                onCloseRef.current();\n            }\n        };\n\n        document.addEventListener('keydown', handleKeyDown);\n\n        return () => {\n            document.removeEventListener('keydown', handleKeyDown);\n        };\n    }, []);\n\n    const handleClose = React.useCallback(\n        (event: any) => {\n            if (position === SideBarPositionEnum.left) {\n                const navigationNode = document.querySelector('div[data-dismiss=\"navigation\"]');\n                if (navigationNode?.contains(event.target)) {\n                    return;\n                }\n\n                const alertToastsManagerNode = document.querySelector('div[data-dismiss=\"alert-toasts-manager\"]');\n                if (alertToastsManagerNode?.contains(event.target)) {\n                    return;\n                }\n            }\n\n            if (isInsideFloatingUiPortal(event.target)) {\n                return;\n            }\n\n            onClose();\n        },\n        [position, onClose],\n    );\n\n    if (!contentRootNode) {\n        return null;\n    }\n\n    return createPortal(\n        <OutsideClickHandler onOutsideClick={handleClose} isDisabled={!isShow}>\n            <div\n                className={cx('side-bar', {\n                    'side-bar--isShow': isShow,\n                    'side-bar--isNarrow': isNarrow,\n                    [`side-bar--position-${position}`]: true,\n                })}\n            >\n                <div className={cx('content')}>\n                    <SideBarLayoutContextWrap>{isShow ? children(onClose) : null}</SideBarLayoutContextWrap>\n                </div>\n            </div>\n        </OutsideClickHandler>,\n        contentRootNode,\n    );\n});\n\nexport default SideBar;\n","// extracted by mini-css-extract-plugin\nexport default {\"status\":\"AddressWidgetHeaderActions__status___Zuc7S\",\"copy\":\"AddressWidgetHeaderActions__copy___vKocc\",\"fadeIn\":\"AddressWidgetHeaderActions__fadeIn___JRRvN\",\"blinking\":\"AddressWidgetHeaderActions__blinking___EUXiT\"};","// extracted by mini-css-extract-plugin\nexport default {\"asset-tooltip\":\"AssetPickUpLocationPin__asset-tooltip_____vPM\",\"fadeIn\":\"AssetPickUpLocationPin__fadeIn___koZ3E\",\"blinking\":\"AssetPickUpLocationPin__blinking___mf1eu\"};","import {\n    AsyncRequestFactoryT,\n    useAsyncInitOptionsRequest,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-init-options-request';\nimport { useCallback } from 'react';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { TranziitApiResultT } from 'common/utils/api/tranziit/base-tranziit-api';\nimport {\n    BrokerPartnersSuggestOptionT,\n    BrokerPartnersSuggestValueT,\n} from 'broker-admin/components/dropdowns/BrokerPartnersSuggest/BrokerPartnersSuggest';\nimport { isNonNil } from 'common/utils';\n\nexport const useInitBrokerPartnersSuggestOptions = (partnerIds: Array<BrokerPartnersSuggestValueT> | null) => {\n    const initRequestFactory: AsyncRequestFactoryT<BrokerPartnersSuggestOptionT> = useCallback(async () => {\n        if (!partnerIds?.length) {\n            return [null, null];\n        }\n\n        const promises = partnerIds.filter(isNonNil).map((partnerId) => {\n            return brokerTranziitApi.fetchPartnerDetails(partnerId);\n        });\n\n        const results = await Promise.all(promises);\n\n        const resultOptions =\n            results?.reduce<Array<BrokerPartnersSuggestOptionT>>((acc, [, data]) => {\n                const id = data?.id || null;\n                if (!id || !data) {\n                    return acc;\n                }\n\n                // convert entity\n                acc.push({\n                    ...data,\n                    id,\n                });\n\n                return acc;\n            }, []) || [];\n\n        const result: TranziitApiResultT<Array<BrokerPartnersSuggestOptionT>> = [null, resultOptions];\n\n        return result;\n    }, [partnerIds]);\n\n    const { initOptions, initRequestStatus, onUpdateInitOptions } =\n        useAsyncInitOptionsRequest<BrokerPartnersSuggestOptionT>({\n            initRequestFactory,\n        });\n\n    return {\n        initOptions,\n        initRequestStatus,\n        onUpdateInitOptions,\n    };\n};\n","import { put, takeEvery } from 'redux-saga/effects';\nimport { changeRFQBegin, changeRFQError, changeRFQSuccess } from './actions';\nimport { CLOSE_RFQ, CloseRFQActionT } from './types';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { rfqsRefreshChannel } from 'common/store/rfqs/channels';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\n\nfunction* closeRFQSaga(action: CloseRFQActionT): WrapGeneratorT<void> {\n    const { id } = action;\n\n    yield put(changeRFQBegin(id));\n\n    const [error]: ReturnApiT<typeof commonTranziitApi.closeRFQ> = yield commonTranziitApi.closeRFQ(id);\n    if (error) {\n        yield put(changeRFQError(id, error));\n        return;\n    }\n\n    yield put(changeRFQSuccess(id));\n\n    yield put(\n        addAlert(\n            new CommonAnyAlert({\n                type: CommonAlertTypeEnum.rfqSuccessfulClosed,\n                data: {},\n            }),\n        ),\n    );\n\n    rfqsRefreshChannel.emit({});\n}\n\nfunction* rfqsChangesSaga(): WrapGeneratorT<void> {\n    yield takeEvery([CLOSE_RFQ], closeRFQSaga);\n}\n\nexport default rfqsChangesSaga;\n","import * as React from 'react';\nimport TourStatusPill from 'common/components/status-pill/TourStatusPill/TourStatusPill';\nimport { BrokerTourShortT } from 'broker-admin/store/broker-tours/models';\n\ntype PropsT = {\n    brokerTourShort?: BrokerTourShortT | null;\n};\n\nconst StatusCell: React.FC<PropsT> = React.memo(({ brokerTourShort }) => {\n    return <TourStatusPill status={brokerTourShort?.status} isSymmetrical />;\n});\n\nexport default StatusCell;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './AssignOptionLabel.scss';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport getUtilizationColor from 'common/utils/get-utilization-color';\nimport { useTranslation } from 'react-i18next';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport isNil from 'lodash/isNil';\nimport AssetLinkIcon from 'common/icons/AssetLinkIcon';\nimport Link, { LinkSizeEnum, LinkThemeEnum } from 'common/components/Link/Link';\nimport { AssetAssignmentInfoT } from 'common/utils/assignment';\nimport { ApiTruckRateModeT, TruckRateModeEnum } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    assetId: string;\n    model?: string;\n    plateNumber?: string;\n    price?: string;\n    rateMode: ApiTruckRateModeT | null;\n    assetUtilizationPercent: number | null | undefined;\n    isAssetUtilizationLoading: boolean;\n    carrierUtilizationPercent: number | null;\n    isCarrierUtilizationLoading: boolean;\n    isInvalid?: boolean;\n    linkedAsset: AssetAssignmentInfoT | null;\n    onSelectLink: (assetId: AssetIdT) => void;\n    onCloseOverlay?: () => void;\n};\n\nconst rateModeI18nMap: Record<ApiTruckRateModeT, string> = {\n    [TruckRateModeEnum.brutto]: 'assignment.rate-mode.brutto',\n    [TruckRateModeEnum.netto]: 'assignment.rate-mode.netto',\n};\n\nconst AssignOptionLabel: React.FC<PropsT> = React.memo((props) => {\n    const {\n        assetId,\n        model,\n        plateNumber,\n        price,\n        rateMode,\n        assetUtilizationPercent,\n        isAssetUtilizationLoading,\n        carrierUtilizationPercent,\n        isCarrierUtilizationLoading,\n        isInvalid,\n        linkedAsset,\n        onSelectLink,\n        onCloseOverlay,\n    } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <div\n            className={cx('option', {\n                'option--is-invalid': !!isInvalid,\n            })}\n        >\n            <div className={cx('asset')}>\n                <div className={cx('asset-column')}>\n                    <div className={cx('model-and-plate-number')}>\n                        {[plateNumber, model].filter(Boolean).join(' / ')}\n                    </div>\n                    <div className={cx('price')}>\n                        {price || ''}\n                        {!!rateMode && <span className={cx('rate-mode')}>({t(rateModeI18nMap[rateMode])})</span>}\n                    </div>\n                </div>\n                <div className={cx('asset-column')}>\n                    <div className={cx('utilization')}>\n                        {!isNil(assetUtilizationPercent) && (\n                            <>\n                                <HollowCircleIcon borderColor={getUtilizationColor(assetUtilizationPercent)} />\n                                <div className={cx('utilization__label')}>\n                                    {t('assignment.asset-utilization', { percent: assetUtilizationPercent })}\n                                </div>\n                            </>\n                        )}\n                        {isNil(assetUtilizationPercent) && isAssetUtilizationLoading && (\n                            <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n                        )}\n                    </div>\n                    <div className={cx('utilization')}>\n                        {carrierUtilizationPercent !== null && (\n                            <>\n                                <HollowCircleIcon borderColor={getUtilizationColor(carrierUtilizationPercent)} />\n                                <div className={cx('utilization__label')}>\n                                    {t('assignment.carrier-utilization', { percent: carrierUtilizationPercent })}\n                                </div>\n                            </>\n                        )}\n                        {carrierUtilizationPercent === null && isCarrierUtilizationLoading && (\n                            <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n                        )}\n                    </div>\n                </div>\n            </div>\n            {linkedAsset && (\n                <div className={cx('link')}>\n                    <div className={cx('link__inner')}>\n                        <AssetLinkIcon\n                            strokeColor={StyleGuideColorsEnum.orange}\n                            size={DEFAULT_ICON_SIZE}\n                            className={cx('link__icon')}\n                        />\n                        <div className={cx('link__text')}>\n                            {[linkedAsset.plateNumber, linkedAsset.model].filter(Boolean).join(' / ')}\n                        </div>\n                        <Link\n                            className={cx('link__trigger')}\n                            size={LinkSizeEnum.extraSmall}\n                            isUppercase\n                            onClick={(event) => {\n                                event.stopPropagation();\n\n                                onSelectLink(assetId);\n\n                                if (onCloseOverlay) {\n                                    onCloseOverlay();\n                                }\n                            }}\n                            theme={LinkThemeEnum.boldBrandDark}\n                        >\n                            {t('assignment.assign-full-train')}\n                        </Link>\n                        {!isNil(linkedAsset.utilization) && (\n                            <div className={cx('utilization')}>\n                                <HollowCircleIcon borderColor={getUtilizationColor(linkedAsset.utilization)} />\n                                <div className={cx('utilization__label')}>\n                                    {t('assignment.asset-utilization', { percent: linkedAsset.utilization })}\n                                </div>\n                            </div>\n                        )}\n                    </div>\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default AssignOptionLabel;\n","import {\n    FETCH_SPOT_REQUEST_DETAILS_REQUEST_BEGIN,\n    FETCH_SPOT_REQUEST_DETAILS_REQUEST_ERROR,\n    FETCH_SPOT_REQUEST_DETAILS_REQUEST_SUCCESS,\n    SpotRequestDetailsActionT,\n    SpotRequestDetailsByIdStateT,\n    SpotRequestDetailsStateT,\n    UPDATE_SPOT_REQUEST_REQUEST_BEGIN,\n    UPDATE_SPOT_REQUEST_REQUEST_ERROR,\n    UPDATE_SPOT_REQUEST_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: SpotRequestDetailsByIdStateT = {};\n\nexport const initialSpotRequestDetailsState: SpotRequestDetailsStateT = {\n    details: null,\n    fetchDetailsRequestStatus: requestStatus.initial,\n    updateRequestStatus: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: SpotRequestDetailsActionT | DestroySessionActionT,\n): SpotRequestDetailsByIdStateT => {\n    switch (action.type) {\n        case FETCH_SPOT_REQUEST_DETAILS_REQUEST_BEGIN: {\n            const { id } = action;\n\n            const spotRequestDetailsState = state[id] || initialSpotRequestDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...spotRequestDetailsState,\n                    fetchDetailsRequestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_SPOT_REQUEST_DETAILS_REQUEST_ERROR: {\n            const { error, id } = action;\n\n            const spotRequestDetailsState = state[id] || initialSpotRequestDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...spotRequestDetailsState,\n                    fetchDetailsRequestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_SPOT_REQUEST_DETAILS_REQUEST_SUCCESS: {\n            const { details, id } = action;\n\n            const spotRequestDetailsState = state[id] || initialSpotRequestDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...spotRequestDetailsState,\n                    fetchDetailsRequestStatus: requestStatus.ok,\n                    details,\n                },\n            };\n        }\n\n        case UPDATE_SPOT_REQUEST_REQUEST_BEGIN: {\n            const { id } = action;\n\n            const spotRequestDetailsState = state[id] || initialSpotRequestDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...spotRequestDetailsState,\n                    updateRequestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case UPDATE_SPOT_REQUEST_REQUEST_ERROR: {\n            const { error, id } = action;\n\n            const spotRequestDetailsState = state[id] || initialSpotRequestDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...spotRequestDetailsState,\n                    updateRequestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPDATE_SPOT_REQUEST_REQUEST_SUCCESS: {\n            const { id } = action;\n\n            const spotRequestDetailsState = state[id] || initialSpotRequestDetailsState;\n\n            return {\n                ...state,\n                [id]: {\n                    ...spotRequestDetailsState,\n                    updateRequestStatus: requestStatus.ok,\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    borderColor: StyleGuideColorsEnum;\n    size?: number;\n    className?: string;\n};\n\nconst HollowCircleIcon: React.FC<PropsT> = (props) => {\n    const { borderColor, className } = props;\n\n    const size = props.size || DEFAULT_ICON_SIZE;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <path\n                fill={borderColor}\n                fillRule=\"evenodd\"\n                d=\"M10 13a3 3 0 100-6 3 3 0 000 6zm0 2a5 5 0 11.001-10.001A5 5 0 0110 15z\"\n            />\n        </svg>\n    );\n};\n\nHollowCircleIcon.displayName = 'HollowCircleIcon';\n\nconst storyProps: PropsT = {\n    borderColor: StyleGuideColorsEnum.charcoal,\n};\n\nexport { storyProps };\nexport default HollowCircleIcon;\n","import {\n    FETCH_CARRIER_CONTRACT_DETAILS_REQUEST,\n    FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_BEGIN,\n    FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_ERROR,\n    FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_SUCCESS,\n    FetchCarrierContractDetailsActionT,\n    FetchCarrierContractDetailsBeginActionT,\n    FetchCarrierContractDetailsErrorActionT,\n    FetchCarrierContractDetailsSuccessActionT,\n} from './types';\nimport { PartnerContractDetailsT } from './models';\n\nexport const fetchCarrierContractDetails = (\n    partnerId: PartnerIdT,\n    contractId: CarrierContractIdT,\n    options?: FetchOptionsT,\n): FetchCarrierContractDetailsActionT => ({\n    type: FETCH_CARRIER_CONTRACT_DETAILS_REQUEST,\n    partnerId,\n    contractId,\n    options,\n});\n\nexport const fetchCarrierContractDetailsBegin = (\n    contractId: CarrierContractIdT,\n): FetchCarrierContractDetailsBeginActionT => ({\n    type: FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_BEGIN,\n    contractId,\n});\n\nexport const fetchCarrierContractDetailsSuccess = (\n    contractId: CarrierContractIdT,\n    contractDetails: PartnerContractDetailsT | null,\n): FetchCarrierContractDetailsSuccessActionT => ({\n    type: FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_SUCCESS,\n    contractId,\n    contractDetails,\n});\n\nexport const fetchCarrierContractDetailsError = (\n    contractId: CarrierContractIdT,\n    error: Error,\n): FetchCarrierContractDetailsErrorActionT => ({\n    type: FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_ERROR,\n    error,\n    contractId,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"alert\":\"AlertToastsManager__alert___CgblJ\",\"fadeIn\":\"AlertToastsManager__fadeIn___b6AuF\",\"blinking\":\"AlertToastsManager__blinking___AmuKy\"};","/** Portal container node created by `FloatingPortal` from `@floating-ui/react`. */\nexport const FLOATING_UI_PORTAL_SELECTOR = '[data-floating-ui-portal]' as const;\n\nexport function isInsideFloatingUiPortal(node: EventTarget | null): boolean {\n    return node instanceof Element && !!node.closest(FLOATING_UI_PORTAL_SELECTOR);\n}\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DateLinkTrigger.scss';\nimport LinkButton, { LinkButtonHeightEnum, LinkButtonThemeEnum } from 'common/components/LinkButton/LinkButton';\nimport { CalendarDateRangeValueT, CalendarDateValueT } from 'design-system/components/Calendar/Calendar';\nimport { formatDate } from 'common/utils/time';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype BasePropsT = {\n    isDisabled?: boolean;\n    placeholder?: React.ReactNode;\n    dateFormat?: string;\n    onClick?: () => void;\n    className?: string;\n    leftIcon?: React.ReactNode;\n    rightIcon?: React.ReactNode;\n};\n\nexport type DateLinkTriggerPropsT = {\n    isRange?: false;\n    value: CalendarDateValueT;\n};\n\nexport type DateLinkTriggerRangePropsT = {\n    isRange: true;\n    value: CalendarDateRangeValueT;\n};\n\nexport type DateInputPropsT = (BasePropsT & DateLinkTriggerPropsT) | (BasePropsT & DateLinkTriggerRangePropsT);\n\nconst DATES_SEPARATOR = ' - ';\n\nconst formatDateValue = (value: CalendarDateValueT, format: string): string | null => {\n    return formatDate(format, value);\n};\n\nconst formatDateRangeValue = (value: CalendarDateRangeValueT, format: string): string | null => {\n    const startDate = formatDate(format, value?.from);\n    const endDate = formatDate(format, value?.to);\n\n    if (!startDate && !endDate) {\n        return '';\n    }\n\n    return [startDate || '', startDate ? DATES_SEPARATOR : '', endDate || ''].join('');\n};\n\nconst checkIsEmptyDateValue = (value: CalendarDateValueT): boolean => {\n    return !value;\n};\n\nconst checkIsEmptyDateRangeValue = (value: CalendarDateRangeValueT): boolean => {\n    return !value?.from && !value?.to;\n};\n\nconst DEFAULT_DATE_FORMAT = 'DD MMM YYYY';\nconst DEFAULT_PLACEHOLDER = ' - ';\n\n/* eslint-disable react/destructuring-assignment */\nconst DateLinkTrigger: React.FC<DateInputPropsT> = (props) => {\n    const { className, onClick, placeholder, leftIcon, rightIcon, isDisabled } = props;\n\n    const dateFormat = props.dateFormat || DEFAULT_DATE_FORMAT;\n\n    const isEmpty = props.isRange ? checkIsEmptyDateRangeValue(props.value) : checkIsEmptyDateValue(props.value);\n    const formattedValue = props.isRange\n        ? formatDateRangeValue(props.value, dateFormat)\n        : formatDateValue(props.value, dateFormat);\n\n    const label = isEmpty ? placeholder || DEFAULT_PLACEHOLDER : formattedValue;\n\n    return (\n        <LinkButton\n            isDisabled={isDisabled}\n            className={className}\n            leftIcon={leftIcon}\n            rightIcon={rightIcon}\n            theme={LinkButtonThemeEnum.brandDark}\n            height={LinkButtonHeightEnum.narrow}\n            onClick={onClick}\n        >\n            {label}\n        </LinkButton>\n    );\n};\n\nexport default DateLinkTrigger;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport Alert, { AlertSizeEnum, AlertThemeEnum } from 'common/components/Alert/Alert';\n\nimport SnowflakeIcon from 'common/icons/SnowflakeIcon';\n\nexport type PropsT = {\n    className?: string;\n    children?: React.ReactNode;\n};\n\nconst ViolationTemperatureAlert: React.FC<PropsT> = React.memo(({ className, children }) => {\n    return (\n        <Alert\n            icon={<SnowflakeIcon fillColor={StyleGuideColorsEnum.white} />}\n            size={AlertSizeEnum.small}\n            theme={AlertThemeEnum.tomatoRed}\n            className={className}\n        >\n            {children}\n        </Alert>\n    );\n});\n\nexport default ViolationTemperatureAlert;\n","import requestStatus from 'common/utils/request-status';\nimport {\n    CarrierSuggestActionT,\n    CarrierSuggestStateT,\n    FIND_CARRIERS_REQUEST_BEGIN,\n    FIND_CARRIERS_REQUEST_ERROR,\n    FIND_CARRIERS_REQUEST_SUCCESS,\n    RESET,\n} from './types';\nimport { PartnerT } from 'common/store/carrier-suggest/models';\nimport { isNonNil } from 'common/utils';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: CarrierSuggestStateT = {\n    query: null,\n    requestStatus: requestStatus.initial,\n    ids: [],\n    byId: {},\n};\n\nexport default (state = initialState, action: CarrierSuggestActionT | DestroySessionActionT): CarrierSuggestStateT => {\n    switch (action.type) {\n        case FIND_CARRIERS_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                query,\n                requestStatus: requestStatus.loading,\n            };\n        }\n\n        case FIND_CARRIERS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                requestStatus: requestStatus.setError(error),\n            };\n        }\n\n        case FIND_CARRIERS_REQUEST_SUCCESS: {\n            const { partners } = action;\n\n            const byId = partners.reduce<Record<string, PartnerT>>((acc, partner) => {\n                if (!partner?.id) {\n                    return acc;\n                }\n\n                return {\n                    ...acc,\n                    [partner.id]: {\n                        ...partner,\n                    },\n                };\n            }, {});\n\n            const ids = partners.map((partner) => partner.id).filter(isNonNil);\n\n            return {\n                ...state,\n                requestStatus: requestStatus.ok,\n                ids,\n                byId,\n            };\n        }\n\n        case DESTROY_SESSION:\n        case RESET: {\n            return {\n                ...initialState,\n            };\n        }\n\n        default:\n            return state;\n    }\n};\n","import 'common/base';\n\nimport './locales/i18n';\n\nimport * as React from 'react';\nimport { render } from 'react-dom';\n\nimport App from './layouts/App/App';\n\nconst rootNode = document.getElementById('root');\n\nrender(<App />, rootNode);\n","import * as React from 'react';\nimport { ApiAttachPapersUnavailableReasonT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    reason: ApiAttachPapersUnavailableReasonT | null;\n};\n\nexport const ATTACH_PAPERS_UNAVAILABLE_REASON_MAP_T: Record<ApiAttachPapersUnavailableReasonT, string> = {\n    TYPE_IS_TRAILER: 'common:papers-card.attach-papers-unavailable-reason.TYPE_IS_TRAILER',\n    TO_IS_DONE: 'common:papers-card.attach-papers-unavailable-reason.TO_IS_DONE',\n    TO_IS_CANCELED: 'common:papers-card.attach-papers-unavailable-reason.TO_IS_CANCELED',\n};\n\nconst AttachPapersUnavailableReasonLabel: React.FC<PropsT> = React.memo((props) => {\n    const { reason } = props;\n    const { t } = useTranslation();\n\n    if (!reason) {\n        return null;\n    }\n\n    return <span>{t(ATTACH_PAPERS_UNAVAILABLE_REASON_MAP_T[reason])}</span>;\n});\n\nexport default AttachPapersUnavailableReasonLabel;\n","import React, { useMemo } from 'react';\nimport { MapRoutePointT, SyncAssignmentFormMapStateContextValueT } from '../contexts/sync-map-state';\n\nexport const usySyncMapStateContextValue = (): SyncAssignmentFormMapStateContextValueT => {\n    const [onSetMapBoundingBox, setOnSetMapBoundingBox] =\n        React.useState<SyncAssignmentFormMapStateContextValueT['onSetMapBoundingBox']>(null);\n    const [onMapClickCallback, setOnMapClickCallback] =\n        React.useState<SyncAssignmentFormMapStateContextValueT['onMapClickCallback']>(null);\n    const [onDragEndDnDCallback, setOnDragEndDnDCallback] =\n        React.useState<SyncAssignmentFormMapStateContextValueT['onDragEndDnDCallback']>(null);\n    const [mapRoutePoints, setMapRoutePoints] = React.useState<Array<MapRoutePointT>>([]);\n\n    return useMemo(() => {\n        return {\n            onSetMapBoundingBox,\n            setOnSetMapBoundingBox,\n\n            mapRoutePoints,\n            setMapRoutePoints,\n\n            onMapClickCallback,\n            setOnMapClickCallback,\n\n            onDragEndDnDCallback,\n            setOnDragEndDnDCallback,\n        };\n    }, [\n        onSetMapBoundingBox,\n        setOnSetMapBoundingBox,\n\n        mapRoutePoints,\n        setMapRoutePoints,\n\n        onMapClickCallback,\n        setOnMapClickCallback,\n\n        onDragEndDnDCallback,\n        setOnDragEndDnDCallback,\n    ]);\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst OptionsIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, fillColor, ...restProps } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} {...restProps}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M0 0h20v20H0z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M15 5h3.333v9.167H15V5zM5.833 15.833h8.334v-12.5H5.833v12.5zM7.5 5h5v9.167h-5V5zM1.667 5H5v9.167H1.667V5z\"\n                />\n                <path fill={fillColor} d=\"M7.5 5h5v9.167h-5z\" />\n            </g>\n        </svg>\n    );\n};\n\nOptionsIcon.displayName = 'OptionsIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.slate,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default OptionsIcon;\n","import { SharableStateT } from 'common/store/models';\nimport { initialRoutingGeometryState } from './slice';\nimport { RoutingGeometrySliceT } from './types';\n\nexport const selectRoutingGeometryState =\n    (polylineId: PolylineIdT | null | undefined) =>\n    (state: SharableStateT): RoutingGeometrySliceT => {\n        if (!polylineId) {\n            return initialRoutingGeometryState;\n        }\n\n        return state.routingGeometry[polylineId] || initialRoutingGeometryState;\n    };\n\nexport const selectRoutingGeometryStates =\n    (polylineIds: Array<PolylineIdT>) =>\n    (state: SharableStateT): Array<RoutingGeometrySliceT> => {\n        return polylineIds.map((polylineId) => {\n            if (!polylineId) {\n                return initialRoutingGeometryState;\n            }\n\n            return state.routingGeometry[polylineId] || initialRoutingGeometryState;\n        });\n    };\n","import { ApiSystemSettingsT } from 'common/utils/api/models';\nimport { ApiSpotSystemSettingsT } from 'broker-admin/utils/api/spot-broker-tranziit/models';\n\nexport type SystemSettingsT = ApiSystemSettingsT & ApiSpotSystemSettingsT;\n\nexport type SystemSettingsChangesT = Partial<SystemSettingsT>;\n\nexport enum ServiceFeeTypeEnum {\n    percent = 'false',\n    fixed = 'true',\n}\n\nexport enum PricingTypeEnum {\n    rateMatrix = 'RATE_MATRIX',\n    mlBased = 'ML_BASED',\n    combined = 'COMBINED',\n}\n\nexport enum AssigmentTypeEnum {\n    basic = 'BASIC',\n}\n\nexport enum BooleanSettingValueEnum {\n    true = 'true',\n    false = 'false',\n}\n","import {\n    APPROVE_CARRIER_CONTRACT_REQUEST,\n    ApproveCarrierContractActionT,\n    DOWNLOAD_CARRIER_CONTRACT_REQUEST,\n    DOWNLOAD_CARRIER_CONTRACT_REQUEST_BEGIN,\n    DOWNLOAD_CARRIER_CONTRACT_REQUEST_ERROR,\n    DOWNLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS,\n    DownloadCarrierContractActionT,\n    DownloadCarrierContractBeginActionT,\n    DownloadCarrierContractErrorActionT,\n    DownloadCarrierContractSuccessActionT,\n    FETCH_CARRIER_CONTRACTS_REQUEST,\n    FETCH_CARRIER_CONTRACTS_REQUEST_BEGIN,\n    FETCH_CARRIER_CONTRACTS_REQUEST_ERROR,\n    FETCH_CARRIER_CONTRACTS_REQUEST_SUCCESS,\n    FetchCarrierContractsActionT,\n    FetchCarrierContractsBeginActionT,\n    FetchCarrierContractsErrorActionT,\n    FetchCarrierContractsSuccessActionT,\n    REJECT_CARRIER_CONTRACT_REQUEST,\n    RejectCarrierContractActionT,\n    REVOKE_CARRIER_CONTRACT_REQUEST,\n    RevokeCarrierContractActionT,\n    UPDATE_CARRIER_CONTRACT_REQUEST,\n    UPDATE_CARRIER_CONTRACT_REQUEST_BEGIN,\n    UPDATE_CARRIER_CONTRACT_REQUEST_ERROR,\n    UPDATE_CARRIER_CONTRACT_REQUEST_SUCCESS,\n    UpdateCarrierContractActionT,\n    UpdateCarrierContractBeginActionT,\n    UpdateCarrierContractErrorActionT,\n    UpdateCarrierContractSuccessActionT,\n    UPLOAD_CARRIER_CONTRACT_REQUEST,\n    UPLOAD_CARRIER_CONTRACT_REQUEST_BEGIN,\n    UPLOAD_CARRIER_CONTRACT_REQUEST_ERROR,\n    UPLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS,\n    UploadCarrierContractActionT,\n    UploadCarrierContractBeginActionT,\n    UploadCarrierContractErrorActionT,\n    UploadCarrierContractSuccessActionT,\n} from './types';\nimport { ContractDetailsChangesT, PartnerContractT } from './models';\nimport { ApiRevokePartnerContractInfoT } from 'common/utils/api/models';\n\nexport const fetchCarrierContracts = (\n    partnerId: PartnerIdT,\n    options?: FetchOptionsT,\n): FetchCarrierContractsActionT => ({\n    type: FETCH_CARRIER_CONTRACTS_REQUEST,\n    partnerId,\n    options,\n});\n\nexport const fetchCarrierContractsBegin = (partnerId: PartnerIdT): FetchCarrierContractsBeginActionT => ({\n    type: FETCH_CARRIER_CONTRACTS_REQUEST_BEGIN,\n    partnerId,\n});\n\nexport const fetchCarrierContractsSuccess = (\n    partnerId: PartnerIdT,\n    partnerContracts: Array<PartnerContractT>,\n): FetchCarrierContractsSuccessActionT => ({\n    type: FETCH_CARRIER_CONTRACTS_REQUEST_SUCCESS,\n    partnerId,\n    partnerContracts,\n});\n\nexport const fetchCarrierContractsError = (partnerId: PartnerIdT, error: Error): FetchCarrierContractsErrorActionT => ({\n    type: FETCH_CARRIER_CONTRACTS_REQUEST_ERROR,\n    error,\n    partnerId,\n});\n\nexport const revokeCarrierContract = ({\n    partnerId,\n    contractId,\n    revokeInfo,\n}: {\n    partnerId: PartnerIdT;\n    contractId: CarrierContractIdT;\n    revokeInfo: ApiRevokePartnerContractInfoT;\n}): RevokeCarrierContractActionT => ({\n    type: REVOKE_CARRIER_CONTRACT_REQUEST,\n    revokeInfo,\n    contractId,\n    partnerId,\n});\n\nexport const approveCarrierContract = ({\n    partnerId,\n    contractId,\n    contractChanges,\n}: {\n    partnerId: PartnerIdT;\n    contractId: CarrierContractIdT;\n    contractChanges: ContractDetailsChangesT;\n}): ApproveCarrierContractActionT => ({\n    type: APPROVE_CARRIER_CONTRACT_REQUEST,\n    partnerId,\n    contractId,\n    contractChanges,\n});\n\nexport const rejectCarrierContract = ({\n    partnerId,\n    contractId,\n    reason,\n}: {\n    partnerId: PartnerIdT;\n    contractId: CarrierContractIdT;\n    reason: string;\n}): RejectCarrierContractActionT => ({\n    type: REJECT_CARRIER_CONTRACT_REQUEST,\n    reason,\n    contractId,\n    partnerId,\n});\n\nexport const updateCarrierContract = ({\n    partnerId,\n    contractId,\n    contractChanges,\n}: {\n    partnerId: PartnerIdT;\n    contractId: CarrierContractIdT;\n    contractChanges: ContractDetailsChangesT;\n}): UpdateCarrierContractActionT => ({\n    type: UPDATE_CARRIER_CONTRACT_REQUEST,\n    contractChanges,\n    contractId,\n    partnerId,\n});\n\nexport const updateCarrierContractBegin = (\n    partnerId: PartnerIdT,\n    updatingContractId: CarrierContractIdT | null,\n): UpdateCarrierContractBeginActionT => ({\n    type: UPDATE_CARRIER_CONTRACT_REQUEST_BEGIN,\n    partnerId,\n    updatingContractId,\n});\n\nexport const updateCarrierContractSuccess = (partnerId: PartnerIdT): UpdateCarrierContractSuccessActionT => ({\n    type: UPDATE_CARRIER_CONTRACT_REQUEST_SUCCESS,\n    partnerId,\n});\n\nexport const updateCarrierContractError = (partnerId: PartnerIdT, error: Error): UpdateCarrierContractErrorActionT => ({\n    type: UPDATE_CARRIER_CONTRACT_REQUEST_ERROR,\n    error,\n    partnerId,\n});\n\nexport const uploadCarrierContract = (partnerId: PartnerIdT, file: File): UploadCarrierContractActionT => ({\n    type: UPLOAD_CARRIER_CONTRACT_REQUEST,\n    file,\n    partnerId,\n});\n\nexport const uploadCarrierContractBegin = (partnerId: PartnerIdT): UploadCarrierContractBeginActionT => ({\n    type: UPLOAD_CARRIER_CONTRACT_REQUEST_BEGIN,\n    partnerId,\n});\n\nexport const uploadCarrierContractSuccess = (partnerId: PartnerIdT): UploadCarrierContractSuccessActionT => ({\n    type: UPLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS,\n    partnerId,\n});\n\nexport const uploadCarrierContractError = (error: Error, partnerId: PartnerIdT): UploadCarrierContractErrorActionT => ({\n    type: UPLOAD_CARRIER_CONTRACT_REQUEST_ERROR,\n    error,\n    partnerId,\n});\n\nexport const downloadCarrierContract = (\n    contractId: CarrierContractIdT,\n    partnerId: PartnerIdT,\n): DownloadCarrierContractActionT => ({\n    type: DOWNLOAD_CARRIER_CONTRACT_REQUEST,\n    contractId,\n    partnerId,\n});\n\nexport const downloadCarrierContractBegin = (partnerId: PartnerIdT): DownloadCarrierContractBeginActionT => ({\n    type: DOWNLOAD_CARRIER_CONTRACT_REQUEST_BEGIN,\n    partnerId,\n});\n\nexport const downloadCarrierContractSuccess = (partnerId: PartnerIdT): DownloadCarrierContractSuccessActionT => ({\n    type: DOWNLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS,\n    partnerId,\n});\n\nexport const downloadCarrierContractError = (\n    error: Error,\n    partnerId: PartnerIdT,\n): DownloadCarrierContractErrorActionT => ({\n    type: DOWNLOAD_CARRIER_CONTRACT_REQUEST_ERROR,\n    error,\n    partnerId,\n});\n","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\n\nconst validate = (\n    t: TFunction,\n    values: FormValuesT,\n    { isShowExpirationDate }: { isShowExpirationDate: boolean },\n): FormErrorsT => {\n    let errors: FormErrorsT = {};\n\n    if (isShowExpirationDate) {\n        errors = {\n            ...errors,\n            ...checkNotEmpty(t, [FieldsEnum.expiration], values),\n        };\n    }\n\n    return errors;\n};\n\nexport default validate;\n","import React from 'react';\n\nimport moment from 'moment';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './TwinDatePicker.scss';\n/* eslint-disable import/no-unresolved */\nimport Calendar, { CalendarDateRangeValuePropsT } from 'design-system/components/Calendar/Calendar';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport DateInputTrigger from 'design-system/components/date-pickers/internals/DateInputTrigger/DateInputTrigger';\nimport DatePickerOverlay, { DatePickerOverlayPositionEnum } from '../internals/DatePickerOverlay/DatePickerOverlay';\nimport useTestSelector from 'common/utils/hooks/useTestSelector';\n\nconst cx = classNames.bind(styles);\n\nexport type IconMetaT = {\n    isLoading: boolean;\n    isDisabled: boolean;\n    isFocused: boolean;\n    hasError: boolean;\n    hasWarning: boolean;\n    hasSuccess: boolean;\n    isHighlighted: boolean;\n    hasValue: boolean;\n};\n\nexport type TwinDateBasePropsT = {\n    name?: string;\n    placeholder?: string;\n    isDisabled?: boolean;\n    minDate?: string;\n    maxDate?: string;\n    overlayPosition?: DatePickerOverlayPositionEnum;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasYearMonthForm?: boolean;\n    autoComplete?: string;\n    testSelectorPrefix?: string;\n    hasChanges?: boolean;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    inputClassName?: string;\n    className?: string;\n    renderLeftIcon?: (iconMeta: IconMetaT) => React.ReactNode;\n    hasClearControl?: boolean;\n    isTransparent?: boolean;\n};\n\nexport type TwinDatePickerPropsT = TwinDateBasePropsT & {\n    value: CalendarDateRangeValuePropsT['value'];\n    initialValue?: CalendarDateRangeValuePropsT['initialValue'];\n    // eslint-disable-next-line react/no-unused-prop-types\n    focusInitialDate?: CalendarDateRangeValuePropsT['focusInitialDate'];\n    onChange: CalendarDateRangeValuePropsT['onChange'];\n};\n\nconst ISO_DATE_FORMAT = 'YYYY-MM-DD';\n\nconst ENTER_KEY = 'Enter';\n\nconst formatMinMaxDate = (date: Date | null | undefined): string | undefined => {\n    if (!date) {\n        return undefined;\n    }\n\n    return moment(date).format(ISO_DATE_FORMAT);\n};\n\nconst getMonthDate = (monthOffset: number): Date => {\n    const date = new Date();\n\n    date.setMonth(date.getMonth() + monthOffset);\n\n    return date;\n};\n\n/* eslint-disable react/destructuring-assignment */\nconst TwinDatePicker: React.FC<TwinDatePickerPropsT> = (props) => {\n    const {\n        name,\n        value,\n        placeholder,\n        onFocus,\n        onBlur,\n        isDisabled,\n        minDate,\n        maxDate,\n        overlayPosition,\n        hasError,\n        hasWarning,\n        hasYearMonthForm,\n        hasChanges,\n        autoComplete,\n        testSelectorPrefix,\n        inputClassName,\n        className,\n        renderLeftIcon,\n        hasClearControl,\n        isTransparent,\n    } = props;\n\n    const [isOpen, toggleOpen] = React.useState(false);\n    const triggerRef = React.useRef<HTMLDivElement>(null);\n\n    const handleFromDateRangeChange: CalendarDateRangeValuePropsT['onChange'] = (selectedRange, selectedDate) => {\n        const range = selectedRange;\n        // TODO check UX experience\n        // selectedDate ? {\n        //     to: props.value?.to,\n        //     from: selectedDate,\n        // } : selectedRange;\n\n        props.onChange(range, selectedDate);\n    };\n\n    const handleToDateRangeChange: CalendarDateRangeValuePropsT['onChange'] = (selectedRange, selectedDate) => {\n        const range = selectedRange;\n        // TODO check UX experience\n        // selectedDate ? {\n        //     from: props.value?.from,\n        //     to: selectedDate,\n        // } : selectedRange;\n\n        props.onChange(range, selectedDate);\n    };\n\n    const handleOpen = () => {\n        if (isDisabled) {\n            return;\n        }\n\n        toggleOpen(true);\n    };\n\n    const handleOuterEvent = () => {\n        toggleOpen(false);\n    };\n\n    const handleChangeInputValue: CalendarDateRangeValuePropsT['onChange'] = (value, selectedDate) => {\n        props.onChange(value, selectedDate);\n    };\n\n    const handleInputKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n        if (event.key === ENTER_KEY) {\n            toggleOpen(false);\n        }\n    };\n\n    const testSelector = useTestSelector(testSelectorPrefix, 'twin-date-picker');\n\n    const focusDateFrom = props.value?.from || getMonthDate(0);\n    const focusDateTo = props.value?.to || getMonthDate(1);\n\n    return (\n        <div className={cs(cx('dropdown'), className)} data-test-selector={testSelector}>\n            <div className={cx('input')}>\n                <div className={cx('trigger')} ref={triggerRef} onClick={handleOpen}>\n                    <DateInputTrigger\n                        isRange\n                        value={value}\n                        className={inputClassName}\n                        name={name || 'datepicker'}\n                        minDate={minDate}\n                        maxDate={maxDate}\n                        placeholder={placeholder}\n                        onChange={handleChangeInputValue}\n                        hasError={hasError}\n                        onKeyUp={handleInputKeyUp}\n                        onFocus={onFocus}\n                        onBlur={onBlur}\n                        hasWarning={hasWarning}\n                        isDisabled={isDisabled}\n                        isForcedFocused={isOpen}\n                        hasChanges={hasChanges}\n                        autoComplete={autoComplete}\n                        renderLeftIcon={renderLeftIcon}\n                        renderRightIcon={() => <ArrowsIcon />}\n                        hasClearControl={hasClearControl}\n                        isTransparent={isTransparent}\n                    />\n                </div>\n                <DatePickerOverlay\n                    isOpen={isOpen}\n                    position={overlayPosition}\n                    referenceElement={triggerRef.current}\n                    onClose={handleOuterEvent}\n                    className={cx('overlay')}\n                >\n                    <Calendar\n                        className={cx('calendar')}\n                        minDate={minDate}\n                        maxDate={formatMinMaxDate(props.value?.to)}\n                        hasYearMonthForm={hasYearMonthForm}\n                        testSelectorPrefix=\"twin-date-picker_left\"\n                        isRange\n                        value={props.value}\n                        initialValue={props.initialValue}\n                        focusInitialDate={focusDateFrom}\n                        onChange={handleFromDateRangeChange}\n                    />\n                    <Calendar\n                        className={cx('calendar')}\n                        minDate={formatMinMaxDate(props.value?.from)}\n                        maxDate={maxDate}\n                        hasYearMonthForm={hasYearMonthForm}\n                        testSelectorPrefix=\"twin-date-picker_right\"\n                        isRange\n                        value={props.value}\n                        initialValue={props.initialValue}\n                        focusInitialDate={focusDateTo}\n                        onChange={handleToDateRangeChange}\n                    />\n                </DatePickerOverlay>\n            </div>\n        </div>\n    );\n};\n\nexport default TwinDatePicker;\nexport { DatePickerOverlayPositionEnum };\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PartnerTypeControl.scss';\n\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useTranslation } from 'react-i18next';\nimport DropdownControlTriggerLabel from 'design-system/components/dropdowns/option/DropdownControlTriggerLabel/DropdownControlTriggerLabel';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport { fetchPartnersStats } from 'broker-admin/store/partners-stats/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectPartnersStats, selectPartnersStatsRequest } from 'broker-admin/store/partners-stats/selectors';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { partnersRefreshChannel } from 'broker-admin/store/partners/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype TypeT = PartnerTypeEnum | null;\n\ntype PropsT = {\n    selectedType: TypeT;\n    onSelect: (type: TypeT) => void;\n    className?: string;\n};\n\nconst PartnerTypeControl: React.FC<PropsT> = (props) => {\n    const { selectedType, onSelect, className } = props;\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchPartnersStats());\n    }, [dispatch]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        dispatch(fetchPartnersStats({ isForceUpdate: true }));\n    }, [dispatch]);\n    useChannelSubscribe(partnersRefreshChannel, refreshPageHandler);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchPartnersStats({ isForceUpdate: false }));\n    }, [dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const partnersStats = useSelector(selectPartnersStats);\n    const partnersStatsRequest = useSelector(selectPartnersStatsRequest);\n\n    const allUpdateCount =\n        (partnersStats?.[PartnerTypeEnum.shipper]?.notVerifiedCount || 0) +\n        (partnersStats?.[PartnerTypeEnum.carrier]?.notVerifiedCount || 0) +\n        (partnersStats?.[PartnerTypeEnum.broker]?.notVerifiedCount || 0);\n\n    const shippersUpdateCount = partnersStats?.[PartnerTypeEnum.shipper]?.notVerifiedCount || null;\n    const carriersUpdateCount = partnersStats?.[PartnerTypeEnum.carrier]?.notVerifiedCount || null;\n\n    const { t } = useTranslation();\n\n    const renderNotificationIcon = (notificationsCount: number | null): React.ReactNode => {\n        if (!notificationsCount) {\n            return null;\n        }\n\n        if (partnersStatsRequest.loading) {\n            return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.gray} size={DEFAULT_ICON_SIZE} />;\n        }\n\n        return (\n            <NotificationLabel isShowPlusSign count={notificationsCount} theme={NotificationLabelThemeEnum.charcoal} />\n        );\n    };\n    const renderOption = (title: string, notificationsCount: number | null): React.ReactElement | null => {\n        return <DropdownControlOptionLabel icon={renderNotificationIcon(notificationsCount)} label={title} />;\n    };\n\n    const options: Array<DropdownControlOptionT | SpecialOptionEnum> = [\n        {\n            label: renderOption(t('partner.filters.types.all'), allUpdateCount),\n            onSelect: () => onSelect(null),\n        },\n        SpecialOptionEnum.separator,\n        {\n            label: renderOption(t('partner.filters.types.shippers'), shippersUpdateCount),\n            onSelect: () => onSelect(PartnerTypeEnum.shipper),\n        },\n        {\n            label: renderOption(t('partner.filters.types.carrier'), carriersUpdateCount),\n            onSelect: () => onSelect(PartnerTypeEnum.carrier),\n        },\n    ];\n\n    let triggerNode: React.ReactNode = null;\n    if (selectedType === null) {\n        triggerNode = (\n            <DropdownControlTriggerLabel\n                icon={renderNotificationIcon(allUpdateCount)}\n                label={t('partner.filters.types.all')}\n            />\n        );\n    }\n\n    if (selectedType === PartnerTypeEnum.shipper) {\n        triggerNode = (\n            <DropdownControlTriggerLabel\n                icon={renderNotificationIcon(shippersUpdateCount)}\n                label={t('partner.filters.types.shippers')}\n            />\n        );\n    }\n\n    if (selectedType === PartnerTypeEnum.carrier) {\n        triggerNode = (\n            <DropdownControlTriggerLabel\n                icon={renderNotificationIcon(carriersUpdateCount)}\n                label={t('partner.filters.types.carrier')}\n            />\n        );\n    }\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    label={triggerNode}\n                    isPressed={isActive}\n                    onClick={onClick}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                    rightIcon={<ArrowsIcon />}\n                />\n            )}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n};\n\nexport default PartnerTypeControl;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"CountyFlagsLabel__wrap___ZPNzs\",\"icon\":\"CountyFlagsLabel__icon___sLGlu\",\"label\":\"CountyFlagsLabel__label___XLz4L\",\"fadeIn\":\"CountyFlagsLabel__fadeIn___AWdGA\",\"blinking\":\"CountyFlagsLabel__blinking___HqTrM\"};","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ContentLimiter.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    children: React.ReactNode;\n    className?: string;\n};\n\nconst ContentLimiter: React.FC<PropsT> = React.memo((props) => {\n    const { children, className } = props;\n\n    return <div className={cs(cx('limiter'), className)}>{children}</div>;\n});\n\nexport default ContentLimiter;\n","import * as React from 'react';\n\ntype PropsT = {};\n\nconst MoreIcon: React.FC<PropsT> = () => {\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill=\"#3E3F42\"\n                    d=\"M5.5 8.5C4.675 8.5 4 9.175 4 10s.675 1.5 1.5 1.5S7 10.825 7 10s-.675-1.5-1.5-1.5zm9 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S16 10.825 16 10s-.675-1.5-1.5-1.5zm-4.5 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nMoreIcon.displayName = 'MoreIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default MoreIcon;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ReceivedCell.scss';\nimport { TransportOrderT } from 'common/store/transport-orders/models';\nimport HumanReadableDateCell from 'common/components/Table/cell-renderers/HumanReadableDateCell/HumanReadableDateCell';\nimport { clearDateTimezone } from 'common/utils/time';\n\ntype PropsT = {\n    order: TransportOrderT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ReceivedCell: React.FC<PropsT> = React.memo((props) => {\n    const { order } = props;\n\n    return (\n        <HumanReadableDateCell className={cx('wrap')} isBold isBigFont date={clearDateTimezone(order.receiveDate)} />\n    );\n});\n\nexport default ReceivedCell;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ManagementControl.scss';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useTranslation } from 'react-i18next';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UNIT } from 'common/constants';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport EditIcon from 'common/icons/EditIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { isNonNil } from 'common/utils';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    isShowAssignAssets: boolean;\n    isAllowAssignAssets: boolean;\n    onUnassignedAssets: () => void;\n    unassignAssetsUnavailableTooltipContent?: React.ReactNode | null;\n    onStartAssignAssets: () => void;\n    isShowAssignDrivers: boolean;\n    isAllowAssignDrivers: boolean;\n    onUnassignedDrivers: () => void;\n    onStartAssignDrivers: () => void;\n    overlayTooltipPosition?: TooltipPositionEnum;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    unassignDriverTooltipContent?: React.ReactNode | null;\n};\n\nconst ManagementControl: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        transportOrderDetails,\n        isShowAssignAssets,\n        isAllowAssignAssets,\n        onUnassignedAssets,\n        onStartAssignAssets,\n        isShowAssignDrivers,\n        isAllowAssignDrivers,\n        onUnassignedDrivers,\n        onStartAssignDrivers,\n        overlayTooltipPosition,\n        overlayPosition,\n        unassignDriverTooltipContent,\n        unassignAssetsUnavailableTooltipContent,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const isSpotOrder = !!transportOrderDetails?.spotInfo;\n\n    const disableChangeAssetsTooltipNode = (\n        <TooltipContent width={30 * UNIT} isCenter theme={TooltipContentThemeEnum.black}>\n            {t(\n                isSpotOrder\n                    ? 'common:transport-order-details.disabled-change-status-spot-order-tooltip'\n                    : 'common:transport-order-details.disabled-change-status-dedicated-order-tooltip',\n            )}\n        </TooltipContent>\n    );\n\n    const disableChangeDriverTooltipNode = (\n        <TooltipContent width={30 * UNIT} isCenter theme={TooltipContentThemeEnum.black}>\n            {t('common:transport-order-details.disabled-change-drivers-tooltip')}\n        </TooltipContent>\n    );\n\n    const managementOptions: Array<DropdownControlOptionT | SpecialOptionEnum | null> = [\n        isShowAssignAssets\n            ? {\n                  label: (\n                      <Tooltip\n                          position={overlayTooltipPosition || TooltipPositionEnum.centerLeft}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={isAllowAssignAssets ? null : disableChangeAssetsTooltipNode}\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  isDisabled={!isAllowAssignAssets}\n                                  icon={\n                                      <EditIcon\n                                          size={DEFAULT_ICON_SIZE}\n                                          fillColor={StyleGuideColorsEnum.brandAccent}\n                                          strokeColor={StyleGuideColorsEnum.brandDark}\n                                      />\n                                  }\n                                  label={\n                                      <span className={cx('option')}>\n                                          {t('common:transport-order-details.actions.manage-assets')}\n                                      </span>\n                                  }\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  onSelect: () => {\n                      if (isAllowAssignAssets) {\n                          onStartAssignAssets();\n                      }\n                  },\n              }\n            : null,\n        isShowAssignAssets\n            ? {\n                  label: (\n                      <Tooltip\n                          position={overlayTooltipPosition || TooltipPositionEnum.centerLeft}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={\n                              (isAllowAssignAssets ? null : disableChangeAssetsTooltipNode) ||\n                              unassignAssetsUnavailableTooltipContent\n                          }\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  isDisabled={!isAllowAssignAssets || !!unassignAssetsUnavailableTooltipContent}\n                                  icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                  label={\n                                      <span className={cx('option', 'option--clear')}>\n                                          {t('common:transport-order-details.actions.clear-assets')}\n                                      </span>\n                                  }\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  isDisabled: !isAllowAssignAssets || !!unassignAssetsUnavailableTooltipContent,\n                  onSelect: () => {\n                      if (isAllowAssignAssets) {\n                          onUnassignedAssets();\n                      }\n                  },\n              }\n            : null,\n        isShowAssignAssets && isShowAssignDrivers ? SpecialOptionEnum.separator : null,\n        isShowAssignDrivers\n            ? {\n                  label: (\n                      <Tooltip\n                          position={overlayTooltipPosition || TooltipPositionEnum.centerLeft}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={isAllowAssignDrivers ? null : disableChangeDriverTooltipNode}\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  isDisabled={!isAllowAssignDrivers}\n                                  icon={\n                                      <EditIcon\n                                          size={DEFAULT_ICON_SIZE}\n                                          fillColor={StyleGuideColorsEnum.brandAccent}\n                                          strokeColor={StyleGuideColorsEnum.brandDark}\n                                      />\n                                  }\n                                  label={\n                                      <span className={cx('option')}>\n                                          {t('common:transport-order-details.actions.manage-drivers', {\n                                              postProcess: 'interval',\n                                              count: transportOrderDetails?.drivers?.length || 0,\n                                          })}\n                                      </span>\n                                  }\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  onSelect: () => {\n                      if (isAllowAssignDrivers) {\n                          onStartAssignDrivers();\n                      }\n                  },\n              }\n            : null,\n        isShowAssignDrivers\n            ? {\n                  label: (\n                      <Tooltip\n                          position={overlayTooltipPosition || TooltipPositionEnum.centerLeft}\n                          theme={TooltipThemeEnum.black}\n                          tooltipNode={\n                              isAllowAssignDrivers\n                                  ? null\n                                  : unassignDriverTooltipContent || disableChangeDriverTooltipNode\n                          }\n                      >\n                          {() => (\n                              <DropdownControlOptionLabel\n                                  isDisabled={!isAllowAssignDrivers}\n                                  icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                                  label={\n                                      <span className={cx('option', 'option--clear')}>\n                                          {t('common:transport-order-details.actions.clear-drivers', {\n                                              postProcess: 'interval',\n                                              count: transportOrderDetails?.drivers?.length || 0,\n                                          })}\n                                      </span>\n                                  }\n                              />\n                          )}\n                      </Tooltip>\n                  ),\n                  onSelect: () => {\n                      if (isAllowAssignDrivers) {\n                          onUnassignedDrivers();\n                      }\n                  },\n              }\n            : null,\n    ].filter(isNonNil);\n\n    if (!managementOptions?.length) {\n        return null;\n    }\n\n    return (\n        <DropdownControl\n            className={className}\n            options={managementOptions}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    leftIcon={<MoreIcon />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.topRight}\n        />\n    );\n});\n\nexport default ManagementControl;\n","import { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\nimport isNumber from 'lodash/isNumber';\nimport { formatLocation } from 'common/utils/formatters';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { InitDropPointT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/models';\nimport { StopTypeEnum } from 'common/utils/api/models';\n\nexport const createInitPayloadDropPoint = (\n    brokerOrderDetails: BrokerOrderDetailsT | null,\n    tourId: TourIdT | null,\n): InitDropPointT | null => {\n    const tour = findTourById(brokerOrderDetails, tourId);\n    const waypoints = tour?.waypoints || [];\n\n    const payloadWaypoints =\n        waypoints?.filter((waypoint) => {\n            return (\n                waypoint.type === StopTypeEnum.dropAndHook ||\n                waypoint.type === StopTypeEnum.driveThrough ||\n                waypoint.type === StopTypeEnum.pickupDeliveryShipment\n            );\n        }) || [];\n\n    const lastPayloadWaypoint = payloadWaypoints[payloadWaypoints.length - 1] || null;\n\n    const waypoint = lastPayloadWaypoint || null;\n    if (!waypoint) {\n        return null;\n    }\n\n    const waypointAddress = waypoint?.address || null;\n    if (!waypointAddress) {\n        return null;\n    }\n\n    if (!isNumber(waypointAddress?.latitude) || !isNumber(waypointAddress?.longitude)) {\n        return null;\n    }\n\n    return {\n        location: {\n            address: formatLocation(waypointAddress),\n            utcOffsetMinutes: null,\n            addressComponents: {\n                countryCode: waypointAddress.country,\n                street1: waypointAddress?.street1,\n                street2: waypointAddress?.street2,\n                zipCode: waypointAddress?.zipCode,\n                city: waypointAddress?.city,\n            },\n            point: {\n                lat: waypointAddress.latitude || 0,\n                lng: waypointAddress.longitude || 0,\n            },\n        },\n        index: isNumber(waypoint?.index) ? waypoint?.index : null,\n    };\n};\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './NotificationLabel.scss';\n\nconst cx = classNames.bind(styles);\n\nexport enum NotificationLabelThemeEnum {\n    slate = 'slate',\n    charcoal = 'charcoal',\n    orange = 'orange',\n    green = 'green',\n    red = 'red',\n}\n\n// confluence entity\nexport const colorCodingNotificationLabelTheme = {\n    normal: NotificationLabelThemeEnum.slate,\n    attention: NotificationLabelThemeEnum.orange,\n    warning: NotificationLabelThemeEnum.red,\n    notImportant: NotificationLabelThemeEnum.charcoal,\n    success: NotificationLabelThemeEnum.green,\n    positive: NotificationLabelThemeEnum.green,\n    focus: NotificationLabelThemeEnum.charcoal,\n} as const;\n\nexport type NotificationPropsT = {\n    count?: number | null | undefined;\n    theme: NotificationLabelThemeEnum;\n    className?: string;\n    isShowPlusSign?: boolean;\n    isShowWarning?: boolean;\n};\n\nconst NotificationLabel: React.FC<NotificationPropsT> = React.memo((props) => {\n    const { count, className, theme, isShowPlusSign, isShowWarning } = props;\n\n    if (!count && !isShowWarning) {\n        return null;\n    }\n\n    return (\n        <div\n            className={cs(\n                cx('notification', {\n                    [`notification--theme-${theme}`]: true,\n                }),\n                className,\n            )}\n        >\n            {isShowWarning ? '!' : ''}\n            {isShowPlusSign ? '+' : ''}\n            {count}\n        </div>\n    );\n});\n\nexport default NotificationLabel;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst LinkPickUpIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor } = props;\n\n    return (\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\">\n            <path\n                fill={strokeColor}\n                d=\"M14.75 6.25c2.07 0 3.75 1.68 3.75 3.75 0 2.07-1.68 3.75-3.75 3.75h-3v-1.425h3A2.327 2.327 0 0 0 17.075 10a2.327 2.327 0 0 0-2.325-2.325h-3V6.25zm-.75 3v1.5h-3.001v-1.5H14zM2.552 8.194h1.192v3.75c0 .413.338.75.75.75h3c.413 0 .75-.337.75-.75v-3.75h1.193c.667 0 1.005-.81.532-1.282L6.527 3.469a.747.747 0 0 0-1.058 0L2.027 6.912c-.473.472-.143 1.282.525 1.282zm4.942 6.056c.41 0 .744.331.75.739v1.955c0 .413-.337.75-.75.75h-3a.752.752 0 0 1-.75-.75V15c0-.412.338-.75.75-.75h3z\"\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nLinkPickUpIcon.displayName = 'LinkPickUpIcon';\n\nconst storyProps: PropsT = {\n    strokeColor: StyleGuideColorsEnum.brandAccent,\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getLinkPickUpIconProps = (\n    preset:\n        | 'default'\n        | 'assignment-normal'\n        | 'assignment-selected'\n        | 'assignment-input-normal'\n        | 'assignment-input-selected',\n): PropsT => {\n    switch (preset) {\n        case 'assignment-normal': {\n            return {\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'assignment-input-normal': {\n            return {\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n        case 'assignment-input-selected': {\n            return {\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'default':\n        default: {\n            return {\n                strokeColor: StyleGuideColorsEnum.light,\n            };\n        }\n    }\n};\n\nexport { storyProps };\nexport default LinkPickUpIcon;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Notification.scss';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    title: string;\n    message?: string;\n    testSelector?: string;\n};\n\nconst Notification: React.FC<PropsT> = React.memo((props) => {\n    const { title, message, testSelector } = props;\n    const [isClosed, setClosed] = React.useState(false);\n\n    if (isClosed) {\n        return null;\n    }\n\n    return (\n        <div className={cx('notification', 'content')}>\n            <div className={cx('content__left')}>\n                <div className={cx('inner')} data-test-selector={testSelector}>\n                    <div className={cx('title')}>{title}</div>\n                    {!!message && <p className={cx('message')}>{message}</p>}\n                </div>\n            </div>\n            <div className={cx('content__right')}>\n                <button\n                    className={cx('close')}\n                    data-dismiss=\"alert\"\n                    type=\"button\"\n                    data-test-selector={`${testSelector}-close`}\n                    onClick={(): void => {\n                        setClosed(true);\n                    }}\n                >\n                    <CloseIcon fillColor={StyleGuideColorsEnum.white} />\n                </button>\n            </div>\n        </div>\n    );\n});\n\nexport default Notification;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { AssetTypeEnum, StyleGuideColorsEnum } from 'common/constants';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { CancelUnavailableVehicleQueryT } from 'common/utils/api/models';\n\nexport type CancelServiceMaintanceConfirmationDataT = {\n    companyId: CompanyIdT;\n    assets: Array<{\n        plateNumber: string;\n    }>;\n    query: CancelUnavailableVehicleQueryT;\n};\n\ntype PropsT = {\n    assetType: `${AssetTypeEnum}`;\n    data: CancelServiceMaintanceConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: CancelServiceMaintanceConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'cancel-service-maintance-confirmation';\n\nconst T_MAP: Record<AssetTypeEnum, { title: string; message: string }> = {\n    [AssetTypeEnum.truck]: {\n        title: 'common:trucks-page.cancel-service-maintance-confirmation.title',\n        message: 'common:trucks-page.cancel-service-maintance-confirmation.message',\n    },\n    [AssetTypeEnum.trailer]: {\n        title: 'common:trailers-page.cancel-service-maintance-confirmation.title',\n        message: 'common:trailers-page.cancel-service-maintance-confirmation.message',\n    },\n};\n\nconst CancelServiceMaintanceConfirmationModal: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm, assetType } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    const { assets } = data;\n\n    const tSet = T_MAP[assetType];\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t(tSet.title)}\n                    message={t(tSet.message, {\n                        plateNumber: assets?.[0]?.plateNumber || '',\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelServiceMaintanceConfirmationModal;\n","export type SpotBidT = Api2.Definitions.BrokerBidFullDetails;\n\nexport type ApiSpotRequestT = SpotApi.Definitions.ApiFilterResult;\n\nexport type ApiSpotRequestStatusT = NonNullable<SpotApi.Definitions.ApiFilterResult['status']>;\nexport enum SpotRequestStatusEnum {\n    open = 'OPEN',\n    expired = 'EXPIRED',\n    accepted = 'ACCEPTED',\n    assigned = 'ASSIGNED',\n    canceled = 'CANCELED',\n}\n\nexport type ApiSpotRequestStatStatusT = NonNullable<SpotApi.Definitions.ApiSpotStatuses200ResponseInner['status']>;\nexport enum SpotRequestStatStatusEnum {\n    open = 'OPEN',\n    accepted = 'ACCEPTED',\n    expireSoon = 'EXPIRE_SOON',\n    newBids = 'NEW_BIDS',\n    assigned = 'ASSIGNED',\n    expired = 'EXPIRED',\n    canceled = 'CANCELED',\n    unknown = 'UNKNOWN',\n}\n\nexport type ApiSpotRequestsStatsT = Array<SpotApi.Definitions.ApiSpotStatuses200ResponseInner>;\n\nexport enum SpotRequestsSortEnum {\n    expirationTime = 'deadline',\n    placedTime = 'createdDate',\n    originTime = 'originTimeSlotFrom',\n    destinationTime = 'destinationTimeSlotFrom',\n}\n\nexport type ApiSpotRequestDetailsT = Api2.Definitions.BrokerSpotFullDetails;\nexport type ApiSpotStopT = Api2.Definitions.BrokerSpotStop;\nexport type ApiBrokerSpotShipmentT = Api2.Definitions.BrokerSpotShipment;\n\nexport type ApiSpotSettingsKeysT = SpotApi.Definitions.SettingDto['name'];\nexport type ApiSpotSystemSettingsT = Partial<Record<ApiSpotSettingsKeysT, string>>;\n","import { FetchTrucksPageQueryT } from 'common/store/trucks/models';\nimport { TabEnum } from './constants';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from './query-models';\nimport { TrucksSortEnum, TruckStatusEnum } from 'common/utils/api/models';\nimport { PageSortT, SortDirectionEnum } from 'common/utils/query';\nimport { ALL_BROKER_USERS_VALUE } from 'common/components/dropdowns/UserMultipleDropdown/constants';\n\nconst formatSort = (sort: PageSortT<TrucksSortEnum> | null): FetchTrucksPageQueryT['sorts'] | undefined => {\n    switch (sort?.value) {\n        case TrucksSortEnum.createdDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'CREATED_DATE_ASC';\n            }\n            return 'CREATED_DATE_DESC';\n        }\n        case TrucksSortEnum.archiveDate: {\n            if (sort?.direction === SortDirectionEnum.ASC) {\n                return 'ARCHIVED_DATE_ASC';\n            }\n            return 'ARCHIVED_DATE_DESC';\n        }\n        default: {\n            return undefined;\n        }\n    }\n};\n\nconst prepareFetchPageQuery = (\n    queryFilters: QueryFiltersT,\n    sort: PageSortT<TrucksSortEnum> | null,\n    activeTab: TabEnum,\n): FetchTrucksPageQueryT => {\n    const statuses: TruckStatusEnum[] = [];\n    const status = queryFilters?.[QueryFiltersKeysEnum.status] as Array<TruckStatusEnum>;\n    if (status?.length) {\n        statuses.push(...status);\n    }\n\n    let emissionClasses;\n    if (queryFilters?.[QueryFiltersKeysEnum.emissionClass]) {\n        emissionClasses = queryFilters[QueryFiltersKeysEnum.emissionClass];\n    }\n\n    const lastModifiedByUsers = queryFilters[QueryFiltersKeysEnum.lastModifyByUserId]?.filter((userId) => {\n        return userId !== ALL_BROKER_USERS_VALUE;\n    });\n\n    const lastModifiedByBroker = !!queryFilters[QueryFiltersKeysEnum.lastModifyByUserId]?.some((userId) => {\n        return userId === ALL_BROKER_USERS_VALUE;\n    });\n\n    const addedByUsers = queryFilters[QueryFiltersKeysEnum.createdByUserId]?.filter((userId) => {\n        return userId !== ALL_BROKER_USERS_VALUE;\n    });\n\n    const addedByBroker = !!queryFilters[QueryFiltersKeysEnum.createdByUserId]?.some((userId) => {\n        return userId === ALL_BROKER_USERS_VALUE;\n    });\n\n    return {\n        truckModels: queryFilters?.[QueryFiltersKeysEnum.model] || undefined,\n        plateNumber: queryFilters?.[QueryFiltersKeysEnum.plateNumber] || undefined,\n        countriesOfRegistration: queryFilters?.[QueryFiltersKeysEnum.country] || undefined,\n        contractIds: queryFilters?.[QueryFiltersKeysEnum.contractId] || undefined,\n        emissionClasses,\n\n        statuses,\n        archived: activeTab === TabEnum.archive,\n\n        createdDateFrom: queryFilters?.[QueryFiltersKeysEnum.createdDateFrom] || undefined,\n        createdDateTo: queryFilters?.[QueryFiltersKeysEnum.createdDateTo] || undefined,\n\n        updatedDateFrom: queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom] || undefined,\n        updatedDateTo: queryFilters[QueryFiltersKeysEnum.lastModifyDateTo] || undefined,\n\n        telematicUpdatedDateFrom: queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom] || undefined,\n        telematicUpdatedDateTo: queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo] || undefined,\n\n        addedByBroker: addedByBroker || undefined,\n        addedByUsers: addedByUsers?.length ? addedByUsers : undefined,\n\n        lastModifiedByBroker: lastModifiedByBroker || undefined,\n        lastModifiedByUsers: lastModifiedByUsers?.length ? lastModifiedByUsers : undefined,\n\n        sorts: formatSort(sort),\n    };\n};\n\nexport { prepareFetchPageQuery };\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"CheckboxHeader__fadeIn___QJo8B\",\"blinking\":\"CheckboxHeader__blinking___fWAOU\"};","import {\n    FETCH_VEHICLE_SCHEDULE_REQUEST_BEGIN,\n    FETCH_VEHICLE_SCHEDULE_REQUEST_ERROR,\n    FETCH_VEHICLE_SCHEDULE_REQUEST_SUCCESS,\n    CANCEL_UNAVAILABLE_VEHICLE_REQUEST_BEGIN,\n    CANCEL_UNAVAILABLE_VEHICLE_REQUEST_ERROR,\n    CANCEL_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS,\n    SET_UNAVAILABLE_VEHICLE_REQUEST_BEGIN,\n    SET_UNAVAILABLE_VEHICLE_REQUEST_ERROR,\n    SET_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS,\n    VehicleSchedulesActionT,\n    VehicleSchedulesStateT,\n    VehicleScheduleStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: VehicleSchedulesStateT = {\n    byHash: {},\n    setUnavailableRequest: requestStatus.initial,\n    cancelUnavailableRequest: requestStatus.initial,\n};\n\nexport const initialVehicleState: VehicleScheduleStateT = {\n    schedule: [],\n    fetchRequestStatus: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: VehicleSchedulesActionT | DestroySessionActionT,\n): VehicleSchedulesStateT => {\n    switch (action.type) {\n        case FETCH_VEHICLE_SCHEDULE_REQUEST_BEGIN: {\n            const { hash } = action;\n\n            const vehicleState = state.byHash[hash] || initialVehicleState;\n\n            return {\n                ...state,\n                byHash: {\n                    ...state.byHash,\n                    [hash]: {\n                        ...vehicleState,\n                        fetchRequestStatus: requestStatus.loading,\n                    },\n                },\n            };\n        }\n\n        case FETCH_VEHICLE_SCHEDULE_REQUEST_SUCCESS: {\n            const { schedule, hash } = action;\n\n            const vehicleState = state.byHash[hash] || initialVehicleState;\n\n            return {\n                ...state,\n                byHash: {\n                    ...state.byHash,\n                    [hash]: {\n                        ...vehicleState,\n                        schedule,\n                        fetchRequestStatus: requestStatus.ok,\n                    },\n                },\n            };\n        }\n\n        case FETCH_VEHICLE_SCHEDULE_REQUEST_ERROR: {\n            const { hash, error } = action;\n\n            const vehicleState = state.byHash[hash] || initialVehicleState;\n\n            return {\n                ...state,\n                byHash: {\n                    ...state.byHash,\n                    [hash]: {\n                        ...vehicleState,\n                        fetchRequestStatus: requestStatus.setError(error),\n                    },\n                },\n            };\n        }\n\n        case SET_UNAVAILABLE_VEHICLE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                setUnavailableRequest: requestStatus.loading,\n            };\n        }\n\n        case SET_UNAVAILABLE_VEHICLE_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                setUnavailableRequest: requestStatus.setError(error),\n            };\n        }\n\n        case SET_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                setUnavailableRequest: requestStatus.ok,\n            };\n        }\n\n        case CANCEL_UNAVAILABLE_VEHICLE_REQUEST_BEGIN: {\n            return {\n                ...state,\n                cancelUnavailableRequest: requestStatus.loading,\n            };\n        }\n\n        case CANCEL_UNAVAILABLE_VEHICLE_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                cancelUnavailableRequest: requestStatus.setError(error),\n            };\n        }\n\n        case CANCEL_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                cancelUnavailableRequest: requestStatus.ok,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"field--trailer-type\":\"ShipperContractLaneEditForm__field--trailer-type___smTbg\",\"field--emission-class\":\"ShipperContractLaneEditForm__field--emission-class___NU_Wd\",\"field--location\":\"ShipperContractLaneEditForm__field--location___yUKsD\",\"field--radius\":\"ShipperContractLaneEditForm__field--radius___WITwO\",\"field--date\":\"ShipperContractLaneEditForm__field--date___W7h3_\",\"field--limit\":\"ShipperContractLaneEditForm__field--limit___QRxKe\",\"field--external-lane-id\":\"ShipperContractLaneEditForm__field--external-lane-id___HUP_3\",\"actions\":\"ShipperContractLaneEditForm__actions___fJqDo\",\"actions__action\":\"ShipperContractLaneEditForm__actions__action___E9jml\",\"fadeIn\":\"ShipperContractLaneEditForm__fadeIn___KDA29\",\"blinking\":\"ShipperContractLaneEditForm__blinking___gLEjt\"};","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useCommonPriceDetails } from 'common/components/price-details/hooks/common';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport EuroSymbolIcon from 'common/icons/EuroSymbolIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { isNonNil } from 'common/utils';\nimport { SelfCostPredictionT } from 'broker-admin/store/broker-order-assigment/models';\nimport isNumber from 'lodash/isNumber';\n\ntype CostsT = SelfCostPredictionT['calculatedTrailerCost'] | SelfCostPredictionT['trailerNextTourOldCostDetails'];\n\ntype PropsT = {\n    className?: string;\n    label: React.ReactNode;\n    isHideFuelPrice?: boolean;\n    prevCosts?: CostsT;\n    costs: CostsT;\n};\n\nconst getDiff = (price: number | null | undefined, notActualPrice: number | null | undefined): number | null => {\n    if (!isNumber(price) || !isNumber(notActualPrice)) {\n        return null;\n    }\n\n    return price - notActualPrice;\n};\n\nconst CUSTOM_PRICE_DIFF_NEGATIVE_COLOR = StyleGuideColorsEnum.orange;\n\nconst ReceiptPriceDetails: React.FC<PropsT> = React.memo((props) => {\n    const { className, label, prevCosts, costs, isHideFuelPrice } = props;\n\n    const { t } = useTranslation();\n\n    const commonPriceDetails = useCommonPriceDetails();\n\n    const list: Array<PriceDetailT | null> = [\n        {\n            iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.gray} />,\n            title: label,\n            price: costs?.totalCost,\n            priceDiff: getDiff(costs?.totalCost, prevCosts?.totalCost),\n            notActualPrice: prevCosts?.totalCost,\n            customPriceDiffNegativeColor: CUSTOM_PRICE_DIFF_NEGATIVE_COLOR,\n            placeholder: t('common:info-table.placeholders.carrier-not-assigned'),\n            initialOpen: true,\n            list: [\n                {\n                    ...commonPriceDetails.lineHaul,\n                    price: costs?.lineHaul,\n                    priceDiff: getDiff(costs?.lineHaul, prevCosts?.lineHaul),\n                    notActualPrice: prevCosts?.lineHaul,\n                    customPriceDiffNegativeColor: CUSTOM_PRICE_DIFF_NEGATIVE_COLOR,\n                    footerNode: commonPriceDetails.getAppliedRulesFooterNode(['LINE_HAUL'], costs?.appliedRules),\n                },\n                {\n                    ...commonPriceDetails.getRoadTaxesRow(costs?.co2),\n                    price: costs?.toll?.totalCost,\n                    priceDiff: getDiff(costs?.toll?.totalCost, prevCosts?.toll?.totalCost),\n                    customPriceDiffNegativeColor: CUSTOM_PRICE_DIFF_NEGATIVE_COLOR,\n                    notActualPrice: prevCosts?.toll?.totalCost,\n                    list: commonPriceDetails.getRoadTaxesList(costs?.toll?.byRoadType, costs?.appliedRules),\n                    footerNode: commonPriceDetails.getAppliedRulesFooterNode(['ROAD_TAXES'], costs?.appliedRules),\n                },\n                !isHideFuelPrice\n                    ? {\n                          ...commonPriceDetails.getFuelCostRow(costs?.fuel?.fuelType),\n                          price: costs?.fuel?.totalCost,\n                          priceDiff: getDiff(costs?.fuel?.totalCost, prevCosts?.fuel?.totalCost),\n                          customPriceDiffNegativeColor: CUSTOM_PRICE_DIFF_NEGATIVE_COLOR,\n                          notActualPrice: prevCosts?.fuel?.totalCost,\n                          list: commonPriceDetails.getFuelCostsByCountryList(costs?.fuel?.byCountry),\n                          footerNode: commonPriceDetails.getAppliedRulesFooterNode(['FUEL'], costs?.appliedRules),\n                      }\n                    : null,\n                isNumber(costs?.teamDriveCost)\n                    ? {\n                          ...commonPriceDetails.getTeamDrive({ travelHours: costs?.teamDriveCost }),\n                          price: costs?.teamDriveCost,\n                          priceDiff: getDiff(costs?.teamDriveCost, prevCosts?.teamDriveCost),\n                          customPriceDiffNegativeColor: CUSTOM_PRICE_DIFF_NEGATIVE_COLOR,\n                          notActualPrice: prevCosts?.teamDriveCost,\n                      }\n                    : null,\n                {\n                    ...commonPriceDetails.getLayoverCostRow(costs?.layover?.totalSeconds, costs?.layover?.paidHours),\n                    price: costs?.layover?.totalCost,\n                    priceDiff: getDiff(costs?.layover?.totalCost, prevCosts?.layover?.totalCost),\n                    customPriceDiffNegativeColor: CUSTOM_PRICE_DIFF_NEGATIVE_COLOR,\n                    notActualPrice: prevCosts?.layover?.totalCost,\n                },\n                isNumber(costs?.additionalServices?.totalCost)\n                    ? {\n                          ...commonPriceDetails.otherCosts,\n                          price: costs?.additionalServices?.totalCost,\n                          priceDiff: getDiff(\n                              costs?.additionalServices?.totalCost,\n                              prevCosts?.additionalServices?.totalCost,\n                          ),\n                          customPriceDiffNegativeColor: CUSTOM_PRICE_DIFF_NEGATIVE_COLOR,\n                          notActualPrice: prevCosts?.additionalServices?.totalCost,\n                      }\n                    : null,\n            ].filter(isNonNil),\n        },\n    ].filter(isNonNil);\n\n    if (!costs) {\n        return null;\n    }\n\n    return <PriceDetails className={className} list={list} />;\n});\n\nexport default ReceiptPriceDetails;\n","import {\n    AddressTypeEnum,\n    ApiInvitePartnerRequestT,\n    ApiSystemSettingsT,\n    DocumentTypeEnum,\n    FixPageableCommonQueryT,\n    OverwritePageRequestT,\n    OverwritePageRequestWithSortQueryT,\n    OverwritePageRequestWithSortT,\n    PartnerTypeEnum,\n    ApiPartnerTypeT,\n    UpdateRateStrategyEnum,\n} from 'common/utils/api/models';\nimport BaseTranziitApi, {\n    throwNotImplementedError,\n    TranziitApiResultT,\n} from 'common/utils/api/tranziit/base-tranziit-api';\nimport toNumber from 'lodash/toNumber';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport { MS_IN_MIN } from 'common/utils/time';\nimport { isNonNil } from 'common/utils';\n\nclass BrokerTranziitApi extends BaseTranziitApi {\n    private static instance: BrokerTranziitApi;\n\n    private constructor() {\n        super(authApi, {\n            basepath: '/api',\n            timeout: MS_IN_MIN,\n        });\n    }\n\n    public static getInstance(): BrokerTranziitApi {\n        if (!BrokerTranziitApi.instance) {\n            BrokerTranziitApi.instance = new BrokerTranziitApi();\n        }\n\n        return BrokerTranziitApi.instance;\n    }\n\n    getRFQDefaultOffer = async (\n        rfqId: Api2Paths.ApiV2Rfqs$RfqIdOffersDefault.Get.Parameters.RfqId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Rfqs$RfqIdOffersDefault.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs$RfqIdOffersDefault.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/rfqs/${rfqId}/offers/default`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchAssetTracksByTransportOrder = async (\n        transportationOrderId: Api2Paths.ApiV2BrokerOrders$TransportationOrderIdAssetsCoordinates.Get.Parameters.TransportationOrderId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2BrokerOrders$TransportationOrderIdAssetsCoordinates.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2BrokerOrders$TransportationOrderIdAssetsCoordinates.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/orders/${transportationOrderId}/assets-coordinates`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTransportOrdersPage = async (\n        carrierId: Api2Paths.ApiV2BrokerTransportationOrders$CarrierId.Get.Parameters.CarrierId,\n        apiFetchOrdersRequest: OverwritePageRequestWithSortT<Api2Paths.ApiV2BrokerTransportationOrders$CarrierId.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerTransportationOrders$CarrierId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerTransportationOrders$CarrierId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/transportation-orders/${carrierId}`,\n            query: apiFetchOrdersRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchShipperContractDetails = async (\n        partnerId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Get.Parameters.ShipperId,\n        shipperContractId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Get.Parameters.ContractId,\n    ): Promise<\n        TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Get.Responses.$200>\n    > => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies/${partnerId}/shipper-contracts/${shipperContractId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchShipperContractLaneDetails = async (\n        partnerId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Get.Parameters.ShipperId,\n        shipperContractId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Get.Parameters.ContractId,\n        laneId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Get.Parameters.LaneId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Get.Responses.$200>(\n            {\n                method: 'GET',\n                path: `/v1/broker/companies/${partnerId}/shipper-contracts/${shipperContractId}/lanes/${laneId}`,\n                expectedResponseContentType: 'json',\n            },\n        );\n    };\n\n    uploadShipperContract = async (\n        partnerId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts.Post.Parameters.ShipperId,\n        query: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts.Post.QueryParameters,\n        file: File,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts.Post.Responses.$201>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts.Post.Responses.$201>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            method: 'POST',\n            path: `/v1/broker/companies/${partnerId}/shipper-contracts`,\n            query,\n            data: formData,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    updateShipperContract = async (\n        partnerId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Put.Parameters.ShipperId,\n        contractId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Put.Parameters.ContractId,\n        query: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Put.QueryParameters,\n        file: File | null,\n    ): Promise<\n        TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Put.Responses.$200>\n    > => {\n        const formData = new FormData();\n\n        if (file) {\n            formData.append('file', file);\n        }\n\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractId.Put.Responses.$200>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            method: 'PUT',\n            path: `/v1/broker/companies/${partnerId}/shipper-contracts/${contractId}`,\n            query,\n            data: formData,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    updateShipperContractLane = async (\n        companyId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Put.Parameters.ShipperId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Put.Parameters.ContractId,\n        laneId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Put.Parameters.LaneId,\n        data: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Put.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneId.Put.Responses.$200>(\n            {\n                method: 'PUT',\n                path: `/v1/broker/companies/${companyId}/shipper-contracts/${contractId}/lanes/${laneId}`,\n                data,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    revokeShipperContractLane = async (\n        companyId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneIdRevoke.Put.Parameters.ShipperId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneIdRevoke.Put.Parameters.ContractId,\n        laneId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneIdRevoke.Put.Parameters.LaneId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneIdRevoke.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes$LaneIdRevoke.Put.Responses.$200>(\n            {\n                method: 'PUT',\n                path: `/v1/broker/companies/${companyId}/shipper-contracts/${contractId}/lanes/${laneId}/revoke`,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    revokeShipperContract = async (\n        partnerId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdRevoke.Put.Parameters.ShipperId,\n        contractId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdRevoke.Put.Parameters.ContractId,\n        reason: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdRevoke.Put.Parameters.Reason,\n    ): Promise<\n        TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdRevoke.Put.Responses.$200>\n    > => {\n        const query: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdRevoke.Put.QueryParameters = {};\n        if (reason) {\n            query.reason = reason;\n        }\n\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdRevoke.Put.Responses.$200>(\n            {\n                method: 'PUT',\n                path: `/v1/broker/companies/${partnerId}/shipper-contracts/${contractId}/revoke`,\n                query,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    fetchTrailersPage = async (\n        apiFetchTrailersRequest: OverwritePageRequestWithSortT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers.Get.QueryParameters>,\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers.Get.Parameters.CarrierId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trailers`,\n            query: apiFetchTrailersRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    addPartnerTrailer = async (\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers.Post.RequestBody,\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers.Post.Parameters.CarrierId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers.Post.Responses.$201>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers.Post.Responses.$201>({\n            data,\n            method: 'POST',\n            path: `/v2/broker/companies/${carrierId}/trailers`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    deleteTrailer = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Delete.Parameters.CarrierId,\n        trailerId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Delete.Parameters.Id,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Delete.Responses.$204>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Delete.Responses.$204>({\n            method: 'DELETE',\n            path: `/v2/broker/companies/${carrierId}/trailers/${trailerId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    assignTruckToContract = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksChangeContract.Post.Parameters.CarrierId,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksChangeContract.Post.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksChangeContract.Post.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksChangeContract.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/broker/companies/${carrierId}/trucks/change-contract`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    assignTrailersToContract = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersChangeContract.Post.Parameters.CarrierId,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersChangeContract.Post.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersChangeContract.Post.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersChangeContract.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/broker/companies/${carrierId}/trailers/change-contract`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    changeRateTrailers = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersChangeRate.Post.Parameters.CarrierId,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersChangeRate.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersChangeRate.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersChangeRate.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/broker/companies/${carrierId}/trailers/change-rate`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    changeRateTrucks = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksChangeRate.Post.Parameters.CarrierId,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksChangeRate.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksChangeRate.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksChangeRate.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/broker/companies/${carrierId}/trucks/change-rate`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    activateTrailers = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersActivate.Put.Parameters.CarrierId,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersActivate.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersActivate.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersActivate.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/broker/companies/${carrierId}/trailers/activate`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    archiveTrailers = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersArchive.Put.Parameters.CarrierId,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersArchive.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersArchive.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersArchive.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/broker/companies/${carrierId}/trailers/archive`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrailerDetails = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Get.Parameters.CarrierId,\n        trailerId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Get.Parameters.Id,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trailers/${trailerId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrailersActiveFleetCount = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersActiveFleetCount.Get.Parameters.CarrierId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersActiveFleetCount.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersActiveFleetCount.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trailers/active-fleet-count`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateTrailer = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Put.Parameters.CarrierId,\n        trailerId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Put.Parameters.Id,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailers$Id.Put.Responses.$200>({\n            data,\n            method: 'PUT',\n            path: `/v2/broker/companies/${carrierId}/trailers/${trailerId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchActiveTrucksByIdPlateNumber = async (\n        plateNumber: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.Parameters.PlateNumber,\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.Parameters.CarrierId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.Responses.$200>> => {\n        const apiFetchTrucksRequest: OverwritePageRequestWithSortQueryT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.QueryParameters> =\n            {\n                plateNumber,\n                archived: false,\n            };\n\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trucks`,\n            query: apiFetchTrucksRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrucksPage = async (\n        apiFetchTrucksRequest: OverwritePageRequestWithSortT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.QueryParameters>,\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.Parameters.CarrierId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trucks`,\n            query: apiFetchTrucksRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    addPartnerTruck = async (\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Post.RequestBody,\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Post.Parameters.CarrierId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Post.Responses.$201>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks.Post.Responses.$201>({\n            method: 'POST',\n            path: `/v2/broker/companies/${carrierId}/trucks`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    activateTrucks = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActivate.Put.Parameters.CarrierId,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActivate.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActivate.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActivate.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/broker/companies/${carrierId}/trucks/activate`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updatePartnerTruck = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Put.Parameters.CarrierId,\n        truckId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Put.Parameters.Id,\n        truckUpdate: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/broker/companies/${carrierId}/trucks/${truckId}`,\n            data: truckUpdate,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    archiveTrucks = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActivate.Put.Parameters.CarrierId,\n        data: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActivate.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActivate.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActivate.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/broker/companies/${carrierId}/trucks/archive`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnerTruckDetails = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Get.Parameters.CarrierId,\n        truckId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Get.Parameters.Id,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trucks/${truckId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTrucksActiveFleetCount = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActiveFleetCount.Get.Parameters.CarrierId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActiveFleetCount.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksActiveFleetCount.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trucks/active-fleet-count`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deleteTruck = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Delete.Parameters.Id,\n        truckId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Delete.Parameters.Id,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Delete.Responses.$204>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucks$Id.Delete.Responses.$204>({\n            method: 'DELETE',\n            path: `/v2/broker/companies/${carrierId}/trucks/${truckId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchCompanyContacts = async (\n        companyId: ApiPaths.ApiV1Broker$CompanyIdContacts.Get.Parameters.CompanyId,\n        query?: ApiPaths.ApiV1Broker$CompanyIdContacts.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Broker$CompanyIdContacts.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1Broker$CompanyIdContacts.Get.Responses.$200>({\n            method: 'GET',\n            query,\n            path: `/v1/broker/${companyId}/contacts`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    addUserToPartner = async (\n        newUser: Api2Paths.ApiV2BrokerCompany$CompanyIdRegistrationUserInvite.Post.RequestBody,\n        companyId: Api2Paths.ApiV2BrokerCompany$CompanyIdRegistrationUserInvite.Post.Parameters.CompanyId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2BrokerCompany$CompanyIdRegistrationUserInvite.Post.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompany$CompanyIdRegistrationUserInvite.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/broker/company/${companyId}/registration/user/invite`,\n            data: newUser,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    addContactToPartner = async (\n        newContact: ApiPaths.ApiV1BrokerContact.Post.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerContact.Post.Responses.$201>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerContact.Post.Responses.$201>({\n            method: 'POST',\n            path: '/v1/broker/contact',\n            data: newContact,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchPartnersPage = async (\n        apiFetchPartnersRequest: OverwritePageRequestWithSortT<ApiPaths.ApiV1BrokerCompanies.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies`,\n            query: apiFetchPartnersRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnersStatistics = async (): Promise<\n        TranziitApiResultT<ApiPaths.ApiV1BrokerCompaniesUpdatedCount.Get.Responses.$200>\n    > => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompaniesUpdatedCount.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v1/broker/companies/updatedCount',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnerDetails = async (\n        companyId: ApiPaths.ApiV1BrokerCompany$CompanyId.Get.Parameters.CompanyId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompany$CompanyId.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompany$CompanyId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/company/${companyId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    verifyPartnerAddress = async (\n        companyId:\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyLegaladdress.Put.Parameters.CompanyId\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyPostaladdress.Put.Parameters.CompanyId\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyBillingAddress.Put.Parameters.CompanyId,\n        type: AddressTypeEnum,\n    ): Promise<\n        TranziitApiResultT<\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyLegaladdress.Put.Responses.$200\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyPostaladdress.Put.Responses.$200\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyBillingAddress.Put.Responses.$200\n        >\n    > => {\n        const paths: Record<AddressTypeEnum, string> = {\n            [AddressTypeEnum.legal]: `/v1/broker/company/${companyId}/verify/legaladdress`,\n            [AddressTypeEnum.postal]: `/v1/broker/company/${companyId}/verify/postaladdress`,\n            [AddressTypeEnum.billing]: `/v1/broker/company/${companyId}/verify/billing-address`,\n        };\n\n        return this.doFetch<\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyLegaladdress.Put.Responses.$200\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyPostaladdress.Put.Responses.$200\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdVerifyBillingAddress.Put.Responses.$200\n        >({\n            method: 'PUT',\n            path: paths[type],\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    unVerifyPartnerAddress = async (\n        companyId:\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyLegaladdress.Put.Parameters.CompanyId\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyPostaladdress.Put.Parameters.CompanyId\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyBillingAddress.Put.Parameters.CompanyId,\n        type: AddressTypeEnum,\n    ): Promise<\n        TranziitApiResultT<\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyLegaladdress.Put.Responses.$200\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyPostaladdress.Put.Responses.$200\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyBillingAddress.Put.Responses.$200\n        >\n    > => {\n        const paths: Record<AddressTypeEnum, string> = {\n            [AddressTypeEnum.legal]: `/v1/broker/company/${companyId}/un-verify/legaladdress`,\n            [AddressTypeEnum.postal]: `/v1/broker/company/${companyId}/un-verify/postaladdress`,\n            [AddressTypeEnum.billing]: `/v1/broker/company/${companyId}/un-verify/billing-address`,\n        };\n\n        return this.doFetch<\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyLegaladdress.Put.Responses.$200\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyPostaladdress.Put.Responses.$200\n            | ApiPaths.ApiV1BrokerCompany$CompanyIdUnVerifyBillingAddress.Put.Responses.$200\n        >({\n            method: 'PUT',\n            path: paths[type],\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    lockPartner = async (\n        companyId: ApiPaths.ApiV1BrokerCompanyLock$CompanyId.Post.Parameters.CompanyId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanyLock$CompanyId.Post.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanyLock$CompanyId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/company/lock/${companyId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    unlockPartner = async (\n        companyId: ApiPaths.ApiV1BrokerCompanyLock$CompanyId.Post.Parameters.CompanyId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanyUnlock$CompanyId.Post.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanyUnlock$CompanyId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/company/unlock/${companyId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    updatePartnerDetails = async (\n        companyId: ApiPaths.ApiV1BrokerCompany$CompanyIdV2.Put.Parameters.CompanyId,\n        partnerDetails: ApiPaths.ApiV1BrokerCompany$CompanyIdV2.Put.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompany$CompanyIdV2.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompany$CompanyIdV2.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/company/${companyId}/v2`,\n            data: partnerDetails,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateEvidenceOfTax = async (\n        documentId: ApiPaths.ApiV1BrokerDocument$DocumentIdUpdateEvidenceOfTax.Post.Parameters.DocumentId,\n        evidenceOfTaxDocumentUpdate: ApiPaths.ApiV1BrokerDocument$DocumentIdUpdateEvidenceOfTax.Post.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerDocument$DocumentIdUpdateEvidenceOfTax.Post.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerDocument$DocumentIdUpdateEvidenceOfTax.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/document/${documentId}/update-evidence-of-tax`,\n            data: evidenceOfTaxDocumentUpdate,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    searchAssetsForAssigment = async (\n        tourId: Api2Paths.ApiV1BrokerTours$TourIdSearchAssetsForAssignment.Post.Parameters.TourId,\n        radiusM: Api2Paths.ApiV1BrokerTours$TourIdSearchAssetsForAssignment.Post.Parameters.Radius,\n        data: Api2Paths.ApiV1BrokerTours$TourIdSearchAssetsForAssignment.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTours$TourIdSearchAssetsForAssignment.Post.Responses.$200>> => {\n        const query: Api2Paths.ApiV1BrokerTours$TourIdSearchAssetsForAssignment.Post.QueryParameters = {\n            radius: radiusM,\n        };\n\n        return this.doFetch<Api2Paths.ApiV1BrokerTours$TourIdSearchAssetsForAssignment.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/tours/${tourId}/search-assets-for-assignment`,\n            query,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    findTrailersByPlateNumber = async (\n        tourId: Api2Paths.ApiV1BrokerTours$TourIdSearchTrailersForAssignment.Post.Parameters.TourId,\n        query: Api2Paths.ApiV1BrokerTours$TourIdSearchTrailersForAssignment.Post.QueryParameters,\n        data: Api2Paths.ApiV1BrokerTours$TourIdSearchTrailersForAssignment.Post.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerTours$TourIdSearchTrailersForAssignment.Post.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTours$TourIdSearchTrailersForAssignment.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/tours/${tourId}/search-trailers-for-assignment`,\n            query,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    calculateTourCostsForAssets = async (\n        tourId: Api2Paths.ApiV1BrokerTours$TourIdCalculateTourCostsForAssets.Post.Parameters.TourId,\n        query: Api2Paths.ApiV1BrokerTours$TourIdCalculateTourCostsForAssets.Post.QueryParameters,\n        data: Api2Paths.ApiV1BrokerTours$TourIdCalculateTourCostsForAssets.Post.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerTours$TourIdCalculateTourCostsForAssets.Post.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTours$TourIdCalculateTourCostsForAssets.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/tours/${tourId}/calculate-tour-costs-for-assets`,\n            query,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchTourAssignDetails = async (\n        tourId: Api2Paths.ApiV1BrokerTours$TourIdAssignDetails.Get.Parameters.TourId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTours$TourIdAssignDetails.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTours$TourIdAssignDetails.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/tours/${tourId}/assign/details`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    findTrucksByPlateNumber = async (\n        tourId: Api2Paths.ApiV1BrokerTours$TourIdSearchTrucksForAssignment.Post.Parameters.TourId,\n        query: Api2Paths.ApiV1BrokerTours$TourIdSearchTrucksForAssignment.Post.QueryParameters,\n        data: Api2Paths.ApiV1BrokerTours$TourIdSearchTrucksForAssignment.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTours$TourIdSearchTrucksForAssignment.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTours$TourIdSearchTrucksForAssignment.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/tours/${tourId}/search-trucks-for-assignment`,\n            query,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    assignOrder = async (\n        tourId: Api2Paths.ApiV1BrokerTours$TourIdAssign$AssignmentContextId.Put.Parameters.TourId,\n        assignmentContextId: Api2Paths.ApiV1BrokerTours$TourIdAssign$AssignmentContextId.Put.Parameters.AssignmentContextId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTours$TourIdAssign$AssignmentContextId.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTours$TourIdAssign$AssignmentContextId.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/tours/${tourId}/assign/${assignmentContextId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    updateBrokerWindowAppointment = async (\n        orderId: Api2Paths.ApiV2BrokerOrder$OrderIdWindows.Put.Parameters.OrderId,\n        data: Api2Paths.ApiV2BrokerOrder$OrderIdWindows.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerOrder$OrderIdWindows.Put.Responses.$204>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerOrder$OrderIdWindows.Put.Responses.$204>({\n            method: 'PUT',\n            path: `/v2/broker/order/${orderId}/windows`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchAvailableCarriers = async (): Promise<\n        TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>\n    > => {\n        const query: ApiPaths.ApiV1BrokerCompanies.Get.QueryParameters = {\n            size: 9999,\n            page: 0,\n            includeProfileTypes: ['CARRIER'],\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v1/broker/companies',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchBrokerAdminUsers = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerUsers.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerUsers.Get.QueryParameters = {\n            roles: ['COMPANY_ADMIN'],\n        };\n        return this.doFetch<ApiPaths.ApiV1BrokerUsers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/users`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnerDispatchers = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerUsers.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerUsers.Get.QueryParameters = {\n            roles: ['DISPATCHER', 'COMPANY_ADMIN'],\n        };\n        return this.doFetch<ApiPaths.ApiV1BrokerUsers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/users`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnerManagers = async (): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerUsers.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerUsers.Get.QueryParameters = {\n            roles: ['KEY_ACCOUNT_MANAGER', 'COMPANY_ADMIN'],\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerUsers.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/users`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    createPartner = async (\n        data: ApiPaths.ApiV1BrokerCompany.Post.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompany.Post.Responses.$201>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompany.Post.Responses.$201>({\n            method: 'POST',\n            path: '/v1/broker/company',\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchRatesPage = async (\n        query: OverwritePageRequestWithSortT<ApiPaths.ApiV1Manualrates.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Manualrates.Get.Responses.$200>> => {\n        if (!query.countriesFrom?.length && !query.countriesTo?.length) {\n            return [\n                null,\n                {\n                    content: [],\n                    totalPages: 0,\n                    totalElements: 0,\n                },\n            ];\n        }\n\n        return this.doFetch<ApiPaths.ApiV1Manualrates.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/manualrates`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateRates = async (\n        ids: Array<number | undefined>,\n        value: number,\n        strategy: UpdateRateStrategyEnum,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Manualrates.Put.Responses.$200>> => {\n        const apiUpdateRateRequest: ApiPaths.ApiV1Manualrates.Put.RequestBody = {\n            ids: ids.filter(isNonNil),\n            value,\n            strategy,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1Manualrates.Put.Responses.$200>({\n            method: 'PUT',\n            path: '/v1/manualrates',\n            data: apiUpdateRateRequest,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    uploadRatesCSVFile = async (\n        file: File,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1ManualratesFile.Put.Responses.$200>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<ApiPaths.ApiV1ManualratesFile.Put.Responses.$200>({\n            method: 'PUT',\n            path: '/v1/manualrates/file',\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchRulesPage = async (\n        query: OverwritePageRequestT<Api2Paths.ApiV2ManualRateRuleFilter.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ManualRateRuleFilter.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ManualRateRuleFilter.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/manual-rate-rule/filter`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchRuleDetails = async (\n        ruleId: Api2Paths.ApiV2ManualRateRule$RuleIdGet.Get.Parameters.RuleId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ManualRateRule$RuleIdGet.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ManualRateRule$RuleIdGet.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/manual-rate-rule/${ruleId}/get`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateRule = async (\n        ruleId: Api2Paths.ApiV2ManualRateRule$RuleIdUpdate.Put.Parameters.RuleId,\n        ruleDraft: Api2Paths.ApiV2ManualRateRule$RuleIdUpdate.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ManualRateRule$RuleIdUpdate.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ManualRateRule$RuleIdUpdate.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/manual-rate-rule/${ruleId}/update`,\n            data: ruleDraft,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    activateRule = async (\n        ruleId: Api2Paths.ApiV2ManualRateRule$RuleIdActivate.Put.Parameters.RuleId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ManualRateRule$RuleIdActivate.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ManualRateRule$RuleIdActivate.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/manual-rate-rule/${ruleId}/activate`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    deactivateRule = async (\n        ruleId: Api2Paths.ApiV2ManualRateRule$RuleIdDeactivate.Put.Parameters.RuleId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ManualRateRule$RuleIdDeactivate.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ManualRateRule$RuleIdDeactivate.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/manual-rate-rule/${ruleId}/deactivate`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    deleteRule = async (\n        ruleId: Api2Paths.ApiV2ManualRateRule$RuleIdDelete.Delete.Parameters.RuleId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ManualRateRule$RuleIdDelete.Delete.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ManualRateRule$RuleIdDelete.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v2/manual-rate-rule/${ruleId}/delete`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    rulePreview = async (\n        data: Api2Paths.ApiV2ManualRateRulePreview.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ManualRateRulePreview.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ManualRateRulePreview.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/manual-rate-rule/preview`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    createRule = async (\n        ruleDraft: Api2Paths.ApiV2ManualRateRuleCreate.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2ManualRateRuleCreate.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2ManualRateRuleCreate.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/manual-rate-rule/create`,\n            data: ruleDraft,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchSystemSettings = async (): Promise<TranziitApiResultT<ApiSystemSettingsT>> => {\n        const query: Api2Paths.ApiV2Settings.Get.QueryParameters = {\n            groups: [\n                'RATE_STRATEGIES',\n                'NEW_ORDER',\n                'ASSIGNMENT',\n                'PRICING',\n                'DRIVER',\n                'ALERTS',\n                'SPOT',\n                'FERRY',\n                'ROUTING',\n            ],\n        };\n\n        const [error, response] = await this.doFetch<Api2Paths.ApiV2Settings.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/settings`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n\n        if (error) {\n            return [error, null];\n        }\n\n        const apiSettings = response?.reduce<ApiSystemSettingsT>((acc, item) => {\n            const { name, value } = item;\n\n            if (name) {\n                acc[name] = value;\n            }\n\n            return acc;\n        }, {});\n\n        return [null, apiSettings || null];\n    };\n\n    updateSystemSettings = async (\n        settingsChanges: Partial<ApiSystemSettingsT>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Settings.Put.Responses.$204>> => {\n        const body = Object.entries(settingsChanges).reduce<Api2Paths.ApiV2Settings.Put.RequestBody>(\n            (acc, [key, value]) => {\n                acc.push({\n                    // @ts-ignore\n                    name: key,\n                    // @ts-ignore\n                    value,\n                });\n\n                return acc;\n            },\n            [],\n        );\n\n        return this.doFetch<Api2Paths.ApiV2Settings.Put.Responses.$204>({\n            method: 'PUT',\n            path: '/v2/settings',\n            data: body,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchBrokerOrdersPage = async (\n        query: FixPageableCommonQueryT & Api2Paths.ApiV2BrokerOrderFilter.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerOrderFilter.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerOrderFilter.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/order/filter`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getBrokerOrderDetails = async (\n        orderId: Api2Paths.ApiV2BrokerOrder$OrderId.Get.Parameters.OrderId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerOrder$OrderId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerOrder$OrderId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/order/${orderId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getDoneStatistics = async (\n        query: ApiPaths.ApiV1BrokerStatisticsRatesDone.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerStatisticsRatesDone.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerStatisticsRatesDone.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/statistics/rates/done`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getRejectStatistics = async (\n        query: ApiPaths.ApiV1BrokerStatisticsRatesReject.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerStatisticsRatesReject.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerStatisticsRatesReject.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/statistics/rates/reject`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deleteContact = async (\n        contactId: ApiPaths.ApiV1BrokerContact$Id.Delete.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerContact$Id.Delete.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerContact$Id.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v1/broker/contact/${contactId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    deleteUser = async (\n        userId: ApiPaths.ApiV1BrokerUser$Id.Delete.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerUser$Id.Delete.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerUser$Id.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v1/broker/user/${userId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    cancelUserInvite = async (\n        userId: ApiPaths.ApiV1BrokerUser$UserIdCancelInvite.Delete.Parameters.UserId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerUser$UserIdCancelInvite.Delete.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerUser$UserIdCancelInvite.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v1/broker/user/${userId}/cancel-invite`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    restoreUser = async (\n        userId: ApiPaths.ApiV1BrokerUser$IdRestore.Put.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerUser$IdRestore.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerUser$IdRestore.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/user/${userId}/restore`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    updateContact = async (\n        contactId: ApiPaths.ApiV1BrokerContact$ContactId.Put.Parameters.ContactId,\n        contactChanges: ApiPaths.ApiV1BrokerContact$ContactId.Put.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerContact$ContactId.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerContact$ContactId.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/contact/${contactId}`,\n            data: contactChanges,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    assignUserRole = async (\n        userId: Api2Paths.ApiV2BrokerUsers$UserIdAssignRole.Post.Parameters.UserId,\n        newRole: Api2Paths.ApiV2BrokerUsers$UserIdAssignRole.Post.Parameters.NewRole,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerUsers$UserIdAssignRole.Post.Responses.$200>> => {\n        const query: Api2Paths.ApiV2BrokerUsers$UserIdAssignRole.Post.QueryParameters = {\n            newRole,\n        };\n        return this.doFetch<Api2Paths.ApiV2BrokerUsers$UserIdAssignRole.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/broker/users/${userId}/assign-role`,\n            query,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchContactDetails = async (\n        contactId: ApiPaths.ApiV1BrokerContact$Id.Get.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerContact$Id.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerContact$Id.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/contact/${contactId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchContactDetailsByUserId = async (\n        userId: ApiPaths.ApiV1BrokerUser$IdContact.Put.Parameters.Id,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerUser$IdContact.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerUser$IdContact.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/user/${userId}/contact`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchDocuments = async (\n        companyId: ApiPaths.ApiV1Broker$CompanyIdDocuments.Get.Parameters.CompanyId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Broker$CompanyIdDocuments.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1Broker$CompanyIdDocuments.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/${companyId}/documents`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchDocument = async (\n        documentId: ApiPaths.ApiV1BrokerDocument$DocumentIdGetFile.Get.Parameters.DocumentId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerDocument$DocumentIdGetFile.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerDocument$DocumentIdGetFile.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/document/${documentId}/getFile`,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    approvePartnerDocument = async (\n        documentId: ApiPaths.ApiV1BrokerDocument$DocumentIdApprove.Put.Parameters.DocumentId,\n        validTill: ApiPaths.ApiV1BrokerDocument$DocumentIdApprove.Put.Parameters.ValidTill,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerDocument$DocumentIdApprove.Put.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerDocument$DocumentIdApprove.Put.QueryParameters = {\n            validTill,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerDocument$DocumentIdApprove.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/document/${documentId}/approve`,\n            query,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    approvePartnerEvidenceOfTax = async (\n        documentId: ApiPaths.ApiV1BrokerDocument$DocumentIdApproveEvidenceOfTax.Put.Parameters.DocumentId,\n        data: ApiPaths.ApiV1BrokerDocument$DocumentIdApproveEvidenceOfTax.Put.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerDocument$DocumentIdApproveEvidenceOfTax.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerDocument$DocumentIdApproveEvidenceOfTax.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/document/${documentId}/approve-evidence-of-tax`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    uploadDocument = async (\n        documentType: DocumentTypeEnum,\n        file: File,\n        companyId: ApiPaths.ApiV1BrokerCompany$CompanyIdDocument.Post.Parameters.CompanyId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompany$CompanyIdDocument.Post.Responses.$201>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        const query: ApiPaths.ApiV1BrokerCompany$CompanyIdDocument.Post.QueryParameters = {\n            documentType,\n        };\n        return this.doFetch<ApiPaths.ApiV1BrokerCompany$CompanyIdDocument.Post.Responses.$201>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            expectedResponseContentType: 'unknown',\n            data: formData,\n            method: 'POST',\n            path: `/v1/broker/company/${companyId}/document`,\n            query,\n        });\n    };\n\n    rejectPartnerDocument = async (\n        documentId: ApiPaths.ApiV1BrokerDocument$DocumentIdReject.Put.Parameters.DocumentId,\n        reason: ApiPaths.ApiV1BrokerDocument$DocumentIdReject.Put.Parameters.Reason,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerDocument$DocumentIdReject.Put.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerDocument$DocumentIdReject.Put.QueryParameters = {\n            reason,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerDocument$DocumentIdReject.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/document/${documentId}/reject`,\n            query,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    revokePartnerDocument = async (\n        documentId: ApiPaths.ApiV1BrokerDocument$DocumentIdRevoke.Put.Parameters.DocumentId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerDocument$DocumentIdRevoke.Put.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerDocument$DocumentIdRevoke.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/document/${documentId}/revoke`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    updatePartnerDocument = async (\n        documentId: ApiPaths.ApiV1BrokerDocument$DocumentIdUpdate.Post.Parameters.DocumentId,\n        data: ApiPaths.ApiV1BrokerDocument$DocumentIdUpdate.Post.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerDocument$DocumentIdUpdate.Post.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerDocument$DocumentIdUpdate.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/document/${documentId}/update`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    findCarriersByName = async (\n        name: ApiPaths.ApiV1BrokerCompanies.Get.Parameters.Name,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerCompanies.Get.QueryParameters = {\n            size: 100,\n            includeProfileTypes: [PartnerTypeEnum.carrier],\n            name,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    findShippersByName = async (\n        name: ApiPaths.ApiV1BrokerCompanies.Get.Parameters.Name,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerCompanies.Get.QueryParameters = {\n            size: 100,\n            includeProfileTypes: [PartnerTypeEnum.shipper],\n            name,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    findPartnersByName = async (\n        name: ApiPaths.ApiV1BrokerCompanies.Get.Parameters.Name,\n        includeProfileTypes?: ApiPaths.ApiV1BrokerCompanies.Get.Parameters.IncludeProfileTypes,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerCompanies.Get.QueryParameters = {\n            size: 100,\n            includeProfileTypes,\n            name,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    findPartnerUsersByName = async (\n        companyId: ApiPaths.ApiV1Broker$CompanyIdContacts.Get.Parameters.CompanyId,\n        query: ApiPaths.ApiV1Broker$CompanyIdContacts.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1Broker$CompanyIdContacts.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1Broker$CompanyIdContacts.Get.Responses.$200>({\n            method: 'GET',\n            query,\n            path: `/v1/broker/${companyId}/contacts`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCarrierContracts = async (\n        partnerId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts.Get.Parameters.CarrierId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies/${partnerId}/carrier-contracts`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCarrierApprovedContracts = async (\n        partnerId: Api2Paths.ApiV1BrokerCompanies$CarrierIdApprovedCarrierContracts.Get.Parameters.CarrierId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdApprovedCarrierContracts.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdApprovedCarrierContracts.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies/${partnerId}/approved-carrier-contracts`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCarrierContractDetails = async (\n        carrierId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Get.Parameters.CarrierId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Get.Parameters.ContractId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies/${carrierId}/carrier-contracts/${contractId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateCarrierContract = async (\n        carrierId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Put.Parameters.CarrierId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Put.Parameters.ContractId,\n        data: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Put.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractId.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/companies/${carrierId}/carrier-contracts/${contractId}`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    revokeCarrierContract = async (\n        carrierId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdRevoke.Put.Parameters.CarrierId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdRevoke.Put.Parameters.ContractId,\n        data: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdRevoke.Put.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdRevoke.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdRevoke.Put.Responses.$200>(\n            {\n                method: 'PUT',\n                path: `/v1/broker/companies/${carrierId}/carrier-contracts/${contractId}/revoke`,\n                data,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    rejectCarrierContract = async (\n        carrierId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdReject.Put.Parameters.CarrierId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdReject.Put.Parameters.ContractId,\n        query: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdReject.Put.QueryParameters,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdReject.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdReject.Put.Responses.$200>(\n            {\n                method: 'PUT',\n                path: `/v1/broker/companies/${carrierId}/carrier-contracts/${contractId}/reject`,\n                query,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    approveCarrierContract = async (\n        carrierId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdApprove.Put.Parameters.CarrierId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdApprove.Put.Parameters.ContractId,\n        body: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdApprove.Put.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdApprove.Put.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdApprove.Put.Responses.$200>(\n            {\n                method: 'PUT',\n                path: `/v1/broker/companies/${carrierId}/carrier-contracts/${contractId}/approve`,\n                data: body,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    fetchVehicleSchedule = async (\n        vehicleId: ApiPaths.ApiV2CarrierVehiclescheduleVehicle$VehicleId.Get.Parameters.VehicleId,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV2CarrierVehiclescheduleVehicle$VehicleId.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV2CarrierVehiclescheduleVehicle$VehicleId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/vehicleschedule/vehicle/${vehicleId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchVehicleScheduleAroundDate = async (\n        vehicleId: ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.Parameters.VehicleId,\n        date: ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.Parameters.DateOfInterest,\n    ): Promise<\n        TranziitApiResultT<ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.Responses.$200>\n    > => {\n        const query: ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.QueryParameters = {\n            dateOfInterest: date,\n        };\n\n        return this.doFetch<ApiPaths.ApiV2BrokerVehiclescheduleVehicle$VehicleIdAroundDate.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/vehicleschedule/vehicle/${vehicleId}/around-date`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getTransportOrderDetails = async (\n        carrierId: Api2Paths.ApiV2BrokerTransportationOrders$CarrierId$TransportationOrderId.Get.Parameters.CarrierId,\n        transportOrderId: Api2Paths.ApiV2BrokerTransportationOrders$CarrierId$TransportationOrderId.Get.Parameters.TransportationOrderId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2BrokerTransportationOrders$CarrierId$TransportationOrderId.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2BrokerTransportationOrders$CarrierId$TransportationOrderId.Get.Responses.$200>(\n            {\n                method: 'GET',\n                path: `/v2/broker/transportation-orders/${carrierId}/${transportOrderId}`,\n                expectedResponseContentType: 'json',\n            },\n        );\n    };\n\n    fetchRFQDetails = async (\n        id: Api2Paths.ApiV2BrokerRfqs$RfqId.Get.Parameters.RfqId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerRfqs$RfqId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerRfqs$RfqId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/rfqs/${id}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchRFQsStats = async (): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerRfqsCounts.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerRfqsCounts.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/rfqs/counts`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchDocumentsDict = async (\n        partnerType: ApiPartnerTypeT,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerDictdocuments.Get.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerDictdocuments.Get.QueryParameters = {\n            companyType: partnerType,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerDictdocuments.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/dictdocuments`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    invitePartnerDriver = async (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        companyId: TODO,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        newDriver: TODO,\n    ): Promise<TranziitApiResultT<NOT_IMPLEMENTED_TYPE>> => {\n        return throwNotImplementedError();\n    };\n\n    deletePartnerDriver = async (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        companyId: TODO,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        driverId: TODO,\n    ): Promise<TranziitApiResultT<NOT_IMPLEMENTED_TYPE>> => {\n        return throwNotImplementedError();\n    };\n\n    archivePartnerDriver = async (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        companyId: TODO,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        driverId: TODO,\n    ): Promise<TranziitApiResultT<NOT_IMPLEMENTED_TYPE>> => {\n        return throwNotImplementedError();\n    };\n\n    activatePartnerDriver = async (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        companyId: TODO,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        driverId: TODO,\n    ): Promise<TranziitApiResultT<NOT_IMPLEMENTED_TYPE>> => {\n        return throwNotImplementedError();\n    };\n\n    updatePartnerDriver = async (\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        driverId: TODO,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        driverChanges: TODO,\n    ): Promise<TranziitApiResultT<NOT_IMPLEMENTED_TYPE>> => {\n        return throwNotImplementedError();\n    };\n\n    fetchDriversPage = async (\n        companyId: Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId.Get.Parameters.CarrierCompanyId,\n        query: OverwritePageRequestT<Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId.Get.Responses.$200>> => {\n        // conflict statuses in filters\n        if (query.statuses?.length === 0) {\n            return [null, { content: [] }];\n        }\n\n        return this.doFetch<Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/drivers/${companyId}`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnerDriverDetails = async (\n        companyId: Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId$DriverId.Get.Parameters.CarrierCompanyId,\n        driverId: Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId$DriverId.Get.Parameters.DriverId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId$DriverId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId$DriverId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/drivers/${companyId}/${driverId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    searchDriver = async (\n        companyId: Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId.Get.Parameters.CarrierCompanyId,\n        query: OverwritePageRequestWithSortT<Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerDrivers$CarrierCompanyId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/drivers/${companyId}`,\n            expectedResponseContentType: 'json',\n            query,\n        });\n    };\n\n    invitePartner = async (\n        data: ApiInvitePartnerRequestT,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanySendInvite.Post.Responses.$200>> => {\n        const query: ApiPaths.ApiV1BrokerCompanySendInvite.Post.QueryParameters = {\n            email: data.email,\n            role: data.partnerType,\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanySendInvite.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v1/broker/company/sendInvite',\n            query,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchBrokerOrdersStatistics = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2BrokerOrderStatistic.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2BrokerOrderStatistic.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/order/statistic`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateAdditionalService = async (\n        bodyData: Api2Paths.ApiV2DictCarrierAddservices.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2DictCarrierAddservices.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2DictCarrierAddservices.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v2/dict-carrier-addservices`,\n            data: bodyData,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchAdditionalServices = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV2DictCarrierAddservicesByType.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV2DictCarrierAddservicesByType.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v2/dict-carrier-addservices/by-type',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    checkPartnerTrailerGPSStatus = async (\n        plateNumber: Api2Paths.ApiV2CarrierTrailersHasGps.Get.Parameters.PlateNumber,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrailersHasGps.Get.Responses.$200>> => {\n        const query: Api2Paths.ApiV2CarrierTrailersHasGps.Get.QueryParameters = {\n            plateNumber,\n        };\n\n        return this.doFetch<Api2Paths.ApiV2CarrierTrailersHasGps.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v2/carrier/trailers/has-gps',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    checkPartnerTruckGPSStatus = async (\n        plateNumber: Api2Paths.ApiV2CarrierTrucksHasGps.Get.Parameters.PlateNumber,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2CarrierTrucksHasGps.Get.Responses.$200>> => {\n        const query: Api2Paths.ApiV2CarrierTrucksHasGps.Get.QueryParameters = {\n            plateNumber,\n        };\n\n        return this.doFetch<Api2Paths.ApiV2CarrierTrucksHasGps.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v2/carrier/trucks/has-gps',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    addVehicleScheduleEvent = async (\n        data: ApiPaths.ApiV2BrokerVehiclescheduleVehicle.Post.RequestBody,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV2BrokerVehiclescheduleVehicle.Post.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV2BrokerVehiclescheduleVehicle.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v2/broker/vehicleschedule/vehicle`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    cancelVehicleScheduleEvent = async (data: any): Promise<TranziitApiResultT<any>> => {\n        // TODO wait backend api\n        await new Promise<void>((resolve) => {\n            setTimeout(() => {\n                resolve();\n            }, 1000);\n        });\n        return Promise.resolve([null, null]);\n    };\n\n    uploadPartnerPaper = async (\n        tourId: ApiPaths.ApiV1BrokerTour$TourIdDocuments.Post.PathParameters['tourId'],\n        dictDocumentId: DictDocumentFakeIdT,\n        file: File,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerTour$TourIdDocuments.Post.Responses.$200>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        const query: ApiPaths.ApiV1BrokerTour$TourIdDocuments.Post.QueryParameters = {\n            dictCarrierDocumentId: toNumber(dictDocumentId),\n        };\n\n        return this.doFetch<ApiPaths.ApiV1BrokerTour$TourIdDocuments.Post.Responses.$200>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            method: 'POST',\n            path: `/v1/broker/tour/${tourId}/documents`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deletePartnerPaper = async (\n        tourId: ApiPaths.ApiV1BrokerTour$TourIdDocuments$DocumentId.Delete.PathParameters['tourId'],\n        documentId: ApiPaths.ApiV1BrokerTour$TourIdDocuments$DocumentId.Delete.PathParameters['documentId'],\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerTour$TourIdDocuments$DocumentId.Delete.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerTour$TourIdDocuments$DocumentId.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v1/broker/tour/${tourId}/documents/${documentId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnerPapers = async (\n        tourId: ApiPaths.ApiV1BrokerTour$TourIdDocuments.Get.PathParameters['tourId'],\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerTour$TourIdDocuments.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerTour$TourIdDocuments.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/tour/${tourId}/documents`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchPartnerRFQCount = async (\n        companyId: ApiPaths.ApiV1BrokerCompanies$CompanyIdRfqCount.Get.PathParameters['companyId'],\n        query: ApiPaths.ApiV1BrokerCompanies$CompanyIdRfqCount.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies$CompanyIdRfqCount.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies$CompanyIdRfqCount.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies/${companyId}/rfq/count`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    sentTransportOrderToSpot = async (\n        tourId: Api2Paths.ApiV2SpotTours$TourIdSendToSpot.Post.Parameters.TourId,\n        data: Api2Paths.ApiV2SpotTours$TourIdSendToSpot.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2SpotTours$TourIdSendToSpot.Post.Responses.$204>> => {\n        return this.doFetch<Api2Paths.ApiV2SpotTours$TourIdSendToSpot.Post.Responses.$204>({\n            method: 'POST',\n            path: `/v2/spot/tours/${tourId}/send-to-spot`,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    fetchRFQsPage = async (\n        query: OverwritePageRequestWithSortT<Api2Paths.ApiV2BrokerRfqs.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerRfqs.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerRfqs.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v2/broker/rfqs',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchBrokerInvoicesPage = async (\n        apiFetchOrdersRequest: OverwritePageRequestWithSortT<ApiPaths.ApiV1BrokerStripeInvoices.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerStripeInvoices.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerStripeInvoices.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/stripe/invoices`,\n            query: apiFetchOrdersRequest,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchCarrierContract = async (\n        carrierId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdSourceFile.Get.Parameters.CarrierId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdSourceFile.Get.Parameters.ContractId,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdSourceFile.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts$ContractIdSourceFile.Get.Responses.$200>(\n            {\n                method: 'GET',\n                path: `/v1/broker/companies/${carrierId}/carrier-contracts/${contractId}/source-file`,\n                expectedResponseContentType: 'blob',\n            },\n        );\n    };\n\n    fetchShipperContract = async (\n        shipperId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdSourceFile.Get.Parameters.ShipperId,\n        contractId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdSourceFile.Get.Parameters.ContractId,\n    ): Promise<\n        TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdSourceFile.Get.Responses.$200>\n    > => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdSourceFile.Get.Responses.$200>(\n            {\n                method: 'GET',\n                path: `/v1/broker/companies/${shipperId}/shipper-contracts/${contractId}/source-file`,\n                expectedResponseContentType: 'blob',\n            },\n        );\n    };\n\n    uploadCarrierContract = async (\n        file: File,\n        carrierId: Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts.Post.Parameters.CarrierId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts.Post.Responses.$200>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$CarrierIdCarrierContracts.Post.Responses.$200>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            expectedResponseContentType: 'unknown',\n            data: formData,\n            method: 'POST',\n            path: `/v1/broker/companies/${carrierId}/carrier-contracts`,\n        });\n    };\n\n    fetchPartnerShipperContracts = async (\n        shipperId: ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts.Get.Parameters.ShipperId,\n        query: OverwritePageRequestWithSortT<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts.Get.QueryParameters>,\n    ): Promise<TranziitApiResultT<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts.Get.Responses.$200>> => {\n        return this.doFetch<ApiPaths.ApiV1BrokerCompanies$ShipperIdShipperContracts.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/companies/${shipperId}/shipper-contracts`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    createShipperContractLaneRFQ = async (\n        shipperId: Api2Paths.ApiV1BrokerCompanies$ShipperIdLaneQuotationsSync.Post.Parameters.ShipperId,\n        data: Api2Paths.ApiV1BrokerCompanies$ShipperIdLaneQuotationsSync.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$ShipperIdLaneQuotationsSync.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$ShipperIdLaneQuotationsSync.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/companies/${shipperId}/lane-quotations-sync`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    fetchShipperContractLaneRFQOffersAverage = async (\n        rfqId: Api2Paths.ApiV2Rfqs$RfqIdOffersAverage.Get.Parameters.RfqId,\n        query: Api2Paths.ApiV2Rfqs$RfqIdOffersAverage.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2Rfqs$RfqIdOffersAverage.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2Rfqs$RfqIdOffersAverage.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/rfqs/${rfqId}/offers/average`,\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    createShipperContractLane = async (\n        shipperId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Post.Parameters.ShipperId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Post.Parameters.ContractId,\n        data: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Post.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Post.Responses.$201>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Post.Responses.$201>(\n            {\n                method: 'POST',\n                path: `/v1/broker/companies/${shipperId}/shipper-contracts/${contractId}/lanes`,\n                data,\n                expectedResponseContentType: 'unknown',\n            },\n        );\n    };\n\n    fetchPartnerShipperContractLanes = async (\n        shipperId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Get.Parameters.ShipperId,\n        contractId: Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Get.Parameters.ContractId,\n        query: OverwritePageRequestWithSortT<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Get.QueryParameters>,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerCompanies$ShipperIdShipperContracts$ContractIdLanes.Get.Responses.$200>(\n            {\n                method: 'GET',\n                path: `/v1/broker/companies/${shipperId}/shipper-contracts/${contractId}/lanes`,\n                query,\n                expectedResponseContentType: 'json',\n            },\n        );\n    };\n\n    importPartnerXLSTrailers = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersImport.Post.Parameters.CarrierId,\n        file: File,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersImport.Post.Responses.$201>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersImport.Post.Responses.$201>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            method: 'POST',\n            path: `/v2/broker/companies/${carrierId}/trailers/import`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    importPartnerXLSTrucks = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksImport.Post.Parameters.CarrierId,\n        file: File,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksImport.Post.Responses.$201>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksImport.Post.Responses.$201>({\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            method: 'POST',\n            path: `/v2/broker/companies/${carrierId}/trucks/import`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    exportPartnerXLSTrailers = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersExport.Get.Parameters.CarrierId,\n        query: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersExport.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersExport.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrailersExport.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trailers/export`,\n            query,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    exportPartnerXLSTrucks = async (\n        carrierId: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksExport.Get.Parameters.CarrierId,\n        query: Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksExport.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksExport.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV2BrokerCompanies$CarrierIdTrucksExport.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v2/broker/companies/${carrierId}/trucks/export`,\n            query,\n            expectedResponseContentType: 'blob',\n        });\n    };\n\n    editOrderCreateOrGetContext = async (\n        orderId: Api2Paths.ApiV1OrderEditCreateOrGet$OrderId.Get.Parameters.OrderId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1OrderEditCreateOrGet$OrderId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1OrderEditCreateOrGet$OrderId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/order-edit/create-or-get/${orderId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    editOrderContextAddStop = async (\n        orderId: Api2Paths.ApiV1OrderEdit$OrderIdAddStop.Post.Parameters.OrderId,\n        data: Api2Paths.ApiV1OrderEdit$OrderIdAddStop.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1OrderEdit$OrderIdAddStop.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1OrderEdit$OrderIdAddStop.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/order-edit/${orderId}/add-stop`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    editOrderContextUpdateStop = async (\n        orderId: Api2Paths.ApiV1OrderEdit$OrderIdUpdateStop$Index.Post.Parameters.OrderId,\n        index: Api2Paths.ApiV1OrderEdit$OrderIdUpdateStop$Index.Post.Parameters.Index,\n        data: Api2Paths.ApiV1OrderEdit$OrderIdUpdateStop$Index.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1OrderEdit$OrderIdUpdateStop$Index.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1OrderEdit$OrderIdUpdateStop$Index.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/order-edit/${orderId}/update-stop/${index}`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    editOrderContextDeleteStop = async (\n        orderId: Api2Paths.ApiV1OrderEdit$OrderIdDeleteStop$Index.Post.Parameters.OrderId,\n        index: Api2Paths.ApiV1OrderEdit$OrderIdDeleteStop$Index.Post.Parameters.Index,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1OrderEdit$OrderIdDeleteStop$Index.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1OrderEdit$OrderIdDeleteStop$Index.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/order-edit/${orderId}/delete-stop/${index}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    editOrderApplyContext = async (\n        orderId: Api2Paths.ApiV1OrderEdit$OrderIdApplyContext.Post.Parameters.OrderId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1OrderEdit$OrderIdApplyContext.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1OrderEdit$OrderIdApplyContext.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/order-edit/${orderId}/apply-context`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    editOrderDeleteContext = async (\n        orderId: Api2Paths.ApiV1OrderEdit$OrderId.Delete.Parameters.OrderId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1OrderEdit$OrderId.Delete.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1OrderEdit$OrderId.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v1/order-edit/${orderId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    getBrokerTourDetails = async (\n        tourId: Api2Paths.ApiV1BrokerTours$TourId.Get.Parameters.TourId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTours$TourId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTours$TourId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/tours/${tourId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getBrokerToursFilter = async (\n        query?: FixPageableCommonQueryT & Api2Paths.ApiV1BrokerToursFilter.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerToursFilter.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerToursFilter.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v1/broker/tours/filter',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getBrokerToursStatistic = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerToursStatistic.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerToursStatistic.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v1/broker/tours/statistic',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getDeadheadTrucks = async (\n        query: Api2Paths.ApiV1BrokerToursDeadheadTrucks.Post.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerToursDeadheadTrucks.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerToursDeadheadTrucks.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v1/broker/tours/deadhead/trucks',\n            expectedResponseContentType: 'json',\n            query,\n        });\n    };\n\n    initDeadheadContext = async (\n        data: Api2Paths.ApiV1BrokerToursDeadheadInitContext.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerToursDeadheadInitContext.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerToursDeadheadInitContext.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v1/broker/tours/deadhead/init-context',\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    chooseDeadheadArrivalDateTime = async (\n        contextId: Api2Paths.ApiV1BrokerToursDeadhead$ContextIdChooseArrivalDateTime.Post.Parameters.ContextId,\n        data: Api2Paths.ApiV1BrokerToursDeadhead$ContextIdChooseArrivalDateTime.Post.RequestBody,\n    ): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerToursDeadhead$ContextIdChooseArrivalDateTime.Post.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerToursDeadhead$ContextIdChooseArrivalDateTime.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/tours/deadhead/${contextId}/choose-arrival-date-time`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    applyDeadheadContext = async (\n        contextId: Api2Paths.ApiV1BrokerToursDeadhead$ContextIdApplyContext.Post.Parameters.ContextId,\n        data: Api2Paths.ApiV1BrokerToursDeadhead$ContextIdApplyContext.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerToursDeadhead$ContextIdApplyContext.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerToursDeadhead$ContextIdApplyContext.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/tours/deadhead/${contextId}/apply-context`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    createTeam = async (\n        data: Api2Paths.ApiV1BrokerTeamsCreate.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTeamsCreate.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTeamsCreate.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v1/broker/teams/create',\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    updateTeam = async (\n        teamId: Api2Paths.ApiV1BrokerTeamsUpdate$TeamId.Put.Parameters.TeamId,\n        data: Api2Paths.ApiV1BrokerTeamsUpdate$TeamId.Put.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTeamsUpdate$TeamId.Put.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTeamsUpdate$TeamId.Put.Responses.$200>({\n            method: 'PUT',\n            path: `/v1/broker/teams/update/${teamId}`,\n            data,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getTeamsFilter = async (\n        query: FixPageableCommonQueryT & Api2Paths.ApiV1BrokerTeamsFilter.Get.QueryParameters,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTeamsFilter.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTeamsFilter.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v1/broker/teams/filter',\n            query,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getTeamDetails = async (\n        teamId: Api2Paths.ApiV1BrokerTeamsGet$TeamId.Get.Parameters.TeamId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTeamsGet$TeamId.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTeamsGet$TeamId.Get.Responses.$200>({\n            method: 'GET',\n            path: `/v1/broker/teams/get/${teamId}`,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deleteTeam = async (\n        teamId: Api2Paths.ApiV1BrokerTeamsDelete$TeamId.Delete.Parameters.TeamId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerTeamsDelete$TeamId.Delete.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerTeamsDelete$TeamId.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v1/broker/teams/delete/${teamId}`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    attachPaperToShipment = async (\n        shipmentId: Api2Paths.ApiV1BrokerAttachedPapersShipment$ShipmentId.Post.Parameters.ShipmentId,\n        query: Api2Paths.ApiV1BrokerAttachedPapersShipment$ShipmentId.Post.QueryParameters,\n        data: Api2Paths.ApiV1BrokerAttachedPapersShipment$ShipmentId.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerAttachedPapersShipment$ShipmentId.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerAttachedPapersShipment$ShipmentId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/attached-papers/shipment/${shipmentId}`,\n            query,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    attachPaperToTour = async (\n        tourId: Api2Paths.ApiV1BrokerAttachedPapersTour$TourId.Post.Parameters.TourId,\n        query: Api2Paths.ApiV1BrokerAttachedPapersTour$TourId.Post.QueryParameters,\n        data: Api2Paths.ApiV1BrokerAttachedPapersTour$TourId.Post.RequestBody,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerAttachedPapersTour$TourId.Post.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerAttachedPapersTour$TourId.Post.Responses.$200>({\n            method: 'POST',\n            path: `/v1/broker/attached-papers/tour/${tourId}`,\n            query,\n            data,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    deleteAttachedPaper = async (\n        paperId: Api2Paths.ApiV1BrokerAttachedPapers$PaperIdDelete.Delete.Parameters.PaperId,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerAttachedPapers$PaperIdDelete.Delete.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerAttachedPapers$PaperIdDelete.Delete.Responses.$200>({\n            method: 'DELETE',\n            path: `/v1/broker/attached-papers/${paperId}/delete`,\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    importTenderXLSFile = async (\n        file: File,\n    ): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerSimpleTender.Post.Responses.$200>> => {\n        const formData = new FormData();\n        formData.append('file', file);\n\n        return this.doFetch<Api2Paths.ApiV1BrokerSimpleTender.Post.Responses.$200>({\n            method: 'POST',\n            path: '/v1/broker/simple-tender',\n            headers: {\n                'Content-Type': 'multipart/form-data',\n            },\n            data: formData,\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    getTenderStatus = async (): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerSimpleTender.Get.Responses.$200>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerSimpleTender.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v1/broker/simple-tender',\n            expectedResponseContentType: 'json',\n        });\n    };\n\n    deleteTender = async (): Promise<TranziitApiResultT<Api2Paths.ApiV1BrokerSimpleTender.Delete.Responses.$204>> => {\n        return this.doFetch<Api2Paths.ApiV1BrokerSimpleTender.Delete.Responses.$204>({\n            method: 'DELETE',\n            path: '/v1/broker/simple-tender',\n            expectedResponseContentType: 'unknown',\n        });\n    };\n\n    downloadTenderXLSFile = async (): Promise<\n        TranziitApiResultT<Api2Paths.ApiV1BrokerSimpleTenderResult.Get.Responses.$200>\n    > => {\n        return this.doFetch<Api2Paths.ApiV1BrokerSimpleTenderResult.Get.Responses.$200>({\n            method: 'GET',\n            path: '/v1/broker/simple-tender/result',\n            expectedResponseContentType: 'blob',\n        });\n    };\n}\n\nconst brokerTranziitApi = BrokerTranziitApi.getInstance();\n\nexport default brokerTranziitApi;\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"styles__input___HHliM\",\"right-node-controls\":\"styles__right-node-controls___CURY_\",\"fadeIn\":\"styles__fadeIn___jJrti\",\"blinking\":\"styles__blinking___bJfp1\"};","import React from 'react';\nimport { RemoteFormActionsT } from 'common/utils/hooks/useRemoteFormActions';\n\nconst RemoteFormActionsContext = React.createContext<RemoteFormActionsT>({});\n\nexport default RemoteFormActionsContext;\n","export const getAssetsTrackHashByOrderId = (orderId?: OrderIdT): string => {\n    return `${orderId || ''}`;\n};\n\nexport const getAssetTrackHashByOrderId = (orderId?: OrderIdT | null, assetId?: AssetIdT | null): string => {\n    return `${orderId || ''}_${assetId || ''}`;\n};\n\nexport const getAssetsTrackHashByTransportOrderId = (transportOrderId?: TransportOrderIdT): string => {\n    return `${transportOrderId || ''}`;\n};\n\nexport const getAssetTrackHashByTransportOrderId = (\n    transportOrderId?: TransportOrderIdT | null,\n    assetId?: AssetIdT | null,\n): string => {\n    return `${transportOrderId || ''}_${assetId || ''}`;\n};\n","import { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport AsyncCountryFormatter from 'design-system/components/InfoTable/formatters/AsyncCountryFormatter/AsyncCountryFormatter';\nimport { ApiDistanceByCountryT, CountryCodeT } from 'common/utils/api/models';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { UnitTypeEnum } from 'common/constants';\nimport { convertToKm } from 'common/utils/distance';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nexport const useDistanceByCountryRows = (distanceByCountry: ApiDistanceByCountryT | null | undefined) => {\n    const { t } = useTranslation();\n\n    return React.useMemo(() => {\n        return (\n            distanceByCountry?.map(({ country, distance }): InfoTableRowT => {\n                // @ts-expect-error This comparison appears to be unintentional because the types 'Countries' and '\"null\"' have no overlap.\n                const isUnspecified = country === 'null';\n\n                return {\n                    icon: <FlagIcon countryCode={country} />,\n                    name:\n                        !country || isUnspecified ? (\n                            t('common:info-table.placeholders.unspecified')\n                        ) : (\n                            <AsyncCountryFormatter countryCode={country as CountryCodeT} />\n                        ),\n                    value: <UnitTypeCount type={UnitTypeEnum.kilometersAbbreviation} count={convertToKm(distance)} />,\n                    emptyValue: t('common:info-table.placeholders.empty'),\n                    isBoldValue: true,\n                    testSelector: `mileage-${country}`,\n                };\n            }) || []\n        );\n    }, [t, distanceByCountry]);\n};\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FetchBrokerTeamDetailsRequestActionT } from './types';\nimport {\n    fetchBrokerTeamDetails,\n    fetchBrokerTeamDetailsBegin,\n    fetchBrokerTeamDetailsError,\n    fetchBrokerTeamDetailsSuccess,\n} from './slice';\nimport { selectBrokerTeamDetailsRequestStatus } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { normalizeTeamDetails } from 'broker-admin/store/broker-team-details/utils/normalize-team-details';\n\nfunction* fetchBrokerTeamDetailsSaga(action: FetchBrokerTeamDetailsRequestActionT): WrapGeneratorT<void> {\n    const { id, options } = action.payload;\n\n    const requestStatus: ReReturnT<typeof selectBrokerTeamDetailsRequestStatus> = yield select(\n        selectBrokerTeamDetailsRequestStatus(id),\n    );\n    if (!checkNeedRequest(requestStatus, options)) {\n        return;\n    }\n\n    yield put(fetchBrokerTeamDetailsBegin({ id }));\n\n    const [error, details]: ReturnApiT<typeof brokerTranziitApi.getTeamDetails> =\n        yield brokerTranziitApi.getTeamDetails(id);\n    if (error) {\n        yield put(fetchBrokerTeamDetailsError({ id, error }));\n    } else {\n        yield put(fetchBrokerTeamDetailsSuccess({ id, details: normalizeTeamDetails(details) }));\n    }\n}\n\nfunction* brokerTeamDetailsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(fetchBrokerTeamDetails.type, fetchBrokerTeamDetailsSaga);\n}\n\nexport default brokerTeamDetailsSaga;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\nimport styles from './QuickFilters.scss';\n\nimport isEmpty from 'lodash/isEmpty';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum, TabLabelSizeEnum } from 'common/components/tabs/TabLabel/constants';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n    NotificationPropsT,\n} from '../../notifications/NotificationLabel/NotificationLabel';\nimport groupBy from 'lodash/groupBy';\nimport isEqual from 'lodash/isEqual';\nimport Button, { ButtonThemeEnum } from '../../Button/Button';\n\nconst cx = classNames.bind(styles);\n\nexport type QuickFiltersOptionT<ValueT> = {\n    id: ValueT | undefined;\n    showPriority: number;\n    hidePriority: number;\n    label: string;\n    notificationProps?: NotificationPropsT | null;\n    testSelector: string;\n};\n\nexport type PropsT<ValueT> = {\n    className?: string;\n    selectedId: ValueT | undefined;\n    onSelect: (id: ValueT | undefined) => void;\n    options: Array<QuickFiltersOptionT<ValueT>>;\n    revertSeparatorIndexes?: number[];\n    moreStatusesLabel: string;\n    testSelector?: string;\n};\n\nconst sortByShowPriorityAsc = <ValueT extends string>(\n    optionA: QuickFiltersOptionT<ValueT>,\n    optionB: QuickFiltersOptionT<ValueT>,\n): number => {\n    return optionA.showPriority - optionB.showPriority;\n};\n\ntype OptionWidthByIdT = Record<string, number>;\n\nconst getFullWidth = <ValueT extends string>(\n    options: Array<QuickFiltersOptionT<ValueT>>,\n    optionWidthById: OptionWidthByIdT,\n): number => {\n    return options.reduce((summaryWidth, option) => {\n        return summaryWidth + (optionWidthById[option.id as string] || 0);\n    }, 0);\n};\n\nconst reduceTriggerNotificationProps = <ValueT extends string>(\n    options: Array<QuickFiltersOptionT<ValueT>>,\n): null | NotificationPropsT => {\n    const notificationGroups = groupBy(options, 'notificationProps.theme');\n\n    const reduceNotificationGroup = (options: Array<QuickFiltersOptionT<ValueT>>) => {\n        return options.reduce((summary, option) => {\n            return summary + (option?.notificationProps?.count || 0);\n        }, 0);\n    };\n\n    if (notificationGroups[NotificationLabelThemeEnum.red]) {\n        return {\n            count: reduceNotificationGroup(notificationGroups[NotificationLabelThemeEnum.red]),\n            theme: NotificationLabelThemeEnum.red,\n            isShowPlusSign: true,\n        };\n    }\n\n    if (notificationGroups[NotificationLabelThemeEnum.orange]) {\n        return {\n            count: reduceNotificationGroup(notificationGroups[NotificationLabelThemeEnum.orange]),\n            theme: NotificationLabelThemeEnum.orange,\n            isShowPlusSign: true,\n        };\n    }\n\n    if (notificationGroups[NotificationLabelThemeEnum.green]) {\n        return {\n            count: reduceNotificationGroup(notificationGroups[NotificationLabelThemeEnum.green]),\n            theme: NotificationLabelThemeEnum.green,\n        };\n    }\n\n    return null;\n};\n\nconst PROXIMITY = 10;\n\n/**\n *  @deprecated use QuickFiltersButtonGroups\n * */\nconst QuickFilters = <ValueT extends string>(props: PropsT<ValueT>): React.ReactElement | null => {\n    const { selectedId, onSelect, options, className, moreStatusesLabel, testSelector, revertSeparatorIndexes } = props;\n\n    const [optionWidthById, setOptionWidthById] = React.useState<OptionWidthByIdT>({});\n\n    const [containerWidth, setContainerWidth] = React.useState<number | null>(null);\n\n    const [containerNode, setContainerNode] = React.useState<HTMLDivElement | null>(null);\n    const containerRef = React.useCallback((containerNode) => {\n        if (containerNode !== null) {\n            setContainerNode(containerNode);\n            setContainerWidth(containerNode.offsetWidth);\n        }\n    }, []);\n\n    React.useEffect(() => {\n        if (!containerNode || !containerNode.firstChild) {\n            return;\n        }\n\n        // @ts-ignore Property 'children' does not exist on type 'ChildNode'.\n        const { children } = containerNode.firstChild;\n        if (!children) {\n            return;\n        }\n\n        const widthById: Record<string, number> = {};\n\n        for (let index = 0; index < children.length; index += 1) {\n            const child = children[index];\n            const id = child?.getAttribute('data-id') || 'undefined';\n            widthById[id] = (child?.offsetWidth || 0) + 0.5; // fix subpixel problem\n        }\n\n        const newOptionWidthById = {\n            ...optionWidthById,\n            ...widthById,\n        };\n\n        if (!isEqual(newOptionWidthById, optionWidthById)) {\n            setOptionWidthById(newOptionWidthById);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [containerNode, options, moreStatusesLabel]);\n\n    React.useLayoutEffect(() => {\n        const measureContainer = () => {\n            if (!containerNode) {\n                return;\n            }\n\n            setContainerWidth(containerNode.offsetWidth);\n        };\n\n        window.addEventListener('resize', measureContainer);\n\n        return () => {\n            window.removeEventListener('resize', measureContainer);\n        };\n    }, [containerNode]);\n\n    const moreRef = React.createRef<HTMLDivElement>();\n    const [moreWidth, setMoreWidth] = React.useState<number | null>(null);\n    React.useEffect(() => {\n        setMoreWidth(moreRef.current?.offsetWidth || 0);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [moreRef.current]);\n\n    const sortedOptionsByHidePriority = options.sort((optionA, optionB) => {\n        return optionA.hidePriority - optionB.hidePriority;\n    });\n\n    const isMeasuring = isEmpty(optionWidthById) || containerWidth === null;\n\n    let optionsWidthLimit = isMeasuring || containerWidth === null ? Infinity : containerWidth - PROXIMITY;\n\n    const optionsForShow = [...sortedOptionsByHidePriority];\n    const optionsForHide = [];\n\n    let optionsWidth = getFullWidth(optionsForShow, optionWidthById);\n\n    if (optionsWidth > optionsWidthLimit && moreWidth !== null) {\n        optionsWidthLimit -= moreWidth;\n    }\n\n    while (optionsWidth > optionsWidthLimit) {\n        const option = optionsForShow.pop();\n        if (option) {\n            optionsForHide.push(option);\n            const optionWidth = optionWidthById[option?.id as string];\n            optionsWidth -= optionWidth;\n        }\n    }\n\n    const sortedOptionsForShow = isMeasuring ? options : optionsForShow.sort(sortByShowPriorityAsc);\n\n    const optionsForMeasure: Array<QuickFiltersOptionT<ValueT>> = [\n        {\n            // @ts-ignore\n            id: '',\n            showPriority: 0,\n            hidePriority: 0,\n            label: '',\n        },\n    ];\n\n    const rawDropdownOptions = isMeasuring ? optionsForMeasure : optionsForHide.sort(sortByShowPriorityAsc);\n\n    const dropdownOptions = rawDropdownOptions.map((option, optionIndex) => ({\n        label: (\n            <DropdownControlOptionLabel\n                key={optionIndex}\n                isSelected={selectedId === option.id}\n                label={\n                    <>\n                        {option.notificationProps && (\n                            <NotificationLabel className={cx('notification')} {...option.notificationProps} />\n                        )}\n                        {option.label}\n                    </>\n                }\n            />\n        ),\n        onSelect: () => {\n            onSelect(option.id);\n        },\n    }));\n\n    const triggerNotificationProps = reduceTriggerNotificationProps(rawDropdownOptions);\n\n    React.useEffect(() => {\n        setMoreWidth(moreRef.current?.offsetWidth || 0);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [`${triggerNotificationProps?.count}-${triggerNotificationProps?.theme}`, moreRef.current]);\n\n    const dropdownOptionsWithSeparators = React.useMemo(() => {\n        const { length } = dropdownOptions;\n        const options: Array<DropdownControlOptionT | SpecialOptionEnum> = [...dropdownOptions];\n\n        (revertSeparatorIndexes || []).forEach((separatorIndex) => {\n            if (separatorIndex >= length) {\n                return;\n            }\n\n            const originalIndex = length - separatorIndex;\n            const originalOptions = dropdownOptions[originalIndex];\n            const index = options.findIndex((option) => option === originalOptions);\n\n            options.splice(index, 0, SpecialOptionEnum.separator);\n        });\n\n        return options;\n    }, [dropdownOptions, revertSeparatorIndexes]);\n\n    return (\n        <div className={cs(cx('wrap'), className)} ref={containerRef}>\n            <div className={cx('container', { 'container--isMeasuring': isMeasuring })}>\n                {sortedOptionsForShow.map((option, optionIndex) => (\n                    <div className={cx('option')} key={optionIndex} data-id={String(option.id)}>\n                        <TabLabel\n                            isCompact\n                            size={TabLabelSizeEnum.small}\n                            theme={TabsThemesEnum.light}\n                            testSelector={`${testSelector}_${option.testSelector}`}\n                            isActive={selectedId === option.id}\n                            onClick={() => {\n                                onSelect(option.id);\n                            }}\n                            badge={\n                                option.notificationProps?.count ? (\n                                    <NotificationLabel {...option.notificationProps} />\n                                ) : null\n                            }\n                        >\n                            {option.label}\n                        </TabLabel>\n                    </div>\n                ))}\n                <div className={cx('toggle')} ref={moreRef} data-id=\"more-statuses\">\n                    <DropdownControl\n                        options={dropdownOptionsWithSeparators}\n                        testSelector={`${testSelector}_more-statuses`}\n                        renderTrigger={(isActive, onClick) => (\n                            <Button\n                                onClick={onClick}\n                                isPressed={isActive}\n                                testSelector={`${testSelector}_more-statuses`}\n                                leftIcon={\n                                    triggerNotificationProps ? (\n                                        <NotificationLabel {...triggerNotificationProps} />\n                                    ) : null\n                                }\n                                rightIcon={<ArrowsIcon />}\n                                theme={ButtonThemeEnum.transparent}\n                            >\n                                {moreStatusesLabel}\n                            </Button>\n                        )}\n                        overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                    />\n                </div>\n            </div>\n        </div>\n    );\n};\n\n/**\n *  @deprecated use QuickFiltersButtonGroups\n * */\nexport default React.memo(QuickFilters) as typeof QuickFilters;\n","import requestStatus from 'common/utils/request-status';\nimport {\n    CarrierContractDetailsActionT,\n    CarrierContractsDetailStateT,\n    CarrierContractStateT,\n    FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_BEGIN,\n    FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_ERROR,\n    FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_SUCCESS,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCarrierContractState: CarrierContractStateT = {\n    data: null,\n    fetchRequest: requestStatus.initial,\n};\n\nconst initialState: CarrierContractsDetailStateT = {};\n\nexport default (\n    state = initialState,\n    action: CarrierContractDetailsActionT | DestroySessionActionT,\n): CarrierContractsDetailStateT => {\n    switch (action.type) {\n        case FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_BEGIN: {\n            const { contractId } = action;\n            const carrierContractState = state[contractId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [contractId]: {\n                    ...carrierContractState,\n                    fetchRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_ERROR: {\n            const { contractId, error } = action;\n            const carrierContractState = state[contractId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [contractId]: {\n                    ...carrierContractState,\n                    fetchRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_SUCCESS: {\n            const { contractId, contractDetails } = action;\n            const carrierContractState = state[contractId] || initialCarrierContractState;\n\n            return {\n                ...state,\n                [contractId]: {\n                    ...carrierContractState,\n                    data: contractDetails,\n                    fetchRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './CommonDocumentParamsDetails.scss';\nimport { useTranslation } from 'react-i18next';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport CalendarIcon from 'common/icons/CalendarIcon';\nimport { DEFAULT_ICON_SIZE, documentsWithoutExpirySet, StyleGuideColorsEnum } from 'common/constants';\nimport { formatDate } from 'common/utils/time';\nimport { DocumentVersionT } from 'common/store/documents/models';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    actualVersion: DocumentVersionT | null;\n};\n\nconst CommonDocumentParamsDetails: React.FC<PropsT> = (props) => {\n    const { actualVersion } = props;\n\n    const { t } = useTranslation();\n\n    const isShowExpirationDate =\n        !!actualVersion?.documentType && !documentsWithoutExpirySet.has(actualVersion?.documentType);\n\n    return (\n        <>\n            {isShowExpirationDate && (\n                <ReadOnlyField\n                    icon={\n                        <CalendarIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.brandAccent}\n                            strokeColor={StyleGuideColorsEnum.brandDark}\n                        />\n                    }\n                    label={t('common:documents.details.valid-till')}\n                    value={formatDate('DD.MM.YYYY', actualVersion?.validTill)}\n                    placeholder={t('common:fields.placeholder.empty')}\n                />\n            )}\n        </>\n    );\n};\n\nexport default CommonDocumentParamsDetails;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './BaseShipperContractsLayout.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ApiShipperContractStatusT, ShipperContractsSortEnum } from 'common/utils/api/models';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport BaseShipperContractsTable from './BaseShipperContractsTable/BaseShipperContractsTable';\nimport { useQueryParams } from 'use-query-params';\nimport {\n    selectShipperContractsByIds,\n    selectShipperContractsPages,\n    selectShipperContractsTotal,\n} from 'common/store/shipper-contracts/selectors';\nimport { fetchShipperContractsPage } from 'common/store/shipper-contracts/slice';\nimport {\n    shipperContractsPaginationChannel,\n    shipperContractsRefreshChannel,\n} from 'common/store/shipper-contracts/channels';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { ShipperContractsTableRowT } from 'common/layouts/BaseShipperContractsLayout/BaseShipperContractsTable/models';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport noop from 'lodash/noop';\nimport { isNonNil } from 'common/utils';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkQueryFiltersKeys } from 'common/components/Table/utils/check-query-filters-keys';\nimport { logWarning } from 'common/utils/logger';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contactStatusesAttentionSet?: Set<ApiShipperContractStatusT | null>;\n    onUploadShipperContract?: () => void;\n\n    navigationTabs: React.ReactNode;\n\n    onOpenShipperContractDetails: (shipperContractId: ShipperContractIdT) => void;\n};\n\nconst BaseShipperContractsLayout: React.FC<PropsT> = React.memo((props) => {\n    const { navigationTabs, contactStatusesAttentionSet, onUploadShipperContract, onOpenShipperContractDetails } =\n        props;\n\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const total = useSelector(selectShipperContractsTotal(partnerId));\n    const pages = useSelector(selectShipperContractsPages(partnerId));\n    const byId = useSelector(selectShipperContractsByIds(partnerId));\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.shipperContractsPage]: createPageNumberParam(),\n        [QueryKeysEnum.shipperContractsSort]: createSortParams<ShipperContractsSortEnum>({\n            value: ShipperContractsSortEnum.addedDate,\n            direction: SortDirectionEnum.DESC,\n        }),\n        [QueryKeysEnum.shipperContractsFilters]: createJsonParams<QueryFiltersT>({}),\n    });\n\n    const selectedSort = query[QueryKeysEnum.shipperContractsSort];\n    const pageNumber = query[QueryKeysEnum.shipperContractsPage];\n    const queryFilters = query[QueryKeysEnum.shipperContractsFilters];\n\n    const page = pages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchShipperContractsPage({ pageNumber, query, partnerId, options: { isForceUpdate: false } }));\n    }, [pageNumber, selectedSort, queryFilters, partnerId, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchShipperContractsPage({ pageNumber, query, partnerId, options: { isForceUpdate: true } }));\n    }, [pageNumber, selectedSort, queryFilters, partnerId, dispatch]);\n    useChannelSubscribe(shipperContractsRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchShipperContractsPage({ pageNumber, query, partnerId, options: { isForceUpdate: true } }));\n    }, [pageNumber, selectedSort, queryFilters, partnerId, dispatch]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.shipperContractsPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof shipperContractsPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(shipperContractsPaginationChannel, setPageHandler);\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in BaseShipperContractsLayout useEffect');\n            return (): void => {};\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchShipperContractsPage({ pageNumber, query, partnerId }));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [dispatch, pageNumber, selectedSort, queryFilters, partnerId]);\n\n    const shipperContractsTableRows = React.useMemo((): Array<ShipperContractsTableRowT> => {\n        return (ids || []).map((id) => byId[id]).filter(isNonNil);\n    }, [ids, byId]);\n\n    const sortOptions: Array<SortDropdownOptionT<ShipperContractsSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('common:shipper-contracts.table.sorts.added-date'),\n                value: ShipperContractsSortEnum.addedDate,\n            },\n            {\n                label: t('common:shipper-contracts.table.sorts.valid-till-date'),\n                value: ShipperContractsSortEnum.validTillDate,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<ShipperContractsSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.shipperContractsPage]: 0,\n            [QueryKeysEnum.shipperContractsSort]: sort,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        changeQuery({\n            [QueryKeysEnum.shipperContractsPage]: 0,\n            [QueryKeysEnum.shipperContractsFilters]: selectedQueryFilters,\n        });\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.shipperContractsFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.shipperContractsPage]: 0,\n            [QueryKeysEnum.shipperContractsFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.text]: searchText || undefined,\n        });\n    };\n\n    const handleOpenShipperContractDetails = (row: ShipperContractsTableRowT) => {\n        onOpenShipperContractDetails(row.id);\n    };\n\n    const handleOpenUserDetails = (userId: UserIdT) => {\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleOpenUserDetails');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType,\n            userId,\n        });\n    };\n\n    const renderEmptyState = () => {\n        if (!checkNeedRenderEmptyState(shipperContractsTableRows, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasAnyFilters } = checkQueryFiltersKeys(queryFilters, [], []);\n        if (hasAnyFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('common:shipper-contracts.table.messages.not-found.title')}\n                    description={t('common:shipper-contracts.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('common:shipper-contracts.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"not-found\"\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('common:shipper-contracts.table.messages.empty.title')}\n                description={t('common:shipper-contracts.table.messages.empty.description')}\n                isShowAction={!!onUploadShipperContract}\n                actionTitle={t('common:shipper-contracts.table.messages.empty.action')}\n                actionTheme={ButtonThemeEnum.primary}\n                onActionClick={onUploadShipperContract || noop}\n                testSelector=\"empty\"\n            />\n        );\n    };\n\n    return (\n        <>\n            <ListPageLayout>\n                <ListPageHeaderLayout\n                    leftToolsNode={\n                        <>\n                            <div>{navigationTabs}</div>\n                            <SortDropdown\n                                overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                selectedValue={selectedSort}\n                                options={sortOptions}\n                                onSelect={handleSelectSort}\n                            />\n                            <SearchControl\n                                placeholder={t('common:shipper-contracts.table.search.placeholder')}\n                                searchText={queryFilters[QueryFiltersKeysEnum.text]}\n                                onChangeSearchText={handleSearch}\n                            />\n                        </>\n                    }\n                    filterTagsNode={\n                        <SelectedFilters\n                            isCompact\n                            queryFilters={queryFilters}\n                            setQueryFilters={handleSetQueryFilters}\n                        />\n                    }\n                    rightToolsNode={\n                        onUploadShipperContract ? (\n                            <Button theme={ButtonThemeEnum.primary} onClick={onUploadShipperContract}>\n                                {t('common:shipper-contracts.actions.upload')}\n                            </Button>\n                        ) : null\n                    }\n                />\n                {renderEmptyState()}\n                <BaseShipperContractsTable\n                    tableName=\"shipper-contracts\"\n                    rows={shipperContractsTableRows}\n                    onSelectRow={handleOpenShipperContractDetails}\n                    onOpenUserDetails={handleOpenUserDetails}\n                    isLoading={requestStatus?.loading}\n                    contactStatusesAttentionSet={contactStatusesAttentionSet}\n                />\n            </ListPageLayout>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n        </>\n    );\n});\n\nexport default BaseShipperContractsLayout;\n","import React from 'react';\n\nconst ContentRootContext = React.createContext<HTMLDivElement | null>(null);\n\nexport default ContentRootContext;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst DriverIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, fillOpacity, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" {...rest}>\n            <path\n                fill={fillColor}\n                fillOpacity={fillOpacity || 1}\n                fillRule=\"evenodd\"\n                d=\"M10 2a8 8 0 100 16 8 8 0 000-16zm0 2a5.94 5.94 0 014.465 2.022A6.086 6.086 0 0115.633 8H4.367c.26-.727.653-1.39 1.151-1.959A5.942 5.942 0 0110 4zm0 7a1 1 0 110-2 1 1 0 110 2zm-6-1c2.732 0 4.945 2.633 4.992 5.899C6.164 15.414 4 12.963 4 10zm7.008 5.899C11.055 12.633 13.268 10 16 10c0 2.963-2.164 5.414-4.992 5.899z\"\n            />\n        </svg>\n    );\n};\n\nDriverIcon.displayName = 'DriverIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default DriverIcon;\n\nexport const DriverIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.light,\n        };\n    },\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getDriverIconProps = (preset: 'default' | 'selected'): Pick<PropsT, 'fillColor'> => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                fillColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        default: {\n            return {\n                fillColor: StyleGuideColorsEnum.slate,\n            };\n        }\n    }\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './AlertContainer.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    children: React.ReactNode;\n};\n\nexport const AlertContainer: React.FC<PropsT> = (props) => {\n    const { children, className } = props;\n\n    return <div className={cs(cx('container', className))}>{children}</div>;\n};\n","// extracted by mini-css-extract-plugin\nexport default {};","import * as React from 'react';\n\nconst useOnceShow = (isAllowShow: boolean) => {\n    const [isClosed, setClosed] = React.useState<boolean>(false);\n    const [isShow, setShow] = React.useState<boolean>(false);\n\n    React.useEffect(() => {\n        if (isAllowShow && !isClosed) {\n            setShow(true);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isAllowShow]);\n\n    const close = React.useCallback(() => {\n        setClosed(true);\n        setShow(false);\n    }, [setClosed, setShow]);\n\n    return {\n        isShow,\n        close,\n    };\n};\n\nexport default useOnceShow;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const shipperContractLaneDetailsRefreshChannel = new ViewEventChannel<{\n    shipperContractId: ShipperContractIdT;\n    laneId: ShipperContractLaneIdT;\n}>();\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ExcludeCountriesMapWidget from 'common/components/ExcludeCountriesMapWidget/ExcludeCountriesMapWidget';\nimport { CountryCodeT } from 'common/utils/api/models';\n\ntype PropsT<T extends CountryCodeT> = {\n    className?: string;\n    excludedCountries: Array<T>;\n    setExcludedCountries: (excludedCountries: Array<T>) => void;\n    additionalTagsNode?: React.ReactNode;\n};\n\nconst ExcludeCountries = <T extends CountryCodeT>(props: PropsT<T>) => {\n    const { className, excludedCountries, setExcludedCountries, additionalTagsNode } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <ExcludeCountriesMapWidget\n            className={className}\n            excludedCountries={excludedCountries}\n            setExcludedCountries={setExcludedCountries}\n            triggerLabel={t('assignment.search-form.excluded-countries.trigger')}\n            inputPlaceholder={t('assignment.search-form.excluded-countries.search-input-placeholder')}\n            additionalTagsNode={additionalTagsNode}\n        />\n    );\n};\n\nexport default React.memo(ExcludeCountries) as typeof ExcludeCountries;\n","// extracted by mini-css-extract-plugin\nexport default {\"side-bar\":\"SideBar__side-bar___tIpX8\",\"side-bar--position-left\":\"SideBar__side-bar--position-left___VRaG5\",\"side-bar--isShow\":\"SideBar__side-bar--isShow___QRFYX\",\"side-bar--position-right\":\"SideBar__side-bar--position-right___bslqo\",\"side-bar--isNarrow\":\"SideBar__side-bar--isNarrow___SCwCU\",\"content\":\"SideBar__content___f9wyb\",\"fadeIn\":\"SideBar__fadeIn___a6puv\",\"blinking\":\"SideBar__blinking___qFndy\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchShipperContractDetails,\n    fetchShipperContractDetailsBegin,\n    fetchShipperContractDetailsError,\n    fetchShipperContractDetailsSuccess,\n    updateShipperContractDetailsBegin,\n    updateShipperContractDetailsError,\n    updateShipperContractDetailsSuccess,\n    uploadShipperContract,\n    revokeShipperContract,\n    downloadShipperContract,\n    downloadShipperContractDetailsBegin,\n    downloadShipperContractDetailsSuccess,\n    downloadShipperContractDetailsError,\n    updateShipperContract,\n} from './slice';\nimport {\n    DownloadShipperContractActionT,\n    FetchShipperContractDetailsActionT,\n    RevokeShipperContractDetailsActionT,\n    UpdateShipperContractActionT,\n    UploadShipperContractDetailsActionT,\n} from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectShipperContractDetailsState } from 'common/store/shipper-contract-details/selectors';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport shipperTranziitApi from 'shipper/utils/api/shipper-tranziit/api';\nimport { shipperContractsRefreshChannel } from 'common/store/shipper-contracts/channels';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport downloadFile from 'common/utils/download-file';\nimport { carrierContractDetailsRefreshChannel } from 'common/store/carrier-contract-details/channels';\nimport { HEADERS, parseContentDispositionFilename } from 'common/utils/download-headers';\nimport { logWarning } from 'common/utils/logger';\n\nfunction getFetchShipperContractDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: FetchShipperContractDetailsActionT): WrapGeneratorT<void> {\n        const { partnerId, shipperContractId, options } = action.payload;\n\n        const { fetchRequest }: ReReturnT<typeof selectShipperContractDetailsState> = yield select(\n            selectShipperContractDetailsState(shipperContractId),\n        );\n        if (!checkNeedRequest(fetchRequest, options)) {\n            return;\n        }\n\n        yield put(fetchShipperContractDetailsBegin({ shipperContractId }));\n\n        let result: ReturnApiT<\n            typeof shipperTranziitApi.fetchShipperContractDetails | typeof brokerTranziitApi.fetchShipperContractDetails\n        >;\n        if (companyType === CompanyTypeEnum.shipper) {\n            result = yield shipperTranziitApi.fetchShipperContractDetails(shipperContractId);\n        } else {\n            result = yield brokerTranziitApi.fetchShipperContractDetails(partnerId, shipperContractId);\n        }\n\n        const [error, data] = result;\n\n        if (error) {\n            yield put(fetchShipperContractDetailsError({ shipperContractId, error }));\n        } else {\n            yield put(fetchShipperContractDetailsSuccess({ shipperContractId, data }));\n        }\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getUploadShipperContractDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: UploadShipperContractDetailsActionT): WrapGeneratorT<void> {\n        const { partnerId, file, details } = action.payload;\n\n        yield put(updateShipperContractDetailsBegin({}));\n\n        const result: ReturnApiT<typeof brokerTranziitApi.uploadShipperContract> =\n            yield brokerTranziitApi.uploadShipperContract(partnerId, details, file);\n        const [error] = result;\n\n        if (error) {\n            yield put(updateShipperContractDetailsError({ error }));\n        } else {\n            yield put(updateShipperContractDetailsSuccess({}));\n\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.shipperContractUploaded,\n                        data: {},\n                    }),\n                ),\n            );\n        }\n\n        shipperContractsRefreshChannel.emit({});\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getUpdateShipperContractDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: UpdateShipperContractActionT): WrapGeneratorT<void> {\n        const { partnerId, file, shipperContractId, detailsChanges } = action.payload;\n\n        yield put(updateShipperContractDetailsBegin({}));\n\n        const result: ReturnApiT<typeof brokerTranziitApi.updateShipperContract> =\n            yield brokerTranziitApi.updateShipperContract(partnerId, shipperContractId, detailsChanges, file);\n        const [error] = result;\n\n        if (error) {\n            yield put(updateShipperContractDetailsError({ error }));\n        } else {\n            yield put(updateShipperContractDetailsSuccess({}));\n\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.shipperContractUpdated,\n                        data: {},\n                    }),\n                ),\n            );\n        }\n\n        shipperContractsRefreshChannel.emit({});\n        carrierContractDetailsRefreshChannel.emit({ contractId: shipperContractId });\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getRevokeShipperContractDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: RevokeShipperContractDetailsActionT): WrapGeneratorT<void> {\n        const { partnerId, shipperContractId, reason } = action.payload;\n\n        yield put(updateShipperContractDetailsBegin({}));\n\n        const result: ReturnApiT<typeof brokerTranziitApi.revokeShipperContract> =\n            yield brokerTranziitApi.revokeShipperContract(partnerId, shipperContractId, reason);\n        const [error] = result;\n\n        if (error) {\n            yield put(updateShipperContractDetailsError({ error }));\n        } else {\n            yield put(updateShipperContractDetailsSuccess({}));\n\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.shipperContractRevoked,\n                        data: {},\n                    }),\n                ),\n            );\n        }\n\n        shipperContractsRefreshChannel.emit({});\n        carrierContractDetailsRefreshChannel.emit({ contractId: shipperContractId });\n    };\n}\n\nfunction getDownloadShipperContractDetailsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: DownloadShipperContractActionT): WrapGeneratorT<void> {\n        const { partnerId, shipperContractId } = action.payload;\n\n        yield put(downloadShipperContractDetailsBegin({}));\n\n        let response: ReturnApiT<\n            typeof shipperTranziitApi.fetchShipperContract | typeof brokerTranziitApi.fetchShipperContract\n        >;\n        if (companyType === CompanyTypeEnum.broker) {\n            response = yield brokerTranziitApi.fetchShipperContract(partnerId, shipperContractId);\n        } else {\n            response = yield shipperTranziitApi.fetchShipperContract(shipperContractId);\n        }\n        const [error, result, rawResponse] = response;\n\n        if (error) {\n            yield put(downloadShipperContractDetailsError({ error }));\n            return;\n        }\n\n        if (!rawResponse) {\n            logWarning('empty rawResponse for shipper contract download', { partnerId, shipperContractId });\n        }\n\n        const contentDispositionHeader = rawResponse?.headers.get(HEADERS.CONTENT_DISPOSITION);\n        const filename = parseContentDispositionFilename(contentDispositionHeader || '');\n        if (!filename) {\n            logWarning('empty filename for shipper contract download', {\n                partnerId,\n                shipperContractId,\n                contentDispositionHeader,\n            });\n        }\n\n        const fileTypeHeader = rawResponse?.headers.get(HEADERS.CONTENT_TYPE);\n        if (!fileTypeHeader) {\n            logWarning('empty file type for shipper contract download', {\n                partnerId,\n                shipperContractId,\n                fileTypeHeader,\n            });\n        }\n\n        if (result && filename && fileTypeHeader) {\n            downloadFile({\n                name: filename,\n                data: result,\n                type: fileTypeHeader,\n            });\n        }\n\n        yield put(downloadShipperContractDetailsSuccess({}));\n    };\n}\n\nfunction* shipperContractDetailsSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(fetchShipperContractDetails.type, getFetchShipperContractDetailsSaga(companyType));\n    yield takeEvery(uploadShipperContract.type, getUploadShipperContractDetailsSaga(companyType));\n    yield takeEvery(revokeShipperContract.type, getRevokeShipperContractDetailsSaga(companyType));\n    yield takeEvery(downloadShipperContract.type, getDownloadShipperContractDetailsSaga(companyType));\n    yield takeEvery(updateShipperContract.type, getUpdateShipperContractDetailsSaga(companyType));\n}\n\nexport { shipperContractDetailsSaga };\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst LeftArrowIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill={fillColor} d=\"M16 9.25H6.872l4.193-4.192L10 4l-6 6 6 6 1.057-1.057-4.185-4.193H16z\" />\n            </g>\n        </svg>\n    );\n};\n\nLeftArrowIcon.displayName = 'LeftArrowIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default LeftArrowIcon;\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { USER_POSITIONS_T_MAP } from 'common/utils/users';\nimport { ContactPositionsEnum } from 'common/utils/api/models';\n\ntype PropsT = {\n    className?: string;\n    position: string;\n};\n\nconst UNKNOWN_LABEL_COLOR = PillLabelThemeEnum.light;\n\nconst UserPositionPill: React.FC<PropsT> = React.memo((props) => {\n    const { position } = props;\n\n    const { t } = useTranslation();\n\n    const positionKey = USER_POSITIONS_T_MAP[position as ContactPositionsEnum];\n\n    return (\n        <PillLabel\n            className={props.className}\n            theme={positionKey ? PillLabelThemeEnum.slate : UNKNOWN_LABEL_COLOR}\n            isSymmetrical\n        >\n            {positionKey ? t(positionKey) : position}\n        </PillLabel>\n    );\n});\n\nexport default UserPositionPill;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"UserDropdownOptionLabel__option___Jctry\",\"avatar\":\"UserDropdownOptionLabel__avatar___Z8TDh\",\"label\":\"UserDropdownOptionLabel__label___atAA4\",\"fadeIn\":\"UserDropdownOptionLabel__fadeIn___L9OLS\",\"blinking\":\"UserDropdownOptionLabel__blinking___TNuBZ\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PhoneCell.scss';\n\ntype PropsT = {\n    phone: string;\n    isHalfOpacity?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst PhoneCell: React.FC<PropsT> = React.memo((props) => {\n    const { phone, isHalfOpacity } = props;\n\n    return <div className={cx('phone', { 'phone--isHalfOpacity': isHalfOpacity })}>{phone}</div>;\n});\n\nexport default PhoneCell;\n","import React, { MouseEvent } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Timeline.scss';\nimport SmallDownArrow from 'common/icons/SmallDownArrow';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { getCurrentTimeOffsetMin, MS_IN_MIN } from 'common/utils/time';\nimport { EVENT_PADDING, EVENT_WIDTH, EVENTS_LEVEL_WIDTH, LEFT_PADDING, RIGHT_PADDING } from './constants';\nimport { DelimiterThemeEnum, FlagT, TimelineLevelT, TimeWindowT } from './models';\nimport { TimeWindow } from './TimeWindow/TimeWindow';\nimport { Flag } from './Flag/Flag';\nimport { Delimiter } from './Delimeter/Delimeter';\nimport { getTicksTimestamps, getHalfTicksTimestamps, TimelineTicksParamsT } from './utils';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\nconst getOffsetPx = ({\n    timestamp,\n    start,\n    viewHeight,\n    viewMs,\n}: {\n    timestamp: number;\n    start: number;\n    viewHeight: number;\n    viewMs: number;\n}): number => {\n    return ((timestamp - start) * viewHeight) / viewMs;\n};\n\nexport type PropsT<T> = {\n    start: number;\n    finish: number;\n    viewMs: number;\n    viewHeight: number;\n    delimeterMultipleMs: number;\n    utcOffset?: number | null;\n    formatter: (value: number, utcOffset: number | null) => string;\n    timeWindowLevels: Array<TimelineLevelT<T>>;\n    onTimeWindowClick: (timeWindow: TimeWindowT<T>, event: MouseEvent<HTMLDivElement>) => void;\n    onTimeWindowBlur: (timeWindow: TimeWindowT<T>, event: MouseEvent<HTMLDivElement>) => void;\n    onTimeWindowFocus: (timeWindow: TimeWindowT<T>, event: MouseEvent<HTMLDivElement>) => void;\n    flags?: Array<FlagT<T>>;\n    nowLabel: string;\n};\n\nconst Timeline = <T = unknown,>(props: PropsT<T>) => {\n    const {\n        finish,\n        start,\n        viewMs,\n        viewHeight,\n        delimeterMultipleMs,\n        formatter,\n        timeWindowLevels,\n        flags,\n        onTimeWindowClick,\n        onTimeWindowBlur,\n        onTimeWindowFocus,\n        nowLabel,\n    } = props;\n\n    const [now, setNow] = React.useState<number>(Date.now());\n\n    React.useEffect(() => {\n        const interval = setInterval(() => {\n            setNow(Date.now());\n        }, MS_IN_MIN);\n\n        return () => {\n            clearInterval(interval);\n        };\n    }, []);\n\n    const isShowNowDelimiter = start <= now && now <= finish;\n\n    const utcOffsetMin = props.utcOffset || getCurrentTimeOffsetMin();\n    const utcOffsetMs = utcOffsetMin * MS_IN_MIN;\n\n    const getHeightPx = React.useCallback(\n        (intervalMs: number): number => {\n            return (intervalMs * viewHeight) / viewMs;\n        },\n        [viewHeight, viewMs],\n    );\n\n    const getOffsetPxCallback = React.useCallback(\n        (timestamp: number): number => {\n            return getOffsetPx({ timestamp, start, viewHeight, viewMs });\n        },\n        [viewHeight, viewMs, start],\n    );\n\n    const fullTimeLineWidthPx = LEFT_PADDING + RIGHT_PADDING + EVENTS_LEVEL_WIDTH * timeWindowLevels.length;\n\n    const ticksParams = React.useMemo(\n        (): TimelineTicksParamsT => ({\n            minMs: start,\n            maxMs: finish,\n            stepMs: delimeterMultipleMs,\n            utcOffsetMs,\n        }),\n        [start, finish, delimeterMultipleMs, utcOffsetMs],\n    );\n\n    const ticks = React.useMemo(() => getTicksTimestamps(ticksParams), [ticksParams]);\n    const halfTicks = React.useMemo(() => getHalfTicksTimestamps(ticksParams), [ticksParams]);\n\n    const srcollContainerRef = React.useRef<HTMLDivElement>(null);\n    const skipScrollIntoViewRef = React.useRef<boolean>(false);\n    const topTimestampRef = React.useRef<number | null>(null);\n\n    React.useEffect(() => {\n        if (!srcollContainerRef.current || !isNumber(topTimestampRef.current)) {\n            return;\n        }\n\n        if (skipScrollIntoViewRef.current) {\n            skipScrollIntoViewRef.current = false;\n            return;\n        }\n\n        const topOffsetPx = getOffsetPx({ timestamp: topTimestampRef.current, start, viewHeight, viewMs });\n        srcollContainerRef.current.scrollTo({\n            top: topOffsetPx,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [viewMs]);\n\n    React.useEffect(() => {\n        topTimestampRef.current = null;\n    }, [start, finish]);\n\n    const handleScroll = React.useCallback(\n        (event: React.MouseEvent<HTMLDivElement>) => {\n            const top = event.currentTarget.scrollTop;\n\n            const topTimestamp = start + (top / viewHeight) * viewMs;\n\n            topTimestampRef.current = topTimestamp;\n        },\n        [start, viewHeight, viewMs],\n    );\n\n    const handleTimeWindowClick = React.useCallback(\n        (timeWindow: TimeWindowT<T>, event: MouseEvent<HTMLDivElement>) => {\n            if (onTimeWindowClick) {\n                onTimeWindowClick(timeWindow, event);\n            }\n\n            skipScrollIntoViewRef.current = true;\n        },\n        [onTimeWindowClick],\n    );\n\n    return (\n        <div\n            className={cx('timeline')}\n            style={{\n                width: `${fullTimeLineWidthPx}px`,\n            }}\n            onScroll={handleScroll}\n            ref={srcollContainerRef}\n        >\n            <div\n                className={cx('inner')}\n                style={{\n                    height: `${getHeightPx(finish - start)}px`,\n                }}\n            >\n                {ticks.map((timestamp) => {\n                    return (\n                        <Delimiter\n                            key={timestamp}\n                            theme={DelimiterThemeEnum.step}\n                            utcOffset={utcOffsetMin}\n                            label={formatter(timestamp, utcOffsetMin)}\n                            topOffsetPx={getOffsetPxCallback(timestamp)}\n                        />\n                    );\n                })}\n                {halfTicks.map((timestamp) => (\n                    <Delimiter\n                        key={timestamp}\n                        theme={DelimiterThemeEnum.halfStep}\n                        utcOffset={null}\n                        label={null}\n                        topOffsetPx={getOffsetPxCallback(timestamp)}\n                    />\n                ))}\n                {isShowNowDelimiter && (\n                    <Delimiter\n                        key=\"now\"\n                        theme={DelimiterThemeEnum.now}\n                        utcOffset={utcOffsetMin}\n                        label={\n                            <div className={cx('now')}>\n                                <span className={cx('now__text')}>{nowLabel}</span>\n                                <SmallDownArrow fillColor={StyleGuideColorsEnum.white} />\n                            </div>\n                        }\n                        topOffsetPx={getHeightPx(now - start)}\n                    />\n                )}\n                {timeWindowLevels.map((level, levelIndex) => {\n                    const levelLeftOffsetPx = LEFT_PADDING + EVENTS_LEVEL_WIDTH * levelIndex;\n\n                    return (\n                        <>\n                            {level.timeWindows.map((timeWindow, index) => {\n                                return (\n                                    <TimeWindow\n                                        key={`${timeWindow.id}-${index}`}\n                                        timeWindow={timeWindow}\n                                        start={start}\n                                        getHeight={getHeightPx}\n                                        onClick={handleTimeWindowClick}\n                                        onBlur={onTimeWindowBlur}\n                                        onFocus={onTimeWindowFocus}\n                                        style={{\n                                            left: `${levelLeftOffsetPx + EVENT_PADDING}px`,\n                                            minWidth: `${EVENT_WIDTH}px`,\n                                        }}\n                                    />\n                                );\n                            })}\n                        </>\n                    );\n                })}\n                {flags?.map((flag) => {\n                    return <Flag<T> key={flag.id} flag={flag} start={start} getHeight={getHeightPx} />;\n                })}\n            </div>\n        </div>\n    );\n};\n\nexport default Timeline;\n","import head from 'lodash/head';\nimport GeocoderResult = google.maps.GeocoderResult;\n\nclass GoogleMapsGeocoderApi {\n    private maps: MapsT | null;\n\n    constructor(maps: MapsT | null | undefined) {\n        this.maps = maps || null;\n    }\n\n    geocode = async (point: GeoPointT): Promise<GeocoderResult | null> => {\n        const { maps } = this;\n        if (!maps) {\n            return Promise.resolve(null);\n        }\n\n        const gLocation = new maps.LatLng(point.lat, point.lng);\n        const geocoder = new maps.Geocoder();\n\n        return new Promise((resolve) => {\n            if (!geocoder) {\n                resolve(null);\n                return;\n            }\n\n            geocoder.geocode({ location: gLocation }, (results): void => {\n                if (!results) {\n                    resolve(null);\n                    return;\n                }\n\n                const firstGeocodeResultWithPostalAddress = results.find((data) => {\n                    return data.address_components?.find((component) => component.types?.includes('postal_code'));\n                });\n                const firstGeocodeResultWithCountryCode = results.find((data) => {\n                    return data.address_components?.find((component) => component.types?.includes('country'));\n                });\n                const firstGeocodeResult = head(results);\n                const geocodeResult =\n                    firstGeocodeResultWithPostalAddress || firstGeocodeResultWithCountryCode || firstGeocodeResult;\n\n                resolve(geocodeResult || null);\n            });\n        });\n    };\n}\n\nexport { GoogleMapsGeocoderApi };\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    // eslint-disable-next-line react/no-unused-prop-types\n    key?: string;\n    // eslint-disable-next-line react/no-unused-prop-types\n    lat?: number;\n    // eslint-disable-next-line react/no-unused-prop-types\n    lng?: number;\n    isWrong?: boolean;\n    className?: string;\n};\n\nconst DestinationPinIcon: React.FC<PropsT> = (props) => {\n    const { isWrong, className } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"45\" viewBox=\"0 0 40 45\" className={className}>\n            <defs>\n                <filter\n                    id=\"r6d1i0clwa\"\n                    width=\"390%\"\n                    height=\"357.8%\"\n                    x=\"-145%\"\n                    y=\"-128.9%\"\n                    filterUnits=\"objectBoundingBox\"\n                >\n                    <feOffset in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n                    <feGaussianBlur in=\"shadowOffsetOuter1\" result=\"shadowBlurOuter1\" stdDeviation=\"15\" />\n                    <feColorMatrix\n                        in=\"shadowBlurOuter1\"\n                        result=\"shadowMatrixOuter1\"\n                        values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n                    />\n                    <feMerge>\n                        <feMergeNode in=\"SourceGraphic\" />\n                    </feMerge>\n                </filter>\n            </defs>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <g>\n                    <g>\n                        <g\n                            filter=\"url(#r6d1i0clwa)\"\n                            transform=\"translate(-1160 -851) translate(569) translate(591 851)\"\n                        >\n                            <path\n                                fill={isWrong ? StyleGuideColorsEnum.tomatoRed : StyleGuideColorsEnum.blazeOrange}\n                                d=\"M25 0c8.284 0 15 6.716 15 15v10c0 8.284-6.716 15-15 15l-5 5-5-5C6.716 40 0 33.284 0 25V15C0 6.716 6.716 0 15 0h10z\"\n                            />\n                            <path\n                                fill=\"#FFF\"\n                                fillRule=\"nonzero\"\n                                d=\"M20.859 30c2.358-.018 4.138-.52 5.34-1.504C27.398 27.51 28 26.039 28 24.08c0-1.08-.27-1.997-.811-2.748-.541-.75-1.317-1.263-2.327-1.538.895-.348 1.573-.888 2.034-1.62.461-.734.692-1.617.692-2.652 0-1.795-.65-3.164-1.948-4.107-1.3-.943-3.194-1.415-5.685-1.415H13v20h7.859zm-.758-11.662h-2.433v-4.615h2.287c1.046 0 1.804.185 2.274.556.47.37.705.977.705 1.82 0 .733-.218 1.287-.652 1.662-.434.375-1.161.568-2.18.577zm.625 7.953h-3.058v-4.794h3.27c1.605.01 2.408.847 2.408 2.514 0 .723-.226 1.284-.678 1.683-.453.398-1.1.597-1.942.597z\"\n                            />\n                        </g>\n                    </g>\n                </g>\n            </g>\n        </svg>\n    );\n};\n\nDestinationPinIcon.displayName = 'DestinationPinIcon';\n\nconst storyProps: PropsT = {};\n\nexport { storyProps };\nexport default DestinationPinIcon;\n","import { combineReducers } from 'redux';\nimport { configureStore } from '@reduxjs/toolkit';\nimport createSagaMiddleware from 'redux-saga';\nimport { fork, ForkEffect } from 'redux-saga/effects';\n\nimport authSaga from 'common/store/auth/sagas';\nimport userSaga from 'common/store/user/sagas';\nimport companySaga from 'common/store/company/sagas';\nimport trailersDictSaga from 'common/store/trailers-dict/sagas';\nimport trailersSaga from 'common/store/trailers/sagas';\nimport trucksDictSaga from 'common/store/trucks-dict/sagas';\nimport trucksSaga from 'common/store/trucks/sagas';\nimport errorsSaga from 'common/store/errors/sagas';\nimport partnersSaga from './partners/sagas';\nimport partnersStatsSaga from './partners-stats/sagas';\nimport managersSaga from './managers/sagas';\nimport dispatchersSaga from './dispatchers/sagas';\nimport partnerSaga from './partner/sagas';\nimport countriesDictSaga from 'common/store/countries-dict/sagas';\nimport documentsSaga from 'common/store/documents/sagas';\nimport documentsDictSaga from 'common/store/documents-dict/sagas';\nimport legalFormsDictSaga from 'common/store/legal-forms-dict/sagas';\nimport priceSettingsSaga from './price-settings/sagas';\nimport brokerOrderAssigmentSaga from 'broker-admin/store/broker-order-assigment/sagas';\nimport brokerOrderEditSaga from 'broker-admin/store/broker-order-edit/sagas';\nimport vehicleSchedulesSaga from 'common/store/vehicle-schedules/sagas';\nimport carriersUtilizationSaga from 'common/store/carriers-utilization/sagas';\nimport carrierSuggestSaga from 'common/store/carrier-suggest/sagas';\nimport shipperSuggestSaga from 'common/store/shipper-suggest/sagas';\nimport additionalServicesDictSaga from 'common/store/additional-services-dict/sagas';\nimport orderCreationSaga from 'common/store/order-creation/sagas';\nimport brokerOrdersSaga from 'broker-admin/store/broker-orders/sagas';\nimport brokerOrderDetailsSaga from 'broker-admin/store/broker-order-details/sagas';\nimport brokerOrderStatsSaga from 'broker-admin/store/broker-order-stats/sagas';\nimport brokerToursSaga from 'broker-admin/store/broker-tours/sagas';\nimport brokerTeamsSaga from 'broker-admin/store/broker-teams/sagas';\nimport brokerTourStatsSaga from 'broker-admin/store/broker-tour-stats/sagas';\nimport brokerTourDetailsSaga from 'broker-admin/store/broker-tour-details/sagas';\nimport brokerTeamDetailsSaga from 'broker-admin/store/broker-team-details/sagas';\nimport membersSaga from 'common/store/members/sagas';\nimport driversSaga from 'common/store/drivers/sagas';\nimport notificationsSaga from 'common/store/notifications/sagas';\nimport notificationsAffectsSaga from './notifications/sagas';\nimport assetTrackSaga from 'common/store/asset-track/sagas';\nimport carrierContractsSaga from 'common/store/carrier-contracts/sagas';\nimport transportOrdersSaga from 'common/store/transport-orders/sagas';\nimport transportOrderDetailsSaga from 'common/store/transport-order-details/sagas';\nimport groupedNotificationCountsSaga from 'common/store/grouped-notification-counts/sagas';\nimport gpsTrackingStatusSaga from 'common/store/gps-tracking-status/sagas';\nimport alertsSaga from 'common/store/alerts/sagas';\nimport settingsSaga from 'common/store/settings/sagas';\nimport driverSearchSaga from 'common/store/driver-search/sagas';\nimport papersSaga from 'common/store/papers/sagas';\nimport statisticsSaga from './statistics/sagas';\nimport spotRequestsSaga from 'broker-admin/store/spot-requests/sagas';\nimport spotRequestsStatsSaga from 'broker-admin/store/spot-requests-stats/sagas';\nimport spotRequestDetailsSaga from 'broker-admin/store/spot-request-details/sagas';\nimport spotSaga from './spot/sagas';\nimport spotAssetsAssigmentSaga from 'common/store/spot-assets-assigment/sagas';\nimport driverAssigmentSaga from 'common/store/driver-assigment/sagas';\nimport { invoicesSaga } from './invoices/sagas';\nimport { shipperContractsSaga } from 'common/store/shipper-contracts/sagas';\nimport { createCompanySaga } from 'common/store/create-company/sagas';\nimport { shipperContractLanesSaga } from 'common/store/shipper-contract-lanes/sagas';\nimport { shipperContractLaneCreationSaga } from 'common/store/shipper-contract-lane-creation/sagas';\nimport { shipperContractLaneDetailsSaga } from 'common/store/shipper-contract-lane-details/sagas';\nimport { countrySettingsDictSaga } from 'common/store/country-settings-dict/sagas';\nimport { consistentStateMachineSaga } from 'common/store/consistent-state-machine/sagas';\nimport rfqsSaga from 'common/store/rfqs/sagas';\nimport rfqsStatsSaga from 'common/store/rfqs-stats/sagas';\nimport rfqDetailsSaga from 'common/store/rfq-details/sagas';\nimport rfqsChangesSaga from 'common/store/rfqs-changes/sagas';\n\nimport authReducer from 'common/store/auth/reducer';\nimport userReducer from 'common/store/user/reducer';\nimport companyReducer from 'common/store/company/reducer';\nimport errorsReducer from 'common/store/errors/reducer';\nimport trailersDictReducer from 'common/store/trailers-dict/reducer';\nimport trailersReducer from 'common/store/trailers/reducer';\nimport trucksDictReducer from 'common/store/trucks-dict/reducer';\nimport trucksReducer from 'common/store/trucks/reducer';\nimport partnersReducer from './partners/reducer';\nimport partnersStatsReducer from './partners-stats/reducer';\nimport managersReducer from './managers/reducer';\nimport dispatchersReducer from './dispatchers/reducer';\nimport partnerReducer from './partner/reducer';\nimport countriesDictReducer from 'common/store/countries-dict/reducer';\nimport documentsReducer from 'common/store/documents/reducer';\nimport documentsDictReducer from 'common/store/documents-dict/reducer';\nimport legalFormsDictReducer from 'common/store/legal-forms-dict/reducer';\nimport priceSettingsReducer from './price-settings/reducer';\nimport brokerOrderAssigmentReducer from 'broker-admin/store/broker-order-assigment/reducer';\nimport brokerOrderEditReducer from 'broker-admin/store/broker-order-edit/reducer';\nimport brokerOrdersReducer from 'broker-admin/store/broker-orders/reducer';\nimport brokerToursReducer from 'broker-admin/store/broker-tours/reducer';\nimport brokerTeamsReducer from 'broker-admin/store/broker-teams/reducer';\nimport brokerTourStatsReducer from 'broker-admin/store/broker-tour-stats/reducer';\nimport brokerTourDetailsReducer from 'broker-admin/store/broker-tour-details/reducer';\nimport brokerTeamDetailsReducer from 'broker-admin/store/broker-team-details/slice';\nimport vehicleSchedulesReducer from 'common/store/vehicle-schedules/reducer';\nimport carriersUtilizationReducer from 'common/store/carriers-utilization/reducer';\nimport carrierSuggestReducer from 'common/store/carrier-suggest/reducer';\nimport shipperSuggestReducer from 'common/store/shipper-suggest/reducer';\nimport orderCreationReducer from 'common/store/order-creation/reducer';\nimport additionalServicesDictReducer from 'common/store/additional-services-dict/slice';\nimport brokerOrderDetailsReducer from 'broker-admin/store/broker-order-details/reducer';\nimport brokerOrderStatsReducer from 'broker-admin/store/broker-order-stats/reducer';\nimport membersReducer from 'common/store/members/reducer';\nimport driversReducer from 'common/store/drivers/reducer';\nimport notificationsReducer from 'common/store/notifications/reducer';\nimport assetTrackReducer from 'common/store/asset-track/reducer';\nimport carrierContractsReducer from 'common/store/carrier-contracts/reducer';\nimport carrierContractDetailsReducer from 'common/store/carrier-contract-details/reducer';\nimport transportOrdersReducer from 'common/store/transport-orders/reducer';\nimport transportOrderDetailsReducer from 'common/store/transport-order-details/reducer';\nimport groupedNotificationCountsReducer from 'common/store/grouped-notification-counts/reducer';\nimport gpsTrackingStatusReducer from 'common/store/gps-tracking-status/reducer';\nimport alertsReducer from 'common/store/alerts/reducer';\nimport settingsReducer from 'common/store/settings/reducer';\nimport driverSearchReducer from 'common/store/driver-search/reducer';\nimport papersReducer from 'common/store/papers/reducer';\nimport statisticsReducer from './statistics/reducer';\nimport spotRequestsReducer from 'broker-admin/store/spot-requests/reducer';\nimport spotRequestsStatsReducer from 'broker-admin/store/spot-requests-stats/reducer';\nimport spotRequestDetailsReducer from './spot-request-details/reducer';\nimport spotReducer from './spot/reducer';\nimport spotAssetsAssigmentReducer from 'common/store/spot-assets-assigment/reducer';\nimport driverAssigmentReducer from 'common/store/driver-assigment/reducer';\nimport invoicesReducer from './invoices/reducer';\nimport shipperContractsReducer from 'common/store/shipper-contracts/slice';\nimport shipperContractLanesReducer from 'common/store/shipper-contract-lanes/slice';\nimport shipperContractDetailsReducer from 'common/store/shipper-contract-details/slice';\nimport createCompanyReducer from 'common/store/create-company/slice';\nimport shipperLaneCreationReducer from 'common/store/shipper-contract-lane-creation/slice';\nimport shipperContractLaneDetailsReducer from 'common/store/shipper-contract-lane-details/slice';\nimport routingGeometryReducer from 'common/store/routing-geometry/slice';\nimport consistentStateMachineReducer from 'common/store/consistent-state-machine/slice';\nimport partnerSuggestReducer from 'common/store/partner-suggest/slice';\nimport rfqsReducer from 'common/store/rfqs/reducer';\nimport rfqsStatsReducer from 'common/store/rfqs-stats/reducer';\nimport rfqDetailsReducer from 'common/store/rfq-details/reducer';\nimport rfqsChangesReducer from 'common/store/rfqs-changes/reducer';\n\nimport { CompanyTypeEnum } from 'common/constants';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport carrierContractDetailsSaga from 'common/store/carrier-contract-details/sagas';\nimport { shipperContractDetailsSaga } from 'common/store/shipper-contract-details/sagas';\nimport { routingGeometrySaga } from 'common/store/routing-geometry/sagas';\nimport stateMachineReducer from 'common/store/state-machine/slice';\nimport { stateMachineSaga } from 'common/store/state-machine/sagas';\nimport countrySettingsDictReducer from 'common/store/country-settings-dict/reducer';\nimport orderEditReducer from 'broker-admin/store/order-edit/slice';\nimport { orderEditSaga } from 'broker-admin/store/order-edit/sagas';\nimport { partnerSuggestSaga } from 'common/store/partner-suggest/sagas';\nimport deadheadCreationReducer from 'broker-admin/store/deadhead-creation/slice';\nimport timeZonesReducer from 'common/store/time-zones/slice';\nimport { deadheadCreationSaga } from 'broker-admin/store/deadhead-creation/sagas';\nimport timeZonesSaga from 'common/store/time-zones/sagas';\nimport assetsSaga from 'common/store/assets/sagas';\nimport brokerTeamEditSaga from 'broker-admin/store/broker-team-edit/sagas';\nimport brokerTeamEditReducer from 'broker-admin/store/broker-team-edit/slice';\nimport { papersEditSaga } from 'common/store/papers-edit/sagas';\nimport papersEditReducer from 'common/store/papers-edit/slice';\nimport tendersSaga from 'broker-admin/store/tenders/sagas';\nimport tendersReducer from 'broker-admin/store/tenders/slice';\nimport assetsReducer from 'common/store/assets/slice';\n\nconst rootReducer = combineReducers({\n    auth: authReducer(AuthProfileTypeEnum.broker),\n    user: userReducer,\n    company: companyReducer,\n    errors: errorsReducer,\n    trailersDict: trailersDictReducer,\n    trailers: trailersReducer,\n    trucksDict: trucksDictReducer,\n    trucks: trucksReducer,\n    partners: partnersReducer,\n    partnersStats: partnersStatsReducer,\n    managers: managersReducer,\n    dispatchers: dispatchersReducer,\n    partner: partnerReducer,\n    members: membersReducer,\n    drivers: driversReducer,\n    countriesDict: countriesDictReducer,\n    countrySettingsDict: countrySettingsDictReducer,\n    documents: documentsReducer,\n    documentsDict: documentsDictReducer,\n    legalFormsDict: legalFormsDictReducer,\n    priceSettings: priceSettingsReducer,\n    vehicleSchedules: vehicleSchedulesReducer,\n    carriersUtilization: carriersUtilizationReducer,\n    carrierSuggest: carrierSuggestReducer,\n    shipperSuggest: shipperSuggestReducer,\n    orderCreation: orderCreationReducer,\n    additionalServicesDict: additionalServicesDictReducer,\n    brokerOrders: brokerOrdersReducer,\n    brokerTours: brokerToursReducer,\n    brokerTeams: brokerTeamsReducer,\n    brokerTourStats: brokerTourStatsReducer,\n    brokerTourDetails: brokerTourDetailsReducer,\n    brokerTeamDetails: brokerTeamDetailsReducer,\n    brokerOrderStats: brokerOrderStatsReducer,\n    brokerOrderDetails: brokerOrderDetailsReducer,\n    brokerOrderAssigment: brokerOrderAssigmentReducer,\n    brokerOrderEdit: brokerOrderEditReducer,\n    notifications: notificationsReducer,\n    assetTrack: assetTrackReducer,\n    carrierContracts: carrierContractsReducer,\n    carrierContractDetails: carrierContractDetailsReducer,\n    transportOrders: transportOrdersReducer,\n    transportOrderDetails: transportOrderDetailsReducer,\n    groupedNotificationCounts: groupedNotificationCountsReducer,\n    gpsTrackingStatus: gpsTrackingStatusReducer,\n    alerts: alertsReducer,\n    settings: settingsReducer,\n    driverSearch: driverSearchReducer,\n    papers: papersReducer,\n    statistics: statisticsReducer,\n    spotRequests: spotRequestsReducer,\n    spotRequestsStats: spotRequestsStatsReducer,\n    spotRequestDetails: spotRequestDetailsReducer,\n    spot: spotReducer,\n    spotAssetsAssigment: spotAssetsAssigmentReducer,\n    driverAssignment: driverAssigmentReducer,\n    invoices: invoicesReducer,\n    createCompany: createCompanyReducer,\n    shipperContracts: shipperContractsReducer,\n    shipperContractLanes: shipperContractLanesReducer,\n    shipperContractDetails: shipperContractDetailsReducer,\n    shipperContractLaneCreation: shipperLaneCreationReducer,\n    shipperContractLaneDetails: shipperContractLaneDetailsReducer,\n    routingGeometry: routingGeometryReducer,\n    stateMachine: stateMachineReducer,\n    consistentStateMachine: consistentStateMachineReducer,\n    orderEdit: orderEditReducer,\n    partnerSuggest: partnerSuggestReducer,\n    deadheadCreation: deadheadCreationReducer,\n    timeZones: timeZonesReducer,\n    brokerTeamEdit: brokerTeamEditReducer,\n    papersEdit: papersEditReducer,\n    tenders: tendersReducer,\n    assets: assetsReducer,\n    rfqs: rfqsReducer,\n    rfqsStats: rfqsStatsReducer,\n    rfqDetails: rfqDetailsReducer,\n    rfqsChanges: rfqsChangesReducer,\n});\n\nexport type RootStateT = ReturnType<typeof rootReducer>;\n\nfunction* rootSaga(): Generator<ForkEffect<TODO>, void, TODO> {\n    yield fork(authSaga, CompanyTypeEnum.broker);\n    yield fork(userSaga);\n    yield fork(companySaga);\n    yield fork(trailersDictSaga);\n    yield fork(trailersSaga);\n    yield fork(trucksDictSaga);\n    yield fork(trucksSaga);\n    yield fork(errorsSaga);\n    yield fork(partnersSaga);\n    yield fork(partnersStatsSaga);\n    yield fork(managersSaga);\n    yield fork(dispatchersSaga);\n    yield fork(partnerSaga);\n    yield fork(countriesDictSaga);\n    yield fork(countrySettingsDictSaga);\n    yield fork(documentsSaga);\n    yield fork(documentsDictSaga);\n    yield fork(legalFormsDictSaga);\n    yield fork(priceSettingsSaga);\n    yield fork(driverSearchSaga);\n    yield fork(papersSaga);\n    yield fork(statisticsSaga);\n    yield fork(spotRequestsSaga);\n    yield fork(spotRequestsStatsSaga);\n    yield fork(spotRequestDetailsSaga);\n    yield fork(vehicleSchedulesSaga, CompanyTypeEnum.broker);\n    yield fork(carriersUtilizationSaga);\n    yield fork(carrierSuggestSaga);\n    yield fork(shipperSuggestSaga);\n    yield fork(brokerOrdersSaga);\n    yield fork(brokerToursSaga);\n    yield fork(brokerTeamsSaga);\n    yield fork(brokerTourStatsSaga);\n    yield fork(brokerTourDetailsSaga);\n    yield fork(brokerTeamDetailsSaga);\n    yield fork(brokerOrderDetailsSaga);\n    yield fork(brokerOrderStatsSaga);\n    yield fork(brokerOrderAssigmentSaga);\n    yield fork(brokerOrderEditSaga);\n    yield fork(membersSaga, CompanyTypeEnum.broker);\n    yield fork(driversSaga);\n    yield fork(additionalServicesDictSaga);\n    yield fork(orderCreationSaga, CompanyTypeEnum.broker);\n    yield fork(notificationsSaga, CompanyTypeEnum.broker);\n    yield fork(notificationsAffectsSaga);\n    yield fork(transportOrdersSaga);\n    yield fork(transportOrderDetailsSaga, CompanyTypeEnum.broker);\n    yield fork(assetTrackSaga, CompanyTypeEnum.broker);\n    yield fork(carrierContractsSaga);\n    yield fork(carrierContractDetailsSaga);\n    yield fork(groupedNotificationCountsSaga);\n    yield fork(gpsTrackingStatusSaga);\n    yield fork(alertsSaga);\n    yield fork(settingsSaga);\n    yield fork(spotSaga);\n    yield fork(spotAssetsAssigmentSaga);\n    yield fork(driverAssigmentSaga);\n    yield fork(invoicesSaga);\n    yield fork(shipperContractsSaga, CompanyTypeEnum.broker);\n    yield fork(shipperContractLanesSaga, CompanyTypeEnum.broker);\n    yield fork(shipperContractDetailsSaga, CompanyTypeEnum.broker);\n    yield fork(createCompanySaga, CompanyTypeEnum.broker);\n    yield fork(shipperContractLaneCreationSaga);\n    yield fork(shipperContractLaneDetailsSaga, CompanyTypeEnum.broker);\n    yield fork(routingGeometrySaga, CompanyTypeEnum.broker);\n    yield fork(stateMachineSaga, CompanyTypeEnum.broker);\n    yield fork(orderEditSaga, CompanyTypeEnum.broker);\n    yield fork(consistentStateMachineSaga, CompanyTypeEnum.broker);\n    yield fork(partnerSuggestSaga, CompanyTypeEnum.broker);\n    yield fork(deadheadCreationSaga);\n    yield fork(timeZonesSaga);\n    yield fork(assetsSaga);\n    yield fork(brokerTeamEditSaga);\n    yield fork(papersEditSaga, CompanyTypeEnum.broker);\n    yield fork(tendersSaga);\n    yield fork(rfqsSaga, CompanyTypeEnum.broker);\n    yield fork(rfqsStatsSaga, CompanyTypeEnum.broker);\n    yield fork(rfqDetailsSaga, CompanyTypeEnum.broker);\n    yield fork(rfqsChangesSaga);\n}\n\nconst sagaMiddleware = createSagaMiddleware();\n\nconst store = configureStore({\n    reducer: rootReducer,\n    middleware: (getDefaultMiddleware) => {\n        return getDefaultMiddleware().concat(sagaMiddleware);\n    },\n});\n\nsagaMiddleware.run(rootSaga);\n\n// for dev\nwindow.store = store;\n\nexport default store;\n","import * as React from 'react';\nimport { FieldsEnum, RouteFormValuesT, RoutePointFieldsEnum } from '../constants';\nimport { useTranslation } from 'react-i18next';\nimport FormikConnectContextField from 'common/components/forms/FormikConnectContextField/FormikConnectContextField';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport classNames from 'classnames/bind';\nimport styles from './DriveThroughRoutePointPicker.scss';\nimport DeleteWaypointTrigger from '../DeleteWaypointTrigger/DeleteWaypointTrigger';\nimport WaypointNumberIcon from '../WaypointNumberIcon/WaypointNumberIcon';\nimport { getFieldFormValue } from 'common/utils/form-values';\nimport { useFormikContext } from 'formik';\nimport { OnChangeRouteStopAddressT, OnDeleteRouteStopReserveT } from '../models';\nimport { prepareLocation } from 'common/utils/prepare-location';\nimport TimePillLabel from 'broker-admin/layouts/BrokerToursPage/BrokerTourDedheadCreationPage/RouteForm/TimePillLabel/TimePillLabel';\n\ntype PropsT = {\n    className?: string;\n    routePointIndex: number;\n    onRemove: OnDeleteRouteStopReserveT;\n    onManualSelectLocation: (location: LocationT | null, routePointIndex: number) => void;\n    onChangeRoutePointAddress: OnChangeRouteStopAddressT;\n    isShowSuggestLoading?: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nconst DriveThroughRoutePointPicker: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        routePointIndex,\n        onRemove,\n        isShowSuggestLoading,\n        onManualSelectLocation,\n        onChangeRoutePointAddress,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const formik = useFormikContext<RouteFormValuesT>();\n\n    const locationFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.location}` as const;\n    const fakePointIdFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.fakePointId}` as const;\n    const typeFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.type}` as const;\n    const timeWindowFieldName = `${FieldsEnum.route}.${routePointIndex}.${RoutePointFieldsEnum.timeWindow}` as const;\n\n    const fakePointId = getFieldFormValue(formik.values, fakePointIdFieldName);\n    const type = getFieldFormValue(formik.values, typeFieldName);\n    const timeWindow = getFieldFormValue(formik.values, timeWindowFieldName);\n\n    return (\n        <>\n            <FormikConnectContextField<RouteFormValuesT, typeof locationFieldName>\n                className={className}\n                name={locationFieldName}\n                label={t('broker-order-route-edit.fields.drive-through-point.label')}\n                subLabel={<TimePillLabel dateTime={timeWindow?.start} />}\n            >\n                {(props, extendsProps) => (\n                    <div className={cx('wrap')} data-point-id={fakePointId}>\n                        <GeoSuggest\n                            className={cx('geo-suggest')}\n                            name={extendsProps.name}\n                            value={extendsProps.value}\n                            placeholder={t('broker-order-route-edit.fields.drive-through-point.placeholder')}\n                            renderLeftIcon={({ hasValue, hasError, hasWarning, isDisabled }) => (\n                                <WaypointNumberIcon\n                                    routePointIndex={routePointIndex}\n                                    hasValue={hasValue}\n                                    hasError={hasError}\n                                    hasWarning={hasWarning}\n                                    isDisabled={isDisabled}\n                                    isDriveThroughRoutePointPicker\n                                />\n                            )}\n                            onChange={(value) => {\n                                const location = prepareLocation(value);\n\n                                props.onChange(value);\n\n                                onManualSelectLocation(value, routePointIndex);\n\n                                onChangeRoutePointAddress(routePointIndex, fakePointId, {\n                                    address: location,\n                                    routeStopType: type,\n                                });\n                            }}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            onFocus={props.onFocus}\n                            onBlur={props.onBlur}\n                            isLoading={isShowSuggestLoading}\n                            testSelector={extendsProps.name}\n                            showClearControl\n                        />\n                        <DeleteWaypointTrigger\n                            onClick={() => {\n                                onRemove(routePointIndex, fakePointId);\n                            }}\n                        />\n                    </div>\n                )}\n            </FormikConnectContextField>\n        </>\n    );\n});\n\nexport default DriveThroughRoutePointPicker;\n","import React, { useContext, useEffect, useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './AssignmentForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport AssignOptionLabel from './AssignOptionLabel/AssignOptionLabel';\nimport TruckIcon, { TruckIconProps } from 'common/icons/TruckIcon';\nimport TrailerIcon, { TrailerIconProps } from 'common/icons/TrailerIcon';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAssignmentRequestStatus,\n    selectSelfCostPrediction,\n    selectSelfCostPredictionRequestStatus,\n    selectTrailerAssignmentInfoById,\n    selectTrailerSuggestIds,\n    selectTrailerSuggestRequestStatus,\n    selectTruckAssignmentInfoById,\n    selectTruckSuggestIds,\n    selectTruckSuggestRequestStatus,\n    selectUserSelection,\n    selectVehicleLinks,\n} from 'broker-admin/store/broker-order-assigment/selectors';\nimport {\n    assign,\n    changeUserSelection,\n    fetchAssignDetails,\n    findTrailer,\n    findTruck,\n    initUserSelection,\n    setInitAssetsInfo,\n} from 'broker-admin/store/broker-order-assigment/actions';\nimport { getDateFromISO, MS_IN_MIN } from 'common/utils/time';\nimport {\n    selectCarriersUtilizationByHash,\n    selectFetchRequestStatus as selectCarriersUtilizationRequestStatus,\n} from 'common/store/carriers-utilization/selectors';\nimport { getHash } from 'common/store/carriers-utilization/utils';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport { useFormik } from 'formik';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport asyncValidations from './async-validations';\nimport isEmpty from 'lodash/isEmpty';\nimport { PointToDropT, UserSelectionT } from 'broker-admin/store/broker-order-assigment/models';\nimport GeoSuggest from 'common/components/GeoSuggest/GeoSuggest';\nimport isEqual from 'lodash/isEqual';\nimport { logWarning } from 'common/utils/logger';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport isNumber from 'lodash/isNumber';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\nimport DropdownSearchInput, {\n    IconMetaT,\n} from 'design-system/components/dropdowns/DropdownSearchInput/DropdownSearchInput';\nimport AssignTriggerLabel from './AssignTriggerLabel/AssignTriggerLabel';\nimport { AssetAssignmentInfoT } from 'common/utils/assignment';\nimport AssetLinkIcon, { AssetLinkIconProps } from 'common/icons/AssetLinkIcon';\nimport useAsyncFormErrors from 'common/utils/hooks/useAsyncFormErrors';\nimport { renderTrailerDropOffIcon, renderTruckDropOffIcon } from './icons';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport mapValues from 'lodash/mapValues';\nimport { findTourById } from 'broker-admin/store/broker-order-details/utils/find-tour-by-id';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport TourTypeTabs from './TourTypeTabs/TourTypeTabs';\nimport { TourTypeTabsEnum } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/TourTypeTabs/constants';\nimport LongDeadheadConfirmation from './LongDeadheadConfirmation/LongDeadheadConfirmation';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\n\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\n\nimport { LongDeadheadConfirmationDataT } from './LongDeadheadConfirmation/models';\nimport { LONG_DEADHEAD_PERCENT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/constants';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport AssetTypeTabs from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssetTypeTabs/AssetTypeTabs';\nimport { AssetTypeTabsEnum } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssetTypeTabs/constants';\nimport ControlLoaderLabel from 'common/components/ControlLoaderLabel/ControlLoaderLabel';\nimport { findTourActualTransportOrders } from 'broker-admin/store/broker-order-details/utils/find-actual-transport-order';\nimport { CancelTruckTransportOrderConfirmationDataT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/CancelTruckTransportOrderConfirmation/models';\nimport { CancelTrailerTransportOrderConfirmationDataT } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/CancelTrailerTransportOrderConfirmation/models';\nimport { updateEntityStatus } from 'common/store/state-machine/slice';\nimport { ApiTransportOrderStatusT, PartnerTypeEnum, TransportOrderStatusEnum } from 'common/utils/api/models';\nimport { selectStateMachineItemState } from 'common/store/state-machine/selectors';\nimport { StateMachineEntityDescriptorT } from 'common/store/state-machine/models';\nimport CancelTrailerTransportOrderConfirmation from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/CancelTrailerTransportOrderConfirmation/CancelTrailerTransportOrderConfirmation';\nimport CancelTruckTransportOrderConfirmation from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/CancelTruckTransportOrderConfirmation/CancelTruckTransportOrderConfirmation';\nimport Link, { LinkThemeEnum } from 'common/components/Link/Link';\nimport { createInitWaypointTruckDropPoint } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/createInitWaypointTruckDropPoint';\nimport { createInitWaypointTrailerDropPoint } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/createInitWaypointTrailerDropPoint';\nimport { createInitPayloadDropPoint } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/createInitPayloadDropPoint';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport AssetsSelectionContext from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/contexts/assets-selection-context';\nimport { fetchCountrySettingsDict } from 'common/store/country-settings-dict/actions';\nimport { selectCountrySettingsByCountryCode } from 'common/store/country-settings-dict/selectors';\nimport { SyncAssignmentFormMapStateContext } from '../contexts/sync-map-state';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport { OnMapClickCallbackT } from '../hooks/usySyncMapState';\nimport { useUtilizationRowsFactory } from 'broker-admin/components/tour-receipt-details/hooks/utilization-rows-factory';\nimport MileageInfoTable from 'broker-admin/components/tour-receipt-details/MileageInfoTable/MileageInfoTable';\nimport ReceiptPriceDetails from 'broker-admin/components/tour-receipt-details/ReceiptPriceDetails/ReceiptPriceDetails';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    brokerOrderId: BrokerOrderIdT | null;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n    tourId: TourIdT | null;\n    onCancel: () => void;\n};\n\ntype TrailerOptionT = AssetAssignmentInfoT & {\n    linkedAssetId: AssetIdT | null;\n    carrierUtilizationPercent: number | null;\n    isCarrierUtilizationLoading: boolean;\n};\n\ntype TruckOptionT = AssetAssignmentInfoT & {\n    linkedAssetId: AssetIdT | null;\n    carrierUtilizationPercent: number | null;\n    isCarrierUtilizationLoading: boolean;\n};\n\nconst convertLocationToPoint = (location: LocationT | null): PointToDropT | null => {\n    if (!location || !location.point) {\n        return null;\n    }\n\n    return {\n        address: location.address || `${location.point?.lat},${location.point?.lng}`,\n        addressComponents: location.addressComponents,\n        point: location.point,\n    };\n};\n\nconst convertPointToLocation = (pointToDrop: PointToDropT | null): LocationT | null => {\n    if (!pointToDrop || !pointToDrop?.point) {\n        return null;\n    }\n\n    return {\n        point: pointToDrop?.point || null,\n        address: pointToDrop?.address || null,\n        addressComponents: pointToDrop?.addressComponents || null,\n        utcOffsetMinutes: null,\n    };\n};\n\nconst checkIsSameLocation = (\n    locationA: LocationT | PointToDropT | null,\n    locationB: LocationT | PointToDropT | null,\n): boolean => {\n    return isEqual(locationA?.point, locationB?.point);\n};\n\nconst AssignmentForm: React.FC<PropsT> = (props) => {\n    const { onCancel, brokerOrderId, brokerOrderDetails, tourId } = props;\n\n    const { t } = useTranslation();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const syncMapStateContext = useContext(SyncAssignmentFormMapStateContext);\n\n    const [selectedAssetType, setSelectedAssetType] = React.useState<AssetTypeTabsEnum | null>(null);\n    const [selectedTourTypeTab, onSelectTourTypeTab] = React.useState<TourTypeTabsEnum>(TourTypeTabsEnum.current);\n\n    const assetsSelectionContext = useContext(AssetsSelectionContext);\n\n    const firstWaypoint = findTourById(brokerOrderDetails, tourId)?.waypoints?.[0] || null;\n    const firstWaypointDateTimeFrom =\n        firstWaypoint?.correctedDateTimeFrom || firstWaypoint?.originalDateTimeFrom || null;\n    const pickupDate = getDateFromISO(firstWaypointDateTimeFrom);\n\n    const dispatch = useDispatch();\n\n    const userSelection = useSelector(selectUserSelection);\n\n    const assignmentRequestStatus = useSelector(selectAssignmentRequestStatus);\n\n    const selfCostPrediction = useSelector(selectSelfCostPrediction);\n    const selfCostPredictionRequestStatus = useSelector(selectSelfCostPredictionRequestStatus);\n\n    const vehicleLinks = useSelector(selectVehicleLinks);\n\n    const truckSuggestRequestStatus = useSelector(selectTruckSuggestRequestStatus);\n    const truckIds = useSelector(selectTruckSuggestIds);\n    const truckById = useSelector(selectTruckAssignmentInfoById);\n\n    const trailerSuggestRequestStatus = useSelector(selectTrailerSuggestRequestStatus);\n    const trailerIds = useSelector(selectTrailerSuggestIds);\n    const trailerById = useSelector(selectTrailerAssignmentInfoById);\n\n    const carriersUtilizationFetchRequestStatus = useSelector(selectCarriersUtilizationRequestStatus);\n    const carriersUtilizationByHash = useSelector(selectCarriersUtilizationByHash);\n\n    const countriesSettingsByCode = useSelector(selectCountrySettingsByCountryCode);\n    React.useEffect(() => {\n        dispatch(fetchCountrySettingsDict());\n    }, [dispatch]);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) =>\n            validateForm(t, values, {\n                trailerById,\n                truckById,\n                countriesSettingsByCode,\n            });\n    }, [t, trailerById, truckById, countriesSettingsByCode]);\n\n    const initPayloadDropPoint = useMemo(() => {\n        return createInitPayloadDropPoint(brokerOrderDetails, tourId);\n    }, [brokerOrderDetails, tourId]);\n\n    const initWaypointTruckDropPoint = useMemo(() => {\n        return createInitWaypointTruckDropPoint(brokerOrderDetails, tourId);\n    }, [brokerOrderDetails, tourId]);\n\n    const initWaypointTrailerDropPoint = useMemo(() => {\n        return createInitWaypointTrailerDropPoint(brokerOrderDetails, tourId);\n    }, [brokerOrderDetails, tourId]);\n\n    const initTruckDropPoint = initWaypointTruckDropPoint || initPayloadDropPoint || null;\n    const initTrailerDropPoint = initWaypointTrailerDropPoint || initPayloadDropPoint || null;\n\n    const { truckTransportOrder: initTruckTransportOrder, trailerTransportOrder: initTrailerTransportOrder } =\n        useMemo(() => {\n            return findTourActualTransportOrders(brokerOrderDetails?.transportationOrders, tourId);\n        }, [brokerOrderDetails, tourId]);\n\n    const initTruck = initTruckTransportOrder?.truck || null;\n    const initTrailer = initTrailerTransportOrder?.trailer || null;\n\n    const hasBrokerOrderDetails = !!brokerOrderDetails;\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values: FormValuesT = {\n            [FieldsEnum.trailerId]: initTrailer?.id || null,\n            [FieldsEnum.truckId]: initTruck?.id || null,\n            [FieldsEnum.locationToDropTrailer]: initTrailerDropPoint?.location || null,\n            [FieldsEnum.locationToDropTruck]: initTruckDropPoint?.location || null,\n        };\n\n        const errors = validateForm(t, values, { trailerById, truckById, countriesSettingsByCode });\n\n        return [values, errors];\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasBrokerOrderDetails]);\n\n    useEffect(() => {\n        dispatch(\n            setInitAssetsInfo(\n                {\n                    truck: {\n                        carrierId: initTruck?.carrier?.id,\n                        carrierName: initTruck?.carrier?.name,\n                        id: initTruck?.id,\n                        plateNumber: initTruck?.plateNumber,\n                        model: initTruck?.dictTruckInfo?.model,\n                    },\n                },\n                {\n                    trailer: {\n                        carrierId: initTrailer?.carrier?.id,\n                        carrierName: initTrailer?.carrier?.name,\n                        id: initTrailer?.id,\n                        plateNumber: initTrailer?.plateNumber,\n                        model: initTrailer?.dictTrailerInfo?.model,\n                    },\n                },\n            ),\n        );\n    }, [dispatch, initTruck, initTrailer]);\n\n    useEffect(() => {\n        dispatch(\n            initUserSelection(brokerOrderId, tourId, {\n                truckId: initialValues[FieldsEnum.truckId],\n                pointToDropTruck: convertLocationToPoint(initialValues[FieldsEnum.locationToDropTruck]),\n                trailerId: initialValues[FieldsEnum.trailerId],\n                pointToDropTrailer: convertLocationToPoint(initialValues[FieldsEnum.locationToDropTrailer]),\n            }),\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [initialValues]);\n\n    useEffect(() => {\n        if (tourId && brokerOrderId) {\n            dispatch(fetchAssignDetails(brokerOrderId, tourId));\n        }\n    }, [dispatch, brokerOrderId, tourId]);\n\n    const assignmentContextId = selfCostPrediction?.assignmentContextId || null;\n\n    const cancelTruckTransportOrderConfirmation = useModalDialog<CancelTruckTransportOrderConfirmationDataT>();\n    const cancelTruckTransportOrderDescriptor = React.useMemo((): StateMachineEntityDescriptorT | null => {\n        if (!initTruckTransportOrder?.id) {\n            return null;\n        }\n\n        return {\n            entityType: 'TRANSPORTATION_ORDER',\n            entityId: initTruckTransportOrder?.id,\n        };\n    }, [initTruckTransportOrder]);\n\n    const handleConfirmCancelTruckTransportOrder = (data: CancelTruckTransportOrderConfirmationDataT) => {\n        if (!cancelTruckTransportOrderDescriptor) {\n            return;\n        }\n\n        dispatch(\n            updateEntityStatus({\n                update: {\n                    entityType: 'TRANSPORTATION_ORDER',\n                    entityId: data.transportOrderId,\n                    status: TransportOrderStatusEnum.canceled,\n                },\n                descriptor: cancelTruckTransportOrderDescriptor,\n            }),\n        );\n    };\n    const { updateRequest: updateTruckTransportOrderStatusRequest } = useSelector(\n        selectStateMachineItemState<ApiTransportOrderStatusT>(cancelTruckTransportOrderDescriptor),\n    );\n    useCloseModalDialogAfterRequest(updateTruckTransportOrderStatusRequest, [cancelTruckTransportOrderConfirmation]);\n\n    const cancelTrailerTransportOrderConfirmation = useModalDialog<CancelTrailerTransportOrderConfirmationDataT>();\n    const cancelTrailerTransportOrderDescriptor = React.useMemo((): StateMachineEntityDescriptorT | null => {\n        if (!initTrailerTransportOrder?.id) {\n            return null;\n        }\n\n        return {\n            entityType: 'TRANSPORTATION_ORDER',\n            entityId: initTrailerTransportOrder.id,\n        };\n    }, [initTrailerTransportOrder]);\n    const handleConfirmCancelTrailerTransportOrder = (data: CancelTrailerTransportOrderConfirmationDataT) => {\n        if (!cancelTrailerTransportOrderDescriptor) {\n            return;\n        }\n\n        dispatch(\n            updateEntityStatus({\n                update: {\n                    entityType: 'TRANSPORTATION_ORDER',\n                    entityId: data.transportOrderId,\n                    status: TransportOrderStatusEnum.canceled,\n                },\n                descriptor: cancelTrailerTransportOrderDescriptor,\n            }),\n        );\n    };\n    const { updateRequest: updateTrailerTransportOrderStatusRequest } = useSelector(\n        selectStateMachineItemState<ApiTransportOrderStatusT>(cancelTrailerTransportOrderDescriptor),\n    );\n    useCloseModalDialogAfterRequest(updateTrailerTransportOrderStatusRequest, [\n        cancelTrailerTransportOrderConfirmation,\n    ]);\n\n    const longDeadheadConfirmation = useModalDialog<LongDeadheadConfirmationDataT>();\n    useCloseModalDialogAfterRequest(assignmentRequestStatus, [longDeadheadConfirmation]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            if (!assignmentContextId) {\n                logWarning(`Failed to assign, empty assignmentContextId`);\n                return;\n            }\n\n            if (!brokerOrderId) {\n                logWarning(`Failed to assign, empty brokerOrderId`);\n                return;\n            }\n\n            if (!tourId) {\n                logWarning(`Failed to assign, empty tourId`);\n                return;\n            }\n\n            const totalDeadheadDistance = selfCostPrediction?.calculatedSumCost?.deadhead?.distances?.totalDistance;\n            const payloadDistance = selfCostPrediction?.calculatedSumCost?.payload?.distances?.totalDistance;\n            const shouldConfirmLongDeadhead =\n                isNumber(totalDeadheadDistance) && isNumber(payloadDistance)\n                    ? totalDeadheadDistance / payloadDistance > LONG_DEADHEAD_PERCENT / 100\n                    : false;\n            if (shouldConfirmLongDeadhead) {\n                longDeadheadConfirmation.setData({\n                    brokerOrderId,\n                    tourId,\n                    assignmentContextId,\n                });\n            } else {\n                dispatch(assign(brokerOrderId, tourId, assignmentContextId));\n\n                formikHelpers.setTouched({});\n            }\n        },\n    });\n\n    const isDisabledTruckSuggest = initTruck?.id === formik.values[FieldsEnum.truckId];\n    const isDisabledTrailerSuggest = initTrailer?.id === formik.values[FieldsEnum.trailerId];\n    React.useEffect(() => {\n        if (!assetsSelectionContext?.setValue) {\n            return;\n        }\n\n        assetsSelectionContext.setValue({\n            isBlockedSelectTruck: isDisabledTruckSuggest,\n            isBlockedSelectTrailer: isDisabledTrailerSuggest,\n        });\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isDisabledTruckSuggest, isDisabledTrailerSuggest]);\n\n    const isPrioritySelfCostPredictionStatus =\n        !!selfCostPredictionRequestStatus.time &&\n        selfCostPredictionRequestStatus.ok &&\n        !!truckSuggestRequestStatus.time &&\n        truckSuggestRequestStatus.time < selfCostPredictionRequestStatus.time &&\n        !!trailerSuggestRequestStatus.time &&\n        trailerSuggestRequestStatus.time < selfCostPredictionRequestStatus.time;\n\n    const shouldValidateTruck = !initTruck;\n    const shouldValidateTrailer = !initTrailer;\n\n    const asyncErrors = React.useMemo(() => {\n        return asyncValidations(t, formik.values, {\n            trailerById,\n            truckById,\n            isPrioritySelfCostPredictionStatus,\n            selfCostPredictionRequestStatus,\n            shouldValidateTruck,\n            shouldValidateTrailer,\n        });\n    }, [\n        t,\n        formik.values,\n        trailerById,\n        truckById,\n        isPrioritySelfCostPredictionStatus,\n        selfCostPredictionRequestStatus,\n        shouldValidateTruck,\n        shouldValidateTrailer,\n    ]);\n\n    const { asyncFormErrors, resetAsyncFormErrors } = useAsyncFormErrors(asyncErrors);\n\n    React.useEffect(() => {\n        syncMapStateContext?.setHasDropTrailerPointError(\n            !!formik.errors?.[FieldsEnum.locationToDropTrailer] || !!asyncErrors?.[FieldsEnum.locationToDropTrailer],\n        );\n        syncMapStateContext?.setHasDropTruckPointError(\n            !!formik.errors?.[FieldsEnum.locationToDropTruck] || !!asyncErrors?.[FieldsEnum.locationToDropTruck],\n        );\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.errors, asyncErrors]);\n\n    const selectedTruckId = formik.values[FieldsEnum.truckId];\n    const selectedTrailerId = formik.values[FieldsEnum.trailerId];\n    useOnlyChangesEffect(() => {\n        const changes: Partial<FormValuesT> = {};\n        const touched: Partial<Record<FieldsEnum, boolean>> = {};\n        if (selectedTrailerId !== userSelection.trailerId) {\n            changes[FieldsEnum.trailerId] = userSelection.trailerId;\n            touched[FieldsEnum.trailerId] = true;\n        }\n        if (selectedTruckId !== userSelection.truckId) {\n            changes[FieldsEnum.truckId] = userSelection.truckId;\n            touched[FieldsEnum.truckId] = true;\n        }\n\n        if (!isEmpty(changes)) {\n            formik.setValues((prevValues) => ({\n                ...prevValues,\n                ...changes,\n            }));\n        }\n\n        if (!isEmpty(touched)) {\n            formik.setTouched({\n                ...formik.touched,\n                ...touched,\n            });\n        }\n    }, [userSelection.truckId, userSelection.trailerId]);\n\n    const selectedPointToDropTruck = formik.values[FieldsEnum.locationToDropTruck];\n    const selectedPointToDropTrailer = formik.values[FieldsEnum.locationToDropTrailer];\n    const isSelectedSameLocations = useMemo(() => {\n        return checkIsSameLocation(selectedPointToDropTruck, selectedPointToDropTrailer);\n    }, [selectedPointToDropTrailer, selectedPointToDropTruck]);\n\n    useOnlyChangesEffect(() => {\n        const changes: Partial<FormValuesT> = {};\n        const touched: Partial<Record<FieldsEnum, boolean>> = {};\n\n        if (!checkIsSameLocation(formik.values[FieldsEnum.locationToDropTruck], userSelection.pointToDropTruck)) {\n            changes[FieldsEnum.locationToDropTruck] = convertPointToLocation(userSelection.pointToDropTruck);\n            touched[FieldsEnum.locationToDropTruck] = true;\n        }\n\n        if (!checkIsSameLocation(formik.values[FieldsEnum.locationToDropTrailer], userSelection.pointToDropTrailer)) {\n            changes[FieldsEnum.locationToDropTrailer] = convertPointToLocation(userSelection.pointToDropTrailer);\n            touched[FieldsEnum.locationToDropTrailer] = true;\n\n            if (isSelectedSameLocations) {\n                changes[FieldsEnum.locationToDropTruck] = convertPointToLocation(userSelection.pointToDropTrailer);\n                touched[FieldsEnum.locationToDropTruck] = true;\n            }\n        }\n\n        if (!isEmpty(changes)) {\n            formik.setValues((prevValues) => ({\n                ...prevValues,\n                ...changes,\n            }));\n        }\n\n        if (!isEmpty(touched)) {\n            formik.setTouched({\n                ...formik.touched,\n                ...touched,\n            });\n        }\n    }, [userSelection.pointToDropTruck, userSelection.pointToDropTrailer]);\n\n    const { values } = formik;\n    const onMapClickCallback: OnMapClickCallbackT = React.useCallback(\n        (pointToDrop) => {\n            const location = convertPointToLocation(pointToDrop);\n\n            const formValueChanges: Partial<FormValuesT> = {};\n            const userSelectionChanges: Partial<UserSelectionT> = {};\n\n            if (!values[FieldsEnum.locationToDropTrailer]) {\n                formValueChanges[FieldsEnum.locationToDropTrailer] = location;\n                userSelectionChanges.pointToDropTrailer = convertLocationToPoint(location);\n            }\n\n            if (!values[FieldsEnum.locationToDropTruck]) {\n                formValueChanges[FieldsEnum.locationToDropTruck] = location;\n                userSelectionChanges.pointToDropTruck = convertLocationToPoint(location);\n            }\n\n            if (!isEmpty(formValueChanges)) {\n                formik.setValues((formValues) => ({ ...formValues, ...formValueChanges }));\n            }\n\n            if (!isEmpty(userSelectionChanges)) {\n                dispatch(changeUserSelection(brokerOrderId, tourId, userSelectionChanges));\n            }\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [dispatch, values, brokerOrderId, tourId],\n    );\n\n    React.useEffect(() => {\n        syncMapStateContext?.setOnMapClickCallback({ callback: onMapClickCallback });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onMapClickCallback, syncMapStateContext?.setOnMapClickCallback]);\n\n    const trailersOptions: TrailerOptionT[] = React.useMemo(() => {\n        const ids = [...trailerIds];\n\n        if (selectedTrailerId && !trailerIds.includes(selectedTrailerId)) {\n            ids.unshift(selectedTrailerId);\n        }\n\n        const options = ids.reduce((result, id) => {\n            const trailer = trailerById[id] || null;\n            if (!trailer) {\n                return result;\n            }\n\n            const carrierUtilizationHash = getHash(trailer.carrierId as string, pickupDate);\n\n            const carrierUtilization = carriersUtilizationByHash[carrierUtilizationHash];\n\n            result.push({\n                ...trailer,\n                linkedAssetId: vehicleLinks.byTrailerId[trailer?.id as TrailerIdT] || null,\n                carrierUtilizationPercent: carrierUtilization ? carrierUtilization.utilizationPercents : null,\n                isCarrierUtilizationLoading: carriersUtilizationFetchRequestStatus.loading,\n            });\n\n            return result;\n        }, [] as TrailerOptionT[]);\n\n        return options;\n    }, [\n        trailerById,\n        trailerIds,\n        selectedTrailerId,\n        pickupDate,\n        carriersUtilizationFetchRequestStatus,\n        carriersUtilizationByHash,\n        vehicleLinks.byTrailerId,\n    ]);\n\n    const trucksOptions: TruckOptionT[] = React.useMemo(() => {\n        const ids = [...truckIds];\n\n        if (selectedTruckId && !truckIds.includes(selectedTruckId)) {\n            ids.unshift(selectedTruckId);\n        }\n\n        const options = ids.reduce((options, id) => {\n            const truck = truckById[id] || null;\n            if (!truck) {\n                return options;\n            }\n\n            const carrierUtilizationHash = getHash(truck.carrierId as string, pickupDate);\n\n            const carrierUtilization = carriersUtilizationByHash[carrierUtilizationHash];\n\n            options.push({\n                ...truck,\n                linkedAssetId: vehicleLinks.byTruckId[truck?.id as TrailerIdT] || null,\n                carrierUtilizationPercent: carrierUtilization ? carrierUtilization.utilizationPercents : null,\n                isCarrierUtilizationLoading: carriersUtilizationFetchRequestStatus.loading,\n            });\n\n            return options;\n        }, [] as TruckOptionT[]);\n\n        return options;\n    }, [\n        truckById,\n        truckIds,\n        selectedTruckId,\n        pickupDate,\n        carriersUtilizationFetchRequestStatus,\n        carriersUtilizationByHash,\n        vehicleLinks.byTruckId,\n    ]);\n\n    const getOptionValue = (option: TruckOptionT | TrailerOptionT) => option?.id;\n\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    const handleSelectLinkByTruck = (truckId: TruckIdT) => {\n        const linkedTrailerId = vehicleLinks.byTruckId[truckId] || null;\n\n        formik.setValues((values) => {\n            return {\n                ...values,\n                [FieldsEnum.truckId]: truckId,\n                [FieldsEnum.trailerId]: linkedTrailerId || values[FieldsEnum.trailerId],\n            };\n        });\n\n        // Set meta => touched true\n        setTimeout(() => {\n            formik.setTouched({\n                ...formik.touched,\n                [FieldsEnum.truckId]: true,\n                [FieldsEnum.trailerId]: true,\n            });\n        }, 0);\n\n        const changes: Partial<UserSelectionT> = {\n            trailerId: linkedTrailerId,\n            truckId,\n        };\n\n        dispatch(changeUserSelection(brokerOrderId, tourId, changes));\n    };\n\n    const renderTruckOption = (option: TruckOptionT, _?: string, callbacks?: { onCloseOverlay: () => void }) => {\n        return (\n            <AssignOptionLabel\n                assetId={option.id}\n                isInvalid={!option?.valid}\n                model={option.model}\n                plateNumber={option.plateNumber}\n                price={t('assignment.rate', { rate: option.ratePerKm })}\n                rateMode={option.rateMode || null}\n                isAssetUtilizationLoading={false}\n                assetUtilizationPercent={option.utilization}\n                carrierUtilizationPercent={option.carrierUtilizationPercent}\n                isCarrierUtilizationLoading={option.isCarrierUtilizationLoading}\n                linkedAsset={trailerById[option.linkedAssetId as AssetIdT] || null}\n                onSelectLink={handleSelectLinkByTruck}\n                onCloseOverlay={callbacks?.onCloseOverlay}\n            />\n        );\n    };\n\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    const handleSelectLinkByTrailer = (trailerId: TrailerIdT) => {\n        const linkedTruckId = vehicleLinks.byTrailerId[trailerId] || null;\n\n        formik.setValues((values) => {\n            return {\n                ...values,\n                [FieldsEnum.truckId]: linkedTruckId || values[FieldsEnum.truckId],\n                [FieldsEnum.trailerId]: trailerId,\n            };\n        });\n\n        // Set meta => touched true\n        setTimeout(() => {\n            formik.setTouched({\n                ...formik.touched,\n                [FieldsEnum.truckId]: true,\n                [FieldsEnum.trailerId]: true,\n            });\n        }, 0);\n\n        const changes: Partial<UserSelectionT> = {\n            trailerId,\n            truckId: linkedTruckId,\n        };\n\n        dispatch(changeUserSelection(brokerOrderId, tourId, changes));\n    };\n\n    const renderTrailerOption = (option: TrailerOptionT, _?: string, callbacks?: { onCloseOverlay: () => void }) => {\n        return (\n            <AssignOptionLabel\n                assetId={option.id}\n                isInvalid={!option?.valid}\n                model={option.model}\n                plateNumber={option.plateNumber}\n                price={t('assignment.rate', { rate: option.ratePerKm })}\n                rateMode={option.rateMode || null}\n                isAssetUtilizationLoading={false}\n                assetUtilizationPercent={option.utilization}\n                carrierUtilizationPercent={option.carrierUtilizationPercent}\n                isCarrierUtilizationLoading={option.isCarrierUtilizationLoading}\n                linkedAsset={truckById[option.linkedAssetId as AssetIdT] || null}\n                onSelectLink={handleSelectLinkByTrailer}\n                onCloseOverlay={callbacks?.onCloseOverlay}\n            />\n        );\n    };\n\n    const handleSelectTruck = (truckId: TruckIdT | null) => {\n        const formValueChanges: Partial<FormValuesT> = {\n            [FieldsEnum.truckId]: truckId,\n        };\n\n        formik.setValues((prevValues) => {\n            return {\n                ...prevValues,\n                ...formValueChanges,\n            };\n        });\n\n        // Set meta => touched true\n        setTimeout(() => {\n            formik.setTouched({\n                ...formik.touched,\n                ...mapValues(formValueChanges, () => true),\n            });\n        }, 0);\n\n        const changes: Partial<UserSelectionT> = {\n            truckId,\n        };\n        dispatch(changeUserSelection(brokerOrderId, tourId, changes));\n    };\n\n    const renderTruckTriggerIcon =\n        (selectedTruckId: TruckIdT | null, selectedTrailerId: TrailerIdT | null) => (iconMeta: IconMetaT) => {\n            const isLinked =\n                !!selectedTruckId &&\n                !!selectedTrailerId &&\n                vehicleLinks.byTruckId[selectedTruckId] === selectedTrailerId;\n            if (isLinked) {\n                return <AssetLinkIcon {...AssetLinkIconProps.getControlProps(iconMeta)} />;\n            }\n\n            return <TruckIcon {...TruckIconProps.getControlProps(iconMeta)} />;\n        };\n\n    const renderTruckTrigger = (option: TruckOptionT | undefined, placeholder?: React.ReactNode) => {\n        if (!option) {\n            return placeholder;\n        }\n\n        let resetTooltipNode: React.ReactNode;\n        if (isDisabledTruckSuggest) {\n            resetTooltipNode = t('assignment.tooltips.cancel-truck-transport-order');\n        } else if (selectedTrailerId === vehicleLinks.byTruckId[option.id]) {\n            resetTooltipNode = t('assignment.tooltips.unlink-truck');\n        } else {\n            resetTooltipNode = t('assignment.tooltips.clear-truck');\n        }\n\n        return (\n            <AssignTriggerLabel\n                model={option?.model}\n                plateNumber={option?.plateNumber}\n                ratePerKm={option?.ratePerKm}\n                rateMode={option?.rateMode}\n                resetTooltipNode={resetTooltipNode}\n                isDisabled={isDisabledTruckSuggest}\n                onReset={() => {\n                    if (isDisabledTruckSuggest) {\n                        if (initTruckTransportOrder?.id) {\n                            cancelTruckTransportOrderConfirmation.setData({\n                                transportOrderId: initTruckTransportOrder.id,\n                            });\n                        } else {\n                            logWarning('Empty initTruckTransportOrder.id!');\n                        }\n                    } else {\n                        handleSelectTruck(null);\n                    }\n                }}\n                onOpenDetails={() => {\n                    if (!option?.carrierId) {\n                        logWarning('Empty option?.carrierId');\n                        return;\n                    }\n\n                    openLeftSidebar(\n                        {\n                            type: CommonSidebarsTypeEnum.truckDetails,\n                            truckId: option?.id,\n                            partnerId: option?.carrierId,\n                            isReadOnly: true,\n                            isDisableShowOnMap: true,\n                        },\n                        {\n                            isForceShowBackAction: true,\n                        },\n                    );\n                }}\n            />\n        );\n    };\n\n    const handleSelectTrailer = (trailerId: TrailerIdT | null) => {\n        const formValueChanges: Partial<FormValuesT> = {\n            [FieldsEnum.trailerId]: trailerId,\n        };\n\n        formik.setValues((prevValues) => {\n            return {\n                ...prevValues,\n                ...formValueChanges,\n            };\n        });\n\n        // Set meta => touched true\n        setTimeout(() => {\n            formik.setTouched({\n                ...formik.touched,\n                ...mapValues(formValueChanges, () => true),\n            });\n        }, 0);\n\n        const changes: Partial<UserSelectionT> = { trailerId };\n        dispatch(changeUserSelection(brokerOrderId, tourId, changes));\n    };\n\n    const renderTrailerTriggerIcon =\n        (selectedTrailerId: TrailerIdT | null, selectedTruckId: TruckIdT | null) => (iconMeta: IconMetaT) => {\n            const isLinked =\n                !!selectedTrailerId &&\n                !!selectedTruckId &&\n                vehicleLinks.byTrailerId[selectedTrailerId] === selectedTruckId;\n            if (isLinked) {\n                return <AssetLinkIcon {...AssetLinkIconProps.getControlProps(iconMeta)} />;\n            }\n\n            return <TrailerIcon {...TrailerIconProps.getControlProps(iconMeta)} />;\n        };\n\n    const renderTrailerTrigger = (option: TrailerOptionT | undefined, placeholder?: React.ReactNode) => {\n        if (!option) {\n            return placeholder;\n        }\n\n        let resetTooltipNode: React.ReactNode;\n        if (isDisabledTrailerSuggest) {\n            resetTooltipNode = t('assignment.tooltips.cancel-trailer-transport-order');\n        } else if (selectedTruckId === vehicleLinks.byTrailerId[option.id]) {\n            resetTooltipNode = t('assignment.tooltips.unlink-trailer');\n        } else {\n            resetTooltipNode = t('assignment.tooltips.clear-trailer');\n        }\n\n        return (\n            <AssignTriggerLabel\n                model={option?.model}\n                plateNumber={option?.plateNumber}\n                ratePerKm={option?.ratePerKm}\n                rateMode={option?.rateMode || null}\n                isDisabled={isDisabledTrailerSuggest}\n                onReset={() => {\n                    if (isDisabledTrailerSuggest) {\n                        if (initTrailerTransportOrder?.id) {\n                            cancelTrailerTransportOrderConfirmation.setData({\n                                transportOrderId: initTrailerTransportOrder.id,\n                            });\n                        } else {\n                            logWarning('Empty initTrailerTransportOrder.id!');\n                        }\n                    } else {\n                        handleSelectTrailer(null);\n                    }\n                }}\n                resetTooltipNode={resetTooltipNode}\n                onOpenDetails={() => {\n                    if (!option?.carrierId) {\n                        logWarning('Empty option?.carrierId');\n                        return;\n                    }\n\n                    openLeftSidebar(\n                        {\n                            type: CommonSidebarsTypeEnum.trailerDetails,\n                            trailerId: option?.id,\n                            partnerId: option?.carrierId,\n                            isReadOnly: true,\n                            isDisableShowOnMap: true,\n                        },\n                        {\n                            isForceShowBackAction: true,\n                        },\n                    );\n                }}\n            />\n        );\n    };\n\n    const handleSelectPointToDropTruck = (value: LocationT | null) => {\n        const formValueChanges: Partial<FormValuesT> = {\n            [FieldsEnum.locationToDropTruck]: value,\n        };\n\n        const userSelectionChanges: Partial<UserSelectionT> = {\n            pointToDropTruck: convertLocationToPoint(value),\n        };\n\n        formik.setValues((formValues) => ({ ...formValues, ...formValueChanges }));\n\n        dispatch(changeUserSelection(brokerOrderId, tourId, userSelectionChanges));\n    };\n\n    const handleSelectPointToDropTrailer = (value: LocationT | null) => {\n        const formValueChanges: Partial<FormValuesT> = {\n            [FieldsEnum.locationToDropTrailer]: value,\n        };\n        const userSelectionChanges: Partial<UserSelectionT> = {\n            pointToDropTrailer: convertLocationToPoint(value),\n        };\n\n        if (isSelectedSameLocations) {\n            formValueChanges[FieldsEnum.locationToDropTruck] = value;\n            userSelectionChanges.pointToDropTruck = convertLocationToPoint(value);\n        }\n\n        formik.setValues((formValues) => ({\n            ...formValues,\n            ...formValueChanges,\n        }));\n\n        dispatch(changeUserSelection(brokerOrderId, tourId, userSelectionChanges));\n    };\n\n    const handleExpire = () => {\n        dispatch(changeUserSelection(brokerOrderId, tourId, {}));\n    };\n\n    const hasAsyncErrors = !isEmpty(asyncErrors);\n\n    const isLoadingSubmit = selfCostPredictionRequestStatus.loading || assignmentRequestStatus.loading;\n    const isDisabledSubmit = isLoadingSubmit || hasAsyncErrors;\n\n    const utilizationRowsFactory = useUtilizationRowsFactory();\n\n    const utilizationDetails: Array<InfoTableRowT> = React.useMemo(() => {\n        const rows: Array<InfoTableRowT> = [];\n\n        const isSameCompany =\n            !!selfCostPrediction?.truckCarrier?.id &&\n            !!selfCostPrediction?.trailerCarrier?.id &&\n            selfCostPrediction?.truckCarrier?.id === selfCostPrediction?.trailerCarrier?.id;\n\n        if (isSameCompany && selfCostPrediction?.truckCarrier) {\n            rows.push({\n                ...utilizationRowsFactory.trainCarrier({\n                    carrierCountryCode: selfCostPrediction?.truckCarrier?.country,\n                    carrierName: selfCostPrediction?.truckCarrier?.name || '',\n                    utilizationAfter: selfCostPrediction?.truckCarrierUtilizationAfter,\n                    utilizationBefore: selfCostPrediction?.truckCarrierUtilizationBefore,\n                }),\n            });\n        }\n\n        if (!isSameCompany && selfCostPrediction?.truckCarrier) {\n            rows.push({\n                ...utilizationRowsFactory.trainCarrier({\n                    carrierCountryCode: selfCostPrediction?.truckCarrier?.country,\n                    carrierName: selfCostPrediction?.truckCarrier?.name || '',\n                    utilizationAfter: selfCostPrediction?.truckCarrierUtilizationAfter,\n                    utilizationBefore: selfCostPrediction?.truckCarrierUtilizationBefore,\n                }),\n            });\n        }\n\n        if (!isSameCompany && selfCostPrediction?.trailerCarrier) {\n            rows.push({\n                ...utilizationRowsFactory.trailerCarrier({\n                    carrierCountryCode: selfCostPrediction?.trailerCarrier?.country,\n                    carrierName: selfCostPrediction?.trailerCarrier?.name || '',\n                    utilizationAfter: selfCostPrediction?.trailerCarrierUtilizationAfter,\n                    utilizationBefore: selfCostPrediction?.trailerCarrierUtilizationBefore,\n                }),\n            });\n        }\n\n        const truckCarrier = truckById[selectedTruckId as TruckIdT];\n        if (truckCarrier && isNumber(selfCostPrediction?.truckUtilizationBefore)) {\n            rows.push({\n                ...utilizationRowsFactory.truck({\n                    model: truckCarrier.model,\n                    plateNumber: truckCarrier.plateNumber,\n                    utilizationBefore: selfCostPrediction?.truckUtilizationBefore,\n                    utilizationAfter: selfCostPrediction?.truckUtilizationAfter,\n                }),\n            });\n        }\n\n        const trailerCarrier = trailerById[selectedTrailerId as TrailerIdT];\n        if (trailerCarrier && isNumber(selfCostPrediction?.trailerUtilizationBefore)) {\n            rows.push({\n                ...utilizationRowsFactory.trailer({\n                    model: trailerCarrier.model,\n                    plateNumber: trailerCarrier.plateNumber,\n                    utilizationBefore: selfCostPrediction?.trailerUtilizationBefore,\n                    utilizationAfter: selfCostPrediction?.trailerUtilizationAfter,\n                }),\n            });\n        }\n\n        return rows;\n    }, [selfCostPrediction, truckById, selectedTruckId, trailerById, selectedTrailerId, utilizationRowsFactory]);\n\n    const truckWarning = React.useMemo((): string | null => {\n        const linkedTruckId = vehicleLinks.byTrailerId[selectedTrailerId as TrailerIdT] || null;\n        if (!linkedTruckId) {\n            return null;\n        }\n\n        if (isDisabledTruckSuggest) {\n            return null;\n        }\n\n        if (linkedTruckId === selectedTruckId) {\n            return null;\n        }\n\n        const linkedTruck = truckById[linkedTruckId] || null;\n        if (!linkedTruck) {\n            return null;\n        }\n\n        // @ts-expect-error wrong types for formik\n        return (\n            <span>\n                {t('assignment.warnings.has-linked-truck', {\n                    truckLabel: [linkedTruck.plateNumber, linkedTruck.model].filter(Boolean).join(' / '),\n                })}{' '}\n                <Link\n                    onClick={() => {\n                        if (selectedTrailerId) {\n                            handleSelectLinkByTrailer(selectedTrailerId);\n                        }\n                    }}\n                    theme={LinkThemeEnum.boldOrange}\n                >\n                    {t('assignment.warnings.has-linked-truck-link')}\n                </Link>\n            </span>\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        t,\n        selectedTruckId,\n        selectedTrailerId,\n        vehicleLinks,\n        truckById,\n        isDisabledTruckSuggest,\n        handleSelectLinkByTrailer,\n    ]);\n\n    const trailerWarning = React.useMemo((): string | null => {\n        const linkedTrailerId = vehicleLinks.byTruckId[selectedTruckId as TruckIdT] || null;\n        if (!linkedTrailerId) {\n            return null;\n        }\n\n        if (isDisabledTrailerSuggest) {\n            return null;\n        }\n\n        if (linkedTrailerId === selectedTrailerId) {\n            return null;\n        }\n\n        const linkedTrailer = trailerById[linkedTrailerId] || null;\n        if (!linkedTrailer) {\n            return null;\n        }\n\n        // @ts-expect-error wrong types for formik\n        return (\n            <span>\n                {t('assignment.warnings.has-linked-trailer', {\n                    trailerLabel: [linkedTrailer.plateNumber, linkedTrailer.model].filter(Boolean).join(' / '),\n                })}{' '}\n                <Link\n                    onClick={() => {\n                        if (selectedTruckId) {\n                            handleSelectLinkByTruck(selectedTruckId);\n                        }\n                    }}\n                    theme={LinkThemeEnum.boldOrange}\n                >\n                    {t('assignment.warnings.has-linked-trailer-link')}\n                </Link>\n            </span>\n        );\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        t,\n        selectedTruckId,\n        selectedTrailerId,\n        vehicleLinks,\n        trailerById,\n        isDisabledTrailerSuggest,\n        handleSelectLinkByTruck,\n    ]);\n\n    const truckCarrierId = selfCostPrediction?.truckCarrier?.id || null;\n    const trailerCarrierId = selfCostPrediction?.trailerCarrier?.id || null;\n\n    return (\n        <div className={cx('wrap')}>\n            <form onSubmit={formik.handleSubmit}>\n                <div className={cx('form')}>\n                    <FormikField\n                        name={FieldsEnum.truckId}\n                        error={formik.errors[FieldsEnum.truckId]}\n                        meta={formik.getFieldMeta(FieldsEnum.truckId)}\n                        label={t('assignment.fields.truck.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        asyncError={asyncFormErrors[FieldsEnum.truckId]}\n                        resetAsyncError={resetAsyncFormErrors}\n                        isForceShowWarning\n                        warning={truckWarning}\n                    >\n                        {(props) => (\n                            <DropdownSearchInput<TruckOptionT, TruckIdT | null>\n                                selectedValue={formik.values[FieldsEnum.truckId]}\n                                options={trucksOptions}\n                                onSelect={handleSelectTruck}\n                                renderTrigger={renderTruckTrigger}\n                                renderOption={renderTruckOption}\n                                getOptionValue={getOptionValue}\n                                isDisabled={isDisabledTruckSuggest}\n                                isLoading={truckSuggestRequestStatus.loading}\n                                onChangeQuery={(text) => {\n                                    if (!brokerOrderId || !tourId) {\n                                        return;\n                                    }\n\n                                    dispatch(\n                                        findTruck({\n                                            brokerOrderId,\n                                            tourId,\n                                            plateNumber: text,\n                                            trailerId: formik.values[FieldsEnum.trailerId],\n                                            isIgnoreCertificates: userSelection.isIgnoreCertificates,\n                                            isIgnoreEmissionStandard: userSelection.isIgnoreEmissionStandard,\n                                            pointToDropTrailer: userSelection.pointToDropTrailer,\n                                            pointToDropTruck: userSelection.pointToDropTruck,\n                                        }),\n                                    );\n                                }}\n                                renderLeftIcon={renderTruckTriggerIcon(selectedTruckId, selectedTrailerId)}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                inputPlaceholder={t('assignment.fields.truck.input-placeholder')}\n                                placeholder={t('assignment.fields.truck.placeholder')}\n                                optionClassName={cx('option')}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        name={FieldsEnum.trailerId}\n                        error={formik.errors[FieldsEnum.trailerId]}\n                        meta={formik.getFieldMeta(FieldsEnum.trailerId)}\n                        label={t('assignment.fields.trailer.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        asyncError={asyncFormErrors[FieldsEnum.trailerId]}\n                        resetAsyncError={resetAsyncFormErrors}\n                        isForceShowWarning\n                        warning={trailerWarning}\n                    >\n                        {(props) => (\n                            <DropdownSearchInput<TrailerOptionT, TrailerIdT | null>\n                                selectedValue={formik.values[FieldsEnum.trailerId]}\n                                options={trailersOptions}\n                                onSelect={handleSelectTrailer}\n                                renderTrigger={renderTrailerTrigger}\n                                renderOption={renderTrailerOption}\n                                isDisabled={isDisabledTrailerSuggest}\n                                isLoading={trailerSuggestRequestStatus.loading}\n                                getOptionValue={getOptionValue}\n                                onChangeQuery={(text) => {\n                                    if (!brokerOrderId || !tourId) {\n                                        return;\n                                    }\n\n                                    dispatch(\n                                        findTrailer({\n                                            brokerOrderId,\n                                            tourId,\n                                            plateNumber: text,\n                                            truckId: formik.values[FieldsEnum.truckId],\n                                            isIgnoreCertificates: userSelection.isIgnoreCertificates,\n                                            isIgnoreEmissionStandard: userSelection.isIgnoreEmissionStandard,\n                                            pointToDropTrailer: userSelection.pointToDropTrailer,\n                                            pointToDropTruck: userSelection.pointToDropTruck,\n                                        }),\n                                    );\n                                }}\n                                renderLeftIcon={renderTrailerTriggerIcon(selectedTrailerId, selectedTruckId)}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                inputPlaceholder={t('assignment.fields.trailer.input-placeholder')}\n                                placeholder={t('assignment.fields.trailer.placeholder')}\n                                optionClassName={cx('option')}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        name={FieldsEnum.locationToDropTrailer}\n                        error={formik.errors[FieldsEnum.locationToDropTrailer]}\n                        meta={formik.getFieldMeta(FieldsEnum.locationToDropTrailer)}\n                        label={t('assignment.fields.point-to-drop-trailer.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <GeoSuggest\n                                name={FieldsEnum.locationToDropTrailer}\n                                value={formik.values[FieldsEnum.locationToDropTrailer]}\n                                placeholder={t('assignment.fields.point-to-drop-trailer.placeholder')}\n                                renderLeftIcon={renderTrailerDropOffIcon(\n                                    formik.values[FieldsEnum.locationToDropTrailer]\n                                        ? 'assignment-input-selected'\n                                        : 'assignment-input-normal',\n                                    initPayloadDropPoint,\n                                    formik.values[FieldsEnum.locationToDropTruck],\n                                    formik.values[FieldsEnum.locationToDropTrailer],\n                                )}\n                                onChange={handleSelectPointToDropTrailer}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                testSelector=\"point-to-drop-trailer\"\n                                isDisabled={!formik.values[FieldsEnum.trailerId]}\n                                showClearControl={!!formik.values[FieldsEnum.locationToDropTrailer]}\n                                overlayPosition=\"top\"\n                                renderRightNode={() =>\n                                    !checkIsSameLocation(\n                                        initTrailerDropPoint?.location || null,\n                                        formik.values[FieldsEnum.locationToDropTrailer],\n                                    ) && (\n                                        <TransparentTrigger\n                                            spaces=\"xs\"\n                                            onClick={() => {\n                                                handleSelectPointToDropTrailer(initTrailerDropPoint?.location || null);\n                                            }}\n                                            leftIcon={\n                                                <NumberIcon\n                                                    fillColor={StyleGuideColorsEnum.charcoal}\n                                                    number={(initPayloadDropPoint?.index || 0) + 1}\n                                                />\n                                            }\n                                            reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                                        />\n                                    )\n                                }\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        name={FieldsEnum.locationToDropTruck}\n                        error={formik.errors[FieldsEnum.locationToDropTruck]}\n                        meta={formik.getFieldMeta(FieldsEnum.locationToDropTruck)}\n                        label={t('assignment.fields.point-to-drop-truck.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <GeoSuggest\n                                name={FieldsEnum.locationToDropTruck}\n                                value={formik.values[FieldsEnum.locationToDropTruck]}\n                                placeholder={t('assignment.fields.point-to-drop-truck.placeholder')}\n                                renderLeftIcon={renderTruckDropOffIcon(\n                                    formik.values[FieldsEnum.locationToDropTruck]\n                                        ? 'assignment-input-selected'\n                                        : 'assignment-input-normal',\n                                    initPayloadDropPoint,\n                                    formik.values[FieldsEnum.locationToDropTruck],\n                                    formik.values[FieldsEnum.locationToDropTrailer],\n                                )}\n                                onChange={handleSelectPointToDropTruck}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                isDisabled={!formik.values[FieldsEnum.truckId]}\n                                testSelector=\"point-to-drop-truck\"\n                                showClearControl={!!formik.values[FieldsEnum.locationToDropTruck]}\n                                overlayPosition=\"top\"\n                                renderRightNode={() =>\n                                    !checkIsSameLocation(\n                                        initTruckDropPoint?.location || null,\n                                        formik.values[FieldsEnum.locationToDropTruck],\n                                    ) && (\n                                        <TransparentTrigger\n                                            spaces=\"xs\"\n                                            onClick={() => {\n                                                handleSelectPointToDropTruck(initTruckDropPoint?.location || null);\n                                            }}\n                                            leftIcon={\n                                                <NumberIcon\n                                                    fillColor={StyleGuideColorsEnum.charcoal}\n                                                    number={(initPayloadDropPoint?.index || 0) + 1}\n                                                />\n                                            }\n                                            reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                                        />\n                                    )\n                                }\n                            />\n                        )}\n                    </FormikField>\n                </div>\n                <TourTypeTabs\n                    className={cx('tout-type-tabs')}\n                    brokerOrderDetails={brokerOrderDetails}\n                    isLoading={selfCostPredictionRequestStatus.loading}\n                    selfCostPrediction={selfCostPrediction}\n                    selectedTourTypeTab={selectedTourTypeTab}\n                    onSelectTourTypeTab={onSelectTourTypeTab}\n                />\n                {(selfCostPrediction || selfCostPredictionRequestStatus.loading) && (\n                    <div className={cx('self-cost-prediction')}>\n                        <InfoTable\n                            shouldRenderIcons\n                            rows={utilizationDetails}\n                            className={cx('table', 'table--utilization')}\n                        />\n                        <AssetTypeTabs\n                            className={cx('asset-type-tabs')}\n                            selfCostPrediction={selfCostPrediction}\n                            selectedTourTypeTab={selectedTourTypeTab}\n                            selectedAssetType={selectedAssetType}\n                            onSelectAssetType={setSelectedAssetType}\n                        />\n                        {selectedAssetType === AssetTypeTabsEnum.train &&\n                            selectedTourTypeTab === TourTypeTabsEnum.current && (\n                                <ReceiptPriceDetails\n                                    label={t('assignment.costs-type.train')}\n                                    className={cx('receipt')}\n                                    costs={selfCostPrediction?.calculatedSumCost}\n                                />\n                            )}\n                        {selectedAssetType === AssetTypeTabsEnum.truck &&\n                            selectedTourTypeTab === TourTypeTabsEnum.current && (\n                                <ReceiptPriceDetails\n                                    label={t('assignment.costs-type.truck')}\n                                    className={cx('receipt')}\n                                    costs={selfCostPrediction?.calculatedTruckCost}\n                                />\n                            )}\n                        {selectedAssetType === AssetTypeTabsEnum.trailer &&\n                            selectedTourTypeTab === TourTypeTabsEnum.current && (\n                                <ReceiptPriceDetails\n                                    label={t('assignment.costs-type.trailer')}\n                                    className={cx('receipt')}\n                                    costs={selfCostPrediction?.calculatedTrailerCost}\n                                    isHideFuelPrice\n                                />\n                            )}\n                        {selectedAssetType === AssetTypeTabsEnum.truck &&\n                            selectedTourTypeTab === TourTypeTabsEnum.next && (\n                                <ReceiptPriceDetails\n                                    label={\n                                        truckCarrierId && selfCostPrediction?.truckNextTransportationOrderInfo ? (\n                                            <Link\n                                                target=\"_blank\"\n                                                theme={LinkThemeEnum.boldBrandDark}\n                                                to={urlFactory.partnerTransportOrderDetails(\n                                                    PartnerTypeEnum.carrier,\n                                                    truckCarrierId,\n                                                    selfCostPrediction.truckNextTransportationOrderInfo.id,\n                                                )}\n                                            >\n                                                {t('assignment.costs-type.transport-order', {\n                                                    transportOrderNumber:\n                                                        selfCostPrediction.truckNextTransportationOrderInfo.number ||\n                                                        '',\n                                                })}\n                                            </Link>\n                                        ) : null\n                                    }\n                                    className={cx('receipt')}\n                                    costs={selfCostPrediction?.truckNextTourNewCostDetails}\n                                    prevCosts={selfCostPrediction?.truckNextTourOldCostDetails}\n                                />\n                            )}\n                        {selectedAssetType === AssetTypeTabsEnum.trailer &&\n                            selectedTourTypeTab === TourTypeTabsEnum.next && (\n                                <ReceiptPriceDetails\n                                    label={\n                                        trailerCarrierId && selfCostPrediction?.trailerNextTransportationOrderInfo ? (\n                                            <Link\n                                                target=\"_blank\"\n                                                theme={LinkThemeEnum.boldBrandDark}\n                                                to={urlFactory.partnerTransportOrderDetails(\n                                                    PartnerTypeEnum.carrier,\n                                                    trailerCarrierId,\n                                                    selfCostPrediction.trailerNextTransportationOrderInfo.id,\n                                                )}\n                                            >\n                                                {t('assignment.costs-type.transport-order', {\n                                                    transportOrderNumber:\n                                                        selfCostPrediction.trailerNextTransportationOrderInfo.number ||\n                                                        '',\n                                                })}\n                                            </Link>\n                                        ) : null\n                                    }\n                                    className={cx('receipt')}\n                                    costs={selfCostPrediction?.trailerNextTourNewCostDetails}\n                                    prevCosts={selfCostPrediction?.trailerNextTourOldCostDetails}\n                                />\n                            )}\n                        {selectedAssetType === AssetTypeTabsEnum.train &&\n                            selectedTourTypeTab === TourTypeTabsEnum.next && (\n                                <ReceiptPriceDetails\n                                    label={\n                                        truckCarrierId && selfCostPrediction?.truckNextTransportationOrderInfo ? (\n                                            <Link\n                                                target=\"_blank\"\n                                                theme={LinkThemeEnum.boldBrandDark}\n                                                to={urlFactory.partnerTransportOrderDetails(\n                                                    PartnerTypeEnum.carrier,\n                                                    truckCarrierId,\n                                                    selfCostPrediction.truckNextTransportationOrderInfo.id,\n                                                )}\n                                            >\n                                                {t('assignment.costs-type.transport-order', {\n                                                    transportOrderNumber:\n                                                        selfCostPrediction.truckNextTransportationOrderInfo.number ||\n                                                        '',\n                                                })}\n                                            </Link>\n                                        ) : null\n                                    }\n                                    className={cx('receipt')}\n                                    costs={selfCostPrediction?.truckNextTourNewCostDetails}\n                                    prevCosts={selfCostPrediction?.truckNextTourOldCostDetails}\n                                />\n                            )}\n                        {selectedAssetType === AssetTypeTabsEnum.train && (\n                            <MileageInfoTable\n                                totalDistance={selfCostPrediction?.calculatedSumCost?.distances?.totalDistance || null}\n                                payloadDistance={selfCostPrediction?.calculatedSumCost?.payload?.distances || null}\n                                deadheadDistance={selfCostPrediction?.calculatedSumCost?.deadhead?.distances || null}\n                                isNotActual={!formik.values[FieldsEnum.truckId] || !formik.values[FieldsEnum.trailerId]}\n                            />\n                        )}\n                        {selectedAssetType === AssetTypeTabsEnum.truck && (\n                            <MileageInfoTable\n                                totalDistance={\n                                    selfCostPrediction?.calculatedTruckCost?.distances?.totalDistance || null\n                                }\n                                payloadDistance={selfCostPrediction?.calculatedTruckCost?.payload?.distances || null}\n                                deadheadDistance={selfCostPrediction?.calculatedTruckCost?.deadhead?.distances || null}\n                                isNotActual={!formik.values[FieldsEnum.truckId] || !formik.values[FieldsEnum.trailerId]}\n                            />\n                        )}\n                        {selectedAssetType === AssetTypeTabsEnum.trailer && (\n                            <MileageInfoTable\n                                totalDistance={\n                                    selfCostPrediction?.calculatedTrailerCost?.distances?.totalDistance || null\n                                }\n                                payloadDistance={selfCostPrediction?.calculatedTrailerCost?.payload?.distances || null}\n                                deadheadDistance={\n                                    selfCostPrediction?.calculatedTrailerCost?.deadhead?.distances || null\n                                }\n                                isNotActual={!formik.values[FieldsEnum.truckId] || !formik.values[FieldsEnum.trailerId]}\n                            />\n                        )}\n                        {(selfCostPredictionRequestStatus.loading || selfCostPredictionRequestStatus.error) && (\n                            <>\n                                <div className={cx('self-cost-prediction__overlay')} />\n                                {selfCostPredictionRequestStatus.loading && (\n                                    <div className={cx('self-cost-prediction__loader')}>\n                                        <ControlLoaderLabel isInvert>\n                                            {t(\n                                                !selfCostPrediction\n                                                    ? 'assignment.loader.calculating'\n                                                    : 'assignment.loader.re-calculating',\n                                            )}\n                                        </ControlLoaderLabel>\n                                    </div>\n                                )}\n                            </>\n                        )}\n                    </div>\n                )}\n                <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n                <FooterSideBarLayout hasPaddings>\n                    <div className={cx('actions')}>\n                        <Button\n                            theme={ButtonThemeEnum.secondary}\n                            className={cx('action', 'action--cancel')}\n                            onClick={onCancel}\n                        >\n                            {t('assignment.actions.cancel')}\n                        </Button>\n                        <Button.Container className={cx('action', 'action--assign')}>\n                            <Button\n                                isFullWidth\n                                isCenterContent\n                                theme={ButtonThemeEnum.primary}\n                                isDisabled={isDisabledSubmit}\n                                isLoading={isLoadingSubmit}\n                                type=\"submit\"\n                            >\n                                {t('assignment.actions.assign')}\n                            </Button>\n                            <Button.Timer\n                                showTime={MS_IN_MIN}\n                                expireTime={selfCostPrediction?.expireTime || null}\n                                tooltipMessage={t('assignment.time-left-to-accept-cost')}\n                                onExpire={handleExpire}\n                            />\n                        </Button.Container>\n                    </div>\n                </FooterSideBarLayout>\n            </form>\n            <LongDeadheadConfirmation\n                data={longDeadheadConfirmation.data}\n                requestStatus={assignmentRequestStatus}\n                onClose={longDeadheadConfirmation.onClose}\n                onCancel={longDeadheadConfirmation.onCancel}\n                onConfirm={({ brokerOrderId, tourId, assignmentContextId }) => {\n                    dispatch(assign(brokerOrderId, tourId, assignmentContextId));\n                }}\n            />\n            <CancelTrailerTransportOrderConfirmation\n                data={cancelTrailerTransportOrderConfirmation.data}\n                requestStatus={updateTrailerTransportOrderStatusRequest}\n                onClose={cancelTrailerTransportOrderConfirmation.onClose}\n                onCancel={cancelTrailerTransportOrderConfirmation.onCancel}\n                onConfirm={handleConfirmCancelTrailerTransportOrder}\n            />\n            <CancelTruckTransportOrderConfirmation\n                data={cancelTruckTransportOrderConfirmation.data}\n                requestStatus={updateTruckTransportOrderStatusRequest}\n                onClose={cancelTruckTransportOrderConfirmation.onClose}\n                onCancel={cancelTruckTransportOrderConfirmation.onCancel}\n                onConfirm={handleConfirmCancelTruckTransportOrder}\n            />\n        </div>\n    );\n};\n\nexport default AssignmentForm;\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './TrailerType.scss';\nimport { ApiTrailerTypeT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    trailerType: ApiTrailerTypeT | undefined;\n    className?: string;\n};\n\nconst TrailerType: React.FC<PropsT> = (props) => {\n    const { trailerType, className } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('icon', {\n                    [`icon--${trailerType}`]: true,\n                }),\n                className,\n            )}\n        />\n    );\n};\n\nexport default TrailerType;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './PricesCell.scss';\nimport Money from 'common/components/Money/Money';\nimport isNumber from 'lodash/isNumber';\nimport { CurrencyEnum } from 'common/constants';\nimport ColoredDiff from 'common/components/ColoredDiff/ColoredDiff';\nimport MoneyDiff from 'common/components/MoneyDiff/MoneyDiff';\n\ntype PropsT = {\n    price: number | null | undefined;\n    targetPrice: number | null | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst PricesCell: React.FC<PropsT> = React.memo((props) => {\n    const { price, targetPrice } = props;\n\n    return (\n        <div className={cx('cost')}>\n            {isNumber(targetPrice) ? (\n                <>\n                    <div>\n                        <Money testSelector=\"target-price\" amount={targetPrice} currency={CurrencyEnum.EUR} />\n                    </div>\n                    <div>\n                        <MoneyDiff value={price} baseValue={targetPrice}>\n                            {(diff) => (\n                                <ColoredDiff isInverted diff={diff}>\n                                    <Money testSelector=\"price\" amount={price} currency={CurrencyEnum.EUR} />\n                                </ColoredDiff>\n                            )}\n                        </MoneyDiff>\n                    </div>\n                </>\n            ) : (\n                <>\n                    <div>-</div>\n                    <div>\n                        <Money testSelector=\"price\" amount={price} currency={CurrencyEnum.EUR} />\n                    </div>\n                </>\n            )}\n        </div>\n    );\n});\n\nexport default PricesCell;\n","import * as React from 'react';\nimport { Trans } from 'react-i18next';\nimport CityName from '../entities/CityName/CityName';\nimport Identifier from 'common/components/notification-cards/entities/Identifier/Identifier';\nimport classNames from 'classnames/bind';\nimport styles from './ShipmentNoShowCard.scss';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    shipmentNumber: React.ReactNode;\n    orderNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst ShipmentNoShowCard: React.FC<PropsT> = React.memo((props) => {\n    const { shipmentNumber, orderNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"common:notifications.shipment-no-show\"\n                components={{\n                    shipmentNumber: <Identifier id={shipmentNumber} />,\n                    orderNumber: <Identifier id={orderNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default ShipmentNoShowCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"section\":\"DriverDetailsSidebarContent__section___jIYJq\",\"section--isLast\":\"DriverDetailsSidebarContent__section--isLast___bTXu0\",\"section__title\":\"DriverDetailsSidebarContent__section__title___zevUD\",\"field--formal\":\"DriverDetailsSidebarContent__field--formal___mAaKC\",\"field--first-name\":\"DriverDetailsSidebarContent__field--first-name___N57yx\",\"field--contact\":\"DriverDetailsSidebarContent__field--contact___pXHwV\",\"field--last-name\":\"DriverDetailsSidebarContent__field--last-name___HM7YS\",\"field--link\":\"DriverDetailsSidebarContent__field--link___cRLPT\",\"field--birthday\":\"DriverDetailsSidebarContent__field--birthday___I03OK\",\"field--country\":\"DriverDetailsSidebarContent__field--country___OceXH\",\"field--language\":\"DriverDetailsSidebarContent__field--language___gs3GI\",\"fadeIn\":\"DriverDetailsSidebarContent__fadeIn___Z_tl6\",\"blinking\":\"DriverDetailsSidebarContent__blinking___sTP_B\"};","// extracted by mini-css-extract-plugin\nexport default {\"date\":\"HumanReadableFullDateCell__date___fUtK6\",\"date--isBold\":\"HumanReadableFullDateCell__date--isBold___HP_ab\",\"date--isBigFont\":\"HumanReadableFullDateCell__date--isBigFont___oPAqz\",\"fadeIn\":\"HumanReadableFullDateCell__fadeIn___gqvFc\",\"blinking\":\"HumanReadableFullDateCell__blinking___IHcj1\"};","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport TabGroup from 'common/components/tabs/TabGroup/TabGroup';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabLabelSizeEnum, TabsThemesEnum } from 'common/components/tabs/TabLabel/constants';\nimport { useTabs } from 'common/components/tabs/hooks';\nimport styles from './DetailsOrPapersTabs.scss';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    children: React.ReactNode;\n    papersBadge?: React.ReactNode;\n    papersTabRightNode?: React.ReactNode;\n};\n\nenum TabTypeEnum {\n    details = 'details',\n    papers = 'papers',\n}\n\nconst DetailsOrPapersTabs: React.FC<PropsT> = React.memo((props) => {\n    const { children, className, papersBadge, papersTabRightNode } = props;\n    const { t } = useTranslation();\n    const { activeTabType, setActiveTabType } = useTabs<TabTypeEnum>(TabTypeEnum.details);\n\n    const childrenArray = React.Children.toArray(children).filter(Boolean);\n\n    if (childrenArray.length === 0) {\n        return null;\n    }\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isNewPapersAttachmentActive = featuresContext?.checkActiveClientFeature?.(\n        ClientFeatureEnum.newPapersAttachment,\n    );\n    if (!isNewPapersAttachmentActive) {\n        return <>{childrenArray[0]}</>;\n    }\n\n    // TODO empty state for papers tab\n    // if (childrenArray.length === 1) {\n    //     return <>{childrenArray[0]}</>;\n    // }\n\n    const [detailsTabContent, papersTabContent] = childrenArray;\n\n    return (\n        <>\n            <div className={cs(cx('header'), className)}>\n                <TabGroup size={TabLabelSizeEnum.small}>\n                    {detailsTabContent && (\n                        <TabLabel\n                            theme={TabsThemesEnum.light}\n                            size={TabLabelSizeEnum.small}\n                            isCompact\n                            isActive={activeTabType === TabTypeEnum.details}\n                            onClick={() => {\n                                setActiveTabType(TabTypeEnum.details);\n                            }}\n                        >\n                            {t('common:info-table.tabs.details')}\n                        </TabLabel>\n                    )}\n                    {papersTabContent && (\n                        <TabLabel\n                            theme={TabsThemesEnum.light}\n                            size={TabLabelSizeEnum.small}\n                            isCompact\n                            isActive={activeTabType === TabTypeEnum.papers}\n                            onClick={() => {\n                                setActiveTabType(TabTypeEnum.papers);\n                            }}\n                            badge={papersBadge}\n                        >\n                            {t('common:info-table.tabs.papers')}\n                        </TabLabel>\n                    )}\n                </TabGroup>\n                <div>{activeTabType === TabTypeEnum.papers && papersTabRightNode}</div>\n            </div>\n            {activeTabType === TabTypeEnum.details && detailsTabContent}\n            {activeTabType === TabTypeEnum.papers && papersTabContent}\n        </>\n    );\n});\n\nexport default DetailsOrPapersTabs;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { AssetTypeEnum, StyleGuideColorsEnum } from 'common/constants';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { SetUnavailableVehicleQueryT } from 'common/utils/api/models';\nimport { checkIsSameDay, clearDateTimezone, formatDate } from 'common/utils/time';\nimport { formatDateInterval } from 'common/utils/formatters';\n\nexport type SetUnavailableAssetConfirmationDataT = {\n    companyId: CompanyIdT;\n    assets: Array<{\n        plateNumber: string;\n    }>;\n    query: SetUnavailableVehicleQueryT;\n};\n\ntype PropsT = {\n    assetType: AssetTypeEnum;\n    data: SetUnavailableAssetConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: SetUnavailableAssetConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'set-unavailable-asset';\n\nconst T_MAP: Record<AssetTypeEnum, { title: string; message: string }> = {\n    [AssetTypeEnum.truck]: {\n        title: 'common:trucks-page.set-unavailable-confirmation.title',\n        message: 'common:trucks-page.set-unavailable-confirmation.message',\n    },\n    [AssetTypeEnum.trailer]: {\n        title: 'common:trailers-page.set-unavailable-confirmation.title',\n        message: 'common:trailers-page.set-unavailable-confirmation.message',\n    },\n};\n\nconst FORMAT_DATE = 'D MMM';\n\nconst SetUnavailableAssetConfirmationModal: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm, assetType } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    const { assets, query } = data;\n\n    const tSet = T_MAP[assetType];\n\n    const dateFrom = assetType === AssetTypeEnum.truck ? query.truckDateFrom : query.trailerDateFrom;\n    const dateTo = assetType === AssetTypeEnum.trailer ? query.truckDateTo : query.trailerDateTo;\n\n    const isSameDay = checkIsSameDay(dateFrom, dateTo);\n    const formattedInterval = isSameDay\n        ? formatDate(FORMAT_DATE, clearDateTimezone(dateFrom))\n        : formatDateInterval(dateFrom, dateTo, FORMAT_DATE);\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.set'),\n                            theme: ButtonThemeEnum.danger,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t(tSet.title)}\n                    message={t(tSet.message, {\n                        plateNumber: assets?.[0]?.plateNumber || '',\n                        interval: formattedInterval,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default SetUnavailableAssetConfirmationModal;\n","import { TFunction } from 'i18next';\n\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\n\nconst REQUIRED_FIELDS = [FieldsEnum.roles] as const;\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { RevokeContractActionEnum } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    action = 'action',\n\n    nextContractId = 'next-contract-id',\n\n    trucksRatePerKm = 'trucks-rate-per-km',\n    boxesRatePerKm = 'boxes-rate-per-km',\n    tiltsRatePerKm = 'tilts-rate-per-km',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.action]: RevokeContractActionEnum;\n\n    [FieldsEnum.nextContractId]: CarrierContractIdT | null;\n\n    [FieldsEnum.trucksRatePerKm]: string;\n    [FieldsEnum.boxesRatePerKm]: string;\n    [FieldsEnum.tiltsRatePerKm]: string;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"time-interval\":\"FerryOnboardPointPicker__time-interval___TgRDc\",\"fadeIn\":\"FerryOnboardPointPicker__fadeIn___QYNkU\",\"blinking\":\"FerryOnboardPointPicker__blinking___Gk24r\"};","import React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst SmallDownArrow: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={10} height={10} viewBox=\"0 0 10 10\" {...props}>\n            <path\n                d=\"M8.75 3.144L5.884 6.288V0H4.116v6.288L1.25 3.144 0 4.515 5 10l5-5.485z\"\n                fill={fillColor}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nSmallDownArrow.displayName = 'SmallDownArrow';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.light,\n};\n\nexport { storyProps };\nexport default SmallDownArrow;\n","import * as React from 'react';\nimport { useEffect, useMemo } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './AccessDeniedPage.scss';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { useTranslation } from 'react-i18next';\nimport AuthLayout from '../AuthLayout/AuthLayout';\nimport { AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport AuthLayoutMessage, { AuthMessageIconsEnum } from 'common/layouts/AuthLayout/AuthLayoutMessage/AuthLayoutMessage';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectProfileType, selectSignOutRequestStatus, selectUserClaims } from 'common/store/auth/selectors';\nimport { CommonRoutesEnum, CompanyTypeEnum } from 'common/constants';\nimport { AuthUserClaimRoleT } from 'common/utils/api/models';\nimport { signOut } from 'common/store/auth/actions';\nimport history from 'common/utils/history';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst tRoleMap: Record<AuthProfileTypeEnum, string> = {\n    [AuthProfileTypeEnum.shipper]: 'common:access-denied-page.wrong-account-role.roles.shipper',\n    [AuthProfileTypeEnum.carrier]: 'common:access-denied-page.wrong-account-role.roles.carrier',\n    [AuthProfileTypeEnum.broker]: 'common:access-denied-page.wrong-account-role.roles.broker',\n};\n\nconst tAuthProfileTypeMap: Record<CompanyTypeEnum, AuthProfileTypeEnum> = {\n    [CompanyTypeEnum.shipper]: AuthProfileTypeEnum.shipper,\n    [CompanyTypeEnum.carrier]: AuthProfileTypeEnum.carrier,\n    [CompanyTypeEnum.broker]: AuthProfileTypeEnum.broker,\n};\n\nconst ANY_COMPANY_TYPE_SET = new Set<AuthUserClaimRoleT>(Object.values(CompanyTypeEnum));\n\nconst getRedirectLink = (authProfileType: AuthProfileTypeEnum | null): string | null => {\n    if (!authProfileType) {\n        return null;\n    }\n\n    const currentHost = window.location.host;\n\n    if (/^(ds|dc|db)\\.test\\.tranziit\\.com/.test(currentHost)) {\n        const hostMap1: Record<AuthProfileTypeEnum, string> = {\n            [AuthProfileTypeEnum.shipper]: 'https://ds.test.tranziit.com/',\n            [AuthProfileTypeEnum.carrier]: 'https://dc.test.tranziit.com/',\n            [AuthProfileTypeEnum.broker]: 'https://db.test.tranziit.com/',\n        };\n\n        return hostMap1[authProfileType];\n    }\n\n    if (/^(qs|qc|qb)\\.test\\.tranziit\\.com/.test(currentHost)) {\n        const hostMap2: Record<AuthProfileTypeEnum, string> = {\n            [AuthProfileTypeEnum.shipper]: 'https://qs.test.tranziit.com/',\n            [AuthProfileTypeEnum.carrier]: 'https://qc.test.tranziit.com/',\n            [AuthProfileTypeEnum.broker]: 'https://qb.test.tranziit.com/',\n        };\n\n        return hostMap2[authProfileType];\n    }\n\n    if (/^(shipper|carrier|office)\\.test\\.tranziit\\.com/.test(currentHost)) {\n        const hostMap3: Record<AuthProfileTypeEnum, string> = {\n            [AuthProfileTypeEnum.shipper]: 'https://shipper.test.tranziit.com/',\n            [AuthProfileTypeEnum.carrier]: 'https://carrier.test.tranziit.com/',\n            [AuthProfileTypeEnum.broker]: 'https://office.test.tranziit.com/',\n        };\n\n        return hostMap3[authProfileType];\n    }\n\n    return null;\n};\n\nconst AccessDeniedPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const userClaims = useSelector(selectUserClaims);\n\n    const firstUserClaimCompanyType = useMemo(() => {\n        if (!userClaims) {\n            return null;\n        }\n\n        return userClaims.roles.find((role) => ANY_COMPANY_TYPE_SET.has(role));\n    }, [userClaims]);\n\n    const firstUserClaimAuthProfileType = firstUserClaimCompanyType\n        ? tAuthProfileTypeMap[firstUserClaimCompanyType as CompanyTypeEnum]\n        : null;\n\n    const currentProfileType = useSelector(selectProfileType);\n\n    const signOutRequest = useSelector(selectSignOutRequestStatus);\n\n    const onRelogin = () => {\n        dispatch(signOut());\n    };\n\n    const onOpenPageClick = () => {\n        const redirectLink = getRedirectLink(firstUserClaimAuthProfileType);\n        if (!redirectLink) {\n            return;\n        }\n\n        window.location.href = redirectLink;\n    };\n\n    useEffect(() => {\n        if (\n            firstUserClaimAuthProfileType &&\n            currentProfileType &&\n            firstUserClaimAuthProfileType === currentProfileType\n        ) {\n            history.push({\n                pathname: CommonRoutesEnum.home,\n            });\n        }\n    }, [firstUserClaimAuthProfileType, currentProfileType]);\n\n    const roleLabel = firstUserClaimAuthProfileType ? t(tRoleMap[firstUserClaimAuthProfileType]) : null;\n\n    return (\n        <>\n            <PageTitle title={t('common:page-titles.access-denied')} />\n            <AuthLayout testSelector=\"not-found-page\">\n                <AuthLayoutMessage\n                    iconType={AuthMessageIconsEnum.warning}\n                    title={t('common:access-denied-page.wrong-account-role.title')}\n                    description={t('common:access-denied-page.wrong-account-role.description', {\n                        role: roleLabel,\n                        currentRole: roleLabel,\n                    })}\n                    testSelector=\"access-denied\"\n                    actionsProps={[\n                        {\n                            theme: ButtonThemeEnum.secondary,\n                            onClick: onOpenPageClick,\n                            children: t('common:access-denied-page.wrong-account-role.actions.open-page', {\n                                role: roleLabel,\n                            }),\n                        },\n                        {\n                            theme: ButtonThemeEnum.secondary,\n                            onClick: onRelogin,\n                            isLoading: signOutRequest.loading,\n                            children: t('common:access-denied-page.wrong-account-role.actions.relogin'),\n                        },\n                    ]}\n                />\n            </AuthLayout>\n        </>\n    );\n});\n\nexport default AccessDeniedPage;\n","import { StateT } from 'carrier/store/models';\nimport { SpotAssetsAssignmentStateT } from './types';\n\nexport const selectUserSelection = (state: StateT): SpotAssetsAssignmentStateT['userSelection'] =>\n    state.spotAssetsAssigment.userSelection;\n\nexport const selectVehicleLinks = (state: StateT): SpotAssetsAssignmentStateT['links'] =>\n    state.spotAssetsAssigment.links;\n\nexport const selectTruckSuggestQuery = (state: StateT): SpotAssetsAssignmentStateT['truckSuggest']['query'] =>\n    state.spotAssetsAssigment.truckSuggest.query;\n\nexport const selectTruckSuggestRequestStatus = (\n    state: StateT,\n): SpotAssetsAssignmentStateT['truckSuggest']['requestStatus'] => state.spotAssetsAssigment.truckSuggest.requestStatus;\n\nexport const selectTruckSuggestIds = (state: StateT): SpotAssetsAssignmentStateT['truckSuggest']['ids'] =>\n    state.spotAssetsAssigment.truckSuggest.ids;\n\nexport const selectTruckAssignmentInfoById = (state: StateT): SpotAssetsAssignmentStateT['truckById'] =>\n    state.spotAssetsAssigment.truckById;\n\nexport const selectTrailerSuggestQuery = (state: StateT): SpotAssetsAssignmentStateT['trailerSuggest']['query'] =>\n    state.spotAssetsAssigment.trailerSuggest.query;\n\nexport const selectTrailerSuggestRequestStatus = (\n    state: StateT,\n): SpotAssetsAssignmentStateT['trailerSuggest']['requestStatus'] =>\n    state.spotAssetsAssigment.trailerSuggest.requestStatus;\n\nexport const selectTrailerSuggestIds = (state: StateT): SpotAssetsAssignmentStateT['trailerSuggest']['ids'] =>\n    state.spotAssetsAssigment.trailerSuggest.ids;\n\nexport const selectTrailerAssignmentInfoById = (state: StateT): SpotAssetsAssignmentStateT['trailerById'] =>\n    state.spotAssetsAssigment.trailerById;\n\nexport const selectAssignmentRequestStatus = (state: StateT): SpotAssetsAssignmentStateT['assigmentStatus'] =>\n    state.spotAssetsAssigment.assigmentStatus;\n","// extracted by mini-css-extract-plugin\nexport default {\"cost\":\"PricesCell__cost___KRl5e\",\"fadeIn\":\"PricesCell__fadeIn____UgGN\",\"blinking\":\"PricesCell__blinking___gSkUV\"};","import styles from './styles.scss';\nimport classNames from 'classnames/bind';\n\nexport const commonPriceDetailsCX = classNames.bind(styles);\n","import * as React from 'react';\n\nimport RFQDetailsPageLayout from 'common/layouts/RFQDetailsPageLayout/RFQDetailsPageLayout';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport history from 'common/utils/history';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { logWarning } from 'common/utils/logger';\n\ntype PropsT = {};\n\nconst BrokerRFQDetailsPage: React.FC<PropsT> = React.memo(() => {\n    const { partnerId, partnerType } = usePartnerContext();\n\n    const handleGoToBack = () => {\n        const url = urlFactory.brokerRFQList();\n        history.push(url);\n    };\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const handleGoToUserDetails = (userId: UserIdT | null) => {\n        if (!userId || !partnerId || !partnerType) {\n            logWarning('failed to open contact details in rfq details, empty userId or partnerId or partnerType');\n            return;\n        }\n\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.contact,\n                partnerId,\n                partnerType,\n                userId,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    return (\n        <>\n            <RFQDetailsPageLayout isShowSourcePill goToBack={handleGoToBack} goToUserDetails={handleGoToUserDetails} />\n            <SideBars />\n        </>\n    );\n});\n\nexport default BrokerRFQDetailsPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"ChangeRoleUserForm__form___TrHJZ\",\"fadeIn\":\"ChangeRoleUserForm__fadeIn___ZbqAy\",\"blinking\":\"ChangeRoleUserForm__blinking___XDxp1\"};","import React from 'react';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport Modal from 'common/components/Modal/Modal';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport InviteDriverForm from 'common/layouts/DriversPageLayout/InviteDriverForm/InviteDriverForm';\nimport { ApiInviteDriverRequestT } from 'common/utils/api/models';\n\nexport type DriverInviteModalDataT = {\n    // nothing\n};\n\ntype PropsT = {\n    data: DriverInviteModalDataT | null;\n    onClose: () => void;\n    onInviteUser: (newDriver: ApiInviteDriverRequestT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst DriverInviteModal: React.FC<PropsT> = React.memo((props) => {\n    const { data, onClose, requestStatus, onInviteUser } = props;\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent testSelector=\"driver-invite\" onClose={onClose}>\n                <InviteDriverForm requestStatus={requestStatus} onInviteUser={onInviteUser} />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default DriverInviteModal;\n","import { UserStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { UserStatusEnum } from 'common/utils/api/models';\n\nexport const selectCurrentUserRequestStatus = (state: SharableStateT): UserStateT['currentUserRequest'] =>\n    state.user.currentUserRequest;\n\nexport const selectCurrentUser = (state: SharableStateT): UserStateT['currentUser'] | null =>\n    state.user.currentUser || null;\n\nexport const selectUserSignedUp = (state: SharableStateT): boolean => !!state.user.currentUser;\n\nexport const selectIsPendingUser = (state: SharableStateT): boolean => {\n    return state.user.currentUser?.status === UserStatusEnum.pending;\n};\n\nexport const selectPatchUserRequestStatus = (state: SharableStateT): UserStateT['patchUserRequest'] =>\n    state.user.patchUserRequest;\n","// extracted by mini-css-extract-plugin\nexport default {\"flag-wrap\":\"ExcludedCountry__flag-wrap___eWVwr\",\"flag-wrap--is-show\":\"ExcludedCountry__flag-wrap--is-show___xwoR2\",\"flag\":\"ExcludedCountry__flag___kmlUB\",\"fadeIn\":\"ExcludedCountry__fadeIn___PUFVa\",\"blinking\":\"ExcludedCountry__blinking___Fa5uZ\"};","// extracted by mini-css-extract-plugin\nexport default {\"divider\":\"EvidenceOfTaxDetails__divider___Na1JC\",\"fadeIn\":\"EvidenceOfTaxDetails__fadeIn___tht1d\",\"blinking\":\"EvidenceOfTaxDetails__blinking___A7Jb0\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ControlsCell.scss';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport MoreIcon from 'common/icons/MoreIcon';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport { CompanyContactT } from 'common/store/members/models';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport AddUserIcon from 'common/icons/AddUserIcon';\nimport { useTranslation } from 'react-i18next';\nimport { UserRoleT, UserStatusEnum } from 'common/utils/api/models';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport UpdateUserIcon from 'common/icons/UpdateUserIcon';\nimport RestoreIcon from 'common/icons/RestoreIcon';\nimport DeleteUserIcon from 'common/icons/DeleteUserIcon';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport { logWarning } from 'common/utils/logger';\nimport ContactBadgeIcon from 'common/icons/ContactBadgeIcon';\nimport { isNonNil } from 'common/utils';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport MainContactUnavailableReasonLabel from 'common/components/papers/labels/MainContactUnavailableReasonLabel/MainContactUnavailableReasonLabel';\n\ntype PropsT = {\n    className?: string;\n    contact: CompanyContactT;\n    onDeleteUser: (contact: CompanyContactT) => void;\n    onDeleteContact: (contact: CompanyContactT) => void;\n    onChangeUserRole: (contact: CompanyContactT) => void;\n    onMakeMainContact: (contact: CompanyContactT) => void;\n    onCancelInvite: (contact: CompanyContactT) => void;\n    onRestoreUser: (contact: CompanyContactT) => void;\n    onInviteUser: (email: string) => void;\n    onResendInviteUser: (email: string, roles: UserRoleT[]) => void;\n    isLastRow: boolean;\n    canInviteUsers: boolean;\n};\n\nconst cx = classNames.bind(styles);\n\nenum ActionsEnum {\n    changeRole = 'change-role',\n    deactivateUser = 'deactivate-user',\n    inviteUser = 'invite-user',\n    resendInviteUser = 'resend-invite-user',\n    deleteContact = 'delete-contact',\n    cancelInvite = 'cancel-invite',\n    restoreUser = 'restore-user',\n    makeMainContact = 'make-main-contact',\n}\n\ntype PermissionsT = {\n    canInviteUsers: boolean;\n};\n\nconst getActions = (contact: CompanyContactT, permissions: PermissionsT): Array<ActionsEnum | null> => {\n    if (contact.userStatus === UserStatusEnum.pending) {\n        const actions: Array<ActionsEnum | null> = [ActionsEnum.cancelInvite];\n\n        if (permissions.canInviteUsers) {\n            actions.push(ActionsEnum.resendInviteUser);\n        }\n\n        return actions;\n    }\n\n    if (contact.userStatus === UserStatusEnum.archived) {\n        return [ActionsEnum.restoreUser];\n    }\n\n    if (contact.userStatus === UserStatusEnum.active) {\n        const actions = [ActionsEnum.changeRole, null, ActionsEnum.deactivateUser];\n\n        if (!contact.main) {\n            return [ActionsEnum.makeMainContact, ...actions];\n        }\n\n        return actions;\n    }\n\n    if (!contact.userId) {\n        const actions: Array<ActionsEnum | null> = [ActionsEnum.deleteContact];\n\n        if (permissions.canInviteUsers) {\n            actions.unshift(ActionsEnum.inviteUser, null);\n        }\n\n        if (!contact.main) {\n            return [ActionsEnum.makeMainContact, ...actions];\n        }\n\n        return actions;\n    }\n\n    return [];\n};\n\nconst ControlsCell: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        onDeleteUser,\n        onDeleteContact,\n        onChangeUserRole,\n        onMakeMainContact,\n        onInviteUser,\n        onResendInviteUser,\n        contact,\n        onCancelInvite,\n        onRestoreUser,\n        isLastRow,\n        canInviteUsers,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const actionsMap: Record<ActionsEnum, DropdownControlOptionT> = {\n        [ActionsEnum.makeMainContact]: {\n            label: (\n                <Tooltip\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        contact.mainContactUnavailableReason ? (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                <MainContactUnavailableReasonLabel reason={contact.mainContactUnavailableReason} />\n                            </TooltipContent>\n                        ) : null\n                    }\n                >\n                    {() => (\n                        <DropdownControlOptionLabel\n                            isDisabled={!!contact.mainContactUnavailableReason}\n                            icon={\n                                <ContactBadgeIcon\n                                    fillColor={StyleGuideColorsEnum.light}\n                                    strokeColor={StyleGuideColorsEnum.slate}\n                                />\n                            }\n                            label={t('common:team-members.actions.make-main-contact')}\n                        />\n                    )}\n                </Tooltip>\n            ),\n            isDisabled: !!contact.mainContactUnavailableReason,\n            onSelect: () => {\n                onMakeMainContact(contact);\n            },\n        },\n        [ActionsEnum.changeRole]: {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={\n                        <UpdateUserIcon\n                            fillColor={StyleGuideColorsEnum.light}\n                            strokeColor={StyleGuideColorsEnum.slate}\n                        />\n                    }\n                    label={t('common:team-members.actions.change-user-role')}\n                />\n            ),\n            onSelect: () => {\n                onChangeUserRole(contact);\n            },\n        },\n        [ActionsEnum.inviteUser]: {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={\n                        <AddUserIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.slate} />\n                    }\n                    label={t('common:team-members.actions.invite')}\n                />\n            ),\n            onSelect: () => {\n                onInviteUser(contact.email || '');\n            },\n        },\n        [ActionsEnum.resendInviteUser]: {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={\n                        <AddUserIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.slate} />\n                    }\n                    label={t('common:team-members.actions.resend-invite')}\n                />\n            ),\n            onSelect: () => {\n                const roles = contact.roles.map((item) => item.role).filter(isNonNil);\n                if (!roles?.length || !contact.email) {\n                    logWarning('empty role or email');\n                    return;\n                }\n\n                onResendInviteUser(contact.email, roles);\n            },\n        },\n        [ActionsEnum.deactivateUser]: {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={\n                        <DeleteUserIcon\n                            fillColor={StyleGuideColorsEnum.white}\n                            strokeColor={StyleGuideColorsEnum.tomatoRed}\n                        />\n                    }\n                    label={t('common:team-members.actions.deactivate-user')}\n                />\n            ),\n            onSelect: () => {\n                onDeleteUser(contact);\n            },\n        },\n        [ActionsEnum.deleteContact]: {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={\n                        <DeleteUserIcon\n                            fillColor={StyleGuideColorsEnum.white}\n                            strokeColor={StyleGuideColorsEnum.tomatoRed}\n                        />\n                    }\n                    label={t('common:team-members.actions.delete-contact')}\n                />\n            ),\n            onSelect: () => {\n                onDeleteContact(contact);\n            },\n        },\n        [ActionsEnum.cancelInvite]: {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={<CloseIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                    label={t('common:team-members.actions.cancel-invite')}\n                />\n            ),\n            onSelect: () => {\n                onCancelInvite(contact);\n            },\n        },\n        [ActionsEnum.restoreUser]: {\n            label: (\n                <DropdownControlOptionLabel\n                    icon={<RestoreIcon strokeColor={StyleGuideColorsEnum.slate} />}\n                    label={t('common:team-members.actions.restore-user')}\n                />\n            ),\n            onSelect: () => {\n                onRestoreUser(contact);\n            },\n        },\n    };\n\n    const actions = getActions(contact, { canInviteUsers });\n\n    const options = actions.map((action) => {\n        if (action === null) {\n            return SpecialOptionEnum.separator;\n        }\n\n        return actionsMap[action];\n    });\n\n    return (\n        <div className={cx('wrap')}>\n            <DropdownControl\n                isInline\n                className={className}\n                options={options}\n                renderTrigger={(isActive, onClick) => (\n                    <TransparentTrigger\n                        isPressed={isActive}\n                        onClick={onClick}\n                        leftIcon={<MoreIcon />}\n                        reflectionTheme={ReflectionThemeEnum.light}\n                    />\n                )}\n                overlayPosition={\n                    isLastRow ? DropdownOverlayPositionEnum.topRight : DropdownOverlayPositionEnum.bottomRight\n                }\n            />\n        </div>\n    );\n});\n\nexport default ControlsCell;\n","import { UserRoleT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    roles = 'roles',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.roles]: Array<UserRoleT>;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","// extracted by mini-css-extract-plugin\nexport default {\"chart\":\"StatisticsChart__chart___NZ1Dh\",\"container\":\"StatisticsChart__container___ZDm1Y\",\"fadeIn\":\"StatisticsChart__fadeIn___ESFOZ\",\"blinking\":\"StatisticsChart__blinking___ob_y7\"};","import { NotificationToastRendererT } from 'common/components/toasts/NotificationToastsManager/models';\nimport { NotificationToastViewT, AnyNotificationT } from 'common/store/notifications/models';\n\nexport const renderCommonNotificationToast: NotificationToastRendererT = (\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    notification,\n) => {\n    return null;\n};\n\nexport const getUnknownNotificationToast = (notification: AnyNotificationT): NotificationToastViewT => {\n    return {\n        icon: null,\n        text: notification.action,\n    };\n};\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './TableMessage.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\nimport BigEmptyIcon from 'common/icons/BigEmptyIcon';\nimport BigSearchIcon from 'common/icons/BigSearchIcon';\nimport BigLaneIcon from 'common/icons/BigLaneIcon';\n\nconst cx = classNames.bind(styles);\n\nexport enum TableMessageIconsEnum {\n    notFound = 'notFound',\n    empty = 'empty',\n    warning = 'warning',\n    lane = 'lane',\n}\n\ntype PropsT = {\n    className?: string;\n    iconType: TableMessageIconsEnum;\n    title: string;\n    description?: string | null;\n    testSelector?: string;\n} & (\n    | {\n          isShowAction: true;\n          onActionClick: () => void;\n          actionTitle: string;\n          actionTheme?: ButtonThemeEnum;\n      }\n    | {\n          isShowAction: false;\n      }\n);\n\nconst TableMessage: React.FC<PropsT> = React.memo((props) => {\n    const { className, iconType, title, description, testSelector } = props;\n\n    const fullTestSelector = `${testSelector}_table-message`;\n\n    return (\n        <div className={cs(cx('wrap'), className)} data-test-selector={fullTestSelector}>\n            <div className={cx('container')}>\n                <div className={cx('icon')}>\n                    {iconType === TableMessageIconsEnum.warning && <BigWarningIcon />}\n                    {iconType === TableMessageIconsEnum.empty && <BigEmptyIcon />}\n                    {iconType === TableMessageIconsEnum.notFound && <BigSearchIcon />}\n                    {iconType === TableMessageIconsEnum.lane && <BigLaneIcon />}\n                </div>\n                <div className={cx('title')}>{title}</div>\n                <div className={cx('description')}>{description}</div>\n                {props.isShowAction && (\n                    <div className={cx('action')}>\n                        <Button\n                            theme={props.actionTheme || ButtonThemeEnum.primary}\n                            type=\"button\"\n                            className={cx('button')}\n                            testSelector={fullTestSelector}\n                            onClick={props.onActionClick}\n                        >\n                            {props.actionTitle}\n                        </Button>\n                    </div>\n                )}\n            </div>\n        </div>\n    );\n});\n\nexport default TableMessage;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './EditBrokerTeamSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getInitialValues from './get-initial-values';\nimport validateForm from './validate-form';\nimport { FieldsEnum, FormValuesT, TeamComponentTabEnum } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport Input from 'common/components/Input/Input';\nimport { CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport { EditBrokerTeamSidebarDataT } from './models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createTeam, deleteTeam, updateTeam } from 'broker-admin/store/broker-team-edit/actions';\nimport { prepareQuery } from './prepare-query';\nimport { logWarning } from 'common/utils/logger';\nimport useCloseSidebarAfterRequest from 'common/utils/hooks/useCloseSidebarAfterRequest';\nimport values from 'lodash/values';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport {\n    selectBrokerTeamEditCreatedTeam,\n    selectBrokerTeamEditCreateRequestStatus,\n    selectBrokerTeamEditDeleteRequestStatus,\n    selectBrokerTeamEditUpdateRequestStatus,\n} from 'broker-admin/store/broker-team-edit/selectors';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport {\n    selectBrokerTeamDetails,\n    selectBrokerTeamDetailsRequestStatus,\n} from 'broker-admin/store/broker-team-details/selectors';\nimport { useTeamActions } from 'broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/BrokerTeamsTable/hooks/actions';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport DeleteTeamConfirmation, {\n    DeleteTeamConfirmationDataT,\n} from 'broker-admin/layouts/BrokerUsersPage/BrokerTeamsLayout/dialogs/DeleteTeamConfirmation/DeleteTeamConfirmation';\nimport { fetchBrokerTeamDetails } from 'broker-admin/store/broker-team-details/slice';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport TimeZoneDropdown from 'common/components/dropdowns/TimeZoneDropdown/TimeZoneDropdown';\nimport map from 'lodash/map';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum, TabLabelSizeEnum } from 'common/components/tabs/TabLabel/constants';\nimport UserSelectList from 'broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/UserSelectList/UserSelectList';\nimport { selectCurrentCompany } from 'common/store/company/selectors';\nimport PartnerSelectList from 'broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/PartnerSelectList/PartnerSelectList';\nimport FormUnsavedValuesColoredStatus from 'common/components/status-colored/FormUnsavedValuesColoredStatus/FormUnsavedValuesColoredStatus';\nimport ItemsCount from 'broker-admin/layouts/SideBars/EditBrokerTeamSidebarContent/ItemsCount/ItemsCount';\nimport { useUpdateOptionsIdsSet } from 'design-system/components/AsyncSearchScrollableList/hooks/use-update-options-ids-set';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { brokerTeamDetailsRefreshChannel } from 'broker-admin/store/broker-team-details/channels';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport TabGroup from 'common/components/tabs/TabGroup/TabGroup';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { ReadOnlyFieldValue } from 'common/components/ReadOnlyFieldValue/ReadOnlyFieldValue';\nimport { ApiUserStatusT, UserStatusEnum } from 'common/utils/api/models';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\nconst HISTORY_DATE_FORMAT = 'DD MMM YYYY, HH:mm';\n\nconst COMPONENT_TABS_ORDER = [TeamComponentTabEnum.users, TeamComponentTabEnum.partners];\n\nconst COMPONENT_TAB_LABEL_T: Record<TeamComponentTabEnum, string> = {\n    [TeamComponentTabEnum.users]: 'edit-broker-team.components-tab.users',\n    [TeamComponentTabEnum.partners]: 'edit-broker-team.components-tab.partners',\n};\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<EditBrokerTeamSidebarDataT, BrokerSidebarDataT>;\n\nconst HIDE_USER_STATUS_SET = new Set<ApiUserStatusT>([UserStatusEnum.archived]);\n\nconst EditBrokerTeamSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose, onGoBack, data, setNeedCloseConfirmation, onOpenNextSidebar } = props;\n\n    const { t } = useTranslation();\n\n    const handleOpenUserDetails = React.useCallback(\n        (userId: UserIdT) => {\n            onOpenNextSidebar({\n                type: CommonSidebarsTypeEnum.contact,\n                userId,\n            });\n        },\n        [onOpenNextSidebar],\n    );\n\n    const currentCompany = useSelector(selectCurrentCompany);\n    const currentCompanyId = currentCompany?.id || null;\n\n    const dispatch = useDispatch();\n\n    const permissions = useSelector(selectPermissions);\n    const { canEditBrokerUsersTeams } = permissions;\n\n    const teamId = data?.teamId || null;\n    React.useEffect(() => {\n        if (!teamId) {\n            return;\n        }\n\n        dispatch(\n            fetchBrokerTeamDetails({\n                id: teamId,\n            }),\n        );\n    }, [dispatch, teamId]);\n\n    const deleteTeamConfirmation = useModalDialog<DeleteTeamConfirmationDataT>();\n\n    const onDelete = React.useCallback(() => {\n        if (!teamId) {\n            logWarning('empty teamId');\n            return;\n        }\n\n        deleteTeamConfirmation.setData({\n            id: teamId,\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [teamId]);\n\n    const headerDropdownOptions = useTeamActions(\n        { id: teamId },\n        {\n            onDelete,\n        },\n    );\n\n    const teamDetails = useSelector(selectBrokerTeamDetails(teamId));\n    const teamDetailsRequestStatus = useSelector(selectBrokerTeamDetailsRequestStatus(teamId));\n\n    const initialValues = React.useMemo(() => {\n        return getInitialValues(data, teamDetails);\n    }, [data, teamDetails]);\n\n    const isCreation = !data?.teamId;\n\n    const [isSubmitting, setIsSubmitting] = React.useState(false);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        validate: (values) => validateForm(values, t),\n        onSubmit: (values, formikHelpers): void => {\n            const data = prepareQuery(values);\n            if (!data) {\n                logWarning('empty data');\n                return;\n            }\n\n            setIsSubmitting(true);\n\n            if (isCreation) {\n                dispatch(createTeam({ data }));\n            } else {\n                if (!teamId) {\n                    logWarning('empty teamId');\n                    return;\n                }\n\n                dispatch(updateTeam({ teamId, data }));\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n    React.useEffect(() => {\n        setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    const isBlockBackgroundUpdate = !isCreation && hasAnyFieldValueChanges;\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!teamId || isBlockBackgroundUpdate) {\n            return;\n        }\n\n        dispatch(\n            fetchBrokerTeamDetails({\n                id: teamId,\n            }),\n        );\n    }, [dispatch, teamId, isBlockBackgroundUpdate]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(\n        (event: InferChannelEventT<typeof brokerTeamDetailsRefreshChannel>) => {\n            if (teamId === event.teamId && teamId) {\n                dispatch(\n                    fetchBrokerTeamDetails({\n                        id: teamId,\n                    }),\n                );\n            }\n        },\n        [dispatch, teamId],\n    );\n    useChannelSubscribe(brokerTeamDetailsRefreshChannel, refreshPageHandler);\n\n    const deleteRequest = useSelector(selectBrokerTeamEditDeleteRequestStatus(teamId));\n    useCloseSidebarAfterRequest(deleteRequest, onGoBack || onClose);\n    useCloseModalDialogAfterRequest(deleteRequest, [deleteTeamConfirmation]);\n\n    const handleCancel = React.useCallback(() => {\n        formik.resetForm();\n    }, [formik.resetForm]); // eslint-disable-line react-hooks/exhaustive-deps\n\n    const createdTeam = useSelector(selectBrokerTeamEditCreatedTeam);\n    useOnlyChangesEffect(() => {\n        if (!createdTeam) {\n            return;\n        }\n\n        const closeCallback = onGoBack || onClose;\n        if (closeCallback) {\n            closeCallback({ needCloseConfirmation: false });\n        }\n\n        onOpenNextSidebar({\n            type: BrokerSidebarsTypeEnum.editBrokerTeamDetails,\n            teamId: createdTeam.id,\n        });\n    }, [createdTeam]);\n\n    const handleConfirmDeleteTeam = (data: DeleteTeamConfirmationDataT) => {\n        if (!data?.id) {\n            return;\n        }\n\n        dispatch(deleteTeam({ teamId: data.id }));\n    };\n\n    const handleRetryFetchTeamDetails = React.useCallback(() => {\n        if (teamId) {\n            dispatch(fetchBrokerTeamDetails({ id: teamId }));\n        }\n    }, [teamId, dispatch]);\n\n    const updateRequest = useSelector(selectBrokerTeamEditUpdateRequestStatus(teamId));\n    const createRequest = useSelector(selectBrokerTeamEditCreateRequestStatus);\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values);\n    }, [initialValues, formik.values]);\n\n    React.useEffect(() => {\n        if ((createRequest.ok || updateRequest.ok) && isSameValues) {\n            setIsSubmitting(false);\n        }\n    }, [createRequest.ok, updateRequest.ok, isSameValues]);\n\n    const hasChangeHighlight = !isCreation;\n\n    const initialTeamComponentTab = React.useMemo((): TeamComponentTabEnum => {\n        if (!teamDetails?.users?.length && teamDetails?.companies?.length) {\n            return TeamComponentTabEnum.partners;\n        }\n\n        return TeamComponentTabEnum.users;\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [teamDetailsRequestStatus, teamDetails]);\n\n    const [userSelectedTab, setUserSelectedTab] = React.useState<TeamComponentTabEnum | null>(null);\n\n    const selectedTab = userSelectedTab || initialTeamComponentTab;\n\n    const isFinallyFormInitialized = Boolean(teamDetails) || isCreation;\n\n    const usersHighlightedUserIdsSet = useUpdateOptionsIdsSet(\n        hasChangeHighlight,\n        'id',\n        initialValues[FieldsEnum.users],\n        formik.values[FieldsEnum.users],\n    );\n\n    const partnersHighlightedUserIdsSet = useUpdateOptionsIdsSet(\n        hasChangeHighlight,\n        'id',\n        initialValues[FieldsEnum.partners],\n        formik.values[FieldsEnum.partners],\n    );\n\n    const createDetails: Array<InfoTableRowT | null> = React.useMemo(\n        () => [\n            teamDetails?.createdDate\n                ? {\n                      icon: null,\n                      name: t('edit-broker-team.history.date-added'),\n                      rightNode: <DateFormatter date={teamDetails?.createdDate} format={HISTORY_DATE_FORMAT} />,\n                      emptyValue: null,\n                      isBoldValue: true,\n                      hasBottomBorder: true,\n                      testSelector: 'date-added',\n                  }\n                : null,\n            teamDetails?.createdById\n                ? {\n                      icon: null,\n                      name: t('edit-broker-team.history.added-by'),\n                      rightNode: (\n                          <UserLinkFormatter\n                              fullName={teamDetails?.createdByName}\n                              userId={teamDetails?.createdById}\n                              byBroker\n                              onOpenUserDetails={handleOpenUserDetails}\n                          />\n                      ),\n                      emptyValue: null,\n                      isBoldValue: true,\n                      testSelector: 'added-by',\n                  }\n                : null,\n        ],\n        [teamDetails, t, handleOpenUserDetails],\n    );\n\n    const lastModifiedDetails: Array<InfoTableRowT | null> = React.useMemo(\n        () => [\n            teamDetails?.modifiedDate\n                ? {\n                      icon: null,\n                      name: t('edit-broker-team.history.date-last-modified'),\n                      rightNode: <DateFormatter date={teamDetails?.modifiedDate} format={HISTORY_DATE_FORMAT} />,\n                      emptyValue: null,\n                      isBoldValue: true,\n                      hasBottomBorder: true,\n                      testSelector: 'date-modify',\n                  }\n                : null,\n            teamDetails?.modifiedById\n                ? {\n                      icon: null,\n                      name: t('edit-broker-team.history.last-modified-by'),\n                      rightNode: (\n                          <UserLinkFormatter\n                              fullName={teamDetails?.modifiedByName}\n                              userId={teamDetails?.modifiedById}\n                              byBroker\n                              onOpenUserDetails={handleOpenUserDetails}\n                          />\n                      ),\n                      emptyValue: null,\n                      isBoldValue: true,\n                      testSelector: 'last-modified-by',\n                  }\n                : null,\n        ],\n        [teamDetails, t, handleOpenUserDetails],\n    );\n\n    return (\n        <>\n            <form onSubmit={formik.handleSubmit} className={cx('form')}>\n                <HeaderSideBarLayout>\n                    <HeaderSideBarContent\n                        title={isCreation ? t('edit-broker-team.titles.new-team') : teamDetails?.name}\n                        onClose={onClose}\n                        onGoBack={onGoBack}\n                        dropdownOptions={headerDropdownOptions}\n                        rightNode={hasAnyFieldValueChanges && hasChangeHighlight && <FormUnsavedValuesColoredStatus />}\n                    />\n                    <SideBarHeaderRequestStatus\n                        requestStatus={teamDetailsRequestStatus}\n                        hasCachedData={Boolean(teamDetails) || isCreation}\n                        isForceShowLoader={updateRequest.loading || createRequest.loading || deleteRequest.loading}\n                    />\n                </HeaderSideBarLayout>\n                <SideBarLayout>\n                    <SideBarRequestStatus\n                        requestStatus={teamDetailsRequestStatus}\n                        hasCachedData={Boolean(teamDetails) || isCreation}\n                        onRetry={handleRetryFetchTeamDetails}\n                    >\n                        <div className={cx('content')}>\n                            <FormikField\n                                label={t('edit-broker-team.form.fields.name.label')}\n                                name={FieldsEnum.name}\n                                error={formik.errors[FieldsEnum.name]}\n                                meta={formik.getFieldMeta(FieldsEnum.name)}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) =>\n                                    canEditBrokerUsersTeams ? (\n                                        <Input\n                                            name={FieldsEnum.name}\n                                            value={formik.values[FieldsEnum.name]}\n                                            onChange={props.onChange}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning}\n                                            hasChanges={hasChangeHighlight && props.hasChanges}\n                                            placeholder={t('edit-broker-team.form.fields.name.placeholder')}\n                                        />\n                                    ) : (\n                                        <ReadOnlyFieldValue withInputLayout value={formik.values[FieldsEnum.name]} />\n                                    )\n                                }\n                            </FormikField>\n                            <FormikField\n                                name={FieldsEnum.timeZone}\n                                error={formik.errors[FieldsEnum.timeZone]}\n                                meta={formik.getFieldMeta(FieldsEnum.timeZone)}\n                                label={t('edit-broker-team.form.fields.time-zone.label')}\n                                setFieldValue={formik.setFieldValue}\n                                setFieldTouched={formik.setFieldTouched}\n                            >\n                                {(props) =>\n                                    canEditBrokerUsersTeams ? (\n                                        <TimeZoneDropdown\n                                            value={formik.values[FieldsEnum.timeZone]}\n                                            placeholder={t('edit-broker-team.form.fields.time-zone.placeholder')}\n                                            onChange={props.onChange}\n                                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                            hasError={props.hasError}\n                                            hasWarning={props.hasWarning}\n                                            hasChanges={hasChangeHighlight && props.hasChanges}\n                                            onBlur={props.onBlur}\n                                            onFocus={props.onFocus}\n                                        />\n                                    ) : (\n                                        <ReadOnlyFieldValue\n                                            withInputLayout\n                                            value={formik.values[FieldsEnum.timeZone]}\n                                        />\n                                    )\n                                }\n                            </FormikField>\n                            {isFinallyFormInitialized && (\n                                <>\n                                    <TabGroup className={cx('tabs')} size={TabLabelSizeEnum.small}>\n                                        {map(COMPONENT_TABS_ORDER, (tab, tabIndex) => {\n                                            let itemsCountNode: React.ReactNode;\n\n                                            if (tab === TeamComponentTabEnum.users) {\n                                                itemsCountNode = (\n                                                    <ItemsCount\n                                                        className={cx('tabs__counter')}\n                                                        optionKey=\"id\"\n                                                        options={formik.values[FieldsEnum.users]}\n                                                        initialOptions={initialValues[FieldsEnum.users]}\n                                                    />\n                                                );\n                                            }\n\n                                            if (tab === TeamComponentTabEnum.partners) {\n                                                itemsCountNode = (\n                                                    <ItemsCount\n                                                        className={cx('tabs__counter')}\n                                                        optionKey=\"id\"\n                                                        options={formik.values[FieldsEnum.partners]}\n                                                        initialOptions={initialValues[FieldsEnum.partners]}\n                                                    />\n                                                );\n                                            }\n\n                                            return (\n                                                <TabLabel\n                                                    isCompact\n                                                    key={tabIndex}\n                                                    size={TabLabelSizeEnum.small}\n                                                    theme={TabsThemesEnum.light}\n                                                    onClick={() => {\n                                                        setUserSelectedTab(tab);\n                                                    }}\n                                                    isActive={tab === selectedTab}\n                                                    testSelector={tab}\n                                                >\n                                                    {itemsCountNode}\n                                                    {t(COMPONENT_TAB_LABEL_T[tab])}\n                                                </TabLabel>\n                                            );\n                                        })}\n                                    </TabGroup>\n                                    {selectedTab === TeamComponentTabEnum.users && (\n                                        <UserSelectList\n                                            className={cx('content__full-height-wrap')}\n                                            isReadOnly={!canEditBrokerUsersTeams}\n                                            companyId={currentCompanyId}\n                                            initialSelectedUsers={initialValues[FieldsEnum.users]}\n                                            selectedUsers={formik.values[FieldsEnum.users]}\n                                            onChangeUsers={(values) => {\n                                                formik.setFieldValue(FieldsEnum.users, values);\n                                            }}\n                                            highlightedUserIdsSet={usersHighlightedUserIdsSet}\n                                            hideUserStatusSet={HIDE_USER_STATUS_SET}\n                                        />\n                                    )}\n                                    {selectedTab === TeamComponentTabEnum.partners && (\n                                        <PartnerSelectList\n                                            className={cx('content__full-height-wrap')}\n                                            isReadOnly={!canEditBrokerUsersTeams}\n                                            initialSelectedPartners={initialValues[FieldsEnum.partners]}\n                                            selectedPartners={formik.values[FieldsEnum.partners]}\n                                            onChangePartners={(values) => {\n                                                formik.setFieldValue(FieldsEnum.partners, values);\n                                            }}\n                                            highlightedPartnerIdsSet={partnersHighlightedUserIdsSet}\n                                        />\n                                    )}\n                                </>\n                            )}\n                            <InfoTable\n                                className={cx('history-table')}\n                                rows={createDetails}\n                                testSelector=\"create-details\"\n                            />\n                            <InfoTable\n                                className={cx('history-table')}\n                                rows={lastModifiedDetails}\n                                testSelector=\"last-modified-details\"\n                            />\n                        </div>\n                    </SideBarRequestStatus>\n                </SideBarLayout>\n                {!isSameValues && canEditBrokerUsersTeams && (\n                    <FooterSideBarLayout hasPaddings>\n                        {isCreation ? (\n                            <Button\n                                theme={ButtonThemeEnum.primary}\n                                className={cx('button', 'button--create')}\n                                type=\"submit\"\n                                isDisabled={isSubmitting}\n                                isLoading={isSubmitting}\n                            >\n                                {t('edit-broker-team.form.actions.add-team')}\n                            </Button>\n                        ) : (\n                            <div className={cx('buttons')}>\n                                {onClose && (\n                                    <Button\n                                        theme={ButtonThemeEnum.secondary}\n                                        className={cx('button', 'button--cancel')}\n                                        type=\"button\"\n                                        onClick={handleCancel}\n                                        testSelector=\"cancel\"\n                                    >\n                                        {t('common:form-actions.reset-changes')}\n                                    </Button>\n                                )}\n                                <Button\n                                    theme={ButtonThemeEnum.primary}\n                                    className={cx('button', 'button--save')}\n                                    type=\"submit\"\n                                    isDisabled={isSubmitting}\n                                    isLoading={isSubmitting}\n                                >\n                                    {t('edit-broker-team.form.actions.update-team')}\n                                </Button>\n                            </div>\n                        )}\n                    </FooterSideBarLayout>\n                )}\n            </form>\n            <DeleteTeamConfirmation\n                data={deleteTeamConfirmation.data}\n                onClose={deleteTeamConfirmation.onClose}\n                onCancel={deleteTeamConfirmation.onCancel}\n                requestStatus={deleteRequest}\n                onConfirm={handleConfirmDeleteTeam}\n            />\n        </>\n    );\n};\n\nexport default EditBrokerTeamSidebarContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"DriveThroughRoutePointPicker__wrap___sPkCj\",\"geo-suggest\":\"DriveThroughRoutePointPicker__geo-suggest___PwhFM\",\"fadeIn\":\"DriveThroughRoutePointPicker__fadeIn___Z1DaK\",\"blinking\":\"DriveThroughRoutePointPicker__blinking___uyyOA\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const spotRequestsRefreshChannel = new ViewEventChannel<{}>();\n\nexport const spotRequestsPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { fetchTrucksDict } from 'common/store/trucks-dict/actions';\nimport { selectTrucksDictById, selectTrucksDictRequest } from 'common/store/trucks-dict/selectors';\nimport { getTruckDictTypeLabel } from 'common/store/trucks-dict/utils';\n\ntype PropsT = {\n    truckModel?: TruckModelIdT | null;\n};\n\nconst TruckModelFilterPill: React.FC<PropsT> = React.memo((props) => {\n    const { truckModel } = props;\n\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchTrucksDict());\n    }, [dispatch]);\n\n    const trucksDictById = useSelector(selectTrucksDictById);\n    const fetchRequest = useSelector(selectTrucksDictRequest);\n\n    if (!trucksDictById) {\n        return null;\n    }\n\n    if (fetchRequest.loading) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    const truck = trucksDictById[truckModel as string];\n    if (!truck) {\n        return null;\n    }\n\n    return <span>{getTruckDictTypeLabel(truck)}</span>;\n});\n\nexport default TruckModelFilterPill;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ZoneMark.scss';\nimport { RangeSelectorZoneThemeEnum } from 'common/components/RangeSelector/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    hasLeftBorder?: boolean;\n    left?: number | undefined;\n    right?: number | undefined;\n    isActive?: boolean;\n    theme: RangeSelectorZoneThemeEnum | null;\n    testSelector?: string;\n};\n\nconst ZoneMark: React.FC<PropsT> = React.memo((props) => {\n    const { hasLeftBorder, left, right, isActive, children } = props;\n\n    const theme = props.theme || RangeSelectorZoneThemeEnum.light;\n\n    return (\n        <div\n            className={cx('zone-mark', {\n                'zone-mark--isActive': isActive,\n                'zone-mark--hasLeftBorder': hasLeftBorder,\n                [`zone-mark--theme-${theme}`]: !!theme,\n            })}\n            style={{\n                left: left !== undefined ? `${left}%` : undefined,\n                right: right !== undefined ? `${right}%` : undefined,\n            }}\n            data-test-selector=\"zone-mark\"\n        >\n            {children}\n        </div>\n    );\n});\n\nexport default ZoneMark;\n","// extracted by mini-css-extract-plugin\nexport default {\"time-interval\":\"FerryDisembarkPointPicker__time-interval___Zqh1V\",\"fadeIn\":\"FerryDisembarkPointPicker__fadeIn___KkyZY\",\"blinking\":\"FerryDisembarkPointPicker__blinking___tOeYs\"};","// extracted by mini-css-extract-plugin\nexport default {\"actions\":\"ModalDialogActions__actions___LBiyi\",\"actions__action\":\"ModalDialogActions__actions__action___fW4yq\",\"fadeIn\":\"ModalDialogActions__fadeIn___kivbA\",\"blinking\":\"ModalDialogActions__blinking___VaMVy\"};","import {\n    DELETE_PAPER_REQUEST_BEGIN,\n    DELETE_PAPER_REQUEST_ERROR,\n    DELETE_PAPER_REQUEST_SUCCESS,\n    FETCH_PAPERS_REQUEST_BEGIN,\n    FETCH_PAPERS_REQUEST_ERROR,\n    FETCH_PAPERS_REQUEST_SUCCESS,\n    HashPapersStateT,\n    PapersActionT,\n    PapersStateT,\n    RESET_PAPERS,\n    UPLOAD_PAPER_REQUEST_BEGIN,\n    UPLOAD_PAPER_REQUEST_ERROR,\n    UPLOAD_PAPER_REQUEST_SUCCESS,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialHashPapersState: HashPapersStateT = {\n    list: [],\n    fetchRequest: requestStatus.initial,\n    uploadRequest: requestStatus.initial,\n    deleteQuery: null,\n    deleteRequest: requestStatus.initial,\n};\n\nconst initialState: PapersStateT = {};\n\nexport default (state = initialState, action: PapersActionT | DestroySessionActionT): PapersStateT => {\n    switch (action.type) {\n        case FETCH_PAPERS_REQUEST_BEGIN: {\n            const { hash } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    fetchRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_PAPERS_REQUEST_SUCCESS: {\n            const { hash, list } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    list,\n                    fetchRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case FETCH_PAPERS_REQUEST_ERROR: {\n            const { hash, error } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    fetchRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case UPLOAD_PAPER_REQUEST_BEGIN: {\n            const { hash } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    uploadRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case UPLOAD_PAPER_REQUEST_SUCCESS: {\n            const { hash } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    uploadRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case UPLOAD_PAPER_REQUEST_ERROR: {\n            const { hash, error } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    uploadRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DELETE_PAPER_REQUEST_BEGIN: {\n            const { hash, paperId } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    deleteQuery: {\n                        id: paperId,\n                    },\n                    deleteRequest: requestStatus.loading,\n                },\n            };\n        }\n\n        case DELETE_PAPER_REQUEST_SUCCESS: {\n            const { hash } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    deleteRequest: requestStatus.ok,\n                },\n            };\n        }\n\n        case DELETE_PAPER_REQUEST_ERROR: {\n            const { hash, error } = action;\n\n            const hashPapersState = state[hash] || initialHashPapersState;\n\n            return {\n                ...state,\n                [hash]: {\n                    ...hashPapersState,\n                    deleteRequest: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case DESTROY_SESSION:\n        case RESET_PAPERS: {\n            return {\n                ...initialState,\n            };\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './StatusCell.scss';\nimport { ApiUserStatusT, UserStatusEnum } from 'common/utils/api/models';\n\ntype PropsT = {\n    userStatus: ApiUserStatusT | undefined;\n};\n\nconst cx = classNames.bind(styles);\n\nconst StatusCell: React.FC<PropsT> = React.memo((props) => {\n    const { children, userStatus } = props;\n\n    return (\n        <div\n            className={cx('status', {\n                'status--pending': userStatus === UserStatusEnum.pending,\n            })}\n        >\n            {children}\n        </div>\n    );\n});\n\nexport default StatusCell;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport styles from './TruckModelMultipleDropdown.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectTrucksDict, selectTrucksDictRequest } from 'common/store/trucks-dict/selectors';\nimport { fetchTrucksDict } from 'common/store/trucks-dict/actions';\nimport { getTruckDictTypeLabel } from 'common/store/trucks-dict/utils';\nimport TruckIcon, { TruckIconProps } from 'common/icons/TruckIcon';\nimport DropdownMultipleInput, {\n    RenderTriggerPropsT,\n} from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownBaseButtonTrigger from 'design-system/components/dropdowns/base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport { useTranslation } from 'react-i18next';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\n\nexport enum TruckIconTypesEnum {\n    default = 'default',\n}\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = TruckModelIdT | null | undefined;\n\ntype PropsT = {\n    placeholder?: string;\n    values: Array<ValueT>;\n    isDisabled?: boolean;\n    onChange: (values: Array<ValueT>) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n};\n\nexport type OptionT = {\n    value: ValueT;\n    label: string;\n    iconType: TruckIconTypesEnum | null;\n};\n\nconst TruckModelMultipleDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { values, onChange, isDisabled, hasWarning, hasError, hasChanges, onBlur, onFocus, hasClearControl } = props;\n\n    const { t } = useTranslation();\n\n    const trucksDict = useSelector(selectTrucksDict);\n    const trucksDictList = Object.values(trucksDict || {});\n    const fetchRequest = useSelector(selectTrucksDictRequest);\n\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchTrucksDict());\n    }, [dispatch]);\n\n    const trucksOptions = React.useMemo(\n        () =>\n            trucksDictList.map((truck) => {\n                return {\n                    value: truck.id,\n                    iconType: null,\n                    label: getTruckDictTypeLabel(truck),\n                };\n            }),\n        [trucksDictList],\n    );\n\n    const renderOption = (option: OptionT | null | undefined): React.ReactElement | null => {\n        if (!option) {\n            return null;\n        }\n\n        return (\n            <div className={cx('option')} key={option.label}>\n                {option.label}\n            </div>\n        );\n    };\n\n    const handleSelect = (values: Array<ValueT>): void => {\n        onChange(values);\n    };\n\n    const handleReset = (): void => {\n        onChange([]);\n    };\n\n    const getOptionValue = (option: OptionT): ValueT => option.value;\n\n    const renderTrigger = (\n        props: RenderTriggerPropsT,\n        options: Array<OptionT>,\n        placeholder: string | undefined,\n    ): React.ReactNode => {\n        if (!options?.length) {\n            return (\n                <DropdownBaseButtonTrigger\n                    {...props}\n                    isShowClearControl={false}\n                    renderLeftIcon={(iconMeta) => {\n                        return <TruckIcon {...TruckIconProps.getControlProps(iconMeta)} />;\n                    }}\n                >\n                    {placeholder || ''}\n                </DropdownBaseButtonTrigger>\n            );\n        }\n\n        if (options.length === 1) {\n            const firstOption = options?.[0];\n\n            return (\n                <DropdownBaseButtonTrigger\n                    {...props}\n                    renderLeftIcon={(iconMeta) => {\n                        return <TruckIcon {...TruckIconProps.getControlProps(iconMeta)} />;\n                    }}\n                >\n                    {firstOption?.label}\n                </DropdownBaseButtonTrigger>\n            );\n        }\n\n        return (\n            <DropdownBaseButtonTrigger\n                {...props}\n                renderLeftIcon={(iconMeta) => {\n                    return <TruckIcon {...TruckIconProps.getControlProps(iconMeta)} />;\n                }}\n            >\n                <DropdownMultipleInputCountLabel count={options?.length} />\n            </DropdownBaseButtonTrigger>\n        );\n    };\n\n    const placeholder = props.placeholder || t('common:common-components.any-select-input.placeholder');\n\n    return (\n        <DropdownMultipleInput<OptionT, ValueT>\n            selectedValues={values}\n            placeholder={placeholder}\n            options={trucksOptions}\n            onSelect={handleSelect}\n            isDisabled={isDisabled || fetchRequest.loading}\n            isLoading={fetchRequest.loading}\n            renderOption={renderOption}\n            getOptionValue={getOptionValue}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            renderTrigger={renderTrigger}\n            onReset={hasClearControl ? handleReset : undefined}\n        />\n    );\n});\n\nexport default TruckModelMultipleDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"FullNameCell__content___QfDsO\",\"content--isHalfOpacity\":\"FullNameCell__content--isHalfOpacity___NjoHX\",\"fadeIn\":\"FullNameCell__fadeIn___ZTSZA\",\"blinking\":\"FullNameCell__blinking___v90sS\"};","import React from 'react';\nimport styles from './DocumentSummary.scss';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DownloadIcon from 'common/icons/DownloadIcon';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    title: React.ReactNode;\n    tooltipContentNode: React.ReactNode;\n    id: DocumentIdT | CarrierContractIdT | null;\n    onDownloadFile: (id: DocumentIdT | CarrierContractIdT) => void;\n    canDownload: boolean;\n};\n\nconst DocumentSummary: React.FC<PropsT> = (props) => {\n    const { tooltipContentNode, className, title, canDownload, id, onDownloadFile } = props;\n\n    return (\n        <div className={cs(cx('info'), className)}>\n            {id && canDownload && (\n                <Tooltip\n                    className={cx('download')}\n                    position={TooltipPositionEnum.centerRight}\n                    theme={TooltipThemeEnum.black}\n                    tooltipNode={\n                        <TooltipContent isCenter theme={TooltipContentThemeEnum.black} width={80}>\n                            {tooltipContentNode}\n                        </TooltipContent>\n                    }\n                >\n                    {(isShow) => (\n                        <TransparentTrigger\n                            isPressed={isShow}\n                            onClick={() => {\n                                onDownloadFile(id);\n                            }}\n                            leftIcon={\n                                <DownloadIcon fillColor={StyleGuideColorsEnum.charcoal} size={DEFAULT_ICON_SIZE} />\n                            }\n                            reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                        />\n                    )}\n                </Tooltip>\n            )}\n            <div className={cx('title')}>{title}</div>\n        </div>\n    );\n};\n\nexport default DocumentSummary;\n","import {\n    FETCH_TRANSPORT_ORDER_DETAILS_REQUEST,\n    FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_BEGIN,\n    FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_ERROR,\n    FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_SUCCESS,\n    FetchTransportOrderDetailsRequestActionT,\n    FetchTransportOrderDetailsRequestBeginActionT,\n    FetchTransportOrderDetailsRequestErrorActionT,\n    FetchTransportOrderDetailsRequestSuccessActionT,\n} from './types';\nimport { TransportOrderDetailsT } from './models';\n\nexport const fetchTransportOrderDetails = (\n    companyId: CompanyIdT,\n    id: TransportOrderIdT,\n    options?: FetchOptionsT,\n): FetchTransportOrderDetailsRequestActionT => ({\n    type: FETCH_TRANSPORT_ORDER_DETAILS_REQUEST,\n    companyId,\n    id,\n    options,\n});\n\nexport const fetchTransportOrderDetailsBegin = (\n    id: TransportOrderIdT,\n): FetchTransportOrderDetailsRequestBeginActionT => ({\n    type: FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_BEGIN,\n    id,\n});\n\nexport const fetchTransportOrderDetailsSuccess = (\n    id: TransportOrderIdT,\n    transportOrderDetails: TransportOrderDetailsT | null,\n): FetchTransportOrderDetailsRequestSuccessActionT => ({\n    type: FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_SUCCESS,\n    transportOrderDetails,\n    id,\n});\n\nexport const fetchTransportOrderDetailsError = (\n    id: TransportOrderIdT,\n    error: Error,\n): FetchTransportOrderDetailsRequestErrorActionT => ({\n    type: FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_ERROR,\n    error,\n    id,\n});\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n    fillColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst TargetIcon: React.FC<PropsT> = (props) => {\n    const { size, className, strokeColor, fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\" transform=\"translate(1 1)\">\n                <path d=\"M0 0h18v18H0z\" />\n                <circle cx=\"9\" cy=\"9\" r=\"1.5\" fill={fillColor} />\n                <path\n                    fill={strokeColor}\n                    d=\"M9 6a3 3 0 100 6 3 3 0 100-6zm0 4.5c-.825 0-1.5-.675-1.5-1.5S8.175 7.5 9 7.5s1.5.675 1.5 1.5-.675 1.5-1.5 1.5zm6.705-2.25A6.746 6.746 0 009.75 2.295V.75h-1.5v1.545A6.746 6.746 0 002.295 8.25H.75v1.5h1.545a6.746 6.746 0 005.955 5.955v1.545h1.5v-1.545a6.746 6.746 0 005.955-5.955h1.545v-1.5h-1.545zM9 14.25A5.246 5.246 0 013.75 9 5.246 5.246 0 019 3.75 5.246 5.246 0 0114.25 9 5.246 5.246 0 019 14.25z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTargetIcon.displayName = 'TargetIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.slate,\n    fillColor: StyleGuideColorsEnum.light,\n};\n\nexport { storyProps };\nexport default TargetIcon;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipperContractLaneOtherDetails.scss';\nimport { useTranslation } from 'react-i18next';\nimport { ShipperContractLaneDetailsT } from 'common/store/shipper-contract-lane-details/models';\nimport cs from 'classnames';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport DateFormatter from 'design-system/components/InfoTable/formatters/DateFormatter/DateFormatter';\nimport UserLinkFormatter from 'common/components/InfoTable/formatters/UserLinkFormatter/UserLinkFormatter';\nimport PriceDetails, { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport FeeIcon from 'common/icons/FeeIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport EuroSymbolIcon from 'common/icons/EuroSymbolIcon';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\nconst HISTORY_DATE_FORMAT = 'DD MMM YYYY, HH:mm';\n\ntype PropsT = {\n    className?: string;\n    data: ShipperContractLaneDetailsT | null;\n    onOpenUserDetails?: (userId: UserIdT) => void;\n};\n\nconst ShipperContractLaneOtherDetails: React.FC<PropsT> = (props) => {\n    const { className, data, onOpenUserDetails } = props;\n\n    const { t } = useTranslation();\n\n    const createDetails: Array<InfoTableRowT | null> = data?.createdDate\n        ? [\n              {\n                  icon: null,\n                  name: t('common:shipper-lane-details.history.date-added'),\n                  value: <DateFormatter date={data?.createdDate} format={HISTORY_DATE_FORMAT} />,\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'date-added',\n              },\n              onOpenUserDetails\n                  ? {\n                        icon: null,\n                        name: t('common:shipper-lane-details.history.added-by'),\n                        value: (\n                            <UserLinkFormatter\n                                fullName={data?.createdByName}\n                                userId={data?.createdById}\n                                byBroker\n                                onOpenUserDetails={onOpenUserDetails}\n                            />\n                        ),\n                        emptyValue: null,\n                        isBoldValue: true,\n                        testSelector: 'added-by',\n                    }\n                  : null,\n          ]\n        : [];\n\n    const modifyDetails: Array<InfoTableRowT | null> = data?.lastEditDate\n        ? [\n              {\n                  icon: null,\n                  name: t('common:shipper-lane-details.history.date-modified'),\n                  value: <DateFormatter date={data?.lastEditDate} format={HISTORY_DATE_FORMAT} />,\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'date-modify',\n              },\n              onOpenUserDetails\n                  ? {\n                        icon: null,\n                        name: t('common:shipper-lane-details.history.modified-by'),\n                        value: (\n                            <UserLinkFormatter\n                                fullName={data?.lastEditByName}\n                                userId={data?.lastEditById}\n                                byBroker\n                                onOpenUserDetails={onOpenUserDetails}\n                            />\n                        ),\n                        emptyValue: null,\n                        isBoldValue: true,\n                        testSelector: 'modified-by',\n                    }\n                  : null,\n          ]\n        : [];\n\n    const revokeDetails: Array<InfoTableRowT | null> = data?.revokedDate\n        ? [\n              {\n                  icon: null,\n                  name: t('common:shipper-lane-details.history.date-revoked'),\n                  value: <DateFormatter date={data?.revokedDate} format={HISTORY_DATE_FORMAT} />,\n                  emptyValue: null,\n                  isBoldValue: true,\n                  testSelector: 'date-revoked',\n              },\n              onOpenUserDetails\n                  ? {\n                        icon: null,\n                        name: t('common:shipper-lane-details.history.revoked-by'),\n                        value: (\n                            <UserLinkFormatter\n                                fullName={data?.revokedByName}\n                                userId={data?.revokedById}\n                                byBroker\n                                onOpenUserDetails={onOpenUserDetails}\n                            />\n                        ),\n                        emptyValue: null,\n                        isBoldValue: true,\n                        testSelector: 'revoked-by',\n                    }\n                  : null,\n          ]\n        : [];\n\n    const otherPrices: Array<PriceDetailT | null> = React.useMemo(() => {\n        if (!data) {\n            return [];\n        }\n\n        return [\n            {\n                iconNode: <EuroSymbolIcon strokeColor={StyleGuideColorsEnum.slate} />,\n                title: t('common:shipper-lane-details.prices.total'),\n                price: data?.totalPrice,\n            },\n            isNumber(data?.serviceFee)\n                ? {\n                      iconNode: <FeeIcon strokeColor={StyleGuideColorsEnum.slate} />,\n                      title: t('common:shipper-lane-details.prices.service-fee'),\n                      price: data?.serviceFee,\n                  }\n                : null,\n        ];\n    }, [data, t]);\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <PriceDetails className={cx('prices')} list={otherPrices} />\n            <InfoTable className={cx('history-table')} rows={createDetails} testSelector=\"create-details\" />\n            <InfoTable className={cx('history-table')} rows={modifyDetails} testSelector=\"modify-details\" />\n            <InfoTable className={cx('history-table')} rows={revokeDetails} testSelector=\"revoke-details\" />\n        </div>\n    );\n};\n\nexport default ShipperContractLaneOtherDetails;\n","/**\n * @deprecated use \"use-query-params\" PageNumberParam\n */\nexport default (queryPageNumber: string | null | undefined): number =>\n    queryPageNumber ? parseInt(queryPageNumber, 10) : 0;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './StatusCell.scss';\nimport { TransportOrderT } from 'common/store/transport-orders/models';\nimport TransportOrderStatusPill from 'common/components/status-pill/TransportOrderStatusPill/TransportOrderStatusPill';\n\ntype PropsT = {\n    order: TransportOrderT;\n    className?: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst StatusCell: React.FC<PropsT> = React.memo((props) => {\n    const { order, className } = props;\n\n    return <TransportOrderStatusPill isSymmetrical className={className} status={order?.status} />;\n});\n\nexport default StatusCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"options\":\"SuggestInput__options___rDVrr\",\"option\":\"SuggestInput__option___hDu38\",\"option--isSelected\":\"SuggestInput__option--isSelected___ySNfU\",\"option--hasSeparator\":\"SuggestInput__option--hasSeparator___Y5MsU\",\"fadeIn\":\"SuggestInput__fadeIn___Gz4dG\",\"blinking\":\"SuggestInput__blinking___CLIZR\"};","import {\n    FETCH_INVOICES_PAGE_REQUEST,\n    FETCH_INVOICES_PAGE_REQUEST_BEGIN,\n    FETCH_INVOICES_PAGE_REQUEST_ERROR,\n    FETCH_INVOICES_PAGE_REQUEST_SUCCESS,\n    FetchInvoicesPageActionT,\n    FetchInvoicesPageBeginActionT,\n    FetchInvoicesPageErrorActionT,\n    FetchInvoicesPageSuccessActionT,\n    RESET_INVOICES,\n    ResetInvoicesActionT,\n} from './types';\nimport { FetchInvoicesPageQueryT, BrokerInvoiceT, DepreactedPagingStateT } from './models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchInvoicesPage = (\n    pageNumber: PageNumberT,\n    query: FetchInvoicesPageQueryT,\n    options?: FetchOptionsT,\n): FetchInvoicesPageActionT => ({\n    type: FETCH_INVOICES_PAGE_REQUEST,\n    query,\n    pageNumber,\n    options,\n});\n\nexport const fetchInvoicesPageBegin = (\n    query: FetchInvoicesPageQueryT,\n    pageNumber: PageNumberT,\n): FetchInvoicesPageBeginActionT => ({\n    type: FETCH_INVOICES_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n});\n\nexport const fetchInvoicesPageSuccess = (\n    query: FetchInvoicesPageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<BrokerInvoiceT> | null,\n    pagingState: DepreactedPagingStateT | null,\n): FetchInvoicesPageSuccessActionT => ({\n    type: FETCH_INVOICES_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n    pagingState,\n});\n\nexport const fetchInvoicesPageError = (\n    query: FetchInvoicesPageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n): FetchInvoicesPageErrorActionT => ({\n    type: FETCH_INVOICES_PAGE_REQUEST_ERROR,\n    query,\n    error,\n    pageNumber,\n});\n\nexport const resetInvoices = (mutationListOptions: MutationListOptionsT): ResetInvoicesActionT => ({\n    type: RESET_INVOICES,\n    mutationListOptions,\n});\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './Avatar.scss';\n\nexport enum AvatarSizeEnum {\n    small = 'small',\n    medium = 'medium',\n    large = 'large',\n    extraLarge = 'extra-large',\n}\n\ntype PropsT = {\n    className?: string;\n    hash: string | null;\n    size?: AvatarSizeEnum;\n};\n\nconst cx = classNames.bind(styles);\n\nconst Avatar: React.FC<PropsT> = React.memo((props) => {\n    const { className, hash, size = AvatarSizeEnum.small } = props;\n\n    const index = (hash || '').split('').reduce((summ, char) => summ + char.charCodeAt(0), 0) % 6;\n\n    return <div className={cs(cx('avatar', `avatar--${hash ? index : ''}`, `avatar--size-${size}`), className)} />;\n});\n\nexport default Avatar;\n","import React from 'react';\nimport styles from './TimeWindowPillLabel.scss';\nimport classNames from 'classnames/bind';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport moment from 'moment';\nimport { MS_IN_MIN } from 'common/utils/time';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    timeWindow: TimeWindowT | null | undefined;\n    className?: string;\n};\n\nconst TimeWindowPillLabel: React.FC<PropsT> = (props) => {\n    const { timeWindow, className } = props;\n\n    if (!timeWindow) {\n        return null;\n    }\n\n    const endTimeWindow = timeWindow[1];\n    const isMidnight = moment(endTimeWindow).format('HH:mm') === '00:00';\n    const formatter = moment(endTimeWindow - (isMidnight ? MS_IN_MIN : 0)).format('DD MMM YYYY, HH:mm');\n\n    return (\n        <PillLabel isSymmetrical theme={PillLabelThemeEnum.charcoal} className={className}>\n            <span className={cx('text')}>{formatter}</span>\n        </PillLabel>\n    );\n};\n\nexport default TimeWindowPillLabel;\n","// extracted by mini-css-extract-plugin\nexport default {\"actions\":\"StatusFooterContent__actions___R_siN\",\"action--assign\":\"StatusFooterContent__action--assign___XVNLG\",\"time-left\":\"StatusFooterContent__time-left___JGQQS\",\"spacer\":\"StatusFooterContent__spacer___gKzfV\",\"fadeIn\":\"StatusFooterContent__fadeIn___XNoBU\",\"blinking\":\"StatusFooterContent__blinking___Ay3k2\"};","import {\n    FETCH_INVOICES_PAGE_REQUEST_BEGIN,\n    FETCH_INVOICES_PAGE_REQUEST_ERROR,\n    FETCH_INVOICES_PAGE_REQUEST_SUCCESS,\n    InvoicesActionT,\n    InvoicesStateT,\n    RESET_INVOICES,\n} from './types';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: InvoicesStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n    pagingState: null,\n};\n\nexport default (state = initialState, action: InvoicesActionT | DestroySessionActionT): InvoicesStateT => {\n    switch (action.type) {\n        case FETCH_INVOICES_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query } = action;\n\n            return {\n                ...state,\n                ...pageBeginReducer(state, pageNumber, query),\n            };\n        }\n\n        case FETCH_INVOICES_PAGE_REQUEST_SUCCESS: {\n            const { query, pageResponse, pageNumber, pagingState } = action;\n\n            return {\n                ...state,\n                ...pageSuccessReducer(state, pageNumber, query, pageResponse),\n                pagingState,\n            };\n        }\n        case FETCH_INVOICES_PAGE_REQUEST_ERROR: {\n            const { query, error, pageNumber } = action;\n\n            return {\n                ...state,\n                ...pageErrorReducer(state, pageNumber, query, error),\n            };\n        }\n\n        case RESET_INVOICES: {\n            const { mutationListOptions } = action;\n\n            return {\n                ...initialState,\n                ...resetPagesCacheReducer(initialState, state, mutationListOptions),\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return {\n                ...initialState,\n            };\n        }\n        default:\n            return state;\n    }\n};\n","import React from 'react';\n\nimport { CompanyContactT } from 'common/store/members/models';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport { PartnerTypeEnum, RolesEnum, UserRoleT } from 'common/utils/api/models';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { USER_ROLE_T_MAP } from 'common/utils/users';\nimport { useSelector } from 'react-redux';\nimport { selectUpdateMemberRequest } from 'common/store/members/selectors';\nimport { ChangeUserRoleDataT } from '../../ChangeRoleUserForm/ChangeRoleUserForm';\n\nexport type ChangeUserRoleConfirmationDataT = {\n    contact: {\n        roles: CompanyContactT['roles'];\n        fullName: CompanyContactT['fullName'];\n        userId: CompanyContactT['userId'];\n    } | null;\n    partnerType: PartnerTypeEnum;\n    partnerId: PartnerIdT;\n    changes: ChangeUserRoleDataT;\n};\n\nexport type ChangeUserRoleConfirmationPropsT = {\n    data: ChangeUserRoleConfirmationDataT | null;\n    onClose: () => void;\n    onConfirm: (data: ChangeUserRoleConfirmationDataT) => void;\n};\n\nconst TEST_SELECTOR = 'change-user-role-confirmation';\n\nconst CONFIRMATION_MESSAGE_T: Record<PartnerTypeEnum, string> = {\n    [PartnerTypeEnum.shipper]: 'common:team-members.dialogs.change-user-roles-confirmation.description',\n    [PartnerTypeEnum.carrier]: 'common:team-members.dialogs.change-user-roles-confirmation.description',\n    [PartnerTypeEnum.broker]: 'common:team-members.dialogs.change-user-roles-confirmation.description',\n};\n\nconst CONFIRMATION_ADMIN_MESSAGE_T: Record<PartnerTypeEnum, string> = {\n    [PartnerTypeEnum.shipper]: 'common:team-members.dialogs.change-user-roles-confirmation.admin-description',\n    [PartnerTypeEnum.carrier]: 'common:team-members.dialogs.change-user-roles-confirmation.admin-description',\n    [PartnerTypeEnum.broker]: 'common:team-members.dialogs.change-user-roles-confirmation.partner-admin-description',\n};\n\nconst adminRolesSet = new Set<UserRoleT>([RolesEnum.companyAdmin]);\n\nconst ChangeUserRoleConfirmation: React.FC<ChangeUserRoleConfirmationPropsT> = React.memo((props) => {\n    const { data, onClose, onConfirm } = props;\n\n    const contact = data?.contact || null;\n    const partnerId = data?.partnerId || null;\n\n    const updateMemberRequest = useSelector(selectUpdateMemberRequest(partnerId));\n\n    const { t } = useTranslation();\n\n    const newRolesCount = data?.changes?.roles?.length || 0;\n\n    const hasAdminRoleInChanges = React.useMemo(() => {\n        if (!data) {\n            return false;\n        }\n\n        return data.changes.roles.some((role) => {\n            return adminRolesSet.has(role);\n        });\n    }, [data]);\n\n    const displayedRoles = React.useMemo(() => {\n        if (!data) {\n            return '';\n        }\n\n        return data.changes.roles\n            .map((role) => {\n                return t(USER_ROLE_T_MAP[role]).toLocaleLowerCase();\n            })\n            .join(', ');\n    }, [data, t]);\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t(\n                        hasAdminRoleInChanges\n                            ? 'common:team-members.dialogs.change-user-roles-confirmation.admin-title'\n                            : 'common:team-members.dialogs.change-user-roles-confirmation.title',\n                        {\n                            roles: displayedRoles,\n                            fullName: contact?.fullName,\n                            postProcess: 'interval',\n                            count: newRolesCount,\n                        },\n                    )}\n                    message={t(\n                        hasAdminRoleInChanges\n                            ? CONFIRMATION_ADMIN_MESSAGE_T[data.partnerType]\n                            : CONFIRMATION_MESSAGE_T[data.partnerType],\n                        {\n                            fullName: contact?.fullName,\n                            postProcess: 'interval',\n                            count: newRolesCount,\n                        },\n                    )}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: updateMemberRequest.loading,\n                            onClick: () => {\n                                onClose();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.assign'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: updateMemberRequest.loading,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ChangeUserRoleConfirmation;\n","import { QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\n\nconst getInitialValues = (\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    queryFilters: QueryFiltersT,\n): FormValuesT => {\n    const values: FormValuesT = {\n        [FieldsEnum.orderType]: null,\n        [FieldsEnum.receiveDates]: null,\n\n        [FieldsEnum.dictTrailerId]: null,\n        [FieldsEnum.plateNumber]: null,\n\n        [FieldsEnum.originAddress]: null,\n        [FieldsEnum.destinationAddress]: null,\n\n        [FieldsEnum.driverId]: null,\n        [FieldsEnum.driverName]: null,\n        [FieldsEnum.minPrice]: '',\n        [FieldsEnum.maxPrice]: '',\n\n        [FieldsEnum.pickupDates]: null,\n        [FieldsEnum.dropoffDates]: null,\n    };\n\n    return values;\n};\n\nexport default getInitialValues;\n","// extracted by mini-css-extract-plugin\nexport default {\"action--start\":\"StartEditTimeWindowsFooter__action--start___Nid4G\",\"fadeIn\":\"StartEditTimeWindowsFooter__fadeIn___uoPSr\",\"blinking\":\"StartEditTimeWindowsFooter__blinking___rfwWt\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RunningOutOfTimeAssignCarrierCard.scss';\nimport { Trans } from 'react-i18next';\nimport SubjectLink from 'common/components/notification-cards/entities/SubjectLink/SubjectLink';\nimport CityName from 'common/components/notification-cards/entities/CityName/CityName';\n\nconst cx = classNames.bind(styles);\n\nexport type RunningOutOfTimeAssignDriversCardPropsT = {\n    subjectNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst RunningOutOfTimeAssignCarrierCard: React.FC<RunningOutOfTimeAssignDriversCardPropsT> = React.memo((props) => {\n    const { subjectNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <Trans\n                i18nKey=\"notifications.running-out-of-time-assign-carrier\"\n                components={{\n                    subjectLink: <SubjectLink number={subjectNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RunningOutOfTimeAssignCarrierCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"icon\":\"AssetSchedulePin__icon___Ab982\",\"number\":\"AssetSchedulePin__number___yNsvj\",\"fadeIn\":\"AssetSchedulePin__fadeIn___HPYVk\",\"blinking\":\"AssetSchedulePin__blinking___wKUjm\"};","import {\n    COUNTRIES_DICT_REQUEST_BEGIN,\n    COUNTRIES_DICT_REQUEST_ERROR,\n    COUNTRIES_DICT_REQUEST_SUCCESS,\n    CountriesDictActionT,\n    CountriesDictStateT,\n} from './types';\nimport keyBy from 'lodash/keyBy';\nimport uniq from 'lodash/uniq';\nimport requestStatus from 'common/utils/request-status';\nimport { CountryLanguageT } from 'common/store/countries-dict/models';\n\nconst initialState: CountriesDictStateT = {\n    byLangCode: {},\n    allLangCodes: [],\n    list: [],\n    allCodes: [],\n    byCode: {},\n    request: requestStatus.initial,\n};\n\nexport default (state = initialState, action: CountriesDictActionT): CountriesDictStateT => {\n    switch (action.type) {\n        case COUNTRIES_DICT_REQUEST_BEGIN: {\n            return {\n                ...state,\n                request: requestStatus.loading,\n            };\n        }\n\n        case COUNTRIES_DICT_REQUEST_SUCCESS: {\n            const { countriesList } = action;\n\n            const countryLanguages: CountryLanguageT[] = countriesList.map((country) => {\n                return {\n                    code: country.langCode,\n                    name: country.language,\n                };\n            });\n            const byLangCode = keyBy(countryLanguages, 'code');\n            const allLangCodes = countryLanguages.map((country) => country.code);\n            const uniqAllLangCodes = uniq(allLangCodes);\n\n            const allCodes = countriesList.map((country) => country.code);\n            const byCode = keyBy(countriesList, 'code');\n\n            return {\n                ...state,\n                allCodes,\n                byCode,\n                list: countriesList,\n                allLangCodes: uniqAllLangCodes,\n                byLangCode,\n                request: requestStatus.ok,\n            };\n        }\n\n        case COUNTRIES_DICT_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                request: requestStatus.setError(error),\n            };\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n};\n\nconst RouteIcon: React.FC<PropsT> = (props) => {\n    const { fillColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <path\n                fill={fillColor}\n                fillRule=\"nonzero\"\n                d=\"M15 10c1.659 0 3 1.252 3 2.8 0 2.1-3 5.2-3 5.2s-3-3.1-3-5.2c0-1.548 1.341-2.8 3-2.8zm-.875-7c1.447 0 2.625 1.178 2.625 2.625S15.572 8.25 14.125 8.25H5c-.825 0-1.5.675-1.5 1.5v3c0 .825.675 1.5 1.5 1.5h5.5v1.5H5c-1.658 0-3-1.342-3-3v-3c0-1.658 1.342-3 3-3h9.125c.623 0 1.125-.503 1.125-1.125S14.748 4.5 14.125 4.5H3.5a.752.752 0 01-.75-.75c0-.413.337-.75.75-.75zM15 12a1 1 0 100 2 1 1 0 000-2z\"\n            />\n        </svg>\n    );\n};\n\nRouteIcon.displayName = 'RouteIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default RouteIcon;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Card from 'design-system/components/Card/Card';\nimport { TourPapersTabContent } from 'common/components/entity-details/TourPapersTabContent/TourPapersTabContent';\nimport {\n    ApiAttachPapersUnavailableReasonT,\n    ApiReadAttachedPapersUnavailableReasonT,\n    ApiTourAttachedPaperTypeT,\n    ApiTourPaperT,\n    PartnerTypeEnum,\n} from 'common/utils/api/models';\nimport { TourPaperAttachPapersDropdownControl } from '../TourPaperAttachPapersDropdownControl/TourPaperAttachPapersDropdownControl';\nimport { useSelector } from 'react-redux';\nimport { selectTourChangesById } from 'common/store/papers-edit/selectors';\nimport { useRenderPapersTabCount } from '../hooks/use-render-papers-tab-count';\nimport ReadAttachedPapersUnavailableReasonLabel from 'common/components/papers/labels/ReadAttachedPapersUnavailableReasonLabel/ReadAttachedPapersUnavailableReasonLabel';\nimport { PapersMessagePlaceholder } from 'common/components/papers/message-placeholders/PapersMessagePlaceholder/PapersMessagePlaceholder';\n\ntype PropsT = {\n    title?: React.ReactNode;\n    className?: string;\n    attachedPapers: Array<ApiTourPaperT> | null;\n    tourId: TourIdT | null;\n    onOpenUserDetails?: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n    onOpenDriverDetails?: (params: { driverId: DriverIdT; partnerId: PartnerIdT }) => void;\n    getTourPaperThumbnailUrl: (tourId: TourIdT | null, paperId: PaperIdT | null) => string | null;\n    onOpenGalleryTourPaper: (tourId: TourIdT, paperId: PaperIdT) => void;\n    onDownloadTourPaper: (tourId: TourIdT, paperId: PaperIdT) => void;\n    onDeleteTourPaper?: (tourId: TourIdT, paperId: PaperIdT) => void;\n    onAttachTourPaper?: (paperType: ApiTourAttachedPaperTypeT) => void;\n    attachPapersUnavailableReason?: ApiAttachPapersUnavailableReasonT | null;\n    readAttachedPapersUnavailableReason?: ApiReadAttachedPapersUnavailableReasonT | null;\n};\n\nconst TourPapersCard: React.FC<PropsT> = React.memo((props) => {\n    const {\n        title,\n        className,\n        attachedPapers,\n        tourId,\n        onOpenUserDetails,\n        onOpenDriverDetails,\n        getTourPaperThumbnailUrl,\n        onOpenGalleryTourPaper,\n        onDownloadTourPaper,\n        onDeleteTourPaper,\n        onAttachTourPaper,\n        attachPapersUnavailableReason,\n        readAttachedPapersUnavailableReason,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const tourChanges = useSelector(selectTourChangesById(tourId));\n\n    const papersBadge = useRenderPapersTabCount({\n        optimisticPapers: tourChanges?.optimisticPapers,\n        entityPapers: attachedPapers,\n    });\n\n    return (\n        <Card\n            titleNode={title ?? t('common:entity-details.papers')}\n            className={className}\n            hasHeaderBottomBorder\n            afterTitleNode={papersBadge}\n            rightNode={\n                onAttachTourPaper ? (\n                    <TourPaperAttachPapersDropdownControl\n                        onAttachNew={onAttachTourPaper}\n                        attachPapersUnavailableReason={attachPapersUnavailableReason || null}\n                    />\n                ) : null\n            }\n        >\n            {readAttachedPapersUnavailableReason ? (\n                <PapersMessagePlaceholder>\n                    <ReadAttachedPapersUnavailableReasonLabel reason={readAttachedPapersUnavailableReason} />\n                </PapersMessagePlaceholder>\n            ) : (\n                <TourPapersTabContent\n                    attachedPapers={attachedPapers}\n                    tourId={tourId}\n                    onOpenUserDetails={onOpenUserDetails}\n                    onOpenDriverDetails={onOpenDriverDetails}\n                    getTourPaperThumbnailUrl={getTourPaperThumbnailUrl}\n                    onOpenGalleryTourPaper={onOpenGalleryTourPaper}\n                    onDownloadTourPaper={onDownloadTourPaper}\n                    onDeleteTourPaper={onDeleteTourPaper}\n                />\n            )}\n        </Card>\n    );\n});\n\nexport default TourPapersCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"rates\":\"AveragePriceOfferDetails__rates___n4P1l\",\"price-details\":\"AveragePriceOfferDetails__price-details___kn7Hy\",\"price-details__list\":\"AveragePriceOfferDetails__price-details__list___yT7Wa\",\"price-details__list--isLast\":\"AveragePriceOfferDetails__price-details__list--isLast___LqHxz\",\"fadeIn\":\"AveragePriceOfferDetails__fadeIn___Ezy5a\",\"blinking\":\"AveragePriceOfferDetails__blinking___c3_GK\"};","// extracted by mini-css-extract-plugin\nexport default {\"options\":\"DropdownSearchMultipleInput__options___vVQhY\",\"search-input-wrap\":\"DropdownSearchMultipleInput__search-input-wrap___yXGBu\",\"icon\":\"DropdownSearchMultipleInput__icon___xXCWI\",\"icon--search\":\"DropdownSearchMultipleInput__icon--search___oqAOT\",\"icon--right-icon\":\"DropdownSearchMultipleInput__icon--right-icon___JZTxs\",\"search-input\":\"DropdownSearchMultipleInput__search-input___cZ3zn\",\"search-input--isFocus\":\"DropdownSearchMultipleInput__search-input--isFocus___bczXg\",\"search-input--isEmpty\":\"DropdownSearchMultipleInput__search-input--isEmpty___VnNqw\",\"option\":\"DropdownSearchMultipleInput__option___FENBL\",\"option__checkbox\":\"DropdownSearchMultipleInput__option__checkbox___ncpUD\",\"option__label\":\"DropdownSearchMultipleInput__option__label___YS3ji\",\"separator\":\"DropdownSearchMultipleInput__separator___dSCNJ\",\"fadeIn\":\"DropdownSearchMultipleInput__fadeIn___ko_RH\",\"blinking\":\"DropdownSearchMultipleInput__blinking___RSQxX\"};","// extracted by mini-css-extract-plugin\nexport default {\"checkbox\":\"Checkbox__checkbox___lnSuD\",\"checkbox--isFullWidth\":\"Checkbox__checkbox--isFullWidth___etrIK\",\"box\":\"Checkbox__box___Ru34B\",\"box--theme-orange\":\"Checkbox__box--theme-orange___Ejn93\",\"box--isClickable\":\"Checkbox__box--isClickable___OQYgq\",\"box--isHover\":\"Checkbox__box--isHover___qpzlx\",\"box--isChecked\":\"Checkbox__box--isChecked____9pDe\",\"box--isIndeterminated\":\"Checkbox__box--isIndeterminated___lLG4X\",\"box--isDisabled\":\"Checkbox__box--isDisabled___VhGtu\",\"label\":\"Checkbox__label___DHdnT\",\"label--isFullWidth\":\"Checkbox__label--isFullWidth___osPHz\",\"label--isClickable\":\"Checkbox__label--isClickable___cdygl\",\"label--isDisabled\":\"Checkbox__label--isDisabled___tNPVE\",\"label--hasRightIcon\":\"Checkbox__label--hasRightIcon___W7kDJ\",\"fadeIn\":\"Checkbox__fadeIn___sJq0R\",\"blinking\":\"Checkbox__blinking___AgnGh\"};","import React from 'react';\nimport CommonSideBars from 'common/layouts/SideBars/SideBars';\nimport { getSidebarCloseConfirmation, renderSidebarContent } from './utils';\n\ntype PropsT = {\n    paranjaShowLevel?: number;\n};\n\nconst SideBars: React.FC<PropsT> = React.memo((props) => {\n    return (\n        <CommonSideBars\n            {...props}\n            renderSidebarContent={renderSidebarContent}\n            getSidebarCloseConfirmation={getSidebarCloseConfirmation}\n        />\n    );\n});\n\nexport default SideBars;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"BrokerPartnersControl__option___xj6GC\",\"count\":\"BrokerPartnersControl__count___9Y59b\",\"fadeIn\":\"BrokerPartnersControl__fadeIn___iKFib\",\"blinking\":\"BrokerPartnersControl__blinking___lqgkr\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './RemoteFormActions.scss';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport noop from 'lodash/noop';\n\ntype PropsT = {\n    className?: string;\n    saveLabel?: React.ReactNode;\n    cancelLabel?: React.ReactNode;\n    closeLabel?: React.ReactNode;\n    onClose?: () => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst RemoteFormActions: React.FC<PropsT> = React.memo((props) => {\n    const { className, saveLabel, cancelLabel, closeLabel, onClose } = props;\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    const { t } = useTranslation();\n\n    if (!remoteFormActionsContext?.remoteFormState?.hasChanges) {\n        if (onClose) {\n            return (\n                <Button className={cx('action')} testSelector=\"form-cancel\" onClick={onClose || noop}>\n                    {closeLabel || t('common:form-actions.cancel')}\n                </Button>\n            );\n        }\n\n        return null;\n    }\n\n    const isLoading = remoteFormActionsContext?.remoteFormRequest?.isLoading;\n\n    return (\n        <div className={cs(cx('actions'), className)}>\n            <Button\n                className={cx('action')}\n                isLoading={isLoading}\n                testSelector=\"form-submit\"\n                theme={ButtonThemeEnum.primary}\n                onClick={remoteFormActionsContext?.remoteFormCallbacks?.submit}\n            >\n                {saveLabel || t('common:form-actions.save-changes')}\n            </Button>\n            <Button\n                className={cx('action')}\n                testSelector=\"form-reset\"\n                onClick={isLoading ? noop : remoteFormActionsContext?.remoteFormCallbacks?.reset}\n            >\n                {cancelLabel || t('common:form-actions.reset-changes')}\n            </Button>\n        </div>\n    );\n});\n\nexport default RemoteFormActions;\n","import { SharableStateT } from '../models';\nimport requestStatus from 'common/utils/request-status';\n\nexport const selectPartnerSuggestById = (partnerId: PartnerIdT | null | undefined) => (state: SharableStateT) => {\n    return (\n        state.partnerSuggest.byId[partnerId as PartnerIdT] || {\n            data: null,\n            requestStatus: requestStatus.initial,\n        }\n    );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"TabGroup__tabs___RQob6\",\"tabs--size-normal\":\"TabGroup__tabs--size-normal___elt1G\",\"tabs--size-small\":\"TabGroup__tabs--size-small___i6h0H\",\"fadeIn\":\"TabGroup__fadeIn___DMcLU\",\"blinking\":\"TabGroup__blinking___Tn1rS\"};","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"TruckModelMultipleDropdown__option___dlzXg\",\"fadeIn\":\"TruckModelMultipleDropdown__fadeIn___qD1ZU\",\"blinking\":\"TruckModelMultipleDropdown__blinking___cAg0w\"};","// extracted by mini-css-extract-plugin\nexport default {\"cost\":\"CostCell__cost___IekFS\",\"fadeIn\":\"CostCell__fadeIn___xqgI1\",\"blinking\":\"CostCell__blinking___xhBf2\"};","import React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { useTranslation } from 'react-i18next';\nimport DropdownControl, {\n    DropdownControlOptionT,\n    SpecialOptionEnum,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport XLSIcon from 'common/icons/XLSIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport ArrowsIcon from 'common/icons/ArrowsIcon';\n\ntype PropsT = {\n    className?: string;\n    testSelector?: string;\n\n    isLoading: boolean;\n\n    isAllowImport: boolean;\n    onImportAssets: () => void;\n\n    isAllowExport: boolean;\n    onExportAssets: () => void;\n    onExportFilteredAssets: () => void;\n\n    overlayPosition?: DropdownOverlayPositionEnum;\n};\n\nconst AssetsXLSDropdownControl: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        testSelector,\n        isLoading,\n        isAllowImport,\n        onImportAssets,\n        isAllowExport,\n        onExportAssets,\n        onExportFilteredAssets,\n        overlayPosition,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): Array<DropdownControlOptionT | SpecialOptionEnum | null> => {\n        return [\n            isAllowExport\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={<XLSIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                              label={t('common:trucks-page.actions.export-all')}\n                          />\n                      ),\n                      onSelect: onExportAssets,\n                  }\n                : null,\n            isAllowExport\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={<XLSIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                              label={t('common:trucks-page.actions.export-filtered')}\n                          />\n                      ),\n                      onSelect: onExportFilteredAssets,\n                  }\n                : null,\n            isAllowImport ? SpecialOptionEnum.separator : null,\n            isAllowImport\n                ? {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={<XLSIcon fillColor={StyleGuideColorsEnum.charcoal} />}\n                              label={t('common:trucks-page.actions.import')}\n                          />\n                      ),\n                      onSelect: onImportAssets,\n                  }\n                : null,\n        ];\n    }, [t, isAllowImport, onImportAssets, isAllowExport, onExportAssets, onExportFilteredAssets]);\n\n    return (\n        <DropdownControl\n            className={className}\n            options={options}\n            isDisabled={isLoading}\n            testSelector={`${testSelector}_xls-actions`}\n            renderTrigger={(isActive, onClick) => (\n                <TransparentTrigger\n                    isPressed={isActive}\n                    onClick={onClick}\n                    isDisabled={isLoading}\n                    label={t('common:trucks-page.actions.xls')}\n                    leftIcon={\n                        isLoading ? (\n                            <ControlLoaderIcon fillColor={StyleGuideColorsEnum.light} size={DEFAULT_ICON_SIZE} />\n                        ) : (\n                            <XLSIcon fillColor={StyleGuideColorsEnum.charcoal} />\n                        )\n                    }\n                    rightIcon={<ArrowsIcon />}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomRight}\n        />\n    );\n});\n\nexport default AssetsXLSDropdownControl;\n","import classNames from 'classnames/bind';\nimport styles from './MapTooltipMenu.scss';\nimport * as React from 'react';\nimport OutsideClickHandler from 'design-system/components/OutsideClickHandler/OutsideClickHandler';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport noop from 'lodash/noop';\n\nconst cx = classNames.bind(styles);\n\nexport type MapTooltipMenuItemT = {\n    label: React.ReactNode;\n    onSelect: () => void;\n    testSelector?: string;\n    isDisabled?: boolean;\n    tooltipContent?: React.ReactNode;\n};\n\ntype PropsT = {\n    className?: string;\n    onOutsideClick: () => void;\n    items: Array<MapTooltipMenuItemT>;\n};\n\nconst MapTooltipMenu: React.FC<PropsT> = React.memo((props) => {\n    const { className, onOutsideClick, items } = props;\n\n    return (\n        <OutsideClickHandler onOutsideClick={onOutsideClick}>\n            <div\n                className={cx('overlay', className)}\n                onClick={(event) => {\n                    event.preventDefault();\n                    event.stopPropagation();\n                }}\n            >\n                {items.map((item, index) => (\n                    <Tooltip\n                        key={index}\n                        position={TooltipPositionEnum.centerRight}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={\n                            item?.tooltipContent ? (\n                                <TooltipContent width={200} theme={TooltipContentThemeEnum.black}>\n                                    {item?.tooltipContent}\n                                </TooltipContent>\n                            ) : null\n                        }\n                    >\n                        {() => (\n                            <div\n                                key={`option-${index}`}\n                                className={cx('option', {\n                                    'option--isDisabled': item.isDisabled,\n                                })}\n                                data-testid={`option-${item.testSelector}`}\n                                onClick={!item?.isDisabled ? item.onSelect : noop}\n                            >\n                                {item.label}\n                            </div>\n                        )}\n                    </Tooltip>\n                ))}\n            </div>\n        </OutsideClickHandler>\n    );\n});\n\nexport default MapTooltipMenu;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    opacity?: number;\n};\n\nconst TodoListIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, opacity, className, size } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <defs>\n                <path d=\"M0 0h18v18H0V0z\" id=\"lsiwk5mp9a\" />\n            </defs>\n            <path\n                d=\"M13.405 9.25 10.75 6.595l1.057-1.058 1.59 1.59 3.18-3.18 1.058 1.058-4.23 4.245zm-4.155-3H2.5v1.5h6.75v-1.5zm7.5 4.807L15.693 10l-1.943 1.943L11.807 10l-1.057 1.057L12.693 13l-1.943 1.943L11.807 16l1.943-1.943L15.693 16l1.057-1.057L14.807 13l1.943-1.943zm-7.5 1.193H2.5v1.5h6.75v-1.5z\"\n                xlinkHref=\"#lsiwk5mp9a\"\n                fill={fillColor}\n                fillOpacity={opacity || 1}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nTodoListIcon.displayName = 'TodoListIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandDark,\n    opacity: 1,\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default TodoListIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"loader\":\"TableSkeleton__loader___OmA8N\",\"skeleton__box\":\"TableSkeleton__skeleton__box___ZHNKT\",\"skeleton__box--table-head\":\"TableSkeleton__skeleton__box--table-head___eGTpH\",\"skeleton__box--table-row\":\"TableSkeleton__skeleton__box--table-row___lRoxK\",\"fadeIn\":\"TableSkeleton__fadeIn___OMqWK\",\"blinking\":\"TableSkeleton__blinking___ZnykO\"};","import * as React from 'react';\nimport Link, { LinkPropsT, LinkThemeEnum } from 'common/components/Link/Link';\n\ntype PropsT = Omit<LinkPropsT, 'theme'>;\n\nconst LinkFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { children, ...rest } = props;\n\n    return (\n        <Link {...rest} theme={LinkThemeEnum.boldBrandDark}>\n            {children}\n        </Link>\n    );\n});\n\nexport default LinkFormatter;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"PapersGroup__wrap___JlqJv\",\"header\":\"PapersGroup__header___jc4Qq\",\"count\":\"PapersGroup__count___SreG9\",\"title\":\"PapersGroup__title___KuROB\",\"controls\":\"PapersGroup__controls___uwXjD\",\"content\":\"PapersGroup__content___H_M0B\",\"fadeIn\":\"PapersGroup__fadeIn___lgnwj\",\"blinking\":\"PapersGroup__blinking___owAfh\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    FETCH_RATES_PAGE_REQUEST,\n    FetchRatesPageActionT,\n    UPDATE_RATES_REQUEST,\n    UpdateRatesActionT,\n    UPLOAD_CSV_FILE_REQUEST,\n    UploadCsvFileActionT,\n} from './types';\nimport {\n    fetchRatesPageBegin,\n    fetchRatesPageError,\n    fetchRatesPageSuccess,\n    resetRates,\n    updateRatesBegin,\n    updateRatesError,\n    updateRatesSuccess,\n    uploadCSVFailError,\n    uploadCSVFileBegin,\n    uploadCSVFileSuccess,\n} from './actions';\nimport { selectRatesPages, selectRatesQuery, selectUpdateRatesRequest, selectUploadCSVFileRequest } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { ratesPaginationChannel, ratesRefreshChannel } from 'broker-admin/store/price-settings/rates/channels';\n\nfunction* fetchRatesSaga(action: FetchRatesPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options } = action;\n\n    const prevQuery: ReturnType<typeof selectRatesQuery> = yield select(selectRatesQuery);\n    const pages: ReturnType<typeof selectRatesPages> = yield select(selectRatesPages);\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus);\n    if (isSameQuery && !isNeedRequest && !options?.isForceUpdate) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetRates({ savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchRatesPageBegin(query, pageNumber));\n\n    const [error, response]: ReturnApiT<typeof brokerTranziitApi.fetchRatesPage> =\n        yield brokerTranziitApi.fetchRatesPage({\n            ...query,\n            page: pageNumber,\n        });\n\n    if (error) {\n        yield put(fetchRatesPageError(query, pageNumber, error));\n        return;\n    }\n\n    yield put(fetchRatesPageSuccess(query, pageNumber, response));\n\n    checkShouldEmitChangePage(pageNumber, response, ratesPaginationChannel);\n}\n\nfunction* updateRatesSaga(action: UpdateRatesActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectUpdateRatesRequest> = yield select(selectUpdateRatesRequest);\n    if (request.loading) {\n        return;\n    }\n\n    yield put(updateRatesBegin());\n\n    const { ids, value, strategy } = action;\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updateRates> = yield brokerTranziitApi.updateRates(\n        ids,\n        value,\n        strategy,\n    );\n    if (error) {\n        yield put(updateRatesError(error));\n        return;\n    }\n\n    yield put(updateRatesSuccess());\n\n    ratesRefreshChannel.emit({});\n}\n\nfunction* uploadCsvFileSaga(action: UploadCsvFileActionT): WrapGeneratorT<void> {\n    const { file } = action;\n\n    const request: ReturnType<typeof selectUploadCSVFileRequest> = yield select(selectUploadCSVFileRequest);\n    if (request.loading) {\n        return;\n    }\n\n    yield put(uploadCSVFileBegin());\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.uploadRatesCSVFile> = yield brokerTranziitApi.uploadRatesCSVFile(\n        file,\n    );\n    if (error) {\n        yield put(uploadCSVFailError(error));\n        return;\n    }\n\n    yield put(uploadCSVFileSuccess());\n\n    ratesRefreshChannel.emit({});\n}\n\nfunction* ratesSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_RATES_PAGE_REQUEST, fetchRatesSaga);\n    yield takeEvery(UPDATE_RATES_REQUEST, updateRatesSaga);\n    yield takeEvery(UPLOAD_CSV_FILE_REQUEST, uploadCsvFileSaga);\n}\n\nexport default ratesSaga;\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport {\n    calculateCostRequest,\n    createLaneRequest,\n    resetShipperLaneCreation,\n} from 'common/store/shipper-contract-lane-creation/slice';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport ShipperContractLaneCreationForm from 'broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationForm/ShipperContractLaneCreationForm';\nimport ShipperContractLaneCreationMap from 'broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationMap/ShipperContractLaneCreationMap';\nimport ParanjaSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/ParanjaSideBarLayout/ParanjaSideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport {\n    CalculateCostRequestQueryT,\n    CreateRequestQueryDraftT,\n} from 'common/store/shipper-contract-lane-creation/models';\nimport { logWarning } from 'common/utils/logger';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport ShipperContractLaneCreationConfirmForm from 'broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationConfirmForm/ShipperContractLaneCreationConfirmForm';\nimport { CreationLaneConfirmDataT } from 'broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/ShipperContractLaneCreationConfirmForm/models';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\nimport { selectCalculateCostRequest } from 'common/store/shipper-contract-lane-creation/selectors';\nimport { usySyncMapState } from 'broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/hooks/usySyncMapState';\nimport { SyncShipperContractLaneCreationFormMapStateContext } from 'broker-admin/layouts/ShipperContractLaneDetailsPage/ShipperContractLaneCreationPage/contexts/sync-map-state';\n\ntype PropsT = {\n    contractId: ShipperContractIdT | null;\n    onClose: () => void;\n};\n\nconst ShipperContractLaneCreationPage: React.FC<PropsT> = React.memo((props) => {\n    const { onClose, contractId } = props;\n\n    const { partnerId } = usePartnerContext();\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n\n        return () => {\n            dispatch(resetShipperLaneCreation());\n        };\n    }, [dispatch]);\n\n    const [createRequestQueryDraft, setCreateRequestQueryDraft] = useState<CreateRequestQueryDraftT | null>(null);\n    const [calculateQuery, setCalculateQuery] = useState<CalculateCostRequestQueryT | null>(null);\n    const handleSubmit = (query: CalculateCostRequestQueryT, createQueryDraft: CreateRequestQueryDraftT) => {\n        if (!contractId) {\n            logWarning('failed to calculating cost, empty contractId');\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleSubmit');\n            return;\n        }\n\n        setCalculateQuery(query);\n        setCreateRequestQueryDraft(createQueryDraft);\n\n        dispatch(\n            calculateCostRequest({\n                query,\n                partnerId,\n                contractId,\n            }),\n        );\n    };\n\n    const calculatingCostRequest = useSelector(selectCalculateCostRequest);\n    useOnlyChangesEffect(() => {\n        if (calculatingCostRequest.error) {\n            setCreateRequestQueryDraft(null);\n            setCalculateQuery(null);\n        }\n    }, [calculatingCostRequest]);\n\n    const handleCancel = () => {\n        setCalculateQuery(null);\n    };\n\n    const handleConfirm = (data: CreationLaneConfirmDataT) => {\n        if (!contractId) {\n            logWarning('failed to calculating cost, empty contractId');\n            return;\n        }\n        if (!createRequestQueryDraft) {\n            logWarning('failed to calculating cost, empty createRequestQueryDraft');\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirm');\n            return;\n        }\n\n        dispatch(\n            createLaneRequest({\n                query: {\n                    ...createRequestQueryDraft,\n                    totalPrice: data.totalPrice,\n                },\n                partnerId,\n                contractId,\n            }),\n        );\n    };\n\n    const syncShipperContractLaneCreationFormMapStateContextValue = usySyncMapState();\n\n    return (\n        <SyncShipperContractLaneCreationFormMapStateContext.Provider\n            value={syncShipperContractLaneCreationFormMapStateContextValue}\n        >\n            <GoogleMapContext.Provider value={googleMapsContextValue}>\n                <PageTitle title={t('page-titles.shipper-lane-creation')} />\n                <HorizontalColumnsLayout\n                    leftColumnTitle={t('shipper-lane-creation.tabs.form')}\n                    leftColumnNode={\n                        <SideBarLayoutContextWrap>\n                            <HeaderSideBarLayout>\n                                <HeaderSideBarContent title={t('shipper-lane-creation.title')} onClose={onClose} />\n                            </HeaderSideBarLayout>\n                            <SideBarLayout>\n                                <ShipperContractLaneCreationForm contractId={contractId} onSubmit={handleSubmit} />\n                            </SideBarLayout>\n                            {!!calculateQuery && (\n                                <>\n                                    <ParanjaSideBarLayout />\n                                    <FooterSideBarLayout isTransparent hasShadow>\n                                        <ShipperContractLaneCreationConfirmForm\n                                            onCancel={handleCancel}\n                                            onConfirm={handleConfirm}\n                                        />\n                                    </FooterSideBarLayout>\n                                </>\n                            )}\n                        </SideBarLayoutContextWrap>\n                    }\n                    rightColumnTitle={t('shipper-lane-creation.tabs.map')}\n                    rightColumnNode={\n                        <ShipperContractLaneCreationMap\n                            isDisabledDraggable={!!calculateQuery}\n                            isAllowShowLoaders={!!calculateQuery}\n                        />\n                    }\n                />\n            </GoogleMapContext.Provider>\n        </SyncShipperContractLaneCreationFormMapStateContext.Provider>\n    );\n});\n\nexport default ShipperContractLaneCreationPage;\n","import * as React from 'react';\nimport { BrokerTourShortT } from 'broker-admin/store/broker-tours/models';\nimport { formatTimeInterval } from 'common/utils/time';\nimport LocationCell from 'common/components/Table/cell-renderers/LocationCell/LocationCell';\nimport { CountryCodeT } from 'common/utils/api/models';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\n\ntype PropsT = {\n    brokerTourShort: BrokerTourShortT;\n};\n\nconst DestinationCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerTourShort } = props;\n\n    const timeWindow = formatTimeInterval(brokerTourShort.destinationFrom, brokerTourShort.destinationTo);\n\n    return (\n        <LocationCell\n            address={\n                <LocationLabel\n                    location={{\n                        zipCode: brokerTourShort.destination?.zipCode,\n                        city: brokerTourShort.destination?.city,\n                        country: brokerTourShort.destination?.country as CountryCodeT,\n                    }}\n                    format=\"zip_city_country\"\n                    allowShowCountryCode\n                />\n            }\n            time={timeWindow}\n        />\n    );\n});\n\nexport default DestinationCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"action--next\":\"ChangeShipmentStatusSidebarFooter__action--next___Q0DCn\",\"tooltip\":\"ChangeShipmentStatusSidebarFooter__tooltip___t4_fh\",\"alert\":\"ChangeShipmentStatusSidebarFooter__alert___s44hR\",\"fadeIn\":\"ChangeShipmentStatusSidebarFooter__fadeIn___rJxat\",\"blinking\":\"ChangeShipmentStatusSidebarFooter__blinking___AREoj\"};","import * as React from 'react';\nimport EditShipperContractLaneSidebarContent from './EditShipperContractLaneSidebarContent/EditShipperContractLaneSidebarContent';\nimport ShipperContractLaneDetailsSidebarContent from './ShipperContractLaneDetailsSidebarContent/ShipperContractLaneDetailsSidebarContent';\nimport { useDispatch, useSelector } from 'react-redux';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport {\n    selectShipperContractLaneDetailsState,\n    selectUpdateShipperContractLaneRequest,\n} from 'common/store/shipper-contract-lane-details/selectors';\nimport RevokeShipperLaneConfirmationModal, {\n    RevokeShipperLaneConfirmationDataT,\n} from './dialogs/RevokeShipperLaneConfirmationModal/RevokeShipperLaneConfirmationModal';\nimport {\n    fetchShipperContractLaneDetails,\n    revokeShipperContractLane,\n    updateShipperContractLane,\n} from 'common/store/shipper-contract-lane-details/slice';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { shipperContractLaneDetailsRefreshChannel } from 'common/store/shipper-contract-lane-details/channels';\nimport { UpdateShipperContractLaneChangesT } from 'common/store/shipper-contract-lane-details/models';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport { useEffect } from 'react';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { fetchShipperContractDetails } from 'common/store/shipper-contract-details/slice';\nimport { selectShipperContractDetailsState } from 'common/store/shipper-contract-details/selectors';\n\ntype PropsT = {\n    partnerId: PartnerIdT;\n    shipperContractId: ShipperContractIdT;\n    shipperContractLaneId: ShipperContractLaneIdT;\n\n    onGoBack?: () => void;\n    onClose?: () => void;\n\n    onOpenUserDetails?: (userId: UserIdT) => void;\n\n    onChangeOriginRadiusKm?: (radiusKm: number) => void;\n    onChangeDestinationRadiusKm?: (radiusKm: number) => void;\n\n    setNeedCloseConfirmation?: (needCloseConfirmation: boolean) => void;\n\n    isReadOnly?: boolean;\n};\n\nconst CommonEditableShipperContractLaneDetailsLayout: React.FC<PropsT> = (props) => {\n    const {\n        partnerId,\n        shipperContractId,\n        shipperContractLaneId,\n\n        onGoBack,\n        onClose,\n\n        onOpenUserDetails,\n\n        onChangeOriginRadiusKm,\n        onChangeDestinationRadiusKm,\n\n        setNeedCloseConfirmation,\n\n        isReadOnly,\n    } = props;\n\n    const dispatch = useDispatch();\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    useEffect(() => {\n        dispatch(\n            fetchShipperContractLaneDetails({\n                partnerId,\n                shipperContractId,\n                laneId: shipperContractLaneId,\n            }),\n        );\n\n        dispatch(\n            fetchShipperContractDetails({\n                partnerId,\n                shipperContractId,\n            }),\n        );\n    }, [dispatch, partnerId, shipperContractId, shipperContractLaneId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(\n            fetchShipperContractLaneDetails({\n                partnerId,\n                shipperContractId,\n                laneId: shipperContractLaneId,\n            }),\n        );\n\n        dispatch(\n            fetchShipperContractDetails({\n                partnerId,\n                shipperContractId,\n            }),\n        );\n    }, [dispatch, partnerId, shipperContractId, shipperContractLaneId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        dispatch(\n            fetchShipperContractLaneDetails({\n                partnerId,\n                shipperContractId,\n                laneId: shipperContractLaneId,\n                options: { isForceUpdate: true },\n            }),\n        );\n\n        dispatch(\n            fetchShipperContractDetails({\n                partnerId,\n                shipperContractId,\n            }),\n        );\n    }, [dispatch, partnerId, shipperContractId, shipperContractLaneId]);\n    useChannelSubscribe(shipperContractLaneDetailsRefreshChannel, refreshPageHandler);\n\n    const contractDetailsState = useSelector(\n        selectShipperContractDetailsState(shipperContractId as ShipperContractIdT),\n    );\n\n    const [isActiveEditing, setActiveEditing] = React.useState<boolean>(false);\n\n    const updateRequestStatus = useSelector(selectUpdateShipperContractLaneRequest);\n\n    React.useEffect(() => {\n        if (updateRequestStatus.ok) {\n            setActiveEditing(false);\n        }\n    }, [updateRequestStatus.ok]);\n\n    const { data, fetchRequest } = useSelector(selectShipperContractLaneDetailsState(shipperContractLaneId));\n\n    const handleOpenEdit = () => {\n        setActiveEditing(true);\n    };\n\n    const handleEditShipperContractLane = (detailsChanges: UpdateShipperContractLaneChangesT) => {\n        dispatch(\n            updateShipperContractLane({\n                partnerId,\n                shipperContractId,\n                laneId: shipperContractLaneId,\n                detailsChanges,\n            }),\n        );\n    };\n\n    const revokeShipperLaneConfirmation = useModalDialog<RevokeShipperLaneConfirmationDataT>();\n    const handleRevokeConfirm = (data: RevokeShipperLaneConfirmationDataT): void => {\n        const { shipperContractId, partnerId, laneId } = data;\n\n        dispatch(\n            revokeShipperContractLane({\n                partnerId,\n                shipperContractId,\n                laneId,\n            }),\n        );\n    };\n\n    const handleRevoke = () => {\n        revokeShipperLaneConfirmation.setData({\n            partnerId,\n            shipperContractId,\n            laneId: shipperContractLaneId,\n            laneNumber: data?.tztLaneId || '',\n        });\n    };\n\n    useCloseModalDialogAfterRequest(updateRequestStatus, [revokeShipperLaneConfirmation]);\n\n    return (\n        <>\n            {isActiveEditing ? (\n                <EditShipperContractLaneSidebarContent\n                    data={data}\n                    onClose={onClose}\n                    onGoBack={onGoBack}\n                    onCancel={() => {\n                        setActiveEditing(false);\n                    }}\n                    setNeedCloseConfirmation={setNeedCloseConfirmation}\n                    onOpenUserDetails={onOpenUserDetails}\n                    onChangeOriginRadiusKm={onChangeOriginRadiusKm}\n                    onChangeDestinationRadiusKm={onChangeDestinationRadiusKm}\n                    onEditShipperContractLane={handleEditShipperContractLane}\n                    contractDetails={contractDetailsState?.data || null}\n                />\n            ) : (\n                <ShipperContractLaneDetailsSidebarContent\n                    data={data}\n                    isReadOnly={isReadOnly}\n                    onClose={onClose}\n                    onGoBack={onGoBack}\n                    onRevoke={handleRevoke}\n                    onEdit={handleOpenEdit}\n                    onOpenUserDetails={onOpenUserDetails}\n                />\n            )}\n            {fetchRequest.loading && <LoaderOverlay />}\n            <RevokeShipperLaneConfirmationModal\n                data={revokeShipperLaneConfirmation.data}\n                onCancel={revokeShipperLaneConfirmation.onCancel}\n                onClose={revokeShipperLaneConfirmation.onClose}\n                onConfirm={handleRevokeConfirm}\n                requestStatus={updateRequestStatus}\n            />\n        </>\n    );\n};\n\nexport default CommonEditableShipperContractLaneDetailsLayout;\n","import React, { useState } from 'react';\nimport { checkActiveFeature, ServerFeatureEnum } from 'common/utils/features/server-features-config';\nimport {\n    clearClientFeaturesConfig,\n    ClientFeatureEnum,\n    ClientFeaturesConfigT,\n    getClientFeaturesConfig,\n    saveClientFeaturesConfig,\n} from 'common/utils/features/client-features-config';\n\nexport { ServerFeatureEnum, ClientFeatureEnum };\n\nexport type FeaturesContextValueT = {\n    checkActiveServerFeature?: typeof checkActiveFeature;\n    checkActiveClientFeature?: (feature: ClientFeatureEnum) => boolean;\n    getClientFeatureValue?: <T extends ClientFeatureEnum>(feature: T) => ClientFeaturesConfigT[T] | undefined;\n    setClientFeature?: <T extends ClientFeatureEnum>(feature: T, value: ClientFeaturesConfigT[T]) => void;\n    clearClientFeatures?: () => void;\n};\n\nconst useFeaturesContextValue = (): FeaturesContextValueT => {\n    const [clientFeatures, setClientFeatures] = useState<ClientFeaturesConfigT>(getClientFeaturesConfig());\n\n    return React.useMemo((): FeaturesContextValueT => {\n        return {\n            checkActiveServerFeature: checkActiveFeature,\n            checkActiveClientFeature: (feature) => {\n                return !!clientFeatures[feature];\n            },\n            getClientFeatureValue: (feature) => {\n                return clientFeatures[feature];\n            },\n            setClientFeature: (feature, value) => {\n                saveClientFeaturesConfig({\n                    ...clientFeatures,\n                    [feature]: value,\n                });\n\n                const newClientFeature = getClientFeaturesConfig();\n                setClientFeatures(newClientFeature);\n            },\n            clearClientFeatures: () => {\n                clearClientFeaturesConfig();\n\n                const newClientFeature = getClientFeaturesConfig();\n                setClientFeatures(newClientFeature);\n            },\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [clientFeatures, checkActiveFeature]);\n};\n\nexport { useFeaturesContextValue };\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    strokeColor: StyleGuideColorsEnum;\n    fillColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst EditIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, fillColor, size } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill={fillColor} fillOpacity=\"0.3\" d=\"M4.75 14.56v.69h.69l6.795-6.795-.69-.69z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M16.533 6.28a.748.748 0 000-1.058l-1.755-1.755c-.15-.15-.338-.217-.533-.217s-.382.075-.525.217L12.347 4.84l2.813 2.813 1.373-1.373zM3.25 13.937v2.813h2.813l8.294-8.295-2.812-2.813-8.295 8.296zm2.19 1.313h-.69v-.69l6.795-6.795.69.69L5.44 15.25z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nEditIcon.displayName = 'EditIcon';\n\nconst storyProps: PropsT = {\n    size: 20,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default EditIcon;\n","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './FieldGroup.scss';\nimport isNumber from 'lodash/isNumber';\n\nconst cx = classNames.bind(styles);\n\ntype FieldGroupEmptyItemPropsT = {\n    className?: string;\n};\n\nexport const FieldGroupEmptyItem: React.FC<FieldGroupEmptyItemPropsT> = (props) => {\n    const { className } = props;\n\n    return <div className={cs(cx('field-group__empty-item'), className)} />;\n};\n\nexport type PropsT = {\n    className?: string;\n    spaces?: number;\n    isFullWidth?: boolean;\n};\n\nconst FieldGroup: React.FC<PropsT> = (props) => {\n    const { isFullWidth, children, spaces, className } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('field-group', {\n                    [`field-group--spaces-${isNumber(spaces) ? spaces : 3}`]: true,\n                    'field-group--is-full-width': isFullWidth,\n                }),\n                className,\n            )}\n        >\n            {children}\n        </div>\n    );\n};\n\nexport default React.memo(FieldGroup) as typeof FieldGroup;\n","import { RoutePointFieldsEnum, RoutePointFormValuesT } from '../constants';\nimport { InferChannelEventT, ViewEventChannel } from 'common/utils/view-event-channel';\nimport { useCallback } from 'react';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { ReserveT, ReserveTimeWindowT } from 'common/store/order-creation/models';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { ApiLocationT } from 'common/utils/api/models';\nimport { formatLocation } from 'common/utils/formatters';\nimport { createFakeIdFromPoint } from 'common/store/order-creation/utils/create-fake-id-from-point';\nimport { isNonNil } from 'common/utils';\nimport keyBy from 'lodash/keyBy';\nimport isBoolean from 'lodash/isBoolean';\n\nexport const reserveSyncPointsModifyChannel = new ViewEventChannel<{\n    correctedPoints: ReserveT['points'];\n    routeFormValues: Array<RoutePointFormValuesT>;\n    correctedTimeWindowsByPointId?: Record<RoutePointIdT, ReserveTimeWindowT | null>;\n    correctedBrokerWindowByPointId?: Record<RoutePointIdT, boolean | null>;\n}>();\n\nconst convertPointToLocation = (address: ApiLocationT | null): LocationT | null => {\n    if (!address) {\n        return null;\n    }\n\n    return {\n        address: formatLocation(address),\n        utcOffsetMinutes: null,\n        addressComponents: {\n            countryCode: address.country,\n            street1: address?.street1,\n            street2: address?.street2,\n            zipCode: address?.zipCode,\n            city: address?.city,\n        },\n        point: {\n            lat: address.latitude || 0,\n            lng: address.longitude || 0,\n        },\n    };\n};\n\nexport const useSyncPointsChannels = (formikArrayHelpers: {\n    insert: (index: number, value: RoutePointFormValuesT) => void;\n    remove: (index: number) => void;\n}) => {\n    // correction after reserve\n    const syncPointsModifyChannelHandler = useCallback(\n        (event: InferChannelEventT<typeof reserveSyncPointsModifyChannel>) => {\n            const { correctedPoints, routeFormValues, correctedTimeWindowsByPointId, correctedBrokerWindowByPointId } =\n                event;\n\n            const correctedPointsByFakeId = keyBy(event?.correctedPoints, (point) => {\n                return point.addressAlias || '';\n            });\n\n            const clonedRouteFormValues = cloneDeep(routeFormValues);\n\n            const newAliases = correctedPoints?.map((point) => point.addressAlias).filter(isNonNil);\n            const newAliasesSet = new Set(newAliases);\n\n            for (let index = clonedRouteFormValues.length - 1; index >= 0; index -= 1) {\n                const { fakeId } = clonedRouteFormValues[index];\n                if (!newAliasesSet.has(fakeId)) {\n                    formikArrayHelpers.remove(index);\n                    clonedRouteFormValues.splice(index, 1);\n                }\n            }\n\n            let formIndexPointer = 0;\n            correctedPoints?.forEach((point) => {\n                const idxInForm = clonedRouteFormValues.findIndex((values) => {\n                    return values.fakeId === point.addressAlias;\n                });\n\n                if (idxInForm === -1) {\n                    const fakeId = createFakeIdFromPoint(point);\n\n                    const newRoutePoint: RoutePointFormValuesT = {\n                        fakeId,\n                        type: point.type,\n                        location: convertPointToLocation(point.address || null) || null,\n                        timeWindow: point.defaultTimeWindow,\n                        isBrokerTimeWindow: false,\n                    };\n\n                    const eventCorrectedPoint = correctedPointsByFakeId?.[fakeId] || null;\n                    if (eventCorrectedPoint?.replacedCoordinate && newRoutePoint[RoutePointFieldsEnum.location]) {\n                        newRoutePoint[RoutePointFieldsEnum.location].point = {\n                            lng: eventCorrectedPoint.replacedCoordinate.longitude,\n                            lat: eventCorrectedPoint.replacedCoordinate.latitude,\n                        };\n                    }\n\n                    const correctedTimeWindow = correctedTimeWindowsByPointId?.[fakeId] || null;\n                    if (correctedTimeWindow) {\n                        newRoutePoint[RoutePointFieldsEnum.timeWindow] = correctedTimeWindow;\n                    }\n\n                    const correctedBrokerWindow = correctedBrokerWindowByPointId?.[fakeId];\n                    if (isBoolean(correctedBrokerWindow)) {\n                        newRoutePoint[RoutePointFieldsEnum.isBrokerTimeWindow] = correctedBrokerWindow;\n                    }\n\n                    formikArrayHelpers.insert(formIndexPointer, newRoutePoint);\n                }\n\n                formIndexPointer += 1;\n            });\n        },\n        [formikArrayHelpers],\n    );\n\n    useChannelSubscribe(reserveSyncPointsModifyChannel, syncPointsModifyChannelHandler);\n};\n","import {\n    ACTIVATE_RULES_REQUEST,\n    ActivationRulesActionT,\n    CREATE_RULE_REQUEST,\n    CREATE_RULE_REQUEST_BEGIN,\n    CREATE_RULE_REQUEST_ERROR,\n    CREATE_RULE_REQUEST_RESET,\n    CREATE_RULE_REQUEST_SUCCESS,\n    CreateRuleActionT,\n    CreateRuleBeginActionT,\n    CreateRuleErrorActionT,\n    CreateRuleResetActionT,\n    CreateRuleSuccessActionT,\n    DEACTIVATE_RULES_REQUEST,\n    DeactivationRulesActionT,\n    DELETE_RULES_REQUEST,\n    DELETE_RULES_REQUEST_BEGIN,\n    DELETE_RULES_REQUEST_ERROR,\n    DELETE_RULES_REQUEST_SUCCESS,\n    DeleteRulesActionT,\n    DeleteRulesBeginActionT,\n    DeleteRulesErrorActionT,\n    DeleteRulesSuccessActionT,\n    PREVIEW_RULE_REQUEST,\n    PREVIEW_RULE_REQUEST_BEGIN,\n    PREVIEW_RULE_REQUEST_ERROR,\n    PREVIEW_RULE_REQUEST_SUCCESS,\n    PreviewRuleActionT,\n    PreviewRuleBeginActionT,\n    PreviewRuleErrorActionT,\n    PreviewRuleSuccessActionT,\n    FETCH_RULE_DETAILS_REQUEST,\n    FETCH_RULE_DETAILS_REQUEST_BEGIN,\n    FETCH_RULE_DETAILS_REQUEST_ERROR,\n    FETCH_RULE_DETAILS_REQUEST_SUCCESS,\n    FETCH_RULES_PAGE_REQUEST,\n    FETCH_RULES_PAGE_REQUEST_BEGIN,\n    FETCH_RULES_PAGE_REQUEST_ERROR,\n    FETCH_RULES_PAGE_REQUEST_SUCCESS,\n    FetchRuleDetailsActionT,\n    FetchRuleDetailsBeginActionT,\n    FetchRuleDetailsErrorActionT,\n    FetchRuleDetailsSuccessActionT,\n    FetchRulesPageActionT,\n    FetchRulesPageBeginActionT,\n    FetchRulesPageErrorActionT,\n    FetchRulesPageSuccessActionT,\n    RESET_RULE_PAGES,\n    ResetRulePagesActionT,\n    UPDATE_RULE_REQUEST,\n    UPDATE_RULE_REQUEST_BEGIN,\n    UPDATE_RULE_REQUEST_ERROR,\n    UPDATE_RULE_REQUEST_RESET,\n    UPDATE_RULE_REQUEST_SUCCESS,\n    UpdateRuleActionT,\n    UpdateRuleBeginActionT,\n    UpdateRuleErrorActionT,\n    UpdateRuleResetActionT,\n    UpdateRuleSuccessActionT,\n    PreviewRuleResetActionT,\n    PREVIEW_RULE_REQUEST_RESET,\n} from './types';\nimport {\n    FetchRulePageQueryT,\n    RuleDetailsT,\n    RuleDraftT,\n    RulePreviewRequestT,\n    RulePreviewResponseT,\n    RuleT,\n} from './models';\nimport { PageResponseT } from 'common/utils/pagination/models';\n\nexport const fetchRuleDetails = (ruleId: RuleIdT): FetchRuleDetailsActionT => ({\n    type: FETCH_RULE_DETAILS_REQUEST,\n    ruleId,\n});\n\nexport const fetchRuleDetailsBegin = (ruleId: RuleIdT): FetchRuleDetailsBeginActionT => ({\n    type: FETCH_RULE_DETAILS_REQUEST_BEGIN,\n    ruleId,\n});\n\nexport const fetchRuleDetailsSuccess = (\n    ruleId: RuleIdT,\n    ruleDetails: RuleDetailsT | null,\n): FetchRuleDetailsSuccessActionT => ({\n    type: FETCH_RULE_DETAILS_REQUEST_SUCCESS,\n    ruleId,\n    ruleDetails,\n});\n\nexport const fetchRuleDetailsError = (ruleId: RuleIdT, error: Error): FetchRuleDetailsErrorActionT => ({\n    type: FETCH_RULE_DETAILS_REQUEST_ERROR,\n    ruleId,\n    error,\n});\n\nexport const fetchRulesPage = (\n    pageNumber: PageNumberT,\n    query: FetchRulePageQueryT,\n    options?: FetchOptionsT,\n): FetchRulesPageActionT => ({\n    type: FETCH_RULES_PAGE_REQUEST,\n    pageNumber,\n    query,\n    options,\n});\n\nexport const fetchRulesPageBegin = (\n    query: FetchRulePageQueryT,\n    pageNumber: PageNumberT,\n): FetchRulesPageBeginActionT => ({\n    type: FETCH_RULES_PAGE_REQUEST_BEGIN,\n    query,\n    pageNumber,\n});\n\nexport const fetchRulesPageSuccess = (\n    query: FetchRulePageQueryT,\n    pageNumber: PageNumberT,\n    pageResponse: PageResponseT<RuleT> | null,\n): FetchRulesPageSuccessActionT => ({\n    type: FETCH_RULES_PAGE_REQUEST_SUCCESS,\n    query,\n    pageResponse,\n    pageNumber,\n});\n\nexport const fetchRulesPageError = (\n    query: FetchRulePageQueryT,\n    pageNumber: PageNumberT,\n    error: Error,\n): FetchRulesPageErrorActionT => ({\n    type: FETCH_RULES_PAGE_REQUEST_ERROR,\n    query,\n    error,\n    pageNumber,\n});\n\nexport const updateRules = (ruleId: RuleIdT, ruleDraft: RuleDraftT): UpdateRuleActionT => ({\n    type: UPDATE_RULE_REQUEST,\n    ruleId,\n    ruleDraft,\n});\n\nexport const updateRuleBegin = (): UpdateRuleBeginActionT => ({\n    type: UPDATE_RULE_REQUEST_BEGIN,\n});\n\nexport const updateRuleSuccess = (): UpdateRuleSuccessActionT => ({\n    type: UPDATE_RULE_REQUEST_SUCCESS,\n});\n\nexport const updateRuleError = (error: Error): UpdateRuleErrorActionT => ({\n    type: UPDATE_RULE_REQUEST_ERROR,\n    error,\n});\n\nexport const createRule = (ruleDraft: RuleDraftT): CreateRuleActionT => ({\n    type: CREATE_RULE_REQUEST,\n    ruleDraft,\n});\n\nexport const createRuleBegin = (): CreateRuleBeginActionT => ({\n    type: CREATE_RULE_REQUEST_BEGIN,\n});\n\nexport const createRuleSuccess = (): CreateRuleSuccessActionT => ({\n    type: CREATE_RULE_REQUEST_SUCCESS,\n});\n\nexport const createRuleError = (error: Error): CreateRuleErrorActionT => ({\n    type: CREATE_RULE_REQUEST_ERROR,\n    error,\n});\n\nexport const deleteRules = (ids: Array<RuleIdT>): DeleteRulesActionT => ({\n    type: DELETE_RULES_REQUEST,\n    ids,\n});\n\nexport const deleteRulesBegin = (): DeleteRulesBeginActionT => ({\n    type: DELETE_RULES_REQUEST_BEGIN,\n});\n\nexport const deleteRulesSuccess = (): DeleteRulesSuccessActionT => ({\n    type: DELETE_RULES_REQUEST_SUCCESS,\n});\n\nexport const deleteRulesError = (error: Error): DeleteRulesErrorActionT => ({\n    type: DELETE_RULES_REQUEST_ERROR,\n    error,\n});\n\nexport const previewRule = (data: RulePreviewRequestT): PreviewRuleActionT => ({\n    type: PREVIEW_RULE_REQUEST,\n    data,\n});\n\nexport const previewRuleBegin = (): PreviewRuleBeginActionT => ({\n    type: PREVIEW_RULE_REQUEST_BEGIN,\n});\n\nexport const previewRuleSuccess = (data: RulePreviewResponseT | null): PreviewRuleSuccessActionT => ({\n    type: PREVIEW_RULE_REQUEST_SUCCESS,\n    data,\n});\n\nexport const previewRuleError = (error: Error): PreviewRuleErrorActionT => ({\n    type: PREVIEW_RULE_REQUEST_ERROR,\n    error,\n});\n\nexport const previewRuleReset = (): PreviewRuleResetActionT => ({\n    type: PREVIEW_RULE_REQUEST_RESET,\n});\n\nexport const activateRules = (ids: Array<RuleIdT>): ActivationRulesActionT => ({\n    type: ACTIVATE_RULES_REQUEST,\n    ids,\n});\n\nexport const deactivateRules = (ids: Array<RuleIdT>): DeactivationRulesActionT => ({\n    type: DEACTIVATE_RULES_REQUEST,\n    ids,\n});\n\nexport const resetRulePages = (mutationListOptions: MutationListOptionsT): ResetRulePagesActionT => ({\n    type: RESET_RULE_PAGES,\n    mutationListOptions,\n});\n\nexport const resetUpdateRuleRequest = (): UpdateRuleResetActionT => ({\n    type: UPDATE_RULE_REQUEST_RESET,\n});\n\nexport const resetCreateRuleRequest = (): CreateRuleResetActionT => ({\n    type: CREATE_RULE_REQUEST_RESET,\n});\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_COMPANY_REQUEST, UPDATE_COMPANY_REQUEST, UpdateCompanyActionT, FetchCompanyActionT } from './types';\nimport {\n    fetchCompanyBegin,\n    fetchCompanyError,\n    fetchCompanySuccess,\n    updateCompanyBegin,\n    updateCompanyError,\n    updateCompanySuccess,\n} from './actions';\n\nimport { logWarning } from 'common/utils/logger';\nimport { selectCurrentCompanyRequestStatus } from 'common/store/company/selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { companyRefreshChannel } from 'common/store/company/channels';\n\nfunction* fetchCompanySaga(action: FetchCompanyActionT): WrapGeneratorT<void> {\n    const { options } = action;\n\n    const requestStatus: ReturnType<typeof selectCurrentCompanyRequestStatus> = yield select(\n        selectCurrentCompanyRequestStatus,\n    );\n    const isNeedRequest = checkNeedRequest(requestStatus, options);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchCompanyBegin());\n    const [error, currentCompany]: ReturnApiT<typeof commonTranziitApi.fetchCurrentCompany> =\n        yield commonTranziitApi.fetchCurrentCompany();\n\n    if (!currentCompany) {\n        logWarning('fetched empty company', { error });\n    }\n\n    if (error) {\n        yield put(fetchCompanyError(error));\n    } else {\n        yield put(fetchCompanySuccess(currentCompany));\n    }\n}\n\nfunction* updateCompanySaga(action: UpdateCompanyActionT): WrapGeneratorT<void> {\n    const { companyChanges } = action;\n    yield put(updateCompanyBegin());\n    const [error]: ReturnApiT<typeof commonTranziitApi.patchCompany> = yield commonTranziitApi.patchCompany(\n        companyChanges,\n    );\n    if (error) {\n        yield put(updateCompanyError(error));\n        return;\n    }\n\n    const [fetchError, currentCompany]: ReturnApiT<typeof commonTranziitApi.fetchCurrentCompany> =\n        yield commonTranziitApi.fetchCurrentCompany();\n    if (fetchError) {\n        yield put(fetchCompanyError(fetchError));\n        return;\n    }\n\n    if (!currentCompany) {\n        logWarning('fetched empty company, after update');\n    }\n\n    yield put(updateCompanySuccess(currentCompany));\n\n    companyRefreshChannel.emit({});\n}\n\nfunction* userSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_COMPANY_REQUEST, fetchCompanySaga);\n    yield takeEvery(UPDATE_COMPANY_REQUEST, updateCompanySaga);\n}\n\nexport default userSaga;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst PaperIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path fill={fillColor} d=\"M5 3v14h10V7l-4-4z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M7 13h6v1.5H7V13zm0-3h6v1.5H7V10zm4.5-7.5h-6C4.675 2.5 4 3.175 4 4v12c0 .825.668 1.5 1.492 1.5H14.5c.825 0 1.5-.675 1.5-1.5V7l-4.5-4.5zm3 13.5h-9V4h5.25v3.75h3.75V16z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nPaperIcon.displayName = 'PaperIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default PaperIcon;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { FETCH_RFQS_PAGE_REQUEST, FetchRFQsPageActionT } from './types';\nimport { fetchRFQsPageBegin, fetchRFQsPageError, fetchRFQsPageSuccess, resetRFQs } from './actions';\nimport { selectRFQsPages, selectRFQsQuery } from './selectors';\n\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport shipperTranziitApi from 'shipper/utils/api/shipper-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { rfqsPaginationChannel } from 'common/store/rfqs/channels';\nimport { CompanyTypeEnum } from 'common/constants';\n\nconst getFetchRFQsSaga = (companyType: CompanyTypeEnum) => {\n    return function* fetchRFQsSaga(action: FetchRFQsPageActionT): WrapGeneratorT<void> {\n        const { pageNumber, query: rawQuery, companyId } = action;\n\n        const query: typeof rawQuery = {\n            ...rawQuery,\n        };\n\n        const prevQuery: ReReturnT<typeof selectRFQsQuery> = yield select(selectRFQsQuery(companyId));\n        const pages: ReReturnT<typeof selectRFQsPages> = yield select(selectRFQsPages(companyId));\n        const isSameQuery = checkIsSameQuery(query, prevQuery);\n        const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus);\n        if (isSameQuery && !isNeedRequest) {\n            return;\n        }\n        if (!isSameQuery) {\n            yield put(resetRFQs(companyId, { savingPageNumber: pageNumber }));\n        }\n\n        yield put(fetchRFQsPageBegin(query, pageNumber, companyId));\n\n        let result: ReturnApiT<typeof shipperTranziitApi.fetchRFQsPage | typeof brokerTranziitApi.fetchRFQsPage>;\n        if (companyType === CompanyTypeEnum.broker) {\n            result = yield brokerTranziitApi.fetchRFQsPage({\n                ...query,\n                page: pageNumber,\n            });\n        } else {\n            result = yield shipperTranziitApi.fetchRFQsPage({\n                ...query,\n                page: pageNumber,\n            });\n        }\n\n        const [error, response] = result;\n\n        if (error) {\n            yield put(fetchRFQsPageError(query, pageNumber, error, companyId));\n            return;\n        }\n\n        yield put(fetchRFQsPageSuccess(query, pageNumber, response, companyId));\n\n        checkShouldEmitChangePage(pageNumber, response, rfqsPaginationChannel);\n    };\n};\n\nfunction* rfqsSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_RFQS_PAGE_REQUEST, getFetchRFQsSaga(companyType));\n}\n\nexport default rfqsSaga;\n","import { BrokerAssetsSearchRequestInvalidReasonT } from 'common/utils/assignment';\n\nexport enum FieldsEnum {\n    trailerId = 'trailerId',\n    truckId = 'truckId',\n    locationToDropTrailer = 'locationToDropTrailer',\n    locationToDropTruck = 'locationToDropTruck',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.trailerId]: TrailerIdT | null;\n    [FieldsEnum.truckId]: TruckIdT | null;\n\n    [FieldsEnum.locationToDropTrailer]: LocationT | null;\n    [FieldsEnum.locationToDropTruck]: LocationT | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\nexport type AsyncFormErrorsT = Partial<Record<FieldsEnum, string>>;\n\nexport const reasonI18nMap: Record<BrokerAssetsSearchRequestInvalidReasonT, string> = {\n    OTHER: 'assignment.validation.reasons.OTHER',\n    CARRIER_NOT_IN_LIST: 'assignment.validation.reasons.CARRIER_NOT_IN_LIST',\n    CARRIER_DOESNT_HAVE_REQUIRED_CERTIFICATES:\n        'assignment.validation.reasons.CARRIER_DOESNT_HAVE_REQUIRED_CERTIFICATES',\n    INCAPABLE_EMISSION_STANDARD: 'assignment.validation.reasons.INCAPABLE_EMISSION_STANDARD',\n    CANT_BE_ON_TIME_FOR_NEXT_TOUR: 'assignment.validation.reasons.CANT_BE_ON_TIME_FOR_NEXT_TOUR',\n    NO_AVAILABLE_HOOKS: 'assignment.validation.reasons.NO_AVAILABLE_HOOKS',\n    DIFFERENT_CARRIERS: 'assignment.validation.reasons.DIFFERENT_CARRIERS',\n    INCAPABLE_TRAILER_TYPE: 'assignment.validation.reasons.INCAPABLE_TRAILER_TYPE',\n    ASSET_IS_NOT_CONTRACTED: 'assignment.validation.reasons.ASSET_IS_NOT_CONTRACTED',\n    ASSET_CONTRACTED_INACTIVE: 'assignment.validation.reasons.ASSET_CONTRACTED_INACTIVE',\n    PLATE_NUMBER_DO_NOT_MATCH: 'assignment.validation.reasons.PLATE_NUMBER_DO_NOT_MATCH',\n    ASSET_BUSY_ON_TOUR_DATES: 'assignment.validation.reasons.ASSET_BUSY_ON_TOUR_DATES',\n};\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst TeamDriveIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M7.75 8.5a1.125 1.125 0 100-2.25 1.125 1.125 0 000 2.25zm-3.172 5.25h3.21c.007-.045.09-.435.217-.742-.083 0-.173-.008-.255-.008-1.147 0-2.438.375-3.172.75z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M7.75 10a2.628 2.628 0 002.625-2.625A2.628 2.628 0 007.75 4.75a2.628 2.628 0 00-2.625 2.625A2.628 2.628 0 007.75 10zm0-3.75a1.124 1.124 0 110 2.25 1.123 1.123 0 01-1.125-1.125c0-.622.503-1.125 1.125-1.125zm.037 7.5h-3.21C5.32 13.375 6.604 13 7.75 13c.082 0 .173.008.255.008.255-.548.697-.998 1.23-1.358a8.794 8.794 0 00-1.485-.15c-1.755 0-5.25.877-5.25 2.625v1.125h5.25v-1.125a2.1 2.1 0 01.037-.375zm5.588-1.875c-1.38 0-4.125.758-4.125 2.25v1.125h8.25v-1.125c0-1.492-2.745-2.25-4.125-2.25zm.908-1.365c.57-.322.967-.93.967-1.635a1.876 1.876 0 00-3.75 0 1.885 1.885 0 001.875 1.875c.33 0 .637-.09.908-.24z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nTeamDriveIcon.displayName = 'TeamDriveIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default TeamDriveIcon;\n\nexport const TeamDriveIconProps = {\n    getCreateOrder: (): PropsT => {\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor: StyleGuideColorsEnum.transparent,\n            strokeColor: StyleGuideColorsEnum.orange,\n        };\n    },\n};\n","import {\n    CHECK_GPS_STATUS_REQUEST_BEGIN,\n    CHECK_GPS_STATUS_REQUEST_ERROR,\n    CHECK_GPS_STATUS_REQUEST_SUCCESS,\n    GPSTrackingStatusActionT,\n    GPSTrackingStatusStateT,\n    RESET,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\n\nconst initialState: GPSTrackingStatusStateT = {\n    query: null,\n    requestStatus: requestStatus.initial,\n    data: null,\n};\n\nexport default (\n    state = initialState,\n    action: GPSTrackingStatusActionT | DestroySessionActionT,\n): GPSTrackingStatusStateT => {\n    switch (action.type) {\n        case CHECK_GPS_STATUS_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                query,\n                requestStatus: requestStatus.loading,\n            };\n        }\n\n        case CHECK_GPS_STATUS_REQUEST_SUCCESS: {\n            const { query, data } = action;\n\n            if (!checkIsSameQuery(query, state.query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                data,\n                requestStatus: requestStatus.ok,\n            };\n        }\n\n        case CHECK_GPS_STATUS_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(query, state.query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                data: null,\n                requestStatus: requestStatus.setError(error),\n            };\n        }\n\n        case DESTROY_SESSION:\n        case RESET: {\n            return {\n                ...initialState,\n            };\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\nimport { BrokerOrderShortT } from 'broker-admin/store/broker-orders/models';\nimport { formatTimeInterval } from 'common/utils/time';\nimport LocationCell from 'common/components/Table/cell-renderers/LocationCell/LocationCell';\nimport { CountryCodeT } from 'common/utils/api/models';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\n\ntype PropsT = {\n    brokerOrderShort: BrokerOrderShortT;\n};\n\nconst DropOffCell: React.FC<PropsT> = React.memo((props) => {\n    const { brokerOrderShort } = props;\n\n    const timeWindow = formatTimeInterval(brokerOrderShort.dropOffDateFrom, brokerOrderShort.dropOffDateTo);\n\n    return (\n        <LocationCell\n            address={\n                <LocationLabel\n                    location={{\n                        zipCode: brokerOrderShort.zipCodeTo,\n                        city: brokerOrderShort.cityTo,\n                        country: brokerOrderShort.countryCodeTo as CountryCodeT,\n                    }}\n                    format=\"zip_city_country\"\n                    allowShowCountryCode\n                />\n            }\n            time={timeWindow}\n        />\n    );\n});\n\nexport default DropOffCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"version\":\"DocumentVersion__version___uoWmG\",\"status\":\"DocumentVersion__status___BqvNB\",\"header\":\"DocumentVersion__header___fhGoZ\",\"header__title\":\"DocumentVersion__header__title___F4U_A\",\"fadeIn\":\"DocumentVersion__fadeIn___EBbFb\",\"blinking\":\"DocumentVersion__blinking___wJojo\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './CheckboxCell.scss';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\n\ntype PropsT<TableRowT> = {\n    row: TableRowT;\n    selectedRowsSet: Set<TableRowT>;\n    onChange: (selectedRows: Set<TableRowT>) => void;\n    className?: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\nconst CheckboxCell = <TableRowT extends {}>(props: PropsT<TableRowT>) => {\n    const { row, selectedRowsSet, onChange, className } = props;\n\n    return (\n        <span onClick={(event) => event.stopPropagation()} className={className}>\n            <Checkbox\n                testSelector=\"row\"\n                checked={selectedRowsSet?.has(row)}\n                onChange={() => {\n                    const newSelectedRowsSet = new Set(selectedRowsSet || []);\n\n                    if (selectedRowsSet?.has(row)) {\n                        newSelectedRowsSet.delete(row);\n                    } else {\n                        newSelectedRowsSet.add(row);\n                    }\n\n                    onChange(newSelectedRowsSet);\n                }}\n                label={null}\n            />\n        </span>\n    );\n};\n\nexport default React.memo(CheckboxCell) as typeof CheckboxCell;\n","import { ApiTourStatusT, TourStatusEnum } from 'common/utils/api/models';\n\nexport const hideLoaderStatusSet = new Set<ApiTourStatusT | null | undefined>([\n    TourStatusEnum.canceled,\n    TourStatusEnum.finished,\n]);\n","import { FetchError } from './errors/fetch-error';\nimport { ApiRequestError, ApiRequestErrorTypeEnum } from './errors/api-request-error';\nimport { stringifyQuery } from '../stringify-query';\nimport { FetchConfigT } from './do-fetch-models';\nimport { logWarning } from 'common/utils/logger';\n\nconst tryParseJson = <D>(text: string, logAdditionalData: object): D | string => {\n    try {\n        return JSON.parse(text);\n    } catch (error) {\n        logWarning(`Couldn't parse JSON: \"${text}\". Error: \"${error.message}\"`, { text, ...logAdditionalData });\n        return text;\n    }\n};\n\nconst parseResponseContentType = (responseContentType: string | null): FetchConfigT['expectedResponseContentType'] => {\n    if (responseContentType?.includes('json')) {\n        return 'json';\n    }\n\n    if (\n        responseContentType?.includes('pdf') ||\n        responseContentType?.includes('image') ||\n        responseContentType?.includes('xml')\n    ) {\n        return 'blob';\n    }\n\n    return 'unknown';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst doFetch = async <D, E>(config: FetchConfigT): Promise<[ApiRequestError | null, D | null, Response?]> => {\n    try {\n        const controller = new AbortController();\n        const timeoutId = setTimeout(() => controller.abort(), config.timeout);\n\n        const options: RequestInit = {\n            method: config.method,\n            headers: config.headers,\n            signal: controller.signal,\n        };\n\n        if (config.data instanceof FormData) {\n            // browser automatically add this header with boundary\n            // @ts-ignore\n            delete options.headers['Content-Type'];\n        }\n\n        if (config.data) {\n            if (config.data instanceof FormData) {\n                options.body = config.data;\n            } else if (config.isRawData) {\n                options.body = config.data;\n            } else {\n                options.body = JSON.stringify(config.data);\n            }\n        }\n\n        let url = `${config.basepath}${config.path}`;\n        if (config.query) {\n            url = `${url}${stringifyQuery(config.query)}`;\n        }\n\n        const response = await fetch(url, options);\n        clearTimeout(timeoutId);\n\n        if (response.status < 200 || response.status >= 400) {\n            const rawResponseText = await response.text();\n\n            const fetchError = new FetchError({\n                message: `${response.status} status code`,\n                httpStatusCode: response.status,\n                requestConfig: config,\n                response: tryParseJson<D>(rawResponseText, {\n                    reason: 'not 200 status code',\n                    url,\n                    method: config.method,\n                    query: config.query,\n                    expectedResponseContentType: config.expectedResponseContentType,\n                }),\n            });\n\n            const apiError = new ApiRequestError(fetchError, ApiRequestErrorTypeEnum.badRequest);\n            return [apiError, null, response];\n        }\n\n        const rawResponseContentType = response.headers.get('content-type');\n        const responseContentType = parseResponseContentType(rawResponseContentType);\n        if (\n            config.expectedResponseContentType !== responseContentType &&\n            config.expectedResponseContentType !== 'unknown'\n        ) {\n            const fetchError = new FetchError({\n                message: `Wrong response type: ${config.expectedResponseContentType} !== ${responseContentType}`,\n                httpStatusCode: response.status,\n                requestConfig: config,\n                response: '',\n            });\n\n            const apiError = new ApiRequestError(fetchError, ApiRequestErrorTypeEnum.badRequest);\n            return [apiError, null, response];\n        }\n\n        switch (config.expectedResponseContentType) {\n            case 'blob': {\n                const rawResponseBlob = await response.blob();\n                // @ts-ignore\n                return [null, rawResponseBlob, response];\n                break;\n            }\n            case 'json': {\n                const rawResponseText = await response.text();\n                const parsedResponse = tryParseJson<D>(rawResponseText, {\n                    reason: 'try parse response',\n                    url,\n                    method: config.method,\n                    query: config.query,\n                    expectedResponseContentType: config.expectedResponseContentType,\n                });\n                // @ts-ignore\n                return [null, parsedResponse, response];\n            }\n            case 'unknown':\n            default: {\n                const rawResponseText = await response.text();\n                // @ts-ignore\n                return [null, rawResponseText, response];\n                break;\n            }\n        }\n    } catch (error) {\n        const errorMessage = error.message || 'Something went wrong';\n\n        if (errorMessage.toLowerCase().includes('aborted')) {\n            const fetchError = new FetchError({\n                message: `Timeout error: ${errorMessage}`,\n                httpStatusCode: 0,\n                requestConfig: config,\n                response: {},\n            });\n            const apiError = new ApiRequestError(fetchError, ApiRequestErrorTypeEnum.timeoutError);\n            return [apiError, null];\n        }\n\n        if (errorMessage.toLowerCase().includes('network') || errorMessage.toLowerCase().includes('failed to fetch')) {\n            const fetchError = new FetchError({\n                message: `Network error: ${errorMessage}`,\n                httpStatusCode: 0,\n                requestConfig: config,\n                response: {},\n            });\n            const apiError = new ApiRequestError(fetchError, ApiRequestErrorTypeEnum.networkError);\n            return [apiError, null];\n        }\n\n        const fetchError = new FetchError({\n            message: errorMessage,\n            httpStatusCode: 0,\n            requestConfig: config,\n            response: {},\n        });\n        const apiError = new ApiRequestError(fetchError, ApiRequestErrorTypeEnum.badRequest);\n        return [apiError, null];\n    }\n};\n\nexport default doFetch;\n","export enum FieldsEnum {\n    waypoints = 'waypoints',\n}\n\nexport enum WaypointsFieldEnum {\n    timeWindow = 'timeWindow',\n}\n\nexport type WaypointsFormValuesT = {\n    timeWindow: TimeWindowT | null;\n};\n\nexport type FormValuesT = {\n    waypoints: Array<WaypointsFormValuesT>;\n};\n\nexport type WaypointsFormErrorsT = Partial<{\n    timeWindow: FormErrorMessageT;\n}>;\n\nexport type FormErrorsT = Partial<{\n    waypoints: Array<WaypointsFormErrorsT>;\n}>;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"PartnersSuggest__option___TbWk_\",\"fadeIn\":\"PartnersSuggest__fadeIn___e4R2K\",\"blinking\":\"PartnersSuggest__blinking___bueNH\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { updateBegin, updateError, updateSuccess } from './actions';\nimport {\n    CANCEL_SPOT_REQUEST,\n    CANCEL_SPOT_REQUEST_BY_TOUR,\n    CancelSpotRequestActionT,\n    CancelSpotRequestByTourActionT,\n    SEND_TO_SPOT_BY_TOUR,\n    SendToSpotByTourActionT,\n} from './types';\nimport { selectSpotUpdateRequestStatus } from './selectors';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { fetchBrokerOrderDetails } from 'broker-admin/store/broker-order-details/slice';\nimport spotBrokerTranziitApi from 'broker-admin/utils/api/spot-broker-tranziit/api';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { BrokerAlertTypeEnum, BrokerAnyAlert } from 'broker-admin/components/toasts/models';\nimport { selectSpotRequestDetails } from 'broker-admin/store/spot-request-details/selectors';\nimport { fetchSpotRequestDetails } from 'broker-admin/store/spot-request-details/actions';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport { spotRequestsRefreshChannel } from 'broker-admin/store/spot-requests/channels';\nimport { spotRequestsStatsRefreshChannel } from 'broker-admin/store/spot-requests-stats/channels';\nimport { updateSpotRefreshChannel } from 'broker-admin/store/spot/channels';\n\nfunction* refreshBrokerOrderDetails(brokerOrderId: BrokerOrderIdT): WrapGeneratorT<void> {\n    yield put(fetchBrokerOrderDetails({ id: brokerOrderId, options: { isForceUpdate: true } }));\n}\n\nfunction* refreshSpotRequestDetails(spotRequestId: SpotRequestIdT): WrapGeneratorT<void> {\n    yield put(fetchSpotRequestDetails(spotRequestId, { isForceUpdate: true }));\n}\n\nfunction* cancelSpotByTour(tourIds: Array<TourIdT>): WrapGeneratorT<void> {\n    yield put(updateBegin());\n\n    let error: Error | null = null;\n    for (const tourId of tourIds) {\n        const response: ReturnApiT<typeof spotBrokerTranziitApi.cancelSpotRequestByTour> =\n            yield spotBrokerTranziitApi.cancelSpotRequestByTour(tourId);\n\n        const responseError = response[0] || null;\n        if (responseError) {\n            error = responseError;\n            break;\n        }\n    }\n\n    if (error) {\n        yield put(updateError(error));\n        return;\n    }\n\n    yield put(updateSuccess());\n}\n\nfunction* cancelSpotById(spotRequestId: SpotRequestIdT): WrapGeneratorT<void> {\n    yield put(updateBegin());\n\n    const [error]: ReturnApiT<typeof spotBrokerTranziitApi.cancelSpotRequest> =\n        yield spotBrokerTranziitApi.cancelSpotRequest(spotRequestId);\n\n    if (error) {\n        yield put(updateError(error));\n        return;\n    }\n\n    yield put(updateSuccess());\n}\n\nfunction* cancelSpotSaga(action: CancelSpotRequestActionT): WrapGeneratorT<void> {\n    const { spotRequestId } = action;\n\n    const requestStatus: ReturnType<typeof selectSpotUpdateRequestStatus> = yield select(selectSpotUpdateRequestStatus);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield cancelSpotById(spotRequestId);\n\n    yield put(\n        addAlert(\n            new BrokerAnyAlert({\n                type: BrokerAlertTypeEnum.spotRequestCancelled,\n                data: {},\n            }),\n        ),\n    );\n\n    const { details }: ReReturnT<typeof selectSpotRequestDetails> = yield select(\n        selectSpotRequestDetails(spotRequestId),\n    );\n    if (details?.orderId) {\n        yield refreshBrokerOrderDetails(details?.orderId);\n    }\n\n    spotRequestsRefreshChannel.emit({});\n    spotRequestsStatsRefreshChannel.emit({});\n\n    yield refreshSpotRequestDetails(spotRequestId);\n}\n\nfunction* cancelSpotByTourSaga(action: CancelSpotRequestByTourActionT): WrapGeneratorT<void> {\n    const { tourId } = action;\n\n    const requestStatus: ReturnType<typeof selectSpotUpdateRequestStatus> = yield select(selectSpotUpdateRequestStatus);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield cancelSpotByTour([tourId]);\n\n    yield put(\n        addAlert(\n            new BrokerAnyAlert({\n                type: BrokerAlertTypeEnum.spotRequestCancelled,\n                data: {},\n            }),\n        ),\n    );\n\n    updateSpotRefreshChannel.emit({});\n}\n\nfunction* sendToSpotByTourSaga(action: SendToSpotByTourActionT): WrapGeneratorT<void> {\n    const requestStatus: ReturnType<typeof selectSpotUpdateRequestStatus> = yield select(selectSpotUpdateRequestStatus);\n    if (requestStatus.loading) {\n        return;\n    }\n\n    const { tourId, deadline, comment } = action;\n\n    yield put(updateBegin());\n\n    const response: ReturnApiT<typeof brokerTranziitApi.sentTransportOrderToSpot> =\n        yield brokerTranziitApi.sentTransportOrderToSpot(tourId, { comment, deadline });\n\n    const error = response[0] || null;\n    if (error) {\n        yield put(updateError(error));\n        return;\n    }\n\n    yield put(updateSuccess());\n\n    stateMachineRefreshChannel.emit({});\n}\n\nfunction* spotSaga(): WrapGeneratorT<void> {\n    yield takeEvery(SEND_TO_SPOT_BY_TOUR, sendToSpotByTourSaga);\n    yield takeEvery(CANCEL_SPOT_REQUEST_BY_TOUR, cancelSpotByTourSaga);\n    yield takeEvery(CANCEL_SPOT_REQUEST, cancelSpotSaga);\n}\n\nexport default spotSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"PaperPlaceholder__content___c4t7h\",\"fadeIn\":\"PaperPlaceholder__fadeIn___YF9jE\",\"blinking\":\"PaperPlaceholder__blinking___pu48f\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const trucksRefreshChannel = new ViewEventChannel<{}>();\n\nexport const truckDetailsRefreshChannel = new ViewEventChannel<{}>();\n\nexport const trucksPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useSelector } from 'react-redux';\nimport { selectSpotUpdateRequestStatus } from 'broker-admin/store/spot/selectors';\n\nexport type CancelSpotRequestConfirmationDataT = {\n    tourId: TourIdT;\n};\n\ntype PropsT = {\n    data: CancelSpotRequestConfirmationDataT | null;\n    onConfirmation: (data: CancelSpotRequestConfirmationDataT) => void;\n    onCancel: () => void;\n    onClose: () => void;\n};\n\nconst TEST_SELECTOR = 'clear-assets-confirmation';\n\nconst CancelSpotRequestConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onConfirmation, onCancel, onClose } = props;\n\n    const requestStatus = useSelector(selectSpotUpdateRequestStatus);\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.keep'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            isLoading: requestStatus.loading,\n                            isDisabled: requestStatus.loading,\n                            onClick: () => {\n                                onConfirmation(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t('broker-order-details.dialogs.cancel-spot-request.title')}\n                    message={t('broker-order-details.dialogs.cancel-spot-request.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelSpotRequestConfirmation;\n","import React from 'react';\nimport classNames from 'classnames/bind';\nimport moment from 'moment';\n\nimport styles from './ContactDetailsSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport { CompanyContactDetailsT } from 'common/store/members/models';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectCountriesByCode, selectCountriesByLangCode } from 'common/store/countries-dict/selectors';\nimport PhoneNumberIcon from 'common/components/PhoneNumberIcon/PhoneNumberIcon';\nimport { isNonNil } from 'common/utils';\nimport chunk from 'lodash/chunk';\nimport { FORMAL_T_MAP } from 'common/components/dropdowns/UserFormalDropdown/UserFormalDropdown';\nimport { logWarning } from 'common/utils/logger';\nimport { ApiNewUserRoleT, ContactPositionsEnum, CountryCodeT } from 'common/utils/api/models';\nimport Checkbox from 'design-system/components/Checkbox/Checkbox';\nimport PositionOption from 'common/layouts/Members/PositionOption/PositionOption';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { ContactDetailsSidebarDataT } from 'common/layouts/SideBars/contents/ContactDetailsSidebarContent/models';\nimport {\n    selectContactDetailsById,\n    selectContactIdByUserId,\n    selectDeleteMemberRequest,\n    selectFetchContactDetailsRequest,\n    selectUpdateMemberRequest,\n} from 'common/store/members/selectors';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport ContactSidebarHeader from 'common/layouts/Members/ContactSidebarHeader/ContactSidebarHeader';\nimport {\n    changeUserRole,\n    deleteContact,\n    deleteUser,\n    fetchContactDetails,\n    fetchContactDetailsByUserId,\n    restoreUser,\n} from 'common/store/members/actions';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport ChangeUserRoleModal, {\n    ChangeUserRoleModalDataT,\n    ChangeUserRoleModalPropsT,\n} from 'common/layouts/Members/dialogs/ChangeUserRoleModal/ChangeUserRoleModal';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport DeactivateUserModal, {\n    DeactivateUserModalDataT,\n    DeactivateUserModalPropsT,\n} from 'common/layouts/Members/dialogs/DeactivateUserModal/DeactivateUserModal';\nimport DeleteContactConfirmation, {\n    DeleteContactConfirmationDataT,\n    DeleteContactConfirmationPropsT,\n} from 'common/layouts/Members/dialogs/DeleteContactConfirmation/DeleteContactConfirmation';\nimport { useActionOptions } from 'common/layouts/SideBars/contents/ContactDetailsSidebarContent/hooks/use-action-options';\nimport RestoreUserConfirmation, {\n    RestoreUserConfirmationDataT,\n    RestoreUserConfirmationPropsT,\n} from 'common/layouts/Members/dialogs/RestoreUserConfirmation/RestoreUserConfirmation';\nimport ChangeUserRoleConfirmation, {\n    ChangeUserRoleConfirmationDataT,\n    ChangeUserRoleConfirmationPropsT,\n} from 'common/layouts/Members/dialogs/ChangeUserRoleConfirmation/ChangeUserRoleConfirmation';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport { contactDetailsCompanyTypeMap } from 'common/store/members/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<ContactDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst formatBirthday = (birthday: string) => moment(birthday, 'YYYY-MM-DD').format('DD.MM.YYYY');\n\nconst ContactDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onClose, onGoBack, onOpenNextSidebar } = props;\n\n    const { t } = useTranslation();\n\n    const permissions = useSelector(selectPermissions);\n\n    const contactDetailsRequestStatus = useSelector(selectFetchContactDetailsRequest);\n    const isLoading = contactDetailsRequestStatus.loading;\n\n    const contactDetailsById = useSelector(selectContactDetailsById);\n    const contactIdByUserId = useSelector(selectContactIdByUserId);\n\n    let contactDetails: CompanyContactDetailsT | null = null;\n\n    if ('contactId' in data) {\n        contactDetails = contactDetailsById[data.contactId] || null;\n    }\n\n    if ('userId' in data) {\n        const contactId = contactIdByUserId[data.userId];\n        contactDetails = contactDetailsById[contactId] || null;\n    }\n\n    const contactCompanyType = contactDetails?.companyType || null;\n    const partnerType =\n        data?.partnerType || (contactCompanyType && contactDetailsCompanyTypeMap[contactCompanyType]) || null;\n\n    const contactCompanyId = contactDetails?.companyId || null;\n    const partnerId = data?.partnerId || contactCompanyId || null;\n\n    const handleEditContact = () => {\n        if (!contactDetails?.id) {\n            logWarning('failed to open edit contact, empty contactDetails?.id');\n            return;\n        }\n\n        if (!partnerId) {\n            logWarning('failed to open edit contact, empty data.partnerId');\n            return;\n        }\n\n        onOpenNextSidebar({\n            contactId: contactDetails.id,\n            partnerId,\n            type: CommonSidebarsTypeEnum.editContact,\n        });\n    };\n\n    const deleteMemberRequestStatus = useSelector(selectDeleteMemberRequest(partnerId));\n    const updateMemberRequestStatus = useSelector(selectUpdateMemberRequest(partnerId));\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if ('contactId' in data) {\n            dispatch(fetchContactDetails(data.contactId));\n        }\n        if ('userId' in data) {\n            dispatch(fetchContactDetailsByUserId(data.userId));\n        }\n    }, [dispatch, data]);\n\n    const changeUserRoleModalDialog = useModalDialog<ChangeUserRoleModalDataT>();\n    const handleShowChangeUserRoleModalDialog = React.useCallback(\n        (contact: CompanyContactDetailsT): void => {\n            if (!partnerType) {\n                logWarning('failed to show change user role modal, empty partnerType');\n                return;\n            }\n\n            if (!partnerId) {\n                logWarning('failed to show change user role modal, empty partnerId');\n                return;\n            }\n\n            changeUserRoleModalDialog.setData({\n                partnerType,\n                partnerId,\n                contact: {\n                    userId: contact.userId,\n                    roles: contact.roles,\n                    fullName: contact.fullName,\n                },\n            });\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [partnerType, partnerId],\n    );\n\n    const changeUserRoleConfirmationDialog = useModalDialog<ChangeUserRoleConfirmationDataT>();\n    const handleChangeUserRole: ChangeUserRoleModalPropsT['onChangeUserRole'] = React.useCallback(\n        ({ data, changes }): void => {\n            if (!data?.partnerId) {\n                return;\n            }\n\n            changeUserRoleModalDialog.onClose();\n            changeUserRoleConfirmationDialog.setData({\n                ...data,\n                changes,\n            });\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [],\n    );\n\n    const handleConfirmChangeUserRole: ChangeUserRoleConfirmationPropsT['onConfirm'] = React.useCallback(\n        (data) => {\n            if (!partnerId) {\n                logWarning('failed to confirm change user role, empty partnerId');\n                return;\n            }\n\n            dispatch(changeUserRole(data.changes.roles as ApiNewUserRoleT[], data.changes.userId, partnerId));\n        },\n        [dispatch, partnerId],\n    );\n\n    const deactivateUserModalDialog = useModalDialog<DeactivateUserModalDataT>();\n    const handleShowDeactivateUserModalDialog = React.useCallback(\n        (contact: CompanyContactDetailsT): void => {\n            if (!partnerType) {\n                logWarning('failed to show deactivate user modal, empty partnerType');\n                return;\n            }\n\n            if (!partnerId) {\n                logWarning('failed to show deactivate user modal, empty partnerId');\n                return;\n            }\n\n            deactivateUserModalDialog.setData({\n                partnerType,\n                partnerId,\n                contact: {\n                    userId: contact.userId,\n                    roles: contact.roles,\n                    fullName: contact.fullName,\n                },\n            });\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [partnerType, partnerId],\n    );\n\n    const handleDeactivateUser: DeactivateUserModalPropsT['onDeactivateUser'] = React.useCallback(\n        ({ data, changes }): void => {\n            if (!data?.partnerId) {\n                return;\n            }\n\n            dispatch(deleteUser(changes.userId, data.partnerId));\n        },\n        [dispatch],\n    );\n\n    const deleteContactConfirmation = useModalDialog<DeleteContactConfirmationDataT>();\n    const handleDeleteContactModalDialog = (contact: CompanyContactDetailsT) => {\n        if (!contact?.id) {\n            logWarning('failed to show delete contact modal, empty contact?.id');\n            return;\n        }\n\n        if (!partnerId) {\n            logWarning('failed to show delete contact modal, empty partnerId');\n            return;\n        }\n\n        deleteContactConfirmation.setData({\n            contactId: contact.id,\n            partnerId,\n        });\n    };\n\n    const handleConfirmDeleteContact: DeleteContactConfirmationPropsT['onConfirm'] = React.useCallback(\n        (partnerId, contactId) => {\n            if (!contactId) {\n                logWarning('empty contactId');\n                return;\n            }\n\n            dispatch(deleteContact(contactId, partnerId));\n        },\n        [dispatch],\n    );\n\n    const restoreUserConfirmationDialog = useModalDialog<RestoreUserConfirmationDataT>();\n    const handleShowRestoreUserModalDialog = (contact: CompanyContactDetailsT) => {\n        if (!contact.id) {\n            logWarning('failed to show restore user modal, empty contact.id');\n            return;\n        }\n\n        if (!partnerId) {\n            logWarning('failed to show restore user modal, empty partnerId');\n            return;\n        }\n\n        restoreUserConfirmationDialog.setData({\n            contactId: contact.id,\n            partnerId,\n        });\n    };\n    const handleConfirmRestoreUser: RestoreUserConfirmationPropsT['onConfirm'] = React.useCallback(\n        (userId, partnerId): void => {\n            dispatch(restoreUser(userId, partnerId));\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [dispatch, partnerId],\n    );\n\n    useCloseModalDialogAfterRequest(updateMemberRequestStatus, [\n        changeUserRoleModalDialog,\n        changeUserRoleConfirmationDialog,\n        deactivateUserModalDialog,\n        restoreUserConfirmationDialog,\n    ]);\n    useCloseModalDialogAfterRequest(deleteMemberRequestStatus, [deleteContactConfirmation]);\n\n    const headerActionOptions = useActionOptions(t, permissions, contactDetails, {\n        onChangeUserRole: handleShowChangeUserRoleModalDialog,\n        onDeactivateUser: handleShowDeactivateUserModalDialog,\n        onDeleteContact: handleDeleteContactModalDialog,\n        onEditContact: handleEditContact,\n        onRestoreUser: handleShowRestoreUserModalDialog,\n    });\n\n    const countryByCode = useSelector(selectCountriesByCode);\n    const countryByLangCode = useSelector(selectCountriesByLangCode);\n\n    const mediasNodes = [\n        <ReadOnlyField\n            key=\"email\"\n            className={cx('field--contact')}\n            label={t('common:team-members.edit-contact.fields.email.label')}\n            value={contactDetails?.email || ''}\n        />,\n        <ReadOnlyField\n            key=\"mobile-phone\"\n            icon={<PhoneNumberIcon phoneNumber={contactDetails?.mobilePhone} />}\n            className={cx('field--contact')}\n            label={t('common:team-members.edit-contact.fields.mobile-phone.label')}\n            value={contactDetails?.mobilePhone || ''}\n        />,\n        <ReadOnlyField\n            key=\"contact\"\n            icon={<PhoneNumberIcon phoneNumber={contactDetails?.deskPhone} />}\n            className={cx('field--contact')}\n            label={t('common:team-members.edit-contact.fields.desktop-phone.label')}\n            value={contactDetails?.deskPhone || ''}\n        />,\n        contactDetails?.fax ? (\n            <ReadOnlyField\n                key=\"fax\"\n                className={cx('field--contact')}\n                label={t('common:team-members.edit-contact.fields.fax-number.label')}\n                value={contactDetails?.fax || ''}\n            />\n        ) : null,\n        <ReadOnlyField\n            key=\"link\"\n            className={cx('field--link')}\n            label={t('common:team-members.edit-contact.fields.webpage-link.label')}\n            value={contactDetails?.website || ''}\n        />,\n        ...(contactDetails?.medias || []).map((media, index) => {\n            if (typeof media.login !== 'string') {\n                return null;\n            }\n\n            return (\n                <ReadOnlyField\n                    key={index}\n                    className={cx('field--contact')}\n                    label={t(`common:team-members.edit-contact.fields.${media.type}.label`)}\n                    value={media.login || ''}\n                />\n            );\n        }),\n    ].filter(isNonNil);\n\n    const mediaChunks = chunk(mediasNodes, 2);\n\n    return (\n        <>\n            {isLoading && <LoaderOverlay />}\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    onGoBack={onGoBack}\n                    title={contactDetails ? <ContactSidebarHeader contactDetails={contactDetails} /> : null}\n                    dropdownOptions={headerActionOptions}\n                    onClose={onClose}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>{t('common:team-members.details.sections.name')}</div>\n                    <FieldGroup>\n                        <ReadOnlyField\n                            className={cx('field--formal')}\n                            label={t('common:team-members.edit-contact.fields.formal.label')}\n                            value={contactDetails?.formal ? t(FORMAL_T_MAP[contactDetails?.formal]) : ''}\n                            placeholder={t('common:team-members.edit-contact.fields.formal.placeholder')}\n                        />\n                        <ReadOnlyField\n                            className={cx('field--first-name')}\n                            label={t('common:team-members.edit-contact.fields.first-name.label')}\n                            value={contactDetails?.name || ''}\n                        />\n                        <ReadOnlyField\n                            className={cx('field--last-name')}\n                            label={t('common:team-members.edit-contact.fields.last-name.label')}\n                            value={contactDetails?.surname || ''}\n                        />\n                    </FieldGroup>\n                </div>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>\n                        {t('common:team-members.edit-contact.sections.position')}\n                    </div>\n                    <div className={cx('section__block')}>\n                        <FieldGroup>\n                            {!!contactDetails?.position && (\n                                <PositionOption\n                                    isDisabled\n                                    value={contactDetails.position as ContactPositionsEnum}\n                                    selectedValue={contactDetails.position as ContactPositionsEnum}\n                                />\n                            )}\n                            {!!contactDetails && (\n                                <Checkbox\n                                    isDisabled\n                                    checked={!!contactDetails?.main}\n                                    label={\n                                        <span className={cx('checkbox__label')}>\n                                            {t('common:team-members.edit-contact.fields.default.label')}\n                                        </span>\n                                    }\n                                />\n                            )}\n                        </FieldGroup>\n                    </div>\n                </div>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>{t('common:team-members.details.sections.contacts')}</div>\n                    {mediaChunks.map((chunk, chunkIndex) => (\n                        <FieldGroup key={chunkIndex}>{chunk}</FieldGroup>\n                    ))}\n                </div>\n                <div className={cx('section', 'section--isLast')}>\n                    <div className={cx('section__title')}>{t('common:team-members.details.sections.personals')}</div>\n                    <FieldGroup>\n                        <ReadOnlyField\n                            className={cx('field--birthday')}\n                            label={t('common:team-members.edit-contact.fields.birthday.label')}\n                            value={contactDetails?.birthday ? formatBirthday(contactDetails?.birthday) : ''}\n                            placeholder={t('common:team-members.edit-contact.fields.birthday.placeholder')}\n                        />\n                        <ReadOnlyField\n                            className={cx('field--country')}\n                            label={t('common:team-members.edit-contact.fields.residence.label')}\n                            icon={<FlagIcon countryCode={contactDetails?.residence} />}\n                            value={\n                                countryByCode[contactDetails?.residence as CountryCodeT]?.userLangDisplayName || null\n                            }\n                            placeholder={t('common:fields.placeholder.not-specified')}\n                        />\n                    </FieldGroup>\n                    <ReadOnlyField\n                        className={cx('field--language')}\n                        label={t('common:team-members.edit-contact.fields.language.label')}\n                        value={countryByLangCode[contactDetails?.language as string]?.name || null}\n                        placeholder={t('common:fields.placeholder.not-specified')}\n                    />\n                </div>\n            </SideBarLayout>\n            {deactivateUserModalDialog.data && (\n                <DeactivateUserModal\n                    data={deactivateUserModalDialog.data}\n                    onClose={deactivateUserModalDialog.onClose}\n                    onCancel={deactivateUserModalDialog.onCancel}\n                    onDeactivateUser={handleDeactivateUser}\n                />\n            )}\n            {changeUserRoleModalDialog.data && (\n                <ChangeUserRoleModal\n                    data={changeUserRoleModalDialog.data}\n                    onClose={changeUserRoleModalDialog.onClose}\n                    onChangeUserRole={handleChangeUserRole}\n                />\n            )}\n            <ChangeUserRoleConfirmation\n                data={changeUserRoleConfirmationDialog.data}\n                onClose={changeUserRoleConfirmationDialog.onClose}\n                onConfirm={handleConfirmChangeUserRole}\n            />\n            {restoreUserConfirmationDialog.data && (\n                <RestoreUserConfirmation\n                    data={restoreUserConfirmationDialog.data}\n                    onClose={restoreUserConfirmationDialog.onClose}\n                    onConfirm={handleConfirmRestoreUser}\n                />\n            )}\n            {deleteContactConfirmation.data && (\n                <DeleteContactConfirmation\n                    data={deleteContactConfirmation.data}\n                    onClose={deleteContactConfirmation.onClose}\n                    onCancel={deleteContactConfirmation.onCancel}\n                    onConfirm={handleConfirmDeleteContact}\n                />\n            )}\n        </>\n    );\n};\n\nexport default ContactDetailsSidebarContent;\n","import * as React from 'react';\nimport { useEffect } from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TrailersPageLayout.scss';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport { AssetTypeEnum, DEFAULT_CARRIER_COMPANY_ID, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport {\n    ApiChangeContractVehiclesRequestT,\n    ApiChangeRateVehiclesRequestT,\n    TrailersSortEnum,\n} from 'common/utils/api/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectAddTrailerRequestStatus,\n    selectTrailersByIds,\n    selectTrailersExportXLSRequest,\n    selectTrailersImportXLSRequest,\n    selectTrailersPages,\n    selectTrailersStats,\n    selectTrailersTotal,\n    selectUpdateTrailersRequestStatus,\n} from 'common/store/trailers/selectors';\nimport {\n    activationTrailersRequest,\n    archiveTrailersRequest,\n    assignToContractRequest,\n    changeRateTrailersRequest,\n    exportXLSTrailers,\n    fetchTrailersPage,\n    fetchTrailersStats,\n    importXLSTrailers,\n} from 'common/store/trailers/actions';\nimport { ActivateTrailersRequestT, ApiTrailerT } from 'common/store/trailers/models';\nimport TrailersTable from './TrailersTable/TrailersTable';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport TableActions, { TableActionOptionT } from 'common/components/Table/TableActions/TableActions';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\n\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport { isNonNil } from 'common/utils';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport map from 'lodash/map';\nimport { QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { TabEnum } from './constants';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport ArchiveAssetConfirmationModal, {\n    ArchiveAssetConfirmationDataT,\n} from 'common/layouts/dialogs/ArchiveAssetConfirmationModal/ArchiveAssetConfirmationModal';\nimport ActivateAssetDialogModal, {\n    ActivateAssetConfirmationDataT,\n} from 'common/layouts/dialogs/ActivateAssetDialogModal/ActivateAssetDialogModal';\nimport { selectSetUnavailableVehicleRequestStatus } from 'common/store/vehicle-schedules/selectors';\nimport HollowCircleIcon from 'common/icons/HollowCircleIcon';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { trailersPaginationChannel, trailersRefreshChannel } from 'common/store/trailers/channels';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport ActiveFleetCount from './ActiveFleetCount/ActiveFleetCount';\nimport { useQueryParams, withDefault } from 'use-query-params';\nimport { createEnumParam } from 'serialize-query-params/src/params';\nimport { useCheckOpenedSidebar, useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport ButtonGroup from 'design-system/components/ButtonGroup/ButtonGroup';\nimport AssetsXLSDropdownControl from 'common/components/controls/AssetsXLSDropdownControl/AssetsXLSDropdownControl';\nimport { useImportXLSAssetsModalDialog } from 'common/layouts/dialogs/ImportXLSAssetsDialogModal/hooks/useImportXLSAssetsModalDialog';\nimport ImportXLSAssetsDialogModal, {\n    ImportXLSAssetsDialogModalDataT,\n} from 'common/layouts/dialogs/ImportXLSAssetsDialogModal/ImportXLSAssetsDialogModal';\nimport ChangeRateOrContractAssetDialogModal, {\n    ChangeRateOrContractAssetDialogModalDataT,\n} from 'common/layouts/dialogs/ChangeRateOrContractAssetDialogModal/ChangeRateOrContractAssetDialogModal';\nimport { SpecialOptionEnum } from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport PaperIcon from 'common/icons/PaperIcon';\nimport usePartnerPermissionsContext from 'common/utils/hooks/usePartnerPermissionsContext';\nimport { logWarning } from 'common/utils/logger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onOpenUserDetails: (userId: UserIdT | null) => void;\n};\n\nconst getTrailerIds = (selectedTrailersSet: Set<ApiTrailerT>): Array<string> => {\n    return [...selectedTrailersSet].map((trailer) => trailer.id).filter(isNonNil);\n};\n\nconst TAB_LABEL_T: Record<TabEnum, string> = {\n    [TabEnum.active]: 'common:trailers-page.tabs.active',\n    [TabEnum.archive]: 'common:trailers-page.tabs.archive',\n};\n\nconst SORT_LABELS_T: Record<TrailersSortEnum, string> = {\n    [TrailersSortEnum.createdDate]: 'common:trailers-page.sorts.triggers.creation-date',\n    [TrailersSortEnum.archiveDate]: 'common:trailers-page.sorts.triggers.archive-date',\n};\n\nconst TrailersPageLayout: React.FC<PropsT> = React.memo((props) => {\n    const { onOpenUserDetails } = props;\n\n    const partnerPermissions = usePartnerPermissionsContext();\n\n    const { partnerId } = usePartnerContext();\n\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.trailersPage]: createPageNumberParam(),\n        [QueryKeysEnum.trailersSort]: createSortParams<TrailersSortEnum>({\n            value: TrailersSortEnum.createdDate,\n            direction: SortDirectionEnum.DESC,\n        }),\n        [QueryKeysEnum.trailersFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.trailersTab]: withDefault(createEnumParam<TabEnum>(Object.values(TabEnum)), TabEnum.active),\n    });\n\n    const [selectedTrailersSet, setSelectedTrailersSet] = React.useState<Set<ApiTrailerT>>(new Set());\n\n    const total = useSelector(selectTrailersTotal(partnerId));\n    const trailersPages = useSelector(selectTrailersPages(partnerId));\n    const trailerById = useSelector(selectTrailersByIds(partnerId));\n    const updateTrailersRequestStatus = useSelector(selectUpdateTrailersRequestStatus(partnerId));\n\n    const selectedSort = query[QueryKeysEnum.trailersSort];\n    const pageNumber = query[QueryKeysEnum.trailersPage];\n    const queryFilters = query[QueryKeysEnum.trailersFilters];\n\n    const activeTab = query[QueryKeysEnum.trailersTab];\n    const page = trailersPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in TrailersPageLayout useEffect');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(fetchTrailersPage(pageNumber, query, partnerId));\n\n        dispatch(fetchTrailersStats(partnerId));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, activeTab, partnerId]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(fetchTrailersPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n\n        dispatch(fetchTrailersStats(partnerId, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, queryFilters, selectedSort, activeTab, partnerId]);\n    useChannelSubscribe(trailersRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(fetchTrailersPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, queryFilters, selectedSort, activeTab, partnerId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(fetchTrailersPage(pageNumber, query, partnerId, { isForceUpdate: false }));\n\n        dispatch(fetchTrailersStats(partnerId, { isForceUpdate: false }));\n    }, [dispatch, pageNumber, queryFilters, selectedSort, activeTab, partnerId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const trailers = React.useMemo(() => {\n        return (ids || []).map((id): ApiTrailerT => trailerById[id as string]).filter(isNonNil);\n    }, [ids, trailerById]);\n\n    React.useEffect(() => {\n        setSelectedTrailersSet(new Set());\n    }, [ids]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            setSelectedTrailersSet(new Set());\n\n            changeQuery({\n                [QueryKeysEnum.trailersPage]: pageNumber,\n            });\n        },\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [setSelectedTrailersSet, query],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof trailersPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(trailersPaginationChannel, setPageHandler);\n\n    const sortOptions: Array<SortDropdownOptionT<TrailersSortEnum>> = React.useMemo(() => {\n        return [TrailersSortEnum.createdDate, activeTab === TabEnum.archive ? TrailersSortEnum.archiveDate : null]\n            .filter(isNonNil)\n            .map((sort) => {\n                return {\n                    label: t(SORT_LABELS_T[sort]),\n                    value: sort,\n                };\n            });\n    }, [t, activeTab]);\n\n    const handleSelectSort = (sort: PageSortT<TrailersSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.trailersPage]: 0,\n            [QueryKeysEnum.trailersSort]: sort,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        changeQuery({\n            [QueryKeysEnum.trailersPage]: 0,\n            [QueryKeysEnum.trailersFilters]: selectedQueryFilters,\n        });\n    };\n\n    const resetQueryFilters = () => {\n        changeQuery({\n            [QueryKeysEnum.trailersFilters]: undefined,\n        });\n    };\n\n    const addRequestStatus = useSelector(selectAddTrailerRequestStatus(partnerId));\n    React.useEffect(() => {\n        if (addRequestStatus.ok) {\n            changeQuery({\n                [QueryKeysEnum.trailersFilters]: undefined,\n                [QueryKeysEnum.trailersPage]: 0,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [addRequestStatus.ok]);\n\n    const archiveAssetConfirmation = useModalDialog<ArchiveAssetConfirmationDataT>();\n    const activateAssetConfirmation = useModalDialog<ActivateAssetConfirmationDataT>();\n    const changeRateOrContractConfirmation = useModalDialog<ChangeRateOrContractAssetDialogModalDataT>();\n\n    const trailersStats = useSelector(selectTrailersStats(partnerId));\n\n    const tableActionOptions: Array<TableActionOptionT | SpecialOptionEnum | null> = [\n        ...(activeTab === TabEnum.active\n            ? [\n                  {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={\n                                  <PaperIcon\n                                      size={DEFAULT_ICON_SIZE}\n                                      strokeColor={StyleGuideColorsEnum.charcoal}\n                                      fillColor={StyleGuideColorsEnum.transparent}\n                                  />\n                              }\n                              label={t('common:trucks-page.actions.change-rate-or-contract')}\n                          />\n                      ),\n                      onSelect: () => {\n                          if (!partnerId) {\n                              logWarning('Empty partnerId in changeRateOrContract onSelect');\n                              return;\n                          }\n                          const ids = getTrailerIds(selectedTrailersSet);\n\n                          changeRateOrContractConfirmation.setData({\n                              assets: ids.map((id) => {\n                                  return {\n                                      id,\n                                  };\n                              }),\n                              companyId: partnerId,\n                          });\n                      },\n                  },\n                  SpecialOptionEnum.separator,\n                  {\n                      label: (\n                          <DropdownControlOptionLabel\n                              icon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                              label={t('common:trailers-page.actions.archive')}\n                          />\n                      ),\n                      onSelect: () => {\n                          if (!partnerId) {\n                              logWarning('Empty partnerId in archiveAsset onSelect');\n                              return;\n                          }\n                          const ids = getTrailerIds(selectedTrailersSet);\n\n                          archiveAssetConfirmation.setData({\n                              assets: ids.map((id) => {\n                                  return {\n                                      id,\n                                      plateNumber: trailerById[id]?.plateNumber || '',\n                                  };\n                              }),\n                              companyId: partnerId,\n                          });\n                      },\n                  },\n              ]\n            : []),\n        activeTab === TabEnum.archive\n            ? {\n                  label: (\n                      <DropdownControlOptionLabel\n                          icon={<HollowCircleIcon borderColor={StyleGuideColorsEnum.brandAccent} />}\n                          label={t('common:trailers-page.actions.activate')}\n                      />\n                  ),\n                  onSelect: () => {\n                      if (!partnerId) {\n                          logWarning('Empty partnerId in activateAsset onSelect');\n                          return;\n                      }\n                      const ids = getTrailerIds(selectedTrailersSet);\n\n                      activateAssetConfirmation.setData({\n                          assets: ids.map((id) => {\n                              const trailer = trailerById[id];\n\n                              return {\n                                  id,\n                                  plateNumber: trailer?.plateNumber || '',\n                                  ratePerKm: null,\n                                  contractId: null, // archived assets always have no contract\n                              };\n                          }),\n                          companyId: partnerId,\n                      });\n                  },\n              }\n            : null,\n    ];\n\n    const importXLSAssetsModalDialog = useImportXLSAssetsModalDialog();\n\n    const isDisabledTableActions = updateTrailersRequestStatus.loading;\n\n    const handleSelectRow = (event: React.MouseEvent, trailer: ApiTrailerT) => {\n        if (!trailer.id) {\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleSelectRow');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            trailerId: trailer.id,\n            partnerId,\n        });\n    };\n\n    const isPartner = partnerId !== DEFAULT_CARRIER_COMPANY_ID;\n\n    const handleSelectTab = (tab: TabEnum): void => {\n        changeQuery({\n            [QueryKeysEnum.trailersPage]: 0,\n            [QueryKeysEnum.trailersTab]: tab,\n            [QueryKeysEnum.trailersSort]: undefined,\n        });\n    };\n\n    const tabsNode = (\n        <ButtonGroup\n            className={cx('tabs', {\n                'tabs--isPartner': isPartner,\n            })}\n        >\n            {map(TabEnum, (tab) => (\n                <Button\n                    horizontalSpaces=\"s\"\n                    key={tab}\n                    className={cx('tabs__tab')}\n                    leftIcon={tab === TabEnum.active && !!trailersStats?.actualTotalCount ? <ActiveFleetCount /> : null}\n                    theme={ButtonThemeEnum.transparent}\n                    onClick={() => {\n                        handleSelectTab(tab);\n                    }}\n                    isToggled={tab === activeTab}\n                >\n                    {t(TAB_LABEL_T[tab])}\n                </Button>\n            ))}\n        </ButtonGroup>\n    );\n\n    const setUnavailableStatus = useSelector(selectSetUnavailableVehicleRequestStatus);\n    const updateRequestStatus = useSelector(selectUpdateTrailersRequestStatus(partnerId));\n\n    useEffect(() => {\n        setSelectedTrailersSet(new Set());\n    }, [setUnavailableStatus, updateRequestStatus]);\n\n    useCloseModalDialogAfterRequest(updateRequestStatus, [\n        activateAssetConfirmation,\n        archiveAssetConfirmation,\n        changeRateOrContractConfirmation,\n    ]);\n\n    const importXLSRequestStatus = useSelector(selectTrailersImportXLSRequest(partnerId));\n    useCloseModalDialogAfterRequest(importXLSRequestStatus, [importXLSAssetsModalDialog]);\n\n    const handleImportXLS = (data: ImportXLSAssetsDialogModalDataT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleImportXLS');\n            return;\n        }\n        dispatch(importXLSTrailers(partnerId, data.file));\n    };\n\n    const handleConfirmChangeContract = (\n        changeContractRequest: ApiChangeContractVehiclesRequestT,\n        contractName: string,\n    ) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmChangeContract');\n            return;\n        }\n        dispatch(\n            assignToContractRequest({\n                companyId: partnerId,\n                changeContractRequest,\n                contractName,\n            }),\n        );\n    };\n\n    const handleConfirmChangeRate = (changeRateRequest: ApiChangeRateVehiclesRequestT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmChangeRate');\n            return;\n        }\n        dispatch(\n            changeRateTrailersRequest({\n                companyId: partnerId,\n                changeRateVehiclesRequest: changeRateRequest,\n            }),\n        );\n    };\n\n    const exportXLSRequestStatus = useSelector(selectTrailersExportXLSRequest(partnerId));\n\n    const handleExportXLS = () => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleExportXLS');\n            return;\n        }\n        dispatch(exportXLSTrailers(partnerId, {}));\n    };\n\n    const handleFilteredExportXLS = () => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleFilteredExportXLS');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, selectedSort, activeTab);\n        dispatch(exportXLSTrailers(partnerId, query));\n    };\n\n    const openLeftSidebar = useOpenLeftSidebar();\n    const isOpenedFilters = useCheckOpenedSidebar(CommonSidebarsTypeEnum.trailerFilters);\n    const openFilters = React.useCallback(() => {\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.trailerFilters,\n        });\n    }, [openLeftSidebar]);\n\n    const handleConfirmActivate = (\n        _: ActivateAssetConfirmationDataT,\n        activateVehicleRequest: ActivateTrailersRequestT,\n    ): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleConfirmActivate');\n            return;\n        }\n        dispatch(activationTrailersRequest(partnerId, activateVehicleRequest));\n    };\n\n    const handleConfirmArchive = (data: ArchiveAssetConfirmationDataT, reason: string): void => {\n        const ids = data.assets.map((asset) => asset.id);\n        dispatch(archiveTrailersRequest(ids, data.companyId, reason));\n    };\n\n    const showAddSidebar = () => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in showAddSidebar');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.addTrailer,\n            partnerId,\n        });\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(trailers, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters(\n            [query[QueryKeysEnum.trailersTab] !== TabEnum.active ? query[QueryKeysEnum.trailersTab] : null],\n            [query[QueryKeysEnum.trailersFilters]],\n        );\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('common:trailers-page.table.messages.not-found.title')}\n                    description={t('common:trailers-page.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('common:trailers-page.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={resetQueryFilters}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('common:trailers-page.table.messages.empty-quick-filters.title')}\n                    description=\"\"\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('common:trailers-page.table.messages.empty.title')}\n                description={t('common:trailers-page.table.messages.empty.description')}\n                isShowAction={!!partnerPermissions?.canEditTrailers}\n                actionTitle={t('common:trailers-page.table.messages.empty.action')}\n                onActionClick={showAddSidebar}\n                testSelector=\"empty\"\n            />\n        );\n    };\n\n    return (\n        <>\n            <ContentMargins>\n                {!isPartner && tabsNode}\n                <ListPageLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                {isPartner && tabsNode}\n                                <FiltersTrigger\n                                    title={t('common:trailers-page.filters.trigger')}\n                                    isActive={isOpenedFilters}\n                                    onClick={openFilters}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                            </>\n                        }\n                        rightToolsNode={\n                            <>\n                                {!!selectedTrailersSet.size && (\n                                    <TableActions\n                                        options={tableActionOptions}\n                                        trigger={t('common:trailers-page.actions-trigger')}\n                                        isDisabled={isDisabledTableActions}\n                                    />\n                                )}\n                                <AssetsXLSDropdownControl\n                                    isAllowExport\n                                    isAllowImport={!!partnerPermissions.canImportTrailers}\n                                    isLoading={exportXLSRequestStatus.loading}\n                                    onExportFilteredAssets={handleFilteredExportXLS}\n                                    onExportAssets={handleExportXLS}\n                                    onImportAssets={importXLSAssetsModalDialog.onStartImportXLS}\n                                />\n                                {partnerPermissions?.canEditTrailers ? (\n                                    <Button theme={ButtonThemeEnum.primary} type=\"submit\" onClick={showAddSidebar}>\n                                        {t('common:trailers-page.add-trailer.trigger')}\n                                    </Button>\n                                ) : null}\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                    />\n                    {renderTableMessage()}\n                    <TrailersTable\n                        onOpenUserDetails={onOpenUserDetails}\n                        trailers={trailers}\n                        onSelectRow={handleSelectRow}\n                        selectedTrailersSet={selectedTrailersSet}\n                        onSelectTrailers={setSelectedTrailersSet}\n                        isLoading={requestStatus?.loading}\n                        allowedCheckboxes={!!partnerPermissions?.canEditTrailers}\n                        activeTab={activeTab}\n                    />\n                </ListPageLayout>\n            </ContentMargins>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n            <ArchiveAssetConfirmationModal\n                assetType={AssetTypeEnum.trailer}\n                data={archiveAssetConfirmation.data}\n                onConfirm={handleConfirmArchive}\n                onCancel={archiveAssetConfirmation.onCancel}\n                onClose={archiveAssetConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n            <ActivateAssetDialogModal\n                companyId={partnerId}\n                assetType={AssetTypeEnum.trailer}\n                data={activateAssetConfirmation.data}\n                onConfirm={handleConfirmActivate}\n                onCancel={activateAssetConfirmation.onCancel}\n                onClose={activateAssetConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n            <ImportXLSAssetsDialogModal\n                assetType={AssetTypeEnum.trailer}\n                requestStatus={importXLSRequestStatus}\n                data={importXLSAssetsModalDialog.data}\n                onClose={importXLSAssetsModalDialog.onClose}\n                onCancel={importXLSAssetsModalDialog.onCancel}\n                onImportXLS={handleImportXLS}\n            />\n            <ChangeRateOrContractAssetDialogModal\n                companyId={partnerId}\n                assetType={AssetTypeEnum.trailer}\n                data={changeRateOrContractConfirmation.data}\n                onChangeContract={handleConfirmChangeContract}\n                onChangeRate={handleConfirmChangeRate}\n                onCancel={changeRateOrContractConfirmation.onCancel}\n                onClose={changeRateOrContractConfirmation.onClose}\n                requestStatus={updateRequestStatus}\n            />\n        </>\n    );\n});\n\nexport default TrailersPageLayout;\n","import { v4 as uuidv4 } from 'uuid';\n\nexport const generatePointFakeId = (prefix?: string): string => {\n    return `${prefix ? `${prefix}-` : ''}-fake-id-${uuidv4()}`;\n};\n","import * as React from 'react';\n\nimport styles from './Alert.scss';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport TransparentButton from '../TransparentButton/TransparentButton';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\n\nimport TooltipIconTrigger from 'design-system/components/Tooltip/TooltipIconTrigger/TooltipIconTrigger';\nimport { AlertContainer } from './AlertContainer/AlertContainer';\nimport { AlertProgressBar } from './AlertProgressBar/AlertProgressBar';\n\nexport enum AlertThemeEnum {\n    brandAccent = 'brand-accent',\n    tomatoRed = 'tomato-red',\n    charcoal = 'charcoal',\n    orange = 'orange',\n    gray = 'gray',\n    slate = 'slate',\n}\n\nexport enum AlertSizeEnum {\n    small = 'small',\n    medium = 'medium',\n    mediumLarge = 'medium-large',\n}\n\nexport type PropsT = {\n    className?: string;\n    icon: React.ReactNode;\n    onClose?: () => void;\n    size: AlertSizeEnum;\n    theme: AlertThemeEnum;\n    actionText?: React.ReactNode;\n    onClickAction?: () => void;\n    isAlignItemsCenter?: boolean;\n    controlsNode?: React.ReactNode;\n    tooltipNode?: React.ReactNode;\n    footerNode?: React.ReactNode;\n};\n\nconst cx = classNames.bind(styles);\n\nconst closeIconFillColorMap: Record<AlertThemeEnum, StyleGuideColorsEnum> = {\n    [AlertThemeEnum.brandAccent]: StyleGuideColorsEnum.white,\n    [AlertThemeEnum.tomatoRed]: StyleGuideColorsEnum.white,\n    [AlertThemeEnum.charcoal]: StyleGuideColorsEnum.white,\n    [AlertThemeEnum.orange]: StyleGuideColorsEnum.white,\n    [AlertThemeEnum.gray]: StyleGuideColorsEnum.white,\n    [AlertThemeEnum.slate]: StyleGuideColorsEnum.white,\n};\n\nconst AlertInner: React.FC<PropsT> = React.memo((props) => {\n    const {\n        children,\n        className,\n        icon,\n        theme,\n        size,\n        onClose,\n        onClickAction,\n        actionText,\n        isAlignItemsCenter,\n        controlsNode,\n        tooltipNode,\n        footerNode,\n    } = props;\n\n    const closeIconFillColor = closeIconFillColorMap[theme];\n\n    return (\n        <div\n            className={cs(\n                cx('inner', {\n                    [`inner--theme-${theme}`]: true,\n                    [`inner__size-${size}`]: true,\n                }),\n                className,\n            )}\n        >\n            <div\n                className={cx('row', {\n                    'row--is-align-items-center': !!isAlignItemsCenter,\n                })}\n            >\n                <div\n                    className={cx('icon', {\n                        [`icon__size-${size}`]: true,\n                    })}\n                >\n                    {icon}\n                </div>\n                <div\n                    className={cx('text', {\n                        [`text__size-${size}`]: true,\n                    })}\n                >\n                    {children}\n                </div>\n                {actionText && onClickAction ? (\n                    <TransparentButton onClick={onClickAction} className={cx('action')}>\n                        <span className={cx('action-text')}>{actionText}</span>\n                    </TransparentButton>\n                ) : null}\n                {tooltipNode && (\n                    <Tooltip\n                        position={TooltipPositionEnum.centerLeft}\n                        theme={TooltipThemeEnum.black}\n                        tooltipNode={tooltipNode}\n                    >\n                        {(isShow) => <TooltipIconTrigger className={cx('tooltip')} isShow={isShow} />}\n                    </Tooltip>\n                )}\n                {controlsNode}\n                {onClose && (\n                    <TransparentButton onClick={onClose} className={cx('close')}>\n                        <CloseIcon fillColor={closeIconFillColor} />\n                    </TransparentButton>\n                )}\n            </div>\n            {footerNode}\n        </div>\n    );\n});\n\nconst Alert = AlertInner as typeof AlertInner & {\n    Container: typeof AlertContainer;\n    ProgressBar: typeof AlertProgressBar;\n};\n\nAlert.Container = AlertContainer;\nAlert.ProgressBar = AlertProgressBar;\n\nexport default Alert;\n","import isNumber from 'lodash/isNumber';\n\nexport const uppercaseFormatter = (value: string): string => value.toUpperCase();\n\nexport const uppercaseFirstCharacterFormatter = (value: string): string => {\n    if (!value) {\n        return value;\n    }\n\n    return value[0].toUpperCase() + value.slice(1);\n};\n\nexport const simpleNumberFormatter = (value: number | null | undefined): string => {\n    if (!isNumber(value)) {\n        return '';\n    }\n\n    return String(value);\n};\n\nexport const simpleStringFormatter = (value: string | null | undefined): string => {\n    return (value || '').trim();\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"ChangeRateOrContractAssetForm__form___TVfw_\",\"fadeIn\":\"ChangeRateOrContractAssetForm__fadeIn___xWJNS\",\"blinking\":\"ChangeRateOrContractAssetForm__blinking___RWHso\"};","// extracted by mini-css-extract-plugin\nexport default {\"loader\":\"AdditionalServices__loader___RH9sC\",\"fadeIn\":\"AdditionalServices__fadeIn___sXRyi\",\"blinking\":\"AdditionalServices__blinking___YcZUE\"};","import {\n    FETCH_SETTINGS_BEGIN,\n    FETCH_SETTINGS_ERROR,\n    FETCH_SETTINGS_SUCCESS,\n    SettingsActionT,\n    SettingsStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\n\nconst initialState: SettingsStateT = {\n    fetchRequest: requestStatus.initial,\n    data: {},\n};\n\nexport default (state = initialState, action: SettingsActionT): SettingsStateT => {\n    switch (action.type) {\n        case FETCH_SETTINGS_BEGIN: {\n            return {\n                ...state,\n                fetchRequest: requestStatus.loading,\n            };\n        }\n\n        case FETCH_SETTINGS_SUCCESS: {\n            const { settings } = action;\n\n            return {\n                ...state,\n                data: settings,\n                fetchRequest: requestStatus.ok,\n            };\n        }\n\n        case FETCH_SETTINGS_ERROR: {\n            const { error } = action;\n            return {\n                ...state,\n                fetchRequest: requestStatus.setError(error),\n            };\n        }\n\n        default: {\n            return state;\n        }\n    }\n};\n","import React from 'react';\n\nexport type OrderCreationPercentContextT = {\n    percent: number;\n    setPercent: (percent: number) => void;\n};\n\nconst OrderCreationPercentContext = React.createContext<OrderCreationPercentContextT>({\n    percent: 0,\n    setPercent: () => {\n        // nothing\n    },\n});\n\nexport default OrderCreationPercentContext;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './LinkButton.scss';\nimport cs from 'classnames';\n\nimport noop from 'lodash/noop';\n\nconst cx = classNames.bind(styles);\n\nexport enum LinkButtonThemeEnum {\n    brandDark = 'brand-dark',\n}\n\nexport enum LinkButtonHeightEnum {\n    regular = 'regular',\n    narrow = 'narrow',\n}\n\nexport type LinkButtonPropsT = {\n    className?: string;\n    theme?: LinkButtonThemeEnum;\n    height?: LinkButtonHeightEnum;\n    onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n    isDisabled?: boolean;\n    leftIcon?: React.ReactNode;\n    rightIcon?: React.ReactNode;\n    testSelector?: string;\n};\n\nconst LinkButton: React.FC<LinkButtonPropsT> = (props) => {\n    const {\n        className,\n        theme = LinkButtonThemeEnum.brandDark,\n        height = LinkButtonHeightEnum.regular,\n        onClick,\n        isDisabled,\n        children,\n        leftIcon,\n        rightIcon,\n        testSelector,\n    } = props;\n\n    const isClickable = !isDisabled;\n\n    return (\n        <div\n            className={cs(\n                cx('button', {\n                    'button--isClickable': isClickable,\n                    'button--isDisabled': isDisabled,\n                    [`button--height-${height}`]: true,\n                }),\n                className,\n            )}\n            data-test-selector={`${testSelector}_link`}\n            onClick={isClickable ? onClick : noop}\n        >\n            <div className={cx('inner')}>\n                {leftIcon && (\n                    <div\n                        className={cx('icon', {\n                            'icon--isLeft': true,\n                            'icon--isHidden': false,\n                        })}\n                    >\n                        {leftIcon}\n                    </div>\n                )}\n                <div\n                    className={cx('text', {\n                        [`text--theme-${theme}`]: true,\n                        'text--isHidden': false,\n                    })}\n                >\n                    {children}\n                    <div\n                        className={cx('border', {\n                            [`border--height-${height}`]: true,\n                            [`border--theme-${theme}`]: true,\n                        })}\n                    />\n                </div>\n                {rightIcon && (\n                    <div\n                        className={cx('icon', {\n                            'icon--isRight': true,\n                            'icon--isHidden': false,\n                        })}\n                    >\n                        {rightIcon}\n                    </div>\n                )}\n            </div>\n        </div>\n    );\n};\n\nexport default LinkButton;\n","import { ApiTransportationOrderFullT } from 'common/utils/api/models';\n\nexport const findTourActualTransportOrders = (\n    transportOrders: Array<ApiTransportationOrderFullT> | null | undefined,\n    tourId?: TourIdT | null | undefined,\n): {\n    carrierTransportOrder: ApiTransportationOrderFullT | null;\n    truckTransportOrder: ApiTransportationOrderFullT | null;\n    trailerTransportOrder: ApiTransportationOrderFullT | null;\n    trainTransportOrder: ApiTransportationOrderFullT | null;\n} => {\n    const truckTransportOrder =\n        transportOrders?.find((transportOrder) => {\n            return transportOrder?.tourId === tourId && transportOrder?.actual && transportOrder?.truck?.id;\n        }) || null;\n\n    const spotCarrierTransportOrder =\n        transportOrders?.find((transportOrder) => {\n            return (\n                transportOrder?.spot &&\n                transportOrder?.actual &&\n                transportOrder?.tourId === tourId &&\n                transportOrder?.carrier\n            );\n        }) || null;\n\n    const trailerTransportOrder =\n        transportOrders?.find((transportOrder) => {\n            return transportOrder?.tourId === tourId && transportOrder?.actual && transportOrder?.trailer?.id;\n        }) || null;\n\n    const trainTransportOrder =\n        transportOrders?.find((transportOrder) => {\n            return (\n                transportOrder?.tourId === tourId &&\n                transportOrder?.actual &&\n                transportOrder?.truck?.id &&\n                transportOrder?.trailer?.id\n            );\n        }) || null;\n\n    return {\n        carrierTransportOrder: truckTransportOrder || spotCarrierTransportOrder,\n        truckTransportOrder,\n        trailerTransportOrder,\n        trainTransportOrder,\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"ExpiredPartnerShipperContractCard__inner___KTseR\",\"fadeIn\":\"ExpiredPartnerShipperContractCard__fadeIn____3QdN\",\"blinking\":\"ExpiredPartnerShipperContractCard__blinking___eGAjm\"};","import { RequestStatusT } from 'common/utils/request-status';\nimport { AnyNotificationT, FetchNotificationsPageQueryT } from './models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const SEND_TEST_NOTIFICATION = 'common/notifications/SEND_TEST_NOTIFICATION';\n\nexport const RECEIVED_NOTIFICATIONS = 'common/notifications/RECEIVED_NOTIFICATIONS';\n\nexport const FETCH_UNREAD_NOTIFICATIONS_REQUEST = 'common/notifications/FETCH_UNREAD_NOTIFICATIONS_REQUEST';\nexport const FETCH_UNREAD_NOTIFICATIONS_REQUEST_BEGIN = 'common/notifications/FETCH_UNREAD_NOTIFICATIONS_REQUEST_BEGIN';\nexport const FETCH_UNREAD_NOTIFICATIONS_REQUEST_SUCCESS =\n    'common/notifications/FETCH_UNREAD_NOTIFICATIONS_REQUEST_SUCCESS';\nexport const FETCH_UNREAD_NOTIFICATIONS_REQUEST_ERROR = 'common/notifications/FETCH_UNREAD_NOTIFICATIONS_REQUEST_ERROR';\n\nexport const FETCH_NOTIFICATIONS_PAGE_REQUEST = 'common/notifications/FETCH_NOTIFICATIONS_PAGE_REQUEST';\nexport const FETCH_NOTIFICATIONS_PAGE_REQUEST_BEGIN = 'common/notifications/FETCH_NOTIFICATIONS_PAGE_REQUEST_BEGIN';\nexport const FETCH_NOTIFICATIONS_PAGE_REQUEST_ERROR = 'common/notifications/FETCH_NOTIFICATIONS_PAGE_REQUEST_ERROR';\nexport const FETCH_NOTIFICATIONS_PAGE_REQUEST_SUCCESS = 'common/notifications/FETCH_NOTIFICATIONS_PAGE_REQUEST_SUCCESS';\n\nexport const MARK_AS_READ_REQUEST = 'common/notifications/MARK_AS_READ_REQUEST';\nexport const MARK_AS_READ_REQUEST_BEGIN = 'common/notifications/MARK_AS_READ_REQUEST_BEGIN';\nexport const MARK_AS_READ_REQUEST_SUCCESS = 'common/notifications/MARK_AS_READ_REQUEST_SUCCESS';\nexport const MARK_AS_READ_REQUEST_ERROR = 'common/notifications/MARK_AS_READ_REQUEST_ERROR';\n\nexport const RESET_NOTIFICATION_PAGES = 'common/notifications/RESET_NOTIFICATION_PAGES';\n\nexport type ReceivedNotificationsActionT = {\n    type: typeof RECEIVED_NOTIFICATIONS;\n    notifications: AnyNotificationT[];\n};\n\nexport type SendTestNotificationActionT = {\n    type: typeof SEND_TEST_NOTIFICATION;\n    text: string;\n};\n\nexport type FetchUnreadNotificationsActionT = {\n    type: typeof FETCH_UNREAD_NOTIFICATIONS_REQUEST;\n};\n\nexport type FetchUnreadNotificationsBeginActionT = {\n    type: typeof FETCH_UNREAD_NOTIFICATIONS_REQUEST_BEGIN;\n};\n\nexport type FetchUnreadNotificationsSuccessActionT = {\n    type: typeof FETCH_UNREAD_NOTIFICATIONS_REQUEST_SUCCESS;\n    notifications: AnyNotificationT[] | null;\n};\n\nexport type FetchUnreadNotificationsErrorActionT = {\n    type: typeof FETCH_UNREAD_NOTIFICATIONS_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type FetchNotificationsPageActionT = {\n    type: typeof FETCH_NOTIFICATIONS_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchNotificationsPageQueryT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchNotificationsPageBeginActionT = {\n    type: typeof FETCH_NOTIFICATIONS_PAGE_REQUEST_BEGIN;\n    pageNumber: PageNumberT;\n    query: FetchNotificationsPageQueryT;\n};\n\nexport type FetchNotificationsPageSuccessActionT = {\n    type: typeof FETCH_NOTIFICATIONS_PAGE_REQUEST_SUCCESS;\n    query: FetchNotificationsPageQueryT;\n    pageNumber: PageNumberT;\n    pageResponse: PageResponseT<AnyNotificationT> | null;\n};\n\nexport type FetchNotificationsErrorActionT = {\n    type: typeof FETCH_NOTIFICATIONS_PAGE_REQUEST_ERROR;\n    query: FetchNotificationsPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n};\n\nexport type MarkAsReadActionT = {\n    type: typeof MARK_AS_READ_REQUEST;\n    ids: NotificationIdT[];\n    isAll?: boolean;\n};\n\nexport type MarkAsReadBeginActionT = {\n    type: typeof MARK_AS_READ_REQUEST_BEGIN;\n};\n\nexport type MarkAsReadSuccessActionT = {\n    type: typeof MARK_AS_READ_REQUEST_SUCCESS;\n    ids: NotificationIdT[];\n};\n\nexport type MarkAsReadErrorActionT = {\n    type: typeof MARK_AS_READ_REQUEST_ERROR;\n    error: Error;\n};\n\nexport type ResetNotificationPagesT = {\n    type: typeof RESET_NOTIFICATION_PAGES;\n};\n\nexport type NotificationsActionT =\n    | ReceivedNotificationsActionT\n    | SendTestNotificationActionT\n    | FetchUnreadNotificationsBeginActionT\n    | FetchUnreadNotificationsSuccessActionT\n    | FetchUnreadNotificationsErrorActionT\n    | FetchUnreadNotificationsActionT\n    | FetchNotificationsPageActionT\n    | FetchNotificationsPageBeginActionT\n    | FetchNotificationsPageSuccessActionT\n    | FetchNotificationsErrorActionT\n    | MarkAsReadActionT\n    | MarkAsReadBeginActionT\n    | MarkAsReadSuccessActionT\n    | MarkAsReadErrorActionT\n    | ResetNotificationPagesT;\n\nexport type NotificationsStateT = PaginationStateT<AnyNotificationT, FetchNotificationsPageQueryT> & {\n    unreadNotifications: {\n        ids: AnyNotificationT['id'][];\n        byId: Record<NonNullable<AnyNotificationT['id']>, AnyNotificationT>;\n        fetchRequest: RequestStatusT;\n    };\n    markAsReadRequest: RequestStatusT;\n    currentPageNumber: number;\n};\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const updatePapersRefreshChannel = new ViewEventChannel<{}>();\n","import * as React from 'react';\n\nimport { Route, Switch } from 'react-router-dom';\n\nimport { BrokerUsersRoutesEnum } from 'broker-admin/constants';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { useTranslation } from 'react-i18next';\nimport BrokerTeamsLayout from './BrokerTeamsLayout/BrokerTeamsLayout';\nimport BrokerUsersLayout from './BrokerUsersLayout/BrokerUsersLayout';\nimport BrokerUsersTab, { TabEnum } from './BrokerUsersTab/BrokerUsersTab';\nimport { useSelector } from 'react-redux';\nimport { selectCurrentCompany } from 'common/store/company/selectors';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport PartnerContext, { PartnerContextT } from 'common/contexts/partner-context';\n\ntype PropsT = {};\n\nconst BrokerUsersPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    const company = useSelector(selectCurrentCompany);\n    const companyId = company?.id || null;\n\n    const partnerContextValue = React.useMemo((): PartnerContextT => {\n        return {\n            partnerType: PartnerTypeEnum.broker,\n            partnerId: companyId,\n        };\n    }, [companyId]);\n\n    return (\n        <PartnerContext.Provider value={partnerContextValue}>\n            <ScrollableContent>\n                <PageTitle title={t('page-titles.broker-users')} />\n                <ContentMargins>\n                    <TopBar>\n                        <TopBarContent title={t('broker-users.title')} rightNode={<NotificationsBarTrigger />} />\n                    </TopBar>\n                    <Switch>\n                        <Route path={BrokerUsersRoutesEnum.brokerTeams} exact>\n                            <>\n                                <BrokerUsersTab activeTab={TabEnum.teams} />\n                                <BrokerTeamsLayout />\n                            </>\n                        </Route>\n                        <Route path=\"*\">\n                            <>\n                                <BrokerUsersTab activeTab={TabEnum.users} />\n                                <BrokerUsersLayout />\n                            </>\n                        </Route>\n                    </Switch>\n                </ContentMargins>\n                <SideBars />\n            </ScrollableContent>\n        </PartnerContext.Provider>\n    );\n});\n\nexport default BrokerUsersPage;\n","import React from 'react';\nimport { RoutePointTypeEnum } from 'broker-admin/store/order-edit/models';\nimport noop from 'lodash/noop';\nimport { BoundPointT } from 'common/components/maps/MapBound/MapBound';\n\nexport type MapRoutePointT = {\n    id: RoutePointIdT;\n    isNew: boolean;\n    type: RoutePointTypeEnum;\n    number: number;\n    location: LocationT | null;\n    isDraggable: boolean;\n    hasError: boolean;\n};\n\nexport type OnMapClickCallbackT = (location: LocationT | null) => void;\nexport type OnDragEndDnDCallbackT = (id: RoutePointIdT, location: LocationT | null) => void;\nexport type OnSetMapBoundingBoxCallbackT = (boundPoints: Array<BoundPointT> | null) => void;\n\nexport type SyncAssignmentFormMapStateContextValueT = {\n    onSetMapBoundingBox: { callback: OnSetMapBoundingBoxCallbackT } | null;\n    setOnSetMapBoundingBox: (params: { callback: OnSetMapBoundingBoxCallbackT }) => void;\n\n    mapRoutePoints: Array<MapRoutePointT>;\n    setMapRoutePoints: (routePoints: Array<MapRoutePointT>) => void;\n\n    onMapClickCallback: { callback: OnMapClickCallbackT } | null;\n    setOnMapClickCallback: (params: { callback: OnMapClickCallbackT }) => void;\n\n    onDragEndDnDCallback: { callback: OnDragEndDnDCallbackT } | null;\n    setOnDragEndDnDCallback: (params: { callback: OnDragEndDnDCallbackT }) => void;\n};\n\nconst SyncRouteEditFormMapStateContext = React.createContext<SyncAssignmentFormMapStateContextValueT>({\n    onSetMapBoundingBox: null,\n    setOnSetMapBoundingBox: noop,\n\n    mapRoutePoints: [],\n    setMapRoutePoints: noop,\n\n    onMapClickCallback: null,\n    setOnMapClickCallback: noop,\n\n    onDragEndDnDCallback: null,\n    setOnDragEndDnDCallback: noop,\n});\n\nexport { SyncRouteEditFormMapStateContext };\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst FewCountriesIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, className } = props;\n\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={className}>\n            <path\n                d=\"M18 4a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h4zm-6 0a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h10z\"\n                fill={fillColor}\n                fillRule=\"evenodd\"\n            />\n        </svg>\n    );\n};\n\nFewCountriesIcon.displayName = 'FewCountriesIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n};\n\nexport { storyProps };\nexport default FewCountriesIcon;\n","import * as React from 'react';\nimport { useMemo, useState } from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './BrokerOrderAssignmentPage.scss';\n\nimport { useParams } from 'react-router-dom';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport HorizontalColumnsLayout from 'common/layouts/HorizontalColumnsLayout/HorizontalColumnsLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport {\n    selectBrokerOrderDetails,\n    selectBrokerOrderDetailsRequestStatus,\n} from 'broker-admin/store/broker-order-details/selectors';\nimport { fetchBrokerOrderDetails } from 'broker-admin/store/broker-order-details/slice';\nimport AssignmentMap from './AssignmentMap/AssignmentMap';\nimport {\n    initBrokerOrderAssignment,\n    resetBrokerOrderAssignment,\n} from 'broker-admin/store/broker-order-assigment/actions';\nimport { resetCarrierUtilization } from 'common/store/carriers-utilization/actions';\nimport {\n    selectAssignmentRequestStatus,\n    selectShowSelectedAssetSchedules,\n} from 'broker-admin/store/broker-order-assigment/selectors';\nimport SideBarLayoutContextWrap from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayoutContextWrap/SideBarLayoutContextWrap';\nimport SideBarHeaderRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarHeaderRequestStatus/SideBarHeaderRequestStatus';\nimport EntitySidebarSkeleton from 'common/components/entity-details/EntitySidebarSkeleton/EntitySidebarSkeleton';\nimport SideBarRequestStatus from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarRequestStatus/SideBarRequestStatus';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport RightSidebarLayout from 'common/layouts/RightSidebarLayout/RightSidebarLayout';\nimport AssignmentAssetSchedules from './AssignmentAssetSchedules/AssignmentAssetSchedules';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport TimeZoneContext, { TimeZoneContextT, TimeZoneContextValueT, TimeZoneEnum } from './contexts/timezone-context';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport AssignmentForm from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/AssignmentForm/AssignmentForm';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport AssetsSelectionContext, {\n    AssetsSelectionContextT,\n    AssetsSelectionContextValueT,\n} from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/contexts/assets-selection-context';\nimport { SyncAssignmentFormMapStateContext } from './contexts/sync-map-state';\nimport { usySyncMapState } from 'broker-admin/layouts/BrokerOrdersPage/BrokerOrderAssignmentPage/hooks/usySyncMapState';\nimport { BrokerOrdersRoutesEnum } from 'broker-admin/constants';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\nimport { logWarning } from 'common/utils/logger';\nimport { QueryKeysEnum, QueryT } from './query-models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst BrokerOrderAssignmentPage: React.FC<PropsT> = React.memo(() => {\n    const params = useParams<ExtractRouterRouteParamsT<BrokerOrdersRoutesEnum.brokerOrderAssignment>>();\n    const { brokerOrderId, tourId } = params;\n\n    const query = useQuery<QueryT>();\n    const isFromBrokerTour = Boolean(query?.[QueryKeysEnum.fromBrokerTour]);\n\n    const mapStateContextValue = usySyncMapState();\n    const [timeZoneContextValue, setTimeZoneContextValue] = useState<TimeZoneContextValueT>({\n        utcOffsetMin: null,\n        timeZone: TimeZoneEnum.accountTimezone,\n    });\n\n    const timeZoneContext = useMemo((): TimeZoneContextT => {\n        return {\n            value: timeZoneContextValue,\n            setValue: setTimeZoneContextValue,\n        };\n    }, [timeZoneContextValue, setTimeZoneContextValue]);\n\n    const [assetsSelectionContextValue, setAssetsSelectionContextValue] = useState<AssetsSelectionContextValueT>({\n        isBlockedSelectTruck: false,\n        isBlockedSelectTrailer: false,\n    });\n\n    const assetsSelectionContext = useMemo((): AssetsSelectionContextT => {\n        return {\n            value: assetsSelectionContextValue,\n            setValue: setAssetsSelectionContextValue,\n        };\n    }, [assetsSelectionContextValue, setAssetsSelectionContextValue]);\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const { t } = useTranslation();\n\n    const brokerOrderDetails = useSelector(selectBrokerOrderDetails(brokerOrderId));\n    const brokerOrderDetailsRequestStatus = useSelector(selectBrokerOrderDetailsRequestStatus(brokerOrderId));\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        if (brokerOrderDetails) {\n            return;\n        }\n\n        if (brokerOrderId) {\n            dispatch(fetchBrokerOrderDetails({ id: brokerOrderId }));\n        }\n    }, [dispatch, brokerOrderDetails, brokerOrderId]);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (brokerOrderId) {\n            dispatch(fetchBrokerOrderDetails({ id: brokerOrderId, options: { isForceUpdate: true } }));\n        }\n    }, [dispatch, brokerOrderId]);\n\n    const refreshBrokerOrderHandler = React.useCallback(() => {\n        if (brokerOrderId) {\n            dispatch(fetchBrokerOrderDetails({ id: brokerOrderId }));\n        }\n    }, [dispatch, brokerOrderId]);\n    useChannelSubscribe(stateMachineRefreshChannel, refreshBrokerOrderHandler);\n\n    const handleClose = () => {\n        goBackIfHasRePath(() => {\n            if (isFromBrokerTour && tourId) {\n                history.push(urlFactory.brokerTourDetails(tourId));\n                return;\n            }\n\n            if (!brokerOrderId) {\n                logWarning('Empty brokerOrderId');\n                return;\n            }\n            history.push(urlFactory.brokerOrderDetails(brokerOrderId));\n        });\n    };\n\n    React.useEffect(() => {\n        dispatch(initBrokerOrderAssignment());\n        dispatch(fetchCountriesDict());\n\n        return () => {\n            dispatch(resetCarrierUtilization());\n            dispatch(resetBrokerOrderAssignment());\n        };\n    }, [dispatch]);\n\n    const assignmentRequestStatus = useSelector(selectAssignmentRequestStatus);\n    useOnlyChangesEffect(() => {\n        if (assignmentRequestStatus.ok) {\n            handleClose();\n            dispatch(resetCarrierUtilization());\n            dispatch(resetBrokerOrderAssignment());\n            // reset\n        }\n    }, [assignmentRequestStatus.ok]);\n\n    const isShowSelectedAssetSchedules = useSelector(selectShowSelectedAssetSchedules);\n\n    return (\n        <SyncAssignmentFormMapStateContext.Provider value={mapStateContextValue}>\n            <AssetsSelectionContext.Provider value={assetsSelectionContext}>\n                <TimeZoneContext.Provider value={timeZoneContext}>\n                    <GoogleMapContext.Provider value={googleMapsContextValue}>\n                        <PageTitle\n                            title={t('page-titles.broker-order-assignment', {\n                                number: brokerOrderDetails?.number || '',\n                            })}\n                        />\n                        <HorizontalColumnsLayout\n                            testSelector=\"broker-order-assignment\"\n                            className={cx('wrap')}\n                            leftColumnTitle={t('broker-order-details.main-tabs.details')}\n                            leftColumnNode={\n                                <SideBarLayoutContextWrap>\n                                    <HeaderSideBarLayout>\n                                        <HeaderSideBarContent title={t('assignment.title')} onClose={handleClose} />\n                                        <SideBarHeaderRequestStatus\n                                            requestStatus={brokerOrderDetailsRequestStatus}\n                                            hasCachedData={Boolean(brokerOrderDetails)}\n                                            isForceShowLoader={assignmentRequestStatus.loading}\n                                        />\n                                    </HeaderSideBarLayout>\n                                    <SideBarLayout>\n                                        <SideBarRequestStatus\n                                            requestStatus={brokerOrderDetailsRequestStatus}\n                                            hasCachedData={Boolean(brokerOrderDetails)}\n                                            onRetry={handleRefreshOnError}\n                                            SkeletonComponent={EntitySidebarSkeleton}\n                                        >\n                                            {brokerOrderDetails ? (\n                                                <AssignmentForm\n                                                    brokerOrderId={brokerOrderId}\n                                                    brokerOrderDetails={brokerOrderDetails}\n                                                    tourId={tourId}\n                                                    onCancel={handleClose}\n                                                />\n                                            ) : null}\n                                        </SideBarRequestStatus>\n                                    </SideBarLayout>\n                                </SideBarLayoutContextWrap>\n                            }\n                            rightColumnTitle={t('broker-order-details.main-tabs.info')}\n                            rightColumnNode={\n                                <div className={cx('tabs-wrap')}>\n                                    <div className={cx('tab')}>\n                                        <AssignmentMap\n                                            key={brokerOrderId}\n                                            brokerOrderId={brokerOrderId}\n                                            brokerOrderDetails={brokerOrderDetails}\n                                            tourId={tourId}\n                                        />\n                                    </div>\n                                </div>\n                            }\n                        />\n                    </GoogleMapContext.Provider>\n                    {isShowSelectedAssetSchedules && (\n                        <RightSidebarLayout>\n                            <AssignmentAssetSchedules tourId={tourId} brokerOrderDetails={brokerOrderDetails} />\n                        </RightSidebarLayout>\n                    )}\n                    <SideBars />\n                </TimeZoneContext.Provider>\n            </AssetsSelectionContext.Provider>\n        </SyncAssignmentFormMapStateContext.Provider>\n    );\n});\n\nexport default BrokerOrderAssignmentPage;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './DeprecatedCountyFlagLabel.scss';\nimport { CountryT } from 'common/store/countries-dict/models';\nimport { useTranslation } from 'react-i18next';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n    country?: CountryT | null;\n    countries?: Array<CountryT | null>;\n    isThin?: boolean;\n};\n\n/**\n *  @deprecated use CountyFlagsLabel\n * */\nconst DeprecatedCountyFlagLabel: React.FC<PropsT> = (props) => {\n    const { t } = useTranslation();\n\n    const { country, countries, isThin, className } = props;\n\n    if (!country && !countries?.length) {\n        return null;\n    }\n\n    let icon: React.ReactElement | null = null;\n    let label: string | null = null;\n    if (country) {\n        icon = <FlagIcon countryCode={country.code} className={cx('flag-icon')} />;\n        label = country.userLangDisplayName || null;\n    }\n\n    if (countries?.length === 1) {\n        icon = <FlagIcon countryCode={countries[0]?.code} className={cx('flag-icon')} />;\n        label = countries[0]?.userLangDisplayName || null;\n    }\n\n    if (countries?.length && countries?.length > 1) {\n        icon = <div className={cx('count')}>{countries.length}</div>;\n\n        label = `${countries.length} ${t('common:countries', {\n            postProcess: 'interval',\n            count: countries.length,\n        })}`;\n    }\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <span className={cx('icon')}>{icon}</span>\n            <span\n                className={cx('label', {\n                    'label--isThin': isThin,\n                })}\n            >\n                {label}\n            </span>\n        </div>\n    );\n};\n\n/**\n *  @deprecated use CountyFlagsLabel\n * */\nexport default React.memo(DeprecatedCountyFlagLabel) as typeof DeprecatedCountyFlagLabel;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillOpacity?: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst NewIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, fillOpacity, strokeColor, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity={fillOpacity || 1}\n                    d=\"M10.008 14.5c-1.11 0-2.063-.607-2.588-1.5H4.75v2.25h10.5V13h-2.662a2.985 2.985 0 01-2.58 1.5z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M13 7.75h-1.912V5.5H8.913v2.25H7l3 3 3-3zm2.25-4.5H4.742c-.832 0-1.492.675-1.492 1.5v10.5c0 .825.66 1.5 1.492 1.5H15.25c.825 0 1.5-.675 1.5-1.5V4.75c0-.825-.675-1.5-1.5-1.5zm0 12H4.75V13h2.67a2.988 2.988 0 002.588 1.5c1.11 0 2.062-.607 2.587-1.5h2.655v2.25zm0-3.75h-3.742c0 .825-.675 1.5-1.5 1.5s-1.5-.675-1.5-1.5H4.75l-.008-6.75H15.25v6.75z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nNewIcon.displayName = 'NewIcon';\n\nconst storyProps: PropsT = {\n    fillOpacity: 1,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getNewIconProps = (preset: 'default' | 'menu-item' | 'menu-item-selected'): PropsT => {\n    switch (preset) {\n        case 'menu-item-selected': {\n            return {\n                fillOpacity: 0.3,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        case 'menu-item':\n        default: {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n    }\n};\nexport { storyProps };\nexport default NewIcon;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport {\n    validateAssetTeleport,\n    validateAssetTeleportBegin,\n    validateAssetTeleportError,\n    validateAssetTeleportSuccess,\n    executeAssetTeleport,\n    executeAssetTeleportBegin,\n    executeAssetTeleportError,\n    executeAssetTeleportSuccess,\n} from './slice';\nimport { selectExecuteTeleportStatus, selectValidateTeleportStatus } from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { vehicleSchedulesRefreshChannel } from 'common/store/vehicle-schedules/channels';\n\nconst toError = (value: unknown): Error =>\n    value instanceof Error ? value : new Error(typeof value === 'string' ? value : 'Unknown error');\n\nfunction* validateAssetTeleportSaga(action: ReturnType<typeof validateAssetTeleport>): WrapGeneratorT<void> {\n    const { assetId, options } = action.payload;\n\n    const requestStatus: ReReturnT<typeof selectValidateTeleportStatus> = yield select(\n        selectValidateTeleportStatus(assetId),\n    );\n\n    const isNeedRequest = checkNeedRequest(requestStatus, options);\n    if (!isNeedRequest && !options?.isForceUpdate) {\n        return;\n    }\n\n    yield put(validateAssetTeleportBegin({ assetId }));\n\n    const [error, data]: ReturnApiT<typeof commonTranziitApi.validateAssetTeleport> =\n        yield commonTranziitApi.validateAssetTeleport(assetId);\n\n    if (error || data == null) {\n        yield put(validateAssetTeleportError({ assetId, error: toError(error) }));\n        return;\n    }\n\n    yield put(validateAssetTeleportSuccess({ assetId, data }));\n}\n\nfunction* executeAssetTeleportSaga(action: ReturnType<typeof executeAssetTeleport>): WrapGeneratorT<void> {\n    const { assetId, teleportLinkedAsset } = action.payload;\n\n    const requestStatus: ReReturnT<typeof selectExecuteTeleportStatus> = yield select(\n        selectExecuteTeleportStatus(assetId),\n    );\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(executeAssetTeleportBegin({ assetId }));\n\n    const [error, data]: ReturnApiT<typeof commonTranziitApi.executeAssetTeleport> =\n        yield commonTranziitApi.executeAssetTeleport(assetId, teleportLinkedAsset);\n\n    if (error || data == null) {\n        yield put(executeAssetTeleportError({ assetId, error: toError(error) }));\n        return;\n    }\n\n    yield put(executeAssetTeleportSuccess({ assetId }));\n\n    vehicleSchedulesRefreshChannel.emit({\n        vehicleId: assetId,\n    });\n}\n\nfunction* assetsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(validateAssetTeleport.type, validateAssetTeleportSaga);\n    yield takeEvery(executeAssetTeleport.type, executeAssetTeleportSaga);\n}\n\nexport default assetsSaga;\n","import * as React from 'react';\nimport { TFunction } from 'i18next';\nimport { ContactDetailsSidebarDataT } from 'common/layouts/SideBars/contents/ContactDetailsSidebarContent/models';\nimport { EditContactDetailsSidebarDataT } from 'common/layouts/SideBars/contents/EditContactDetailsSidebarContent/models';\nimport { DocumentDetailsSidebarDataT } from 'common/layouts/SideBars/contents/DocumentDetailsSidebarContent/models';\nimport { ContractDetailsSidebarDataT } from 'common/layouts/SideBars/contents/ContractDetailsSidebarContent/models';\nimport { DriverFiltersSidebarDataT } from 'common/layouts/SideBars/contents/DriverFiltersSidebarContent/models';\nimport { DriverDetailsSidebarDataT } from 'common/layouts/SideBars/contents/DriverDetailsSidebarContent/models';\nimport { EditDriverDetailsSidebarDataT } from 'common/layouts/SideBars/contents/EditDriverSidebarContent/models';\nimport { TrailerFiltersSidebarDataT } from 'common/layouts/SideBars/contents/TrailerFiltersSidebarContent/models';\nimport { AddTrailerSidebarDataT } from 'common/layouts/SideBars/contents/AddTrailerSidebarContent/models';\nimport { TrailerDetailsSidebarDataT } from 'common/layouts/SideBars/contents/EditableTrailerDetailsSidebarContent/models';\nimport { TruckFiltersSidebarDataT } from 'common/layouts/SideBars/contents/TruckFiltersSidebarContent/models';\nimport { AddTruckSidebarDataT } from 'common/layouts/SideBars/contents/AddTruckSidebarContent/models';\nimport { TruckDetailsSidebarDataT } from 'common/layouts/SideBars/contents/EditableTruckDetailsSidebarContent/models';\nimport { AddDriverSidebarDataT } from 'common/layouts/SideBars/contents/AddDriverSidebarContent/models';\n\nexport enum CommonSidebarsTypeEnum {\n    contact = 'contact',\n    editContact = 'edit-contact',\n    document = 'document',\n    carrierContract = 'carrierContract',\n    driverFilters = 'driver-filters',\n    driverDetails = 'driver-details',\n    editDriverDetails = 'edit-driver-details',\n    addDriver = 'add-driver',\n    trailerFilters = 'trailer-filters',\n    trailerDetails = 'trailer-details',\n    addTrailer = 'add-trailer',\n    truckFilters = 'truck-filters',\n    truckDetails = 'truck-details',\n    addTruck = 'add-truck',\n}\n\nexport type CommonSidebarMetaT = Partial<{\n    // NB: try to use unique names for all data sidebars!\n    isForceShowBackAction: boolean;\n    isNarrowSidebar: boolean;\n}>;\n\nexport type SidebarDataWithMetaT<T> = T & CommonSidebarMetaT;\n\nexport type AnySidebarDataT = {\n    type: string;\n};\n\nexport type CommonSidebarDataT =\n    | ContactDetailsSidebarDataT\n    | EditContactDetailsSidebarDataT\n    | DocumentDetailsSidebarDataT\n    | DriverFiltersSidebarDataT\n    | DriverDetailsSidebarDataT\n    | EditDriverDetailsSidebarDataT\n    | AddDriverSidebarDataT\n    | TrailerFiltersSidebarDataT\n    | AddTrailerSidebarDataT\n    | TrailerDetailsSidebarDataT\n    | TruckFiltersSidebarDataT\n    | AddTruckSidebarDataT\n    | TruckDetailsSidebarDataT\n    | ContractDetailsSidebarDataT;\n\nexport enum SideBarPositionEnum {\n    left = 'left',\n    right = 'right',\n}\n\nexport type SidebarContentPropsT<T, V> = CommonSidebarContentPropsT<V> & {\n    data: T;\n    setNeedCloseConfirmation: (needCloseConfirmation: boolean) => void;\n};\n\nexport type CloseCallbackOptionsT = { needCloseConfirmation: boolean };\n\nexport type CommonSidebarContentPropsT<T> = {\n    onOpenNextSidebar: (data: T) => void;\n    onClose?: ((options?: CloseCallbackOptionsT) => void) | null;\n    onGoBack?: ((options?: CloseCallbackOptionsT) => void) | null;\n    position: SideBarPositionEnum;\n};\n\nexport enum SidebarQueryKeysEnum {\n    leftSidebar = 'left-sidebar',\n    rightSidebar = 'right-sidebar',\n}\n\nexport type SidebarCloseConfirmationT = {\n    icon?: React.ReactNode;\n    title: React.ReactNode;\n    message: React.ReactNode;\n    confirmAction: React.ReactNode;\n    cancelAction: React.ReactNode;\n};\n\nexport type RenderSidebarContentT<T> = (props: SidebarContentPropsT<T, T>) => React.ReactNode;\n\nexport type GetSidebarCloseConfirmationT<T> = (t: TFunction, data: T) => SidebarCloseConfirmationT | null;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './EmissionClassCell.scss';\n\nimport { ApiTruckT } from 'common/store/trucks/models';\nimport EmissionClassPill from 'common/components/status-pill/EmissionClassPill/EmissionClassPill';\n\ntype PropsT = {\n    truck: ApiTruckT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst EmissionClassCell: React.FC<PropsT> = React.memo((props) => {\n    const { truck } = props;\n\n    return (\n        <div className={cx('emission-class')}>\n            <EmissionClassPill isSymmetrical emissionClass={truck.emissionClass} />\n        </div>\n    );\n});\n\nexport default EmissionClassCell;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsChangesT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst prepareApiSystemSettings = (formValues: FormValuesT): SystemSettingsChangesT => {\n    return {\n        TIME_SLOT_TO_BOARD_FERRY: formValues[FieldsEnum.timeSlotToBoardFerry],\n        TIME_SLOT_DISEMBARK_FERRY: formValues[FieldsEnum.timeSlotDisembarkFerry],\n    };\n};\n\nexport default prepareApiSystemSettings;\n","import { isNonNil } from 'common/utils';\nimport requestStatus from 'common/utils/request-status';\nimport keyBy from 'lodash/keyBy';\nimport {\n    FETCH_DISPATCHERS_REQUEST_BEGIN,\n    FETCH_DISPATCHERS_REQUEST_ERROR,\n    FETCH_DISPATCHERS_REQUEST_SUCCESS,\n    DispatchersActionT,\n    DispatchersStateT,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nconst initialState: DispatchersStateT = {\n    request: requestStatus.initial,\n    byId: {},\n    allIds: [],\n};\n\nexport default (state = initialState, action: DispatchersActionT | DestroySessionActionT): DispatchersStateT => {\n    switch (action.type) {\n        case FETCH_DISPATCHERS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                request: requestStatus.loading,\n            };\n        }\n        case FETCH_DISPATCHERS_REQUEST_SUCCESS: {\n            const { dispatchers } = action;\n\n            const allIds: Array<string> = dispatchers.map((dispatcher) => dispatcher.id).filter(isNonNil);\n            const byId = keyBy(dispatchers, 'id');\n\n            return {\n                ...state,\n                byId,\n                allIds,\n                request: requestStatus.ok,\n            };\n        }\n        case FETCH_DISPATCHERS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                request: requestStatus.setError(error),\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { FETCH_DISPATCHERS_REQUEST, FetchDispatchersActionT } from './types';\nimport { fetchDispatchersBegin, fetchDispatchersError, fetchDispatchersSuccess } from './actions';\nimport { selectFetchDispatchersRequest } from './selectors';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction* fetchDispatchersSaga(action: FetchDispatchersActionT): WrapGeneratorT<void> {\n    const request: ReturnType<typeof selectFetchDispatchersRequest> = yield select(selectFetchDispatchersRequest);\n    if (request.ok) {\n        return;\n    }\n\n    yield put(fetchDispatchersBegin());\n\n    const [error, dispatchers]: ReturnApiT<typeof brokerTranziitApi.fetchPartnerDispatchers> =\n        yield brokerTranziitApi.fetchPartnerDispatchers();\n    if (error) {\n        yield put(fetchDispatchersError(error));\n        return;\n    }\n\n    yield put(fetchDispatchersSuccess(dispatchers || []));\n}\n\nfunction* userSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_DISPATCHERS_REQUEST, fetchDispatchersSaga);\n}\n\nexport default userSaga;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './NotificationsBarTrigger.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport BellIcon from 'common/icons/BellIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport SideBar, { SideBarPositionEnum } from 'common/layouts/LeftMenuLayout/SideBar/SideBar';\nimport { selectUnReadNotificationsCount } from 'common/store/notifications/selectors';\nimport { useDispatch, useSelector } from 'react-redux';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport MoreIcon from 'common/icons/MoreIcon';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { useTranslation } from 'react-i18next';\nimport NotificationsBarContent from 'common/components/notifications/NotificationsBarContent/NotificationsBarContent';\n\nimport { markAsRead } from 'common/store/notifications/actions';\nimport useNotificationSideBarContext from 'common/utils/hooks/useNotificationSideBarContext';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst NotificationsBarTrigger: React.FC<PropsT> = React.memo(() => {\n    const { renderNotification, getNotificationLink } = useNotificationSideBarContext();\n\n    const [isOpen, setOpen] = React.useState<boolean>(false);\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const unReadNotificationsCount = useSelector(selectUnReadNotificationsCount);\n\n    const options: Array<DropdownControlOptionT | null> = [\n        unReadNotificationsCount\n            ? {\n                  label: <DropdownControlOptionLabel label={t('common:notification-side-bar.mark-all-as-read')} />,\n                  testSelector: 'mark-all-as-read',\n                  isDisabled: !unReadNotificationsCount,\n                  onSelect: () => {\n                      dispatch(markAsRead([], true));\n                  },\n              }\n            : null,\n    ];\n\n    const hasUnReadNotifications = !!unReadNotificationsCount;\n\n    return (\n        <>\n            <Button\n                horizontalSpaces=\"s\"\n                theme={ButtonThemeEnum.transparent}\n                onClick={() => {\n                    setOpen(true);\n                }}\n            >\n                <div className={cx('inner')}>\n                    {hasUnReadNotifications && (\n                        <NotificationLabel\n                            className={cx('count')}\n                            count={unReadNotificationsCount}\n                            theme={NotificationLabelThemeEnum.orange}\n                        />\n                    )}\n                    <BellIcon\n                        strokeColor={\n                            hasUnReadNotifications ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.gray\n                        }\n                        fillColor={\n                            hasUnReadNotifications ? StyleGuideColorsEnum.brandAccent : StyleGuideColorsEnum.light\n                        }\n                    />\n                </div>\n            </Button>\n            <SideBar\n                isShow={isOpen}\n                isNarrow\n                position={SideBarPositionEnum.right}\n                onClose={() => {\n                    setOpen(false);\n                }}\n            >\n                {(close) =>\n                    isOpen ? (\n                        <>\n                            <HeaderSideBarLayout>\n                                <HeaderSideBarContent\n                                    title={\n                                        <div className={cx('header')}>\n                                            <div>{t('common:notification-side-bar.title')}</div>\n                                            {hasUnReadNotifications && (\n                                                <NotificationLabel\n                                                    className={cx('header-count')}\n                                                    count={unReadNotificationsCount}\n                                                    theme={NotificationLabelThemeEnum.orange}\n                                                />\n                                            )}\n                                        </div>\n                                    }\n                                    onClose={close}\n                                    rightNode={\n                                        <DropdownControl\n                                            overlayClassName={cx('overlay')}\n                                            options={options}\n                                            renderTrigger={(isActive, onClick) => (\n                                                <TransparentTrigger\n                                                    isPressed={isActive}\n                                                    onClick={onClick}\n                                                    leftIcon={<MoreIcon />}\n                                                    reflectionTheme={ReflectionThemeEnum.light}\n                                                    testSelector=\"notification-actions-trigger\"\n                                                />\n                                            )}\n                                            testSelector=\"notification-actions\"\n                                            overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                        />\n                                    }\n                                />\n                            </HeaderSideBarLayout>\n                            <SideBarLayout withoutScrollbar isWide>\n                                <NotificationsBarContent\n                                    renderNotification={renderNotification}\n                                    getNotificationLink={getNotificationLink}\n                                />\n                            </SideBarLayout>\n                        </>\n                    ) : null\n                }\n            </SideBar>\n        </>\n    );\n});\n\nexport default NotificationsBarTrigger;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst RFQIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor, size } = props;\n\n    return (\n        <svg\n            width={size}\n            height={size}\n            viewBox=\"0 0 20 20\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n        >\n            <defs>\n                <path d=\"M0 0h18v18H0V0z\" id=\"0pe2llqa4a\" />\n            </defs>\n            <g xlinkHref=\"#0pe2llqa4a\" fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    d=\"M10.008 14.5c-1.11 0-2.063-.607-2.588-1.5H4.75v2.25h10.5V13h-2.662a2.985 2.985 0 0 1-2.58 1.5z\"\n                    fillOpacity=\".3\"\n                    fill={fillColor}\n                />\n                <path\n                    d=\"M13 7.75h-1.912V5.5H8.913v2.25H7l3 3 3-3zm2.25-4.5H4.742c-.832 0-1.492.675-1.492 1.5v10.5c0 .825.66 1.5 1.492 1.5H15.25c.825 0 1.5-.675 1.5-1.5V4.75c0-.825-.675-1.5-1.5-1.5zm0 12H4.75V13h2.67a2.988 2.988 0 0 0 2.588 1.5c1.11 0 2.062-.607 2.587-1.5h2.655v2.25zm0-3.75h-3.742c0 .825-.675 1.5-1.5 1.5s-1.5-.675-1.5-1.5H4.75l-.008-6.75H15.25v6.75z\"\n                    fill={strokeColor}\n                />\n            </g>\n        </svg>\n    );\n};\n\nRFQIcon.displayName = 'RFQIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandDark,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n    size: DEFAULT_ICON_SIZE,\n};\n\nexport { storyProps };\nexport default RFQIcon;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ButtonGroup.scss';\nimport cs from 'classnames';\n\nconst cx = classNames.bind(styles);\n\nexport type PropsT = {\n    className?: string;\n};\n\nconst ButtonGroup: React.FC<PropsT> = React.memo((props) => {\n    const { className, children } = props;\n\n    return (\n        <div className={cs(cx('button-group'), className)} data-test-selector=\"button-group\">\n            {children}\n        </div>\n    );\n});\n\nexport default ButtonGroup;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { BrokerOrderShortT, FetchBrokerOrdersPageQueryT } from './models';\n\nexport type BrokerOrderStateT = PaginationStateT<BrokerOrderShortT, FetchBrokerOrdersPageQueryT>;\n\nconst initialState: BrokerOrderStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n};\n\nexport const brokerOrdersSlice = createSlice({\n    name: 'brokerOrders',\n    initialState,\n    reducers: {\n        fetchBrokerOrdersPage: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                pageNumber: PageNumberT;\n                query: FetchBrokerOrdersPageQueryT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchBrokerOrdersPageBegin: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerOrdersPageQueryT;\n                pageNumber: PageNumberT;\n            }>,\n        ) => {\n            const { pageNumber, query } = action.payload;\n\n            Object.assign(state, pageBeginReducer(state, pageNumber, query));\n        },\n        fetchBrokerOrdersPageSuccess: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerOrdersPageQueryT;\n                pageNumber: PageNumberT;\n                pageResponse: PageResponseT<BrokerOrderShortT> | null;\n            }>,\n        ) => {\n            const { query, pageNumber, pageResponse } = action.payload;\n\n            Object.assign(state, pageSuccessReducer(state, pageNumber, query, pageResponse));\n        },\n        fetchBrokerOrdersPageError: (\n            state,\n            action: PayloadAction<{\n                query: FetchBrokerOrdersPageQueryT;\n                pageNumber: PageNumberT;\n                error: Error;\n            }>,\n        ) => {\n            const { query, error, pageNumber } = action.payload;\n\n            Object.assign(state, pageErrorReducer(state, pageNumber, query, error));\n        },\n        resetBrokerOrders: (\n            state,\n            action: PayloadAction<{\n                mutationListOptions: MutationListOptionsT;\n            }>,\n        ) => {\n            const { mutationListOptions } = action.payload;\n\n            Object.assign(state, initialState, resetPagesCacheReducer(initialState, state, mutationListOptions));\n        },\n    },\n    extraReducers: (builder) => {\n        builder.addCase('auth/destroySession', () => {\n            return initialState;\n        });\n    },\n});\n\nexport const {\n    fetchBrokerOrdersPage,\n    fetchBrokerOrdersPageBegin,\n    fetchBrokerOrdersPageSuccess,\n    fetchBrokerOrdersPageError,\n    resetBrokerOrders,\n} = brokerOrdersSlice.actions;\n\nexport default brokerOrdersSlice.reducer;\n","import React from 'react';\n\nexport type ScrollTopContextT = {\n    value: number;\n    setValue: (value: number) => void;\n};\n\nconst useScrollTop = (): ScrollTopContextT => {\n    const [value, setValue] = React.useState<number>(0);\n\n    return {\n        value,\n        setValue,\n    };\n};\n\nexport default useScrollTop;\n","import { TransportOrderTypeEnum } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    orderType = 'orderType',\n    receiveDates = 'receiveDates',\n\n    dictTrailerId = 'dictTrailerId',\n    plateNumber = 'plateNumber',\n\n    originAddress = 'originAddress',\n    destinationAddress = 'destinationAddress',\n\n    driverId = 'driverId',\n    driverName = 'driverName',\n    minPrice = 'minPrice',\n    maxPrice = 'maxPrice',\n\n    pickupDates = 'pickupDates',\n    dropoffDates = 'dropoffDates',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.orderType]: TransportOrderTypeEnum | null;\n    [FieldsEnum.receiveDates]: DateRangeT | null;\n\n    [FieldsEnum.dictTrailerId]: string | null;\n    [FieldsEnum.plateNumber]: string | null;\n\n    [FieldsEnum.originAddress]: string | null;\n    [FieldsEnum.destinationAddress]: string | null;\n\n    [FieldsEnum.driverId]: DriverIdT | null;\n    [FieldsEnum.driverName]: string | null;\n    [FieldsEnum.minPrice]: string;\n    [FieldsEnum.maxPrice]: string;\n\n    [FieldsEnum.pickupDates]: DateRangeT | null;\n    [FieldsEnum.dropoffDates]: DateRangeT | null;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"CreateCell__wrap___Dm_cY\",\"fadeIn\":\"CreateCell__fadeIn___pDWmt\",\"blinking\":\"CreateCell__blinking___gVFGU\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './ShipperContractLaneDetailsPage.scss';\nimport BaseShipperContractLaneDetailsLayout from 'common/layouts/BaseShipperContractLaneDetailsLayout/BaseShipperContractLaneDetailsLayout';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport { useParams } from 'react-router-dom';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { selectShipperContractLaneDetailsState } from 'common/store/shipper-contract-lane-details/selectors';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport { ShipperContractLaneRoutesEnum } from 'broker-admin/constants';\nimport { logWarning } from 'common/utils/logger';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n};\n\nconst ShipperContractLaneDetailsPage: React.FC<PropsT> = React.memo((props) => {\n    const { onClose } = props;\n\n    const permissions = useSelector(selectPermissions);\n\n    const { t } = useTranslation();\n\n    const params = useParams<ExtractRouterRouteParamsT<ShipperContractLaneRoutesEnum.laneDetails>>();\n    const { laneId, contractId } = params;\n\n    const { partnerId } = usePartnerContext();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const handleOpenUserDetails = (userId: UserIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenUserDetails');\n            return;\n        }\n        openLeftSidebar(\n            {\n                type: CommonSidebarsTypeEnum.contact,\n                partnerId,\n                partnerType: PartnerTypeEnum.broker,\n                userId,\n            },\n            {\n                isForceShowBackAction: true,\n            },\n        );\n    };\n\n    const { data } = useSelector(selectShipperContractLaneDetailsState(laneId));\n\n    if (!partnerId) {\n        logWarning('Empty partnerId in ShipperContractLaneDetailsPage');\n        return null;\n    }\n\n    return (\n        <>\n            <PageTitle\n                title={t('page-titles.shipper-lane-details', {\n                    laneName: data?.tztLaneId || '',\n                })}\n            />\n            <BaseShipperContractLaneDetailsLayout\n                laneId={laneId}\n                contractId={contractId}\n                partnerId={partnerId}\n                onClose={onClose}\n                onOpenUserDetails={handleOpenUserDetails}\n                isReadOnly={!permissions.canEditShipperContracts}\n            />\n        </>\n    );\n});\n\nexport default ShipperContractLaneDetailsPage;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DriversPageLayout.scss';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport ExpandIcon from 'common/icons/ExpandIcon';\nimport DropdownControl, {\n    DropdownControlOptionT,\n} from 'design-system/components/dropdowns/DropdownControl/DropdownControl';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { ApiInviteDriverRequestT, DriversSortEnum } from 'common/utils/api/models';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectDriversById,\n    selectDriversPages,\n    selectDriversTotal,\n    selectInviteDriverRequest,\n    selectUpdateDriverRequest,\n} from 'common/store/drivers/selectors';\nimport { fetchDriversPage, inviteDriver } from 'common/store/drivers/actions';\nimport { CompanyDriverT } from 'common/store/drivers/models';\nimport DriversTable from './DriversTable/DriversTable';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport { isNonNil } from 'common/utils';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport { prepareFetchPageQuery } from 'common/layouts/DriversPageLayout/prepare-fetch-page-query';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport { TabEnum } from './constants';\nimport TabLabel from 'common/components/tabs/TabLabel/TabLabel';\nimport { TabsThemesEnum, TabLabelSizeEnum } from 'common/components/tabs/TabLabel/constants';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { driversPaginationChannel, driversRefreshChannel } from 'common/store/drivers/channels';\nimport { useQueryParams, withDefault } from 'use-query-params';\nimport { createEnumParam } from 'serialize-query-params/src/params';\nimport { useCheckOpenedSidebar, useOpenedSidebar, useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport DriverInviteModal, {\n    DriverInviteModalDataT,\n} from 'common/layouts/DriversPageLayout/dialogs/DriverInviteModal/DriverInviteModal';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport { DriverDetailsSidebarDataT } from 'common/layouts/SideBars/contents/DriverDetailsSidebarContent/models';\nimport { EditDriverDetailsSidebarDataT } from 'common/layouts/SideBars/contents/EditDriverSidebarContent/models';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkFilters } from 'common/components/Table/utils/check-filters';\nimport TabGroup from 'common/components/tabs/TabGroup/TabGroup';\n\nconst cx = classNames.bind(styles);\n\nconst TAB_LABEL_T: Record<TabEnum, string> = {\n    [TabEnum.active]: 'common:drivers-page.tabs.active',\n    [TabEnum.archive]: 'common:drivers-page.tabs.archive',\n};\n\nconst TABS_ORDER: TabEnum[] = [TabEnum.active, TabEnum.archive];\n\ntype PropsT = {};\n\nconst DriversPageLayout: React.FC<PropsT> = React.memo(() => {\n    const { partnerId } = usePartnerContext();\n\n    const permissions = useSelector(selectPermissions);\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.driversPage]: createPageNumberParam(),\n        [QueryKeysEnum.driversSort]: createSortParams<DriversSortEnum>({\n            value: DriversSortEnum.name,\n            direction: SortDirectionEnum.ASC,\n        }),\n        [QueryKeysEnum.driversFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.driversTab]: withDefault(createEnumParam<TabEnum>(Object.values(TabEnum)), TabEnum.active),\n    });\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    const total = useSelector(selectDriversTotal(partnerId));\n    const driversPages = useSelector(selectDriversPages(partnerId));\n    const driverById = useSelector(selectDriversById(partnerId));\n\n    const driverInviteModal = useModalDialog<DriverInviteModalDataT>();\n\n    const selectedSort = query[QueryKeysEnum.driversSort];\n    const pageNumber = query[QueryKeysEnum.driversPage];\n    const activeTab = query[QueryKeysEnum.driversTab];\n\n    const queryFilters = query[QueryKeysEnum.driversFilters];\n    const page = driversPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const updateDriversRequestStatus = useSelector(selectUpdateDriverRequest(partnerId));\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in DriversPageLayout useEffect');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, activeTab, selectedSort);\n\n        dispatch(fetchDriversPage(pageNumber, query, partnerId));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, activeTab, partnerId]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in refreshPageHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, activeTab, selectedSort);\n\n        dispatch(fetchDriversPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, activeTab, partnerId]);\n    useChannelSubscribe(driversRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleRefreshOnError');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, activeTab, selectedSort);\n        dispatch(fetchDriversPage(pageNumber, query, partnerId, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, activeTab, partnerId]);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in documentVisibilityChangeHandler');\n            return;\n        }\n        const query = prepareFetchPageQuery(queryFilters, activeTab, selectedSort);\n\n        dispatch(fetchDriversPage(pageNumber, query, partnerId, { isForceUpdate: false }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters, activeTab, partnerId]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const drivers = React.useMemo(() => {\n        return (ids || []).map((id) => driverById[id as string]).filter(isNonNil);\n    }, [ids, driverById]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.driversPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof driversPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(driversPaginationChannel, setPageHandler);\n\n    const sortOptions: Array<SortDropdownOptionT<DriversSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('common:drivers-page.sorts.triggers.name'),\n                value: DriversSortEnum.name,\n            },\n            {\n                label: t('common:drivers-page.sorts.triggers.surname'),\n                value: DriversSortEnum.surname,\n            },\n            {\n                label: t('common:drivers-page.sorts.triggers.created-date'),\n                value: DriversSortEnum.createdDate,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<DriversSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.driversPage]: 0,\n            [QueryKeysEnum.driversSort]: sort,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        changeQuery({\n            [QueryKeysEnum.driversPage]: 0,\n            [QueryKeysEnum.driversFilters]: selectedQueryFilters,\n        });\n    };\n\n    const inviteRequestStatus = useSelector(selectInviteDriverRequest(partnerId));\n\n    useCloseModalDialogAfterRequest(inviteRequestStatus, [driverInviteModal]);\n\n    const handleInviteUser = (newDriver: ApiInviteDriverRequestT): void => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleInviteUser');\n            return;\n        }\n        dispatch(inviteDriver(newDriver, partnerId));\n    };\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                render: (queryFilters) => {\n                    return t('common:drivers-page.filter-labels.name', {\n                        value: queryFilters[QueryFiltersKeysEnum.name],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.name],\n            },\n            {\n                render: (queryFilters) => {\n                    return t('common:drivers-page.filter-labels.search-text', {\n                        value: queryFilters[QueryFiltersKeysEnum.searchText],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.searchText],\n            },\n        ],\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [t, queryFilters],\n    );\n\n    const handleSelectRow = (event: React.MouseEvent, driver: CompanyDriverT) => {\n        if (!driver.id) {\n            return;\n        }\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleSelectRow');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.driverDetails,\n            driverId: driver.id,\n            partnerId,\n        });\n    };\n\n    const handleSelectTab = (tab: TabEnum): void => {\n        changeQuery({\n            [QueryKeysEnum.driversPage]: 0,\n            [QueryKeysEnum.driversTab]: tab,\n        });\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.driversFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.driversPage]: 0,\n            [QueryKeysEnum.driversFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.name]: undefined,\n            [QueryFiltersKeysEnum.searchText]: searchText,\n        });\n    };\n\n    const editDriverDetailsSidebarData = useOpenedSidebar<EditDriverDetailsSidebarDataT>(\n        CommonSidebarsTypeEnum.editDriverDetails,\n    );\n    const driverDetailsSidebarData = useOpenedSidebar<DriverDetailsSidebarDataT>(CommonSidebarsTypeEnum.driverDetails);\n\n    const selectedDriverId = editDriverDetailsSidebarData?.driverId || driverDetailsSidebarData?.driverId || null;\n\n    const driverCreationOptions: Array<DropdownControlOptionT> = [\n        {\n            label: <DropdownControlOptionLabel label={t('common:drivers-page.add-driver-trigger.add-manually')} />,\n            onSelect: () => {\n                if (!partnerId) {\n                    logWarning('Empty partnerId in addDriver');\n                    return;\n                }\n\n                openLeftSidebar({\n                    type: CommonSidebarsTypeEnum.addDriver,\n                    partnerId,\n                });\n            },\n        },\n        {\n            label: <DropdownControlOptionLabel label={t('common:drivers-page.add-driver-trigger.invite-via-phone')} />,\n            onSelect: () => {\n                driverInviteModal.setData({});\n            },\n        },\n    ];\n\n    const isOpenedFilters = useCheckOpenedSidebar(CommonSidebarsTypeEnum.driverFilters);\n    const openSpotRequestsFilter = React.useCallback(() => {\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.driverFilters,\n        });\n    }, [openLeftSidebar]);\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(drivers, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkFilters(\n            [query[QueryKeysEnum.driversTab] !== TabEnum.active ? query[QueryKeysEnum.driversTab] : null],\n            [query[QueryKeysEnum.driversFilters]],\n        );\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('common:drivers-page.table.messages.not-found.title')}\n                    description={t('common:drivers-page.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('common:drivers-page.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('common:drivers-page.table.messages.empty-quick-filters.title')}\n                    description=\"\"\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('common:drivers-page.table.messages.empty.title')}\n                description={t('common:drivers-page.table.messages.empty.description')}\n                isShowAction\n                actionTitle={t('common:drivers-page.table.messages.empty.action')}\n                onActionClick={() => {\n                    driverInviteModal.setData({});\n                }}\n            />\n        );\n    };\n\n    return (\n        <>\n            <ContentMargins>\n                <TabGroup className={cx('tabs')} size={TabLabelSizeEnum.small}>\n                    {TABS_ORDER.map((tab, tabIndex) => (\n                        <TabLabel\n                            isCompact\n                            key={tabIndex}\n                            size={TabLabelSizeEnum.small}\n                            theme={TabsThemesEnum.light}\n                            onClick={() => {\n                                handleSelectTab(tab);\n                            }}\n                            isActive={tab === activeTab}\n                        >\n                            {t(TAB_LABEL_T[tab])}\n                        </TabLabel>\n                    ))}\n                </TabGroup>\n                <ListPageLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                <FiltersTrigger\n                                    title={t('common:drivers-page.filters.trigger')}\n                                    isActive={isOpenedFilters}\n                                    onClick={openSpotRequestsFilter}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                                <SearchControl\n                                    placeholder={t('common:drivers-page.search-placeholder')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                            </>\n                        }\n                        rightToolsNode={\n                            permissions.canEditDrivers ? (\n                                <DropdownControl\n                                    options={driverCreationOptions}\n                                    renderTrigger={(isActive, onClick) => (\n                                        <Button\n                                            theme={ButtonThemeEnum.primary}\n                                            onClick={onClick}\n                                            rightIcon={<ExpandIcon fillColor={StyleGuideColorsEnum.white} />}\n                                            isPressed={isActive}\n                                        >\n                                            {t('common:drivers-page.add-driver-trigger.add')}\n                                        </Button>\n                                    )}\n                                    overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                />\n                            ) : null\n                        }\n                        filterTagsNode={\n                            <FilterPills<QueryFiltersT>\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                                config={filterPillsConfig}\n                            />\n                        }\n                    />\n                    {renderTableMessage()}\n                    <DriversTable\n                        drivers={drivers}\n                        isShowStatus={activeTab === TabEnum.active}\n                        selectedDriverId={selectedDriverId}\n                        onSelectRow={handleSelectRow}\n                        isLoading={requestStatus?.loading || updateDriversRequestStatus?.loading}\n                    />\n                </ListPageLayout>\n            </ContentMargins>\n            <StickyFooter>\n                <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n            </StickyFooter>\n            <DriverInviteModal\n                data={driverInviteModal.data}\n                onClose={driverInviteModal.onClose}\n                onInviteUser={handleInviteUser}\n                requestStatus={inviteRequestStatus}\n            />\n        </>\n    );\n});\n\nexport default DriversPageLayout;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"DevelopmentSettings__inner___tsALP\",\"control\":\"DevelopmentSettings__control___Anp6e\",\"fadeIn\":\"DevelopmentSettings__fadeIn___suuhX\",\"blinking\":\"DevelopmentSettings__blinking____X5zf\"};","import { StateT } from 'broker-admin/store/models';\nimport { DriverSearchStateT } from './types';\n\nexport const selectSearchDriverQuery = (state: StateT): DriverSearchStateT['query'] => state.driverSearch.query;\nexport const selectSearchDriverRequest = (state: StateT): DriverSearchStateT['request'] => state.driverSearch.request;\n\nexport const selectSearchDriverIds = (state: StateT): DriverSearchStateT['allIds'] => state.driverSearch.allIds;\nexport const selectSearchDriverById = (state: StateT): DriverSearchStateT['byId'] => state.driverSearch.byId;\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"BrokerToursTable__table__header___dx5Fg\",\"table__header--id\":\"BrokerToursTable__table__header--id___fApmI\",\"table__header--status\":\"BrokerToursTable__table__header--status___hneZp\",\"table__column\":\"BrokerToursTable__table__column___Zbxcl\",\"table__column--id\":\"BrokerToursTable__table__column--id___Or9Ie\",\"table__column--created\":\"BrokerToursTable__table__column--created____0hBH\",\"table__column--type\":\"BrokerToursTable__table__column--type___b3pM6\",\"table__column--status\":\"BrokerToursTable__table__column--status___YqXbK\",\"table__column--has-warnings\":\"BrokerToursTable__table__column--has-warnings___LQueK\",\"table__column--origin\":\"BrokerToursTable__table__column--origin___wOZ2L\",\"table__column--destination\":\"BrokerToursTable__table__column--destination___Oeu6Z\",\"table__column--carrier\":\"BrokerToursTable__table__column--carrier___wa2PF\",\"fadeIn\":\"BrokerToursTable__fadeIn___dDMO9\",\"blinking\":\"BrokerToursTable__blinking___GVMKd\"};","import * as React from 'react';\nimport { ApiTourStatusT, TourStatusEnum } from 'common/utils/api/models';\nimport ColoredStatusLabel, {\n    colorCodingColoredStatusTheme,\n    PropsT as ColoredStatusLabelPropsT,\n} from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport TourStatus from 'common/components/status/TourStatus/TourStatus';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = Omit<ColoredStatusLabelPropsT, 'label' | 'color'> & {\n    status: ApiTourStatusT | null | undefined;\n};\n\nexport const TOUR_STATUS_COLOR_MAP: Record<ApiTourStatusT, StyleGuideColorsEnum> = {\n    [TourStatusEnum.carrierUnassigned]: colorCodingColoredStatusTheme.attention,\n    [TourStatusEnum.carrierAssigned]: colorCodingColoredStatusTheme.normal,\n    [TourStatusEnum.inTransit]: colorCodingColoredStatusTheme.normal,\n    [TourStatusEnum.finished]: colorCodingColoredStatusTheme.positive,\n    [TourStatusEnum.canceled]: colorCodingColoredStatusTheme.normal,\n};\n\nconst TourColoredStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status, ...restProps } = props;\n\n    if (!status) {\n        return null;\n    }\n\n    const color = TOUR_STATUS_COLOR_MAP[status];\n\n    return <ColoredStatusLabel {...restProps} label={<TourStatus status={status} />} color={color} />;\n});\n\nexport default TourColoredStatus;\n","import {\n    CompanyRFQsStateT,\n    FETCH_RFQS_PAGE_REQUEST_BEGIN,\n    FETCH_RFQS_PAGE_REQUEST_ERROR,\n    FETCH_RFQS_PAGE_REQUEST_SUCCESS,\n    RESET_RFQS,\n    RFQsActionT,\n    RFQsStateT,\n} from './types';\nimport requestStatus from 'common/utils/request-status';\nimport { pageBeginReducer, pageSuccessReducer, resetPagesCacheReducer } from 'common/utils/pagination/reducers';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\n\nexport const initialCompanyRFQsState: CompanyRFQsStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n};\n\nconst initialState: RFQsStateT = {};\n\nexport default (state = initialState, action: RFQsActionT | DestroySessionActionT): RFQsStateT => {\n    switch (action.type) {\n        case FETCH_RFQS_PAGE_REQUEST_BEGIN: {\n            const { pageNumber, query, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyRFQsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageBeginReducer(companyState, pageNumber, query),\n                },\n            };\n        }\n        case FETCH_RFQS_PAGE_REQUEST_SUCCESS: {\n            const { query, pageNumber, pageResponse, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyRFQsState;\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    ...pageSuccessReducer(companyState, pageNumber, query, pageResponse),\n                },\n            };\n        }\n        case FETCH_RFQS_PAGE_REQUEST_ERROR: {\n            const { error, pageNumber, companyId } = action;\n\n            const companyState = state[companyId] || initialCompanyRFQsState;\n\n            const newPages = [...companyState.pages];\n            newPages.splice(pageNumber, 1, {\n                ...companyState.pages[pageNumber],\n                requestStatus: requestStatus.setError(error),\n            });\n\n            return {\n                ...state,\n                [companyId]: {\n                    ...companyState,\n                    pages: newPages,\n                },\n            };\n        }\n        case RESET_RFQS: {\n            const { companyId, mutationListOptions } = action;\n\n            const companyState = state[companyId] || initialCompanyRFQsState;\n\n            return {\n                ...initialState,\n                [companyId]: {\n                    ...initialCompanyRFQsState,\n                    ...resetPagesCacheReducer(initialCompanyRFQsState, companyState, mutationListOptions),\n                },\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return {\n                ...initialState,\n            };\n        }\n        default:\n            return state;\n    }\n};\n","import createBrowserHistory from 'history/createBrowserHistory';\n// import createHashHistory from 'history/createHashHistory';\nimport { SidebarQueryKeysEnum } from 'common/layouts/SideBars/models';\nimport qs from 'qs';\n\nconst customHistory = createBrowserHistory<HistoryStateT>();\nexport default customHistory;\n\ntype OptionsT = {\n    shouldCloseSidebars?: boolean;\n};\n\nexport const goBackIfHasRePath = (callback: () => void, options?: OptionsT) => {\n    if (customHistory.location.state?.rePath) {\n        let rePath = customHistory.location.state?.rePath;\n\n        if (options) {\n            const url = new URL(window.location.origin + rePath);\n\n            const query = qs.parse(url.search.slice(1));\n\n            if (options?.shouldCloseSidebars) {\n                delete query[SidebarQueryKeysEnum.rightSidebar];\n                delete query[SidebarQueryKeysEnum.leftSidebar];\n            }\n            rePath = [url.pathname, `${query ? `?` : ''}${qs.stringify(query)}`, url.hash ? `#${url.hash}` : '']\n                .filter(Boolean)\n                .join('');\n        }\n\n        customHistory.push(rePath);\n        return;\n    }\n\n    callback();\n};\n\nexport const goToPossiblyExternalUrl = (url: string | object) => {\n    if (typeof url === 'string' && url.startsWith('http')) {\n        window.location.href = url;\n        return;\n    }\n\n    customHistory.push(url);\n};\n\nconst ROOT_BASEPATH = ''; // or '/#'\n\nexport const createSelfExternalUrl = (relativePath: string) => {\n    return `${window.location.origin}${ROOT_BASEPATH}${relativePath}`;\n};\n\nexport const getCurrentRelativePath = (url: string): string => {\n    return url.replace(`${window.location.origin}${ROOT_BASEPATH}`, '');\n};\n\nexport const createExternalRelativePath = (restUrl: string): string => {\n    return `${ROOT_BASEPATH}${restUrl}`;\n};\n","import { FieldsEnum, FormValuesT } from '../EditDriverSidebarContent/EditDriverFormContent/constants';\nimport { ApiContactFormalEnum } from 'common/utils/api/models';\nimport { PHONE_NUMBER_PREFIX } from 'common/constants';\n\nconst getInitialValues = (): FormValuesT => {\n    return {\n        [FieldsEnum.id]: null,\n        [FieldsEnum.formal]: undefined as unknown as ApiContactFormalEnum,\n        [FieldsEnum.firstName]: '',\n        [FieldsEnum.lastName]: '',\n\n        [FieldsEnum.desktopPhone]: PHONE_NUMBER_PREFIX,\n\n        [FieldsEnum.address]: '',\n\n        [FieldsEnum.birthday]: null,\n        [FieldsEnum.countryCode]: null,\n        [FieldsEnum.language]: null,\n\n        [FieldsEnum.ratePerKm]: '',\n    };\n};\n\nexport default getInitialValues;\n","import React, { useCallback } from 'react';\nimport classNames from 'classnames/bind';\nimport moment from 'moment';\n\nimport styles from './DriverDetailsSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport LoaderOverlay from 'common/layouts/LoaderOverlay/LoaderOverlay';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectCountriesByCode, selectCountriesByLangCode } from 'common/store/countries-dict/selectors';\nimport PhoneNumberIcon from 'common/components/PhoneNumberIcon/PhoneNumberIcon';\nimport { CurrencyEnum, SocialMediaEnum } from 'common/constants';\nimport { isNonNil } from 'common/utils';\nimport chunk from 'lodash/chunk';\nimport isNumber from 'lodash/isNumber';\nimport { FORMAL_T_MAP } from 'common/components/dropdowns/UserFormalDropdown/UserFormalDropdown';\nimport { CommonSidebarDataT, CommonSidebarsTypeEnum, SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { DriverDetailsSidebarDataT } from 'common/layouts/SideBars/contents/DriverDetailsSidebarContent/models';\nimport { useDriverActionOptions } from './hooks/use-driver-action-options';\nimport {\n    selectDriverDetailsById,\n    selectFetchDriverDetailsRequest,\n    selectUpdateDriverRequest,\n} from 'common/store/drivers/selectors';\nimport { activateDriver, archiveDriver, cancelDriverInvite, fetchDriverDetails } from 'common/store/drivers/actions';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport ArchiveDriverConfirmation, {\n    ArchiveDriverConfirmationDataT,\n} from 'common/layouts/DriversPageLayout/dialogs/ArchiveDriverConfirmation/ArchiveDriverConfirmation';\nimport ActivateDriverConfirmation, {\n    ActivateDriverConfirmationDataT,\n} from 'common/layouts/DriversPageLayout/dialogs/ActivateDriverConfirmation/ActivateDriverConfirmation';\nimport CancelDriverInviteModal, {\n    CancelDriverInviteConfirmationDataT,\n} from 'common/layouts/DriversPageLayout/dialogs/CancelDriverInviteModal/CancelDriverInviteModal';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { driverDetailsRefreshChannel } from 'common/store/drivers/channels';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport DriverSidebarHeader from './DriverSidebarHeader/DriverSidebarHeader';\nimport Money from 'common/components/Money/Money';\nimport { CountryCodeT } from 'common/utils/api/models';\nimport DriverStatusPill from 'common/components/status-pill/DriverStatusPill/DriverStatusPill';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<DriverDetailsSidebarDataT, CommonSidebarDataT>;\n\nconst formatBirthday = (birthday: string) => moment(birthday, 'YYYY-MM-DD').format('DD.MM.YYYY');\n\nconst DriverDetailsSidebarContent: React.FC<PropsT> = (props) => {\n    const { data, onClose, onGoBack, onOpenNextSidebar } = props;\n\n    const driverDetailsById = useSelector(selectDriverDetailsById(data.partnerId));\n    const driverDetails = driverDetailsById[data.driverId as DriverIdT];\n\n    const fetchDriverDetailsRequestStatus = useSelector(selectFetchDriverDetailsRequest(data.partnerId));\n    const updateDriversRequestStatus = useSelector(selectUpdateDriverRequest(data.partnerId));\n\n    const archiveDriverConfirmation = useModalDialog<ArchiveDriverConfirmationDataT>();\n    const activateDriverConfirmation = useModalDialog<ActivateDriverConfirmationDataT>();\n    const cancelDriverInviteConfirmation = useModalDialog<CancelDriverInviteConfirmationDataT>();\n\n    useCloseModalDialogAfterRequest(updateDriversRequestStatus, [\n        archiveDriverConfirmation,\n        activateDriverConfirmation,\n        cancelDriverInviteConfirmation,\n    ]);\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchDriverDetails(data.driverId, data.partnerId, { isForceUpdate: false }));\n    }, [data, dispatch]);\n\n    const refreshHandler = useCallback(\n        ({ driverId, partnerId }: InferChannelEventT<typeof driverDetailsRefreshChannel>) => {\n            if (driverId === data.driverId && partnerId === data.partnerId) {\n                dispatch(fetchDriverDetails(data.driverId, data.partnerId, { isForceUpdate: true }));\n            }\n        },\n        [data, dispatch],\n    );\n    useChannelSubscribe(driverDetailsRefreshChannel, refreshHandler);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        dispatch(fetchDriverDetails(data.driverId, data.partnerId, { isForceUpdate: false }));\n    }, [data, dispatch]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const handleEditDriverDetails = useCallback(() => {\n        onOpenNextSidebar({\n            type: CommonSidebarsTypeEnum.editDriverDetails,\n            driverId: data.driverId,\n            partnerId: data.partnerId,\n        });\n    }, [data, onOpenNextSidebar]);\n\n    const headerDropdownOptions = useDriverActionOptions(driverDetails, data.partnerId, {\n        onEdit: handleEditDriverDetails,\n        onCancelInvite: cancelDriverInviteConfirmation.setData,\n        onArchiveDriver: archiveDriverConfirmation.setData,\n        onActivateDriver: activateDriverConfirmation.setData,\n    });\n\n    const { t } = useTranslation();\n\n    const countryByCode = useSelector(selectCountriesByCode);\n    const countryByLangCode = useSelector(selectCountriesByLangCode);\n\n    const mediasNodes = [\n        <ReadOnlyField\n            key=\"contact\"\n            icon={<PhoneNumberIcon phoneNumber={driverDetails?.contact?.deskPhone} />}\n            className={cx('field--contact')}\n            label={t('common:driver-details.fields.desktop-phone.label')}\n            placeholder={t('common:driver-details.fields.desktop-phone.placeholder')}\n            value={driverDetails?.contact?.deskPhone || ''}\n        />,\n        ...(driverDetails?.hasAuthentication\n            ? [\n                  <ReadOnlyField\n                      key=\"mobile-phone\"\n                      icon={<PhoneNumberIcon phoneNumber={driverDetails?.contact?.mobilePhone} />}\n                      className={cx('field--contact')}\n                      label={t('common:driver-details.fields.mobile-phone.label')}\n                      placeholder={t('common:driver-details.fields.mobile-phone.placeholder')}\n                      value={driverDetails?.contact?.mobilePhone || ''}\n                  />,\n              ]\n            : []),\n        ...(driverDetails?.contact?.medias || []).map((media, index) => {\n            if (typeof media.login !== 'string') {\n                return null;\n            }\n\n            const isWellKnownSocialMedia = Object.values(SocialMediaEnum).includes(media.type as SocialMediaEnum);\n\n            return (\n                <ReadOnlyField\n                    key={index}\n                    className={cx('field--contact')}\n                    label={isWellKnownSocialMedia ? t(`common:driver-details.fields.${media.type}.label`) : media.type}\n                    value={media.login || ''}\n                />\n            );\n        }),\n    ].filter(isNonNil);\n\n    const handleConfirmArchive = (data: ArchiveDriverConfirmationDataT): void => {\n        dispatch(archiveDriver(data.driverId, data.companyId));\n    };\n\n    const handleConfirmActivate = (data: ActivateDriverConfirmationDataT): void => {\n        dispatch(activateDriver(data.driverId, data.companyId));\n    };\n\n    const handleConfirmCancelDriverInvite = (data: CancelDriverInviteConfirmationDataT): void => {\n        dispatch(cancelDriverInvite(data.driverUserId, data.companyId));\n\n        if (onClose) {\n            onClose();\n        }\n    };\n\n    const mediaChunks = chunk(mediasNodes, 2);\n\n    return (\n        <>\n            {fetchDriverDetailsRequestStatus.loading && <LoaderOverlay />}\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={driverDetails ? <DriverSidebarHeader driverDetails={driverDetails} /> : null}\n                    afterTitleNode={\n                        driverDetails ? <DriverStatusPill isSymmetrical status={driverDetails?.status || null} /> : null\n                    }\n                    dropdownOptions={headerDropdownOptions}\n                    onClose={onClose}\n                    onGoBack={onGoBack}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>{t('common:driver-details.sections.name')}</div>\n                    <FieldGroup>\n                        <ReadOnlyField\n                            className={cx('field--formal')}\n                            label={t('common:driver-details.fields.formal.label')}\n                            value={\n                                driverDetails?.contact?.formal ? t(FORMAL_T_MAP[driverDetails?.contact?.formal]) : ''\n                            }\n                            placeholder={t('common:fields.placeholder.not-specified')}\n                        />\n                        <ReadOnlyField\n                            className={cx('field--first-name')}\n                            label={t('common:driver-details.fields.first-name.label')}\n                            value={driverDetails?.contact?.name || ''}\n                        />\n                        <ReadOnlyField\n                            className={cx('field--last-name')}\n                            label={t('common:driver-details.fields.last-name.label')}\n                            value={driverDetails?.contact?.surname || ''}\n                        />\n                    </FieldGroup>\n                </div>\n                <div className={cx('section')}>\n                    <div className={cx('section__title')}>{t('common:driver-details.sections.contacts')}</div>\n                    {mediaChunks.map((chunk, chunkIndex) => (\n                        <FieldGroup key={chunkIndex}>{chunk}</FieldGroup>\n                    ))}\n                </div>\n                <div className={cx('section', 'section--isLast')}>\n                    <div className={cx('section__title')}>{t('common:driver-details.sections.personals')}</div>\n                    <ReadOnlyField\n                        className={cx('field--birthday')}\n                        label={t('common:driver-details.fields.address.label')}\n                        value={driverDetails?.homeAddress || ''}\n                        placeholder={t('common:fields.placeholder.not-specified')}\n                    />\n                    <FieldGroup>\n                        <ReadOnlyField\n                            className={cx('field--birthday')}\n                            label={t('common:driver-details.fields.birthday.label')}\n                            value={\n                                driverDetails?.contact?.birthday ? formatBirthday(driverDetails?.contact?.birthday) : ''\n                            }\n                            placeholder={t('common:fields.placeholder.not-specified')}\n                        />\n                        <ReadOnlyField\n                            className={cx('field--country')}\n                            icon={<FlagIcon countryCode={driverDetails?.contact?.residence} />}\n                            label={t('common:driver-details.fields.residence.label')}\n                            value={\n                                countryByCode[driverDetails?.contact?.residence as CountryCodeT]?.userLangDisplayName ||\n                                ''\n                            }\n                            placeholder={t('common:fields.placeholder.not-specified')}\n                        />\n                    </FieldGroup>\n                    <FieldGroup>\n                        <ReadOnlyField\n                            className={cx('field--language')}\n                            label={t('common:driver-details.fields.language.label')}\n                            value={countryByLangCode[driverDetails?.contact?.language as string]?.name || null}\n                            placeholder={t('common:fields.placeholder.not-specified')}\n                        />\n                        <ReadOnlyField\n                            className={cx('field--country')}\n                            label={t('common:driver-details.fields.rate-per-hour.label')}\n                            placeholder={t('common:driver-details.fields.rate-per-hour.placeholder')}\n                            value={\n                                driverDetails && isNumber(driverDetails.rate) ? (\n                                    <Money amount={driverDetails.rate} currency={CurrencyEnum.EUR} />\n                                ) : null\n                            }\n                        />\n                    </FieldGroup>\n                </div>\n            </SideBarLayout>\n            <ArchiveDriverConfirmation\n                data={archiveDriverConfirmation.data}\n                onConfirm={handleConfirmArchive}\n                onCancel={archiveDriverConfirmation.onCancel}\n                onClose={archiveDriverConfirmation.onClose}\n                requestStatus={updateDriversRequestStatus}\n            />\n            <ActivateDriverConfirmation\n                data={activateDriverConfirmation.data}\n                onConfirm={handleConfirmActivate}\n                onCancel={activateDriverConfirmation.onCancel}\n                onClose={activateDriverConfirmation.onClose}\n                requestStatus={updateDriversRequestStatus}\n            />\n            <CancelDriverInviteModal\n                data={cancelDriverInviteConfirmation.data}\n                onConfirm={handleConfirmCancelDriverInvite}\n                onCancel={cancelDriverInviteConfirmation.onCancel}\n                onClose={cancelDriverInviteConfirmation.onClose}\n                requestStatus={updateDriversRequestStatus}\n            />\n        </>\n    );\n};\n\nexport default DriverDetailsSidebarContent;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './DriversAssignmentForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport { useFormik } from 'formik';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport { assign, resetDriverAssignment } from 'common/store/driver-assigment/actions';\nimport { logWarning } from 'common/utils/logger';\nimport { selectAssignmentRequestStatus } from 'common/store/driver-assigment/selectors';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { isNonNil } from 'common/utils';\nimport DriverSuggestInput from 'common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriverSuggestInput/DriverSuggestInput';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { getDriverLabel } from 'common/layouts/TransportOrderDetailsPageLayout/DriversAssignmentForm/DriverSuggestInput/utils';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    transportOrderId: TransportOrderIdT;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    onCancel: () => void;\n    isAllowUnassignDriver: boolean;\n    unnassignDriversRequestStatus: RequestStatusT;\n    onUnnasignDrivers: () => void;\n};\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.driverId]: null,\n    [FieldsEnum.teamDriverId]: null,\n};\n\nconst DriversAssignmentForm: React.FC<PropsT> = (props) => {\n    const {\n        onCancel,\n        transportOrderId,\n        transportOrderDetails,\n        isAllowUnassignDriver,\n        onUnnasignDrivers,\n        unnassignDriversRequestStatus,\n    } = props;\n\n    const driver = transportOrderDetails?.drivers?.[0] || null;\n    const driverId = driver?.id || null;\n    const teamDriver = transportOrderDetails?.drivers?.[1] || null;\n    const teamDriverId = teamDriver?.id || null;\n    const isTeamDrive = !!transportOrderDetails?.tourInfo?.teamDrive;\n\n    const { t } = useTranslation();\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        return () => {\n            dispatch(resetDriverAssignment());\n        };\n    }, [dispatch]);\n\n    const assignmentRequestStatus = useSelector(selectAssignmentRequestStatus);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, isTeamDrive);\n    }, [t, isTeamDrive]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = {\n            ...INITIAL_VALUES,\n            [FieldsEnum.driverId]: driverId || null,\n            [FieldsEnum.teamDriverId]: teamDriverId || null,\n        };\n\n        const errors = validateForm(t, values, isTeamDrive);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [driverId, teamDriverId]);\n\n    const hasInitialDrivers = driverId || teamDriverId;\n\n    const formik = useFormik<FormValuesT>({\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const driverIds: DriverIdT[] = [\n                values[FieldsEnum.driverId],\n                isTeamDrive ? values[FieldsEnum.teamDriverId] : null,\n            ].filter(isNonNil);\n\n            if (!driverIds.length) {\n                logWarning('empty driverIds!');\n                return;\n            }\n\n            dispatch(assign(transportOrderId, driverIds));\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const handleClearDrivers = () => {\n        onUnnasignDrivers();\n    };\n\n    const isLoading = unnassignDriversRequestStatus.loading || assignmentRequestStatus.loading;\n\n    return (\n        <div className={cx('wrap')}>\n            <form onSubmit={formik.handleSubmit}>\n                <div className={cx('title')}>{t('common:driver-assignment.title')}</div>\n                <div className={cx('form')}>\n                    <FormikField\n                        name={FieldsEnum.driverId}\n                        error={formik.errors[FieldsEnum.driverId]}\n                        meta={formik.getFieldMeta(FieldsEnum.driverId)}\n                        label={t('common:driver-assignment.fields.driver.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DriverSuggestInput\n                                value={formik.values[FieldsEnum.driverId]}\n                                initialLabel={getDriverLabel(driver)}\n                                initialValue={driver?.id}\n                                transportOrderId={transportOrderId}\n                                onSelect={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                inputPlaceholder={t('common:driver-assignment.fields.driver.input-placeholder')}\n                                placeholder={t('common:driver-assignment.fields.driver.placeholder')}\n                            />\n                        )}\n                    </FormikField>\n                    {isTeamDrive && (\n                        <FormikField\n                            name={FieldsEnum.teamDriverId}\n                            error={formik.errors[FieldsEnum.teamDriverId]}\n                            meta={formik.getFieldMeta(FieldsEnum.teamDriverId)}\n                            label={t('common:driver-assignment.fields.team-driver.label')}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DriverSuggestInput\n                                    value={formik.values[FieldsEnum.teamDriverId]}\n                                    initialLabel={getDriverLabel(teamDriver)}\n                                    initialValue={teamDriver?.id}\n                                    transportOrderId={transportOrderId}\n                                    onSelect={props.onChange}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    overlayPosition={DropdownOverlayPositionEnum.topLeft}\n                                    inputPlaceholder={t(\n                                        'common:driver-assignment.fields.team-driver.input-placeholder',\n                                    )}\n                                    placeholder={t('common:driver-assignment.fields.team-driver.placeholder')}\n                                />\n                            )}\n                        </FormikField>\n                    )}\n                </div>\n                {hasInitialDrivers ? (\n                    <div className={cx('actions')}>\n                        {isAllowUnassignDriver && (\n                            <Button\n                                theme={ButtonThemeEnum.secondaryDanger}\n                                className={cx('action', 'action--clear-assets')}\n                                onClick={handleClearDrivers}\n                                isLoading={assignmentRequestStatus.loading}\n                                isDisabled={assignmentRequestStatus.loading}\n                            >\n                                {t('common:driver-assignment.actions.clear-drivers', {\n                                    postProcess: 'interval',\n                                    count: transportOrderDetails?.drivers?.length || 0,\n                                })}\n                            </Button>\n                        )}\n                        <div className={cx('sub-actions')}>\n                            <Button\n                                theme={ButtonThemeEnum.secondary}\n                                className={cx('action', 'action--reassign-cancel')}\n                                onClick={onCancel}\n                            >\n                                {t('common:driver-assignment.actions.cancel')}\n                            </Button>\n                            <Button\n                                theme={ButtonThemeEnum.primary}\n                                className={cx('action', 'action--reassign')}\n                                isLoading={isLoading}\n                                isDisabled={isLoading}\n                                type=\"submit\"\n                            >\n                                {t('common:driver-assignment.actions.reassign')}\n                            </Button>\n                        </div>\n                    </div>\n                ) : (\n                    <div className={cx('actions')}>\n                        <Button\n                            theme={ButtonThemeEnum.secondary}\n                            className={cx('action', 'action--assign-cancel')}\n                            onClick={onCancel}\n                        >\n                            {t('common:driver-assignment.actions.cancel')}\n                        </Button>\n                        <Button\n                            theme={ButtonThemeEnum.primary}\n                            className={cx('action', 'action--assign')}\n                            isLoading={isLoading}\n                            isDisabled={isLoading}\n                            type=\"submit\"\n                        >\n                            {t('common:driver-assignment.actions.assign')}\n                        </Button>\n                    </div>\n                )}\n                <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n            </form>\n        </div>\n    );\n};\n\nexport default DriversAssignmentForm;\n","import * as React from 'react';\nimport { DocumentStatusEnum, ApiDocumentStatusT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiDocumentStatusT | null | undefined;\n};\n\nexport const DOCUMENT_STATUS_T_MAP: Record<ApiDocumentStatusT, string> = {\n    [DocumentStatusEnum.waitingForApprove]: 'common:document-status.WAITING_FOR_APPROVE',\n    [DocumentStatusEnum.approved]: 'common:document-status.APPROVED',\n    [DocumentStatusEnum.rejected]: 'common:document-status.REJECTED',\n    [DocumentStatusEnum.revoked]: 'common:document-status.REVOKED',\n    [DocumentStatusEnum.expired]: 'common:document-status.EXPIRED',\n    [DocumentStatusEnum.archived]: 'common:document-status.ARCHIVED',\n};\n\nconst DocumentStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return t('common:document-status.not-upload');\n    }\n\n    return t(DOCUMENT_STATUS_T_MAP[status]);\n});\n\nexport default DocumentStatus;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './UpdatedPartnerDocumentCard.scss';\nimport { Trans } from 'react-i18next';\nimport { ApiDocumentTypeT, ApiPartnerTypeT } from 'common/utils/api/models';\nimport AsyncDictDocumentNameLabel from 'common/components/AsyncDictDocumentNameLabel/AsyncDictDocumentNameLabel';\nimport PartnerName from 'broker-admin/components/notification-cards/entities/PartnerName/PartnerName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    partnerName: string;\n    partnerType: ApiPartnerTypeT | null;\n    documentType: ApiDocumentTypeT;\n};\n\nconst UpdatedPartnerDocumentCard: React.FC<PropsT> = React.memo((props) => {\n    const { partnerName, partnerType, documentType } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-document-updated\"\n                components={{\n                    partnerName: <PartnerName partnerName={partnerName} />,\n                    documentName: (\n                        <AsyncDictDocumentNameLabel\n                            className={cx('document-name')}\n                            partnerType={partnerType}\n                            documentType={documentType}\n                        />\n                    ),\n                }}\n            />\n        </div>\n    );\n});\n\nexport default UpdatedPartnerDocumentCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"toast\":\"Toast__toast___xpU6q\",\"toast--is-show\":\"Toast__toast--is-show___Wyp8f\",\"fadeIn\":\"Toast__fadeIn___Lpajr\",\"blinking\":\"Toast__blinking___iIIGS\"};","import requestStatus from 'common/utils/request-status';\nimport {\n    ASSIGNMENT_REQUEST_BEGIN,\n    ASSIGNMENT_REQUEST_ERROR,\n    ASSIGNMENT_REQUEST_SUCCESS,\n    CHANGE_USER_SELECTION,\n    BrokerOrderAssigmentActionT,\n    BrokerOrderAssigmentStateT,\n    FETCH_ASSET_SCHEDULE_BEGIN,\n    FETCH_ASSET_SCHEDULE_ERROR,\n    FETCH_ASSET_SCHEDULE_SUCCESS,\n    FETCH_ASSIGN_DETAILS_REQUEST_BEGIN,\n    FETCH_ASSIGN_DETAILS_REQUEST_ERROR,\n    FETCH_ASSIGN_DETAILS_REQUEST_SUCCESS,\n    FETCH_AVAILABLE_CARRIERS_REQUEST_BEGIN,\n    FETCH_AVAILABLE_CARRIERS_REQUEST_ERROR,\n    FETCH_AVAILABLE_CARRIERS_REQUEST_SUCCESS,\n    FETCH_AVAILABLE_VEHICLES_REQUEST_BEGIN,\n    FETCH_AVAILABLE_VEHICLES_REQUEST_ERROR,\n    FETCH_AVAILABLE_VEHICLES_REQUEST_SUCCESS,\n    FIND_TRAILER_REQUEST_BEGIN,\n    FIND_TRAILER_REQUEST_ERROR,\n    FIND_TRAILER_REQUEST_SUCCESS,\n    FIND_TRUCK_REQUEST_BEGIN,\n    FIND_TRUCK_REQUEST_ERROR,\n    FIND_TRUCK_REQUEST_SUCCESS,\n    INIT_USER_SELECTION,\n    PREDICT_SELF_COST_REQUEST_BEGIN,\n    PREDICT_SELF_COST_REQUEST_ERROR,\n    PREDICT_SELF_COST_REQUEST_SUCCESS,\n    RESET,\n    ScheduleAssetT,\n    SET_ASSET_SCHEDULE,\n    SET_EVENT_LOAD_ROUTE,\n    SET_INIT_ASSETS_INFO,\n    SET_SELECTED_SCHEDULE_EVENT_ID,\n    SET_SHOW_SELECTED_ASSET_SCHEDULES,\n} from './types';\nimport { SelfCostPredictionT } from 'broker-admin/store/broker-order-assigment/models';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport { ALL_CARRIERS_ID } from 'common/constants';\nimport { getAssignmentVehicleLinks, getTrailerById, getTruckById } from 'common/utils/assignment';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\n\nconst initialUserSelectionValues: BrokerOrderAssigmentStateT['userSelection'] = {\n    truckId: null,\n    trailerId: null,\n    excludedCountries: [],\n    radiusKm: null,\n    carrierId: ALL_CARRIERS_ID,\n    isShowActualPlace: false,\n    isShowUnavailableAssets: false,\n    isShowAssetSchedule: false,\n    isIgnoreCertificates: false,\n    isIgnoreEmissionStandard: false,\n    pointToDropTrailer: null,\n    pointToDropTruck: null,\n};\n\nconst initialAssetSchedule: ScheduleAssetT = {\n    requestStatus: requestStatus.initial,\n    events: [],\n    routeById: {},\n    currentEventId: null,\n};\n\nconst initialState: BrokerOrderAssigmentStateT = {\n    userSelection: initialUserSelectionValues,\n    trailerById: {},\n    truckById: {},\n    truckSuggest: {\n        query: null,\n        requestStatus: requestStatus.initial,\n        ids: [],\n    },\n    trailerSuggest: {\n        query: null,\n        requestStatus: requestStatus.initial,\n        ids: [],\n    },\n    availableVehicles: {\n        query: null,\n        requestStatus: requestStatus.initial,\n        list: [],\n    },\n    links: {\n        byTruckId: {},\n        byTrailerId: {},\n    },\n    selfCostPrediction: {\n        query: null,\n        requestStatus: requestStatus.initial,\n        result: null,\n    },\n    availableCarriers: {\n        requestStatus: requestStatus.initial,\n        carriers: [],\n    },\n    assigmentStatus: requestStatus.initial,\n    currentPositionAssetById: {},\n    scheduleAssetById: {},\n    isShowSelectedAssetSchedules: false,\n    selectedScheduleEventId: null,\n    fetchAssignDetailsStatus: requestStatus.initial,\n};\n\nexport default (\n    state = initialState,\n    action: BrokerOrderAssigmentActionT | DestroySessionActionT,\n): BrokerOrderAssigmentStateT => {\n    switch (action.type) {\n        case INIT_USER_SELECTION:\n        case CHANGE_USER_SELECTION: {\n            const { changes } = action;\n            const { userSelection: prevUserSelection } = state;\n\n            const newUserSelection: typeof prevUserSelection = {\n                ...prevUserSelection,\n                ...changes,\n            };\n\n            return {\n                ...state,\n                userSelection: newUserSelection,\n            };\n        }\n\n        case FETCH_AVAILABLE_VEHICLES_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                availableVehicles: {\n                    ...state.availableVehicles,\n                    requestStatus: requestStatus.loading,\n                    query,\n                },\n            };\n        }\n\n        case FETCH_AVAILABLE_VEHICLES_REQUEST_SUCCESS: {\n            const { vehicles, query } = action;\n\n            if (!checkIsSameQuery(state.availableVehicles.query, query)) {\n                return state;\n            }\n\n            const trailerById = getTrailerById(vehicles, {});\n\n            const truckById = getTruckById(vehicles, {});\n\n            const list = vehicles.map((vehicle) => {\n                return {\n                    trailerId: vehicle?.trailer?.id || null,\n                    truckId: vehicle?.truck?.id || null,\n                };\n            });\n\n            const links = getAssignmentVehicleLinks(vehicles);\n\n            return {\n                ...state,\n                trailerById: {\n                    ...state.trailerById,\n                    ...trailerById,\n                },\n                truckById: {\n                    ...state.truckById,\n                    ...truckById,\n                },\n                links: {\n                    byTruckId: {\n                        ...state.links.byTruckId,\n                        ...links.byTruckId,\n                    },\n                    byTrailerId: {\n                        ...state.links.byTrailerId,\n                        ...links.byTrailerId,\n                    },\n                },\n                availableVehicles: {\n                    ...state.availableVehicles,\n                    list,\n                    requestStatus: requestStatus.ok,\n                },\n            };\n        }\n\n        case FETCH_AVAILABLE_VEHICLES_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(state.availableVehicles.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                availableVehicles: {\n                    ...state.availableVehicles,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FETCH_AVAILABLE_CARRIERS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                availableCarriers: {\n                    ...state.availableCarriers,\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FETCH_AVAILABLE_CARRIERS_REQUEST_SUCCESS: {\n            const { carriers } = action;\n\n            return {\n                ...state,\n                availableCarriers: {\n                    ...state.availableCarriers,\n                    carriers,\n                    requestStatus: requestStatus.ok,\n                },\n            };\n        }\n\n        case FETCH_AVAILABLE_CARRIERS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                availableCarriers: {\n                    ...state.availableCarriers,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FIND_TRAILER_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                trailerSuggest: {\n                    ...state.trailerSuggest,\n                    query,\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FIND_TRAILER_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(state.trailerSuggest.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                trailerSuggest: {\n                    ...state.trailerSuggest,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FIND_TRAILER_REQUEST_SUCCESS: {\n            const { trailersSuggestItems, query } = action;\n\n            if (!checkIsSameQuery(state.trailerSuggest.query, query)) {\n                return state;\n            }\n\n            const ids = trailersSuggestItems.reduce((result, trailersSuggestItem) => {\n                const trailerId = trailersSuggestItem.trailer?.id;\n                if (trailerId) {\n                    result.push(trailerId);\n                }\n\n                return result;\n            }, [] as TrailerIdT[]);\n\n            const trailerById = getTrailerById(trailersSuggestItems, state.trailerById);\n            const truckById = getTruckById(trailersSuggestItems, state.truckById);\n            const links = getAssignmentVehicleLinks(trailersSuggestItems);\n\n            return {\n                ...state,\n                links: {\n                    byTruckId: {\n                        ...state.links.byTruckId,\n                        ...links.byTruckId,\n                    },\n                    byTrailerId: {\n                        ...state.links.byTrailerId,\n                        ...links.byTrailerId,\n                    },\n                },\n                trailerById: {\n                    ...state.trailerById,\n                    ...trailerById,\n                },\n                truckById: {\n                    ...state.truckById,\n                    ...truckById,\n                },\n                trailerSuggest: {\n                    ...state.trailerSuggest,\n                    requestStatus: requestStatus.ok,\n                    ids,\n                },\n            };\n        }\n\n        case SET_INIT_ASSETS_INFO: {\n            const { truck, trailer } = action;\n\n            const trailerById = getTrailerById(trailer ? [trailer] : [], state.trailerById);\n            const truckById = getTruckById(truck ? [truck] : [], state.truckById);\n\n            return {\n                ...state,\n                trailerById: {\n                    ...state.trailerById,\n                    ...trailerById,\n                },\n                truckById: {\n                    ...state.truckById,\n                    ...truckById,\n                },\n            };\n        }\n\n        case FIND_TRUCK_REQUEST_BEGIN: {\n            const { query } = action;\n\n            return {\n                ...state,\n                truckSuggest: {\n                    ...state.truckSuggest,\n                    query,\n                    requestStatus: requestStatus.loading,\n                },\n            };\n        }\n\n        case FIND_TRUCK_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(state.truckSuggest.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                truckSuggest: {\n                    ...state.truckSuggest,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case FIND_TRUCK_REQUEST_SUCCESS: {\n            const { trucksSuggestItems, query } = action;\n\n            if (!checkIsSameQuery(state.truckSuggest.query, query)) {\n                return state;\n            }\n\n            const ids = trucksSuggestItems.reduce((result, trucksSuggestItem) => {\n                const truckId = trucksSuggestItem.truck?.id;\n                if (truckId) {\n                    result.push(truckId);\n                }\n\n                return result;\n            }, [] as TruckIdT[]);\n\n            const trailerById = getTrailerById(trucksSuggestItems, state.trailerById);\n            const truckById = getTruckById(trucksSuggestItems, state.truckById);\n            const links = getAssignmentVehicleLinks(trucksSuggestItems);\n\n            return {\n                ...state,\n                links: {\n                    byTruckId: {\n                        ...state.links.byTruckId,\n                        ...links.byTruckId,\n                    },\n                    byTrailerId: {\n                        ...state.links.byTrailerId,\n                        ...links.byTrailerId,\n                    },\n                },\n                trailerById: {\n                    ...state.trailerById,\n                    ...trailerById,\n                },\n                truckById: {\n                    ...state.truckById,\n                    ...truckById,\n                },\n                truckSuggest: {\n                    ...state.truckSuggest,\n                    requestStatus: requestStatus.ok,\n                    ids,\n                },\n            };\n        }\n\n        case PREDICT_SELF_COST_REQUEST_BEGIN: {\n            const { query } = action;\n\n            let newResult: SelfCostPredictionT | null = state.selfCostPrediction.result;\n            if (newResult) {\n                newResult = {\n                    ...newResult,\n                    truckToTrailerPolylineId: undefined,\n                    trailerToPickupPolylineId: undefined,\n                    payloadPolylineId: undefined,\n                    dropTrailerPolylineId: undefined,\n                    dropTruckPolylineId: undefined,\n                };\n            }\n\n            return {\n                ...state,\n                selfCostPrediction: {\n                    ...state.selfCostPrediction,\n                    query,\n                    requestStatus: requestStatus.loading,\n                    result: newResult,\n                },\n            };\n        }\n\n        case PREDICT_SELF_COST_REQUEST_ERROR: {\n            const { error, query } = action;\n\n            if (!checkIsSameQuery(state.selfCostPrediction.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                selfCostPrediction: {\n                    ...state.selfCostPrediction,\n                    requestStatus: requestStatus.setError(error),\n                },\n            };\n        }\n\n        case PREDICT_SELF_COST_REQUEST_SUCCESS: {\n            const { selfCostPrediction, query } = action;\n\n            if (!checkIsSameQuery(state.selfCostPrediction.query, query)) {\n                return state;\n            }\n\n            return {\n                ...state,\n                selfCostPrediction: {\n                    ...state.selfCostPrediction,\n                    requestStatus: requestStatus.ok,\n                    result: selfCostPrediction,\n                },\n            };\n        }\n\n        case ASSIGNMENT_REQUEST_BEGIN: {\n            return {\n                ...state,\n                assigmentStatus: requestStatus.loading,\n            };\n        }\n\n        case ASSIGNMENT_REQUEST_SUCCESS: {\n            return {\n                ...state,\n                assigmentStatus: requestStatus.ok,\n            };\n        }\n\n        case ASSIGNMENT_REQUEST_ERROR: {\n            const { error } = action;\n            return {\n                ...state,\n                assigmentStatus: requestStatus.setError(error),\n            };\n        }\n\n        case FETCH_ASSET_SCHEDULE_BEGIN: {\n            const { assetId } = action;\n\n            const assetSchedule = state.scheduleAssetById[assetId] || initialAssetSchedule;\n\n            return {\n                ...state,\n                scheduleAssetById: {\n                    ...state.scheduleAssetById,\n                    [assetId]: {\n                        ...assetSchedule,\n                        requestStatus: requestStatus.loading,\n                    },\n                },\n            };\n        }\n\n        case FETCH_ASSET_SCHEDULE_ERROR: {\n            const { assetId, error } = action;\n\n            const assetSchedule = state.scheduleAssetById[assetId] || initialAssetSchedule;\n\n            return {\n                ...state,\n                scheduleAssetById: {\n                    ...state.scheduleAssetById,\n                    [assetId]: {\n                        ...assetSchedule,\n                        requestStatus: requestStatus.setError(error),\n                    },\n                },\n            };\n        }\n\n        case FETCH_ASSET_SCHEDULE_SUCCESS: {\n            const { assetId } = action;\n\n            const assetSchedule = state.scheduleAssetById[assetId] || initialAssetSchedule;\n\n            return {\n                ...state,\n                scheduleAssetById: {\n                    ...state.scheduleAssetById,\n                    [assetId]: {\n                        ...assetSchedule,\n                        requestStatus: requestStatus.ok,\n                    },\n                },\n            };\n        }\n\n        case FETCH_ASSIGN_DETAILS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                fetchAssignDetailsStatus: requestStatus.initial,\n            };\n        }\n\n        case FETCH_ASSIGN_DETAILS_REQUEST_ERROR: {\n            const { error } = action;\n            return {\n                ...state,\n                fetchAssignDetailsStatus: requestStatus.setError(error),\n            };\n        }\n\n        case FETCH_ASSIGN_DETAILS_REQUEST_SUCCESS: {\n            const { details } = action;\n            if (!details) {\n                return state;\n            }\n\n            const { truck, trailer } = details;\n\n            const prevTrailerById = state.trailerById || {};\n\n            const trailerById: typeof state.trailerById = trailer?.id\n                ? {\n                      [trailer.id]: {\n                          id: trailer.id,\n                          assetsToHook: prevTrailerById[trailer.id]?.assetsToHook || (truck?.id ? [truck.id] : []),\n                          ...trailer,\n                      },\n                  }\n                : {};\n\n            const prevTruckById = state.truckById || {};\n\n            const truckById: typeof state.truckById = truck?.id\n                ? {\n                      [truck.id]: {\n                          id: truck.id,\n                          assetsToHook: prevTruckById[truck.id]?.assetsToHook || (trailer?.id ? [trailer.id] : []),\n                          ...truck,\n                      },\n                  }\n                : {};\n\n            return {\n                ...state,\n                trailerById: {\n                    ...state.trailerById,\n                    ...trailerById,\n                },\n                truckById: {\n                    ...state.truckById,\n                    ...truckById,\n                },\n                fetchAssignDetailsStatus: requestStatus.ok,\n            };\n        }\n\n        case SET_ASSET_SCHEDULE: {\n            const { assetId, events, currentEventId } = action;\n\n            const assetSchedule = state.scheduleAssetById[assetId] || initialAssetSchedule;\n\n            return {\n                ...state,\n                scheduleAssetById: {\n                    ...state.scheduleAssetById,\n                    [assetId]: {\n                        ...assetSchedule,\n                        currentEventId,\n                        events,\n                    },\n                },\n            };\n        }\n\n        case SET_EVENT_LOAD_ROUTE: {\n            const { assetId, scheduleEventId, polylines } = action;\n\n            const assetSchedule = state.scheduleAssetById[assetId] || initialAssetSchedule;\n\n            return {\n                ...state,\n                scheduleAssetById: {\n                    ...state.scheduleAssetById,\n                    [assetId]: {\n                        ...assetSchedule,\n                        routeById: {\n                            ...assetSchedule.routeById,\n                            [scheduleEventId]: polylines,\n                        },\n                    },\n                },\n            };\n        }\n\n        case SET_SHOW_SELECTED_ASSET_SCHEDULES: {\n            const { isShowSelectedAssetSchedules } = action;\n            return {\n                ...state,\n                isShowSelectedAssetSchedules,\n                selectedScheduleEventId: isShowSelectedAssetSchedules ? state.selectedScheduleEventId : null,\n            };\n        }\n\n        case SET_SELECTED_SCHEDULE_EVENT_ID: {\n            const { selectedScheduleEventId } = action;\n\n            return {\n                ...state,\n                selectedScheduleEventId,\n            };\n        }\n\n        case RESET: {\n            return {\n                ...initialState,\n            };\n        }\n\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\n\nimport { Route, Switch } from 'react-router-dom';\n\nimport { SettingsRuleRoutesEnum } from 'broker-admin/constants';\nimport PriceSettingsEditRuleDetailsPage from './PriceSettingsEditRuleDetailsPage/PriceSettingsEditRuleDetailsPage';\nimport PriceSettingsRuleCreationPage from './PriceSettingsRuleCreationPage/PriceSettingsRuleCreationPage';\n\ntype PropsT = {};\n\nconst PriceSettingsRulesPage: React.FC<PropsT> = React.memo(() => {\n    return (\n        <Switch>\n            <Route path={SettingsRuleRoutesEnum.newRule} exact>\n                <PriceSettingsRuleCreationPage />\n            </Route>\n            <Route path={SettingsRuleRoutesEnum.ruleDetails}>\n                <PriceSettingsEditRuleDetailsPage />\n            </Route>\n        </Switch>\n    );\n});\n\nexport default PriceSettingsRulesPage;\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport Modal from 'common/components/Modal/Modal';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\nimport { AssetTypeEnum, StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\n\nexport type ImportXLSAssetsDialogModalDataT = {\n    file: File;\n};\n\ntype PropsT = {\n    assetType: AssetTypeEnum;\n    data: ImportXLSAssetsDialogModalDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onImportXLS: (data: ImportXLSAssetsDialogModalDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst CONFIRMATION_T_MAP: Record<\n    AssetTypeEnum,\n    {\n        title: string;\n        message: string;\n    }\n> = {\n    [AssetTypeEnum.truck]: {\n        title: 'common:trucks-page.xls-import-confirmation.title',\n        message: 'common:trucks-page.xls-import-confirmation.message',\n    },\n    [AssetTypeEnum.trailer]: {\n        title: 'common:trailers-page.xls-import-confirmation.title',\n        message: 'common:trailers-page.xls-import-confirmation.message',\n    },\n};\n\nconst TEST_SELECTOR = 'import-xls-assets-dialog-modal';\n\nconst ImportXLSAssetsDialogModal: React.FC<PropsT> = React.memo((props) => {\n    const { assetType, data, onClose, onCancel, onImportXLS, requestStatus } = props;\n\n    const { t } = useTranslation();\n\n    useOnlyChangesEffect(() => {\n        if (requestStatus?.error) {\n            onClose();\n        }\n    }, [requestStatus?.error]);\n\n    if (!data) {\n        return null;\n    }\n\n    const isLoading = !!requestStatus?.loading;\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: isLoading,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.update'),\n                            theme: ButtonThemeEnum.danger,\n                            testSelector: `${TEST_SELECTOR}_update`,\n                            isLoading,\n                            isDisabled: isLoading,\n                            onClick: () => {\n                                onImportXLS(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.tomatoRed} />}\n                    title={t(CONFIRMATION_T_MAP[assetType].title)}\n                    message={t(CONFIRMATION_T_MAP[assetType].message)}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ImportXLSAssetsDialogModal;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './TimeLeftForStart.scss';\nimport { MS_IN_HOUR } from 'common/utils/time';\nimport TimeLeft from 'common/layouts/TimeLeft/TimeLeft';\nimport isNumber from 'lodash/isNumber';\nimport { useTimeMark } from 'common/utils/hooks/useTimeMark';\n\nconst cx = classNames.bind(styles);\n\nconst ASSIGNMENT_WARNING = 24 * MS_IN_HOUR;\n\ntype PropsT = {\n    className?: string;\n    deadline: string | null | undefined;\n    alreadyStartedLabel: React.ReactNode;\n    deadlineLabel: React.ReactNode;\n    renderActions: (isDisabled: boolean) => React.ReactNode | Array<React.ReactNode>;\n    shouldDisableAfterDeadline?: boolean;\n};\n\nconst TimeLeftForStart: React.FC<PropsT> = React.memo((props) => {\n    const { deadline, alreadyStartedLabel, deadlineLabel, shouldDisableAfterDeadline, renderActions } = props;\n\n    const { diff, formattedDiff } = useTimeMark({\n        timeMark: deadline,\n    });\n\n    const isDisabled = !!shouldDisableAfterDeadline && diff !== null && diff <= 0;\n\n    const actionsNode = renderActions(isDisabled);\n    const isEmptyActions = Array.isArray(actionsNode) && actionsNode?.every((item) => !item);\n    if (isEmptyActions) {\n        return null;\n    }\n\n    return (\n        <div className={cx('content')}>\n            {diff !== null && (\n                <div className={cx('status-wrap')}>\n                    <TimeLeft\n                        isWarning={isNumber(diff) && diff <= ASSIGNMENT_WARNING}\n                        isFailed={isNumber(diff) && diff <= 0}\n                        failedMessage={alreadyStartedLabel}\n                        time={formattedDiff}\n                        timeDescription={deadlineLabel}\n                    />\n                </div>\n            )}\n            <div className={cx('actions')}>{actionsNode}</div>\n        </div>\n    );\n});\n\nexport default TimeLeftForStart;\n","// extracted by mini-css-extract-plugin\nexport default {\"route\":\"RFQDetails__route___vWzZ_\",\"table\":\"RFQDetails__table___aEjK5\",\"price-details--target\":\"RFQDetails__price-details--target___FwJFm\",\"price-details--default\":\"RFQDetails__price-details--default___CIzD4\",\"price-details--selected\":\"RFQDetails__price-details--selected___CW5GJ\",\"excluded-countries\":\"RFQDetails__excluded-countries___A4uDZ\",\"separator\":\"RFQDetails__separator___owdWt\",\"fadeIn\":\"RFQDetails__fadeIn___uUc1m\",\"blinking\":\"RFQDetails__blinking___HorHO\"};","import { TrailerStatusEnum } from 'common/utils/api/models';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\n\nexport enum FieldsEnum {\n    dictTrailerTypeId = 'dict-trailer-type-id',\n    status = 'status',\n    plateNumber = 'plate-number',\n    country = 'country',\n    lastTelematicUpdateDates = 'last-telematic-update-dates',\n    contractId = 'contractId',\n    contractName = 'contractName',\n    createDates = 'create-dates',\n    createdByUserId = 'create-dated-by-user-id',\n    createdByUserName = 'create-dated-by-user-name',\n    lastModifyDates = 'last-modify-dates',\n    lastModifyByUserId = 'last-modify-by-user-id',\n    lastModifyByUserName = 'last-modify-by-user-name',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.dictTrailerTypeId]: Array<TrailerDictIdT>;\n    [FieldsEnum.plateNumber]: string;\n    [FieldsEnum.status]: Array<TrailerStatusEnum>;\n    [FieldsEnum.country]: Array<CountryCodeT>;\n    [FieldsEnum.createDates]: DateRangeT | null;\n    [FieldsEnum.createdByUserId]: Array<UserIdT>;\n    [FieldsEnum.createdByUserName]: Array<string>;\n    [FieldsEnum.lastModifyDates]: DateRangeT | null;\n    [FieldsEnum.lastModifyByUserId]: Array<UserIdT>;\n    [FieldsEnum.lastModifyByUserName]: Array<string>;\n    [FieldsEnum.lastTelematicUpdateDates]: DateRangeT | null;\n    [FieldsEnum.contractId]: Array<CarrierContractIdT>;\n    [FieldsEnum.contractName]: Array<string>;\n};\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    className?: string;\n    strokeColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst AssetLinkIcon: React.FC<PropsT> = (props) => {\n    const { size, className, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" className={className}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M3.925 10A2.327 2.327 0 016.25 7.675h3V6.25h-3C4.18 6.25 2.5 7.93 2.5 10c0 2.07 1.68 3.75 3.75 3.75h3v-1.425h-3A2.327 2.327 0 013.925 10zM7 10.75h6v-1.5H7v1.5zm6.75-4.5h-3v1.425h3A2.327 2.327 0 0116.075 10a2.327 2.327 0 01-2.325 2.325h-3v1.425h3c2.07 0 3.75-1.68 3.75-3.75 0-2.07-1.68-3.75-3.75-3.75z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nAssetLinkIcon.displayName = 'AssetLinkIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default AssetLinkIcon;\n\nexport const AssetLinkIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            strokeColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.light,\n        };\n    },\n};\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getAssetLinkIconProps = (\n    preset:\n        | 'default'\n        | 'selected'\n        | 'assignment-normal'\n        | 'assignment-selected'\n        | 'assignment-not-in-time-normal'\n        | 'assignment-not-in-time-selected',\n): PropsT => {\n    switch (preset) {\n        case 'assignment-normal': {\n            return {\n                strokeColor: StyleGuideColorsEnum.white,\n                size: DEFAULT_ICON_SIZE,\n            };\n        }\n        case 'assignment-selected': {\n            return {\n                strokeColor: StyleGuideColorsEnum.brandAccent,\n                size: DEFAULT_ICON_SIZE,\n            };\n        }\n        case 'assignment-not-in-time-normal': {\n            return {\n                strokeColor: StyleGuideColorsEnum.slate,\n                size: DEFAULT_ICON_SIZE,\n            };\n        }\n        case 'assignment-not-in-time-selected': {\n            return {\n                strokeColor: StyleGuideColorsEnum.brandDark,\n                size: DEFAULT_ICON_SIZE,\n            };\n        }\n        case 'selected': {\n            return {\n                strokeColor: StyleGuideColorsEnum.brandAccent,\n                size: DEFAULT_ICON_SIZE,\n            };\n        }\n        default: {\n            return {\n                strokeColor: StyleGuideColorsEnum.white,\n                size: DEFAULT_ICON_SIZE,\n            };\n        }\n    }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"RunOutOfTimeAssignCarrierCard__wrap___SNelU\",\"fadeIn\":\"RunOutOfTimeAssignCarrierCard__fadeIn___sJZaS\",\"blinking\":\"RunOutOfTimeAssignCarrierCard__blinking___Hs6DL\"};","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './SpotRequestListPage.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport SpotRequestsTable from 'broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SpotRequestsTable/SpotRequestsTable';\nimport { useTranslation } from 'react-i18next';\nimport TopBar from 'common/layouts/LeftMenuLayout/TopBar/TopBar';\nimport FiltersTrigger from 'common/components/Table/FiltersTrigger/FiltersTrigger';\nimport SortDropdown, {\n    SortDropdownOptionT,\n    SortDropdownOverlayPositionEnum,\n} from 'common/components/Table/SortDropdown/SortDropdown';\nimport Pagination from 'common/components/Table/Pagination/Pagination';\nimport TableMessage, { TableMessageIconsEnum } from 'common/components/Table/TableMessage/TableMessage';\nimport {\n    createJsonParams,\n    createPageNumberParam,\n    createSortParams,\n    PageSortT,\n    SortDirectionEnum,\n} from 'common/utils/query';\nimport ScrollableContent from 'common/layouts/LeftMenuLayout/ScrollableContent/ScrollableContent';\nimport ContentMargins from 'common/layouts/LeftMenuLayout/ContentMargins/ContentMargins';\nimport StickyFooter from 'common/layouts/LeftMenuLayout/StickyFooter/StickyFooter';\nimport { QuickFiltersOptionT } from 'common/components/Table/QuickFilters/QuickFilters';\nimport { colorCodingNotificationLabelTheme } from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport SearchControl from 'common/components/Table/SearchControl/SearchControl';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport NotificationsBarTrigger from 'common/components/notifications/NotificationsBarTrigger/NotificationsBarTrigger';\nimport TableError from 'common/components/Table/TableError/TableError';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\nimport TopBarContent from 'common/layouts/LeftMenuLayout/TopBarContent/TopBarContent';\nimport ListPageHeaderLayout from 'common/layouts/ListPage/ListPageHeaderLayout/ListPageHeaderLayout';\nimport ListPageHeaderTabsLayout from 'common/layouts/ListPage/ListPageHeaderTabsLayout/ListPageHeaderTabsLayout';\nimport ListPageLayout from 'common/layouts/ListPage/ListPageLayout/ListPageLayout';\nimport { fetchGroupedNotificationCounts } from 'common/store/grouped-notification-counts/actions';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { SpotRequestsQuickFilterEnum } from './constants';\nimport { QueryFiltersKeysEnum, QueryFiltersT, QueryKeysEnum } from './query-models';\nimport { SpotRequestT } from 'broker-admin/store/spot-requests/models';\nimport {\n    selectSpotRequestsByIds,\n    selectSpotRequestsPages,\n    selectSpotRequestsTotal,\n} from 'broker-admin/store/spot-requests/selectors';\nimport { urlFactory as brokerUrlFactory } from 'broker-admin/utils/urls';\nimport { selectSpotRequestsStats } from 'broker-admin/store/spot-requests-stats/selectors';\nimport { fetchSpotRequestsPage } from 'broker-admin/store/spot-requests/actions';\nimport { SpotRequestsSortEnum, SpotRequestStatStatusEnum } from 'broker-admin/utils/api/spot-broker-tranziit/models';\nimport { prepareFetchPageQuery } from './prepare-fetch-page-query';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport { useOpenLeftSidebar } from 'broker-admin/layouts/SideBars/hooks';\nimport { BrokerSidebarsTypeEnum } from 'broker-admin/layouts/SideBars/constants';\nimport SelectedFilters from './SelectedFilters/SelectedFilters';\nimport { useCheckOpenedSidebar } from 'shipper/layouts/SideBars/hooks';\nimport { useQueryParams } from 'use-query-params';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { LinkToT } from 'common/components/Link/Link';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { DEFAULT_BROKER_COMPANY_ID } from 'common/constants';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { spotRequestsPaginationChannel, spotRequestsRefreshChannel } from 'broker-admin/store/spot-requests/channels';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { checkNeedRenderEmptyState } from 'common/components/Table/utils/check-need-render-empty-state';\nimport { checkQueryFiltersKeys } from 'common/components/Table/utils/check-query-filters-keys';\nimport QuickFiltersButtonGroups from 'common/components/Table/QuickFiltersButtonGroups/QuickFiltersButtonGroups';\nimport { fetchSpotRequestsStats } from 'broker-admin/store/spot-requests-stats/actions';\nimport { spotRequestsStatsRefreshChannel } from 'broker-admin/store/spot-requests-stats/channels';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst SpotRequestListPage: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n\n    const total = useSelector(selectSpotRequestsTotal);\n    const spotRequestsPages = useSelector(selectSpotRequestsPages);\n    const spotRequestsById = useSelector(selectSpotRequestsByIds);\n\n    const spotRequestsStats = useSelector(selectSpotRequestsStats);\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const isOpenedFilters = useCheckOpenedSidebar(BrokerSidebarsTypeEnum.spotRequestsFilter);\n    const openLeftSidebar = useOpenLeftSidebar();\n    const openSpotRequestsFilter = React.useCallback(() => {\n        openLeftSidebar({\n            type: BrokerSidebarsTypeEnum.spotRequestsFilter,\n        });\n    }, [openLeftSidebar]);\n\n    const [query, changeQuery] = useQueryParams({\n        [QueryKeysEnum.spotRequestsFilters]: createJsonParams<QueryFiltersT>({}),\n        [QueryKeysEnum.spotRequestsPage]: createPageNumberParam(),\n        [QueryKeysEnum.spotRequestsSort]: createSortParams<SpotRequestsSortEnum>({\n            value: SpotRequestsSortEnum.expirationTime,\n            direction: SortDirectionEnum.DESC,\n        }),\n    });\n\n    const pageNumber = query[QueryKeysEnum.spotRequestsPage];\n    const queryFilters = query[QueryKeysEnum.spotRequestsFilters];\n    const selectedSort = query[QueryKeysEnum.spotRequestsSort];\n\n    const page = spotRequestsPages[pageNumber];\n    const { ids, requestStatus } = page || {};\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchSpotRequestsPage(pageNumber, query, { isForceUpdate: false }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    const refreshPageHandler = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchSpotRequestsPage(pageNumber, query, { isForceUpdate: true }));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n\n        dispatch(fetchSpotRequestsStats({}));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n    useChannelSubscribe(spotRequestsRefreshChannel, refreshPageHandler);\n\n    const handleRefreshOnError = React.useCallback(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchSpotRequestsPage(pageNumber, query, { isForceUpdate: true }));\n    }, [dispatch, pageNumber, selectedSort, queryFilters]);\n\n    const refreshPageStatsHandler = React.useCallback(() => {\n        dispatch(fetchSpotRequestsStats({ isForceUpdate: true }));\n    }, [dispatch]);\n    useChannelSubscribe(spotRequestsStatsRefreshChannel, refreshPageStatsHandler);\n\n    React.useEffect(() => {\n        dispatch(fetchSpotRequestsStats({}));\n    }, [dispatch]);\n\n    React.useEffect(() => {\n        const query = prepareFetchPageQuery(queryFilters, selectedSort);\n        dispatch(fetchSpotRequestsPage(pageNumber, query));\n\n        dispatch(fetchGroupedNotificationCounts({ isForceUpdate: false }));\n\n        return (): void => {\n            // TODO reset\n        };\n    }, [dispatch, page, pageNumber, selectedSort, queryFilters]);\n\n    const spotRequests = React.useMemo(() => {\n        return (ids || []).map((id): SpotRequestT => spotRequestsById[id]);\n    }, [ids, spotRequestsById]);\n\n    const goToPage = React.useCallback(\n        (pageNumber: PageNumberT) => {\n            changeQuery({\n                [QueryKeysEnum.spotRequestsPage]: pageNumber,\n            });\n        },\n        [changeQuery],\n    );\n\n    const setPageHandler = React.useCallback(\n        ({ pageNumber }: InferChannelEventT<typeof spotRequestsPaginationChannel>) => {\n            goToPage(pageNumber);\n        },\n        [goToPage],\n    );\n    useChannelSubscribe(spotRequestsPaginationChannel, setPageHandler);\n\n    const goToSpotRequestDetails = (spotRequestId: SpotRequestIdT) => {\n        openLeftSidebar({\n            type: BrokerSidebarsTypeEnum.spotRequestDetails,\n            id: spotRequestId,\n        });\n    };\n\n    const openUserDetails = (userId: UserIdT): void => {\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId: DEFAULT_BROKER_COMPANY_ID,\n            partnerType: PartnerTypeEnum.broker,\n            userId,\n        });\n    };\n\n    const getPartnerLink = (partnerType: PartnerTypeEnum, partnerId: CompanyIdT): LinkToT => {\n        return brokerUrlFactory.partnerDetails(partnerType, partnerId);\n    };\n\n    const spotRequestsQuickFilterOptions: Array<QuickFiltersOptionT<SpotRequestsQuickFilterEnum>> = [\n        {\n            id: undefined,\n            showPriority: 0,\n            hidePriority: 0,\n            label: t('spot-requests.list.status-filter.all'),\n            testSelector: 'all',\n        },\n        {\n            id: SpotRequestsQuickFilterEnum.open,\n            showPriority: 1,\n            hidePriority: 1,\n            label: t('spot-requests.list.status-filter.open'),\n            testSelector: SpotRequestsQuickFilterEnum.open,\n            notificationProps: {\n                count: spotRequestsStats?.[SpotRequestStatStatusEnum.open],\n                theme: colorCodingNotificationLabelTheme.normal,\n            },\n        },\n        {\n            id: SpotRequestsQuickFilterEnum.accepted,\n            showPriority: 2,\n            hidePriority: 2,\n            label: t('spot-requests.list.status-filter.accepted'),\n            testSelector: SpotRequestsQuickFilterEnum.accepted,\n            notificationProps: {\n                count: spotRequestsStats?.[SpotRequestStatStatusEnum.accepted],\n                theme: colorCodingNotificationLabelTheme.attention,\n            },\n        },\n        {\n            id: SpotRequestsQuickFilterEnum.newBids,\n            showPriority: 3,\n            hidePriority: 3,\n            label: t('spot-requests.list.status-filter.new-bids'),\n            testSelector: SpotRequestsQuickFilterEnum.newBids,\n            notificationProps: {\n                count: spotRequestsStats?.[SpotRequestStatStatusEnum.newBids],\n                theme: colorCodingNotificationLabelTheme.attention,\n            },\n        },\n        {\n            id: SpotRequestsQuickFilterEnum.assigned,\n            showPriority: 4,\n            hidePriority: 4,\n            label: t('spot-requests.list.status-filter.assigned'),\n            testSelector: SpotRequestsQuickFilterEnum.assigned,\n            notificationProps: {\n                count: spotRequestsStats?.[SpotRequestStatStatusEnum.assigned],\n                theme: colorCodingNotificationLabelTheme.normal,\n            },\n        },\n        {\n            id: SpotRequestsQuickFilterEnum.expireSoon,\n            showPriority: 5,\n            hidePriority: 5,\n            label: t('spot-requests.list.status-filter.expire-soon'),\n            notificationProps: {\n                count: spotRequestsStats?.[SpotRequestStatStatusEnum.expireSoon],\n                theme: colorCodingNotificationLabelTheme.warning,\n            },\n            testSelector: SpotRequestsQuickFilterEnum.expireSoon,\n        },\n        {\n            id: SpotRequestsQuickFilterEnum.expired,\n            showPriority: 6,\n            hidePriority: 6,\n            label: t('spot-requests.list.status-filter.expired'),\n            testSelector: SpotRequestsQuickFilterEnum.expired,\n            notificationProps: {\n                isShowPlusSign: true,\n                count: spotRequestsStats?.[SpotRequestStatStatusEnum.expired],\n                theme: colorCodingNotificationLabelTheme.warning,\n            },\n        },\n        {\n            id: SpotRequestsQuickFilterEnum.canceled,\n            showPriority: 7,\n            hidePriority: 7,\n            label: t('spot-requests.list.status-filter.canceled'),\n            testSelector: SpotRequestsQuickFilterEnum.canceled,\n            notificationProps: {\n                isShowPlusSign: true,\n                count: spotRequestsStats?.[SpotRequestStatStatusEnum.canceled],\n                theme: colorCodingNotificationLabelTheme.normal,\n            },\n        },\n    ];\n\n    const sortOptions: Array<SortDropdownOptionT<SpotRequestsSortEnum>> = React.useMemo(\n        () => [\n            {\n                label: t('spot-requests.list.table.sorts.triggers.expiration-time'),\n                value: SpotRequestsSortEnum.expirationTime,\n            },\n            {\n                label: t('spot-requests.list.table.sorts.triggers.placed-time'),\n                value: SpotRequestsSortEnum.placedTime,\n            },\n            {\n                label: t('spot-requests.list.table.sorts.triggers.origin-time'),\n                value: SpotRequestsSortEnum.originTime,\n            },\n            {\n                label: t('spot-requests.list.table.sorts.triggers.destination-time'),\n                value: SpotRequestsSortEnum.destinationTime,\n            },\n        ],\n        [t],\n    );\n\n    const handleSelectSort = (sort: PageSortT<SpotRequestsSortEnum>) => {\n        changeQuery({\n            [QueryKeysEnum.spotRequestsPage]: 0,\n            [QueryKeysEnum.spotRequestsSort]: sort,\n        });\n    };\n\n    const handleSetStatusFilter = (quickFilterId: SpotRequestsQuickFilterEnum | undefined) => {\n        const prevQueryFilters = query[QueryKeysEnum.spotRequestsFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            [QueryFiltersKeysEnum.quickFilter]: quickFilterId,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.spotRequestsPage]: 0,\n            [QueryKeysEnum.spotRequestsFilters]: queryFilters,\n        });\n    };\n\n    const updateQueryFilters = (queryFiltersChanges: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.spotRequestsFilters] || {};\n\n        const queryFilters = {\n            ...prevQueryFilters,\n            ...queryFiltersChanges,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.spotRequestsPage]: 0,\n            [QueryKeysEnum.spotRequestsFilters]: queryFilters,\n        });\n    };\n\n    const handleSetQueryFilters = (selectedQueryFilters: QueryFiltersT) => {\n        const prevQueryFilters = query[QueryKeysEnum.spotRequestsFilters] || {};\n\n        const queryFilters = {\n            [QueryFiltersKeysEnum.quickFilter]: prevQueryFilters[QueryFiltersKeysEnum.quickFilter],\n            ...selectedQueryFilters,\n        };\n\n        changeQuery({\n            [QueryKeysEnum.spotRequestsPage]: 0,\n            [QueryKeysEnum.spotRequestsFilters]: queryFilters,\n        });\n    };\n\n    const handleSearch = (searchText: string) => {\n        updateQueryFilters({\n            [QueryFiltersKeysEnum.searchText]: searchText || undefined,\n        });\n    };\n\n    const renderTableMessage = () => {\n        if (!checkNeedRenderEmptyState(spotRequests, requestStatus)) {\n            return null;\n        }\n\n        if (requestStatus?.error) {\n            return <TableError error={requestStatus?.error} onRetry={handleRefreshOnError} />;\n        }\n\n        const { hasPrimaryQueryFilters, hasSecondaryQueryFilters } = checkQueryFiltersKeys(\n            queryFilters,\n            [QueryFiltersKeysEnum.quickFilter],\n            [\n                QueryFiltersKeysEnum.searchText,\n                QueryFiltersKeysEnum.createdByShipperId,\n                QueryFiltersKeysEnum.createdByShipperName,\n                QueryFiltersKeysEnum.dictTrailerTypeId,\n                QueryFiltersKeysEnum.pickupAddress,\n                QueryFiltersKeysEnum.pickupDateFrom,\n                QueryFiltersKeysEnum.pickupDateTo,\n                QueryFiltersKeysEnum.dropOffAddress,\n                QueryFiltersKeysEnum.dropOffDateFrom,\n                QueryFiltersKeysEnum.dropOffDateTo,\n                QueryFiltersKeysEnum.createdDateFrom,\n                QueryFiltersKeysEnum.createdDateTo,\n                QueryFiltersKeysEnum.createdByUserId,\n                QueryFiltersKeysEnum.createdByUserName,\n            ],\n        );\n\n        if (requestStatus?.ok && hasSecondaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.notFound}\n                    title={t('spot-requests.list.table.messages.not-found.title')}\n                    description={t('spot-requests.list.table.messages.not-found.description')}\n                    isShowAction\n                    actionTitle={t('spot-requests.list.table.messages.not-found.action')}\n                    actionTheme={ButtonThemeEnum.secondary}\n                    onActionClick={() => handleSetQueryFilters({})}\n                    testSelector=\"empty-state-has-secondary-filters\"\n                />\n            );\n        }\n\n        if (requestStatus?.ok && hasPrimaryQueryFilters) {\n            return (\n                <TableMessage\n                    iconType={TableMessageIconsEnum.empty}\n                    title={t('spot-requests.list.table.messages.empty-quick-filters.title')}\n                    testSelector=\"empty-state-has-primary-filters\"\n                    isShowAction={false}\n                />\n            );\n        }\n\n        return (\n            <TableMessage\n                iconType={TableMessageIconsEnum.empty}\n                title={t('spot-requests.list.table.messages.empty.title')}\n                testSelector=\"empty-state\"\n                isShowAction={false}\n            />\n        );\n    };\n\n    return (\n        <ScrollableContent>\n            <PageTitle title={t('page-titles.spot')} />\n            <ContentMargins>\n                <TopBar>\n                    <TopBarContent title={t('spot-requests.list.title')} rightNode={<NotificationsBarTrigger />} />\n                </TopBar>\n                <ListPageLayout>\n                    <ListPageHeaderTabsLayout>\n                        <QuickFiltersButtonGroups\n                            options={spotRequestsQuickFilterOptions}\n                            selectedId={queryFilters[QueryFiltersKeysEnum.quickFilter]}\n                            onSelect={handleSetStatusFilter}\n                            moreStatusesLabel={t('spot-requests.list.status-filter.more-statuses')}\n                        />\n                    </ListPageHeaderTabsLayout>\n                    <ListPageHeaderLayout\n                        withTopPadding\n                        leftToolsNode={\n                            <>\n                                <FiltersTrigger\n                                    title={t('spot-requests.list.filters.trigger')}\n                                    isActive={isOpenedFilters}\n                                    onClick={openSpotRequestsFilter}\n                                />\n                                <SortDropdown\n                                    overlayPosition={SortDropdownOverlayPositionEnum.left}\n                                    selectedValue={selectedSort}\n                                    options={sortOptions}\n                                    onSelect={handleSelectSort}\n                                />\n                                <SearchControl\n                                    placeholder={t('spot-requests.list.search-placeholder')}\n                                    searchText={queryFilters[QueryFiltersKeysEnum.searchText]}\n                                    onChangeSearchText={handleSearch}\n                                />\n                            </>\n                        }\n                        filterTagsNode={\n                            <SelectedFilters\n                                isCompact\n                                queryFilters={queryFilters}\n                                setQueryFilters={handleSetQueryFilters}\n                            />\n                        }\n                    />\n                    {renderTableMessage()}\n                    <SpotRequestsTable\n                        spotRequests={spotRequests}\n                        className={cx('table')}\n                        goToSpotRequestDetails={goToSpotRequestDetails}\n                        isLoading={requestStatus?.loading}\n                        getPartnerLink={getPartnerLink}\n                        openUserDetails={openUserDetails}\n                    />\n                </ListPageLayout>\n                <StickyFooter>\n                    <Pagination current={pageNumber} count={total?.pageCount} goToPage={goToPage} />\n                </StickyFooter>\n                <SideBars />\n            </ContentMargins>\n        </ScrollableContent>\n    );\n});\n\nexport default SpotRequestListPage;\n","import { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNumber from 'lodash/isNumber';\nimport { simpleNumberFormatter } from 'common/utils/form-formatters';\nimport { SEC_IN_HOUR, SEC_IN_MIN } from 'common/utils/time';\n\nexport const convertMsToHours = (msValue: string): string => {\n    const ms = parseSimpleNumber(msValue);\n    if (!isNumber(ms) || Number.isNaN(ms)) {\n        return '';\n    }\n\n    return simpleNumberFormatter(ms / SEC_IN_HOUR);\n};\n\nexport const convertHoursToMs = (hoursValue: string): string => {\n    const hours = parseSimpleNumber(hoursValue);\n    if (!isNumber(hours) || Number.isNaN(hours)) {\n        return '';\n    }\n\n    return simpleNumberFormatter(hours * SEC_IN_HOUR);\n};\n\nexport const convertSecToMin = (secValue: string): string => {\n    const sec = parseSimpleNumber(secValue);\n    if (!isNumber(sec) || Number.isNaN(sec)) {\n        return '';\n    }\n\n    return simpleNumberFormatter(sec / SEC_IN_MIN);\n};\n\nexport const convertMinToSec = (minValue: string): string => {\n    const min = parseSimpleNumber(minValue);\n    if (!isNumber(min) || Number.isNaN(min)) {\n        return '';\n    }\n\n    return simpleNumberFormatter(min * SEC_IN_MIN);\n};\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const rfqsRefreshChannel = new ViewEventChannel<{}>();\n\nexport const rfqsPaginationChannel = new ViewEventChannel<{\n    pageNumber: number;\n}>();\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './TrailerTypeCell.scss';\nimport parseTrailerModel from 'common/utils/parse-trailer-model';\nimport { RFQT } from 'common/store/rfqs/models';\n\ntype PropsT = {\n    rfq: RFQT;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TrailerTypeCell: React.FC<PropsT> = React.memo((props) => {\n    const { rfq } = props;\n\n    const [trailer] = parseTrailerModel(rfq.trailerModel);\n\n    return <div className={cx('type')}>{trailer}</div>;\n});\n\nexport default TrailerTypeCell;\n","import { StateT } from 'broker-admin/store/models';\nimport { isNonNil } from 'common/utils';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport isNil from 'lodash/isNil';\nimport { MS_IN_HOUR } from 'common/utils/time';\n\nconst DEFAULT_RADIUSES = [1000];\n\nexport const selectAssignmentRadiuses = (state: StateT): number[] => {\n    const { data: settings, fetchRequest } = state.settings;\n\n    const settingsRadiuses: number[] = [\n        settings?.FIRST_RADIUS_OF_ASSIGNMENT_FILTER?.value,\n        settings?.SECOND_RADIUS_OF_ASSIGNMENT_FILTER?.value,\n        settings?.THIRD_RADIUS_OF_ASSIGNMENT_FILTER?.value,\n    ]\n        .map((rawValue) => {\n            return parseSimpleNumber(rawValue);\n        })\n        .filter(isNonNil);\n\n    if (fetchRequest.ok && settings && !settingsRadiuses.filter(isNonNil).length) {\n        return DEFAULT_RADIUSES;\n    }\n\n    return settingsRadiuses;\n};\n\nexport const selectSpotRequestLimitMs = (state: StateT): number => {\n    const value = state.settings.data?.SPOT_REQUEST_LIMIT?.value;\n    if (isNil(value)) {\n        return 0;\n    }\n\n    const parsedValue = parseSimpleNumber(value);\n    if (parsedValue) {\n        return parsedValue * MS_IN_HOUR;\n    }\n\n    return 0;\n};\n","export enum TourTypeTabsEnum {\n    current = 'current',\n    next = 'next',\n}\n","import {\n    ApiDeadheadPreviewContextResponseT,\n    ApiDeadheadInitContextResponseT,\n    ApiDeadheadApplyContextResponseT,\n    ApiDeadheadApplyContextQueryT,\n    ApiContactT,\n    ApiDeadheadInitContextQueryT,\n    ApiDeadheadPreviewContextQueryT,\n} from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport type DeadheadContextIdT = NonNullable<ApiDeadheadInitContextResponseT['contextId']>;\n\nexport type RawDeadheadInitContextQueryT = {\n    truckId?: DeadheadInitContextQueryT['truckId'];\n    excludedCountries?: DeadheadInitContextQueryT['excludedCountries'];\n    stops?: Array<\n        Partial<\n            DeadheadInitContextQueryT['stops'][number] & {\n                fakeId: ContextRouteStopFakeIdT;\n            }\n        >\n    >;\n};\nexport type DeadheadInitContextQueryT = ApiDeadheadInitContextQueryT;\nexport type DeadheadInitContextResponseT = ApiDeadheadInitContextResponseT & {\n    expireTime: number | null;\n};\nexport type DeadheadContextRangeT = DeadheadInitContextResponseT['ranges'][number];\n\nexport type RawDeadheadPreviewQueryT = {\n    arrivalDateTime?: DeadheadPreviewContextQueryT['arrivalDateTime'];\n    keepRoadTrain?: DeadheadPreviewContextQueryT['keepRoadTrain'];\n};\nexport type DeadheadPreviewContextQueryT = ApiDeadheadPreviewContextQueryT;\nexport type DeadheadPreviewContextResponseT = OverwriteT<\n    ApiDeadheadPreviewContextResponseT,\n    {\n        stops: Array<\n            DeadheadRouteStopT & {\n                fakeId: ContextRouteStopFakeIdT;\n            }\n        >;\n    }\n>;\n\nexport type DeadheadApplyContextQueryT = ApiDeadheadApplyContextQueryT;\nexport type DeadheadApplyContextResponseT = ApiDeadheadApplyContextResponseT;\n\nexport type DeadheadContactT = ApiContactT;\n\nexport type ApiDeadheadRouteStopT = ApiDeadheadPreviewContextResponseT['stops'][number];\nexport type DeadheadRouteStopT = ApiDeadheadPreviewContextResponseT['stops'][number] & {\n    fakeId: ContextRouteStopFakeIdT;\n};\n\nexport type ContextRouteStopHashT = string;\nexport type ContextRouteStopFakeIdT = string;\n\nexport type DeadheadRouteStopTimeWindowT = {\n    start: ISODateTimeT;\n    end: ISODateTimeT;\n};\n\nexport enum DeadheadRouteStopTypeEnum {\n    pickupTruck = 'pickup_truck',\n    pickupRoadTrain = 'pickup_road_train',\n    driveThrough = 'drive_through',\n    dropTruck = 'drop_truck',\n    dropRoadTrain = 'drop_road_train',\n    ferryOnboard = 'ferry_onboard',\n    ferryDisembark = 'ferry_disembark',\n    unknown = 'unknown', // pickup truck, trailer ....\n}\n\nexport type DeadheadCreationContextQueryModifyChannelEventT = {\n    correctedStops?: Array<DeadheadRouteStopT>;\n    addedStopFakeIds?: Array<ContextRouteStopFakeIdT>;\n    deletedStopFakeIds?: Array<ContextRouteStopFakeIdT>;\n    orderStopFakeIds?: Array<ContextRouteStopFakeIdT>;\n};\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nexport type TemperatureRangesValidationResultT = {};\n\ntype PropsT = {\n    validationResult: TemperatureRangesValidationResultT | null;\n};\n\nconst TemperatureRangesCompatibleValidationAlertContent: React.FC<PropsT> = React.memo((props) => {\n    const { validationResult } = props;\n\n    const { t } = useTranslation();\n\n    if (!validationResult) {\n        return null;\n    }\n\n    return <span>{t('common:new-order-details.validate-messages.not-compatible-temperature-ranges')}</span>;\n});\n\nexport default TemperatureRangesCompatibleValidationAlertContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"SpotBidStatusCard__wrap___qH45Z\",\"accent\":\"SpotBidStatusCard__accent___q0uy6\",\"fadeIn\":\"SpotBidStatusCard__fadeIn___X6h5j\",\"blinking\":\"SpotBidStatusCard__blinking___Pqae4\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TourStatusPill.scss';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { TourStatusEnum, ApiTourStatusT } from 'common/utils/api/models';\nimport TourStatus from 'common/components/status/TourStatus/TourStatus';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    status?: ApiTourStatusT;\n    isSymmetrical?: boolean;\n};\n\nconst PILL_THEME_BY_STATUS: Record<ApiTourStatusT, PillLabelThemeEnum> = {\n    [TourStatusEnum.carrierUnassigned]: colorCodingPillLabelTheme.attention,\n    [TourStatusEnum.carrierAssigned]: colorCodingPillLabelTheme.normal,\n    [TourStatusEnum.inTransit]: colorCodingPillLabelTheme.normal,\n    [TourStatusEnum.finished]: colorCodingPillLabelTheme.success,\n    [TourStatusEnum.canceled]: colorCodingPillLabelTheme.normal,\n};\n\nconst TourStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, className, isSymmetrical } = props;\n\n    if (!status) {\n        return null;\n    }\n\n    return (\n        <PillLabel isNoWrap className={className} isSymmetrical={isSymmetrical} theme={PILL_THEME_BY_STATUS[status]}>\n            <TourStatus status={status} />\n        </PillLabel>\n    );\n});\n\nexport default TourStatusPill;\n","import { call, put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    ACTIVATION_TRUCKS_REQUEST,\n    ActivationTrucksRequestActionT,\n    ADD_TRUCK_REQUEST,\n    AddTruckRequestActionT,\n    ARCHIVE_TRUCKS_REQUEST,\n    ArchiveTrucksRequestActionT,\n    ASSIGN_TO_CONTRACT_TRUCKS_REQUEST,\n    AssignToContractRequestActionT,\n    DELETE_TRUCKS_REQUEST,\n    DeleteTrucksRequestActionT,\n    EXPORT_XLS_TRUCKS_REQUEST,\n    FETCH_TRUCK_DETAILS_REQUEST,\n    FETCH_TRUCKS_PAGE_REQUEST,\n    FETCH_TRUCKS_STATS_REQUEST,\n    FetchTruckDetailsActionT,\n    FetchTrucksPageActionT,\n    FetchTrucksStatsActionT,\n    IMPORT_XLS_TRUCKS_REQUEST,\n    ImportXLSTrucksActionT,\n    UPDATE_TRUCK_REQUEST,\n    UpdateTruckActionT,\n    ExportXLSTrucksActionT,\n    CHANGE_RATE_TRUCKS_REQUEST,\n    ChangeRateTrucksRequestActionT,\n} from './types';\nimport {\n    addTruckRequestBegin,\n    addTruckRequestError,\n    addTruckRequestSuccess,\n    deleteTrucksRequestBegin,\n    deleteTrucksRequestError,\n    deleteTrucksRequestSuccess,\n    exportXLSTrucksRequestBegin,\n    exportXLSTrucksRequestError,\n    exportXLSTrucksRequestSuccess,\n    fetchTruckDetails,\n    fetchTruckDetailsRequestBegin,\n    fetchTruckDetailsRequestError,\n    fetchTruckDetailsRequestSuccess,\n    fetchTrucksPageBegin,\n    fetchTrucksPageError,\n    fetchTrucksPageSuccess,\n    fetchTrucksStatsRequestBegin,\n    fetchTrucksStatsRequestError,\n    fetchTrucksStatsRequestSuccess,\n    importXLSTrucksRequestBegin,\n    importXLSTrucksRequestError,\n    importXLSTrucksRequestSuccess,\n    resetTrucks,\n    updateTrucksRequestBegin,\n    updateTrucksRequestError,\n    updateTrucksRequestSuccess,\n} from './actions';\nimport {\n    selectFetchTrucksStatsRequestStatus,\n    selectTrucksByIds,\n    selectTrucksDetailsByIds,\n    selectTrucksPages,\n    selectTrucksQuery,\n} from './selectors';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport { checkIsSameQuery, checkShouldEmitChangePage } from 'common/utils/pagination/utils';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { ApiTruckDetailsT, CompanyTrucksStatsT } from 'common/store/trucks/models';\nimport {\n    truckDetailsRefreshChannel,\n    trucksPaginationChannel,\n    trucksRefreshChannel,\n} from 'common/store/trucks/channels';\nimport downloadFile from 'common/utils/download-file';\nimport moment from 'moment';\nimport { ApiArchiveVehiclesRequestT } from 'common/utils/api/models';\nimport keys from 'lodash/keys';\n\nfunction* fetchTrucksSaga(action: FetchTrucksPageActionT): WrapGeneratorT<void> {\n    const { pageNumber, query, options, companyId } = action;\n\n    const prevQuery: ReReturnT<typeof selectTrucksQuery> = yield select(selectTrucksQuery(companyId));\n    const pages: ReReturnT<typeof selectTrucksPages> = yield select(selectTrucksPages(companyId));\n    const isSameQuery = checkIsSameQuery(query, prevQuery);\n    const isNeedRequest = checkNeedRequest(pages[pageNumber]?.requestStatus, options);\n    if (isSameQuery && !isNeedRequest) {\n        return;\n    }\n    if (!isSameQuery) {\n        yield put(resetTrucks(companyId, { savingPageNumber: pageNumber }));\n    }\n\n    yield put(fetchTrucksPageBegin(query, pageNumber, companyId));\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.fetchTrucksPage | typeof carrierTranziitApi.fetchTrucksPage\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.fetchTrucksPage({\n            ...query,\n            page: pageNumber,\n        });\n    } else {\n        result = yield brokerTranziitApi.fetchTrucksPage(\n            {\n                ...query,\n                page: pageNumber,\n            },\n            companyId,\n        );\n    }\n    if (!result) {\n        return;\n    }\n\n    const [error, response] = result;\n\n    if (error) {\n        yield put(fetchTrucksPageError(query, pageNumber, error, companyId));\n        return;\n    }\n\n    yield put(fetchTrucksPageSuccess(query, pageNumber, response, companyId));\n\n    checkShouldEmitChangePage(pageNumber, response, trucksPaginationChannel);\n}\n\nfunction* refreshTruckDetailsIfNeedSaga(companyId: CompanyIdT, truckId: TruckIdT): WrapGeneratorT<void> {\n    const detailsByIds: ReReturnT<typeof selectTrucksDetailsByIds> = yield select(selectTrucksDetailsByIds(companyId));\n\n    if (detailsByIds[truckId]) {\n        yield put(fetchTruckDetails(truckId, companyId, { isForceUpdate: true }));\n    }\n}\n\nfunction* addTruckSaga(action: AddTruckRequestActionT): WrapGeneratorT<void> {\n    const { data, companyId } = action;\n\n    yield put(addTruckRequestBegin(companyId));\n\n    let result: ReturnApiT<typeof brokerTranziitApi.addPartnerTruck | typeof carrierTranziitApi.addTruck> | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.addTruck(data);\n    } else {\n        result = yield brokerTranziitApi.addPartnerTruck(data, companyId);\n    }\n\n    if (!result) {\n        return;\n    }\n\n    const [error] = result;\n    if (error) {\n        yield put(addTruckRequestError(error, companyId));\n    } else {\n        yield put(addTruckRequestSuccess(companyId));\n    }\n\n    if (!error) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckAdded,\n                    data: {\n                        plateNumber: data.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    }\n\n    trucksRefreshChannel.emit({});\n}\n\nfunction* deleteTrucksSaga(action: DeleteTrucksRequestActionT): WrapGeneratorT<void> {\n    const { truckIds, companyId } = action;\n\n    yield put(deleteTrucksRequestBegin(companyId));\n\n    let error: ReturnApiT<typeof brokerTranziitApi.deleteTruck | typeof carrierTranziitApi.deleteTruck>[0] | null =\n        null;\n\n    for (const truckId of truckIds) {\n        let result: ReturnApiT<typeof brokerTranziitApi.deleteTruck | typeof carrierTranziitApi.deleteTruck> | null =\n            null;\n        if (checkIsDefaultCompanyId(companyId)) {\n            result = yield carrierTranziitApi.deleteTruck(truckId);\n        } else {\n            result = yield brokerTranziitApi.deleteTruck(companyId, truckId);\n        }\n\n        error = error || result?.[0] || null;\n    }\n\n    if (error) {\n        yield put(deleteTrucksRequestError(error, companyId));\n    } else {\n        yield put(deleteTrucksRequestSuccess(companyId));\n    }\n\n    trucksRefreshChannel.emit({});\n}\n\nfunction* activateTrucksSaga(action: ActivationTrucksRequestActionT): WrapGeneratorT<void> {\n    const { activateTrucksRequest, companyId } = action;\n\n    yield put(updateTrucksRequestBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof brokerTranziitApi.activateTrucks | typeof carrierTranziitApi.activateTrucks\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.activateTrucks(activateTrucksRequest);\n    } else {\n        response = yield brokerTranziitApi.activateTrucks(companyId, activateTrucksRequest);\n    }\n\n    const error = response?.[0];\n    const result = response?.[1];\n    if (error) {\n        yield put(updateTrucksRequestError(error, companyId));\n    } else {\n        yield put(updateTrucksRequestSuccess(companyId));\n    }\n\n    const truckIds = activateTrucksRequest?.ids || [];\n    const allCount = truckIds.length;\n    const invalidAssetsMap = result?.invalidAssets || {};\n    const failedTruckIds = keys(invalidAssetsMap);\n    const failedCount = failedTruckIds.length;\n    const successfulCount = allCount - failedCount;\n\n    const byId: ReReturnT<typeof selectTrucksByIds> = yield select(selectTrucksByIds(companyId));\n\n    if (failedCount > 0 && allCount === 1) {\n        const truck = byId[failedTruckIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckFailedActivate,\n                    data: {\n                        plateNumber: truck?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount > 0 && allCount > 1) {\n        const invalidAssetsPlateNumbers = failedTruckIds.map((truckId) => {\n            return byId[truckId]?.plateNumber || '';\n        });\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trucksFailedActivate,\n                    data: {\n                        allCount,\n                        successfulCount,\n                        plateNumbers: invalidAssetsPlateNumbers,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount === 1) {\n        const truck = byId[truckIds[0]] || null;\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckSuccessfullyActivated,\n                    data: {\n                        plateNumber: truck?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount > 1) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trucksSuccessfullyActivated,\n                    data: {\n                        count: successfulCount,\n                    },\n                }),\n            ),\n        );\n    }\n\n    trucksRefreshChannel.emit({});\n\n    for (const truckId of truckIds) {\n        yield call(refreshTruckDetailsIfNeedSaga, companyId, truckId);\n    }\n\n    truckDetailsRefreshChannel.emit({});\n}\n\nfunction* archiveTrucksSaga(action: ArchiveTrucksRequestActionT): WrapGeneratorT<void> {\n    const { truckIds, companyId, reason } = action;\n\n    yield put(updateTrucksRequestBegin(companyId));\n\n    const data: ApiArchiveVehiclesRequestT = { ids: truckIds, comment: reason };\n    let response: ReturnApiT<typeof carrierTranziitApi.archiveTrucks | typeof brokerTranziitApi.archiveTrucks> | null =\n        null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.archiveTrucks(data);\n    } else {\n        response = yield brokerTranziitApi.archiveTrucks(companyId, data);\n    }\n\n    const error = response?.[0];\n    if (error) {\n        yield put(updateTrucksRequestError(error, companyId));\n    } else {\n        yield put(updateTrucksRequestSuccess(companyId));\n    }\n\n    const result = response?.[1];\n\n    const allCount = truckIds.length;\n    const invalidAssetsMap = result?.invalidAssets || {};\n    const failedTruckIds = keys(invalidAssetsMap);\n    const failedCount = failedTruckIds.length;\n    const successfulCount = allCount - failedCount;\n\n    const byId: ReReturnT<typeof selectTrucksByIds> = yield select(selectTrucksByIds(companyId));\n\n    if (failedCount > 0 && allCount === 1) {\n        const failedTruckId = failedTruckIds[0];\n        if (invalidAssetsMap[failedTruckId] === 'HAS_ASSIGNMENTS') {\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.truckFailedArchivedHasFutureAssignment,\n                        data: {},\n                    }),\n                ),\n            );\n        } else {\n            const truck = byId[failedTruckId] || null;\n\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.truckFailedArchived,\n                        data: {\n                            plateNumber: truck?.plateNumber || '',\n                        },\n                    }),\n                ),\n            );\n        }\n    } else if (failedCount > 0 && allCount > 1) {\n        const invalidAssetsPlateNumbers = failedTruckIds.map((truckId) => {\n            return byId[truckId]?.plateNumber || '';\n        });\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trucksFailedArchived,\n                    data: {\n                        allCount,\n                        successfulCount,\n                        plateNumbers: invalidAssetsPlateNumbers,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount === 1) {\n        const truck = byId[truckIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckSuccessfullyArchived,\n                    data: {\n                        plateNumber: truck?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount > 1) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trucksSuccessfullyArchived,\n                    data: {\n                        count: successfulCount,\n                    },\n                }),\n            ),\n        );\n    }\n\n    trucksRefreshChannel.emit({});\n\n    for (const truckId of truckIds) {\n        yield call(refreshTruckDetailsIfNeedSaga, companyId, truckId);\n    }\n\n    truckDetailsRefreshChannel.emit({});\n}\n\nfunction* assignTruckToContractSaga(action: AssignToContractRequestActionT): WrapGeneratorT<void> {\n    const { changeContractRequest, companyId, contractName } = action;\n\n    yield put(updateTrucksRequestBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof brokerTranziitApi.assignTruckToContract | typeof carrierTranziitApi.assignTruckToContract\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.assignTruckToContract(changeContractRequest);\n    } else {\n        response = yield brokerTranziitApi.assignTruckToContract(companyId, changeContractRequest);\n    }\n\n    const error = response?.[0];\n    const result = response?.[1];\n\n    if (error) {\n        yield put(updateTrucksRequestError(error, companyId));\n    } else {\n        yield put(updateTrucksRequestSuccess(companyId));\n    }\n\n    const truckIds = changeContractRequest?.ids || [];\n    const allCount = truckIds.length;\n    const invalidAssetsMap = result?.invalidAssets || {};\n    const failedTruckIds = keys(invalidAssetsMap);\n    const failedCount = failedTruckIds.length;\n    const successfulCount = allCount - failedCount;\n\n    const byId: ReReturnT<typeof selectTrucksByIds> = yield select(selectTrucksByIds(companyId));\n\n    if (failedCount > 0 && allCount === 1) {\n        const truck = byId[failedTruckIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckFailedUpdateContract,\n                    data: {\n                        plateNumber: truck?.plateNumber || '',\n                        contractName,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount > 0 && allCount > 1) {\n        const invalidAssetsPlateNumbers = failedTruckIds.map((truckId) => {\n            return byId[truckId]?.plateNumber || '';\n        });\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trucksFailedUpdateContract,\n                    data: {\n                        allCount,\n                        successfulCount,\n                        plateNumbers: invalidAssetsPlateNumbers,\n                        contractName,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount === 1) {\n        const truck = byId[truckIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckSuccessfullyUpdatedContract,\n                    data: {\n                        plateNumber: truck?.plateNumber || '',\n                        contractName,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount > 1) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trucksSuccessfullyUpdatedContract,\n                    data: {\n                        count: successfulCount,\n                        contractName,\n                    },\n                }),\n            ),\n        );\n    }\n\n    trucksRefreshChannel.emit({});\n\n    for (const truckId of truckIds) {\n        yield call(refreshTruckDetailsIfNeedSaga, companyId, truckId);\n    }\n\n    truckDetailsRefreshChannel.emit({});\n}\n\nfunction* changeRateTrucksSaga(action: ChangeRateTrucksRequestActionT): WrapGeneratorT<void> {\n    const { changeRateVehiclesRequest, companyId } = action;\n\n    yield put(updateTrucksRequestBegin(companyId));\n\n    let response: ReturnApiT<\n        typeof brokerTranziitApi.changeRateTrucks | typeof carrierTranziitApi.changeRateTrucks\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        response = yield carrierTranziitApi.changeRateTrucks(changeRateVehiclesRequest);\n    } else {\n        response = yield brokerTranziitApi.changeRateTrucks(companyId, changeRateVehiclesRequest);\n    }\n\n    const error = response?.[0];\n    const result = response?.[1];\n\n    if (error) {\n        yield put(updateTrucksRequestError(error, companyId));\n    } else {\n        yield put(updateTrucksRequestSuccess(companyId));\n    }\n\n    const truckIds = changeRateVehiclesRequest.ids || [];\n    const allCount = truckIds.length;\n    const invalidAssetsMap = result?.invalidAssets || {};\n    const failedTruckIds = keys(invalidAssetsMap);\n    const failedCount = failedTruckIds.length;\n    const successfulCount = allCount - failedCount;\n\n    const byId: ReReturnT<typeof selectTrucksByIds> = yield select(selectTrucksByIds(companyId));\n\n    if (failedCount > 0 && allCount === 1) {\n        const truck = byId[failedTruckIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckFailedUpdateRate,\n                    data: {\n                        plateNumber: truck?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount > 0 && allCount > 1) {\n        const invalidAssetsPlateNumbers = failedTruckIds.map((truckId) => {\n            return byId[truckId]?.plateNumber || '';\n        });\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trucksFailedUpdateRate,\n                    data: {\n                        allCount,\n                        successfulCount,\n                        plateNumbers: invalidAssetsPlateNumbers,\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount === 1) {\n        const truck = byId[truckIds[0]] || null;\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckSuccessfullyUpdatedRate,\n                    data: {\n                        plateNumber: truck?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    } else if (failedCount === 0 && successfulCount > 1) {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.trucksSuccessfullyUpdatedRate,\n                    data: {\n                        count: successfulCount,\n                    },\n                }),\n            ),\n        );\n    }\n\n    trucksRefreshChannel.emit({});\n\n    for (const truckId of truckIds) {\n        yield call(refreshTruckDetailsIfNeedSaga, companyId, truckId);\n    }\n\n    truckDetailsRefreshChannel.emit({});\n}\n\nfunction* fetchTruckDetailsSaga(action: FetchTruckDetailsActionT): WrapGeneratorT<void> {\n    const { truckId, companyId, options } = action;\n\n    const detailsById = yield select(selectTrucksDetailsByIds(companyId));\n    if (detailsById[truckId] && !options?.isForceUpdate) {\n        return;\n    }\n\n    yield put(fetchTruckDetailsRequestBegin(companyId));\n\n    let error: Error | null = null;\n    let details: ApiTruckDetailsT | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        const result: ReturnApiT<typeof carrierTranziitApi.fetchTruckDetails> =\n            yield carrierTranziitApi.fetchTruckDetails(truckId);\n        const [resultError, data] = result;\n        if (resultError) {\n            error = resultError;\n        }\n        if (data) {\n            details = {\n                ...data,\n                countryCode: data.countryCode,\n            };\n        }\n    } else {\n        const result: ReturnApiT<typeof brokerTranziitApi.fetchPartnerTruckDetails> =\n            yield brokerTranziitApi.fetchPartnerTruckDetails(companyId, truckId);\n        const [resultError, data] = result;\n        if (resultError) {\n            error = resultError;\n        }\n        if (data) {\n            details = data;\n        }\n    }\n\n    if (error) {\n        yield put(fetchTruckDetailsRequestError(error, companyId));\n        return;\n    }\n\n    if (details) {\n        yield put(fetchTruckDetailsRequestSuccess(truckId, details, companyId));\n    }\n}\n\nfunction* fetchTrucksStatsSaga(action: FetchTrucksStatsActionT): WrapGeneratorT<void> {\n    const { companyId, options } = action;\n\n    const fetchStatsRequestStatus: ReReturnT<typeof selectFetchTrucksStatsRequestStatus> = yield select(\n        selectFetchTrucksStatsRequestStatus(companyId),\n    );\n\n    const isNeedRequest = checkNeedRequest(fetchStatsRequestStatus, options);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchTrucksStatsRequestBegin(companyId));\n\n    let error: Error | null = null;\n    let stats: CompanyTrucksStatsT | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        const result: ReturnApiT<typeof carrierTranziitApi.fetchTrucksActiveFleetCount> =\n            yield carrierTranziitApi.fetchTrucksActiveFleetCount();\n        const [resultError, data] = result;\n        if (resultError) {\n            error = resultError;\n        }\n        if (data) {\n            stats = {\n                actualTotalCount: data,\n            };\n        }\n    } else {\n        const result: ReturnApiT<typeof brokerTranziitApi.fetchTrucksActiveFleetCount> =\n            yield brokerTranziitApi.fetchTrucksActiveFleetCount(companyId);\n        const [resultError, data] = result;\n        if (resultError) {\n            error = resultError;\n        }\n        if (data) {\n            stats = {\n                actualTotalCount: data,\n            };\n        }\n    }\n\n    if (error) {\n        yield put(fetchTrucksStatsRequestError(error, companyId));\n        return;\n    }\n\n    yield put(fetchTrucksStatsRequestSuccess(stats, companyId));\n}\n\nfunction* updateTruckSaga(action: UpdateTruckActionT): WrapGeneratorT<void> {\n    const { companyId, truckId, updateTruck } = action;\n\n    yield put(updateTrucksRequestBegin(companyId));\n\n    let result: ReturnApiT<typeof carrierTranziitApi.updateTruck | typeof brokerTranziitApi.updatePartnerTruck> | null =\n        null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.updateTruck(truckId, updateTruck);\n    } else {\n        result = yield brokerTranziitApi.updatePartnerTruck(companyId, truckId, updateTruck);\n    }\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n\n    if (error) {\n        yield put(updateTrucksRequestError(error, companyId));\n    } else {\n        yield put(updateTrucksRequestSuccess(companyId));\n    }\n\n    if (!error) {\n        const detailsById: ReReturnT<typeof selectTrucksDetailsByIds> = yield select(\n            selectTrucksDetailsByIds(companyId),\n        );\n        const truckDetails = detailsById[truckId as string];\n\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckSuccessfullyEdited,\n                    data: {\n                        plateNumber: truckDetails?.plateNumber || '',\n                    },\n                }),\n            ),\n        );\n    }\n\n    yield put(fetchTruckDetails(truckId, companyId, { isForceUpdate: true }));\n    trucksRefreshChannel.emit({});\n}\n\nfunction* importXLSTrucksSaga(action: ImportXLSTrucksActionT): WrapGeneratorT<void> {\n    const { companyId, file } = action;\n\n    yield put(importXLSTrucksRequestBegin(companyId));\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.importPartnerXLSTrucks | typeof carrierTranziitApi.importXLSTrucks\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.importXLSTrucks(file);\n    } else {\n        result = yield brokerTranziitApi.importPartnerXLSTrucks(companyId, file);\n    }\n    if (!result) {\n        return;\n    }\n    const [error] = result;\n\n    if (error) {\n        yield put(importXLSTrucksRequestError(error, companyId));\n    } else {\n        yield put(\n            addAlert(\n                new CommonAnyAlert({\n                    type: CommonAlertTypeEnum.truckSuccessfullyXLSImport,\n                    data: {},\n                }),\n            ),\n        );\n\n        yield put(importXLSTrucksRequestSuccess(companyId));\n    }\n}\n\nfunction* exportXLSTrucksSaga(action: ExportXLSTrucksActionT): WrapGeneratorT<void> {\n    const { companyId, query } = action;\n\n    yield put(exportXLSTrucksRequestBegin(companyId));\n\n    let result: ReturnApiT<\n        typeof brokerTranziitApi.exportPartnerXLSTrucks | typeof carrierTranziitApi.exportXLSTrucks\n    > | null = null;\n    if (checkIsDefaultCompanyId(companyId)) {\n        result = yield carrierTranziitApi.exportXLSTrucks(query);\n    } else {\n        result = yield brokerTranziitApi.exportPartnerXLSTrucks(companyId, query);\n    }\n    if (!result) {\n        return;\n    }\n    const [error, data] = result;\n\n    if (data) {\n        downloadFile({\n            name: `trucks-export-${moment().format('YYYY-MM-DD_HH:mm')}.xlsx`,\n            data,\n            type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n        });\n    }\n\n    if (error) {\n        yield put(exportXLSTrucksRequestError(error, companyId));\n    } else {\n        yield put(exportXLSTrucksRequestSuccess(companyId));\n    }\n}\n\nfunction* trucksSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_TRUCKS_PAGE_REQUEST, fetchTrucksSaga);\n    yield takeEvery(ADD_TRUCK_REQUEST, addTruckSaga);\n    yield takeEvery(DELETE_TRUCKS_REQUEST, deleteTrucksSaga);\n    yield takeEvery(ACTIVATION_TRUCKS_REQUEST, activateTrucksSaga);\n    yield takeEvery(ARCHIVE_TRUCKS_REQUEST, archiveTrucksSaga);\n    yield takeEvery(FETCH_TRUCK_DETAILS_REQUEST, fetchTruckDetailsSaga);\n    yield takeEvery(UPDATE_TRUCK_REQUEST, updateTruckSaga);\n    yield takeEvery(ASSIGN_TO_CONTRACT_TRUCKS_REQUEST, assignTruckToContractSaga);\n    yield takeEvery(CHANGE_RATE_TRUCKS_REQUEST, changeRateTrucksSaga);\n    yield takeEvery(FETCH_TRUCKS_STATS_REQUEST, fetchTrucksStatsSaga);\n    yield takeEvery(IMPORT_XLS_TRUCKS_REQUEST, importXLSTrucksSaga);\n    yield takeEvery(EXPORT_XLS_TRUCKS_REQUEST, exportXLSTrucksSaga);\n}\n\nexport default trucksSaga;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SpotRequestsFiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport Input from 'common/components/Input/Input';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { useDispatch } from 'react-redux';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport ShipperSuggest from 'broker-admin/components/dropdowns/ShipperSuggest/ShipperSuggest';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport PinIcon, { PinIconProps } from 'common/icons/PinIcon';\nimport { DEFAULT_BROKER_COMPANY_ID } from 'common/constants';\nimport SelectedFilters from 'broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/SelectedFilters/SelectedFilters';\nimport { QueryFiltersT, QueryKeysEnum } from 'broker-admin/layouts/SpotRequestsPage/SpotRequestListPage/query-models';\nimport { SidebarContentPropsT } from 'common/layouts/SideBars/models';\nimport { useQueryParam } from 'use-query-params';\nimport { SpotRequestsFiltersSidebarDataT } from './models';\nimport { createJsonParams } from 'common/utils/query';\nimport { BrokerSidebarDataT } from 'broker-admin/layouts/SideBars/models';\nimport TeamMemberSuggest from 'common/components/suggests/TeamMemberSuggest/TeamMemberSuggest';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = SidebarContentPropsT<SpotRequestsFiltersSidebarDataT, BrokerSidebarDataT>;\n\nconst SpotRequestsFiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose } = props;\n    const { t } = useTranslation();\n\n    const [queryFilters, setQueryFilters] = useQueryParam<QueryFiltersT>(\n        QueryKeysEnum.spotRequestsFilters,\n        createJsonParams<QueryFiltersT>({}),\n    );\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const queryFilters = getQueryFilters(values);\n            setQueryFilters({\n                ...initialQueryFilters,\n                ...queryFilters,\n            });\n\n            formikHelpers.setTouched({});\n\n            if (onClose) {\n                onClose();\n            }\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('spot-requests.list.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FormikField\n                    className={cx('field', 'field--address')}\n                    name={FieldsEnum.pickupAddress}\n                    error={formik.errors[FieldsEnum.pickupAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.pickupAddress)}\n                    label={t('spot-requests.list.filters.fields.pickup-address')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipPosition={TooltipPositionEnum.topLeft}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('spot-requests.list.filters.tooltip.address')}\n                        </TooltipContent>\n                    }\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.pickupAddress}\n                            value={formik.values[FieldsEnum.pickupAddress] || ''}\n                            placeholder={t('spot-requests.list.filters.placeholders.pickup-address')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--address')}\n                    name={FieldsEnum.dropoffAddress}\n                    error={formik.errors[FieldsEnum.dropoffAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.dropoffAddress)}\n                    label={t('spot-requests.list.filters.fields.drop-off-address')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipPosition={TooltipPositionEnum.topLeft}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('spot-requests.list.filters.tooltip.address')}\n                        </TooltipContent>\n                    }\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.dropoffAddress}\n                            value={formik.values[FieldsEnum.dropoffAddress] || ''}\n                            placeholder={t('spot-requests.list.filters.placeholders.dropoff-address')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.pickupDates}\n                        error={formik.errors[FieldsEnum.pickupDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.pickupDates)}\n                        label={t('spot-requests.list.filters.fields.pickup-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.pickupDates]}\n                                placeholder={t('spot-requests.list.filters.placeholders.pickup-dates')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.dropoffDates}\n                        error={formik.errors[FieldsEnum.dropoffDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.dropoffDates)}\n                        label={t('spot-requests.list.filters.fields.drop-off-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.dropoffDates]}\n                                placeholder={t('spot-requests.list.filters.placeholders.drop-off-dates')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.createDates}\n                        error={formik.errors[FieldsEnum.createDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.createDates)}\n                        label={t('spot-requests.list.filters.fields.created-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.createDates]}\n                                placeholder={t('spot-requests.list.filters.placeholders.created-dates')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--user')}\n                        name={FieldsEnum.createdByUserId}\n                        error={formik.errors[FieldsEnum.createdByUserId]}\n                        meta={formik.getFieldMeta(FieldsEnum.createdByUserId)}\n                        label={t('spot-requests.list.filters.fields.created-by')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <TeamMemberSuggest\n                                companyId={DEFAULT_BROKER_COMPANY_ID}\n                                initialValue={formik.values[FieldsEnum.createdByUserId]}\n                                initialLabel={formik.values[FieldsEnum.createdByUserName]}\n                                value={formik.values[FieldsEnum.createdByUserId]}\n                                placeholder={t('spot-requests.list.filters.placeholders.created-by')}\n                                onSelect={(userId, userName) => {\n                                    props.onChange(userId);\n                                    formik.setFieldValue(FieldsEnum.createdByUserName, userName);\n                                }}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FormikField\n                    className={cx('field', 'field--shipper')}\n                    name={FieldsEnum.createdByShipperId}\n                    error={formik.errors[FieldsEnum.createdByShipperId]}\n                    meta={formik.getFieldMeta(FieldsEnum.createdByShipperId)}\n                    label={t('spot-requests.list.filters.fields.shipper')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <ShipperSuggest\n                            value={formik.values[FieldsEnum.createdByShipperId]}\n                            initialValue={initialValues[FieldsEnum.createdByShipperId]}\n                            initialLabel={initialValues[FieldsEnum.createdByShipperName] || ''}\n                            hasClearControl\n                            onSelect={(shipperId, shipperName) => {\n                                formik.setFieldValue(FieldsEnum.createdByShipperId, shipperId);\n                                formik.setFieldValue(FieldsEnum.createdByShipperName, shipperName);\n                            }}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                            placeholder={t('spot-requests.list.filters.placeholders.shipper')}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--trailer-type')}\n                    name={FieldsEnum.dictTrailerTypeId}\n                    error={formik.errors[FieldsEnum.dictTrailerTypeId]}\n                    meta={formik.getFieldMeta(FieldsEnum.dictTrailerTypeId)}\n                    label={t('spot-requests.list.filters.fields.trailer-type')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <DictTrailerDropdown\n                            placeholder={t('spot-requests.list.filters.placeholders.trailer-type')}\n                            value={formik.values[FieldsEnum.dictTrailerTypeId]}\n                            onChange={props.onChange}\n                            hasWarning={props.hasWarning}\n                            hasError={props.hasError}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n            </SideBarLayout>\n            <FooterSideBarLayout hasPaddings>\n                <div className={cx('selected-filters')}>\n                    <SelectedFilters queryFilters={initialQueryFilters} setQueryFilters={setInitialQueryFilters} />\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('spot-requests.list.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default SpotRequestsFiltersSidebarContent;\n","import { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport { AuthErrorTypeEnum, checkIsAuthApiError } from 'common/utils/api/auth/errors/auth-api-error';\n\nconst asyncValidate = (requestError: RequestStatusT): AsyncFormErrorsT => {\n    const asyncErrors: AsyncFormErrorsT = {};\n\n    if (!checkIsAuthApiError(requestError.error)) {\n        return asyncErrors;\n    }\n\n    if (\n        requestError.error?.type === AuthErrorTypeEnum.userNotFound ||\n        requestError.error?.type === AuthErrorTypeEnum.wrongRole ||\n        requestError.error?.type === AuthErrorTypeEnum.userDisabled\n    ) {\n        asyncErrors[FieldsEnum.email] = requestError.error?.type;\n    }\n\n    if (requestError.error?.type === AuthErrorTypeEnum.wrongPassword) {\n        asyncErrors[FieldsEnum.password] = requestError.error?.type;\n    }\n\n    return asyncErrors;\n};\n\nexport default asyncValidate;\n","import React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\n\nimport { TruckStatusEnum } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\nimport { TRUCK_STATUS_T_MAP } from 'common/components/status/TruckStatus/TruckStatus';\nimport DropdownMultipleInput, {\n    RenderTriggerPropsT,\n} from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInput';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport DropdownBaseButtonTrigger from 'design-system/components/dropdowns/base/DropdownBaseButtonTrigger/DropdownBaseButtonTrigger';\nimport TruckStatusPill from 'common/components/status-pill/TruckStatusPill/TruckStatusPill';\nimport DropdownMultipleInputCountLabel from 'design-system/components/dropdowns/DropdownMultipleInput/DropdownMultipleInputCountLabel/DropdownMultipleInputCountLabel';\n\ntype OptionValueT = TruckStatusEnum | null;\n\ntype PropsT = {\n    placeholder?: string;\n    value: Array<OptionValueT>;\n    isDisabled?: boolean;\n    onChange: (value: Array<OptionValueT>) => void;\n    hasWarning: boolean;\n    hasError: boolean;\n    hasChanges?: boolean;\n    onBlur: () => void;\n    onFocus: () => void;\n    hasClearControl?: boolean;\n    overlayPosition?: DropdownOverlayPositionEnum;\n    excludeStatuses?: Array<TruckStatusEnum>;\n};\n\ntype TruckStatusDropdownOptionT = {\n    value: OptionValueT;\n    label: React.ReactNode;\n};\n\nconst TruckStatusMultipleDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        value,\n        placeholder,\n        onChange,\n        isDisabled,\n        hasWarning,\n        hasError,\n        hasChanges,\n        onBlur,\n        onFocus,\n        hasClearControl,\n        overlayPosition,\n        excludeStatuses,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const options = React.useMemo((): TruckStatusDropdownOptionT[] => {\n        return [TruckStatusEnum.free, TruckStatusEnum.inTransit, TruckStatusEnum.archived, TruckStatusEnum.unavailable]\n            .filter((status) => {\n                if (excludeStatuses) {\n                    return !excludeStatuses.includes(status);\n                }\n\n                return true;\n            })\n            .map((status: TruckStatusEnum): TruckStatusDropdownOptionT => {\n                return {\n                    label: t(TRUCK_STATUS_T_MAP[status]),\n                    value: status,\n                };\n            });\n    }, [t, excludeStatuses]);\n\n    const renderTrigger = (\n        props: RenderTriggerPropsT,\n        options: Array<TruckStatusDropdownOptionT>,\n        placeholder: string | undefined,\n    ): React.ReactNode => {\n        if (!options?.length) {\n            return (\n                <DropdownBaseButtonTrigger {...props} isShowClearControl={false}>\n                    {placeholder || ''}\n                </DropdownBaseButtonTrigger>\n            );\n        }\n\n        if (options.length === 1) {\n            const firstOption = options?.[0];\n\n            return <DropdownBaseButtonTrigger {...props}>{firstOption?.label}</DropdownBaseButtonTrigger>;\n        }\n\n        return (\n            <DropdownBaseButtonTrigger {...props}>\n                <DropdownMultipleInputCountLabel count={options?.length} />\n            </DropdownBaseButtonTrigger>\n        );\n    };\n\n    const renderOption = (option: TruckStatusDropdownOptionT | null | undefined): React.ReactNode => {\n        if (!option) {\n            return null;\n        }\n\n        return (\n            <DropdownControlOptionLabel\n                withoutPaddings\n                label={<TruckStatusPill status={option.value} isSymmetrical />}\n            />\n        );\n    };\n\n    const handleSelect = (value: Array<OptionValueT>): void => {\n        onChange(value);\n    };\n\n    const getOptionValue = (option: TruckStatusDropdownOptionT): OptionValueT => option.value;\n\n    return (\n        <DropdownMultipleInput<TruckStatusDropdownOptionT, OptionValueT>\n            selectedValues={value}\n            placeholder={placeholder}\n            options={options}\n            onSelect={handleSelect}\n            isDisabled={isDisabled}\n            renderOption={renderOption}\n            renderTrigger={renderTrigger}\n            getOptionValue={getOptionValue}\n            overlayPosition={overlayPosition || DropdownOverlayPositionEnum.bottomLeft}\n            hasWarning={hasWarning}\n            hasError={hasError}\n            hasChanges={hasChanges}\n            onBlur={onBlur}\n            onFocus={onFocus}\n            testSelector=\"truck-statuses\"\n            onReset={\n                hasClearControl\n                    ? () => {\n                          onChange([]);\n                      }\n                    : undefined\n            }\n        />\n    );\n});\n\nexport default TruckStatusMultipleDropdown;\n","import { TFunction } from 'i18next';\nimport { AsyncFormErrorsT, FieldsEnum } from './constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport {\n    checkIsTranziitApiRequestError,\n    TranziitApiRequestErrorSubTypeEnum,\n} from 'common/utils/api/tranziit/errors/tranziit-api-errors';\n\nconst asyncValidate = (t: TFunction, requestStatus: RequestStatusT): AsyncFormErrorsT => {\n    const errors: AsyncFormErrorsT = {};\n\n    const { error } = requestStatus;\n\n    if (\n        error &&\n        checkIsTranziitApiRequestError(error) &&\n        error?.subType === TranziitApiRequestErrorSubTypeEnum.evidenceOfTaxDetails_WrongVat\n    ) {\n        errors[FieldsEnum.vatNumber] = error.subType;\n    }\n\n    return errors;\n};\n\nexport default asyncValidate;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"EventCell__wrap___MXyiB\",\"wrap--isSmallFont\":\"EventCell__wrap--isSmallFont___JdXrT\",\"link\":\"EventCell__link___IjJMU\",\"fadeIn\":\"EventCell__fadeIn___wtEHy\",\"blinking\":\"EventCell__blinking___fq_eu\"};","// eslint-disable-next-line no-restricted-exports\nexport { default } from './slice';\n","import { eventChannel } from 'redux-saga';\nimport { call, put, select, take, takeEvery } from 'redux-saga/effects';\nimport isNil from 'lodash/isNil';\n\nimport {\n    CONTINUE_SIGN_UP_REQUEST,\n    ContinueSignUpActionT,\n    EMAIL_VERIFICATION_REQUEST,\n    EmailVerificationActionT,\n    RESET_PASSWORD_REQUEST,\n    ResetPasswordActionT,\n    SIGN_IN_REQUEST,\n    SIGN_OUT_REQUEST,\n    SIGN_UP_REQUEST,\n    SignInActionT,\n    SignUpActionT,\n    UPDATE_PASSWORD_REQUEST,\n    UpdatePasswordActionT,\n} from './types';\nimport {\n    destroySession,\n    emailVerificationBegin,\n    emailVerificationError,\n    emailVerificationSuccess,\n    resetPasswordBegin,\n    resetPasswordError,\n    resetPasswordSuccess,\n    setUser,\n    signInBegin,\n    signInError,\n    signInSuccess,\n    signOutBegin,\n    signOutError,\n    signOutSuccess,\n    signUpBegin,\n    signUpError,\n    signUpSuccess,\n    updatePasswordBegin,\n    updatePasswordError,\n    updatePasswordSuccess,\n} from './actions';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport history, { goToPossiblyExternalUrl } from 'common/utils/history';\nimport { authRoutesEnum, CommonRoutesEnum, CompanyTypeEnum, externalRoutesSet, QueryKeysEnum } from '../../constants';\n\nimport { getAuthReturnUrl, parseAuthReturnUrl } from 'common/utils/auth-return-url';\nimport { logWarning } from 'common/utils/logger';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { AuthApiError, AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\nimport i18n from 'i18next';\nimport moment from 'moment';\nimport { checkRegisteredUser } from 'common/store/auth/selectors';\nimport { forceRefreshCurrentUserSaga } from '../user/sagas';\nimport { ApiCompleteRegistrationT, CountryCodeT } from 'common/utils/api/models';\nimport { AuthUserClaimsT, AuthUserT } from 'common/utils/api/auth/base-auth-service';\nimport { formatQuery } from 'common/utils/query';\nimport { getRawClientFeaturesConfig, setRawClientFeaturesConfig } from 'common/utils/features/client-features-config';\n\nconst companyTypes: Array<string> = Object.values(CompanyTypeEnum);\n\nfunction* continueSignInErrorSaga(error: Error) {\n    yield put(emailVerificationError(error));\n    yield authApi.doSignOut();\n}\n\ntype ProtectedSignInResultT = {\n    user: AuthUserT;\n    userClaims: AuthUserClaimsT | null;\n};\n\nfunction* checkPasswordSaga(email: string, password: string): WrapGeneratorT<[AuthApiError | null, AuthUserT | null]> {\n    return yield authApi.signInWithEmailAndPassword(email, password);\n}\n\nfunction* protectedSignInSaga(\n    companyType: CompanyTypeEnum,\n    email: string,\n    password: string,\n): WrapGeneratorT<[AuthApiError | null, ProtectedSignInResultT | null]> {\n    const [signInError, signInResult]: ReturnApiT<typeof authApi.signInWithEmailAndPassword> =\n        yield authApi.signInWithEmailAndPassword(email, password);\n\n    if (signInError) {\n        return [signInError, null];\n    }\n\n    if (!signInResult) {\n        return [new AuthApiError(AuthErrorTypeEnum.unknown, 'empty signInResult'), null];\n    }\n\n    const [userClaimsError, userClaimsResult]: ReturnApiT<typeof authApi.getAuthUserClaims> =\n        yield authApi.getAuthUserClaims();\n\n    if (userClaimsError) {\n        return [userClaimsError, null];\n    }\n\n    if (!userClaimsResult) {\n        return [new AuthApiError(AuthErrorTypeEnum.unknown, 'empty idTokenResult'), null];\n    }\n\n    const roles = userClaimsResult?.roles || [];\n    const hasRequiredRole = roles.includes(companyType);\n    if (!hasRequiredRole) {\n        const authError = new AuthApiError(AuthErrorTypeEnum.wrongRole, 'wrong role');\n        return [authError, null];\n    }\n\n    return [\n        null,\n        {\n            user: signInResult,\n            userClaims: userClaimsResult,\n        },\n    ];\n}\n\nfunction getContinueSignInSaga(companyType: CompanyTypeEnum) {\n    return function* continueSignInSaga(action: ContinueSignUpActionT) {\n        const { firstName, lastName, phoneNumber, password, oobCode, email, returnUrl } = action;\n\n        const isRegisteredUser: ReturnType<typeof checkRegisteredUser> = yield select(checkRegisteredUser);\n\n        yield put(emailVerificationBegin());\n\n        if (!isRegisteredUser && email && password) {\n            const [checkPasswordError] = yield* checkPasswordSaga(email, password);\n            if (checkPasswordError) {\n                yield continueSignInErrorSaga(checkPasswordError);\n                return;\n            }\n        }\n\n        if (oobCode) {\n            const [verificationError]: ReturnApiT<typeof authApi.verificationEmail> = yield authApi.verificationEmail(\n                oobCode,\n            );\n            if (verificationError) {\n                yield continueSignInErrorSaga(verificationError);\n                return;\n            }\n        }\n\n        if (!isRegisteredUser && email && password) {\n            const [signInApiError, signInResult] = yield* protectedSignInSaga(companyType, email, password);\n            if (signInApiError?.type === AuthErrorTypeEnum.wrongRole) {\n                history.push(CommonRoutesEnum.accessDenied);\n                return;\n            }\n            if (signInApiError) {\n                yield continueSignInErrorSaga(signInApiError);\n                return;\n            }\n\n            if (!signInResult) {\n                const error = new AuthApiError(AuthErrorTypeEnum.unknown, 'empty signInResult');\n                yield continueSignInErrorSaga(error);\n                return;\n            }\n\n            yield put(signInSuccess(signInResult.user, signInResult.userClaims));\n        }\n\n        const [currentUserError, currentUser]: ReturnApiT<typeof commonTranziitApi.fetchCurrentUser> =\n            yield commonTranziitApi.fetchCurrentUser();\n        if (currentUserError) {\n            yield continueSignInErrorSaga(currentUserError);\n            return;\n        }\n\n        if (!currentUser) {\n            const error = new AuthApiError(AuthErrorTypeEnum.unknown, 'empty currentUser');\n            yield continueSignInErrorSaga(error);\n            return;\n        }\n\n        const patchedApiUserUpdate: ApiCompleteRegistrationT = {\n            language: i18n.language,\n            name: firstName,\n            phone: phoneNumber,\n            surname: lastName,\n        };\n        const [userPatchError]: ReturnApiT<typeof commonTranziitApi.completeUserRegistration> =\n            yield commonTranziitApi.completeUserRegistration(patchedApiUserUpdate);\n        if (userPatchError) {\n            yield continueSignInErrorSaga(userPatchError);\n            return;\n        }\n\n        yield put(emailVerificationSuccess());\n\n        yield forceRefreshCurrentUserSaga();\n\n        history.push(parseAuthReturnUrl(returnUrl));\n    };\n}\n\nfunction getSignInSaga(companyType: CompanyTypeEnum) {\n    return function* signInSaga(action: SignInActionT) {\n        const { email, password, returnUrl } = action;\n\n        yield put(signInBegin());\n\n        const [signInApiError, signInResult] = yield* protectedSignInSaga(companyType, email, password);\n\n        if (signInApiError?.type === AuthErrorTypeEnum.wrongRole) {\n            history.push(CommonRoutesEnum.accessDenied);\n            return;\n        }\n\n        if (signInApiError) {\n            yield put(signInError(signInApiError));\n            yield authApi.doSignOut();\n            return;\n        }\n\n        if (!signInResult) {\n            const error = new AuthApiError(AuthErrorTypeEnum.unknown, 'empty signInResult');\n            yield put(signInError(error));\n            return;\n        }\n\n        yield put(signInSuccess(signInResult.user, signInResult.userClaims));\n\n        history.push(parseAuthReturnUrl(returnUrl));\n    };\n}\n\nconst authUserStateChangeChannel = () =>\n    eventChannel((emit) => {\n        return authApi.onAuthStateChanged((user) => {\n            emit({ user });\n        });\n    });\n\nexport function* reAuthSaga(): WrapGeneratorT<void> {\n    const [, anonymouslyUser]: ReturnApiT<typeof authApi.createAnonymouslyUser> = yield authApi.createAnonymouslyUser();\n\n    if (anonymouslyUser) {\n        yield put(setUser(anonymouslyUser, null));\n    }\n\n    // commented - hot fix, redirect after logout with \"session_state\" in url\n    // const isContinueSignInRedirect = authApi.checkIsContinueSignInRedirect();\n    // if (isContinueSignInRedirect) {\n    //     return;\n    // }\n\n    const shouldRedirectToSignIn = !externalRoutesSet.has(history.location.pathname);\n    if (shouldRedirectToSignIn) {\n        authApi.destroySession();\n\n        const continueReturnUrl = getAuthReturnUrl();\n        const signInUrl = authApi.createSignInUrl(continueReturnUrl);\n        goToPossiblyExternalUrl(signInUrl);\n    }\n}\n\nfunction getAuthWatch(companyType: CompanyTypeEnum) {\n    return function* authWatch(): WrapGeneratorT<void> {\n        const userChannel = yield call(authUserStateChangeChannel);\n        let { user } = yield take(userChannel);\n\n        let [userClaimsError, userClaimsResult]: ReturnApiT<typeof authApi.getAuthUserClaims> =\n            yield authApi.getAuthUserClaims();\n        if (userClaimsError) {\n            yield put(signInError(userClaimsError));\n        }\n\n        const roles = userClaimsResult?.roles;\n        const isNotValidRole = !isNil(roles) && !roles.includes(companyType);\n        if (isNotValidRole) {\n            yield put(setUser(user, userClaimsResult));\n\n            const hasAnyRole = !!roles.find((role) => {\n                return companyTypes.includes(role);\n            });\n\n            if (hasAnyRole) {\n                history.push(CommonRoutesEnum.accessDenied);\n            } else {\n                history.push({\n                    pathname: authRoutesEnum.selfCreateCompany,\n                    search: formatQuery({\n                        [QueryKeysEnum.returnUrl]: getAuthReturnUrl(),\n                    }),\n                });\n            }\n            return;\n        }\n\n        const isNotValidUser = user && user.isAnonymous;\n        if (isNotValidUser || !user) {\n            yield reAuthSaga();\n        }\n\n        if (!user || isNotValidRole) {\n            const [error, anonymouslyUser]: ReturnApiT<typeof authApi.createAnonymouslyUser> =\n                yield authApi.createAnonymouslyUser();\n            if (error) {\n                yield put(signInError(error));\n            }\n            const result: ReturnApiT<typeof authApi.getAuthUserClaims> = yield authApi.getAuthUserClaims();\n            [userClaimsError, userClaimsResult] = result;\n            user = anonymouslyUser;\n        }\n\n        if (!userClaimsResult) {\n            logWarning('empty idTokenResult');\n            return;\n        }\n\n        yield put(setUser(user, userClaimsResult));\n    };\n}\n\nfunction* signOutSaga(): WrapGeneratorT<void> {\n    yield put(signOutBegin());\n\n    /* start clear user data */\n    const rawClientFeaturesConfig = getRawClientFeaturesConfig();\n\n    localStorage.clear();\n    sessionStorage.clear();\n\n    // save client feature config\n    if (rawClientFeaturesConfig) {\n        setRawClientFeaturesConfig(rawClientFeaturesConfig);\n    }\n    /* end clear user data */\n\n    const [apiError]: ReturnApiT<typeof authApi.doSignOut> = yield authApi.doSignOut();\n    if (apiError) {\n        yield put(signOutError(apiError));\n    }\n    const [error, anonymouslyUser]: ReturnApiT<typeof authApi.createAnonymouslyUser> =\n        yield authApi.createAnonymouslyUser();\n    if (error) {\n        yield put(signOutError(error));\n    }\n    if (anonymouslyUser) {\n        yield put(setUser(anonymouslyUser, null));\n    }\n    yield put(signOutSuccess());\n\n    authApi.destroySession();\n    history.push(authApi.createSignInUrl());\n    yield put(destroySession());\n}\n\nfunction* resetPasswordSaga(action: ResetPasswordActionT): WrapGeneratorT<void> {\n    yield put(resetPasswordBegin());\n    const { email } = action;\n    const origin = `${window.location.protocol}//${window.location.hostname}`;\n    const [error]: ReturnApiT<typeof commonTranziitApi.forgotPassword> = yield commonTranziitApi.forgotPassword(\n        email,\n        origin,\n    );\n    if (error) {\n        yield put(resetPasswordError(error));\n    } else {\n        yield put(resetPasswordSuccess());\n    }\n}\n\nfunction* updatePasswordSaga(action: UpdatePasswordActionT): WrapGeneratorT<void> {\n    yield put(updatePasswordBegin());\n    const { password, oobCode } = action;\n    const [error]: ReturnApiT<typeof authApi.updatePassword> = yield authApi.updatePassword(oobCode, password);\n    if (error) {\n        yield put(updatePasswordError(error));\n    } else {\n        yield put(updatePasswordSuccess());\n    }\n}\n\nconst getDefaultTimeZone = (): number => moment().utcOffset();\n\nfunction getSignUpSaga(companyType: CompanyTypeEnum) {\n    return function* signUpSaga(action: SignUpActionT): WrapGeneratorT<void> {\n        yield put(signUpBegin());\n\n        const { params } = action;\n\n        const [apiError]: ReturnApiT<typeof commonTranziitApi.createUser> = yield commonTranziitApi.createUser({\n            name: params.firstName,\n            surname: params.lastName,\n            email: params.email,\n            password: params.password,\n            companyName: params.companyName,\n            // TODO backend task https://tranziit.atlassian.net/browse/TZT-2854\n            timezone: getDefaultTimeZone(),\n            dictLegalFormId: params.legalFormId || undefined,\n            phoneNumber: params.phone,\n            companyType,\n            address: {\n                city: params.city,\n                country: params.countryCode as CountryCodeT,\n                street1: params.street1,\n                zipCode: params.zipCode,\n            },\n            language: i18n.language,\n        });\n\n        if (apiError) {\n            yield put(signUpError(apiError));\n            return;\n        }\n\n        /*\n        const [authApiError, user]: ReturnApiT<typeof authApi.signInWithEmailAndPassword> =\n            yield authApi.signInWithEmailAndPassword(params.email, params.password);\n\n        yield authApi.sendVerificationEmail(user);\n        yield authApi.doSignOut();\n        */\n        yield put(signUpSuccess());\n    };\n}\n\nfunction* emailVerificationSaga(action: EmailVerificationActionT): WrapGeneratorT<void> {\n    const { code } = action;\n\n    yield put(emailVerificationBegin());\n\n    const [error]: ReturnApiT<typeof authApi.verificationEmail> = yield authApi.verificationEmail(code);\n    if (error) {\n        yield put(emailVerificationError(error));\n    } else {\n        yield put(emailVerificationSuccess());\n    }\n}\n\nfunction* authSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(SIGN_IN_REQUEST, getSignInSaga(companyType));\n    yield takeEvery(CONTINUE_SIGN_UP_REQUEST, getContinueSignInSaga(companyType));\n    yield takeEvery(RESET_PASSWORD_REQUEST, resetPasswordSaga);\n    yield takeEvery(UPDATE_PASSWORD_REQUEST, updatePasswordSaga);\n    yield takeEvery(SIGN_OUT_REQUEST, signOutSaga);\n    yield takeEvery(SIGN_UP_REQUEST, getSignUpSaga(companyType));\n    yield takeEvery(EMAIL_VERIFICATION_REQUEST, emailVerificationSaga);\n    yield call(getAuthWatch(companyType));\n}\n\nexport default authSaga;\n","// extracted by mini-css-extract-plugin\nexport default {\"zone-title\":\"ZoneText__zone-title___dNNjd\",\"zone-title--theme-green\":\"ZoneText__zone-title--theme-green___sU2Pg\",\"zone-title--theme-orange\":\"ZoneText__zone-title--theme-orange___LhIB4\",\"zone-title--theme-dark-green\":\"ZoneText__zone-title--theme-dark-green___rhoW8\",\"zone-title--position-left\":\"ZoneText__zone-title--position-left___GHzKc\",\"zone-title--position-center\":\"ZoneText__zone-title--position-center___OqU11\",\"zone-title--position-right\":\"ZoneText__zone-title--position-right___FKoLt\",\"fadeIn\":\"ZoneText__fadeIn___b9NVY\",\"blinking\":\"ZoneText__blinking___O5q81\"};","import React from 'react';\nimport styles from './SubmitButtonContent.scss';\nimport classNames from 'classnames/bind';\nimport { Trans } from 'react-i18next';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { CurrencyEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Money from 'common/components/Money/Money';\nimport { ApiReserveT } from 'common/store/order-creation/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    hasReservePreview: boolean;\n    isSubmitting: boolean;\n    isLoadingReservePreview: boolean;\n    selectedLane: ApiReserveT['contractLanes'][number] | null;\n};\n\nconst SubmitButtonContent: React.FC<PropsT> = (props) => {\n    const { hasReservePreview, isLoadingReservePreview, isSubmitting, selectedLane } = props;\n\n    const [isFirstReservePreview, setIsFirstReservePreview] = React.useState<boolean>(true);\n    React.useEffect(() => {\n        if (hasReservePreview) {\n            setIsFirstReservePreview(false);\n        }\n    }, [hasReservePreview]);\n\n    const loaderNode = <ControlLoaderIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />;\n\n    let textNode: React.ReactNode = null;\n    let iconNode: React.ReactNode = null;\n\n    if (isLoadingReservePreview) {\n        iconNode = loaderNode;\n        textNode = (\n            <Trans\n                i18nKey={\n                    isFirstReservePreview\n                        ? 'common:new-order-form.submit.wait-reserve-preview'\n                        : 'common:new-order-form.submit.wait-new-reserve-preview'\n                }\n            />\n        );\n    } else if (selectedLane) {\n        iconNode = isSubmitting ? loaderNode : null;\n        textNode = (\n            <Trans\n                i18nKey=\"common:new-order-form.submit.ready-with-lane\"\n                components={{\n                    amount: <Money amount={selectedLane.totalPrice} currency={CurrencyEnum.EUR} />,\n                }}\n            />\n        );\n    } else {\n        iconNode = isSubmitting ? loaderNode : null;\n        textNode = <Trans i18nKey=\"common:new-order-form.submit.ready\" />;\n    }\n\n    return (\n        <div className={cx('content-wrap')}>\n            {!!iconNode && <div className={cx('loader')}>{iconNode}</div>}\n            {textNode}\n        </div>\n    );\n};\n\nexport default SubmitButtonContent;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './CommonDocumentParamsDetailsForm.scss';\n\nimport { useFormik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport values from 'lodash/values';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport DatePicker, {\n    DatePickerOverlayPositionEnum,\n    datePicketRangePresets,\n} from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport prepareApproveData from './prepare-approve-data';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectUpdateCompanyDocumentsRequest } from 'common/store/documents/selectors';\nimport { approveDocument, updateDocument } from 'common/store/documents/actions';\nimport { logWarning } from 'common/utils/logger';\nimport { DocumentDetailsChangesT, DocumentVersionT } from 'common/store/documents/models';\nimport { DictDocumentT } from 'common/store/documents-dict/models';\nimport HiddenSubmitButtonForKeyboardEnter from 'common/components/HiddenEnterSubmitButton/HiddenSubmitButtonForKeyboardEnter';\nimport ApproveDocumentsConfirmation, {\n    BaseConfirmApproveDocumentModalDataT,\n} from 'common/layouts/BaseDocumentsLayout/dialogs/ApproveDocumentsConfirmation/ApproveDocumentsConfirmation';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport { createUseWatchAnyFieldValueChanges } from 'common/utils/hooks/useWatchFormFieldChanges';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\nimport { documentsWithoutExpirySet } from 'common/constants';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\nconst ALL_FIELDS = values(FieldsEnum);\nconst useWatchAnyFieldValueChanges = createUseWatchAnyFieldValueChanges(ALL_FIELDS);\n\ntype PropsT = {\n    isReview: boolean;\n    dictDocument: DictDocumentT | null;\n    actualVersion: DocumentVersionT | null;\n    setNeedCloseConfirmation: (needCloseConfirmation: boolean) => void;\n    partnerId: PartnerIdT | null;\n    partnerType: PartnerTypeEnum | null;\n};\n\ntype ConfirmApproveDocumentModalDataT = BaseConfirmApproveDocumentModalDataT<{\n    data: DocumentDetailsChangesT;\n    partnerType: PartnerTypeEnum;\n    dictDocumentId: DictDocumentFakeIdT;\n}>;\n\nconst CommonDocumentParamsDetailsForm: React.FC<PropsT> = React.memo((props) => {\n    const { isReview, actualVersion, dictDocument, setNeedCloseConfirmation, partnerId, partnerType } = props;\n\n    const isShowExpirationDate =\n        !!actualVersion?.documentType && !documentsWithoutExpirySet.has(actualVersion?.documentType);\n\n    const dispatch = useDispatch();\n\n    const confirmApproveDocumentModalDialog = useModalDialog<ConfirmApproveDocumentModalDataT>();\n\n    const updateRequest = useSelector(selectUpdateCompanyDocumentsRequest(partnerId));\n\n    const isLoading = updateRequest.loading;\n\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values, { isShowExpirationDate });\n    }, [t, isShowExpirationDate]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues(actualVersion, { isShowExpirationDate });\n        const errors = validateForm(t, values, { isShowExpirationDate });\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [actualVersion, isShowExpirationDate]);\n\n    const handleConfirmApproveDocument = (data: ConfirmApproveDocumentModalDataT) => {\n        if (!actualVersion?.id) {\n            logWarning('failed handleConfirmApproveDocument, empty actualVersion?.id');\n            return;\n        }\n\n        if (!partnerId || !partnerType) {\n            logWarning('Empty partnerId or partnerType in handleConfirmApproveDocument');\n            return;\n        }\n        dispatch(approveDocument(actualVersion.id, data.data.validTill, partnerId, partnerType));\n    };\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            if (!actualVersion?.id) {\n                logWarning('failed to save document details, empty documentId');\n                return;\n            }\n\n            const approveData = prepareApproveData(values, { isShowExpirationDate });\n            if (!approveData) {\n                logWarning('failed to save document details, empty approveData');\n                return;\n            }\n\n            if (!dictDocument) {\n                logWarning('failed to save document details, empty dictDocument');\n                return;\n            }\n\n            if (isReview) {\n                if (!partnerType) {\n                    logWarning('Empty partnerType in CommonDocumentParamsDetailsForm onSubmit');\n                    return;\n                }\n                confirmApproveDocumentModalDialog.setData({\n                    partnerType,\n                    dictDocumentId: dictDocument.id,\n                    data: approveData,\n                });\n            } else {\n                if (!approveData.validTill) {\n                    logWarning('failed to save details, empty approveData.validTill');\n                    return;\n                }\n                if (!partnerId) {\n                    logWarning('Empty partnerId in CommonDocumentParamsDetailsForm onSubmit');\n                    return;\n                }\n\n                dispatch(updateDocument(actualVersion.id, partnerId, approveData));\n            }\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormCallbacks) {\n            remoteFormActionsContext.setRemoteFormCallbacks({\n                submit: formik.submitForm,\n                reset: formik.resetForm,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [formik.submitForm, formik.resetForm]);\n\n    const hasFormAnyErrors = useWatchFormAnyErrors(formik.errors);\n    const hasAnyFieldValueChanges = useWatchAnyFieldValueChanges(formik.values, initialValues);\n\n    React.useEffect(() => {\n        return () => {\n            setNeedCloseConfirmation(false);\n        };\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    React.useEffect(() => {\n        if (hasAnyFieldValueChanges) {\n            setNeedCloseConfirmation(hasAnyFieldValueChanges);\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormState) {\n            remoteFormActionsContext.setRemoteFormState({\n                hasChanges: hasAnyFieldValueChanges,\n                hasErrors: hasFormAnyErrors,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [hasFormAnyErrors, hasAnyFieldValueChanges]);\n\n    React.useEffect(() => {\n        if (remoteFormActionsContext.setRemoteFormRequest) {\n            remoteFormActionsContext.setRemoteFormRequest({\n                isLoading,\n            });\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [isLoading]);\n\n    return (\n        <>\n            <form onSubmit={formik.handleSubmit}>\n                {isShowExpirationDate && (\n                    <FormikField\n                        className={cx('field', 'field--date')}\n                        name={FieldsEnum.expiration}\n                        error={formik.errors[FieldsEnum.expiration]}\n                        meta={formik.getFieldMeta(FieldsEnum.expiration)}\n                        label={t('common:document.details-form.expiration.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                {...datePicketRangePresets.documentValidTill}\n                                hasYearMonthForm\n                                value={formik.values[FieldsEnum.expiration]}\n                                placeholder={t('common:document.details-form.expiration.placeholder')}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                )}\n                <HiddenSubmitButtonForKeyboardEnter />\n            </form>\n            <ApproveDocumentsConfirmation\n                name={dictDocument?.name}\n                data={confirmApproveDocumentModalDialog.data}\n                onCancel={confirmApproveDocumentModalDialog.onCancel}\n                onClose={confirmApproveDocumentModalDialog.onClose}\n                onConfirm={handleConfirmApproveDocument}\n                isLoading={isLoading}\n            />\n        </>\n    );\n});\n\nexport default CommonDocumentParamsDetailsForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"tab\":\"TabLabel__tab___gaRLe\",\"tab--size-normal\":\"TabLabel__tab--size-normal___UZU9_\",\"tab--size-small\":\"TabLabel__tab--size-small___ybeQW\",\"tab--isCompact\":\"TabLabel__tab--isCompact___cBCBl\",\"tab--theme-dark\":\"TabLabel__tab--theme-dark___H_hxO\",\"tab--theme-light\":\"TabLabel__tab--theme-light___LSAOx\",\"tab--isActive\":\"TabLabel__tab--isActive___I6rJl\",\"inner\":\"TabLabel__inner___HOs0j\",\"inner__badge\":\"TabLabel__inner__badge___Staqu\",\"inner__content\":\"TabLabel__inner__content___MqT58\",\"fadeIn\":\"TabLabel__fadeIn___imX0M\",\"blinking\":\"TabLabel__blinking___Ow5gj\"};","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './ListMessage.scss';\n\nconst cx = classNames.bind(styles);\n\nexport type ListMessagePropsT = {\n    className?: string;\n    icon?: React.ReactNode;\n    title?: React.ReactNode;\n    description?: React.ReactNode;\n};\n\nconst ListMessage: React.FC<ListMessagePropsT> = React.memo((props) => {\n    const { className, title, description, icon } = props;\n\n    return (\n        <div className={cs(cx('inner'), className)}>\n            {icon && <div className={cx('icon')}>{icon}</div>}\n            {title && <div className={cx('title')}>{title}</div>}\n            {description && <div className={cx('description')}>{description}</div>}\n        </div>\n    );\n});\n\nexport default ListMessage;\n","import React from 'react';\nimport { SyncShipperContractLaneCreationFormMapStateContextValueT } from '../hooks/usySyncMapState';\n\nconst SyncShipperContractLaneCreationFormMapStateContext =\n    React.createContext<SyncShipperContractLaneCreationFormMapStateContextValueT>({\n        hasPickUpLocationError: false,\n        setHasPickUpLocationError: () => {\n            // nothing\n        },\n        hasDropOffLocationError: false,\n        setHasDropOffLocationError: () => {\n            // nothing\n        },\n    });\n\nexport { SyncShipperContractLaneCreationFormMapStateContext };\n","// extracted by mini-css-extract-plugin\nexport default {\"route\":\"BrokerOrderDetails__route___sYbn6\",\"excluded-countries\":\"BrokerOrderDetails__excluded-countries___XXJxo\",\"alerts\":\"BrokerOrderDetails__alerts___yvOeT\",\"table--creation-details\":\"BrokerOrderDetails__table--creation-details___wqIOJ\",\"table--move-details\":\"BrokerOrderDetails__table--move-details___YiT24\",\"table--carrier-cost\":\"BrokerOrderDetails__table--carrier-cost___ChfOZ\",\"tabs\":\"BrokerOrderDetails__tabs___K9_8a\",\"entry-card\":\"BrokerOrderDetails__entry-card___tfC4m\",\"papers-card\":\"BrokerOrderDetails__papers-card___mTUHL\",\"separator\":\"BrokerOrderDetails__separator___Jbg3_\",\"pill\":\"BrokerOrderDetails__pill___MhWKA\",\"tooltip__inner\":\"BrokerOrderDetails__tooltip__inner___mR4NM\",\"info-table-row--origin\":\"BrokerOrderDetails__info-table-row--origin___AX6aq\",\"info-table-row--destination\":\"BrokerOrderDetails__info-table-row--destination___kSnm9\",\"info-table-row--carrier\":\"BrokerOrderDetails__info-table-row--carrier___Vg1Zu\",\"info-table-row--price-offer\":\"BrokerOrderDetails__info-table-row--price-offer___N1Lqz\",\"info-table-row--self-cost\":\"BrokerOrderDetails__info-table-row--self-cost___QpyNR\",\"info-table-row--additinal-services\":\"BrokerOrderDetails__info-table-row--additinal-services___GvrlA\",\"info-table-row--shipper\":\"BrokerOrderDetails__info-table-row--shipper___xxgce\",\"team-driver\":\"BrokerOrderDetails__team-driver___2WwMz\",\"fadeIn\":\"BrokerOrderDetails__fadeIn___Ni3He\",\"blinking\":\"BrokerOrderDetails__blinking___nP3P0\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"RunOutOfTimeAssignDriversCard__wrap___FKZVd\",\"fadeIn\":\"RunOutOfTimeAssignDriversCard__fadeIn___SNDqL\",\"blinking\":\"RunOutOfTimeAssignDriversCard__blinking___V941A\"};","import * as React from 'react';\nimport FilterPills, { FilterPillsConfigT } from 'common/components/FilterPills/FilterPills';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { formatDateRangeFilterValue, pillIconRendererMap } from 'common/components/FilterPills/pill-renderers';\nimport CountriesFilterPill from 'common/components/filter-pills/CountriesFilterPill/CountriesFilterPill';\nimport PriceComponentFilterPill from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/filter-pills/PriceComponentFilterPill/PriceComponentFilterPill';\nimport PartnerFilterPill from 'common/components/filter-pills/PartnerFilterPill/PartnerFilterPill';\nimport { FilterPillThemeEnum } from 'common/components/FilterPills/FilterPill/FilterPill';\nimport PriceRuleTypeLabel from 'broker-admin/components/PriceRuleTypeLabel/PriceRuleTypeLabel';\nimport { PRICE_RULE_STATE_I18N_MAP } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/RuleStateControl/RuleStateControl';\nimport { PriceSettingsRuleStateEnum } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/constants';\nimport TrailerDictIdFilterPill from 'common/components/filter-pills/TrailerDictIdFilterPill/TrailerDictIdFilterPill';\nimport { PRICE_RULE_OPERATION_I18N_MAP } from 'broker-admin/components/filter-pills/PriceRuleOperationFilterPill/PriceRuleOperationFilterPill';\nimport { ApiPriceComponentTypeT, ApiPriceSettingsRuleOperationT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { PRICE_RULE_COMPONENT_TYPE_I18N_MAP } from 'broker-admin/components/dropdowns/PriceComponentTypeMultipleDropdown/PriceComponentTypeMultipleDropdown';\n\ntype PropsT = {\n    isCompact?: boolean;\n    className?: string;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst SelectedFilters: React.FC<PropsT> = React.memo((props) => {\n    const { isCompact, queryFilters, setQueryFilters } = props;\n\n    const { t } = useTranslation();\n\n    const filterPillsConfig = React.useMemo(\n        (): FilterPillsConfigT<QueryFiltersT> => [\n            {\n                render: (queryFilters) =>\n                    t('price-settings.rules.filters.labels.name', {\n                        value: queryFilters[QueryFiltersKeysEnum.rulesName],\n                    }),\n                clearKeys: [QueryFiltersKeysEnum.rulesName],\n            },\n            {\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const ruleType = queryFilters[QueryFiltersKeysEnum.rulesTypes]?.[index];\n                    if (!ruleType) {\n                        return null;\n                    }\n\n                    return <PriceRuleTypeLabel ruleType={ruleType} />;\n                },\n                theme: FilterPillThemeEnum.blazeOrange,\n                clearKeys: [QueryFiltersKeysEnum.rulesTypes],\n            },\n            {\n                render: (queryFilters) => {\n                    const rulesState = queryFilters[QueryFiltersKeysEnum.rulesState];\n                    if (!rulesState) {\n                        return null;\n                    }\n\n                    const i18nKey = PRICE_RULE_STATE_I18N_MAP[rulesState as PriceSettingsRuleStateEnum];\n                    if (!i18nKey) {\n                        return <span>{rulesState}</span>;\n                    }\n\n                    return <Trans i18nKey={i18nKey} />;\n                },\n                theme: FilterPillThemeEnum.blazeOrange,\n                clearKeys: [QueryFiltersKeysEnum.rulesState],\n            },\n            {\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const trailerTypeId = queryFilters[QueryFiltersKeysEnum.rulesTrailerTypeIds]?.[index];\n\n                    return (\n                        <Trans\n                            i18nKey=\"price-settings.rules.filters.labels.trailer-type\"\n                            components={{\n                                value: <TrailerDictIdFilterPill trailerDictId={trailerTypeId} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.rulesTrailerTypeIds],\n            },\n            {\n                render: (queryFilters) => {\n                    const countryCodes = queryFilters[QueryFiltersKeysEnum.rulesFromCountryCodes];\n\n                    return (\n                        <Trans\n                            i18nKey=\"price-settings.rules.filters.labels.from-countries\"\n                            components={{\n                                value: <CountriesFilterPill countryCodes={countryCodes} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.rulesFromCountryCodes],\n            },\n            {\n                render: (queryFilters) => {\n                    const countryCodes = queryFilters[QueryFiltersKeysEnum.rulesToCountryCodes];\n\n                    return (\n                        <Trans\n                            i18nKey=\"price-settings.rules.filters.labels.to-countries\"\n                            components={{\n                                value: <CountriesFilterPill countryCodes={countryCodes} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.rulesToCountryCodes],\n            },\n            {\n                render: (queryFilters) => {\n                    const validFromFrom = queryFilters[QueryFiltersKeysEnum.validFromFrom];\n                    const validFromTo = queryFilters[QueryFiltersKeysEnum.validFromTo];\n\n                    return t('price-settings.rules.filters.labels.valid-from', {\n                        value: formatDateRangeFilterValue(validFromFrom, validFromTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.validFromFrom, QueryFiltersKeysEnum.validFromTo],\n            },\n            {\n                render: (queryFilters) => {\n                    const validTillFrom = queryFilters[QueryFiltersKeysEnum.validTillFrom];\n                    const validTillTo = queryFilters[QueryFiltersKeysEnum.validTillTo];\n\n                    return t('price-settings.rules.filters.labels.valid-till', {\n                        value: formatDateRangeFilterValue(validTillFrom, validTillTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.validTillFrom, QueryFiltersKeysEnum.validTillTo],\n            },\n            {\n                render: (queryFilters) => {\n                    const createdDateFrom = queryFilters[QueryFiltersKeysEnum.createdDateFrom];\n                    const createdDateTo = queryFilters[QueryFiltersKeysEnum.createdDateTo];\n\n                    return t('price-settings.rules.filters.labels.created-dates', {\n                        value: formatDateRangeFilterValue(createdDateFrom, createdDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdDateFrom, QueryFiltersKeysEnum.createdDateTo],\n            },\n            {\n                isMultiple: true,\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, index, isCompact) => {\n                    return pillIconRendererMap.avatar(\n                        queryFilters[QueryFiltersKeysEnum.createdByUserName]?.[index],\n                        isCompact,\n                    );\n                },\n                render: (queryFilters, index) => {\n                    return t('price-settings.rules.filters.labels.created-by', {\n                        value: queryFilters[QueryFiltersKeysEnum.createdByUserName]?.[index],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.createdByUserId, QueryFiltersKeysEnum.createdByUserName],\n            },\n            {\n                render: (queryFilters) => {\n                    const lastModifyDateFrom = queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom];\n                    const lastModifyDateTo = queryFilters[QueryFiltersKeysEnum.lastModifyDateTo];\n\n                    return t('price-settings.rules.filters.labels.last-modify-dates', {\n                        value: formatDateRangeFilterValue(lastModifyDateFrom, lastModifyDateTo),\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.lastModifyDateFrom, QueryFiltersKeysEnum.lastModifyDateTo],\n            },\n            {\n                isMultiple: true,\n                theme: FilterPillThemeEnum.charcoal,\n                renderIcon: (queryFilters, index, isCompact) => {\n                    return pillIconRendererMap.avatar(\n                        queryFilters[QueryFiltersKeysEnum.lastModifyByUserName]?.[index],\n                        isCompact,\n                    );\n                },\n                render: (queryFilters, index) => {\n                    return t('price-settings.rules.filters.labels.last-modify-by', {\n                        value: queryFilters[QueryFiltersKeysEnum.lastModifyByUserName]?.[index],\n                    });\n                },\n                clearKeys: [QueryFiltersKeysEnum.lastModifyByUserId, QueryFiltersKeysEnum.lastModifyByUserName],\n            },\n            {\n                render: (queryFilters) =>\n                    t('price-settings.rules.filters.labels.search', {\n                        value: queryFilters[QueryFiltersKeysEnum.rulesSearchText],\n                    }),\n                clearKeys: [QueryFiltersKeysEnum.rulesSearchText],\n            },\n            {\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const priceOperation = queryFilters[QueryFiltersKeysEnum.rulesImpactPriceOperation]?.[index];\n                    if (!priceOperation) {\n                        return null;\n                    }\n\n                    return (\n                        <Trans\n                            i18nKey={PRICE_RULE_OPERATION_I18N_MAP[priceOperation as ApiPriceSettingsRuleOperationT]}\n                        />\n                    );\n                },\n                theme: FilterPillThemeEnum.blazeOrange,\n                clearKeys: [QueryFiltersKeysEnum.rulesImpactPriceOperation],\n            },\n            {\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const priceComponent = queryFilters[QueryFiltersKeysEnum.rulesImpactPriceComponent]?.[index];\n                    if (!priceComponent) {\n                        return null;\n                    }\n\n                    return (\n                        <Trans i18nKey={PRICE_RULE_COMPONENT_TYPE_I18N_MAP[priceComponent as ApiPriceComponentTypeT]} />\n                    );\n                },\n                theme: FilterPillThemeEnum.blazeOrange,\n                clearKeys: [QueryFiltersKeysEnum.rulesImpactPriceComponent],\n            },\n            {\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const priceComponent = queryFilters[QueryFiltersKeysEnum.rulesImpactPriceComponent]?.[index];\n                    if (!priceComponent) {\n                        return null;\n                    }\n\n                    return (\n                        <Trans\n                            i18nKey=\"price-settings.rules.filters.labels.impact-price-components\"\n                            components={{\n                                value: <PriceComponentFilterPill priceComponent={priceComponent} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.rulesImpactPriceComponent],\n            },\n            {\n                isMultiple: true,\n                render: (queryFilters, index) => {\n                    const rulesPartnerId = queryFilters[QueryFiltersKeysEnum.rulesPartnerIds]?.[index];\n\n                    return (\n                        <Trans\n                            i18nKey=\"price-settings.rules.filters.labels.shipper\"\n                            components={{\n                                value: <PartnerFilterPill partnerId={rulesPartnerId} />,\n                            }}\n                        />\n                    );\n                },\n                clearKeys: [QueryFiltersKeysEnum.rulesPartnerIds],\n            },\n        ],\n        [t],\n    );\n\n    return (\n        <FilterPills<QueryFiltersT>\n            isCompact={isCompact}\n            queryFilters={queryFilters}\n            setQueryFilters={setQueryFilters}\n            config={filterPillsConfig}\n        />\n    );\n});\n\nexport default SelectedFilters;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './CancelSpotRequestFooter.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport TimeLeftForStart from 'common/layouts/sidebar-footers/TimeLeftForStart/TimeLeftForStart';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { cancelSpotRequestByTour } from 'broker-admin/store/spot/actions';\nimport { selectSpotUpdateRequestStatus } from 'broker-admin/store/spot/selectors';\nimport { logWarning } from 'common/utils/logger';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport CancelSpotRequestConfirmation, {\n    CancelSpotRequestConfirmationDataT,\n} from 'broker-admin/components/status-machine/dialogs/CancelSpotRequestConfirmation/CancelSpotRequestConfirmation';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { ApiBrokerCommonTourDetailsT } from 'common/utils/api/models';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    tour: ApiBrokerCommonTourDetailsT | null;\n    isDisableAnyActions: boolean;\n};\n\nconst CancelSpotRequestFooter: React.FC<PropsT> = React.memo((props) => {\n    const { tour, isDisableAnyActions } = props;\n\n    const requestStatus = useSelector(selectSpotUpdateRequestStatus);\n    const dispatch = useDispatch();\n\n    const cancelSpotRequestConfirmation = useModalDialog<CancelSpotRequestConfirmationDataT>();\n    const handleCancelSpotRequest = (tourId: TourIdT) => {\n        cancelSpotRequestConfirmation.setData({\n            tourId,\n        });\n    };\n\n    const handleConfirmCancelSpotRequest = ({ tourId }: CancelSpotRequestConfirmationDataT) => {\n        dispatch(cancelSpotRequestByTour(tourId));\n    };\n\n    useCloseModalDialogAfterRequest(requestStatus, [cancelSpotRequestConfirmation]);\n\n    const { t } = useTranslation();\n\n    const handleCancelSpot = () => {\n        if (!tour?.id) {\n            logWarning('failed cancel spot request, empty tour?.id');\n            return;\n        }\n\n        handleCancelSpotRequest(tour.id);\n    };\n\n    const firstWaypoint = tour?.waypoints?.[0] || null;\n    const deadline = firstWaypoint?.correctedDateTimeFrom || firstWaypoint?.originalDateTimeFrom || null;\n\n    if (!tour) {\n        return null;\n    }\n\n    return (\n        <>\n            <TimeLeftForStart\n                deadline={deadline}\n                alreadyStartedLabel={t('assignment.tour-already-started')}\n                deadlineLabel={t('assignment.to-assign')}\n                renderActions={(isDisabled) => (\n                    <Button\n                        theme={ButtonThemeEnum.secondary}\n                        className={cx('action')}\n                        onClick={handleCancelSpot}\n                        isDisabled={isDisabled || isDisableAnyActions}\n                        isLoading={requestStatus.loading}\n                    >\n                        {t('broker-order-details.cancel-spot.actions.cancel')}\n                    </Button>\n                )}\n            />\n            <CancelSpotRequestConfirmation\n                data={cancelSpotRequestConfirmation.data}\n                onConfirmation={handleConfirmCancelSpotRequest}\n                onCancel={cancelSpotRequestConfirmation.onCancel}\n                onClose={cancelSpotRequestConfirmation.onClose}\n            />\n        </>\n    );\n});\n\nexport default CancelSpotRequestFooter;\n","import { InvoicesStateT } from './types';\nimport { StateT } from '../models';\n\nexport const selectInvoicesPages = (state: StateT): InvoicesStateT['pages'] => state.invoices.pages;\n\nexport const selectInvoicesQuery = (state: StateT): InvoicesStateT['query'] => state.invoices.query;\n\nexport const selectInvoicesTotal = (state: StateT): InvoicesStateT['total'] => state.invoices.total;\n\nexport const selectInvoicesByIds = (state: StateT): InvoicesStateT['byId'] => state.invoices.byId;\n\nexport const selectInvoicesPagingState = (state: StateT): InvoicesStateT['pagingState'] => state.invoices.pagingState;\n","// extracted by mini-css-extract-plugin\nexport default {\"action\":\"RemoteFormActions__action___Jml4Z\",\"fadeIn\":\"RemoteFormActions__fadeIn___xaYv6\",\"blinking\":\"RemoteFormActions__blinking___Sx_uc\"};","import { ApiDictCarrierAdditionalServiceT, ApiDictCarrierAdditionalServiceTypeT } from 'common/utils/api/models';\n\nexport const sumAdditionalServicesPrice = (\n    selectedServiceEnums: ApiDictCarrierAdditionalServiceTypeT[],\n    additionalServiceMap: Record<ApiDictCarrierAdditionalServiceT['service'], ApiDictCarrierAdditionalServiceT> | null,\n): number => {\n    if (!additionalServiceMap) {\n        return 0;\n    }\n\n    return selectedServiceEnums.reduce((summary, serviceEnum) => {\n        const service = additionalServiceMap?.[serviceEnum] || null;\n        if (!service) {\n            return summary;\n        }\n\n        return summary + (service?.itemCost || 0);\n    }, 0);\n};\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport {\n    fetchStateMachineSteps,\n    fetchStateMachineStepsBegin,\n    fetchStateMachineStepsError,\n    fetchStateMachineStepsSuccess,\n    toursWaypointsArrived,\n    toursWaypointsLeft,\n    toursWaypointsUndoArrived,\n    toursWaypointsUndoLeft,\n    updateEntityStatusBegin,\n    updateEntityStatusError,\n    updateEntityStatusSuccess,\n} from './slice';\nimport {\n    FetchStateMachineStepsActionT,\n    ToursWaypointsArrivedActionT,\n    ToursWaypointsLeftActionT,\n    ToursWaypointsUndoArrivedActionT,\n    ToursWaypointsUndoLeftActionT,\n} from './types';\nimport { CompanyTypeEnum } from 'common/constants';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { getStateMachineEntityHash } from './utils';\nimport { selectConsistentStateMachineItemState } from './selectors';\nimport commonTranziitApi from 'common/utils/api/tranziit/common-tranziit-api';\nimport { consistentStateMachineRefreshChannel } from './channels';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getFetchStateMachineStepsSaga(companyType: CompanyTypeEnum) {\n    return function* (action: FetchStateMachineStepsActionT): WrapGeneratorT<void> {\n        const { descriptor, options } = action.payload;\n\n        const { fetchRequest }: ReReturnT<typeof selectConsistentStateMachineItemState> = yield select(\n            selectConsistentStateMachineItemState(descriptor),\n        );\n        if (!checkNeedRequest(fetchRequest, options)) {\n            return;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        yield put(fetchStateMachineStepsBegin({ hash }));\n\n        const [error, data]: ReturnApiT<typeof commonTranziitApi.fetchStateMachineToursAvailableSteps> =\n            yield commonTranziitApi.fetchStateMachineToursAvailableSteps(descriptor.tourId);\n\n        if (error) {\n            yield put(fetchStateMachineStepsError({ hash, error }));\n        } else {\n            yield put(fetchStateMachineStepsSuccess({ hash, data }));\n        }\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getToursWaypointsLeftSaga(companyType: CompanyTypeEnum) {\n    return function* (action: ToursWaypointsLeftActionT): WrapGeneratorT<void> {\n        const { descriptor, tourId, waypointId } = action.payload;\n\n        const { updateRequest }: ReReturnT<typeof selectConsistentStateMachineItemState> = yield select(\n            selectConsistentStateMachineItemState(descriptor),\n        );\n        if (updateRequest.loading) {\n            return;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        yield put(updateEntityStatusBegin({ hash }));\n\n        const result: ReturnApiT<typeof commonTranziitApi.stateMachineToursWaypointsLeft> =\n            yield commonTranziitApi.stateMachineToursWaypointsLeft(tourId, waypointId);\n\n        const [error] = result;\n\n        if (error) {\n            yield put(updateEntityStatusError({ hash, error }));\n        } else {\n            yield put(updateEntityStatusSuccess({ hash }));\n        }\n\n        consistentStateMachineRefreshChannel.emit({});\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getToursWaypointsArrivedSaga(companyType: CompanyTypeEnum) {\n    return function* (action: ToursWaypointsArrivedActionT): WrapGeneratorT<void> {\n        const { descriptor, tourId, waypointId } = action.payload;\n\n        const { updateRequest }: ReReturnT<typeof selectConsistentStateMachineItemState> = yield select(\n            selectConsistentStateMachineItemState(descriptor),\n        );\n        if (updateRequest.loading) {\n            return;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        yield put(updateEntityStatusBegin({ hash }));\n\n        const result: ReturnApiT<typeof commonTranziitApi.stateMachineToursWaypointsArrived> =\n            yield commonTranziitApi.stateMachineToursWaypointsArrived(tourId, waypointId);\n\n        const [error] = result;\n\n        if (error) {\n            yield put(updateEntityStatusError({ hash, error }));\n        } else {\n            yield put(updateEntityStatusSuccess({ hash }));\n        }\n\n        consistentStateMachineRefreshChannel.emit({});\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getToursWaypointsUndoLeftSaga(companyType: CompanyTypeEnum) {\n    return function* (action: ToursWaypointsUndoLeftActionT): WrapGeneratorT<void> {\n        const { descriptor, tourId, waypointId } = action.payload;\n\n        const { updateRequest }: ReReturnT<typeof selectConsistentStateMachineItemState> = yield select(\n            selectConsistentStateMachineItemState(descriptor),\n        );\n        if (updateRequest.loading) {\n            return;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        yield put(updateEntityStatusBegin({ hash }));\n\n        const result: ReturnApiT<typeof commonTranziitApi.stateMachineToursWaypointsUndoLeft> =\n            yield commonTranziitApi.stateMachineToursWaypointsUndoLeft(tourId, waypointId);\n\n        const [error] = result;\n\n        if (error) {\n            yield put(updateEntityStatusError({ hash, error }));\n        } else {\n            yield put(updateEntityStatusSuccess({ hash }));\n        }\n\n        consistentStateMachineRefreshChannel.emit({});\n    };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getToursWaypointsUndoArrivedSaga(companyType: CompanyTypeEnum) {\n    return function* (action: ToursWaypointsUndoArrivedActionT): WrapGeneratorT<void> {\n        const { descriptor, tourId, waypointId } = action.payload;\n\n        const { updateRequest }: ReReturnT<typeof selectConsistentStateMachineItemState> = yield select(\n            selectConsistentStateMachineItemState(descriptor),\n        );\n        if (updateRequest.loading) {\n            return;\n        }\n\n        const hash = getStateMachineEntityHash(descriptor);\n\n        yield put(updateEntityStatusBegin({ hash }));\n\n        const result: ReturnApiT<typeof commonTranziitApi.stateMachineToursWaypointsUndoArrived> =\n            yield commonTranziitApi.stateMachineToursWaypointsUndoArrived(tourId, waypointId);\n\n        const [error] = result;\n\n        if (error) {\n            yield put(updateEntityStatusError({ hash, error }));\n        } else {\n            yield put(updateEntityStatusSuccess({ hash }));\n        }\n\n        consistentStateMachineRefreshChannel.emit({});\n    };\n}\n\nfunction* consistentStateMachineSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(fetchStateMachineSteps.type, getFetchStateMachineStepsSaga(companyType));\n    yield takeEvery(toursWaypointsLeft.type, getToursWaypointsLeftSaga(companyType));\n    yield takeEvery(toursWaypointsArrived.type, getToursWaypointsArrivedSaga(companyType));\n    yield takeEvery(toursWaypointsUndoLeft.type, getToursWaypointsUndoLeftSaga(companyType));\n    yield takeEvery(toursWaypointsUndoArrived.type, getToursWaypointsUndoArrivedSaga(companyType));\n}\n\nexport { consistentStateMachineSaga };\n","import { PriceOfferT } from '../models';\n\nexport const byPriceAsc = (priceA: PriceOfferT, priceB: PriceOfferT): number => {\n    return (priceA.price || 0) - (priceB.price || 0);\n};\n\nconst sortOffers = (priceOffers: Array<PriceOfferT>): Array<PriceOfferT> => {\n    return priceOffers.sort(byPriceAsc);\n};\n\nexport default sortOffers;\n","import * as React from 'react';\nimport { formatDate } from 'common/utils/time';\n\ntype PropsT = {\n    startDate: Date | number | string | null | undefined;\n    endDate: Date | number | string | null | undefined;\n    format?: string;\n};\n\nconst DateIntervalFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { startDate, endDate, format } = props;\n\n    if (!startDate && !endDate) {\n        return null;\n    }\n\n    const interval = React.useMemo(() => {\n        return [startDate, endDate].map((date) => formatDate(format || 'DD MMM YYYY', date)).join(' - ');\n    }, [startDate, endDate, format]);\n\n    return <span>{interval}</span>;\n});\n\nexport default DateIntervalFormatter;\n","import * as React from 'react';\nimport isNil from 'lodash/isNil';\nimport { useTranslation } from 'react-i18next';\nimport { CurrencyEnum, CurrencySettingsT, UnitTypeEnum } from 'common/constants';\nimport { formatMoney } from 'common/components/Money/Money';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\nimport styles from './UnitTypeCount.scss';\n\nconst cx = classNames.bind(styles);\n\ntype BasePropsT = {\n    count: number | null | undefined;\n    className?: string;\n};\n\ntype PropsT =\n    | (BasePropsT & {\n          type: UnitTypeEnum | null | undefined;\n      })\n    | (BasePropsT & {\n          types: Array<UnitTypeEnum>;\n      });\n\ntype CurrencyUnitTypesT = UnitTypeEnum.euroAbbreviation | UnitTypeEnum.euro4SignificantDigitsAbbreviation;\nconst CURRENCY_TYPE_MAP: Record<CurrencyUnitTypesT, CurrencyEnum> = {\n    [UnitTypeEnum.euroAbbreviation]: CurrencyEnum.EUR,\n    [UnitTypeEnum.euro4SignificantDigitsAbbreviation]: CurrencyEnum.EUR,\n};\n\nconst CUSTOM_CURRENCY_SETTINGS_MAP: Record<CurrencyUnitTypesT, Partial<CurrencySettingsT>> = {\n    [UnitTypeEnum.euroAbbreviation]: {},\n    [UnitTypeEnum.euro4SignificantDigitsAbbreviation]: {\n        minimumSignificantDigits: 4,\n    },\n};\n\nconst checkIsCurrencyUnitType = (type: UnitTypeEnum): type is CurrencyUnitTypesT => {\n    return !!CURRENCY_TYPE_MAP[type as CurrencyUnitTypesT];\n};\n\nconst checkIsSimpleUnitType = (type: UnitTypeEnum): type is SimpleUnitTypesT => {\n    return !!SIMPLE_UNIT_MAP[type as SimpleUnitTypesT];\n};\n\ntype SimpleUnitTypesT = UnitTypeEnum.percentsAbbreviation;\nconst SIMPLE_UNIT_MAP: Record<SimpleUnitTypesT, string> = {\n    [UnitTypeEnum.percentsAbbreviation]: '%',\n};\n\ntype OtherUnitTypesT = Exclude<UnitTypeEnum, CurrencyUnitTypesT | SimpleUnitTypesT>;\nconst UNIT_TYPE_T_MAP: Record<OtherUnitTypesT, string> = {\n    [UnitTypeEnum.eur1Pallets]: 'common:unit-count.eur-1-pallets',\n    [UnitTypeEnum.eur2Pallets]: 'common:unit-count.eur-2-pallets',\n    [UnitTypeEnum.eur6Pallets]: 'common:unit-count.eur-6-pallets',\n    [UnitTypeEnum.other]: 'common:unit-count.other',\n    [UnitTypeEnum.kilogramsAbbreviation]: 'common:unit-count.kilograms-abbreviation',\n    [UnitTypeEnum.metersAbbreviation]: 'common:unit-count.meters-abbreviation',\n    [UnitTypeEnum.kilometersAbbreviation]: 'common:unit-count.kilometers-abbreviation',\n    [UnitTypeEnum.litersAbbreviation]: 'common:unit-count.liters-abbreviation',\n    [UnitTypeEnum.oneHundredKilometersAbbreviation]: 'common:unit-count.100-kilometers-abbreviation',\n    [UnitTypeEnum.days]: 'common:unit-count.days',\n    [UnitTypeEnum.hoursAbbreviation]: 'common:unit-count.hours-abbreviation',\n    [UnitTypeEnum.minutesAbbreviation]: 'common:unit-count.minutes-abbreviation',\n    [UnitTypeEnum.milliSecondsAbbreviation]: 'common:unit-count.milli-seconds-abbreviation',\n    [UnitTypeEnum.secondsAbbreviation]: 'common:unit-count.seconds-abbreviation',\n    [UnitTypeEnum.shipments]: 'common:unit-count.shipments',\n    [UnitTypeEnum.kilometersPerHourAbbreviation]: 'common:unit-count.kilometers-per-hour-abbreviation',\n    [UnitTypeEnum.hours]: 'common:unit-count.hours',\n};\n\nconst UnitTypeCount: React.FC<PropsT> = React.memo((props) => {\n    const { count, className } = props;\n\n    const { t } = useTranslation();\n\n    if (isNil(count)) {\n        return null;\n    }\n\n    const fullClassName = cs(cx('count'), className);\n\n    if ('types' in props) {\n        const { types: subTypes } = props;\n\n        const result = subTypes.reduce((result, subType) => {\n            const base = result + (result.length ? '/' : '');\n            if (checkIsCurrencyUnitType(subType)) {\n                return (\n                    base +\n                    formatMoney({\n                        currency: CURRENCY_TYPE_MAP[subType],\n                        amount: count,\n                        isRound: false,\n                        partialCurrencySettings: CUSTOM_CURRENCY_SETTINGS_MAP[subType],\n                    })\n                );\n            }\n\n            if (checkIsSimpleUnitType(subType)) {\n                return base + SIMPLE_UNIT_MAP[subType];\n            }\n\n            return base + t(UNIT_TYPE_T_MAP[subType], { postProcess: 'interval', count });\n        }, '');\n\n        return <span className={fullClassName}>{result}</span>;\n    }\n\n    const { type } = props;\n    if (isNil(type)) {\n        return null;\n    }\n\n    if (checkIsCurrencyUnitType(type)) {\n        const formattedType = formatMoney({\n            currency: CURRENCY_TYPE_MAP[type],\n            amount: count,\n            isRound: false,\n        });\n\n        return <span className={fullClassName}>{formattedType}</span>;\n    }\n\n    if (checkIsSimpleUnitType(type)) {\n        return (\n            <span className={fullClassName}>\n                {count}\n                {SIMPLE_UNIT_MAP[type]}\n            </span>\n        );\n    }\n\n    return (\n        <span className={fullClassName}>\n            {count} {t(UNIT_TYPE_T_MAP[type], { postProcess: 'interval', count })}\n        </span>\n    );\n});\n\nexport default UnitTypeCount;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"BrokerOrderAssignmentPage__wrap___RMj_k\",\"tabs-wrap\":\"BrokerOrderAssignmentPage__tabs-wrap___fqOFh\",\"tab\":\"BrokerOrderAssignmentPage__tab___V1ZvR\",\"fadeIn\":\"BrokerOrderAssignmentPage__fadeIn___lixNW\",\"blinking\":\"BrokerOrderAssignmentPage__blinking___G45OK\"};","// extracted by mini-css-extract-plugin\nexport default {\"identifier\":\"Identifier__identifier___MVUmW\",\"fadeIn\":\"Identifier__fadeIn___pgvlX\",\"blinking\":\"Identifier__blinking___uXGRM\"};","import groupBy from 'lodash/groupBy';\nimport mapValues from 'lodash/mapValues';\nimport { PriceOfferT } from 'common/store/order-creation/models';\nimport getDatesHash from './get-dates-hash';\nimport sortOffers from 'common/store/order-creation/utils/sort-offers';\n\nconst groupOffersByDatesHash = (priceOffers: Array<PriceOfferT>): Record<string, Array<PriceOfferIdT>> => {\n    const groupOffers = groupBy(priceOffers, (offer) => getDatesHash(offer.pickUpDate, offer.dropOffDate));\n\n    const sortedGroupOffers = mapValues(groupOffers, (offers) => {\n        return sortOffers(offers).map((offer) => offer.id);\n    });\n\n    return sortedGroupOffers;\n};\n\nexport default groupOffersByDatesHash;\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"ListPageLayout__content___JvBSp\",\"fadeIn\":\"ListPageLayout__fadeIn___IM_Ey\",\"blinking\":\"ListPageLayout__blinking___vmhFq\"};","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsT } from 'broker-admin/store/price-settings/system-settings/models';\n\nconst getInitialValues = (systemSettings: SystemSettingsT | null | undefined): FormValuesT => {\n    return {\n        [FieldsEnum.timeSlotToBoardFerry]: systemSettings?.TIME_SLOT_TO_BOARD_FERRY || '',\n        [FieldsEnum.timeSlotDisembarkFerry]: systemSettings?.TIME_SLOT_DISEMBARK_FERRY || '',\n    };\n};\n\nexport default getInitialValues;\n","import { useCheckOpenedSidebar, createOpenSidebarHook, useOpenedSidebar } from 'common/layouts/SideBars/hooks';\nimport { BrokerSidebarDataT } from './models';\nimport { SidebarQueryKeysEnum } from 'common/layouts/SideBars/models';\n\nexport const useOpenLeftSidebar = createOpenSidebarHook<BrokerSidebarDataT>(SidebarQueryKeysEnum.leftSidebar);\n\nexport const useOpenRightSidebar = createOpenSidebarHook<BrokerSidebarDataT>(SidebarQueryKeysEnum.rightSidebar);\n\nexport { useOpenedSidebar, useCheckOpenedSidebar };\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { SystemSettingsChangesT } from 'broker-admin/store/price-settings/system-settings/models';\nimport { MS_IN_HOUR } from 'common/utils/time';\nimport { simpleNumberFormatter } from 'common/utils/form-formatters';\nimport { convertMinToSec } from 'common/utils/form-value-converters';\n\nconst prepareApiSystemSettings = (formValues: FormValuesT): SystemSettingsChangesT => {\n    const brokerWorkingHours = formValues[FieldsEnum.brokerWorkingHours];\n\n    return {\n        URGENT_ORDER_PROCESSING_DELAY: formValues[FieldsEnum.urgentOrderProcessingDelay],\n        REGULAR_ORDER_PROCESSING_DELAY: formValues[FieldsEnum.regularOrderProcessingDelay],\n        MIN_WINDOW_SIZE: convertMinToSec(formValues[FieldsEnum.minWindowSize]),\n        MAX_WINDOW_SIZE: convertMinToSec(formValues[FieldsEnum.maxWindowSize]),\n        BROKER_DAY_START_HOURS: simpleNumberFormatter(brokerWorkingHours[0] / MS_IN_HOUR),\n        BROKER_DAY_END_HOURS: simpleNumberFormatter(brokerWorkingHours[1] / MS_IN_HOUR),\n        ORDER_CREATION_SECONDS: formValues[FieldsEnum.orderCreationSeconds],\n        QUANTUM_MINUTES: formValues[FieldsEnum.quantumMinutes],\n        MAP_PRECISION_DELTA: formValues[FieldsEnum.mapPrecisionDelta],\n        HVO_EMISSION_PERCENT: formValues[FieldsEnum.hvoEmissionPercent],\n    };\n};\n\nexport default prepareApiSystemSettings;\n","// extracted by mini-css-extract-plugin\nexport default {\"asset-tooltip\":\"AssetDropOffLocationPin__asset-tooltip___fWySE\",\"fadeIn\":\"AssetDropOffLocationPin__fadeIn___OPEQ3\",\"blinking\":\"AssetDropOffLocationPin__blinking___DdIXz\"};","import { RemoteFile } from 'design-system/components/FilePickerInput/models';\n\nexport const MIN_VALID_FROM_VALID_TILL_DAYS = 7;\n\nexport enum FieldsEnum {\n    name = 'name',\n    number = 'number',\n\n    activateDate = 'activate-date',\n    validTillDate = 'valid-till-date',\n\n    file = 'file',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.name]: string;\n    [FieldsEnum.number]: string;\n\n    [FieldsEnum.activateDate]: Date | null;\n    [FieldsEnum.validTillDate]: Date | null;\n\n    [FieldsEnum.file]: File | RemoteFile<{}> | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import React from 'react';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport Modal from 'common/components/Modal/Modal';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport InvitePartnerForm from 'broker-admin/layouts/PartnersPage/InvitePartnerForm/InvitePartnerForm';\nimport { ApiInvitePartnerRequestT } from 'common/utils/api/models';\n\nexport type InvitePartnerModalDataT = {};\n\ntype PropsT = {\n    data: InvitePartnerModalDataT | null;\n    onClose: () => void;\n    onInvitePartner: (data: ApiInvitePartnerRequestT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst InvitePartnerDialog: React.FC<PropsT> = React.memo((props) => {\n    const { data, onClose, requestStatus, onInvitePartner } = props;\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <InvitePartnerForm onInvitePartner={onInvitePartner} addPartnerRequestStatus={requestStatus} />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default InvitePartnerDialog;\n","import type { SharableStateT } from 'common/store/models';\nimport type { AssetItemStateT, HashT } from './models';\nimport { initialAssetTeleportItemState } from './models';\n\nconst selectAssetTeleportItem = (state: SharableStateT, assetId: HashT | null | undefined): AssetItemStateT =>\n    state.assets[assetId as string] || initialAssetTeleportItemState;\n\nexport const selectValidateTeleportStatus = (assetId: HashT | null | undefined) => (state: SharableStateT) =>\n    selectAssetTeleportItem(state, assetId).validateTeleportStatus;\n\nexport const selectValidateTeleportData = (assetId: HashT | null | undefined) => (state: SharableStateT) =>\n    selectAssetTeleportItem(state, assetId).validateTeleport;\n\nexport const selectExecuteTeleportStatus = (assetId: HashT | null | undefined) => (state: SharableStateT) =>\n    selectAssetTeleportItem(state, assetId).executeTeleportStatus;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ShipmentDetailsCard.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport Card from 'design-system/components/Card/Card';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { formatTimeInterval } from 'common/utils/time';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport ShipmentStatusPill from 'common/components/status-pill/ShipmentStatusPill/ShipmentStatusPill';\nimport CargoUnitIcon from 'common/icons/CargoUnitIcon';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { getLoadUnitType } from 'common/utils/units';\nimport WeightIcon from 'common/icons/WeightIcon';\nimport SnowflakeIcon from 'common/icons/SnowflakeIcon';\nimport TemperatureModeFormatter from 'design-system/components/InfoTable/formatters/TemperatureModeFormatter/TemperatureModeFormatter';\nimport CommentIcon from 'common/icons/CommentIcon';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport ChangeShipmentStatusFooter from 'broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/ChangeShipmentStatusFooter';\nimport { hideLoaderStatusSet } from 'broker-admin/components/status-machine/footers/ChangeShipmentStatusFooter/constants';\nimport {\n    ApiBrokerOrderWaypointT,\n    ApiShipmentDetailsT,\n    ApiShipmentAttachedPaperTypeT,\n    PartnerTypeEnum,\n} from 'common/utils/api/models';\nimport AttentionTextFormatter from 'design-system/components/InfoTable/formatters/AttentionTextFormatter/AttentionTextFormatter';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport { checkBrokerAppointmentStatus } from 'common/utils/broker-appointment';\nimport ShipmentWarningPill from 'common/components/status-pill/ShipmentWarningPill/ShipmentWarningPill';\nimport { useSelector } from 'react-redux';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport { BrokerOrderDetailsT } from 'broker-admin/store/broker-order-details/models';\nimport { getShipmentAnchor } from './utils';\nimport DetailsOrPapersTabs from 'common/components/entity-details/DetailsOrPapersTabs/DetailsOrPapersTabs';\nimport { ShipmentPapersTabContent } from 'common/components/entity-details/ShipmentPapersTabContent/ShipmentPapersTabContent';\nimport { ShipmentPaperAttachPapersDropdownControl } from 'common/components/papers/ShipmentPaperAttachPapersDropdownControl/ShipmentPaperAttachPapersDropdownControl';\nimport { logWarning } from 'common/utils/logger';\nimport { selectShipmentChangesById } from 'common/store/papers-edit/selectors';\nimport { useRenderPapersTabCount } from 'common/components/papers/hooks/use-render-papers-tab-count';\nimport HighlightedEntityContext from 'common/components/status-machine/contexts/HighlightedEntityContext';\n\nexport type PropsT = {\n    shipmentNumber: number;\n    waypointById: Record<WaypointIdT, ApiBrokerOrderWaypointT>;\n    shipment: ApiShipmentDetailsT | null | undefined;\n    brokerOrderDetails: BrokerOrderDetailsT | null;\n    keyboardShortcut?: string;\n    className?: string;\n    onAttachTourPapers: (tourId: TourIdT) => void;\n    shouldConfirmForCancelLastShipment: boolean;\n    onAttachShipmentPaper: (\n        shipmentId: ShipmentIdT,\n        paperType: ApiShipmentAttachedPaperTypeT,\n        comment?: string,\n    ) => void;\n    getShipmentPaperThumbnailUrl: (shipmentId: ShipmentIdT | null, paperId: PaperIdT | null) => string | null;\n    onOpenGalleryShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onDownloadShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onDeleteShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onOpenUserDetails: (params: {\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n        userId: UserIdT | null;\n    }) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst ShipmentDetailsCard: React.FC<PropsT> = React.memo((props) => {\n    const {\n        shipmentNumber,\n        waypointById,\n        shipment,\n        brokerOrderDetails,\n        className,\n        keyboardShortcut,\n        onAttachTourPapers,\n        shouldConfirmForCancelLastShipment,\n        onOpenUserDetails,\n        onAttachShipmentPaper,\n        getShipmentPaperThumbnailUrl,\n        onOpenGalleryShipmentPaper,\n        onDownloadShipmentPaper,\n        onDeleteShipmentPaper,\n    } = props;\n\n    const isReeferTrailer = !!brokerOrderDetails?.trailerInfo?.reefer;\n\n    const { t } = useTranslation();\n    const { highlightedEntityId } = React.useContext(HighlightedEntityContext);\n\n    const permissions = useSelector(selectPermissions);\n\n    const shipmentId = shipment?.id || null;\n\n    const currentTourId = React.useMemo(() => {\n        return (\n            brokerOrderDetails?.tours?.find((tour) => {\n                return tour?.availableSteps?.current?.shipments?.some((shipmentAction) => {\n                    return shipmentAction?.shipmentId === shipmentId;\n                });\n            })?.id || null\n        );\n    }, [brokerOrderDetails, shipmentId]);\n\n    const handleAttachNew = React.useCallback(\n        (paperType: ApiShipmentAttachedPaperTypeT) => {\n            if (!shipmentId) {\n                logWarning('failed to attach paper, empty shipmentId');\n                return;\n            }\n\n            onAttachShipmentPaper(shipmentId, paperType);\n        },\n        [shipmentId, onAttachShipmentPaper],\n    );\n\n    const idDetails: Array<InfoTableRowT> = [\n        {\n            icon: null,\n            name: t('broker-order-details.shipment-details.columns.tour-number'),\n            value: shipment?.number,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n    ];\n\n    const poDetails: Array<InfoTableRowT> = [\n        {\n            icon: null,\n            name: t('common:order-details.columns.po-number'),\n            value: shipment?.purchaseOrderNumber,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            testSelector: 'po-number',\n        },\n    ];\n\n    const brokerWindowAppointmentWarning = (\n        <Tooltip\n            position={TooltipPositionEnum.topLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                    {t('broker-orders.details.broke-window-appointment-warning')}\n                </TooltipContent>\n            }\n        >\n            {(isShow, childrenClassName) => (\n                <TimeWindowIcon\n                    className={childrenClassName}\n                    fillColor={StyleGuideColorsEnum.transparent}\n                    strokeColor={StyleGuideColorsEnum.orange}\n                />\n            )}\n        </Tooltip>\n    );\n\n    const pickupWaypoint = waypointById?.[shipment?.pickupPointId as RoutePointIdT] || null;\n\n    const pickupBrokerAppointmentStatus = checkBrokerAppointmentStatus({\n        shouldBrokerWindowAppointment: pickupWaypoint?.appointmentByBroker,\n        originalDateTimeFrom: pickupWaypoint?.originalDateTimeFrom,\n        originalDateTimeTo: pickupWaypoint?.originalDateTimeTo,\n        correctedDateTimeFrom: pickupWaypoint?.correctedDateTimeFrom,\n        correctedDateTimeTo: pickupWaypoint?.correctedDateTimeTo,\n    });\n\n    const originPointDetails: Array<InfoTableRowT> = [\n        {\n            icon: <NumberIcon number={(pickupWaypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n            name: t('broker-order-details.point-details.by-type.pickup'),\n            value: <LocationLabel format=\"s1_s2_zip_city_country\" location={pickupWaypoint?.address} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            rows: [\n                ...(pickupBrokerAppointmentStatus?.shouldShowCorrectedDateTime\n                    ? [\n                          {\n                              icon: null,\n                              name: t('broker-order-details.point-details.columns.original-time-slot'),\n                              value: formatTimeInterval(\n                                  pickupWaypoint?.originalDateTimeFrom,\n                                  pickupWaypoint?.originalDateTimeTo,\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                          {\n                              icon: pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment\n                                  ? brokerWindowAppointmentWarning\n                                  : null,\n                              name: (\n                                  <AttentionTextFormatter\n                                      isActive={pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {t('broker-order-details.point-details.columns.corrected-time-slot')},\n                                  </AttentionTextFormatter>\n                              ),\n                              value: (\n                                  <AttentionTextFormatter\n                                      isActive={pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {formatTimeInterval(\n                                          pickupWaypoint?.correctedDateTimeFrom,\n                                          pickupWaypoint?.correctedDateTimeTo,\n                                      )}\n                                  </AttentionTextFormatter>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                      ]\n                    : [\n                          {\n                              icon: pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment\n                                  ? brokerWindowAppointmentWarning\n                                  : null,\n                              name: (\n                                  <AttentionTextFormatter\n                                      isActive={pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {t('broker-order-details.point-details.columns.time-slot')},\n                                  </AttentionTextFormatter>\n                              ),\n                              value: (\n                                  <AttentionTextFormatter\n                                      isActive={pickupBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {formatTimeInterval(\n                                          pickupWaypoint?.correctedDateTimeFrom || pickupWaypoint?.originalDateTimeFrom,\n                                          pickupWaypoint?.correctedDateTimeTo || pickupWaypoint?.originalDateTimeTo,\n                                      )}\n                                  </AttentionTextFormatter>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                      ]),\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.company-name'),\n                    value: pickupWaypoint?.contact?.companyName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-company-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-name'),\n                    value: pickupWaypoint?.contact?.fullName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-phone'),\n                    value: pickupWaypoint?.contact?.phone,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-email'),\n                    value: pickupWaypoint?.contact?.email,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.reference-number'),\n                    value: 'TODO',\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.comments'),\n                    value: pickupWaypoint?.contact?.comment,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                },\n            ],\n        },\n    ];\n\n    const dropOffWaypoint = waypointById?.[shipment?.dropOffPointId as RoutePointIdT] || null;\n\n    const dropOffBrokerAppointmentStatus = checkBrokerAppointmentStatus({\n        shouldBrokerWindowAppointment: dropOffWaypoint?.appointmentByBroker,\n        originalDateTimeFrom: dropOffWaypoint?.originalDateTimeFrom,\n        originalDateTimeTo: dropOffWaypoint?.originalDateTimeTo,\n        correctedDateTimeFrom: dropOffWaypoint?.correctedDateTimeFrom,\n        correctedDateTimeTo: dropOffWaypoint?.correctedDateTimeTo,\n    });\n\n    const destinationPointDetails: Array<InfoTableRowT> = [\n        {\n            icon: <NumberIcon number={(dropOffWaypoint?.index || 0) + 1} fillColor={StyleGuideColorsEnum.charcoal} />,\n            name: t('broker-order-details.point-details.by-type.delivery'),\n            value: <LocationLabel format=\"s1_s2_zip_city_country\" location={dropOffWaypoint?.address} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n            rows: [\n                ...(dropOffBrokerAppointmentStatus.shouldShowCorrectedDateTime\n                    ? [\n                          {\n                              icon: null,\n                              name: t('broker-order-details.point-details.columns.original-time-slot'),\n                              value: formatTimeInterval(\n                                  dropOffWaypoint?.originalDateTimeFrom,\n                                  dropOffWaypoint?.originalDateTimeTo,\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                          {\n                              icon: dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment\n                                  ? brokerWindowAppointmentWarning\n                                  : null,\n                              name: (\n                                  <AttentionTextFormatter\n                                      isActive={dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {t('broker-order-details.point-details.columns.corrected-time-slot')}\n                                  </AttentionTextFormatter>\n                              ),\n                              value: (\n                                  <AttentionTextFormatter\n                                      isActive={dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {formatTimeInterval(\n                                          dropOffWaypoint?.correctedDateTimeFrom,\n                                          dropOffWaypoint?.correctedDateTimeTo,\n                                      )}\n                                  </AttentionTextFormatter>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                      ]\n                    : [\n                          {\n                              icon: dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment\n                                  ? brokerWindowAppointmentWarning\n                                  : null,\n                              name: (\n                                  <AttentionTextFormatter\n                                      isActive={dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {t('broker-order-details.point-details.columns.time-slot')}\n                                  </AttentionTextFormatter>\n                              ),\n                              value: (\n                                  <AttentionTextFormatter\n                                      isActive={dropOffBrokerAppointmentStatus?.shouldBrokerWindowAppointment}\n                                  >\n                                      {formatTimeInterval(\n                                          dropOffWaypoint?.correctedDateTimeFrom ||\n                                              dropOffWaypoint?.originalDateTimeFrom,\n                                          dropOffWaypoint?.correctedDateTimeTo || dropOffWaypoint?.originalDateTimeTo,\n                                      )}\n                                  </AttentionTextFormatter>\n                              ),\n                              emptyValue: t('common:info-table.placeholders.not-specified'),\n                              isBoldValue: true,\n                              hasBottomBorder: true,\n                          },\n                      ]),\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.company-name'),\n                    value: dropOffWaypoint?.contact?.companyName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    testSelector: 'contact-company-name',\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-name'),\n                    value: dropOffWaypoint?.contact?.fullName,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-phone'),\n                    value: dropOffWaypoint?.contact?.phone,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.contact-email'),\n                    value: dropOffWaypoint?.contact?.email,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.reference-number'),\n                    value: 'TODO',\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                    hasBottomBorder: true,\n                },\n                {\n                    icon: null,\n                    name: t('broker-order-details.point-details.columns.comments'),\n                    value: dropOffWaypoint?.contact?.comment,\n                    emptyValue: t('common:info-table.placeholders.not-specified'),\n                    isBoldValue: true,\n                },\n            ],\n        },\n    ];\n\n    const shipmentDetails: Array<InfoTableRowT | null> = [\n        {\n            icon: (\n                <CargoUnitIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.light}\n                    strokeColor={StyleGuideColorsEnum.gray}\n                />\n            ),\n            name: t('common:order-details.columns.load-units'),\n            value: <UnitTypeCount type={getLoadUnitType(shipment?.unitsType)} count={shipment?.maxNumberOfUnits} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n        {\n            icon: <WeightIcon fillColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:order-details.columns.cargo-weight'),\n            value: <UnitTypeCount count={shipment?.weight} type={UnitTypeEnum.kilogramsAbbreviation} />,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n        isReeferTrailer\n            ? {\n                  icon: <SnowflakeIcon fillColor={StyleGuideColorsEnum.gray} />,\n                  name: t('common:order-details.columns.temperature'),\n                  value: (\n                      <TemperatureModeFormatter\n                          lowestTemperature={shipment?.lowestTemperature}\n                          highestTemperature={shipment?.highestTemperature}\n                      />\n                  ),\n                  emptyValue: t('common:info-table.placeholders.not-specified'),\n                  isBoldValue: true,\n              }\n            : null,\n        {\n            icon: <CommentIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />,\n            name: t('common:order-details.columns.description'),\n            value: shipment?.description,\n            emptyValue: t('common:info-table.placeholders.not-specified'),\n            isBoldValue: true,\n        },\n    ];\n\n    const shipmentChanges = useSelector(selectShipmentChangesById(shipmentId));\n\n    const papersBadge = useRenderPapersTabCount({\n        optimisticPapers: shipmentChanges?.optimisticPapers,\n        entityPapers: shipment?.attachedPapers,\n    });\n\n    return (\n        <>\n            <Card\n                keyboardShortcut={keyboardShortcut}\n                titleNode={t('broker-order-details.shipment-details.title', {\n                    number: shipmentNumber,\n                })}\n                rightNode={\n                    <>\n                        <ShipmentWarningPill isSymmetrical warning={shipment?.warning} />\n                        <ShipmentStatusPill isSymmetrical status={shipment?.status} />\n                    </>\n                }\n                className={className}\n                hasHeaderBottomBorder\n                footerNode={\n                    permissions?.canChangeShipmentStatusOnBrokerOrder ? (\n                        <ChangeShipmentStatusFooter\n                            isShowLoading={!!shipment && !hideLoaderStatusSet.has(shipment?.status)}\n                            shipmentId={shipment?.id || null}\n                            shipment={shipment}\n                            tourId={currentTourId}\n                            onAttachTourPapers={onAttachTourPapers}\n                            shouldConfirmForCancelLastShipment={shouldConfirmForCancelLastShipment}\n                        />\n                    ) : null\n                }\n                anchor={getShipmentAnchor(shipment?.id || null)}\n                isHighlighted={highlightedEntityId === shipment?.id}\n            >\n                <div>\n                    <DetailsOrPapersTabs\n                        papersBadge={papersBadge}\n                        papersTabRightNode={<ShipmentPaperAttachPapersDropdownControl onAttachNew={handleAttachNew} />}\n                    >\n                        <div className={cx('content')}>\n                            <InfoTable shouldRenderIcons rows={idDetails} className={cx('table', 'table--id')} />\n                            <InfoTable shouldRenderIcons rows={poDetails} className={cx('table', 'table--po')} />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={originPointDetails}\n                                className={cx('table', 'table--point')}\n                            />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={destinationPointDetails}\n                                className={cx('table', 'table--point')}\n                            />\n                            <InfoTable\n                                shouldRenderIcons\n                                rows={shipmentDetails}\n                                className={cx('table', 'table--shipment')}\n                            />\n                        </div>\n                        <ShipmentPapersTabContent\n                            attachedPapers={shipment?.attachedPapers || null}\n                            shipmentId={shipmentId}\n                            onOpenUserDetails={onOpenUserDetails}\n                            getShipmentPaperThumbnailUrl={getShipmentPaperThumbnailUrl}\n                            onOpenGalleryShipmentPaper={onOpenGalleryShipmentPaper}\n                            onDownloadShipmentPaper={onDownloadShipmentPaper}\n                            onDeleteShipmentPaper={onDeleteShipmentPaper}\n                            onAttachShipmentPaper={onAttachShipmentPaper}\n                        />\n                    </DetailsOrPapersTabs>\n                </div>\n            </Card>\n        </>\n    );\n});\n\nexport default ShipmentDetailsCard;\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './RejectContractConfirmation.scss';\nimport { useTranslation } from 'react-i18next';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport Modal from 'common/components/Modal/Modal';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\nimport Textarea from 'common/components/Textarea/Textarea';\nimport { useFormik } from 'formik';\nimport { logWarning } from 'common/utils/logger';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { prepareData } from './prepare-reject-data';\nimport { useEffect } from 'react';\n\nexport type ConfirmRejectContractModalDataT = {\n    contractId: CarrierContractIdT;\n    contractName: string;\n};\n\ntype PropsT = {\n    data: ConfirmRejectContractModalDataT | null;\n    onConfirm: (data: ConfirmRejectContractModalDataT, reason: string) => void;\n    requestStatus: RequestStatusT;\n    onClose: () => void;\n    onCancel: () => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst TEST_SELECTOR = 'reject-contract-confirmation';\n\nconst RejectContractConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onConfirm, requestStatus, onClose } = props;\n    const { t } = useTranslation();\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = getInitialValues();\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const preparedData = prepareData(values);\n\n            if (!data) {\n                logWarning('failed to reject contract, empty data');\n                return;\n            }\n\n            onConfirm(data, preparedData.reason);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    useEffect(() => {\n        formik.resetForm();\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [data]);\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <form onSubmit={formik.handleSubmit}>\n                    <ModalDialog\n                        width={DEFAULT_MODAL_DIALOG_WIDTH}\n                        testSelector={TEST_SELECTOR}\n                        actions={[\n                            {\n                                children: t('common:error-modal.actions.cancel'),\n                                theme: ButtonThemeEnum.secondary,\n                                testSelector: `${TEST_SELECTOR}_cancel`,\n                                isDisabled: requestStatus.loading,\n                                onClick: onClose,\n                            },\n                            {\n                                children: t('common:error-modal.actions.reject'),\n                                theme: ButtonThemeEnum.danger,\n                                testSelector: `${TEST_SELECTOR}_ok`,\n                                isLoading: requestStatus.loading,\n                                isDisabled: requestStatus.loading,\n                                type: 'submit',\n                            },\n                        ]}\n                        icon={<BigTrashIcon />}\n                        title={t('common:carrier-contracts.reject-confirmation.title')}\n                        message={t('common:carrier-contracts.reject-confirmation.description')}\n                        body={\n                            <>\n                                <FormikField\n                                    name={FieldsEnum.reason}\n                                    error={formik.errors[FieldsEnum.reason]}\n                                    meta={formik.getFieldMeta(FieldsEnum.reason)}\n                                    label={t('common:carrier-contracts.reject-confirmation.fields.reason.label')}\n                                    setFieldValue={formik.setFieldValue}\n                                    setFieldTouched={formik.setFieldTouched}\n                                >\n                                    {(props) => (\n                                        <Textarea\n                                            className={cx('textarea')}\n                                            name={FieldsEnum.reason}\n                                            value={formik.values[FieldsEnum.reason]}\n                                            placeholder={t(\n                                                'common:carrier-contracts.reject-confirmation.fields.reason.placeholder',\n                                            )}\n                                            onChange={props.onChange}\n                                            hasWarning={props.hasWarning}\n                                            hasError={props.hasError}\n                                        />\n                                    )}\n                                </FormikField>\n                            </>\n                        }\n                    />\n                </form>\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default RejectContractConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"YearMonthForm__wrap___fIJRz\",\"select\":\"YearMonthForm__select____UWVs\",\"select--month\":\"YearMonthForm__select--month___ullAF\",\"fadeIn\":\"YearMonthForm__fadeIn___P5gHD\",\"blinking\":\"YearMonthForm__blinking___DXK1a\"};","import { RequestStatusT } from 'common/utils/request-status';\n\nimport {\n    FetchTrucksPageQueryT,\n    ApiTruckDetailsT,\n    CompanyTrucksStatsT,\n    ApiTruckT,\n    ActivateTrucksRequestT,\n} from './models';\nimport {\n    ApiChangeContractVehiclesRequestT,\n    ApiChangeRateVehiclesRequestT,\n    ApiTruckAddRequestT,\n    ApiTruckUpdateRequestT,\n} from 'common/utils/api/models';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\n\nexport const FETCH_TRUCKS_PAGE_REQUEST = 'common/trucks/FETCH_TRUCKS_PAGE_REQUEST';\nexport const FETCH_TRUCKS_PAGE_REQUEST_BEGIN = 'common/trucks/FETCH_TRUCKS_PAGE_REQUEST_BEGIN';\nexport const FETCH_TRUCKS_PAGE_REQUEST_ERROR = 'common/trucks/FETCH_TRUCKS_PAGE_REQUEST_ERROR';\nexport const FETCH_TRUCKS_PAGE_REQUEST_SUCCESS = 'common/trucks/FETCH_TRUCKS_PAGE_REQUEST_SUCCESS';\n\nexport const RESET_TRUCKS = 'common/trucks/RESET_TRUCKS';\n\nexport const ADD_TRUCK_REQUEST = 'common/trucks/ADD_TRUCK_REQUEST';\nexport const ADD_TRUCK_REQUEST_BEGIN = 'common/trucks/ADD_TRUCK_REQUEST_BEGIN';\nexport const ADD_TRUCK_REQUEST_ERROR = 'common/trucks/ADD_TRUCK_REQUEST_ERROR';\nexport const ADD_TRUCK_REQUEST_SUCCESS = 'common/trucks/ADD_TRUCK_REQUEST_SUCCESS';\n\nexport const DELETE_TRUCKS_REQUEST = 'common/trucks/DELETE_TRUCKS_REQUEST';\nexport const DELETE_TRUCKS_REQUEST_BEGIN = 'common/trucks/DELETE_TRUCKS_REQUEST_BEGIN';\nexport const DELETE_TRUCKS_REQUEST_ERROR = 'common/trucks/DELETE_TRUCKS_REQUEST_ERROR';\nexport const DELETE_TRUCKS_REQUEST_SUCCESS = 'common/trucks/DELETE_TRUCKS_REQUEST_SUCCESS';\n\nexport const ACTIVATION_TRUCKS_REQUEST = 'common/trucks/ACTIVATION_TRUCKS_REQUEST';\nexport const ARCHIVE_TRUCKS_REQUEST = 'common/trucks/ARCHIVE_TRUCKS_REQUEST';\nexport const ASSIGN_TO_CONTRACT_TRUCKS_REQUEST = 'common/trucks/ASSIGN_TO_CONTRACT_TRUCKS_REQUEST';\nexport const CHANGE_RATE_TRUCKS_REQUEST = 'common/trucks/CHANGE_RATE_TRUCKS_REQUEST';\n\nexport const UPDATE_TRUCK_REQUEST = 'common/trucks/UPDATE_TRUCK_REQUEST';\nexport const UPDATE_TRUCKS_REQUEST_BEGIN = 'common/trucks/UPDATE_TRUCKS_REQUEST_BEGIN';\nexport const UPDATE_TRUCKS_REQUEST_ERROR = 'common/trucks/UPDATE_TRUCKS_REQUEST_ERROR';\nexport const UPDATE_TRUCKS_REQUEST_SUCCESS = 'common/trucks/UPDATE_TRUCKS_REQUEST_SUCCESS';\n\nexport const FETCH_TRUCK_DETAILS_REQUEST = 'common/trucks/FETCH_TRUCK_DETAILS_REQUEST';\nexport const FETCH_TRUCK_DETAILS_REQUEST_BEGIN = 'common/trucks/FETCH_TRUCK_DETAILS_REQUEST_BEGIN';\nexport const FETCH_TRUCK_DETAILS_REQUEST_ERROR = 'common/trucks/FETCH_TRUCK_DETAILS_REQUEST_ERROR';\nexport const FETCH_TRUCK_DETAILS_REQUEST_SUCCESS = 'common/trucks/FETCH_TRUCK_DETAILS_REQUEST_SUCCESS';\n\nexport const FETCH_TRUCKS_STATS_REQUEST = 'common/trucks/FETCH_TRUCKS_STATS_REQUEST';\nexport const FETCH_TRUCKS_STATS_REQUEST_BEGIN = 'common/trucks/FETCH_TRUCKS_STATS_REQUEST_BEGIN';\nexport const FETCH_TRUCKS_STATS_REQUEST_ERROR = 'common/trucks/FETCH_TRUCKS_STATS_REQUEST_ERROR';\nexport const FETCH_TRUCKS_STATS_REQUEST_SUCCESS = 'common/trucks/FETCH_TRUCKS_STATS_REQUEST_SUCCESS';\n\nexport const IMPORT_XLS_TRUCKS_REQUEST = 'common/trucks/IMPORT_XLS_TRUCKS_REQUEST';\nexport const IMPORT_XLS_TRUCKS_REQUEST_BEGIN = 'common/trucks/IMPORT_XLS_TRUCKS_REQUEST_BEGIN';\nexport const IMPORT_XLS_TRUCKS_REQUEST_ERROR = 'common/trucks/IMPORT_XLS_TRUCKS_REQUEST_ERROR';\nexport const IMPORT_XLS_TRUCKS_REQUEST_SUCCESS = 'common/trucks/IMPORT_XLS_TRUCKS_REQUEST_SUCCESS';\n\nexport const EXPORT_XLS_TRUCKS_REQUEST = 'common/trucks/EXPORT_XLS_TRUCKS_REQUEST';\nexport const EXPORT_XLS_TRUCKS_REQUEST_BEGIN = 'common/trucks/EXPORT_XLS_TRUCKS_REQUEST_BEGIN';\nexport const EXPORT_XLS_TRUCKS_REQUEST_ERROR = 'common/trucks/EXPORT_XLS_TRUCKS_REQUEST_ERROR';\nexport const EXPORT_XLS_TRUCKS_REQUEST_SUCCESS = 'common/trucks/EXPORT_XLS_TRUCKS_REQUEST_SUCCESS';\n\nexport type CompanyTrucksStateT = PaginationStateT<ApiTruckT, FetchTrucksPageQueryT> & {\n    addRequest: RequestStatusT;\n    deleteRequest: RequestStatusT;\n    updateRequest: RequestStatusT;\n    detailsById: Record<TruckIdT, ApiTruckDetailsT | null>;\n    fetchDetailsRequest: RequestStatusT;\n    stats: CompanyTrucksStatsT | null;\n    fetchStatsRequest: RequestStatusT;\n    importXLSRequest: RequestStatusT;\n    exportXLSRequest: RequestStatusT;\n};\n\nexport type TrucksStateT = Record<CompanyIdT, CompanyTrucksStateT | null>;\n\nexport type FetchTrucksPageActionT = {\n    type: typeof FETCH_TRUCKS_PAGE_REQUEST;\n    pageNumber: PageNumberT;\n    query: FetchTrucksPageQueryT;\n    options?: FetchOptionsT;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrucksPageBeginActionT = {\n    type: typeof FETCH_TRUCKS_PAGE_REQUEST_BEGIN;\n    query: FetchTrucksPageQueryT;\n    pageNumber: PageNumberT;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrucksPageSuccessActionT = {\n    type: typeof FETCH_TRUCKS_PAGE_REQUEST_SUCCESS;\n    query: FetchTrucksPageQueryT;\n    pageNumber: PageNumberT;\n    pageResponse: PageResponseT<ApiTruckT> | null;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrucksPageErrorActionT = {\n    type: typeof FETCH_TRUCKS_PAGE_REQUEST_ERROR;\n    query: FetchTrucksPageQueryT;\n    pageNumber: PageNumberT;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type ResetTrucksActionT = {\n    type: typeof RESET_TRUCKS;\n    companyId: CompanyIdT;\n    mutationListOptions: MutationListOptionsT;\n};\n\nexport type AddTruckRequestActionT = {\n    type: typeof ADD_TRUCK_REQUEST;\n    data: ApiTruckAddRequestT;\n    companyId: CompanyIdT;\n};\n\nexport type AddTruckRequestBeginActionT = {\n    type: typeof ADD_TRUCK_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type AddTruckRequestErrorActionT = {\n    type: typeof ADD_TRUCK_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type AddTruckRequestSuccessActionT = {\n    type: typeof ADD_TRUCK_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteTrucksRequestActionT = {\n    type: typeof DELETE_TRUCKS_REQUEST;\n    truckIds: TruckIdT[];\n    companyId: CompanyIdT;\n};\n\nexport type DeleteTrucksRequestBeginActionT = {\n    type: typeof DELETE_TRUCKS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteTrucksRequestErrorActionT = {\n    type: typeof DELETE_TRUCKS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type DeleteTrucksRequestSuccessActionT = {\n    type: typeof DELETE_TRUCKS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type ActivationTrucksRequestActionT = {\n    type: typeof ACTIVATION_TRUCKS_REQUEST;\n    companyId: CompanyIdT;\n    activateTrucksRequest: ActivateTrucksRequestT;\n};\n\nexport type ArchiveTrucksRequestActionT = {\n    type: typeof ARCHIVE_TRUCKS_REQUEST;\n    truckIds: TruckIdT[];\n    companyId: CompanyIdT;\n    reason: string;\n};\n\nexport type AssignToContractRequestActionT = {\n    type: typeof ASSIGN_TO_CONTRACT_TRUCKS_REQUEST;\n    companyId: CompanyIdT;\n    contractName: string | null;\n    changeContractRequest: ApiChangeContractVehiclesRequestT;\n};\n\nexport type ChangeRateTrucksRequestActionT = {\n    type: typeof CHANGE_RATE_TRUCKS_REQUEST;\n    companyId: CompanyIdT;\n    changeRateVehiclesRequest: ApiChangeRateVehiclesRequestT;\n};\n\nexport type UpdateTruckActionT = {\n    type: typeof UPDATE_TRUCK_REQUEST;\n    companyId: CompanyIdT;\n    truckId: TruckIdT;\n    updateTruck: ApiTruckUpdateRequestT;\n};\n\nexport type UpdateTrucksRequestBeginActionT = {\n    type: typeof UPDATE_TRUCKS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateTrucksRequestErrorActionT = {\n    type: typeof UPDATE_TRUCKS_REQUEST_ERROR;\n    error: Error;\n    companyId: CompanyIdT;\n};\n\nexport type UpdateTrucksRequestSuccessActionT = {\n    type: typeof UPDATE_TRUCKS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTruckDetailsActionT = {\n    type: typeof FETCH_TRUCK_DETAILS_REQUEST;\n    companyId: CompanyIdT;\n    truckId: TruckIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchTruckDetailsBeginActionT = {\n    type: typeof FETCH_TRUCK_DETAILS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTruckDetailsErrorActionT = {\n    type: typeof FETCH_TRUCK_DETAILS_REQUEST_ERROR;\n    companyId: CompanyIdT;\n    error: Error;\n};\n\nexport type FetchTruckDetailsSuccessActionT = {\n    type: typeof FETCH_TRUCK_DETAILS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n    truckId: TruckIdT;\n    details: ApiTruckDetailsT | null;\n};\n\nexport type FetchTrucksStatsActionT = {\n    type: typeof FETCH_TRUCKS_STATS_REQUEST;\n    companyId: CompanyIdT;\n    options?: FetchOptionsT;\n};\n\nexport type FetchTrucksStatsBeginActionT = {\n    type: typeof FETCH_TRUCKS_STATS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type FetchTrucksStatsErrorActionT = {\n    type: typeof FETCH_TRUCKS_STATS_REQUEST_ERROR;\n    companyId: CompanyIdT;\n    error: Error;\n};\n\nexport type FetchTrucksStatsSuccessActionT = {\n    type: typeof FETCH_TRUCKS_STATS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n    stats: CompanyTrucksStatsT | null;\n};\n\nexport type ImportXLSTrucksActionT = {\n    type: typeof IMPORT_XLS_TRUCKS_REQUEST;\n    companyId: CompanyIdT;\n    file: File;\n};\n\nexport type ImportXLSTrucksBeginActionT = {\n    type: typeof IMPORT_XLS_TRUCKS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type ImportXLSTrucksErrorActionT = {\n    type: typeof IMPORT_XLS_TRUCKS_REQUEST_ERROR;\n    companyId: CompanyIdT;\n    error: Error;\n};\n\nexport type ImportXLSTrucksSuccessActionT = {\n    type: typeof IMPORT_XLS_TRUCKS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type ExportXLSTrucksActionT = {\n    type: typeof EXPORT_XLS_TRUCKS_REQUEST;\n    companyId: CompanyIdT;\n    query: FetchTrucksPageQueryT;\n};\n\nexport type ExportXLSTrucksBeginActionT = {\n    type: typeof EXPORT_XLS_TRUCKS_REQUEST_BEGIN;\n    companyId: CompanyIdT;\n};\n\nexport type ExportXLSTrucksErrorActionT = {\n    type: typeof EXPORT_XLS_TRUCKS_REQUEST_ERROR;\n    companyId: CompanyIdT;\n    error: Error;\n};\n\nexport type ExportXLSTrucksSuccessActionT = {\n    type: typeof EXPORT_XLS_TRUCKS_REQUEST_SUCCESS;\n    companyId: CompanyIdT;\n};\n\nexport type TrucksActionT =\n    | FetchTrucksPageActionT\n    | FetchTrucksPageBeginActionT\n    | FetchTrucksPageSuccessActionT\n    | FetchTrucksPageErrorActionT\n    | ResetTrucksActionT\n    | AddTruckRequestActionT\n    | AddTruckRequestBeginActionT\n    | AddTruckRequestErrorActionT\n    | AddTruckRequestSuccessActionT\n    | DeleteTrucksRequestActionT\n    | DeleteTrucksRequestBeginActionT\n    | DeleteTrucksRequestErrorActionT\n    | DeleteTrucksRequestSuccessActionT\n    | ActivationTrucksRequestActionT\n    | ArchiveTrucksRequestActionT\n    | AssignToContractRequestActionT\n    | ChangeRateTrucksRequestActionT\n    | UpdateTruckActionT\n    | UpdateTrucksRequestBeginActionT\n    | UpdateTrucksRequestErrorActionT\n    | UpdateTrucksRequestSuccessActionT\n    | FetchTrucksStatsActionT\n    | FetchTrucksStatsBeginActionT\n    | FetchTrucksStatsErrorActionT\n    | FetchTrucksStatsSuccessActionT\n    | FetchTruckDetailsActionT\n    | FetchTruckDetailsBeginActionT\n    | FetchTruckDetailsErrorActionT\n    | FetchTruckDetailsSuccessActionT\n    | ImportXLSTrucksActionT\n    | ImportXLSTrucksBeginActionT\n    | ImportXLSTrucksErrorActionT\n    | ImportXLSTrucksSuccessActionT\n    | ExportXLSTrucksActionT\n    | ExportXLSTrucksBeginActionT\n    | ExportXLSTrucksErrorActionT\n    | ExportXLSTrucksSuccessActionT;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RouteDetailsCard.scss';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Card from 'design-system/components/Card/Card';\nimport { useTranslation } from 'react-i18next';\nimport InfoTable, { InfoTableRowT } from 'design-system/components/InfoTable/InfoTable';\nimport { checkIsInDateRange, formatDate, formatTimeInterval } from 'common/utils/time';\nimport NumberIcon from 'common/icons/NumberIcon';\nimport LocationLabel from 'common/components/LocationLabel/LocationLabel';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport TruckPickUpIcon from 'common/icons/TruckPickUpIcon';\nimport TrailerPickUpIcon from 'common/icons/TrailerPickUpIcon';\nimport LinkDropOffIcon from 'common/icons/LinkDropOffIcon';\nimport TruckDropOffIcon from 'common/icons/TruckDropOffIcon';\nimport TrailerDropOffIcon from 'common/icons/TrailerDropOffIcon';\nimport WarningTextFormatter from 'design-system/components/InfoTable/formatters/WarningTextFormatter/WarningTextFormatter';\nimport isNumber from 'lodash/isNumber';\nimport { StopTypeEnum } from 'common/utils/api/models';\nimport DriverWrongCheckPointPill from 'common/components/pills/DriverWrongCheckPointPill/DriverWrongCheckPointPill';\nimport LinkPickUpIcon from 'common/icons/LinkPickUpIcon';\nimport BoatIcon from 'common/icons/BoatIcon';\n\nexport type PropsT = {\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst RouteDetailsCard: React.FC<PropsT> = React.memo((props) => {\n    const { transportOrderDetails, className } = props;\n\n    const { t } = useTranslation();\n\n    const getDriverArrivedLeftRows = (\n        waypoint: TransportOrderDetailsT['waypoints'][number],\n        { isLast }: { isLast: boolean },\n    ): Array<InfoTableRowT> => {\n        return [\n            {\n                icon: null,\n                name: t('common:transport-order-details.route-details.columns.driver-arrived-at'),\n                value: waypoint?.driverArrivedTimeStamp ? (\n                    <WarningTextFormatter\n                        isActive={checkIsInDateRange(\n                            waypoint.dateTimeFrom,\n                            waypoint.dateTimeTo,\n                            waypoint?.driverArrivedTimeStamp,\n                        )}\n                    >\n                        {formatDate('DD MMM YYYY, HH:mm', waypoint?.driverArrivedTimeStamp)}\n                    </WarningTextFormatter>\n                ) : null,\n                emptyValue: t('common:info-table.placeholders.driver-not-arrived'),\n                isBoldValue: true,\n                rightNode: waypoint?.driverArrivedFalse ? <DriverWrongCheckPointPill /> : null,\n                hasBottomBorder: true,\n            },\n            {\n                icon: null,\n                name: t('common:transport-order-details.route-details.columns.driver-left-at'),\n                value: waypoint?.driverLeftTimeStamp ? (\n                    <WarningTextFormatter\n                        isActive={checkIsInDateRange(\n                            waypoint.dateTimeFrom,\n                            waypoint.dateTimeTo,\n                            waypoint?.driverLeftTimeStamp,\n                        )}\n                    >\n                        {formatDate('DD MMM YYYY, HH:mm', waypoint?.driverLeftTimeStamp)}\n                    </WarningTextFormatter>\n                ) : null,\n                emptyValue: waypoint?.driverArrivedTimeStamp\n                    ? t('common:info-table.placeholders.driver-not-leave')\n                    : t('common:info-table.placeholders.driver-not-arrived'),\n                rightNode: waypoint?.driverLeftFalse ? <DriverWrongCheckPointPill /> : null,\n                isBoldValue: true,\n                hasBottomBorder: !isLast,\n            },\n        ];\n    };\n\n    const getTimeSlotRows = (waypoint: TransportOrderDetailsT['waypoints'][number]): Array<InfoTableRowT> => {\n        return [\n            {\n                icon: null,\n                name: t('common:transport-order-details.route-details.columns.time-slot'),\n                value: formatTimeInterval(waypoint.dateTimeFrom, waypoint.dateTimeTo),\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                hasBottomBorder: true,\n            },\n        ];\n    };\n\n    const renderPickupTruckWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: (\n                    <TruckPickUpIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                    />\n                ),\n                name: t('common:transport-order-details.route-details.columns.pickup-truck'),\n                value: <LocationLabel format=\"pickup_asset_s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderPickupTrailerWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: (\n                    <TrailerPickUpIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                    />\n                ),\n                name: t('common:transport-order-details.route-details.columns.pickup-trailer'),\n                value: <LocationLabel format=\"pickup_asset_s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderPickupTrainWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: <LinkPickUpIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('common:transport-order-details.route-details.columns.pickup-train'),\n                value: <LocationLabel format=\"pickup_asset_s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderDropoffTrainWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: <LinkDropOffIcon strokeColor={StyleGuideColorsEnum.gray} />,\n                name: t('common:transport-order-details.route-details.columns.drop-train'),\n                value: <LocationLabel format=\"dropoff_asset_s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderDropoffTruckWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: (\n                    <TruckDropOffIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                    />\n                ),\n                name: t('common:transport-order-details.route-details.columns.drop-truck'),\n                value: <LocationLabel format=\"dropoff_asset_s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderDropoffTrailerWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: (\n                    <TrailerDropOffIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                    />\n                ),\n                name: t('common:transport-order-details.route-details.columns.drop-trailer'),\n                value: <LocationLabel format=\"dropoff_asset_s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderDriveThroughWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const waypointNumber = (waypoint?.index || 0) + 1;\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: <NumberIcon number={waypointNumber} fillColor={StyleGuideColorsEnum.gray} />,\n                name: t('common:transport-order-details.route-details.columns.waypoint-number', {\n                    number: waypointNumber,\n                }),\n                value: <LocationLabel format=\"s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderDropAndHookWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const waypointNumber = (waypoint?.index || 0) + 1;\n\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: <NumberIcon number={waypointNumber} fillColor={StyleGuideColorsEnum.gray} />,\n                name: t('common:transport-order-details.route-details.columns.waypoint-number', {\n                    number: waypointNumber,\n                }),\n                value: <LocationLabel format=\"s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderFerryOnboardWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: (\n                    <BoatIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                    />\n                ),\n                name: t('common:transport-order-details.route-details.columns.ferry-onboard'),\n                value: <LocationLabel format=\"s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderFerryDisembarkWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: (\n                    <BoatIcon\n                        size={DEFAULT_ICON_SIZE}\n                        strokeColor={StyleGuideColorsEnum.gray}\n                        fillColor={StyleGuideColorsEnum.light}\n                    />\n                ),\n                name: t('common:transport-order-details.route-details.columns.ferry-disembark'),\n                value: <LocationLabel format=\"s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [...getTimeSlotRows(waypoint), ...getDriverArrivedLeftRows(waypoint, { isLast: true })],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const renderPickupDeliveryWaypoint = (waypoint: TransportOrderDetailsT['waypoints'][number]) => {\n        const waypointNumber = (waypoint.index || 0) + 1;\n\n        const rows: Array<InfoTableRowT> = [\n            {\n                icon: <NumberIcon number={waypointNumber} fillColor={StyleGuideColorsEnum.charcoal} />,\n                name: t('common:transport-order-details.route-details.columns.waypoint-number', {\n                    number: waypointNumber,\n                }),\n                value: <LocationLabel format=\"s1_s2_zip_city_country\" location={waypoint?.address} />,\n                emptyValue: t('common:info-table.placeholders.not-specified'),\n                isBoldValue: true,\n                rows: [\n                    ...getTimeSlotRows(waypoint),\n                    ...getDriverArrivedLeftRows(waypoint, { isLast: false }),\n                    {\n                        icon: null,\n                        name: t('common:transport-order-details.route-details.columns.company-name'),\n                        value: waypoint?.contact?.companyName,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        testSelector: 'contact-company-name',\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:transport-order-details.route-details.columns.contact-name'),\n                        value: waypoint?.contact?.fullName,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:transport-order-details.route-details.columns.contact-phone'),\n                        value: waypoint?.contact?.phone,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:transport-order-details.route-details.columns.contact-email'),\n                        value: waypoint?.contact?.email,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                        hasBottomBorder: true,\n                    },\n                    {\n                        icon: null,\n                        name: t('common:transport-order-details.route-details.columns.comments'),\n                        value: waypoint?.contact?.comment,\n                        emptyValue: t('common:info-table.placeholders.not-specified'),\n                        isBoldValue: true,\n                    },\n                ],\n            },\n        ];\n\n        return <InfoTable key={waypoint.id} shouldRenderIcons rows={rows} className={cx('table')} />;\n    };\n\n    const waypointCount = transportOrderDetails?.waypoints?.length;\n    return (\n        <>\n            <Card\n                titleNode={t('common:transport-order-details.route-details.title')}\n                rightNode={\n                    isNumber(waypointCount) ? (\n                        <PillLabel theme={PillLabelThemeEnum.slate} isSymmetrical>\n                            {t('common:transport-order-details.route-details.waypoint-counts', {\n                                number: waypointCount,\n                            })}\n                        </PillLabel>\n                    ) : null\n                }\n                className={className}\n                hasHeaderBottomBorder\n            >\n                <div className={cx('content')}>\n                    {transportOrderDetails?.waypoints?.map((waypoint) => {\n                        switch (waypoint.type) {\n                            case StopTypeEnum.pickupTrailer: {\n                                return renderPickupTrailerWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.pickupTruck: {\n                                return renderPickupTruckWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.pickupRoadTrain: {\n                                return renderPickupTrainWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.pickupDeliveryShipment: {\n                                return renderPickupDeliveryWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.driveThrough: {\n                                return renderDriveThroughWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.dropAndHook: {\n                                return renderDropAndHookWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.ferryOnboard: {\n                                return renderFerryOnboardWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.ferryDisembark: {\n                                return renderFerryDisembarkWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.dropTrailer: {\n                                return renderDropoffTrailerWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.dropTruck: {\n                                return renderDropoffTruckWaypoint(waypoint);\n                            }\n                            case StopTypeEnum.dropRoadTrain: {\n                                return renderDropoffTrainWaypoint(waypoint);\n                            }\n                            default: {\n                                return null;\n                            }\n                        }\n                    })}\n                </div>\n            </Card>\n        </>\n    );\n});\n\nexport default RouteDetailsCard;\n","import * as React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport moment, { Moment } from 'moment';\n\nimport { selectCurrentUser } from 'common/store/user/selectors';\nimport { signOut } from 'common/store/auth/actions';\nimport { selectSignOutRequestStatus } from 'common/store/auth/selectors';\n\nimport classNames from 'classnames/bind';\nimport styles from './AccountPreview.scss';\nimport { useTranslation } from 'react-i18next';\nimport SignOutIcon from './icons/SignOutIcon';\nimport { MS_IN_MIN } from 'common/utils/time';\nimport Avatar, { AvatarSizeEnum } from 'common/components/Avatar/Avatar';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {};\n\nconst AccountPreview: React.FC<PropsT> = () => {\n    const { t } = useTranslation();\n    const dispatch = useDispatch();\n    const user = useSelector(selectCurrentUser);\n    const signOutRequest = useSelector(selectSignOutRequestStatus);\n\n    const handleSignOut = () => {\n        dispatch(signOut());\n    };\n\n    const [date, setDate] = React.useState<Moment>(moment());\n    setInterval(() => {\n        setDate(moment());\n    }, MS_IN_MIN);\n\n    const timezoneLabel = moment().format('Z');\n\n    return (\n        <div className={cx('inner')}>\n            <Avatar className={cx('avatar')} hash={user?.email || ''} size={AvatarSizeEnum.extraLarge} />\n            <div className={cx('full-name')} data-test-selector=\"user-full-name\">\n                {user?.fullName}\n            </div>\n            <div className={cx('email')} data-test-selector=\"user-email\">\n                {user?.email}\n            </div>\n            <div className={cx('time')} data-test-selector=\"user-local-time\">\n                {t('common:account-page.time')}: {date.format('hh:mm A')} {timezoneLabel ? `(${timezoneLabel})` : ''}\n            </div>\n            <Button\n                className={cx('sign-out')}\n                theme={ButtonThemeEnum.secondary}\n                isLoading={signOutRequest.loading}\n                onClick={handleSignOut}\n                testSelector=\"sign-out\"\n                leftIcon={<SignOutIcon />}\n            >\n                {t('common:account-page.sign-out-button')}\n            </Button>\n        </div>\n    );\n};\n\nexport default AccountPreview;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ReviewFooterContent.scss';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useTranslation } from 'react-i18next';\nimport RemoteFormActionsContext from 'common/contexts/remote-form-actions';\nimport { useSelector } from 'react-redux';\nimport { selectUpdateCarrierContractRequest } from 'common/store/carrier-contracts/selectors';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    onReject: () => void;\n    partnerId: PartnerIdT | null;\n};\n\nconst ReviewFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const { onReject, partnerId } = props;\n\n    const remoteFormActionsContext = React.useContext(RemoteFormActionsContext);\n\n    const updateContractRequest = useSelector(selectUpdateCarrierContractRequest(partnerId));\n\n    const { t } = useTranslation();\n\n    const isLoading = updateContractRequest.loading;\n\n    return (\n        <div className={cx('content')}>\n            <div className={cx('actions')}>\n                <Button\n                    theme={ButtonThemeEnum.danger}\n                    className={cx('action', 'action--reject')}\n                    onClick={onReject}\n                    isDisabled={isLoading}\n                >\n                    {t('common:carrier-contracts.actions.reject')}\n                </Button>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    className={cx('action', 'action--approve')}\n                    onClick={remoteFormActionsContext?.remoteFormCallbacks?.submit}\n                    isLoading={isLoading}\n                    isDisabled={isLoading}\n                >\n                    {t('common:carrier-contracts.actions.approve')}\n                </Button>\n            </div>\n        </div>\n    );\n});\n\nexport default ReviewFooterContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"option\":\"PriceComponentTypeMultipleDropdown__option___dvZ6G\",\"overlay\":\"PriceComponentTypeMultipleDropdown__overlay___COSO_\",\"fadeIn\":\"PriceComponentTypeMultipleDropdown__fadeIn___W7Zip\",\"blinking\":\"PriceComponentTypeMultipleDropdown__blinking___F6Yq_\"};","import { PartnerTypeEnum, ApiPartnerTypeT } from 'common/utils/api/models';\n\nexport type PartnerTypeParamT = 'shipper' | 'carrier' | 'broker';\n\nexport const formatPartnerTypeParam = (apiPartnerType: ApiPartnerTypeT): PartnerTypeParamT => {\n    const map: Record<ApiPartnerTypeT, PartnerTypeParamT> = {\n        [PartnerTypeEnum.shipper]: 'shipper',\n        [PartnerTypeEnum.carrier]: 'carrier',\n        [PartnerTypeEnum.broker]: 'broker',\n    };\n    return map[apiPartnerType];\n};\n\nexport const parsePartnerTypeParam = (partnerTypeParams: string): PartnerTypeEnum => {\n    const map: Record<PartnerTypeParamT, PartnerTypeEnum> = {\n        shipper: PartnerTypeEnum.shipper,\n        carrier: PartnerTypeEnum.carrier,\n        broker: PartnerTypeEnum.broker,\n    };\n\n    const result = map[partnerTypeParams as PartnerTypeParamT];\n    if (!result) {\n        throw new Error('wrong partnerTypeParams! not enum');\n    }\n\n    return result;\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ExcludedCountry__wrap___x6Hyr\",\"inner\":\"ExcludedCountry__inner____bcmJ\",\"flag\":\"ExcludedCountry__flag____ykNm\",\"close\":\"ExcludedCountry__close___D3YfH\",\"fadeIn\":\"ExcludedCountry__fadeIn___8cGpv\",\"blinking\":\"ExcludedCountry__blinking___V32K5\"};","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport GoogleMapReact, { ClickEventValue } from 'google-map-react';\nimport { BOOTSTRAP_URL_KEYS, DEFAULT_CENTER, DEFAULT_ZOOM, MAP_OPTIONS } from 'common/store/constants';\nimport GoogleMapContext, { GoogleMapContextT } from 'common/contexts/google-map-context';\nimport isNumber from 'lodash/isNumber';\nimport { GoogleMapsGeocoderApi } from 'common/utils/google-maps-api/google-maps-geocoder-api';\nimport { GoogleMapsPlacesApi } from 'common/utils/google-maps-api/google-maps-places-api';\nimport { getGeoCodingLocation } from 'common/utils/google-places';\nimport { isNonNil } from 'common/utils';\nimport { useRouteGeometry } from 'common/utils/hooks/useRouteGeometry';\nimport {\n    MapRoutePointT,\n    OnSetMapBoundingBoxCallbackT,\n    SyncRouteEditFormMapStateContext,\n} from '../contexts/sync-map-state';\nimport { EditOrderContextT, RoutePointTypeEnum } from 'broker-admin/store/order-edit/models';\nimport MapLoader from 'common/components/maps/MapLoader/MapLoader';\nimport MapRoute, { MapRouteThemeEnum } from 'common/components/maps/MapRoute/MapRoute';\nimport { useSelector } from 'react-redux';\nimport { selectRoutingGeometryStates } from 'common/store/routing-geometry/selectors';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport NumberPinIcon from 'common/icons/NumberPinIcon';\nimport classNames from 'classnames/bind';\n\nimport styles from './RouteEditMap.scss';\nimport {\n    selectIsApplyingContextChanges,\n    selectOrderEditCreateContextRequest,\n} from 'broker-admin/store/order-edit/selectors';\nimport keyBy from 'lodash/keyBy';\nimport FerryLocationPin from 'common/components/maps/pins/FerryLocationPin/FerryLocationPin';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\n\nconst KEY_SPREADER = '/';\nconst KEY_PREFIX = 'route-point';\n\nconst formatKey = (routePointId: string): string => {\n    return [KEY_PREFIX, routePointId].join(KEY_SPREADER);\n};\n\nconst parseKey = (key: string): string => {\n    const [, routePointId] = key.split(KEY_SPREADER);\n    return routePointId;\n};\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    context: EditOrderContextT | null;\n};\n\nconst geocodeByPoint = async (\n    googleMapContext: GoogleMapContextT | null,\n    point: GeoPointT,\n): Promise<LocationT | null> => {\n    const geocoderApi = new GoogleMapsGeocoderApi(googleMapContext?.googleMaps?.maps);\n    const geocodeResult = await geocoderApi.geocode(point);\n    if (!geocodeResult?.place_id) {\n        return null;\n    }\n\n    const placesApi = new GoogleMapsPlacesApi(googleMapContext?.googleMaps?.map, googleMapContext?.googleMaps?.maps);\n    const result = await placesApi.getPlaceDetails(geocodeResult?.place_id);\n    if (!result) {\n        return null;\n    }\n\n    const location = getGeoCodingLocation(result);\n\n    return {\n        address: location?.address || `${point?.lat}, ${point?.lng}`,\n        point: location?.point || null,\n        addressComponents: location?.addressComponents || null,\n        utcOffsetMinutes: result.utc_offset_minutes,\n    };\n};\n\nconst tryGeocodeByPoint = async (googleMapContext: GoogleMapContextT | null, point: GeoPointT): Promise<LocationT> => {\n    const geocodedLocation = await geocodeByPoint(googleMapContext, point);\n    if (geocodedLocation) {\n        return geocodedLocation;\n    }\n\n    return {\n        point: {\n            lat: point.lat,\n            lng: point.lng,\n        },\n        address: `${point.lat}, ${point.lng}`,\n        addressComponents: null,\n        utcOffsetMinutes: null,\n    };\n};\n\nconst RouteEditMap: React.FC<PropsT> = React.memo((props) => {\n    const { context } = props;\n\n    const createContextRequest = useSelector(selectOrderEditCreateContextRequest);\n    const isApplyingContextChanges = useSelector(selectIsApplyingContextChanges);\n\n    const isLoading = isApplyingContextChanges || createContextRequest?.loading;\n\n    const syncMapStateContext = useContext(SyncRouteEditFormMapStateContext);\n    const { mapRoutePoints } = syncMapStateContext;\n\n    const mapRoutePointsById = React.useMemo(() => {\n        return keyBy(mapRoutePoints, 'id');\n    }, [mapRoutePoints]);\n\n    const draggablePinRef = React.useRef<string | null>(null);\n    const [activeLocation, setActiveLocation] = React.useState<LocationT | null>(null);\n    const [draggable, setDraggable] = React.useState(true);\n\n    const handleDragMove = (childKey: string, childProps: any, mouse: GeoPointT) => {\n        const routePointId = parseKey(childKey);\n        const mapRoutePoint = mapRoutePointsById[routePointId] || null;\n        if (!mapRoutePoint?.isDraggable) {\n            return;\n        }\n\n        setDraggable(false);\n\n        draggablePinRef.current = childKey;\n\n        setActiveLocation({\n            point: {\n                lat: mouse.lat,\n                lng: mouse.lng,\n            },\n            address: null,\n            addressComponents: null,\n            utcOffsetMinutes: null,\n        });\n    };\n\n    React.useEffect(() => {\n        setActiveLocation(null);\n        draggablePinRef.current = null;\n    }, [mapRoutePoints]);\n\n    const handleDragEnd = async (childKey: string, childProps: any, mouse: GeoPointT) => {\n        if (draggablePinRef.current !== childKey) {\n            return;\n        }\n\n        setDraggable(true);\n\n        const location = await tryGeocodeByPoint(googleMapContext, mouse);\n\n        const routePointId = parseKey(childKey);\n\n        syncMapStateContext.onDragEndDnDCallback?.callback?.(routePointId, location);\n    };\n\n    const handleMapClick = async (event: ClickEventValue) => {\n        const location = await tryGeocodeByPoint(googleMapContext, event);\n        syncMapStateContext.onMapClickCallback?.callback?.(location);\n    };\n\n    const [api, setApi] = React.useState<TODO>(null);\n\n    const prevBoundingBoxHashRef = React.useRef<string>('');\n    const onSetMapBoundingBoxCallback: OnSetMapBoundingBoxCallbackT = React.useCallback(\n        (boundPoints) => {\n            if (!boundPoints) {\n                return;\n            }\n\n            const boundingBoxHashRef = JSON.stringify(boundPoints);\n            if (prevBoundingBoxHashRef.current === boundingBoxHashRef) {\n                return;\n            }\n\n            prevBoundingBoxHashRef.current = boundingBoxHashRef;\n\n            if (!api) {\n                return;\n            }\n            const { map, maps } = api;\n\n            const bounds = new maps.LatLngBounds();\n\n            boundPoints.forEach((boundPoint) => {\n                const [latitude, longitude] = boundPoint;\n                if (isNumber(latitude) && isNumber(longitude)) {\n                    const latLng = new maps.LatLng(latitude, longitude);\n                    bounds.extend(latLng);\n                }\n            });\n\n            map.fitBounds(bounds);\n        },\n        [api, prevBoundingBoxHashRef],\n    );\n\n    React.useEffect(() => {\n        syncMapStateContext.setOnSetMapBoundingBox({\n            callback: onSetMapBoundingBoxCallback,\n        });\n\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [onSetMapBoundingBoxCallback, syncMapStateContext.setOnSetMapBoundingBox]);\n\n    const oldPolylineIds = useMemo(() => {\n        return context?.oldTourData?.map((tour) => tour.polylineId).filter(isNonNil) || [];\n    }, [context]);\n\n    const oldPayloadGeometryStates = useSelector(selectRoutingGeometryStates(oldPolylineIds));\n\n    useRouteGeometry(oldPolylineIds);\n\n    const newPolylineIds = useMemo(() => {\n        return context?.tours?.map((tour) => tour.polylineId).filter(isNonNil) || [];\n    }, [context]);\n\n    const newPayloadGeometryStates = useSelector(selectRoutingGeometryStates(newPolylineIds));\n\n    useRouteGeometry(newPolylineIds);\n\n    const googleMapContext = React.useContext(GoogleMapContext);\n\n    const apiIsLoaded = (api: TODO) => {\n        setApi(api);\n\n        const { map, maps } = api;\n\n        // eslint-disable-next-line no-unused-expressions\n        googleMapContext.googleMaps?.set(maps, map, ['geometry']);\n    };\n\n    const renderRoutePointPin = (mapRoutePoint: MapRoutePointT): React.ReactNode => {\n        const key = formatKey(mapRoutePoint.id);\n\n        let latLngProps = {};\n        if (draggablePinRef.current === key) {\n            if (!activeLocation?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: activeLocation.point.lat,\n                lng: activeLocation.point.lng,\n            };\n        } else {\n            if (!mapRoutePoint?.location?.point) {\n                return null;\n            }\n\n            latLngProps = {\n                lat: mapRoutePoint.location.point?.lat,\n                lng: mapRoutePoint.location.point?.lng,\n            };\n        }\n\n        if (\n            mapRoutePoint.type === RoutePointTypeEnum.ferryDisembark ||\n            mapRoutePoint.type === RoutePointTypeEnum.ferryOnboard\n        ) {\n            let theme = MapPinThemeEnum.charcoal;\n            if (mapRoutePoint.isNew) {\n                theme = MapPinThemeEnum.blazeOrange;\n            }\n            if (mapRoutePoint.hasError) {\n                theme = MapPinThemeEnum.tomatoRed;\n            }\n\n            return (\n                <FerryLocationPin\n                    key={key}\n                    className={cx('route-point-pin', 'route-point-pin--ferry')}\n                    {...latLngProps}\n                    theme={theme}\n                />\n            );\n        }\n\n        let fillColor = StyleGuideColorsEnum.charcoal;\n        if (mapRoutePoint.type === RoutePointTypeEnum.driveThrough) {\n            fillColor = StyleGuideColorsEnum.gray;\n        }\n\n        if (mapRoutePoint.isNew) {\n            fillColor = StyleGuideColorsEnum.blazeOrange;\n        }\n        if (mapRoutePoint.hasError) {\n            fillColor = StyleGuideColorsEnum.tomatoRed;\n        }\n\n        return (\n            <NumberPinIcon\n                number={mapRoutePoint.number}\n                key={key}\n                className={cx('route-point-pin', 'route-point-pin--number')}\n                fillColor={fillColor}\n                {...latLngProps}\n            />\n        );\n    };\n\n    const fixReRenderRouteKey = `${mapRoutePoints?.length || 0}`;\n\n    return (\n        <>\n            {isLoading && <MapLoader />}\n            <GoogleMapReact\n                key=\"broker-order-route-edit\"\n                onGoogleApiLoaded={apiIsLoaded}\n                yesIWantToUseGoogleMapApiInternals\n                draggable={draggable}\n                center={undefined}\n                zoom={undefined}\n                defaultCenter={DEFAULT_CENTER}\n                defaultZoom={DEFAULT_ZOOM}\n                bootstrapURLKeys={BOOTSTRAP_URL_KEYS}\n                onClick={handleMapClick}\n                options={MAP_OPTIONS}\n                onChildMouseDown={handleDragMove}\n                onChildMouseUp={handleDragEnd}\n                onChildMouseMove={handleDragMove}\n            >\n                {mapRoutePoints.map((mapRoutePoint) => {\n                    return renderRoutePointPin(mapRoutePoint);\n                })}\n            </GoogleMapReact>\n            {!isLoading && (\n                <>\n                    {newPayloadGeometryStates.map((newPayloadGeometryState, index) => {\n                        return (\n                            <MapRoute\n                                key={`new-route-${index}-${fixReRenderRouteKey}`}\n                                map={api?.map}\n                                maps={api?.maps}\n                                geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                                polylines={newPayloadGeometryState.data}\n                                theme={MapRouteThemeEnum.editOrderNew}\n                                zIndex={0}\n                            />\n                        );\n                    })}\n                </>\n            )}\n            {oldPayloadGeometryStates.map((oldPayloadGeometryState, index) => {\n                return (\n                    <MapRoute\n                        key={`old-route-${index}-${fixReRenderRouteKey}`}\n                        map={api?.map}\n                        maps={api?.maps}\n                        geometryLibrary={googleMapContext?.googleMaps?.libraries?.geometry}\n                        polylines={oldPayloadGeometryState.data}\n                        theme={MapRouteThemeEnum.editOrderOld}\n                        zIndex={1}\n                    />\n                );\n            })}\n        </>\n    );\n});\n\nexport default RouteEditMap;\n","import { fetchStateMachineSteps } from 'common/store/state-machine/slice';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { StateMachineEntityDescriptorT } from 'common/store/state-machine/models';\nimport { selectStateMachineItemState } from 'common/store/state-machine/selectors';\nimport useDocumentVisibilityChange from 'common/utils/hooks/useDocumentVisibilityChange';\n\nexport const useStateMachine = <T extends string>(descriptor: StateMachineEntityDescriptorT | null) => {\n    const dispatch = useDispatch();\n\n    useEffect(() => {\n        if (!descriptor) {\n            return;\n        }\n\n        dispatch(\n            fetchStateMachineSteps({\n                descriptor,\n            }),\n        );\n    }, [dispatch, descriptor]);\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!descriptor) {\n            return;\n        }\n\n        dispatch(\n            fetchStateMachineSteps({\n                descriptor,\n                options: {\n                    isForceUpdate: true,\n                },\n            }),\n        );\n    }, [dispatch, descriptor]);\n    useChannelSubscribe(stateMachineRefreshChannel, refreshPageHandler);\n\n    const documentVisibilityChangeHandler = React.useCallback(() => {\n        if (!descriptor) {\n            return;\n        }\n\n        dispatch(\n            fetchStateMachineSteps({\n                descriptor,\n            }),\n        );\n    }, [dispatch, descriptor]);\n    useDocumentVisibilityChange(documentVisibilityChangeHandler);\n\n    return useSelector(selectStateMachineItemState<T>(descriptor));\n};\n","import { StateT } from 'broker-admin/store/models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nexport const selectUpdateBrokerOrderRequest = (state: StateT): RequestStatusT => {\n    return state.brokerOrderEdit.requestStatus;\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './LastAssetTrackPointPin.scss';\nimport TrailerIcon from 'common/icons/TrailerIcon';\nimport TruckIcon from 'common/icons/TruckIcon';\nimport { AssetTypeEnum, DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport MapTooltip from 'common/components/maps/MapTooltip/MapTooltip';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { formatTime } from 'common/utils/time';\nimport { useTranslation } from 'react-i18next';\nimport { MapPinThemeEnum } from 'common/components/maps/MapPin/MapPin';\nimport IconWithNumber from 'common/components/IconWithNumber/IconWithNumber';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    iconType: AssetTypeEnum;\n    timestamp: number | null;\n    lat?: number;\n    lng?: number;\n    number?: number | null;\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\nconst iconTypeMap: Record<\n    AssetTypeEnum,\n    React.FC<{\n        fillColor: StyleGuideColorsEnum;\n        strokeColor: StyleGuideColorsEnum;\n        size: number;\n    }>\n> = {\n    [AssetTypeEnum.trailer]: TrailerIcon,\n    [AssetTypeEnum.truck]: TruckIcon,\n};\n\nconst LastAssetTrackPointPin: React.FC<PropsT> = React.memo((props) => {\n    const { lat, lng, timestamp, iconType, number, className } = props;\n\n    const { t } = useTranslation();\n\n    const IconComponent = iconTypeMap[iconType];\n\n    const shouldShowNumber = isNumber(number);\n\n    return (\n        <MapTooltip\n            lat={lat}\n            lng={lng}\n            contentClassName={className}\n            mapLayers={{ regular: 1, hovered: 1 }}\n            theme={MapPinThemeEnum.brandDark}\n        >\n            {() => (\n                <Tooltip\n                    tooltipNode={\n                        timestamp ? (\n                            <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                                <span className={cx('last-track-point-updated')}>\n                                    {t('common:last-track-point-updated', {\n                                        time: timestamp ? formatTime(timestamp) : null,\n                                    })}\n                                </span>\n                            </TooltipContent>\n                        ) : null\n                    }\n                    delay={0}\n                    position={TooltipPositionEnum.topCenter}\n                    theme={TooltipThemeEnum.black}\n                    className={cx('inner', { 'inner--has-paddings': !shouldShowNumber })}\n                >\n                    {() => (\n                        <IconWithNumber number={number}>\n                            <IconComponent\n                                fillColor={StyleGuideColorsEnum.brandDark}\n                                strokeColor={StyleGuideColorsEnum.white}\n                                size={DEFAULT_ICON_SIZE}\n                            />\n                        </IconWithNumber>\n                    )}\n                </Tooltip>\n            )}\n        </MapTooltip>\n    );\n});\n\nexport default LastAssetTrackPointPin;\n","// extracted by mini-css-extract-plugin\nexport default {\"status\":\"StatusCell__status___vUrt4\",\"fadeIn\":\"StatusCell__fadeIn___LhO9O\",\"blinking\":\"StatusCell__blinking___OqNG_\"};","import { ViewEventChannel } from 'common/utils/view-event-channel';\nimport { PapersEditRefreshChannelEventT } from './models';\n\nexport const papersEditRefreshChannel = new ViewEventChannel<PapersEditRefreshChannelEventT>();\n","// extracted by mini-css-extract-plugin\nexport default {\"fadeIn\":\"EvidenceOfTaxDetailsForm__fadeIn___CGzX2\",\"blinking\":\"EvidenceOfTaxDetailsForm__blinking___BHFQj\"};","import { TFunction } from 'i18next';\nimport { FieldsEnum, FormErrorsT, FormValuesT } from './constants';\nimport { checkNotEmpty } from 'common/utils/form-validators';\nimport values from 'lodash/values';\n\nconst REQUIRED_FIELDS = values<FieldsEnum>(FieldsEnum);\n\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {\n        ...checkNotEmpty(t, REQUIRED_FIELDS, values),\n    };\n\n    return errors;\n};\n\nexport default validate;\n","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { fetchSpotRequestsBegin, fetchSpotRequestsStatsError, fetchSpotRequestsStatsSuccess } from './actions';\nimport { FETCH_SPOT_REQUESTS_STATS_REQUEST, FetchSpotRequestsStatsActionT } from './types';\nimport checkNeedRequest from 'common/utils/check-need-request';\nimport { selectSpotRequestsStatsRequest } from './selectors';\nimport { FetchSpotRequestsPageActionT } from 'broker-admin/store/spot-requests/types';\nimport spotBrokerTranziitApi from 'broker-admin/utils/api/spot-broker-tranziit/api';\n\nfunction* fetchSpotRequestsStatsSaga(\n    actions: FetchSpotRequestsStatsActionT | FetchSpotRequestsPageActionT,\n): WrapGeneratorT<void> {\n    const { options } = actions;\n\n    const requestStatus: ReturnType<typeof selectSpotRequestsStatsRequest> = yield select(\n        selectSpotRequestsStatsRequest,\n    );\n\n    const isNeedRequest = checkNeedRequest(requestStatus, options);\n    if (!isNeedRequest) {\n        return;\n    }\n\n    yield put(fetchSpotRequestsBegin());\n\n    const [error, response]: ReturnApiT<typeof spotBrokerTranziitApi.fetchSpotRequestsStats> =\n        yield spotBrokerTranziitApi.fetchSpotRequestsStats();\n    if (error) {\n        yield put(fetchSpotRequestsStatsError(error));\n        return;\n    }\n\n    yield put(fetchSpotRequestsStatsSuccess(response));\n}\n\nfunction* spotRequestsStatsSaga(): WrapGeneratorT<void> {\n    yield takeEvery(FETCH_SPOT_REQUESTS_STATS_REQUEST, fetchSpotRequestsStatsSaga);\n}\n\nexport default spotRequestsStatsSaga;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    strokeColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst CalendarAltIcon: React.FC<PropsT> = (props) => {\n    const { size, strokeColor, className } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} className={className} viewBox=\"0 0 20 20\">\n            <path\n                fill={strokeColor}\n                fillRule=\"evenodd\"\n                d=\"M6.889 3v1.5h6.222V3h1.556v1.5h.777C16.3 4.5 17 5.175 17 6v9.5c0 .825-.7 1.5-1.556 1.5H4.556C3.692 17 3 16.325 3 15.5L3.008 6c0-.825.684-1.5 1.548-1.5h.777V3H6.89zM15 8H5v7h10V8zm-5 2v3H7v-3h3z\"\n            />\n        </svg>\n    );\n};\n\nCalendarAltIcon.displayName = 'CalendarAltIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default CalendarAltIcon;\n","import * as React from 'react';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport { useTranslation } from 'react-i18next';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport RouteIcon from 'common/icons/RouteIcon';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport { isNonNil } from 'common/utils';\n\nexport type RouteSwitchValueT = RouteTypeEnum | null;\n\nexport enum RouteTypeEnum {\n    shipperRoute = 'shipper-route',\n    estimateCarrierRoute = 'estimate-carrier-route',\n    carrierRoute = 'carrier-route',\n}\n\ntype RouteSwitchDropdownOptionT = {\n    label: React.ReactNode;\n    value: RouteSwitchValueT;\n};\n\ntype PropsT = {\n    className?: string;\n    value: RouteSwitchValueT;\n    onChange: (value: RouteSwitchValueT) => void;\n\n    isDisabledEstimateCarrierRoute: boolean;\n    isDisabledShipperRoute: boolean;\n    isDisabledCarrierRoute: boolean;\n};\n\nconst RouteSwitchDropdown: React.FC<PropsT> = React.memo((props) => {\n    const {\n        className,\n        value,\n        onChange,\n        isDisabledEstimateCarrierRoute,\n        isDisabledCarrierRoute,\n        isDisabledShipperRoute,\n    } = props;\n\n    const { t } = useTranslation();\n\n    const routeTypeOptions: Array<RouteSwitchDropdownOptionT> = React.useMemo(\n        () =>\n            [\n                isDisabledShipperRoute\n                    ? null\n                    : {\n                          label: (\n                              <DropdownControlOptionLabel\n                                  withoutPaddings\n                                  label={t('common-components.route-type-switcher.shipper-route')}\n                              />\n                          ),\n                          value: RouteTypeEnum.shipperRoute,\n                      },\n                isDisabledEstimateCarrierRoute\n                    ? null\n                    : {\n                          label: (\n                              <DropdownControlOptionLabel\n                                  withoutPaddings\n                                  label={t('common-components.route-type-switcher.estimate-carrier-route')}\n                              />\n                          ),\n                          value: RouteTypeEnum.estimateCarrierRoute,\n                      },\n                isDisabledCarrierRoute\n                    ? null\n                    : {\n                          label: (\n                              <DropdownControlOptionLabel\n                                  withoutPaddings\n                                  label={t('common-components.route-type-switcher.carrier-route')}\n                              />\n                          ),\n                          value: RouteTypeEnum.carrierRoute,\n                      },\n            ].filter(isNonNil),\n        [t, isDisabledEstimateCarrierRoute, isDisabledCarrierRoute, isDisabledShipperRoute],\n    );\n\n    return (\n        <DropdownInput<RouteSwitchDropdownOptionT, RouteSwitchValueT>\n            className={className}\n            selectedValue={value}\n            options={routeTypeOptions}\n            onSelect={onChange}\n            renderOption={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return <DropdownControlOptionLabel withoutPaddings label={option.label} />;\n            }}\n            renderTriggerContent={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={<RouteIcon fillColor={StyleGuideColorsEnum.slate} />}\n                        label={option.label}\n                    />\n                );\n            }}\n            getOptionValue={(option) => option?.value}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n});\n\nexport default RouteSwitchDropdown;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    // eslint-disable-next-line react/no-unused-prop-types\n    lat?: number;\n    // eslint-disable-next-line react/no-unused-prop-types\n    lng?: number;\n    className?: string;\n    isWrong: boolean;\n};\n\nconst ServicePinIcon: React.FC<PropsT> = (props) => {\n    const { className, isWrong } = props;\n\n    return (\n        <svg className={className} xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"45\" viewBox=\"0 0 40 45\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path\n                    fill={isWrong ? StyleGuideColorsEnum.tomatoRed : StyleGuideColorsEnum.charcoal}\n                    d=\"M25 0c8.284 0 15 6.716 15 15v10c0 8.284-6.716 15-15 15l-5 5-5-5C6.716 40 0 33.284 0 25V15C0 6.716 6.716 0 15 0h10z\"\n                />\n                <path d=\"M10 10h20v20H10z\" />\n                <path d=\"M20 12.286A7.72 7.72 0 0012.286 20 7.72 7.72 0 0020 27.714 7.72 7.72 0 0027.714 20 7.72 7.72 0 0020 12.286zM22.597 24.5l-2.906-2.906c-1.08.335-2.301.103-3.15-.758a3.113 3.113 0 01-.552-3.652l2.095 2.096 1.325-1.324-2.096-2.096a3.113 3.113 0 014.268 4.076l2.79 2.79-1.774 1.774z\" />\n                <path\n                    fill={isWrong ? StyleGuideColorsEnum.white : StyleGuideColorsEnum.orange}\n                    d=\"M20 11c4.963 0 9 4.037 9 9s-4.037 9-9 9-9-4.037-9-9 4.037-9 9-9zm0 1.286A7.72 7.72 0 0012.286 20 7.72 7.72 0 0020 27.714 7.72 7.72 0 0027.714 20 7.72 7.72 0 0020 12.286zm-2.687 3.574a3.113 3.113 0 013.651.553c.952.951 1.145 2.366.617 3.523l2.79 2.79-1.774 1.774-2.906-2.906c-1.08.335-2.301.09-3.15-.758a3.113 3.113 0 01-.552-3.652l2.095 2.096 1.325-1.324z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nServicePinIcon.displayName = 'ServicePinIcon';\n\nconst storyProps: PropsT = {\n    isWrong: false,\n};\n\nexport { storyProps };\nexport default ServicePinIcon;\n","import { actionChannel, fork, put, select, take, takeEvery } from 'redux-saga/effects';\nimport {\n    applyOrderEditContextRequest,\n    applyOrderEditContextRequestBegin,\n    applyOrderEditContextRequestError,\n    applyOrderEditContextRequestSuccess,\n    changeContext,\n    changeContextError,\n    changeContextSuccess,\n    createOrderEditContextRequest,\n    createOrderEditContextRequestBegin,\n    createOrderEditContextRequestError,\n    createOrderEditContextRequestSuccess,\n    deleteOrderEditContextRequest,\n    deleteOrderEditContextRequestBegin,\n    deleteOrderEditContextRequestError,\n    deleteOrderEditContextRequestSuccess,\n    finishOrderEdit,\n    initOrderEdit,\n    reCreateOrderEditContextRequest,\n    refreshOrderEditContextRequest,\n    resetOrderEdit,\n    setIsApplyingContextChanges,\n} from './slice';\nimport { CompanyTypeEnum } from 'common/constants';\nimport {\n    AnyOrderEditRequestErrorActionT,\n    ApplyOrderEditContextRequestActionT,\n    ChangeOrderEditContextRequestActionT,\n    CreateOrderEditContextRequestActionT,\n    DeleteOrderEditContextRequestActionT,\n    FinishOrderEditActionT,\n    InitOrderEditActionT,\n    ReCreateOrderEditContextRequestActionT,\n    RefreshOrderEditContextRequestActionT,\n} from './types';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport {\n    selectOrderEditApplyContextRequest,\n    selectOrderEditContext,\n    selectOrderEditCreateContextRequest,\n    selectOrderEditDeleteContextRequest,\n    selectOrderEditBrokerOrderDetails,\n} from './selectors';\nimport { buffers } from 'redux-saga';\nimport { EditOrderQueryModifyChannelEventT } from './models';\nimport { orderEditQueryModifyChannel } from './channels';\nimport { getOrderId } from './utils/get-order-id';\nimport { ApiEditOrderContextT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { convertToPointLocation } from './utils/prepare-address-point';\nimport { convertRoutePointType } from './utils/convert-route-point-type';\nimport { logWarning } from 'common/utils/logger';\nimport { getCorrectedStops } from './utils/get-corrected-stops';\nimport { getAddedStopHashes } from './utils/get-added-stop-hashes';\nimport { getDeletedStopHashes } from './utils/get-deleted-stop-hashes';\nimport { getOrderStopHashes } from './utils/get-order-stop-hashes';\nimport { findFirstBeforeStop } from './utils/find-first-before-stop';\nimport { findContextStopByHash } from './utils/find-context-stop-by-hash';\nimport { v4 as uuidv4 } from 'uuid';\nimport { checkIsAvailableCountryForShipByCode } from 'common/store/country-settings-dict/utils/check-location';\nimport { selectCountrySettingsByCountryCode } from 'common/store/country-settings-dict/selectors';\nimport { addAlert } from 'common/store/alerts/actions';\nimport { CommonAlertTypeEnum, CommonAnyAlert } from 'common/components/toasts/AlertToastsManager/models';\nimport { resetBrokerOrderDetails } from 'broker-admin/store/broker-order-details/slice';\nimport isNumber from 'lodash/isNumber';\n\nfunction* waitCreatingFinishIfNeedOrderContextSaga(): WrapGeneratorT<void> {\n    const createContextRequest: ReturnType<typeof selectOrderEditCreateContextRequest> = yield select(\n        selectOrderEditCreateContextRequest,\n    );\n    if (createContextRequest.loading) {\n        yield take([createOrderEditContextRequestError.type, createOrderEditContextRequestSuccess.type]);\n    }\n}\n\nfunction* waitApplyingFinishIfNeedOrderContextSaga(): WrapGeneratorT<void> {\n    const applyContextRequest: ReturnType<typeof selectOrderEditApplyContextRequest> = yield select(\n        selectOrderEditApplyContextRequest,\n    );\n\n    if (applyContextRequest.loading) {\n        yield take([applyOrderEditContextRequestError.type, applyOrderEditContextRequestSuccess.type]);\n    }\n}\n\nfunction* waitDeletingFinishIfNeedOrderContextSaga(): WrapGeneratorT<void> {\n    const deleteContextRequest: ReturnType<typeof selectOrderEditDeleteContextRequest> = yield select(\n        selectOrderEditDeleteContextRequest,\n    );\n    if (deleteContextRequest.loading) {\n        yield take([deleteOrderEditContextRequestError.type, deleteOrderEditContextRequestSuccess.type]);\n    }\n}\n\nfunction* waitFinishAllActionIfNeedOrderContextSaga(): WrapGeneratorT<void> {\n    yield waitCreatingFinishIfNeedOrderContextSaga();\n    yield waitApplyingFinishIfNeedOrderContextSaga();\n    yield waitDeletingFinishIfNeedOrderContextSaga();\n}\n\nfunction reCreateOrderEditContextSaga() {\n    return function* (action: ReCreateOrderEditContextRequestActionT): WrapGeneratorT<void> {\n        const { brokerOrderId } = action.payload;\n        if (!brokerOrderId) {\n            return;\n        }\n\n        // yield put(resetOrderEdit({}));\n        yield put(createOrderEditContextRequest({ brokerOrderId, fakeSessionId: uuidv4() }));\n    };\n}\n\nfunction refreshOrderEditContextSaga() {\n    return function* (action: RefreshOrderEditContextRequestActionT): WrapGeneratorT<void> {\n        const { brokerOrderId } = action.payload;\n        if (!brokerOrderId) {\n            return;\n        }\n\n        yield put(createOrderEditContextRequest({ brokerOrderId }));\n\n        const orderEditContext: ReturnType<typeof selectOrderEditContext> = yield select(selectOrderEditContext);\n        if (orderEditContext) {\n            const queryModifyEvent: EditOrderQueryModifyChannelEventT = {};\n            queryModifyEvent.correctedStops = getCorrectedStops(orderEditContext);\n        }\n    };\n}\n\nfunction createOrderEditContextSaga() {\n    return function* (action: CreateOrderEditContextRequestActionT): WrapGeneratorT<void> {\n        const { brokerOrderId, fakeSessionId } = action.payload;\n        if (!brokerOrderId) {\n            return;\n        }\n\n        yield waitFinishAllActionIfNeedOrderContextSaga();\n\n        yield put(createOrderEditContextRequestBegin({}));\n\n        const [fetchBrokerOrderError, fetchBrokerOrderResult]: ReturnApiT<\n            typeof brokerTranziitApi.getBrokerOrderDetails\n        > = yield brokerTranziitApi.getBrokerOrderDetails(brokerOrderId);\n        if (fetchBrokerOrderError) {\n            yield put(\n                createOrderEditContextRequestError({\n                    error: fetchBrokerOrderError,\n                }),\n            );\n            return;\n        }\n\n        const orderId = getOrderId(fetchBrokerOrderResult);\n        if (!orderId) {\n            yield put(\n                createOrderEditContextRequestError({\n                    error: new Error('Empty orderId in broker order details'),\n                }),\n            );\n            return;\n        }\n\n        const [error, result]: ReturnApiT<typeof brokerTranziitApi.editOrderCreateOrGetContext> =\n            yield brokerTranziitApi.editOrderCreateOrGetContext(orderId);\n        if (error) {\n            yield put(createOrderEditContextRequestError({ error }));\n            return;\n        }\n\n        yield put(\n            createOrderEditContextRequestSuccess({\n                context: result,\n                brokerOrderDetails: fetchBrokerOrderResult,\n                fakeSessionId,\n            }),\n        );\n\n        const notes = result?.notes || [];\n        for (const note of notes) {\n            yield put(\n                addAlert(\n                    new CommonAnyAlert({\n                        type: CommonAlertTypeEnum.orderContextNote,\n                        data: {\n                            note,\n                        },\n                    }),\n                ),\n            );\n        }\n    };\n}\n\nfunction initOrderEditSaga() {\n    return function* (action: InitOrderEditActionT): WrapGeneratorT<void> {\n        const brokerOrderId = action?.payload?.brokerOrderId || null;\n\n        yield put(createOrderEditContextRequest({ brokerOrderId }));\n    };\n}\n\nfunction finishOrderEditSaga() {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    return function* (action: FinishOrderEditActionT): WrapGeneratorT<void> {\n        const applyContextRequest: ReturnType<typeof selectOrderEditApplyContextRequest> = yield select(\n            selectOrderEditApplyContextRequest,\n        );\n        if (!applyContextRequest.ok) {\n            yield put(deleteOrderEditContextRequest({}));\n        }\n\n        // after finish\n        yield put(resetOrderEdit({}));\n    };\n}\n\nfunction deleteOrderEditContextSaga() {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    return function* (action: DeleteOrderEditContextRequestActionT): WrapGeneratorT<void> {\n        yield waitFinishAllActionIfNeedOrderContextSaga();\n\n        // if not created\n        const orderEditBrokerOrderDetails: ReturnType<typeof selectOrderEditBrokerOrderDetails> = yield select(\n            selectOrderEditBrokerOrderDetails,\n        );\n        const brokerOrderId = getOrderId(orderEditBrokerOrderDetails);\n        if (!brokerOrderId) {\n            return;\n        }\n\n        yield put(deleteOrderEditContextRequestBegin({}));\n\n        const [error]: ReturnApiT<typeof brokerTranziitApi.editOrderDeleteContext> =\n            yield brokerTranziitApi.editOrderDeleteContext(brokerOrderId);\n        if (error) {\n            yield put(deleteOrderEditContextRequestError({ error }));\n            return;\n        }\n\n        yield put(deleteOrderEditContextRequestSuccess({}));\n    };\n}\n\nfunction catchAnyOrderEditContextError() {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    return function* (action: AnyOrderEditRequestErrorActionT): WrapGeneratorT<void> {\n        const orderEditBrokerOrderDetails: ReturnType<typeof selectOrderEditBrokerOrderDetails> = yield select(\n            selectOrderEditBrokerOrderDetails,\n        );\n        const brokerOrderId = getOrderId(orderEditBrokerOrderDetails);\n\n        yield put(\n            reCreateOrderEditContextRequest({\n                brokerOrderId,\n            }),\n        );\n    };\n}\n\nfunction applyOrderEditContextSaga() {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    return function* (action: ApplyOrderEditContextRequestActionT): WrapGeneratorT<void> {\n        yield waitFinishAllActionIfNeedOrderContextSaga();\n\n        // reset broker order details, will be created new tours\n        yield put(resetBrokerOrderDetails());\n\n        // if not created\n        const orderEditBrokerOrderDetails: ReturnType<typeof selectOrderEditBrokerOrderDetails> = yield select(\n            selectOrderEditBrokerOrderDetails,\n        );\n        const brokerOrderId = getOrderId(orderEditBrokerOrderDetails);\n        if (!brokerOrderId) {\n            return;\n        }\n\n        yield put(applyOrderEditContextRequestBegin({}));\n\n        const [error]: ReturnApiT<typeof brokerTranziitApi.editOrderApplyContext> =\n            yield brokerTranziitApi.editOrderApplyContext(brokerOrderId);\n        if (error) {\n            yield put(applyOrderEditContextRequestError({ error }));\n            return;\n        }\n\n        yield put(applyOrderEditContextRequestSuccess({}));\n    };\n}\n\n// eslint-disable-next-line require-yield\nfunction* changeReserveQuerySaga(\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    companyType: CompanyTypeEnum,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    action: ChangeOrderEditContextRequestActionT,\n): WrapGeneratorT<EditOrderQueryModifyChannelEventT> {\n    const queryModifyEvent: EditOrderQueryModifyChannelEventT = {};\n\n    // if not created\n    const sourceOrderEditContext: ReturnType<typeof selectOrderEditContext> = yield select(selectOrderEditContext);\n    if (!sourceOrderEditContext) {\n        logWarning('order-edit queue, empty orderEditContext', action);\n        return queryModifyEvent;\n    }\n    let contextAfterModify: ApiEditOrderContextT | null = sourceOrderEditContext;\n\n    const orderEditBrokerOrderDetails: ReturnType<typeof selectOrderEditBrokerOrderDetails> = yield select(\n        selectOrderEditBrokerOrderDetails,\n    );\n    const brokerOrderId = getOrderId(orderEditBrokerOrderDetails);\n    if (!brokerOrderId) {\n        logWarning('order-edit queue, empty brokerOrderId', action);\n        return queryModifyEvent;\n    }\n\n    const { payload } = action;\n\n    const isShouldAddPoint =\n        (payload.type === 'change-route-point-location' || payload.type === 'change-route-point-time-window') &&\n        !findContextStopByHash(sourceOrderEditContext, payload.contextRoutePointHash);\n\n    if (payload.type === 'change-route-point-location' && isShouldAddPoint) {\n        const pointLocation = convertToPointLocation(payload.address);\n        if (!pointLocation) {\n            logWarning('order-edit queue, empty pointLocation', action);\n            return queryModifyEvent;\n        }\n\n        const pointType = convertRoutePointType(payload.routePointType);\n        if (!pointType) {\n            logWarning('order-edit queue, empty pointType', action);\n            return queryModifyEvent;\n        }\n\n        const countrySettingsByCountryCode: ReturnType<typeof selectCountrySettingsByCountryCode> = yield select(\n            selectCountrySettingsByCountryCode,\n        );\n        const isAvailableCountry = checkIsAvailableCountryForShipByCode(\n            payload.address?.country || null,\n            countrySettingsByCountryCode,\n        );\n        if (!isAvailableCountry) {\n            logWarning(`Is not available country with code ${payload.address?.country}`);\n            return queryModifyEvent;\n        }\n\n        const beforeContextStop = findFirstBeforeStop(sourceOrderEditContext, payload.beforeContextRoutePointHashes);\n        const beforeContextStopIndex = beforeContextStop?.index;\n        if (!isNumber(beforeContextStopIndex)) {\n            logWarning(`Not found target stop`, payload);\n            return queryModifyEvent;\n        }\n\n        const [errorAfterAddStop, contextAfterAddStop]: ReturnApiT<typeof brokerTranziitApi.editOrderContextAddStop> =\n            yield brokerTranziitApi.editOrderContextAddStop(brokerOrderId, {\n                index: beforeContextStopIndex + 1,\n                address: pointLocation,\n                type: pointType,\n            });\n\n        if (errorAfterAddStop) {\n            yield put(changeContextError({ error: errorAfterAddStop }));\n        }\n\n        contextAfterModify = contextAfterAddStop;\n\n        queryModifyEvent.correctedStops = getCorrectedStops(contextAfterModify);\n        queryModifyEvent.addedStopHashes = getAddedStopHashes(sourceOrderEditContext, contextAfterModify);\n        queryModifyEvent.deletedStopHashes = getDeletedStopHashes(sourceOrderEditContext, contextAfterModify);\n        queryModifyEvent.orderStopHashes = getOrderStopHashes(contextAfterModify);\n    }\n\n    if (payload.type === 'change-route-point-location' && !isShouldAddPoint) {\n        const pointLocation = convertToPointLocation(payload.address);\n        if (!pointLocation) {\n            logWarning('order-edit queue, empty pointLocation', action);\n            return queryModifyEvent;\n        }\n\n        const countrySettingsByCountryCode: ReturnType<typeof selectCountrySettingsByCountryCode> = yield select(\n            selectCountrySettingsByCountryCode,\n        );\n        const isAvailableCountry = checkIsAvailableCountryForShipByCode(\n            payload.address?.country || null,\n            countrySettingsByCountryCode,\n        );\n        if (!isAvailableCountry) {\n            logWarning(`Is not available country with code ${payload.address?.country}`);\n            return queryModifyEvent;\n        }\n\n        const targetContextStop = findContextStopByHash(sourceOrderEditContext, payload.contextRoutePointHash);\n        const targetContextStopIndex = targetContextStop?.index;\n        if (!isNumber(targetContextStopIndex)) {\n            logWarning(`Not found target stop`, payload);\n            return queryModifyEvent;\n        }\n\n        const [error, result]: ReturnApiT<typeof brokerTranziitApi.editOrderContextUpdateStop> =\n            yield brokerTranziitApi.editOrderContextUpdateStop(brokerOrderId, targetContextStopIndex, {\n                address: pointLocation,\n            });\n\n        if (error) {\n            yield put(changeContextError({ error }));\n        }\n\n        contextAfterModify = result;\n\n        queryModifyEvent.correctedStops = getCorrectedStops(contextAfterModify);\n        queryModifyEvent.addedStopHashes = getAddedStopHashes(sourceOrderEditContext, contextAfterModify);\n        queryModifyEvent.deletedStopHashes = getDeletedStopHashes(sourceOrderEditContext, contextAfterModify);\n        queryModifyEvent.orderStopHashes = getOrderStopHashes(contextAfterModify);\n    }\n\n    if (payload.type === 'change-route-point-time-window' && !isShouldAddPoint) {\n        const pointLocation = convertToPointLocation(payload.address);\n        if (!pointLocation) {\n            logWarning('order-edit queue, empty pointLocation', action);\n            return queryModifyEvent;\n        }\n\n        const targetContextStop = findContextStopByHash(sourceOrderEditContext, payload.contextRoutePointHash);\n        const targetContextStopIndex = targetContextStop?.index;\n        if (!isNumber(targetContextStopIndex)) {\n            logWarning(`Not found target stop`, payload);\n            return queryModifyEvent;\n        }\n\n        const [error, result]: ReturnApiT<typeof brokerTranziitApi.editOrderContextUpdateStop> =\n            yield brokerTranziitApi.editOrderContextUpdateStop(brokerOrderId, targetContextStopIndex, {\n                dateTimeFrom: payload.timeWindow.start,\n                dateTimeTo: payload.timeWindow.end,\n                address: pointLocation,\n            });\n\n        if (error) {\n            yield put(changeContextError({ error }));\n        }\n\n        contextAfterModify = result;\n\n        queryModifyEvent.correctedStops = getCorrectedStops(contextAfterModify);\n        queryModifyEvent.addedStopHashes = getAddedStopHashes(sourceOrderEditContext, contextAfterModify);\n        queryModifyEvent.deletedStopHashes = getDeletedStopHashes(sourceOrderEditContext, contextAfterModify);\n        queryModifyEvent.orderStopHashes = getOrderStopHashes(contextAfterModify);\n    }\n\n    if (payload.type === 'delete-route-point') {\n        const targetContextStop = findContextStopByHash(sourceOrderEditContext, payload.contextRoutePointHash);\n        const targetContextStopIndex = targetContextStop?.index;\n        if (!isNumber(targetContextStopIndex)) {\n            logWarning(`Not found target stop`, payload);\n            return queryModifyEvent;\n        }\n\n        const [error, result]: ReturnApiT<typeof brokerTranziitApi.editOrderContextDeleteStop> =\n            yield brokerTranziitApi.editOrderContextDeleteStop(brokerOrderId, targetContextStopIndex);\n\n        if (error) {\n            yield put(changeContextError({ error }));\n        }\n\n        contextAfterModify = result;\n\n        queryModifyEvent.correctedStops = getCorrectedStops(contextAfterModify);\n        queryModifyEvent.addedStopHashes = getAddedStopHashes(sourceOrderEditContext, contextAfterModify);\n        queryModifyEvent.deletedStopHashes = getDeletedStopHashes(sourceOrderEditContext, contextAfterModify);\n        queryModifyEvent.orderStopHashes = getOrderStopHashes(contextAfterModify);\n    }\n\n    yield put(\n        changeContextSuccess({\n            context: contextAfterModify,\n        }),\n    );\n\n    return queryModifyEvent;\n}\n\ntype BufferActionT = ChangeOrderEditContextRequestActionT;\n\nfunction* watchSyncChangeContextQuerySaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    const buffer = buffers.fixed<BufferActionT>(100);\n    const channel = yield actionChannel(changeContext.type, buffer);\n\n    let sourceOrderEditContext: ReturnType<typeof selectOrderEditContext> = yield select(selectOrderEditContext);\n    while (true) {\n        const action: BufferActionT = yield take(channel);\n\n        yield put(setIsApplyingContextChanges(true));\n\n        // experiment, for logic, TODO delete return changeReserveQuerySaga\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        const queryModifyEvent = yield* changeReserveQuerySaga(companyType, action);\n        // orderEditQueryModifyChannel.emit(queryModifyEvent);\n\n        if (buffer.isEmpty()) {\n            const contextAfterModify: ReturnType<typeof selectOrderEditContext> = yield select(selectOrderEditContext);\n\n            orderEditQueryModifyChannel.emit({\n                correctedStops: getCorrectedStops(contextAfterModify),\n                addedStopHashes: getAddedStopHashes(sourceOrderEditContext, contextAfterModify),\n                deletedStopHashes: getDeletedStopHashes(sourceOrderEditContext, contextAfterModify),\n                orderStopHashes: getOrderStopHashes(contextAfterModify),\n            });\n\n            sourceOrderEditContext = contextAfterModify;\n\n            yield put(setIsApplyingContextChanges(false));\n        }\n    }\n}\n\nfunction* orderEditSaga(companyType: CompanyTypeEnum): WrapGeneratorT<void> {\n    yield takeEvery(initOrderEdit.type, initOrderEditSaga());\n    yield takeEvery(finishOrderEdit.type, finishOrderEditSaga());\n    yield takeEvery(reCreateOrderEditContextRequest.type, reCreateOrderEditContextSaga());\n    yield takeEvery(refreshOrderEditContextRequest.type, refreshOrderEditContextSaga());\n    yield takeEvery(createOrderEditContextRequest.type, createOrderEditContextSaga());\n    yield takeEvery(deleteOrderEditContextRequest.type, deleteOrderEditContextSaga());\n    yield takeEvery(applyOrderEditContextRequest.type, applyOrderEditContextSaga());\n    yield takeEvery([changeContextError.type, applyOrderEditContextRequestError.type], catchAnyOrderEditContextError());\n    yield fork(watchSyncChangeContextQuerySaga, companyType);\n}\n\nexport { orderEditSaga };\n","// extracted by mini-css-extract-plugin\nexport default {\"image\":\"ImageGalleryModal__image___f3iBU\",\"inner\":\"ImageGalleryModal__inner___yszF9\",\"action\":\"ImageGalleryModal__action___gam_N\",\"fadeIn\":\"ImageGalleryModal__fadeIn___Yr8_3\",\"blinking\":\"ImageGalleryModal__blinking___WHYTc\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst BellIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    fillOpacity=\"0.3\"\n                    d=\"M10 5.875c-1.867 0-3 1.515-3 3.375v4.5h6v-4.5c0-1.86-1.133-3.375-3-3.375z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M10 17.5c.825 0 1.5-.675 1.5-1.5h-3c0 .825.675 1.5 1.5 1.5zm4.5-4.5V9.25c0-2.303-1.223-4.23-3.375-4.74V4c0-.623-.502-1.125-1.125-1.125S8.875 3.377 8.875 4v.51C6.73 5.02 5.5 6.94 5.5 9.25V13L4 14.5v.75h12v-.75L14.5 13zm-1.5.75H7v-4.5c0-1.86 1.133-3.375 3-3.375s3 1.515 3 3.375v4.5z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nBellIcon.displayName = 'BellIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default BellIcon;\n","import RouteIcon from 'common/icons/RouteIcon';\nimport { ApiFuelOptionTypeT, DEFAULT_ICON_SIZE, StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport TeamDriveIcon from 'common/icons/TeamDriveIcon';\nimport OptionsIcon from 'common/icons/OptionsIcon';\nimport TollIcon from 'common/icons/TollIcon';\nimport FuelIcon from 'common/icons/FuelIcon';\nimport TimeWindowIcon from 'common/icons/TimeWindowIcon';\nimport UrgentIcon from 'common/icons/UrgentIcon';\nimport EcoIcon from 'common/icons/EcoIcon';\nimport FeeIcon from 'common/icons/FeeIcon';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport isNumber from 'lodash/isNumber';\nimport { convertSecToHours } from 'common/utils/time';\nimport {\n    ALL_TOLL_TYPES,\n    ApiBrokerAdditionalServiceT,\n    ApiCarrierAdditionalServiceT,\n    APIFuelByCountryT,\n    ApiRuleTargetT,\n    ApiTollByRoadTypeT,\n    CountryCodeT,\n    TollTypeEnum,\n} from 'common/utils/api/models';\nimport { PriceDetailT } from 'design-system/components/PriceDetails/PriceDetails';\nimport map from 'lodash/map';\nimport keys from 'lodash/keys';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport AsyncCountryFormatter from 'design-system/components/InfoTable/formatters/AsyncCountryFormatter/AsyncCountryFormatter';\nimport { TOLL_MAP_T, TOLL_TOOLTIP_MAP_T } from 'common/components/TollLabel/TollLabel';\nimport { isNonNil } from 'common/utils';\nimport EmissionUnitValue from 'common/components/EmissionUnitValue/EmissionUnitValue';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport FuelOptionTypeLabel from 'common/components/FuelOptionTypeLabel/FuelOptionTypeLabel';\nimport { PILL_THEME_BY_FUEL_OPTION_TYPE } from 'common/components/status-pill/FuelOptionTypePill/FuelOptionTypePill';\nimport { checkIsBrokerAdditionalService, checkIsCarrierAdditionalService } from 'common/utils/additional-services';\nimport { AppliedRuleT } from 'common/store/order-creation/models';\nimport PriceRuleImpactPill from 'common/components/pills/PriceRuleImpactPill/PriceRuleImpactPill';\n\nexport const useCommonPriceDetails = () => {\n    const { t } = useTranslation();\n\n    return useMemo(() => {\n        const getAppliedRulesFooterNode = (\n            filteredTargets: Array<AppliedRuleT['target']>,\n            appliedRules: Array<AppliedRuleT> | null | undefined,\n            mods?: { isNotActual?: boolean },\n        ) => {\n            const result = appliedRules\n                ?.filter((rule) => {\n                    return rule?.valueType && filteredTargets.includes(rule.target);\n                })\n                .map((rule, index) => {\n                    return <PriceRuleImpactPill key={index} rule={rule} isNotActual={mods?.isNotActual} />;\n                });\n\n            if (!result?.length) {\n                return null;\n            }\n\n            return result;\n        };\n\n        return {\n            getAppliedRulesFooterNode,\n            lineHaul: {\n                iconNode: <RouteIcon fillColor={StyleGuideColorsEnum.gray} />,\n                title: t('common:price-details.line-haul.title'),\n                tooltipNode: (\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t('common:price-details.line-haul.tooltip')}\n                    </TooltipContent>\n                ),\n            },\n            otherCosts: {\n                iconNode: null,\n                title: t('common:price-details.other-costs.title'),\n            },\n            getTeamDrive: ({ travelHours }: { travelHours?: number | null | undefined }) => {\n                return {\n                    iconNode: (\n                        <TeamDriveIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.light}\n                            strokeColor={StyleGuideColorsEnum.gray}\n                        />\n                    ),\n                    tooltipNode: (\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                            {t('common:price-details.team-drive.tooltip')}\n                        </TooltipContent>\n                    ),\n                    title: t('common:price-details.team-drive.title'),\n                    pillLabelNode: isNumber(travelHours) ? (\n                        <Trans\n                            i18nKey=\"common:price-details.team-drive.travel-time\"\n                            components={{\n                                duration: <UnitTypeCount type={UnitTypeEnum.hoursAbbreviation} count={travelHours} />,\n                            }}\n                        />\n                    ) : null,\n                    pillLabelTheme: PillLabelThemeEnum.charcoal,\n                };\n            },\n            getRoadTaxesRow: (co2: number | null | undefined) => {\n                return {\n                    iconNode: (\n                        <TollIcon\n                            size={DEFAULT_ICON_SIZE}\n                            fillColor={StyleGuideColorsEnum.light}\n                            strokeColor={StyleGuideColorsEnum.gray}\n                        />\n                    ),\n                    title: t('common:price-details.road-taxes.title'),\n                    pillLabelNode: isNumber(co2) ? (\n                        <Trans\n                            i18nKey=\"common:price-details.road-taxes.co2\"\n                            components={{\n                                value: <EmissionUnitValue co2={co2} />,\n                            }}\n                        />\n                    ) : null,\n                };\n            },\n            getRoadTaxesList: (\n                tollByRoadType: ApiTollByRoadTypeT | undefined,\n                appliedRules?: Array<AppliedRuleT> | null | undefined,\n            ) => {\n                if (!tollByRoadType) {\n                    return [];\n                }\n\n                const appliedRuleTargetMap: Record<TollTypeEnum, ApiRuleTargetT | null> = {\n                    [TollTypeEnum.general]: 'ROAD_TAXES_GENERAL',\n                    [TollTypeEnum.city]: 'ROAD_TAXES_CITY',\n                    [TollTypeEnum.bridge]: 'ROAD_TAXES_BRIDGE',\n                    [TollTypeEnum.tunnel]: 'ROAD_TAXES_TUNNEL',\n                    [TollTypeEnum.ferry]: 'ROAD_TAXES_FERRY',\n                    [TollTypeEnum.mountainPass]: 'ROAD_TAXES_MOUNTAIN_PASS',\n                    [TollTypeEnum.marketCorrection]: null,\n                    [TollTypeEnum.intermodal]: null,\n                    [TollTypeEnum.unspecified]: null,\n                };\n\n                const tollList = tollByRoadType\n                    ? ALL_TOLL_TYPES.map((tollType): PriceDetailT | null => {\n                          const toll = tollByRoadType?.[tollType];\n                          if (!toll) {\n                              return null;\n                          }\n\n                          const { cost, byCountry } = toll;\n                          if (!cost && cost !== 0) {\n                              return null;\n                          }\n\n                          const list = map(keys(byCountry), (countryCode): PriceDetailT => {\n                              const countryCost = byCountry?.[countryCode];\n\n                              return {\n                                  iconNode: <FlagIcon countryCode={countryCode} />,\n                                  title:\n                                      !countryCode || countryCode === 'null' ? (\n                                          t('common:tolls.unspecified')\n                                      ) : (\n                                          <AsyncCountryFormatter countryCode={countryCode as CountryCodeT} />\n                                      ),\n                                  price: countryCost,\n                              };\n                          });\n\n                          const tollTooltip = TOLL_TOOLTIP_MAP_T[tollType];\n\n                          const appliedRuleTarget = appliedRuleTargetMap[tollType];\n\n                          return {\n                              iconNode: null,\n                              title: t(TOLL_MAP_T[tollType]),\n                              tooltipNode: tollTooltip ? (\n                                  <TooltipContent theme={TooltipContentThemeEnum.black} width={150} isCenter>\n                                      {t(tollTooltip)}\n                                  </TooltipContent>\n                              ) : null,\n                              footerNode: appliedRuleTarget\n                                  ? getAppliedRulesFooterNode([appliedRuleTarget], appliedRules)\n                                  : null,\n                              price: cost,\n                              list,\n                          };\n                      }).filter(isNonNil)\n                    : [];\n\n                return tollList;\n            },\n            getLineHaulList: ({\n                deadheadLineHaulCost,\n                payloadLineHaulCost,\n            }: {\n                deadheadLineHaulCost?: number;\n                payloadLineHaulCost?: number;\n            }) => {\n                const result = [\n                    isNumber(deadheadLineHaulCost)\n                        ? {\n                              iconNode: null,\n                              title: t('common:price-details.line-haul-deadhead.title'),\n                              price: deadheadLineHaulCost,\n                          }\n                        : null,\n                    isNumber(payloadLineHaulCost)\n                        ? {\n                              iconNode: null,\n                              title: t('common:price-details.line-haul-payload.title'),\n                              price: payloadLineHaulCost,\n                          }\n                        : null,\n                ].filter(isNonNil);\n\n                if (!result?.length) {\n                    return undefined;\n                }\n\n                return result;\n            },\n            getFuelCostRow: (fuelOption: ApiFuelOptionTypeT | null | undefined) => {\n                return {\n                    iconNode: (\n                        <FuelIcon strokeColor={StyleGuideColorsEnum.gray} fillColor={StyleGuideColorsEnum.light} />\n                    ),\n                    title: t('common:price-details.fuel-price.title'),\n                    ...(fuelOption\n                        ? {\n                              pillLabelNode: <FuelOptionTypeLabel fuelOption={fuelOption} />,\n                              pillLabelTheme: PILL_THEME_BY_FUEL_OPTION_TYPE[fuelOption],\n                          }\n                        : {}),\n                };\n            },\n            getFuelCostsByCountryList: (fuelByCountry: APIFuelByCountryT | undefined) => {\n                return (\n                    fuelByCountry?.map(({ country, cost }) => {\n                        // @ts-expect-error This comparison appears to be unintentional because the types 'Countries' and '\"null\"' have no overlap.\n                        const isUnspecified = country === 'null';\n\n                        return {\n                            iconNode: <FlagIcon countryCode={country} />,\n                            title:\n                                !country || isUnspecified ? (\n                                    t('common:tolls.unspecified')\n                                ) : (\n                                    <AsyncCountryFormatter countryCode={country} />\n                                ),\n                            price: cost,\n                        };\n                    }) || []\n                );\n            },\n            getAdditionalServicesRow: (\n                additionalServiceItems:\n                    | Array<ApiBrokerAdditionalServiceT | ApiCarrierAdditionalServiceT>\n                    | null\n                    | undefined,\n            ) => {\n                const summaryPrice = additionalServiceItems?.reduce<number>((acc, additionalService) => {\n                    if (!additionalService) {\n                        return acc;\n                    }\n\n                    return acc + additionalService.cost;\n                }, 0);\n\n                return {\n                    iconNode: (\n                        <OptionsIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />\n                    ),\n                    title: t('common:price-details.additional-services.title'),\n                    price: summaryPrice,\n                };\n            },\n            getCarrierAdditionalServicesRow: (\n                additionalServiceItems:\n                    | Array<ApiBrokerAdditionalServiceT | ApiCarrierAdditionalServiceT>\n                    | null\n                    | undefined,\n            ) => {\n                const summaryPrice = additionalServiceItems?.reduce<number>((acc, additionalService) => {\n                    if (!additionalService || !checkIsCarrierAdditionalService(additionalService)) {\n                        return acc;\n                    }\n\n                    return acc + additionalService.cost;\n                }, 0);\n\n                return {\n                    iconNode: (\n                        <OptionsIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />\n                    ),\n                    title: t('common:price-details.carrier-additional-services.title'),\n                    price: summaryPrice,\n                };\n            },\n            getBrokerAdditionalServicesRow: (\n                additionalServiceItems:\n                    | Array<ApiBrokerAdditionalServiceT | ApiCarrierAdditionalServiceT>\n                    | null\n                    | undefined,\n            ) => {\n                const summaryPrice = additionalServiceItems?.reduce<number>((acc, additionalService) => {\n                    if (!additionalService || !checkIsBrokerAdditionalService(additionalService)) {\n                        return acc;\n                    }\n\n                    return acc + additionalService.cost;\n                }, 0);\n\n                return {\n                    iconNode: (\n                        <OptionsIcon fillColor={StyleGuideColorsEnum.light} strokeColor={StyleGuideColorsEnum.gray} />\n                    ),\n                    title: t('common:price-details.broker-additional-services.title'),\n                    price: summaryPrice,\n                };\n            },\n            getLayoverCostRow: (\n                layoverSeconds: number | null | undefined,\n                layoverPaidHours: number | null | undefined,\n            ) => {\n                const layoverHours = isNumber(layoverSeconds) ? convertSecToHours(layoverSeconds) : null;\n\n                const paidHoursNode = isNumber(layoverPaidHours) ? (\n                    <Trans\n                        i18nKey=\"common:price-details.layover.paid-hours\"\n                        components={{\n                            paidHours: <UnitTypeCount count={layoverPaidHours} type={UnitTypeEnum.hours} />,\n                        }}\n                    />\n                ) : null;\n\n                const hoursNode = isNumber(layoverHours) ? (\n                    <UnitTypeCount count={layoverHours} type={UnitTypeEnum.hours} />\n                ) : null;\n\n                return {\n                    iconNode: (\n                        <TimeWindowIcon\n                            fillColor={StyleGuideColorsEnum.light}\n                            strokeColor={StyleGuideColorsEnum.gray}\n                        />\n                    ),\n                    tooltipNode: (\n                        <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                            {t('common:price-details.layover.tooltip')}\n                        </TooltipContent>\n                    ),\n                    title: t('common:price-details.layover.title'),\n                    pillLabelNode: (\n                        <span>\n                            {hoursNode || ''}\n                            {paidHoursNode && <span> ({paidHoursNode})</span>}\n                        </span>\n                    ),\n                };\n            },\n\n            urgentOverprice: {\n                iconNode: <UrgentIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.squash} />,\n                title: t('common:price-details.express-surcharge.title'),\n                tooltipNode: (\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t('common:price-details.express-surcharge.tooltip')}\n                    </TooltipContent>\n                ),\n            },\n\n            greenSurcharge: {\n                iconNode: <EcoIcon size={DEFAULT_ICON_SIZE} />,\n                title: t('common:price-details.green-surcharge.title'),\n                tooltipNode: (\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t('common:price-details.green-surcharge.tooltip')}\n                    </TooltipContent>\n                ),\n            },\n\n            serviceFee: {\n                iconNode: <FeeIcon strokeColor={StyleGuideColorsEnum.slate} />,\n                title: t('common:price-details.service-fee.title'),\n                tooltipNode: (\n                    <TooltipContent theme={TooltipContentThemeEnum.black} width={150}>\n                        {t('common:price-details.service-fee.tooltip')}\n                    </TooltipContent>\n                ),\n            },\n\n            tranziitServiceFee: {\n                iconNode: <FeeIcon strokeColor={StyleGuideColorsEnum.slate} />,\n                title: t('common:price-details.tranziit-service-fee.title'),\n            },\n        } as const;\n    }, [t]);\n};\n","import React, { useCallback, useEffect, useMemo } from 'react';\nimport {\n    UseAsyncOptionsParamsT,\n    useAsyncOptionsRequest,\n    UseAsyncOptionsResultT,\n} from 'design-system/components/dropdowns/SuggestInput/hooks/use-async-options-request';\nimport { prepareSearchQuery } from 'common/utils/search';\nimport { isNonNil } from 'common/utils';\n\ntype BaseOptionT = {};\n\nexport type AdditionalOptionFilterT<T extends BaseOptionT> = (option: T) => boolean;\n\nexport type UseAsyncFilterOptionsParamsT<T extends BaseOptionT> = UseAsyncOptionsParamsT<T> & {\n    getOptionText: (option: T) => string;\n    additionalOptionFilter?: AdditionalOptionFilterT<T>;\n};\n\nexport type UseAsyncFilterOptionsResultT<T extends BaseOptionT> = UseAsyncOptionsResultT<T> & {\n    query: string;\n    onRefresh: () => void;\n};\n\nexport const ALWAYS_PASS_SPECIAL_VALUE = '*';\n\n/**\n *  @deprecated use useOnceRequestFilter\n * */\nexport const useAsyncFilterOptions = <T extends BaseOptionT>({\n    initialOptions,\n    requestFactory,\n    getOptionText,\n    additionalOptionFilter,\n    settings,\n}: UseAsyncFilterOptionsParamsT<T>): UseAsyncFilterOptionsResultT<T> => {\n    const [query, setQuery] = React.useState<string>('');\n\n    const asyncOptionsRequest = useAsyncOptionsRequest<T>({\n        initialOptions,\n        requestFactory,\n        settings: {\n            allowedQueryMinLength: 0,\n            ...settings,\n        },\n    });\n\n    const { options, onChangeQuery, ...restAsyncOptionsRequest } = asyncOptionsRequest;\n\n    const handleRefresh = useCallback(() => {\n        onChangeQuery('');\n    }, [onChangeQuery]);\n\n    const handleChangeQuery = useCallback(\n        (query?: string | null | undefined) => {\n            setQuery(query || '');\n        },\n        [setQuery],\n    );\n\n    useEffect(() => {\n        onChangeQuery('');\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []);\n\n    const defaultOptionFilter = useMemo(() => {\n        const preparedQuery = prepareSearchQuery(query);\n        if (!preparedQuery) {\n            return () => true;\n        }\n\n        return (option: T) => {\n            const text = getOptionText(option);\n            const preparedText = prepareSearchQuery(text);\n\n            if (preparedText === ALWAYS_PASS_SPECIAL_VALUE) {\n                return true;\n            }\n\n            return preparedText.includes(preparedQuery);\n        };\n    }, [query, getOptionText]);\n\n    const optionFilters: Array<typeof defaultOptionFilter> = useMemo(() => {\n        return [defaultOptionFilter, additionalOptionFilter].filter(isNonNil);\n    }, [defaultOptionFilter, additionalOptionFilter]);\n\n    const filteredOptions = useMemo(() => {\n        return options.filter((option) => {\n            return optionFilters.every((optionFilter) => optionFilter(option));\n        });\n    }, [options, optionFilters]);\n\n    return {\n        ...restAsyncOptionsRequest,\n        options: filteredOptions,\n        query,\n        onChangeQuery: handleChangeQuery,\n        onRefresh: handleRefresh,\n    };\n};\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RunningOutOfTimeAssignAssetsCard.scss';\nimport { Trans } from 'react-i18next';\nimport NotificationSubjectType from '../entities/NotificationSubjectType/NotificationSubjectType';\nimport { ApiNotificationSubjectTypeT } from 'common/utils/api/models';\nimport CityName from '../entities/CityName/CityName';\nimport SubjectLink from '../entities/SubjectLink/SubjectLink';\n\nconst cx = classNames.bind(styles);\n\nexport type RunningOutOfTimeAssignAssetsCardPropsT = {\n    subjectType: ApiNotificationSubjectTypeT | null | undefined;\n    subjectNumber: React.ReactNode;\n    originCity: React.ReactNode;\n    destinationCity: React.ReactNode;\n};\n\nconst RunningOutOfTimeAssignAssetsCard: React.FC<RunningOutOfTimeAssignAssetsCardPropsT> = React.memo((props) => {\n    const { subjectType, subjectNumber, originCity, destinationCity } = props;\n\n    return (\n        <div className={cx('wrap')}>\n            <Trans\n                i18nKey=\"common:notifications.transport-order-running-out-of-time-assign-assets\"\n                components={{\n                    subjectType: <NotificationSubjectType isCapitalized subjectType={subjectType} />,\n                    subjectLink: <SubjectLink number={subjectNumber} />,\n                    cityFrom: <CityName cityName={originCity} />,\n                    cityTo: <CityName cityName={destinationCity} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RunningOutOfTimeAssignAssetsCard;\n","import * as React from 'react';\n\nimport styles from './LineLoader.scss';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nexport type PropsT = {\n    className?: string;\n    isShow: boolean;\n    style?: React.CSSProperties;\n};\n\nconst cx = classNames.bind(styles);\n\nconst LineLoader: React.FC<PropsT> = React.memo((props) => {\n    const { isShow, className, style } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('line-loader', {\n                    'line-loader--is-show': isShow,\n                }),\n                className,\n            )}\n            data-test-selector=\"line-loader\"\n            style={style}\n        />\n    );\n});\n\nexport default LineLoader;\n","import { AssetTypeEnum } from 'common/constants';\nimport requestStatus, { RequestStatusT } from 'common/utils/request-status';\nimport React from 'react';\nimport useDebouncedEffect from 'common/utils/hooks/useDebouncedEffect';\nimport { checkIsDefaultCompanyId } from 'common/utils';\nimport carrierTranziitApi from 'carrier/utils/api/carrier-tranziit/api';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { checkIsSameQuery } from 'common/utils/pagination/utils';\nimport { TrailerStatusEnum, TruckStatusEnum } from 'common/utils/api/models';\n\ntype PlateNumberUniqCheckRequestT = {\n    plateNumber: string | null;\n    companyId: CompanyIdT;\n    assetType: AssetTypeEnum;\n};\n\ntype PlateNumberUniqCheckT = {\n    requestStatus: RequestStatusT;\n    duplicateId: TrailerIdT | null;\n};\n\nconst usePlateNumberUniqCheck = (request: PlateNumberUniqCheckRequestT): PlateNumberUniqCheckT => {\n    const [duplicateId, setDuplicateId] = React.useState<TrailerIdT | null>(null);\n    const [status, setStatus] = React.useState<RequestStatusT>(requestStatus.initial);\n    const queryRef = React.useRef<PlateNumberUniqCheckRequestT | null>(null);\n\n    useDebouncedEffect(\n        () => {\n            const { plateNumber, companyId, assetType } = request;\n\n            if (!plateNumber) {\n                setDuplicateId(null);\n                setStatus(requestStatus.ok);\n                return;\n            }\n\n            queryRef.current = request;\n\n            setStatus(requestStatus.loading);\n\n            let promise: Promise<PlateNumberUniqCheckT['duplicateId']> | null = null;\n\n            if (assetType === AssetTypeEnum.trailer) {\n                if (checkIsDefaultCompanyId(companyId)) {\n                    promise = carrierTranziitApi\n                        .fetchTrailersPage({\n                            plateNumber,\n                            page: 0,\n                        })\n                        .then(([error, data]): PlateNumberUniqCheckT['duplicateId'] => {\n                            if (error) {\n                                throw error;\n                            }\n\n                            const duplcate = (data?.content || []).find(\n                                (trailer) =>\n                                    trailer.plateNumber === plateNumber &&\n                                    trailer.status !== TrailerStatusEnum.archived,\n                            );\n                            return duplcate?.id || null;\n                        });\n                } else {\n                    promise = brokerTranziitApi\n                        .fetchTrailersPage(\n                            {\n                                plateNumber,\n                                page: 0,\n                            },\n                            companyId,\n                        )\n                        .then(([error, data]): PlateNumberUniqCheckT['duplicateId'] => {\n                            if (error) {\n                                throw error;\n                            }\n\n                            const duplcate = (data?.content || []).find(\n                                (trailer) =>\n                                    trailer.plateNumber === plateNumber &&\n                                    trailer.status !== TrailerStatusEnum.archived,\n                            );\n                            return duplcate?.id || null;\n                        });\n                }\n            }\n            if (assetType === AssetTypeEnum.truck) {\n                if (checkIsDefaultCompanyId(companyId)) {\n                    promise = carrierTranziitApi\n                        .fetchTrucksPage({\n                            plateNumber,\n                            page: 0,\n                        })\n                        .then(([error, data]): PlateNumberUniqCheckT['duplicateId'] => {\n                            if (error) {\n                                throw error;\n                            }\n\n                            const duplcate = (data?.content || []).find(\n                                (truck) =>\n                                    truck.plateNumber === plateNumber && truck.status !== TruckStatusEnum.archived,\n                            );\n                            return duplcate?.id || null;\n                        });\n                } else {\n                    promise = brokerTranziitApi\n                        .fetchTrucksPage(\n                            {\n                                plateNumber,\n                                page: 0,\n                            },\n                            companyId,\n                        )\n                        .then(([error, data]): PlateNumberUniqCheckT['duplicateId'] => {\n                            if (error) {\n                                throw error;\n                            }\n\n                            const duplcate = (data?.content || []).find(\n                                (truck) =>\n                                    truck.plateNumber === plateNumber && truck.status !== TruckStatusEnum.archived,\n                            );\n                            return duplcate?.id || null;\n                        });\n                }\n            }\n\n            if (!promise) {\n                throw new Error('empty promise!');\n            }\n\n            promise\n                .then((duplicateId) => {\n                    const isSameQuery = checkIsSameQuery(queryRef.current, request);\n                    if (!isSameQuery) {\n                        return;\n                    }\n\n                    setDuplicateId(duplicateId);\n                    setStatus(requestStatus.ok);\n                })\n                .catch((error) => {\n                    const isSameQuery = checkIsSameQuery(queryRef.current, request);\n                    if (!isSameQuery) {\n                        return;\n                    }\n\n                    setDuplicateId(null);\n                    setStatus(requestStatus.setError(error));\n                });\n        },\n        300,\n        [request.companyId, request.plateNumber],\n    );\n\n    return {\n        requestStatus: status,\n        duplicateId,\n    };\n};\n\nexport { usePlateNumberUniqCheck };\n","import { ApiEditOrderContextT, ApiTourUpdateStopDataT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { ContextRoutePointHashT } from 'broker-admin/store/order-edit/models';\nimport { getContextRoutePointHash } from 'broker-admin/store/order-edit/utils/get-context-route-point-hash';\nimport keyBy from 'lodash/keyBy';\nimport findLast from 'lodash/findLast';\n\nexport const findFirstBeforeStop = (\n    context: ApiEditOrderContextT | null,\n    beforeContextRoutePointHashes: ContextRoutePointHashT[],\n): ApiTourUpdateStopDataT | null => {\n    const allStops =\n        context?.tours?.flatMap((tour) => {\n            return tour?.stops || [];\n        }) || [];\n\n    const stopByHash = keyBy(allStops, (stop) => {\n        return getContextRoutePointHash(stop);\n    });\n\n    const targetHash = findLast(beforeContextRoutePointHashes, (hash) => {\n        return Boolean(stopByHash[hash]);\n    });\n\n    if (!targetHash) {\n        return null;\n    }\n\n    return stopByHash[targetHash] || null;\n};\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    size: number;\n};\n\nconst DeactivateUserIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, size } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M2 1h18v18H2z\" />\n                <g fill={fillColor}>\n                    <path\n                        fill=\"none\"\n                        d=\"M9.2 8.65c.747 0 1.35-.603 1.35-1.35 0-.747-.603-1.35-1.35-1.35-.747 0-1.35.603-1.35 1.35 0 .747.603 1.35 1.35 1.35zm3.852 4.644A7.64 7.64 0 009.2 12.25a7.64 7.64 0 00-3.852 1.044c-.126.072-.198.225-.198.378v.369h8.1v-.369a.456.456 0 00-.198-.378z\"\n                    />\n                    <path d=\"M9.2 10.9a8.86 8.86 0 014.527 1.233c.549.315.873.918.873 1.548V15.4H3.8v-1.719c0-.63.324-1.233.873-1.548A8.86 8.86 0 019.2 10.9zm0 1.35c-1.35 0-2.682.36-3.852 1.053a.444.444 0 00-.198.378v.369h8.1v-.378c0-.153-.072-.306-.198-.378A7.64 7.64 0 009.2 12.25zm0-7.65c1.494 0 2.7 1.206 2.7 2.7 0 1.494-1.206 2.7-2.7 2.7a2.696 2.696 0 01-2.7-2.7c0-1.494 1.206-2.7 2.7-2.7zm9 3.375v1.35h-4.5v-1.35h4.5zm-9-2.025c-.747 0-1.35.603-1.35 1.35 0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35 0-.747-.603-1.35-1.35-1.35z\" />\n                </g>\n            </g>\n        </svg>\n    );\n};\n\nDeactivateUserIcon.displayName = 'DeactivateUserIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.orange,\n    size: 20,\n};\n\nexport { storyProps };\nexport default DeactivateUserIcon;\n","import createNumberMask from 'text-mask-addons/dist/createNumberMask';\n\nexport const getMoneyMask = (): MaskT => {\n    return createNumberMask({\n        prefix: '',\n        suffix: '',\n        includeThousandsSeparator: true,\n        thousandsSeparatorSymbol: ' ',\n        allowDecimal: true,\n    });\n};\n\nexport const getMoneyMaskAllowNegative = (): MaskT => {\n    return createNumberMask({\n        prefix: '',\n        suffix: '',\n        includeThousandsSeparator: true,\n        thousandsSeparatorSymbol: ' ',\n        allowDecimal: true,\n        allowNegative: true,\n    });\n};\n\nexport const getPercentDiffMask = (): MaskT => {\n    return [/[+-]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/];\n};\n\nexport const getMoneyDiffMask = (): MaskT => {\n    return [/[+-]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/, /[0-9.]/];\n};\n\nexport const getDistanceMask = (): MaskT => {\n    return createNumberMask({\n        prefix: '',\n        suffix: '',\n        includeThousandsSeparator: true,\n        thousandsSeparatorSymbol: ' ',\n    });\n};\n\nexport const getWeightMask = (): MaskT => {\n    return createNumberMask({\n        prefix: '',\n        suffix: '',\n        includeThousandsSeparator: true,\n        thousandsSeparatorSymbol: ' ',\n        allowDecimal: true,\n        decimalLimit: 3,\n    });\n};\n\nexport const getDateMask = (): MaskT => {\n    return [/\\d/, /\\d/, '.', /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/];\n};\n\nexport const getDateRangeMask = (): MaskT => {\n    return [\n        /\\d/,\n        /\\d/,\n        '.',\n        /\\d/,\n        /\\d/,\n        '.',\n        /\\d/,\n        /\\d/,\n        /\\d/,\n        /\\d/,\n        ' ',\n        '-',\n        ' ',\n        /\\d/,\n        /\\d/,\n        '.',\n        /\\d/,\n        /\\d/,\n        '.',\n        /\\d/,\n        /\\d/,\n        /\\d/,\n        /\\d/,\n    ];\n};\n","import { AuthErrorTypeEnum } from 'common/utils/api/auth/errors/auth-api-error';\n\nexport enum FieldsEnum {\n    email = 'email',\n    password = 'password',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.email]: string;\n    [FieldsEnum.password]: string;\n};\n\nexport type AsyncFormErrorsT = Partial<{\n    [FieldsEnum.email]: AuthErrorTypeEnum.userNotFound | AuthErrorTypeEnum.userDisabled | AuthErrorTypeEnum.wrongRole;\n    [FieldsEnum.password]: AuthErrorTypeEnum.wrongPassword;\n}>;\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import {\n    AssignActionT,\n    AssignBeginActionT,\n    AssignErrorActionT,\n    ASSIGNMENT_REQUEST,\n    ASSIGNMENT_REQUEST_BEGIN,\n    ASSIGNMENT_REQUEST_ERROR,\n    ASSIGNMENT_REQUEST_SUCCESS,\n    AssignSuccessActionT,\n    RE_ASSIGNMENT_REQUEST,\n    RE_ASSIGNMENT_REQUEST_BEGIN,\n    RE_ASSIGNMENT_REQUEST_ERROR,\n    RE_ASSIGNMENT_REQUEST_SUCCESS,\n    ReAssignActionT,\n    ReAssignBeginActionT,\n    ReAssignErrorActionT,\n    ReAssignSuccessActionT,\n    RESET,\n    ResetActionT,\n} from './types';\n\nexport const assign = (transportationOrderId: TransportOrderIdT, driverIds: DriverIdT[]): AssignActionT => ({\n    type: ASSIGNMENT_REQUEST,\n    driverIds,\n    transportationOrderId,\n});\n\nexport const assignBegin = (): AssignBeginActionT => ({\n    type: ASSIGNMENT_REQUEST_BEGIN,\n});\n\nexport const assignSuccess = (): AssignSuccessActionT => ({\n    type: ASSIGNMENT_REQUEST_SUCCESS,\n});\n\nexport const assignError = (error: Error): AssignErrorActionT => ({\n    type: ASSIGNMENT_REQUEST_ERROR,\n    error,\n});\n\nexport const reAssign = (\n    transportationOrderId: TransportOrderIdT | undefined,\n    driverIds: DriverIdT[],\n): ReAssignActionT => ({\n    type: RE_ASSIGNMENT_REQUEST,\n    driverIds,\n    transportationOrderId,\n});\n\nexport const reAssignBegin = (): ReAssignBeginActionT => ({\n    type: RE_ASSIGNMENT_REQUEST_BEGIN,\n});\n\nexport const reAssignSuccess = (): ReAssignSuccessActionT => ({\n    type: RE_ASSIGNMENT_REQUEST_SUCCESS,\n});\n\nexport const reAssignError = (error: Error): ReAssignErrorActionT => ({\n    type: RE_ASSIGNMENT_REQUEST_ERROR,\n    error,\n});\n\nexport const resetDriverAssignment = (): ResetActionT => ({\n    type: RESET,\n});\n","import React, { MouseEvent } from 'react';\nimport { Link as RRDLink, LinkProps } from 'react-router-dom';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './Link.scss';\n\nconst cx = classNames.bind(styles);\n\ntype LinkToObjT = LinkProps<HistoryStateT>['to'];\n\nexport type LinkToT = string | LinkToObjT;\n\nexport type LinkPropsT = {\n    className?: string;\n    testSelector?: string;\n    theme: LinkThemeEnum;\n    size?: LinkSizeEnum;\n    isExternal?: boolean;\n    isUppercase?: boolean;\n    to?: LinkToT;\n    target?: string;\n    onClick?: (event: MouseEvent<HTMLDivElement>) => void;\n};\n\nexport enum LinkThemeEnum {\n    charcoal = 'charcoal',\n    boldCharcoal = 'bold-charcoal',\n    boldAzul = 'bold-azul',\n    boldBrandDark = 'bold-brand-dark',\n    boldWhite = 'bold-white',\n    boldTomatoRed = 'bold-tomato-red',\n    boldBrandAccent = 'bold-brand-accent',\n    boldOrange = 'bold-orange',\n}\n\nexport enum LinkSizeEnum {\n    large = 'large',\n    medium = 'medium',\n    small = 'small',\n    preExtraSmall = 'pre-extra-small',\n    extraSmall = 'extra-small',\n}\n\nconst Link: React.FC<LinkPropsT> = React.memo((props) => {\n    const { testSelector, theme, className, isUppercase, isExternal, to, children, onClick, size, ...rest } = props;\n\n    const linkProps = {\n        ...rest,\n        className: cs(\n            className,\n            cx('link', {\n                [`link--theme-${theme}`]: !!theme,\n                [`link--size-${size}`]: !!size,\n                'link--uppercase': !!isUppercase,\n            }),\n        ),\n        'data-test-selector': `${testSelector}_link`,\n    };\n\n    if (!to && onClick) {\n        return (\n            <span {...linkProps} onClick={onClick}>\n                {children}\n            </span>\n        );\n    }\n\n    if (isExternal) {\n        return (\n            <a {...linkProps} href={to as string}>\n                {children}\n            </a>\n        );\n    }\n\n    return (\n        <RRDLink {...linkProps} to={to as LinkToT}>\n            {children}\n        </RRDLink>\n    );\n});\n\nexport default Link;\n","import { MS_IN_SEC } from 'common/utils/time';\n\nexport const VEHICLE_SCHEDULE_TTL = 30 * MS_IN_SEC;\n","// extracted by mini-css-extract-plugin\nexport default {\"alert\":\"Members__alert___Lxxiy\",\"fadeIn\":\"Members__fadeIn___b0ECn\",\"blinking\":\"Members__blinking___C8fe0\"};","import React from 'react';\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport MaskedInput from 'react-text-mask';\n\nimport styles from './Input.scss';\nimport CloseIcon from 'common/icons/CloseIcon';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport useTestSelector from 'common/utils/hooks/useTestSelector';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport ClickInterceptorLabel from 'common/components/ClickInterceptorLabel/ClickInterceptorLabel';\n\nconst cx = classNames.bind(styles);\n\ntype ValueT = string;\n\nexport type InputFormatterT = (value: ValueT) => string;\n\nexport type IconMetaT = {\n    isLoading: boolean;\n    isDisabled: boolean;\n    isFocused: boolean;\n    hasError: boolean;\n    hasWarning: boolean;\n    hasSuccess: boolean;\n    isHighlighted: boolean;\n    hasValue: boolean;\n};\n\nexport type PropsT = {\n    className?: string;\n    name: string;\n    value: ValueT;\n    rightNode?: React.ReactNode;\n    type?: string;\n    renderLeftIcon?: (meta: IconMetaT) => React.ReactNode;\n    renderRightIcon?: (meta: IconMetaT) => React.ReactNode;\n    isLoading?: boolean;\n    placeholder?: string;\n    onChange: (value: ValueT) => void;\n    onBlur?: () => void;\n    onFocus?: () => void;\n    onKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n    onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n    hasError?: boolean;\n    hasWarning?: boolean;\n    hasSuccess?: boolean;\n    autoFocus?: boolean;\n    isDisabled?: boolean;\n    isFocused?: boolean;\n    formatter?: InputFormatterT;\n    mask?: MaskT;\n    guide?: boolean;\n    isHighlighted?: boolean;\n    isTransparent?: boolean;\n    hasChanges?: boolean;\n    autoComplete?: string;\n    hasClearControl?: boolean;\n    testSelectorPrefix?: string;\n    spaces?: 'xs' | 's';\n};\n\nconst Input: React.FC<PropsT> = React.memo((props) => {\n    const {\n        value,\n        name,\n        rightNode,\n        type,\n        placeholder,\n        onChange,\n        onBlur,\n        onFocus,\n        onKeyUp,\n        onKeyDown,\n        renderLeftIcon,\n        renderRightIcon,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        autoFocus,\n        isLoading,\n        isDisabled,\n        isFocused: isForceFocused,\n        formatter,\n        mask,\n        className,\n        guide = true,\n        hasChanges,\n        autoComplete,\n        isHighlighted,\n        isTransparent,\n        hasClearControl,\n        testSelectorPrefix,\n        spaces,\n    } = props;\n\n    const [isFocused, setFocused] = React.useState<boolean>(false);\n    const [isHovered, setHovered] = React.useState<boolean>(false);\n\n    const handleChange = (event: React.FormEvent<HTMLInputElement>): void => {\n        const sourceValue = event.currentTarget.value || '';\n        const formattedValue = formatter ? formatter(sourceValue) : sourceValue;\n        onChange(formattedValue);\n    };\n\n    const handleReset = () => {\n        onChange('');\n    };\n\n    const handleBlur = (): void => {\n        setFocused(false);\n\n        if (onBlur) {\n            onBlur();\n        }\n    };\n\n    const handleFocus = (): void => {\n        setFocused(true);\n\n        if (onFocus) {\n            onFocus();\n        }\n    };\n\n    const handleMouseMove = (): void => {\n        if (!isHovered) {\n            setHovered(true);\n        }\n    };\n\n    const handleMouseLeave = (): void => {\n        setHovered(false);\n    };\n\n    const isEmpty = !value;\n\n    const testSelector = useTestSelector(testSelectorPrefix || name, 'input');\n    const resetControlTestSelector = useTestSelector(testSelector, 'reset');\n\n    const inputProps: React.InputHTMLAttributes<HTMLInputElement> = {\n        autoFocus: !!autoFocus,\n        onChange: handleChange,\n        onBlur: handleBlur,\n        onFocus: handleFocus,\n        onKeyUp,\n        onKeyDown,\n        name,\n        value: value || '',\n        type,\n        className: cx('inner-input', {\n            'inner-input--isEmpty': isEmpty,\n            'inner-input--isDisabled': isDisabled,\n        }),\n        placeholder,\n        disabled: isDisabled,\n        autoComplete: autoComplete || 'off',\n        // @ts-ignore\n        'data-test-selector': testSelector,\n    };\n\n    const showClearControl = !!value && !isLoading && hasClearControl;\n\n    return (\n        <div\n            onMouseMove={handleMouseMove}\n            onMouseLeave={handleMouseLeave}\n            className={cs(\n                cx('input', {\n                    'input--hasWarning': hasWarning,\n                    'input--hasSuccess': hasSuccess,\n                    'input--hasChanges': hasChanges,\n                    'input--isHighlighted': isHighlighted,\n                    'input--hasError': hasError,\n                    'input--hasLeftIcon': !!renderLeftIcon,\n                    'input--hasRightNode': !!renderRightIcon || !!rightNode || showClearControl || isLoading,\n                    'input--isDisabled': isDisabled,\n                    'input--isHovered': isHovered,\n                    'input--isTransparent': isTransparent,\n                    'input--isFocused': isFocused || isForceFocused,\n                    [`input--spaces-${spaces}`]: true,\n                }),\n                className,\n            )}\n        >\n            {renderLeftIcon && (\n                <div className={cx('icon', 'icon--isLeft')}>\n                    {renderLeftIcon({\n                        isLoading: !!isLoading,\n                        isDisabled: !!isDisabled,\n                        isFocused,\n                        hasError: !!hasError,\n                        hasWarning: !!hasWarning,\n                        hasSuccess: !!hasSuccess,\n                        isHighlighted: !!isHighlighted,\n                        hasValue: !isEmpty,\n                    })}\n                </div>\n            )}\n            {mask ? <MaskedInput guide={guide} mask={mask} {...inputProps} /> : <input {...inputProps} />}\n            {rightNode && (\n                <div\n                    className={cx('right-node', {\n                        'right-node--isEmpty': isEmpty,\n                        'right-node--hasRightNode': rightNode,\n                    })}\n                >\n                    {rightNode}\n                </div>\n            )}\n            {showClearControl && (\n                <ClickInterceptorLabel className={cx('control', 'control--isClickable')}>\n                    <TransparentTrigger\n                        spaces=\"xxs\"\n                        onClick={handleReset}\n                        testSelector={resetControlTestSelector}\n                        leftIcon={<CloseIcon fillColor=\"currentColor\" />}\n                        reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                    />\n                </ClickInterceptorLabel>\n            )}\n            {isLoading && (\n                <div className={cx('control')}>\n                    <ControlLoaderIcon fillColor={StyleGuideColorsEnum.brandAccent} size={DEFAULT_ICON_SIZE} />\n                </div>\n            )}\n            {renderRightIcon && (\n                <div className={cx('icon', 'icon--isRight')}>\n                    {renderRightIcon({\n                        isLoading: !!isLoading,\n                        isDisabled: !!isDisabled,\n                        isFocused,\n                        hasError: !!hasError,\n                        hasWarning: !!hasWarning,\n                        hasSuccess: !!hasSuccess,\n                        isHighlighted: !!isHighlighted,\n                        hasValue: !isEmpty,\n                    })}\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default Input;\n","// extracted by mini-css-extract-plugin\nexport default {\"field--name\":\"ShipperContractDetails__field--name___pn7GK\",\"field--number\":\"ShipperContractDetails__field--number___ixFoo\",\"field--activate-date\":\"ShipperContractDetails__field--activate-date___LHk2Q\",\"field--valid-till\":\"ShipperContractDetails__field--valid-till___wezz4\",\"field--orders-left\":\"ShipperContractDetails__field--orders-left___j89hF\",\"field--file\":\"ShipperContractDetails__field--file___oTCGF\",\"fadeIn\":\"ShipperContractDetails__fadeIn___rIS8l\",\"blinking\":\"ShipperContractDetails__blinking___DoCKM\"};","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"RouteDetailsCard__table___ttUjt\",\"fadeIn\":\"RouteDetailsCard__fadeIn___ClHDa\",\"blinking\":\"RouteDetailsCard__blinking___m99PS\"};","import * as React from 'react';\nimport ColoredStatusLabel from 'common/components/ColoredStatusLabel/ColoredStatusLabel';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n};\n\nconst FormUnsavedValuesColoredStatus: React.FC<PropsT> = React.memo((props) => {\n    const { t } = useTranslation();\n\n    return <ColoredStatusLabel label={t('common:status.not-saved')} color={StyleGuideColorsEnum.orange} {...props} />;\n});\n\nexport default FormUnsavedValuesColoredStatus;\n","import { TFunction } from 'i18next';\nimport { FormErrorsT, FormValuesT } from './constants';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst validate = (t: TFunction, values: FormValuesT): FormErrorsT => {\n    const errors: FormErrorsT = {};\n\n    return errors;\n};\n\nexport default validate;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ControlsCell__wrap___IfmJO\",\"fadeIn\":\"ControlsCell__fadeIn___VhK8W\",\"blinking\":\"ControlsCell__blinking___sMS7H\"};","import { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { getDateFromDate, getEndDayFromDateZero, getStartDayFromDateZero } from 'common/utils/time';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport { OrderTypeEnum } from './OrderTypeDropdown/OrderTypeDropdown';\nimport { TransportOrderTypeEnum } from './TransportOrderTypeDropdown/TransportOrderTypeDropdown';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {\n        [QueryFiltersKeysEnum.originAddress]: simpleStringFormatter(values[FieldsEnum.originAddress]) || undefined,\n        [QueryFiltersKeysEnum.dropoffAddress]: simpleStringFormatter(values[FieldsEnum.dropOffAddress]) || undefined,\n\n        [QueryFiltersKeysEnum.dispatcherId]: values[FieldsEnum.dispatcherId] || undefined,\n        [QueryFiltersKeysEnum.dispatcherName]: values[FieldsEnum.dispatcherName] || undefined,\n\n        [QueryFiltersKeysEnum.keyAccountManagerId]: values[FieldsEnum.keyAccountManagerId] || undefined,\n        [QueryFiltersKeysEnum.keyAccountManagerName]: values[FieldsEnum.keyAccountManagerName] || undefined,\n\n        [QueryFiltersKeysEnum.shipperId]: values[FieldsEnum.shipperId] || undefined,\n        [QueryFiltersKeysEnum.shipperName]: values[FieldsEnum.shipperName] || undefined,\n\n        [QueryFiltersKeysEnum.carrierId]: values[FieldsEnum.carrierId] || undefined,\n        [QueryFiltersKeysEnum.carrierName]: values[FieldsEnum.carrierName] || undefined,\n\n        [QueryFiltersKeysEnum.dictTrailerId]: values[FieldsEnum.dictTrailerId] || undefined,\n\n        [QueryFiltersKeysEnum.spotOrder]: values[FieldsEnum.ordersType] === OrderTypeEnum.spot || undefined,\n        [QueryFiltersKeysEnum.contractedOrder]: values[FieldsEnum.ordersType] === OrderTypeEnum.contracted || undefined,\n        [QueryFiltersKeysEnum.spotTransportOrder]:\n            values[FieldsEnum.transportOrdersType] === TransportOrderTypeEnum.spot || undefined,\n        [QueryFiltersKeysEnum.contractedTransportOrder]:\n            values[FieldsEnum.transportOrdersType] === TransportOrderTypeEnum.contracted || undefined,\n\n        [QueryFiltersKeysEnum.hasUnpaidOrders]: values[FieldsEnum.hasUnpaidOrders] || undefined,\n\n        [QueryFiltersKeysEnum.pickupDateFrom]: undefined,\n        [QueryFiltersKeysEnum.pickupDateTo]: undefined,\n\n        [QueryFiltersKeysEnum.dropOffDateFrom]: undefined,\n        [QueryFiltersKeysEnum.dropOffDateTo]: undefined,\n\n        [QueryFiltersKeysEnum.createdDateFrom]: undefined,\n        [QueryFiltersKeysEnum.createdDateTo]: undefined,\n    };\n\n    const pickupDates = values[FieldsEnum.pickupDates];\n    if (pickupDates?.from) {\n        const date = getDateFromDate(pickupDates.from);\n        queryFilters[QueryFiltersKeysEnum.pickupDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (pickupDates?.to) {\n        const date = getDateFromDate(pickupDates.to);\n        queryFilters[QueryFiltersKeysEnum.pickupDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const dropoffDates = values[FieldsEnum.dropoffDates];\n    if (dropoffDates?.from) {\n        const date = getDateFromDate(dropoffDates.from);\n        queryFilters[QueryFiltersKeysEnum.dropOffDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (dropoffDates?.to) {\n        const date = getDateFromDate(dropoffDates.to);\n        queryFilters[QueryFiltersKeysEnum.dropOffDateTo] = getEndDayFromDateZero(date);\n    }\n\n    const createDates = values[FieldsEnum.createDates];\n    if (createDates?.from) {\n        const date = getDateFromDate(createDates.from);\n        queryFilters[QueryFiltersKeysEnum.createdDateFrom] = getStartDayFromDateZero(date);\n    }\n\n    if (createDates?.to) {\n        const date = getDateFromDate(createDates.to);\n        queryFilters[QueryFiltersKeysEnum.createdDateTo] = getEndDayFromDateZero(date);\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","// extracted by mini-css-extract-plugin\nexport default {\"group\":\"RulePreview__group___aWaco\",\"group-head\":\"RulePreview__group-head___Ffnxp\",\"group-title\":\"RulePreview__group-title___MdoBa\",\"group-summary\":\"RulePreview__group-summary___u2Vh0\",\"rules\":\"RulePreview__rules___SS2jL\",\"rule-category-pills\":\"RulePreview__rule-category-pills___yShPO\",\"rule-category-title\":\"RulePreview__rule-category-title___NBxVS\",\"rule-category-title--ignored\":\"RulePreview__rule-category-title--ignored___Ozzl4\",\"rule-category-title--ignored-not-actual\":\"RulePreview__rule-category-title--ignored-not-actual___DT5tN\",\"rule-category-title--new\":\"RulePreview__rule-category-title--new___DZQFJ\",\"rule-pill\":\"RulePreview__rule-pill___mudm3\",\"type-pill\":\"RulePreview__type-pill___FGfJb\",\"fadeIn\":\"RulePreview__fadeIn___pMgyf\",\"blinking\":\"RulePreview__blinking___sEc3p\"};","// extracted by mini-css-extract-plugin\nexport default {\"textarea\":\"Textarea__textarea___e8OSo\",\"textarea--isTransparent\":\"Textarea__textarea--isTransparent___RBXsZ\",\"textarea--isHovered\":\"Textarea__textarea--isHovered___ZL6SB\",\"textarea--isFocused\":\"Textarea__textarea--isFocused___oqtKe\",\"textarea--isEmpty\":\"Textarea__textarea--isEmpty___oiL5T\",\"textarea--hasSuccess\":\"Textarea__textarea--hasSuccess___qIFMk\",\"textarea--hasWarning\":\"Textarea__textarea--hasWarning___kBECa\",\"textarea--hasChanges\":\"Textarea__textarea--hasChanges___Cqwzl\",\"textarea--isHighlighted\":\"Textarea__textarea--isHighlighted___mjUR5\",\"textarea--hasError\":\"Textarea__textarea--hasError___z7VAg\",\"textarea--isDisabled\":\"Textarea__textarea--isDisabled____C18u\",\"inner-textarea\":\"Textarea__inner-textarea___ZmAW2\",\"inner-textarea--isEmpty\":\"Textarea__inner-textarea--isEmpty___motr8\",\"inner-textarea--isDisabled\":\"Textarea__inner-textarea--isDisabled___Vjext\",\"fadeIn\":\"Textarea__fadeIn___CrfcE\",\"blinking\":\"Textarea__blinking___lCKBj\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './DriversAssignmentFooterContent.scss';\nimport DriversAssignmentForm from '../../DriversAssignmentForm/DriversAssignmentForm';\nimport { TransportOrderDetailsT } from 'common/store/transport-order-details/models';\nimport { RequestStatusT } from 'common/utils/request-status';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    transportOrderId: TransportOrderIdT;\n    transportOrderDetails: TransportOrderDetailsT | null | undefined;\n    onCancel: () => void;\n    isAvailableToUnassignDriver: boolean;\n    unnassignDriversRequestStatus: RequestStatusT;\n    onUnnasignDrivers: () => void;\n};\n\nconst DriversAssignmentFooterContent: React.FC<PropsT> = React.memo((props) => {\n    const {\n        onCancel,\n        transportOrderId,\n        transportOrderDetails,\n        className,\n        isAvailableToUnassignDriver,\n        unnassignDriversRequestStatus,\n        onUnnasignDrivers,\n    } = props;\n\n    if (!transportOrderDetails) {\n        return null;\n    }\n\n    return (\n        <div className={cs(cx('content'), className)}>\n            <DriversAssignmentForm\n                transportOrderId={transportOrderId}\n                transportOrderDetails={transportOrderDetails}\n                onCancel={onCancel}\n                isAllowUnassignDriver={isAvailableToUnassignDriver}\n                unnassignDriversRequestStatus={unnassignDriversRequestStatus}\n                onUnnasignDrivers={onUnnasignDrivers}\n            />\n        </div>\n    );\n});\n\nexport default DriversAssignmentFooterContent;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst ContactIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M10.877 4L14.5 7.622V16h-9V4h5.377M10 11.5c.825 0 1.5-.675 1.5-1.5s-.675-1.5-1.5-1.5-1.5.675-1.5 1.5.675 1.5 1.5 1.5zm3 2.572c0-.607-.36-1.147-.915-1.387a5.213 5.213 0 00-4.17 0c-.555.24-.915.78-.915 1.387v.428h6v-.428z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M10.877 4L14.5 7.622V16h-9V4h5.377m.623-1.5h-6C4.675 2.5 4 3.175 4 4v12c0 .825.675 1.5 1.5 1.5h9c.825 0 1.5-.675 1.5-1.5V7l-4.5-4.5zm-1.5 9c.825 0 1.5-.675 1.5-1.5s-.675-1.5-1.5-1.5-1.5.675-1.5 1.5.675 1.5 1.5 1.5zm3 2.572c0-.607-.36-1.147-.915-1.387a5.213 5.213 0 00-4.17 0c-.555.24-.915.78-.915 1.387v.428h6v-.428z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nContactIcon.displayName = 'ContactIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default ContactIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"table--id\":\"ShipmentDetailsCard__table--id___efHNC\",\"table--po\":\"ShipmentDetailsCard__table--po___Tiqht\",\"table--point\":\"ShipmentDetailsCard__table--point___WB881\",\"table--shipment\":\"ShipmentDetailsCard__table--shipment___hpvHC\",\"table\":\"ShipmentDetailsCard__table___vX2Dj\",\"fadeIn\":\"ShipmentDetailsCard__fadeIn___qdXZC\",\"blinking\":\"ShipmentDetailsCard__blinking___lmAzH\"};","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n    className?: string;\n};\n\nconst CalendarIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, strokeColor, className } = props;\n\n    return (\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n            width={size}\n            height={size}\n            className={className}\n            viewBox=\"0 0 20 20\"\n        >\n            <defs>\n                <path\n                    id=\"4oz2u0ytpa\"\n                    d=\"M6.667 1.667v1.666h6.666V1.667H15v1.666h.833c.917 0 1.667.75 1.667 1.667v11.667c0 .916-.75 1.666-1.667 1.666H4.167c-.925 0-1.667-.75-1.667-1.666L2.508 5a1.66 1.66 0 011.659-1.667H5V1.667h1.667zM15.833 7.5H4.167v9.167h11.666V7.5zM7.5 9.167v1.666H5.833V9.167H7.5zm3.333 0v1.666H9.167V9.167h1.666zm3.334 0v1.666H12.5V9.167h1.667zM15.833 5H4.167v1.667h11.666V5z\"\n                />\n                <path id=\"axmp3dnelb\" d=\"M4.167 6.667h11.666V5H4.167z\" />\n            </defs>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <use fill={strokeColor} xlinkHref=\"#4oz2u0ytpa\" />\n                <use fill={fillColor} xlinkHref=\"#axmp3dnelb\" />\n            </g>\n        </svg>\n    );\n};\n\nCalendarIcon.displayName = 'CalendarIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default CalendarIcon;\n\nexport const CalendarIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.white,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.brandAccent : StyleGuideColorsEnum.white,\n            strokeColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.light,\n        };\n    },\n};\n","import { ApiCompanyContactDetailsT, PartnerTypeEnum } from 'common/utils/api/models';\n\nexport const contactDetailsCompanyTypeMap: Record<\n    NonNullable<ApiCompanyContactDetailsT['companyType']>,\n    PartnerTypeEnum\n> = {\n    SHIPPER: PartnerTypeEnum.shipper,\n    BROKER: PartnerTypeEnum.broker,\n    CARRIER: PartnerTypeEnum.carrier,\n};\n","const concatTestSelectors = (testSelectors: Array<string | null | undefined>): string => {\n    let result = '';\n\n    testSelectors.forEach((testSelector) => {\n        if (testSelector) {\n            result += `${result ? '_' : ''}${testSelector}`;\n        }\n    });\n\n    return result;\n};\n\nexport { concatTestSelectors };\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst AccountIcon: React.FC<PropsT> = (props) => {\n    const { size, fillColor, strokeColor } = props;\n    return (\n        <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    d=\"M10 8.575a1.575 1.575 0 1 0 0-3.15 1.575 1.575 0 0 0 0 3.15zm0 3.6c-2.228 0-4.575 1.095-4.575 1.575v.825h9.15v-.825c0-.48-2.348-1.575-4.575-1.575z\"\n                    fillOpacity=\".3\"\n                    fill={fillColor}\n                />\n                <path\n                    d=\"M10 10.75c-2.003 0-6 1.005-6 3V16h12v-2.25c0-1.995-3.998-3-6-3zm4.575 3.825h-9.15v-.825c0-.48 2.348-1.575 4.575-1.575 2.227 0 4.575 1.095 4.575 1.575v.825zM10 10a3 3 0 1 0 0-6 3 3 0 1 0 0 6zm0-4.575a1.575 1.575 0 1 1 0 3.15 1.575 1.575 0 0 1 0-3.15z\"\n                    fill={strokeColor}\n                />\n            </g>\n        </svg>\n    );\n};\n\nAccountIcon.displayName = 'AccountIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    fillColor: StyleGuideColorsEnum.brandAccent,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport const AccountIconProps = {\n    getControlProps: ({\n        isDisabled,\n        isFocused,\n        hasError,\n        hasWarning,\n        hasSuccess,\n        hasValue,\n    }: {\n        isDisabled?: boolean;\n        isFocused?: boolean;\n        hasError?: boolean;\n        hasWarning?: boolean;\n        hasSuccess?: boolean;\n        hasValue?: boolean;\n    }): PropsT => {\n        if (hasError) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.tomatoRed,\n            };\n        }\n\n        if (hasWarning) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.orange,\n            };\n        }\n\n        if (hasSuccess) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n\n        if (isDisabled) {\n            return {\n                size: DEFAULT_ICON_SIZE,\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n\n        return {\n            size: DEFAULT_ICON_SIZE,\n            fillColor: hasValue || isFocused ? StyleGuideColorsEnum.brandAccent5 : StyleGuideColorsEnum.light,\n            strokeColor: hasValue || isFocused ? StyleGuideColorsEnum.brandDark : StyleGuideColorsEnum.gray,\n        };\n    },\n};\n\nexport { storyProps };\nexport default AccountIcon;\n","import { FieldsEnum, FormValuesT } from './constants';\nimport { simpleStringFormatter } from 'common/utils/form-formatters';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from 'common/layouts/TrucksPageLayout/query-models';\nimport { getStartDayFromDateZero, getEndDayFromDateZero, getDateFromDate } from 'common/utils/time';\n\nconst getQueryFilters = (values: FormValuesT): QueryFiltersT => {\n    const queryFilters: QueryFiltersT = {\n        [QueryFiltersKeysEnum.model]: values[FieldsEnum.model] || undefined,\n        [QueryFiltersKeysEnum.contractId]: values[FieldsEnum.contractId] || undefined,\n        [QueryFiltersKeysEnum.contractName]: values[FieldsEnum.contractName] || undefined,\n        [QueryFiltersKeysEnum.status]: values[FieldsEnum.status] || undefined,\n        [QueryFiltersKeysEnum.emissionClass]: values[FieldsEnum.emissionClass] || undefined,\n        [QueryFiltersKeysEnum.country]: values[FieldsEnum.country] || undefined,\n        [QueryFiltersKeysEnum.createdByUserId]: values[FieldsEnum.createdByUserId] || undefined,\n        [QueryFiltersKeysEnum.createdByUserName]: values[FieldsEnum.createdByUserName] || undefined,\n        [QueryFiltersKeysEnum.lastModifyByUserId]: values[FieldsEnum.lastModifyByUserId] || undefined,\n        [QueryFiltersKeysEnum.lastModifyByUserName]: values[FieldsEnum.lastModifyByUserName] || undefined,\n    };\n\n    if (values[FieldsEnum.plateNumber]) {\n        queryFilters[QueryFiltersKeysEnum.plateNumber] = simpleStringFormatter(values[FieldsEnum.plateNumber]);\n    }\n\n    const createDates = values[FieldsEnum.createDates];\n    if (createDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.createdDateFrom] = getStartDayFromDateZero(getDateFromDate(createDates.from));\n    }\n    if (createDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.createdDateTo] = getEndDayFromDateZero(getDateFromDate(createDates.to));\n    }\n\n    const lastModifyDates = values[FieldsEnum.lastModifyDates];\n    if (lastModifyDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.lastModifyDateFrom] = getStartDayFromDateZero(\n            getDateFromDate(lastModifyDates.from),\n        );\n    }\n    if (lastModifyDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.lastModifyDateTo] = getEndDayFromDateZero(\n            getDateFromDate(lastModifyDates.to),\n        );\n    }\n\n    const lastTelematicUpdateDates = values[FieldsEnum.lastTelematicUpdateDates];\n    if (lastTelematicUpdateDates?.from) {\n        queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateFrom] = getStartDayFromDateZero(\n            getDateFromDate(lastTelematicUpdateDates.from),\n        );\n    }\n    if (lastTelematicUpdateDates?.to) {\n        queryFilters[QueryFiltersKeysEnum.lastTelematicUpdateDateTo] = getEndDayFromDateZero(\n            getDateFromDate(lastTelematicUpdateDates.to),\n        );\n    }\n\n    return queryFilters;\n};\n\nexport default getQueryFilters;\n","import * as React from 'react';\nimport isNumber from 'lodash/isNumber';\n\ntype PropsT = {\n    lowestTemperature?: number | null | undefined;\n    highestTemperature?: number | null | undefined;\n};\n\nconst TemperatureModeFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { lowestTemperature, highestTemperature } = props;\n\n    const label =\n        isNumber(lowestTemperature) && isNumber(highestTemperature)\n            ? `${lowestTemperature}...${highestTemperature} °C`\n            : null;\n\n    return <span>{label}</span>;\n});\n\nexport default TemperatureModeFormatter;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RadiusDropdown.scss';\n\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport { StyleGuideColorsEnum, UnitTypeEnum } from 'common/constants';\nimport DropdownControlOptionLabel from 'design-system/components/dropdowns/option/DropdownControlOptionLabel/DropdownControlOptionLabel';\nimport GeoAreaIcon from 'common/icons/GeoAreaIcon';\nimport DropdownInput from 'design-system/components/dropdowns/DropdownInput/DropdownInput';\nimport UnitTypeCount from 'common/components/units/UnitTypeCount/UnitTypeCount';\nimport { useSelector } from 'react-redux';\nimport { selectAssignmentRadiuses } from 'broker-admin/store/settings/selectors';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype RadiusT = number | null;\n\nexport type RadiusOptionT = {\n    label: React.ReactNode;\n    value: RadiusT;\n};\n\ntype PropsT = {\n    className?: string;\n    radius: RadiusT;\n    setRadius: (radius: RadiusT) => void;\n};\n\nconst RadiusDropdown: React.FC<PropsT> = React.memo((props) => {\n    const { className, radius, setRadius } = props;\n\n    const assignmentRadiuses = useSelector(selectAssignmentRadiuses);\n\n    const radiusOptions: Array<RadiusOptionT> = React.useMemo(\n        () =>\n            assignmentRadiuses.map((radius) => ({\n                label: <UnitTypeCount count={radius} type={UnitTypeEnum.kilometersAbbreviation} />,\n                value: radius,\n            })),\n        [assignmentRadiuses],\n    );\n\n    return (\n        <DropdownInput<RadiusOptionT, RadiusOptionT['value']>\n            className={className}\n            selectedValue={radius}\n            options={radiusOptions}\n            onSelect={setRadius}\n            renderOption={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return <DropdownControlOptionLabel withoutPaddings label={option.label} />;\n            }}\n            renderTriggerContent={(option) => {\n                if (!option) {\n                    return null;\n                }\n\n                return (\n                    <DropdownControlOptionLabel\n                        withoutPaddings\n                        icon={<GeoAreaIcon fillColor={StyleGuideColorsEnum.brandDark} />}\n                        label={option.label}\n                    />\n                );\n            }}\n            getOptionValue={(option) => option?.value}\n            overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n        />\n    );\n});\n\nexport default RadiusDropdown;\n","import { ApiPriceComponentTypeT, ApiPriceSettingsRuleOperationT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { CountryCodeT } from 'common/store/countries-dict/models';\nimport { ApiPriceRuleTypeRequestT } from 'common/utils/api/models';\n\nexport enum FieldsEnum {\n    name = 'name',\n    types = 'types',\n\n    trailerTypeIds = 'trailer-type-ids',\n\n    partnerIds = 'partner-ids',\n\n    fromCountryCodes = 'from-country-codes',\n\n    toCountryCodes = 'to-country-codes',\n\n    priceComponent = 'price-component',\n    priceOperation = 'price-operation',\n\n    createDates = 'create-dates',\n    createdByUserId = 'create-dated-by-user-id',\n    createdByUserName = 'create-dated-by-user-name',\n\n    lastModifyDates = 'last-modify-dates',\n    lastModifyByUserId = 'last-modify-by-user-id',\n    lastModifyByUserName = 'last-modify-by-user-name',\n\n    validFrom = 'valid-from',\n    validTill = 'valid-till',\n}\n\nexport type FormValuesT = {\n    [FieldsEnum.name]: string;\n    [FieldsEnum.types]: Array<ApiPriceRuleTypeRequestT>;\n\n    [FieldsEnum.trailerTypeIds]: Array<TrailerDictIdT>;\n\n    [FieldsEnum.partnerIds]: Array<ShipperIdT>;\n\n    [FieldsEnum.fromCountryCodes]: Array<CountryCodeT>;\n\n    [FieldsEnum.toCountryCodes]: Array<CountryCodeT>;\n\n    [FieldsEnum.priceComponent]: Array<ApiPriceComponentTypeT>;\n    [FieldsEnum.priceOperation]: Array<ApiPriceSettingsRuleOperationT>;\n\n    [FieldsEnum.createDates]: DateRangeT | null;\n    [FieldsEnum.createdByUserId]: Array<UserIdT>;\n    [FieldsEnum.createdByUserName]: Array<string>;\n\n    [FieldsEnum.lastModifyDates]: DateRangeT | null;\n    [FieldsEnum.lastModifyByUserId]: Array<UserIdT>;\n    [FieldsEnum.lastModifyByUserName]: Array<string>;\n\n    [FieldsEnum.validFrom]: DateRangeT | null;\n    [FieldsEnum.validTill]: DateRangeT | null;\n};\n\nexport type FormErrorsT = Partial<Record<FieldsEnum, string>>;\n","import { getContextRoutePointHash } from 'broker-admin/store/order-edit/utils/get-context-route-point-hash';\nimport { ContextRoutePointHashT } from 'broker-admin/store/order-edit/models';\nimport { ApiEditOrderContextT } from 'broker-admin/utils/api/broker-tranziit/models';\n\nexport const getAddedStopHashes = (\n    prevContext: ApiEditOrderContextT | null,\n    contextAfterModify: ApiEditOrderContextT | null,\n): Array<ContextRoutePointHashT> => {\n    const prevStopsHashes =\n        prevContext?.tours\n            ?.flatMap((tour) => {\n                return tour?.stops || [];\n            })\n            .map((stop) => getContextRoutePointHash(stop)) || [];\n\n    const contextStopsHashes =\n        contextAfterModify?.tours\n            ?.flatMap((tour) => {\n                return tour?.stops || [];\n            })\n            .map((stop) => getContextRoutePointHash(stop)) || [];\n\n    return contextStopsHashes.filter((hash) => !prevStopsHashes.includes(hash));\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"route-point-pin\":\"RouteEditMap__route-point-pin___QFjQt\",\"route-point-pin--number\":\"RouteEditMap__route-point-pin--number___VvfAQ\",\"route-point-pin--ferry\":\"RouteEditMap__route-point-pin--ferry___SXpLQ\",\"exclude-countries\":\"RouteEditMap__exclude-countries___LAoDo\",\"fadeIn\":\"RouteEditMap__fadeIn___LkY4W\",\"blinking\":\"RouteEditMap__blinking___Un2rE\"};","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './FiltersSidebarContent.scss';\nimport { useTranslation } from 'react-i18next';\nimport { useFormik } from 'formik';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport getQueryFilters from './get-query-filters';\nimport getInitialValues from './get-initial-values';\nimport { QueryFiltersKeysEnum, QueryFiltersT } from '../query-models';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport FooterSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/FooterSideBarLayout/FooterSideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport { isDeepEqual } from 'common/utils/deep-equal';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport Input from 'common/components/Input/Input';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchTrailersDict } from 'common/store/trailers-dict/actions';\nimport CarrierDropdown from 'broker-admin/components/dropdowns/CarrierDropdown/CarrierDropdown';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport ShipperSuggest from 'broker-admin/components/dropdowns/ShipperSuggest/ShipperSuggest';\nimport DispatcherDropdown from 'broker-admin/components/dropdowns/DispatcherDropdown/DispatcherDropdown';\nimport KeyAccountManagerDropdown from 'broker-admin/components/dropdowns/KeyAccountManagerDropdown/KeyAccountManagerDropdown';\nimport { TooltipPositionEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport PinIcon, { PinIconProps } from 'common/icons/PinIcon';\nimport SelectedFilters from '../SelectedFilters/SelectedFilters';\nimport { mergeQueryFilters } from 'common/utils/query';\nimport Switcher from 'common/components/Switcher/Switcher';\nimport OrderTypeDropdown, { OrderTypeEnum } from './OrderTypeDropdown/OrderTypeDropdown';\nimport TransportOrderTypeDropdown, {\n    TransportOrderTypeEnum,\n} from './TransportOrderTypeDropdown/TransportOrderTypeDropdown';\nimport { selectPermissions } from 'common/store/auth/selectors';\nimport pick from 'lodash/pick';\nimport FeaturesContext from 'common/contexts/features';\nimport { ClientFeatureEnum } from 'common/utils/features/client-features-config';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onClose: () => void;\n    queryFilters: QueryFiltersT;\n    setQueryFilters: (queryFilters: QueryFiltersT) => void;\n};\n\nconst FiltersSidebarContent: React.FC<PropsT> = (props) => {\n    const { onClose, setQueryFilters, queryFilters } = props;\n    const { t } = useTranslation();\n\n    const permissions = useSelector(selectPermissions);\n\n    const featuresContext = React.useContext(FeaturesContext);\n    const isShowStatusFiltersAfterPaid = !!featuresContext?.checkActiveClientFeature?.(\n        ClientFeatureEnum.showStatusFiltersAfterPaid,\n    );\n\n    const dispatch = useDispatch();\n\n    React.useEffect(() => {\n        dispatch(fetchTrailersDict());\n    }, [dispatch]);\n\n    const [initialQueryFilters, setInitialQueryFilters] = React.useState<QueryFiltersT>(queryFilters);\n\n    React.useEffect(() => {\n        setInitialQueryFilters(queryFilters);\n    }, [queryFilters]);\n\n    const initialValues = React.useMemo(() => getInitialValues(queryFilters), [queryFilters]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialValues,\n        onSubmit: (values, formikHelpers): void => {\n            const newQueryFilters = getQueryFilters(values);\n            let mergedQueryFilters = mergeQueryFilters(initialQueryFilters, newQueryFilters);\n\n            if (values[FieldsEnum.ordersType] !== OrderTypeEnum.all) {\n                mergedQueryFilters = {\n                    ...mergedQueryFilters,\n                    ...pick(newQueryFilters, [QueryFiltersKeysEnum.spotOrder, QueryFiltersKeysEnum.contractedOrder]),\n                };\n            }\n\n            if (values[FieldsEnum.transportOrdersType] !== TransportOrderTypeEnum.all) {\n                mergedQueryFilters = {\n                    ...mergedQueryFilters,\n                    ...pick(newQueryFilters, [\n                        QueryFiltersKeysEnum.spotTransportOrder,\n                        QueryFiltersKeysEnum.contractedTransportOrder,\n                    ]),\n                };\n            }\n\n            setQueryFilters(mergedQueryFilters);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const isSameValues = React.useMemo(() => {\n        return isDeepEqual(initialValues, formik.values) && isDeepEqual(initialQueryFilters, queryFilters);\n    }, [initialValues, formik.values, initialQueryFilters, queryFilters]);\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent title={t('broker-orders.list.filters.title')} onClose={onClose} />\n            </HeaderSideBarLayout>\n            <SideBarLayout>\n                <FormikField\n                    className={cx('field', 'field--address')}\n                    name={FieldsEnum.originAddress}\n                    error={formik.errors[FieldsEnum.originAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.originAddress)}\n                    label={t('broker-orders.list.filters.fields.origin-address')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipPosition={TooltipPositionEnum.topLeft}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('broker-orders.list.filters.tooltip.address')}\n                        </TooltipContent>\n                    }\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.originAddress}\n                            value={formik.values[FieldsEnum.originAddress] || ''}\n                            placeholder={t('broker-orders.list.filters.placeholders.origin-address')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field', 'field--address')}\n                    name={FieldsEnum.dropOffAddress}\n                    error={formik.errors[FieldsEnum.dropOffAddress]}\n                    meta={formik.getFieldMeta(FieldsEnum.dropOffAddress)}\n                    label={t('broker-orders.list.filters.fields.destination-address')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    tooltipPosition={TooltipPositionEnum.topLeft}\n                    tooltipNode={\n                        <TooltipContent theme={TooltipContentThemeEnum.black} isNoWrap>\n                            {t('broker-orders.list.filters.tooltip.address')}\n                        </TooltipContent>\n                    }\n                >\n                    {(props) => (\n                        <Input\n                            renderLeftIcon={(iconMeta) => <PinIcon {...PinIconProps.getControlProps(iconMeta)} />}\n                            name={FieldsEnum.dropOffAddress}\n                            value={formik.values[FieldsEnum.dropOffAddress] || ''}\n                            placeholder={t('broker-orders.list.filters.placeholders.destination-address')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                            hasClearControl\n                        />\n                    )}\n                </FormikField>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.pickupDates}\n                        error={formik.errors[FieldsEnum.pickupDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.pickupDates)}\n                        label={t('broker-orders.list.filters.fields.pickup-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.pickupDates]}\n                                placeholder={t('broker-orders.list.filters.placeholders.pickup-dates')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.dropoffDates}\n                        error={formik.errors[FieldsEnum.dropoffDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.dropoffDates)}\n                        label={t('broker-orders.list.filters.fields.drop-off-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.dropoffDates]}\n                                placeholder={t('broker-orders.list.filters.placeholders.drop-off-dates')}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--dates')}\n                        name={FieldsEnum.createDates}\n                        error={formik.errors[FieldsEnum.createDates]}\n                        meta={formik.getFieldMeta(FieldsEnum.createDates)}\n                        label={t('broker-orders.list.filters.fields.created-dates')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                isRange\n                                value={formik.values[FieldsEnum.createDates]}\n                                placeholder={t('broker-orders.list.filters.placeholders.created-dates')}\n                                onChange={props.onChange}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasClearControl\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--trailer-type')}\n                        name={FieldsEnum.dictTrailerId}\n                        error={formik.errors[FieldsEnum.dictTrailerId]}\n                        meta={formik.getFieldMeta(FieldsEnum.dictTrailerId)}\n                        label={t('broker-orders.list.filters.fields.trailer-type')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DictTrailerDropdown\n                                placeholder={t('broker-orders.list.filters.placeholders.trailer-type')}\n                                value={formik.values[FieldsEnum.dictTrailerId]}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasClearControl\n                                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--shipper')}\n                        name={FieldsEnum.shipperId}\n                        error={formik.errors[FieldsEnum.shipperId]}\n                        meta={formik.getFieldMeta(FieldsEnum.shipperId)}\n                        label={t('broker-orders.list.filters.fields.shipper')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <ShipperSuggest\n                                value={formik.values[FieldsEnum.shipperId]}\n                                initialValue={initialValues[FieldsEnum.shipperId]}\n                                initialLabel={initialValues[FieldsEnum.shipperName] || ''}\n                                hasClearControl\n                                onSelect={(shipperId, shipperName) => {\n                                    formik.setFieldValue(FieldsEnum.shipperId, shipperId);\n                                    formik.setFieldValue(FieldsEnum.shipperName, shipperName);\n                                }}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                placeholder={t('broker-orders.list.filters.placeholders.shipper')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--carrier')}\n                        name={FieldsEnum.carrierId}\n                        error={formik.errors[FieldsEnum.carrierId]}\n                        meta={formik.getFieldMeta(FieldsEnum.carrierId)}\n                        label={t('broker-orders.list.filters.fields.carrier')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CarrierDropdown\n                                value={formik.values[FieldsEnum.carrierId]}\n                                initialValue={initialValues[FieldsEnum.carrierId]}\n                                initialLabel={initialValues[FieldsEnum.carrierName] || ''}\n                                hasClearControl\n                                onSelect={(carrierId, carrierName) => {\n                                    formik.setFieldValue(FieldsEnum.carrierId, carrierId);\n                                    formik.setFieldValue(FieldsEnum.carrierName, carrierName);\n                                }}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                placeholder={t('broker-orders.list.filters.placeholders.carrier')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                <FieldGroup>\n                    <FormikField<FormValuesT[FieldsEnum.ordersType]>\n                        className={cx('field', 'field--order-type')}\n                        label={t('broker-orders.list.filters.fields.order-type')}\n                        name={FieldsEnum.ordersType}\n                        error={formik.errors[FieldsEnum.ordersType]}\n                        meta={formik.getFieldMeta(FieldsEnum.ordersType)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <OrderTypeDropdown value={formik.values[FieldsEnum.ordersType]} onSelect={props.onChange} />\n                        )}\n                    </FormikField>\n                    <FormikField<FormValuesT[FieldsEnum.transportOrdersType]>\n                        className={cx('field', 'field--transport-order-type')}\n                        label={t('broker-orders.list.filters.fields.transport-order-type')}\n                        name={FieldsEnum.transportOrdersType}\n                        error={formik.errors[FieldsEnum.transportOrdersType]}\n                        meta={formik.getFieldMeta(FieldsEnum.transportOrdersType)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <TransportOrderTypeDropdown\n                                value={formik.values[FieldsEnum.transportOrdersType]}\n                                onSelect={props.onChange}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                {permissions?.canFilterBrokerOrdersByAccountManagerOrDispatcher && (\n                    <FieldGroup>\n                        <FormikField\n                            className={cx('field', 'field--dispatcher')}\n                            label={t('broker-orders.list.filters.fields.dispatcher')}\n                            name={FieldsEnum.dispatcherId}\n                            error={formik.errors[FieldsEnum.dispatcherId]}\n                            meta={formik.getFieldMeta(FieldsEnum.dispatcherId)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <DispatcherDropdown\n                                    selectedValue={formik.values[FieldsEnum.dispatcherId]}\n                                    initialLabel={initialValues[FieldsEnum.dispatcherName]}\n                                    placeholder={t('broker-orders.list.filters.placeholders.dispatcher')}\n                                    onSelect={(memberId, memberName) => {\n                                        formik.setFieldValue(FieldsEnum.dispatcherId, memberId);\n                                        formik.setFieldValue(FieldsEnum.dispatcherName, memberName);\n                                    }}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    onReset={() => {\n                                        formik.setFieldValue(FieldsEnum.dispatcherId, null);\n                                        formik.setFieldValue(FieldsEnum.dispatcherName, null);\n                                    }}\n                                />\n                            )}\n                        </FormikField>\n                        <FormikField\n                            className={cx('field', 'field--key-account-manager')}\n                            label={t('broker-orders.list.filters.fields.key-account-manager')}\n                            name={FieldsEnum.keyAccountManagerId}\n                            error={formik.errors[FieldsEnum.keyAccountManagerId]}\n                            meta={formik.getFieldMeta(FieldsEnum.keyAccountManagerId)}\n                            setFieldValue={formik.setFieldValue}\n                            setFieldTouched={formik.setFieldTouched}\n                        >\n                            {(props) => (\n                                <KeyAccountManagerDropdown\n                                    selectedValue={formik.values[FieldsEnum.keyAccountManagerId]}\n                                    initialLabel={initialValues[FieldsEnum.keyAccountManagerName]}\n                                    placeholder={t('broker-orders.list.filters.placeholders.key-account-manager')}\n                                    onSelect={(memberId, memberName) => {\n                                        formik.setFieldValue(FieldsEnum.keyAccountManagerId, memberId);\n                                        formik.setFieldValue(FieldsEnum.keyAccountManagerName, memberName);\n                                    }}\n                                    hasWarning={props.hasWarning}\n                                    hasError={props.hasError}\n                                    onBlur={props.onBlur}\n                                    onFocus={props.onFocus}\n                                    onReset={() => {\n                                        formik.setFieldValue(FieldsEnum.keyAccountManagerId, null);\n                                        formik.setFieldValue(FieldsEnum.keyAccountManagerName, null);\n                                    }}\n                                />\n                            )}\n                        </FormikField>\n                    </FieldGroup>\n                )}\n                {isShowStatusFiltersAfterPaid && (\n                    <FormikField<FormValuesT[FieldsEnum.hasUnpaidOrders]>\n                        className={cx('field', 'field--has-unpaid-shipment')}\n                        name={FieldsEnum.hasUnpaidOrders}\n                        error={formik.errors[FieldsEnum.hasUnpaidOrders]}\n                        meta={formik.getFieldMeta(FieldsEnum.hasUnpaidOrders)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                        withoutLabel\n                    >\n                        {(props) => (\n                            <Switcher\n                                checked={!!formik.values[FieldsEnum.hasUnpaidOrders]}\n                                onToggle={(value) => {\n                                    props.onChange(value);\n                                }}\n                                label={t('broker-orders.list.filters.fields.has-unpaid-shipper-orders')}\n                            />\n                        )}\n                    </FormikField>\n                )}\n            </SideBarLayout>\n            <FooterSideBarLayout hasPaddings>\n                <div className={cx('selected-filters')}>\n                    <SelectedFilters queryFilters={initialQueryFilters} setQueryFilters={setInitialQueryFilters} />\n                </div>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={isSameValues}\n                    isFullWidth\n                    isCenterContent\n                    type=\"submit\"\n                >\n                    {t('broker-orders.list.filters.submit')}\n                </Button>\n            </FooterSideBarLayout>\n        </form>\n    );\n};\n\nexport default FiltersSidebarContent;\n","import requestStatus from 'common/utils/request-status';\nimport keyBy from 'lodash/keyBy';\nimport {\n    FETCH_MANAGERS_REQUEST_BEGIN,\n    FETCH_MANAGERS_REQUEST_ERROR,\n    FETCH_MANAGERS_REQUEST_SUCCESS,\n    ManagersActionT,\n    ManagersStateT,\n} from './types';\nimport { DESTROY_SESSION, DestroySessionActionT } from 'common/store/auth/types';\nimport { isNonNil } from 'common/utils';\n\nconst initialState: ManagersStateT = {\n    request: requestStatus.initial,\n    byId: {},\n    allIds: [],\n};\n\nexport default (state = initialState, action: ManagersActionT | DestroySessionActionT): ManagersStateT => {\n    switch (action.type) {\n        case FETCH_MANAGERS_REQUEST_BEGIN: {\n            return {\n                ...state,\n                request: requestStatus.loading,\n            };\n        }\n        case FETCH_MANAGERS_REQUEST_SUCCESS: {\n            const { managers } = action;\n\n            const allIds: Array<string> = managers.map((manager) => manager.id).filter(isNonNil);\n            const byId = keyBy(managers, 'id');\n\n            return {\n                ...state,\n                byId,\n                allIds,\n                request: requestStatus.ok,\n            };\n        }\n        case FETCH_MANAGERS_REQUEST_ERROR: {\n            const { error } = action;\n\n            return {\n                ...state,\n                request: requestStatus.setError(error),\n            };\n        }\n        case DESTROY_SESSION: {\n            return initialState;\n        }\n        default:\n            return state;\n    }\n};\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport isNumber from 'lodash/isNumber';\nimport isNil from 'lodash/isNil';\n\nimport styles from './EditableCostCell.scss';\nimport Money from 'common/components/Money/Money';\nimport { CURRENCY_SYMBOLS, CurrencyEnum } from 'common/constants';\nimport Input from 'common/components/Input/Input';\nimport { getMoneyMask } from 'common/utils/input-masks';\nimport { parseSimpleNumber } from 'common/utils/input-parsers';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    isHoveredRow: boolean;\n    cost: number | null | undefined;\n    onUpdate: (cost: number) => void;\n};\n\nconst cx = classNames.bind(styles);\n\nconst moneyMask = getMoneyMask();\n\nconst ENTER_KEY = 'Enter';\n\nconst costToString = (cost: number | null | undefined) => {\n    return isNumber(cost) ? String(cost) : '';\n};\n\nconst EditableCostCell: React.FC<PropsT> = React.memo((props) => {\n    const { isHoveredRow, cost: rawCost, onUpdate } = props;\n\n    const { t } = useTranslation();\n\n    const [isHoveredCell, setHoveredCell] = React.useState<boolean>(false);\n\n    const [optimisticCost, setOptimisticCost] = React.useState<number | null>(null);\n    React.useEffect(() => {\n        setOptimisticCost(null);\n    }, [rawCost]);\n\n    const cost = isNumber(optimisticCost) ? optimisticCost : rawCost;\n\n    const [inputValue, setInputValue] = React.useState<string>(costToString(cost));\n\n    React.useEffect(() => {\n        if (!isHoveredRow) {\n            setHoveredCell(false);\n        }\n    }, [isHoveredRow]);\n\n    const handleMouseMove = () => {\n        setInputValue(costToString(cost));\n        setHoveredCell(true);\n    };\n\n    const handleMouseLeave = () => {\n        setHoveredCell(false);\n    };\n\n    const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n        const parsedInputValue = parseSimpleNumber(inputValue) || 0;\n        const isValid = isNumber(parsedInputValue) && !Number.isNaN(parsedInputValue);\n        const isSameValue = parsedInputValue === cost;\n        if (event.key === ENTER_KEY && isValid && !isSameValue) {\n            onUpdate(parsedInputValue);\n            setOptimisticCost(parsedInputValue);\n        }\n    };\n\n    const isShowInput = isHoveredCell && isHoveredRow;\n\n    return (\n        <div className={cx('cost')} onMouseLeave={handleMouseLeave}>\n            {isShowInput && (\n                <Input\n                    name=\"cost\"\n                    value={inputValue}\n                    mask={moneyMask}\n                    rightNode={CURRENCY_SYMBOLS.EUR}\n                    onChange={setInputValue}\n                    onKeyUp={handleKeyUp}\n                />\n            )}\n            {!isShowInput && (\n                <div onMouseMove={handleMouseMove}>\n                    {!isNil(cost) && <Money amount={cost} className={cx('price')} currency={CurrencyEnum.EUR} />}\n                    {isNil(cost) && <div className={cx('empty')}>{t('common:null-cost')}</div>}\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default EditableCostCell;\n","import { RequestStatusT } from 'common/utils/request-status';\nimport useOnlyChangesEffect from 'common/utils/hooks/useOnlyChangesEffect';\n\ntype CallbackT = () => void;\n\nconst useAfterSuccessRequest = (\n    requestStatus: RequestStatusT | null | undefined,\n    callback: CallbackT | null | undefined,\n) => {\n    useOnlyChangesEffect(() => {\n        if (requestStatus?.ok && callback) {\n            callback();\n        }\n    }, [requestStatus]);\n};\n\nexport default useAfterSuccessRequest;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './SendingToSpotForm.scss';\nimport { useTranslation } from 'react-i18next';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useSelector } from 'react-redux';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport validateForm from './validate-form';\nimport { useFormik } from 'formik';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport TimeWindowPicker from 'common/components/forms/TimeWindowPicker/TimeWindowPicker';\nimport { getRelativeStartDayTimeWindow, MS_IN_HOUR } from 'common/utils/time';\nimport { logWarning } from 'common/utils/logger';\nimport { ALL_DAY_RANGE } from 'common/constants';\nimport Input from 'common/components/Input/Input';\nimport LinkDatePicker, {\n    DatePickerOverlayPositionEnum,\n} from 'design-system/components/date-pickers/LinkDatePicker/LinkDatePicker';\nimport { getDateStringToTimeWindow, mergeWithRelativeTimeWindow } from './utils';\nimport moment from 'moment';\nimport TimeWindowPillLabel from './TimeWindowPillLabel/TimeWindowPillLabel';\nimport isEqual from 'lodash/isEqual';\nimport { selectSpotUpdateRequestStatus } from 'broker-admin/store/spot/selectors';\nimport { useWatchFormAnyErrors } from 'common/utils/hooks/useWatchFormFormHasErrors';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    allowedRangeValidTill: TimeWindowT | null;\n    onCancel: () => void;\n    onSubmit: (deadline: string, comment: string) => void;\n};\n\nconst INITIAL_VALUES: FormValuesT = {\n    [FieldsEnum.deadlineTimeWindow]: [Date.now(), Date.now() + 2 * MS_IN_HOUR],\n    [FieldsEnum.comment]: '',\n};\n\nconst SendingToSpotForm: React.FC<PropsT> = (props) => {\n    const { onCancel, onSubmit, allowedRangeValidTill } = props;\n\n    const { t } = useTranslation();\n\n    const spotRequest = useSelector(selectSpotUpdateRequestStatus);\n\n    const [minDateCalendarDate, maxDateCalendarDate] = React.useMemo(() => {\n        if (!allowedRangeValidTill) {\n            return [null, null];\n        }\n\n        const format = (timestamp: number) => moment(timestamp).format('YYYY-MM-DD');\n\n        return [format(allowedRangeValidTill[0]), format(allowedRangeValidTill[1])];\n    }, [allowedRangeValidTill]);\n\n    const validate = React.useMemo(() => {\n        return (values: FormValuesT) => validateForm(t, values);\n    }, [t]);\n\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values: FormValuesT = {\n            ...INITIAL_VALUES,\n            [FieldsEnum.deadlineTimeWindow]: allowedRangeValidTill,\n            [FieldsEnum.comment]: '',\n        };\n\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [allowedRangeValidTill]);\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const deadline = values[FieldsEnum.deadlineTimeWindow]?.[1];\n            if (!deadline) {\n                logWarning('empty deadline');\n                return;\n            }\n\n            const deadlineStr = moment(deadline).format();\n            const comment = values[FieldsEnum.comment] || '';\n\n            onSubmit(deadlineStr, comment);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    const hasFormAnyErros = useWatchFormAnyErrors(formik.errors);\n\n    const deadlineTimeWindow = formik.values[FieldsEnum.deadlineTimeWindow];\n\n    const { selectedDate, selectedRelativeTimeWindow } = React.useMemo(() => {\n        const selectedDate = getDateStringToTimeWindow(deadlineTimeWindow);\n        const selectedRelativeTimeWindow = getRelativeStartDayTimeWindow(deadlineTimeWindow, selectedDate);\n\n        return {\n            selectedDate,\n            selectedRelativeTimeWindow,\n        };\n    }, [deadlineTimeWindow]);\n\n    const handleChangeDate = (value: Date | null) => {\n        const startTimestamp = formik.values[FieldsEnum.deadlineTimeWindow]?.[0] || null;\n\n        const endTimestamp = value ? moment(value).endOf('day').valueOf() - 1 : null;\n        const limitedEndTimestamp =\n            endTimestamp && allowedRangeValidTill ? Math.min(endTimestamp, allowedRangeValidTill?.[1]) : endTimestamp;\n\n        formik.setTouched({\n            [FieldsEnum.deadlineTimeWindow]: true,\n        });\n\n        formik.setFieldValue(FieldsEnum.deadlineTimeWindow, [startTimestamp, limitedEndTimestamp]);\n    };\n\n    const selectedCalendarDate = React.useMemo(() => {\n        return selectedDate ? new Date(selectedDate) : null;\n    }, [selectedDate]);\n\n    const availableRelativeValues = React.useMemo((): TimeWindowT | null => {\n        return getRelativeStartDayTimeWindow(allowedRangeValidTill, selectedDate);\n    }, [allowedRangeValidTill, selectedDate]);\n\n    const handleChangeTimeWindow = (name: FieldsEnum.deadlineTimeWindow, relativeTimeWindow: TimeWindowT): void => {\n        const prevTimeWindow = formik.values[name];\n        if (!prevTimeWindow) {\n            return;\n        }\n\n        const timeWindow = mergeWithRelativeTimeWindow(prevTimeWindow, relativeTimeWindow);\n\n        const isSameValue = isEqual(prevTimeWindow, timeWindow);\n        if (isSameValue) {\n            return;\n        }\n\n        formik.setFieldValue(name, timeWindow);\n    };\n\n    return (\n        <form onSubmit={formik.handleSubmit}>\n            <div className={cx('form')}>\n                <FormikField\n                    name={FieldsEnum.deadlineTimeWindow}\n                    error={formik.errors[FieldsEnum.deadlineTimeWindow]}\n                    meta={formik.getFieldMeta(FieldsEnum.deadlineTimeWindow)}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                    withoutLabel\n                    className={cx('field', 'field--time-picker')}\n                >\n                    {() => (\n                        <TimeWindowPicker\n                            range={ALL_DAY_RANGE}\n                            availableValues={availableRelativeValues || ALL_DAY_RANGE}\n                            ranges={[]}\n                            name={FieldsEnum.deadlineTimeWindow}\n                            hasStartStep\n                            hasEndStep\n                            isDisableLeftRangeControl\n                            values={selectedRelativeTimeWindow}\n                            setFieldValue={handleChangeTimeWindow}\n                            label={t('broker-order-details.send-to-spot.fields.deadline-time-window.label')}\n                            duration={\n                                <TimeWindowPillLabel\n                                    className={cx('time-window-pill-label')}\n                                    timeWindow={formik.values[FieldsEnum.deadlineTimeWindow]}\n                                />\n                            }\n                            link={\n                                <LinkDatePicker\n                                    minDate={minDateCalendarDate}\n                                    maxDate={maxDateCalendarDate}\n                                    value={selectedCalendarDate}\n                                    onChange={handleChangeDate}\n                                    overlayPosition={DatePickerOverlayPositionEnum.bottomRight}\n                                />\n                            }\n                        />\n                    )}\n                </FormikField>\n                <FormikField\n                    className={cx('field')}\n                    name={FieldsEnum.comment}\n                    error={formik.errors[FieldsEnum.comment]}\n                    meta={formik.getFieldMeta(FieldsEnum.comment)}\n                    label={t('broker-order-details.send-to-spot.fields.comment.label')}\n                    setFieldValue={formik.setFieldValue}\n                    setFieldTouched={formik.setFieldTouched}\n                >\n                    {(props) => (\n                        <Input\n                            name={FieldsEnum.comment}\n                            value={formik.values[FieldsEnum.comment]}\n                            placeholder={t('broker-order-details.send-to-spot.fields.comment.placeholder')}\n                            onChange={props.onChange}\n                            onBlur={props.onBlur}\n                            onFocus={props.onFocus}\n                            hasError={props.hasError}\n                            hasWarning={props.hasWarning}\n                        />\n                    )}\n                </FormikField>\n            </div>\n            <div className={cx('actions')}>\n                <Button theme={ButtonThemeEnum.secondary} className={cx('action', 'action--cancel')} onClick={onCancel}>\n                    {t('broker-order-details.send-to-spot.actions.cancel')}\n                </Button>\n                <Button\n                    theme={ButtonThemeEnum.primary}\n                    isDisabled={hasFormAnyErros || spotRequest.loading}\n                    className={cx('action', 'action--send')}\n                    isLoading={spotRequest.loading}\n                    type=\"submit\"\n                >\n                    {t('broker-order-details.send-to-spot.actions.submit')}\n                </Button>\n            </div>\n        </form>\n    );\n};\n\nexport default SendingToSpotForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"AsyncSearchScrollableList__inner___X0wag\",\"full-height-wrap\":\"AsyncSearchScrollableList__full-height-wrap___yMZH0\",\"list\":\"AsyncSearchScrollableList__list___xXeE1\",\"overlay\":\"AsyncSearchScrollableList__overlay___yaK4e\",\"loader\":\"AsyncSearchScrollableList__loader___2LiiE\",\"message\":\"AsyncSearchScrollableList__message___VUfCs\",\"separator\":\"AsyncSearchScrollableList__separator___wGSLs\",\"fadeIn\":\"AsyncSearchScrollableList__fadeIn___rhsma\",\"blinking\":\"AsyncSearchScrollableList__blinking___c2Esr\"};","import * as React from 'react';\n\nimport { Trans } from 'react-i18next';\nimport NotificationCardInnerLayout from '../shared/NotificationCardInnerLayout/NotificationCardInnerLayout';\nimport NotificationEntityLabel from '../shared/NotificationEntityLabel/NotificationEntityLabel';\n\nexport type SpotRequestStatusCardPropsT = {\n    type: 'new' | 'won' | 'cancelled' | 'expired';\n    fromLocation: string | null | undefined;\n    toLocation: string | null | undefined;\n    spotRequestNumber: string | null | undefined;\n};\n\nconst labelMap: Record<SpotRequestStatusCardPropsT['type'], string> = {\n    new: 'common:notifications.spot-request-status.new',\n    won: 'common:notifications.spot-request-status.won',\n    cancelled: 'common:notifications.spot-request-status.cancelled',\n    expired: 'common:notifications.spot-request-status.expired',\n};\n\nconst SpotRequestStatusCard: React.FC<SpotRequestStatusCardPropsT> = React.memo((props) => {\n    const { type, fromLocation, toLocation, spotRequestNumber } = props;\n\n    return (\n        <NotificationCardInnerLayout>\n            <Trans\n                i18nKey={labelMap[type]}\n                components={{\n                    fromLocation: <NotificationEntityLabel isBold text={fromLocation} />,\n                    toLocation: <NotificationEntityLabel isBold text={toLocation} />,\n                    spotRequestNumber: <NotificationEntityLabel isBold text={spotRequestNumber} />,\n                }}\n            />\n        </NotificationCardInnerLayout>\n    );\n});\n\nexport default SpotRequestStatusCard;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './Delimeter.scss';\nimport { formatTimeZone } from 'common/utils/time';\nimport { DelimiterThemeEnum } from '../models';\n\nconst cx = classNames.bind(styles);\n\nexport type DelimiterPropsT = {\n    label: React.ReactElement | string | null;\n    topOffsetPx: number;\n    utcOffset: number | null;\n    theme: DelimiterThemeEnum;\n};\n\nconst Delimiter: React.FC<DelimiterPropsT> = (props) => {\n    const { label, topOffsetPx, theme, utcOffset } = props;\n\n    return (\n        <div\n            className={cx('delimiter', {\n                [`delimiter--${theme}`]: true,\n            })}\n            style={{\n                top: `${topOffsetPx}px`,\n            }}\n        >\n            {label && (\n                <div\n                    className={cx('delimiter__text', {\n                        [`delimiter__text--${theme}`]: true,\n                    })}\n                    title={formatTimeZone(utcOffset)}\n                >\n                    {label}\n                </div>\n            )}\n        </div>\n    );\n};\n\nexport { Delimiter };\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './UpdatedPartnerCarrierContractCard.scss';\nimport { Trans } from 'react-i18next';\nimport ContractName from 'broker-admin/components/notification-cards/entities/ContractName/ContractName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    contractName: string;\n};\n\nconst UpdatedPartnerCarrierContractCard: React.FC<PropsT> = React.memo((props) => {\n    const { contractName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.partner-carrier-contract-updated\"\n                components={{\n                    contractName: <ContractName contractName={contractName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default UpdatedPartnerCarrierContractCard;\n","import * as React from 'react';\nimport { routesEnum, ShipperContractLaneRoutesEnum } from 'broker-admin/constants';\nimport { Redirect, Route, Switch, useParams } from 'react-router-dom';\nimport history, { goBackIfHasRePath } from 'common/utils/history';\nimport { urlFactory } from 'broker-admin/utils/urls';\nimport PartnerContext from 'common/contexts/partner-context';\nimport SideBars from 'broker-admin/layouts/SideBars/SideBars';\nimport ShipperContractLaneCreationPage from './ShipperContractLaneCreationPage/ShipperContractLaneCreationPage';\nimport ShipperContractLaneDetailsPage from './ShipperContractLaneDetailsPage/ShipperContractLaneDetailsPage';\nimport { parsePartnerTypeParam } from 'broker-admin/utils/urls-params';\nimport { ExtractRouterRouteParamsT } from 'common/utils/extract-router-route-params-t';\nimport PartnerPermissionsContextProvider from 'broker-admin/components/PartnerPermissionsContextProvider/PartnerPermissionsContextProvider';\n\ntype PropsT = {};\n\nconst ShipperContractLanePage: React.FC<PropsT> = React.memo(() => {\n    const params = useParams<ExtractRouterRouteParamsT<typeof routesEnum.shipperLaneDetails>>();\n\n    const { partnerId, contractId } = params;\n    const partnerType = parsePartnerTypeParam(params.partnerType);\n\n    const defaultRedirectPath = urlFactory.newPartnerShipperContractLane({\n        partnerId,\n        partnerType,\n        contractId,\n    });\n\n    const onGoBack = () => {\n        goBackIfHasRePath(() => {\n            history.push(\n                urlFactory.partnerShipperContactLanes({\n                    partnerType,\n                    partnerId,\n                    contractId,\n                }),\n            );\n        });\n    };\n\n    const partnerContextValue = React.useMemo(() => {\n        return {\n            partnerType: parsePartnerTypeParam(params.partnerType),\n            partnerId: params.partnerId,\n        };\n    }, [params.partnerId, params.partnerType]);\n\n    return (\n        <PartnerContext.Provider value={partnerContextValue}>\n            <PartnerPermissionsContextProvider partnerId={partnerContextValue.partnerId}>\n                <Switch>\n                    <Route path={ShipperContractLaneRoutesEnum.newLane}>\n                        <ShipperContractLaneCreationPage contractId={contractId} onClose={onGoBack} />\n                    </Route>\n                    <Route path={ShipperContractLaneRoutesEnum.laneDetails}>\n                        <ShipperContractLaneDetailsPage onClose={onGoBack} />\n                    </Route>\n                    <Route>\n                        <Redirect to={defaultRedirectPath} />\n                    </Route>\n                </Switch>\n                <SideBars />\n            </PartnerPermissionsContextProvider>\n        </PartnerContext.Provider>\n    );\n});\n\nexport default ShipperContractLanePage;\n","import { ApiShipmentStatusT, ShipmentStatusEnum } from 'common/utils/api/models';\n\nexport const visitedOriginLoadStatusSet = new Set<ApiShipmentStatusT>([\n    ShipmentStatusEnum.inTransit,\n    ShipmentStatusEnum.unloading,\n    ShipmentStatusEnum.delivered,\n]);\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"OrderEditedCard__inner___F0p7D\",\"fadeIn\":\"OrderEditedCard__fadeIn___MZEQ1\",\"blinking\":\"OrderEditedCard__blinking___ffgaM\"};","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"BidDetails__inner___IStf4\",\"inner--isClickable\":\"BidDetails__inner--isClickable___AFccS\",\"row\":\"BidDetails__row___OQUYf\",\"head\":\"BidDetails__head___oHJlG\",\"head--isOpened\":\"BidDetails__head--isOpened___A46x7\",\"head--isClickable\":\"BidDetails__head--isClickable___JwJGz\",\"main\":\"BidDetails__main___BP0w_\",\"main__money\":\"BidDetails__main__money___M7aVw\",\"main__diff\":\"BidDetails__main__diff___DLviZ\",\"column__main\":\"BidDetails__column__main___iQZOt\",\"column__icon\":\"BidDetails__column__icon___RvNHE\",\"column__status\":\"BidDetails__column__status___jG8cw\",\"body\":\"BidDetails__body___g52JO\",\"match-pill\":\"BidDetails__match-pill___Hquwm\",\"fadeIn\":\"BidDetails__fadeIn___pChyE\",\"blinking\":\"BidDetails__blinking___JXCFu\"};","import * as React from 'react';\nimport { TruckStatusEnum, ApiTruckStatusT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    status: ApiTruckStatusT | null | undefined;\n};\n\nexport const TRUCK_STATUS_T_MAP: Record<ApiTruckStatusT, string> = {\n    [TruckStatusEnum.free]: 'common:truck-status.FREE',\n    [TruckStatusEnum.inTransit]: 'common:truck-status.IN_TRANSIT',\n    [TruckStatusEnum.unavailable]: 'common:truck-status.UNAVAILABLE',\n    [TruckStatusEnum.archived]: 'common:truck-status.ARCHIVED',\n};\n\nconst TruckStatus: React.FC<PropsT> = React.memo((props) => {\n    const { status } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return t(TRUCK_STATUS_T_MAP[status]);\n});\n\nexport default TruckStatus;\n","import * as React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport Stepper, { StepT } from 'common/components/Stepper/Stepper';\n\ntype PropsT = {\n    className?: string;\n    activeStepIndex: number;\n    setActiveStepIndex: (activeStepIndex: number) => void;\n};\n\nconst Steps: React.FC<PropsT> = React.memo((props) => {\n    const { className, activeStepIndex, setActiveStepIndex } = props;\n\n    const { t } = useTranslation();\n\n    const steps = React.useMemo((): Array<StepT> => {\n        return [\n            {\n                label: t('deadhead-creation.steps.route'),\n            },\n            {\n                label: t('deadhead-creation.steps.contacts'),\n            },\n        ];\n    }, [t]);\n\n    return (\n        <Stepper\n            className={className}\n            activeStepIndex={activeStepIndex}\n            goTo={setActiveStepIndex}\n            steps={steps}\n            testSelector=\"deadhead-creation\"\n            initShowStepIndex={0}\n        />\n    );\n});\n\nexport default Steps;\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\n\nimport styles from './LinkDatePicker.scss';\n\nimport Calendar, {\n    CalendarDateRangeValuePropsT,\n    CalendarDateValuePropsT,\n} from 'design-system/components/Calendar/Calendar';\nimport DatePickerOverlay, { DatePickerOverlayPositionEnum } from '../internals/DatePickerOverlay/DatePickerOverlay';\nimport DateLinkTrigger, {\n    DateLinkTriggerPropsT,\n    DateLinkTriggerRangePropsT,\n} from 'design-system/components/date-pickers/internals/DateLinkTrigger/DateLinkTrigger';\nimport { shiftMidnight } from 'common/utils/time';\n\nconst cx = classNames.bind(styles);\n\ntype BasePropsT = {\n    leftIcon?: React.ReactNode;\n    placeholder?: string;\n    isDisabled?: boolean;\n    minDate?: string | null;\n    maxDate?: string | null;\n    allowedDates?: string[];\n    allowedDatesStartDate?: string | null;\n    disabledDates?: string[];\n    overlayPosition?: DatePickerOverlayPositionEnum;\n    hasYearMonthForm?: boolean;\n};\n\nexport type LinkDatePickerPropsT = (BasePropsT & CalendarDateValuePropsT) | (BasePropsT & CalendarDateRangeValuePropsT);\n\n/* eslint-disable react/destructuring-assignment */\nconst LinkDatePicker: React.FC<LinkDatePickerPropsT> = (props) => {\n    const {\n        placeholder,\n        isDisabled,\n        minDate,\n        maxDate,\n        overlayPosition,\n        hasYearMonthForm,\n        leftIcon,\n        allowedDates,\n        allowedDatesStartDate,\n        disabledDates,\n    } = props;\n\n    const [isOpen, toggleOpen] = React.useState(false);\n    const triggerRef = React.useRef<HTMLDivElement>(null);\n\n    const handleCalendarRangeChange: CalendarDateRangeValuePropsT['onChange'] = (value, selectedDate) => {\n        if (props.isRange) {\n            props.onChange(value, selectedDate);\n        }\n    };\n\n    const handleCalendarDateChange: CalendarDateValuePropsT['onChange'] = (value, selectedDate) => {\n        toggleOpen(false);\n\n        if (!props.isRange) {\n            props.onChange(value, selectedDate);\n        }\n    };\n\n    const handleOpen = () => {\n        if (isDisabled) {\n            return;\n        }\n\n        toggleOpen(true);\n    };\n\n    const handleOuterEvent = () => {\n        toggleOpen(false);\n    };\n\n    let dateLinkTriggerProps: DateLinkTriggerPropsT | DateLinkTriggerRangePropsT;\n    if (props.isRange) {\n        dateLinkTriggerProps = {\n            isRange: true,\n            value: props.value,\n        };\n    } else {\n        dateLinkTriggerProps = {\n            isRange: false,\n            value: props.value,\n        };\n    }\n\n    let calendarValueProps: CalendarDateValuePropsT | CalendarDateRangeValuePropsT;\n    if (props.isRange) {\n        calendarValueProps = {\n            isRange: true,\n            value: props.value,\n            initialValue: props.initialValue,\n            onChange: handleCalendarRangeChange,\n            focusInitialDate: props.value?.from,\n        };\n    } else {\n        calendarValueProps = {\n            isRange: false,\n            value: props.value,\n            initialValue: props.initialValue,\n            onChange: handleCalendarDateChange,\n            focusInitialDate: props.value,\n        };\n    }\n\n    return (\n        <div className={cx('dropdown')}>\n            <div className={cx('input')}>\n                <div ref={triggerRef}>\n                    <DateLinkTrigger\n                        leftIcon={leftIcon}\n                        isDisabled={isDisabled}\n                        className={cx('trigger')}\n                        {...dateLinkTriggerProps}\n                        onClick={() => handleOpen()}\n                        placeholder={placeholder}\n                    />\n                </div>\n                <DatePickerOverlay\n                    isOpen={isOpen}\n                    position={overlayPosition}\n                    referenceElement={triggerRef.current}\n                    onClose={handleOuterEvent}\n                >\n                    <Calendar\n                        minDate={minDate}\n                        maxDate={maxDate ? shiftMidnight(maxDate) : null}\n                        hasYearMonthForm={hasYearMonthForm}\n                        testSelectorPrefix=\"link-date-picker\"\n                        allowedDates={allowedDates}\n                        allowedDatesStartDate={allowedDatesStartDate}\n                        disabledDates={disabledDates}\n                        {...calendarValueProps}\n                    />\n                </DatePickerOverlay>\n            </div>\n        </div>\n    );\n};\n\nexport default LinkDatePicker;\nexport { DatePickerOverlayPositionEnum };\n","import * as React from 'react';\nimport { RuleT } from 'broker-admin/store/price-settings/rules/models';\nimport PriceRuleTargetPill from 'broker-admin/components/pills/PriceRuleTargetPill/PriceRuleTargetPill';\n\ntype PropsT = {\n    rule: RuleT;\n};\n\nconst TargetCell: React.FC<PropsT> = React.memo((props) => {\n    const { rule } = props;\n\n    return <PriceRuleTargetPill ruleTarget={rule.target} ruleOperator={rule.operator} ruleValue={rule.value} />;\n});\n\nexport default TargetCell;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigQuestionIcon from 'common/icons/BigQuestionIcon';\n\nexport type ActivateDriverConfirmationDataT = {\n    companyId: CompanyIdT;\n    driverId: DriverIdT;\n    driverName: string | undefined;\n    driverSurname: string | undefined;\n};\n\ntype PropsT = {\n    data: ActivateDriverConfirmationDataT | null;\n    onCancel: () => void;\n    onClose: () => void;\n    onConfirm: (data: ActivateDriverConfirmationDataT) => void;\n    requestStatus: RequestStatusT;\n};\n\nconst TEST_SELECTOR = 'activate-driver';\n\nconst ActivateDriverConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, onCancel, onClose, requestStatus, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    const fullName = [data.driverName, data.driverSurname].filter(Boolean).join(' ');\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            onClick: () => {\n                                onCancel();\n                            },\n                        },\n                        {\n                            children: t('common:error-modal.actions.restore'),\n                            theme: ButtonThemeEnum.primary,\n                            isDisabled: requestStatus.loading,\n                            isLoading: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigQuestionIcon baseColor={StyleGuideColorsEnum.brandAccent} />}\n                    title={t('common:drivers-page.activate-confirmation.title', {\n                        fullName,\n                    })}\n                    message={t('common:drivers-page.activate-confirmation.description', {\n                        fullName,\n                    })}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default ActivateDriverConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {\"inner\":\"UpdatedPartnerCarrierContractCard__inner___kqixc\",\"fadeIn\":\"UpdatedPartnerCarrierContractCard__fadeIn___oBQF2\",\"blinking\":\"UpdatedPartnerCarrierContractCard__blinking___VdQ5P\"};","// extracted by mini-css-extract-plugin\nexport default {\"widget\":\"AlertsSettingsForm__widget___XBmfk\",\"widget__inner\":\"AlertsSettingsForm__widget__inner___LwvGd\",\"field\":\"AlertsSettingsForm__field___DebVF\",\"fadeIn\":\"AlertsSettingsForm__fadeIn___J_bEg\",\"blinking\":\"AlertsSettingsForm__blinking___Vr28r\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport { useTranslation } from 'react-i18next';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport DeleteIcon from 'common/icons/DeleteIcon';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\n\ntype PropsT = {\n    className?: string;\n    onClick: () => void;\n};\n\nconst DeleteWaypointTrigger: React.FC<PropsT> = React.memo((props) => {\n    const { className, onClick } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.centerLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                    {t('broker-order-route-edit.waypoints-control.delete-point')}\n                </TooltipContent>\n            }\n        >\n            {() => (\n                <TransparentTrigger\n                    className={className}\n                    spaces=\"s\"\n                    onClick={onClick}\n                    leftIcon={<DeleteIcon fillColor={StyleGuideColorsEnum.tomatoRed} />}\n                    reflectionTheme={ReflectionThemeEnum.halfTransparentLight}\n                />\n            )}\n        </Tooltip>\n    );\n});\n\nexport default DeleteWaypointTrigger;\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {\n    className?: string;\n    isActive: boolean | null | undefined;\n};\n\nconst PriceRuleStatusLabel: React.FC<PropsT> = React.memo((props) => {\n    const { isActive, className } = props;\n\n    const { t } = useTranslation();\n\n    return (\n        <span className={className}>\n            {t(isActive ? 'price-settings.rules.status.active' : 'price-settings.rules.status.deactivated')}\n        </span>\n    );\n});\n\nexport default PriceRuleStatusLabel;\n","import * as React from 'react';\nimport { useRef } from 'react';\nimport isNumber from 'lodash/isNumber';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\nexport enum MapAreaThemeEnum {\n    assignmentFindArea = 'assignment-find-area',\n    originArea = 'origin-area',\n    destinationArea = 'destination-area',\n}\n\nconst COLOR_MAP: Record<MapAreaThemeEnum, StyleGuideColorsEnum> = {\n    [MapAreaThemeEnum.assignmentFindArea]: StyleGuideColorsEnum.brandAccent,\n    [MapAreaThemeEnum.originArea]: StyleGuideColorsEnum.dodgerBlue,\n    [MapAreaThemeEnum.destinationArea]: StyleGuideColorsEnum.blazeOrange,\n};\n\ntype PropsT = {\n    map: MapT | null | undefined;\n    maps: TODO | null | undefined;\n    theme: MapAreaThemeEnum;\n    centerLat: number | null | undefined;\n    centerLon: number | null | undefined;\n    radiusM: number | null | undefined;\n};\n\nconst MapArea: React.FC<PropsT> = React.memo((props) => {\n    const { map, maps, theme, radiusM, centerLat, centerLon } = props;\n\n    const findAreaRef = useRef<google.maps.Circle | null>(null);\n    React.useEffect(() => {\n        if (findAreaRef.current) {\n            findAreaRef.current.setMap(null);\n        }\n\n        if (!maps || !map || !isNumber(centerLat) || !isNumber(centerLon) || !isNumber(radiusM)) {\n            return;\n        }\n\n        const color = COLOR_MAP[theme];\n\n        findAreaRef.current = new maps.Circle({\n            strokeColor: color,\n            strokeOpacity: 1,\n            strokeWeight: 1,\n            fillColor: color,\n            fillOpacity: 0.05,\n            map,\n            center: {\n                lat: centerLat,\n                lng: centerLon,\n            },\n            radius: radiusM,\n        });\n        if (findAreaRef.current) {\n            findAreaRef.current.setMap(map);\n        }\n    }, [map, maps, centerLat, centerLon, radiusM, theme]);\n\n    React.useEffect(() => {\n        return () => {\n            if (findAreaRef.current) {\n                findAreaRef.current.setMap(null);\n            }\n        };\n    }, []);\n\n    return null;\n});\n\nexport default MapArea;\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"BaseShipperContractLanesTable__table__header___QfAvV\",\"table__header--id\":\"BaseShipperContractLanesTable__table__header--id___B3qSx\",\"table__header--pickup\":\"BaseShipperContractLanesTable__table__header--pickup___moVcu\",\"table__header--destination\":\"BaseShipperContractLanesTable__table__header--destination___NfYTw\",\"table__header--orders-counter\":\"BaseShipperContractLanesTable__table__header--orders-counter___nHvCl\",\"table__header--total-price\":\"BaseShipperContractLanesTable__table__header--total-price___wSsWe\",\"table__header--valid-till\":\"BaseShipperContractLanesTable__table__header--valid-till___D4qoI\",\"table__header--emission-class\":\"BaseShipperContractLanesTable__table__header--emission-class___Rw8vP\",\"table__header--team-drive\":\"BaseShipperContractLanesTable__table__header--team-drive___A_r3w\",\"table__header--status\":\"BaseShipperContractLanesTable__table__header--status___VeG_E\",\"table__column\":\"BaseShipperContractLanesTable__table__column___25gdJ\",\"table__column--id\":\"BaseShipperContractLanesTable__table__column--id___gMqvj\",\"table__column--pickup\":\"BaseShipperContractLanesTable__table__column--pickup___LbveH\",\"table__column--destination\":\"BaseShipperContractLanesTable__table__column--destination___U1kw7\",\"table__column--orders-counter\":\"BaseShipperContractLanesTable__table__column--orders-counter___o3gcL\",\"table__column--total-price\":\"BaseShipperContractLanesTable__table__column--total-price___AzNmB\",\"table__column--valid-till\":\"BaseShipperContractLanesTable__table__column--valid-till___WPn7U\",\"table__column--emission-class\":\"BaseShipperContractLanesTable__table__column--emission-class___g11V_\",\"table__column--team-drive\":\"BaseShipperContractLanesTable__table__column--team-drive___Jaf8J\",\"table__column--status\":\"BaseShipperContractLanesTable__table__column--status___SDBm0\",\"fadeIn\":\"BaseShipperContractLanesTable__fadeIn___lSeZy\",\"blinking\":\"BaseShipperContractLanesTable__blinking___rPMwm\"};","import { put, select, takeEvery } from 'redux-saga/effects';\nimport { UPDATE_DOCKING_HOURS, UpdateDockingHoursActionT } from './types';\nimport { updateBrokerOrderRequestBegin, updateBrokerOrderRequestError, updateBrokerOrderSuccess } from './actions';\nimport { selectUpdateBrokerOrderRequest } from './selectors';\nimport { logWarning } from 'common/utils/logger';\n\nimport { fetchBrokerOrderDetails } from 'broker-admin/store/broker-order-details/slice';\nimport brokerTranziitApi from 'broker-admin/utils/api/broker-tranziit/api';\nimport { brokerOrdersRefreshChannel } from 'broker-admin/store/broker-orders/channels';\nimport { stateMachineRefreshChannel } from 'common/store/state-machine/channels';\n\nfunction* updateDockingHoursSaga(action: UpdateDockingHoursActionT): WrapGeneratorT<void> {\n    const { brokerOrderId, query } = action;\n\n    if (!brokerOrderId) {\n        logWarning('empty brokerOrderId');\n        return;\n    }\n\n    const requestStatus: ReturnType<typeof selectUpdateBrokerOrderRequest> = yield select(\n        selectUpdateBrokerOrderRequest,\n    );\n    if (requestStatus.loading) {\n        return;\n    }\n\n    yield put(updateBrokerOrderRequestBegin(brokerOrderId));\n\n    const [error]: ReturnApiT<typeof brokerTranziitApi.updateBrokerWindowAppointment> =\n        yield brokerTranziitApi.updateBrokerWindowAppointment(brokerOrderId, query);\n\n    if (error) {\n        yield put(updateBrokerOrderRequestError(brokerOrderId, error));\n    } else {\n        yield put(updateBrokerOrderSuccess(brokerOrderId));\n    }\n\n    yield put(fetchBrokerOrderDetails({ id: brokerOrderId, options: { isForceUpdate: true } }));\n    brokerOrdersRefreshChannel.emit({});\n    stateMachineRefreshChannel.emit({});\n}\n\nfunction* brokerOrderEditSaga(): WrapGeneratorT<void> {\n    yield takeEvery(UPDATE_DOCKING_HOURS, updateDockingHoursSaga);\n}\n\nexport default brokerOrderEditSaga;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport cs from 'classnames';\n\nimport styles from './PapersGroup.scss';\nimport NotificationLabel, {\n    NotificationLabelThemeEnum,\n} from 'common/components/notifications/NotificationLabel/NotificationLabel';\nimport { CompactAttachPaperTrigger } from 'common/components/papers/CompactAttachPaperTrigger/CompactAttachPaperTrigger';\nimport ExpandTrigger from 'design-system/components/ExpandTrigger/ExpandTrigger';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    count: number;\n    title: React.ReactNode;\n    onAttachNew?: () => void;\n    isAttachDisabled?: boolean;\n    attachTooltipMessage?: React.ReactNode;\n    children?: React.ReactNode;\n    isInitialOpen?: boolean;\n    className?: string;\n};\n\nconst PapersGroup: React.FC<PropsT> = React.memo((props) => {\n    const { count, title, onAttachNew, isAttachDisabled, attachTooltipMessage, children, isInitialOpen, className } =\n        props;\n\n    const [isOpen, setIsOpen] = React.useState<boolean>(!!isInitialOpen);\n\n    const handleToggle = React.useCallback(() => {\n        setIsOpen((prev) => !prev);\n    }, []);\n\n    return (\n        <div className={cs(cx('wrap'), className)}>\n            <div className={cx('header')} onClick={handleToggle}>\n                <NotificationLabel className={cx('count')} count={count} theme={NotificationLabelThemeEnum.slate} />\n                <div className={cx('title')}>{title}</div>\n                <div className={cx('controls')}>\n                    {onAttachNew && (\n                        <CompactAttachPaperTrigger\n                            onClick={(event) => {\n                                event.stopPropagation();\n                                if (isAttachDisabled) {\n                                    return;\n                                }\n                                onAttachNew();\n                            }}\n                            isDisabled={isAttachDisabled}\n                            tooltipMessage={attachTooltipMessage}\n                        />\n                    )}\n                    <ExpandTrigger\n                        spaces=\"xs\"\n                        isOpen={isOpen}\n                        onClick={() => {\n                            // nothing, use common handler\n                        }}\n                    />\n                </div>\n            </div>\n            {isOpen && children && <div className={cx('content')}>{children}</div>}\n        </div>\n    );\n});\n\nexport default PapersGroup;\n","import * as React from 'react';\nimport { useSyncPointsChannels } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/hooks/use-sync-points-channels';\nimport { RoutePointFormValuesT } from 'common/layouts/NewOrderPage/ShipmentDetailsForm/constants';\n\ntype PropsT = {\n    formikArrayHelpers: {\n        insert: (index: number, value: RoutePointFormValuesT) => void;\n        remove: (index: number) => void;\n    };\n};\n\nconst SyncPointsWatcher: React.FC<PropsT> = React.memo((props) => {\n    useSyncPointsChannels(props.formikArrayHelpers);\n\n    return null;\n});\n\nexport default SyncPointsWatcher;\n","import { UserChangesT, UserT } from 'common/store/user/models';\nimport { ApiUserT, ApiUserUpdateT } from 'common/utils/api/models';\n\nexport const convertToApiUserUpdate = (user: UserT): ApiUserUpdateT => {\n    return {\n        language: user.language,\n        name: user.name,\n        phone: user.phone,\n        surname: user.surname,\n    };\n};\n\nconst getAbbreviation = (firstName: string, lastName: string) => {\n    return [firstName, lastName]\n        .filter(Boolean)\n        .map((name) => name.slice(0, 1))\n        .join('')\n        .toUpperCase();\n};\n\nconst getFullName = (firstName: string, lastName: string) => {\n    return [firstName, lastName].filter(Boolean).join(' ');\n};\n\nexport const prepareUser = (apiUser: ApiUserT): UserT => {\n    return {\n        ...apiUser,\n        abbreviation: getAbbreviation(apiUser?.name || '', apiUser?.surname || ''),\n        fullName: getFullName(apiUser?.name || '', apiUser?.surname || ''),\n    };\n};\n\nexport const patchUser = (user: UserT, changes: UserChangesT): UserT => {\n    return {\n        ...user,\n        language: changes.language || user.language,\n        name: changes.firstName,\n        phone: changes.phoneNumber,\n        surname: changes.lastName,\n        abbreviation: getAbbreviation(changes.firstName, changes.lastName),\n        fullName: getFullName(changes.firstName, changes.lastName),\n    };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"form\":\"CreatePartnerSidebarContent__form___BiO9z\",\"header\":\"CreatePartnerSidebarContent__header___SvP6g\",\"header__title\":\"CreatePartnerSidebarContent__header__title___ppkNN\",\"header__space\":\"CreatePartnerSidebarContent__header__space___UbLjb\",\"header__status\":\"CreatePartnerSidebarContent__header__status___YVTfv\",\"button--add\":\"CreatePartnerSidebarContent__button--add___WgPMq\",\"button--cancel\":\"CreatePartnerSidebarContent__button--cancel___zxQ_F\",\"button--save\":\"CreatePartnerSidebarContent__button--save___kBOZG\",\"buttons\":\"CreatePartnerSidebarContent__buttons___x6FxK\",\"section__title\":\"CreatePartnerSidebarContent__section__title___SuQZ0\",\"section__block\":\"CreatePartnerSidebarContent__section__block___pHOFG\",\"field--name\":\"CreatePartnerSidebarContent__field--name___rc46h\",\"field--type\":\"CreatePartnerSidebarContent__field--type___bkU8I\",\"field--street1\":\"CreatePartnerSidebarContent__field--street1___esNk5\",\"field--zip\":\"CreatePartnerSidebarContent__field--zip___iEDgW\",\"field--city\":\"CreatePartnerSidebarContent__field--city___B5ifQ\",\"field--legal-form\":\"CreatePartnerSidebarContent__field--legal-form___egIwz\",\"field-group\":\"CreatePartnerSidebarContent__field-group____UCbg\",\"field-group--rule\":\"CreatePartnerSidebarContent__field-group--rule___vz2qw\",\"field-group--schedule\":\"CreatePartnerSidebarContent__field-group--schedule___vPpqS\",\"controls\":\"CreatePartnerSidebarContent__controls___Bi5F0\",\"fadeIn\":\"CreatePartnerSidebarContent__fadeIn___bw0x1\",\"blinking\":\"CreatePartnerSidebarContent__blinking___tx2V4\"};","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"Notification__title___FTvhM\",\"inner\":\"Notification__inner___sNZuX\",\"message\":\"Notification__message___fUOlX\",\"notification\":\"Notification__notification___BIWt4\",\"content\":\"Notification__content___hffmr\",\"content__left\":\"Notification__content__left___UpCWH\",\"content__right\":\"Notification__content__right___jD9TF\",\"close\":\"Notification__close___FW5Q3\",\"fadeIn\":\"Notification__fadeIn___GDAU2\",\"blinking\":\"Notification__blinking___VzLvY\"};","import { ApiPriceComponentTypeT, ApiPriceSettingsRuleOperationT } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { PriceSettingsRuleStateEnum } from 'broker-admin/layouts/SettingsPage/PriceSettingsRules/constants';\nimport { ApiPriceRuleTypeRequestT, CountryCodeT } from 'common/utils/api/models';\n\nexport enum QueryKeysEnum {\n    rulesPage = 'rules-page',\n    rulesFilters = 'rules-filters',\n    rulesSort = 'rules-sort',\n}\n\nexport enum QueryFiltersKeysEnum {\n    rulesName = 'rules-name',\n    rulesPartnerIds = 'rules-partner-id',\n    rulesFromCountryCodes = 'rules-from-country-codes',\n    rulesTrailerTypeIds = 'rules-trailer-type-ids',\n    rulesToCountryCodes = 'rules-to-country-codes',\n    validFromFrom = 'rules-valid-from-from',\n    validFromTo = 'rules-valid-from-top',\n    validTillFrom = 'rules-valid-till-from',\n    validTillTo = 'rules-valid-till-to',\n    rulesImpactPriceComponent = 'rules-impact-price-component',\n    rulesImpactPriceOperation = 'rules-impact-price-operation',\n\n    createdDateFrom = 'createdDateFrom',\n    createdDateTo = 'createdDateTo',\n    createdByUserId = 'createdByUserId',\n    createdByUserName = 'createdByUserName',\n\n    lastModifyDateFrom = 'lastModifyDateFrom',\n    lastModifyDateTo = 'lastModifyDateTo',\n    lastModifyByUserId = 'lastModifyByUserId',\n    lastModifyByUserName = 'lastModifyByUserName',\n\n    rulesSearchText = 'rules-search-text',\n    rulesState = 'rules-state',\n    rulesTypes = 'rules-types',\n}\n\nexport type QueryFiltersT = Partial<{\n    [QueryFiltersKeysEnum.rulesName]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.rulesPartnerIds]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.rulesFromCountryCodes]: Array<CountryCodeT>;\n    [QueryFiltersKeysEnum.rulesTrailerTypeIds]: Array<TrailerDictIdT>;\n    [QueryFiltersKeysEnum.rulesToCountryCodes]: Array<CountryCodeT>;\n    [QueryFiltersKeysEnum.validFromFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.validFromTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateTo]: QueryParam.StringT;\n\n    [QueryFiltersKeysEnum.validTillFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.validTillTo]: QueryParam.StringT;\n\n    [QueryFiltersKeysEnum.rulesImpactPriceComponent]: QueryParam.ArrayT<ApiPriceComponentTypeT>;\n    [QueryFiltersKeysEnum.rulesImpactPriceOperation]: QueryParam.ArrayT<ApiPriceSettingsRuleOperationT>;\n\n    [QueryFiltersKeysEnum.createdDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.createdByUserId]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.createdByUserName]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.lastModifyDateFrom]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.lastModifyDateTo]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.lastModifyByUserId]: QueryParam.ArrayT<string>;\n    [QueryFiltersKeysEnum.lastModifyByUserName]: QueryParam.ArrayT<string>;\n\n    [QueryFiltersKeysEnum.rulesSearchText]: QueryParam.StringT;\n    [QueryFiltersKeysEnum.rulesState]: PriceSettingsRuleStateEnum;\n    [QueryFiltersKeysEnum.rulesTypes]: Array<ApiPriceRuleTypeRequestT>;\n}>;\n","import { BrokerTourStatsStateT } from './slice';\nimport { StateT } from '../models';\n\nexport const selectBrokerTourStatsRequest = (state: StateT): BrokerTourStatsStateT['fetchRequest'] =>\n    state.brokerTourStats.fetchRequest;\n\nexport const selectBrokerTourStats = (state: StateT): BrokerTourStatsStateT['stats'] => state.brokerTourStats.stats;\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    size: number;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst RadarIcon: React.FC<PropsT> = (props) => {\n    const { strokeColor, size, ...rest } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 20 20\" {...rest}>\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={strokeColor}\n                    d=\"M15.805 14.748A7.488 7.488 0 0017.5 10c0-4.14-3.36-7.5-7.5-7.5-4.14 0-7.5 3.36-7.5 7.5 0 4.14 3.36 7.5 7.5 7.5a7.488 7.488 0 005.332-2.227c.023-.023.038-.046.053-.06.15-.15.293-.308.42-.465zM10 16c-3.308 0-6-2.693-6-6 0-3.308 2.692-6 6-6 3.307 0 6 2.692 6 6a5.943 5.943 0 01-1.268 3.675l-1.072-1.073a4.49 4.49 0 00.825-2.595c0-2.482-2.018-4.5-4.5-4.5a4.504 4.504 0 00-4.5 4.5c0 2.483 2.018 4.5 4.5 4.5.975 0 1.883-.314 2.617-.847l1.066 1.065A5.867 5.867 0 0110 16zm1.44-5.617a1.485 1.485 0 00-.367-1.425l-.016-.016a1.492 1.492 0 00-2.085-.03c-.007.008-.022.015-.037.03a1.503 1.503 0 000 2.123l.015.015c.39.383.938.502 1.433.367l1.132 1.133c-.45.27-.968.435-1.53.435a3 3 0 110-6 3 3 0 013 3 2.93 2.93 0 01-.42 1.5l-1.125-1.133z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nRadarIcon.displayName = 'RadarIcon';\n\nconst storyProps: PropsT = {\n    size: DEFAULT_ICON_SIZE,\n    strokeColor: StyleGuideColorsEnum.brandDark,\n};\n\nexport { storyProps };\nexport default RadarIcon;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './TruckDetailsPage.scss';\nimport { useTranslation } from 'react-i18next';\nimport DetailsLayout from 'common/layouts/DetailsLayout/DetailsLayout';\nimport AssetDetailsMap from 'common/components/AssetDetailsMap/AssetDetailsMap';\nimport { AssetTypeEnum, QueryKeysEnum } from 'common/constants';\nimport useQuery from 'common/utils/hooks/useQuery';\nimport { cancelUnavailableVehicleRequest, fetchVehicleSchedule } from 'common/store/vehicle-schedules/actions';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n    selectCancelUnavailableVehicleRequestStatus,\n    selectFetchScheduleRequest,\n    selectVehicleSchedule,\n} from 'common/store/vehicle-schedules/selectors';\nimport { useParams } from 'react-router-dom';\nimport { formatQuery } from 'common/utils/query';\nimport PageTitle from 'common/components/PageTitle/PageTitle';\nimport { selectTrucksDetailsByIds } from 'common/store/trucks/selectors';\nimport isNumber from 'lodash/isNumber';\nimport AssetScheduleSidebar from 'common/components/AssetScheduleSidebar/AssetScheduleSidebar';\nimport usePartnerContext from 'common/utils/hooks/usePartnerContext';\nimport CommonEditableTruckDetailsLayout from 'common/layouts/CommonEditableTruckDetailsLayout/CommonEditableTruckDetailsLayout';\nimport { CommonSidebarsTypeEnum } from 'common/layouts/SideBars/models';\nimport { useOpenLeftSidebar } from 'common/layouts/SideBars/hooks';\nimport { useStateSafeHistory } from 'common/utils/hooks/useStateSafeHistory';\nimport { useAssetServiceLocationContextValue } from 'common/components/AssetSidebarContent/hooks/useAssetServiceLocationContextValue';\nimport AssetServiceLocationContext from 'common/components/AssetSidebarContent/contexts/asset-service-location-context';\nimport useGoogleMaps from 'common/utils/hooks/useGoogleMaps';\nimport GoogleMapContext from 'common/contexts/google-map-context';\nimport { PartnerTypeEnum } from 'common/utils/api/models';\nimport { usySyncMapState } from 'common/components/AssetSidebarContent/SetUnavailableForm/hooks/usySyncMapState';\nimport { SyncSetUnavailableFormMapStateContext } from 'common/components/AssetSidebarContent/SetUnavailableForm/contexts/sync-map-state';\nimport { logWarning } from 'common/utils/logger';\nimport CancelServiceMaintanceConfirmationModal, {\n    CancelServiceMaintanceConfirmationDataT,\n} from 'common/layouts/dialogs/CancelServiceMaintanceConfirmationModal/CancelServiceMaintanceConfirmationModal';\nimport useModalDialog from 'common/utils/hooks/useModalDialog';\nimport useCloseModalDialogAfterRequest from 'common/utils/hooks/useCloseModalDialogAfterRequest';\nimport { VehicleScheduleEventT } from 'common/store/vehicle-schedules/models';\nimport { InferChannelEventT } from 'common/utils/view-event-channel';\nimport { vehicleSchedulesRefreshChannel } from 'common/store/vehicle-schedules/channels';\nimport { getVehicleScheduleAroundDateISO } from 'common/store/vehicle-schedules/utils/around-date';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    onCloseMap: () => void;\n    onClose: () => void;\n    onOpenTransportOrderDetails?: (event: VehicleScheduleEventT) => void;\n};\n\ntype QueryT = {\n    [QueryKeysEnum.truckOrderId]?: string;\n};\n\nconst TruckDetailsPage: React.FC<PropsT> = React.memo((props) => {\n    const { onCloseMap, onClose, onOpenTransportOrderDetails } = props;\n\n    const assetServiceLocationContextValue = useAssetServiceLocationContextValue();\n\n    const openLeftSidebar = useOpenLeftSidebar();\n\n    const { partnerId } = usePartnerContext();\n\n    const { t } = useTranslation();\n\n    const params = useParams<{ truckId: string; partnerId: string }>();\n    const { truckId } = params;\n\n    const cancelServiceMaintanceConfirmation = useModalDialog<CancelServiceMaintanceConfirmationDataT>();\n    const cancelRequestStatus = useSelector(selectCancelUnavailableVehicleRequestStatus);\n    useCloseModalDialogAfterRequest(cancelRequestStatus, [cancelServiceMaintanceConfirmation]);\n\n    const detailsById = useSelector(selectTrucksDetailsByIds(partnerId));\n    const truckDetails = detailsById[truckId as string];\n\n    const dispatch = useDispatch();\n\n    const query = useQuery<QueryT>();\n\n    const { stateSafeHistory } = useStateSafeHistory();\n\n    const handleOrderClick = (orderId: string) => {\n        stateSafeHistory.replace({\n            search: formatQuery({\n                ...query,\n                [QueryKeysEnum.truckOrderId]: orderId,\n            }),\n        });\n    };\n\n    const scheduleAroundDate = React.useMemo(() => getVehicleScheduleAroundDateISO(), []);\n\n    const fetchScheduleRequestStatus = useSelector(selectFetchScheduleRequest(truckId, scheduleAroundDate));\n    const schedule = useSelector(selectVehicleSchedule(truckId, scheduleAroundDate));\n\n    React.useEffect(() => {\n        dispatch(fetchVehicleSchedule({ vehicleId: truckId, aroundDate: scheduleAroundDate }));\n    }, [truckId, dispatch, scheduleAroundDate]);\n\n    const refreshVehicleSchedulesHandler = React.useCallback(\n        (event: InferChannelEventT<typeof vehicleSchedulesRefreshChannel>) => {\n            const { vehicleId } = event;\n\n            if (vehicleId === truckId) {\n                dispatch(\n                    fetchVehicleSchedule(\n                        { vehicleId: truckId, aroundDate: scheduleAroundDate },\n                        { isForceUpdate: true },\n                    ),\n                );\n            }\n        },\n        [dispatch, truckId, scheduleAroundDate],\n    );\n    useChannelSubscribe(vehicleSchedulesRefreshChannel, refreshVehicleSchedulesHandler);\n\n    const currentPosition = React.useMemo((): GeoPointT | null => {\n        if (!truckDetails) {\n            return null;\n        }\n\n        const { latitude, longitude } = truckDetails;\n        if (!isNumber(latitude) || !isNumber(longitude)) {\n            return null;\n        }\n\n        return {\n            lat: latitude,\n            lng: longitude,\n        };\n    }, [truckDetails]);\n\n    const handleCloseMap = () => {\n        onCloseMap();\n    };\n\n    const handleOpenTruckDetails = (truckId: TruckIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenTruckDetails');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.truckDetails,\n            partnerId,\n            truckId,\n        });\n    };\n\n    const handleOpenContactDetails = (contractId: CarrierContractIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenContactDetails');\n            return;\n        }\n\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.carrierContract,\n            contractId,\n            initIsEditing: false,\n            partnerId,\n        });\n    };\n\n    const handleOpenUserDetails = (userId: UserIdT, isBrokerUser?: boolean) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenUserDetails');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.contact,\n            partnerId,\n            partnerType: isBrokerUser ? PartnerTypeEnum.broker : PartnerTypeEnum.carrier,\n            userId,\n        });\n    };\n\n    const handleOpenTrailerDetails = (trailerId: TrailerIdT) => {\n        if (!partnerId) {\n            logWarning('Empty partnerId in handleOpenTrailerDetails');\n            return;\n        }\n        openLeftSidebar({\n            type: CommonSidebarsTypeEnum.trailerDetails,\n            partnerId,\n            trailerId,\n        });\n    };\n\n    const handleConfirmCancelServiceMaintaince = (data: CancelServiceMaintanceConfirmationDataT) => {\n        if (!partnerId) {\n            return;\n        }\n\n        dispatch(cancelUnavailableVehicleRequest(data.query, partnerId));\n    };\n\n    const googleMaps = useGoogleMaps();\n    const googleMapsContextValue = React.useMemo(() => {\n        return {\n            googleMaps,\n        };\n    }, [googleMaps]);\n\n    const syncSetUnavailableFormMapStateContextValue = usySyncMapState();\n\n    return (\n        <GoogleMapContext.Provider value={googleMapsContextValue}>\n            <SyncSetUnavailableFormMapStateContext.Provider value={syncSetUnavailableFormMapStateContextValue}>\n                <AssetServiceLocationContext.Provider value={assetServiceLocationContextValue}>\n                    <PageTitle\n                        title={t('page-titles.truck-details', {\n                            plateNumber: truckDetails?.plateNumber,\n                        })}\n                    />\n                    <DetailsLayout\n                        className={cx('wrap')}\n                        sideBarTitle={t('common:order-details.main-tabs.details')}\n                        sideBarNode={\n                            <CommonEditableTruckDetailsLayout\n                                partnerId={partnerId}\n                                truckId={truckId}\n                                onClose={onClose}\n                                isShowMap\n                                onToggleShowMap={handleCloseMap}\n                                onOpenTrailerDetails={handleOpenTrailerDetails}\n                                onOpenTruckDetails={handleOpenTruckDetails}\n                                onOpenContactDetails={handleOpenContactDetails}\n                                onOpenUserDetails={handleOpenUserDetails}\n                            />\n                        }\n                        mapTitle={t('common:truck-page.tabs.map')}\n                        mapNode={\n                            <AssetDetailsMap\n                                type={AssetTypeEnum.truck}\n                                currentPosition={currentPosition}\n                                telematicUpdatedDate={truckDetails?.telematicUpdatedDate}\n                                isLoading={fetchScheduleRequestStatus.loading || !truckDetails}\n                            />\n                        }\n                        historyTitle={t('common:truck-page.tabs.activity')}\n                        historyNode={null}\n                        timelineTitle={t('common:timeline')}\n                        timelineNode={(close) => (\n                            <AssetScheduleSidebar\n                                type=\"truck\"\n                                isLoading={fetchScheduleRequestStatus.loading}\n                                onClose={close}\n                                onEventClick={handleOrderClick}\n                                selectedOrderId={query[QueryKeysEnum.truckOrderId]}\n                                schedule={schedule}\n                                onCancelServiceMaintance={(event) => {\n                                    if (!partnerId) {\n                                        return;\n                                    }\n\n                                    cancelServiceMaintanceConfirmation.setData({\n                                        companyId: partnerId,\n                                        assets: [\n                                            {\n                                                plateNumber: truckDetails?.plateNumber || '',\n                                            },\n                                        ],\n                                        query: {\n                                            truckId: truckDetails?.id,\n                                            id: event.id,\n                                        },\n                                    });\n                                }}\n                                onOpenTransportOrderDetails={onOpenTransportOrderDetails}\n                            />\n                        )}\n                    />\n                    <CancelServiceMaintanceConfirmationModal\n                        assetType=\"truck\"\n                        data={cancelServiceMaintanceConfirmation.data}\n                        onCancel={cancelServiceMaintanceConfirmation.onCancel}\n                        onClose={cancelServiceMaintanceConfirmation.onClose}\n                        onConfirm={handleConfirmCancelServiceMaintaince}\n                        requestStatus={cancelRequestStatus}\n                    />\n                </AssetServiceLocationContext.Provider>\n            </SyncSetUnavailableFormMapStateContext.Provider>\n        </GoogleMapContext.Provider>\n    );\n});\n\nexport default TruckDetailsPage;\n","import {\n    ADD_CONTACT_REQUEST,\n    ADD_MEMBER_REQUEST_BEGIN,\n    ADD_MEMBER_REQUEST_ERROR,\n    ADD_MEMBER_REQUEST_SUCCESS,\n    AddContactActionT,\n    AddMemberBeginActionT,\n    AddMemberErrorActionT,\n    AddMemberSuccessActionT,\n    CANCEL_INVITE,\n    CancelUserActionT,\n    CHANGE_USER_ROLE,\n    ChangeUserRoleActionT,\n    DELETE_CONTACT,\n    DELETE_MEMBER_REQUEST_BEGIN,\n    DELETE_MEMBER_REQUEST_ERROR,\n    DELETE_MEMBER_REQUEST_SUCCESS,\n    DELETE_USER,\n    DeleteContactActionT,\n    DeleteMemberBeginActionT,\n    DeleteMemberErrorActionT,\n    DeleteMemberSuccessActionT,\n    DeleteUserActionT,\n    FETCH_CONTACT_DETAILS_BY_USER_ID,\n    FETCH_CONTACT_DETAILS_REQUEST,\n    FETCH_CONTACT_DETAILS_REQUEST_BEGIN,\n    FETCH_CONTACT_DETAILS_REQUEST_ERROR,\n    FETCH_CONTACT_DETAILS_REQUEST_SUCCESS,\n    FETCH_CONTACTS_REQUEST,\n    FETCH_CONTACTS_REQUEST_BEGIN,\n    FETCH_CONTACTS_REQUEST_ERROR,\n    FETCH_CONTACTS_REQUEST_SUCCESS,\n    FetchContactDetailsActionT,\n    FetchContactDetailsBeginActionT,\n    FetchContactDetailsByUserIdActionT,\n    FetchContactDetailsErrorActionT,\n    FetchContactDetailsSuccessActionT,\n    FetchContactsActionT,\n    FetchContactsBeginActionT,\n    FetchContactsErrorActionT,\n    FetchContactsSuccessActionT,\n    INVITE_USER_REQUEST,\n    InviteUserActionT,\n    MAKE_MAIN_CONTACT,\n    MakeMainContactActionT,\n    RESTORE_USER,\n    RestoreUserActionT,\n    UPDATE_CONTACT,\n    UPDATE_MEMBER_REQUEST_BEGIN,\n    UPDATE_MEMBER_REQUEST_ERROR,\n    UPDATE_MEMBER_REQUEST_SUCCESS,\n    UpdateContactActionT,\n    UpdateMemberBeginActionT,\n    UpdateMemberErrorActionT,\n    UpdateMemberSuccessActionT,\n} from './types';\nimport { CompanyContactDetailsT, CompanyContactT, InviteUserRequestT } from './models';\n\nimport { ApiCompanyContactRequestT, ApiNewUserRoleT } from 'common/utils/api/models';\n\nexport const fetchContacts = (companyId: CompanyIdT, options?: FetchOptionsT): FetchContactsActionT => {\n    return {\n        type: FETCH_CONTACTS_REQUEST,\n        companyId,\n        options,\n    };\n};\n\nexport const fetchContactsBegin = (companyId: CompanyIdT): FetchContactsBeginActionT => ({\n    type: FETCH_CONTACTS_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const fetchContactsSuccess = (\n    companyContacts: CompanyContactT[],\n    companyId: CompanyIdT,\n): FetchContactsSuccessActionT => ({\n    type: FETCH_CONTACTS_REQUEST_SUCCESS,\n    companyContacts,\n    companyId,\n});\n\nexport const fetchContactsError = (error: Error, companyId: CompanyIdT): FetchContactsErrorActionT => ({\n    type: FETCH_CONTACTS_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const addContact = (newContact: ApiCompanyContactRequestT, companyId: CompanyIdT): AddContactActionT => ({\n    type: ADD_CONTACT_REQUEST,\n    newContact,\n    companyId,\n});\n\nexport const inviteUser = (newUser: InviteUserRequestT, companyId: CompanyIdT): InviteUserActionT => ({\n    type: INVITE_USER_REQUEST,\n    newUser,\n    companyId,\n});\n\nexport const addMemberBegin = (companyId: CompanyIdT): AddMemberBeginActionT => ({\n    type: ADD_MEMBER_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const addMemberSuccess = (companyId: CompanyIdT): AddMemberSuccessActionT => ({\n    type: ADD_MEMBER_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const addMemberError = (error: Error, companyId: CompanyIdT): AddMemberErrorActionT => ({\n    type: ADD_MEMBER_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const deleteContact = (contactId: ContactIdT, companyId: CompanyIdT): DeleteContactActionT => ({\n    type: DELETE_CONTACT,\n    contactId,\n    companyId,\n});\n\nexport const deleteUser = (userId: UserIdT, companyId: CompanyIdT): DeleteUserActionT => ({\n    type: DELETE_USER,\n    userId,\n    companyId,\n});\n\nexport const cancelInvite = (userId: UserIdT, companyId: CompanyIdT): CancelUserActionT => ({\n    type: CANCEL_INVITE,\n    userId,\n    companyId,\n});\n\nexport const restoreUser = (userId: UserIdT, companyId: CompanyIdT): RestoreUserActionT => ({\n    type: RESTORE_USER,\n    userId,\n    companyId,\n});\n\nexport const deleteMemberBegin = (companyId: CompanyIdT): DeleteMemberBeginActionT => ({\n    type: DELETE_MEMBER_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const deleteMemberSuccess = (companyId: CompanyIdT): DeleteMemberSuccessActionT => ({\n    type: DELETE_MEMBER_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const deleteMemberError = (error: Error, companyId: CompanyIdT): DeleteMemberErrorActionT => ({\n    type: DELETE_MEMBER_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const changeUserRole = (\n    roles: ApiNewUserRoleT[],\n    userId: UserIdT,\n    companyId: CompanyIdT,\n): ChangeUserRoleActionT => ({\n    type: CHANGE_USER_ROLE,\n    userId,\n    roles,\n    companyId,\n});\n\nexport const makeMainContact = (contactId: ContactIdT, companyId: CompanyIdT): MakeMainContactActionT => ({\n    type: MAKE_MAIN_CONTACT,\n    contactId,\n    companyId,\n});\n\nexport const updateContact = (\n    contactId: ContactIdT,\n    contactChanges: ApiCompanyContactRequestT,\n    companyId: CompanyIdT,\n): UpdateContactActionT => ({\n    type: UPDATE_CONTACT,\n    contactId,\n    contactChanges,\n    companyId,\n});\n\nexport const updateMemberBegin = (companyId: CompanyIdT): UpdateMemberBeginActionT => ({\n    type: UPDATE_MEMBER_REQUEST_BEGIN,\n    companyId,\n});\n\nexport const updateMemberSuccess = (companyId: CompanyIdT): UpdateMemberSuccessActionT => ({\n    type: UPDATE_MEMBER_REQUEST_SUCCESS,\n    companyId,\n});\n\nexport const updateMemberError = (error: Error, companyId: CompanyIdT): UpdateMemberErrorActionT => ({\n    type: UPDATE_MEMBER_REQUEST_ERROR,\n    error,\n    companyId,\n});\n\nexport const fetchContactDetails = (contactId: ContactIdT): FetchContactDetailsActionT => ({\n    type: FETCH_CONTACT_DETAILS_REQUEST,\n    contactId,\n});\n\nexport const fetchContactDetailsByUserId = (userId: UserIdT): FetchContactDetailsByUserIdActionT => ({\n    type: FETCH_CONTACT_DETAILS_BY_USER_ID,\n    userId,\n});\n\nexport const fetchContactDetailsBegin = (): FetchContactDetailsBeginActionT => ({\n    type: FETCH_CONTACT_DETAILS_REQUEST_BEGIN,\n});\n\nexport const fetchContactDetailsSuccess = (\n    contactId: ContactIdT,\n    details: CompanyContactDetailsT | null,\n): FetchContactDetailsSuccessActionT => ({\n    type: FETCH_CONTACT_DETAILS_REQUEST_SUCCESS,\n    contactId,\n    details,\n});\n\nexport const fetchContactDetailsError = (error: Error): FetchContactDetailsErrorActionT => ({\n    type: FETCH_CONTACT_DETAILS_REQUEST_ERROR,\n    error,\n});\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport ControlLoaderIcon from 'common/icons/ControlLoaderIcon';\nimport { fetchCountriesDict } from 'common/store/countries-dict/actions';\nimport { selectCountriesByCode, selectCountriesDictRequest } from 'common/store/countries-dict/selectors';\nimport { CountryCodeT } from 'common/utils/api/models';\n\ntype PropsT = {\n    countryCodes: Array<CountryCodeT> | null | undefined;\n};\n\nconst CountriesFilterPill: React.FC<PropsT> = React.memo((props) => {\n    const { countryCodes } = props;\n\n    const dispatch = useDispatch();\n\n    const countryByCode = useSelector(selectCountriesByCode);\n    const requestStatus = useSelector(selectCountriesDictRequest);\n\n    React.useEffect(() => {\n        dispatch(fetchCountriesDict());\n    }, [dispatch]);\n\n    if (!countryCodes || !countryCodes.length) {\n        return null;\n    }\n\n    if (requestStatus.loading) {\n        return <ControlLoaderIcon fillColor={StyleGuideColorsEnum.white} size={DEFAULT_ICON_SIZE} />;\n    }\n\n    const label = countryCodes\n        .map((countryCode) => {\n            const country = countryByCode[countryCode];\n            if (!country) {\n                return countryCode;\n            }\n\n            return country.userLangDisplayName;\n        })\n        .join(', ');\n\n    return <span>{label}</span>;\n});\n\nexport default CountriesFilterPill;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrap\":\"ChangeRatesForm__wrap___vR8S6\",\"field--value\":\"ChangeRatesForm__field--value___oqZ6m\",\"field--type\":\"ChangeRatesForm__field--type___o4zmN\",\"fadeIn\":\"ChangeRatesForm__fadeIn___Vu_Ny\",\"blinking\":\"ChangeRatesForm__blinking___VAGk0\"};","import {\n    FETCH_MANAGERS_REQUEST,\n    FETCH_MANAGERS_REQUEST_BEGIN,\n    FETCH_MANAGERS_REQUEST_ERROR,\n    FETCH_MANAGERS_REQUEST_SUCCESS,\n    FetchManagersActionT,\n    FetchManagersBeginActionT,\n    FetchManagersErrorActionT,\n    FetchManagersSuccessActionT,\n} from './types';\n\nimport { ManagerT } from './models';\n\nexport const fetchManagers = (): FetchManagersActionT => ({\n    type: FETCH_MANAGERS_REQUEST,\n});\n\nexport const fetchManagersBegin = (): FetchManagersBeginActionT => ({\n    type: FETCH_MANAGERS_REQUEST_BEGIN,\n});\n\nexport const fetchManagersSuccess = (managers: ManagerT[]): FetchManagersSuccessActionT => ({\n    type: FETCH_MANAGERS_REQUEST_SUCCESS,\n    managers,\n});\n\nexport const fetchManagersError = (error: Error): FetchManagersErrorActionT => ({\n    type: FETCH_MANAGERS_REQUEST_ERROR,\n    error,\n});\n","import * as React from 'react';\nimport PillLabel, { PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport { useTranslation } from 'react-i18next';\n\ntype PropsT = {};\n\nconst DriverWrongCheckPointPill: React.FC<PropsT> = React.memo(() => {\n    const { t } = useTranslation();\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.centerLeft}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                    {t('common:driver-wrong-checkpoint-pill.tooltip')}\n                </TooltipContent>\n            }\n        >\n            {(isShow, childrenClassName) => (\n                <PillLabel\n                    className={childrenClassName}\n                    theme={PillLabelThemeEnum.charcoal}\n                    testSelector=\"driver-wrong-checkpoint\"\n                >\n                    {t('common:driver-wrong-checkpoint-pill.label')}\n                </PillLabel>\n            )}\n        </Tooltip>\n    );\n});\n\nexport default DriverWrongCheckPointPill;\n","import * as React from 'react';\nimport {\n    ApiAttachPapersUnavailableReasonT,\n    ApiShipmentPaperT,\n    ApiShipmentAttachedPaperTypeT,\n    PartnerTypeEnum,\n} from 'common/utils/api/models';\nimport PapersGrid from 'common/components/papers/PapersGrid/PapersGrid';\nimport PaperLayout from 'common/components/papers/PaperLayout/PaperLayout';\nimport PapersGroup from 'common/components/papers/PapersGroup/PapersGroup';\nimport ShipmentPaperTypeLabel from 'common/components/papers/labels/ShipmentPaperTypeLabel/ShipmentPaperTypeLabel';\nimport AttachPapersUnavailableReasonLabel from 'common/components/papers/labels/AttachPapersUnavailableReasonLabel/AttachPapersUnavailableReasonLabel';\nimport { logWarning } from 'common/utils/logger';\nimport { selectPapersEditByPaperIdState, selectShipmentChangesById } from 'common/store/papers-edit/selectors';\nimport { shipmentAttachedPaperTypeOrder } from 'common/store/papers-edit/constants';\nimport { ShipmentOptimisticAttachPaperT } from 'common/store/papers-edit/models';\nimport { useSelector } from 'react-redux';\nimport { PapersEmptyPlaceholder } from 'common/components/papers/message-placeholders/PapersEmptyPlaceholder/PapersEmptyPlaceholder';\nimport { getVisibleOptimisticPapers } from 'common/components/papers/utils/getVisibleOptimisticPapers';\nimport { getTotalWithOptimisticPapersCount } from 'common/components/papers/utils/getTotalWithOptimisticPapersCount';\nimport { checkIsPDFFile } from 'common/utils/file-name';\n\ntype PropsT = {\n    attachedPapers: Array<ApiShipmentPaperT> | null;\n    shipmentId: ShipmentIdT | null;\n    onOpenUserDetails?: (params: {\n        userId: UserIdT | null;\n        partnerType?: PartnerTypeEnum;\n        partnerId?: PartnerIdT;\n    }) => void;\n    onOpenDriverDetails?: (params: { driverId: DriverIdT; partnerId: PartnerIdT }) => void;\n    getShipmentPaperThumbnailUrl: (shipmentId: ShipmentIdT | null, paperId: PaperIdT | null) => string | null;\n    onOpenGalleryShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onDownloadShipmentPaper: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onDeleteShipmentPaper?: (shipmentId: ShipmentIdT, paperId: PaperIdT) => void;\n    onAttachShipmentPaper?: (shipmentId: ShipmentIdT, paperType: ApiShipmentAttachedPaperTypeT) => void;\n    attachPapersUnavailableReason?: ApiAttachPapersUnavailableReasonT | null;\n    isHideUserInfo?: boolean;\n};\n\ntype PaperGroupT = {\n    paperType: ApiShipmentAttachedPaperTypeT | null;\n    attachedPapers: Array<ApiShipmentPaperT>;\n    optimisticPapers: Array<ShipmentOptimisticAttachPaperT>;\n};\n\nconst ShipmentPapersTabContent: React.FC<PropsT> = React.memo((props) => {\n    const {\n        attachedPapers,\n        shipmentId,\n        getShipmentPaperThumbnailUrl,\n        onOpenGalleryShipmentPaper,\n        onDownloadShipmentPaper,\n        onDeleteShipmentPaper,\n        onOpenUserDetails,\n        onOpenDriverDetails,\n        onAttachShipmentPaper,\n        attachPapersUnavailableReason,\n        isHideUserInfo,\n    } = props;\n\n    const handleOpenGallery = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT | null) => {\n            if (!shipmentId || !paperId) {\n                logWarning('failed open gallery paper, empty shipmentId or paperId');\n                return;\n            }\n            onOpenGalleryShipmentPaper(shipmentId, paperId);\n        },\n        [shipmentId, onOpenGalleryShipmentPaper],\n    );\n\n    const handleDownload = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT | null) => {\n            if (!shipmentId || !paperId) {\n                logWarning('failed download paper, empty shipmentId or paperId');\n                return;\n            }\n            onDownloadShipmentPaper(shipmentId, paperId);\n        },\n        [shipmentId, onDownloadShipmentPaper],\n    );\n\n    const handleDelete = React.useCallback(\n        (event: React.MouseEvent<HTMLElement>, paperId: PaperIdT | null) => {\n            if (!shipmentId || !paperId) {\n                logWarning('failed delete paper, empty shipmentId or paperId');\n                return;\n            }\n            onDeleteShipmentPaper?.(shipmentId, paperId);\n        },\n        [shipmentId, onDeleteShipmentPaper],\n    );\n\n    const shipmentChanges = useSelector(selectShipmentChangesById(shipmentId));\n    const papersEditStateById = useSelector(selectPapersEditByPaperIdState);\n\n    const papersGroups = React.useMemo<Array<PaperGroupT>>(() => {\n        const attachedPapersByType = new Map<ApiShipmentAttachedPaperTypeT | null, Array<ApiShipmentPaperT>>();\n        const optimisticPapersByType = new Map<\n            ApiShipmentAttachedPaperTypeT | null,\n            Array<ShipmentOptimisticAttachPaperT>\n        >();\n\n        // Group attachedPapers by paperType\n        if (attachedPapers) {\n            attachedPapers.forEach((paper) => {\n                const paperType = paper.paperType || null;\n                if (!attachedPapersByType.has(paperType)) {\n                    attachedPapersByType.set(paperType, []);\n                }\n                attachedPapersByType.get(paperType)?.push(paper);\n            });\n        }\n\n        // Group optimisticPapers by paperType\n        if (shipmentChanges?.optimisticPapers) {\n            shipmentChanges.optimisticPapers.forEach((optimisticPaper) => {\n                const paperType = optimisticPaper.paperType || null;\n                if (!optimisticPapersByType.has(paperType)) {\n                    optimisticPapersByType.set(paperType, []);\n                }\n                optimisticPapersByType.get(paperType)?.push(optimisticPaper);\n            });\n        }\n\n        // Combine all possible groups\n        const allPaperTypes = new Set<ApiShipmentAttachedPaperTypeT | null>();\n        attachedPapersByType.forEach((_, type) => allPaperTypes.add(type));\n        optimisticPapersByType.forEach((_, type) => allPaperTypes.add(type));\n\n        const groups: Array<PaperGroupT> = Array.from(allPaperTypes).map((paperType) => ({\n            paperType,\n            attachedPapers: attachedPapersByType.get(paperType) || [],\n            optimisticPapers: optimisticPapersByType.get(paperType) || [],\n        }));\n\n        // Sort groups by shipmentAttachedPaperTypeOrder\n        groups.sort((a, b) => {\n            const aIndex = a.paperType ? shipmentAttachedPaperTypeOrder.indexOf(a.paperType) : -1;\n            const bIndex = b.paperType ? shipmentAttachedPaperTypeOrder.indexOf(b.paperType) : -1;\n\n            // If type is not found in sort order, place at the end\n            if (aIndex === -1 && bIndex === -1) {\n                return 0;\n            }\n            if (aIndex === -1) {\n                return 1;\n            }\n            if (bIndex === -1) {\n                return -1;\n            }\n\n            return aIndex - bIndex;\n        });\n\n        return groups;\n    }, [attachedPapers, shipmentChanges?.optimisticPapers]);\n\n    if (!attachedPapers?.length && !shipmentChanges?.optimisticPapers?.length) {\n        return <PapersEmptyPlaceholder />;\n    }\n\n    return (\n        <>\n            {papersGroups?.map((group) => {\n                const visibleOptimisticPapers = getVisibleOptimisticPapers({\n                    optimisticPapers: group.optimisticPapers,\n                    entityPapers: group.attachedPapers,\n                });\n                const totalCount = getTotalWithOptimisticPapersCount({\n                    optimisticPapers: group.optimisticPapers,\n                    entityPapers: group.attachedPapers,\n                });\n                if (totalCount === 0) {\n                    return null;\n                }\n\n                const handleAttachNew = () => {\n                    if (!shipmentId || !group.paperType) {\n                        logWarning('failed to attach paper, empty shipmentId or paperType');\n                        return;\n                    }\n                    onAttachShipmentPaper?.(shipmentId, group.paperType);\n                };\n\n                return (\n                    <PapersGroup\n                        key={group.paperType}\n                        count={totalCount}\n                        title={<ShipmentPaperTypeLabel type={group.paperType || undefined} />}\n                        onAttachNew={onAttachShipmentPaper && handleAttachNew}\n                        isAttachDisabled={Boolean(attachPapersUnavailableReason)}\n                        attachTooltipMessage={\n                            attachPapersUnavailableReason ? (\n                                <AttachPapersUnavailableReasonLabel reason={attachPapersUnavailableReason} />\n                            ) : undefined\n                        }\n                        isInitialOpen\n                    >\n                        <PapersGrid>\n                            {group.attachedPapers.map((paper) => {\n                                const thumbnailUrl = getShipmentPaperThumbnailUrl(shipmentId, paper.id || null);\n                                const alt = paper.comment ? `${paper.comment} ${paper.createDate || ''}` : null;\n                                if (!paper.id) {\n                                    return null;\n                                }\n\n                                const paperEditState = papersEditStateById[paper.id];\n\n                                const isPdfPaper = checkIsPDFFile(paper.fileName);\n\n                                return (\n                                    <PaperLayout\n                                        key={paper.id}\n                                        paperId={paper.id}\n                                        imageSrc={thumbnailUrl}\n                                        imageAlt={alt}\n                                        date={paper.createDate || null}\n                                        userName={paper.createdByName || null}\n                                        userId={paper.createdById || null}\n                                        createdByRole={paper.createdByRole || null}\n                                        originalFileName={paper.fileName || null}\n                                        onClick={isPdfPaper ? handleDownload : handleOpenGallery}\n                                        onOpenUserDetails={onOpenUserDetails}\n                                        onOpenDriverDetails={onOpenDriverDetails}\n                                        onDownload={handleDownload}\n                                        onDelete={onDeleteShipmentPaper && handleDelete}\n                                        deleteUnavailableReason={paper?.deleteUnavailableReason || null}\n                                        isDeleting={paperEditState?.deleteRequest?.loading}\n                                        isHideUserInfo={isHideUserInfo}\n                                    />\n                                );\n                            })}\n                            {visibleOptimisticPapers.map((optimisticPaper) => {\n                                return (\n                                    <PaperLayout\n                                        key={optimisticPaper.fakeId}\n                                        paperId={optimisticPaper.fakeId}\n                                        isUploading\n                                        isHideUserInfo={isHideUserInfo}\n                                    />\n                                );\n                            })}\n                        </PapersGrid>\n                    </PapersGroup>\n                );\n            })}\n        </>\n    );\n});\n\nexport { ShipmentPapersTabContent };\n","import * as React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './DividerTrigger.scss';\nimport cs from 'classnames';\nimport PlusIcon from 'common/icons/PlusIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\nexport type DividerTriggerPropsT = {\n    className?: string;\n    isActive?: boolean;\n    onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n};\n\nconst DividerTrigger: React.FC<DividerTriggerPropsT> = React.memo((props) => {\n    const { className, isActive, onClick } = props;\n\n    return (\n        <div\n            className={cs(\n                cx('divider', {\n                    'divider--isClickable': true,\n                    'divider--isToggled': isActive,\n                }),\n                className,\n            )}\n            data-test-selector=\"divider\"\n            onClick={onClick}\n        >\n            <div className={cx('divider__line')} />\n            <div className={cx('divider__icon')}>\n                <PlusIcon size={DEFAULT_ICON_SIZE} strokeColor={StyleGuideColorsEnum.currentColor} />\n            </div>\n        </div>\n    );\n});\n\nexport { DividerTrigger };\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './StatisticsChart.scss';\n\nimport useDimensions from 'common/utils/hooks/useDimensions';\nimport { DataItemT } from './models';\n\nimport Chart from './Chart/Chart';\nimport moment from 'moment';\nimport { GraphSettingsT } from 'broker-admin/layouts/StatisticsPage/models';\nimport { StatisticGranularityEnum } from 'broker-admin/utils/api/broker-tranziit/models';\nimport { DoneStatisticT, RejectStatisticT } from 'broker-admin/store/statistics/models';\nimport { formatMoney } from 'common/components/Money/Money';\nimport { CurrencyEnum } from 'common/constants';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    settings: GraphSettingsT;\n    granularity: StatisticGranularityEnum;\n    doneStatistics: DoneStatisticT | null;\n    rejectStatistics: RejectStatisticT | null;\n};\n\nconst MARGIN = {\n    top: 40,\n    bottom: 40,\n    left: 60,\n    right: 40,\n};\n\nconst FORMAT_BY_GRANULARITY: Record<StatisticGranularityEnum, string> = {\n    [StatisticGranularityEnum.day]: 'DD MMM',\n    [StatisticGranularityEnum.week]: 'DD MMM',\n    [StatisticGranularityEnum.month]: 'MMM',\n};\n\nconst StatisticsChart: React.FC<PropsT> = React.memo((props) => {\n    const { settings, granularity, doneStatistics, rejectStatistics } = props;\n\n    const { dimensions, ref } = useDimensions({ liveMeasure: true });\n\n    const data = useMemo((): DataItemT[] => {\n        const series = doneStatistics?.series || [];\n\n        return series.map((_, index) => {\n            const doneStat = doneStatistics?.series?.[index] || null;\n            const rejectStat = rejectStatistics?.series?.[index] || null;\n\n            const base = {\n                rejectedShipperRate: rejectStat?.avgShipperRate || 0,\n                acceptedShipperRate: doneStat?.avgShipperRate || 0,\n                estimatedCarrierRate: doneStat?.avgCarrierRateEstimate || 0,\n                realCarrierRate: doneStat?.avgCarrierRate || 0,\n            };\n\n            return {\n                ...base,\n                timestamp: moment(doneStat?.dateKey).valueOf(),\n                tooltipData: {\n                    ...base,\n                    margin: doneStat?.avgMarginRate || 0,\n                    deadhead: doneStat?.avgDeadheadPercent || 0,\n                    avgDistance: Math.round(doneStat?.avgDistanceKm || 0),\n                },\n            };\n        });\n    }, [doneStatistics, rejectStatistics]);\n\n    return (\n        <div className={cx('container')} ref={ref}>\n            {dimensions && (\n                <div className={cx('chart')}>\n                    <Chart\n                        margin={MARGIN}\n                        width={dimensions.width}\n                        height={dimensions.height}\n                        settings={settings}\n                        data={data}\n                        xTickFormatter={(date) => moment(date).format(FORMAT_BY_GRANULARITY[granularity])}\n                        yTickFormatter={(value) =>\n                            formatMoney({\n                                amount: value,\n                                currency: CurrencyEnum.EUR,\n                            })\n                        }\n                    />\n                </div>\n            )}\n        </div>\n    );\n});\n\nexport default StatisticsChart;\n","import * as React from 'react';\n\nimport cs from 'classnames';\nimport classNames from 'classnames/bind';\n\nimport styles from './RouteLocationsOverview.scss';\nimport { ApiLocationT, ApiOrderWaypointT, CountryCodeT } from 'common/utils/api/models';\nimport { formatTimeInterval } from 'common/utils/time';\nimport FlagIcon from 'common/icons/FlagIcon/FlagIcon';\nimport RightArrowIcon from 'common/icons/RightArrowIcon';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport AsyncDictCountryNameLabel from 'common/components/AsyncDictCountryNameLabel/AsyncDictCountryNameLabel';\n\ntype PropsT = {\n    origin?: ApiOrderWaypointT['address'];\n    pickupDockingHoursFrom?: ApiOrderWaypointT['originalDateTimeFrom'];\n    pickupDockingHoursTo?: ApiOrderWaypointT['originalDateTimeTo'];\n    destination?: ApiOrderWaypointT['address'];\n    dropOffDockingHoursFrom?: ApiOrderWaypointT['originalDateTimeFrom'];\n    dropOffDockingHoursTo?: ApiOrderWaypointT['originalDateTimeTo'];\n    className?: string;\n};\n\nconst cx = classNames.bind(styles);\n\ntype TimeIntervalT = {\n    from: string;\n    to: string;\n};\n\nconst FULL_DATE_FORMAT = 'D MMM YYYY';\n\nconst RouteLocationsOverview: React.FC<PropsT> = React.memo((props) => {\n    const {\n        origin,\n        pickupDockingHoursFrom,\n        pickupDockingHoursTo,\n        destination,\n        dropOffDockingHoursFrom,\n        dropOffDockingHoursTo,\n        className,\n    } = props;\n\n    const renderLocationNode = (\n        locationNode: React.ReactNode,\n        countryCode: CountryCodeT | undefined,\n        countryNode: React.ReactNode,\n        timeWindowNode: React.ReactNode,\n    ): React.ReactNode => {\n        return (\n            <div className={cx('location')}>\n                <div className={cx('location__locality')} data-test-selector={`${testSelector}_location`}>\n                    {locationNode}\n                </div>\n                <div className={cx('location__country')} data-test-selector={`${testSelector}_country`}>\n                    <FlagIcon className={cx('location__flag')} countryCode={countryCode} />\n                    {countryNode}\n                </div>\n                <div className={cx('location__time-window')} data-test-selector={`${testSelector}_time-window`}>\n                    {timeWindowNode}\n                </div>\n            </div>\n        );\n    };\n\n    const renderCountry = (location: ApiLocationT | undefined): React.ReactNode => {\n        if (!location) {\n            return null;\n        }\n\n        return <AsyncDictCountryNameLabel countryCode={location.country} />;\n    };\n\n    const renderLocation = (\n        location: ApiLocationT | undefined,\n        timeInterval: TimeIntervalT,\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        testSelector: string,\n    ): React.ReactNode => {\n        if (!location) {\n            return renderLocationNode(\n                <div className={cx('skeleton')} style={{ width: '30%' }} />,\n                undefined,\n                <div className={cx('skeleton')} style={{ width: '30%' }} />,\n                <div className={cx('skeleton')} style={{ width: '60%' }} />,\n            );\n        }\n\n        const title = [location.zipCode, location.city].filter((value) => !!value).join(', ');\n\n        return renderLocationNode(\n            title,\n            location.country,\n            renderCountry(location),\n            formatTimeInterval(timeInterval.from, timeInterval.to, FULL_DATE_FORMAT),\n        );\n    };\n\n    const testSelector = 'order-route';\n\n    return (\n        <div className={cs(cx('route'), className)}>\n            <div className={cx('route__location')}>\n                {renderLocation(\n                    origin,\n                    {\n                        from: pickupDockingHoursFrom || '',\n                        to: pickupDockingHoursTo || '',\n                    },\n                    `${testSelector}_origin`,\n                )}\n            </div>\n            <div className={cx('route__direction')}>\n                <RightArrowIcon fillColor={StyleGuideColorsEnum.light} />\n            </div>\n            <div className={cx('route__location')}>\n                {renderLocation(\n                    destination,\n                    {\n                        from: dropOffDockingHoursFrom || '',\n                        to: dropOffDockingHoursTo || '',\n                    },\n                    `${testSelector}_destination`,\n                )}\n            </div>\n        </div>\n    );\n});\n\nexport default RouteLocationsOverview;\n","import { ViewEventChannel } from 'common/utils/view-event-channel';\n\nexport const documentsRefreshChannel = new ViewEventChannel<{}>();\n\nexport const partnerDocumentsRefreshChannel = new ViewEventChannel<{}>();\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"BaseShipperContractsTable__table__header____bVXb\",\"table__header--id\":\"BaseShipperContractsTable__table__header--id___sGkua\",\"table__header--name\":\"BaseShipperContractsTable__table__header--name___g544C\",\"table__header--orders-counter\":\"BaseShipperContractsTable__table__header--orders-counter___Aa_7J\",\"table__header--uploaded\":\"BaseShipperContractsTable__table__header--uploaded___TW2v3\",\"table__header--expire-date\":\"BaseShipperContractsTable__table__header--expire-date___Kuxry\",\"table__header--status\":\"BaseShipperContractsTable__table__header--status____QKq0\",\"table__column\":\"BaseShipperContractsTable__table__column___g4jfk\",\"table__column--id\":\"BaseShipperContractsTable__table__column--id___uZa22\",\"table__column--name\":\"BaseShipperContractsTable__table__column--name___SNdq9\",\"table__column--uploaded\":\"BaseShipperContractsTable__table__column--uploaded___eOBQP\",\"table__column--orders-counter\":\"BaseShipperContractsTable__table__column--orders-counter___x9Bgi\",\"table__column--expire-date\":\"BaseShipperContractsTable__table__column--expire-date___nb9xO\",\"table__column--status\":\"BaseShipperContractsTable__table__column--status___QqC8H\",\"fadeIn\":\"BaseShipperContractsTable__fadeIn___JoZl6\",\"blinking\":\"BaseShipperContractsTable__blinking___FcAVY\"};","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\nimport isNumber from 'lodash/isNumber';\n\nconst routePolylineOptions = {\n    strokeOpacity: 1.0,\n    strokeWeight: 4,\n};\n\nconst routeShadowPolylineOptions = {\n    strokeColor: StyleGuideColorsEnum.white,\n    strokeOpacity: 1.0,\n    strokeWeight: 6,\n};\n\nexport enum MapRouteThemeEnum {\n    assignmentRoute = 'assignment-route',\n    assignmentAccent = 'assignment-accent',\n    assignmentAttention = 'assignment-attention',\n    assignmentWarning = 'assignment-warning',\n    assignmentPositive = 'assignment-positive',\n    assignmentSelected = 'assignment-selected',\n    trackFuture = 'track-future',\n    trackPast = 'track-past',\n    trackCurrent = 'track-current',\n    orderCreation = 'order-creation',\n    laneCreation = 'lane-creation',\n    editOrderOld = 'edit-order-old',\n    editOrderNew = 'edit-order-new',\n    tourDeadhead = 'tour-deadhead',\n}\n\nconst COLOR_MAP: Record<MapRouteThemeEnum, StyleGuideColorsEnum> = {\n    [MapRouteThemeEnum.assignmentRoute]: StyleGuideColorsEnum.gray,\n    [MapRouteThemeEnum.assignmentAccent]: StyleGuideColorsEnum.charcoal,\n    [MapRouteThemeEnum.assignmentAttention]: StyleGuideColorsEnum.orange,\n    [MapRouteThemeEnum.assignmentWarning]: StyleGuideColorsEnum.tomatoRed,\n    [MapRouteThemeEnum.assignmentPositive]: StyleGuideColorsEnum.brandAccent,\n    [MapRouteThemeEnum.assignmentSelected]: StyleGuideColorsEnum.charcoal,\n    [MapRouteThemeEnum.trackCurrent]: StyleGuideColorsEnum.brandAccent,\n    [MapRouteThemeEnum.trackPast]: StyleGuideColorsEnum.brandAccent,\n    [MapRouteThemeEnum.trackFuture]: StyleGuideColorsEnum.gray,\n    [MapRouteThemeEnum.orderCreation]: StyleGuideColorsEnum.brandDark,\n    [MapRouteThemeEnum.laneCreation]: StyleGuideColorsEnum.charcoal,\n    [MapRouteThemeEnum.editOrderOld]: StyleGuideColorsEnum.gray,\n    [MapRouteThemeEnum.editOrderNew]: StyleGuideColorsEnum.orange,\n    [MapRouteThemeEnum.tourDeadhead]: StyleGuideColorsEnum.gray,\n};\n\nconst HOVER_COLOR_MAP: Record<MapRouteThemeEnum, StyleGuideColorsEnum> = {\n    ...COLOR_MAP,\n};\n\ntype PropsT = {\n    map: MapT | null | undefined;\n    maps: MapsT | null | undefined;\n    theme: MapRouteThemeEnum;\n\n    geometryLibrary?: GeometryLibraryT | null | undefined;\n\n    polylines?: Array<GooglePolylineT> | null | undefined;\n    route?: Array<GeoPointT> | null | undefined;\n\n    zIndex?: number;\n};\n\nconst MapRoute: React.FC<PropsT> = React.memo((props) => {\n    const { map, maps, theme, polylines, route, geometryLibrary, zIndex } = props;\n\n    const routePolylinesRef = React.useRef<Array<google.maps.Polyline>>([]);\n\n    const [isHover, setHover] = React.useState<boolean>(false);\n\n    const strokeColor = isHover ? HOVER_COLOR_MAP[theme] : COLOR_MAP[theme];\n\n    React.useEffect(() => {\n        if (!maps || !map) {\n            return;\n        }\n\n        // reset\n        routePolylinesRef.current.forEach((routePolyline) => {\n            routePolyline?.setMap(null);\n        });\n\n        routePolylinesRef.current = [];\n\n        const zIndexOptions = isNumber(zIndex)\n            ? {\n                  zIndex,\n              }\n            : {};\n\n        // draw route\n        const routePath: Array<GeoPointT> | Array<LatLngT> | null = route || null;\n        if (routePath) {\n            const routeShadowPolyline = new maps.Polyline({\n                path: routePath,\n                geodesic: true,\n                ...zIndexOptions,\n                ...routeShadowPolylineOptions,\n            });\n            routeShadowPolyline.setMap(map);\n\n            routePolylinesRef.current.push(routeShadowPolyline);\n\n            // fix google maps bug, old polyline delete all polylines\n            const routePolyline = new maps.Polyline({\n                path: routePath,\n                geodesic: true,\n                ...zIndexOptions,\n                strokeColor,\n                ...routePolylineOptions,\n            });\n            routePolyline.setMap(map);\n            routePolyline?.addListener('mouseover', () => {\n                setHover(true);\n            });\n            routePolyline?.addListener('mouseout', () => {\n                setHover(false);\n            });\n\n            routePolylinesRef.current.push(routePolyline);\n        }\n\n        // draw polylines\n        polylines?.forEach((polyline) => {\n            const decodedPath = geometryLibrary?.encoding?.decodePath(polyline) || [];\n\n            const routeShadowPolyline = new maps.Polyline({\n                path: decodedPath,\n                geodesic: true,\n                ...zIndexOptions,\n                ...routeShadowPolylineOptions,\n            });\n            routeShadowPolyline.setMap(map);\n\n            routePolylinesRef.current.push(routeShadowPolyline);\n\n            // fix google maps bug, old polyline delete all polylines\n            const routePolyline = new maps.Polyline({\n                path: decodedPath,\n                geodesic: true,\n                ...zIndexOptions,\n                strokeColor,\n                ...routePolylineOptions,\n            });\n            routePolyline.setMap(map);\n            routePolyline?.addListener('mouseover', () => {\n                setHover(true);\n            });\n            routePolyline?.addListener('mouseout', () => {\n                setHover(false);\n            });\n\n            routePolylinesRef.current.push(routePolyline);\n        });\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [map, maps, route, polylines, strokeColor, geometryLibrary]);\n\n    React.useEffect(() => {\n        return () => {\n            routePolylinesRef.current.forEach((routePolyline) => {\n                routePolyline?.setMap(null);\n            });\n\n            routePolylinesRef.current = [];\n        };\n    }, []);\n\n    return null;\n});\n\nexport default MapRoute;\n","import * as React from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './ShipmentStatusPill.scss';\nimport PillLabel, { colorCodingPillLabelTheme, PillLabelThemeEnum } from 'common/components/PillLabel/PillLabel';\nimport { ShipmentStatusEnum, ApiShipmentStatusT } from 'common/utils/api/models';\nimport { useTranslation } from 'react-i18next';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    className?: string;\n    status?: ApiShipmentStatusT;\n    isSymmetrical?: boolean;\n};\n\nconst PILL_THEME_BY_STATUS: Record<ApiShipmentStatusT, PillLabelThemeEnum> = {\n    [ShipmentStatusEnum.awaitingLoading]: colorCodingPillLabelTheme.normal,\n    [ShipmentStatusEnum.loading]: colorCodingPillLabelTheme.normal,\n    [ShipmentStatusEnum.inTransit]: colorCodingPillLabelTheme.normal,\n    [ShipmentStatusEnum.unloading]: colorCodingPillLabelTheme.normal,\n    [ShipmentStatusEnum.delivered]: colorCodingPillLabelTheme.success,\n    [ShipmentStatusEnum.canceled]: colorCodingPillLabelTheme.normal,\n};\n\nexport const LOAD_STATUS_T_MAP: Record<ApiShipmentStatusT, string> = {\n    [ShipmentStatusEnum.awaitingLoading]: 'common:load-status.AWAITING_LOADING',\n    [ShipmentStatusEnum.loading]: 'common:load-status.LOADING',\n    [ShipmentStatusEnum.inTransit]: 'common:load-status.IN_TRANSIT',\n    [ShipmentStatusEnum.unloading]: 'common:load-status.UNLOADING',\n    [ShipmentStatusEnum.delivered]: 'common:load-status.DELIVERED',\n    [ShipmentStatusEnum.canceled]: 'common:load-status.CANCELED',\n};\n\nconst ShipmentStatusPill: React.FC<PropsT> = React.memo((props) => {\n    const { status, isSymmetrical } = props;\n\n    const { t } = useTranslation();\n\n    if (!status) {\n        return null;\n    }\n\n    return (\n        <PillLabel isNoWrap theme={PILL_THEME_BY_STATUS[status]} isSymmetrical={isSymmetrical}>\n            {t(LOAD_STATUS_T_MAP[status])}\n        </PillLabel>\n    );\n});\n\nexport default ShipmentStatusPill;\n","import React from 'react';\nimport MapIcon from 'common/icons/MapIcon';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\n\nexport type MapTriggerPropsT = {\n    isActiveMapTrigger?: boolean;\n    toggleMap: () => void;\n};\n\nconst MapTrigger: React.FC<MapTriggerPropsT> = (props) => {\n    const { toggleMap, isActiveMapTrigger } = props;\n\n    return (\n        <TransparentTrigger\n            onClick={toggleMap}\n            isToggled={isActiveMapTrigger}\n            leftIcon={\n                <MapIcon\n                    size={DEFAULT_ICON_SIZE}\n                    fillColor={StyleGuideColorsEnum.gray}\n                    strokeColor={StyleGuideColorsEnum.slate}\n                />\n            }\n            reflectionTheme={ReflectionThemeEnum.light}\n        />\n    );\n};\n\nexport default MapTrigger;\n","import React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './PriceSettingsRulePreviewLayout.scss';\nimport { useTranslation } from 'react-i18next';\nimport SideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/SideBarLayout';\nimport HeaderSideBarLayout from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarLayout/HeaderSideBarLayout';\nimport Button, { ButtonThemeEnum } from 'common/components/Button/Button';\nimport { useFormik } from 'formik';\nimport { FieldsEnum, FormValuesT } from './constants';\nimport { DropdownOverlayPositionEnum } from 'design-system/components/dropdowns/constants';\nimport validateForm from './validate-form';\nimport getInitialValues from './get-initial-values';\nimport prepareApiRulePreview from './prepare-api-rule-preview';\nimport FormikField from 'common/components/forms/FormikField/FormikField';\nimport FieldGroup from 'common/components/FieldGroup/FieldGroup';\nimport { useDispatch, useSelector } from 'react-redux';\nimport DatePicker, { DatePickerOverlayPositionEnum } from 'design-system/components/date-pickers/DatePicker/DatePicker';\nimport { selectPreviewRule, selectPreviewRuleRequest } from 'broker-admin/store/price-settings/rules/selectors';\nimport HeaderSideBarContent from 'common/layouts/LeftMenuLayout/SideBarLayout/HeaderSideBarContent/HeaderSideBarContent';\nimport ScrollToFirstError from 'common/components/ScrollToFirstError/ScrollToFirstError';\nimport { logWarning } from 'common/utils/logger';\nimport PriceRuleTypeDropdown from 'broker-admin/components/dropdowns/PriceRuleTypeDropdown/PriceRuleTypeDropdown';\nimport PartnerSuggest from 'broker-admin/components/dropdowns/PartnerSuggest/PartnerSuggest';\nimport DictTrailerDropdown from 'common/components/dropdowns/DictTrailerDropdown/DictTrailerDropdown';\nimport CountryDropdown from 'common/components/dropdowns/CountryDropdown/CountryDropdown';\nimport { deactivateRules, previewRule, previewRuleReset } from 'broker-admin/store/price-settings/rules/actions';\nimport { PreviewCurrentRuleT } from 'broker-admin/store/price-settings/rules/models';\nimport BigSearchIcon from 'common/icons/BigSearchIcon';\nimport PreviewMessage from 'broker-admin/layouts/PriceSettingsRulePreviewLayout/PreviewMessage/PreviewMessage';\nimport ControlLoaderLabel from 'common/components/ControlLoaderLabel/ControlLoaderLabel';\nimport RulePreview from 'broker-admin/layouts/PriceSettingsRulePreviewLayout/RulePreview/RulePreview';\nimport BigWarningIcon from 'common/icons/BigWarningIcon';\nimport { useChannelSubscribe } from 'common/utils/hooks/useChannelSubscribe';\nimport { ruleDeactivateChannel } from 'broker-admin/store/price-settings/rules/channels';\nimport { PartnerTypeEnum, PriceRuleTypeEnum } from 'common/utils/api/models';\nimport ReadOnlyField from 'common/components/ReadOnlyField/ReadOnlyField';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    ruleId: RuleIdT | null;\n    previewCurrentRule: PreviewCurrentRuleT | null;\n};\n\nconst PriceSettingsRulePreviewLayout: React.FC<PropsT> = (props) => {\n    const { ruleId, previewCurrentRule } = props;\n\n    const dispatch = useDispatch();\n\n    const { t } = useTranslation();\n\n    const validate = React.useCallback((values: FormValuesT) => validateForm(t, values), [t]);\n\n    const previewRequest = useSelector(selectPreviewRuleRequest);\n    const preview = useSelector(selectPreviewRule);\n\n    const [prevInitialValues, setPrevInitialValues] = React.useState<FormValuesT | null>(null);\n    const [initialValues, initialErrors] = React.useMemo(() => {\n        const values = prevInitialValues || getInitialValues();\n        const errors = validateForm(t, values);\n\n        return [values, errors];\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [prevInitialValues]);\n\n    const isShowLoader = previewRequest.loading;\n\n    const formik = useFormik<FormValuesT>({\n        enableReinitialize: true,\n        validateOnBlur: false,\n        initialErrors,\n        initialValues,\n        validate,\n        onSubmit: (values, formikHelpers): void => {\n            const data = prepareApiRulePreview(ruleId, previewCurrentRule, values);\n            if (!data) {\n                logWarning('empty rulePreview, not valid values');\n                return;\n            }\n\n            dispatch(previewRule(data));\n            setPrevInitialValues(values);\n\n            formikHelpers.setTouched({});\n        },\n    });\n\n    React.useEffect(() => {\n        return () => {\n            dispatch(previewRuleReset());\n        };\n    }, [dispatch]);\n\n    const handleDeactivateRule = React.useCallback(\n        (ruleId: RuleIdT) => {\n            dispatch(deactivateRules([ruleId]));\n        },\n        [dispatch],\n    );\n\n    const refreshPageHandler = React.useCallback(() => {\n        if (!prevInitialValues) {\n            return;\n        }\n\n        const data = prepareApiRulePreview(ruleId, previewCurrentRule, prevInitialValues);\n        if (data) {\n            dispatch(previewRule(data));\n        }\n    }, [previewCurrentRule, prevInitialValues, ruleId, dispatch]);\n    useChannelSubscribe(ruleDeactivateChannel, refreshPageHandler);\n\n    const ruleType = formik.values[FieldsEnum.ruleType];\n\n    const shouldShowChanges = !!prevInitialValues;\n\n    return (\n        <form onSubmit={formik.handleSubmit} className={cx('form')}>\n            <HeaderSideBarLayout>\n                <HeaderSideBarContent\n                    title={t('price-settings.rules.preview.title')}\n                    testSelector=\"rule-preview\"\n                    className={cx('header')}\n                />\n            </HeaderSideBarLayout>\n            <SideBarLayout testSelector=\"rule-preview\" className={cx('inner')}>\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--date')}\n                        name={FieldsEnum.date}\n                        error={formik.errors[FieldsEnum.date]}\n                        meta={formik.getFieldMeta(FieldsEnum.date)}\n                        label={t('price-settings.rules.preview.fields.date.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DatePicker\n                                value={formik.values[FieldsEnum.date]}\n                                initialValue={initialValues[FieldsEnum.date]}\n                                onChange={props.onChange}\n                                overlayPosition={DatePickerOverlayPositionEnum.bottomLeft}\n                                hasError={props.hasError}\n                                hasWarning={props.hasWarning}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                testSelectorPrefix=\"date\"\n                                hasChanges={shouldShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--type')}\n                        name={FieldsEnum.ruleType}\n                        error={formik.errors[FieldsEnum.ruleType]}\n                        meta={formik.getFieldMeta(FieldsEnum.ruleType)}\n                        label={t('price-settings.rules.preview.fields.type.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <PriceRuleTypeDropdown\n                                value={formik.values[FieldsEnum.ruleType]}\n                                onChange={props.onChange}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={shouldShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        name={FieldsEnum.dictTrailerId}\n                        className={cx('field', 'field--trailer')}\n                        error={formik.errors[FieldsEnum.dictTrailerId]}\n                        meta={formik.getFieldMeta(FieldsEnum.dictTrailerId)}\n                        label={t('price-settings.rules.preview.fields.trailer-type.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <DictTrailerDropdown\n                                isShortLabel\n                                value={formik.values[FieldsEnum.dictTrailerId]}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomRight}\n                                onChange={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={shouldShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                </FieldGroup>\n                {ruleType === PriceRuleTypeEnum.shipper && (\n                    <FormikField\n                        className={cx('field', 'field--partner')}\n                        name={FieldsEnum.shipperId}\n                        error={formik.errors[FieldsEnum.shipperId]}\n                        meta={formik.getFieldMeta(FieldsEnum.shipperId)}\n                        label={t('price-settings.rules.preview.fields.shipper.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <PartnerSuggest\n                                partnerType={PartnerTypeEnum.shipper}\n                                value={formik.values[FieldsEnum.shipperId]}\n                                onSelect={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                placeholder={t('price-settings.rules.preview.fields.shipper.placeholder')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={shouldShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                )}\n                {ruleType === PriceRuleTypeEnum.carrier && (\n                    <FormikField\n                        className={cx('field', 'field--partner')}\n                        name={FieldsEnum.carrierId}\n                        error={formik.errors[FieldsEnum.carrierId]}\n                        meta={formik.getFieldMeta(FieldsEnum.carrierId)}\n                        label={t('price-settings.rules.preview.fields.carrier.label')}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <PartnerSuggest\n                                partnerType={PartnerTypeEnum.carrier}\n                                value={formik.values[FieldsEnum.carrierId]}\n                                onSelect={props.onChange}\n                                hasWarning={props.hasWarning}\n                                hasError={props.hasError}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                placeholder={t('price-settings.rules.preview.fields.carrier.placeholder')}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={shouldShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                )}\n                {(!ruleType || ruleType === PriceRuleTypeEnum.basic) && (\n                    <ReadOnlyField\n                        withInputLayout\n                        label={t('price-settings.rules.preview.fields.partner.label')}\n                        placeholder={t('price-settings.rules.preview.fields.partner.placeholder')}\n                        value={null}\n                    />\n                )}\n                <FieldGroup>\n                    <FormikField\n                        className={cx('field', 'field--country')}\n                        name={FieldsEnum.countryFrom}\n                        error={formik.errors[FieldsEnum.countryFrom]}\n                        label={t('price-settings.rules.preview.fields.from-country.label')}\n                        meta={formik.getFieldMeta(FieldsEnum.countryFrom)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryDropdown\n                                hasError={props.hasError}\n                                value={formik.values[FieldsEnum.countryFrom]}\n                                onChange={(countryCode) => {\n                                    props.onChange(countryCode);\n                                }}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={shouldShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                    <FormikField\n                        className={cx('field', 'field--country')}\n                        name={FieldsEnum.countryTo}\n                        error={formik.errors[FieldsEnum.countryTo]}\n                        label={t('price-settings.rules.preview.fields.to-country.label')}\n                        meta={formik.getFieldMeta(FieldsEnum.countryTo)}\n                        setFieldValue={formik.setFieldValue}\n                        setFieldTouched={formik.setFieldTouched}\n                    >\n                        {(props) => (\n                            <CountryDropdown\n                                hasError={props.hasError}\n                                value={formik.values[FieldsEnum.countryTo]}\n                                onChange={(countryCode) => {\n                                    props.onChange(countryCode);\n                                }}\n                                overlayPosition={DropdownOverlayPositionEnum.bottomLeft}\n                                onBlur={props.onBlur}\n                                onFocus={props.onFocus}\n                                hasChanges={shouldShowChanges && props.hasChanges}\n                            />\n                        )}\n                    </FormikField>\n                    <div className={cx('field', 'field--action')}>\n                        <Button\n                            className={cx('button', 'button--preview')}\n                            type=\"submit\"\n                            theme={ButtonThemeEnum.secondaryPositive}\n                            testSelector=\"find\"\n                        >\n                            {t('price-settings.rules.preview.submit')}\n                        </Button>\n                    </div>\n                </FieldGroup>\n                <div className={cx('preview')}>\n                    {!preview && !previewRequest.error && (\n                        <PreviewMessage\n                            icon={<BigSearchIcon />}\n                            title={t('price-settings.rules.preview.placeholders.empty-request', {\n                                action: t('price-settings.rules.preview.submit'),\n                            })}\n                        />\n                    )}\n                    {previewRequest.error && (\n                        <PreviewMessage\n                            icon={<BigWarningIcon />}\n                            title={t('common:common-errors.something-went-wrong.title')}\n                            description={t('common:common-errors.something-went-wrong.description')}\n                        />\n                    )}\n                    {!!preview && (\n                        <RulePreview preview={preview} currentRuleId={ruleId} onDeactivateRule={handleDeactivateRule} />\n                    )}\n                    {isShowLoader && (\n                        <div className={cx('loader')}>\n                            <ControlLoaderLabel isInvert>{t('price-settings.rules.preview.loader')}</ControlLoaderLabel>\n                        </div>\n                    )}\n                </div>\n            </SideBarLayout>\n            <ScrollToFirstError submitCount={formik.submitCount} errors={formik.errors} />\n        </form>\n    );\n};\n\nexport default PriceSettingsRulePreviewLayout;\n","import * as React from 'react';\nimport BrokerTourTypePill from 'broker-admin/components/status-pill/BrokerTourTypePill/BrokerTourTypePill';\nimport { BrokerTourShortT } from 'broker-admin/store/broker-tours/models';\n\ntype PropsT = {\n    brokerTourShort?: BrokerTourShortT | null;\n};\n\nconst TypeCell: React.FC<PropsT> = React.memo(({ brokerTourShort }) => {\n    return <BrokerTourTypePill type={brokerTourShort?.type} isSymmetrical />;\n});\n\nexport default TypeCell;\n","import { ApiCountryT } from 'common/utils/api/models';\n\ntype ComparatorT = (a: string, b: string) => number;\n\nexport const byAlphabetASC: ComparatorT = (a, b) => {\n    if (a < b) {\n        return -1;\n    }\n    if (a > b) {\n        return 1;\n    }\n    return 0;\n};\n\nexport const getCountryCompByName = (comp: ComparatorT) => (countryA: ApiCountryT, countryB: ApiCountryT) => {\n    return comp(countryA.userLangDisplayName, countryB.userLangDisplayName);\n};\n","import * as React from 'react';\nimport { ApiEmissionClassT } from 'common/constants';\nimport EmissionClassLabel from 'common/components/EmissionClassLabel/EmissionClassLabel';\n\ntype PropsT = {\n    emissionClass: ApiEmissionClassT | null | undefined;\n};\n\nconst EmissionClassFormatter: React.FC<PropsT> = React.memo((props) => {\n    const { emissionClass } = props;\n\n    return <EmissionClassLabel emissionClass={emissionClass} />;\n});\n\nexport default EmissionClassFormatter;\n","import { DictDocumentT } from 'common/store/documents-dict/models';\nimport { DocumentIdsByTypeT, DocumentT } from 'common/store/documents/models';\nimport { isNonNil } from 'common/utils';\n\nconst useDocumentInfo = (\n    dictDocument: DictDocumentT | null,\n    documentIdsByType: DocumentIdsByTypeT | null,\n    documentsById: Record<DocumentIdT, DocumentT> | null,\n) => {\n    if (!dictDocument) {\n        return null;\n    }\n\n    const versionIds = documentIdsByType?.[dictDocument.type] || null;\n    const actualVersionId = versionIds?.[0] || null;\n    const actualVersion = documentsById?.[actualVersionId as DocumentIdT] || null;\n    const oldVersionIds = versionIds?.slice(1) || [];\n    const oldVersions = oldVersionIds\n        .map((versionId) => {\n            return documentsById?.[versionId];\n        })\n        .filter(isNonNil);\n\n    return {\n        dictDocument,\n        actualVersion,\n        oldVersions,\n    };\n};\n\nexport { useDocumentInfo };\n","import * as React from 'react';\nimport { DEFAULT_ICON_SIZE, StyleGuideColorsEnum } from 'common/constants';\nimport Tooltip, { TooltipPositionEnum, TooltipThemeEnum } from 'design-system/components/Tooltip/Tooltip';\nimport TransparentTrigger, { ReflectionThemeEnum } from 'common/components/TransparentTrigger/TransparentTrigger';\nimport TooltipContent, {\n    TooltipContentThemeEnum,\n} from 'design-system/components/Tooltip/TooltipContent/TooltipContent';\nimport noop from 'lodash/noop';\nimport UrgentIcon from 'common/icons/UrgentIcon';\nimport TeamDriveIcon from 'common/icons/TeamDriveIcon';\nimport HourglassHalfIcon from 'common/icons/HourglassHalfIcon';\nimport EcoIcon from 'common/icons/EcoIcon';\n\nexport enum OfferAttributeIconTypeEnum {\n    urgent = 'urgent',\n    teamDrive = 'team-drive',\n    layover = 'layover',\n    eco = 'eco',\n}\n\ntype PropsT = {\n    iconType: OfferAttributeIconTypeEnum;\n    tooltipLabel?: React.ReactNode;\n    className?: string;\n};\n\nconst OfferAttribute: React.FC<PropsT> = React.memo((props) => {\n    const { iconType, tooltipLabel } = props;\n\n    const iconMap: Record<OfferAttributeIconTypeEnum, React.ReactNode> = {\n        [OfferAttributeIconTypeEnum.urgent]: (\n            <UrgentIcon size={DEFAULT_ICON_SIZE} fillColor={StyleGuideColorsEnum.orange} />\n        ),\n        [OfferAttributeIconTypeEnum.teamDrive]: (\n            <TeamDriveIcon\n                fillColor={StyleGuideColorsEnum.charcoal}\n                strokeColor={StyleGuideColorsEnum.charcoal}\n                size={DEFAULT_ICON_SIZE}\n            />\n        ),\n        [OfferAttributeIconTypeEnum.layover]: (\n            <HourglassHalfIcon\n                fillColor={StyleGuideColorsEnum.orange}\n                strokeColor={StyleGuideColorsEnum.charcoal}\n                size={DEFAULT_ICON_SIZE}\n            />\n        ),\n        [OfferAttributeIconTypeEnum.eco]: <EcoIcon size={DEFAULT_ICON_SIZE} />,\n    };\n\n    return (\n        <Tooltip\n            position={TooltipPositionEnum.topCenter}\n            theme={TooltipThemeEnum.black}\n            tooltipNode={\n                tooltipLabel ? (\n                    <TooltipContent isNoWrap theme={TooltipContentThemeEnum.black}>\n                        {tooltipLabel}\n                    </TooltipContent>\n                ) : null\n            }\n        >\n            {() => (\n                <TransparentTrigger\n                    spaces=\"xs\"\n                    isDisabled={!tooltipLabel}\n                    onClick={noop}\n                    leftIcon={iconMap[iconType]}\n                    reflectionTheme={ReflectionThemeEnum.light}\n                />\n            )}\n        </Tooltip>\n    );\n});\n\nexport default OfferAttribute;\n","import type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { PageResponseT, PaginationStateT } from 'common/utils/pagination/models';\nimport {\n    pageBeginReducer,\n    pageErrorReducer,\n    pageSuccessReducer,\n    resetPagesCacheReducer,\n} from 'common/utils/pagination/reducers';\nimport { FetchShipperContractLanesPageQueryT, ShipperContractLaneT } from './models';\n\nexport type PartnerShipperContractLanesStateT = PaginationStateT<\n    ShipperContractLaneT,\n    FetchShipperContractLanesPageQueryT\n>;\n\nexport const initialPartnerShipperContractLanesState: PartnerShipperContractLanesStateT = {\n    pages: [],\n    query: null,\n    total: null,\n    byId: {},\n};\n\nexport type ShipperContractLanesStateT = Record<\n    PartnerIdT,\n    Record<ShipperContractIdT, PartnerShipperContractLanesStateT>\n>;\n\nconst initialState: ShipperContractLanesStateT = {};\n\nexport const shipperContractLanesSlice = createSlice({\n    name: 'shipperContractLanes',\n    initialState,\n    reducers: {\n        fetchShipperContractLanesPage: (\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            state,\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            action: PayloadAction<{\n                pageNumber: PageNumberT;\n                query: FetchShipperContractLanesPageQueryT;\n                partnerId: PartnerIdT;\n                contractId: ShipperContractIdT;\n                options?: FetchOptionsT;\n            }>,\n        ) => {\n            // nothing\n        },\n        fetchShipperContractLanesPageBegin: (\n            state,\n            action: PayloadAction<{\n                query: FetchShipperContractLanesPageQueryT;\n                pageNumber: PageNumberT;\n                partnerId: PartnerIdT;\n                contractId: ShipperContractIdT;\n            }>,\n        ) => {\n            const { partnerId, contractId, pageNumber, query } = action.payload;\n            const partnerState = state[partnerId]?.[contractId] || initialPartnerShipperContractLanesState;\n\n            if (!state[partnerId]) {\n                state[partnerId] = {};\n            }\n\n            state[partnerId][contractId] = {\n                ...partnerState,\n                ...pageBeginReducer(partnerState, pageNumber, query),\n            };\n        },\n        fetchShipperContractLanesPageSuccess: (\n            state,\n            action: PayloadAction<{\n                query: FetchShipperContractLanesPageQueryT;\n                pageNumber: PageNumberT;\n                response: PageResponseT<ShipperContractLaneT> | null;\n                partnerId: PartnerIdT;\n                contractId: ShipperContractIdT;\n            }>,\n        ) => {\n            const { partnerId, contractId, pageNumber, query, response } = action.payload;\n            const partnerState = state[partnerId]?.[contractId] || initialPartnerShipperContractLanesState;\n\n            if (!state[partnerId]) {\n                state[partnerId] = {};\n            }\n\n            state[partnerId][contractId] = {\n                ...partnerState,\n                ...pageSuccessReducer(partnerState, pageNumber, query, response),\n            };\n        },\n        fetchShipperContractLanesPageError: (\n            state,\n            action: PayloadAction<{\n                query: FetchShipperContractLanesPageQueryT;\n                pageNumber: PageNumberT;\n                error: Error;\n                partnerId: PartnerIdT;\n                contractId: ShipperContractIdT;\n            }>,\n        ) => {\n            const { partnerId, contractId, pageNumber, query, error } = action.payload;\n            const partnerState = state[partnerId]?.[contractId] || initialPartnerShipperContractLanesState;\n\n            if (!state[partnerId]) {\n                state[partnerId] = {};\n            }\n\n            state[partnerId][contractId] = {\n                ...partnerState,\n                ...pageErrorReducer(partnerState, pageNumber, query, error),\n            };\n        },\n        resetShipperContractLanes: (\n            state,\n            action: PayloadAction<{\n                partnerId: PartnerIdT;\n                contractId: ShipperContractIdT;\n                mutationListOptions: MutationListOptionsT;\n            }>,\n        ) => {\n            const { partnerId, contractId, mutationListOptions } = action.payload;\n            const partnerState = state[partnerId]?.[contractId] || initialPartnerShipperContractLanesState;\n\n            if (!state[partnerId]) {\n                state[partnerId] = {};\n            }\n\n            state[partnerId][contractId] = {\n                ...partnerState,\n                ...resetPagesCacheReducer(initialPartnerShipperContractLanesState, partnerState, mutationListOptions),\n            };\n        },\n    },\n});\n\nexport const {\n    fetchShipperContractLanesPage,\n    fetchShipperContractLanesPageBegin,\n    fetchShipperContractLanesPageSuccess,\n    fetchShipperContractLanesPageError,\n    resetShipperContractLanes,\n} = shipperContractLanesSlice.actions;\n\nexport default shipperContractLanesSlice.reducer;\n","// extracted by mini-css-extract-plugin\nexport default {\"table__header\":\"SpotRequestsTable__table__header____J2K1\",\"table__header--origin\":\"SpotRequestsTable__table__header--origin___gGcvo\",\"table__header--costs\":\"SpotRequestsTable__table__header--costs___PtMnv\",\"table__header--status\":\"SpotRequestsTable__table__header--status___dORAP\",\"table__column\":\"SpotRequestsTable__table__column___yCcuM\",\"table__column--origin\":\"SpotRequestsTable__table__column--origin___c1XnS\",\"table__column--status\":\"SpotRequestsTable__table__column--status___Pl36J\",\"table__column--placed\":\"SpotRequestsTable__table__column--placed___KhaRL\",\"table__column--asset\":\"SpotRequestsTable__table__column--asset___ANHDX\",\"fadeIn\":\"SpotRequestsTable__fadeIn___rrtcv\",\"blinking\":\"SpotRequestsTable__blinking___IU8R4\"};","// extracted by mini-css-extract-plugin\nexport default {\"route-type-switcher\":\"BrokerTourRouteMap__route-type-switcher___y7yjj\",\"loader\":\"BrokerTourRouteMap__loader___bFqP1\",\"route-point-pin\":\"BrokerTourRouteMap__route-point-pin___KaQYh\",\"fadeIn\":\"BrokerTourRouteMap__fadeIn___RqEcK\",\"blinking\":\"BrokerTourRouteMap__blinking___RZAQ9\"};","import * as React from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './RemovedFromTeamCard.scss';\nimport { Trans } from 'react-i18next';\nimport TeamName from 'broker-admin/components/notification-cards/entities/TeamName/TeamName';\n\nconst cx = classNames.bind(styles);\n\ntype PropsT = {\n    teamName: string;\n};\n\nconst RemovedFromTeamCard: React.FC<PropsT> = React.memo((props) => {\n    const { teamName } = props;\n\n    return (\n        <div className={cx('inner')}>\n            <Trans\n                i18nKey=\"notifications.team-removed\"\n                components={{\n                    teamName: <TeamName name={teamName} />,\n                }}\n            />\n        </div>\n    );\n});\n\nexport default RemovedFromTeamCard;\n","import { createSelector } from 'reselect';\nimport { AuthStateT } from './types';\nimport { SharableStateT } from '../models';\nimport { PermissionsT } from './models';\nimport { AuthUserClaimRoleT, PartnerTypeEnum, RolesEnum } from 'common/utils/api/models';\nimport { getPermissions } from 'common/utils/permissions';\nimport { ALL_ROLES_BY_PARTNER_TYPE, AuthProfileTypeEnum } from 'common/store/auth/constants';\nimport { CompanyTypeEnum } from 'common/constants';\nimport { authApi } from 'common/utils/api/auth/factory';\nimport { collectDebugInfo } from 'common/utils/debug-info';\n\nexport const selectSignInRequestStatus = (state: SharableStateT): AuthStateT['signInRequest'] =>\n    state.auth.signInRequest;\n\nexport const selectUser = (state: SharableStateT): AuthStateT['user'] | null => state.auth?.user || null;\n\nexport const selectAllowedCreateAnonymously = (): boolean => authApi.checkAllowedAnonymouslyUserCreation();\n\nexport const selectUserClaims = (state: SharableStateT): AuthStateT['userClaims'] => state.auth?.userClaims;\n\nexport const checkRegisteredUser = (state: SharableStateT): boolean =>\n    state.auth.user !== null && !state.auth.user.isAnonymous;\n\nexport const selectResetPasswordRequestStatus = (state: SharableStateT): AuthStateT['resetPasswordRequest'] =>\n    state.auth.resetPasswordRequest;\n\nexport const selectUpdatePasswordRequestStatus = (state: SharableStateT): AuthStateT['updatePasswordRequest'] =>\n    state.auth.updatePasswordRequest;\n\nexport const selectSignUpRequestStatus = (state: SharableStateT): AuthStateT['signUpRequest'] =>\n    state.auth.signUpRequest;\n\nexport const selectSignOutRequestStatus = (state: SharableStateT): AuthStateT['signOutRequest'] =>\n    state.auth.signOutRequest;\n\nexport const selectEmailVerificationRequestStatus = (state: SharableStateT): AuthStateT['emailVerificationRequest'] =>\n    state.auth.emailVerificationRequest;\n\nexport const selectProfileType = (state: SharableStateT): AuthStateT['profileType'] => state.auth.profileType;\n\nexport type RolesConfigT = Record<keyof PermissionsT, Array<AuthUserClaimRoleT | AuthUserClaimRoleT[]>>;\nexport type ProfileTypeRestrictConfigT = Partial<Record<keyof PermissionsT, AuthProfileTypeEnum[]>>;\n\nexport const selectPermissions = createSelector(\n    selectUserClaims,\n    selectProfileType,\n    (userClaims, profileType): PermissionsT => {\n        const omitRoles = (allRoles: Array<RolesEnum>, restrictedRoles: Array<RolesEnum>) => {\n            return allRoles.filter((role) => {\n                return !restrictedRoles.includes(role);\n            });\n        };\n\n        // rule: [a or b or [c and d]]\n        const config: RolesConfigT = {\n            canViewPriceSettings: [RolesEnum.companyAdmin],\n            canViewFullStatistic: [RolesEnum.companyAdmin],\n\n            canCancelOrder: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canCreateOrder: [RolesEnum.companyAdmin, RolesEnum.keyAccountManager],\n\n            canViewTrailers: [\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.carrier],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker],\n            ],\n            canImportTrailers: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canEditTrailers: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canActivateTrailers: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canArchiveTrailers: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canSetUnavailableTrailers: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n\n            canViewTrucks: [\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.carrier],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker],\n            ],\n            canImportTrucks: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canEditTrucks: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canActivateTrucks: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canArchiveTrucks: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canSetUnavailableTrucks: [RolesEnum.companyAdmin, ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n\n            canAddPartner: [RolesEnum.companyAdmin],\n            canDeletePartner: [],\n\n            canDownloadDocuments: [\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.shipper],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.carrier],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker],\n            ],\n            canUploadDocuments: [RolesEnum.companyAdmin],\n            canVerifyDocuments: [RolesEnum.companyAdmin],\n            canRevokeDocuments: [RolesEnum.companyAdmin],\n            canEditDocuments: [RolesEnum.companyAdmin],\n            canReviewDocuments: [RolesEnum.companyAdmin],\n\n            canDownloadCarrierContracts: [\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.shipper],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.carrier],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker],\n            ],\n            canUploadCarrierContracts: [RolesEnum.companyAdmin],\n            canRevokeCarrierContracts: [RolesEnum.companyAdmin],\n            canEditCarrierContracts: [RolesEnum.companyAdmin],\n            canReviewCarrierContracts: [RolesEnum.companyAdmin],\n\n            canUploadShipperContracts: [RolesEnum.companyAdmin],\n            canEditShipperContracts: [RolesEnum.companyAdmin],\n\n            canVerifyPartner: [RolesEnum.companyAdmin],\n\n            canInviteTeamMembers: [RolesEnum.companyAdmin],\n            canEditTeamMembers: [RolesEnum.companyAdmin],\n            canViewTeamMembers: [\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.shipper],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.carrier],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker],\n            ],\n            canEditDrivers: [RolesEnum.companyAdmin, RolesEnum.keyAccountManager],\n            canViewDrivers: [\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.carrier],\n                RolesEnum.companyAdmin,\n                RolesEnum.keyAccountManager,\n            ],\n\n            canViewSpot: [\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.carrier],\n                RolesEnum.companyAdmin,\n                RolesEnum.dispatcher,\n            ],\n\n            canViewInvoices: [\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.shipper],\n                ...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker],\n            ],\n\n            canDeclineTransportOrders: [[RolesEnum.companyAdmin, CompanyTypeEnum.carrier]],\n\n            canEditSpotLanes: [...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.carrier]],\n            canUseBrokerAdminSuggest: [RolesEnum.companyAdmin],\n\n            canEditPartnerDetails: [RolesEnum.companyAdmin],\n\n            canAssignmentBrokerOrder: omitRoles(ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker], [\n                RolesEnum.keyAccountManager,\n            ]),\n            canChangeTourStatusOnBrokerOrder: omitRoles(ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker], [\n                RolesEnum.keyAccountManager,\n            ]),\n            canChangeShipmentStatusOnBrokerOrder: omitRoles(ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker], [\n                RolesEnum.keyAccountManager,\n            ]),\n            canChangeTourStatusOnBrokerTour: omitRoles(ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker], [\n                RolesEnum.keyAccountManager,\n            ]),\n            canChangeShipmentStatusOnBrokerTour: omitRoles(ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker], [\n                RolesEnum.keyAccountManager,\n            ]),\n\n            canFilterBrokerOrdersByAccountManagerOrDispatcher: [RolesEnum.companyAdmin],\n\n            canViewBrokerTours: [...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n            canBrokerToursAddDeadhead: [...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n\n            canViewBrokerRFQs: [...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n\n            canViewBrokerUsers: [...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n\n            canAddBrokerUsersTeams: [RolesEnum.companyAdmin],\n            canEditBrokerUsersTeams: [RolesEnum.companyAdmin],\n            canDeleteBrokerUsersTeams: [RolesEnum.companyAdmin],\n\n            canEditLineHaulOnOrderCreation: [...ALL_ROLES_BY_PARTNER_TYPE[PartnerTypeEnum.broker]],\n        };\n\n        // mock for local debug\n        // if (userClaims) {\n        //     userClaims.roles = [RolesEnum.user];\n        // }\n\n        const userRolesSet = new Set(userClaims?.roles || []);\n\n        collectDebugInfo({ userClaims });\n\n        const profileTypeRestrictConfig: ProfileTypeRestrictConfigT = {\n            canRevokeDocuments: [AuthProfileTypeEnum.broker],\n            canVerifyDocuments: [AuthProfileTypeEnum.broker],\n            canEditDocuments: [AuthProfileTypeEnum.broker],\n            canReviewDocuments: [AuthProfileTypeEnum.broker],\n\n            canRevokeCarrierContracts: [AuthProfileTypeEnum.broker],\n            canEditCarrierContracts: [AuthProfileTypeEnum.broker],\n            canReviewCarrierContracts: [AuthProfileTypeEnum.broker],\n\n            canUploadShipperContracts: [AuthProfileTypeEnum.broker],\n            canEditShipperContracts: [AuthProfileTypeEnum.broker],\n\n            canEditSpotLanes: [AuthProfileTypeEnum.carrier],\n\n            canUseBrokerAdminSuggest: [AuthProfileTypeEnum.broker],\n\n            canEditPartnerDetails: [AuthProfileTypeEnum.broker],\n\n            canFilterBrokerOrdersByAccountManagerOrDispatcher: [AuthProfileTypeEnum.broker],\n\n            canAssignmentBrokerOrder: [AuthProfileTypeEnum.broker],\n            canChangeTourStatusOnBrokerOrder: [AuthProfileTypeEnum.broker],\n            canChangeShipmentStatusOnBrokerOrder: [AuthProfileTypeEnum.broker],\n            canChangeTourStatusOnBrokerTour: [AuthProfileTypeEnum.broker],\n            canChangeShipmentStatusOnBrokerTour: [AuthProfileTypeEnum.broker],\n\n            canEditLineHaulOnOrderCreation: [AuthProfileTypeEnum.broker],\n        };\n\n        return getPermissions(userRolesSet, config, profileType, profileTypeRestrictConfig);\n    },\n);\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalContent from 'common/components/Modal/ModalContent/ModalContent';\nimport ModalDialog, { DEFAULT_MODAL_DIALOG_WIDTH } from 'common/components/Modal/ModalDialog/ModalDialog';\nimport { ButtonThemeEnum } from 'common/components/Button/Button';\nimport Modal from 'common/components/Modal/Modal';\nimport { CancelTrailerTransportOrderConfirmationDataT } from './models';\nimport { RequestStatusT } from 'common/utils/request-status';\nimport BigTrashIcon from 'common/icons/BigTrashIcon';\n\ntype PropsT = {\n    data: CancelTrailerTransportOrderConfirmationDataT | null;\n    requestStatus: RequestStatusT;\n    onClose: () => void;\n    onCancel: () => void;\n    onConfirm: (data: CancelTrailerTransportOrderConfirmationDataT) => void;\n};\n\nconst TEST_SELECTOR = 'cancel-trailer-transport-order-confirmation';\n\nconst CancelTrailerTransportOrderConfirmation: React.FC<PropsT> = React.memo((props) => {\n    const { data, requestStatus, onClose, onCancel, onConfirm } = props;\n\n    const { t } = useTranslation();\n\n    if (!data) {\n        return null;\n    }\n\n    return (\n        <Modal>\n            <ModalContent onClose={onClose}>\n                <ModalDialog\n                    width={DEFAULT_MODAL_DIALOG_WIDTH}\n                    testSelector={TEST_SELECTOR}\n                    actions={[\n                        {\n                            children: t('common:error-modal.actions.cancel'),\n                            theme: ButtonThemeEnum.secondary,\n                            testSelector: `${TEST_SELECTOR}_cancel`,\n                            isDisabled: requestStatus.loading,\n                            onClick: onCancel,\n                        },\n                        {\n                            children: t('common:error-modal.actions.confirm'),\n                            theme: ButtonThemeEnum.danger,\n                            isLoading: requestStatus.loading,\n                            isDisabled: requestStatus.loading,\n                            testSelector: `${TEST_SELECTOR}_ok`,\n                            onClick: () => {\n                                onConfirm(data);\n                            },\n                        },\n                    ]}\n                    icon={<BigTrashIcon />}\n                    title={t('assignment.cancel-trailer-transport-order-confirmation.title')}\n                    message={t('assignment.cancel-trailer-transport-order-confirmation.description')}\n                />\n            </ModalContent>\n        </Modal>\n    );\n});\n\nexport default CancelTrailerTransportOrderConfirmation;\n","import * as React from 'react';\nimport { StyleGuideColorsEnum } from 'common/constants';\n\ntype PropsT = {\n    fillColor: StyleGuideColorsEnum;\n    strokeColor: StyleGuideColorsEnum;\n};\n\nconst WalletIcon: React.FC<PropsT> = (props) => {\n    const { fillColor, strokeColor } = props;\n\n    return (\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\">\n            <g fill=\"none\" fillRule=\"evenodd\">\n                <path d=\"M1 1h18v18H1z\" />\n                <path\n                    fill={fillColor}\n                    d=\"M10.75 13.75c-.825 0-1.5-.675-1.5-1.5v-4.5c0-.825.675-1.5 1.5-1.5h4.5v-1.5H4.75v10.5h10.5v-1.5h-4.5z\"\n                />\n                <path\n                    fill={strokeColor}\n                    d=\"M15.25 3.25c.825 0 1.5.675 1.5 1.5v1.71c.442.255.75.735.75 1.29v4.5a1.5 1.5 0 01-.75 1.29v1.71c0 .825-.675 1.5-1.5 1.5H4.75a1.5 1.5 0 01-1.5-1.5V4.75a1.5 1.5 0 011.5-1.5zm0 1.5H4.75v10.5h10.5v-1.5h-4.5c-.825 0-1.5-.675-1.5-1.5v-4.5c0-.825.675-1.5 1.5-1.5h4.5v-1.5zm.75 3h-5.25v4.5H16v-4.5zm-3 1.125a1.125 1.125 0 110 2.25 1.125 1.125 0 010-2.25z\"\n                />\n            </g>\n        </svg>\n    );\n};\n\nWalletIcon.displayName = 'WalletIcon';\n\nconst storyProps: PropsT = {\n    fillColor: StyleGuideColorsEnum.light,\n    strokeColor: StyleGuideColorsEnum.gray,\n};\n\nexport { storyProps };\nexport default WalletIcon;\n\n/**\n *  @deprecated create/use ...Props class\n * */\nexport const getWalletIconProps = (preset: 'default' | 'selected'): PropsT => {\n    switch (preset) {\n        case 'selected': {\n            return {\n                fillColor: StyleGuideColorsEnum.brandAccent,\n                strokeColor: StyleGuideColorsEnum.brandDark,\n            };\n        }\n        default: {\n            return {\n                fillColor: StyleGuideColorsEnum.light,\n                strokeColor: StyleGuideColorsEnum.slate,\n            };\n        }\n    }\n};\n"],"names":["FieldsEnum","cx","bind","HeaderSideBarContent","React","memo","props","title","onGoBack","dropdownOptions","afterTitleNode","afterDropdownNode","beforeDropdownNode","rightNode","onClose","dropdownOverlayClassName","className","testSelector","fullTestSelector","t","useTranslation","position","TooltipPositionEnum","centerRight","theme","TooltipThemeEnum","black","tooltipNode","isCenter","TooltipContentThemeEnum","width","onClick","leftIcon","fillColor","StyleGuideColorsEnum","charcoal","reflectionTheme","ReflectionThemeEnum","light","length","overlayClassName","options","renderTrigger","isActive","isPressed","overlayPosition","DropdownOverlayPositionEnum","bottomRight","centerLeft","DropdownMultipleInputCountLabel","count","postProcess","ADD_ALERT","DELETE_ALERT","HiddenSubmitButtonForKeyboardEnter","type","hidden","PartnerContext","createContext","partnerId","partnerType","initialState","requestStatus","initial","state","action","UPDATE_REQUEST_BEGIN","loading","UPDATE_REQUEST_ERROR","error","setError","UPDATE_REQUEST_SUCCESS","ok","DESTROY_SESSION","usySyncMapState","useState","hasDropAssetPointError","setHasDropAssetPointError","useMemo","fetchBrokerTourDetails","fetchBrokerTourDetailsBegin","fetchBrokerTourDetailsSuccess","fetchBrokerTourDetailsError","resetBrokerTourDetails","companyId","initialValue","initialLabel","value","onSelect","hasWarning","hasError","isDisabled","onBlur","onFocus","hasChanges","hasClearControl","placeholder","initialOption","fullName","userId","initialOptions","requestFactory","useCallback","query","checkIsDefaultCompanyId","findCompanyUsersByName","findPartnerUsersByName","userName","undefined","getOptionText","option","email","asyncFilterOptionsRequest","useAsyncFilterOptions","settings","optionByUserId","renderOption","label","isPlaceholder","handleFocus","onRefresh","selectedValue","onChangeQuery","renderRightIcon","ControlLoaderIconProps","getFetchDataProps","getOptionValue","bottomLeft","onReset","TOOLTIP_ARROW_FILL","white","SERVICE_HEIGHT","UNIT","TimeWindow","start","timeWindow","getHeight","style","renderTooltip","tooltipTheme","isShowLabel","setShowLabel","isTooltipOpen","setTooltipOpen","wrapRef","useRef","labelRef","createRef","tooltipArrowRef","hasFloatingTooltip","Boolean","useFloating","open","onOpenChange","placement","middleware","offset","flip","padding","shift","arrow","element","strategy","transform","whileElementsMounted","autoUpdate","refs","floatingStyles","context","hover","useHover","enabled","delay","close","handleClose","safePolygon","buffer","focus","useFocus","dismiss","useDismiss","useInteractions","getReferenceProps","getFloatingProps","useEffect","setFloatingReference","setReference","setRef","node","current","offsetHeight","isTransparent","onMouseEnter","event","onMouseLeave","top","height","end","ref","DATA_TIMELINE_ITEM_SELECTOR","id","icon","FloatingPortal","setFloating","stopPropagation","FloatingArrow","fill","data","getFetchRFQsStatsSaga","companyType","select","selectRFQsStatsRequest","put","fetchRFQsStatsBegin","CompanyTypeEnum","broker","fetchRFQsStats","result","response","fetchRFQsStatsError","fetchRFQsStatsSuccess","takeEvery","FETCH_RFQS_STATS_REQUEST","FETCH_ORDERS_PAGE_REQUEST","SubjectLink","number","selectCompanyState","rfqs","initialCompanyRFQsState","selectRFQsPages","pages","selectRFQsQuery","selectRFQsTotal","total","selectRFQsByIds","byId","TEST_SELECTOR","contact","onDeactivateUser","onCancel","updateMemberRequest","actions","children","ButtonThemeEnum","secondary","danger","isLoading","TabEnum","selectRFQDetails","rfqDetails","details","initialRFQDetailsState","selectRFQDefaultPriceOffer","defaultOffer","selectRFQDetailsRequestStatus","TabsThemesEnum","TabLabelSizeEnum","CommentFormatter","comment","ADDRESS_TYPE_I18N_MAP","LEGAL","POSTAL","BILLING","AddressVerificationCard","addressType","verified","addressTypeLabel","i18nKey","Trans","components","text","isBold","fetchBrokerOrderStatsSaga","selectBrokerOrderStatsRequest","fetchBrokerOrderStatsBegin","fetchBrokerOrdersStatistics","fetchBrokerOrderStatsError","fetchBrokerOrderStatsSuccess","statistics","fetchBrokerOrderStats","fetchBrokerOrdersPage","BigPlusUsers","xmlns","viewBox","fillRule","d","fillOpacity","stroke","strokeLinecap","strokeLinejoin","strokeWidth","strokeOpacity","displayName","storyProps","ButtonTabCountThemeEnum","notificationThemeMap","normal","NotificationLabelThemeEnum","slate","warning","orange","activeTabType","setActiveTabType","tabs","handleKeyPress","key","isPressedMetaKey","numberKey","parseInt","selectedTabType","Number","isNaN","useKeyboardShortcut","tab","tabIndex","isActiveTab","isToggled","counter","isShowPlusSign","isShowWarning","transparent","PillLabelThemeEnum","colorCodingPillLabelTheme","attention","tomatoRed","notImportant","grey","success","brandAccent","positive","PillLabel","isRounded","isSymmetrical","isNoWrap","fetchTransportOrdersPage","pageNumber","fetchTransportOrdersPageBegin","FETCH_ORDERS_PAGE_REQUEST_BEGIN","fetchTransportOrdersPageSuccess","pageResponse","FETCH_ORDERS_PAGE_REQUEST_SUCCESS","fetchTransportOrdersPageError","FETCH_ORDERS_PAGE_REQUEST_ERROR","resetTransportOrders","mutationListOptions","RESET_ORDERS","fetchDrivers","FETCH_DRIVERS_REQUEST","fetchDriversBegin","FETCH_DRIVERS_REQUEST_BEGIN","fetchDriversSuccess","drivers","FETCH_DRIVERS_REQUEST_SUCCESS","fetchDriversError","FETCH_DRIVERS_REQUEST_ERROR","QuickActions","isPartialLoadingOffers","bestOffers","useSelector","selectBestOffers","loaderIconNode","opacity","size","DEFAULT_ICON_SIZE","actionsConfig","offer","bestPrice","brandDark","strokeColor","isRound","amount","price","currency","CurrencyEnum","EUR","urgent","squash","renderIcon","actionConfig","map","index","horizontalSpaces","isExpired","priceOffer","push","search","formatQuery","QueryKeysEnum","orderCreationPickUpDate","getDateFromISO","pickupDockingHoursFrom","orderCreationDropOffDate","dropOffDockingHoursFrom","orderCreationPriceOfferId","selectOffer","renderTitle","UploadLoader","message","useDistanceRowsFactory","totalDistance","summaryDistanceKm","gray","name","UnitTypeEnum","kilometersAbbreviation","emptyValue","isBoldValue","summaryPayloadDistance","summaryPayloadDistanceKm","summaryDeadheadDistance","summaryDeadheadDistanceKm","VALID_TILL_FORMAT","formValues","isShowExpirationDate","rawExpiration","expiration","validTill","format","add","FAKE_NO_LIMIT_VALID_TILL_YEAR","TypeCell","rule","ruleType","setQueryFilters","queryFilters","isShowSourceFilter","isShowExtendedSourceFilter","isShowShipperFilter","initialQueryFilters","setInitialQueryFilters","initialValues","formik","useFormik","enableReinitialize","validateOnBlur","onSubmit","values","formikHelpers","newQueryFilters","mergedQueryFilters","mergeQueryFilters","setTouched","isSameValues","isDeepEqual","sourceOptions","RFQShipperSourceEnum","imported","internal","handleSubmit","shipperIds","errors","meta","getFieldMeta","setFieldValue","setFieldTouched","shipperOptions","valueChanges","shipperNames","forEach","shipperId","shipperOption","setValues","prevValues","pickupAddress","renderLeftIcon","iconMeta","PinIconProps","getControlProps","onChange","dropoffAddress","pickupDates","isRange","DatePickerOverlayPositionEnum","dropoffDates","createDates","createdById","createdByName","dictTrailerId","source","extendedSource","hasPaddings","primary","isFullWidth","isCenterContent","invoicesSaga","FETCH_INVOICES_PAGE_REQUEST","fetchInvoicesSaga","rawQuery","selectInvoicesQuery","prevQuery","selectInvoicesPages","isSameQuery","checkIsSameQuery","isNeedRequest","resetInvoices","savingPageNumber","fetchInvoicesPageBegin","fetchBrokerInvoicesPage","page","fetchInvoicesPageError","items","preparedResponse","content","item","String","Math","random","totalPages","totalElements","pagingTokens","hasMore","startingAfter","endingBefore","fetchInvoicesPageSuccess","checkShouldEmitChangePage","invoicesPaginationChannel","PointStackClusterPin","lat","lng","onClusterClick","clusterId","clusterProperties","withoutArrow","pointProps","pointProperties","MapPinThemeEnum","waypoint","isVisited","driverLeftTimeStamp","StopTypeEnum","pickupTruck","getTruckPickUpIconProps","pickupTrailer","getTrailerPickUpIconProps","pickupRoadTrain","getLinkPickUpIconProps","ferryDisembark","ferryOnboard","driveThrough","dropAndHook","pickupDeliveryShipment","withPaddings","dropTrailer","getTrailerDropOffIconProps","dropTruck","getTruckDropOffIconProps","dropRoadTrain","getLinkDropOffIconProps","asyncErrors","asyncFormErrors","setAsyncFormErrors","resetAsyncFormErrors","fieldName","prevAsyncFormErrors","newAsyncFormErrors","shipperContractDetails","activateDate","validFrom","toDate","validTillDate","file","RemoteFile","fileName","downloadData","shipperContractId","REQUIRED_FIELDS","truckRateMode","truckRate","tiltRate","boxRate","tiltExpectedMileage","boxExpectedMileage","truckExpectedMileage","MILEAGE_FIELDS","RATE_FIELDS","checkNotEmpty","checkMinValue","checkMaxValue","ASSET_TYPE_TAB_I18N_MAP","AssetTypeTabsEnum","train","truck","trailer","DeadheadCreationReceipt","contextPreview","contextPreviewRequestStatus","contextRequestStatus","isNotActual","TourTypeTabsEnum","deadhead","selectedTourTypeTab","setSelectedTourTypeTab","selectedAssetTypeTab","setSelectedAssetTypeTab","availableAssetTypeTabs","calculatedSumCost","calculatedTruckCost","calculatedTrailerCost","isNextTourAssetsLink","truckNextTransportationOrderInfo","trailerNextTransportationOrderInfo","nextTour","truckNextTourNewCostDetails","trailerNextTourNewCostDetails","prevAssetTypeTab","includes","utilizationRowsFactory","useUtilizationRowsFactory","tabsConfig","config","rows","moneyDiffProps","deadheadSumCost","totalCost","baseValue","coloredDiffProps","cost","titleTooltip","utilizationDetails","isSameCarrier","truckCarrier","trailerCarrier","trainCarrier","carrierCountryCode","country","carrierName","utilizationAfter","truckCarrierUtilizationAfter","utilizationBefore","truckCarrierUtilizationBefore","trailerCarrierUtilizationAfter","trailerCarrierUtilizationBefore","truckUtilizationBefore","model","plateNumber","truckUtilizationAfter","trailerUtilizationBefore","trailerUtilizationAfter","selectedType","onSelectType","shouldRenderIcons","assetTypeTab","isSelected","costs","isHideFuelPrice","target","LinkThemeEnum","boldBrandDark","to","urlFactory","partnerTransportOrderDetails","PartnerTypeEnum","carrier","transportOrderNumber","prevCosts","truckNextTourOldCostDetails","trailerNextTourOldCostDetails","distances","payloadDistance","payload","deadheadDistance","isInvert","carrierContractsRefreshChannel","ViewEventChannel","StatusCell","rfq","status","FETCH_RFQ_DETAILS_REQUEST","FETCH_RFQ_DETAILS_REQUEST_BEGIN","FETCH_RFQ_DETAILS_REQUEST_ERROR","FETCH_RFQ_DETAILS_REQUEST_SUCCESS","isRegisteredUser","firstName","lastName","phone","checkMinLength","checkMaxLength","checkPhoneNumber","password","acceptTerms","PartnerPermissionsContext","default","waypoints","waypointFormValues","waypointFormErrors","WaypointsFieldEnum","LogoIcon","cy","rx","ry","checkVerificationProblems","company","any","anyBasicInformation","anyDocument","hasAnyBasicInformationProblem","shipper","billingAddressVerified","addressVerified","hasAnyDocumentProblem","documentsVerified","DownloadIcon","xlinkHref","TrailerPickUpIcon","preset","requiredDocumentStatusColorMap","AuthProfileTypeEnum","DocumentStatusEnum","waitingForApprove","approved","rejected","revoked","expired","archived","optionalDocumentStatusColorMap","DocumentStatusPill","isRequiredDocument","restProps","profileTypeEnum","selectProfileType","getHash","carrierId","date","selectDriverAssignmentTourId","driverAssignment","tourId","selectAssignmentRequestStatus","assigmentStatus","selectReAssignmentRequestStatus","reAssigmentStatus","AdditionalServiceFormatter","DeleteTeamConfirmation","onConfirm","DEFAULT_MODAL_DIALOG_WIDTH","ExpiredPartnerShipperContractCard","contractName","PARTNER_TYPE_T_MAP","PILL_LABEL_MAP","PartnerTypePill","AsyncSearchScrollableList","minHeightPx","inputValue","onChangeInputValue","inputPlaceholder","emptyMessage","notFoundMessage","optionsQuery","getOptionKey","isShowOverlay","listHeaderNode","isInitialized","setIsInitialized","isSearchActive","trim","shownInitialOptions","initialOptionKeySet","Set","restOptions","filter","has","hasAnyOptions","minHeight","description","surname","join","fetchBrokerAdminUsers","PRICE_RULE_TYPE_I18N_MAP","PriceRuleTypeEnum","basic","custom","PriceRuleTypeLabel","closeErrorModal","CLOSE_ERROR_MODAL","openErrorModal","OPEN_ERROR_MODAL","resetErrorLogs","RESET_LOGS","fetchDocumentsDictSaga","profileType","selectDocumentsDict","currentDocumentsDict","selectDocumentsDictRequest","fetchDocumentsDictBegin","fetchDocumentsDict","documentDictResult","documentsDict","preparedDocumentsDict","fetchDocumentsDictError","fetchDocumentsDictSuccess","semaphoreSaga","DOCUMENTS_DICT_REQUEST","CREATION_REQUIRED_FIELDS","truckModel","countryCode","vin","cabinColor","ratePerKm","isCreation","contract","checkIsPositiveNumberOrZeroValue","CompletedPartnerDocumentCard","partnerName","documentType","documentName","CostsCell","basePrice","lowestBidsPrice","diff","DEFAULT_VALUES","taxId","vatNumber","iban","bic","evidenceOfTaxDetails","vat","useFormikContext","asyncErrorsContext","useContext","asyncError","extendsProps","resetAsyncError","TransportOrdersTable","orders","goToTransportOrderDetails","columns","renderHeader","headerClassName","render","order","DirectionEnum","origin","destination","totalCarrierCost","isShow","hasWarnings","tooltipText","handleSelectRow","getRowMods","TableRowModsEnum","hasLeftGreenBorder","hasLeftRedBorder","tableName","isUsedPrevRows","onSelectRow","BrokerUsersLayout","dispatch","useDispatch","fetchPartnerDetails","logWarning","partnerDetails","selectPartnerDetailsById","isLockedProfile","locked","ruleTypeI18nMap","ruleTypeTooltipsI18nMap","ruleTypeThemeMap","lightSlateGray","tumbleweed","pewterBlue","tomatoRed70","PriceRuleImpactPill","typeClassName","ruleClassName","valueType","RuleImpactStrategyEnum","percent","tooltipsI18n","topCenter","impactStrategy","datePicketRangePresets","documentValidTill","maxDate","getISOFutureDate","minDate","getISOPastDate","anyFutureDate","birthday","DatePicker","calendarValueProps","inputDateValueProps","hasYearMonthForm","autoComplete","testSelectorPrefix","inputClassName","defaultPlaceholder","isOpen","toggleOpen","triggerRef","handleCalendarRangeChange","selectedDate","handleCalendarDateChange","focusInitialDate","from","onKeyUp","isForcedFocused","hasValue","isFocused","referenceElement","EditOfferTotalPriceLayout","sourcePrice","onChangePrice","moneyMask","getMoneyMask","costToString","setInputValue","handleCancelEditing","handleRestore","handleConfirmEditing","parsedInputValue","parseSimpleNumber","isChangedPrice","handleKeyUp","KeyEnum","enter","escape","mask","CURRENCY_SYMBOLS","autoFocus","formatHMRDate","renderCommonAlertToast","anyAlert","CommonAnyAlert","checkIsCommonAnyAlert","CommonAlertTypeEnum","userRestored","AlertThemeEnum","networkError","inviteCanceled","contactAdded","emailInvited","userRolesChanged","roles","role","USER_ROLE_T_MAP","toLocaleLowerCase","rolesCount","userDeactivated","contactDeleted","mainContactChanged","contactEdited","userEdited","trailerAdded","trailerSuccessfullyActivated","trailerSuccessfullyXLSImport","trailerSuccessfullyArchived","trailersSuccessfullyActivated","trailerSuccessfullyEdited","trailerSuccessfullySetUnavailable","isSameDay","checkIsSameDay","fromDate","trailersSuccessfullyArchived","trailersFailedActivate","successfulCount","allCount","AlertSizeEnum","mediumLarge","footer","plateNumbers","trailerFailedActivate","trailersFailedArchived","trailerFailedArchived","trailerFailedArchivedHasFutureAssignment","trailerSuccessfullyUpdatedContract","trailersSuccessfullyUpdatedContract","trailersFailedUpdateContract","trailerFailedUpdateContract","trailerSuccessfullyUpdatedRate","trailersSuccessfullyUpdatedRate","trailersFailedUpdateRate","trailerFailedUpdateRate","truckAdded","truckSuccessfullyActivated","truckSuccessfullyArchived","trucksSuccessfullyActivated","truckSuccessfullyEdited","truckSuccessfullySetUnavailable","trucksSuccessfullyArchived","trucksFailedActivate","truckFailedActivate","trucksFailedArchived","truckFailedArchived","truckFailedArchivedHasFutureAssignment","truckSuccessfullyUpdatedContract","trucksSuccessfullyUpdatedContract","trucksFailedUpdateContract","truckFailedUpdateContract","truckSuccessfullyUpdatedRate","trucksSuccessfullyUpdatedRate","trucksFailedUpdateRate","truckFailedUpdateRate","truckSuccessfullyXLSImport","paperAdded","paperDeleted","paperDownloadFailed","errorMessage","driverAssigned","driversCount","driverUnassigned","rfqSuccessfulClosed","spotAssetsAssigned","spotAssetsUnassigned","documentUploaded","dictDocumentName","contractUploaded","documentApproved","documentRejected","documentRevoked","carrierSpotLanesUpdateSuccess","carrierSpotLanesDeleteSuccess","shipperContractUploaded","shipperContractUpdated","shipperContractRevoked","shipperContractLaneRevoked","shipperContractLaneUpdated","shipperContractLaneAdded","orderContextNote","note","NOT_FOUND_APPROVED_FERRY_ON_ROUTE","PRICE_FOR_FERRY_NOT_FOUND","getUnknownAlertToast","PositionsCell","hasUser","main","selectStatisticsFetchQuery","fetchQuery","selectDoneStatisticsStatus","doneRequestStatus","selectDoneStatistics","doneData","selectRejectStatisticsStatus","rejectRequestStatus","selectRejectStatistics","rejectData","console","warn","isAvailableRemoteLogger","remoteLogger","captureMessage","traceId","trace","info","contextMessage","errorInfo","captureException","clientConfig","isProduction","subscribers","subscribe","handler","unsubscribe","subscriber","emit","PartnerDocumentsPage","openLeftSidebar","useOpenLeftSidebar","partnerPermissions","permissions","selectPermissions","fetchDocuments","documentVisibilityChangeHandler","isForceUpdate","refreshPageHandler","useChannelSubscribe","stateMachineRefreshChannel","partnerDetailsRefreshChannel","fetchDocumentsDictRequest","selectFetchCompanyDocumentsRequest","useDocumentsRows","requiredDocumentRows","optionalDocumentRows","requiredDocumentStatusesAttentionSet","statuses","canReviewDocuments","optionalDocumentStatusesAttentionSet","carrierContactStatusesAttentionSet","canReviewCarrierContracts","CarrierContractStatusEnum","shipperContactStatusesAttentionSet","badgeRequiredDocumentsCount","row","actualVersion","badgeOptionalDocumentsCount","carrierContracts","selectCarrierContracts","badgeCarrierContractsCount","badgeShipperContractsCount","requiredPartnerDocumentsPath","requiredPartnerDocuments","optionalPartnerDocumentsPath","optionalPartnerDocuments","partnerCarrierContractsPath","partnerCarrierContacts","partnerShipperContractsPath","partnerShipperContacts","pathname","badge","isAllDocumentsVerified","navigationTabs","onSelectTab","Switch","Route","path","isShowReviewUser","documentStatusesAttentionSet","contactStatusesAttentionSet","onUploadShipperContract","BrokerSidebarsTypeEnum","uploadShipperContract","onOpenShipperContractDetails","url","partnerShipperContactLanes","contractId","Redirect","PILL_THEME_BY_STATUS","BrokerOrderStatusEnum","newOrder","carrierUnassigned","carrierAssigned","inTransit","delivered","canceled","unknown","BrokerOrderStatusPill","isArchived","BROKER_ORDER_STATUS_T_MAP","FerryDisembarkPointPicker","routePointIndex","locationFieldName","route","RoutePointFieldsEnum","location","timeWindowFieldName","getFieldFormValue","subLabel","formatTimeInterval","address","CloseRFQConfirmation","CurrentAssetPositionPin","isTrailer","isTruck","isLink","contentClassName","getTruckIconProps","getTrailerIconProps","getAssetLinkIconProps","getQueryModifyEventAfterReserve","prevPreviewQuery","reserve","queryModifyEvent","isNotAvailableLane","contractLanes","every","contractLane","laneId","correctedLaneId","selectSpotUpdateRequestStatus","spot","EMPTY_CONTACTS","Members","isDisableInviteUsersForLockedProfile","deleteContactConfirmation","handleConfirmDeleteContact","contactId","deleteContact","cancelInviteConfirmationDialog","restoreUserConfirmationDialog","changeUserRoleModalDialog","changeUserRoleConfirmationDialog","handleShowChangeUserRoleModalDialog","setData","handleChangeUserRole","changes","handleConfirmChangeUserRole","changeUserRole","deactivateUserModalDialog","handleShowDeactivateUserModalDialog","handleDeactivateUser","deleteUser","active","selectedTab","setSelectedTab","searchText","setSearchText","fetchCountriesDict","contacts","selectCompanyContacts","fetchContactsRequestStatus","selectFetchContactsRequest","fetchContacts","membersRefreshChannel","handleRefreshOnError","openedContactSidebar","useOpenedSidebar","CommonSidebarsTypeEnum","selectedContactId","handleConfirmRestoreUser","restoreUser","inviteUserModalDialog","addMemberRequestStatus","selectAddMemberRequest","deleteMemberRequestStatus","selectDeleteMemberRequest","handleConfirmCancelInviteUser","cancelInvite","updateMemberRequestStatus","selectUpdateMemberRequest","groupedContacts","userStatus","UserStatusEnum","archive","activeTabContacts","filteredActiveTabContacts","prepareText","preparedSearchText","allowShowBlockInviteAlert","setAllowShowBlockInviteAlert","isShowInviteUserTrigger","canInviteTeamMembers","withTopPadding","leftToolsNode","onChangeSearchText","rightToolsNode","small","checkNeedRenderEmptyState","onRetry","checkFilters","hasPrimaryQueryFilters","hasSecondaryQueryFilters","iconType","TableMessageIconsEnum","notFound","isShowAction","empty","renderTableMessage","onDeleteUser","onDeleteContact","onChangeUserRole","onRestoreUser","onCancelInvite","onMakeMainContact","makeMainContact","onInviteUser","onResendInviteUser","inviteUser","canEditTeamMembers","canInviteUsers","newUser","allSpotSystemSettings","fetchSystemSettingsSaga","selectSystemSettingsFetchRequest","request","fetchSystemSettingsBegin","fetchSystemSettings","fetchSystemSettingsError","spotError","spotData","fetchSystemSettingsSuccess","updateSystemSettingsSaga","selectSystemSettingsUpdateRequest","updateSystemSettingsBegin","settingsChanges","apiSettingsChanges","updateSystemSettings","updateSystemSettingsError","apiSpotSettingsChanges","updateSystemSettingsSuccess","fetchSettings","FETCH_SYSTEM_SETTINGS_REQUEST","UPDATE_SYSTEM_SETTINGS_REQUEST","SideBarParanja","contentRootNode","createPortal","shipmentAttachedPaperTypeOrder","OffersForm","params","useParams","ensureCreatedRFQ","rfqId","fetchAdditionalServices","fetchTrailersDict","additionalServicesTopRef","setAdditionalServicesTopRef","createRFQRequestStatus","selectCreateRFQRequest","selectRFQ","priceOffersByHash","selectPriceOffersByHash","dictTrailerInfo","selectTrailersDictById","trailerTypeId","pickUpDate","dropOffDate","rawCustomLineHaul","orderCreationCustomLineHauls","customLineHaulMap","parseQueryCustomLineHaulMap","priceOffers","sortedPriceOffers","emissionClassOrder","EmissionClassEnum","euro6","euro5","fuelOptionOrder","FuelOptionTypeEnum","hvo","diesel","sort","priceOfferA","priceOfferB","emissionClassARate","emissionClass","emissionClassBRate","fuelOptionTypeARate","fuelOptionType","fuelOptionTypeBRate","priceOffersById","selectPriceOffersById","selectedOfferId","selectedOffer","scrollToSelectedOffer","time","handleSelectPriceOffer","handleChangeCustomLineHaul","priceOfferId","customLineHaul","formatQueryCustomLineHaulMap","firstPriceOffer","acceptPriceOffer","selectedAdditionalServiceEnums","orderCreationAdditionalServices","additionalServiceMap","selectAdditionalServicesMap","trailerType","summaryAdditionalServicesPrice","sumAdditionalServicesPrice","setSelectedServices","selectedServicesEnums","points","selectIsPartialLoadingOffers","point","offerTotalPrice","getOfferTotalPrice","sourceLineHaul","getPriceOfferLineHaul","compareLineHaul","hasChangedLineHaul","lineHaulDiff","totalAmount","safetyModifyOfferTotalPrice","scrollToAdditionalServicesTop","align","WAIT_RFQ_ID","OMSRoutesEnum","onClickAmount","priceOfferIndex","isSelectable","scrollToAdditionalServices","onChangeCustomLineHaul","topNode","selectedServiceTypes","BaseShipperContractLaneDetailsLayout","isReadOnly","onOpenUserDetails","selectShipperContractLaneDetailsState","originRadiusKm","setOriginRadiusKm","originRadius","originAddress","originPoint","latitude","longitude","radiusKm","destinationRadiusKm","setDestinationRadiusKm","destinationRadius","destinationAddress","destinationPoint","googleMaps","googleMapsContextValue","Provider","leftColumnTitle","leftColumnNode","shipperContractLaneId","onChangeOriginRadiusKm","onChangeDestinationRadiusKm","rightColumnTitle","rightColumnNode","FETCH_DOCUMENTS_REQUEST","FETCH_DOCUMENTS_REQUEST_BEGIN","FETCH_DOCUMENTS_REQUEST_ERROR","FETCH_DOCUMENTS_REQUEST_SUCCESS","UPLOAD_DOCUMENT_REQUEST","UPLOAD_DOCUMENT_REQUEST_BEGIN","UPLOAD_DOCUMENT_REQUEST_ERROR","UPLOAD_DOCUMENT_REQUEST_SUCCESS","APPROVE_DOCUMENT_REQUEST","APPROVE_EVIDENCE_OF_TAX_DOCUMENT_REQUEST","REJECT_DOCUMENT_REQUEST","REVOKE_DOCUMENT_REQUEST","UPDATE_DOCUMENT_REQUEST","UPDATE_DOCUMENT_REQUEST_BEGIN","UPDATE_DOCUMENT_REQUEST_ERROR","UPDATE_DOCUMENT_REQUEST_SUCCESS","DOWNLOAD_DOCUMENT_REQUEST","DOWNLOAD_DOCUMENT_REQUEST_BEGIN","DOWNLOAD_DOCUMENT_REQUEST_ERROR","DOWNLOAD_DOCUMENT_REQUEST_SUCCESS","FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST","FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN","FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR","FETCH_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS","UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST","UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_BEGIN","UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_ERROR","UPDATE_EVIDENCE_OF_TAX_DETAILS_REQUEST_SUCCESS","RESET","trigger","rightIcon","HumanReadableDateCell","isBigFont","isAllowNever","formatHumanReadableDate","initialRequestStatus","findPartnersByName","then","asyncOptionsRequest","useAsyncOptionsRequest","find","optionValue","withoutPaddings","PlusIcon","rest","AssetsSelectionContext","getLabel","user","KeyAccountManagerDropdown","excludeUserIds","fetchManagers","fetchRequest","selectFetchManagersRequest","allIds","selectManagersAllIds","selectManagersById","setQuery","filteredOptions","preparedQuery","prepareSearchQuery","excludeUserIdsSet","NotificationEntityLabel","isUnderline","LinkedTruckAlert","truckId","onOpenTruckDetails","actionText","onClickAction","Card","iconNode","titleNode","titleClassName","titleTooltipNode","initIsOpen","hasHeaderBottomBorder","footerNode","keyboardShortcut","anchor","isHighlighted","setIsOpen","AlertToastsManager","renderAlertToast","newAlertIds","selectNewAlertsIds","alertsById","selectAlertsById","preventDefault","alertId","alertIndex","alert","alertToastView","ttlMs","customTTLMs","deleteAlert","version","uploadEventDetails","createdDate","isBoldRightNode","hasBottomBorder","byBroker","createdByBroker","reviewEventDetails","reviewedDate","reviewedByName","reviewedById","revokeEventDetails","revokedDate","revokedByName","revokedById","editEventDetails","lastEditDate","lastEditByName","lastEditById","lastEditByBroker","ActiveFleetCount","trailersStats","selectTrailersStats","actualTotalCount","consistentStateMachineRefreshChannel","ApproveDocumentsConfirmation","baseColor","document","DestinationIcon","r","blazeOrange","TAB_LABEL_T","handleSelectOption","withSelectedCheck","triggerNode","COUNTRIES_DICT_REQUEST","fetchCountriesDictBegin","COUNTRIES_DICT_REQUEST_BEGIN","fetchCountriesDictSuccess","countriesList","COUNTRIES_DICT_REQUEST_SUCCESS","fetchCountriesDictError","COUNTRIES_DICT_REQUEST_ERROR","Loader","selectSettingsStatus","selectMinWindowSizeMs","MIN_WINDOW_SIZE","MS_IN_HOUR","parsedValue","MS_IN_SEC","selectMaxWindowSizeMs","MAX_WINDOW_SIZE","selectOrderCreationMs","ORDER_CREATION_SECONDS","DEFAULT_TIME_WINDOW_QUANTUM","MS_IN_MIN","selectTimeWindowQuantumMs","QUANTUM_MINUTES","SaveFooterContent","remoteFormActionsContext","remoteFormCallbacks","submit","remoteFormRequest","collectDebugInfo","window","debugInfo","RuleGroupEnum","categoryI18nMap","PriceComponentTypeEnum","lineHaul","fuel","roadTaxes","roadTaxesGeneral","roadTaxesCity","roadTaxesBridge","roadTaxesTunnel","roadTaxesFerry","roadTaxesMountainPass","serviceFee","categoryLevel","categoryOrder","ruleGroupOrder","ignored","new","other","ruleGroupI18nMap","newRuleGroupI18nMap","currentRuleId","preview","onDeactivateRule","groupedRules","reduce","acc","finalValue","finalOperator","operator","groups","rules","group","newRule","category","summaryTheme","hasNew","paddingLeft","groupName","groupRules","ruleGroupI18nKey","ruleId","ruleTheme","black30","isAllowClick","ruleValue","ruleOperator","ruleName","ExternalNumberCell","UnlockPartnerConfirmation","useWatchAnyFieldValueChanges","createUseWatchAnyFieldValueChanges","Object","setNeedCloseConfirmation","validate","uploadRequestStatus","selectUpdateShipperContractRequest","initialErrors","simpleStringFormatter","hasAnyFieldValueChanges","minValidTillDate","MIN_VALID_FROM_VALID_TILL_DAYS","maxActivateDate","subtract","tooltipPosition","withoutLabel","accept","isEmpty","spotBrokerTranziitApi","authApi","basepath","timeout","fetchSpotRequests","Promise","this","doFetch","method","expectedResponseContentType","fetchSpotRequestsStats","fetchSpotRequestDetails","cancelSpotRequestByTour","cancelSpotRequest","spotId","assignBidToSpotRequest","spotRequestId","body","entries","getInstance","SpotBrokerTranziitApi","instance","suggestLastTimeWindowOfDay","availableReserveTimeWindow","baseDate","targetTimeZone","parseZone","utcOffset","startOf","startLimit","endOf","endLimit","getReserveTimeWindowWidthMs","reserveTimeWindow","valueOf","addToTimeMs","isoTime","ms","convertReserveTimeWindowToRelativeTimeWindow","createReserveTimeWindow","minWindowSizeMs","checkIsISODateMidnight","isoDate","setDateForReserveTimeWindow","dateStringPart","slice","setTimeWindowForReserveTimeWindow","startDay","clone","checkIsSameTimezone","isoDateA","isoDateB","getRoutePointFieldName","pointIndex","routePointField","street1","street2","zipCode","city","legalFormId","selectShipperLaneOrigin","shipperContractLaneCreation","selectShipperLaneDestination","selectPolylines","polylines","selectFetchRouteRequest","fetchRouteRequest","selectCalculateCostRequest","calculateCostRequest","selectAveragePriceOffer","averagePriceOffer","selectCreationRequest","creationRequest","selectMapSettings","mapSettings","iconTypeMap","AssetTypeEnum","LastAssetWithNumberTrackPointPin","timestamp","IconComponent","shouldShowNumber","mapLayers","regular","hovered","formatTime","useSelectedLane","selectedLaneId","selectReserve","lane","QueryFiltersKeysEnum","BrokerToursQuickFilterEnum","BrokerToursSortEnum","SpotRequestDetailsPage","goBackIfHasRePath","SpotRoutesEnum","list","shouldCloseSidebars","toggleMap","spotRequestsListWithDetails","isActiveMapTrigger","EMPTY_COUNTRY_CODES","selectRatesTotal","ratesPages","selectRatesPages","rateById","selectRatesByIds","updateRatesRequest","selectUpdateRatesRequest","selectedRatesSet","setSelectedRatesSet","fromCountryCodes","ratesFromCountryCodesSearch","toCountryCodes","ratesToCountryCodesSearch","handleChangeFilters","handleOmitFilters","omitFromCountryCodes","omitToCountryCodes","ratesPage","ids","fetchRatesPage","countriesFrom","countriesTo","ratesRefreshChannel","goToPage","setPageHandler","ratesPaginationChannel","rates","hasQuery","isShowCSVImportModal","setShowCSVImportModal","initialFromCountryCodes","initialToCountryCodes","pickFile","uploadCSVFile","changeCost","rate","updateRates","filterTagsNode","withCloser","isCompact","FilterPillThemeEnum","code","countryCodes","onSelectRates","onUpdateRate","UpdateRateStrategyEnum","exactValue","pageCount","DownArrowIcon","xmlnsXlink","useReserveChannelLock","isLocked","setIsLocked","reserveLockChannelHandler","reserveLockChannel","initialShipperSuggestState","FIND_SHIPPERS_REQUEST_BEGIN","FIND_SHIPPERS_REQUEST_ERROR","FIND_SHIPPERS_REQUEST_SUCCESS","partners","partner","isNonNil","TrailerDetailsPage","onCloseMap","onOpenTransportOrderDetails","assetServiceLocationContextValue","useAssetServiceLocationContextValue","trailerId","cancelServiceMaintanceConfirmation","cancelRequestStatus","selectCancelUnavailableVehicleRequestStatus","trailerDetails","selectTrailersDetailsByIds","stateSafeHistory","useStateSafeHistory","handleOrderClick","orderId","replace","trailerOrderId","scheduleAroundDate","getVehicleScheduleAroundDateISO","fetchScheduleRequestStatus","selectFetchScheduleRequest","schedule","selectVehicleSchedule","fetchVehicleSchedule","vehicleId","aroundDate","refreshVehicleSchedulesHandler","vehicleSchedulesRefreshChannel","currentPosition","syncSetUnavailableFormMapStateContextValue","SyncSetUnavailableFormMapStateContext","sideBarTitle","sideBarNode","isShowMap","onToggleShowMap","onOpenTrailerDetails","truckDetails","onOpenContactDetails","carrierContract","initIsEditing","isBrokerUser","mapTitle","mapNode","telematicUpdatedDate","historyTitle","historyNode","timelineTitle","timelineNode","onEventClick","selectedOrderId","onCancelServiceMaintance","assets","assetType","cancelUnavailableVehicleRequest","PlusSignIcon","updateDockingHours","brokerOrderId","UPDATE_DOCKING_HOURS","updateBrokerOrderRequestBegin","UPDATE_BROKER_ORDERS_REQUEST_BEGIN","updateBrokerOrderSuccess","UPDATE_BROKER_ORDERS_REQUEST_SUCCESS","updateBrokerOrderRequestError","UPDATE_BROKER_ORDERS_REQUEST_ERROR","resetBrokerOrderEdit","useSyncFormValues","syncFormValues","setFieldValueCallbackRef","setFieldValueCallback","syncSetFieldValueCallback","callback","UNREAD_GROUPED_NOTIFICATION_COUNTS_TTL","AVAILABLE_RATE_MODES","TruckRateModeEnum","brutto","netto","truckRateModeI18nMap","TruckRateModeDropdown","truckRateOptions","rateMode","TransportationOrderNumber","DispatchNumber","CarrierName","TransportationOrderDeclinedCard","transportationOrderNumber","orderNumber","cityFrom","cityTo","toNumber","dispatchNumber","cityName","NotUsedRoutePointValidationAlertContent","validationResult","ArrowDownIcon","renderDefaultNotificationToastIcon","alertLevel","NotificationAlertLevelEnum","renderLoadStatusNotificationToastIcon","ShipmentStatusEnum","renderOrderStatusNotificationToastIcon","OrderStatusEnum","done","renderTourStatusNotificationToastIcon","TourStatusEnum","finished","renderTransportationStatusNotificationToastIcon","TransportOrderStatusEnum","assetsUnassigned","renderOrderDraftStatusNotificationToastIcon","RFQStatusEnum","expireSoon","completed","renderNewNotificationToastIcon","renderExpiredNotificationToastIcon","renderAttentionPadNotificationToastIcon","renderAttentionCaseNotificationToastIcon","ScrollableContent","stickyHeaderNode","scrollContainerRef","onContainerScroll","onScroll","FETCH_VEHICLE_SCHEDULE_REQUEST","fetchVehicleScheduleBegin","hash","FETCH_VEHICLE_SCHEDULE_REQUEST_BEGIN","fetchVehicleScheduleSuccess","FETCH_VEHICLE_SCHEDULE_REQUEST_SUCCESS","fetchVehicleScheduleError","FETCH_VEHICLE_SCHEDULE_REQUEST_ERROR","setUnavailableVehicleRequest","SET_UNAVAILABLE_VEHICLE_REQUEST","setUnavailableVehicleRequestBegin","SET_UNAVAILABLE_VEHICLE_REQUEST_BEGIN","setUnavailableVehicleRequestError","SET_UNAVAILABLE_VEHICLE_REQUEST_ERROR","setUnavailableVehicleRequestSuccess","SET_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS","CANCEL_UNAVAILABLE_VEHICLE_REQUEST","cancelUnavailableVehicleRequestBegin","CANCEL_UNAVAILABLE_VEHICLE_REQUEST_BEGIN","cancelUnavailableVehicleRequestError","CANCEL_UNAVAILABLE_VEHICLE_REQUEST_ERROR","cancelUnavailableVehicleRequestSuccess","CANCEL_UNAVAILABLE_VEHICLE_REQUEST_SUCCESS","SIGN_IN_REQUEST","SIGN_IN_REQUEST_BEGIN","SIGN_IN_REQUEST_SUCCESS","SIGN_IN_REQUEST_ERROR","RESET_PASSWORD_REQUEST","RESET_PASSWORD_REQUEST_BEGIN","RESET_PASSWORD_REQUEST_SUCCESS","RESET_PASSWORD_REQUEST_ERROR","UPDATE_PASSWORD_REQUEST","UPDATE_PASSWORD_REQUEST_BEGIN","UPDATE_PASSWORD_REQUEST_SUCCESS","UPDATE_PASSWORD_REQUEST_ERROR","CONTINUE_SIGN_UP_REQUEST","SIGN_UP_REQUEST","SIGN_UP_REQUEST_BEGIN","SIGN_UP_REQUEST_SUCCESS","SIGN_UP_REQUEST_ERROR","SIGN_OUT_REQUEST","SIGN_OUT_REQUEST_BEGIN","SIGN_OUT_REQUEST_SUCCESS","SIGN_OUT_REQUEST_ERROR","EMAIL_VERIFICATION_REQUEST","EMAIL_VERIFICATION_REQUEST_BEGIN","EMAIL_VERIFICATION_REQUEST_SUCCESS","EMAIL_VERIFICATION_REQUEST_ERROR","SET_USER","RESET_USER","SEND_TO_SPOT_BY_TOUR","CANCEL_SPOT_REQUEST_BY_TOUR","CANCEL_SPOT_REQUEST","canCloseStatusSet","canCompleteStatusSet","RFQDetailsPageLayout","isShowSourcePill","goToBack","goToUserDetails","changesRequest","selectRFQsChangesRequest","rfqDefaultPriceOffer","polylineIds","polylineId","useRouteGeometry","fetchRFQDetails","rfqsRefreshChannel","closeConfirmationModalDialog","routingGeometryState","selectRoutingGeometryState","canComplete","mapPoints","isImported","hasCachedData","isForceShowLoader","SkeletonComponent","defaultPriceOffer","routeRequest","closeRFQ","ShipperContractDetailsLayout","isAllowEditing","optimisticPapers","entityPapers","paper","attachedPaperIdSet","optimisticPaper","afterAttachId","RouteSidebarSkeleton","fetchTimeZonesSaga","selectTimeZonesRequest","fetchTimeZonesBegin","getTimeZones","fetchTimeZonesError","fetchTimeZonesSuccess","timeZones","fetchTimeZones","fetchUser","FETCH_USER_REQUEST","fetchUserBegin","FETCH_USER_REQUEST_BEGIN","fetchUserSuccess","FETCH_USER_REQUEST_SUCCESS","currentUser","fetchUserError","FETCH_USER_REQUEST_ERROR","patchUser","authUser","PATCH_USER_REQUEST","patchUserBegin","PATCH_USER_REQUEST_BEGIN","patchUserSuccess","currentUserUpdate","PATCH_USER_REQUEST_SUCCESS","patchUserError","PATCH_USER_REQUEST_ERROR","SyncShipmentDetailsFormMapStateContext","isMapInitialized","setIsMapInitialized","editingRoutePointIndex","setEditingRoutePointIndex","syncMapSettings","setSyncMapSettings","editingRoutePointErrorsIndexes","setHasEditingRoutePointErrorIndexes","hasEditingRoutePointError","initialBoundingBox","setInitialBoundingBox","ShipmentMissedCard","shipmentNumber","originCity","destinationCity","BidsCountCell","numberOfNewBids","numberOfReadBids","numberOfSentBids","renderBid","childrenClassName","TimeZoneDropdown","selectTimeZones","timeZone","cities","initialCompanyTransportOrdersState","companyState","pageBeginReducer","pageSuccessReducer","newPages","splice","companyTransportOrdersState","resetPagesCacheReducer","LEFT_PADDING","RIGHT_PADDING","EVENT_WIDTH","EVENT_PADDING","EVENTS_LEVEL_WIDTH","ShipperContractLaneStatusDropdownControl","ShipperContractLaneStatusEnum","borderColor","statusColorMap","SHIPPER_CONTRACT_LANE_STATUS_T_MAP","SearchIcon","SearchIconProps","hasSuccess","fields","initValues","checkValuesChanges","MIN_HEIGHT_PX","Flag","flag","durationPx","heightPx","max","signIn","returnUrl","signInBegin","signInSuccess","userClaims","signInError","resetPassword","resetPasswordBegin","resetPasswordSuccess","resetPasswordError","updatePassword","oobCode","updatePasswordBegin","updatePasswordSuccess","updatePasswordError","continueSignUp","phoneNumber","signUp","signUpBegin","signUpSuccess","signUpError","setUser","resetUser","signOut","signOutBegin","signOutSuccess","signOutError","emailVerification","emailVerificationBegin","emailVerificationSuccess","emailVerificationError","destroySession","formName","saveValues","persistStorageDateKey","localStorage","setItem","JSON","stringify","logError","getValues","rawValues","getItem","parse","reset","removeItem","totalPrice","checkIsPositiveNumberValue","BaseShipperContractLanesLayout","onOpenShipperContractLaneDetails","onCreateShipperContractLane","isShowFilters","triggerFilters","contractDetails","selectShipperContractDetailsState","lostDayDiff","now","Date","getSignedDayDiff","isShowContractExpirationAlert","isAllowShowAddLaneTrigger","isAllowAddLane","canUploadShipperContracts","selectShipperContractLanesTotal","selectShipperContractLanesPages","selectShipperContractLanesByIds","useQueryParams","shipperContractLanesPage","createPageNumberParam","shipperContractLanesSort","createSortParams","ShipperContractLanesSortEnum","addedDate","direction","SortDirectionEnum","DESC","shipperContractLanesFilters","createJsonParams","changeQuery","selectedSort","prepareFetchPageQuery","fetchShipperContractLanesPage","shipperContractLanesRefreshChannel","shipperContractLanesPaginationChannel","shipperContractLanesTableRows","sortOptions","handleSetQueryFilters","selectedQueryFilters","updateQueryFilters","queryFiltersChanges","prevQueryFilters","SortDropdownOverlayPositionEnum","left","checkQueryFiltersKeys","actionTitle","actionTheme","onActionClick","renderEmptyState","FIND_SHIPPERS_REQUEST_BY_QUERY","FIND_SHIPPERS_REQUEST_BY_ID","LinkedTrailerAlert","commonGetSidebarCloseConfirmation","editContact","cancelAction","confirmAction","renderCommonSidebarContent","driverFilters","driverDetails","editDriverDetails","addDriver","trailerFilters","addTrailer","truckFilters","addTruck","PartnerTransportOrderDetails","partnerTransportOrders","goToTrailerDetails","isForceShowBackAction","goToTruckDetails","goToSpotRequestDetails","spotRequestDetails","handleOpenUserDetails","isBroker","LockIcon","PILL_THEME_BY_TRAILER_STATUS","TrailerStatusEnum","free","unavailable","TrailerStatusPill","Identifier","contextSyncPointsModifyChannel","useSyncPointsChannels","formikArrayHelpers","syncPointsModifyChannelHandler","correctedStops","addedStopHashes","deletedStopHashes","routeFormValues","orderStopHashes","clonedRouteFormValues","newHashes","stop","getContextRoutePointHash","newHashesSet","getRoutePointHashFromValues","remove","formIndexPointer","stopHash","findIndex","insert","getInitialRouteFormValues","targetIndex","targetHash","currentIndex","move","movedValue","getOptionsHash","uniqValues","optionKey","initOptionsHash","optionsHash","ROUTING_GEOMETRY_TTL","ExcludeCountries","excludedCountries","onChangeExcludedCountries","setExcludedCountries","triggerLabel","objectA","objectB","InvoiceIcon","getInvoiceIconProps","isZeroNumber","preparedValue","Array","isArray","isLessMinLength","minLength","isMoreMaxLength","maxLength","stats","brokerOrderStatsSlice","createSlice","reducers","extraReducers","builder","addCase","reducer","initialTeamEditState","updateRequest","deleteRequest","createRequest","createdTeam","brokerTeamEditSlice","createTeam","createTeamBegin","createTeamSuccess","createTeamError","updateTeam","updateTeamBegin","teamId","teamEditState","updateTeamSuccess","updateTeamError","deleteTeam","deleteTeamBegin","deleteTeamSuccess","deleteTeamError","resetBrokerTeamEdit","SkeletonFormatter","quickFilterOptionSeparators","RFQListPageLayout","onOpenRFQDetails","rfqsPages","rfqById","isDisabledCreateOrder","selectCurrentCompany","hideFilters","rfqsPage","rfqsSort","RFQsSortEnum","creationDate","rfqsFilters","fetchRFQsPage","fetchGroupedNotificationCounts","rfqsPaginationChannel","verificationProblems","selectCompanyVerificationProblems","deadline","selectRFQsStats","quickFilterOptions","showPriority","hidePriority","RFQsQuickFilterEnum","notificationProps","countByState","preExpire","closed","goToCreateOrderForm","revertSeparatorIndexes","selectedId","quickFilter","quickFilterId","moreStatusesLabel","goToRFQDetails","setReversePreviewDefaultQuery","queryChanges","newQueryChanges","timeWindows","reservePreviewIndex","addressAlias","defaultTimeWindow","timeWindowFrom","timeWindowTo","getPreviewReverseQueryChanges","prevReservePreviewQuery","isAvailableLane","some","isResetChange","prepareRoutePointChanges","prevRoutePointChanges","isBrokerTimeWindow","fullRouteChange","routePointChanges","routePointChange","prevQueryChangesTimeWindows","addRoutePoint","deleteRoutePoint","reserveId","mergePreviewReverseQuery","correctionPreviewReverseQueryAfterReserve","reservePreviewQuery","correctedReservePreviewQuery","getApiPreviewReverseQuery","pointsById","brokerWindow","OrderCreationReservePointTypeEnum","shipment","RedirectPendingUser","selectIsPendingUser","authRoutesEnum","getAuthReturnUrl","fetchPartnerDetailsSaga","fetchPartnerDetailsBegin","fetchPartnerDetailsError","fetchPartnerDetailsSuccess","normalizePartnerDetails","updatePartnerDetailsSaga","partnerDetailsChanges","partnerDetailsById","updatePartnerDetailsBegin","updatePartnerDetails","updatePartnerDetailsError","updatePartnerDetailsSuccess","teams","partnersRefreshChannel","companyRefreshChannel","verifyPartnerDetailsSaga","isVerify","verifyPartnerDetailsBegin","verifyPartnerAddress","unVerifyPartnerAddress","verifyPartnerDetailsError","verifyPartnerDetailsSuccess","lockPartnerDetailsSaga","isLock","lockPartnerBegin","lockPartner","unlockPartner","lockPartnerError","lockPartnerSuccess","FETCH_PARTNER_DETAILS_REQUEST","UPDATE_PARTNER_DETAILS_REQUEST","VERIFY_PARTNER_DETAILS_REQUEST","LOCK_PARTNER_REQUEST","ExpandIcon","getValuesDiff","valueA","valueB","getDiffPercent","base","abs","round","onOpenNextSidebar","addTrailerRequestStatus","selectAddTrailerRequestStatus","INITIAL_VALUES","dateRange","dropoffLocation","onSetUnavailable","assetId","countriesSettingsByCode","selectCountrySettingsByCountryCode","fetchCountrySettingsDict","setLocation","disabledDates","dates","eventDates","getDatesBetweenDates","truckDateFrom","truckDateTo","trailerDateFrom","trailerDateTo","prepareQuery","currentLocation","minTodayDate","getDateFromDate","isShowHasUnavailableDatesAlerts","setIsShowHasUnavailableDatesAlerts","hasUnavailableDates","disabledDate","isBetween","showClearControl","responseData","parsed","TeamsCell","assignedTeams","formatMoney","minimumSignificantDigits","CURRENCY_SETTINGS","toFixed","moneyOperations","notStrictPlus","a","b","plus","plusWithFormat","multiply","FilterPill","ActionStatus","actionStatus","Action","actionType","isUppercase","subjectType","StatusChangedCard","subjectNumber","isCapitalized","subjectLink","SelectedFilters","filterPillsConfig","clearKeys","isMultiple","userFullName","userFullNames","pillIconRendererMap","avatar","userIds","partnerNames","partnerIds","UnassignAssetsConfirmation","TrailerIconTypesEnum","ICONS_MAP","DictTrailerDropdown","isShortLabel","selectedTrailerType","trailersDict","selectTrailersDict","selectTrailersDictRequest","rawTrailerOptions","trailerOptions","eur1Pallets","eur2Pallets","renderTriggerContent","TrailerIconProps","UPLOAD_CARRIER_CONTRACT_REQUEST","UPLOAD_CARRIER_CONTRACT_REQUEST_BEGIN","UPLOAD_CARRIER_CONTRACT_REQUEST_ERROR","UPLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS","DOWNLOAD_CARRIER_CONTRACT_REQUEST","DOWNLOAD_CARRIER_CONTRACT_REQUEST_BEGIN","DOWNLOAD_CARRIER_CONTRACT_REQUEST_ERROR","DOWNLOAD_CARRIER_CONTRACT_REQUEST_SUCCESS","FETCH_CARRIER_CONTRACTS_REQUEST","FETCH_CARRIER_CONTRACTS_REQUEST_BEGIN","FETCH_CARRIER_CONTRACTS_REQUEST_ERROR","FETCH_CARRIER_CONTRACTS_REQUEST_SUCCESS","APPROVE_CARRIER_CONTRACT_REQUEST","REJECT_CARRIER_CONTRACT_REQUEST","REVOKE_CARRIER_CONTRACT_REQUEST","UPDATE_CARRIER_CONTRACT_REQUEST","UPDATE_CARRIER_CONTRACT_REQUEST_BEGIN","UPDATE_CARRIER_CONTRACT_REQUEST_ERROR","UPDATE_CARRIER_CONTRACT_REQUEST_SUCCESS","USER_STATUS_T_MAP","pending","UserStatus","fetchCurrentUser","fetchUserSaga","addUserInfo","language","changeLanguage","patchUserSaga","currentPassword","newPassword","reauthenticateWithCredential","reAuthError","getAuthUserClaims","authUserClaims","changePassword","changePasswordError","newDisplayName","updateProfile","updateProfileError","patchedUser","patchedApiUserUpdate","convertToApiUserUpdate","userPatchError","fakeSessionId","selectOrderEditFakeSessionId","createContextRequest","selectOrderEditCreateContextRequest","deleteContextRequest","selectOrderEditDeleteContextRequest","applyContextRequest","selectOrderEditApplyContextRequest","isApplyingContextChanges","selectIsApplyingContextChanges","isConfirmedSubmit","setIsConfirmedSubmitSubmit","toggleIsConfirmedSubmit","isConfirmed","contextId","hasContext","getInitialValues","isShowExpirationAlert","setIsShowExpirationAlert","handleCloseExpirationAlert","changeContextError","selectChangeContextError","applyContextRequestError","useLayoutEffect","checkIsTranziitApiRequestError","subType","TranziitApiRequestErrorSubTypeEnum","brokerOrderEdit_ExpirationContext","oldTourUpdateStopByHash","allStops","oldTourData","flatMap","tour","stops","tourUpdateStopByHash","tours","applyOrderEditContextRequest","routeValue","syncMapStateContext","SyncRouteEditFormMapStateContext","routePoints","routePointValues","fakePointId","contextRoutePointId","routePointHash","tourUpdateStop","isAllowUpdateAddress","checkIsAllowToUpdateAddress","isNew","isDraggable","setMapRoutePoints","boundPoints","initialRoute","mapRoutePoint","onSetMapBoundingBox","onMapClickCallback","firstEmptyLocationRoutePointIndex","routePoint","checkIsAvailableRoutePoint","typeFieldName","routePointType","preparedLocation","prepareLocation","contextRoutePointHash","changeContext","beforeContextRoutePointHashes","getBeforeContextRoutePointHashes","setOnMapClickCallback","onDragEndDnDCallback","prevLocation","setOnDragEndDnDCallback","refreshOrderEditModifyHandler","formValuesChanges","oldRouteFormValues","newRouteFormValues","routePointFormValues","correctedStop","correctedTimeWindow","correctedFrom","correctedTo","orderEditQueryModifyChannel","handleExpire","reCreateOrderEditContextRequest","oldTotalCost","carrierEstimate","oldPricesList","newTotalCost","newTotalCarrierEstimate","newPricesList","priceDiff","isChangedShipperTimeSlots","oldTourUpdateStop","getRoutePointTimeWindowHash","originalDateTimeFrom","originalDateTimeTo","isLoadingSubmit","isDisabledSubmit","delayedFocusOnLocationInput","setTimeout","locationName","inputNodeSelector","inputNode","querySelector","DELAY","resolve","handleManualSelectLocation","currentLocations","boundingBox","handleChangeRoutePointAddress","handleChangeRoutePointTimeWindow","handleRemoveRoutePointReserve","footerTopNode","medium","FormikContext","nextValue","isFirst","isLast","isAllowUpdateTimeWindows","checkIsAllowToUpdateTimeSlots","isAllowRemove","checkIsAllowToDelete","isBetweenOneFerryPoints","RoutePointTypeEnum","isShowAddPointControl","pickupOrDelivery","isFirstRoutePointIndex","isLastRoutePointIndex","onChangeRoutePointAddress","onChangeRoutePointTimeWindow","onRemove","onManualSelectLocation","routePointId","DividerWithDropdownControl","bottomCenter","fakeId","generatePointFakeId","newRoutePoint","submitCount","hasShadow","CheckboxThemeEnum","checked","Container","Timer","showTime","expireTime","tooltipMessage","onExpire","handleSaga","actionChannel","buffers","expanding","channel","take","ExpireDateCell","updateContractRequest","selectUpdateCarrierContractRequest","updatingContractId","selectUpdatingCarrierContractId","ShipmentFieldsEnum","PointContactsFieldsEnum","CARGO_DETAILS_FORM_NAME","TrailerDropOffIcon","ClientFeatureEnum","LOCAL_STORAGE_KEY","saveClientFeaturesConfig","getRawClientFeaturesConfig","setRawClientFeaturesConfig","rawValue","clearClientFeaturesConfig","defaultConfig","showTraceId","errorDetails","partnerInvoices","partnerDrivers","newPapersAttachment","brokerRfq","getClientFeaturesConfig","parsedConfig","SyncAssetScheduleContext","setTruckId","renderWaypointName","renderWaypointStopIcon","detailedWaypointStopTypeSet","SpotRequestDetails","selectedBidId","isDisabledSelectBid","onSelectBid","SpotDetailsTabEnum","selectSpotRequestDetails","stopById","entriesInfoTableRows","brokerOrderDetails","entriesInfoTableRows2","transportationOrderId","spotInfoTableRows","createdBy","formatDate","placedOn","expiresAt","shipmentInfoTableRows","carrierCost","layover","totalSeconds","hoursAbbreviation","convertSecToHours","convertToKm","teamDrive","trailerDictType","trailerInfo","bids","firstShipment","shipments","commentTableRows","isShowStatus","SpotRequestStatusEnum","assigned","firstStop","lastStop","timeSlotFrom","pickupDockingHoursTo","timeSlotTo","dropOffDockingHoursTo","prohibitedCountries","totalPriceLabel","totalPriceTooltip","hasContract","hasShipperContract","teamDriveCost","travelHours","teamDriveHours","lineHaulCost","co2","tollCost","toll","tollByRoadType","byRoadType","tranziitServiceFee","layoverCost","layoverSeconds","layoverPaidHours","paidHours","fuelDetails","additionalServiceItems","additionalServices","appliedRules","shouldAlwaysRenderExpandTrigger","carrierEstimatedCost","companyName","renderStop","isReeferTrailer","reefer","pickUpStop","pickupPointId","dropOffStop","dropOffPointId","estimateSpotRequestPrice","fetchBrokerOrderDetailsSaga","selectBrokerOrderDetailsRequestStatus","fetchBrokerOrderDetailsBegin","getBrokerOrderDetails","fetchBrokerOrderDetailsError","fetchBrokerOrderDetailsSuccess","fetchBrokerOrderDetails","carrierShipmentPapersUrlFactory","getThumbnailUrl","shipmentId","documentId","getContentUrl","PaperPlaceholder","Estimate","distanceM","M_IN_KM","formatThousandNumber","formatDistance","durationSec","SEC_IN_HOUR","SEC_IN_MIN","roundedDuration","formatDuration","travelSeconds","RangeIdSetEnum","surchargeRangeTypeSet","urgentPickUp","teamDriveDropOff","layoverDropOff","DEFAULT_TIME_WINDOW_PICKER_SETTINGS","availableValues","ALL_DAY_RANGE","timeWindowRanges","PickupOrDeliveryRoutePointPicker","isDisabledPreviewReserve","isShowSuggestLoading","fakePointIdFieldName","contextRoutePointIdFieldName","selectedTimeWindow","isNewRoutePoint","isChangedTimeWindow","timeWindowQuantumMs","maxWindowSizeMs","minRangeTimeWindow","maxRangeTimeWindow","teamDriveMark","borderTheme","RangeSelectorZoneThemeEnum","TeamDriveIconProps","getCreateOrder","urgentPickUpMark","UrgentIconProps","layoverMark","HourglassIconProps","teamDriveDropOffRange","regularDropOffRange","regularDropOff","urgentPickUpRange","originalRange","original","regularPickUpRange","regularPickUp","layoverDropOffRange","renderZoneTextNode","currentRanges","surchargeCurrentRanges","range","tourUpdateStopTimeWindows","urgentTimeWindow","regularTimeWindow","layoverTimeWindow","originalTimeWindow","regularFrom","urgentFrom","layoverStart","latestTo","isFirstTimeWindow","availableValuesStart","availableValuesEnd","marks","isHidden","isShowOutsideAvailableValues","relativeTimeWindow","clearDateTimezone","allowedTimeWindowStart","isDisabledUpdateTimeWindows","fieldLabelClassName","isDayRelative","isChanged","labelRightNode","newTimeWindow","isPickUpDeliveryRoutePointPicker","withoutErrorMessage","ranges","step","minRangeWidth","maxRangeWidth","PdfFileIcon","BrokerOrderNumber","includeProfileTypes","allowedQueryMinLength","selectedValues","valueSet","firstOption","IdCell","CarrierWithUtilizationDropdownOption","utilizationPercent","isShowUtilization","isShowUtilizationLoader","initialTransportOrderDetailsState","FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_BEGIN","transportOrderDetailsState","FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_ERROR","FETCH_TRANSPORT_ORDER_DETAILS_REQUEST_SUCCESS","transportOrderDetails","RevokeContractActionEnum","setNewContract","nextContractId","setNewRate","trucksRatePerKm","boxesRatePerKm","tiltsRatePerKm","onDownloadShipperContract","EMPTY_VALUE_PLACEHOLDER","ordersLeft","maxNumberOfOrders","onDownload","colorsMap","disabled","DummyPagination","isDisabledPrevPage","goToNextPage","isDisabledNextPage","goToPrevPage","withoutBorderRadius","CountryCell","selectCountriesDictRequest","countryByCode","selectCountriesByCode","SimpleDriverFormatter","driver","FETCH_ADDITIONAL_SERVICES_REQUEST","FETCH_ADDITIONAL_SERVICES_REQUEST_BEGIN","FETCH_ADDITIONAL_SERVICES_REQUEST_ERROR","FETCH_ADDITIONAL_SERVICES_REQUEST_SUCCESS","UPDATE_ADDITIONAL_SERVICE_REQUEST","UPDATE_ADDITIONAL_SERVICE_REQUEST_BEGIN","UPDATE_ADDITIONAL_SERVICE_REQUEST_ERROR","UPDATE_ADDITIONAL_SERVICE_REQUEST_SUCCESS","reason","tranziitApiRequestErrorSubTypeEnum","apiRequestError","setPrototypeOf","TranziitApiRequestError","prototype","ApiRequestError","errorSubType","extractApiRequestErrorTraceId","traceID","CarrierCostPriceInfoTable","totalPriceDiff","totalPriceIsInvertedPriceDiff","deadheadLineHaulCost","payloadLineHaulCost","commonPriceDetails","useCommonPriceDetails","additionalServicesList","useAdditionalServicesList","isAllowCarrierServices","isAllowBrokerServices","isInvertedPriceDiff","getAppliedRulesFooterNode","getLineHaulList","getRoadTaxesRow","getRoadTaxesList","getFuelCostRow","fuelType","getFuelCostsByCountryList","byCountry","getTeamDrive","checkShouldShowLayover","getLayoverCostRow","getAdditionalServicesRow","temperatureModeColorsMap","TemperatureModeEnum","deepFrozen","ultraFresh","dry","chilled","ambient","TemperatureRangePicker","minValueRange","presets","temperatureMode","temperatureRanges","TEMPERATURE_MODE_T","minTemperature","maxTemperature","color","handleChange","labelsConfig","hasStartStep","hasEndStep","shownLabelCount","shownStepCount","valuesRange","renderLabel","min","formatValue","valueStep","minValuesRangeWidth","warningsQueryFiltersKeys","runningOutOfTimeToAssignCarrier","runOutOfTimeToAssignCarrier","runningOutOfTimeToAssignAssets","runOutOfTimeToAssignAssets","runningOutOfTimeToAssignDriver","runOutOfTimeToAssignDriver","tourDelaying","noShow","shipmentMissed","WarningsFilter","stat","onQueryFiltersChange","SpecialOptionEnum","separator","runningOutToAssignCarrier","colorCodingNotificationLabelTheme","runOutToAssignCarrier","delaying","missed","queryFiltersKey","FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST","FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_BEGIN","FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_SUCCESS","FETCH_GROUPED_NOTIFICATION_COUNTS_REQUEST_ERROR","prepareActivateVehiclesRequest","assetIds","asset","RateSourceEnum","useLocation","parseQuery","Divider","initialCompanyDocumentsState","idsByType","uploadRequest","uploadingDictDocumentId","updatingDocumentId","fetchDocumentsRequest","downloadDocumentRequest","fetchEvidenceOfTaxDetailsRequest","updateEvidenceOfTaxDetailsRequest","companyDocumentsState","documentIdsByType","documentsList","dictDocumentId","FETCH_RFQS_PAGE_REQUEST","FETCH_RFQS_PAGE_REQUEST_BEGIN","FETCH_RFQS_PAGE_REQUEST_ERROR","FETCH_RFQS_PAGE_REQUEST_SUCCESS","RESET_RFQS","SideBarHeaderRequestStatus","SAFETY_MS","createIntervalChannel","intervalMs","eventChannel","emitter","intervalId","setInterval","clearInterval","jobSaga","call","intervalChannel","NEW_DEADHEAD_TOUR_EVENT_ID","shouldCreateAnonymously","selectAllowedCreateAnonymously","selectUser","menuLinks","accountLink","logoLink","badges","UploadedByLabel","translationKey","createdByRole","useQueryParam","rulesFilters","getQueryFilters","initialPartnerIds","initialPartnerOptions","usePartnerSuggestOptions","types","initOptions","initRequestStatus","trailerTypeIds","priceComponent","topLeft","priceOperation","topRight","createdByUserId","DEFAULT_BROKER_COMPANY_ID","initialLabels","createdByUserName","lastModifyDates","lastModifyByUserId","lastModifyByUserName","ranOutOfTimeToAssignAssets","ranOutOfTimeToAssignDriver","reserveQueryModifyChannel","selectCountriesState","countriesDict","selectCountriesDict","createSelector","countriesState","allCodes","byCode","selectCountriesAllCodes","selectCountriesAllLangCodes","allLangCodes","selectCountriesByLangCode","byLangCode","selectCountriesCount","colorCodingColoredStatusTheme","ShipperContractLaneColoredStatus","XLSIcon","StatusFooterContent","brokerTourDetails","onStartAssignment","isAvailableAssignment","onStartSendToSpot","onManageShipment","isDisableAnyActions","assignAssetsUnavailableReason","sendToSpotUnavailableReason","isNeedAssignment","hasSpotRequests","canAssignTour","canAssignmentBrokerOrder","canChangeTourStatusOnBrokerTour","isShowLoading","hideLoaderStatusSet","calculatedStatus","updateWay","onChangeContract","onChangeRate","isLoadingContract","setIsLoadingContract","contractOptions","setContractOptions","fetchCarrierApprovedContracts","brokerResponse","apiContract","labelFallback","carrierResponse","UpdateWayEnum","newRate","changeRateRequest","prepareChangeRateRequest","unassignContract","assignContract","changeContractRequest","prepareChangeContractRequest","selectedContractOption","contractOption","updateWayOptions","selectedUpdateWay","filteredContractOptions","toLowerCase","unitType","euroAbbreviation","TourDelayingCard","TimeZoneEnum","TimeZoneContext","fetchManagersSaga","fetchManagersBegin","fetchPartnerManagers","managers","fetchManagersError","fetchManagersSuccess","FETCH_MANAGERS_REQUEST","ControlLoaderIcon","attributeName","dur","repeatCount","TRANSPORT_ORDER_STATUS_COLOR_MAP","mediumGreen","declined","TransportOrderColoredStatus","visibilitychangeHandler","onVisibilityChange","isVisible","visibilityState","addEventListener","removeEventListener","InvoicesListPage","selectInvoicesByIds","invoicesFilters","invoicesPage","invoicesSort","BrokerInvoicesSortEnum","createDate","invoicesPagingEndingBefore","StringParam","invoicesPagingStartingAfter","pagingState","selectInvoicesPagingState","fetchInvoicesPage","invoicesRefreshChannel","invoices","invoicesQuickFilterOptions","InvoicesQuickFilterEnum","void","paid","uncollectible","getPartnerLink","SUPERCLUSTER_SETTINGS","radius","maxZoom","MultiPointOrderRouteMap","loadStatus","routes","routeRequests","withRouteTrack","truckTrack","truckNumber","truckTrackRequest","truckRoute","truckRouteRequest","trailerTrack","trailerNumber","trailerTrackRequest","trailerRoute","trailerRouteRequest","googleMapContext","api","setApi","setConfig","allMapPoints","lastTruckTrackPoint","lastTrailerTrackPoint","allGeoJSONs","geoJSONs","geoJson","geometry","coordinates","properties","pointNumber","allGeoJSONsClusterator","clusterator","load","allGeoJSONsClusters","getClusters","bounds","zoom","bound","getBounds","northEast","getNorthEast","southWest","getSouthWest","handleClusterClick","maps","clusterFeatures","getLeaves","LatLngBounds","feature","LatLng","extend","fitBounds","isLoadingRoutes","isRouteRequestLoading","defaultCenter","DEFAULT_CENTER","defaultZoom","DEFAULT_ZOOM","bootstrapURLKeys","BOOTSTRAP_URL_KEYS","MAP_OPTIONS","onGoogleApiLoaded","set","onDragEnd","onZoomAnimationEnd","yesIWantToUseGoogleMapApiInternals","cluster","cluster_id","pointFeatures","visitedOriginLoadStatusSet","renderSinglePointFeature","routeIndex","geometryLibrary","libraries","MapRouteThemeEnum","trackFuture","trackPast","zIndex","textSearch","validFromFrom","validFromStart","validFromTo","validFromFinish","validTillFrom","validTillStart","validTillTo","validTillFinish","createdDateFrom","createdDateStart","createdDateTo","createdDateFinish","formatPageQuerySort","routePointTypeMap","PICKUP_TRAILER","DeadheadRouteStopTypeEnum","PICKUP_TRUCK","PICKUP_ROAD_TRAIN","PICKUP_DELIVERY_SHIPMENT","DRIVE_THROUGH","DROP_AND_HOOK","DROP_TRAILER","DROP_TRUCK","DROP_ROAD_TRAIN","FERRY_ONBOARD","FERRY_DISEMBARK","validateNotUsedRoutePoint","allRoutePointIdsSet","shipmentFormValues","pickUpPointId","delete","RightSidebarLayout","AveragePriceOfferDetails","carrierAdditionalServicesList","brokerAdditionalServicesList","costOfOperationPrices","getCarrierAdditionalServicesRow","getBrokerAdditionalServicesRow","otherPrices","appliedRulePrices","brokerInfo","appliedRule","editPriceSettingsRuleSidebar","editableRuleId","unit","costOfOperationRate","costOfOperation","ErrorModal","newErrorLogs","selectNewErrorLogs","featuresContext","isShowErrorDetails","checkActiveClientFeature","selectIsShowErrorModal","firstErrorLog","modalDialogProps","errorAction","defaultOkAction","defaultWidthPx","checkIsApiRequestError","ApiRequestErrorTypeEnum","timeoutError","canNotDowngradeLastAdminInTeam","canNotDeleteHimself","successorHasNotActiveStatus","orderCreationExpiredRFQ","orderCreation_ExpiredPriceOffer","orderCreation_AlreadyCompletedRFQ","failedArchiveInTransitDriver","couldNotUnLockCompany","alreadyAssignedDrivers","isManyDrivers","requestConfig","secondDriver","firebaseTooManyResendInviteRequests","checkIsTranziitApiErrorResponse","documents_unsupportedFileType","allowedTypes","supportedFileTypes","attachedPapers_unsupportedFileType","noRouteFound","openZendeskWidget","getModalDialogProps","isNotBlockingError","checkIsNotBlockingError","isShowTraceId","errorLog","errorIndex","TARGET_TICKS_VIEW_COUNT","DEFAULT_VIEW_MS","MS_IN_DAY","MIN_VIEW_MS","MAX_VIEW_MS","ZOOM_STEP_MS","anyActionSaga","checkError","actionError","extractErrorFromAction","checkIsAuthApiError","AuthErrorTypeEnum","networkRequestFailed","addAlert","notAuthorizedUser","notFoundUser","notFoundCompany","reAuthSaga","HeaderSideBarLoader","headerHeightValue","headerHeight","LockActionOnChangeForm","hasFormChanges","remoteFormState","isLoaded","trailersDictRequest","TRAILERS_DICT_REQUEST_BEGIN","TRAILERS_DICT_REQUEST_SUCCESS","TRAILERS_DICT_REQUEST_ERROR","THEME_BY_STATUS","DEFAULT_THEME","OrdersCountCell","PartnerMembersPage","DeleteWaypointTrigger","spaces","halfTransparentLight","EventCell","getUserLink","openUserDetails","dateFormat","isSmallFont","isHumanReadableDate","isHumanReadableFullDate","dateNode","formatHumanReadableFullDate","linkProps","linkNode","isBrokerProject","RunningOutOfTimeAssignDriversCard","users","tabOrders","BrokerUsersTab","activeTab","brokerUsersTeams","brokerUsers","MAP_PIN_KEYS","ShipperContractLaneDetailsMap","destinationLatLngProps","latLngProps","originLatLngProps","MapAreaThemeEnum","destinationArea","centerLat","centerLon","radiusM","originArea","byCountryCode","COUNTRY_SETTINGS_DICT_REQUEST_BEGIN","COUNTRY_SETTINGS_DICT_REQUEST_SUCCESS","COUNTRY_SETTINGS_DICT_REQUEST_ERROR","PartnerTrailersPage","FerryOnboardPointPicker","useCarrierSuggestOptions","initCarrierIds","initRequestFactory","promises","initCarrierId","all","results","resultOptions","legalAddress","useAsyncInitOptionsRequest","STATUS_T_MAP","InvoiceStatusEnum","draft","InvoiceStatus","CompletedPartnerShipperLaneContractCard","TruckPickUpIcon","useOnlyAvailableLane","reserveRequest","selectReserveRequest","FETCH_PARTNER_DETAILS_REQUEST_BEGIN","FETCH_PARTNER_DETAILS_REQUEST_SUCCESS","FETCH_PARTNER_DETAILS_REQUEST_ERROR","UPDATE_PARTNER_DETAILS_REQUEST_BEGIN","UPDATE_PARTNER_DETAILS_REQUEST_SUCCESS","UPDATE_PARTNER_DETAILS_REQUEST_ERROR","verifyPartnerDetails","unVerifyPartnerDetails","VERIFY_PARTNER_DETAILS_REQUEST_BEGIN","VERIFY_PARTNER_DETAILS_REQUEST_SUCCESS","VERIFY_PARTNER_DETAILS_REQUEST_ERROR","LOCK_PARTNER_REQUEST_BEGIN","LOCK_PARTNER_REQUEST_SUCCESS","LOCK_PARTNER_REQUEST_ERROR","DocIcon","shipperContractLaneDetailsSaga","fetchShipperContractLaneDetails","getFetchShipperContractLaneDetailsSaga","revokeShipperContractLane","updateShipperContractLaneDetailsBegin","updateShipperContractLaneDetailsError","updateShipperContractLaneDetailsSuccess","shipperContractLaneDetailsRefreshChannel","updateShipperContractLane","detailsChanges","fetchShipperContractLaneDetailsBegin","fetchShipperContractLaneDetailsError","fetchShipperContractLaneDetailsSuccess","SideBarLayout","withoutScrollbar","isWide","containerRef","scrollBarWidth","setValue","footerHeightValue","footerHeight","paddingTopPx","paddingBottomPx","paddingTop","paddingBottom","scrollTop","apiRFQ","secondsToExpire","AsyncTrailerTypeFormatter","trailerDictId","useTrailersDict","trailersDictById","getIconColorsByTheme","AssetDropOffLocationPin","getLinkIconColorsByTheme","isShouldRenderNumber","truckRateKm","tiltRateKm","boxRateKm","boxExpectedKm","tiltExpectedKm","truckExpectedKm","ControlsCell","brokerTeamShort","onDelete","useTeamActions","FETCH_SYSTEM_SETTINGS_REQUEST_BEGIN","FETCH_SYSTEM_SETTINGS_REQUEST_SUCCESS","FETCH_SYSTEM_SETTINGS_REQUEST_ERROR","UPDATE_SYSTEM_SETTINGS_REQUEST_BEGIN","UPDATE_SYSTEM_SETTINGS_REQUEST_SUCCESS","UPDATE_SYSTEM_SETTINGS_REQUEST_ERROR","SPOT_REQUEST_LIMIT","spotRequestLimit","EXPIRES_SOON","expiresSoonAlert","PositionEnum","ZoneText","selectionRangeRef","textRef","center","setPosition","textNodeRect","getBoundingClientRect","containerNodeRect","selectionRangeNodeRect","right","formatter","getTimeRelativeStartDay","getDateTime","hours","getHours","formattedHours","minutes","getMinutes","formattedDiff","duration","checkMidnightTime","ActionsEnum","useActionOptions","contactDetails","callbacks","edit","changeRole","deactivateUser","getActions","actionsMap","onEditContact","EMAILS_FIELDS","checkEmail","timeZoneContext","setTimeZoneValue","userUTCOffsetMin","getCurrentTimeOffsetMin","currentTimeZone","accountTimezone","utcOffsetMin","timeZoneOptions","waypointOptions","getPickupDeliveryWaypoints","waypointUTCOffset","parseISOTimeZone","correctedDateTimeFrom","selectedOption","pushSidebarsArray","array","createOpenSidebarHook","queryKey","JSONArrayParam","sidebarsData","setSidebarsData","newSidebarsData","leftSidebarsData","SidebarQueryKeysEnum","leftSidebar","rightSidebarsData","rightSidebar","useCheckOpenedSidebar","useOpenRightSidebar","fetchSpotRequestsSaga","selectSpotRequestsQuery","selectSpotRequestsPages","resetSpotRequests","fetchSpotRequestsPageBegin","fetchSpotRequestsPageError","fetchSpotRequestsPageSuccess","spotRequestsPaginationChannel","FETCH_SPOT_REQUESTS_PAGE_REQUEST","BrokerOrderRouteMap","hasAnyTours","tourAssets","tourIndex","findTourActualTransportOrders","transportationOrders","trailerTransportOrder","truckTransportOrder","trailerTransportOrderId","truckTransportOrderId","isLinked","trackTransportOrderIds","transportOrderIds","tourAsset","fetchTracksByTransportOrders","assetTrackSliceState","selectAssetTrackSliceState","tourAssetTracks","trailerHash","getAssetTrackHashByTransportOrderId","truckHash","hasCarrierRoute","availableRouteTypeSet","RouteTypeEnum","estimateCarrierRoute","shipperRoute","carrierRoute","defaultRouteType","selectedRouteType","setSelectedRouteType","routeType","routePolylineIds","trailerToPickUpPolylineId","truckToTrailerPolylineId","dropTrailerPolylineId","dropTruckPolylineId","geometryStates","selectRoutingGeometryStates","isLoadingPolylines","geometryState","boundMapPoints","isLoadingSomeTrucks","lastTruckTrackPoints","tracks","lastPoint","lastTrailerTrackPoints","shouldShowPinNumbers","tourNumber","isDisabledEstimateCarrierRoute","isDisabledShipperRoute","isDisabledCarrierRoute","ShipperPriceOfferInfoTable","priceDetails","BigRadioIcon","x","y","combineReducers","rfqStats","ensureItem","initialAssetTeleportItemState","assetsSlice","validateAssetTeleport","validateAssetTeleportBegin","validateTeleportStatus","validateAssetTeleportSuccess","validateTeleport","validateAssetTeleportError","executeAssetTeleport","executeAssetTeleportBegin","executeTeleportStatus","executeAssetTeleportSuccess","executeAssetTeleportError","resetAssetTeleportItem","FilePickerInput","hasUploadNewControl","handleBlur","handlePickFile","resetControlTestSelector","handleDownload","labelNode","limitFileNameLength","LinkSizeEnum","reduceFileNameIfNeed","File","labelClassName","systemSettings","minimalShipmentCost","MINIMAL_COST_FOR_SHIPMENT","driverSalaryPerHour","DRIVER_SALARY_PER_HOUR","minimalCostForTruck","MINIMAL_COST_FOR_TRUCK","minimalCostForTrailer","MINIMAL_COST_FOR_TRAILER","layoverCostPerHour","COST_PER_ONE_HOUR_LAYOVER","layoverCostPerDay","COST_PER_ONE_DAY_LAYOVER","layoverFreeHours","LAYOVER_FREE_HOURS","urgentOverPrice","URGENT_OVERPRICE","overPriceForEveryAdditionalStop","OVERPRICE_FOR_EVERY_ADDITIONAL_STOP","timeSlotAppointmentCost","TIME_SLOT_APPOINTMENT_COST","costPerGreenShipment","COST_PER_GREEN_SHIPMENT","tranziitServiceFeeFixedMode","TRANZIIT_SERVICE_FEE_FIXED_MODE","tranziitServiceFeePercent","TRANZIIT_SERVICE_FEE_PERCENT","tranziitServiceFeeFixed","TRANZIIT_SERVICE_FEE_FIXED","pricingStrategy","PRICING_STRATEGY","truckConsumption","TRUCK_CONSUMPTION","reeferConsumption","REEFER_CONSUMPTION","rateMatrixSpread","RATE_MATRIX_SPREAD","hvoPricePercent","HVO_PRICE_PERCENT","usePeriodicRulesForMonths","YEAR_PERIODIC_AUTO_RULES","BooleanSettingValueEnum","true","usePeriodicRulesForWeekdays","USE_PERIODIC_RULES","GPStatusEnum","RunOutOfTimeAssignDriversCard","Company","fetchCompany","refreshHandler","useUpdateOptionsIdsSet","shouldWatch","initIds","initIdSet","idSet","diffIds","initDiffIds","MapBound","allMapPointsHash","boundPoint","boundingBoxHash","point1","point2","BigLaneIcon","pillNode","isInline","blockedCancelReasonI18nMap","PICKUP_ALREADY_STARTED","TRANSPORTATION_IS_NOT_IN_AVAILABLE_STATUS","TRANSPORTATION_ORDER_IS_ON_SPOT","BROKER_CANT_CANCEL_DEADHEAD_TO","ChangeTransportOrderStatusControl","transportOrderId","cancelByBrokerUnavailableReason","descriptor","entityType","entityId","updateEntityStatus","update","validFromDates","validTillDates","createdDates","RestoreIcon","isAllBrokerUsers","TRUCKS_DICT_REQUEST","TRUCKS_DICT_REQUEST_BEGIN","TRUCKS_DICT_REQUEST_SUCCESS","TRUCKS_DICT_REQUEST_ERROR","POINT_CONTACTS_EMAILS_FIELDS","POINT_CONTACTS_PHONE_FIELDS","contactFormValues","requiredContactsStopTypeSet","contactFormErrors","unDetailedAddressError","isUnDetailedAddress","checkIsEmptyPhoneNumber","countryFrom","countryTo","fetchDriversSaga","selectSearchDriverQuery","searchDriver","driversPage","fetchPartnersStatsSaga","selectPartnersStatsRequest","fetchPartnersStatsBegin","fetchPartnersStatistics","createPartnerRequestError","shippersStat","carrierStat","brokerStat","fetchPartnersStatsSuccess","FETCH_PARTNERS_STATS_REQUEST","CarrierDropdown","dateForUtilizationRequest","setCarrierId","carriersRequestStatus","selectAvailableCarriersRequest","carriers","selectAvailableCarriers","carrierIds","fetchCarrierUtilization","carriersUtilizationByHash","selectCarriersUtilizationByHash","carriersUtilizationFetchRequest","selectFetchRequestStatus","carriersOptions","carrierUtilization","utilizationPercents","allCarriersOption","ALL_CARRIERS_ID","unshift","filteredCarriersOptions","AUTO_EXCLUDE_NON_EU_COUNTRIES","autoExcludeNonEUCountries","false","TTL_MS","Toast","setShow","closeTimerRef","startTimer","timeoutId","lost","clearTimeout","onMouseMove","closeTimer","lostLimit","carrierTranziitApi","fetchAssetTracksByTransportOrder","apiFetchOrdersRequest","fetchTrailersPage","apiFetchTrailersRequest","deleteTrailer","assignTruckToContract","assignTrailersToContract","changeRateTrucks","changeRateTrailers","activateTrailers","archiveTrailers","fetchTrailerDetails","fetchTrailersActiveFleetCount","updateTrailer","fetchActiveTrucksByIdPlateNumber","apiFetchTrucksRequest","fetchTrucksPage","activateTrucks","updateTruck","archiveTrucks","fetchTruckDetails","fetchTrucksActiveFleetCount","deleteTruck","getAvailableDrivers","driverName","assignDrivers","reAssignDrivers","fetchCarrierContracts","fetchCarrierContractDetails","getTransportOrderDetails","fetchDriverDetails","driverId","updateDriver","newDriverData","activateDriver","archiveDriver","deleteDriver","inviteDriver","fetchVehicleScheduleAroundDate","dateOfInterest","fetchDriversPage","checkTrailerGPSStatus","checkTruckGPSStatus","addVehicleScheduleEvent","cancelVehicleScheduleEvent","findTrucksForTourByPlateNumber","findTrailersForTourByPlateNumber","assignVehiclesToTransportOrder","unAssignVehicles","fetchCarrierContract","uploadCarrierContract","formData","FormData","append","headers","importXLSTrailers","importXLSTrucks","exportXLSTrailers","exportXLSTrucks","attachPaperToShipment","attachPaperToTour","deleteAttachedPaper","paperId","CarrierTranziitApi","ServerFeatureEnum","parseFeaturesConfig","stringifiedConfig","split","ALLOWED_FEATURES_SET","ALLOWED_FEATURES","DEFAULT_ALLOWED_FEATURES_SET","DISABLED_FEATURES_SET","DISABLED_FEATURES","DEFAULT_DISABLED_FEATURES_SET","checkActiveFeature","isAllowed","StartEditTimeWindowsFooter","onStartEditTimeWindows","firstWaypoint","alreadyStartedLabel","deadlineLabel","renderActions","selectBrokerTeamsPages","brokerTeams","selectBrokerTeamsQuery","selectBrokerTeamsTotal","selectBrokerTeamsByIds","styleTagTransform","setAttributes","domAPI","insertStyleElement","locals","formatSort","BrokerOrdersSortEnum","ASC","pickupDate","hasSpotTransportationOrder","spotTransportOrder","contractedTransportOrder","hasSpotOrder","spotOrder","contractedOrder","dropOffDateFrom","dropOffDateTo","pickupDateFrom","pickupDateTo","dispatcherId","keyAccountManagerId","parsedDictTrailerId","destinationDateFrom","destinationDateTo","originDateFrom","originDateTo","hasUnpaidOrders","dictTrailerIds","BrokerOrdersQuickFilterEnum","statusBar","getQueryFromQuickFilters","sorts","FETCH_DRIVERS_PAGE_REQUEST","fetchDriversPageBegin","FETCH_DRIVERS_PAGE_REQUEST_BEGIN","fetchDriversPageSuccess","FETCH_DRIVERS_PAGE_REQUEST_SUCCESS","fetchDriversPageError","FETCH_DRIVERS_PAGE_REQUEST_ERROR","resetDrivers","RESET_DRIVERS","newDriver","INVITE_DRIVER_REQUEST","inviteDriverBegin","INVITE_DRIVER_REQUEST_BEGIN","inviteDriverSuccess","INVITE_DRIVER_REQUEST_SUCCESS","inviteDriverError","INVITE_DRIVER_REQUEST_ERROR","ADD_DRIVER_REQUEST","addDriverBegin","ADD_DRIVER_REQUEST_BEGIN","addDriverSuccess","ADD_DRIVER_REQUEST_SUCCESS","addDriverError","ADD_DRIVER_REQUEST_ERROR","DELETE_DRIVER_REQUEST","deleteDriverBegin","DELETE_DRIVER_REQUEST_BEGIN","deleteDriverSuccess","DELETE_DRIVER_REQUEST_SUCCESS","deleteDriverError","DELETE_DRIVER_REQUEST_ERROR","driverChanges","UPDATE_DRIVER_REQUEST","ACTIVATE_DRIVER","cancelDriverInvite","driverUserId","CANCEL_DRIVER_INVITE","ARCHIVE_DRIVER","updateDriverBegin","UPDATE_DRIVER_REQUEST_BEGIN","updateDriverSuccess","UPDATE_DRIVER_REQUEST_SUCCESS","updateDriverError","UPDATE_DRIVER_REQUEST_ERROR","fetchOptions","FETCH_DRIVER_DETAILS_REQUEST","fetchDriverDetailsBegin","FETCH_DRIVER_DETAILS_REQUEST_BEGIN","fetchDriverDetailsSuccess","FETCH_DRIVER_DETAILS_REQUEST_SUCCESS","fetchDriverDetailsError","FETCH_DRIVER_DETAILS_REQUEST_ERROR","countryLabel","PartnerTrucksPage","hasAllOption","selectShippersIds","selectShippersById","selectFindShippersRequest","ALL_SHIPPERS_ID","findShippersById","handleChangeQuery","findShippersByQuery","ShipperIconProps","MEDIA_FIELDS_NAME","SocialMediaEnum","whatsapp","viber","telegram","msTeams","BIRTHDAY_FIELDS","DATE_FIELDS","PHONE_FIELDS","desktopPhone","MEDIA_FIELDS","checkBirthday","checkDate","checkNotEmptyString","CityName","allSpecialOptions","checkIsSpecialOption","checkIsNotEmptyOptions","DropdownControl","isShowTriggerForEmptyOptions","viewOptions","withoutScroll","overlayNode","LeftCardLayout","cardNode","timeSlotToBoardFerry","timeSlotDisembarkFerry","HourglassIcon","createRuleRequestStatus","updateRulesRequestStatus","createError","updateError","manualRateRuleCreation_InvalidZipsFrom","fromCountryZipCodes","manualRateRuleUpdate_InvalidZipsFrom","manualRateRuleCreation_InvalidZipsTo","toCountryZipCodes","manualRateRuleUpdate_InvalidZipsTo","CreateCell","brokerOrderShort","onOpenPartnerDetails","shipperName","serId","ALL_FIELDS","renderAsyncError","evidenceOfTaxDetails_WrongVat","EvidenceOfTaxDetailsForm","isReview","dictDocument","updateDocumentRequest","selectUpdateCompanyDocumentsRequest","selectUpdateEvidenceOfTaxDetailsRequest","confirmApproveDocumentModalDialog","shouldCloseOnError","fetchEvidenceOfTaxDetails","selectFetchEvidenceOfTaxDetails","approveData","updateEvidenceOfTaxDetails","setRemoteFormCallbacks","submitForm","resetForm","hasAsyncErrors","hasFormAnyErrors","useWatchFormAnyErrors","hasErrors","setRemoteFormState","setRemoteFormRequest","selectFetchEvidenceOfTaxDetailsRequest","isRelative","approveEvidenceOfTaxDocument","FETCH_SPOT_REQUESTS_STATS_REQUEST","fetchSpotRequestsBegin","FETCH_SPOT_REQUESTS_STATS_REQUEST_BEGIN","fetchSpotRequestsStatsSuccess","FETCH_SPOT_REQUESTS_STATS_REQUEST_SUCCESS","fetchSpotRequestsStatsError","FETCH_SPOT_REQUESTS_STATS_REQUEST_ERROR","getFetchTransportOrderDetailsSaga","selectTransportOrderDetailsRequestStatus","fetchTransportOrderDetailsBegin","fetchTransportOrderDetailsError","fetchTransportOrderDetailsSuccess","FETCH_TRANSPORT_ORDER_DETAILS_REQUEST","FeaturesContext","ContractName","newNotificationsChannel","emailAlreadyExist","fetchSpotRequestsPage","FETCH_SPOT_REQUESTS_PAGE_REQUEST_BEGIN","FETCH_SPOT_REQUESTS_PAGE_REQUEST_SUCCESS","FETCH_SPOT_REQUESTS_PAGE_REQUEST_ERROR","RESET_SPOT_REQUESTS","partnerSuggestSlice","partnerSuggestRequest","partnerSuggestRequestBegin","partnerSuggestRequestSuccess","partnerSuggestRequestError","WaypointNumberPinContent","OrderTypeEnum","i18nTMap","contracted","sortedAllLangCodes","codeA","codeB","langA","langB","byAlphabetASC","langCode","countryLanguage","convertTourToScheduleEvent","carrierTransportOrder","startTime","finishTime","eventType","VehicleScheduleEventTypeEnum","CURRENT_ASSIGNMENT_EVENT_ID","hasAccessToDispatch","getTimeWindows","events","currentEventId","scheduleTimeWindowFactory","scheduleEvent","dateFrom","parseDateString","dateTo","commonScheduleEvent","entityNumber","serviceMaintenance","isPastEvent","deadheadTO","accentTO","inProgressTO","getFlags","scheduleFlagsFactory","teleport","AssignmentAssetSchedules","selfCostPrediction","selectSelfCostPrediction","selectedScheduleEventId","selectSelectedScheduleEventId","userSelection","selectUserSelection","scheduleAssetById","selectScheduleAssetById","selectedTrailerId","trailerSchedule","selectedTruckId","truckSchedule","useScheduleTimeWindowFactory","useScheduleFlagsFactory","truckScheduleEvents","trailerScheduleEvents","truckStartTime","dropTruckDateTime","scheduleTruckEvent","trailerStartTime","dropTrailerDateTime","scheduleTrailerEvent","levels","flags","setShowSelectedAssetSchedule","onTimeWindowBlur","setSelectedScheduleEventId","onTimeWindowFocus","scheduleEventId","selectedTimeWindowId","BROKER_TOUR_TYPE_T_MAP","ApiBrokerTourEnum","FETCH_RFQS_STATS_REQUEST_BEGIN","FETCH_RFQS_STATS_REQUEST_ERROR","FETCH_RFQS_STATS_REQUEST_SUCCESS","defaultChangesDetactor","customChangesDetector","changesDetector","field","checkHasAnyErrors","errorsMap","DragIcon","PartnerFilterPill","selectPartnerSuggestById","DetailsIcon","carrierNames","formatDateRangeFilterValue","dateCreatedFrom","dateCreatedTo","tourType","tourTypes","transportOrderDeclined","createPartnerRequest","FETCH_PARTNERS_PAGE_REQUEST_BEGIN","FETCH_PARTNERS_PAGE_REQUEST_SUCCESS","FETCH_PARTNERS_PAGE_REQUEST_ERROR","pageErrorReducer","RESET_PARTNERS","CREATE_PARTNER_REQUEST_BEGIN","CREATE_PARTNER_REQUEST_ERROR","CREATE_PARTNER_REQUEST_SUCCESS","CancelLastShipmentConfirmation","EmissionIcon","EmissionIconProps","NotificationCardInnerLayout","BROKER_PILL_THEME_BY_STATUS","SpotBidStatusEnum","accepted","won","CARRIER_PILL_THEME_BY_STATUS","SpotBidStatusPill","themeMap","DEFAULT_CARRIER_COMPANY_ID","SPOT_BID_STATUS_T_MAP","I18N_MAP","AssetTypeTabs","selectedAssetType","onSelectAssetType","next","pickUpLocation","pickUpLocationRadius","dropOffLocation","dropOffLocationRadius","layoverLimit","ordersLimit","MAX_RADIUS_KM","checkRoundValue","checkDateIsBeforeDay","checkDateIsAfterDay","getDayDiff","checkIsAvailableCountryForShip","rateModeI18nMap","TruckOptionLabel","assetUtilizationPercent","isAssetUtilizationLoading","carrierUtilizationPercent","isCarrierUtilizationLoading","isInvalid","fetchTracksByOrder","FETCH_TRACK_BY_ORDER","FETCH_TRACK_BY_TRANSPORT_ORDERS","fetchTrackBegin","FETCH_TRACK_REQUEST_BEGIN","fetchTrackSuccess","FETCH_TRACK_REQUEST_SUCCESS","fetchTrackError","FETCH_TRACK_REQUEST_ERROR","partnersFilters","hasBottomShadow","keyAccountManagerName","memberId","memberName","dispatcherName","statistic","SpotRequestStatStatusEnum","newBids","shouldSelectBidSet","BaseSpotRequestDetailsSidebarContent","selectBidId","fetchDetailsRequestStatus","updateRequestStatus","spotUpdateRequestStatus","handleSelectBid","bid","wonBidId","wonBid","BidStatusEnum","isShouldSelectBid","headerDropdownOptions","BaseDocumentsTable","onUploadDocument","onDownloadDocument","onEditDocumentInfo","onRevokeDocument","headerMods","TableColumnModsEnum","required","DocumentRequiredEnum","must","hasLeftOrangeBorder","getRowTheme","TableRowThemeEnum","createVisibilityChangeChannel","visibilityChangeSaga","visibilityChangeChannel","deadlineTimeWindow","checkTemperatureRangesCompatible","cargoTemperatureRange","FooterSideBarLayout","isAbsolute","hasTopBorder","measureContainer","newHeight","clientHeight","requestAnimationFrame","marginRight","useEqualPreviousValue","savedValue","setSavedValue","POSITION_TO_PLACEMENT","triggerClassName","toggleActive","outsidePressEvent","onMouseUp","onMouseDown","invertDirection","getMapClusterTheme","canInTime","hasSelectedTrailer","hasSelectedTruck","hasSelectedLink","MapClusterThemeEnum","AssetClusterPin","trucksCount","trailersCount","linksCount","getAssignmentIconPreset","useCountriesByCode","countriesByCode","RFQsTable","onOpenUser","externalNumber","targetPrice","selectFetchDispatchersRequest","dispatchers","selectDispatchersAllIds","selectDispatchersById","prepareSignUpParams","userFormData","companyFormData","ContractActionsEnum","useContractsActionOptions","onDownloadContract","onEditContractDetails","onRevokeContract","canDownloadCarrierContracts","canEditCarrierContracts","canRevokeCarrierContracts","optionsConfigMap","download","revoke","hasAnyVersion","optionConfig","apiLocation","scheduleAddress","truckOrigin","truckDestination","trailerOrigin","trailerDestination","fetchDocumentsBegin","fetchDocumentsSuccess","fetchDocumentsError","uploadDocument","uploadDocumentBegin","uploadDocumentSuccess","uploadDocumentError","downloadDocument","downloadDocumentBegin","downloadDocumentSuccess","downloadDocumentError","approveDocument","rejectDocument","revokeDocument","updateEvidenceOfTaxDetailsBegin","updateEvidenceOfTaxDetailsSuccess","updateEvidenceOfTaxDetailsError","updateDocument","detailChanges","updateDocumentBegin","updateDocumentSuccess","updateDocumentError","fetchEvidenceOfTaxDetailsBegin","fetchEvidenceOfTaxDetailsSuccess","fetchEvidenceOfTaxDetailsError","resetDocument","RolesEnum","serviceUser","companyAdmin","keyAccountManager","dispatcher","USER_POSITIONS_T_MAP","ContactPositionsEnum","management","sales","owner","it","Steps","minValue","stepsCount","_","isShowStep","DATE_FORMAT","trailerDictModel","originFullAddress","destinationFullAddress","maximumLayover","externalLaneId","FieldGroupEmptyItem","FETCH_PAPERS_REQUEST","FETCH_PAPERS_REQUEST_BEGIN","FETCH_PAPERS_REQUEST_ERROR","FETCH_PAPERS_REQUEST_SUCCESS","UPLOAD_PAPER_REQUEST","UPLOAD_PAPER_REQUEST_BEGIN","UPLOAD_PAPER_REQUEST_ERROR","UPLOAD_PAPER_REQUEST_SUCCESS","DELETE_PAPER_REQUEST","DELETE_PAPER_REQUEST_BEGIN","DELETE_PAPER_REQUEST_ERROR","DELETE_PAPER_REQUEST_SUCCESS","RESET_PAPERS","fetchPapers","fetchPapersBegin","fetchPapersSuccess","fetchPapersError","uploadPaper","uploadPaperBegin","uploadPaperSuccess","uploadPaperError","deletePaper","deletePaperBegin","deletePaperSuccess","deletePaperError","resetPapers","checkIsCarrierAdditionalService","serviceType","ApiAdditionalServiceTypeEnum","checkIsBrokerAdditionalService","findAdditionalServiceByType","additionalService","meters","YearMonthForm","monthsLabels","minMonthIndexDayYear","checkIsSameYear","month","maxMonthIndexDayYear","years","maxYear","getYear","minYear","form","year","getMonth","monthLabel","getFullYear","isWarning","isFailed","failedMessage","timeDescription","medias","login","mobilePhone","hasAuthentication","formal","deskPhone","parsePhoneNumber","residence","homeAddress","partnerContext","isEditing","setIsEditing","remoteFormActions","currentCompany","selectUploadCompanyDocumentsRequest","documentsDictById","selectDocumentsDictById","selectDocumentsDictByType","selectCompanyDocumentIdsByType","documentsById","selectCompanyDocumentsById","documentInfo","useDocumentInfo","confirmUploadDocumentModalDialog","confirmRevokeDocumentModalDialog","confirmRejectDocumentModalDialog","handleDownloadDocument","handleUploadDocument","onConfirmUploadDocument","useDocumentsActionOptions","actualDocumentVersion","canEditDocuments","shouldReview","handleRetryFetchDocuments","onDownloadFile","isUploading","oldVersions","actualVersionFormNode","canUploadDocuments","onReject","TransportOrderDetailsCard","mainDriver","teamDrivers","moveDetails","onOpenAssetDetails","dictTruckInfo","carrierDetails","selectVehicleState","initialVehicleState","getVehicleScheduleHash","vehicleSchedules","byHash","fetchRequestStatus","selectSetUnavailableVehicleRequestStatus","setUnavailableRequest","cancelUnavailableRequest","DEFAULT_MODS","hasLeftGreyBorder","selectedRowsSet","columnsExtraData","headerNode","mouseDownPositionRef","hoveredRow","onHoverRow","filteredColumns","isShowTable","isShowTableLoader","isShowLineLoader","isShowOverlayLoader","column","columnIndex","colSpan","rowIndex","isHovered","rowMods","rowTheme","clientX","AssetSchedulePin","selectHashPapersState","initialHashPapersState","getPapersHash","papers","selectFetchPapersRequest","selectParersList","selectDeletePaperRequest","selectDeletePaperQuery","deleteQuery","selectUploadPaperRequest","PHONE_NUMBER_PREFIX","media","FETCH_RATES_PAGE_REQUEST","fetchRatesPageBegin","FETCH_RATES_PAGE_REQUEST_BEGIN","fetchRatesPageSuccess","FETCH_RATES_PAGE_REQUEST_SUCCESS","fetchRatesPageError","FETCH_RATES_PAGE_REQUEST_ERROR","UPDATE_RATES_REQUEST","updateRatesBegin","UPDATE_RATES_REQUEST_BEGIN","updateRatesSuccess","UPDATE_RATES_REQUEST_SUCCESS","updateRatesError","UPDATE_RATES_REQUEST_ERROR","resetRates","RESET_RATES","UPLOAD_CSV_FILE_REQUEST","uploadCSVFileBegin","UPLOAD_CSV_FILE_REQUEST_BEGIN","uploadCSVFileSuccess","UPLOAD_CSV_FILE_REQUEST_SUCCESS","uploadCSVFailError","UPLOAD_CSV_FILE_REQUEST_FAIL","LinkDropOffIcon","initialCountryLegalFormsState","LEGAL_FORMS_DICT_REQUEST_BEGIN","countryLegalFormsState","LEGAL_FORMS_DICT_REQUEST_SUCCESS","legalFormsList","legalForm","LEGAL_FORMS_DICT_REQUEST_ERROR","args","dimensions","setDimensions","setNode","rect","bottom","getDimensionObject","liveMeasure","NumberIcon","fontFamily","fontSize","fontWeight","NumberIconProps","getAssignmentControlProps","services","serviceA","serviceB","service","localeCompare","groupA","groupB","categoryCompare","aTrailerType","bTrailerType","checkIsAvailableDropAssetPoints","pointToDropTruck","pointToDropTrailer","selectCountrySettingsDictRequest","countriesSettingsRequest","isAvailablePointToDropTrailer","checkIsAvailableCountryForDropAsset","utcOffsetMinutes","isAvailablePointToDropTruck","initUserSelectionSaga","predictSelfCost","isIgnoreCertificates","isIgnoreEmissionStandard","changeUserSelectionSaga","prevUserSelection","fetchAvailableVehicles","selfCostReserve","isExpiredReserve","selectTruckAssignmentInfoById","truckAssignmentInfoById","truckAssignmentInfo","refreshTruck","selectTrailerAssignmentInfoById","trailerAssignmentInfoById","trailerAssignmentInfo","refreshTrailer","fetchAssetSchedule","fetchAssignDetailsSaga","fetchAssignDetailsBegin","fetchTourAssignDetails","fetchAssignDetailsError","fetchAssignDetailsSuccess","changeUserSelection","fetchAvailableVehiclesSaga","selectAvailableVehiclesQuery","fetchAvailableVehiclesBegin","selectedAssets","searchAssetsForAssigment","ignoreEmissionStandard","ignoreCertificates","vehicles","fetchAvailableVehiclesError","fetchAvailableVehiclesSuccess","fetchAvailableCarriersSaga","fetchAvailableCarriersBegin","fetchAvailableCarriers","fetchAvailableCarriersError","fetchAvailableCarriersSuccess","refreshTruckSaga","findTruck","findTruckSaga","selectTruckSuggestQuery","findTruckBegin","findTrucksByPlateNumber","apiTrucksSuggestItems","findTruckError","limitedTrucksSuggestItems","findTruckSuccess","refreshTrailerSaga","findTrailer","findTrailerSaga","selectTrailerSuggestQuery","findTrailerBegin","findTrailersByPlateNumber","apiTrailersSuggestItems","findTrailerError","limitedTrailersSuggestItems","findTrailerSuccess","predictSelfCostSaga","selectSelfCostPredictionQuery","predictSelfCostBegin","isAvailablePointToDrop","predictSelfCostSuccess","calculateTourCostsForAssets","withPolyLines","addressComponents","predictSelfCostError","preparedResult","assignSaga","assignmentContextId","assignBegin","assignOrder","assignError","assignSuccess","brokerOrdersRefreshChannel","fetchAssetScheduleSaga","selectBrokerOrderDetails","toursById","tourDetails","targetDate","fetchAssetScheduleBegin","scheduleResponse","fetchAssetScheduleError","currentScheduleEvent","getCurrentScheduleEvent","currentScheduleEventId","setAssetSchedule","schedulePolylines","rfqRoutePolylineIds","payloadPolylineId","rfqRoutePolylineId","fetchRouteGeometryPlainResponse","fetchRouteGeometryGoogle","Error","polyline","setEventLoadRoute","fetchAssetScheduleSuccess","resetSaga","initAssignmentSaga","CHANGE_USER_SELECTION","INIT_USER_SELECTION","FETCH_ASSIGN_DETAILS_REQUEST","FETCH_AVAILABLE_VEHICLES_REQUEST","FETCH_AVAILABLE_CARRIERS_REQUEST","FIND_TRUCK_REQUEST","REFRESH_TRUCK_REQUEST","FIND_TRAILER_REQUEST","REFRESH_TRAILER_REQUEST","PREDICT_SELF_COST_REQUEST","ASSIGNMENT_REQUEST","FETCH_ASSET_SCHEDULE","INIT","copyToClipboard","FETCH_PARTNERS_STATS_REQUEST_BEGIN","FETCH_PARTNERS_STATS_REQUEST_SUCCESS","FETCH_PARTNERS_STATS_REQUEST_ERROR","OrderEditedCard","pageSort","fetchContactsSaga","fetchContactsBegin","fetchCompanyContacts","companyContacts","fetchContactsError","fetchContactsSuccess","inviteUserSaga","addMemberBegin","addUserToCurrentCompany","addUserToPartner","addMemberError","addMemberSuccess","addContactSaga","newContact","addContactToCurrentCompany","addContactToPartner","getContactById","selectContactById","getContactByUserId","selectContactIdByUserId","contactIdByUserId","contactById","deleteContactSaga","deleteMemberBegin","deleteMemberError","deleteMemberSuccess","deleteUserSaga","cancelUserInviteSaga","updateMemberBegin","cancelUserInvite","updateMemberError","updateMemberSuccess","restoreUserSaga","changeUserRoleSaga","assignUserRole","fetchContactDetails","updateContactSaga","contactChanges","updateContact","makeMainContactSaga","detailsResponse","detailsError","contactDetailsChanges","updateResponse","getFetchContactDetailsSaga","fetchContactDetailsBegin","fetchContactDetailsError","preparedDetails","prepareCompanyContactDetails","fetchContactDetailsSuccess","getFetchContactDetailsByUserIdSaga","fetchContactDetailsByUserId","FETCH_CONTACTS_REQUEST","INVITE_USER_REQUEST","ADD_CONTACT_REQUEST","DELETE_CONTACT","DELETE_USER","CANCEL_INVITE","RESTORE_USER","CHANGE_USER_ROLE","MAKE_MAIN_CONTACT","UPDATE_CONTACT","FETCH_CONTACT_DETAILS_REQUEST","FETCH_CONTACT_DETAILS_BY_USER_ID","TransportOrderRouteMap","dropTrailerGeometryState","dropTruckGeometryState","payloadGeometryState","trailerToPickUpGeometryState","truckToTrailerGeometryState","isLoadingGeometry","firstTourTrailerId","firstTourTruckId","assetsTracksHash","getAssetsTrackHashByTransportOrderId","assetsTracksRequest","selectAssetTrackRequest","selectAssetTrackPoints","commonProps","setCountryCode","parsedPhoneNumber","partnerSuggestSaga","CreateUpdateCell","updatedDate","EcoIcon","getDefaultState","InfoIcon","PapersMessagePlaceholder","CompletedPartnerShipperContractCard","DEFAULT_INITIAL_VALUES","ShipperContractLaneCreationConfirmForm","prevTotalPrice","setPrevTotalPrice","isShowLoader","initTotalPrice","simpleNumberFormatter","initialTouched","SideBarLoader","PriceRuleStatusPill","pillTheme","FUEL_OPTION_TYPE_I18N_MAP","FuelOptionTypeLabel","fuelOption","partnerTypeMap","SHIPPER","CARRIER","BROKER","positionMap","ContactCell","contactEmail","contactName","contactPhone","contactPosition","contactSurname","contactFullName","boldBrandAccent","isExternal","teamIds","legalAddressCountryCode","legalAddressZipCode","legalAddressCity","legalAddressStreet1","legalAddressStreet2","postalAddress","postalAddressCountryCode","postalAddressZipCode","postalAddressCity","postalAddressStreet1","postalAddressStreet2","billingAddress","billingAddressCountryCode","billingAddressZipCode","billingAddressCity","billingAddressStreet1","billingAddressStreet2","billingEmail","LOAD_STATUS_T_MAP","awaitingLoading","unloading","LoadStatus","lastTelematicUpdateDates","parseDateFromQuery","lastTelematicUpdateDateFrom","lastTelematicUpdateDateTo","lastModifyDateFrom","lastModifyDateTo","SnowflakeIcon","ASSIGNMENT_WARNING","SpotRequestDetailsTabs","bidCount","useBidQuickFilterCounts","BidsQuickFilterEnum","timeLeft","getTimeLeft","parsedDiff","parseDiff","formatDiff","renderDiffStatus","renderSidebarContent","getSidebarCloseConfirmation","paranjaShowLevel","setLeftSidebarsData","setRightSidebarsData","commonLeftSidebarProps","SideBarPositionEnum","commonRightSidebarProps","isShowParanja","commonSidebarProps","pipeProps","leftSidebarData","rightSidebarData","isNarrowSidebar","SideBarSizeEnum","narrow","BrokerRFQsListPage","historyPush","useHistoryPush","brokerRFQDetails","trailerMode","firstPart","secondPart","availableTrailerTypes","TrailerTypeEnum","PartnerPermissionsContextProvider","deprecatedPagingToken","invoiceNumber","CheckIcon","InviteUserModal","initialEmail","allowSelectTeam","hasNoneOption","excludedContractIds","brokerError","brokerResult","carrierError","carrierResult","additionalOptionFilter","handleSelect","fetchTrailersDictSaga","fetchTrailersDictBegin","getTrailersDict","fetchTrailersDictError","fetchTrailersDictSuccess","TRAILERS_DICT_REQUEST","renderTruckDropOffIcon","initDropPoint","truckDropOffLocation","trailerDropOffLocation","renderTrailerDropOffIcon","selectErrorLogs","logs","log","isShowErrorModal","selectUploadCSVFileRequest","errorDescription","rawVatNumber","StartIcon","ShipmentDetailsCard","pickUpWaypoint","dropOffWaypoint","onAttachTourPapers","shouldConfirmForCancelLastShipment","onAttachShipmentPaper","getShipmentPaperThumbnailUrl","onOpenGalleryShipmentPaper","onDownloadShipmentPaper","onDeleteShipmentPaper","onOpenDriverDetails","highlightedEntityId","shipmentChanges","selectShipmentChangesById","handleAttachNew","paperType","idDetails","poDetails","purchaseOrderNumber","originPointDetails","dateTimeFrom","dateTimeTo","destinationPointDetails","shipmentDetails","getLoadUnitType","unitsType","maxNumberOfUnits","weight","kilogramsAbbreviation","lowestTemperature","highestTemperature","papersBadge","useRenderPapersTabCount","attachedPapers","getShipmentAnchor","papersTabRightNode","ShipmentPaperAttachPapersDropdownControl","onAttachNew","ShipmentPapersTabContent","attachPapersUnavailableReason","filterNewNotifications","notifications","prevLastUnReadNotification","notification","BaseSecurityAuthApi","selectBrokerTeamEditCreateRequestStatus","brokerTeamEdit","selectBrokerTeamEditCreatedTeam","selectBrokerTeamEditById","selectBrokerTeamEditUpdateRequestStatus","selectBrokerTeamEditDeleteRequestStatus","AggregateEnum","DEFAULT_DATA_SOURCE","StatisticSourceEnum","import","selectSystemSettings","priceSettings","brokerTourStatsSlice","fetchBrokerTourStats","fetchBrokerTourStatsBegin","fetchBrokerTourStatsSuccess","fetchBrokerTourStatsError","spotRequestTypeMap","SpotRequestRoute","ECLIPSE","limit","checkIsPDFFile","test","AsyncDictCountryNameLabel","userLangDisplayName","LoaderTitle","downloadTenderXLSFile","downloadTenderXLSFileBegin","downloadTenderXLSFileSuccess","downloadTenderXLSFileError","importTenderXLSFile","importTenderXLSFileBegin","importTenderXLSFileSuccess","importTenderXLSFileError","fetchTenderStatus","fetchTenderStatusBegin","fetchTenderStatusSuccess","fetchTenderStatusError","deleteTender","deleteTenderBegin","deleteTenderSuccess","deleteTenderError","fetchDriverDetailsRequestStatus","selectFetchDriverDetailsRequest","selectDriverDetailsById","updateDriversRequestStatus","selectUpdateDriverRequest","archiveDriverConfirmation","activateDriverConfirmation","cancelDriverInviteConfirmation","useDriverActionOptions","onArchiveDriver","onActivateDriver","allowShowChanges","isHideMobilePhoneField","needCloseConfirmation","DelayingWarningAlert","counts","ApproveContractConfirmation","LOAD_STATUS_COLOR_MAP","ShipmentColoredStatus","prepareFetchQuery","selectedGranularity","shippedId","granularity","dataSource","destinationCountry","toCountryCode","destinationZipCode","toZipCode","originCountry","fromCountryCode","originZipCode","fromZipCode","shippedIds","CancelServiceMaintanceTooltipContent","transparentLightAlpha","DriverAssignOptionLabel","AvatarSizeEnum","checkRangeNotIncludeDisabledDates","checkIsAvailableCountryForServiceMaintananceAsset","FieldArray","EMAIL_FIELDS","expiredActionCode","invalidActionCode","userNotFound","userDisabled","weakPassword","failUpdatePassword","failReauthenticateWithCredential","selectPartnersPages","selectPartnersQuery","selectPartnersTotal","selectPartnersByIds","selectPartnerCreationRequest","RevokeDocumentsConfirmation","useDictDocumentById","TRAILER_EXCLUDE_STATUSES","EXCLUDED_STATUSES_SET","trailersFilters","dictTrailerTypeId","excludeStatuses","labels","excludedStatusesSet","isShowAllBrokerUsersOption","UserLinkFormatter","RFQ_STATUS_T_MAP","RFQStatus","TODAY","RFQStats","selectRFQStatsRequest","partnerRFQStats","selectCompanyDocumentsGroup","queryFrom","queryTo","parsedFrom","parsedTo","isValid","isAfter","defaultDateTo","setDates","resetRFQStats","fetchRFQStats","DocumentMessage","getAlertLevelOrFallback","fallback","notificationEmotionMapByAlertLevel","renderNotificationToast","NotificationActionEnum","SHIPMENT_MISSED","SHIPMENT_NO_SHOW","SHIPMENT_CANCELED","SHIPMENT_STATUS_CHANGED","SubjectTypeEnum","ORDER_STATUS_CHANGED","ORDER_EDITED","TOUR_STATUS_CHANGED","TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_ASSETS","isRunOut","isRunningOut","TRANSPORTATION_ORDER_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_DRIVER","TRANSPORTATION_ORDER_STATUS_CHANGED","transportationOrder","TRANSPORTATION_ORDER_MILEAGE_AND_PAYMENT_CHANGED","cityA","cityB","TOUR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER","TOUR_RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER","TOUR_DELAYING","SPOT_PLACED","fromLocation","toLocation","spotRequestNumber","spotNumber","SPOT_EXPIRED","SPOT_BID_ACCEPTED","SPOT_BID_PLACED","SPOT_BID_EXPIRED","DOCUMENT_UPDATED","DOCUMENT_REVOKED","DOCUMENT_EXPIRED","DOCUMENT_COMPLETED","DOCUMENT_EXPIRATION_SOON","SHIPPER_CONTRACT_UPDATED","SHIPPER_CONTRACT_REVOKED","SHIPPER_CONTRACT_EXPIRED","SHIPPER_CONTRACT_COMPLETED","SHIPPER_CONTRACT_EXPIRATION_SOON","SHIPPER_CONTRACT_LANE_UPDATED","tztLaneId","SHIPPER_CONTRACT_LANE_REVOKED","SHIPPER_CONTRACT_LANE_EXPIRED","SHIPPER_CONTRACT_LANE_COMPLETED","SHIPPER_CONTRACT_LANE_EXPIRATION_SOON","CARRIER_CONTRACT_UPDATED","CARRIER_CONTRACT_REVOKED","CARRIER_CONTRACT_EXPIRED","CARRIER_CONTRACT_EXPIRATION_SOON","CARRIER_CONTRACT_COMPLETED","TEAM_REMOVED","teamName","TEAM_USER_ADDED","TEAM_USER_REMOVED","BUSINESS_PARTNER_ADDRESS_VERIFICATION","BROKER_BUSINESS_PARTNER_UPDATED","updatedFields","requiredToCheckProfile","renderNotification","emotion","NotificationEmotionEnum","EMOTION_LOAD_STATUS_MAP","neutral","EMOTION_ORDER_STATUS_MAP","EMOTION_TOUR_STATUS_MAP","emotionStatus","EMOTION_TRANSPORTATION_STATUS_MAP","negative","getNotificationLink","DOCUMENT_UPLOAD","partnerDocumentDetails","partnerShipperContactDetails","SHIPPER_CONTRACT_LANE_UPLOAD","partnerShipperContractLane","brokerUsersTeam","partnerCarrierContactDetails","BrokerAnyAlert","checkIsBrokerAnyAlert","BrokerAlertTypeEnum","spotRequestCancelled","transportOrderAssigned","AnyAlert","tooltipContent","selectUpdateTruckRequestStatus","addRequestStatus","selectAddTruckRequestStatus","detailsById","selectTrucksDetailsByIds","isNewTruck","detailsFormValues","truckRequest","prepareCreateApiTruck","addTruckRequest","prepareUpdateApiTruck","TRAILER_TYPE_T_MAP","tilt","box","trailersTypes","selectAllTrailersTypes","roundedCO2","EventAuthorCell","brokerOrderAssigment","availableVehicles","selectAvailableVehiclesRequest","selectFetchAssignDetailsRequest","fetchAssignDetailsStatus","selectAvailableVehicles","selectVehicleLinks","links","availableCarriers","selectAvailableCarriersById","truckSuggest","selectTruckSuggestRequestStatus","selectTruckSuggestIds","truckById","trailerSuggest","selectTrailerSuggestRequestStatus","selectTrailerSuggestIds","trailerById","selectSelfCostPredictionRequestStatus","selectCurrentPositionById","currentPositionAssetById","selectShowSelectedAssetSchedules","isShowSelectedAssetSchedules","PriceSettingsRuleCreationPage","settingsRules","createRuleRequest","selectCreateRuleRequest","SettingsRoutesEnum","previewCurrentRule","setPreviewCurrentRule","onChangePreviewCurrentRule","carrierTourPapersUrlFactory","fetchTrucksDictSaga","selectTrucksDictRequest","selectTrucksDict","fetchTrucksDictBegin","getTrucksDict","apiTrucksDict","fetchTrucksDictError","trucksDict","sortTrucksDict","fetchTrucksDictSuccess","checkIsCarrierTransportOrderDetails","checkIsBrokerTransportOrderDetails","FETCH_SETTINGS","fetchSettingsBegin","FETCH_SETTINGS_BEGIN","fetchSettingsSuccess","FETCH_SETTINGS_SUCCESS","fetchSettingsError","FETCH_SETTINGS_ERROR","addDriverRequestStatus","selectAddDriverRequest","initialCarrierOptions","carrierOptions","originDates","destinationDates","creationDates","currentUserRequest","patchUserRequest","prepareUser","BrokerRFQsPage","BrokerRFQRoutesEnum","LeftMenuLayout","canCreateOrder","PlusMenuIcon","matchPathname","DatabaseMenuIcon","routesEnum","brokerOrders","canViewBrokerTours","brokerTours","canViewBrokerRFQs","brokerRFQs","canViewInvoices","BusinessPartnerMenuIcon","checkActiveServerFeature","canViewSpot","spotRequests","canViewBrokerUsers","TeamsMenuIcon","BrokerUsersRoutesEnum","canViewPriceSettings","rateMatrix","canViewFullStatistic","account","home","isAllowHelpButton","NotificationToastsManager","newNotifications","setNewNotifications","prevNotifications","handleMarkAsOld","handleMarkAsRead","readAlready","markAsRead","notificationIndex","notificationToastView","renderCommonNotificationToast","getUnknownNotificationToast","link","MapFooterEstimate","travelTimeSec","hasMetrics","formatDurationSec","BrokerUsersTeamsSortEnum","companyIds","sorting","convertRoutePointType","fetchBrokerOrdersSaga","selectBrokerOrdersQuery","selectBrokerOrdersPages","resetBrokerOrders","fetchBrokerOrdersPageBegin","fetchBrokerOrdersPageError","fetchBrokerOrdersPageSuccess","brokerOrdersPaginationChannel","placed","inProgress","EMOTION_ORDER_DRAFT_STATUS_MAP","getDeletedStopHashes","prevContext","contextAfterModify","prevStopsHashes","contextStopsHashes","PartnersCountCell","partnersCount","numberOfCompanies","getAvailableRolesByPartnerType","ALL_ROLES_BY_PARTNER_TYPE","adminRolesSet","UserRolesDropdown","availableRoles","isSelectedAnyAdminRole","initialValueSet","getCheckboxProps","checkboxProps","green","otherRolesOptions","adminRolesOptions","hasAdminRole","newValue","isNoWrapTrigger","selectedOptions","BaseAuthService","stringifyQuery","indices","addQueryPrefix","sortByShowPriorityAsc","optionA","optionB","optionWidthById","setOptionWidthById","containerWidth","setContainerWidth","containerNode","setContainerNode","offsetWidth","firstChild","widthById","child","getAttribute","newOptionWidthById","moreRef","moreWidth","setMoreWidth","sortedOptionsByHidePriority","isMeasuring","optionsWidthLimit","Infinity","optionsForShow","optionsForHide","optionsWidth","summaryWidth","getFullWidth","pop","sortedOptionsForShow","rawDropdownOptions","optionIndex","triggerNotificationProps","notificationGroups","reduceNotificationGroup","summary","red","reduceTriggerNotificationProps","dropdownOptionsWithSeparators","separatorIndex","originalOptions","CloseActionEnum","closeSideBarConfirmation","handleConfirm","goBack","handleGoBack","handleCloseRef","handleKeyDown","handleOutsideClick","navigationNode","contains","alertToastsManagerNode","modalNode","isInsideFloatingUiPortal","commonSidebarContentProps","onOutsideClick","hasAlready","ruleTypeIndex","PhoneNumberInput","allCountries","validateOverloadingTrailer","statsByPointId","eur6Pallets","shipmentValues","cargoUnitType","cargoUnitsCount","cargoWeight","summaryStats","pointAIndex","pointBIndex","legalAddressFields","useWatchLegalAddressChanges","postalAddressFields","useWatchPostalAddressChanges","billingAddressFields","useWatchBillingAddressChanges","PartnerDetailsForm","onVerifyPartner","onUnverifyPartner","onLockPartner","onUnlockPartner","selectUpdatePartnerDetailsRequest","shouldShowBillingInfo","shouldShowTeams","handleSelectLegalForm","touchAllFields","touched","keys","hasLegalAddressChanges","legalAddressCountry","legalFullAddress","hasPostalAddressChanges","postalFullAddress","hasBillingAddressChanges","billingFullAddress","hasLegalAddress","checkIsFilledPartnerAddress","isNeedApproveLegalAddress","hasPostalAddress","isNeedApprovePostalAddress","postalAddressVerified","hasBillingAddress","isNeedApproveBillingAddress","selectedAddressLegalCountry","selectedLegalFormId","useCheckCountryCorrectLegacyForm","selectedCountry","isShowUnlock","checkIsAllowedLock","blockUnlockingReason","getBlockLockingReason","isShowLock","blockLockingReason","onLock","onUnLock","isForceShowWarning","noAssignedDispatchers","getTeamsWarning","isAllowShowVerifyAction","canVerifyPartner","AddressTypeEnum","legal","fullAddress","needApproved","onVerify","onUnVerify","postal","onCopy","billing","ChangePasswordPage","selectUpdatePasswordRequestStatus","asyncPasswordError","passwordAsyncError","createSignInUrlAfterChangePassword","NavigationWrap","uiContext","selectCurrentUser","menu","isShowCompanyLogo","userEmail","setRootNode","CancelBrokerOrderConfirmation","RulesSortEnum","updateDate","rulesState","rulesPartnerIds","rulesTrailerTypeIds","rulesName","rulesTypes","rulesFromCountryCodes","rulesToCountryCodes","rulesImpactPriceComponent","rulesImpactPriceOperation","addedBy","modifiedBy","updatedFrom","updatedTo","rulesSearchText","PriceSettingsRuleStateEnum","activated","deactivated","FOCUS_TIME","ScrollToFirstAsyncError","prevSubmitCountRef","prevAsyncErrorsRef","hadAsyncErrors","asyncErrorsAppeared","formNode","closest","fieldErrorNodes","querySelectorAll","firstErrorFieldNode","ReadOnlyField","withInputLayout","ReadOnlyFieldValue","THEME_MAP","ShipperContractLaneStatusPill","street","CreateCompanyForm","dictLegalFormId","getZipCodePlaceholder","isCheckbox","boldCharcoal","LockPartnerConfirmation","includeServiceFee","includeTeamDrive","useApplyRules","ShipperContractLaneCreationForm","contractDetailsState","fetchShipperContractDetails","protectedContractDetails","contractValidFrom","prepareApiCalculateCostRequestQuery","createQueryDraft","prepareApiCreateRequestQueryDraft","SyncShipperContractLaneCreationFormMapStateContext","setHasDropOffLocationError","setHasPickUpLocationError","handleRadiusSetValue","limitedValue","setDestinationLocationRadius","setOriginLocationRadius","handleGeoSuggestSetValue","createGeoPoint","setDestinationLocation","setOriginLocation","setMapSettings","DEFAULT_POINT_ZOOM","destinationLocation","originLocation","getMaxISODate","maxValidTillDate","getMinISODate","isDisabledValidTillDate","minValidFromDate","maxValidFromDate","isDisabledValidFromDate","FIND_CARRIERS_REQUEST","FIND_CARRIERS_REQUEST_BEGIN","FIND_CARRIERS_REQUEST_ERROR","FIND_CARRIERS_REQUEST_SUCCESS","trucksDictRequest","trucksById","initialAssetTrackState","Zone","hasLeftBorder","hasRightBorder","valuesSet","findSelectedOption","treeNode","subValues","getAllSubValues","subValue","subTreeNode","handleReset","hasValues","isShowClearControl","optionSubValues","optionSubValuesSet","newValues","trees","ChartTooltip","deadheadValue","tooltipData","marginValue","margin","notNumberMessage","available","rejectedShipperRate","acceptedShipperRate","estimatedCarrierRate","realCarrierRate","percentsAbbreviation","avgDistance","ExcludedCountries","isDefault","fax","faxNumber","website","webpageLink","RevokeContractActionDropdown","keepOldRate","setOnSetMapBoundingBox","mapRoutePoints","onChangeExcludedCountriesCallback","setOnChangeExcludedCountriesCallback","assetTrack","getInitialState","signInRequest","resetPasswordRequest","updatePasswordRequest","signUpRequest","signOutRequest","emailVerificationRequest","SelectedOfferHeader","isSticky","isWhite","contentNode","handleToggle","PILL_THEME_BY_TOUR_TYPE","BrokerTourTypePill","onUpdateShipperContract","hasFormAnyErros","COUNTRY_SETTINGS_DICT_REQUEST","PILL_THEME_BY_DRIVER_STATUS","EmissionClassPill","checkNotZero","formCommonValidators","checkFullRange","checkStrictMinValue","maxValue","checkStrictMaxValue","AsyncSpotRequestDetailsLinkFormatter","onOpenSpotRequestDetails","getAssignmentVehicleLinks","vehicle","byTruckId","byTrailerId","getTrailerById","prevTrailerById","assetsToHook","getTruckById","prevTruckById","useSyncShipmentDetailsFormMapState","syncMapSettingsCallbackRef","CaseIcon","CaseIconProps","brandAccent5","HelpIcon","PAPERS_TTL","DEFAULT_DICT_DOCUMENT_ID","findTourById","CarrierContractStatusPill","getMaskByType","getDistanceMask","I18N_LABELS_MAP","VerifyPartnerAdressConfirmation","i18nLabelsMap","COLOR_SCHEMAS","darkGreen","HOVERED_COLOR_SCHEMAS","Trigger","isLeft","isRight","isInteractive","divRef","setHovered","colorSchemas","backgroundColor","TrailerDictIdFilterPill","dictTrailerById","dictTrailer","sourceQueryFilters","primaryQueryKeys","secondaryQueryKeys","clearedQueryFilters","hasAnyFilters","primaryQueryFilters","secondaryQueryFilters","prepareData","fetchAdditionalServicesSaga","selectAdditionalServicesDictStatus","fetchAdditionalServicesBegin","fetchAdditionalServicesError","normalizedData","normalizeAdditionalServicesResponse","fetchAdditionalServicesSuccess","additionalServiceGroups","DispatcherDropdown","fetchDispatchers","FIND_TRAILER_REQUEST_BEGIN","trailersSuggestItems","FIND_TRAILER_REQUEST_SUCCESS","FIND_TRAILER_REQUEST_ERROR","FIND_TRUCK_REQUEST_BEGIN","trucksSuggestItems","FIND_TRUCK_REQUEST_SUCCESS","FIND_TRUCK_REQUEST_ERROR","assign","ASSIGN","unassign","UNASSIGN","ASSIGNMENT_REQUEST_BEGIN","ASSIGNMENT_REQUEST_SUCCESS","ASSIGNMENT_REQUEST_ERROR","brokerToursSlice","fetchBrokerToursPage","fetchBrokerToursPageBegin","fetchBrokerToursPageSuccess","fetchBrokerToursPageError","resetBrokerTours","nextLocation","ctrlKey","metaKey","createExternalRelativePath","assignAssetsUnavailableReasonI18nMap","KAM_CANT_ASSIGN_ASSETS","TOUR_ON_SPOT","UNAVAILABLE_STATUS","RUN_OUT_OF_TIME_TO_ASSIGN_CARRIER","TO_IS_NOT_ON_SPOT","TO_BELONGS_TO_ANOTHER_CARRIER","TO_IS_RUN_OUT_OF_TIME_TO_ASSIGN_ASSETS","assignDriverUnavailableReasonI18nMap","TO_HAS_TRAILER_TYPE","TO_IS_RUN_OUT_OF_TIME_TO_ASSIGN_DRIVER","deadlineGuideI18nMap","START_TOUR","ARRIVED_AT_WAYPOINT","LEAVE_WAYPOINT","FINISH_TOUR","TRAILER_HOOKED","TRAILER_DROPPED","onUnassignedAssets","unassignAssetsUnavailableTooltipContent","onStartAssignAssets","isAvailableToUnassignDriver","onUnassignedDrivers","onStartAssignDrivers","unassignDriverTooltipContent","assignAssetsTooltipContent","assignDriverUnavailableReason","assignDriverTooltipContent","isAllowAssignAssets","isAllowAssignDrivers","currentWaypointId","availableSteps","waypointId","currentWaypoint","currentFirstDoAction","useTimeMark","timeMark","runningOutOfTimeToAssignAsset","isShowAssignDrivers","isAllowToUnassignDriver","isShowAssignAssets","overlayTooltipPosition","toAction","checkIsApiBrokerShipperContractDetails","parseErrors","accessDeniedToApi","accessDeniedToEntity","httpStatusCode","phoneAlreadyExist","expiredContextPreviewReserve","assignmentSelfCostPrediction","orderCreation_FailedCompleteRFQ_CapacityExcess","faultCode","orderCreation_FailedCompleteRFQ_Overweight","orderCreation_FailedPreviewRoute_ProhibitedCountry","orderCreation_FailedPreviewRoute_RouteNotFound","orderCreation_FailedPreviewRoute_RouteWaypointNotLinkable","orderCreation_ShipperNotAllowedToHaveNewOrders","orderCreation_ShipperNotAvailable","brokerDeadheadCreation_ExpirationContext","deadheadCreation_InvalidVehicle","tenderJobNotFound","tenderJobNotInProcessingState","TruckTriggerLabel","onOpenDetails","resetTooltipNode","IGNORE_ACTION_TYPES_SET","CHECK_GPS_STATUS_REQUEST_ERROR","IGNORE_API_ERRORS_TYPES_SET","wrongPassword","wrongRole","IGNORE_API_ERRORS_SUB_TYPES_SET","checkIgnoreError","checkIsUnauthorizedError","clearEmptyValues","canUseBrokerAdminSuggest","selectGPSCheckQuery","gpsTrackingStatus","selectGPSCheckStatus","selectGPSCheckData","selectGPSIsChecking","selectGPSStatus","hasGps","unable","allowToUpdateAddress","allowToDelete","allowToUpdateTimeSlots","typeMap","routeValues","OriginIcon","dodgerBlue","effect","deps","didMount","ArchiveReasonAlert","rfqDetailsState","selectDocumentsState","documents","selectUploadingDictDocumentId","selectUpdatingDocumentId","MapStackClusterPin","BASE_HEIGHT_PX","verticalIndex","hasBorder","newUserSelection","isPrevSelectedLink","trailersSuggestItem","trucksSuggestItem","FETCH_STATISTICS_REQUEST","FETCH_STATISTICS_REQUEST_BEGIN","FETCH_DONE_STATISTICS_REQUEST_BEGIN","FETCH_DONE_STATISTICS_REQUEST_ERROR","FETCH_DONE_STATISTICS_REQUEST_SUCCESS","FETCH_REJECT_STATISTICS_REQUEST_BEGIN","FETCH_REJECT_STATISTICS_REQUEST_ERROR","FETCH_REJECT_STATISTICS_REQUEST_SUCCESS","selectTrailersDictList","selectTrailerDictTypeIds","trailersDictList","formattedDate","currentRule","initialPartnerTypeDocumentsState","byType","DOCUMENTS_DICT_REQUEST_BEGIN","currentPartnerTypeState","DOCUMENTS_DICT_REQUEST_SUCCESS","DOCUMENTS_DICT_REQUEST_ERROR","resetCallback","legacyFormById","selectLegalFormsDictById","geocodeByPoint","GoogleMapsGeocoderApi","geocode","geocodeResult","place_id","GoogleMapsPlacesApi","getPlaceDetails","getGeoCodingLocation","ShipperContractLaneCreationMap","isDisabledDraggable","isAllowShowLoaders","syncFormMapStateContext","isShowEstimate","draggablePinRef","activeLocation","setActiveLocation","draggable","setDraggable","handleDragMove","childKey","childProps","mouse","dispatchChangeOriginLocation","dispatchChangeDestinationLocation","onChildMouseDown","onChildMouseUp","onChildMouseMove","isWrong","hasDropOffLocationError","hasPickUpLocationError","laneCreation","TransportOrderStatusPill","isSpot","MileageInfoTable","getDistancePartRows","distancePart","distance","isInitOpenRows","SyncShipmentDetailsFormValuesContext","createSyncFormValuesContext","TrailersTable","trailers","allowedCheckboxes","selectedTrailersSet","onSelectTrailers","addedByBroker","isShowFlag","linked","dedicated","archivedBy","archivedByBroker","archivedDate","AssetLink","linkedAsset","PickupPointPicker","currentRange","PartnersIcon","PartnersIconProps","TYPE_I18N_MAP","LEVEL_PADDING","nestLevel","isNotHighlightSelectedOption","AssetServiceLocationContext","FETCH_SPOT_REQUEST_DETAILS_REQUEST","fetchSpotRequestDetailsBegin","FETCH_SPOT_REQUEST_DETAILS_REQUEST_BEGIN","fetchSpotRequestDetailsSuccess","FETCH_SPOT_REQUEST_DETAILS_REQUEST_SUCCESS","fetchSpotRequestDetailsError","FETCH_SPOT_REQUEST_DETAILS_REQUEST_ERROR","bidId","ASSIGN_BID_TO_SPOT_REQUEST","updateSpotRequestRequestBegin","UPDATE_SPOT_REQUEST_REQUEST_BEGIN","updateSpotRequestRequestSuccess","UPDATE_SPOT_REQUEST_REQUEST_SUCCESS","updateSpotRequestRequestError","UPDATE_SPOT_REQUEST_REQUEST_ERROR","fetchCountrySettingsDictSaga","fetchCountrySettingsDictBegin","getCountrySettingsDict","fetchCountrySettingsDictError","fetchCountrySettingsDictSuccess","DocumentActionsEnum","canDownloadDocuments","canRevokeDocuments","upload","documentsWithoutExpirySet","CompanySignUpForm","parseRequestError","DEFAULT_ICON_PRESET","ProfileMenuIcon","CollapsedOfferDetails","totalOfferPrice","isOpenDetails","isChangedTotalPrice","isAllowEditTotalPrice","onStartEditTotalPrice","teamDriveTooltipLabel","urgentShipmentTooltipLabel","layoverHours","layoverTooltipLabel","handleTriggerClick","distanceKm","HTMLElement","dataset","clickDetect","isGreenTruck","OfferAttributeIconTypeEnum","eco","tooltipLabel","isUrgentShipment","hasLayover","isTeamDrive","redirectToStartNewOrderSaga","generatePath","delayedSyncFetchTaskOffers","unSubscribeTaskOffersSaga","cancel","SUBSCRIPTION_INTERVAL","delayedSyncFetchTaskOffersSaga","expectedOffersCount","attempt","isComplete","getPriceOffers","responsePriceOffers","apiPriceOffersError","apiPriceOffers","fetchOffersError","fetchOffers","getCreateRFQSaga","actualOrderRequest","clearOffersTasks","createRFQBegin","createMultipointOrderQuotation","apiCreateRFQResponse","apiCreateRFQError","apiCreateRFQResult","createRFQError","defaultAdditionalServices","getDefaultAdditionalServices","selectedDropOffDate","selectedPickupDate","orderCreationPickUpDatesRange","orderCreationDropOffDatesRange","dropOffDates","baseQuery","newOrderOffers","setExpectedOffersCount","fork","getRFQDetails","apiRFQDetailsResponse","apiRFQDetailsError","apiRFQDetailsData","preparedRFQ","createRFQSuccess","fetchRoute","handlePreviewReserveErrorSaga","changeReserveQuery","fetchTaskOfferSaga","selectOffersTasks","offersTasks","getCreatedOrderSaga","createOrderRequest","isCreateNextOrder","createOrderBegin","completeRFQ","responseCreateOrder","createOrderError","createOrderSuccess","ordersRefreshChannel","resetOrderCreation","SHIPMENT_DETAIL_FORM_NAME","orderCreation","orderDetails","CommonRoutesEnum","selectOfferSaga","newOrderDetails","offerId","createReserveSaga","createReserveQuery","countrySettingsByCountryCode","apiCreateReserveQuery","getApiReverseQuery","isValidAddresses","addresses","editablePointTypeSet","ship","resetCreateReserveWithQuery","createReserveBegin","logDebug","restApiCreateReserveQuery","createMultipointOrderReservation","responseCreateReserve","createReserveError","preparedReserve","createReserveSuccess","correctedPoints","notes","previewReserveSaga","apiReservePreviewQuery","previewReserveBegin","previewReserve","responsePreviewReserve","apiPreview","previewReserveError","previewReserveSuccess","createFakeIdFromPoint","correctedTimeWindowsByPointId","correctedBrokerWindowByPointId","correctedBrokerWindow","changeReserveQuerySaga","selectReserveQuery","prevReserveQuery","prevReserveRequest","reverseQueryChanges","getReverseQueryChanges","currentReserveQuery","mergeReverseQueryChanges","isSameReserveRequest","isInitReserveRequest","setCreateReserveQuery","reserveQueryModifyEvent","reserveQueryCorrection","getReserveQueryCorrection","correctReserveQuery","selectReservePreviewQuery","previewReverseQueryChanges","currentReservePreviewQuery","queryModifyEventAfterReserve","selectReservePreview","reservePreview","selectReservePreviewRequest","reservePreviewRequest","isInitReservePreview","setPreviewReserveQuery","previewReserveQueryModify","previewResults","previewReserveQueryCorrection","getPreviewReserveQueryCorrection","correctPreviewReserveQuery","summaryEvent","addEvent","flush","prevSummaryEvent","emitQueryModifyIfNeed","watchSyncChangeReserveQuerySaga","fixed","CHANGE_RESERVE_QUERY","queryModifyEventsQueue","QueryModifyEventsQueue","setAllowCreateRFQ","watchPriceOffersExpirationSaga","REFRESH_INTERVAL","selectPriceOffersList","expriredOfferIds","checkIsPastDate","expirationMs","markOffersExpired","CREATE_RFQ_REQUEST","CREATE_PRICE_OFFER_WITH_LANE_REQUEST","createPriceOfferWithLaneRequestBegin","apiCreateLaneOrderPriceOfferError","apiCreateLaneOrderPriceOfferResult","createPriceOfferWithLaneRequestError","apiLanePriceOffers","apiLanePriceOffersError","apiLanePriceOffersResult","apiLanePriceOffer","newOrderDetailsWithLane","lanePriceOffer","createPriceOfferWithLaneRequestSuccess","ENSURE_CREATED_RFQ","currentRFQ","currentRoute","selectPriceOffers","currentPriceOffers","apiRFQError","apiRFQData","orderCreationComplete","pickupDatesRange","dropOffDateRange","firstRFQPoint","lastRFQPoint","CREATE_ORDER_REQUEST","FETCH_ROUTE","apiRouteError","apiRoute","fetchRouteError","fetchRouteSuccess","SELECT_OFFER","FETCH_TASK_OFFER","PREVIEW_RESERVE_ERROR","takeLatest","CREATE_RFQ_REQUEST_ERROR","CREATE_PRICE_OFFER_WITH_LANE_REQUEST_ERROR","ControlLoaderLabel","selectSpotRequestsStatsRequest","spotRequestsStats","selectSpotRequestsStats","BrokerOrderDetails","isNewPapersAttachmentActive","deprecatedOnAttachTourPapers","deprecatedUseAttachTourPapers","useAttachTourPapers","brokerTourPapersUrlFactory","onAttachTourPaper","onDeleteTourPaper","onConfirmDeleteTourPaper","deleteTourPaperRequestStatus","onDownloadTourPaper","onOpenGalleryTourPaper","getTourPaperThumbnailUrl","deleteTourPaperConfirmationDialog","tourPaperGalleryModal","useAttachShipmentPapers","brokerShipmentPapersUrlFactory","onConfirmDeleteShipmentPaper","deleteShipmentPaperRequestStatus","deleteShipmentPaperConfirmationDialog","shipmentPaperGalleryModal","useTabs","setHighlightedShipmentId","firstNeedTakeOfParersTourId","targetTour","shipmentAction","targetNode","allWaypoints","waypointById","carrierTransportOrders","distanceByCountryRows","useDistanceByCountryRows","distanceRowsFactory","mileageDetails","shipperOrderDetailsRowsFactory","useShipperOrderDetailsRowsFactory","carrierTotalCostDiff","useMoneyDiff","fullCarrierCost","creationDetails","isPaid","shipperContract","shipperContractLane","transportOrderCount","tourCount","shipmentCount","transportOrders","useBrokerOrderPayloadWaypoints","originWaypoint","destinationWaypoint","allShipments","requiredTemperatureMin","requiredTemperatureMax","hasNotShowShipments","ShipmentWarningEnum","hasMissedShipments","isLastNotFinallyShipment","finallyStatusSet","reeferTemperatureMin","trailerTemperature","reeferTemperatureMax","hasTemperatureViolation","checkTemperatureViolation","correctedDateTimeTo","AlertGroup","runOutOfTimeToAssignAsset","eta","formatISOTime","currentMin","currentMax","requiredMin","requiredMax","truckCoordinatesUpdatedAt","formatISOTimeWithoutTimezone","transportationOrderIndex","shipmentIndex","TabTypeEnum","DEFAULT_TAB_TYPE","pricing","TAB_MAP_T","newOrderParameters","alerts","assignment","ferry","routing","SystemSettings","queryTabType","systemSettingsTab","getWalletIconProps","getCargoUnitIconProps","getTimeWindowIconProps","getGeoAreaIconProps","commonFormProps","onUpdate","systemSettingsChanges","tabType","handleTabClick","DeletePaperConfirmation","isEnabled","intervalIdRef","fetchCarrierContractDetailsSaga","selectCarrierContractStateById","carrierContractState","fetchCarrierContractDetailsBegin","fetchCarrierContractDetailsError","fetchCarrierContractDetailsSuccess","FETCH_CARRIER_CONTRACT_DETAILS_REQUEST","routingGeometrySaga","fetchRoutesPlainGeometry","fetchRoutePlainGeometry","fetchRouteGeometryBegin","fetchRouteGeometryError","fetchRouteGeometrySuccess","ChangeRateOrContractWarning","rightInputText","initialInputValue","hasOptionsSeparator","formatOption","setSelectedOption","selectedOptionIndex","indexOf","nextSelectedOption","optionInputValue","inputRightTextNode","minMs","maxMs","stepMs","utcOffsetMs","ticksMs","shiftedMin","floor","RestoreUserConfirmation","initialCompanyDriversState","inviteRequest","addRequest","fetchDetailsRequest","getPermissions","userRolesSet","profileTypeRestrictConfig","necessaryRoles","profileTypeRestriction","ALL_AUTH_PROFILE_TYPES","dropOffAddress","ordersType","transportOrdersType","TransportOrderTypeEnum","countrySettingsDict","tourActionI18nMap","tourWaypointEventRestrictionI18nMap","NOT_FULLY_ASSIGN","NOT_RESOLVE_SHIPMENT","TRAILER_STILL_USE_PREVIOUS_TOUR","ChangeTourStatusFooter","useConsistentStateMachine","currentFirstDoRestriction","restriction","currentNeedManageShipmentEvent","previousWaypointId","previous","previousWaypoint","previousFirstDoAction","previousFirstDoRestriction","toursWaypointsUndoArrived","toursWaypointsUndoLeft","handleDoManagementShipmentEvent","handleDoCurrentFirstDoAction","toursWaypointsArrived","toursWaypointsLeft","isShowActionButton","secondaryPositive","confirmApproveContractModalDialog","contractChanges","updateCarrierContract","fetchContractDetailsRequest","approveCarrierContract","DeclineOrderConfirmation","initialRoutingGeometryState","routingGeometrySlice","resetRouteGeometry","onActiveRule","onDeactiveRule","onDeleteRule","activateOption","deactivateOption","deleteOption","safeArithmeticOperations","minus","clientWidth","inactiveBidStatusesSet","acceptedBidStatusesSet","filters","match","inactive","useBidsFilter","allQuickFilters","FORMAL_T_MAP","ApiContactFormalEnum","mr","mrs","dr","mag","prof","AVAILABLE_FORMALS","UserFormalDropdown","FETCH_COMPANY_REQUEST","FETCH_COMPANY_REQUEST_BEGIN","FETCH_COMPANY_REQUEST_ERROR","FETCH_COMPANY_REQUEST_SUCCESS","UPDATE_COMPANY_REQUEST","UPDATE_COMPANY_REQUEST_BEGIN","UPDATE_COMPANY_REQUEST_ERROR","UPDATE_COMPANY_REQUEST_SUCCESS","selectUpdateBrokerOrderRequest","needAppointmentWaypoints","payloadWaypoint","appointmentByBroker","timeIntervals","timeIntervalFrom","targetDateFrom","targetDateTo","isSame","timeInterval","waypointsErrors","waypointErrors","waypointsFormValues","needAppointmentWaypoint","waypointNumber","BigQuestionIcon","normalizeTeamDetails","teamDetails","companies","companyA","companyB","userA","userB","FilledCircleIcon","ReplacedLocationsAlertContent","useDocumentRows","dictDocuments","requiredDictDocuments","optionalDictDocuments","optional","createRFQRequest","selectCreatePriceOfferWithLaneRequest","createPriceOfferWithLaneRequest","selectLanePriceOffer","selectCreateOrderRequest","reserveQuery","previewReserveQuery","selectIsAllowCreateRFQ","isAllowCreateRFQ","previewReserveRequest","bestPriceOffer","isBestPrice","byPriceAsc","bestUrgentOffer","LONG_DEADHEAD_PERCENT","viewMs","targetTicks","minTicks","maxTicks","bestStepMs","stepCandidates","bestDelta","hasInRange","numTicks","delta","RightArrowIcon","TimeWindowPicker","isAllowOnlyDragRange","isLockedLeftRangeControl","isLockedRightRangeControl","maxValuesRangeWidth","relativeTime","GoogleAddressComponentsTypeEnum","prepareAddressComponents","componentsMap","component","short_name","political","long_name","streetNumber","postalCode","locality","postalTown","administrativeAreaLevel1","administrativeAreaLevel2","administrativeAreaLevel3","administrativeAreaLevel4","administrativeAreaLevel5","formatAddressComponents","utc_offset_minutes","address_components","formatted_address","lastSelectedOption","setLastSelectedOption","getDriverLabel","hasInitialOption","DriverIconProps","optionClassName","setMap","setMaps","setLibraries","libraryNames","libraryName","importLibrary","library","repeatDays","selectedRepeatType","repeatType","selectedRepeatMode","repeatStrategy","RepeatStrategyTypeEnum","none","RepeatTypeEnum","weekdays","days","day","WEEK_DAYS_ORDER","weekly","daysCount","i","formattedValidTill","isDiffImpactStrategy","diffImpactStrategySet","parsedImpactValue","impactDiffValue","impactValue","impactPriceComponent","zipsFrom","ZIP_CODES_SEPARATOR","zipsTo","repeatMode","initialShipperContractDetailsItemState","selectDownloadShipperContractRequest","downloadRequest","WaypointNumberPin","TOUR_STATUS_T_MAP","TourStatus","MapLoader","onClearAssets","onAssignAssets","assignmentRequestStatus","hasInitialAssets","truckSuggestRequestStatus","truckSuggestIds","truckInfoById","trucksOptions","trailerSuggestRequestStatus","trailerSuggestIds","trailerInfoById","trailersOptions","renderTruckTrigger","isDisableShowOnMap","renderTrailerTrigger","formValueChanges","linkedTrailerId","TruckIconProps","linkedTruckId","secondaryDanger","ScrollToFirstError","isShowSelectedAll","setShowSelectedAll","SearchControl","setFocused","setText","apiReserve","apiPoints","restApiReserve","apiPoint","defaultFrom","defaultTo","restApiPoint","ReviewFooterContent","createInitWaypointTruckDropPoint","lastDropWaypoint","waypointAddress","formatLocation","FETCH_DISPATCHERS_REQUEST","FETCH_DISPATCHERS_REQUEST_BEGIN","FETCH_DISPATCHERS_REQUEST_ERROR","FETCH_DISPATCHERS_REQUEST_SUCCESS","SHIPMENT_REQUIRED_FIELDS","SHIPMENT_NOT_ZERO_FIELDS","shipmentFormErrors","parsedCargoWeight","parsedUnitsCount","spotRequestsFilter","partnerFilter","createPartner","priceSettingsRuleFilter","statisticsFilter","shipperContractLaneDetails","editBrokerTeamDetails","PartnerDetailsLayout","useLegalFormDict","legalFormsRequestStatus","legalFormsById","postalAddressCountry","billingAddressCountry","team","RevokedPartnerShipperLaneContractCard","FIELD_LABEL_T_MAP","apiSystemSettings","WidgetChangesDetector","onToggle","RevokedPartnerCarrierContractCard","BrokerToursTable","goToBrokerTourDetails","brokerTourShort","selectRatesQuery","uploadCSVRequest","downloadImage","imageUrl","getAuthHeaders","fetch","contentDisposition","get","filename","filenameMatch","blob","URL","createObjectURL","createElement","href","appendChild","click","removeChild","revokeObjectURL","TimeWindowIcon","defaultAvailablePriceComponents","availablePriceComponentByType","getAvailablePriceComponent","defaultAvailableStrategies","commonAvailableStrategiesByPriceComponentType","availableStrategies","getAvailableStrategies","selectedPriceComponent","CURRENCY_TYPE_MAP","euro4SignificantDigitsAbbreviation","SIMPLE_UNIT_MAP","UNIT_TYPE_T_MAP","oneHundredKilometersAbbreviation","metersAbbreviation","litersAbbreviation","minutesAbbreviation","milliSecondsAbbreviation","secondsAbbreviation","kilometersPerHourAbbreviation","UnitType","formattedSubTypes","UserSettingsIcon","initialPartnerShipperContractsState","shipperContractsSlice","fetchShipperContractsPage","fetchShipperContractsPageBegin","partnerState","fetchShipperContractsPageSuccess","fetchShipperContractsPageError","resetShipperContracts","DateCell","Checkbox","indeterminated","isHover","setHover","handleMouseMove","handleMouseLeave","ExpireSoonPartnerCarrierContractCard","OrderStatusPill","ORDER_STATUS_T_MAP","SendingToSpotFooterContent","spotRequestLimitMs","selectSpotRequestLimitMs","startValidTillTimeWindow","roundTimestamp","allowedRangeValidTill","pickupDockingHoursFromTimestamp","sendToSpotByTour","useSyncReserveChannels","reserveQueryModifyChannelHandler","correctedPointsByFakeId","prevRouteFormValue","newRouteFormValue","eventCorrectedPoint","replacedCoordinate","prevTimeWindow","convertedStart","convertISODateToTimezone","convertedEnd","reserveSyncPointsModifyChannel","TransportOrderListPageLayout","orderQuickFilterOptions","orderQuickFilterOptionSeparators","hasProfileVerificationProblem","goToProfile","selectTransportOrdersTotal","ordersPages","selectTransportOrdersPages","orderById","selectTransportOrdersByIds","transportOrdersFilters","transportOrdersPage","transportOrdersSort","TransportOrderSortEnum","receiveDate","transportOrdersRefreshChannel","fetchTrucksDict","transportOrdersPaginationChannel","isSelectedDedicated","isSelectedSpot","Widget","SyncPointsWatcher","TruckIconTypesEnum","TruckModelDropdown","trucksDictList","getTruckDictTypeLabel","BrokerOrderTable","goToBrokerOrderDetails","goToPartnerDetails","shipperPrice","selectAdditionalServices","selectUpdateAdditionalServiceRequest","selectFetchAdditionalServicesRequest","ALL_EMISSION_STANDARDS","EmissionClassMultipleDropdown","EMISSION_CLASS_I18N_MAP","ContractNameCell","PartnersTable","canDeletePartner","handleDelete","isAllVerified","checkAllVerified","RouteMap","RateSourceOption","isContract","isCurrentContract","WarningTextFormatter","LinearScaleIcon","deleteUnavailableReasonI18nMap","NO_ACCESS","LAST_DELIVERY_NOTE","LAST_SIGNED_DELIVERY_NOTE","TO_IS_CANCELED","TO_IS_DONE","SHIPMENT_IS_CANCELED","SHIPMENT_IS_DONE","PaperLayout","imageSrc","imageAlt","originalFileName","isDeleting","deleteUnavailableReason","isHideUserInfo","handleClick","isShowUserInfo","src","alt","preExtraSmall","RevokeShipperLaneConfirmationModal","laneNumber","onChangeRoutePointReserve","hasSelectedAnyTeamDrive","onResetRoutePointLocation","currentPointTimeWindow","syncShipmentDetailsFormMapStateContext","fakeIdFieldName","isBrokerTimeWindowFieldName","selectedIsBrokerTimeWindow","brokerAppointmentDropOffRange","brokerAppointmentPickUpRange","brokerAppointmentTimeWindow","brokerTimeWindowRanges","brokerAvailableValuesStart","brokerAvailableValuesEnd","brokerAvailableValues","hasViolation","violated","selectedLane","isDisabledTimeSlots","hasTriangle","isPickupOrDeliveryRoutePointPicker","isRedTriangle","triangleClassName","SwitcherThemeEnum","NameCell","FormAsyncErrorsContext","FETCH_ASSIGN_DETAILS_REQUEST_BEGIN","FETCH_ASSIGN_DETAILS_REQUEST_ERROR","FETCH_ASSIGN_DETAILS_REQUEST_SUCCESS","FETCH_AVAILABLE_VEHICLES_REQUEST_BEGIN","FETCH_AVAILABLE_VEHICLES_REQUEST_ERROR","FETCH_AVAILABLE_VEHICLES_REQUEST_SUCCESS","FETCH_AVAILABLE_CARRIERS_REQUEST_BEGIN","FETCH_AVAILABLE_CARRIERS_REQUEST_ERROR","FETCH_AVAILABLE_CARRIERS_REQUEST_SUCCESS","SET_INIT_ASSETS_INFO","PREDICT_SELF_COST_REQUEST_BEGIN","PREDICT_SELF_COST_REQUEST_ERROR","PREDICT_SELF_COST_REQUEST_SUCCESS","FETCH_ASSET_SCHEDULE_BEGIN","FETCH_ASSET_SCHEDULE_ERROR","FETCH_ASSET_SCHEDULE_SUCCESS","SET_ASSET_SCHEDULE","SET_EVENT_LOAD_ROUTE","SET_SHOW_SELECTED_ASSET_SCHEDULES","SET_SELECTED_SCHEDULE_EVENT_ID","initialDeadheadCreationState","contextQuery","contextResponse","contextRequest","previewQuery","previewResponse","previewRequest","deadheadCreationSlice","changeDeadheadContext","setContextQuery","initContextRequestBegin","initContextRequestSuccess","initContextRequestError","resetContext","resetPreviewContext","resetPreviewContextQuery","setPreviewQuery","previewContextRequestBegin","previewContextRequestSuccess","previewContextRequestError","applyContextRequestBegin","applyContextRequestSuccess","setIsApplyingContextChanges","resetDeadheadCreation","LoaderOverlay","brokerOrderWaypoints","firstPayloadWaypoint","lastPayloadWaypoint","payloadWaypointStopTypeSet","payloadWaypoints","fetchStatistics","fetchStatisticsBegin","fetchDoneStatisticsBegin","fetchDoneStatisticsSuccess","fetchDoneStatisticsError","fetchRejectStatisticsBegin","fetchRejectStatisticsSuccess","fetchRejectStatisticsError","PriceDetailsHeader","controlsColor","getControlColor","inputProps","currentTarget","isHideValueControl","stringNextValue","AttentionTextFormatter","UNIT_TYPE_MAP","STEP_MAP","FIELD_DESCRIPTION_T_MAP","renderNumberField","BrokerTourDeadheadCreationPage","isShowExpirationContextAlert","setIsShowExpirationContextAlert","applyRequestStatus","selectDeadheadApplyRequest","handleCloseExpirationContextAlert","handleExpireContext","mapStateContextValue","usySyncMapStateContextValue","assetScheduleContextValue","usySyncAssetScheduleContextValue","doNotIncludeCostsInTransportOrder","BooleanParam","deadheadPreviewResponse","selectDeadheadPreviewResponse","activeStepIndex","setActiveStepIndex","initialFormValuesRef","newDeadheadTimeWindows","parseDateStringWithoutTimezone","initialFormValues","setDoNotIncludeCostsInTransportOrder","onCloseExpirationContextAlert","onExpireContext","routeDetailsFormValues","prepareContacts","additionalTimeWindows","isShowExcludeCountriesControl","pickUpDetails","pickupReferenceNumber","dropOffDetails","dropOffReferenceNumber","loadDetails","useEditRouteWatcher","prevFirstEmptyLocationRoutePointIndex","routePointValue","newRouteValue","isShouldResetTimeWindow","prepareValues","blockedI18nMap","HAS_LOADING_UNLOADING_SHIPMENT","ALL_SHIPMENTS_NOT_DELIVERED","DRIVER_NOT_ARRIVED_AT_STOP","ATTACH_DOCUMENT","LOADING","UNLOADING","shipmentActionI18nMap","AWAITING_LOADING","IN_TRANSIT","DELIVERED","CANCELED","ChangeShipmentStatusSidebarFooter","cancelLastShipmentConfirmation","availableStatuses","useStateMachine","firstForwardAvailableStatus","forward","forwardDescription","backwardDescription","firstBackwardAvailableStatus","backward","isShowCancelAction","canBeCanceled","renderCurrentShipmentAction","eventDateTime","timeStamp","SelfCreateCompanyPage","isShowLockedMessage","setIsShowLockedMessage","countriesDictRequest","selectCreateCompanyRequest","selectCreatedCompanyIsLocked","parseAuthReturnUrl","AuthMessageIconsEnum","registrationCompanyRequestDraft","createCompanyRequest","BrokerOrderStatus","MapTooltip","onHover","FETCH_INVOICES_PAGE_REQUEST_BEGIN","FETCH_INVOICES_PAGE_REQUEST_ERROR","FETCH_INVOICES_PAGE_REQUEST_SUCCESS","RESET_INVOICES","handleClickOutside","wrapperNode","wrapperRef","shouldHandleOutsidePress","componentDidMount","componentWillUnmount","PureComponent","OutsideClickHandler","CommentIcon","trailersRefreshChannel","trailerDetailsRefreshChannel","trailersPaginationChannel","getDerivedStateFromError","componentDidCatch","generateTraceId","logErrorWithTraceId","setState","componentStack","Component","ErrorBoundary","PriceRuleTargetPill","ruleTarget","NotificationsBarContent","isAllowShowId","showNotificationId","fetchNotificationsPage","fetchUnreadNotifications","resetNotificationPages","selectNotificationsPages","markAsReadRequest","selectMarkAsReadRequest","notificationsById","selectNotificationsById","currentPageNumber","selectCurrentPageNumber","currentPage","selectNotificationsTotal","hasNextPage","fetchNextPage","useIsScrollable","isScrollable","pageNotificationIds","pageIndex","allNotificationsIds","elementCount","notificationData","renderCommonNotification","renderUnknownNotification","SideBarMessageEnum","dataLength","loader","scrollableTarget","notificationView","renderWaypointLocationAddressFormat","TabTourDetails","spotDetails","brokerWindowAppointmentWarning","getWaypointDetailRows","driverRows","driverArrivedTimeStamp","checkIsInDateRange","driverArrivedFalse","driverLeftFalse","brokerAppointmentStatus","checkBrokerAppointmentStatus","shouldBrokerWindowAppointment","shouldShowCorrectedDateTime","fetchPapersSaga","fetchPartnerPapers","refreshPapersSaga","uploadPaperSaga","uploadPartnerPaper","updatePapersRefreshChannel","deletePaperSaga","deletePartnerPaper","UpdateUserIcon","defaultTimeoutMs","CopyTextButton","textForClipboard","timeoutMs","copyTimeoutIdRef","isCopied","setIsCopied","CLOSE_RFQ","changeRFQBegin","CHANGE_RFQ_REQUEST_BEGIN","changeRFQSuccess","CHANGE_RFQ_REQUEST_SUCCESS","changeRFQError","CHANGE_RFQ_REQUEST_ERROR","prepareApiActualOrderRequest","routePointFormValue","prepareApiReserveRoutePointChanges","apiRoutePointChanges","prepareApiReserveChangesAddRoutePoint","beforeFakeId","beforeAddressAlias","prepareApiReserveChangesDeleteRoutePoint","prepareApiReserveChangesChangeRoutePoint","prepareApiReserveChanges","apiChanges","handleOpen","optionByValue","Map","selectedValuesSet","newSelectedValuesSet","TRANSPORT_ORDER_STATUS_T_MAP","TransportOrderStatus","PickUpCell","pickUpDateFrom","pickUpDateTo","zipCodeFrom","countryCodeFrom","allowShowCountryCode","ExpirationRFQAlertContent","formattedMinutes","orderCreationMs","contextLifetime","selectBrokerOrdersTotal","selectBrokerOrdersByIds","BidMessage","updateAdditionalService","updateAdditionalServiceBegin","updateAdditionalServiceSuccess","updateAdditionalServiceError","fetchBrokerToursSaga","selectBrokerToursQuery","selectBrokerToursPages","getBrokerToursFilter","brokerToursPaginationChannel","editBlockReasonI18nMap","KAM_IS_NOT_ALLOWED_TO_EDIT_ORDER","AT_LEAST_ONE_TOUR_NOT_IN_STATUS_CARRIER_UNASSIGNED","AT_LEAST_ONE_TOUR_HAS_ACTIVE_TRANSPORTATION_ORDER","AT_LEAST_ONE_TOUR_IS_ON_SPOT","ORDER_IS_LOCKED_FOR_EDITING_BY_ANOTHER_USER","NEED_TO_FINISH_BROKER_APPOINTMENT_FIRST","BrokerOrderDetailsPageContent","brokerOrderDetailsRequestStatus","updateSpotRefreshChannel","papersEditRefreshChannel","sendingToSpotTourId","isActiveSendingToSpot","editingTimeWindowTourId","isActiveTimeWindowEdit","handleCloseSendingToSpot","closeEditTimeWindows","editTimeWindowsRequestStatus","spotRequestStatus","activeIndexTab","setActiveIndexTab","availableSubjectStatuses","cancelingBrokerOrderConfirmation","handleCancelBrokerOrder","isAvailableCanceled","editBlockReason","isDisabledRouteEditing","allowToEdit","brokerOrderRouteEdit","brokerOrderDetailsAssignments","BrokerOrderDetailsPage","HighlightedEntityContextProvider","onTimeWindowClick","innerRef","allTimeWindows","level","defaultStart","finish","scrollToTimeWindow","timeWindowId","handleTimeWindowClick","setViewMs","handleTimeWindowBlur","handleTimeWindowFocus","hasIcons","handlePlusZoom","prevViewMs","handleMinusZoom","delimeterMultipleMs","chooseDelimeterMultipleMs","momentObj","isDateOnly","levelIndex","viewHeight","timeWindowLevels","nowLabel","orderType","minPrice","maxPrice","receiveDatesFrom","receiveDatesTo","EmissionClassCell","selectPartnerPermissions","ExtraPointIcon","TelematicUpdateDateCell","WarningIndicatorCell","BROKER_REQUIRED_FIELDS","convertCountryCode","dictCountryCode","toUpperCase","excludedCountriesSet","routeFormValue","addRoutePointError","routePointLocation","routePointLocationError","verifyLocation","excludeLocationErrorMessage","companiesQueryFilters","disableCompaniesDataSourceSet","AssetLabelFormatter","progressSteps","percentStep","progress","progressStep","SideBarMessage","actionsProps","TraceIdLabel","actionProps","createdByShipperId","createdByShipperName","INITIAL_TOUCHED","AVAILABLE_PERMISSIONS_ROLES_SET","addUsers","teamsIds","selectedRoles","warnings","hasUserCanAddUser","roleInfo","hasAvailableAddUsersRole","sameEmailContact","renderEmailError","apiDocument","HumanReadableFullDateCell","orderList","rePath","getRePath","RFQRoutesEnum","rfqList","profileBasic","ProfileRoutesEnum","profileDocuments","optionalDocuments","ProfileDocumentsRoutesEnum","shipperContracts","documentDetails","requiredDocuments","encode","brokerTeamsSlice","fetchBrokerTeamsPage","fetchBrokerTeamsPageBegin","fetchBrokerTeamsPageSuccess","fetchBrokerTeamsPageError","resetBrokerTeams","InvoicesTable","invoice","dueDate","CompactAttachPaperTrigger","ContinueRFQ","dropoffDate","CancelDriverInviteModal","driverPhoneNumber","carriersUtilization","selectCarrierUtilization","NotImplementedError","CommonUrlFactoryContext","BrokerOrderListPage","brokerOrdersPages","brokerOrderById","brokerOrderStat","selectBrokerOrderStats","unReadNotificationsGroupedCounts","selectGroupedNotificationCounts","brokerOrdersFilters","brokerOrdersPage","brokerOrdersSort","brokerOrderQuickFilterOptions","newOrders","carrierUnassign","DISPATCH_STATUS_CHANGED","AdditionalServices","selectedServiceTypeSet","selectAdditionalServicesGroupsByTrailerType","additionalServicesRequestStatus","removeServices","selectedServiceType","serviceEnum","addServices","additionalServiceGroup","onAddServices","onRemoveServices","lastCallTime","lastIsHidden","race","visibility","interval","InvitedToTeamCard","getAddedStopFakeIds","previewContext","previewContextAfterModify","prevStopsIds","initialCarrierContractState","contracts","fetchContractsRequest","uploadContractRequest","downloadContractRequest","partnerContracts","PadIcon","commonTranziitApi","getCountries","doFetchWithRetry","createUser","throwNotImplementedError","userChanges","fetchCurrentCompany","patchCompany","companyChanges","fetchTransportOrdersStatistics","fetchOrdersStatistics","fetchCarriersUtilization","period","forgotPassword","fetchCountryLegalForms","fetchUnReadNotifications","fetchUnreadGroupedNotificationCounts","isAll","sendTestNotification","fetchDocument","dictCarrierDocumentId","fetchImage","fetchStateMachineEntityStatus","subjectId","updateStateMachineEntityStatus","fetchStateMachineToursAvailableSteps","stateMachineToursWaypointsArrived","stateMachineToursWaypointsLeft","stateMachineToursWaypointsUndoArrived","stateMachineToursWaypointsUndoLeft","createCompany","completeUserRegistration","fetchOrderReservesShippers","teleportLinkedAsset","CommonTranziitApi","TrailerCell","trailerModel","trailerPlateNumber","trailerCarrierId","CompanyLogoSizeEnum","CompanyLogo","UnassignDriversConfirmation","EntityCriticalWarningAlert","UnLockIcon","downloadTenderXLSFileSaga","selectTendersLastStatus","lastStatus","importTenderXLSFileSaga","fetchTenderStatusSaga","selectTendersFetchStatusRequestStatus","getTenderStatus","deleteTenderSaga","requestError","CustomZoneTextWrap","TruckIcon","prepareZipCodes","zipCodes","prepareCodes","codes","prepareValidDate","validDate","clearedDate","DEFAULT_IMPACT_VALUE","DEFAULT_IMPACT_DIFF_VALUE","editableRuleDetails","allTrailerDictTypeIds","isNewRule","loadedTrailerDict","ruleTrailerTypeIds","valueSign","dayNumber","startDate","endDate","DividerTrigger","convertToCoordinate","placeId","places","PlacesService","getDetails","placesResult","isValidResult","UnVerifyPartnerAdressConfirmation","brokerTeamsRefreshChannel","brokerTeamsPaginationChannel","ShipmentCanceledCard","onPick","fileInput","onchange","files","initialBrokerTourDetailsState","brokerTourDetailsSlice","brokerTourDetailsState","shipperContractDetailsSlice","fetchShipperContractDetailsBegin","detailsItem","fetchShipperContractDetailsSuccess","fetchShipperContractDetailsError","revokeShipperContract","updateShipperContract","updateShipperContractDetailsBegin","updateShipperContractDetailsSuccess","updateShipperContractDetailsError","downloadShipperContract","downloadShipperContractDetailsBegin","downloadShipperContractDetailsSuccess","downloadShipperContractDetailsError","ExpireSoonPartnerDocumentCard","PartnerSelectList","initialSelectedPartners","selectedPartners","onChangePartners","highlightedPartnerIdsSet","selectedPartnerIdsSet","onAddOption","onDeleteOption","checkIsApiBrokerShipperContract","useInitBrokerUsersSuggestOptions","userById","onUpdateInitOptions","LegalFormDropdown","prevCountryCode","selectLegalFormsDictAllIds","selectLegalFormsDictRequest","fetchLegalFormsDict","getOptionTestSelector","isShowSelectAllTrigger","isShowDeselectAllTrigger","isSelectAll","allValues","deadheadCreationQueryModifyChannel","SpotAssetsAssignmentFooterContent","spotInfo","prepareRevokeInfo","revokeInfo","newContractId","UiContext","EMPTY_OPTIONS","LaneDropdownInput","getOptionLabel","optionsById","selectedOptionLabel","BadgeTypeEnum","BREAKING_POINT_WIDTH","devicePixelRatio","TOOLTIP_DELAY","Link","MenuAvatar","isExpanded","hasAccountLinkMatch","matchPath","exact","strict","avatarNode","large","MenuCompanyLogo","profileLink","hasCompanyLinkMatch","companyLogoNode","Navigation","setExpanded","shouldExpand","isActiveCompactMenu","helpIcon","helpContent","handleHelp","helpNode","isSmall","menuLink","excludeMatchPathname","badgeText","getCurrentYear","SpotRequestsSortEnum","PRICE_RULE_OPERATION_I18N_MAP","PriceSettingsRuleOperationEnum","surcharge","discount","CustomerCell","customerId","customerName","initialStateMachineItemState","stateMachineSlice","fetchStateMachineSteps","fetchStateMachineStepsBegin","itemState","fetchStateMachineStepsSuccess","fetchStateMachineStepsError","updateEntityStatusBegin","updateEntityStatusSuccess","updateEntityStatusError","dependencies","setIsScrollable","scrollHeight","handleWindowResize","dialogs","dialog","hasZipCodeValidation","example","getZipCodeExample","LEGAL_FORMS_DICT_REQUEST","fetchLegalFormsDictBegin","fetchLegalFormsDictSuccess","fetchLegalFormsDictError","FETCH_MANAGERS_REQUEST_BEGIN","FETCH_MANAGERS_REQUEST_ERROR","FETCH_MANAGERS_REQUEST_SUCCESS","mods","selectedTimeWindows","formHoursFrom","formHoursTo","StickyFooter","getPages","prevPages","prevPaginationState","entities","entity","newById","hasDetailChanges","prevIds","hasIdsChanges","followingPageSuccessReducer","initialPaginationState","initialPages","memberDetails","ConfirmEmailPage","selectEmailVerificationRequestStatus","continueLocation","continueUrl","createSignInUrl","transportOrderRefreshChannel","unassignSaga","fetchSettingsSaga","apiSettings","apiSetting","findCarriersByName","CarrierIconProps","HourglassHalfIcon","HourglassHalfIconProps","checkGPSStatusSaga","isSameRequest","checkRequestBegin","checkPartnerTrailerGPSStatus","checkPartnerTruckGPSStatus","checkRequestError","checkRequestSuccess","CHECK_GPS_STATUS_REQUEST","getTruckIds","selectedTrucksSet","TrucksPageLayout","importXLSRequestStatus","selectTrucksImportXLSRequest","exportXLSRequestStatus","selectTrucksExportXLSRequest","trucksPage","trucksSort","TrucksSortEnum","trucksFilters","trucksTab","withDefault","createEnumParam","setSelectedTrucksSet","selectTrucksTotal","trucksPages","selectTrucksPages","selectTrucksByIds","isOpenedFilters","openFilters","showAddSidebar","fetchTrucksStats","trucksRefreshChannel","trucks","trucksPaginationChannel","archiveDate","archiveAssetConfirmation","activateAssetConfirmation","changeRateOrContractConfirmation","trucksStats","selectTrucksStats","tableActionOptions","setUnavailableStatus","isPartner","tabsNode","handleSelectTab","importXLSAssetsModalDialog","useImportXLSAssetsModalDialog","isAllowExport","isAllowImport","canImportTrucks","onExportFilteredAssets","onExportAssets","onImportAssets","onStartImportXLS","canEditTrucks","onSelectTrucks","archiveTrucksRequest","activateTrucksRequest","activationTrucksRequest","onImportXLS","assignToContractRequest","changeRateTrucksRequest","changeRateVehiclesRequest","FETCH_RULE_DETAILS_REQUEST","FETCH_RULE_DETAILS_REQUEST_BEGIN","FETCH_RULE_DETAILS_REQUEST_ERROR","FETCH_RULE_DETAILS_REQUEST_SUCCESS","FETCH_RULES_PAGE_REQUEST","FETCH_RULES_PAGE_REQUEST_BEGIN","FETCH_RULES_PAGE_REQUEST_ERROR","FETCH_RULES_PAGE_REQUEST_SUCCESS","RESET_RULE_PAGES","ACTIVATE_RULES_REQUEST","DEACTIVATE_RULES_REQUEST","UPDATE_RULE_REQUEST","UPDATE_RULE_REQUEST_BEGIN","UPDATE_RULE_REQUEST_ERROR","UPDATE_RULE_REQUEST_SUCCESS","UPDATE_RULE_REQUEST_RESET","CREATE_RULE_REQUEST","CREATE_RULE_REQUEST_BEGIN","CREATE_RULE_REQUEST_ERROR","CREATE_RULE_REQUEST_SUCCESS","CREATE_RULE_REQUEST_RESET","DELETE_RULES_REQUEST","DELETE_RULES_REQUEST_BEGIN","DELETE_RULES_REQUEST_ERROR","DELETE_RULES_REQUEST_SUCCESS","PREVIEW_RULE_REQUEST","PREVIEW_RULE_REQUEST_BEGIN","PREVIEW_RULE_REQUEST_ERROR","PREVIEW_RULE_REQUEST_SUCCESS","PREVIEW_RULE_REQUEST_RESET","RE_ASSIGNMENT_REQUEST_BEGIN","RE_ASSIGNMENT_REQUEST_SUCCESS","RE_ASSIGNMENT_REQUEST_ERROR","FETCH_RFQ_STATS_REQUEST","fetchRFQStatsBegin","FETCH_RFQ_STATS_REQUEST_BEGIN","fetchRFQStatsSuccess","FETCH_RFQ_STATS_REQUEST_SUCCESS","fetchRFQStatsError","FETCH_RFQ_STATS_REQUEST_ERROR","findShippersBegin","findShippersSuccess","findShippersError","isShowFocusError","isAlwaysShowError","withoutLabelAndNotes","isShowFormikError","childrenProps","KEY_PREFIX","parseKey","tryGeocodeByPoint","geocodedLocation","RouteEditMap","selectDeadheadContextRequest","mapRoutePointsById","prevBoundingBoxHashRef","onSetMapBoundingBoxCallback","boundingBoxHashRef","latLng","trailerToPickupPolylineId","payloadGeometryStates","fixReRenderRouteKey","renderRoutePointPin","tourDeadhead","ContentMargins","prepareCommonFetchPageQuery","pickupFrom","pickupTo","dropOffFrom","dropOffTo","createdFrom","createdTo","prepareBrokerFetchPageQuery","prepareShipperFetchPageQuery","driversFilters","newQeryFilters","StatisticGranularityEnum","UploadDocumentConfirmation","LocationCell","fetchCarrierContractsSaga","selectFetchCarrierContractsRequest","fetchCarrierContractsBegin","fetchCarrierContractsError","fetchCarrierContractsSuccess","updateCarrierContractSaga","fetchDetailsError","updateCarrierContractError","patchedPartnerContract","updateCarrierContractBegin","carrierContractDetailsRefreshChannel","updateCarrierContractSuccess","revokeCarrierContractSaga","revokeCarrierContract","rejectCarrierContractSaga","rejectCarrierContract","approveCarrierContractSaga","uploadCarrierContractSaga","uploadCarrierContractBegin","uploadCarrierContractError","uploadCarrierContractSuccess","downloadCarrierContractSaga","downloadCarrierContractBegin","rawResponse","downloadCarrierContractError","contentDispositionHeader","HEADERS","CONTENT_DISPOSITION","parseContentDispositionFilename","fileTypeHeader","CONTENT_TYPE","downloadCarrierContractSuccess","OrderCreationStepEnum","PlateNumberCell","lastAddedMediaField","setLastAddedMediaField","handleSelectLanguage","uppercaseFirstCharacterFormatter","mediaValue","onCreateField","socialMedia","AUTO_COMPLETE_OFF_FIX","stateMachineSaga","selectStateMachineItemState","getStateMachineEntityHash","onKeyPress","altKey","initialSpotRequestDetailsState","selectedTrailerTypeId","contactRoles","FEATURES_LIMIT","MAP_PIN_KEY","AVAILABLE_STOP_SET","AssignmentMap","SyncAssignmentFormMapStateContext","hoveredAssets","setHoveredAssets","hoveredTrailerId","hoveredTruckId","isSkipFocusRef","assetsSelectionContext","selectedPointToDropTrailer","selectedPointToDropTruck","isBlockedSelectTrailer","isBlockedSelectTruck","firstPickupDeliveryWaypointDate","findFirstPickupDeliveryWaypointDate","handleSelectAssets","handleHoverAssets","carriersById","vehicleLinks","isSelectedLink","availableVehiclesRequestStatus","selfCostPredictionRequestStatus","fetchAssignDetailsRequest","deadheadRoutingGeometryState","truckToTrailerRoutingGeometryState","dropTrailerRoutingGeometryState","dropTruckRoutingGeometryState","selectedTrailer","selectedTruck","defaultBoundPoints","isShowActualPlace","currentLatitude","currentLongitude","expectedLatitude","expectedLongitude","defaultBoundPointsHash","sourceNotInTimeVehiclesGeoJSONs","createVehiclesGeoJson","showSelectedNotCanBeInTime","showNotCanBeInTime","isShowUnavailableAssets","showCanBeInTime","blockSelectTruck","blockSelectTrailer","sourceInTimeVehiclesGeoJSONs","PROXIMITY","getPositionHash","lot","coordinate","positionsHashSet","selectedTruckCurrentPosition","selectedTrailerCurrentPosition","notInTimeVehiclesGeoJSONs","sourceGeoJSON","geoJSON","inTimeVehiclesGeoJSONs","notInTimeClusterator","notInTimeClusters","inTimeClusterator","inTimeClusters","handleImTimeClusterClick","handleNotImTimeClusterClick","isShowCalcCostPredictionLoader","isShowFindVehiclesLoader","isShowFetchTrailerScheduleLoader","isShowFetchTruckScheduleLoader","isShowFetchAssetScheduleLoader","isShowFetchAssignDetailsLoader","renderMapCluster","onSelectAssets","onHoverAssets","clusterFeature","isSelectedTruck","isSelectedTrailer","anyAssignmentInfo","truckCarrierUtilization","truckCarrierUtilizationPercent","trailerCarrierUtilization","trailerCarrierUtilizationPercent","arrivalDate","expectedArrivalDate","isLoadingTruckCarrierUtilization","isLoadingTruckUtilization","truckUtilization","utilization","truckRatePerKm","truckInvalidReason","invalidReason","isLoadingTrailerUtilization","trailerUtilization","trailerRatePerKm","trailerRateMode","trailerInvalidReason","isLoadingTrailerCarrierUtilization","renderScheduleEvents","scheduleEvents","isShowAssetSchedule","scheduleEventIndex","draggablePin","setDraggablePin","initPayloadDropPoint","createInitPayloadDropPoint","shouldShowDropTrailerPoint","viewToDropTrailerPoint","viewToDropLinkPoint","shouldShowDropTruckPoint","viewToDropTruckPoint","isSelectedSameDropOffPoints","pointToDrop","tagName","hasDropTrailerPointError","hasDropTruckPointError","currentAssetPositions","currentLinkPosition","currentTruckPosition","currentTrailerPosition","renderCurrentPosition","assignmentFindArea","assignmentAttention","assignmentSelected","assignmentRoute","routeById","selectCarrierContractState","selectUploadCarrierContractRequest","selectDownloadCarrierContractRequest","selectCarrierMainContract","selectCarrierContractById","PILL_THEME_BY_TRUCK_STATUS","TruckStatusEnum","TruckStatusPill","createCompanySaga","getCreateCompanySaga","createCompanyRequestBegin","createCompanyRequestError","forceRefreshToken","forceRefreshTokenError","createCompanyRequestSuccess","ActionsCell","firstPickupDeliveryWaypoint","AddressWidgetHeaderActions","onOpenGoogleMaps","createMapLink","isShowUnVerifyAction","hasAddress","CarrierIcon","papersCount","getTotalWithOptimisticPapersCount","SettingsIcon","fieldValue","TrailersSortEnum","parsedTrailerType","typeId","lastModifiedByUsers","ALL_BROKER_USERS_VALUE","lastModifiedByBroker","addedByUsers","countriesOfRegistration","telematicUpdatedDateFrom","telematicUpdatedDateTo","contractIds","updatedDateFrom","updatedDateTo","MIN_MAP_PRECISION_DELTA_METERS","MAX_MAP_PRECISION_DELTA_METERS","urgentOrderProcessingDelay","regularOrderProcessingDelay","minWindowSize","maxWindowSize","orderCreationSeconds","mapPrecisionDelta","hvoEmissionPercent","runOutOfTimeToAssignAssetsLimitMin","RUN_OUT_OF_TIME_TO_ASSIGN_ASSETS_LIMIT","runOutOfTimeToAssignAssetsLimitHours","MIN_IN_HOUR","renderRightInputIcon","selectedOptionAccumulatorMap","setSelectedOptionAccumulatorMap","prevMap","accumulatedOption","allOptions","optionValueSet","restSelectedOptions","DocumentTypeCell","isError","isIgnoreError","logWarningWithTraceId","setTimeLeft","defaultRenderLeftIcon","findShippersByName","minSize","lats","lngs","lat0","lng0","lat1","lng1","dlat","dlng","latAdj","lngAdj","sidebarData","timezone","parsedName","EntityWarningAlert","TransportationOrderMileagAndPaymentChangedCard","onEditShipperContractLane","selectUpdateShipperContractLaneRequest","ParanjaSideBarLayout","brokerToursRefreshChannel","ShipperContractDetailsEnum","PartnersRoutesEnum","PartnersDocumentsRoutesEnum","ShipperContractLaneRoutesEnum","BrokerOrdersRoutesEnum","BrokerToursRoutesEnum","SettingsRuleRoutesEnum","AssetRoutesEnum","deprecateSignUp","confirmEmail","selfCreateCompany","accessDenied","assetDetails","shipperLaneDetails","DriverLinkFormatter","isClickable","SET_ALLOW_CREATE_RFQ","createRFQ","CREATE_PRICE_OFFER_WITH_LANE_REQUEST_BEGIN","CREATE_PRICE_OFFER_WITH_LANE_REQUEST_SUCCESS","CREATE_RFQ_REQUEST_BEGIN","CREATE_RFQ_REQUEST_SUCCESS","FETCH_ROUTE_SUCCESS","FETCH_ROUTE_ERROR","createOrder","CREATE_ORDER_REQUEST_BEGIN","CREATE_ORDER_REQUEST_SUCCESS","CREATE_ORDER_REQUEST_ERROR","FETCH_OFFERS_ERROR","SET_EXPECTED_OFFERS_COUNT","FETCH_OFFERS","MARK_OFFERS_EXPIRED","fetchTaskOffer","tasksCount","fetchTaskOfferError","FETCH_TASK_OFFER_ERROR","CLEAR_OFFERS_TASKS","SET_CREATE_RESERVE_QUERY","CREATE_RESERVE_BEGIN","CREATE_RESERVE_SUCCESS","CREATE_RESERVE_ERROR","RESET_CREATE_RESERVE_WITH_QUERY","PREVIEW_RESERVE_BEGIN","SET_PREVIEW_RESERVE_QUERY","CORRECT_PREVIEW_RESERVE_QUERY","CORRECT_RESERVE_QUERY","PREVIEW_RESERVE_SUCCESS","resetReserveAndPreviewReserve","RESET_RESERVE_AND_RESERVE_PREVIEW","activateVehiclesRequest","rateSourceOptions","currentRatesOptionLabel","selectedSource","rateSourceSet","DeleteUserIcon","canceledUnavailableReasonI18n","ONLY_BROKER_CAN_CANCEL_TOUR","PAYLOAD_TOUR_CANT_BE_CANCELED","NOT_IN_ASSIGNED_STATUS","HAS_TO_IN_TRANSIT_IN_PROGRESS_OR_DONE","ALREADY_CANCELED","BrokerTourDetailsPageContent","brokerTourId","selectBrokerTourDetails","brokerTourDetailsRequestStatus","selectBrokerTourDetailsRequestStatus","setIsActiveSendingToSpot","handleStartAssignment","fromBrokerTour","handleStartSendToSpot","cancelingBrokerTourConfirmation","handleCancelBrokerTour","canBeCanceledUnavailableReason","isDisabledTourCancel","isPayloadTour","renderFooterNode","BrokerTourDetailsPage","LayoverIcon","getLayoverIconProps","FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_BEGIN","FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_ERROR","FETCH_CARRIER_CONTRACT_DETAILS_REQUEST_SUCCESS","MapZoom","setZoom","treeNodes","allSubValues","currentValue","addAllSubValuesForTreeNode","CheckboxTree","isGroup","preparedValues","addAllSubValues","treeIndex","isChecked","isIndeterminated","BidsSortEnum","fetchPartnersSaga","resetPartners","fetchPartnersPageBegin","fetchPartnersPage","fetchPartnersPageError","fetchPartnersPageSuccess","partnersPaginationChannel","invitePartnerSaga","createPartnerRequestBegin","invitePartner","createPartnerRequestSuccess","createPartnerSaga","FETCH_PARTNERS_PAGE_REQUEST","INVITE_PARTNER_REQUEST","CREATE_PARTNER_REQUEST","FETCH_UTILIZATION_REQUEST","fetchCarrierUtilizationBegin","FETCH_UTILIZATION_REQUEST_BEGIN","fetchCarrierUtilizationError","FETCH_UTILIZATION_REQUEST_ERROR","fetchCarrierUtilizationSuccess","utilizations","FETCH_UTILIZATION_REQUEST_SUCCESS","resetCarrierUtilization","ListPageHeaderTabsLayout","isSmallTimeFont","getFetchRFQDetailsSaga","fetchRFQDetailsBegin","rfqDetailsError","rfqDetailsData","fetchRFQDetailsError","getRFQDefaultOffer","defaultOfferResponse","defaultOfferError","defaultOfferData","fetchRFQDetailsSuccess","DEFAULT_REQUEST_TTL","DEFAULT_ERROR_TTL","checkIsExpiredRequest","ttl","checkIsExpiredError","requestOkTTL","requestErrorTTL","isUnauthorizedError","errorTTL","okTTL","GoogleMapContext","UNIT_BY_IMPACT_STRATEGY","EXACT","signedUnitTypesSet","RuleImpact","sign","absValue","isShowSign","PricingTypeEnum","FileIcon","collectFakeIdByHashFromInitContextQuery","getContextRouteStopAddressHash","SpotBidStatus","AVAILABLE_UNIT_TYPES","ShipmentPicker","closeOverloadingValidationAlertCallback","closeNotUsedPointValidationAlertCallback","closeTemperatureRangesValidationAlertCallback","isReefer","cargoUnitsCountFieldName","cargoUnitTypeFieldName","cargoWeightFieldName","cargoTemperatureRangeFieldName","cargoDescriptionFieldName","cargoDescription","pickUpReferenceNumberFieldName","pickUpReferenceNumber","dropOffReferenceNumberFieldName","poNumberFieldName","poNumber","weightMask","getWeightMask","unitOptions","pickUpPointIdFieldName","dropOffPointIdFieldName","selectedPickUpId","selectedDropOffId","routePointsById","selectedPickUpRoutePoint","selectedDropOffRoutePoint","pickUpPointOptions","selectedDropOffIndex","dropOffPointOptions","selectedPickUpIndex","CargoUnitIconProps","WeightIconProps","ErrorDetails","checkIsFetchError","limitedPercent","EMPTY_QUERY","initialCompanyTrucksState","selectTrucksQuery","selectDeleteTrucksRequestStatus","selectFetchTruckDetailsRequestStatus","selectFetchTrucksStatsRequestStatus","fetchStatsRequest","exportXLSRequest","importXLSRequest","brokerOrderAssignment","formatPartnerTypeParam","partnerTrucks","partnerTrailers","settingsRuleDetails","ruleDetails","settingsRuleCreation","partnerDocuments","partnerCarrierContracts","partnerShipperContracts","lanes","newPartnerShipperContractLane","newLane","laneDetails","brokerTourDeadheadCreation","brokerRFQList","AssignCarrierConfirmation","onConfirmation","leadingItems","trailingItems","BROKER_ADDITIONAL_SERVICES_TYPE","URGENT_PICKUP","urgentOverprice","itemCost","quantity","LOW_EMISSIONS","greenSurcharge","TIME_SLOTS_APPOINTMENT_BY_BROKER","EXTRA_POINTS","preparedLeadingItems","preparedTrailingItems","orderEdit","createContextRequestStatus","deleteContextRequestStatus","applyContextRequestStatus","selectOrderEditContext","selectOrderEditBrokerOrderDetails","teamA","teamB","FooterSideBarAlertsLayout","sideBarFooterAlertsContext","onCloseAlert","checkIsApiCarrierTrailerDetails","DropPointPicker","toWithDropTruckTime","allowedDatesStartDate","fromDates","allowedDates","selectedRange","parsedRangeFrom","parsedRangeTo","selectedTimestamp","timezoneDate","routeStopType","iconProps","UpdatedPartnerShipperContractCard","brokerOrderStats","ModelCell","manufacturer","KeycloakInitRedirectModeEnum","INIT_REDIRECT_MODE_QUERY_KEY","TOKEN_KEY","REFRESH_TOKEN_KEY","initRedirectMode","authStateChangedCallback","checkAllowedAnonymouslyUserCreation","waitInitialization","getAuthToken","token","keycloak","isTokenExpired","updateToken","Authorization","doSignOut","logout","redirectUri","AuthApiError","signInWithEmailAndPassword","tokenParsed","getAccountUrls","changeCreds","iss","clientId","verificationEmail","onReady","authenticated","userInfo","emitStateChange","isAnonymous","onAuthError","errorData","onAuthSuccess","refreshToken","loadUserProfile","onAuthStateChanged","createAnonymouslyUser","checkIsContinueSignInRedirect","createLoginUrl","createSelfExternalUrl","refreshed","createAccountUrl","createSignUpUrl","createRegisterUrl","createForgotPasswordUrl","createChangePasswordUrl","init","onLoad","checkLoginIframe","register","KeycloakAuthService","tryParseKeycloakConfig","STRINGIFIED_KEYCLOAK_CONFIG","tryParseInitRedirectMode","searchParams","modifiedDate","modifiedByName","modifiedById","modifiedByBroker","creationDetailRows","modifyDetailRows","groupedNotificationCounts","selectGroupedNotificationCountsRequest","statsFilters","queryFilterChanges","getOnlyQueryFilterChanges","selectedDataSource","isDisableSelectCompanies","UrgentIcon","TimeWindowZoneText","rangeIndex","pickupWaypoint","pickupBrokerAppointmentStatus","dropOffBrokerAppointmentStatus","canChangeShipmentStatusOnBrokerTour","selectUpdateTrailersRequestStatus","isNewTrailer","prepareApiCreateTrailer","addTrailerRequest","prepareApiModifyTrailer","additionalServicesDict","byTrailerType","ANY_TRAILER_TYPE","mapByTrailerType","restTrailer","futurePoint","currentPoint","restTruck","sorters","bidA","bidB","bidDateA","bidDate","bidDateB","bidPrice","useBidsSort","transportationOrderHasNoDriverAlertTime","assignDriverLimitAlert","assignAssetLimitAlert","transportationOrderHasNoAssetsAlertTime","allowedGAPToBeDelayed","deleteNotificationsOlderDays","docExpiresSoonAlert","radiusAroundWaypointM","timeLimitToCancelOrderHours","timeLimitToCancelTransportationOrderHours","fetchLegalFormsDictSaga","currentRequest","initialShipperContractLaneDetailsItemState","MapCenter","centerLatLng","setCenter","getCurrentRelativePath","CalendarIconProps","ErrorIndicatorLabel","fieldNamesPrefix","shipperContractsRefreshChannel","shipperContractsPaginationChannel","getDateStringToTimeWindow","endTimeWindow","isMidnight","mergeWithRelativeTimeWindow","absoluteTimeWindow","setHasDropTrailerPointError","setHasDropTruckPointError","MAIN_CONTACT_UNAVAILABLE_REASON_MAP_T","NO_ANY_PHONE_NUMBER","MainContactUnavailableReasonLabel","selectTrailersByIds","isActiveEditing","setActiveEditing","trailerDetailsById","setUnavailableModalConfirmation","onActivate","onArchive","onEdit","archiveTrailersRequest","activateVehicleRequest","activationTrailersRequest","TrailerType","availableTypes","optionByType","PriceRuleOperationFilterPill","operation","LocationsCell","countries","innerWidth","innerHeight","windowSize","setWindowSize","handleResize","MapCluster","PILL_THEME_BY_INVOICE_STATUS","InvoiceStatusPill","getOrderStopHashes","companiesValues","transportationOrderDeclined","allLabelKey","fetchTransportOrdersSaga","selectTransportOrdersQuery","DateFormatter","addressStr","syncShipmentDetailsFormValuesContext","excludedCountriesFormValue","PinIcon","EMPTY_RANGE","formatDateValue","formatDateRangeValue","isFocusedInput","setFocusedInput","dateRangeMask","getDateRangeMask","dateMask","getDateMask","initInputValue","checkIsEmptyDateValue","isBefore","startDateString","endDateString","fromDateRange","isValidStartDate","checkIsInMinMax","toDateRange","isValidEndDate","guide","useSyncRouteStopsChannels","STEP_PATH_NAMES","cargoDetails","STEP_T_MAP","hasSelectedContact","stepsSequence","match1","match2","match3","match3Lane","steps","pathnameTemplate","isContinue","goTo","stepIndex","isDisabledBack","initShowStepIndex","getUtilizationLabel","afterValue","beforeValue","getAssetUtilizationColor","getFleetUtilizationColor","isWithoutVerticalPaddings","selectFindShippersQuery","shipperSuggest","PreviewMessage","AssetPickUpLocationPin","FilterIcon","UpdatedPartnerShipperLaneContractCard","RunOutOfTimeAssignAssetsCard","AssetDetailsMap","contextLocations","setContextLocation","viewServiceLocationPoint","AsyncDictDocumentNameLabel","documentsDictRequest","documentsDictByType","prepareCountryCode","preparedCountryCode","DEFAULT_PLACEHOLDER","formatConfig","descriptionPlaceholder","Description","TestData","Valid","ShipperContractLanesLayout","modalContentProps","fullListPriceOffers","bestOffer","markBestPriceOffers","priceOffersByHashDates","newUniqOffersCount","changesById","BoatIcon","BigQuestionReversedIcon","PRICE_RULE_COMPONENT_TYPE_I18N_MAP","profile","ChangeTourStatusControls","tourInfo","PriceRuleTypeDropdown","initPartnerIds","initPartnerId","CostCell","selectedTruckModel","logo","ServicesTable","onUpdateService","isHoveredRow","renderPointIcon","renderPointName","RFQDetails","trailerDict","trailerTypeDetails","getPriceDetails","defaultCarrierAdditionalServicesList","defaultBrokerAdditionalServicesList","defaultPriceDetailsList","targetPriceDetailsList","completedCarrierAdditionalServicesList","completedPrice","completedBrokerAdditionalServicesList","completedPriceDetailsList","orderStatus","expirationDetails","completedDetails","completedDate","completedByName","completedById","firstPoint","pointDetails","newIds","TruckDropOffIcon","ColoredStatusLabel","isRightIcon","SettingsPage","tenderCalculator","header","checkGPSStatusRequest","CHECK_GPS_STATUS_REQUEST_BEGIN","CHECK_GPS_STATUS_REQUEST_SUCCESS","ListPageHeaderLayout","leftToolsClassName","rightToolsClassName","RevokedPartnerDocumentCard","AlertsDebugForm","defaultAlert","setType","debugAlertForm","marginBottom","fetchError","FetchError","checkIsForbiddenError","checkIsBadRequestError","badRequest","checkIsNetworkError","ExpiredPartnerCarrierContractCard","getPercentDiffMask","getMoneyDiffMask","UNIT_BY_TYPE","dropdownValue","setDropdownValue","ShipperIcon","ContactBadgeIcon","MultiPointOrderDraftDetails","renderRow","leftColumnClassName","leftColumn","rightColumnClassName","rightColumn","getPlaceholderRow","iconFillColor","StartSelectBidFooterContent","bidById","assignCarrierConfirmation","selectedBid","validateDeadheadInitContextQuery","modifyDeadheadInitContextQuery","newQuery","resetRoute","contextRouteStopFakeId","initRoute","beforeIndex","foundIndex","beforeContextRouteStopFakeIds","validateDeadheadPreviewQuery","arrivalDateTime","modifyDeadheadPreviewQuery","firstRangeArrivalDateTime","fetchCarriersUtilizationSaga","needIds","isOnlyApproved","approvedBrokerContractsResponse","approvedBrokerContractsError","approvedBrokerContractsResult","brokerContractsResponse","brokerContractsError","brokerContractsResult","approvedCarrierContractsResponse","approvedCarrierContractsError","approvedCarrierContractsResult","carrierContractsResponse","carrierContractsError","carrierContractsResult","nameFallback","calculateCostRequestQuery","creationRequestQuery","shipperContractLaneCreationSlice","resetShipperLaneCreation","calculateCostRequestSuccess","calculateCostRequestSetRoute","calculateCostRequestFetchRouteError","calculateCostRequestError","calculateCostRequestBegin","createLaneRequest","createLaneRequestBegin","createLaneRequestSuccess","createLaneRequestError","prevRows","setPrevRows","UploadFileIcon","GeoAreaIcon","PapersEmptyPlaceholder","CopyIcon","ShipperContractStatusEnum","ShipperContractLaneOrderCounterPill","getErrorLabel","valueDate","isSameOrAfter","isSameOrBefore","isDisableValue","emailValidator","isValidDate","checkIsPossiblePhoneNumber","tabConfig","fetchGroupedNotificationCountsBegin","fetchGroupedNotificationCountsSuccess","fetchGroupedNotificationCountsError","fetchTrailersSaga","selectTrailersQuery","selectTrailersPages","resetTrailers","fetchTrailersPageBegin","fetchTrailersPageError","fetchTrailersPageSuccess","refreshTrailerDetailsIfNeedSaga","addTrailerSaga","addTrailerRequestBegin","addPartnerTrailer","addTrailerRequestError","addTrailerRequestSuccess","deleteTrailersSaga","trailerIds","deleteTrailersRequestBegin","deleteTrailersRequestError","deleteTrailersRequestSuccess","activateTrailersSaga","activateTrailersRequest","updateTrailersRequestBegin","updateTrailersRequestError","updateTrailersRequestSuccess","invalidAssetsMap","invalidAssets","failedTrailerIds","failedCount","invalidAssetsPlateNumbers","assignToContractSaga","changeRateTrailersSaga","archiveTrailersSaga","failedTrailerId","fetchTrailersStatsSaga","selectFetchTrailersStatsRequestStatus","fetchStatsRequestStatus","fetchTrailersStatsRequestBegin","resultError","fetchTrailersStatsRequestError","fetchTrailersStatsRequestSuccess","fetchTrailerDetailsSaga","fetchTrailerDetailsRequestBegin","fetchTrailerDetailsRequestError","fetchTrailerDetailsRequestSuccess","updateTrailerSaga","importXLSTrailersSaga","importXLSTrailersRequestBegin","importPartnerXLSTrailers","importXLSTrailersRequestError","importXLSTrailersRequestSuccess","exportXLSTrailersSaga","exportXLSTrailersRequestBegin","exportPartnerXLSTrailers","exportXLSTrailersRequestError","exportXLSTrailersRequestSuccess","FETCH_TRAILERS_PAGE_REQUEST","ADD_TRAILER_REQUEST","DELETE_TRAILERS_REQUEST","ACTIVATION_TRAILERS_REQUEST","ARCHIVE_TRAILERS_REQUEST","ASSIGN_TO_CONTRACT_TRAILERS_REQUEST","CHANGE_RATE_TRAILERS_REQUEST","FETCH_TRAILER_DETAILS_REQUEST","UPDATE_TRAILERS_REQUEST","FETCH_TRAILERS_STATS_REQUEST","IMPORT_XLS_TRAILERS_REQUEST","EXPORT_XLS_TRAILERS_REQUEST","i18nMap","A_WARNING_SIGN_WASTE","ADR_HAZMAT","ATP_CERTIFICATE_FRC_CATEGORY","CATEGORY_III_CERTIFICATE","CUSTOMS_SEAL_PROOF_TIR","DROP_TRAILER_REQUIRED","DUAL_TEMPERATURE","FLOWER_TROLLEY_WIDE","MEAT_HOOKS","PALLET_EXCHANGE_CATEGORY_A","PALLET_EXCHANGE_CATEGORY_B_AND_C","PARTITION_WALL","TAIL_LIFT","COIL_TRANSPORTS","JOLODA_LOADING_SYSTEM","LIGHT_VERSION","WALKING_FLOOR","XL_CODE_CERTIFIED","ANTI_SLIP_MATS","CARGO_EDGE_PROTECTORS","CARGO_LOAD_LOCKS","CARGO_RATCHET_STRAPS","CARGO_SHORING_BEAMS","GDP_PHARMACEUTICAL","IFS_FOOD","ISO_14001","ISO_9001","SQAS_CHEMICAL","WASTE_MANAGEMENT_A_SIGN","AdditionalServiceLabel","LaneDropdownInputOptionLabel","actionIndex","TemperatureRange","parseTemperatureMode","HeaderSideBarLayout","associatedBrokerUsers","notVerified","withUpdates","EMISSION_CLASS_ORDER","EURO_5","EURO_6","aItem","bItem","manufacturerCompare","MAX_SAFE_INTEGER","labelMap","Accent","SpotBidStatusCard","priceComponents","DnDIconWrap","isShowIcon","setIsShowIcon","iconRef","iconNodeRect","isShouldShow","checkShouldShowIcon","OverlayPositionEnum","clearPhoneNumber","isOpenCountryList","setOpenCountryList","clearedPhoneNumber","parsedCountryCode","getCountryCode","apply","rects","elements","floating","reference","onClickCountryCode","onChangePhoneNumber","selectedCountryCode","countryPhoneNumberStart","getCountryPhoneNumberStart","saveRequestStatus","ColoredDiff","isInverted","customNotNumberColor","customPositiveColor","customNegativeColor","isPositive","isNegative","invitePartnerRequest","TopBarContent","afterTitle","leftNode","ValidPeriodCell","selectFetchContactDetailsRequest","contactDetailsById","selectContactDetailsById","isNewContact","isAllowEditEmail","apiContact","addContact","handleSelectPosition","renderRadioButton","hasChangeHighlight","mainContactUnavailableReason","isMakeDefaultContactCheckboxDisabled","isShowNotSaveStatus","newList","serviceItem","targetChange","changesItem","DictTrailerMultipleDropdown","FuelIcon","BidDetails","isOpenedDetails","setIsOpenedDetails","toggleOpenedDetailsClick","bidDetails","lifeTime","diffPercentage","convertToPointLocation","countyCode","ClientFeatureControl","toggle","setClientFeature","labelI18nMap","i18nLanguageSwitcher","debugNotificationsForm","assignmentExcludeCountries","showStatusFiltersAfterPaid","cancelServiceMaintenanceAssetScheduleSidebar","clientFeature","clearClientFeatures","storage","DEFAULT_TRAILER_DICT_ID","DEFAULT_BOX_TRAILER_ID","DEFAULT_TILT_TRAILER_ID","getDefaultRoutePointInitialValues","DEFAULT_TRAILER_TYPE","restorableRoutePointTypeSet","DEFAULT_TRAILERS_DICT","ShipmentDetailsForm","orderCreationPercentContext","stepsContext","createRFQStatus","createPriceOfferWithLaneStatus","storageValues","defaultRoutePointInitialValues","allRoutePointFields","initialShipper","initShipperOptions","apiActualOrderRequest","routeLength","setPercent","hasSelectedLane","setHasSelectedContract","isLockedByReserve","availableTrailersTypes","handleChangeDictTrailerId","handleChangeLaneId","handleChangeTrailerTypeValue","isAllowShowReplacedLocationsAlert","setAllowShowReplacedLocationsAlert","showAlert","isSubmitting","isLoadingReservePreview","handleChangeRoutePointReserve","isShowLaneSelectControl","asyncFormErrorsContext","previewTimeWindow","handleDeleteServicePoints","indexesToRemove","valuesPointIndex","indexA","indexB","shipperDetails","hasReservePreview","CancelInviteConfirmation","convertPointToLocation","CargoUnitIcon","draggableRouteStopTypeSet","selectDeadheadContext","selectDeadheadPreviewRequest","validateForm","handleChangeExcludedCountriesCallback","EXCLUDE_COUNTRIES_COLD_TIME","refreshDeadheadCreationModifyHandler","getInitialRoutePointFormValues","contextSyncRouteStopsModifyChannel","addedStopFakeIds","deletedStopFakeIds","orderStopFakeIds","parsedArrivalDate","handleOpenTrailerDetails","stopByFakeId","prevContextPreview","setPrevContextPreview","syncAssetScheduleContext","possibleContextPreview","routeStop","beforeFakePointIds","trucksDictById","selectTrucksDictById","fetchContractsRequests","contractNode","contractRightNode","linkedTrailerPlateNumber","isDedicated","archivingReason","checkIsApiCarrierTruckDetails","lastModifiedDate","lastModifiedBy","DriveThroughRoutePointPicker","isDriveThroughRoutePointPicker","tourPapersUrlFactory","deletingPaperId","setDeletingPaperId","deleteRequestStatus","selectDeleteRequestStatus","deletePaperConfirmationDialog","paperGalleryModal","contentUrl","catch","selectBrokerTeamDetails","brokerTeamDetails","initialBrokerTeamDetailsState","selectBrokerTeamDetailsRequestStatus","SearchForm","selectedAssignmentOptions","setAssignmentOptions","handleChangeAssignmentOptions","assignmentRadiuses","selectAssignmentRadiuses","defaultAssignmentRadius","selectedRadius","setRadius","selectedCarrierId","additionalTagsNode","AttachPapersDropdownControlTrigger","hasExpandIcon","fetchBrokerTourDetailsSaga","getBrokerTourDetails","actual","history","setActiveTab","tooltipContentNode","canDownload","versionIndex","TableCellLink","clickInterceptorProps","useClickInterceptorProps","wrapClassName","circle__orange","circle__green","currentRequestStatus","setCurrentRequestStatus","setInitOptions","timeWindowsById","queryTimeWindowsById","queryTimeWindow","OriginCell","originFrom","originTo","hideAdditionalServiceType","AdditionalServicesGroup","setIsExpanded","selectedServiceCount","CreatedCell","BaseShipperContractLanesTable","formatDateInterval","DATE_INTERVAL_SPECIAL_SYMBOLS","FUTURE","TrailerStatusMultipleDropdown","TRAILER_STATUS_T_MAP","shipperContractLanesSaga","selectShipperContractLanesQuery","resetShipperContractLanes","fetchShipperContractLanesPageBegin","fetchShipperContractLanes","fetchPartnerShipperContractLanes","fetchShipperContractLanesPageError","fetchShipperContractLanesPageSuccess","MinusSignIcon","RFQ_SOURCE_T_MAP","CARLO","TENDER","INTERNAL","CONTRACT_LANE","RFQSourcePill","WarningIcon","apiUnit","getApiLoadUnitType","updateBegin","updateSuccess","destinationTime","originTime","placedTime","expirationTime","SpotRequestsQuickFilterEnum","hasUnreadBids","BaseCarrierContractsTable","AssetCell","spotRequest","trailerTypeModel","GoogleMapsLoaderWithoutMaps","UNKNOWN_LABEL_COLOR","getPillLabelByRole","UserRolePill","roleKey","ArchiveDriverConfirmation","driverSurname","papersEditSaga","getAttachPaperToShipmentSaga","getAttachPaperToTourSaga","getDeleteAttachedPaperSaga","attachPaperToShipmentBegin","parseResponseData","attachPaperToShipmentError","attachPaperToShipmentSuccess","attachPaperToTourBegin","attachPaperToTourError","attachPaperToTourSuccess","deleteAttachedPaperBegin","deleteAttachedPaperError","deleteAttachedPaperSuccess","selectRulesPages","selectRulesQuery","selectRulesTotal","selectRulesByIds","selectUpdateRulesRequest","selectDeleteRulesRequest","selectFetchRuleDetailsRequest","selectPreviewRuleRequest","selectPreviewRule","selectRuleDetails","findCarriers","findCarriersBegin","findCarriersSuccess","findCarriersError","MapPin","PILL_THEME_BY_FUEL_OPTION_TYPE","FuelOptionTypePill","fetchDoneStatisticsSaga","getDoneStatistics","fetchRejectStatisticsSaga","getRejectStatistics","fetchStatisticsSaga","ContinueSignUpPage","failEmailVerification","formValue","RulesTable","selectedRulesSet","onSelectRules","onClickRow","withEstimateCarrierTypeSet","BrokerTourRouteMap","ForgotPassword","selectResetPasswordRequestStatus","emailAsyncError","boldAzul","assignBidToSpotRequestSaga","spotRequestsRefreshChannel","spotRequestsStatsRefreshChannel","fetchSpotRequestDetailsSaga","setAlerts","editableRouteStopTypeSet","getStartDayFromDateZero","getEndDayFromDateZero","TabsEnum","HorizontalColumnsLayout","isNarrow","setTab","createInitWaypointTrailerDropPoint","TypeEnum","selectedOptionValue","getFetchTrackByOrderSaga","orderHash","getAssetsTrackHashByOrderId","fetchAssetTracksByOrder","apiAssetsCoordinates","apiAssetCoordinates","getAssetTrackHashByOrderId","receivedDate","getFetchTrackByTransportOrdersSaga","transportOrderHash","GPSTrackingStatusAlert","isChecking","gpsStatus","infoIconNode","AuthApiTypeEnum","syncLanguage","auth","languageCode","resolver","getIdTokenResult","claims","signInAnonymously","parsedCommonError","parseCommonErrors","failAnonymouslySignIn","failSignIn","failSignOut","sendVerificationEmail","ACTION_CODE_SETTINGS","userIsNotAuthorized","sendEmailVerification","failSendEmailVerification","sendPasswordResetEmail","failSendPasswordResetEmail","confirmPasswordReset","credential","EmailAuthProvider","linkWithCredential","usercred","applyActionCode","userCredential","failChangePassword","photoURL","failUpdateProfile","successChangePassword","initializeApp","FIREBASE_TENANT_ID","tenantId","errorMapper","authErrorType","getIdToken","FirebaseAuthService","tryParseFirebaseConfig","STRINGIFIED_FIREBASE_CONFIG","StepsContext","InvoiceBinaryStatusPill","SpotRequestsPage","addTruckRequestStatus","TransportationOrderTypeEnum","TransportOrderTypeFormatter","transportOrderType","PapersGrid","resetPapersEdit","PositionOption","ROUTE_DETAILS_FORM_NAME","HeaderSideBarPortal","contentRootRef","PriceRuleTypeMultipleDropdown","TableError","placeholderProps","checkIsNotFoundError","selectFetchPartnerDetailsRequest","selectLockPartnerDetailsRequest","lockRequest","selectVerifyPartnerDetailsRequest","verifyRequest","enableAssetEditing","hasAccessToDocuments","canActivateTrucks","canArchiveTrucks","canSetUnavailableTrucks","canImportTrailers","canEditTrailers","canActivateTrailers","canArchiveTrailers","canSetUnavailableTrailers","canVerifyDocuments","brokerTeam","canDeleteBrokerUsersTeams","canEditDrivers","isShowEditAction","isShowCancelInviteAction","isShowRestoreAction","isShowArchiveAction","sourceMapT","selectFindCarriersQuery","carrierSuggest","selectFindCarriersRequest","selectCarriersIds","selectCarriersById","sendToSpotUnavailableReasonI18nMap","KAM_CANT_SEND_TO_SPOT","TOUR_ALREADY_ON_SPOT","TOUR_HAS_DROP_AND_HOOK_STOP","TOUR_HAS_ACTIVE_TRANSPORTATION_ORDER","ORIGIN_IS_BEFORE_NOW","DEADLINE_TIME_EXCEEDED","DEADLINE_BEFORE_NOW","StartAssignmentFooter","sendToSpotTooltipContent","driverIds","upperPrice","lowerPrice","receivedDateFrom","receivedDateTo","TransportOrderQuickFilterEnum","noAssets","noDriver","RunOutOfTimeAssignCarrierCard","PILL_THEME_BY_WARNING","WARNING_T_MAP","ShipmentWarningPill","checkIsRepeatStrategy","checkIsPriceComponent","PRICE_COMPONENT_T_MAP","REPEAT_STRATEGY_T_MAP","monthly","yearly","selectedDriverId","isPending","checkIsDriverPendingStatus","isHalfOpacity","DetailsLayoutQueryKeysEnum","DetailsLayout","timeline","NumberParam","isShowTimeline","PhoneNumberDropdownTrigger","isSelectedCountry","shipperContractsSaga","selectShipperContractsQuery","selectShipperContractsPages","fetchPartnerShipperContracts","PriceMatrix","selectedPickUpDate","activeDropOffDate","setActiveDropOffDate","activePickUpDate","setActivePickUpDate","offersByDatesHash","pickUpDates","pickUpDatesHead","momentDate","pickUpDatesHeadRow","dropOffDatesHead","isLoadingOffers","isEmptyDates","dropOffDateIndex","pickUpDateIndex","datesHash","offers","sortedOffers","groupedOffer","cheapestSortedOffers","firstCheapestOffer","isActiveCell","isSelectedCell","isShowTooltip","isFirstColumnDate","isLastColumnDate","isAllOffersExpired","firstNotExpiredCheapestOffer","selectDates","cheapestOffer","PhoneNumberDropdownOption","findShippersByQuerySaga","findShippersByIdSaga","formatDecimal","sourceDecimalString","thousandSeparator","reverse","partialCurrencySettings","roundedAmount","decimal","fraction","formattedDecimal","isFirstSymbol","symbol","decimalSeparator","Money","formattedMoney","isLastRow","Textarea","isForceFocused","textareaProps","sourceValue","ShipperContractLaneStatus","UserSignUpForm","onInvitePartner","addPartnerRequestStatus","trailerTypeLabel","contractRatePerKm","linkedTruckPlateNumber","AVAILABLE_ORDER_TYPE","typeOptions","receiveDates","onRightClick","parts","pointType","draggablePointTypeSet","RouteEditingMap","syncMapSettingsCallback","hasRedBorder","reserveRouteGeometryState","isMapLoading","locationType","formatKey","ShipperContractLaneEditForm","prepareApRequest","ShipperContractDetailsPage","parsePartnerTypeParam","selectShipperContractsByIds","lineHeight","defaultRedirectPath","partnerContextValue","clusterIconWithNumberStyle","AssetOptionLabel","FullNameCell","selectTransportOrderDetails","SHIPMENT_PAPER_TYPE_MAP_T","DELIVERY_NOTE","SIGNED_DELIVERY_NOTE","PALLET_CERTIFICATE","TEMPERATURE_RECORD","CUSTOMS_DECLARATION","T1_T2_DOCUMENT","CLAIM_DAMAGE","EAD","CERTIFICATE_OF_ORIGIN","COMMERCIAL_INVOICE","OTHER","ShipmentPaperTypeLabel","SideBarFooterAlertsContext","CancelBrokerTourConfirmation","CountryMultipleDropdown","filteredCodes","clearedQuery","firstCountryCode","fetchGroupedNotificationCountsSaga","byAction","OfferDetails","toggleOpenDetails","offerAdditionalServiceItems","additionalServicesItems","selectedAdditionalServices","allAdditionalServiceItems","laneCostOfOperationPrices","laneOtherPrices","sourceTotalOfferPrice","handleChangePrice","minAllowedCustomLineHaul","editableLineHaulPriceDetails","useEditablePriceDetails","i18nKeys","startEditingTooltip","restorePriceTooltip","isAllowEditPrice","canEditLineHaulOnOrderCreation","ALL_TOLL_TYPES","tollType","tollTooltip","TOLL_TOOLTIP_MAP_T","appliedRuleTarget","TollTypeEnum","general","bridge","tunnel","mountainPass","marketCorrection","intermodal","unspecified","TOLL_MAP_T","fuelByCountry","brokerPrices","fuelPricePerLiterByCountry","totalRate","minLineHaul","fuelPricePerLiter","pillLabelNode","pillLabelTheme","maxLayoverPerHour","maxLayoverPerDay","isActiveEditingTotalPrice","setIsActiveEditingTotalPrice","handleStartEditTotalPrice","handleChangeTotalPrice","dateTime","StopIcon","getOrderId","selectBrokerToursTotal","selectBrokerToursByIds","modalDialog","selectShipperContractsTotal","OrdersPage","SimpleTrailerTypeFormatter","indexes","createAuthAPI","keycloakConfig","queryA","queryB","convertPageEntities","converter","WeightIcon","GoogleMapsAutocompleteApi","getQueryPredictions","mapBounds","sessionToken","input","AutocompleteService","AutocompleteSessionToken","NotificationLayout","rawDocument","startBrokerWorkingHoursH","BROKER_DAY_START_HOURS","endBrokerWorkingHoursH","BROKER_DAY_END_HOURS","URGENT_ORDER_PROCESSING_DELAY","REGULAR_ORDER_PROCESSING_DELAY","convertSecToMin","brokerWorkingHours","quantumMinutes","MAP_PRECISION_DELTA","HVO_EMISSION_PERCENT","AssetLinkFormatter","CountryDropdown","PRICE_RULE_STATE_I18N_MAP","AccountPage","selectPatchUserRequestStatus","firebaseUser","dirty","currentPasswordAsyncError","currentPasswordError","isShowNewPasswordError","accountUrls","setAccountUrls","lang","isFullSize","extraSmall","checkIsProduction","fetchRFQStatsSaga","fetchPartnerRFQCount","TransportOrderDetails","goToDriverDetails","useTransportOrderPayloadWaypoints","priceDetailList","transportOrderRows","openedClassName","mileageDetailsRows","assignmentDetailsRows","handleAttachTourPaper","readAttachedPapersUnavailableReason","SquareInfoIcon","TollLabel","TeamDrivePill","fetchDispatchersBegin","fetchDispatchersSuccess","fetchDispatchersError","IconTriggerThemeEnum","mainDriverId","teamDriverId","reAssignSaga","reAssignBegin","reAssignError","reAssignSuccess","RE_ASSIGNMENT_REQUEST","messageProps","parseStringFormatter","updateApiTruck","dictTruckId","countryOfRegistration","WaypointNumberIcon","isDropAndHookRoutePointPicker","initialActiveTabType","UserMainPill","InlineLoader","verticalPadding","dateIntervalSpecialSymbolsSet","toString","formatTemperature","ImageGalleryModal","FieldNotes","noteNodes","emptyNoteNode","EMISSION_CLASS_MAP","DEPRECATED_EMISSION_CLASS_I18N_MAP","EmissionClassLabel","InfoTableRow","shouldRenderIcon","nestIndex","filteredSubRows","isCollapsable","setOpen","isEmptyValue","rowFullTestSelector","isFullNameWidth","closedClassName","isBoldName","rightNodeEmptyValue","rawRightNode","InfoTableRows","filteredRows","InfoTable","tableFullTestSelector","firstRadiusOfAssignmentFilter","secondRadiusOfAssignmentFilter","thirdRadiusOfAssignmentFilter","timeToHookTrailer","timeToDropTrailer","timeToPickupTruck","timeToDropTruck","geoMatrixCoefficient","averageTruckSpeed","FIRST_RADIUS_OF_ASSIGNMENT_FILTER","SECOND_RADIUS_OF_ASSIGNMENT_FILTER","THIRD_RADIUS_OF_ASSIGNMENT_FILTER","TIME_TO_HOOK_TRAILER","TIME_TO_DROP_TRAILER","TIME_TO_PICKUP_TRUCK","TIME_TO_DROP_TRUCK","GEO_MATRIX_COEFFICIENT","AVERAGE_TRUCK_SPEED","TeamComponentTabEnum","BigTrashIcon","fetchCompanyBegin","fetchCompanySuccess","fetchCompanyError","updateCompany","updateCompanyBegin","updateCompanySuccess","updateCompanyError","BrokerOrderRouteEditPage","initOrderEdit","finishOrderEdit","handleRetry","actualTour","LinkIcon","fetchRFQsPageBegin","fetchRFQsPageSuccess","fetchRFQsPageError","resetRFQs","ThumbUpIcon","AssetScheduleSidebar","additionalFlags","isCancelServiceMaintenanceSidebarEnabled","convertNotification","apiNotification","baseNotification","parsedNotification","relatedIds","baseTourStatusNotification","TOUR_RUN_OR_RUNNING_OUT_OF_TIME_TO_ASSIGN_CARRIER","TRANSPORTATION_ORDER_PLACED","RFQ_ALERT","SPOT_CANCELLED","SPOT_ASSIGNED","SPOT_BID_MISSED","SHIPPER_CONTRACT_UPLOADED","ERROR_WHEN_CREATE_INVOICE","ASSET_ADDED","ASSET_UPDATED","setOptions","selectSearchDriverIds","selectSearchDriverById","selectSearchDriverRequest","selectedDriver","setFromCountryCodes","setToCountryCodes","defaultNotification","FormTitle","isFinalStep","basePercent","summaryPercent","roundedPercent","encodeURIComponent","queryData","decodeURIComponent","initialBrokerOrderDetailsState","brokerOrderDetailsSlice","brokerOrderDetailsState","resetBrokerOrderDetails","TourPaperAttachPapersDropdownControl","PartnerPage","warningBadgeNode","hasDetailsProblem","hasDocumentsProblem","canViewTeamMembers","partnerMembers","canViewTrailers","canViewTrucks","canViewDrivers","isShowPartnerNameLoader","commonUrlFactory","selectTrucksDictList","getTeamsFilter","checkIsAvailableCountryForShipByCode","entityTypeToLabel","TRANSPORT_ORDER","EntityLinkTooltipContent","mapsApiKey","mapTypeControl","mapTypeId","mapTypeControlOptions","mapTypeIds","controlSize","fullscreenControl","zoomControlOptions","styles","elementType","stylers","featureType","UserDropdown","rawMembers","members","memberByUserId","member","T_MAP","errorType","RevokeContractConfirmation","selectedAction","getContractName","PartnerDriversPage","SetUnavailableFooterContent","OrderStatus","NumberPinIcon","textAnchor","FETCH_TRAILERS_PAGE_REQUEST_BEGIN","FETCH_TRAILERS_PAGE_REQUEST_ERROR","FETCH_TRAILERS_PAGE_REQUEST_SUCCESS","RESET_TRAILERS","ADD_TRAILER_REQUEST_BEGIN","ADD_TRAILER_REQUEST_ERROR","ADD_TRAILER_REQUEST_SUCCESS","DELETE_TRAILERS_REQUEST_BEGIN","DELETE_TRAILERS_REQUEST_ERROR","DELETE_TRAILERS_REQUEST_SUCCESS","UPDATE_TRAILERS_REQUEST_BEGIN","UPDATE_TRAILERS_REQUEST_ERROR","UPDATE_TRAILERS_REQUEST_SUCCESS","FETCH_TRAILER_DETAILS_REQUEST_BEGIN","FETCH_TRAILER_DETAILS_REQUEST_ERROR","FETCH_TRAILER_DETAILS_REQUEST_SUCCESS","FETCH_TRAILERS_STATS_REQUEST_BEGIN","FETCH_TRAILERS_STATS_REQUEST_ERROR","FETCH_TRAILERS_STATS_REQUEST_SUCCESS","IMPORT_XLS_TRAILERS_REQUEST_BEGIN","IMPORT_XLS_TRAILERS_REQUEST_ERROR","IMPORT_XLS_TRAILERS_REQUEST_SUCCESS","EXPORT_XLS_TRAILERS_REQUEST_BEGIN","EXPORT_XLS_TRAILERS_REQUEST_ERROR","EXPORT_XLS_TRAILERS_REQUEST_SUCCESS","TeamName","truckInvalidReasonI18nMap","ASSET_IS_NOT_CONTRACTED","ASSET_CONTRACT_INACTIVE","shipmentPapersUrlFactory","pendingStatusSet","UserSelectList","initialSelectedUsers","selectedUsers","onChangeUsers","highlightedUserIdsSet","hideUserStatusSet","isShowPendingUsers","setIsShowPendingUsers","handleToggleShowPendingUsers","selectedUserIdsSet","hasPendingUsers","shownOptions","hasPendingStatus","CancelTruckTransportOrderConfirmation","ExpireSoonPartnerShipperLaneContractCard","selectCompanyMembersState","byCompanyId","initialCompanyMembersState","companyMembers","contactIds","constantById","fetchContactsRequest","addMemberRequest","deleteMemberRequest","fetchContactDetailsRequest","AvatarCell","CarrierCell","truckCarrierId","truckCarrierName","trailerCarrierName","truckPlateNumber","hasTruck","hasTrailer","assetPlate","assetCarrierId","assetUrl","hasCarrier","hasAsset","PriceMatrixWithMap","isImportedOrder","availableTabs","hasManyTabs","dark","SpotRequestsTable","placedByName","placedBy","placedDate","estimatePrice","lowestPrice","VerificationAlert","isClosed","setIsClosed","isAlignItemsCenter","WarningsCell","FETCH_TRUCKS_PAGE_REQUEST","fetchTrucksPageBegin","FETCH_TRUCKS_PAGE_REQUEST_BEGIN","fetchTrucksPageSuccess","FETCH_TRUCKS_PAGE_REQUEST_SUCCESS","fetchTrucksPageError","FETCH_TRUCKS_PAGE_REQUEST_ERROR","resetTrucks","RESET_TRUCKS","ADD_TRUCK_REQUEST","addTruckRequestBegin","ADD_TRUCK_REQUEST_BEGIN","addTruckRequestError","ADD_TRUCK_REQUEST_ERROR","addTruckRequestSuccess","ADD_TRUCK_REQUEST_SUCCESS","deleteTrucksRequest","truckIds","DELETE_TRUCKS_REQUEST","deleteTrucksRequestBegin","DELETE_TRUCKS_REQUEST_BEGIN","deleteTrucksRequestError","DELETE_TRUCKS_REQUEST_ERROR","deleteTrucksRequestSuccess","DELETE_TRUCKS_REQUEST_SUCCESS","ACTIVATION_TRUCKS_REQUEST","UPDATE_TRUCK_REQUEST","ARCHIVE_TRUCKS_REQUEST","ASSIGN_TO_CONTRACT_TRUCKS_REQUEST","CHANGE_RATE_TRUCKS_REQUEST","updateTrucksRequestBegin","UPDATE_TRUCKS_REQUEST_BEGIN","updateTrucksRequestError","UPDATE_TRUCKS_REQUEST_ERROR","updateTrucksRequestSuccess","UPDATE_TRUCKS_REQUEST_SUCCESS","FETCH_TRUCK_DETAILS_REQUEST","fetchTruckDetailsRequestBegin","FETCH_TRUCK_DETAILS_REQUEST_BEGIN","fetchTruckDetailsRequestError","FETCH_TRUCK_DETAILS_REQUEST_ERROR","fetchTruckDetailsRequestSuccess","FETCH_TRUCK_DETAILS_REQUEST_SUCCESS","FETCH_TRUCKS_STATS_REQUEST","fetchTrucksStatsRequestBegin","FETCH_TRUCKS_STATS_REQUEST_BEGIN","fetchTrucksStatsRequestError","FETCH_TRUCKS_STATS_REQUEST_ERROR","fetchTrucksStatsRequestSuccess","FETCH_TRUCKS_STATS_REQUEST_SUCCESS","IMPORT_XLS_TRUCKS_REQUEST","importXLSTrucksRequestBegin","IMPORT_XLS_TRUCKS_REQUEST_BEGIN","importXLSTrucksRequestError","IMPORT_XLS_TRUCKS_REQUEST_ERROR","importXLSTrucksRequestSuccess","IMPORT_XLS_TRUCKS_REQUEST_SUCCESS","EXPORT_XLS_TRUCKS_REQUEST","exportXLSTrucksRequestBegin","EXPORT_XLS_TRUCKS_REQUEST_BEGIN","exportXLSTrucksRequestError","EXPORT_XLS_TRUCKS_REQUEST_ERROR","exportXLSTrucksRequestSuccess","EXPORT_XLS_TRUCKS_REQUEST_SUCCESS","unavailableTeleportReasonI18nMap","ASSET_IS_BUSY","NO_GPS_DATA","GPS_DATA_IS_OUTDATED","NOT_ACTIVE","isShowUnavailableForm","setIsShowUnavailableForm","isExecutingTeleport","selectExecuteTeleportStatus","isValidatingTeleport","selectValidateTeleportStatus","validateTeleportData","selectValidateTeleportData","handleExecuteAssetTeleport","truckDetailsRefreshChannel","actionOptions","unavailableTeleportTooltipContent","unavailableReason","isTeleportShowLoading","isTeleportDisabled","concatNodes","nodes","filteredNodes","renderCountry","checkShouldRenderLocationPlaceholder","restAddress","LocationLabel","locationNode","CurrentTemperatureAlert","isHideClearAll","clearFilters","pillProps","configItem","clearIndex","getTheme","allKeys","pillIndex","clearKey","selectCompanyDriversState","selectDriversPages","selectDriversById","selectDriversQuery","selectDriversTotal","selectInviteDriverRequest","selectDeleteDriverRequest","OPTIONS","native","DATA_SOURCE_LABELS_T","DataSourceDropdown","DeleteIcon","prevPartnerDetails","lastSuggestionsQueryRef","lastQuery","subtype","AddOtherMessengerDropdown","createCompanySlice","setCompanyIsLocked","SUBJECT_TYPE_T_MAP","businessPartner","NotificationSubjectType","tDocumentSubject","applyDeadheadContextSaga","watchDeadheadQueueSaga","waitFinishIfNeedDeadheadApply","requestBody","applyDeadheadContext","initDeadheadContextSaga","deadheadInitContextQuery","initDeadheadContext","rawError","rawData","preparedDate","previewDeadheadContextSaga","chooseDeadheadArrivalDateTime","pickupStopFakeId","fakeIdByHash","changeDeadheadQueueWorker","selectDeadheadInitContextQuery","prevDeadheadInitContextQuery","previewContextBeforeModify","isSameDeadheadInitContextQuery","isEmptyContext","isExpiredContext","isSameContext","selectDeadheadPreviewQuery","prevDeadheadPreviewQuery","deadheadPreviewQuery","isSameDeadheadPreviewQuery","shouldPreviewDeadheadContext","getDeletedStopFakeIds","getOrderStopFakeIds","fetchBrokerTourStatsSaga","selectBrokerTourStatsRequest","getBrokerToursStatistic","MAPS_API_KEY","region","CompletedPartnerCarrierContractCard","MapFooter","fetchCountriesDictSaga","sortedCountriesDict","getCountryCompByName","SHIPPER_CONTRACT_STATUS_T_MAP","ShipperContractStatus","BrokerToursPage","initialPartnerState","SignInPage","selectSignInRequestStatus","showNotification","successSignUp","selectCurrentCompanyRequestStatus","currentCompanyRequest","selectUpdateCompanyRequestStatus","updateCompanyRequest","TourPapersTabContent","handleOpenGallery","tourChanges","selectTourChangesById","papersEditStateById","selectPapersEditByPaperIdState","visibleOptimisticPapers","getVisibleOptimisticPapers","thumbnailUrl","paperEditState","isPdfPaper","downloadRequestStatus","importRequestStatus","fetchStatusRequestStatus","tendersSlice","SplitIcon","selectDeadheadCreation","deadheadCreation","AdditionalServiceGroupLabel","groupTitle","OriginPinIcon","filterUnits","in","stdDeviation","ClientPage","sourceUrl","selectCountryLegalFormState","legalFormsDict","TeleportIcon","TeamDrive2Icon","DriverStatusPill","EmissionClassDropdown","WrenchIcon","isPrevStep","serviceFeeTypeOptions","ServiceFeeTypeEnum","priceTypeOptions","mlBased","combined","tranziitServiceFeeType","isDisabledPeriodicRulesForMonths","getFetchVehicleScheduleSaga","fetchScheduleRequest","VEHICLE_SCHEDULE_TTL","setUnavailableVehiclesSaga","detailsByIds","cancelUnavailableVehiclesSaga","EditTimeWindowsFooterContent","createTeamSaga","updateTeamSaga","brokerTeamDetailsRefreshChannel","deleteTeamSaga","FlagThemeEnum","checkValuesIsAllowed","getSuggestAllowedValues","startValue","orderEditSlice","resetOrderEdit","refreshOrderEditContextRequest","createOrderEditContextRequest","createOrderEditContextRequestBegin","createOrderEditContextRequestSuccess","createOrderEditContextRequestError","deleteOrderEditContextRequest","deleteOrderEditContextRequestBegin","deleteOrderEditContextRequestSuccess","deleteOrderEditContextRequestError","applyOrderEditContextRequestBegin","applyOrderEditContextRequestSuccess","applyOrderEditContextRequestError","changeContextSuccess","contractById","isCheckingGPSTracking","isAllowContract","contractValue","truckPlateNumberUniqCheck","usePlateNumberUniqCheck","plateNumberAsyncError","duplicateTruckId","duplicateId","boldTomatoRed","isSubmitLoading","selectedContractId","isAllowShowChanges","isAvailableChangeRate","isRateContract","isContractChanged","isRateOrContractChanged","isAvailableRateOrContractWarning","rateOrContractWarning","isAvailableChangeContract","contractTooltipNode","uppercaseFormatter","shipperTranziitApi","fetchOrdersPage","fetchShipperInvoicesPage","fetchShipperContract","getOrderDetails","ShipperTranziitApi","TimeWindowThemeEnum","iconStrokeColor","ExcludedCountry","useBrokerTourPayloadWaypoints","brokerTourWaypoints","dispatchWaypoint","sendTestNotificationSaga","createMarkAsReadNotificationsSaga","markAsReadBegin","markAsReadError","markAsReadSuccess","createFetchUnReadNotificationsSaga","createFetchNotificationsPageSaga","selectNotificationsQuery","fetchNotificationsPageBegin","fetchNotificationsError","newResponse","fetchNotificationsPageSuccess","checkIsReadySaga","selectUserSignedUp","selectLastUnReadNotification","selectUnReadNotificationsRequest","prevUnReadNotificationsRequest","fetchUnreadNotificationsBegin","errorApiUnReadNotifications","apiUnReadNotifications","fetchUnreadNotificationsError","unreadNotifications","apiUnReadNotification","fetchUnreadNotificationsSuccess","SEND_TEST_NOTIFICATION","MARK_AS_READ_REQUEST","FETCH_NOTIFICATIONS_PAGE_REQUEST","FETCH_UNREAD_NOTIFICATIONS_REQUEST","UNREAD_NOTIFICATIONS_REFRESH_INTERVAL_MS","EuroSymbolIcon","BrokerOrdersPage","BigSearchIcon","FieldLabel","PartnersPage","partnersPages","partnersById","showFilters","creationRequestStatus","invitePartnerModalDialog","partnersPage","partnersSort","PartnersSortEnum","partnerCreationOptions","canAddPartner","resetQueryFilters","CARRIER_CONTRACT_STATUS_T_MAP","CarrierContractStatus","availableTrailersToHooks","availableTrailersToHooksSet","availableTrucksToHooks","availableTrucksToHooksSet","outOfAreaSelectedTrailerId","outOfAreaSelectedTruckId","prepareVehicleGeoJson","viewTruckId","viewTrailerId","canInTimeTruck","isShowTruck","canInTimeTrailer","isShowTrailer","vehicleDetails","getVehicleGeoJson","vehiclesGeoJsons","vehiclesGeoJson","outOfAreaVehicles","outOfAreaSelectedLinkedTruckId","outOfAreaVehiclesGeoJsons","ColoredPriceRuleStatusLabel","DropAndHookRoutePointPicker","contextRoutePointIdName","RejectDocumentConfirmation","preparedData","SpotRequestStatusPill","SPOT_REQUEST_STATUS_T_MAP","AdditionalManagementControl","hasAssignedDrivers","useShipperSuggestOptions","initShipperIds","initShipperId","serviceGroups","updateAdditionalServiceRequestStatus","fetchAdditionalServiceRequestStatus","serviceGroup","ContinueSignUpForm","checkRegisteredUser","SideBarLayoutContextWrap","sideBarFooter","sideBarHeader","BaseCarrierContractsLayout","confirmRevokeContractModalDialog","updateCarrierContractRequest","isWaitAction","carrierContractId","downloadCarrierContract","canUploadCarrierContracts","RULE_TYPE_PILL_THEME_MAP","PriceRuleTypePill","noDriverAlert","parsedAssignDriverLimitAlert","parsedNoDriverAlert","parsedAssignAssetLimitAlertMin","noAssetAlert","parsedNoAssetAlert","urgentOrderProcessingDelayHours","urgentOrderProcessingDelayMin","settingName","dependencyList","firstUpdate","I18N_IMPACT_STRATEGY_KEY","I18N_REPEAT_TYPE_MAP","trailerDictTypeIds","fetchRuleDetailsRequest","updateRulesRequest","resetUpdateRuleRequest","resetCreateRuleRequest","fetchRuleDetails","refreshDetailsHandler","ruleIds","ruleDetailsRefreshChannel","ruleDraft","updateRules","createRule","allCountryCodes","renderCountryOption","isThin","getToOptionTestSelector","getFromOptionTestSelector","getCountryOptionValue","selectedImpactPriceComponent","strategyImpactOptions","repeatTypeOptions","repeatStrategyOptions","dayOptions","handleSelectImpactStrategy","handleSelectRepeatType","batchChanges","availablePriceComponents","selectedStrategy","headerTitle","initialShipperIds","initialShippersOptions","initialCarrierIds","selectedImpactStrategy","isSelectedDiffImpactStrategy","isShowCreateButton","isShowUpdateButtons","activateRules","deactivateRules","deleteRules","selectedDays","Utilization","AssetPin","formattedArrivalDate","isShowAssetLinkMenu","setIsShowAssetLinkMenu","linkAssetItems","isDisabledTruck","truckTooltipContent","reasonI18nMap","isDisabledTrailer","trailerTooltipContent","isDisabledTrain","formatDateWithTimeZone","truckIconPreset","trailerIconPreset","linkIconPreset","mapPinTheme","getMapPinTheme","isSelectedTruckAndTrailers","isNotSameCarriers","isSameCarriers","renderCarrierWithUtilization","isLoadingCarrierUtilization","formatTimeZone","addedStopFakeIdsSet","deletedStopFakeIdsSet","newAllFakeIds","newAllFakeIdsSet","stopFakeId","targetFakeId","apiReservePreview","canDelegateFrom","canDelegateTo","requiredFields","newAddresses","reserveShipperId","firstRoutePoint","defaultPickUpTimeWindowStart","routeStart","setISODateMidday","hasAllAddresses","pointLocation","fetchRulesSaga","resetRulePages","fetchRulesPageBegin","fetchRulesPage","fetchRulesPageError","fetchRulesPageSuccess","rulesPaginationChannel","updateRuleSaga","updateRuleBegin","updateRule","updateRuleError","updateRuleSuccess","rulesRefreshChannel","deactivateRulesSaga","deactivateRule","ruleDeactivateChannel","activateRulesSaga","activateRule","deleteRulesSaga","deleteRulesBegin","deleteRule","deleteRulesError","deleteRulesSuccess","previewRuleSaga","previewRuleBegin","rulePreview","previewRuleError","previewRuleSuccess","createRuleSaga","createRuleBegin","createRuleError","createRuleSuccess","fetchRuleDetailsSaga","fetchRuleDetailsBegin","fetchRuleDetailsError","fetchRuleDetailsSuccess","ShipperContractStatusPill","ORDER_STATUS_COLOR_MAP","OrderColoredStatus","PartnerDetailsPage","verifyPartnerConfirmation","unverifyPartnerConfirmation","lockPartnerConfirmation","unlockPartnerConfirmation","handleVerifyPartner","handleUnverifyPartner","handleLockPartner","handleUnlockPartner","isShowLoaderOverlay","canEditPartnerDetails","onCloseRef","selectTendersState","tenders","selectTendersDownloadRequestStatus","selectTendersImportRequestStatus","selectTendersDeleteRequestStatus","PendingUserCell","baseRequestConfig","checkIsValidConfig","waitValidConfig","setBasePath","getHeaders","authHeaders","subTypes","parseError","checkIsRetryableError","getRetryDelayMs","baseDelayMs","factor","maxDelayMs","delayMs","retryCount","retryDelayMs","BaseTranziitApi","NotificationToastContent","AlertProgressBar","primaryFilters","secondaryFilters","LongDeadheadConfirmation","ChangeUserRoleModal","addDiffPatternDef","svgRef","d3","attr","Chart","xTickFormatter","yTickFormatter","hoverState","setHoverState","xMinValue","xMaxValue","xValues","xScale","scaleLinear","domain","yMinValue","yMaxValue","yScale","selectAll","addDefs","svg","axisBottom","tickFormat","tickValues","g","axisLeft","drawAxis","onHoverState","show","area","y0","y1","diffId","handleMouseOver","eventIndex","getBBox","handleMouseOut","acceptedLine","line","curve","curveLinear","datum","on","rejectedLine","estimatedLine","realLine","drawLineChart","StopWarningIcon","rfqsStats","FeeIcon","locationToDropTrailer","locationToDropTruck","AssignmentOptionEnum","AssignmentOptionsDropdown","selectedOptionValues","showActualPlace","showAssetSchedule","showUnavailableAssets","optionsSet","checkboxTheme","selectedFilters","AddAccountDuotineIcon","DeactivateUserModal","FormComponent","UsersCountCell","usersCount","numberOfUsers","shipmentDetailsFormStorage","cargoDetailsFormStorage","NewOrderPage","stepsContextValue","useStepsContextValue","orderCreationPercentContextValue","useOrderCreationPercentContextValue","syncShipmentDetailsFormValuesContextValue","syncShipmentDetailsFormMapStateContextValue","ShipperContractLaneId","headerValue","quotedMatch","unquotedMatch","ordersPaginationChannel","STRINGIFY_QUERY_KEYS","ordersFilters","parseStringifiedQuery","queryValue","formatStringifiedQuery","skipNulls","parseQueryValueWithSeparator","queryDate","parseRelativeTimeFromQuery","filteredNewQueryFilters","obj","objArray","encodeArray","strArray","encodeJson","decode","arrayStr","decodedArray","decodeArray","objStr","decodeJson","equals","initValue","Serialize","encodeNumber","decodeNumber","initData","encodeDelimitedArray","decodedData","decodeDelimitedArray","getCorrectedStops","rfqsChanges","FETCH_CONTACTS_REQUEST_BEGIN","FETCH_CONTACTS_REQUEST_SUCCESS","FETCH_CONTACTS_REQUEST_ERROR","ADD_MEMBER_REQUEST_BEGIN","ADD_MEMBER_REQUEST_SUCCESS","ADD_MEMBER_REQUEST_ERROR","DELETE_MEMBER_REQUEST_BEGIN","DELETE_MEMBER_REQUEST_SUCCESS","DELETE_MEMBER_REQUEST_ERROR","UPDATE_MEMBER_REQUEST_BEGIN","UPDATE_MEMBER_REQUEST_SUCCESS","UPDATE_MEMBER_REQUEST_ERROR","FETCH_CONTACT_DETAILS_REQUEST_BEGIN","FETCH_CONTACT_DETAILS_REQUEST_ERROR","FETCH_CONTACT_DETAILS_REQUEST_SUCCESS","initialShipmentChangesState","initialTourChangesState","initialPapersEditByPaperIdState","papersEdit","shipmentChangesById","tourChangesById","selectOptimisticPapersByShipmentId","selectOptimisticPapersByTourId","selectPapersEditByPaperId","selectUploadRequestStatus","AssetDetailsPage","driversRefreshChannel","driversPaginationChannel","driverDetailsRefreshChannel","SignUpPage","titleSignUpUser","titleSignUpCompany","INVERSE_MAP","QuickTimeWindowLink","inverseRangeId","hasInverseRange","checkHasInverseRange","LinkButtonThemeEnum","LinkButtonHeightEnum","OverlaysManager","initialCompanyTrailersState","additionalServicesDictSlice","allServices","getDeadheadTrucks","assetUtilization","summTotalCostIfNeed","truckCostDetailsTotalCost","trailerCostDetailsTotalCost","TourTypeTabs","onSelectTourTypeTab","estimateCost","actualCost","nextCost","actualNextCost","costDiff","actualNextPercentDiff","isShowNextTour","percentDiffPill","percentDiff","TRANSPORTATION_ORDER_HAS_NO_DRIVER_ALERT_TIME","RUN_OUT_OF_TIME_TO_ASSIGN_DRIVER_LIMIT","ALLOWED_GAP_TO_BE_DELAYED","DELETE_NOTIFICATIONS_OLDER_DAYS","DOC_EXPIRES_SOON_ALERT","TRANSPORTATION_ORDER_HAS_NO_ASSETS_ALERT_TIME","RADIUS_AROUND_WAYPOINT_METERS","TIME_LIMIT_TO_CANCEL_ORDER_HOURS","TIME_LIMIT_TO_CANCEL_TRANSPORTATION_ORDER_HOURS","findContextStopByHash","DoneIcon","blockLockingReasonI18nMap","BlockLockingReasonEnum","NOT_VERIFIED_LEGAL_ADDRESS","NOT_VERIFIED_BILLING_ADDRESS","BasicWidgetHeaderActions","ErrorTraceId","countriesAllCodes","removeCountry","newExcludedCountries","excludedCountryCode","filteredCountriesCodes","AddUserIcon","papersEditSlice","shipmentChangesState","paperState","updatedOptimisticPapers","tourChangesState","SideBarLayoutContext","FlagCell","OverloadingTrailerValidationAlertContent","messageNode","pointA","pointB","SpotRequestStatus","ExpiredPartnerDocumentCard","selectUnReadNotificationsCount","selectUnReadNotificationsState","selectRelatedIdsSet","updatedOrderIdsSet","lastNotification","selectTrailersTotal","selectDeleteTrailersRequestStatus","selectFetchTrailerDetailsRequestStatus","selectTrailersExportXLSRequest","selectTrailersImportXLSRequest","BrokerToursListPage","brokerToursPages","brokerTourById","brokerTourStat","selectBrokerTourStats","brokerToursFilters","brokerToursPage","brokerToursSort","brokerTourQuickFilterOptions","assetUnassigned","FINISHED","originDate","destinationDate","canBrokerToursAddDeadhead","READ_ATTACHED_PAPERS_UNAVAILABLE_REASON_MAP_T","TYPE_IS_TRAILER","TO_CANCELLED","ReadAttachedPapersUnavailableReasonLabel","normalizedResponse","updateAdditionalServiceSaga","EMISSION_STANDART_MAP","skipCommission","skipRules","pdfLink","BigCheckIcon","truckDetailsById","UpArrowIcon","initUserSelection","setInitAssetsInfo","fetchAssignDetails","initBrokerOrderAssignment","resetBrokerOrderAssignment","GPS_EXPIRATION_MS","LastGPSPositionAlert","gpsData","lastUpdateDate","momentTime","formattedMonth","formattedTime","renderTime","DeleteContactConfirmation","LockStatusOnChangeForm","shipperContractLaneDetailsSlice","PriceComponentFilterPill","BaseShipperContractsTable","tztContractId","stateMachine","ExpiredPartnerShipperLaneContractCard","NotificationsDebugForm","getNotification","initiatorId","initiatorType","receiverId","receiverType","bestBefore","Invoice2Icon","onRevoke","NOT_NUMBER_REG_EXP","rawPhoneNumber","asYouType","AsYouType","formattedPhoneNumber","startsWith","phoneCode","getPhoneCode","isPossiblePhoneNumber","BrokerTeamsLayout","currentCompanyId","brokerTeamsPages","brokerTeamById","brokerUsersTeamsFilters","brokerUsersTeamsPage","brokerUsersTeamsSort","initBrokerPartnersSuggestValues","brokerPartnersSuggestValues","useInitBrokerPartnersSuggestOptions","initBrokerPartnersSuggestOptions","initBrokerPartnersSuggestRequestStatus","onUpdateInitBrokerPartnersSuggestOptions","initBrokerUsersSuggestValues","brokerUsersSuggestValues","initBrokerUsersSuggestOptions","initBrokerUsersSuggestRequestStatus","onUpdateInitBrokerUsersSuggestOptions","deleteTeamConfirmation","deleteTeamRequestStatus","canAddBrokerUsersTeams","goToBrokerTeamDetails","inviteDriverSaga","invitePartnerDriver","addDriverSaga","deleteDriverSaga","deletePartnerDriver","updateDriverSaga","updatePartnerDriver","fetchDriverDetailsSaga","fetchPartnerDriverDetails","activateDriverSaga","activatePartnerDriver","cancelDriverInviteSaga","archiveDriverSaga","archivePartnerDriver","FLOATING_INPUT_POSITIONS","overlayWidth","inputRef","selectedOptionRef","findedSelectedOption","searchInputNode","isFloatingInput","onCloseOverlay","emptyImpactDiffValuesSet","FIELD_I18N_MAP","NAME","LEGAL_FORM","MAIN_CONTACT","LEGAL_ADDRESS","POSTAL_ADDRESS","BILLING_ADDRESS","ADDRESS_FIELDS","BusinessPartnerProfileUpdatedCard","hasAddressFields","isSelfUpdate","fieldLabels","formattedFields","lastField","otherFields","AsyncCountryFormatter","brokerTeamDetailsSlice","fetchBrokerTeamDetails","fetchBrokerTeamDetailsBegin","brokerTeamDetailsState","fetchBrokerTeamDetailsSuccess","fetchBrokerTeamDetailsError","resetBrokerTeamDetails","emptyIndexes","PartnerTransportOrders","DevLocalizationLanguageSwitcher","i18n","setLang","isShowCIMCode","PriceSettingsEditRuleDetailsPage","RatesTable","costKm","updated","updatedByName","updatedById","TollIcon","fetchPartnersStats","RFQ_BROKER_SOURCE_T_MAP","RFQBrokerSourceEnum","carlo","tender","PriceSettingsRules","setSelectedRulesSet","rulesPages","rulesById","deleteRulesRequest","rulesPage","rulesSort","showAddRuleForm","TrailerIcon","ForgotPasswordPage","NotFoundPage","AccessDeniedPage","hot","module","contextValue","notificationBarContextValue","commonUrlFactoryContextValue","featureContextValue","useFeaturesContextValue","store","Router","QueryParamProvider","adapter","ReactRouter5Adapter","TableSkeleton","PriceDetail","customPriceDiffNegativeColor","notActualPrice","rawLeftNode","customActionNode","initialOpen","shouldRenderExpandTrigger","isDisabledHover","isShowRow","moneyNode","marginLeft","PriceDetails","hasVerticalPaddings","itemIndex","initialConsistentStateMachineItemState","consistentStateMachineSlice","___CSS_LOADER_EXPORT___","timeZonesSlice","AGGREGATE_LABEL_T","AGGREGATE_COLOR","availablePresetMap","StatisticsPage","statsGranularity","statsFrom","statsTo","doneStatistics","rejectStatistics","aggregateAmounts","avgDoneShipperRate","aggregate","avgShipperRate","avgRejectShipperRate","avgCarrierRateEstimate","avgMarginRate","avgCarrierRate","prepareValue","selecedDataSource","graphSettings","setGraphSettings","aggregates","week","setGranularity","queryStatisticsFrom","queryStatisticsTo","parsedStatisticsFrom","parsedStatisticsTo","doneStatisticsStatus","rejectStatisticsStatus","isEmptyData","series","isAvailable","hasAmount","deleteTrailersRequest","changeRateTrailersRequest","fetchTrailersStats","userOptions","SpotRequestDetailsSidebarContent","Logo","PointContactsPicker","contactIndex","companyNameFieldName","fullNameFieldName","emailFieldName","phoneNumberFieldName","commentFieldName","hostname","ListPageLayout","ErrorPlaceholder","selectRequiredDocumentIds","ExpireSoonPartnerShipperContractCard","oneAssetTitle","manyAssetsTitle","oneAssetMessage","manyAssetsMessage","ActivateAssetDialogModal","tSet","FETCH_NOTIFICATIONS_PAGE_REQUEST_BEGIN","FETCH_NOTIFICATIONS_PAGE_REQUEST_SUCCESS","FETCH_NOTIFICATIONS_PAGE_REQUEST_ERROR","MARK_AS_READ_REQUEST_BEGIN","MARK_AS_READ_REQUEST_SUCCESS","MARK_AS_READ_REQUEST_ERROR","FETCH_UNREAD_NOTIFICATIONS_REQUEST_BEGIN","FETCH_UNREAD_NOTIFICATIONS_REQUEST_SUCCESS","FETCH_UNREAD_NOTIFICATIONS_REQUEST_ERROR","RESET_NOTIFICATION_PAGES","TrucksTable","shipperContractLaneCreationSaga","calculateCostSaga","createLaneSaga","createShipperContractLaneRFQQuery","createShipperContractLaneRFQ","fetchShipperContractLaneRFQOffersAverage","error2","data2","error3","data3","error4","data4","createShipperContractLane","RedirectSignedUser","toReturnUrl","DEFAULT_POINT_CONTACTS_VALUES","DEFAULT_SHIPMENT_VALUES","CargoDetailsForm","isCreateNextOrderRef","reserveExpireTime","multiPointOrderDraftDetailPoints","isFinallyFetchInitializedData","isSameContactsSizes","prevPointIds","routePointIds","hasEveryPointIds","pointId","pickupDeliveryPoints","autoSelectPickUpPointId","autoSelectDropOffPointId","shipmentValue","shipmentFields","pointContactsValue","pointContactsFields","closeOverloadingAlert","setCloseOverloadingAlert","closeNotUsedPointAlert","setCloseNotUsedPointAlert","closeTemperatureRangesCompatibleAlert","setCloseTemperatureRangesCompatibleAlert","notUsedRoutePointValidationResult","overloadingTrailerValidationResult","temperatureRangesCompatibleValidationResult","shipmentsFormValues","contactsFormValues","existedSelectedAdditionalServiceEnums","numberOfUnits","dropOffReference","pickupReference","carrierAdditionalServices","shipmentsLength","createOrderRequestStatus","pointContactsFormValues","pointContactFormValues","selectConsistentStateMachineItemState","consistentStateMachine","imageNode","componentDidUpdate","prevProps","imageObjectURL","finally","display","ImageLoader","AssignTriggerLabel","EntitySidebarSkeleton","TuneIcon","RateModeStatusPill","light30","brandAccent30","ChartIcon","UpdatedPartnerContractCard","NotificationSidebarContext","TourDetailsCard","idDetailRows","isNeedAppointmentTimeWindow","canChangeTourStatusOnBrokerOrder","getCardFooterNode","TrailerStatus","RFQStatusPill","RevokeShipperContractConfirmation","shipperContractName","SpecialValueEnum","isAllOptionsSelected","allOption","summaryCount","isSelectedAll","newAllValues","summarySelectedNotificationProps","allDriverStatuses","DriversSortEnum","sortBy","HighlightedEntityContext","setHighlightedEntityId","UploadFooterContent","concatTestSelectors","testSelectors","UnavailableTrailerIcon","POLLING_INTERVAL_MS","TenderCalculator","fetchLastStatusRequestStatus","isJobNotFoundError","isSuccessCompleteTender","isFailedCompleteTender","inProgressTender","shouldPollTenderStatus","setShouldPollTenderStatus","handlePollTenderStatus","isAvailableResetPickedXLSFileRef","pickedXLSFile","setPickedXLSFile","actionNode","statusNode","handlePickXLSFile","handleClearPickedXLSFile","handleDownloadTenderXLSFile","handleStartCalculation","handleStopCalculation","calculated","doneRowsCount","totalRowsCount","ProgressBar","controlsNode","verticalSpaces","textSize","STATUSES_RANK","byStatusDesc","documentA","documentB","aRank","fetchDocumentsSaga","documentsByType","preparedDocuments","uploadDocumentSaga","documentsRefreshChannel","partnerDocumentsRefreshChannel","downloadDocumentSaga","approveEvidenceOfTaxDocumentSaga","approvePartnerEvidenceOfTax","approveDocumentSaga","approvePartnerDocument","rejectDocumentSaga","rejectPartnerDocument","revokeDocumentSaga","revokePartnerDocument","updateDocumentSaga","updatePartnerDocument","updateEvidenceOfTaxDetailsSaga","updateEvidenceOfTax","fetchEvidenceOfTaxDetailsSaga","reasonFieldTitle","reasonFieldPlaceholder","ArchiveAssetConfirmationModal","Switcher","User","MapIcon","ChangeShipmentStatusFooter","cancelUnavailableReason","quantumAvailableValues","BROKER_WORKING_HOURS_RANGE","BROKER_WORKING_HOURS_RANGES","quantumOptions","minValidValue","maxValidValue","DocumentTypeEnum","evidenceOfTaxVat","stopsIdsAfterModify","Pagination","getInputText","isShowPagination","tryChangePageByInputValue","parsedPage","parsedCount","isValidPage","isSamePage","isSameCount","fetchBrokerTeamsSaga","BaseDocumentsLayout","checkIsEmptyValue","queryKeys","changedValues","isAllowFetch","DatabaseIcon","BrokerTourDetails","summaryDistance","payloadDistanceByCountryRows","deadheadDistanceByCountryRows","shipperOrderDetails","etaToNextWaypoint","estimateCarrierCost","setScrollTop","maxWait","RuleOperatorEnum","ShipperOrdersQuickFilterEnum","ApiOrdersSourceEnum","OrderSourceEnum","OrderSortEnum","ShipperContractsSortEnum","OrderWaypointTypeEnum","getAlt","paperData","DeprecateTourPapersCard","setPaperId","handleAttach","deprecatedDeleteModalData","modalPaperImage","closeCallback","defaultPartnerId","confirmRejectContractModalDialog","handleDownloadContract","handleRetryFetchContractDetails","BigEmptyIcon","ISO_DATE_FORMAT","Calendar","limitMinDate","parseISOString","limitMaxDate","classNames","container","wrapper","interactionDisabled","navBar","navButtonPrev","navButtonNext","navButtonInteractionDisabled","months","caption","weekdaysRow","weekday","weekNumber","todayButton","today","selected","outside","disabledObjDates","checkIsDisabledDateByAllowed","allowedDatesStartMomentDate","allowedDate","disabledDays","limits","after","before","containerProps","weekdaysShort","arr","modifiers","getFocusDate","limitDate","parsedMinDate","parsedMaxDate","setMonth","focusDate","handleYearMonthChange","firstDayOfWeek","numberOfMonths","showOutsideDays","fromMonth","toMonth","onDayClick","checkIsDisabledDate","disabledObjDate","DateUtils","addDayToRange","captionElement","FormStepEnum","SignUpForm","setStep","setUserFormData","selectSignUpRequestStatus","getMoneyMaskAllowNegative","setIsActiveEditing","handleActiveEditing","handleKeyDownRightNode","commonPriceDetailsCX","onKeyDown","shipperContractLanes","initialPartnerShipperContractLanesState","PriceRuleTargetLabel","targetI18nKey","targetPostfixI18nKey","isPositiveDiff","diffPercentPillTheme","renderPercentDiffPill","DocumentParamsDetailsForm","RangeSelectorLabelsConfigT","RangeSelectorMarkT","RangeSelectorRangeT","checkCursorOnTrigger","clientY","POSITIONS_RANGE","POSITIONS_RANGE_WIDTH","checkIsSamePositions","positionA","positionB","isNumberLimit","RangeSelector","isAllowDragSelectedZone","prevPositionXRef","valuesRangeWidth","positionStepWidth","getPosition","availablePositions","rangesPositions","marksPositions","mark","draggingLeftPositionRef","draggingRightPositionRef","isDraggingRef","leftTriggerRef","isDraggingLeftRef","initialLeftPosition","leftPositionRef","rightTriggerRef","isDraggingRightRef","initialRightPosition","rightPositionRef","setCurrentRanges","leftPosition","newCurrentRanges","rangePosition","rangePositionIndex","updateLeftPosition","newLeftPosition","updateRightPosition","newRightPosition","minRangePositions","maxRangePositions","containerSize","setContainerSize","positionX","rightPosition","rangeWidth","isAllowedNewLeftPosition","isAllowedNewRightPosition","handleMouseDown","isLeftTriggerClick","isRightTriggerClick","isRangeClick","minAvailablePosition","maxAvailablePosition","onSelectRef","handleMouseUp","currentLeftStep","currentRightStep","firstCurrentRange","currentRangeTheme","handleTriggerMouseLeave","handleTriggerMouseEnter","leftDisableRange","isEmptyLeftDisableRange","rightDisableRange","isEmptyRightDisableRange","filledPositions","leftRanges","rightRanges","isAllowedSelectedValues","isDragging","positions","markIndex","modalRoot","getElementById","Modal","AcceptDeclinedOrderConfirmation","apiPriceOffer","RouteDetailsForm","timerPlaceholderNode","CreatePartnerInfo","NORMAL","POSITIVE","ATTENTION","WARNING","FerryLocationPin","iconColors","ShipperContractRoutesEnum","ShipperContractsRoutesEnum","DEFAULT_SORT","QUICK_FILTER_ORDER","quickFilterLabels","quickFilterPillTheme","availableSelectBidStatusSet","Bids","setSort","selectedQuickFilter","setQuickFilter","bidCounts","filteredBids","sortedBids","isDisabledBid","TimelineAutoSizer","getStartDayFromDate","getEndDayFromDate","EmailCell","isDisableLeftRangeControl","isDisableRightRangeControl","forceStep","carrierContractDetails","FilledWrenchIcon","oldNotificationsById","newNotificationsById","SidedBarHeaderLayoutContext","ChangeRateOrContractAssetDialogModal","FooterSideBarAlert","findCarriersSaga","selectSpotRequestsTotal","selectSpotRequestsByIds","Blob","saveAs","AsyncSpotRequestDetailsStatusFormatter","partnersStats","selectPartnersStats","DateTimeCell","timeFormat","dateText","timeText","preparePlacesResponse","EUROPE_BOUNDS","autocomplete","getSuggestionLabel","suggestion","renderRightNode","isMouseOverlayFocusRef","suggestions","setSuggestions","setFocus","newText","eventText","resultQuery","resultSuggestions","suggestionLabel","geocodeAddressComponents","handleOptionClick","showCountiesLimit","allowRestCountriesPopover","dictCountriesCount","firstCountry","limitedCountries","restLimitedCounties","AttachIcon","selfCostInvalidReasonI18nMap","CARRIER_DOESNT_HAVE_REQUIRED_CERTIFICATES","INCAPABLE_EMISSION_STANDARD","INCAPABLE_TRAILER_TYPE","TRAILER_LINKED_WITH_ANOTHER_TRUCK","TRUCK_LINKED_WITH_ANOTHER_TRAILER","TRAILER_CANT_BE_ON_TIME_FOR_NEXT_TOUR","TRAILER_IS_NOT_CONTRACTED","TRUCK_CANT_BE_ON_TIME_FOR_NEXT_TOUR","TRUCK_IS_NOT_CONTRACTED","TRUCK_IS_NOT_IN_FREE_STATUS","TOUR_ORIGIN_IN_PROHIBITED_COUNTRIES","TOUR_DESTINATION_IN_PROHIBITED_COUNTRIES","TRAILER_CANT_BE_ON_TIME_FOR_TOUR","TRAILER_IS_NOT_IN_FREE_STATUS","TRAILER_HAS_SCHEDULE_ON_TRIP_DATES","TRUCK_CANT_BE_ON_TIME_FOR_TOUR","TRUCK_HAS_SCHEDULE_ON_TRIP_DATES","ASSIGNED_ASSET_CONTRACT_IS_INACTIVE","AT_LEAST_MUST_BE_ONE_ASSET","TRAILER_ALREADY_ASSIGNED","TRUCK_ALREADY_ASSIGNED","TRAILER_CONTRACTED_INACTIVE","TRUCK_CONTRACTED_INACTIVE","COULD_NOT_RESOLVE_ADDRESS","DROP_POINT_IS_IN_NOT_AVAILABLE_TO_SHIP_COUNTRY","isPrioritySelfCostPredictionStatus","shouldValidateTruck","shouldValidateTrailer","errorCode","DelimiterThemeEnum","HISTORY_DATE_FORMAT","BaseShipperContractDetailsLayout","revokeShipperContractConfirmation","handleDownloadShipperContract","createDetails","modifyDetails","revokeDetails","expireDetails","EntityEtaAlert","declineUnavailableReasonI18nMap","TIME_LIMIT_TO_DECLINE_HAS_PASSED","cancelByBrokerUnavailableReasonI18nMap","unassignDriverUnavailableReasonI18nMap","NO_ASSIGNED_DRIVERS","carrierUnassignAssetsUnavailableReasonI18nMap","TransportOrderDetailsPageLayoutContent","driversAssignment","spotAssetsAssignment","acceptDeclinedOrderConfirmation","declineOrderConfirmation","unassignDriversConfirmation","unassignAssetsConfirmation","transportOrderDetailsRequestStatus","fetchTransportOrderDetails","refreshTransportPageHandler","isActiveDriversAssignment","closeDriversAssignments","assignmentDriverRequestStatus","isActiveSpotAssetsAssignment","closeSpotAssetsAssignments","spotAssetsAssignmentRequestStatus","unassignDriverUnavailableReason","unassignAssetsUnavailableReason","declineUnavailableReason","declineTooltipContent","isAvailableDecline","canDeclineTransportOrders","reAssignRequest","handleUnnassignAssets","isSetStateLoading","archivedByCarrier","unnassignDriversRequestStatus","onUnnasignDrivers","reAssign","TransportOrderDetailsPageLayout","BrokerTeamsTable","trailerPlateNumberUniqCheck","duplicateTrailerId","linkedTruckAlertNode","TRUCK_EXCLUDE_STATUSES","userNames","SideBar","closeRFQSaga","AssignOptionLabel","onSelectLink","spotRequestDetailsState","HollowCircleIcon","Element","FLOATING_UI_PORTAL_SELECTOR","formattedValue","ViolationTemperatureAlert","rootNode","ATTACH_PAPERS_UNAVAILABLE_REASON_MAP_T","AttachPapersUnavailableReasonLabel","OptionsIcon","routingGeometry","AssigmentTypeEnum","formatMinMaxDate","getMonthDate","monthOffset","focusDateFrom","focusDateTo","partnersStatsRequest","allUpdateCount","notVerifiedCount","shippersUpdateCount","carriersUpdateCount","renderNotificationIcon","notificationsCount","ContentLimiter","MoreIcon","ReceivedCell","ManagementControl","isSpotOrder","disableChangeAssetsTooltipNode","disableChangeDriverTooltipNode","managementOptions","NotificationLabel","LinkPickUpIcon","Notification","setClosed","CancelServiceMaintanceConfirmationModal","emissionClasses","truckModels","vehicleState","getDiff","CUSTOM_PRICE_DIFF_NEGATIVE_COLOR","ReceiptPriceDetails","otherCosts","brokerTranziitApi","addPartnerTruck","updatePartnerTruck","truckUpdate","fetchPartnerTruckDetails","apiFetchPartnersRequest","paths","evidenceOfTaxDocumentUpdate","updateBrokerWindowAppointment","fetchPartnerDispatchers","apiUpdateRateRequest","uploadRatesCSVFile","newRole","bodyData","sentTransportOrderToSpot","importPartnerXLSTrucks","exportPartnerXLSTrucks","editOrderCreateOrGetContext","editOrderContextAddStop","editOrderContextUpdateStop","editOrderContextDeleteStop","editOrderApplyContext","editOrderDeleteContext","getTeamDetails","BrokerTranziitApi","RemoteFormActionsContext","distanceByCountry","isUnspecified","fetchBrokerTeamDetailsSaga","BaseShipperContractsLayout","shipperContractsPage","shipperContractsSort","shipperContractsFilters","shipperContractsTableRows","ContentRootContext","DriverIcon","getDriverIconProps","AlertContainer","isAllowShow","shipperContractDetailsSaga","getFetchShipperContractDetailsSaga","getDownloadShipperContractDetailsSaga","LeftArrowIcon","UserPositionPill","positionKey","PhoneCell","getOffsetPx","setNow","isShowNowDelimiter","getHeightPx","getOffsetPxCallback","fullTimeLineWidthPx","ticksParams","ticks","getTicksTimestamps","halfTicks","getHalfTicksTimestamps","srcollContainerRef","skipScrollIntoViewRef","topTimestampRef","topOffsetPx","scrollTo","handleScroll","topTimestamp","Delimiter","halfStep","levelLeftOffsetPx","minWidth","gLocation","geocoder","Geocoder","firstGeocodeResultWithPostalAddress","firstGeocodeResultWithCountryCode","firstGeocodeResult","DestinationPinIcon","rootReducer","brokerTourStats","brokerOrderEdit","driverSearch","spotAssetsAssigment","partnerSuggest","sagaMiddleware","configureStore","getDefaultMiddleware","concat","run","countrySettingsDictSaga","orderEditSaga","consistentStateMachineSaga","deadheadCreationSaga","convertLocationToPoint","checkIsSameLocation","locationA","locationB","setSelectedAssetType","firstWaypointDateTimeFrom","carriersUtilizationFetchRequestStatus","initWaypointTruckDropPoint","initWaypointTrailerDropPoint","initTruckDropPoint","initTrailerDropPoint","initTruckTransportOrder","initTrailerTransportOrder","initTruck","initTrailer","hasBrokerOrderDetails","cancelTruckTransportOrderConfirmation","cancelTruckTransportOrderDescriptor","updateTruckTransportOrderStatusRequest","cancelTrailerTransportOrderConfirmation","cancelTrailerTransportOrderDescriptor","updateTrailerTransportOrderStatusRequest","longDeadheadConfirmation","totalDeadheadDistance","isDisabledTruckSuggest","isDisabledTrailerSuggest","isSelectedSameLocations","userSelectionChanges","carrierUtilizationHash","linkedAssetId","handleSelectLinkByTruck","renderTruckOption","valid","handleSelectLinkByTrailer","renderTrailerOption","handleSelectTruck","renderTruckTriggerIcon","AssetLinkIconProps","handleSelectTrailer","renderTrailerTriggerIcon","handleSelectPointToDropTruck","handleSelectPointToDropTrailer","isSameCompany","truckWarning","linkedTruck","truckLabel","boldOrange","trailerWarning","linkedTrailer","trailerLabel","PricesCell","ShipmentNoShowCard","DetailsOrPapersTabs","childrenArray","Children","toArray","detailsTabContent","papersTabContent","FORMAT_DATE","SetUnavailableAssetConfirmationModal","formattedInterval","SmallDownArrow","tRoleMap","tAuthProfileTypeMap","ANY_COMPANY_TYPE_SET","selectUserClaims","firstUserClaimCompanyType","firstUserClaimAuthProfileType","currentProfileType","selectSignOutRequestStatus","roleLabel","currentRole","redirectLink","authProfileType","currentHost","host","getRedirectLink","BrokerRFQDetailsPage","DriverInviteModal","selectCurrentUserRequestStatus","resendInviteUser","TableMessage","COMPONENT_TABS_ORDER","COMPONENT_TAB_LABEL_T","HIDE_USER_STATUS_SET","canEditBrokerUsersTeams","teamDetailsRequestStatus","setIsSubmitting","isBlockBackgroundUpdate","handleCancel","handleRetryFetchTeamDetails","initialTeamComponentTab","userSelectedTab","setUserSelectedTab","isFinallyFormInitialized","usersHighlightedUserIdsSet","partnersHighlightedUserIdsSet","lastModifiedDetails","itemsCountNode","TruckModelFilterPill","ZoneMark","hashPapersState","TruckModelMultipleDropdown","TargetIcon","queryPageNumber","Avatar","summ","char","charCodeAt","CONFIRMATION_MESSAGE_T","CONFIRMATION_ADMIN_MESSAGE_T","ChangeUserRoleConfirmation","newRolesCount","hasAdminRoleInChanges","displayedRoles","RunningOutOfTimeAssignCarrierCard","countryLanguages","uniqAllLangCodes","RouteIcon","TourPapersCard","SideBars","RemoteFormActions","saveLabel","cancelLabel","closeLabel","AssetsXLSDropdownControl","MapTooltipMenu","TodoListIcon","LinkFormatter","fetchRatesSaga","updateRatesSaga","uploadCsvFileSaga","ShipperContractLaneCreationPage","createRequestQueryDraft","setCreateRequestQueryDraft","calculateQuery","setCalculateQuery","calculatingCostRequest","syncShipperContractLaneCreationFormMapStateContextValue","DestinationCell","destinationFrom","destinationTo","revokeShipperLaneConfirmation","clientFeatures","setClientFeatures","getClientFeatureValue","newClientFeature","EditIcon","newAliases","newAliasesSet","previewRule","previewRuleReset","fetchCompanySaga","updateCompanySaga","PaperIcon","getFetchRFQsSaga","CARRIER_NOT_IN_LIST","CANT_BE_ON_TIME_FOR_NEXT_TOUR","NO_AVAILABLE_HOOKS","DIFFERENT_CARRIERS","ASSET_CONTRACTED_INACTIVE","PLATE_NUMBER_DO_NOT_MATCH","ASSET_BUSY_ON_TOUR_DATES","TeamDriveIcon","DropOffCell","zipCodeTo","countryCodeTo","newSelectedRowsSet","tryParseJson","logAdditionalData","AbortController","abort","signal","isRawData","rawResponseText","rawResponseContentType","responseContentType","parseResponseContentType","refreshBrokerOrderDetails","refreshSpotRequestDetails","cancelSpotByTour","tourIds","responseError","cancelSpotById","cancelSpotSaga","cancelSpotByTourSaga","sendToSpotByTourSaga","CancelSpotRequestConfirmation","contactCompanyType","contactDetailsCompanyTypeMap","contactCompanyId","headerActionOptions","countryByLangCode","mediasNodes","mediaChunks","chunk","chunkIndex","getTrailerIds","SORT_LABELS_T","TrailersPageLayout","trailersPage","trailersSort","trailersTab","setSelectedTrailersSet","trailersPages","updateTrailersRequestStatus","isDisabledTableActions","prefix","closeIconFillColorMap","AlertInner","closeIconFillColor","Alert","OrderCreationPercentContext","transportOrder","spotCarrierTransportOrder","trainTransportOrder","RECEIVED_NOTIFICATIONS","BrokerUsersPage","FewCountriesIcon","BrokerOrderAssignmentPage","isFromBrokerTour","timeZoneContextValue","setTimeZoneContextValue","assetsSelectionContextValue","setAssetsSelectionContextValue","refreshBrokerOrderHandler","NewIcon","getNewIconProps","toError","validateAssetTeleportSaga","executeAssetTeleportSaga","TIME_SLOT_TO_BOARD_FERRY","TIME_SLOT_DISEMBARK_FERRY","fetchDispatchersSaga","NotificationsBarTrigger","unReadNotificationsCount","hasUnReadNotifications","RFQIcon","ButtonGroup","brokerOrdersSlice","ShipperContractLaneDetailsPage","laneName","canEditShipperContracts","TABS_ORDER","DriversPageLayout","driversSort","driversTab","driversPages","driverById","driverInviteModal","inviteRequestStatus","editDriverDetailsSidebarData","driverDetailsSidebarData","driverCreationOptions","openSpotRequestsFilter","TOUR_STATUS_COLOR_MAP","TourColoredStatus","customHistory","goToPossiblyExternalUrl","relativePath","restUrl","handleEditDriverDetails","isWellKnownSocialMedia","isAllowUnassignDriver","teamDriver","resetDriverAssignment","hasInitialDrivers","DOCUMENT_STATUS_T_MAP","DocumentStatus","UpdatedPartnerDocumentCard","initialUserSelectionValues","initialAssetSchedule","newResult","assetSchedule","PriceSettingsRulesPage","CONFIRMATION_T_MAP","ImportXLSAssetsDialogModal","TimeLeftForStart","shouldDisableAfterDeadline","actionsNode","AssetLinkIcon","SpotRequestListPage","spotRequestsPages","spotRequestsById","spotRequestsFilters","spotRequestsPage","spotRequestsSort","refreshPageStatsHandler","spotRequestsQuickFilterOptions","convertMsToHours","msValue","convertHoursToMs","hoursValue","secValue","sec","convertMinToSec","TrailerTypeCell","DEFAULT_RADIUSES","settingsRadiuses","TemperatureRangesCompatibleValidationAlertContent","TourStatusPill","fetchTrucksSaga","refreshTruckDetailsIfNeedSaga","addTruckSaga","deleteTrucksSaga","activateTrucksSaga","failedTruckIds","archiveTrucksSaga","failedTruckId","assignTruckToContractSaga","changeRateTrucksSaga","fetchTruckDetailsSaga","fetchTrucksStatsSaga","updateTruckSaga","importXLSTrucksSaga","exportXLSTrucksSaga","TruckStatusMultipleDropdown","TRUCK_STATUS_T_MAP","companyTypes","continueSignInErrorSaga","checkPasswordSaga","protectedSignInSaga","signInResult","userClaimsError","userClaimsResult","getContinueSignInSaga","checkPasswordError","verificationError","signInApiError","currentUserError","forceRefreshCurrentUserSaga","getSignInSaga","authUserStateChangeChannel","anonymouslyUser","externalRoutesSet","continueReturnUrl","signInUrl","getAuthWatch","userChannel","isNotValidRole","signOutSaga","rawClientFeaturesConfig","clear","sessionStorage","apiError","resetPasswordSaga","protocol","updatePasswordSaga","getSignUpSaga","emailVerificationSaga","isFirstReservePreview","setIsFirstReservePreview","loaderNode","textNode","CommonDocumentParamsDetailsForm","ListMessage","rulesPartnerId","CancelSpotRequestFooter","cancelSpotRequestConfirmation","handleCancelSpot","selectInvoicesTotal","selectedServiceEnums","priceA","priceB","DateIntervalFormatter","CUSTOM_CURRENCY_SETTINGS_MAP","checkIsCurrencyUnitType","checkIsSimpleUnitType","UnitTypeCount","fullClassName","formattedType","groupOffers","InvitePartnerDialog","selectAssetTeleportItem","currentTourId","canChangeShipmentStatusOnBrokerOrder","RejectContractConfirmation","RouteDetailsCard","getDriverArrivedLeftRows","getTimeSlotRows","waypointCount","renderPickupTrailerWaypoint","renderPickupTruckWaypoint","renderPickupTrainWaypoint","renderPickupDeliveryWaypoint","renderDriveThroughWaypoint","renderDropAndHookWaypoint","renderFerryOnboardWaypoint","renderFerryDisembarkWaypoint","renderDropoffTrailerWaypoint","renderDropoffTruckWaypoint","renderDropoffTrainWaypoint","setDate","timezoneLabel","extraLarge","apiPartnerType","partnerTypeParams","oldPolylineIds","oldPayloadGeometryStates","newPolylineIds","newPayloadGeometryStates","newPayloadGeometryState","editOrderNew","oldPayloadGeometryState","editOrderOld","LastAssetTrackPointPin","fetchSpotRequestsStatsSaga","CalendarAltIcon","RouteSwitchDropdown","routeTypeOptions","ServicePinIcon","orderEditContext","waitFinishAllActionIfNeedOrderContextSaga","fetchBrokerOrderError","fetchBrokerOrderResult","orderEditBrokerOrderDetails","watchSyncChangeContextQuerySaga","waitCreatingFinishIfNeedOrderContextSaga","waitApplyingFinishIfNeedOrderContextSaga","waitDeletingFinishIfNeedOrderContextSaga","sourceOrderEditContext","isShouldAddPoint","beforeContextStop","findFirstBeforeStop","beforeContextStopIndex","errorAfterAddStop","contextAfterAddStop","getAddedStopHashes","targetContextStop","targetContextStopIndex","BellIcon","filteredTargets","appliedRuleTargetMap","countryCost","summaryPrice","paidHoursNode","hoursNode","ALWAYS_PASS_SPECIAL_VALUE","restAsyncOptionsRequest","handleRefresh","defaultOptionFilter","preparedText","optionFilters","optionFilter","RunningOutOfTimeAssignAssetsCard","LineLoader","setDuplicateId","setStatus","queryRef","promise","duplcate","stopByHash","DeactivateUserIcon","suffix","includeThousandsSeparator","thousandsSeparatorSymbol","allowDecimal","allowNegative","decimalLimit","Input","FormUnsavedValuesColoredStatus","DriversAssignmentFooterContent","ContactIcon","CalendarIcon","AccountIcon","AccountIconProps","TemperatureModeFormatter","RadiusDropdown","radiusOptions","isShowStatusFiltersAfterPaid","canFilterBrokerOrdersByAccountManagerOrDispatcher","manager","EditableCostCell","rawCost","isHoveredCell","setHoveredCell","optimisticCost","setOptimisticCost","isShowInput","isSameValue","minDateCalendarDate","maxDateCalendarDate","deadlineStr","selectedRelativeTimeWindow","getRelativeStartDayTimeWindow","handleChangeDate","startTimestamp","endTimestamp","limitedEndTimestamp","selectedCalendarDate","availableRelativeValues","handleChangeTimeWindow","cancelled","SpotRequestStatusCard","UpdatedPartnerCarrierContractCard","ShipperContractLanePage","TruckStatus","dateLinkTriggerProps","shiftMidnight","TargetCell","ActivateDriverConfirmation","PriceRuleStatusLabel","COLOR_MAP","MapArea","findAreaRef","Circle","strokeWeight","updateDockingHoursSaga","PapersGroup","isAttachDisabled","attachTooltipMessage","isInitialOpen","prev","getAbbreviation","getFullName","apiUser","abbreviation","RadarIcon","TruckDetailsPage","truckOrderId","CountriesFilterPill","DriverWrongCheckPointPill","papersGroups","attachedPapersByType","optimisticPapersByType","allPaperTypes","aIndex","bIndex","totalCount","currentColor","MARGIN","FORMAT_BY_GRANULARITY","StatisticsChart","doneStat","rejectStat","dateKey","avgDeadheadPercent","avgDistanceKm","RouteLocationsOverview","renderLocationNode","countryNode","timeWindowNode","renderLocation","routePolylineOptions","routeShadowPolylineOptions","assignmentAccent","assignmentWarning","assignmentPositive","trackCurrent","HOVER_COLOR_MAP","MapRoute","routePolylinesRef","routePolyline","zIndexOptions","routePath","routeShadowPolyline","Polyline","geodesic","addListener","decodedPath","encoding","decodePath","ShipmentStatusPill","prevInitialValues","setPrevInitialValues","handleDeactivateRule","shouldShowChanges","comp","countryA","countryB","EmissionClassFormatter","versionIds","actualVersionId","versionId","OfferAttribute","iconMap","shipperContractLanesSlice","RemovedFromTeamCard","omitRoles","allRoles","restrictedRoles","canCancelOrder","canEditSpotLanes","CancelTrailerTransportOrderConfirmation","WalletIcon"],"sourceRoot":""}